548
990
953
815
233
368
101
726
400
215
839
85
707
345
619
431
713
621
880
673
221
192
354
52
634
774
361
41
540
103
318
284
556
515
739
820
995
253
209
322
36
738
160
31
925
528
797
397
162
96
192
167
782
892
381
803
601
366
290
702
732
749
452
577
778
462
759
809
837
914
966
269
886
341
244
349
137
74
864
478
696
282
5
428
232
822
737
68
361
276
507
72
181
655
780
252
684
528
91
828
812
529
428
966
548
289
733
325
761
851
323
206
468
530
191
121
836
9
501
258
471
171
23
359
534
807
948
991
765
875
271
56
783
422
912
649
898
633
825
62
260
738
632
803
368
630
725
994
845
181
353
405
892
135
943
695
63
412
802
106
782
397
385
23
584
487
491
272
155
793
162
13
117
357
507
372
907
704
384
722
277
814
690
663
681
874
987
296
265
254
318
346
276
225
392
71
429
855
726
623
201
374
986
757
56
56
476
325
342
337
707
997
960
424
988
49
935
166
261
861
711
300
773
959
317
497
716
74
576
813
663
697
145
249
522
27
517
137
675
71
60
969
209
866
810
110
419
443
983
559
277
228
142
559
177
998
516
366
72
404
238
971
66
322
145
881
636
989
380
341
905
950
208
534
829
325
374
349
712
835
826
324
224
275
819
186
947
886
275
265
554
142
741
684
908
25
471
896
719
774
938
578
930
417
568
342
646
161
613
42
272
822
833
651
488
75
124
840
833
221
291
418
965
549
938
720
113
159
825
915
844
247
121
906
33
478
694
222
834
38
937
804
537
356
680
104
421
299
403
289
99
835
317
605
402
779
871
180
542
273
906
619
151
47
969
767
813
373
285
909
871
841
494
511
600
738
545
319
364
868
71
268
944
110
158
174
86
848
677
662
233
734
231
84
498
855
357
465
241
511
821
677
993
268
706
91
69
868
549
954
918
859
956
583
183
529
936
300
450
844
757
687
893
599
198
351
357
930
967
900
957
654
438
232
911
667
50
573
182
742
449
888
462
654
899
470
174
492
586
504
467
399
178
363
632
739
409
252
958
882
513
546
828
354
60
850
757
131
104
375
170
198
580
675
924
350
605
203
990
373
615
411
234
400
343
305
956
207
230
485
683
702
212
686
743
635
779
760
302
836
821
853
873
912
48
240
803
404
738
944
852
831
108
765
809
960
897
806
6
866
615
941
714
44
512
891
672
928
485
784
410
631
75
89
607
648
170
831
437
543
270
856
800
365
979
690
290
628
886
253
48
253
171
276
928
747
62
754
959
257
745
227
747
883
443
942
270
751
170
221
529
916
84
456
624
130
481
203
147
859
177
798
208
711
474
740
41
616
938
869
883
670
934
11
735
565
242
338
715
901
119
155
908
494
817
222
40
993
955
980
810
727
108
276
466
753
638
249
7
455
115
62
453
931
612
64
766
595
813
812
359
100
129
52
561
728
962
450
113
843
841
362
497
895
407
373
894
685
132
713
659
335
190
875
462
445
159
961
658
431
60
309
50
930
794
954
894
446
216
362
941
152
926
626
301
826
352
49
143
485
847
607
607
133
358
297
790
449
652
806
361
909
236
218
178
41
881
728
256
16
76
457
574
780
857
489
519
251
178
202
186
915
415
800
384
304
635
743
954
446
991
373
916
335
975
676
45
902
276
515
712
737
694
124
195
40
889
879
239
885
743
589
303
901
774
632
839
911
329
288
911
887
288
494
664
824
586
103
472
801
175
429
59
505
969
495
547
7
892
942
169
392
437
995
324
151
986
231
786
903
768
147
107
107
488
694
703
894
580
5
669
86
525
512
100
707
898
552
609
74
609
305
725
604
341
653
118
29
306
97
898
645
269
407
785
509
254
83
598
304
462
8
345
665
717
927
163
377
175
482
520
764
155
592
358
980
643
911
328
676
498
923
849
693
366
10
527
3
95
489
335
146
767
161
78
755
529
415
872
602
43
287
761
788
777
185
143
329
296
153
365
383
403
670
717
825
281
980
68
680
746
849
533
186
344
475
922
877
318
989
165
171
383
637
578
358
857
236
608
772
928
964
645
210
755
893
622
319
648
909
335
760
800
847
900
453
892
716
277
100
463
889
570
483
75
978
660
744
167
929
816
959
7
554
81
863
249
318
626
482
487
688
759
766
583
797
940
84
748
454
1
545
58
783
720
696
585
889
65
81
373
996
704
533
247
425
816
814
862
663
878
425
426
484
821
963
290
787
916
410
922
352
774
127
850
210
126
132
823
686
398
436
791
476
659
849
276
288
220
670
413
718
6
94
179
978
856
42
360
62
50
299
383
712
712
554
436
288
199
932
237
283
237
109
391
730
357
938
540
234
123
799
387
665
769
549
264
840
104
55
109
665
989
748
597
269
234
572
707
661
516
956
159
291
809
198
53
704
841
722
468
153
309
202
1000
658
945
491
982
466
11
599
606
321
507
723
310
234
171
465
532
698
345
939
412
384
919
409
72
438
856
481
883
403
252
633
516
646
484
39
635
956
784
251
809
578
468
246
585
591
138
800
710
946
414
894
150
897
124
111
911
835
435
569
662
726
105
971
813
448
896
763
6
345
189
251
939
193
28
743
91
636
139
425
157
828
930
763
962
687
162
648
207
667
726
379
647
421
944
844
205
79
903
954
76
89
603
440
113
772
100
630
636
774
439
715
349
594
852
324
217
239
627
903
26
841
79
559
810
762
250
500
505
323
332
163
3
791
320
441
223
654
57
153
955
564
675
72
15
521
409
341
667
21
897
99
370
914
380
479
657
665
655
929
343
563
257
971
344
186
97
94
66
51
690
483
743
9
219
668
79
363
873
971
291
92
312
865
927
852
630
944
895
608
926
235
736
851
402
20
525
369
961
143
725
434
420
54
945
105
794
444
854
52
578
411
396
955
596
543
79
41
783
164
341
800
210
260
902
235
779
292
573
281
255
170
195
175
751
154
291
630
340
358
482
649
191
808
967
670
540
749
157
558
822
966
83
602
517
450
331
337
589
636
78
438
946
776
269
429
984
766
81
192
125
880
628
540
231
411
262
205
923
181
946
673
101
261
893
193
463
987
98
173
364
549
429
911
173
20
662
275
168
658
221
521
109
742
421
891
843
970
665
42
693
679
439
620
920
762
884
487
258
152
435
232
365
201
279
560
48
102
395
105
313
727
513
12
562
932
647
346
814
393
779
39
391
536
840
606
362
946
426
310
947
950
544
801
224
714
271
514
712
297
423
256
846
587
183
521
926
942
195
978
848
650
781
530
832
55
825
74
376
273
304
809
896
986
668
539
845
693
12
903
632
139
514
905
322
409
677
408
927
266
740
487
82
925
16
686
24
361
38
216
109
649
130
130
535
581
407
301
544
1000
298
840
155
859
381
202
375
14
690
830
945
146
697
654
862
17
847
119
352
460
856
737
489
146
5
329
344
147
285
217
449
786
586
651
310
64
62
657
935
214
454
288
622
572
405
38
757
997
755
740
4
546
384
865
58
962
427
548
95
810
567
12
140
770
716
358
859
677
547
782
678
401
276
417
730
523
572
926
835
111
685
863
642
566
718
616
57
643
456
427
339
280
328
588
552
760
888
408
600
119
661
975
741
388
323
33
284
470
968
538
182
931
647
566
336
23
444
304
755
545
125
780
147
974
769
842
113
443
885
658
917
742
192
659
673
503
656
424
908
119
368
469
669
758
564
291
734
40
397
308
37
549
96
509
97
389
785
746
146
402
544
602
583
518
272
670
650
925
519
899
446
413
741
398
978
281
370
707
497
671
663
81
230
31
579
773
517
722
782
670
507
401
482
859
811
969
6
895
927
277
875
575
829
772
697
31
868
473
357
813
967
453
836
415
196
74
486
412
969
743
745
959
489
913
69
897
557
354
351
157
549
470
189
426
189
597
175
307
700
747
780
293
100
225
521
949
655
935
846
609
995
919
555
756
962
895
653
19
68
103
250
356
311
786
469
578
222
13
390
843
203
362
697
126
638
181
90
941
774
761
465
813
99
782
555
78
771
819
30
594
691
504
7
856
960
229
549
846
801
867
19
638
497
74
74
441
542
182
689
270
999
555
838
908
991
557
371
144
377
949
171
536
917
630
919
120
660
106
623
536
846
974
650
22
361
38
131
622
661
316
486
706
136
393
309
631
77
25
975
944
759
870
195
39
687
535
156
603
694
874
37
484
432
619
472
855
759
963
941
666
665
705
185
420
686
886
482
242
193
657
6
71
557
268
593
556
944
678
892
883
425
231
321
351
155
295
215
978
605
516
279
791
220
569
774
748
427
901
883
439
599
973
336
791
465
954
698
32
433
613
681
54
506
451
474
168
749
711
345
915
785
975
720
287
413
531
533
201
248
520
873
534
218
177
886
372
879
146
414
381
753
924
92
362
333
983
507
129
946
29
507
821
428
130
990
630
431
180
287
731
232
264
804
864
122
18
696
655
792
997
185
226
660
406
584
93
757
283
218
636
595
367
215
682
429
438
560
831
485
877
913
240
987
553
434
467
275
919
239
884
939
370
224
873
616
503
641
708
41
914
240
590
21
547
795
766
213
429
497
49
992
818
95
348
231
423
588
997
518
346
994
778
195
871
981
544
595
990
146
235
65
878
319
939
643
86
578
325
763
354
567
442
994
344
326
401
624
493
69
893
815
433
255
857
216
124
868
860
131
911
15
905
791
214
852
470
839
448
343
542
884
92
575
277
843
496
165
734
853
181
817
799
734
849
208
18
339
302
236
574
623
760
78
37
962
835
676
851
55
542
9
732
730
302
970
284
122
829
742
187
961
168
321
233
193
925
241
357
724
902
595
546
883
916
204
180
69
619
101
929
175
463
576
794
568
828
693
266
823
469
512
864
935
114
284
506
444
25
513
250
752
776
90
983
940
330
685
499
552
750
196
271
133
497
319
909
802
350
272
950
775
424
260
149
535
626
528
890
319
165
775
673
669
408
222
913
93
458
864
411
262
313
327
959
776
361
228
492
244
288
176
100
321
144
358
966
379
473
159
37
710
888
434
778
482
442
823
921
209
444
15
475
167
125
945
633
982
704
706
392
634
956
409
868
242
329
265
293
274
49
978
649
318
386
869
721
105
464
282
128
279
559
475
529
311
838
614
786
18
854
504
339
409
964
359
402
938
988
289
924
803
94
140
398
635
872
3
736
753
23
15
425
216
880
20
76
21
269
309
309
160
814
918
649
724
875
901
704
850
752
584
482
154
653
67
90
186
201
117
457
591
918
190
952
911
230
497
925
367
1000
940
282
557
508
231
171
724
103
741
736
141
430
411
683
205
301
608
90
18
742
917
498
623
719
700
830
529
357
707
77
869
209
148
20
340
281
405
489
63
69
16
775
620
820
640
847
855
598
454
987
442
500
856
274
847
549
389
144
67
374
529
862
452
772
335
366
993
644
20
371
677
607
143
19
919
770
505
660
610
815
790
514
16
491
693
81
640
112
524
171
150
440
302
326
661
593
953
237
962
271
474
469
800
610
919
447
922
484
609
190
415
892
218
719
790
361
321
416
411
972
516
865
89
695
459
871
111
204
39
414
522
247
417
269
238
942
867
921
440
86
182
145
736
659
908
380
793
257
825
556
493
78
899
589
177
447
400
144
202
599
2
589
889
564
450
295
888
585
835
546
136
424
579
391
892
299
14
677
772
954
803
381
293
546
549
91
242
604
627
168
70
328
657
661
590
871
63
553
512
46
846
276
705
136
43
711
643
64
337
109
182
223
937
449
679
687
162
742
452
358
122
738
802
839
515
273
68
465
829
236
751
6
197
767
300
955
704
817
15
243
231
666
425
451
803
325
633
281
972
13
365
124
977
53
889
64
315
612
555
547
848
671
401
231
806
487
208
270
835
617
392
375
766
243
339
521
945
151
146
112
730
207
227
717
275
604
938
265
812
453
181
708
435
523
932
715
812
72
776
936
358
723
841
717
142
314
938
927
188
474
359
741
924
444
531
796
216
317
625
124
815
447
340
687
68
241
255
92
421
932
590
333
601
218
702
959
347
848
399
148
208
321
963
537
254
887
812
539
502
933
909
80
470
672
304
360
576
760
751
287
8
105
899
674
297
663
414
188
69
478
305
270
349
525
839
954
358
228
704
587
965
652
483
923
797
424
88
992
583
454
531
415
465
368
294
569
845
368
604
109
858
923
132
859
688
296
962
60
781
418
237
220
446
18
488
637
476
258
562
732
200
329
965
941
797
591
635
831
811
895
418
503
534
651
986
85
356
54
540
314
202
647
392
796
925
55
470
483
886
288
819
359
969
482
447
78
974
342
225
535
683
829
101
951
853
805
599
86
103
495
409
599
904
576
903
437
900
660
586
350
387
727
787
281
52
794
420
443
28
747
239
329
878
785
834
795
414
366
560
602
116
923
683
493
504
820
306
959
21
234
61
337
857
679
91
783
679
884
642
961
401
594
402
996
998
674
818
353
824
576
812
836
87
824
646
803
921
680
244
60
965
575
899
599
482
190
172
520
831
310
710
16
544
688
911
259
329
215
600
390
103
604
383
582
528
687
901
341
601
120
15
755
569
13
843
437
786
534
648
268
195
15
829
854
768
463
617
843
602
696
665
827
353
468
384
598
341
86
760
953
992
2
378
57
208
798
574
638
923
763
930
920
344
30
832
240
338
831
449
784
995
990
262
712
662
201
242
224
636
998
894
797
266
570
602
914
426
740
180
64
208
497
83
731
188
425
452
357
827
295
92
990
388
814
489
436
270
270
191
255
796
383
228
871
294
173
767
395
816
94
857
498
908
969
946
820
663
507
841
964
710
301
911
48
868
244
631
193
979
250
14
66
794
10
86
793
868
256
320
123
148
696
868
728
273
321
490
910
673
273
342
794
215
848
131
286
484
477
733
703
811
735
26
982
762
527
583
826
177
585
872
956
753
357
754
894
828
145
438
331
283
106
508
210
421
341
264
80
255
844
443
173
924
514
319
899
811
790
279
160
529
731
252
930
147
495
787
76
903
280
124
266
163
729
375
111
608
699
782
417
418
73
89
515
770
984
251
159
92
440
64
439
323
802
808
434
917
24
684
134
423
851
611
244
277
403
978
79
853
713
47
702
938
799
13
811
506
825
182
669
118
723
312
537
277
422
961
653
846
494
561
802
945
570
54
893
828
381
127
789
882
650
487
818
263
333
157
30
658
915
463
275
330
568
273
590
898
965
3
246
296
476
141
24
941
273
313
934
450
600
422
658
163
110
24
434
326
666
890
991
29
498
681
383
915
913
717
272
207
34
151
284
836
201
213
549
334
718
820
427
650
641
529
749
263
134
745
571
802
740
99
583
860
607
141
832
874
279
834
325
711
196
849
436
123
446
342
770
289
629
691
269
500
923
696
926
439
557
839
402
612
954
515
227
246
730
611
16
335
596
373
335
631
959
320
399
32
675
822
816
242
989
90
943
580
155
526
254
489
620
763
319
680
932
299
593
790
728
306
255
128
277
46
762
370
8
367
586
34
424
890
892
194
581
848
513
170
35
997
659
855
821
676
241
934
531
876
567
520
9
134
418
595
544
165
218
241
681
422
58
828
940
178
868
238
788
318
871
694
201
731
821
964
24
112
170
563
110
15
466
46
941
179
795
662
2
543
995
438
707
853
714
222
67
427
123
356
633
500
235
408
435
517
338
832
815
911
5
522
34
165
504
974
523
442
219
155
467
638
845
261
181
514
718
258
386
440
635
444
72
396
896
348
105
81
123
911
109
390
599
289
445
37
507
568
307
832
438
365
39
947
5
588
802
544
189
596
601
293
321
607
542
631
215
519
873
105
57
189
5
773
71
866
269
436
880
656
561
405
737
870
428
654
478
603
347
422
134
144
176
791
626
690
752
313
868
337
639
497
897
536
894
869
361
33
482
345
821
795
696
852
809
601
526
524
561
762
409
266
632
936
227
178
370
66
726
149
348
323
748
915
423
303
816
996
46
860
621
257
791
684
926
236
881
155
240
49
621
26
376
389
268
262
655
93
831
672
100
810
706
47
433
534
849
175
64
159
393
453
549
761
223
820
192
988
80
368
557
843
128
325
660
96
822
48
534
781
91
294
664
544
552
315
520
69
469
263
40
477
672
967
462
370
495
413
332
140
61
130
878
289
929
290
182
738
196
489
751
547
626
106
157
40
303
617
378
44
565
457
368
860
719
855
160
609
141
545
497
816
875
453
589
432
777
221
103
14
605
923
895
467
145
452
310
542
676
815
115
312
556
26
240
933
736
374
552
345
318
583
820
974
92
787
885
126
112
314
804
523
9
967
389
345
684
887
139
217
438
89
33
827
408
460
32
217
360
343
425
371
524
840
338
390
176
589
849
430
86
131
117
564
799
890
882
921
942
457
491
764
402
128
326
664
282
575
156
554
970
145
451
238
560
482
158
902
102
139
775
252
843
330
809
189
728
252
888
329
876
243
839
280
675
570
32
290
436
861
165
782
241
980
453
340
749
696
877
898
231
608
743
248
47
629
311
505
101
776
669
805
542
138
322
377
154
699
230
83
384
76
113
665
963
377
919
246
400
96
250
53
434
377
443
962
662
41
701
226
203
479
376
647
182
892
41
544
274
384
491
103
296
100
161
66
91
941
760
282
526
386
111
321
459
601
254
225
977
337
934
472
990
56
435
417
569
391
604
759
4
272
582
113
651
30
428
377
64
362
329
365
805
270
540
175
559
30
567
800
886
777
325
826
20
508
189
408
594
199
918
358
95
230
411
852
140
532
107
194
356
670
675
86
803
615
282
90
357
73
359
279
418
81
280
629
638
19
778
343
110
338
236
146
578
40
230
551
823
434
813
244
291
738
67
42
434
862
419
291
976
119
20
226
511
651
276
539
411
90
283
340
22
330
445
762
508
338
87
703
527
583
193
564
100
38
746
423
677
683
285
737
404
99
426
572
46
49
94
326
814
915
111
115
627
480
618
294
963
809
519
91
504
934
782
924
234
646
944
838
544
900
636
360
122
311
269
264
121
715
301
930
159
15
636
443
204
413
801
143
293
626
513
49
330
908
112
505
917
496
146
404
293
636
69
557
971
481
626
158
581
947
980
757
788
116
80
867
858
857
60
134
612
148
696
990
62
984
62
829
962
886
598
76
898
737
694
926
277
81
789
163
795
117
710
235
501
276
657
651
608
687
776
888
550
855
791
171
639
548
472
929
830
234
78
233
759
424
48
259
223
901
337
642
685
154
804
613
243
270
958
993
728
201
187
427
249
548
315
720
539
997
993
783
933
78
902
506
672
210
267
780
470
862
463
52
7
257
780
15
38
217
591
481
340
664
180
46
608
786
532
897
675
82
197
987
203
337
187
865
43
57
505
630
30
84
549
840
876
878
104
741
174
460
63
801
253
92
342
422
781
580
648
624
557
510
936
682
895
811
369
953
356
792
601
612
386
204
992
593
543
941
161
817
638
697
925
695
52
285
245
980
924
335
267
251
689
789
940
730
647
940
958
664
887
763
998
180
868
946
275
429
429
315
494
799
800
359
155
171
444
118
998
510
196
46
87
575
224
332
681
145
794
805
560
981
669
754
917
673
271
932
299
644
398
541
281
825
348
241
796
955
844
74
35
25
997
733
852
115
870
800
479
763
923
384
129
55
709
143
769
810
730
757
952
608
286
803
70
914
469
384
847
208
219
29
162
882
475
141
552
628
39
704
854
174
684
62
489
542
455
315
827
425
841
300
937
910
684
151
756
521
292
199
395
476
175
293
849
143
268
677
873
884
254
254
136
898
849
375
92
183
509
325
145
459
30
294
848
753
960
977
818
336
562
855
9
904
303
891
778
187
499
605
896
681
799
455
320
809
625
28
31
638
597
804
729
199
183
146
494
600
541
738
794
337
584
900
374
688
765
102
631
580
30
489
51
121
626
458
173
816
209
137
304
569
780
124
951
767
508
999
473
70
442
928
19
93
401
150
178
788
138
246
138
184
951
883
313
127
506
158
589
784
600
745
325
974
922
810
222
856
667
52
1000
84
39
304
600
314
232
812
253
885
505
715
371
523
333
274
655
215
431
41
201
717
657
570
690
767
407
196
909
726
140
131
980
258
105
359
655
653
155
864
959
586
791
266
286
399
223
277
744
513
272
286
228
181
412
10
184
615
103
344
507
437
851
498
334
550
83
42
785
758
42
691
826
888
360
553
518
755
890
72
898
34
677
110
590
983
623
404
51
18
579
196
52
340
39
928
573
158
616
739
815
574
746
960
436
878
853
912
424
787
326
105
281
195
227
369
260
93
593
530
499
643
570
994
795
820
382
18
626
660
325
488
770
895
530
748
566
698
278
401
380
312
986
19
354
586
840
406
871
828
221
362
468
908
693
932
122
280
367
760
913
414
837
461
105
164
757
929
573
750
353
84
320
379
792
857
577
995
423
149
574
272
315
76
643
812
414
77
716
382
911
356
669
203
64
681
192
528
822
796
33
153
94
567
535
138
378
498
356
672
776
461
144
959
152
305
713
23
261
522
984
538
237
286
525
129
731
998
48
135
335
946
627
454
660
785
711
948
584
352
247
856
743
737
333
792
288
643
884
206
293
802
719
647
991
625
324
758
155
316
315
692
562
409
280
583
439
37
232
744
207
301
405
542
620
754
483
229
615
400
648
608
815
552
26
87
620
610
204
518
273
60
494
262
100
25
548
63
391
273
713
655
998
891
281
502
804
770
376
701
673
606
785
892
341
421
484
950
989
459
921
343
918
906
428
316
821
80
257
468
641
629
804
862
904
779
578
554
698
869
344
295
209
267
638
219
814
230
570
536
255
437
421
567
351
749
28
36
49
177
390
128
317
217
225
716
572
418
445
88
864
565
626
678
986
872
613
581
70
386
325
88
989
174
672
74
38
931
260
868
1
376
222
93
639
153
68
101
92
5
932
828
429
647
971
274
842
142
953
384
552
542
275
784
548
231
730
689
677
713
371
323
466
564
712
333
267
854
335
48
994
671
688
860
733
278
498
691
2
42
744
281
280
509
599
977
699
919
74
826
478
1000
378
24
742
94
140
205
883
564
735
603
497
924
912
900
237
346
801
398
636
29
179
255
61
413
546
680
487
367
173
380
689
310
792
17
822
657
992
152
38
147
728
935
3
342
551
813
672
59
303
652
666
562
70
952
962
112
107
311
359
837
316
879
379
3
602
315
826
418
98
669
241
120
816
703
850
514
754
385
449
796
869
674
832
857
616
265
19
854
935
676
538
293
686
874
459
754
508
703
688
391
23
505
298
939
91
674
301
234
570
344
304
207
656
74
994
885
407
167
207
189
509
215
644
219
684
586
970
272
402
787
88
74
703
124
908
537
25
581
797
940
896
628
208
557
221
533
699
637
693
789
655
130
556
486
564
683
507
801
601
280
98
302
637
323
330
414
496
109
519
241
453
412
683
909
518
329
879
725
984
621
896
762
112
561
720
905
574
659
969
19
475
733
313
657
316
487
494
641
311
147
190
919
803
710
381
361
379
70
310
496
440
620
371
793
659
905
481
738
717
592
581
843
173
295
901
740
153
786
569
660
762
730
922
941
800
366
640
680
378
493
412
288
518
697
417
500
683
29
324
339
418
214
873
632
16
62
334
969
163
939
347
375
14
54
655
560
60
831
263
358
449
821
411
820
94
449
545
496
84
407
157
636
358
615
968
389
589
536
430
594
533
47
933
440
821
224
432
67
361
162
403
201
24
388
215
13
272
513
986
720
747
533
979
877
598
557
412
914
523
847
338
250
51
721
878
225
626
287
690
160
391
968
15
97
440
489
23
163
449
319
458
22
254
579
802
612
951
43
245
192
520
227
770
755
798
463
565
20
893
520
806
554
741
601
557
43
586
476
178
376
620
98
171
996
852
308
817
938
601
133
328
47
635
736
479
166
76
294
853
491
706
962
893
848
156
597
936
410
814
109
276
235
942
132
101
61
669
236
817
984
979
16
918
27
802
234
993
79
597
636
957
394
603
206
838
638
33
373
714
464
84
152
523
736
540
264
491
795
177
40
861
653
882
319
491
561
612
601
595
180
915
441
593
527
670
432
601
880
164
164
553
141
375
225
339
456
569
651
622
519
913
223
194
611
845
683
823
344
344
220
557
48
113
571
361
940
884
692
758
509
733
217
919
61
334
899
214
988
521
767
823
130
439
23
420
524
767
575
307
990
239
689
619
206
734
428
382
397
698
449
293
297
570
237
31
803
180
47
821
612
789
661
733
182
562
572
916
551
778
358
536
925
32
805
718
423
970
832
190
77
887
360
644
972
638
74
60
426
859
442
362
224
472
459
814
220
796
313
504
79
366
606
123
531
730
780
978
267
92
154
868
537
637
315
997
579
788
668
580
236
444
606
184
512
435
121
114
364
83
654
368
715
743
673
778
543
637
720
931
902
139
695
432
918
885
722
827
98
754
242
269
808
792
908
630
383
622
445
279
141
755
887
225
527
474
512
633
696
637
344
6
148
848
314
475
404
911
43
696
303
398
745
858
258
445
913
146
641
612
322
819
570
750
340
743
527
344
738
819
616
720
963
259
775
843
310
49
929
179
580
294
883
207
539
332
762
784
980
641
912
431
241
616
490
79
797
207
417
481
950
288
971
757
697
350
59
68
550
806
136
426
510
735
799
45
349
378
327
431
112
87
822
611
44
687
148
542
153
445
575
730
295
890
863
536
954
780
582
468
852
386
585
5
175
99
905
144
450
91
811
906
54
383
422
497
930
203
32
692
328
989
294
274
288
698
473
34
154
370
283
929
611
52
210
474
614
227
806
354
112
917
194
527
639
454
867
811
711
742
949
53
427
499
272
505
875
582
960
948
696
993
765
461
681
580
26
440
352
766
978
640
291
858
99
562
393
615
341
457
316
811
364
585
153
431
351
147
758
38
603
471
191
553
839
630
505
395
92
645
432
460
128
829
572
919
560
639
377
172
236
586
546
603
978
399
464
956
509
628
954
258
199
323
926
220
331
245
495
960
713
310
708
697
810
607
361
812
47
390
288
278
575
900
81
10
566
725
490
126
93
705
618
459
706
30
597
912
133
292
661
415
901
726
373
300
290
765
329
902
733
363
811
44
693
214
732
888
56
123
688
297
314
328
108
456
141
447
274
20
503
119
490
460
84
93
753
576
658
697
100
412
13
170
210
892
160
266
945
570
862
956
259
798
984
771
304
489
724
543
632
399
619
869
79
498
60
612
337
603
195
149
200
867
281
891
186
163
960
778
561
625
471
101
802
844
505
1000
174
297
274
426
419
589
378
167
512
21
210
826
67
779
986
212
244
800
943
729
968
971
919
760
817
873
272
913
234
714
110
295
590
443
855
619
183
306
451
53
491
243
953
211
870
614
782
571
380
699
694
914
665
313
378
76
599
650
639
446
944
161
350
121
400
890
669
593
244
167
583
164
217
997
454
14
451
775
118
5
983
208
32
851
865
424
122
251
953
317
269
918
207
89
834
253
740
826
207
543
918
674
143
177
516
863
583
350
321
380
676
128
593
579
35
531
481
382
557
528
834
23
758
422
844
464
220
148
605
739
636
417
993
447
931
482
224
564
122
535
90
539
899
391
114
367
376
178
853
965
136
183
115
720
438
897
136
490
451
562
666
742
454
192
447
700
223
127
814
597
226
682
998
152
854
329
250
385
599
157
95
760
37
79
837
425
461
340
980
25
247
430
335
150
380
406
429
980
78
996
276
126
126
542
704
951
347
53
202
906
633
122
693
515
88
480
722
730
130
278
306
248
843
980
85
301
497
934
474
140
888
245
246
114
91
592
322
794
290
3
607
104
568
424
354
751
944
108
918
571
481
474
734
580
980
111
17
635
657
16
987
580
179
990
389
717
634
377
706
209
311
943
733
766
673
764
106
613
516
452
12
231
118
901
486
855
140
14
676
19
114
537
956
718
664
235
26
918
971
102
988
187
621
207
919
233
668
93
645
979
643
331
280
613
296
957
549
735
40
40
119
320
432
554
933
731
544
64
15
414
729
471
361
228
128
196
269
603
242
768
934
817
26
701
194
745
254
926
82
380
369
827
234
232
620
74
255
531
60
70
881
756
903
779
118
635
798
127
596
186
826
955
53
790
398
713
177
548
796
698
82
370
779
671
303
352
534
86
519
996
294
42
196
736
66
252
936
54
276
29
610
194
612
282
294
114
953
27
606
844
127
734
294
869
119
145
826
500
520
834
302
455
223
898
207
25
824
640
415
274
744
989
363
703
823
742
514
664
24
368
70
622
932
281
367
47
933
976
582
301
311
347
138
417
18
873
719
58
527
53
862
266
37
652
942
844
238
847
732
328
10
336
871
551
714
838
274
752
190
161
950
8
171
219
743
553
597
948
222
175
225
59
327
477
8
965
411
257
956
30
977
617
549
468
783
739
373
873
964
419
281
346
477
574
290
638
484
928
428
542
272
8
877
16
889
379
144
174
1
790
419
300
385
519
950
544
53
750
42
786
281
252
252
442
690
981
432
661
106
481
578
438
124
118
810
672
194
258
426
75
557
453
686
145
553
608
865
150
659
864
167
130
119
631
299
502
173
813
829
743
704
756
18
975
604
883
423
1000
239
259
446
506
225
612
948
685
132
398
219
486
814
591
843
70
838
789
502
837
872
82
325
519
949
889
171
478
249
635
150
288
410
682
771
97
399
444
303
74
679
948
386
422
719
433
393
105
921
728
818
395
675
305
774
827
558
832
716
944
678
48
666
484
766
522
557
269
911
634
773
155
753
725
615
817
569
896
205
31
888
388
319
380
219
825
687
991
20
838
642
979
226
778
342
786
578
268
414
475
472
329
577
364
268
703
706
68
812
755
816
154
455
65
680
121
965
389
120
346
570
192
544
977
825
346
959
479
112
942
518
703
370
335
650
881
85
724
940
926
644
565
238
763
947
81
920
199
509
975
829
18
411
194
181
559
131
281
661
30
667
397
979
219
406
566
415
34
867
101
253
554
777
423
548
838
960
706
392
817
156
863
659
953
191
387
273
257
907
503
165
428
860
858
451
568
89
750
802
955
175
479
662
835
431
982
720
24
268
320
19
421
732
961
193
192
720
43
555
448
648
964
220
773
165
719
999
817
78
373
519
480
816
939
946
936
598
716
702
837
988
839
787
575
652
385
645
403
951
890
78
537
467
533
313
118
694
581
214
55
877
882
573
302
442
352
566
111
542
425
759
138
989
377
480
80
242
277
7
659
198
95
762
394
220
138
626
559
239
556
573
138
774
136
39
378
400
989
851
766
558
8
47
847
555
174
674
347
301
885
444
462
615
497
196
38
889
148
249
580
553
799
58
689
33
103
84
579
829
377
414
766
972
466
451
905
294
754
973
20
921
889
939
28
914
87
691
572
209
15
633
636
890
312
18
341
339
816
233
595
9
404
838
996
399
173
665
495
301
354
500
847
553
970
191
810
342
740
582
364
552
160
300
1
789
982
284
238
491
565
893
88
961
676
597
170
248
382
529
503
567
587
634
804
326
643
757
277
905
195
777
486
52
111
802
855
109
878
533
778
341
355
122
93
292
124
237
888
475
992
609
239
644
363
2
463
613
327
451
947
839
288
564
399
988
890
926
627
320
792
901
616
987
602
648
676
299
861
798
952
589
559
28
397
551
55
718
618
851
671
985
659
336
434
656
881
414
652
155
584
33
36
849
903
219
83
143
833
313
285
494
918
908
558
555
277
939
925
868
157
604
132
869
104
517
356
500
220
37
572
376
671
791
485
277
792
206
138
741
647
301
440
639
910
61
898
933
246
501
783
255
182
884
797
554
606
656
70
823
642
348
983
834
606
101
869
887
176
444
121
810
687
710
620
825
680
747
683
464
455
632
917
386
379
717
459
830
145
650
111
436
1000
3
763
345
217
725
321
800
695
944
96
971
665
571
225
347
914
735
225
842
806
342
251
710
648
960
942
467
639
750
21
286
707
450
973
751
34
211
165
416
972
676
792
369
337
846
869
879
796
123
306
235
168
417
773
108
966
368
678
114
472
528
76
758
917
812
745
631
129
684
967
532
121
262
799
194
659
24
736
404
815
840
692
619
840
826
198
634
515
916
531
446
272
103
269
226
968
15
420
253
209
877
822
705
484
917
22
452
188
972
185
386
823
404
896
359
270
390
890
502
52
359
870
554
937
614
540
854
57
167
934
790
955
422
905
866
638
642
379
983
735
35
609
203
349
924
187
48
20
686
30
326
530
54
900
597
919
947
260
649
182
191
459
771
612
383
258
185
632
668
752
735
271
379
540
819
155
355
859
581
981
211
35
608
973
28
229
690
744
703
961
764
322
703
285
794
834
44
839
184
493
145
185
282
76
598
3
710
45
5
738
496
839
794
225
482
595
291
702
58
799
427
316
45
873
141
966
481
768
943
814
101
967
88
339
595
147
554
129
46
930
288
947
551
791
254
748
697
175
409
468
424
354
75
373
840
335
147
699
685
403
159
100
507
520
567
186
63
849
482
4
113
131
730
920
562
511
316
741
860
675
316
312
661
844
747
36
44
242
194
967
955
152
851
162
169
580
148
965
764
818
337
781
992
942
224
662
483
366
767
755
923
117
388
226
682
396
653
795
405
349
470
427
233
702
39
53
161
42
592
379
983
116
391
32
483
438
533
262
739
881
871
420
927
701
751
236
588
605
337
707
71
69
3
44
823
96
643
710
233
6
787
45
987
632
80
360
288
538
47
661
810
457
27
367
985
181
857
476
64
568
156
631
400
151
46
481
592
81
772
499
423
781
951
195
40
736
111
248
430
310
786
654
65
332
682
396
525
481
299
514
23
157
999
707
3
623
701
738
428
695
254
9
921
130
68
627
678
185
799
174
934
533
659
165
841
804
495
892
778
575
875
927
503
549
261
85
51
968
807
36
953
108
424
91
185
764
582
904
227
272
676
960
755
507
962
750
783
688
740
499
519
603
909
127
812
5
70
913
825
567
59
959
477
713
166
159
303
94
337
806
576
234
332
382
952
111
140
364
418
42
975
35
52
243
817
435
923
899
756
560
518
375
400
838
207
470
190
730
607
226
776
25
193
899
519
28
114
113
785
376
997
123
951
665
455
339
926
406
119
993
578
105
287
864
640
390
704
491
574
217
542
206
376
123
401
596
496
399
40
732
899
825
571
609
770
313
67
766
538
406
891
970
695
65
555
199
343
608
595
885
550
976
773
520
344
727
894
306
630
272
664
443
391
938
327
64
300
338
223
557
251
435
80
208
393
377
560
682
954
895
524
849
537
599
556
841
560
979
510
63
242
302
233
40
835
892
172
652
834
451
249
273
524
204
276
811
555
627
162
428
180
453
367
5
430
456
349
23
767
239
252
609
710
879
731
946
479
825
565
103
3
881
702
625
496
459
461
886
389
537
891
304
620
922
687
996
134
491
673
351
16
34
555
298
813
236
557
768
492
101
598
930
934
797
851
345
50
556
906
72
396
690
248
114
642
267
440
324
354
265
235
37
354
256
812
250
332
805
455
113
475
819
332
896
665
977
425
313
137
289
316
319
598
517
260
30
516
915
936
438
624
252
284
969
774
616
138
750
897
823
685
644
212
580
379
726
803
724
600
923
336
959
223
915
11
525
280
282
794
142
47
81
602
378
229
704
399
342
396
908
90
186
454
387
680
497
735
76
436
39
234
707
676
708
637
763
366
781
39
87
938
713
664
878
598
822
503
718
930
129
466
556
788
563
593
297
297
459
862
747
295
36
362
209
703
87
938
914
87
638
945
836
202
769
405
173
366
52
676
903
336
341
762
406
764
742
478
62
432
641
22
154
166
615
932
107
795
882
20
340
509
725
642
530
758
963
571
126
137
127
820
315
796
458
8
448
537
246
216
166
158
272
861
36
547
376
794
582
731
194
689
966
358
171
803
462
81
849
358
52
906
233
126
166
894
780
256
611
469
182
63
195
259
642
239
428
563
794
943
941
509
758
310
948
470
90
188
155
575
521
314
8
969
486
761
77
58
375
155
659
113
354
107
402
480
369
316
873
127
631
1
493
412
525
699
198
766
313
943
540
456
498
45
639
708
966
992
574
257
277
474
348
814
615
191
510
37
907
885
890
349
613
966
665
327
478
268
166
476
365
152
400
877
863
174
266
625
18
542
830
937
942
870
828
555
472
91
778
370
316
951
687
198
339
193
380
311
718
426
867
611
703
641
45
316
650
549
227
635
794
207
670
218
944
912
300
59
949
944
305
146
266
569
130
413
462
635
673
407
781
218
160
691
192
26
254
195
485
702
469
594
46
723
812
337
926
348
912
133
687
921
593
519
306
925
956
668
95
338
570
716
215
226
273
713
840
17
455
771
469
555
387
90
172
877
366
336
799
628
919
270
304
159
355
627
375
668
242
975
492
171
203
709
408
711
589
377
776
971
161
257
318
380
918
479
507
871
581
8
195
672
84
498
1
933
578
355
563
495
118
352
957
824
186
799
661
8
663
563
485
689
658
209
750
7
876
168
869
939
843
89
166
893
330
476
416
87
826
334
127
981
733
732
19
40
239
156
514
174
512
47
287
473
931
148
124
279
551
156
352
208
920
699
132
468
645
845
734
707
806
200
750
666
474
123
851
110
55
773
319
884
135
483
70
428
858
449
327
764
541
815
373
816
463
35
85
854
235
825
40
50
172
96
56
385
428
22
935
609
424
786
68
574
296
621
270
6
638
464
911
711
850
929
961
273
747
315
36
563
928
65
930
719
592
429
372
852
99
73
983
385
609
42
468
836
548
782
104
819
480
904
481
257
226
980
302
77
673
967
718
182
824
740
362
93
48
871
741
493
374
979
106
802
962
913
264
66
516
584
49
680
535
468
335
887
750
684
539
578
14
74
533
640
205
902
767
999
404
620
185
529
741
664
235
224
799
365
816
361
424
911
577
914
80
728
346
142
680
777
807
89
911
67
755
733
680
76
401
643
212
901
217
310
750
685
787
759
524
277
924
658
870
142
133
902
955
249
106
575
540
49
532
259
621
663
979
893
593
110
956
785
770
718
604
894
734
890
583
244
996
7
902
136
858
620
369
888
245
980
310
961
461
634
976
676
514
63
819
207
680
274
415
166
434
868
378
887
771
331
21
488
156
207
905
858
77
377
625
29
217
874
396
753
773
545
28
739
319
391
865
688
962
608
157
183
179
185
103
519
902
427
493
758
897
896
503
670
424
111
657
697
504
776
430
794
843
458
247
771
622
388
873
797
908
521
313
820
402
54
382
980
594
372
52
522
185
772
507
339
789
405
624
30
538
548
245
269
171
750
162
381
614
352
227
212
836
638
375
821
991
159
626
6
462
796
335
435
433
783
43
960
78
201
316
733
234
450
830
919
724
784
808
79
85
333
628
851
560
903
52
117
627
493
62
706
226
681
726
580
123
941
877
589
495
529
636
134
930
769
966
494
532
447
526
143
676
574
51
137
305
921
374
505
345
610
996
649
935
514
782
956
677
392
994
149
67
474
332
481
565
702
114
464
528
935
5
728
371
204
944
525
847
563
51
572
348
130
327
197
428
708
898
217
579
734
417
570
427
401
976
495
116
482
552
978
637
787
574
237
246
181
678
270
929
811
80
875
61
496
312
85
51
253
225
665
747
582
288
183
836
434
202
174
284
762
766
69
116
175
750
928
468
481
244
444
903
857
596
365
443
976
573
257
623
636
842
483
157
386
189
373
467
172
178
841
428
240
83
112
151
439
28
784
540
544
210
212
644
453
986
64
548
920
364
950
653
995
171
232
712
500
720
464
930
668
345
450
747
544
561
535
689
872
926
624
797
968
915
350
693
509
241
994
331
263
84
22
803
535
651
581
369
497
322
875
53
652
397
134
718
356
130
775
537
754
282
469
155
444
921
15
668
941
563
351
711
284
37
540
605
187
654
305
503
739
354
509
906
1000
508
9
780
799
971
486
696
644
792
155
110
957
714
767
915
769
221
933
879
605
444
610
431
520
651
519
537
190
417
398
85
465
819
225
266
61
164
998
957
912
812
200
979
221
654
838
409
469
660
818
857
449
713
462
700
902
639
169
812
491
930
603
235
644
167
269
589
277
567
24
740
525
393
912
404
378
176
652
911
568
854
289
309
146
940
781
352
909
801
770
704
268
955
358
832
205
66
513
678
660
960
618
181
86
581
762
93
934
238
599
369
494
915
9
600
887
683
293
561
990
431
399
5
708
272
462
209
363
939
21
662
878
430
384
481
117
961
989
821
959
22
53
572
675
949
453
105
727
967
595
699
374
100
928
535
370
703
929
836
595
601
596
802
688
7
932
490
596
445
474
678
519
886
640
52
887
161
582
769
842
550
238
553
236
77
519
24
256
690
881
849
626
987
86
680
811
554
590
550
744
325
844
560
380
560
764
241
852
212
765
917
32
436
63
794
103
996
361
226
126
119
695
824
639
137
932
628
67
907
356
585
61
558
845
924
941
604
373
869
90
828
967
313
480
637
781
687
519
777
658
296
69
392
396
809
762
424
972
419
750
256
113
446
612
316
952
778
432
98
982
622
13
651
163
469
751
183
808
61
953
792
870
410
315
758
306
605
781
40
493
197
262
789
80
494
562
779
232
933
352
599
944
44
277
353
24
208
51
390
346
524
963
286
204
638
309
884
937
285
119
722
530
661
990
577
527
449
964
176
463
498
168
342
966
689
378
985
840
467
732
370
718
928
606
48
347
64
21
682
137
984
59
738
421
504
437
711
725
474
794
81
493
628
250
684
886
523
503
587
697
362
45
790
951
85
98
325
462
161
520
382
487
919
217
115
608
95
602
693
162
523
237
958
858
519
67
811
688
584
628
46
905
498
143
893
606
735
728
994
425
412
788
860
943
668
265
125
686
411
611
68
997
923
223
952
645
657
630
683
775
877
866
199
672
525
342
753
865
756
14
981
312
181
786
213
736
703
907
10
711
226
592
319
766
223
215
937
605
315
183
238
492
534
65
191
34
947
620
791
861
638
122
929
142
836
777
581
514
165
98
970
742
544
813
997
346
281
244
807
521
299
145
839
889
210
659
82
30
188
375
539
263
192
518
118
861
121
885
225
738
893
525
388
653
282
55
115
157
603
191
18
817
947
305
977
751
746
764
702
130
893
430
650
109
519
886
634
590
779
922
854
331
700
322
319
180
207
243
782
623
939
333
388
426
374
260
218
860
64
530
760
908
496
285
161
886
226
287
784
104
421
447
194
568
906
50
215
220
118
331
93
880
118
118
136
904
970
112
409
522
324
735
198
976
23
625
8
867
889
570
772
577
651
87
819
226
113
919
908
388
285
423
265
732
145
209
178
792
146
407
119
334
327
637
796
152
154
74
786
691
774
32
612
574
438
108
225
977
234
261
843
817
126
163
24
862
536
766
668
233
332
330
349
204
168
72
35
894
533
198
763
199
797
331
300
282
738
223
152
34
771
252
560
207
150
356
247
289
911
985
798
835
227
145
477
624
138
802
196
973
327
764
144
514
743
645
231
6
362
670
164
48
344
889
422
131
136
853
844
74
837
882
836
784
290
889
455
191
880
115
721
400
37
240
581
375
732
88
871
906
105
520
470
252
470
212
600
584
569
680
898
280
916
329
423
211
490
313
268
371
792
670
816
605
554
553
936
721
934
363
671
987
113
254
1000
856
590
779
302
786
325
416
56
179
127
341
114
804
306
76
628
530
678
603
311
861
472
94
296
523
534
681
242
336
506
569
736
693
346
385
257
232
607
827
161
712
417
615
178
673
969
187
923
195
651
866
766
962
648
971
236
867
950
917
769
615
251
458
276
117
113
41
442
998
126
741
143
195
540
308
636
464
963
696
422
579
292
833
825
149
7
515
326
288
297
26
682
797
286
515
669
145
775
196
69
286
538
180
158
276
151
83
556
726
769
637
723
353
45
146
822
289
607
35
900
351
104
697
574
156
885
512
488
853
753
211
813
232
128
740
972
147
143
389
598
520
864
223
452
661
877
814
644
300
944
822
68
487
279
271
372
508
289
211
151
24
284
78
294
954
746
223
600
997
243
997
811
286
969
284
215
397
179
560
827
827
516
406
974
74
323
898
755
697
573
435
500
40
952
402
808
857
988
512
196
726
846
790
671
959
543
962
796
721
919
423
923
169
629
59
314
769
802
952
820
340
768
382
625
32
459
618
310
181
636
705
187
895
113
795
378
331
532
653
612
830
44
603
98
459
458
549
95
93
54
687
7
807
234
192
942
271
661
467
646
806
336
493
666
943
306
472
399
666
368
199
405
980
136
563
995
87
357
148
651
264
164
151
261
470
283
771
512
816
843
719
29
300
537
791
21
637
382
249
266
564
210
331
202
758
316
375
835
377
416
882
902
279
171
349
457
188
51
849
623
408
248
148
777
226
676
617
834
787
833
309
613
75
448
362
507
598
392
320
777
515
276
44
871
246
542
650
65
42
617
304
610
618
852
754
293
689
609
222
7
198
776
624
476
63
447
127
755
554
269
735
523
728
181
938
441
971
882
452
71
334
378
728
934
239
400
237
294
141
300
469
160
881
297
243
832
823
542
177
12
321
596
115
176
704
296
895
374
786
903
89
143
817
673
242
503
936
674
722
292
430
752
466
262
512
36
828
397
942
290
221
926
505
676
457
343
277
259
519
569
636
635
996
56
189
648
567
252
137
33
731
331
103
191
443
520
137
34
440
670
413
961
820
925
145
614
863
497
348
995
197
577
409
901
119
355
832
387
338
966
180
179
406
961
961
506
881
520
133
821
574
222
3
291
326
666
477
720
388
576
63
776
852
364
521
23
575
274
799
276
673
353
711
197
987
476
852
927
896
609
414
754
447
246
864
476
79
741
966
169
133
846
241
525
948
320
750
794
565
912
58
631
992
372
326
824
529
390
735
964
865
538
890
615
532
347
397
419
843
623
566
896
603
6
50
383
747
527
314
691
531
642
974
567
80
809
468
983
881
173
970
590
309
348
173
444
347
586
369
227
505
864
244
755
296
542
934
515
808
269
210
342
574
789
54
121
409
100
573
559
908
230
877
675
18
506
539
635
489
777
276
960
14
551
753
919
561
334
790
167
750
794
794
242
109
540
936
624
704
404
464
428
963
133
536
672
437
294
133
276
919
30
955
624
573
2
649
537
688
515
392
982
251
327
613
718
778
123
624
322
758
936
1000
735
612
100
838
549
292
447
426
736
501
541
451
425
83
718
566
632
264
575
73
552
305
336
493
145
613
218
984
250
501
534
967
422
610
733
786
979
470
40
928
513
787
640
132
258
834
581
729
259
764
720
648
235
726
37
864
412
446
628
474
353
319
487
224
8
119
991
51
768
152
628
139
316
52
86
50
459
449
308
732
907
408
473
590
209
903
168
350
638
567
201
144
859
620
613
104
614
188
429
769
542
189
628
764
416
584
606
557
803
75
147
554
152
253
538
460
783
807
989
599
139
642
994
866
897
651
580
52
246
471
675
592
685
732
964
165
225
213
693
170
746
825
831
833
559
545
901
581
959
244
556
367
639
866
696
829
377
564
484
526
318
204
161
997
518
117
949
74
149
104
649
685
928
472
775
384
838
316
187
968
237
358
227
849
742
381
296
276
104
738
672
139
436
429
108
829
737
989
426
547
669
790
879
538
913
390
527
967
246
235
269
501
681
389
424
266
645
933
999
493
155
342
820
59
421
465
754
110
98
683
154
174
687
459
433
426
195
748
472
315
238
703
122
352
221
679
653
691
103
786
401
51
499
153
255
647
590
633
840
84
349
859
446
538
116
490
803
164
438
949
774
396
376
204
932
665
220
922
757
143
646
879
901
289
869
627
533
361
285
230
333
526
416
373
57
920
720
236
965
804
976
329
586
942
476
905
448
482
276
671
437
907
45
242
375
62
886
210
264
897
650
754
417
287
838
416
322
261
206
68
674
998
557
90
492
211
17
501
594
916
289
98
10
128
26
654
91
723
429
912
182
583
659
373
720
100
451
888
544
365
562
653
7
611
347
500
212
14
789
317
321
583
766
989
421
637
240
555
884
366
258
120
480
28
396
654
794
631
322
28
629
363
651
492
157
587
169
334
551
983
799
653
715
273
381
7
512
38
473
208
568
313
885
667
375
16
581
532
848
779
936
298
977
414
52
712
477
62
6
563
597
89
427
387
356
882
785
194
525
39
117
107
609
855
699
150
940
651
351
539
731
231
626
509
618
670
147
93
776
730
743
300
176
418
824
820
920
588
668
727
874
36
881
644
42
241
334
495
177
756
287
272
162
261
263
203
600
479
467
362
859
454
169
990
548
188
568
777
37
274
64
918
152
945
763
12
643
918
294
778
342
511
689
119
211
780
187
281
629
846
279
723
325
135
222
854
357
20
568
955
399
208
913
478
396
285
260
375
344
17
824
287
518
356
112
234
29
645
392
884
950
139
426
649
608
822
485
581
835
457
215
520
115
968
874
13
599
513
837
271
905
95
33
847
447
133
138
759
835
202
961
525
493
49
423
913
273
78
934
269
249
740
790
957
318
623
376
784
472
605
641
281
830
124
264
379
598
483
405
298
140
95
751
464
255
794
792
877
557
593
936
620
602
820
111
171
22
153
937
710
458
888
468
933
539
732
717
725
494
488
889
640
236
312
328
342
941
583
657
26
167
52
494
381
583
636
439
829
226
130
716
623
994
128
980
866
787
687
324
709
290
574
428
735
922
492
150
60
849
320
584
758
320
244
746
34
768
633
636
968
274
645
328
774
25
857
168
244
329
641
867
459
597
646
502
915
485
470
2
907
9
561
668
416
42
431
712
742
70
530
559
833
457
484
901
587
764
958
70
411
842
118
350
972
554
493
264
367
937
88
681
942
571
726
880
576
704
958
287
542
438
345
722
986
876
553
385
663
706
502
734
810
95
752
626
932
158
429
812
860
492
239
932
623
443
555
653
584
825
121
497
783
808
661
194
647
541
557
114
38
893
824
439
135
365
779
262
778
835
187
724
717
297
170
628
688
176
814
724
338
110
280
985
821
306
150
754
295
732
926
612
683
423
862
156
750
108
772
669
19
269
71
833
37
416
37
211
282
107
257
228
332
745
221
768
962
691
343
296
520
606
992
657
263
214
736
265
346
878
636
466
806
474
342
255
172
60
706
371
340
740
830
34
932
941
774
226
654
62
647
478
116
48
415
586
140
19
583
522
853
493
841
108
743
121
874
668
447
71
802
984
217
389
132
338
922
731
674
355
927
808
622
631
432
786
862
859
630
684
642
275
601
459
916
755
961
114
39
842
136
647
11
295
564
63
121
505
282
10
678
262
90
801
494
906
972
739
929
865
505
666
582
927
733
633
186
397
431
411
862
413
685
331
637
351
462
606
75
157
230
829
926
910
668
856
931
685
244
629
323
983
748
792
87
656
862
148
763
221
533
103
411
918
185
239
397
692
800
82
796
516
505
943
560
119
600
425
63
225
855
836
287
892
561
273
693
377
986
579
781
240
872
742
441
65
98
540
476
276
904
414
70
996
905
600
583
810
676
546
748
570
862
502
274
130
616
965
865
960
649
359
892
158
348
906
297
268
228
190
830
671
422
272
376
40
70
589
977
502
233
50
99
699
371
891
879
903
565
886
334
695
348
453
1000
497
471
37
51
424
944
912
734
488
444
209
842
214
522
530
65
62
96
4
249
931
386
994
10
146
788
973
677
8
201
275
251
967
929
505
904
937
657
428
589
64
893
52
455
545
949
423
128
699
772
416
376
579
904
385
320
833
404
100
155
427
850
857
274
89
406
941
825
4
541
942
967
397
148
535
516
116
741
436
265
214
889
183
968
852
269
328
880
532
522
338
788
799
628
267
669
66
650
809
455
135
508
867
919
331
926
194
352
903
776
953
512
493
891
290
351
9
767
133
108
220
749
465
698
752
971
279
748
906
786
229
244
938
431
810
525
989
409
494
272
868
460
868
203
259
981
264
451
761
477
763
943
342
940
736
682
416
72
291
521
794
891
59
852
143
616
805
692
463
630
228
773
297
5
128
585
63
310
871
822
928
364
690
276
115
210
889
53
383
800
496
938
712
805
211
793
883
530
790
212
742
97
147
1
395
975
525
683
537
424
68
912
339
637
2
622
97
183
409
719
930
856
298
377
315
200
235
330
221
770
341
57
897
677
850
460
125
64
743
413
890
952
201
585
983
340
758
53
986
499
45
515
477
188
984
385
50
898
138
620
928
289
653
938
523
722
923
965
296
135
650
948
651
552
458
891
421
203
598
366
689
569
566
791
309
649
640
664
529
440
462
111
511
869
771
100
414
453
325
855
908
509
844
332
669
100
566
88
430
742
594
519
624
578
779
238
539
908
322
313
152
899
609
188
496
847
74
379
504
585
25
447
740
497
443
341
362
135
745
909
911
605
361
300
285
745
791
978
323
615
475
317
976
953
416
66
949
83
2
500
48
212
893
749
195
187
136
601
210
551
905
88
41
172
411
259
49
820
518
892
329
807
601
285
842
197
979
936
258
189
40
631
60
934
835
412
383
483
468
953
504
538
99
124
678
406
761
884
236
848
451
205
450
573
177
439
741
715
730
363
163
2
951
185
994
239
181
943
470
386
390
62
344
776
218
308
13
946
789
23
418
166
669
320
771
963
826
857
443
892
761
930
31
303
255
868
680
127
324
161
265
535
52
288
885
874
949
989
471
462
340
569
981
661
100
898
783
152
735
957
363
488
400
132
387
797
960
987
511
999
604
904
59
992
846
793
833
70
968
94
870
249
81
378
931
276
33
194
853
846
325
239
686
949
36
523
690
333
546
996
872
780
451
989
722
276
700
913
196
164
394
905
820
76
112
453
956
764
886
639
935
949
167
275
738
981
194
113
363
377
194
302
831
300
770
418
35
650
623
766
275
716
490
70
375
289
816
367
735
691
209
672
539
468
156
946
611
359
859
11
72
738
269
312
69
927
578
839
290
659
497
118
917
489
608
881
942
154
973
940
497
696
957
825
946
681
923
934
29
3
54
321
250
541
52
740
65
444
893
250
124
914
123
500
7
137
396
791
430
459
109
166
833
988
996
53
674
543
512
459
476
290
663
288
881
448
718
156
534
178
870
961
613
129
513
569
221
151
244
187
653
361
108
390
750
109
869
321
191
348
290
268
567
623
505
694
526
137
571
787
107
384
192
798
612
408
437
724
16
50
984
408
986
487
64
736
988
933
806
433
887
643
125
877
666
247
665
502
599
19
526
572
270
872
703
565
346
779
212
968
884
825
842
15
267
279
393
782
574
924
989
118
283
383
799
57
763
321
61
753
898
219
835
459
543
885
302
749
251
980
752
26
842
628
639
314
950
596
184
486
632
640
65
361
501
351
678
575
594
228
276
712
384
792
76
962
921
233
72
480
65
500
857
705
187
718
238
127
508
560
807
366
447
488
905
989
981
810
633
185
12
149
630
261
208
201
379
958
555
672
678
737
167
859
759
513
485
652
246
809
87
658
771
923
769
727
621
500
440
422
205
863
611
877
505
546
987
43
907
743
685
532
994
809
171
146
916
519
825
725
964
521
410
87
831
320
376
728
828
147
95
402
30
299
598
885
921
873
336
16
594
329
828
596
1
999
763
809
56
468
312
667
589
750
930
354
341
310
883
473
153
274
128
936
502
636
912
643
363
853
647
149
117
1
212
234
917
586
795
684
469
149
815
582
661
80
232
126
863
409
800
313
2
897
397
836
695
461
600
189
852
797
112
269
136
115
458
780
588
30
626
289
556
4
963
142
764
211
686
326
23
325
844
971
571
535
406
456
530
38
438
938
274
363
6
734
771
151
517
163
125
431
710
353
615
995
396
28
479
231
355
483
617
636
497
802
109
297
520
850
198
806
802
760
953
449
215
396
333
15
855
785
793
239
437
608
892
720
256
623
581
136
141
334
968
714
816
289
429
211
430
184
823
111
790
289
478
341
12
833
308
589
884
653
145
207
228
819
874
772
941
956
489
601
195
664
533
903
491
807
674
810
869
397
387
199
595
494
775
108
87
818
587
538
652
758
415
607
872
78
827
360
96
891
970
999
565
415
756
948
158
621
326
965
579
114
894
456
127
496
436
247
824
44
947
353
772
706
151
677
117
333
599
167
863
571
85
674
106
25
180
666
956
147
473
965
525
804
793
891
885
636
292
576
832
99
783
662
611
594
106
342
512
176
656
467
377
114
390
458
623
36
799
880
338
449
317
852
364
194
642
886
79
790
240
385
719
686
92
774
721
147
374
159
497
884
380
492
516
549
391
446
287
935
667
590
127
3
939
6
155
927
32
174
1000
939
316
828
127
101
697
488
526
91
778
536
746
696
612
40
894
12
235
11
276
254
752
402
831
693
313
975
332
477
754
86
648
985
19
568
1
954
739
138
257
785
506
182
755
359
447
346
109
189
670
81
688
924
46
206
200
75
567
559
913
307
217
37
595
821
892
674
127
143
398
898
134
102
3
821
682
906
276
190
242
4
237
654
690
868
916
99
33
874
495
141
972
281
119
267
117
642
340
767
903
78
883
336
803
560
105
145
443
697
82
267
605
570
727
570
919
850
718
567
243
742
321
276
350
326
362
826
559
519
712
413
372
154
658
210
19
699
427
25
47
703
982
797
731
370
876
534
140
577
645
907
161
263
712
517
624
344
226
820
959
214
621
771
496
475
924
526
580
710
4
968
192
45
22
390
631
710
317
384
149
45
841
905
101
209
41
501
319
367
786
896
920
247
521
488
689
828
354
834
516
321
173
827
100
776
221
163
284
405
783
610
921
137
752
767
163
44
896
285
379
978
577
979
735
214
533
844
593
908
72
785
517
919
716
755
614
918
864
102
385
721
551
130
21
476
735
287
300
675
848
922
880
963
521
267
754
352
518
146
106
786
882
928
622
936
245
416
533
752
48
675
347
574
149
305
250
518
915
285
623
465
460
302
995
229
89
468
9
362
407
377
660
642
754
768
153
476
840
444
207
349
474
699
540
964
301
213
553
904
290
271
959
480
551
227
210
959
722
286
87
470
768
89
750
729
553
58
898
195
937
146
378
359
492
454
796
674
131
165
171
57
86
385
666
998
709
752
793
31
501
165
249
747
641
549
715
601
21
363
547
433
466
467
266
49
393
44
151
206
609
483
45
33
368
562
688
265
53
762
505
668
65
277
805
679
605
135
761
590
8
849
378
590
239
192
917
583
956
15
844
981
255
513
468
617
892
967
866
494
246
806
570
362
781
757
736
981
108
981
242
523
953
347
186
760
587
407
786
564
240
219
562
776
89
899
987
673
215
668
501
128
757
184
888
25
162
198
561
664
39
872
190
699
619
645
474
607
245
206
584
819
628
924
941
417
828
106
562
742
48
563
155
337
376
275
503
403
534
390
467
355
556
391
90
114
67
44
884
500
495
649
367
431
122
185
310
722
338
184
963
892
864
557
719
780
974
123
316
741
960
303
675
862
162
313
912
933
897
161
882
886
552
972
874
30
886
451
689
695
337
793
427
815
755
991
721
605
516
268
55
690
404
334
66
995
23
253
385
211
720
979
695
926
199
43
122
330
40
437
35
967
340
475
559
176
539
314
880
703
325
832
486
468
153
791
48
628
554
557
530
873
899
146
490
373
677
68
246
907
704
230
742
486
862
170
488
212
114
15
922
220
596
848
882
274
484
634
685
21
236
452
434
930
520
534
816
699
821
554
586
246
293
660
384
465
870
990
268
581
68
796
637
303
154
847
739
946
584
465
63
385
693
438
281
961
633
33
281
480
453
514
34
18
58
911
714
567
479
236
533
459
529
1000
190
110
470
688
740
875
719
766
915
700
20
939
630
829
727
608
494
22
11
924
618
622
884
386
914
356
905
673
397
892
281
288
676
66
926
643
971
163
653
390
493
783
355
190
942
660
465
598
243
241
443
434
349
969
332
821
87
982
665
47
614
389
113
565
935
364
321
728
388
38
316
298
689
603
706
390
360
61
664
269
934
796
344
324
307
518
931
650
7
127
26
858
973
778
425
159
610
721
640
288
534
512
724
548
408
854
24
94
736
601
526
615
273
466
341
711
987
560
725
617
115
196
708
378
958
298
92
244
455
384
65
830
499
293
148
539
189
764
533
860
910
529
120
412
202
780
735
11
883
761
66
644
767
760
828
923
649
951
561
520
896
386
234
103
144
946
531
493
79
170
299
143
239
749
114
516
84
898
383
643
335
940
658
942
730
251
110
374
872
99
217
139
839
48
759
435
560
306
160
201
754
831
58
440
374
46
757
416
134
741
841
987
618
110
849
377
931
898
323
945
610
316
979
881
733
734
987
314
790
135
582
9
888
997
295
690
288
555
107
40
109
370
748
597
279
763
178
84
452
925
994
208
648
483
166
579
875
860
9
220
787
39
776
55
782
227
562
913
556
489
517
800
238
617
466
653
735
406
167
330
776
992
347
358
482
137
597
802
973
143
930
710
636
622
568
764
230
454
59
111
883
110
363
898
411
962
967
670
107
346
365
630
288
886
512
739
470
70
951
773
955
110
373
752
21
904
305
583
643
305
454
410
880
954
28
877
609
668
971
462
315
729
645
110
20
465
968
609
235
182
371
555
27
852
250
303
932
977
768
971
422
666
964
458
96
305
132
422
589
155
332
342
416
823
742
123
648
849
249
165
319
570
324
469
984
29
769
147
642
921
347
639
579
502
678
68
294
916
12
412
823
634
677
584
200
556
52
109
737
862
890
811
88
888
703
778
769
123
698
976
915
959
455
38
608
922
128
116
979
986
456
224
679
987
295
131
22
303
674
717
242
729
630
681
882
935
186
608
282
946
880
724
475
874
200
101
612
498
120
685
177
381
685
281
856
894
273
552
903
918
705
160
253
12
861
406
421
513
842
130
442
393
993
148
719
666
304
228
667
832
807
459
465
111
580
855
68
215
882
253
862
26
781
836
992
805
328
137
456
519
989
982
494
444
563
662
688
465
267
531
451
372
15
373
245
47
171
121
980
618
221
928
512
554
875
190
61
178
78
814
676
295
296
950
569
427
229
423
279
694
795
317
115
482
815
505
278
903
358
455
392
463
96
275
900
519
340
828
937
868
665
690
855
230
144
891
494
515
252
659
711
474
459
830
401
756
351
222
458
454
903
991
675
925
164
951
596
66
198
882
722
219
594
95
264
604
231
911
853
484
282
253
240
294
622
244
18
590
917
576
842
11
656
416
451
382
320
776
36
752
693
622
138
381
26
463
316
690
429
795
293
717
367
581
130
912
604
894
263
995
278
949
926
146
34
28
533
40
331
197
112
80
76
324
774
744
725
600
475
102
888
678
88
462
217
588
860
526
101
773
892
665
247
950
178
663
760
33
106
810
729
994
13
293
654
383
584
636
259
203
405
392
394
976
944
332
717
127
601
179
853
268
244
297
510
557
814
824
837
100
165
448
944
237
314
399
83
675
635
265
453
633
379
899
976
561
62
63
691
537
919
420
569
148
612
158
704
519
822
822
784
163
195
922
693
494
319
468
913
172
102
910
84
933
925
851
764
189
447
518
910
480
754
219
86
806
864
898
737
993
249
505
116
468
108
53
621
290
652
159
378
809
514
361
836
102
737
707
91
176
466
944
362
20
624
124
798
747
318
623
367
446
721
346
74
881
430
389
184
814
96
513
444
596
257
617
498
611
820
764
853
323
660
472
757
963
99
677
317
327
861
210
27
800
228
674
610
435
729
334
789
879
686
986
102
982
313
825
414
178
902
999
114
97
799
877
295
430
513
69
398
741
322
872
896
822
146
140
616
135
309
534
182
128
47
734
911
471
265
472
183
786
82
169
962
54
198
579
677
698
932
57
103
267
96
982
232
777
522
445
403
8
134
499
84
492
988
153
793
484
536
828
611
952
733
161
618
516
272
902
368
281
367
120
223
749
14
131
939
318
595
313
439
405
22
489
81
900
340
660
75
474
893
639
909
252
657
593
789
500
346
573
108
261
242
875
946
341
463
455
398
634
582
714
324
552
72
642
759
233
49
735
785
292
192
70
146
89
491
655
278
895
718
484
678
874
110
733
777
494
764
196
538
846
700
337
25
354
354
352
95
538
516
202
196
800
372
895
946
710
353
217
837
884
963
690
908
339
618
816
705
195
790
519
167
649
448
316
357
445
841
901
92
480
187
767
618
733
707
941
439
485
754
169
275
626
498
671
945
945
721
113
622
458
837
587
539
212
133
200
714
491
594
339
667
54
394
805
446
818
297
779
463
417
745
26
817
180
387
828
763
382
152
893
996
63
750
868
187
321
652
181
49
738
197
613
790
541
449
397
446
135
822
671
13
923
321
774
703
685
403
248
925
325
134
367
783
543
291
710
993
774
514
565
109
821
442
946
871
718
979
611
309
730
535
754
940
847
78
970
55
780
340
701
596
266
349
600
603
426
764
155
516
30
126
494
913
808
260
469
398
313
522
46
438
485
509
492
904
733
114
86
973
289
566
897
808
598
150
666
154
721
886
8
565
100
315
923
484
507
910
100
822
716
365
610
993
224
134
360
572
345
181
116
900
143
839
993
969
946
31
69
883
664
910
153
28
694
109
843
834
15
414
673
701
935
637
562
188
86
867
792
68
441
91
415
222
555
363
347
629
752
340
394
905
696
994
121
941
619
766
754
189
521
237
319
80
804
647
795
831
131
226
371
674
786
366
807
128
452
99
520
491
109
245
228
172
715
827
906
820
420
51
385
478
357
224
96
135
443
476
376
121
211
38
271
782
431
145
925
717
148
323
536
674
841
951
311
889
556
499
37
231
281
764
677
58
303
785
867
56
965
819
326
690
82
936
952
91
227
336
818
351
274
439
382
226
837
167
955
188
733
622
889
618
165
521
995
697
132
331
432
189
432
76
661
898
764
106
98
57
599
18
791
264
949
33
765
886
636
816
703
44
430
706
255
378
214
777
612
811
417
955
909
420
67
689
677
376
163
284
814
599
566
95
510
419
212
189
118
97
258
9
236
444
738
777
161
185
391
112
425
935
585
369
359
815
707
738
484
823
929
6
66
40
11
200
350
613
699
44
854
269
286
255
543
806
147
251
935
566
377
751
933
466
209
86
671
506
516
778
798
44
573
98
372
316
201
849
991
831
566
599
868
292
203
928
321
649
280
54
525
725
719
349
460
634
572
860
687
831
940
933
967
250
832
431
749
421
558
841
266
861
667
777
298
298
971
984
646
510
888
999
61
621
220
16
626
742
458
365
590
719
916
232
269
597
281
912
899
107
679
916
265
139
983
738
523
673
865
927
877
115
88
402
680
289
590
594
74
640
213
131
522
330
329
206
439
986
197
737
659
839
610
654
678
864
297
430
424
322
559
23
824
798
848
958
589
420
337
191
443
464
39
731
476
941
722
724
458
100
677
880
685
989
359
630
397
351
119
408
885
179
453
767
151
166
733
862
383
183
917
953
588
611
549
212
417
85
252
86
593
703
998
849
402
290
676
820
361
639
867
884
549
971
262
599
43
25
886
181
611
300
124
95
60
974
572
784
667
937
899
362
677
181
234
676
190
536
65
250
661
345
291
46
823
233
847
869
118
542
277
477
597
373
742
179
824
422
197
749
532
954
923
987
647
338
120
169
832
531
60
900
881
773
150
609
132
565
296
53
582
667
185
675
505
458
434
646
235
531
85
690
183
760
575
596
334
440
163
406
203
290
742
861
702
268
138
632
426
151
259
220
645
803
938
192
656
892
894
585
262
570
9
903
787
288
50
120
493
505
11
482
212
488
513
734
749
826
62
571
934
517
530
747
182
723
906
304
97
365
236
773
959
724
666
85
884
161
700
122
95
852
66
508
996
163
114
286
689
946
271
593
165
545
883
285
641
741
738
768
416
247
644
943
194
583
724
264
21
337
489
394
859
894
345
858
363
661
896
353
581
741
326
136
171
738
149
972
210
127
848
697
813
164
267
321
617
870
123
986
626
992
702
791
39
179
597
664
483
844
340
991
474
290
935
713
44
731
556
906
219
781
163
680
412
822
362
395
887
424
628
749
145
657
903
328
462
686
668
565
830
532
829
883
253
247
122
979
675
50
306
851
812
149
101
155
836
83
692
955
143
430
634
691
417
611
142
514
811
370
114
702
374
208
668
988
745
699
662
36
758
133
413
211
847
391
819
30
15
289
171
358
731
900
210
517
304
513
415
950
165
953
64
970
28
967
353
449
57
268
748
991
45
585
781
244
68
804
700
557
263
837
759
68
175
407
409
692
573
293
371
165
782
971
338
506
333
718
94
744
185
471
928
772
850
694
542
525
507
485
90
450
588
9
607
428
402
63
815
868
26
289
268
710
135
66
806
448
405
629
583
87
855
327
273
180
807
194
635
662
151
258
290
264
263
38
454
690
213
756
346
576
876
634
185
495
201
530
8
919
130
835
17
87
627
208
811
206
868
276
641
266
850
832
791
8
643
443
271
291
12
623
305
153
383
893
478
383
996
102
14
286
598
379
366
644
240
952
196
584
567
854
867
164
480
233
771
27
230
597
159
386
773
791
683
934
728
954
485
31
358
5
539
650
803
421
895
111
211
218
643
603
517
72
677
862
354
461
826
116
995
556
491
624
270
349
710
679
147
162
490
976
989
248
309
594
584
682
935
689
687
87
98
170
171
73
73
268
882
416
963
896
940
133
308
173
546
588
658
266
308
708
928
984
734
166
674
182
813
149
903
85
539
927
671
114
821
7
535
650
480
66
842
435
920
222
969
5
639
477
889
617
944
269
840
634
124
213
473
205
842
18
570
414
713
491
305
748
859
298
97
858
739
862
259
121
709
378
42
417
553
395
163
889
729
891
586
159
158
7
147
676
195
904
585
355
831
282
710
681
275
150
683
786
826
414
891
781
314
634
450
817
486
116
183
905
411
130
802
544
340
625
103
583
508
284
246
548
33
150
536
872
420
318
691
88
154
402
280
60
547
585
866
746
300
37
403
840
192
441
604
856
967
146
331
879
722
197
517
255
84
158
801
945
4
115
824
148
285
752
79
33
841
706
364
158
245
658
74
157
355
812
53
846
660
445
266
734
527
200
299
256
715
680
568
747
353
675
171
289
100
50
534
88
317
932
307
950
935
318
550
786
147
652
854
780
158
237
902
30
55
563
955
9
226
765
868
154
916
469
548
246
202
212
228
38
99
482
496
740
570
175
838
568
906
933
323
537
347
371
158
107
817
719
76
49
334
736
883
136
17
65
72
875
581
406
69
500
888
931
566
894
408
436
400
928
443
572
589
945
550
373
491
763
903
971
500
641
272
52
369
64
862
141
999
125
527
216
528
515
770
541
630
804
491
837
204
821
673
74
55
375
60
243
759
500
417
431
590
688
135
414
333
268
792
749
804
250
786
66
132
419
294
831
178
419
620
380
27
907
490
416
105
580
931
494
340
20
177
231
748
878
482
117
960
849
789
825
519
276
976
884
197
967
778
405
216
20
573
308
8
993
903
185
61
788
9
450
490
972
649
967
184
92
182
662
790
739
232
955
311
715
245
26
824
702
888
26
668
250
584
343
445
712
411
968
393
40
223
790
961
951
148
401
946
57
515
609
146
8
900
385
315
534
184
441
135
581
446
942
18
393
67
160
852
461
636
987
175
782
116
337
866
742
272
411
179
246
518
684
806
426
226
287
722
369
986
90
759
845
501
461
205
903
583
124
258
584
200
989
795
705
635
111
789
821
602
189
654
35
587
137
938
269
805
267
108
992
861
620
579
140
649
776
773
177
72
272
759
808
859
383
912
840
166
611
156
100
638
698
533
102
322
347
267
385
148
132
15
25
692
275
714
891
596
39
261
590
320
539
320
925
879
626
664
892
819
371
842
922
996
364
395
88
627
677
510
496
683
900
791
906
950
72
762
923
976
690
851
770
688
244
827
730
667
862
125
837
965
746
40
312
849
30
501
491
62
584
49
763
17
63
665
106
854
215
290
334
423
27
264
127
81
820
388
201
652
810
16
759
24
957
373
471
618
158
316
825
434
974
857
595
434
103
87
595
782
769
570
617
882
35
905
630
174
796
888
941
415
904
659
941
498
390
260
526
914
275
283
23
653
806
678
703
653
248
306
558
933
574
571
29
180
460
257
838
886
29
784
852
66
674
189
209
258
132
529
523
735
676
840
88
829
952
448
420
836
493
205
357
235
415
194
219
844
135
530
175
101
181
164
81
876
389
8
519
82
771
282
678
903
375
691
1000
616
303
980
249
835
854
385
753
510
444
770
95
165
551
554
462
647
458
44
195
158
947
498
801
439
440
7
872
760
301
327
863
818
122
883
682
703
890
495
367
884
846
790
947
520
691
923
693
514
585
923
621
397
3
973
47
525
106
947
399
106
753
796
317
229
653
744
252
450
457
817
398
447
758
899
821
934
95
394
62
328
41
581
331
624
369
892
654
553
119
710
962
398
98
724
184
741
981
551
850
42
726
102
588
164
440
133
140
902
192
531
244
81
538
134
771
55
642
315
13
283
3
134
921
186
720
587
373
686
130
373
279
659
444
646
438
40
691
412
575
455
874
600
925
95
754
334
53
963
95
609
352
812
501
403
790
810
223
229
36
437
426
285
64
203
446
629
674
524
522
274
169
477
319
715
573
255
316
124
383
814
818
413
825
612
869
409
984
339
880
631
971
254
103
544
515
47
420
695
963
177
71
870
708
270
67
234
475
475
27
434
750
642
99
835
852
809
420
368
814
765
330
939
270
390
156
18
34
44
918
786
879
580
773
199
342
377
347
403
9
428
353
236
859
681
69
921
714
727
317
684
739
447
535
725
230
429
452
860
674
781
618
226
118
495
781
596
461
644
652
254
175
514
147
849
315
246
583
356
390
670
618
64
857
798
974
514
500
893
80
439
951
81
839
52
963
277
632
478
811
540
560
746
375
88
640
483
58
862
363
424
647
959
571
878
658
235
95
552
488
88
966
512
902
764
301
597
4
534
169
327
871
725
816
167
437
931
664
48
49
641
381
217
384
218
154
779
16
365
18
828
14
202
722
652
394
647
141
326
97
39
706
931
474
866
650
773
896
974
138
204
203
917
502
93
224
911
874
564
440
431
481
341
211
654
756
928
684
798
171
915
586
893
451
875
679
702
359
690
522
274
799
658
572
123
367
380
348
125
806
290
567
1
43
626
681
692
627
829
231
45
395
588
768
932
172
276
889
369
126
52
99
233
181
722
783
919
534
341
593
612
891
634
914
915
532
520
896
243
654
438
751
730
771
696
603
392
119
779
232
957
100
404
453
78
850
112
722
578
862
376
790
68
480
514
870
473
749
184
854
12
769
866
531
711
222
552
688
815
188
790
173
338
720
342
727
577
882
1000
465
609
152
482
352
675
121
949
949
881
412
373
978
827
626
922
985
619
898
516
468
218
347
967
394
225
287
410
916
21
597
314
468
641
36
964
121
885
615
172
279
941
364
959
277
242
956
43
467
363
693
325
701
498
298
961
911
493
793
248
640
439
539
295
995
551
107
386
454
454
297
999
358
993
15
697
740
385
174
470
326
884
4
675
178
93
399
405
450
747
996
985
172
78
708
292
811
845
318
786
565
733
590
438
44
110
50
250
995
53
237
676
222
160
743
59
685
897
833
151
64
137
743
884
722
126
43
819
109
289
610
131
117
199
794
557
805
537
374
457
212
64
745
40
679
464
603
845
221
419
30
761
11
428
545
240
957
681
149
853
697
785
804
25
60
244
131
598
218
388
311
854
256
856
307
777
899
861
569
612
462
194
327
246
872
316
407
523
788
981
284
389
434
504
739
667
726
212
39
338
712
584
62
444
86
332
136
111
819
973
680
732
479
443
898
55
924
995
896
774
392
871
585
240
914
267
657
60
167
681
715
708
567
45
395
720
417
964
914
707
421
976
42
202
702
989
914
314
763
975
472
253
493
534
555
88
399
171
846
466
745
4
912
652
162
137
604
930
615
137
897
341
296
859
93
730
137
410
968
316
174
150
60
331
888
459
790
788
6
472
520
121
975
92
978
247
471
362
704
606
855
748
267
834
445
926
111
63
830
459
739
261
256
113
878
639
231
664
962
919
139
713
963
182
615
451
156
62
810
298
881
325
523
58
744
222
345
555
983
576
587
717
917
243
793
727
509
459
53
175
52
585
177
105
916
948
8
469
121
777
834
794
197
737
869
788
439
189
259
199
210
101
935
512
364
491
873
939
228
374
49
747
827
464
403
158
210
305
669
951
781
41
786
414
535
831
910
468
961
738
791
642
178
11
339
73
542
857
766
851
576
160
598
835
577
118
194
556
659
445
132
905
315
594
989
125
801
458
585
36
774
122
698
504
664
553
670
946
174
557
39
31
188
936
549
821
94
536
455
295
196
817
33
578
472
626
601
243
375
101
158
687
805
19
951
998
602
430
920
652
167
158
935
89
864
554
243
487
901
940
299
54
260
337
459
746
109
391
605
622
812
895
868
969
296
959
43
930
95
638
165
602
780
820
990
488
899
248
795
737
738
837
988
832
432
850
533
243
993
75
58
100
788
896
838
136
916
1000
547
960
677
543
785
254
45
781
909
613
654
529
622
572
290
320
111
824
329
829
257
752
836
907
591
191
305
605
224
744
113
656
930
101
828
219
928
525
432
103
683
89
382
329
220
314
170
618
24
551
733
342
602
842
596
526
151
23
139
736
618
498
722
74
607
478
733
28
224
454
771
654
966
349
306
399
192
80
150
900
533
243
986
255
850
251
18
590
3
537
539
238
706
356
821
460
257
331
298
456
755
113
419
352
696
450
942
953
531
503
643
328
825
464
624
692
186
423
427
648
975
923
180
563
165
871
841
753
375
270
411
191
265
765
680
652
965
140
672
563
139
707
433
354
659
997
265
743
533
294
773
248
955
317
362
190
822
795
917
558
88
782
456
462
633
280
477
286
141
178
575
306
616
533
659
277
794
969
749
418
650
331
927
304
635
741
458
393
54
925
496
318
212
982
73
619
583
792
262
254
244
898
497
158
281
9
42
41
680
236
521
864
469
814
222
709
516
297
619
261
441
201
197
742
561
620
175
963
651
611
197
60
564
29
378
641
452
75
372
288
386
8
274
812
686
375
247
201
147
608
719
971
673
57
912
481
509
338
206
835
403
385
562
202
534
761
827
716
976
558
235
662
791
732
834
293
602
781
893
474
626
510
558
308
699
19
168
57
796
171
657
947
899
514
430
914
855
62
949
933
6
395
999
356
12
221
298
594
215
975
646
548
347
996
313
433
133
552
729
37
589
305
828
961
410
802
587
152
863
249
416
821
31
103
39
918
95
33
420
464
560
357
130
376
996
407
236
907
905
159
454
462
795
78
839
328
382
380
694
836
154
799
798
538
149
510
225
302
945
103
253
575
299
324
903
714
798
878
604
957
168
732
405
522
614
240
894
367
654
859
715
335
458
422
132
765
603
720
647
166
513
620
33
225
563
54
499
234
15
22
923
3
447
148
199
485
355
454
796
599
921
741
578
213
756
376
752
849
554
346
605
430
228
161
316
305
42
543
722
885
693
882
374
422
46
118
621
871
491
53
706
330
454
88
99
210
657
35
361
203
111
974
831
72
685
66
371
496
328
891
191
512
659
119
515
571
699
288
475
881
971
43
155
485
61
422
150
490
18
705
360
949
609
893
978
183
577
71
811
736
500
837
134
716
766
451
229
61
474
585
692
72
778
361
312
691
307
895
76
122
814
694
418
812
138
68
345
270
882
187
486
922
974
546
431
972
394
354
930
270
927
815
688
285
742
374
492
607
978
697
365
826
265
627
301
269
319
361
864
803
293
831
618
873
585
648
909
991
194
994
6
121
504
516
969
821
595
642
920
510
795
715
568
958
203
14
947
944
337
8
330
20
908
203
188
534
932
518
885
334
85
429
524
99
195
51
987
870
281
915
745
129
383
450
467
751
696
68
789
249
214
338
880
980
160
920
577
436
971
818
960
277
505
46
179
520
438
961
247
183
520
395
300
724
486
170
493
804
923
771
333
285
342
753
726
860
7
892
451
403
849
280
65
927
901
252
492
54
271
561
665
3
614
234
617
422
431
327
398
819
291
195
980
984
256
944
137
514
360
455
898
511
3
741
749
583
484
421
265
496
736
791
170
242
506
295
190
800
846
219
171
597
811
65
105
509
668
372
671
266
773
747
818
294
494
433
733
351
220
85
275
785
534
312
568
903
93
152
985
716
625
896
206
268
717
576
378
892
742
988
654
969
373
343
561
207
601
517
693
12
80
374
230
273
924
857
640
763
781
348
705
395
144
325
725
788
341
468
342
936
623
205
914
304
50
131
812
327
663
869
312
130
538
710
967
250
880
827
505
294
300
898
302
759
725
798
446
674
234
332
240
359
215
125
759
330
885
443
730
316
167
114
570
422
313
751
899
710
495
142
220
845
757
47
739
11
355
599
497
994
535
187
84
188
209
12
214
291
842
435
337
627
90
919
288
368
372
579
720
374
629
340
645
63
951
271
6
469
650
908
591
608
600
294
985
405
365
12
498
660
696
717
153
965
490
521
926
79
175
148
354
960
820
923
542
577
933
533
377
648
71
967
442
654
867
220
729
844
34
134
754
448
221
233
86
989
347
517
620
407
170
971
153
703
429
957
934
917
808
789
928
594
388
489
436
292
981
161
599
334
941
464
38
753
624
389
570
275
653
903
483
314
544
67
349
126
51
921
713
697
805
743
296
466
402
320
547
688
168
506
451
98
212
648
542
559
229
438
949
523
755
352
143
482
215
150
755
61
164
807
493
38
578
850
694
369
901
348
507
256
853
655
40
393
652
610
79
794
413
102
121
15
942
759
541
180
84
74
712
919
32
463
721
247
771
574
174
438
887
670
226
149
535
87
594
412
274
526
817
624
787
460
418
322
289
22
975
378
529
522
293
208
860
200
28
740
824
888
135
168
31
996
461
994
910
677
644
426
76
49
256
13
636
73
751
262
747
80
389
108
154
951
750
310
198
634
841
225
36
35
94
4
398
312
733
884
239
264
90
179
72
784
460
517
599
362
991
109
484
197
924
85
785
786
217
493
592
787
235
124
871
526
690
164
406
796
499
618
972
466
535
533
567
8
543
343
606
246
615
51
473
501
706
563
716
857
658
190
488
435
42
249
520
404
954
732
47
973
567
188
623
750
855
369
687
647
396
643
62
13
583
898
338
768
895
456
209
98
69
512
388
709
208
735
710
737
816
983
347
130
769
519
888
750
27
725
158
497
667
74
280
456
487
38
442
461
973
699
237
482
926
25
248
940
395
208
762
385
871
971
90
974
878
459
19
830
203
197
333
698
1000
592
169
249
929
649
227
11
294
863
485
220
887
765
137
760
843
220
905
996
390
361
775
546
774
18
445
906
33
580
470
463
507
510
164
578
164
153
804
357
874
18
597
201
741
512
137
449
474
919
830
265
585
511
837
381
870
857
645
512
247
768
263
41
507
797
415
24
988
925
799
734
437
850
668
682
609
310
497
538
246
982
502
439
119
803
114
919
775
27
271
117
470
898
618
950
503
629
219
688
873
254
439
703
707
23
997
234
396
237
35
650
766
785
222
68
870
232
556
167
215
958
518
692
308
743
680
449
415
192
706
572
356
547
893
442
953
795
82
933
486
423
795
606
138
836
932
16
943
233
201
608
201
699
746
526
665
361
115
256
62
732
772
214
677
788
866
280
785
878
864
802
698
326
947
769
78
448
778
711
936
768
379
364
450
410
355
299
321
988
637
529
892
862
265
560
666
250
436
486
194
560
231
503
482
249
941
645
263
667
918
653
446
657
190
607
52
93
904
392
761
186
783
84
964
106
417
100
882
446
148
302
848
62
756
281
371
109
912
730
942
448
581
164
839
160
209
221
390
592
484
461
241
234
947
872
182
706
533
243
999
342
352
227
637
155
704
154
681
463
330
611
790
85
380
401
256
813
460
708
308
823
341
249
125
781
654
702
771
675
922
954
443
814
797
562
464
24
271
358
463
771
906
312
19
881
868
603
883
510
626
359
532
269
746
657
449
733
90
212
14
91
83
624
284
357
469
185
294
383
84
38
698
924
747
893
727
82
347
600
457
834
519
653
334
716
121
59
754
405
879
98
229
660
138
209
369
38
684
595
440
841
949
191
753
8
753
300
510
49
932
566
31
642
793
929
459
246
406
872
157
912
114
582
3
507
520
606
712
712
427
197
116
510
847
856
78
331
277
464
317
688
855
27
989
898
911
290
286
470
683
370
679
819
632
139
675
235
904
281
131
474
943
834
224
875
183
561
158
687
25
648
558
123
30
112
307
755
363
767
252
26
52
756
817
32
547
469
62
224
392
152
136
367
579
578
402
908
279
11
710
882
210
45
455
626
859
60
62
888
126
731
518
310
747
473
373
947
22
723
446
182
951
718
67
345
875
763
314
429
123
32
138
499
954
630
656
794
292
975
204
79
385
552
890
469
510
778
526
844
302
972
802
948
92
439
480
475
902
271
200
722
370
764
227
925
944
256
85
972
138
829
557
47
498
510
986
641
217
556
158
530
992
937
283
545
811
365
789
399
858
73
663
400
582
102
101
615
334
1
54
933
623
719
92
534
210
958
659
443
744
386
430
241
581
957
946
478
768
15
146
41
902
8
719
519
732
392
415
619
897
772
614
806
200
373
432
635
120
733
659
709
94
863
608
780
228
216
739
290
724
512
589
565
252
823
86
940
943
367
813
346
430
147
164
246
609
901
620
383
397
816
560
483
765
159
136
920
783
214
728
362
225
956
419
581
519
461
731
947
495
345
620
590
407
481
310
871
188
800
130
583
745
242
921
254
375
846
961
42
69
493
583
963
539
59
845
608
305
592
665
108
64
668
800
795
883
248
967
929
429
216
128
892
620
265
712
448
534
963
110
37
409
611
303
553
836
20
871
775
35
404
982
392
223
399
152
583
645
643
718
231
791
439
987
153
694
766
977
167
965
328
517
446
407
363
206
338
627
662
429
786
57
636
157
530
186
257
759
516
617
430
419
326
755
664
48
980
572
913
760
177
874
112
93
859
971
255
153
66
446
806
772
124
978
867
591
633
811
815
692
124
513
40
56
925
141
996
633
590
760
77
264
147
578
652
54
562
597
232
32
82
784
901
110
508
253
47
400
53
838
944
957
169
743
920
855
583
661
701
311
885
877
988
281
141
372
520
497
427
894
645
491
631
276
907
494
605
30
289
464
499
397
496
699
170
560
135
630
622
731
715
405
783
121
151
851
356
651
842
225
61
363
479
918
407
135
424
961
985
240
904
717
402
744
259
647
175
470
209
400
308
529
396
758
808
988
500
190
108
284
860
820
204
426
825
672
356
834
70
915
330
935
682
694
525
267
140
818
773
880
232
236
280
309
530
747
917
236
319
850
76
239
757
971
368
704
607
564
727
44
114
769
893
881
434
325
834
728
609
466
376
6
201
372
224
956
586
541
582
100
393
147
789
447
717
47
739
544
550
593
375
817
350
830
202
400
777
974
606
762
397
282
729
23
625
564
801
795
221
619
130
759
427
821
366
932
248
923
319
798
406
919
313
19
237
437
24
457
167
740
799
623
430
844
688
468
372
689
826
657
35
530
318
53
702
962
504
179
746
58
321
855
430
104
511
20
267
352
568
6
189
995
659
181
28
320
236
897
763
610
689
181
574
905
172
445
989
176
717
757
315
813
816
913
101
586
952
619
604
393
946
576
91
182
591
172
344
412
758
784
927
274
38
377
588
721
67
240
710
3
829
190
831
34
631
512
97
413
929
240
960
323
878
113
570
858
272
692
59
564
555
679
396
78
701
437
534
815
59
50
348
588
708
81
263
873
487
309
516
228
601
358
725
992
655
75
809
986
10
942
320
406
621
607
956
465
868
792
330
644
473
511
106
599
260
483
237
864
403
109
354
493
792
186
348
717
341
765
763
480
366
233
937
457
660
721
741
788
511
422
362
297
730
246
825
397
665
522
855
248
337
144
224
976
45
612
964
928
236
931
695
1
12
223
824
74
356
210
589
415
67
417
737
763
433
82
138
452
866
267
766
550
81
598
334
483
919
381
280
48
580
598
963
998
849
423
689
654
897
450
632
82
360
786
791
437
701
518
884
15
312
854
475
400
408
386
708
836
549
528
698
636
516
165
53
3
370
938
979
83
742
405
153
505
781
514
840
888
749
438
769
36
943
858
918
614
469
186
659
104
440
69
699
774
291
743
868
175
272
466
73
434
642
282
679
230
713
876
185
868
725
78
280
333
432
913
277
513
435
712
514
90
522
927
471
702
721
748
266
96
326
547
721
923
912
437
330
745
210
994
372
579
788
242
838
9
674
586
44
504
395
247
589
56
453
123
790
708
895
739
841
811
486
57
739
103
953
524
421
835
920
646
691
180
446
768
221
126
524
501
345
900
501
418
410
709
166
210
150
265
133
509
963
123
254
957
953
316
16
901
309
185
265
328
933
553
136
242
212
618
785
706
502
1000
362
227
187
429
678
952
141
418
197
430
61
141
296
289
385
398
230
281
490
242
866
561
397
318
56
965
521
462
452
298
851
410
692
326
539
754
135
267
84
425
746
39
164
68
307
425
704
622
868
639
948
316
222
451
140
90
253
172
941
101
198
296
813
622
205
548
467
108
118
405
901
639
44
880
682
250
122
560
911
901
870
362
756
942
633
501
489
996
951
491
760
106
111
760
206
834
758
687
578
785
192
383
257
650
921
598
444
466
83
464
285
241
611
653
923
481
380
668
787
438
134
665
420
100
690
169
819
33
750
520
557
180
711
676
931
673
977
274
987
474
651
476
575
437
923
187
493
980
150
673
407
100
385
514
434
926
76
35
222
311
764
91
893
268
864
142
449
182
44
21
88
805
273
752
441
26
366
9
892
277
715
561
1000
220
961
154
541
64
549
780
839
448
466
239
851
340
986
214
963
802
890
824
550
807
494
762
151
485
747
693
530
359
855
511
1
93
131
460
119
301
261
859
262
732
749
372
696
979
99
333
384
444
181
627
243
937
323
36
515
684
893
741
646
965
539
894
390
842
759
782
848
652
229
128
823
39
126
500
167
295
723
628
758
692
686
679
385
307
844
164
86
583
668
241
410
448
349
586
688
424
134
914
619
525
574
470
404
152
381
511
200
409
922
859
896
443
736
120
80
480
85
38
596
184
247
762
268
875
156
522
217
898
56
305
697
145
8
665
512
343
460
700
903
176
607
592
258
794
932
828
106
506
130
357
653
732
633
519
543
389
50
511
605
932
168
530
130
217
576
512
591
191
616
546
777
175
90
642
77
179
103
502
946
227
481
364
681
164
430
766
285
811
515
293
538
573
537
1
412
850
643
202
591
664
810
745
193
936
883
752
746
759
516
9
82
810
675
853
112
808
865
454
365
500
854
848
769
254
491
936
392
723
135
940
787
440
351
480
113
423
752
529
440
53
329
972
523
551
150
407
829
336
54
134
830
458
870
958
369
57
698
574
437
505
27
815
845
485
792
957
63
764
15
631
2
837
305
611
596
911
353
903
860
962
525
112
495
685
788
14
233
230
503
641
844
524
82
926
140
873
80
180
363
234
100
198
69
269
764
837
981
813
111
255
317
893
990
846
796
789
435
77
838
943
508
63
498
686
842
751
320
869
946
980
589
487
340
539
456
287
798
586
997
188
241
409
593
29
362
608
888
837
665
187
241
309
404
937
785
644
868
769
130
248
554
291
310
33
30
65
780
242
721
417
138
765
416
596
798
914
29
381
991
470
38
922
342
638
58
744
753
214
223
334
472
870
395
684
51
976
725
475
347
784
784
349
860
119
279
824
459
935
373
13
992
248
744
210
383
957
843
813
525
51
220
796
730
512
433
138
521
991
795
190
275
5
129
952
616
960
808
627
455
774
539
624
294
267
782
387
705
767
224
41
955
561
405
873
331
935
502
74
89
556
223
36
880
821
999
689
141
682
928
63
216
104
458
256
909
10
385
504
754
62
584
855
545
71
799
272
564
214
947
632
501
434
662
182
300
615
194
507
991
154
377
958
159
544
116
778
813
454
697
892
332
583
318
430
603
254
386
565
650
312
525
197
862
407
732
321
379
120
781
675
330
765
821
406
386
858
75
35
542
427
702
966
108
340
156
153
653
788
853
306
56
905
546
180
851
251
572
107
797
559
50
878
960
717
215
517
623
404
245
261
41
215
398
290
366
368
750
343
100
285
579
405
66
458
273
45
202
974
645
839
447
34
726
557
613
570
421
408
414
833
901
721
762
418
225
881
16
742
508
211
137
452
875
754
594
548
563
586
423
295
788
394
67
160
420
499
486
35
72
459
563
43
956
621
13
54
741
773
845
842
676
80
910
516
472
91
255
441
764
461
772
375
513
415
119
957
345
680
25
20
681
801
824
377
482
262
557
921
551
825
22
860
671
848
925
887
260
129
681
920
863
963
478
796
560
741
920
984
268
351
963
920
14
71
847
72
477
438
459
199
480
779
856
570
664
708
713
83
280
926
89
352
879
51
219
799
698
96
21
728
721
384
606
165
696
403
370
960
892
95
188
307
3
573
797
333
411
110
739
894
960
506
96
23
508
632
841
760
776
20
836
244
458
861
368
12
80
679
659
422
894
230
962
10
921
897
694
367
341
975
564
805
607
732
789
706
20
84
334
922
28
57
523
39
164
914
558
590
360
24
201
581
391
47
350
777
286
6
299
254
884
169
253
661
142
428
44
488
404
37
56
381
621
186
115
211
410
816
417
191
935
554
649
758
803
359
117
384
581
775
19
705
57
210
43
589
95
750
87
849
764
401
206
309
457
507
898
838
866
324
401
818
24
371
11
171
80
243
326
775
142
14
925
574
294
238
248
165
840
811
318
982
964
644
547
444
229
179
42
615
755
266
723
976
529
815
94
882
972
940
683
162
842
23
6
118
535
231
420
836
86
550
375
370
524
321
380
816
717
598
479
739
562
385
131
718
150
955
196
1
554
13
141
390
9
406
672
511
550
470
766
584
616
854
452
613
763
851
769
733
345
836
36
53
993
428
952
938
750
341
50
137
991
745
742
535
610
125
510
609
531
254
803
848
277
934
868
499
199
546
11
6
978
326
812
426
180
489
373
914
969
998
13
92
563
798
722
765
674
814
288
957
919
867
273
695
216
941
880
335
190
892
365
437
978
793
809
397
146
597
978
102
86
674
511
818
934
111
854
448
968
337
214
57
491
794
300
235
374
845
756
518
834
71
21
545
501
442
813
60
503
558
538
184
137
338
732
613
668
56
51
504
929
599
434
879
688
187
807
290
221
550
88
361
111
746
326
554
56
391
522
200
418
47
42
356
275
926
566
574
10
842
212
13
835
602
792
622
203
579
172
318
750
272
362
167
278
84
257
617
298
355
928
685
820
948
984
875
389
336
797
294
894
166
323
73
233
759
834
731
812
850
142
574
710
157
775
559
518
40
144
303
87
584
942
99
851
944
902
853
966
682
551
816
223
120
803
906
619
451
61
153
457
446
991
538
102
156
299
49
834
880
645
324
785
42
283
635
586
357
164
302
201
782
980
831
386
340
104
212
361
835
437
857
579
841
937
577
912
145
5
868
192
960
968
521
809
847
598
225
979
243
999
424
371
912
210
126
27
412
559
780
877
908
140
591
701
256
795
865
106
298
623
38
922
758
347
93
437
951
847
938
78
729
789
160
439
800
534
290
70
523
482
339
64
814
570
899
260
622
897
555
864
708
367
698
356
151
762
79
852
77
934
607
483
605
603
978
925
874
850
658
984
368
516
669
970
403
602
379
694
798
246
196
73
262
993
682
730
938
918
87
451
906
583
726
50
163
983
924
18
758
357
515
306
302
229
956
725
41
94
201
769
35
930
401
65
759
128
338
328
627
461
281
391
506
471
580
852
293
978
911
941
21
495
546
414
740
968
396
717
670
636
866
166
692
783
769
607
285
825
612
876
457
461
607
395
19
606
637
388
818
435
262
562
170
140
535
543
813
953
55
16
119
562
219
315
205
298
49
137
834
392
364
186
679
127
276
801
600
959
187
37
87
531
511
265
904
44
314
60
275
628
974
54
660
199
713
473
298
783
565
258
180
449
949
57
82
785
497
867
592
341
226
770
817
561
437
56
605
529
966
979
647
257
525
551
821
375
922
63
453
778
881
474
1
254
42
415
776
103
458
318
970
535
594
105
183
974
367
934
85
428
276
738
631
778
19
690
442
173
301
253
623
713
719
182
246
265
709
711
214
560
556
152
21
675
366
319
158
657
713
502
590
278
425
213
754
894
559
545
991
936
203
789
199
818
132
907
763
959
736
568
477
173
879
691
279
878
486
899
104
476
772
831
38
764
948
995
279
430
152
760
114
523
137
80
226
287
919
796
169
899
206
672
794
471
938
879
709
119
658
260
615
56
765
577
522
408
928
906
352
924
59
471
455
811
284
532
867
689
297
353
969
54
316
922
331
716
649
840
144
367
480
692
605
822
132
342
55
513
450
768
410
480
407
487
706
453
259
127
122
626
817
431
932
361
463
824
210
380
562
674
966
959
836
577
650
283
80
290
568
359
301
431
832
867
41
714
923
880
121
258
791
647
538
473
714
548
561
134
791
864
346
512
45
236
530
843
579
569
370
12
156
638
917
35
842
866
635
833
85
558
640
814
692
408
437
995
723
198
619
759
202
476
517
818
919
416
174
671
314
215
367
637
575
152
586
537
664
866
44
228
900
494
809
509
126
85
89
332
250
68
567
897
113
654
422
938
232
730
329
454
962
199
332
201
992
755
898
475
925
720
914
158
867
988
602
469
590
31
576
623
836
655
330
435
769
437
468
904
417
798
890
9
155
231
964
256
976
541
445
997
305
836
536
192
587
637
993
62
749
691
663
51
893
13
153
594
266
191
608
486
630
262
724
28
641
282
196
741
752
293
770
124
446
531
953
876
318
595
214
983
644
763
214
334
580
824
178
827
77
582
65
492
936
662
556
791
126
376
239
87
694
169
569
273
102
626
317
667
791
74
271
587
167
605
859
464
922
711
267
960
837
798
321
323
744
569
112
122
362
623
876
591
72
650
139
29
540
296
497
108
262
99
703
469
767
902
918
693
186
808
79
590
363
27
344
768
488
965
501
597
490
509
4
23
52
728
81
163
200
170
930
253
830
513
599
301
424
573
566
776
496
577
393
731
938
175
71
65
568
870
855
4
630
428
430
494
937
350
248
906
592
677
735
345
987
235
857
913
860
933
252
459
712
874
686
710
840
845
139
195
526
224
217
48
724
468
914
571
673
112
947
466
452
648
63
743
438
760
700
626
7
105
371
218
550
268
956
308
114
556
865
439
488
17
680
311
623
452
463
636
589
197
385
798
144
160
706
98
152
917
435
834
721
680
179
248
952
608
798
161
606
220
482
175
846
669
770
461
430
218
876
505
395
573
376
630
317
639
957
780
675
873
469
841
751
630
965
703
709
838
730
405
243
864
615
934
193
659
88
706
92
161
537
294
433
431
286
727
802
207
707
556
691
388
570
939
950
466
468
185
336
71
765
566
552
603
15
699
504
403
199
505
237
13
458
526
170
880
233
416
773
280
813
515
829
321
381
745
747
654
548
484
190
897
241
712
450
867
543
460
576
390
763
528
270
884
576
503
946
888
542
354
143
417
695
245
724
382
178
780
856
269
103
563
844
959
894
845
262
869
396
12
709
554
929
859
710
548
291
914
973
474
440
549
223
419
199
261
325
140
892
307
247
915
238
806
708
765
179
549
8
334
591
7
643
911
970
457
780
975
269
704
578
152
9
632
620
678
697
680
456
276
362
410
360
877
687
497
904
757
854
880
925
471
698
260
740
435
173
865
253
120
478
186
707
622
384
376
396
774
451
150
628
87
853
327
571
539
476
568
386
628
798
520
247
195
820
295
420
187
972
165
538
961
483
405
664
714
207
466
467
326
214
25
92
246
818
37
907
42
848
582
308
893
88
164
237
601
825
151
845
697
340
187
21
780
997
754
113
577
324
522
258
88
87
791
155
799
910
89
13
197
429
976
656
698
325
173
459
691
826
433
856
596
426
970
659
705
664
834
324
126
735
366
608
299
628
745
736
427
244
686
367
643
647
549
109
897
211
462
312
342
913
612
154
489
441
467
818
492
112
576
671
732
796
546
919
284
207
921
176
946
912
19
746
262
401
199
171
363
368
653
804
536
135
579
735
93
797
501
366
561
242
598
376
162
669
105
562
298
611
267
300
66
743
849
944
836
981
918
533
559
421
465
584
826
734
443
577
611
495
979
12
286
775
821
510
776
21
600
533
626
902
70
722
392
319
340
732
962
237
26
706
350
319
362
217
68
620
590
574
364
761
344
897
528
44
337
237
966
975
375
350
935
524
634
410
681
233
144
81
211
996
661
883
79
908
447
715
389
109
975
719
671
935
288
435
420
37
517
313
851
310
80
212
868
660
208
492
347
607
730
623
541
731
522
69
876
761
609
313
411
899
682
538
979
610
705
406
408
693
381
831
217
911
442
399
898
833
160
314
214
849
970
368
953
483
852
446
231
252
920
501
728
307
723
778
242
16
905
292
530
447
209
222
710
470
287
928
418
771
407
756
523
672
975
671
410
27
685
1
807
878
275
296
626
747
87
339
553
661
65
873
960
20
408
497
279
434
805
451
101
507
88
785
188
352
168
446
992
294
327
397
512
837
293
779
60
459
46
458
19
217
943
66
789
466
621
747
868
209
79
417
488
737
495
268
295
241
629
634
309
34
101
91
813
854
461
863
872
498
705
146
898
660
833
13
62
465
97
891
360
607
848
467
845
428
247
30
866
534
670
915
164
742
336
711
305
254
526
331
272
956
803
872
973
654
774
426
65
868
303
671
766
547
533
93
254
672
715
165
854
275
670
679
459
823
602
674
526
288
148
109
556
453
766
494
183
190
7
175
860
488
788
898
670
5
502
536
968
797
704
595
405
626
159
239
363
11
205
62
28
707
787
795
84
861
7
448
508
478
685
130
73
148
297
954
920
217
595
945
9
715
376
878
360
376
152
294
718
40
920
741
693
592
855
438
497
289
480
181
89
78
828
254
928
971
135
533
571
123
894
777
10
539
428
270
12
703
728
652
702
561
988
734
298
421
107
565
200
314
482
836
618
290
533
937
535
929
784
643
80
74
741
450
323
431
515
34
106
191
867
189
740
310
346
844
335
402
291
462
76
461
700
185
962
795
434
595
425
629
763
851
741
778
11
249
360
713
936
999
101
88
530
68
665
531
125
526
80
45
39
701
467
936
519
815
45
540
404
506
336
367
747
777
387
502
631
477
197
220
550
368
667
823
995
204
131
641
383
7
904
985
15
917
395
608
571
563
975
873
521
902
250
412
926
848
325
520
351
857
419
911
959
782
449
764
439
981
268
151
97
659
849
62
310
836
32
238
536
199
430
936
267
308
677
558
624
290
531
816
765
191
220
722
934
624
62
235
768
216
602
834
404
624
437
641
89
558
432
963
193
361
280
300
995
138
196
913
161
376
93
33
580
257
753
673
92
584
353
775
704
377
209
145
85
680
743
193
484
80
496
26
727
740
474
853
629
529
235
945
966
924
902
673
140
965
725
224
820
464
904
654
118
45
130
888
310
371
711
113
739
75
200
758
273
516
165
935
630
438
111
774
945
41
595
548
191
761
250
885
454
241
785
633
608
635
29
137
622
370
720
804
609
925
69
809
724
40
92
733
197
978
316
720
92
127
750
477
906
279
944
67
706
374
562
979
339
359
109
404
182
111
404
993
4
994
900
629
782
770
211
910
727
12
52
93
353
113
321
242
155
246
277
193
340
364
549
727
120
440
268
58
252
651
715
312
882
158
732
201
254
453
572
498
526
993
16
238
745
967
340
784
24
633
167
51
99
568
315
191
741
582
512
995
941
801
247
124
399
584
77
21
611
566
450
36
763
52
439
829
712
432
852
651
584
59
834
403
882
249
437
727
555
682
618
553
188
490
795
592
301
758
387
332
788
993
726
952
682
345
370
415
749
32
110
707
918
447
896
839
169
897
507
751
308
799
42
688
4
395
182
12
570
764
782
600
232
963
516
210
56
637
214
210
258
313
19
71
383
923
715
889
701
780
386
991
228
368
82
386
963
807
317
381
320
810
18
251
207
238
51
188
896
149
516
140
666
342
825
327
136
973
1
370
405
757
706
13
351
664
291
335
937
756
518
229
945
9
719
651
345
539
807
823
413
642
998
137
791
454
61
967
905
844
657
2
569
336
632
971
111
522
132
845
91
381
80
688
510
406
843
335
449
239
885
994
221
764
846
679
451
250
735
95
4
197
879
258
271
987
858
629
167
302
895
16
115
555
88
821
398
256
410
491
543
295
639
164
795
640
245
591
334
842
777
378
610
15
504
474
56
699
869
619
491
100
858
154
721
755
488
196
209
554
473
691
174
428
559
262
183
707
164
81
108
351
729
241
281
749
608
202
862
787
443
954
695
220
694
445
376
184
404
711
900
812
345
873
963
564
399
827
963
812
397
41
788
656
687
323
723
727
357
822
197
957
405
793
621
887
134
871
295
144
702
671
185
85
69
569
411
516
558
390
447
550
843
585
347
388
494
176
817
805
103
392
563
612
634
452
170
213
881
379
678
657
813
110
176
256
144
392
945
918
708
117
144
853
46
848
586
179
184
211
885
270
734
760
139
414
316
666
384
412
767
300
202
340
795
369
285
556
496
761
223
409
675
692
465
835
980
26
242
158
670
903
210
996
273
915
702
89
450
103
782
266
166
21
756
521
654
919
363
350
706
889
686
71
571
457
681
877
84
672
354
699
692
241
812
843
725
599
805
493
603
127
942
844
656
897
434
619
911
438
99
159
479
11
358
110
169
801
134
974
551
241
882
418
5
423
461
314
178
160
206
917
915
810
332
464
928
429
775
759
417
137
665
942
372
864
899
790
537
793
692
321
862
880
563
419
823
813
953
457
149
658
543
646
351
193
396
910
947
674
247
648
421
331
610
625
763
422
907
622
917
77
457
158
572
476
33
792
513
137
629
18
184
225
261
773
211
803
886
898
369
920
991
696
892
268
8
875
78
874
467
794
853
3
725
858
347
948
186
361
533
934
144
845
707
668
789
255
881
411
443
792
192
604
810
387
79
203
852
133
264
860
957
859
575
16
193
265
250
792
792
677
630
256
490
540
119
326
965
223
839
48
433
569
677
479
405
906
334
726
700
891
511
945
99
668
624
298
415
294
276
872
357
271
277
620
264
364
145
178
716
543
909
266
29
37
502
34
868
3
176
329
570
216
229
360
256
553
733
650
515
762
142
469
242
148
370
206
191
391
432
199
984
623
770
652
542
297
177
162
418
121
612
241
84
536
267
976
988
765
962
633
140
483
316
571
23
531
166
308
892
907
401
963
899
477
703
588
7
463
704
82
394
768
700
498
868
663
391
537
856
156
70
957
671
612
311
418
109
865
481
35
908
68
344
507
211
30
605
268
15
624
489
505
490
134
370
269
195
72
6
145
468
113
151
114
677
230
215
296
603
58
124
258
964
801
771
429
964
678
236
956
795
65
500
52
247
969
490
429
876
431
127
986
784
747
510
269
631
186
481
580
420
982
600
817
500
960
11
249
421
103
730
504
548
725
683
927
792
704
181
390
415
377
607
316
666
322
797
398
859
192
962
32
646
216
44
962
429
723
58
17
245
323
345
107
30
921
619
833
826
818
390
171
397
547
609
691
684
942
381
674
753
161
196
338
158
47
415
61
168
254
674
165
924
13
472
325
383
309
438
141
867
466
703
725
135
854
329
446
163
487
986
106
230
795
943
908
483
717
941
547
902
598
732
616
446
54
886
339
222
100
977
310
732
350
413
514
567
16
968
431
486
796
567
425
434
431
972
919
916
916
811
117
110
841
819
139
228
350
254
466
966
529
195
556
284
837
838
333
402
336
961
990
647
100
442
225
701
130
96
604
884
534
115
185
327
510
84
960
291
882
890
921
418
566
831
769
416
336
888
389
512
728
444
190
52
711
669
347
765
14
458
803
558
653
37
581
175
224
333
612
688
25
756
830
603
886
315
685
294
917
884
623
583
996
982
306
571
952
680
518
211
864
68
753
719
799
300
498
626
605
384
45
182
97
721
495
849
84
934
302
843
187
622
283
4
363
543
554
839
344
158
239
191
955
588
130
872
438
855
699
525
422
658
981
168
180
65
902
118
137
236
551
487
404
694
755
18
249
719
66
809
40
166
924
376
149
370
350
608
718
826
962
360
1
36
523
857
170
232
487
593
128
697
214
142
859
53
636
115
298
198
128
552
510
531
286
166
235
741
104
224
475
700
781
285
877
950
10
695
94
836
148
506
201
627
93
448
490
833
54
677
658
496
656
310
474
470
973
149
520
537
159
581
471
772
316
384
693
736
120
45
662
917
509
227
787
337
431
266
761
411
253
875
510
920
934
800
89
471
460
808
674
893
398
221
897
834
596
201
360
232
234
112
86
445
429
592
63
546
575
413
778
731
410
815
845
799
588
760
383
424
184
478
811
278
117
732
118
121
967
502
455
626
34
121
130
73
768
487
670
42
903
649
662
868
711
929
490
956
823
756
936
998
931
556
841
778
565
361
671
503
791
300
878
555
367
742
426
147
400
685
682
596
986
924
177
845
683
629
392
428
901
232
820
276
476
958
54
638
742
879
511
923
397
125
753
452
345
766
31
955
472
921
815
120
13
859
595
700
760
192
140
445
876
809
780
630
469
827
960
42
441
693
508
94
284
542
582
149
706
35
237
234
920
236
900
80
453
490
820
806
116
916
750
651
571
843
671
852
573
491
387
152
539
215
194
441
568
926
647
720
420
618
631
928
233
547
592
158
982
256
762
437
735
506
686
576
815
222
139
535
853
671
813
397
549
472
764
291
683
477
667
583
541
233
404
187
460
494
341
160
643
237
959
585
737
727
145
364
918
416
559
704
410
940
963
1
405
970
314
317
331
497
698
849
320
932
911
628
478
509
608
180
275
647
447
28
956
294
581
742
407
787
217
692
275
428
647
780
512
812
350
231
682
903
286
919
556
20
479
836
504
161
327
10
171
569
881
645
763
23
485
248
6
130
749
274
540
786
853
169
36
61
524
723
826
5
874
334
206
237
470
118
853
732
621
800
8
945
913
987
141
220
413
699
869
484
820
43
750
385
85
511
452
350
638
659
472
521
452
872
239
180
587
512
959
51
773
973
6
820
808
94
12
333
263
920
58
178
60
44
539
784
954
597
335
753
890
517
898
849
459
896
745
987
436
39
629
580
437
382
354
824
317
558
809
843
808
716
278
135
253
650
518
431
24
445
403
895
367
86
149
590
943
958
288
256
334
209
561
743
105
721
876
916
803
847
305
410
468
95
856
424
764
697
413
621
895
342
814
315
797
402
493
315
955
642
517
225
370
774
107
512
822
191
950
372
609
866
685
273
341
740
974
61
232
855
453
711
550
129
710
86
546
945
116
587
212
662
17
200
712
736
281
238
156
405
676
26
682
779
873
887
485
738
148
60
497
270
6
570
943
734
6
673
859
80
72
232
991
217
419
231
170
599
28
737
406
555
300
753
444
75
108
827
440
547
965
737
790
432
468
289
839
962
440
52
365
748
490
858
290
583
758
37
3
875
730
618
78
817
875
219
915
883
765
930
9
224
58
261
163
312
401
145
907
529
865
69
819
410
14
629
228
966
75
186
980
839
976
872
591
18
187
859
84
544
436
689
289
897
340
452
180
742
921
798
62
348
790
62
100
239
512
280
696
599
277
516
690
535
567
698
249
542
918
125
532
425
251
901
945
490
487
840
843
41
334
761
50
67
178
717
460
562
21
392
266
88
240
820
98
28
786
595
454
496
73
968
305
985
455
561
741
695
667
959
785
897
24
98
297
852
488
188
18
553
949
912
338
15
169
767
360
913
904
687
174
117
638
584
34
98
232
8
318
195
523
907
697
497
592
389
990
427
968
458
509
175
526
921
550
787
204
78
878
63
948
307
657
435
509
398
308
615
782
321
219
142
404
138
20
907
244
934
429
357
201
955
282
373
502
656
425
729
273
958
612
644
711
838
396
185
656
307
296
184
644
964
175
876
847
524
874
701
426
211
608
586
898
417
544
515
101
782
277
438
202
768
638
359
17
783
350
966
543
168
618
317
273
681
624
898
305
647
244
843
715
589
62
222
944
2
860
84
214
909
367
379
72
953
960
963
228
110
402
654
795
534
471
706
864
644
496
99
136
360
417
812
953
277
954
573
686
659
900
625
859
367
302
735
821
220
567
8
15
829
81
62
120
649
995
793
428
844
240
229
825
582
661
988
640
543
420
435
483
736
432
931
872
222
689
505
105
963
744
856
363
825
525
852
476
683
901
585
118
739
99
623
474
351
168
279
565
162
155
625
499
847
575
489
864
549
41
852
401
943
631
932
840
941
699
694
493
224
339
722
801
153
643
172
526
129
229
999
700
129
257
772
744
988
293
172
417
954
929
702
368
209
32
223
106
315
856
680
136
14
22
795
885
416
544
551
754
351
676
2
333
619
317
346
370
896
139
182
535
340
383
595
447
282
477
42
674
959
260
985
630
942
596
915
398
759
605
687
485
226
563
59
459
188
760
952
216
670
260
239
347
932
549
780
723
574
529
27
928
591
145
775
625
281
266
524
306
967
40
488
87
792
103
487
415
240
436
859
598
629
635
30
53
545
592
565
30
71
344
395
382
723
936
371
617
176
664
472
94
266
1
813
699
214
848
32
770
726
460
793
359
431
580
893
128
104
843
916
306
258
482
453
193
989
712
660
616
387
973
325
588
474
355
697
209
340
130
998
460
110
303
966
157
435
489
765
769
417
213
306
199
294
965
347
926
731
921
754
65
276
300
939
31
394
714
826
491
497
738
626
180
570
134
369
13
315
836
375
596
194
838
812
927
440
587
68
563
831
349
903
10
46
295
274
410
460
715
256
882
548
861
722
18
462
408
302
101
925
416
682
605
318
984
467
381
735
474
710
769
794
333
657
519
230
26
463
28
633
544
393
917
194
266
541
342
25
711
166
798
413
851
571
364
365
203
854
483
927
894
971
403
81
228
275
346
433
101
127
332
546
718
212
307
519
735
915
941
337
847
493
971
587
326
793
467
372
734
958
792
641
314
911
279
693
125
386
860
318
37
947
985
900
112
732
172
800
749
632
412
527
182
238
525
524
596
160
230
865
157
263
362
816
714
954
185
1
811
902
202
845
885
476
197
108
236
740
524
553
425
67
796
233
232
311
199
443
228
986
646
121
295
102
843
374
142
145
138
834
990
178
714
765
101
210
293
194
766
764
997
839
696
60
465
306
504
364
603
809
98
778
582
693
371
255
846
149
527
654
901
806
748
424
603
354
671
905
542
934
320
297
826
813
750
51
264
771
591
829
519
705
140
180
228
181
406
796
543
66
735
533
745
905
267
364
860
404
475
141
235
254
489
271
83
524
711
454
894
35
506
202
440
445
342
165
803
250
878
196
524
566
884
715
462
322
791
151
430
464
920
146
2
876
111
780
155
972
578
287
553
343
279
581
368
433
992
480
498
902
620
666
906
282
898
278
626
534
845
524
630
327
802
855
397
214
803
54
479
406
404
59
820
490
794
450
855
286
179
332
681
996
978
759
690
965
318
940
109
640
697
220
822
769
437
235
715
514
741
682
519
876
735
891
797
774
883
715
296
189
536
336
345
19
211
220
363
667
366
821
839
941
74
638
323
541
24
848
72
258
680
87
1000
38
292
902
495
207
662
995
479
516
236
707
811
107
145
79
757
158
247
446
817
775
131
748
585
606
274
669
729
804
243
248
389
199
908
835
470
973
127
151
372
693
246
698
673
312
78
8
158
610
716
998
378
598
666
251
605
629
282
156
667
282
441
673
628
627
710
940
713
134
993
77
168
307
816
298
4
130
930
911
659
523
882
825
703
321
581
992
599
715
642
564
411
740
456
628
112
97
553
103
786
593
781
734
585
480
232
171
801
262
652
779
765
898
269
194
583
885
606
621
919
402
829
512
107
540
668
602
924
693
711
223
212
294
167
440
403
474
809
849
692
642
872
784
255
667
130
297
431
105
256
504
221
894
812
806
848
6
932
40
314
864
802
846
110
687
564
397
259
559
140
173
876
704
804
632
285
368
999
503
543
744
54
882
888
556
932
499
245
313
108
307
431
721
981
43
84
434
969
490
697
130
595
990
335
903
400
158
744
75
507
866
616
850
994
286
694
651
21
213
258
637
839
920
306
592
368
539
360
364
52
311
453
65
62
90
273
486
750
178
860
571
437
880
504
337
256
195
725
330
778
705
266
553
579
17
81
822
738
96
176
686
495
452
5
346
953
402
826
514
742
584
60
774
37
479
236
821
172
948
551
869
385
687
396
672
872
82
492
824
451
139
416
443
584
41
367
917
441
433
6
127
958
694
72
420
577
300
275
701
444
906
638
161
383
887
93
547
878
919
600
385
640
638
501
221
53
525
128
804
965
966
901
72
831
852
286
982
162
179
33
491
608
862
24
453
795
373
954
811
156
874
773
212
645
238
525
111
169
708
752
475
974
995
129
468
51
277
356
853
786
914
633
406
750
704
234
339
496
117
795
573
686
310
917
738
695
638
643
908
77
38
118
455
924
924
538
829
211
157
60
769
647
264
921
192
471
323
450
993
834
814
978
69
153
331
957
171
845
221
708
580
390
141
315
193
526
6
151
333
717
3
402
486
705
206
731
211
105
776
928
665
506
948
989
551
473
754
569
799
161
935
162
967
28
608
686
174
241
34
371
344
940
247
976
710
489
440
395
772
182
698
672
416
676
109
262
437
570
334
161
538
152
421
168
744
313
33
123
282
29
287
431
183
616
85
563
269
160
145
505
717
148
961
348
108
349
562
253
704
407
239
105
736
457
396
2
626
303
295
608
417
346
722
92
145
503
584
995
544
819
981
931
252
326
588
453
645
993
64
766
535
261
768
219
226
778
279
690
831
391
98
11
358
391
413
595
773
282
24
258
144
66
347
77
29
135
912
740
459
411
932
528
214
257
332
497
623
67
73
895
780
140
757
131
878
601
246
858
378
712
500
850
830
810
883
398
482
555
985
878
254
864
357
13
270
139
673
90
882
957
495
56
63
374
230
991
105
402
862
932
808
31
769
385
699
331
228
162
406
842
244
378
989
440
975
522
875
304
338
541
94
449
356
771
642
522
409
380
143
203
846
697
470
614
350
452
602
585
21
462
796
495
421
759
123
680
684
501
488
77
404
261
542
846
189
443
311
208
654
651
928
643
175
811
600
871
872
721
827
768
160
479
923
470
699
967
103
446
710
122
752
242
453
267
1
937
131
160
405
89
578
761
348
89
904
915
782
401
672
297
24
122
304
993
672
651
132
45
99
49
924
106
637
817
789
156
289
433
52
836
753
949
87
568
607
385
113
78
721
401
645
329
380
996
629
150
122
557
297
50
1000
613
413
797
838
87
922
343
70
650
936
599
894
39
660
372
836
846
97
502
263
311
341
868
49
158
833
470
383
316
211
225
646
705
292
490
418
877
280
539
905
444
508
429
527
666
891
712
960
504
810
468
664
724
316
969
826
349
390
111
673
877
491
414
325
200
775
3
707
84
194
483
556
398
118
42
225
37
272
407
811
612
555
539
112
536
727
50
76
98
57
386
658
475
764
736
505
411
492
506
443
454
113
925
533
251
867
34
390
346
231
852
493
382
931
8
497
350
185
499
906
780
624
519
27
351
328
499
829
452
56
592
172
611
82
854
902
588
989
263
461
118
416
561
996
988
20
601
431
130
850
527
600
923
927
661
334
713
66
370
350
867
880
606
891
334
464
982
330
772
480
489
372
801
232
962
59
812
831
425
519
103
780
282
288
770
93
152
73
954
603
798
23
500
243
217
943
86
913
477
393
130
981
261
264
600
628
439
287
940
995
168
879
913
534
195
877
90
55
38
17
118
720
678
442
617
613
246
165
794
602
940
123
385
900
58
435
576
132
628
513
910
705
551
915
25
14
595
227
234
298
825
795
616
13
271
834
277
206
739
281
875
689
640
812
344
803
671
557
982
138
959
413
708
909
28
333
378
569
563
575
445
870
498
733
191
809
376
290
954
811
292
548
514
50
994
65
830
33
845
127
854
441
453
371
17
751
733
416
287
341
35
216
423
633
785
928
134
319
745
262
413
853
630
654
196
243
300
99
866
598
164
178
855
26
761
590
711
266
684
540
599
863
164
428
126
772
663
589
751
56
755
301
827
710
427
858
478
739
715
296
114
297
193
238
362
98
465
461
604
320
232
951
92
910
921
648
836
545
128
614
76
494
324
39
151
286
385
394
25
393
491
3
553
100
860
535
809
376
613
175
450
805
760
778
133
597
957
900
466
291
201
426
839
978
83
440
745
821
558
106
882
164
452
590
420
778
98
459
277
624
522
586
184
78
636
307
580
727
705
469
122
685
197
57
684
888
793
280
245
962
924
354
5
98
730
743
390
786
729
265
336
437
816
328
422
656
410
505
932
387
737
833
908
241
233
478
629
44
15
889
686
82
218
151
41
541
741
21
13
387
607
36
134
280
720
175
211
157
265
783
737
804
375
834
990
69
993
183
787
377
27
141
873
843
998
564
351
618
421
659
398
37
999
887
738
773
609
661
20
495
718
24
243
435
540
109
903
878
741
23
330
829
995
695
4
17
979
357
295
960
707
614
145
13
230
425
729
225
796
941
992
317
572
846
302
322
864
764
112
233
581
291
702
524
392
479
541
554
599
887
755
668
266
873
537
293
563
459
35
424
579
902
440
701
112
131
521
686
46
303
820
55
972
48
92
172
666
434
332
895
853
248
915
547
478
2
963
684
344
954
29
669
536
536
592
96
558
789
669
781
455
802
29
385
492
714
141
734
159
503
985
543
361
672
291
572
667
944
615
206
384
239
866
60
65
546
589
513
764
780
328
987
991
341
850
379
847
896
916
332
275
866
489
880
700
167
8
617
584
80
413
719
601
470
75
31
183
212
736
971
170
386
796
161
187
672
61
569
135
473
120
409
902
433
85
232
972
418
328
424
134
522
194
802
903
333
401
139
565
510
992
185
1000
729
244
239
568
155
917
366
362
929
559
143
78
585
389
191
635
929
426
829
365
669
146
886
332
4
892
96
841
471
722
513
712
547
114
78
260
930
211
815
199
934
861
105
911
157
764
177
574
422
426
238
690
7
493
633
444
358
245
61
139
796
694
143
703
206
775
559
838
342
579
600
1000
179
438
172
749
684
944
260
432
479
671
346
379
162
429
561
953
424
392
170
881
724
322
540
251
978
427
936
443
623
68
298
62
461
703
689
595
885
901
222
177
440
254
112
281
202
300
933
618
95
343
326
822
141
170
139
722
558
252
431
132
815
936
885
136
11
536
876
782
405
972
883
934
548
798
986
809
187
44
878
375
88
279
235
350
948
692
280
19
835
822
87
483
948
720
492
194
79
3
493
887
806
230
657
57
343
484
377
175
974
872
777
734
147
888
690
24
675
233
411
280
911
745
864
458
465
538
407
439
770
314
753
902
800
103
381
454
310
328
383
865
263
203
891
407
506
960
109
373
342
274
521
828
377
576
988
504
902
654
331
568
124
48
475
653
745
252
373
167
771
708
759
377
906
847
237
203
594
227
320
938
579
933
838
374
827
964
549
911
813
287
884
285
447
610
505
469
381
686
755
188
35
147
143
195
452
444
726
161
993
450
599
564
982
706
770
465
631
61
353
420
946
668
359
62
901
956
370
98
819
139
17
543
791
338
531
29
955
144
536
942
648
765
952
947
738
471
95
186
956
168
15
76
669
351
727
156
329
550
191
882
783
692
839
613
752
420
997
288
21
546
743
463
324
272
658
428
478
728
408
108
37
648
313
337
652
771
892
867
343
586
847
171
94
641
153
710
553
512
670
818
110
876
204
785
314
876
47
32
401
101
809
489
696
71
784
432
786
59
194
53
655
451
382
991
415
624
464
901
896
488
958
880
92
430
684
255
395
375
542
770
630
83
848
726
113
620
573
963
368
95
168
893
663
442
670
970
237
989
413
86
945
5
17
384
43
252
237
886
40
804
944
174
834
36
717
52
848
746
530
765
519
819
546
898
278
731
321
498
120
421
603
321
973
783
480
365
303
70
837
2
873
27
966
100
85
433
691
489
109
69
562
10
869
795
511
175
13
581
848
152
180
808
656
393
253
131
427
723
771
483
254
123
378
573
21
764
979
359
821
46
274
533
231
567
479
16
205
941
313
812
74
364
830
368
538
647
210
729
612
195
463
393
187
101
858
731
259
41
994
256
879
172
662
810
598
604
16
964
481
281
140
517
796
338
769
16
124
58
811
651
932
595
309
691
647
511
639
891
850
6
108
921
547
453
550
948
329
447
188
922
908
167
802
28
692
219
220
994
11
561
215
649
156
290
208
191
577
285
534
129
523
732
663
756
858
563
450
283
38
688
410
531
31
715
42
130
487
514
422
735
596
621
665
678
892
933
328
813
744
602
547
57
351
327
479
257
895
466
623
583
886
537
740
600
867
702
364
530
362
762
367
990
380
64
633
674
819
444
657
22
859
27
832
906
787
237
218
770
726
866
854
460
434
433
49
169
667
326
622
570
615
448
790
196
548
144
220
585
153
242
808
508
962
895
899
869
950
780
996
483
602
904
470
18
737
895
452
814
919
220
851
193
569
175
407
103
777
879
798
645
375
729
67
123
53
952
78
696
162
950
253
675
395
112
611
755
695
637
985
207
602
713
349
163
741
84
407
642
308
615
906
909
204
14
699
64
965
240
219
527
734
452
861
210
295
611
752
722
650
914
526
930
689
347
11
524
246
522
188
51
263
859
395
24
818
904
494
310
503
237
657
992
1
3
492
289
746
562
470
923
238
138
979
529
909
633
910
321
460
958
349
242
210
352
827
261
332
128
574
303
818
244
414
542
610
870
232
443
647
865
470
966
481
728
698
827
743
69
135
563
934
159
928
427
984
392
114
794
518
821
443
886
36
23
662
48
54
668
442
783
784
113
849
972
144
218
161
483
684
402
868
442
551
600
890
988
752
413
420
228
780
257
287
486
144
682
430
639
459
405
878
495
534
785
622
723
328
616
901
800
742
139
721
796
938
140
871
602
330
807
303
373
378
828
528
549
113
816
558
791
621
770
50
586
796
706
489
68
320
7
679
788
196
310
318
824
132
938
160
609
752
2
112
281
901
278
626
224
282
895
911
668
291
683
839
886
192
737
859
577
692
413
916
469
603
481
127
56
484
623
945
636
88
783
631
514
991
180
128
298
987
899
832
718
712
87
360
289
504
733
116
441
649
894
363
440
48
19
544
564
823
711
797
471
507
872
976
682
317
673
974
380
440
205
853
507
405
988
78
255
372
738
143
629
627
910
33
683
653
598
225
432
870
275
414
182
599
751
738
214
796
441
43
337
861
730
652
812
204
757
169
553
227
439
91
289
147
927
376
619
329
972
673
468
895
867
608
489
943
735
383
390
71
942
961
976
856
314
260
967
542
667
138
262
496
864
400
403
904
267
704
426
783
978
63
174
630
682
541
391
917
303
894
619
232
893
148
982
46
359
521
444
991
690
682
15
32
333
69
688
124
225
872
591
773
804
334
957
431
978
221
30
776
666
666
966
788
1
124
99
949
716
800
702
43
540
802
497
815
657
177
753
158
414
200
726
610
499
516
600
686
748
236
820
961
598
655
931
897
941
54
569
109
824
938
275
149
968
170
193
891
591
654
497
335
381
653
621
916
739
314
972
480
637
745
817
669
509
770
480
830
594
559
811
478
98
464
113
4
303
743
384
564
531
302
768
54
458
266
559
627
836
943
1
503
110
718
339
673
768
521
317
703
521
760
360
41
564
50
172
84
251
625
396
840
465
60
262
139
870
823
873
249
4
211
883
214
873
424
840
384
284
911
418
448
699
582
49
699
750
220
255
433
936
185
91
118
176
534
679
435
91
782
756
363
869
847
551
249
539
171
34
175
325
587
808
34
502
309
446
401
822
308
104
696
191
418
624
133
687
760
125
655
453
449
321
377
233
93
390
84
550
295
262
942
597
230
588
945
931
382
536
520
972
668
741
408
108
559
432
149
967
227
766
483
997
413
909
537
86
528
206
946
345
398
118
926
566
206
213
899
98
450
657
483
54
127
57
528
828
952
482
400
876
146
730
917
586
212
650
175
871
156
437
976
778
840
320
778
37
454
24
826
952
676
685
656
475
699
653
228
586
158
774
782
369
977
262
874
256
269
275
217
993
739
620
635
789
476
832
876
978
639
21
90
269
286
467
466
330
538
934
927
4
322
80
799
944
188
128
32
825
63
170
941
584
376
109
369
319
648
236
895
592
545
896
961
874
371
507
787
792
150
444
576
637
790
946
750
343
286
263
935
749
561
689
975
515
343
40
520
483
419
355
623
647
718
308
340
131
938
900
570
748
848
463
198
765
969
940
178
502
82
682
335
230
886
714
557
661
168
546
488
989
67
123
25
49
364
414
733
668
214
516
716
685
461
844
671
438
442
144
554
753
215
628
797
570
255
462
41
409
970
224
137
802
825
709
569
665
494
644
475
362
196
436
216
832
294
105
763
769
336
906
228
269
918
978
545
777
147
548
645
425
40
847
463
69
864
889
782
403
321
733
201
568
452
635
522
545
330
770
423
479
930
835
614
771
41
893
557
425
733
293
462
665
673
336
501
284
539
666
78
533
902
998
575
604
176
918
181
945
698
960
313
692
525
47
639
474
323
726
922
757
554
280
716
636
253
973
486
709
876
145
818
263
36
864
255
478
487
103
715
806
370
231
594
974
556
666
430
287
912
171
429
44
444
172
260
912
584
863
266
42
309
653
631
568
409
645
126
874
980
457
751
692
127
669
967
634
955
565
259
265
130
670
423
189
711
762
337
896
475
657
962
336
672
111
980
258
991
573
769
380
530
381
398
346
764
229
951
261
768
368
735
309
504
63
901
585
561
289
581
830
570
512
880
167
438
658
981
310
677
73
182
970
346
341
882
326
547
326
428
525
15
697
246
114
25
492
860
220
777
996
278
60
435
309
672
56
206
521
468
441
189
294
759
737
264
57
419
895
924
675
423
214
811
666
652
373
678
558
895
38
642
938
861
550
888
121
745
135
443
138
312
931
216
888
512
873
310
937
352
156
479
382
141
533
722
630
227
225
207
720
52
538
120
43
674
639
584
924
925
66
471
530
988
700
811
33
542
902
492
756
527
441
145
286
256
646
387
182
852
952
136
948
920
637
280
423
973
62
845
566
366
213
711
924
393
634
39
720
767
159
860
600
922
950
656
550
445
468
377
398
456
937
43
631
985
772
974
930
180
206
747
984
714
56
163
622
911
159
869
273
889
523
800
42
531
637
261
498
173
714
312
339
709
856
76
726
227
260
764
968
389
625
450
665
515
866
155
128
734
67
322
132
627
399
591
581
488
346
678
711
731
188
222
793
965
134
727
162
968
901
96
553
124
804
783
367
877
618
328
515
427
590
865
880
181
949
207
327
453
205
304
366
524
330
166
274
454
642
851
496
971
839
732
619
337
168
74
83
382
164
873
49
746
726
57
522
964
573
364
930
238
256
671
824
601
8
93
271
726
649
934
813
787
662
421
583
668
349
236
255
246
649
24
63
704
814
445
12
568
638
828
774
687
347
156
476
449
564
957
740
337
21
619
880
359
766
831
150
950
697
102
243
733
184
797
78
891
359
710
32
994
467
960
402
809
269
939
829
21
105
82
857
802
672
474
553
864
953
720
376
962
42
999
37
811
761
977
171
40
109
59
22
122
561
524
208
155
144
210
850
30
50
773
10
777
262
9
424
815
297
368
974
433
707
593
228
67
422
359
606
845
376
876
455
436
88
735
366
446
63
626
554
478
922
187
52
508
151
953
729
410
241
251
877
300
770
963
217
868
684
235
695
25
617
613
368
997
609
563
19
460
970
22
847
448
393
440
790
520
598
769
500
128
961
970
46
209
579
937
688
771
197
137
929
648
254
937
139
666
64
283
709
153
807
367
619
137
577
975
739
563
208
427
969
583
968
425
527
275
513
676
319
183
674
825
347
692
752
127
516
580
1000
275
68
46
893
971
78
141
575
176
117
800
636
424
220
616
965
242
766
82
995
505
749
276
54
522
157
866
942
717
895
874
54
81
745
852
570
945
348
996
269
231
91
252
535
57
91
647
957
452
166
940
754
999
795
144
921
409
608
676
600
393
847
654
685
704
596
354
83
910
305
959
364
249
274
489
758
937
333
275
600
416
894
390
338
312
916
216
175
364
115
743
268
138
900
222
152
158
117
540
725
951
670
45
683
619
473
574
806
768
8
124
818
4
945
959
880
765
930
918
950
944
628
370
332
628
563
548
752
272
127
976
218
829
349
317
713
632
688
255
531
359
142
942
648
16
448
163
103
671
980
581
783
634
254
360
346
876
608
997
295
742
707
443
356
437
27
419
397
338
353
405
84
902
632
950
355
868
227
765
591
430
748
606
33
331
134
81
608
131
596
298
838
429
377
812
890
508
1
359
177
663
841
720
114
488
398
444
786
509
612
277
298
848
925
874
549
82
557
787
983
19
654
771
667
917
539
175
666
572
280
554
288
774
205
654
222
879
786
637
973
604
497
717
309
733
920
404
591
78
338
184
982
943
509
799
528
311
157
227
13
169
919
106
307
695
178
616
659
527
219
762
996
961
648
613
856
719
834
268
997
888
439
246
82
723
760
553
107
287
691
892
380
300
616
347
940
164
417
412
275
846
104
421
82
201
265
258
578
352
668
752
603
952
841
283
308
497
409
964
765
397
283
207
226
141
545
618
68
757
6
939
723
735
984
181
968
695
793
213
37
426
796
763
911
319
664
261
51
865
640
949
516
621
193
449
154
996
454
311
45
245
196
120
903
342
941
426
504
732
976
66
475
560
673
496
10
638
542
364
149
281
847
882
259
166
481
516
303
509
2
148
236
211
408
107
670
90
250
451
510
949
173
433
835
35
810
340
743
391
242
818
208
704
910
317
262
520
941
557
981
120
351
726
816
913
476
714
778
945
280
815
881
9
913
215
14
878
980
43
125
393
540
951
180
488
727
967
888
751
290
850
556
773
6
297
809
401
145
116
82
940
651
939
948
528
706
102
386
191
694
120
15
519
339
519
188
534
990
922
583
63
597
937
594
876
908
805
389
880
821
788
990
938
633
950
79
246
103
329
555
737
906
516
33
704
44
265
599
677
214
125
105
595
973
996
243
506
770
173
414
321
564
698
160
662
806
786
539
463
7
679
374
772
988
516
730
175
182
741
350
340
14
94
2
474
501
479
876
869
675
840
231
329
337
748
454
957
954
543
596
707
228
740
205
130
942
909
4
944
277
375
526
425
636
900
349
112
422
986
975
7
910
546
710
258
502
472
134
317
228
69
874
667
297
407
434
550
866
395
774
546
968
788
181
459
732
383
724
767
572
397
267
756
62
366
545
571
570
970
315
651
541
819
965
366
524
640
231
269
667
248
895
27
385
361
416
989
393
636
445
337
62
253
119
957
353
2
794
459
195
106
666
306
227
948
282
590
309
469
563
844
33
229
328
187
768
52
703
229
422
717
47
414
217
385
166
908
239
314
677
702
421
951
356
338
941
666
166
564
696
245
460
243
645
744
558
65
341
465
461
955
865
632
16
586
758
791
207
79
242
106
613
783
182
471
260
29
816
830
242
878
190
149
523
175
642
256
265
681
432
166
881
650
790
554
768
990
238
773
339
65
46
166
522
256
46
473
403
662
863
797
27
664
814
943
690
673
339
947
244
25
849
250
1000
900
313
299
884
111
725
308
343
793
840
549
363
356
214
796
666
537
623
521
784
25
415
981
248
927
192
630
567
293
498
161
27
40
880
45
588
837
737
685
327
987
901
114
931
865
765
754
731
246
75
901
632
708
229
455
94
367
13
908
13
383
257
755
921
48
791
313
481
758
427
382
607
869
442
311
900
228
156
827
287
191
788
382
898
34
686
910
251
998
437
585
724
627
98
623
209
691
981
185
519
718
20
194
851
119
699
215
117
914
967
605
472
354
320
803
729
72
472
991
626
979
638
330
137
784
457
652
69
921
48
777
250
620
492
617
462
86
276
815
145
32
898
979
583
318
876
491
941
69
840
450
28
460
294
585
142
281
860
848
652
522
531
969
290
472
510
477
219
241
728
547
59
196
18
586
18
540
212
617
132
124
166
403
428
663
802
728
508
696
793
401
656
2
437
372
58
696
611
804
160
889
411
84
488
637
259
499
482
867
783
790
38
114
760
833
469
214
747
483
549
504
822
1
151
741
22
553
754
671
644
972
728
125
567
366
911
570
165
167
431
310
152
906
134
876
927
345
235
729
612
582
43
63
968
408
659
386
818
514
595
545
447
71
150
43
665
895
199
806
891
614
781
64
639
249
496
629
274
173
259
646
753
676
403
853
330
268
473
496
911
406
292
278
787
538
78
194
996
262
408
616
445
876
848
776
227
836
904
649
273
430
785
304
603
495
93
968
952
181
235
439
470
513
786
947
542
42
480
292
508
938
829
849
190
694
555
70
715
19
203
204
67
617
285
282
150
262
298
851
951
16
763
534
522
467
223
299
136
606
772
175
903
313
272
292
588
460
883
313
120
332
903
720
531
379
220
980
643
351
845
285
884
483
122
453
989
727
193
552
223
994
210
11
971
973
621
286
198
406
566
638
333
589
41
218
583
505
48
449
564
199
367
636
374
946
954
859
954
302
207
445
623
336
524
758
187
245
617
590
925
45
43
213
17
235
284
982
742
188
495
477
839
468
730
336
980
494
47
305
202
720
426
543
505
11
811
868
549
981
912
496
512
867
661
765
766
942
286
494
936
524
62
924
310
455
692
626
320
253
167
382
987
260
651
784
825
777
666
249
668
588
356
192
294
282
122
346
507
458
298
603
566
274
787
298
445
754
832
546
442
961
129
109
69
417
545
286
5
145
576
473
112
325
543
378
190
807
187
355
151
709
18
956
811
863
262
596
306
169
709
170
447
779
124
584
988
630
119
397
870
18
554
232
992
828
607
128
949
514
619
810
498
143
704
676
191
639
893
382
766
869
290
102
361
361
293
874
592
257
466
994
837
565
26
44
807
906
262
5
654
719
392
867
389
331
526
284
375
373
414
122
973
806
613
207
255
172
551
168
818
796
736
38
342
351
973
216
535
568
101
427
461
926
136
593
114
815
175
881
239
21
648
765
66
373
707
608
622
52
667
163
717
358
371
375
530
719
314
51
968
317
134
280
601
18
835
980
57
208
716
571
179
721
519
579
142
314
765
919
994
38
584
717
736
394
590
787
187
419
546
303
310
680
586
782
626
702
786
224
608
542
699
139
668
54
318
231
473
888
557
739
816
428
996
743
244
664
113
294
926
489
631
885
16
1
942
595
906
198
788
241
309
863
514
978
67
545
216
123
966
279
101
390
569
102
174
352
311
467
148
707
621
380
136
832
879
467
235
197
376
183
602
436
263
87
993
267
684
421
19
974
885
254
586
903
140
83
41
250
733
107
620
427
89
344
616
504
374
406
597
485
531
986
645
728
785
91
273
394
83
613
193
649
817
80
534
262
447
363
497
383
319
623
653
501
32
58
257
45
249
813
50
649
677
23
942
815
304
68
901
637
644
13
115
248
881
681
224
890
308
960
993
835
408
760
302
918
212
503
759
95
365
143
547
282
426
499
328
701
518
120
185
88
374
978
592
437
201
50
361
390
565
247
359
971
658
192
534
167
894
100
477
740
787
343
270
745
443
343
894
461
798
112
807
830
963
84
624
30
618
911
991
533
454
509
874
830
65
996
460
33
522
84
807
728
124
140
174
778
442
403
692
264
839
765
677
366
98
134
414
822
658
628
674
499
231
768
598
779
250
378
814
655
664
136
825
922
122
578
778
371
437
889
682
642
566
10
39
293
20
407
631
671
746
369
899
364
40
845
942
398
979
643
688
821
187
264
173
13
502
801
211
874
233
65
933
14
283
585
826
231
332
171
925
836
672
515
758
841
36
681
497
634
947
420
512
524
697
931
198
470
53
92
506
359
180
189
75
451
83
880
272
996
63
431
687
554
309
322
861
268
760
903
104
190
806
138
284
764
222
436
340
757
971
158
141
240
163
711
994
703
495
40
762
33
975
936
65
876
576
834
505
849
757
640
185
177
440
746
54
597
146
543
768
784
453
667
839
133
856
709
790
463
391
312
942
86
120
436
221
750
655
38
97
142
451
593
315
5
496
688
652
440
395
362
268
619
534
33
605
972
213
585
970
893
138
645
73
131
656
183
851
353
458
282
817
796
264
352
48
527
162
128
675
618
870
478
383
444
179
452
26
372
219
6
901
390
1
535
642
546
899
691
941
676
339
934
541
547
993
960
990
440
194
422
711
173
133
332
799
765
626
190
810
246
885
98
513
611
797
129
213
546
640
734
785
353
66
290
10
449
427
736
128
927
195
842
827
908
341
850
982
868
974
115
584
664
498
889
244
738
800
568
537
850
699
608
245
748
31
740
246
371
221
337
404
554
146
549
298
694
430
321
66
527
25
491
934
973
114
995
244
5
889
590
908
618
736
632
261
287
718
177
224
727
20
78
538
411
180
820
588
20
550
531
993
966
375
3
702
160
306
571
822
463
957
376
767
619
312
902
622
40
421
655
790
477
827
500
105
516
612
516
580
795
751
140
897
60
755
55
531
462
165
500
152
3
562
650
562
664
198
300
969
555
205
305
829
356
631
187
861
452
217
810
62
398
914
313
745
799
622
296
653
235
542
831
214
626
831
28
852
278
935
744
65
940
126
496
685
368
270
830
316
268
761
159
454
984
940
599
221
993
996
414
939
68
549
479
5
965
611
615
664
630
640
695
302
196
697
241
829
526
564
550
560
623
776
529
791
31
180
63
870
231
559
165
192
142
302
163
979
53
876
853
99
710
70
915
470
804
599
863
778
836
678
463
341
179
589
866
956
145
124
660
477
90
986
665
688
852
922
597
755
345
377
624
191
753
931
466
765
549
652
904
268
545
749
493
386
251
602
823
159
111
333
875
713
591
545
925
971
665
781
937
63
988
546
595
10
917
435
970
50
614
29
288
664
622
756
449
976
698
818
729
670
191
623
592
17
907
930
634
900
239
996
469
945
341
653
815
21
211
112
109
375
905
720
731
639
501
645
332
777
73
620
818
798
685
502
233
736
322
357
197
938
782
181
554
205
747
204
570
687
670
868
386
733
636
252
399
86
70
696
910
909
15
802
699
128
722
853
130
513
441
903
23
702
671
442
820
112
554
597
474
330
784
295
125
75
165
651
826
290
910
150
531
273
896
843
81
995
319
867
161
925
645
98
58
750
314
620
603
345
382
26
824
236
172
233
725
574
72
658
68
345
786
77
192
128
716
438
747
221
679
231
627
366
797
762
574
629
265
797
641
198
647
631
193
8
509
574
172
135
497
198
120
826
381
503
858
916
249
276
775
96
746
562
384
194
208
102
202
171
588
33
15
27
329
907
285
178
707
327
785
160
720
93
572
705
292
776
26
333
437
69
16
606
4
88
218
108
836
48
220
31
470
372
344
952
995
352
27
58
336
926
227
559
993
28
526
521
265
193
545
659
39
827
814
917
528
586
481
796
749
843
92
486
87
82
223
808
69
371
924
851
303
788
758
15
627
768
750
800
685
870
681
333
522
390
981
106
292
566
968
812
832
891
247
478
719
157
920
340
350
433
651
4
782
123
738
493
322
623
96
721
315
865
437
773
211
206
20
145
711
705
44
724
746
838
121
905
111
61
314
662
784
472
908
819
385
996
387
8
749
165
156
38
288
548
119
459
680
356
600
126
451
532
31
495
134
921
441
168
91
727
93
949
486
538
514
301
592
634
784
630
388
191
177
249
342
226
154
250
402
838
279
748
477
362
831
123
79
553
764
965
432
802
189
390
10
704
757
275
429
986
124
756
605
943
218
12
312
12
156
967
641
88
477
48
355
481
810
527
815
169
256
333
965
148
478
391
866
218
996
736
392
534
225
616
989
570
565
815
869
949
246
212
597
765
698
379
806
580
926
689
682
313
737
942
947
582
717
22
297
905
503
454
624
350
281
36
933
846
391
899
509
384
616
447
808
776
10
646
505
441
109
36
334
980
961
643
674
883
737
717
292
824
567
836
345
408
866
456
468
133
665
421
791
585
348
317
786
555
762
784
131
870
891
83
200
206
153
255
341
30
890
225
864
167
841
29
523
143
191
186
346
604
318
875
829
617
484
226
920
590
558
491
677
883
288
315
189
910
798
616
164
702
735
812
563
413
939
277
808
259
607
923
373
698
646
764
29
462
338
163
619
205
485
207
992
137
926
330
648
987
675
871
737
29
984
709
254
735
289
528
703
791
362
512
990
846
981
514
77
394
68
777
706
584
585
350
589
622
424
225
573
642
143
21
649
583
694
813
131
650
225
287
991
412
604
960
111
430
595
647
184
597
490
699
65
52
575
795
693
586
24
232
64
988
678
713
353
628
710
636
992
922
343
730
416
997
635
697
201
2
863
197
568
40
150
122
537
601
827
604
547
729
466
607
33
884
657
286
269
620
356
506
758
718
94
53
607
425
420
90
609
749
676
381
198
599
636
625
64
673
584
9
959
629
126
769
166
24
399
65
162
946
375
20
241
10
635
82
253
647
338
205
155
210
99
519
783
427
147
244
87
183
440
644
108
432
388
684
124
281
445
904
744
931
129
738
170
225
927
128
534
989
187
820
961
238
285
197
9
577
315
803
189
799
63
25
592
788
279
507
9
296
99
980
546
77
33
140
456
154
86
95
793
715
442
688
534
222
634
693
28
876
264
486
990
472
164
282
734
28
347
467
65
319
211
838
29
563
253
820
717
104
977
836
469
838
758
48
96
547
207
643
202
45
935
662
295
213
725
142
128
607
791
6
642
300
215
684
951
996
646
942
44
297
66
758
265
173
722
391
173
313
381
960
87
71
650
962
490
121
471
157
448
783
842
165
398
230
414
930
976
399
952
935
26
528
518
680
584
655
865
469
423
300
770
2
673
830
928
603
183
662
595
189
492
554
389
223
762
732
517
985
545
467
238
446
16
67
546
939
199
892
908
560
722
183
375
992
879
958
556
963
104
197
729
140
490
843
866
587
640
900
426
303
984
60
589
542
658
810
8
746
184
978
275
981
495
1000
5
687
282
975
903
408
249
761
169
933
654
929
373
923
373
395
268
675
874
951
51
155
649
687
259
794
86
552
842
849
301
866
931
297
116
655
491
362
276
90
351
743
976
136
65
551
944
778
687
772
660
820
823
786
766
312
244
113
359
107
946
94
664
939
800
655
505
650
808
641
147
901
571
479
286
767
773
78
439
106
375
942
519
506
701
456
134
884
852
175
33
548
637
723
156
635
798
632
957
358
379
20
30
418
959
519
550
284
893
289
752
774
861
248
471
502
769
903
748
348
512
254
646
6
184
331
732
99
56
810
99
53
81
62
440
153
705
685
420
750
507
281
543
600
547
770
749
701
339
32
242
790
45
30
419
893
831
865
312
911
317
400
668
247
711
193
633
931
532
478
42
505
769
854
450
174
993
142
404
393
148
621
908
95
755
447
682
215
799
638
615
62
843
410
750
320
807
26
258
174
417
560
101
108
533
146
542
439
453
351
180
515
797
264
971
851
786
817
551
130
544
587
237
164
578
64
271
389
708
938
244
421
569
483
127
519
233
525
30
541
664
776
619
145
447
575
106
498
716
178
858
755
260
791
992
916
558
472
735
430
878
893
954
116
648
674
44
530
12
721
223
914
878
487
432
249
757
638
209
734
407
902
322
231
634
229
490
823
574
549
210
651
471
519
575
627
242
664
976
455
102
216
739
624
151
786
109
682
78
707
420
171
105
549
981
30
852
799
969
160
80
182
573
112
147
433
764
531
589
567
293
64
456
885
961
957
877
999
784
429
897
155
388
233
783
975
866
512
853
571
381
185
358
650
996
601
141
815
546
139
553
819
917
761
626
878
742
262
577
527
352
108
526
675
799
312
749
685
926
738
834
312
726
609
927
294
687
750
580
235
457
276
842
150
873
29
892
763
372
42
932
132
829
713
51
731
139
172
484
446
212
529
5
236
630
312
202
437
876
414
53
724
940
308
490
824
89
105
645
909
774
293
72
485
970
613
514
258
720
601
751
137
294
775
593
28
182
305
410
546
57
289
422
107
994
421
572
114
450
919
14
128
973
95
109
959
132
798
367
609
948
316
934
859
945
994
98
98
16
949
748
662
477
784
895
570
62
149
183
38
99
281
746
560
796
456
928
676
386
376
154
761
845
113
645
291
66
143
800
98
645
418
793
58
875
144
342
490
185
153
663
336
986
310
338
809
836
398
216
794
886
324
461
761
816
274
566
295
860
676
507
685
42
419
168
165
471
822
862
509
392
249
63
707
676
122
415
336
655
302
756
58
478
477
104
426
676
218
553
774
263
854
568
533
473
154
446
741
206
102
600
859
346
686
877
286
394
763
362
93
245
497
956
590
567
784
573
296
912
407
980
777
616
306
123
593
583
539
320
283
228
968
813
936
243
674
11
375
331
398
200
411
735
98
640
935
234
798
726
833
212
494
341
859
598
836
608
610
725
664
4
705
636
232
193
129
953
163
9
430
194
737
721
139
350
105
83
352
594
428
726
869
230
732
97
682
396
487
514
882
548
518
903
250
469
898
427
891
418
871
524
285
10
727
862
28
619
733
295
361
414
931
241
309
606
625
775
874
136
844
385
276
823
947
519
663
940
790
19
66
299
565
45
640
174
486
341
375
829
12
562
537
978
167
878
80
243
832
317
137
560
599
79
490
533
871
615
609
930
423
358
465
866
582
865
789
753
483
533
905
740
624
225
551
200
86
884
333
820
317
677
603
949
360
272
561
203
755
622
339
726
124
31
688
150
616
312
600
39
975
600
913
537
992
722
467
988
484
82
890
566
758
674
438
304
706
208
635
482
318
306
615
11
405
395
205
334
741
219
752
348
694
872
646
41
623
873
284
857
995
65
945
280
196
84
700
770
502
710
975
976
504
674
873
101
583
391
675
402
691
644
210
74
779
478
949
167
702
415
730
797
338
640
17
603
939
993
445
315
457
431
224
335
695
139
645
436
656
615
525
31
388
852
961
988
959
222
143
630
925
786
309
385
818
519
147
536
718
398
85
653
932
361
921
580
177
926
227
320
420
630
772
739
720
530
993
795
993
718
172
905
597
167
589
147
68
261
351
212
85
48
994
426
1
581
259
692
858
740
598
908
847
539
105
278
571
266
528
928
347
765
983
435
970
763
753
178
52
466
316
916
74
549
362
626
760
268
100
439
231
673
591
448
700
799
199
284
96
273
501
608
136
981
170
87
832
341
387
1000
304
216
354
355
96
712
303
275
886
949
239
465
592
363
309
766
414
291
303
167
252
357
297
140
303
679
856
862
352
17
528
680
434
767
603
181
99
149
215
350
449
7
915
619
504
410
793
12
208
633
53
260
578
148
725
466
59
2
835
853
167
290
954
195
869
494
472
757
967
122
378
960
969
436
573
538
513
36
947
641
465
751
559
215
217
567
254
969
561
295
959
451
726
329
733
42
851
79
345
183
175
645
820
773
726
845
879
482
117
992
699
660
350
698
719
645
202
556
494
522
851
745
773
805
878
510
12
106
686
958
533
562
692
829
416
693
321
715
980
416
978
725
428
111
684
716
802
24
978
45
927
792
42
252
405
530
713
203
65
774
241
12
470
522
137
481
250
787
484
899
21
345
389
785
625
815
65
556
270
828
185
181
888
789
745
563
704
665
656
804
583
298
688
506
164
988
176
955
217
460
133
383
901
892
989
487
819
358
240
48
855
933
683
799
797
671
764
652
627
877
805
25
222
408
504
285
899
200
183
248
882
885
688
287
293
135
733
825
740
333
729
915
882
263
831
147
641
793
23
349
874
926
522
430
393
180
719
218
187
986
136
352
585
676
623
120
900
692
101
628
742
827
692
841
844
679
18
857
703
11
752
221
783
368
275
219
311
148
407
884
960
279
776
847
800
816
285
288
974
47
570
975
472
160
59
789
230
131
437
173
547
232
924
698
458
514
726
264
283
666
443
522
31
893
8
756
738
838
943
844
73
140
326
856
785
877
894
567
599
49
117
419
247
216
937
459
166
639
78
399
255
529
489
215
787
537
554
639
205
243
107
497
79
195
232
80
917
985
23
650
904
990
199
729
869
629
550
58
968
441
657
952
608
829
251
342
139
90
856
944
710
187
81
866
455
808
42
441
902
443
903
240
67
536
467
15
202
345
67
802
609
743
761
532
196
75
968
262
729
122
232
605
819
398
778
982
763
276
869
124
243
900
745
590
807
435
121
194
741
993
771
888
657
461
747
67
648
556
166
262
371
660
276
890
763
360
774
49
423
179
897
369
826
686
886
568
712
1000
813
661
917
768
610
775
889
802
371
87
905
953
648
745
758
213
514
501
294
736
622
440
728
219
353
384
96
51
410
474
567
753
918
12
579
471
132
818
929
729
381
266
16
206
747
675
409
39
304
921
790
47
409
962
106
296
716
500
469
655
22
109
926
321
67
16
724
822
666
147
136
665
355
199
184
627
822
271
872
670
992
14
614
597
567
352
631
846
188
588
8
303
170
94
941
580
923
845
482
5
761
798
741
454
797
446
59
265
2
945
171
678
317
873
718
650
931
38
788
422
407
720
334
939
414
431
433
54
210
538
344
471
867
92
236
566
472
817
278
520
184
497
506
698
60
920
503
857
51
140
486
526
414
75
802
885
53
330
222
556
994
734
645
990
272
262
12
558
1000
903
267
5
285
559
207
696
949
251
922
934
749
728
319
696
869
104
916
328
992
265
696
87
204
639
294
955
285
340
243
779
697
867
276
665
731
282
931
494
813
238
836
586
931
325
77
833
515
942
1000
58
867
303
642
981
420
253
757
929
673
279
29
329
663
481
680
136
211
286
113
536
986
377
623
688
643
661
514
790
895
66
113
462
418
662
320
299
894
842
289
452
342
337
779
271
126
406
519
365
669
844
667
912
959
387
36
707
386
680
356
201
320
210
224
761
108
534
785
475
829
663
415
89
273
709
851
82
32
736
294
467
556
332
934
624
282
556
302
380
669
794
565
564
82
521
627
496
996
149
466
212
913
938
657
734
710
401
442
366
885
777
8
846
322
916
886
113
722
344
488
645
826
389
855
578
918
974
611
273
862
95
987
629
91
74
524
159
587
364
720
810
838
88
465
556
167
496
571
22
659
225
99
812
67
577
448
721
733
33
376
749
575
886
247
652
594
142
736
819
222
874
217
394
34
765
808
917
36
902
818
225
749
796
942
992
796
202
91
87
557
562
210
869
717
773
743
664
223
595
710
902
242
160
462
844
198
978
317
375
867
329
186
88
816
113
226
776
165
99
322
467
767
982
897
363
456
821
144
400
871
247
286
633
777
284
874
349
475
757
454
621
86
37
161
997
16
301
921
158
885
592
973
680
552
689
395
475
666
219
118
89
303
494
718
819
885
273
895
508
524
26
150
956
359
286
611
126
234
395
365
714
286
254
943
163
625
711
750
961
301
850
406
853
187
785
893
661
245
498
381
548
857
894
359
898
583
536
481
457
737
442
123
27
628
910
205
794
193
618
268
323
14
108
147
352
369
352
825
796
87
301
238
775
429
184
844
56
138
885
750
51
83
850
85
368
657
891
68
985
172
687
931
300
34
967
457
677
401
179
376
606
376
878
309
285
482
228
222
236
379
759
624
568
266
984
833
617
417
542
695
7
651
309
68
609
283
295
247
501
325
224
244
767
250
411
513
922
632
895
262
809
390
861
990
37
127
16
239
443
311
972
859
577
609
655
272
931
752
425
304
467
694
899
192
48
702
440
233
487
213
882
427
327
974
359
118
880
4
27
326
731
405
65
961
693
882
583
571
151
121
970
617
840
855
788
529
367
515
503
954
191
866
248
665
383
904
327
605
179
634
349
374
259
995
729
291
711
376
798
848
849
630
891
945
399
474
623
844
92
448
7
147
370
379
201
457
728
420
443
583
195
308
168
273
620
411
405
538
683
535
270
505
40
204
816
651
583
318
507
984
590
667
364
412
439
781
135
110
635
976
925
161
144
276
374
136
406
78
819
558
939
57
888
388
159
824
603
770
887
282
388
287
32
435
367
862
99
679
913
298
513
233
728
134
214
397
653
149
631
828
989
382
917
858
375
950
302
148
163
339
509
666
782
65
444
40
822
763
799
854
406
860
770
314
984
924
835
42
845
681
407
454
480
481
251
290
447
675
720
384
523
971
243
703
749
333
6
986
428
419
439
95
279
842
930
294
696
789
200
253
535
638
871
528
907
277
101
604
225
745
551
411
146
677
624
339
111
791
608
424
906
312
333
295
26
791
996
948
678
266
38
140
904
73
366
452
691
909
734
671
898
958
814
152
498
947
328
264
934
58
648
836
378
489
414
790
258
298
61
754
750
876
630
536
828
38
859
772
63
243
363
939
631
897
646
198
862
69
812
182
243
148
87
973
998
200
691
950
234
794
178
132
180
71
84
903
228
696
629
737
322
133
224
660
728
353
792
676
412
710
213
348
3
208
749
34
835
785
962
20
654
594
470
947
372
437
854
482
667
672
183
109
335
939
911
345
42
986
345
373
523
738
493
342
336
494
871
108
994
812
766
210
692
187
497
253
818
141
506
697
197
661
440
222
295
285
963
488
638
252
735
109
345
295
832
97
999
606
910
852
8
464
595
37
281
787
869
291
278
635
749
812
461
287
155
291
728
73
689
528
702
568
968
359
616
128
278
179
109
968
589
428
457
179
350
916
649
118
108
736
234
602
692
829
40
208
596
972
740
748
259
64
703
731
112
123
730
159
639
316
111
558
201
689
853
535
49
999
110
466
767
194
574
162
377
643
51
469
471
171
533
806
31
324
805
587
43
50
56
314
629
174
6
894
163
611
771
390
789
267
94
969
791
950
539
313
541
447
998
114
104
107
149
562
138
879
527
952
430
809
505
594
265
385
823
259
815
980
227
266
946
872
436
161
130
963
912
642
642
386
866
40
864
616
483
159
318
607
654
777
974
711
345
405
511
828
344
188
471
323
306
993
642
724
911
767
610
116
466
268
123
455
476
102
838
714
533
831
1
913
399
572
897
584
272
129
174
158
76
197
724
99
45
589
447
337
22
747
37
710
649
42
942
658
78
471
760
407
908
417
637
192
814
70
686
891
726
952
50
579
476
766
996
125
563
405
338
917
36
589
570
212
532
4
332
410
202
242
191
750
579
125
283
545
451
149
75
103
456
939
319
876
423
565
339
268
439
507
908
702
268
853
332
255
1000
73
831
188
759
287
938
153
890
540
434
745
271
1
289
322
341
356
190
696
942
945
488
376
340
316
826
553
617
966
273
880
191
8
544
436
384
364
738
947
806
892
106
453
810
548
534
156
455
249
798
70
181
661
162
463
908
498
539
798
355
265
286
36
194
600
670
720
40
470
181
188
423
565
171
684
585
116
732
833
385
269
348
196
629
858
617
144
882
96
238
318
163
291
573
329
988
125
270
126
862
455
888
721
720
861
937
523
760
347
514
583
801
744
511
466
595
299
444
318
481
925
59
894
413
334
253
14
634
45
287
921
261
870
936
486
567
13
984
91
51
377
457
250
267
6
71
744
926
850
627
106
38
202
544
790
707
224
233
247
720
958
818
448
268
77
539
79
974
447
244
759
894
244
576
174
316
968
816
895
986
210
841
33
871
440
349
600
666
381
319
578
50
797
633
288
134
606
970
561
603
296
336
616
851
568
60
305
760
947
690
561
877
893
1
463
422
581
204
337
959
101
582
702
590
282
945
656
180
761
740
519
518
162
150
182
272
462
262
580
265
739
184
195
914
456
69
281
629
390
115
772
597
106
968
453
657
617
434
56
895
477
24
376
193
126
678
380
210
703
941
542
161
946
982
331
345
986
105
835
562
83
829
30
463
336
169
52
364
444
513
188
282
424
339
946
762
15
95
743
576
155
748
215
516
549
857
120
329
828
565
113
301
225
537
422
101
992
731
605
309
40
853
97
460
366
470
249
532
914
99
887
557
431
967
223
447
735
819
105
159
567
856
179
64
859
835
546
751
832
423
849
523
772
148
580
514
767
647
568
728
925
486
223
269
818
503
165
694
973
505
247
733
258
137
863
588
902
930
620
639
712
846
148
657
790
142
836
587
646
971
759
507
184
988
926
677
441
122
234
431
334
829
209
278
912
370
687
761
774
99
76
505
384
304
745
428
983
894
370
234
686
91
811
206
121
355
147
747
687
942
93
338
74
877
879
328
223
624
57
497
293
399
402
398
535
913
251
307
177
301
149
22
588
132
653
852
975
688
481
868
870
169
992
916
452
52
151
942
549
623
694
873
808
619
230
706
85
966
400
466
586
870
2
373
677
869
219
914
553
19
682
500
152
87
146
57
811
466
954
182
149
551
318
502
590
495
677
446
730
550
41
970
510
734
275
667
763
157
751
307
248
150
631
98
710
301
351
856
897
592
527
832
659
104
586
165
467
163
941
796
735
406
387
216
288
927
734
588
243
607
363
650
296
731
548
264
158
220
861
686
442
156
950
378
824
787
272
694
713
871
133
886
977
49
513
627
498
902
718
726
456
510
851
768
292
594
463
162
212
801
508
508
982
281
923
224
483
472
706
99
186
933
377
831
244
125
100
596
404
303
544
423
297
18
749
450
954
339
925
179
613
537
72
444
935
885
793
172
797
197
455
946
714
939
143
17
772
34
436
678
662
983
157
869
64
566
641
451
132
161
975
836
293
697
908
590
928
327
829
143
731
216
260
992
736
215
842
639
42
785
658
28
261
279
36
459
572
553
720
746
72
942
355
947
796
812
814
87
370
299
758
151
788
304
218
61
185
526
669
485
828
116
255
101
735
527
348
383
506
268
597
41
932
573
982
35
944
417
154
437
277
975
538
527
986
306
220
175
631
40
686
974
482
859
810
588
603
837
348
478
28
64
364
520
539
546
654
986
760
43
232
68
347
406
384
390
93
941
633
934
663
530
172
443
488
550
2
610
75
111
35
330
631
788
897
855
405
783
24
968
633
449
910
157
289
163
55
374
108
852
237
144
533
837
208
677
247
295
847
163
999
315
54
615
252
454
422
460
991
721
811
586
741
117
484
690
392
236
373
601
992
908
404
702
38
576
518
704
128
888
201
807
65
998
852
704
620
175
322
994
217
640
270
297
715
991
805
788
356
177
6
905
647
759
539
721
660
92
564
826
757
168
503
611
249
64
77
511
871
336
194
118
225
255
902
67
563
462
651
265
363
496
497
301
153
631
764
909
956
672
881
903
564
641
774
343
522
792
234
589
397
21
163
498
392
539
427
289
835
614
348
453
406
307
540
717
242
385
847
206
191
1000
673
896
575
337
862
914
790
104
588
478
956
690
441
64
596
813
991
935
44
705
642
266
859
224
509
958
38
813
392
655
230
867
651
646
457
930
944
71
104
90
317
308
30
107
132
508
723
77
642
975
335
913
824
518
307
505
237
939
32
195
271
538
673
127
125
915
813
100
267
335
102
777
917
645
427
516
297
45
433
592
37
34
403
324
98
490
620
449
44
152
314
96
310
754
242
907
342
671
722
146
149
202
715
147
850
589
142
68
261
415
173
714
414
306
663
168
206
748
276
40
15
391
59
421
223
448
424
62
82
621
538
852
223
574
114
411
456
123
461
496
172
140
437
976
803
712
667
312
300
208
939
844
528
730
253
714
796
893
351
887
494
2
930
602
938
464
912
525
98
714
316
44
813
24
283
424
496
311
775
996
61
459
284
154
34
739
677
712
322
616
945
73
190
614
179
742
305
925
613
967
570
157
895
644
659
915
92
196
759
965
74
825
76
324
68
384
83
963
141
148
286
783
300
914
584
107
719
196
889
256
311
752
749
677
497
339
188
703
581
357
801
247
544
8
456
681
462
718
605
647
958
798
299
826
322
768
484
517
934
328
63
432
645
704
498
280
637
966
440
580
68
981
989
603
482
844
708
530
620
1
435
703
684
787
282
322
620
759
931
54
198
59
503
805
992
977
821
344
406
76
827
543
983
488
312
763
167
467
860
310
508
890
95
941
95
138
903
126
635
744
291
133
173
230
932
43
926
827
263
476
71
116
192
148
631
220
99
403
778
830
832
466
978
244
819
537
418
579
259
746
38
513
598
665
351
217
120
323
908
629
567
604
939
852
119
516
205
280
984
52
567
946
58
266
93
771
833
760
813
585
810
979
360
251
140
594
848
794
132
772
247
150
575
330
458
50
493
587
47
612
122
261
276
378
355
870
703
928
883
944
106
690
568
786
884
245
304
677
448
247
821
162
289
69
382
527
577
397
310
626
164
335
654
7
804
978
50
647
269
59
15
713
770
33
526
425
780
842
665
525
897
741
580
849
878
748
740
187
351
685
732
978
988
328
424
356
130
875
350
740
937
798
601
453
155
161
346
827
495
657
328
890
447
930
334
969
48
251
710
522
794
229
404
71
389
56
944
378
479
717
962
888
869
708
615
36
969
82
294
231
389
33
516
198
651
827
793
879
978
616
566
308
993
553
9
672
939
663
611
301
741
156
970
487
811
180
170
796
14
563
422
61
623
743
414
334
404
910
942
847
189
375
948
491
457
309
77
393
423
297
170
930
141
594
951
915
922
580
285
748
161
688
3
54
298
957
260
684
240
496
794
999
998
324
267
27
729
459
46
444
604
697
433
301
158
162
352
92
850
641
924
67
586
652
219
645
841
441
680
416
874
349
386
506
213
544
356
987
238
700
573
641
233
24
245
597
692
972
109
303
54
108
265
808
249
821
90
591
642
22
289
17
999
543
22
32
89
671
373
904
410
138
91
654
312
945
695
308
486
593
521
262
381
640
236
880
629
27
665
857
946
291
521
82
324
583
776
422
523
419
958
370
19
219
620
522
612
967
589
639
794
802
372
432
893
947
289
269
700
124
450
740
986
566
728
344
875
762
233
646
507
347
632
886
799
906
826
398
425
18
158
178
297
566
301
588
938
191
428
517
167
787
98
253
372
94
517
969
534
780
493
992
829
880
453
960
296
100
330
561
589
281
32
799
275
282
426
641
480
630
491
438
946
566
340
753
730
514
340
83
835
606
411
508
22
582
918
459
977
323
270
666
741
278
449
829
28
270
216
699
669
514
672
96
894
185
171
821
590
564
339
565
5
595
99
693
561
675
118
200
587
642
107
253
835
199
723
456
538
509
612
388
672
229
309
28
793
97
284
393
520
35
433
80
265
846
671
441
319
810
140
807
752
845
689
500
903
493
964
394
395
626
400
418
742
694
901
717
579
285
758
140
518
985
658
365
366
825
241
234
265
84
719
804
839
871
556
225
67
691
35
787
962
138
833
403
548
6
395
317
827
310
985
94
646
195
763
765
387
223
167
582
411
317
143
968
61
483
502
147
803
496
777
379
796
938
502
922
749
335
711
624
477
619
862
533
924
872
45
22
779
70
554
716
18
568
409
921
833
197
384
385
455
114
470
918
313
38
459
845
817
71
520
303
819
92
224
109
458
616
444
308
657
104
996
533
40
906
619
988
379
457
182
218
993
838
547
821
713
554
590
894
116
219
273
359
727
844
523
227
836
621
883
511
345
381
575
785
830
431
642
286
589
64
310
86
29
877
567
82
146
948
235
461
224
42
479
862
134
281
770
676
762
134
855
775
172
143
108
524
85
545
11
80
125
851
171
846
83
446
421
439
129
518
63
680
509
960
233
920
768
396
717
507
945
167
270
280
513
926
644
792
51
472
78
377
776
612
971
276
87
92
807
778
216
134
189
738
955
694
996
902
133
325
288
166
236
451
541
284
82
932
210
565
969
29
418
778
68
275
777
834
155
280
941
797
921
229
551
447
236
661
622
914
738
147
270
872
15
645
928
407
482
637
809
945
777
645
484
574
116
332
827
658
595
229
522
921
881
41
531
61
44
621
635
521
582
936
242
246
829
793
125
164
991
661
670
603
63
634
505
96
733
515
87
822
168
988
952
455
278
98
825
341
659
571
761
719
883
62
762
193
283
37
105
757
611
874
738
470
258
712
645
313
787
721
67
843
602
777
797
4
509
957
568
872
779
891
703
161
60
745
801
30
171
567
210
106
362
771
428
679
95
773
405
682
807
192
872
435
357
562
507
127
100
200
702
636
594
741
169
632
964
855
429
867
872
838
487
139
823
77
619
762
302
902
272
243
837
938
518
512
638
895
379
253
883
663
604
821
109
702
155
769
360
963
748
237
979
18
287
326
929
615
900
85
556
653
628
973
547
418
489
445
651
994
775
839
407
935
953
897
722
677
467
34
660
645
77
975
194
705
99
463
13
421
70
546
682
564
901
380
584
463
548
565
125
75
584
782
611
91
852
927
49
35
504
945
901
32
386
349
461
881
644
713
100
108
883
515
103
930
968
355
183
454
793
921
69
936
944
82
744
683
204
135
997
3
284
540
979
613
980
438
356
120
214
890
453
477
45
29
542
826
808
268
22
750
973
282
784
790
201
749
529
980
332
730
89
316
724
108
130
284
439
764
724
44
266
993
363
387
462
231
970
370
406
318
327
363
40
392
131
349
129
969
588
458
849
962
43
110
166
158
661
655
794
172
566
37
258
997
197
865
738
62
806
251
907
131
231
885
965
477
38
156
397
513
107
535
785
451
595
69
158
646
930
597
967
956
180
197
746
883
690
470
918
209
369
496
18
609
379
667
793
998
265
168
281
395
755
565
954
747
572
818
480
444
583
45
456
245
543
547
719
928
490
910
491
289
578
492
662
30
784
242
956
658
419
588
630
790
856
77
577
148
220
572
424
72
27
51
266
628
954
493
191
242
949
905
632
301
901
254
882
394
933
6
831
651
211
950
86
189
805
261
158
772
780
29
320
661
170
83
96
36
918
531
47
551
173
300
702
310
555
949
992
22
146
139
547
177
975
453
547
812
738
708
602
869
310
515
319
184
395
583
774
870
286
205
127
236
308
432
993
392
959
664
984
407
181
790
51
186
427
538
880
270
450
402
589
391
762
382
416
929
797
759
940
385
643
315
570
616
89
741
727
831
431
426
176
312
88
495
410
392
678
728
895
477
565
958
193
811
308
654
730
219
662
646
981
315
942
376
404
487
636
637
303
553
138
476
122
115
322
861
379
521
498
708
550
808
955
109
761
184
912
916
36
390
198
402
217
755
396
327
389
907
491
613
790
825
299
785
760
413
91
486
200
820
827
659
426
512
410
448
26
474
159
468
537
10
518
863
334
293
615
485
105
233
918
609
682
197
635
828
816
866
968
141
672
811
540
837
439
374
553
417
486
113
330
717
896
356
869
342
68
387
991
755
294
405
444
628
886
688
65
604
462
299
748
198
454
294
456
411
805
624
14
544
24
822
723
819
517
139
118
684
141
993
338
91
450
484
654
598
978
239
662
903
212
50
551
298
628
607
606
546
258
101
844
936
779
679
232
580
66
472
477
565
446
452
779
201
664
438
235
486
692
393
849
833
81
566
178
289
506
122
740
732
513
661
189
13
268
433
172
601
255
100
492
44
479
613
883
503
706
176
270
665
671
249
849
584
987
255
724
394
690
9
94
369
986
839
203
503
762
78
352
667
872
867
267
365
28
215
56
338
376
839
780
527
466
646
390
451
401
583
426
643
384
236
400
601
755
763
225
678
901
661
404
401
50
448
950
13
101
518
174
424
87
330
521
346
779
610
649
107
257
422
774
545
951
826
151
399
781
310
190
844
573
357
352
156
807
314
464
8
119
183
472
566
710
106
27
393
961
44
457
120
99
650
870
22
723
358
112
892
367
522
300
78
32
785
445
158
816
960
487
461
342
400
686
615
665
207
901
302
763
673
746
725
486
999
26
578
63
728
83
952
882
265
949
223
271
573
225
904
437
382
684
379
559
268
435
671
258
552
363
683
327
232
253
844
648
155
630
731
671
148
912
24
721
139
882
121
646
176
858
810
994
791
190
709
22
429
860
547
276
464
43
982
438
914
463
357
386
104
246
685
144
405
757
216
521
642
621
105
743
944
703
102
304
597
339
647
628
940
515
475
825
466
22
605
18
57
819
622
227
732
974
264
789
363
600
622
631
577
134
740
507
441
145
961
455
626
645
185
356
411
500
61
424
310
132
271
874
90
165
247
827
674
53
81
679
722
9
914
824
718
748
808
609
9
662
926
835
596
39
916
952
382
854
499
341
267
492
637
697
724
446
108
625
413
721
969
965
18
150
170
262
717
326
551
68
589
158
530
408
841
342
82
861
948
187
22
189
663
308
154
305
396
665
622
745
626
319
657
432
878
51
957
717
269
679
160
128
785
531
201
245
284
4
882
414
648
572
616
763
663
915
183
145
957
75
265
149
786
650
699
314
532
113
668
32
519
238
510
374
183
503
408
303
659
82
15
259
588
681
974
133
308
72
365
35
619
634
345
42
10
581
643
350
559
875
100
838
726
973
157
108
919
694
53
450
987
470
490
51
822
171
706
984
802
503
226
165
147
705
21
527
155
906
470
91
895
26
290
521
174
564
568
969
495
946
119
745
301
383
673
383
985
327
798
206
48
693
50
343
298
4
574
501
169
444
258
467
93
664
597
437
330
813
617
807
848
900
564
965
614
89
591
971
169
942
316
737
433
935
986
490
516
802
926
818
689
404
118
590
818
816
37
377
261
322
324
803
666
820
470
388
150
887
481
88
55
463
369
651
866
616
419
390
875
376
414
684
891
987
367
815
611
192
863
286
288
405
839
842
955
668
432
816
809
343
596
250
293
373
312
503
62
768
578
686
270
705
808
317
585
240
954
53
890
207
398
223
904
260
687
137
859
430
212
855
900
765
253
150
132
828
210
914
78
862
404
127
858
425
581
844
568
170
139
327
202
235
122
583
930
388
256
97
724
692
625
444
107
944
136
844
297
552
540
417
104
846
664
63
755
26
431
459
220
92
420
580
735
128
1
560
929
259
531
451
417
462
694
632
718
124
847
182
122
964
151
545
490
443
315
198
971
306
51
827
353
242
706
742
65
974
72
861
866
237
92
624
895
249
37
610
94
244
712
495
932
576
476
173
44
697
115
578
612
65
148
731
310
630
747
30
169
115
273
677
18
743
347
350
19
386
519
984
396
413
826
529
665
623
984
108
555
762
494
849
314
62
716
981
313
146
811
516
671
405
532
892
139
675
23
555
624
605
144
306
558
642
359
632
761
957
890
932
591
950
663
742
939
211
558
569
63
918
609
929
355
723
93
555
867
81
904
468
836
864
202
854
510
829
108
183
285
178
116
88
527
22
977
832
517
30
49
64
587
921
473
723
915
741
106
592
387
73
824
4
637
421
663
656
652
987
296
284
310
27
494
227
836
733
556
526
438
348
165
273
338
828
781
378
961
928
453
774
341
999
902
377
686
157
824
773
576
725
627
686
548
22
230
793
621
629
143
314
897
246
749
143
544
118
638
966
274
821
837
931
993
860
34
977
384
157
205
824
43
984
585
982
227
345
606
869
404
85
220
266
582
264
33
911
803
435
796
956
312
532
110
419
633
982
631
491
193
529
691
766
204
13
988
35
222
980
941
264
164
604
375
780
618
849
406
510
936
195
837
279
963
516
860
837
245
929
609
274
200
483
933
921
74
605
787
667
435
102
800
855
617
358
911
575
761
56
439
221
84
436
597
630
552
576
242
988
416
679
626
973
941
654
988
257
256
574
122
591
427
714
449
179
757
983
715
942
839
495
151
579
56
931
842
36
94
134
62
102
493
39
576
399
459
680
219
913
915
490
619
596
293
532
566
272
643
625
370
240
445
535
534
523
930
544
198
658
797
739
109
295
2
315
323
645
631
25
436
978
2
660
945
983
796
126
197
762
429
229
520
644
879
754
318
800
896
832
323
856
825
829
739
290
301
230
692
463
728
52
296
521
726
357
608
247
747
309
965
206
657
87
484
137
339
636
996
621
363
905
338
496
291
747
705
378
499
93
713
886
238
355
947
870
277
304
10
15
631
770
528
686
789
632
120
767
367
523
93
560
299
531
502
510
524
3
246
640
608
219
102
95
928
327
920
135
805
406
748
227
492
964
285
645
996
479
938
133
537
818
688
711
837
495
139
706
563
782
414
406
964
598
5
547
166
989
282
994
637
727
167
572
57
251
339
981
190
722
470
139
401
429
180
91
118
202
812
828
921
715
661
976
881
814
988
342
486
65
24
715
754
726
159
176
122
283
699
387
315
475
875
989
679
476
314
289
394
534
758
862
584
883
670
584
564
211
274
850
405
305
709
437
513
737
219
529
178
639
741
941
880
669
811
437
704
236
447
376
373
960
553
601
267
87
437
612
272
317
234
580
492
65
371
698
624
701
741
677
292
718
917
947
745
94
547
276
111
346
73
53
821
887
48
452
921
356
608
59
726
508
125
301
685
125
654
215
370
145
575
653
237
870
711
28
159
694
324
95
781
251
590
57
406
272
544
494
486
711
59
255
775
930
78
418
858
772
215
908
82
417
827
159
870
790
848
462
44
109
976
271
34
908
320
813
802
472
214
791
896
179
727
829
300
668
341
591
638
118
362
182
863
165
910
509
767
153
751
780
535
473
787
214
73
731
784
338
35
359
785
947
335
54
699
918
382
163
766
606
473
680
955
456
560
68
847
805
96
499
251
598
761
451
609
868
669
797
217
396
80
667
463
922
741
409
539
644
710
882
548
503
948
205
549
936
990
820
820
374
753
377
544
716
885
543
228
459
114
289
343
895
715
607
111
83
560
863
875
820
241
238
214
940
355
743
792
651
413
361
976
455
736
727
397
455
386
616
974
486
405
205
393
551
611
715
671
524
753
588
230
919
113
756
863
821
510
972
65
724
254
354
476
131
783
519
609
246
601
709
588
974
691
299
375
779
691
968
846
614
50
575
106
293
806
497
658
167
816
776
384
905
79
923
797
516
241
644
718
474
508
70
335
970
962
290
598
858
719
131
27
818
454
146
315
634
553
720
558
235
586
68
542
348
815
631
284
187
207
48
958
570
759
451
370
287
993
304
438
324
155
371
465
748
996
719
567
694
1
808
316
894
608
865
504
640
228
710
953
870
900
119
468
345
973
656
350
503
540
581
361
631
253
109
700
476
741
815
295
245
122
431
710
245
961
616
55
76
645
545
540
373
294
329
752
591
265
330
299
210
775
422
194
51
404
126
242
94
44
326
747
303
373
970
40
493
87
773
694
191
926
407
805
772
999
119
381
911
38
3
726
508
984
387
644
828
743
924
489
522
50
25
311
586
110
183
860
70
102
619
780
539
689
429
83
848
386
36
959
818
15
390
981
753
507
750
70
579
991
329
913
569
455
332
103
235
246
122
974
7
367
344
925
717
785
841
87
766
975
122
322
73
528
928
877
555
932
197
502
953
558
346
480
242
505
321
801
779
165
309
670
554
308
365
644
647
19
453
957
13
56
552
6
274
53
572
551
25
536
774
912
527
889
270
331
305
257
987
722
346
881
146
211
56
476
910
247
103
124
383
564
583
575
519
947
700
995
843
579
271
978
92
734
966
61
39
705
90
79
760
160
138
449
591
576
71
872
833
987
489
988
40
62
411
262
377
441
399
725
115
339
144
241
773
638
421
639
840
119
554
407
261
967
136
629
74
446
745
510
699
453
869
122
355
687
55
9
22
357
533
868
164
626
240
824
151
545
186
765
970
794
592
748
323
389
76
794
666
448
431
235
101
216
242
390
264
814
634
506
536
585
962
835
961
517
140
186
224
901
600
513
936
331
594
940
247
145
657
92
497
638
566
793
241
728
75
976
438
251
13
111
70
755
92
614
715
485
914
437
853
197
200
488
817
637
256
650
318
760
12
857
429
246
788
144
751
463
77
613
263
798
233
989
985
188
961
803
167
763
863
279
211
739
126
668
866
104
637
133
570
153
420
272
968
660
312
32
771
312
229
55
76
46
200
487
235
106
582
896
135
957
518
204
487
669
769
512
372
34
473
236
791
464
275
277
441
672
546
803
274
235
63
799
640
428
619
767
12
90
532
820
306
913
888
930
830
234
684
300
759
316
733
653
794
142
300
734
410
959
973
472
639
150
189
60
883
521
176
681
628
786
797
722
282
828
955
95
557
311
733
738
949
354
429
431
924
273
13
834
339
831
263
37
480
81
76
995
873
600
974
908
653
869
857
4
875
618
424
202
596
170
494
803
966
243
678
722
826
168
444
760
520
212
652
53
716
553
75
177
51
435
219
325
306
244
31
609
645
528
715
809
189
502
915
842
791
195
8
790
451
192
98
599
235
885
560
442
901
237
704
316
717
349
153
647
89
508
67
558
702
1
216
972
846
685
213
923
471
215
921
266
324
851
174
503
179
979
465
567
796
850
171
235
754
515
238
297
678
657
981
734
744
787
777
938
537
305
33
431
474
32
698
652
56
121
30
97
127
710
25
544
197
291
154
94
615
508
594
543
57
42
150
923
353
311
457
86
150
929
845
918
296
271
466
75
103
32
898
146
855
366
449
813
7
48
831
861
553
110
677
876
910
582
652
94
539
289
521
121
187
124
602
201
316
882
499
295
784
503
848
459
306
551
122
955
565
834
157
39
101
359
222
638
255
218
858
939
534
585
688
514
715
725
643
711
905
815
784
958
540
425
11
58
11
673
470
755
217
488
391
637
807
851
419
902
334
621
268
659
835
333
628
198
566
359
843
91
781
952
826
99
446
990
34
580
759
681
93
528
145
118
876
396
210
294
355
605
750
152
610
997
501
296
708
507
790
215
19
46
613
276
714
900
979
278
805
948
512
57
126
677
437
499
67
258
75
305
695
927
853
68
174
529
692
484
990
370
349
64
584
440
884
304
422
693
25
89
415
274
577
54
870
516
421
713
809
95
877
468
614
916
380
983
404
197
468
15
479
753
74
528
449
646
991
759
374
217
144
27
374
24
26
185
656
337
229
53
867
682
525
631
988
375
344
571
742
94
827
233
617
352
861
602
174
143
604
503
254
120
83
829
78
431
362
962
975
725
634
162
701
917
351
460
823
988
166
531
717
503
6
67
34
535
123
426
377
368
272
705
64
716
538
952
521
149
439
889
845
128
114
429
496
296
338
238
943
698
69
788
282
183
21
651
541
532
488
302
382
810
281
278
431
987
166
406
268
173
631
694
433
672
185
637
443
639
599
922
921
343
712
954
414
902
459
185
380
884
753
967
126
362
758
546
172
843
850
834
663
995
253
826
930
232
974
858
262
63
114
439
268
531
80
38
944
228
527
48
722
126
80
114
309
917
30
178
99
623
210
849
299
13
225
188
670
743
42
597
984
201
708
241
864
768
618
401
656
559
341
165
408
739
449
159
799
222
226
360
83
850
365
612
736
200
996
132
506
775
463
188
980
683
282
108
644
847
624
965
623
414
474
623
956
334
358
267
289
968
141
226
357
238
950
670
461
6
712
692
428
344
145
442
236
854
297
195
533
465
881
672
802
970
748
530
797
99
772
616
191
147
334
531
83
943
370
36
106
527
631
78
436
984
410
539
883
750
502
337
631
116
549
189
871
841
278
130
780
494
323
924
800
646
491
579
156
74
323
524
919
909
797
415
664
62
815
173
977
321
920
604
644
211
302
871
322
123
764
174
918
185
762
214
689
97
28
401
266
442
556
329
472
16
955
728
750
346
228
953
524
904
74
94
573
462
713
963
799
674
40
526
381
244
658
839
367
973
947
179
208
567
878
862
630
335
725
187
461
821
156
43
762
950
474
993
646
513
894
64
693
653
863
31
747
589
347
749
181
944
945
927
441
935
427
836
769
143
13
593
560
759
317
59
685
993
343
873
504
815
385
830
982
304
960
630
498
674
135
13
470
466
771
414
895
499
177
591
240
913
688
116
932
35
465
217
825
876
603
245
634
763
289
935
317
996
320
722
765
436
747
590
966
636
827
341
35
437
706
686
83
977
498
288
957
693
470
723
280
224
104
358
55
71
659
279
370
503
739
780
329
482
26
349
450
289
30
771
168
156
206
726
995
439
235
239
128
767
638
426
989
169
106
255
253
400
141
444
418
547
615
214
866
538
883
339
654
347
917
802
4
545
744
447
547
334
161
189
926
344
286
707
265
322
12
73
363
245
853
403
190
579
988
488
442
134
501
311
415
416
999
496
463
484
778
49
647
38
672
184
942
885
573
628
570
997
345
593
605
57
534
479
953
817
840
480
264
551
781
486
76
636
373
54
737
594
919
780
257
932
217
89
246
791
568
325
544
685
984
43
970
631
919
551
855
533
632
98
675
14
44
577
143
781
571
245
599
245
942
766
359
313
472
823
15
218
580
656
283
778
645
151
153
727
389
515
516
588
104
148
400
130
980
61
188
604
672
82
961
811
51
98
171
553
750
854
399
149
732
96
870
541
609
446
737
956
848
989
869
217
316
441
46
586
849
698
997
438
657
746
686
174
389
161
611
511
680
931
646
710
785
882
149
339
708
808
630
910
869
272
248
69
941
163
845
87
935
300
980
47
14
767
648
477
802
220
17
193
118
79
475
733
216
408
758
107
552
273
746
538
77
554
732
488
813
489
658
550
236
753
820
718
598
450
37
134
853
252
108
668
322
837
695
580
538
870
403
73
14
82
944
777
787
368
736
53
715
444
211
546
427
290
380
616
733
547
923
79
84
29
202
223
364
746
80
205
883
165
388
737
959
982
207
437
894
308
849
363
430
18
605
993
50
5
851
380
570
190
65
274
526
451
683
776
807
87
489
476
817
31
396
90
228
783
84
323
8
976
927
73
27
533
53
99
969
632
162
972
697
66
969
465
467
128
716
540
617
876
240
738
427
449
511
88
868
155
366
619
846
199
435
180
413
255
881
552
70
559
626
774
989
839
198
183
458
215
209
930
336
96
731
633
637
282
505
379
610
679
27
520
863
481
32
558
120
260
777
963
210
98
850
940
721
836
931
4
582
494
37
729
500
190
311
166
785
176
356
271
609
153
406
108
145
714
419
749
354
543
282
563
416
13
884
991
918
963
777
49
963
706
499
492
307
803
404
26
451
700
37
962
415
140
643
481
545
136
427
992
287
392
546
137
340
283
627
667
967
890
828
741
531
137
40
215
539
765
880
146
533
749
536
8
215
774
362
139
71
537
356
513
599
992
315
224
954
124
477
24
471
476
972
811
31
448
215
242
724
333
678
528
566
181
139
50
305
806
604
609
525
719
568
63
276
295
186
556
503
262
238
782
355
442
453
552
290
757
904
424
564
684
675
308
302
718
955
786
828
910
18
324
385
203
327
701
650
135
102
749
703
453
271
923
224
303
678
322
727
977
776
535
598
647
814
70
537
91
698
198
752
234
287
756
951
187
890
830
696
588
95
250
195
251
899
543
967
539
281
301
116
396
12
931
122
700
470
418
180
434
712
20
103
201
819
796
727
756
848
484
575
589
290
522
240
30
58
949
617
28
429
497
602
507
261
461
359
202
76
790
584
930
252
466
445
560
680
381
61
336
716
867
426
796
145
496
675
257
203
4
454
718
380
998
956
98
864
626
876
889
992
528
117
706
10
201
613
690
778
376
29
405
776
134
413
705
953
255
108
6
458
732
363
557
299
477
98
577
316
995
257
607
630
195
991
981
896
568
695
151
294
703
581
452
165
431
17
12
589
981
372
737
24
162
441
665
310
951
850
563
982
863
17
305
826
138
334
457
62
59
261
485
375
722
918
181
217
178
580
230
503
146
222
309
827
429
851
769
812
779
955
713
63
161
773
276
457
313
517
970
186
37
846
266
62
859
138
973
55
609
101
550
971
952
287
256
425
121
934
870
34
926
336
807
813
620
665
639
321
347
727
380
995
714
681
408
474
488
121
590
430
555
276
959
591
30
272
303
162
878
557
177
847
458
614
81
3
180
22
88
254
856
798
721
47
372
675
709
248
61
665
140
812
481
797
600
28
375
404
141
567
242
728
280
823
303
863
812
639
653
282
873
501
13
277
594
758
836
646
657
218
483
876
275
733
772
890
393
16
543
135
442
10
753
446
580
544
256
629
147
924
633
161
44
342
366
757
813
679
201
802
484
355
750
805
658
374
271
116
889
599
90
92
136
607
301
811
961
162
231
189
188
479
655
72
937
962
906
450
302
27
801
474
461
946
821
335
666
410
61
408
396
632
270
276
927
371
723
379
722
209
766
67
328
805
612
793
917
574
382
9
237
462
436
95
455
31
754
318
349
98
506
369
332
529
970
515
63
614
650
770
750
655
783
793
827
1000
410
389
365
789
869
609
446
114
844
435
732
89
82
967
639
618
534
817
849
254
908
159
361
605
608
521
948
222
584
919
653
725
881
378
917
240
588
266
50
864
425
78
2
971
445
489
809
667
173
573
691
576
73
35
473
469
366
199
913
937
115
279
559
421
948
148
953
454
970
418
363
869
217
157
727
85
467
973
175
294
340
513
310
560
418
646
408
342
534
747
859
945
465
503
418
770
29
632
339
972
974
744
33
345
116
334
672
829
892
532
64
996
873
855
230
319
802
621
304
773
412
104
799
570
623
781
807
418
706
222
412
724
658
247
442
591
349
31
703
279
955
684
12
57
821
708
664
5
183
413
447
381
88
47
968
623
481
873
839
935
628
940
224
651
991
571
346
268
204
914
841
120
20
997
229
138
979
861
375
63
60
254
541
753
790
310
501
960
93
374
247
33
679
856
27
572
923
582
778
930
996
619
568
834
456
971
302
119
670
832
788
721
164
349
229
603
479
931
359
294
176
224
715
33
386
759
15
314
705
190
186
799
295
742
370
129
767
179
159
190
790
160
363
744
405
332
865
170
702
867
506
255
866
474
462
578
581
72
313
78
451
426
833
796
400
60
545
632
972
651
270
190
84
947
199
425
57
963
533
875
689
840
339
697
724
296
76
602
310
25
213
62
958
767
441
817
59
22
255
816
237
517
110
199
691
653
905
837
208
79
317
223
702
455
358
258
988
249
596
543
997
71
668
336
776
711
87
264
447
474
824
187
750
892
866
381
923
143
713
326
447
793
823
955
632
548
99
172
81
786
845
810
854
558
30
961
520
599
348
820
386
644
293
721
858
10
394
70
305
977
840
261
809
949
947
454
852
794
308
327
366
22
15
499
541
645
35
362
442
698
697
480
822
371
218
544
440
620
426
116
863
955
105
30
966
813
901
398
310
568
368
574
148
746
494
360
80
471
50
952
247
517
149
829
543
590
728
873
540
616
32
470
654
911
790
287
672
32
477
660
882
46
975
286
931
682
959
9
14
578
554
1000
157
390
154
570
162
57
819
192
248
928
325
32
557
759
759
449
450
832
570
465
968
563
66
171
921
1000
698
399
817
574
883
757
236
294
746
300
330
339
915
694
827
660
417
735
309
784
818
443
542
465
951
793
343
222
998
328
785
83
202
531
557
56
217
827
949
932
937
541
218
38
659
963
97
476
633
891
788
187
330
704
94
911
284
28
253
746
968
558
650
538
991
424
808
779
821
787
984
51
360
21
235
277
973
907
59
241
963
778
552
880
82
420
602
830
397
869
765
590
696
924
364
457
704
325
810
73
531
60
320
23
170
194
7
429
358
946
780
904
774
483
625
528
396
31
606
760
805
475
367
291
351
559
996
932
425
184
877
511
495
41
542
664
184
26
595
99
443
441
522
639
765
992
531
845
495
977
629
567
478
874
813
81
724
727
593
816
272
360
66
833
165
463
408
315
280
22
971
357
788
387
118
232
179
532
581
137
117
692
370
148
863
616
225
737
658
133
185
738
224
592
78
110
531
23
670
167
41
501
744
218
940
338
609
718
257
159
412
94
377
852
148
378
153
673
440
694
725
480
39
362
211
217
429
164
615
252
138
829
651
126
130
372
726
599
115
272
946
603
769
837
888
875
593
312
809
594
611
395
150
282
166
903
441
629
853
237
206
638
998
163
41
684
177
170
814
657
973
339
862
355
542
212
115
664
591
634
330
909
50
903
992
920
72
889
986
1
970
914
854
1000
381
352
281
112
241
849
508
867
113
30
492
10
55
332
999
605
471
358
273
783
334
754
565
956
767
171
614
248
190
285
104
106
178
228
233
777
704
20
805
385
688
756
656
856
600
370
816
818
453
778
523
917
648
64
120
688
18
191
873
242
882
369
991
547
108
847
438
3
954
395
690
354
953
115
213
718
221
607
291
649
337
669
817
703
386
887
769
962
852
490
423
283
778
779
773
862
39
316
268
850
604
770
697
338
398
32
19
46
755
722
965
418
447
736
509
626
999
820
664
230
314
471
619
805
638
648
927
905
550
863
317
143
967
257
702
6
125
144
137
256
114
338
807
419
822
314
595
920
94
858
420
864
472
416
344
354
161
788
382
470
750
167
50
749
781
764
978
70
480
440
292
322
823
815
81
165
661
320
983
466
784
506
796
709
670
743
95
794
146
118
12
161
349
933
696
106
183
728
501
463
930
147
582
615
806
296
457
884
10
451
10
954
282
127
618
898
31
522
310
776
900
326
374
519
970
713
395
1000
927
94
493
780
196
870
435
997
422
997
375
269
713
636
216
276
755
558
959
907
219
239
956
457
905
795
698
387
719
987
592
596
866
550
233
959
632
976
815
160
750
755
664
472
595
735
365
188
421
959
563
869
434
805
361
460
723
763
126
539
5
484
685
716
669
6
102
216
853
237
682
215
129
819
402
354
910
490
710
207
895
921
525
132
676
819
295
96
163
752
200
545
601
758
917
362
797
325
887
232
617
710
701
535
938
897
30
978
33
723
523
769
790
825
214
66
245
86
305
824
686
228
604
901
967
13
525
503
730
307
334
584
954
884
197
847
636
446
721
362
402
791
854
630
568
447
451
126
496
373
298
970
71
526
149
393
816
182
135
96
433
919
949
431
547
60
367
569
51
220
987
469
707
281
563
519
633
814
939
161
845
426
373
695
324
16
17
726
929
246
403
369
87
773
48
450
360
993
732
404
908
60
549
461
338
964
582
44
682
311
935
971
26
229
904
206
841
523
248
392
226
812
917
345
57
865
61
19
519
778
853
180
622
941
451
191
73
991
438
840
308
37
180
119
590
522
874
222
815
996
478
791
81
942
338
625
122
551
83
651
442
986
281
941
333
265
421
953
24
348
26
979
841
412
73
991
665
559
457
696
902
425
930
609
889
220
799
413
942
778
676
680
218
58
770
286
190
406
486
477
824
555
626
617
453
32
100
104
960
122
852
775
128
13
655
434
885
86
546
796
785
568
920
197
238
936
736
964
888
500
840
176
77
611
176
904
502
778
512
666
19
786
365
15
54
595
15
631
211
404
837
272
501
750
716
231
75
951
959
708
455
493
952
648
43
203
790
130
134
171
247
386
725
426
744
853
185
301
430
462
233
291
87
526
743
938
335
183
613
968
547
335
288
436
938
415
585
148
533
134
130
977
111
532
56
987
757
317
629
485
363
461
108
193
264
463
445
766
224
517
426
763
141
77
436
22
167
927
360
100
436
955
7
67
204
243
91
492
32
994
14
883
557
55
603
206
530
482
542
367
55
688
409
670
374
179
142
389
132
804
259
494
769
735
360
520
595
87
264
306
135
247
642
41
531
433
160
657
144
7
943
105
26
329
661
464
579
737
625
157
561
338
105
750
563
873
470
981
250
872
867
647
905
678
907
978
314
674
216
922
602
263
760
557
416
686
607
499
747
791
115
725
779
236
591
724
379
429
145
267
210
704
807
352
36
846
951
110
434
113
767
509
33
307
773
746
383
302
387
97
732
660
145
814
330
617
472
405
327
776
824
224
15
295
611
888
911
233
577
413
162
968
189
376
848
305
163
618
19
952
479
184
716
541
80
263
831
264
11
866
339
504
919
834
382
529
680
613
683
458
411
847
995
208
304
514
631
59
480
778
648
826
583
179
911
342
908
70
97
115
667
466
690
572
423
570
133
262
793
291
612
744
311
21
400
678
696
762
287
788
867
469
384
966
748
132
517
780
273
686
495
14
42
301
766
716
749
2
371
392
866
855
644
634
31
118
803
470
280
893
438
153
534
803
925
949
753
112
935
716
766
564
566
707
69
898
84
94
836
656
905
159
951
417
247
956
130
55
824
545
119
932
67
540
484
245
610
822
739
841
219
749
454
944
884
87
458
173
566
199
494
117
928
712
494
534
490
39
132
909
772
605
493
734
414
583
483
343
720
286
86
587
788
55
673
907
176
696
384
627
57
3
2
391
946
914
841
718
380
181
941
586
380
214
211
807
122
947
288
708
28
131
543
298
384
481
59
660
680
466
437
796
97
368
958
504
951
404
992
200
445
361
499
734
795
175
185
390
632
353
115
247
602
923
610
990
277
881
838
88
762
721
804
952
940
695
381
363
850
906
603
942
563
207
698
918
820
145
243
778
828
857
366
645
859
932
165
389
725
711
358
539
783
422
721
55
825
829
52
864
142
786
245
902
50
212
542
36
400
510
200
894
935
380
605
96
859
324
348
811
683
868
881
878
208
663
159
950
497
210
118
245
843
865
907
543
988
201
556
989
363
512
170
118
661
485
776
283
868
592
686
306
760
780
612
772
973
421
770
819
977
280
942
691
663
479
751
597
813
41
449
598
407
611
140
360
595
405
681
611
151
240
477
44
425
750
991
240
101
550
78
881
582
133
196
197
436
786
117
81
145
615
25
777
344
116
781
385
850
322
701
688
26
718
417
953
468
543
226
443
563
29
920
342
198
422
214
669
792
325
779
554
870
33
344
946
584
53
520
389
963
895
773
56
168
609
481
602
707
229
81
731
394
463
141
596
796
508
589
280
87
828
446
635
477
98
132
708
878
288
856
826
36
39
610
176
158
60
54
349
946
273
910
935
56
822
535
673
208
865
23
82
578
280
521
762
637
22
443
759
303
899
926
480
132
952
176
651
286
468
310
716
183
876
945
911
55
445
38
942
143
735
424
856
852
226
106
205
39
393
570
63
509
796
325
791
925
395
409
717
605
417
839
38
66
568
832
336
803
285
170
59
460
30
255
223
500
331
253
333
470
391
208
269
198
599
170
430
590
219
197
968
227
859
532
344
607
45
415
748
731
405
726
168
688
484
133
996
46
193
473
120
151
252
861
382
872
751
422
129
950
143
600
342
879
548
709
496
131
261
774
846
656
726
721
353
794
59
678
793
122
397
488
913
319
984
507
676
817
900
447
746
874
784
322
348
706
729
497
577
492
771
513
26
395
25
580
334
209
596
611
887
896
829
238
442
57
335
507
872
346
513
841
602
921
934
437
550
320
70
460
531
528
319
292
183
627
179
584
421
93
721
103
317
747
234
134
85
383
8
768
547
284
753
491
47
233
89
362
299
99
845
484
47
768
682
614
749
10
665
558
712
858
994
373
239
196
26
565
377
578
123
150
811
711
598
894
289
685
226
82
712
748
372
898
698
391
756
866
989
544
307
814
545
940
317
536
540
78
346
649
776
771
940
134
223
951
216
729
471
277
835
619
906
90
694
863
329
433
903
597
548
183
272
347
198
815
584
706
687
970
375
244
674
771
819
726
959
806
583
666
992
781
190
761
479
126
517
995
697
249
535
62
237
703
315
274
836
274
586
339
840
869
888
198
662
153
437
624
230
55
361
442
85
636
887
33
239
331
391
251
353
214
962
2
88
817
282
527
714
942
165
833
204
119
71
854
40
586
256
623
957
182
15
171
641
96
615
921
188
210
149
51
785
689
477
686
636
533
851
798
630
48
614
381
635
585
573
809
579
420
237
283
682
376
185
917
285
620
185
345
753
98
587
666
804
222
699
190
474
774
531
726
618
445
335
62
500
84
821
913
538
518
806
834
741
761
312
509
702
523
812
385
268
210
401
842
181
10
164
939
38
242
912
345
905
883
737
198
782
58
577
530
922
338
68
343
684
891
508
607
209
868
642
252
702
947
371
685
534
606
167
493
656
528
159
772
106
525
395
945
435
501
748
37
998
268
279
118
942
489
676
22
583
614
527
511
646
443
798
784
468
877
850
577
843
482
757
154
679
724
449
147
991
139
447
583
57
205
554
377
746
433
886
283
136
10
59
559
540
371
183
599
963
213
544
376
839
821
514
854
621
37
258
434
419
855
300
94
424
395
839
153
296
997
994
451
39
240
842
344
155
992
166
84
8
982
362
62
409
999
803
902
421
499
306
567
228
362
8
525
726
509
121
457
182
343
516
192
899
321
26
340
328
456
712
570
491
242
35
590
883
318
63
677
259
144
352
39
824
138
154
365
397
978
901
691
49
254
747
90
581
245
81
774
938
357
539
897
337
695
10
723
453
293
541
859
456
772
836
926
120
593
266
397
450
579
904
308
520
131
139
216
287
378
829
94
142
534
809
789
898
900
782
329
714
266
294
615
175
975
530
981
387
505
123
696
481
265
45
720
363
224
915
945
879
102
719
696
854
120
60
487
583
724
492
910
461
273
434
46
370
402
443
987
364
689
317
888
940
248
650
464
909
129
949
24
454
715
358
898
477
846
391
628
755
59
764
389
730
151
626
873
988
283
974
352
614
930
62
654
635
334
917
612
723
521
882
889
171
571
287
161
886
593
895
376
862
770
800
149
94
912
831
388
418
197
314
959
131
155
253
484
501
505
631
430
522
148
499
231
323
480
11
565
657
192
345
800
829
912
713
317
205
350
311
639
191
96
101
266
193
863
776
686
610
750
135
288
343
68
346
817
666
352
278
533
548
477
131
505
692
182
126
301
591
907
867
876
930
572
323
654
473
799
67
632
436
152
542
829
964
137
608
553
991
93
603
802
235
589
438
513
488
630
9
576
698
790
344
241
551
379
470
22
394
885
924
274
365
217
201
368
571
750
223
805
953
747
52
649
289
522
689
389
393
616
770
718
181
330
372
714
714
204
940
643
732
390
561
890
459
461
414
565
678
833
264
964
141
898
268
363
407
930
221
627
108
17
596
695
455
604
367
303
522
686
689
255
477
365
924
92
467
238
401
329
297
74
552
264
408
310
747
971
898
176
227
274
499
688
44
397
483
289
777
487
470
688
137
414
939
312
248
83
92
829
516
979
353
423
535
851
443
824
370
208
411
636
936
813
480
167
882
428
822
787
577
905
647
818
320
93
102
116
865
159
498
769
714
661
358
822
404
97
597
506
179
745
917
248
48
291
159
635
180
137
916
581
20
305
186
197
293
527
230
220
265
466
78
436
265
2
327
200
470
172
960
38
406
659
939
316
420
703
216
121
649
910
643
854
631
733
965
481
786
316
728
52
407
1
463
878
719
26
946
708
784
855
684
368
752
157
37
560
2
615
548
964
234
698
105
350
454
971
554
132
101
770
243
701
275
873
787
900
126
312
996
214
10
610
559
603
915
552
538
420
17
52
154
520
955
812
674
492
551
239
418
938
274
509
25
844
691
802
196
397
499
409
13
36
544
895
838
154
365
485
515
606
399
620
271
117
996
953
286
743
748
128
367
782
473
314
531
923
372
877
617
933
527
493
218
934
892
734
313
133
379
400
21
899
477
892
764
267
46
501
985
221
633
798
257
668
650
222
280
574
242
561
765
581
548
280
676
353
284
533
639
998
315
264
571
206
909
34
766
120
891
48
714
564
801
419
936
982
448
875
964
298
991
945
408
999
758
188
722
903
554
148
909
449
138
545
872
858
867
688
559
176
256
189
364
46
353
863
448
23
353
120
800
395
881
252
879
767
679
746
626
109
257
202
482
573
204
433
802
163
471
99
717
241
893
554
65
937
642
645
484
765
98
861
138
134
812
595
840
968
879
258
512
391
44
653
53
238
286
314
648
211
476
495
493
635
920
96
730
119
270
119
79
883
313
148
320
184
624
977
293
23
929
710
531
311
281
610
985
743
850
496
581
920
202
721
455
650
420
628
849
952
338
917
563
21
433
537
781
292
665
551
846
773
629
935
274
55
924
401
878
707
586
179
392
344
722
114
376
259
274
606
534
387
937
643
764
312
848
679
410
202
594
122
219
812
465
23
445
179
641
892
398
220
186
679
469
217
297
635
367
72
253
167
811
329
901
816
455
151
308
176
156
843
442
902
14
68
330
981
781
593
180
52
349
238
370
907
35
763
56
248
273
545
364
416
167
256
802
60
54
214
576
674
881
745
923
515
725
641
489
646
216
803
996
772
3
223
170
84
620
742
939
552
301
441
433
963
340
74
196
548
577
728
330
217
471
725
994
254
997
882
793
845
303
401
121
930
669
46
451
722
802
756
872
658
915
532
952
703
365
243
120
695
836
991
319
840
189
805
663
582
146
725
147
804
884
801
286
713
525
129
693
845
183
796
207
321
971
562
169
861
871
131
841
99
890
146
764
422
284
397
47
890
914
275
224
814
8
231
293
178
687
838
22
460
622
48
407
320
105
453
425
272
619
634
853
735
747
198
11
782
846
724
687
502
489
635
433
139
98
971
637
77
538
133
482
286
716
942
979
85
368
763
748
917
299
39
122
394
308
285
437
30
910
499
101
925
762
996
133
177
373
844
380
917
302
463
569
723
530
455
656
581
119
395
695
713
575
139
583
380
574
198
600
163
819
850
599
363
842
962
99
871
515
951
270
282
869
906
7
78
583
663
838
434
158
553
438
548
376
594
891
449
95
157
647
915
824
502
340
462
818
140
238
373
587
667
115
399
871
572
775
37
75
542
270
315
119
952
111
563
445
549
413
3
665
822
961
857
944
195
640
321
773
968
555
952
207
874
404
955
6
244
389
391
369
20
981
565
99
277
394
695
126
497
478
532
281
572
68
743
72
370
536
746
46
801
369
155
959
453
180
165
615
276
425
8
726
280
467
80
555
885
362
457
414
393
873
305
333
21
793
109
329
89
591
754
745
244
779
222
70
23
163
90
504
734
303
56
281
308
125
435
437
773
567
977
245
18
593
316
63
788
658
125
674
216
957
327
508
731
380
741
323
931
118
203
23
798
312
478
280
701
938
272
575
775
386
284
42
592
833
472
260
524
537
689
758
839
683
418
517
365
226
565
230
490
483
207
389
401
889
715
556
711
409
921
319
29
608
845
509
644
238
37
213
171
562
778
31
953
274
207
761
995
50
971
447
468
236
102
262
131
146
680
265
554
749
285
426
680
274
347
673
117
400
327
909
495
272
46
99
382
502
605
550
550
728
69
446
829
20
502
569
371
652
983
865
957
307
970
197
838
772
740
181
743
606
649
483
848
20
675
331
957
465
6
273
626
993
466
433
721
512
205
581
698
458
399
349
962
255
664
865
791
175
517
841
646
831
494
923
191
625
469
713
943
895
296
416
314
405
175
519
715
51
8
236
525
375
601
723
978
527
765
232
455
831
252
418
216
992
981
14
365
274
208
957
717
721
109
821
286
562
780
133
296
503
774
716
1000
506
123
744
80
998
263
561
90
207
388
676
218
437
548
540
611
678
241
856
692
875
324
203
127
569
841
698
600
388
751
273
151
20
593
894
563
923
870
706
253
975
270
674
156
699
894
737
342
474
340
891
497
354
829
905
917
754
561
545
405
248
138
301
281
184
200
616
746
619
399
507
6
358
435
310
889
489
173
990
161
876
794
87
400
529
521
920
67
631
693
85
367
275
904
663
610
637
422
794
17
399
395
422
378
718
145
111
498
944
434
784
133
583
762
121
988
704
561
148
399
120
704
226
516
177
853
268
178
925
997
486
143
761
13
420
69
396
172
284
394
124
318
907
305
928
867
676
93
926
881
907
480
8
184
43
989
303
944
892
982
270
147
902
815
815
149
114
409
807
840
2
685
761
993
895
478
284
50
49
967
43
936
703
207
669
508
696
19
15
858
257
380
608
54
640
452
977
820
152
567
774
304
953
794
253
354
736
223
717
662
7
711
17
714
236
636
27
748
601
181
310
812
355
729
861
579
163
257
894
795
852
8
126
92
135
316
912
461
819
159
887
820
893
950
482
983
665
68
774
832
845
874
690
630
23
285
467
241
535
510
636
471
93
203
535
886
894
139
463
232
135
467
205
1000
985
762
550
803
121
381
835
957
859
63
290
61
767
348
159
437
397
128
127
7
449
584
606
564
225
806
790
386
725
662
234
887
98
852
877
277
469
614
81
251
337
270
241
343
840
654
992
915
203
464
830
704
579
754
221
479
311
125
931
635
383
615
341
476
445
981
968
559
323
798
299
681
400
810
299
23
564
27
625
502
701
354
681
630
866
944
125
3
318
40
328
126
605
825
605
417
739
642
738
104
304
42
409
216
20
284
717
21
907
269
842
74
661
429
277
505
299
721
775
306
440
742
322
136
788
934
965
618
555
984
320
178
556
862
922
238
687
312
362
954
310
306
339
779
860
655
304
829
619
947
420
397
194
34
902
10
683
501
627
88
930
996
129
610
511
767
663
203
329
532
93
695
758
587
745
515
312
144
230
261
699
989
453
407
959
942
699
356
92
26
715
40
224
925
166
798
896
93
737
554
478
828
378
199
107
727
906
648
750
201
231
252
187
170
991
128
778
585
239
489
820
212
176
241
227
958
582
963
998
81
739
877
693
830
169
561
662
400
408
990
356
628
384
919
390
484
724
798
391
285
431
119
876
494
933
603
509
150
483
654
181
217
224
318
226
644
25
344
997
492
360
21
745
274
92
183
414
552
4
134
542
932
324
298
920
804
288
41
35
596
996
504
641
808
424
241
943
848
480
136
36
488
421
363
194
837
780
139
551
829
183
624
511
600
96
608
967
594
574
565
17
860
573
234
425
821
211
140
490
727
669
374
372
123
75
502
126
918
817
697
919
61
206
59
917
409
305
607
336
104
60
631
19
653
551
907
689
960
313
799
716
765
199
410
847
276
165
764
836
319
712
453
343
996
451
320
753
641
387
521
847
888
106
742
317
758
965
436
217
6
781
705
338
384
269
828
375
114
666
538
481
599
541
822
500
341
821
413
691
104
400
182
277
578
562
290
504
208
605
336
176
393
704
707
863
930
47
9
18
491
717
748
304
871
635
419
305
969
84
759
616
745
23
227
56
907
424
662
343
713
327
727
134
47
177
930
755
917
284
955
311
589
899
579
119
859
513
687
544
377
463
727
424
515
802
535
216
983
737
584
882
333
609
595
321
464
514
934
854
512
196
347
838
818
759
449
42
195
68
778
768
396
479
419
68
483
649
924
596
804
750
722
800
411
367
293
142
48
713
123
46
278
578
872
54
957
595
233
471
973
1
684
427
145
41
710
847
201
587
89
291
30
314
530
22
745
8
294
939
688
177
412
183
161
179
783
364
555
480
737
318
553
504
614
259
244
783
531
956
320
748
795
346
7
542
346
571
16
743
200
4
598
674
133
249
728
326
720
447
571
540
422
495
608
196
625
927
269
662
405
274
448
619
325
716
32
708
746
675
465
147
995
844
393
556
198
780
661
792
776
830
272
485
375
636
428
310
503
906
460
793
237
412
272
541
163
458
880
402
137
124
821
967
549
688
427
225
512
534
491
922
817
714
380
384
538
88
473
123
893
623
681
543
345
4
916
456
944
187
569
931
610
877
474
183
375
257
375
848
629
410
590
3
45
52
465
699
175
137
173
644
676
844
624
869
749
255
559
901
645
770
380
977
37
918
907
314
632
770
63
321
669
614
410
885
819
866
591
556
601
489
981
544
602
309
272
911
707
730
300
259
24
285
135
495
418
360
369
983
382
211
557
488
475
82
972
856
722
834
212
278
152
6
673
348
170
624
604
834
502
401
266
253
315
211
708
870
481
807
803
722
90
842
489
605
27
147
606
762
874
104
319
163
413
684
903
863
754
395
554
915
475
942
985
694
170
885
802
319
534
954
20
36
386
961
645
58
100
458
937
381
507
376
831
510
685
883
1
866
989
617
217
886
313
268
993
480
853
203
968
545
556
450
133
707
65
919
796
323
178
148
130
41
776
226
247
900
715
814
25
36
393
314
311
526
587
337
703
841
678
563
873
638
554
997
225
359
343
383
782
190
614
256
374
496
830
679
535
724
667
263
68
143
255
422
880
500
535
184
517
835
707
73
825
232
154
713
281
263
361
845
843
223
40
391
624
48
126
37
282
957
346
580
803
475
760
931
258
450
100
224
190
100
686
998
539
906
457
737
365
400
944
389
205
478
31
656
590
917
1
951
88
194
668
906
289
533
371
269
270
337
215
790
445
843
244
459
160
836
130
81
43
770
598
698
911
467
13
815
974
863
485
749
211
922
392
653
21
955
455
945
697
30
341
929
838
96
331
383
532
701
762
743
65
948
775
324
904
377
427
710
964
60
370
12
463
50
86
241
231
707
170
429
978
149
249
448
870
206
912
709
723
838
458
57
285
899
368
196
360
533
137
933
968
218
530
394
356
689
353
74
443
518
587
298
173
153
62
203
356
588
908
830
788
638
688
307
845
35
473
382
274
115
94
743
606
953
482
704
496
178
305
775
272
559
77
618
167
685
538
648
31
714
390
297
795
207
387
575
597
522
391
104
286
123
245
237
949
410
212
226
231
365
288
666
477
383
934
583
131
157
604
627
424
371
22
772
95
267
303
854
781
846
882
3
773
595
697
764
9
136
234
295
544
132
853
498
260
108
260
404
227
596
145
415
965
147
750
223
840
305
598
402
951
615
673
644
175
70
122
602
477
202
912
126
200
175
980
435
823
850
96
446
569
734
42
17
352
186
749
377
757
984
690
346
156
625
210
286
581
306
428
870
711
572
28
884
140
35
554
286
165
409
794
613
430
347
453
710
164
182
610
419
164
790
359
544
359
165
662
893
562
244
660
698
979
731
596
14
130
369
87
983
135
206
655
993
699
844
353
835
730
626
788
946
245
938
92
687
120
579
181
394
252
225
168
649
945
550
933
810
651
489
690
315
737
460
807
736
591
115
318
843
234
303
289
161
568
525
682
657
523
75
402
197
685
456
14
388
410
415
973
249
50
129
300
908
676
632
331
200
601
613
562
589
91
39
619
328
856
933
78
133
347
784
199
955
372
724
636
596
300
594
837
56
932
481
152
458
164
103
645
333
718
701
225
875
549
700
969
469
7
483
481
448
499
73
691
573
141
366
759
143
907
861
649
39
806
471
501
212
970
110
134
315
878
241
906
245
563
437
662
317
367
338
695
695
686
97
496
475
216
479
552
506
376
368
604
656
983
287
598
698
724
933
25
443
674
435
450
27
906
183
844
515
246
656
724
84
348
616
237
116
548
391
46
441
445
766
285
846
717
157
915
709
465
327
523
268
314
915
985
629
530
402
427
65
694
993
622
547
825
52
295
743
402
373
789
894
438
581
231
101
606
380
612
532
447
208
188
986
829
83
209
83
184
83
281
31
515
957
593
597
794
798
815
407
191
608
759
178
496
828
753
793
232
599
270
430
186
585
565
73
529
704
922
836
280
992
676
486
545
113
333
431
940
778
961
232
552
404
528
389
75
894
3
748
62
336
857
376
765
748
63
173
717
748
818
798
1000
162
975
715
166
130
638
291
882
255
422
918
687
662
670
73
680
651
291
70
587
764
953
30
387
701
86
238
639
476
516
634
669
646
577
662
80
194
245
64
355
895
162
511
941
590
421
148
856
830
652
220
724
741
230
974
174
846
415
910
696
785
849
306
363
514
106
635
329
654
936
147
630
71
432
416
638
672
595
71
428
648
663
338
458
82
165
192
218
920
832
168
904
796
400
872
776
94
858
250
564
926
881
546
197
427
21
651
161
878
739
260
986
674
510
819
737
94
23
801
885
175
6
206
599
699
286
523
333
477
492
636
567
649
243
234
688
684
758
373
287
137
551
756
630
953
308
138
620
349
75
35
368
818
620
576
395
839
198
885
555
259
969
885
24
87
22
760
55
705
274
628
771
47
535
152
958
382
666
928
672
717
75
473
486
690
751
575
393
59
682
556
673
537
750
750
538
784
155
106
995
796
1000
371
175
843
914
751
302
325
506
299
605
640
982
523
734
208
500
883
640
290
680
902
495
163
233
594
907
463
866
788
631
275
427
728
956
614
794
995
219
489
126
419
182
662
932
150
591
539
873
449
836
395
312
105
513
232
449
595
642
183
261
219
434
274
608
508
796
768
572
126
231
49
524
338
354
207
466
864
67
47
908
629
289
255
918
451
275
838
4
193
735
742
182
309
402
803
913
962
185
745
597
111
814
14
961
60
661
610
999
943
505
965
58
578
130
114
335
877
996
62
268
790
685
330
301
328
487
58
36
802
256
989
83
807
638
853
781
872
875
391
547
923
634
342
821
879
764
165
443
764
421
228
823
700
761
430
469
8
271
981
245
461
864
157
269
380
54
364
474
917
896
787
699
322
871
216
616
440
581
398
944
983
943
393
151
352
531
975
318
901
894
69
895
603
924
589
830
978
835
802
998
22
900
527
840
627
872
57
917
625
917
683
401
186
962
98
576
736
625
750
108
984
229
435
174
890
992
23
541
644
164
244
346
767
728
864
628
520
335
448
632
646
254
117
526
352
505
364
462
109
760
44
823
518
308
114
115
993
96
561
181
490
875
215
359
819
540
849
714
367
47
19
730
198
688
610
711
580
85
937
648
938
10
553
524
152
4
629
846
852
822
884
704
114
942
560
800
499
704
864
715
941
194
633
124
348
628
730
818
133
820
791
145
106
325
538
943
282
951
793
98
195
645
718
640
267
215
565
664
611
943
396
442
410
906
821
802
670
760
790
216
731
793
868
79
359
302
223
336
655
724
774
958
294
512
550
765
777
416
329
752
520
735
69
371
565
61
466
202
639
252
194
63
100
669
79
879
7
205
449
579
226
269
403
874
981
677
594
6
712
369
386
485
470
950
921
365
301
337
735
847
263
214
20
846
758
560
550
723
875
239
580
518
266
571
731
912
911
782
8
605
803
499
579
971
166
753
929
652
354
512
269
220
970
405
870
165
65
135
121
230
503
66
656
567
715
591
845
259
74
193
355
530
112
564
180
325
595
748
794
43
273
21
612
899
751
189
952
770
513
988
90
402
596
577
792
554
794
435
921
977
557
576
328
134
949
648
263
233
103
368
963
411
660
750
899
934
545
747
427
846
275
253
211
815
722
912
838
827
855
784
535
9
559
739
704
70
46
397
326
773
721
529
911
412
648
95
790
476
873
532
1000
553
993
464
942
63
267
735
277
593
493
572
226
436
650
709
571
447
968
514
161
478
738
520
668
458
631
257
655
659
734
979
754
804
827
673
943
450
629
746
381
525
899
909
303
978
286
67
785
246
790
492
979
658
527
149
598
942
248
801
4
730
734
461
250
312
744
813
820
933
676
460
611
606
468
262
902
752
572
530
692
979
11
607
783
965
621
140
427
712
614
451
180
426
479
499
859
866
68
312
125
312
438
223
277
228
653
877
302
274
276
787
92
600
726
154
986
210
38
778
519
792
801
147
286
607
212
217
361
874
267
958
601
677
62
482
433
542
77
462
479
718
87
578
451
667
39
943
285
431
854
804
410
361
567
343
373
135
698
56
780
146
4
12
680
95
13
307
38
57
883
106
918
416
131
28
373
749
742
29
783
211
32
560
581
968
343
562
875
2
366
723
476
931
424
575
231
554
519
164
353
486
345
464
672
615
734
233
312
97
225
708
363
245
495
388
488
15
459
193
291
713
692
407
488
203
705
197
554
161
279
929
599
848
720
177
670
486
435
90
540
542
647
754
308
156
451
271
840
474
629
550
123
914
840
235
124
196
846
748
631
574
404
166
856
813
360
552
282
370
245
379
358
669
359
910
171
564
968
729
130
866
680
165
58
272
550
977
799
193
714
526
621
703
625
641
223
304
65
489
121
291
164
101
569
217
569
622
902
405
800
969
410
477
536
350
402
605
272
6
129
559
337
627
607
649
739
97
212
344
690
656
109
707
942
55
189
748
261
36
217
493
464
275
318
840
448
987
768
262
559
508
272
29
450
553
592
897
312
273
409
155
1
918
782
516
92
676
414
555
367
230
220
342
560
658
364
453
473
590
8
754
699
937
516
245
283
83
749
757
625
174
375
506
782
11
853
311
152
115
835
823
181
709
277
234
352
746
448
757
211
601
396
632
606
723
123
537
614
381
917
59
879
590
799
312
191
471
19
883
196
571
906
41
33
140
135
532
589
937
647
354
783
944
67
615
960
233
417
967
55
365
347
94
641
873
900
483
369
810
22
978
603
880
658
662
205
344
297
251
582
788
238
485
60
825
699
978
588
976
126
608
601
319
698
804
547
948
83
22
292
943
959
301
62
340
665
15
102
534
643
873
531
664
977
753
150
787
445
172
109
63
974
86
418
757
287
229
253
591
840
376
881
863
838
772
840
799
259
466
668
803
301
418
95
631
631
97
126
7
125
709
815
912
521
361
897
538
586
197
630
948
904
29
356
572
395
30
292
988
1000
830
56
869
771
757
223
604
753
12
9
854
652
293
815
212
253
766
936
231
966
264
221
301
655
358
845
253
144
187
626
103
386
31
551
55
296
183
225
741
709
27
997
682
721
197
417
123
923
292
493
727
696
913
937
95
767
724
238
699
696
833
912
635
823
12
732
536
483
224
99
90
961
427
948
892
744
893
772
740
142
128
377
106
191
988
6
205
120
829
295
990
310
293
348
460
838
899
895
825
179
717
106
483
590
226
114
225
35
935
753
800
222
438
289
751
508
394
178
455
944
307
3
419
709
131
773
164
549
410
724
514
587
118
596
681
80
392
117
321
239
83
103
638
262
409
122
707
92
33
172
394
229
577
179
670
137
903
426
633
374
516
204
259
644
75
81
771
342
320
185
513
25
692
813
397
494
527
499
303
774
2
375
308
378
940
330
242
668
165
963
882
4
355
796
27
639
243
564
812
992
554
631
886
14
331
768
484
872
118
570
13
21
31
796
501
105
928
760
129
767
723
717
137
615
390
850
575
88
351
108
728
882
763
587
575
966
672
628
280
909
135
56
568
427
178
262
807
594
902
923
745
98
144
211
174
334
820
282
199
852
521
667
457
880
965
981
317
216
615
969
97
774
191
543
322
466
770
874
362
900
904
31
101
586
507
923
893
955
243
482
719
514
834
160
342
891
997
773
254
354
669
673
386
630
847
24
869
485
596
698
630
602
751
911
233
724
409
294
160
906
567
495
715
998
149
795
780
142
243
435
983
166
582
558
197
223
147
695
902
952
350
726
667
707
384
112
874
134
220
995
884
464
171
430
23
442
166
642
118
710
605
681
860
813
221
276
882
726
407
998
332
955
321
66
645
804
472
259
389
376
586
439
353
220
315
135
469
320
749
464
795
296
728
449
548
268
702
441
59
828
246
916
649
947
340
402
619
464
254
661
944
7
186
542
816
796
801
113
861
814
492
787
742
256
470
135
825
2
770
23
816
76
878
514
538
744
966
686
555
898
642
170
938
893
739
736
313
811
887
692
228
435
534
228
21
881
633
70
629
914
427
984
170
464
644
737
743
771
934
92
590
858
567
282
675
766
253
234
766
95
443
444
307
897
627
69
728
922
929
256
363
520
815
164
776
275
799
452
180
562
845
215
563
789
579
498
297
33
533
540
304
156
369
853
284
239
455
82
135
370
207
343
449
387
343
422
884
172
550
742
304
503
108
525
777
236
697
927
953
841
939
212
848
898
250
236
785
194
201
605
85
484
929
866
125
814
70
20
548
539
338
447
719
832
132
60
24
493
503
146
233
378
385
877
948
582
269
910
113
816
363
867
635
71
888
719
498
772
331
264
81
71
380
966
48
883
772
382
857
508
496
304
840
440
599
491
862
47
370
610
735
346
823
564
961
11
186
895
851
84
621
389
768
615
450
291
42
589
17
777
104
40
689
479
520
237
623
853
888
171
669
163
27
342
163
682
491
38
458
459
187
861
721
699
820
261
918
308
946
222
934
701
646
55
453
284
236
454
573
368
951
591
110
401
259
43
234
573
309
766
341
787
34
188
80
952
583
683
34
340
115
394
860
484
433
386
625
726
597
559
640
58
434
667
384
332
835
994
971
282
800
972
202
41
500
57
446
1
997
729
466
936
875
305
847
278
755
632
846
308
531
363
346
828
261
695
83
561
784
923
463
121
541
117
111
906
570
552
743
678
302
263
87
923
642
237
351
261
763
314
169
389
218
832
51
974
230
379
117
957
496
854
270
494
450
131
63
566
659
284
203
937
1000
257
8
691
280
301
175
82
241
278
900
789
262
142
705
949
595
543
372
570
717
487
987
969
180
439
453
942
417
74
745
234
59
127
864
744
720
440
663
564
625
346
703
646
117
993
853
377
902
95
618
806
779
815
67
612
767
237
798
166
774
889
606
173
370
328
356
492
825
668
141
653
271
221
944
523
769
168
892
312
69
247
679
839
99
999
882
553
522
24
714
318
249
27
218
388
460
195
30
293
498
571
610
621
983
642
291
762
656
337
574
751
719
978
835
284
912
489
46
814
178
378
134
407
498
550
342
681
448
32
317
748
53
56
687
513
774
783
566
93
852
125
762
400
766
751
489
116
264
395
981
389
286
985
790
598
116
972
445
414
251
452
818
248
827
343
801
849
893
912
836
490
487
416
436
685
247
480
74
837
248
111
730
562
863
917
926
698
689
186
330
142
42
970
842
761
42
217
631
572
95
289
770
277
428
914
942
14
400
742
220
895
495
187
32
486
279
162
282
887
97
658
18
503
962
844
188
883
923
523
801
251
158
322
232
483
205
951
506
288
5
246
156
357
913
449
632
9
413
400
311
698
63
856
875
356
74
165
185
128
58
912
822
531
657
970
132
450
187
552
981
670
962
548
382
822
676
372
854
745
42
32
654
246
957
935
993
167
572
194
977
475
18
840
282
830
983
396
526
692
7
737
858
589
125
18
570
593
465
704
414
405
489
458
865
717
849
672
823
647
242
962
58
157
216
814
294
293
613
871
958
997
243
87
513
11
385
53
734
96
955
337
490
368
515
608
384
91
805
651
49
642
164
102
61
710
22
888
182
989
633
926
69
783
344
549
722
946
3
546
632
550
554
425
41
507
471
716
761
129
447
699
722
268
675
942
790
263
130
414
427
365
504
757
436
711
801
497
408
212
193
598
437
883
395
764
369
266
688
353
127
602
748
568
639
299
575
851
510
87
172
34
860
941
88
877
677
534
582
45
648
451
957
489
640
903
572
407
941
982
123
700
922
773
86
869
973
808
587
821
480
382
578
931
100
266
915
20
796
207
803
601
931
385
165
888
215
716
632
539
456
462
258
81
865
130
547
261
152
50
61
317
742
327
696
325
254
114
702
293
784
245
656
680
657
337
887
324
30
397
313
600
159
810
242
740
180
364
476
879
990
600
936
360
154
371
150
217
849
935
129
584
466
324
588
962
898
987
983
899
507
906
532
656
412
500
288
867
69
603
276
27
65
748
947
874
680
779
461
391
36
557
854
206
599
145
726
604
397
386
926
254
533
257
628
19
510
699
318
880
432
893
466
104
353
125
81
271
923
421
907
659
21
134
787
811
224
532
552
796
830
222
894
785
624
942
847
123
749
848
859
949
849
930
977
794
103
602
286
297
912
824
638
356
767
348
609
537
263
797
833
573
304
331
98
109
332
594
83
644
742
483
190
781
794
40
704
498
969
419
432
121
138
458
40
91
932
857
544
411
363
339
797
875
115
456
366
781
908
907
869
871
988
310
732
639
117
412
313
21
390
578
515
675
840
284
351
741
58
997
374
6
3
505
557
854
753
266
976
258
215
807
613
331
688
533
701
629
760
576
286
504
221
478
116
243
544
549
523
698
22
733
720
342
837
695
793
437
157
614
740
115
886
872
89
657
813
426
997
224
738
141
229
610
611
806
110
308
844
827
337
370
720
856
551
38
293
718
672
132
218
51
336
512
736
997
179
716
421
160
355
43
356
769
419
958
134
668
624
637
442
313
769
922
14
436
963
720
424
401
31
90
536
590
891
909
425
314
854
973
227
880
736
879
688
414
608
809
166
986
243
623
433
371
602
279
924
521
195
668
4
441
801
415
424
717
815
31
368
365
425
122
415
25
975
977
297
794
73
997
520
127
472
878
840
324
290
368
67
89
901
726
880
515
683
719
164
655
882
86
893
515
20
950
711
909
674
564
211
133
922
119
323
796
440
73
402
497
75
619
356
244
671
449
567
635
77
939
510
876
565
229
658
624
333
465
697
542
354
628
146
135
640
965
144
172
859
26
611
515
349
709
934
670
800
511
97
756
254
390
443
861
620
278
308
968
608
265
379
708
840
941
976
218
895
202
379
297
233
46
993
846
267
564
374
332
310
356
122
630
791
79
178
121
913
682
387
404
881
160
5
286
917
344
464
994
587
315
876
710
317
525
649
590
617
598
117
422
220
101
256
913
239
261
417
448
513
734
501
790
465
48
132
832
219
272
229
4
153
785
816
338
821
773
42
532
927
218
166
561
65
693
679
524
57
251
854
439
14
36
726
655
697
29
944
398
376
530
973
696
116
524
845
636
374
116
27
427
834
566
26
252
670
306
985
249
783
484
932
249
126
220
271
119
917
787
818
610
410
327
955
657
887
565
452
967
724
230
145
548
695
519
900
576
166
1
276
597
464
820
843
612
505
907
388
59
717
205
142
993
382
551
709
96
818
991
600
247
205
739
151
481
457
934
130
145
266
624
517
908
332
111
789
98
838
931
535
529
424
238
384
545
284
296
28
574
503
121
604
829
438
48
807
167
763
148
888
300
779
963
129
709
730
4
483
628
170
795
787
430
841
37
407
564
187
642
178
985
330
946
264
643
293
441
916
197
324
719
120
565
386
148
843
321
292
5
904
236
496
395
495
429
238
323
38
722
637
684
375
789
282
812
241
581
94
418
605
355
527
432
737
341
658
309
793
715
365
785
305
83
586
983
197
125
589
2
883
390
298
811
510
494
989
358
689
137
80
284
865
412
306
537
60
863
328
473
871
615
688
741
463
717
74
381
784
474
61
45
398
215
848
230
124
385
33
693
137
293
111
995
336
172
247
254
508
395
807
723
318
863
320
809
187
588
787
449
903
449
756
605
205
943
130
749
624
506
493
839
615
658
628
246
342
762
963
512
545
683
963
600
580
15
814
517
74
811
329
801
628
969
697
390
656
494
537
803
766
893
754
411
35
855
857
810
180
181
700
955
870
656
132
753
402
206
646
298
511
178
915
769
361
60
70
288
656
290
667
734
373
55
554
552
824
160
272
133
652
88
204
181
858
371
395
845
178
252
893
53
931
419
454
621
1
278
712
235
727
828
215
315
309
704
285
119
797
386
300
170
854
853
837
244
258
220
97
709
551
6
154
954
318
716
880
25
351
376
849
338
326
505
118
535
707
738
552
116
296
25
278
481
212
843
938
400
127
376
616
744
258
969
734
507
963
467
737
765
782
225
88
250
412
695
950
622
436
472
965
379
562
635
666
567
767
974
441
103
29
494
384
577
233
142
65
863
467
298
13
709
139
982
654
789
263
71
570
324
829
120
197
512
368
474
499
465
713
498
736
253
476
660
159
959
953
131
386
373
996
325
219
22
908
506
881
811
547
185
14
435
657
523
285
69
902
393
99
586
180
52
783
692
618
596
544
923
36
511
670
404
788
664
726
633
625
34
948
332
633
289
645
577
350
136
181
991
889
968
31
805
272
948
481
954
188
104
759
185
92
424
797
392
904
202
345
951
536
92
874
901
166
411
544
224
471
255
552
288
979
895
312
807
355
721
276
257
693
770
659
798
822
441
985
156
239
599
164
830
507
669
752
220
876
681
159
983
443
503
835
977
373
619
868
670
591
919
30
756
857
912
8
55
361
666
466
456
770
560
626
787
192
635
240
18
654
908
198
122
518
555
537
264
703
228
245
714
722
149
133
35
314
784
994
643
885
94
409
802
66
342
866
465
434
408
300
172
861
400
777
348
4
124
787
978
161
591
561
586
111
371
867
858
547
20
8
47
452
215
103
514
39
518
291
351
934
875
188
81
902
46
811
836
736
193
138
259
883
740
722
603
24
443
22
162
86
341
655
200
107
872
378
34
953
991
415
740
159
562
695
284
41
634
665
506
804
493
617
489
573
512
872
343
169
911
759
308
946
501
32
391
225
369
285
481
675
256
944
952
504
49
631
337
468
432
48
551
520
238
29
477
388
438
107
485
480
58
725
575
319
486
245
414
113
824
22
465
183
912
102
798
702
642
569
932
614
12
155
218
648
103
511
897
65
877
431
899
156
192
415
911
522
969
178
975
860
778
110
142
318
424
223
295
486
292
832
267
726
321
66
834
874
459
325
967
301
405
962
991
942
198
790
925
181
8
518
341
430
52
821
528
792
140
576
632
501
762
733
676
675
11
391
85
530
852
921
390
386
454
392
289
670
324
139
138
682
992
23
248
17
849
854
57
441
547
453
387
462
48
66
492
30
14
166
544
570
734
230
533
77
197
697
285
45
229
192
478
856
849
41
53
639
117
262
389
728
791
502
990
571
46
840
173
372
363
996
451
791
447
221
864
735
690
91
527
677
277
488
28
926
489
284
134
990
149
629
471
503
432
305
443
169
472
274
677
864
273
452
737
305
453
698
637
698
255
235
961
371
80
986
22
698
511
844
546
536
445
496
848
2
464
218
281
657
33
35
78
66
461
718
308
270
815
359
825
916
121
698
519
661
291
929
94
3
145
470
927
864
815
39
218
108
573
449
793
652
841
723
442
3
724
484
569
854
928
89
308
827
310
661
959
598
650
963
774
390
461
81
646
284
737
992
247
851
651
392
483
396
86
616
949
484
763
93
206
467
504
519
301
493
774
878
961
785
278
494
234
69
811
542
209
672
960
832
625
163
559
212
788
424
954
656
265
666
260
936
209
230
797
823
46
971
785
883
463
662
218
308
287
101
536
681
913
573
367
195
377
887
140
676
46
468
797
688
161
876
201
99
156
697
91
773
742
950
573
445
254
45
233
435
634
843
912
565
749
548
76
562
423
28
480
237
706
622
547
952
389
674
452
255
738
836
429
39
731
629
210
284
812
910
845
258
357
638
352
11
551
773
797
181
386
260
422
365
801
752
392
819
802
173
586
813
538
243
593
739
931
844
751
19
401
430
634
883
673
760
856
367
408
888
443
243
652
679
329
133
658
159
689
784
727
604
954
311
61
625
335
247
524
453
620
383
405
258
780
751
924
605
709
526
310
93
979
314
680
810
97
49
867
488
139
699
587
139
14
65
8
516
864
237
888
962
249
680
922
71
856
503
832
133
436
197
54
501
535
4
562
860
416
137
495
887
198
270
772
950
906
60
809
256
570
991
781
406
964
489
605
346
872
92
986
561
996
429
397
735
760
902
833
224
283
274
553
426
753
791
761
532
274
98
400
211
10
945
778
478
125
627
754
404
570
151
599
304
239
377
458
772
428
746
528
240
768
768
713
748
39
135
498
272
345
195
249
248
138
498
952
912
513
354
651
693
968
602
499
171
600
326
375
51
293
854
494
194
20
195
269
988
805
994
7
259
251
222
638
459
789
56
814
108
965
833
159
324
153
527
376
803
52
960
206
812
200
800
949
572
537
482
360
931
737
364
270
360
608
804
187
136
405
340
492
18
265
835
558
857
326
276
285
368
308
882
80
700
437
337
290
570
674
235
430
422
123
292
348
530
337
467
637
991
22
934
168
269
280
702
634
340
95
836
384
502
268
386
605
615
344
580
157
846
408
330
944
29
777
857
750
384
741
29
875
632
498
87
763
548
349
548
26
589
19
441
940
505
719
478
517
805
168
427
736
522
348
739
360
956
203
416
59
15
831
248
214
286
997
767
871
231
920
724
811
733
403
441
569
776
290
142
587
219
171
242
324
445
2
615
336
198
16
89
802
56
901
718
920
774
716
963
945
260
437
522
347
990
340
412
739
514
646
867
772
105
985
773
137
687
286
629
204
959
613
499
571
3
352
13
991
733
872
231
728
277
478
134
366
711
8
522
512
654
942
412
618
858
219
339
368
304
286
547
679
309
87
763
397
779
768
83
186
90
932
505
940
1000
143
858
310
663
210
145
543
62
522
830
915
117
314
248
498
336
277
65
829
94
400
730
374
555
240
901
302
786
90
139
214
856
693
562
928
566
171
727
328
977
871
738
600
118
653
478
856
65
976
896
291
104
802
470
524
812
944
357
703
748
5
216
277
861
435
385
109
878
581
897
702
704
810
833
910
287
914
605
428
521
65
97
733
475
497
12
928
662
964
402
99
116
776
98
388
744
861
698
980
832
890
835
581
556
954
671
784
95
679
976
916
233
945
656
575
357
564
339
92
417
367
449
573
714
180
225
21
337
38
313
244
720
849
881
966
44
405
681
519
152
287
138
49
238
755
323
950
822
126
618
569
401
530
10
861
774
148
169
797
195
240
941
771
435
307
407
183
325
706
437
669
554
944
515
139
332
629
694
924
26
769
699
835
24
713
601
877
911
499
938
675
483
842
896
436
249
253
923
388
887
42
177
206
488
80
333
897
579
215
544
957
620
210
848
409
91
885
880
495
344
922
523
380
100
454
59
216
857
112
446
305
500
687
580
914
77
949
799
486
62
432
409
625
411
215
735
224
379
800
45
576
373
205
701
92
65
308
81
525
657
285
114
231
400
705
778
48
477
493
527
835
890
486
422
580
273
772
682
251
448
323
482
247
98
719
91
378
143
900
844
808
288
949
50
280
736
903
631
239
228
445
213
196
453
134
391
769
309
506
141
369
709
1
657
427
399
149
450
377
724
873
168
381
420
96
474
877
261
28
249
639
853
687
564
953
927
190
136
899
261
348
441
490
744
893
263
607
153
472
228
237
956
158
769
521
783
827
70
511
278
219
756
335
705
852
474
688
27
297
71
153
173
458
776
926
870
644
616
878
714
195
370
795
125
358
466
809
460
900
600
728
825
705
320
995
65
187
450
480
12
931
37
157
298
389
441
18
960
806
298
212
630
830
366
516
279
390
642
717
418
521
767
378
124
759
414
772
495
654
291
473
945
670
384
192
264
509
324
3
508
420
57
984
622
629
553
675
117
372
949
453
297
385
329
114
270
895
345
461
430
290
11
683
191
704
305
664
483
668
647
136
947
837
947
758
805
564
668
793
111
756
266
51
446
979
466
141
176
318
16
899
34
811
20
57
174
597
419
818
811
120
950
67
215
792
730
308
164
561
649
320
890
721
911
708
208
114
390
205
762
628
954
620
291
471
548
782
386
303
605
704
462
689
334
455
576
735
514
902
272
978
688
571
869
808
93
380
456
731
214
850
400
765
577
756
360
166
322
846
635
422
81
393
167
188
951
850
683
398
656
826
271
337
529
910
129
811
625
620
381
934
62
908
605
212
714
194
171
790
494
849
556
722
743
441
583
89
740
805
899
629
900
168
92
308
25
185
546
910
879
668
525
293
436
250
979
447
377
976
272
846
816
57
362
895
742
610
961
443
418
255
863
458
781
840
926
938
936
411
171
60
996
795
71
382
829
780
401
639
781
955
932
298
69
718
851
570
323
827
49
47
721
138
305
432
262
858
954
135
982
706
862
631
343
891
376
575
590
685
472
602
613
695
485
676
738
617
659
579
903
403
260
863
890
264
118
181
635
875
315
394
144
477
161
296
221
306
759
90
38
931
205
992
557
629
930
440
939
890
767
467
405
503
78
690
412
440
672
251
666
953
332
786
218
851
426
163
822
944
536
284
826
8
969
759
58
456
783
578
596
78
255
256
843
853
721
76
9
841
383
171
988
594
985
184
613
362
210
169
440
599
307
195
556
932
680
848
348
802
171
467
868
441
307
457
155
713
56
497
878
631
530
788
748
20
635
746
406
886
891
717
926
549
491
335
640
485
246
147
715
116
182
979
826
515
463
334
283
90
751
767
179
839
319
833
503
699
1000
646
644
822
550
558
398
396
113
738
420
720
255
688
20
828
466
838
379
924
129
413
509
204
696
711
775
476
209
752
365
122
373
57
892
532
105
936
198
158
840
252
529
701
923
100
475
751
81
223
450
437
330
251
37
204
659
83
220
910
469
778
396
837
100
381
39
21
688
972
98
607
268
80
503
505
282
304
655
734
591
628
406
281
713
443
824
134
195
736
1
488
3
260
254
720
302
731
348
875
274
301
764
863
456
579
650
466
622
466
774
565
419
967
731
694
802
885
669
149
814
41
25
407
415
233
90
510
852
661
755
442
565
962
457
232
714
299
162
676
188
199
205
126
440
933
953
743
506
293
537
981
386
554
359
837
323
248
690
582
591
151
427
269
116
533
996
298
637
282
477
725
119
10
247
794
834
598
826
379
872
957
151
652
805
936
218
291
934
443
874
978
810
835
559
786
715
522
963
266
396
602
897
707
638
1
151
95
182
278
750
744
88
760
818
445
898
122
206
252
853
873
138
687
970
482
426
242
15
2
164
549
267
160
452
460
501
820
385
610
816
631
451
737
741
438
518
114
589
740
805
39
155
80
555
168
673
732
687
886
414
500
334
612
423
729
11
65
684
863
159
125
417
21
907
818
321
92
232
356
309
782
114
934
704
923
913
133
891
73
934
406
180
135
95
59
967
247
649
595
327
718
192
35
865
120
527
72
974
955
526
522
657
519
837
549
715
648
117
575
435
74
498
608
840
2
167
979
221
360
260
112
927
874
736
998
335
763
574
514
510
398
387
583
308
671
525
455
576
220
832
44
682
866
494
357
801
817
825
532
259
219
422
910
779
661
841
839
647
61
844
652
655
199
304
349
181
829
63
47
913
890
378
177
546
875
130
757
234
797
604
794
693
521
512
17
669
461
883
700
866
749
593
295
558
52
599
933
844
120
408
670
909
28
877
474
705
801
255
588
203
803
260
844
713
804
68
938
819
150
329
449
149
801
712
614
543
330
15
467
178
128
584
990
870
192
645
331
69
852
160
988
46
725
979
107
369
991
405
656
73
800
759
328
844
279
158
450
119
100
543
67
287
65
913
619
42
459
843
313
510
223
633
390
4
121
830
944
110
183
479
877
348
634
135
859
838
444
623
874
228
382
510
50
661
183
513
980
682
994
369
687
832
829
256
706
100
104
480
494
568
705
1000
525
317
218
327
996
157
110
468
998
759
667
909
399
584
451
29
436
370
880
2
196
994
287
962
762
272
479
145
765
595
399
800
494
360
920
876
529
814
254
899
30
291
673
984
479
798
471
630
659
579
192
803
91
587
145
834
980
748
134
804
970
551
166
441
641
750
601
19
740
908
868
388
591
110
363
61
3
412
642
241
254
495
319
754
407
555
366
156
315
680
672
652
125
837
763
86
34
99
575
961
299
970
67
357
268
454
206
634
249
66
589
38
627
79
544
659
493
167
58
717
439
23
305
812
886
681
845
607
449
50
801
390
427
566
448
99
426
26
689
693
523
339
823
183
112
390
867
285
787
248
455
361
178
662
986
291
640
179
260
955
120
215
336
251
289
143
691
959
269
742
80
312
878
411
663
818
339
146
80
762
850
642
153
789
190
798
802
187
845
575
593
771
731
377
39
769
658
128
423
759
148
741
442
480
76
976
407
299
860
548
92
223
638
944
582
611
906
571
607
151
624
800
957
250
668
921
514
713
809
276
317
473
120
636
894
185
808
400
747
689
18
344
506
707
36
470
748
649
712
944
912
89
601
260
43
256
511
534
317
922
678
270
453
156
757
22
124
744
159
135
443
496
68
145
441
296
632
483
207
488
385
832
24
126
998
868
406
688
785
146
400
74
264
570
922
123
210
230
152
389
319
379
235
660
554
995
609
516
746
663
299
274
775
482
431
811
969
333
17
91
957
119
818
706
279
509
685
369
514
329
344
100
555
986
20
799
928
189
643
983
712
834
633
773
740
102
440
574
196
697
52
522
682
696
673
484
59
643
677
252
147
387
673
687
425
630
265
689
420
336
666
295
403
935
810
668
334
743
68
436
729
118
935
666
297
685
318
724
707
352
165
418
845
969
231
120
241
213
678
11
163
682
122
179
8
247
413
110
237
424
175
967
73
906
638
196
574
409
805
164
507
684
354
975
657
896
993
120
790
527
127
336
567
673
847
888
64
862
233
522
444
520
854
494
534
815
219
391
713
892
586
983
570
459
243
925
254
251
832
985
293
168
807
367
935
774
398
843
731
411
753
652
195
384
70
556
807
570
616
999
591
307
466
69
737
612
730
834
492
629
776
673
628
692
665
425
340
539
625
533
325
36
878
870
163
231
546
616
817
663
697
350
258
666
797
547
740
795
975
768
220
646
526
141
791
30
60
191
745
921
498
657
90
613
920
726
887
266
900
18
810
381
546
722
684
759
935
540
596
227
996
458
339
694
215
922
612
149
689
695
378
848
180
521
232
225
823
746
458
67
34
193
693
95
14
956
757
354
933
198
266
789
534
738
112
941
424
960
726
961
753
552
349
36
356
685
192
888
650
486
451
211
772
120
629
800
508
318
528
633
499
963
557
375
158
215
724
594
441
694
780
485
377
457
524
56
805
853
180
524
311
836
112
156
748
31
871
893
36
613
711
884
191
91
274
488
617
197
89
395
779
389
908
260
278
920
652
653
225
25
950
183
549
568
792
370
540
371
858
218
505
552
429
450
868
422
626
94
452
871
916
384
932
723
440
3
684
255
730
312
312
889
826
517
165
140
630
713
63
5
555
344
256
365
210
915
391
405
876
715
847
729
10
896
392
614
871
522
503
821
627
77
80
468
988
507
505
748
490
63
203
678
42
108
870
663
235
548
572
360
248
780
741
245
838
824
911
308
77
877
745
513
959
616
441
14
991
430
189
625
145
200
706
719
355
396
200
556
834
998
378
7
76
223
180
802
337
117
15
710
779
791
184
497
210
542
25
154
551
89
92
597
709
933
316
5
579
184
674
16
236
231
375
230
213
334
927
868
971
538
764
966
260
312
285
202
101
977
262
287
567
285
577
881
324
482
162
161
188
819
834
488
561
729
434
103
677
854
315
422
45
670
764
299
331
722
366
559
216
371
701
227
406
537
975
139
96
104
397
27
634
557
131
760
73
927
676
155
562
326
356
633
259
170
434
90
546
698
23
489
870
567
587
101
426
61
318
779
276
980
82
358
190
352
970
73
672
909
678
896
185
694
97
787
524
269
515
210
670
729
792
644
236
124
689
492
755
990
318
506
697
336
329
787
39
889
3
487
645
347
918
583
494
148
224
460
16
537
836
605
391
767
77
394
713
879
370
837
321
849
602
126
456
832
685
32
617
869
673
493
659
697
479
243
718
228
923
949
490
879
322
129
289
148
310
70
551
765
918
71
132
277
189
595
854
183
771
353
202
551
7
882
14
638
995
943
272
168
982
945
835
792
260
625
50
747
375
450
719
880
117
522
799
5
226
322
573
46
169
260
755
530
664
853
132
768
855
310
910
499
151
463
887
873
813
260
934
392
276
498
33
807
73
59
318
73
967
722
118
145
560
473
13
780
224
384
312
542
653
301
128
891
745
17
489
572
778
108
488
523
56
355
523
174
291
485
100
310
4
15
495
656
114
126
826
937
733
840
721
469
885
227
818
261
504
48
797
195
604
981
514
105
964
579
57
478
998
183
244
54
749
280
150
832
121
231
750
834
500
841
646
550
904
19
171
112
695
600
842
161
649
513
283
788
879
631
212
149
719
12
69
126
166
758
154
883
888
379
890
292
137
377
987
973
113
750
829
139
475
244
342
507
699
495
4
319
971
618
398
870
103
453
894
54
753
398
634
111
870
704
985
149
856
168
7
57
425
406
292
73
490
262
754
643
726
455
536
202
628
279
230
142
997
3
60
549
772
667
458
283
59
89
756
552
12
282
326
440
955
908
566
781
738
65
593
353
901
493
355
611
620
226
148
101
773
823
216
223
731
593
175
269
622
621
491
493
896
998
172
525
972
379
71
618
669
876
985
57
862
364
772
549
521
435
289
588
899
630
842
568
114
73
191
912
792
303
888
589
778
921
874
169
102
667
792
19
548
655
478
310
217
809
397
261
373
980
614
466
771
845
28
178
365
425
211
167
999
12
147
125
206
345
613
629
776
117
684
353
58
275
103
558
317
139
853
892
611
28
271
183
780
989
505
222
121
184
919
475
263
703
308
338
544
868
417
754
931
585
322
21
155
949
683
146
262
70
746
402
230
74
227
597
645
326
920
166
685
160
917
397
830
872
845
952
769
255
406
424
960
718
807
800
177
908
392
569
165
803
878
727
200
434
134
35
982
761
368
753
768
736
904
488
61
261
505
963
515
556
293
246
910
465
920
448
201
325
564
979
667
360
713
185
140
981
453
618
135
983
165
217
465
420
114
435
567
814
398
680
365
466
130
493
937
855
524
549
646
495
755
938
697
165
93
144
235
135
823
822
246
864
882
765
485
651
1000
429
597
891
339
7
398
939
303
301
1
13
216
613
134
260
49
427
487
874
204
929
406
104
688
301
581
102
621
297
635
843
170
802
681
723
441
978
980
59
780
107
821
432
233
423
592
686
621
96
831
467
794
982
725
371
168
949
110
115
542
380
554
695
568
899
508
116
951
549
809
145
610
343
71
495
603
636
611
989
545
772
604
572
635
277
91
435
177
223
325
190
642
471
687
736
912
217
75
416
345
627
211
122
669
380
832
241
551
628
52
715
853
211
516
51
239
980
140
800
800
704
321
877
786
392
525
131
377
776
64
712
665
362
679
133
655
718
293
392
150
597
902
160
847
108
134
835
829
357
423
213
912
920
118
635
981
54
79
733
528
756
488
296
115
680
674
400
338
428
701
617
224
909
383
56
654
347
137
5
548
940
819
154
51
412
239
726
906
427
617
380
510
370
574
372
897
70
660
347
54
847
559
58
503
698
303
490
41
506
836
126
929
935
205
576
540
48
532
362
695
770
641
452
476
3
902
11
303
619
408
953
457
520
78
96
26
711
668
84
471
616
927
828
611
882
377
893
860
596
246
100
955
96
125
671
275
583
794
360
59
299
530
377
511
388
879
375
795
414
535
421
412
162
514
642
302
570
216
220
270
534
359
487
55
906
986
152
387
214
948
105
911
506
283
813
738
239
938
70
675
331
120
723
902
339
365
80
997
196
111
863
682
127
148
956
648
153
827
704
106
59
330
169
469
841
603
612
719
390
792
409
550
652
154
777
351
558
427
971
444
775
623
56
780
735
20
973
451
471
910
384
976
466
310
680
297
149
406
640
836
637
985
442
729
75
489
110
605
200
589
41
858
802
408
952
395
387
583
430
274
648
392
299
473
349
48
172
253
803
129
897
271
445
771
65
593
908
957
419
257
619
694
748
889
166
382
863
122
594
973
292
297
349
802
655
944
818
135
48
82
246
525
377
255
390
62
286
501
415
470
246
202
401
800
366
835
307
146
746
201
419
429
490
600
90
780
60
786
59
478
285
254
769
708
187
563
851
630
749
948
420
387
904
449
865
698
315
112
628
648
947
629
795
117
72
938
460
50
77
886
464
438
392
57
552
441
908
259
955
554
500
961
147
108
655
183
821
667
744
965
157
107
185
539
89
208
592
774
596
656
24
302
11
219
619
937
951
689
209
700
765
927
15
756
327
940
138
69
571
495
370
439
460
179
797
819
922
199
761
555
909
445
27
198
893
505
415
88
29
406
714
775
727
797
463
641
542
201
41
817
169
735
552
588
798
378
221
986
237
493
338
239
53
793
323
31
397
348
136
296
349
582
112
407
359
374
231
169
825
573
33
988
922
221
630
948
541
743
739
305
613
220
280
74
151
590
806
981
40
305
3
24
5
536
527
298
194
479
692
543
508
714
940
56
145
830
508
250
828
759
469
165
836
316
132
630
269
474
836
643
938
826
310
758
908
461
126
928
975
243
227
267
323
107
167
714
169
494
485
383
480
525
597
699
715
842
679
71
139
306
287
951
447
892
880
599
327
215
989
800
94
56
497
49
744
177
380
438
591
465
336
613
158
171
872
654
149
569
836
689
133
906
849
373
36
902
776
95
670
369
220
938
286
770
958
956
596
635
433
296
785
825
651
51
777
532
343
517
445
793
796
677
486
35
579
340
419
812
259
344
523
500
309
635
571
147
639
819
895
96
539
1
651
250
414
361
164
60
349
886
884
418
426
164
771
622
707
930
934
522
993
323
934
731
753
448
447
561
155
880
949
928
703
232
623
22
834
735
974
1000
758
90
540
275
909
486
620
251
682
806
176
511
505
489
951
529
915
446
331
948
985
704
709
361
394
182
923
293
433
103
845
803
456
62
348
702
646
719
700
886
476
398
872
731
895
613
409
749
138
708
254
3
985
324
365
842
477
376
69
595
376
600
815
800
86
463
420
367
395
458
937
861
137
339
14
738
789
873
963
927
113
69
800
636
164
650
195
644
385
727
623
608
55
283
979
117
39
52
610
344
670
841
987
103
591
148
239
85
552
195
376
821
490
118
300
665
703
119
665
722
548
843
202
165
921
95
402
845
692
309
337
436
386
832
962
618
692
166
458
956
743
844
55
211
745
443
276
773
224
603
777
816
67
593
731
523
568
82
279
461
895
306
648
755
753
744
402
222
523
741
736
55
823
266
837
937
289
131
131
705
313
555
665
811
648
913
948
869
65
861
349
495
716
830
538
541
425
24
501
520
950
660
421
743
115
174
25
197
840
512
92
717
289
419
450
344
768
863
157
85
540
330
552
448
423
755
514
241
890
275
579
142
423
835
526
429
11
895
675
90
31
160
402
278
223
279
331
656
111
941
236
764
14
641
942
963
731
664
416
835
122
540
803
221
29
240
357
202
430
957
131
409
277
135
764
23
212
765
940
703
242
642
890
467
480
408
849
244
283
722
484
409
470
824
166
124
790
91
394
724
525
930
812
684
888
485
33
945
898
206
935
510
531
263
157
239
240
180
290
724
398
794
672
980
810
878
708
436
219
285
421
366
643
520
246
479
434
990
155
853
236
30
855
780
331
970
159
372
488
153
629
982
53
824
218
573
934
224
988
189
119
80
903
592
530
904
360
934
362
160
366
70
519
424
212
746
409
100
115
415
140
137
487
917
125
451
463
545
202
435
810
346
636
34
621
603
794
327
14
559
853
481
626
382
646
229
845
281
617
726
586
441
919
770
908
162
882
883
915
161
432
663
197
529
561
188
547
221
607
940
785
278
943
916
321
238
642
101
516
254
821
464
989
555
688
987
764
755
719
21
567
418
49
417
611
6
880
498
978
26
668
889
7
725
886
645
195
201
428
908
758
136
78
533
344
660
32
733
421
60
150
828
467
121
477
590
432
915
577
523
912
746
407
659
54
782
765
69
552
651
846
390
976
857
64
67
286
469
92
930
647
930
45
954
532
208
790
739
678
752
688
359
681
893
448
664
879
382
360
55
692
728
924
54
793
909
747
668
313
765
650
694
775
134
122
604
619
326
602
614
977
98
598
823
829
654
310
86
798
544
260
429
605
541
399
336
652
708
318
225
297
920
455
796
113
19
682
665
839
655
216
936
796
603
596
885
243
22
372
969
527
673
228
730
915
610
489
997
661
196
366
965
236
649
816
386
606
433
604
76
125
984
18
422
911
218
676
357
531
190
78
556
467
102
816
202
70
572
908
782
693
702
302
767
257
31
425
950
747
890
579
447
52
34
122
67
129
673
590
827
656
187
393
883
242
885
228
42
787
130
144
320
736
43
43
722
875
766
448
534
736
995
602
937
901
38
267
673
269
212
146
839
810
764
514
619
484
841
434
898
741
251
975
277
491
883
929
938
496
691
854
202
895
108
711
371
978
561
962
623
374
573
765
333
550
533
827
155
869
851
537
617
512
618
240
762
218
341
909
606
169
541
998
759
327
263
975
615
182
579
881
914
198
218
277
327
172
355
116
949
404
397
383
238
773
330
859
978
839
844
961
305
597
962
455
710
826
342
735
196
822
800
509
432
917
817
979
850
347
978
19
110
961
361
430
245
733
851
105
127
282
239
773
563
387
773
104
481
40
487
92
176
683
246
38
481
111
979
932
132
995
922
736
246
66
66
858
59
833
212
124
561
85
141
667
666
556
482
458
885
883
772
648
272
344
70
510
564
987
233
514
32
418
619
990
552
935
568
934
787
685
461
706
189
239
549
779
720
287
44
249
833
192
126
491
232
748
638
217
407
847
257
222
727
681
802
233
149
756
206
631
221
264
361
303
125
290
694
481
957
933
877
263
304
642
494
439
452
15
850
341
241
819
364
725
645
240
140
102
676
231
391
485
80
352
343
303
597
690
151
61
296
271
123
419
558
906
263
529
850
512
717
854
327
823
230
164
649
820
126
131
134
357
650
715
512
232
705
550
96
387
193
652
153
10
161
103
607
67
927
753
991
171
186
662
738
803
877
703
473
551
218
707
971
467
923
585
840
626
62
109
784
684
399
403
502
543
372
753
923
276
5
48
454
55
214
1000
386
192
904
335
406
339
220
276
426
509
105
16
557
892
45
296
140
330
509
909
181
951
147
691
411
667
216
537
458
174
96
78
296
644
968
927
227
506
927
807
123
592
840
455
575
461
255
939
870
872
531
889
453
261
154
207
620
515
891
20
732
556
37
977
143
1
518
530
387
661
9
492
905
763
563
987
722
535
458
907
60
256
97
110
818
951
850
887
212
652
645
706
639
563
979
792
22
519
771
923
448
836
148
711
930
49
800
697
487
27
40
874
573
668
69
565
71
699
241
205
676
119
297
212
545
456
675
31
481
343
949
420
764
862
428
234
9
739
705
289
19
752
705
342
710
641
400
900
608
398
897
345
293
89
37
793
445
215
17
260
797
229
759
918
416
1
972
687
199
924
859
946
376
872
424
911
109
397
232
92
991
399
214
296
356
17
846
839
831
607
607
994
508
519
121
202
399
825
828
250
643
280
309
445
17
587
637
802
899
453
260
372
757
27
927
174
629
59
164
608
818
498
585
850
186
361
155
497
53
347
109
623
658
106
868
525
554
75
705
624
104
460
335
405
472
329
874
813
71
729
810
219
512
430
706
936
468
189
407
264
751
399
378
230
83
611
654
496
744
690
604
396
296
311
321
716
48
79
6
593
795
812
149
891
635
428
658
498
337
439
336
259
832
264
290
680
861
445
886
106
741
399
882
817
497
484
202
366
296
38
650
526
286
524
517
431
397
75
646
820
646
530
40
832
785
553
475
472
885
493
929
657
592
479
855
789
335
642
437
879
742
452
25
587
870
925
879
974
617
825
212
363
896
84
242
477
683
340
678
952
91
904
583
364
982
454
59
183
445
481
569
421
680
813
1000
299
423
576
760
972
96
573
310
164
271
396
516
635
871
535
148
527
791
381
636
975
230
293
950
864
125
832
78
222
487
861
110
565
344
456
405
433
236
471
634
482
906
166
776
747
898
519
272
116
272
717
647
631
543
849
853
958
235
5
491
259
179
838
819
749
767
118
201
410
918
996
192
692
426
467
1
554
699
24
467
864
632
580
999
984
504
551
164
374
355
390
735
175
223
994
30
13
27
103
349
743
618
265
130
430
717
968
219
650
37
258
314
95
871
548
188
556
825
348
798
576
184
306
746
465
594
344
849
898
377
600
778
44
782
608
808
992
955
411
738
282
179
290
948
523
236
399
370
360
344
901
893
601
198
99
326
893
88
668
599
155
951
357
316
940
449
378
126
974
889
333
629
406
837
677
694
709
806
643
150
758
268
27
754
331
548
488
246
178
878
771
80
831
985
844
110
558
122
26
99
173
364
38
453
982
348
348
956
770
337
310
633
580
674
388
60
12
219
170
605
913
326
985
85
603
279
661
293
270
888
412
680
728
104
825
248
531
114
726
356
335
351
986
711
485
254
434
309
27
429
664
437
747
41
922
160
355
911
203
905
677
792
375
838
520
734
458
759
937
281
116
117
756
477
102
612
577
314
598
523
914
284
408
566
809
191
486
617
19
210
566
59
852
462
553
883
813
66
888
915
494
675
331
706
562
43
463
692
268
18
737
192
637
680
112
712
386
58
119
799
651
962
714
364
826
976
444
38
152
621
232
566
213
989
571
720
171
916
40
479
395
889
823
480
110
459
356
850
850
854
312
588
768
885
885
591
329
985
730
269
509
411
994
463
370
217
557
20
845
590
6
966
579
551
888
671
961
810
435
812
833
774
358
175
931
340
255
592
782
88
841
356
676
966
538
487
311
335
904
125
901
533
20
156
847
733
214
875
557
924
461
150
656
311
357
64
576
296
851
469
529
453
772
220
913
613
809
132
500
239
759
844
166
772
762
857
487
509
777
968
276
894
711
235
3
811
471
343
97
550
705
996
334
686
151
499
843
2
315
238
825
931
675
168
686
739
722
723
171
798
937
804
23
874
225
619
851
287
426
190
184
189
273
284
115
957
559
372
597
887
342
972
146
948
744
406
685
355
237
553
312
114
385
657
1
476
654
640
646
474
273
640
397
307
93
702
937
371
92
634
209
155
432
55
98
51
975
571
772
378
773
828
685
559
329
925
738
429
362
277
726
142
387
595
7
971
694
43
248
588
184
21
263
101
104
249
145
160
923
19
399
990
463
511
285
69
944
76
347
477
770
257
4
656
727
89
75
437
760
950
371
698
670
788
786
958
832
88
878
534
574
341
571
637
896
87
445
917
57
856
57
537
958
413
888
781
334
798
788
616
542
576
240
341
106
530
396
677
265
856
569
212
469
491
801
123
147
860
200
455
93
731
975
98
510
288
465
747
95
807
37
790
516
509
392
81
336
261
698
951
699
819
973
692
87
183
318
948
71
495
900
113
269
592
112
881
620
995
921
554
738
618
256
575
294
939
208
25
309
736
926
498
807
711
379
867
472
525
528
900
832
811
75
644
32
702
651
733
430
320
222
537
97
414
500
142
790
79
395
697
144
28
843
588
606
459
912
213
119
905
722
898
692
828
548
625
756
901
469
788
639
78
39
169
606
574
782
677
625
828
735
163
454
354
881
819
685
170
83
217
96
132
28
76
48
60
803
200
680
50
906
867
345
723
925
126
64
434
651
101
792
698
65
397
905
146
543
148
677
360
594
70
431
822
627
133
718
55
594
81
105
737
786
132
144
203
744
594
634
298
31
36
567
977
523
907
40
384
43
167
981
433
387
594
737
34
207
916
475
196
814
791
832
223
687
989
484
64
344
827
99
704
302
18
668
149
34
607
343
161
205
634
738
418
950
430
93
162
669
267
834
739
605
163
856
645
466
241
257
811
486
962
368
935
628
962
667
567
50
938
557
519
605
250
56
945
860
472
175
68
89
107
91
110
726
90
311
463
20
493
652
509
19
73
230
782
547
885
654
366
541
239
252
514
972
686
480
481
597
552
636
475
926
784
605
447
165
514
658
164
316
804
250
645
310
484
357
555
802
862
142
635
229
372
642
549
828
864
716
808
583
375
735
598
476
659
337
395
4
683
131
210
657
590
378
229
918
325
564
348
420
250
235
838
83
592
653
946
386
483
608
755
495
702
215
38
582
948
634
151
534
641
426
239
203
778
702
157
521
346
309
553
52
148
34
478
57
670
240
770
695
799
359
182
808
786
439
916
595
815
267
757
617
978
647
512
742
209
80
809
94
975
449
617
549
117
301
20
76
263
951
906
37
652
3
209
602
54
762
261
578
708
716
642
302
826
495
619
710
291
655
915
335
625
249
61
799
144
367
57
279
541
752
385
570
744
134
698
613
47
166
651
765
956
707
420
691
107
715
426
461
905
212
652
343
256
628
739
811
857
299
733
507
53
88
957
226
170
874
984
532
598
140
94
270
604
997
929
48
29
781
274
790
553
769
9
540
185
674
352
44
992
304
408
41
852
201
918
853
194
100
858
561
271
806
173
44
507
410
531
168
834
846
430
699
766
430
386
856
145
392
211
992
110
396
578
594
869
700
182
615
276
917
796
211
45
304
430
84
672
126
650
991
795
930
791
424
757
480
457
147
593
711
247
19
558
303
44
547
530
379
612
635
356
381
443
354
247
417
3
891
844
213
570
463
463
365
826
700
320
739
270
878
272
740
277
440
692
631
334
440
633
279
590
890
374
472
344
530
736
454
517
176
353
416
476
653
163
483
785
281
989
156
610
48
19
271
516
854
336
273
365
712
469
10
843
357
55
319
922
490
342
380
217
821
200
193
751
116
741
564
145
717
438
657
601
365
824
535
340
725
504
71
370
689
191
319
520
409
937
674
715
5
546
193
359
83
399
999
517
509
566
24
309
367
135
250
562
675
143
206
295
220
360
729
61
824
439
903
518
462
643
634
854
916
415
557
849
59
569
823
431
453
768
860
557
674
244
366
118
637
453
657
365
288
438
970
50
184
213
481
53
868
418
616
794
434
789
681
126
384
775
978
729
649
743
342
250
686
782
462
551
653
65
465
481
996
104
951
519
195
992
109
490
58
901
580
298
692
715
448
304
199
617
130
518
241
897
953
275
821
18
870
411
39
180
164
285
108
278
922
137
623
106
747
413
947
155
502
665
549
129
794
557
352
571
591
322
430
644
584
747
895
130
891
370
458
205
253
145
920
392
138
231
821
362
78
957
568
947
98
216
639
793
342
759
860
583
849
874
340
650
977
960
386
105
151
328
592
304
446
411
347
613
20
203
212
914
573
376
975
275
801
21
675
480
278
369
614
905
359
163
132
334
414
587
961
895
193
771
72
216
182
936
247
303
565
200
35
382
813
873
387
144
977
883
1000
406
481
571
340
189
578
724
366
614
663
131
238
819
329
376
653
307
378
833
15
739
10
32
327
229
49
674
581
600
407
568
388
918
907
662
805
828
249
184
619
902
166
620
816
217
736
870
641
886
433
489
405
77
740
342
167
380
28
352
542
3
6
289
95
425
211
685
275
546
939
58
343
353
489
567
537
352
809
134
570
759
483
830
621
568
450
26
165
95
54
404
352
558
796
433
165
584
637
324
225
236
826
788
989
364
4
159
14
564
757
558
129
44
908
829
648
23
558
899
197
91
307
74
344
93
132
548
976
736
138
37
293
57
732
43
361
316
840
716
395
676
449
652
338
226
82
274
832
531
863
616
402
914
411
431
490
85
176
569
48
589
765
442
494
769
411
256
236
574
73
387
388
642
518
900
975
469
386
778
718
423
460
840
412
561
252
693
50
942
618
304
87
154
288
960
672
327
87
425
229
736
165
102
528
455
706
865
254
176
455
39
129
487
897
662
850
354
45
799
466
530
652
162
294
926
83
700
211
721
237
152
903
127
661
768
703
296
463
549
751
795
686
360
499
438
588
269
64
57
649
241
510
950
196
137
915
324
259
596
994
67
628
938
136
545
129
727
918
944
798
994
579
884
993
405
459
628
476
864
115
254
139
132
677
567
373
37
37
370
37
795
609
948
605
729
737
263
353
448
318
422
374
145
817
416
812
213
670
18
940
833
23
968
618
536
833
290
225
968
650
629
381
295
805
2
624
707
305
271
774
483
462
903
860
952
185
341
357
463
900
387
961
166
248
531
289
42
106
97
696
64
938
387
878
835
208
770
41
336
350
778
185
663
837
867
527
729
975
394
121
985
365
803
529
125
437
712
770
589
36
816
847
468
840
94
869
27
268
776
146
656
649
954
671
552
634
498
98
755
221
157
635
525
308
339
306
162
406
83
663
539
971
153
338
565
846
41
826
749
476
880
450
826
869
930
803
145
767
342
847
141
130
364
470
752
830
35
537
91
386
647
367
7
707
970
144
462
50
297
983
782
819
858
224
918
426
45
80
818
140
208
946
923
760
468
495
528
978
116
211
504
506
702
152
431
389
811
534
719
452
897
218
695
485
250
277
960
599
341
619
530
174
323
66
432
943
442
378
415
75
459
472
440
538
972
473
402
653
685
293
334
511
270
180
985
826
448
3
233
898
313
103
271
571
734
223
889
463
845
344
441
302
306
281
306
881
973
534
735
25
92
193
969
945
931
671
462
562
36
657
812
675
906
966
763
341
960
879
269
486
128
178
110
533
231
324
45
806
637
113
796
564
298
722
437
784
409
273
893
243
385
899
361
987
757
843
411
65
901
289
405
231
196
483
669
419
359
180
553
940
185
623
80
756
870
52
429
671
436
233
880
952
487
576
178
717
700
256
503
422
982
100
341
903
215
179
615
718
827
723
351
6
246
431
30
663
448
268
498
414
379
586
7
268
53
758
487
929
505
560
658
956
567
201
946
863
676
263
462
879
501
790
504
817
235
427
117
319
779
837
289
787
925
543
222
469
848
26
983
490
882
134
530
99
604
819
764
61
697
815
754
876
944
90
785
509
966
842
164
369
989
333
22
583
18
112
478
996
285
7
625
930
724
824
756
438
532
869
122
709
591
245
322
292
631
365
101
35
535
309
922
974
117
413
222
916
40
986
616
156
267
160
682
559
605
635
154
240
433
555
488
210
669
807
805
647
412
802
156
901
431
191
891
947
891
37
701
770
247
667
509
81
272
813
26
827
527
674
178
216
436
214
76
332
305
349
406
988
233
690
374
158
919
138
403
156
755
945
789
805
457
849
446
938
702
449
673
944
917
342
616
551
373
417
704
637
240
318
906
718
96
339
65
638
651
910
938
166
150
379
817
406
976
47
768
385
467
241
584
740
875
776
538
164
675
320
899
159
146
16
932
676
280
233
847
446
547
445
706
134
41
56
847
984
793
477
761
281
829
839
699
779
671
541
499
237
533
257
251
325
435
106
461
478
803
447
312
700
913
172
472
957
694
391
654
530
6
186
788
640
493
408
241
727
489
575
989
980
298
595
27
140
314
363
590
93
141
305
946
517
815
583
625
666
707
975
956
416
513
431
681
846
945
908
254
963
430
377
132
655
133
828
20
606
102
684
545
680
191
292
299
254
696
48
510
70
286
293
897
446
940
310
376
103
47
639
398
444
753
454
637
844
921
926
658
403
783
339
945
667
488
214
402
997
256
882
1000
654
776
702
780
158
833
641
803
148
875
18
992
822
375
9
997
972
411
938
361
817
819
476
313
89
672
613
439
301
568
664
323
725
435
651
44
377
87
93
20
209
810
624
313
802
619
889
942
74
629
834
147
913
211
880
842
169
200
423
661
178
452
803
134
803
467
159
500
15
631
565
605
210
880
477
132
762
209
770
134
820
526
609
489
962
802
971
403
147
318
884
561
339
98
357
843
274
297
533
809
125
367
816
292
231
350
577
514
617
517
606
125
782
884
629
421
122
846
67
814
371
271
704
288
679
936
97
189
276
102
348
216
199
349
345
858
218
562
690
862
928
62
318
549
954
468
231
893
360
808
881
346
622
771
467
317
18
760
830
66
854
586
666
530
724
222
521
260
937
29
386
205
272
256
738
577
528
429
571
380
632
431
282
490
702
715
298
372
93
100
960
599
348
12
509
356
982
902
962
25
182
770
320
749
855
402
799
618
907
961
721
738
308
41
296
968
267
147
769
588
794
841
311
465
44
477
588
575
99
516
166
887
240
909
774
666
374
937
980
264
980
198
21
307
849
110
363
997
906
475
66
936
653
100
189
473
66
444
272
79
353
582
392
674
588
507
440
142
131
937
996
497
644
372
675
274
734
62
841
800
479
939
396
889
586
344
705
388
523
515
812
747
718
447
787
444
862
659
455
668
402
854
744
132
569
217
601
271
637
335
761
370
695
326
650
341
881
764
339
5
905
465
816
683
675
967
766
878
56
835
691
583
47
523
491
523
224
617
528
241
854
692
833
482
950
931
313
777
436
898
756
472
724
518
973
691
254
448
645
912
985
464
289
872
375
402
319
512
144
516
348
536
977
774
699
956
406
782
627
692
250
499
877
873
418
872
26
12
343
825
520
627
994
783
442
207
259
71
817
627
451
65
709
277
827
919
437
169
327
97
999
257
160
662
196
44
490
485
994
301
236
99
393
389
910
923
437
240
499
982
24
532
627
31
871
963
623
213
321
821
660
4
665
244
834
193
344
655
903
95
648
862
436
20
557
231
258
252
938
151
439
452
618
732
532
446
798
323
414
806
820
942
868
509
601
187
6
232
909
529
731
504
234
125
708
26
223
497
712
964
521
438
827
911
364
517
675
513
509
424
755
466
856
158
15
705
682
810
969
126
504
225
50
104
445
385
378
421
401
726
807
922
463
962
934
401
803
167
734
758
679
27
632
394
310
204
96
246
93
686
311
547
81
856
83
656
647
773
886
815
28
789
896
746
776
243
914
323
191
399
329
432
484
198
640
280
771
688
623
56
996
165
908
872
504
169
599
316
352
498
588
806
351
281
357
157
495
2
422
430
701
68
40
169
701
156
411
612
550
100
457
299
432
537
158
796
361
866
558
919
942
320
810
914
554
153
53
566
211
953
476
79
854
120
677
885
58
387
286
240
927
75
889
592
489
455
477
210
33
183
3
501
638
288
145
768
641
605
39
914
860
853
570
726
221
788
804
931
831
995
249
180
659
909
977
474
712
600
31
322
12
714
208
81
732
717
7
538
562
221
519
765
760
788
43
673
359
43
505
500
693
315
98
677
734
321
123
120
759
601
731
27
470
486
74
687
54
420
435
622
595
354
56
645
891
724
687
65
6
298
409
278
811
761
872
515
380
463
915
304
322
208
470
531
73
281
773
639
698
192
141
578
977
771
27
635
441
297
616
136
524
354
956
347
201
939
533
575
312
184
200
622
276
706
612
223
51
219
646
70
996
540
814
312
782
533
337
208
582
859
379
710
588
601
921
338
316
1
885
643
244
544
424
950
102
585
731
797
512
575
345
710
740
661
672
507
51
139
369
324
513
769
324
944
135
470
184
837
906
253
759
474
641
574
212
166
539
461
601
622
14
859
232
914
657
682
262
316
173
908
197
768
744
940
213
327
548
131
749
35
107
7
433
98
722
294
203
111
501
242
437
368
381
140
20
936
133
131
513
286
515
620
44
743
632
633
82
925
105
445
15
635
797
694
312
379
721
968
129
808
233
551
380
874
766
621
673
463
186
677
37
553
299
406
988
709
166
497
363
882
667
163
296
1000
189
215
853
830
384
622
155
926
728
390
239
272
975
463
552
390
689
108
683
268
736
879
922
474
5
868
242
162
625
376
596
562
685
550
746
666
730
807
453
499
384
62
482
362
30
863
804
846
843
559
336
289
404
528
760
535
763
310
276
552
88
218
621
473
968
614
335
117
52
609
44
887
916
341
471
226
989
377
16
480
904
1000
969
108
876
352
897
672
548
410
256
903
327
811
58
505
359
363
298
986
175
912
873
995
517
888
955
110
9
496
102
980
155
965
946
43
603
749
915
781
741
820
320
632
467
470
90
211
407
153
573
463
959
913
149
738
271
922
805
538
669
470
458
860
125
531
575
666
43
656
543
975
42
553
324
466
432
151
169
319
743
341
535
176
53
883
924
758
810
136
9
689
535
386
347
480
72
551
905
494
39
931
863
915
748
529
447
440
134
152
35
395
179
147
425
509
903
179
924
386
231
870
907
16
976
491
555
333
697
137
784
916
452
995
770
409
292
364
60
143
916
62
990
736
53
757
20
157
4
509
639
863
252
530
681
120
232
766
277
564
126
389
155
385
38
720
679
247
30
415
842
220
245
962
412
534
830
682
569
939
406
441
650
804
625
251
95
873
734
755
269
757
125
380
613
848
580
565
483
295
276
78
140
111
656
876
533
270
950
362
961
852
468
172
213
911
797
823
485
785
667
637
243
958
583
382
200
433
266
963
761
834
589
329
588
54
942
470
453
374
928
22
157
385
867
532
93
941
824
855
995
634
792
551
506
954
227
351
465
382
321
961
235
152
309
516
964
331
595
1
416
125
699
785
868
79
845
254
649
924
525
197
71
331
510
174
866
804
602
661
760
234
885
105
480
386
341
408
313
765
505
522
325
803
223
17
474
335
722
486
162
625
902
608
196
44
180
545
769
614
292
78
794
264
143
581
883
609
195
483
307
464
894
326
519
98
326
945
212
470
646
547
423
262
793
675
882
574
687
139
696
566
392
998
431
164
707
601
846
175
269
477
856
823
513
650
786
756
804
505
593
35
598
948
562
471
789
980
907
970
261
191
814
200
236
928
750
981
244
38
248
306
385
176
979
767
86
624
641
489
770
453
82
367
650
651
135
522
393
522
807
409
540
278
864
935
365
213
338
296
356
319
154
937
578
459
914
252
997
474
840
123
252
721
28
402
467
580
453
786
430
386
613
310
891
134
312
857
757
20
847
663
710
559
769
803
131
593
482
8
239
966
156
5
45
22
837
734
63
387
169
448
710
656
841
714
978
734
740
738
295
572
792
294
418
950
649
781
859
778
704
538
598
112
395
655
802
706
398
924
807
464
105
476
937
594
731
900
575
615
497
318
494
625
608
990
668
397
158
483
646
937
662
366
105
118
669
668
391
869
764
61
674
204
344
835
875
50
739
259
639
452
590
838
474
203
947
330
601
409
176
95
234
766
617
532
721
585
918
869
490
707
75
570
755
513
555
953
751
136
269
417
623
883
830
810
181
577
232
99
445
233
57
466
255
22
370
341
282
956
675
717
435
125
737
272
9
577
578
438
925
142
672
607
44
583
231
50
866
497
456
982
890
246
839
452
522
71
876
358
693
221
92
956
319
589
846
694
266
872
260
41
794
706
478
290
303
593
650
957
803
674
240
489
723
587
697
505
558
680
113
657
367
864
208
521
342
237
869
629
487
424
535
874
957
236
886
27
750
891
688
38
266
513
127
146
704
50
657
515
391
61
190
318
921
64
471
687
409
236
567
944
265
328
759
878
626
574
509
601
2
220
832
691
752
91
140
926
696
219
549
900
581
167
716
173
113
146
506
478
977
381
173
640
581
505
291
534
284
916
355
393
512
161
851
227
455
391
580
938
49
855
220
946
513
233
412
802
42
280
138
316
156
962
818
164
807
717
326
831
602
985
73
996
381
461
443
156
988
780
78
356
225
538
987
399
931
571
975
783
585
432
661
927
57
861
211
966
967
829
980
484
592
446
439
96
434
605
129
707
357
748
900
605
680
548
347
308
724
615
194
188
88
563
360
492
387
916
562
306
232
325
623
394
28
574
94
588
530
642
399
613
188
881
495
801
995
10
936
111
960
214
313
329
316
81
280
51
307
520
760
322
686
64
460
372
97
177
538
949
131
264
107
138
194
95
299
427
254
274
738
978
176
176
645
755
636
540
245
160
518
485
799
331
321
300
365
98
317
763
364
863
122
125
120
352
906
123
786
274
673
559
537
404
913
62
437
502
465
589
135
787
620
143
458
392
299
939
963
340
698
957
752
90
877
421
206
661
642
236
768
623
484
840
634
46
498
231
984
585
963
177
398
471
705
705
224
117
453
55
965
417
148
173
204
590
576
713
188
588
732
236
951
680
61
980
796
816
88
132
994
750
973
996
827
724
210
867
470
727
42
652
752
921
138
532
536
894
772
2
333
798
991
677
733
261
300
126
472
224
948
848
201
468
211
189
577
685
10
665
883
366
758
677
202
674
615
30
116
725
207
57
1
377
442
353
258
726
253
340
245
963
992
893
229
185
715
292
436
21
771
584
137
657
981
279
780
953
158
958
354
872
886
985
540
363
294
30
715
163
2
489
542
755
570
252
709
814
532
441
348
81
547
912
825
511
281
328
867
947
392
569
441
313
386
62
432
518
159
420
894
824
793
385
595
439
499
678
639
488
663
820
180
302
629
348
634
192
174
174
344
481
651
1
337
585
427
805
684
366
532
423
982
808
416
168
643
315
353
234
2
554
254
360
744
860
645
858
767
620
128
659
426
975
884
441
14
404
692
296
482
460
508
599
622
999
832
949
395
729
1
88
629
818
37
689
70
571
904
782
628
934
819
381
742
665
822
548
940
543
890
760
77
920
763
904
208
244
55
692
736
922
386
556
312
47
28
335
921
51
1000
189
742
302
632
207
672
66
384
120
822
949
75
390
939
206
771
673
440
794
280
357
686
112
569
397
171
713
464
173
568
112
659
485
935
979
419
36
928
687
342
13
595
118
214
419
145
148
282
847
127
986
267
285
606
841
11
356
264
990
995
129
810
420
835
269
759
618
501
811
386
1000
230
310
660
714
4
449
32
223
45
458
235
179
965
835
659
564
109
959
456
2
131
123
243
398
63
437
171
826
929
779
171
653
505
739
373
445
940
25
86
87
778
359
192
933
399
274
515
491
984
556
531
320
932
280
780
377
54
543
459
979
981
10
988
939
961
347
786
181
630
460
91
347
397
205
439
453
791
912
310
673
515
615
555
707
948
369
424
1000
545
403
416
279
921
153
707
506
385
410
634
329
367
907
524
595
486
685
231
265
949
493
857
350
628
268
494
120
415
512
288
876
399
950
770
62
6
454
196
330
473
611
577
456
940
691
198
686
22
6
687
155
891
828
98
537
829
101
73
952
695
129
862
485
949
344
861
360
736
15
402
926
989
453
687
157
708
879
164
261
348
617
98
353
725
690
817
864
992
202
895
530
971
139
538
329
604
325
566
709
361
309
684
815
176
930
188
179
913
106
848
532
396
201
471
966
783
943
597
672
395
450
804
866
186
413
380
333
691
821
474
209
638
941
399
239
418
445
446
794
247
651
453
305
165
898
337
666
997
935
27
349
4
66
496
649
238
470
140
506
556
804
319
834
832
663
732
131
150
983
206
422
673
764
601
262
437
788
799
619
531
137
159
923
14
400
388
495
421
432
533
835
914
399
649
992
975
634
782
325
20
522
85
499
491
235
231
488
757
626
834
675
658
25
219
901
630
980
731
442
119
219
759
445
447
236
759
333
366
933
891
25
300
711
306
604
654
228
742
248
655
821
848
800
895
223
563
364
106
802
971
701
746
3
266
1
649
59
865
811
332
325
231
520
547
781
694
826
334
350
391
18
118
667
473
762
378
888
885
302
29
877
367
648
939
906
779
359
931
582
530
989
227
269
632
151
514
721
908
391
746
975
936
761
315
826
623
62
493
349
677
208
858
23
853
75
2
952
565
470
965
596
342
604
690
185
673
525
312
691
936
531
206
827
533
457
571
56
793
123
759
994
933
921
708
912
156
684
599
268
955
536
283
326
843
373
149
964
6
983
819
694
833
606
458
795
882
879
589
197
612
723
952
406
112
713
388
358
154
838
692
528
116
412
128
35
699
56
579
730
946
314
343
494
707
479
233
18
622
623
925
402
645
678
493
756
341
630
682
867
497
553
737
663
69
255
551
882
135
759
499
857
298
720
534
786
961
134
73
203
974
389
712
613
443
779
69
434
877
85
895
428
464
749
126
801
962
435
759
28
606
503
235
225
447
35
543
615
783
550
393
202
642
503
632
299
847
974
520
941
813
700
627
557
84
748
879
476
589
682
716
994
726
24
424
740
686
188
433
42
883
825
802
841
952
701
141
435
538
806
964
27
36
390
820
592
498
15
586
73
161
494
989
266
444
840
761
91
798
921
842
68
485
546
669
990
254
153
942
731
841
92
180
74
438
714
36
237
571
162
599
528
324
785
846
152
472
556
15
766
893
753
894
797
563
408
942
890
562
746
709
118
774
866
236
740
368
455
1000
354
758
190
477
282
434
793
611
885
961
426
275
313
491
195
357
861
332
94
211
730
453
608
60
475
350
555
371
842
345
471
379
9
221
990
675
477
77
233
254
987
425
160
461
853
850
220
59
83
989
390
32
469
211
889
782
615
133
419
123
497
16
777
823
765
187
87
487
411
833
696
245
869
924
989
73
844
554
974
546
401
697
558
489
916
222
787
303
511
32
233
709
506
359
892
253
225
568
638
241
231
306
309
651
688
486
966
203
92
345
746
993
35
832
963
11
48
622
829
417
782
363
222
654
995
149
427
389
831
821
682
739
891
388
630
486
458
783
534
782
14
203
179
365
905
464
940
446
593
190
398
255
424
139
246
676
301
658
927
545
899
68
630
950
347
780
810
307
401
62
331
93
151
683
742
832
301
101
916
371
849
493
511
514
789
632
238
809
111
617
960
660
921
452
21
951
10
766
991
65
556
319
251
518
932
495
439
424
802
681
788
662
763
285
848
923
818
170
879
786
847
426
460
585
105
760
511
123
444
231
959
203
637
726
752
549
684
342
780
948
443
803
536
314
256
150
29
976
521
187
544
670
308
607
317
620
171
280
125
590
317
931
51
3
135
307
417
40
897
993
995
143
138
223
103
503
793
397
145
895
712
530
479
733
553
515
218
300
393
919
754
913
604
14
305
189
679
867
764
711
736
629
500
99
346
591
513
910
218
207
533
863
986
6
236
584
41
297
735
432
893
568
900
31
30
793
866
770
641
167
305
908
802
414
612
910
989
442
244
281
818
27
807
493
954
186
364
551
22
96
673
376
186
714
671
454
781
762
637
141
990
351
854
599
148
336
517
590
624
431
852
252
659
218
134
552
723
457
335
313
166
515
651
590
976
305
35
708
442
871
181
436
403
623
90
639
538
287
482
234
859
827
838
410
151
948
766
935
626
323
735
773
461
319
952
409
194
864
311
22
207
42
881
117
615
174
362
267
964
397
324
426
25
248
775
613
880
338
814
888
206
955
693
195
342
396
607
82
298
853
919
276
324
945
335
833
35
359
754
865
406
614
127
903
93
656
679
559
684
858
278
483
446
997
572
581
84
966
742
62
815
291
375
190
797
13
15
511
591
123
390
960
841
542
203
468
842
590
628
602
971
974
327
343
251
614
899
298
438
35
161
538
131
612
540
765
337
716
168
709
847
677
995
483
516
521
312
143
279
659
640
815
301
39
824
609
179
797
550
965
520
109
195
225
542
783
115
982
559
80
969
212
351
426
705
271
449
958
127
592
310
280
789
318
209
445
109
172
422
910
186
576
944
146
788
394
542
669
391
735
435
458
928
882
248
147
129
821
200
915
947
770
656
667
579
833
279
12
22
142
41
496
938
883
217
768
837
167
372
645
244
32
994
550
536
758
131
413
652
296
880
938
668
844
22
73
570
510
472
639
185
571
440
330
338
25
372
717
789
44
808
460
381
433
270
675
177
402
153
272
1
783
415
143
993
347
520
274
243
992
698
194
528
430
106
713
510
410
853
563
472
695
211
355
842
742
506
291
274
497
377
171
51
793
57
546
904
594
331
314
129
732
643
664
71
830
584
34
596
842
662
665
196
994
815
423
739
951
601
763
697
699
389
136
887
16
148
647
371
341
630
489
175
559
843
551
946
495
712
563
449
901
737
375
88
308
277
224
261
432
810
386
414
735
149
198
112
333
134
264
323
697
753
592
371
497
12
511
683
490
101
508
562
577
594
497
682
26
467
653
918
379
698
657
396
748
102
67
405
60
825
617
864
283
615
395
620
834
613
259
732
189
867
316
254
144
216
997
765
355
512
49
34
501
335
790
768
899
531
63
334
462
909
657
733
645
380
396
859
437
689
705
244
502
612
222
106
294
188
959
461
347
93
563
503
965
750
494
215
217
165
289
414
503
715
653
28
915
379
804
433
318
929
358
101
349
655
55
645
516
86
795
580
191
984
771
778
584
631
987
633
693
34
60
416
854
226
23
164
723
281
776
715
455
5
964
190
380
517
285
276
723
114
699
199
748
851
537
120
267
272
269
33
632
578
579
928
144
339
417
95
356
509
913
982
858
136
407
934
954
645
329
471
139
992
362
513
334
294
130
99
705
776
643
697
250
2
864
163
468
382
51
776
171
911
992
532
885
921
853
73
359
401
101
200
419
95
921
918
760
138
585
337
315
506
486
575
525
882
925
19
142
873
290
882
254
679
962
59
811
411
144
684
285
291
813
616
38
838
175
356
616
983
322
505
435
782
267
947
291
21
189
389
704
535
479
768
333
516
176
276
646
434
444
471
550
444
27
993
916
317
38
904
810
992
3
574
761
834
821
317
594
559
180
721
176
557
30
693
939
57
888
782
200
171
137
281
74
346
959
904
299
194
250
616
348
938
655
306
46
1
865
574
283
325
442
827
560
108
749
278
818
539
986
192
401
981
969
893
99
821
27
664
887
834
333
612
379
500
27
8
38
181
772
391
862
444
719
941
601
99
426
229
587
715
984
501
864
477
445
39
666
263
658
6
218
698
799
421
470
800
207
522
673
531
593
880
590
198
381
31
787
197
662
296
653
27
261
714
708
849
475
686
339
114
332
23
294
973
612
571
155
206
487
479
518
420
322
495
827
126
98
360
605
83
956
494
368
27
551
710
621
442
271
562
174
602
892
346
464
466
889
429
709
366
478
790
463
624
420
185
634
385
770
289
46
974
36
566
443
39
680
369
182
578
487
938
949
714
90
586
552
739
863
293
192
513
469
398
665
782
587
797
623
355
704
343
362
375
442
700
609
84
558
944
422
635
621
653
632
437
393
9
235
498
91
733
734
999
50
270
738
90
779
730
51
497
38
520
65
98
362
493
526
47
417
682
647
369
656
391
110
231
30
480
679
227
909
179
67
96
967
650
195
258
481
839
175
454
418
847
191
526
708
171
946
95
299
695
504
490
958
214
157
765
297
643
410
82
144
766
315
33
243
550
144
704
225
586
845
416
930
190
795
120
459
51
124
348
797
85
296
488
421
338
663
896
110
354
454
22
68
423
30
299
539
503
227
8
365
447
356
717
268
319
712
185
234
256
481
795
44
312
553
709
859
160
101
905
803
370
709
202
608
211
477
179
770
555
814
612
92
561
544
701
168
210
562
884
132
686
509
467
951
820
844
678
660
537
259
972
182
280
577
608
805
919
169
551
966
514
444
767
708
636
139
821
83
611
2
499
813
228
940
851
700
908
853
673
672
318
207
913
826
691
846
945
520
901
657
931
392
449
520
738
146
103
359
999
107
848
233
942
828
225
151
564
477
850
686
556
354
115
524
157
639
662
818
774
393
168
561
765
906
434
249
251
740
516
761
230
155
884
751
522
208
194
828
268
467
269
447
842
170
339
769
981
654
389
689
904
50
731
861
974
578
547
833
191
246
210
338
443
388
632
360
953
290
784
878
841
89
759
52
28
236
472
208
990
81
140
180
22
564
186
428
747
552
116
917
561
112
198
871
602
890
511
418
621
807
1000
586
796
491
756
293
167
211
600
785
847
608
439
415
588
158
562
817
588
159
215
274
670
998
333
523
66
596
258
347
92
216
667
31
947
280
663
164
691
449
190
345
259
961
500
51
968
169
406
297
604
284
417
755
593
548
701
692
193
467
985
387
881
282
141
744
333
523
217
418
492
390
115
112
202
694
914
662
826
251
127
137
55
982
781
475
867
409
284
107
202
918
494
600
458
914
280
622
384
975
116
393
240
207
938
408
408
250
578
364
756
835
587
150
145
334
110
259
443
504
856
176
269
494
828
126
515
242
659
83
339
576
888
74
964
699
435
628
93
259
888
695
174
837
938
468
67
570
440
333
882
548
142
588
895
797
89
686
476
958
35
487
916
186
14
414
874
443
377
465
941
89
166
748
456
617
720
587
295
431
789
267
811
823
217
158
505
662
493
338
264
891
59
787
232
578
301
899
436
181
559
382
332
650
347
549
322
184
192
650
130
779
156
166
620
196
160
928
306
587
679
485
308
845
252
446
972
672
502
364
701
473
72
337
827
445
916
689
477
657
933
980
493
467
770
116
411
392
961
514
395
406
273
123
810
682
208
598
804
30
190
66
875
586
838
755
899
871
90
199
497
973
676
872
970
449
578
872
202
511
670
707
115
215
691
353
255
652
71
457
53
592
881
995
149
646
388
752
912
770
253
685
969
843
401
626
104
148
3
801
374
800
801
318
660
554
206
131
176
978
244
979
618
664
400
447
768
29
885
612
353
234
641
705
874
959
676
831
942
65
935
79
371
675
987
281
933
830
251
275
166
689
357
773
141
162
513
834
365
7
408
503
318
654
276
400
231
458
247
907
824
651
979
129
655
989
885
997
650
992
982
718
138
703
482
263
423
97
789
761
528
646
475
461
236
22
150
375
979
622
880
884
433
412
951
311
898
555
323
937
702
464
88
17
843
159
602
97
100
314
730
336
629
947
829
603
856
483
663
825
119
843
451
445
83
280
629
873
441
915
709
487
755
314
849
103
628
1
322
812
555
485
137
740
900
247
456
610
477
138
302
919
96
826
287
207
270
228
746
135
987
361
684
50
108
687
445
290
450
812
837
740
89
347
737
43
755
861
875
442
428
94
581
428
446
50
757
259
458
127
238
935
556
203
20
391
805
478
519
526
139
893
151
174
343
187
51
275
367
977
654
320
801
768
223
605
674
475
112
949
128
867
743
322
683
296
781
239
982
262
981
901
913
602
536
776
962
588
519
738
497
806
200
943
433
435
593
315
397
500
577
919
70
719
347
495
867
804
721
133
482
468
74
401
135
931
254
240
518
413
871
579
559
971
779
965
135
33
386
416
731
170
692
392
931
948
579
1
275
221
938
523
707
805
678
912
333
343
519
200
677
46
749
603
959
157
797
718
176
215
558
385
928
636
900
706
1000
682
661
172
689
647
780
115
725
943
874
474
455
855
716
396
618
884
579
343
656
6
330
185
12
648
516
205
263
862
392
102
264
19
3
819
708
302
994
476
628
436
749
792
389
367
864
81
702
69
693
375
998
262
900
224
272
567
546
487
175
583
195
763
689
396
953
176
196
301
133
876
135
900
460
981
719
250
333
684
393
487
701
888
793
164
504
44
983
576
501
854
650
514
514
92
775
203
791
92
985
673
210
388
453
439
541
579
743
176
810
722
423
999
115
499
634
97
894
922
55
699
735
572
862
804
321
256
344
647
975
470
821
629
597
242
380
324
464
798
734
202
513
957
215
935
218
325
473
482
102
185
14
684
290
427
60
751
199
970
585
865
644
965
572
89
180
416
663
917
446
32
451
103
662
813
547
831
187
291
450
926
221
429
980
552
326
856
704
753
430
531
349
289
359
921
667
444
766
489
604
850
512
608
903
955
187
33
478
418
467
710
965
613
431
991
901
401
808
327
856
520
336
104
692
261
102
568
808
583
730
741
916
449
802
791
363
966
701
591
510
864
391
88
5
955
282
676
33
458
441
971
816
532
873
263
667
896
524
460
911
163
925
497
832
415
132
44
629
563
711
853
12
261
51
201
716
480
217
731
671
376
855
456
6
746
469
771
374
197
443
171
311
125
830
728
457
745
803
528
535
722
86
991
884
365
426
406
235
987
351
66
135
793
37
123
115
553
112
620
248
420
587
235
210
468
956
902
378
915
661
857
719
553
775
639
482
583
746
212
756
932
503
729
992
128
19
364
483
987
699
316
604
686
596
340
380
270
498
78
519
302
406
107
631
130
766
807
781
217
119
97
862
81
472
629
549
636
807
249
734
185
618
416
434
848
264
769
110
958
240
258
247
864
150
66
797
576
309
45
798
950
402
574
100
401
564
510
576
708
575
412
674
91
595
312
447
602
42
94
407
826
706
986
732
63
231
741
331
398
378
847
261
583
323
507
802
207
374
175
289
424
88
173
420
418
783
268
367
855
778
117
448
809
566
193
546
47
268
114
702
66
389
320
523
31
855
684
163
558
808
960
585
354
397
926
791
853
100
707
472
336
722
62
278
501
286
299
529
71
475
145
739
849
162
88
738
555
833
628
566
901
370
457
519
609
767
761
945
515
824
749
394
464
766
20
762
427
36
560
887
178
214
29
900
895
142
459
275
257
831
669
157
969
682
486
40
145
863
351
267
667
432
992
157
457
945
638
783
563
838
668
554
124
813
696
784
568
861
832
387
816
282
258
670
924
268
321
968
312
187
77
509
670
690
551
474
702
184
64
695
105
973
598
795
556
618
573
891
28
655
362
134
477
851
536
503
754
581
164
228
660
759
410
173
190
996
347
293
363
293
138
21
494
635
708
65
435
307
584
634
66
630
865
548
292
56
154
42
916
277
867
330
984
54
542
152
662
968
635
585
252
215
834
403
681
828
87
113
719
449
407
608
184
877
988
52
610
140
334
236
237
752
904
103
632
186
261
617
992
288
802
393
938
525
955
805
651
528
153
341
285
311
975
94
931
941
611
133
812
194
191
424
52
910
600
673
55
343
88
153
516
789
390
126
114
173
71
959
192
81
503
410
107
922
238
831
485
532
514
256
307
530
302
409
608
201
599
697
607
471
649
152
212
801
394
98
211
486
717
70
916
856
12
92
681
378
161
19
487
492
287
35
762
299
519
783
701
893
592
844
599
205
314
442
154
736
789
329
260
411
829
762
531
152
178
385
708
405
984
590
121
15
490
654
602
369
36
503
578
601
286
525
598
63
67
184
221
932
321
582
10
14
442
280
359
349
725
860
11
165
721
716
449
109
64
531
741
441
713
715
80
69
634
876
982
871
645
3
54
745
544
662
289
226
630
940
106
309
450
274
722
321
922
572
997
311
994
242
574
426
637
831
35
194
301
990
740
452
909
378
269
888
101
957
620
842
696
831
886
33
321
427
702
340
673
352
581
655
218
688
218
64
940
852
908
308
394
395
525
560
484
281
907
20
264
235
84
767
620
760
491
566
825
260
217
59
853
526
396
889
790
512
998
797
869
944
696
703
433
791
951
64
628
62
148
591
722
684
436
511
746
459
905
143
571
223
873
490
635
359
348
937
289
772
189
893
102
264
70
410
574
25
154
384
371
589
269
930
612
209
469
939
728
31
85
599
132
872
781
879
249
669
634
617
483
856
4
813
317
37
772
231
84
328
583
174
891
635
847
586
808
974
624
268
720
649
973
19
148
731
995
22
977
843
579
608
237
653
832
840
6
875
263
13
64
793
62
256
141
514
223
921
458
198
862
312
819
511
771
645
675
397
181
817
417
96
714
664
677
973
730
944
544
358
616
176
423
109
82
809
736
972
206
948
767
198
772
979
760
35
459
23
781
894
547
77
980
988
116
80
598
211
163
910
508
858
662
496
101
539
362
797
76
322
32
423
37
681
937
23
852
315
567
413
396
284
18
591
651
182
983
408
129
274
986
706
243
612
384
128
543
156
642
658
729
833
573
185
950
290
550
33
179
813
195
438
411
519
667
430
990
461
475
423
640
742
693
107
678
50
567
890
422
320
744
238
63
366
794
750
106
400
275
687
36
319
285
988
26
550
386
509
389
989
790
340
907
292
900
568
397
366
690
784
614
411
863
973
120
266
462
147
809
157
365
246
621
143
138
375
349
685
817
397
576
822
502
277
520
364
86
342
952
351
69
782
422
814
130
329
751
492
103
13
100
776
23
301
984
569
188
735
244
189
525
374
370
674
140
974
546
82
583
857
435
459
260
848
47
143
405
480
995
14
209
930
50
82
18
771
212
556
21
683
430
149
430
744
686
927
26
755
439
424
812
335
290
138
697
220
313
731
334
247
707
443
699
22
287
307
550
149
875
684
645
212
831
575
479
392
790
895
352
749
202
636
778
666
385
404
593
938
642
353
647
281
440
924
624
787
791
132
360
2
719
360
12
851
171
755
574
594
803
336
519
350
799
905
805
527
329
665
82
621
275
216
714
498
573
269
129
195
925
980
100
712
604
264
787
68
829
867
750
76
458
215
715
939
813
279
524
757
37
798
614
496
748
182
341
765
692
350
655
27
721
563
945
480
704
50
369
919
928
833
602
326
102
717
751
843
360
831
118
981
546
472
605
677
614
256
829
829
220
730
403
463
418
673
456
570
942
296
164
955
694
423
959
152
952
511
143
556
250
83
804
474
89
725
329
691
419
315
269
509
296
559
37
927
249
228
693
803
685
707
99
377
49
614
814
491
603
258
444
204
395
673
581
292
406
789
63
260
922
88
99
127
905
704
646
175
474
564
586
310
689
560
401
434
458
195
497
469
777
379
831
260
476
271
209
639
314
166
485
327
572
389
900
191
260
142
951
636
669
982
540
525
287
411
610
81
32
628
108
711
332
64
933
507
847
755
456
492
524
948
318
332
229
600
456
331
429
592
760
6
259
537
307
433
835
38
854
878
876
147
185
900
517
539
915
260
703
623
587
468
709
400
224
746
139
399
46
487
216
412
681
83
308
88
97
69
401
645
370
149
684
118
639
588
475
573
815
826
485
665
96
954
820
781
954
844
159
744
3
337
292
727
77
864
553
586
940
261
712
313
268
380
592
649
927
253
997
245
123
226
546
881
705
472
654
417
739
738
227
103
515
987
572
820
271
880
690
624
305
630
341
699
562
875
273
441
478
610
532
954
615
152
59
652
595
304
673
32
938
651
89
938
672
903
849
774
13
792
909
225
962
839
152
984
430
659
288
896
371
173
435
686
436
191
181
157
902
365
69
318
931
447
272
432
774
95
669
354
178
230
685
890
95
84
996
79
742
631
685
475
261
60
478
520
433
288
460
41
452
321
81
763
269
410
305
473
876
554
466
146
731
881
807
890
667
846
644
68
828
968
845
303
558
54
600
397
740
460
500
338
749
967
567
725
65
274
196
889
598
936
938
947
931
835
670
812
38
889
991
913
495
777
583
27
851
915
915
129
606
764
870
635
219
845
815
757
642
495
155
921
169
494
677
401
791
171
810
349
821
500
489
404
305
998
496
920
586
937
966
662
485
514
268
495
698
117
614
185
427
786
566
963
733
265
54
886
785
800
686
349
6
996
843
356
88
561
561
238
993
760
231
592
362
741
927
122
167
686
573
928
98
894
210
538
899
504
342
653
808
557
721
106
317
462
954
64
717
785
984
831
262
426
874
924
342
917
280
285
747
572
684
578
979
623
743
532
545
370
98
213
381
539
588
902
829
755
112
998
129
33
300
990
971
690
755
83
477
915
872
482
933
529
142
723
684
122
416
674
868
856
797
977
110
699
742
807
832
745
435
756
591
616
719
565
759
584
681
185
855
225
516
361
89
919
413
523
15
402
48
268
684
981
707
138
397
683
210
716
945
818
565
266
225
946
726
312
260
218
913
539
929
424
710
390
182
836
550
533
106
124
253
175
984
215
19
816
393
925
624
649
482
619
607
233
776
937
930
503
271
848
920
419
102
888
296
775
773
476
759
783
819
622
910
44
733
174
232
440
210
986
512
289
63
49
325
838
634
662
164
784
188
179
385
70
559
757
369
628
260
759
222
97
390
183
889
793
921
545
776
387
377
141
829
782
482
516
581
694
103
255
829
279
673
930
458
974
349
156
441
388
359
203
156
673
322
576
25
342
869
278
896
873
547
228
745
778
817
427
31
41
924
62
496
947
589
640
262
364
722
657
849
487
853
43
138
906
534
826
339
592
774
17
783
86
460
732
682
721
798
940
64
198
42
49
757
191
171
727
648
981
707
992
422
273
573
606
669
465
753
250
515
659
518
784
950
577
145
127
601
402
420
955
996
262
630
450
318
709
459
802
199
94
948
27
385
174
641
931
990
614
164
728
619
352
713
915
865
895
382
471
533
746
806
369
511
62
356
674
351
605
967
223
487
757
786
970
525
122
962
642
153
794
302
236
80
908
10
246
827
479
406
241
372
856
324
565
358
354
906
458
92
746
615
909
575
325
594
840
599
218
957
71
336
440
196
621
904
974
644
542
103
791
871
428
905
312
947
164
285
275
756
268
691
363
905
397
775
214
355
185
998
654
557
629
410
65
771
633
156
834
239
190
301
705
52
875
105
708
872
22
240
41
187
956
309
914
348
154
648
917
503
43
658
878
439
426
757
577
485
199
681
893
860
125
1
147
306
870
659
454
382
474
809
898
562
658
464
187
138
133
266
264
996
162
216
18
520
147
340
860
233
956
74
411
314
21
639
979
782
987
760
811
960
835
908
323
841
953
637
656
81
585
710
936
659
462
430
547
690
173
14
596
485
25
909
478
702
723
633
141
373
174
142
194
652
144
726
473
355
263
114
87
773
118
830
226
759
755
831
204
807
950
102
342
688
43
211
252
219
930
763
35
931
97
365
708
686
161
920
886
826
508
87
400
25
9
245
55
844
709
640
161
933
616
205
855
905
436
175
438
210
133
805
165
718
728
351
948
331
617
54
430
637
7
1
767
538
759
604
231
821
62
929
445
823
869
271
664
718
956
149
17
467
797
404
22
121
188
171
38
14
709
292
505
349
634
158
976
834
904
84
965
294
90
29
602
666
90
917
902
366
451
848
233
784
795
210
226
605
838
83
929
683
846
341
492
481
220
559
30
430
78
151
630
142
322
191
623
75
717
989
373
145
896
833
817
758
98
255
908
923
619
812
941
423
649
645
453
519
205
5
13
265
318
562
777
356
509
503
106
322
864
387
885
54
674
234
477
840
701
583
354
572
640
95
558
318
196
823
82
194
545
448
186
377
626
618
398
118
832
44
679
832
198
126
817
686
100
723
620
636
814
131
889
507
24
458
468
569
519
367
904
2
862
585
352
830
780
673
434
140
375
298
669
920
53
657
954
380
204
738
344
461
296
857
13
90
997
259
864
851
352
580
726
971
848
713
457
890
388
886
544
242
841
818
18
779
812
434
552
609
755
955
659
141
336
124
793
305
226
970
982
937
128
769
340
684
918
821
448
453
205
228
111
184
511
131
454
724
520
729
671
634
541
14
976
61
391
324
499
213
413
717
897
553
225
690
467
550
117
942
383
721
687
735
512
755
467
905
912
676
762
704
746
391
899
493
836
470
369
762
489
661
135
62
568
501
465
238
961
321
267
751
779
128
802
12
624
100
54
357
197
902
783
723
414
643
489
127
889
33
64
783
352
240
934
42
131
13
858
390
261
867
375
417
230
520
91
992
591
307
597
914
910
9
860
923
589
372
328
288
129
632
841
158
291
493
660
452
440
376
603
397
86
195
287
693
251
576
976
936
836
238
367
126
611
177
923
30
785
426
65
704
376
414
569
704
762
370
59
386
868
790
332
227
392
718
585
275
395
491
321
693
321
612
796
825
243
652
431
428
696
413
507
434
2
101
807
174
364
943
615
19
343
480
608
257
564
776
748
394
602
897
238
198
65
338
943
539
796
485
489
473
14
848
403
93
919
533
240
379
973
356
642
645
649
70
672
216
873
408
552
664
812
46
154
235
899
101
211
149
230
520
223
64
513
550
469
323
805
477
359
574
132
39
622
962
963
184
443
378
175
372
721
187
814
231
111
436
487
189
311
805
641
635
403
459
367
282
665
519
589
673
400
82
689
163
800
609
656
324
757
1000
856
414
835
895
359
466
332
537
583
583
479
81
684
227
312
341
728
654
726
801
183
140
527
179
683
349
21
952
332
973
875
22
40
789
478
152
513
411
32
885
546
283
943
394
236
959
870
138
552
261
941
239
459
725
265
222
483
625
821
121
122
964
220
1000
34
35
648
602
264
550
470
192
101
898
635
658
320
741
5
588
671
84
176
326
485
905
189
27
175
635
771
294
233
97
382
309
29
987
403
268
379
620
265
536
355
472
160
200
272
974
278
558
123
134
159
702
3
842
853
502
201
98
66
234
735
998
359
576
51
53
771
899
511
281
955
624
56
574
12
916
159
38
752
111
723
345
4
125
165
681
977
524
245
514
363
77
610
236
57
378
162
733
897
570
552
49
803
289
109
626
38
689
450
33
113
822
891
724
991
699
508
102
884
72
371
122
879
365
44
686
39
181
907
387
453
531
245
471
860
248
334
486
155
43
934
765
47
348
725
742
594
345
192
125
182
605
411
109
722
335
970
146
518
535
18
261
284
306
37
551
273
108
485
285
315
60
889
987
856
242
327
984
759
525
478
158
697
691
604
69
492
452
865
197
606
517
361
751
319
38
183
427
847
620
507
506
722
539
501
889
337
25
378
40
432
216
457
299
660
889
481
710
114
200
791
322
810
418
141
928
718
94
110
298
848
182
52
320
296
404
531
836
897
499
966
654
339
133
38
894
143
876
6
809
932
112
690
266
782
693
345
306
278
905
14
602
72
598
241
165
391
369
237
357
929
317
656
116
13
203
175
328
740
832
959
426
51
61
928
654
314
147
449
867
87
75
726
439
146
79
677
586
759
851
543
387
434
797
819
914
72
289
347
86
504
64
580
358
925
794
90
850
583
381
363
323
426
720
809
253
94
499
705
309
768
124
455
753
893
995
207
619
747
163
294
51
129
889
451
847
201
718
21
78
652
483
634
646
922
73
924
753
142
900
928
581
865
737
732
914
387
18
776
43
665
731
996
56
389
764
636
538
805
938
123
782
216
971
898
833
954
331
427
95
780
249
970
750
293
171
804
951
972
592
763
624
868
503
903
685
818
665
69
692
289
540
899
240
596
984
575
926
303
751
234
307
71
438
485
98
58
752
943
807
298
881
10
77
101
322
419
327
648
718
193
634
418
130
742
430
990
726
823
286
57
2
920
962
210
546
424
928
144
813
679
773
485
552
542
288
334
334
634
475
990
75
843
472
10
620
986
144
968
159
739
111
764
763
82
112
335
335
544
888
978
101
470
234
240
97
388
460
544
210
300
280
272
51
389
47
30
260
195
352
221
943
804
208
835
569
940
458
585
13
172
564
146
445
623
648
235
392
660
508
741
627
71
352
922
497
120
146
928
930
709
816
555
630
590
11
197
915
197
781
411
234
220
308
361
660
460
795
723
524
875
704
245
982
976
810
303
434
885
954
232
674
438
953
139
105
705
855
201
597
145
616
133
356
445
319
676
711
738
261
416
852
532
576
221
372
156
589
898
931
977
771
387
483
905
954
6
281
995
494
766
318
19
182
754
941
961
983
951
127
320
180
600
327
938
46
449
818
845
985
742
236
273
962
847
335
540
141
793
38
996
873
790
534
606
554
15
516
5
448
569
657
90
219
516
58
281
835
357
733
596
461
109
154
622
168
415
480
224
588
745
418
631
145
803
549
101
96
708
575
946
462
402
186
125
822
974
130
956
101
299
653
772
698
447
680
480
764
836
977
84
982
958
68
161
948
864
869
212
131
231
832
552
454
24
891
113
698
229
671
143
338
82
203
267
895
563
877
802
568
633
477
536
736
877
928
387
919
722
800
519
874
405
729
498
870
184
658
21
557
103
173
626
521
746
328
496
325
52
3
177
796
204
262
580
357
42
178
99
468
215
291
78
604
525
191
131
751
512
737
16
105
355
52
875
500
590
761
621
131
988
898
213
275
157
531
341
58
88
429
776
800
923
40
278
93
678
626
483
571
494
658
633
277
305
471
366
648
452
749
35
383
859
607
181
895
907
935
867
620
989
163
536
179
75
838
949
282
295
188
535
314
680
391
193
732
708
408
160
756
237
28
94
376
744
265
899
321
510
363
171
513
558
430
338
457
698
170
716
209
966
273
725
816
157
755
471
588
870
969
724
176
697
43
94
183
756
221
868
951
758
980
523
252
191
786
429
837
22
62
608
185
496
281
716
339
260
80
621
413
27
959
12
219
456
425
510
459
722
425
663
122
520
512
997
18
865
488
47
899
134
179
911
219
217
616
405
408
537
121
337
466
960
696
783
801
288
712
469
490
118
51
571
568
331
781
265
517
387
935
370
867
883
176
281
698
546
946
188
895
970
215
278
182
874
84
184
335
652
327
489
494
255
384
474
131
235
492
638
100
890
361
717
132
27
297
90
312
797
703
470
351
437
694
731
914
516
924
568
881
461
794
454
175
712
943
994
716
872
270
363
122
578
779
997
20
644
219
44
230
236
838
433
587
428
549
536
923
549
486
574
537
118
220
852
525
23
864
871
500
824
946
164
557
725
169
408
815
781
157
31
528
395
831
41
510
11
333
254
616
170
323
452
90
790
13
249
875
607
532
612
391
201
91
40
866
923
925
393
28
356
208
231
866
630
941
310
205
51
332
580
35
988
342
633
906
936
858
27
194
958
457
369
733
485
805
304
108
578
544
834
917
316
949
472
414
931
711
815
267
669
970
20
597
143
117
561
78
91
940
363
647
77
406
82
268
620
752
881
305
656
572
503
260
37
291
837
28
979
726
458
385
966
470
804
81
676
462
766
823
885
419
459
390
155
782
866
341
351
444
850
56
680
793
765
372
978
573
517
680
460
617
476
176
982
770
59
873
157
242
185
123
332
149
24
625
510
256
647
359
819
781
239
403
982
672
528
379
585
912
924
129
621
312
705
264
915
678
223
448
550
446
744
626
347
659
9
905
771
642
51
501
396
836
68
940
191
48
440
736
441
801
41
854
80
547
96
619
587
288
722
115
341
500
177
787
535
370
583
678
311
34
541
671
781
887
643
187
991
79
342
998
676
958
32
227
888
616
473
135
158
638
878
3
905
838
106
269
212
72
368
95
935
178
806
711
340
710
99
193
107
428
966
843
614
426
97
941
837
379
548
466
96
623
90
300
133
717
364
579
686
648
919
61
812
111
398
856
693
110
198
408
561
712
890
337
679
921
580
686
17
513
183
106
386
155
242
747
301
284
569
975
786
45
457
533
658
30
618
446
559
708
369
795
163
190
731
461
548
428
324
77
631
23
905
725
2
574
379
369
191
897
953
602
639
499
848
77
176
432
657
877
844
980
1
194
264
708
600
878
555
52
276
829
51
990
664
752
620
312
624
473
468
687
432
894
697
10
837
665
733
487
981
815
986
538
991
936
745
889
803
951
343
119
348
185
126
582
851
204
584
799
346
881
297
381
936
216
21
65
529
730
301
672
968
653
541
674
537
707
273
578
787
20
769
520
520
594
747
304
557
776
122
629
580
424
218
365
981
760
801
609
116
468
642
648
801
217
24
136
178
664
792
532
343
918
54
310
196
634
650
507
87
165
813
968
696
675
264
3
497
692
141
272
867
385
734
392
598
726
5
172
94
799
270
365
57
741
191
562
813
192
482
139
723
662
300
216
317
945
340
205
899
544
86
840
352
105
466
576
807
997
445
814
643
549
701
737
8
871
595
459
696
891
107
752
735
979
259
921
488
518
840
243
416
866
897
983
925
417
567
197
839
908
288
412
163
668
347
800
718
246
7
647
162
764
163
757
647
333
613
933
96
143
519
820
667
114
584
223
459
581
791
457
956
102
301
424
7
333
238
886
356
880
647
831
884
182
878
930
745
783
998
824
539
770
618
387
481
800
679
161
323
875
351
891
412
946
169
448
847
516
918
455
183
631
620
627
487
33
125
163
846
807
480
542
644
542
233
708
977
888
269
948
617
401
608
751
835
738
829
511
207
591
442
283
257
227
566
655
413
145
733
472
303
138
518
326
836
32
939
681
887
435
275
15
651
134
1000
631
873
168
67
605
267
203
623
905
378
533
563
894
24
965
45
252
275
850
182
867
556
737
663
403
133
493
973
38
677
224
228
352
73
25
356
469
901
382
530
309
292
70
285
277
959
486
732
780
234
684
622
715
934
810
802
488
648
247
781
167
871
551
694
88
24
151
947
634
970
905
233
878
143
790
400
540
738
423
847
972
733
638
775
946
704
54
599
636
457
419
283
499
565
522
182
747
743
655
208
698
872
912
803
581
168
93
225
321
623
639
136
386
413
795
339
71
372
163
764
446
999
906
506
800
726
125
792
601
312
367
221
872
331
770
558
417
649
98
631
508
721
823
602
478
270
409
987
194
640
206
345
488
701
679
453
481
689
232
129
165
769
548
614
759
440
185
557
106
116
164
197
839
343
417
309
106
166
237
829
428
70
369
853
620
806
928
876
820
142
149
732
330
242
846
660
394
961
571
352
32
793
662
607
750
607
791
443
287
592
121
133
551
5
944
629
550
446
458
309
434
349
417
763
739
337
506
612
531
863
659
982
436
302
993
310
473
297
672
625
198
680
824
286
924
740
570
470
661
969
335
342
7
639
867
939
418
778
827
297
174
118
367
220
858
610
860
424
385
969
819
466
436
466
108
15
646
937
720
502
74
513
779
153
260
136
919
719
659
294
871
957
369
744
908
74
828
233
786
881
608
308
951
379
517
406
73
849
965
294
440
298
965
831
311
285
177
737
134
734
145
753
420
336
237
104
159
526
811
680
891
839
855
733
921
637
636
132
735
834
946
470
340
253
134
367
150
673
475
347
17
478
332
557
183
26
259
441
272
539
398
161
903
332
531
255
149
685
671
470
862
504
373
245
831
205
823
581
856
925
332
357
68
237
81
273
257
54
815
679
541
295
746
531
437
173
79
580
291
698
434
702
56
90
918
948
619
308
780
525
227
848
360
382
83
276
535
524
832
725
970
466
515
700
275
493
511
107
582
473
171
391
179
75
86
993
547
118
436
154
581
665
443
225
824
234
707
273
248
124
152
712
508
466
361
123
608
47
319
216
610
354
956
76
360
570
470
493
183
428
40
142
193
961
465
850
121
160
236
6
570
471
719
396
219
902
483
402
763
191
246
570
318
164
583
978
627
908
311
721
618
852
443
105
797
188
676
797
502
318
666
283
271
179
754
457
436
353
378
81
595
873
148
133
794
467
435
786
91
819
376
868
672
86
409
179
847
513
780
957
44
516
1
130
425
967
906
718
820
797
759
918
492
186
864
916
661
804
269
470
821
549
432
657
607
212
189
925
395
321
944
810
876
184
796
223
538
801
207
232
397
904
914
623
311
825
990
375
922
306
393
337
605
626
830
57
784
623
512
704
656
289
198
456
650
614
965
578
928
276
281
623
843
580
320
860
576
779
899
74
61
544
90
341
948
872
332
248
578
188
821
294
823
709
78
894
268
435
833
478
354
256
804
679
22
762
512
491
920
291
13
579
389
639
300
643
335
667
202
835
537
673
768
767
138
70
520
548
854
349
433
662
900
762
207
192
770
462
192
77
772
48
320
617
647
620
539
419
730
458
532
318
796
409
948
607
208
876
8
47
974
110
62
760
98
111
641
48
933
59
595
621
306
640
149
477
850
23
85
922
330
526
830
806
733
209
891
87
570
725
970
255
118
757
82
976
316
300
179
569
651
845
105
569
630
256
186
665
389
758
397
791
577
995
852
980
885
541
301
887
513
631
420
545
414
92
969
22
380
646
278
102
897
817
118
52
228
631
749
805
376
207
794
610
405
98
681
315
107
946
542
965
141
606
857
330
610
417
620
306
460
676
484
862
261
724
155
388
655
254
304
793
248
584
386
715
751
688
66
538
981
702
384
684
693
476
408
842
291
510
899
360
197
259
393
21
985
359
228
827
476
812
239
202
609
540
244
260
303
1000
1
352
484
750
985
180
109
963
227
158
358
861
442
534
81
1000
855
52
254
101
453
547
461
892
883
935
336
22
833
520
514
664
559
395
890
860
135
987
850
8
135
479
749
150
709
920
86
871
437
314
727
713
917
904
27
933
776
126
920
378
682
455
848
971
975
460
939
48
745
905
962
347
522
662
410
979
285
546
546
106
127
899
324
382
787
926
928
422
192
294
72
710
318
515
291
379
980
960
244
246
583
128
393
333
488
993
525
856
430
804
286
333
293
720
265
18
680
62
202
349
905
750
565
488
437
707
102
283
383
641
952
224
265
609
566
15
238
217
985
424
884
137
2
964
892
849
355
791
274
178
357
904
215
245
337
399
336
897
820
23
904
553
658
755
498
687
190
462
732
818
111
942
917
976
890
832
929
114
516
931
172
804
821
428
214
877
839
457
583
371
520
147
256
260
561
36
561
960
331
339
576
546
632
18
631
919
528
81
161
936
582
771
19
633
626
614
309
243
632
361
950
651
315
926
482
311
883
357
53
402
727
728
170
196
904
592
511
171
3
299
58
419
324
35
863
266
360
955
992
842
237
98
588
546
112
116
531
953
522
17
876
739
358
209
102
634
387
163
228
224
293
910
11
694
745
392
770
209
350
448
858
728
233
799
450
466
616
968
101
96
968
498
479
70
261
182
795
79
367
274
690
797
897
810
790
507
614
241
692
122
109
541
882
417
606
852
975
982
589
495
710
533
463
880
342
739
600
443
402
629
930
241
344
14
713
256
250
60
248
760
576
313
30
332
932
33
347
248
6
632
349
980
40
401
412
511
720
458
981
8
950
40
184
138
729
845
170
1
292
105
554
197
730
490
325
25
543
719
301
199
976
986
530
743
512
899
43
927
630
676
21
190
738
753
736
23
274
784
605
684
69
280
310
418
440
752
218
624
939
287
267
984
326
951
82
153
126
253
319
20
90
206
162
923
982
175
413
427
355
792
897
466
443
705
707
696
829
840
390
887
301
120
345
64
190
333
530
886
535
935
103
457
610
93
744
339
708
205
237
77
591
471
344
920
697
818
127
757
977
635
668
523
287
326
534
431
313
643
478
445
388
123
560
347
930
736
318
588
899
13
648
884
402
510
792
167
488
469
188
77
282
900
968
647
805
145
582
220
237
164
362
916
906
424
828
165
7
265
216
922
894
67
977
171
806
358
20
264
60
258
24
420
73
283
491
474
34
595
85
563
720
251
456
985
718
832
923
916
261
157
364
10
28
416
171
155
471
170
362
840
699
131
824
636
478
559
159
275
689
384
835
697
418
899
129
199
942
950
902
557
56
110
358
523
528
213
766
681
21
982
595
989
439
215
614
706
536
132
315
575
549
57
417
317
807
548
345
481
522
454
274
664
445
168
770
952
665
495
110
198
581
152
62
402
25
911
302
31
560
777
658
599
223
400
61
186
366
142
423
887
805
806
660
351
158
90
725
685
141
212
837
997
587
39
57
756
119
236
953
982
756
641
440
982
168
97
737
992
996
442
39
626
379
225
708
441
839
971
713
335
741
506
594
687
830
945
452
354
756
414
334
688
80
490
908
707
968
628
508
450
706
583
481
316
156
899
250
883
539
119
660
311
223
237
6
929
762
291
577
11
54
713
695
85
359
201
994
317
847
429
123
663
529
884
155
503
699
451
713
421
450
172
241
648
469
763
910
419
47
59
353
192
172
541
809
206
653
515
259
356
440
289
871
724
710
910
339
418
814
657
785
516
901
472
452
77
877
969
821
115
363
471
668
398
517
782
252
728
867
33
88
74
819
5
676
579
123
775
189
993
375
409
319
509
593
689
423
354
6
544
660
722
452
929
7
808
202
391
948
765
618
459
125
376
758
289
448
125
955
711
992
124
411
934
501
46
86
688
491
833
476
507
726
423
426
193
336
162
757
233
947
910
348
103
974
23
255
917
680
575
627
869
672
180
441
257
257
742
546
657
509
294
108
991
917
859
312
821
227
901
82
174
465
531
690
624
136
80
304
134
298
58
976
384
545
772
51
919
914
104
725
476
424
13
322
268
210
362
860
851
241
556
660
419
170
316
79
26
202
619
914
306
758
477
678
682
324
759
731
941
115
699
207
338
84
95
784
25
380
436
593
738
557
382
10
108
717
64
619
909
297
667
379
827
395
619
925
40
375
514
959
41
975
569
896
623
312
39
298
899
972
487
105
535
851
249
400
154
537
731
197
966
772
408
802
267
23
508
356
396
217
438
531
98
496
907
753
21
223
574
954
246
529
806
620
329
428
777
800
334
867
723
846
726
146
630
860
780
784
9
227
409
283
720
146
871
227
969
785
901
788
727
525
180
66
801
788
928
598
727
96
630
43
441
359
553
297
430
829
755
242
691
842
767
923
350
238
964
172
248
289
936
653
150
108
842
788
478
736
791
313
637
542
818
33
72
157
895
907
160
853
720
739
930
232
750
654
384
60
37
959
889
335
971
209
695
22
933
69
169
375
217
37
708
472
313
223
638
396
779
152
629
464
494
987
263
76
33
674
455
15
280
241
361
511
152
904
241
956
492
672
520
949
777
884
943
256
256
452
286
340
559
647
555
353
592
921
999
880
753
609
534
243
122
366
376
908
290
816
768
358
925
228
717
835
1000
996
538
509
856
301
832
969
912
636
259
392
878
793
72
406
815
521
948
448
201
283
55
361
490
465
680
89
279
951
969
598
305
170
513
548
983
629
559
845
86
435
624
900
469
527
151
347
450
164
636
988
575
704
349
938
18
887
384
310
776
621
242
290
189
741
606
102
3
355
253
227
396
124
287
169
884
313
992
254
27
486
665
203
195
516
709
680
426
945
113
634
588
800
235
3
659
710
406
268
878
498
508
435
975
493
96
231
454
455
47
711
114
385
996
997
615
443
1
588
922
899
3
519
866
312
617
673
919
125
744
720
496
464
258
463
764
228
803
880
972
476
322
764
784
718
490
678
960
954
681
867
996
224
413
912
19
961
506
126
301
711
330
165
271
578
581
845
765
358
22
941
593
456
478
599
174
547
175
33
139
428
208
409
287
676
508
146
240
509
200
386
454
748
639
56
979
872
737
768
537
947
424
794
994
642
196
464
302
653
759
665
318
562
716
536
708
611
78
88
289
895
159
223
773
204
50
543
849
125
464
437
940
34
188
138
773
288
773
851
115
285
389
578
627
33
932
990
817
552
617
530
515
715
235
955
90
111
233
688
906
141
521
689
135
829
701
20
102
760
988
919
810
168
668
4
131
410
348
169
440
4
645
837
139
940
159
501
603
200
789
918
561
294
483
858
832
151
511
98
634
878
204
172
386
756
915
492
47
315
633
621
543
525
285
842
783
893
264
684
66
775
134
735
450
307
785
888
783
124
525
166
651
522
722
387
456
737
679
237
204
834
310
776
354
40
90
991
244
468
472
778
216
848
639
673
526
291
16
696
533
118
457
923
474
473
393
789
307
790
501
666
765
176
668
945
732
412
113
740
524
612
527
315
467
515
20
510
402
35
459
791
415
942
533
991
108
519
471
478
209
588
927
268
189
588
938
549
796
256
238
201
112
39
470
133
835
588
968
719
938
533
893
134
798
285
438
193
153
799
719
108
974
52
770
679
449
514
704
616
790
7
752
32
507
211
375
682
131
476
46
180
85
779
630
253
583
408
516
65
954
401
769
809
767
859
625
15
495
4
578
517
208
241
169
590
999
558
331
569
390
310
820
142
973
799
810
608
951
91
222
630
3
216
723
369
166
194
627
455
973
381
118
955
167
237
310
323
697
953
671
368
557
331
251
421
255
936
949
206
359
819
822
421
596
29
15
657
468
754
470
72
190
145
994
205
28
798
623
413
807
434
455
665
423
510
328
868
696
391
728
463
790
228
342
747
732
875
514
304
252
9
663
919
328
140
410
605
268
318
760
677
161
180
200
362
807
436
962
72
11
2
40
321
247
799
767
217
269
633
881
622
188
700
50
360
912
962
771
291
603
96
405
709
996
733
863
230
995
443
117
317
963
288
282
610
500
794
496
508
328
876
177
791
96
596
566
652
525
620
603
190
357
909
345
275
978
471
72
712
419
988
202
793
697
729
902
663
85
456
35
387
945
970
717
277
255
502
252
784
773
451
723
258
89
825
796
960
487
334
607
968
594
284
709
54
335
304
188
180
550
447
957
983
972
420
178
514
964
508
520
550
502
274
654
968
462
273
982
65
139
795
130
186
304
178
97
724
813
279
319
345
952
541
91
301
236
475
955
828
349
499
664
892
263
809
298
53
363
357
955
747
570
88
171
125
36
282
934
455
976
242
650
184
605
566
980
3
937
968
769
614
428
910
620
477
29
333
855
490
280
429
672
422
459
674
356
924
663
351
280
136
917
386
264
187
75
599
580
419
305
424
520
766
414
725
985
531
160
592
989
744
922
900
324
404
811
972
887
150
378
915
330
353
565
51
762
166
431
404
207
821
498
398
397
349
277
738
272
923
619
964
247
255
90
311
905
805
480
330
278
99
883
158
298
92
533
505
307
371
737
129
741
946
765
85
232
530
558
57
429
499
436
867
732
175
799
651
41
677
955
247
331
350
819
49
555
701
201
983
920
858
802
244
72
763
838
159
109
751
419
854
600
661
427
424
18
364
651
923
64
412
379
849
373
566
451
718
19
99
60
973
20
98
178
738
806
494
594
877
216
157
964
378
134
206
158
371
320
622
459
959
338
380
834
612
735
546
607
91
790
227
305
749
223
842
404
558
210
886
953
428
958
277
789
202
854
402
162
221
914
182
114
494
834
835
870
334
480
526
857
767
39
767
673
163
383
241
506
302
414
731
34
526
305
942
796
732
565
327
403
669
805
449
712
476
954
49
277
362
391
731
950
149
146
88
533
675
884
201
743
161
860
635
559
267
408
472
254
961
817
450
992
264
645
988
925
637
608
718
118
62
198
178
498
822
86
465
232
644
190
6
603
114
7
42
503
220
448
92
103
476
921
462
155
307
905
766
619
313
538
601
8
545
61
724
914
185
70
528
679
859
632
177
52
367
275
499
1000
780
745
620
521
708
208
362
448
24
290
636
733
504
893
415
639
639
299
375
590
330
427
977
190
330
457
587
29
47
249
183
495
766
114
383
726
442
544
787
219
969
411
83
394
200
54
987
560
115
376
828
338
173
750
535
579
324
120
828
194
146
125
667
150
267
475
403
42
569
91
600
331
688
702
209
296
942
713
642
207
158
129
282
70
831
276
159
496
646
828
820
928
710
419
941
492
745
704
818
204
91
321
716
123
633
592
971
314
641
191
852
177
92
250
484
734
254
527
495
21
180
334
682
573
283
905
683
323
381
741
558
922
377
280
191
623
317
920
674
386
647
21
134
762
353
19
33
501
107
197
591
502
673
980
840
937
600
827
783
868
672
949
278
684
668
95
553
23
731
604
709
624
67
766
190
723
715
282
931
195
895
292
850
649
774
993
396
36
529
341
106
179
285
718
529
822
828
744
382
386
1000
566
541
697
327
101
305
318
758
686
384
983
346
514
241
872
315
28
739
91
262
217
520
793
148
323
187
819
358
66
149
615
300
893
950
444
996
132
997
584
600
161
857
303
41
901
754
872
852
962
411
780
759
794
162
629
808
28
128
868
638
19
293
671
12
261
519
750
850
976
902
862
862
647
372
56
293
714
113
483
449
936
220
728
442
173
959
144
19
446
159
683
445
201
559
35
140
602
373
672
189
583
932
579
897
78
61
33
275
575
728
765
712
653
608
261
132
671
401
738
600
142
188
557
698
605
579
427
968
24
170
801
406
814
660
270
264
616
969
606
406
855
909
339
81
918
257
397
247
524
560
407
529
492
660
673
468
639
701
770
972
979
338
895
803
762
971
864
446
126
104
660
973
311
319
982
359
434
964
98
242
829
357
641
292
787
223
663
230
382
80
405
983
682
566
744
661
333
958
206
831
916
741
776
16
973
684
467
505
847
745
763
300
752
91
585
482
593
663
416
372
99
6
560
593
782
543
294
552
66
64
839
930
710
971
666
458
284
753
655
665
36
209
979
277
976
200
437
647
353
77
140
946
7
485
63
824
276
948
21
914
210
480
30
853
886
504
862
481
485
501
834
460
661
163
514
894
400
289
105
391
247
303
672
673
283
79
308
32
683
684
548
860
51
789
51
35
951
720
645
160
256
592
308
523
955
483
568
177
88
394
106
720
297
591
35
201
328
981
473
72
463
377
524
252
484
864
706
202
282
975
232
340
599
86
244
282
769
225
268
151
473
509
723
641
724
535
248
606
283
353
985
706
681
106
740
16
842
11
107
605
95
146
211
770
982
394
756
2
865
990
413
784
805
352
407
12
553
248
388
151
787
911
231
270
930
396
506
708
966
365
706
484
688
437
223
476
719
489
251
64
458
539
475
177
851
387
431
640
472
789
896
287
991
749
533
577
499
460
268
335
535
536
572
799
916
430
901
398
614
363
17
506
16
656
846
6
844
95
791
628
935
839
141
909
824
433
357
87
793
683
485
417
640
506
919
199
922
388
50
264
848
735
62
809
297
263
332
217
688
492
362
978
523
627
225
864
501
326
779
309
999
365
746
309
607
772
884
246
124
802
84
726
112
10
212
930
648
784
899
967
401
905
300
434
545
110
45
701
288
175
204
469
8
707
148
769
75
740
555
893
440
199
713
734
1
485
444
591
546
761
677
816
824
984
697
584
900
398
603
679
515
943
332
420
582
55
913
769
318
377
252
201
772
191
870
168
645
809
481
814
393
713
201
169
561
983
482
209
178
428
564
22
839
890
368
801
775
385
262
570
826
99
51
319
741
774
903
721
604
688
630
706
560
258
909
969
188
271
574
880
22
896
66
421
754
911
496
447
598
44
538
34
123
923
567
703
662
886
7
23
1000
848
876
500
681
470
890
640
700
107
288
807
730
429
782
793
358
113
588
55
943
740
576
196
847
857
978
592
779
201
908
27
906
239
224
833
197
499
881
280
208
661
988
938
112
14
226
282
360
652
173
91
749
778
327
76
73
549
308
730
748
190
798
635
986
494
282
290
149
430
516
101
895
284
987
308
601
677
313
516
349
817
655
953
420
553
730
749
889
181
949
342
364
412
519
577
382
637
110
186
224
402
817
122
211
25
703
636
602
405
171
113
302
356
772
383
498
288
831
666
221
615
446
355
547
76
999
544
847
41
309
602
45
969
950
112
328
408
64
177
106
325
199
433
349
70
319
123
577
23
159
214
911
790
522
874
570
837
937
568
139
638
358
673
721
717
212
785
835
448
157
817
539
131
377
584
785
634
111
833
476
854
347
540
36
364
355
904
543
847
732
648
657
372
209
122
634
124
288
236
694
920
133
422
877
762
825
679
332
690
196
250
654
424
3
614
488
613
109
323
142
60
677
634
326
913
127
50
490
680
740
640
434
886
364
439
993
326
613
336
655
175
326
594
883
657
831
550
799
574
711
110
592
784
385
355
737
611
778
967
606
247
759
191
606
458
841
745
272
278
820
439
118
905
670
237
166
755
6
169
213
441
879
811
900
479
479
998
534
706
574
82
461
673
160
292
480
825
828
740
460
847
844
138
805
406
779
608
902
432
797
820
15
213
403
270
332
813
522
741
54
783
261
836
482
659
630
5
1000
517
770
703
778
713
964
106
775
2
804
360
311
405
432
447
105
585
670
599
148
958
208
630
211
485
761
692
97
874
224
736
977
933
442
385
273
935
143
45
581
142
960
774
97
132
230
905
820
99
442
402
583
151
789
708
633
467
261
168
19
313
112
179
545
105
352
863
423
121
96
436
28
990
244
425
374
803
964
527
15
535
887
250
78
485
766
398
57
605
557
124
799
919
579
512
860
722
397
631
2
866
592
552
189
249
398
93
827
577
489
944
383
557
858
401
761
970
818
134
957
454
643
299
616
442
268
835
47
399
766
956
176
419
19
704
666
254
125
922
137
74
611
150
34
611
418
780
179
828
994
234
441
959
550
95
318
556
679
865
404
199
91
474
868
615
190
753
102
295
560
832
646
113
212
821
317
69
618
196
279
50
138
38
379
405
442
617
722
221
917
878
852
400
852
37
357
47
406
860
946
210
979
182
279
701
619
879
898
624
530
819
639
192
581
281
800
636
950
954
153
301
687
900
632
522
30
815
141
501
761
495
464
208
768
678
712
271
227
315
82
936
521
903
953
433
73
729
524
503
768
720
241
422
542
150
259
591
11
639
40
624
707
688
1
962
638
537
789
175
371
251
391
529
784
760
756
873
969
54
50
578
493
835
964
94
382
735
720
662
738
608
554
856
858
535
496
934
94
894
194
419
450
261
390
933
113
984
412
85
659
966
697
111
713
568
941
69
197
587
922
592
116
929
465
603
55
957
244
961
145
469
368
655
298
936
759
84
936
923
341
917
259
594
989
236
353
817
975
958
67
660
400
55
662
21
702
670
670
697
907
89
274
474
678
419
802
704
618
964
588
405
502
547
541
114
292
431
258
647
853
95
408
373
257
817
414
864
439
929
172
582
778
655
654
774
837
622
782
895
107
503
845
707
124
777
119
628
703
225
43
77
382
651
472
296
372
256
79
593
455
254
929
25
294
621
612
300
571
286
106
59
206
719
697
787
690
593
884
298
191
156
176
116
687
999
88
100
846
130
438
350
742
693
275
780
799
153
344
712
541
538
65
533
813
116
379
747
164
962
688
721
977
981
325
49
756
326
664
744
706
602
1
384
358
895
814
945
554
461
884
302
509
843
997
260
69
330
651
567
476
887
278
562
178
130
943
971
231
499
434
921
849
503
907
395
538
790
983
222
3
874
318
167
759
498
154
855
930
23
323
70
251
705
482
433
694
418
113
577
454
182
952
748
250
861
81
138
43
512
860
416
284
182
249
608
764
373
829
922
999
28
33
152
793
641
644
23
342
1
639
196
759
195
841
709
405
667
635
267
777
577
224
194
992
209
514
802
107
892
726
625
594
749
280
253
315
608
305
477
248
584
383
76
20
130
791
848
36
894
522
437
632
310
864
88
193
655
149
704
649
283
581
498
76
799
698
77
418
264
141
29
482
879
860
923
440
217
804
211
40
774
440
651
603
523
139
751
683
174
607
216
947
56
36
520
427
902
585
575
829
306
148
876
946
315
75
683
598
437
691
537
687
309
981
857
141
439
788
460
506
706
222
590
924
753
761
429
71
38
683
159
375
28
72
315
514
993
618
585
741
887
823
204
73
50
43
801
760
872
989
873
711
65
922
98
789
930
823
290
950
832
204
180
221
118
101
116
417
896
2
417
330
393
122
418
820
115
475
122
893
650
669
34
369
768
202
935
203
399
314
309
852
209
111
653
344
716
791
157
880
345
254
74
833
374
314
655
24
455
984
702
998
296
62
623
834
119
333
386
702
716
217
906
982
281
645
227
273
708
257
303
14
711
757
333
769
959
421
357
458
381
288
265
918
950
523
470
257
543
831
235
361
922
530
31
791
499
101
411
64
284
605
532
949
368
339
898
2
349
512
872
18
332
519
223
480
551
581
301
346
167
173
423
717
532
641
728
49
45
862
48
534
736
618
322
226
905
615
680
283
430
698
645
429
894
877
780
361
260
253
748
380
655
760
966
938
771
946
954
172
476
670
38
743
514
688
272
430
581
580
336
48
641
378
663
190
72
532
274
187
136
604
602
475
290
139
110
237
68
724
649
794
625
161
308
722
521
2
991
80
37
446
56
459
86
739
148
779
811
779
781
892
68
554
318
89
307
460
746
547
793
256
51
595
741
640
43
460
671
979
220
770
248
733
595
699
897
503
495
97
764
439
961
325
945
939
771
794
476
199
67
437
246
201
261
376
888
109
155
132
689
950
217
550
737
613
564
513
851
920
468
175
316
516
158
105
89
819
259
282
937
123
484
280
896
215
68
383
589
548
5
577
161
95
385
568
30
499
964
9
233
20
643
118
852
96
745
730
927
42
760
628
278
501
785
676
871
824
6
883
722
438
380
39
837
629
153
959
364
886
970
694
949
106
97
310
279
503
729
931
920
47
435
809
874
574
544
115
698
546
682
988
664
546
718
140
183
233
104
978
645
441
973
773
893
504
354
863
795
702
595
278
740
928
384
457
467
271
785
901
292
264
334
733
690
949
575
112
184
742
356
391
658
344
859
691
560
559
574
314
911
952
404
40
695
746
651
881
997
173
893
320
191
848
656
397
614
314
355
285
391
78
191
113
521
881
550
927
907
881
998
580
720
710
146
287
408
79
479
324
689
729
774
55
53
23
859
84
689
424
283
811
229
434
938
94
399
282
788
38
474
846
640
154
418
781
334
250
742
843
812
476
384
723
265
860
389
498
993
541
748
961
624
650
544
708
99
456
456
813
173
955
743
336
227
559
78
726
856
926
978
343
54
241
124
989
799
478
556
333
513
238
603
528
162
799
408
193
729
884
67
116
446
523
753
745
395
45
662
515
72
932
240
588
72
743
979
376
311
806
992
562
96
695
691
934
919
775
169
503
70
262
272
803
30
298
966
216
130
541
302
426
162
617
175
847
451
595
139
967
406
319
710
67
708
50
965
716
134
347
751
764
428
558
489
293
810
590
381
149
457
854
812
201
726
415
875
461
999
408
239
539
761
737
35
698
923
891
44
923
482
513
211
47
300
966
469
904
174
758
895
938
388
122
463
450
633
450
58
901
501
556
946
287
794
942
594
645
487
330
606
140
548
739
534
50
761
292
504
194
298
750
923
975
112
508
3
305
117
394
494
78
726
185
793
781
574
150
553
63
139
323
36
768
554
432
692
38
87
590
887
552
680
904
256
894
436
159
925
319
130
578
680
903
679
480
258
189
975
327
108
940
680
252
317
554
330
680
940
21
638
54
616
39
928
985
182
69
477
398
992
624
937
338
766
97
108
176
101
738
99
863
227
221
282
747
181
366
538
225
370
193
990
149
356
479
798
482
842
359
610
179
2
333
963
632
737
248
258
319
945
432
925
483
632
182
64
761
502
223
144
702
713
616
310
7
647
799
476
153
854
111
652
786
815
192
899
890
833
124
878
281
108
20
230
423
48
47
907
896
939
573
147
114
389
153
989
56
359
620
115
816
167
397
312
783
616
483
43
123
231
232
472
23
690
205
744
847
682
866
519
977
835
824
546
569
813
655
522
915
400
97
626
395
184
523
877
213
442
182
902
280
970
623
807
605
900
117
562
514
971
634
754
880
363
118
567
256
941
392
635
528
680
12
707
216
122
766
160
52
948
355
41
852
125
958
665
950
645
26
810
699
565
661
179
604
918
360
139
683
76
742
671
552
310
114
134
544
625
376
689
904
432
817
181
729
239
814
853
860
359
306
548
360
570
198
894
596
765
500
611
152
919
121
211
996
68
709
295
386
633
824
150
955
101
34
545
310
996
244
452
271
89
655
937
559
35
309
595
331
935
58
733
493
869
171
963
105
102
501
977
528
490
294
79
173
594
275
463
853
147
588
326
775
824
558
651
131
695
989
894
132
367
903
874
48
575
193
886
505
889
682
403
831
315
437
805
754
752
16
213
89
692
529
873
376
82
1000
532
601
954
540
886
247
309
281
499
899
741
833
571
582
446
277
516
776
611
361
645
830
638
593
127
73
301
408
35
504
742
439
508
354
129
191
966
174
958
96
891
349
174
14
871
126
783
729
515
258
131
885
340
411
808
107
934
290
994
778
550
279
124
16
748
54
940
971
898
237
358
433
124
658
87
123
784
216
616
744
646
627
994
28
752
590
833
576
360
16
65
218
454
24
326
24
79
313
245
831
129
411
548
341
291
19
653
444
578
360
320
379
230
987
46
766
808
991
66
337
978
921
263
389
841
26
806
621
643
611
32
16
360
396
953
862
970
792
801
845
173
877
144
385
957
735
477
19
687
474
665
701
308
928
215
346
868
551
214
798
809
461
658
687
362
945
31
303
956
986
275
708
771
543
659
798
417
357
684
906
267
76
864
858
160
315
104
98
3
103
475
595
335
834
338
793
41
434
171
771
228
991
931
119
739
471
476
777
888
473
386
236
815
220
491
26
239
75
596
415
539
941
122
564
779
821
886
192
760
692
835
949
177
557
288
298
730
255
199
699
373
130
985
261
929
161
742
859
990
524
18
889
340
837
880
489
159
560
699
26
902
76
954
122
76
26
336
286
74
352
632
493
883
344
186
668
733
688
197
95
696
152
781
244
854
95
499
348
865
398
4
341
692
794
578
460
807
814
578
881
400
723
240
242
979
898
858
827
317
70
96
464
830
735
61
896
363
807
836
532
821
311
340
957
258
479
765
542
833
145
343
817
517
723
856
10
550
382
147
293
430
263
853
840
651
688
722
759
489
371
188
308
896
578
301
595
957
19
730
136
422
28
327
206
549
231
637
946
856
490
843
545
424
355
833
644
54
672
496
310
948
249
877
536
560
694
526
246
932
628
242
228
119
490
403
216
307
47
276
615
812
562
992
989
443
267
369
496
667
451
409
895
557
983
80
635
805
541
936
792
938
173
265
300
472
59
668
10
927
523
457
593
522
379
762
204
868
705
32
121
200
1000
456
289
488
459
913
801
297
811
224
882
407
748
857
857
5
495
747
928
743
453
563
309
68
205
557
437
10
359
152
500
48
858
528
506
772
415
767
468
792
666
594
50
763
502
315
208
442
768
344
924
421
211
635
134
546
85
378
353
48
354
593
275
130
738
591
859
54
206
886
26
796
665
752
89
992
709
570
491
178
296
43
246
338
137
580
720
349
385
445
30
228
948
764
400
999
379
113
269
599
819
204
790
475
931
143
673
456
100
833
953
6
420
361
377
211
179
629
595
707
586
51
204
300
485
899
48
183
657
736
823
546
131
425
209
818
568
440
229
967
433
488
478
89
139
50
215
976
775
44
1000
471
332
684
773
211
592
573
761
784
941
207
589
415
428
361
341
47
330
287
58
96
318
243
369
183
90
648
507
923
994
79
983
149
720
391
538
52
635
473
854
332
695
554
668
856
159
506
559
279
542
284
710
747
296
518
368
113
781
278
539
68
923
183
738
194
844
386
200
245
411
416
70
877
338
514
510
662
959
880
524
436
268
228
603
972
163
99
942
494
70
707
64
791
307
462
195
537
592
921
611
986
105
627
482
342
353
205
470
16
902
104
397
406
730
604
895
37
542
26
809
707
901
640
491
709
430
386
864
377
687
396
268
941
488
250
646
121
637
58
617
4
20
735
307
455
976
319
609
742
712
743
714
119
277
277
316
810
262
746
922
214
983
726
62
185
365
127
5
925
112
992
798
362
64
851
65
890
800
699
3
985
682
492
461
561
503
112
811
833
838
865
556
136
6
953
274
396
278
811
542
885
581
839
943
487
516
882
133
965
912
719
192
584
515
957
189
50
657
985
956
893
902
50
554
356
753
114
821
298
456
843
683
896
832
23
627
686
852
694
835
47
353
503
19
342
904
164
899
760
326
385
622
370
791
309
144
997
730
349
754
350
14
268
452
219
998
487
877
687
56
920
827
25
170
52
182
360
998
622
237
251
589
3
8
27
575
299
88
129
250
271
7
691
404
408
872
329
161
868
236
391
379
547
810
972
328
242
600
614
477
720
519
937
246
528
328
402
443
541
19
54
976
578
392
334
113
882
619
12
207
922
67
875
358
744
497
54
885
59
38
764
877
373
8
813
299
706
737
428
341
877
35
846
715
916
845
606
618
875
929
715
938
208
120
651
71
951
831
695
408
91
979
225
162
919
445
429
685
636
525
321
860
174
538
129
459
997
927
838
581
660
742
145
423
7
332
168
656
206
447
983
640
262
745
484
555
258
827
110
257
327
547
701
375
288
325
122
685
959
565
314
304
370
118
117
607
502
894
567
71
730
389
337
426
828
873
666
610
258
435
434
16
493
908
981
430
266
930
920
894
983
57
457
423
14
879
651
165
205
559
688
106
764
77
413
872
612
729
355
537
391
111
954
591
613
896
991
379
810
213
32
406
157
311
275
864
752
519
325
613
633
200
320
649
646
523
269
773
493
390
656
778
632
788
170
971
225
171
859
268
979
203
166
406
587
347
52
43
413
355
869
661
236
621
714
194
147
795
771
276
148
756
517
830
608
267
754
487
482
196
143
982
151
186
265
234
767
45
292
310
266
930
15
818
571
614
329
607
54
734
263
803
41
933
294
326
987
248
25
44
955
921
208
622
232
49
795
934
189
136
908
656
43
667
598
253
733
272
845
139
2
919
467
216
658
843
571
352
127
604
670
601
680
722
859
151
107
869
281
44
209
457
668
661
203
775
903
898
27
548
409
684
560
884
653
240
2
108
222
31
974
914
720
901
464
580
216
278
359
754
89
640
159
440
885
693
461
395
261
807
898
61
149
300
560
583
47
128
327
162
734
338
201
237
771
459
435
519
850
596
216
932
468
633
715
868
362
359
552
11
903
758
108
162
923
964
680
107
490
582
133
630
773
187
611
143
460
784
843
291
159
970
767
97
832
310
508
862
580
205
253
101
53
116
160
236
326
587
282
649
354
924
400
946
999
746
775
990
188
869
114
307
997
174
415
994
298
130
991
137
145
667
657
36
281
933
976
267
943
279
490
717
698
511
79
229
135
17
935
456
93
917
150
825
559
781
588
264
472
767
549
495
479
271
690
240
99
307
827
647
858
859
524
605
683
406
833
398
285
661
144
311
275
325
881
385
504
298
696
532
483
401
868
570
758
81
879
589
813
993
503
232
403
620
286
106
229
296
25
555
501
74
662
449
267
913
67
490
341
555
339
749
273
270
547
830
113
403
381
66
616
249
746
657
170
338
189
478
933
663
956
594
599
708
604
167
761
411
351
542
54
342
764
785
131
454
963
821
65
733
244
664
942
954
924
890
258
539
242
660
221
200
356
86
228
650
836
692
582
182
558
31
987
298
576
264
477
927
383
664
219
956
934
538
62
956
958
47
784
10
383
738
768
483
122
391
188
449
116
960
910
212
248
961
969
48
692
662
903
846
333
802
211
798
104
410
932
683
500
445
636
559
61
659
153
888
309
35
996
184
495
642
753
333
520
543
697
589
552
642
454
97
206
1
892
527
611
222
295
996
356
920
477
34
72
202
773
759
367
332
701
797
957
427
673
715
60
124
363
931
576
647
168
90
131
590
780
901
792
40
25
300
169
377
999
577
637
185
3
831
632
253
957
663
319
545
759
585
445
374
537
982
872
744
860
799
87
965
742
370
981
206
731
896
338
609
433
147
740
942
608
893
66
554
337
417
375
549
848
220
695
719
297
686
194
707
160
60
263
330
948
524
280
740
599
590
203
349
296
272
707
29
403
713
242
140
900
32
291
344
4
169
73
29
605
414
149
367
798
114
679
699
52
795
580
997
498
548
465
584
404
71
42
195
164
203
589
693
9
138
251
459
235
743
140
548
940
596
659
196
137
398
44
142
642
408
831
567
321
405
866
113
121
510
508
596
793
839
877
544
400
602
353
584
472
738
51
82
178
612
663
150
966
595
874
279
930
578
565
433
592
617
117
356
866
919
463
262
723
330
958
791
495
351
751
342
790
423
113
431
721
933
78
761
530
922
855
31
694
965
662
366
307
73
70
416
868
752
437
811
583
538
754
676
977
450
58
320
883
769
584
76
877
500
11
476
821
675
455
614
471
368
373
588
37
946
149
386
171
601
972
419
110
645
500
202
598
424
982
347
785
930
723
113
488
371
208
251
108
27
796
788
999
680
591
668
275
803
28
909
888
458
701
29
305
572
228
9
255
834
231
22
849
975
96
435
815
602
771
387
730
67
757
354
910
88
373
678
36
961
551
989
707
230
682
822
850
651
508
496
300
102
651
493
963
869
124
170
662
388
110
623
128
97
347
900
671
520
705
598
703
91
916
49
646
497
979
934
767
540
442
190
113
589
625
483
32
705
887
365
760
449
154
479
130
174
317
798
778
349
527
967
129
79
96
241
54
530
500
416
328
395
895
371
916
916
719
571
693
187
173
918
394
672
808
844
492
908
23
453
198
339
3
785
984
127
523
7
874
549
75
453
217
287
991
941
844
542
574
721
296
356
783
765
286
991
660
818
681
498
539
799
59
849
41
671
353
115
5
885
139
239
791
834
941
871
848
551
258
589
57
56
125
579
82
313
723
530
942
802
908
35
25
43
598
282
64
263
585
201
912
574
732
512
574
659
492
308
571
969
314
914
651
890
870
774
800
128
935
993
735
841
423
41
341
669
347
785
27
871
392
685
597
239
391
519
25
311
255
427
489
702
782
441
105
7
353
895
82
865
729
293
428
212
40
261
906
678
580
197
695
382
199
109
75
71
962
913
500
673
176
154
642
870
112
728
325
185
498
663
795
454
366
450
428
265
934
712
818
88
1
253
156
412
739
616
950
98
902
360
444
588
164
170
526
328
751
798
525
978
561
547
72
538
692
721
113
516
669
976
217
684
692
34
594
711
906
559
588
247
41
306
973
579
760
840
78
37
712
211
616
745
598
994
123
150
518
990
46
989
487
739
896
9
300
663
312
813
849
351
551
647
579
986
709
815
42
374
915
686
388
394
859
924
190
912
278
658
248
409
429
800
845
591
171
615
485
258
999
944
325
578
267
194
344
686
862
324
793
252
826
565
624
208
754
565
417
403
296
940
762
281
812
6
200
67
988
561
604
135
254
171
295
351
960
359
300
261
561
461
904
886
510
687
32
782
187
104
84
742
911
822
543
198
52
690
47
941
294
157
664
252
351
810
773
917
827
248
295
892
442
623
41
548
565
159
557
582
829
396
191
608
636
767
59
434
519
305
201
770
648
963
506
913
267
72
925
511
462
909
73
100
476
218
556
531
726
804
296
737
778
989
656
568
818
802
392
575
557
263
338
690
86
34
249
721
946
975
419
462
536
896
525
11
55
874
644
572
357
36
568
620
455
657
295
806
933
707
117
414
188
778
778
456
233
421
987
770
822
490
21
554
721
75
192
867
322
910
759
520
188
979
224
664
751
171
37
106
145
449
434
82
73
955
521
740
672
914
726
104
591
950
445
630
870
685
27
788
759
52
271
254
306
838
223
444
420
337
404
84
102
867
545
443
722
130
536
672
554
41
579
410
230
700
450
449
442
647
391
788
14
396
379
854
393
526
444
1
729
265
234
667
989
604
287
724
945
463
294
636
464
316
207
975
265
1000
194
788
175
123
315
32
990
625
274
18
216
531
753
415
348
903
650
825
835
295
9
409
567
778
557
311
535
734
514
879
298
180
824
808
21
330
1000
354
172
477
546
733
365
42
325
631
498
815
288
556
55
1000
706
373
381
653
410
970
812
518
585
452
770
43
334
649
315
593
577
18
214
457
849
191
243
318
207
536
349
207
772
112
263
888
393
269
361
763
552
18
867
119
883
968
987
519
656
297
208
657
106
730
773
806
810
960
308
310
138
282
659
207
431
485
313
172
740
172
116
469
828
791
663
459
690
602
388
565
12
683
336
249
836
900
588
714
190
403
556
538
612
864
679
391
280
137
609
295
950
458
599
657
19
597
667
432
795
623
68
323
513
44
756
886
704
158
816
787
297
348
266
207
204
939
288
566
238
979
652
360
887
948
66
833
874
11
217
649
445
848
542
519
7
524
116
932
98
111
612
767
644
2
987
580
127
911
396
793
605
605
845
823
459
293
281
462
399
418
133
434
528
345
776
121
178
37
84
914
855
363
966
489
864
126
778
606
58
246
588
669
786
775
540
418
247
612
981
559
394
807
583
73
24
377
447
237
892
371
26
72
519
772
785
106
868
451
696
784
199
54
17
854
261
143
347
348
385
380
574
526
235
818
198
312
690
605
470
272
800
542
929
179
844
965
223
547
257
348
535
289
601
912
551
848
812
239
678
716
687
567
106
251
914
32
435
100
7
540
766
330
183
403
582
593
551
99
267
240
986
743
817
347
722
940
171
24
995
702
554
215
31
23
463
442
322
516
191
590
371
241
285
869
55
499
2
569
333
877
568
70
269
293
33
850
256
123
611
899
864
761
654
53
987
118
835
218
790
619
668
385
535
266
271
601
504
175
107
820
106
808
527
604
746
799
125
234
190
891
258
669
947
967
621
148
696
627
415
956
869
12
489
33
303
872
791
649
300
933
648
325
519
719
626
548
892
878
234
598
128
940
297
984
465
172
606
556
3
870
367
373
371
987
57
778
470
464
497
947
735
34
381
388
706
520
8
468
675
881
683
79
856
312
106
976
808
763
77
157
832
102
27
875
652
996
175
554
15
298
650
896
729
360
498
950
292
217
317
755
474
60
219
469
157
713
898
541
261
142
870
592
821
144
364
142
151
449
908
232
546
429
394
266
174
517
301
146
646
172
776
841
233
993
503
94
884
96
623
861
972
458
484
442
199
277
687
972
173
754
696
120
988
912
270
349
532
192
129
115
388
617
519
662
878
245
846
929
272
481
109
189
182
589
642
669
915
375
604
371
928
616
719
705
529
251
991
364
689
762
536
61
143
418
178
377
974
292
202
975
511
33
459
872
693
373
86
298
21
298
229
893
814
575
514
657
812
102
462
107
48
147
716
562
547
85
715
335
638
690
404
880
555
383
695
634
597
89
632
349
299
524
641
232
957
805
835
70
374
218
47
859
879
916
183
129
499
37
502
284
700
491
656
808
199
211
657
99
245
187
471
26
143
41
590
61
993
155
769
960
343
657
95
536
920
647
693
16
670
114
659
846
112
915
271
567
390
61
145
575
473
274
722
148
688
481
458
127
108
445
101
17
378
225
707
92
224
533
425
279
253
340
630
226
614
267
660
976
794
426
314
78
74
342
229
835
189
512
465
585
322
7
929
595
860
178
756
175
258
235
406
86
972
934
24
181
641
105
571
487
620
68
324
612
525
248
619
444
652
472
126
597
25
482
525
965
337
177
161
29
249
991
186
277
336
576
693
233
484
663
581
62
680
591
232
698
957
449
600
750
714
259
963
165
763
862
452
808
216
480
404
644
788
973
770
174
142
915
66
140
704
517
829
289
709
272
138
150
379
984
514
385
772
466
459
228
276
787
927
964
705
400
300
167
673
890
787
638
233
338
731
606
790
503
14
759
935
134
580
107
155
700
139
518
364
774
266
998
782
82
436
429
3
998
23
546
12
850
924
380
499
976
271
250
75
889
626
686
891
267
181
307
723
738
739
794
798
581
668
555
515
560
599
601
747
42
370
443
570
461
600
524
134
970
346
822
889
789
441
776
489
411
544
618
574
264
367
515
31
901
282
685
509
59
282
780
701
197
284
379
365
192
892
410
144
985
22
666
979
840
258
357
332
775
397
818
468
450
419
76
801
490
23
972
636
740
963
910
698
483
628
140
522
974
712
659
94
971
360
441
164
113
887
743
282
113
990
617
917
704
430
650
8
242
304
137
891
627
345
581
836
973
200
435
367
64
233
479
120
174
246
81
249
286
391
859
281
51
736
943
900
153
132
122
337
825
502
633
928
407
222
274
916
741
4
792
778
142
571
229
183
404
472
15
185
61
573
115
415
664
114
466
842
374
752
274
147
566
662
481
848
466
592
857
137
66
776
715
783
677
702
222
570
540
74
630
481
835
716
526
231
296
807
376
837
377
566
218
595
589
455
364
234
190
22
334
40
876
749
89
409
527
650
791
653
300
911
989
864
619
574
84
309
639
103
412
120
833
697
84
16
208
385
966
434
505
260
842
695
458
675
828
780
797
903
595
889
250
499
797
190
203
608
381
74
56
537
143
790
559
171
950
556
557
252
564
104
674
102
895
149
397
97
785
465
948
99
179
81
67
94
612
608
580
478
480
864
159
789
492
786
245
217
30
51
483
854
870
988
336
507
886
114
787
868
900
79
149
947
786
880
53
28
320
967
613
779
38
253
632
826
518
111
443
818
109
155
683
947
117
956
806
958
830
912
671
920
606
129
886
406
410
538
894
286
841
481
953
37
679
611
305
304
441
303
791
516
224
719
90
456
405
291
614
77
363
669
748
289
481
114
821
109
116
916
678
344
101
637
207
938
613
925
485
205
923
158
495
457
602
426
510
929
291
226
301
492
989
752
323
382
153
875
892
45
590
736
156
250
246
357
362
828
511
869
522
740
594
709
68
702
841
667
514
246
626
727
463
947
575
465
503
498
450
190
676
481
952
89
250
956
107
412
448
443
626
114
643
490
835
444
301
770
351
670
570
580
651
530
47
671
103
993
651
599
808
626
991
142
818
188
824
906
919
76
460
906
164
903
23
802
798
782
503
445
29
883
438
600
334
431
888
989
661
590
84
330
921
635
754
633
607
372
688
860
282
48
527
961
908
865
109
438
695
797
977
827
205
602
797
932
962
817
512
187
694
26
25
291
645
906
88
123
100
364
868
987
380
601
330
464
89
81
198
465
314
191
754
632
815
851
146
868
983
454
175
625
500
273
800
556
152
959
678
265
250
772
115
192
446
4
772
122
509
404
261
406
811
516
575
746
844
513
928
321
96
524
154
105
977
457
295
443
331
1000
377
376
245
848
667
698
480
174
895
483
912
26
19
632
725
652
120
24
8
708
930
37
589
912
299
481
619
40
647
537
446
11
62
864
811
489
264
885
210
594
51
176
605
293
266
6
266
527
491
346
686
423
912
47
936
739
820
527
766
269
200
958
35
108
745
904
778
493
409
368
313
472
321
396
333
775
447
786
840
90
943
912
110
396
498
383
633
149
334
48
98
868
706
882
64
132
920
364
885
67
883
330
875
149
181
649
400
584
482
761
826
538
866
803
793
241
315
27
288
348
158
246
385
976
772
312
332
503
179
983
844
577
505
108
114
764
425
737
39
938
839
653
606
788
17
774
220
827
377
127
967
886
854
333
480
345
560
100
124
315
63
798
645
556
145
23
341
166
331
1000
36
981
863
759
842
198
998
310
777
915
727
450
780
197
21
398
571
778
741
215
113
686
172
817
117
959
989
467
176
68
82
803
602
849
350
850
6
546
994
929
939
29
321
93
723
383
342
519
673
824
690
264
514
358
518
954
740
667
48
230
14
469
432
277
497
989
370
314
158
249
746
730
705
594
168
439
773
250
874
125
379
720
943
264
487
542
131
195
700
239
926
89
744
305
628
306
397
725
345
550
972
839
790
197
279
310
717
365
220
594
596
618
856
581
890
659
793
22
921
35
206
924
826
638
711
365
579
771
519
75
372
618
19
686
934
250
8
784
495
701
266
738
199
227
92
845
729
597
691
498
779
147
39
909
820
370
932
455
271
33
494
821
801
130
290
973
991
550
565
411
992
940
863
319
134
131
390
966
666
444
100
188
935
312
372
827
355
13
566
800
441
676
490
823
57
400
977
914
761
45
385
501
805
189
803
322
903
819
123
354
364
556
994
676
566
599
822
512
20
111
624
717
493
497
579
589
717
834
501
237
261
776
348
661
19
386
59
367
604
703
720
568
646
304
61
11
649
783
765
2
557
858
939
514
666
743
363
91
834
581
793
899
206
926
712
427
848
752
377
246
723
987
924
760
441
337
604
53
71
32
891
798
123
178
380
661
458
601
846
832
515
424
816
65
744
125
303
137
522
500
116
708
184
776
282
364
987
110
693
78
985
827
17
362
807
64
318
197
288
937
557
165
743
930
350
329
432
1
944
70
424
795
339
495
633
445
894
43
281
649
572
617
414
138
145
880
385
155
344
389
419
286
916
859
452
840
15
189
474
976
143
818
482
961
153
629
993
250
411
877
779
574
309
563
108
858
771
260
341
573
229
647
128
92
866
917
857
721
553
769
196
329
26
919
799
938
303
948
250
192
280
809
344
369
703
518
654
472
447
391
122
3
148
684
123
194
735
645
23
855
356
795
782
485
520
739
547
990
6
893
498
136
244
335
451
904
431
386
828
989
588
646
659
29
140
926
211
569
365
964
693
389
240
817
253
579
793
598
103
664
50
541
238
167
87
446
633
201
458
230
204
114
532
638
122
715
824
175
218
319
481
983
366
729
481
682
699
246
933
153
434
1
131
893
916
213
630
823
181
460
687
365
10
680
851
225
936
437
367
516
160
911
315
816
616
186
85
260
761
682
885
25
741
985
441
413
720
904
983
277
99
327
863
708
232
320
909
762
46
970
701
485
658
666
476
645
673
870
324
415
363
943
634
681
338
262
514
810
623
687
35
443
298
414
725
376
975
399
674
611
424
818
984
474
611
500
71
42
243
838
506
230
691
493
644
565
798
90
314
73
678
192
207
721
51
71
412
537
66
183
773
891
837
796
319
394
112
909
83
533
590
486
13
481
427
11
536
474
335
551
576
765
560
843
446
469
690
403
115
506
913
276
807
486
858
866
722
589
617
212
987
419
854
199
570
361
229
441
28
191
445
7
398
549
362
726
472
445
558
546
978
95
607
286
905
297
128
218
333
992
366
41
623
840
630
244
781
452
464
291
116
363
792
808
80
982
639
703
279
500
210
183
256
212
283
761
541
751
867
603
885
540
51
77
322
93
794
912
901
947
187
189
512
635
347
254
215
547
698
770
876
522
859
318
714
707
726
359
584
553
642
919
418
833
734
39
273
202
574
923
869
130
374
683
324
22
772
797
33
939
149
682
288
624
83
293
283
476
225
280
617
690
375
38
247
49
17
928
147
732
881
60
584
93
403
291
996
548
64
502
988
605
691
807
802
590
767
59
963
803
680
937
489
689
607
895
175
98
460
511
973
858
879
74
433
714
788
806
488
119
439
757
600
526
162
246
465
566
311
701
974
962
960
888
131
119
10
819
962
40
253
65
252
683
813
824
73
877
155
845
712
656
466
226
546
255
832
197
830
2
74
203
163
69
509
12
608
348
153
114
40
743
128
361
337
805
84
675
453
949
479
652
220
475
464
61
2
202
942
567
952
847
80
470
654
172
202
932
438
546
510
894
475
795
538
907
51
131
574
141
98
502
561
150
131
914
131
361
232
172
505
837
639
988
962
602
753
609
451
695
143
942
727
167
187
663
66
438
557
952
219
785
634
287
762
243
323
218
435
874
430
149
346
177
945
944
167
409
102
600
561
699
63
326
129
164
418
107
101
650
487
251
838
359
568
456
985
367
864
663
754
962
808
334
396
811
918
808
405
184
81
100
340
868
415
808
491
927
439
841
752
196
306
279
206
204
316
39
905
290
698
942
259
804
943
430
236
629
599
441
345
727
460
893
950
79
603
819
42
139
525
442
21
921
941
367
378
892
481
665
451
167
576
789
556
858
362
179
893
52
266
911
574
609
305
945
18
841
775
368
735
208
166
511
220
351
649
994
269
125
380
535
535
842
247
862
570
564
383
147
881
149
936
188
789
697
133
1
991
218
634
544
755
598
535
89
641
436
139
106
472
879
826
650
38
396
887
874
686
308
211
760
497
995
104
87
251
923
308
433
741
9
502
278
281
415
201
310
471
534
946
685
339
796
153
278
40
951
784
970
135
624
273
592
364
294
751
457
483
305
702
340
422
174
621
337
505
240
98
320
966
656
53
559
306
837
494
684
297
723
278
359
631
657
813
900
226
234
579
628
225
216
595
894
580
509
719
590
887
207
739
435
870
950
760
480
463
170
314
100
980
322
938
191
261
869
730
409
990
608
518
98
628
908
827
943
503
576
818
505
673
344
682
548
78
444
812
431
385
320
182
950
650
303
2
692
620
995
670
351
23
176
468
481
707
279
206
854
833
875
291
908
655
148
246
799
562
33
764
202
204
564
804
322
492
971
58
539
200
255
367
746
693
279
296
695
42
894
154
618
421
276
178
985
186
424
478
478
536
720
608
202
936
574
298
693
798
429
984
493
29
810
234
947
162
704
88
406
729
258
619
194
430
694
738
541
439
366
367
190
873
103
643
527
54
317
725
904
695
883
124
276
556
467
201
415
437
795
637
721
576
333
220
108
698
11
262
499
924
887
309
266
782
118
599
280
316
195
868
380
129
190
732
704
792
644
812
764
653
824
200
130
558
312
657
303
337
262
134
661
248
208
827
423
717
22
6
136
837
444
255
606
97
666
650
64
692
572
559
42
628
599
488
699
512
637
360
238
596
53
138
710
128
686
533
676
552
640
818
160
417
780
444
853
124
129
243
747
801
755
477
273
648
330
917
508
94
270
395
236
964
242
20
462
655
898
344
499
1000
848
287
875
114
292
547
144
1000
208
587
124
134
677
983
233
517
746
103
351
972
214
615
81
526
868
294
377
805
977
951
236
279
316
80
579
71
590
10
488
760
893
904
681
318
764
969
498
849
454
609
672
282
283
64
870
571
321
306
310
201
191
530
761
33
496
656
911
591
198
639
344
911
334
239
393
979
585
140
720
609
559
943
761
325
125
634
110
449
775
540
515
131
779
712
393
500
860
885
672
461
202
884
351
920
897
405
359
378
319
605
172
913
525
807
194
518
487
961
63
675
861
180
904
803
31
798
51
931
390
922
887
528
144
360
299
941
461
160
677
301
453
721
525
66
288
589
528
593
742
585
352
287
597
917
548
864
624
223
670
261
320
327
127
523
168
630
353
798
975
643
581
196
748
182
893
859
624
114
239
51
653
350
803
453
561
11
433
159
205
272
862
24
122
440
76
138
414
233
527
216
256
62
811
558
443
358
112
114
761
641
922
856
401
59
549
327
321
601
466
746
221
49
823
525
744
999
346
352
667
961
406
304
40
625
253
572
716
887
280
475
243
109
723
393
847
375
373
153
111
260
729
156
3
688
500
258
105
18
544
2
249
387
124
283
288
725
812
996
387
519
543
452
45
633
41
661
60
976
312
627
755
810
983
908
103
825
996
577
828
900
595
611
166
646
581
473
735
378
544
301
881
201
129
720
937
252
464
726
83
959
501
498
847
380
424
273
871
306
236
610
233
821
300
466
504
459
924
516
691
902
36
57
433
422
638
656
99
929
967
423
956
492
275
426
178
713
688
281
291
159
876
433
576
341
164
938
74
416
263
868
95
855
38
574
549
803
572
136
984
792
348
304
984
716
518
90
411
729
107
991
67
808
465
485
536
282
455
57
306
501
652
520
815
220
338
785
710
937
128
583
433
637
924
838
260
904
256
544
6
332
209
998
949
540
855
241
956
849
524
345
397
872
308
989
201
839
896
389
333
481
229
252
39
672
475
864
434
855
515
821
401
470
481
197
321
215
862
127
834
2
375
882
706
887
84
541
884
96
222
233
978
496
812
782
762
514
431
285
734
557
410
793
437
448
364
800
34
242
178
691
557
78
480
635
398
386
196
678
833
852
6
954
807
37
366
987
792
437
321
27
236
85
500
274
35
482
517
592
487
784
534
24
396
662
845
35
341
217
197
867
651
633
1
867
289
995
714
899
663
869
461
232
385
753
384
381
119
514
317
447
961
233
107
424
242
711
330
799
249
15
195
524
132
59
147
97
163
189
53
62
621
138
896
711
767
522
551
135
800
265
614
93
202
919
183
318
596
925
215
7
83
229
333
241
57
534
954
973
640
704
238
80
232
471
595
644
126
651
478
321
796
552
737
119
254
79
70
430
808
369
19
428
691
401
508
272
252
175
136
665
867
484
318
403
253
240
892
531
637
599
977
593
114
843
750
245
541
75
257
202
568
345
565
91
704
697
349
262
885
3
481
67
631
171
325
379
740
458
180
389
427
181
797
832
972
67
954
826
203
853
825
462
641
515
299
115
685
680
435
228
19
372
992
940
317
198
305
545
416
527
849
208
344
967
469
752
979
675
643
624
674
666
110
339
862
271
856
784
523
344
776
793
416
656
257
296
119
128
610
169
287
238
485
645
976
941
409
753
560
948
111
812
520
37
610
438
370
361
880
867
77
389
529
665
586
183
88
37
496
246
428
45
499
11
306
977
927
401
260
32
636
558
905
243
520
972
153
256
101
757
88
200
71
747
976
368
88
422
393
844
878
399
576
538
461
400
857
302
330
113
500
940
547
378
327
961
997
432
301
849
527
777
591
505
244
368
748
227
87
412
310
314
630
88
529
880
204
833
956
988
626
713
281
582
228
537
197
961
406
42
17
757
640
462
456
470
740
239
296
596
148
454
587
346
252
806
713
707
995
617
878
374
577
363
533
680
640
737
848
205
162
62
570
166
200
192
532
72
757
671
617
341
297
37
210
780
845
633
34
860
205
175
805
718
540
651
314
677
446
805
390
884
725
602
704
331
217
563
507
153
443
821
226
571
313
32
285
285
812
73
672
426
420
554
517
401
987
748
402
94
933
510
206
930
933
83
40
244
693
505
235
244
38
472
381
618
288
118
165
496
822
148
109
32
806
162
331
375
276
809
152
134
194
616
714
778
585
962
745
552
611
657
296
640
271
63
554
273
422
472
834
402
14
736
423
388
723
774
294
860
671
625
588
543
553
195
371
380
275
687
440
728
177
988
817
729
9
967
160
262
81
701
532
986
455
163
817
84
591
771
631
301
614
531
754
711
242
187
923
469
473
921
359
488
303
668
539
560
146
16
524
981
94
29
640
106
852
45
409
630
3
644
430
564
240
554
315
34
326
205
915
68
859
6
764
462
351
194
135
678
756
284
110
474
308
728
806
640
504
376
271
754
88
735
588
386
155
820
402
517
882
603
443
255
906
676
603
110
123
755
776
188
481
112
991
671
386
806
325
871
517
873
707
942
127
240
4
75
453
205
710
629
424
778
161
176
714
25
424
895
97
863
948
90
182
389
574
861
864
940
771
124
255
562
796
235
419
451
20
465
986
242
853
416
583
731
533
306
91
723
534
696
917
216
521
848
832
76
575
430
447
659
878
653
52
623
176
272
389
257
112
108
883
268
955
848
29
880
342
965
888
481
411
483
134
828
67
218
663
990
241
840
565
784
665
782
172
477
81
583
960
886
838
731
327
833
502
435
651
116
441
77
579
767
363
234
193
396
422
323
558
827
824
859
173
104
820
289
11
131
623
134
162
910
23
934
566
352
443
77
983
114
759
183
99
773
444
102
676
922
513
977
703
446
303
46
804
320
327
45
559
765
335
121
996
483
205
139
194
7
533
172
881
894
558
707
921
629
610
836
786
590
415
260
477
390
361
478
868
222
351
904
109
575
950
12
554
845
330
792
661
899
938
973
449
627
933
466
395
870
134
448
90
883
676
345
596
671
607
735
207
127
361
837
212
864
445
845
377
66
689
812
53
457
79
196
217
698
575
432
327
151
263
135
507
956
881
574
517
796
49
132
895
565
514
322
885
381
319
767
72
43
114
292
104
85
730
872
566
13
767
749
811
213
135
446
548
260
469
777
75
43
818
197
290
210
285
980
73
913
134
832
174
749
419
447
475
69
373
459
406
560
643
988
317
99
933
699
805
412
802
857
382
993
141
403
335
66
346
465
354
127
301
44
266
726
94
820
267
728
789
193
103
219
694
669
20
622
302
656
689
321
483
606
972
306
569
152
114
903
695
601
895
657
113
648
337
838
245
723
795
820
911
701
655
821
522
16
384
76
9
435
420
552
919
784
197
750
441
7
645
940
37
767
664
452
35
678
397
263
787
947
611
193
922
848
118
457
844
975
995
205
849
682
268
958
146
448
873
480
620
169
942
780
414
539
887
356
239
748
347
743
889
705
767
691
603
854
285
37
746
472
644
421
815
991
39
544
887
518
174
565
456
210
310
594
85
573
755
961
387
99
87
79
663
836
345
303
931
643
612
102
190
929
661
265
502
571
818
594
878
613
778
766
16
58
897
558
654
748
381
687
672
890
880
879
108
252
218
570
931
453
392
883
769
28
498
123
770
168
955
42
429
117
262
568
554
226
500
532
452
551
11
131
101
742
973
557
301
642
80
237
769
689
187
607
711
718
557
198
656
228
306
90
246
510
751
453
238
290
614
2
168
711
481
653
32
534
455
576
841
421
709
158
106
35
500
62
132
484
282
720
536
323
721
87
496
940
806
431
121
627
732
260
724
93
921
219
959
446
372
949
544
927
489
445
693
805
703
402
545
855
484
412
533
816
786
646
124
50
580
821
366
393
899
838
409
835
720
490
552
253
94
983
376
876
185
877
224
553
216
209
612
170
929
208
182
778
807
19
422
53
203
273
718
752
517
195
260
729
728
165
938
868
927
278
658
60
957
548
426
927
931
802
148
590
168
221
338
164
56
716
845
55
434
52
230
363
388
651
686
866
720
570
239
139
979
973
498
294
637
774
420
776
890
798
379
356
622
951
338
223
254
380
79
635
556
563
234
106
24
569
354
523
96
501
360
887
272
246
488
624
244
245
308
510
212
918
445
311
914
759
413
175
317
907
358
665
517
133
567
69
196
795
317
294
845
311
24
206
108
55
647
769
757
430
29
701
268
49
155
653
451
579
348
123
336
820
33
387
333
33
43
774
733
337
392
487
754
256
57
5
682
141
611
826
136
225
453
941
111
556
993
956
261
884
395
229
826
889
388
741
726
763
180
662
579
301
790
755
859
81
925
800
948
272
78
218
592
864
736
952
150
835
370
425
70
903
432
127
209
4
705
935
24
578
166
822
91
79
2
987
162
863
520
761
731
742
497
898
105
65
910
938
78
128
132
415
640
85
374
593
556
298
587
274
305
262
92
976
591
780
918
442
581
103
198
3
95
115
13
793
200
440
738
194
47
583
314
191
350
815
836
469
574
518
520
235
793
164
418
705
169
914
216
143
163
65
61
133
952
227
659
508
962
142
811
961
98
559
145
939
29
384
44
825
847
647
693
792
504
470
702
938
735
330
990
508
541
367
497
41
931
426
798
278
310
773
897
534
834
189
300
32
41
199
994
382
326
776
68
987
140
736
571
674
319
398
626
242
641
822
964
945
488
76
816
164
516
536
537
617
350
188
411
542
613
251
865
179
67
228
689
762
234
663
944
973
623
445
936
473
639
529
27
687
274
300
63
504
976
637
897
929
408
915
814
1
423
831
679
495
219
926
259
30
549
124
508
180
827
437
536
141
172
213
644
273
749
980
46
618
229
940
866
65
865
680
563
414
432
499
215
14
266
20
952
1
721
450
439
412
633
917
477
633
796
820
703
670
43
1
873
751
232
868
401
594
348
304
675
523
966
294
165
247
515
756
481
757
155
947
379
284
573
187
122
673
689
350
804
851
72
749
942
278
873
561
132
424
181
928
644
320
47
202
549
199
833
596
417
79
168
686
655
895
561
745
282
461
616
955
303
83
906
858
886
152
750
273
205
403
564
77
190
807
982
874
377
289
642
598
753
519
391
521
758
59
688
967
588
57
131
277
590
478
375
211
766
608
184
32
384
178
997
963
264
12
190
590
555
519
152
28
727
727
406
375
61
781
282
42
127
20
40
37
630
783
943
179
512
106
495
536
398
301
958
49
308
249
287
475
52
893
853
239
884
28
648
764
798
998
204
159
319
297
103
880
746
426
812
127
613
539
521
312
539
584
832
857
755
632
421
965
308
83
256
791
394
244
550
577
284
551
403
938
49
361
1000
461
661
805
296
153
65
678
385
120
514
708
81
28
783
838
851
522
894
353
879
824
625
769
934
103
390
423
717
118
43
597
530
791
774
840
430
91
558
874
521
600
540
76
680
630
326
119
786
601
428
726
489
676
953
899
660
314
267
216
923
489
503
938
78
824
708
762
833
756
923
7
940
182
692
924
786
722
323
566
460
866
729
400
588
762
833
401
523
384
316
886
40
78
982
759
316
299
86
154
826
441
819
690
755
234
508
673
668
159
225
617
472
653
236
420
156
690
117
343
394
477
420
723
883
582
517
7
164
831
573
253
795
662
681
715
946
470
830
538
885
652
749
828
367
690
663
598
637
635
619
166
619
769
407
580
860
55
8
596
997
250
162
487
804
159
909
753
385
600
906
383
710
79
887
877
466
60
912
679
183
964
936
11
663
731
783
360
28
842
850
37
105
197
706
272
460
142
311
308
106
235
741
830
808
47
153
834
952
418
235
760
135
102
510
293
7
652
699
742
393
759
807
334
399
957
708
56
28
785
795
915
821
40
689
612
164
696
96
668
205
457
646
963
772
660
952
529
291
423
178
165
462
537
148
114
370
558
357
611
795
977
314
588
698
136
311
183
257
761
51
13
378
622
579
348
292
803
602
409
712
560
588
60
44
495
24
20
296
105
810
580
683
317
53
526
374
755
463
570
488
885
141
180
238
76
802
86
58
876
355
124
669
486
365
330
302
486
99
347
700
376
736
268
114
360
879
56
231
143
654
484
860
173
540
420
245
921
575
878
80
272
718
939
655
58
989
82
57
72
429
928
61
658
91
688
126
119
24
838
915
714
639
674
898
5
970
433
882
655
66
623
763
556
139
23
409
347
203
608
336
964
591
275
768
843
167
853
734
805
38
317
104
450
269
534
833
95
459
139
247
897
7
335
888
837
564
518
306
662
490
617
177
707
66
964
329
765
867
321
547
829
971
415
532
559
591
958
22
800
347
680
875
344
608
315
857
390
261
868
5
834
798
718
679
610
865
274
832
792
248
991
630
50
824
489
257
375
195
451
631
678
538
693
830
994
719
568
177
528
883
393
345
738
509
147
304
935
414
75
648
666
303
143
621
265
235
530
183
511
814
478
558
303
8
816
33
608
238
474
207
724
791
114
487
78
667
753
429
329
677
964
394
596
1
734
93
966
425
610
830
268
170
79
608
319
558
451
848
427
773
705
139
985
616
829
315
410
450
228
149
510
543
653
137
598
570
944
169
328
391
584
356
278
76
718
927
751
819
782
910
138
557
394
241
469
77
440
77
425
892
587
326
203
448
610
856
83
35
964
386
462
343
41
822
419
783
393
670
566
507
30
215
90
604
555
349
362
52
522
281
471
860
901
891
319
265
942
144
702
2
48
810
911
404
502
721
958
577
994
934
481
929
973
448
756
121
752
600
999
892
155
843
338
273
278
401
395
425
535
174
434
697
800
399
394
547
873
742
962
633
905
933
25
737
704
568
457
174
15
426
235
990
996
482
282
583
95
832
278
299
443
899
929
249
721
618
806
787
143
792
948
106
866
422
845
932
645
640
319
591
15
793
67
598
604
362
305
489
477
640
57
833
522
516
95
230
2
305
465
630
335
268
785
486
72
379
267
119
811
918
495
132
477
687
508
893
16
992
684
919
33
55
248
420
322
172
945
438
570
781
609
756
706
576
849
194
538
927
108
15
319
180
627
892
850
857
705
297
572
369
746
250
832
638
231
35
222
919
682
932
380
219
139
968
199
903
429
430
699
513
732
200
155
308
565
968
232
802
316
43
990
374
902
780
641
79
934
615
817
929
41
324
959
254
624
383
139
236
375
273
269
335
362
122
186
124
329
368
528
10
129
991
692
417
917
456
399
252
764
687
559
944
884
308
201
851
540
874
187
633
3
29
348
18
639
356
420
470
329
171
880
452
937
699
378
334
449
844
953
515
796
248
642
990
34
451
409
418
774
760
539
744
252
832
777
541
429
105
520
544
829
940
328
312
653
735
852
532
818
354
40
262
206
894
138
331
373
227
591
167
364
753
376
580
83
486
744
412
886
955
567
480
661
382
734
985
693
252
98
382
38
714
516
724
953
204
392
681
177
305
4
733
503
147
565
537
135
571
644
100
763
883
75
184
193
261
946
314
587
796
602
869
97
692
838
23
720
365
650
659
710
82
946
37
782
262
607
660
624
790
180
705
965
507
248
416
545
555
225
74
860
382
931
485
483
71
797
471
90
55
954
496
63
472
801
398
686
135
839
173
503
562
725
888
365
597
499
119
54
872
902
719
147
807
555
373
962
874
497
124
989
572
278
997
249
942
334
900
347
463
886
239
861
880
924
51
860
824
207
10
989
108
310
367
572
216
927
724
607
834
590
583
364
213
911
747
535
794
234
4
532
796
356
989
576
400
554
756
682
769
736
407
519
359
944
39
363
923
801
425
78
120
754
44
121
904
103
567
44
709
907
415
900
979
795
789
219
798
626
411
958
174
690
311
927
84
881
151
728
479
813
951
149
312
423
604
309
83
946
225
587
524
521
193
491
845
887
758
210
361
746
187
517
452
433
747
76
511
453
250
979
983
306
510
483
622
777
807
554
825
513
393
758
277
299
120
478
155
899
544
218
844
721
204
952
437
848
336
126
303
163
4
899
656
399
442
668
367
961
452
745
225
249
854
273
484
67
311
162
793
388
341
815
561
411
951
932
393
349
137
499
470
854
445
367
657
322
864
488
696
579
640
966
28
606
962
564
685
41
84
219
207
146
160
380
736
840
966
753
265
146
727
94
523
129
452
231
146
983
560
454
561
415
77
682
506
929
349
616
220
876
68
197
103
405
348
251
107
552
762
159
186
756
530
754
894
19
496
428
609
795
136
584
942
422
626
175
593
598
881
58
274
960
571
265
384
281
363
132
764
214
4
390
233
767
408
982
592
903
624
357
417
756
405
428
320
947
112
227
258
412
870
507
158
954
191
209
348
481
790
741
258
477
936
501
429
849
488
907
113
674
705
501
651
767
41
350
400
220
366
54
143
228
528
157
846
590
686
676
123
246
614
718
944
79
56
917
1000
20
244
496
605
163
912
298
164
213
470
54
86
78
534
491
434
850
679
620
763
714
83
677
366
559
740
774
580
203
44
243
879
153
837
28
277
804
466
266
901
784
18
360
705
951
627
428
999
165
713
14
817
577
42
328
203
590
761
100
178
83
941
325
462
745
691
800
62
554
623
371
464
555
303
239
477
91
321
494
764
532
798
310
690
384
475
852
419
395
984
13
100
862
572
556
610
926
330
100
525
61
915
654
934
304
886
85
243
57
8
988
340
416
334
917
372
84
407
824
904
873
694
867
409
695
223
440
908
722
458
420
25
86
638
97
934
96
159
246
438
442
102
70
911
282
663
526
947
415
89
667
343
957
681
199
466
108
572
400
168
568
296
922
129
169
591
751
947
100
499
803
310
856
587
191
354
728
28
200
628
198
366
401
160
74
5
139
778
606
860
837
181
71
160
155
270
549
66
103
885
671
657
596
401
160
821
779
628
874
781
714
45
882
289
637
710
836
19
60
99
524
323
438
727
24
300
18
660
332
89
704
906
669
405
505
265
944
585
171
397
999
836
146
781
337
976
830
721
997
640
479
777
140
866
740
827
666
976
980
448
912
903
35
480
40
435
976
442
259
387
805
915
430
386
721
158
896
736
770
984
650
870
215
353
26
988
935
249
196
798
543
136
639
718
631
708
637
499
800
686
602
15
643
150
679
852
896
272
655
421
332
302
676
561
789
410
658
963
933
259
536
304
956
237
735
687
456
890
296
808
143
433
143
335
868
172
832
97
707
279
8
50
472
674
450
445
81
670
271
263
668
633
343
795
186
186
468
157
521
337
165
679
822
530
207
346
810
774
184
882
354
933
449
668
475
745
782
395
228
344
965
239
662
906
273
419
129
502
568
152
759
448
272
426
834
204
8
479
131
359
127
572
47
373
613
463
452
492
128
953
781
733
62
43
831
879
491
499
80
199
897
113
146
18
356
509
135
287
630
152
266
66
292
99
93
153
567
127
86
171
31
96
108
72
715
807
545
374
437
125
445
448
367
888
71
810
942
926
668
693
254
569
101
151
931
165
238
537
359
473
630
509
824
258
47
630
757
70
941
239
837
978
708
487
108
973
962
372
662
864
641
136
648
773
910
617
559
703
260
28
810
301
154
142
584
600
808
61
818
455
477
601
965
419
649
781
890
996
156
106
835
590
56
107
889
947
539
93
838
582
806
157
554
506
42
312
328
531
129
1
672
595
746
375
158
817
807
436
791
463
21
579
288
598
486
100
350
969
843
965
718
571
486
519
340
448
738
809
464
478
676
916
849
308
534
13
575
137
197
858
113
742
328
99
435
4
105
78
932
207
366
756
824
539
212
59
569
565
747
160
491
908
699
202
489
29
130
516
214
772
276
664
554
305
873
527
599
191
964
205
541
577
281
755
91
919
790
608
90
235
875
76
951
597
935
531
449
482
883
681
173
622
157
847
627
217
351
343
591
708
523
814
825
844
569
897
656
415
758
670
246
893
734
140
627
150
760
455
660
606
17
612
159
430
80
180
327
872
474
970
529
411
427
635
150
169
458
893
991
957
483
455
165
394
482
752
996
773
592
248
734
738
686
474
257
368
120
883
52
989
348
335
920
860
531
264
836
916
105
611
295
911
493
171
306
626
825
321
924
293
548
10
818
32
284
494
940
863
160
534
769
844
91
688
981
966
187
889
635
703
533
703
129
540
78
555
251
377
264
708
622
429
343
12
703
143
6
221
330
686
102
225
438
764
707
672
217
886
763
265
465
701
813
489
305
707
120
658
752
448
587
916
845
310
444
297
178
147
658
26
711
283
336
979
674
865
209
639
242
166
426
935
390
187
498
83
22
834
195
890
20
16
622
34
337
249
477
527
640
723
715
862
295
356
454
409
674
39
989
213
859
139
173
705
852
347
312
775
257
113
902
294
276
251
231
431
538
762
876
83
947
577
630
264
233
700
216
627
377
197
440
116
381
571
102
369
152
327
80
661
399
962
466
91
538
176
557
196
531
838
787
413
525
120
397
608
875
283
766
408
893
758
830
228
211
555
946
677
181
534
915
521
139
732
568
463
668
788
524
829
243
459
225
630
727
393
357
612
285
579
99
600
161
383
422
906
660
657
850
568
404
189
651
951
605
667
444
591
668
413
579
188
892
373
472
363
436
248
260
94
5
154
774
785
879
970
850
556
32
310
400
635
88
128
531
743
755
112
219
936
220
329
693
678
693
113
735
852
925
768
571
976
67
495
883
192
663
893
735
443
939
463
897
852
786
854
135
512
9
967
505
781
482
627
608
695
803
266
45
298
959
949
35
538
251
96
265
854
473
486
561
765
884
473
892
549
67
839
571
579
140
403
235
15
131
322
332
315
526
997
414
465
156
628
482
923
607
788
973
22
279
788
797
966
82
253
959
633
498
73
908
99
411
810
759
167
659
723
887
242
757
814
238
523
591
653
888
895
208
327
986
828
980
531
269
305
535
667
727
64
875
873
859
442
961
13
182
698
916
43
306
996
688
596
947
151
652
315
686
838
170
223
182
192
573
375
780
673
362
173
155
577
707
924
714
824
446
728
953
529
901
265
882
356
755
858
912
884
148
26
324
16
909
821
548
986
572
405
984
663
368
721
63
655
942
592
530
182
923
268
713
833
810
257
662
56
841
271
596
711
664
240
74
75
659
641
645
442
679
862
507
882
872
900
908
755
953
468
561
311
992
501
379
70
329
132
194
721
720
439
958
925
170
635
94
801
231
954
331
819
700
137
323
524
784
330
816
782
770
172
944
236
179
61
485
272
177
870
529
65
767
910
107
220
875
538
733
120
26
620
718
307
713
11
368
183
926
308
855
807
557
406
635
850
576
804
777
580
899
174
461
330
898
455
206
42
332
600
98
357
301
168
394
194
493
141
419
922
611
707
568
48
348
254
590
787
731
515
52
30
913
590
30
982
777
583
622
185
798
725
856
741
676
130
887
272
175
802
216
593
466
117
749
89
25
734
202
557
780
869
247
589
800
869
265
648
264
316
333
641
841
248
297
156
903
624
380
505
173
874
827
400
509
243
473
356
552
603
988
922
841
636
782
441
853
580
184
314
115
204
579
700
190
358
645
149
874
187
677
932
354
84
281
719
472
551
371
837
454
401
517
528
647
141
150
522
867
978
39
763
932
601
765
295
851
777
614
186
885
858
420
833
452
490
429
164
377
162
162
61
552
764
602
784
436
970
758
310
181
115
815
270
366
182
619
604
454
686
222
153
150
512
553
141
739
229
73
907
364
998
429
318
941
964
728
993
88
930
18
857
980
204
975
543
560
714
587
897
865
902
845
114
562
440
41
100
945
498
338
241
760
177
650
132
222
719
741
732
512
257
686
76
831
238
457
918
860
78
495
635
43
307
531
315
707
186
831
177
423
796
290
403
410
660
472
988
987
242
782
479
286
73
456
281
480
846
925
797
754
540
447
819
143
521
559
437
125
627
72
225
574
415
812
634
251
145
244
303
543
543
470
496
542
94
798
965
895
417
262
343
81
266
979
589
874
830
246
106
826
306
580
892
508
179
722
505
134
214
791
651
903
979
335
958
106
587
52
845
564
456
315
423
476
101
463
70
107
363
11
641
47
19
551
283
972
430
150
478
903
727
445
234
9
59
509
333
883
581
765
143
32
202
901
800
72
583
763
473
727
522
678
64
273
643
532
871
513
269
157
726
718
467
325
611
219
493
653
10
498
324
283
124
700
493
44
573
450
215
131
446
746
651
44
354
489
220
631
658
896
49
608
198
631
39
860
664
35
496
148
183
181
988
596
880
869
878
478
872
840
987
369
665
653
972
680
950
704
294
987
586
778
108
292
942
412
11
572
829
87
336
523
976
906
630
420
368
31
983
393
801
569
147
226
693
26
754
996
508
706
489
483
199
623
763
297
664
622
313
102
566
362
142
146
826
778
402
547
697
414
125
430
628
764
217
55
67
384
744
551
904
75
345
717
555
873
545
632
553
939
880
490
83
688
950
155
113
671
2
432
661
778
174
932
228
299
270
715
658
294
844
608
490
451
399
210
382
367
694
96
346
736
550
701
309
464
6
642
38
117
390
32
529
455
672
437
776
1000
444
723
262
732
34
949
599
41
520
877
497
5
893
403
641
902
208
406
119
641
320
91
755
441
740
898
79
649
191
427
690
90
719
659
450
684
554
928
299
387
491
742
459
676
259
553
472
918
180
8
808
954
468
59
747
150
651
519
881
972
953
325
820
890
931
820
671
4
325
789
401
371
843
906
488
419
583
454
121
186
882
922
812
405
638
113
463
572
606
908
841
246
692
743
898
774
49
120
593
522
632
218
707
487
935
755
618
846
821
794
187
600
713
103
684
991
940
11
190
742
676
446
980
540
767
975
219
364
688
248
709
401
44
157
523
347
291
436
117
809
826
164
902
373
201
822
317
688
950
143
188
540
481
972
473
470
527
752
595
981
888
68
181
738
598
861
408
446
179
566
140
321
348
429
701
110
400
698
419
684
518
209
67
80
399
122
934
737
927
229
540
348
127
272
942
427
220
210
181
175
450
200
644
723
262
350
38
138
531
975
232
854
818
156
420
345
20
925
955
926
391
241
713
538
596
286
40
263
403
266
178
82
614
47
551
104
68
458
454
76
885
48
512
500
645
366
700
78
859
636
889
548
925
794
614
174
719
421
242
298
136
86
753
387
176
934
154
969
622
173
892
663
962
244
748
326
974
83
352
916
309
835
886
332
483
816
524
879
922
278
878
445
79
776
35
745
221
525
783
159
128
178
268
834
867
852
637
671
757
105
190
782
852
760
182
774
581
151
696
979
653
399
943
342
991
807
931
253
243
286
714
20
380
40
285
41
962
394
808
994
978
715
29
518
518
906
633
925
161
808
802
449
656
174
444
448
403
572
386
722
234
696
329
822
246
86
503
833
751
163
795
599
950
866
567
778
590
858
503
438
704
458
619
116
488
989
998
410
550
191
881
182
8
722
530
425
412
517
655
679
36
993
263
623
872
616
510
160
564
388
494
862
597
182
977
111
291
635
684
662
546
580
193
647
794
524
397
203
369
790
214
43
305
294
477
261
628
810
955
598
356
792
43
187
744
462
949
562
812
959
138
284
807
752
396
129
61
431
103
208
652
230
214
709
381
323
30
256
839
21
20
997
761
481
849
635
434
439
291
554
674
764
900
107
734
380
122
901
605
150
70
594
331
912
310
359
318
721
814
619
165
727
722
124
159
826
660
706
453
398
141
320
896
969
20
75
634
608
56
6
883
235
384
280
747
774
103
392
544
284
244
623
857
750
109
742
477
242
316
470
446
526
955
697
665
7
900
843
902
108
703
23
591
799
457
876
507
996
703
8
258
995
735
23
558
939
638
999
393
535
27
115
537
900
701
825
354
479
395
639
444
391
381
80
504
488
933
844
715
617
549
524
75
301
419
545
356
108
806
67
795
489
913
736
188
742
303
96
794
60
160
370
354
365
486
115
552
686
855
923
470
412
474
957
922
641
125
616
84
213
31
29
491
710
791
384
316
907
334
354
795
650
252
976
842
147
989
389
157
991
72
797
598
9
22
843
184
228
600
343
873
794
779
13
165
713
209
353
656
640
953
349
914
778
976
40
411
121
196
248
818
921
902
12
647
265
20
317
98
72
982
747
955
658
946
589
584
265
732
732
377
566
105
432
481
257
985
641
284
248
750
139
937
890
42
145
123
886
389
434
401
260
523
241
711
810
487
395
59
976
481
194
944
940
958
507
862
82
626
462
77
625
890
868
909
416
732
225
978
300
216
750
220
487
567
368
977
641
296
33
152
141
916
40
232
143
596
234
984
590
542
147
732
295
948
116
452
590
163
400
353
778
71
139
226
832
769
775
594
361
337
205
632
827
872
495
895
430
965
474
108
859
519
905
689
307
112
202
190
792
137
858
566
807
571
875
23
786
569
449
206
685
23
99
686
216
850
250
974
925
60
994
843
363
584
372
314
25
428
92
486
656
984
992
349
712
201
956
793
530
919
197
321
766
845
25
375
197
547
259
765
873
372
415
422
874
356
710
576
688
53
666
526
285
716
826
340
529
380
677
198
468
254
378
602
380
252
310
342
206
644
778
933
129
577
413
217
618
641
969
973
218
762
228
651
718
444
674
821
124
779
454
518
997
715
883
426
362
784
428
771
316
846
664
874
914
482
167
518
675
285
690
712
281
702
269
939
649
35
70
707
568
886
906
53
544
626
369
684
289
447
390
596
579
162
916
332
807
212
62
544
635
269
764
130
600
398
482
42
385
27
927
787
759
827
173
762
837
212
738
832
413
347
385
954
613
445
469
262
990
660
638
720
499
59
539
376
506
6
21
264
69
785
962
210
292
431
494
164
439
580
871
193
851
568
662
901
451
179
239
944
751
171
790
195
834
204
173
336
755
820
18
899
141
917
366
228
582
547
32
482
522
935
605
508
13
303
672
363
624
510
418
348
228
490
218
613
177
188
241
809
585
25
339
807
60
933
715
183
238
616
950
36
899
60
969
739
291
229
456
346
503
539
13
748
404
954
129
133
685
522
597
932
26
703
606
256
261
156
149
746
681
479
736
892
300
35
665
123
993
147
278
397
896
853
648
586
359
932
185
701
41
99
472
863
458
88
452
998
379
884
784
409
21
455
775
754
900
215
797
468
525
851
519
308
880
311
600
586
761
518
704
569
609
789
838
702
424
70
36
605
709
800
382
219
175
651
181
115
99
449
852
708
829
264
808
75
898
87
97
119
619
475
110
64
833
291
8
668
686
951
807
50
927
633
274
775
241
534
864
645
549
556
937
706
65
818
417
109
98
945
862
816
276
426
634
614
892
226
498
529
535
447
516
544
51
73
524
458
119
743
862
842
434
50
252
304
547
81
891
689
923
786
906
435
659
297
262
12
605
492
131
277
353
949
478
614
659
925
350
928
387
163
913
928
997
111
829
626
927
638
943
675
954
426
572
973
773
8
940
941
583
858
392
55
421
20
86
440
355
526
793
860
414
236
278
989
316
809
511
627
630
223
586
463
997
638
829
28
449
419
17
743
632
814
36
332
979
157
571
436
486
406
637
934
744
535
824
376
338
580
181
898
536
94
524
192
428
434
817
420
345
516
953
439
407
672
946
334
534
792
19
82
104
194
575
71
707
576
339
349
153
947
245
717
921
670
789
206
782
603
638
49
186
860
263
999
314
910
236
715
422
545
629
11
185
784
631
929
300
885
114
970
522
495
365
348
633
404
626
758
593
497
405
12
266
277
721
865
667
774
611
489
617
737
228
339
95
747
827
635
302
321
769
252
659
94
440
598
534
916
637
970
486
68
529
965
196
799
806
721
85
128
970
203
787
133
37
245
304
985
104
780
652
638
321
553
256
373
835
613
181
374
160
43
517
150
270
741
896
856
409
509
152
548
265
368
609
959
676
812
352
651
487
654
65
306
518
221
761
443
865
933
759
121
916
709
766
2
527
213
847
723
777
707
315
674
607
130
327
147
434
103
67
305
509
739
910
575
407
491
912
874
525
796
270
557
890
945
174
89
883
405
585
207
714
843
42
807
620
201
559
846
777
497
28
326
876
445
329
795
164
627
506
911
472
683
964
269
469
928
638
119
896
860
450
592
36
268
222
759
53
36
357
176
113
272
282
572
388
101
609
982
166
324
436
956
257
127
27
408
836
245
347
329
650
253
582
830
265
178
818
951
630
257
522
230
804
436
312
294
107
194
803
636
320
345
963
287
807
759
509
324
599
348
378
24
542
255
167
986
583
883
773
762
160
331
154
331
430
813
247
296
777
858
607
809
633
426
249
32
152
613
517
440
685
265
534
358
327
648
938
929
31
326
162
127
894
498
472
536
300
375
336
345
492
613
475
421
42
412
133
396
413
679
644
388
475
556
435
377
418
689
917
271
959
857
595
384
128
945
866
394
213
822
655
832
613
356
999
828
486
661
159
128
29
700
655
382
192
521
857
297
421
723
416
565
727
249
869
378
64
235
209
947
475
420
81
686
943
597
522
639
233
682
854
252
239
228
421
854
541
662
329
46
935
48
283
745
655
974
875
804
913
986
417
984
160
80
501
531
140
952
18
784
455
36
261
34
815
924
106
331
592
384
966
51
595
32
396
818
222
719
749
808
253
790
259
552
621
694
283
101
387
879
210
833
51
480
710
213
43
111
598
566
922
958
566
267
365
472
416
805
518
158
274
836
635
398
415
704
255
715
989
899
314
670
944
559
726
362
850
467
953
573
197
915
1000
730
946
470
82
212
779
937
943
974
537
731
439
143
786
509
514
993
341
107
164
688
809
759
313
266
930
141
802
609
546
971
828
574
537
792
248
8
945
94
157
126
827
84
981
616
56
304
169
854
437
751
212
857
10
321
350
907
322
221
805
336
819
442
823
604
222
504
80
638
896
499
282
374
796
830
870
596
497
199
821
440
219
108
437
403
492
538
904
280
303
555
116
237
154
279
961
131
429
56
798
271
881
662
350
45
853
99
614
222
32
833
665
283
185
370
437
839
308
682
647
52
82
328
60
967
337
61
161
870
468
358
170
77
414
568
3
57
825
313
475
425
545
378
504
145
357
553
599
211
244
815
181
209
78
787
613
400
737
619
924
399
128
323
308
96
521
122
448
187
857
537
577
601
438
797
9
98
498
661
521
578
692
860
614
950
451
212
138
936
491
918
218
869
511
648
712
346
239
844
648
595
566
72
264
540
441
342
231
859
574
93
677
762
768
915
382
835
874
142
359
47
940
190
622
955
129
851
560
195
360
806
783
589
443
311
702
599
674
316
370
369
475
309
337
328
690
825
329
179
570
846
599
86
310
310
706
75
238
558
257
967
428
828
942
651
508
834
740
135
955
73
780
630
976
736
739
828
393
997
28
697
584
50
260
331
648
426
674
837
437
41
227
815
990
919
77
704
213
753
13
177
358
278
235
787
956
933
503
290
408
465
359
401
311
907
551
292
9
842
249
755
502
999
955
826
90
970
200
634
595
320
302
353
24
406
442
461
862
2
303
955
977
213
333
744
281
224
472
262
887
145
814
201
479
599
282
394
14
698
840
62
678
765
136
68
223
499
805
330
426
245
785
269
432
737
168
17
178
933
48
115
903
585
794
618
28
761
953
826
294
833
734
359
131
403
653
932
660
174
433
965
629
82
737
122
814
864
611
992
126
816
806
364
736
708
301
977
7
690
404
214
947
567
786
923
163
977
701
435
35
874
408
911
921
205
507
333
743
823
517
822
214
480
507
457
309
230
15
480
319
669
811
545
977
243
259
697
687
261
202
872
854
374
296
20
681
994
673
397
543
556
675
181
275
577
131
333
227
174
326
525
2
91
382
63
122
296
233
937
712
905
752
524
488
538
906
37
936
176
958
466
614
290
879
664
912
279
105
221
455
245
718
910
566
745
902
891
848
448
298
236
7
536
479
82
483
319
309
429
330
736
406
593
52
353
254
431
781
4
786
691
258
460
412
293
587
354
524
886
600
150
510
793
996
105
150
324
118
19
96
469
332
81
794
222
523
242
836
99
115
388
192
962
383
31
248
898
548
359
819
760
295
275
589
936
916
487
530
42
216
792
891
571
709
446
306
924
384
938
390
896
505
507
983
445
494
493
827
472
927
956
63
443
73
55
367
886
219
330
983
219
205
398
118
872
238
561
448
388
55
478
492
46
926
353
693
550
858
81
897
499
542
384
784
693
291
283
493
785
223
151
333
457
422
207
9
64
674
557
220
661
643
768
850
424
19
558
212
738
276
366
989
651
137
459
559
966
772
746
377
962
22
687
968
649
680
459
867
476
963
129
534
635
811
651
879
445
614
363
516
820
272
131
308
500
229
359
52
527
301
924
397
455
630
493
198
913
73
762
581
413
711
951
882
790
903
226
529
212
514
849
650
512
524
500
868
475
191
664
313
815
373
929
343
782
392
791
861
761
35
852
390
730
897
328
256
177
313
418
358
912
519
404
958
233
553
321
881
70
600
638
317
58
188
696
122
960
635
568
178
534
653
596
888
674
842
118
316
665
110
786
858
460
707
450
566
159
650
794
397
302
823
769
765
134
901
431
705
777
569
925
862
71
223
247
298
959
421
886
810
424
910
602
31
396
959
417
111
527
69
349
184
418
862
552
120
692
117
299
330
310
443
675
471
640
63
947
975
105
532
314
243
668
994
160
210
29
743
965
727
181
455
782
876
855
439
526
908
508
640
365
949
699
948
193
19
115
569
486
173
19
811
871
794
641
685
347
142
835
135
456
270
379
534
627
352
448
344
561
254
105
467
792
930
167
869
513
828
400
528
304
58
827
596
712
489
862
969
459
306
99
106
683
805
843
44
794
379
884
20
393
686
615
37
278
7
286
989
677
637
108
675
747
969
956
145
851
614
606
362
270
490
814
41
840
336
59
919
439
498
417
405
412
170
896
730
752
482
504
244
336
959
488
502
569
934
473
102
562
390
650
42
349
619
823
524
744
784
831
726
106
160
819
26
695
409
891
609
312
670
910
123
594
685
601
323
693
426
660
211
47
887
259
210
625
828
217
364
314
223
82
349
96
118
592
337
296
385
247
422
424
605
259
323
112
941
745
576
208
383
852
282
345
198
429
720
208
786
981
874
287
362
907
923
102
60
425
309
778
152
177
847
357
987
238
653
452
198
134
389
632
466
520
408
491
851
369
949
452
275
887
398
200
269
873
19
91
499
903
274
2
884
575
989
883
384
992
189
679
622
827
383
411
576
601
433
932
487
247
918
278
9
642
89
608
362
570
77
427
911
463
13
164
165
381
127
212
679
888
671
206
688
897
740
675
611
85
660
182
769
178
662
736
717
282
942
559
635
415
94
257
121
602
98
77
533
192
711
189
775
541
163
898
29
867
504
245
483
843
828
738
561
461
858
826
462
817
64
319
139
703
554
141
943
340
482
711
278
131
610
736
541
82
953
414
547
381
147
887
379
715
316
240
337
69
692
564
219
128
212
343
716
909
618
926
67
919
343
978
480
958
610
541
13
678
706
813
770
131
375
814
275
840
619
880
858
389
984
300
700
113
564
501
979
239
552
881
195
770
169
766
308
435
156
6
847
306
871
394
455
37
188
446
697
240
57
66
87
213
557
283
427
80
748
552
546
432
419
78
429
716
104
230
562
940
355
435
15
768
328
804
447
671
193
411
735
654
745
331
359
973
863
481
62
394
125
865
515
812
6
15
912
430
537
323
466
333
222
477
758
965
299
380
785
934
157
802
304
618
806
495
798
232
851
649
976
374
314
394
204
589
16
503
713
145
943
585
713
68
171
820
788
419
493
748
58
984
823
679
659
800
839
77
990
426
92
644
79
435
968
901
125
412
496
793
962
612
972
177
760
557
773
132
731
39
518
676
12
411
965
828
156
585
631
955
898
850
151
992
894
487
809
433
220
171
525
957
243
306
792
172
369
788
742
255
837
145
527
169
404
667
702
763
267
904
130
276
33
898
206
710
881
577
900
41
342
46
149
513
231
885
681
83
404
184
189
643
920
738
124
818
113
738
53
981
839
319
652
621
872
552
925
368
14
789
175
756
984
813
565
314
575
899
864
659
874
722
117
62
568
19
520
400
494
74
750
467
609
357
354
411
528
124
582
408
602
385
220
812
261
391
554
670
39
747
607
912
225
294
168
525
586
161
932
724
982
767
294
453
966
91
946
572
669
242
436
713
372
203
298
119
146
648
166
729
893
885
556
408
887
323
620
488
699
329
238
734
954
972
269
415
966
973
658
445
685
88
348
424
785
303
629
990
945
451
656
112
542
283
328
803
66
626
635
292
501
949
882
853
830
592
898
334
590
921
456
948
108
893
652
5
620
860
917
111
31
966
670
787
423
137
355
628
789
531
754
856
658
234
25
585
431
198
856
199
262
647
508
983
282
672
284
564
792
313
131
764
827
212
674
202
137
822
968
326
196
236
646
616
356
946
949
362
590
206
324
762
608
241
897
104
281
212
147
416
430
755
531
305
36
864
645
664
837
102
746
536
87
429
106
723
1000
423
711
642
1
311
305
543
470
6
591
423
79
315
736
905
204
586
946
883
123
302
1
969
869
590
101
633
713
148
297
480
166
848
46
261
331
154
180
83
167
540
658
771
965
287
11
468
899
402
304
418
44
912
786
282
657
453
120
510
822
899
254
37
803
768
519
25
573
256
517
454
13
70
728
113
219
673
516
955
237
144
410
819
232
642
108
267
841
371
657
617
951
17
627
335
678
867
930
568
656
190
132
7
71
32
714
206
24
251
755
193
957
493
972
465
825
800
821
465
665
746
674
246
974
282
677
294
81
984
967
442
298
12
401
381
175
907
773
510
639
269
811
807
137
514
883
920
149
107
458
929
615
158
830
67
890
781
526
258
774
384
110
471
114
936
813
760
185
303
527
352
816
935
218
285
772
552
747
915
446
999
420
96
307
77
324
914
871
27
654
690
190
279
781
345
972
257
785
371
506
288
525
334
471
154
87
296
596
381
658
567
862
179
406
925
622
816
983
824
555
318
643
107
882
601
752
475
601
534
722
247
846
974
958
996
600
522
473
259
158
593
228
851
673
417
100
271
97
740
607
317
591
354
177
282
228
18
795
85
446
14
322
224
229
346
630
725
452
560
999
157
150
250
865
329
768
604
106
519
564
729
555
938
430
101
288
677
377
206
588
567
772
307
139
204
263
351
168
920
943
207
730
607
978
775
302
120
382
54
131
459
31
879
589
40
372
906
853
142
449
372
863
72
28
315
392
651
645
228
491
398
328
558
294
176
592
99
375
123
73
52
421
422
826
466
964
824
859
859
342
856
990
22
816
366
444
410
24
353
930
88
526
61
122
852
250
951
556
58
53
494
961
659
443
655
982
148
770
618
17
409
813
516
666
981
758
926
893
857
12
426
539
754
171
801
264
714
718
353
375
35
713
366
201
765
824
953
877
430
520
419
453
228
162
783
216
665
15
285
1000
493
927
564
25
838
516
666
538
642
243
206
75
860
670
825
721
387
531
537
118
365
994
679
297
324
617
973
654
603
86
637
489
653
742
550
586
75
303
270
244
747
923
54
19
951
956
134
199
222
309
189
681
519
325
337
498
408
486
2
717
204
42
681
801
349
894
6
825
910
644
451
114
741
778
728
990
713
348
202
297
452
363
624
299
171
348
111
364
506
158
571
564
779
186
721
940
693
591
400
762
326
990
186
483
180
374
166
514
182
645
316
142
790
293
127
98
778
182
26
361
824
342
619
729
811
947
15
588
577
372
302
102
929
342
751
707
949
691
478
434
920
199
106
57
788
283
430
488
680
77
211
153
861
573
6
320
479
41
374
455
597
920
888
742
282
719
131
831
3
251
260
734
162
690
773
543
383
527
839
295
59
501
924
896
775
952
461
469
423
871
9
889
234
117
693
537
488
875
683
510
356
487
171
619
210
156
564
510
702
921
620
156
145
483
847
785
998
146
771
33
769
182
632
733
276
354
618
313
18
262
45
178
323
362
740
835
79
273
492
757
114
996
625
150
676
203
616
847
98
637
227
542
395
960
801
427
496
97
186
126
804
248
299
464
4
248
439
248
395
881
312
707
530
99
171
689
606
834
609
983
892
216
313
403
457
592
522
370
582
685
42
778
562
583
380
864
26
43
1000
666
534
761
743
386
957
833
172
657
60
631
986
261
815
729
649
346
155
264
97
523
309
402
714
580
380
112
741
658
534
543
982
917
26
669
944
654
296
735
521
793
548
273
970
467
532
79
185
127
757
618
223
267
969
777
614
362
551
746
259
81
428
68
587
173
193
606
235
688
400
217
712
334
417
453
383
888
800
470
644
477
866
650
338
506
47
149
294
737
654
670
401
738
853
329
728
525
50
355
73
711
367
748
730
901
561
720
437
367
585
902
211
303
942
871
221
31
148
474
950
617
890
819
630
280
936
553
349
808
446
252
274
980
100
287
173
632
382
567
765
590
426
922
476
139
75
703
843
117
171
387
178
968
661
583
73
315
780
857
987
677
464
221
486
6
106
970
636
578
992
778
712
630
47
621
631
841
1
137
462
386
741
508
980
832
406
783
425
581
700
865
596
931
63
46
915
47
544
43
339
334
678
11
866
746
226
876
906
546
375
635
976
913
881
5
15
580
684
877
113
366
711
584
608
91
974
903
298
834
533
47
10
931
604
645
847
422
903
853
266
864
293
281
515
580
942
401
108
434
505
435
711
175
271
525
254
221
849
138
124
550
700
253
8
969
772
866
344
662
549
751
351
332
58
190
297
681
776
636
3
224
915
848
594
648
269
75
133
7
651
295
112
67
980
346
712
10
230
13
399
536
779
800
671
115
207
154
721
785
167
375
366
402
828
298
853
732
260
117
25
79
303
393
930
425
675
361
143
212
528
164
943
972
216
507
43
955
774
551
719
835
506
567
46
303
109
970
459
97
962
907
960
590
583
456
173
562
746
865
849
219
430
980
585
799
603
155
291
369
816
497
353
509
717
255
573
662
908
523
667
808
989
192
537
36
271
291
582
297
373
393
32
295
867
794
646
46
172
548
180
102
182
247
664
827
434
640
915
374
241
800
683
239
843
583
490
336
539
517
523
562
753
134
929
718
149
952
444
479
256
9
617
829
533
852
772
3
429
381
486
505
825
799
573
248
151
176
505
155
604
841
706
882
151
862
443
410
421
406
833
399
152
628
86
100
612
57
222
555
286
163
396
559
161
884
426
592
159
429
290
481
617
588
162
107
204
124
20
832
371
553
987
687
235
758
345
544
768
462
584
661
333
505
961
986
864
256
759
597
466
276
887
447
814
479
462
394
471
674
781
117
189
323
436
94
325
760
366
318
721
919
303
764
813
815
453
949
250
665
187
77
15
507
247
407
906
660
198
438
237
155
902
459
776
527
355
789
301
6
528
806
586
185
795
432
314
706
108
332
168
376
329
503
334
385
39
264
731
980
698
953
562
36
244
750
198
440
96
150
961
120
60
573
143
832
796
458
443
551
380
8
80
387
968
421
23
519
725
44
141
518
8
405
585
798
230
470
398
649
978
809
143
476
735
561
358
393
965
223
758
293
447
348
399
893
465
123
496
989
871
718
156
363
109
989
74
363
978
822
151
136
319
947
81
951
806
540
152
768
725
300
938
507
962
985
66
3
419
565
966
713
719
282
356
642
393
868
228
784
681
122
277
627
728
836
29
913
207
812
424
880
369
310
217
709
64
825
389
704
579
533
688
74
3
78
524
796
389
649
731
178
235
434
91
177
633
633
116
474
989
155
317
574
404
26
53
912
626
313
123
79
5
67
446
788
15
373
545
114
733
113
52
911
120
460
119
12
76
427
465
989
14
29
743
773
151
735
62
440
767
943
802
773
476
128
295
31
924
181
552
503
394
202
994
28
530
677
51
623
742
530
559
794
900
23
153
880
594
842
189
986
600
22
324
705
155
515
546
804
342
340
316
526
145
247
503
947
750
725
952
101
250
21
851
214
209
554
555
432
479
724
139
922
243
682
785
39
500
35
11
563
143
837
900
670
290
450
711
383
792
43
716
735
685
541
630
801
893
821
785
3
661
839
51
855
69
142
557
395
423
925
486
84
531
382
546
885
636
614
246
539
268
760
780
845
389
337
135
838
984
4
31
359
704
83
425
444
215
223
626
319
701
515
495
592
353
234
827
353
717
128
777
542
527
829
75
881
991
555
921
81
540
711
599
858
729
394
303
450
332
108
175
997
640
152
275
124
672
278
40
520
266
194
819
121
27
416
241
755
700
785
472
760
831
682
936
106
514
611
687
56
595
357
413
220
983
369
22
162
579
348
849
379
940
313
787
546
971
540
79
441
835
855
63
822
788
738
900
860
838
578
226
418
956
169
662
600
74
298
373
496
267
800
184
989
295
14
291
813
185
958
264
808
615
872
878
432
692
981
280
178
89
502
134
478
645
892
686
38
265
346
148
351
340
343
388
260
8
834
696
77
246
304
298
715
194
521
373
717
116
244
568
829
101
560
373
24
933
792
279
438
583
112
341
757
389
110
606
981
349
551
917
336
865
473
722
352
947
604
889
765
120
790
977
941
262
755
76
1000
130
58
95
671
635
552
357
171
802
985
437
94
908
669
474
367
516
267
574
829
5
840
517
873
690
266
714
904
858
19
226
62
840
71
731
795
774
402
503
352
838
175
826
227
567
142
794
911
314
273
93
17
44
900
214
41
433
900
499
527
672
577
580
393
473
913
59
519
507
848
725
478
937
41
211
471
723
362
760
106
147
9
681
640
319
710
164
719
518
952
337
439
835
544
850
758
989
130
812
917
158
440
599
523
295
167
918
406
764
386
517
172
53
304
111
615
951
990
395
809
870
412
536
742
920
790
126
816
915
749
416
397
778
265
571
877
676
690
806
383
789
421
521
346
856
944
980
643
460
48
641
906
610
957
979
916
297
41
553
678
588
532
70
913
307
366
443
216
481
873
162
48
585
552
839
67
38
552
426
50
557
826
458
801
749
142
646
972
725
239
262
718
670
499
85
434
984
406
116
629
68
929
851
126
849
728
706
408
874
730
75
877
177
194
589
221
130
858
383
852
207
145
540
631
895
683
460
661
8
595
577
985
313
98
705
443
660
987
322
764
812
447
259
223
763
490
576
833
621
26
920
88
84
197
262
746
79
146
720
987
453
851
139
557
435
974
171
209
209
945
906
786
101
673
467
833
805
318
624
486
557
554
147
699
384
618
568
581
374
240
998
718
422
226
929
897
58
75
210
545
763
520
997
563
669
272
58
940
626
593
718
712
429
530
630
352
422
771
784
655
770
123
367
539
466
567
630
952
529
674
437
260
898
920
5
58
258
134
216
356
417
829
986
470
835
677
384
757
651
763
605
548
853
516
423
225
239
444
469
443
490
869
521
882
965
869
16
795
800
568
157
815
524
688
311
144
661
52
890
326
755
308
519
208
810
723
119
612
412
312
453
479
688
911
826
931
819
92
840
790
49
935
591
557
984
775
201
791
535
995
372
75
2
825
485
516
681
888
846
811
834
932
865
439
49
782
311
456
792
47
315
735
458
540
426
179
311
676
895
638
510
331
310
776
841
802
858
87
865
508
771
671
942
41
996
84
990
12
674
805
912
901
857
438
313
767
729
715
530
257
735
827
10
818
217
361
750
398
565
339
879
199
414
501
424
269
139
936
993
762
745
658
382
768
264
502
108
465
933
985
468
206
776
414
25
851
654
576
338
300
537
796
355
708
483
29
127
312
828
898
414
148
136
303
302
188
766
263
181
592
294
183
286
829
651
617
548
408
505
885
688
833
379
651
303
172
958
622
223
345
324
125
558
810
132
166
641
856
326
971
588
96
600
716
266
89
685
308
273
252
495
621
962
310
301
571
609
635
426
753
615
695
358
148
991
746
840
588
462
607
196
229
236
55
128
299
848
907
263
769
533
381
961
391
243
645
296
764
795
808
657
711
601
760
119
244
112
380
583
855
397
646
713
674
262
67
854
289
917
700
437
679
493
729
872
727
640
204
560
282
21
83
447
573
784
175
492
59
965
893
544
475
367
29
356
913
664
884
910
285
336
176
796
369
596
115
101
994
632
915
177
583
343
797
690
417
236
235
548
482
311
794
666
704
558
396
42
709
178
304
290
961
735
383
580
315
251
445
944
539
669
624
39
342
211
739
721
787
904
561
284
762
945
745
791
331
647
949
685
413
412
304
812
161
545
995
40
885
777
158
893
96
20
700
29
507
234
922
892
412
275
18
612
886
258
640
63
700
270
687
992
649
223
429
323
238
286
861
57
338
596
932
652
438
872
894
442
613
175
586
409
167
286
889
598
197
64
928
567
991
751
888
515
250
347
433
157
646
104
801
4
72
675
630
411
284
676
440
665
337
213
468
412
293
485
287
949
270
657
186
229
746
70
837
957
441
280
164
845
779
552
642
861
115
219
502
368
448
751
418
102
311
445
311
311
863
444
831
758
27
135
948
957
652
94
808
721
277
408
699
70
65
632
520
578
879
612
634
492
244
127
359
354
180
639
626
368
493
415
558
488
118
967
778
41
566
43
299
709
320
385
739
881
303
80
420
691
156
608
650
555
140
647
95
642
914
243
709
528
313
249
100
213
536
807
597
798
792
220
510
380
584
766
239
142
257
897
970
185
360
780
659
391
661
316
876
485
361
637
899
505
181
548
93
107
492
565
255
464
612
981
75
47
710
882
300
248
494
143
488
608
29
203
460
424
540
897
718
627
66
640
94
112
149
85
857
184
539
720
359
341
65
957
44
429
406
977
307
78
479
966
270
436
571
405
987
437
126
760
12
215
322
261
510
849
176
459
304
287
938
894
347
197
971
534
114
457
131
580
314
207
911
894
140
690
260
554
13
590
34
984
383
224
486
710
699
728
99
7
116
326
288
663
815
904
214
570
113
319
27
140
683
360
315
366
241
793
485
900
100
693
47
703
792
134
534
645
807
364
846
969
159
770
391
627
88
338
269
373
727
768
108
906
972
122
888
523
79
691
243
474
795
725
275
702
896
857
872
686
89
304
899
895
153
384
378
728
50
526
977
921
485
670
689
55
74
898
581
240
818
215
892
22
86
606
551
272
653
915
398
163
669
610
17
307
591
217
82
817
217
36
579
340
987
807
76
70
601
117
447
414
823
696
144
201
98
217
90
304
178
862
809
121
559
693
195
611
908
845
655
471
61
628
990
623
391
930
495
374
525
692
229
501
454
826
311
25
44
670
390
638
852
969
158
580
914
397
882
258
901
858
445
58
589
146
328
607
138
58
283
209
65
729
201
300
110
777
807
550
429
829
385
663
673
144
671
35
550
328
450
155
395
599
118
61
161
665
695
197
937
31
317
764
824
483
257
991
524
561
891
823
493
78
849
167
870
109
800
215
703
441
904
327
166
155
25
637
576
888
200
835
998
314
702
555
176
567
258
420
306
648
664
69
919
347
51
430
753
833
536
81
46
873
853
825
107
594
829
443
386
787
246
229
509
45
703
57
906
410
613
634
736
828
319
139
775
378
654
578
821
200
965
91
947
23
722
890
646
455
377
694
479
504
47
324
371
338
932
582
96
966
131
672
810
325
635
197
724
247
872
182
121
942
81
696
986
888
221
365
419
490
819
490
900
491
416
526
178
836
782
410
262
670
101
596
533
162
727
667
464
132
872
102
854
815
847
98
715
643
58
353
187
648
982
376
929
910
789
174
448
514
108
168
746
648
643
777
462
777
41
421
435
340
429
589
226
22
499
256
670
477
909
130
3
319
991
163
404
277
504
269
107
725
169
461
346
171
290
437
501
884
600
225
769
571
825
633
562
894
110
140
637
676
626
307
632
820
144
994
297
356
328
441
217
508
806
750
211
370
833
428
946
589
505
428
485
439
8
562
659
816
398
237
162
951
713
238
223
137
31
662
540
308
238
176
958
137
877
484
976
188
415
272
776
753
678
910
944
248
990
889
390
401
785
302
315
30
34
684
223
912
906
178
98
82
447
289
864
922
946
478
147
589
864
447
200
609
861
268
549
7
506
413
566
919
708
368
700
480
781
724
550
684
311
588
298
64
684
650
299
264
214
545
745
20
289
923
449
625
864
261
693
702
910
566
37
976
179
997
722
800
692
915
9
376
946
37
400
971
720
153
188
952
704
374
187
113
923
946
820
616
59
503
959
817
336
11
53
434
592
787
98
749
514
703
964
37
795
93
423
997
150
944
5
718
698
660
428
649
208
77
972
110
131
405
574
105
96
493
866
595
785
127
617
928
719
85
253
830
492
310
224
210
419
890
997
39
416
487
347
759
137
478
467
964
73
368
104
608
336
936
590
624
348
201
157
617
473
520
361
271
947
45
820
192
98
309
671
187
957
951
384
390
851
445
565
225
431
224
408
926
937
792
307
226
183
241
944
854
848
89
837
717
220
527
960
942
417
936
522
533
481
48
431
8
472
197
271
247
804
928
837
741
671
639
420
573
314
35
67
772
290
908
962
109
638
174
959
16
40
155
15
94
642
800
965
555
197
912
624
54
593
502
684
583
603
31
265
482
947
684
241
178
333
788
669
957
170
160
764
925
97
465
819
343
273
631
441
662
641
12
243
954
991
228
885
855
743
595
964
839
779
598
817
387
569
145
713
582
49
235
286
781
456
208
285
251
324
7
923
103
422
699
122
402
238
87
966
99
953
381
529
281
557
761
47
309
856
166
89
606
644
787
970
188
257
542
178
597
42
303
978
502
10
742
674
119
112
457
250
522
95
461
225
114
888
229
598
777
793
212
699
687
580
164
624
395
689
664
662
514
408
946
812
297
810
515
22
452
680
47
299
761
442
774
172
500
297
889
309
131
430
488
274
513
114
240
492
685
18
282
528
296
823
784
655
942
507
279
547
987
294
99
621
908
321
231
201
876
543
462
212
53
235
945
542
39
754
231
582
24
862
343
674
443
38
723
400
366
657
719
678
419
835
822
614
775
25
57
962
634
168
756
785
649
311
451
647
975
133
765
236
954
726
2
841
971
342
603
495
684
525
734
939
661
217
91
773
422
965
393
282
47
316
176
475
781
858
195
816
528
127
198
961
741
775
850
593
955
998
329
73
152
179
469
243
211
126
385
136
921
67
147
768
448
788
473
452
652
897
348
280
391
234
180
501
771
864
384
544
340
923
251
345
378
829
602
432
764
23
980
982
379
434
87
664
651
352
755
627
638
225
980
445
980
189
476
161
190
817
732
847
983
626
797
237
776
418
883
76
80
388
395
788
209
244
194
962
635
305
735
913
369
640
216
305
924
843
29
386
808
954
626
919
963
391
345
277
277
464
915
513
95
219
78
424
652
904
258
752
467
277
242
737
65
402
648
116
806
276
281
583
236
870
626
426
128
714
361
732
285
147
194
148
284
778
356
602
541
453
728
833
477
298
974
803
119
951
997
313
151
180
738
199
289
465
597
512
900
983
774
997
889
657
395
988
281
586
619
583
329
219
812
566
688
101
499
106
929
870
25
680
664
471
788
43
625
217
426
285
321
417
608
232
317
777
907
447
738
675
770
119
358
718
823
984
492
687
516
193
978
105
695
768
723
168
770
862
645
717
1000
542
364
249
863
250
642
729
617
380
439
82
914
660
373
808
777
147
575
128
356
677
172
426
580
563
113
513
290
168
637
444
430
755
474
159
640
655
749
263
953
386
670
595
298
800
303
94
247
747
97
634
738
1000
423
146
529
408
20
341
788
314
172
792
521
301
381
963
527
227
532
998
161
342
827
753
509
978
272
581
455
966
116
859
775
442
476
89
573
168
269
704
355
814
747
352
502
944
140
541
223
566
360
12
849
207
284
90
911
429
875
576
625
582
265
457
225
390
998
799
91
653
810
744
801
924
685
436
991
565
444
27
425
971
781
684
767
59
505
634
340
385
698
843
580
326
680
900
1
845
909
11
217
284
462
813
976
463
276
859
227
147
167
241
950
586
483
785
850
391
409
655
48
523
87
5
590
487
175
529
924
187
965
368
504
12
899
847
330
890
177
966
538
1
170
376
120
781
498
819
495
656
985
659
890
666
167
196
472
772
672
870
724
189
591
381
832
490
891
984
737
631
52
909
66
252
354
930
392
797
664
610
108
60
158
639
774
733
118
970
939
406
875
188
300
276
963
649
573
487
793
444
557
651
472
178
744
568
956
889
233
624
330
149
879
605
896
567
346
942
689
447
196
496
195
303
226
43
344
327
1000
563
283
641
960
279
61
376
514
143
109
168
257
148
317
680
828
385
585
146
936
256
974
721
793
631
932
643
497
12
662
834
947
983
352
565
486
288
886
251
804
928
636
288
599
535
121
43
83
129
633
805
752
86
428
512
718
742
699
558
546
650
350
828
724
886
545
395
867
215
109
971
253
112
107
317
548
864
378
266
423
994
340
945
317
238
141
69
752
209
96
878
488
626
421
416
273
709
448
379
95
937
877
655
681
852
136
51
424
25
565
400
59
610
14
438
168
118
358
325
60
215
642
723
633
330
808
620
584
850
426
950
735
499
474
150
313
258
938
447
714
848
965
620
673
374
327
373
793
179
245
298
48
353
948
561
236
629
942
96
351
590
617
102
497
188
707
57
258
622
129
314
443
492
868
553
702
995
940
53
827
621
917
745
456
483
145
522
502
887
590
98
890
262
167
10
51
855
563
16
225
900
775
239
811
88
34
882
876
283
358
243
492
343
702
66
707
840
562
950
845
221
931
692
292
668
720
902
94
496
95
226
502
442
697
779
70
620
399
176
4
201
49
667
289
142
667
457
509
388
649
222
390
18
896
225
842
752
161
183
668
71
572
230
178
978
21
892
656
67
32
987
10
151
809
753
945
162
382
313
700
426
158
798
725
696
747
39
673
513
598
805
730
585
874
940
614
844
981
622
564
790
347
190
217
524
373
631
599
597
946
883
348
448
568
538
912
716
911
438
684
180
608
891
964
409
136
916
173
465
968
32
984
167
556
570
887
489
280
385
248
641
257
171
101
246
760
257
737
847
65
902
695
626
725
604
854
857
646
893
188
89
838
394
176
484
381
669
2
42
991
540
441
684
529
89
783
268
949
539
219
676
464
555
862
40
174
272
996
10
990
564
186
767
456
616
604
72
9
872
307
295
247
818
215
767
65
863
245
223
853
792
360
375
529
879
337
844
869
760
671
794
443
601
366
581
503
932
312
693
302
750
588
24
690
133
296
281
279
685
462
941
127
558
153
706
678
681
178
866
643
90
657
301
622
940
317
132
525
836
556
179
254
648
217
459
721
833
534
915
962
616
882
475
36
78
839
293
409
307
513
753
744
315
300
368
377
306
996
266
237
265
684
321
700
532
931
333
618
206
599
859
807
740
27
459
382
93
405
128
632
111
948
644
574
639
830
400
934
991
948
58
74
32
265
4
274
73
870
171
901
217
924
252
177
565
335
716
682
911
346
335
255
168
230
86
672
792
930
445
299
886
785
43
990
516
470
596
614
990
864
837
944
513
894
883
127
680
269
114
593
714
666
185
15
241
158
208
960
649
549
522
893
752
903
696
516
591
699
584
825
644
971
326
837
668
293
143
674
656
655
671
591
116
135
356
559
997
742
134
231
105
976
193
457
758
461
168
54
814
468
468
183
875
260
810
507
678
990
222
314
200
287
911
895
974
791
450
782
473
619
656
884
194
151
390
190
251
600
261
436
858
527
889
95
94
847
931
77
708
890
562
800
557
775
473
649
448
698
748
405
788
709
151
919
464
237
487
149
787
922
663
719
197
254
24
305
625
184
343
481
94
117
555
156
167
642
967
339
310
949
230
811
117
127
752
172
597
434
632
894
414
209
430
244
40
272
221
356
292
592
510
331
583
465
493
949
563
673
78
482
504
921
836
128
899
347
762
806
282
50
316
382
190
398
717
931
517
337
888
293
266
50
746
26
835
85
773
813
528
515
924
542
953
781
975
560
305
612
330
51
337
814
198
114
974
807
758
835
113
467
629
625
151
229
512
122
169
426
339
215
499
522
664
115
624
241
292
970
957
593
366
191
81
447
187
528
443
605
98
946
350
317
632
531
326
779
957
944
559
435
391
476
216
859
350
348
831
559
679
718
890
303
707
807
955
478
758
647
378
537
76
242
727
815
307
318
535
864
716
447
883
991
327
46
630
848
40
624
800
801
538
738
769
255
543
260
396
311
534
975
188
900
556
989
899
37
177
130
732
952
948
338
418
601
951
18
55
563
148
482
477
338
291
871
355
877
81
437
958
544
110
641
690
762
905
295
116
342
8
906
165
845
637
430
587
346
915
905
568
687
54
798
584
607
150
455
223
171
465
738
685
534
126
793
137
440
230
910
903
746
204
587
723
970
130
266
959
64
428
653
667
601
960
208
935
114
121
150
723
621
944
312
730
217
592
248
497
221
854
276
998
555
442
573
524
913
935
977
492
804
199
921
173
741
997
789
990
687
271
24
198
362
294
551
233
171
466
382
981
337
53
835
538
247
559
435
755
207
761
399
34
507
640
593
380
190
578
982
668
983
241
888
454
583
483
826
435
941
479
280
821
187
33
574
489
597
690
869
765
365
817
436
67
957
316
551
464
534
9
772
404
241
9
877
469
193
595
478
58
597
206
130
296
813
162
830
333
61
656
906
405
169
351
676
706
970
647
700
132
951
344
112
460
291
900
282
363
731
993
56
922
560
396
868
17
621
454
343
2
404
604
369
618
204
446
252
945
837
855
232
525
568
489
602
486
804
850
636
612
526
741
807
820
664
546
73
447
358
299
553
64
579
889
583
279
648
66
960
154
13
165
150
376
57
561
413
327
798
922
43
515
110
274
418
636
474
723
115
686
332
443
157
156
860
218
330
291
301
347
621
827
66
258
38
408
481
494
467
83
396
61
766
911
878
316
997
722
855
644
547
496
886
223
909
671
219
32
59
918
879
141
696
579
864
968
81
991
396
896
861
419
827
117
55
141
998
47
323
518
790
999
755
579
127
42
670
686
956
150
344
383
545
812
150
391
19
233
337
42
199
154
547
127
683
97
234
266
575
524
326
422
444
24
847
107
891
109
710
157
582
651
590
704
698
279
566
112
580
295
255
183
726
790
254
931
425
685
31
535
60
351
833
917
485
331
806
501
975
415
265
343
944
14
995
787
6
309
510
198
975
152
447
140
98
71
670
549
133
4
164
97
911
596
554
937
649
977
879
455
603
964
329
499
609
506
754
766
695
62
144
719
204
256
710
397
827
861
863
3
517
626
170
969
505
958
319
493
559
797
229
221
156
256
717
804
493
820
520
595
84
884
93
596
277
465
293
101
157
730
965
178
168
834
493
251
301
193
573
546
790
971
824
129
143
22
356
551
738
960
107
888
372
354
555
107
916
240
421
215
665
310
92
632
65
139
812
592
246
773
112
125
190
856
586
375
423
197
846
577
846
383
457
8
672
572
670
628
486
100
62
921
111
902
524
655
326
40
627
908
441
815
72
702
444
57
786
40
682
160
255
951
57
383
838
411
300
709
130
633
195
318
952
272
538
331
132
577
218
36
93
343
50
243
167
815
893
753
690
375
154
210
175
907
978
730
309
237
309
798
46
938
536
873
859
96
616
52
52
332
411
891
99
489
461
208
183
935
601
273
453
326
596
299
21
30
464
560
425
146
274
778
61
204
973
652
113
153
244
512
618
262
478
145
605
850
698
761
713
596
674
922
266
314
511
15
584
686
749
507
195
415
334
789
714
677
894
895
366
532
397
747
529
183
655
875
223
559
83
766
147
758
824
54
752
261
622
811
833
713
822
96
293
274
471
714
58
190
791
901
620
308
226
246
286
686
845
713
50
342
144
75
911
437
189
398
608
870
595
488
967
352
62
380
510
499
49
976
517
409
714
975
494
446
407
56
862
707
872
104
752
737
778
942
960
574
400
634
505
156
14
927
716
431
113
824
470
254
602
578
8
329
954
627
745
952
738
135
630
328
984
819
895
554
664
695
512
153
897
217
231
218
603
66
891
801
19
448
579
179
867
401
299
20
993
26
42
276
986
963
542
839
612
722
532
598
920
651
41
582
498
455
87
273
700
139
190
22
598
210
241
732
73
746
627
627
691
698
979
971
992
396
554
51
373
776
32
629
18
293
512
305
218
830
531
930
982
152
247
293
78
646
312
781
475
126
561
618
730
477
354
587
13
772
302
850
323
311
163
583
943
679
877
684
329
574
78
723
437
614
933
642
970
758
807
443
140
314
118
274
307
701
683
834
323
269
33
12
464
535
429
32
605
117
807
112
688
499
441
885
589
522
911
356
207
150
863
177
986
635
123
446
77
671
974
976
63
510
774
259
499
297
649
904
499
84
686
391
297
66
926
379
970
591
434
667
514
418
941
122
64
508
828
542
342
343
746
493
339
420
767
568
836
98
791
449
617
393
850
353
120
714
83
175
845
733
399
691
44
786
287
689
98
243
774
784
499
280
300
978
568
334
140
734
844
356
58
450
611
611
74
729
156
433
596
777
184
794
649
604
257
994
641
404
267
85
904
696
727
856
241
293
80
351
838
177
356
918
215
696
199
732
311
275
752
592
431
7
890
528
522
83
49
435
192
996
247
503
931
858
931
703
245
974
966
942
795
3
424
821
178
692
832
90
685
143
171
9
230
26
266
835
656
990
132
545
790
737
491
742
949
899
938
410
84
878
174
804
365
311
329
309
843
628
602
535
726
502
410
284
961
618
743
240
41
304
664
438
399
39
769
609
297
744
932
477
890
96
862
972
998
757
826
89
173
593
401
846
863
409
268
367
805
713
854
623
317
307
129
796
811
285
952
522
676
116
155
513
684
96
993
168
163
359
659
850
525
41
340
403
160
935
662
386
311
171
454
202
329
20
466
5
597
929
49
804
512
275
843
684
141
133
184
414
531
559
309
22
239
509
399
105
306
534
195
724
785
807
199
766
928
883
451
543
322
831
494
223
569
24
419
419
608
903
808
884
395
532
4
792
467
579
348
539
858
665
974
340
937
670
264
153
21
695
326
619
998
852
682
789
815
948
939
354
384
440
338
14
354
746
968
363
259
99
903
400
723
666
675
349
780
570
321
982
877
797
675
58
795
691
752
797
535
917
783
536
229
276
949
854
232
772
932
467
894
644
137
157
905
874
866
842
768
860
758
638
673
503
562
443
996
978
629
123
697
829
593
873
144
839
364
680
262
341
883
131
463
232
145
976
489
999
565
967
201
460
160
501
302
789
903
497
209
614
302
764
563
610
474
831
385
112
955
844
508
657
75
688
703
296
949
887
882
744
69
249
862
137
24
425
419
227
100
726
822
361
370
636
558
460
426
388
739
530
92
888
543
954
280
37
79
890
667
200
303
679
10
169
918
36
739
474
746
167
921
304
710
688
819
615
378
348
45
233
40
139
737
893
376
307
292
161
119
165
916
180
520
363
681
985
62
453
807
901
624
172
627
211
197
853
65
831
362
765
463
216
939
996
301
91
629
691
685
884
994
76
479
962
842
712
600
813
914
868
316
380
813
707
355
620
262
252
235
215
99
713
537
48
931
821
731
717
964
291
816
888
354
354
214
720
357
629
325
947
657
221
666
485
545
67
746
537
995
5
707
291
297
957
295
249
617
906
872
120
757
60
80
975
408
720
213
86
420
868
527
436
943
441
542
428
825
565
826
687
309
797
894
217
894
524
627
354
233
263
53
117
31
532
417
577
260
348
218
821
395
161
301
910
30
224
133
31
984
970
135
651
894
973
279
85
427
444
228
357
411
28
946
597
625
877
63
522
490
585
279
732
642
588
739
655
185
61
614
968
478
183
107
255
427
874
705
460
639
752
791
416
210
117
658
383
626
214
557
43
988
916
665
842
756
201
745
936
322
518
864
235
943
179
702
209
32
429
909
177
350
734
446
800
377
128
81
335
45
171
998
46
35
175
25
807
60
891
101
576
904
763
439
894
496
191
282
990
984
999
306
382
568
421
458
89
874
493
493
705
741
691
545
618
640
20
801
588
339
520
787
777
83
342
799
42
285
137
744
985
668
463
30
829
855
342
163
628
645
881
405
748
602
93
176
791
120
639
887
367
834
280
546
200
101
214
780
52
292
317
897
876
791
562
213
421
938
514
165
224
639
857
658
574
968
386
692
555
932
722
543
718
475
327
703
285
931
21
317
50
386
335
97
278
833
490
531
7
577
696
778
94
78
777
775
256
310
820
971
123
760
677
553
25
379
647
232
830
175
623
420
646
621
293
120
626
763
732
980
424
678
881
716
73
980
946
558
189
156
705
472
438
844
90
636
152
583
176
74
815
207
873
394
919
793
221
298
315
990
157
919
791
655
46
37
56
926
23
934
692
268
462
992
942
566
448
111
359
33
180
703
476
573
646
315
645
236
761
895
85
575
360
353
54
48
146
335
701
85
668
59
867
67
939
672
583
279
101
804
474
827
868
944
633
633
118
755
778
880
104
739
661
687
250
471
778
384
365
184
381
481
454
664
706
314
967
246
84
397
477
213
313
702
270
40
261
454
291
752
185
546
176
101
639
314
892
429
194
295
610
826
383
516
12
650
446
33
172
553
449
720
551
913
344
773
359
971
320
964
778
36
625
504
66
824
623
217
598
390
488
878
260
119
358
738
438
944
175
686
31
288
731
22
558
224
610
523
419
19
827
339
825
502
981
270
717
705
616
140
268
808
353
311
162
725
20
863
949
592
690
608
186
6
41
884
960
120
897
43
670
588
183
651
591
935
741
661
860
124
656
270
980
965
774
719
877
555
98
46
781
109
605
674
999
381
813
772
662
386
153
520
140
268
745
768
680
981
731
96
192
923
701
940
833
756
77
286
179
460
537
400
347
78
701
233
367
706
316
379
478
36
156
975
786
156
655
491
912
372
92
145
821
535
770
593
35
724
222
619
803
173
946
767
635
1000
541
278
776
651
418
198
845
967
434
257
869
422
915
959
360
401
520
335
942
369
332
985
243
353
348
366
439
505
297
741
868
389
319
882
614
268
595
362
792
878
434
276
570
124
707
287
621
643
737
199
775
432
938
646
160
593
564
74
980
780
879
933
401
126
972
864
729
243
197
725
151
422
940
497
869
280
977
464
348
931
230
578
749
218
114
585
369
656
996
309
21
536
498
498
880
51
531
726
241
405
961
194
30
625
743
677
664
181
251
500
27
577
230
176
937
828
498
253
426
47
80
19
605
462
922
900
641
818
735
821
598
478
770
312
521
545
558
856
139
961
717
822
9
849
943
354
741
359
224
746
203
852
103
144
218
592
588
935
363
989
878
785
888
85
670
94
671
180
196
594
395
415
546
913
781
693
33
192
826
527
564
266
476
273
4
486
39
745
547
4
977
385
925
214
397
8
130
106
697
632
981
463
315
62
470
218
500
704
352
783
302
552
813
827
768
415
410
820
436
222
667
627
812
684
860
588
422
685
557
801
448
518
419
782
687
468
606
279
771
354
919
786
165
284
428
216
437
322
935
260
713
745
83
220
4
270
299
447
326
974
56
99
129
629
116
611
580
811
530
139
674
464
158
233
974
585
416
196
20
263
722
871
106
651
894
113
145
330
341
823
849
149
443
223
257
847
952
988
960
695
605
981
41
926
375
573
791
957
970
970
823
266
237
535
32
331
119
818
192
207
681
912
671
161
510
781
883
296
491
418
570
224
553
29
986
680
489
979
363
427
359
885
759
910
315
66
587
929
892
554
611
992
959
1
216
142
537
99
58
764
659
613
42
315
284
689
686
934
15
899
558
669
62
390
443
355
449
571
287
277
916
15
793
379
373
648
716
156
52
803
545
357
658
481
279
265
968
948
403
639
294
857
50
390
161
247
529
631
342
67
72
93
157
391
694
758
530
105
517
208
847
653
789
412
134
365
71
571
359
15
766
215
979
503
248
957
973
986
305
173
691
347
552
420
805
637
749
569
555
999
644
499
239
626
129
660
600
532
967
996
375
223
303
520
759
919
491
278
944
613
529
609
240
88
500
319
462
997
19
897
451
253
603
928
584
250
266
633
102
914
403
887
920
169
210
77
346
168
473
934
780
572
525
793
68
222
601
813
601
771
597
323
697
268
449
848
38
183
980
331
140
95
65
740
961
111
389
549
705
94
931
552
840
948
518
95
136
546
452
78
262
337
260
18
114
348
86
72
570
53
93
128
834
552
519
22
849
616
719
457
535
378
581
443
769
927
232
935
79
588
805
886
5
423
374
100
962
376
836
126
225
532
685
934
345
143
80
232
899
450
590
159
1
837
301
477
392
505
722
568
253
722
67
297
106
623
45
222
304
740
243
758
640
678
564
608
545
846
933
226
214
731
677
72
714
976
565
213
844
445
473
122
23
529
45
601
11
174
525
432
610
513
134
685
799
511
976
621
933
751
505
777
758
318
970
144
966
792
131
284
966
486
737
884
315
415
943
511
36
970
864
262
612
876
927
608
54
852
575
959
806
295
90
398
684
459
54
580
207
822
970
18
934
797
123
835
403
473
613
605
313
836
811
81
412
799
195
458
381
400
636
294
678
757
720
406
907
686
634
814
779
446
455
326
153
691
440
438
957
598
45
19
998
50
971
695
837
962
470
905
898
69
525
389
948
989
285
242
932
964
316
734
897
442
795
828
395
581
786
671
334
851
121
389
712
110
209
191
48
939
307
113
625
570
408
760
818
414
905
34
924
80
633
154
880
783
716
233
180
184
891
316
126
75
609
44
247
755
297
42
394
618
590
745
496
245
225
589
466
259
556
422
40
294
325
539
634
692
402
970
423
985
706
496
949
756
409
446
517
239
826
449
518
880
95
217
624
146
899
884
460
49
939
615
999
232
869
978
381
943
672
67
311
940
243
457
491
138
53
886
754
846
350
944
718
529
297
201
810
374
805
890
430
342
601
719
909
31
252
409
643
411
422
282
453
438
670
608
805
592
448
423
960
666
798
238
547
464
431
384
312
657
486
749
987
719
311
297
343
737
5
88
470
877
304
481
256
506
645
803
850
223
877
78
608
612
123
316
674
109
800
471
850
186
617
416
889
28
678
188
662
948
478
319
927
77
662
269
572
269
915
883
290
738
245
279
594
692
204
793
990
88
337
438
875
697
223
812
463
866
26
579
592
712
370
425
818
5
719
872
578
657
151
458
532
562
575
546
431
529
3
505
961
153
412
40
80
804
144
242
274
323
513
314
49
669
505
969
675
464
9
263
919
362
38
942
27
198
755
442
705
130
964
361
240
360
894
563
158
580
750
56
42
972
508
469
215
451
863
231
985
869
62
543
95
51
622
845
807
846
538
760
774
910
673
444
518
494
458
832
822
396
906
553
812
104
208
165
859
322
857
932
670
298
339
573
97
815
895
300
284
263
783
967
715
959
753
355
635
750
147
464
64
995
192
151
371
220
511
638
919
79
861
203
825
792
416
852
294
886
638
860
290
879
960
895
530
567
23
813
932
657
180
372
667
835
365
794
923
771
142
554
321
194
990
815
692
912
420
646
574
590
513
525
376
161
891
686
590
987
899
507
861
254
12
522
968
663
75
611
999
145
20
578
57
211
127
649
895
534
712
372
729
556
401
33
351
230
748
984
340
465
50
190
840
520
644
936
874
354
832
831
633
909
885
190
512
392
199
417
924
905
822
222
94
176
995
394
76
720
302
373
245
502
298
30
361
46
181
948
121
992
223
943
780
294
163
756
33
608
711
643
860
945
634
47
433
308
640
678
514
895
421
75
994
379
773
209
342
966
645
710
785
204
374
106
979
940
97
839
762
494
520
879
362
796
821
488
78
241
424
48
17
16
813
891
950
927
315
771
740
133
29
944
53
738
670
812
282
881
111
773
706
832
863
184
897
626
526
351
319
897
520
51
872
951
26
390
845
547
129
720
401
543
613
948
224
305
718
795
413
783
439
475
64
209
640
845
219
681
304
240
37
292
774
151
99
40
694
356
738
482
689
368
173
15
520
853
983
655
564
192
193
440
990
518
801
902
934
351
105
584
298
438
594
244
548
512
487
210
35
476
208
333
888
937
254
115
524
125
906
911
159
959
209
507
477
442
476
32
800
617
331
889
679
33
972
327
811
42
897
342
598
288
810
835
444
405
808
337
113
321
225
155
74
524
728
489
783
325
313
952
285
458
909
884
330
302
158
88
477
673
799
880
258
367
771
875
553
604
813
525
798
95
843
257
467
706
871
987
589
603
530
900
707
312
563
640
778
339
783
494
1
898
68
699
466
772
943
762
792
571
175
551
670
450
593
962
297
871
30
179
240
131
911
887
190
213
466
313
382
935
11
648
214
558
30
217
744
735
1000
749
271
144
78
244
213
247
752
220
791
345
538
564
871
506
636
848
434
16
216
698
764
706
676
745
419
881
753
762
433
608
892
800
40
813
593
566
361
956
805
772
162
76
584
952
779
629
349
36
748
870
73
28
498
479
665
277
726
762
593
183
691
51
542
618
737
817
535
34
807
662
458
977
568
542
389
698
43
529
490
667
328
943
434
28
39
912
566
496
650
303
987
717
737
474
800
906
496
494
571
406
568
322
896
904
338
916
618
199
399
426
866
814
783
392
572
217
913
385
545
117
946
601
498
102
352
736
638
895
99
879
572
600
786
267
303
657
426
476
53
626
357
47
480
557
918
590
609
457
148
121
489
280
701
778
105
942
621
78
605
110
376
551
222
872
795
959
617
962
139
262
510
917
579
199
600
373
756
600
756
757
959
570
394
755
679
274
755
318
938
323
524
394
866
735
876
246
427
994
550
999
93
996
11
15
499
581
91
787
821
893
787
323
685
39
1
403
904
377
147
659
244
314
443
176
710
647
662
188
573
358
845
486
434
232
197
360
192
853
987
262
665
332
776
863
970
570
686
882
509
15
784
848
529
608
836
991
815
96
844
535
991
934
792
9
302
777
3
623
501
955
315
348
646
384
75
136
202
73
592
604
821
788
262
594
581
421
55
253
248
331
422
667
366
251
990
611
547
346
576
702
405
673
172
78
957
601
547
753
192
700
25
946
706
254
819
40
976
812
24
274
895
138
991
941
620
495
356
617
696
476
439
953
642
457
51
612
903
344
47
233
113
483
84
707
154
469
122
631
335
137
196
536
364
192
849
361
475
761
396
724
168
687
916
688
586
486
413
131
431
751
154
298
684
207
555
812
129
768
316
229
811
731
749
207
136
653
350
508
254
558
710
329
738
890
798
908
360
989
516
986
907
967
152
433
602
543
45
279
649
806
317
472
842
858
38
917
969
16
516
719
949
563
757
117
257
53
261
294
215
811
487
91
145
611
260
681
229
427
368
415
135
840
357
394
147
897
294
777
552
210
886
507
526
630
868
888
614
108
39
448
150
229
650
570
686
506
116
697
526
692
189
286
1000
269
774
286
974
789
577
648
408
943
629
244
487
40
511
647
952
116
838
380
784
21
98
650
323
650
508
52
237
945
905
417
487
416
59
813
594
730
972
661
49
308
896
87
678
7
799
929
139
673
7
248
479
782
523
811
885
439
353
780
324
696
787
752
762
568
150
375
50
107
42
991
375
624
429
150
348
436
257
390
475
576
460
349
709
494
284
177
260
141
932
184
652
744
366
863
254
259
977
722
156
699
528
873
331
537
416
938
461
923
832
634
666
732
838
354
686
341
739
163
676
618
368
888
924
800
70
409
249
809
251
820
739
111
297
877
812
371
601
16
252
15
156
298
35
319
935
801
230
775
818
372
228
306
360
134
862
369
115
840
724
107
513
965
142
475
547
425
809
726
633
943
43
711
59
387
991
199
364
835
892
839
845
738
660
429
164
337
646
884
638
359
446
651
427
146
967
384
250
562
821
324
681
442
293
218
335
855
740
574
474
192
325
727
620
925
386
482
823
890
598
78
88
129
307
829
322
658
72
89
860
981
502
109
283
835
917
957
748
436
257
904
522
444
905
608
736
969
776
947
650
208
112
622
863
729
915
461
987
972
822
943
258
286
567
598
460
709
838
816
301
732
497
65
91
486
608
689
161
173
680
273
958
36
846
1000
197
865
439
581
716
841
582
87
954
517
946
474
64
854
804
657
743
542
864
757
760
274
125
535
60
258
206
93
44
1000
149
639
298
325
697
473
600
671
465
400
535
922
185
442
393
431
441
69
339
446
924
171
18
816
241
634
869
753
754
705
418
405
751
291
737
190
495
961
73
133
330
686
370
972
101
321
39
404
564
374
874
640
372
897
440
411
451
217
625
641
284
789
284
292
696
662
82
290
222
940
703
25
30
118
555
639
685
398
1
214
740
881
923
16
251
84
102
138
838
324
536
258
855
385
274
734
525
292
791
912
688
167
240
391
904
931
117
909
256
21
41
707
96
393
360
495
411
853
249
593
189
119
809
437
396
115
428
393
713
682
346
760
215
293
907
881
533
365
462
557
862
454
284
310
374
958
121
614
230
958
218
885
373
464
724
899
739
657
424
320
351
680
641
161
979
153
945
368
728
853
76
167
936
969
82
460
249
877
219
355
581
698
602
866
957
729
959
907
894
467
65
5
83
106
621
521
601
298
405
808
782
471
474
401
198
201
118
276
880
960
2
230
42
75
673
628
83
864
169
155
578
755
1
680
290
633
168
41
985
785
195
361
965
622
404
520
808
741
761
492
727
26
672
611
367
207
48
238
589
713
804
914
995
709
720
873
523
916
242
664
411
210
373
751
275
985
291
158
770
990
672
628
604
663
41
319
198
991
611
729
378
587
192
431
864
964
774
204
188
976
263
293
879
997
690
879
428
704
942
335
586
252
663
421
995
229
550
452
36
12
679
338
44
75
857
572
694
333
261
445
483
824
755
241
691
931
384
691
113
831
496
735
158
88
803
499
606
110
526
467
451
702
421
997
743
115
101
716
318
773
559
813
581
346
229
946
302
947
225
290
483
19
623
222
941
911
773
308
184
223
699
518
551
757
532
72
314
309
824
906
665
615
303
527
63
430
324
923
404
164
808
299
906
463
971
614
347
835
472
292
567
772
962
37
698
792
144
349
650
495
601
239
795
32
622
611
603
344
191
976
269
174
98
479
958
95
873
698
401
775
877
315
1
250
387
563
472
257
1
277
325
559
7
512
170
768
616
940
907
373
136
655
340
574
221
591
674
24
293
507
639
797
146
341
695
699
483
833
889
595
876
457
459
505
194
121
190
108
89
548
891
691
503
962
71
755
513
509
44
229
25
836
264
711
973
360
631
211
712
106
865
654
239
380
847
772
714
205
964
103
530
176
120
495
811
311
20
937
809
587
758
500
147
14
552
925
201
564
628
682
252
753
933
348
177
414
325
803
594
39
344
42
347
73
491
385
147
739
185
457
991
272
207
635
717
926
500
544
672
774
645
822
6
87
208
570
563
51
399
857
662
683
201
180
345
51
168
992
801
355
602
304
779
966
726
876
729
280
733
714
336
119
347
405
870
446
602
349
476
385
109
85
125
874
953
706
457
787
765
859
150
59
180
901
775
146
93
607
305
131
658
223
607
958
908
775
241
526
294
267
866
863
157
839
387
177
343
971
730
369
784
571
803
492
792
150
759
722
277
294
153
649
862
352
971
62
76
601
783
967
441
113
479
264
277
245
132
373
470
957
552
105
297
134
981
246
619
710
232
655
432
675
264
141
773
970
841
38
480
886
438
180
144
801
19
946
857
17
645
112
63
7
137
569
880
607
162
325
741
538
209
820
148
207
860
321
556
883
661
4
192
214
687
437
669
527
572
330
811
526
388
803
14
794
252
909
799
978
962
848
974
671
265
121
945
755
598
831
272
436
268
520
531
260
68
196
906
180
275
643
704
119
824
763
153
545
203
390
445
298
278
14
963
267
826
854
22
538
19
9
278
359
495
763
128
546
934
692
90
7
232
905
117
681
495
608
276
515
63
204
17
60
672
300
522
887
716
322
252
315
245
915
881
864
27
951
236
442
467
767
765
518
683
169
277
458
345
905
428
714
156
518
459
826
13
930
229
34
949
701
432
834
936
594
242
998
508
25
285
422
940
949
999
655
427
9
925
124
296
63
424
874
787
776
640
109
357
575
259
937
773
149
777
522
483
605
529
239
899
570
694
573
232
792
850
194
486
261
437
92
72
479
635
679
224
251
794
504
95
314
483
589
965
177
668
424
463
784
319
342
84
998
930
342
588
453
84
414
28
14
199
91
277
935
11
235
929
848
202
67
331
843
802
32
376
260
651
403
336
267
255
445
722
967
821
549
634
530
139
4
532
844
229
974
717
241
360
794
39
151
124
943
527
929
743
891
720
698
683
574
398
765
945
410
362
67
109
636
638
140
338
226
212
306
46
793
978
134
880
729
99
733
989
248
387
125
297
167
624
738
627
2
981
76
118
425
791
738
267
177
23
256
362
324
680
676
794
113
247
419
931
757
43
699
827
199
993
720
10
263
919
930
2
642
899
863
26
854
646
454
551
625
131
288
959
186
870
936
615
577
393
371
69
412
423
495
951
493
198
952
325
281
182
748
977
533
153
672
97
332
267
144
317
327
234
917
914
258
204
15
270
728
287
374
324
770
895
955
895
937
260
466
172
550
534
448
623
238
881
199
842
119
807
871
574
772
797
178
263
700
12
278
10
74
381
819
723
419
947
604
598
327
729
19
808
415
682
190
403
539
555
816
3
691
583
762
798
96
991
791
757
801
201
266
701
405
531
250
74
690
881
210
838
580
589
442
911
273
213
394
927
377
432
339
959
596
690
177
990
841
457
747
584
640
174
685
194
363
72
759
991
122
43
588
917
113
641
843
916
862
138
360
943
47
257
49
380
549
851
146
985
956
317
138
326
993
997
644
946
256
145
634
176
191
311
647
593
471
142
71
610
790
684
130
585
636
210
961
129
781
524
36
14
54
436
245
184
501
823
147
894
125
271
248
941
283
816
696
269
211
695
418
971
329
344
602
874
723
110
346
416
637
264
483
510
916
938
863
436
74
554
827
577
68
175
213
995
917
934
993
426
26
384
582
259
446
162
896
460
312
859
502
200
427
323
569
170
245
963
892
159
557
765
944
508
797
864
767
462
216
510
548
304
132
161
871
357
91
285
967
624
32
148
772
845
522
510
246
263
674
688
166
190
641
872
614
794
466
951
426
169
637
342
176
841
892
489
665
361
733
753
467
519
575
405
818
22
704
296
15
193
17
581
535
344
19
550
306
12
731
228
878
169
938
913
796
858
699
224
119
423
147
544
865
673
390
995
139
859
766
171
852
304
778
920
201
882
805
402
577
326
69
495
126
519
405
373
985
489
103
753
128
838
447
865
806
732
626
670
842
351
356
251
385
942
901
552
301
221
188
880
65
865
347
633
885
313
326
767
778
868
195
387
527
390
377
702
728
461
324
271
663
7
81
132
320
765
778
907
735
905
347
449
725
340
640
929
230
953
714
521
722
66
233
993
554
937
841
609
725
987
857
676
237
758
852
2
119
300
506
262
256
821
612
11
317
917
295
652
487
684
278
170
175
272
526
884
558
257
697
752
662
297
625
1000
618
106
485
989
925
757
386
250
797
659
874
574
151
344
250
877
382
369
652
340
859
228
559
957
956
137
785
208
538
988
998
48
52
533
548
776
741
85
682
629
60
636
245
166
70
314
604
563
434
520
862
983
665
917
377
79
439
711
218
501
102
261
506
13
994
148
459
452
854
280
627
288
343
454
974
9
696
97
430
874
602
570
58
852
697
493
211
728
434
56
918
404
716
168
283
426
382
595
839
619
516
952
674
512
627
522
601
935
910
404
844
759
182
410
478
239
582
468
362
876
808
27
400
976
471
111
758
358
154
202
104
752
865
124
2
496
906
418
375
57
601
514
326
773
949
162
681
952
18
147
330
132
830
354
808
862
549
588
600
867
22
391
319
802
107
302
274
108
773
606
910
684
649
644
280
153
554
205
12
548
573
311
189
125
375
979
206
832
837
191
907
703
488
324
294
52
939
778
638
900
252
402
99
497
165
571
859
147
172
462
332
815
744
152
226
145
386
645
107
579
795
852
650
252
121
811
934
226
229
190
984
371
881
191
275
962
985
505
27
584
393
919
990
501
251
458
810
28
579
743
264
758
566
339
368
744
71
461
836
844
940
336
449
479
43
889
619
998
401
211
880
701
370
408
45
300
594
50
533
297
401
397
706
286
342
5
104
694
844
87
140
830
309
226
169
406
552
664
828
904
159
381
210
222
216
637
740
79
852
460
579
545
240
807
20
881
979
787
603
611
318
359
625
365
271
402
288
569
485
897
16
517
691
254
325
675
646
463
228
361
738
872
364
79
882
841
893
859
860
446
754
942
21
705
59
997
138
486
211
884
263
402
886
641
610
491
115
977
875
424
543
57
895
304
409
800
219
873
893
177
11
73
279
275
642
468
798
995
527
999
108
275
989
888
134
710
444
297
372
250
763
518
825
448
453
43
471
349
207
878
508
724
462
828
678
789
809
306
635
959
531
415
670
444
24
677
110
706
630
791
351
903
211
228
792
414
831
327
926
488
75
768
432
870
864
945
420
953
108
848
895
671
154
472
113
873
826
671
735
334
750
628
596
955
804
803
467
917
784
286
397
741
779
985
101
258
354
970
387
476
348
596
789
206
980
735
436
100
31
564
656
436
22
874
1
607
710
787
147
733
708
119
630
280
715
344
476
847
666
267
565
512
90
78
10
287
106
398
920
218
785
312
660
661
39
125
130
73
823
793
631
433
193
534
633
66
677
121
86
205
499
759
987
103
411
251
580
889
313
352
888
648
328
846
335
384
758
880
782
651
159
536
691
614
821
428
46
232
60
392
305
57
126
927
927
883
929
157
951
101
499
488
709
147
826
38
981
875
737
166
814
49
504
109
797
381
220
828
778
724
322
630
898
74
264
59
336
28
69
823
353
228
348
261
51
73
457
919
770
720
629
403
200
961
304
513
88
77
369
70
882
188
691
541
798
920
187
741
544
457
588
417
394
147
267
496
386
892
738
143
157
485
917
535
357
892
817
433
601
267
141
233
690
106
124
155
150
547
86
614
195
280
341
648
905
917
551
450
747
951
117
702
547
641
908
394
705
233
504
266
737
967
113
829
188
187
514
168
592
735
689
361
441
500
306
423
42
633
821
123
732
480
796
895
195
727
965
328
490
587
676
403
994
128
616
734
648
2
145
535
791
890
121
960
388
962
853
748
634
532
692
813
758
862
822
541
378
776
4
69
849
341
389
756
931
363
34
373
507
871
408
306
232
83
20
179
783
554
260
882
778
353
703
928
566
141
415
444
799
975
227
859
126
496
590
532
399
935
356
152
500
6
751
719
255
352
903
325
959
658
492
742
696
938
498
48
978
789
555
113
253
592
116
816
441
739
514
267
11
982
983
148
36
891
891
543
336
236
775
237
29
846
213
552
823
92
244
229
897
715
809
724
533
140
669
565
510
768
327
102
865
3
771
41
830
925
270
667
627
577
999
537
326
837
65
750
165
690
316
568
569
530
423
337
598
800
892
100
706
869
20
311
521
587
343
297
781
309
765
939
743
560
408
128
95
691
180
141
892
31
218
11
81
59
646
362
975
85
535
915
383
742
561
80
222
395
631
604
104
183
647
259
793
8
669
935
438
264
955
299
187
446
762
409
121
103
319
276
429
762
85
370
437
571
284
534
368
393
684
556
710
12
784
921
673
925
896
909
503
903
74
221
349
154
498
834
979
452
703
586
870
23
1
316
131
356
538
18
242
329
718
589
834
227
104
201
597
293
517
268
930
402
775
230
136
369
384
131
804
148
569
47
512
898
207
965
154
484
580
622
978
470
417
164
915
110
300
199
884
110
387
1000
541
197
371
130
367
655
717
735
110
999
525
127
291
930
829
14
946
553
724
963
791
581
487
203
728
934
790
930
998
690
151
606
283
820
24
605
771
535
310
727
527
340
599
723
517
90
187
19
260
453
733
208
447
155
454
773
763
349
925
665
828
206
861
97
420
597
762
879
81
344
918
142
811
43
77
129
792
948
31
9
981
685
467
360
987
897
719
17
852
19
444
521
228
479
837
244
976
600
749
611
389
338
914
531
94
788
582
245
171
89
29
369
196
939
776
778
703
454
859
347
55
512
186
303
804
28
785
72
428
844
809
58
742
50
215
770
391
567
407
52
568
789
515
954
506
921
649
961
357
397
179
868
782
437
45
594
946
360
158
610
646
741
193
468
989
897
463
120
357
450
99
320
422
923
465
463
598
423
605
576
660
450
511
73
182
830
181
95
118
516
770
884
88
797
602
743
881
33
447
535
288
599
294
581
606
146
749
64
62
653
345
731
991
977
270
770
763
794
474
218
393
865
666
170
240
566
456
335
420
462
781
224
378
529
795
337
588
302
612
261
456
809
639
512
374
708
753
269
280
384
235
925
238
146
227
484
312
846
416
403
456
386
833
459
224
623
910
532
844
97
415
22
624
903
479
752
700
723
692
817
862
749
165
821
552
764
543
334
175
131
153
215
540
821
900
632
581
889
33
265
517
21
629
146
264
837
471
67
201
683
54
283
390
514
559
490
950
331
21
718
559
312
368
803
16
444
633
572
364
981
477
756
330
512
65
887
748
729
480
131
172
310
96
91
129
423
766
91
301
467
254
366
492
627
65
864
375
705
718
96
907
455
555
563
744
375
373
826
183
484
528
203
949
123
663
406
607
224
899
198
514
833
131
240
993
859
69
914
852
185
798
824
467
283
917
47
372
455
775
996
734
627
937
907
128
413
742
569
748
805
791
889
573
435
204
283
14
790
799
694
273
197
655
237
977
620
131
87
642
554
57
246
191
371
725
261
40
480
265
778
245
588
202
86
822
162
302
411
634
896
285
818
156
645
632
987
50
809
515
48
701
599
807
874
782
946
255
954
477
110
155
27
197
158
279
148
506
584
395
767
500
303
443
681
59
132
312
456
239
653
221
995
584
60
903
489
245
172
124
876
662
312
637
288
985
158
264
713
552
991
707
211
521
984
591
612
177
315
444
564
537
919
571
159
621
623
257
140
144
286
315
893
475
293
780
947
403
424
451
785
606
692
82
71
805
208
224
273
192
512
121
834
134
106
632
652
99
104
799
685
434
16
588
878
927
693
305
488
37
370
392
78
324
556
598
139
861
243
28
317
374
555
205
693
420
456
58
437
171
623
720
412
283
908
127
991
880
67
637
425
898
631
361
604
900
805
429
921
31
306
160
291
925
904
7
42
244
217
167
539
22
19
959
915
135
897
436
202
27
615
202
493
296
947
56
518
859
62
963
128
191
760
758
785
579
995
209
55
413
156
278
511
276
521
941
212
30
139
486
73
108
163
983
75
976
301
560
203
90
642
163
429
687
569
721
841
454
852
44
247
452
319
290
156
658
664
572
120
171
80
105
788
389
398
319
893
494
309
549
618
134
95
185
443
532
992
722
602
147
942
721
778
606
50
518
483
907
462
472
875
739
782
629
427
387
342
961
936
849
854
747
882
716
3
236
991
846
540
484
217
82
281
106
17
98
245
776
932
934
827
467
6
966
503
797
496
835
93
368
653
360
977
638
119
537
22
696
591
547
173
295
996
114
790
641
347
629
874
708
834
237
232
329
455
444
516
893
707
917
799
263
379
801
13
424
546
304
176
476
202
297
747
785
809
370
903
529
229
137
735
372
128
557
636
762
950
701
189
145
4
733
892
433
25
776
981
228
818
24
400
634
227
692
722
942
743
354
422
154
508
800
473
73
331
794
653
647
628
13
307
369
843
27
572
780
12
350
217
558
614
530
338
244
754
705
103
384
5
293
623
764
973
291
840
447
746
166
966
524
906
473
649
864
720
157
532
627
451
931
265
11
481
276
383
501
60
378
647
877
74
736
616
392
171
285
209
793
936
620
999
339
603
308
812
559
947
325
947
263
586
397
17
233
924
368
970
93
350
766
312
111
105
401
947
36
460
209
333
656
433
495
838
425
313
447
288
406
685
43
700
752
470
478
95
125
746
854
126
813
760
126
955
714
581
278
457
86
323
253
364
659
708
429
395
748
25
338
787
31
217
861
865
977
904
387
492
306
639
256
256
422
602
364
282
529
219
972
388
997
927
620
110
589
387
525
833
395
998
15
813
621
481
342
441
950
623
695
460
813
28
358
193
764
862
722
52
129
122
306
737
222
931
34
551
728
713
759
228
309
881
417
490
78
844
280
329
358
725
465
648
66
155
243
490
132
945
725
524
591
180
167
868
384
545
493
600
434
265
641
494
283
85
952
637
409
136
180
566
365
361
631
487
73
428
578
964
879
675
372
156
513
728
606
363
702
845
275
116
978
925
129
549
199
408
319
92
372
920
978
806
667
669
629
830
888
5
151
488
284
539
577
561
290
446
188
131
674
324
191
168
626
90
788
734
512
901
572
288
377
31
15
53
792
954
274
839
320
638
656
38
668
187
863
699
629
511
586
764
996
709
93
546
969
140
200
483
997
999
437
80
622
343
260
639
652
127
892
123
890
766
730
985
754
176
302
334
321
6
435
145
744
18
627
524
510
154
628
242
732
882
882
814
498
806
787
459
342
388
699
126
40
849
238
642
286
970
712
733
266
567
428
299
799
867
237
875
494
875
925
635
340
108
934
662
227
721
494
451
196
163
432
763
590
966
812
52
889
186
95
612
735
291
662
508
523
34
421
130
993
927
696
887
479
478
744
188
764
268
82
324
89
283
227
309
446
652
633
37
187
89
331
340
900
885
244
660
687
266
238
93
238
279
708
492
579
159
907
179
937
284
271
547
982
424
751
538
560
991
471
492
164
344
121
390
596
74
131
858
648
337
57
602
202
962
555
130
832
60
25
716
846
292
282
575
734
789
581
108
134
952
968
924
781
7
176
35
347
251
236
278
775
363
569
545
434
35
563
836
433
449
533
504
505
783
555
329
143
44
833
201
84
987
177
253
838
776
666
302
635
381
771
273
125
356
37
120
139
801
955
422
67
828
757
442
743
735
726
935
256
501
43
407
742
866
344
849
90
488
906
172
420
156
848
732
372
35
802
347
517
272
263
144
649
54
237
453
345
402
847
695
918
552
297
869
817
772
951
832
611
865
302
26
910
396
331
685
982
889
39
833
339
884
987
618
314
713
292
555
449
335
863
328
573
356
610
661
602
637
993
610
405
511
541
353
584
702
927
156
638
481
761
784
785
464
505
996
656
739
838
190
189
663
334
447
315
774
556
434
434
738
524
680
277
158
35
690
459
364
541
278
922
13
74
265
525
449
239
378
216
289
457
796
598
622
409
288
193
549
150
301
399
534
434
666
941
167
613
832
615
508
873
641
238
131
681
719
51
345
60
486
222
862
711
634
743
331
50
698
759
746
972
970
292
760
492
613
387
271
465
275
959
504
265
902
988
987
639
722
264
447
954
577
579
675
713
863
128
821
505
361
873
432
556
141
826
763
628
537
494
573
330
922
253
616
801
643
1
548
362
2
301
805
931
620
109
280
942
863
339
318
31
280
754
614
11
135
86
99
472
212
897
795
943
27
379
908
656
474
210
158
877
698
624
440
186
707
36
441
310
815
936
763
871
512
278
422
907
786
242
369
138
217
97
773
724
401
861
396
694
392
575
341
327
873
349
806
510
729
730
254
483
522
601
596
472
146
536
544
401
579
502
313
260
231
830
205
724
858
638
452
316
386
266
870
731
279
831
512
954
288
696
519
443
485
532
783
963
536
631
910
620
36
326
147
280
576
677
648
814
918
80
456
560
294
84
66
980
368
495
283
734
873
808
360
311
230
90
96
879
781
732
627
288
353
877
158
983
9
931
763
129
756
263
700
450
910
140
368
101
555
923
176
400
271
805
102
409
880
694
637
130
458
374
164
609
291
736
542
283
768
709
818
759
402
485
544
590
341
782
133
756
729
181
49
241
245
26
388
581
984
968
620
231
603
12
786
393
311
853
498
260
866
321
427
693
190
42
813
21
609
772
705
1000
19
408
275
948
445
402
557
759
590
131
398
769
942
822
238
440
962
762
563
445
636
876
553
12
462
243
457
312
514
712
715
283
804
646
706
525
582
690
257
783
568
650
743
134
374
752
680
166
519
33
209
357
520
156
754
330
514
683
450
911
735
722
648
710
978
921
893
453
844
971
327
464
191
131
370
483
699
822
874
487
872
984
682
288
120
722
677
484
799
765
946
746
192
362
650
539
460
581
547
95
566
381
913
902
955
465
721
975
604
682
614
944
660
637
89
340
485
283
809
481
377
468
681
71
644
818
585
940
960
877
260
364
151
103
840
59
657
223
990
235
891
406
413
88
665
929
744
713
661
309
473
689
613
368
625
565
556
319
350
1
986
792
466
630
235
611
239
569
719
305
399
83
958
549
440
107
443
163
757
236
481
895
72
278
128
910
887
682
196
821
430
979
115
130
659
879
109
149
414
810
763
832
734
505
535
448
700
704
214
725
874
159
610
875
591
912
2
926
870
247
998
927
709
809
498
846
860
132
386
483
964
220
437
290
114
880
661
771
470
233
3
36
568
186
840
186
340
695
220
410
671
309
163
73
531
855
627
629
330
98
922
877
160
863
489
931
26
449
916
322
986
71
23
761
381
760
633
486
954
357
376
532
735
233
523
944
5
919
346
736
538
89
983
343
564
251
95
416
602
41
905
90
376
256
315
269
513
603
913
13
638
704
619
914
761
57
638
159
573
491
117
74
377
181
664
126
897
404
431
706
144
50
987
556
842
360
636
338
665
497
114
700
664
306
859
147
851
83
160
194
809
259
525
534
627
625
560
441
170
176
498
216
906
650
257
236
100
623
595
117
127
327
471
543
121
437
210
566
917
730
436
561
488
859
49
572
676
508
684
467
47
814
202
203
122
278
778
490
59
330
42
330
122
358
567
213
908
275
696
263
334
632
365
231
890
885
72
45
479
661
634
582
476
782
673
416
282
353
61
573
759
445
706
736
396
781
121
919
985
336
201
367
841
985
505
315
361
139
140
292
780
827
15
855
552
825
845
989
662
248
801
933
554
487
83
837
55
492
39
524
865
172
662
556
695
147
428
987
122
140
481
467
574
66
104
784
645
286
276
590
103
517
850
765
550
662
570
836
663
130
703
910
368
311
531
831
77
487
330
665
331
874
761
123
824
420
775
287
770
676
231
810
37
369
457
815
283
240
858
845
575
366
517
588
611
450
464
539
740
482
881
433
390
805
104
45
429
819
661
937
212
489
999
816
768
388
746
427
660
190
566
340
533
435
701
568
261
897
277
640
920
67
340
723
506
126
347
331
436
250
579
458
392
272
474
242
997
509
445
848
140
54
131
876
507
924
333
469
27
265
148
228
481
235
902
235
498
263
560
729
506
161
195
458
994
937
975
335
605
243
871
780
169
83
943
38
783
808
647
886
411
412
60
302
324
881
313
122
860
633
802
214
635
125
943
419
338
336
329
352
676
146
162
179
866
612
737
653
303
737
573
3
703
634
508
788
39
905
720
409
70
647
139
828
113
752
197
942
996
71
186
203
781
548
752
312
956
690
224
244
261
570
531
456
229
109
448
806
807
559
784
675
147
964
904
757
745
849
687
229
670
568
604
351
501
523
113
50
956
964
987
746
939
165
478
449
847
588
492
194
555
47
28
976
463
1000
211
667
314
831
170
827
313
389
867
951
207
115
726
430
607
805
610
454
801
409
201
118
695
336
366
276
357
369
450
27
802
678
715
289
299
382
348
616
498
802
564
252
91
810
319
450
563
690
75
238
830
511
858
146
188
329
604
887
90
428
379
622
668
434
628
246
836
366
34
45
42
598
913
237
441
260
347
121
322
830
391
998
122
532
776
625
265
690
501
635
336
369
577
317
849
475
982
142
941
991
578
628
880
158
338
525
172
255
721
772
409
52
486
375
728
177
491
172
886
388
314
430
536
185
601
352
221
281
137
892
972
215
530
678
184
773
289
509
600
953
793
600
817
928
345
703
740
825
47
293
778
175
710
250
392
563
406
831
810
360
549
304
341
412
560
297
737
205
324
757
476
343
584
472
684
153
398
223
636
821
535
997
435
782
465
164
521
980
201
145
103
253
778
917
488
280
629
616
553
512
429
655
261
980
270
977
235
179
155
540
868
8
888
661
360
357
421
599
359
58
559
656
605
790
757
76
91
4
405
286
753
109
596
302
654
951
909
725
959
91
94
328
708
514
928
141
570
164
677
865
313
157
768
613
652
596
298
275
534
666
935
213
681
92
648
660
371
100
423
904
51
739
803
291
330
790
657
144
334
519
46
920
167
224
444
340
465
840
857
730
620
905
563
552
282
798
313
942
175
504
833
76
89
117
363
368
159
893
801
831
176
987
752
398
731
895
382
655
466
248
550
218
542
832
96
942
722
627
548
266
151
195
737
236
976
992
987
196
459
26
605
692
120
821
381
871
748
842
666
550
834
351
411
160
95
188
229
1000
259
110
118
542
237
133
41
104
118
788
908
811
172
320
879
654
189
656
84
377
45
371
21
115
313
994
907
952
140
754
206
54
365
223
419
625
2
432
944
686
865
710
518
614
10
874
285
446
149
453
19
185
940
269
426
720
275
90
700
547
327
16
748
139
99
956
553
706
674
830
167
71
190
128
754
571
798
39
889
216
509
686
63
818
889
908
964
436
30
624
660
291
54
75
214
231
731
132
652
958
415
417
433
483
625
207
735
678
62
953
952
392
764
792
750
324
396
589
934
717
380
907
129
6
683
803
24
739
609
471
458
433
857
604
204
584
449
782
652
664
871
330
970
799
898
857
482
796
162
140
201
320
437
86
432
320
13
264
327
243
287
912
142
206
872
351
654
25
118
496
905
953
926
494
974
20
126
560
970
140
489
769
811
490
673
890
638
251
986
366
921
486
892
175
383
773
606
637
908
248
951
171
487
867
906
666
70
15
894
369
942
102
936
160
838
379
239
644
578
41
661
775
420
607
749
583
692
692
754
187
522
538
67
446
630
88
52
500
237
979
125
978
87
529
218
820
497
730
517
520
103
242
424
80
675
639
253
126
989
485
92
443
208
323
566
650
683
368
13
869
364
462
714
2
260
899
364
681
500
797
935
38
597
40
457
198
441
240
989
780
425
775
252
787
826
730
967
937
257
478
933
902
551
731
280
922
928
85
115
947
658
526
21
829
742
849
454
39
297
688
106
76
459
691
749
19
607
381
888
663
609
428
797
269
649
383
159
271
874
379
582
192
743
981
719
633
531
135
585
418
815
117
938
913
184
506
264
76
636
449
985
17
280
916
14
716
57
212
651
81
144
760
148
710
590
20
944
558
527
504
713
211
979
7
879
629
901
535
171
7
589
959
136
901
985
37
266
855
760
321
521
577
249
417
621
113
456
221
394
581
379
36
860
772
853
925
500
319
944
283
311
200
708
340
873
58
749
248
594
196
631
486
741
115
616
517
635
179
626
62
606
308
584
861
921
590
502
511
923
398
756
836
27
848
32
222
68
456
293
567
740
436
969
773
492
374
286
229
308
952
269
345
270
973
499
1
632
203
158
722
448
423
213
510
436
681
886
497
867
913
674
36
738
993
294
399
405
804
865
989
142
88
543
872
787
700
603
446
785
357
641
316
416
158
202
746
963
935
605
613
878
979
175
429
754
794
394
848
65
313
724
28
176
459
957
374
77
1
13
492
694
419
29
594
339
891
443
253
114
576
519
126
600
69
435
207
178
311
615
237
754
213
451
134
392
995
970
688
641
534
243
320
910
35
574
390
267
5
564
407
509
774
181
509
110
837
845
731
965
844
406
926
447
409
549
680
366
788
851
181
869
108
217
832
188
46
871
307
415
789
431
893
158
629
854
195
1
809
182
714
224
62
117
386
63
843
387
890
173
436
788
430
598
937
536
731
702
645
281
211
30
511
717
605
986
140
238
884
561
265
496
934
60
785
36
310
958
188
400
362
539
646
240
145
927
147
986
859
512
788
597
966
514
735
731
786
621
432
453
93
210
364
249
189
665
24
688
981
676
789
540
834
244
79
544
350
270
527
300
772
277
860
961
426
800
882
493
429
411
228
271
958
186
527
702
506
659
262
377
883
943
852
975
213
778
454
777
806
670
538
177
583
224
579
37
672
970
58
57
917
710
575
594
286
477
68
553
601
679
996
981
568
915
894
40
836
239
887
853
692
357
566
537
37
363
165
428
504
128
111
88
924
403
816
193
857
8
71
825
583
224
517
994
767
675
429
437
998
494
502
888
527
559
424
40
846
951
743
345
177
523
956
688
557
686
811
679
974
72
520
4
914
740
953
823
757
982
910
684
716
574
267
803
349
558
115
845
275
211
12
525
393
922
137
468
752
92
416
744
268
19
683
426
617
966
550
330
975
263
929
819
757
335
105
179
143
4
827
622
972
294
149
401
539
228
649
877
919
772
202
638
746
188
735
914
737
520
208
625
881
867
650
345
901
356
231
366
515
470
194
820
52
498
975
523
176
356
1000
775
841
22
433
898
96
92
646
666
43
746
270
111
73
557
506
434
466
92
760
837
622
268
801
174
429
732
365
222
781
354
536
257
815
61
285
337
236
851
302
395
990
799
558
780
650
257
143
376
79
284
549
799
345
501
935
469
400
234
908
535
731
774
999
733
50
59
323
267
119
882
894
714
925
989
657
753
829
54
610
278
692
602
301
42
720
378
595
555
480
534
819
367
546
297
352
246
312
418
222
986
781
826
541
774
550
370
452
77
807
438
798
16
858
560
909
53
610
771
740
607
479
671
100
916
379
599
844
54
819
296
743
508
646
738
172
154
620
582
914
768
876
806
141
436
247
658
57
368
637
26
803
640
843
658
950
340
752
481
326
453
387
391
956
543
75
519
657
995
914
944
138
103
786
204
551
800
421
794
69
181
354
21
436
270
231
202
430
674
549
236
819
848
826
962
714
729
171
603
186
390
430
789
625
168
364
326
612
491
848
912
6
196
674
477
523
728
348
664
368
1
252
271
332
85
584
115
374
118
829
888
900
23
853
59
824
650
369
761
26
960
181
909
16
739
547
518
431
121
34
278
527
872
430
981
930
21
646
324
773
898
34
924
767
54
258
148
911
878
618
492
300
928
771
785
932
113
886
479
515
946
589
615
9
970
484
871
51
354
672
218
453
384
421
346
717
256
69
985
833
123
339
637
692
835
441
49
122
199
746
964
873
852
363
303
924
36
628
927
70
691
404
598
131
244
70
558
19
409
267
384
586
135
794
455
403
540
506
369
584
322
746
162
352
653
583
987
292
32
134
237
123
882
299
728
425
982
559
670
912
928
850
629
759
943
138
584
17
275
45
482
299
349
749
399
803
593
443
549
212
563
819
867
168
587
434
852
829
668
270
678
482
760
536
315
314
896
535
546
197
838
417
337
828
50
790
952
583
854
428
572
271
545
787
978
307
108
647
979
931
923
934
905
799
514
727
442
624
957
523
487
625
49
38
510
158
702
251
107
313
320
905
58
202
124
414
204
349
459
935
911
894
148
437
678
286
855
713
753
763
247
627
181
193
450
396
848
805
949
285
471
883
595
954
388
799
847
588
268
633
694
94
517
174
2
874
271
361
138
131
326
34
841
224
269
451
252
323
376
161
903
499
526
703
258
447
547
76
75
203
858
89
482
623
268
496
142
843
82
305
296
674
415
764
808
657
766
293
536
517
450
90
507
876
446
212
381
385
582
679
659
894
746
562
931
863
7
78
197
5
71
404
980
47
540
334
508
598
798
902
707
313
163
781
136
952
151
633
288
481
320
545
856
24
166
373
664
394
986
103
1
880
445
317
943
178
828
468
137
666
607
943
188
699
993
843
454
247
617
974
573
991
336
819
495
930
428
141
145
683
138
444
77
904
593
715
680
674
606
767
515
286
793
6
375
591
710
657
524
935
440
286
355
799
167
6
404
408
796
848
252
976
608
638
368
725
267
157
318
527
236
497
138
808
813
296
836
352
529
969
163
776
640
167
799
747
778
392
67
452
609
157
104
445
531
106
213
757
21
218
748
76
214
626
467
869
728
575
761
564
511
748
545
292
724
518
873
223
277
697
556
244
649
982
137
585
59
634
588
986
892
875
17
215
504
107
470
6
202
359
661
45
220
274
63
192
994
545
361
988
883
991
689
395
770
299
425
856
642
89
578
15
338
129
964
845
132
416
423
524
745
357
320
122
624
493
430
50
108
18
129
265
139
854
457
430
764
219
261
582
555
395
115
368
418
892
109
590
26
338
948
606
211
160
993
152
248
617
41
231
888
771
636
65
380
785
686
532
487
305
977
95
674
759
956
46
233
113
790
749
108
3
307
682
550
192
860
292
579
967
574
68
381
463
696
779
450
867
963
529
229
137
24
131
508
144
916
323
604
157
551
509
631
174
951
37
799
895
722
516
716
75
851
290
168
575
489
2
662
675
800
134
335
129
292
475
476
989
349
800
9
440
776
397
777
779
309
682
330
174
955
893
279
33
940
696
922
673
830
623
22
438
53
431
82
601
690
854
434
187
879
708
771
302
584
993
490
701
833
463
352
89
704
99
556
90
517
86
221
908
674
152
689
450
593
620
794
90
968
90
455
306
382
458
488
142
961
888
571
810
292
429
651
799
343
196
912
503
466
433
605
772
884
309
690
733
227
2
221
922
792
487
857
65
217
442
717
797
149
886
18
256
320
443
593
751
165
643
437
631
741
313
885
102
242
853
893
945
860
220
156
29
73
480
480
55
709
88
914
170
284
471
619
998
202
48
368
127
340
577
853
291
470
580
704
337
711
665
214
542
921
746
309
13
539
533
217
712
878
160
614
110
286
508
789
593
925
584
487
531
110
324
668
348
312
294
349
22
949
83
88
193
27
624
430
468
559
281
789
547
421
309
866
546
991
202
661
233
469
545
532
936
241
176
575
571
61
898
804
561
70
485
186
436
907
456
680
544
223
927
775
611
946
874
920
861
545
311
432
30
351
201
147
875
726
409
109
728
506
643
65
224
659
121
375
589
564
644
252
765
661
886
893
224
450
937
159
526
37
597
947
553
418
456
292
881
729
551
550
934
537
265
700
403
32
194
940
917
702
876
245
98
623
682
522
948
53
622
285
977
390
539
545
612
894
969
737
182
792
909
73
253
498
915
654
114
752
197
46
38
388
868
785
269
304
96
486
808
977
648
753
749
495
290
147
297
672
510
807
645
280
334
156
542
799
331
313
752
389
493
455
584
974
352
399
330
416
554
80
771
781
131
454
851
604
883
597
263
856
583
384
962
83
243
232
554
766
267
809
99
533
151
492
115
268
316
633
477
514
781
348
463
838
635
655
399
962
690
256
264
560
282
149
99
568
890
589
285
753
173
585
576
57
26
261
279
948
493
927
120
576
691
612
147
70
471
177
496
698
133
837
945
945
411
82
987
776
886
527
571
496
114
201
748
632
93
111
222
236
98
739
193
821
536
252
946
928
257
833
359
964
636
502
869
521
848
208
460
875
970
761
938
718
954
394
80
484
30
349
251
812
821
912
730
788
296
730
315
625
710
111
703
318
840
197
813
684
154
595
453
858
29
72
703
990
780
390
944
414
52
211
743
987
66
298
678
663
332
872
767
612
704
113
367
365
55
249
296
514
445
601
442
494
369
213
317
832
578
458
867
55
992
73
308
122
435
635
964
849
275
396
844
319
569
732
196
646
971
202
371
818
499
369
135
529
236
60
971
72
162
726
44
388
637
918
200
293
475
660
813
797
178
688
343
126
646
93
171
771
615
908
658
422
125
577
416
135
583
17
436
456
347
237
88
501
307
55
976
213
662
490
317
76
904
833
789
603
85
235
788
811
560
872
630
718
775
434
538
613
98
669
170
496
380
260
35
606
692
82
410
400
639
237
250
701
776
892
158
986
896
45
689
935
384
839
151
456
410
924
565
336
465
685
660
584
615
847
601
300
933
100
652
598
713
884
138
711
474
428
849
911
257
444
540
295
373
634
261
790
613
310
63
960
891
970
26
346
438
646
685
77
954
182
641
443
584
407
573
985
176
292
913
394
60
822
162
168
486
258
212
567
953
874
43
863
877
72
866
248
447
958
127
91
47
91
765
382
343
146
784
329
956
641
520
65
713
720
912
338
557
222
754
878
599
917
153
854
233
832
355
451
876
49
708
168
705
237
769
845
705
426
451
792
431
224
688
645
196
766
311
739
756
144
673
847
186
9
124
119
353
287
595
921
273
706
408
71
704
903
925
662
503
431
774
246
653
908
253
683
359
861
925
341
298
587
575
675
930
479
457
421
735
827
213
783
427
52
912
11
434
704
433
729
424
326
792
208
257
455
95
532
472
612
494
287
398
148
920
936
986
169
368
551
751
594
210
928
546
598
361
410
487
306
88
935
1
629
948
919
856
551
610
584
35
15
313
280
481
803
317
122
72
428
981
30
666
140
60
869
679
561
360
912
486
392
190
322
847
831
907
666
686
86
436
751
819
394
862
223
639
493
48
432
325
359
769
56
910
323
55
850
397
416
233
651
171
874
706
508
153
271
623
358
502
681
422
195
177
581
684
106
341
971
863
821
418
316
248
706
600
470
910
196
721
712
525
755
727
364
676
358
417
255
658
353
724
465
858
311
590
354
515
140
387
886
14
292
925
651
917
386
307
773
606
929
293
127
760
119
374
886
884
899
443
431
748
531
830
106
943
957
469
119
668
152
122
129
539
440
937
714
452
531
79
943
491
616
809
779
446
409
193
845
757
491
572
411
619
619
6
87
510
937
212
846
657
215
888
421
800
244
922
94
149
556
712
118
630
478
691
785
325
328
215
239
538
246
178
639
60
768
37
237
4
731
500
253
83
542
734
156
268
115
840
124
614
53
268
11
400
750
16
74
884
131
750
128
689
696
401
518
232
377
455
505
700
478
850
242
756
619
378
487
563
187
512
620
710
247
846
316
342
283
694
441
107
385
970
349
553
713
144
780
243
169
933
994
177
205
419
582
84
596
407
675
733
861
229
884
742
690
607
362
258
402
892
861
480
980
747
479
271
676
302
108
960
516
933
234
47
311
53
842
696
922
744
673
796
602
617
948
908
217
36
15
560
12
712
47
246
397
729
58
934
894
262
8
81
12
599
712
923
298
593
580
324
234
349
967
524
978
755
72
982
140
472
829
869
956
118
258
909
215
678
45
4
270
635
931
447
303
903
655
645
751
421
773
934
497
180
673
480
957
535
491
267
704
871
455
862
620
112
363
992
878
50
543
967
224
247
645
616
156
42
49
753
571
266
507
106
386
401
871
303
452
277
414
778
783
831
289
373
789
161
144
38
705
831
759
247
859
380
859
673
790
82
927
212
454
252
904
660
930
840
198
244
111
596
266
689
832
860
380
741
756
877
863
867
155
618
221
370
381
260
92
304
448
853
889
382
627
207
314
542
395
695
691
954
367
514
191
25
89
897
577
406
674
936
65
80
336
951
246
371
770
795
798
109
222
97
888
248
824
205
745
949
424
495
875
518
725
823
794
604
20
84
939
762
169
263
642
816
774
900
653
457
694
567
734
172
130
862
252
887
523
375
549
711
424
307
105
743
311
704
143
229
26
785
385
252
188
455
140
753
417
892
731
918
684
68
587
875
440
144
964
196
421
951
357
919
206
192
158
692
663
585
11
131
386
859
598
719
113
456
321
367
905
800
453
288
549
194
844
971
246
792
195
862
172
571
262
809
866
917
70
472
777
260
378
661
463
174
176
4
114
488
969
435
82
273
944
755
44
978
912
896
292
641
75
591
364
832
256
887
932
908
232
270
401
253
172
233
152
386
40
792
756
225
954
788
753
319
194
826
794
584
493
337
48
920
726
575
752
93
914
312
744
463
726
638
576
427
275
515
579
953
83
715
855
218
537
319
703
138
27
232
458
546
206
55
34
886
538
221
740
520
324
525
96
207
920
29
433
856
759
872
55
411
75
698
585
579
935
237
957
206
313
96
149
254
455
944
398
730
702
123
111
396
280
129
121
799
305
585
237
935
393
59
269
888
819
558
833
898
123
572
291
608
438
337
105
698
557
355
739
714
980
283
10
667
709
18
432
895
589
171
679
742
384
165
747
880
548
854
809
427
902
928
1
619
16
338
607
450
110
661
182
571
742
590
173
747
359
758
507
349
37
663
420
658
377
800
547
268
584
983
899
503
203
489
907
540
860
853
146
913
617
72
704
149
237
537
413
566
734
216
326
678
59
484
887
226
700
543
208
594
239
530
771
229
647
277
621
779
190
168
845
803
355
707
710
310
128
202
346
877
277
442
263
764
55
387
315
270
862
632
955
572
969
869
737
394
357
650
61
184
106
514
125
889
504
910
856
68
265
464
376
805
805
796
217
817
503
496
42
254
301
906
146
868
775
6
351
657
17
65
209
626
302
727
626
985
509
813
125
993
716
484
926
646
194
328
7
579
302
587
52
901
381
998
972
115
862
683
274
968
179
76
126
834
27
160
377
189
712
159
154
850
44
422
917
923
315
413
4
786
359
629
772
54
637
777
408
185
535
725
372
248
825
594
217
476
309
844
211
368
216
368
807
498
838
416
503
688
213
622
23
870
436
567
111
793
273
42
413
710
358
637
81
315
177
387
740
492
414
897
436
904
14
853
2
35
486
801
51
70
550
860
457
925
235
360
756
796
911
461
382
853
555
456
7
60
755
839
571
677
566
189
757
677
356
586
784
192
210
588
372
80
282
741
665
907
741
265
718
956
585
768
843
326
662
844
785
877
685
953
214
516
909
249
439
309
372
921
652
981
339
182
200
659
597
222
615
99
813
374
125
244
991
200
408
662
433
443
185
333
265
607
67
265
727
429
732
649
947
656
132
587
839
359
931
985
102
477
765
815
25
403
264
825
981
196
976
737
993
471
469
102
766
58
935
285
907
316
534
515
839
350
607
518
94
489
596
22
250
34
202
356
757
722
875
418
313
331
180
539
239
567
998
137
498
696
787
622
656
387
315
685
54
897
386
997
930
10
96
321
34
147
35
224
534
647
700
915
648
517
88
186
496
898
85
101
118
51
777
846
467
930
283
130
468
335
34
608
895
150
686
71
914
435
26
576
619
973
268
244
793
438
154
204
419
499
106
38
187
46
499
129
332
196
805
512
696
920
944
194
788
903
702
406
6
752
480
932
854
762
949
480
202
249
419
37
145
877
853
305
982
502
505
579
214
814
73
913
217
439
164
998
438
251
544
950
514
326
385
136
747
378
240
214
724
514
957
828
701
857
144
745
558
896
64
824
754
453
27
834
747
780
473
63
730
637
909
622
416
132
798
558
817
771
313
165
595
398
580
431
650
682
675
118
49
362
179
846
247
732
520
429
858
749
704
875
884
691
271
690
399
527
481
559
186
18
808
44
690
112
786
687
2
362
130
773
240
946
845
60
849
381
738
993
851
135
319
260
985
202
612
69
42
124
791
196
413
105
877
668
19
605
960
944
362
270
534
579
364
114
564
652
47
651
872
707
879
30
237
528
760
340
405
873
251
929
816
177
591
967
476
324
471
506
823
823
335
994
866
97
170
506
110
159
375
980
32
621
318
397
907
868
606
135
843
219
945
716
766
75
687
767
913
388
815
313
133
244
180
434
906
12
230
936
536
301
379
896
421
897
392
884
634
998
870
195
325
278
989
658
607
781
129
443
640
181
945
841
635
692
712
151
350
806
499
656
442
67
832
187
749
298
39
895
152
53
374
682
182
575
378
206
949
215
652
482
293
91
378
913
261
743
458
964
161
687
122
851
484
47
202
304
906
926
41
904
455
739
198
536
660
544
674
221
186
281
385
968
995
930
999
298
582
829
55
801
180
763
498
402
141
15
366
29
879
210
388
27
865
720
703
947
156
327
689
354
882
80
194
857
890
557
62
909
504
260
910
797
976
473
586
885
721
759
574
382
921
150
907
833
361
270
815
82
693
826
420
672
410
361
272
522
943
735
433
242
224
496
98
642
959
259
466
832
632
169
672
783
969
801
128
417
155
167
548
53
654
6
232
544
837
237
978
535
983
245
89
69
424
669
519
179
733
497
149
227
889
568
558
464
317
17
412
716
516
836
786
147
766
447
295
763
65
136
932
702
995
259
866
381
727
348
297
255
703
670
634
271
875
292
906
128
529
435
319
74
842
747
310
296
327
144
268
935
217
14
352
352
668
942
453
582
392
564
438
817
932
798
222
379
362
530
127
864
613
718
231
61
993
60
76
799
691
559
232
100
274
807
646
872
183
328
643
926
269
79
731
263
247
113
71
440
764
398
588
305
439
45
223
542
857
519
743
301
997
925
876
620
966
149
256
494
263
423
827
216
994
907
901
38
595
985
9
318
657
280
75
38
403
847
189
991
184
600
454
11
152
796
931
302
904
319
741
329
461
580
743
741
446
85
15
485
650
101
593
610
538
406
509
269
353
797
211
63
652
906
861
181
61
848
855
782
972
456
127
654
711
106
470
473
438
692
129
943
671
891
415
648
839
687
916
733
755
53
179
405
202
809
404
823
112
933
767
155
967
14
492
449
114
128
680
504
678
119
200
94
604
203
667
757
188
799
637
852
110
742
669
729
604
351
842
689
901
377
633
850
478
473
808
184
990
708
132
745
960
593
233
565
444
232
947
758
924
514
797
149
626
701
58
128
291
386
27
493
220
538
697
769
33
292
32
851
164
209
417
862
618
944
685
773
836
695
320
723
859
281
22
911
134
470
903
641
424
976
936
380
286
601
172
655
481
123
449
256
516
904
959
472
227
628
122
26
937
261
625
980
290
67
401
94
262
525
559
74
229
37
948
657
219
634
167
734
632
264
257
550
774
846
263
584
553
995
118
871
518
222
39
368
262
431
706
491
846
772
49
63
561
233
371
761
780
889
877
586
144
370
416
17
554
979
405
294
750
812
411
691
323
426
883
742
80
861
853
137
608
284
194
396
736
126
224
486
348
351
14
279
662
409
732
112
659
502
788
724
815
30
305
557
672
448
684
727
73
358
624
977
67
292
975
578
606
565
261
452
152
545
496
747
203
871
201
743
619
487
131
214
284
810
324
324
324
24
483
725
607
268
627
770
712
422
164
649
882
337
250
836
752
582
377
422
795
228
598
813
487
738
723
770
185
788
115
981
576
719
393
168
347
363
516
254
423
185
189
248
707
58
506
338
773
467
34
112
367
639
320
999
884
908
916
748
238
599
603
248
624
861
414
22
767
177
452
557
133
719
261
938
487
325
663
412
886
644
601
133
882
907
475
793
290
864
871
805
301
646
390
425
170
713
485
546
918
588
827
858
755
773
744
766
963
103
706
731
34
802
654
685
730
692
226
790
589
301
560
84
78
121
413
495
273
903
801
292
437
650
220
298
345
952
778
83
536
377
249
919
922
927
144
485
361
964
376
216
865
603
9
662
62
276
845
465
463
100
367
362
810
678
620
139
524
201
149
613
842
45
63
519
742
601
584
649
176
715
215
723
443
962
795
239
738
941
248
970
90
938
812
913
886
579
889
179
146
548
414
769
578
64
853
221
156
557
481
815
663
914
605
421
185
740
796
80
34
297
978
121
938
197
445
915
639
435
477
410
216
92
269
218
578
846
289
330
531
477
24
530
784
715
327
161
33
82
185
212
20
899
838
602
75
227
565
147
180
339
390
932
61
242
177
703
135
901
280
496
415
49
15
876
616
918
666
80
803
784
680
860
860
939
978
18
962
626
23
463
22
473
406
110
748
207
234
107
582
737
508
682
270
262
55
350
234
674
257
378
230
401
39
145
7
773
55
499
810
164
30
288
590
447
538
989
752
733
295
773
110
1
203
392
458
963
978
996
854
445
171
358
259
620
805
21
662
689
628
540
187
966
215
377
984
877
751
954
876
96
345
69
849
876
171
142
466
658
538
781
216
209
261
715
594
865
310
474
464
929
818
109
870
932
939
820
994
220
930
641
421
338
121
204
189
729
72
185
390
562
341
232
223
923
746
65
486
168
913
958
450
958
210
988
957
415
850
296
360
856
94
96
601
759
983
302
360
4
951
483
669
901
29
306
832
227
59
739
781
280
507
92
246
982
3
375
223
154
693
578
288
425
860
191
218
653
37
711
252
366
15
932
62
466
718
528
186
401
933
813
215
38
256
597
526
727
417
733
721
442
374
286
207
403
162
279
575
300
509
577
493
100
660
837
883
411
678
369
6
579
745
397
951
974
600
496
705
449
344
887
644
559
264
897
789
942
216
111
648
205
363
657
775
755
750
632
481
310
273
872
229
201
104
172
382
186
498
550
894
212
254
375
429
444
763
995
206
948
736
994
504
584
177
390
427
39
147
856
970
452
140
538
890
722
692
174
169
447
925
953
96
405
343
44
115
627
106
776
644
417
396
201
973
108
262
212
240
966
486
376
213
400
628
451
268
574
358
830
538
572
622
274
661
515
945
901
947
403
425
806
68
17
553
637
561
891
36
122
546
249
209
863
53
786
479
658
266
369
456
247
819
31
89
649
982
144
176
208
235
257
57
25
233
919
207
743
624
725
645
503
539
947
835
511
793
368
765
805
56
359
436
744
247
814
838
225
447
282
842
835
458
543
106
1
945
884
218
664
786
575
837
189
851
363
495
13
929
330
73
7
959
147
685
642
2
544
881
849
641
828
596
857
623
411
250
433
577
593
773
655
605
316
80
778
379
184
711
788
129
832
937
987
589
640
620
299
502
845
487
15
792
359
331
401
870
983
800
909
830
232
103
747
496
721
940
205
359
880
416
447
468
813
525
451
237
258
25
393
949
949
173
52
474
151
843
746
327
780
13
911
745
324
444
653
897
702
697
556
692
351
243
524
908
45
572
718
510
396
645
463
122
570
951
569
558
449
732
674
222
399
649
67
968
809
259
933
689
797
221
136
517
820
44
447
26
431
565
604
220
128
25
693
423
8
828
147
408
988
551
64
230
437
781
660
260
383
699
403
865
914
92
785
39
976
677
758
3
560
178
544
519
165
602
946
167
521
553
280
338
765
214
742
91
673
856
377
260
78
321
796
451
315
975
452
601
377
26
594
846
505
956
981
288
67
45
55
128
937
610
570
305
57
649
583
455
491
1
320
502
94
53
675
670
856
238
1
15
87
285
404
878
879
251
989
776
695
845
353
336
516
470
166
865
693
697
855
997
557
587
257
671
883
412
595
364
482
827
290
128
579
485
925
466
133
404
156
484
925
158
466
114
68
84
460
367
572
271
821
771
746
35
128
121
482
965
508
665
958
387
480
658
875
270
408
999
113
182
714
308
603
896
342
378
312
634
26
411
439
757
587
812
321
878
802
634
96
51
432
909
863
634
607
259
945
929
88
126
854
461
918
922
750
63
543
181
497
527
816
541
900
664
198
1000
357
70
77
435
931
741
357
811
829
978
396
854
349
670
909
233
639
161
675
417
28
353
779
500
261
642
597
200
695
533
991
161
417
543
940
456
278
60
408
876
31
394
334
206
137
155
497
174
296
432
426
191
440
986
692
290
748
830
651
928
218
89
188
426
484
22
68
844
844
445
254
76
922
543
980
743
990
270
386
258
753
85
275
84
293
799
896
768
971
659
709
812
287
638
752
834
131
78
586
728
337
469
774
765
227
149
538
637
618
158
490
473
837
281
367
767
403
588
260
965
425
411
150
188
167
731
479
194
951
444
69
230
296
800
963
848
180
615
672
125
408
500
826
971
328
462
522
378
555
700
446
516
955
328
441
589
837
58
350
188
237
568
799
728
179
422
96
199
14
897
572
86
312
37
487
803
259
539
111
412
211
871
694
704
867
112
827
946
512
605
127
725
903
430
269
367
690
97
138
334
700
629
277
867
1
351
869
892
471
322
187
857
465
319
859
754
295
671
278
39
415
61
207
555
662
594
939
826
368
84
404
324
936
492
236
356
255
896
141
273
408
208
867
584
257
84
697
378
810
115
679
198
795
463
714
116
456
523
238
327
416
102
474
971
387
836
128
309
609
273
972
569
178
117
958
982
824
619
400
570
292
2
271
248
199
106
853
649
130
138
823
896
783
548
351
219
171
554
931
925
252
759
500
725
846
670
840
846
412
631
383
646
37
840
344
717
993
695
504
549
361
623
81
883
502
961
871
831
606
202
234
670
168
86
561
988
991
632
596
516
235
170
323
540
126
828
184
280
130
746
74
972
831
490
882
716
269
740
369
302
190
374
813
354
537
468
159
139
507
589
389
265
681
974
437
352
38
857
257
461
173
243
596
695
657
887
591
921
277
106
585
29
846
319
441
455
372
883
191
975
654
889
95
934
768
55
28
133
511
756
660
587
564
536
74
218
66
155
315
378
300
324
828
733
411
819
957
694
425
595
419
40
358
821
180
824
857
543
265
939
663
788
805
979
148
501
86
124
325
642
412
840
24
161
385
125
371
308
586
861
324
940
697
606
768
55
833
829
607
776
219
117
351
401
370
414
937
937
629
682
912
759
246
692
631
611
185
826
856
243
504
889
973
346
441
905
52
320
344
827
182
640
155
853
785
218
485
814
137
225
220
707
948
289
190
963
632
851
709
535
876
729
655
181
194
618
355
611
451
345
733
317
712
160
59
964
395
291
176
206
413
226
242
664
872
951
882
593
953
465
149
450
809
388
822
184
629
465
404
569
583
40
632
306
998
344
432
946
946
595
59
914
416
437
548
26
366
207
731
941
262
904
822
933
145
483
939
214
877
275
37
780
990
932
413
445
472
267
323
260
898
775
281
14
545
397
302
879
534
318
669
550
556
206
831
436
471
291
663
533
896
146
662
630
944
848
572
423
406
420
614
886
23
144
711
34
977
333
84
778
330
661
158
159
994
960
972
661
710
721
189
670
646
165
366
372
498
851
352
596
365
294
560
108
271
927
387
901
929
73
237
857
229
282
446
966
978
521
902
987
613
193
318
1
984
934
895
857
785
425
628
881
922
225
570
562
879
764
203
145
184
189
463
181
161
710
67
143
488
478
544
133
499
751
773
573
811
350
873
518
573
907
36
893
610
483
247
533
741
452
855
347
860
408
675
355
684
13
602
593
664
366
752
81
240
444
771
177
466
632
274
596
66
174
352
330
134
612
672
492
19
944
31
839
430
263
92
382
408
111
680
967
639
639
219
242
502
941
833
673
373
603
153
628
953
578
121
613
826
25
942
894
8
596
856
657
992
996
594
763
678
332
234
928
622
876
641
877
238
408
859
571
936
211
610
174
714
127
540
770
356
838
955
223
250
662
581
738
791
710
312
861
497
225
6
659
233
255
127
765
421
628
439
848
683
316
21
800
169
925
585
582
687
969
446
284
898
46
529
369
989
775
484
505
703
617
302
629
82
267
861
122
38
372
426
29
665
712
511
308
280
850
393
960
286
471
273
746
332
294
286
893
685
480
549
841
396
924
996
605
605
676
8
771
327
22
749
511
97
407
672
222
206
496
890
592
580
128
955
939
22
843
141
654
186
935
500
449
614
710
786
914
147
745
886
559
267
446
482
135
257
154
543
511
597
350
670
823
664
293
454
896
640
520
783
200
526
228
476
690
264
498
697
957
294
693
364
28
318
116
161
16
630
223
830
581
156
232
130
799
259
982
217
647
430
285
238
730
241
823
618
316
291
827
839
971
454
414
534
331
408
480
353
616
304
439
382
497
433
980
844
852
922
210
456
762
816
231
66
799
382
219
164
328
112
561
410
40
696
445
616
405
175
587
471
68
615
450
911
469
878
377
196
136
502
587
689
147
270
831
802
263
793
850
795
80
290
455
950
363
826
178
121
387
453
959
845
752
43
262
970
586
147
347
258
518
847
156
524
88
426
434
647
483
628
237
241
637
459
956
846
758
727
328
262
284
16
708
33
122
359
15
174
790
649
379
924
714
767
483
695
543
442
12
412
774
121
397
121
380
503
269
91
435
934
649
615
891
563
916
395
780
15
13
674
114
350
218
284
675
235
1000
348
687
618
158
708
104
608
488
48
862
983
662
283
999
474
899
32
962
957
249
907
798
798
998
882
161
824
798
259
229
851
595
578
706
256
334
393
47
796
720
976
920
813
29
883
720
946
56
797
625
719
836
229
300
717
684
442
837
555
425
476
966
546
452
214
841
777
363
259
980
285
506
795
22
186
700
720
41
853
783
45
57
762
386
23
279
155
531
456
328
490
214
405
373
542
144
858
681
84
185
978
534
339
861
188
883
751
495
744
344
189
146
414
397
384
564
519
681
260
777
956
337
839
772
729
229
561
970
168
708
180
843
294
298
903
62
718
313
41
40
35
960
267
577
963
919
504
609
333
723
593
713
630
562
126
133
984
234
278
551
393
92
25
741
464
762
878
548
188
330
150
324
53
435
804
94
333
448
155
209
537
471
25
211
792
428
495
942
432
904
37
665
163
731
656
133
949
525
638
70
232
514
656
508
143
37
257
762
152
30
220
622
970
666
877
507
608
71
256
891
194
706
802
344
525
551
550
874
363
738
802
103
167
611
803
985
297
525
401
410
704
854
422
50
813
798
321
224
572
566
690
402
629
442
368
208
225
44
237
416
656
811
256
490
92
396
925
689
149
159
164
600
833
416
565
257
401
431
23
653
224
408
103
562
962
893
819
63
248
64
167
56
564
357
421
352
233
771
121
657
236
962
714
841
110
940
21
446
293
779
39
282
127
248
122
308
169
704
235
736
601
874
820
431
299
397
774
238
546
127
186
836
503
233
784
52
240
49
472
376
587
530
961
572
91
870
252
863
101
520
652
169
354
435
75
266
488
806
619
528
563
951
784
143
55
310
261
281
727
679
895
738
490
925
310
987
645
425
674
416
867
374
266
759
921
953
819
374
371
18
108
90
493
679
879
776
163
585
19
672
779
254
806
775
134
77
185
271
763
911
300
63
466
330
898
948
598
672
818
897
240
972
510
177
565
802
404
772
520
761
999
677
477
101
746
157
644
551
158
980
835
905
73
984
662
364
693
64
349
919
823
809
132
315
734
588
636
229
199
816
744
371
542
524
180
119
21
97
456
186
416
253
891
545
517
886
115
502
85
415
846
397
942
661
772
849
98
65
31
886
176
304
136
536
977
932
188
699
692
730
880
175
160
848
77
761
543
679
764
215
2
625
746
727
250
575
763
235
346
949
645
575
755
648
679
981
446
80
656
895
815
731
925
385
251
417
376
755
498
418
456
48
327
228
237
248
654
496
34
941
928
84
293
82
535
839
300
296
996
816
749
837
927
189
360
933
102
33
582
735
465
484
823
512
600
506
819
52
8
686
524
442
508
968
305
533
224
257
371
448
904
131
58
408
788
725
33
16
827
971
527
895
821
17
413
222
982
585
340
288
475
472
132
672
747
160
380
997
815
725
464
545
265
868
262
154
371
870
441
978
633
735
548
646
31
604
73
283
460
769
283
697
146
244
906
721
313
927
678
348
11
826
355
848
823
693
33
461
98
685
542
645
470
334
217
99
705
212
575
928
306
136
303
411
898
699
485
789
158
156
175
367
903
457
282
36
55
306
205
969
331
629
831
891
921
817
313
795
899
372
498
408
785
378
13
997
515
342
793
383
36
498
258
101
899
643
448
715
503
910
178
244
114
687
647
468
355
44
42
688
664
616
356
125
111
889
18
747
44
229
980
771
275
781
572
467
896
593
775
182
358
928
584
692
157
740
747
82
313
718
516
374
852
157
981
26
660
109
204
227
419
969
616
676
796
653
124
111
711
9
911
440
291
965
197
736
78
183
124
715
163
663
472
575
164
828
151
234
422
113
272
68
317
967
130
233
384
495
628
513
756
650
482
456
539
26
92
227
894
805
70
203
988
352
249
868
454
266
467
940
712
452
524
11
277
922
508
186
208
568
103
344
965
139
599
680
237
981
58
116
757
903
496
59
735
685
11
670
280
343
490
541
130
246
903
197
62
574
228
335
592
417
724
73
969
20
615
801
998
283
260
376
945
660
499
550
612
17
217
465
704
855
113
24
763
522
273
720
274
703
461
245
38
528
918
822
527
73
125
764
752
932
149
166
100
764
181
21
730
439
352
288
349
454
196
607
651
805
961
411
220
375
504
185
490
227
718
472
198
869
222
34
822
689
621
252
721
281
712
470
1000
302
892
459
694
834
446
627
487
960
537
888
22
436
482
339
863
837
353
23
271
582
7
102
264
546
433
677
896
777
653
374
278
1000
534
557
632
162
543
675
581
284
858
849
985
264
283
247
807
78
104
196
942
47
338
256
443
438
860
678
300
690
518
766
765
994
668
659
265
769
524
984
66
844
346
613
211
763
753
512
727
721
400
292
735
71
835
586
873
212
607
857
427
953
596
555
643
92
98
818
964
79
409
71
355
69
529
917
460
612
138
747
62
496
166
299
189
992
140
254
293
841
971
598
84
863
15
106
980
979
20
795
663
796
84
618
849
591
827
961
270
758
779
774
794
237
423
246
775
489
416
1000
7
890
254
737
127
207
62
64
871
994
242
40
415
337
432
615
897
337
586
697
314
170
49
79
228
292
135
811
77
639
107
909
462
230
418
481
453
631
747
428
832
157
660
923
194
519
707
746
3
868
366
379
22
829
552
507
6
175
310
178
220
232
939
424
82
9
4
576
238
266
624
877
451
449
979
218
944
492
169
27
284
969
475
351
437
980
559
213
383
466
346
143
545
324
177
604
352
863
285
728
426
594
858
345
278
340
691
831
884
924
965
690
176
493
759
95
337
627
705
867
741
968
632
469
536
52
127
643
152
382
686
269
466
577
538
847
973
567
293
785
57
434
254
329
397
449
633
525
595
278
928
99
366
110
394
494
995
690
897
627
336
830
437
79
308
22
251
553
701
162
765
447
132
278
588
278
148
345
371
529
794
948
665
199
465
599
795
987
472
961
395
551
570
107
488
752
636
209
893
114
778
732
293
14
459
287
545
257
578
777
641
762
91
399
292
72
437
322
287
255
941
595
587
579
412
964
672
18
358
760
742
237
567
986
240
242
366
42
609
253
487
270
290
694
332
644
816
434
394
503
202
499
724
140
4
559
645
474
112
408
349
762
770
509
622
512
373
429
715
321
293
663
287
370
384
901
416
688
819
264
930
103
608
419
671
19
491
781
860
741
883
179
435
139
217
476
82
808
334
642
702
772
528
678
209
984
487
609
909
528
648
502
145
476
404
73
587
842
219
997
293
873
926
475
638
274
401
962
323
559
365
206
906
856
287
923
761
972
206
488
908
400
861
3
910
271
668
983
904
965
935
677
899
191
208
753
661
881
790
650
847
164
282
428
596
27
467
344
434
985
968
697
158
277
916
734
395
583
258
489
613
300
467
527
697
700
129
449
628
126
319
905
428
519
698
584
280
168
18
344
663
559
65
179
410
613
116
225
831
362
661
358
440
372
482
246
342
801
190
896
74
2
955
848
513
40
494
146
507
276
323
174
36
453
933
201
41
343
800
271
537
60
87
641
268
634
488
544
965
260
898
495
185
947
519
682
860
941
550
268
916
395
830
567
747
244
692
150
919
129
783
878
188
539
823
774
821
18
91
401
252
422
932
132
284
721
748
270
440
769
709
513
544
804
928
631
309
161
931
580
511
856
54
469
335
222
830
943
585
754
497
584
781
677
551
848
577
522
615
955
579
176
10
836
373
446
81
979
507
184
744
500
253
382
714
327
178
498
588
684
988
424
271
403
601
178
256
760
133
365
897
638
354
948
153
820
132
618
203
123
614
377
17
923
160
532
170
304
582
372
201
741
825
273
338
730
67
801
700
224
131
699
992
105
238
288
229
147
351
903
294
111
838
487
962
658
697
346
576
762
354
373
741
174
935
766
239
260
922
367
853
262
346
279
984
599
998
338
692
343
661
354
315
412
41
776
907
353
883
577
527
782
756
703
848
713
128
403
637
20
633
107
408
223
887
293
964
646
837
961
581
745
346
929
320
54
690
118
328
790
666
438
2
605
282
643
579
366
364
775
72
138
970
374
446
708
191
727
596
133
793
770
994
746
145
179
833
15
65
340
138
430
528
596
554
341
673
206
505
277
174
872
964
850
840
612
345
736
255
993
934
627
381
404
814
265
305
177
485
857
723
806
220
206
358
426
752
912
195
40
62
827
344
647
869
766
373
571
942
163
133
798
487
957
493
55
679
489
879
706
885
615
199
267
217
564
558
499
879
259
149
579
149
998
836
822
985
381
251
773
945
352
670
269
542
36
538
253
211
843
283
693
756
937
968
947
567
763
413
336
867
786
653
451
976
973
968
950
905
841
294
227
591
91
493
320
728
936
842
887
481
232
94
891
312
466
652
881
787
413
703
404
493
64
652
127
160
996
838
721
622
950
290
396
561
764
250
279
832
212
290
487
743
517
101
820
890
485
478
513
9
275
566
358
823
777
196
828
81
476
4
527
785
437
81
411
139
766
101
757
869
482
226
751
399
245
612
945
829
798
986
531
772
297
616
546
901
931
957
675
472
348
409
265
203
468
896
541
623
175
454
772
398
247
595
324
227
636
1000
112
596
872
988
959
50
917
304
750
693
292
2
94
274
672
558
404
602
408
931
904
987
671
955
120
90
968
338
827
856
810
508
237
174
224
772
501
544
599
534
184
279
98
809
469
732
497
944
287
626
834
183
433
792
704
732
998
546
393
39
133
483
269
298
234
685
57
568
128
216
632
525
745
296
999
543
46
743
963
726
697
95
797
537
97
347
913
876
874
363
129
823
899
855
630
757
203
272
148
246
919
73
172
928
506
631
267
572
86
457
659
655
662
509
336
93
362
119
794
188
612
451
469
496
340
487
606
44
867
231
988
282
155
208
537
190
462
361
236
241
266
123
229
251
517
803
240
752
906
397
620
163
841
603
468
944
261
137
235
898
252
387
167
963
658
83
749
166
533
947
10
889
337
189
227
230
213
351
60
51
591
198
613
232
580
309
268
779
332
531
365
681
622
727
14
844
379
65
330
984
805
676
412
123
23
651
228
179
877
221
373
242
672
437
357
251
109
826
669
232
621
334
386
688
668
277
483
458
244
212
345
162
31
354
180
336
176
651
179
487
619
683
295
627
267
326
469
239
88
495
960
302
366
376
204
694
938
237
290
272
242
312
696
969
374
249
422
479
181
325
8
517
596
959
240
141
70
47
522
368
935
307
993
147
9
125
484
757
523
355
303
898
765
166
664
39
410
280
311
82
606
903
482
35
319
230
940
185
319
655
208
203
444
722
504
734
471
410
120
271
992
559
178
547
202
124
710
238
370
463
43
520
107
58
309
887
211
894
698
710
12
243
761
190
658
735
692
730
682
396
976
265
577
839
249
740
774
873
508
779
638
603
28
541
582
502
501
925
420
64
909
547
372
352
625
395
989
194
46
653
359
805
860
958
606
374
663
266
634
474
249
579
499
233
348
30
574
836
973
185
876
329
821
993
561
633
370
495
595
368
414
261
34
394
760
559
189
914
767
388
197
645
179
884
139
810
452
32
923
650
405
310
601
758
541
642
648
754
868
16
998
763
334
205
330
672
324
317
151
408
750
303
740
299
395
124
885
158
110
23
670
872
345
232
272
151
309
470
827
569
702
824
958
191
606
917
495
882
591
827
220
886
525
848
238
330
889
31
707
156
608
431
211
361
570
96
24
548
1
167
876
523
845
860
593
85
119
760
175
218
974
579
456
586
874
461
455
648
841
6
966
684
205
403
700
764
685
437
515
983
895
718
881
313
572
133
752
70
923
424
445
299
489
759
941
337
828
384
285
467
164
728
407
815
828
831
704
609
989
607
234
486
687
240
195
803
632
961
640
778
561
568
87
899
238
303
710
187
309
129
347
840
298
22
410
255
24
617
100
653
571
450
59
343
749
62
658
182
666
454
686
914
635
718
116
912
142
196
938
284
17
176
820
447
252
970
484
40
160
198
238
485
676
232
70
596
643
59
61
377
876
258
666
577
638
413
563
582
920
29
373
3
569
940
535
626
901
279
15
472
875
312
335
373
305
816
603
800
884
236
863
713
944
544
77
823
29
599
498
974
319
794
20
331
882
973
319
665
528
893
267
319
775
23
136
360
75
89
568
29
955
559
156
824
202
246
756
488
552
274
313
698
600
940
79
493
818
426
583
336
616
858
620
248
390
990
810
615
322
636
998
128
565
38
880
815
50
550
757
250
820
385
248
882
267
675
124
831
63
754
163
680
899
435
77
528
369
985
111
32
462
673
870
223
166
63
291
672
623
633
466
950
132
975
168
398
47
513
544
939
273
675
414
43
646
468
5
965
932
667
775
78
593
219
153
468
712
983
674
925
714
657
979
156
555
574
593
331
124
83
222
37
457
379
545
366
213
991
134
94
572
601
177
890
354
522
129
57
677
943
313
557
940
999
723
985
244
848
978
708
620
176
472
606
616
986
214
716
834
101
804
627
2
528
231
626
32
740
942
475
310
964
702
166
162
750
325
165
20
494
239
469
324
46
224
262
628
251
370
75
665
65
461
142
358
886
549
64
915
865
415
7
154
276
13
378
154
448
737
358
195
384
530
690
677
965
459
892
392
526
339
376
76
690
406
24
644
581
837
447
904
898
107
485
809
905
814
505
521
69
608
722
646
963
275
58
1
25
891
31
209
966
168
787
200
932
791
659
442
8
555
587
364
282
621
302
939
499
31
456
869
267
905
732
140
892
444
593
981
184
903
492
424
986
218
252
721
764
865
879
851
318
815
207
232
570
168
662
539
418
165
902
224
863
784
247
913
945
82
625
397
576
734
244
311
973
998
271
923
289
473
648
695
944
539
546
375
359
372
84
448
63
759
685
699
582
715
825
489
155
86
14
105
54
908
546
212
239
264
940
981
105
803
11
971
366
858
204
197
465
330
159
109
461
115
476
417
48
853
294
760
206
236
623
269
1
925
324
925
232
353
236
504
917
381
281
547
137
768
242
492
347
926
557
584
95
256
692
674
15
657
565
311
83
471
48
841
374
190
801
343
993
778
555
334
404
320
487
116
148
34
530
553
787
385
275
816
991
142
653
365
864
768
705
991
966
417
584
293
11
202
380
336
865
67
494
583
332
816
61
392
153
340
346
527
815
86
150
141
49
143
994
647
337
124
249
743
375
169
452
601
178
984
767
897
450
854
892
933
918
896
783
564
536
695
223
25
886
620
608
52
624
743
328
861
530
340
769
677
565
313
274
472
375
774
359
522
817
221
111
178
444
414
973
995
334
87
52
974
306
100
671
209
364
518
152
700
128
323
694
395
172
213
795
830
385
951
869
852
960
287
577
14
123
300
934
170
506
382
424
724
913
724
213
707
288
342
16
628
900
148
373
567
109
529
855
543
580
229
207
562
508
50
564
89
212
55
643
900
457
482
236
407
997
576
462
583
121
860
927
549
432
178
398
755
711
4
617
407
466
82
608
493
680
479
230
295
376
497
695
769
801
728
534
544
483
695
758
581
879
197
14
728
120
438
166
491
131
489
35
379
489
438
18
45
495
850
901
309
302
764
494
834
391
549
614
895
352
378
556
166
699
931
438
954
410
237
697
598
986
219
584
54
88
607
715
813
229
344
613
390
565
552
697
580
580
371
370
574
323
745
681
784
923
305
553
966
284
37
706
769
249
347
228
401
993
466
197
474
122
882
891
423
741
621
903
115
750
765
893
399
778
541
834
378
431
690
317
118
3
579
915
389
400
715
647
740
780
898
307
925
341
218
793
211
770
536
599
620
76
854
319
503
936
205
345
147
224
308
955
300
92
252
624
614
818
890
709
980
670
471
613
672
181
279
187
21
575
667
353
55
552
966
931
187
284
171
181
561
258
191
867
103
583
719
527
692
426
436
194
91
584
379
43
465
528
759
295
376
919
435
251
103
257
535
500
28
250
434
196
624
526
402
792
243
501
784
778
542
590
446
770
845
441
618
757
189
564
954
476
101
525
809
596
372
876
258
893
235
134
355
641
385
391
497
216
227
609
518
312
576
259
320
211
791
713
429
283
998
729
858
260
615
438
54
844
849
474
493
914
256
281
723
916
702
169
241
37
273
389
628
408
776
366
791
876
489
225
977
895
708
925
503
639
476
642
727
803
592
513
918
407
633
508
65
575
255
961
578
474
477
287
83
509
19
471
205
433
992
207
290
241
428
974
546
599
174
917
924
70
689
125
431
603
113
783
204
583
807
740
842
227
235
203
982
290
651
658
50
825
576
596
439
227
452
329
114
908
178
964
778
725
454
630
303
719
996
152
68
817
717
679
225
890
911
225
678
975
315
675
733
504
721
589
975
143
397
31
895
152
225
759
207
276
875
307
585
807
750
910
752
825
706
736
494
613
752
622
151
900
24
339
610
898
345
442
613
45
590
916
474
20
869
174
908
846
320
418
756
852
863
38
826
829
865
490
952
8
65
85
628
339
485
173
261
135
284
522
168
383
701
71
930
841
270
838
607
622
481
474
631
119
951
868
895
978
920
218
662
319
629
210
457
562
676
306
23
19
20
614
738
884
640
549
671
372
243
252
552
541
580
756
512
757
111
20
409
857
745
232
904
823
364
245
228
160
674
616
763
253
670
465
138
678
687
320
531
830
547
156
267
237
814
90
590
641
535
573
720
239
124
463
896
499
256
73
144
609
722
128
911
911
211
590
586
682
883
480
105
181
433
137
543
231
58
862
602
476
356
491
395
90
763
290
760
936
520
454
645
85
565
659
737
165
964
326
639
226
665
713
343
677
437
500
686
374
815
291
733
142
765
306
775
826
555
627
735
493
21
514
281
536
16
711
877
253
326
129
372
936
759
995
390
639
421
378
18
541
416
950
765
294
360
38
782
814
91
253
645
712
944
485
829
999
784
620
115
709
748
126
820
862
312
556
678
495
870
97
618
568
471
536
489
211
756
373
981
131
422
397
614
980
712
691
671
162
554
948
406
833
972
922
657
858
283
81
265
67
437
792
325
453
566
889
348
895
440
95
889
567
74
569
30
438
152
794
414
187
303
132
161
414
507
647
131
213
79
178
426
105
733
270
980
790
217
265
351
418
877
757
535
880
308
647
767
141
922
273
759
778
885
377
772
707
365
258
254
530
445
75
495
74
374
123
928
467
69
856
216
522
869
608
268
300
634
205
643
473
169
175
629
491
849
803
388
654
40
93
227
856
597
588
956
192
273
94
760
606
345
558
782
467
160
774
817
286
576
99
141
806
459
96
534
310
516
839
948
356
737
670
136
61
617
322
781
712
186
692
313
755
547
995
657
128
290
681
603
529
680
298
373
411
937
420
202
460
308
870
456
803
859
744
877
471
83
133
26
463
505
55
919
331
407
786
122
350
706
734
296
206
779
972
295
619
750
816
440
473
317
132
510
841
735
600
344
744
962
834
666
632
301
62
898
313
87
70
288
537
114
240
625
490
508
816
176
234
718
969
266
511
135
856
80
397
603
614
866
2
746
153
690
802
619
702
305
185
627
272
493
509
90
592
437
298
63
643
310
191
248
573
276
927
928
668
540
956
838
48
888
211
839
942
439
240
21
686
932
126
647
125
962
597
932
687
9
301
216
211
983
469
507
570
267
86
757
227
940
282
439
107
908
811
196
635
200
429
383
308
549
453
299
943
705
989
770
609
606
177
575
305
691
252
838
640
109
432
163
129
539
391
755
235
658
592
208
956
43
857
935
566
408
316
463
137
673
337
919
553
288
114
101
75
604
342
431
936
869
805
980
45
581
776
470
672
545
831
844
874
916
52
556
522
982
637
200
990
163
595
489
3
976
570
867
617
281
816
242
81
177
8
421
124
327
882
834
253
328
666
36
818
982
868
319
914
967
303
453
675
466
125
240
158
755
272
73
802
637
940
160
399
858
624
396
630
327
826
141
460
58
728
316
126
211
25
285
26
530
612
995
524
775
45
686
610
437
475
306
365
159
329
427
410
794
85
89
845
953
372
468
724
262
22
706
761
224
886
547
799
803
961
629
553
337
823
457
268
370
465
56
235
372
359
310
567
53
990
787
211
179
158
647
979
373
55
854
264
378
505
520
195
632
789
641
229
855
132
899
537
496
315
476
118
552
829
12
245
258
669
949
724
601
165
503
460
422
215
422
964
111
903
493
812
572
771
496
490
144
943
935
746
666
888
397
331
696
869
851
980
209
1
535
584
727
441
334
755
965
405
724
436
533
609
415
749
136
261
794
20
31
876
171
821
190
94
588
883
737
103
671
962
757
486
582
86
494
80
641
111
273
918
613
209
264
447
942
718
293
981
464
764
512
801
249
215
657
394
271
810
5
62
516
769
925
557
26
769
54
437
112
981
764
572
621
721
526
569
734
411
212
967
217
702
152
683
459
82
986
555
883
760
950
842
543
358
277
149
779
809
801
612
849
828
689
84
343
534
486
741
993
111
261
760
249
867
740
681
589
708
743
655
89
819
103
16
200
307
547
519
55
667
644
162
856
178
65
705
78
785
845
885
262
561
255
847
185
620
193
498
37
183
692
336
42
601
293
796
635
300
505
309
943
980
545
84
765
918
861
97
714
896
676
857
465
74
950
355
284
166
705
980
166
330
615
313
900
579
114
445
373
870
80
866
235
712
286
37
818
852
431
464
869
534
520
489
205
899
792
994
889
324
159
963
907
882
361
124
587
666
638
934
230
385
735
810
498
547
508
809
101
498
200
933
275
818
725
872
304
834
916
248
125
552
770
374
620
909
164
139
803
50
384
858
484
291
87
850
401
533
980
49
25
146
599
179
417
777
35
894
601
92
390
817
849
215
997
576
199
493
198
813
292
276
533
595
294
596
779
851
292
980
137
237
54
153
247
311
424
55
432
25
992
414
711
310
852
104
691
970
426
656
386
190
350
581
391
716
366
616
602
153
19
605
847
907
692
500
389
1000
201
876
227
354
726
436
557
190
311
210
499
842
582
537
464
661
589
474
110
649
879
958
869
136
9
927
451
121
709
591
577
855
821
244
403
874
949
298
781
960
482
740
520
461
298
819
286
965
951
571
649
587
645
763
32
40
589
911
31
194
626
306
607
60
160
406
200
19
496
512
657
614
660
394
206
432
667
404
387
445
970
677
991
651
534
193
563
33
567
867
946
666
446
302
704
247
788
560
961
451
940
77
379
320
371
876
515
287
597
341
788
557
284
120
613
301
142
174
66
522
53
592
607
528
633
564
955
629
102
810
223
92
878
841
807
370
826
676
318
340
418
4
63
619
398
334
194
997
707
379
656
730
533
768
504
691
347
210
993
382
717
377
53
418
484
114
465
369
621
80
45
785
738
516
640
818
697
691
589
110
283
473
577
506
200
606
488
715
923
539
933
269
106
54
643
985
294
539
788
677
686
447
598
39
552
427
367
465
710
584
38
83
154
601
79
394
523
744
296
779
602
334
558
526
480
919
151
224
258
196
618
104
487
728
495
349
595
642
318
504
619
762
637
841
506
126
534
953
75
387
330
907
516
415
749
989
934
287
789
473
27
976
953
849
474
236
280
635
950
596
854
258
26
909
51
455
344
616
812
322
609
710
688
440
915
439
174
474
829
921
166
264
503
189
940
693
783
666
173
588
906
682
935
442
962
483
480
52
662
90
904
37
383
498
438
759
651
954
222
407
432
491
878
856
629
432
128
446
185
366
974
25
62
927
672
413
153
793
875
974
864
500
788
100
730
41
151
261
909
698
184
704
806
280
348
27
434
699
961
632
287
858
216
478
684
918
146
679
529
334
406
192
427
476
559
296
894
285
675
581
188
153
691
900
941
143
919
107
325
750
524
437
983
608
572
53
312
982
461
649
991
374
174
964
828
311
795
760
93
223
166
67
534
344
399
532
149
716
193
263
638
722
545
900
152
47
500
521
617
608
56
642
421
781
180
752
705
201
184
794
853
540
364
501
19
895
920
764
698
871
624
37
422
995
637
353
608
841
155
669
505
128
264
139
943
109
538
375
282
739
390
935
580
513
126
75
473
327
10
271
700
427
354
131
490
306
800
117
304
411
538
900
478
640
122
291
441
929
945
426
35
647
182
272
384
152
198
615
469
612
4
368
247
106
310
445
712
112
161
443
778
705
899
79
235
190
431
671
316
418
391
933
610
770
799
15
157
597
249
51
549
972
495
387
804
743
541
360
554
205
980
701
855
219
394
634
532
191
65
280
503
183
131
265
997
314
579
310
895
764
144
145
709
935
275
311
842
741
809
276
879
577
889
830
599
262
983
906
287
109
529
802
731
352
896
301
941
335
826
306
278
240
478
464
129
633
518
653
726
783
431
400
988
534
395
22
509
485
587
741
939
382
771
109
36
900
361
833
619
479
933
477
488
430
350
600
155
356
212
581
855
788
370
778
910
59
621
670
971
646
490
346
49
600
242
15
527
241
861
233
553
971
758
183
292
950
393
647
531
352
844
307
48
116
575
585
953
427
312
559
962
629
994
384
163
933
202
281
393
49
357
363
783
853
239
491
361
273
52
924
879
880
339
707
182
32
570
659
493
70
72
306
994
722
320
322
913
806
282
873
170
354
649
733
283
474
274
245
848
628
112
948
432
511
239
208
79
409
299
286
20
692
868
56
318
129
762
34
377
824
296
460
253
864
845
915
631
233
834
376
216
138
478
658
13
682
141
916
648
690
215
240
431
629
774
422
372
745
91
644
684
953
296
178
657
556
77
206
929
560
346
477
305
226
200
890
271
494
379
993
264
91
618
65
574
468
970
679
484
176
208
627
870
944
882
627
31
503
465
532
971
163
305
615
667
250
756
96
158
766
962
292
415
64
251
614
43
910
988
205
822
11
49
159
985
11
766
129
921
960
331
619
661
513
152
401
133
406
576
325
661
337
756
232
584
3
136
835
221
882
207
174
588
338
732
714
451
754
576
233
283
700
671
394
684
587
394
308
644
869
822
439
786
617
919
930
388
200
667
803
572
905
604
497
479
519
970
914
666
344
922
471
242
590
865
655
423
851
976
236
323
192
417
592
787
389
584
583
967
59
953
13
192
704
750
18
376
207
716
625
861
940
697
360
111
428
645
976
129
507
904
330
800
948
322
951
650
861
799
93
620
544
404
911
593
76
54
952
303
621
72
309
206
372
646
659
648
29
311
871
340
976
118
50
791
630
66
672
820
967
705
952
694
899
576
681
756
2
263
580
621
62
437
619
170
67
167
873
573
550
196
204
551
639
610
484
918
790
521
120
188
919
975
368
720
596
258
283
417
13
211
191
484
685
916
252
123
224
377
10
325
82
384
852
129
830
800
920
787
441
936
345
318
10
496
646
802
549
819
736
617
803
809
276
533
520
968
44
193
242
418
582
83
475
671
613
486
69
156
659
314
700
210
806
932
665
305
821
256
569
790
659
495
92
300
964
850
744
314
319
377
395
19
861
21
429
788
369
497
556
69
86
299
681
421
345
636
740
773
532
493
72
713
51
329
743
753
724
159
198
87
491
890
763
301
389
825
818
860
498
168
907
971
986
249
645
608
407
909
80
41
157
165
41
228
333
832
126
806
298
272
159
237
907
779
402
844
724
453
283
125
534
554
148
709
110
458
393
796
518
329
313
702
189
542
229
412
630
697
729
670
902
794
363
183
952
773
779
990
454
151
54
900
77
933
949
167
995
329
910
274
6
55
909
737
871
158
619
376
308
386
26
373
660
70
271
718
391
396
442
405
443
714
44
796
957
218
115
141
29
949
266
127
977
560
477
699
70
696
133
99
763
182
590
255
303
386
594
162
974
316
948
888
345
995
173
185
643
630
326
453
769
916
753
10
535
612
320
150
410
126
587
522
451
476
457
718
108
419
59
763
281
957
43
433
351
677
957
913
903
617
128
334
511
413
290
179
259
506
232
342
652
91
904
890
182
313
739
222
92
940
434
353
820
355
87
536
198
275
339
269
720
22
167
35
104
533
61
767
925
543
556
153
324
546
567
340
650
189
490
531
453
759
795
250
378
261
729
753
423
405
769
201
446
501
685
709
17
854
414
317
480
765
480
273
598
646
330
744
222
89
822
215
262
929
49
413
618
501
836
514
868
297
544
777
221
195
251
524
660
267
7
553
266
933
593
637
425
886
174
798
973
787
265
388
408
196
702
844
929
580
668
181
436
554
382
906
628
645
760
45
949
47
201
415
494
761
685
108
909
482
517
365
971
386
383
714
789
695
882
238
523
541
307
355
93
167
265
303
606
964
664
845
123
181
707
336
964
396
799
416
943
16
671
65
818
113
640
649
753
909
608
894
786
69
333
438
125
779
513
702
612
255
466
387
813
942
483
765
44
150
531
338
83
317
550
114
429
364
512
940
791
859
311
863
872
848
747
442
643
195
123
325
33
280
456
139
357
715
876
954
892
482
585
137
683
607
628
417
76
995
853
372
483
562
605
350
559
169
155
50
337
144
348
596
843
378
704
951
371
72
20
979
926
228
572
242
270
880
147
909
666
871
507
762
683
726
306
371
340
784
188
923
481
298
533
106
518
635
297
673
563
96
482
21
553
84
64
186
178
545
576
143
283
655
175
213
969
702
703
657
776
15
183
261
188
525
198
833
197
302
827
30
801
958
155
896
138
336
894
788
427
313
317
135
973
853
527
604
331
688
80
802
93
109
107
612
916
411
367
602
92
466
133
743
432
741
405
830
232
843
710
591
850
332
665
452
779
112
567
339
113
173
486
672
34
843
737
932
220
16
156
805
147
968
289
901
849
517
467
490
40
266
771
541
478
578
14
551
26
759
249
348
211
639
753
54
951
384
83
895
761
890
604
367
954
568
842
583
305
668
91
262
152
553
8
929
163
492
317
376
860
595
338
327
506
514
771
564
161
393
66
451
557
337
755
957
910
372
306
730
987
466
435
776
509
668
317
569
466
866
793
192
34
943
527
243
565
370
4
794
539
382
449
639
490
921
993
461
630
493
893
269
327
895
212
691
633
572
116
236
779
982
886
681
940
939
798
75
579
374
262
722
369
320
5
642
60
239
622
691
608
976
511
482
573
729
86
715
96
457
145
350
711
1000
471
279
902
77
43
814
556
985
725
360
443
489
953
99
392
924
703
356
127
961
998
628
604
855
317
891
246
223
518
910
716
593
314
771
704
2
918
707
765
911
207
661
409
595
628
664
486
912
133
274
423
108
611
820
1000
846
656
120
182
215
25
679
970
841
778
125
383
553
967
760
426
302
682
671
370
116
412
818
729
958
982
841
93
263
768
142
358
793
493
942
972
202
683
617
504
360
783
592
261
62
981
478
654
204
52
931
732
916
907
924
642
390
73
744
756
375
39
21
859
374
246
563
133
605
537
569
584
698
14
39
235
890
614
869
651
259
169
132
302
98
366
542
892
131
816
929
967
670
377
853
86
181
17
136
352
985
716
198
340
965
377
544
309
229
245
683
147
654
102
17
640
111
367
981
542
956
290
815
377
64
617
872
90
297
476
285
459
770
729
166
644
730
708
234
381
141
96
919
95
323
663
538
652
108
741
118
558
6
578
763
143
838
208
273
712
118
16
885
652
236
21
575
245
148
733
381
282
851
594
561
612
395
174
252
446
547
745
450
562
550
350
786
589
551
206
584
143
431
143
93
969
741
772
647
143
355
273
734
59
297
984
586
172
895
485
984
421
56
496
407
842
2
693
522
119
214
515
288
748
739
122
623
12
207
951
660
222
106
702
120
513
917
195
201
46
695
251
719
627
533
642
911
599
176
198
445
377
705
369
695
129
833
876
276
924
848
618
133
130
656
659
277
983
698
957
350
998
715
449
768
354
503
288
186
459
806
288
330
658
442
79
65
447
621
127
717
607
152
471
257
408
907
2
950
385
466
159
451
224
369
145
159
985
728
180
815
223
305
807
974
570
298
19
977
983
202
795
505
199
118
655
587
870
786
16
226
496
434
466
401
546
270
523
300
95
59
123
55
877
778
848
157
943
772
864
957
961
189
641
370
799
729
807
970
234
891
875
132
492
992
188
820
857
178
147
876
797
547
663
390
840
285
841
860
994
407
81
341
612
288
164
743
436
689
363
731
1000
374
344
470
730
755
386
547
808
201
487
6
345
796
13
345
475
355
879
730
733
461
670
409
495
121
746
531
297
404
108
110
581
79
743
911
791
851
242
389
754
243
686
644
978
569
228
545
840
745
308
796
629
823
149
745
60
301
49
148
199
211
974
943
683
932
151
334
760
474
671
117
946
706
583
235
20
650
634
22
697
459
556
436
518
185
796
868
467
757
656
794
312
863
97
599
933
577
866
419
763
667
187
713
970
442
984
615
231
941
502
779
760
2
216
591
765
457
137
99
656
312
973
982
133
256
119
166
764
264
112
485
758
376
14
869
448
949
178
166
403
829
980
596
209
903
384
232
677
441
688
685
660
503
369
314
712
414
735
882
538
986
997
583
565
737
454
731
968
824
714
221
208
784
261
89
436
467
232
74
160
744
940
172
176
663
574
514
120
721
497
819
931
867
722
836
155
623
500
897
289
464
415
715
300
220
21
23
57
797
853
546
635
955
602
23
381
239
325
705
180
397
868
823
561
802
37
30
187
439
698
668
773
14
655
86
662
601
84
869
162
50
335
2
194
54
87
497
999
372
261
932
433
236
520
695
866
341
952
454
792
162
265
538
84
566
872
436
203
794
359
615
822
955
96
189
16
88
256
764
617
721
65
950
369
584
890
624
239
829
693
994
611
639
449
946
127
614
348
926
608
681
10
824
844
570
472
964
25
91
402
280
257
539
867
243
894
571
976
874
402
793
910
467
78
128
149
273
243
750
219
435
439
11
884
946
775
300
542
256
803
244
491
411
189
995
882
308
59
592
395
719
41
581
134
221
962
94
773
87
649
617
754
459
477
509
192
874
159
157
218
289
748
306
653
303
1
753
310
182
31
40
682
625
683
247
490
968
148
252
357
641
131
105
870
270
328
231
430
757
36
272
574
37
491
273
921
3
913
795
481
218
314
286
839
688
825
690
647
878
673
861
926
620
988
806
908
313
269
169
559
57
707
660
430
952
550
301
216
832
349
497
247
118
230
910
142
316
316
44
35
922
15
268
110
138
221
712
646
862
344
113
430
860
728
232
185
920
246
878
593
11
750
955
634
207
636
184
188
163
986
311
293
457
629
702
8
987
980
165
576
925
715
751
465
438
172
55
902
481
863
235
725
524
646
557
730
962
899
802
202
317
528
254
988
73
732
318
303
129
252
58
423
396
263
28
576
51
133
869
636
296
59
23
644
251
968
812
837
793
122
865
582
730
624
530
564
681
337
491
625
450
806
284
912
457
431
756
350
16
476
848
23
861
527
228
731
331
620
424
862
69
616
107
707
906
327
80
554
851
543
360
165
750
385
437
795
232
327
462
471
9
850
610
109
471
905
340
955
789
294
616
965
397
623
378
986
837
690
768
37
410
69
620
541
997
146
764
115
693
72
505
397
629
935
483
434
441
939
772
360
407
538
705
454
150
290
380
159
181
649
264
349
276
42
571
910
818
357
361
730
810
396
423
288
206
952
17
365
567
894
531
808
846
73
929
929
244
895
643
850
703
149
189
35
551
30
405
334
249
335
626
82
954
490
546
183
860
415
748
681
843
215
133
965
16
362
523
681
171
317
757
368
958
524
495
62
865
330
756
395
732
641
960
219
554
104
847
426
812
138
206
402
429
435
778
543
704
424
41
333
273
761
859
761
222
132
107
277
961
504
491
55
363
521
714
66
996
892
54
341
944
488
182
875
865
342
760
787
437
904
932
740
268
734
355
114
682
227
811
110
540
167
755
777
386
600
393
942
780
17
3
164
604
893
241
106
535
384
147
214
614
393
368
129
38
263
912
104
867
96
390
539
350
19
263
883
944
822
104
335
922
994
244
212
673
593
481
345
387
337
690
606
869
987
315
502
646
377
680
800
334
434
11
293
531
135
846
170
70
644
254
918
604
791
901
319
868
646
549
915
895
208
998
244
701
114
862
273
621
821
780
715
602
976
866
310
197
497
245
778
944
479
506
824
85
177
775
505
305
184
901
298
280
403
954
401
339
594
794
172
486
38
33
109
335
379
56
449
286
786
154
299
379
386
975
162
845
323
700
906
308
918
320
468
967
135
386
82
871
962
418
384
534
387
940
538
781
346
732
445
645
413
513
144
576
15
678
793
997
646
154
949
467
892
671
471
311
84
983
8
609
31
638
945
858
620
916
660
452
12
480
115
374
807
54
157
116
797
236
344
932
911
110
784
950
488
920
264
554
312
470
861
716
711
278
394
627
602
772
282
62
571
959
823
415
951
96
480
213
389
824
483
232
581
146
954
62
681
392
790
48
421
18
770
78
78
663
660
617
291
441
666
707
155
791
180
394
169
584
664
204
365
369
440
813
410
800
324
53
544
290
319
716
965
920
51
423
689
438
214
990
953
967
77
306
966
697
6
710
160
388
37
300
156
5
774
336
299
177
262
179
3
449
26
769
111
509
197
694
150
646
459
319
645
732
588
280
654
884
539
879
287
843
317
585
248
766
397
857
388
805
58
10
840
357
824
673
551
323
118
675
935
55
380
868
930
936
129
489
950
683
890
121
111
546
476
257
619
543
839
730
408
742
608
992
952
412
449
364
660
528
626
856
450
727
439
121
856
333
791
416
541
439
754
203
177
401
853
133
434
281
778
763
281
932
336
256
851
439
794
714
913
586
178
563
354
852
717
558
178
209
377
604
205
645
365
530
51
907
523
387
987
430
801
618
963
812
374
674
425
449
489
247
541
173
868
323
125
814
313
688
833
616
203
336
187
334
708
487
608
708
903
555
893
644
429
467
550
167
986
175
934
652
735
103
442
347
657
490
876
525
990
321
659
849
151
572
831
713
971
25
562
383
625
779
532
732
388
893
621
239
245
298
275
724
387
256
349
972
873
117
424
994
66
102
377
184
970
134
458
50
261
507
261
495
644
303
738
859
128
45
839
79
964
6
478
314
289
980
230
379
942
76
608
152
564
285
805
853
826
141
499
818
553
796
716
877
607
220
745
995
593
41
800
160
867
744
468
810
854
564
959
293
382
433
855
932
607
766
340
281
109
692
873
74
907
597
889
183
463
472
376
616
243
622
129
228
18
749
64
352
899
276
223
996
40
66
997
591
59
355
674
561
479
801
615
104
917
48
231
681
329
95
490
653
325
53
832
409
500
609
240
93
728
583
682
748
584
542
338
286
428
311
776
194
170
582
759
307
429
560
465
291
606
715
668
693
391
279
894
569
338
72
622
712
462
612
383
458
237
235
977
897
4
115
108
61
543
683
468
334
488
907
627
888
340
297
163
431
70
325
124
918
678
107
251
177
626
871
420
600
771
700
365
107
261
502
102
663
888
972
409
473
556
568
345
839
839
143
86
367
90
954
259
864
214
214
583
760
982
210
843
382
747
295
133
721
497
736
886
596
470
469
390
292
964
320
384
798
536
134
850
757
545
567
308
125
863
982
745
293
608
39
822
167
999
53
152
246
733
144
253
286
840
534
235
522
622
74
422
754
102
234
864
816
419
356
155
80
693
898
41
689
234
795
58
141
378
802
854
716
858
885
886
969
380
298
914
195
975
970
95
320
815
232
475
163
354
709
404
381
101
408
703
700
824
654
442
232
737
541
799
764
24
989
835
924
105
350
927
35
215
715
280
280
167
740
160
527
672
863
478
803
236
228
903
931
411
504
969
279
177
59
491
949
289
626
235
951
718
671
928
93
736
176
628
381
735
442
967
692
645
807
969
356
680
900
1
99
177
151
895
448
530
809
446
333
518
642
285
107
912
817
608
635
843
219
355
381
292
590
210
702
16
436
239
639
372
605
52
554
789
793
153
908
98
28
510
302
525
331
469
685
917
357
828
280
708
801
275
335
170
750
409
307
766
952
261
445
785
218
563
33
978
732
11
743
649
110
426
645
467
467
29
445
306
553
993
389
581
312
88
148
877
800
483
665
143
520
727
621
355
625
496
677
376
340
983
123
649
229
651
879
495
581
689
96
45
301
683
701
246
161
913
363
962
177
195
294
922
171
389
173
155
274
524
295
598
278
994
725
754
211
425
821
642
492
631
28
797
307
538
218
732
622
80
207
125
376
840
269
932
953
662
619
822
991
532
871
574
956
784
400
552
654
84
416
976
80
715
293
469
530
383
351
267
924
160
885
586
692
190
672
828
336
471
603
738
37
378
335
131
254
576
93
546
302
634
811
990
320
956
836
19
860
607
299
486
590
254
122
693
223
687
297
104
868
351
742
448
417
894
566
831
485
985
10
399
666
564
682
250
554
245
977
505
57
797
690
894
26
528
961
795
113
883
595
370
73
794
742
348
441
142
665
46
612
177
39
421
898
913
806
291
27
323
143
387
935
617
473
569
369
3
804
350
50
133
876
872
607
846
746
601
532
917
459
298
716
282
419
309
910
589
889
761
660
9
848
80
791
935
46
122
570
585
704
288
15
542
761
260
662
963
947
322
289
506
269
841
704
55
656
134
750
936
639
815
78
664
926
753
100
204
653
904
739
354
915
633
275
149
878
608
619
99
439
999
792
688
919
490
286
788
697
583
219
553
95
766
893
927
10
384
440
95
18
467
734
104
680
357
636
376
817
688
950
64
330
174
163
993
2
707
180
469
345
447
747
358
197
976
225
677
269
59
680
373
230
267
4
120
278
504
934
717
326
488
372
116
91
368
379
204
392
934
587
194
927
361
516
908
615
1
490
265
380
527
417
28
886
628
678
225
317
547
786
684
766
984
251
816
167
256
327
113
5
176
901
829
218
791
827
965
823
990
418
983
770
999
656
656
475
944
907
57
278
7
586
995
806
158
256
120
834
97
115
528
811
833
675
922
605
277
726
314
424
328
340
789
89
199
749
87
17
140
452
610
310
314
749
18
375
271
259
732
303
408
633
523
102
783
840
860
508
918
877
831
724
532
710
283
948
669
576
268
950
382
529
19
273
922
216
466
864
383
491
700
75
893
360
947
999
716
169
283
51
117
680
799
560
397
886
925
894
319
983
388
270
31
897
597
31
676
191
334
575
123
946
268
554
618
429
177
216
718
993
748
974
562
645
476
375
390
161
516
647
228
461
265
914
853
199
119
997
422
147
98
421
708
32
971
897
438
927
125
75
100
167
633
812
474
18
913
540
297
35
913
579
698
88
966
402
477
556
359
928
876
67
151
876
218
476
986
123
677
465
489
767
486
283
305
306
90
644
22
931
121
749
11
445
554
708
698
725
104
402
879
968
731
944
499
176
111
477
729
468
49
981
262
863
141
142
528
74
405
99
889
755
220
60
962
365
694
368
928
477
461
580
59
941
32
527
705
767
998
108
706
995
838
800
484
82
560
465
123
532
161
57
348
625
711
272
648
58
895
1
770
251
16
680
390
894
778
319
77
8
661
972
608
447
326
948
248
296
295
858
883
60
87
909
792
884
110
512
408
317
863
362
612
269
428
632
4
897
797
821
111
122
324
101
665
353
468
706
957
801
42
34
728
425
385
644
246
182
228
258
10
748
533
212
995
275
261
543
467
79
853
36
187
391
174
116
237
388
817
423
823
823
970
270
124
444
473
962
680
298
321
120
872
746
623
753
743
669
939
793
808
927
15
207
509
611
132
622
671
977
706
574
629
285
311
131
737
908
973
651
580
219
479
866
542
729
434
313
347
898
956
371
808
829
267
821
298
791
870
869
394
151
669
72
728
816
185
431
348
751
948
208
761
464
277
701
413
618
904
276
588
91
331
471
539
866
376
855
233
103
88
651
262
654
122
825
302
17
689
450
15
463
397
712
438
657
666
797
705
571
907
276
424
950
321
326
145
858
4
268
143
81
27
461
163
302
286
544
865
973
226
400
480
768
987
943
544
354
123
67
685
960
808
621
114
883
372
306
883
658
73
756
955
72
247
890
859
585
368
809
17
14
90
142
833
534
48
758
294
121
43
198
137
609
261
985
601
394
333
252
405
695
378
742
877
939
640
290
91
525
983
372
452
729
299
148
423
948
809
711
3
853
386
928
94
267
264
340
142
724
914
74
296
769
456
627
849
5
706
666
924
786
838
719
209
230
679
722
20
932
888
923
157
353
571
571
803
348
459
139
186
732
387
586
863
91
692
286
231
260
73
837
347
25
648
881
181
660
193
462
223
815
33
210
726
159
626
800
955
906
683
755
506
39
554
598
164
585
692
816
746
806
265
838
118
502
324
491
864
963
529
978
123
248
108
448
734
613
576
674
154
870
774
159
577
411
946
261
301
424
892
531
673
561
723
569
870
935
391
96
370
888
929
856
217
375
337
202
76
194
97
913
646
524
618
862
207
400
288
650
953
827
421
210
288
205
78
704
452
607
670
714
674
260
275
874
562
252
788
591
583
87
405
431
285
240
451
94
416
230
202
614
162
104
222
597
559
385
667
842
534
722
204
646
124
489
421
470
195
516
114
416
343
12
403
113
766
455
414
241
569
936
168
858
371
949
408
142
86
161
310
909
449
12
432
533
194
329
774
456
785
303
544
529
267
294
79
840
90
910
353
528
751
748
730
292
708
983
883
3
294
710
325
813
299
593
619
670
489
897
129
984
554
419
123
455
906
197
149
772
292
124
871
955
399
734
957
615
523
549
203
293
876
272
800
346
298
73
531
559
1000
935
755
762
427
755
196
268
517
491
954
874
415
129
628
484
184
686
146
159
175
756
690
573
484
354
113
341
372
904
361
726
608
316
720
519
453
961
153
705
384
281
604
694
731
453
896
466
138
253
785
981
66
774
797
603
675
178
706
69
8
995
909
774
841
815
482
723
462
362
415
547
381
80
375
392
219
348
358
334
34
336
759
201
930
374
722
338
96
381
100
897
355
562
4
695
877
118
717
545
974
125
674
236
794
139
353
19
283
272
161
533
20
721
808
594
366
727
275
175
936
968
170
192
569
240
187
433
801
83
406
75
365
684
382
746
384
15
332
42
730
623
218
703
493
968
235
431
626
444
987
449
610
508
665
470
412
434
632
689
105
255
163
788
272
403
493
711
708
402
955
129
991
719
758
121
231
549
862
571
652
872
479
182
708
589
974
803
103
932
323
979
449
630
824
260
262
497
448
791
685
205
115
170
597
27
131
375
775
235
244
799
360
638
72
79
180
512
152
470
415
753
487
952
662
665
273
135
736
203
416
296
411
862
597
559
900
650
857
309
57
733
120
419
177
441
656
773
787
247
188
863
25
262
264
941
1000
540
531
337
93
194
784
59
230
925
975
723
50
52
928
200
281
578
124
94
828
100
800
327
787
632
527
637
109
522
636
775
646
674
88
540
141
255
895
558
51
878
755
898
214
45
360
195
51
263
746
938
370
841
120
978
879
820
838
117
195
899
604
843
470
487
483
882
761
195
41
286
912
219
774
158
55
16
997
998
752
635
534
855
482
849
889
133
396
982
36
948
260
924
616
396
31
409
138
932
810
20
695
378
802
780
844
696
451
412
559
802
181
525
556
130
995
57
906
617
748
256
552
1000
78
392
242
112
831
147
445
902
293
351
6
475
724
307
646
349
471
470
946
471
424
645
107
273
685
191
607
172
113
951
856
521
820
725
99
906
825
196
93
119
765
92
539
855
16
279
879
375
598
197
791
982
988
713
669
103
305
64
428
203
379
989
223
539
899
576
35
984
168
602
655
736
997
351
259
798
916
991
652
488
204
604
259
103
183
855
115
98
871
119
426
772
339
613
757
520
75
683
545
159
229
975
420
698
886
607
775
213
382
871
130
129
271
187
98
329
746
231
168
977
200
227
133
850
132
335
660
266
797
981
457
406
836
749
475
961
615
130
826
506
155
63
434
999
367
655
945
69
727
928
114
548
695
724
681
812
932
133
755
68
806
952
855
675
791
698
40
955
65
649
23
705
81
244
778
833
868
916
876
77
614
99
753
793
382
711
158
182
896
906
251
116
983
237
255
949
615
700
49
301
479
272
838
832
675
707
874
436
433
308
204
141
716
346
611
213
194
596
226
633
354
170
770
145
446
488
34
550
562
743
984
777
367
655
839
522
941
682
570
951
726
75
537
12
793
363
398
416
512
888
986
233
250
13
612
342
900
479
104
707
868
195
960
533
671
420
187
900
437
912
750
396
392
108
76
594
934
819
713
961
943
238
89
941
836
289
280
499
233
458
842
357
255
313
52
557
179
823
366
698
595
476
477
439
279
915
166
376
686
498
7
444
365
739
104
357
614
73
248
415
370
756
263
210
693
6
886
391
178
677
181
631
285
870
391
423
909
863
101
114
437
688
786
844
208
464
129
716
529
360
980
550
367
643
451
57
397
848
464
97
373
517
991
16
637
326
351
652
209
654
172
772
47
815
71
111
991
264
658
136
411
15
206
932
760
435
233
327
87
341
254
474
43
19
202
646
103
391
334
912
478
54
973
701
721
335
110
8
107
811
693
116
664
972
437
301
167
848
105
901
488
428
518
520
458
673
4
914
779
749
578
253
612
882
948
76
145
868
326
199
862
889
109
282
216
686
736
524
133
607
411
169
93
254
899
152
531
696
361
178
969
301
979
18
578
234
198
579
865
589
537
593
760
942
269
385
704
832
744
237
230
303
770
341
158
180
251
169
739
206
251
392
4
485
737
117
142
970
528
335
916
861
405
936
39
867
888
547
920
257
943
759
405
496
749
3
965
47
721
471
277
638
154
973
311
854
248
560
833
442
751
96
700
127
147
645
454
55
147
759
502
178
181
236
580
74
796
932
320
685
87
521
471
416
793
921
727
902
255
235
178
476
239
678
119
49
496
909
319
689
56
627
880
632
442
52
501
861
409
151
316
680
337
63
444
868
120
197
68
137
239
932
164
604
727
640
954
889
903
20
790
287
71
370
461
178
866
475
833
469
570
242
330
384
502
87
18
396
560
341
946
406
66
626
973
547
362
224
494
153
1
969
399
491
957
68
79
848
20
567
514
407
417
901
283
177
741
46
883
898
495
346
839
474
882
2
947
944
6
536
416
475
308
288
844
120
900
156
684
344
417
334
347
440
173
754
140
982
672
321
4
434
8
777
404
843
261
237
815
332
786
983
918
758
188
135
25
455
874
174
282
490
288
128
856
188
323
411
673
28
958
936
284
145
869
148
47
834
597
25
169
384
900
957
91
558
59
642
325
790
257
763
133
932
603
304
379
993
38
777
457
859
136
526
476
424
776
539
740
907
752
855
181
382
664
768
559
724
850
501
153
220
690
913
189
89
339
121
419
14
854
613
131
600
702
551
339
331
843
472
88
238
949
543
585
956
816
830
352
287
709
806
727
691
194
457
788
351
3
895
244
594
602
347
898
470
447
762
55
268
342
31
648
546
921
8
893
59
69
96
37
592
961
144
107
287
537
822
596
533
401
403
731
858
575
127
284
543
34
917
889
892
686
233
493
165
305
299
873
205
910
740
100
694
317
936
487
780
842
23
799
570
661
536
470
574
966
138
144
759
834
747
96
286
678
654
33
370
284
876
273
944
653
96
575
988
331
28
728
423
458
913
546
472
499
206
109
260
538
157
909
192
10
174
89
381
989
298
81
954
488
136
792
597
741
839
921
102
109
530
143
989
68
677
643
522
744
490
954
536
552
366
101
557
851
770
842
620
908
718
168
53
138
193
304
239
299
420
157
31
264
911
536
70
60
582
491
725
105
45
817
737
945
407
79
978
350
483
558
880
322
392
115
219
438
905
335
925
932
750
239
527
129
335
486
622
134
971
283
511
196
753
116
761
756
696
52
995
40
593
578
641
962
342
847
745
226
156
783
176
781
140
688
737
211
254
886
753
173
512
443
684
800
626
222
185
801
979
327
831
81
933
541
402
890
7
462
245
863
376
891
712
822
476
474
89
900
249
723
771
351
695
322
621
396
963
59
615
603
146
817
905
584
356
795
354
237
365
546
474
387
330
475
426
419
662
143
430
430
121
122
479
503
581
135
723
925
747
952
291
569
285
797
589
203
446
60
297
193
305
744
404
900
138
393
622
124
302
199
416
81
231
625
716
736
792
159
117
814
306
726
951
411
997
906
230
962
488
337
807
246
249
575
552
217
556
274
497
732
631
731
144
641
92
734
152
293
767
172
602
242
209
51
932
830
950
404
402
342
682
71
660
674
25
498
553
765
507
483
865
581
705
295
48
116
207
690
333
668
254
147
855
666
424
49
525
438
695
676
429
609
610
563
495
280
987
236
985
721
856
356
149
102
833
44
29
683
164
516
973
972
58
192
876
587
719
134
586
937
721
987
139
404
949
626
737
385
390
333
445
416
437
662
602
623
260
107
849
900
974
296
499
545
37
747
690
573
318
115
390
545
764
488
883
569
442
502
765
63
9
980
875
973
336
337
795
421
105
219
761
166
662
719
847
820
352
20
298
527
800
544
738
671
370
468
794
236
107
20
331
636
13
80
135
206
418
449
349
22
543
602
407
426
109
857
503
438
961
686
876
212
257
314
312
847
702
863
302
153
708
9
228
407
88
563
830
767
100
428
911
754
241
93
945
132
141
210
795
615
369
824
226
17
693
509
285
899
602
7
893
276
471
956
209
654
805
956
384
539
388
536
390
549
41
524
445
449
872
982
444
751
621
112
477
979
682
501
172
375
898
640
129
594
46
920
157
868
246
200
367
282
149
592
437
993
897
355
522
712
294
627
352
298
553
272
33
54
267
299
941
227
963
158
901
216
725
694
505
241
876
716
68
528
641
946
177
629
57
550
225
137
116
628
646
874
288
754
774
639
115
148
370
728
529
127
949
704
909
212
900
405
661
725
321
728
290
700
188
512
499
709
175
777
859
537
978
624
982
688
507
339
922
379
649
659
743
26
624
654
821
214
130
425
447
811
581
647
724
187
738
2
615
447
953
730
191
258
60
839
822
71
666
989
63
505
239
729
475
263
896
531
475
154
285
34
574
744
249
10
44
687
260
825
146
24
737
598
523
588
464
818
272
209
263
925
497
570
979
254
883
422
621
750
890
365
179
123
754
542
245
394
355
410
86
371
367
227
189
195
849
998
667
981
571
414
84
506
923
750
441
83
217
772
53
13
553
468
21
483
191
793
837
380
547
709
431
243
520
495
596
503
833
671
338
234
481
941
145
881
178
199
539
778
883
21
607
886
143
30
331
791
953
218
713
942
321
565
621
65
501
305
251
882
154
789
891
587
283
182
388
11
893
151
383
36
749
319
868
637
487
481
112
852
595
493
308
96
464
299
575
528
791
796
100
528
95
70
271
12
22
112
635
941
399
263
384
367
708
516
859
318
784
273
264
85
29
312
377
796
386
556
538
694
645
654
620
182
385
551
1
560
9
976
783
319
874
219
616
24
483
666
550
95
65
287
258
266
649
707
824
77
889
521
62
548
522
238
965
82
288
626
480
727
563
234
259
167
754
577
416
175
691
779
623
834
912
501
53
514
700
617
774
452
201
399
236
802
773
963
348
181
944
331
520
68
11
755
717
902
378
867
245
335
151
829
484
935
423
896
263
532
902
699
899
557
252
132
168
940
575
926
682
595
962
884
142
57
935
256
990
602
900
938
792
37
444
9
522
411
427
620
581
98
322
403
992
49
204
377
719
528
114
790
465
318
260
465
625
206
668
996
291
537
434
561
334
765
720
234
630
225
952
396
443
799
496
284
796
746
227
730
479
759
20
911
920
177
154
257
793
427
40
719
660
926
464
275
335
123
760
896
960
871
938
188
946
25
801
572
76
29
532
196
6
258
54
721
382
41
700
731
563
648
379
845
667
969
493
483
312
270
288
873
937
206
206
107
26
206
74
988
944
483
641
918
299
135
40
353
935
277
285
179
737
675
754
914
360
112
949
808
935
592
524
775
526
535
669
576
864
303
492
814
435
793
923
144
536
284
48
525
301
462
469
506
48
307
475
278
469
566
337
683
383
629
999
460
740
944
804
738
566
547
684
207
334
891
371
456
53
936
835
670
977
336
72
261
452
701
837
40
852
83
642
206
955
253
612
780
406
883
364
120
76
424
111
768
248
353
627
243
575
460
521
312
621
14
520
925
674
987
121
253
196
971
984
235
924
94
943
590
176
996
342
541
345
921
684
358
933
39
263
419
698
416
531
701
692
444
432
448
998
130
837
357
970
370
517
739
642
216
807
2
787
207
193
278
755
10
637
168
870
994
307
407
621
855
776
687
338
109
462
33
317
45
224
872
622
765
591
396
900
47
67
891
581
54
295
471
781
392
652
37
86
590
25
352
127
875
86
856
533
996
390
175
420
962
995
343
30
765
144
439
530
552
695
646
260
270
663
789
914
480
223
12
237
926
947
601
813
415
901
907
462
791
461
943
543
40
338
530
205
116
366
759
265
661
77
181
903
613
922
339
831
644
289
176
924
466
144
426
574
316
196
279
164
349
981
523
156
232
156
852
236
979
594
251
845
948
579
186
230
958
517
827
810
698
97
708
275
942
760
994
332
615
674
36
414
394
151
994
14
397
572
77
495
442
471
413
371
553
349
629
107
620
180
970
401
637
329
202
769
497
787
595
20
101
198
996
865
480
162
376
445
665
669
268
83
299
345
195
914
363
382
520
320
942
645
156
348
632
471
235
306
76
94
114
812
115
473
107
435
199
536
904
895
55
494
971
536
63
927
97
371
438
828
905
578
130
619
358
752
263
440
186
540
80
707
754
604
603
982
79
942
637
715
576
727
333
298
663
768
241
189
517
570
685
553
130
781
331
990
290
494
13
448
299
450
255
336
10
746
418
175
268
995
87
902
930
259
132
39
437
277
856
524
354
629
789
945
340
531
968
298
824
902
3
134
5
164
839
152
893
24
870
894
799
129
1
153
82
60
311
127
952
592
212
140
849
559
387
975
236
894
326
451
646
673
986
927
488
37
959
819
402
890
528
68
950
196
202
717
18
493
574
417
621
975
918
723
692
124
493
510
80
414
380
688
171
38
583
674
499
975
274
769
252
944
274
641
781
998
339
628
123
513
331
464
52
369
159
335
364
945
181
869
951
376
881
795
701
184
772
508
429
9
874
731
841
668
602
758
13
180
598
542
969
707
815
13
745
601
215
567
738
857
505
632
246
317
690
574
839
919
630
975
622
124
422
511
481
404
172
201
161
362
659
835
354
586
443
751
32
830
232
946
930
516
679
702
439
790
357
555
149
597
319
401
944
328
551
18
864
585
609
70
909
533
903
935
586
135
433
301
268
248
242
583
393
257
505
614
85
377
959
967
66
282
328
518
602
986
512
543
793
220
559
724
745
684
871
920
17
603
666
468
277
32
434
82
270
194
45
93
72
950
178
947
58
168
961
332
207
384
64
290
150
624
985
959
835
696
972
355
835
548
804
743
39
539
677
690
990
586
555
866
130
186
638
10
38
250
76
249
97
565
623
150
122
398
726
446
161
481
440
386
92
129
649
40
638
762
285
699
117
436
653
719
583
325
486
765
23
239
75
445
900
396
659
731
676
661
291
414
891
365
544
76
999
654
762
702
452
26
42
104
450
350
755
808
356
192
226
879
49
736
142
490
352
900
337
639
280
533
917
586
18
730
42
999
455
370
324
741
594
944
470
503
369
643
743
219
227
448
802
296
326
647
734
215
366
825
418
1
876
865
867
363
234
901
895
83
838
509
251
342
606
607
353
249
437
697
900
777
335
112
928
696
656
853
320
842
351
473
398
249
109
220
983
259
63
280
221
695
36
582
561
605
401
45
501
857
246
566
78
105
933
320
675
220
90
129
368
348
773
774
911
145
794
106
489
584
237
737
501
987
740
921
985
541
457
921
779
656
517
832
133
935
392
335
305
429
839
314
587
94
978
613
367
59
644
457
41
381
333
249
44
484
973
476
831
326
255
483
370
690
447
713
598
665
461
817
347
522
436
730
414
692
260
400
853
498
241
363
28
607
644
782
688
926
882
856
102
790
978
764
300
875
311
418
608
173
763
327
937
803
149
847
758
129
173
902
276
887
263
55
126
572
316
437
762
358
769
624
855
171
446
31
206
399
305
754
79
870
560
98
400
394
639
207
980
140
102
313
761
592
952
130
101
621
724
828
292
472
382
843
820
105
314
487
360
377
652
982
137
18
750
40
78
204
873
592
143
828
83
584
291
203
845
40
854
67
104
730
460
197
448
867
263
880
511
223
935
757
944
926
788
280
125
9
420
142
284
438
494
537
863
992
610
61
742
818
731
380
432
957
312
541
460
386
96
930
936
410
528
466
744
325
853
538
877
315
308
585
185
513
205
976
226
970
362
34
930
63
70
618
552
507
715
677
713
719
250
578
396
761
930
821
435
444
139
949
349
490
648
93
424
826
364
588
551
181
489
549
662
168
3
113
561
945
569
293
589
362
279
43
802
222
147
178
316
926
867
253
46
294
194
375
303
804
212
173
640
843
880
867
871
804
511
404
433
45
257
173
98
776
234
677
608
925
670
836
953
902
349
336
883
982
639
502
733
706
634
762
775
304
258
615
154
651
720
424
901
672
362
44
657
435
769
467
508
389
997
193
776
346
917
35
696
817
944
380
648
293
897
736
45
866
335
560
990
378
459
933
591
926
619
666
131
119
510
782
373
972
400
143
931
681
96
204
991
831
919
457
666
749
640
201
903
864
201
640
213
878
57
203
394
525
124
170
117
457
668
369
447
564
948
738
373
638
33
17
956
838
63
695
997
849
113
606
995
986
973
242
738
744
398
952
104
444
794
652
483
722
906
601
790
547
779
83
219
359
173
533
707
698
638
784
611
375
665
621
216
854
688
731
533
6
221
530
290
805
75
11
149
876
446
973
967
987
616
496
347
753
187
501
802
826
11
608
641
789
487
253
36
844
450
227
847
107
671
352
434
10
898
43
128
860
442
850
993
89
544
905
240
109
146
422
989
961
228
958
49
151
597
224
64
164
826
632
675
142
104
583
304
134
885
781
811
142
587
462
523
895
23
508
90
944
951
860
215
172
857
502
539
285
82
587
865
177
490
913
489
329
134
74
587
559
815
81
501
511
983
155
298
236
164
672
143
114
8
998
879
124
61
2
711
202
586
603
27
981
119
625
212
751
940
543
770
862
324
472
201
116
251
884
836
930
246
86
300
171
155
450
336
593
938
771
478
767
48
859
480
227
539
694
434
331
815
14
268
955
866
237
650
765
897
964
370
233
492
166
964
968
839
320
654
224
101
400
727
616
695
645
63
202
120
440
894
64
965
500
803
471
921
761
608
470
928
63
49
540
82
710
138
514
542
511
620
546
512
716
228
331
279
570
341
147
423
862
199
502
567
934
37
400
453
120
394
233
713
452
370
335
429
798
777
84
458
286
989
233
564
1
793
852
564
441
672
837
93
159
800
480
66
359
448
981
619
918
671
99
98
500
882
390
697
944
384
572
423
75
997
623
417
457
694
149
71
377
526
405
5
516
213
104
729
361
465
836
724
383
481
445
772
423
117
216
573
507
857
99
84
539
108
470
575
923
317
143
61
189
49
416
663
124
496
975
445
749
841
360
433
706
535
526
881
281
791
765
286
336
591
871
334
875
24
967
725
839
79
869
778
997
885
193
840
466
968
678
778
498
291
356
227
631
743
266
889
222
242
376
879
676
828
282
986
376
940
2
819
462
583
903
937
103
239
394
478
841
188
508
269
926
365
927
107
296
6
305
698
984
122
979
728
324
248
274
696
245
45
674
402
335
35
24
466
116
198
833
831
142
176
453
987
132
580
608
562
325
250
294
6
638
343
543
315
29
827
940
145
649
280
54
202
998
902
137
490
320
296
560
861
888
884
427
330
681
802
759
766
167
710
434
926
585
265
778
244
147
928
383
463
33
343
198
959
957
823
440
574
296
331
182
885
498
926
748
79
535
874
200
44
688
470
273
848
809
144
84
517
543
654
822
908
676
941
412
507
899
772
843
211
800
435
441
468
822
544
874
699
244
496
98
576
13
245
752
554
365
817
751
51
746
448
948
788
503
299
761
111
157
467
639
564
878
391
38
571
919
840
381
889
374
355
107
355
614
423
494
582
133
651
410
448
352
935
529
643
144
912
834
47
429
32
420
449
242
196
708
945
83
241
195
386
195
504
755
399
653
343
353
839
812
732
732
18
676
27
270
670
244
549
756
435
738
909
247
581
890
885
547
776
126
229
75
14
614
994
80
201
572
838
205
469
170
307
379
49
655
270
916
398
19
512
450
325
655
18
72
61
980
591
584
581
902
313
342
990
364
753
519
448
933
18
990
963
535
479
206
326
5
440
610
618
72
138
153
24
758
168
401
111
952
872
610
357
86
251
863
472
430
714
48
969
511
309
13
526
549
147
707
901
620
396
501
555
448
552
175
686
353
721
219
71
898
268
249
970
205
526
280
362
743
199
563
948
633
733
480
690
161
200
719
118
227
174
597
301
943
677
911
142
436
497
154
633
186
124
288
806
914
65
495
358
107
543
527
381
771
451
296
177
876
957
370
879
290
341
873
487
667
484
108
980
912
942
900
329
331
660
247
662
523
221
397
256
389
979
848
785
377
545
110
18
251
863
281
163
164
586
628
211
851
500
375
883
58
535
881
276
117
280
209
896
781
987
847
500
949
768
25
154
983
57
604
911
640
429
15
805
494
578
92
215
909
562
946
209
241
450
178
161
972
148
891
819
896
478
906
987
330
574
531
169
534
271
45
841
196
423
775
506
873
57
281
312
742
820
691
826
884
468
687
480
584
1
973
344
820
648
321
117
186
97
451
654
982
253
69
940
116
317
360
111
746
186
103
63
307
995
382
193
679
135
549
30
779
215
671
877
777
268
252
91
473
955
370
286
127
637
734
603
134
974
360
125
556
149
716
701
416
883
205
693
56
180
810
645
641
127
561
467
35
149
256
471
879
811
515
552
706
657
809
852
274
594
608
488
157
1
135
313
803
108
520
218
896
167
347
190
884
599
658
198
942
613
519
974
511
751
134
956
738
438
317
951
845
905
880
592
460
764
86
263
431
130
877
1000
500
415
31
794
471
836
737
835
201
220
335
528
827
919
141
479
110
531
333
270
687
607
845
550
339
778
113
867
53
494
274
697
803
151
151
344
492
454
913
723
396
738
839
574
825
395
2
288
419
695
26
397
669
62
268
722
787
297
938
326
17
345
678
722
838
929
79
223
282
797
460
929
775
371
987
613
472
321
870
688
64
940
952
507
434
236
453
482
313
341
61
896
333
171
778
827
455
284
191
299
795
503
892
637
276
228
791
14
394
287
977
338
589
808
598
971
401
896
953
238
601
792
624
320
975
819
5
939
286
649
35
164
223
325
284
798
804
52
796
62
807
956
268
702
268
910
180
223
6
46
512
702
410
744
510
501
446
740
790
240
961
510
752
622
874
195
850
18
762
188
816
262
701
946
289
764
950
713
680
875
206
626
270
417
731
100
705
431
585
502
81
501
570
826
741
434
286
543
768
713
826
811
909
886
280
962
328
978
149
578
146
80
217
447
209
516
186
424
902
367
628
539
102
665
386
679
584
299
606
864
252
495
977
396
616
782
638
172
798
483
386
42
231
145
519
391
859
755
682
36
357
257
515
159
366
679
825
195
207
98
209
534
882
826
778
444
436
420
703
836
881
557
776
357
992
399
102
848
242
773
318
362
998
420
454
800
941
580
663
699
305
385
570
880
175
907
900
457
564
195
413
193
407
327
873
275
931
303
958
410
77
619
535
533
779
468
725
531
959
824
504
129
11
121
388
495
413
825
904
159
865
982
156
583
1000
725
760
84
289
817
833
814
227
521
519
233
286
485
744
808
381
871
493
696
811
668
956
809
716
954
268
967
111
933
455
831
462
698
387
896
590
14
222
134
402
905
858
798
596
455
372
483
7
20
284
796
716
25
782
901
370
590
662
724
460
532
896
877
409
666
164
181
435
942
617
224
106
667
441
566
381
937
471
52
744
488
255
170
678
319
465
570
399
858
482
661
189
896
322
653
162
227
802
554
548
743
4
407
839
692
613
472
268
994
719
168
111
745
973
314
265
546
815
652
392
849
625
631
673
324
259
216
884
120
406
810
67
10
608
423
550
628
579
901
440
366
664
386
9
99
911
146
571
554
223
587
578
20
517
574
619
105
606
126
964
427
808
214
88
410
894
617
330
901
57
782
498
898
40
179
729
524
413
910
394
290
287
237
152
835
393
247
546
564
568
78
662
37
168
30
462
541
810
383
369
990
181
942
561
222
319
183
218
749
912
340
648
284
682
951
848
668
824
194
518
366
841
778
990
351
806
316
836
49
286
856
153
948
654
699
632
675
526
708
589
585
392
72
37
390
280
885
767
942
497
972
123
66
44
78
851
239
301
952
949
994
982
856
914
167
151
716
193
482
299
491
883
514
107
304
970
775
526
570
449
525
240
623
705
916
407
350
431
250
824
931
173
461
284
76
334
404
975
95
71
181
193
700
87
517
545
709
732
160
60
725
200
381
304
397
848
910
704
123
830
69
733
894
311
426
551
531
488
50
958
729
539
299
245
190
390
159
645
593
903
305
583
330
669
457
890
728
105
89
437
955
956
225
414
917
637
871
610
244
52
648
613
898
676
281
784
8
701
924
262
308
27
753
987
939
670
836
926
457
979
95
272
570
658
50
371
543
192
146
509
191
748
669
540
120
968
663
483
148
408
795
884
912
528
816
723
249
258
129
97
302
158
966
724
233
116
886
566
74
330
587
507
497
46
527
79
248
172
502
679
554
392
86
596
84
884
818
422
920
55
122
123
588
991
197
87
382
481
544
11
103
507
374
327
871
114
850
213
820
415
52
926
378
291
530
296
279
44
577
770
636
825
668
286
215
224
32
626
507
755
10
610
303
328
652
648
303
18
6
718
655
556
690
803
482
12
607
165
144
92
153
629
428
299
838
211
886
980
26
5
280
937
406
246
460
841
891
856
7
173
867
573
706
790
93
981
194
491
132
376
178
175
833
408
241
251
313
893
576
990
836
974
938
407
193
124
760
80
503
40
612
42
832
608
154
504
667
526
313
710
81
64
639
665
367
687
748
822
29
971
260
75
282
306
908
564
637
365
329
861
704
238
602
87
99
408
760
385
218
461
364
957
682
542
714
580
465
85
420
94
74
266
884
876
642
978
687
712
509
840
13
823
628
934
14
970
184
468
462
775
885
575
104
339
740
766
920
253
530
389
842
920
833
550
590
837
209
605
979
203
47
267
419
722
694
807
376
1
690
598
223
280
315
483
273
545
229
50
774
253
648
919
283
993
386
579
188
438
90
129
64
818
165
548
198
980
219
726
899
839
332
569
132
621
87
936
604
861
116
32
696
549
831
156
509
176
148
370
882
673
255
750
439
408
906
362
583
471
280
999
923
443
202
25
750
747
392
379
73
427
451
891
178
934
502
608
855
75
769
730
242
782
847
112
688
784
158
5
175
572
831
868
606
273
294
632
712
188
958
764
409
754
694
814
189
691
238
937
539
865
278
33
427
235
725
737
620
850
603
481
978
452
67
257
868
738
272
481
571
660
227
604
842
489
303
706
839
513
755
330
232
363
480
252
661
962
270
709
644
993
933
842
686
621
37
771
585
896
490
741
900
925
782
287
117
420
567
164
291
673
150
120
873
359
599
232
953
833
438
609
398
723
300
780
218
719
510
938
26
408
267
567
642
896
26
636
740
746
684
686
919
439
391
658
737
182
174
220
76
391
57
702
635
555
34
466
508
561
86
713
551
733
400
248
702
993
104
714
489
587
99
140
720
747
54
435
753
535
207
648
784
834
384
368
346
151
591
645
535
433
564
218
552
582
943
610
804
749
82
889
165
745
84
479
980
120
315
456
72
562
555
155
293
245
904
787
144
709
767
971
613
635
555
745
642
617
220
675
585
667
377
138
600
718
572
709
177
834
184
860
884
180
579
867
997
75
382
876
893
596
155
603
929
275
345
999
103
400
99
558
941
327
428
613
909
967
243
100
149
339
2
794
482
648
36
928
449
872
164
472
587
239
851
41
323
312
11
597
573
597
515
625
634
742
627
445
998
419
851
658
500
926
173
531
587
397
228
277
576
265
731
767
480
261
415
222
329
851
783
815
992
423
236
895
131
966
493
807
316
240
811
834
266
649
159
849
905
104
394
674
164
194
499
989
468
870
76
858
462
685
662
584
792
345
883
689
711
945
103
221
861
841
33
497
823
493
713
645
956
15
359
981
570
393
871
346
715
497
192
24
749
95
281
738
342
32
208
541
808
631
762
119
435
142
1000
143
47
789
375
814
131
522
426
689
704
118
540
198
538
681
959
6
519
884
19
512
639
557
603
345
610
333
936
654
149
88
108
366
729
891
208
367
17
988
525
698
247
134
38
503
532
211
366
385
440
679
368
287
249
844
883
763
913
327
427
756
179
408
241
572
234
85
786
803
957
823
605
343
130
940
542
492
951
510
403
381
802
474
545
586
501
367
295
874
212
707
797
445
767
627
613
943
412
767
434
735
878
808
284
674
253
255
921
613
342
273
524
444
53
420
357
328
929
108
798
80
54
500
48
389
480
333
842
655
758
857
720
756
345
671
740
983
462
749
40
707
418
357
349
94
590
871
317
315
966
747
577
258
639
13
548
713
714
687
290
345
825
468
192
569
891
909
857
585
768
22
314
448
195
917
624
12
790
679
3
987
883
119
816
166
663
448
207
59
447
185
641
824
887
826
365
350
576
870
624
841
827
838
505
25
365
794
433
380
296
739
680
417
983
914
719
91
419
751
904
898
245
672
739
43
845
440
965
376
807
71
778
443
658
604
777
77
933
153
648
473
559
777
157
554
46
622
780
760
147
723
164
85
519
604
666
310
391
519
415
897
407
779
699
938
622
105
1000
880
90
371
646
499
618
403
905
726
16
740
301
485
631
378
85
673
25
563
79
758
421
643
575
256
930
831
557
506
639
482
293
777
347
171
258
693
138
396
421
385
949
217
169
572
49
543
514
968
624
14
790
56
692
679
733
260
230
712
708
991
667
464
838
867
916
18
985
650
697
253
842
102
201
156
869
972
71
720
475
843
283
326
600
377
737
952
841
807
276
882
335
179
424
853
919
936
335
746
452
926
323
982
808
816
872
765
759
187
204
190
844
296
334
26
385
615
24
665
6
752
223
348
351
324
361
250
236
646
351
456
114
871
276
148
578
331
500
556
589
417
400
372
276
260
973
318
422
851
365
565
229
34
727
490
537
926
888
40
447
964
53
647
221
722
88
161
395
62
1
797
274
972
893
425
385
658
21
843
981
66
585
864
397
45
512
135
943
765
842
622
974
850
244
604
18
946
850
826
96
34
862
208
908
919
307
108
167
720
926
693
149
108
422
408
517
254
188
887
530
171
218
893
56
193
77
39
208
829
742
134
981
128
584
917
44
985
1000
887
677
538
17
671
921
910
697
94
209
77
321
698
68
559
137
974
48
990
936
978
657
316
828
308
925
577
374
655
206
717
662
288
957
877
9
809
527
954
723
542
443
1
745
691
279
206
72
198
974
787
558
896
357
104
84
93
743
714
88
211
663
878
168
505
214
234
762
123
19
986
963
12
532
955
135
242
237
275
323
337
329
360
423
107
628
980
688
304
803
970
422
126
452
103
672
259
244
146
280
633
100
983
945
571
367
933
819
300
7
100
736
85
129
649
375
401
578
415
556
619
891
120
355
651
643
803
958
900
110
753
970
621
212
369
420
518
909
865
850
964
546
707
682
788
216
946
509
931
814
403
130
622
328
779
843
940
865
318
39
767
69
607
144
148
866
480
775
45
925
740
322
307
845
600
277
430
807
325
296
354
396
551
408
96
328
153
758
503
71
321
2
793
749
727
777
811
222
281
694
163
983
978
935
453
327
784
857
857
297
330
963
212
48
422
236
569
617
30
84
910
564
468
113
362
575
914
510
760
931
330
71
868
685
49
816
901
491
44
702
265
310
910
129
579
612
124
844
109
299
34
357
733
265
306
160
413
446
310
905
960
208
996
164
558
160
351
583
100
808
476
9
928
1
600
675
939
762
154
627
365
963
115
357
755
231
423
54
801
661
204
948
703
170
923
16
704
802
328
666
276
868
261
114
183
609
958
882
331
957
482
186
860
55
303
55
412
430
852
677
899
97
94
809
369
422
747
109
772
262
842
870
505
771
698
971
654
256
250
809
733
650
900
612
540
488
699
797
500
760
727
981
457
638
996
842
444
881
61
278
385
680
797
198
38
778
479
869
743
3
383
920
701
747
607
25
564
506
726
756
122
317
181
337
709
844
6
842
777
869
631
870
747
184
8
913
878
203
219
409
354
146
91
967
255
317
52
356
348
801
626
616
888
919
505
134
727
887
104
550
94
439
863
160
313
621
328
857
606
559
234
727
879
774
369
119
21
544
26
383
862
876
203
519
365
875
545
625
28
721
219
407
764
960
516
5
701
551
16
21
453
955
568
971
426
565
157
339
613
942
1000
23
170
657
825
259
780
4
364
28
433
514
538
559
809
954
671
762
870
485
359
358
626
741
273
17
303
843
275
20
274
808
718
862
227
360
669
717
967
909
137
876
170
320
61
113
165
171
946
444
531
373
548
856
887
401
937
450
749
876
609
859
764
931
38
944
920
607
218
563
569
495
308
610
233
9
416
640
199
929
960
134
823
346
794
848
371
703
461
785
913
428
542
991
496
553
19
806
366
783
7
190
485
739
993
435
988
440
915
933
468
695
51
645
226
703
706
588
670
90
91
939
91
564
643
366
926
573
267
766
451
660
623
912
577
712
635
413
26
895
864
6
734
915
239
433
732
149
910
59
150
328
690
956
201
698
598
379
187
6
525
456
629
253
948
403
612
850
902
815
277
747
127
358
225
101
447
755
265
289
921
50
532
403
273
982
518
897
396
755
979
695
509
611
963
938
662
392
470
473
848
716
357
394
928
467
149
164
960
81
351
362
267
465
713
661
781
486
655
430
764
669
710
263
4
103
418
816
983
603
586
555
309
848
182
429
917
555
456
993
148
759
32
236
858
896
845
211
111
737
794
575
851
137
876
325
203
230
408
328
669
949
658
748
562
696
823
75
476
587
852
292
425
919
41
640
611
438
659
563
392
523
169
666
162
637
706
943
298
249
588
118
263
973
592
648
225
847
607
853
279
525
59
660
470
641
215
659
320
756
36
530
520
128
793
395
745
994
44
338
321
164
897
146
592
542
705
318
409
588
481
516
105
839
330
928
690
363
171
472
780
404
840
369
926
557
446
368
622
509
493
845
233
761
855
55
512
790
174
59
128
757
615
221
891
255
211
737
937
540
217
340
158
391
986
178
615
5
902
901
475
335
796
121
268
895
105
785
905
306
734
429
943
840
256
957
49
764
554
376
473
561
528
845
613
1
770
543
435
583
409
75
582
115
478
605
521
26
205
435
928
581
635
513
875
317
839
224
20
876
778
860
187
905
560
383
174
855
441
431
612
294
428
41
2
852
733
225
790
5
678
378
508
700
833
447
548
267
341
957
86
124
385
268
60
553
721
897
854
233
29
337
525
253
603
562
4
48
559
354
667
109
298
628
92
280
448
185
603
211
887
703
429
820
719
321
881
650
290
873
29
642
417
679
737
161
4
825
760
78
151
21
880
331
639
449
638
669
460
519
343
212
609
50
440
60
982
221
211
419
587
572
58
629
669
443
268
32
602
489
273
820
532
369
880
910
871
227
871
382
660
355
641
226
748
301
280
978
494
727
603
315
388
528
151
852
605
80
131
162
999
983
563
538
448
359
686
123
797
574
773
798
851
225
91
698
17
402
690
249
208
493
65
443
598
279
499
395
623
652
102
356
415
64
104
13
499
735
974
317
153
703
331
101
299
67
411
410
199
120
47
850
470
652
774
215
170
361
637
339
779
223
756
402
916
615
506
915
532
223
416
199
148
33
538
470
429
236
99
584
13
468
678
58
35
642
48
265
270
546
75
574
108
510
740
790
896
698
452
443
274
997
274
367
261
60
636
526
780
782
335
226
210
381
416
710
326
298
554
605
699
331
162
873
203
776
304
692
808
854
878
196
223
383
241
101
283
468
614
19
203
968
133
726
940
646
411
702
951
178
779
40
562
678
214
202
34
974
77
179
146
658
414
310
786
819
529
396
614
494
956
776
311
39
746
708
351
75
192
753
461
149
747
828
187
1
884
293
32
147
98
702
676
518
62
834
664
61
209
251
800
541
639
889
181
244
318
128
448
934
971
400
367
220
977
591
292
411
783
461
408
69
93
809
919
727
137
360
491
640
808
202
335
46
378
159
300
106
788
622
198
621
209
259
398
625
710
476
404
196
352
666
727
142
4
123
880
767
447
903
722
576
143
110
701
588
122
789
772
943
44
103
891
588
420
530
20
156
364
567
533
571
989
839
741
541
764
562
32
858
727
34
771
328
416
197
660
259
805
325
760
638
325
614
740
524
234
746
193
744
259
546
84
658
412
441
453
614
332
816
545
762
329
255
399
8
552
331
804
275
341
851
195
660
876
423
742
776
705
787
386
295
575
601
29
729
290
285
454
519
965
69
769
831
150
632
349
838
794
564
342
838
869
426
717
335
850
373
784
29
871
125
838
772
574
593
327
699
111
603
490
127
748
973
964
316
822
674
237
853
537
915
149
256
255
783
884
365
459
481
996
235
565
338
76
527
62
463
592
857
301
364
288
165
375
871
285
911
142
462
687
868
428
412
58
301
832
267
615
598
385
786
362
781
472
858
671
883
106
893
12
864
604
837
636
609
175
273
8
557
761
33
721
676
696
372
403
828
406
29
894
51
423
447
574
927
439
979
255
973
1
218
518
984
696
414
703
334
388
575
17
498
114
3
396
515
753
938
815
637
495
468
721
181
393
92
138
475
38
113
780
815
483
589
200
582
62
675
617
7
701
37
531
578
608
454
690
770
29
870
265
587
831
923
309
401
289
419
733
698
371
292
35
650
198
382
982
853
118
705
290
231
16
5
88
793
57
57
644
934
64
575
358
963
104
617
535
854
682
40
813
518
131
924
407
523
416
858
538
823
579
661
491
945
486
385
775
96
362
458
742
812
848
397
876
87
962
846
644
434
376
585
469
930
913
799
892
119
996
78
457
577
86
590
175
64
793
364
711
446
451
904
558
987
415
154
574
183
255
425
193
54
310
45
531
682
774
341
360
842
605
61
668
757
73
498
54
380
670
390
777
110
460
126
636
519
680
918
221
492
536
379
257
168
710
376
926
199
38
118
66
149
181
194
107
295
897
665
427
702
687
388
599
215
170
465
634
909
532
58
899
637
803
886
875
542
494
343
286
761
362
592
415
135
648
899
634
406
199
213
248
258
275
239
777
552
689
254
705
303
175
524
539
236
500
466
752
274
926
624
801
932
41
125
971
365
886
536
205
828
536
924
460
333
3
501
369
624
388
449
141
955
716
381
724
764
763
430
209
64
515
151
329
230
568
235
723
956
943
572
287
305
248
307
565
171
112
384
622
950
87
507
257
929
11
596
727
675
918
565
383
733
174
716
750
62
446
101
597
910
502
986
531
336
582
916
447
116
287
973
950
617
485
517
529
63
749
78
804
755
224
83
679
999
621
817
573
895
245
318
216
701
597
935
689
154
62
916
453
11
691
702
171
80
851
580
983
172
801
957
744
748
876
806
467
490
30
754
794
685
914
898
919
102
579
660
783
975
113
901
716
842
238
76
986
214
954
436
832
508
802
128
659
211
248
617
34
22
939
982
1000
555
338
531
16
270
331
652
523
477
931
962
727
630
125
649
708
620
246
348
364
469
999
31
26
632
391
146
783
113
399
706
726
719
149
86
306
83
736
60
980
550
610
5
165
585
609
241
246
170
305
231
79
555
339
688
984
796
779
714
687
759
379
734
65
658
785
366
836
718
389
354
499
277
507
315
969
493
34
418
338
814
508
29
77
580
808
995
879
395
311
527
983
449
420
568
519
552
801
116
920
485
566
235
871
177
870
377
665
365
114
211
28
629
976
348
697
123
25
248
56
897
551
116
127
440
538
763
108
952
427
274
392
912
438
795
755
692
706
943
939
333
456
94
402
121
751
335
401
242
82
939
899
656
231
31
995
276
376
517
727
708
378
475
129
78
541
933
341
931
905
348
465
797
339
202
565
779
235
806
917
432
633
787
135
279
992
784
327
559
608
522
752
147
914
814
805
193
483
9
272
652
613
76
978
814
747
811
879
874
872
630
622
827
237
23
368
240
389
37
433
967
596
65
897
498
147
840
910
432
920
761
814
510
852
582
600
752
642
55
435
512
87
354
182
665
947
931
879
741
130
53
141
528
285
375
318
569
607
819
9
22
765
464
272
537
394
354
415
180
495
907
794
936
463
87
440
993
153
630
665
833
580
378
999
139
365
221
972
676
43
234
256
570
657
339
663
888
880
236
296
13
63
395
961
77
182
628
553
625
672
110
740
772
501
791
722
335
669
762
223
816
490
545
157
648
673
219
629
828
196
989
977
914
418
82
622
357
707
844
378
349
85
522
671
640
58
493
894
313
828
644
697
97
574
187
583
625
300
456
614
971
93
115
379
930
228
786
623
739
719
306
113
387
337
711
378
206
55
552
919
198
176
349
392
413
73
831
29
753
646
83
274
769
57
919
188
395
279
553
698
30
296
160
183
102
565
1
176
41
444
590
220
569
898
797
28
373
728
885
133
496
907
227
154
253
438
830
677
74
258
886
459
432
355
266
378
957
203
236
66
882
61
733
689
224
441
188
662
473
299
253
434
116
84
768
601
20
813
965
782
555
782
211
619
345
329
570
238
721
310
61
284
246
631
797
387
204
160
108
537
528
880
335
385
505
946
251
936
474
613
950
429
898
674
607
478
418
107
740
696
928
171
460
92
297
12
733
498
62
226
871
191
347
451
284
619
268
248
47
873
315
998
985
106
531
490
776
652
849
219
43
963
587
129
543
821
954
692
320
522
385
778
123
814
657
695
512
459
55
200
763
186
275
971
164
691
391
301
269
59
941
264
474
662
136
683
583
169
263
537
105
733
563
325
688
857
284
55
443
678
145
174
907
629
114
759
36
526
326
719
956
143
899
604
139
224
654
826
299
740
6
786
599
873
809
402
665
882
578
40
522
520
280
679
795
107
854
427
431
743
734
177
754
362
886
288
880
517
317
635
392
841
565
300
715
105
432
471
780
674
88
790
461
953
746
572
712
91
268
756
522
836
463
455
599
917
321
248
161
740
104
112
337
526
41
61
465
214
355
75
985
595
493
884
755
189
709
523
328
289
622
362
143
492
954
460
668
733
433
723
193
558
760
276
412
889
613
912
898
55
888
242
301
191
772
395
429
442
793
736
352
567
665
69
358
661
640
254
853
692
63
951
316
488
1000
505
988
607
157
564
295
255
745
137
924
49
639
207
45
944
917
908
451
113
862
533
276
882
587
331
489
111
714
100
630
541
969
121
64
736
104
833
613
162
318
967
569
901
214
570
957
206
379
450
404
861
893
110
121
863
391
149
322
477
854
454
871
108
947
240
54
753
561
146
171
46
197
133
68
985
950
908
819
532
184
950
518
157
382
979
547
299
326
903
733
430
469
845
544
94
312
854
822
854
673
282
600
548
936
634
223
647
815
886
333
778
632
893
286
678
894
519
208
952
736
558
218
987
861
342
304
311
745
176
970
490
233
370
31
382
81
719
900
200
710
710
260
370
149
620
300
603
171
924
573
975
684
124
103
32
703
183
582
114
686
232
370
170
552
139
538
283
435
792
382
29
155
692
674
562
368
548
413
29
622
79
994
488
843
189
523
42
340
958
467
287
47
699
956
500
572
413
831
211
579
566
963
948
208
62
463
953
467
637
146
643
60
684
24
399
646
689
646
69
341
46
837
182
166
997
755
475
227
856
198
795
646
463
800
807
648
20
88
247
747
104
355
639
695
620
985
487
678
946
142
975
299
299
737
106
15
630
177
30
61
975
697
40
337
270
10
348
397
53
585
264
468
387
137
886
371
577
783
718
326
940
913
909
885
978
10
962
662
776
547
826
91
360
600
273
194
43
20
312
199
490
824
207
930
366
994
351
57
923
977
829
669
839
60
42
149
933
177
130
974
130
896
299
920
187
84
343
121
256
164
793
548
313
9
172
809
822
242
762
581
825
98
147
627
776
113
545
72
43
563
612
579
993
993
953
104
960
173
74
154
212
533
849
862
217
436
912
735
159
675
535
628
626
211
666
356
882
498
824
365
897
686
414
72
611
633
904
763
513
931
963
480
686
73
354
910
920
495
848
132
366
474
933
972
463
740
374
891
559
268
998
526
730
876
188
472
770
173
670
447
253
905
130
708
837
933
105
492
720
930
333
294
236
368
493
968
137
528
824
47
9
69
634
137
606
162
117
934
634
319
222
251
659
817
521
392
360
67
183
362
308
338
163
722
826
48
691
290
241
161
965
560
17
371
726
418
857
401
54
701
838
159
273
179
31
506
354
798
884
75
553
406
824
929
344
707
182
823
864
924
530
529
211
482
973
935
926
29
761
654
906
317
824
452
824
754
482
119
823
929
630
313
926
70
170
526
100
160
294
537
375
402
538
648
772
830
155
542
28
120
482
822
280
85
439
166
956
891
188
557
46
789
315
229
861
35
567
823
136
700
322
724
34
295
458
726
225
479
255
963
697
636
253
520
361
771
770
258
875
2
887
164
265
909
301
972
125
146
368
891
155
983
55
26
767
950
260
481
341
308
158
185
452
864
807
211
58
565
236
716
207
366
623
673
297
117
2
235
297
584
112
928
616
284
629
847
536
482
61
704
159
597
970
882
897
240
69
582
384
289
932
840
541
743
744
392
237
554
538
356
624
300
838
271
750
335
493
270
505
9
751
86
313
670
298
141
202
396
83
179
101
854
217
785
223
235
150
655
402
951
633
665
132
686
643
644
819
404
624
215
463
146
864
273
605
791
776
435
834
464
202
283
603
968
553
340
399
402
789
506
535
144
774
84
978
502
494
665
632
629
996
851
488
742
698
195
833
312
843
848
540
630
518
40
54
96
600
969
311
628
403
648
257
847
612
973
55
57
281
605
308
602
290
256
870
868
690
625
864
66
774
543
578
931
551
842
779
664
555
93
839
733
528
631
763
674
615
234
854
632
137
387
285
201
866
331
278
59
38
1
959
13
956
495
197
311
182
960
897
521
744
630
296
838
740
296
774
406
973
655
568
158
985
844
587
671
973
959
181
799
567
492
350
135
419
455
371
918
834
415
213
646
457
781
473
478
149
470
738
514
747
508
446
141
360
223
333
963
220
415
513
268
862
314
64
585
611
180
777
664
914
118
353
103
49
63
929
969
152
902
281
928
278
402
402
843
459
940
503
310
289
28
596
321
629
300
998
78
427
905
31
15
489
244
152
255
272
596
540
21
424
461
902
59
839
380
872
704
456
587
947
65
901
97
308
737
324
716
245
536
490
65
164
55
228
862
292
215
869
642
289
601
169
577
930
69
533
263
918
22
59
183
652
781
32
42
499
700
24
328
668
990
676
271
359
778
582
818
193
560
417
389
312
48
616
932
721
391
454
255
585
878
321
681
252
547
380
825
663
546
546
721
727
719
896
533
927
646
220
862
143
285
412
985
192
438
766
403
106
498
85
791
512
314
698
723
790
568
80
606
858
746
824
862
552
648
119
730
544
387
715
30
693
13
618
829
502
199
387
257
97
929
954
629
781
758
362
645
732
998
667
656
871
147
525
925
270
993
656
341
727
50
474
270
292
453
651
103
598
971
267
587
830
553
535
208
28
704
755
731
231
27
299
514
640
465
927
351
581
158
684
412
571
304
929
327
174
107
820
560
667
726
703
13
772
93
404
239
799
635
405
719
637
209
214
406
921
17
37
169
579
878
28
782
725
989
966
872
495
228
225
561
16
128
254
617
166
896
639
559
156
201
979
554
262
49
452
899
209
718
965
564
831
617
185
559
627
924
614
876
725
29
89
358
618
150
738
138
734
953
479
224
534
647
597
394
391
833
819
815
905
314
546
692
702
211
607
839
984
950
974
249
280
140
353
634
908
936
475
416
626
171
220
864
845
490
393
868
544
712
104
392
738
876
210
748
929
767
225
682
505
237
411
712
416
319
518
285
824
917
786
83
623
891
373
277
839
442
318
574
993
37
540
696
428
537
107
286
446
803
232
336
881
838
982
931
358
404
732
460
102
175
742
504
582
660
67
280
705
591
207
841
519
940
527
280
612
480
479
782
460
651
105
712
14
483
123
897
697
528
136
844
819
54
160
973
140
252
701
806
933
827
82
728
430
165
593
97
9
179
279
455
776
94
891
104
506
637
584
553
22
569
449
199
189
31
849
149
664
938
848
254
415
517
717
283
818
155
610
659
837
889
44
333
372
269
728
164
383
803
616
676
810
868
814
142
606
824
106
758
449
5
409
87
806
433
445
45
77
384
262
451
489
384
21
570
224
810
629
129
77
66
398
10
561
177
885
189
938
759
467
526
172
530
14
681
128
927
217
804
664
939
760
591
444
945
534
14
381
239
506
287
665
902
730
637
190
875
170
37
70
384
702
375
587
396
678
423
627
362
912
598
110
352
807
739
441
603
607
24
294
619
452
711
339
229
962
616
661
420
621
102
697
333
60
870
480
567
703
59
879
784
899
973
283
686
813
262
895
624
842
539
383
444
266
222
148
704
182
859
877
61
475
302
373
441
769
901
867
606
831
295
148
850
844
489
904
865
366
642
570
252
530
392
871
788
235
622
972
280
649
261
814
794
344
99
800
106
783
637
444
444
649
644
991
9
768
471
305
259
939
137
491
695
34
880
853
698
158
160
759
4
475
78
915
572
559
778
373
906
776
708
287
406
239
525
114
921
361
16
446
516
864
696
123
366
404
581
625
839
628
261
1000
72
567
562
722
760
757
988
975
464
393
657
804
474
87
610
481
141
539
248
175
647
544
116
778
373
253
422
257
394
559
496
469
129
802
835
767
845
722
528
20
556
745
623
935
814
228
426
665
42
252
822
740
355
919
454
295
256
876
994
417
205
962
809
195
819
469
23
706
393
478
379
747
483
155
291
598
543
659
202
463
992
548
680
556
622
183
690
952
980
625
122
453
168
979
986
702
590
951
636
712
260
631
997
767
682
159
80
395
752
984
965
743
781
878
55
211
540
749
637
636
167
529
680
707
884
155
385
483
746
659
194
109
45
954
842
850
588
747
588
559
772
322
893
560
299
660
725
735
395
463
100
265
596
168
661
102
549
971
904
738
744
217
110
260
803
235
169
977
752
867
281
154
700
459
911
502
462
82
521
111
996
74
291
454
931
790
492
958
101
618
207
351
751
896
820
706
998
363
62
627
204
166
439
528
166
252
541
306
388
170
79
33
268
948
488
434
719
693
604
73
617
31
197
123
444
301
161
552
716
669
719
326
65
992
347
8
355
281
999
709
824
91
845
928
71
30
947
224
625
835
246
44
957
163
742
253
59
302
3
106
119
519
992
439
416
636
736
857
277
752
546
556
824
715
331
208
297
66
60
45
921
715
555
847
661
512
643
71
699
222
128
768
156
154
171
213
407
834
479
469
286
654
83
155
673
425
622
792
191
66
771
994
228
493
872
656
93
905
865
17
878
268
358
163
520
782
17
72
624
511
528
819
853
158
3
886
68
176
124
862
944
19
235
959
502
360
312
925
835
523
5
875
330
220
938
534
854
915
55
161
705
780
111
167
587
271
289
57
540
803
577
879
518
859
727
791
276
160
577
708
338
176
18
250
55
361
164
377
212
963
104
141
200
186
174
7
503
743
862
7
136
584
304
845
734
682
807
719
147
264
26
236
811
838
189
307
624
664
265
329
765
75
65
231
689
207
69
265
542
214
179
467
341
48
720
818
604
213
728
25
518
694
994
742
372
422
360
746
732
226
529
305
761
229
959
501
144
999
502
749
344
625
82
164
255
31
82
668
913
517
100
957
585
490
355
538
439
806
400
33
995
956
686
888
729
571
211
419
544
393
723
854
269
865
898
679
25
994
501
98
51
970
796
901
575
333
343
337
380
116
929
888
5
501
537
965
943
9
187
645
739
140
968
507
665
677
786
549
516
572
189
901
101
472
120
799
241
423
620
831
402
251
296
9
633
440
834
613
126
52
978
70
565
415
150
370
389
810
338
631
240
393
970
476
164
914
213
819
593
592
588
514
706
662
796
60
577
713
410
242
406
902
441
118
208
555
804
289
579
424
423
702
532
131
30
586
950
894
717
271
895
685
963
758
872
382
148
897
167
307
559
975
531
794
481
282
818
64
281
994
673
744
291
317
980
820
928
377
607
680
685
782
899
174
588
139
512
300
219
52
415
191
664
294
319
585
589
922
373
854
184
50
680
960
918
918
97
411
843
637
803
429
740
708
338
37
502
13
164
697
995
464
318
500
81
922
372
598
624
308
792
747
67
57
701
382
605
188
250
581
87
308
62
655
491
806
661
875
258
336
435
15
805
461
408
971
263
961
32
712
858
916
305
217
372
101
699
845
829
657
838
796
853
252
344
936
189
155
27
286
488
748
399
893
797
991
555
624
146
285
587
701
252
969
58
392
628
453
520
360
340
562
715
616
226
260
882
889
643
321
540
489
724
888
240
440
659
104
20
701
775
168
733
828
1000
232
987
299
884
517
162
18
508
947
872
260
431
316
260
382
377
779
742
193
461
978
152
768
596
681
754
847
186
184
278
682
310
55
923
358
413
38
298
144
925
27
359
410
345
113
750
1
43
580
350
719
478
643
478
766
548
419
951
547
533
333
102
273
443
672
965
137
642
541
44
699
252
790
465
273
247
809
894
761
82
272
244
376
405
988
113
130
670
62
850
810
470
436
366
367
999
735
89
339
355
41
982
935
317
852
143
893
825
47
335
81
636
66
711
77
537
924
143
643
51
877
788
102
783
771
967
84
451
120
10
58
129
987
427
297
463
569
687
706
429
210
903
991
706
258
929
217
907
740
744
702
689
394
498
532
265
959
251
735
932
961
304
269
28
468
952
577
150
387
660
353
578
943
946
602
568
896
708
793
597
933
327
94
716
382
665
288
849
104
965
909
274
948
767
582
546
655
155
317
800
455
67
737
716
905
913
823
429
699
482
773
310
278
932
29
871
79
725
318
989
179
469
824
291
873
27
232
801
510
681
462
899
476
788
337
213
793
190
322
343
228
544
722
188
156
877
413
222
680
917
268
285
664
191
907
313
419
416
331
973
728
491
264
341
814
249
761
620
594
177
748
367
302
539
674
873
132
647
383
140
62
588
662
368
436
341
641
979
208
76
363
998
946
386
435
31
855
351
560
180
104
628
192
978
668
200
250
833
774
49
77
526
767
739
344
29
903
861
655
268
95
329
933
515
184
773
551
733
610
650
289
576
692
228
904
728
923
340
37
923
731
599
670
281
238
832
156
594
392
638
63
785
708
287
761
52
554
690
703
166
569
775
812
938
308
431
262
160
677
89
200
204
61
170
648
29
294
839
874
563
792
962
56
299
245
722
931
470
201
71
405
354
813
116
864
100
745
539
981
967
977
385
367
14
803
891
338
95
864
543
394
480
435
232
746
530
518
172
388
659
512
272
740
227
367
741
860
103
160
38
586
403
974
713
738
278
800
287
685
724
970
95
166
69
238
915
248
181
248
315
686
476
561
840
773
465
806
578
957
949
827
177
124
944
841
91
466
83
782
680
280
559
957
807
880
614
86
753
31
230
604
574
981
939
809
531
193
601
116
841
360
608
156
807
132
200
945
317
277
490
682
829
643
358
973
213
396
584
478
224
503
461
2
987
285
672
59
582
228
368
793
707
882
272
951
459
848
78
263
448
339
606
218
830
743
977
705
365
935
519
406
247
852
253
148
321
956
590
649
233
788
296
205
240
757
860
927
679
683
187
50
549
389
895
715
260
785
585
356
384
506
155
497
140
138
613
329
434
449
852
908
497
876
563
199
572
695
770
472
611
933
506
764
675
99
753
180
570
231
142
876
267
600
808
400
831
636
468
961
888
313
44
855
177
237
92
951
326
197
891
657
828
748
291
226
114
706
320
630
735
86
123
447
935
114
999
425
311
423
194
381
819
436
625
147
141
262
901
82
295
107
850
499
420
341
237
49
876
874
548
663
146
417
488
215
534
546
339
427
347
219
409
889
46
544
621
282
842
143
702
5
368
430
522
478
320
464
891
296
432
827
520
287
759
139
911
265
991
420
656
948
439
481
2
46
437
947
565
45
84
274
747
537
708
385
783
294
893
115
311
410
700
713
19
993
485
41
248
861
809
977
373
602
25
743
427
216
523
539
691
214
50
908
927
757
176
718
513
885
768
508
975
374
290
229
339
82
842
63
265
918
128
108
145
715
942
202
232
357
364
38
374
506
565
55
126
105
10
260
857
685
916
287
950
135
989
493
360
238
845
825
609
744
16
539
729
207
131
567
849
71
661
492
825
778
621
639
812
746
751
738
722
138
989
996
293
272
503
166
861
353
154
406
33
13
30
262
123
739
601
142
630
894
120
19
33
479
146
901
890
173
420
834
539
465
902
787
720
912
444
824
87
607
471
373
870
1000
14
224
940
92
629
173
131
839
68
807
955
348
25
52
801
63
946
494
261
670
662
394
513
904
569
581
568
785
182
55
754
62
148
261
41
810
225
434
651
193
317
363
961
364
371
176
867
386
839
486
625
807
455
344
684
235
273
957
187
862
256
79
597
369
255
278
411
86
834
71
16
559
277
5
526
948
44
382
895
759
120
216
651
491
979
424
383
698
324
7
497
818
388
139
811
887
350
692
296
897
301
692
616
152
323
615
171
413
422
211
21
53
498
778
401
662
25
398
561
812
853
688
286
722
395
34
781
607
441
107
574
399
72
707
691
339
404
630
657
664
424
286
809
249
796
272
980
596
309
970
880
994
598
481
396
52
862
938
589
28
583
255
392
555
656
919
866
436
913
294
425
144
775
215
604
548
624
360
796
170
559
2
877
971
385
266
793
271
38
934
991
889
178
180
44
32
331
366
941
754
799
153
293
44
534
749
125
723
314
74
59
372
846
981
371
456
874
442
880
653
980
787
633
148
527
669
96
331
105
411
922
886
929
802
392
742
856
179
318
725
88
878
541
65
165
731
128
64
545
300
67
360
951
980
532
217
633
940
774
180
922
83
310
259
707
883
364
510
20
994
452
544
492
978
577
1
271
383
767
479
940
642
587
762
61
984
798
440
252
577
589
171
118
667
636
922
934
330
802
464
696
782
468
313
66
880
322
82
761
587
929
877
149
660
565
19
170
792
604
826
192
710
217
643
132
545
250
592
923
869
941
760
464
385
579
664
277
200
257
872
406
980
681
591
551
51
334
898
23
695
414
31
872
454
630
827
465
289
352
950
867
763
605
50
590
300
117
335
693
723
941
362
736
903
179
33
803
393
3
857
657
309
453
589
114
594
475
226
884
999
283
181
448
808
392
177
38
334
633
24
407
713
16
981
871
364
581
861
80
764
275
365
38
860
434
393
205
514
706
260
882
895
58
770
703
585
124
128
750
508
245
501
720
475
465
858
606
255
208
399
561
618
511
476
959
701
531
427
189
388
459
149
388
158
155
548
142
951
536
234
160
208
236
960
61
159
115
339
740
818
952
306
175
905
54
658
188
101
598
745
425
612
190
52
721
21
548
982
107
791
216
618
966
591
903
627
171
827
391
744
666
362
940
494
582
441
790
868
860
268
651
708
390
487
46
454
801
109
994
720
389
10
802
899
151
234
658
614
521
754
322
383
197
225
445
298
418
536
967
874
123
628
583
460
724
156
500
805
607
29
571
389
91
785
422
139
256
44
373
30
998
996
795
817
653
996
46
894
784
858
264
831
38
353
143
662
537
786
231
408
884
214
463
631
742
61
386
45
894
406
979
335
824
193
62
374
192
975
39
967
980
562
110
108
718
142
160
472
960
7
251
554
99
12
994
406
666
295
129
417
527
587
318
944
738
632
493
907
396
889
101
636
503
658
244
365
726
246
12
780
946
592
289
913
654
25
919
530
589
457
404
852
484
391
238
88
420
557
579
811
98
865
197
612
277
636
542
872
724
746
354
684
322
393
416
168
340
702
955
469
508
273
722
689
231
62
944
918
169
725
193
282
474
636
742
628
148
336
77
89
363
87
91
225
90
526
927
908
45
180
569
386
803
726
50
215
891
436
595
862
829
219
88
832
367
13
16
101
623
70
440
489
432
849
599
369
980
806
475
760
716
374
17
434
603
801
745
111
17
346
154
229
966
508
656
52
876
601
820
55
858
994
306
637
252
779
201
235
252
432
443
781
561
318
625
298
400
483
753
152
610
273
485
70
296
753
932
624
187
761
391
285
895
734
252
509
323
70
890
582
745
918
580
91
513
755
329
991
912
2
50
162
393
254
703
281
359
368
848
581
653
828
561
781
156
250
825
73
217
887
303
533
182
282
879
768
934
979
460
896
197
335
332
208
325
27
774
962
447
833
740
825
134
579
168
396
179
968
857
110
726
148
945
563
721
478
706
977
574
927
780
63
21
945
961
54
378
445
358
20
784
749
100
886
574
944
719
761
608
142
36
291
257
549
660
728
755
82
181
366
779
516
768
750
467
785
153
861
555
120
916
29
948
150
583
935
837
976
298
460
433
485
719
503
477
846
357
146
967
225
807
696
950
237
156
219
802
545
425
136
160
332
50
333
548
60
261
48
787
64
733
443
477
36
5
424
206
381
986
728
627
780
351
735
251
995
715
778
593
143
285
931
320
179
108
407
156
307
127
718
624
402
999
700
140
281
45
345
570
860
755
160
149
793
974
392
564
200
293
76
68
479
172
297
754
983
32
458
477
578
855
618
468
700
885
176
382
531
617
251
386
383
610
137
889
170
609
106
701
106
98
647
729
427
655
982
792
941
450
286
781
733
795
613
187
156
905
942
967
537
939
139
818
722
954
841
198
612
592
484
860
406
237
705
224
84
867
380
652
30
35
388
576
360
239
22
484
666
455
615
951
368
736
600
264
846
625
673
724
799
543
187
333
68
501
185
453
270
206
732
952
160
96
316
538
588
918
133
231
293
228
23
419
528
561
640
507
705
116
235
963
822
493
71
464
429
400
41
934
270
271
580
488
577
427
280
685
144
759
966
47
983
874
130
479
332
357
757
109
255
50
563
64
874
269
569
859
533
452
785
421
833
55
459
247
515
412
10
806
665
892
280
137
529
912
197
496
526
279
267
54
735
904
606
875
175
117
337
839
728
715
286
766
419
391
856
686
102
365
858
136
257
903
845
368
788
888
208
584
161
762
875
648
200
983
958
248
168
588
133
155
497
578
810
31
700
643
404
246
511
135
156
284
302
339
945
611
147
789
538
348
712
832
504
660
294
641
840
593
941
663
961
941
558
792
315
856
299
645
335
124
366
952
822
407
522
461
148
316
239
706
866
865
452
681
371
722
281
759
331
675
925
138
454
921
200
761
999
70
794
897
181
295
392
527
217
643
284
256
316
349
906
738
351
934
76
479
308
969
323
462
853
670
816
249
517
873
875
75
85
560
962
9
719
782
321
397
252
780
163
680
866
74
419
161
47
555
568
444
342
941
11
103
893
462
768
555
210
332
38
296
876
378
278
387
180
176
43
530
743
189
751
177
285
685
943
834
575
676
328
159
515
723
136
474
997
200
825
66
888
547
240
997
39
112
660
181
690
406
11
167
18
997
714
420
892
792
248
865
38
178
542
140
966
344
725
291
991
98
605
626
587
696
466
45
156
497
465
475
976
761
895
925
774
515
105
327
853
250
682
515
192
116
802
649
248
420
317
910
467
484
234
537
665
334
728
140
513
281
741
731
316
159
483
144
181
916
921
309
437
248
382
366
866
208
983
769
911
51
489
304
516
104
533
447
686
112
906
596
148
336
719
479
735
669
836
486
244
158
914
778
537
633
741
729
630
573
361
716
320
967
635
285
705
677
450
471
559
725
835
385
141
26
562
261
461
279
691
784
403
166
651
902
428
502
124
304
712
722
987
405
737
922
998
982
313
688
748
578
927
126
651
416
163
818
365
825
618
921
114
139
394
254
821
607
778
29
834
94
170
797
307
274
642
340
943
556
809
450
933
218
803
983
378
75
265
151
395
563
186
736
403
271
352
806
797
836
917
551
329
565
310
58
38
345
309
212
491
184
584
399
448
202
458
385
773
10
923
543
596
206
190
598
243
115
171
198
446
50
343
901
684
55
355
627
284
545
631
238
90
274
935
647
97
830
560
803
411
167
335
964
330
767
159
886
107
672
108
980
187
985
490
988
312
440
362
471
915
271
196
227
652
943
295
785
740
275
560
296
30
76
962
442
377
734
822
499
911
106
641
297
299
658
735
635
923
39
394
648
185
209
612
739
824
741
711
935
219
211
331
967
122
388
322
932
182
508
60
131
917
96
571
572
486
618
668
656
749
781
937
789
603
401
81
982
520
621
581
50
549
692
54
678
771
661
36
431
352
102
103
792
885
427
388
427
680
456
598
195
1
612
568
845
59
564
228
957
698
168
633
466
346
280
357
999
745
395
120
338
400
75
986
572
479
849
865
863
105
555
318
305
591
157
878
69
192
652
170
854
389
66
155
708
519
432
705
424
840
318
530
72
749
734
244
673
918
166
926
688
587
99
122
783
92
632
636
261
16
681
845
699
977
830
480
533
199
121
31
822
465
925
954
934
971
569
862
666
880
590
744
190
108
323
58
249
962
7
213
254
789
790
590
244
723
770
713
241
925
723
631
153
487
262
859
225
289
948
480
24
655
341
104
65
624
23
451
487
1
412
245
654
137
561
959
120
547
222
716
222
80
143
297
416
322
960
783
603
325
60
839
883
550
489
2
596
116
310
659
21
73
803
557
828
423
588
804
226
54
20
338
757
574
196
707
868
272
526
881
705
92
105
483
67
539
61
510
77
906
610
90
949
68
869
329
148
373
290
599
380
816
218
897
73
780
236
63
472
120
874
713
9
245
742
709
360
170
381
874
493
213
926
459
28
121
199
518
474
948
984
14
209
895
63
910
641
716
38
976
612
969
117
297
943
579
773
765
22
717
676
879
441
964
336
308
9
77
686
523
897
460
198
739
299
624
222
77
733
483
926
604
48
333
596
396
257
771
92
304
562
581
920
448
314
855
754
762
213
203
193
108
728
952
238
563
589
639
253
510
216
946
153
46
124
477
174
64
634
382
875
82
759
947
937
501
722
655
932
547
372
160
463
566
737
817
9
698
15
149
329
216
613
673
531
969
227
9
764
441
551
104
22
909
933
684
744
64
171
774
712
249
705
214
280
142
639
666
82
350
409
473
213
827
398
114
313
506
495
721
121
795
399
252
852
846
461
503
154
623
991
64
538
828
256
705
879
703
840
458
6
550
640
811
479
582
548
41
319
386
773
679
878
817
844
517
40
661
555
354
622
729
510
885
204
381
476
759
608
652
420
864
884
227
13
279
989
562
349
229
319
326
825
563
828
167
442
960
816
525
275
85
346
857
484
411
863
156
54
260
842
101
376
896
181
531
914
181
615
164
445
391
663
669
786
261
463
264
501
259
402
963
804
340
613
514
770
192
278
809
2
59
138
287
109
774
799
412
704
543
209
839
140
364
156
268
878
706
761
331
201
207
707
55
969
719
402
591
256
961
334
926
987
443
652
245
165
50
392
443
865
885
835
71
949
543
197
627
360
968
220
691
951
460
270
883
7
174
227
970
35
695
784
777
914
853
796
722
223
981
930
893
398
258
235
607
401
566
149
286
741
598
144
312
9
530
450
239
591
668
238
385
835
926
261
333
760
844
151
351
334
150
521
59
462
512
555
943
91
246
974
464
236
214
183
594
343
38
870
566
95
76
573
525
693
296
528
528
657
308
629
64
413
338
478
833
279
833
321
49
980
759
115
939
476
344
113
420
748
206
109
163
122
338
951
389
883
372
987
772
222
935
883
769
974
645
631
534
272
518
659
356
949
78
621
192
463
518
877
449
207
607
644
635
264
863
523
895
93
703
430
714
145
927
967
260
123
866
903
978
463
2
771
984
599
654
528
792
781
606
870
656
507
161
45
592
134
182
972
739
850
129
46
251
17
971
249
392
796
108
119
806
118
136
658
227
303
355
493
34
51
413
474
129
105
382
412
602
627
851
862
493
199
341
677
797
418
449
572
498
247
666
79
61
644
721
93
280
510
649
668
826
642
514
844
115
237
874
73
386
446
606
232
971
628
691
320
791
245
904
664
59
787
142
874
8
733
279
847
224
292
37
835
829
627
351
947
306
288
83
522
272
872
765
449
828
247
252
884
461
299
759
800
620
779
820
451
212
757
85
158
255
151
741
780
841
991
570
844
394
405
286
616
897
781
881
307
422
212
127
195
837
115
282
712
963
868
287
433
866
417
446
460
166
68
635
931
440
92
611
228
856
357
845
12
150
919
644
371
917
403
8
248
13
48
798
753
523
477
303
188
362
633
226
353
82
804
431
230
865
365
553
214
2
656
702
863
381
420
39
582
640
351
986
716
661
603
159
305
58
545
927
140
116
694
630
827
436
454
114
268
161
280
202
366
267
913
124
760
846
576
746
100
689
416
611
702
793
20
460
439
567
515
885
344
648
653
226
737
203
248
628
661
559
555
430
993
758
462
702
925
406
860
791
405
787
210
202
745
772
106
1
833
463
574
194
297
900
969
226
527
382
601
805
685
121
610
770
679
45
217
599
649
481
193
455
646
391
277
405
75
577
320
507
925
984
140
36
10
820
406
16
202
726
417
557
150
623
272
256
70
206
787
44
990
250
470
423
241
48
20
3
116
317
103
591
329
871
607
877
324
179
179
932
551
725
642
304
534
693
743
509
913
120
844
82
713
97
322
189
721
997
874
978
246
988
463
471
495
279
327
839
474
651
347
288
624
838
59
665
362
203
795
85
339
14
734
571
482
316
147
709
832
34
739
815
793
493
806
936
618
952
856
325
914
136
459
659
452
969
350
386
835
898
240
60
399
253
343
425
301
58
371
304
886
610
650
68
301
897
23
561
805
639
439
889
375
337
449
401
23
207
387
528
710
296
631
874
854
386
209
118
212
533
973
815
352
193
707
167
24
948
819
174
478
763
748
357
190
583
786
438
503
800
794
904
431
812
220
422
207
440
888
423
231
460
258
2
713
872
254
475
689
832
297
569
42
341
878
203
857
907
863
283
715
392
739
757
508
158
169
392
991
464
570
418
542
765
871
202
560
213
301
601
497
192
793
478
792
152
578
165
860
369
647
322
856
499
994
700
147
972
9
857
304
322
939
723
943
535
73
233
941
367
205
959
378
385
956
778
76
156
747
125
732
630
573
340
475
245
232
900
129
710
342
120
596
738
290
7
534
216
259
541
961
427
593
577
499
998
84
964
707
163
168
223
376
782
688
298
694
342
580
511
942
782
805
797
708
589
895
728
661
61
729
609
629
30
543
154
13
614
704
864
622
754
501
235
629
418
49
364
684
321
421
357
160
942
275
165
150
449
611
133
110
835
709
608
960
221
5
375
71
815
407
599
792
446
520
190
85
961
370
189
389
13
445
872
71
921
329
748
647
384
752
505
545
762
621
302
317
553
485
467
70
455
932
807
389
113
606
249
155
236
912
436
496
282
952
279
560
321
948
161
918
995
197
660
207
725
603
200
17
444
966
8
163
167
495
103
190
658
480
819
391
298
632
559
661
5
402
26
235
748
481
199
715
713
759
691
850
719
282
957
177
788
85
990
12
126
377
796
242
926
196
932
48
504
579
833
984
305
220
475
813
199
848
178
109
342
795
972
935
548
789
34
808
806
566
125
792
64
752
857
775
876
383
863
907
844
538
626
730
29
844
828
742
706
1000
526
26
852
74
398
77
777
37
594
172
157
888
406
448
530
775
133
358
2
728
2
338
508
928
936
304
485
27
322
89
216
627
625
32
425
888
886
731
931
236
659
375
292
217
916
197
407
912
812
313
998
719
979
616
719
942
162
474
419
394
652
661
734
116
899
371
748
420
121
138
947
664
514
215
58
583
889
286
668
522
142
376
679
635
33
496
802
950
135
845
246
235
667
395
707
758
160
251
556
353
552
516
871
690
359
285
562
304
19
995
394
694
392
611
149
784
637
21
514
137
399
585
537
565
297
979
666
209
191
377
429
740
642
504
814
43
210
318
269
666
19
892
37
325
72
564
224
991
366
597
616
406
735
393
744
422
738
738
110
194
595
742
832
116
362
852
145
334
58
789
364
846
429
340
927
458
399
680
93
339
24
306
701
517
942
727
184
418
892
757
645
467
879
658
411
858
940
365
946
822
268
757
356
92
680
246
43
861
9
963
244
158
13
474
265
486
863
277
273
542
45
272
371
18
801
49
538
808
856
96
712
439
231
973
934
148
400
75
18
862
925
886
631
263
954
490
37
229
667
689
2
213
806
287
521
534
955
978
102
130
93
788
297
62
274
221
76
931
974
95
405
432
774
553
90
446
563
873
550
459
373
536
672
580
290
463
349
104
615
441
557
426
628
562
121
26
806
919
405
460
355
892
192
517
252
111
14
212
769
586
969
831
633
544
878
71
551
245
265
178
827
399
210
102
186
868
614
903
725
970
791
27
121
114
560
623
837
406
265
771
88
608
166
336
754
66
734
203
271
241
226
774
747
67
772
981
232
669
920
516
71
858
213
631
789
486
900
647
762
904
347
275
247
752
44
949
984
805
360
625
689
852
371
937
233
447
146
167
220
889
844
215
929
997
864
650
368
57
72
959
221
840
826
309
52
724
113
523
35
785
608
426
790
155
909
449
686
115
476
160
89
102
57
391
583
329
505
770
177
712
919
738
842
641
995
629
512
453
313
933
861
578
50
681
737
29
260
782
140
258
435
220
11
478
540
255
916
174
74
158
896
919
33
555
403
578
796
153
213
646
94
475
691
779
206
258
558
535
439
311
604
962
776
982
391
971
289
849
69
331
541
895
882
742
762
203
792
681
988
197
936
614
736
510
302
724
23
869
77
549
693
769
653
743
120
317
106
764
265
325
339
419
17
647
724
88
477
782
228
902
566
968
533
336
929
359
550
469
611
368
103
640
395
957
266
339
2
451
11
960
590
459
338
484
106
595
56
219
82
31
726
522
429
301
46
777
592
446
151
10
223
305
859
200
173
699
921
740
166
327
681
528
3
425
388
843
514
612
616
502
779
913
811
813
302
649
82
454
955
702
701
759
484
731
673
822
304
53
934
479
108
218
407
490
554
817
184
183
909
685
553
416
80
447
486
953
902
323
432
257
880
198
965
268
876
244
907
935
349
769
46
168
871
592
450
367
561
915
689
912
19
600
989
807
67
790
444
183
355
978
945
512
437
53
396
198
466
294
145
678
42
995
272
280
85
229
529
870
803
207
293
754
996
861
829
391
909
569
541
220
872
357
650
300
731
571
920
549
893
735
627
33
428
236
984
189
266
582
574
844
977
162
213
602
19
871
818
512
623
469
503
915
661
276
128
26
973
640
959
129
590
625
932
205
247
561
257
455
360
390
722
458
393
250
148
611
153
357
852
143
84
60
899
170
99
867
134
235
810
376
715
282
277
280
914
252
576
64
456
361
530
548
564
648
927
207
182
554
450
48
540
144
292
884
352
94
151
64
466
680
897
19
693
856
682
574
886
962
717
569
79
695
208
216
639
813
220
565
938
412
313
600
9
767
883
788
8
418
39
344
94
636
724
82
482
431
530
491
55
987
329
588
849
793
386
185
186
750
129
414
979
231
95
776
966
408
891
503
251
151
159
717
525
474
690
740
784
790
771
926
206
220
823
533
52
819
158
492
140
854
426
426
463
215
962
869
8
614
759
482
668
496
252
962
430
473
428
479
689
645
59
741
638
426
995
167
130
304
516
283
374
556
750
126
46
76
993
381
180
338
608
980
265
11
823
120
513
888
382
994
209
610
491
60
345
122
913
320
519
933
394
928
202
17
806
413
37
634
544
949
788
443
742
387
932
15
808
231
634
271
631
329
48
423
580
826
456
706
61
840
745
579
962
384
126
68
815
328
798
665
846
522
452
458
417
813
162
255
496
325
183
33
963
276
641
420
493
602
915
838
718
805
757
588
168
813
828
407
214
75
400
997
870
788
424
581
847
920
15
815
694
658
699
266
203
22
421
261
528
620
417
70
603
981
527
321
534
440
420
36
609
294
525
864
426
850
139
937
475
3
330
275
149
207
742
809
785
39
356
902
847
84
594
722
757
528
884
933
200
674
945
959
970
580
620
500
523
153
32
77
479
327
199
125
217
402
20
563
580
236
723
818
459
726
447
20
687
960
607
414
217
468
116
117
86
253
300
989
976
662
594
741
538
707
675
427
781
122
755
61
970
349
139
477
450
601
32
466
746
351
766
873
90
933
319
590
263
377
2
364
263
287
680
858
842
340
742
722
417
928
307
285
172
591
836
63
462
141
395
478
779
795
313
74
575
206
859
30
275
35
886
956
626
560
72
798
359
894
530
193
820
558
50
735
815
543
192
454
430
462
757
260
3
112
922
224
720
560
456
360
563
847
991
992
434
564
287
885
342
832
780
79
467
664
488
741
766
304
507
439
559
906
945
940
150
809
81
7
160
771
992
713
685
737
638
443
787
105
636
145
98
4
562
333
536
799
629
36
203
884
36
196
557
852
81
944
852
283
432
872
661
731
510
624
20
962
82
125
372
145
535
314
995
474
237
531
79
659
612
571
938
849
260
13
116
763
515
631
282
286
361
567
915
312
459
477
713
373
416
43
570
474
62
90
729
604
677
40
438
573
571
582
1000
218
421
266
643
487
9
169
35
627
840
927
582
484
190
191
878
942
723
996
810
638
772
644
833
389
728
423
916
239
763
909
453
609
297
636
245
813
170
664
274
131
519
909
584
671
708
167
48
531
484
421
180
116
749
367
444
40
927
103
692
716
938
561
473
631
231
591
954
268
139
547
112
851
65
879
653
375
663
478
875
910
224
492
281
748
922
881
311
813
468
272
994
661
959
536
674
534
410
100
215
172
523
195
250
520
752
147
117
33
603
314
79
31
422
470
332
410
620
290
61
98
417
54
516
821
680
887
685
103
391
615
613
939
577
815
869
265
303
754
952
136
465
669
652
547
660
303
531
940
386
689
710
747
178
918
88
771
62
40
970
800
884
289
855
627
643
576
763
561
982
510
73
590
327
291
302
582
30
469
653
317
32
913
428
659
209
334
593
902
548
359
908
166
773
455
5
742
834
985
729
440
935
274
875
330
403
867
159
752
782
82
918
89
953
549
549
615
989
688
140
661
684
966
118
460
402
342
961
289
965
518
203
948
775
498
30
188
289
473
722
434
233
236
88
43
682
184
834
355
231
441
477
41
991
811
30
560
99
58
188
75
740
502
150
858
433
7
534
4
464
257
61
292
917
604
826
140
703
915
985
918
350
543
665
322
90
980
714
104
955
805
701
257
188
241
200
620
239
40
992
993
30
390
266
40
989
287
306
687
510
101
409
222
180
91
995
54
69
275
955
889
852
358
295
147
345
401
38
575
268
530
171
353
719
254
146
467
880
915
64
764
916
369
225
896
935
241
156
304
109
19
576
514
745
786
26
265
190
635
37
412
930
647
790
139
130
885
183
707
196
991
108
904
610
869
534
364
431
372
656
140
356
133
15
278
182
430
943
635
829
465
151
874
812
579
563
368
233
666
727
758
877
495
275
14
974
778
926
178
547
491
491
372
39
449
151
322
93
118
70
345
929
411
49
717
765
572
495
390
112
269
453
254
596
728
833
559
134
56
247
600
943
901
61
540
847
277
375
27
808
648
636
340
405
375
504
920
249
211
424
497
965
847
54
487
413
412
344
981
274
450
608
439
25
108
341
157
549
223
922
661
345
507
559
481
350
264
32
139
921
962
818
792
351
477
195
672
681
42
764
381
196
750
649
129
163
982
301
194
866
259
438
271
928
843
175
842
227
875
777
419
477
955
815
301
683
854
713
474
197
477
803
447
128
291
54
62
153
171
572
820
593
36
812
829
776
694
219
264
293
23
651
150
745
19
521
335
980
228
68
775
604
799
531
625
782
713
310
178
935
759
369
395
970
455
250
631
124
455
61
157
296
920
721
274
20
971
550
108
860
603
41
693
48
401
236
549
670
961
722
788
560
179
656
703
308
481
596
939
502
607
181
551
397
809
845
745
661
151
821
600
793
175
684
856
78
345
525
720
656
542
675
665
405
375
567
448
855
214
911
877
267
690
905
397
366
839
562
238
927
208
601
671
590
26
524
924
802
952
686
428
768
30
147
373
636
208
74
987
925
204
298
577
379
523
384
119
9
196
231
102
73
134
796
425
156
66
8
351
288
659
294
933
261
819
471
851
927
126
907
324
264
20
977
577
428
682
829
418
853
485
412
574
684
556
503
824
486
226
209
415
219
111
63
888
922
132
348
248
426
65
723
346
675
65
607
462
914
218
987
322
85
358
513
234
273
264
793
555
911
900
769
484
796
512
959
20
632
271
111
1000
969
618
523
316
892
645
866
760
776
640
877
486
735
396
671
711
116
5
765
139
593
635
107
536
889
226
549
53
176
126
236
172
547
444
324
608
696
288
275
94
170
128
770
746
105
235
890
646
348
513
832
302
279
79
863
933
444
622
613
886
301
927
105
31
21
927
74
699
293
307
270
567
494
13
420
923
463
950
433
897
298
801
272
581
290
167
601
435
135
173
1
21
24
250
20
889
89
88
825
408
934
621
530
418
672
500
545
869
971
683
456
996
85
690
14
197
773
569
760
480
265
808
733
238
197
272
462
177
500
747
150
382
786
823
553
910
677
641
560
774
869
521
897
858
457
601
691
163
197
379
852
694
924
508
363
524
312
275
609
785
522
936
811
842
57
494
478
479
314
556
557
713
915
631
612
743
879
591
927
651
99
57
913
670
387
153
580
245
561
403
96
640
655
555
680
565
362
771
163
128
243
911
539
453
66
634
767
455
880
633
882
605
82
623
204
985
771
625
69
580
148
664
26
543
601
288
907
129
354
168
510
74
264
641
897
501
411
240
471
810
637
160
50
608
64
101
160
469
937
152
612
190
846
187
236
249
475
761
338
397
588
640
37
642
838
919
145
408
359
124
664
337
820
845
298
990
769
205
592
728
645
911
450
151
808
728
807
801
276
955
185
262
648
900
708
411
871
385
901
318
72
57
260
239
684
643
163
202
481
291
134
915
953
874
885
128
627
419
829
113
597
867
946
632
516
990
6
612
740
617
116
771
150
288
528
600
404
70
396
419
39
540
947
746
876
905
140
801
642
781
411
805
595
420
573
669
196
94
255
767
572
856
560
758
565
172
734
843
672
745
752
414
79
406
666
778
284
114
462
543
504
972
948
282
206
625
888
283
586
609
201
594
771
978
548
18
846
48
26
441
535
174
40
666
541
307
602
921
60
451
481
349
979
297
627
69
610
991
256
864
599
459
835
142
797
720
927
591
512
373
575
870
485
787
412
728
406
567
192
216
500
556
816
6
11
960
196
397
949
188
505
280
536
665
464
195
196
149
302
622
759
99
960
819
803
220
910
838
698
608
700
850
967
857
932
528
32
68
975
31
287
958
90
108
708
162
44
914
876
391
522
411
395
304
804
650
145
859
259
786
733
395
163
431
797
920
243
827
521
889
116
355
835
272
513
128
306
867
748
731
636
603
408
713
22
72
667
104
388
618
908
27
611
124
598
504
447
48
473
640
811
355
119
705
408
748
998
62
528
992
795
498
944
195
738
295
470
621
181
259
717
980
330
46
966
168
446
325
904
127
260
711
152
818
593
954
146
307
400
560
946
617
524
881
968
304
474
732
486
687
435
739
968
283
561
971
965
268
276
880
334
726
13
212
20
51
270
342
478
86
385
443
128
506
722
3
849
519
247
462
664
148
618
171
218
254
995
437
549
975
734
155
989
447
18
422
674
511
265
561
340
598
838
193
517
171
194
344
236
854
88
86
633
909
901
894
624
795
430
705
938
344
741
660
355
523
794
653
970
833
591
84
635
146
541
686
544
194
591
883
58
972
408
923
488
31
579
917
520
22
359
18
371
875
948
193
563
665
703
429
415
596
923
757
957
479
87
188
6
791
488
496
556
657
230
808
477
107
459
124
748
549
516
222
106
704
432
867
35
161
800
909
483
318
606
621
551
709
48
592
685
631
702
600
561
540
671
144
937
898
493
737
259
24
670
627
669
50
649
377
392
228
946
569
168
720
923
3
529
468
399
904
224
903
876
47
21
71
674
209
475
207
670
21
947
916
668
125
349
902
632
520
604
604
160
122
798
222
604
846
341
321
182
989
243
633
296
274
781
742
986
699
404
13
152
242
742
552
727
548
942
965
441
971
396
405
228
701
94
706
590
291
483
425
429
553
718
253
973
694
609
564
394
538
429
850
663
875
950
399
983
288
755
851
866
294
901
216
558
283
478
514
46
513
470
445
327
389
595
416
964
345
477
785
205
925
580
434
126
65
847
605
282
158
848
521
375
221
561
445
286
364
633
708
624
801
47
709
640
859
672
64
947
781
87
871
975
637
396
548
547
329
516
784
221
507
532
979
315
169
283
919
635
889
314
573
973
892
657
624
376
641
713
748
48
224
651
723
493
580
362
166
161
520
939
49
449
586
117
213
361
10
841
732
519
428
407
370
506
556
158
333
706
711
821
191
919
953
919
154
13
594
591
839
812
33
339
304
204
161
908
387
218
93
531
346
400
602
236
344
409
426
785
629
135
589
65
110
54
953
457
612
732
500
761
321
594
259
768
772
112
374
453
286
569
515
69
938
396
758
127
978
906
82
368
118
920
823
347
279
376
812
174
152
526
405
296
448
737
302
952
789
226
864
41
4
278
637
753
1000
633
901
214
495
770
386
800
624
738
730
528
849
53
861
102
663
927
253
806
271
749
926
378
836
326
126
446
891
837
862
858
186
858
865
500
619
87
62
750
854
604
387
795
916
577
575
426
340
357
626
765
435
798
773
637
827
458
126
925
742
70
649
295
410
290
742
167
573
268
530
627
312
43
867
289
336
89
217
757
406
611
798
451
807
354
814
15
641
730
167
469
241
80
785
511
199
730
562
134
339
313
991
802
454
508
731
972
794
953
730
667
87
584
32
128
359
72
60
330
915
354
4
294
653
449
909
645
285
914
213
869
159
320
756
67
103
47
766
754
120
585
889
462
837
255
137
481
294
937
521
30
74
945
203
594
767
690
279
926
460
124
623
446
294
254
834
358
109
223
974
858
860
521
690
212
810
921
269
302
430
645
411
526
621
59
762
532
88
949
792
336
672
38
187
856
26
952
760
711
260
285
814
452
88
749
1000
30
582
672
978
421
827
242
608
789
671
990
971
492
277
950
259
503
371
844
439
566
913
393
682
489
444
583
686
511
478
283
451
600
130
129
516
894
667
15
362
187
736
813
527
574
849
199
918
859
112
590
985
329
294
205
692
840
61
241
674
944
617
983
585
956
49
422
384
436
386
627
253
576
767
679
899
341
108
434
213
47
401
796
672
245
46
432
408
415
680
74
537
969
578
638
250
507
30
421
136
107
53
505
398
645
432
358
943
818
347
322
808
565
796
304
25
66
587
544
811
335
954
754
942
728
733
285
245
322
584
220
432
245
997
476
910
501
658
34
763
734
285
415
862
679
252
390
913
760
129
699
324
406
781
236
961
165
821
787
217
649
11
866
337
649
692
660
605
514
416
346
829
26
761
344
546
569
723
120
484
320
188
260
145
583
713
421
802
144
266
657
804
703
630
343
873
20
883
601
961
405
756
687
340
581
676
273
815
739
8
952
337
822
334
553
834
689
619
77
806
824
746
136
35
687
247
799
824
637
966
661
326
590
93
742
835
236
188
599
429
664
853
596
951
735
199
881
143
380
594
7
682
281
8
513
968
75
881
34
783
298
622
652
376
768
743
288
65
21
150
900
223
695
295
121
360
481
728
790
97
359
123
470
997
376
936
706
593
137
741
224
457
502
690
727
821
762
711
233
99
661
806
138
628
217
265
311
83
244
690
575
332
842
490
848
914
884
867
82
975
719
441
909
220
884
304
520
368
613
728
913
692
322
732
106
439
46
434
267
298
31
428
51
675
278
441
566
184
860
164
537
648
272
483
221
910
899
268
525
921
916
530
634
901
604
26
132
840
85
314
271
266
980
865
558
976
309
92
260
383
262
25
817
260
128
975
365
884
757
687
745
49
415
404
467
944
793
757
25
670
229
603
887
16
920
759
227
195
989
93
197
404
827
558
97
472
31
606
354
320
610
850
572
684
842
968
292
320
355
650
280
947
515
786
319
264
181
209
497
730
249
38
943
193
188
92
801
102
914
871
984
769
981
354
925
86
5
206
91
171
685
32
523
636
528
985
17
593
652
408
867
4
615
128
283
738
251
751
684
518
927
541
74
953
453
489
641
50
137
761
493
894
104
24
216
673
53
56
535
880
94
649
920
295
169
78
390
314
813
266
150
288
714
393
940
821
602
866
114
360
477
463
569
8
104
985
602
229
977
934
636
972
696
581
580
824
770
281
241
963
435
43
835
70
947
174
130
850
184
296
174
501
118
122
873
269
846
201
912
237
447
240
649
612
886
711
624
79
517
221
290
243
567
484
424
763
96
837
406
596
565
922
237
617
95
558
736
31
908
830
808
160
269
122
75
617
391
161
446
409
465
129
385
210
914
551
733
900
464
2
971
493
410
596
681
715
723
893
815
863
283
92
88
13
560
357
442
306
546
673
73
848
590
898
937
661
66
585
30
293
463
690
958
911
613
514
492
129
196
82
881
412
623
713
635
628
658
700
417
174
853
863
420
203
10
244
338
621
362
371
612
929
142
289
154
453
487
87
148
221
418
702
865
517
737
620
616
182
268
482
155
819
792
724
812
384
442
116
634
85
20
459
630
114
965
784
985
508
195
81
758
347
101
990
153
575
341
878
935
964
870
456
912
121
881
387
739
991
925
356
437
5
502
729
162
874
841
224
748
53
434
991
447
58
104
123
131
153
51
885
928
394
371
901
895
667
981
119
872
143
785
613
101
530
139
209
544
594
399
451
92
703
372
671
998
561
20
761
973
853
633
815
320
296
8
966
375
428
863
581
326
563
846
502
136
495
6
142
938
915
522
74
746
17
832
216
736
428
23
828
693
429
497
311
419
417
500
271
40
686
10
335
172
910
902
17
880
161
38
304
162
884
120
685
507
46
726
91
668
552
954
550
432
146
449
424
572
200
456
755
599
211
682
593
200
363
428
189
416
202
408
571
764
344
159
343
465
135
739
509
871
356
665
742
8
399
683
808
858
801
21
773
645
688
224
228
931
454
549
1000
742
948
144
737
345
581
942
290
488
976
263
65
125
251
608
345
704
574
31
164
46
360
787
449
756
392
624
25
879
149
254
543
190
872
5
579
140
223
637
929
954
911
586
612
809
344
674
207
317
164
458
927
789
526
941
270
853
117
325
189
68
185
861
435
94
329
601
179
834
378
52
44
729
479
321
393
29
395
290
126
449
134
812
213
79
222
670
937
806
352
282
96
789
650
738
473
710
545
765
487
648
40
666
276
403
224
92
420
15
27
753
129
51
532
818
12
942
668
815
463
293
705
274
301
616
814
261
552
384
858
178
139
655
724
908
848
767
742
473
104
751
182
825
17
218
358
328
627
394
650
774
521
903
585
463
792
668
218
37
820
971
207
235
528
361
368
683
534
547
985
166
136
869
830
571
141
235
674
815
366
636
45
654
45
494
126
201
493
120
2
364
95
506
868
175
116
526
477
151
889
385
810
440
615
781
927
454
447
865
970
122
489
508
584
676
76
801
362
94
24
971
490
952
519
119
449
445
7
244
517
757
715
71
787
813
429
71
624
670
756
898
778
460
395
187
880
828
862
287
657
307
699
51
22
884
477
209
124
329
759
263
563
508
793
23
244
989
884
131
722
745
302
945
537
651
71
137
694
768
206
258
380
129
787
283
39
836
752
858
123
815
455
564
194
500
848
19
570
41
587
49
382
370
522
479
707
629
775
313
456
976
65
212
831
777
12
203
414
539
938
503
477
719
20
185
634
700
780
179
772
846
569
745
86
498
84
129
131
189
989
604
39
160
398
449
420
457
313
716
35
500
104
854
998
59
786
296
156
970
134
198
271
770
675
362
838
677
182
227
654
975
602
541
772
908
267
925
92
677
843
111
639
961
700
62
526
675
312
523
718
348
823
822
955
600
184
901
628
650
66
602
983
738
359
243
720
590
182
362
6
803
228
323
895
121
723
142
415
98
450
527
868
577
105
587
481
733
694
110
138
187
830
618
802
826
549
615
197
514
701
603
456
870
72
447
738
598
123
636
271
680
665
825
881
879
803
792
831
606
252
621
699
183
448
475
138
932
951
805
541
327
282
216
57
640
709
499
948
146
471
535
944
958
597
866
161
990
781
739
105
386
732
338
500
994
62
750
974
96
25
898
130
670
376
352
163
914
211
430
987
621
862
450
767
281
884
360
881
431
665
208
581
897
467
75
47
30
515
190
114
944
351
868
658
80
780
855
549
90
640
389
81
198
84
26
43
681
225
847
884
44
821
191
13
813
125
444
870
595
139
757
295
193
327
780
652
144
231
612
334
973
556
235
553
834
23
616
785
993
700
528
824
763
575
875
181
86
844
989
479
978
791
924
555
390
109
239
244
903
262
165
163
835
768
298
405
985
327
197
709
231
339
337
564
646
686
870
699
634
609
582
576
797
138
214
844
919
802
89
188
502
293
564
629
723
344
394
152
575
319
538
466
205
934
264
821
155
74
693
60
274
882
50
511
582
196
998
891
238
904
364
137
100
984
474
951
21
859
89
905
205
152
623
139
398
111
939
60
680
789
497
940
908
480
72
988
624
113
538
314
384
997
489
157
15
833
534
902
257
909
207
702
625
226
316
975
85
646
445
643
321
238
56
753
956
712
311
28
61
204
282
990
713
693
729
503
134
23
960
984
164
856
597
96
448
848
282
382
706
31
403
221
915
656
994
446
41
749
804
171
221
245
403
665
904
821
892
633
562
522
403
857
990
840
145
983
116
142
155
162
490
295
294
381
312
831
267
560
925
261
600
939
212
998
601
819
202
872
274
486
530
433
57
13
57
31
33
686
112
208
957
2
321
66
32
540
908
79
893
522
693
296
646
542
763
5
139
782
916
695
863
998
543
589
11
705
568
134
258
290
432
538
769
214
869
894
791
95
421
464
936
203
185
405
925
835
314
623
142
96
165
431
789
871
786
405
861
123
674
146
387
223
297
674
646
724
953
815
82
813
916
275
736
719
683
29
847
527
359
306
140
131
876
714
25
600
778
974
562
820
774
357
579
91
121
119
789
313
171
168
75
479
91
748
391
481
847
123
880
641
34
148
860
948
34
108
332
735
274
418
537
389
81
608
839
758
723
500
964
101
765
666
175
792
797
40
489
497
896
40
447
217
960
662
272
415
172
801
467
410
419
486
34
393
431
796
536
683
797
979
169
293
749
709
851
510
822
453
86
924
45
658
53
277
332
820
883
569
125
547
626
105
149
401
727
537
339
624
162
500
627
909
555
163
278
953
704
845
918
907
943
873
189
761
681
25
263
339
279
230
24
862
149
675
850
960
581
95
312
615
349
850
50
754
592
295
271
130
799
109
77
664
2
454
838
669
427
311
370
217
921
871
543
458
468
614
254
883
951
592
408
357
128
468
675
244
491
75
281
111
236
610
61
301
122
85
298
119
386
339
619
519
187
724
397
944
309
579
600
412
943
725
45
16
445
513
347
785
874
424
619
226
976
795
184
935
57
38
112
391
793
619
415
410
670
148
87
765
138
159
29
156
17
542
60
84
919
153
866
127
686
795
729
832
920
650
332
695
688
243
741
693
407
182
941
449
714
246
901
392
868
895
245
196
849
870
18
390
860
396
946
267
374
405
803
127
227
341
248
447
509
343
497
787
153
34
749
115
218
725
157
769
802
553
413
426
429
989
777
350
527
172
438
617
296
729
659
223
896
113
61
768
350
989
729
871
5
867
605
603
671
12
702
2
838
642
316
160
426
563
288
477
645
672
792
410
398
238
861
455
586
432
57
166
367
397
261
707
126
13
572
851
454
618
659
302
918
187
755
971
789
810
664
129
164
924
775
364
128
387
91
959
696
384
715
558
267
149
70
5
258
654
360
834
374
754
424
179
727
745
204
801
604
935
483
519
274
629
434
593
607
856
770
480
687
319
981
993
794
242
226
46
355
281
910
94
470
191
914
883
645
681
715
298
204
806
352
972
667
244
314
766
48
39
932
444
656
745
800
624
457
392
74
569
474
403
237
532
46
379
61
96
946
686
68
425
522
877
714
421
49
316
924
521
421
782
347
276
167
477
889
930
513
588
669
896
912
499
520
438
972
808
562
875
248
545
175
299
696
368
906
171
904
64
450
124
381
374
889
964
318
29
770
195
200
888
461
313
593
234
447
781
224
624
876
844
214
163
738
298
933
690
474
901
507
210
725
382
427
783
161
879
73
262
46
227
215
476
230
704
706
911
798
746
682
494
469
639
503
830
144
404
605
124
728
914
183
66
441
801
326
151
368
843
836
277
931
333
448
960
268
422
594
182
294
515
169
716
313
596
967
746
625
806
614
746
553
650
825
864
618
2
782
526
437
442
272
563
25
542
963
926
816
429
889
5
683
309
748
588
632
696
105
789
660
744
995
602
467
435
654
339
317
376
355
860
388
599
386
392
347
83
228
742
751
669
903
853
82
671
265
22
901
757
761
534
627
611
770
139
935
489
230
565
609
2
626
238
959
389
849
464
609
100
601
602
513
700
262
169
567
3
146
403
89
875
73
530
704
301
61
881
923
179
717
35
786
801
623
376
478
105
570
802
749
635
53
837
296
573
796
79
15
351
434
710
161
121
679
810
30
806
439
350
712
525
398
995
832
953
482
357
981
576
522
897
703
844
158
460
483
966
678
346
195
442
91
876
820
477
158
674
100
67
537
252
955
952
431
27
137
556
372
618
591
738
820
106
439
476
320
972
326
556
809
579
108
973
535
404
510
32
739
697
422
71
900
894
987
302
869
881
461
535
662
192
132
444
43
296
232
594
256
410
881
659
456
691
578
139
439
230
657
424
246
11
422
200
99
870
384
80
916
561
151
807
340
199
8
540
810
740
196
550
725
653
199
99
141
608
94
430
773
840
172
534
299
816
593
831
79
981
777
966
446
655
609
690
680
579
320
176
606
260
57
205
514
969
753
347
778
226
896
657
97
630
190
424
767
156
904
181
773
415
904
565
760
918
3
563
165
89
242
376
857
627
185
409
665
822
126
895
62
620
324
246
106
523
78
532
464
939
446
410
955
172
927
414
605
108
239
780
651
536
640
853
253
203
873
719
958
920
945
891
103
499
403
770
425
834
671
117
102
205
342
966
344
743
984
238
429
65
172
829
791
270
947
82
328
837
860
375
643
516
67
12
318
918
683
733
651
382
777
947
491
649
898
189
965
34
8
454
901
49
72
744
701
919
281
611
281
12
118
524
422
964
10
600
568
235
335
614
647
855
922
241
987
391
4
151
755
545
777
923
669
316
342
765
878
386
822
631
50
239
872
693
677
518
643
40
541
318
487
144
89
426
343
868
195
996
790
762
415
797
229
960
373
958
485
252
372
80
431
796
644
704
883
511
958
382
114
389
397
1
817
849
254
614
241
782
918
742
531
117
521
6
23
585
913
983
316
841
202
409
521
284
711
162
974
687
706
17
41
257
649
797
395
833
72
402
274
717
357
148
795
92
879
11
342
29
952
646
428
862
28
520
183
121
368
84
811
228
242
687
941
936
307
852
769
813
411
598
307
131
562
736
851
196
130
453
960
489
690
37
913
994
66
287
554
745
271
49
929
918
995
265
920
779
258
156
312
408
629
451
408
396
130
56
318
668
610
200
546
135
865
908
322
180
263
551
442
824
947
396
11
37
981
281
601
834
912
996
809
674
362
515
91
243
159
955
76
823
453
22
227
360
27
761
884
784
707
606
197
322
365
112
415
339
540
228
316
718
84
671
298
891
573
763
821
451
444
101
409
657
948
521
395
289
43
179
969
8
305
945
832
819
759
985
957
272
313
112
534
751
133
443
162
595
841
952
755
791
931
747
417
691
146
306
770
534
861
409
809
549
697
242
397
79
709
991
933
453
478
251
551
336
352
753
472
871
908
234
740
221
413
757
664
69
719
419
705
193
526
194
457
510
425
596
601
861
463
948
401
392
224
330
419
587
602
668
570
882
471
27
563
323
485
875
84
909
62
13
749
115
439
860
10
564
354
19
680
994
510
407
709
465
491
704
137
208
202
602
919
662
231
121
444
1000
741
244
133
903
650
281
457
395
871
642
68
361
339
175
526
691
411
797
273
139
945
944
79
626
67
262
189
145
178
51
786
417
224
180
195
160
650
626
447
136
726
274
454
193
147
368
53
116
869
822
605
444
212
645
683
369
94
866
597
457
144
702
171
193
128
187
230
311
769
96
709
448
556
819
180
905
620
783
822
203
56
107
592
696
361
476
385
696
801
591
503
451
590
180
609
841
748
233
682
853
367
54
170
709
817
752
661
52
101
976
914
721
188
93
23
475
632
477
802
478
214
292
244
489
655
926
30
466
678
267
632
750
812
110
497
65
388
292
180
314
97
611
49
593
351
180
370
841
421
619
167
325
6
451
228
483
448
75
36
702
264
993
197
283
84
293
160
186
333
987
608
157
204
451
959
465
576
126
812
816
506
599
15
970
883
389
279
181
591
76
897
910
303
884
191
142
634
482
742
273
910
546
364
742
270
596
13
519
162
694
519
103
537
895
116
895
222
725
218
698
12
553
797
612
992
461
19
785
489
78
496
312
837
923
637
87
816
972
84
544
255
540
174
58
759
66
660
213
960
80
715
308
994
421
332
193
129
808
839
26
609
938
159
576
803
649
846
479
708
73
677
254
671
366
756
918
998
306
692
799
730
38
370
476
464
249
256
836
567
342
958
892
494
543
5
383
234
413
361
136
70
948
295
852
969
312
568
274
892
245
797
666
250
356
62
148
539
873
478
718
906
837
492
716
40
432
160
102
299
901
465
114
459
439
67
848
782
604
512
790
371
997
31
599
960
417
533
284
318
266
311
451
452
693
264
490
644
875
162
403
179
871
571
472
281
673
613
129
386
445
621
182
389
468
112
32
909
941
234
644
931
645
968
776
410
454
960
459
563
799
764
766
579
495
688
683
459
800
174
276
530
165
835
439
908
905
850
181
896
942
412
828
825
839
309
504
340
585
532
974
520
969
3
237
486
933
139
292
354
983
979
128
508
614
30
297
125
695
830
419
853
937
453
555
315
903
837
708
851
484
849
588
558
411
499
426
187
172
522
831
933
635
867
602
485
809
297
965
956
421
352
910
486
404
474
209
376
983
946
167
559
759
606
406
149
89
26
770
529
108
929
977
187
912
163
762
73
829
470
92
767
163
611
490
162
490
160
615
684
428
419
56
279
745
471
681
548
835
312
34
432
876
412
966
803
448
794
132
157
960
904
999
356
45
136
790
44
965
857
83
914
156
175
892
482
279
492
668
404
520
102
64
652
438
698
252
80
349
667
266
968
90
502
148
185
46
468
624
484
439
915
689
281
268
263
721
991
713
748
716
611
487
471
797
795
412
156
418
97
426
288
567
407
356
995
864
858
40
100
615
656
810
274
814
337
912
113
568
933
192
255
623
418
224
377
512
575
156
9
338
137
692
635
351
626
40
473
314
857
110
662
73
447
978
310
929
10
397
31
121
937
170
118
228
783
292
476
334
335
101
805
588
351
95
279
167
847
711
157
725
520
91
350
130
591
802
920
630
903
557
946
679
588
182
934
266
984
500
180
994
800
335
130
110
679
509
756
361
441
625
432
863
274
373
616
114
60
308
869
928
837
368
409
343
124
864
444
463
468
336
963
828
96
435
573
115
18
974
192
898
252
367
124
752
118
957
102
184
702
144
376
781
640
806
837
458
387
226
441
886
965
638
928
36
14
551
944
254
644
186
171
428
170
749
27
649
350
753
820
207
124
295
959
882
200
971
13
305
26
167
918
538
839
525
610
185
515
738
740
22
875
235
860
598
961
952
685
270
551
134
592
888
835
32
520
695
749
441
831
44
940
251
473
215
698
573
37
964
501
539
857
424
996
594
381
629
339
928
417
260
821
735
732
152
632
127
693
741
416
892
293
907
987
726
965
595
248
240
42
190
822
818
561
880
426
358
429
124
290
38
595
920
249
506
982
771
236
308
429
133
12
962
759
639
929
792
415
592
401
546
820
60
544
844
700
394
133
735
151
144
650
952
174
178
659
16
693
247
182
968
840
366
82
364
440
191
631
125
157
955
632
994
741
662
454
623
171
958
310
784
261
516
930
793
473
815
577
1
264
937
955
122
288
347
196
250
149
662
517
645
246
113
582
756
403
721
832
482
636
219
288
404
417
408
389
534
195
934
474
170
825
439
379
617
726
687
489
827
294
494
264
538
109
279
918
88
948
612
457
900
490
385
708
576
842
146
360
642
715
690
240
253
169
218
253
586
292
234
462
219
130
909
755
525
448
792
439
19
621
611
870
595
72
389
940
847
193
274
828
972
602
261
921
302
942
486
241
162
145
859
21
583
250
607
282
385
393
722
430
267
574
400
890
851
135
301
750
73
690
881
250
918
400
69
695
249
71
334
9
429
559
494
771
472
337
705
988
722
909
714
272
423
933
822
377
106
557
986
219
410
478
161
636
803
653
257
107
701
455
110
610
637
262
417
564
452
160
931
577
990
443
89
295
375
101
886
239
785
316
18
917
547
259
235
869
525
190
411
551
995
894
48
125
654
30
788
289
961
819
64
258
758
832
191
887
985
323
25
701
378
694
840
312
202
158
216
282
457
645
535
997
500
278
152
550
679
523
433
915
429
245
630
946
235
456
990
849
16
492
594
814
780
752
173
451
857
847
527
487
588
243
273
979
165
18
321
934
195
379
887
791
639
945
842
715
41
639
923
1
307
210
632
220
868
42
682
869
748
918
469
443
919
822
382
819
329
734
733
763
183
555
673
184
341
999
793
493
221
305
999
43
203
96
862
163
337
574
884
763
107
501
36
788
111
116
461
116
762
187
470
604
573
917
839
75
118
309
897
20
523
879
147
653
229
349
948
752
782
28
309
409
648
143
988
409
379
281
916
472
976
463
405
988
959
80
750
202
499
93
584
38
916
442
810
851
20
554
1000
473
33
227
910
832
305
923
160
271
636
673
191
475
770
412
324
548
552
500
116
358
325
637
240
752
359
134
799
602
494
743
329
955
735
847
729
726
227
828
37
490
893
879
239
931
38
327
312
409
389
816
285
928
360
286
402
521
821
805
389
674
279
705
449
979
183
384
803
620
13
376
567
658
897
990
244
345
814
882
378
824
793
435
775
690
160
695
197
816
556
923
669
743
392
546
336
742
405
372
327
298
200
484
231
422
36
135
597
653
580
315
341
63
81
383
61
854
181
325
37
412
618
722
138
749
168
495
932
369
493
846
66
470
8
594
358
302
475
259
119
203
814
863
953
548
517
385
613
358
149
192
561
846
636
611
555
505
429
969
896
678
189
60
15
690
322
42
693
773
560
145
535
987
792
450
284
245
527
213
178
412
672
858
826
112
831
822
41
552
917
878
615
191
715
451
310
521
937
682
216
588
457
699
195
119
643
614
350
296
152
275
322
291
104
688
751
614
289
316
422
263
971
188
454
395
860
856
391
961
46
759
209
352
50
477
52
573
644
698
991
914
759
454
211
380
658
336
809
365
480
936
832
205
450
727
263
258
307
978
410
106
975
29
570
347
89
461
881
158
780
282
5
513
997
201
649
466
775
501
967
436
30
810
557
741
912
249
130
990
223
102
894
72
178
129
385
609
581
88
757
755
540
870
524
100
6
874
365
287
731
920
882
659
740
6
140
886
40
739
391
57
86
59
658
162
475
207
744
253
437
531
777
793
971
819
648
914
875
333
548
318
510
613
344
575
857
432
725
417
320
976
877
439
772
443
962
289
538
784
806
47
371
223
30
985
979
531
319
310
348
774
633
823
908
386
962
636
594
993
655
229
967
340
426
151
886
77
925
639
634
883
118
239
39
639
827
307
882
881
458
899
787
825
338
142
909
573
114
653
902
990
324
936
100
874
635
998
344
729
186
594
610
401
185
628
442
323
171
229
208
906
338
933
374
885
950
241
287
36
133
498
490
778
275
735
173
592
863
591
212
78
813
900
139
725
283
895
563
165
480
198
754
738
219
949
573
717
861
501
481
409
756
52
93
666
546
508
648
38
489
610
779
928
468
85
202
612
529
175
271
933
562
370
880
786
226
650
838
283
352
765
702
599
809
409
999
74
272
178
923
99
415
315
900
676
813
132
831
304
197
880
462
45
839
590
64
176
477
43
567
843
634
631
302
529
157
322
810
929
529
319
507
60
824
312
572
27
176
390
100
906
286
781
453
606
819
623
707
431
468
833
315
289
130
997
383
139
888
907
470
328
438
8
452
915
179
562
770
959
459
751
359
4
340
325
631
678
823
636
178
409
696
54
249
739
11
852
666
630
765
589
534
433
512
936
23
930
483
644
531
941
302
64
728
539
508
216
349
813
954
930
121
483
545
961
858
378
985
323
606
963
909
306
686
630
251
760
630
447
783
272
285
396
489
807
834
927
872
239
67
830
323
923
5
981
412
163
907
547
332
967
749
604
747
958
513
929
996
714
3
949
922
50
437
418
615
4
800
435
4
333
751
844
524
377
927
867
90
17
652
86
189
316
355
524
205
106
522
618
25
460
615
365
548
494
203
739
995
393
487
798
790
919
517
542
354
883
660
675
394
261
290
923
87
673
257
443
146
923
413
168
899
201
368
632
365
287
693
944
823
850
979
97
495
473
529
717
792
591
959
698
45
902
673
914
737
149
977
330
66
396
598
384
66
31
508
504
641
796
239
937
586
49
326
876
81
352
142
38
217
194
113
416
796
356
265
939
67
966
89
147
35
771
973
810
707
546
813
613
962
832
985
654
722
392
532
514
775
870
297
85
884
154
740
188
816
834
345
237
506
994
835
850
888
260
937
380
833
697
10
774
235
665
715
34
537
168
792
852
883
623
168
625
649
189
849
180
315
981
472
997
522
549
989
630
673
986
664
327
637
902
461
552
945
286
938
232
358
979
985
61
862
62
60
141
941
3
133
554
430
761
190
205
407
433
969
417
334
186
623
327
91
395
81
65
661
919
222
84
951
404
412
764
635
322
547
608
985
264
526
900
347
598
984
728
316
234
204
624
664
660
347
912
792
837
520
46
786
784
772
823
179
921
784
411
159
293
877
524
278
840
1
921
691
762
491
657
548
863
748
141
488
472
456
117
66
173
590
152
567
109
272
47
914
75
461
898
240
949
610
189
311
279
626
370
144
7
958
901
86
353
142
587
113
898
924
386
312
736
939
527
348
395
957
933
196
899
945
441
605
920
515
228
542
539
862
231
336
457
948
22
383
901
529
806
13
629
605
723
605
604
980
604
74
927
956
704
648
576
614
696
216
320
721
376
621
970
117
155
968
747
297
330
396
161
22
611
778
221
998
99
538
209
65
173
47
536
870
343
135
368
715
133
837
821
104
503
863
547
545
145
194
409
327
224
873
792
313
785
304
791
271
102
328
188
915
686
931
614
603
560
673
777
603
660
855
976
940
892
973
350
103
492
251
509
300
779
892
244
539
325
233
975
528
842
161
497
295
816
5
373
451
9
595
968
227
489
342
799
795
767
16
296
847
956
338
536
127
593
643
813
398
941
649
119
335
104
789
761
943
269
672
361
429
749
958
435
874
262
378
585
674
75
646
120
487
203
747
539
325
870
464
925
513
802
17
737
485
751
384
881
741
844
208
226
859
969
205
923
154
426
614
990
415
508
574
607
189
489
242
513
226
769
132
684
42
535
380
207
22
377
629
896
149
737
772
722
201
942
78
597
243
849
92
352
334
789
295
72
623
595
691
41
438
987
395
667
548
468
797
723
510
213
74
82
878
109
659
981
132
252
777
456
368
695
312
269
124
193
63
95
271
11
941
178
545
606
757
968
111
132
36
491
554
274
730
315
814
888
804
16
888
252
374
8
552
546
547
422
994
329
110
498
972
370
954
590
75
182
520
487
691
4
518
188
569
772
922
673
202
835
538
492
837
784
468
186
597
775
415
654
71
171
123
578
730
135
183
941
699
84
64
481
742
507
510
653
803
758
379
294
67
846
594
733
320
142
105
518
326
167
690
291
42
329
967
591
761
530
202
532
696
85
387
353
81
255
565
841
607
36
595
483
891
521
359
988
729
291
931
543
75
789
377
717
51
583
659
481
797
728
588
189
656
207
887
698
996
552
215
25
954
308
417
66
544
964
380
943
844
329
608
485
429
118
23
205
843
662
591
859
636
283
48
396
442
807
404
597
615
137
915
244
210
584
898
2
456
850
121
481
410
208
473
168
209
405
287
985
160
268
2
242
949
817
801
691
394
918
502
159
515
182
233
2
155
828
396
231
46
730
964
699
978
693
450
186
717
304
758
574
388
356
706
525
323
950
209
295
790
845
4
318
594
540
295
222
255
870
922
790
398
594
468
168
981
585
211
322
223
741
21
349
452
665
60
721
570
492
654
7
554
999
784
874
177
241
474
442
178
551
740
161
190
676
871
446
71
180
587
218
702
37
975
373
958
491
195
935
277
871
668
335
211
993
796
790
387
237
338
268
570
131
211
883
868
519
845
842
700
992
230
292
825
278
400
470
594
723
481
603
606
819
315
891
98
980
365
731
754
406
835
74
71
944
896
405
72
282
505
427
955
712
521
908
199
939
776
550
773
112
256
966
347
310
820
21
823
244
722
866
84
790
741
950
589
294
906
195
317
296
655
297
639
427
737
796
855
758
349
186
526
807
801
807
219
739
450
699
967
43
790
902
569
99
350
905
818
617
495
96
916
881
304
87
605
88
454
718
989
853
446
434
652
130
558
429
423
363
640
662
51
698
217
387
154
454
417
315
9
879
913
931
159
400
413
732
339
221
218
391
948
98
47
916
112
604
608
889
444
979
377
797
735
933
668
247
149
387
350
626
992
229
503
360
737
571
900
481
794
897
445
652
472
743
600
137
671
232
394
479
101
865
828
780
282
468
358
586
97
86
655
300
446
907
51
987
422
24
902
159
468
944
594
878
184
289
89
68
799
27
693
454
850
957
222
964
265
858
838
724
884
893
622
19
416
393
382
716
991
113
270
680
746
418
568
659
326
605
350
964
814
786
842
18
334
292
975
514
522
586
29
495
106
51
275
133
89
810
211
359
407
977
332
809
475
313
380
710
751
307
640
445
275
124
209
554
187
686
75
798
367
401
514
791
682
700
560
362
812
581
241
490
238
845
894
177
800
530
64
45
160
373
454
818
633
748
919
103
87
673
711
25
47
911
70
353
719
125
786
742
362
330
513
552
344
598
496
541
247
95
835
395
593
19
592
652
122
985
827
101
53
685
149
127
452
422
452
818
626
255
322
834
465
34
1
214
793
582
915
295
56
619
502
874
170
821
475
606
905
565
739
353
1000
491
867
905
69
32
436
9
477
406
537
162
572
431
463
980
46
659
923
240
765
17
126
905
75
87
717
500
473
644
890
271
541
880
931
410
192
967
98
485
629
281
991
925
873
666
540
38
382
527
290
590
41
478
934
378
800
476
937
644
286
86
664
352
37
594
629
584
383
176
355
330
581
217
879
938
573
202
104
377
570
270
38
235
764
671
478
81
632
875
829
413
670
989
572
910
900
515
346
147
173
170
748
198
93
679
725
839
408
968
858
133
803
174
949
258
359
222
48
360
394
518
480
68
965
465
469
59
146
97
695
733
27
115
481
608
546
12
320
534
419
766
181
202
868
785
315
694
382
419
332
42
430
358
935
837
918
668
33
941
192
54
903
281
550
168
704
486
561
434
919
902
969
921
230
96
578
217
950
545
350
187
328
603
852
690
18
234
329
69
488
212
914
291
431
671
941
72
53
964
859
286
678
740
18
185
288
46
446
713
437
39
823
299
505
586
21
23
394
642
944
992
575
769
944
90
861
610
707
996
431
415
378
525
355
968
639
893
362
362
611
454
637
148
743
842
211
273
291
202
894
129
607
383
779
734
224
546
24
772
618
625
49
757
635
476
242
75
792
363
32
37
19
619
446
346
10
934
339
600
996
780
74
532
650
846
799
687
808
251
380
187
913
502
709
988
343
825
365
823
342
553
548
604
844
693
796
624
318
690
237
330
694
639
38
774
538
916
276
143
913
225
646
874
763
617
343
988
272
871
923
195
332
960
182
244
170
31
909
755
240
436
865
467
648
866
505
448
771
591
762
286
218
105
679
732
974
249
796
556
368
16
982
596
500
775
825
142
913
662
808
799
557
177
212
930
573
868
122
633
20
108
946
951
422
578
603
679
950
59
864
708
110
517
416
301
53
289
834
90
3
350
65
874
845
312
954
469
621
752
37
977
531
974
129
855
40
67
190
35
895
425
580
221
132
485
99
159
687
541
131
349
805
909
810
166
303
599
363
834
622
941
713
18
766
239
945
78
460
662
492
165
276
38
748
423
83
125
350
541
853
229
557
752
800
753
985
189
842
372
474
195
572
49
998
758
301
30
336
794
237
306
717
362
530
741
733
243
742
239
624
540
285
853
462
59
512
714
848
301
415
7
491
811
373
3
437
493
967
328
775
254
655
234
363
989
21
622
495
500
381
972
452
422
765
129
559
569
680
98
728
465
597
636
449
948
822
414
847
884
251
993
741
16
519
650
592
862
246
349
874
449
382
808
637
324
145
634
23
970
690
994
33
262
424
113
129
48
852
199
128
285
939
47
439
426
213
668
868
894
298
768
128
575
99
815
694
209
618
714
836
450
250
835
500
155
471
234
213
150
18
455
334
316
11
199
780
352
999
493
829
975
570
739
718
636
975
148
545
62
238
637
391
52
315
206
702
999
190
197
700
555
239
579
988
688
787
623
599
163
572
856
422
116
715
227
347
957
902
790
458
340
690
992
333
279
267
907
804
807
488
321
565
749
785
642
652
280
324
991
130
962
856
700
282
834
854
647
239
976
838
553
241
675
313
350
667
952
337
257
567
759
561
11
670
569
519
7
742
465
58
746
730
67
61
113
358
791
30
450
685
36
671
323
686
823
366
160
98
319
289
659
602
469
981
977
928
624
383
206
596
682
703
631
855
739
983
514
801
678
925
966
821
429
335
558
258
863
553
905
634
404
339
408
877
492
23
692
708
963
141
61
794
264
395
472
279
171
554
88
83
357
806
496
668
689
170
34
39
649
791
507
436
622
336
747
469
94
254
116
504
994
365
53
719
510
88
200
571
713
647
466
388
249
744
648
416
140
540
845
923
509
233
979
913
630
189
181
571
259
361
657
839
653
675
947
384
13
199
134
818
355
126
666
234
966
66
934
964
685
694
645
54
197
533
328
71
435
543
36
748
952
237
391
431
821
231
664
488
237
503
507
599
460
147
273
355
206
64
608
701
853
885
150
520
88
373
707
117
750
703
267
437
634
313
522
602
999
467
401
744
336
280
246
205
744
711
877
833
886
953
756
547
92
729
882
297
636
231
822
299
602
817
517
709
26
142
102
938
219
86
4
440
235
710
997
118
508
467
753
476
531
80
638
234
314
823
170
440
69
399
582
12
187
296
428
266
118
229
997
204
217
294
593
256
952
516
408
733
120
759
800
448
910
383
278
848
685
607
390
523
339
258
3
142
975
495
202
703
431
118
101
501
856
295
430
337
175
865
653
329
743
933
723
148
928
94
306
610
676
480
468
338
325
794
364
668
72
638
407
8
535
724
801
681
784
24
40
604
86
507
214
294
323
887
471
343
759
704
47
914
350
163
627
831
281
373
606
508
819
996
41
320
807
912
696
3
366
140
591
326
436
177
906
602
813
872
914
544
237
164
864
615
909
314
381
295
537
757
988
619
654
313
835
931
447
336
560
48
842
267
506
934
872
235
158
531
662
543
788
639
492
349
748
562
488
392
783
817
450
379
990
346
216
483
819
544
737
517
561
883
752
477
343
91
510
564
540
640
539
264
870
771
838
762
158
387
201
771
923
965
603
859
467
18
701
476
131
774
557
181
723
462
605
37
911
8
762
716
540
994
320
656
418
468
910
494
112
539
430
103
675
736
254
779
49
802
473
515
70
908
146
837
643
300
793
391
648
12
410
306
597
632
316
402
857
25
54
433
529
569
371
937
694
740
40
700
799
794
912
505
415
906
114
613
458
372
766
404
237
362
931
659
372
298
758
295
705
130
963
717
818
672
831
577
662
653
923
434
114
374
529
705
978
655
708
338
62
285
448
850
484
320
73
704
284
408
524
544
770
749
563
448
722
466
268
201
786
901
394
564
876
804
318
659
414
479
320
875
568
679
905
152
434
463
682
121
284
278
124
324
572
250
154
648
405
33
87
222
546
605
920
215
861
72
361
374
284
889
255
705
25
898
266
368
749
255
771
736
882
597
929
576
38
787
798
464
794
201
183
906
689
775
646
74
387
997
690
739
362
589
739
757
387
891
892
434
326
861
854
165
431
147
657
60
430
930
951
630
171
85
736
232
481
750
343
662
219
571
388
210
195
732
183
498
726
383
791
653
170
218
513
712
648
783
96
659
532
542
358
174
14
870
253
8
197
892
613
853
725
563
949
735
912
426
698
256
696
280
293
431
518
350
228
514
399
650
95
928
85
912
186
375
86
848
864
238
876
529
335
642
274
366
881
926
287
486
855
811
255
329
965
271
207
934
452
933
723
662
788
895
469
133
413
971
778
702
865
732
312
144
364
173
894
94
566
491
42
438
699
226
624
36
780
6
301
121
933
207
112
222
81
116
641
730
467
618
696
47
512
971
305
820
487
2
173
933
365
909
413
779
10
926
507
820
539
295
960
600
294
342
39
196
378
975
318
546
110
597
507
212
67
225
156
934
617
621
415
737
973
356
957
479
819
38
554
428
535
359
562
919
852
258
736
141
568
236
411
866
580
775
26
276
86
913
413
95
247
226
38
881
28
884
610
733
169
969
81
595
478
969
75
49
701
186
224
772
252
842
710
799
977
806
559
358
970
218
871
340
149
743
232
354
966
843
1000
971
124
239
31
955
656
687
683
203
29
311
589
691
227
973
819
907
900
598
492
148
755
954
818
574
325
93
862
111
128
565
3
111
39
566
194
203
363
356
651
902
699
670
510
357
216
342
340
89
334
14
132
697
158
677
530
266
204
713
619
672
114
284
555
60
67
200
669
505
562
836
454
295
73
296
41
311
851
748
308
704
791
833
801
453
867
52
21
386
98
330
425
970
396
316
712
476
924
501
582
160
805
1000
145
724
85
612
637
651
903
882
875
956
694
959
173
543
90
463
40
602
896
979
85
447
165
485
957
767
901
780
53
510
403
963
978
543
568
83
430
754
765
371
247
523
19
875
864
316
346
883
313
720
19
273
193
409
445
801
761
349
127
372
408
104
844
580
279
183
830
101
760
251
179
88
862
435
175
357
279
121
510
984
49
378
617
926
281
616
448
385
393
151
80
979
650
105
463
184
573
473
477
142
956
247
226
697
834
206
152
424
697
351
106
504
679
985
21
519
227
138
177
646
979
366
355
245
170
954
360
569
948
204
489
152
358
799
549
460
630
213
901
556
612
724
852
858
855
919
442
527
906
450
286
710
812
461
670
595
715
281
568
238
683
948
546
199
599
639
838
283
8
324
973
143
328
821
452
4
702
963
924
583
92
783
185
93
911
429
133
313
604
63
474
886
121
125
603
363
134
144
562
26
200
783
410
197
796
870
644
560
308
4
539
4
615
720
397
631
831
294
752
879
193
41
490
141
784
321
716
888
17
565
949
45
349
335
879
310
706
787
489
164
476
970
841
557
758
44
163
655
722
867
200
549
592
376
963
554
753
855
113
571
929
496
220
2
191
608
62
863
828
457
919
88
719
23
568
482
920
841
302
420
640
751
828
192
629
561
356
838
286
595
524
413
456
600
65
913
989
740
292
481
605
273
527
108
508
5
587
762
510
846
312
776
104
592
924
368
68
585
657
358
690
29
755
509
621
581
381
448
722
266
443
743
987
921
616
612
766
128
96
644
104
39
732
103
908
591
230
664
74
340
54
866
444
578
511
200
656
411
249
487
516
239
65
140
530
416
488
968
621
915
78
408
851
500
744
482
180
252
702
276
926
287
851
498
571
166
476
461
37
800
169
919
326
617
773
282
732
390
991
134
399
395
996
390
121
501
33
122
692
392
524
844
988
362
637
5
262
37
631
555
756
921
535
695
878
887
885
359
625
625
311
530
869
544
747
249
413
859
891
41
416
391
370
532
922
140
707
249
741
823
836
919
855
383
376
128
848
951
310
842
616
842
19
143
746
978
858
492
505
533
574
987
339
702
917
363
152
246
730
937
398
858
652
319
202
457
329
448
297
250
684
451
577
735
360
898
434
894
941
238
859
472
909
619
519
602
608
800
584
17
666
614
151
750
415
239
515
547
873
599
357
150
759
354
189
260
803
269
23
264
391
248
275
716
150
932
396
200
664
584
568
409
939
901
75
197
565
528
650
914
815
296
165
564
40
631
526
168
829
147
538
277
335
185
791
741
85
935
351
688
347
810
117
165
850
983
268
52
218
296
119
651
13
323
48
840
675
978
904
791
980
946
435
31
835
143
842
62
391
575
515
848
472
265
370
218
252
350
981
642
992
63
877
905
364
86
958
886
589
668
966
82
149
979
348
476
334
412
657
79
244
917
831
810
172
9
310
359
467
785
980
339
83
145
343
352
35
415
154
551
874
756
25
898
127
61
87
605
361
502
917
173
169
569
359
51
908
209
728
145
452
606
179
368
589
311
683
920
941
615
140
255
427
542
656
536
394
381
882
897
477
410
655
62
154
361
841
653
734
221
441
61
222
151
503
886
87
670
338
762
478
769
847
870
834
272
532
519
166
613
885
11
481
145
412
393
1
265
506
809
807
924
755
930
517
520
15
289
455
822
800
483
506
289
68
847
516
103
522
636
686
281
914
728
851
495
640
592
935
583
134
576
151
302
183
574
720
563
287
788
951
247
643
606
578
718
144
600
105
305
25
223
771
371
449
139
454
48
353
965
458
362
361
879
673
278
411
728
28
121
19
219
536
959
797
306
425
780
897
130
93
723
567
702
603
200
882
93
489
464
32
46
460
79
242
769
418
796
512
198
872
515
919
116
448
395
84
375
683
685
818
913
712
485
636
366
776
527
12
889
692
994
781
192
570
564
57
925
90
155
414
274
580
281
815
26
31
563
987
449
877
678
493
21
76
957
776
416
586
916
794
213
781
251
722
437
767
179
376
411
809
592
613
388
303
167
36
75
808
437
685
483
652
843
300
509
565
953
929
246
578
354
333
336
163
233
660
586
233
242
362
679
126
113
142
32
180
364
27
788
803
602
330
471
254
153
331
42
468
193
23
982
341
113
133
554
879
587
976
569
461
706
338
826
287
579
784
910
758
3
226
156
123
151
573
425
264
771
588
773
863
13
812
263
548
864
597
882
805
136
785
32
613
83
589
95
743
38
540
356
661
887
183
952
778
830
346
591
575
605
407
477
764
317
972
281
251
42
766
992
104
648
341
193
123
627
427
636
911
305
344
993
507
486
935
299
758
432
885
931
627
107
150
928
500
791
437
69
430
461
325
412
924
854
686
936
556
751
498
505
195
800
29
645
81
174
625
487
358
444
14
840
886
326
139
529
359
359
993
30
778
175
846
964
349
720
556
162
714
714
341
923
238
628
541
495
751
715
375
42
752
943
670
124
579
208
835
192
472
891
113
731
755
597
282
455
603
970
533
388
992
541
202
778
444
913
408
499
138
10
410
41
821
739
683
222
671
152
280
472
953
159
58
934
871
860
722
624
492
851
452
591
985
201
88
380
732
379
453
47
32
80
428
682
226
774
802
677
100
806
774
938
284
49
207
884
241
433
379
331
111
159
48
315
341
35
79
471
558
186
763
874
566
305
223
99
734
765
976
865
255
123
818
813
956
16
655
845
371
983
843
3
793
505
864
10
876
434
889
471
170
11
901
219
633
919
555
430
791
99
882
966
711
660
291
845
354
792
52
885
206
490
579
319
307
842
403
638
921
761
671
991
125
384
375
240
551
742
277
137
352
983
699
184
210
134
887
444
896
347
691
916
420
615
667
162
309
225
532
518
932
534
85
584
48
264
350
672
990
174
700
568
952
831
143
228
889
219
803
57
421
93
853
974
965
309
808
804
45
844
134
428
350
847
596
749
651
880
620
739
131
435
223
779
31
920
742
30
766
599
669
801
826
344
397
761
863
679
564
350
296
283
12
948
701
50
44
189
988
811
817
315
95
50
197
602
514
277
362
720
466
271
735
341
952
26
596
428
246
103
858
435
583
49
42
63
958
676
449
314
973
317
881
335
603
591
54
956
631
829
990
850
210
98
305
19
727
631
236
609
658
596
723
159
614
338
579
12
145
615
69
995
141
924
777
459
903
666
675
422
993
796
760
869
39
606
419
237
546
426
950
714
590
420
294
286
987
57
103
384
191
545
714
572
662
257
455
978
933
158
13
56
920
340
229
844
299
41
795
86
917
915
811
459
281
949
60
682
137
94
133
467
42
605
300
106
600
123
71
978
741
714
967
457
14
456
911
435
373
667
3
224
342
541
175
653
758
790
358
8
539
839
371
850
14
322
665
883
431
843
452
753
156
487
500
86
985
121
49
119
662
320
910
5
458
650
768
237
132
136
123
665
156
955
110
265
400
790
622
173
799
836
810
462
708
119
15
832
725
688
649
662
814
208
357
865
424
692
29
569
140
390
880
984
141
396
885
695
324
97
275
233
537
452
710
43
790
986
974
827
635
531
753
846
209
967
97
944
558
686
701
956
941
24
998
670
787
680
381
712
852
997
574
559
923
54
282
373
86
687
774
521
198
942
972
438
687
954
979
972
227
924
673
447
159
696
180
491
725
410
578
85
347
844
124
395
195
352
694
680
234
778
864
989
808
277
262
418
533
809
383
396
982
930
66
865
176
611
216
224
377
43
164
623
73
761
250
487
313
988
859
203
747
768
122
507
840
348
952
449
706
250
903
760
947
668
579
93
677
139
976
849
654
908
179
275
55
73
300
84
975
362
407
103
181
353
473
366
979
72
23
603
322
126
283
335
456
1
77
612
445
677
659
984
909
484
928
479
181
982
210
198
874
724
900
628
556
910
764
938
794
366
637
335
382
722
601
1000
941
396
434
286
403
764
290
584
134
911
124
761
563
492
309
108
217
501
296
517
22
231
884
996
563
290
913
703
760
306
705
371
72
886
621
397
908
443
466
881
411
769
299
583
141
585
384
112
480
881
664
667
779
516
138
280
349
445
959
848
428
934
895
179
140
274
48
934
297
881
354
579
614
93
456
442
540
654
983
535
430
649
154
43
248
610
867
315
323
620
146
710
939
500
859
905
698
595
157
128
679
226
939
290
359
646
969
218
177
172
980
980
379
266
208
837
488
497
323
478
344
683
640
8
162
41
857
655
449
820
259
236
979
727
518
234
200
438
738
772
616
623
381
838
704
205
31
882
864
31
787
313
778
728
180
459
258
282
159
291
381
819
629
579
233
96
450
176
85
500
596
799
176
678
386
38
602
531
301
309
970
934
943
105
578
474
101
257
917
447
722
812
157
563
841
830
133
121
152
620
53
897
956
919
785
623
698
58
111
737
139
463
791
28
504
691
606
907
622
790
835
302
134
985
753
586
367
545
816
533
346
254
184
9
718
33
90
33
82
171
367
827
323
62
130
729
77
529
211
175
364
619
448
462
789
219
343
694
409
956
914
116
557
637
801
42
423
918
812
700
174
959
117
645
756
607
270
784
288
17
51
736
136
699
912
942
329
705
441
919
996
999
844
79
858
146
918
803
654
75
350
811
541
61
486
463
177
45
899
263
158
58
173
753
960
853
335
956
327
784
282
728
323
608
354
661
870
166
943
721
690
830
641
373
994
183
983
812
134
679
274
794
719
881
332
737
348
496
259
974
218
587
468
485
341
246
316
2
5
535
625
116
411
681
265
891
141
349
771
563
194
328
641
55
890
104
572
448
835
610
390
19
487
910
849
155
600
693
770
254
967
232
256
719
450
898
801
294
201
408
174
264
408
743
907
514
595
55
46
32
752
964
583
218
103
343
664
262
335
83
217
945
498
325
122
445
593
369
434
112
64
788
442
719
34
261
556
414
142
337
96
425
258
590
66
611
203
653
928
100
814
187
166
597
374
156
201
411
441
703
811
902
598
501
764
824
496
723
819
19
838
645
575
994
617
508
932
194
25
413
70
187
922
953
925
585
653
792
115
208
304
573
148
927
209
400
530
648
602
628
92
96
865
838
423
434
725
698
860
225
98
878
818
976
8
288
645
256
170
710
329
419
360
319
586
80
654
680
845
767
11
554
605
662
401
250
493
911
892
322
103
778
669
123
343
814
968
100
616
290
289
744
601
395
55
795
798
64
94
634
287
849
946
807
343
964
993
261
626
461
867
200
719
541
394
414
639
146
594
577
810
315
895
277
685
268
761
470
844
813
412
662
928
483
163
342
213
728
175
115
974
634
116
534
49
866
269
844
166
975
161
729
674
774
642
679
279
229
673
771
281
177
765
520
589
263
165
920
463
640
347
986
578
389
353
880
451
78
815
211
736
571
266
171
174
34
454
5
222
42
966
688
515
842
397
828
356
123
668
520
353
90
892
293
193
241
317
372
281
20
516
145
650
428
923
160
92
754
266
934
951
819
201
617
409
508
699
825
343
920
318
997
70
162
548
274
360
654
801
195
125
857
497
495
88
472
901
880
564
501
26
963
196
40
972
465
141
319
517
374
704
265
655
1
901
868
34
795
737
688
927
311
279
130
464
951
744
520
315
981
881
607
940
849
933
821
813
993
309
536
713
213
896
605
329
127
649
642
917
426
667
896
681
432
483
54
888
928
715
987
467
363
528
292
969
299
583
435
352
416
287
467
974
468
189
562
568
338
305
80
739
751
10
468
683
239
897
71
437
696
638
843
939
211
479
23
577
918
460
87
713
254
834
641
871
397
436
509
892
615
962
923
385
939
213
624
222
864
340
654
661
759
79
822
930
286
741
129
726
395
477
927
168
428
948
236
168
406
76
406
77
878
991
303
707
562
638
264
531
605
766
356
931
485
171
883
850
453
150
666
127
950
90
328
44
610
971
754
386
296
404
884
377
139
453
230
397
659
138
862
318
906
998
112
616
985
498
913
160
475
413
530
732
23
501
400
871
820
950
953
605
772
80
578
982
920
772
329
106
60
879
610
540
579
706
793
525
245
237
687
460
46
399
825
485
220
110
765
793
278
240
17
531
194
896
706
739
907
653
833
820
943
416
815
436
274
644
5
587
503
545
77
835
77
691
471
318
502
213
578
213
499
361
987
800
587
781
907
118
869
250
819
478
662
21
544
801
208
126
144
786
884
193
510
442
231
372
75
397
630
949
792
701
644
107
438
542
893
71
322
422
812
589
698
847
808
257
519
519
135
762
692
349
271
458
673
352
711
71
40
621
854
508
684
148
116
897
401
187
474
20
926
263
395
228
958
645
529
800
264
337
573
436
777
175
446
260
476
640
296
262
931
367
860
575
623
165
414
388
546
527
871
559
114
267
588
187
147
908
95
518
499
896
271
538
967
525
460
548
256
727
627
800
92
488
959
31
93
741
223
326
605
23
805
313
530
46
585
110
117
617
717
795
786
7
942
448
327
953
269
937
235
972
742
721
504
560
530
907
958
144
772
656
50
368
437
863
152
413
966
683
511
569
617
106
425
184
229
265
717
491
612
599
231
508
864
284
908
381
714
578
988
75
427
875
18
293
866
254
627
848
106
310
503
497
340
842
599
415
932
788
347
86
140
399
614
340
433
261
159
714
354
219
630
71
540
643
493
632
891
767
850
213
835
23
788
444
324
386
769
198
481
750
577
281
797
282
514
677
400
491
849
287
188
503
21
157
549
636
724
622
8
921
800
715
353
659
820
386
719
437
322
814
658
297
969
153
449
910
280
531
755
662
167
40
293
550
268
752
326
654
910
474
673
745
623
130
390
274
301
100
452
585
462
857
576
720
589
496
766
553
186
554
318
364
15
621
776
127
963
820
777
975
122
174
802
284
961
258
613
812
921
292
546
141
360
13
896
439
558
255
350
225
391
129
771
377
368
133
716
102
952
276
688
965
482
546
527
364
542
649
294
27
349
962
684
203
547
87
304
230
854
209
113
69
147
710
951
221
896
132
358
141
363
636
827
933
588
563
202
608
6
563
216
650
468
34
32
990
560
283
235
709
366
913
913
999
255
417
378
942
821
875
555
657
867
922
288
236
194
901
654
692
993
185
834
808
869
220
303
413
838
731
844
64
193
871
427
584
776
870
48
164
35
813
456
14
207
817
94
638
131
756
693
863
473
95
692
692
587
150
72
899
867
264
233
37
195
983
284
190
986
285
464
377
463
343
458
974
961
64
45
914
491
899
864
702
331
982
76
479
90
736
349
471
577
451
923
150
798
218
446
362
586
815
925
484
679
802
387
399
569
124
813
708
47
984
454
131
198
608
931
497
522
801
393
68
983
870
578
195
45
557
837
469
159
136
61
596
767
715
950
201
599
76
295
638
935
114
742
681
536
26
20
647
187
947
779
123
87
640
976
958
895
175
222
583
878
295
621
70
437
293
421
540
271
773
210
656
576
643
510
5
970
45
334
70
295
680
716
388
18
197
238
205
777
872
336
624
466
793
506
812
393
177
586
278
224
241
947
649
857
242
794
635
871
948
758
68
942
777
616
9
431
324
297
910
392
765
266
745
400
932
58
812
938
440
937
676
539
338
664
300
557
204
890
3
189
452
974
272
359
915
910
849
150
427
623
741
764
215
83
967
375
404
594
944
849
828
110
345
9
654
638
192
21
6
610
696
537
931
630
59
395
538
114
69
67
68
197
786
542
16
714
73
4
128
193
8
484
263
581
448
657
664
860
166
89
116
784
972
522
877
747
224
258
980
148
945
282
737
736
539
552
828
82
740
784
347
734
22
148
586
608
149
512
131
888
927
272
59
18
525
329
618
381
896
504
838
904
952
504
885
162
130
597
862
478
928
298
966
178
771
708
555
420
310
625
765
943
897
180
716
697
493
556
282
534
712
278
595
64
80
694
201
333
803
513
816
193
520
677
141
108
594
458
94
664
446
339
116
259
329
198
895
241
723
294
14
315
227
800
488
162
419
961
141
8
655
464
57
402
207
306
123
512
435
231
788
97
925
814
737
681
657
411
132
607
286
460
443
353
595
108
637
908
976
705
703
78
610
501
55
286
628
783
348
824
132
765
631
523
415
794
582
511
103
784
755
49
235
384
397
454
475
44
409
754
753
18
460
36
653
360
72
421
755
124
774
203
963
317
20
992
584
626
661
614
536
585
191
120
622
637
865
518
212
495
46
707
75
324
835
700
315
512
93
399
533
226
479
75
439
526
9
238
54
536
943
756
580
68
529
924
756
117
220
692
245
881
535
400
161
278
632
189
397
471
11
715
767
573
496
917
349
529
799
374
599
144
510
215
963
390
325
628
722
381
679
791
785
897
729
412
952
909
811
147
960
337
62
894
260
191
905
293
53
325
488
833
596
239
958
617
131
798
666
208
137
228
21
952
729
499
721
828
184
19
519
212
550
606
509
869
198
860
175
141
28
387
71
559
722
794
55
44
103
48
476
463
169
534
553
546
829
145
466
64
715
824
367
744
681
216
579
613
793
571
756
308
657
530
680
455
909
244
638
380
572
88
79
263
793
330
327
343
115
284
652
928
100
852
960
800
568
854
643
22
165
231
916
336
280
22
87
66
540
998
771
906
270
979
6
57
309
141
601
917
557
95
821
944
415
91
673
351
108
502
657
37
485
627
835
501
482
950
451
533
904
218
149
155
566
75
53
626
105
566
560
314
991
476
744
912
333
378
679
762
111
242
839
31
358
628
945
93
640
834
309
773
891
831
745
6
330
450
596
92
665
110
281
958
284
284
41
732
449
52
232
514
780
308
608
435
464
646
519
961
715
491
831
933
945
808
722
32
34
574
146
167
834
269
946
814
753
825
54
466
857
843
189
175
445
388
772
622
443
344
515
290
298
148
313
74
262
677
579
104
110
238
161
663
334
862
310
800
836
590
968
662
971
21
794
627
544
171
952
31
36
594
665
645
903
809
923
116
246
300
560
233
558
734
103
243
519
615
418
446
8
248
185
912
604
793
701
538
852
158
279
550
469
684
816
249
511
869
700
33
201
887
300
673
801
280
751
430
398
993
566
806
955
884
944
679
293
943
257
86
965
704
319
148
94
776
521
528
363
973
801
291
288
273
739
271
791
697
756
857
889
282
523
621
985
487
194
358
871
734
28
931
31
326
264
752
274
615
879
890
6
139
998
544
720
433
264
58
366
334
457
776
334
926
992
727
706
690
715
596
295
47
577
442
732
252
360
376
522
486
627
765
585
115
424
573
217
256
120
107
858
249
933
810
264
105
330
719
937
761
494
859
722
784
492
169
512
224
600
504
891
425
481
890
387
995
572
484
703
565
60
625
947
632
319
961
411
572
508
859
883
838
340
248
830
507
669
565
62
551
650
719
607
672
726
844
639
87
540
142
256
385
251
306
768
483
362
862
968
732
334
242
549
425
765
569
399
335
832
960
53
405
41
581
958
382
55
837
544
22
528
871
311
467
423
924
268
539
232
283
105
980
913
200
414
123
96
649
130
92
319
790
111
381
596
757
435
583
664
743
583
121
589
392
108
57
277
190
815
451
582
886
729
280
365
970
345
626
857
902
726
700
106
62
54
293
123
406
117
385
590
389
54
11
620
19
391
915
135
842
47
208
854
229
500
999
791
603
770
957
383
150
212
828
87
84
372
226
342
801
308
434
303
86
867
484
615
97
362
589
843
1000
988
818
844
22
89
992
490
122
93
960
698
686
515
780
601
435
959
843
75
214
427
624
545
425
590
616
156
696
877
931
929
760
396
234
507
633
696
932
422
937
368
33
634
594
285
651
213
193
92
928
676
45
144
53
423
300
740
129
166
557
900
873
1
47
375
526
19
839
809
894
925
504
212
126
201
316
974
713
739
403
665
196
721
202
768
234
749
207
329
8
902
279
201
441
404
709
231
314
88
835
217
190
682
238
979
972
215
471
157
65
527
805
668
341
937
730
884
547
631
771
656
360
205
764
307
31
119
871
573
442
508
486
274
449
935
673
177
584
166
917
110
531
982
806
924
338
390
690
244
954
312
535
355
535
995
910
699
928
921
527
676
903
974
834
413
953
953
872
135
986
340
77
637
798
349
702
61
993
919
293
900
952
264
999
683
482
16
550
269
75
782
396
87
19
140
850
903
216
745
89
927
211
192
496
141
819
737
156
754
750
819
274
596
781
526
900
68
373
840
651
13
94
519
15
474
866
928
444
869
822
29
682
535
532
968
667
949
455
401
918
197
737
779
528
400
888
297
756
903
458
107
749
987
558
703
88
743
951
87
713
550
503
445
272
271
957
578
96
894
371
266
799
843
71
62
984
600
627
775
643
589
187
25
646
503
510
812
90
386
139
5
452
813
477
22
154
447
966
716
616
131
180
709
896
377
410
943
739
834
222
250
241
826
567
118
350
580
234
629
109
93
829
766
906
915
27
894
959
293
501
234
959
219
842
588
64
955
751
393
438
481
974
442
112
164
784
221
269
647
276
901
949
604
383
459
775
518
335
266
566
123
204
763
569
443
307
515
642
680
487
13
900
300
717
94
239
790
61
728
654
491
714
242
476
818
799
743
470
948
566
630
261
758
908
584
675
391
411
389
424
337
705
218
2
315
532
812
814
576
773
91
288
455
678
281
217
151
641
649
615
711
201
228
149
194
374
754
603
777
20
175
883
373
740
672
808
954
695
156
272
370
817
561
432
893
122
72
212
138
214
645
805
255
620
772
816
521
284
473
344
518
430
927
648
126
975
973
945
436
895
981
578
544
217
195
15
868
841
743
107
293
993
944
612
980
932
408
239
89
476
711
378
59
7
72
223
312
894
588
238
410
686
26
761
785
998
92
78
99
748
400
509
215
296
62
835
505
63
931
949
930
435
74
730
946
86
935
963
752
382
38
590
842
197
759
704
137
291
899
466
166
387
282
578
943
214
630
8
177
85
252
438
429
34
933
298
656
116
520
298
354
280
328
106
152
90
464
176
301
706
552
769
960
710
164
881
563
786
453
155
836
801
113
826
235
519
792
415
666
55
534
206
347
183
638
479
602
767
582
124
173
939
277
517
380
91
6
488
66
428
819
795
827
579
54
766
441
754
910
666
784
15
669
935
760
494
254
617
935
830
303
201
641
640
836
618
283
605
865
320
451
607
57
196
262
431
626
610
992
706
175
958
720
158
131
980
153
727
752
523
261
788
410
558
630
529
22
57
688
539
38
750
86
769
350
878
534
350
861
819
363
184
223
837
913
842
415
305
601
55
437
427
196
12
362
879
391
754
409
832
225
169
475
450
310
515
792
373
78
891
985
620
471
831
814
53
607
17
334
815
924
114
20
161
249
950
642
668
50
511
347
150
832
780
425
491
294
30
699
226
385
4
384
925
848
363
451
379
174
867
301
82
167
56
560
796
459
577
344
780
401
906
212
867
709
932
342
690
141
756
169
249
266
121
821
485
60
56
254
679
691
712
851
318
333
847
644
515
284
109
15
215
947
71
897
185
516
986
42
208
250
324
887
30
360
480
901
303
372
485
81
226
763
146
427
598
368
824
825
746
737
957
748
148
198
524
566
587
824
872
98
403
918
726
191
685
903
719
786
298
673
517
900
264
603
438
400
333
383
492
303
545
779
941
517
217
212
789
649
36
815
109
501
922
196
743
378
863
736
699
164
214
640
547
411
835
351
175
355
996
147
577
860
219
947
738
774
61
390
255
85
416
234
76
560
57
998
622
265
1
567
595
459
779
158
990
919
835
654
159
614
96
808
330
49
211
250
600
286
103
519
294
824
220
585
533
56
336
455
5
996
829
490
225
304
120
992
14
456
343
487
551
16
395
881
76
622
227
305
307
228
588
69
624
572
498
585
391
645
378
525
102
104
128
742
631
252
423
700
540
152
178
233
267
947
392
478
18
222
620
722
374
521
870
732
922
790
47
862
734
510
989
843
120
822
727
714
917
741
843
808
469
857
723
5
624
616
37
790
287
309
16
743
514
428
945
221
691
936
852
908
85
267
510
835
940
639
767
223
331
315
664
226
182
15
990
222
235
584
711
814
244
351
193
132
341
389
241
311
371
968
781
276
933
117
417
70
42
109
200
13
593
85
715
918
271
785
939
433
156
541
448
341
32
259
215
308
330
114
650
132
705
89
527
30
498
249
167
866
682
916
546
526
483
446
26
818
533
411
42
394
278
339
405
184
379
64
810
739
24
926
817
718
355
741
797
449
756
495
303
151
322
178
898
913
675
46
740
4
210
847
105
394
975
265
592
658
648
862
999
572
495
349
677
793
763
859
760
974
705
230
793
562
302
11
174
293
815
995
279
112
474
629
330
826
2
571
841
315
140
991
976
529
48
950
239
824
266
359
734
410
889
528
639
810
771
335
627
271
857
339
748
9
169
994
637
17
635
254
32
924
644
466
240
37
183
429
620
306
463
892
132
372
166
565
716
278
861
934
597
695
646
769
600
708
800
256
230
301
70
83
563
699
241
670
972
620
799
962
338
314
825
841
652
993
731
272
878
886
113
768
513
677
752
591
549
541
772
426
414
342
67
876
79
788
354
279
667
539
655
788
841
291
562
562
722
866
385
239
303
189
158
530
156
844
549
941
726
575
880
83
662
714
847
31
441
997
51
456
12
672
76
54
297
96
739
889
190
251
55
865
93
741
638
459
154
862
553
247
94
283
46
499
931
724
238
303
954
776
596
279
18
659
913
903
630
293
635
874
268
518
566
766
121
695
390
394
743
193
2
953
108
460
311
8
236
484
67
831
835
447
250
428
400
287
749
816
804
702
362
789
722
855
661
427
132
664
865
89
773
106
689
475
628
394
74
630
457
241
809
420
941
690
327
119
202
127
359
202
362
187
726
370
317
212
271
102
89
825
810
769
958
946
47
425
74
288
578
943
416
951
481
65
744
270
489
290
685
422
416
241
208
701
344
317
509
505
35
973
775
278
193
943
383
641
480
73
846
921
654
204
189
103
789
731
547
20
302
33
449
226
451
972
650
583
7
38
387
65
73
547
636
648
379
459
261
466
946
62
978
575
707
723
674
792
519
384
967
74
38
282
819
790
58
634
677
99
293
649
864
336
2
315
887
947
558
818
935
58
792
376
52
199
954
482
411
51
190
264
653
347
725
744
472
201
358
259
505
236
434
218
120
830
213
651
855
676
422
730
134
676
835
555
360
830
920
10
646
420
942
419
260
265
450
85
314
269
698
512
354
749
428
265
298
322
384
969
581
183
91
926
479
715
697
162
312
263
168
504
649
772
687
478
675
751
910
366
617
664
617
782
490
451
404
505
439
304
258
123
664
270
290
218
234
469
385
495
101
966
296
200
285
392
501
685
487
450
214
726
394
308
51
519
511
757
236
852
684
683
658
62
367
48
775
806
317
142
127
557
612
251
171
997
826
299
271
170
716
216
934
316
27
4
791
832
878
484
409
659
705
733
758
735
958
47
11
839
549
113
453
271
583
697
423
328
24
820
592
485
781
841
410
486
154
332
189
325
708
887
131
218
409
292
607
239
313
567
97
225
162
447
530
943
15
812
179
282
422
418
908
379
727
38
297
217
791
785
121
186
804
958
697
508
871
218
896
229
765
289
946
688
555
659
741
982
838
956
56
976
927
768
912
823
697
668
370
806
718
151
189
534
948
967
106
191
533
82
982
567
199
128
708
84
295
724
525
864
815
510
401
178
625
78
190
295
659
228
574
803
105
160
185
5
428
260
921
857
642
124
154
225
406
343
450
952
375
343
453
344
711
293
775
178
847
668
117
302
373
578
328
191
393
363
795
594
833
297
390
528
944
450
157
441
676
891
80
330
717
455
563
929
695
232
698
911
491
793
1000
163
622
923
74
827
425
275
556
747
85
952
802
394
626
483
960
123
649
34
524
811
928
998
947
589
12
282
636
327
583
720
477
35
681
46
80
120
824
761
70
699
723
53
108
822
512
664
781
496
416
195
156
856
307
923
578
724
883
594
239
17
100
51
160
192
41
788
494
969
626
673
455
68
444
178
781
594
497
401
350
13
864
67
471
350
95
456
398
380
675
932
832
80
34
300
532
552
384
780
641
948
155
741
58
695
886
697
933
409
249
270
439
503
277
963
15
412
983
612
647
714
308
346
155
252
711
718
91
457
809
424
580
739
156
704
408
733
665
67
678
627
145
466
623
580
182
433
557
457
866
956
448
712
914
89
350
268
358
367
747
701
298
125
900
817
178
706
432
990
661
377
745
269
465
500
308
287
451
109
522
506
850
616
642
151
754
782
200
495
919
446
468
809
447
774
776
385
195
927
903
519
554
141
345
263
835
152
996
10
648
819
662
740
502
548
866
818
376
842
621
796
125
868
173
563
439
474
272
558
497
475
158
458
611
341
284
940
921
672
809
623
627
941
986
316
362
46
892
977
23
141
400
656
810
80
879
781
261
529
888
798
808
521
47
123
720
723
326
781
365
228
260
897
381
10
937
423
690
504
203
80
301
933
183
554
477
144
97
348
187
670
364
598
678
687
147
345
679
337
811
417
987
605
269
150
142
574
817
592
478
432
834
737
83
17
717
583
119
60
477
491
494
537
734
420
103
686
219
65
730
338
512
872
218
159
439
149
728
299
464
258
699
718
448
930
676
160
335
323
282
340
703
309
440
413
623
871
411
206
914
174
345
22
759
64
800
16
572
270
141
330
181
565
815
138
673
479
229
764
699
964
386
834
640
552
485
203
803
149
388
53
731
601
265
125
795
548
722
520
444
894
419
891
909
430
534
119
684
758
394
784
790
679
290
806
727
647
767
668
993
718
660
533
229
656
783
366
395
516
417
935
820
63
731
147
658
851
808
757
36
662
238
901
142
241
111
257
625
977
824
903
911
246
324
91
481
621
281
241
727
45
203
396
729
384
727
307
179
464
96
72
746
820
406
936
337
901
290
505
112
411
569
70
576
794
825
204
781
591
16
64
470
589
975
105
984
183
137
984
896
358
863
526
628
64
527
522
741
506
911
3
226
83
511
382
858
241
87
510
608
562
157
266
175
733
146
789
949
907
620
797
78
130
337
785
874
142
881
21
493
876
267
421
664
415
232
331
284
979
894
203
827
776
71
935
880
182
843
391
565
775
861
231
269
195
515
729
890
685
306
697
747
418
677
968
427
401
108
170
84
839
518
668
153
309
859
612
977
18
346
28
615
687
921
740
963
348
415
718
375
426
361
129
160
7
556
965
712
134
285
645
497
280
600
367
853
913
141
333
321
187
783
185
249
372
835
108
533
573
584
103
655
658
737
884
629
101
729
677
62
581
900
978
322
825
282
979
711
107
92
925
600
254
68
171
750
795
462
52
403
99
851
988
271
959
917
435
284
117
1000
379
758
616
556
95
719
739
582
788
229
514
732
549
944
394
100
814
561
807
581
79
480
714
333
244
804
151
88
330
723
53
972
690
469
295
46
112
260
973
27
318
89
460
458
496
794
643
200
414
547
52
241
593
829
324
687
773
963
518
304
611
506
358
107
144
141
387
327
60
233
338
533
224
862
806
829
225
12
394
806
943
524
117
361
252
599
760
619
16
919
273
893
481
890
56
54
12
149
149
741
874
192
950
534
428
962
45
609
665
249
145
413
496
22
938
577
574
199
840
638
721
883
274
120
227
823
115
205
385
686
357
492
620
759
907
363
505
858
639
45
751
557
493
769
987
313
450
341
791
727
675
57
952
945
985
102
386
177
74
521
491
417
584
366
974
678
225
879
325
530
612
409
226
253
384
314
105
675
495
269
961
646
235
252
355
151
700
962
163
243
912
596
279
365
727
711
961
111
27
353
936
175
391
781
678
35
610
874
510
915
970
741
318
710
151
167
666
842
2
244
104
467
169
974
234
64
786
651
930
197
972
588
706
171
894
86
837
345
554
604
286
140
235
750
883
140
783
66
480
233
480
577
10
441
320
717
460
950
893
569
786
849
942
310
706
279
875
381
119
984
188
178
638
778
764
996
319
54
520
540
256
245
699
580
111
139
398
224
4
9
590
825
477
808
976
789
352
104
512
388
421
974
323
234
845
848
49
242
37
140
347
760
588
593
409
27
480
412
863
294
427
671
356
732
717
941
458
726
292
801
247
287
162
677
100
65
459
477
751
908
553
586
652
986
711
115
20
258
705
723
726
449
634
958
387
776
975
799
544
375
540
36
880
743
578
154
742
561
756
678
107
918
96
254
286
316
267
355
306
838
808
135
923
497
946
874
623
98
702
414
855
931
868
192
908
199
268
783
551
404
435
362
582
804
459
109
869
696
317
399
383
472
413
555
930
351
429
59
30
207
814
352
406
153
442
827
114
410
986
121
152
505
568
616
770
51
113
894
358
171
603
954
915
160
165
221
646
97
462
674
120
962
422
14
793
251
709
382
413
228
684
19
992
703
804
219
552
694
557
56
846
394
63
686
586
616
398
438
505
311
572
558
740
790
817
191
625
9
537
140
937
640
811
987
87
702
812
411
494
174
929
928
631
377
590
797
814
921
57
574
852
625
500
613
92
165
697
861
212
167
600
434
378
53
848
808
18
268
989
922
505
426
859
149
520
497
48
863
714
442
863
292
567
545
534
456
15
325
651
244
499
54
17
103
582
830
111
400
181
667
404
231
736
237
579
345
388
754
533
914
320
985
735
46
936
522
76
314
513
253
892
103
247
464
238
201
385
77
790
935
280
358
3
95
736
839
274
54
993
269
887
770
44
215
459
814
769
263
475
166
532
895
233
296
472
789
187
958
705
678
244
198
77
941
54
316
858
761
697
903
31
48
459
620
396
308
602
93
777
303
97
141
991
635
324
576
127
395
642
982
886
584
545
204
388
342
854
763
905
925
15
36
444
977
118
857
951
870
690
134
194
821
654
166
55
21
131
647
37
257
879
723
285
344
273
64
331
257
672
641
40
997
924
789
987
87
518
164
559
94
617
433
645
707
776
854
673
736
668
460
86
833
557
178
115
896
557
94
820
851
955
13
936
982
1
619
30
49
607
842
817
169
322
470
273
881
836
659
343
821
977
769
645
200
855
848
535
600
373
185
318
689
773
568
180
79
313
277
620
937
392
395
781
949
702
698
106
857
29
263
154
153
361
931
266
427
862
949
990
527
83
414
827
941
526
644
927
771
271
238
793
228
952
364
935
854
785
785
684
565
693
227
53
164
867
958
609
214
212
867
803
991
236
907
139
812
886
499
802
181
736
378
131
59
701
409
402
41
148
97
927
414
888
885
382
817
13
821
627
762
974
870
17
340
603
959
336
244
3
830
55
669
381
899
570
730
897
641
415
808
584
444
261
612
217
489
650
827
774
997
8
909
790
60
484
988
478
391
529
855
954
541
963
678
290
505
465
462
409
209
29
256
24
64
986
734
905
604
564
141
809
275
850
509
258
586
204
705
221
170
862
129
443
771
484
833
819
831
894
400
729
128
91
206
702
868
900
536
121
755
308
652
947
805
601
60
577
102
922
148
48
269
757
862
749
155
159
293
702
120
221
867
231
364
450
351
578
922
173
26
556
322
71
183
916
403
242
588
429
472
960
653
78
786
411
853
931
353
267
347
405
147
904
869
690
169
428
676
5
193
466
778
248
685
823
701
324
99
724
769
118
728
318
266
628
302
542
844
273
814
229
263
737
398
555
852
38
660
533
112
648
534
303
504
653
618
347
798
892
941
648
320
960
283
5
34
754
502
387
719
986
801
259
386
702
496
249
706
382
657
426
452
653
925
696
866
975
941
514
412
934
47
204
617
918
382
636
535
46
34
950
937
161
660
267
488
606
879
86
19
263
760
138
511
66
961
15
547
741
405
814
798
88
904
351
584
489
816
272
671
673
625
497
235
967
339
17
367
416
723
998
581
172
688
531
534
502
595
110
569
624
848
131
757
302
925
259
819
847
877
510
699
676
448
306
559
97
161
522
692
365
124
807
143
309
859
19
862
65
120
683
857
516
583
776
104
58
244
983
975
225
565
822
519
513
732
660
267
478
842
708
108
809
522
540
416
599
221
533
839
514
416
913
57
861
48
762
397
861
773
408
387
554
50
149
211
850
627
97
564
211
765
307
577
331
376
984
331
954
339
733
975
685
436
322
607
221
699
331
906
964
504
428
958
353
374
739
820
610
322
908
197
779
496
18
983
101
94
496
543
783
727
480
360
158
943
904
50
109
156
736
840
354
54
379
280
865
417
243
391
261
404
881
399
490
559
906
977
481
208
66
181
758
429
546
317
177
503
492
606
58
601
269
817
980
477
729
24
442
98
46
258
365
476
301
79
185
452
55
79
879
803
623
860
825
854
583
324
821
722
382
984
950
418
536
592
239
306
9
562
190
834
870
578
369
21
192
264
182
922
477
21
861
188
595
931
468
857
337
164
416
737
205
453
591
95
987
28
702
862
997
851
850
254
605
117
650
513
823
794
479
482
257
352
500
831
720
989
220
75
117
345
212
952
50
158
534
364
697
321
100
801
155
559
936
148
405
289
809
786
445
262
204
184
964
283
991
530
104
624
427
508
507
757
298
33
833
688
156
600
389
470
552
918
312
452
129
683
26
437
215
645
296
207
314
638
297
784
500
839
533
429
258
351
334
583
770
140
924
895
982
467
718
7
50
200
600
15
906
855
419
376
796
730
844
559
547
282
997
939
275
750
30
255
974
80
883
462
153
423
13
957
263
808
795
964
185
123
635
339
436
201
572
171
91
632
284
325
621
905
990
537
999
615
665
714
434
783
364
899
68
756
237
699
797
798
967
101
136
209
957
247
709
756
594
180
532
258
287
540
685
414
802
926
401
326
617
936
860
743
626
924
150
730
551
160
7
335
846
379
894
826
710
676
934
259
66
336
1
443
996
451
16
859
200
111
108
739
480
571
851
271
125
9
221
889
348
409
265
685
585
681
749
238
578
304
165
615
623
688
612
813
274
965
975
698
106
98
754
351
824
47
645
790
137
222
702
224
333
613
469
380
410
790
18
909
972
434
200
598
799
179
763
905
198
340
203
323
743
500
334
231
7
73
630
167
227
644
290
906
645
355
865
363
396
609
29
54
459
120
711
814
117
691
428
526
811
125
71
826
44
380
815
191
230
394
110
297
963
28
871
281
227
201
126
383
492
634
348
439
452
550
634
905
431
324
699
368
115
357
383
23
300
350
988
216
851
797
313
934
880
707
692
105
453
517
674
638
808
684
268
437
143
673
808
9
515
937
581
874
319
998
324
721
65
924
575
139
941
364
659
778
701
761
777
37
993
537
256
677
135
865
532
326
686
81
860
468
905
933
38
352
337
632
661
244
314
111
588
571
96
979
269
803
797
423
602
374
941
678
771
537
728
801
320
842
633
138
347
786
987
291
282
338
537
405
193
196
838
267
935
74
495
83
730
844
908
744
5
44
185
113
343
148
330
108
481
979
619
361
138
836
343
860
322
212
731
217
451
488
904
196
272
590
211
674
106
426
104
501
363
843
27
583
649
968
456
110
8
46
294
48
56
318
339
888
758
59
430
168
647
604
156
490
115
116
770
570
199
852
5
361
7
928
60
465
488
889
918
821
778
961
511
160
764
469
965
811
818
787
337
243
879
127
768
138
195
633
959
906
67
533
244
289
891
548
284
92
615
375
603
164
526
812
758
447
904
20
925
290
662
490
96
264
575
502
848
367
61
282
889
896
783
571
185
213
512
44
484
320
808
859
503
447
82
648
844
833
483
403
982
496
918
61
286
74
196
63
90
746
942
788
301
831
448
592
885
930
78
78
848
342
200
392
991
84
849
542
833
44
511
209
546
645
479
59
672
984
188
299
680
528
850
142
127
339
453
830
316
272
929
132
839
758
848
534
352
572
534
882
229
485
889
898
513
786
547
818
698
464
179
380
445
257
934
523
302
887
994
459
825
516
203
239
321
894
565
504
559
711
135
933
410
375
549
755
361
838
927
819
238
86
431
921
262
611
94
477
818
539
833
178
852
42
758
976
927
367
986
570
303
80
165
630
311
122
837
98
486
873
570
296
590
714
539
6
707
500
830
344
38
956
312
41
897
248
338
703
682
901
904
700
272
760
139
636
365
955
154
739
793
653
369
108
725
952
384
459
959
420
353
933
256
655
613
542
733
710
992
55
877
398
837
454
675
309
301
639
677
806
843
689
543
420
200
847
783
829
328
363
953
46
938
451
504
515
275
947
877
590
748
673
188
253
856
130
25
983
610
908
469
437
328
114
434
926
217
206
822
748
670
832
788
83
533
679
612
524
951
878
299
304
525
204
52
922
661
162
167
211
968
91
758
819
497
549
950
723
399
591
811
672
342
28
373
365
615
396
517
796
426
146
392
426
307
531
285
740
905
761
553
319
704
271
294
764
346
353
949
700
339
987
881
574
862
437
335
203
297
61
827
813
879
833
188
853
558
268
957
988
770
815
772
502
302
262
742
807
863
413
502
865
291
71
822
123
533
385
171
984
683
736
625
940
390
625
822
215
895
498
511
208
791
32
330
52
386
168
117
331
166
111
987
385
463
578
825
627
891
811
653
21
473
263
530
176
711
396
249
537
4
761
139
776
933
337
676
825
951
177
473
950
890
522
429
871
562
913
486
230
409
287
477
646
824
691
9
157
273
41
210
150
810
292
403
712
914
515
483
969
841
619
829
137
829
880
86
912
586
16
50
351
446
285
172
566
454
956
936
414
451
559
445
849
897
516
103
755
783
109
172
899
485
265
362
106
816
282
300
865
870
478
906
374
446
705
249
457
997
802
397
877
75
384
165
310
173
780
404
674
741
565
694
515
874
878
838
942
870
646
577
889
379
903
337
597
387
638
605
816
611
962
757
627
194
970
760
746
796
348
207
839
221
626
558
682
799
17
294
976
574
920
934
229
251
524
516
417
488
392
180
54
834
582
963
907
90
624
770
822
334
637
769
39
211
981
108
949
323
87
978
424
722
541
489
758
593
63
753
778
149
757
854
851
693
903
106
372
537
590
103
810
192
707
578
545
827
154
51
525
521
641
530
256
200
141
302
755
523
854
993
862
159
532
605
752
56
179
234
594
319
377
491
10
276
2
471
433
143
658
237
500
458
934
415
335
125
507
463
950
465
197
561
27
144
291
914
13
240
864
405
820
985
350
218
401
914
336
12
147
261
384
686
324
419
720
615
793
236
784
436
804
694
980
163
8
267
403
410
704
870
28
2
972
869
555
78
559
25
135
108
317
641
250
868
525
394
309
553
659
528
943
648
46
128
539
126
351
176
307
784
56
983
43
288
909
351
807
591
815
537
924
884
831
672
92
229
685
805
866
286
744
141
477
333
460
371
775
904
109
209
27
932
59
384
506
223
924
367
22
473
666
55
69
806
144
501
817
971
663
493
962
937
765
498
369
616
924
10
515
818
786
839
948
368
310
254
414
512
505
172
800
349
438
784
765
52
855
105
792
79
70
944
377
378
730
693
295
862
691
158
130
56
526
378
831
870
114
6
593
928
337
358
255
719
196
693
274
132
515
617
490
600
992
773
154
165
564
126
80
262
926
247
397
921
559
927
87
387
830
391
375
859
556
109
105
174
906
937
415
763
703
904
392
173
962
456
896
726
992
396
413
673
497
71
613
324
888
572
299
190
473
855
525
128
257
719
997
862
844
526
304
991
336
388
122
805
186
311
321
791
667
434
798
714
6
85
960
538
237
841
987
278
558
144
414
45
246
352
95
205
258
241
344
562
241
124
853
899
15
728
62
78
551
891
767
99
76
942
120
188
242
396
634
30
203
164
450
720
47
59
912
863
283
807
461
543
972
122
945
535
671
653
722
230
542
778
334
237
889
290
137
501
891
992
953
108
476
83
754
623
156
33
392
948
94
309
597
196
875
928
845
995
216
316
170
996
358
353
707
64
972
819
535
804
217
670
409
610
991
690
86
392
543
129
244
496
327
862
447
99
408
444
228
544
781
217
101
668
664
258
243
142
230
551
677
270
243
212
989
474
762
1
21
894
414
624
525
177
730
531
448
519
706
5
399
458
36
352
828
764
455
907
655
991
236
383
385
916
172
837
224
132
297
115
377
532
208
228
472
263
83
497
22
33
401
703
932
300
915
700
341
964
681
123
476
688
766
886
800
847
831
155
457
413
949
323
891
809
858
350
587
844
355
478
58
402
685
965
570
451
589
951
608
294
131
27
760
704
583
345
499
757
361
365
366
694
514
459
147
133
291
607
967
294
112
400
659
689
635
376
366
888
690
487
123
560
562
176
43
994
475
53
855
675
161
707
731
307
79
512
751
878
188
591
890
985
186
312
126
637
772
753
86
210
786
617
710
33
76
948
553
339
542
856
658
960
81
159
460
189
122
479
758
697
983
878
647
255
580
555
202
284
884
475
845
918
102
54
576
384
756
182
663
938
730
948
974
551
863
391
854
788
860
474
353
75
123
292
623
624
629
185
554
841
91
53
10
945
496
650
611
868
539
66
606
248
619
914
259
461
834
963
131
216
846
82
769
145
571
417
634
257
415
639
519
813
162
957
342
432
680
375
940
760
350
273
425
72
457
22
728
528
848
773
194
648
821
966
473
744
559
364
506
683
427
653
93
369
84
692
394
755
697
550
726
35
482
350
188
904
450
769
965
407
480
765
654
983
810
724
586
722
597
775
910
758
469
434
164
963
880
123
151
807
641
329
219
310
223
355
441
518
292
676
788
822
466
869
99
740
471
998
564
506
722
95
447
884
824
78
9
212
672
49
934
525
634
426
62
22
740
745
920
810
959
329
364
60
395
209
615
217
695
825
123
902
11
79
975
472
665
235
27
11
5
30
537
666
48
105
837
864
205
514
504
885
736
676
573
719
657
550
556
890
452
248
415
164
328
556
198
659
716
34
732
909
408
461
629
840
978
401
874
474
175
580
429
403
511
568
624
705
627
997
566
67
894
168
457
294
332
442
498
274
163
249
992
732
215
896
396
781
967
610
296
364
227
422
743
167
308
555
916
481
114
949
846
796
698
456
806
611
734
3
15
53
812
717
517
451
632
627
436
884
978
17
324
107
831
972
12
962
73
930
153
559
51
295
679
12
670
306
484
551
800
367
981
107
508
9
598
310
54
505
907
979
620
875
829
770
485
745
281
652
710
20
711
252
436
868
198
944
590
843
162
736
103
287
307
633
786
347
97
189
631
17
924
355
620
643
134
604
93
234
282
513
366
735
250
669
527
142
407
766
312
975
576
274
533
154
409
887
791
775
688
238
90
613
196
49
545
460
62
969
593
544
889
831
972
358
577
964
283
184
450
504
112
506
214
328
549
260
298
393
434
576
342
737
795
277
934
363
780
881
243
528
841
281
831
735
24
589
764
829
56
853
134
185
287
490
235
919
685
308
909
412
805
942
70
229
70
357
984
650
749
859
664
677
737
689
645
298
619
843
508
245
534
252
700
244
6
834
652
986
303
180
683
659
832
894
911
882
767
635
233
339
387
973
467
229
607
38
887
868
747
787
749
477
934
428
838
173
404
159
753
701
601
943
405
266
198
448
171
119
77
658
248
215
867
912
6
349
833
260
589
664
820
141
533
323
443
318
966
431
933
906
782
22
864
118
281
998
493
36
914
486
607
308
172
945
572
204
147
743
733
840
965
617
462
719
124
607
911
956
742
590
963
688
864
506
974
189
276
723
633
176
697
775
687
630
874
858
317
203
819
85
687
953
375
457
545
720
372
932
794
919
840
742
625
903
183
368
158
365
693
123
518
388
564
397
945
907
340
974
827
313
815
707
524
848
527
60
475
278
324
671
346
25
971
154
915
585
405
791
999
596
10
661
943
365
283
2
122
984
319
280
455
474
847
532
144
489
937
31
726
251
90
221
60
291
148
167
40
512
360
483
689
835
959
797
759
391
834
352
138
845
220
261
162
893
844
259
406
445
638
553
630
266
958
491
363
123
212
352
18
565
967
492
533
546
863
457
286
13
154
446
410
436
259
676
734
26
505
797
251
20
136
471
409
16
756
658
557
776
601
914
524
331
407
260
704
475
214
744
971
953
116
885
423
742
850
588
261
806
104
948
84
650
620
638
464
799
468
158
9
48
367
344
992
962
555
935
249
654
512
905
303
285
780
503
540
112
254
640
858
128
536
346
407
532
419
502
910
316
98
937
600
231
453
320
961
279
655
930
342
670
342
550
970
848
873
232
78
832
473
587
639
580
623
638
694
520
711
948
363
714
782
945
409
312
209
867
676
130
245
734
790
174
713
114
273
918
533
226
617
954
396
72
939
422
664
917
525
255
479
390
974
877
158
885
661
426
162
754
934
997
335
969
791
648
636
575
787
126
297
236
575
368
196
654
793
821
238
413
963
559
721
112
718
975
972
209
919
551
39
148
185
852
834
703
932
412
959
417
270
628
341
229
20
128
973
85
654
329
255
422
186
68
906
855
928
254
950
366
524
461
37
521
879
260
229
6
449
889
451
852
827
521
968
258
739
29
649
845
367
618
256
490
364
122
685
663
83
81
908
298
289
926
342
801
65
743
506
762
731
122
132
278
318
516
347
592
557
429
117
910
398
458
968
852
793
904
846
971
842
239
118
189
441
162
903
775
240
379
331
728
75
529
862
1000
24
854
505
78
902
328
636
791
302
949
105
115
271
822
523
946
331
469
919
459
815
533
447
743
449
662
478
841
688
921
164
196
551
475
562
772
623
688
470
803
447
6
417
190
731
156
656
77
680
267
586
14
291
496
754
420
630
609
501
784
948
765
319
128
998
439
226
805
58
14
794
600
993
87
995
479
119
937
696
19
808
924
441
741
494
807
176
91
215
112
665
787
901
692
690
614
363
594
526
507
353
176
831
950
107
174
822
309
522
88
564
681
459
822
221
258
731
970
407
15
980
553
119
695
23
265
307
740
209
494
805
780
24
484
250
764
446
6
573
618
553
814
859
565
490
980
685
907
185
933
505
76
141
651
329
271
220
988
703
825
570
568
959
719
781
13
816
376
874
562
668
885
978
236
318
364
405
844
486
3
357
43
161
686
703
574
747
760
85
572
995
640
116
540
925
485
591
182
278
66
437
789
576
321
595
280
521
794
142
333
281
332
760
244
220
943
61
294
742
695
405
443
217
873
563
99
421
425
997
574
518
847
589
585
362
299
363
815
850
692
109
133
96
898
858
528
453
29
845
194
778
958
911
510
900
844
333
815
936
448
684
14
949
484
663
31
492
38
788
41
697
352
470
241
942
917
264
634
574
864
22
924
837
94
285
174
913
469
466
309
966
641
299
894
156
780
596
872
885
543
545
126
926
118
683
759
676
69
174
1
514
13
242
506
98
860
418
591
538
480
783
674
510
149
517
747
795
100
902
249
213
784
364
96
571
224
282
936
119
991
69
964
939
836
439
694
866
47
909
189
807
887
291
140
800
289
356
73
737
150
896
679
454
131
154
966
806
888
918
465
416
25
650
207
23
892
678
576
742
530
826
422
83
697
854
998
300
928
748
416
463
6
167
286
694
44
390
137
145
646
640
24
655
217
33
463
467
595
255
436
57
583
705
793
895
878
95
764
937
102
355
686
710
391
304
287
175
1
736
27
901
949
436
74
727
562
193
463
769
110
42
853
544
436
811
109
21
573
562
601
594
889
637
737
368
206
866
718
604
685
931
960
898
3
17
897
443
502
653
139
744
517
91
65
269
84
637
996
818
571
136
987
852
532
167
188
622
307
607
417
699
420
914
307
425
857
852
897
898
672
430
70
299
204
479
572
803
351
662
664
808
17
696
635
972
808
202
503
352
530
953
258
990
855
206
868
445
745
456
136
82
899
223
185
447
527
407
990
651
194
358
917
512
383
28
658
142
653
496
315
774
976
718
630
878
897
539
516
55
678
926
136
751
448
861
713
583
711
552
162
930
265
440
414
527
679
985
994
962
36
374
1000
340
533
87
167
928
896
739
78
190
284
724
917
534
516
990
382
1000
5
659
512
293
723
372
189
868
923
900
71
182
74
41
501
880
658
832
735
425
81
850
480
585
898
720
294
301
987
18
872
662
80
397
651
110
287
126
404
543
854
247
727
695
410
155
406
998
404
791
656
177
243
520
129
981
906
469
419
778
421
309
510
228
690
451
238
888
555
184
370
389
900
550
377
775
836
645
273
719
699
585
197
565
673
627
552
584
330
755
578
407
304
621
227
313
569
876
77
956
553
789
804
156
390
549
436
564
158
774
201
384
874
601
294
843
339
161
285
772
675
374
230
467
546
803
750
17
589
692
483
384
555
459
345
841
26
604
984
816
326
459
663
795
440
207
541
694
329
351
11
52
17
169
307
432
230
733
62
695
159
737
885
166
132
732
315
266
592
362
688
880
801
840
574
610
120
231
414
29
532
49
945
272
342
317
752
587
601
514
92
971
882
758
680
643
472
179
733
915
926
666
969
944
180
94
617
990
121
681
760
37
570
357
474
75
140
868
319
896
323
915
674
15
456
769
343
180
932
654
577
18
131
717
420
524
65
503
823
494
670
722
520
492
988
507
46
608
246
525
610
111
970
64
741
61
829
641
780
96
850
800
296
881
43
483
479
200
189
776
393
225
787
898
718
301
684
992
302
482
927
688
374
137
775
388
779
178
599
957
941
834
606
804
574
469
947
362
344
608
783
609
771
221
315
603
690
303
596
946
471
976
226
731
52
652
626
808
525
290
674
107
666
397
930
403
341
242
542
93
143
680
205
507
975
109
197
811
562
330
634
771
2
500
552
548
565
964
314
181
917
447
167
640
802
18
460
138
39
236
159
917
353
130
805
853
165
993
7
43
987
499
870
22
455
300
523
330
364
127
30
992
296
344
555
858
552
87
556
858
131
395
221
988
471
196
51
218
475
604
726
596
122
768
966
533
637
415
50
607
719
311
113
295
857
95
80
667
85
331
356
476
864
156
968
33
930
628
900
938
83
691
772
13
863
739
862
796
991
888
688
534
268
407
44
909
345
250
406
679
393
239
87
973
285
283
413
266
268
929
421
924
540
672
277
806
322
708
711
596
232
221
217
421
808
899
697
855
8
66
515
553
395
739
622
655
500
945
565
545
550
841
665
733
343
527
615
435
564
966
62
885
236
86
489
529
336
974
833
53
798
30
867
601
294
124
295
655
191
54
893
787
35
87
791
883
761
941
181
525
583
352
296
916
179
282
517
98
351
889
847
265
820
628
801
633
184
230
956
691
372
846
38
629
93
359
432
424
909
703
421
345
538
56
309
621
920
940
816
635
390
581
770
280
32
363
188
56
909
862
280
66
408
715
785
334
376
559
324
752
74
351
108
528
231
667
448
242
644
986
992
454
825
536
509
368
194
30
335
223
163
470
331
928
276
294
275
960
240
286
172
677
293
67
870
46
841
479
694
209
746
844
587
456
909
902
348
960
72
234
137
31
853
79
368
774
74
791
470
764
408
575
776
742
172
820
970
435
904
41
98
271
972
400
165
171
67
851
696
601
886
159
482
771
702
462
905
202
791
568
872
867
891
889
402
788
967
767
335
264
544
955
467
878
803
204
656
40
440
196
81
135
7
594
903
226
107
567
23
918
311
978
488
165
160
357
403
773
906
893
831
866
955
936
294
806
95
930
946
953
681
252
399
150
914
196
483
19
243
196
925
991
684
445
43
488
561
261
92
841
765
910
794
305
135
107
946
42
968
88
717
34
998
955
411
673
387
17
7
211
423
933
751
356
633
801
449
15
987
780
865
636
695
401
809
602
862
552
99
910
938
974
540
680
447
223
490
107
964
272
364
153
701
314
632
572
318
864
520
931
794
973
570
870
293
216
734
211
931
120
419
455
314
887
212
842
477
568
618
429
636
356
203
581
732
261
6
826
349
273
936
339
972
26
134
141
930
119
984
737
632
475
501
67
825
579
352
566
725
968
632
628
798
123
835
964
873
757
170
184
51
572
461
422
563
733
430
4
329
678
56
917
482
398
52
367
516
969
237
777
56
972
721
398
453
396
388
110
547
769
98
101
974
544
410
858
332
241
402
281
384
418
307
835
208
338
324
332
882
97
895
316
861
71
178
84
657
748
207
3
843
429
491
174
654
789
361
471
682
38
436
634
239
212
983
405
976
216
798
678
257
335
447
224
599
309
389
871
223
515
509
912
375
459
96
145
631
565
123
153
827
190
983
381
612
926
500
88
874
475
123
490
450
843
695
281
594
149
86
225
670
67
287
735
389
848
259
160
706
861
952
20
207
835
430
564
372
318
967
866
646
381
297
100
634
278
964
790
72
585
842
591
422
335
464
596
117
780
738
270
459
739
16
820
163
916
224
262
362
181
970
469
666
579
102
217
485
750
194
615
462
509
819
329
259
573
293
698
388
806
761
188
8
913
112
603
847
176
239
166
476
737
594
846
177
887
790
307
566
33
281
464
937
323
763
911
20
384
14
419
479
279
336
291
21
581
630
623
400
393
405
391
981
288
707
892
769
357
14
225
969
23
664
429
209
805
254
362
546
989
755
660
224
23
810
882
984
511
771
504
366
873
577
543
97
104
487
414
111
569
17
94
197
442
171
770
571
221
200
951
890
748
687
445
374
264
680
684
706
371
11
650
360
184
654
39
818
575
198
365
933
188
66
432
311
800
106
950
191
693
588
134
758
928
425
770
194
803
652
606
90
315
818
908
991
153
957
675
991
604
221
310
256
762
132
535
306
601
591
926
660
808
476
750
215
728
683
701
332
450
948
739
139
812
618
476
29
96
845
440
635
251
329
151
875
776
830
106
759
804
159
678
780
488
243
456
634
546
178
721
913
692
870
618
222
735
7
64
821
318
592
585
525
631
219
104
88
954
601
135
709
526
591
2
614
100
89
427
893
499
781
333
905
625
607
722
586
687
225
309
966
840
508
942
9
60
290
917
682
810
147
29
802
3
8
539
775
822
775
293
832
198
924
902
720
132
296
228
118
589
862
434
229
398
307
490
89
445
667
351
161
448
114
991
670
799
215
69
971
257
626
334
944
763
248
761
72
303
327
23
359
511
832
157
711
680
736
170
741
938
485
897
225
617
30
651
578
262
287
42
802
296
775
923
334
97
512
555
86
119
911
951
767
757
583
856
269
812
439
957
496
824
413
752
509
11
488
944
304
233
414
364
800
237
664
215
913
405
741
840
648
376
880
322
225
194
568
976
185
98
88
174
260
671
436
44
558
821
578
244
280
3
987
436
725
141
783
93
853
966
634
932
19
861
754
666
813
840
956
694
85
15
747
62
392
723
879
304
60
537
576
738
982
523
946
440
111
455
677
358
282
153
215
8
687
778
49
738
810
693
600
828
105
444
500
594
31
548
690
189
328
998
875
62
563
859
363
870
53
870
186
174
239
700
736
451
473
428
832
771
966
815
254
1000
314
165
319
546
664
930
963
458
32
696
171
176
744
904
287
325
260
439
945
757
871
230
831
451
890
134
535
985
6
666
36
43
382
594
187
810
961
19
724
195
179
329
898
496
949
332
837
541
342
938
130
319
885
17
919
852
749
416
16
339
402
689
147
666
495
773
473
967
841
722
950
279
347
599
912
274
696
808
536
678
357
483
456
262
247
13
859
252
12
421
863
536
377
136
833
366
532
607
551
100
805
353
854
114
163
265
425
229
233
446
909
856
603
395
424
618
134
116
850
352
904
597
959
277
173
158
607
584
474
358
672
862
504
523
411
597
35
446
192
421
424
517
319
944
666
309
817
742
131
689
586
552
266
622
288
769
564
137
705
120
81
381
87
796
571
290
137
345
138
173
942
391
891
408
59
589
710
544
448
254
685
334
663
804
160
579
995
477
615
265
814
796
807
110
420
900
692
554
118
167
640
188
64
532
396
825
696
512
21
716
156
235
802
910
224
706
731
384
698
131
697
381
26
362
972
307
289
444
930
701
283
788
184
999
545
722
484
259
657
34
803
599
55
661
998
803
871
853
306
462
46
978
749
51
63
659
175
539
178
38
306
500
942
823
624
180
147
204
368
688
71
870
223
243
30
107
502
449
813
435
758
672
528
291
792
904
737
34
970
929
558
952
618
244
555
1000
1
923
851
719
67
537
864
162
699
337
483
678
702
102
270
88
106
489
532
119
690
214
670
994
780
136
263
679
519
154
766
635
779
839
531
877
794
885
94
763
452
821
332
210
847
858
128
987
377
427
658
296
165
731
255
125
68
599
106
756
843
17
679
354
320
12
900
799
593
926
545
777
293
756
256
707
1000
920
842
203
706
713
272
694
55
767
877
246
757
25
757
828
179
85
387
68
626
298
684
985
228
671
568
345
672
431
196
35
231
124
587
292
699
220
323
729
834
527
375
824
896
130
862
969
695
218
751
193
308
881
65
452
320
915
170
677
967
734
96
867
76
706
665
152
37
641
396
113
367
692
760
637
581
626
415
246
215
284
425
131
828
67
360
112
734
436
356
342
35
761
904
871
230
324
156
117
330
913
23
863
929
254
180
679
124
459
380
539
546
799
139
986
973
345
957
400
217
457
721
802
998
682
821
155
502
328
820
305
227
899
244
553
462
596
136
327
471
303
567
608
47
827
224
543
591
683
501
155
288
357
289
201
291
858
793
958
12
281
255
221
770
310
419
820
93
828
945
749
870
295
747
409
462
123
394
486
572
79
328
751
372
623
602
397
958
201
261
595
642
730
294
603
2
885
281
118
893
369
464
566
794
26
29
661
989
530
768
879
75
370
149
473
189
61
67
251
192
791
158
646
739
224
665
517
823
816
251
724
892
777
45
764
105
781
482
667
608
621
154
884
16
273
985
153
394
256
540
164
129
738
156
402
60
586
889
715
94
425
995
992
341
838
759
853
476
27
6
377
655
601
576
737
795
696
349
45
462
275
172
859
896
301
162
552
977
437
434
223
1000
92
235
860
223
894
858
280
60
151
452
708
649
446
50
968
279
284
686
957
825
631
495
421
901
245
67
132
925
959
124
196
649
430
809
601
18
427
492
90
408
452
999
110
367
303
616
883
32
226
52
630
263
485
768
583
379
461
741
713
102
923
783
17
931
712
977
830
714
893
675
836
635
380
770
386
166
132
613
277
800
301
54
367
540
109
564
259
184
829
282
843
420
955
148
642
629
551
984
761
72
807
500
741
846
22
711
755
561
604
209
417
237
182
29
917
291
592
613
333
836
332
510
743
704
57
13
200
767
821
871
707
137
71
605
108
800
846
706
173
52
248
180
258
891
991
483
599
160
796
890
693
812
417
719
247
145
379
640
843
223
839
528
840
998
560
889
983
827
687
955
899
193
840
935
923
435
96
771
688
188
567
960
522
90
616
668
993
995
240
409
845
584
787
12
193
808
956
480
66
3
986
591
314
925
56
799
423
146
166
38
38
452
194
565
826
947
404
835
869
523
394
720
948
251
395
99
915
39
829
945
871
565
282
558
984
145
363
538
629
637
468
397
968
949
112
467
227
998
316
907
702
212
558
149
960
797
861
99
776
999
971
762
135
580
948
726
983
533
166
139
502
842
428
368
390
739
863
538
996
491
313
532
203
210
175
850
609
571
33
914
923
594
978
33
485
865
184
268
457
630
203
836
561
242
422
561
187
327
307
102
342
855
393
315
158
30
439
209
637
557
832
344
883
341
84
451
343
156
252
283
441
158
193
391
606
350
836
610
844
306
74
522
942
487
454
64
869
499
565
747
149
482
931
653
821
628
244
512
91
526
968
662
930
600
725
622
698
443
362
358
330
239
277
47
735
803
415
287
849
962
307
271
213
166
682
373
42
230
467
988
483
55
442
218
191
23
412
179
375
539
554
293
225
804
466
897
953
528
574
940
764
726
732
282
710
135
290
367
744
71
399
635
300
747
64
50
334
154
280
576
133
635
627
229
101
173
840
608
408
238
223
425
625
766
238
625
427
475
244
138
31
236
155
164
268
703
746
171
131
703
417
464
141
183
511
246
151
659
702
621
28
160
517
834
228
674
827
392
414
937
989
385
157
233
402
455
216
535
411
380
79
940
866
165
225
823
151
869
71
594
168
121
645
212
581
449
849
857
620
79
573
297
857
819
40
506
696
24
487
39
732
378
718
521
774
448
81
365
59
507
187
476
125
132
29
295
881
488
189
986
636
984
517
958
242
218
12
201
57
737
601
110
118
148
203
563
783
557
756
22
115
133
839
349
440
855
177
842
834
102
558
704
805
864
658
810
26
735
825
172
812
776
162
915
959
572
117
967
679
487
371
887
623
224
6
447
416
258
843
609
673
622
328
565
242
839
566
335
256
464
907
252
669
858
24
310
113
303
539
994
286
518
91
670
607
941
190
76
501
919
332
718
563
56
616
243
766
542
558
963
71
244
865
757
55
695
700
509
641
892
361
92
614
989
349
674
365
565
542
756
248
118
530
954
964
837
232
980
674
524
554
681
881
720
240
257
698
716
24
1
805
152
859
970
248
326
326
31
273
184
245
607
518
173
195
305
244
818
870
284
756
908
173
885
790
654
516
582
461
30
58
724
298
789
506
924
3
326
666
180
834
624
144
986
943
35
488
761
547
521
550
879
570
292
80
490
274
483
367
87
421
639
260
479
740
267
42
409
810
675
454
601
981
634
624
377
633
127
763
353
902
635
309
910
961
900
586
286
111
128
170
169
207
909
890
601
413
933
788
868
869
738
442
795
626
323
739
526
130
437
602
450
592
760
148
388
830
992
499
543
551
57
755
21
581
283
672
878
254
390
219
807
40
579
515
515
468
844
597
829
623
854
101
301
767
406
219
891
158
506
218
869
751
590
412
652
269
248
708
721
91
117
777
116
490
241
424
251
39
326
982
973
399
764
405
831
306
238
269
519
273
974
85
316
444
462
143
147
48
549
635
579
132
342
940
650
588
279
753
956
6
60
243
820
555
890
497
684
933
579
336
88
373
666
982
734
872
630
170
181
76
656
39
614
709
165
538
50
53
531
145
30
727
937
415
546
956
378
232
516
582
148
687
581
293
997
182
383
957
336
692
777
475
480
115
612
263
928
322
820
346
152
775
553
49
126
607
28
442
145
622
540
11
65
10
854
531
180
444
783
734
414
881
326
167
339
578
161
582
839
781
652
315
890
74
766
362
13
623
484
285
464
376
320
663
94
861
579
513
131
364
825
22
848
148
844
953
172
826
63
296
842
208
999
96
614
703
799
897
386
852
357
899
809
683
814
786
141
352
449
119
618
974
127
355
585
638
488
848
9
348
6
609
742
22
905
254
95
777
655
284
866
390
457
797
941
247
670
793
2
95
626
447
669
588
637
157
595
994
315
666
682
387
483
297
574
328
77
178
30
335
445
347
596
422
345
800
254
579
768
877
358
396
440
840
222
905
493
167
175
353
301
848
791
851
958
937
228
739
207
729
324
71
862
161
171
854
973
492
362
525
13
875
24
694
345
151
29
353
130
120
516
607
595
550
927
475
291
406
317
444
556
135
615
298
917
351
826
190
570
933
944
60
383
385
444
256
110
268
811
690
631
670
506
907
40
974
126
231
399
613
305
525
769
135
57
181
921
644
871
666
781
612
830
318
218
128
441
118
279
881
660
853
341
567
794
415
931
949
597
988
183
492
873
520
959
376
344
204
715
673
371
624
54
658
343
881
768
560
213
278
863
505
693
57
717
88
99
313
29
768
680
425
689
240
545
247
26
58
990
898
150
24
85
145
278
298
893
317
984
741
577
139
295
749
953
139
438
707
766
54
823
268
61
192
536
808
558
867
236
830
858
810
822
544
650
932
671
563
815
960
565
447
470
199
629
837
565
165
762
29
580
869
43
165
247
320
574
638
986
202
43
934
936
731
50
887
14
434
918
247
460
953
249
534
696
997
991
380
140
269
128
960
824
520
424
634
269
884
815
652
110
305
168
603
368
168
111
320
120
229
555
117
536
530
357
550
920
302
275
393
426
761
18
138
587
311
718
146
659
913
591
494
41
272
920
703
732
68
716
772
845
655
614
368
700
555
591
607
917
558
101
568
209
467
60
609
326
332
954
547
660
549
981
16
594
317
775
633
566
789
749
136
177
686
503
332
397
303
73
484
69
575
6
795
474
335
384
754
674
975
955
396
692
462
474
22
405
82
198
466
147
328
240
824
659
67
148
437
953
503
641
2
113
470
903
932
802
279
232
463
500
682
99
543
71
509
894
250
309
208
721
347
524
792
604
564
65
689
381
414
913
618
392
631
135
863
774
823
24
280
811
566
219
951
329
962
969
645
562
619
957
153
267
140
788
121
119
455
339
222
576
756
634
386
480
359
822
316
626
572
126
731
401
507
350
594
421
841
639
87
721
713
693
258
723
319
607
64
655
268
779
995
535
423
126
602
154
800
953
27
684
61
402
42
711
271
329
238
492
906
869
719
203
521
672
64
770
118
3
402
660
997
472
122
632
804
140
158
56
568
151
773
851
724
857
481
484
562
565
82
764
10
710
759
344
429
233
880
954
923
377
418
391
661
977
888
193
925
512
326
763
880
879
101
399
564
860
281
358
229
749
901
580
962
432
668
161
457
522
601
13
921
792
627
390
357
260
373
139
902
754
296
582
429
684
769
925
422
49
980
968
940
420
302
661
615
746
311
763
749
365
776
450
991
497
744
223
561
880
336
871
653
892
960
593
496
699
444
548
504
481
27
303
116
765
228
622
194
267
369
24
310
387
921
364
855
710
910
456
678
421
343
411
858
557
952
945
310
386
638
361
145
38
626
314
99
687
713
736
882
228
998
503
1000
386
92
519
469
640
168
889
848
181
147
783
162
330
930
396
667
535
904
131
834
80
835
770
587
111
886
943
652
453
742
609
768
955
700
670
671
774
182
36
992
101
318
659
634
328
114
113
795
511
276
247
481
348
917
365
303
542
229
115
348
565
695
23
145
356
577
142
75
395
212
858
118
954
123
242
481
47
72
709
464
750
964
925
941
117
939
71
927
877
77
570
24
455
908
366
983
637
296
653
217
369
340
744
874
776
656
404
996
452
757
541
351
506
296
652
781
599
616
750
272
465
377
832
520
999
56
118
442
9
736
386
951
170
943
741
344
554
220
72
775
321
792
255
659
853
908
893
302
597
414
6
709
413
693
643
300
21
345
788
229
465
903
320
94
158
412
36
105
158
950
872
170
830
6
577
976
922
189
33
812
411
898
294
846
151
456
231
532
511
673
329
92
653
991
803
323
105
133
690
525
528
701
9
999
398
221
358
391
409
970
585
142
984
327
274
451
238
474
816
421
90
45
814
554
1
706
374
317
980
706
617
320
106
174
411
503
779
287
868
859
314
473
637
420
312
510
419
634
419
686
377
797
728
229
348
904
83
830
842
156
970
418
813
350
522
296
112
554
397
369
340
814
943
496
551
88
97
896
874
270
942
165
664
940
705
670
240
438
247
39
611
966
765
971
844
673
527
849
892
114
943
483
764
35
153
858
915
178
646
930
557
677
110
373
459
670
831
652
422
946
483
970
253
812
79
450
572
848
182
353
164
942
213
283
933
759
847
93
741
827
27
646
519
542
96
669
92
675
910
706
118
453
546
539
335
846
434
551
139
485
286
193
113
553
199
96
731
43
727
393
920
50
473
518
548
98
1000
60
200
97
456
276
762
205
330
509
492
701
189
52
196
48
65
999
83
424
429
206
685
385
285
796
915
761
35
562
32
552
159
208
741
366
661
625
169
912
490
306
758
139
811
541
387
906
108
279
213
456
560
395
750
581
53
631
719
43
483
677
55
761
705
683
257
279
607
998
950
237
309
86
131
944
412
382
81
634
545
294
327
678
216
726
362
842
99
211
48
665
463
251
762
158
379
472
389
335
734
34
186
532
827
56
409
67
522
945
349
568
489
193
70
205
83
579
726
160
777
777
796
861
897
5
961
929
585
730
635
319
555
427
342
831
209
34
259
25
119
79
202
601
716
388
298
449
245
939
361
920
718
684
735
341
638
93
984
441
705
785
365
136
626
836
441
86
368
277
543
542
908
832
65
243
600
187
712
577
777
931
896
765
85
852
462
568
373
454
786
918
652
395
86
888
753
47
477
659
836
537
893
447
846
428
515
913
301
675
750
214
589
605
110
710
63
449
601
276
778
403
308
365
688
252
950
215
466
385
90
61
890
388
539
822
926
490
260
499
193
840
721
408
509
973
232
507
608
843
255
240
918
486
81
752
477
736
521
874
732
372
481
938
918
787
381
393
201
512
368
155
557
954
196
831
631
298
478
259
449
786
704
297
901
578
84
432
395
921
784
569
919
643
581
314
46
894
316
175
62
584
752
355
507
207
642
243
904
624
850
283
328
863
354
619
786
230
847
824
93
829
412
40
16
101
474
79
9
140
812
374
769
366
900
194
182
581
313
198
972
569
178
226
500
179
941
229
729
265
810
337
304
936
274
394
93
333
61
728
270
541
733
526
228
312
857
940
175
984
386
998
262
355
414
428
482
305
979
776
392
634
930
547
905
927
201
684
24
272
980
351
397
271
416
895
19
141
455
835
222
627
349
908
332
99
177
538
47
470
458
550
593
507
536
626
222
698
998
749
445
102
778
869
681
474
996
118
676
563
796
146
132
656
638
610
455
346
545
375
473
2
799
759
212
626
435
14
595
614
705
290
976
424
326
530
10
334
978
102
213
251
983
471
975
32
528
910
463
857
101
46
39
19
50
46
343
904
271
351
183
14
113
209
685
668
492
642
991
391
67
168
902
68
101
286
516
660
264
698
838
642
225
309
772
377
340
257
695
271
128
651
26
963
524
187
803
750
55
563
322
112
238
447
305
537
448
749
899
767
457
158
51
253
640
184
446
856
574
469
251
772
390
729
356
260
763
521
689
985
879
944
413
703
67
523
549
564
19
750
581
535
715
219
154
310
204
824
827
605
390
252
164
920
845
877
153
690
443
204
48
251
328
216
260
181
300
335
855
417
235
217
517
982
534
272
621
298
954
622
169
837
352
195
918
291
41
794
956
533
478
262
395
394
937
328
566
687
685
315
319
943
924
662
597
86
435
121
438
594
404
580
966
767
405
674
725
375
895
757
924
313
843
330
775
896
332
737
111
58
39
789
933
47
554
987
326
170
352
194
447
759
82
922
944
806
574
875
182
671
547
55
144
809
590
493
720
781
394
650
378
642
581
619
873
413
716
533
761
532
267
2
930
71
330
958
310
6
915
62
173
39
469
660
190
305
106
364
476
778
685
509
423
365
503
100
21
476
850
386
698
320
104
843
457
313
346
197
248
746
712
97
23
299
818
156
936
99
631
418
458
733
112
733
997
49
797
107
745
650
233
923
101
667
859
764
973
809
474
716
668
682
932
215
899
76
47
914
610
255
18
576
976
268
846
705
919
980
327
487
925
799
205
618
792
70
993
770
139
708
756
767
204
934
920
39
467
903
755
524
109
607
745
38
191
694
494
17
696
723
158
708
238
959
655
92
382
16
68
275
924
523
718
648
457
532
354
853
793
566
800
465
555
18
179
362
340
171
516
949
397
193
130
752
679
317
747
415
458
869
636
817
446
914
420
812
493
105
441
124
496
704
652
35
107
881
90
805
194
121
892
220
776
970
682
261
342
429
909
659
14
991
373
15
60
728
746
236
595
825
372
270
154
659
1
529
19
876
410
899
778
886
46
968
642
868
929
933
449
695
56
696
141
130
471
774
704
282
949
31
253
599
17
681
953
572
611
662
949
975
249
287
338
642
11
993
479
748
985
170
629
85
78
256
956
44
273
744
483
901
446
310
417
513
878
990
595
735
428
251
522
695
154
804
553
559
847
248
324
592
540
968
444
111
569
222
790
387
162
30
517
702
860
298
990
523
290
596
448
186
939
137
134
604
629
813
2
210
315
574
885
816
686
67
168
50
806
188
623
830
698
149
27
632
317
701
577
396
869
428
949
560
772
363
16
76
889
786
884
239
791
694
914
837
988
343
816
420
986
254
765
451
6
235
676
754
987
318
482
905
212
972
261
186
561
603
544
296
876
138
977
262
437
447
828
894
816
459
425
699
703
85
794
356
415
503
162
783
878
903
954
271
852
538
174
437
43
835
793
515
526
307
859
37
620
283
582
113
911
753
575
304
679
207
739
567
341
953
59
870
883
282
686
853
452
783
257
330
423
272
355
554
276
94
370
870
580
997
793
822
221
391
175
812
752
561
516
143
432
326
906
643
70
719
560
93
257
479
263
370
974
536
391
559
826
236
332
279
351
722
109
124
967
758
485
434
97
307
610
568
949
318
547
487
229
527
645
707
797
533
781
653
899
84
944
9
159
249
512
904
927
166
832
710
973
102
402
737
717
870
12
377
408
33
724
85
665
930
445
128
833
262
144
213
432
888
499
963
796
504
837
667
684
103
790
927
239
436
979
621
169
248
402
36
464
694
919
203
241
185
394
198
563
909
575
621
198
358
790
576
312
563
864
184
47
110
461
98
769
677
211
540
548
561
584
71
54
597
440
723
673
940
604
110
65
413
594
833
819
522
862
844
101
762
490
427
407
559
341
86
643
44
59
976
715
850
173
451
779
326
768
935
73
849
863
603
2
437
674
288
769
452
382
614
381
43
924
636
297
855
571
114
345
705
731
165
785
135
525
216
545
202
141
67
744
439
882
401
570
627
139
259
482
938
193
838
468
37
898
476
802
924
806
830
335
671
207
66
850
710
925
355
451
1000
400
74
225
222
790
905
702
142
322
450
708
419
129
77
278
399
134
452
235
954
336
626
877
939
21
589
969
701
20
940
923
900
80
677
581
58
882
140
513
422
964
845
118
155
73
256
95
389
62
568
52
383
461
205
113
894
288
66
391
863
504
503
107
699
747
643
951
773
619
943
2
203
870
806
163
659
263
672
584
703
783
241
22
140
113
399
389
947
979
977
43
634
53
666
502
267
591
325
339
21
871
406
5
798
815
423
178
371
859
244
53
563
287
458
646
132
726
237
828
437
456
921
260
436
509
21
851
256
266
450
661
399
415
571
390
607
690
110
742
584
745
19
963
43
916
190
828
987
356
257
160
771
244
841
764
227
316
263
277
60
984
148
36
810
684
371
514
894
911
458
279
621
593
932
696
654
84
53
789
37
62
82
789
825
64
498
896
304
202
563
671
16
851
247
332
78
762
818
915
805
72
329
920
264
172
803
562
178
239
217
240
563
516
230
128
583
108
195
102
352
114
206
330
871
461
802
958
812
633
455
270
641
847
207
604
429
906
597
66
752
80
571
801
283
886
186
167
39
567
746
658
749
406
466
845
485
737
886
910
521
675
39
590
373
141
798
441
91
684
929
418
198
25
130
668
88
950
718
301
340
415
709
655
115
270
734
235
789
17
622
65
980
411
488
673
420
498
874
312
466
922
816
298
607
924
698
532
36
473
442
403
178
429
848
230
114
420
905
343
993
404
473
721
838
504
72
800
664
752
378
730
432
869
684
866
176
24
779
750
589
827
642
155
442
475
868
46
509
31
1000
464
47
348
776
397
489
2
858
694
721
931
767
942
208
170
622
27
284
189
741
761
99
863
340
615
107
30
381
28
458
919
53
241
346
490
529
872
184
839
398
708
464
407
613
293
284
670
889
943
829
362
219
759
555
34
605
49
387
964
130
338
73
978
234
796
688
755
424
481
393
581
674
287
793
305
452
823
591
483
663
796
813
283
786
608
564
766
131
3
121
569
468
611
216
863
235
121
484
689
140
660
422
420
292
659
652
152
882
130
933
292
55
799
171
455
858
11
597
82
44
627
428
834
77
433
551
927
895
717
214
54
870
738
277
427
920
793
305
783
912
474
664
912
355
460
854
355
857
934
473
471
979
254
596
975
941
78
850
403
83
480
136
664
117
980
777
41
985
591
852
491
559
135
611
104
542
97
167
909
620
268
102
13
389
223
230
217
574
483
542
839
828
836
246
479
722
885
919
824
610
346
1
434
701
17
252
627
39
594
347
198
66
753
472
749
118
953
648
813
490
484
512
786
696
135
480
947
154
726
492
453
814
437
91
287
170
506
147
553
714
422
397
431
99
145
890
306
216
271
524
333
927
294
160
727
422
282
178
590
46
347
942
971
946
280
358
142
103
578
607
824
139
897
170
157
776
635
468
764
9
984
787
184
823
239
695
264
791
630
792
851
980
204
485
278
384
531
458
668
544
152
628
63
93
691
703
732
714
519
866
782
410
707
763
395
36
734
691
556
765
115
838
180
524
661
473
885
473
533
238
509
286
698
65
633
316
599
797
35
752
115
282
972
494
938
575
639
822
518
889
997
865
644
110
375
517
532
5
908
720
18
755
938
975
94
56
945
518
550
853
435
865
933
686
514
311
380
783
516
554
135
247
157
800
732
136
177
607
879
796
311
235
57
547
764
457
734
704
21
628
870
952
2
321
95
312
35
956
520
283
80
699
665
242
962
346
392
885
106
36
51
287
413
426
259
156
480
375
879
1000
301
302
792
191
980
93
2
401
727
881
453
453
615
41
705
424
130
480
271
728
555
676
981
11
625
935
222
893
670
22
269
1000
703
680
222
265
496
524
254
183
721
471
956
546
668
152
603
213
856
753
38
641
130
316
729
210
452
839
234
865
662
433
977
253
934
385
752
299
531
233
820
123
710
853
815
336
323
121
933
956
747
928
20
669
240
196
275
692
741
86
222
239
428
741
517
479
46
785
920
931
133
279
453
406
816
969
398
17
732
522
235
226
6
851
94
628
938
796
565
953
173
189
952
768
743
768
198
493
249
493
722
648
884
570
365
678
719
890
481
343
890
641
990
374
866
590
821
68
12
870
804
537
17
170
480
560
583
881
731
382
971
122
381
364
614
529
140
35
25
385
327
28
669
948
854
331
274
807
835
479
327
734
1
652
121
750
854
94
782
86
88
934
165
292
353
258
369
997
908
261
887
739
4
390
90
821
141
660
828
393
479
747
415
799
759
31
164
793
60
500
932
378
605
313
868
885
590
853
626
404
759
319
880
819
967
244
856
523
550
858
960
345
696
867
315
361
323
51
148
999
225
68
541
338
341
985
15
547
59
353
760
171
417
91
123
392
878
52
128
418
150
906
370
899
164
896
664
635
874
96
148
844
67
28
431
986
684
897
494
446
498
221
756
377
155
364
649
692
684
316
553
452
612
73
713
906
684
164
39
41
70
168
312
774
594
567
394
876
206
904
458
275
431
16
179
667
964
73
28
237
943
224
546
874
685
967
530
465
821
729
546
741
843
754
101
648
55
97
96
443
770
441
885
508
431
477
389
416
977
787
238
899
397
544
812
208
937
835
436
801
785
90
665
423
441
941
792
427
141
778
230
606
888
456
383
905
634
849
5
138
130
450
791
218
797
773
131
480
725
118
551
395
576
140
333
342
721
777
223
123
434
292
918
615
326
584
257
264
499
475
622
147
90
369
100
971
981
528
381
688
437
250
189
367
365
377
295
600
696
891
787
983
108
856
363
149
961
571
813
430
821
623
777
468
414
457
104
989
195
196
818
528
965
713
789
100
139
360
684
687
328
349
688
939
877
497
759
664
886
956
918
548
997
572
163
1
977
717
139
225
674
825
608
367
444
332
100
125
582
420
871
265
569
775
426
294
200
573
436
994
768
996
814
567
534
941
100
930
636
984
63
70
461
275
599
466
225
837
618
250
215
613
551
202
660
715
555
670
726
542
269
197
456
838
171
998
815
279
245
381
149
915
621
923
486
608
355
457
116
655
268
938
786
935
84
865
671
246
673
196
995
984
327
656
832
953
402
913
112
890
558
341
346
226
76
6
890
736
428
60
854
967
340
936
906
773
88
647
295
846
672
953
394
867
782
425
924
809
220
206
845
922
523
810
546
184
74
432
601
318
895
62
844
9
671
161
934
618
277
760
896
504
234
665
348
75
56
830
258
798
447
96
99
697
610
220
228
343
770
521
159
902
127
542
136
624
84
821
119
19
555
269
796
87
578
643
778
172
230
316
467
412
75
879
384
296
990
90
948
536
198
372
788
324
825
337
659
61
69
804
986
795
354
379
826
954
460
976
797
425
692
549
145
673
578
938
648
390
504
942
509
113
895
675
726
351
293
775
699
30
719
299
974
490
225
966
118
819
416
972
662
76
44
759
955
805
465
993
541
323
876
459
379
432
771
780
800
578
970
640
635
5
916
684
321
84
683
373
143
867
261
854
972
859
257
342
985
164
95
609
927
448
180
898
361
593
233
18
246
573
204
402
916
769
760
650
205
946
291
436
16
114
836
700
121
773
66
710
356
416
735
949
646
705
557
748
513
436
554
262
790
271
287
688
298
223
261
583
134
48
7
776
28
28
4
635
997
104
634
386
75
960
869
781
528
461
178
645
313
771
500
751
968
623
726
7
319
434
268
196
575
419
771
335
451
389
899
276
931
690
448
356
146
606
758
730
653
584
462
533
81
874
198
151
708
488
775
720
35
939
657
405
850
854
347
159
572
401
422
421
900
448
475
665
922
503
250
787
869
785
541
70
650
223
259
878
148
782
216
268
998
294
762
461
271
873
415
436
995
63
987
993
974
139
565
268
714
316
841
58
548
196
977
296
280
488
151
661
714
868
381
645
492
878
66
330
527
926
908
784
179
777
522
234
19
393
103
126
647
650
978
776
605
201
726
539
828
770
820
364
449
208
434
117
10
942
126
322
321
857
609
783
238
215
710
143
645
978
915
558
766
731
629
548
755
526
355
579
172
93
563
47
581
255
900
203
989
916
766
971
260
604
987
764
977
436
491
174
406
316
420
835
393
327
82
869
30
566
506
58
872
137
149
291
354
599
443
892
787
955
508
167
993
164
287
846
194
242
807
174
253
263
32
34
734
932
12
867
541
970
616
141
97
233
192
758
101
360
892
121
920
744
257
532
593
797
877
218
218
801
599
577
233
119
816
132
732
186
789
316
488
474
878
427
788
601
773
14
568
840
521
497
539
549
236
53
204
487
831
680
708
507
56
847
437
907
387
359
180
555
34
887
425
984
461
113
78
839
312
595
492
412
579
268
164
519
168
961
920
645
776
426
690
95
110
168
202
889
70
791
70
258
433
653
772
909
970
399
965
659
689
319
425
668
63
553
663
236
716
861
928
72
979
80
860
5
182
390
563
337
296
205
205
444
795
845
580
744
171
155
225
882
617
865
806
817
754
811
487
521
161
111
892
167
691
986
120
996
183
219
949
554
262
171
53
616
359
855
540
904
947
830
585
673
266
576
293
324
488
563
147
481
343
452
597
381
735
737
375
13
758
659
136
146
827
409
853
310
358
496
246
803
519
614
142
32
130
540
332
814
689
372
951
812
839
891
827
927
347
971
579
296
783
705
447
540
674
377
974
23
827
498
711
194
913
845
28
534
156
898
985
210
147
59
979
355
405
824
513
739
269
396
26
749
115
286
202
755
705
131
518
386
660
271
128
746
673
677
333
314
107
414
4
133
42
184
320
890
654
425
112
680
88
85
895
553
585
459
419
424
700
413
179
595
923
907
880
878
826
985
275
313
195
295
158
544
228
764
550
195
993
267
250
999
829
8
42
28
248
846
760
64
219
9
349
84
412
433
808
845
102
529
612
762
944
254
808
646
757
249
465
343
808
209
610
38
791
818
49
751
879
332
738
595
751
340
473
454
461
321
718
67
396
367
320
923
316
832
728
20
662
745
62
258
899
520
64
192
643
890
512
916
722
4
162
111
127
316
659
650
7
235
149
716
486
510
504
78
82
962
186
28
979
490
771
512
164
265
69
118
763
605
590
954
481
345
838
904
161
431
528
386
893
43
381
547
996
841
572
769
447
787
266
458
31
574
935
380
533
929
296
188
828
883
795
390
576
676
522
729
565
114
329
822
431
69
702
980
616
270
653
286
917
727
445
414
953
913
544
141
153
300
526
203
656
977
38
964
633
847
117
327
93
328
286
493
212
599
918
433
565
148
263
408
425
801
414
467
472
477
212
628
821
599
779
348
295
502
923
991
233
183
125
199
950
416
214
484
162
634
114
909
306
926
229
390
701
186
161
49
934
757
415
33
673
858
712
399
368
725
290
977
913
672
345
618
445
201
368
856
858
896
672
824
517
69
854
205
897
41
286
98
584
496
966
958
115
554
246
183
656
98
9
482
404
409
827
909
890
334
553
324
82
82
528
93
298
215
336
31
453
574
586
952
92
656
750
713
6
482
462
286
949
48
25
237
140
292
69
964
758
896
479
185
630
371
691
462
646
589
440
989
228
354
873
498
335
645
704
873
97
892
734
10
129
11
651
504
995
958
467
12
85
242
369
491
377
178
998
90
165
658
414
138
862
886
55
566
420
791
51
77
713
865
119
581
513
716
113
694
284
980
19
642
122
102
814
480
584
157
134
385
33
50
158
708
408
421
454
572
967
63
777
79
689
942
992
607
444
727
342
230
10
306
271
75
239
930
881
249
453
458
889
83
220
708
647
592
195
29
390
418
636
48
368
52
550
8
938
787
135
222
20
661
364
957
518
679
79
500
467
683
945
232
674
586
952
307
593
86
958
915
999
633
905
172
785
139
954
419
885
869
754
35
873
27
465
963
257
744
962
758
907
633
832
383
283
539
424
911
372
876
203
983
311
773
96
175
701
252
368
380
497
857
767
940
214
470
363
558
883
502
534
919
831
339
11
578
906
667
773
885
184
280
834
658
576
64
658
834
980
128
8
580
805
469
532
185
740
104
285
623
643
395
677
816
271
109
63
496
391
860
287
58
481
735
25
951
836
294
693
937
408
631
21
67
100
845
136
281
572
125
130
380
834
598
657
499
13
247
61
337
756
499
875
134
629
536
338
777
756
968
731
507
676
297
921
381
69
506
488
37
552
177
217
327
254
791
530
80
210
226
631
577
953
46
780
349
830
829
99
521
692
693
767
273
611
144
273
934
183
561
657
848
786
964
285
442
901
172
793
838
232
120
260
969
882
873
547
388
292
845
19
859
21
831
529
399
656
720
628
636
335
168
467
228
436
118
734
614
925
738
290
563
779
276
857
802
648
346
236
541
645
393
64
819
718
391
13
451
603
402
705
779
725
235
333
596
767
310
128
343
827
798
365
156
231
242
563
404
83
160
894
118
611
597
582
107
172
174
260
627
573
954
830
167
1
385
358
318
440
616
939
679
911
745
261
478
258
945
808
897
499
917
261
108
926
889
668
667
274
172
383
225
251
325
617
491
646
163
667
984
56
130
546
415
980
80
781
447
678
118
625
201
707
965
747
90
503
243
794
500
731
209
847
372
363
699
905
966
615
489
3
953
947
830
477
530
291
675
185
391
560
975
205
293
278
478
638
397
856
668
673
736
647
841
995
993
408
802
940
203
221
371
565
133
225
690
914
880
752
304
344
638
580
139
707
706
54
787
567
523
768
945
390
945
348
498
830
38
644
448
812
347
278
863
99
20
72
48
434
142
374
404
147
376
632
818
323
288
915
968
231
785
207
619
764
708
454
880
39
951
314
345
139
451
482
269
241
982
287
214
7
6
970
100
152
742
680
233
580
205
785
670
351
239
499
236
980
433
210
605
275
401
130
145
998
107
54
606
105
799
77
341
248
617
107
475
487
175
868
291
904
196
902
203
895
834
744
832
453
425
53
103
683
248
5
747
117
329
625
306
127
445
102
536
905
267
302
92
8
15
871
519
431
80
326
864
538
828
487
675
954
200
446
760
679
774
31
846
303
678
375
181
152
126
771
222
616
337
479
760
700
350
509
234
61
508
702
529
382
447
634
250
983
54
946
314
978
148
717
737
129
647
418
626
778
566
781
758
896
493
663
559
328
116
597
971
773
969
274
478
918
797
625
503
388
879
532
505
874
157
463
367
868
285
445
79
945
543
918
299
395
122
931
109
345
444
55
163
181
45
149
482
245
25
849
326
241
233
184
962
766
178
296
636
678
84
605
728
776
677
93
910
386
31
618
89
41
260
262
66
346
918
807
137
534
729
317
300
954
656
700
358
937
398
851
948
38
102
648
469
669
460
644
932
516
384
758
10
951
132
666
933
836
120
864
442
744
623
577
681
657
237
778
797
585
291
600
14
431
347
312
116
637
551
873
598
803
899
792
234
503
372
636
446
30
542
85
639
590
442
884
641
819
431
340
466
96
343
338
904
275
407
956
858
900
306
844
892
882
286
516
245
925
380
572
387
685
687
651
290
756
107
622
759
116
127
103
527
577
21
909
348
117
327
456
964
722
564
426
669
503
943
278
170
397
248
259
571
743
176
662
613
361
138
969
754
559
967
409
263
632
1000
192
286
56
742
333
745
507
688
586
14
279
897
431
548
455
603
477
17
386
501
911
64
678
310
817
482
860
911
300
474
392
636
328
673
439
254
149
761
136
845
935
862
681
995
36
351
643
710
853
377
354
34
887
170
94
568
943
170
60
55
840
123
791
689
208
530
785
65
141
279
559
547
520
855
284
348
804
256
417
818
968
616
496
276
44
613
332
186
425
909
397
698
691
232
97
297
196
244
978
854
106
978
638
435
867
465
269
24
306
164
301
761
719
932
586
366
311
563
914
181
314
388
428
661
942
22
687
200
118
122
696
910
546
913
233
315
279
349
165
989
415
970
284
802
918
939
380
835
857
260
877
971
549
890
405
854
177
318
78
214
489
190
100
506
48
718
548
444
376
972
849
299
12
587
481
739
153
91
924
612
99
846
736
286
129
525
891
90
809
187
206
952
996
247
762
538
927
65
718
68
892
465
793
544
932
211
30
247
893
358
118
276
971
450
708
332
533
723
640
158
649
836
951
802
230
168
860
396
112
374
652
206
716
742
558
540
167
846
247
480
845
154
519
561
429
522
167
202
385
974
710
136
731
758
918
146
665
451
600
99
281
768
122
687
188
862
546
269
315
73
34
918
560
514
409
117
223
412
368
533
375
812
842
962
391
127
465
837
893
23
911
674
254
284
107
436
641
647
992
76
281
69
524
467
290
521
97
505
901
208
410
421
430
60
79
245
591
442
980
921
102
291
375
786
627
330
379
11
198
544
215
107
226
881
991
807
92
979
482
461
78
813
452
581
129
319
641
341
491
426
411
611
810
443
411
614
660
391
350
386
813
739
112
4
768
944
2
992
190
347
862
395
945
285
177
759
375
700
40
664
279
169
41
512
845
998
710
989
415
989
156
993
566
521
910
845
432
851
817
294
575
909
995
149
32
414
512
391
312
824
462
256
243
522
523
93
577
613
924
765
145
893
2
1
209
897
155
339
349
374
47
307
865
204
405
999
223
558
589
515
495
52
381
603
96
748
151
408
398
128
592
456
930
572
755
858
956
458
968
268
210
738
552
295
412
702
947
915
18
726
965
935
309
980
435
704
553
411
392
78
458
874
332
110
566
906
777
74
529
490
535
177
460
135
601
786
655
730
610
59
42
911
86
627
639
176
547
388
156
526
664
504
641
221
273
444
701
145
24
259
453
339
858
320
757
501
270
427
732
650
583
545
814
670
1
404
785
170
297
879
349
952
365
350
797
380
739
221
226
116
384
406
599
27
751
847
661
530
96
77
330
288
559
443
753
962
331
827
634
692
544
618
801
40
149
259
230
456
183
879
906
678
264
432
975
116
87
254
594
952
983
158
796
603
298
31
447
227
483
362
81
162
298
326
985
526
457
834
419
750
376
416
277
435
436
960
776
820
294
68
35
47
352
257
491
624
437
305
161
722
118
797
693
430
845
323
999
678
292
854
10
308
834
512
777
692
127
355
674
372
106
794
974
419
548
967
400
618
547
729
602
100
861
899
632
764
114
96
645
690
251
753
38
727
509
916
133
662
357
14
362
636
555
106
605
15
489
994
983
523
444
241
931
248
276
328
820
92
301
116
753
329
803
344
416
204
722
72
6
924
533
900
348
972
219
289
285
396
574
499
287
619
747
512
27
366
73
794
362
486
744
906
755
832
812
788
663
837
346
1000
870
132
288
325
1000
352
724
930
728
258
832
699
296
461
693
445
995
302
579
474
215
907
40
356
510
47
324
821
884
179
242
425
155
974
570
991
840
721
485
866
459
202
327
719
546
51
188
932
936
134
453
666
101
189
423
292
383
833
587
228
5
39
941
161
634
379
988
276
88
615
707
370
512
755
814
683
974
268
123
861
955
6
648
708
684
284
379
296
564
701
334
564
251
533
584
733
59
972
400
764
453
23
628
594
380
639
637
71
26
540
933
370
423
204
635
132
982
746
525
768
649
715
312
130
882
386
100
264
50
787
750
40
182
499
22
267
216
294
888
313
18
777
404
348
493
498
861
80
42
474
726
247
463
633
57
197
168
486
647
602
232
223
167
718
349
531
940
631
283
646
804
637
736
544
732
197
860
718
466
963
853
697
471
977
132
304
923
476
627
680
291
700
624
250
299
732
402
153
712
638
656
129
427
170
297
488
838
829
776
590
254
373
521
218
491
728
414
315
363
846
501
835
943
247
275
872
906
872
957
810
190
388
169
955
504
285
254
14
921
927
309
819
904
241
681
903
634
856
272
885
455
326
493
129
545
546
153
828
701
568
840
470
248
826
617
635
638
201
952
216
273
447
860
421
435
255
174
414
986
627
695
7
681
297
741
611
502
644
281
556
442
926
383
989
528
681
206
749
696
832
134
47
334
375
923
307
927
513
958
206
245
782
779
853
955
977
58
999
367
714
128
399
271
17
965
730
438
659
253
966
459
883
799
754
4
728
99
116
483
442
285
763
340
354
51
409
901
147
407
733
778
685
243
62
304
411
811
419
395
888
136
316
527
200
309
545
204
814
358
296
444
952
110
85
302
736
42
378
384
120
635
277
640
117
145
321
475
962
30
267
329
605
495
709
472
371
742
526
681
731
552
442
858
850
771
432
394
999
112
320
283
967
455
668
559
337
458
982
625
848
913
329
424
105
682
707
240
569
502
869
73
128
177
871
194
505
899
308
473
458
529
53
525
992
675
323
531
816
304
85
841
854
476
120
118
928
460
543
807
657
174
244
215
205
387
462
307
753
592
706
618
489
790
294
359
453
682
84
869
799
934
369
52
907
253
480
349
304
955
393
79
533
629
494
699
972
254
738
657
61
832
593
2
599
199
556
889
536
173
526
397
184
622
971
864
867
341
688
54
845
854
894
48
730
383
564
685
749
285
196
769
937
155
649
11
740
690
295
845
583
135
505
876
653
797
394
653
558
695
826
913
488
857
918
195
262
204
672
958
926
182
891
957
594
568
260
619
881
904
303
620
557
77
962
694
55
436
707
908
57
667
391
349
685
378
590
141
727
963
742
241
963
854
271
283
858
720
755
8
820
513
355
542
775
514
972
797
28
697
5
819
230
807
165
772
847
493
558
553
652
749
78
753
651
681
258
774
331
321
893
442
254
798
105
405
876
693
50
879
887
810
120
119
517
901
323
78
38
139
518
297
92
216
291
17
610
27
582
890
800
809
607
388
98
468
230
246
45
581
697
808
748
212
576
174
969
270
800
399
915
570
979
839
483
198
476
922
49
1
363
241
900
270
990
888
48
742
826
374
488
90
208
320
913
940
798
326
533
308
907
92
920
50
284
901
733
559
638
30
767
473
946
548
26
607
534
180
405
670
55
650
157
564
718
945
495
260
571
480
589
282
192
996
724
810
886
363
577
304
370
139
413
331
982
861
491
961
623
573
135
711
37
13
719
507
507
200
301
563
745
949
739
372
556
920
921
241
862
418
174
931
778
90
985
1
760
27
940
376
266
567
190
555
1000
257
785
566
554
15
962
498
196
542
835
966
617
396
965
351
687
971
954
44
660
826
588
203
795
403
9
720
93
225
78
200
673
64
380
761
333
425
309
362
33
907
276
205
324
674
368
461
255
298
718
200
931
705
441
968
655
824
240
853
590
795
675
278
930
279
667
967
868
499
8
734
56
118
534
775
822
970
139
157
147
944
985
27
300
55
126
899
48
816
235
49
588
584
296
629
689
438
924
649
36
528
438
368
464
521
948
953
566
961
478
490
153
882
595
568
199
989
99
684
153
66
74
662
6
77
11
126
55
548
762
837
116
458
818
329
813
820
753
899
683
534
716
424
42
911
552
899
955
457
442
859
205
133
975
44
836
312
212
752
717
114
603
361
592
577
594
376
223
422
374
201
591
784
513
539
583
312
127
976
222
566
866
820
326
416
200
718
385
501
433
921
592
420
404
333
205
444
58
607
838
25
956
669
860
256
292
981
816
751
203
749
654
128
970
86
608
372
223
792
763
901
415
60
722
52
626
878
256
80
240
340
533
459
152
379
324
449
940
660
571
432
878
514
835
478
743
811
447
980
136
633
624
937
422
426
419
682
462
114
154
399
28
258
872
778
159
968
451
559
743
704
240
500
308
519
451
531
320
550
128
453
314
781
151
574
813
189
658
94
310
385
220
894
555
789
315
601
6
173
954
475
584
153
796
696
811
823
722
91
986
266
652
212
322
123
302
939
855
752
729
460
494
742
742
569
823
748
679
701
87
631
654
31
382
916
65
259
213
403
76
409
433
597
826
93
81
307
292
193
791
327
125
873
241
675
269
127
588
224
842
847
949
922
598
496
786
968
246
77
448
505
75
999
262
370
591
822
274
415
337
655
161
764
691
121
903
91
171
403
485
720
705
895
329
859
418
328
116
799
680
97
403
259
595
688
740
357
608
721
11
879
643
170
366
620
22
718
429
553
435
48
414
535
396
130
438
35
951
167
558
116
874
971
22
527
248
933
803
294
88
681
738
652
642
734
486
489
103
182
93
751
720
465
164
406
732
852
498
617
99
84
603
794
768
963
650
15
64
380
314
143
880
377
401
625
486
366
345
575
209
562
462
245
657
991
294
395
923
224
529
389
947
76
742
72
256
102
636
627
414
668
565
602
796
729
852
298
782
230
836
518
48
218
627
436
402
336
268
28
534
357
383
46
122
814
405
10
961
585
176
73
188
495
31
868
204
624
515
699
583
3
479
470
158
846
667
805
435
262
827
679
691
653
32
738
413
642
160
183
247
430
417
722
222
925
380
652
852
878
295
548
627
506
245
419
551
763
382
390
617
523
625
209
536
395
105
866
631
822
148
634
498
381
803
715
975
945
722
440
958
453
740
686
828
567
621
761
612
428
261
518
486
45
108
858
943
591
671
122
725
30
779
73
633
58
674
313
453
280
117
6
536
922
450
731
13
147
926
134
238
224
707
791
812
365
639
377
467
59
278
786
148
105
676
330
880
364
115
512
391
449
331
176
987
186
742
10
912
714
881
484
241
485
510
309
400
310
884
416
559
774
237
269
467
48
861
51
794
136
54
892
674
72
836
838
924
440
556
718
396
860
425
396
987
778
574
161
138
937
439
168
19
453
160
906
230
263
206
652
529
49
612
728
20
438
72
206
263
386
622
341
969
179
784
665
297
424
887
147
300
715
711
248
707
403
746
3
82
61
119
515
356
769
698
346
899
306
945
335
548
703
866
325
505
383
784
125
588
285
743
769
100
960
46
838
501
603
814
126
124
402
490
444
438
357
864
727
717
969
586
879
540
761
73
996
240
680
423
722
272
786
222
454
492
518
110
71
502
53
594
650
533
894
879
360
847
922
397
367
239
560
354
108
48
585
801
726
6
392
689
841
398
194
909
40
221
703
520
668
495
358
260
550
422
41
963
253
835
525
672
380
267
619
93
168
10
72
536
353
726
827
621
879
552
150
868
508
127
478
722
829
659
575
715
446
958
738
228
383
355
329
748
856
565
894
635
595
831
460
109
851
150
404
633
69
998
444
865
960
694
893
122
367
518
300
632
895
721
19
907
729
833
7
220
468
39
404
554
79
960
38
355
250
846
23
80
562
76
45
846
853
853
765
465
99
155
9
736
940
325
56
178
690
184
393
312
328
160
750
174
471
728
116
23
800
436
687
71
744
847
377
654
480
37
618
467
481
668
649
339
896
275
403
603
36
90
386
232
94
643
674
822
55
427
241
937
396
89
375
542
815
990
850
10
701
475
863
691
497
879
481
132
403
89
493
819
104
511
101
767
323
374
867
332
50
647
660
410
243
260
164
571
616
943
638
729
925
753
236
683
797
290
168
214
712
655
388
486
255
464
277
132
82
585
29
801
383
856
37
902
776
677
599
945
700
304
705
201
342
609
479
343
84
293
119
384
234
850
775
473
568
38
923
68
805
284
179
596
694
233
420
934
830
581
319
978
660
474
86
107
402
985
280
564
752
627
73
675
331
403
211
305
792
668
232
194
392
928
216
604
601
754
456
246
56
215
926
578
704
550
414
399
549
336
450
107
774
86
951
138
363
7
623
853
551
654
722
600
574
350
727
740
217
521
856
210
594
566
107
565
479
475
698
522
201
171
364
730
839
477
935
880
979
687
53
278
785
930
650
703
517
940
45
703
904
349
113
492
990
351
7
238
148
433
353
886
983
863
644
573
740
829
817
353
662
412
654
221
458
88
658
338
673
68
562
979
294
594
464
960
363
257
853
191
713
490
477
590
206
699
91
781
11
850
587
885
525
961
943
248
506
645
680
111
895
760
286
95
548
244
112
849
828
430
822
384
592
495
377
397
600
179
872
389
817
636
274
468
349
33
290
540
35
565
96
998
788
628
652
125
867
241
683
169
160
218
166
457
442
220
354
957
297
569
955
451
89
625
34
795
886
618
670
837
773
32
131
191
316
45
582
447
259
74
952
369
719
153
583
297
238
763
724
280
59
705
791
418
912
813
498
547
393
605
661
631
771
465
512
198
660
572
790
743
548
606
801
244
612
198
840
861
594
186
101
459
762
43
252
770
166
204
354
927
435
650
687
606
352
794
372
193
323
634
350
260
638
162
437
100
120
230
643
235
342
414
922
647
125
958
813
893
409
522
196
446
923
288
518
332
312
976
399
612
489
447
498
310
28
856
860
163
357
783
763
957
353
380
229
277
696
303
985
215
18
170
608
962
408
298
15
209
367
769
244
4
624
197
693
26
569
177
576
244
200
38
402
586
616
421
696
536
78
203
7
576
574
433
510
961
630
320
129
654
858
751
172
127
340
464
932
367
484
825
565
643
449
57
822
511
561
925
904
93
415
111
769
869
504
941
745
101
306
715
150
550
700
590
965
300
494
900
302
376
623
788
494
315
250
277
212
28
636
221
874
66
118
108
9
911
964
378
923
989
179
681
197
933
579
567
77
999
550
154
794
679
982
680
187
283
763
251
810
652
129
730
843
251
855
459
737
577
979
432
508
225
307
618
972
939
405
341
35
706
184
51
362
245
463
320
337
293
83
629
281
686
248
359
292
591
772
406
927
180
830
13
164
682
611
741
755
992
12
977
95
9
136
20
232
389
886
570
473
731
405
406
332
37
440
146
228
904
983
230
447
101
694
704
341
46
668
945
649
249
109
210
142
948
325
766
462
25
255
412
178
781
447
407
586
284
973
155
705
855
298
545
247
665
526
471
117
603
751
919
81
293
476
970
848
618
196
200
750
175
265
287
549
835
116
26
709
998
756
622
609
179
203
853
791
277
205
623
293
269
131
512
544
71
420
149
70
13
336
617
496
720
71
674
921
159
427
218
774
305
416
353
684
154
95
347
741
797
914
17
726
885
613
344
599
93
471
624
507
128
321
119
112
407
295
922
827
799
676
736
889
706
624
364
811
328
760
959
895
172
782
519
928
744
335
671
119
870
333
527
603
305
830
295
576
103
294
339
215
745
853
619
67
145
669
781
533
488
106
665
368
316
770
709
900
384
808
502
787
606
87
766
698
832
997
146
250
301
670
518
913
342
316
935
349
323
284
984
839
887
146
36
31
239
810
840
228
622
214
961
845
143
636
792
434
796
20
262
932
874
30
924
348
949
705
768
174
270
720
5
187
717
226
38
188
428
190
47
421
839
948
901
86
152
411
624
407
175
15
250
170
78
4
727
510
852
117
457
3
159
73
167
786
832
509
87
520
474
197
805
502
516
410
770
106
574
317
118
69
191
125
408
820
813
505
884
166
425
520
86
192
374
857
988
122
721
707
348
263
958
999
636
850
22
54
723
800
317
935
487
886
907
874
656
856
119
242
471
328
543
423
223
109
829
832
318
738
732
60
287
642
573
784
68
290
650
676
988
106
192
970
71
735
77
775
709
431
939
481
268
970
236
798
909
514
532
77
743
261
550
567
474
562
509
152
840
432
902
962
479
6
110
955
359
562
242
188
505
181
120
62
592
989
611
244
899
174
407
315
222
681
911
472
635
536
84
746
365
268
23
282
663
773
523
199
259
283
82
421
881
793
667
656
377
426
2
409
147
738
358
489
991
879
586
992
953
873
619
146
436
4
794
730
670
464
116
987
616
940
13
94
503
808
251
283
512
929
391
660
552
859
587
589
701
407
598
296
618
112
571
1
180
159
561
423
660
670
750
30
988
100
33
738
38
682
961
72
418
471
61
1000
940
567
162
723
818
512
698
744
631
705
912
422
272
900
523
41
437
514
656
166
662
511
826
656
585
98
309
273
887
313
513
234
308
889
835
445
268
420
88
361
857
954
762
616
392
636
271
624
314
896
871
310
924
7
107
31
348
523
490
521
160
220
623
396
311
723
105
333
330
860
395
571
323
195
262
775
927
857
572
613
224
990
940
654
584
659
221
275
565
19
878
350
265
932
57
411
5
956
544
806
785
844
896
181
772
230
711
213
937
227
403
147
88
995
850
118
743
176
993
643
686
301
790
953
595
871
929
15
829
845
356
208
309
694
987
607
466
14
942
755
359
923
243
604
428
126
226
49
813
564
824
88
797
48
482
196
744
115
712
927
851
627
197
127
119
324
913
362
235
591
952
375
464
226
602
397
230
864
775
171
791
25
45
363
297
464
413
879
588
610
402
266
256
402
245
974
870
763
738
783
780
274
785
79
568
362
814
17
60
455
974
788
774
112
508
383
827
82
742
254
622
634
928
218
82
248
516
806
798
939
566
11
225
85
656
52
988
593
66
328
428
654
17
228
737
132
440
827
445
830
89
781
537
520
810
960
213
597
428
403
118
702
22
229
918
435
338
34
250
559
692
108
400
725
4
553
547
799
541
998
53
338
534
144
59
611
76
823
615
854
622
589
667
106
968
137
485
61
786
969
549
866
702
848
465
683
385
499
235
139
332
927
74
496
878
514
28
486
417
715
829
272
31
816
802
935
481
686
129
209
20
883
454
929
573
791
649
797
650
681
519
639
753
732
379
266
143
61
732
420
604
789
706
71
192
977
544
483
78
60
181
72
254
29
868
63
281
229
878
334
278
46
572
656
11
220
463
739
330
716
491
102
142
361
399
814
817
493
973
581
183
906
908
469
275
272
236
822
593
45
593
557
920
568
45
68
682
749
873
449
421
186
490
599
190
81
604
26
611
630
877
878
858
818
555
784
77
725
2
592
596
509
614
971
848
199
333
173
57
330
882
928
637
213
859
575
714
350
44
66
336
78
641
365
773
64
656
150
733
638
318
428
490
320
253
820
647
72
100
851
739
985
421
516
941
91
11
754
903
988
213
251
133
776
400
156
429
572
580
883
535
538
2
152
618
901
682
836
153
951
50
959
496
356
248
424
794
425
220
635
828
157
362
226
84
984
428
518
633
160
336
165
363
613
744
686
757
943
544
234
650
927
940
990
356
555
383
41
157
146
458
462
354
525
742
589
35
614
789
145
222
14
622
980
324
351
566
646
651
198
817
961
311
372
862
973
959
277
781
493
751
771
475
437
303
690
88
759
658
800
228
689
37
425
128
299
627
429
532
186
799
525
930
191
889
140
752
628
151
155
255
455
556
921
135
184
859
844
363
102
773
725
319
539
143
768
90
515
716
850
701
83
490
181
127
74
661
13
171
769
837
363
660
207
572
79
996
469
236
696
746
301
912
697
860
847
308
733
87
126
644
329
337
81
89
367
81
730
619
405
316
957
77
476
316
949
818
601
146
164
586
638
870
977
139
473
520
809
723
805
96
670
711
933
371
482
575
22
758
501
915
310
298
403
435
574
684
353
590
986
281
461
160
166
312
564
115
835
729
190
976
1000
795
909
337
968
103
987
324
865
531
444
550
505
658
123
580
601
293
381
967
382
45
341
720
546
333
429
416
415
831
106
276
841
111
266
197
116
164
785
149
693
544
78
318
995
138
338
131
971
919
338
564
352
608
288
200
740
864
246
104
770
474
49
928
594
24
507
597
823
720
896
582
919
329
385
999
719
706
131
759
421
10
185
536
885
500
253
616
564
752
614
538
707
260
167
54
747
619
678
106
937
936
758
414
371
666
53
801
498
819
350
532
123
363
96
835
660
695
874
229
117
241
933
446
857
634
795
571
742
386
285
434
597
679
75
479
334
701
974
50
231
949
756
517
33
51
271
714
559
943
941
953
444
718
526
241
506
38
226
408
956
775
735
565
367
478
899
688
845
307
992
138
354
354
435
628
508
599
994
481
426
354
106
22
458
698
9
588
661
298
747
986
934
994
15
135
628
731
978
322
234
703
902
708
531
93
444
722
151
411
939
507
86
230
859
893
108
66
913
222
382
276
913
937
868
63
629
61
211
165
343
559
922
311
691
104
612
302
718
951
925
448
736
476
603
148
733
416
796
565
558
16
356
761
76
82
330
114
785
422
290
542
150
269
461
879
41
56
826
712
221
358
508
154
777
894
792
294
779
238
48
534
175
297
721
620
165
650
255
946
823
589
516
617
770
43
832
836
74
630
237
420
353
730
898
631
276
842
987
46
275
466
435
899
276
412
141
185
712
756
168
824
906
605
406
349
132
484
986
915
349
412
442
910
598
688
270
70
576
982
48
806
696
581
737
413
277
551
133
909
132
121
670
532
951
814
980
353
311
739
638
11
107
958
521
324
434
47
82
422
715
811
626
83
929
597
366
144
370
809
639
251
251
47
167
671
816
741
649
615
371
291
313
298
772
482
237
978
480
404
433
331
229
165
678
826
736
471
32
214
648
504
855
830
83
642
851
219
733
224
354
445
454
988
637
593
697
800
485
139
902
993
668
304
215
976
224
10
476
765
664
787
472
747
304
816
861
291
935
324
990
789
951
688
121
334
885
970
157
522
998
43
68
784
235
145
640
276
367
464
62
559
580
311
96
258
162
576
311
383
129
361
873
287
851
180
947
25
770
624
604
493
288
163
447
828
792
627
901
450
548
956
185
611
901
9
540
431
831
571
185
282
376
233
841
766
907
457
355
732
491
986
155
489
855
732
767
855
562
418
632
746
65
530
777
765
227
611
707
657
768
499
38
549
832
919
970
608
552
711
712
140
26
85
345
155
631
514
416
129
940
262
768
22
833
83
723
617
550
349
763
886
557
694
254
421
96
283
630
904
184
3
667
232
675
167
124
199
684
824
95
539
351
402
850
759
396
199
835
423
424
198
754
446
237
769
327
531
694
119
424
85
810
716
743
828
852
555
101
838
166
797
722
955
354
259
588
312
191
237
58
263
388
357
475
112
873
512
387
881
808
455
371
805
926
264
178
370
135
763
43
485
514
908
586
818
999
358
669
412
60
659
945
448
629
997
602
422
386
30
981
67
259
105
340
65
660
53
16
954
554
863
622
693
900
748
747
998
436
505
817
928
14
614
367
184
908
246
53
243
626
149
99
755
738
474
738
600
159
684
447
624
137
100
410
350
931
39
696
885
769
211
101
865
244
773
479
484
720
428
618
593
695
55
454
398
288
602
438
501
223
417
397
901
707
750
132
117
602
903
250
743
162
374
499
624
383
407
939
325
721
555
827
702
526
192
10
217
34
474
970
101
198
873
372
573
918
244
155
126
489
391
711
303
196
202
700
502
23
729
372
65
394
62
73
335
707
404
758
421
166
566
953
104
111
996
545
730
559
521
240
915
209
244
269
618
478
390
173
452
472
468
87
97
966
802
985
356
554
336
748
679
170
649
779
963
56
260
99
51
91
654
540
628
112
920
654
158
492
549
468
85
772
706
39
769
579
278
49
547
440
77
364
847
308
842
548
508
836
127
819
337
441
703
843
452
234
861
37
159
712
880
781
924
956
961
49
535
710
140
481
675
366
52
856
942
352
911
254
833
846
754
928
302
52
838
71
313
500
15
187
221
954
103
762
911
568
519
270
375
838
917
348
807
791
174
114
361
563
822
217
418
214
953
185
606
169
699
30
815
169
606
876
158
983
632
572
162
417
19
898
451
362
14
941
884
702
235
699
359
925
544
769
513
189
397
218
141
388
10
402
434
539
154
524
98
369
1
199
969
598
284
144
20
774
942
396
530
942
551
122
770
624
99
190
769
774
78
122
569
451
447
995
962
894
749
113
826
598
546
10
59
748
404
445
595
73
817
566
125
788
862
370
985
781
865
890
113
621
19
295
106
283
748
239
196
705
565
331
389
422
325
566
95
565
70
933
354
438
90
147
120
769
472
686
168
431
125
844
883
161
225
530
560
295
77
936
885
82
636
981
942
470
299
679
434
563
157
148
806
146
546
43
607
747
650
596
738
760
874
278
206
998
898
357
616
920
645
250
916
470
875
633
846
100
757
722
129
94
556
6
697
737
533
995
133
242
271
189
86
580
866
603
626
544
890
632
372
414
564
964
762
605
344
528
17
512
994
189
187
601
257
16
174
440
459
448
769
3
712
644
553
64
918
599
988
905
414
381
127
894
970
969
173
709
775
727
525
99
237
504
70
139
686
740
195
835
529
676
428
838
2
9
651
727
459
849
562
22
1
885
413
635
384
14
115
942
338
520
444
55
820
83
455
131
281
516
190
777
731
153
430
686
212
228
539
656
338
426
430
57
706
27
287
612
325
702
969
104
668
77
948
232
615
639
234
387
330
421
975
564
82
176
323
943
103
422
743
994
868
825
110
30
570
881
862
299
175
741
966
583
127
352
660
245
705
745
772
362
53
482
907
351
110
733
948
40
22
414
133
669
133
150
439
710
326
549
96
704
296
436
885
555
331
232
253
831
312
642
410
669
934
152
303
827
599
634
756
262
46
511
147
378
539
546
701
747
356
258
826
673
389
437
992
437
918
948
296
454
976
302
221
845
306
17
95
129
573
871
377
830
377
529
261
815
613
884
9
66
900
697
57
426
114
740
235
583
568
723
354
160
976
730
15
360
181
764
742
9
541
253
436
221
993
72
716
156
59
698
934
499
513
606
496
356
949
929
684
237
275
675
337
685
13
534
593
883
336
400
395
260
983
266
621
746
534
63
490
787
56
367
383
678
778
624
337
69
309
678
224
733
868
974
97
814
133
724
251
791
644
714
304
377
86
204
2
375
457
518
521
289
811
552
732
168
255
370
301
681
907
491
500
946
777
242
279
980
907
779
539
934
658
996
479
483
743
537
595
811
426
579
184
667
362
876
203
858
696
794
920
361
369
709
104
989
61
207
416
129
851
953
261
650
444
998
607
491
780
533
181
815
956
788
11
832
628
864
497
596
503
758
70
125
98
747
23
167
669
609
282
822
112
838
733
21
663
157
204
530
456
131
374
785
317
618
665
332
712
125
671
80
430
886
763
879
390
598
328
172
972
349
487
591
389
168
286
392
907
54
34
607
196
64
938
575
668
250
166
336
453
786
269
994
549
647
181
714
796
578
118
542
522
896
329
546
108
884
22
133
276
132
767
533
580
229
354
575
463
604
364
862
225
178
703
393
451
702
958
451
739
320
711
351
81
938
889
234
856
441
820
647
218
667
889
87
588
310
639
34
88
612
659
260
992
769
881
345
708
491
722
430
375
28
87
166
888
286
383
742
51
366
588
637
607
973
866
434
82
652
410
637
764
752
980
943
610
350
87
818
581
74
879
563
709
966
581
245
178
27
756
55
872
73
768
619
78
880
551
800
550
377
204
328
685
823
5
370
374
469
113
815
977
224
648
616
958
211
825
988
956
929
538
662
433
916
97
680
612
439
849
385
95
766
46
387
421
975
636
275
826
117
637
763
655
766
347
766
170
648
939
635
16
94
934
415
214
503
601
499
363
896
629
535
671
870
264
753
557
984
722
151
802
658
854
153
688
169
932
383
81
217
977
220
211
857
181
629
736
255
862
599
748
904
879
160
577
391
557
602
593
785
35
980
738
20
352
423
168
385
780
83
233
411
615
766
972
945
139
447
484
212
512
868
776
987
123
401
192
798
316
170
88
249
487
213
215
124
250
102
167
943
727
16
340
19
96
741
85
878
146
439
90
99
997
321
630
261
81
555
965
704
184
830
55
208
614
5
770
572
569
190
940
285
353
413
900
131
420
754
701
623
112
463
754
628
573
107
505
397
578
237
658
485
880
415
606
737
290
693
940
580
868
803
388
363
519
380
58
378
793
506
617
495
870
769
928
66
570
777
684
834
706
802
831
150
266
795
849
681
706
530
566
164
121
56
765
475
152
939
723
430
309
992
791
313
775
357
232
36
891
796
880
251
238
16
582
469
659
702
35
434
592
664
349
573
847
204
632
355
283
327
932
747
902
950
112
801
550
584
643
582
766
303
808
277
284
970
538
342
403
803
947
965
690
373
643
973
493
24
72
520
332
535
461
573
531
560
422
246
389
17
912
479
763
128
29
461
206
253
94
417
686
30
554
101
480
543
517
385
59
461
142
855
643
103
694
184
629
395
788
394
299
543
245
788
36
48
24
485
779
371
899
971
607
150
901
49
151
400
48
866
981
509
582
456
272
168
734
383
789
624
21
609
707
724
231
671
835
310
533
631
598
412
601
24
492
592
256
180
825
494
878
944
260
351
776
720
23
752
767
252
712
457
443
276
301
405
15
445
259
381
136
498
746
968
830
714
462
524
504
55
34
926
13
304
843
747
959
687
732
311
680
142
396
849
916
451
133
566
728
896
258
972
84
965
700
307
443
920
251
176
797
701
438
835
878
725
250
672
670
631
806
524
920
926
578
450
104
767
968
433
163
838
893
294
387
409
491
784
8
135
275
417
443
145
803
125
616
257
458
202
470
899
8
341
613
496
428
803
997
585
880
835
699
921
839
574
141
170
122
516
548
582
945
577
59
187
223
447
638
662
27
653
889
3
492
278
924
504
493
795
684
402
100
806
484
690
137
813
115
269
221
300
526
595
239
526
958
430
595
434
429
99
483
969
642
961
90
955
676
367
886
360
369
499
119
445
853
897
204
807
583
368
959
781
89
234
516
998
802
559
338
176
600
52
945
359
83
887
850
895
211
508
729
425
643
848
33
19
13
59
84
401
408
992
205
871
552
160
585
164
495
870
375
960
185
523
8
185
915
834
818
567
502
856
846
113
8
261
143
326
965
268
952
7
372
994
943
418
140
757
22
461
325
46
349
243
195
459
870
99
147
880
78
678
525
592
708
191
640
799
803
293
683
250
875
364
762
266
928
125
980
502
738
662
365
188
98
888
422
443
714
431
302
475
36
720
865
147
621
773
418
422
520
840
539
676
809
553
201
711
601
721
334
590
795
208
116
90
384
646
489
623
336
829
876
28
958
760
585
448
169
268
188
892
300
980
982
720
860
259
734
453
247
374
94
807
475
778
400
770
859
885
151
901
26
141
43
747
752
489
339
417
911
581
289
927
249
181
460
868
787
282
157
310
410
368
516
646
596
114
512
248
294
572
847
365
698
559
617
734
10
512
736
714
317
563
316
606
421
968
605
982
753
301
604
501
551
17
215
686
81
101
608
574
51
506
504
975
271
5
259
321
290
892
954
740
965
711
150
20
916
784
650
603
338
887
375
619
958
832
401
208
773
87
357
105
805
798
584
494
296
764
933
664
653
946
606
878
982
119
219
174
230
91
115
516
786
765
24
844
911
946
367
74
505
460
830
36
522
603
393
680
837
379
615
584
450
289
853
995
736
677
28
146
853
732
725
557
513
328
691
409
91
779
230
841
414
476
653
176
678
101
624
713
603
783
252
655
357
125
766
186
777
522
919
485
115
533
596
671
865
398
681
316
241
957
923
141
515
329
395
977
735
729
167
883
324
689
969
547
662
795
946
772
33
739
102
865
290
160
653
227
117
238
304
300
79
481
429
296
508
480
220
813
862
661
156
524
386
229
527
616
800
566
381
546
249
309
917
991
939
230
312
572
731
819
950
50
454
150
272
197
856
232
779
507
914
543
269
200
705
839
32
748
143
682
568
274
683
311
361
750
514
662
406
844
862
328
428
667
766
221
258
419
96
552
354
111
651
469
287
137
861
398
892
442
28
649
870
436
42
371
854
615
202
286
360
28
111
933
548
388
616
339
465
599
407
150
258
933
213
219
888
910
477
616
25
160
53
788
135
230
683
365
261
299
26
699
621
272
530
794
952
546
728
697
477
54
431
803
477
816
842
735
705
374
849
669
318
912
605
21
560
812
48
363
163
657
194
371
330
437
878
328
197
788
103
460
880
655
334
930
567
665
860
853
621
854
825
93
332
99
652
921
802
798
360
838
378
840
695
2
254
918
123
721
90
541
432
430
994
949
132
415
799
228
889
289
327
575
934
915
267
602
775
3
345
8
564
107
728
699
152
129
958
692
203
689
271
727
758
970
871
532
249
686
555
122
324
866
123
348
769
44
160
126
456
267
114
468
523
39
66
436
915
980
236
638
23
493
44
730
386
169
525
667
342
39
972
112
61
995
964
505
615
908
352
788
614
996
338
651
453
999
539
511
415
586
784
88
716
201
461
610
46
262
429
162
364
210
840
639
464
410
769
85
328
341
191
957
392
795
667
977
622
54
115
791
761
129
129
643
146
198
656
571
302
300
250
488
884
206
746
599
596
148
969
263
467
723
991
351
189
889
532
559
292
417
348
959
586
556
806
227
660
954
427
675
214
66
838
150
651
375
468
370
688
779
309
42
673
365
242
368
954
664
764
204
906
153
404
159
148
432
784
404
99
33
68
809
248
248
469
314
416
735
626
95
862
889
899
182
296
148
65
686
714
463
454
653
536
125
326
909
678
47
142
927
47
354
454
899
441
855
329
675
995
544
568
201
109
810
519
388
281
412
921
100
364
629
69
86
573
197
559
246
981
772
996
560
339
709
373
380
806
887
258
581
588
133
527
188
508
605
168
742
292
90
570
610
703
799
819
861
670
682
719
136
281
665
678
125
814
522
109
907
999
253
736
403
349
974
7
650
701
294
865
389
96
98
279
766
721
447
265
518
934
43
612
121
320
332
159
823
323
863
276
322
227
944
125
160
199
9
434
554
620
339
705
471
190
975
279
260
132
682
190
22
367
844
505
229
710
25
731
786
980
708
898
873
409
444
156
389
896
223
48
773
456
377
155
313
683
767
473
761
164
284
709
263
562
949
650
119
528
6
926
887
671
456
747
676
588
407
669
266
351
472
52
860
884
195
610
854
423
165
394
10
590
9
633
799
642
974
49
495
167
151
702
805
803
690
921
432
594
572
601
982
198
556
5
77
538
969
193
337
382
894
416
161
22
121
88
856
454
985
479
748
432
804
862
329
317
188
680
394
950
931
230
361
609
544
468
674
734
742
809
239
280
352
205
369
438
195
373
576
12
449
760
869
892
888
734
920
935
187
528
581
38
151
657
736
360
352
900
418
443
154
443
457
469
495
436
635
976
158
79
512
185
433
275
595
477
257
99
520
670
897
547
247
509
240
552
66
152
564
804
370
515
425
713
742
60
976
744
891
964
580
449
373
647
60
745
818
325
306
366
612
578
260
978
591
943
471
138
313
178
511
120
914
153
587
675
386
307
532
934
349
211
224
999
29
63
199
244
233
884
824
998
528
765
969
57
729
760
542
436
61
935
593
874
35
634
966
871
155
232
622
442
81
541
834
374
747
533
426
471
248
258
104
190
13
641
722
93
907
382
4
746
390
301
857
71
847
289
911
631
471
508
317
37
872
576
183
467
699
287
215
273
128
806
298
798
29
424
744
807
966
645
925
396
996
842
821
841
373
720
776
627
851
587
433
786
300
780
363
785
699
622
396
414
409
992
22
511
817
896
541
912
59
458
811
722
565
387
548
836
571
276
154
674
589
83
922
255
84
737
335
57
210
102
848
594
543
483
213
280
206
409
921
946
617
717
772
316
394
842
974
873
613
778
355
780
691
398
509
974
672
691
716
106
582
992
455
721
805
496
240
996
176
136
248
353
566
460
946
508
264
256
480
832
416
490
141
449
59
604
582
139
82
332
828
956
555
957
303
433
445
399
251
415
663
580
964
822
788
288
162
108
560
145
720
798
416
345
703
233
928
573
323
574
991
834
991
201
5
1
132
864
94
558
790
337
619
327
345
864
842
18
865
397
645
50
693
462
599
419
898
535
548
357
103
936
82
134
64
617
938
660
35
669
413
438
645
28
325
51
513
648
930
595
278
364
484
361
74
762
780
651
724
658
119
814
117
176
626
479
242
29
741
446
406
294
1000
947
959
903
946
768
705
82
106
258
829
195
509
384
780
779
126
819
59
107
975
497
269
245
331
201
100
421
677
535
148
493
542
40
587
447
347
345
781
150
752
947
813
15
750
655
805
884
944
766
634
143
22
772
315
52
427
761
885
303
633
715
112
101
217
565
698
398
144
248
988
489
283
964
315
874
200
510
289
133
700
869
272
585
419
208
246
673
11
33
61
326
116
575
807
58
350
360
637
167
21
552
971
228
122
886
377
989
441
901
845
912
301
767
365
858
513
201
927
809
634
837
103
144
500
948
344
671
314
605
26
519
287
196
37
67
912
727
418
230
516
465
134
834
625
329
606
297
25
857
988
493
145
731
541
531
525
604
641
142
685
419
125
499
682
485
672
611
979
345
901
862
48
840
690
883
297
885
972
702
484
120
957
48
780
41
253
740
41
191
869
335
644
708
436
608
444
847
293
955
53
106
257
536
614
234
996
807
717
694
954
132
910
152
648
298
503
151
11
125
10
429
153
799
630
265
560
230
612
835
273
513
232
797
47
521
369
239
809
771
340
669
40
965
751
964
804
21
597
39
273
999
747
551
525
35
247
118
303
310
588
387
195
106
196
783
386
203
915
902
735
246
204
351
445
194
67
294
979
660
507
62
227
750
421
997
120
19
412
127
33
280
948
327
367
290
674
421
610
814
425
40
53
154
708
135
91
983
964
741
677
282
927
990
87
206
801
355
631
973
760
837
288
233
499
120
588
942
160
719
195
432
13
811
792
270
640
738
844
465
278
139
741
783
143
299
635
250
253
553
5
382
302
572
629
355
589
879
156
93
881
250
927
210
358
526
55
861
454
928
988
795
510
192
991
349
623
698
13
682
987
303
395
270
321
786
749
598
669
618
132
11
7
310
320
874
576
719
596
584
802
495
963
453
12
350
110
162
859
923
774
335
555
793
361
715
529
661
828
607
100
756
856
531
124
332
284
454
342
467
642
633
310
475
342
795
419
942
782
358
457
768
168
438
598
629
318
622
473
955
141
899
213
876
704
642
943
544
46
282
260
952
971
131
605
624
65
855
335
554
82
237
477
375
689
231
839
25
237
747
182
104
913
288
620
726
107
320
272
883
318
224
488
284
238
779
597
142
919
395
270
660
110
719
27
767
871
829
337
250
598
958
76
564
426
560
772
474
808
606
227
156
717
172
607
564
544
748
2
646
270
209
819
501
881
51
98
635
331
339
980
319
585
768
117
418
375
405
768
217
378
944
700
448
430
784
749
202
271
830
128
393
46
675
102
214
462
770
663
375
59
217
231
931
541
93
209
218
478
588
419
729
978
763
75
787
138
474
959
489
147
825
894
755
965
554
444
216
361
906
9
373
967
890
129
669
665
282
860
85
324
379
551
474
372
309
193
51
183
647
828
408
580
197
117
941
18
44
313
827
164
440
333
543
681
618
530
435
965
385
77
60
490
231
568
853
187
728
569
136
985
194
357
704
227
960
33
972
203
82
504
158
420
17
584
111
584
605
612
146
454
668
522
702
889
701
264
714
432
400
855
357
715
225
84
204
822
829
83
907
502
893
572
234
783
899
549
651
113
368
616
679
605
393
917
934
380
635
877
106
252
521
561
120
210
65
453
378
250
613
933
309
115
796
517
377
397
173
198
374
298
346
845
57
48
829
695
144
627
587
404
283
949
938
14
824
143
488
437
165
874
864
758
978
944
253
722
837
536
214
274
662
561
770
911
896
521
532
905
535
198
501
156
959
239
227
580
29
445
208
412
33
108
767
770
917
317
170
130
668
487
388
130
852
756
774
233
97
72
856
365
718
930
634
571
812
768
33
126
862
968
618
276
298
245
291
993
560
978
450
688
862
693
12
826
278
467
760
781
785
506
730
63
567
530
737
272
243
873
649
739
681
411
782
823
696
527
580
294
246
311
797
22
727
139
561
466
551
547
9
78
508
86
678
815
315
432
477
378
373
593
847
687
987
483
669
363
194
476
602
661
938
828
763
382
517
988
128
789
100
917
552
442
672
486
84
164
901
906
118
59
308
938
966
640
582
325
648
599
61
468
42
732
202
896
54
815
310
469
130
10
953
605
280
487
237
988
721
534
573
411
445
353
636
394
241
132
981
178
221
743
186
555
451
570
428
718
79
610
144
19
267
913
778
45
306
868
661
934
515
637
732
206
942
218
183
691
389
281
75
303
19
890
641
542
635
695
302
570
752
976
388
664
729
188
168
617
585
279
88
424
567
121
31
201
219
849
22
813
440
749
43
148
36
644
505
313
309
361
534
276
548
980
379
662
657
26
175
442
774
697
795
269
426
477
728
67
686
229
725
262
819
962
506
769
120
984
925
406
984
85
829
943
797
727
301
387
846
955
96
427
348
886
882
191
605
191
282
592
484
948
867
570
683
577
949
497
713
390
438
837
120
422
110
941
242
802
309
469
707
936
515
558
963
135
212
270
356
148
198
287
659
254
782
63
499
192
372
858
840
215
535
177
517
999
992
135
841
949
917
183
475
701
579
444
72
265
610
646
689
284
132
242
590
369
569
872
882
318
208
744
349
305
481
876
959
789
507
368
812
4
622
81
663
341
545
113
789
865
298
473
641
490
236
234
664
44
344
195
675
593
480
828
396
871
382
836
117
640
77
189
942
87
788
888
776
155
558
51
1000
801
593
112
797
766
758
81
205
372
750
814
280
244
216
235
190
615
499
243
685
54
737
837
137
29
772
631
264
732
691
500
732
953
845
587
63
625
888
250
650
846
704
852
248
809
106
460
979
98
821
633
784
216
609
472
221
60
306
33
732
296
230
3
765
216
634
282
683
743
860
714
974
667
410
789
103
98
416
539
291
362
878
225
601
271
625
656
991
746
127
148
398
299
211
194
495
751
208
893
513
866
299
58
370
308
609
727
433
411
147
467
419
806
810
493
287
853
503
85
516
166
858
250
800
256
204
844
52
473
178
627
538
961
821
834
172
318
86
895
219
3
449
866
168
303
685
990
106
863
967
570
690
355
132
970
757
841
352
155
658
807
460
653
645
619
878
170
36
387
422
421
417
802
279
903
837
577
64
425
823
498
224
269
36
985
982
682
574
226
657
304
250
680
467
802
641
712
860
623
362
650
4
338
793
372
316
462
461
820
822
989
357
529
686
167
753
296
461
143
498
671
511
237
335
770
550
516
529
292
445
289
976
253
274
850
8
128
116
562
301
570
212
927
670
827
943
808
23
289
527
382
434
364
490
710
112
2
694
52
20
746
192
158
52
156
238
841
946
806
529
24
583
827
184
366
919
146
987
280
559
151
173
834
894
517
384
591
830
297
457
925
312
200
396
721
292
197
220
644
300
176
359
392
485
430
952
389
847
147
688
440
406
946
806
729
210
700
486
393
408
564
163
618
104
171
181
823
350
401
867
48
407
9
273
101
380
674
813
362
427
680
515
400
998
550
873
730
991
437
128
76
294
956
347
523
871
473
854
775
512
537
401
563
325
289
962
897
322
188
211
505
765
309
510
258
454
830
750
823
832
42
464
89
583
357
443
145
383
365
498
708
621
931
128
932
172
687
555
504
788
53
56
723
237
91
512
78
133
84
863
450
269
717
513
661
380
137
730
556
473
959
826
176
251
523
191
895
707
267
279
544
663
175
295
675
890
607
629
121
436
722
72
901
989
885
437
351
414
144
523
86
63
874
276
19
141
177
575
201
160
459
368
708
485
906
722
105
86
237
968
331
854
203
301
949
290
785
82
835
901
954
617
284
427
135
361
464
864
244
362
869
322
273
227
171
931
921
51
413
395
691
598
58
276
218
415
739
786
312
765
954
663
367
974
110
719
329
267
485
759
366
236
704
870
763
840
263
555
332
234
482
745
785
784
49
534
127
355
925
364
109
306
8
485
155
673
387
741
9
703
406
103
537
236
56
955
744
437
388
780
68
22
753
816
469
453
673
210
639
512
58
396
906
317
298
736
56
97
504
959
344
999
762
545
417
765
836
34
758
397
195
135
490
791
550
681
109
924
405
685
751
363
223
196
111
737
922
231
25
377
366
780
26
452
400
775
888
841
778
951
291
416
991
746
270
601
655
710
13
876
555
442
932
344
929
724
652
621
818
341
729
85
588
70
423
930
841
454
861
604
948
276
235
914
417
77
508
521
133
706
208
575
254
615
553
985
245
549
68
171
57
366
294
176
955
923
980
716
882
394
341
69
512
878
610
698
362
912
105
189
409
310
469
346
680
797
578
291
186
55
847
26
388
139
304
178
112
684
873
609
454
978
733
133
747
768
522
874
134
604
387
637
592
639
600
297
545
84
495
364
353
898
20
797
33
900
44
641
524
216
913
269
729
842
405
829
301
177
386
4
879
555
976
351
48
184
959
295
820
383
501
293
822
715
1000
853
728
404
1
820
668
427
700
824
477
802
492
832
709
887
388
522
247
964
911
594
230
957
238
185
724
960
937
277
277
83
676
357
21
286
611
625
488
32
26
708
671
24
960
210
154
821
200
393
317
808
22
971
747
886
490
269
949
243
971
6
403
726
748
554
811
679
253
811
93
580
526
768
343
462
915
433
480
869
951
25
761
88
549
247
696
458
409
24
144
875
536
294
520
972
322
304
147
71
499
418
709
722
584
607
693
522
162
628
457
975
436
427
263
313
19
412
233
617
858
81
647
14
510
955
473
463
752
870
268
430
608
469
877
732
485
187
442
1
12
80
287
467
586
625
191
245
364
2
396
910
646
443
467
884
156
936
767
111
725
954
899
556
277
905
906
277
820
674
442
254
349
990
377
643
184
318
514
882
292
666
188
880
557
965
511
579
801
693
957
309
609
983
795
705
636
783
570
439
137
541
530
626
929
480
340
604
828
795
970
701
916
979
894
713
630
73
71
115
775
826
287
384
39
645
532
449
494
718
61
982
846
911
634
127
949
847
268
335
150
91
487
146
618
517
662
135
685
739
555
730
592
956
572
311
759
675
558
791
837
571
187
877
372
160
133
360
852
67
239
37
280
400
851
370
175
165
323
553
100
704
461
434
388
853
342
666
714
892
477
527
577
396
823
71
556
764
460
697
387
551
81
714
562
736
625
219
131
693
471
455
845
954
621
816
604
820
226
839
388
484
601
864
546
632
613
503
313
398
959
705
919
149
384
3
520
845
318
476
418
567
785
55
755
440
669
92
918
319
593
485
399
545
742
284
746
543
916
383
530
283
992
824
987
408
763
258
73
366
803
347
231
22
608
186
60
54
784
407
434
856
435
239
335
860
253
654
841
910
11
706
226
790
296
292
119
73
374
884
3
239
988
205
144
375
767
447
164
854
663
388
115
104
507
670
850
942
325
595
911
978
544
23
947
279
589
325
883
842
672
917
670
373
734
572
489
594
650
599
672
533
757
946
466
289
717
490
999
320
530
93
444
642
229
465
427
209
426
541
204
374
424
859
975
549
22
364
974
113
536
209
669
148
752
324
470
816
761
14
836
71
616
368
586
896
799
11
485
478
306
637
921
541
975
761
579
586
376
380
555
907
161
548
250
89
300
405
773
151
9
864
247
608
546
979
636
520
205
9
184
24
26
317
594
936
758
558
370
753
526
37
560
798
554
732
295
305
997
258
117
950
649
929
47
718
802
201
792
24
66
945
229
676
294
467
569
623
59
648
174
425
336
364
60
33
101
125
500
779
622
943
26
438
67
575
317
845
917
626
153
843
372
468
626
251
576
583
282
147
28
726
725
999
962
238
491
94
879
975
654
249
611
562
740
43
490
100
996
630
278
39
962
776
429
653
580
902
213
449
822
785
939
871
879
55
280
876
527
769
229
319
167
182
792
562
399
270
873
443
724
693
166
523
103
679
66
530
651
715
767
61
739
55
710
871
80
764
550
572
201
470
576
121
849
999
366
282
479
834
33
142
930
670
50
829
849
408
79
850
157
564
635
805
106
464
659
817
76
550
336
686
275
796
513
670
941
548
141
762
475
40
43
543
171
503
132
989
861
13
935
103
827
202
902
885
825
522
519
925
886
3
677
887
869
356
118
230
386
825
6
789
837
414
863
257
731
972
141
178
432
178
718
795
706
615
449
997
189
990
700
626
14
40
502
636
324
832
534
926
367
955
672
200
153
578
233
868
451
480
375
831
986
913
337
963
305
618
309
258
691
386
806
897
914
313
303
933
333
299
794
900
75
406
645
436
586
386
806
892
828
95
999
7
824
499
967
948
6
705
272
382
83
744
390
844
710
874
51
299
305
792
894
699
748
471
463
341
555
301
542
981
353
830
583
1
120
677
755
415
718
144
744
108
685
612
973
535
156
84
368
19
992
120
119
923
939
985
177
217
672
24
340
389
100
184
902
211
173
96
770
624
774
333
850
874
950
314
305
81
859
773
940
631
361
940
619
120
53
303
77
121
929
374
925
672
570
924
976
249
896
997
199
949
92
392
795
746
263
449
875
974
737
656
194
664
714
68
235
935
118
524
681
422
125
421
994
650
782
125
365
309
573
163
803
651
573
14
466
594
12
651
677
665
741
989
211
631
59
50
570
499
821
960
962
598
560
863
592
614
608
451
714
779
847
107
612
896
754
562
293
520
889
589
224
400
816
480
897
262
738
978
320
80
780
864
831
292
960
655
761
785
371
698
546
106
971
519
879
27
716
423
349
531
455
225
804
301
123
455
402
997
292
558
844
977
72
403
866
610
671
892
418
22
684
573
304
910
306
950
278
83
232
599
713
471
946
319
1
701
497
266
789
728
588
428
993
663
19
879
297
676
87
937
500
776
537
737
650
348
68
763
355
572
174
560
74
195
335
183
451
726
169
951
953
781
188
722
184
185
208
205
234
432
336
800
349
304
642
84
5
729
321
322
227
490
165
345
586
994
640
684
858
127
730
146
787
163
972
893
723
805
772
630
153
690
215
772
346
125
22
283
341
377
231
434
536
591
482
904
977
275
484
502
257
364
346
250
608
44
12
775
384
898
920
708
623
432
377
299
807
724
852
563
233
747
554
40
642
908
211
703
901
487
907
634
525
941
224
829
818
505
691
904
231
99
714
526
287
366
761
116
112
517
550
746
142
787
394
161
83
523
646
567
552
295
419
148
145
986
328
283
828
516
78
84
695
695
98
175
100
725
280
625
99
52
119
535
970
555
189
88
265
591
949
785
513
12
318
188
217
84
346
754
224
187
548
202
900
271
175
475
801
318
754
527
698
473
735
53
845
81
969
826
419
604
47
452
865
269
244
231
724
361
903
289
190
248
653
302
233
610
734
950
654
834
95
699
820
224
590
623
170
483
841
782
801
917
789
73
546
950
989
588
40
820
32
250
171
795
247
895
178
831
35
47
422
390
741
326
495
8
983
810
916
329
749
714
138
517
348
409
955
360
559
163
698
918
882
974
798
272
859
530
382
793
830
615
602
340
342
281
260
996
660
704
163
253
460
919
330
42
876
576
807
659
482
454
398
403
693
689
53
719
309
613
988
732
642
623
906
317
695
753
795
284
403
458
900
819
817
675
404
53
403
393
243
534
367
810
272
396
2
669
688
255
587
470
204
164
300
140
991
544
924
128
812
602
875
71
62
636
235
937
708
555
996
982
183
127
715
939
397
726
118
647
898
817
970
668
131
25
709
555
444
378
920
120
193
271
708
427
830
721
448
277
365
766
158
616
936
214
977
655
556
507
831
480
235
154
397
580
840
69
884
49
9
119
23
148
377
411
844
581
171
112
506
74
973
137
484
817
54
630
865
890
253
979
384
54
779
63
90
206
694
514
225
323
71
56
958
970
997
399
126
293
633
735
21
961
554
626
563
707
438
944
913
946
974
586
681
451
557
878
427
234
923
937
48
568
388
771
17
559
770
579
140
817
390
519
665
515
756
216
130
604
696
389
280
1
699
308
761
356
213
210
61
365
454
418
359
689
70
692
495
234
632
217
303
935
533
756
919
201
300
682
474
869
749
36
819
860
667
250
506
719
924
937
298
875
980
937
890
782
812
890
376
41
127
710
209
244
619
717
65
560
684
621
84
11
687
224
379
968
389
469
616
667
572
441
712
433
289
20
369
855
376
139
266
383
46
47
212
691
460
519
440
658
129
712
561
30
877
233
367
655
905
58
815
665
161
102
22
171
838
632
52
799
322
209
577
898
311
511
275
362
170
238
927
771
785
243
763
17
317
213
560
648
305
482
323
928
488
30
214
1000
579
326
503
617
989
423
964
589
117
643
56
514
456
269
703
335
174
880
215
5
243
362
161
825
486
159
572
78
58
62
908
176
33
637
620
895
725
459
5
208
317
445
250
865
167
946
241
133
896
688
757
62
988
347
110
216
166
292
168
61
259
994
987
119
615
725
914
525
372
397
143
880
60
844
178
128
81
404
550
738
578
398
452
648
86
990
644
261
147
955
109
305
775
78
464
480
213
275
35
679
996
28
861
985
680
393
632
797
956
692
679
208
72
932
736
205
627
185
106
316
829
422
252
129
257
753
608
458
5
639
555
35
865
397
126
292
832
235
962
184
819
140
457
26
906
173
822
12
868
83
4
405
971
755
27
409
245
641
311
368
545
234
994
246
687
614
67
332
882
305
420
706
511
971
497
293
986
982
354
279
87
513
323
224
702
631
402
487
332
783
715
459
80
184
97
669
85
898
913
33
540
796
746
418
483
166
438
172
545
472
311
501
687
660
82
402
787
431
103
329
585
128
82
980
126
220
362
333
334
883
175
597
754
859
16
804
838
577
445
576
341
527
159
51
556
996
144
999
141
569
75
943
217
274
915
496
299
822
824
168
336
170
83
633
843
565
724
806
625
294
952
116
112
573
254
32
673
450
276
264
585
75
200
31
501
457
332
459
382
617
76
474
860
125
270
532
888
115
131
119
384
258
666
290
272
599
496
374
963
839
460
641
867
432
264
910
940
787
688
24
657
23
550
650
14
936
704
102
365
293
851
720
939
125
808
925
863
424
234
184
404
546
449
21
916
654
169
665
691
743
444
114
478
143
47
162
985
910
878
444
38
177
693
656
442
379
612
872
755
224
415
345
383
442
581
249
363
622
404
567
225
907
295
743
93
915
515
768
13
28
238
86
94
96
753
83
667
697
73
946
97
296
993
361
304
66
833
878
299
667
757
726
254
957
534
576
725
503
75
996
629
744
873
359
531
841
752
549
555
568
942
118
14
83
576
461
444
52
138
174
288
401
281
11
898
904
683
752
891
945
301
862
132
40
446
27
795
117
631
530
8
147
977
962
561
442
336
944
57
805
938
373
630
803
512
204
99
581
359
949
983
48
747
847
321
726
381
170
669
256
387
218
928
380
433
340
922
166
157
778
734
427
996
180
875
547
934
416
297
385
395
702
90
533
729
118
480
990
296
312
410
176
168
557
521
362
819
351
860
753
39
449
6
894
456
531
585
593
693
745
345
262
220
971
72
431
348
6
604
203
689
801
137
583
611
528
829
953
884
521
415
429
757
60
206
484
152
593
345
11
565
188
677
951
471
957
890
729
772
724
885
970
869
436
469
433
434
686
534
640
875
242
859
415
754
681
566
453
169
22
29
70
171
803
731
471
872
169
175
263
765
346
440
429
147
355
412
643
279
944
996
657
24
472
891
450
306
945
584
962
648
464
310
571
442
120
614
858
355
746
57
868
460
26
296
806
264
155
495
41
796
612
550
344
303
668
92
561
915
896
624
252
853
316
422
426
338
801
23
158
430
16
242
768
394
476
618
217
80
279
162
581
993
683
47
761
416
988
621
83
970
92
773
73
473
724
176
493
810
553
414
665
807
323
332
227
783
685
193
715
506
641
407
799
818
367
650
557
48
725
168
932
646
950
950
362
188
841
221
662
16
285
418
410
272
85
403
441
49
897
160
599
689
512
662
519
8
879
880
80
365
5
153
120
57
344
259
163
472
335
555
183
790
525
516
898
803
120
832
684
601
831
992
959
450
643
933
814
173
472
904
742
753
727
177
532
663
459
600
814
660
137
292
252
356
78
951
103
947
207
368
704
861
158
727
481
962
649
191
213
141
729
85
635
824
756
720
941
921
882
521
365
250
453
670
845
293
935
902
701
441
907
461
368
547
222
450
499
690
638
8
156
546
94
773
394
657
364
94
283
188
956
325
257
470
14
315
795
752
439
902
563
83
627
836
560
194
15
25
298
574
90
445
707
672
659
348
311
300
925
643
173
873
379
432
254
80
583
756
135
921
693
503
494
853
943
316
323
937
399
74
660
464
990
188
509
542
203
518
700
511
856
190
682
846
46
976
612
438
708
185
672
742
221
201
221
290
161
901
254
541
582
211
672
801
202
939
992
257
473
858
510
760
808
741
348
83
158
670
509
808
729
473
824
875
879
600
632
108
138
90
156
674
841
524
776
559
106
51
834
591
727
606
192
475
111
433
457
578
562
908
725
914
34
427
701
916
21
836
266
70
349
458
925
439
494
302
68
420
472
416
664
827
513
709
809
538
465
736
555
489
352
122
564
759
560
309
443
861
901
238
55
114
204
481
701
153
124
21
854
218
593
605
23
854
710
114
405
33
881
899
224
546
721
391
32
677
549
594
797
824
343
257
307
720
616
610
262
371
56
575
449
617
664
252
573
500
812
314
616
241
877
657
100
702
53
291
265
647
557
986
952
998
646
626
951
533
817
598
669
169
75
755
229
49
412
695
553
131
467
139
535
891
916
175
144
36
280
12
205
848
703
678
623
878
750
784
24
238
425
73
163
671
405
981
934
896
975
862
488
486
257
804
826
654
104
251
161
910
474
702
528
475
176
867
384
721
642
545
408
680
766
365
309
824
929
286
218
927
35
408
145
768
740
200
90
890
124
766
575
368
697
83
818
792
994
516
251
264
22
14
825
234
434
582
392
433
665
545
452
980
194
105
746
989
735
440
476
647
439
383
444
791
101
305
996
447
2
364
513
690
211
758
71
432
116
931
62
433
487
958
776
901
604
479
419
557
857
648
551
907
725
501
734
801
278
50
995
27
132
193
816
842
313
223
507
830
653
299
230
418
100
777
401
723
852
695
912
119
300
13
406
83
568
449
838
412
855
889
691
870
904
339
499
693
627
409
800
135
362
73
215
426
266
296
157
105
83
699
549
651
882
70
28
766
406
942
348
437
344
891
72
126
185
454
172
57
305
779
907
571
599
219
136
957
274
74
302
12
386
603
437
797
321
256
908
722
720
777
75
138
241
479
673
63
191
517
554
558
268
436
322
508
581
604
562
261
665
421
565
656
418
321
924
464
779
695
913
140
480
786
317
131
377
533
249
629
743
103
550
844
363
540
560
329
452
575
404
859
207
128
457
675
289
463
309
658
643
249
390
128
831
35
382
539
511
750
699
262
771
888
590
53
778
975
895
553
598
779
59
326
114
450
813
569
689
464
798
579
564
803
539
461
41
274
360
396
184
250
249
946
71
416
211
532
699
268
354
209
215
243
812
316
527
334
602
387
270
980
713
959
740
821
24
576
693
638
140
297
814
430
874
526
307
112
884
796
222
763
955
456
130
699
476
845
231
906
976
657
272
521
950
655
459
129
836
822
122
596
683
307
49
73
975
263
267
543
105
753
518
32
191
456
864
154
289
814
632
195
569
576
407
338
687
488
875
963
410
955
114
153
540
110
359
703
309
646
369
930
724
160
239
550
778
498
952
721
59
788
980
122
53
440
989
565
341
334
54
267
987
887
845
299
626
412
892
194
163
450
415
915
529
348
182
611
637
363
510
693
562
30
843
726
937
330
309
602
777
466
253
229
228
681
75
708
237
597
566
623
781
46
595
567
75
179
200
500
137
957
50
864
183
773
829
648
619
49
269
756
767
144
460
82
82
797
587
690
323
631
422
377
41
964
745
652
776
271
362
908
582
174
551
109
816
750
562
863
689
303
263
127
695
456
179
144
895
594
884
393
9
210
223
512
383
695
846
139
229
456
365
602
953
21
775
209
8
974
902
659
481
136
303
746
517
409
464
112
778
73
128
247
360
169
297
357
984
759
786
968
802
499
195
347
894
991
833
923
352
764
424
870
872
619
401
964
971
268
212
610
221
874
334
671
411
134
644
372
185
8
360
58
463
66
39
72
956
685
3
315
136
27
136
357
337
778
198
86
31
151
689
976
954
525
811
20
428
422
277
253
169
191
526
576
870
934
444
288
80
682
800
330
239
781
459
741
248
784
847
264
616
865
324
313
65
939
857
784
435
197
826
289
888
757
911
442
696
465
728
761
341
664
289
617
271
937
442
382
429
382
137
631
552
1
745
778
364
159
698
41
980
876
382
970
237
923
565
97
218
313
646
427
935
786
656
607
975
328
245
612
954
584
879
689
773
272
58
129
995
357
683
155
161
776
601
840
482
974
965
515
145
396
296
563
420
299
23
837
867
985
856
216
203
594
531
948
786
103
391
517
300
81
725
728
889
22
48
607
940
832
272
464
706
110
279
205
203
420
518
522
138
664
66
162
158
999
83
813
374
477
676
530
936
749
994
800
416
700
797
497
900
859
833
21
980
795
118
817
283
458
589
387
793
630
695
587
961
201
180
722
558
19
687
489
240
403
860
295
101
258
282
863
805
918
941
330
478
448
909
213
235
184
573
736
48
679
65
22
713
104
510
533
799
343
325
990
837
697
82
729
432
161
391
38
676
684
833
623
981
695
241
719
453
450
516
780
981
420
719
880
523
45
426
161
465
638
154
698
512
152
257
152
296
794
820
444
788
203
950
472
616
1
351
599
639
67
235
211
419
804
403
182
814
980
831
469
529
511
187
391
318
648
505
355
500
616
668
947
599
702
439
313
196
137
537
722
540
924
640
30
90
898
282
541
875
920
308
403
536
78
924
257
944
174
415
317
540
563
284
466
927
646
913
200
796
899
823
477
941
357
299
617
15
917
416
393
657
614
496
379
804
306
638
431
330
823
240
903
624
698
373
826
375
52
446
820
594
71
862
947
901
779
257
63
157
503
488
480
833
484
723
923
887
599
906
798
526
40
333
819
942
121
336
867
5
44
839
759
945
640
105
326
241
542
101
738
311
249
769
580
92
811
886
557
279
644
402
28
812
121
844
809
184
116
873
798
274
666
118
11
724
265
207
588
291
69
281
121
256
483
351
485
696
165
579
937
376
501
930
877
60
956
664
106
312
558
833
806
199
938
289
742
898
990
692
404
868
220
672
876
144
290
613
241
280
97
474
242
680
941
710
727
348
29
609
133
584
566
308
913
795
172
348
302
369
212
861
316
526
913
398
171
152
797
949
620
902
65
950
811
260
38
915
381
822
663
875
451
817
404
987
77
741
523
529
490
51
895
954
149
36
2
893
261
371
695
740
859
349
627
976
29
460
13
456
107
817
521
716
961
915
637
751
557
317
806
815
62
205
35
562
688
133
394
223
307
959
23
580
636
685
868
236
466
853
319
18
932
215
349
401
355
635
533
522
510
573
550
688
499
22
381
288
589
500
423
652
454
527
191
745
306
53
90
514
266
456
988
349
187
60
974
393
814
609
715
362
855
759
312
139
18
455
393
657
554
11
471
459
158
795
263
920
377
730
743
317
784
180
216
793
298
425
552
802
960
613
69
823
377
1
235
917
833
304
466
278
745
216
843
4
757
479
482
173
247
424
615
764
470
544
210
75
833
524
64
71
53
92
891
544
80
230
855
38
667
546
388
255
459
83
885
48
298
441
50
176
183
831
258
709
14
632
272
344
793
79
66
920
448
925
295
100
801
356
164
538
519
921
63
848
39
990
358
321
613
84
157
682
552
432
680
121
726
299
145
450
160
929
681
540
286
447
866
101
59
695
920
482
673
764
471
385
52
957
62
334
645
994
256
246
301
547
276
720
179
628
602
488
687
900
850
33
452
723
559
541
163
646
201
210
963
86
887
421
701
143
703
453
20
842
595
199
694
637
14
849
95
644
287
577
945
917
829
106
771
64
858
395
574
620
223
852
282
912
346
153
495
578
20
212
874
523
994
873
288
856
869
609
482
265
806
904
613
366
934
12
461
799
176
470
505
214
391
77
351
858
361
74
172
159
157
882
930
557
872
73
166
851
507
237
24
514
66
2
28
712
537
745
829
298
508
499
778
638
616
97
725
968
883
895
863
886
280
289
819
729
527
801
418
815
221
738
714
976
871
293
971
362
319
480
225
238
339
498
936
394
870
926
59
794
524
694
514
349
455
880
661
990
666
232
875
789
115
762
747
507
754
869
720
776
761
264
242
128
788
355
592
199
995
885
621
735
16
338
554
472
766
40
882
597
177
934
88
214
536
733
654
190
77
533
336
837
894
964
164
75
23
686
42
167
767
350
54
611
933
135
815
499
688
662
299
515
165
342
559
729
764
236
694
544
367
81
210
461
294
452
667
809
904
930
117
230
202
765
388
504
653
753
697
235
713
962
436
56
224
487
225
230
941
637
486
983
907
839
860
464
332
54
770
951
893
699
290
819
116
892
305
836
576
374
594
534
215
547
107
779
971
961
187
164
260
970
899
521
578
450
970
673
668
239
35
533
205
374
36
788
935
320
648
706
585
110
555
38
577
732
236
633
820
149
692
88
396
65
193
736
949
911
687
293
2
560
18
770
209
958
434
594
756
214
188
469
770
665
209
169
562
109
932
353
10
696
367
464
192
926
401
970
618
857
162
520
67
850
965
79
86
172
26
719
654
325
632
571
387
240
931
364
935
363
819
108
889
234
695
715
597
365
972
793
804
99
349
407
876
664
769
354
729
804
922
353
242
244
891
632
75
701
261
567
336
338
606
392
434
356
752
527
843
875
655
710
185
409
43
975
224
967
163
477
898
306
158
313
483
903
586
781
326
985
576
970
398
359
917
174
37
838
185
396
886
770
639
116
992
555
180
581
429
81
177
101
623
647
301
228
748
336
820
234
196
764
4
997
126
793
359
290
528
115
447
437
88
553
938
508
348
591
375
528
335
877
833
658
854
407
306
960
123
679
180
131
272
356
597
548
512
873
857
90
458
1000
272
429
153
556
31
941
860
389
719
934
554
214
97
639
372
128
624
282
975
427
9
617
888
884
748
487
411
760
221
335
621
662
414
122
310
814
750
734
458
426
825
843
964
635
80
111
932
911
556
807
754
939
911
179
594
691
859
379
665
863
974
340
839
849
624
785
747
198
416
434
486
825
116
591
459
307
488
486
677
269
859
161
58
191
521
222
867
997
264
482
468
407
428
369
985
361
881
8
298
793
227
16
46
632
376
417
944
216
321
543
784
219
606
413
941
785
512
908
79
812
393
985
996
247
9
285
265
772
876
759
376
528
898
348
586
361
539
333
582
607
822
701
368
637
290
751
471
197
859
237
713
98
196
500
274
940
831
441
746
405
743
678
159
57
545
895
739
773
734
233
290
675
683
533
639
850
179
408
542
291
354
380
827
177
805
795
299
60
523
825
131
558
39
633
21
887
825
679
419
920
580
258
490
513
489
544
304
492
926
838
933
65
367
260
774
397
460
789
415
764
301
462
790
974
975
522
220
761
323
486
157
422
730
415
102
299
421
185
216
598
424
146
614
661
859
390
164
39
676
790
931
611
298
50
40
565
900
325
834
285
192
323
696
11
663
435
791
741
204
131
285
951
909
760
313
620
644
951
80
481
659
982
995
630
135
865
668
389
31
403
939
808
34
129
827
312
729
891
469
767
312
792
623
687
324
363
317
383
901
128
545
604
976
168
715
637
748
900
716
869
435
51
51
555
49
730
485
882
445
561
36
471
412
92
955
138
918
64
540
51
940
690
239
461
478
755
534
801
462
261
502
271
258
303
805
3
409
49
85
494
36
42
380
304
69
483
267
933
105
832
825
387
212
827
463
183
464
996
849
462
319
817
906
424
210
978
895
513
908
563
116
676
230
616
626
512
695
223
710
345
573
165
508
69
572
231
354
138
102
479
885
201
649
92
892
695
294
987
251
209
841
11
981
495
302
362
629
837
747
888
758
891
637
22
226
199
792
428
353
351
98
866
813
152
900
408
289
215
790
882
483
108
148
353
88
591
368
522
723
452
179
148
604
183
847
999
979
56
324
363
919
153
613
883
130
576
708
288
822
348
483
656
555
502
797
975
190
470
930
113
717
155
143
787
819
20
845
752
434
100
313
231
497
103
437
556
272
672
229
94
383
419
146
801
731
585
424
153
977
33
667
795
147
815
939
971
253
744
468
680
492
228
857
561
733
143
402
704
494
648
704
927
566
684
272
603
749
333
219
754
915
365
482
982
765
60
212
771
188
834
111
846
92
280
524
551
936
10
54
678
985
38
297
771
445
556
57
698
263
635
66
199
339
772
794
206
292
222
407
932
744
755
327
158
272
791
112
646
802
901
572
347
247
270
158
887
597
79
626
870
524
675
931
670
793
65
84
736
414
527
464
896
528
58
686
792
478
997
661
377
370
377
935
342
710
482
756
463
385
650
521
108
315
557
496
564
620
99
686
435
26
540
774
68
541
730
883
873
128
93
717
439
247
530
345
540
612
587
452
505
487
993
428
904
137
189
49
208
803
557
834
881
735
857
375
341
329
789
90
398
415
730
848
27
66
393
891
809
111
598
325
983
670
382
160
804
641
410
624
812
58
986
953
726
600
45
403
863
389
135
569
414
370
782
397
418
209
600
472
990
669
186
243
230
821
118
888
213
317
372
383
677
171
83
206
314
135
837
793
61
819
648
522
446
171
337
508
804
767
297
961
145
664
506
195
583
225
247
623
444
422
170
261
657
593
234
286
544
552
573
229
908
224
536
202
172
705
964
376
374
759
304
631
39
267
258
860
282
96
540
949
23
171
721
846
862
277
297
459
983
261
894
344
447
866
936
265
351
372
211
768
651
595
525
817
884
562
6
436
615
348
711
998
236
168
890
522
619
772
638
862
233
616
682
169
558
74
759
383
998
151
360
782
69
797
612
842
323
921
749
716
310
632
894
692
935
91
880
856
680
561
420
41
543
911
252
836
981
888
793
93
813
903
436
863
811
959
873
176
675
623
732
407
186
608
366
213
587
628
851
235
679
653
137
751
672
627
800
526
586
971
48
909
858
938
457
60
889
966
432
867
422
727
520
712
43
478
520
745
578
660
806
751
840
427
400
996
8
932
88
670
891
756
355
676
481
818
943
545
480
460
647
200
947
195
311
153
813
758
88
445
763
695
720
343
936
716
973
323
928
425
391
398
838
853
216
177
493
419
669
371
504
553
763
622
525
263
504
645
950
315
618
685
268
556
919
183
497
154
62
369
413
135
687
240
808
702
904
988
600
242
669
488
463
797
827
906
560
64
518
821
80
636
192
526
544
312
709
314
265
764
848
652
915
766
102
79
894
473
807
588
71
970
492
3
520
397
850
576
78
499
858
611
895
365
406
450
665
463
259
537
907
799
273
617
467
196
600
346
423
225
31
712
673
282
708
695
833
678
217
570
463
359
432
62
297
75
588
347
883
378
727
547
969
834
77
926
51
224
927
474
721
303
247
958
844
904
661
775
139
798
345
163
446
699
121
416
795
298
276
740
426
973
644
326
85
104
87
7
210
566
801
595
142
996
790
646
118
930
473
902
585
718
601
135
349
457
594
435
150
806
938
269
556
654
539
776
438
99
748
847
912
100
358
495
329
441
6
920
805
371
303
443
814
416
458
188
566
330
374
977
272
136
950
423
864
493
825
607
463
401
913
32
667
371
840
809
743
769
853
110
918
971
847
988
293
352
906
617
313
892
160
818
364
369
813
523
826
671
922
476
807
777
877
45
889
327
543
476
428
518
748
332
347
266
97
109
904
185
117
229
605
968
391
732
316
159
635
949
603
154
644
378
541
520
663
808
510
326
2
433
33
280
667
352
286
889
343
377
767
739
351
510
507
258
63
812
354
12
847
624
94
634
821
275
609
37
560
477
846
375
443
572
84
605
493
685
913
136
430
623
331
216
122
47
614
205
797
46
933
813
181
745
235
713
187
992
547
694
910
487
708
635
464
937
503
158
612
955
313
771
259
448
706
667
606
193
797
120
160
145
885
604
894
768
556
332
503
351
433
904
139
841
772
160
987
173
377
116
767
504
658
87
549
992
240
702
302
991
188
552
227
615
809
616
238
632
976
463
943
560
95
469
47
660
187
902
446
228
983
830
153
243
630
216
835
940
359
461
948
338
420
914
399
83
725
540
187
246
860
38
718
848
577
167
347
973
443
949
230
302
54
718
766
761
103
688
724
788
646
827
674
406
118
349
476
874
962
63
409
221
320
138
961
356
837
602
442
764
485
32
374
50
303
428
2
684
62
241
405
357
178
890
419
312
637
859
967
832
306
643
491
848
764
422
851
273
711
284
472
262
74
265
506
29
189
234
506
276
789
879
398
551
102
669
592
35
51
670
663
402
397
536
409
330
701
817
1
225
120
976
591
488
407
145
33
397
943
695
269
302
283
185
562
374
476
71
979
588
393
860
450
948
373
75
258
266
789
450
80
910
527
286
511
49
976
796
589
869
835
552
981
126
938
877
347
194
345
110
911
431
143
227
381
331
767
202
220
380
142
834
697
989
645
503
280
181
685
472
723
912
695
889
622
78
474
619
304
248
80
374
667
147
970
414
989
737
649
242
790
504
877
300
532
222
397
690
325
41
213
297
844
197
684
530
319
51
107
81
835
414
958
739
140
357
719
280
857
749
25
930
249
809
918
683
710
854
122
27
735
254
629
270
414
300
315
694
440
361
981
248
199
217
994
334
749
889
648
520
434
671
483
697
387
284
47
258
439
258
33
398
797
708
258
503
387
649
722
900
942
857
842
979
769
95
26
759
598
198
924
541
105
108
83
189
479
473
206
922
883
815
925
235
784
592
790
724
906
728
181
120
973
270
966
820
535
911
46
551
885
34
356
581
505
785
511
52
508
451
50
631
295
59
135
608
988
697
650
26
240
527
883
180
716
827
337
56
858
716
788
897
569
363
386
81
88
629
466
957
635
58
747
82
398
61
748
562
9
955
609
857
983
237
950
416
494
102
70
31
479
759
553
601
277
532
330
310
943
88
312
880
927
379
30
650
13
66
56
716
291
236
648
271
488
209
709
575
112
126
90
698
769
755
300
303
463
694
865
235
865
710
970
629
330
478
498
571
937
384
265
95
906
388
77
428
568
146
212
970
459
740
62
434
235
392
972
939
827
469
770
642
668
968
64
622
889
377
172
378
77
524
453
227
592
537
891
335
433
556
5
884
359
205
560
97
279
97
85
463
967
871
915
510
757
332
317
919
227
290
291
583
828
585
781
481
37
624
393
849
884
454
150
221
662
56
501
340
197
49
556
807
297
470
498
632
939
598
197
494
264
99
367
616
704
891
946
659
419
207
50
918
753
312
493
410
602
208
818
163
437
440
792
101
203
818
537
490
496
462
812
771
193
93
486
3
214
879
893
835
189
495
615
83
602
255
190
560
390
318
389
729
104
989
15
138
460
110
609
370
502
344
55
394
705
944
861
808
996
239
771
448
108
651
487
224
657
517
472
862
61
381
212
422
716
702
853
88
886
110
837
743
387
465
1000
263
459
941
632
312
197
300
142
642
531
331
323
555
7
137
666
240
579
599
831
155
203
889
167
466
260
316
133
880
757
170
548
806
807
468
917
949
99
667
439
856
948
481
910
873
41
910
470
261
181
475
15
930
171
423
138
347
478
379
682
727
459
505
320
512
770
742
118
494
3
111
673
667
767
375
269
54
145
589
468
281
975
180
685
650
399
257
598
831
967
775
687
29
903
42
807
707
257
787
468
490
357
703
393
878
348
918
30
803
644
335
904
851
792
153
87
175
597
179
612
758
346
721
354
697
625
954
763
583
546
671
835
942
136
206
890
860
295
182
37
646
989
413
702
374
283
959
224
634
412
834
314
680
334
343
134
434
104
340
848
476
997
984
774
244
470
711
660
144
985
204
218
180
206
149
735
2
267
397
529
984
681
981
989
68
915
99
210
608
835
798
528
394
37
572
826
367
529
521
110
261
362
28
697
572
584
123
347
793
330
854
791
818
937
5
404
783
749
445
238
368
639
256
218
796
375
516
76
293
649
296
513
832
966
2
158
301
622
626
123
114
673
914
337
429
162
684
392
791
830
754
335
25
236
42
678
620
480
365
947
700
710
436
222
909
223
318
463
160
214
355
910
294
215
212
452
112
795
198
688
130
400
487
319
666
60
210
658
562
303
617
258
896
772
716
122
568
980
808
509
500
100
367
85
528
934
543
62
734
985
394
6
122
107
609
200
30
327
117
796
603
252
453
521
2
950
181
342
745
291
988
349
729
551
274
80
28
472
215
656
532
95
297
380
844
421
260
914
630
350
247
759
789
415
712
498
390
544
279
213
334
456
353
554
58
317
700
150
429
980
659
466
181
458
874
737
838
291
673
318
124
112
287
643
257
32
128
996
365
422
249
471
521
301
917
825
497
815
976
391
442
220
283
891
101
384
46
740
82
57
345
426
937
77
451
615
515
221
812
925
102
647
758
723
378
720
12
862
105
574
94
16
755
909
581
175
17
410
949
865
204
612
452
900
135
261
55
811
972
951
979
597
827
358
793
149
705
459
327
472
484
927
901
870
189
323
486
336
765
809
453
734
945
814
522
787
544
549
345
480
712
264
932
278
253
901
792
460
116
152
207
941
529
952
558
206
99
141
978
339
358
343
915
703
882
144
351
512
126
263
568
381
524
751
294
989
267
206
38
110
386
605
194
641
422
668
232
700
31
546
944
524
289
269
199
687
384
619
174
111
596
976
301
428
184
276
487
560
863
419
293
752
37
338
819
898
882
473
53
725
620
573
277
284
97
593
939
252
837
955
83
728
299
584
24
582
979
945
469
928
323
782
686
945
183
363
651
106
659
837
307
870
748
708
239
991
170
575
46
941
103
975
695
349
330
620
945
3
485
335
706
694
658
762
854
111
616
230
587
91
284
248
894
713
945
737
64
174
810
483
474
859
241
271
73
792
904
823
78
441
598
965
415
919
288
431
323
749
150
303
398
723
65
401
22
838
43
843
817
940
540
601
235
508
468
117
893
948
982
954
565
883
813
21
34
180
978
97
154
884
212
303
520
786
332
641
159
108
79
957
496
661
664
481
659
869
381
626
866
269
141
867
251
446
747
327
963
871
23
182
823
784
682
91
104
85
940
656
237
183
448
354
395
891
75
448
904
733
414
168
402
507
695
819
512
527
924
571
539
753
682
353
365
911
982
707
301
815
6
421
95
294
308
503
705
547
318
356
726
286
564
22
534
704
70
48
330
196
800
779
270
757
861
903
756
134
421
651
816
176
918
384
185
260
232
168
371
338
897
592
485
943
349
295
83
431
423
579
615
841
38
38
318
35
52
377
557
182
781
427
693
234
573
918
521
762
110
750
203
436
836
331
410
428
27
81
79
278
516
300
782
64
45
466
226
264
512
457
794
358
162
320
364
35
877
6
876
861
304
893
225
408
485
44
113
109
60
870
430
591
838
276
578
826
742
443
906
195
703
88
104
492
70
439
944
972
494
184
238
769
53
329
289
392
587
247
350
580
836
209
842
463
976
315
153
845
595
78
861
456
972
860
117
151
761
1000
770
401
841
739
505
868
122
976
927
518
578
509
34
496
624
617
983
974
237
789
392
239
897
936
678
604
488
636
95
97
827
864
198
497
334
143
437
986
710
290
458
594
156
709
499
655
799
742
908
679
522
698
481
421
289
11
748
425
426
436
820
995
40
320
649
378
887
754
855
910
599
859
346
25
82
537
10
328
306
776
725
347
446
990
740
248
545
949
258
490
403
560
732
372
444
125
897
463
660
751
97
161
561
255
803
996
248
252
529
847
371
112
514
951
712
125
694
412
598
523
414
951
158
975
317
822
693
788
619
89
54
331
708
17
8
131
651
890
978
683
724
434
473
258
497
908
730
897
402
88
817
354
926
598
494
940
744
466
642
106
187
374
958
150
400
775
898
572
424
977
595
490
236
288
556
996
453
565
493
497
27
831
537
889
741
156
454
887
751
662
192
950
709
331
248
15
246
281
888
690
724
329
225
662
189
914
497
797
395
943
695
834
664
717
836
618
21
841
763
553
788
959
374
304
326
233
531
827
132
694
736
476
832
4
861
277
950
706
819
477
481
722
108
99
417
745
565
556
377
160
509
358
397
308
695
546
758
230
145
774
461
509
954
896
560
471
669
504
150
786
660
112
187
483
199
586
721
474
625
959
350
961
76
34
857
517
729
988
93
206
406
770
94
828
714
241
359
284
550
859
938
79
988
198
724
197
3
755
919
928
495
303
140
738
334
508
69
964
952
662
832
901
103
152
561
880
997
727
677
14
949
712
497
651
64
59
709
963
251
553
85
733
13
504
592
181
67
29
690
549
840
355
186
272
246
620
502
789
3
341
561
420
912
36
809
291
162
516
82
996
733
982
103
519
399
395
424
978
664
549
526
907
207
894
618
104
64
429
374
599
797
939
519
881
400
418
664
344
532
789
278
871
927
911
991
560
541
445
708
867
46
352
170
863
794
685
637
880
250
833
398
543
215
599
623
69
846
311
925
791
618
665
641
7
868
151
471
675
515
738
605
935
859
936
882
141
111
498
842
894
461
775
758
559
22
216
866
879
965
540
39
589
520
904
96
411
269
764
802
370
369
192
343
176
902
141
738
323
530
499
214
611
62
831
54
69
306
351
770
600
813
54
802
247
715
905
70
663
896
639
852
233
150
37
450
287
816
528
6
54
624
546
665
286
126
405
1
992
141
331
240
350
97
935
370
661
19
614
656
158
191
302
420
582
182
535
235
722
15
12
795
504
755
714
828
826
677
164
380
16
483
597
671
745
734
651
522
201
803
684
36
594
138
988
817
360
593
954
520
992
872
740
933
74
920
88
99
905
193
739
235
125
327
302
306
831
664
559
172
38
462
890
148
712
392
956
685
277
95
794
620
222
155
221
110
352
840
798
937
329
348
660
328
358
111
161
842
259
904
665
133
730
126
788
606
284
645
59
79
212
12
260
577
946
710
705
267
324
298
303
404
646
9
555
836
840
364
547
286
711
861
622
130
57
632
626
867
354
253
557
787
853
560
981
638
163
396
814
227
832
735
930
957
18
489
587
301
48
617
843
59
578
892
991
61
98
732
505
653
726
108
190
905
593
370
992
991
636
268
423
590
280
86
658
499
327
36
148
833
330
552
39
358
884
110
742
510
572
567
790
617
706
753
490
668
680
274
951
741
447
15
788
867
593
872
153
666
546
586
804
558
678
402
580
757
469
450
12
510
413
377
774
264
84
765
351
518
607
325
615
146
798
642
926
868
427
544
60
372
348
758
483
316
750
613
465
67
408
972
106
559
610
467
583
119
384
367
849
434
760
82
563
97
58
404
245
340
622
69
532
606
974
100
921
617
135
739
597
441
693
423
756
876
284
429
345
146
342
307
303
505
314
135
170
848
73
994
425
854
914
774
20
476
345
590
353
837
879
601
380
731
158
47
621
919
26
599
594
417
655
977
598
755
378
886
832
999
711
973
547
946
894
438
308
498
428
375
455
669
254
687
569
92
656
646
49
146
477
780
936
31
963
784
749
221
391
573
436
727
666
459
473
500
212
629
801
145
848
780
536
822
775
805
366
843
487
886
75
27
163
204
957
282
93
775
722
274
765
551
88
267
509
57
476
387
38
295
57
640
755
542
984
974
477
990
772
571
70
859
678
308
573
749
387
81
547
508
496
199
784
821
84
646
995
49
119
356
769
610
579
996
937
319
951
972
429
655
184
484
878
893
288
524
501
403
507
622
238
174
386
15
747
808
133
660
604
822
386
167
987
59
846
317
182
428
304
278
508
991
243
25
605
609
539
758
620
985
816
300
485
966
606
555
365
387
834
109
355
560
62
982
666
782
600
336
897
846
812
675
421
629
934
722
602
234
274
660
321
104
936
885
247
708
91
786
407
165
394
276
847
173
362
2
634
163
386
209
968
459
589
211
972
532
934
298
548
158
800
703
793
379
778
934
617
720
558
391
591
6
609
662
570
482
812
354
275
674
332
566
877
554
787
406
582
160
210
25
376
744
393
701
357
906
950
467
555
945
831
587
737
811
81
964
449
657
377
227
493
960
192
794
63
570
540
697
65
863
870
332
456
387
53
569
49
969
420
881
886
317
400
206
155
545
696
307
651
898
842
265
913
188
625
591
541
94
154
140
643
542
257
661
16
827
510
336
453
10
425
119
529
387
246
16
297
519
345
726
635
373
444
199
349
629
737
754
763
108
549
360
219
547
303
574
818
705
474
409
784
843
634
94
996
193
904
299
648
914
898
899
452
397
747
738
501
506
865
224
732
486
954
751
895
835
124
109
93
372
148
83
220
120
561
350
124
381
782
676
873
560
430
125
300
874
777
706
920
79
611
384
367
741
848
928
749
369
871
386
706
953
974
306
487
48
220
990
69
581
727
178
211
968
691
559
324
975
398
428
216
992
132
594
119
23
151
424
846
774
826
464
593
651
647
692
690
352
42
837
541
23
845
578
126
602
834
692
667
78
945
371
511
858
673
996
833
363
671
643
517
239
753
447
433
311
362
782
398
495
35
858
298
415
566
962
194
415
383
80
774
947
100
28
152
104
355
550
862
174
789
58
874
671
494
841
572
228
322
557
975
139
191
829
881
62
960
553
256
620
461
330
942
171
28
61
667
58
210
329
434
998
408
664
583
99
822
161
208
206
494
202
166
866
154
259
607
240
310
791
810
722
265
328
121
847
749
680
973
295
469
66
263
498
142
676
886
325
536
785
809
868
612
118
924
139
124
553
804
813
923
653
655
799
782
723
969
513
774
291
834
222
94
948
416
710
760
477
866
830
809
64
796
215
434
182
501
521
25
437
305
113
201
232
792
23
772
655
151
338
984
374
571
924
570
654
424
540
878
825
973
926
790
674
467
438
245
267
774
140
910
622
182
57
959
559
563
446
986
740
891
548
757
630
15
250
936
657
650
508
900
295
793
160
451
228
172
974
612
994
834
403
625
726
742
517
990
683
51
22
640
299
774
118
349
361
722
157
74
763
901
747
210
987
68
964
684
127
744
818
389
757
812
965
722
441
759
948
882
990
724
890
140
841
800
704
527
112
423
303
244
904
293
251
620
471
965
565
652
670
173
82
973
974
970
944
617
953
968
256
89
782
330
900
55
795
680
826
444
555
740
880
870
188
365
369
55
987
599
132
388
410
534
804
808
608
28
383
1
611
802
922
245
102
44
393
343
488
396
306
774
633
139
713
577
184
442
556
500
900
803
182
639
757
163
9
140
925
749
971
504
845
385
373
733
809
862
225
819
380
996
948
86
941
138
597
477
476
253
366
188
393
148
233
972
841
83
17
22
510
773
7
604
337
764
604
500
903
246
52
884
544
646
478
480
367
768
887
705
448
791
702
50
426
213
708
116
612
682
2
567
526
697
616
788
437
407
49
130
100
23
852
498
397
939
723
461
980
278
343
203
335
428
312
400
927
107
88
564
199
640
806
459
232
413
211
966
835
935
707
154
655
526
709
399
684
437
50
75
166
96
215
761
510
284
538
880
250
238
314
421
518
105
992
698
740
685
216
126
477
115
511
624
443
993
835
583
705
478
48
284
18
34
589
298
34
834
309
654
869
333
442
503
127
120
158
614
30
988
25
252
737
99
948
925
278
210
855
23
800
230
464
597
970
747
973
402
449
778
391
847
334
712
545
685
331
299
496
118
214
586
224
482
833
912
938
847
493
409
330
645
80
987
387
951
688
442
144
112
817
151
884
240
466
805
867
500
540
755
601
206
48
866
50
519
498
192
948
897
761
410
538
550
408
724
683
841
208
835
232
959
20
692
968
213
810
922
228
985
878
276
530
715
692
927
114
291
898
180
369
874
174
21
502
490
629
898
678
699
321
360
67
248
302
453
900
933
334
279
673
786
33
754
112
330
728
402
361
866
801
959
138
678
564
680
267
590
54
503
93
524
212
626
764
599
60
668
264
803
382
261
380
501
369
855
508
834
417
551
288
608
996
940
607
384
85
352
431
319
188
365
233
762
348
125
570
726
892
864
463
149
869
947
810
279
282
956
22
618
216
589
411
594
963
606
670
555
29
673
920
720
717
699
413
435
616
190
948
479
889
226
470
163
737
882
113
673
802
313
156
432
539
270
979
268
791
499
128
812
909
349
20
879
733
912
652
524
710
205
924
129
179
213
824
99
650
92
778
732
455
491
924
392
768
721
941
360
346
461
318
651
780
796
650
648
222
647
599
595
767
60
674
903
723
420
878
711
947
359
540
356
367
41
410
235
519
522
160
41
691
118
982
509
816
42
898
622
787
95
724
679
260
860
367
768
353
692
292
948
844
742
530
891
619
429
578
823
154
44
884
337
756
627
389
82
136
868
791
361
639
538
749
408
129
885
254
475
75
492
785
896
880
342
681
979
856
206
331
896
540
26
453
788
254
658
706
893
873
203
330
863
821
156
336
386
173
794
9
834
604
510
132
971
619
329
380
655
141
443
819
83
68
414
273
365
854
640
624
110
511
773
763
289
695
78
15
825
688
89
323
259
164
533
405
357
601
209
371
697
64
401
2
149
909
441
27
621
595
243
225
611
447
994
119
933
667
681
377
422
351
816
739
552
531
553
478
706
541
345
909
226
98
462
458
507
532
957
145
112
561
124
109
303
825
120
981
454
176
145
502
492
362
528
749
937
323
136
769
74
781
728
164
551
202
304
442
967
464
18
514
52
794
912
761
690
610
635
517
338
920
252
646
345
829
491
131
345
548
35
238
115
988
997
872
272
683
329
195
745
303
716
449
227
465
449
178
690
909
899
759
632
337
442
178
915
406
143
539
957
398
53
634
527
105
710
240
623
298
336
508
715
981
261
907
155
297
279
739
700
551
48
128
911
343
108
759
644
181
801
348
982
291
160
994
738
552
863
101
78
612
454
523
918
278
317
952
498
226
386
323
917
909
133
216
506
306
156
782
607
814
619
742
698
164
852
389
853
674
665
313
191
604
313
802
312
581
581
472
722
328
186
691
902
978
522
814
975
279
800
52
898
926
797
54
738
21
772
920
847
446
552
417
704
526
474
631
779
901
619
144
8
983
762
96
401
696
540
186
825
488
615
726
252
734
39
360
623
723
570
964
2
415
463
535
888
4
105
581
381
134
950
651
416
294
360
165
410
523
367
603
491
53
844
491
932
938
260
314
551
35
19
676
606
911
355
530
144
402
907
315
862
572
375
146
291
760
120
16
493
267
184
119
556
977
941
4
855
863
543
248
433
916
375
730
891
486
981
403
854
421
293
654
409
668
563
970
929
188
72
631
347
154
568
596
224
375
382
575
974
844
351
504
177
67
1000
322
227
622
904
950
477
959
810
880
647
47
883
616
487
871
371
479
624
158
136
990
45
957
708
98
905
864
982
29
227
725
217
411
563
679
769
664
898
219
822
299
903
772
487
945
141
998
789
386
997
574
443
871
889
757
835
244
810
440
275
215
346
701
431
222
121
95
827
890
27
61
432
50
706
851
645
652
501
330
453
659
473
844
126
206
169
113
599
884
524
764
574
991
655
682
487
988
340
834
701
225
648
613
662
164
544
5
325
985
270
114
833
458
966
632
300
387
315
906
562
785
939
90
930
161
918
769
292
950
62
90
408
175
517
124
875
872
869
679
27
705
157
254
986
419
112
150
202
510
496
32
61
537
629
368
563
999
78
274
671
605
983
237
630
55
712
74
458
170
348
303
865
305
35
730
37
520
337
731
91
899
597
140
512
741
734
136
568
86
43
764
490
198
339
23
237
146
229
527
745
623
374
806
905
477
355
269
929
213
172
654
387
890
439
612
961
440
86
656
872
402
721
352
11
475
848
30
51
94
833
737
194
426
816
380
742
826
807
257
401
788
823
226
71
855
254
792
885
809
592
303
448
666
309
243
513
678
909
366
872
567
156
10
813
715
26
491
334
835
228
918
236
997
990
96
330
482
411
470
245
86
864
198
763
932
828
530
154
789
38
620
748
158
44
803
841
125
94
141
89
84
768
723
746
929
930
839
451
305
386
612
786
757
97
104
495
422
908
234
85
32
563
58
492
533
159
88
668
603
352
383
193
711
297
66
512
130
775
779
969
480
987
344
590
990
197
555
487
620
825
601
814
618
564
79
458
844
825
951
19
461
130
83
198
135
67
181
375
973
104
62
59
812
828
179
879
321
168
250
956
617
786
643
824
739
70
908
555
373
127
453
375
691
758
930
850
13
626
309
671
284
756
984
183
37
52
504
64
589
734
687
949
696
468
936
429
821
497
554
523
441
260
737
653
525
826
704
176
463
975
119
724
211
897
563
990
350
306
304
48
118
224
52
54
174
801
659
897
18
344
3
451
558
128
381
131
238
685
783
812
527
983
376
587
348
341
367
451
179
964
153
780
155
699
358
355
495
6
892
810
955
130
674
548
830
192
9
626
217
201
909
595
887
44
860
24
107
116
589
267
218
599
437
51
549
334
830
645
570
879
159
679
735
593
115
164
608
569
140
919
263
765
201
385
828
991
537
757
338
277
372
505
702
707
840
552
694
47
545
877
367
331
221
806
175
128
955
58
395
380
305
436
154
541
416
156
461
258
974
951
204
982
381
497
940
685
73
174
705
377
318
877
752
170
119
404
311
480
105
922
997
350
393
169
453
977
461
327
182
289
11
954
299
801
633
987
87
49
858
555
858
618
841
301
580
140
472
954
143
688
206
150
927
655
264
856
569
556
160
342
390
197
680
287
25
287
570
525
176
909
159
890
273
195
71
842
38
205
16
826
629
276
331
858
60
22
606
409
67
804
261
508
454
682
371
882
210
797
384
110
399
696
659
976
849
296
864
690
230
88
402
139
935
695
934
154
531
77
34
586
226
542
704
73
927
185
254
574
985
550
592
90
627
130
498
517
446
751
870
236
24
54
235
875
935
16
53
663
897
942
455
925
847
391
128
564
14
304
948
835
899
955
861
306
198
449
251
674
324
164
662
35
141
947
376
246
949
876
754
289
532
89
671
911
318
530
641
365
286
452
436
770
296
171
87
485
938
880
159
869
824
287
130
12
493
476
477
308
750
661
840
245
284
430
233
414
918
696
824
554
645
770
240
351
938
927
713
889
444
363
613
834
304
659
117
918
778
756
780
823
804
959
792
315
380
676
552
357
380
446
2
983
544
288
836
909
872
590
310
209
609
524
881
916
324
477
305
40
317
84
162
374
773
245
977
382
575
926
252
646
699
652
750
614
446
334
321
870
557
480
402
710
403
899
96
625
79
731
356
159
148
985
424
730
256
827
93
194
559
521
779
347
191
266
662
101
549
199
337
750
234
441
537
627
899
410
479
439
84
584
295
758
366
493
839
461
790
39
870
383
610
142
254
112
806
319
357
619
741
45
238
389
547
654
617
810
552
84
830
854
112
998
153
480
711
687
946
800
97
678
24
742
493
158
584
857
683
175
747
954
827
66
507
441
419
710
469
622
730
30
250
687
372
618
852
835
414
481
590
760
577
704
452
739
619
225
815
688
962
42
548
831
984
902
428
118
169
921
673
80
488
664
132
626
950
900
340
159
282
656
222
494
62
176
686
291
447
133
738
75
844
720
40
499
486
296
1
171
887
892
638
255
599
176
382
34
489
491
984
821
44
146
437
915
808
448
590
783
134
908
750
286
900
609
84
563
664
11
116
138
56
336
923
915
831
261
910
997
126
860
206
683
939
579
771
555
742
610
315
339
442
156
955
54
628
965
383
67
125
985
968
826
424
143
816
420
478
91
356
632
677
174
367
806
557
58
747
684
961
181
493
343
888
667
523
512
269
404
995
829
215
744
727
56
123
697
160
870
134
534
72
631
68
435
910
409
930
199
163
669
479
50
692
209
153
260
297
367
859
654
93
22
738
66
458
647
47
442
422
498
725
632
355
70
24
852
744
78
874
418
640
593
224
672
114
402
727
881
649
324
543
565
982
7
918
889
288
661
471
701
25
319
785
326
928
456
2
476
884
219
578
467
419
116
283
505
546
707
820
956
586
768
135
359
358
416
620
474
828
886
919
742
921
19
987
424
671
30
375
79
338
775
446
217
396
592
402
708
559
752
511
983
105
686
926
140
823
488
811
813
838
581
293
98
415
108
918
830
602
321
864
283
242
174
188
698
425
431
731
77
961
775
154
389
803
847
742
643
648
646
277
296
149
461
243
131
240
311
109
14
109
943
229
940
252
545
159
384
857
714
823
244
494
650
27
620
730
225
257
243
783
337
591
615
830
939
785
851
885
215
314
738
432
652
198
762
181
171
952
729
334
56
878
115
786
150
240
497
499
681
551
210
123
108
327
930
610
613
178
984
167
163
37
29
394
645
655
201
882
201
239
951
837
725
244
565
551
476
887
808
638
885
919
211
17
947
526
280
542
9
45
288
58
401
312
402
382
110
71
580
392
603
859
74
973
1000
160
378
36
18
448
162
200
497
930
68
34
858
410
241
926
564
742
122
761
474
728
333
579
32
192
468
316
376
161
206
528
789
756
441
729
386
443
86
619
589
740
760
976
699
354
841
478
872
984
261
31
870
712
985
444
242
973
320
466
8
595
82
250
492
300
185
301
672
336
372
814
325
649
680
136
262
94
717
746
169
715
966
756
917
53
181
447
720
759
344
746
182
552
847
905
116
693
281
811
974
686
678
548
889
908
140
816
611
197
529
780
74
232
301
778
927
684
625
46
144
725
641
296
734
455
91
559
639
218
575
152
167
556
373
34
656
784
123
87
659
777
622
53
577
552
698
970
591
706
378
922
697
556
581
872
863
100
140
133
625
537
290
758
921
157
642
791
626
867
292
802
3
461
935
629
280
41
776
560
628
671
583
458
112
386
433
490
587
247
586
187
84
935
460
547
976
761
828
749
95
628
242
859
10
601
160
579
884
282
409
708
676
107
435
473
981
978
243
308
453
459
78
972
593
821
628
125
656
849
34
610
585
232
6
715
146
745
160
655
931
197
44
329
442
297
405
200
301
161
970
770
494
197
354
719
657
476
785
236
648
515
971
447
19
593
809
145
562
350
624
204
790
421
265
170
93
311
720
521
278
514
858
988
434
155
532
186
320
43
564
462
13
119
57
570
151
689
75
258
923
747
980
341
901
920
613
135
904
276
77
444
379
302
71
384
153
857
641
448
36
782
681
171
464
191
764
622
237
117
678
760
497
362
556
365
257
871
655
859
156
913
623
842
635
658
572
574
387
492
411
946
778
564
630
722
883
587
221
946
967
906
451
464
482
172
991
430
151
774
296
533
275
311
177
426
188
19
253
509
695
11
307
777
403
615
623
908
92
886
56
181
638
572
939
54
593
433
900
464
162
833
352
982
234
956
704
980
98
812
313
861
656
461
818
239
270
518
782
665
874
49
500
128
586
435
403
98
894
635
776
334
391
573
364
987
193
9
38
845
393
385
889
659
336
581
986
626
98
459
585
16
242
321
734
849
856
169
78
311
879
724
162
270
955
711
667
863
401
835
856
646
370
194
938
181
995
641
203
272
86
720
554
270
964
381
486
28
134
621
674
68
809
567
54
533
727
284
707
280
334
780
901
276
146
239
363
89
38
533
237
842
275
432
199
480
327
750
883
576
921
864
133
163
291
666
566
330
319
16
608
343
96
202
456
129
462
746
396
816
233
112
525
879
161
569
213
135
162
441
546
486
960
508
633
828
113
125
839
988
326
940
989
915
63
748
69
575
735
100
226
205
159
785
704
598
561
192
908
113
113
866
942
943
915
264
845
989
328
867
205
371
817
273
33
191
778
879
525
700
356
34
881
396
924
354
402
929
727
954
916
884
159
983
980
676
295
746
435
786
583
96
597
547
68
538
802
526
97
654
68
281
245
63
354
966
114
108
271
809
710
840
124
957
382
707
860
570
631
536
821
327
707
19
206
710
558
932
807
508
584
754
880
20
655
164
989
311
7
160
272
729
975
165
869
579
989
556
173
514
907
492
177
709
542
804
399
347
202
953
823
284
156
764
799
26
215
715
105
292
28
41
217
528
262
827
382
690
582
562
250
518
229
309
687
276
25
803
877
657
847
267
960
133
981
698
296
544
244
679
877
115
460
537
547
433
705
795
479
118
680
416
757
61
760
325
53
132
520
14
83
222
4
837
974
297
621
777
697
941
290
35
469
473
397
787
375
359
193
863
501
35
487
878
548
701
891
585
245
905
406
797
870
923
844
287
842
51
428
462
657
930
943
469
412
933
958
616
769
448
987
644
512
649
915
427
761
931
668
145
510
759
905
841
404
111
433
531
573
27
191
727
885
60
879
301
233
571
740
129
287
864
581
820
736
163
852
166
169
286
474
639
626
658
166
379
334
26
220
641
279
795
29
590
116
442
166
678
336
865
527
554
767
838
817
634
252
970
686
973
774
698
951
82
406
876
601
655
194
464
784
969
492
685
538
892
334
731
814
1000
131
828
254
330
359
962
251
641
935
103
71
906
661
104
176
932
453
761
464
637
72
699
813
523
730
860
186
322
248
359
575
611
416
397
204
447
814
732
768
705
651
939
951
857
95
302
91
402
166
750
686
987
517
646
350
584
315
645
962
699
14
15
1
729
4
71
476
40
19
343
442
244
697
144
829
455
865
56
180
14
991
627
960
273
699
290
281
582
442
100
264
500
209
379
738
636
603
802
687
228
782
731
654
728
492
879
289
217
892
455
392
414
934
41
68
437
824
345
74
215
494
847
52
634
55
100
82
106
951
124
934
204
872
870
455
428
525
244
764
953
68
516
321
428
306
264
470
510
794
178
766
823
609
143
239
475
891
29
782
94
189
549
999
579
299
313
180
410
541
984
558
421
361
45
631
374
737
207
136
578
115
978
206
11
502
205
337
141
900
701
87
672
494
203
808
969
856
987
314
784
987
436
117
227
159
739
734
621
422
680
626
998
61
171
542
518
525
789
357
16
78
67
54
206
959
711
138
837
904
238
602
199
704
727
549
982
875
546
716
396
633
907
426
863
86
95
961
342
992
11
946
535
463
471
93
801
724
336
579
586
403
124
420
594
868
232
395
702
789
268
515
848
473
288
528
719
482
915
677
109
741
424
792
210
604
889
773
976
352
367
737
897
205
958
381
190
184
264
647
462
150
422
346
352
876
412
266
531
294
791
172
699
954
343
262
906
285
403
876
604
465
757
694
321
586
104
208
741
327
33
21
301
523
341
378
76
866
317
400
897
475
301
685
115
223
421
300
373
504
938
691
97
616
10
717
120
34
19
841
32
637
840
479
374
391
534
662
782
62
8
443
516
306
106
950
607
869
471
577
23
690
240
574
837
427
320
215
359
284
549
805
619
57
532
995
356
999
293
307
894
432
213
251
901
49
871
186
41
508
547
878
957
180
109
743
862
963
956
947
242
604
471
823
835
329
198
579
95
457
547
906
800
295
402
850
348
863
434
337
525
867
262
753
245
941
879
336
804
363
902
481
709
333
288
681
31
436
123
547
514
84
968
214
418
583
46
526
150
962
224
560
279
856
371
414
452
547
152
708
66
724
744
898
274
665
271
343
76
291
984
40
766
10
333
75
1000
337
131
150
63
28
930
965
757
881
588
876
421
397
777
985
266
225
810
758
115
686
759
313
101
685
304
795
639
26
122
598
196
470
921
767
24
874
422
604
19
414
669
353
296
194
83
865
913
511
551
299
415
660
693
250
503
474
151
167
205
678
381
582
361
767
967
426
111
349
915
710
355
807
732
908
803
667
360
669
348
320
187
902
954
565
419
833
181
26
86
400
726
619
827
197
115
140
377
264
766
507
395
187
154
364
832
343
779
543
589
645
923
366
589
794
952
881
728
876
44
910
368
142
806
207
202
906
155
135
322
840
256
11
283
349
28
656
791
349
947
771
425
519
442
466
420
10
153
622
150
691
752
839
399
224
797
351
882
647
310
687
801
717
391
799
352
909
183
86
269
899
950
998
430
294
839
922
519
598
173
626
499
701
714
862
426
672
449
616
734
255
853
122
655
292
488
994
905
218
45
712
89
894
622
291
551
306
117
150
543
79
85
90
664
307
336
811
495
984
816
563
219
139
63
414
827
886
590
63
182
754
124
310
815
56
524
109
853
524
531
558
851
154
266
356
659
2
516
986
644
649
408
357
751
214
31
692
878
70
927
229
39
864
145
692
576
81
716
530
501
98
22
682
645
661
483
945
909
731
397
103
360
913
593
608
304
72
719
988
748
253
638
137
860
750
413
274
139
25
788
722
991
169
904
556
356
787
233
848
802
511
354
484
274
805
253
472
266
411
273
251
765
511
729
755
733
708
439
894
239
956
139
668
632
912
794
353
278
521
339
57
476
293
251
499
114
408
686
2
547
711
583
594
917
675
298
547
860
620
813
879
148
849
505
140
274
845
803
255
466
365
787
355
868
74
934
260
907
372
759
743
938
164
85
803
354
657
993
874
234
692
322
362
506
727
736
919
296
376
964
590
860
291
818
350
5
266
974
562
423
693
313
585
711
844
832
92
158
41
732
661
554
443
324
848
393
61
824
274
832
606
921
208
686
949
268
761
550
305
672
77
883
730
813
856
482
143
794
105
354
909
667
307
392
944
373
35
654
416
186
684
254
382
862
114
83
126
160
956
593
520
301
795
901
475
255
674
313
438
421
175
171
929
401
844
620
309
84
878
476
341
184
807
904
596
704
342
998
453
543
735
698
243
603
716
692
73
317
549
70
25
456
825
556
684
454
351
68
431
264
909
212
520
912
710
75
740
527
93
319
364
584
371
196
176
538
793
518
596
763
223
31
293
987
524
936
260
976
614
451
975
276
801
458
167
219
341
242
707
257
108
265
301
912
891
728
6
282
127
386
58
97
776
740
150
764
695
232
73
717
37
536
613
668
190
373
667
989
249
544
841
607
302
25
178
201
615
40
266
469
402
5
692
465
973
115
701
754
964
121
957
241
802
559
518
38
736
262
477
669
562
518
239
252
641
643
81
19
942
26
451
695
588
979
465
809
860
802
176
954
671
548
495
391
283
897
101
162
449
393
269
46
207
74
306
272
276
155
234
913
385
24
384
258
874
263
852
270
616
786
103
445
621
490
600
3
704
983
999
364
249
81
324
279
388
732
553
831
918
979
201
753
856
357
828
162
864
859
852
843
649
244
737
709
88
966
354
879
52
478
316
137
785
4
181
174
306
103
648
115
470
555
348
323
208
128
349
358
21
768
267
278
945
651
740
183
76
303
82
995
238
691
111
16
505
785
529
713
134
616
724
515
909
226
549
159
14
266
435
245
358
189
211
233
669
138
100
69
817
649
695
970
508
243
140
700
971
814
356
833
239
506
924
62
411
382
142
643
607
818
856
415
377
974
893
681
13
99
316
398
527
732
266
782
103
991
841
425
428
326
341
454
659
40
206
111
737
843
144
341
364
493
279
653
269
319
625
560
289
47
818
333
416
874
864
734
172
194
576
583
619
720
502
758
824
2
393
276
857
501
699
595
246
454
134
180
349
724
104
675
288
718
649
736
937
257
639
670
933
935
122
599
856
143
91
715
531
421
478
615
835
204
795
367
580
369
727
152
751
186
924
858
869
431
388
969
295
431
156
439
80
785
404
48
334
308
739
864
164
556
173
63
953
895
218
323
95
694
603
407
374
654
350
363
813
691
330
961
198
81
973
612
451
727
492
32
698
573
851
341
175
125
710
120
98
2
760
180
214
229
164
463
67
726
340
525
920
51
910
516
866
34
480
448
935
321
835
796
865
264
253
156
800
789
896
781
386
72
676
294
582
902
529
765
79
600
811
661
356
211
379
867
282
528
976
110
633
126
751
606
87
251
86
720
38
879
412
723
44
660
396
501
858
819
651
179
744
275
166
223
258
381
737
495
701
723
9
131
269
367
169
868
269
776
952
628
870
382
365
742
542
467
478
209
748
553
680
744
432
2
56
204
572
882
901
179
400
459
951
127
853
855
615
501
540
522
313
683
737
171
93
431
969
731
820
736
295
695
579
663
732
981
409
789
163
7
138
312
687
274
840
768
593
155
452
557
64
944
128
177
261
485
210
122
664
856
116
905
409
641
984
556
902
315
696
257
155
125
739
460
155
667
453
989
51
7
371
97
113
842
757
417
220
661
917
65
98
309
564
881
659
639
325
956
558
205
450
138
535
39
949
167
186
606
648
459
560
991
130
309
382
185
104
505
770
118
544
866
3
753
826
264
305
83
185
50
615
408
43
613
997
589
138
21
705
294
942
294
880
450
539
884
557
188
9
366
922
585
360
169
750
434
232
430
588
56
913
686
483
930
697
171
47
513
233
957
187
181
345
25
114
657
707
635
132
637
899
27
260
584
619
593
982
822
242
120
262
126
496
611
507
980
764
507
344
552
393
822
911
229
443
815
867
234
522
368
475
464
678
141
919
161
865
915
489
497
152
282
384
388
664
973
660
167
241
682
305
803
934
183
464
418
732
921
654
822
400
11
149
570
878
774
810
869
483
505
345
284
54
161
345
756
260
67
485
956
542
519
950
330
510
384
498
518
200
411
567
998
265
975
476
904
50
425
88
998
500
11
280
646
40
643
164
513
854
333
288
360
517
262
2
18
534
859
733
94
160
134
183
446
797
789
356
787
412
306
879
54
637
291
318
319
664
841
17
100
603
600
580
900
724
477
235
682
861
689
212
773
333
929
724
374
912
959
334
484
744
875
257
497
612
603
648
197
648
938
24
159
372
587
768
794
952
206
75
419
709
415
807
753
181
97
469
186
511
101
917
34
532
610
460
716
689
33
762
475
842
280
290
833
92
647
102
419
986
371
443
219
840
92
972
570
493
112
418
396
461
306
143
322
368
37
369
263
484
185
830
33
427
713
186
304
378
766
862
1000
632
422
862
818
985
605
752
109
211
590
200
803
839
767
395
405
589
11
231
337
12
113
332
75
381
176
889
589
390
810
802
570
983
251
795
807
521
223
32
864
520
505
233
904
420
645
473
87
176
244
632
509
992
506
936
15
179
542
163
584
952
19
844
162
947
333
255
985
396
413
46
456
178
651
138
568
416
198
907
747
903
80
720
710
399
122
631
619
757
708
401
360
912
759
21
265
8
139
646
972
310
896
131
391
99
361
401
952
464
148
528
408
724
527
679
460
262
472
104
388
715
935
907
702
758
515
665
522
256
784
863
58
137
959
731
74
187
475
280
670
870
306
281
69
426
534
454
347
721
759
370
198
780
442
435
908
483
140
852
679
649
933
643
313
606
13
654
73
416
550
970
213
92
442
298
275
523
519
722
763
324
57
653
185
510
243
973
830
697
353
98
788
539
952
161
944
224
405
574
631
168
329
10
617
484
409
212
946
398
149
119
880
582
747
517
890
254
241
779
168
994
484
295
654
441
314
879
901
455
473
786
428
813
458
950
385
281
512
722
449
701
364
709
889
769
205
243
636
361
565
670
17
562
470
906
539
54
249
648
731
147
861
217
595
540
451
256
650
845
134
417
926
996
662
715
474
974
731
462
176
634
165
554
657
54
106
409
108
529
650
51
689
206
74
670
974
445
903
477
600
145
606
837
867
655
619
482
546
406
738
31
572
42
651
219
598
697
539
987
633
993
227
7
90
528
293
340
635
861
961
649
142
505
329
795
936
2
677
713
227
938
187
166
339
677
383
370
876
655
18
474
439
318
907
616
917
169
426
561
634
939
34
964
826
588
146
940
47
709
164
931
77
917
266
823
831
961
813
910
595
650
887
541
609
140
489
259
681
777
427
814
31
486
764
675
9
636
965
579
689
446
577
210
580
213
330
323
877
105
76
484
722
819
835
144
931
132
549
946
520
268
849
983
146
44
239
261
277
963
631
740
499
770
107
148
872
517
85
237
669
815
830
256
128
833
391
216
99
524
590
916
563
750
658
856
79
226
459
836
113
687
45
494
89
275
421
87
723
899
19
511
901
255
346
955
888
259
674
605
163
871
449
485
531
702
287
886
466
295
53
809
817
727
541
518
123
984
688
591
771
604
91
852
158
249
851
153
819
175
388
272
230
78
947
143
597
400
952
189
496
1
243
801
672
38
506
914
639
998
858
164
1
109
663
353
549
742
118
803
275
35
70
729
413
666
795
906
491
595
207
803
174
662
62
797
366
99
250
278
624
391
190
231
475
420
683
372
600
507
305
30
196
782
585
734
32
295
744
911
854
439
756
192
830
498
818
566
661
657
131
17
844
352
31
355
318
628
126
668
388
107
50
161
395
211
875
233
64
535
993
266
851
659
512
3
885
212
812
318
310
713
925
912
914
584
842
716
945
706
669
775
929
96
807
14
105
587
958
549
844
884
838
152
20
990
905
65
861
825
300
612
225
760
450
942
623
950
480
829
547
567
635
634
820
482
439
434
776
507
169
831
12
40
577
164
383
846
444
651
648
761
712
524
900
277
437
346
515
365
724
522
816
358
172
474
120
434
59
78
112
14
664
741
719
423
664
919
802
249
523
978
11
173
118
53
78
462
651
944
709
943
53
159
932
20
688
938
492
239
123
453
372
961
162
398
71
943
111
895
584
5
487
963
358
533
943
786
668
228
265
703
974
396
676
112
795
83
538
470
590
511
766
202
909
628
944
569
833
21
144
538
337
132
935
229
749
463
930
804
916
436
481
554
58
674
810
485
501
721
956
937
697
650
395
636
967
582
103
116
379
862
102
607
80
537
282
359
160
815
361
847
824
388
403
459
260
864
206
90
76
55
241
512
612
547
532
527
724
794
33
682
890
971
592
770
595
941
569
402
997
10
520
725
818
567
158
729
257
334
930
668
462
700
191
808
786
543
901
138
583
4
186
639
806
928
897
458
37
56
522
625
857
614
408
978
668
622
268
594
177
129
390
361
740
573
789
251
714
641
773
513
721
334
62
276
525
406
621
960
787
14
864
523
539
178
711
787
655
613
272
15
926
618
615
443
620
939
134
713
569
959
553
11
881
150
457
244
357
441
598
773
561
41
870
66
311
313
14
136
994
493
601
755
765
387
783
283
164
717
631
393
90
437
621
95
415
180
964
249
717
955
45
199
769
384
180
213
421
32
268
224
496
855
695
697
130
385
999
580
775
27
420
947
723
803
428
362
576
878
717
991
582
525
963
196
113
490
856
661
858
325
505
121
495
917
380
408
711
320
324
826
425
1000
64
864
4
771
830
837
68
35
387
360
188
403
792
477
453
433
695
851
365
999
805
688
12
760
485
960
778
306
54
38
135
819
483
100
201
508
684
503
834
646
431
876
980
786
315
854
906
585
786
222
705
754
509
730
174
821
721
995
753
757
244
727
709
31
137
957
198
333
684
91
104
25
591
382
815
341
807
842
208
550
320
721
169
522
690
410
886
631
794
43
36
531
493
122
715
90
463
210
635
685
456
114
686
164
636
988
407
968
444
504
317
338
651
550
342
47
863
912
746
800
786
91
84
328
968
646
715
165
559
493
295
322
898
153
512
356
362
260
32
828
955
553
270
790
603
176
116
717
954
350
218
265
772
397
731
336
683
638
749
191
115
921
742
785
770
394
430
50
841
666
478
607
521
697
291
255
31
587
949
651
517
930
45
771
692
560
765
122
26
325
64
166
604
977
209
101
533
416
249
973
913
267
240
43
934
240
146
522
632
792
382
29
196
359
927
615
476
838
754
784
542
49
96
708
711
638
734
748
444
223
35
489
939
657
978
691
995
929
749
989
1
580
797
673
444
511
431
631
412
712
121
341
956
740
703
854
19
754
549
855
895
531
652
214
793
160
211
946
174
56
21
94
944
522
436
886
487
332
164
435
773
706
470
381
454
635
642
115
947
683
719
666
1000
310
556
885
112
269
269
313
507
801
993
994
36
230
659
530
542
5
195
911
685
456
159
957
211
260
309
772
929
164
27
245
442
561
840
466
793
337
493
929
751
837
165
485
432
855
456
361
280
363
715
948
250
21
125
730
169
645
710
433
853
453
112
435
562
358
530
521
737
527
689
330
791
172
111
187
922
851
213
611
544
543
967
435
921
460
963
368
66
803
701
833
742
699
861
66
696
134
123
822
851
993
820
474
287
255
337
962
248
971
724
822
313
906
406
494
118
639
248
190
713
453
464
885
694
576
39
414
770
215
389
216
290
333
966
14
583
319
386
598
657
528
451
929
921
190
123
975
107
307
111
58
524
992
243
982
60
160
184
905
141
606
406
738
959
274
515
813
857
979
195
734
714
896
42
592
518
927
511
191
118
407
62
530
293
720
319
550
882
65
742
78
684
30
863
976
255
620
621
717
527
87
701
33
361
270
86
780
791
102
186
908
716
649
70
248
223
311
249
849
579
814
452
792
136
212
597
686
69
438
898
578
900
825
699
613
224
664
132
604
925
63
157
588
427
321
885
587
203
542
341
24
877
476
988
679
687
415
389
655
30
507
374
520
80
55
945
723
177
170
951
398
824
684
241
871
607
363
613
552
339
261
391
407
999
545
845
861
818
225
11
816
1
6
690
462
118
918
517
667
151
463
46
57
570
776
734
322
566
681
542
921
731
614
660
72
95
66
475
898
395
591
515
611
831
457
551
890
419
682
418
986
187
556
416
613
147
745
331
416
939
712
218
640
498
518
107
630
930
19
677
4
8
109
780
606
347
921
424
874
390
843
434
877
755
802
570
73
400
509
294
778
307
247
767
471
62
381
871
287
816
945
234
502
562
556
305
357
603
434
490
340
348
469
241
879
307
153
786
502
254
654
871
672
71
495
476
886
674
85
3
144
797
831
801
529
119
680
255
522
378
706
845
593
672
806
757
792
89
661
630
354
179
847
965
740
574
399
612
214
191
197
444
746
87
235
42
1
986
233
750
226
920
57
947
82
204
117
757
859
200
236
711
54
907
497
52
992
472
207
500
32
106
453
262
887
749
669
18
814
61
259
416
675
948
615
321
428
906
788
721
188
903
648
700
834
396
666
353
48
356
287
850
816
823
478
127
662
632
227
823
306
417
628
170
20
896
757
503
685
762
675
944
434
182
785
590
817
47
231
247
621
626
194
328
836
193
757
50
767
560
465
477
965
148
827
274
473
407
797
248
871
927
701
893
721
553
157
208
343
170
295
948
259
609
991
385
296
282
864
355
49
757
534
56
383
459
989
622
669
88
934
971
730
140
706
814
823
125
646
980
561
698
846
416
339
936
811
330
735
408
929
921
312
540
555
88
470
4
185
284
282
500
442
454
756
367
545
585
587
906
521
941
255
156
670
532
299
162
679
655
673
416
368
655
368
252
251
182
908
480
958
304
887
407
112
797
466
711
436
824
612
366
683
1000
931
873
514
514
130
637
576
614
500
203
854
227
334
441
830
924
859
468
109
742
78
275
947
611
914
563
563
250
174
245
175
452
149
452
491
585
118
627
758
42
629
504
539
52
191
304
110
9
926
520
732
966
829
17
99
474
468
4
917
282
406
613
935
739
104
481
749
897
829
692
326
434
888
912
532
518
579
361
900
630
358
503
503
200
108
993
67
632
827
461
400
900
721
178
802
466
464
504
376
691
350
301
36
272
165
163
615
474
853
399
633
117
507
190
215
313
744
250
137
944
293
610
174
750
492
849
772
660
446
233
564
727
781
708
376
596
304
661
227
955
385
651
242
826
543
99
562
866
541
29
73
87
289
527
256
502
975
543
500
286
156
15
20
943
969
74
874
830
251
254
678
164
112
230
293
270
401
586
177
409
638
504
63
4
133
93
370
454
490
243
56
8
167
549
626
380
501
838
674
860
452
270
628
709
340
820
363
516
1
182
920
16
129
783
907
603
57
648
44
390
845
312
931
202
354
849
351
350
941
338
344
357
492
786
812
78
799
603
670
815
695
190
410
88
922
155
463
712
476
892
959
687
12
50
290
217
978
463
412
853
324
685
954
353
997
165
6
375
939
446
952
494
983
519
813
393
859
583
338
273
512
41
547
670
58
502
478
892
15
936
685
246
886
886
385
65
775
826
259
298
483
340
601
92
467
781
881
359
75
459
831
797
760
228
840
220
316
521
777
314
745
529
366
165
65
213
899
971
215
279
364
373
234
77
38
749
61
625
232
619
614
592
122
61
313
158
571
627
818
75
406
833
581
182
882
691
730
827
959
135
930
400
578
434
120
192
346
841
447
334
893
808
296
462
720
60
28
11
518
701
965
810
780
325
152
730
53
770
677
650
291
784
654
962
601
356
498
140
146
872
785
665
80
602
825
715
152
207
52
594
106
127
460
853
12
704
636
371
503
881
363
486
207
130
387
407
795
33
710
738
734
606
669
936
238
12
161
906
906
784
586
746
254
69
481
878
672
685
347
381
320
958
901
395
170
447
789
883
662
614
877
845
453
461
337
370
327
935
128
503
621
639
912
991
477
30
107
413
787
796
562
76
968
555
294
314
608
397
829
516
564
982
958
297
329
143
129
684
356
938
282
130
535
139
659
440
229
956
1
401
98
640
608
36
448
267
928
926
989
603
677
942
698
486
46
94
945
531
191
931
170
310
23
64
173
370
325
947
506
592
327
5
566
413
194
561
709
398
310
789
131
475
851
81
322
920
925
831
577
823
440
593
487
352
961
984
288
588
47
508
693
91
936
674
127
657
994
396
309
881
55
702
774
288
613
170
223
759
868
386
571
915
766
916
184
922
528
965
60
914
623
919
663
870
786
448
692
283
478
690
327
448
128
330
394
502
614
40
445
637
689
852
971
45
492
507
832
227
845
729
532
293
781
677
126
714
625
519
409
827
1000
215
523
45
335
74
274
341
790
642
264
80
47
723
402
675
83
169
482
872
834
138
303
686
700
132
226
133
910
43
164
963
126
830
750
504
57
197
819
618
504
827
407
486
996
329
200
634
103
999
705
147
585
946
476
523
780
894
391
972
991
193
335
271
219
202
615
464
243
190
123
808
949
376
527
359
788
517
788
503
422
720
872
577
965
791
842
407
663
483
433
264
535
477
799
243
272
763
390
533
648
399
788
376
786
274
929
786
921
592
309
254
678
281
693
713
490
443
330
59
505
234
893
336
200
290
187
550
992
933
171
714
323
897
992
348
44
244
543
175
448
495
508
134
978
690
7
176
431
307
696
518
494
450
644
168
567
729
387
555
131
585
294
71
355
602
803
143
261
521
144
230
521
241
857
809
865
110
811
951
185
160
462
598
620
804
735
997
313
650
300
70
69
755
991
648
851
653
749
641
887
879
832
187
198
605
936
747
518
196
551
933
886
157
116
579
700
995
493
178
638
977
846
377
650
618
305
637
187
32
636
512
922
916
749
291
492
52
66
855
213
691
656
718
267
74
549
164
644
650
870
282
945
263
216
485
262
692
250
798
487
433
613
792
815
577
56
533
676
926
187
372
33
261
325
648
782
804
748
677
975
474
45
461
762
502
379
643
171
314
219
131
370
385
490
703
609
931
158
627
828
881
986
1000
824
589
565
106
960
107
739
512
606
661
265
51
922
181
837
105
104
349
652
787
934
629
309
737
339
205
175
242
642
569
281
298
402
716
472
59
28
606
781
834
853
539
953
426
990
598
630
143
81
161
938
246
998
731
154
973
671
59
666
487
472
572
647
314
14
631
773
851
771
34
804
531
708
479
50
110
936
417
588
306
501
824
585
731
591
963
227
655
804
112
604
638
639
587
297
479
42
110
607
249
647
728
106
411
363
47
615
128
67
477
841
936
472
591
625
875
691
418
159
18
613
724
599
121
978
862
213
736
965
811
567
738
150
383
296
656
974
404
677
616
199
855
568
931
394
608
279
646
214
390
579
365
44
26
370
746
645
879
525
938
564
611
978
58
426
43
478
518
689
966
328
674
88
172
8
753
796
882
866
510
252
985
932
386
760
190
472
183
163
290
142
478
383
201
441
6
140
351
705
272
911
299
77
478
104
155
708
697
412
495
964
856
567
5
549
739
37
968
267
699
729
99
631
177
435
920
616
478
582
43
663
415
824
281
445
631
157
446
35
401
521
71
823
658
324
61
958
875
910
462
147
135
764
100
343
429
158
853
258
759
39
699
617
117
162
498
816
772
878
662
926
606
526
489
22
399
83
950
458
108
566
156
11
143
712
559
803
580
628
169
500
71
408
739
601
921
228
900
533
433
39
701
895
173
788
853
387
238
41
275
930
947
991
195
986
661
96
150
328
570
13
710
397
366
55
667
863
693
165
708
251
141
238
308
287
344
710
705
146
430
517
318
913
665
867
910
400
647
818
137
916
819
282
834
705
368
936
574
558
822
479
561
528
782
818
879
782
255
68
493
341
995
693
161
910
128
716
600
10
63
708
814
371
369
164
505
920
871
958
878
685
670
807
923
684
202
49
523
153
695
595
283
494
633
603
61
967
871
294
559
468
103
332
183
685
265
356
636
563
277
593
326
286
274
938
737
890
63
554
370
269
126
816
729
511
900
374
68
482
419
240
352
54
677
37
893
664
196
980
675
719
397
743
240
884
293
82
324
523
953
982
135
347
940
125
286
850
621
711
898
276
866
969
347
641
138
258
425
817
386
289
452
818
490
853
14
177
211
396
542
762
741
939
921
463
973
127
678
925
561
643
59
910
699
819
492
924
272
66
521
474
726
631
263
677
557
279
859
980
786
747
185
435
182
163
283
301
268
213
613
774
346
503
217
251
872
443
341
892
518
973
876
174
163
651
217
781
887
898
804
419
750
738
639
122
775
951
538
163
89
397
747
967
627
178
823
293
133
460
337
552
460
981
67
295
342
752
823
824
853
973
940
370
762
976
784
501
868
837
320
220
180
398
902
764
505
589
983
219
598
346
335
901
553
885
739
928
489
802
832
489
948
270
918
154
601
594
147
945
17
516
395
17
284
973
532
534
195
436
581
723
578
583
384
154
103
825
44
12
549
93
330
491
89
419
695
480
625
19
306
376
590
22
717
232
898
501
437
408
946
183
648
575
650
52
756
210
504
87
316
712
577
549
73
859
152
531
536
633
467
997
543
355
626
156
739
674
292
815
730
195
213
303
988
439
987
677
220
384
715
155
16
49
373
182
85
471
773
60
252
923
982
859
749
442
936
162
974
547
767
283
53
542
73
760
49
942
932
325
573
375
992
15
910
782
369
802
492
844
387
918
705
371
455
42
573
783
467
653
799
945
173
145
42
344
894
755
44
987
820
950
421
493
872
701
505
532
770
974
619
169
524
839
554
657
43
863
831
967
903
788
522
615
665
96
44
407
254
711
324
326
58
985
201
129
401
104
734
170
938
227
326
593
356
996
247
307
481
536
154
121
523
700
687
956
723
113
81
357
112
513
998
371
446
993
466
482
618
18
892
441
33
512
602
761
482
861
274
139
30
444
897
259
308
171
635
279
407
546
69
803
225
1000
810
270
755
558
409
532
284
445
817
844
897
909
405
600
983
321
661
955
676
660
285
881
297
559
310
307
878
445
279
748
818
700
255
214
550
432
640
262
868
145
329
766
197
584
750
354
708
44
716
483
584
715
824
822
194
978
327
932
153
145
57
248
500
823
955
13
269
933
222
133
772
439
910
858
806
999
54
869
820
90
31
567
794
623
949
351
222
719
272
224
123
101
788
326
439
495
281
910
543
586
939
807
819
260
643
668
447
373
725
134
593
778
722
614
172
145
928
517
233
933
268
676
812
967
114
131
773
257
221
647
774
22
833
121
978
455
393
515
575
381
3
64
452
800
933
282
614
318
20
750
63
550
781
720
893
934
395
352
287
792
509
785
960
121
977
311
352
337
242
629
521
120
50
533
268
582
578
425
490
216
871
710
136
466
683
474
450
308
431
873
327
924
991
270
773
411
506
485
404
486
178
519
874
317
293
666
904
904
341
287
349
978
173
384
326
959
558
749
987
346
421
693
969
853
250
249
877
709
894
347
442
802
23
613
120
779
10
373
4
757
922
937
870
76
564
435
58
375
264
308
697
339
186
78
439
644
476
143
511
20
483
169
348
806
621
131
534
112
178
133
45
466
534
972
56
835
785
803
666
49
741
364
968
941
629
980
785
969
591
955
309
681
261
18
562
190
273
220
312
670
557
32
622
46
649
450
689
202
78
549
2
482
72
338
150
761
455
692
788
91
620
848
376
758
890
227
309
622
422
329
960
768
37
51
999
822
999
87
33
772
844
958
289
770
790
868
569
184
133
764
140
110
310
954
617
689
984
120
87
798
584
843
937
138
222
598
899
288
817
700
775
50
545
886
229
283
443
55
783
465
115
160
858
448
7
445
308
180
642
982
392
738
537
961
534
637
277
296
548
228
341
896
234
981
856
357
361
583
397
976
104
55
300
672
952
588
775
851
921
353
217
290
705
346
752
824
18
207
15
21
972
73
554
18
808
714
70
415
662
612
899
436
352
187
751
579
347
66
768
625
203
141
352
179
719
205
80
901
18
81
239
185
537
523
187
335
672
623
750
219
412
109
387
971
872
709
660
562
51
708
855
962
498
929
258
170
823
631
684
611
162
240
335
274
747
403
963
486
732
582
633
395
292
294
49
105
798
164
564
859
574
120
487
867
322
455
237
143
831
977
229
208
965
125
107
634
284
784
94
169
823
478
783
633
746
789
630
855
562
127
810
682
594
426
824
471
192
953
466
560
967
182
310
911
969
592
875
507
304
344
30
90
160
990
995
534
585
800
498
485
659
788
274
874
881
262
104
598
695
550
21
937
94
573
138
281
126
119
810
317
983
981
454
146
37
604
449
712
844
539
945
511
659
779
321
824
462
8
267
584
821
908
158
572
196
917
480
852
439
267
529
205
305
682
530
879
779
884
609
141
888
905
753
957
471
265
29
624
43
282
826
343
529
123
843
515
109
726
837
13
850
386
932
817
112
632
400
156
940
995
383
753
771
408
3
857
854
273
645
482
675
680
990
686
581
872
524
791
503
803
880
134
375
574
297
340
395
582
931
120
755
470
520
286
838
345
130
14
179
273
311
384
674
761
32
887
612
801
166
879
114
47
139
951
496
885
617
788
839
462
713
382
841
234
269
388
584
231
237
1
445
16
20
5
792
290
919
500
455
179
525
428
225
505
931
189
793
785
194
535
616
244
304
458
145
873
277
956
761
470
656
419
539
612
840
868
633
727
177
428
721
789
678
237
395
673
550
448
837
864
475
106
428
58
728
465
143
153
745
744
735
288
750
399
748
869
375
757
322
963
15
239
618
74
804
476
444
48
698
332
325
790
151
210
805
556
224
64
294
793
833
207
88
904
981
361
526
868
483
380
427
313
699
734
29
534
205
158
685
929
173
825
467
518
488
29
644
526
240
651
740
484
310
599
479
960
214
12
501
803
240
273
125
754
172
765
840
370
591
868
401
471
798
925
627
752
926
750
8
756
683
800
252
162
459
325
751
197
281
609
741
61
158
971
622
413
928
300
509
380
608
729
580
984
612
522
207
644
916
353
163
146
412
955
433
522
229
537
283
384
785
459
268
555
650
412
822
309
131
744
897
102
612
633
895
486
301
527
787
764
11
649
880
80
990
371
170
798
642
982
599
488
165
673
817
308
743
599
247
338
989
503
341
217
700
709
936
504
884
255
511
297
206
564
973
29
677
310
330
776
442
103
226
109
2
175
852
286
50
515
202
517
377
804
977
186
988
51
692
128
644
52
726
509
532
676
95
426
681
480
714
66
999
388
797
153
581
955
824
478
980
280
200
471
709
760
319
150
142
688
281
310
318
176
871
448
894
1
784
773
650
730
255
625
465
964
411
756
698
570
692
234
205
563
625
170
57
689
83
73
151
810
933
418
528
927
611
909
163
27
752
8
423
989
468
526
176
452
236
467
722
908
677
845
380
246
655
924
525
681
258
141
359
241
219
35
467
26
227
637
515
5
435
119
28
461
152
979
304
60
368
668
904
181
278
375
102
332
429
616
874
416
440
406
742
163
536
15
833
245
254
788
25
481
780
9
925
69
339
600
761
936
937
258
935
192
539
746
133
105
467
197
388
229
398
678
437
88
837
780
13
289
369
634
505
84
295
609
504
142
494
932
353
764
462
572
756
830
553
73
859
546
339
418
3
432
905
677
520
84
609
876
519
924
525
524
598
558
342
242
835
362
966
217
184
612
460
565
621
831
232
240
11
990
581
828
671
876
810
422
36
245
110
770
671
356
345
90
114
58
677
239
664
955
687
416
307
34
299
233
401
781
316
741
630
40
870
8
991
770
367
882
272
421
847
907
533
862
754
707
624
674
248
802
657
134
125
479
630
416
307
292
149
368
639
759
278
724
435
58
74
753
806
869
293
184
310
8
96
672
870
198
304
226
236
118
901
788
479
864
65
574
129
107
903
893
637
497
511
910
735
343
667
205
161
181
713
58
948
624
716
94
139
796
16
296
353
725
649
432
135
311
937
607
332
865
755
20
115
768
591
967
369
478
529
817
342
2
729
989
409
936
793
899
726
347
661
516
382
124
318
388
361
859
634
990
260
4
150
783
256
819
450
673
251
566
47
409
466
546
396
68
12
807
710
948
150
773
761
102
972
645
734
240
264
119
510
924
143
890
454
839
886
421
910
380
28
691
112
998
425
952
157
508
487
86
17
70
174
777
302
643
683
559
633
516
981
794
41
940
454
740
759
974
989
200
147
421
745
655
239
111
717
427
618
867
950
157
863
199
940
801
827
135
278
446
404
637
137
448
224
739
512
805
944
861
464
217
404
776
771
967
941
358
518
649
584
517
139
742
684
745
358
237
775
266
270
806
88
106
541
528
234
299
342
792
984
58
141
806
964
979
961
84
350
247
9
402
326
375
891
952
136
230
746
880
71
956
713
924
626
951
140
635
328
215
778
542
511
269
45
654
357
281
78
900
89
251
950
481
121
870
879
590
277
166
712
642
971
142
247
985
353
418
213
42
993
307
825
958
621
847
906
133
832
61
463
481
395
124
504
834
22
170
587
703
7
184
297
503
146
809
393
437
751
914
827
468
356
462
258
179
937
548
922
887
71
486
953
61
487
473
318
953
889
656
547
380
748
416
363
726
28
284
95
609
436
198
536
96
831
734
483
11
914
534
773
662
154
424
48
276
197
570
838
529
670
644
819
809
381
122
224
310
401
767
515
568
417
824
329
843
29
693
646
598
405
635
885
387
778
604
332
658
832
424
896
337
924
358
718
577
429
574
542
702
238
118
77
241
583
833
830
882
905
26
981
355
463
846
939
514
716
27
143
368
301
93
524
392
603
158
804
218
493
180
460
750
796
895
762
774
457
695
754
414
165
382
426
139
407
86
635
592
541
628
490
191
489
259
40
334
81
8
104
21
937
870
989
917
954
638
648
150
189
504
598
685
918
472
472
682
128
201
707
109
588
187
221
773
874
37
363
82
430
202
602
77
819
722
649
732
803
405
710
50
806
417
599
258
581
417
276
261
649
221
182
567
166
487
446
109
403
48
595
725
948
340
963
583
79
844
355
506
492
561
858
968
705
348
932
535
29
350
9
629
935
864
897
820
32
733
200
284
614
736
844
669
939
548
521
393
973
501
554
283
312
810
234
578
404
911
156
526
2
260
472
192
956
290
257
657
101
202
369
462
4
933
300
33
741
953
505
820
758
499
615
52
42
486
758
344
539
610
921
867
757
92
945
434
988
106
251
632
413
164
853
125
656
677
558
291
5
408
523
686
625
812
463
203
539
83
915
387
107
284
913
98
969
99
298
592
181
621
715
149
349
39
987
563
108
280
196
174
222
461
295
629
883
461
469
238
575
48
809
601
967
798
57
175
888
435
344
588
366
354
841
795
97
807
211
612
478
646
598
809
500
587
631
649
397
648
590
726
932
812
446
11
587
988
966
244
741
9
450
202
111
784
944
921
368
671
988
643
831
837
31
118
595
652
666
910
269
131
752
510
742
77
286
395
39
846
641
666
382
579
386
500
36
356
472
480
363
968
974
802
808
893
968
463
190
645
336
798
776
858
489
168
77
355
35
141
246
974
423
278
203
104
441
508
370
740
269
104
985
330
433
502
490
894
666
541
420
645
118
216
550
844
835
723
790
750
687
367
482
264
189
922
278
342
772
144
758
329
89
441
308
94
913
157
528
285
988
529
653
48
2
137
17
303
455
593
605
998
818
283
116
849
809
212
773
697
12
390
327
2
358
735
293
966
157
174
509
434
482
483
515
42
729
410
80
26
38
807
460
751
134
803
610
294
838
553
598
319
130
722
990
120
187
663
753
926
278
193
583
460
703
977
174
328
271
806
51
11
931
460
96
113
259
415
766
35
475
415
309
452
532
783
6
790
632
415
566
399
175
575
331
292
788
5
863
92
560
325
841
347
31
420
898
426
785
288
226
73
754
851
261
34
423
315
793
361
212
26
148
656
204
142
887
988
284
123
661
235
473
743
389
336
916
286
988
309
560
644
213
918
1
269
13
544
410
332
986
186
667
963
160
482
94
165
315
309
222
845
519
840
60
416
350
880
242
600
561
939
236
364
534
780
534
451
980
101
357
546
743
624
972
955
480
83
119
604
226
525
441
289
542
898
29
335
30
109
371
299
480
593
63
859
823
12
607
825
337
814
496
47
311
294
601
76
419
250
514
600
653
492
164
72
515
285
474
420
566
257
265
427
118
429
931
182
40
800
618
984
174
377
781
228
829
581
38
80
181
769
146
208
169
965
823
458
681
979
859
80
368
799
623
94
444
524
664
391
218
111
553
458
894
923
493
962
395
391
542
981
585
82
433
393
265
167
136
747
769
539
248
9
794
824
264
679
366
163
565
164
460
877
691
734
872
119
100
27
367
155
156
891
28
197
513
263
969
605
429
930
275
827
787
240
95
670
772
292
323
370
210
665
186
446
550
525
357
515
358
787
930
86
973
95
701
852
661
565
716
138
213
575
988
980
435
448
592
799
378
482
126
698
491
657
629
269
91
294
621
141
675
114
900
680
648
394
55
925
959
417
475
294
10
978
768
638
947
497
112
931
101
193
46
264
912
863
583
843
165
21
370
363
711
569
789
477
159
679
518
92
216
305
115
839
426
560
575
412
104
249
677
424
132
974
157
34
129
586
401
907
216
225
391
970
237
825
109
58
823
770
459
744
137
314
33
592
479
506
749
611
193
610
431
900
476
435
926
361
748
571
240
877
227
233
456
534
240
345
936
307
553
494
403
142
739
625
23
495
170
667
537
216
742
833
832
128
838
957
56
769
366
117
561
548
926
706
480
1000
284
312
717
910
379
25
502
832
24
248
397
927
315
703
869
101
500
71
82
154
759
649
574
991
869
444
873
28
233
400
917
542
110
800
330
117
201
459
243
308
896
16
359
275
611
475
390
511
665
179
814
678
5
554
171
256
971
307
731
936
957
197
422
653
496
205
395
739
812
653
421
915
327
822
629
749
971
699
736
779
372
762
23
688
207
113
798
822
10
857
984
840
753
366
746
503
364
921
831
408
151
306
351
19
783
106
311
450
90
832
64
307
419
484
255
338
744
865
502
763
993
761
272
954
318
92
895
530
135
266
668
81
821
289
334
415
887
600
14
688
278
225
830
784
251
612
39
74
884
412
516
8
889
563
771
75
841
238
531
294
335
657
106
793
854
235
375
986
338
313
233
548
530
513
814
664
190
821
573
21
172
624
607
624
173
295
193
781
706
374
623
572
454
42
824
664
717
366
145
617
84
770
958
710
853
265
403
885
919
249
658
610
65
94
657
352
618
347
31
869
436
42
358
708
50
571
540
153
579
576
201
352
739
503
559
512
842
876
118
847
211
791
879
454
823
854
513
396
345
581
58
50
904
276
286
211
104
527
818
562
823
768
449
814
250
791
899
273
505
715
390
632
909
661
47
483
643
324
70
458
109
689
70
890
771
377
726
607
633
500
133
795
809
435
862
854
818
647
708
855
335
518
591
480
163
182
876
323
51
526
617
21
849
814
890
3
195
931
421
533
537
814
176
356
887
493
443
472
67
59
209
483
641
36
312
513
907
850
925
923
535
540
428
889
479
411
608
493
777
77
442
86
716
207
416
610
656
363
444
974
462
478
986
813
116
930
889
707
589
625
775
438
435
211
598
973
932
362
81
646
762
32
338
426
416
754
908
284
484
304
827
383
979
557
108
250
671
916
185
116
158
490
469
357
85
111
138
325
456
340
681
876
492
860
539
621
844
44
352
224
263
999
988
101
23
143
498
510
500
158
613
344
291
249
194
885
190
741
315
424
154
423
293
910
100
490
14
746
19
608
406
401
425
386
713
820
597
512
561
446
416
919
422
275
877
580
217
570
476
994
244
714
785
960
556
239
467
990
171
231
880
599
241
160
208
738
402
683
721
863
50
106
417
452
218
38
746
338
67
185
569
861
723
390
799
683
368
801
416
85
10
462
645
710
356
734
161
3
531
695
102
54
191
59
515
148
745
237
652
104
974
857
135
389
334
434
638
73
628
935
169
930
528
630
412
360
632
991
915
380
366
384
51
590
56
955
814
928
916
422
504
988
550
447
269
888
772
898
276
973
234
561
40
127
370
824
21
116
644
441
191
156
934
714
656
868
182
350
829
896
87
811
849
684
724
180
133
393
446
446
15
451
331
631
391
999
736
386
158
370
222
495
61
787
234
243
193
660
446
766
67
223
587
269
600
764
928
526
841
366
315
134
529
920
809
819
829
109
531
509
711
266
258
963
465
234
706
536
805
856
185
11
848
305
498
526
22
238
530
327
600
661
977
451
154
494
46
463
657
30
769
79
376
879
768
815
974
543
945
826
413
451
571
751
383
149
681
654
957
351
520
180
94
723
15
602
440
609
911
756
574
366
228
784
516
637
199
181
797
677
667
926
888
786
228
319
98
23
55
789
314
636
443
65
126
57
584
47
935
885
4
191
627
23
351
452
265
3
991
612
49
605
927
386
470
38
110
790
208
351
126
106
793
218
585
226
501
927
253
282
238
239
159
252
407
728
400
659
886
399
385
577
262
628
581
911
439
956
618
292
545
858
765
40
869
358
407
298
168
317
96
883
287
249
190
357
505
803
862
570
376
383
482
225
149
965
5
16
27
853
975
581
632
965
235
763
27
267
230
693
605
140
32
784
905
772
886
48
206
181
97
45
323
75
556
384
612
589
59
940
597
845
848
848
6
435
472
907
236
147
168
223
457
696
416
818
595
806
257
438
444
679
247
979
14
836
610
822
11
302
305
807
52
337
218
798
796
269
611
534
688
496
315
983
426
380
881
503
581
601
38
899
1
518
386
909
789
193
185
746
673
79
469
37
512
768
505
958
549
852
764
364
773
665
177
484
405
635
428
77
106
29
426
6
954
94
923
857
648
15
424
560
656
639
161
6
227
597
937
250
301
346
51
248
316
650
360
26
868
170
766
782
971
195
85
732
381
998
257
431
110
943
378
872
759
290
838
959
749
540
175
804
905
338
878
888
55
153
499
333
509
408
906
404
333
302
391
885
305
286
680
173
316
64
565
742
790
1
22
169
352
64
183
32
608
734
460
816
373
878
449
433
124
200
995
57
749
763
927
804
900
2
530
159
387
837
784
195
73
743
764
350
697
123
351
936
871
907
607
613
282
86
715
783
758
783
416
221
466
570
233
302
937
945
593
845
30
273
169
970
215
68
359
318
754
148
866
686
450
88
748
386
648
393
140
656
83
982
122
26
969
906
799
855
486
691
759
168
396
359
502
527
116
944
315
901
971
288
336
427
716
15
208
488
682
826
834
764
41
677
227
786
773
5
318
47
864
864
924
893
183
737
771
302
234
836
568
99
692
895
661
355
235
830
741
495
662
123
367
142
733
502
853
794
467
274
176
263
840
657
142
213
997
628
983
213
93
40
943
501
825
270
152
28
589
218
304
430
920
283
196
279
553
812
214
346
9
652
207
629
80
601
31
596
956
10
219
411
53
268
879
937
763
643
911
939
455
811
87
233
73
371
352
493
575
883
958
36
270
225
683
206
851
586
423
886
544
48
943
290
317
476
385
398
551
423
445
328
925
825
793
487
503
568
376
564
197
375
762
291
824
92
564
432
967
131
272
650
723
763
569
739
195
954
263
192
308
678
542
253
88
964
164
391
89
471
504
616
21
36
170
154
998
477
996
813
995
908
803
775
285
968
263
645
618
652
569
355
891
878
392
906
849
557
757
986
186
649
97
240
996
666
681
319
163
96
57
870
701
506
916
322
459
438
3
652
900
767
334
315
818
888
959
180
9
961
980
624
864
442
330
883
804
319
94
425
278
768
754
325
748
458
841
618
770
339
896
164
749
576
525
801
438
199
605
490
586
201
362
695
379
11
128
471
497
763
100
584
681
282
271
546
654
507
41
609
144
906
727
600
533
517
262
6
344
425
960
833
394
869
86
602
913
645
343
290
385
190
117
169
141
510
463
244
986
130
365
458
263
367
777
897
789
523
285
995
48
37
43
113
864
268
767
979
551
308
197
119
175
173
385
854
142
770
607
406
809
304
449
391
172
123
878
270
990
608
671
369
897
356
637
704
124
808
480
170
515
443
961
607
357
870
307
895
435
445
398
497
393
533
375
800
138
172
727
209
554
693
795
175
242
790
910
269
321
651
34
952
641
22
894
903
842
489
38
670
828
840
194
895
157
111
567
589
753
786
437
743
108
696
552
67
858
322
286
826
197
605
510
504
118
850
422
538
852
991
326
462
229
303
516
588
871
648
950
772
294
441
358
936
1
862
818
719
613
254
568
68
913
274
29
637
460
116
577
553
54
49
604
500
945
586
794
114
108
840
352
323
325
989
127
651
65
344
167
482
385
191
310
926
128
450
787
264
746
194
682
878
950
257
331
237
219
459
360
755
942
486
156
273
557
89
982
545
632
42
839
299
233
285
440
393
319
758
330
123
98
696
281
965
514
588
581
896
31
574
704
977
899
762
204
62
955
880
323
333
790
678
954
866
817
720
130
584
359
555
84
753
409
771
329
666
80
101
885
247
135
583
962
127
156
740
951
135
89
911
516
287
904
137
977
40
62
453
919
58
345
70
133
717
331
660
621
362
481
899
321
650
359
498
669
368
994
159
866
790
748
317
958
992
369
44
436
503
81
205
85
385
666
807
247
74
502
497
482
345
432
338
858
338
145
306
753
879
495
445
89
279
790
242
385
353
633
599
884
672
346
697
268
961
335
183
161
104
29
360
699
446
173
485
942
951
345
836
784
292
496
981
331
154
253
522
430
848
451
662
122
861
100
141
343
80
561
427
101
282
217
573
704
916
356
824
340
328
264
869
469
389
785
631
31
867
708
607
435
33
402
82
657
690
33
981
536
244
574
728
566
502
557
257
12
555
180
216
230
539
955
505
400
39
552
505
753
621
868
741
508
299
652
286
421
748
196
878
805
739
702
626
352
547
948
134
903
93
778
109
540
170
761
780
53
395
94
984
846
464
444
386
834
871
966
103
739
506
173
954
455
446
695
658
837
818
188
575
357
820
861
989
544
863
110
521
33
334
758
988
345
641
249
900
235
73
967
857
541
473
498
276
13
910
299
257
500
303
696
907
240
463
597
97
697
100
561
473
569
150
146
497
123
191
559
463
979
821
656
693
832
612
326
601
350
660
83
895
708
805
503
959
737
321
757
380
729
239
93
651
267
496
565
324
295
795
713
256
840
387
169
162
401
997
350
361
54
772
517
478
738
410
476
869
37
639
97
701
985
799
654
963
101
578
723
130
871
879
978
886
405
400
792
56
796
729
969
905
49
691
288
994
61
217
803
131
268
244
997
300
16
1
953
70
663
594
685
702
663
957
646
61
638
102
222
488
532
92
712
984
469
294
886
404
865
306
723
901
680
418
350
498
419
548
503
502
661
432
71
465
432
232
398
521
687
852
81
227
561
969
901
496
781
210
422
792
836
967
510
546
83
36
699
657
929
665
916
21
664
604
502
261
295
446
908
211
943
881
680
279
987
497
574
473
156
388
707
761
187
167
699
447
529
937
625
386
760
383
447
236
99
448
308
361
379
976
696
710
351
297
29
723
31
986
650
317
90
912
574
74
934
281
575
49
244
561
383
4
194
77
787
467
501
563
472
744
724
186
241
907
968
342
102
792
247
73
354
293
278
69
455
551
427
59
899
167
820
827
792
242
425
251
108
859
6
504
831
612
432
21
332
928
775
892
346
205
988
137
880
269
737
670
208
217
125
856
889
531
641
260
371
203
645
574
356
747
100
726
530
161
77
860
676
311
734
216
449
754
123
960
311
701
172
612
189
697
627
100
456
595
575
373
729
573
389
167
797
271
618
774
719
603
355
612
755
436
100
982
350
131
2
636
793
876
607
696
578
858
952
17
680
584
903
300
199
75
125
140
809
238
988
725
503
436
986
66
934
198
979
506
499
17
670
734
948
401
249
701
955
708
60
609
548
797
506
668
729
180
94
374
925
237
729
884
142
965
869
490
814
939
135
262
375
412
336
710
544
939
615
691
126
542
641
871
928
158
301
737
18
62
401
561
129
4
199
722
506
70
486
477
840
619
57
637
246
217
86
564
417
202
905
593
195
332
132
269
807
22
923
770
905
807
355
491
400
36
591
71
767
232
554
46
158
245
261
931
180
70
851
755
636
188
616
5
893
381
4
464
766
220
660
670
5
876
62
583
505
456
180
565
357
797
929
991
722
550
853
618
311
426
622
363
928
673
426
271
152
212
287
281
719
365
639
857
598
803
264
677
43
125
821
335
162
500
758
477
647
916
338
846
349
893
914
496
337
946
305
793
926
713
347
937
888
404
258
397
766
163
430
65
738
9
698
947
978
235
885
891
821
553
681
196
345
811
486
953
155
802
894
601
275
540
918
515
38
417
874
384
780
773
99
782
986
791
314
600
206
77
502
941
757
927
614
682
702
91
302
136
79
778
126
170
681
754
377
685
955
673
736
570
742
154
466
139
646
736
745
562
805
549
52
3
699
433
198
12
438
292
752
212
640
646
95
488
629
720
272
677
184
927
168
241
465
239
228
508
85
807
137
867
491
145
385
719
983
324
629
86
700
956
112
520
866
150
181
369
430
255
104
509
2
974
5
353
619
325
673
363
472
26
448
257
189
101
160
849
640
889
303
757
525
193
265
237
202
995
421
30
297
18
352
455
657
452
279
907
111
292
19
561
322
91
449
371
732
414
495
364
252
877
121
833
852
512
664
286
681
87
132
896
669
161
753
774
843
892
151
579
730
49
6
880
289
239
969
193
809
112
876
803
60
176
50
331
789
904
547
497
341
23
781
678
788
220
829
680
438
20
96
605
28
252
740
808
211
360
395
739
170
777
308
862
322
738
932
984
119
175
406
22
894
827
109
685
523
264
666
568
478
309
340
904
463
255
778
574
406
362
416
1
73
314
716
250
914
758
547
994
70
531
701
991
646
945
504
392
445
289
943
484
397
780
542
463
784
322
472
437
210
785
22
141
983
971
601
785
192
97
917
40
323
409
825
427
664
479
619
258
152
863
209
853
500
56
728
964
668
84
561
223
776
667
749
934
526
609
943
741
98
964
870
528
273
560
322
403
199
677
247
794
847
21
414
450
700
662
478
666
611
246
10
108
118
653
178
455
685
225
353
450
511
838
846
100
550
383
351
459
350
675
445
878
159
415
682
626
498
577
361
532
63
546
101
658
402
366
682
27
256
722
479
148
860
648
962
388
770
507
401
258
985
485
902
326
221
701
345
776
214
34
617
613
814
962
773
113
490
16
423
413
540
926
657
75
977
196
316
18
560
624
260
499
912
234
562
706
994
195
219
71
468
576
90
674
637
173
216
921
739
268
597
255
302
861
812
823
204
839
547
864
809
574
230
80
294
650
498
407
843
760
131
425
913
354
420
76
172
262
707
529
37
352
933
767
963
266
619
934
749
411
649
556
190
677
587
503
321
809
34
957
361
954
699
721
216
680
469
905
63
679
707
416
106
433
441
682
57
370
897
750
295
403
27
232
919
313
308
544
129
117
113
589
446
428
360
284
287
830
11
353
348
446
195
379
37
220
407
437
928
907
270
512
852
388
807
544
764
759
26
158
967
552
925
59
625
569
650
607
764
93
665
345
97
615
263
71
91
833
640
624
678
389
67
707
868
697
396
912
317
272
252
641
615
154
776
712
628
396
728
321
744
75
79
424
296
978
958
784
737
916
972
674
373
629
472
666
582
349
293
32
495
417
839
41
58
763
207
804
217
705
157
421
760
251
365
875
988
24
368
489
953
2
1
805
489
506
936
416
632
225
144
627
314
657
697
823
400
10
374
63
256
467
935
739
19
765
784
110
662
145
968
120
763
128
91
212
611
992
821
775
913
494
58
453
893
182
762
774
34
552
662
510
41
470
767
668
879
481
680
295
886
98
205
109
34
698
619
509
387
416
309
704
679
294
160
554
722
990
207
168
64
568
561
527
873
216
599
134
582
290
665
230
198
710
347
176
522
596
469
423
728
990
553
903
903
653
408
769
173
226
911
178
970
491
789
172
883
68
394
822
234
655
54
478
244
837
565
360
162
555
785
737
253
577
83
658
885
671
644
484
260
759
177
533
528
3
661
749
105
643
159
649
38
417
546
750
162
570
280
308
614
765
959
480
997
709
456
947
103
943
911
639
657
20
690
433
981
272
714
623
809
460
228
487
777
846
165
529
225
699
752
814
57
742
889
370
354
864
161
780
323
239
8
979
958
80
743
709
454
441
576
289
67
832
783
136
541
942
440
950
726
413
917
599
233
441
467
506
281
980
770
803
957
427
302
566
187
988
694
233
629
365
91
687
582
16
640
548
712
987
840
936
113
263
487
350
739
618
330
315
748
229
348
145
665
654
785
525
565
350
687
579
658
607
691
774
766
604
272
303
194
347
459
571
383
370
280
9
575
449
858
735
437
38
97
514
215
768
388
57
522
165
616
939
333
670
13
336
60
174
89
329
896
524
951
734
714
880
819
304
933
388
419
668
695
355
266
553
588
1000
535
690
958
905
343
275
509
490
780
60
513
179
967
879
459
458
716
976
354
677
169
538
246
289
867
664
729
176
304
431
335
885
958
781
755
851
158
740
768
176
915
847
606
97
25
751
245
75
331
654
762
334
29
625
476
761
288
870
60
312
258
694
182
445
751
279
543
675
502
332
342
997
917
383
327
825
655
765
561
96
236
306
991
328
71
377
665
792
1000
215
225
406
432
366
890
610
685
722
710
271
929
809
279
620
481
957
494
325
800
485
146
83
671
284
330
493
534
38
723
604
794
859
721
212
290
295
357
900
764
494
665
841
322
846
862
604
374
522
337
520
479
193
897
743
858
633
188
732
62
69
474
776
440
884
211
108
603
752
977
345
36
335
352
227
359
453
281
135
551
21
314
437
570
111
855
477
436
222
233
971
797
190
951
600
426
233
972
871
862
281
246
671
652
87
12
492
230
628
548
19
534
947
194
605
837
880
437
187
144
122
782
369
717
660
940
701
959
905
594
693
923
796
618
717
175
706
195
756
600
277
669
917
27
166
379
700
207
275
912
323
761
236
434
777
229
815
772
901
211
398
933
458
915
930
614
119
143
514
23
278
829
365
61
836
795
981
477
441
296
186
138
186
284
181
963
445
12
858
366
329
817
401
308
255
390
636
173
233
873
704
705
788
435
336
223
871
779
451
131
734
196
839
540
483
366
416
452
980
102
888
529
790
622
732
955
155
731
31
263
314
525
97
295
70
809
770
651
190
475
955
93
67
492
269
343
123
1
622
680
552
237
192
493
377
675
540
723
228
801
499
738
940
410
142
708
799
184
293
13
275
551
17
548
160
551
46
54
273
456
332
765
358
447
779
712
333
482
736
26
815
847
37
440
693
549
177
985
616
847
743
563
413
722
364
690
855
41
244
192
659
460
814
45
321
894
164
907
172
496
695
45
45
656
855
560
80
484
928
797
469
608
574
809
432
868
251
549
263
715
671
269
115
633
194
221
57
966
408
359
36
871
192
177
613
955
225
241
714
337
269
220
193
514
525
440
693
414
22
63
163
439
335
24
391
174
842
742
78
611
404
450
313
454
597
731
791
67
576
436
742
117
224
736
341
818
524
483
327
942
934
403
643
469
176
903
197
796
1000
441
249
936
409
463
500
33
320
887
707
811
848
16
515
285
222
504
270
188
855
734
727
71
220
553
998
978
33
789
511
908
661
429
502
42
833
619
320
838
495
888
859
661
87
124
524
560
603
867
471
180
565
418
285
577
406
131
874
838
872
986
127
52
701
226
785
116
276
378
82
282
933
494
891
143
295
782
568
976
372
120
156
951
127
112
381
761
882
463
666
643
255
449
458
586
254
151
281
776
813
977
297
962
306
682
610
492
528
748
187
200
204
518
89
223
350
912
624
77
715
914
160
994
69
265
588
620
350
962
854
654
528
228
545
906
595
595
256
554
246
622
335
80
699
541
666
501
543
856
341
1
720
458
433
23
496
387
576
199
787
740
767
245
305
558
584
69
777
745
26
940
909
202
310
466
887
407
253
540
923
588
316
152
776
503
992
169
237
610
1
739
265
29
636
990
860
309
719
78
774
458
840
428
828
92
927
262
983
833
768
58
275
278
776
668
393
971
177
214
988
810
771
709
764
224
635
626
28
274
413
234
639
579
366
621
263
558
949
738
393
50
509
702
869
794
637
824
529
618
801
554
159
420
172
571
178
206
961
767
301
498
155
756
3
422
288
841
771
634
758
90
964
63
244
267
616
119
987
906
658
613
48
731
854
162
168
957
188
233
535
752
611
319
568
277
764
966
825
293
806
475
289
249
496
165
541
158
478
17
829
332
90
361
617
210
88
31
955
111
399
75
966
732
369
660
781
595
32
310
507
461
565
972
201
939
491
702
348
108
136
959
69
26
534
578
121
408
267
524
763
568
713
405
753
14
751
578
36
665
319
371
189
765
90
600
306
991
162
82
832
143
895
284
755
40
916
618
726
972
906
121
905
92
965
432
748
648
231
51
560
850
984
832
325
460
614
529
246
899
686
38
457
799
845
623
565
421
449
47
55
307
606
20
83
858
799
792
862
271
370
30
670
418
925
347
488
796
163
977
419
628
706
144
320
586
278
568
550
341
950
467
325
356
276
115
936
889
801
687
22
195
853
727
145
285
518
987
142
415
398
823
155
678
93
574
732
705
341
587
121
464
406
596
748
626
609
228
843
739
875
268
383
751
771
160
837
17
813
945
658
8
721
455
146
393
944
119
51
14
955
197
286
569
789
586
176
467
801
594
975
429
875
277
779
879
163
949
535
74
975
480
591
218
621
882
118
515
841
442
770
243
971
383
144
421
130
603
993
601
531
585
598
628
486
933
439
965
794
358
81
309
977
121
194
790
269
89
763
1
353
601
840
460
583
261
621
896
831
653
265
900
180
699
622
93
353
68
939
938
202
590
733
714
542
116
192
981
373
644
911
78
795
802
264
788
987
6
459
352
233
653
134
415
304
788
404
350
460
519
412
606
972
330
778
415
336
135
805
205
273
552
959
553
228
420
922
369
296
13
458
247
435
760
461
653
362
539
802
628
758
762
8
249
283
541
400
925
407
216
10
942
288
366
549
376
716
255
659
580
699
321
963
20
362
944
725
106
686
208
472
46
52
800
599
459
686
504
789
634
884
967
73
892
318
539
492
443
833
48
614
501
871
280
603
201
78
814
165
28
706
596
424
47
123
302
737
232
147
117
511
561
912
17
309
373
692
32
946
663
414
243
805
629
636
469
282
796
361
694
180
468
423
289
822
80
112
992
866
306
325
434
119
349
851
715
109
979
265
172
845
261
564
2
964
843
877
868
418
899
510
947
972
541
135
132
36
539
149
283
775
756
118
463
16
514
713
81
208
482
768
755
570
344
908
461
616
622
699
273
429
569
425
548
438
962
404
962
944
944
232
167
309
833
439
207
573
938
857
6
206
985
405
407
883
705
100
253
415
509
836
968
478
950
911
917
324
824
291
592
483
375
361
352
326
51
260
960
489
621
932
702
340
325
706
186
97
884
577
260
726
830
318
643
457
646
256
983
612
621
816
43
451
162
910
651
906
535
895
851
411
673
68
401
501
727
619
441
508
481
562
632
457
654
376
563
229
338
45
520
171
535
694
18
561
813
265
619
807
606
535
635
791
568
318
309
507
707
865
919
69
711
322
51
143
14
608
985
118
662
223
713
648
956
300
645
737
203
699
439
176
625
36
740
6
633
353
801
625
226
531
118
318
215
668
238
282
371
388
832
644
326
419
992
619
264
897
447
673
5
503
61
503
81
955
560
720
801
401
876
336
91
923
898
553
121
718
718
911
330
526
605
518
487
510
100
981
860
109
582
630
379
368
591
833
936
835
999
500
605
442
853
363
613
663
335
260
354
891
837
444
605
184
558
877
366
439
420
597
437
643
320
489
902
10
928
221
212
743
265
675
428
648
325
934
505
38
826
791
192
173
19
757
235
28
115
775
129
282
553
192
518
264
777
53
757
56
650
444
832
53
914
457
994
78
356
309
39
597
449
288
77
613
279
514
54
651
537
921
2
565
141
502
224
19
892
598
164
170
152
952
715
485
142
303
125
619
935
546
446
2
565
863
679
83
992
757
398
223
842
672
645
834
942
664
312
709
665
676
65
432
36
84
110
391
332
525
728
178
671
525
574
125
680
19
198
281
896
734
79
409
976
265
776
467
155
864
444
614
633
167
61
972
748
520
195
290
848
162
47
125
747
213
788
398
546
336
931
987
364
986
598
529
231
315
42
750
998
235
725
466
603
577
594
846
464
993
910
654
75
88
162
985
120
191
121
409
522
389
74
567
910
675
609
966
910
547
138
184
529
999
473
675
636
594
383
167
227
245
52
945
717
377
730
381
970
421
685
756
177
930
789
726
956
175
638
833
253
790
186
60
724
861
251
798
274
891
108
487
340
234
616
899
339
922
987
226
400
268
317
138
148
310
509
519
842
895
45
876
600
214
349
275
802
662
147
265
25
171
344
424
997
595
386
68
162
292
996
167
387
768
484
710
246
162
498
598
90
370
246
643
812
820
709
397
798
266
299
355
92
474
749
542
175
345
770
597
106
853
138
271
983
151
440
678
812
324
663
723
916
590
171
891
941
177
387
982
392
711
674
415
358
730
493
484
770
843
902
269
83
129
866
979
762
611
624
152
327
15
610
513
994
586
985
248
149
417
914
147
980
601
98
339
613
555
945
349
987
997
971
786
545
416
695
285
526
325
318
238
262
263
957
453
466
258
54
124
873
466
855
380
3
755
534
285
37
309
611
322
972
724
821
306
274
646
457
189
247
726
546
391
190
582
891
150
208
464
157
872
249
542
681
614
519
99
608
656
935
392
314
554
707
655
785
229
425
504
793
385
276
22
232
16
140
901
979
834
340
348
956
198
779
888
888
538
30
815
389
317
712
802
628
295
144
93
781
235
825
789
898
201
786
966
599
309
203
734
227
116
991
926
710
828
250
762
373
171
558
734
419
73
110
931
568
269
590
224
650
569
513
30
526
798
477
877
825
364
392
615
391
992
311
919
238
409
901
681
55
672
968
981
988
391
687
620
521
307
351
575
747
576
535
351
229
605
523
912
945
515
742
767
533
97
730
834
142
680
844
903
745
416
544
874
664
374
547
460
428
226
614
718
783
487
987
583
857
17
775
585
5
938
674
36
834
213
478
298
266
876
736
173
270
303
814
65
73
984
326
343
224
959
589
230
914
460
312
629
308
335
208
536
466
501
595
62
653
20
340
643
413
394
689
708
846
332
627
938
923
518
419
265
519
934
894
904
85
857
840
80
520
958
624
556
856
859
757
710
836
101
676
735
315
702
450
437
697
413
476
257
287
326
463
377
534
707
191
202
617
791
584
78
722
825
602
852
673
804
366
743
275
202
676
60
845
499
811
492
929
439
74
55
127
792
68
288
285
836
80
966
50
902
284
428
928
111
696
572
539
865
934
751
717
732
880
56
482
128
282
946
653
600
179
786
77
552
801
614
18
19
230
378
234
400
701
967
688
164
887
573
604
154
888
328
827
516
937
697
31
238
10
802
355
953
670
716
468
971
415
782
891
465
771
161
668
349
160
175
80
703
282
443
200
469
426
499
495
808
615
325
585
691
948
232
520
236
871
572
605
864
328
82
915
531
930
45
93
203
345
40
963
255
65
771
742
637
623
392
394
538
70
733
742
727
272
68
501
941
127
433
301
472
360
967
130
598
918
471
332
591
342
170
467
852
700
665
880
118
788
174
793
821
355
497
72
376
51
540
645
623
630
882
649
683
713
607
48
203
68
547
381
355
933
164
747
969
374
527
910
848
70
218
614
709
182
562
832
114
167
264
662
477
490
395
55
509
197
689
330
416
227
261
747
836
143
218
975
720
704
72
416
344
315
537
745
199
937
73
929
778
484
484
251
148
67
991
513
807
719
468
727
474
385
936
44
408
28
995
592
300
685
595
185
47
172
456
594
488
941
458
143
728
263
559
965
802
540
123
135
253
10
71
260
658
571
939
832
267
724
736
798
675
888
497
350
924
450
541
903
472
963
760
585
254
838
705
342
440
737
831
930
566
608
49
656
423
986
636
703
465
738
626
307
526
914
51
801
316
723
776
807
510
983
224
416
242
527
980
268
472
206
128
831
984
88
175
34
778
393
605
629
198
496
408
337
442
91
425
834
35
189
989
142
420
206
124
815
82
807
527
607
527
543
654
974
983
546
500
838
918
752
91
549
339
130
247
863
360
426
952
57
716
772
528
6
742
321
852
191
829
732
62
68
524
965
565
224
252
327
654
21
100
112
715
210
229
530
844
111
262
805
650
538
412
486
191
567
236
19
247
652
615
597
612
330
990
140
684
959
921
10
394
483
777
745
430
258
709
630
801
304
111
442
994
218
444
32
399
125
640
750
180
718
312
865
507
412
625
255
892
91
29
637
411
750
976
533
732
579
406
960
234
662
48
581
933
554
500
661
623
419
676
740
386
289
439
329
617
294
123
346
777
350
250
194
377
915
925
610
116
892
273
434
640
647
835
445
166
430
984
281
63
188
303
251
546
861
326
534
842
795
233
873
525
810
867
346
252
815
940
246
784
585
372
395
7
460
542
436
657
305
614
808
575
981
222
96
623
989
526
447
850
687
84
544
71
668
995
415
831
474
547
987
605
809
909
910
182
791
495
587
409
619
271
777
844
214
631
399
444
5
474
371
70
73
748
391
492
271
55
612
547
782
867
40
320
820
525
316
483
811
467
258
482
447
96
195
815
484
232
612
529
985
397
122
927
8
57
92
650
396
496
519
526
429
246
914
2
567
826
8
566
424
118
93
266
400
842
654
368
124
482
772
182
963
480
440
333
368
673
552
93
778
772
823
883
94
129
305
766
534
176
490
534
762
690
213
1
780
468
678
244
15
101
18
815
394
271
663
427
976
405
724
195
886
563
291
278
876
198
234
720
831
726
664
307
931
948
670
547
984
992
338
222
647
825
352
538
878
348
643
563
971
771
685
554
956
249
7
719
980
747
438
182
534
706
376
234
9
372
148
402
153
588
102
549
423
413
651
988
117
225
918
550
433
825
962
640
264
634
854
607
651
312
2
131
277
956
208
957
294
603
911
978
82
934
946
609
225
899
934
415
137
517
128
140
252
215
106
685
659
920
239
45
360
553
251
919
93
717
525
524
800
130
5
116
367
811
708
860
221
101
867
12
749
349
685
770
252
508
519
833
338
929
82
387
235
382
888
226
503
664
767
757
5
234
704
860
813
952
695
3
923
370
533
499
270
18
692
549
564
750
527
534
875
580
42
39
750
343
378
272
858
194
992
860
845
186
218
478
85
140
540
412
498
602
441
958
483
904
113
497
243
292
706
188
502
608
2
510
656
244
589
270
930
960
674
293
967
679
635
728
611
558
309
808
329
485
789
914
859
630
190
35
149
848
459
44
632
542
799
719
169
33
678
140
753
659
742
874
220
530
126
384
736
386
854
191
823
12
978
666
18
475
113
726
59
820
838
341
644
925
204
538
401
934
230
459
714
66
875
156
406
618
395
2
127
650
424
11
468
228
373
877
446
35
939
260
47
862
622
709
904
792
156
604
47
818
645
679
890
325
51
29
274
75
377
943
424
322
519
600
149
243
318
398
463
131
761
698
102
697
641
810
51
388
243
360
318
842
773
576
645
478
334
594
770
732
190
645
143
666
996
842
701
480
396
359
436
976
127
959
1000
185
350
234
519
147
430
366
128
324
809
962
467
257
921
273
533
809
333
139
831
840
426
109
723
182
942
494
247
580
707
558
429
642
657
647
318
911
48
846
525
873
423
645
60
117
436
173
642
858
141
823
468
741
703
428
636
169
809
734
6
414
217
597
358
405
995
184
63
409
15
491
380
769
150
632
684
524
476
700
611
956
479
481
124
107
895
914
991
840
377
30
21
321
580
4
661
651
651
97
251
974
328
509
315
596
31
591
747
489
401
427
642
146
696
555
855
863
357
447
32
432
817
443
10
680
353
23
987
461
337
647
788
523
786
930
896
116
496
558
643
357
378
203
113
130
825
665
863
721
80
594
502
518
604
474
568
810
391
951
884
145
18
254
772
776
977
155
61
405
506
894
847
841
681
521
335
213
33
376
898
30
305
791
706
770
280
645
883
637
769
129
172
800
987
887
518
733
507
760
808
229
936
495
255
307
226
130
541
492
318
226
907
870
374
764
817
956
464
339
704
604
947
182
562
135
188
716
833
394
483
544
125
675
217
247
769
314
374
902
138
301
465
987
944
405
840
213
440
201
120
874
553
831
192
506
529
533
794
1
553
737
240
836
184
32
221
736
147
398
967
942
201
904
243
196
318
482
820
734
415
490
64
844
193
528
248
8
436
372
32
242
313
938
330
42
763
918
401
208
88
105
626
957
222
435
852
915
998
476
604
994
885
421
731
697
342
652
251
96
904
590
255
574
579
845
745
450
942
663
175
772
571
283
297
867
109
91
631
761
268
390
511
163
597
212
183
570
642
824
900
920
436
505
270
409
928
705
407
281
30
937
569
862
454
615
39
671
426
576
1
168
628
206
994
589
470
955
379
370
873
486
880
856
286
879
914
337
573
133
893
989
753
631
98
944
306
405
74
560
898
790
669
915
947
480
1000
720
396
123
679
110
418
312
521
250
585
239
877
266
141
340
416
814
688
986
910
474
502
615
77
282
154
777
75
892
871
193
572
289
306
320
613
491
980
873
728
406
708
440
776
823
705
603
65
584
946
972
171
104
564
149
720
755
725
911
98
121
470
851
707
733
477
290
892
734
548
543
141
824
904
488
485
994
61
990
275
769
111
922
702
144
752
394
469
934
289
344
1000
26
144
828
465
876
93
173
670
662
610
665
562
691
157
601
707
22
252
334
566
777
418
407
867
266
901
1000
625
923
173
693
629
959
777
972
322
852
53
4
56
37
624
957
617
618
320
533
797
556
354
458
522
510
193
367
713
467
519
920
621
340
95
987
869
960
142
447
779
282
29
475
880
139
730
179
677
634
478
136
843
39
498
644
25
165
535
493
354
269
119
696
562
930
164
856
341
790
548
837
215
701
780
933
702
602
716
38
31
419
574
181
986
361
150
362
731
288
252
857
612
186
819
993
20
431
125
978
351
190
751
491
998
237
709
642
76
495
236
355
298
796
280
421
998
749
642
241
806
69
44
787
902
426
174
390
81
689
859
764
92
410
103
122
838
536
673
280
62
653
272
472
102
473
122
915
106
916
946
292
906
901
939
4
371
850
275
407
636
19
126
309
95
973
953
658
395
937
41
703
993
268
855
915
988
27
846
588
67
453
705
384
409
178
976
996
287
184
82
801
927
822
566
577
924
703
308
339
135
901
6
941
481
711
27
302
591
149
45
56
494
480
513
963
897
348
140
651
675
470
22
98
337
448
945
846
135
988
729
64
436
688
143
458
684
625
57
511
55
127
32
685
433
535
437
34
883
215
550
135
204
782
824
376
438
311
650
405
469
303
488
995
946
284
219
657
817
251
908
84
704
591
957
916
182
725
804
374
799
489
888
25
325
175
615
306
284
253
438
487
303
984
970
398
187
574
255
632
917
15
954
892
958
499
183
827
375
119
221
15
224
588
86
685
663
902
255
438
955
158
434
470
354
245
326
748
414
773
830
175
851
358
942
44
504
377
906
955
298
392
859
963
366
694
263
898
647
867
934
732
349
815
374
315
626
448
378
74
721
103
645
30
586
823
212
50
714
808
30
359
472
723
980
170
790
48
904
747
405
332
8
350
229
36
108
260
611
624
771
561
394
714
332
400
695
384
160
233
313
172
285
940
474
941
712
762
408
507
303
741
896
880
92
688
513
18
341
760
740
248
376
394
522
870
512
698
120
31
955
386
300
634
601
6
13
918
84
511
701
344
236
199
302
616
400
666
823
954
635
682
80
251
946
860
852
365
107
555
190
603
505
687
117
386
734
95
254
215
297
558
206
298
908
879
663
633
338
261
274
905
653
748
290
299
16
698
894
210
896
73
881
870
672
858
65
132
129
34
396
981
256
385
246
880
128
855
767
713
341
293
522
905
657
224
815
308
56
691
279
553
327
334
325
869
739
578
977
831
50
263
496
92
351
43
911
921
749
649
284
290
967
463
56
334
256
864
342
216
878
524
365
857
579
147
578
480
123
142
134
684
951
401
543
554
479
621
292
374
349
614
157
654
236
639
741
525
402
105
494
6
288
875
94
329
866
60
630
269
345
373
433
376
94
61
784
143
327
974
958
368
169
557
239
413
223
392
613
635
635
504
785
971
985
766
95
596
999
614
669
563
243
785
812
561
424
919
300
301
899
694
689
507
295
624
182
198
895
778
925
752
587
437
818
240
722
163
47
630
199
843
592
785
439
991
910
604
691
33
830
285
294
331
462
427
94
430
569
620
208
383
436
265
720
33
739
545
702
823
281
925
150
35
769
39
53
366
993
571
822
408
847
560
735
874
676
589
897
436
309
484
439
600
959
477
329
377
928
245
236
395
634
926
314
731
57
942
672
958
121
467
543
812
881
443
847
468
636
338
937
579
270
241
786
171
156
466
790
941
961
592
646
764
562
705
489
987
57
707
563
648
566
725
250
849
99
3
185
389
286
205
528
156
170
696
203
970
577
205
50
286
801
255
415
654
492
884
617
872
636
474
138
562
482
945
132
271
126
201
12
272
188
452
506
950
711
972
492
41
957
920
382
999
252
88
593
477
430
820
845
227
680
897
676
734
821
885
543
547
120
291
329
577
754
880
907
609
969
711
645
883
761
709
379
885
660
154
451
425
815
21
835
666
113
972
281
13
508
699
625
681
101
460
151
320
730
880
908
280
32
536
434
987
976
405
199
413
862
992
381
829
631
833
323
839
158
125
101
228
854
425
179
280
523
729
38
42
924
731
5
487
885
758
252
622
156
688
64
408
384
139
54
748
756
360
928
925
850
542
797
595
228
728
787
868
99
95
871
35
188
156
456
258
552
334
204
869
713
452
9
987
896
900
819
823
574
643
212
398
797
754
253
385
974
885
182
459
879
927
881
814
651
122
955
511
480
76
446
912
467
418
875
762
909
370
359
375
831
88
989
24
195
467
547
827
583
28
876
370
571
611
928
842
202
892
577
677
178
106
780
569
435
1000
559
272
723
701
592
753
738
139
888
122
88
648
163
273
110
629
26
287
121
449
28
502
214
324
954
585
106
568
490
79
875
416
511
682
634
629
827
930
330
209
156
64
884
856
458
612
841
245
560
589
535
799
133
323
536
430
716
590
810
584
436
143
583
55
478
724
378
236
167
357
74
855
724
32
116
827
381
925
217
500
546
909
955
475
158
451
716
169
171
953
312
460
394
204
435
91
506
888
834
977
159
58
721
204
513
23
454
304
432
402
997
332
818
954
983
391
261
374
486
505
243
471
745
148
646
985
180
344
183
865
973
949
701
979
416
632
995
103
968
124
884
498
681
476
842
572
260
456
367
897
493
706
654
356
246
952
822
279
485
401
137
239
58
409
194
588
55
687
1
913
642
547
248
348
179
206
845
70
285
719
954
363
281
896
360
365
86
486
990
977
232
971
784
432
97
549
945
723
886
269
783
424
136
842
986
427
728
327
183
781
498
768
72
127
520
857
236
184
66
881
998
365
56
510
326
892
540
512
821
688
374
57
321
939
797
118
477
459
60
406
963
881
598
369
630
283
493
83
7
50
147
245
62
648
143
75
995
538
230
664
152
606
299
182
884
354
925
410
236
582
826
271
918
456
122
369
917
633
819
77
438
638
344
371
611
747
272
445
552
455
605
118
884
16
118
158
840
654
282
6
377
757
258
744
524
820
268
837
387
912
442
907
765
187
860
692
375
328
111
484
34
829
144
497
982
721
569
58
716
676
860
38
331
427
95
631
378
84
976
460
681
265
860
5
381
883
474
494
725
92
760
752
751
147
72
962
85
885
528
937
502
112
885
309
808
433
746
965
815
970
243
189
910
965
605
220
769
484
179
368
266
308
543
374
534
634
309
479
408
385
117
513
221
758
90
377
20
171
712
490
785
882
707
133
182
393
974
122
688
205
73
923
679
602
56
149
230
951
667
340
896
410
57
94
728
29
219
891
136
5
256
405
969
219
471
710
379
255
16
548
607
845
491
743
806
992
457
921
449
131
303
932
626
304
277
749
777
703
796
170
9
929
318
349
156
947
171
35
187
61
755
410
391
167
396
592
999
173
12
187
564
774
419
762
461
671
770
743
326
936
134
39
136
474
687
643
865
413
313
569
373
845
678
742
233
530
16
876
703
56
887
965
956
493
214
722
954
721
701
207
99
510
599
910
872
875
421
779
212
416
836
17
314
142
466
5
839
765
733
347
303
551
197
904
511
599
78
613
502
867
758
69
396
339
121
118
901
478
512
159
39
519
946
470
775
207
969
637
866
311
218
67
210
606
294
655
366
51
49
913
747
578
765
227
148
227
960
501
949
402
807
83
282
621
188
799
939
494
447
854
602
586
823
607
204
488
312
480
911
644
511
801
229
472
535
980
235
870
716
231
750
450
180
991
592
774
770
306
684
375
44
706
904
627
211
515
28
327
966
117
28
450
142
425
295
670
978
702
38
111
593
905
262
273
944
950
209
246
142
616
108
119
523
373
379
962
254
17
221
896
589
896
597
516
115
423
243
391
454
768
249
446
911
870
131
775
526
392
87
845
815
823
313
108
245
720
824
743
162
978
218
648
431
102
236
801
553
693
735
802
385
733
937
780
869
809
411
781
385
108
259
482
443
884
432
317
405
100
903
126
875
107
682
6
199
588
301
371
221
414
442
117
107
760
851
428
557
575
527
944
179
482
466
987
145
269
904
36
506
401
90
901
700
421
102
894
857
644
133
840
483
318
954
945
976
291
983
373
219
272
491
906
182
985
24
182
78
850
6
844
100
353
847
371
198
946
629
525
662
105
556
65
498
208
930
887
730
979
374
771
769
590
366
712
961
910
950
194
267
53
628
828
760
78
62
483
322
680
171
439
463
720
622
86
674
729
500
390
90
865
178
704
546
386
988
467
285
364
331
24
675
249
305
65
317
889
732
205
804
799
730
788
246
764
608
317
364
390
921
839
617
799
971
186
336
519
924
253
301
506
947
361
534
402
492
338
342
346
899
161
797
114
994
871
924
903
267
994
819
833
480
909
821
125
307
418
627
932
694
284
950
37
145
657
915
963
96
114
873
555
832
506
754
783
180
920
382
306
319
859
388
355
645
165
517
600
530
293
126
984
232
319
638
939
958
435
557
16
249
767
401
721
466
59
576
264
119
138
773
15
204
111
966
677
473
907
429
575
833
150
520
35
606
327
150
464
479
866
937
675
343
49
98
948
81
679
990
525
607
986
62
554
73
594
698
964
258
272
47
423
570
779
490
277
982
393
825
373
483
576
603
726
301
818
302
294
241
902
195
505
984
714
816
793
42
238
925
100
436
580
738
211
811
677
973
820
839
881
973
426
298
723
741
526
111
7
244
70
978
813
744
817
983
152
252
67
683
755
388
201
742
935
95
632
155
553
672
22
435
845
541
122
929
309
8
147
603
851
33
391
222
181
684
708
819
746
529
534
774
579
675
393
607
72
550
175
790
79
824
71
526
693
36
686
426
747
600
771
476
360
886
983
493
836
943
269
527
841
293
797
297
58
923
826
816
456
227
562
798
902
210
824
325
93
691
310
512
683
582
337
577
42
611
227
830
301
969
891
556
219
471
760
682
899
768
951
411
630
48
414
721
891
416
884
727
137
886
641
450
58
461
435
429
875
336
468
977
672
617
972
609
885
311
748
306
859
545
35
842
815
93
183
365
649
349
935
767
753
815
522
169
428
12
452
10
535
491
563
818
745
284
879
734
104
685
869
241
686
739
933
372
759
202
332
863
262
996
324
338
364
409
980
631
531
354
969
781
866
42
681
63
398
303
149
663
687
621
628
248
313
682
113
729
833
834
753
984
309
441
899
160
800
498
465
460
107
272
404
965
604
968
360
178
223
573
957
405
523
109
793
27
299
507
917
12
382
174
451
690
111
124
83
992
460
235
340
806
959
797
909
73
352
998
805
576
400
453
813
85
372
135
507
714
524
348
93
840
323
488
471
949
242
356
217
100
721
767
620
475
277
26
515
686
803
587
441
44
832
897
530
39
896
980
655
626
129
788
555
761
993
729
67
795
280
79
135
970
603
147
962
296
202
203
529
480
213
150
712
437
525
840
423
147
947
764
475
257
709
558
412
900
249
396
139
631
813
883
1
277
675
508
903
743
643
39
175
504
127
545
139
602
214
841
775
432
104
240
424
532
756
494
231
865
814
637
901
798
695
266
391
101
220
480
350
811
347
288
496
714
348
802
615
571
246
963
540
896
456
833
294
296
349
728
564
900
881
607
815
377
549
144
627
390
645
863
318
133
214
576
495
744
166
103
961
992
708
920
303
613
643
941
572
64
100
145
715
288
954
78
762
253
521
621
358
678
141
538
921
358
865
472
532
939
827
20
727
814
809
455
485
67
137
476
59
21
346
81
761
4
952
288
470
422
289
993
395
49
596
643
611
766
459
816
969
630
261
988
241
219
508
985
807
747
780
657
730
264
586
272
823
621
558
54
196
553
315
17
793
354
756
990
668
147
764
292
65
666
52
42
915
814
395
487
992
985
574
53
851
303
180
57
586
457
815
125
645
793
348
423
184
679
634
731
934
918
467
254
125
191
664
798
793
56
821
632
727
46
711
881
343
806
290
825
70
986
974
790
151
834
185
673
360
55
172
283
811
497
748
802
888
671
911
683
357
943
275
177
868
471
861
548
396
598
68
718
650
486
596
734
104
215
669
978
107
431
156
489
493
925
96
107
183
171
687
415
574
949
20
601
900
669
712
441
331
905
103
579
327
946
898
144
625
887
948
558
287
884
371
44
458
740
374
984
814
890
933
738
201
203
967
993
645
752
751
979
717
853
113
152
248
215
353
65
495
18
978
154
170
87
15
162
208
94
138
721
713
931
866
403
336
929
805
191
219
634
304
899
737
217
884
537
478
408
539
9
328
59
281
795
20
25
360
491
257
130
204
151
331
334
447
395
217
128
388
165
241
364
817
805
796
413
467
883
17
562
234
808
2
44
945
806
926
963
666
289
370
603
466
978
288
355
111
420
280
512
354
661
290
722
400
959
391
752
617
342
75
531
771
723
334
161
883
73
883
656
335
835
55
750
964
355
263
991
736
633
455
693
15
83
613
58
605
329
224
928
486
272
589
150
629
799
6
551
336
555
131
820
330
105
297
414
200
703
144
761
868
621
720
610
481
636
85
383
467
878
564
775
567
680
995
630
289
473
741
376
627
48
731
846
831
686
552
415
703
794
420
733
195
635
901
220
41
710
414
709
791
110
862
256
884
929
250
216
328
430
734
122
170
195
403
767
148
949
986
173
853
68
831
802
270
69
730
432
794
518
601
642
683
864
620
715
436
684
98
86
768
705
325
162
719
752
607
470
883
464
961
580
943
215
260
221
485
192
136
287
528
985
648
220
341
360
497
373
889
115
596
509
677
48
925
567
878
99
875
167
338
672
777
121
498
997
877
376
296
133
807
396
850
886
516
6
89
490
679
72
519
346
880
247
16
524
196
161
852
1000
398
108
179
801
660
248
841
324
539
815
693
107
987
627
566
231
330
427
662
361
493
277
403
153
189
205
737
370
477
836
455
621
853
547
346
38
1
998
914
578
434
529
927
902
526
32
311
906
844
369
746
95
269
320
863
918
131
340
134
104
457
104
363
791
493
957
216
946
849
871
341
190
975
477
483
605
187
41
429
559
139
12
760
864
455
897
156
827
210
808
437
881
107
917
620
511
472
499
11
136
644
948
750
464
946
365
302
588
193
889
101
738
592
922
895
192
983
817
419
320
591
373
667
97
855
717
392
722
437
734
461
179
210
263
334
652
897
677
257
737
31
304
729
277
75
398
398
495
880
996
860
794
122
58
729
247
11
751
971
313
353
591
715
783
996
428
676
281
794
949
875
933
504
440
561
938
417
54
110
876
135
707
201
549
605
45
765
33
444
628
33
388
590
583
502
206
559
502
811
725
906
301
310
787
31
65
575
294
114
667
250
167
813
76
369
991
319
835
750
717
512
131
140
776
257
271
541
930
312
115
545
34
960
214
569
614
201
991
607
870
282
262
454
227
418
830
441
80
784
646
339
730
236
273
495
792
780
981
205
576
504
837
21
6
530
557
984
676
574
761
729
528
868
458
59
481
507
292
834
35
788
69
972
529
725
610
950
256
743
772
429
73
468
806
541
514
682
869
935
651
729
583
883
107
109
55
639
718
558
628
747
277
655
971
214
701
859
801
256
749
961
646
872
80
102
594
627
81
876
881
826
373
574
517
759
310
237
877
792
134
78
348
857
635
763
646
362
321
207
412
572
129
824
20
332
651
614
332
344
704
106
303
307
810
890
905
924
841
440
862
176
624
972
48
258
795
319
221
287
558
213
983
218
293
870
439
399
159
511
83
863
931
296
843
746
297
135
58
201
793
68
403
795
326
156
411
653
998
378
309
537
532
616
332
681
189
624
542
374
460
835
460
281
184
946
492
956
15
499
192
302
286
92
938
537
420
422
452
798
992
112
911
684
419
129
117
867
82
680
276
427
314
655
504
687
337
32
51
168
725
202
609
708
355
810
792
955
166
550
14
197
231
331
571
922
810
366
645
611
62
33
367
5
54
803
800
482
539
142
907
253
748
46
137
794
87
810
268
309
198
675
520
38
327
254
776
916
314
19
931
427
810
661
30
501
506
869
854
943
289
880
64
194
198
218
808
213
10
172
986
848
75
899
963
391
750
532
615
902
419
284
11
514
607
363
938
157
155
435
711
40
763
510
418
816
460
343
797
527
727
928
476
350
65
155
160
647
776
511
677
33
594
538
496
14
603
834
438
229
567
566
831
510
389
845
290
753
927
783
605
82
809
775
17
903
198
327
243
212
689
763
207
982
646
267
386
513
323
5
15
398
56
550
208
164
670
403
200
674
975
190
495
143
928
23
731
945
552
603
410
449
230
848
509
785
331
240
126
797
435
624
9
433
605
886
743
465
260
794
898
759
200
307
175
270
249
813
917
550
805
103
923
871
300
338
597
943
205
937
921
859
758
86
581
96
31
524
868
336
292
369
640
420
895
22
732
950
63
569
651
964
22
730
349
582
906
86
102
772
732
228
288
151
529
522
928
309
409
353
413
235
951
115
721
273
787
667
819
478
679
708
620
387
702
296
65
971
365
750
425
998
644
297
872
90
913
124
750
564
737
945
734
468
296
801
247
366
11
572
88
82
560
597
213
15
73
876
998
653
752
559
136
606
540
820
504
814
765
737
965
583
856
537
82
757
342
373
166
650
348
866
875
309
708
764
868
324
633
430
628
661
599
337
633
944
751
390
509
185
647
685
673
227
622
274
227
57
380
598
550
702
703
526
132
651
307
350
654
605
947
663
230
892
850
770
39
65
440
196
265
44
86
857
377
664
319
701
324
627
553
964
116
701
837
684
618
425
606
825
121
750
688
141
375
793
57
931
364
327
962
950
16
719
88
38
443
771
334
497
45
343
685
820
11
651
350
176
327
906
60
939
383
291
934
655
675
311
830
47
898
247
470
60
928
774
902
497
819
804
71
467
942
267
349
776
837
851
910
341
175
703
716
933
463
683
710
834
781
78
540
519
873
590
767
63
402
20
33
813
1
303
123
781
76
464
200
345
931
625
737
79
935
391
851
998
883
841
781
12
627
859
267
198
362
729
421
295
629
768
502
963
248
254
691
464
882
71
545
840
889
289
332
148
422
390
858
980
504
928
700
340
934
242
3
897
433
234
113
823
406
330
360
655
46
504
250
134
298
612
169
522
351
381
459
715
925
96
387
342
618
387
96
148
949
580
96
170
553
724
249
618
187
780
452
908
827
418
472
990
134
567
413
990
24
130
379
162
895
260
732
368
289
232
223
566
448
184
959
326
239
970
813
984
402
954
430
885
934
790
391
57
691
190
496
832
964
180
328
137
878
618
467
624
943
582
753
384
980
765
11
703
966
236
477
236
9
707
11
980
836
9
826
666
641
573
91
517
101
566
251
850
699
771
332
664
207
444
818
163
365
129
886
188
315
882
953
623
307
419
495
149
593
464
46
203
140
968
151
541
20
937
780
634
896
316
378
988
3
756
304
606
441
114
875
988
380
213
604
506
997
747
527
490
575
209
692
90
206
351
985
826
986
28
471
738
407
221
345
254
890
667
398
169
62
789
634
647
421
575
297
787
488
632
106
80
424
873
943
32
339
240
578
358
227
385
279
384
503
464
307
730
648
75
378
924
342
888
126
321
764
709
510
585
458
554
851
58
271
821
939
499
395
763
176
92
460
338
296
68
972
904
558
5
126
416
660
675
157
513
830
296
959
340
691
161
664
36
515
953
205
566
445
469
704
978
100
90
667
225
727
111
556
414
748
947
331
694
91
323
887
66
183
760
180
37
861
94
2
398
741
275
984
428
775
419
447
433
829
919
126
867
124
459
632
263
271
913
765
773
493
478
417
450
286
823
880
302
474
712
817
764
85
340
5
449
957
558
274
990
324
298
691
288
866
739
150
745
904
203
20
912
454
325
381
503
851
785
693
926
519
766
458
314
267
358
515
550
154
325
178
893
599
991
316
691
894
558
816
55
694
769
619
548
379
737
661
699
402
661
589
581
881
356
95
795
694
766
82
943
331
119
617
79
551
955
836
684
688
53
524
424
96
176
103
335
775
639
136
85
728
947
274
676
944
109
772
267
217
807
308
794
178
296
887
750
32
732
995
748
501
698
47
497
360
806
375
429
804
626
672
472
577
646
850
449
450
605
720
114
145
368
795
135
273
404
740
191
178
100
724
965
839
351
965
962
170
319
290
24
69
823
378
883
613
531
709
317
603
57
918
300
507
59
362
20
508
673
263
835
978
962
668
990
195
557
855
430
528
361
497
140
663
999
96
241
612
674
695
481
428
232
896
867
565
548
509
942
750
755
992
582
107
497
969
277
26
101
719
566
899
518
527
656
461
936
152
314
911
209
503
763
375
633
802
696
581
144
133
489
767
712
292
363
994
551
288
548
990
809
677
469
590
530
136
600
665
38
352
905
114
357
331
717
178
920
709
512
820
631
497
260
393
258
971
963
152
288
87
519
422
599
893
300
395
743
896
681
595
198
229
296
37
695
787
968
959
596
171
133
823
347
442
23
948
244
161
86
750
79
159
877
71
785
767
165
478
823
33
78
739
911
541
938
909
677
41
817
585
922
40
982
914
522
853
127
907
400
432
668
441
652
400
498
76
625
363
240
512
708
522
475
39
641
14
399
826
404
227
84
277
105
517
838
962
856
379
162
820
326
168
452
435
488
845
923
200
127
100
157
69
821
425
347
443
432
345
549
444
646
97
213
461
716
468
841
398
359
394
872
477
727
190
800
826
461
941
84
313
97
681
630
253
525
482
497
691
772
446
8
936
110
926
615
883
373
981
747
475
425
214
316
333
904
624
762
166
741
76
272
121
444
281
333
592
833
954
843
367
712
941
837
190
961
661
271
954
663
177
433
780
173
566
278
171
496
29
393
289
934
361
368
147
729
979
35
173
364
711
449
186
224
914
477
258
595
330
577
368
322
266
655
997
25
298
927
26
465
763
322
391
479
653
310
966
969
447
979
34
552
573
819
542
820
903
948
56
657
693
445
950
660
861
48
923
543
352
733
349
337
608
567
347
295
838
819
682
687
879
505
793
104
904
426
301
414
153
284
317
313
141
650
768
239
535
382
726
506
973
621
432
693
643
604
296
673
355
375
664
216
178
941
547
709
449
503
845
437
107
231
789
768
857
430
485
799
633
70
459
250
180
390
70
904
365
683
459
428
978
438
522
246
393
723
999
994
428
77
364
200
158
188
685
41
215
335
968
434
326
919
827
247
476
366
485
126
60
398
215
287
844
920
344
633
399
781
853
734
873
255
404
511
643
395
384
981
431
324
144
22
927
138
192
938
823
321
494
534
426
501
430
537
728
914
174
445
836
166
449
307
224
761
657
536
88
384
380
539
472
115
108
898
449
591
842
817
847
627
926
815
447
972
29
926
574
663
745
264
290
931
651
406
163
721
7
915
713
663
486
291
205
782
476
780
411
301
503
765
312
674
293
903
510
336
822
798
274
784
458
742
730
260
985
995
714
700
824
128
169
663
279
204
803
604
993
952
901
210
96
630
832
524
709
975
784
227
578
499
695
746
617
399
190
849
24
516
574
988
506
104
545
930
802
659
396
168
391
684
884
176
758
62
839
829
56
682
836
212
355
15
955
586
908
675
707
536
31
348
710
138
276
92
605
565
517
725
976
709
495
912
765
233
99
598
795
988
407
645
505
851
68
872
959
891
132
234
503
179
843
517
200
746
223
769
295
919
502
670
549
718
575
164
191
98
715
991
662
557
692
192
26
22
319
280
166
15
184
514
420
787
8
649
318
497
599
609
482
535
901
743
539
783
960
739
121
919
956
794
617
914
620
345
400
480
471
527
628
557
288
528
605
901
175
185
883
439
359
495
955
339
628
185
444
693
889
129
124
285
929
196
16
169
842
63
16
681
973
627
262
81
475
917
446
223
731
830
843
532
960
582
672
82
311
505
732
782
618
699
950
481
772
101
610
323
378
728
525
847
936
214
380
93
317
254
752
495
689
271
119
423
399
416
257
36
499
1000
3
534
779
615
331
989
158
464
13
682
279
888
960
284
958
688
467
264
905
590
193
630
824
128
697
489
511
291
745
932
108
521
388
424
984
17
43
246
60
873
416
514
551
241
109
948
197
610
212
901
87
262
981
90
62
163
965
121
514
872
582
155
120
500
199
22
682
449
218
651
768
380
553
966
320
879
136
262
699
349
782
672
941
939
808
521
119
742
306
260
799
50
870
187
539
217
840
339
267
534
902
813
145
589
918
220
253
777
456
188
973
976
353
583
514
930
24
625
386
537
941
183
976
65
865
295
585
321
955
429
431
902
862
62
144
984
229
907
227
527
853
538
814
409
887
195
798
730
80
298
69
489
16
540
168
864
723
479
146
598
833
233
776
364
651
202
570
512
146
767
248
334
854
545
381
810
162
104
965
825
207
4
573
14
943
638
555
717
500
661
483
998
59
680
664
344
912
516
92
423
233
561
618
252
355
681
518
231
49
662
846
742
351
406
147
461
996
980
168
83
395
128
170
897
421
37
328
549
941
19
506
342
179
229
358
673
483
723
336
508
40
949
663
354
360
249
762
820
144
51
933
722
249
225
306
627
61
505
226
902
497
966
246
612
260
307
870
65
731
69
30
406
29
999
14
426
417
487
259
680
148
351
963
61
294
298
957
237
880
69
650
715
856
605
151
872
57
584
866
967
317
308
963
16
335
273
98
423
724
664
726
437
900
683
104
807
146
882
858
520
189
596
579
117
130
183
474
890
420
11
527
221
818
36
981
400
988
382
201
558
437
541
145
753
13
691
730
811
57
151
365
282
613
186
789
730
818
198
146
648
685
868
928
467
34
924
998
487
248
62
427
95
852
981
275
263
661
642
785
185
405
604
655
861
247
766
206
597
620
909
287
674
138
173
704
877
111
36
816
218
393
396
678
900
838
76
789
533
674
467
75
662
450
8
172
898
55
944
516
359
495
85
972
623
735
338
972
149
918
393
201
940
738
288
885
243
522
527
666
268
874
43
818
213
324
595
334
361
526
102
18
679
972
15
241
114
63
90
497
746
664
796
206
55
922
190
494
850
225
272
824
770
667
731
432
911
280
500
478
808
579
750
733
921
708
760
363
812
560
621
111
379
772
886
753
913
430
68
191
207
641
370
10
648
888
161
581
47
192
454
63
916
710
122
761
78
297
658
347
756
976
9
385
755
1
471
449
958
374
633
887
106
281
129
937
771
884
272
471
488
298
727
116
245
404
24
882
945
333
80
708
949
95
873
545
560
818
83
670
122
520
813
950
452
148
485
672
483
862
593
390
298
198
321
940
262
779
933
420
548
716
435
475
189
693
286
641
702
19
803
880
474
569
473
685
314
679
631
275
54
478
780
507
602
105
414
55
612
499
348
345
824
213
422
459
147
763
937
967
798
604
325
208
113
683
393
65
223
924
900
685
393
674
405
909
693
334
45
406
635
919
385
629
539
267
540
761
708
974
539
731
912
896
275
274
314
263
488
714
730
985
895
856
4
774
992
902
405
59
67
807
138
493
628
856
475
60
838
538
548
386
495
973
548
914
777
264
924
977
286
138
201
696
863
150
194
821
300
551
723
301
330
647
419
426
228
75
849
814
923
14
970
425
805
731
889
997
271
255
6
43
648
207
875
564
333
969
532
170
859
476
646
182
130
834
532
576
249
906
994
362
213
742
984
86
230
464
281
672
579
790
737
752
741
882
160
946
989
646
555
330
762
891
305
418
896
2
811
612
269
901
283
949
442
119
644
410
699
721
978
780
225
703
551
246
265
205
189
490
805
583
728
49
693
907
324
67
139
954
641
410
228
146
310
293
417
148
629
193
977
57
130
847
2
193
537
551
926
521
621
815
422
636
652
662
221
67
437
527
637
368
474
714
528
119
311
899
22
448
76
954
567
202
20
703
786
154
80
853
157
967
691
447
778
755
520
679
330
144
350
781
882
746
105
33
377
796
845
613
469
522
661
152
881
485
555
360
608
744
763
24
94
200
513
7
989
871
827
622
208
187
856
897
772
610
190
797
393
11
719
435
809
264
938
649
644
495
4
129
968
215
508
405
797
378
632
640
479
33
328
123
282
809
199
773
551
959
15
763
450
54
167
578
684
726
914
429
557
8
992
993
403
984
973
828
729
392
825
702
357
797
243
259
506
738
689
134
5
962
521
663
778
538
272
776
331
126
889
561
209
151
730
231
307
963
196
903
474
348
153
697
52
864
721
145
896
605
566
781
902
914
568
111
310
496
647
846
838
118
535
418
238
820
515
290
995
130
492
536
712
299
262
456
189
965
542
776
313
990
115
86
683
435
463
755
279
745
362
496
648
297
229
138
742
354
460
904
22
357
599
717
446
226
939
579
718
1
76
116
507
719
27
739
407
916
724
680
74
486
118
385
316
967
639
344
940
450
489
469
749
482
73
541
470
267
906
110
298
430
495
439
394
404
17
747
945
225
104
63
328
167
674
431
512
149
554
111
82
332
574
664
164
639
931
492
98
203
879
483
924
907
228
920
599
236
689
680
417
654
860
75
278
583
526
373
276
851
969
175
613
173
226
324
944
828
551
967
135
184
866
696
808
165
668
476
238
33
643
167
888
119
276
34
353
237
833
581
524
571
417
406
580
760
232
560
778
744
813
55
100
717
720
752
508
162
133
858
956
534
850
645
310
612
431
809
30
944
593
112
800
69
550
520
297
415
645
133
930
850
500
568
701
890
940
342
308
461
70
990
215
938
257
354
715
899
218
474
929
689
68
23
285
374
978
47
255
165
23
75
58
704
937
318
559
861
723
778
848
872
519
561
824
701
657
587
654
473
619
209
165
733
465
929
50
47
345
545
283
159
922
563
282
532
891
642
180
582
267
180
5
338
814
863
732
583
798
184
894
751
223
456
942
969
861
813
560
696
666
66
957
336
628
37
501
57
715
187
178
789
320
909
22
72
546
886
60
936
755
281
358
527
998
321
405
528
377
85
430
738
909
871
264
349
153
578
959
567
745
932
755
224
985
251
886
946
770
659
389
251
536
306
317
669
306
226
737
636
609
892
429
411
830
401
512
728
470
524
64
249
942
470
414
123
769
355
963
131
461
834
295
953
953
226
834
73
182
817
509
722
303
678
736
37
52
486
493
302
4
346
457
758
791
534
941
946
887
413
870
979
224
535
136
443
729
46
453
861
849
111
279
773
279
993
443
535
401
813
890
868
374
768
324
45
445
777
627
357
812
98
615
164
252
445
88
393
871
554
147
831
488
904
437
937
614
553
314
182
489
645
942
108
374
141
970
430
122
802
740
457
78
245
966
72
533
147
429
289
277
319
505
158
264
421
309
388
61
550
783
628
543
784
353
762
223
63
629
931
748
435
247
265
330
791
91
433
308
714
79
227
604
936
177
345
588
224
500
424
735
208
218
159
497
785
453
40
45
253
540
835
853
258
794
449
630
954
429
214
780
551
384
952
380
527
566
419
647
361
498
827
29
599
415
207
313
427
613
300
614
672
257
524
718
385
921
308
1
671
827
754
73
488
151
161
372
486
771
389
166
768
520
471
801
697
365
114
574
423
900
959
341
895
220
554
772
492
544
2
239
281
916
153
435
117
937
36
195
474
776
937
436
930
607
175
793
690
247
146
313
391
992
666
513
732
571
976
232
95
674
37
954
461
741
907
702
382
582
46
180
670
900
374
576
776
982
811
313
538
691
754
95
66
339
721
784
104
224
911
4
76
389
992
881
410
642
800
4
427
998
987
489
265
479
842
63
837
639
661
158
786
281
86
352
769
573
740
912
160
178
379
824
464
63
503
426
281
384
37
720
677
203
280
475
210
818
757
496
646
197
25
794
620
308
754
964
118
171
581
751
653
88
372
659
463
835
495
470
869
537
637
691
187
607
509
300
216
377
514
617
396
998
73
780
178
777
841
96
1
361
505
487
560
81
176
348
728
335
661
419
547
104
64
674
230
552
219
797
994
216
439
584
839
452
953
446
110
660
167
277
784
292
602
130
955
823
953
497
897
658
196
509
443
403
122
52
134
92
959
588
760
687
985
492
442
643
152
820
385
403
801
732
783
436
455
252
130
839
561
629
366
584
777
355
883
195
87
792
380
34
578
442
977
377
183
140
788
169
96
805
355
679
825
970
977
254
62
975
968
75
631
575
319
56
794
753
72
67
98
652
936
223
764
896
353
299
344
52
231
248
9
604
61
393
343
615
974
108
1
214
566
721
891
123
7
902
833
734
27
58
792
640
854
76
842
113
90
335
9
752
799
61
22
398
794
939
749
485
226
419
855
162
104
275
743
910
273
809
407
861
765
542
196
721
105
370
817
3
380
930
148
280
349
355
525
275
903
704
235
931
498
80
875
34
970
863
88
572
336
544
937
788
734
355
858
775
674
280
668
579
149
31
609
963
965
288
776
401
859
819
555
416
580
116
903
49
132
803
398
134
812
431
982
54
501
178
243
808
899
660
891
581
60
282
822
437
618
530
758
453
558
171
40
351
255
596
539
678
757
425
48
661
1000
74
724
139
685
164
362
406
62
583
295
331
754
466
747
918
64
613
284
291
887
652
857
174
515
795
560
127
87
138
881
148
404
329
696
768
140
822
667
443
229
129
43
853
354
197
72
721
1
523
353
889
527
666
526
688
24
602
589
79
558
747
45
671
515
530
766
456
392
141
185
44
345
414
949
236
204
862
668
29
470
558
759
508
19
884
678
638
839
186
16
681
175
18
59
778
838
960
367
316
323
975
906
787
569
883
19
247
873
814
285
918
511
420
944
123
70
249
71
551
371
903
164
786
131
502
141
139
171
576
978
108
105
669
422
164
867
845
247
196
396
814
506
623
60
564
108
103
112
231
851
813
603
457
709
441
680
594
786
437
133
984
856
540
384
943
811
290
854
254
659
52
778
724
941
61
112
800
561
137
116
331
67
5
555
314
350
627
261
857
587
515
940
659
20
823
718
18
782
859
886
752
607
805
735
449
686
603
117
140
336
405
645
836
431
486
1
363
725
245
868
587
313
773
439
423
478
468
254
999
54
352
397
951
309
79
694
128
14
89
634
895
39
14
169
824
332
224
433
823
584
360
673
628
234
813
381
165
711
343
673
502
1
496
491
970
651
1000
39
580
334
105
237
25
958
668
621
420
97
882
279
410
207
689
898
445
692
332
950
817
404
971
366
536
534
971
785
222
221
309
610
992
382
497
668
740
420
596
210
301
508
148
368
743
68
336
935
435
934
272
544
576
427
82
873
633
243
371
499
449
613
724
447
866
681
149
237
344
398
732
478
447
559
321
644
8
762
786
721
498
181
210
803
379
69
418
564
225
782
407
793
9
963
557
789
205
231
998
482
336
363
136
608
151
474
141
134
869
167
145
361
856
954
10
883
625
514
781
578
279
508
369
365
411
746
577
322
963
470
304
62
761
399
676
990
271
966
874
163
626
867
624
995
117
652
712
990
151
579
335
5
170
370
833
286
102
822
124
673
732
463
174
922
802
550
955
24
736
750
644
822
633
819
283
924
591
374
682
155
453
691
161
321
819
41
617
91
504
726
475
161
686
363
333
686
637
431
480
181
299
309
18
679
951
273
18
983
864
998
6
262
163
117
56
71
64
314
992
125
297
214
455
789
773
102
139
320
531
87
101
316
546
903
836
749
264
941
802
158
609
500
134
329
767
453
586
808
300
733
140
127
960
59
305
498
160
346
860
25
187
94
675
224
145
832
295
708
41
415
170
465
656
536
780
34
585
348
387
271
347
484
858
77
552
89
793
656
919
696
189
399
347
919
4
449
356
952
284
360
942
836
966
64
310
263
62
495
992
486
715
827
592
531
520
281
753
488
582
811
979
136
19
837
637
525
2
349
784
434
965
352
485
814
324
641
917
417
901
295
889
824
254
149
360
6
285
717
144
335
840
688
308
732
461
183
665
228
130
398
384
778
605
138
953
597
911
19
680
634
665
765
432
66
159
155
548
844
552
623
750
401
106
432
362
586
114
635
376
804
68
752
714
77
664
200
557
488
419
39
733
30
66
509
999
396
365
189
503
672
669
338
823
188
406
108
778
34
588
898
641
845
642
54
443
526
120
509
847
516
299
679
448
23
304
183
422
465
135
460
155
947
895
394
875
231
615
448
311
95
273
586
116
363
3
499
104
191
61
240
371
353
753
423
12
410
463
526
452
615
863
722
392
343
602
854
969
634
73
846
30
173
358
879
332
653
51
135
101
15
509
744
592
487
973
887
239
689
157
632
488
364
127
212
693
390
736
908
256
870
447
608
762
7
105
423
49
390
115
432
959
85
512
759
42
634
631
692
638
640
425
485
550
137
987
832
10
358
526
708
753
820
846
447
779
872
367
482
852
994
876
85
835
141
469
875
736
415
617
580
733
145
876
735
501
250
539
587
893
401
440
462
389
70
188
233
746
27
359
347
1000
232
547
77
269
344
719
254
836
268
27
795
627
265
85
724
521
137
720
265
872
939
395
777
284
455
811
984
911
416
678
984
527
77
298
986
190
285
369
592
556
622
407
695
822
564
240
767
832
832
352
374
89
298
212
243
291
851
337
119
545
618
575
938
585
809
933
548
171
246
383
337
330
312
236
632
285
688
35
681
672
705
453
328
174
598
326
280
775
221
791
953
640
50
474
490
51
381
817
463
932
718
909
153
218
252
672
72
765
186
818
559
514
439
780
880
378
888
745
228
656
908
957
444
845
413
744
57
368
14
53
456
99
160
865
638
570
349
535
963
362
587
982
804
546
262
638
805
951
540
257
685
691
177
2
190
665
395
718
844
647
64
909
588
206
11
771
290
934
677
549
364
343
725
618
404
391
431
927
838
773
879
886
99
12
14
332
676
896
619
964
753
14
121
494
812
949
956
835
719
221
893
833
312
210
313
403
458
80
959
445
855
234
75
603
610
910
166
711
770
325
847
806
530
214
368
683
787
693
435
281
116
115
906
637
944
17
772
748
962
277
603
442
311
363
281
284
140
876
433
624
474
666
425
94
171
451
191
298
936
225
410
936
969
731
796
334
873
938
300
199
828
756
87
417
923
209
19
915
735
881
218
890
917
756
988
225
578
494
27
533
751
763
374
61
29
531
986
657
807
84
205
71
169
116
592
175
602
468
819
52
153
914
316
529
602
997
405
413
458
20
480
627
361
204
614
436
523
481
657
189
420
569
472
357
826
765
482
126
643
367
104
531
707
772
962
873
907
47
987
209
478
219
669
799
334
635
725
689
622
465
416
104
478
832
594
860
143
133
285
837
155
791
333
421
356
92
119
933
828
763
928
274
668
636
843
414
741
86
374
884
157
944
222
153
209
198
645
601
1000
156
930
833
748
664
382
236
44
637
28
12
979
395
13
396
75
273
228
420
465
533
309
351
584
869
546
906
922
700
605
455
88
992
223
651
466
580
187
394
293
836
1000
569
836
26
562
763
667
940
141
20
759
154
625
769
201
840
797
241
886
144
938
53
438
997
578
140
973
680
630
919
43
564
456
335
236
265
635
482
484
847
344
595
55
837
274
500
611
521
986
81
444
428
412
921
200
952
5
13
987
784
676
406
741
186
228
673
127
189
480
351
43
460
648
890
26
930
832
172
443
296
649
387
394
109
178
883
673
530
335
648
963
769
762
225
685
835
98
199
557
540
233
879
992
593
775
432
897
249
505
512
311
184
13
391
601
219
95
700
578
26
702
143
32
203
432
980
613
955
593
640
929
158
868
555
10
763
458
212
997
330
398
428
37
997
416
95
878
335
304
971
592
326
279
613
179
219
227
216
544
81
29
950
496
684
399
371
966
784
801
610
579
937
25
342
109
755
977
999
102
892
54
273
124
134
255
747
685
652
825
379
868
881
806
678
104
493
329
591
315
615
886
571
870
818
71
776
405
345
512
100
591
758
776
561
343
442
67
603
804
409
424
24
689
439
951
577
195
894
350
771
759
465
628
34
387
703
407
181
152
430
706
125
721
41
410
811
455
259
885
668
704
111
380
268
414
790
911
470
50
567
293
32
143
135
882
605
494
568
349
21
148
614
530
24
803
166
979
917
235
578
338
153
648
963
99
507
595
708
599
366
287
258
329
576
615
617
799
488
212
131
174
109
221
852
913
705
199
186
414
835
803
606
499
547
429
888
172
366
18
743
686
824
609
721
419
461
23
948
432
660
279
616
884
186
950
109
656
28
703
354
631
980
653
233
118
421
56
906
761
911
46
504
148
564
802
909
13
621
576
305
594
297
456
748
213
756
630
274
603
41
152
937
853
870
928
757
98
476
687
767
240
104
207
200
55
334
977
421
2
134
738
351
964
451
95
17
895
169
485
320
65
472
308
283
188
23
956
859
231
847
815
824
81
516
41
421
619
24
75
186
918
743
389
839
443
979
938
177
174
954
137
713
479
465
975
142
454
101
20
825
178
655
700
171
990
281
181
175
488
32
605
415
382
628
226
457
760
714
185
2
568
402
321
77
337
572
370
231
253
308
391
21
700
806
57
15
299
304
702
178
286
873
651
785
808
427
413
929
328
901
800
295
880
397
850
103
346
990
750
51
294
32
604
615
141
48
988
314
600
720
711
387
412
49
108
888
349
503
489
362
354
864
70
135
463
504
831
709
856
52
280
954
976
743
991
552
158
266
169
650
635
604
182
787
80
159
190
917
100
470
521
844
190
939
415
389
731
295
131
455
521
966
155
465
204
138
453
776
702
41
281
363
431
926
53
424
616
267
170
617
547
958
502
294
945
649
450
465
924
939
93
200
222
805
974
841
469
538
490
706
251
444
697
927
690
758
565
698
998
513
378
467
268
636
11
561
336
131
291
314
115
30
503
15
236
742
363
898
173
528
484
957
291
96
417
584
427
737
851
892
656
978
451
131
883
483
112
772
799
811
117
688
480
672
802
343
653
545
843
70
203
859
222
318
45
462
252
225
856
770
779
963
508
800
827
145
253
307
510
930
843
333
979
645
807
812
558
413
47
313
956
731
759
591
675
970
460
409
257
511
528
989
41
577
262
538
494
863
932
519
951
763
658
736
859
301
258
824
174
898
392
467
635
761
424
488
30
961
433
3
418
265
719
966
497
391
954
782
986
647
866
147
881
824
969
878
979
837
383
339
860
827
236
986
826
366
493
664
964
935
294
565
584
91
69
164
762
597
745
25
630
311
344
114
341
838
145
116
363
754
382
331
849
748
115
901
362
141
549
478
174
99
539
968
655
263
468
649
49
700
965
769
44
810
197
752
128
299
554
230
644
379
618
448
856
135
223
29
84
389
284
679
157
448
811
194
14
848
193
49
258
561
403
896
884
188
249
578
195
325
170
602
126
616
383
597
803
54
335
968
210
689
580
804
235
243
129
132
212
89
299
757
320
677
858
277
839
766
18
310
305
748
430
640
90
953
902
775
778
71
969
331
964
716
828
823
836
729
373
630
901
34
253
395
786
724
926
641
882
586
664
140
932
470
338
460
359
719
605
152
252
415
811
239
441
303
508
30
21
112
12
799
24
418
824
517
667
335
49
684
763
102
193
254
418
57
825
806
100
587
636
408
549
385
381
57
733
760
11
195
264
782
89
562
242
790
219
570
524
144
804
440
759
124
901
603
374
590
352
231
891
326
614
310
556
18
953
387
300
446
717
955
476
784
449
460
625
893
474
101
814
66
452
887
668
11
82
922
335
763
769
523
28
812
647
548
693
995
721
304
593
579
318
461
289
548
223
697
583
297
86
215
474
838
731
819
61
111
970
3
661
231
421
381
82
278
596
820
128
802
225
847
923
311
394
273
581
855
559
449
53
276
907
285
767
800
894
956
773
455
946
211
691
210
504
344
712
822
587
160
240
145
11
759
589
38
238
509
255
66
601
411
929
938
278
904
370
936
13
308
654
699
986
262
150
324
670
964
721
157
772
528
339
607
557
471
242
972
932
233
267
595
724
599
754
606
416
102
715
159
514
793
568
316
358
234
795
705
885
236
372
624
345
634
629
562
438
351
515
959
671
109
904
628
13
405
646
448
55
796
584
843
976
96
632
39
578
846
325
340
538
273
939
438
801
29
424
334
747
183
891
544
338
289
316
102
997
897
490
356
332
502
941
615
172
788
723
554
604
974
532
671
791
233
523
199
452
436
617
611
763
914
823
286
332
566
287
929
627
368
369
77
922
293
32
387
367
687
218
439
291
422
704
446
191
498
110
645
185
328
391
102
870
637
112
333
639
760
270
464
509
142
247
590
430
5
721
646
857
473
995
362
90
944
277
811
526
97
878
657
482
769
188
452
726
837
524
233
161
375
662
234
387
624
907
740
28
696
81
984
766
555
677
518
998
512
741
665
927
385
761
512
676
491
923
401
683
873
665
2
288
485
335
908
871
602
135
115
340
357
237
892
89
180
130
326
754
840
793
255
231
969
255
392
466
228
452
195
452
723
99
443
726
884
411
524
423
796
153
177
582
863
455
788
988
803
214
366
298
152
739
27
581
887
477
134
682
303
287
250
28
971
727
716
570
480
291
960
584
665
304
643
948
189
483
310
331
697
773
577
464
201
145
723
287
30
481
240
295
454
559
60
855
45
403
148
631
942
936
660
459
455
986
110
251
863
141
849
491
820
889
695
932
545
748
730
931
824
808
126
677
925
239
356
246
711
807
307
9
594
393
603
446
503
840
942
806
673
165
334
389
925
374
949
429
61
599
679
721
154
302
633
122
793
599
526
50
804
569
318
921
560
574
534
217
785
179
394
571
631
294
270
784
931
518
1000
181
720
477
293
104
540
171
778
601
553
931
266
576
226
643
427
773
163
283
430
952
722
678
996
534
175
614
25
822
531
90
136
607
606
534
486
614
565
289
760
777
951
512
496
754
180
922
824
490
567
496
228
821
231
304
180
351
630
146
363
828
60
579
713
276
187
202
713
986
554
764
214
269
68
818
523
564
661
116
705
83
672
890
799
711
23
506
161
232
914
689
234
349
608
698
847
104
835
345
565
505
496
740
716
165
650
993
447
694
194
874
591
485
263
619
169
210
159
642
67
80
500
909
806
449
385
122
358
804
595
664
622
622
223
465
542
780
696
563
827
469
826
153
899
616
404
343
996
840
852
672
318
881
618
683
754
252
332
495
962
588
209
349
549
800
839
591
666
676
286
400
589
14
362
842
755
715
82
508
288
536
515
84
258
335
719
686
796
738
990
671
712
115
383
983
444
629
394
742
19
920
665
942
187
672
856
633
61
912
103
871
383
379
64
88
32
751
180
232
477
785
612
210
690
693
312
694
439
176
809
318
993
594
581
656
18
679
350
144
817
54
239
284
170
577
473
42
719
182
260
370
209
463
526
132
954
727
445
561
547
597
60
559
199
567
860
754
79
77
864
293
684
782
624
714
561
696
573
141
708
810
313
218
552
579
753
905
724
422
508
264
762
988
595
849
464
497
245
160
879
886
633
914
803
851
395
531
218
141
102
352
333
589
242
559
755
471
866
701
829
731
777
990
405
496
19
281
94
102
478
724
602
521
598
635
864
712
594
27
522
889
12
594
748
126
209
678
539
49
109
885
397
556
594
584
727
675
17
463
376
667
629
690
515
463
147
999
420
332
308
202
803
469
14
180
58
827
591
454
133
94
759
767
799
200
140
955
752
87
529
581
331
811
686
410
633
178
100
834
456
272
67
786
807
196
386
494
703
276
191
705
565
798
740
600
839
62
456
727
380
167
183
704
721
497
381
311
627
283
951
876
207
10
490
523
425
647
21
932
82
879
695
772
190
560
489
822
200
593
712
143
735
322
963
347
303
294
278
110
987
968
358
641
226
519
179
694
662
400
732
81
437
750
376
364
484
28
68
557
133
495
729
220
762
292
146
279
336
893
102
281
430
664
879
548
698
89
865
902
865
8
798
157
979
846
59
647
74
394
531
362
401
165
748
149
76
753
467
586
332
868
328
768
566
962
965
291
12
405
805
91
193
235
772
690
274
360
323
587
29
939
534
222
471
406
451
952
62
178
558
973
64
688
6
955
807
780
197
458
574
871
425
834
344
539
530
454
865
352
963
539
392
827
205
799
956
368
233
382
223
939
615
332
819
978
850
880
525
785
775
408
878
184
216
855
526
796
571
659
161
644
696
89
970
145
253
929
310
752
719
79
778
665
330
547
905
38
570
697
468
62
260
389
821
162
882
808
680
289
575
379
558
952
118
142
367
201
335
365
765
259
539
970
510
850
65
553
404
599
453
399
420
29
559
914
271
817
734
310
957
937
195
238
824
275
915
266
271
69
670
781
529
294
346
928
869
708
283
650
177
838
196
779
107
611
167
377
885
680
332
213
439
774
117
349
728
535
320
283
991
378
903
15
225
910
84
668
312
278
219
56
122
643
994
646
367
654
659
932
175
378
389
135
115
685
360
491
919
462
818
108
244
360
218
565
586
13
515
907
913
783
810
723
672
122
865
292
554
598
421
610
829
457
905
242
100
383
825
550
57
734
110
839
188
142
706
339
393
809
983
764
201
236
873
392
558
368
239
208
202
394
648
694
273
461
574
268
113
644
98
202
194
363
313
101
709
291
975
649
672
508
439
411
265
294
527
905
808
471
791
50
935
673
579
340
492
251
422
801
201
785
505
846
398
332
426
634
961
607
15
463
134
270
710
982
100
369
877
765
4
781
518
853
630
166
986
448
96
587
705
810
709
399
408
788
641
486
33
135
146
169
315
895
868
407
17
724
209
981
934
942
788
420
81
499
827
373
914
786
638
947
55
417
506
334
761
679
924
665
264
350
555
626
226
960
284
836
749
396
446
363
794
936
616
46
380
431
388
478
671
362
182
608
873
935
457
926
910
197
657
97
998
411
853
742
572
563
304
772
484
929
119
322
66
87
760
864
391
620
413
524
67
43
120
966
978
139
151
477
646
981
291
31
329
430
612
193
519
752
804
688
255
327
337
342
548
131
567
889
248
781
396
827
903
432
237
115
501
796
868
993
507
818
195
627
267
342
103
604
688
214
310
505
76
816
610
943
155
14
964
462
578
837
640
650
708
985
32
671
28
446
807
159
325
75
789
95
697
990
326
851
516
20
936
51
707
254
697
285
90
946
208
7
79
638
917
116
733
387
284
846
1
428
561
573
36
387
923
79
593
469
301
600
876
623
577
754
680
782
702
24
281
718
898
48
361
923
377
381
186
173
867
774
359
158
836
229
725
588
504
297
466
718
600
100
935
106
357
598
566
723
426
423
47
255
221
470
19
540
712
52
725
598
821
86
433
658
427
246
930
896
381
429
83
359
137
233
274
679
312
319
494
742
965
704
32
427
468
33
974
907
565
854
193
761
670
738
97
335
442
848
194
349
469
255
415
786
201
801
247
424
340
859
928
246
559
654
380
112
776
131
55
732
195
555
609
979
983
81
156
8
776
603
867
492
135
40
853
512
745
73
599
295
391
62
680
36
688
485
160
501
146
812
827
977
381
125
410
404
200
190
999
188
833
894
157
304
822
175
660
753
919
581
329
363
908
626
186
214
423
939
44
662
687
31
679
74
591
165
938
899
691
438
487
605
501
659
432
391
934
62
684
272
858
160
806
313
521
306
23
332
25
644
233
345
128
172
155
392
388
571
176
159
81
321
107
985
375
367
772
415
963
255
310
471
719
244
128
193
988
359
681
799
791
719
638
46
570
804
537
949
93
450
743
84
811
535
359
83
231
253
772
780
870
843
676
729
966
411
744
409
391
248
585
533
157
634
298
312
488
697
679
382
695
297
131
399
961
298
407
955
748
798
589
569
711
91
123
995
903
173
310
973
572
591
362
864
40
314
66
306
995
84
90
163
14
406
193
528
312
927
973
492
485
459
249
724
526
329
909
628
468
26
810
2
831
362
364
686
444
494
531
610
335
174
264
60
111
545
884
713
667
664
482
195
102
653
199
486
458
86
163
486
261
738
917
459
868
339
438
863
305
331
194
291
648
914
268
858
949
870
248
391
419
749
457
204
833
987
103
73
140
479
95
271
835
896
608
158
970
806
946
882
588
253
897
207
968
1000
570
323
303
98
660
814
363
749
169
578
214
741
899
622
325
851
454
117
230
700
29
4
460
504
38
755
639
71
499
566
483
146
126
415
926
923
315
916
771
127
524
820
49
595
100
368
759
662
236
430
760
7
605
497
386
828
168
172
781
334
804
739
35
589
712
761
952
686
963
445
703
75
217
657
644
618
343
79
321
618
640
981
48
622
413
471
463
282
868
906
166
936
735
315
880
856
503
361
566
295
906
326
578
581
124
72
269
491
194
745
394
70
280
246
316
847
785
100
268
173
767
464
868
968
763
415
688
775
914
564
907
392
228
289
991
761
944
574
891
996
198
507
499
641
639
996
915
271
183
136
680
567
862
993
237
832
582
249
801
740
675
275
237
774
293
736
777
431
101
734
144
742
182
846
175
121
779
140
116
815
307
413
572
487
39
433
497
591
39
926
737
221
168
427
345
61
479
868
334
931
887
961
552
148
804
13
108
603
299
813
144
26
459
592
756
361
843
917
591
580
306
513
945
529
12
694
212
613
167
55
186
205
855
528
2
676
359
720
512
867
542
718
463
621
160
157
173
727
498
429
283
258
311
346
810
826
889
456
923
703
984
457
802
120
467
853
471
311
827
67
755
24
54
719
318
283
14
662
337
177
178
703
505
318
413
589
907
391
635
19
825
932
289
897
662
45
989
26
998
294
177
734
246
399
292
677
512
700
822
230
26
563
528
380
956
42
328
43
507
129
568
75
939
901
913
984
579
678
638
589
905
101
916
408
557
669
582
547
449
863
943
299
225
445
434
408
953
909
307
207
331
338
74
423
624
127
151
483
259
114
974
562
275
674
896
475
810
253
325
712
420
610
912
617
318
789
43
699
525
448
562
584
556
717
435
932
484
216
995
939
125
179
548
723
672
907
359
949
300
947
460
580
135
417
306
493
533
921
34
29
765
347
944
246
69
632
919
756
532
278
630
549
380
998
799
134
117
374
246
659
381
816
164
420
511
445
852
292
630
725
139
193
427
811
869
639
972
628
108
804
600
596
170
282
327
826
194
923
311
310
741
685
592
327
820
458
710
833
796
181
846
92
912
408
777
165
493
645
336
192
483
451
1
549
646
253
937
118
629
310
109
843
80
38
39
737
215
210
423
240
517
129
86
624
753
966
689
712
142
890
209
763
255
506
438
778
249
346
661
858
74
885
240
478
598
599
23
735
7
82
407
642
387
151
369
580
174
137
994
838
986
306
866
999
452
429
167
604
816
81
505
132
465
138
287
825
33
301
922
325
424
205
271
374
894
806
515
81
322
326
80
373
968
937
319
286
247
795
410
699
570
744
342
955
851
236
906
582
75
567
320
967
232
525
511
423
995
946
91
553
749
468
741
191
979
2
68
504
545
10
10
3
111
751
481
344
793
50
302
765
173
989
384
962
934
151
798
977
740
710
604
436
433
692
272
73
285
203
108
36
815
278
349
897
653
276
485
645
4
438
950
193
580
267
500
92
233
935
514
212
131
773
939
127
47
215
822
807
205
284
184
33
171
814
505
616
513
122
236
108
248
768
570
215
662
392
148
506
738
323
537
341
236
844
57
183
483
500
991
549
36
840
293
928
707
314
664
922
855
838
258
711
484
699
354
696
444
81
33
858
925
440
277
906
558
411
932
773
617
661
677
428
233
382
443
194
81
669
783
23
672
98
276
236
264
210
432
243
413
461
465
698
340
432
962
321
644
737
748
375
334
110
177
403
830
638
656
362
344
928
497
741
30
320
41
595
374
875
605
692
572
4
991
103
63
58
177
668
952
112
339
726
799
468
534
369
122
119
220
282
27
518
284
928
558
538
393
404
735
397
309
836
741
713
270
569
409
529
647
741
963
344
881
28
973
711
137
511
592
926
201
632
473
709
877
141
183
523
580
808
542
379
846
406
106
552
209
152
892
600
274
339
550
511
835
388
386
578
570
915
81
811
189
686
420
327
918
556
123
157
826
557
666
360
856
306
23
137
337
846
432
911
423
807
585
956
141
530
161
225
706
423
224
485
311
324
831
722
878
140
125
55
146
331
296
86
37
92
73
664
440
232
810
577
458
836
812
532
658
736
277
124
64
737
119
178
481
295
983
985
213
67
955
437
416
316
835
44
123
701
356
99
436
357
378
30
530
504
953
105
857
50
96
220
400
777
259
450
906
731
793
411
776
390
133
246
688
27
46
238
105
439
50
610
509
876
17
109
611
567
76
294
764
727
131
332
558
290
706
247
841
907
408
217
479
958
930
529
760
385
447
216
706
206
208
252
488
438
345
399
779
8
213
473
152
936
66
809
570
701
519
215
595
256
32
507
203
585
602
49
991
43
956
353
106
981
812
900
475
325
175
827
759
829
215
15
984
706
27
431
4
224
429
257
783
630
14
487
961
471
877
164
370
957
787
373
910
551
77
437
725
340
224
496
704
94
876
793
104
130
105
562
563
217
769
343
834
815
176
933
307
866
703
946
832
217
598
131
378
497
997
186
780
941
67
782
234
222
290
922
180
811
121
556
932
789
647
570
745
292
401
905
996
997
226
555
828
119
881
642
896
419
150
594
842
633
350
670
721
534
470
760
898
567
652
408
878
654
375
471
85
249
463
713
901
229
40
858
137
488
614
358
699
422
752
170
410
606
246
350
824
47
209
154
401
379
298
657
597
240
146
575
250
847
109
133
168
487
669
305
941
258
151
694
847
848
955
665
155
618
163
51
280
513
198
936
986
589
205
542
316
47
959
215
969
727
396
874
629
928
308
48
135
295
369
813
443
253
399
511
52
135
700
139
934
719
385
672
41
353
831
404
139
247
798
591
57
779
270
291
465
853
814
314
901
470
68
645
116
642
18
502
757
723
859
453
28
28
594
655
242
342
975
336
145
549
57
77
422
151
402
354
114
885
943
28
518
990
608
175
735
952
85
731
244
679
500
896
738
173
387
159
993
689
37
91
739
296
217
780
319
512
269
863
436
377
841
684
436
966
813
964
388
776
521
773
676
921
50
280
958
299
179
929
117
191
548
236
249
832
773
351
854
565
487
912
120
93
784
467
592
242
111
930
606
355
441
120
539
129
462
411
339
263
601
934
804
759
933
549
775
100
412
45
741
811
397
606
347
117
163
626
973
473
931
378
834
800
958
867
26
128
420
435
571
172
116
358
796
120
537
678
289
500
437
30
304
561
892
27
702
26
728
94
439
442
350
276
156
580
236
643
658
528
800
425
924
179
884
852
836
763
892
43
980
1000
447
945
734
195
508
451
335
311
75
365
787
646
986
782
268
247
790
801
171
612
377
224
30
527
871
29
355
142
240
989
856
487
261
713
593
682
749
811
370
42
385
609
69
111
146
27
702
426
37
848
643
471
784
535
920
843
221
213
419
128
300
187
594
378
97
595
572
337
676
415
568
789
415
49
161
474
220
140
300
39
100
130
875
398
718
262
314
682
863
432
917
704
293
292
631
471
995
507
488
834
737
911
239
790
735
582
578
304
326
526
937
789
860
768
20
517
397
102
150
322
381
670
8
921
211
843
523
58
499
573
548
473
852
504
399
372
220
651
544
681
207
396
497
893
255
845
462
678
274
383
378
805
123
358
807
92
333
417
537
275
581
939
849
687
742
418
188
616
785
367
305
19
375
543
91
61
833
833
948
591
988
156
989
233
572
130
337
250
4
33
498
713
816
830
133
809
516
617
523
282
379
880
703
140
510
375
537
728
555
286
967
214
576
539
308
313
953
809
711
840
648
803
896
274
813
859
793
83
505
769
16
972
222
4
986
602
99
188
79
538
846
770
381
391
931
303
522
147
101
665
580
674
41
840
226
275
889
591
127
926
340
460
131
551
294
85
882
272
337
697
365
71
894
48
301
742
507
714
475
281
576
903
827
132
834
407
590
806
994
346
845
443
289
660
597
818
74
125
912
152
273
813
665
828
208
514
222
797
281
628
698
996
26
416
504
608
319
321
548
336
892
266
819
186
838
443
69
421
532
158
958
455
200
674
350
462
415
882
398
385
957
827
697
852
799
781
29
213
455
609
212
570
585
616
96
171
526
947
39
31
364
864
84
930
305
920
612
256
310
113
478
273
429
609
488
482
813
502
625
727
132
407
598
556
992
353
143
139
25
593
996
755
485
447
597
434
565
223
440
861
165
607
378
52
482
635
386
637
665
513
15
794
696
117
222
40
871
926
361
66
477
551
837
810
765
756
372
762
889
66
843
271
272
633
419
277
759
13
40
479
996
921
364
377
719
810
954
73
1
345
833
930
74
456
533
440
22
657
410
721
516
771
321
57
753
15
699
851
959
645
715
125
109
5
470
456
20
877
109
868
608
483
333
720
891
372
32
85
258
653
666
450
659
773
594
849
605
65
731
666
305
811
836
442
829
462
207
977
931
933
801
904
38
640
580
703
971
8
427
798
150
759
109
4
403
158
570
68
6
772
316
490
242
17
766
90
618
904
218
56
824
974
541
287
687
349
741
931
656
186
364
918
788
622
40
171
849
429
572
905
865
232
677
101
405
80
848
815
943
606
857
426
877
774
82
353
178
439
187
9
171
555
703
986
665
894
663
554
507
547
812
554
624
334
836
683
819
471
689
995
884
504
381
138
97
544
523
525
786
344
502
104
457
557
431
914
918
854
899
891
947
198
111
694
311
694
247
455
361
909
695
431
4
438
392
512
588
832
654
420
115
660
729
212
255
644
822
407
814
280
456
632
689
329
878
219
838
843
673
563
467
194
859
397
460
654
532
335
74
677
556
204
26
959
884
664
436
742
847
626
490
572
143
766
352
923
328
221
559
656
319
218
90
306
797
925
368
548
421
315
667
12
449
201
813
842
704
895
587
968
837
115
945
122
442
892
50
28
960
219
65
40
208
81
910
742
33
358
418
663
855
776
892
321
790
749
630
256
657
454
842
596
392
960
277
937
320
549
32
36
278
643
241
871
814
903
787
107
535
136
738
940
241
614
951
535
625
303
167
49
193
267
967
272
547
220
171
511
301
789
585
210
767
566
564
171
941
414
474
954
503
847
7
207
298
492
250
194
183
796
576
780
252
149
692
480
175
583
641
949
782
1
176
463
114
681
659
550
852
455
574
878
403
515
819
937
992
295
163
841
727
242
653
779
16
567
293
259
656
295
17
336
597
987
844
387
683
538
94
888
650
373
745
852
255
148
302
234
732
825
60
685
653
594
257
457
915
655
426
167
784
326
188
362
840
289
853
529
239
22
441
267
907
653
161
822
168
530
976
89
813
756
570
496
838
853
992
868
884
473
210
497
930
785
85
189
930
762
581
922
920
83
568
161
546
810
221
547
125
267
869
871
105
831
108
764
239
418
133
511
865
522
561
746
449
595
426
581
926
399
669
864
464
724
199
864
967
521
502
688
22
76
887
78
1000
313
639
100
740
697
801
398
563
506
773
325
349
407
703
270
98
410
416
940
677
225
710
181
431
20
973
151
953
336
417
331
600
686
706
887
255
965
391
359
451
345
352
530
193
774
421
578
742
541
423
311
164
629
185
358
686
729
449
675
744
875
204
623
161
605
694
189
69
467
249
604
23
439
99
757
267
563
588
293
248
654
489
230
296
470
714
268
851
151
300
677
743
20
453
817
789
96
353
899
445
773
598
528
304
175
443
965
989
632
452
788
420
551
759
831
436
760
946
847
543
4
410
338
852
888
205
390
375
5
570
146
468
390
716
777
598
699
25
394
569
742
495
395
37
49
117
151
416
214
894
776
256
610
383
949
815
927
942
432
792
700
387
946
144
614
361
552
498
921
528
530
920
729
668
24
678
304
830
412
253
736
982
418
995
533
3
497
758
716
454
893
340
20
273
106
748
640
449
173
141
780
763
323
821
925
881
39
785
387
448
543
132
149
348
1000
152
467
943
508
966
7
957
81
433
476
643
377
427
912
979
885
706
757
1
648
329
824
743
377
978
113
947
969
621
173
399
51
638
372
718
139
929
14
453
406
542
701
631
859
42
739
215
919
180
640
557
28
435
999
554
923
630
109
122
628
151
665
609
82
262
864
898
516
621
964
345
381
392
150
108
653
271
142
104
802
353
531
621
592
982
278
537
127
677
143
239
258
735
91
570
526
360
850
564
327
40
887
302
865
399
50
955
762
959
967
962
917
77
116
341
297
819
154
334
884
690
701
923
919
946
264
300
917
679
418
18
663
994
660
374
564
367
600
581
250
711
238
392
311
773
169
159
389
219
462
744
646
189
810
308
776
136
322
787
329
499
974
736
107
133
305
354
775
425
423
695
640
746
764
470
754
180
324
392
123
534
294
708
805
213
112
434
125
914
960
797
58
22
630
581
75
240
524
394
385
226
264
325
569
992
999
164
52
367
81
63
727
113
166
556
306
137
192
888
671
866
914
920
559
996
840
261
411
767
505
868
118
384
940
92
693
437
141
13
605
983
70
988
617
454
442
487
523
738
152
701
58
531
687
878
628
597
291
32
221
617
954
490
30
168
542
725
839
729
497
58
212
761
568
106
863
625
1000
315
382
512
434
495
647
626
538
71
836
556
36
662
967
183
397
673
258
445
886
838
407
18
83
11
139
278
254
64
907
917
149
458
732
246
900
879
541
512
706
384
217
545
887
634
812
634
724
145
17
872
210
945
26
62
483
689
423
956
229
49
527
761
802
172
965
828
153
91
868
930
896
233
201
800
48
609
204
453
975
815
846
339
124
733
455
573
955
686
430
317
274
870
52
885
895
47
891
322
113
897
309
962
10
873
796
6
6
130
719
217
393
887
107
660
817
582
737
815
789
303
672
489
365
292
829
728
49
740
861
279
844
734
870
264
126
944
29
424
667
580
155
640
715
221
730
517
497
336
603
450
911
723
858
962
436
622
941
100
499
970
133
308
629
108
920
535
732
277
621
271
745
394
869
855
712
952
211
651
99
324
126
645
740
435
210
591
389
535
167
91
256
752
501
893
292
238
462
240
207
943
932
353
396
513
368
953
988
351
858
305
232
628
622
410
298
919
17
848
360
164
205
238
527
892
163
460
775
951
662
589
550
557
137
940
113
93
155
766
23
939
290
915
381
607
804
206
559
563
451
336
228
430
130
928
386
719
847
693
968
827
632
754
366
829
666
901
855
464
811
905
466
853
184
57
354
664
188
787
63
847
621
533
383
624
119
66
692
81
176
103
774
600
454
346
93
363
887
78
441
337
344
45
676
462
269
634
985
269
741
303
768
766
886
805
732
241
407
985
257
581
298
847
445
794
459
139
486
714
38
922
187
263
775
465
522
226
576
319
83
229
791
644
159
507
413
656
968
64
511
602
266
67
752
790
148
627
757
42
348
685
416
370
789
341
981
827
424
814
936
251
635
208
175
44
602
378
985
237
78
497
691
836
946
370
595
830
798
152
14
325
510
882
809
972
466
173
785
219
645
467
722
976
249
497
643
927
952
983
66
97
110
144
668
265
484
296
770
456
128
655
479
89
65
513
181
277
346
77
296
438
838
615
854
636
864
37
515
4
410
648
103
190
180
649
588
37
197
861
730
576
15
297
265
994
848
442
605
459
102
540
502
525
839
736
37
417
691
685
581
624
627
101
94
129
741
773
240
35
951
787
310
575
57
14
878
229
167
491
452
197
843
932
110
554
710
475
265
234
420
741
253
373
62
394
389
691
91
730
521
283
827
232
849
638
398
660
990
737
784
989
819
805
249
456
634
667
34
6
565
683
667
711
972
921
591
84
756
574
139
768
149
610
45
789
562
315
800
401
474
688
150
577
222
614
957
364
741
358
458
646
996
224
674
334
862
120
358
658
688
398
413
5
635
561
129
717
161
340
972
363
678
206
881
255
521
598
205
410
837
12
489
721
892
630
260
848
627
355
886
209
962
964
329
509
493
559
329
436
729
696
146
529
953
336
495
692
113
259
715
560
911
692
535
679
364
675
22
514
711
141
431
365
451
754
699
632
709
313
285
264
842
936
895
879
434
276
388
770
361
753
829
948
624
171
200
455
45
82
784
383
697
974
590
463
182
691
496
594
455
482
953
404
938
747
217
791
69
842
71
387
281
268
903
88
652
220
831
83
87
706
296
319
965
424
155
977
642
141
865
316
56
585
766
190
943
769
855
683
892
198
647
512
476
661
938
327
273
146
307
563
406
987
188
269
588
492
224
197
347
168
386
500
205
162
61
568
141
660
874
911
557
828
543
487
322
331
472
558
212
576
86
976
183
635
167
784
494
199
551
151
640
41
589
966
431
187
741
840
296
418
486
912
113
758
496
573
399
353
716
173
730
495
497
844
610
576
468
787
861
444
158
787
761
984
713
233
811
727
199
654
25
946
123
602
34
30
777
757
180
855
942
275
962
530
288
748
884
142
554
598
779
96
191
394
148
188
723
351
940
851
483
240
419
866
767
21
497
428
680
804
962
651
122
135
514
485
415
190
459
515
66
199
143
345
22
285
4
59
569
989
143
799
719
902
916
593
521
225
910
448
247
554
52
118
812
897
300
133
87
711
537
420
25
758
817
301
609
718
99
728
700
759
944
383
775
756
423
647
434
437
688
527
254
479
202
328
295
542
631
247
65
248
821
66
281
402
29
842
104
79
838
801
826
808
778
657
186
719
687
223
581
439
288
509
441
483
293
425
963
90
560
885
197
758
510
336
212
229
29
714
704
302
562
371
933
646
963
821
317
748
918
7
381
218
480
376
991
951
271
259
960
62
471
931
220
73
544
237
675
589
991
876
763
549
115
264
543
231
908
388
785
331
663
245
181
862
878
217
266
55
327
263
65
185
918
880
800
21
103
584
207
596
165
104
146
140
649
550
229
300
587
593
129
226
922
59
71
707
720
454
784
303
338
584
833
354
719
870
828
786
355
947
476
903
283
834
833
721
684
299
375
955
247
49
726
449
528
15
969
728
895
315
456
341
547
461
983
835
295
972
960
524
450
842
978
721
211
264
782
703
419
579
191
494
380
669
963
511
763
939
938
189
220
555
61
8
498
858
33
727
261
726
416
227
770
173
989
91
850
704
29
925
291
717
976
493
935
817
653
914
231
988
767
538
972
435
980
632
225
342
187
668
268
925
21
840
426
928
767
403
295
170
46
594
786
803
627
142
785
724
705
884
985
963
795
549
661
941
180
586
679
213
478
795
91
653
499
618
1
114
999
166
230
236
351
450
496
442
407
825
444
149
44
363
893
878
983
723
62
261
443
90
418
882
152
949
972
570
18
749
554
957
503
31
591
133
361
203
428
762
952
955
32
287
781
248
261
781
243
926
495
504
846
259
542
507
303
134
212
451
983
211
859
341
178
58
463
96
497
203
568
666
541
57
488
936
627
879
710
814
11
294
349
679
497
409
874
866
767
229
10
966
82
892
911
498
203
239
232
962
546
367
686
340
600
100
43
902
566
781
291
538
72
369
860
916
510
606
396
490
256
939
552
722
576
951
664
957
489
270
995
21
262
360
399
6
471
79
927
664
775
650
863
493
639
502
146
939
244
468
937
42
745
9
355
548
846
431
35
729
380
567
207
113
225
18
477
928
424
851
340
282
790
595
713
24
672
495
477
791
777
220
100
949
112
678
859
29
188
128
148
754
598
540
587
976
948
28
407
664
916
216
670
563
923
625
425
340
459
495
810
806
645
991
454
280
23
390
262
293
852
700
831
591
451
113
274
849
230
850
198
575
108
250
951
467
939
389
7
837
436
144
563
836
815
368
966
875
73
749
616
48
343
35
363
365
276
492
222
313
768
899
444
577
625
890
586
770
966
167
262
662
267
971
645
720
925
198
684
728
172
732
167
867
957
864
474
951
143
189
864
397
9
967
631
147
569
763
312
977
670
107
405
532
167
37
734
12
757
640
672
612
181
139
943
726
582
624
587
424
804
291
6
921
256
905
699
578
785
274
411
481
669
716
944
803
476
834
805
950
978
465
198
965
802
309
600
787
737
576
321
749
895
981
988
101
30
543
851
482
367
934
180
973
209
597
792
784
486
429
910
686
111
611
163
14
717
75
505
438
870
164
231
722
383
307
80
390
670
874
609
549
427
947
647
108
74
439
649
306
515
856
205
753
776
981
792
161
970
969
86
576
898
632
812
163
270
204
141
582
193
477
130
547
106
40
535
411
763
260
616
540
236
768
227
791
164
497
561
607
612
685
416
145
4
891
742
360
538
763
521
160
399
192
761
581
834
551
478
438
903
889
72
63
244
327
425
525
772
400
389
234
583
784
57
919
678
629
381
760
357
754
212
892
228
50
848
594
847
754
487
194
923
713
793
177
890
351
937
980
387
806
67
737
852
652
149
544
14
675
514
910
526
395
254
683
368
449
799
126
944
448
667
786
968
661
327
474
351
713
617
964
311
502
946
1
806
711
752
818
254
617
357
653
180
372
386
671
109
581
393
316
508
791
182
337
71
445
613
656
956
980
317
783
847
1
870
732
885
872
437
232
577
664
792
567
738
108
953
576
449
106
335
157
758
377
470
151
574
48
855
602
764
315
410
221
29
845
362
338
471
247
126
751
151
760
875
660
103
291
54
301
453
83
71
3
273
575
709
117
789
467
646
683
385
617
575
761
605
153
56
56
26
107
185
856
418
950
576
309
112
633
951
777
860
143
846
322
746
108
536
375
927
698
334
331
57
921
818
59
267
425
383
337
479
86
759
825
644
991
779
456
236
901
718
66
935
919
13
700
1
887
7
228
260
976
650
859
972
41
756
667
131
595
506
468
863
644
372
274
714
220
530
49
533
180
145
705
579
720
591
100
254
97
818
299
542
267
578
523
853
465
144
7
472
331
506
459
206
773
757
936
170
666
531
733
842
399
894
307
685
459
78
361
627
526
768
944
678
5
476
843
772
505
650
598
702
584
812
172
665
952
959
706
509
415
890
795
242
99
901
411
743
831
508
959
908
150
477
915
643
81
450
169
234
684
889
521
605
398
890
695
914
361
663
921
726
224
115
353
743
451
26
576
700
736
761
7
570
964
348
268
653
83
974
501
495
391
696
153
814
953
175
980
786
334
795
897
111
384
365
804
243
531
961
737
61
961
126
512
24
68
787
528
578
787
764
553
144
771
656
133
548
870
258
717
154
69
358
718
285
837
943
509
725
840
382
796
249
103
102
881
142
999
668
95
619
892
899
70
922
869
886
589
587
765
318
466
74
587
524
267
503
540
47
740
708
70
350
474
213
745
469
672
10
312
46
909
219
12
193
400
800
32
58
613
509
49
808
38
170
938
974
519
192
76
764
874
947
131
969
412
280
886
587
604
950
417
125
361
237
918
818
306
304
549
680
979
168
978
387
121
275
659
490
71
749
520
318
830
383
415
283
515
264
617
963
808
776
658
476
452
367
20
176
39
91
548
622
123
429
957
111
164
312
484
795
931
581
556
568
765
345
322
436
553
823
45
57
333
308
646
496
205
804
113
18
648
773
140
901
363
143
91
860
508
439
301
643
553
400
838
752
16
996
26
69
12
64
474
342
902
137
847
133
328
166
363
821
556
991
821
698
375
387
988
27
758
434
359
164
125
771
603
491
293
38
501
978
187
400
827
614
916
636
409
844
123
659
548
407
370
744
107
649
911
939
808
453
423
330
728
447
104
900
541
26
120
659
785
17
534
657
328
553
707
222
249
814
647
501
545
816
952
962
439
363
783
10
567
606
788
307
3
391
1000
680
902
725
525
736
504
247
272
430
423
529
48
871
384
423
125
587
71
427
736
328
324
206
75
229
689
24
49
827
270
785
417
989
867
823
990
282
645
346
223
689
963
665
901
878
515
960
608
410
673
331
295
360
729
328
625
872
805
993
688
22
304
659
334
227
156
423
635
147
571
254
918
635
625
144
429
873
860
589
889
228
963
953
160
730
732
940
744
344
809
484
108
333
34
866
645
116
900
740
665
970
294
86
946
808
592
772
244
79
236
566
659
486
113
926
883
844
413
845
194
909
157
338
511
396
249
929
943
741
745
602
62
378
998
277
544
444
480
783
917
830
392
702
921
481
590
208
360
661
999
212
407
674
416
699
25
182
556
128
555
841
227
193
526
436
805
991
457
78
513
903
732
329
595
83
651
286
149
458
394
777
263
611
960
818
74
700
90
381
587
846
834
362
379
54
669
348
800
768
28
405
951
656
688
664
458
32
708
913
68
659
516
743
168
284
301
77
583
397
79
44
460
152
686
241
596
325
454
406
297
436
551
381
765
925
758
70
27
328
996
737
640
986
47
640
762
679
719
469
665
953
189
466
481
648
365
456
753
248
894
190
363
258
869
586
567
762
390
440
112
669
876
162
911
933
423
912
322
223
572
283
864
75
560
330
111
558
503
317
566
909
987
21
586
334
220
824
783
449
264
89
873
389
824
541
671
679
755
431
753
357
756
305
348
694
663
88
165
69
400
13
207
239
912
659
100
262
340
983
84
803
298
767
649
425
345
345
691
715
651
829
233
809
432
303
958
906
926
603
276
921
557
401
171
259
472
251
848
33
808
142
58
741
901
921
41
530
135
582
214
717
281
73
104
123
997
755
511
149
613
34
599
247
465
57
383
576
786
536
109
190
646
927
140
84
476
210
249
743
488
465
694
663
697
286
23
439
310
834
354
643
959
977
774
668
638
562
571
132
229
292
267
227
169
113
787
621
180
262
653
100
960
332
784
207
398
825
355
522
166
635
164
75
542
850
129
630
903
52
875
201
628
37
830
248
80
488
909
419
924
692
644
603
282
815
576
304
148
607
819
36
16
663
997
529
921
531
139
995
932
10
711
636
700
980
700
863
824
954
538
377
633
365
711
436
516
259
91
78
42
682
382
79
945
557
596
675
510
246
138
882
31
309
890
364
751
219
697
347
180
885
761
43
744
904
769
427
471
388
18
948
828
59
408
955
890
78
938
199
712
708
272
761
177
507
977
137
610
194
326
42
115
734
896
666
968
457
747
770
360
229
703
997
469
783
49
205
123
335
37
494
294
503
708
789
300
390
906
525
828
384
800
8
881
888
916
511
289
707
418
986
716
278
386
593
964
258
895
885
963
270
994
588
22
728
96
405
822
768
848
164
119
262
308
931
363
777
128
419
224
138
483
140
548
917
696
267
412
821
865
97
759
389
304
333
540
878
272
166
443
516
322
257
48
488
538
271
678
228
101
611
324
542
903
307
755
90
383
829
333
572
358
762
109
741
401
837
494
988
218
845
178
870
560
315
982
367
444
669
24
72
836
754
929
789
483
288
788
212
313
742
235
445
642
652
335
154
466
151
921
13
271
764
641
972
120
159
272
544
273
597
777
1
204
265
178
834
707
576
559
346
705
744
427
533
505
669
207
711
474
202
873
474
579
390
581
659
755
165
703
956
828
266
842
673
611
876
255
981
815
572
602
618
621
723
92
666
147
369
914
485
497
975
297
338
812
173
671
515
519
759
186
32
992
777
251
73
934
438
903
398
142
50
486
890
704
834
601
235
329
746
291
522
259
955
166
162
115
639
542
155
141
170
694
143
500
521
12
112
692
986
173
877
700
872
475
671
167
874
82
267
765
256
293
65
932
802
862
477
322
731
68
779
632
419
463
303
958
838
203
491
476
43
431
848
8
957
440
295
35
904
237
750
767
96
713
46
193
295
800
429
409
396
905
957
150
575
427
117
112
916
329
801
623
186
614
642
177
494
17
334
631
121
407
207
147
736
162
808
522
508
311
660
206
431
277
681
118
243
916
984
371
948
914
884
144
849
729
1
243
408
25
269
319
980
893
524
354
690
291
92
758
251
772
455
352
569
7
652
587
319
595
546
575
531
351
438
904
387
618
845
751
77
118
409
488
565
523
25
874
553
262
267
895
753
987
121
504
824
812
829
847
982
655
388
18
324
2
873
43
384
954
282
584
297
703
61
796
211
466
794
877
273
474
811
138
592
814
632
795
79
829
220
295
944
262
988
718
948
548
417
656
213
499
871
53
500
99
946
657
379
304
252
108
681
535
41
206
887
46
511
543
929
411
926
548
943
242
918
935
138
582
475
720
846
610
134
223
215
949
869
982
776
343
984
37
271
490
99
877
728
541
971
207
768
156
438
806
496
27
293
947
153
465
231
268
910
993
322
499
788
879
641
165
726
190
811
251
226
288
180
798
860
604
301
598
135
195
177
468
891
847
472
63
422
417
510
822
3
707
422
460
348
409
243
327
792
560
118
102
698
510
12
531
620
612
505
332
302
730
291
997
437
174
9
899
450
874
879
61
249
420
425
940
18
118
249
799
653
351
427
600
335
342
592
856
121
900
188
545
113
818
696
31
959
409
851
898
974
78
8
755
107
913
837
363
389
53
493
868
218
957
224
562
61
799
163
327
686
886
696
845
78
409
374
750
547
831
792
98
361
932
272
938
434
837
441
323
226
386
989
761
6
837
33
4
102
195
448
65
532
452
503
521
715
630
912
490
552
786
167
154
266
96
613
336
793
713
308
422
442
334
98
887
763
334
741
788
268
872
132
820
707
575
845
5
134
323
300
605
833
128
808
611
534
337
641
45
10
194
65
346
310
310
948
327
336
739
175
518
474
171
591
264
270
208
615
576
886
830
974
586
255
914
243
419
350
125
993
453
989
564
403
206
929
344
106
569
792
611
924
685
530
655
875
548
731
405
494
318
49
29
108
418
434
347
144
707
649
484
941
423
766
496
840
114
942
735
490
503
797
342
419
63
157
584
939
102
732
707
342
331
570
621
160
202
737
965
28
805
763
90
243
716
822
53
737
19
497
969
546
655
231
978
252
353
273
636
126
688
983
768
833
185
855
667
665
14
526
86
208
510
327
620
257
669
642
949
558
793
469
877
660
680
62
282
757
81
520
887
894
699
446
236
349
634
612
371
280
22
659
499
995
611
433
350
291
120
524
50
380
558
921
47
832
99
473
56
831
739
41
26
804
714
769
881
109
567
939
119
76
849
232
409
143
657
32
4
214
588
638
128
665
273
822
484
591
290
226
703
13
187
508
835
746
297
972
980
564
219
668
764
84
187
580
625
553
976
587
851
308
697
337
867
261
565
13
523
168
725
288
51
805
294
401
910
422
50
381
941
29
632
952
162
88
661
523
6
224
952
980
59
378
853
716
122
673
815
421
988
912
464
707
414
250
833
539
635
80
916
813
187
575
358
110
958
669
947
862
153
451
536
658
284
109
172
421
415
573
488
529
604
958
886
725
913
757
631
853
407
491
729
7
282
166
420
714
625
498
129
129
349
274
26
45
530
668
657
710
699
562
716
84
661
150
688
160
42
176
958
420
107
183
16
316
315
45
519
933
744
883
322
580
754
183
81
188
239
565
622
760
357
184
134
72
919
207
115
21
487
122
179
734
826
924
50
634
529
371
492
120
546
558
529
445
845
63
992
664
642
756
373
229
459
187
960
928
775
142
457
381
192
550
646
244
837
450
148
585
198
109
22
658
696
733
758
423
112
398
207
734
362
4
130
66
266
39
328
3
671
932
783
503
676
584
843
123
821
448
230
956
758
169
593
47
330
381
387
432
997
718
98
745
254
479
208
568
988
685
873
280
755
436
933
209
601
588
783
303
337
789
612
381
192
790
698
245
336
790
779
603
86
301
980
781
512
620
441
690
783
567
565
341
796
565
757
501
590
492
654
749
548
7
64
278
650
178
301
261
900
349
142
528
555
125
387
570
14
240
861
607
17
881
786
581
338
700
603
437
295
370
714
991
195
30
111
31
340
396
540
993
282
598
648
761
860
65
585
638
919
880
621
523
768
91
671
676
119
362
56
248
710
260
433
899
820
166
582
426
647
503
689
321
860
518
795
556
679
343
352
707
520
420
176
726
578
693
684
294
726
129
931
717
745
245
896
713
239
328
413
335
523
934
363
447
410
77
22
874
104
231
987
354
336
929
709
904
463
227
456
69
510
807
506
792
38
774
440
321
266
521
701
650
109
150
979
486
645
23
571
624
87
1
592
911
470
778
804
702
161
540
866
807
744
848
17
465
24
239
557
786
688
570
2
469
619
512
461
308
4
930
605
161
127
122
584
618
198
993
378
529
644
298
374
962
38
18
395
894
254
800
35
129
485
104
886
531
469
430
200
624
682
488
571
36
218
713
470
30
825
863
854
623
867
748
602
344
996
320
255
770
962
460
353
351
308
784
735
897
657
744
260
335
921
50
810
988
36
241
865
667
778
793
588
354
777
733
173
86
131
158
133
944
878
390
332
716
201
789
801
888
393
365
839
115
544
427
430
196
386
476
766
917
959
416
549
790
567
955
786
865
22
756
983
297
303
504
22
276
572
543
500
270
976
161
975
255
740
927
410
774
891
684
67
192
342
945
243
502
178
482
557
362
730
832
906
861
418
287
856
653
423
698
970
685
930
95
504
756
104
655
974
517
936
83
334
330
820
780
888
626
58
518
595
979
454
513
147
195
860
864
40
64
815
369
871
339
378
613
269
666
920
53
197
899
860
541
827
247
308
366
847
170
165
412
840
809
446
504
331
1
533
333
200
600
598
609
433
935
675
282
577
673
698
693
875
323
398
526
763
842
84
301
297
578
220
920
143
846
171
508
952
2
676
332
279
757
385
145
764
857
287
678
906
945
959
327
637
612
376
307
845
151
398
686
161
535
215
721
602
455
716
895
114
61
184
872
680
210
771
358
398
606
920
521
868
222
274
172
309
760
649
403
27
746
311
739
285
29
168
176
141
84
455
621
520
554
172
407
664
844
809
515
96
485
902
67
411
154
547
464
529
930
296
284
535
395
799
648
860
659
123
342
346
236
958
394
708
990
795
161
992
33
736
251
901
531
813
741
278
896
553
242
609
698
63
321
142
960
101
675
105
197
413
237
548
676
152
99
545
888
311
703
825
167
941
296
436
703
360
29
720
946
722
400
655
553
54
989
683
552
317
517
187
397
157
349
154
906
731
461
964
893
405
772
866
430
195
465
461
311
513
613
447
235
181
976
925
641
673
310
829
936
254
910
404
51
19
400
232
875
821
968
953
151
751
354
758
828
120
880
668
709
882
760
843
471
31
699
446
764
817
562
104
180
530
487
610
303
211
360
343
946
886
36
794
933
829
2
727
470
916
459
738
222
348
958
416
727
891
779
878
629
320
222
160
564
920
881
887
207
752
710
623
112
895
433
553
504
998
418
479
93
331
642
640
334
940
808
516
284
680
956
628
339
644
170
295
727
952
86
479
535
967
951
120
464
727
944
820
246
809
274
347
842
887
376
185
122
969
153
282
718
655
791
215
148
819
140
223
79
760
59
964
840
246
371
373
901
837
290
697
30
571
287
682
300
355
345
825
939
404
477
860
247
694
208
884
452
639
414
96
442
181
582
683
762
46
56
244
105
164
301
37
838
173
549
502
761
473
451
709
354
507
534
853
317
839
295
469
36
104
783
773
967
102
361
415
591
150
149
6
746
294
328
935
638
148
93
390
765
927
548
978
329
706
239
34
442
74
339
510
578
111
735
343
277
61
390
304
72
167
372
672
957
871
920
465
499
993
728
632
871
570
420
325
659
731
806
304
301
366
125
614
387
396
915
891
874
95
552
39
470
292
779
580
45
256
736
670
972
731
109
619
688
897
13
788
654
990
134
895
71
949
481
71
406
727
820
525
793
836
479
275
874
304
773
225
458
441
718
805
704
736
62
490
153
767
920
811
74
201
446
835
24
863
69
718
457
348
749
639
506
865
655
315
763
830
370
343
1
209
510
818
315
795
162
28
59
378
107
538
317
272
179
651
364
737
429
54
739
669
8
441
72
305
775
35
808
840
708
241
300
545
124
98
520
427
556
805
834
494
901
368
846
428
114
328
321
826
276
604
574
209
354
717
542
674
353
58
940
410
814
384
523
296
862
460
498
450
37
579
566
911
214
759
882
595
774
519
488
298
40
530
404
791
700
855
614
982
573
186
651
723
613
228
337
84
481
382
516
799
372
936
288
186
29
273
333
26
53
1000
416
770
664
501
40
980
61
117
535
76
400
72
560
324
191
297
134
467
619
500
802
594
878
191
498
612
134
886
979
185
110
381
450
92
643
804
157
777
758
154
253
247
936
149
221
626
312
524
490
349
456
342
665
454
244
527
946
436
96
535
910
873
501
62
825
388
324
708
41
563
867
783
823
70
24
809
178
663
175
828
881
641
638
322
869
70
605
396
655
338
497
919
207
609
571
440
3
335
445
77
589
291
919
1
57
509
107
823
284
99
429
952
654
175
443
974
253
16
874
163
202
150
419
553
880
262
92
372
267
707
930
240
551
927
847
264
430
260
334
24
250
476
439
541
236
860
204
446
604
822
310
1000
249
834
166
71
48
928
147
877
557
154
935
99
32
142
194
996
234
355
915
234
462
727
791
478
605
97
974
235
782
289
347
31
318
704
255
774
376
62
269
96
566
244
139
495
236
257
556
371
978
7
727
434
39
923
63
467
3
442
444
182
85
54
668
730
819
898
640
433
763
857
831
504
78
745
292
824
466
432
283
327
44
711
175
199
139
286
832
864
905
510
119
705
879
412
531
568
330
103
200
344
270
873
682
362
560
163
4
900
367
113
433
837
588
591
293
370
524
437
941
762
229
144
727
291
466
381
343
902
126
529
466
624
308
919
34
427
1
528
792
70
426
719
971
431
697
998
103
980
364
902
6
325
808
821
897
236
204
17
487
126
955
132
602
768
75
180
601
913
6
430
374
576
719
587
215
966
789
362
222
435
302
872
185
368
103
313
73
635
885
989
395
66
68
89
641
448
235
600
987
695
133
304
213
173
907
167
541
647
268
286
717
936
761
202
186
190
168
604
683
617
351
385
874
623
498
519
961
566
857
510
320
769
486
968
307
990
482
458
334
296
425
899
211
161
501
668
532
660
869
45
560
839
370
790
682
670
585
459
20
555
598
508
146
960
558
409
240
645
269
708
181
874
595
452
242
186
433
473
75
549
345
765
608
222
758
599
354
199
758
85
337
929
137
591
561
879
315
818
470
610
165
349
330
251
558
166
868
666
676
1000
753
112
728
337
727
943
747
581
273
714
560
189
722
90
860
530
603
133
546
876
876
825
145
195
385
226
193
334
522
259
869
820
610
920
107
686
973
672
612
704
1
876
932
902
759
375
798
505
885
780
445
292
549
563
503
881
257
799
379
667
121
307
727
941
53
947
745
250
985
62
541
196
848
402
732
664
536
357
804
983
486
40
458
585
841
543
350
558
364
690
152
892
420
756
852
319
369
897
544
392
649
489
757
863
704
209
523
452
629
403
993
847
91
252
372
126
654
294
363
833
83
109
108
604
622
340
794
610
484
793
758
60
19
39
889
662
108
808
596
252
329
469
429
776
373
79
653
421
985
770
781
963
449
779
52
359
229
2
361
175
977
808
966
701
487
752
596
512
577
949
249
781
129
155
51
878
633
971
42
645
724
216
651
296
103
205
907
30
154
574
174
336
346
346
280
416
197
103
440
362
180
521
316
464
449
6
866
564
689
872
393
432
692
279
327
964
499
193
862
400
75
703
482
878
515
376
816
381
722
752
4
514
362
692
944
655
625
66
380
684
14
173
761
910
937
373
217
828
344
624
781
12
40
27
218
810
599
18
408
496
975
525
267
183
23
309
623
111
133
674
281
902
121
928
749
985
282
296
777
665
307
471
851
268
325
604
311
361
919
369
573
308
383
654
226
321
837
541
466
716
77
523
376
331
202
303
94
880
113
91
761
614
966
72
487
778
542
584
243
243
262
596
728
164
303
272
768
678
833
773
731
457
914
957
777
406
18
294
510
920
425
162
720
869
8
649
490
959
992
143
861
151
394
260
657
624
693
146
792
125
220
758
606
641
443
524
332
22
31
676
778
567
120
636
744
619
677
80
441
882
276
652
436
521
825
903
223
124
31
668
578
219
455
3
234
378
27
777
309
906
800
215
86
708
542
983
460
242
479
917
363
371
145
110
970
532
818
881
339
887
482
98
414
18
579
424
992
295
84
328
336
252
610
127
623
190
282
872
285
746
131
660
620
353
612
817
759
362
653
447
178
80
318
48
467
154
782
233
19
517
813
148
581
600
366
786
416
607
212
293
914
462
755
274
70
456
307
301
203
695
144
83
644
232
588
222
902
144
235
92
994
888
175
117
187
966
726
678
423
334
786
915
76
989
339
961
472
858
84
497
861
473
393
82
84
889
34
410
257
964
164
501
167
443
128
832
958
218
495
612
874
818
579
704
523
382
426
183
135
382
873
174
764
900
812
386
258
527
265
722
62
861
171
447
634
133
105
649
293
713
254
181
860
107
85
788
285
596
74
928
823
851
792
606
976
703
380
662
550
717
171
80
717
421
816
300
865
800
748
997
371
171
257
463
175
643
757
568
158
179
49
232
910
683
503
507
398
629
154
641
436
530
592
954
607
890
436
957
486
400
888
916
585
806
561
986
408
292
307
84
460
217
278
952
780
737
815
201
835
204
40
698
202
200
243
358
478
739
223
238
306
473
776
872
224
708
418
930
281
637
240
629
22
519
551
784
483
418
541
53
299
740
797
685
907
39
875
82
60
479
550
533
592
874
567
798
414
472
912
589
243
507
660
613
439
67
467
535
638
22
609
144
572
584
304
16
598
594
700
184
936
734
544
695
601
738
48
404
297
76
845
80
309
769
303
679
564
705
637
640
584
331
412
198
15
629
72
996
779
58
55
732
665
554
914
187
357
710
621
722
466
15
877
295
149
360
839
64
256
80
136
937
788
471
420
757
627
64
7
408
124
935
327
789
156
982
23
476
680
417
537
913
655
675
913
115
434
575
412
218
377
837
198
687
492
1000
33
613
355
382
421
347
446
946
115
653
288
875
216
682
463
190
372
317
665
969
739
866
421
605
433
662
42
61
171
841
623
266
687
479
655
634
296
297
909
195
655
349
783
970
392
469
203
40
763
751
555
211
912
27
798
317
628
108
111
969
713
563
940
999
215
917
297
933
799
469
497
575
485
366
327
198
832
194
775
880
388
69
75
253
897
186
774
298
328
819
939
851
247
2
443
163
449
519
431
210
39
382
728
436
366
648
943
256
275
301
464
998
197
954
350
856
453
253
416
135
15
228
373
264
657
307
21
52
76
327
890
219
86
699
619
488
449
829
615
423
240
967
241
783
894
979
815
330
273
912
248
955
116
797
1000
474
241
906
361
642
750
515
757
791
229
306
905
969
698
728
156
626
602
995
295
697
668
902
398
403
872
333
81
209
45
134
640
149
910
18
95
187
441
315
166
338
490
645
502
53
552
85
331
758
418
965
806
499
175
220
956
362
722
130
115
708
501
357
98
301
636
430
210
71
48
192
368
611
388
302
225
510
853
550
233
247
5
625
977
719
769
973
962
422
641
566
271
910
6
710
158
476
158
511
696
899
251
270
39
703
952
835
750
621
5
924
900
870
259
536
313
381
983
791
435
366
432
15
786
456
705
422
833
200
926
491
452
857
619
14
838
302
980
857
836
334
401
647
191
824
234
973
144
976
263
201
126
416
768
666
54
959
405
828
856
671
304
972
437
299
968
148
219
200
556
374
785
681
89
537
906
42
968
62
410
687
944
174
955
370
334
483
715
31
874
729
436
698
22
707
78
605
964
842
487
44
810
363
160
433
690
780
156
759
557
184
687
863
488
930
693
978
210
416
998
582
379
6
246
897
873
615
916
274
984
130
112
344
932
607
751
16
567
171
991
332
478
616
461
741
962
989
897
571
511
852
307
346
485
486
677
132
663
54
519
274
216
592
286
725
433
776
791
671
247
598
266
305
167
426
664
422
768
473
95
946
273
329
71
670
95
57
331
206
415
340
624
642
23
279
731
435
663
766
422
862
87
787
768
728
846
621
445
89
628
656
221
490
596
492
824
552
750
31
771
807
816
519
551
331
543
889
764
96
564
272
410
942
191
290
583
722
592
541
204
489
813
767
299
562
23
300
555
927
163
755
514
697
917
386
849
309
551
195
599
713
693
633
111
61
586
719
724
301
668
504
866
650
625
42
376
126
187
487
291
201
25
482
283
156
86
758
203
909
559
724
913
926
477
903
687
327
632
243
996
435
96
704
413
859
130
27
711
626
690
265
944
37
37
481
499
673
204
990
585
425
180
676
654
517
731
193
572
218
700
323
125
368
481
354
661
880
135
126
204
118
248
288
401
394
215
401
34
890
120
751
659
964
728
110
99
163
417
251
187
245
82
701
125
187
89
82
284
435
426
407
85
651
73
855
859
810
425
888
203
794
348
41
434
541
76
365
162
440
659
292
907
859
169
640
925
640
169
576
101
921
244
650
847
895
517
371
423
942
181
446
13
159
18
462
168
431
767
739
960
82
4
88
277
616
861
414
235
200
532
483
598
389
18
651
430
22
951
54
945
347
690
553
659
238
75
738
519
763
364
415
616
483
937
293
476
585
243
48
672
385
372
549
705
764
347
776
655
836
911
893
110
521
145
25
273
706
731
489
949
377
60
638
321
451
640
31
33
12
499
303
132
326
344
20
831
318
234
755
911
152
483
855
784
188
265
632
920
852
166
246
381
911
534
142
645
215
8
728
797
230
87
922
411
582
888
282
137
397
560
743
89
426
936
345
600
829
96
958
846
23
476
727
97
162
56
825
94
679
913
196
146
817
150
111
77
208
806
762
66
395
824
616
762
635
618
913
800
475
49
520
972
314
873
352
895
673
847
679
922
927
710
963
458
14
191
286
594
75
84
69
120
971
119
525
628
410
88
214
326
740
198
129
646
510
136
19
490
592
681
965
187
977
6
859
826
381
990
58
690
434
970
392
892
532
366
697
187
409
504
209
162
106
821
506
634
283
314
120
170
763
745
637
66
787
673
846
21
707
772
473
985
734
299
146
339
948
792
485
680
952
262
634
923
462
196
144
375
628
670
814
695
78
742
25
409
512
105
105
712
176
628
502
856
692
65
865
315
533
667
674
269
902
885
698
696
889
644
426
468
561
887
549
455
75
251
757
552
2
735
366
928
774
183
779
566
606
251
350
345
262
280
29
479
790
159
47
131
695
822
985
429
57
516
826
872
788
331
935
377
564
798
493
775
954
512
592
630
928
900
62
660
250
175
100
875
200
519
969
784
703
269
323
681
245
674
229
51
843
380
567
618
966
341
313
405
542
316
120
442
75
443
769
468
473
629
269
1
392
690
854
705
784
198
671
805
851
1000
686
685
808
238
239
424
685
488
704
226
902
334
925
145
502
273
444
484
742
385
57
563
192
574
901
278
648
543
104
37
887
848
996
209
793
545
42
167
422
953
926
374
348
15
689
751
17
571
406
714
925
632
672
864
113
385
76
316
876
248
908
10
596
742
598
203
295
348
752
501
849
799
204
422
800
437
204
517
346
380
716
475
425
239
814
489
737
41
320
398
207
817
192
758
645
76
591
45
301
959
255
675
619
455
559
354
701
474
610
565
956
929
827
679
900
236
722
237
349
797
7
463
77
101
751
959
565
61
2
812
635
56
221
88
615
976
895
772
174
219
888
754
116
213
475
361
236
542
481
310
811
136
653
648
400
349
185
434
445
929
312
438
553
47
37
100
461
559
330
370
435
648
597
802
220
814
825
454
776
951
570
743
696
908
873
377
609
496
257
892
874
381
221
115
597
668
976
95
276
300
776
644
454
543
859
659
350
976
869
820
785
359
668
93
668
711
587
711
938
712
513
928
134
287
674
944
692
848
630
785
674
212
779
859
866
659
607
127
98
934
70
526
183
251
699
371
108
537
484
926
964
192
142
272
641
639
125
842
493
809
586
774
24
486
594
268
133
143
67
736
629
484
257
378
511
427
141
224
997
654
723
365
385
201
92
281
638
746
64
695
985
424
349
364
952
2
526
574
951
202
500
862
998
813
770
691
160
986
572
376
46
747
895
522
63
370
436
694
137
689
782
757
332
827
521
620
98
95
506
648
917
25
193
100
723
572
858
325
840
559
475
307
75
302
232
386
307
237
983
620
114
21
396
310
972
265
230
673
120
565
927
494
437
948
694
889
598
201
324
956
307
785
291
190
642
247
61
29
409
43
143
792
947
712
117
562
973
205
802
283
947
939
729
463
887
879
305
380
760
503
416
612
338
50
715
75
925
840
515
450
433
775
43
62
113
357
770
801
625
693
693
648
287
988
728
725
26
958
819
561
8
472
980
446
949
462
255
325
850
804
491
665
248
460
892
146
125
618
567
802
289
959
661
467
380
485
202
977
654
483
511
626
370
369
848
766
874
86
28
297
473
715
855
46
813
710
590
623
730
931
125
476
502
273
195
241
3
220
723
413
526
79
375
603
922
41
490
312
285
423
815
282
607
643
905
913
718
514
598
184
349
452
739
776
317
53
194
842
726
263
240
941
512
111
617
217
851
503
904
787
768
146
362
682
703
36
75
377
967
283
49
124
766
261
899
849
907
217
889
317
417
476
410
646
8
359
389
20
777
760
768
634
547
75
931
454
983
859
894
426
14
144
115
94
77
807
63
440
414
797
23
950
993
273
187
505
598
934
784
762
319
882
826
63
953
412
102
786
814
983
194
271
49
486
618
94
878
613
680
545
45
788
276
568
430
641
648
358
963
449
71
7
909
332
544
331
156
225
825
37
343
820
570
931
537
749
895
725
707
222
454
313
419
260
945
106
16
390
80
118
46
434
185
14
866
536
998
270
130
173
724
918
375
214
83
81
999
472
916
681
740
403
869
204
174
709
865
413
855
680
311
241
459
9
468
850
706
714
23
66
881
495
642
930
501
574
226
137
53
585
642
498
729
593
959
385
804
671
593
312
621
771
296
440
146
802
657
770
717
949
607
283
921
233
453
46
483
267
123
599
698
956
644
554
197
607
329
390
767
571
828
910
568
43
946
649
295
117
123
834
770
521
538
149
990
722
103
647
876
254
994
642
851
179
967
309
882
578
424
20
830
831
92
157
778
258
215
243
496
353
361
780
388
472
298
77
30
314
920
705
918
974
859
955
131
625
242
810
424
166
48
497
667
232
655
656
671
70
430
501
158
673
730
149
67
438
209
448
410
367
162
220
649
487
498
836
896
732
50
434
312
3
141
868
708
513
712
724
756
790
875
322
163
924
439
653
838
722
830
638
398
467
818
901
299
859
657
528
534
546
540
885
77
393
791
655
240
232
812
699
642
399
624
191
782
805
790
800
88
620
598
294
883
920
663
105
916
799
509
812
989
522
289
440
729
268
512
765
751
872
530
500
284
807
625
397
834
286
666
763
627
996
731
866
355
475
556
19
244
549
359
849
557
565
420
452
455
379
757
635
534
194
398
440
496
371
31
496
99
277
269
506
3
104
366
384
121
308
995
93
852
19
606
269
918
319
963
89
558
755
697
643
532
850
79
280
701
653
784
25
977
547
110
154
74
670
958
485
783
258
917
728
519
179
944
511
419
720
470
336
652
397
236
756
436
232
797
544
938
436
451
474
401
894
251
614
818
211
927
692
962
299
750
208
858
691
829
417
618
782
882
241
101
232
280
436
38
584
11
72
116
985
299
498
996
561
788
449
410
612
549
944
268
283
715
887
200
800
178
71
63
645
639
413
716
311
264
792
826
355
341
839
520
561
638
381
493
908
598
999
531
953
108
371
528
911
378
620
723
471
336
889
330
869
48
766
692
261
916
984
832
810
748
5
565
181
397
756
385
331
320
753
940
581
282
327
256
970
450
453
830
780
274
960
311
977
895
520
805
983
281
877
733
878
958
231
800
634
959
568
847
427
603
973
288
440
801
663
380
813
843
551
780
545
58
640
749
247
309
446
850
603
992
942
200
269
142
234
165
743
243
291
887
417
587
563
191
641
330
259
212
93
965
387
569
218
548
388
23
759
879
362
339
675
788
412
495
823
837
602
494
874
42
394
764
816
649
193
540
289
624
802
674
739
279
175
58
23
360
859
188
690
16
883
439
626
284
685
318
118
129
847
271
704
598
54
648
345
387
671
75
560
917
812
772
193
100
557
356
343
73
247
254
852
566
415
165
460
998
973
911
328
76
722
634
232
442
127
527
107
863
564
197
24
572
923
319
888
648
533
445
355
690
872
730
493
678
405
822
707
611
213
400
328
387
773
632
37
473
359
375
5
90
72
42
222
975
410
906
981
352
650
65
924
339
23
405
336
916
834
702
625
498
213
399
53
345
154
726
800
293
855
556
408
773
147
789
488
679
966
130
333
396
433
838
734
240
49
387
874
621
971
20
645
492
60
856
99
990
684
548
57
786
793
492
69
297
868
237
29
802
735
66
742
529
72
656
678
905
699
386
917
532
361
108
79
904
772
152
586
539
158
903
219
960
389
567
301
965
63
617
245
669
584
989
425
108
356
303
498
602
712
253
382
641
80
863
62
801
199
452
260
67
905
26
830
19
117
295
387
493
179
659
310
713
636
350
747
406
858
339
670
58
660
765
339
317
228
429
758
515
181
297
850
432
599
85
82
704
169
726
256
740
404
911
990
614
47
997
203
162
368
229
543
423
38
663
302
663
675
152
809
426
946
461
677
455
318
937
578
872
177
110
397
705
43
310
726
702
34
651
653
382
579
723
726
470
603
933
780
132
64
759
33
971
769
45
507
340
853
132
343
331
173
806
33
765
135
990
953
593
153
631
798
392
21
485
727
62
967
349
63
394
50
812
377
924
870
825
661
358
270
169
87
922
810
447
534
161
328
359
678
95
826
821
915
137
245
976
836
851
439
252
269
447
804
393
114
909
571
854
368
770
715
1
719
852
822
346
91
738
1
411
305
344
126
901
837
738
260
579
272
245
111
594
640
983
756
50
298
176
698
306
373
3
479
788
111
278
746
161
632
938
634
295
710
207
795
819
187
287
215
983
560
608
203
216
84
2
593
988
459
618
232
579
794
81
302
903
104
139
884
802
992
36
434
132
566
923
531
509
855
904
332
810
176
724
653
390
968
675
507
510
555
44
218
643
228
295
938
189
779
238
519
600
332
628
202
83
918
999
513
874
732
38
98
497
434
501
958
604
163
462
692
713
175
698
913
635
108
137
961
460
965
578
383
707
808
376
460
665
9
359
176
1000
694
17
689
425
618
930
262
596
340
469
88
428
986
30
192
712
307
472
824
259
3
942
371
769
488
989
818
320
355
733
248
638
828
850
665
300
378
297
702
642
509
71
383
411
433
715
199
147
997
968
174
860
758
729
506
827
526
469
603
232
68
311
18
921
916
279
896
779
361
632
993
90
819
770
258
791
691
927
254
680
756
767
403
526
883
33
158
484
575
599
723
393
437
630
873
343
170
82
752
355
103
428
273
151
595
312
881
754
865
855
3
111
921
419
467
12
328
981
506
314
458
679
795
922
745
724
70
978
207
625
537
485
162
590
194
929
640
51
659
493
438
478
824
158
198
55
937
320
110
311
257
525
91
519
513
632
351
522
769
957
283
660
168
968
513
649
259
712
772
561
232
395
976
583
477
547
517
814
314
704
317
209
610
868
644
676
276
848
13
486
307
190
778
381
120
578
176
215
417
503
621
505
722
489
72
35
10
365
137
520
588
927
379
389
473
798
968
944
53
472
460
514
731
340
923
724
599
940
114
691
900
814
673
744
227
131
549
298
911
656
6
607
44
762
572
428
926
887
259
94
508
302
224
81
573
47
782
918
986
663
363
223
317
693
564
704
571
952
914
209
513
275
364
301
327
748
788
348
942
485
977
861
375
602
709
637
879
401
485
289
515
721
423
918
994
16
623
990
302
51
51
992
646
978
602
41
747
199
547
451
348
629
18
187
75
912
518
251
487
667
710
309
212
78
895
292
565
24
667
252
934
433
177
533
538
780
365
157
840
452
252
398
43
206
130
705
592
126
31
505
557
255
410
900
78
574
369
985
810
103
42
294
449
703
38
900
975
547
912
800
180
378
714
545
462
363
585
485
592
799
225
645
348
949
801
985
522
47
561
717
749
826
924
445
43
10
364
112
696
845
722
116
433
133
902
527
297
171
94
16
798
720
754
971
245
377
589
289
47
723
701
493
983
238
853
168
120
238
564
163
54
45
349
673
672
165
967
88
455
530
979
451
611
729
272
484
42
734
452
391
185
836
172
67
284
388
535
926
544
450
679
286
912
662
528
137
936
467
495
165
280
338
589
92
980
784
8
783
464
758
772
29
683
515
396
645
433
121
885
297
133
577
583
480
804
962
534
202
36
86
28
223
16
895
975
135
527
276
592
208
951
954
618
645
931
910
973
844
316
112
315
338
405
365
431
278
332
807
786
763
616
871
820
834
524
570
802
652
918
602
130
240
681
65
973
193
657
574
65
903
261
148
284
199
578
562
361
767
821
752
705
344
466
483
853
516
248
707
519
835
484
974
529
140
853
798
222
188
851
91
41
135
629
672
91
987
816
364
442
858
226
398
818
777
77
651
102
809
429
789
785
484
96
495
70
850
214
795
876
8
957
957
357
642
659
561
917
879
725
110
877
810
279
986
119
124
453
672
42
613
572
851
127
747
283
472
240
137
835
860
560
448
304
710
699
269
553
170
120
490
102
216
451
995
899
250
670
860
169
169
413
770
162
136
869
108
607
983
799
985
143
429
241
515
792
310
367
811
819
611
778
483
930
375
233
925
838
512
463
293
683
95
237
895
630
10
295
627
285
695
110
248
195
298
709
490
825
768
916
475
864
292
485
438
626
997
523
515
593
31
521
247
893
990
74
461
569
122
67
429
59
933
712
537
211
592
310
220
498
26
42
585
834
707
394
960
538
901
57
611
550
606
258
984
948
482
538
133
198
815
901
443
320
995
149
372
349
991
929
677
30
88
718
539
701
465
509
49
694
256
452
755
396
419
86
383
308
44
61
346
79
789
479
392
480
722
39
573
735
206
217
754
448
400
586
22
608
580
232
712
795
778
912
208
765
136
267
366
52
1
903
146
85
7
619
33
593
312
405
911
739
697
75
321
523
476
591
458
460
9
155
826
466
166
171
221
147
257
24
577
438
780
415
265
611
863
699
643
227
391
246
996
507
651
388
526
953
784
870
721
762
433
104
254
749
800
700
554
38
711
896
305
715
420
555
459
45
588
318
762
587
326
366
430
737
204
1000
345
801
872
889
94
711
299
436
211
856
679
154
246
344
710
344
663
177
322
646
89
479
913
222
180
889
799
446
196
706
916
952
385
174
747
832
476
537
101
577
871
159
618
72
639
34
842
608
15
481
260
391
954
680
981
470
177
976
617
370
309
552
491
959
936
163
509
239
838
96
919
822
242
443
686
827
643
45
423
812
652
196
628
137
377
300
505
852
13
196
785
801
708
799
756
145
270
23
228
891
934
705
205
374
271
399
902
828
261
435
95
323
718
623
951
385
532
346
184
559
664
522
819
7
404
137
881
21
199
612
71
950
258
241
817
643
213
375
172
970
361
782
674
355
389
848
640
555
34
897
360
103
817
924
317
933
871
451
854
719
870
71
691
345
251
472
309
784
243
369
490
331
688
846
250
827
298
52
992
997
766
64
930
484
103
991
775
529
697
96
201
471
819
765
846
414
760
658
463
497
323
277
371
125
144
462
533
470
212
75
448
254
965
211
508
611
592
803
654
325
478
429
967
343
277
458
287
785
747
385
78
66
313
393
550
905
305
701
455
179
959
221
100
576
557
420
837
967
527
52
697
255
960
586
934
215
714
757
883
519
244
657
5
656
338
154
922
5
188
272
15
626
605
317
442
682
733
202
447
536
317
418
499
731
439
510
94
15
647
792
4
495
564
238
432
857
401
136
734
248
278
173
383
113
881
28
376
771
791
473
569
960
774
186
321
974
405
228
377
194
690
150
150
50
757
243
422
474
246
303
28
893
792
593
241
678
857
412
467
786
213
757
296
971
605
123
159
582
434
384
622
464
853
62
828
862
320
979
701
577
475
501
333
835
206
71
389
452
873
731
451
930
998
664
992
48
148
594
60
358
342
12
800
779
99
836
687
96
152
33
687
790
912
211
610
56
20
896
590
265
713
509
983
423
250
596
956
346
363
940
694
389
569
567
490
560
141
541
895
781
767
617
785
837
213
539
438
325
781
758
667
504
34
845
650
516
3
721
329
858
72
97
164
363
836
202
598
186
496
943
767
458
746
154
917
336
735
469
464
147
353
655
857
219
39
969
219
759
314
180
260
838
445
470
81
153
33
299
338
717
787
691
650
61
449
124
310
843
649
356
90
966
438
47
403
478
408
54
146
505
586
562
314
466
744
52
876
636
366
243
449
880
293
746
49
57
972
153
532
144
305
674
417
613
347
254
409
975
470
275
329
681
159
614
135
772
308
799
368
771
753
455
672
300
754
73
5
833
354
349
779
802
841
17
440
6
19
114
934
885
636
116
113
795
137
208
355
800
796
250
585
922
473
667
471
979
418
568
731
334
36
901
411
950
57
339
484
100
291
887
342
972
71
935
548
201
475
557
756
30
672
400
827
438
54
451
11
32
347
250
489
952
572
915
735
333
519
455
903
90
422
402
902
945
620
768
889
612
311
681
682
48
949
824
986
472
425
999
377
663
967
689
716
662
578
505
46
603
930
791
21
859
860
469
636
62
990
392
352
863
549
123
700
460
173
45
113
60
309
150
50
401
871
696
411
409
952
133
912
866
743
376
320
677
264
526
415
992
172
634
123
920
689
916
509
66
667
158
235
445
869
666
631
578
867
252
759
750
322
205
705
470
23
89
887
154
774
544
312
916
118
927
608
147
917
796
106
276
18
705
422
654
602
765
814
64
285
699
13
734
759
904
395
54
562
162
104
439
532
181
197
885
673
128
941
819
429
668
190
781
817
792
105
319
488
898
607
245
524
168
625
48
735
288
579
840
247
921
594
668
452
185
588
428
743
567
737
880
22
325
829
470
647
464
642
757
380
773
812
256
859
270
625
400
329
627
773
177
668
785
408
669
240
47
748
408
731
364
96
961
922
412
370
600
323
327
140
293
656
639
742
462
487
24
250
158
685
992
945
335
987
513
470
907
668
906
35
127
206
988
863
638
871
640
598
215
382
418
515
834
109
811
198
192
832
48
825
236
723
102
300
549
51
703
271
688
90
698
500
682
835
63
126
948
455
255
149
815
822
331
817
696
97
451
693
715
98
988
893
234
94
409
319
312
756
537
809
607
212
564
735
575
557
428
976
151
691
753
170
273
89
585
790
680
934
592
924
478
66
206
593
825
389
443
44
922
660
777
782
251
120
503
972
565
11
452
510
743
858
842
232
7
321
248
696
393
539
421
496
582
152
715
292
392
596
397
615
272
849
15
30
145
540
270
434
780
213
587
85
716
583
665
487
398
832
810
378
829
330
804
895
517
704
359
465
916
811
977
52
896
52
169
229
954
368
537
928
67
481
181
825
75
169
258
86
458
855
302
580
190
371
67
716
139
553
254
823
116
194
482
297
264
3
228
833
936
434
291
701
601
614
536
374
597
183
273
834
749
528
673
512
962
764
21
130
909
822
467
694
831
174
154
497
323
57
251
264
638
526
488
532
745
316
219
901
845
284
939
102
552
138
405
671
242
299
243
612
366
969
955
654
664
913
765
540
293
51
617
357
849
657
957
83
151
877
621
357
432
312
278
992
288
606
392
902
309
347
605
913
864
93
746
404
865
11
455
842
711
425
514
51
798
591
556
502
120
95
767
979
532
615
574
744
183
226
60
724
456
4
49
285
554
487
375
903
473
461
829
383
726
579
695
332
606
610
570
263
206
455
374
41
644
637
87
398
191
660
734
889
58
490
617
953
608
437
568
745
699
865
292
992
637
491
469
426
987
531
368
272
76
557
162
865
601
748
16
708
161
169
269
206
902
793
732
840
711
274
180
792
567
882
645
886
696
581
951
240
193
986
306
213
611
790
413
72
840
327
721
299
256
109
916
604
760
564
720
539
784
679
375
51
801
944
922
453
145
824
558
55
222
932
879
144
270
263
782
88
907
97
184
80
621
667
443
451
215
263
596
538
970
228
60
806
962
211
480
289
513
117
756
468
262
430
125
352
687
975
354
900
224
706
726
907
304
850
514
122
736
554
85
695
863
204
576
995
836
778
345
485
159
888
57
586
394
660
279
444
536
248
956
57
101
561
972
490
423
728
302
815
3
951
908
956
992
638
626
846
73
135
798
162
66
968
268
465
542
194
676
703
633
402
714
930
998
912
69
558
588
917
369
620
484
714
301
337
549
617
462
747
72
874
219
260
885
697
984
808
671
514
903
681
294
681
865
214
39
182
152
268
566
325
784
834
256
994
802
141
374
836
321
388
121
645
173
568
230
294
341
900
240
789
203
50
939
427
815
682
773
553
56
868
201
135
496
532
84
226
275
433
184
396
108
129
783
370
759
18
219
469
6
808
902
886
130
701
953
515
452
193
187
798
286
604
586
49
953
381
745
781
189
766
55
859
328
638
535
695
191
215
273
287
429
816
453
648
450
90
787
19
699
944
971
363
229
887
479
775
982
709
603
854
145
152
156
548
278
769
657
698
647
225
154
285
341
123
31
412
295
843
319
149
328
976
27
701
625
699
971
768
903
820
435
614
658
288
724
101
472
690
366
854
356
613
263
832
495
785
569
778
569
595
458
421
22
929
233
857
277
257
409
216
903
567
505
600
181
27
303
269
334
264
206
234
938
727
184
746
670
904
494
633
596
98
1
85
678
47
460
295
21
924
560
283
663
163
890
363
387
103
222
970
128
679
685
968
999
233
474
158
913
71
676
417
27
563
740
803
972
433
827
989
941
369
35
595
222
252
55
364
695
106
324
594
142
328
165
955
966
906
711
625
39
62
632
648
994
263
818
577
165
553
220
748
832
978
954
983
107
226
677
120
48
702
952
546
127
940
995
814
182
659
789
497
378
777
970
690
510
378
335
922
166
991
51
807
920
516
865
467
699
792
723
596
944
111
178
59
977
955
904
99
246
837
455
528
769
434
94
774
125
96
205
295
839
454
272
652
825
39
917
502
859
788
773
856
712
829
285
235
665
161
635
753
605
747
111
742
810
8
155
268
830
963
262
773
564
29
640
111
778
53
275
460
797
253
596
953
40
597
497
355
429
570
834
818
390
447
853
546
356
931
246
198
206
477
616
977
43
685
225
678
87
926
789
375
196
743
973
79
755
634
964
426
204
546
186
391
513
780
767
98
263
26
857
19
832
941
263
252
367
28
176
106
850
550
917
930
586
898
777
958
851
102
989
984
310
189
807
835
3
665
472
916
386
703
573
635
936
559
937
88
317
308
733
232
927
252
888
695
960
259
293
490
766
833
512
148
383
963
877
233
601
626
914
745
827
402
24
669
300
786
216
804
931
672
489
63
148
953
126
620
652
338
798
652
912
306
843
917
561
574
531
100
596
585
411
673
432
286
87
985
410
926
884
471
307
670
904
110
785
581
916
769
458
933
381
637
453
863
639
725
921
105
994
338
920
893
946
489
538
179
336
457
863
982
533
89
669
10
66
970
266
733
324
314
4
695
22
255
332
190
140
245
158
390
971
447
488
618
710
306
969
765
738
990
19
752
418
11
670
561
705
158
138
584
367
773
373
948
917
574
549
36
646
435
525
646
283
980
786
83
898
419
283
24
610
789
901
180
569
628
958
610
457
192
289
50
429
495
975
753
52
818
693
188
253
843
16
357
756
251
715
649
753
421
272
928
813
885
357
953
143
286
980
367
371
924
406
196
933
408
668
229
27
514
716
697
832
161
798
396
358
296
681
753
858
567
706
383
206
898
452
351
32
468
45
717
680
126
697
903
258
1000
134
117
134
883
965
347
259
22
898
413
586
80
936
194
679
388
330
420
345
63
131
345
718
221
633
228
808
319
855
771
909
561
494
600
680
489
455
382
900
53
139
458
105
952
167
669
365
558
113
641
433
497
116
946
383
832
954
404
632
858
273
289
935
675
189
368
566
135
406
479
341
182
321
866
636
358
338
557
783
4
745
905
521
722
64
803
262
754
758
193
999
266
510
240
600
955
94
938
104
5
11
972
367
182
657
384
93
793
783
959
822
273
382
277
957
435
966
51
248
781
393
737
486
816
8
363
299
35
895
220
103
62
472
323
198
477
460
551
968
15
543
983
927
145
644
216
87
529
803
412
756
479
118
379
413
364
56
265
729
809
710
333
185
694
276
848
965
193
72
330
974
499
960
276
900
500
865
19
205
359
449
542
821
862
658
922
107
432
7
584
307
917
960
675
364
609
721
693
446
461
56
986
929
147
514
818
942
427
584
514
753
271
823
628
458
316
18
125
411
541
744
398
839
491
491
239
874
979
700
52
47
967
623
216
896
244
920
949
944
593
297
2
772
363
295
240
269
775
540
468
453
793
396
884
441
138
948
181
239
837
722
644
31
754
323
530
566
670
462
663
36
855
454
447
602
513
335
429
299
154
213
149
650
708
301
233
704
180
396
636
599
722
195
437
1
274
974
879
902
353
588
140
378
127
702
921
830
647
423
73
142
19
233
341
981
300
228
812
116
148
190
787
290
575
956
621
630
690
852
536
23
980
750
532
204
488
386
299
493
257
194
479
298
518
812
702
490
419
835
569
731
516
103
181
665
884
42
830
645
428
121
228
343
955
494
1
115
555
297
193
528
175
847
227
778
555
238
120
56
324
390
701
86
693
689
300
167
79
728
617
58
979
520
511
957
604
802
6
627
89
662
154
470
591
799
276
962
219
184
728
402
525
737
560
371
261
915
370
661
180
796
181
645
948
296
404
280
639
682
833
959
865
400
107
405
328
583
304
707
459
270
151
356
860
508
817
849
464
24
440
4
689
70
333
678
360
393
269
936
859
9
390
84
782
615
47
167
355
7
314
697
13
868
18
371
831
593
872
521
950
664
688
871
738
192
726
909
208
878
936
892
115
616
237
14
233
339
983
792
564
554
477
59
581
165
709
277
187
854
517
51
757
257
998
832
483
649
327
801
259
635
89
849
510
633
872
354
712
538
125
214
789
35
236
211
256
474
367
305
753
89
843
931
554
621
770
674
752
54
139
6
99
293
892
880
865
82
273
89
684
352
331
220
72
496
648
972
197
787
148
341
521
252
407
900
129
843
991
982
936
671
177
99
443
413
872
314
423
715
675
628
697
594
798
644
192
366
992
920
560
592
730
443
973
914
637
613
130
398
554
956
139
198
690
560
681
924
43
878
804
103
616
104
745
499
3
825
427
865
605
994
670
929
63
601
673
983
498
562
53
529
820
493
571
790
635
6
681
804
294
80
221
981
215
910
885
716
898
299
580
656
994
357
452
700
378
754
95
669
400
243
482
858
440
511
196
341
400
667
842
18
13
853
931
836
714
498
99
563
350
755
248
746
175
494
103
227
440
48
706
696
359
576
577
267
422
519
623
12
781
126
394
700
967
436
946
748
259
423
412
516
835
235
342
641
276
577
25
66
54
352
302
773
414
572
814
17
445
450
257
6
200
293
952
589
437
517
990
483
940
635
250
962
380
579
857
752
383
65
997
61
818
18
588
307
278
255
976
119
431
731
689
601
182
642
316
714
591
617
707
831
77
21
59
193
754
130
893
43
642
563
601
658
130
895
13
370
259
829
388
957
359
609
346
427
82
686
522
328
120
729
122
198
754
206
168
652
912
686
927
939
606
929
904
462
442
595
852
912
414
95
411
159
333
728
385
989
49
716
147
91
112
209
343
447
605
589
904
435
689
692
332
476
833
631
381
49
764
998
538
231
965
126
178
723
900
951
838
456
261
777
858
506
189
905
525
990
852
642
954
32
737
699
148
706
733
349
90
21
421
22
248
688
956
180
586
384
619
440
7
678
389
902
214
606
879
556
75
125
593
453
983
330
722
59
102
351
672
838
104
321
55
632
734
668
169
870
531
239
875
976
111
473
328
592
718
883
252
421
110
631
330
516
492
854
767
877
877
703
317
30
183
790
882
104
406
802
279
587
402
618
948
537
181
148
165
549
120
477
798
169
166
608
767
783
942
269
138
212
638
784
232
390
704
977
197
536
664
431
271
163
817
206
331
124
205
285
407
654
968
610
555
19
154
565
835
950
107
125
196
523
797
739
733
526
836
195
128
614
483
319
97
795
614
418
295
833
523
762
452
205
408
269
491
126
571
764
985
4
697
853
581
376
33
501
981
43
967
839
640
621
248
623
591
211
90
15
712
184
475
38
312
390
239
142
134
218
958
809
722
19
218
16
658
389
570
686
335
649
380
936
794
702
829
104
626
90
490
982
114
694
295
676
590
28
211
801
451
484
603
487
391
198
88
802
209
432
687
747
946
513
182
962
245
376
925
599
527
731
744
648
18
701
253
123
701
540
581
137
976
714
505
861
213
164
1000
770
376
81
497
384
612
872
479
897
4
299
636
730
732
972
462
55
490
442
58
740
346
189
912
48
196
683
578
607
572
511
537
854
853
317
964
189
868
883
804
536
437
275
305
877
705
357
166
585
962
376
498
78
236
558
125
368
173
791
113
608
549
591
35
602
328
471
174
553
342
737
791
50
524
523
597
386
94
558
785
831
299
763
335
408
65
280
800
55
431
951
482
795
713
562
701
680
173
433
854
822
353
7
105
794
363
183
829
43
144
42
393
716
119
482
455
498
735
24
730
624
78
725
96
234
151
681
971
613
393
96
145
694
754
261
618
365
924
86
561
782
357
992
196
867
359
113
259
643
828
720
722
836
197
713
617
470
757
847
131
786
811
57
621
878
36
916
834
916
52
761
421
656
404
472
774
239
91
260
313
941
330
46
648
624
463
191
413
118
771
395
177
689
515
568
561
995
675
344
568
711
727
702
193
52
288
851
566
983
592
125
237
824
608
158
747
285
33
996
267
704
559
143
930
416
550
738
466
731
731
227
871
939
565
876
148
156
750
466
616
571
659
334
857
833
626
669
176
912
671
669
332
751
654
681
401
412
857
981
835
242
695
170
208
767
573
490
627
667
934
548
557
168
177
12
599
650
427
885
814
80
130
835
346
128
40
919
404
467
471
715
181
803
591
547
883
658
155
2
873
768
299
385
851
254
938
111
130
373
853
280
313
776
779
849
82
634
689
879
422
967
957
315
301
719
320
618
720
924
368
382
119
336
778
743
279
493
707
979
260
49
515
235
396
589
487
677
60
842
347
740
722
386
106
313
802
471
263
878
984
539
423
630
915
412
187
536
683
859
538
191
83
445
23
13
414
142
749
40
507
188
569
130
713
42
881
844
865
122
127
668
561
196
445
530
713
914
892
745
949
9
344
623
374
83
457
995
148
778
68
794
561
314
7
673
571
82
599
354
270
971
44
28
385
618
473
673
701
605
716
583
252
897
713
773
234
516
90
158
853
491
585
574
730
659
945
779
92
741
385
541
665
456
921
806
114
120
719
711
886
308
99
919
542
658
977
342
989
854
361
809
570
115
957
680
602
295
85
692
814
830
856
563
86
307
36
12
56
414
70
873
426
370
515
946
284
720
526
57
328
548
101
565
670
757
491
214
801
25
584
782
378
488
68
485
728
949
892
429
347
671
844
731
213
382
125
97
449
180
379
744
706
412
5
586
661
479
517
466
196
718
338
88
144
177
707
976
966
156
307
462
378
830
794
207
707
141
695
215
752
427
998
656
986
904
357
53
236
238
26
557
358
904
522
114
52
932
530
266
624
954
771
253
470
158
366
839
18
868
755
976
138
14
359
48
334
657
1000
903
575
65
543
321
270
609
373
872
740
852
60
341
498
775
40
31
803
61
198
291
240
671
7
551
528
777
268
1000
367
251
565
811
901
502
261
446
282
454
226
175
907
853
525
394
123
858
986
721
590
139
883
122
33
265
992
531
802
211
925
494
545
250
940
416
277
287
419
859
323
990
802
182
927
665
55
528
797
906
696
800
507
502
965
791
456
934
995
92
43
89
747
739
821
470
997
810
659
289
934
369
354
289
743
193
711
72
120
703
850
985
819
404
368
323
200
923
53
751
212
419
22
335
432
747
531
518
563
262
198
690
277
547
80
787
400
691
827
420
225
937
164
682
167
684
49
652
60
823
179
38
155
366
942
149
277
156
546
560
646
206
795
423
607
871
907
374
864
635
857
354
851
757
944
505
561
413
672
475
485
237
591
87
319
384
421
373
746
306
662
357
906
468
897
854
149
109
150
735
259
8
19
819
648
899
739
537
932
840
25
21
891
366
278
124
89
686
738
118
286
567
248
542
382
748
551
715
824
959
491
941
273
609
24
312
879
258
713
339
668
801
241
326
425
125
540
525
904
666
318
636
395
908
140
145
461
355
708
296
128
934
684
288
947
93
194
368
107
87
162
106
214
71
725
38
465
662
327
279
665
568
473
439
942
730
790
373
106
183
773
870
263
505
519
390
709
273
829
319
144
450
288
66
919
972
332
478
382
115
820
709
398
405
389
673
729
934
656
639
329
947
405
384
518
482
26
519
662
655
813
282
241
920
221
136
136
232
790
952
540
628
261
435
167
129
368
740
313
252
854
842
911
662
573
392
896
656
932
196
118
240
487
411
527
528
285
827
571
86
381
307
552
612
42
590
231
48
317
169
72
817
47
891
381
375
854
238
997
688
374
32
387
562
759
393
707
968
519
393
880
638
867
744
786
258
31
283
458
497
486
742
522
993
595
486
234
147
985
493
145
241
850
817
811
986
466
194
1000
42
453
237
517
464
662
875
118
300
162
323
986
755
457
859
883
447
950
146
410
284
668
636
769
373
434
864
51
248
996
57
333
363
121
563
836
471
266
32
937
30
261
174
132
215
383
167
900
475
299
489
14
817
618
995
35
172
229
597
622
253
143
748
785
304
338
282
438
998
937
831
405
554
135
179
557
804
481
428
908
578
462
755
290
238
868
924
722
645
77
395
681
116
227
57
275
199
215
163
768
182
618
975
953
314
902
25
673
651
766
641
148
285
36
591
847
476
316
243
355
855
518
677
61
458
458
538
510
794
935
235
965
554
115
320
42
841
574
452
305
3
45
419
338
232
792
75
130
130
532
918
583
309
996
251
560
948
548
512
173
944
767
445
961
902
526
180
168
776
892
229
607
399
151
604
489
484
320
996
146
955
809
3
811
595
318
896
473
99
576
314
367
567
344
555
830
377
911
889
113
129
406
360
214
86
439
143
968
110
922
380
433
585
461
814
75
271
361
212
382
309
103
784
307
843
178
303
384
847
227
610
455
788
811
559
663
690
517
210
824
11
761
274
291
522
378
374
181
1
31
702
192
159
537
23
264
660
431
798
26
503
498
393
317
291
526
956
46
131
244
579
348
993
257
767
249
365
826
91
74
945
473
118
412
953
744
381
754
322
938
180
844
720
246
488
376
830
534
73
927
796
962
242
893
93
727
272
792
288
502
694
476
395
525
53
698
515
916
712
985
494
476
520
962
160
165
902
119
516
457
32
499
957
989
285
942
152
287
57
333
778
830
419
762
661
428
776
636
231
683
866
545
402
285
974
139
126
50
206
342
896
893
24
998
437
360
10
426
645
994
17
440
612
518
442
92
214
784
329
776
344
478
436
347
286
838
185
618
174
974
603
912
709
1000
26
362
534
810
304
286
752
242
709
303
86
360
566
789
68
763
863
923
496
152
761
819
97
861
940
221
968
710
228
767
905
328
763
145
185
20
263
300
684
407
624
465
505
281
150
970
421
565
234
667
526
836
163
351
451
605
70
702
382
415
714
172
902
900
927
674
389
101
66
141
260
745
720
792
906
648
302
424
542
121
837
177
510
57
455
981
825
366
604
345
861
551
998
224
104
547
644
463
874
337
93
700
729
534
199
696
44
814
305
746
908
57
705
228
55
103
680
343
11
254
173
809
27
64
383
610
658
491
185
875
14
173
299
651
848
473
534
608
620
924
307
713
593
901
840
496
848
635
112
856
812
216
664
231
535
811
845
605
474
178
936
30
3
453
839
269
208
323
750
708
768
967
255
915
903
537
815
88
442
553
501
169
998
304
119
572
177
236
598
333
478
361
612
968
269
910
934
498
805
807
949
890
780
74
77
636
269
918
605
330
307
110
572
850
500
199
895
218
243
297
894
270
136
432
723
60
145
909
998
268
869
756
91
989
92
73
120
982
378
22
684
803
121
275
770
332
865
976
63
824
121
644
93
998
207
5
291
670
788
427
9
61
938
497
21
259
514
292
831
262
565
59
362
630
313
350
261
102
952
131
61
418
163
43
965
212
761
752
814
65
350
304
129
730
182
509
748
90
710
607
693
619
451
931
380
12
859
829
173
145
887
846
601
747
781
56
253
971
440
481
483
574
391
723
578
568
979
310
972
984
933
745
413
907
827
938
746
12
323
520
98
639
259
513
817
877
810
964
483
207
971
473
648
5
554
953
757
620
744
608
864
780
2
837
349
824
797
736
829
595
156
903
837
892
572
503
673
38
114
948
22
478
929
64
533
300
482
339
617
256
995
691
94
128
538
219
204
289
160
550
700
910
235
745
397
538
945
186
614
727
439
512
386
972
748
478
202
450
986
538
283
986
689
79
108
208
441
483
951
74
52
623
720
829
659
969
241
979
63
204
471
56
523
163
806
766
988
909
774
654
463
14
927
527
789
416
658
711
624
782
26
683
832
933
385
731
792
760
780
77
375
988
611
346
451
334
28
323
841
855
892
731
569
769
888
120
94
615
580
55
996
376
755
483
219
145
411
541
560
938
123
96
547
532
344
982
260
565
383
257
901
700
435
783
135
342
45
101
311
253
820
865
688
439
46
81
682
820
82
14
991
567
75
895
160
411
574
509
800
927
87
329
171
549
487
101
333
38
440
712
382
220
717
691
542
108
318
957
76
878
835
271
10
820
382
369
662
51
704
979
835
698
808
706
328
310
548
333
104
426
147
175
60
613
526
987
835
786
687
343
528
297
104
585
485
95
230
144
565
254
789
550
401
294
470
467
235
26
8
888
817
74
399
6
731
877
200
330
266
693
402
352
579
80
408
419
519
377
989
518
899
962
936
340
416
441
318
355
707
458
853
603
193
538
956
580
494
208
416
899
183
669
529
359
568
457
696
711
995
853
213
650
911
284
963
516
533
604
222
783
519
921
640
650
475
604
727
955
480
194
858
191
70
224
883
629
272
346
933
411
367
778
887
11
13
761
298
651
245
662
240
90
669
362
704
702
842
772
645
934
434
711
737
3
272
840
218
200
791
60
945
262
710
587
923
66
987
889
133
320
246
840
427
44
896
699
633
338
85
3
788
383
534
69
578
649
980
524
656
10
690
264
507
846
7
259
906
224
428
891
831
947
35
879
895
599
435
397
976
708
518
702
750
801
470
407
242
438
465
609
374
279
382
185
685
861
698
935
93
28
451
736
573
904
771
466
121
897
38
310
214
444
154
957
262
135
770
339
209
393
553
807
539
136
768
69
428
662
472
778
661
595
639
406
267
862
382
910
507
526
228
753
972
820
119
34
68
847
370
850
101
232
362
508
493
503
126
889
405
44
310
88
199
314
241
424
697
388
920
72
192
22
820
846
488
163
324
112
43
234
446
441
466
584
281
334
184
220
246
304
101
282
782
669
462
781
626
618
930
793
168
537
108
627
677
88
326
516
381
272
568
993
483
524
804
467
200
939
856
431
818
864
153
414
587
440
363
998
978
146
968
232
497
42
291
292
728
197
346
547
777
737
151
41
605
67
842
8
996
64
979
208
74
472
945
778
350
301
222
812
253
761
649
52
971
155
443
931
225
186
915
710
286
362
299
578
147
493
70
424
261
836
436
433
668
90
443
800
665
248
262
608
373
339
803
390
704
199
737
927
261
705
375
659
643
375
638
409
481
819
510
236
282
320
957
930
820
696
295
25
388
734
358
252
679
642
656
22
467
431
879
888
531
614
758
907
464
359
290
508
94
60
752
750
277
320
802
841
703
495
161
410
183
287
33
281
632
344
481
464
544
468
419
650
344
825
756
736
408
502
490
838
907
867
228
776
875
434
699
260
77
372
314
855
314
372
704
348
761
300
501
316
838
963
307
532
884
376
930
360
605
76
463
416
858
426
743
606
842
352
26
109
180
606
473
991
690
508
180
916
866
63
45
865
229
533
708
844
726
775
180
338
316
183
540
633
720
603
251
234
72
411
245
272
866
825
897
217
157
626
410
196
464
661
951
930
180
933
55
637
600
572
461
228
860
743
534
819
180
341
883
829
810
394
590
969
989
213
728
982
47
691
479
340
494
612
215
965
590
487
363
710
396
199
747
507
777
729
365
60
166
301
230
465
139
584
996
392
46
970
576
329
964
561
855
887
263
196
901
403
906
762
787
867
435
51
247
727
251
663
924
270
415
764
865
85
708
63
291
583
59
18
367
671
837
104
886
452
650
978
288
256
476
495
432
419
978
818
874
926
775
350
202
503
309
769
126
734
714
268
622
562
717
962
428
838
207
560
548
670
552
576
278
968
155
770
412
940
990
71
955
292
74
870
660
521
938
517
141
26
136
787
149
707
763
295
829
353
772
159
441
388
589
679
47
505
166
446
162
273
149
89
203
71
271
815
849
616
436
9
109
870
214
417
969
388
629
857
978
975
185
979
37
107
49
325
948
713
198
832
994
781
114
951
928
731
308
781
285
672
548
944
827
446
180
460
311
841
328
544
457
483
95
66
177
675
94
415
667
910
772
612
908
857
34
860
507
369
613
106
570
486
463
868
469
423
243
281
963
302
587
265
112
711
439
797
816
228
204
484
622
737
840
29
652
675
314
731
94
379
21
857
763
332
880
565
612
438
814
103
960
386
238
151
401
836
990
493
23
385
883
726
621
257
647
302
31
198
622
25
594
355
940
74
5
784
341
702
519
818
996
64
519
716
855
11
976
912
149
283
227
688
603
260
761
303
834
311
469
430
159
828
870
258
773
256
387
775
804
731
663
551
307
515
220
804
641
40
531
660
987
219
713
294
12
653
586
76
793
518
814
922
166
186
215
825
587
100
75
923
464
26
507
514
668
575
444
179
568
783
886
498
544
641
371
922
376
687
486
996
279
149
402
527
689
689
67
232
28
491
682
93
836
285
531
944
630
931
59
769
758
333
336
835
369
790
692
38
285
385
352
797
262
615
361
406
591
302
971
999
494
742
887
215
73
172
513
160
857
890
348
531
131
797
233
598
312
674
14
303
601
277
479
880
34
193
180
280
817
450
800
161
553
84
313
355
545
213
56
543
860
680
200
328
284
1
835
27
574
179
20
265
658
923
722
907
566
952
507
938
901
349
216
670
612
401
641
27
663
945
364
750
973
4
544
62
633
449
391
704
998
438
488
298
714
683
895
653
116
928
218
990
737
590
392
61
833
225
991
764
955
304
275
198
590
839
28
53
798
528
484
845
610
439
282
799
647
735
426
104
84
553
721
873
585
975
969
363
306
971
537
935
389
280
536
779
642
490
960
668
245
970
621
832
418
896
603
624
911
350
263
805
116
330
518
105
335
593
280
259
467
428
382
810
954
805
330
840
332
890
489
202
170
558
76
1000
453
359
488
789
732
408
21
457
465
760
16
789
21
159
812
494
766
497
679
882
476
900
60
401
114
154
42
7
635
85
979
673
62
580
552
404
558
173
394
771
594
521
581
370
586
596
923
545
585
184
7
430
700
74
370
635
926
377
5
871
962
561
655
454
455
124
988
870
763
309
801
561
36
891
854
640
887
864
805
521
409
833
986
337
616
967
430
584
669
691
662
652
366
670
220
754
498
239
814
321
594
154
291
93
496
428
306
990
968
50
705
335
244
621
154
160
29
244
460
141
942
561
374
153
842
480
416
585
754
965
370
315
371
239
700
688
211
895
50
918
563
694
386
105
287
295
91
445
387
744
509
266
22
342
21
253
307
402
707
590
783
502
65
779
940
58
50
568
554
437
901
781
866
377
846
823
844
159
783
296
856
872
485
466
93
77
679
291
984
395
615
337
678
822
372
198
369
89
203
953
891
9
683
803
538
551
281
262
496
319
254
190
647
247
433
513
730
551
561
689
40
425
316
845
866
533
80
58
903
66
767
412
691
51
789
329
976
624
303
139
525
166
430
46
587
597
61
422
633
590
195
838
476
175
475
379
149
996
785
541
160
497
246
462
877
415
995
327
818
291
406
524
577
119
265
545
948
904
521
673
600
618
864
225
262
998
342
482
996
685
642
465
583
436
448
413
434
544
513
146
714
120
681
504
581
613
114
691
521
799
436
683
770
452
291
813
727
132
90
262
91
806
359
478
143
505
130
471
270
895
306
521
331
380
779
92
924
340
351
633
941
209
178
532
92
359
566
670
195
154
406
926
126
157
447
498
283
159
910
85
314
620
642
826
622
132
134
388
862
734
246
734
261
252
398
938
68
356
342
852
874
686
333
571
840
245
714
408
122
213
418
544
882
488
912
580
334
551
422
991
194
715
82
882
779
381
803
475
727
761
257
531
992
357
360
215
321
651
13
997
906
610
694
829
275
66
679
200
773
521
279
663
179
676
532
64
113
783
183
53
858
995
631
373
186
10
762
87
543
640
239
152
707
439
850
707
641
143
997
11
816
459
268
232
708
723
277
179
527
18
694
637
494
637
390
172
140
159
194
160
164
29
579
302
372
210
964
85
78
410
965
494
176
402
93
762
717
163
881
108
501
924
379
222
638
718
258
724
471
696
526
939
569
301
5
108
724
371
243
604
995
383
539
797
911
339
67
960
861
245
911
29
565
754
955
59
253
283
187
965
869
853
942
498
164
968
21
409
16
80
418
492
712
581
588
485
187
793
826
837
432
147
310
988
367
575
834
125
485
184
44
344
483
405
272
763
916
184
665
409
623
225
401
656
322
953
210
548
296
658
295
619
526
217
20
711
999
915
404
849
147
137
545
455
560
133
590
50
156
615
751
126
1000
695
191
40
795
556
286
656
911
278
905
910
465
464
851
677
578
654
559
85
456
20
439
917
329
526
50
854
614
545
367
78
878
902
20
215
333
480
291
661
605
779
57
101
462
292
609
432
62
175
474
335
4
429
943
505
146
747
979
879
717
246
626
231
715
546
765
232
982
26
356
354
610
658
840
34
544
494
459
157
334
755
639
223
998
476
426
530
873
832
219
328
132
593
656
185
398
643
594
719
481
131
573
470
830
610
994
907
718
489
556
485
522
213
127
220
741
843
346
464
523
155
715
441
562
922
853
624
190
790
873
233
373
46
558
944
107
613
130
445
391
813
914
572
575
806
136
616
356
83
431
828
143
133
357
275
787
151
378
3
933
688
320
852
363
264
262
412
729
262
191
300
41
857
523
407
89
370
753
743
777
171
115
314
955
186
71
747
959
142
899
490
497
911
405
32
918
694
25
968
196
352
172
723
130
854
730
387
384
723
996
452
973
308
224
170
739
940
160
915
147
312
592
163
479
927
7
698
131
90
890
172
232
709
81
464
282
124
854
130
823
304
80
831
434
971
909
830
477
692
896
516
129
503
390
448
157
371
315
597
822
727
163
300
46
274
162
945
692
559
63
544
396
70
956
184
900
212
831
789
236
113
357
754
438
91
475
814
685
562
981
896
897
326
219
850
848
439
353
659
802
360
490
143
536
645
80
254
345
218
596
737
307
207
523
333
654
354
26
712
548
274
526
29
954
235
564
301
607
623
6
841
219
35
613
616
203
709
448
693
204
103
437
941
593
521
610
744
952
84
222
774
258
759
991
799
138
851
145
110
70
114
855
376
879
628
869
645
202
653
873
788
860
967
153
866
248
601
669
803
888
453
481
246
308
15
839
721
249
300
908
976
18
143
225
955
474
215
534
968
761
463
509
435
371
194
291
67
560
699
421
434
451
126
962
690
370
307
114
628
101
363
608
337
783
224
506
495
113
641
836
701
359
875
636
364
453
5
580
308
95
735
350
708
354
625
310
919
746
939
838
512
121
652
869
132
10
734
860
793
247
510
337
906
796
766
684
607
713
261
616
949
80
501
41
129
576
944
656
193
66
273
666
630
213
38
495
798
668
745
196
441
833
423
547
402
522
800
511
228
128
510
798
573
43
122
778
166
159
414
859
663
243
998
792
846
860
325
27
532
315
111
379
986
757
467
800
840
209
325
933
294
776
295
512
864
699
761
375
46
250
815
7
56
668
657
101
234
484
180
551
792
610
795
699
341
502
958
376
16
582
515
503
98
822
703
563
742
91
579
274
784
395
743
165
628
663
407
570
925
49
310
764
53
73
458
584
446
64
425
871
438
485
772
537
632
744
165
864
740
972
945
885
472
85
221
368
347
180
50
923
205
917
884
278
811
104
287
571
178
125
852
822
146
216
362
396
316
818
509
366
632
449
887
174
815
547
568
870
340
754
298
538
867
959
216
181
840
236
84
516
516
471
169
576
779
95
322
8
963
846
265
247
315
866
808
503
916
791
508
643
587
699
293
592
804
909
688
848
694
660
591
63
948
656
987
414
891
294
594
653
9
144
212
343
941
945
441
728
314
900
537
121
856
561
379
472
863
967
925
997
465
975
81
361
134
931
591
923
516
908
430
988
987
764
180
834
291
171
54
531
268
579
539
199
906
817
125
425
940
660
229
5
783
211
185
26
817
401
177
618
993
283
30
325
244
985
107
180
412
432
913
16
296
943
644
478
919
826
591
462
332
950
246
459
80
85
980
359
985
455
342
812
26
591
445
161
923
36
334
301
491
904
987
550
957
568
351
766
200
28
849
510
330
583
903
974
82
518
315
814
279
427
825
743
4
654
715
956
181
85
163
19
988
191
906
849
891
778
885
821
116
397
759
816
76
702
574
245
576
394
404
707
658
518
491
939
569
21
269
160
665
465
652
734
16
712
170
325
102
194
814
351
288
137
981
604
654
701
517
365
408
577
649
192
308
966
578
848
432
290
570
491
234
157
674
365
967
339
607
674
499
525
914
257
35
635
254
971
441
333
543
375
740
168
729
468
802
463
179
702
443
687
11
467
935
524
214
533
398
285
81
714
675
612
283
136
64
661
910
46
709
64
948
81
554
25
933
247
516
825
986
646
905
888
56
179
224
287
920
992
156
238
449
483
949
725
703
24
418
818
647
393
468
681
687
111
408
517
738
472
284
909
277
107
144
98
643
325
441
762
909
321
760
756
770
572
651
104
257
392
659
242
552
661
569
147
800
224
439
545
649
284
313
787
155
414
323
371
824
482
535
338
817
849
32
897
762
721
654
754
193
398
321
550
365
491
51
711
91
870
622
800
276
231
342
158
40
676
515
190
660
642
36
211
97
849
973
112
512
657
167
488
36
379
593
46
8
665
739
259
55
1000
269
276
671
743
56
22
405
896
16
289
373
981
275
362
578
966
897
379
432
187
765
222
955
601
268
165
348
515
94
928
52
125
789
34
909
838
744
598
767
351
911
731
732
897
867
792
260
904
808
596
469
536
679
519
374
255
932
177
221
571
311
952
736
626
689
214
920
97
212
491
926
209
898
229
707
282
426
2
369
361
31
211
559
943
331
382
841
705
408
134
702
469
668
780
732
313
833
298
577
875
943
113
454
403
349
726
361
50
541
723
659
212
93
117
340
494
119
299
138
983
447
75
628
99
122
423
559
236
944
622
21
765
510
351
434
753
629
218
993
920
3
899
963
946
851
785
107
221
453
536
647
539
672
471
363
13
164
66
814
743
357
140
253
320
235
488
451
336
665
827
539
440
273
919
994
346
874
654
21
437
46
683
964
235
767
929
822
77
910
922
591
789
30
435
960
12
101
367
828
113
763
131
213
269
212
99
398
431
69
768
566
330
442
443
763
596
925
140
743
373
454
340
162
498
793
984
600
454
912
814
119
794
673
736
404
701
47
408
56
633
565
663
260
801
809
683
911
302
535
80
204
352
466
159
903
972
855
667
737
860
708
308
845
968
910
101
823
446
602
458
633
236
842
506
609
558
972
722
831
939
129
461
395
242
41
318
473
348
562
535
622
766
422
896
486
468
319
613
895
660
768
729
384
59
110
483
316
455
699
877
119
994
569
429
640
694
797
709
234
110
394
817
27
992
791
365
717
996
893
916
408
218
227
51
203
392
937
433
742
83
239
259
405
105
495
515
665
691
223
286
935
648
229
186
326
859
520
658
902
998
839
480
407
249
425
341
924
177
133
742
609
610
106
814
468
554
13
839
120
700
279
419
637
68
841
273
833
657
694
548
828
781
898
434
341
908
797
575
877
447
878
474
965
876
117
618
601
16
639
552
348
73
242
503
886
250
660
424
377
358
433
550
699
887
912
632
453
408
239
30
683
9
101
765
383
726
677
420
227
556
494
547
409
705
810
814
144
161
772
721
143
582
809
97
369
718
638
985
434
300
835
757
313
377
110
454
428
609
315
439
759
879
741
398
347
931
444
613
463
409
178
237
751
813
5
953
840
402
819
35
313
994
826
316
384
958
475
976
359
413
470
404
718
820
281
567
710
686
972
504
416
59
297
553
588
869
727
887
994
921
502
779
602
548
838
758
715
488
152
500
87
561
529
851
96
98
697
855
325
902
435
42
267
687
720
518
395
610
863
587
585
479
601
743
694
684
351
856
126
712
868
311
389
345
111
666
968
311
441
98
314
167
186
588
404
693
216
266
95
910
397
835
478
127
718
311
510
79
427
584
490
323
750
454
359
523
604
876
361
179
281
119
367
624
238
415
12
859
989
474
881
872
569
917
139
633
209
295
388
884
681
854
36
146
203
618
119
158
951
699
365
47
991
927
260
127
864
64
2
160
179
877
545
290
283
303
371
606
503
767
236
504
507
489
901
570
41
274
777
708
687
834
497
631
295
172
630
642
445
952
186
822
618
31
64
369
774
558
310
864
668
127
924
631
547
463
929
236
866
65
637
365
222
3
317
10
59
839
990
905
569
230
705
632
837
323
430
690
516
511
657
62
226
432
927
518
422
379
726
967
700
441
652
651
381
750
291
880
731
202
4
318
379
884
705
498
318
239
736
424
381
681
171
559
226
972
226
507
697
198
961
959
864
549
137
253
190
482
905
46
37
21
5
108
171
96
264
260
2
871
507
798
54
936
407
543
556
94
449
811
112
223
916
208
106
367
723
120
909
763
32
171
923
998
766
729
246
850
570
745
41
682
285
816
693
421
707
403
516
276
271
538
51
333
289
202
983
97
569
797
320
858
543
773
742
470
521
515
4
786
344
81
804
520
458
215
838
722
438
349
627
454
53
972
268
458
246
849
490
800
817
22
262
528
171
473
705
363
237
583
295
310
522
256
131
879
348
690
576
285
480
284
708
595
744
102
860
315
723
668
941
280
299
563
420
73
629
491
565
395
129
986
18
948
178
925
842
413
541
356
947
85
967
931
187
526
22
398
489
391
976
216
96
229
501
308
358
624
971
390
567
519
437
117
969
950
701
473
485
696
471
463
611
550
278
197
670
6
692
839
861
168
386
781
545
610
765
611
808
694
208
81
633
630
443
364
940
154
224
320
347
239
252
364
755
722
271
804
759
50
332
195
441
612
506
310
334
295
746
878
202
962
169
62
812
511
744
10
67
84
299
487
705
747
762
727
254
681
777
154
118
510
185
551
434
897
367
596
848
954
129
409
462
325
621
920
964
36
767
388
429
314
823
399
333
639
976
8
86
213
338
453
794
894
309
89
6
395
28
712
940
191
576
491
36
188
628
75
711
616
547
283
896
67
219
950
256
803
549
158
988
727
195
86
778
444
968
114
756
897
380
698
308
935
940
733
180
8
169
780
622
905
742
590
230
77
855
806
756
616
648
597
372
429
527
235
830
462
282
332
445
106
191
493
129
73
725
666
499
90
997
366
660
747
905
211
430
694
728
974
624
199
36
422
483
734
945
753
539
881
118
381
962
358
418
117
938
342
786
575
732
631
760
738
872
373
6
211
334
239
390
603
669
937
405
880
810
940
224
287
646
98
241
606
553
611
750
114
754
463
297
594
784
9
362
127
335
860
201
224
464
612
119
46
469
237
958
80
748
146
297
648
610
40
704
89
294
671
412
228
467
533
951
49
19
335
576
81
343
821
852
100
130
149
352
173
379
543
245
958
512
419
495
435
421
496
495
929
814
679
222
342
460
659
421
41
791
238
910
716
852
362
800
817
772
725
360
927
784
597
240
495
293
217
32
905
676
690
437
766
265
836
885
659
495
845
70
298
232
918
719
212
174
281
881
624
565
115
171
132
604
952
682
183
672
51
748
97
887
104
326
564
555
390
549
144
839
136
906
254
287
432
575
559
918
515
703
455
262
597
754
560
49
737
651
740
281
411
95
202
55
558
331
635
810
865
607
198
648
997
789
400
1
245
875
557
181
846
661
573
298
811
439
231
625
667
404
74
713
934
382
189
486
529
642
923
107
542
748
603
592
957
895
868
57
16
706
60
991
843
208
479
134
863
598
979
389
307
458
501
684
816
257
672
856
734
359
524
444
192
256
699
738
496
417
275
559
650
964
473
2
72
379
65
858
683
568
262
451
583
925
211
446
490
452
35
530
947
643
474
960
56
568
822
680
178
528
813
68
586
713
502
434
539
558
14
33
632
833
214
730
547
90
985
443
540
767
805
129
79
107
769
417
77
70
988
915
46
585
589
891
345
803
149
265
390
502
457
797
355
445
966
963
390
248
154
227
871
316
270
350
504
466
648
916
382
150
826
479
253
591
218
617
321
730
959
674
868
608
872
210
893
705
196
954
701
786
826
619
128
9
357
29
630
430
120
874
12
503
768
824
954
901
662
898
826
755
518
735
506
434
244
852
34
89
941
83
984
515
340
115
364
298
747
461
728
849
744
248
906
679
474
944
441
179
321
493
385
267
198
356
579
471
460
673
924
421
661
57
417
254
992
555
960
160
253
967
5
111
652
7
130
886
527
763
533
607
375
546
278
393
159
474
809
164
971
93
919
305
543
920
868
665
993
25
794
341
442
711
931
785
834
857
357
42
361
758
212
344
372
130
335
868
589
498
307
181
688
348
696
800
64
303
156
331
690
27
661
843
500
768
812
517
664
213
606
77
446
840
511
233
72
27
982
147
206
998
780
933
138
89
606
346
798
932
563
93
29
884
938
665
363
440
616
177
675
425
212
484
725
488
654
760
538
767
530
769
6
651
979
346
871
231
281
939
477
382
599
633
273
405
508
789
83
826
52
252
592
250
69
123
299
125
438
259
474
913
722
971
254
431
397
882
106
55
492
561
303
82
12
303
965
792
924
423
455
637
887
494
607
576
102
267
357
748
878
374
816
599
529
552
739
53
222
807
640
549
255
858
501
568
52
215
146
804
834
486
882
264
529
815
911
394
4
911
367
810
89
764
576
313
190
988
263
664
538
713
1000
15
186
60
136
991
985
566
821
171
642
354
505
96
848
432
467
27
218
320
503
349
426
62
930
937
508
799
396
787
771
290
845
911
108
165
167
870
853
228
672
246
435
841
570
86
254
260
42
595
163
830
338
365
872
86
561
30
394
157
467
509
392
343
621
955
910
362
761
97
488
576
29
928
146
444
52
571
17
563
488
747
721
902
771
457
675
290
246
365
658
755
813
931
869
66
463
468
649
709
849
193
777
572
80
812
977
832
524
335
850
845
261
631
965
421
216
693
237
479
702
715
59
921
277
855
863
561
349
979
909
58
936
811
168
103
340
608
64
581
286
933
727
997
211
116
143
252
37
749
247
763
672
892
594
979
955
725
681
607
503
68
410
234
162
492
442
556
368
799
401
168
728
250
962
693
602
268
907
38
229
285
76
768
270
27
43
866
192
826
975
684
49
468
857
462
614
671
718
656
728
551
3
208
962
326
534
35
391
75
796
253
355
573
410
89
568
111
763
999
829
718
694
240
912
413
56
41
877
930
720
549
211
877
331
944
684
419
661
449
762
414
967
503
731
381
136
4
438
783
733
381
701
936
282
213
977
234
261
272
855
503
286
134
296
47
955
984
303
324
624
829
898
285
178
79
858
98
487
428
648
358
847
973
384
928
128
804
484
212
788
637
821
32
135
643
869
247
478
295
312
940
848
933
14
276
15
760
111
120
421
123
192
122
457
306
191
247
270
491
689
675
868
223
730
571
878
482
186
493
702
437
906
87
218
32
630
288
380
860
668
474
265
155
891
862
171
344
421
997
339
308
762
343
753
398
783
842
278
305
91
792
49
55
860
574
664
799
105
513
215
534
700
701
598
601
230
656
891
598
853
523
765
357
944
934
74
743
228
738
767
352
480
552
226
620
648
516
979
460
412
655
490
330
800
987
395
510
446
906
111
493
497
351
224
585
949
5
446
221
426
80
206
32
20
241
149
413
813
903
896
188
168
400
430
988
673
538
407
109
875
627
461
979
588
386
340
803
614
56
325
612
159
621
898
754
111
303
110
770
593
412
416
747
910
147
1
492
69
217
805
260
537
981
497
398
834
350
634
951
809
875
117
182
189
299
852
12
104
317
194
567
791
483
380
389
627
975
635
374
963
416
63
170
979
65
751
597
914
476
722
629
584
140
529
616
66
746
294
715
766
405
950
962
898
629
295
999
532
872
217
266
996
192
100
350
368
945
20
292
223
449
771
858
578
264
181
191
191
38
431
775
997
899
309
382
464
6
411
491
100
203
315
697
157
645
665
818
827
943
912
681
871
602
195
105
666
498
459
204
124
706
464
935
794
246
755
766
720
232
42
452
336
439
659
151
717
547
974
564
32
174
640
313
930
353
604
552
868
276
622
649
144
983
847
854
468
175
741
49
452
451
146
40
311
127
878
364
412
222
601
250
47
333
65
196
929
903
8
618
499
813
158
144
55
317
806
442
111
104
360
904
121
653
148
127
935
115
473
879
883
676
611
176
418
726
991
167
605
174
266
729
573
958
395
106
253
118
96
438
309
802
262
734
236
241
14
698
990
26
57
845
355
979
954
484
514
562
708
502
893
2
783
336
458
290
349
179
27
772
16
249
109
301
826
905
976
848
578
491
405
980
831
70
575
893
96
614
114
488
786
782
184
583
466
191
777
466
840
913
125
886
674
29
235
57
577
241
61
403
118
896
785
572
318
325
992
749
911
16
254
372
122
7
810
161
919
861
561
819
839
685
562
800
495
13
557
361
852
760
876
451
177
104
191
88
344
892
200
584
818
106
313
341
228
961
800
974
896
503
656
210
83
882
677
340
987
100
799
999
726
666
842
719
644
493
165
986
267
368
613
514
166
474
357
68
779
826
873
441
998
884
373
124
925
325
445
822
751
686
512
165
174
583
37
933
74
284
11
615
463
714
407
367
876
345
725
309
408
44
685
611
630
649
392
20
444
943
37
306
749
748
289
620
497
51
72
887
267
430
324
193
54
562
699
564
326
280
876
685
747
435
330
852
194
845
915
927
800
705
627
105
810
175
225
106
981
261
207
758
90
761
766
24
890
762
986
246
488
141
476
722
721
559
80
794
541
688
70
295
842
794
455
534
397
353
642
4
826
46
729
674
557
385
95
980
781
186
827
656
320
297
738
134
94
331
390
518
675
586
566
96
962
34
133
920
619
996
45
249
311
117
570
535
146
329
444
216
979
778
778
768
396
80
18
365
263
882
138
6
698
409
592
166
203
566
207
855
491
232
345
485
209
557
180
74
384
436
847
151
908
859
579
167
804
494
649
367
300
681
127
826
13
9
974
809
616
776
967
699
453
933
324
483
464
558
651
180
664
508
24
686
146
674
582
178
272
175
36
642
246
891
831
77
775
990
578
644
866
471
504
339
125
300
346
798
103
411
88
463
326
707
399
683
658
200
445
250
566
597
997
526
658
988
390
584
590
731
961
704
86
307
22
190
324
692
329
681
408
741
229
70
978
196
387
684
274
190
58
578
122
529
352
725
397
623
860
335
462
653
275
784
987
465
395
451
327
718
955
240
335
4
319
756
75
35
919
885
424
482
732
992
935
747
765
103
680
739
706
178
1000
741
424
40
213
575
979
612
382
559
142
852
181
221
233
198
740
328
220
364
118
547
633
80
697
987
833
716
367
930
554
763
864
317
463
838
948
899
672
205
472
558
754
825
506
966
847
564
843
617
838
550
178
291
467
571
184
156
430
98
509
64
185
731
463
57
252
851
771
751
220
814
327
52
571
304
300
610
659
330
323
531
922
947
716
108
413
964
895
791
296
799
139
137
783
160
910
262
360
410
763
179
782
324
686
453
501
439
402
808
662
348
766
674
750
113
872
180
309
409
939
765
875
169
319
395
432
254
222
380
220
101
865
888
733
430
810
584
52
791
169
237
467
162
229
779
509
875
789
30
83
835
171
243
414
398
432
694
862
289
764
776
529
614
482
420
729
392
248
257
39
997
396
586
674
578
315
100
321
810
848
325
446
331
584
895
293
797
725
118
447
804
956
752
904
842
341
578
13
35
843
113
559
678
482
797
494
476
497
55
523
965
150
923
817
777
940
352
624
336
107
838
455
41
221
819
785
230
598
104
980
12
2
699
200
601
854
553
622
886
698
124
195
831
244
182
512
721
666
911
90
432
187
232
537
643
185
213
586
372
192
605
977
302
204
803
509
91
630
15
356
296
108
997
938
567
111
505
180
512
984
498
33
985
575
244
484
588
125
674
101
861
456
733
373
966
763
39
710
692
544
815
976
226
268
964
902
475
397
145
485
677
305
872
798
660
418
4
216
391
674
456
155
386
966
607
862
155
842
678
666
78
110
294
358
43
389
565
63
722
891
257
41
553
860
84
322
428
202
685
35
538
766
606
511
86
655
491
25
364
717
728
99
212
42
991
849
28
930
482
758
312
256
198
597
168
595
188
976
350
790
625
117
183
840
481
20
139
167
725
137
933
286
276
51
760
926
380
394
695
423
689
453
314
15
82
472
365
304
195
654
612
717
686
263
92
290
518
23
621
460
894
232
806
835
60
605
753
135
865
899
355
546
844
779
333
779
578
239
189
17
281
117
815
737
869
895
828
162
257
10
596
667
264
406
536
49
310
846
494
1
12
861
937
451
932
809
232
729
962
659
514
638
250
581
507
615
181
300
202
108
607
518
472
200
451
381
537
274
828
81
722
231
44
236
56
340
170
583
110
348
422
869
921
836
235
558
970
168
745
132
960
582
372
287
592
108
350
315
590
34
322
301
23
578
579
561
325
285
141
891
521
402
608
809
831
178
663
948
258
565
169
157
727
295
18
662
91
682
315
856
600
787
986
900
489
762
617
329
929
308
198
298
950
170
432
915
883
519
457
380
482
867
156
249
200
912
694
247
987
312
582
459
599
943
337
638
634
633
780
607
437
705
105
422
539
930
123
50
564
638
497
801
345
819
371
638
587
3
504
807
535
593
947
940
998
124
297
861
549
595
804
912
871
621
934
465
55
684
526
686
89
129
329
319
932
901
554
406
306
244
25
426
822
683
692
288
100
680
524
962
318
272
276
330
28
874
212
989
118
147
656
344
534
535
121
293
740
613
885
237
920
865
80
903
620
908
764
725
846
445
998
100
675
431
621
890
39
33
312
948
672
970
496
273
208
740
870
672
969
28
599
411
336
353
757
412
477
618
199
13
824
759
849
163
920
146
348
186
192
739
104
960
713
229
56
389
292
601
864
590
57
577
845
52
241
400
680
399
77
295
801
17
526
721
447
988
76
220
530
247
1000
285
848
840
256
151
666
459
714
841
385
201
466
101
810
627
799
104
529
744
826
909
67
513
847
710
730
823
302
852
553
661
514
438
336
378
565
100
533
530
279
183
674
776
717
140
73
688
593
421
813
153
710
523
365
244
848
142
788
44
552
559
98
947
894
515
296
366
622
804
542
623
49
740
129
40
677
477
227
876
814
860
885
823
390
152
360
238
752
486
698
124
491
341
383
178
226
708
28
876
853
838
309
658
974
652
773
763
97
936
739
162
709
439
219
336
551
867
691
359
205
524
602
841
651
103
651
849
587
660
307
792
101
360
478
648
773
973
956
603
393
420
65
347
266
884
925
818
500
152
899
121
778
867
48
753
845
324
914
3
366
290
524
582
851
84
278
124
59
810
315
193
689
210
14
811
164
74
525
340
17
512
600
747
724
714
564
907
826
973
935
603
828
867
84
332
701
518
322
827
725
708
980
487
98
508
366
504
960
749
968
570
450
328
917
478
983
869
499
808
200
679
471
152
933
336
48
20
87
443
660
638
569
293
38
345
259
228
730
198
534
454
903
681
66
965
152
134
432
998
99
635
588
154
765
566
404
894
35
50
256
644
80
767
176
153
231
381
125
43
663
985
780
744
202
499
649
124
717
921
396
147
848
706
34
856
279
296
42
813
361
24
493
895
660
183
50
982
924
46
997
677
32
19
550
629
725
909
351
456
307
491
400
504
42
192
669
911
689
700
296
519
436
773
589
184
569
299
989
963
308
973
813
450
631
518
844
278
346
510
786
410
327
256
176
407
629
86
618
284
120
667
80
913
413
636
569
200
120
912
719
406
857
568
680
74
40
8
256
970
218
515
381
346
575
941
912
611
289
418
168
191
638
486
839
949
80
989
665
63
72
382
771
641
39
852
664
692
744
821
661
290
300
904
978
890
158
398
766
803
766
718
174
776
989
967
867
456
7
20
535
303
180
65
613
149
272
546
823
176
498
842
164
582
122
831
674
536
678
664
611
357
455
738
719
25
586
821
874
219
939
761
745
97
999
6
30
952
134
418
496
669
934
508
286
650
808
275
930
508
656
271
50
353
230
410
31
938
752
272
806
298
446
364
486
743
931
866
753
254
818
872
837
380
435
51
412
705
346
943
913
866
206
805
662
839
532
68
637
944
205
934
907
606
815
629
549
397
535
108
336
324
844
788
603
627
242
1000
477
570
109
424
94
859
964
716
511
340
698
910
781
573
802
935
43
735
197
785
551
53
72
433
293
636
13
612
188
133
822
922
917
123
625
593
102
531
266
378
903
625
545
717
81
376
522
286
263
30
2
515
405
775
307
466
471
256
617
699
910
566
480
425
852
7
596
262
819
585
574
399
384
718
205
817
439
88
712
502
621
915
544
238
48
176
566
686
683
480
897
904
548
337
226
403
535
570
173
87
727
479
149
176
5
159
205
299
207
56
572
477
243
464
937
634
411
152
31
614
588
722
751
420
127
642
884
532
42
72
470
718
511
791
984
713
816
520
804
484
592
899
896
607
640
235
243
424
642
862
298
249
820
652
692
871
956
756
464
16
215
133
342
204
904
821
977
673
628
165
570
634
324
434
60
156
282
336
861
397
585
961
173
747
368
582
54
652
910
578
769
587
854
434
400
644
789
448
357
691
17
264
219
925
561
840
262
885
409
757
181
691
497
79
729
360
207
105
456
521
971
423
265
753
157
666
281
94
544
237
365
933
576
56
696
658
54
79
12
920
103
939
471
317
28
556
604
622
175
983
500
438
11
67
190
291
418
729
174
719
643
796
174
905
422
359
505
724
556
566
869
877
604
606
30
943
438
420
554
777
108
284
740
658
830
43
923
995
965
186
584
194
503
382
74
515
952
338
298
326
484
85
434
230
875
835
578
916
77
619
256
470
214
769
882
69
441
180
594
675
352
961
360
360
585
755
891
377
845
511
702
937
831
961
584
936
424
384
905
547
102
505
357
680
706
532
245
786
605
402
952
405
806
289
956
127
740
291
670
379
319
18
404
522
324
477
967
307
368
264
765
633
459
563
779
902
683
886
470
989
620
770
476
15
913
915
960
626
810
330
596
485
634
129
488
1
840
545
737
132
749
568
20
239
98
393
268
583
257
499
477
16
356
775
744
844
566
548
860
613
474
788
177
796
849
10
12
963
63
622
545
47
108
545
39
727
452
940
196
810
934
786
671
702
539
881
41
734
154
558
67
123
350
14
665
864
827
732
843
638
396
879
778
160
294
924
341
30
160
981
617
237
247
543
403
972
291
325
227
275
6
926
182
372
341
891
737
248
487
539
744
105
125
626
49
921
538
489
492
185
39
848
562
278
629
838
678
679
912
154
852
307
83
448
520
912
233
198
419
321
312
355
699
764
825
972
934
246
765
907
248
109
307
418
596
536
549
143
109
697
919
520
517
665
918
178
880
32
547
215
263
337
101
552
505
50
27
750
964
885
168
800
954
628
62
337
617
490
891
730
132
261
332
229
492
173
814
138
563
415
634
578
777
734
978
956
598
395
123
685
863
51
18
71
187
756
997
506
909
426
580
300
456
558
209
529
577
896
281
258
644
35
28
385
96
695
643
118
140
451
532
811
37
285
736
482
651
219
382
812
443
627
467
877
777
570
433
157
219
633
730
585
496
319
38
556
916
961
878
819
349
550
110
142
314
582
211
475
327
242
282
108
430
806
454
944
733
158
746
633
873
669
417
727
553
542
604
436
664
885
302
839
86
422
809
588
931
763
364
250
861
566
33
445
122
786
879
829
113
411
38
804
621
766
633
555
338
487
390
652
928
746
377
966
684
160
591
129
778
93
966
88
217
738
966
555
862
441
142
344
317
233
882
634
31
413
149
156
728
342
135
221
133
308
660
257
32
438
587
230
882
162
709
929
567
630
380
578
390
876
585
673
59
183
322
255
274
325
905
29
478
859
254
906
470
626
314
556
911
975
508
510
149
995
520
195
442
223
764
49
390
864
624
509
329
567
903
255
490
187
955
537
990
755
680
820
69
112
853
254
574
249
309
663
355
435
127
866
121
631
273
126
296
528
129
442
600
779
964
225
398
652
660
609
334
363
971
287
428
837
157
299
578
467
98
624
379
759
882
805
280
385
451
74
339
281
51
598
287
893
172
551
163
588
127
685
518
540
650
944
90
96
721
465
871
778
295
992
701
551
824
333
890
956
205
992
854
3
305
522
453
499
307
460
510
578
904
924
8
817
812
99
569
218
160
857
121
740
48
695
133
826
995
54
357
534
26
799
829
482
897
324
768
800
298
313
88
660
923
646
501
802
966
340
525
619
967
681
302
34
891
913
813
399
12
933
921
60
466
463
706
95
306
57
716
949
511
147
85
333
689
38
943
837
137
386
195
119
516
251
524
433
655
241
444
510
882
617
302
501
862
485
433
744
114
362
56
641
283
474
90
796
727
102
800
897
214
199
66
500
316
255
121
14
630
115
781
695
70
12
593
380
304
626
769
40
885
353
527
953
710
319
210
450
271
855
579
745
549
337
805
311
517
268
976
628
977
476
374
907
813
108
407
551
867
891
831
737
293
755
808
438
681
518
432
645
206
780
598
337
803
562
432
932
666
511
114
612
386
689
552
889
694
56
273
234
76
764
900
419
508
291
722
460
168
261
240
675
264
526
7
472
50
696
749
883
709
868
526
757
992
716
666
798
453
490
281
285
637
683
469
432
818
319
700
789
758
884
475
24
462
856
60
700
120
727
17
383
248
146
258
524
531
531
579
72
59
105
976
732
406
773
547
69
515
724
486
443
440
916
454
867
797
852
631
468
201
167
881
159
45
588
739
507
755
791
403
558
23
480
506
547
615
833
212
6
21
50
94
773
642
371
330
814
190
361
989
532
687
655
550
506
780
639
370
153
90
752
487
880
971
156
15
680
344
560
408
984
270
891
16
812
518
292
712
909
673
697
818
604
275
817
220
595
49
953
352
724
552
444
661
62
455
956
293
332
245
35
3
747
338
529
684
858
483
547
522
876
837
589
483
257
316
372
753
39
626
659
772
517
901
82
720
402
25
567
664
487
516
453
85
225
322
821
172
320
999
870
113
615
521
386
557
81
413
487
603
693
964
874
933
325
58
742
168
590
546
361
140
689
127
104
518
965
470
333
160
805
610
156
635
951
755
502
587
81
268
384
994
719
950
466
940
157
765
276
204
85
762
470
810
71
289
605
741
824
560
736
136
464
232
5
647
631
954
118
117
336
781
195
343
899
912
64
532
199
494
481
960
734
118
113
488
632
180
384
822
894
532
435
859
576
684
518
980
570
358
135
956
899
403
73
944
185
872
323
165
37
610
520
998
643
824
170
608
766
919
406
758
693
368
462
65
396
479
338
855
347
727
370
700
949
729
544
885
518
52
436
344
116
781
591
37
303
173
8
373
41
788
157
28
597
217
612
426
240
857
944
243
956
280
7
503
199
347
113
234
881
626
897
207
459
640
842
954
958
109
555
144
226
710
879
392
527
781
832
754
829
72
198
483
800
890
300
98
546
940
126
461
614
731
514
359
632
696
545
17
231
47
628
90
572
967
46
947
878
943
856
465
878
927
136
145
937
527
521
64
973
635
869
113
967
716
671
952
960
495
511
374
992
933
503
83
335
175
97
426
712
646
94
284
940
564
12
141
580
948
160
351
708
597
932
747
918
648
839
22
995
31
761
796
484
569
746
843
561
511
421
751
183
21
773
201
493
495
594
95
844
639
375
48
620
880
807
100
224
69
343
68
227
407
447
662
690
177
285
331
109
184
583
834
231
771
317
683
281
892
707
954
739
12
694
403
878
527
753
520
736
1000
371
888
53
748
14
202
962
217
734
401
932
158
809
627
508
799
994
131
910
121
25
851
423
842
965
95
851
919
898
642
958
196
239
661
995
357
628
983
887
453
973
689
605
127
716
428
571
87
796
583
681
528
119
224
695
962
553
754
264
369
594
315
854
650
902
278
160
133
837
651
411
272
968
761
103
737
296
430
307
827
581
682
687
478
748
174
741
206
795
733
599
976
26
774
909
347
717
931
961
227
495
918
213
251
849
509
828
65
142
523
627
801
459
873
152
637
402
84
137
598
695
124
749
721
70
76
441
272
456
937
79
957
929
804
325
976
234
797
890
333
936
345
394
11
430
870
22
512
98
482
89
799
879
34
923
816
395
769
156
664
571
830
684
963
359
123
3
105
806
352
634
892
175
585
611
555
273
357
802
235
425
154
936
797
792
102
795
302
823
821
962
516
701
688
893
627
564
225
853
689
135
918
417
437
157
537
854
765
682
952
654
598
836
509
891
849
150
271
912
899
932
799
24
340
440
718
495
726
805
982
198
740
757
642
639
486
207
896
957
579
653
410
732
342
191
195
45
672
639
806
347
104
918
291
78
160
348
88
908
347
991
33
706
44
496
727
19
102
164
813
947
175
125
85
775
692
552
961
609
891
866
570
599
539
696
588
988
776
213
14
402
48
101
266
256
234
41
323
124
868
111
200
227
850
863
636
948
141
230
772
412
726
558
538
746
552
259
607
556
264
565
88
560
269
848
562
64
103
772
675
149
107
352
276
13
149
602
983
932
491
74
172
650
934
15
572
856
62
283
70
582
735
437
862
996
993
603
784
55
173
832
517
942
358
650
370
16
246
427
520
266
133
17
902
881
7
806
441
629
660
986
930
174
335
378
684
321
656
561
16
482
513
455
718
285
102
704
978
380
574
418
568
936
589
872
759
272
608
722
88
310
957
233
48
305
501
718
778
358
310
162
49
800
806
540
178
423
731
882
57
862
705
533
88
219
293
371
716
98
268
978
155
837
183
891
116
626
471
79
578
607
32
757
124
792
665
476
973
838
774
203
582
271
477
746
634
768
632
464
280
489
326
657
750
246
36
437
843
525
32
137
312
963
587
530
922
932
203
219
749
282
372
567
347
149
378
439
564
961
227
861
112
424
121
417
472
323
779
814
370
433
529
634
832
682
340
664
800
17
847
616
372
54
998
238
15
708
173
32
497
483
474
826
888
980
437
436
676
510
590
539
956
387
118
644
700
592
414
763
280
30
409
977
819
525
434
573
421
14
787
879
21
175
328
219
415
831
193
618
996
56
160
58
902
841
273
83
522
565
102
520
793
270
401
908
324
922
994
6
123
420
431
401
653
118
337
794
992
993
385
35
117
421
543
350
726
720
537
474
526
229
531
635
663
719
603
378
777
352
995
280
207
254
984
473
44
980
931
738
28
819
282
636
794
928
252
788
589
735
534
956
400
937
569
983
350
666
881
48
365
82
484
924
332
748
622
66
437
599
960
471
906
251
863
189
121
671
611
245
977
940
213
551
371
978
990
35
937
578
253
848
471
68
210
990
39
231
701
128
379
834
473
685
94
314
514
489
56
661
350
445
623
543
365
671
544
48
883
528
868
223
208
797
818
731
849
30
298
553
881
731
674
645
763
638
512
861
969
802
185
237
457
577
686
961
369
889
477
960
312
380
944
43
271
85
864
988
474
331
312
779
511
448
596
444
645
701
146
577
501
569
749
713
275
145
175
138
200
944
20
618
230
863
552
773
825
391
448
526
282
393
568
119
257
1000
342
677
998
151
913
217
365
353
912
285
848
79
630
97
685
6
395
225
637
19
164
316
171
463
687
339
570
664
139
112
982
137
742
670
549
213
771
112
493
44
278
182
527
89
45
753
5
193
533
752
995
330
69
864
855
941
119
494
950
517
235
64
877
781
220
720
908
356
88
908
432
302
667
74
810
272
47
971
453
326
649
654
886
638
368
271
225
436
100
172
832
488
7
727
837
409
998
432
857
836
257
569
539
265
133
717
446
969
321
877
438
947
86
838
924
313
208
671
257
849
448
936
143
750
594
241
96
694
553
315
882
491
554
623
423
495
235
865
783
870
290
418
738
583
388
871
916
669
275
357
618
950
343
265
301
849
432
311
104
392
332
617
964
784
258
656
639
177
556
419
364
373
38
169
7
252
638
457
273
640
533
897
983
204
466
333
438
685
798
648
656
477
701
421
612
95
13
60
626
572
475
829
781
187
487
396
527
232
42
144
673
693
210
509
605
844
399
32
875
743
617
650
277
533
161
983
147
269
444
35
903
716
189
751
766
193
827
361
219
73
756
292
970
998
41
682
131
196
268
255
846
573
513
335
843
390
800
323
246
409
18
830
512
371
979
947
547
544
191
888
890
856
979
291
354
849
756
51
669
257
642
424
471
524
108
531
471
8
4
67
720
916
161
241
707
225
735
442
442
29
581
165
745
707
275
27
768
331
818
512
105
518
675
266
979
723
578
305
641
623
415
537
552
787
622
361
900
340
724
923
708
673
43
811
136
564
164
592
559
239
413
603
674
38
501
842
182
310
450
652
579
126
137
91
187
160
86
576
849
854
611
395
642
598
100
179
571
184
950
259
402
249
693
119
771
772
885
827
198
914
657
426
888
705
198
717
65
103
38
810
105
934
732
85
930
126
422
921
967
407
810
690
448
335
257
988
23
146
111
37
427
389
841
526
426
734
254
869
407
661
881
25
702
969
609
592
240
138
758
793
155
673
118
405
746
437
898
391
608
880
134
207
771
795
900
333
436
905
547
562
250
152
295
966
100
28
725
294
78
680
107
718
635
779
38
499
897
383
589
137
816
64
971
20
113
627
793
390
928
624
116
710
739
705
854
158
376
556
545
1000
882
816
151
95
584
894
350
603
969
56
723
281
872
485
350
387
34
298
593
339
304
642
254
720
655
61
891
154
670
324
782
852
371
741
928
356
102
824
534
108
656
813
600
997
2
199
602
969
790
871
784
106
244
943
214
330
208
611
611
34
872
630
923
480
146
131
760
779
729
519
108
622
690
154
170
705
748
359
809
965
539
39
819
335
833
887
170
699
67
693
455
147
568
751
994
404
535
754
427
546
191
841
202
693
503
642
19
436
539
289
200
132
807
357
917
72
939
593
422
751
654
137
715
112
235
640
585
689
697
325
600
50
406
577
401
768
137
69
611
458
505
809
792
66
217
725
115
701
847
578
857
766
672
56
398
64
674
877
119
846
964
610
511
461
743
696
821
417
404
881
776
148
547
813
293
734
465
117
573
127
135
643
655
215
895
890
340
153
714
873
371
989
446
785
884
529
523
867
444
789
299
839
446
113
655
87
241
245
534
564
124
212
806
15
246
859
205
703
571
287
146
314
242
233
874
45
110
648
776
220
703
339
663
943
652
563
470
393
401
886
179
385
73
458
667
730
521
84
877
725
928
132
919
866
775
353
703
453
673
162
246
358
311
783
87
602
756
931
108
788
414
394
641
668
253
942
961
274
289
493
114
146
922
357
582
122
430
682
457
54
830
928
642
621
348
321
83
48
943
748
224
203
687
489
630
1
326
502
243
469
984
749
834
160
848
136
974
805
600
270
333
228
535
124
148
597
592
101
487
9
960
765
330
266
544
648
539
457
332
171
514
611
623
662
707
258
153
887
170
216
385
282
43
295
615
307
177
888
102
933
124
627
107
320
361
376
617
139
924
821
493
859
598
858
14
535
442
774
48
277
673
937
612
654
917
376
201
726
371
118
51
258
717
627
474
967
496
31
493
293
226
72
265
292
772
869
217
750
318
678
373
464
853
776
105
997
250
494
399
878
864
199
809
360
52
733
430
345
220
404
612
36
745
118
640
193
649
686
248
611
977
619
713
597
641
974
203
747
902
935
222
321
778
843
279
835
384
344
363
298
647
164
409
669
862
775
693
718
303
881
37
435
456
221
758
560
475
649
536
573
145
851
763
731
986
324
473
306
103
444
672
249
85
554
711
890
515
996
392
140
654
936
641
891
473
624
922
971
486
499
41
27
763
119
623
212
110
492
353
388
640
778
1
825
851
716
383
80
920
358
643
784
93
882
696
594
964
281
204
431
945
754
233
447
397
448
590
857
782
36
909
904
633
269
733
724
343
265
221
826
547
789
595
214
365
191
129
943
872
1
304
18
955
373
728
113
152
730
562
556
144
991
493
352
336
684
726
839
353
118
103
699
343
550
190
661
701
910
113
213
177
241
985
33
391
494
10
649
436
654
726
56
606
511
403
620
280
556
303
632
637
562
376
288
203
469
966
714
190
47
279
895
187
653
692
2
94
139
456
674
64
556
984
270
849
873
715
950
184
353
494
752
732
586
512
472
700
420
109
253
417
213
169
289
73
875
410
918
314
159
603
711
606
532
631
840
80
742
366
158
115
897
520
912
24
454
993
951
51
56
753
630
341
509
948
341
654
577
784
743
400
434
668
333
984
786
279
940
539
687
488
96
905
29
538
7
63
530
465
26
346
788
535
110
420
660
362
739
434
755
478
149
747
329
321
572
324
245
37
343
252
939
991
370
803
535
626
488
133
350
128
623
19
19
391
549
997
407
942
248
890
274
794
520
982
389
705
571
49
409
936
724
35
405
394
304
393
308
25
984
67
955
384
576
572
625
616
333
928
141
466
306
3
662
533
199
411
288
705
486
235
462
605
225
751
935
910
159
754
770
625
173
317
457
732
152
552
686
157
561
459
795
665
861
50
153
111
980
710
36
470
639
203
625
201
261
814
828
779
594
868
544
708
906
269
871
913
831
767
467
172
478
359
977
184
464
635
984
923
863
869
422
184
925
371
765
582
581
945
598
849
386
284
366
935
577
813
189
307
333
769
650
827
164
302
362
784
609
980
937
956
43
380
719
82
461
351
249
735
576
173
989
412
394
29
260
587
746
157
701
577
898
570
814
349
464
489
325
806
326
458
131
656
161
684
631
729
490
300
53
454
842
96
233
285
777
769
954
51
12
897
575
565
814
620
171
331
175
536
834
876
15
378
71
37
804
863
496
531
538
518
117
265
985
379
566
142
454
218
551
563
132
333
680
437
192
29
541
278
478
601
584
865
547
26
936
53
247
578
733
513
813
293
952
605
686
517
989
101
829
802
444
194
398
38
663
80
1
40
589
412
629
762
386
94
597
946
127
204
449
266
546
335
860
4
495
246
4
830
281
553
746
568
489
93
254
674
271
746
339
755
302
726
885
650
803
794
237
479
60
408
309
581
870
564
464
468
218
974
943
727
263
246
715
348
424
972
172
60
928
948
967
107
724
281
693
326
42
815
777
547
210
108
152
86
575
196
806
540
481
514
253
206
310
619
371
165
534
849
770
488
562
605
83
82
936
759
126
412
85
581
857
694
404
642
484
195
915
424
860
958
143
707
500
610
113
386
194
901
574
35
189
292
677
439
355
196
287
270
566
474
85
301
786
366
365
855
985
366
225
659
53
446
415
941
364
631
690
364
469
202
935
373
712
665
679
619
195
218
876
394
636
646
995
425
135
449
509
961
758
545
878
801
167
59
967
819
209
567
655
563
510
642
66
730
635
727
454
659
288
141
284
493
389
514
463
354
574
57
985
663
825
853
477
762
486
784
284
95
885
824
723
513
120
134
140
732
393
840
189
557
373
406
552
256
739
245
964
394
967
569
968
510
874
536
313
232
210
389
275
845
791
675
478
852
308
592
975
759
927
179
451
200
270
381
420
501
149
966
194
970
710
910
211
519
258
152
58
700
98
519
127
895
187
260
383
154
255
838
200
177
313
545
507
2
157
78
799
233
562
395
699
80
325
92
828
32
240
14
723
731
378
46
411
499
747
845
44
16
531
770
680
835
624
438
907
803
98
128
511
937
587
722
772
1
295
998
346
835
489
884
849
476
898
670
442
265
374
323
722
389
560
766
176
797
64
368
303
12
826
10
263
136
936
734
585
254
161
420
996
520
831
915
965
452
529
762
881
331
257
974
97
163
333
350
274
337
330
427
523
6
765
516
885
192
104
201
577
805
861
340
257
102
242
843
287
557
820
469
594
793
183
463
279
995
380
101
546
175
239
105
904
774
312
481
807
353
307
502
93
527
318
474
649
880
100
427
662
343
898
58
759
381
92
103
70
400
981
815
972
967
600
357
860
809
366
756
791
62
665
505
274
906
285
52
781
551
674
148
777
534
626
517
220
386
894
353
480
77
632
916
610
46
336
922
709
261
102
428
916
504
638
701
190
1000
431
856
638
579
881
143
602
800
3
404
94
836
519
575
488
494
763
117
512
407
852
886
750
324
5
299
804
407
708
577
229
647
688
507
133
805
274
404
94
775
816
942
632
925
236
43
53
723
702
329
897
952
663
505
587
888
144
603
107
98
318
253
737
924
836
999
894
310
297
218
148
328
549
373
318
687
205
191
378
522
894
828
565
975
264
270
702
433
702
986
233
801
50
355
904
852
347
489
312
534
775
858
793
83
530
552
230
924
293
121
424
666
361
659
571
901
249
223
285
171
756
727
332
190
67
151
903
356
475
329
834
639
666
527
645
192
338
798
647
385
127
361
672
533
423
301
140
279
689
527
305
446
300
209
524
193
791
928
274
474
598
353
507
119
56
551
609
352
456
993
903
186
409
864
134
934
662
580
837
17
746
279
838
377
530
647
384
40
843
622
568
815
805
415
769
669
406
819
824
77
172
927
494
496
473
268
618
201
139
824
989
876
555
584
639
754
367
62
669
565
222
696
226
261
743
174
500
299
51
478
869
221
736
903
436
457
96
397
237
511
855
281
349
204
336
868
971
185
239
497
305
761
747
275
728
936
701
131
309
694
943
873
210
744
761
580
870
361
556
19
178
481
474
776
18
928
775
443
678
490
107
502
613
581
733
521
968
404
957
911
79
833
653
742
898
735
876
74
918
81
941
848
709
990
285
622
613
795
639
332
509
344
743
846
793
985
932
265
904
131
363
808
767
851
615
657
526
682
629
306
792
745
711
803
444
268
416
784
687
857
652
329
696
178
263
502
656
249
714
887
435
196
192
560
439
154
624
715
422
995
644
601
148
663
507
508
855
229
305
288
396
214
616
321
778
322
897
861
604
512
505
446
547
241
224
394
572
783
582
482
103
772
20
538
691
503
209
49
37
52
409
880
420
2
784
851
676
398
26
212
864
578
467
57
695
689
88
307
590
27
496
186
975
821
985
45
38
718
247
980
716
12
178
944
131
630
480
942
18
970
454
460
965
970
437
525
444
194
854
606
666
290
727
159
283
934
803
750
816
226
160
576
517
570
262
656
12
274
973
157
714
435
939
107
472
230
109
224
355
352
873
691
762
203
482
526
309
403
922
582
24
331
404
342
472
699
985
398
325
611
598
921
783
173
973
469
971
471
468
223
123
660
867
91
920
989
567
153
825
792
382
614
639
906
417
759
786
471
54
420
31
814
129
88
426
939
805
152
294
178
478
672
968
723
273
754
813
77
379
837
794
959
464
166
470
813
921
300
850
887
530
749
961
786
399
757
351
510
726
777
2
264
12
428
265
710
830
579
532
967
157
746
315
324
597
154
266
587
487
676
500
964
42
353
229
650
176
340
353
581
592
952
122
364
42
933
439
67
420
203
635
343
476
114
829
392
510
683
73
356
344
345
533
63
251
548
909
493
281
879
130
907
604
497
121
395
66
350
100
469
162
38
438
439
997
184
567
522
635
903
839
22
435
268
468
478
567
665
946
350
961
614
369
706
337
913
142
353
802
939
431
33
752
559
559
652
460
397
249
946
761
104
272
689
731
911
560
263
117
955
330
444
514
801
62
296
20
114
484
364
113
684
825
775
50
836
715
405
937
839
35
45
935
63
944
333
789
499
63
319
957
753
514
680
158
776
88
996
60
394
332
990
200
179
772
313
926
321
763
265
322
929
727
861
618
646
651
736
558
526
740
726
543
890
83
376
152
278
32
268
822
651
743
777
30
756
1
832
348
889
993
304
85
366
215
877
90
655
17
661
447
504
628
324
440
353
670
261
173
11
266
117
660
865
873
57
26
861
860
289
722
118
675
714
263
314
181
31
97
926
349
273
624
974
51
551
293
196
130
708
933
465
271
733
192
817
459
4
996
689
963
871
485
827
853
672
712
854
50
987
760
679
749
826
585
754
881
519
41
701
954
225
55
982
213
386
829
65
553
929
322
60
69
701
945
864
385
454
600
669
186
658
727
117
464
580
957
449
51
354
385
790
943
196
190
72
767
574
556
167
501
837
394
553
227
801
372
140
241
799
158
990
343
976
574
271
495
985
561
204
320
774
498
686
122
870
395
983
194
417
956
155
174
227
291
880
157
295
338
918
45
522
674
785
371
911
462
104
457
102
722
710
282
924
998
823
912
596
753
517
666
303
492
259
454
144
721
523
895
869
309
344
869
381
741
206
157
743
38
856
678
284
824
457
632
459
160
8
548
317
241
98
839
783
32
878
959
481
200
608
672
481
484
238
278
189
754
278
834
581
587
642
564
101
126
240
677
878
381
833
747
309
859
88
682
718
631
807
29
528
492
38
61
315
889
129
623
181
659
843
223
135
438
306
197
517
816
915
98
104
899
333
631
167
997
355
548
672
556
710
956
780
288
870
357
992
714
538
586
625
945
751
541
735
619
512
197
316
325
400
966
319
755
902
889
48
58
94
502
561
567
842
466
980
147
951
219
28
907
519
972
686
899
304
347
605
753
99
829
781
882
936
1000
48
13
450
203
156
332
886
896
543
444
22
448
430
675
790
556
539
12
443
754
544
93
947
740
378
220
675
355
618
328
585
84
491
221
816
913
487
117
24
192
170
764
862
939
537
960
693
666
202
263
31
368
755
142
210
815
871
553
470
642
134
174
992
26
104
133
428
935
812
88
77
40
779
933
233
354
614
261
141
622
463
922
646
255
869
692
904
359
103
98
430
23
665
909
384
573
435
669
215
935
922
925
705
602
139
460
995
967
936
939
422
912
993
871
825
658
287
672
558
801
566
912
570
396
249
560
826
675
207
132
770
742
112
182
730
128
348
488
967
641
41
641
507
323
398
454
67
661
384
790
114
417
749
918
570
587
558
504
730
994
648
678
755
20
924
407
453
777
973
573
151
814
277
737
184
84
176
565
866
487
867
278
873
773
902
310
623
951
71
526
604
668
77
26
571
187
134
516
218
700
455
708
208
726
609
4
436
247
924
991
3
43
392
894
680
431
62
203
538
233
501
127
61
327
735
428
260
585
996
419
233
357
745
608
179
902
670
559
69
332
798
2
76
708
428
164
371
896
319
540
82
673
474
86
74
350
869
883
674
894
722
883
638
98
203
232
459
884
59
44
596
209
222
194
291
383
370
881
466
819
343
244
584
360
453
269
477
383
67
604
881
808
230
663
816
987
748
566
22
212
898
63
363
237
840
574
494
782
906
852
110
444
147
619
782
841
917
687
724
97
837
732
827
948
131
870
970
874
246
647
895
654
629
864
933
655
731
908
459
977
628
896
263
309
112
5
921
978
787
809
892
206
441
303
250
34
965
592
932
723
159
845
879
691
69
273
710
216
865
308
427
191
896
91
146
199
257
685
102
52
100
116
935
724
982
465
838
304
693
768
235
189
443
390
523
245
712
882
826
75
808
72
886
842
959
268
935
343
758
31
880
122
943
916
192
482
730
939
640
180
437
310
429
438
688
150
352
662
277
481
265
928
684
778
613
839
308
761
696
866
722
912
115
629
621
403
139
889
713
743
730
192
468
476
648
226
520
659
334
943
514
740
246
399
379
620
956
122
302
406
584
486
202
349
68
254
89
961
394
944
543
150
115
141
444
487
428
226
239
398
610
226
254
151
850
680
3
6
372
461
23
783
283
470
471
413
750
25
628
731
974
500
503
908
900
524
902
408
774
596
723
319
463
517
709
205
905
415
596
390
214
494
397
716
700
829
545
382
522
671
773
417
798
777
879
704
694
198
995
260
479
813
564
626
543
670
26
832
111
837
86
371
765
28
551
19
904
770
946
143
944
230
484
343
442
124
544
881
275
302
482
399
688
740
473
803
342
623
91
82
421
163
497
30
526
577
436
497
321
397
731
848
870
908
581
768
146
29
788
405
500
423
968
138
719
958
918
893
916
874
575
60
674
223
408
518
749
156
685
186
177
661
757
812
800
180
415
442
65
387
405
77
466
20
393
614
127
337
25
24
860
215
239
114
471
352
659
904
228
332
728
855
188
557
202
672
479
151
795
416
778
10
21
2
921
87
770
914
25
863
720
191
529
714
487
264
304
528
312
258
332
509
158
753
504
580
338
785
744
159
168
104
39
388
684
303
926
74
176
447
649
713
124
280
516
947
165
892
942
759
855
999
291
477
345
605
901
420
550
887
621
635
44
588
786
705
691
89
765
61
989
566
175
578
203
349
370
474
615
673
56
719
665
479
734
205
300
858
222
916
607
991
679
207
672
182
393
98
672
670
107
168
381
436
788
243
658
156
575
580
975
761
98
639
710
830
471
885
788
179
73
252
179
544
622
57
967
239
175
175
925
19
416
230
52
164
999
407
76
938
772
246
732
223
435
442
515
50
536
226
694
205
763
412
616
830
143
528
688
211
144
772
1000
496
613
716
225
164
211
761
319
437
229
390
523
724
725
130
359
347
467
996
636
532
494
876
958
619
21
978
864
959
13
969
526
805
989
894
880
780
538
314
176
181
570
341
188
462
551
427
746
728
845
819
831
974
808
573
214
78
467
892
470
314
451
352
302
216
361
255
248
164
873
965
255
10
746
574
70
351
296
659
100
842
78
218
208
48
277
80
878
915
726
232
355
884
591
524
623
27
488
176
546
390
203
331
128
855
259
692
567
457
276
899
735
66
441
908
770
729
445
73
699
793
925
47
418
113
779
872
868
283
731
844
970
832
176
820
728
769
634
654
935
683
121
350
54
852
358
341
213
444
21
26
706
972
170
330
35
595
581
576
331
740
963
425
930
783
924
960
996
200
146
261
340
701
401
982
10
314
941
497
787
320
323
161
474
222
897
121
736
628
43
870
304
80
729
479
545
326
122
970
772
526
791
885
158
141
508
426
817
70
773
933
412
682
966
651
646
970
468
867
130
29
189
562
408
378
663
630
377
463
313
587
946
825
509
449
527
18
788
103
903
333
950
74
40
795
810
65
705
707
23
27
86
189
777
789
181
820
140
488
422
477
470
140
847
913
663
661
151
427
916
620
121
249
359
756
271
869
148
76
993
640
573
930
156
385
310
32
908
663
195
817
351
562
817
878
895
613
754
496
348
469
531
401
207
493
221
22
218
300
150
402
979
593
357
877
250
339
282
383
701
457
682
949
995
691
895
543
494
290
403
923
356
438
112
580
486
106
873
166
619
169
556
14
786
165
431
502
570
28
689
50
838
508
682
461
90
740
877
196
175
627
568
891
881
258
111
134
834
586
808
25
202
989
617
581
955
130
526
377
779
743
783
127
343
593
167
88
263
859
139
289
996
653
24
560
902
165
330
274
880
232
957
523
302
703
289
173
469
90
139
869
432
398
74
601
818
926
912
893
269
96
78
997
183
20
79
779
720
642
552
81
470
729
226
467
720
929
672
210
24
382
886
244
653
90
589
621
528
378
653
687
486
264
174
787
29
536
556
822
261
604
422
395
371
996
285
592
841
460
709
664
547
226
99
26
58
912
373
2
733
936
502
700
648
70
313
246
38
936
10
365
628
832
575
953
232
270
602
850
999
8
121
505
967
134
676
603
938
5
247
997
270
423
604
494
841
482
352
154
321
920
205
721
902
658
18
773
788
452
728
957
89
202
603
407
237
559
178
84
677
876
810
301
389
465
51
139
734
353
936
814
241
420
835
320
195
901
759
797
323
695
837
188
430
838
268
692
604
799
178
403
439
950
697
323
833
704
43
625
77
293
565
621
309
139
503
440
951
49
684
774
373
246
506
420
885
371
334
536
130
152
860
676
87
387
82
690
174
263
297
537
434
791
915
892
329
322
938
190
497
694
691
402
689
535
758
424
217
665
74
416
460
318
869
812
361
134
431
14
391
466
710
970
174
586
400
938
794
787
472
739
845
218
71
711
440
519
342
412
711
991
1000
809
846
54
406
363
310
240
513
905
709
799
270
701
712
291
994
393
530
205
764
800
746
728
130
705
676
271
276
828
34
272
312
146
414
75
580
633
961
415
648
232
678
131
218
604
996
263
295
782
595
624
773
359
988
237
79
248
31
819
624
396
350
580
588
10
687
208
6
38
251
837
215
637
507
175
455
323
247
729
845
357
420
250
981
660
952
103
156
201
684
241
542
408
685
886
725
583
356
797
652
707
205
213
407
298
649
206
209
188
949
151
696
162
210
477
868
432
408
710
11
809
569
1
557
276
540
54
134
355
297
353
940
339
355
89
238
939
630
28
941
386
87
855
227
364
582
163
635
374
575
406
331
342
828
545
105
316
756
89
179
65
847
462
92
315
426
408
792
95
135
188
510
379
638
900
212
825
469
157
174
884
414
683
725
981
521
138
320
801
631
633
874
904
318
934
731
48
257
324
732
625
340
440
581
572
308
200
139
931
258
81
301
42
185
618
852
952
586
955
65
250
277
714
821
970
772
208
729
591
979
254
56
474
498
466
290
233
522
896
774
664
191
356
218
842
249
550
797
920
45
424
223
974
242
744
406
962
42
5
303
499
445
195
100
686
765
838
150
664
666
981
981
927
8
479
246
671
116
20
709
624
464
815
230
867
370
763
237
131
999
233
368
925
899
279
790
664
290
235
216
615
571
166
788
122
841
555
794
42
750
955
673
762
657
82
862
455
916
936
841
484
74
138
134
987
912
584
153
688
544
908
496
957
256
9
705
972
365
72
583
577
122
100
843
135
648
953
274
183
911
304
605
231
31
709
952
367
553
195
68
672
906
397
610
601
919
281
293
599
185
934
121
234
5
705
824
25
877
270
279
968
777
776
965
487
983
329
417
173
817
510
272
183
492
496
701
663
170
594
976
848
491
730
425
794
34
458
298
845
659
584
893
983
188
382
853
220
666
681
714
39
302
804
613
697
242
468
601
888
527
266
116
861
946
274
997
588
3
671
907
16
892
988
113
710
187
763
389
453
958
900
215
488
135
33
557
115
251
514
236
315
150
451
324
903
836
375
44
480
418
713
381
110
13
217
959
227
550
924
817
714
651
978
332
535
151
901
944
527
352
486
289
199
833
504
30
440
462
869
956
99
298
696
918
237
209
982
758
755
400
229
708
734
470
413
613
543
317
162
989
223
950
851
114
176
243
608
302
460
790
893
27
320
228
408
815
682
874
564
680
452
70
647
393
402
342
118
90
331
411
185
540
955
103
914
894
687
411
643
910
49
342
422
426
996
659
501
348
793
315
653
523
458
220
250
660
960
921
569
880
531
947
761
582
452
857
275
52
642
465
310
646
218
344
38
429
938
462
920
900
119
712
441
752
186
198
960
696
457
354
213
30
192
353
163
992
178
830
551
916
344
626
502
888
978
121
963
882
147
729
593
342
797
326
960
782
868
658
547
277
446
306
118
621
638
396
455
543
353
41
339
624
653
446
927
423
664
741
338
934
298
824
362
663
190
958
677
518
347
419
875
216
937
224
878
110
575
862
54
160
207
996
433
290
408
294
978
509
510
915
748
4
466
684
168
851
776
653
330
135
125
585
397
47
596
865
765
936
446
479
536
426
497
21
290
414
95
97
858
195
476
137
3
9
113
373
489
20
282
662
22
123
653
906
909
975
194
61
134
361
38
96
699
332
270
845
744
543
766
332
951
889
321
83
166
834
317
883
20
793
77
649
561
563
876
393
538
63
310
742
75
575
339
111
870
288
875
430
974
180
208
259
442
173
929
254
830
59
252
184
610
928
805
148
50
672
28
181
995
681
278
207
316
41
643
144
465
374
223
59
719
950
362
418
192
871
886
875
648
930
922
529
446
205
275
272
730
583
674
647
71
188
392
641
379
94
910
965
802
846
306
665
743
5
993
362
858
369
304
37
109
585
142
2
488
545
599
670
68
385
6
768
384
886
348
891
980
793
368
675
154
893
952
415
551
690
605
649
268
180
892
95
570
526
768
323
152
402
578
736
100
406
386
742
374
203
954
481
683
14
370
127
65
636
845
545
358
451
615
81
37
760
290
312
531
341
179
898
248
383
341
68
20
752
141
848
553
142
72
887
807
802
505
604
904
389
781
441
298
1
770
194
446
578
636
755
163
683
10
123
161
133
233
173
24
91
603
562
1
969
823
53
572
970
950
749
681
161
187
971
899
724
815
993
562
435
395
441
90
487
132
930
286
465
950
427
395
691
409
920
111
158
37
167
511
948
76
739
101
413
878
71
790
340
412
949
606
26
435
731
415
450
883
596
716
736
932
284
852
705
40
133
592
581
949
676
116
878
309
713
874
58
75
577
671
819
310
231
581
762
350
977
997
749
550
790
172
482
994
731
132
705
617
453
707
954
155
560
745
967
231
445
280
723
662
304
531
536
764
199
140
834
35
418
981
18
101
878
190
294
220
998
838
474
947
283
779
524
808
853
776
82
940
279
971
247
704
387
108
687
203
143
710
534
513
323
576
572
167
471
556
951
96
517
527
36
811
545
932
17
69
409
8
602
657
295
37
440
208
857
611
946
150
269
862
819
10
389
86
877
270
229
989
795
900
127
48
945
514
292
92
829
809
928
314
514
579
747
310
87
132
477
680
382
389
945
936
132
279
385
181
279
310
914
78
367
339
536
138
822
676
575
231
463
558
223
548
763
987
728
930
204
653
824
608
614
386
183
912
464
177
48
433
972
290
689
462
282
438
24
260
138
277
555
865
231
705
743
694
850
605
109
147
539
678
623
801
225
959
382
531
677
486
230
92
225
303
671
270
362
676
407
694
253
949
867
802
186
946
339
272
682
203
706
388
331
604
329
498
423
192
318
667
70
994
291
112
857
761
733
803
15
373
238
877
703
524
235
140
324
991
291
990
668
453
711
561
314
337
962
734
954
609
380
951
192
816
744
431
956
876
555
466
862
331
271
998
731
822
337
511
18
505
573
650
69
41
369
617
969
545
187
557
258
591
62
642
915
972
156
499
857
393
929
959
623
719
168
831
78
701
919
579
718
317
376
297
599
17
903
360
34
180
650
495
885
45
703
746
750
210
286
59
362
569
305
705
241
210
453
836
19
347
157
790
885
863
879
624
270
403
692
506
254
238
556
269
154
323
471
396
411
80
485
170
217
408
596
538
264
373
725
489
645
819
275
365
193
891
268
628
491
54
697
991
389
766
511
763
65
390
610
465
637
265
343
490
834
140
232
638
478
304
112
881
404
845
405
550
962
410
6
509
420
758
140
532
466
134
595
235
459
245
923
445
257
150
578
801
264
952
456
713
779
522
983
556
884
861
707
110
858
888
356
829
558
596
427
439
288
542
702
785
430
587
513
563
508
649
189
792
423
970
882
437
314
98
901
600
850
311
727
80
830
705
151
907
601
548
327
670
185
781
120
74
986
739
775
160
599
283
846
80
562
492
292
129
849
49
836
987
531
186
16
761
307
852
811
480
539
351
400
142
22
252
364
283
961
811
630
307
537
500
540
496
994
468
691
696
408
974
621
163
154
821
990
963
635
881
619
603
1
600
671
293
450
223
260
334
173
123
20
679
183
256
474
609
65
232
606
810
148
939
659
891
733
937
48
507
773
106
236
804
857
112
556
889
415
345
278
355
839
870
642
680
580
835
212
503
381
482
641
344
492
619
881
343
103
937
936
971
237
51
477
483
64
526
46
85
911
413
115
395
235
48
943
811
513
929
72
810
277
514
274
62
507
684
957
437
207
448
359
685
287
156
325
571
769
163
123
733
984
379
525
390
604
614
352
293
329
959
774
986
545
699
914
545
531
434
749
429
632
114
845
980
374
718
209
429
653
131
446
942
988
616
408
378
322
913
777
940
6
652
332
836
406
223
200
384
61
691
26
757
394
645
863
685
831
99
519
6
531
683
272
891
91
428
138
967
307
341
337
284
467
866
205
299
733
57
552
608
873
934
414
128
977
106
184
873
815
173
378
235
201
822
636
883
27
816
147
49
678
266
359
938
150
667
687
472
524
198
976
372
412
687
609
859
615
462
496
859
499
28
663
694
543
157
775
658
103
489
761
766
670
201
609
230
825
650
554
887
627
146
112
892
411
159
835
471
832
372
269
446
515
912
275
506
869
11
808
952
455
125
277
726
793
214
787
64
661
519
963
44
715
635
537
625
782
128
550
528
228
236
867
424
648
439
659
489
517
777
661
305
548
886
304
469
243
606
265
50
541
909
592
184
508
618
319
711
737
80
406
725
509
485
917
315
774
34
578
567
705
523
242
125
938
181
338
185
563
825
75
873
634
461
39
323
243
495
815
650
172
600
453
234
784
124
917
370
57
636
128
416
625
850
872
991
269
678
600
674
555
634
150
914
210
149
469
526
405
594
727
243
296
4
604
291
89
531
104
820
390
649
12
372
796
1000
956
218
536
565
119
567
441
536
811
124
707
856
503
436
697
906
400
772
513
231
336
38
184
499
571
367
84
140
60
580
658
208
917
666
582
66
62
791
274
436
509
146
47
196
371
55
260
65
374
436
548
979
652
615
581
526
623
936
818
289
999
404
426
312
367
794
859
200
318
284
600
563
812
684
209
591
304
767
154
577
190
36
830
92
288
499
835
364
401
669
822
91
475
72
183
607
535
979
430
796
335
960
365
639
646
131
39
597
178
624
75
304
435
911
119
202
171
95
78
812
737
174
326
307
320
587
233
956
944
66
225
758
197
926
83
300
781
435
324
477
414
866
334
195
52
117
389
610
126
579
805
756
276
22
251
659
76
874
697
141
341
185
545
571
959
946
242
759
576
224
103
28
118
705
75
268
883
870
958
427
836
985
912
469
837
492
150
287
765
189
365
471
868
805
815
70
234
163
966
732
961
180
241
657
480
353
754
840
478
223
863
965
49
550
981
150
24
570
401
446
907
768
788
641
493
48
595
450
21
55
927
601
685
655
240
703
421
296
860
8
142
5
495
368
36
302
814
721
97
196
651
453
795
731
634
836
684
246
828
529
787
658
506
838
796
549
314
14
483
828
888
385
238
3
479
505
298
900
223
868
81
760
504
894
11
237
283
88
340
752
350
260
808
31
205
668
387
431
696
774
981
824
564
73
743
400
799
106
527
731
64
339
134
851
470
69
197
888
676
882
961
996
640
496
744
968
305
996
581
907
217
575
393
774
319
904
41
455
182
148
809
241
524
485
156
252
150
694
80
379
414
14
81
801
830
1000
473
970
781
567
775
249
113
744
8
55
10
916
983
440
728
496
89
534
654
52
659
187
686
851
737
404
105
695
944
937
958
708
180
453
461
392
124
259
100
918
823
465
898
82
186
826
787
788
871
210
161
232
878
819
447
187
119
806
967
911
425
932
469
246
682
223
436
415
284
398
688
869
686
997
868
299
581
715
92
573
183
456
439
949
136
999
973
368
820
987
669
25
215
134
977
685
17
182
726
427
400
154
748
579
691
871
902
614
221
527
135
701
781
383
857
407
459
259
171
774
97
554
440
637
241
16
264
560
274
301
184
244
343
667
330
565
827
809
807
706
329
930
803
959
607
626
296
886
439
62
753
454
143
227
407
688
347
742
538
132
676
835
663
119
204
596
731
457
871
565
184
618
601
32
252
957
500
175
934
779
350
298
930
321
606
988
202
820
218
968
936
896
917
785
425
412
30
249
812
816
532
704
656
739
757
807
39
268
151
471
280
894
508
32
354
609
356
492
805
977
559
911
280
350
737
617
802
512
814
947
566
220
851
629
336
36
342
787
502
815
312
747
467
993
892
498
313
565
514
710
646
268
521
650
83
2
764
228
107
2
733
650
934
578
842
860
557
534
780
993
392
511
254
617
779
586
2
352
168
408
713
841
953
67
375
692
801
639
591
158
796
82
641
832
873
714
389
561
841
46
675
119
747
142
477
917
445
978
977
163
51
522
626
462
347
373
444
779
340
833
111
63
877
235
804
595
673
186
395
320
125
159
362
968
29
508
663
797
671
560
959
162
803
909
730
929
699
417
277
947
811
708
100
422
575
145
890
50
526
365
172
179
232
462
708
136
499
810
889
60
926
354
704
242
171
890
335
35
218
517
73
834
533
951
50
511
240
871
211
931
342
761
88
906
598
27
166
948
849
287
83
756
481
807
451
201
245
54
845
909
808
183
364
247
290
76
252
612
508
260
211
475
817
591
466
530
245
144
77
639
80
105
732
19
191
834
33
241
154
459
284
174
664
478
936
961
835
935
127
484
713
619
204
538
748
615
726
117
1
299
217
793
635
493
840
160
536
116
241
716
8
80
66
346
118
619
8
788
643
483
815
76
551
635
362
968
604
202
780
796
978
405
606
25
775
134
137
8
903
637
442
126
90
513
16
487
742
838
660
879
921
787
1000
495
986
541
960
230
343
660
680
42
295
288
552
914
214
798
534
500
123
484
438
367
296
922
637
114
694
486
509
290
857
292
998
217
413
538
859
277
475
810
514
198
48
414
960
193
993
233
835
521
259
888
584
228
833
241
635
345
316
390
632
787
129
335
90
560
71
461
249
668
386
810
549
261
538
872
878
178
613
301
692
997
642
518
152
135
154
623
687
310
985
458
750
907
657
901
102
393
703
699
635
946
899
233
625
904
742
604
304
455
416
368
817
235
153
27
944
151
159
141
461
796
210
539
649
270
612
644
243
108
465
366
82
257
96
390
806
757
39
892
232
815
213
939
433
512
765
843
155
224
629
736
889
157
982
526
858
133
664
143
182
829
91
717
698
224
383
905
272
934
181
80
957
436
163
547
990
920
325
216
492
679
924
423
685
464
371
714
578
205
494
419
385
884
302
819
375
64
808
542
465
815
517
565
630
322
906
891
115
451
593
508
532
972
923
734
117
909
374
407
856
705
546
695
697
519
467
468
782
966
630
278
483
69
469
22
51
983
940
222
829
342
524
743
343
682
216
423
27
461
17
772
13
670
30
412
175
860
512
359
598
712
133
631
729
936
254
887
731
373
253
983
997
667
809
394
341
757
550
413
101
762
701
949
320
514
181
487
170
135
89
507
9
545
696
232
803
753
855
92
184
72
202
697
41
172
659
431
411
18
515
1000
390
290
800
404
926
843
759
830
663
134
976
912
438
295
109
651
651
736
251
40
488
723
640
100
894
373
838
615
266
899
493
300
81
753
514
537
35
508
809
103
845
932
747
481
543
752
142
476
956
4
884
842
79
714
302
534
211
890
956
41
66
446
846
950
519
752
960
540
331
918
662
737
950
845
680
194
449
282
360
632
788
859
387
797
807
115
430
584
829
43
999
932
277
569
360
60
471
674
529
501
655
599
190
190
340
655
917
528
245
707
194
962
496
316
557
120
237
860
655
961
469
692
117
682
790
529
938
409
655
853
479
760
934
3
315
465
837
71
877
120
713
420
253
46
857
878
576
930
201
185
126
646
699
323
664
153
283
697
540
900
505
971
785
519
354
569
758
866
306
445
915
690
330
764
898
282
469
567
488
475
598
308
889
274
138
396
476
214
834
539
379
258
193
710
240
695
791
32
50
17
488
740
236
208
494
646
53
210
396
203
919
617
449
369
521
773
919
931
416
541
789
874
360
978
900
656
799
27
485
979
781
122
82
744
54
314
24
416
277
83
64
928
55
562
194
609
4
249
394
350
152
656
872
364
773
531
336
455
183
434
967
665
109
476
81
536
4
985
894
986
78
699
411
988
862
844
249
809
859
128
90
569
200
222
554
264
239
807
511
212
723
621
236
69
513
232
352
203
803
459
222
203
485
469
274
763
562
553
804
974
525
542
922
336
207
590
662
417
895
822
755
146
461
935
186
203
799
408
470
804
161
397
511
470
860
747
42
38
354
818
877
262
989
964
646
826
485
589
246
503
846
662
987
495
499
469
285
672
354
156
801
588
942
306
138
618
967
404
547
541
392
537
614
179
663
100
571
477
802
572
695
537
848
688
240
667
596
424
495
486
650
270
834
457
575
209
93
30
294
653
213
713
2
364
843
2
520
24
515
86
416
709
97
612
258
985
426
646
16
711
458
114
3
951
768
684
715
561
968
11
612
126
448
740
164
933
871
473
467
566
13
144
357
533
858
901
220
61
361
641
632
809
915
802
572
818
340
880
157
419
196
411
801
193
291
833
228
342
544
728
981
950
776
433
971
731
562
900
112
796
33
994
268
870
386
125
618
173
911
206
991
861
543
498
911
546
309
753
891
888
539
483
983
683
396
861
701
189
87
926
237
646
123
331
300
79
98
797
8
510
796
842
20
656
841
77
482
19
740
590
422
45
925
470
973
690
310
558
121
288
972
868
765
92
775
964
506
255
158
739
968
282
852
700
417
182
985
866
111
661
891
794
133
694
956
120
407
705
1
212
230
444
25
178
925
336
619
548
163
714
984
376
92
913
306
394
636
593
167
115
270
68
781
449
103
608
131
498
329
903
462
664
981
907
194
122
448
258
38
981
398
370
978
208
593
55
842
452
576
243
366
480
374
953
38
805
155
182
491
486
247
797
900
747
69
800
675
276
260
612
691
559
783
94
458
611
808
111
930
784
988
350
90
143
95
971
45
56
73
415
169
222
268
366
695
376
968
416
283
272
424
475
283
378
186
318
826
903
957
986
413
395
142
917
360
187
933
799
332
364
83
140
197
780
472
448
610
889
218
760
60
798
331
952
584
990
869
897
4
648
142
110
337
355
731
900
957
216
32
456
228
144
572
505
555
106
550
377
246
641
960
346
143
843
143
120
702
302
838
208
106
221
607
693
36
11
37
630
904
227
246
881
751
587
62
709
472
204
675
871
752
840
719
236
877
192
487
235
602
734
438
514
365
613
240
244
462
457
342
478
207
732
460
755
754
441
436
978
980
568
637
167
783
640
448
340
180
178
397
178
875
619
206
563
311
493
328
329
775
245
588
774
849
133
155
583
323
38
408
798
713
870
224
413
705
485
805
954
154
676
504
153
764
859
967
450
196
518
564
584
165
353
286
982
22
339
222
11
421
573
253
399
960
890
845
303
58
692
696
559
956
348
481
644
426
824
185
722
672
889
299
981
946
402
681
110
621
642
38
406
786
632
770
484
970
705
420
962
261
301
57
862
906
147
733
609
462
510
557
733
718
167
49
338
882
121
162
385
983
838
775
682
69
972
519
209
496
121
501
92
570
159
894
89
853
56
342
933
679
940
866
252
818
324
249
82
772
61
920
172
875
600
972
371
240
545
281
420
605
358
656
350
286
263
564
534
791
89
259
128
115
819
79
317
383
62
259
264
285
564
865
140
732
96
351
952
226
783
794
127
725
987
100
993
214
353
317
346
721
540
744
284
312
434
694
348
433
365
616
817
40
976
781
681
151
866
883
423
808
119
717
243
949
108
570
761
371
750
76
579
767
477
60
266
828
810
339
493
520
313
542
72
939
116
742
582
624
944
110
131
769
770
859
559
584
794
461
18
943
446
479
483
539
488
415
167
18
113
622
245
908
137
698
523
754
986
769
941
532
224
705
841
287
764
652
979
956
767
201
137
492
449
162
46
749
682
157
9
46
304
228
290
998
536
188
834
955
746
746
338
382
90
298
67
581
220
872
1
459
337
884
140
419
370
292
793
71
934
211
689
159
40
270
621
3
228
815
104
797
919
575
254
297
282
537
642
808
872
616
449
859
586
148
585
665
265
363
827
262
381
777
185
209
828
884
886
880
768
585
384
649
866
593
736
756
22
406
548
206
852
523
450
845
803
306
702
674
726
219
123
519
172
268
1000
421
432
81
2
499
599
462
432
581
497
231
321
582
383
795
988
491
716
250
674
829
166
724
782
601
224
353
71
100
461
506
868
413
519
843
9
78
368
373
732
196
238
921
202
180
913
318
711
503
723
192
807
1
681
454
817
765
694
432
271
184
658
159
699
470
571
474
174
855
484
464
753
709
247
266
650
31
509
376
591
101
362
461
286
629
361
111
383
363
382
92
580
984
925
442
784
61
31
197
350
14
926
604
464
288
879
443
678
425
533
477
447
307
132
104
281
609
665
6
781
426
931
969
400
117
920
51
242
612
710
4
581
865
303
137
95
627
402
866
964
456
190
805
122
705
570
581
927
270
182
522
424
26
728
984
226
212
798
360
720
524
440
753
962
269
166
894
151
790
966
102
18
257
147
35
807
82
528
486
802
424
563
747
474
732
487
887
438
780
458
861
346
446
976
518
740
315
565
440
675
282
812
25
602
493
407
400
615
327
704
522
662
669
708
351
732
324
94
32
348
323
36
859
926
793
152
186
673
245
857
583
758
395
745
233
400
95
428
10
409
577
417
723
422
939
200
720
771
747
701
423
489
700
657
411
396
519
281
307
639
636
772
131
303
779
845
705
933
255
500
420
874
607
638
931
383
305
989
331
330
319
59
994
165
745
429
522
524
137
811
195
487
821
714
890
42
283
435
713
731
662
361
446
844
484
267
516
720
32
328
388
944
188
116
148
238
125
690
586
854
988
225
269
149
566
330
927
790
34
297
988
754
992
75
230
878
453
660
349
211
873
955
694
841
44
855
541
177
460
508
77
914
761
199
661
993
3
309
68
967
773
136
123
54
648
148
563
82
93
412
32
216
629
529
787
71
74
382
121
353
681
424
491
660
269
2
58
430
800
452
658
353
435
299
239
702
747
907
449
189
701
380
365
911
943
316
320
898
170
273
411
577
652
453
542
179
460
149
804
770
591
974
562
105
983
735
897
952
362
116
920
879
949
965
70
768
358
123
685
439
388
160
48
900
28
327
603
641
698
307
246
332
650
66
422
21
494
219
255
659
9
851
110
359
770
637
771
288
614
479
901
548
656
573
567
651
371
997
394
494
276
447
337
795
824
706
163
46
486
810
485
955
388
621
567
183
509
716
209
983
205
74
735
955
730
31
438
739
516
375
932
920
188
246
477
808
700
719
745
44
506
573
428
157
371
743
819
332
316
401
723
604
173
442
91
657
407
384
353
189
183
335
716
529
152
741
622
846
43
81
168
801
963
540
509
948
243
959
200
538
794
45
968
624
169
896
633
550
975
402
760
940
842
957
175
316
879
234
623
316
463
485
731
295
206
928
895
785
189
312
906
856
893
685
893
973
748
711
667
320
931
617
650
889
828
26
357
857
594
444
831
912
348
149
532
208
862
606
912
576
34
266
322
494
53
823
962
14
923
560
273
582
928
412
595
182
704
780
872
758
803
909
940
226
37
873
225
682
419
809
698
595
233
81
584
884
604
449
627
777
966
198
682
264
994
364
32
763
878
904
87
359
320
643
94
598
248
350
27
341
55
104
123
651
111
430
398
11
410
324
56
443
463
398
907
248
981
836
798
162
463
779
564
682
533
35
226
227
759
728
967
547
725
606
940
508
349
275
105
984
763
505
100
68
611
133
623
256
278
812
921
544
393
980
756
632
924
6
664
528
325
415
397
916
491
446
207
555
727
991
5
865
529
125
524
574
772
12
297
987
767
995
650
1
790
20
947
446
843
409
975
734
865
142
745
78
109
481
940
722
110
731
917
743
546
422
475
972
275
966
566
507
34
143
746
95
575
352
446
395
524
684
66
757
883
273
517
694
856
267
27
652
691
55
999
57
264
16
207
850
469
180
871
886
823
661
17
653
332
609
29
732
362
764
534
292
145
360
555
714
620
270
390
117
475
797
817
175
648
437
55
101
21
279
333
83
744
443
100
809
425
108
630
894
426
222
260
174
609
958
543
891
227
334
394
689
26
193
662
216
318
906
661
902
471
760
885
87
235
961
503
304
361
594
287
951
234
681
262
983
599
682
758
548
27
396
510
658
446
245
113
126
944
358
444
952
34
683
649
304
769
608
890
21
403
236
330
308
773
462
790
906
230
517
76
583
726
450
227
204
625
351
862
5
897
728
324
949
647
598
572
194
307
287
612
787
434
876
824
653
769
491
680
834
90
375
230
738
472
768
209
810
722
172
774
680
139
472
699
321
278
734
297
158
13
251
500
411
77
525
267
158
207
451
947
729
163
910
312
110
184
360
709
935
908
757
210
531
372
348
664
210
473
433
302
677
207
198
897
982
49
112
523
930
104
184
636
221
7
574
527
911
134
694
232
933
355
912
591
566
429
446
489
703
157
833
274
701
575
606
944
411
786
478
24
710
524
346
920
472
179
926
201
485
787
658
443
221
476
824
216
747
926
466
340
311
690
805
739
283
628
330
120
226
299
624
204
824
856
310
451
276
915
193
34
568
876
782
327
698
411
935
330
565
154
243
251
703
164
135
948
468
407
436
24
613
293
210
198
383
328
321
956
422
53
79
605
801
741
695
606
413
770
60
441
863
221
528
354
686
959
961
997
435
445
300
411
715
530
301
781
733
781
894
85
295
215
826
126
492
907
849
394
487
620
761
890
914
455
17
345
437
542
455
215
876
969
941
483
172
442
362
560
155
689
474
514
734
226
522
450
633
922
480
110
278
726
970
662
746
44
628
213
986
520
760
791
644
367
615
418
916
998
510
417
816
427
334
287
140
799
659
321
156
437
826
642
802
37
860
460
715
933
30
210
944
941
173
654
632
887
657
165
215
814
5
205
969
798
732
421
831
455
948
885
449
539
592
754
404
429
966
18
332
970
418
79
488
844
579
602
915
599
573
470
967
523
1000
683
403
794
311
751
649
705
373
439
122
333
666
749
672
693
561
672
338
302
549
523
588
68
140
684
137
605
374
169
245
384
540
716
140
625
757
31
817
474
502
438
14
780
85
382
610
774
272
175
29
17
11
931
495
293
222
827
149
493
174
725
89
148
807
711
394
986
696
279
44
777
49
754
459
775
249
15
56
258
959
762
831
45
758
351
467
352
587
719
896
48
30
8
551
174
616
314
761
575
853
379
881
649
680
173
796
481
390
38
350
118
830
475
125
299
887
716
750
774
822
936
554
208
27
336
989
792
164
351
674
870
453
929
330
317
77
156
136
913
286
519
253
694
819
722
324
74
664
313
815
593
28
325
920
273
626
760
610
916
25
19
106
143
874
337
698
632
242
843
372
771
227
125
117
939
205
99
194
688
804
510
834
395
752
632
48
364
250
599
266
910
402
329
513
734
550
175
708
742
61
304
440
522
231
275
304
907
485
457
434
382
999
729
415
623
170
379
137
127
127
229
495
701
616
800
42
571
126
771
846
21
113
50
835
735
508
559
853
491
494
219
499
463
697
671
579
125
526
1
668
698
382
114
818
145
861
401
975
939
860
65
978
244
727
781
373
660
180
390
402
412
782
945
674
702
131
784
998
959
814
220
793
903
374
99
282
639
196
741
432
503
277
699
201
14
293
399
202
67
244
924
355
460
231
154
403
974
593
995
471
444
712
675
972
723
289
940
251
988
794
512
322
577
71
374
948
442
824
254
66
323
785
216
299
982
929
387
859
161
968
677
657
462
766
808
862
997
982
93
454
515
440
185
542
644
261
442
350
66
761
655
816
728
450
633
678
621
292
529
773
292
508
876
56
6
830
984
451
382
67
750
278
432
274
949
425
128
592
761
837
39
37
625
178
100
154
512
707
307
437
370
510
941
864
783
244
989
742
881
451
562
255
124
311
446
794
902
444
414
187
787
996
544
383
901
757
603
54
78
544
494
802
429
388
869
361
459
349
289
266
112
931
704
950
988
135
630
99
498
163
117
455
928
681
480
889
194
309
834
760
597
709
651
22
16
261
927
527
806
785
55
273
111
208
167
85
457
372
534
387
237
430
605
240
139
364
384
816
690
245
154
802
792
749
999
44
556
340
192
874
795
236
257
174
256
981
461
216
28
978
550
700
605
835
768
228
772
745
609
650
809
400
272
347
505
163
506
508
147
268
371
923
935
881
486
610
258
723
453
863
862
784
526
928
270
408
37
595
677
606
749
417
205
45
78
162
602
566
116
361
385
447
441
484
2
884
11
382
781
316
826
96
325
295
630
46
523
567
660
916
545
921
320
239
26
146
726
835
143
110
250
734
431
611
546
183
5
116
74
636
329
941
786
382
771
729
466
621
971
319
215
315
512
209
682
146
414
879
966
234
786
153
536
63
322
654
143
244
417
145
449
300
374
211
24
674
576
313
437
551
478
712
386
870
6
142
219
135
264
395
727
228
450
178
804
460
547
704
399
512
645
463
237
766
734
564
919
749
432
826
358
67
358
533
983
264
844
400
764
477
225
827
953
653
228
961
322
337
858
445
832
735
754
965
921
826
205
898
996
800
874
397
323
979
818
261
208
691
583
781
277
280
960
559
682
521
547
991
286
274
339
698
212
90
442
689
670
857
440
458
640
282
71
542
816
171
651
264
183
8
116
554
771
297
646
734
381
497
578
137
561
148
725
242
702
965
260
787
885
252
78
977
48
993
862
464
78
351
174
251
713
139
523
65
489
987
729
20
530
604
898
572
669
498
967
890
255
983
93
764
7
111
128
61
439
424
42
595
721
48
428
970
311
727
170
597
330
821
935
620
451
195
403
934
25
150
53
816
262
282
873
957
564
169
592
825
511
344
896
388
590
854
614
164
467
37
55
473
527
846
517
535
397
167
465
751
434
92
71
128
444
45
562
266
474
986
352
786
153
646
988
363
880
929
786
763
171
113
408
416
572
491
764
79
880
427
348
111
823
589
529
694
998
277
373
135
600
376
294
995
397
431
194
401
499
742
797
341
677
178
539
150
397
629
756
641
256
610
864
574
233
564
922
217
995
830
239
786
546
97
691
430
631
355
992
287
681
69
489
813
532
286
940
263
794
885
368
695
559
40
289
347
59
211
548
561
24
689
545
696
714
782
835
629
54
216
996
504
854
245
135
385
841
230
628
307
99
198
525
65
580
949
521
702
537
874
580
325
85
493
92
335
602
126
910
580
385
798
741
280
750
652
132
755
789
693
748
161
111
625
707
438
205
943
492
642
488
165
375
670
739
316
329
140
359
318
130
860
823
958
721
875
771
476
945
565
409
648
421
632
277
409
703
126
997
718
828
825
300
340
50
391
501
697
824
751
583
727
112
18
250
969
674
133
604
696
294
97
609
16
840
313
112
281
617
79
24
24
765
726
174
916
295
247
486
915
983
494
378
838
511
219
694
113
119
269
85
336
605
227
435
570
621
692
880
23
125
146
950
880
303
64
609
547
440
530
304
522
32
106
649
433
895
128
36
517
143
919
312
961
694
623
598
81
402
505
520
277
973
590
361
46
620
463
143
144
774
896
206
115
233
723
659
28
882
45
965
248
433
428
10
422
715
196
238
732
690
344
818
605
739
850
352
731
738
378
343
249
113
438
479
369
362
108
830
559
512
301
189
650
568
401
147
856
348
801
951
761
961
513
843
798
836
554
359
563
426
259
42
655
614
9
94
315
432
133
793
312
881
886
892
940
550
489
794
930
246
186
54
372
7
136
615
436
764
779
242
806
365
971
830
279
847
801
596
867
665
512
691
113
21
344
443
42
594
440
245
341
724
191
110
884
536
511
37
697
619
569
616
820
562
466
793
284
109
167
255
600
717
780
729
758
29
907
351
685
162
386
375
563
702
202
695
135
21
718
68
417
843
692
439
785
5
697
502
452
992
699
461
780
151
526
979
699
447
884
478
740
247
396
260
840
899
847
421
136
797
475
154
400
236
656
839
660
581
791
252
804
201
550
365
639
162
873
430
981
891
298
492
808
916
260
37
439
274
949
204
977
411
244
903
977
202
971
202
403
229
467
552
474
622
13
779
910
549
212
287
424
935
775
579
69
89
540
21
142
717
726
787
975
221
591
7
814
262
663
501
433
359
702
862
830
637
343
319
596
939
182
529
58
233
680
396
363
578
861
68
995
996
240
510
79
241
784
429
976
803
34
884
350
509
655
588
848
693
833
803
7
262
900
705
806
907
504
286
538
374
457
189
307
944
96
329
527
246
660
819
231
88
675
500
898
257
832
313
729
122
141
894
33
472
445
988
424
173
507
730
40
183
960
415
894
904
396
88
744
114
723
199
615
506
733
588
182
380
506
293
778
203
861
997
674
522
587
478
678
221
597
57
751
209
452
910
577
421
938
39
500
430
505
884
235
78
417
809
134
271
387
194
520
483
354
404
820
590
772
750
784
344
478
403
79
194
751
338
931
186
661
613
310
332
172
661
338
217
766
827
227
593
539
79
77
343
818
688
274
548
348
662
93
320
27
918
304
703
960
474
277
226
355
438
88
608
378
218
610
725
659
141
443
195
552
652
786
816
618
352
37
690
54
400
20
42
940
225
165
659
258
70
938
347
600
614
52
48
374
817
743
53
80
173
488
271
956
743
73
655
854
722
833
701
742
783
234
397
616
126
700
130
946
971
725
827
978
230
876
42
364
223
242
805
628
597
258
772
896
49
577
649
195
93
886
886
366
816
92
393
295
562
342
365
741
474
694
358
511
135
92
428
109
880
485
492
281
921
553
67
46
124
517
190
948
123
950
640
213
489
320
544
447
819
252
79
318
947
136
237
371
959
746
587
788
337
32
537
408
326
47
854
781
616
319
94
386
483
589
171
378
830
951
498
407
989
918
994
105
692
827
813
826
386
301
799
101
926
184
531
34
741
498
320
593
759
485
662
320
747
702
479
504
207
508
915
267
675
988
617
327
59
528
174
440
670
788
838
625
691
794
737
350
182
220
554
765
110
717
5
930
542
304
571
756
881
440
598
7
951
368
283
301
811
725
92
523
406
211
816
423
558
328
845
477
333
796
208
283
540
288
606
834
940
550
944
58
803
804
874
891
569
558
438
979
735
631
214
835
556
199
291
898
768
170
975
478
379
40
407
11
471
663
137
417
106
21
301
572
673
202
225
99
417
245
176
740
512
435
508
530
712
913
607
904
552
184
937
621
88
221
910
107
368
375
531
405
193
245
529
427
234
965
161
615
228
141
26
436
825
792
949
361
622
195
500
95
57
527
730
892
147
521
523
692
476
143
296
690
485
478
921
706
830
587
360
367
536
81
984
689
729
577
469
128
959
972
938
537
524
702
302
758
740
756
757
770
812
245
83
405
798
734
649
674
205
409
40
615
887
353
806
428
261
878
142
379
339
913
230
564
711
873
549
179
388
340
743
396
400
141
501
251
118
61
492
260
555
557
592
583
294
298
537
688
305
246
633
362
596
328
364
882
577
420
576
871
25
500
391
96
764
346
192
71
505
68
802
786
828
121
459
356
948
147
303
652
711
188
885
219
299
323
616
929
200
754
199
816
335
742
800
535
666
548
138
672
230
710
735
954
281
594
267
10
171
112
344
947
650
919
64
445
523
203
389
476
963
371
699
32
334
570
921
436
95
985
236
908
178
307
720
73
276
556
205
2
631
727
299
185
238
355
753
579
872
127
318
489
972
167
828
578
203
446
468
750
506
65
114
996
488
831
184
542
334
605
653
810
794
439
747
760
393
361
389
164
746
9
617
234
738
992
65
819
373
11
78
72
312
237
194
98
452
426
527
580
438
546
63
816
635
449
987
887
953
252
962
937
863
671
677
631
103
464
118
941
853
549
724
315
617
114
17
144
659
195
344
211
583
826
89
449
597
801
79
904
41
533
952
287
32
250
915
862
417
25
682
712
817
703
374
624
213
845
803
906
389
221
899
491
579
212
967
569
794
728
128
808
675
902
525
953
168
849
872
228
962
256
442
494
439
438
902
548
813
738
272
324
263
850
847
992
100
733
146
107
475
236
819
53
637
495
973
970
568
436
564
256
631
429
328
507
968
263
253
457
545
130
712
84
132
217
213
533
992
861
164
949
728
948
206
593
583
382
408
877
428
8
77
54
857
323
21
340
71
691
849
213
687
513
295
437
231
25
608
163
816
946
781
78
442
197
747
176
412
316
703
161
615
981
418
916
784
281
706
716
408
956
254
86
659
899
643
280
565
572
709
387
658
900
360
961
508
363
589
889
876
728
686
958
689
857
614
182
700
519
79
504
469
983
83
927
262
450
649
479
562
34
979
657
174
134
494
183
285
466
105
950
446
977
580
7
168
114
59
344
708
686
601
979
658
599
162
584
166
345
541
443
965
986
644
91
899
738
887
340
304
6
679
754
426
843
698
846
56
372
113
399
658
675
2
340
621
998
945
570
651
904
203
952
978
186
911
468
791
922
484
172
223
55
746
164
319
278
385
263
606
784
953
457
320
681
36
467
834
464
167
985
594
961
737
229
663
603
449
447
38
693
851
953
44
596
73
58
437
402
207
999
348
701
667
602
811
511
488
937
434
329
762
685
711
481
286
268
582
691
106
57
108
798
804
129
561
114
298
122
771
748
399
695
354
566
607
991
276
144
428
287
303
192
19
696
45
440
99
408
696
922
885
425
52
901
292
205
74
441
717
893
100
761
553
92
760
73
986
215
809
539
713
524
398
386
997
890
703
940
845
157
510
562
171
758
52
21
522
883
346
839
315
54
359
545
562
485
536
567
726
905
634
697
745
892
338
692
184
897
849
585
189
269
467
700
199
575
228
217
341
448
809
348
61
979
250
860
810
420
510
701
557
587
527
968
477
878
235
305
409
280
942
102
600
69
594
527
781
187
686
522
869
411
25
374
435
522
109
368
621
643
633
335
368
790
500
613
663
484
776
51
2
950
223
213
423
28
398
861
279
428
822
126
374
387
391
528
220
68
19
130
942
306
504
691
799
402
721
612
368
730
559
851
207
837
458
757
198
586
11
930
829
641
872
814
404
245
100
721
535
822
175
357
295
409
138
760
99
275
694
724
719
423
674
439
841
807
924
63
224
232
587
398
814
904
715
648
168
483
347
500
124
354
498
401
961
507
987
948
217
84
685
797
913
168
534
326
208
833
651
570
376
825
945
642
587
514
923
900
164
878
787
645
889
394
497
6
429
658
212
985
154
432
400
327
470
631
963
16
256
412
908
702
177
170
466
284
446
718
66
241
60
363
244
2
680
875
388
805
81
621
201
78
560
206
909
267
738
50
525
474
991
237
947
986
110
844
239
964
858
696
259
174
824
171
668
580
325
227
454
66
145
309
343
311
587
183
825
87
649
999
109
839
141
112
987
428
189
271
455
374
930
788
970
714
102
222
343
891
924
921
661
688
876
490
43
301
979
891
730
87
723
402
760
389
58
124
455
135
775
48
55
534
135
981
66
331
851
759
348
536
378
265
521
450
6
733
999
102
431
707
853
949
322
793
763
763
890
59
479
183
643
518
622
317
286
637
117
126
216
236
259
54
179
443
209
508
433
612
716
354
180
223
995
554
156
831
979
419
984
76
623
743
301
598
528
233
757
475
949
272
661
456
115
5
448
814
926
141
166
154
285
691
856
844
706
37
40
61
423
356
551
620
875
451
555
852
333
454
960
804
444
697
350
959
616
315
213
453
510
749
514
541
392
394
581
651
713
100
894
929
100
75
576
595
891
33
328
816
423
93
65
2
592
13
775
662
592
866
957
948
307
99
531
59
601
290
319
504
594
567
1
40
87
797
981
781
483
172
728
575
913
732
976
249
794
711
638
740
702
336
392
439
277
823
707
298
863
910
471
397
710
199
513
676
867
932
33
503
355
636
363
587
789
201
556
507
411
586
977
771
396
292
505
915
365
164
912
603
296
891
728
70
375
750
203
558
910
789
6
552
95
643
912
761
302
606
96
755
570
427
551
119
125
528
837
761
114
976
585
774
199
627
164
860
289
276
472
853
508
545
94
351
414
491
938
774
619
607
43
466
212
950
467
575
794
658
25
544
526
967
182
16
326
176
590
809
212
697
601
446
859
460
572
377
635
425
958
658
711
946
972
342
395
980
59
240
473
955
582
65
178
198
861
138
405
410
152
22
887
607
260
442
396
343
203
826
433
760
762
616
504
228
810
292
846
892
20
670
355
444
940
649
590
832
433
8
909
421
176
273
225
330
261
940
373
270
905
536
822
253
975
100
275
946
307
666
763
290
781
256
965
241
730
689
832
126
545
245
77
173
270
858
725
233
562
35
698
546
659
155
396
725
881
138
291
759
766
736
867
942
141
865
615
145
320
439
394
683
131
177
183
405
671
708
153
282
522
90
16
922
669
557
820
936
485
906
713
23
8
429
701
968
147
731
113
477
605
62
298
949
99
37
57
785
843
739
469
858
408
241
38
64
775
515
565
702
833
556
735
571
604
303
185
270
222
586
723
174
37
920
462
954
275
414
858
313
330
462
5
809
146
165
132
263
115
616
900
270
580
291
984
734
343
785
419
221
549
53
371
125
916
120
318
318
596
953
91
975
848
838
888
763
331
89
148
407
34
434
132
941
804
686
162
627
957
648
728
596
697
282
104
769
922
305
669
490
550
308
879
645
639
386
721
691
477
58
506
192
246
946
92
939
79
271
942
672
97
745
972
760
502
836
799
927
906
704
810
251
872
338
484
239
68
538
505
709
526
439
527
590
245
201
879
536
785
347
117
380
553
989
92
99
199
832
116
901
921
419
889
457
484
557
76
120
469
246
822
143
599
694
16
566
967
243
843
423
683
70
991
377
729
585
914
707
799
326
713
808
513
972
521
38
687
841
756
747
248
838
257
839
3
385
97
40
699
273
832
331
727
768
28
685
370
512
200
318
718
952
700
178
252
102
656
246
605
368
824
583
229
125
74
719
487
438
292
107
243
74
674
906
134
525
745
245
529
251
952
496
663
810
346
787
522
802
687
148
878
829
300
246
253
758
149
593
744
659
859
501
325
678
920
826
699
996
858
701
797
772
960
63
754
600
42
753
558
621
819
379
600
868
697
913
28
833
139
217
170
495
370
309
257
282
833
179
366
492
680
427
772
763
607
787
909
18
501
877
727
200
684
135
516
790
37
972
224
747
913
606
862
45
549
940
848
421
628
81
42
299
763
802
785
110
918
317
474
384
226
229
69
72
201
420
463
507
126
927
826
308
230
589
881
325
349
340
565
388
957
549
667
256
794
742
874
628
866
365
98
535
208
996
81
704
692
545
62
740
71
550
730
87
662
621
752
778
293
456
944
897
654
625
528
577
745
477
6
47
917
145
871
964
893
567
753
789
248
874
661
467
54
286
594
28
773
842
220
40
49
955
250
6
721
745
830
930
262
580
553
238
839
52
693
203
382
874
857
794
343
822
526
627
349
905
932
302
547
389
253
951
268
185
393
288
568
362
512
762
314
243
11
699
750
601
916
464
894
988
476
748
695
100
284
67
594
404
468
414
60
950
301
817
665
396
83
243
502
821
315
870
89
809
979
284
419
610
215
526
475
954
800
293
383
213
617
743
312
165
732
561
412
580
799
925
352
203
244
974
465
476
96
231
138
546
380
182
819
632
720
874
951
885
155
973
213
210
203
169
681
353
908
237
902
756
919
303
422
301
675
104
27
67
399
74
772
680
934
154
931
646
399
83
139
303
290
780
327
676
908
122
556
571
933
88
453
688
579
734
783
436
961
942
622
338
274
207
705
669
885
12
792
984
684
460
306
727
916
946
72
984
227
585
736
765
849
22
292
880
696
19
238
612
634
904
38
912
339
592
952
735
969
348
798
523
352
927
875
516
490
989
113
786
983
953
487
377
396
565
873
936
692
489
819
566
586
185
156
411
100
168
974
640
643
519
256
111
658
165
384
961
251
7
796
768
259
481
314
747
864
461
57
623
246
768
371
477
725
671
940
831
520
930
72
714
556
878
187
261
708
994
695
623
508
221
762
640
600
984
976
765
192
539
536
182
303
785
386
937
893
115
677
159
835
252
34
135
273
251
376
79
98
19
448
926
172
768
813
387
450
787
763
778
315
811
513
880
325
40
82
161
21
551
464
251
620
460
31
458
249
675
673
450
785
511
774
997
550
747
28
764
845
927
14
742
763
831
626
827
800
110
742
458
544
966
948
951
109
664
762
388
52
376
548
472
222
547
251
754
370
513
122
45
358
600
885
623
510
304
125
35
991
420
290
946
62
217
318
460
761
823
846
817
837
1000
891
146
739
399
110
254
79
217
64
20
287
866
372
53
75
938
302
723
948
247
129
515
248
200
539
966
75
81
474
93
70
94
61
301
166
169
696
276
369
605
940
238
103
594
584
233
864
555
163
880
758
992
224
45
11
272
847
509
664
335
301
557
501
842
193
788
722
681
176
168
970
61
69
510
137
664
257
85
776
443
357
73
50
685
431
871
911
916
483
105
565
62
589
315
389
41
747
907
138
613
494
932
683
896
363
652
526
419
529
656
47
965
353
510
753
750
85
502
812
660
687
120
811
395
607
267
973
334
308
97
41
890
581
571
666
901
947
485
402
365
962
773
352
417
868
343
97
19
829
580
800
251
934
890
247
448
275
390
198
694
641
868
579
317
814
674
972
131
20
78
339
117
808
941
149
130
541
236
872
996
699
102
341
67
424
593
596
891
59
261
687
151
991
986
308
471
722
260
333
956
968
250
41
606
532
504
282
830
860
167
930
364
458
883
693
792
821
374
780
774
116
839
966
778
636
907
314
836
946
872
199
352
731
313
287
521
582
43
829
244
342
491
939
754
176
274
567
332
245
713
484
605
691
490
939
920
687
464
601
191
444
908
20
446
416
70
123
18
411
30
197
955
956
251
391
754
65
125
39
981
506
48
974
672
760
268
606
675
140
798
713
249
952
223
786
308
163
65
303
663
746
732
476
509
801
733
856
173
561
2
708
848
599
652
165
621
930
442
44
626
180
544
620
543
692
962
811
998
254
77
983
637
106
366
32
773
35
281
486
554
660
653
112
517
440
746
940
278
580
276
623
825
730
269
844
566
326
656
770
859
484
866
663
182
579
498
363
539
48
352
767
934
496
724
386
973
854
881
714
729
258
55
488
18
255
149
840
155
171
558
984
58
772
175
377
306
836
702
188
381
892
830
532
861
178
726
171
767
818
551
252
640
328
364
276
136
812
912
629
132
649
237
959
383
24
971
141
728
406
458
804
765
955
579
208
653
872
247
781
436
948
72
741
835
863
618
90
16
353
16
671
192
1
420
167
288
249
947
639
84
195
308
680
399
888
262
324
915
133
423
609
171
238
700
101
121
793
837
729
390
275
88
3
36
243
77
88
183
925
267
170
370
254
260
310
845
787
390
265
295
489
647
791
738
50
6
556
363
297
679
153
114
224
605
613
765
373
771
493
981
608
562
837
651
803
438
304
373
612
641
281
502
273
543
117
646
353
495
451
807
454
713
213
649
146
832
71
514
831
238
978
890
802
180
993
2
501
991
745
67
869
412
734
569
708
176
189
565
214
479
318
662
133
952
621
792
588
5
410
339
205
237
756
461
69
680
931
715
965
239
783
184
533
635
610
363
239
518
836
996
532
203
194
915
141
628
178
660
249
763
257
357
191
636
687
875
398
581
824
747
542
84
484
758
229
831
270
347
113
170
774
190
35
209
191
416
619
222
241
917
785
837
209
134
799
754
569
494
812
359
924
418
328
656
929
455
657
423
458
597
217
317
515
316
512
967
310
195
687
743
453
261
859
983
469
320
812
953
671
649
239
692
999
366
440
222
565
686
267
295
551
59
160
955
532
881
307
740
508
46
338
253
712
151
441
166
717
537
495
476
521
690
624
960
26
742
534
338
800
955
187
601
70
69
601
349
665
397
57
711
19
341
587
650
397
791
361
993
250
521
552
540
940
274
293
991
136
664
581
248
852
471
401
825
429
107
838
753
789
305
680
350
919
118
861
692
843
359
112
402
354
505
333
676
329
912
565
57
805
916
879
545
851
4
174
90
944
817
640
373
719
136
614
44
941
394
652
278
61
491
901
591
937
857
294
321
209
765
622
121
293
896
333
66
184
989
730
718
86
266
327
587
372
937
311
959
550
749
404
976
713
12
951
208
410
970
702
658
999
683
617
337
342
819
969
53
96
884
177
39
988
458
105
405
182
938
968
170
250
148
667
800
339
915
51
781
815
400
599
705
61
503
43
793
117
169
704
551
536
777
687
453
196
94
648
190
758
468
526
29
161
14
486
240
824
596
359
407
205
249
1
659
980
589
344
512
394
393
373
64
260
241
918
735
678
591
934
620
796
126
900
791
830
559
48
539
128
332
454
683
274
811
366
486
100
632
782
695
8
857
993
455
174
442
695
598
75
338
325
908
238
203
474
479
301
352
581
221
257
17
640
889
239
449
293
760
317
687
547
223
542
42
285
106
937
494
936
504
210
210
900
262
688
345
839
15
433
150
495
872
484
137
491
431
967
743
487
755
107
472
127
398
271
998
449
312
810
67
826
719
839
335
38
608
68
477
782
584
464
969
780
166
829
8
661
515
356
871
963
786
816
911
919
945
353
42
177
944
748
240
247
624
660
102
255
549
532
968
526
262
833
415
651
141
776
252
930
88
964
249
505
801
197
926
92
258
273
708
929
344
760
612
454
279
563
427
281
585
627
55
215
885
243
251
443
734
251
534
507
22
891
418
373
219
192
481
704
895
535
948
452
485
495
657
1000
227
138
261
397
578
702
505
662
171
984
230
758
554
843
536
585
547
908
184
265
22
974
879
65
329
601
582
551
369
100
329
915
554
432
359
17
467
572
540
328
93
493
164
857
911
281
198
137
935
835
2
519
98
228
303
352
939
91
998
107
685
315
919
130
204
948
288
520
233
428
5
570
503
177
254
311
95
153
191
973
438
174
616
576
828
690
612
471
264
216
103
352
707
821
162
158
532
904
691
334
120
998
782
124
998
479
662
892
906
883
652
38
469
986
948
685
929
932
382
175
495
478
520
386
452
841
592
16
116
738
801
271
92
957
466
848
51
194
339
719
429
955
165
968
37
22
232
864
547
398
204
423
225
609
44
946
83
987
153
407
820
860
201
105
558
589
279
710
374
38
96
655
64
382
995
886
433
105
403
104
592
692
225
2
444
763
338
433
558
358
49
139
96
661
841
409
331
701
240
27
545
465
934
954
807
437
563
459
166
756
739
831
334
112
941
382
786
960
883
176
538
890
853
812
553
764
293
638
846
778
586
955
882
734
616
152
772
619
185
197
144
77
742
610
243
435
245
838
30
777
180
955
538
955
868
735
757
531
275
459
629
402
438
227
558
225
494
215
976
884
49
5
109
879
278
107
77
958
718
811
841
292
199
772
333
206
725
110
299
818
402
337
8
903
722
145
982
11
581
937
361
111
447
987
324
63
969
295
225
779
173
520
772
273
81
872
605
683
246
454
99
978
207
367
81
282
338
813
412
669
882
580
79
832
256
494
507
249
824
911
299
337
449
831
509
626
86
10
853
153
549
279
966
117
401
356
932
361
576
636
835
354
963
774
16
203
672
429
14
656
131
166
971
193
458
369
368
82
793
977
546
715
401
15
412
602
382
159
96
202
790
50
85
110
780
661
570
226
189
796
274
234
594
703
68
73
473
880
42
143
554
365
520
644
830
192
706
809
6
259
276
765
313
517
213
443
753
291
681
227
830
504
475
41
720
802
911
149
679
851
600
270
189
591
637
496
978
862
188
135
591
598
307
819
625
762
115
133
91
265
110
574
632
419
497
873
456
843
905
578
959
367
731
332
939
167
689
448
207
278
824
247
186
668
376
103
777
261
400
308
369
635
965
657
373
662
97
146
78
9
381
285
947
233
244
293
668
220
546
905
457
820
20
592
78
836
481
739
56
984
512
755
350
45
481
105
556
168
345
25
330
247
685
2
312
329
811
154
309
262
565
342
853
174
680
147
563
930
152
891
904
382
103
490
62
130
49
265
642
479
305
804
808
476
523
553
312
235
971
152
566
210
238
407
559
754
514
429
949
72
416
677
88
625
656
575
123
160
491
924
525
801
974
534
601
43
547
391
580
86
368
193
865
660
101
268
887
384
601
746
825
763
12
330
121
93
356
189
319
935
591
281
272
306
464
905
175
433
199
383
173
692
257
553
555
403
883
212
651
221
195
703
573
212
857
610
926
117
210
938
423
930
875
171
99
683
435
376
517
225
800
845
861
899
244
814
356
199
910
493
776
934
785
955
127
922
762
464
759
962
426
429
275
694
636
541
603
936
785
554
516
304
891
833
677
205
288
61
58
796
761
430
153
130
408
219
993
520
396
936
376
75
24
84
106
492
211
173
245
443
578
824
604
314
826
672
707
625
946
321
477
199
167
759
745
29
205
518
501
845
507
332
454
566
720
209
113
200
514
654
79
251
235
227
643
369
611
749
134
802
869
256
648
194
169
227
945
395
230
696
329
277
381
627
256
954
40
309
286
455
814
604
738
632
961
595
65
9
992
544
533
375
550
109
280
115
518
445
181
708
516
166
259
320
562
130
555
150
694
660
477
46
758
148
660
883
437
927
254
412
803
921
415
589
324
890
455
868
329
982
772
595
374
919
189
436
820
390
798
702
200
120
735
561
654
639
573
377
752
17
191
847
551
657
21
166
609
825
579
198
985
719
38
502
964
776
401
130
359
363
531
281
753
203
872
283
998
634
226
868
584
339
335
386
257
236
364
412
408
42
580
211
289
443
651
626
95
894
68
280
290
819
60
421
350
390
294
335
254
113
367
39
640
175
764
858
550
882
527
585
55
520
358
147
871
698
247
88
290
522
22
720
345
4
377
507
161
703
73
76
877
957
981
306
337
991
565
62
6
841
203
508
211
277
489
395
836
883
277
361
95
6
761
76
842
553
325
16
151
517
274
745
600
671
766
868
738
74
467
221
738
924
489
436
112
811
171
769
671
601
119
947
637
40
716
846
900
647
19
9
950
629
531
360
952
356
867
12
737
404
730
691
239
289
934
165
65
797
429
24
397
257
430
304
434
176
764
735
907
430
514
861
979
576
868
858
46
933
854
660
491
792
285
920
470
479
829
403
196
29
558
632
972
907
753
20
455
575
986
234
234
666
723
262
820
203
780
497
602
617
959
175
109
252
120
655
204
707
753
377
448
606
831
796
947
357
378
246
431
15
684
461
201
649
588
446
836
480
553
495
223
643
554
412
582
638
917
402
614
390
364
703
826
382
443
725
365
510
442
365
409
144
644
236
296
370
497
688
49
566
843
932
932
233
882
16
970
518
942
129
115
942
449
499
895
656
716
152
917
969
289
925
571
983
645
417
636
921
956
38
254
132
499
889
940
829
40
980
836
308
178
230
456
802
210
745
527
111
544
109
345
878
77
811
284
686
224
484
684
160
502
314
400
925
637
849
683
557
210
441
932
649
721
730
59
724
815
905
898
10
100
940
97
30
632
676
416
542
691
372
219
624
880
338
203
586
971
339
95
958
139
735
130
40
407
743
610
316
187
783
737
640
778
579
225
206
557
615
891
227
385
551
545
686
454
428
25
716
381
827
137
959
875
698
612
714
710
181
901
820
51
644
818
998
402
65
545
782
587
92
504
314
195
364
964
966
883
134
993
197
742
868
578
94
741
217
297
770
873
711
920
153
228
573
714
740
669
315
35
573
194
120
975
26
317
605
486
999
34
232
372
756
999
497
21
983
573
35
535
556
297
962
192
190
174
95
788
369
852
147
491
932
447
681
263
240
267
353
798
136
155
960
187
784
493
879
181
51
199
796
33
292
181
988
369
301
782
32
443
680
751
544
432
100
116
409
121
741
147
61
478
713
291
505
93
402
532
198
415
503
171
354
43
956
407
968
72
141
420
625
619
452
893
180
247
804
29
516
910
730
155
879
463
459
956
749
502
781
221
809
499
550
744
321
800
409
679
173
982
679
226
892
540
387
979
189
605
105
678
964
657
576
347
244
763
158
50
253
947
706
537
631
659
880
112
870
200
781
912
165
181
489
653
244
709
309
590
186
107
498
77
899
362
824
655
714
427
558
28
496
715
396
650
791
843
380
884
785
739
93
864
264
738
286
262
354
159
599
131
534
185
258
866
319
563
446
140
43
760
537
318
367
709
571
502
521
256
115
821
765
697
145
33
247
560
710
769
262
946
893
35
869
259
44
670
11
141
348
516
524
787
507
995
904
575
767
629
303
138
546
814
973
570
640
787
315
471
365
334
749
900
21
214
870
142
741
703
719
380
126
905
564
970
81
692
281
74
907
242
266
785
10
114
843
760
566
754
291
562
100
107
944
617
203
756
276
690
563
627
574
280
68
850
522
176
983
775
50
702
116
544
829
837
434
819
124
502
826
461
90
777
552
25
192
712
486
876
161
704
400
656
772
110
412
582
791
887
208
760
628
565
789
314
599
799
321
600
190
56
117
220
414
755
927
850
167
311
442
118
451
89
417
914
501
227
848
529
126
671
432
982
37
498
909
723
515
823
961
685
584
136
63
266
722
922
38
468
238
803
106
804
696
252
902
41
113
127
275
82
237
897
676
513
893
440
612
419
242
736
915
90
828
599
589
146
429
830
592
432
79
831
172
735
89
757
368
50
557
758
805
603
613
698
216
334
647
52
9
842
821
317
732
100
465
376
557
356
369
749
722
754
537
544
432
139
741
231
896
431
51
80
18
692
608
190
743
749
73
594
247
809
561
825
926
3
371
657
642
227
501
506
780
948
748
92
470
873
196
513
738
512
13
874
467
697
775
936
775
59
5
45
834
331
184
781
200
66
299
328
463
66
869
580
367
331
495
374
605
874
205
59
163
62
233
803
432
478
450
664
319
478
331
472
198
693
224
991
914
773
684
655
963
539
805
438
623
557
827
35
84
857
744
597
557
146
304
717
928
421
580
228
780
303
228
658
512
779
669
830
817
300
694
215
39
314
395
128
759
419
924
711
521
266
287
28
774
237
296
217
953
697
813
831
125
331
654
969
757
645
859
763
16
253
533
86
423
947
179
120
849
888
205
529
592
476
325
580
728
566
684
466
3
778
823
484
291
531
86
479
40
345
628
132
197
643
992
277
808
15
116
397
860
410
701
852
977
239
138
212
249
735
523
241
817
197
901
726
849
963
508
339
162
6
704
177
106
122
250
415
233
512
784
795
943
448
663
278
553
391
811
267
176
566
880
252
389
565
783
587
912
941
655
405
435
157
352
319
265
464
925
679
708
479
847
594
967
278
428
884
836
793
513
376
711
215
503
694
217
828
735
808
301
461
495
101
752
297
271
687
951
294
380
984
99
898
757
360
303
28
533
727
671
541
8
608
10
524
754
61
814
785
884
301
950
864
975
552
898
726
736
892
417
70
270
417
253
824
712
33
866
980
81
589
178
408
432
878
41
627
782
203
458
847
802
871
571
753
6
946
124
618
997
65
366
319
346
921
381
776
869
270
394
108
352
972
942
550
312
597
676
808
954
638
200
50
343
177
567
170
706
162
961
346
924
125
676
110
507
226
686
376
794
38
991
871
672
348
457
451
833
578
39
610
525
110
116
321
718
949
185
8
885
641
288
58
901
315
372
794
99
42
245
232
180
449
906
264
521
658
818
129
366
185
112
184
572
397
816
987
834
457
939
682
786
507
651
503
974
974
849
980
471
484
136
81
795
855
576
102
902
52
661
582
229
743
575
905
167
375
193
540
878
221
260
48
76
938
826
103
244
572
350
768
775
763
822
172
698
190
908
574
956
893
359
489
716
185
909
220
802
324
433
647
142
982
413
572
82
793
642
282
512
982
682
231
17
118
777
908
692
556
816
29
821
2
462
161
363
956
745
760
71
489
270
416
117
917
658
750
285
479
44
38
178
12
198
146
356
1
367
729
32
67
8
26
751
153
390
741
469
173
463
693
593
887
485
908
816
101
661
774
53
73
413
771
385
184
15
975
665
513
980
256
389
942
20
622
478
822
377
653
867
18
35
334
188
371
669
895
364
228
151
455
636
700
133
356
411
760
489
98
321
85
408
670
50
839
506
921
828
184
660
305
945
401
132
997
308
937
220
882
828
572
837
389
401
148
405
470
320
19
941
292
265
416
472
359
382
453
770
866
584
359
923
37
916
856
468
106
707
283
604
360
300
207
566
375
324
743
320
165
856
789
626
465
303
657
908
800
535
354
553
282
600
912
992
319
338
699
396
546
377
620
858
324
230
470
734
88
729
472
173
694
583
226
961
634
651
844
492
697
406
76
72
173
164
595
773
208
886
430
764
278
716
731
343
36
11
679
948
996
275
356
30
589
290
837
996
162
747
583
421
370
841
459
303
260
618
349
447
40
370
385
7
184
959
280
750
35
809
96
939
525
199
66
547
982
629
762
140
234
295
987
946
394
97
244
518
782
215
547
912
386
8
640
498
184
855
373
357
401
649
147
718
485
800
802
38
182
13
302
131
590
568
856
246
484
548
905
74
537
238
497
475
252
946
165
149
587
593
365
530
269
743
881
992
735
184
414
788
502
762
698
263
508
964
117
564
633
645
749
442
173
362
180
795
524
27
229
254
698
976
923
482
589
82
695
822
100
251
768
626
330
498
157
860
36
802
504
583
502
122
252
501
737
268
257
73
674
812
48
595
674
853
334
274
141
258
291
537
546
931
376
739
457
791
132
994
469
378
495
58
56
454
648
71
465
512
308
498
708
854
693
782
633
794
62
74
796
556
898
894
592
679
265
741
654
53
851
467
84
265
496
692
451
567
775
696
829
631
334
938
366
213
242
861
8
13
564
656
31
283
735
485
984
210
95
989
493
687
93
27
123
865
275
273
174
795
163
685
828
514
502
882
571
229
185
154
155
549
341
162
688
350
727
407
612
490
539
151
424
476
218
848
19
212
647
47
427
85
374
397
535
15
143
632
133
543
71
363
208
692
255
103
991
108
472
164
678
974
898
23
102
236
446
248
884
19
410
351
769
461
595
776
888
814
998
745
694
369
421
919
186
658
85
611
805
430
455
835
118
98
977
598
959
707
383
666
234
987
527
493
2
728
476
134
735
536
715
727
933
10
872
575
350
518
337
951
152
40
515
480
268
15
206
381
31
700
801
885
976
352
561
880
306
429
225
196
130
110
599
976
13
633
587
262
809
373
305
270
970
105
562
804
783
587
11
958
35
491
666
507
636
686
363
402
633
58
943
377
873
389
605
970
283
285
906
182
377
783
377
604
129
58
540
69
809
620
439
813
690
469
417
672
840
954
1
55
336
511
222
323
309
9
587
715
228
169
248
160
677
439
599
134
693
687
645
251
398
361
26
396
294
29
491
38
50
809
950
829
65
802
979
695
366
506
795
434
666
161
265
239
503
95
482
688
430
468
789
457
180
228
923
438
551
719
107
998
541
149
522
831
900
12
551
209
854
682
623
510
205
580
248
534
418
744
63
500
578
146
319
580
280
806
265
521
644
636
290
161
632
917
554
670
740
507
34
916
7
214
604
678
935
210
776
326
620
42
210
208
857
566
979
215
487
83
795
895
562
69
150
68
171
150
340
82
941
387
875
743
274
523
659
468
386
570
622
411
40
984
191
119
730
761
128
817
677
941
736
545
673
398
412
172
266
288
819
815
201
199
712
276
371
888
593
899
721
437
906
703
705
838
473
703
917
284
206
114
474
895
912
507
551
237
192
56
262
716
4
756
703
894
466
801
566
805
841
418
193
610
498
76
339
313
789
357
159
786
449
768
176
80
120
436
49
828
26
913
978
575
674
309
499
36
678
582
226
609
469
94
840
939
672
469
224
990
443
403
228
855
854
284
923
493
753
428
629
693
151
264
185
807
300
30
146
257
107
407
616
332
415
61
436
587
8
231
305
999
874
349
190
96
398
173
110
482
673
78
930
521
30
935
339
461
238
503
599
967
562
365
934
821
993
209
696
559
546
719
543
945
460
387
921
465
499
365
65
483
330
807
599
320
130
277
561
242
158
470
344
313
2
887
613
100
634
130
718
465
189
149
527
86
584
156
866
851
737
866
961
12
136
423
366
810
954
645
870
314
729
212
788
386
867
34
860
985
888
303
691
545
359
694
327
755
938
737
52
910
816
671
986
903
89
941
364
68
317
117
663
354
557
181
896
678
679
27
451
951
666
546
841
937
894
832
601
44
86
919
354
149
780
926
767
795
640
650
711
426
872
471
450
848
365
875
79
791
874
39
776
240
743
699
631
201
209
944
953
724
271
695
4
254
484
339
31
878
821
431
330
611
894
406
829
647
433
972
331
395
898
227
133
230
498
573
212
85
694
166
536
428
477
20
355
680
301
839
531
873
612
322
26
149
302
15
724
771
277
706
617
437
548
21
271
50
918
139
127
550
369
482
912
72
737
818
894
481
95
489
210
280
566
338
813
2
942
513
861
453
586
502
513
596
560
658
183
442
841
974
253
36
788
78
157
535
695
234
506
389
435
648
624
860
681
538
485
469
115
206
504
449
409
852
89
995
449
970
153
872
454
948
8
985
190
939
218
586
409
138
982
155
59
380
608
382
520
341
446
329
350
718
434
585
584
446
51
154
605
418
47
904
41
170
800
613
906
694
518
59
421
885
789
124
592
116
195
602
585
95
782
238
441
462
182
560
428
551
126
205
629
382
858
804
978
181
725
928
8
721
813
281
57
313
74
76
509
565
787
513
939
893
586
374
717
364
506
998
668
644
700
343
927
691
502
409
981
393
518
1000
217
490
300
747
992
6
935
300
355
877
573
828
77
640
535
331
576
840
129
748
629
287
710
538
548
416
857
242
605
785
754
484
52
166
972
51
57
789
929
934
207
49
196
718
50
374
717
267
261
16
717
439
664
261
773
491
277
900
62
874
988
844
299
390
237
454
225
57
299
492
834
547
393
594
675
809
833
828
699
297
888
201
109
281
842
945
582
845
973
49
59
539
851
755
7
101
350
700
713
330
293
949
666
969
454
444
572
411
951
252
860
141
726
613
801
112
882
943
541
639
166
863
384
1
742
848
674
646
731
239
456
811
698
258
936
376
364
116
413
15
352
478
963
18
722
355
678
707
337
968
649
20
890
230
218
663
535
286
235
221
632
992
197
744
70
279
170
622
992
124
354
30
524
236
978
792
285
631
991
325
29
970
644
196
778
953
674
934
177
12
217
957
622
319
7
854
917
394
663
826
821
634
101
771
872
727
163
367
308
226
594
512
733
516
386
650
404
42
344
846
685
935
437
942
240
113
141
772
15
513
498
197
913
384
80
698
335
434
382
333
450
230
423
152
111
419
496
593
871
249
92
912
393
380
952
492
898
149
148
711
960
323
809
125
121
836
857
910
266
193
686
861
664
7
225
772
899
618
246
676
651
853
101
246
449
773
263
670
33
688
222
397
984
799
287
511
562
595
803
877
545
508
136
849
975
422
544
89
339
312
692
944
682
697
162
926
560
589
758
57
515
317
812
240
12
955
951
349
327
64
15
435
957
122
877
318
507
312
950
814
865
331
66
48
702
475
221
604
993
542
421
775
294
56
479
767
971
850
156
558
449
360
488
22
813
831
465
56
765
214
520
706
38
777
411
699
841
265
173
377
821
28
776
754
308
701
1000
292
350
844
856
69
118
472
528
169
819
551
442
515
157
335
570
870
728
895
470
380
467
318
906
896
416
814
87
252
634
425
726
848
10
101
117
156
148
672
426
239
204
641
161
956
780
777
637
309
552
207
825
301
269
95
592
732
203
988
815
632
892
627
187
362
244
345
882
18
693
178
373
417
84
463
860
843
442
8
712
731
555
890
280
608
605
550
235
991
651
144
307
373
899
29
953
82
86
866
979
613
210
65
634
945
94
203
989
492
943
591
715
593
149
408
505
841
88
667
463
178
522
827
759
349
571
25
732
253
868
771
388
740
679
425
960
617
251
940
784
963
604
154
236
408
293
391
919
644
428
249
571
310
371
227
405
343
79
282
736
43
36
494
752
375
64
778
265
516
80
960
92
207
44
612
507
296
930
763
829
718
526
949
817
281
288
119
974
824
247
584
279
723
202
547
141
250
35
735
538
1
988
324
449
462
210
644
640
785
672
126
818
35
810
562
966
477
899
56
387
960
211
936
640
90
461
526
60
687
927
905
15
951
880
688
401
898
651
417
107
862
732
384
383
291
827
555
81
639
611
812
710
895
319
908
166
149
942
366
718
685
961
63
599
248
40
368
82
511
51
556
469
276
113
631
823
617
87
860
569
980
111
75
352
266
286
237
628
31
626
849
538
248
707
554
526
524
245
659
37
272
8
371
360
90
37
271
373
536
150
903
477
543
109
387
514
976
596
674
831
180
402
351
919
969
802
959
287
142
140
399
300
519
57
328
718
482
634
408
598
172
971
895
31
824
342
339
894
209
157
82
466
771
373
854
248
866
912
3
794
442
861
791
718
604
951
775
264
796
876
466
27
706
484
367
434
629
814
12
630
710
201
787
219
393
424
201
165
462
954
718
801
226
906
467
524
791
193
915
240
845
758
77
38
85
451
956
910
191
297
668
508
295
443
174
128
972
22
594
76
118
556
855
574
500
257
807
168
394
807
28
380
464
737
208
3
982
546
440
994
535
77
697
408
630
477
537
187
950
284
358
912
618
775
541
806
462
754
506
383
182
373
946
152
308
415
539
669
1000
701
25
81
92
950
803
2
246
436
179
205
710
279
936
146
1
63
196
789
739
714
391
520
19
303
777
232
908
471
95
797
133
693
883
216
560
473
453
710
811
891
755
910
254
595
155
53
643
483
689
834
882
804
490
117
759
366
879
241
968
851
126
55
474
987
933
139
24
457
564
896
654
7
880
308
129
143
720
222
591
175
752
935
101
165
345
726
393
471
82
722
922
198
234
147
171
826
885
581
316
713
448
318
530
945
968
288
605
218
978
323
148
70
639
694
252
782
585
988
448
696
161
373
732
537
759
208
637
571
519
806
631
56
4
831
643
515
338
478
100
810
915
114
702
858
41
485
83
107
741
959
624
559
564
528
942
211
401
438
6
295
222
404
389
544
161
336
918
79
557
353
857
162
418
710
811
203
241
876
718
931
311
684
698
554
379
892
978
68
106
990
845
620
779
338
353
980
568
978
518
708
44
590
873
582
775
87
536
209
533
298
399
506
83
22
665
928
564
516
699
888
194
111
106
809
406
235
990
657
539
600
619
579
913
675
74
498
431
856
26
134
875
960
473
915
696
723
134
705
418
35
203
76
738
523
339
109
33
931
87
358
245
441
426
634
77
759
739
773
994
265
345
360
806
24
632
699
461
752
976
969
302
143
875
591
194
69
148
339
847
265
616
596
156
84
447
480
592
765
184
259
490
469
564
604
605
18
404
724
430
864
215
388
619
332
690
133
283
593
899
732
71
125
844
122
731
663
11
544
259
745
681
612
866
38
84
387
701
511
889
307
707
430
177
999
31
865
762
577
118
82
678
25
7
738
703
661
364
304
40
476
472
486
640
348
746
723
228
749
337
25
754
584
23
510
887
229
936
16
153
659
585
54
500
802
317
216
401
916
577
834
69
802
314
365
33
154
437
468
68
214
478
210
464
135
549
183
708
177
191
543
915
905
974
194
767
83
559
350
285
815
456
725
517
825
911
457
73
446
181
669
510
7
976
261
777
858
964
116
243
142
86
426
401
825
857
240
972
163
978
654
960
1
352
298
207
785
22
892
136
181
662
695
629
521
975
584
484
84
773
393
477
402
569
846
810
338
220
127
665
709
538
660
647
590
816
169
136
255
899
459
946
916
763
640
247
27
579
720
394
958
872
592
176
240
714
417
993
464
841
368
652
94
208
458
804
159
796
956
497
798
375
466
994
115
565
344
771
649
759
510
575
52
372
104
527
224
454
665
501
253
920
693
460
991
501
495
985
997
78
220
948
870
219
842
217
710
608
654
273
570
516
516
847
246
656
714
39
737
543
763
890
973
961
941
42
214
258
616
955
602
977
675
133
972
733
499
929
915
391
933
827
506
289
689
514
843
708
423
684
750
792
510
272
545
899
193
733
807
685
357
58
426
283
630
453
55
601
931
990
277
130
826
85
417
622
288
360
946
670
527
297
856
532
564
117
223
481
162
464
388
637
492
826
876
448
694
86
174
984
79
239
994
762
273
116
476
67
50
883
74
667
935
217
546
344
922
302
534
899
829
213
738
158
825
848
557
33
725
258
387
876
431
170
467
200
771
488
279
354
608
790
43
870
751
187
737
32
654
416
460
663
332
720
639
263
235
880
771
400
29
762
914
695
381
855
115
838
883
598
320
795
158
730
79
814
98
494
551
843
880
310
872
738
106
436
970
978
969
214
263
650
811
732
535
137
836
124
435
304
8
259
698
950
384
288
196
968
191
370
341
944
5
901
217
918
264
742
45
624
185
287
222
823
878
659
249
272
70
993
307
468
388
530
89
535
619
221
816
548
662
636
974
145
201
221
449
462
242
399
204
353
749
550
521
331
584
665
172
893
832
336
555
695
372
800
957
583
270
951
641
591
138
594
355
873
135
720
218
968
682
257
654
933
276
578
220
659
34
21
693
114
705
817
761
350
931
123
24
859
485
301
775
263
63
177
209
392
954
816
299
505
572
216
559
788
425
439
311
302
531
920
876
222
707
61
318
554
416
797
984
516
71
483
97
435
778
342
103
284
513
702
281
997
632
432
383
281
444
303
715
960
281
494
116
772
152
88
745
185
576
200
466
11
664
344
881
498
840
717
734
166
860
392
503
844
954
776
479
251
962
311
530
979
339
90
40
935
754
982
243
141
817
872
258
263
148
846
673
426
600
494
448
663
966
24
232
812
887
541
931
799
35
686
525
43
810
785
660
101
984
825
507
834
717
848
762
62
324
815
405
99
32
579
23
640
703
415
102
154
178
400
642
325
438
99
893
118
301
159
778
723
678
867
782
956
785
242
719
738
826
920
774
868
800
983
699
666
84
858
801
996
354
615
679
810
210
283
240
645
618
315
637
420
890
960
179
475
480
79
168
63
297
923
863
372
590
468
449
744
733
179
999
965
367
494
861
360
448
896
840
980
720
152
827
321
2
227
226
894
468
376
669
418
800
158
9
606
684
446
517
281
628
33
538
67
476
100
600
986
349
636
128
85
918
879
438
667
80
994
686
756
136
480
760
204
490
279
930
239
783
122
190
313
73
461
865
820
389
207
995
639
509
607
446
476
321
795
461
659
477
966
610
398
356
648
682
497
537
242
94
181
83
888
826
981
936
688
714
632
646
512
167
504
461
931
43
411
544
299
443
555
694
654
652
956
498
879
338
970
289
551
342
397
602
973
137
248
127
178
45
430
260
88
854
526
473
612
321
334
652
170
389
22
483
47
624
620
692
997
510
41
692
740
761
983
751
333
712
881
329
932
226
542
606
96
252
205
588
652
332
566
360
81
920
730
205
547
307
139
338
989
330
297
962
120
803
472
166
801
799
668
982
42
468
827
552
741
103
625
924
416
523
249
489
372
668
204
436
138
512
575
873
582
987
145
502
761
662
412
775
481
332
896
515
494
509
52
856
480
40
747
211
243
737
538
661
71
937
922
825
819
389
310
783
77
702
729
71
737
891
175
131
391
210
72
821
218
549
526
796
481
172
937
591
311
457
41
250
164
603
664
199
276
985
297
862
435
936
88
203
613
278
30
981
364
824
896
998
387
436
976
63
332
931
762
658
755
306
516
583
114
267
109
917
811
56
570
728
608
862
572
876
182
965
458
94
189
836
488
323
977
97
679
893
993
159
15
754
26
789
810
392
635
660
685
482
519
123
995
587
123
78
494
430
457
822
721
338
6
208
861
485
559
228
841
461
15
449
13
510
511
296
51
509
708
294
666
392
714
787
275
241
912
569
52
739
912
70
675
1
957
478
639
71
357
222
229
515
985
737
122
644
389
346
94
823
854
366
525
252
604
284
209
355
399
933
483
625
967
150
844
370
74
294
38
290
548
359
47
264
245
144
551
4
756
83
209
475
657
915
527
125
223
294
192
967
832
835
473
532
729
846
731
552
431
183
87
960
815
239
68
517
845
62
384
858
980
25
25
309
530
220
581
141
603
7
971
252
863
732
827
443
981
659
391
553
536
589
100
739
145
463
17
68
749
502
868
443
319
62
726
574
735
456
338
353
200
423
652
535
386
833
369
46
425
429
243
604
978
146
401
603
886
575
196
338
298
678
949
758
787
701
485
873
661
596
538
845
577
922
953
553
615
319
112
158
163
204
142
732
321
205
297
581
44
240
363
258
914
851
58
603
264
561
167
365
336
568
611
86
324
63
709
968
420
806
664
391
444
365
695
587
250
617
304
735
837
680
870
410
62
422
145
881
864
127
262
212
201
651
527
538
237
653
629
128
909
61
889
71
652
995
825
518
968
759
618
390
499
360
33
414
453
266
969
134
548
740
82
281
131
139
889
513
748
50
298
83
264
969
824
408
541
507
594
898
840
811
838
619
327
923
769
565
506
332
630
345
988
848
205
94
705
232
286
276
597
727
432
844
817
748
832
915
727
509
266
700
290
287
942
973
985
373
472
720
53
475
360
972
679
501
161
28
727
199
891
406
761
77
385
901
391
417
19
73
430
931
627
318
943
811
510
459
57
510
144
438
301
554
555
253
310
102
382
767
994
777
309
399
630
478
905
979
878
508
894
259
457
393
550
648
24
145
197
776
848
614
776
366
36
766
62
741
370
397
389
999
321
826
677
527
435
597
132
55
72
34
276
903
448
833
816
409
3
471
458
795
434
381
976
877
84
245
715
103
19
728
237
369
807
231
9
943
924
954
861
620
756
706
462
918
359
372
177
721
491
917
518
290
965
107
851
957
14
894
125
162
197
530
207
677
357
54
799
38
289
730
43
192
31
395
634
362
206
442
676
928
381
332
601
919
219
121
135
346
105
483
710
191
991
74
745
330
456
942
867
45
341
824
541
76
900
852
518
359
54
154
215
675
251
320
399
458
400
474
568
920
545
985
985
458
252
467
661
41
183
775
460
899
941
169
131
380
102
672
302
268
251
923
369
230
1
516
799
278
191
866
530
334
893
170
97
18
452
898
567
779
486
574
597
344
672
285
765
278
194
509
789
103
923
338
459
63
758
114
852
80
58
840
916
906
788
444
611
760
805
137
568
972
704
649
671
285
768
90
66
518
885
545
815
201
713
285
864
671
13
644
4
877
798
207
271
759
904
941
548
698
628
280
208
951
331
10
295
397
291
963
92
191
618
201
907
138
767
319
589
650
21
3
563
221
344
739
165
202
162
862
668
516
955
747
661
660
43
10
403
982
557
51
334
739
404
105
192
903
973
285
86
21
445
732
424
690
815
98
825
376
183
68
8
361
404
526
173
594
965
260
598
74
814
828
976
218
904
311
564
316
456
194
320
810
253
545
46
616
819
22
16
134
1
920
668
891
288
678
755
10
194
771
748
799
166
905
395
815
762
760
89
694
310
337
82
865
861
106
672
65
2
762
168
182
17
369
847
563
981
73
124
372
566
366
839
975
754
91
921
606
189
998
670
771
592
668
565
940
532
58
805
75
853
762
759
470
209
297
130
181
533
398
897
51
680
329
72
974
178
702
837
568
795
142
956
868
559
416
171
12
19
301
928
129
755
597
944
824
591
110
21
689
533
397
34
276
165
309
208
827
178
118
638
849
674
96
505
314
161
963
587
861
459
523
482
892
285
158
433
835
919
576
734
214
221
369
526
336
206
475
172
580
557
597
533
272
734
14
195
108
773
964
98
897
523
973
89
193
768
83
622
1
649
916
225
361
858
918
345
27
307
916
900
898
362
331
201
103
280
21
882
846
192
720
157
230
808
495
21
251
78
445
975
110
146
147
481
757
336
947
627
354
320
297
435
927
306
757
797
60
853
174
315
885
871
800
199
996
484
801
931
162
688
686
651
877
143
672
51
845
43
908
123
482
707
763
279
396
449
117
204
582
304
680
296
764
411
910
710
937
188
5
820
629
975
800
385
838
446
120
842
925
976
295
887
934
66
89
990
976
121
266
540
333
134
363
89
870
299
21
548
222
172
395
264
940
768
768
617
481
895
437
143
454
110
395
217
42
902
86
30
883
103
733
915
971
74
377
85
362
899
735
502
522
696
469
887
205
154
244
874
637
570
226
922
583
6
284
853
650
642
253
866
738
50
31
429
161
918
173
710
336
688
912
119
337
676
204
84
834
526
489
398
116
250
341
354
958
681
72
412
58
912
683
316
673
168
214
435
832
607
716
586
245
748
538
764
572
576
593
998
268
888
555
26
598
122
723
612
757
717
403
88
230
54
211
150
685
145
689
38
696
562
948
945
568
505
851
941
359
556
418
737
962
402
718
321
766
735
497
902
988
630
200
587
237
895
823
936
245
321
276
854
6
264
509
287
729
716
709
860
135
870
280
853
618
196
166
950
697
214
307
746
34
480
663
326
961
773
305
141
153
123
513
10
572
94
696
295
265
712
216
252
966
505
878
66
661
411
933
318
500
713
908
525
444
740
516
870
46
803
150
479
646
733
224
404
22
408
685
990
249
884
590
442
121
82
536
232
976
505
80
442
201
125
11
258
977
404
504
629
94
396
709
507
752
20
319
207
315
875
992
149
951
424
289
659
900
999
982
575
888
804
134
84
881
40
369
641
898
357
139
796
122
35
593
479
899
718
861
620
504
57
192
961
767
313
380
609
708
828
376
151
391
302
770
133
68
953
120
336
521
989
701
543
254
293
331
441
768
848
371
874
749
247
883
940
378
561
165
290
379
958
588
581
633
717
745
231
369
721
377
501
4
53
479
462
677
101
267
578
405
397
390
492
577
545
905
89
176
698
46
61
752
494
729
18
644
791
86
654
362
272
69
582
390
788
273
256
839
271
721
816
573
248
287
788
400
196
800
305
931
510
657
955
499
399
924
374
320
837
521
445
731
566
34
345
903
274
138
683
902
269
385
672
357
350
321
624
271
172
533
44
708
28
225
254
193
893
347
790
653
550
165
787
654
794
355
165
492
57
383
750
436
228
979
347
27
151
947
417
903
5
457
234
39
774
201
298
641
96
493
367
215
49
455
641
442
847
956
560
627
2
819
150
376
228
158
78
138
272
379
390
929
868
525
430
339
239
129
560
456
922
710
129
884
187
334
620
428
17
439
979
336
416
251
962
219
808
658
738
890
433
398
79
413
911
762
233
578
634
767
956
880
231
977
258
833
98
684
123
99
957
179
836
508
407
233
585
472
743
706
681
732
632
411
88
614
842
975
943
196
871
458
419
863
215
931
558
753
999
15
709
491
887
658
798
430
502
56
937
358
58
670
846
222
569
762
93
2
761
722
477
277
806
757
713
386
55
147
185
343
243
394
736
820
57
63
320
585
508
3
895
762
307
964
98
129
325
289
98
514
242
528
526
962
726
299
499
37
803
665
617
35
621
636
230
374
451
123
433
693
628
843
987
429
86
198
834
795
289
138
940
73
667
350
968
125
90
921
658
835
542
768
879
977
914
730
24
652
745
201
777
7
826
575
334
422
805
585
827
733
333
817
41
347
810
290
528
285
519
36
851
307
768
11
19
266
691
532
134
745
516
633
890
856
437
430
844
814
712
594
327
494
239
512
416
764
667
568
689
779
34
254
342
812
46
502
827
430
367
696
389
980
701
323
741
440
39
116
654
642
161
851
409
765
378
641
928
772
541
730
856
180
543
254
63
117
899
424
810
156
500
857
309
806
304
578
521
873
560
315
819
110
132
292
570
728
634
665
790
353
375
118
762
966
586
909
932
221
957
820
419
275
343
68
240
932
351
204
674
476
644
430
262
31
3
572
582
670
580
150
323
789
335
587
135
440
318
651
419
431
351
616
519
990
650
484
729
711
105
844
187
324
269
581
957
537
569
711
584
833
911
73
959
667
642
466
603
895
752
100
367
687
357
903
113
360
721
296
157
783
518
570
123
37
607
856
379
21
312
2
436
527
113
385
497
149
656
778
862
38
248
935
55
138
297
464
318
34
711
915
617
960
941
722
409
825
139
802
192
342
927
161
318
480
393
818
607
483
209
706
81
657
252
11
518
965
677
551
586
224
176
410
44
364
83
2
872
781
21
178
194
274
85
736
573
450
857
946
584
761
187
304
566
538
283
737
114
459
588
918
178
945
878
187
596
814
215
812
526
428
698
950
508
206
456
752
812
78
937
493
356
940
365
470
670
636
175
697
341
345
350
91
891
492
836
929
283
467
635
846
106
509
766
534
22
91
984
622
258
998
64
896
736
96
487
155
957
494
566
517
903
356
408
905
26
175
625
777
849
699
369
930
854
34
88
300
88
650
400
296
349
187
598
110
928
943
603
833
608
913
636
996
32
60
474
277
617
294
935
767
896
251
134
115
558
571
159
315
457
816
998
666
581
579
3
670
282
594
648
216
89
866
98
468
50
933
929
237
899
377
363
511
272
611
544
15
836
794
718
339
477
441
655
219
611
916
278
1
299
570
277
218
55
673
434
432
188
688
462
203
38
659
473
135
694
651
565
399
672
273
615
77
531
241
99
938
607
857
625
977
883
69
949
175
514
416
389
420
657
847
969
515
101
812
94
464
633
521
229
34
205
521
923
670
734
999
430
459
839
335
387
731
852
474
257
305
243
611
705
122
959
566
700
206
278
929
871
454
440
779
590
771
758
283
303
447
871
14
892
475
537
161
214
713
687
118
514
428
439
123
116
754
461
711
649
38
360
754
70
876
728
785
927
889
134
88
617
919
591
803
895
383
984
881
499
1000
540
296
585
932
639
339
581
683
206
186
205
773
459
164
627
254
1
335
210
688
145
36
798
26
851
48
280
194
866
885
46
859
487
527
968
986
878
584
780
300
987
503
44
706
984
900
449
48
534
549
802
325
400
843
954
639
607
798
846
683
869
761
5
550
36
67
132
7
98
791
845
138
657
611
279
444
863
547
970
87
505
10
419
906
341
140
743
299
755
920
114
792
530
901
43
393
877
673
93
379
814
420
359
248
705
969
848
931
17
770
949
255
370
152
340
831
531
10
978
220
325
799
355
288
338
359
773
72
892
614
255
413
20
629
587
819
64
874
166
727
86
790
522
428
499
896
860
378
187
786
501
536
925
285
852
657
74
959
432
196
406
936
485
568
354
687
970
52
186
33
20
537
397
118
506
651
50
538
5
552
970
95
286
795
429
899
429
269
420
647
803
110
696
970
452
912
505
651
862
279
357
390
711
992
194
539
948
584
103
888
482
166
15
150
813
706
924
277
214
770
799
100
398
955
739
101
207
842
881
278
519
339
261
201
451
672
108
339
930
174
39
657
893
192
226
296
677
141
899
874
665
745
480
583
881
973
225
775
18
50
512
197
342
195
802
357
9
389
881
787
616
600
169
94
193
343
803
802
454
376
690
916
838
615
923
55
744
72
807
766
451
735
216
328
361
811
171
965
610
711
340
870
560
451
613
874
393
921
35
906
816
593
170
593
908
791
379
525
238
633
607
686
703
70
10
553
978
273
159
167
71
745
622
271
252
164
433
238
522
903
331
109
891
621
692
518
939
81
737
659
545
570
970
749
188
922
770
628
955
157
730
216
208
163
645
601
924
707
10
375
836
283
511
719
883
942
283
419
905
340
625
634
207
638
471
783
367
811
142
359
653
156
835
807
472
478
834
884
597
515
676
67
273
664
338
646
934
930
84
97
962
374
758
249
802
997
168
493
831
133
704
20
521
952
478
644
851
577
92
281
389
673
591
572
160
98
306
441
236
350
46
618
964
94
536
277
874
15
107
973
636
619
375
17
837
333
39
271
11
496
26
79
61
349
876
761
176
177
678
597
399
109
868
772
239
918
890
77
105
335
78
471
884
56
80
813
696
571
837
145
696
449
422
920
823
484
992
510
557
373
767
88
62
249
190
766
607
426
389
441
743
178
620
398
558
250
657
94
247
39
946
961
368
109
963
279
384
722
369
333
552
630
477
166
759
194
40
176
648
263
577
713
281
907
274
595
603
243
22
185
189
88
267
230
107
129
208
201
250
596
285
275
136
205
87
402
34
250
522
152
228
291
582
133
383
833
90
842
261
778
577
728
501
166
844
99
756
931
814
278
285
962
1000
42
963
757
288
981
803
350
758
859
264
993
959
452
57
277
379
622
652
16
871
589
439
189
426
431
315
725
8
882
504
684
130
397
578
689
467
248
970
51
84
188
749
127
790
785
89
882
723
135
609
501
516
38
772
167
294
127
584
791
314
649
127
569
283
791
872
740
247
499
291
782
489
696
20
629
31
720
712
165
223
558
758
376
342
160
272
73
321
704
67
9
523
204
885
552
933
258
790
823
270
28
487
340
309
814
279
767
115
669
539
335
11
561
855
848
809
529
450
965
290
117
107
634
919
152
566
127
555
543
294
120
233
415
611
638
168
292
362
540
797
481
736
347
999
67
366
906
675
122
552
360
466
838
290
326
753
298
820
38
2
499
564
416
176
80
660
703
174
902
764
339
252
293
449
213
888
264
301
284
897
493
793
854
408
178
86
430
962
139
210
207
136
719
459
699
17
66
437
919
357
389
904
843
426
641
483
562
420
872
298
679
799
191
846
997
41
862
744
500
151
588
514
922
705
426
229
992
339
92
671
530
363
667
649
178
634
813
227
452
885
653
954
216
483
425
584
412
969
857
441
82
808
960
276
272
479
609
465
449
425
839
379
382
398
274
84
314
409
458
832
422
874
171
409
163
484
987
70
168
45
447
674
737
783
202
610
830
622
413
313
697
546
501
477
922
417
68
532
727
600
440
635
813
286
809
179
900
691
419
792
403
190
554
910
327
10
371
246
588
331
775
931
420
493
574
647
446
570
182
823
293
718
946
838
315
581
32
239
130
498
434
156
194
455
317
476
535
482
373
841
142
707
312
196
207
369
904
454
595
892
218
819
449
541
841
437
786
285
894
358
348
221
583
222
682
343
918
707
649
471
937
522
125
890
461
660
639
620
977
703
103
246
703
179
590
957
279
394
309
748
807
678
558
760
172
698
441
377
654
343
587
5
851
692
895
438
861
764
632
324
464
61
791
516
787
383
728
64
551
64
499
144
550
548
234
506
438
175
105
912
264
173
179
590
441
81
467
957
996
290
25
726
17
917
818
49
192
3
390
521
202
879
66
729
535
610
540
505
959
617
232
209
502
928
690
187
304
50
696
979
82
72
423
25
312
496
176
346
413
220
777
143
377
265
621
346
315
131
797
867
330
102
434
747
968
434
605
429
289
137
716
95
202
952
289
410
341
225
439
7
169
597
162
753
434
824
739
177
351
583
192
429
78
810
744
794
176
998
650
101
727
866
620
332
697
992
280
345
959
347
756
922
102
101
547
277
801
762
268
752
22
478
753
667
832
262
242
221
883
61
77
861
916
791
399
785
801
928
843
105
674
785
103
712
730
369
564
98
76
562
886
201
888
452
555
855
744
811
922
575
665
90
187
213
848
807
123
496
529
877
54
565
697
254
776
425
642
233
629
648
392
912
913
760
205
598
196
475
155
379
820
388
740
723
114
731
195
691
376
583
816
302
707
233
230
631
141
474
952
488
347
263
16
885
371
524
686
47
504
883
513
447
381
752
44
166
845
535
535
914
943
622
906
211
658
536
11
562
629
832
1
915
162
275
210
359
290
457
512
801
508
214
547
295
84
135
556
841
509
11
839
685
743
274
986
622
413
361
112
332
985
476
300
545
265
368
335
701
272
640
599
819
653
548
681
491
314
443
873
275
894
787
199
259
12
168
76
268
970
835
979
978
763
75
738
190
742
170
209
689
299
780
105
347
263
320
707
630
481
343
37
250
236
955
810
482
740
29
165
555
912
362
727
649
75
935
29
204
980
107
714
692
790
965
198
504
261
979
699
322
396
831
608
200
239
547
203
599
355
58
602
771
742
916
683
227
585
192
410
507
322
497
649
92
914
667
66
111
133
901
187
434
892
42
991
851
357
257
725
302
657
563
731
541
480
566
182
186
762
253
596
859
966
902
841
966
149
999
182
776
142
550
572
577
695
328
8
122
324
413
270
34
4
837
778
540
501
272
612
710
370
489
976
373
124
725
497
11
89
218
810
230
797
889
798
848
545
565
728
268
928
205
262
540
742
290
991
449
626
917
702
53
219
177
64
293
419
59
816
719
508
481
778
904
567
41
269
814
572
728
537
275
42
156
885
665
897
827
28
160
463
591
71
158
164
693
202
10
543
786
838
805
665
849
483
766
845
200
18
757
914
706
467
506
902
842
565
413
104
479
591
237
997
132
23
517
345
953
507
334
159
925
557
885
866
543
156
405
169
792
129
160
593
366
772
598
636
875
702
245
792
283
318
625
433
908
587
289
693
108
72
14
53
231
276
400
273
447
374
359
683
887
399
447
631
876
748
605
40
116
652
627
621
411
917
606
283
854
811
661
669
484
418
508
540
45
209
796
965
867
824
705
855
859
266
974
431
268
813
395
610
158
954
839
164
550
558
5
713
763
311
465
268
774
190
6
114
388
344
948
244
529
316
886
443
299
969
263
389
259
830
296
816
41
820
22
846
534
505
654
126
812
59
39
260
484
113
698
355
315
546
839
200
843
45
795
708
172
976
498
775
315
683
991
633
233
857
480
121
219
10
93
10
360
431
346
692
620
187
294
79
512
911
484
515
398
101
112
886
234
644
260
848
970
103
662
320
850
54
236
914
620
445
536
24
973
498
334
632
636
141
799
742
144
379
109
525
724
236
882
895
689
144
518
234
393
739
387
445
129
12
827
302
283
695
70
341
720
572
551
166
622
130
527
96
951
585
578
532
295
875
353
309
100
628
867
544
208
491
787
168
154
428
360
448
921
790
119
237
701
1000
11
648
748
686
376
89
603
966
68
357
782
378
52
571
553
649
18
247
555
77
917
765
828
821
815
788
293
797
152
937
839
207
307
194
959
923
347
20
294
120
997
158
561
553
127
455
66
827
538
793
415
863
418
409
97
517
593
463
328
958
638
697
913
989
976
430
911
978
317
942
589
411
201
483
465
420
921
787
250
770
836
983
171
936
905
196
424
882
319
7
515
73
256
153
844
60
113
491
169
719
55
316
530
825
358
582
791
222
813
411
222
246
407
596
431
431
618
425
511
799
896
276
522
142
352
908
233
843
233
263
648
692
494
913
975
76
669
966
552
688
294
399
764
594
319
255
89
107
317
128
277
404
804
640
86
253
648
373
147
515
390
887
306
323
255
967
205
966
782
220
988
547
306
522
735
403
950
551
650
166
425
845
76
63
653
410
134
716
199
858
153
301
538
501
82
364
414
580
768
987
970
56
312
288
820
967
731
421
982
418
790
338
425
654
173
609
984
528
170
454
603
914
606
18
143
238
95
598
523
376
579
178
557
627
722
177
673
295
1
731
636
752
177
197
505
447
470
817
324
500
900
639
456
923
184
870
54
474
82
787
880
401
267
234
593
86
655
515
650
668
600
169
164
283
541
743
456
463
477
140
481
578
115
580
62
938
676
490
610
325
90
874
51
280
778
863
786
397
288
153
813
304
808
988
587
699
986
220
812
63
534
689
103
199
818
863
392
773
16
233
11
395
423
428
642
615
219
388
674
390
295
256
90
200
784
784
682
17
559
201
251
758
288
465
475
667
608
732
288
349
569
725
926
768
829
350
314
647
958
606
51
76
855
313
106
95
486
658
229
205
70
904
239
489
418
839
574
88
304
737
925
277
671
651
362
264
944
822
59
149
972
896
650
201
902
400
262
687
822
642
490
55
158
773
924
154
601
286
366
553
832
613
518
708
409
804
774
927
988
505
718
589
450
573
64
61
631
697
76
97
68
362
955
302
606
298
281
389
746
363
364
576
348
419
278
414
663
373
434
777
702
990
751
527
636
495
922
559
257
244
756
587
528
959
331
1000
912
97
512
592
458
943
425
777
622
931
625
136
387
495
42
808
543
501
261
268
929
921
323
514
13
957
43
525
444
260
777
142
103
234
686
203
768
697
805
813
669
274
638
172
151
40
591
230
127
838
259
771
234
615
505
221
413
894
288
598
156
193
399
534
807
802
638
235
104
823
456
570
623
812
772
219
920
664
482
973
921
588
188
798
560
205
774
262
747
760
784
284
516
461
983
913
565
740
112
50
516
28
585
590
873
287
808
461
97
94
886
427
184
566
695
315
865
786
685
563
846
678
355
562
547
456
990
323
402
913
161
385
148
761
448
761
441
202
67
915
804
678
363
445
160
517
647
153
159
782
462
705
81
194
182
882
356
429
793
736
643
437
787
637
963
695
408
249
611
465
865
17
422
179
720
585
521
71
406
903
852
45
679
486
618
548
893
376
294
913
163
923
980
253
838
382
716
455
233
682
807
273
221
463
373
814
130
611
61
937
346
76
350
219
186
725
925
178
890
329
365
387
16
577
792
954
158
164
177
601
648
588
730
248
817
305
161
554
494
239
633
359
625
501
905
340
287
326
524
488
935
891
891
196
393
685
708
856
977
513
606
861
140
75
728
829
203
284
654
662
57
133
348
809
206
983
717
698
162
587
2
862
981
47
422
723
706
151
428
329
557
232
476
613
6
770
433
908
259
429
622
494
270
153
12
946
128
201
276
938
550
758
258
921
260
827
895
805
226
664
790
367
92
918
447
611
657
998
641
716
899
892
524
535
907
851
823
808
24
867
965
422
672
852
12
40
609
778
47
400
819
827
85
416
848
747
588
972
167
223
437
963
30
40
540
699
426
220
308
268
893
127
910
831
409
702
560
111
59
673
77
513
939
522
627
450
563
496
853
408
79
729
578
225
763
797
864
871
585
691
522
730
122
211
75
25
726
276
780
553
662
484
554
358
866
537
568
294
89
827
805
701
454
554
124
579
866
235
233
699
308
375
483
83
753
341
610
144
354
230
381
575
582
594
583
780
195
437
970
199
290
812
584
442
172
676
314
496
478
414
719
642
796
568
871
899
7
885
456
971
713
723
417
693
420
262
209
923
575
683
115
670
186
710
138
6
487
448
701
975
61
472
760
260
894
494
967
883
53
753
186
536
89
472
33
486
801
340
86
150
699
8
80
537
350
1000
694
789
824
281
526
931
611
967
450
762
702
299
845
574
28
60
109
969
62
65
476
615
209
241
383
212
542
38
547
285
550
656
478
686
836
580
354
833
117
468
75
793
443
305
815
294
308
21
614
612
181
521
347
80
64
150
947
664
852
163
878
626
650
676
694
824
703
927
950
594
267
396
895
488
575
502
118
352
29
111
775
371
894
94
107
737
62
494
713
539
889
658
427
324
752
859
745
540
683
517
409
703
407
113
186
756
156
295
864
488
857
463
193
326
721
341
831
60
750
658
366
262
412
60
109
274
590
836
707
618
915
843
537
620
750
265
520
831
457
505
227
578
8
524
98
584
684
424
214
151
369
945
253
822
921
784
218
820
181
348
51
768
470
628
480
408
829
370
308
63
828
613
886
583
520
958
698
389
979
674
825
6
927
801
543
192
145
1000
493
339
713
770
621
355
656
12
607
622
213
664
580
961
814
255
721
749
773
800
777
475
909
398
610
26
539
271
637
991
781
752
436
58
699
896
853
384
563
987
635
450
459
185
24
489
511
976
750
57
257
858
543
674
57
943
654
781
6
724
831
414
485
330
881
137
365
962
251
730
873
77
11
95
321
120
272
610
192
219
324
922
597
367
725
774
713
998
176
18
651
811
227
391
109
896
809
986
299
927
110
619
904
280
544
418
210
391
436
79
162
580
571
147
819
890
928
623
551
161
791
932
401
687
893
10
190
349
415
847
347
999
489
359
918
247
280
824
901
500
893
485
877
296
85
118
874
478
223
485
557
745
13
672
116
472
275
187
693
455
430
617
758
418
437
325
668
715
638
395
490
616
324
550
306
1000
873
258
407
64
2
651
203
837
8
105
181
971
859
585
995
213
682
919
578
479
464
184
203
200
786
288
603
918
996
667
546
716
540
728
778
124
76
290
877
611
602
830
329
635
80
778
130
482
917
436
296
813
266
385
919
922
269
361
854
188
301
700
686
104
740
373
331
577
19
557
558
881
534
441
730
782
483
676
274
846
868
478
744
914
698
882
858
996
896
70
553
644
544
22
925
956
863
924
917
938
773
953
743
920
961
38
324
59
138
193
483
745
568
811
233
919
998
119
266
863
861
601
664
42
973
814
928
949
978
452
661
722
491
926
623
512
212
991
401
161
297
161
688
841
920
732
959
636
260
265
389
977
130
260
12
6
70
605
447
635
27
60
988
100
640
731
510
262
795
953
436
794
306
506
931
641
515
393
641
822
161
688
524
738
67
112
743
627
88
69
186
696
264
843
887
796
345
536
517
160
652
119
172
890
768
660
851
370
697
376
420
709
927
693
328
678
317
864
30
298
832
68
909
431
955
80
436
246
995
777
480
388
660
745
952
78
952
236
431
92
882
523
5
786
566
500
361
892
930
7
32
809
700
943
809
513
309
689
572
999
82
766
136
379
392
906
304
394
455
943
978
86
128
3
64
827
334
477
896
728
749
205
102
686
967
64
122
980
681
925
110
371
309
547
553
127
115
509
771
251
114
758
372
461
944
643
875
165
464
620
964
717
33
926
246
781
321
618
991
482
9
331
13
348
930
1
801
748
50
559
996
651
165
340
547
35
368
503
220
226
135
286
658
761
340
336
828
116
649
655
576
783
505
939
916
738
357
206
886
287
877
667
56
656
657
706
233
453
277
698
528
304
700
173
686
565
658
435
532
969
76
386
427
503
604
716
893
578
2
38
920
780
484
817
42
99
109
142
949
559
957
477
273
590
157
552
174
322
782
443
565
218
247
720
90
117
148
272
479
783
379
34
551
561
981
376
894
550
427
379
237
20
920
544
617
449
873
750
712
648
945
439
121
934
865
61
974
202
836
803
939
52
451
494
640
825
946
358
485
537
60
9
153
199
972
637
311
953
558
879
661
768
698
249
85
214
478
354
468
936
909
294
793
21
232
836
187
435
935
934
951
6
411
152
8
274
528
352
834
652
488
817
706
948
42
584
990
283
512
377
302
839
100
970
579
665
629
208
507
981
236
201
278
39
504
378
354
610
184
217
791
609
980
444
650
181
803
426
230
823
563
285
161
779
821
993
881
953
549
340
659
93
874
186
129
820
888
875
226
384
530
18
560
676
115
119
474
121
267
667
513
573
927
402
553
211
606
417
595
751
240
653
120
996
864
118
934
852
802
868
632
457
219
376
186
20
710
411
634
270
56
995
572
166
389
269
918
678
807
385
451
972
895
613
714
325
720
931
218
421
588
286
289
491
284
567
527
904
544
86
616
407
261
36
120
219
260
937
998
558
531
579
783
987
497
338
787
177
203
36
188
310
346
685
613
329
706
604
649
716
831
331
735
279
820
736
64
676
659
507
444
62
838
921
551
269
922
459
636
430
333
326
560
771
850
413
960
609
233
557
471
244
943
241
187
531
147
4
954
398
55
929
689
475
177
524
609
303
281
217
184
294
642
445
650
734
710
31
116
642
442
132
663
207
383
549
352
892
15
595
700
2
49
42
56
663
86
891
227
738
526
830
905
126
675
296
699
278
776
981
31
531
63
491
789
32
12
606
346
612
683
250
525
955
411
872
123
811
128
366
861
788
293
92
6
488
749
806
462
343
810
507
817
545
542
334
703
885
517
613
821
142
277
85
172
914
368
171
339
425
85
832
175
887
3
233
849
455
958
937
37
697
388
820
977
739
859
218
195
945
140
105
19
71
419
227
366
313
136
216
888
579
403
666
310
592
212
23
630
177
423
952
954
155
63
522
902
828
598
137
886
935
650
679
72
311
111
700
520
211
710
850
804
409
882
934
405
738
207
131
304
687
805
924
497
39
781
270
609
307
260
343
376
901
563
976
554
533
857
567
692
376
900
774
330
862
617
844
366
837
854
731
765
961
51
501
301
899
537
698
725
826
834
423
634
237
623
916
282
846
50
314
796
628
615
97
540
695
196
446
889
737
702
355
269
229
405
917
171
475
287
586
735
809
613
628
650
969
518
173
372
738
601
489
55
433
398
125
199
719
135
580
729
520
324
6
114
531
663
256
178
917
112
277
462
328
263
440
324
275
858
914
534
255
813
591
715
740
219
406
877
297
575
80
222
659
923
507
562
530
672
964
982
246
624
347
813
224
137
405
619
272
399
773
630
442
518
206
999
73
501
23
315
91
225
222
53
421
175
113
24
571
91
615
419
73
632
525
766
480
845
203
949
40
513
88
472
21
453
393
316
871
416
143
36
60
551
423
278
516
331
366
477
988
395
915
336
565
53
860
610
842
70
978
829
899
915
381
875
330
893
327
718
80
413
803
215
706
221
193
595
8
562
199
148
668
125
977
670
658
68
142
431
694
638
906
770
940
637
88
959
504
525
181
612
995
11
960
788
573
795
336
864
461
565
297
437
856
399
821
783
526
540
568
855
174
831
29
424
803
247
541
698
914
585
268
711
348
829
784
817
990
673
397
877
347
401
698
97
218
665
146
45
295
668
665
37
552
960
324
978
705
329
201
728
848
232
425
250
650
877
200
109
72
277
366
379
695
605
654
657
147
703
340
668
9
904
455
899
852
176
29
802
715
200
138
393
447
183
655
439
783
90
682
73
966
506
625
338
1
524
736
100
328
883
742
787
847
113
876
617
717
543
220
344
290
891
761
47
889
588
9
170
838
113
299
839
348
419
150
467
374
923
189
792
542
670
152
793
588
982
451
366
540
352
636
273
46
365
804
611
825
163
732
980
210
339
8
622
168
179
961
993
944
833
541
657
729
376
599
918
325
680
207
304
830
688
752
879
789
990
552
367
59
569
640
255
934
196
198
336
650
250
822
678
514
644
457
601
296
168
353
67
434
776
843
815
839
252
108
714
793
269
326
19
492
42
767
688
280
680
481
454
539
835
189
88
462
460
847
196
677
322
182
900
788
392
148
995
428
423
881
490
331
806
216
984
294
274
248
990
591
143
744
130
596
568
416
118
898
695
222
598
143
725
871
168
224
618
674
394
193
578
709
224
449
537
55
953
351
539
458
846
375
329
432
558
345
461
199
757
62
922
300
731
861
637
983
290
258
174
650
2
839
659
772
633
996
196
659
689
939
78
399
122
647
662
101
586
75
90
278
111
982
970
863
709
203
686
869
194
48
320
156
494
795
989
112
783
904
45
304
78
666
726
338
325
516
776
207
583
78
45
391
676
375
275
864
516
308
133
934
394
617
15
537
711
96
344
208
976
713
844
458
433
654
791
697
309
31
310
153
552
155
613
467
853
802
478
781
931
888
367
148
326
311
333
75
408
495
263
805
907
355
77
763
42
972
187
185
237
268
937
579
495
359
730
85
724
69
274
228
704
292
670
811
927
521
118
906
236
841
623
987
48
174
423
265
974
323
811
193
783
672
652
911
24
992
167
165
67
880
508
805
984
811
214
560
475
643
902
191
986
702
451
501
304
212
482
900
130
977
175
424
595
647
311
151
229
852
973
926
632
745
527
213
999
239
319
639
665
301
60
535
77
231
992
336
899
733
746
217
541
956
283
788
2
398
413
921
793
730
172
81
660
129
776
600
974
686
957
406
948
806
225
654
294
295
32
543
530
3
827
369
925
470
765
534
968
23
139
760
350
160
698
289
649
855
650
177
316
632
509
100
107
874
947
295
777
843
455
314
756
318
926
338
484
599
253
642
307
850
637
666
108
413
595
857
381
760
588
68
39
241
767
851
96
595
606
403
264
528
72
307
647
281
560
418
961
229
14
457
134
32
558
889
706
742
454
686
188
598
427
422
437
918
192
942
123
644
570
545
576
581
679
218
678
333
531
948
936
238
827
580
580
385
842
977
331
887
108
476
475
190
994
762
16
120
415
323
978
750
611
574
358
933
380
612
876
528
158
291
381
927
115
3
742
479
756
69
84
812
572
172
489
831
962
599
666
415
994
376
619
411
562
551
68
586
151
991
214
566
740
68
463
707
323
497
899
981
177
438
591
711
238
667
340
944
943
285
90
791
421
924
8
860
229
909
218
232
661
125
257
67
289
637
592
34
553
253
964
243
131
286
869
247
318
752
273
978
839
117
483
217
374
494
189
279
554
880
859
134
336
625
57
99
497
827
727
591
434
765
194
146
578
789
441
57
532
313
185
566
440
699
454
451
221
833
622
269
23
158
326
238
677
768
302
960
966
917
922
728
263
971
151
186
447
389
699
494
55
787
399
929
275
545
206
102
778
666
769
559
330
817
221
552
830
571
704
205
675
868
136
138
376
639
904
822
924
337
517
625
706
855
683
523
706
935
963
935
312
714
924
981
287
487
657
764
399
121
654
923
706
807
275
800
785
6
493
58
988
492
120
477
393
399
519
952
281
22
643
436
796
951
298
676
986
765
747
116
517
144
108
265
220
755
504
158
51
664
633
292
194
359
191
538
804
698
628
111
328
192
790
618
415
123
350
569
207
888
341
527
164
834
741
224
680
609
790
559
421
699
672
401
714
387
243
500
350
879
736
598
810
663
748
81
320
503
371
77
83
651
14
963
730
927
336
665
321
377
708
935
200
78
804
87
621
510
228
258
355
620
596
362
419
348
87
325
633
912
319
80
10
577
310
60
835
27
433
597
877
653
493
740
389
289
520
461
422
943
403
157
504
94
258
607
924
961
281
302
699
975
897
135
806
335
230
994
399
180
225
709
555
356
341
131
559
225
320
891
851
227
443
488
529
175
593
948
773
368
634
234
598
637
893
941
126
409
965
608
953
700
700
142
255
705
958
408
984
323
672
88
898
518
809
236
154
888
57
812
939
200
458
669
893
926
755
56
119
16
896
781
214
246
41
521
48
455
369
693
19
954
217
449
99
137
358
77
290
104
717
92
22
704
500
787
638
963
430
865
343
278
824
47
895
141
266
234
897
374
960
868
729
57
229
647
73
361
207
626
473
495
521
50
592
855
615
968
633
229
447
789
922
638
464
473
779
955
130
955
632
979
789
758
774
30
321
472
304
465
854
932
559
734
815
470
793
706
699
591
927
72
245
758
960
528
182
777
30
326
264
429
173
515
132
566
534
864
405
921
181
21
532
224
664
942
117
63
189
2
859
105
576
476
761
924
203
292
986
704
767
34
578
496
1
187
286
559
489
537
902
541
284
437
833
915
362
392
135
119
862
28
845
328
643
68
260
625
948
354
765
641
875
331
898
371
888
641
622
1000
852
643
193
18
916
754
565
839
119
456
40
409
764
724
724
13
458
384
421
606
204
631
778
497
78
510
867
172
865
695
885
334
446
288
335
18
896
687
872
758
993
806
985
342
311
33
808
657
122
382
665
477
103
212
391
820
252
736
91
698
446
323
748
624
836
221
13
279
587
924
591
101
572
866
875
364
237
514
831
559
258
202
745
437
565
267
70
172
994
116
531
457
107
882
612
231
705
227
752
951
189
664
876
965
168
512
388
616
687
197
373
127
19
182
572
234
203
225
619
748
442
30
149
945
1
600
656
754
491
761
373
184
272
416
54
364
258
19
247
832
569
687
540
446
344
117
303
385
490
184
667
251
338
701
809
176
941
299
145
211
260
839
701
974
563
39
741
720
179
263
739
498
153
522
890
77
460
774
672
637
166
588
411
12
347
22
414
456
616
385
975
475
838
171
524
253
980
38
211
616
67
175
486
249
918
780
609
125
639
657
572
688
900
141
603
364
625
632
307
415
68
73
477
958
193
554
800
225
921
108
3
790
54
433
463
529
650
934
939
545
200
15
891
148
202
976
788
262
637
241
917
285
416
870
472
548
62
505
116
962
800
928
793
382
703
421
274
489
793
962
851
699
769
106
592
760
585
78
797
157
223
203
651
426
829
311
567
787
834
153
396
241
830
204
500
434
710
423
667
143
48
697
978
172
779
711
48
861
975
947
482
116
916
346
41
106
749
934
711
314
675
373
856
639
64
962
658
634
837
75
308
771
217
440
787
827
227
898
623
101
369
524
710
197
509
41
142
531
365
513
996
544
914
177
217
870
676
96
24
312
112
68
800
572
306
813
6
114
679
32
507
406
753
352
597
67
872
531
172
118
339
545
709
604
668
348
159
378
500
157
447
691
266
92
953
567
874
865
304
633
523
36
799
197
258
3
2
878
21
509
415
29
774
973
629
517
723
330
33
177
816
402
980
383
427
43
307
753
627
430
215
940
477
910
838
854
572
739
262
387
434
934
358
948
443
173
588
639
667
367
813
941
386
81
243
133
65
468
899
505
273
736
313
611
342
488
789
433
601
439
185
328
619
117
93
106
260
184
265
341
265
887
310
348
740
990
42
820
182
269
286
232
614
253
645
547
7
453
471
628
383
760
288
36
931
38
962
563
7
191
239
944
93
143
626
667
712
256
225
701
752
651
817
277
901
810
402
534
703
599
448
994
244
562
284
316
640
926
447
736
300
251
294
905
416
99
865
600
226
388
807
911
418
323
147
73
426
943
846
57
510
344
352
405
215
576
825
567
246
82
322
174
822
282
969
249
316
569
88
374
332
566
324
207
433
945
16
546
379
506
493
355
111
494
476
775
688
318
490
155
51
954
46
590
791
289
358
255
77
602
524
81
493
188
454
967
849
835
262
765
936
527
530
732
796
253
599
21
331
265
20
32
971
465
407
139
683
847
165
394
809
124
27
270
120
663
879
437
966
914
98
850
619
312
501
118
717
488
74
283
244
270
816
611
609
583
419
944
210
835
2
507
334
820
780
784
360
454
400
228
18
906
627
122
885
804
228
874
395
239
159
384
379
230
669
888
568
152
469
875
541
412
946
242
310
278
261
857
129
374
298
62
117
792
617
509
981
189
988
860
472
488
600
550
190
7
756
811
19
963
710
579
773
253
334
744
614
373
444
448
402
126
953
770
449
505
516
198
39
752
944
735
717
161
466
373
554
598
875
905
520
82
705
758
661
29
822
579
971
903
261
837
746
104
706
539
711
886
730
535
426
982
818
523
283
402
227
30
926
551
938
144
83
422
329
695
586
138
679
930
837
482
306
464
106
429
972
409
808
879
137
186
345
932
819
420
207
79
93
748
752
635
706
71
491
573
908
35
780
689
346
23
522
673
800
19
846
247
608
21
793
985
860
532
678
821
817
855
171
547
594
515
131
760
783
173
864
871
618
811
803
727
234
815
576
378
790
785
28
275
523
610
60
959
288
328
90
896
776
797
501
663
412
54
726
146
851
498
479
728
128
726
261
723
775
928
419
474
615
226
953
589
545
260
784
764
346
605
373
531
425
318
427
48
468
33
921
740
160
535
836
207
498
677
785
299
728
836
215
704
608
830
946
675
533
392
619
768
15
822
52
592
186
400
583
599
250
532
241
886
271
328
975
843
324
535
250
212
725
294
8
810
60
198
391
716
743
518
634
194
103
269
223
37
355
996
766
253
398
759
2
245
42
853
45
723
132
174
253
585
76
29
99
926
420
389
20
141
445
234
510
822
266
724
661
774
520
337
939
997
541
19
233
962
865
640
119
809
23
749
832
390
823
670
677
210
763
503
446
417
780
468
981
941
278
351
165
769
248
497
486
133
372
922
829
86
161
641
264
514
574
224
445
176
37
935
696
735
488
531
949
93
881
980
525
544
551
859
154
401
4
196
717
792
988
858
966
240
116
356
855
525
977
151
189
54
371
62
11
629
284
439
515
95
234
104
308
781
905
899
522
70
332
865
623
693
470
706
760
538
670
206
146
882
435
697
275
925
865
500
751
457
332
511
121
267
292
749
375
661
591
724
729
51
278
951
880
157
716
803
182
755
755
150
86
299
814
924
752
965
994
838
953
862
767
942
270
170
341
645
96
999
561
86
157
603
73
481
106
373
525
161
214
746
789
560
386
741
530
315
483
355
973
990
442
455
386
675
777
120
614
839
851
618
984
396
704
322
52
868
364
905
929
928
265
114
412
347
836
253
701
555
364
261
304
634
957
946
603
494
808
486
655
443
982
800
24
119
633
753
836
972
917
459
777
109
827
129
474
324
872
28
539
558
799
68
583
891
536
539
658
364
163
234
930
631
977
983
853
436
672
241
759
411
233
894
567
529
391
901
276
837
397
736
997
746
427
857
549
263
142
565
78
25
812
718
699
888
917
713
928
142
363
39
540
117
243
486
528
48
607
790
61
631
844
102
663
574
92
145
386
817
547
371
381
826
684
727
121
501
167
847
506
801
658
668
215
149
838
438
958
31
690
86
749
977
495
725
907
314
69
855
275
619
456
459
36
824
702
777
625
313
318
998
419
147
770
517
312
752
634
647
801
58
91
919
930
38
50
158
278
80
533
558
196
418
891
872
671
117
67
656
522
719
383
239
92
741
272
705
276
665
969
711
482
897
397
431
103
499
440
231
145
104
290
948
979
582
822
830
532
442
797
217
869
906
231
52
813
873
445
185
147
679
161
197
993
712
502
199
161
429
901
627
596
271
745
575
607
283
43
624
187
9
512
423
584
361
289
527
256
715
873
100
488
454
14
150
221
534
11
896
136
414
284
707
582
890
127
828
766
928
303
746
489
598
468
641
808
608
479
815
250
721
298
391
560
569
569
859
535
975
905
216
184
921
628
586
314
728
964
164
650
849
690
283
781
897
848
185
523
213
410
824
798
288
715
654
750
839
115
867
617
195
451
43
828
923
977
457
907
285
805
592
7
232
255
550
354
90
294
108
413
26
823
176
351
653
721
242
246
870
436
234
545
117
363
864
444
770
441
164
277
322
193
402
448
305
894
981
158
704
695
253
981
678
283
398
325
47
113
627
968
871
324
51
128
891
212
445
1000
316
523
34
284
642
892
148
992
774
480
264
756
694
221
539
910
334
119
381
874
101
737
4
736
712
327
201
486
614
91
746
50
282
679
946
131
118
357
879
873
503
240
732
534
788
611
508
681
682
620
73
911
498
590
146
709
236
759
375
885
292
521
91
966
885
139
657
6
968
461
620
589
450
388
997
158
76
712
121
434
185
473
437
374
875
162
514
50
816
952
331
822
58
616
587
434
710
972
380
980
287
464
105
203
855
1000
840
286
850
258
798
83
578
460
642
752
979
42
609
861
165
761
407
350
637
493
794
190
828
407
607
151
823
241
756
898
672
149
350
518
696
913
716
683
613
396
520
853
67
759
582
355
397
321
285
673
62
933
639
10
170
395
186
42
7
755
917
776
251
283
306
614
835
551
350
40
56
325
265
823
562
888
90
286
336
49
6
967
639
290
593
947
152
432
642
241
231
777
334
910
278
853
823
944
714
800
268
579
938
960
380
419
956
393
401
623
73
902
227
473
165
656
84
824
542
623
758
304
373
866
886
647
955
195
232
198
845
818
174
455
47
378
883
530
961
229
751
479
780
878
739
824
391
271
166
971
585
1
395
894
582
584
567
161
437
661
221
346
897
340
205
921
679
959
749
944
918
190
951
286
768
775
227
627
740
182
442
216
375
91
573
181
300
979
719
248
517
995
225
846
39
955
471
937
631
580
619
373
441
5
242
222
793
194
282
304
271
156
229
121
478
733
789
485
544
303
511
388
557
966
60
99
526
647
850
41
452
59
744
719
329
690
405
890
621
791
666
164
899
842
979
474
799
146
597
172
433
984
671
38
677
248
812
161
543
581
35
457
939
844
187
598
716
147
111
241
835
788
824
746
853
177
946
28
712
243
434
799
964
857
469
188
188
548
975
695
299
137
824
462
883
958
276
109
474
8
535
755
893
723
647
395
401
57
109
489
425
205
691
511
47
630
947
163
274
987
837
188
358
198
666
3
66
191
299
854
867
739
207
864
441
458
481
98
808
236
337
758
607
292
42
687
777
612
401
672
931
729
121
401
241
685
454
555
509
541
457
210
452
985
122
629
870
431
396
569
556
498
807
415
255
913
17
832
963
684
111
112
149
862
871
79
259
344
570
240
970
909
66
849
236
171
92
672
126
161
693
576
810
60
679
464
823
945
827
726
909
525
324
120
344
529
587
912
609
781
178
191
689
38
3
507
79
347
357
346
770
8
672
531
132
239
8
320
587
297
443
818
443
86
488
374
51
304
618
739
710
750
768
163
385
708
410
6
342
293
439
163
290
170
638
318
449
360
918
46
272
729
915
872
190
309
727
642
847
826
796
11
798
686
952
401
506
177
642
526
800
862
250
477
653
944
170
377
264
916
18
846
922
921
952
861
106
106
577
90
546
676
325
494
764
495
503
753
722
874
468
123
783
579
447
403
125
230
632
39
128
983
71
803
21
788
746
114
253
581
968
829
628
507
915
227
246
589
656
32
675
343
522
497
591
493
37
996
323
281
932
108
354
879
917
866
868
47
46
714
828
502
452
716
924
428
179
735
971
168
645
636
977
430
1000
22
141
273
240
681
525
715
540
692
978
74
635
92
198
38
486
138
444
26
688
411
551
628
259
483
342
762
502
403
452
732
613
4
870
557
585
927
234
764
747
289
983
353
968
136
51
787
155
155
652
672
169
673
99
260
722
585
286
15
98
736
638
286
790
212
891
553
277
171
983
784
180
119
758
226
990
985
898
326
428
974
726
547
210
915
62
569
696
761
334
718
437
958
534
511
119
642
395
883
797
3
400
5
563
706
817
591
24
955
14
260
38
636
690
815
173
6
523
273
255
548
973
102
203
934
593
402
58
542
306
686
760
583
509
538
730
712
764
641
810
923
94
584
402
660
591
424
953
321
93
190
59
754
229
367
550
928
972
970
878
677
180
963
21
325
299
632
890
20
509
31
929
821
132
750
196
941
34
81
706
43
88
124
241
170
512
471
150
723
30
938
866
857
363
180
34
821
526
175
134
66
733
284
465
373
536
985
179
893
956
472
833
715
971
987
546
523
706
169
482
982
72
681
773
700
393
112
455
17
779
451
206
423
608
454
929
85
510
860
272
846
659
736
209
43
32
187
716
690
507
293
380
865
350
416
519
658
651
944
999
641
783
145
507
634
755
39
428
484
663
104
879
688
81
193
669
948
323
250
129
152
19
295
826
888
305
652
136
283
268
622
551
880
965
599
366
296
467
139
79
608
895
672
463
768
331
311
733
863
846
707
690
703
589
26
993
44
70
872
976
752
275
446
515
304
257
312
544
389
171
868
684
744
506
66
373
34
465
935
592
292
983
218
961
407
904
780
540
164
211
485
154
634
8
923
427
48
163
700
6
864
145
16
645
419
579
897
920
430
513
759
341
606
182
955
558
809
324
572
155
529
729
13
255
913
761
864
807
235
63
101
924
474
485
962
134
638
596
708
697
547
759
48
452
97
895
233
781
390
483
681
348
738
305
534
278
256
692
733
267
651
773
25
949
856
318
830
512
371
309
37
160
511
270
615
517
281
757
387
505
276
120
431
499
822
796
375
840
537
969
246
869
677
356
664
716
863
270
905
1000
299
868
736
450
133
670
41
220
445
25
902
318
197
175
232
148
605
985
56
625
603
183
218
730
461
184
644
613
153
181
289
593
794
187
539
469
303
175
151
572
456
260
796
909
692
131
860
539
321
575
479
85
299
991
664
878
349
242
30
788
14
71
820
234
169
571
878
205
637
866
737
396
807
262
247
704
571
599
1
418
478
438
372
389
734
31
146
358
557
692
583
416
452
356
226
231
155
583
951
309
370
219
530
50
921
257
473
754
621
165
28
72
972
112
983
623
806
63
373
591
102
680
262
210
525
313
537
924
653
170
40
916
504
884
427
418
702
328
865
873
563
478
46
625
451
545
21
242
969
382
47
979
977
397
982
183
921
799
751
607
713
36
79
725
201
713
962
133
336
102
361
27
263
592
171
583
929
98
847
768
258
467
965
759
575
390
615
662
795
210
739
697
778
257
467
321
433
37
32
65
347
682
84
971
185
552
72
626
651
787
917
744
551
884
365
114
373
117
250
551
850
706
411
149
173
163
142
751
870
196
866
49
893
835
212
134
105
244
751
655
206
782
478
929
100
441
527
527
851
761
693
841
673
667
125
129
844
453
892
349
34
317
254
865
321
425
117
761
65
478
585
80
894
154
506
751
294
591
617
386
673
288
224
376
315
417
345
932
347
567
930
813
688
341
18
475
970
97
740
299
583
330
608
371
337
872
898
7
682
84
794
844
112
754
601
864
123
186
560
150
86
314
701
528
485
304
736
499
217
211
222
32
108
738
51
848
344
48
919
814
245
872
548
922
730
872
318
140
827
327
439
91
806
738
959
142
862
862
715
950
786
29
783
973
733
335
122
725
28
439
890
808
913
261
309
869
299
811
106
678
870
779
241
450
327
243
79
390
187
72
215
212
296
148
853
1000
149
547
50
406
167
191
132
593
338
315
287
763
984
265
689
356
994
786
482
223
539
963
628
173
151
419
924
274
62
185
454
242
852
929
365
25
820
833
160
445
916
510
578
375
765
758
790
465
67
864
841
884
634
389
177
877
420
94
680
211
149
710
823
718
607
757
436
245
189
530
122
259
52
635
505
269
115
204
385
976
172
12
325
795
605
233
374
956
522
524
445
917
671
432
300
228
150
872
258
298
737
578
493
749
687
948
224
159
930
716
208
47
940
181
676
882
977
558
260
749
1000
149
529
82
348
635
453
484
148
766
488
282
550
147
20
901
65
579
569
522
701
668
507
794
128
990
35
548
798
145
831
562
805
450
63
428
300
859
459
502
408
925
728
701
949
285
908
670
751
180
149
444
943
2
45
294
457
691
854
850
880
117
866
988
938
229
723
188
106
840
734
241
334
421
68
264
361
159
270
933
910
833
700
738
873
790
360
856
690
385
54
908
291
812
983
486
350
135
704
837
102
686
813
486
635
750
864
924
425
556
813
686
816
201
682
289
333
40
268
528
971
487
436
581
86
903
964
204
88
443
944
76
932
321
480
989
284
925
781
175
363
629
785
499
634
929
129
670
971
759
616
864
404
444
348
385
303
771
321
56
686
86
596
62
353
164
147
858
724
818
73
595
589
893
164
210
432
304
743
992
666
263
288
933
887
699
589
659
202
126
109
45
815
927
751
888
284
64
485
190
329
747
125
640
579
472
103
881
454
149
251
13
203
732
462
583
194
905
574
988
751
882
1000
840
173
292
418
318
111
486
305
963
108
319
236
689
978
599
619
994
643
986
994
497
203
23
112
955
312
396
744
866
366
276
596
599
639
746
737
764
233
947
682
171
667
521
655
336
973
359
541
904
410
433
785
815
298
731
763
246
17
900
227
623
904
242
998
49
660
123
462
521
869
694
344
215
414
62
866
934
898
689
697
538
650
858
999
805
556
495
500
718
713
501
751
586
897
31
621
803
902
802
681
246
110
648
294
536
21
961
130
392
106
624
357
343
23
284
928
877
163
559
217
963
515
863
801
505
43
85
265
945
142
240
789
694
214
580
694
506
125
388
262
216
78
794
930
491
462
544
376
372
343
583
126
418
576
689
36
215
950
160
431
847
417
743
712
691
168
552
993
566
293
759
676
803
790
171
900
327
953
677
510
165
541
700
508
124
677
438
945
562
117
695
887
249
415
501
381
375
481
597
310
610
229
71
666
986
328
67
23
66
551
592
958
522
845
828
724
741
55
296
759
565
179
435
486
582
126
863
456
670
239
657
59
629
225
497
942
828
749
381
768
749
653
961
155
210
666
227
465
809
491
383
616
840
395
305
237
545
734
867
301
22
409
765
833
592
880
225
420
665
197
92
9
437
515
381
945
850
662
313
256
261
638
228
967
269
386
531
615
926
760
15
202
379
387
480
531
588
49
551
252
401
268
15
967
669
27
770
430
523
918
711
217
189
606
476
240
914
128
9
134
685
465
307
848
420
801
573
741
211
54
215
120
51
625
787
405
152
728
24
65
629
369
570
60
850
794
863
751
190
184
934
165
271
489
514
49
41
563
962
366
201
146
997
766
538
859
124
66
722
83
923
9
992
481
120
350
937
978
423
864
286
201
665
999
200
749
708
713
84
174
892
509
328
205
556
778
729
604
311
368
535
998
278
724
216
174
484
9
84
637
960
405
828
645
850
167
885
584
41
69
318
268
375
597
533
705
519
631
739
906
954
349
524
594
338
824
293
1
735
66
633
539
762
317
801
792
801
8
702
150
775
137
671
422
873
765
313
918
825
969
469
830
972
853
94
224
445
169
459
572
204
668
647
575
565
579
720
965
109
486
324
68
555
459
712
202
231
485
360
374
313
143
401
331
850
979
77
750
933
222
299
236
47
332
169
842
772
360
45
26
525
255
291
316
943
65
382
468
862
445
450
569
564
996
641
362
131
767
929
54
285
639
104
2
45
449
740
973
916
436
854
113
72
979
836
377
193
702
975
924
183
678
576
922
993
900
215
244
166
147
179
817
533
123
479
719
670
42
157
724
377
847
758
633
426
900
962
633
281
303
370
921
299
948
342
982
187
42
614
277
110
126
133
535
915
522
197
503
393
768
487
804
349
810
71
494
534
652
766
13
182
716
513
508
937
369
598
889
500
959
582
604
168
233
824
792
776
176
309
412
244
174
332
961
53
880
233
603
486
332
12
885
398
674
146
733
630
295
323
80
889
326
167
327
96
211
206
777
721
516
496
372
618
202
339
310
207
361
472
599
637
815
962
204
739
19
792
197
153
446
772
248
8
990
11
870
943
959
613
59
21
914
679
359
341
942
963
922
736
965
728
844
981
322
445
906
350
176
983
854
207
287
856
548
548
260
895
594
52
726
453
604
263
779
874
819
973
641
482
652
743
729
823
664
770
237
185
554
985
877
745
63
354
657
783
57
827
438
532
661
303
550
161
47
255
910
297
348
373
954
257
227
724
169
873
835
389
178
378
236
544
136
326
891
200
653
945
482
633
608
612
148
616
953
397
212
178
89
724
620
505
451
244
574
29
696
964
327
478
308
512
705
844
467
180
662
833
757
56
118
311
671
96
412
693
883
499
884
994
935
95
563
499
370
762
404
587
275
69
287
299
908
448
781
649
366
197
760
502
216
539
54
110
636
759
702
15
906
180
826
91
999
370
781
959
625
500
51
861
336
215
283
367
189
741
992
952
28
184
685
557
672
166
633
766
146
987
28
94
649
482
54
196
114
637
241
526
56
780
545
72
937
903
794
314
365
218
469
498
323
599
347
631
42
941
159
351
274
814
270
965
492
973
354
518
993
467
187
684
941
76
953
662
175
779
942
14
968
802
96
565
20
529
623
75
650
243
857
355
555
224
544
935
510
198
55
161
79
524
329
822
742
767
959
10
842
548
492
956
415
585
901
994
261
924
159
642
602
209
77
35
271
690
819
580
664
381
46
772
643
414
261
542
118
160
696
396
345
149
83
866
824
158
704
464
282
79
418
424
421
377
758
1
989
970
777
993
248
372
52
444
131
800
141
218
176
743
832
220
860
171
718
578
84
182
13
21
389
361
986
31
924
567
130
59
348
149
930
279
577
849
148
872
765
754
620
810
975
706
900
467
745
521
509
155
173
215
165
859
182
198
120
33
351
26
674
300
92
936
984
304
931
769
536
754
391
362
13
916
283
697
882
419
202
342
661
264
722
788
729
345
27
300
552
639
749
810
332
442
359
205
453
691
746
68
559
446
576
584
732
89
580
839
45
628
189
188
710
796
834
728
144
299
780
152
542
633
598
424
963
421
215
790
521
67
60
608
978
865
959
359
958
393
318
992
17
124
579
436
19
740
152
734
620
522
763
738
175
561
692
709
53
231
443
529
161
560
201
381
488
642
849
961
572
213
416
264
128
888
571
958
510
300
176
204
279
575
983
522
919
161
270
982
668
16
576
560
495
550
732
960
490
523
70
606
326
312
25
775
987
562
354
41
660
276
830
308
557
806
609
685
422
52
394
419
669
408
185
859
409
657
644
193
110
27
68
307
277
147
528
669
318
417
15
554
732
676
281
312
840
629
695
601
564
665
579
698
165
124
413
42
420
997
795
160
473
347
249
983
457
422
795
378
44
572
701
367
273
596
3
159
369
53
155
573
763
432
677
883
224
798
765
403
788
676
605
370
221
501
588
815
804
901
687
133
614
454
33
21
847
338
98
287
379
459
983
810
522
216
1000
564
826
79
141
208
880
535
999
211
282
741
468
849
337
468
815
729
596
517
762
647
27
783
862
709
499
629
729
660
233
995
707
241
79
970
123
245
784
151
598
652
894
198
788
857
584
435
540
535
500
209
685
133
635
14
600
336
394
24
224
95
227
804
426
968
670
416
510
609
176
80
161
190
875
796
304
441
258
99
231
757
866
185
801
546
228
184
698
555
662
314
551
437
80
911
142
234
576
149
108
754
432
356
278
55
140
394
231
389
182
560
770
953
599
774
727
799
840
646
938
49
980
153
269
343
160
256
321
106
22
776
761
781
990
239
313
656
476
199
92
284
470
771
304
794
546
697
359
569
971
318
62
876
498
210
889
34
430
135
294
612
688
120
639
988
971
211
595
282
558
413
814
358
949
852
252
77
335
29
778
469
825
306
598
796
486
448
595
778
502
133
884
383
169
813
778
656
36
224
863
54
224
139
82
598
840
651
561
989
453
416
416
465
800
779
918
841
229
648
217
624
937
312
285
538
680
133
859
102
505
194
955
122
993
533
930
106
681
551
207
615
584
544
465
543
229
91
561
144
173
193
459
377
795
642
196
823
17
99
251
964
719
752
751
121
836
211
598
702
506
531
956
707
187
849
541
632
365
149
799
12
318
92
369
835
441
686
198
997
762
810
291
752
655
240
369
864
196
895
623
781
273
473
361
693
333
488
589
771
624
39
454
253
868
260
62
268
593
538
384
472
744
35
826
639
790
954
603
297
259
325
192
421
536
726
25
940
785
554
51
527
74
896
965
752
123
46
697
150
626
4
239
200
746
54
995
504
216
650
618
697
475
404
741
738
378
912
100
268
335
538
274
666
171
28
708
292
624
12
697
141
123
35
772
809
461
750
267
228
3
281
890
124
327
610
800
493
582
987
43
711
380
50
170
69
754
287
560
633
552
961
226
318
675
419
892
991
703
950
726
237
815
1
401
120
354
640
97
949
62
550
624
531
765
780
129
905
277
688
718
837
371
214
910
655
936
708
41
145
863
13
607
295
772
409
80
659
420
322
900
975
538
402
177
481
855
719
178
47
304
289
765
840
722
141
812
756
923
405
73
255
619
675
85
552
566
47
497
348
231
761
621
405
460
359
108
315
878
618
398
741
246
303
992
282
575
937
656
839
568
400
382
37
891
137
307
831
824
147
801
876
115
749
664
646
193
306
647
554
501
713
576
526
352
480
958
578
615
650
297
960
520
654
287
320
51
406
681
177
725
627
918
715
30
412
520
529
433
511
855
498
665
681
123
402
944
720
313
244
896
463
451
503
196
132
656
689
382
885
412
652
860
341
990
73
847
119
121
421
892
183
879
487
670
863
233
251
912
951
865
476
732
216
664
907
83
988
787
368
784
219
286
375
350
573
68
86
859
630
432
576
221
283
453
414
505
727
295
503
449
251
895
969
842
192
536
645
290
2
544
361
732
378
707
817
208
784
55
279
563
503
307
748
188
579
661
490
435
582
552
58
41
216
724
998
750
139
196
463
350
262
727
839
485
4
987
346
953
612
897
257
669
748
583
42
104
961
931
254
829
550
14
451
708
587
535
739
425
551
25
852
272
100
711
774
545
998
874
22
478
117
26
661
379
726
427
21
502
1000
301
838
246
774
618
275
491
116
435
846
180
196
630
789
842
275
320
835
362
365
348
638
159
278
56
366
905
306
940
68
58
752
915
478
769
889
641
848
195
695
774
276
818
896
67
711
175
408
958
516
296
298
647
16
223
741
718
929
237
268
3
985
774
825
784
276
584
736
359
133
372
724
716
366
23
550
316
750
516
669
992
532
819
528
563
550
361
814
58
295
168
954
375
852
405
683
786
215
818
329
960
903
567
733
50
153
11
420
1
213
294
707
377
449
982
906
969
1
591
718
879
742
559
173
40
137
127
209
925
421
618
70
701
168
802
255
264
955
422
653
368
315
420
841
541
580
113
249
612
541
376
79
430
82
865
357
812
47
476
513
834
674
485
213
327
833
319
948
857
194
468
62
508
160
845
487
511
115
783
431
146
44
983
681
353
114
904
957
176
140
516
990
529
174
860
584
724
629
566
969
909
469
326
154
827
971
353
848
294
514
9
719
420
634
103
456
871
321
873
105
392
176
267
635
415
549
953
544
834
272
440
590
899
885
784
409
775
571
621
848
507
142
713
370
9
476
709
739
234
823
625
511
839
225
386
596
542
124
827
203
816
888
774
79
769
625
137
805
813
120
517
313
257
157
435
469
9
822
177
757
409
573
187
618
621
28
89
987
108
425
732
892
459
677
73
813
245
779
336
602
644
89
651
410
273
651
282
17
64
304
645
382
22
813
527
8
406
598
331
947
214
952
689
871
837
837
512
657
405
413
376
366
681
496
177
329
281
30
143
277
659
477
629
127
553
770
582
51
532
77
231
952
871
183
319
302
226
731
166
582
491
901
948
248
773
386
848
218
638
661
146
362
652
615
887
390
778
606
519
811
354
845
749
370
251
842
931
460
264
305
505
539
982
496
331
513
179
563
314
368
209
753
362
76
61
754
535
954
457
620
266
199
841
875
613
272
197
409
852
200
359
757
131
581
909
157
539
320
790
570
676
649
501
497
768
5
103
984
410
736
282
700
274
376
424
340
497
495
972
883
8
674
356
457
768
233
423
622
716
745
604
923
285
189
37
455
452
859
474
996
682
776
67
18
541
407
98
468
444
948
269
796
764
296
441
115
500
118
610
736
784
66
449
591
797
316
993
195
73
59
893
876
722
494
190
984
882
163
768
651
547
170
463
476
1000
958
308
202
264
825
563
25
332
287
957
726
474
738
71
180
566
583
881
145
215
182
286
446
451
476
850
798
874
146
118
557
447
495
567
615
583
32
695
520
768
917
788
647
734
978
633
907
104
54
803
58
523
748
188
139
510
539
115
946
645
360
739
743
269
402
406
600
561
882
308
835
714
999
102
70
955
60
79
293
301
80
147
144
300
721
123
385
448
564
793
110
658
110
780
823
898
799
501
920
119
600
412
489
646
388
284
591
524
443
480
311
677
847
70
1
357
491
150
44
55
682
919
398
965
60
896
931
116
648
182
270
487
365
791
484
796
280
918
414
141
204
453
884
358
959
173
342
776
811
855
716
40
98
931
359
803
60
450
57
385
217
836
952
939
438
317
128
293
989
10
337
373
475
294
14
41
528
547
288
273
539
293
187
801
493
519
595
766
195
267
816
435
798
574
791
787
528
526
111
562
977
460
980
448
126
359
178
196
515
53
908
814
641
179
132
451
678
727
614
232
104
639
454
94
669
143
302
616
416
425
831
966
131
789
267
315
700
690
959
529
322
860
19
477
433
333
64
79
498
297
941
46
532
580
115
373
316
82
113
779
828
567
967
704
291
111
159
942
599
898
938
687
632
231
227
571
80
371
538
278
984
268
467
437
143
331
351
794
892
135
631
128
557
366
308
956
29
355
634
868
515
293
831
218
500
560
219
993
344
645
594
915
757
828
65
203
580
113
887
982
938
918
962
10
833
664
825
278
679
741
920
5
119
262
874
777
694
656
313
848
581
440
463
147
681
411
438
134
774
137
633
488
346
819
80
506
946
547
995
248
611
503
973
689
991
899
465
585
284
283
245
313
985
412
515
695
766
45
229
688
502
853
943
879
577
170
246
915
122
416
382
361
765
862
213
983
809
887
47
137
487
940
215
747
90
286
462
365
324
949
380
921
200
456
136
68
124
652
675
498
638
301
455
175
424
251
502
230
780
625
251
161
752
905
186
60
511
790
802
817
369
386
732
660
20
646
250
899
231
956
460
466
199
431
669
706
245
786
379
849
327
610
277
824
107
513
421
323
949
856
524
584
270
760
888
934
137
627
59
977
854
698
734
220
559
50
787
74
538
992
535
395
22
68
538
191
745
698
279
638
430
57
61
346
659
960
316
646
317
362
336
754
883
577
94
838
393
483
455
398
792
777
553
854
771
831
546
933
867
778
263
246
806
300
480
449
578
966
704
504
716
84
364
860
605
787
270
816
418
455
30
943
456
654
881
198
250
466
46
285
773
487
307
894
504
772
945
674
888
694
572
194
949
44
700
687
418
677
40
57
768
661
654
513
965
214
71
185
587
659
409
255
202
269
327
451
518
127
406
260
918
92
121
811
392
519
186
223
798
665
403
111
611
578
575
98
18
852
255
415
299
844
266
80
923
806
10
770
661
933
556
173
371
494
348
532
747
66
216
131
517
397
995
661
27
536
730
771
109
740
879
624
474
79
397
934
575
809
859
802
59
362
29
626
476
215
394
544
849
30
241
88
107
157
761
268
126
33
564
829
305
48
683
244
209
179
869
891
761
53
488
961
899
131
850
853
393
401
156
221
726
293
539
362
575
533
871
355
420
307
106
194
271
423
934
199
290
99
424
124
384
662
166
739
426
699
137
123
863
128
142
551
909
284
225
650
369
320
890
447
449
147
299
54
551
706
908
960
132
555
115
372
243
648
610
571
190
706
48
18
116
749
575
814
990
232
513
157
596
690
197
665
650
965
568
761
96
911
616
845
959
912
194
641
869
693
29
944
543
664
984
947
19
492
755
504
435
670
229
932
486
597
656
459
476
112
651
977
43
446
795
571
240
313
253
168
620
189
419
769
389
904
37
922
484
315
659
511
639
191
575
450
109
441
531
599
776
444
672
67
742
588
130
58
376
53
607
624
17
521
106
988
173
764
693
573
119
994
802
546
239
454
139
443
337
978
657
419
410
144
464
746
34
206
741
475
631
216
934
576
341
607
539
446
139
35
779
424
131
482
343
816
672
436
161
988
68
482
859
300
125
782
148
975
780
732
912
550
317
550
163
190
468
678
337
995
817
649
665
410
480
501
438
954
987
939
45
834
681
155
623
411
675
640
958
106
642
390
76
115
232
598
611
194
963
323
579
870
778
626
716
648
283
393
850
192
900
345
117
990
761
787
9
701
194
272
312
277
104
666
41
910
340
82
371
86
422
764
352
293
626
263
988
458
466
218
805
792
108
618
646
553
60
673
828
135
818
330
141
57
760
32
476
636
709
527
949
587
58
404
542
345
246
579
180
634
670
104
96
719
845
565
100
797
715
766
52
185
558
622
465
344
834
920
639
254
693
141
155
353
546
604
879
73
303
5
836
963
399
845
444
570
695
333
659
501
713
95
491
569
418
438
214
510
964
948
361
541
371
952
233
934
113
722
231
862
988
328
793
998
429
747
98
749
650
169
984
535
605
421
708
239
774
110
306
792
226
387
278
886
225
180
259
977
879
402
146
43
13
882
881
76
458
731
699
895
419
427
222
691
475
151
188
622
989
836
973
943
416
892
309
348
79
870
769
690
445
105
652
761
863
993
877
589
10
679
379
561
986
814
272
767
155
500
756
109
290
741
333
126
576
474
390
952
284
774
654
545
738
900
291
88
288
667
699
505
590
33
123
135
426
905
299
900
688
899
251
793
889
199
219
57
772
717
457
246
149
475
293
240
99
497
424
385
52
538
862
141
84
643
373
21
956
891
496
150
48
658
439
460
351
400
252
406
124
263
671
98
629
774
945
903
625
534
766
921
930
55
174
177
416
869
885
66
252
588
93
331
104
877
183
826
225
166
165
435
86
525
909
750
259
316
380
555
760
114
185
733
958
928
688
933
447
923
834
235
2
689
626
94
833
607
866
29
905
16
382
901
968
667
486
122
336
467
774
814
134
588
744
744
924
819
903
886
135
476
174
537
722
270
445
262
793
263
55
365
760
489
839
194
720
825
144
360
356
453
843
852
657
597
995
123
119
283
213
443
930
500
240
206
811
545
479
413
830
280
424
281
505
708
63
740
959
584
277
638
700
728
231
608
856
353
525
902
335
964
608
959
434
369
609
121
863
872
245
710
50
29
920
612
820
196
493
642
248
694
418
213
565
615
149
243
469
175
746
842
110
35
622
8
300
207
202
491
223
5
117
987
33
978
183
69
223
948
60
577
619
54
968
724
149
178
258
847
285
280
943
541
225
889
536
905
389
490
643
773
804
601
834
81
299
99
215
983
196
744
8
939
361
926
177
743
88
355
815
398
233
814
566
805
452
85
827
475
170
889
865
857
136
976
263
414
23
534
299
287
550
718
971
238
38
416
374
582
139
340
53
973
726
140
773
259
551
537
869
74
376
372
968
486
686
106
415
829
2
503
168
764
55
175
300
746
776
193
454
337
117
206
822
199
248
376
225
212
515
959
881
859
905
554
322
936
410
886
702
669
869
467
424
527
306
661
633
386
785
465
603
196
74
795
479
969
198
178
133
770
73
555
129
312
974
292
926
945
567
632
456
113
561
536
206
766
847
274
726
887
141
201
284
987
738
838
20
395
981
778
544
203
428
964
377
3
526
535
12
884
777
838
686
757
34
134
110
733
543
240
526
171
812
607
466
985
198
340
471
15
345
270
895
555
263
449
585
619
876
425
907
189
330
179
97
450
229
910
357
984
204
723
494
3
940
845
105
954
837
211
528
258
977
144
799
514
983
343
860
229
620
641
133
34
747
767
345
373
287
895
215
864
454
897
183
887
364
12
880
460
514
143
440
143
339
77
91
520
210
740
658
805
787
4
766
261
587
656
556
376
15
917
662
251
855
260
63
209
402
363
167
416
4
739
150
244
762
963
125
133
539
436
230
997
242
318
44
554
510
595
88
557
602
260
312
543
278
204
594
632
880
779
278
884
681
897
680
893
785
205
315
650
525
122
327
145
339
474
220
868
584
38
538
98
586
577
577
895
526
832
553
747
406
498
936
130
446
437
772
643
748
246
929
960
935
829
147
560
825
799
672
104
846
391
14
348
68
50
92
715
206
24
611
962
902
83
12
921
924
981
774
970
631
359
133
669
246
616
537
36
992
650
258
36
112
524
637
153
180
802
380
396
850
755
153
649
384
650
502
84
886
83
777
238
144
681
288
457
390
516
443
624
83
268
921
489
33
521
314
443
798
555
773
308
288
663
358
544
984
337
761
299
942
611
2
900
71
500
490
694
750
726
606
653
941
872
548
766
410
690
743
62
508
547
579
38
271
867
522
386
233
32
984
158
472
374
441
962
859
791
364
308
411
53
520
998
919
10
74
321
748
812
681
852
827
686
504
881
340
31
634
818
591
345
937
463
810
2
744
687
455
1
111
893
653
600
627
605
24
160
841
691
70
649
453
987
661
967
317
574
952
685
200
529
219
830
938
777
683
78
351
555
406
87
801
77
701
714
766
255
331
572
203
669
976
699
715
556
27
132
773
289
848
792
320
650
12
460
90
230
890
518
889
468
191
802
914
136
719
178
878
592
628
373
382
732
948
202
469
391
15
577
777
873
679
563
12
402
879
354
760
567
238
197
802
215
815
229
139
859
62
649
952
386
321
913
573
718
917
392
326
159
8
519
811
333
875
527
786
989
265
742
315
451
731
834
242
170
653
569
412
660
767
357
228
61
591
363
307
754
65
2
14
687
142
403
592
581
770
847
474
743
935
198
97
13
998
118
206
261
533
176
215
942
306
39
644
458
794
567
50
428
891
22
146
549
27
565
1
418
970
887
298
522
1000
109
660
659
983
89
925
167
87
846
119
716
576
140
540
862
115
134
61
222
516
701
229
900
710
143
245
777
978
30
202
354
195
397
248
115
875
769
500
785
333
350
574
459
155
251
607
269
471
796
503
185
246
804
931
553
892
235
282
210
68
747
421
333
408
498
529
733
296
41
791
933
520
218
959
232
791
799
83
906
667
996
794
859
377
114
586
321
393
318
484
629
402
911
313
763
459
580
575
42
736
779
551
310
219
784
870
45
153
996
211
3
795
745
217
460
260
190
968
591
869
899
558
292
404
366
429
556
127
20
93
549
233
228
822
703
661
460
670
467
829
24
932
816
889
719
774
300
608
371
291
164
777
434
718
49
387
748
839
876
429
127
906
791
312
632
562
446
333
284
277
495
570
485
840
890
832
603
294
466
54
29
483
333
591
485
101
821
415
544
708
34
147
115
689
638
168
119
542
127
813
698
212
666
788
86
379
589
501
695
789
748
963
76
690
221
266
134
434
350
435
418
123
636
610
327
943
843
101
824
479
545
864
586
891
420
306
586
295
859
181
753
61
812
491
718
45
359
958
641
958
181
644
772
166
974
718
710
234
844
201
275
422
923
773
562
170
718
350
987
336
252
209
91
557
633
894
459
677
522
986
356
593
905
111
569
237
676
222
534
667
817
280
18
394
359
947
506
140
902
801
978
202
195
882
932
477
163
88
360
975
810
50
884
359
644
651
396
634
601
254
373
625
977
59
500
280
540
745
346
166
812
689
623
744
513
611
3
129
266
458
538
100
984
695
490
44
796
947
781
376
981
103
321
745
129
603
200
959
695
577
101
188
149
940
309
417
196
319
387
537
891
918
925
749
47
29
765
122
22
918
767
279
820
243
472
150
471
3
4
697
808
241
161
259
92
376
935
977
423
102
618
296
497
222
270
165
75
687
532
926
480
348
719
277
538
614
639
935
646
314
839
782
72
512
826
343
156
959
353
433
829
126
32
680
735
520
398
405
306
48
15
61
325
752
401
3
867
148
329
892
41
735
551
415
598
988
92
355
314
288
65
248
28
783
365
997
369
172
710
846
466
699
242
76
437
502
288
613
996
549
970
497
343
49
38
843
377
178
687
460
355
348
162
788
384
95
601
196
456
802
942
953
358
154
711
387
419
196
135
856
967
319
379
135
338
304
623
749
479
839
356
611
504
509
518
20
29
366
72
724
774
615
167
288
689
816
299
436
830
283
794
408
321
38
489
590
961
748
694
892
520
576
399
350
278
765
229
467
135
84
807
631
495
950
52
775
158
197
425
121
680
932
281
438
992
893
322
770
604
13
573
990
368
672
456
845
610
242
311
405
436
78
127
927
115
92
361
213
789
379
459
456
162
157
95
440
453
455
213
690
661
552
653
861
95
190
542
188
207
935
638
314
993
918
498
192
627
332
711
37
510
734
385
497
649
188
784
304
112
707
283
703
333
323
777
811
194
302
338
938
164
713
135
576
223
570
628
424
953
276
576
331
988
890
710
504
928
91
763
646
960
324
162
985
679
720
866
269
29
891
719
914
833
559
224
431
161
300
814
155
616
405
544
92
715
940
627
367
692
644
379
377
459
198
966
260
920
762
800
676
549
385
548
242
933
75
509
170
987
824
542
802
671
883
820
741
335
918
428
269
278
456
233
532
697
223
515
789
988
525
547
625
243
847
708
644
915
220
727
591
793
715
338
273
877
621
981
887
233
507
158
609
655
340
744
345
777
315
812
594
326
828
543
244
348
322
388
986
577
317
934
696
605
55
863
827
127
580
980
339
364
8
534
169
666
936
967
575
463
695
763
945
946
168
324
839
308
422
622
72
930
291
951
642
650
337
262
178
125
336
404
369
338
556
103
534
516
581
660
77
79
419
154
89
726
901
404
776
482
171
71
685
308
172
53
941
884
621
765
851
311
887
976
225
751
584
651
760
512
433
603
632
652
151
870
232
962
681
403
625
101
91
63
882
735
838
917
911
755
934
533
789
37
712
311
892
771
540
868
292
49
841
165
20
308
195
373
770
170
142
433
541
476
547
878
540
541
17
806
375
227
928
759
213
999
84
921
108
968
855
257
135
855
972
118
345
916
774
425
770
141
834
719
908
458
338
283
148
221
528
21
612
50
778
16
722
906
625
470
622
400
154
295
273
474
675
711
612
986
555
57
705
239
405
488
221
144
535
317
851
555
785
586
558
279
338
852
653
413
120
276
713
944
726
846
337
10
610
980
549
814
431
801
430
952
38
93
230
836
571
331
744
969
536
192
254
50
546
647
688
295
573
72
946
877
237
818
524
115
617
320
685
877
546
153
417
699
138
393
322
248
587
272
418
148
869
393
548
592
72
701
711
875
518
4
189
715
697
79
764
226
340
303
675
478
575
309
235
875
259
388
160
965
18
219
751
904
450
44
44
504
229
591
909
699
578
891
874
290
679
617
143
57
96
741
873
640
253
127
283
158
295
93
573
150
438
169
952
289
28
995
303
274
118
767
137
464
278
729
511
86
777
946
570
337
999
9
160
257
152
358
770
60
914
669
693
505
644
73
858
958
178
34
295
48
39
398
516
194
98
441
449
822
331
777
695
802
334
606
16
484
710
116
947
726
240
807
339
473
5
123
477
782
296
80
94
652
137
476
296
670
789
890
890
283
384
918
79
427
173
978
850
384
509
606
587
987
787
353
661
703
48
289
777
718
852
623
833
861
313
158
960
101
928
127
151
407
906
444
614
925
256
583
569
826
804
91
720
664
649
191
23
753
300
102
738
917
882
416
903
921
371
372
578
55
731
900
177
612
254
103
187
477
104
209
409
627
299
120
610
117
929
371
142
50
376
692
639
90
739
423
401
321
423
659
417
635
110
407
305
385
891
979
608
730
396
539
6
949
178
4
992
48
424
489
474
98
327
76
607
126
84
3
835
808
545
276
797
904
983
301
272
113
348
405
768
28
593
972
724
945
385
533
546
551
565
320
857
935
223
690
409
949
142
361
68
665
677
541
194
565
836
945
485
162
446
119
68
907
804
689
227
655
145
955
635
419
594
692
393
843
999
180
492
641
190
233
523
223
778
437
602
886
529
918
526
217
756
680
81
832
913
970
309
147
750
196
283
687
4
621
587
304
541
433
286
798
311
833
631
640
229
455
135
873
357
769
922
861
318
127
474
187
949
759
964
921
585
338
409
443
221
691
738
207
34
866
738
151
385
43
533
915
487
695
885
704
362
19
152
406
605
889
176
514
709
487
716
546
403
338
306
872
540
678
572
311
545
963
114
425
344
858
28
163
985
216
29
402
888
424
912
981
741
951
799
1
629
136
189
561
858
5
372
565
309
437
133
948
870
60
37
457
660
74
774
132
292
632
183
761
394
469
627
862
964
259
302
224
907
554
938
616
281
221
95
65
363
29
920
983
620
379
785
557
98
237
737
976
509
963
12
522
514
132
216
54
346
384
917
132
875
28
518
874
709
417
281
669
709
97
272
22
565
319
834
127
714
828
896
274
926
732
85
804
362
885
101
129
753
435
311
293
621
96
815
648
162
296
537
486
461
504
11
869
225
987
648
518
95
709
187
302
926
313
980
778
98
949
474
301
66
215
10
375
859
620
617
306
172
804
1
729
25
206
326
235
707
988
730
154
863
818
707
551
136
533
642
592
730
798
804
767
644
638
65
892
56
96
443
407
563
359
327
277
531
385
909
696
801
458
910
886
422
106
163
501
833
516
989
551
183
916
605
286
42
385
972
191
798
229
612
105
477
318
911
469
520
828
347
902
318
353
893
613
949
733
571
638
595
787
768
543
600
800
446
10
973
821
841
688
418
745
576
787
655
708
379
158
880
557
759
32
680
984
50
146
646
509
210
728
204
615
664
714
906
218
217
573
530
150
817
364
862
461
489
975
960
193
311
16
25
709
681
505
762
802
462
316
238
588
818
334
803
616
651
397
615
710
634
419
643
828
743
498
817
602
37
468
161
302
230
81
335
667
204
936
984
435
218
348
715
407
44
587
294
599
605
287
894
345
12
386
806
228
84
659
80
368
508
737
961
898
828
562
839
437
365
345
650
975
953
467
334
882
149
212
997
666
155
868
867
724
269
541
31
545
98
945
178
750
121
573
271
908
448
889
149
281
781
616
538
515
647
767
864
848
955
789
548
560
793
91
179
238
192
260
74
962
246
474
244
601
601
980
740
293
819
14
643
594
540
201
745
929
665
321
83
755
44
283
56
264
229
301
803
572
953
564
893
60
872
118
140
951
2
323
538
270
34
968
904
37
335
85
773
917
55
552
525
603
211
807
505
849
997
411
101
456
867
700
371
475
112
500
821
572
785
720
377
790
783
654
401
914
855
986
873
285
87
838
477
143
163
647
407
575
313
331
132
676
404
974
274
817
70
226
968
802
140
693
794
255
833
907
423
805
421
820
633
482
52
387
229
314
470
532
705
236
180
644
212
325
456
837
473
824
235
377
852
605
565
57
679
502
763
793
267
441
873
402
823
390
304
341
564
937
762
152
930
760
745
535
727
307
849
212
408
776
148
251
460
893
687
70
50
14
939
156
669
840
711
413
482
353
550
147
514
656
183
931
598
60
904
962
187
96
102
84
803
158
322
348
864
93
340
828
87
406
752
428
493
683
479
598
259
471
402
169
351
134
89
48
868
128
162
91
539
737
443
328
632
566
412
612
846
962
891
908
405
138
97
676
659
942
403
232
7
131
164
553
834
491
999
704
445
388
736
965
725
103
70
793
335
873
633
918
771
657
812
267
584
495
104
902
333
767
282
824
622
793
879
340
711
999
796
645
730
294
914
435
495
400
665
637
284
639
430
813
704
51
507
384
950
811
118
599
362
608
622
76
131
31
622
830
460
24
175
934
228
174
659
336
461
919
157
909
501
771
395
506
786
301
387
659
599
937
934
552
953
601
27
90
39
814
45
198
291
218
344
968
197
337
466
914
411
45
732
380
618
433
436
105
857
664
198
55
678
972
276
887
614
191
832
829
912
43
168
359
390
961
977
752
555
412
471
502
866
509
98
629
99
212
200
107
325
566
589
997
913
229
530
374
333
22
996
821
226
341
430
78
416
55
409
416
31
955
804
446
893
894
999
374
703
523
736
139
288
920
946
514
387
466
721
981
16
56
237
120
452
82
973
339
253
663
92
987
568
292
197
285
159
390
974
56
198
275
420
944
909
690
459
638
567
353
752
673
174
960
419
512
399
685
194
956
998
507
289
412
978
621
841
173
246
798
372
673
331
779
117
624
37
713
453
46
585
202
880
465
848
734
192
975
805
146
535
439
218
303
30
825
845
358
492
560
209
786
613
858
41
911
606
126
77
762
963
959
766
936
449
722
806
590
877
385
176
823
529
109
438
462
308
68
678
738
827
118
382
393
705
221
926
522
247
983
116
866
554
284
403
312
869
716
969
83
605
477
881
475
92
458
897
24
532
464
313
664
50
915
443
784
2
921
957
99
899
303
290
877
402
14
788
401
853
420
96
489
707
48
486
547
68
769
537
857
226
834
568
800
750
845
721
255
218
510
448
679
89
8
409
288
616
867
492
303
893
565
724
439
347
420
353
705
23
975
255
93
977
770
146
929
7
301
754
489
690
8
265
5
434
323
832
297
815
189
889
127
995
942
348
792
414
146
473
624
288
780
399
828
641
156
788
542
747
108
102
59
891
238
300
942
303
518
583
129
951
94
938
213
657
951
856
774
655
968
563
23
255
13
513
58
787
937
678
695
349
693
403
184
194
412
179
135
745
891
726
600
385
861
208
605
105
404
215
349
70
23
404
951
920
255
338
874
400
137
92
101
505
515
687
734
881
961
233
922
651
14
988
938
214
581
161
774
771
576
405
855
541
305
430
326
674
690
54
904
831
136
307
482
320
743
930
482
408
617
713
494
176
219
631
845
846
51
675
593
24
510
602
881
727
372
574
715
352
231
784
6
1000
185
749
168
674
179
868
616
920
751
254
307
407
336
572
819
820
919
827
560
155
564
618
398
197
300
353
376
524
877
334
210
838
179
399
944
825
439
55
485
7
950
592
742
282
687
755
720
890
81
916
271
604
217
576
137
818
897
214
542
38
328
192
910
998
677
449
149
267
376
173
611
726
854
531
16
760
319
777
586
341
326
749
147
446
116
855
221
399
156
120
957
818
853
780
306
797
171
199
26
837
759
590
939
854
238
156
346
238
499
756
702
572
231
161
401
118
384
267
47
567
966
395
661
903
400
945
97
418
609
216
319
69
200
172
345
409
344
300
357
222
449
455
919
916
308
799
270
404
165
495
408
917
70
812
29
745
963
707
425
363
165
733
122
805
330
342
390
405
466
263
744
244
338
653
217
718
397
148
481
666
432
778
882
392
269
936
55
749
196
259
64
151
258
306
977
45
224
385
324
874
782
771
183
34
519
767
525
658
313
809
979
321
35
842
457
922
887
712
887
71
274
213
866
269
823
715
226
59
81
17
341
118
434
200
494
934
21
727
788
329
743
30
899
580
2
90
411
314
473
309
618
661
14
96
448
370
833
118
604
741
148
185
87
231
867
34
48
573
286
94
285
59
387
481
792
422
94
31
443
387
760
209
315
553
231
95
143
728
68
455
94
216
900
132
410
856
408
587
433
779
159
435
197
989
360
284
94
832
606
969
52
361
877
548
313
414
358
60
183
931
135
100
19
697
464
706
368
199
100
965
362
754
128
941
421
395
831
290
856
276
415
934
168
496
802
705
745
336
311
747
148
838
742
765
397
588
295
918
483
295
783
283
834
492
810
306
641
269
923
611
710
438
286
871
32
977
72
149
329
879
596
315
654
777
212
653
535
847
105
751
245
514
432
133
549
445
697
842
644
136
857
394
100
198
425
69
324
53
743
522
409
367
683
74
301
993
261
863
878
585
41
224
870
331
735
294
564
442
137
855
886
137
345
850
751
866
273
851
545
425
594
985
234
430
612
482
859
351
14
40
113
929
107
695
301
333
927
706
205
862
579
269
313
348
243
536
394
661
568
503
645
884
589
807
500
799
862
391
713
285
275
282
510
124
845
428
465
485
876
678
233
50
61
490
425
360
436
878
739
443
638
464
903
196
581
205
133
348
464
547
557
997
51
290
524
892
260
394
778
641
413
358
249
985
948
537
594
102
992
954
700
696
959
758
61
245
276
437
326
394
366
335
335
911
319
775
647
35
997
339
900
309
916
449
359
202
923
409
633
916
554
519
868
758
953
677
697
414
432
142
825
231
44
773
433
369
49
106
500
297
769
89
736
659
143
173
84
959
225
710
612
880
986
286
235
302
40
719
861
228
326
930
465
934
372
767
120
583
473
220
187
466
31
108
700
792
314
488
519
655
136
518
924
391
268
450
165
70
942
772
950
241
457
223
956
396
729
599
246
835
606
769
891
731
908
313
207
249
447
554
750
501
728
509
608
981
643
474
623
852
234
543
843
170
506
346
922
625
371
682
177
928
16
528
723
290
374
128
441
771
937
447
507
439
842
329
908
396
11
108
641
718
144
252
277
287
541
870
182
288
40
550
992
885
847
47
823
205
675
799
351
318
392
127
83
309
336
215
98
924
574
674
51
498
606
558
476
53
479
198
289
503
828
112
925
899
85
551
705
511
10
947
908
328
714
653
489
268
569
869
545
965
735
593
450
519
563
750
35
11
793
410
317
885
296
143
56
536
82
99
855
567
451
383
612
229
434
648
870
463
141
578
28
860
238
161
429
578
515
176
49
917
467
353
895
840
833
35
255
180
327
982
587
670
130
168
246
205
294
17
161
944
885
587
304
966
568
579
44
182
327
932
488
133
208
979
495
106
274
792
371
739
463
382
132
905
655
915
878
204
79
910
4
837
104
722
928
976
597
232
542
22
274
795
833
262
901
942
967
551
762
278
679
591
560
270
994
254
794
359
121
206
702
941
904
761
59
260
317
504
473
217
331
711
346
406
954
36
320
430
324
215
863
714
571
787
636
560
543
953
398
159
633
730
536
650
644
500
713
52
70
899
776
119
208
759
802
707
237
455
82
265
783
602
930
427
495
497
425
516
869
97
582
961
874
603
996
221
941
917
713
896
535
330
901
41
829
810
965
626
969
173
858
238
44
228
719
840
151
716
402
404
877
498
145
704
113
967
374
450
365
128
637
158
626
104
716
886
435
120
282
7
962
137
833
699
831
412
250
729
933
211
47
391
637
791
253
187
679
546
921
957
492
916
478
646
889
246
448
878
825
292
621
799
437
474
406
405
678
320
923
714
620
719
372
703
981
788
363
870
467
154
179
652
321
404
386
727
822
321
834
345
577
251
822
491
155
630
159
601
964
262
885
5
320
401
687
30
354
89
401
937
696
463
566
455
932
973
655
705
439
512
512
749
527
483
501
793
793
754
55
370
197
231
639
404
661
543
621
172
912
934
187
610
909
12
209
257
398
429
964
441
93
941
672
957
488
512
102
573
574
341
902
218
555
702
910
547
233
501
398
949
870
314
112
699
232
472
23
137
946
425
865
223
536
249
948
778
225
631
197
41
150
116
60
914
669
672
764
406
282
904
348
351
100
321
68
421
875
156
50
832
369
127
524
891
242
419
563
736
681
887
38
183
733
171
396
587
657
956
964
32
652
107
686
943
980
763
618
455
891
785
39
447
686
135
710
207
974
851
727
100
446
309
361
447
467
357
498
62
417
731
592
553
976
888
527
518
496
11
432
251
180
497
276
422
53
650
31
477
597
686
279
161
484
391
434
675
67
918
125
451
155
328
908
424
122
396
161
999
584
115
955
590
739
114
674
752
926
895
427
427
151
386
588
764
106
822
363
293
693
379
924
995
177
279
465
919
879
358
570
594
735
151
339
398
174
650
101
449
469
783
909
319
164
552
691
80
194
472
641
738
84
685
379
156
924
608
478
883
906
522
198
197
839
835
618
797
450
77
961
257
219
838
545
328
221
5
697
640
673
617
950
149
933
590
25
954
255
378
432
726
920
362
976
45
289
377
135
424
898
337
34
622
994
357
704
162
783
109
426
612
237
424
212
296
523
289
907
562
986
480
949
669
141
26
588
619
321
585
219
983
469
606
554
904
55
840
542
931
252
348
306
328
319
683
894
771
599
313
281
145
677
684
902
248
983
538
994
795
623
223
111
58
241
801
543
844
519
647
740
278
290
146
520
62
319
786
557
417
508
661
579
949
665
927
782
50
997
244
198
253
176
621
142
174
169
350
393
280
15
928
497
740
383
949
401
60
75
961
657
15
569
191
613
646
353
858
305
721
62
519
274
125
355
527
159
103
96
202
702
115
602
783
769
379
665
545
77
818
587
752
601
220
708
257
37
922
745
636
285
205
829
711
628
903
278
212
200
426
2
86
354
527
926
687
755
649
978
643
367
609
992
752
42
740
339
596
50
316
230
968
744
247
413
343
527
587
406
833
425
340
515
31
854
442
631
154
636
520
196
696
925
263
785
580
439
779
489
465
357
317
623
407
272
136
337
566
863
92
388
34
290
724
659
122
909
244
22
663
572
849
785
975
639
195
295
118
852
714
184
31
376
697
446
895
652
703
718
855
178
902
162
804
971
438
866
514
262
743
973
818
930
4
629
896
272
681
406
990
996
32
74
6
697
109
469
557
713
569
720
963
933
969
305
584
49
894
226
700
778
393
94
774
781
733
90
599
361
390
535
294
543
519
314
538
789
922
491
745
451
641
235
116
26
873
628
624
428
857
991
17
771
753
136
902
638
290
330
763
361
160
852
581
676
687
696
345
961
316
380
329
393
861
833
471
568
217
27
585
515
509
337
412
592
208
654
712
443
803
875
692
40
27
754
89
885
462
26
106
563
622
358
248
207
201
954
809
897
288
582
403
649
756
360
454
460
931
920
15
808
900
435
634
127
502
590
226
25
123
757
96
451
909
536
295
570
910
345
487
853
956
904
389
775
791
337
596
543
101
83
351
504
576
972
357
204
101
634
297
614
477
864
76
694
831
704
168
282
14
759
642
299
827
736
588
372
899
228
691
297
367
578
649
201
321
12
976
854
125
307
488
385
303
981
428
527
713
359
762
630
58
892
636
888
651
798
385
629
521
431
748
43
565
792
153
454
489
221
28
56
682
654
99
89
32
774
546
564
894
3
711
998
108
580
760
85
968
888
364
872
560
789
954
802
686
970
588
946
919
214
794
831
974
66
21
548
680
575
471
256
318
666
183
741
996
235
182
440
19
233
409
241
944
844
928
379
86
379
577
978
808
627
879
134
816
252
472
952
36
261
780
596
372
704
926
287
816
547
147
103
894
81
66
618
432
339
237
695
958
719
313
202
835
435
32
7
424
465
976
415
96
382
722
78
981
827
558
513
673
417
430
601
936
558
144
799
677
977
162
371
43
782
479
617
532
515
227
965
434
974
595
778
745
544
610
906
947
387
116
349
681
153
33
853
397
759
578
929
531
424
704
559
599
367
411
805
903
468
983
649
187
789
411
654
695
36
452
453
538
919
844
652
204
916
136
444
339
100
530
169
611
564
853
28
617
438
524
423
300
684
942
719
256
634
255
737
669
712
847
966
331
919
242
310
362
405
300
145
788
919
747
631
102
2
98
492
283
535
976
936
544
661
694
998
220
170
692
349
830
121
113
525
302
887
358
616
770
805
913
681
137
320
170
551
821
824
188
201
699
436
590
613
297
570
851
869
699
470
250
246
475
884
684
254
169
609
330
876
541
980
892
756
800
274
784
714
526
596
147
765
844
72
21
765
683
73
373
923
628
741
904
665
963
327
742
773
979
695
185
274
530
909
633
318
115
969
733
136
473
622
537
244
794
679
175
230
161
393
143
847
785
300
803
630
900
359
105
913
951
365
877
989
830
386
214
83
496
405
671
986
228
451
969
478
184
218
879
117
648
628
793
580
572
794
255
499
577
604
369
668
566
485
586
558
524
956
839
307
839
247
368
764
725
626
868
668
926
32
801
793
888
321
779
698
42
678
959
771
649
779
288
408
909
854
257
488
675
112
545
803
173
919
569
730
579
693
481
215
178
758
614
123
79
275
703
67
177
934
483
136
78
322
422
332
261
735
400
123
581
736
148
212
565
956
100
576
640
456
146
797
550
488
423
959
740
623
894
736
415
50
999
773
308
279
14
182
934
651
128
757
264
791
442
526
272
602
223
360
807
481
802
704
582
178
424
879
836
143
228
81
434
238
261
908
706
424
135
193
369
410
455
1000
224
261
655
855
144
658
244
676
86
849
747
423
451
314
834
176
150
826
207
204
171
911
841
611
244
647
70
309
473
401
837
390
433
349
144
452
281
581
369
82
900
166
660
468
939
819
49
98
902
695
281
573
110
407
605
849
436
581
953
637
210
123
969
257
579
915
346
979
930
831
809
780
648
811
856
465
653
216
72
339
627
870
425
925
804
962
449
791
519
481
660
156
441
974
828
840
570
168
981
30
643
474
139
540
514
446
801
485
485
38
176
773
290
887
964
406
654
929
278
352
890
355
939
673
19
288
963
649
276
613
498
902
681
25
902
879
529
770
877
625
329
490
826
449
664
265
649
965
941
262
238
5
790
342
807
34
124
620
45
80
528
237
780
611
662
551
468
484
878
524
392
844
52
361
846
826
950
323
981
7
101
229
199
823
237
346
179
581
860
281
659
280
362
958
89
171
470
17
138
893
460
741
842
43
702
181
840
266
647
249
784
282
252
391
482
788
216
912
761
858
89
125
344
258
521
312
269
106
407
887
502
418
700
260
428
399
981
639
859
771
676
413
35
32
978
827
847
339
105
358
188
572
528
589
894
254
199
398
200
224
593
971
44
325
605
474
813
951
954
237
323
969
754
939
938
386
352
601
717
174
367
151
407
799
85
970
894
351
39
70
488
639
622
522
1
258
75
335
140
428
21
206
184
363
11
524
244
11
215
495
668
304
481
545
319
443
455
973
521
338
379
379
426
40
467
590
465
919
466
613
289
336
130
666
352
808
867
496
835
997
708
974
152
352
128
452
666
945
954
485
583
825
750
265
189
210
630
614
746
991
392
397
398
287
243
36
360
261
153
143
541
13
46
414
483
106
625
578
167
237
618
620
818
610
624
502
282
800
547
275
972
318
791
854
615
587
49
695
282
763
479
273
220
696
549
577
69
321
608
798
907
955
535
3
430
288
409
887
246
345
240
594
948
329
234
227
121
67
936
894
906
682
862
31
82
299
918
330
890
771
970
791
976
894
444
304
893
122
696
684
604
539
222
280
265
718
481
99
385
162
203
920
148
200
595
973
262
587
765
621
235
550
42
916
351
715
571
24
986
149
760
316
63
753
651
327
652
366
294
890
681
250
525
501
725
55
368
376
651
979
394
706
675
623
30
344
43
908
719
534
91
553
300
308
961
806
730
868
584
523
493
615
850
233
671
470
73
526
642
810
963
949
823
616
305
630
699
438
476
995
613
361
739
272
445
478
974
986
363
266
142
232
272
890
310
368
469
680
513
678
271
953
69
666
66
886
216
936
307
379
130
988
488
720
400
867
993
381
59
319
58
469
112
5
750
185
323
353
20
158
676
846
374
660
564
894
662
526
231
933
791
52
425
102
930
304
529
633
913
1
657
92
78
606
349
753
787
330
504
655
168
521
163
378
456
280
598
134
453
245
887
592
198
171
863
709
968
321
857
967
88
693
145
621
850
835
380
958
43
270
586
102
211
637
475
620
781
220
950
23
610
925
664
266
375
663
411
544
414
774
941
977
319
375
534
273
611
443
260
105
283
69
433
706
873
533
171
162
993
770
350
976
914
346
469
739
899
291
143
170
452
7
954
352
563
972
419
735
316
195
678
354
941
163
299
752
511
560
296
319
990
163
58
84
283
156
365
531
263
544
124
678
483
479
726
472
438
104
180
538
791
930
317
470
930
871
345
130
590
800
44
878
44
895
687
257
550
100
554
445
312
758
552
652
212
812
44
775
964
35
434
823
134
413
457
999
698
144
400
918
393
733
679
80
176
293
281
624
494
486
607
376
925
499
139
371
992
68
193
370
565
862
730
364
372
432
831
694
538
571
973
213
987
140
704
866
773
333
636
173
113
918
949
355
953
194
756
271
411
292
749
899
314
955
506
839
360
146
735
192
153
637
517
216
443
272
281
362
466
705
878
650
158
261
584
857
398
11
317
653
137
292
626
656
427
654
283
349
938
684
382
942
457
224
940
566
298
258
898
620
247
133
288
704
908
870
85
347
855
987
916
638
4
680
366
949
17
207
120
189
331
995
509
379
643
368
371
920
271
762
287
606
845
940
376
281
200
62
818
88
189
407
217
377
360
156
686
713
85
967
310
869
806
944
231
353
486
264
168
788
232
903
598
440
346
866
207
273
706
840
425
189
477
438
90
511
648
44
270
375
768
829
334
384
574
665
153
807
907
520
184
615
413
408
813
886
64
137
977
409
461
865
560
905
186
6
499
874
257
78
816
969
839
929
59
735
939
155
721
699
779
660
279
117
877
28
416
90
668
781
837
403
644
683
866
193
611
926
641
455
606
440
325
502
452
579
188
698
709
123
831
185
990
886
84
858
236
196
313
569
546
195
968
350
602
193
205
513
559
282
332
605
486
43
650
562
141
465
962
848
844
94
685
40
751
73
9
90
611
940
1
453
435
964
908
370
134
379
145
876
283
57
645
496
654
71
286
190
61
87
109
824
361
750
900
338
154
32
512
831
851
45
986
970
288
927
124
504
14
275
688
150
670
16
798
826
669
762
417
989
493
453
42
856
486
534
857
379
985
11
607
198
999
462
452
190
400
494
840
861
771
193
251
610
667
827
293
779
987
445
208
491
588
18
316
529
59
498
316
863
779
449
629
996
10
969
181
9
775
215
113
10
719
198
899
740
977
454
301
234
300
825
349
768
362
880
319
810
187
398
268
320
135
985
245
543
711
85
721
393
753
596
153
630
235
828
826
284
984
773
302
221
127
524
851
300
944
221
229
312
147
48
43
785
272
708
719
757
21
227
805
865
879
168
905
402
283
71
86
549
943
462
971
631
654
861
87
88
76
998
212
821
538
915
663
724
838
666
423
490
417
126
20
243
26
802
869
156
199
584
573
957
413
129
318
173
826
890
87
17
857
889
873
60
689
968
455
214
974
619
600
109
648
484
727
634
769
278
179
266
715
173
257
843
939
686
72
579
688
689
85
473
741
482
954
715
305
778
901
365
616
43
377
331
702
886
227
667
3
102
923
297
238
512
662
513
994
988
322
69
974
893
307
202
782
717
286
703
376
864
748
2
63
387
27
301
21
964
186
987
817
574
725
897
379
116
595
541
153
703
405
52
952
480
20
431
137
582
989
691
329
296
362
586
782
576
482
934
967
803
295
992
619
105
564
946
732
569
135
323
537
451
41
88
507
811
823
227
807
54
922
871
430
540
339
397
466
767
98
487
539
608
196
822
503
783
854
950
899
995
857
876
493
179
720
96
492
911
194
115
634
287
384
975
440
557
356
955
349
353
663
403
337
610
651
602
875
193
766
688
772
780
317
894
528
791
346
809
310
8
281
939
555
61
62
550
514
153
280
700
759
220
662
384
780
231
956
925
323
482
804
105
61
549
783
46
497
28
117
485
760
319
946
977
91
472
234
476
359
578
524
921
934
249
794
733
568
491
612
596
739
677
631
459
69
387
216
530
33
601
667
864
126
86
61
309
97
870
217
739
634
371
656
925
76
73
726
930
404
675
248
620
692
254
144
717
726
315
502
874
236
566
453
376
516
861
50
426
763
60
68
448
605
464
252
472
666
80
113
469
952
238
784
441
52
954
798
198
859
12
933
988
606
956
393
599
458
43
687
96
855
736
534
107
47
526
1
448
17
669
858
938
61
970
853
433
856
849
182
472
730
787
939
464
224
665
752
967
736
666
131
481
214
179
254
137
401
564
68
791
89
757
622
357
223
405
470
634
436
662
846
503
807
807
67
131
194
569
281
727
482
431
231
497
506
195
205
646
171
772
694
670
549
529
594
754
297
484
951
742
790
335
372
47
796
567
218
854
320
914
606
149
519
996
63
432
214
312
407
446
582
628
57
909
75
447
496
4
466
466
79
350
201
840
702
294
917
616
123
589
46
942
863
985
948
510
724
806
890
220
870
329
483
243
374
669
920
503
849
909
459
87
528
436
113
256
716
765
436
527
75
678
637
772
587
170
993
400
379
490
651
463
795
584
498
962
261
366
720
726
487
533
17
973
528
105
250
79
49
459
436
126
914
410
616
529
850
791
88
406
553
69
921
380
25
769
433
208
339
858
557
933
316
783
605
300
784
573
990
791
176
247
857
961
255
815
447
726
647
283
220
868
677
451
435
302
745
729
925
584
89
864
261
737
332
242
379
708
650
410
984
681
729
519
761
28
973
721
470
889
538
899
520
264
878
741
483
991
430
871
347
223
958
643
979
802
879
255
404
457
540
30
34
906
78
77
871
743
928
53
88
445
529
408
103
991
27
346
407
331
48
679
964
383
720
922
975
345
161
256
119
842
603
426
210
816
151
282
343
169
954
383
195
843
217
58
159
409
30
344
347
276
509
489
333
296
75
74
698
895
12
359
49
855
640
166
223
513
515
449
798
485
87
737
870
939
171
783
294
117
375
98
241
35
367
509
957
270
512
539
87
294
899
184
778
91
273
623
48
676
696
494
598
712
44
643
302
627
576
663
119
498
922
120
69
520
766
87
188
34
413
507
131
955
193
945
158
917
362
475
796
624
759
828
375
688
959
433
981
713
114
628
96
502
950
183
353
38
644
231
383
340
409
842
679
363
675
780
779
873
679
434
834
634
127
503
809
289
362
796
132
53
108
417
622
680
452
689
902
229
182
386
304
808
985
257
500
835
304
333
683
344
821
243
163
510
663
608
658
905
410
580
395
926
905
792
375
474
674
280
809
262
503
447
773
25
342
746
592
521
227
591
330
461
383
911
31
398
989
912
34
161
371
840
765
665
518
985
902
749
913
705
699
279
625
32
575
900
496
256
742
661
43
966
815
272
376
204
813
855
68
762
933
893
352
146
775
541
508
416
460
583
560
931
226
83
658
4
610
252
642
613
335
86
311
623
332
144
895
383
130
167
22
231
12
369
282
130
926
890
127
647
111
301
395
512
820
83
258
240
300
667
752
705
414
981
323
70
892
430
39
196
219
914
211
506
619
768
146
287
380
491
705
589
56
761
128
198
683
485
322
653
238
595
441
903
991
880
104
987
286
378
79
113
560
790
561
541
70
896
462
34
888
200
283
961
229
892
195
802
37
736
943
461
94
695
64
738
602
928
685
311
303
293
877
818
743
669
131
949
176
167
14
1
976
827
506
999
142
477
803
314
624
216
608
707
769
438
81
832
121
382
610
565
196
947
557
948
593
921
946
146
25
819
836
593
381
267
760
412
967
193
221
267
446
180
648
31
793
953
656
70
821
370
701
448
396
242
420
85
543
982
71
751
9
397
439
784
735
878
556
594
886
893
327
347
768
948
939
691
987
126
520
31
676
892
69
659
479
118
119
986
251
171
930
227
99
467
298
173
498
114
171
75
674
145
399
261
364
354
851
831
357
951
71
660
928
74
380
990
383
716
69
85
480
756
890
781
378
597
577
287
146
404
536
237
545
19
162
849
11
431
452
3
256
123
737
199
894
677
363
651
871
793
127
222
211
272
80
505
817
577
115
127
601
281
371
265
241
118
79
451
242
357
952
940
780
896
576
362
25
852
577
856
247
374
500
638
23
89
467
774
302
893
657
974
920
760
574
362
374
872
897
517
336
647
408
571
425
169
139
761
216
138
420
657
328
672
922
210
710
228
185
890
915
451
334
442
226
971
862
199
13
66
441
476
570
596
672
295
993
848
571
585
366
726
395
26
649
244
69
945
157
430
107
980
463
551
395
775
896
41
651
630
531
631
656
847
716
970
592
504
737
435
969
523
185
958
621
186
939
405
231
717
457
471
668
141
251
110
187
405
992
215
203
647
690
681
903
604
783
950
464
347
773
879
991
946
260
82
595
199
832
886
224
254
288
735
945
832
116
136
392
746
948
247
6
586
985
794
501
790
22
321
727
755
730
679
708
330
358
261
207
793
831
748
570
380
532
22
981
523
704
453
500
253
503
22
414
591
235
553
524
385
166
920
919
711
651
225
716
931
986
823
1000
451
528
544
905
505
149
624
358
591
995
671
547
719
890
438
539
316
421
331
842
412
930
323
873
772
149
403
486
719
205
769
686
739
69
724
655
363
297
640
24
461
86
413
94
831
261
537
382
884
780
325
414
311
760
791
170
833
810
443
975
546
686
528
903
891
867
303
952
999
706
540
366
8
216
786
459
967
383
885
225
99
145
844
838
545
825
459
837
156
848
12
484
579
23
959
236
643
571
771
805
12
300
985
540
198
47
109
197
251
564
200
268
900
533
846
137
469
271
782
300
635
2
569
756
975
286
609
472
314
280
249
514
42
67
897
40
982
188
881
835
853
843
234
514
70
992
723
810
445
710
226
581
318
698
963
343
807
838
217
116
141
8
906
348
511
184
771
529
448
978
9
848
542
419
899
912
194
685
335
119
201
975
209
748
179
446
276
206
239
390
466
155
861
405
618
452
610
385
247
909
210
513
279
896
488
342
653
739
869
234
299
641
451
110
294
621
136
496
928
571
959
311
994
68
543
715
879
29
540
588
923
651
58
923
81
303
313
444
126
242
159
312
526
54
756
622
635
715
321
739
24
42
849
192
642
90
673
997
960
747
1000
765
427
365
850
900
382
785
391
522
999
523
305
481
4
187
638
978
662
444
606
864
950
947
914
648
965
725
487
590
325
417
929
60
732
631
659
478
951
439
404
777
136
677
680
286
836
311
948
347
31
570
367
758
223
955
462
383
983
508
550
830
288
905
491
170
722
70
171
62
830
968
141
494
964
182
3
593
526
682
474
603
810
904
507
162
593
927
525
499
185
18
595
11
927
308
317
959
13
670
325
704
60
166
547
980
102
535
791
181
514
337
813
570
929
255
728
572
386
20
540
54
788
141
602
606
242
365
995
332
16
363
215
633
653
646
32
747
240
139
71
582
963
139
478
517
862
634
49
392
106
51
276
873
240
581
132
730
568
133
805
359
259
847
228
31
818
827
17
947
270
440
333
174
797
68
267
908
580
697
578
342
283
96
5
606
973
626
911
859
237
902
716
648
952
663
448
64
432
159
737
57
667
320
745
520
983
766
874
397
736
452
533
105
573
352
939
39
410
157
661
791
487
366
616
963
802
524
295
161
764
610
293
811
117
727
607
959
71
332
756
78
110
206
510
233
104
238
895
652
221
914
185
865
625
38
808
99
86
881
422
537
451
392
954
388
397
568
56
446
978
365
246
977
303
765
8
303
75
758
231
431
824
6
698
427
438
927
747
2
963
758
863
979
719
948
710
846
506
847
32
646
23
257
919
805
677
886
193
316
607
100
18
926
142
676
412
543
852
445
28
144
45
820
425
866
857
181
71
803
44
47
478
272
219
739
201
950
546
976
926
353
839
500
469
560
610
310
368
970
845
590
628
143
213
702
337
456
943
932
121
378
843
775
803
674
801
673
241
726
624
42
26
477
280
342
614
190
427
706
520
367
608
352
393
636
683
585
143
406
813
719
817
368
845
646
587
685
17
100
18
873
710
892
797
886
403
519
227
915
60
579
65
760
956
390
779
399
326
15
846
558
291
711
546
689
234
419
543
709
164
527
709
299
639
584
795
319
498
36
4
137
5
331
31
266
990
949
838
722
234
988
310
960
656
965
920
57
813
389
720
61
874
477
305
80
465
128
849
706
765
870
991
870
782
58
104
47
4
28
463
29
538
265
898
150
371
903
834
923
639
20
965
560
647
280
470
707
910
435
331
75
672
74
255
300
199
816
718
536
653
799
871
752
474
955
373
681
53
47
762
660
895
837
627
366
641
118
660
582
55
515
680
699
543
133
817
593
853
133
380
897
358
277
346
450
702
337
38
902
698
998
316
995
29
562
521
76
709
318
486
765
281
933
166
508
414
573
826
958
885
770
260
743
971
238
227
184
872
933
137
983
156
670
40
692
127
500
130
61
678
897
325
974
462
503
916
734
128
813
985
951
984
736
21
101
683
388
150
139
443
839
500
197
853
767
465
491
545
178
66
59
894
357
189
827
408
244
184
821
687
278
232
41
643
550
901
630
188
785
531
494
749
293
433
446
763
521
413
292
790
236
778
15
2
725
838
345
556
573
869
574
846
750
660
414
665
754
49
82
94
501
311
544
317
508
870
38
635
666
546
583
650
558
508
169
986
851
141
692
915
763
287
562
966
976
699
36
917
673
104
24
581
547
945
75
434
739
765
719
465
676
169
135
571
665
503
402
452
950
696
180
255
638
191
777
109
525
541
963
333
433
32
798
315
42
637
984
965
617
738
949
221
242
280
928
288
350
468
824
167
397
687
510
552
524
41
530
389
895
817
897
171
218
206
740
609
626
833
151
419
715
971
432
813
7
873
339
710
568
278
616
841
768
7
270
680
451
529
610
572
866
523
999
519
785
742
648
832
138
959
560
269
380
354
890
322
543
492
577
41
571
934
117
168
138
612
685
350
601
341
682
919
113
199
946
45
230
79
492
73
525
410
676
517
807
878
96
467
587
28
367
166
298
771
171
110
624
147
613
309
11
186
946
291
54
351
243
7
995
813
383
51
18
791
61
512
360
284
153
336
520
775
882
281
12
919
713
432
177
798
789
776
521
61
37
494
964
136
782
508
134
781
791
274
551
404
248
18
154
958
16
354
97
729
933
768
186
4
612
490
626
417
326
138
973
773
179
879
328
278
649
995
824
393
7
455
424
988
866
529
874
71
276
510
434
141
400
330
644
115
760
265
974
879
461
891
664
712
587
190
446
255
187
20
132
216
861
166
228
709
9
842
854
984
189
826
232
319
916
369
945
6
416
653
942
700
549
834
46
866
123
662
294
718
304
243
21
805
687
757
11
399
857
867
399
885
949
88
265
679
802
617
24
554
793
996
761
899
316
508
674
100
197
371
624
173
33
685
618
788
539
512
698
42
553
701
364
690
219
813
107
47
255
11
77
471
902
873
216
114
350
891
407
665
923
833
329
904
340
235
723
198
657
61
758
521
319
940
977
183
913
476
115
212
777
830
701
258
642
131
941
966
852
342
861
981
518
850
39
154
187
406
577
58
182
43
127
600
833
250
915
419
217
983
663
724
864
70
279
415
139
176
964
672
631
789
105
646
959
612
988
547
836
336
866
209
123
14
373
164
849
183
627
363
875
394
617
951
939
77
623
899
338
508
499
911
354
174
613
716
886
43
113
768
417
45
995
400
574
612
116
713
69
246
913
789
710
896
74
377
536
423
853
830
846
504
990
936
39
146
465
220
754
400
412
487
727
941
589
615
176
965
699
97
264
214
744
424
409
29
338
155
735
39
544
454
18
457
407
941
804
2
795
931
235
124
554
541
299
575
265
659
834
354
103
506
649
704
344
342
546
159
154
908
847
594
106
344
304
863
786
673
865
880
496
389
877
935
730
353
707
642
640
990
687
121
119
711
503
985
510
615
863
199
188
782
347
126
427
864
832
955
28
299
783
199
162
169
1000
185
765
617
125
240
594
804
319
834
768
550
42
52
187
204
801
586
760
748
63
920
760
872
258
488
939
515
958
358
298
402
854
451
469
218
139
373
784
364
226
699
966
673
538
940
297
102
269
503
825
151
604
638
856
685
850
779
526
917
379
669
761
547
21
388
249
413
806
708
406
587
533
214
445
523
696
290
811
738
685
351
204
516
49
700
358
277
829
990
540
609
622
559
467
410
70
829
960
256
960
576
207
876
958
89
924
582
275
171
77
614
244
478
64
595
881
914
435
748
966
667
270
73
95
3
337
415
455
127
15
274
778
231
750
199
31
401
524
859
954
143
390
205
450
147
652
672
171
355
670
24
414
521
587
278
533
226
501
125
677
759
741
396
584
351
925
430
555
7
440
627
464
576
824
104
896
760
276
115
13
495
200
817
807
471
239
49
751
637
744
11
678
175
984
129
913
797
710
924
326
206
858
413
952
217
303
416
292
337
536
176
207
582
100
836
595
923
394
677
637
26
209
474
501
893
968
982
815
614
187
356
98
650
126
240
607
11
926
406
739
234
804
43
196
274
23
240
638
314
433
786
397
4
346
114
190
851
397
148
420
290
803
798
797
502
169
111
530
161
544
391
261
118
958
142
249
513
89
351
45
890
995
446
58
700
113
255
946
2
816
426
746
255
883
59
989
853
165
755
858
452
584
889
586
193
362
691
896
660
19
609
268
748
272
538
210
697
425
707
527
167
217
400
756
642
393
263
593
377
455
610
135
815
125
13
168
671
97
497
612
869
526
779
436
120
552
369
7
227
857
795
904
132
891
865
670
290
952
683
852
247
721
64
935
146
224
115
468
496
443
12
752
725
950
414
955
908
11
534
410
617
589
625
162
993
541
505
525
996
95
825
541
293
397
949
731
372
487
685
485
320
613
633
738
116
150
556
342
473
761
32
687
975
613
605
656
760
632
818
984
23
786
761
441
414
343
273
22
771
900
493
531
722
728
254
487
369
635
702
318
668
139
628
159
137
176
218
413
204
2
295
394
855
179
710
49
240
762
213
702
534
900
988
260
687
56
68
103
624
959
3
147
127
255
473
198
858
486
39
784
952
718
843
98
198
634
873
547
42
369
355
680
590
703
939
947
325
487
619
809
470
354
731
233
800
787
960
471
253
660
6
349
842
178
466
992
241
977
518
17
894
813
182
759
665
875
334
16
849
271
100
128
819
617
980
953
737
18
845
442
493
923
943
72
517
475
191
337
156
14
306
904
83
338
813
749
608
164
527
818
794
992
913
321
43
252
628
751
127
137
607
116
743
60
330
698
274
995
239
817
854
292
883
739
773
713
993
848
950
567
627
661
495
806
462
75
344
854
543
481
585
780
68
36
357
115
320
415
165
282
463
851
992
115
705
95
911
391
331
256
728
663
150
85
807
917
211
428
396
750
43
994
683
825
247
529
321
343
16
751
342
137
12
147
224
802
126
813
392
933
791
54
550
182
912
393
82
314
981
963
212
883
601
983
742
435
487
208
943
408
982
727
660
979
267
518
711
205
731
458
471
678
431
321
910
834
175
431
387
748
506
237
286
950
806
70
864
351
807
713
797
833
25
267
524
449
16
939
870
466
914
43
422
657
389
508
758
383
40
609
987
965
232
470
963
794
570
147
221
439
528
712
915
704
206
844
983
269
876
855
384
35
718
991
446
767
129
63
320
972
98
188
59
187
369
473
75
38
586
970
590
481
125
148
228
616
114
386
87
346
976
743
454
930
913
350
841
187
924
296
158
698
318
805
672
846
195
839
820
971
34
998
137
219
354
732
263
874
389
430
480
129
879
919
306
249
331
261
403
48
596
508
495
438
199
247
6
561
604
374
888
693
543
484
457
654
604
696
79
945
489
525
249
216
763
601
941
935
447
674
96
352
510
359
778
923
165
488
830
373
911
785
846
492
395
813
858
581
521
785
464
157
710
886
24
211
843
215
148
787
217
310
957
140
807
492
494
66
205
959
224
225
904
609
765
493
987
99
896
391
867
507
376
649
461
294
328
830
51
959
751
723
154
882
258
913
898
405
245
532
773
81
551
693
141
402
101
537
534
20
165
112
636
629
635
572
780
255
170
256
963
606
118
292
667
558
920
297
201
571
56
568
936
42
683
970
508
174
823
322
33
911
327
701
417
925
865
537
105
396
902
746
975
570
917
441
640
677
174
967
131
813
948
79
761
827
471
94
17
69
796
792
465
106
406
591
10
172
689
320
300
127
309
490
727
213
116
519
268
713
466
814
338
923
754
945
970
493
475
432
858
304
407
773
258
528
316
483
290
397
166
806
916
537
965
715
785
402
242
550
137
497
628
360
199
539
186
608
829
699
932
408
702
352
450
861
992
528
655
391
318
376
491
193
719
549
827
40
563
325
886
737
561
675
280
433
555
260
154
887
296
485
980
491
252
378
250
559
358
978
734
936
711
376
930
443
460
327
85
88
503
543
455
230
161
430
496
84
699
23
331
59
416
301
135
418
46
920
48
667
365
611
867
890
251
160
17
980
890
925
261
335
501
305
179
136
699
444
715
752
618
726
972
182
968
283
13
683
505
826
627
915
801
612
907
967
753
227
995
639
38
194
556
223
581
106
366
785
164
114
901
690
484
96
980
671
357
781
301
265
240
440
194
859
937
461
31
871
177
314
508
871
724
930
452
512
827
496
905
238
100
22
954
628
386
813
226
122
765
141
987
608
601
33
512
7
488
17
778
590
992
137
543
188
337
283
558
890
555
139
23
53
193
646
371
693
328
882
113
391
540
731
825
855
477
491
273
219
819
868
333
935
793
397
625
867
848
408
707
825
742
126
290
296
103
327
159
582
460
258
396
912
847
217
66
328
351
247
734
336
404
915
64
340
163
18
256
897
88
367
310
677
702
530
870
807
547
487
993
976
576
712
248
279
559
96
428
262
601
467
598
71
536
215
306
902
785
649
610
183
261
285
949
50
13
217
32
707
630
92
632
211
844
958
578
70
407
471
322
783
50
484
136
147
280
73
404
676
814
412
473
991
722
751
229
398
696
909
900
165
431
369
573
198
802
22
599
918
371
81
322
140
770
484
575
683
686
380
990
220
481
896
437
655
990
472
877
888
636
488
459
412
834
773
969
590
596
868
643
840
331
578
892
189
133
437
725
833
243
207
525
387
967
404
343
520
26
178
88
498
264
560
812
998
613
201
786
201
468
265
231
812
957
56
357
122
110
287
857
673
593
645
84
370
509
453
970
147
747
772
124
379
484
263
683
308
763
459
218
677
493
913
390
593
856
830
132
450
828
380
835
341
479
893
393
998
770
518
984
763
800
738
165
458
845
326
171
328
82
976
341
413
574
814
217
801
971
463
186
233
368
155
496
420
965
603
110
274
452
34
122
958
583
787
406
299
972
378
757
652
9
773
33
724
678
892
704
238
221
45
776
562
818
73
279
581
883
468
369
177
158
635
641
638
512
770
406
204
242
511
558
746
701
676
128
259
322
869
795
463
402
722
413
291
575
807
104
466
550
62
561
699
507
658
7
225
547
822
687
574
708
86
832
464
371
782
832
678
321
384
712
623
327
471
91
18
894
671
506
829
719
937
369
142
502
888
839
106
957
771
581
513
280
792
733
807
867
178
381
563
766
367
520
521
226
135
756
316
694
310
8
924
792
954
60
663
138
553
99
334
343
792
330
683
150
962
314
939
508
902
954
593
274
657
941
946
391
693
33
216
608
629
759
137
275
883
16
66
273
576
539
577
908
305
435
415
465
123
785
445
164
163
832
957
471
880
426
246
68
797
198
936
284
984
406
883
487
238
520
846
734
64
387
321
980
131
253
61
262
813
16
849
592
804
811
29
731
568
469
157
605
541
403
866
937
609
230
735
519
370
797
483
692
66
296
317
778
900
849
605
635
637
292
373
19
19
865
285
168
531
179
872
850
498
148
795
151
308
522
816
440
808
296
989
265
559
532
283
437
696
89
513
171
580
319
951
972
319
51
467
875
477
89
369
791
992
5
395
933
384
215
439
757
849
224
696
391
704
417
854
274
966
995
845
621
562
478
493
364
748
676
11
413
891
233
991
455
631
592
953
8
827
764
987
122
400
340
307
938
335
22
781
312
672
339
611
826
249
328
393
824
348
707
707
547
149
457
261
54
82
799
351
380
747
273
58
288
67
983
182
68
714
112
383
50
693
493
375
900
116
364
300
284
875
429
625
239
894
988
968
379
100
256
300
127
59
880
851
322
496
364
889
853
523
332
247
483
480
528
110
648
752
23
121
808
764
359
279
889
659
254
484
445
807
62
815
455
417
381
801
59
969
96
996
139
112
655
176
371
959
563
312
252
422
933
291
679
349
407
49
817
736
946
343
388
221
755
956
999
398
113
469
810
234
988
112
660
997
74
392
761
683
364
346
191
876
422
283
728
322
287
848
11
301
341
68
611
32
539
802
377
941
87
680
322
608
73
183
401
606
539
985
759
238
189
62
420
410
275
369
920
455
176
42
109
785
866
240
176
634
754
684
989
25
360
909
986
310
902
38
215
278
158
611
548
893
893
646
796
171
734
637
184
562
629
620
642
495
915
830
455
398
603
668
69
608
673
920
293
52
73
179
684
506
631
447
660
506
268
727
759
724
755
249
500
717
735
610
523
487
920
769
19
206
123
287
990
810
324
653
543
886
21
829
235
441
948
387
494
676
653
735
250
853
513
957
229
718
535
750
785
689
663
777
789
226
411
520
812
348
305
362
804
286
54
220
507
631
329
494
91
146
770
506
898
628
159
865
697
804
676
407
573
271
851
437
430
940
94
24
85
220
675
4
119
497
639
146
958
22
416
701
150
458
834
140
439
711
820
440
29
620
326
745
380
269
923
517
995
423
57
618
901
641
194
873
963
120
937
747
737
209
718
759
303
854
893
105
396
915
858
778
228
436
337
145
535
457
128
550
821
875
413
10
196
227
202
491
953
956
589
560
794
924
300
437
629
432
432
596
6
15
374
111
513
608
650
873
950
465
835
657
676
392
731
782
302
426
749
746
806
97
754
812
245
791
727
977
432
546
219
142
395
807
960
578
901
295
962
1000
100
158
103
623
153
1
504
622
746
210
973
277
545
263
395
958
985
320
258
788
257
465
405
458
7
419
710
230
37
428
635
568
268
254
500
220
316
934
877
802
307
2
732
114
959
398
812
485
557
154
286
399
161
267
872
555
278
869
467
296
278
924
855
15
31
195
167
785
596
158
618
911
313
865
486
564
308
506
431
946
260
566
30
660
234
2
831
98
566
873
336
696
31
148
48
837
4
271
138
43
935
155
345
838
194
936
421
351
287
747
842
262
517
205
479
191
370
90
673
6
326
908
433
803
328
638
536
512
823
993
906
183
184
947
994
1
285
111
834
1000
227
773
79
258
491
99
586
83
286
976
63
318
535
521
890
457
664
59
452
666
389
711
242
185
745
377
549
831
876
975
759
480
558
321
162
467
942
892
704
846
796
32
295
289
373
886
116
224
80
429
898
493
355
493
258
391
470
634
11
502
518
993
850
85
514
54
879
162
349
350
288
612
327
710
885
754
145
616
294
914
494
580
360
424
866
239
731
336
805
36
624
910
567
941
512
578
93
652
827
661
273
104
827
585
690
949
422
733
462
821
140
340
286
874
364
48
548
59
666
816
186
55
349
910
993
593
275
576
264
150
693
865
964
648
44
739
107
825
668
284
666
419
909
329
128
169
392
275
748
892
114
221
682
596
584
792
429
649
429
186
426
534
791
51
237
585
337
770
471
454
904
613
505
695
648
992
72
36
40
762
21
380
240
103
894
525
142
17
471
931
903
895
114
577
854
919
575
126
468
294
876
148
530
430
63
110
698
228
877
225
432
577
873
989
640
6
100
449
472
196
233
805
394
709
959
932
60
888
501
834
508
302
382
814
912
554
933
362
456
492
597
378
877
121
747
381
909
541
648
744
134
319
147
876
747
536
895
473
328
632
189
625
29
855
36
614
485
770
649
692
374
809
411
997
784
294
264
36
457
707
603
829
523
243
15
915
584
828
617
886
847
882
330
13
547
35
147
862
95
935
358
450
215
29
708
661
821
917
711
125
578
471
645
700
839
416
311
50
188
467
290
507
867
466
241
606
213
150
800
179
606
338
747
897
560
350
418
489
328
399
781
631
766
592
208
707
316
866
733
193
626
903
507
418
732
603
238
855
758
177
630
898
739
301
224
272
562
71
597
858
974
656
563
722
284
692
884
581
693
425
2
733
135
542
493
781
167
450
244
50
680
468
844
717
178
38
340
95
949
612
258
366
675
282
780
373
981
589
61
710
934
215
919
465
750
381
571
437
815
891
652
567
692
697
487
602
917
762
469
731
280
774
455
53
747
964
277
236
356
865
823
674
211
380
662
774
182
902
861
739
23
585
448
367
414
63
968
937
857
41
732
196
452
250
618
861
325
155
766
764
880
696
93
16
116
64
340
74
950
201
246
647
875
258
563
741
310
735
824
933
654
404
176
222
451
389
132
354
18
991
807
586
564
923
33
277
146
645
796
489
760
385
573
71
484
247
498
305
886
560
748
279
820
199
200
561
361
212
173
680
824
460
53
122
769
380
681
269
416
216
654
791
136
201
117
454
524
296
181
254
130
4
854
42
73
696
233
546
616
668
791
793
289
820
740
460
282
471
855
605
642
315
625
578
298
931
284
621
14
598
88
851
206
361
198
826
929
448
657
903
504
153
239
912
919
272
420
478
628
991
295
479
358
909
61
716
293
523
574
867
362
87
598
180
393
198
551
173
560
892
987
809
925
267
563
239
839
872
958
214
640
202
59
691
393
623
747
20
375
987
784
296
643
986
617
141
281
54
419
212
883
213
299
199
397
835
428
929
711
709
764
491
276
161
165
931
593
224
965
188
636
22
470
412
140
601
436
694
213
397
310
571
917
442
901
330
303
158
207
298
885
314
289
784
685
293
494
299
797
350
787
988
882
915
653
964
127
359
848
363
973
815
260
523
374
817
268
590
405
537
308
297
818
336
758
349
524
216
929
92
56
491
630
691
767
670
776
31
907
111
511
977
735
475
599
391
516
392
212
553
596
29
762
222
733
460
166
588
530
818
752
825
113
225
58
753
171
399
916
369
100
666
561
669
250
817
974
204
245
887
309
294
899
461
54
682
527
572
509
677
331
579
291
516
120
693
832
755
830
961
237
994
174
594
481
124
291
508
618
598
458
799
582
945
733
695
207
815
938
184
282
434
517
151
817
207
617
337
214
585
217
847
701
32
235
263
210
74
347
637
872
971
644
758
420
507
407
137
112
754
950
97
211
444
958
178
682
749
754
876
517
871
669
320
26
802
64
138
511
48
559
173
955
881
731
130
761
907
883
503
114
341
460
323
248
428
370
375
726
828
761
540
909
667
771
802
894
160
399
322
582
367
920
658
983
709
185
879
514
310
774
829
846
95
182
254
805
867
131
851
911
240
678
551
461
390
982
510
407
92
475
350
923
391
713
162
242
553
360
670
238
678
607
737
308
426
817
81
247
875
352
685
225
424
324
855
452
998
518
347
796
551
807
236
450
16
204
481
706
386
97
224
71
578
318
942
203
103
457
463
630
319
190
751
822
240
522
103
920
432
479
35
383
548
229
762
855
424
586
586
809
459
570
930
902
245
17
24
519
969
247
442
691
193
420
795
422
993
572
882
463
296
232
508
781
498
179
26
228
75
168
326
467
954
386
694
800
885
986
429
362
903
301
619
86
237
249
758
952
715
978
197
292
792
39
547
360
804
234
233
915
959
822
378
345
885
937
52
691
244
934
743
40
44
858
568
880
812
384
349
446
693
415
202
531
909
935
666
948
702
898
744
634
89
671
444
379
256
991
523
287
409
508
196
395
249
694
505
285
21
352
877
187
248
960
183
770
849
863
253
796
350
637
363
841
251
34
704
548
460
549
215
258
871
40
430
385
811
788
210
652
83
62
319
104
759
560
787
867
720
49
957
780
170
166
885
340
1000
618
516
894
935
937
686
661
837
557
508
921
429
223
193
708
951
628
650
417
947
759
505
998
466
634
324
863
438
983
890
152
907
960
366
790
65
158
43
618
785
36
181
944
417
360
115
46
187
433
417
533
401
669
403
962
52
554
685
801
126
158
787
628
55
119
66
462
337
492
305
241
276
904
397
764
177
237
455
864
84
448
563
193
353
197
103
730
901
670
295
101
992
367
106
811
789
619
209
762
739
340
8
810
15
800
65
638
907
240
430
955
36
799
502
862
712
515
17
246
576
147
721
230
919
179
43
52
711
641
863
185
419
326
57
199
157
572
66
606
574
6
165
944
165
583
446
383
341
787
824
482
714
84
477
72
509
594
255
874
926
466
527
141
585
647
839
551
869
541
522
576
126
591
108
781
184
937
980
864
579
140
205
737
214
395
915
638
922
824
903
87
541
167
329
476
656
666
575
211
138
996
299
649
958
875
706
476
531
356
886
830
30
888
823
192
669
936
360
21
969
334
944
152
413
552
473
239
673
766
928
894
834
956
777
712
628
229
317
93
730
258
219
613
583
7
556
707
50
890
500
606
448
128
681
793
142
353
945
710
945
448
859
119
16
174
861
264
825
422
381
985
21
803
630
4
692
859
975
877
642
392
20
529
739
280
548
864
323
675
458
663
954
677
734
882
491
388
241
502
583
782
842
286
226
959
946
142
907
162
79
330
231
411
497
380
646
726
163
463
39
682
656
889
512
482
681
583
627
830
910
653
744
612
813
647
876
824
990
664
651
218
276
283
532
880
527
168
483
299
615
295
610
542
563
969
159
805
194
204
412
978
920
557
679
845
496
230
582
186
661
97
246
385
611
341
880
74
124
525
417
12
13
286
591
620
281
290
820
599
992
737
759
564
402
502
252
957
353
943
652
346
254
508
195
798
252
549
159
244
348
163
61
595
275
450
18
920
944
319
707
178
123
855
73
826
820
303
34
133
522
933
973
183
39
395
708
348
220
694
993
492
201
585
312
286
178
1000
902
776
915
124
472
814
324
848
53
13
494
640
771
669
489
322
122
472
86
835
481
901
368
858
176
905
756
41
444
861
644
714
983
796
238
140
613
586
625
789
757
143
353
635
97
643
3
196
746
453
338
880
724
773
614
217
356
930
554
737
445
922
293
548
721
54
336
194
123
479
204
970
910
5
955
692
506
817
250
848
182
644
938
198
440
456
426
96
973
11
235
293
613
435
230
503
546
532
966
774
394
733
497
575
463
413
745
573
559
806
266
265
326
914
804
977
952
587
546
268
441
461
427
449
393
514
91
737
352
811
414
550
377
440
552
604
402
714
569
737
357
484
612
866
760
794
452
61
683
176
980
506
585
599
886
26
470
459
340
927
250
18
947
142
974
394
636
55
808
541
439
919
254
646
288
493
120
52
76
352
183
77
221
389
321
124
881
133
108
40
808
890
559
13
514
144
702
192
93
347
170
818
542
966
823
922
905
650
720
503
869
453
410
713
737
346
595
748
834
624
742
34
489
440
56
836
696
393
590
576
446
999
938
16
505
916
70
933
102
991
425
80
598
566
252
49
700
967
568
77
206
806
819
12
586
506
472
393
905
488
334
38
760
556
338
657
908
335
905
708
219
63
771
154
434
631
313
814
966
546
46
736
636
399
888
375
802
498
241
407
835
565
700
667
243
764
429
67
45
898
853
342
208
289
337
96
19
730
937
980
310
888
168
755
325
741
941
639
884
916
495
604
163
311
179
244
104
999
414
385
937
222
20
905
810
214
368
96
801
727
485
479
903
361
339
196
681
250
4
970
419
218
312
156
498
240
888
596
660
944
199
814
597
951
313
608
970
990
650
233
602
165
869
180
47
192
418
30
199
128
979
974
879
935
211
377
581
210
725
193
694
515
200
129
539
85
900
211
508
114
625
790
444
412
325
113
155
29
148
273
604
320
732
732
910
32
903
662
737
198
770
993
58
35
409
430
544
569
931
684
33
424
770
822
628
56
442
943
983
731
842
360
236
726
436
81
879
525
286
679
573
315
943
545
531
666
696
146
672
118
500
119
120
330
216
972
57
549
442
690
111
430
319
779
688
651
162
159
670
343
690
815
929
79
902
337
927
83
374
293
521
309
865
893
721
309
618
543
808
105
710
706
675
824
88
949
695
523
719
183
724
444
379
865
79
937
199
391
448
398
6
976
745
905
908
75
839
642
283
809
964
847
566
899
347
737
781
351
270
840
744
490
335
180
294
976
181
33
683
118
295
344
466
145
816
446
857
91
446
404
535
587
682
196
302
205
567
914
840
906
94
390
44
822
193
909
49
839
975
229
155
409
519
694
247
601
31
77
247
631
650
702
342
52
524
522
451
311
27
77
451
607
150
697
187
860
179
860
184
130
737
377
266
992
133
942
21
249
782
633
138
816
116
166
188
806
30
40
324
631
399
224
725
396
614
738
343
14
410
247
656
205
476
840
678
23
465
230
450
602
64
971
581
602
734
687
192
194
540
951
782
527
317
184
138
299
993
897
373
455
530
636
589
42
386
258
459
938
764
522
244
540
241
553
335
449
538
407
481
873
276
841
266
785
612
415
213
799
508
174
172
406
256
555
270
430
545
573
745
553
59
34
472
311
55
282
827
224
876
956
815
627
661
327
79
337
787
57
453
473
739
643
258
672
169
361
399
415
865
299
636
411
264
908
120
788
891
580
376
368
828
947
456
437
897
948
909
236
754
237
529
866
506
158
614
432
765
353
580
993
295
41
352
380
534
140
901
972
289
724
653
307
873
708
291
797
789
317
610
878
815
616
713
625
10
315
780
271
739
138
75
47
267
264
639
504
874
758
314
750
709
429
399
108
813
276
202
282
824
510
229
477
890
192
559
877
220
657
188
469
538
243
797
547
400
320
417
96
990
245
957
895
539
681
391
396
936
635
694
362
490
717
288
789
1000
356
846
856
511
133
763
534
150
981
555
984
447
710
687
96
402
222
82
327
362
819
656
511
441
205
759
476
855
135
307
82
1
187
753
791
551
805
753
993
148
565
558
71
498
611
685
662
797
366
406
611
466
868
940
922
100
582
6
344
393
111
586
365
562
8
301
28
441
808
828
422
987
469
157
679
428
643
283
19
633
596
174
720
610
124
420
886
185
527
28
537
57
544
231
858
399
188
33
412
98
556
416
737
544
49
841
31
598
891
641
562
3
493
462
32
32
984
673
362
629
202
23
292
603
523
436
717
752
191
950
920
897
200
296
728
916
400
487
146
808
176
116
203
731
981
742
589
715
32
890
167
450
666
672
582
171
229
6
7
124
880
699
536
559
340
438
845
459
477
859
530
490
573
409
966
740
250
691
602
899
370
342
394
420
609
256
432
102
77
140
927
255
69
1000
386
283
976
94
235
88
454
349
119
166
184
972
841
649
937
247
205
844
201
98
66
981
342
29
487
22
110
458
279
359
323
337
113
142
722
139
28
816
339
979
471
143
159
661
878
634
548
922
460
841
663
988
52
414
38
841
827
159
650
276
201
600
10
890
510
712
263
662
874
549
841
645
207
467
962
638
539
532
140
363
610
476
913
819
229
263
221
10
39
924
188
139
129
830
605
722
401
968
58
805
725
133
482
617
707
120
899
526
297
202
243
154
589
145
457
842
886
998
502
445
530
734
531
599
31
563
239
209
764
416
307
859
876
643
963
284
48
471
879
809
479
126
39
884
770
812
735
469
395
936
573
14
98
85
202
239
873
214
502
727
122
481
149
596
251
930
776
152
201
978
445
490
373
270
789
454
977
24
954
236
113
413
444
172
746
884
77
956
347
576
495
591
161
149
128
870
934
418
69
90
470
136
36
992
568
184
510
634
734
174
170
20
551
196
931
827
750
15
289
485
843
549
131
229
620
849
897
449
962
139
763
829
184
678
511
310
561
368
900
873
774
16
622
506
778
160
398
468
980
172
368
183
674
129
688
629
413
597
177
113
354
35
911
706
643
26
920
416
599
869
516
365
789
420
315
900
88
200
743
533
463
930
637
52
547
633
610
13
15
375
965
987
404
501
317
666
306
990
523
912
780
145
200
347
442
396
853
899
907
406
640
30
202
71
861
20
290
183
556
778
88
780
991
141
213
175
397
501
236
718
63
934
404
166
758
671
616
344
521
903
957
478
29
416
243
160
140
468
822
437
709
680
362
901
429
423
475
983
298
358
794
897
282
305
568
771
884
604
920
578
619
482
665
393
850
710
995
369
53
10
380
571
320
263
766
463
851
554
516
438
255
476
577
205
697
935
16
281
338
892
445
83
43
93
825
332
39
872
793
555
58
519
991
507
513
552
805
214
437
468
577
178
211
189
613
7
615
481
237
344
372
69
772
526
123
43
511
839
764
421
719
581
131
409
194
403
338
982
193
559
435
901
353
760
680
170
803
308
410
244
817
53
408
18
217
525
701
710
234
248
912
310
666
892
670
158
18
373
71
583
732
452
864
236
775
710
859
930
615
953
35
326
32
296
964
776
349
155
464
3
356
347
832
45
661
346
631
91
202
478
767
416
441
534
479
589
52
810
997
566
22
76
802
31
701
361
832
597
732
715
533
80
753
301
323
60
424
280
933
408
669
951
59
257
936
515
970
153
952
646
3
755
700
801
394
522
284
799
501
265
942
740
287
316
719
814
873
337
194
842
94
457
251
685
214
532
61
818
429
787
340
400
315
1
465
195
143
719
228
523
839
644
812
261
453
516
136
558
149
280
791
564
135
270
662
957
431
502
767
463
52
858
964
897
13
137
971
461
543
457
569
172
16
496
942
322
438
383
880
832
734
834
935
188
721
336
721
414
395
694
242
206
100
333
493
894
183
66
646
396
27
887
778
711
682
540
453
740
910
229
482
489
121
862
812
738
555
630
827
304
78
590
290
928
105
115
799
627
531
762
890
87
984
129
863
289
393
754
991
116
629
949
41
98
944
760
896
850
30
895
682
957
791
561
964
270
331
641
498
607
247
516
515
860
29
179
712
350
289
945
983
102
537
230
384
369
478
337
10
344
117
165
262
516
484
49
441
521
477
715
732
659
120
432
435
484
529
54
698
981
21
551
142
912
83
19
478
819
369
931
647
50
515
546
47
918
302
4
156
758
641
607
208
220
903
177
615
620
364
207
524
528
926
703
219
83
814
240
91
689
629
784
537
883
44
246
488
128
381
566
182
233
524
385
481
880
926
972
255
519
956
170
321
446
456
536
14
488
200
757
701
117
872
663
466
168
296
849
734
618
906
3
855
8
887
514
495
179
961
849
240
975
537
463
999
405
850
746
622
602
722
593
662
555
805
733
338
218
521
849
605
99
407
892
660
846
265
692
364
648
333
136
827
522
666
744
844
651
68
400
948
11
204
394
608
439
966
677
499
153
782
421
817
501
314
557
357
347
918
941
410
106
291
215
590
890
5
217
369
611
963
1000
453
176
397
145
122
104
715
72
300
983
344
458
451
210
760
752
361
337
42
951
452
199
616
512
612
697
336
280
408
746
707
784
165
446
810
137
642
958
472
6
915
926
322
841
684
541
628
593
375
503
231
666
337
201
488
748
927
405
832
431
469
660
472
295
931
320
792
179
622
900
205
955
412
989
579
974
756
478
857
747
267
285
176
130
731
51
600
432
212
521
578
423
332
460
352
182
921
961
869
71
945
986
173
902
64
788
866
556
196
648
993
865
199
10
630
574
151
653
523
612
731
43
343
662
896
354
543
268
387
957
325
311
586
349
913
708
922
627
222
617
298
558
988
265
12
279
617
759
255
414
319
872
526
161
596
866
277
516
770
850
662
334
33
68
519
372
476
739
630
823
616
788
839
74
257
868
848
610
882
564
373
42
403
576
858
210
782
965
160
187
960
269
421
820
543
396
880
100
923
734
492
278
848
837
59
151
974
383
38
319
609
831
300
591
664
367
904
868
839
257
394
33
173
711
181
358
408
696
378
914
59
926
790
309
687
441
881
818
628
740
226
664
370
453
325
750
823
913
695
608
970
807
843
753
777
272
60
865
773
436
958
451
425
418
351
718
273
217
384
407
822
776
753
228
340
714
524
391
49
908
308
394
661
105
485
932
873
262
778
249
207
116
707
766
536
803
367
122
759
3
530
35
326
169
282
559
751
884
291
361
825
311
314
638
956
966
758
153
977
773
913
670
783
484
21
760
371
36
458
524
209
382
135
336
380
622
685
55
602
54
124
528
60
854
464
392
973
685
161
345
940
480
408
53
414
999
14
840
109
558
992
142
738
460
92
442
243
298
163
108
614
231
666
72
454
778
634
806
679
440
100
399
129
704
325
848
433
552
177
846
126
662
653
480
917
900
847
213
997
507
638
483
443
680
987
33
114
837
19
823
904
945
992
18
854
725
847
47
431
426
292
214
225
125
255
657
409
194
121
720
597
635
372
963
133
508
120
99
416
545
572
132
620
355
607
825
42
336
537
445
335
516
592
398
131
71
814
982
869
196
885
979
176
335
852
232
828
514
851
657
117
668
699
365
454
414
670
720
166
654
840
152
743
794
172
539
230
96
863
776
90
895
582
927
591
956
921
17
727
271
749
80
728
978
201
552
462
867
711
486
422
184
841
356
507
24
651
382
556
645
17
450
398
451
601
656
232
231
155
471
294
475
459
278
117
244
464
816
151
105
160
646
153
120
264
335
567
727
80
447
31
624
795
828
296
465
1
897
66
210
493
813
713
528
232
486
382
482
906
327
744
74
700
570
529
915
734
723
31
399
109
444
955
283
686
725
360
513
487
746
947
448
121
218
601
386
717
309
961
452
665
501
706
424
861
829
473
81
277
17
513
976
392
950
746
329
463
771
387
923
629
652
159
432
595
949
963
644
990
21
996
404
542
450
514
916
872
803
834
256
77
345
710
549
252
320
926
305
755
485
786
802
338
642
226
273
226
751
398
879
847
102
952
76
197
682
674
74
757
538
821
506
481
477
239
331
591
857
364
207
861
601
229
314
589
806
959
639
710
483
562
244
338
36
474
943
587
50
994
86
688
852
672
894
252
86
720
872
51
238
763
359
820
644
541
213
399
29
757
936
6
11
871
303
549
354
507
708
661
957
105
962
578
692
587
282
75
263
107
524
425
172
400
534
727
754
848
615
41
971
162
746
463
341
462
127
645
928
657
56
302
800
228
934
934
738
900
392
314
277
271
160
319
328
115
325
300
761
976
29
529
297
661
511
209
10
401
629
151
516
809
646
517
674
200
109
952
263
511
118
12
592
837
135
61
501
551
771
697
512
90
637
332
163
732
467
769
723
139
163
489
552
986
362
884
322
741
375
872
235
557
84
151
125
261
508
866
29
642
224
587
446
592
821
354
942
153
827
956
238
224
356
767
195
468
807
239
332
974
550
567
680
341
455
154
761
167
500
242
464
354
475
461
416
270
939
155
209
550
221
992
509
252
206
812
621
152
51
623
593
197
791
400
281
512
992
640
117
931
219
656
490
672
124
207
767
688
356
424
973
198
373
895
67
83
419
458
565
172
629
473
988
903
243
319
240
487
367
430
552
509
617
442
94
840
201
921
663
836
724
704
156
75
42
102
665
293
999
79
119
757
788
61
353
52
943
206
381
129
722
801
431
525
711
964
981
853
43
977
656
23
506
367
323
164
202
356
159
886
93
380
772
349
981
193
667
588
976
477
509
676
474
991
637
601
50
26
248
191
409
344
519
22
757
833
669
1
481
830
650
249
77
430
704
966
620
144
511
214
875
927
16
917
380
954
336
942
424
532
298
814
860
155
314
468
151
50
246
482
840
510
870
363
901
948
335
818
66
858
762
408
274
833
735
615
843
366
986
168
838
401
12
396
373
522
722
502
261
209
447
910
514
824
821
257
677
841
113
168
883
382
549
696
816
300
49
189
472
878
603
397
722
724
167
820
218
604
618
666
86
729
734
299
191
523
660
720
520
987
561
450
329
566
446
174
302
862
247
639
894
621
271
577
400
178
106
910
81
926
891
49
829
470
623
928
450
809
840
258
642
277
570
629
107
1
930
274
95
325
129
719
810
964
908
72
804
684
655
427
432
943
527
685
927
213
914
138
444
715
496
299
687
892
944
819
362
213
75
790
774
875
866
371
310
512
276
492
442
323
293
305
150
862
928
194
328
380
173
387
835
737
82
655
328
849
192
147
924
105
505
143
38
416
100
395
424
371
243
776
610
491
571
140
393
705
490
679
20
11
461
550
979
712
259
228
103
781
574
864
812
649
595
906
859
178
308
380
941
643
299
529
861
315
782
930
724
629
427
874
808
986
320
473
358
949
36
969
510
973
395
713
973
827
919
571
882
559
404
879
461
186
316
599
723
314
877
67
478
493
849
536
344
497
1000
773
270
606
153
84
344
652
547
540
285
829
949
575
85
227
595
836
711
620
561
916
656
305
637
569
386
674
83
96
403
775
943
889
758
326
719
496
290
520
302
162
804
488
13
561
675
468
491
261
97
577
961
571
280
572
89
577
450
137
250
545
417
61
513
388
798
110
104
547
764
542
362
478
256
978
483
909
248
785
456
162
522
211
611
149
829
269
180
91
61
748
91
590
244
829
981
509
732
451
74
961
1
979
145
835
789
752
237
500
186
744
222
715
439
950
543
315
876
88
690
957
373
848
43
42
205
265
749
975
953
713
177
52
400
679
336
640
969
740
350
738
317
76
737
696
164
500
733
644
293
164
403
111
925
64
560
466
358
983
840
33
838
760
384
178
112
609
675
229
26
784
52
820
811
25
277
156
434
104
367
706
470
244
528
65
511
379
693
74
27
5
623
768
938
838
973
453
883
643
7
975
351
337
920
260
341
946
803
347
218
43
353
397
779
88
367
648
306
450
913
870
581
979
800
644
404
703
671
702
140
597
569
657
244
403
337
654
479
151
563
899
776
391
81
524
292
139
231
991
235
175
185
49
462
658
631
313
680
999
38
672
339
517
539
73
911
728
184
705
354
12
952
247
965
23
441
638
744
431
613
774
597
509
297
639
461
622
421
664
432
894
107
488
550
214
830
905
711
243
797
490
554
310
616
309
807
868
81
116
750
747
605
708
935
534
431
398
251
248
248
124
735
954
271
361
299
48
131
828
652
759
161
985
281
827
811
410
290
411
923
491
272
36
568
278
159
773
989
959
161
940
947
213
506
276
421
546
663
970
202
884
140
905
365
829
751
203
9
462
431
455
923
44
334
68
48
731
919
761
673
228
209
596
339
339
192
865
331
553
604
800
420
86
974
324
302
353
848
28
751
388
588
118
85
626
986
352
950
317
225
860
801
23
374
336
716
860
698
268
300
599
565
771
570
291
594
115
614
841
31
196
759
801
14
94
724
749
523
289
950
775
323
326
893
977
130
475
566
375
581
450
38
321
309
311
891
308
579
521
900
59
482
499
289
928
672
153
978
916
950
592
173
75
812
628
486
680
220
747
563
285
474
927
801
735
11
79
368
264
393
879
158
20
514
477
735
790
292
899
571
203
695
939
102
408
18
17
218
75
689
774
791
586
779
144
784
438
595
252
279
221
382
805
493
7
223
521
493
626
679
776
825
95
579
889
756
420
620
337
146
102
157
798
229
930
597
104
754
70
330
61
985
35
21
642
62
842
387
213
60
573
278
319
925
567
27
43
103
708
514
100
326
595
353
647
483
918
916
251
939
24
668
578
979
477
413
148
275
409
627
933
394
587
977
661
427
415
540
452
729
555
944
798
636
429
888
962
765
659
42
597
167
399
335
750
174
591
33
443
246
421
803
704
520
626
170
288
28
845
405
282
763
921
868
474
852
913
287
670
126
567
284
103
254
212
671
689
451
311
726
194
494
444
672
289
386
75
67
45
572
299
665
722
37
681
580
535
973
435
264
710
939
414
891
310
638
853
224
202
453
326
957
68
892
164
792
542
970
420
252
388
314
543
330
147
514
116
587
825
795
361
256
3
625
633
236
217
271
796
588
583
626
193
303
414
867
912
669
8
635
177
495
890
436
998
850
528
948
650
726
938
738
178
193
676
642
869
249
410
755
556
493
648
515
701
205
212
851
429
168
766
738
70
806
998
806
324
824
94
812
840
540
786
922
888
536
538
710
778
101
447
728
894
149
16
310
486
962
263
981
891
161
536
485
454
753
34
993
251
969
244
459
619
895
420
489
657
545
803
296
86
143
480
504
282
835
654
635
897
978
631
48
178
433
19
37
996
14
456
529
664
336
705
546
777
858
91
180
710
817
62
344
881
85
144
962
601
739
655
596
106
261
337
700
393
835
501
866
598
191
353
422
935
773
946
701
711
816
574
160
473
58
508
257
175
434
678
679
110
52
277
72
475
169
300
888
637
684
701
364
577
866
212
917
508
647
838
443
403
847
731
95
972
113
410
129
696
178
312
322
645
303
232
264
170
407
529
572
24
424
868
696
89
917
912
511
728
801
566
349
668
344
329
472
478
245
834
225
947
719
891
283
81
958
219
481
27
274
568
665
953
520
131
911
809
68
986
213
928
779
789
474
639
886
111
182
401
663
621
713
505
61
761
568
43
251
709
191
662
161
184
237
631
618
97
292
852
708
124
62
760
284
50
21
509
362
106
337
437
301
606
647
572
240
894
936
855
286
985
312
838
296
315
964
843
946
699
969
959
944
925
882
778
899
442
260
515
341
206
351
963
842
96
195
779
12
270
283
759
367
425
756
80
744
258
829
970
966
296
772
913
914
906
301
272
51
513
694
185
693
974
264
682
5
590
125
234
787
504
284
364
595
39
224
537
651
111
72
261
281
21
337
224
346
754
12
349
227
433
480
819
466
718
315
520
65
754
532
829
813
733
276
360
711
256
248
99
744
469
387
353
785
381
465
52
366
834
284
269
439
398
101
234
1
805
769
768
634
646
822
787
609
738
401
472
177
959
487
758
75
366
379
43
67
102
725
385
559
940
725
27
941
299
277
754
312
231
992
484
692
187
944
467
654
327
989
670
530
772
269
225
21
461
257
307
64
231
315
465
279
303
297
183
195
628
144
443
701
435
776
130
862
886
868
413
316
967
198
629
960
596
387
793
530
491
788
572
967
484
162
464
207
843
578
950
84
640
662
600
633
369
915
476
938
816
322
658
41
659
902
430
162
393
142
450
615
953
500
234
372
843
287
415
161
677
272
522
382
765
296
496
860
814
27
738
668
832
767
276
786
73
828
528
417
227
636
248
108
54
123
431
682
408
402
381
158
872
975
661
467
270
922
363
791
949
635
981
776
49
633
181
704
926
944
951
941
544
318
911
650
899
300
62
764
491
775
890
720
451
185
528
289
167
9
636
112
167
487
756
246
566
801
181
75
609
95
763
471
714
776
703
942
935
529
59
848
968
330
608
435
645
568
768
582
378
27
437
663
143
132
4
845
437
328
279
498
71
893
770
107
812
782
543
242
643
367
904
686
877
8
263
767
403
467
839
334
142
121
320
555
149
748
195
907
895
439
227
319
948
854
481
403
658
585
365
110
481
882
405
948
267
369
827
115
143
667
598
502
680
32
257
547
625
215
728
355
828
746
323
316
941
785
310
708
101
457
737
406
77
347
713
882
294
453
941
124
755
407
135
974
104
261
876
663
997
440
572
986
501
741
467
639
447
424
41
756
557
484
723
538
667
197
591
215
574
884
589
242
864
643
854
790
579
491
954
69
739
934
166
994
527
521
461
989
439
324
532
508
792
614
998
959
794
225
940
303
778
226
27
532
325
561
805
604
734
255
155
190
695
635
563
750
98
769
561
55
596
992
673
242
961
945
209
912
246
32
562
540
482
591
962
730
985
338
270
405
320
855
17
88
646
983
823
833
449
988
279
196
683
280
594
894
894
274
596
429
249
731
187
7
265
495
975
554
683
158
594
473
129
533
194
78
123
250
662
304
590
984
434
382
180
17
127
650
631
892
849
579
909
892
742
378
59
964
199
268
512
470
270
607
145
885
943
604
482
108
347
236
275
592
454
369
163
902
507
783
206
620
229
961
909
749
869
72
746
889
245
484
313
504
267
582
964
535
865
361
214
459
838
495
228
662
930
144
433
638
336
748
688
113
924
457
442
642
697
655
9
636
381
229
440
35
621
868
449
52
895
663
518
510
189
762
613
289
413
601
896
322
788
523
466
396
674
224
415
723
863
496
428
899
958
251
760
390
259
594
645
118
539
71
115
96
188
819
763
295
472
478
194
82
69
196
781
663
623
941
880
904
783
671
829
811
85
577
910
719
91
769
939
948
363
262
315
256
257
72
148
958
989
547
582
963
122
808
515
319
445
312
735
59
170
110
884
292
558
326
797
499
335
740
469
961
735
149
337
61
595
330
604
997
715
40
62
67
589
445
230
272
700
806
663
473
807
10
960
667
34
768
361
304
106
916
788
692
813
258
875
682
574
837
802
802
73
338
760
940
14
576
449
483
451
658
323
539
568
479
214
510
461
631
572
810
246
726
775
971
781
345
915
726
385
544
975
914
205
908
557
209
307
647
194
751
130
116
794
715
685
445
947
763
753
662
690
68
406
840
793
333
346
273
805
800
933
644
890
759
278
481
967
472
446
919
775
765
649
936
270
718
271
808
198
81
716
439
768
6
382
635
104
692
469
129
566
345
983
344
71
626
32
495
270
432
440
561
820
394
768
131
996
979
91
843
596
447
228
426
407
199
697
907
528
259
358
600
468
704
553
900
274
904
587
769
889
287
533
990
567
232
703
966
467
338
581
853
456
22
661
287
762
879
433
841
354
709
708
593
839
455
566
890
212
556
489
449
23
368
666
461
399
392
1000
209
865
1000
121
73
128
258
561
441
793
197
315
222
503
602
190
109
141
978
737
742
524
858
16
184
524
26
181
908
627
548
638
624
756
730
550
823
599
248
576
878
775
738
42
906
937
52
188
362
278
286
724
519
3
375
726
565
27
769
782
37
529
232
404
718
29
306
944
911
336
338
627
210
51
280
874
533
322
645
790
154
171
98
525
939
68
195
265
806
332
651
741
663
635
378
498
744
89
220
631
288
389
977
342
989
35
812
462
494
935
608
27
496
573
165
115
660
487
409
410
684
32
909
358
306
263
110
405
939
302
626
463
948
740
832
728
261
469
793
931
145
833
228
363
480
134
844
354
802
352
844
378
718
394
850
668
26
308
795
2
29
684
540
337
85
897
136
99
378
928
662
214
274
255
522
434
399
720
924
119
732
302
43
375
607
489
992
398
517
272
330
929
971
844
293
965
494
748
300
252
55
572
610
633
818
291
154
35
126
983
702
712
87
997
499
398
913
570
446
175
450
557
690
198
953
179
228
896
224
654
767
896
686
156
581
738
825
787
607
363
725
175
306
496
55
841
133
285
995
705
560
987
58
996
717
62
640
313
653
784
485
805
119
327
894
279
545
381
676
510
596
502
335
216
272
796
903
954
26
22
198
653
800
888
981
643
170
125
670
791
39
910
795
811
434
355
348
894
4
57
545
558
746
167
282
12
369
42
755
400
404
287
281
997
895
957
358
804
16
707
404
22
470
952
390
556
892
479
822
60
756
481
117
22
503
691
459
23
673
165
620
658
865
259
105
523
219
507
163
331
973
461
919
471
347
6
873
293
630
320
499
947
911
427
555
893
305
260
941
77
895
244
671
344
864
665
568
850
430
539
799
148
307
234
260
100
333
857
118
997
852
288
538
92
150
804
714
229
3
412
863
444
952
400
772
188
440
86
791
310
361
457
941
48
870
185
931
61
557
498
424
959
182
518
877
903
239
995
607
564
530
767
540
146
795
941
259
255
204
502
547
75
152
18
621
721
403
146
648
640
61
901
920
636
272
42
298
415
792
438
122
566
817
21
836
530
486
758
965
421
564
102
950
542
644
548
573
42
71
235
332
449
505
39
214
753
657
216
731
293
283
458
989
953
963
184
792
81
516
972
500
94
210
331
390
960
10
392
823
610
263
725
360
864
111
154
301
646
864
397
821
88
309
350
989
651
655
69
493
494
391
828
781
190
844
189
715
310
648
629
530
532
632
156
57
726
869
280
713
864
768
871
728
743
103
714
431
205
839
32
192
986
447
841
807
354
164
792
667
433
318
26
77
458
392
698
446
273
982
11
923
20
195
30
197
346
297
37
856
443
634
961
682
869
930
190
689
438
90
164
567
415
526
247
408
870
861
765
247
342
571
525
1000
882
782
794
858
135
933
524
13
384
502
515
918
362
322
367
928
218
253
293
248
212
167
310
627
614
253
884
118
805
623
849
511
731
84
296
794
755
727
185
67
400
671
614
891
665
915
68
946
376
719
435
240
532
407
298
831
692
725
803
160
264
190
386
673
953
927
802
342
760
583
163
70
630
802
178
746
267
634
343
858
714
977
660
207
964
826
314
204
293
670
859
658
992
840
681
760
889
16
888
161
371
352
324
675
635
903
113
156
524
115
988
507
637
163
660
628
361
802
690
357
82
257
591
80
128
359
443
753
934
794
872
535
476
850
81
99
316
506
557
947
468
31
191
738
871
549
797
733
465
151
445
921
732
233
604
324
117
699
815
243
890
543
486
937
892
114
484
345
69
81
363
965
878
665
432
929
438
272
404
688
789
12
993
385
718
959
687
216
401
179
896
588
554
745
804
836
863
921
553
663
203
705
841
200
598
734
621
768
878
311
341
32
748
990
102
189
344
708
169
256
366
936
509
313
580
690
420
757
818
547
856
267
593
984
749
162
103
467
499
280
727
724
791
354
39
535
100
62
37
210
543
615
531
622
224
764
565
324
872
591
378
780
344
301
597
218
528
495
316
931
282
108
236
128
317
236
267
590
335
618
878
442
323
383
991
360
626
13
408
366
322
156
606
186
439
54
216
823
794
859
677
602
557
40
348
430
162
434
830
469
882
190
389
675
161
65
109
938
839
9
902
656
480
3
516
616
358
430
504
999
78
41
459
193
425
788
918
807
799
310
47
3
499
926
570
767
212
328
460
262
293
982
583
767
784
480
826
973
704
655
231
648
811
338
335
730
900
14
192
940
735
521
537
921
840
128
188
706
748
1000
22
59
746
98
835
858
823
35
962
224
296
254
790
544
569
170
199
875
553
611
524
493
561
952
847
493
909
843
306
408
20
314
617
820
555
359
229
781
15
785
316
662
250
258
363
751
560
959
227
502
406
232
355
848
255
901
338
413
769
704
75
754
374
410
609
9
196
760
131
442
537
317
748
419
314
672
331
295
360
245
201
523
81
63
435
81
734
510
310
940
501
19
770
890
616
74
837
505
33
690
543
399
496
751
341
228
454
195
931
78
908
65
72
963
192
859
296
200
654
455
381
285
409
115
73
769
626
744
819
308
341
587
206
725
361
51
409
436
679
179
174
49
739
567
779
284
991
216
974
620
465
877
121
248
482
928
610
943
221
751
182
486
577
837
948
114
635
583
748
269
133
852
1
628
479
889
316
960
268
102
988
900
709
567
930
107
100
840
739
611
268
819
366
378
896
935
281
233
788
923
142
339
422
777
694
364
583
278
50
305
490
636
558
721
573
404
167
753
991
777
585
909
53
811
558
41
927
881
254
334
427
919
121
415
199
573
541
866
318
461
288
546
199
113
82
117
692
33
530
80
443
542
326
456
892
724
887
951
789
836
543
107
727
1000
960
427
998
878
745
962
14
270
92
147
661
288
856
960
201
806
688
624
755
411
728
147
994
942
869
956
365
27
811
786
107
736
939
735
315
567
583
126
541
513
353
388
755
897
54
688
33
962
158
447
953
973
933
198
579
726
95
473
820
898
296
509
155
646
846
638
942
213
821
139
56
93
101
186
126
443
945
288
476
65
437
276
742
219
496
441
238
967
178
940
374
516
666
921
807
258
731
141
550
812
373
17
991
385
76
173
573
219
370
528
972
686
380
893
717
885
669
862
552
179
939
513
320
219
118
32
772
420
914
961
523
737
212
170
290
855
546
21
699
586
465
436
167
340
832
769
820
41
935
405
952
748
858
22
294
526
721
321
212
858
235
795
38
965
531
831
901
934
370
15
807
507
636
35
217
666
508
957
48
933
800
4
836
427
757
166
800
285
20
99
663
988
563
834
401
534
157
715
511
135
323
881
42
318
780
320
337
868
120
222
412
72
826
889
931
88
752
965
975
80
884
107
218
970
549
518
629
265
206
947
542
435
657
858
789
763
759
494
601
396
758
436
144
580
915
120
910
713
435
461
614
882
602
377
949
25
632
557
284
724
2
224
384
885
918
29
320
266
127
447
998
878
523
212
154
773
849
387
253
645
326
667
438
953
233
340
587
990
292
190
553
441
232
239
886
493
21
888
686
466
99
488
734
311
402
791
741
8
74
52
364
83
560
767
614
1000
205
179
447
126
558
697
584
373
359
346
98
338
557
171
863
989
778
325
776
490
402
184
549
771
736
443
936
831
830
570
528
577
164
435
603
184
759
163
69
619
285
482
257
946
368
932
150
479
627
299
665
694
928
555
774
19
969
396
560
294
581
202
804
740
71
869
321
707
532
491
75
392
258
334
28
913
362
862
813
880
193
864
557
624
412
859
624
770
428
53
595
724
449
66
572
948
554
562
728
596
76
664
127
226
38
758
992
772
580
870
981
956
82
318
535
581
195
735
26
945
79
903
281
720
959
34
995
219
501
274
745
916
655
256
544
449
305
449
385
123
514
908
790
78
180
786
150
908
655
636
586
457
231
78
100
970
462
902
34
531
914
51
259
954
356
199
18
896
320
861
91
995
672
41
780
247
128
450
233
668
588
223
794
553
826
893
393
255
330
90
469
478
6
83
554
534
94
793
452
874
837
372
877
480
401
778
541
373
46
30
940
582
838
1000
482
405
972
645
225
691
398
589
171
170
547
805
985
572
860
966
38
379
267
706
882
592
947
644
607
804
507
519
55
213
177
201
535
950
732
653
498
226
655
163
624
389
466
259
904
888
238
792
591
563
83
602
360
401
779
7
601
107
758
160
544
403
432
929
847
982
156
555
314
391
191
802
692
989
700
697
841
263
147
253
136
447
486
732
668
398
153
151
633
90
198
678
356
952
870
545
530
491
573
850
592
293
383
417
641
555
288
441
925
751
855
245
736
888
314
870
502
117
929
603
944
87
96
766
472
557
824
301
369
256
121
692
930
863
341
795
411
301
725
986
565
238
231
850
577
797
204
312
390
13
640
707
802
482
571
811
210
995
573
234
536
685
538
935
721
356
599
795
133
226
559
356
377
251
249
843
303
600
3
542
430
575
810
453
646
488
810
877
776
557
475
297
541
903
196
424
515
95
61
800
903
515
236
714
358
18
743
455
595
959
427
156
279
708
516
544
484
178
547
939
65
737
342
754
444
100
385
545
636
467
188
421
803
197
203
217
312
778
414
388
7
736
978
24
394
347
215
729
536
760
780
363
712
158
76
811
315
112
855
12
43
175
444
438
165
41
258
120
533
340
82
76
49
205
98
718
517
333
803
377
131
106
750
633
397
764
543
507
936
270
596
916
450
728
986
11
102
718
142
136
723
890
192
199
517
526
585
171
419
534
934
297
854
533
164
342
394
254
706
853
765
489
876
17
681
198
610
122
268
197
392
41
177
57
571
443
80
452
251
603
887
219
591
820
936
827
666
412
372
761
5
215
139
604
531
287
295
204
940
278
884
401
442
529
204
216
429
516
111
300
835
689
963
677
899
119
906
525
564
586
450
793
986
957
736
968
496
705
441
173
870
464
11
112
966
322
807
52
616
408
769
166
166
975
435
91
198
786
484
442
799
153
496
414
180
325
282
286
592
303
978
825
260
337
64
123
481
520
607
367
129
907
334
392
569
548
573
658
352
660
725
448
175
931
680
679
235
588
506
713
565
455
836
928
876
683
585
639
193
217
23
140
862
358
789
277
530
957
122
965
325
897
416
498
825
498
274
318
295
421
352
187
370
425
635
293
580
112
269
935
96
349
695
838
616
677
654
48
606
381
539
608
993
298
720
911
943
676
708
675
630
546
436
27
706
161
543
19
780
10
223
256
325
803
165
975
348
615
67
73
588
45
483
64
212
886
76
896
751
259
866
886
513
622
753
769
806
336
392
992
111
740
500
969
746
777
801
919
682
269
118
331
908
895
554
815
139
727
338
332
726
996
644
318
356
375
635
258
470
644
48
632
390
93
858
971
813
379
974
957
661
847
433
119
304
510
283
718
793
8
176
796
71
824
745
252
84
995
960
990
349
344
17
888
798
983
787
340
662
493
484
597
751
676
7
28
729
277
368
628
880
363
717
841
441
345
736
817
768
766
608
702
489
53
313
490
329
406
778
235
462
876
240
136
99
471
285
153
513
805
170
270
854
444
446
524
918
564
349
176
505
960
172
213
108
792
576
441
477
629
843
55
9
522
184
464
32
842
495
558
774
597
445
363
237
752
345
185
230
863
30
962
545
967
915
514
639
276
427
765
185
653
286
840
584
263
467
123
819
61
236
997
79
968
338
988
188
707
293
475
228
239
742
957
676
692
976
111
11
462
92
507
30
900
722
922
39
628
879
622
673
71
303
875
356
216
619
214
316
976
712
635
609
781
20
32
846
185
830
611
189
342
261
976
672
175
352
832
158
951
522
990
2
754
777
465
53
37
175
965
752
47
459
24
889
404
268
330
53
533
995
571
958
984
203
247
542
857
476
451
247
723
740
591
920
435
355
375
551
196
748
150
465
57
973
897
627
829
313
700
467
995
993
581
962
830
129
902
787
356
271
414
987
202
295
181
999
656
932
263
826
446
925
28
826
862
672
431
900
815
206
381
811
394
552
607
984
237
810
32
458
809
807
763
530
270
791
217
275
177
436
803
356
699
375
832
430
367
596
9
25
642
276
938
994
748
70
584
490
274
438
482
961
31
320
851
849
535
355
417
499
248
911
901
288
439
342
644
161
98
306
743
531
838
428
447
991
164
319
255
408
761
743
349
738
717
730
496
339
693
561
571
647
117
848
161
842
399
382
512
511
30
26
256
387
166
699
926
967
972
405
264
169
570
352
728
221
890
413
381
660
130
607
600
673
793
770
599
981
472
349
827
145
660
39
707
471
851
55
24
664
115
978
493
992
161
410
709
14
601
223
712
840
781
741
865
513
61
65
611
314
886
643
941
721
333
334
72
298
64
448
954
26
783
682
654
418
382
441
625
342
883
759
116
623
237
943
724
341
741
66
189
262
619
690
42
954
817
503
671
992
652
114
675
84
307
875
134
99
510
459
551
744
947
889
801
67
96
844
349
73
206
390
384
465
72
686
275
937
128
881
946
505
121
125
332
77
290
576
79
832
547
340
44
8
632
516
952
391
578
908
777
122
138
513
24
449
982
587
113
707
606
947
492
100
866
192
936
844
998
680
742
847
762
429
149
373
110
605
389
79
376
856
225
403
547
611
682
531
599
345
983
61
240
967
331
65
653
717
298
442
998
411
67
341
484
409
640
963
830
447
472
220
761
345
647
590
28
637
886
986
95
401
132
627
241
890
443
695
351
94
218
33
45
36
534
265
151
410
520
485
725
185
246
117
944
894
547
617
280
657
590
452
242
419
753
175
873
492
546
508
912
261
916
15
219
817
249
363
599
381
766
169
654
580
855
125
677
60
33
436
863
434
888
596
328
282
357
193
520
776
119
725
604
500
719
394
315
223
285
452
605
696
328
961
109
34
187
759
113
866
132
19
213
256
979
23
321
325
395
696
18
611
686
990
492
492
993
423
478
386
273
964
687
26
374
964
164
860
783
36
913
475
346
617
906
26
384
437
296
829
128
299
227
633
342
344
167
618
328
476
90
809
239
730
143
446
789
134
672
802
984
78
596
121
464
260
169
590
412
53
100
758
751
532
857
388
529
449
733
507
976
179
913
327
703
13
347
804
923
218
718
807
342
957
154
283
618
516
642
319
873
258
268
747
765
408
542
728
68
65
33
843
529
793
471
310
11
801
291
334
584
948
318
44
267
797
905
111
599
495
393
948
50
521
197
344
600
241
169
457
437
765
134
414
863
839
690
124
932
337
380
520
287
486
370
174
935
119
595
105
409
101
178
654
908
557
564
498
482
711
447
224
295
919
54
414
311
982
786
841
494
907
479
211
755
111
854
873
436
444
762
42
75
539
958
390
563
733
993
298
562
184
737
672
266
911
751
995
109
157
402
193
81
878
201
985
659
168
281
600
183
137
339
150
709
73
656
469
997
735
974
964
285
279
128
833
965
613
345
68
72
954
997
780
767
980
456
760
621
254
395
619
561
511
507
536
815
24
174
396
27
475
33
82
10
684
758
771
274
113
608
356
532
243
480
533
912
848
242
664
457
664
124
268
834
169
809
864
851
32
653
951
516
254
151
98
886
225
390
478
874
682
691
695
524
56
104
416
999
803
690
147
678
83
775
482
294
609
500
281
35
554
989
524
840
173
434
55
970
181
240
23
22
3
105
588
218
718
598
389
729
890
357
342
232
529
490
561
669
68
155
593
409
625
591
695
608
793
29
583
603
855
52
944
579
645
954
1
604
224
556
612
358
164
775
684
507
543
944
192
772
624
529
693
147
861
400
70
623
47
294
138
30
387
420
894
286
782
417
421
428
871
76
904
289
228
235
773
573
632
295
719
407
542
657
236
112
710
143
360
98
402
220
489
271
826
364
538
299
168
479
155
376
138
649
455
913
14
840
484
682
965
384
662
523
874
216
568
671
962
856
719
125
269
95
463
246
444
159
695
958
365
909
881
506
816
292
778
702
826
796
339
14
309
186
493
613
307
130
901
747
503
638
323
389
663
427
926
145
305
405
741
826
212
499
452
937
384
941
920
546
621
955
114
674
229
509
647
373
263
424
740
136
317
668
205
134
118
110
32
49
81
356
244
957
550
536
946
781
645
84
921
346
546
608
706
939
522
946
804
601
245
335
562
63
743
467
337
378
842
845
702
807
121
494
869
431
195
543
968
327
603
652
519
853
727
533
251
757
917
74
398
354
440
664
739
990
981
410
965
380
134
809
373
151
768
352
518
131
163
252
201
477
590
156
111
763
302
286
482
491
12
902
397
346
562
384
717
680
844
491
189
355
45
572
981
75
924
595
727
768
144
842
212
431
651
74
959
53
707
743
346
918
470
578
319
607
955
498
442
503
764
331
797
441
282
268
199
450
872
336
312
165
224
415
497
619
172
488
650
575
215
899
869
475
460
331
501
384
940
143
40
996
50
446
352
913
377
12
935
904
339
722
265
781
857
733
789
889
758
975
803
894
720
908
269
757
347
676
623
292
414
949
737
675
388
756
516
651
97
570
59
937
816
750
896
491
93
194
605
938
364
740
23
382
773
379
322
265
638
863
478
722
697
642
42
91
597
350
644
854
100
281
404
297
125
347
233
612
51
68
51
1000
677
7
119
558
870
919
974
400
175
579
991
490
634
903
170
142
636
497
608
6
851
218
998
602
235
696
666
186
637
976
873
777
743
657
550
676
986
927
207
713
571
895
488
743
941
477
723
634
860
908
885
93
781
616
553
210
330
807
841
504
526
621
757
627
848
111
142
569
361
638
152
399
911
466
222
111
804
522
611
85
519
254
888
69
701
535
211
342
128
346
808
887
379
770
882
997
647
476
42
739
539
416
454
50
687
987
139
113
728
222
233
790
519
921
551
568
459
780
524
455
447
707
413
711
318
489
724
108
547
924
928
697
651
302
886
644
996
885
897
805
636
641
901
129
424
28
158
876
852
73
702
865
20
340
947
689
654
616
104
887
333
334
463
556
953
801
213
799
978
277
144
687
217
831
522
125
709
687
431
141
791
467
95
613
568
327
41
400
855
503
490
157
49
183
9
868
611
934
309
266
511
164
30
858
524
184
517
257
272
519
860
844
707
20
938
596
114
202
810
61
771
989
554
65
131
674
580
719
737
523
515
676
153
883
982
414
825
45
3
514
179
413
285
510
216
709
336
932
547
33
247
561
112
635
965
773
781
135
53
66
679
745
261
541
334
811
724
108
700
562
220
711
678
541
734
678
28
604
506
586
448
739
874
741
165
206
450
387
602
647
623
332
549
916
923
497
798
309
547
245
388
799
204
45
446
619
498
112
108
282
265
241
148
676
632
914
771
400
90
145
476
941
515
242
19
543
943
802
296
928
830
846
389
85
717
903
101
421
473
273
90
502
769
417
54
450
31
651
552
833
871
852
693
525
938
918
347
612
189
86
529
854
811
39
310
628
424
927
953
542
736
29
933
116
504
849
207
3
540
808
376
265
490
562
334
82
298
218
674
138
574
342
337
612
604
724
967
365
316
316
9
409
382
624
837
244
523
106
111
932
238
801
89
89
406
512
895
101
648
326
550
951
915
180
148
15
475
468
728
73
392
395
226
546
604
895
403
693
936
459
787
64
707
137
484
55
137
312
174
768
406
596
726
748
50
319
663
363
359
662
118
723
580
415
23
84
30
733
41
621
652
13
102
286
177
192
528
257
817
373
396
100
305
638
190
382
203
337
804
895
630
924
661
87
921
618
28
527
303
804
636
461
362
68
331
614
922
240
831
359
997
596
595
338
604
663
449
406
595
666
901
489
124
751
985
596
987
548
87
759
913
511
455
89
785
749
974
524
908
727
374
83
694
304
241
582
547
72
71
872
314
840
142
610
408
425
167
444
565
604
517
316
283
212
310
239
153
875
824
523
683
807
480
935
695
429
126
675
69
296
466
368
422
992
256
513
301
163
333
944
581
857
613
889
100
687
969
177
952
80
286
975
528
113
38
190
108
943
486
349
756
890
925
315
326
603
465
693
643
522
505
139
277
106
400
92
901
848
818
618
912
189
943
178
850
791
979
120
165
547
388
605
51
871
905
513
386
494
668
582
318
54
701
653
635
185
642
473
900
714
771
893
242
834
374
689
827
771
997
479
271
603
354
354
713
307
568
933
786
80
888
502
524
206
285
801
60
528
93
780
78
618
429
373
126
332
220
897
304
306
522
231
310
317
247
305
526
165
560
758
643
859
965
867
291
475
561
944
302
975
4
469
511
677
497
131
456
805
503
848
941
739
946
536
190
178
394
103
255
393
55
684
372
168
495
627
254
811
627
96
631
833
875
466
955
509
438
867
826
551
191
325
603
541
98
977
654
639
971
713
855
268
37
457
304
173
25
975
673
272
470
779
271
184
465
188
679
196
391
74
766
665
21
168
12
581
961
41
324
52
633
63
930
982
838
670
544
118
495
293
703
923
316
133
70
448
42
796
548
500
328
458
237
916
559
850
638
661
653
858
6
853
388
929
439
484
922
810
92
824
928
353
915
996
230
267
429
187
891
713
355
333
463
606
368
863
522
306
845
291
647
172
241
998
735
71
654
574
922
544
201
435
376
769
67
287
962
871
480
170
67
386
406
465
920
904
443
233
345
3
288
716
244
580
107
647
39
624
372
240
928
270
998
413
111
695
123
811
45
69
511
680
402
296
349
500
639
710
144
538
996
268
558
200
300
9
271
95
159
735
368
250
20
910
342
788
66
775
524
708
149
526
644
74
757
225
264
80
537
770
36
948
46
865
78
546
195
453
292
962
335
448
105
992
57
950
940
655
529
345
709
395
674
805
759
591
528
767
988
363
923
884
312
419
987
815
247
883
61
947
169
624
311
844
693
567
710
738
715
917
85
884
887
966
599
975
676
416
403
88
704
729
154
833
775
54
795
476
835
688
253
804
146
898
717
431
95
130
752
26
415
288
808
710
54
850
587
463
578
983
364
943
771
752
550
540
85
736
751
866
633
66
74
95
763
980
701
774
586
475
592
763
479
537
703
933
266
713
324
165
686
541
943
934
808
412
556
493
242
994
509
239
344
280
746
378
157
622
807
394
462
886
59
144
155
982
401
658
159
609
126
800
191
961
728
29
27
562
146
412
328
125
411
909
728
528
639
686
616
577
105
893
998
216
443
896
859
244
97
428
719
386
783
517
427
793
115
318
815
647
495
171
498
571
55
326
2
972
739
748
377
272
569
353
652
238
777
829
791
238
746
931
303
338
658
753
299
579
317
30
569
663
880
964
214
534
113
403
481
13
373
483
680
754
712
966
529
231
374
626
800
425
504
947
910
110
37
335
959
413
615
794
777
381
847
724
741
853
397
88
478
827
186
719
72
864
460
927
84
820
616
889
498
302
421
548
700
848
728
841
733
746
864
153
352
806
621
794
880
127
181
189
444
133
360
185
954
681
287
566
84
70
986
431
624
159
383
550
767
605
908
207
299
452
249
324
215
895
766
845
960
80
761
454
368
230
92
735
385
199
591
742
812
824
357
822
659
66
303
212
155
994
223
577
112
132
290
215
129
526
97
43
79
194
278
891
421
272
314
833
136
267
326
475
530
296
527
182
690
127
565
185
135
92
134
417
82
677
96
682
778
708
841
472
591
569
783
346
851
796
669
285
988
769
881
839
181
909
4
223
521
976
717
715
720
591
521
868
499
75
868
48
106
53
49
798
846
55
555
326
128
499
731
217
286
63
211
94
352
389
46
546
44
519
413
92
436
201
525
350
213
472
658
861
895
486
254
193
177
619
670
77
342
271
485
310
739
662
215
79
481
105
941
186
847
938
603
348
348
309
651
424
58
484
370
908
600
216
387
500
144
967
816
907
847
468
45
279
475
171
366
847
311
658
551
400
81
935
978
211
322
874
117
894
528
750
20
479
433
947
933
655
18
420
358
763
156
443
629
608
339
470
595
551
604
723
91
716
574
227
662
302
554
588
450
166
708
750
232
878
694
347
347
351
526
31
664
54
86
326
786
525
447
150
416
587
95
140
168
228
197
297
153
587
333
274
335
853
447
857
4
187
356
765
712
965
834
961
663
728
155
47
864
241
988
195
306
976
701
256
67
134
473
388
518
78
67
542
716
630
785
650
704
276
895
192
650
719
791
96
668
596
229
621
738
427
273
920
338
5
981
513
290
535
448
751
832
779
551
690
141
345
630
476
329
71
376
482
485
103
416
928
441
908
413
670
781
944
40
153
60
114
839
291
335
478
799
145
874
892
489
861
365
373
688
253
9
61
786
813
652
543
638
667
511
179
199
206
90
829
5
671
624
33
488
997
740
250
205
578
66
262
261
443
196
219
636
537
761
65
615
408
360
322
285
621
741
260
864
657
957
524
662
884
164
172
654
410
364
918
953
310
667
81
949
724
592
380
548
826
498
240
688
497
504
744
324
811
149
670
111
147
597
357
336
768
432
254
36
265
925
130
810
95
216
837
603
794
13
449
575
122
276
350
254
532
822
558
348
851
967
166
966
21
114
273
487
54
669
208
11
100
786
153
132
683
222
512
762
699
19
471
872
741
808
272
312
659
311
625
319
63
969
570
926
628
733
820
256
658
743
303
598
344
991
171
233
563
112
35
228
847
116
551
770
371
211
764
198
426
883
835
554
853
28
842
351
345
270
373
273
366
526
538
658
658
551
825
994
964
415
982
82
656
858
707
209
382
17
476
417
754
282
281
964
332
943
410
113
858
852
622
705
773
522
278
360
525
981
11
729
97
211
525
958
461
194
982
408
387
424
210
726
151
240
672
548
187
498
740
486
690
898
300
558
462
748
144
883
95
84
920
304
657
820
631
561
666
66
795
799
49
801
437
466
177
891
6
125
807
785
166
299
977
337
164
231
443
866
145
377
270
989
337
493
567
748
518
439
148
259
551
198
144
446
58
148
163
431
488
331
650
770
960
325
500
84
231
315
832
560
75
170
48
439
178
598
976
875
345
3
911
498
495
235
866
588
414
282
172
31
697
852
867
109
662
930
962
763
252
648
794
168
143
226
115
322
292
314
506
899
174
797
987
799
821
28
392
643
554
463
221
995
9
916
175
215
651
967
513
680
450
612
718
560
862
855
680
459
497
837
750
29
162
22
592
66
27
115
687
718
742
704
741
173
261
31
979
579
974
924
533
49
501
690
661
269
190
666
576
646
880
236
18
929
12
299
526
939
519
622
566
367
224
16
294
622
675
979
744
335
419
316
659
463
759
263
23
871
914
783
590
930
338
62
334
907
678
698
830
896
474
700
2
596
241
245
543
517
21
46
614
76
840
332
61
618
745
667
490
615
291
293
60
153
373
213
682
358
310
2
689
595
940
194
687
116
286
151
462
313
44
522
290
922
735
731
973
287
876
490
214
301
933
964
716
735
136
51
508
458
457
232
580
481
195
572
843
849
623
746
808
154
123
431
147
842
66
986
471
547
443
125
248
414
945
195
767
711
718
763
460
107
516
416
682
628
354
104
276
686
47
870
829
537
200
526
607
213
339
684
500
246
847
573
232
498
315
229
246
16
700
976
390
118
432
605
528
841
224
286
691
484
896
32
239
219
942
526
763
646
927
165
153
732
79
496
325
791
548
609
598
21
941
623
601
662
650
154
903
4
412
517
250
332
317
487
425
384
161
607
250
46
647
421
199
823
450
514
394
103
557
886
521
323
625
57
340
962
313
231
4
677
680
29
381
43
774
572
919
48
487
137
367
935
583
242
862
35
576
760
443
946
801
579
59
776
555
413
549
229
715
595
840
947
552
59
838
921
813
288
111
725
281
672
448
16
159
611
851
52
605
684
303
913
667
378
941
779
696
223
863
861
997
613
886
526
172
278
11
758
76
132
217
334
810
188
488
993
473
349
632
449
700
99
562
309
116
609
171
814
967
282
851
885
101
534
986
99
408
470
483
92
563
182
492
365
659
577
9
634
862
9
964
670
772
487
752
30
565
935
872
228
291
762
520
642
969
5
507
922
208
453
843
710
142
429
697
284
408
381
186
94
733
25
674
248
462
551
785
696
25
321
374
274
882
573
58
741
992
843
740
672
210
262
746
405
316
361
815
200
545
784
220
479
636
106
683
277
368
13
633
24
492
236
555
395
793
981
833
239
710
59
559
547
597
572
217
981
231
794
19
773
636
849
957
663
593
880
288
143
530
671
267
467
581
114
433
758
710
473
637
94
768
125
316
609
199
377
216
506
944
956
882
376
745
12
762
357
667
791
689
490
163
695
838
84
416
62
6
43
993
864
188
851
106
492
3
389
857
913
447
817
932
822
849
505
105
814
640
427
791
244
767
445
633
183
116
679
767
815
344
478
974
672
873
585
418
368
647
734
23
841
416
277
854
693
950
442
30
899
610
458
843
2
113
97
694
963
171
175
438
949
928
127
496
723
746
99
848
732
971
901
622
666
739
777
566
33
765
164
94
244
324
575
972
829
304
214
966
640
307
247
904
337
242
422
713
21
777
356
942
607
292
914
154
421
706
994
386
548
643
507
539
656
942
508
170
387
437
220
668
904
250
198
199
854
614
953
129
859
346
182
846
581
677
154
50
589
88
893
599
523
164
574
954
506
253
912
101
382
899
419
598
76
580
95
55
338
307
502
894
184
993
203
759
576
344
213
284
283
194
485
228
402
856
397
187
722
47
931
171
958
403
465
367
915
417
142
286
799
857
331
346
214
413
35
630
869
318
993
224
667
187
827
42
624
164
851
517
26
734
17
862
343
263
92
877
665
352
316
431
875
667
716
809
298
703
734
111
364
332
49
740
643
638
284
818
703
660
811
71
424
224
1000
297
745
919
80
56
361
639
243
636
538
849
734
633
33
861
482
756
110
984
195
562
766
336
26
858
562
514
565
496
945
41
400
72
498
724
486
838
378
622
327
798
58
310
301
490
627
533
529
472
74
134
348
884
430
353
789
748
117
209
476
876
629
698
998
328
457
963
113
391
233
422
137
946
206
96
454
918
514
6
392
218
159
564
626
223
289
345
876
372
108
502
892
900
770
322
654
81
642
138
233
606
636
874
26
884
713
984
891
112
218
461
289
954
478
876
702
523
937
120
415
175
184
647
307
282
402
520
370
788
135
492
565
821
797
708
21
76
979
319
754
973
468
465
839
845
868
650
395
514
834
441
862
675
237
856
772
432
38
506
615
181
226
790
495
806
971
988
946
784
30
108
671
398
561
722
999
709
670
843
525
314
481
90
756
225
980
15
557
370
662
472
883
340
809
346
550
996
261
790
805
457
728
360
32
824
976
66
257
716
742
445
10
292
849
175
724
28
785
653
63
899
966
209
518
15
23
302
124
968
675
144
413
366
226
676
536
26
239
713
78
341
730
383
212
169
56
690
736
398
764
155
981
25
840
980
777
203
154
156
449
177
422
212
272
497
678
91
970
156
40
754
593
562
594
670
539
377
290
327
610
272
104
227
702
622
112
641
151
975
776
540
819
932
466
727
703
681
196
164
248
38
592
903
542
310
372
815
290
664
992
532
766
976
645
616
983
350
534
14
929
550
147
250
66
635
327
677
228
988
61
319
694
715
248
495
467
172
205
469
758
951
275
815
234
234
719
72
855
832
26
509
16
618
858
521
279
256
135
237
197
362
174
435
586
241
365
734
155
337
605
333
576
441
608
313
904
430
229
564
783
64
163
997
2
919
723
558
784
65
928
955
668
510
774
691
930
722
419
186
328
801
976
313
316
971
740
597
34
128
984
749
79
89
912
928
478
65
930
315
363
618
208
190
537
38
386
649
509
617
370
532
587
811
387
916
336
620
874
730
6
824
281
685
563
913
627
709
604
617
432
521
726
985
739
789
921
839
37
602
159
274
271
559
606
574
588
911
884
569
98
580
327
969
739
796
474
677
280
323
927
411
594
957
241
231
600
29
784
734
707
162
311
730
140
412
572
197
284
228
440
201
59
378
886
223
379
91
631
74
960
199
446
129
91
992
902
148
490
798
817
354
45
101
774
751
68
87
876
896
655
114
318
463
892
528
462
973
962
627
843
18
604
338
933
130
50
350
557
239
272
29
571
282
318
441
773
128
587
182
60
440
124
532
514
470
395
663
472
96
568
228
572
563
990
684
496
521
447
148
376
946
785
386
834
440
628
797
236
223
282
890
5
854
381
819
808
362
456
962
983
968
432
446
844
73
976
742
401
482
753
169
580
132
887
200
263
725
362
964
326
755
656
251
377
370
652
589
105
409
730
703
960
729
24
782
408
641
991
457
135
846
829
394
412
814
761
649
262
898
905
763
231
855
245
644
316
626
218
881
40
370
565
75
778
796
382
148
149
754
769
333
728
919
70
775
362
145
465
198
111
722
598
128
200
352
982
538
381
115
190
569
827
98
182
238
972
624
699
584
751
217
343
800
316
555
803
268
638
641
737
278
352
349
942
448
826
317
809
484
740
886
522
12
351
397
96
631
242
721
153
226
602
322
283
846
960
488
933
110
895
669
43
228
409
958
61
157
585
864
546
370
616
497
291
957
525
125
799
533
712
909
989
519
962
261
185
880
716
899
834
348
200
173
878
470
478
641
407
577
623
186
1
911
975
211
207
693
883
558
682
872
428
838
854
681
369
802
410
860
948
244
499
615
266
658
325
952
650
545
717
5
788
852
334
399
470
448
394
455
429
989
214
286
121
745
380
427
305
203
74
663
897
334
935
161
916
419
847
828
292
255
226
60
919
352
677
700
637
486
402
77
740
588
368
430
206
472
16
924
102
384
287
704
500
651
805
129
814
29
346
395
681
435
118
265
384
890
989
500
332
410
484
895
309
507
300
537
37
728
111
15
107
343
640
815
457
932
329
84
434
60
461
274
878
712
241
898
861
428
181
804
425
313
110
898
147
240
271
227
417
595
249
682
90
830
949
361
547
989
424
794
286
75
121
849
862
819
59
75
378
980
470
681
744
744
745
138
631
224
829
568
346
300
828
761
908
259
241
613
193
786
102
255
388
851
349
950
909
978
864
92
599
155
1
263
268
413
861
374
602
698
231
384
32
221
898
909
415
882
993
375
287
762
119
969
992
868
307
784
221
540
233
21
358
953
707
988
564
135
216
985
716
812
124
814
142
153
240
819
624
208
622
849
250
411
862
475
556
32
607
126
807
871
735
543
447
806
425
105
487
36
369
116
38
979
470
125
308
819
701
687
114
667
226
762
353
102
503
128
966
666
855
749
610
492
890
48
652
875
258
412
116
1000
451
84
894
484
721
768
882
635
776
926
697
536
569
735
283
158
391
121
13
731
457
109
892
466
377
965
37
593
194
260
950
367
188
32
971
340
248
689
941
720
441
135
327
102
326
907
960
178
695
771
115
318
669
281
859
34
492
363
484
457
966
794
350
890
170
832
661
395
19
888
542
159
239
310
258
84
567
809
608
616
306
42
290
372
899
144
545
505
854
785
476
76
165
458
229
929
372
236
665
686
521
229
226
518
607
314
460
302
499
481
67
600
974
329
380
674
260
812
938
391
367
343
132
460
612
734
996
904
921
284
835
49
941
501
774
604
466
593
277
594
454
847
364
16
711
477
528
78
369
324
362
798
425
55
499
566
961
144
751
993
124
951
281
974
592
723
211
480
48
136
339
987
130
338
530
826
434
70
894
987
404
573
107
61
370
440
81
96
575
494
723
86
731
58
712
709
588
710
61
725
982
700
723
114
79
761
665
645
858
951
636
84
398
495
308
633
202
355
630
534
630
374
964
981
460
419
40
621
773
878
854
951
627
267
364
885
446
426
260
567
646
5
130
319
798
501
76
223
535
88
181
444
487
905
292
838
766
245
223
798
896
304
876
561
656
765
717
406
959
511
759
242
799
187
447
135
263
163
877
182
805
698
337
14
301
732
483
876
860
802
372
908
38
38
179
763
884
34
669
144
167
692
379
197
308
796
69
951
716
147
161
142
732
608
806
847
889
275
714
324
983
309
90
307
291
659
834
836
357
36
694
351
932
10
179
414
44
11
873
897
648
400
245
904
20
442
186
11
841
227
254
624
925
95
78
391
682
88
434
637
683
331
275
730
165
991
376
155
905
661
346
789
666
581
439
575
324
117
4
325
886
295
408
876
793
998
981
206
349
646
852
368
614
782
553
355
818
27
909
35
216
259
63
365
297
748
429
956
452
187
999
909
508
205
706
544
35
25
485
302
972
362
244
590
878
528
249
841
119
987
263
352
366
278
411
766
43
295
905
180
826
431
659
975
806
943
352
401
710
249
668
841
446
538
305
479
265
198
817
758
69
99
530
657
710
680
558
265
674
131
441
596
186
693
9
873
611
254
909
732
6
965
599
956
809
551
770
345
960
374
859
308
172
63
731
581
714
695
685
251
790
117
626
916
555
974
645
383
853
391
245
785
13
93
183
350
420
917
177
392
122
313
787
236
432
432
381
912
347
847
449
460
614
753
444
590
439
774
19
261
167
109
728
468
742
832
265
160
382
603
864
733
721
905
730
5
586
227
308
918
730
235
715
456
51
109
903
456
291
681
980
29
766
913
661
303
397
563
974
60
224
579
226
648
619
896
700
211
600
812
718
924
31
60
528
362
984
12
913
618
217
213
556
24
552
558
983
622
895
1
324
619
824
636
224
101
905
349
999
254
401
17
513
133
607
402
334
842
829
478
421
590
934
909
989
689
476
791
203
22
635
600
60
903
585
440
134
503
475
362
885
255
872
506
863
707
404
252
453
332
335
401
784
681
975
666
25
117
161
352
602
61
520
206
763
338
867
842
554
720
867
33
476
228
88
406
14
91
602
786
809
523
640
482
407
633
154
338
451
846
757
219
664
210
229
958
189
813
656
441
662
341
345
677
918
496
806
173
366
582
506
897
897
90
564
418
616
507
267
567
873
902
64
107
779
53
733
446
878
35
500
391
717
188
229
289
793
363
206
715
783
163
697
972
8
675
172
334
791
827
55
881
762
95
889
211
178
739
69
111
994
138
677
459
814
77
480
265
780
28
878
766
162
572
424
918
705
118
565
469
744
958
408
33
736
558
664
210
129
678
362
898
428
540
628
339
892
836
534
362
567
759
62
508
253
631
253
443
546
940
939
110
353
752
827
589
92
548
308
507
380
494
91
160
147
46
628
208
985
563
382
917
12
311
137
443
722
818
958
586
56
71
886
777
437
432
128
774
600
483
346
730
847
227
611
813
791
207
720
537
731
140
905
313
554
591
360
511
473
93
669
490
950
834
941
656
889
731
402
558
534
242
268
478
561
779
927
737
520
928
886
149
122
996
458
693
872
583
859
468
212
976
269
436
611
178
388
286
54
278
225
998
958
704
144
319
859
616
709
431
118
318
475
531
513
119
700
927
801
511
866
506
266
869
35
115
809
154
312
491
360
235
112
832
267
544
493
36
825
721
568
915
336
806
882
392
877
321
680
829
490
263
209
123
651
633
538
165
676
652
899
568
199
191
228
315
965
279
389
123
984
788
571
883
494
488
471
474
305
748
168
620
811
56
55
247
386
411
787
939
932
380
988
718
53
291
345
314
710
558
834
535
243
678
17
110
328
740
756
609
768
644
240
647
25
359
892
608
65
705
624
543
355
96
871
731
879
629
48
645
593
708
366
683
86
117
452
99
91
73
825
30
114
361
107
345
690
56
776
360
670
702
370
106
507
87
351
924
734
884
198
669
678
530
928
681
13
646
945
991
896
236
16
932
329
629
204
456
823
872
812
953
643
848
720
317
707
905
37
322
659
211
636
126
789
337
976
846
233
821
605
713
323
576
847
279
42
58
518
495
310
37
901
255
200
672
887
194
254
345
897
94
805
371
140
232
540
255
851
438
611
664
350
383
261
645
190
866
274
912
172
463
570
206
725
921
897
863
4
120
902
679
64
236
818
129
638
16
630
762
386
668
853
362
934
967
8
54
699
626
448
112
261
815
462
629
986
24
452
594
760
116
581
133
882
510
463
880
662
913
371
485
776
932
954
220
209
176
621
579
487
192
644
504
931
676
450
570
900
915
811
100
303
372
376
623
213
621
507
550
55
604
481
240
688
322
887
856
654
624
516
522
49
705
100
371
714
304
13
973
927
355
462
500
382
28
743
736
984
661
851
720
935
104
114
332
628
360
549
657
138
229
313
310
447
874
971
196
112
810
303
386
772
883
6
870
744
194
991
958
994
785
905
25
895
110
150
92
554
4
949
477
945
868
935
360
728
287
332
672
428
122
61
126
613
436
972
577
778
238
997
160
960
150
221
785
467
585
731
677
742
892
655
583
45
279
959
178
605
965
431
969
849
198
776
698
598
226
888
845
412
306
188
325
822
100
372
895
830
600
44
110
896
839
482
864
611
213
216
721
385
182
200
241
782
496
95
466
583
858
594
584
258
108
757
532
296
598
82
963
761
429
362
574
517
584
438
271
791
843
634
1000
141
514
1
396
432
690
486
572
117
705
811
467
7
939
143
189
673
913
608
696
854
884
326
961
515
787
912
528
730
408
340
937
145
154
639
101
639
630
147
102
687
527
961
250
75
963
751
511
872
551
366
539
967
911
483
659
75
278
123
71
840
128
11
472
539
470
612
52
962
565
171
509
202
345
230
354
499
739
927
251
742
445
812
564
939
427
70
600
767
550
805
257
318
345
468
922
266
817
619
479
7
605
951
277
736
564
887
684
80
998
179
688
612
386
574
605
541
413
56
553
915
511
156
811
920
937
526
580
244
592
312
917
13
436
847
846
516
342
855
708
782
673
657
850
95
706
831
647
689
253
420
668
209
477
24
525
980
963
96
581
793
548
303
212
687
290
96
776
161
216
522
780
377
179
867
1000
139
218
941
464
900
328
693
271
569
421
357
209
679
573
530
1
315
351
417
786
283
155
969
167
173
970
814
717
337
937
655
368
330
394
324
505
1000
853
742
904
262
471
887
893
568
156
219
217
215
392
198
151
938
245
188
330
671
760
508
623
983
156
424
131
440
806
587
35
82
971
807
626
262
654
78
275
337
746
446
513
84
842
666
670
253
717
581
704
389
486
802
966
881
859
608
642
232
804
911
518
713
91
786
549
866
897
317
421
837
678
479
936
120
966
318
571
127
632
999
25
907
411
132
899
483
165
397
918
511
458
675
261
395
480
770
637
562
269
357
717
348
483
924
401
811
682
384
208
841
175
474
747
143
37
241
841
27
811
714
365
427
736
337
294
270
107
835
750
135
483
7
69
103
51
323
51
856
368
334
575
388
116
630
708
96
225
491
296
683
936
432
761
23
941
566
516
80
727
69
936
42
642
77
352
53
27
1
861
344
924
631
69
60
534
346
50
829
567
436
933
942
107
851
492
40
398
620
75
374
228
868
973
15
234
569
109
895
469
165
494
181
82
736
501
277
774
664
390
713
9
638
911
269
599
423
27
970
383
978
10
966
220
463
170
933
380
119
505
336
750
254
409
768
961
364
360
674
668
953
236
914
722
732
450
996
918
722
653
353
313
215
139
642
873
712
403
936
331
692
526
616
708
535
216
923
882
985
327
431
999
319
658
133
225
747
660
466
588
673
455
333
179
139
195
121
12
136
413
783
217
522
424
280
54
955
284
66
427
587
34
856
219
268
204
595
757
668
617
428
172
20
549
457
229
165
214
261
455
201
350
475
42
303
427
196
25
238
597
637
745
671
79
219
411
613
73
288
898
261
682
687
553
51
564
729
902
947
173
516
607
859
567
110
930
636
678
827
283
233
859
777
113
514
291
838
509
638
532
455
441
133
86
994
462
576
368
911
18
259
877
646
295
330
662
6
625
716
446
751
74
512
852
256
749
669
237
404
759
510
585
326
518
55
745
196
258
146
59
74
206
122
98
675
864
141
773
59
236
279
568
430
624
223
42
647
865
721
990
574
440
938
891
117
966
526
342
629
954
525
186
400
591
187
963
97
519
412
122
360
236
793
153
235
803
183
435
755
983
295
139
796
827
86
934
262
953
591
650
762
495
421
238
233
731
364
589
335
909
389
812
60
707
897
531
711
16
229
685
290
492
304
52
395
406
730
443
904
849
908
108
98
290
453
372
385
796
700
974
451
973
235
864
481
837
98
456
101
366
818
449
800
457
462
389
908
343
675
58
637
348
69
644
313
986
376
396
682
11
512
130
102
32
61
517
484
669
713
550
115
54
874
992
841
677
33
867
663
196
414
252
493
842
163
752
657
499
557
999
769
331
762
479
745
124
217
770
80
97
56
9
953
30
888
47
409
1000
838
266
614
884
37
498
179
39
592
818
596
290
697
233
159
382
695
480
103
602
825
175
297
114
889
553
572
899
262
920
614
877
511
700
426
901
393
689
570
838
147
693
708
896
804
246
541
644
708
527
865
968
564
883
293
305
107
622
208
74
917
844
606
175
1
124
805
782
502
806
448
452
315
520
830
708
418
261
325
885
492
77
648
969
712
934
719
601
683
829
148
180
131
590
757
233
329
98
81
820
219
838
490
775
853
807
452
997
84
808
445
846
401
48
206
935
425
809
336
271
861
660
746
705
645
319
80
177
593
803
43
30
137
949
505
12
602
756
364
195
74
207
415
174
89
446
884
371
277
212
878
168
598
425
700
905
8
693
911
474
222
297
21
367
757
901
929
543
559
834
550
419
364
299
626
610
386
263
330
797
46
126
165
233
257
455
568
956
178
224
835
746
482
34
220
189
895
718
559
52
188
602
335
257
856
424
900
421
430
604
450
840
750
99
468
233
547
558
540
361
368
892
862
826
227
624
300
977
340
608
544
892
992
785
778
787
851
658
291
85
48
87
618
573
932
790
125
765
718
711
456
598
149
988
854
69
911
846
214
295
773
132
626
714
328
603
319
865
773
291
139
224
381
468
133
108
198
766
404
502
3
19
82
27
792
233
202
915
835
910
284
12
921
621
626
336
477
344
678
644
143
560
367
794
769
538
929
435
999
540
615
685
309
908
624
42
872
125
751
691
660
970
542
762
971
846
187
862
959
187
994
358
801
627
37
513
879
257
528
514
674
871
479
877
160
580
505
475
116
550
980
677
154
889
307
666
233
937
760
60
99
280
223
351
384
816
151
549
83
142
255
616
730
303
737
955
890
711
378
248
499
639
426
413
201
248
21
293
47
554
844
980
851
64
788
350
45
90
702
454
92
904
691
912
381
964
20
360
84
401
405
279
595
870
363
260
57
610
330
875
946
302
477
827
856
850
467
1000
428
784
974
349
831
339
381
315
334
605
957
593
273
375
770
631
175
430
725
208
852
36
421
780
68
401
973
85
768
639
545
636
892
587
99
357
574
460
794
572
823
896
544
961
874
434
455
920
56
818
289
935
346
842
598
220
818
608
913
885
815
205
204
316
986
773
851
291
320
889
533
603
898
971
756
577
382
152
256
965
197
703
94
119
934
615
122
219
776
383
383
631
621
413
173
97
169
681
707
584
424
496
786
92
961
222
414
603
815
830
58
694
52
28
126
996
903
475
290
831
859
308
464
869
271
798
621
564
788
449
140
477
478
282
43
329
550
338
295
751
405
694
351
294
166
371
236
170
931
591
770
606
736
758
972
413
628
390
303
608
298
994
177
452
438
518
45
300
375
608
498
28
538
347
4
616
23
546
325
673
848
936
183
301
481
816
444
713
902
789
958
455
738
243
198
917
8
136
1
28
607
455
61
733
950
466
284
830
148
463
766
273
640
308
936
852
495
448
383
478
465
489
950
945
452
617
987
140
268
364
36
164
413
239
820
705
170
755
128
327
450
235
80
35
698
586
304
585
657
916
740
551
922
452
165
56
68
757
36
435
550
613
910
826
739
294
530
819
206
145
660
871
826
530
868
130
332
249
767
685
741
450
660
27
426
940
159
688
714
512
97
596
576
616
967
694
351
224
222
734
497
242
964
2
8
183
981
895
518
132
587
909
75
167
466
628
244
581
552
689
499
166
979
581
831
817
348
346
119
451
822
890
95
30
107
695
660
50
953
142
907
444
646
556
454
239
904
323
578
700
672
131
230
923
607
445
195
6
445
852
551
3
15
754
116
819
404
254
728
112
672
718
80
29
528
677
298
311
626
203
629
893
452
843
392
632
318
530
824
208
615
614
583
561
356
320
428
448
942
474
40
836
312
314
49
878
849
546
66
174
932
598
918
853
577
185
366
777
414
892
278
820
133
456
613
751
639
850
594
731
351
40
151
778
506
527
19
892
844
374
916
678
761
455
848
443
875
80
907
703
966
993
905
1000
400
967
786
693
507
878
65
161
820
179
445
442
775
165
385
894
197
274
617
907
927
956
528
21
967
288
866
98
864
629
463
303
405
88
534
787
318
454
622
858
375
569
482
383
203
810
991
895
128
478
708
592
612
393
835
19
161
938
161
724
119
120
9
573
429
958
356
765
261
641
68
769
393
485
597
568
365
627
636
603
718
801
910
786
102
285
734
765
597
305
6
402
414
742
21
73
4
998
862
979
716
260
171
122
376
209
749
978
504
425
827
185
503
360
790
778
776
757
844
558
642
839
380
240
908
411
783
879
123
261
52
947
874
892
856
121
968
677
619
467
957
960
781
285
298
536
667
264
349
156
257
996
538
442
752
115
285
619
16
515
696
13
857
149
595
122
650
898
230
389
958
869
831
505
687
281
283
194
778
767
358
929
605
546
294
997
57
405
58
617
749
844
258
580
921
68
526
34
368
715
158
557
189
352
931
651
206
801
339
144
687
304
902
737
375
376
835
147
916
971
118
852
462
200
928
439
641
484
467
964
63
414
454
510
250
27
937
370
224
485
626
862
944
305
632
836
481
426
395
322
111
386
540
649
454
780
617
555
452
21
979
491
211
112
545
350
699
802
831
324
864
997
418
452
1000
784
988
692
77
733
163
17
309
421
631
146
479
281
485
974
360
936
254
688
161
160
857
850
57
490
571
424
732
287
188
863
367
756
692
858
625
6
179
325
38
771
233
483
626
787
649
664
733
169
229
617
822
335
331
612
410
165
20
644
431
107
938
354
27
906
485
93
216
456
482
707
904
41
275
227
447
906
142
607
335
631
945
76
605
296
199
467
257
770
124
71
307
771
785
212
95
510
115
734
134
863
498
28
73
974
575
68
336
160
122
135
609
753
168
599
620
280
998
132
608
971
336
226
461
166
791
717
730
602
579
321
672
910
694
832
986
935
891
744
164
620
327
528
221
277
248
699
114
56
845
109
333
263
295
614
1000
20
46
356
297
390
611
467
205
750
470
869
341
642
223
232
151
796
784
848
837
300
237
368
166
120
959
843
760
330
750
539
543
409
6
290
776
935
420
979
502
838
302
877
310
145
366
178
3
774
770
35
166
569
251
822
628
153
425
120
525
650
739
163
977
525
68
72
423
56
683
232
296
3
142
606
17
60
708
585
289
603
16
244
241
23
84
501
318
713
221
726
671
347
17
815
459
683
412
608
685
512
778
791
100
771
61
101
259
52
288
746
68
931
166
439
961
591
74
313
462
190
485
344
992
306
730
547
673
589
76
378
357
413
281
282
276
946
144
225
482
561
91
430
774
899
486
230
870
233
216
132
387
5
37
715
639
521
342
950
335
850
293
898
995
889
698
513
351
428
638
443
999
788
604
312
346
270
824
968
201
232
528
546
461
60
147
34
963
707
813
209
948
736
75
437
576
15
460
851
585
297
344
846
474
926
618
666
600
825
812
84
154
743
662
852
291
440
561
606
615
154
25
415
804
194
41
985
410
973
159
838
788
129
267
432
635
638
276
289
870
994
331
678
439
582
771
306
158
359
765
754
896
835
461
124
244
112
508
465
303
476
37
66
390
578
506
631
253
795
379
695
878
749
213
364
59
274
623
619
716
365
510
962
354
759
127
163
157
828
816
202
963
433
727
301
752
196
405
88
366
450
935
544
871
737
203
356
345
343
963
702
929
786
580
290
633
582
733
696
741
897
916
637
666
871
242
850
740
515
945
687
751
73
962
329
997
671
165
813
245
862
132
666
269
435
814
18
574
462
118
530
503
100
200
292
166
103
214
187
539
363
390
832
646
35
540
310
936
968
542
427
858
238
925
66
151
554
376
555
558
163
928
672
515
708
586
989
854
145
382
826
723
449
185
973
728
335
111
696
780
632
61
265
222
264
709
402
634
19
275
590
112
413
540
145
922
997
852
314
172
389
334
438
567
180
95
389
334
583
33
86
163
399
694
860
346
410
789
862
355
791
138
494
751
514
243
41
691
6
216
332
272
519
492
228
622
742
611
210
934
231
380
146
639
117
864
550
503
366
17
323
729
611
225
977
81
190
660
836
622
555
171
554
928
679
356
554
525
420
586
700
855
58
996
549
316
391
904
74
760
836
662
595
386
954
707
989
146
703
428
946
599
503
566
152
698
895
991
803
72
179
133
782
257
895
793
156
732
464
764
404
767
584
520
917
866
229
179
872
25
204
125
537
98
263
942
426
332
743
765
508
531
485
775
821
354
613
306
454
987
359
972
845
791
727
279
711
558
228
436
769
685
338
444
586
937
566
114
518
438
265
342
722
214
381
834
645
887
350
494
238
120
268
836
370
7
277
136
569
898
827
492
267
75
107
621
190
285
470
1
381
389
143
915
643
291
814
82
833
852
993
793
547
744
182
910
214
28
938
657
509
808
936
848
313
479
968
115
125
917
627
715
990
486
114
704
482
856
206
632
234
468
913
412
846
921
788
695
710
694
148
896
468
386
698
17
357
108
198
530
657
716
790
888
813
368
640
687
585
250
285
86
750
405
941
893
465
295
603
599
388
109
373
754
47
855
943
290
760
958
492
792
599
431
584
258
523
675
827
593
811
623
155
931
366
255
605
908
280
470
357
149
307
927
652
599
512
748
883
760
446
899
828
580
623
678
511
501
965
957
596
142
147
754
626
183
423
256
605
309
648
639
640
443
652
885
391
125
42
355
65
590
809
31
567
999
818
200
215
317
374
837
98
533
582
117
783
284
150
269
551
437
593
469
781
862
571
593
405
469
219
416
572
536
859
280
810
510
501
367
996
757
835
420
386
182
233
201
819
245
443
995
941
664
239
224
992
26
271
569
214
576
783
59
473
715
632
244
10
100
277
934
574
812
7
958
333
715
711
74
101
44
892
457
393
204
497
151
751
5
351
524
586
812
626
996
519
626
840
296
821
719
344
45
97
243
82
755
801
204
748
203
505
270
56
714
127
157
996
104
443
771
400
897
331
825
36
966
100
424
777
931
209
947
58
488
407
664
4
334
58
656
67
518
984
20
998
844
693
818
271
430
247
913
833
647
345
668
201
422
439
433
466
362
807
927
742
198
553
876
934
846
451
755
503
735
394
44
59
161
960
221
195
94
271
591
986
282
904
153
948
481
48
926
72
373
525
539
741
16
552
451
965
729
323
849
378
918
575
139
887
693
338
949
666
62
944
744
452
149
209
474
746
111
421
138
547
416
397
828
738
690
403
560
90
623
180
190
120
299
668
796
715
901
268
178
538
928
651
551
678
969
177
64
953
574
992
539
537
957
701
680
307
131
349
63
417
528
113
424
136
345
696
95
891
657
949
986
810
796
620
133
798
626
489
714
308
120
330
356
536
79
302
749
727
920
389
838
633
217
464
328
938
75
387
851
654
467
318
897
57
411
63
519
731
197
880
936
682
930
590
340
286
327
268
634
42
58
42
363
722
896
748
802
506
627
250
10
163
941
285
690
117
536
560
847
519
245
686
579
76
305
216
792
434
809
721
304
368
977
360
551
930
117
820
106
922
77
899
292
779
520
213
446
22
582
700
827
915
348
636
687
866
111
886
828
433
544
949
779
451
790
190
835
980
934
294
353
230
505
628
88
586
451
650
854
190
492
965
445
229
894
897
621
299
472
717
900
696
59
755
51
483
799
685
495
541
323
214
241
567
314
240
609
177
5
310
756
849
864
871
923
415
108
367
420
243
709
715
573
1000
241
69
267
156
248
70
249
939
833
969
50
531
793
117
274
676
957
302
956
730
340
354
929
415
345
221
413
181
538
472
536
139
432
804
150
972
328
652
76
126
507
466
878
805
941
547
362
21
305
617
267
999
225
409
31
746
621
701
88
463
505
116
880
825
779
959
679
806
434
85
310
896
33
545
129
26
529
303
906
488
245
854
817
442
376
976
408
344
404
165
200
797
686
517
615
845
835
978
15
712
665
879
966
349
166
654
255
911
419
462
834
476
398
205
594
896
329
78
805
652
647
376
144
999
622
730
440
463
404
359
679
984
586
168
322
608
379
760
741
626
133
483
374
527
276
684
256
939
675
211
745
965
73
51
559
991
519
701
768
71
641
505
975
467
227
719
758
786
780
524
351
409
668
533
688
609
14
610
177
821
697
977
984
17
716
650
202
47
683
212
988
96
402
832
672
113
340
193
835
198
273
719
610
444
566
63
777
646
339
339
750
650
244
978
221
821
702
423
54
289
218
87
997
152
841
131
927
793
905
664
628
830
967
895
548
979
228
630
621
292
793
244
939
827
863
948
53
766
287
703
690
437
967
635
959
441
258
164
463
358
881
375
309
56
838
304
689
703
484
973
577
962
210
945
83
727
179
144
186
951
145
451
891
801
701
358
334
409
200
532
995
945
216
754
983
600
640
64
287
363
409
342
24
110
437
796
944
640
525
981
893
778
902
48
509
535
566
895
144
650
807
772
908
539
99
679
766
753
67
580
818
641
392
67
258
755
308
609
11
950
823
925
720
797
921
340
579
127
773
226
494
56
415
720
183
782
465
985
123
842
163
212
719
270
452
389
637
264
869
642
50
571
710
623
443
788
343
932
686
153
540
121
345
224
398
111
573
32
750
230
448
941
983
198
378
415
806
531
978
376
851
827
910
632
922
297
282
111
366
733
579
268
287
838
533
104
272
444
32
675
896
709
898
841
505
814
369
285
685
26
202
482
390
252
568
414
921
379
353
292
788
747
33
456
74
77
37
911
41
79
391
679
608
713
474
263
793
804
948
13
403
291
230
154
9
891
438
528
778
400
377
863
789
120
966
527
299
179
504
268
799
602
281
411
853
45
358
324
403
40
785
772
675
450
125
923
833
590
917
359
299
125
640
457
969
432
802
863
634
573
17
620
573
425
316
691
622
782
492
256
49
447
961
154
181
416
494
305
67
294
190
741
409
945
201
144
632
243
85
417
224
481
114
876
426
645
515
103
930
286
415
366
510
166
199
783
389
207
128
82
720
529
281
897
778
509
347
25
325
883
342
957
124
865
62
321
805
152
982
555
73
468
341
260
797
979
361
197
616
528
898
831
575
136
352
624
705
618
304
73
622
502
201
568
994
629
376
769
138
983
829
91
134
301
498
299
557
975
181
962
349
594
905
698
418
250
262
725
242
359
196
220
162
358
754
392
41
67
589
958
685
928
357
944
733
582
704
323
739
469
259
49
813
205
870
433
507
532
360
693
581
491
246
704
931
363
166
633
210
567
273
214
633
390
479
852
37
945
207
614
505
170
297
453
787
72
782
660
298
652
543
651
679
88
245
654
805
880
547
797
630
555
309
347
451
489
400
616
14
124
764
110
388
602
589
68
670
390
794
415
417
17
555
528
138
423
251
934
329
763
63
194
303
704
408
808
480
416
541
906
935
464
974
873
706
773
762
806
802
667
369
914
887
757
538
503
337
105
549
233
758
650
299
683
46
373
881
89
789
44
718
327
131
687
862
803
222
92
764
971
28
795
673
589
597
953
837
681
813
470
862
406
342
514
873
669
686
320
661
381
270
783
566
722
999
901
712
608
55
539
102
882
517
377
221
364
27
118
50
35
886
215
807
64
859
448
305
350
503
640
571
473
987
686
219
735
256
865
151
13
843
83
332
741
830
306
775
184
227
933
328
583
543
288
602
416
407
714
125
215
916
973
848
908
777
803
236
621
440
501
478
234
150
354
802
759
234
582
487
789
31
222
929
830
566
27
27
359
435
38
241
791
434
953
909
384
94
793
775
304
672
658
254
685
132
558
635
529
275
395
298
748
540
191
20
448
913
544
627
821
32
150
552
639
843
906
375
409
113
775
23
688
656
121
128
952
444
647
972
643
590
445
576
736
838
900
727
211
349
365
177
346
461
581
815
603
650
800
341
205
73
438
871
215
935
879
922
2
404
742
460
568
977
521
21
60
972
5
437
182
321
317
383
943
947
705
753
303
773
449
895
861
883
396
841
674
395
633
967
655
404
796
994
768
714
322
804
438
170
730
353
144
94
667
844
170
712
34
426
887
488
960
891
732
962
794
264
266
23
561
684
294
569
515
701
72
122
537
964
30
320
104
289
288
126
508
261
478
262
763
841
25
618
433
965
99
344
166
705
905
908
330
416
835
668
530
184
303
386
166
55
713
689
443
731
145
702
396
890
802
924
561
819
159
976
912
811
70
24
540
642
784
498
361
511
942
280
811
10
145
620
98
40
611
899
78
128
772
810
243
255
399
627
619
108
994
59
587
699
729
557
794
388
183
105
336
658
490
199
340
448
264
186
935
437
872
152
336
455
186
273
447
104
944
947
938
744
254
985
240
244
545
908
266
275
528
659
968
467
286
98
28
459
687
263
67
715
700
698
776
6
48
130
284
618
865
383
880
673
670
695
951
429
25
548
605
74
701
713
7
302
29
442
883
935
415
660
997
938
628
567
667
449
601
263
547
867
938
903
958
607
234
385
43
874
613
804
883
675
597
699
509
366
531
644
433
190
302
885
918
663
50
534
721
128
850
279
430
518
126
721
877
145
691
206
282
358
845
460
946
16
940
432
342
32
178
480
388
696
173
466
537
82
998
351
72
616
996
639
668
797
669
341
837
131
291
202
333
587
757
601
25
254
335
864
954
430
651
752
568
76
201
512
149
421
170
213
510
514
128
38
926
693
428
837
66
274
782
504
455
217
530
713
590
195
583
91
385
272
888
194
64
340
521
538
963
584
211
486
963
502
149
36
432
416
473
393
623
9
659
774
452
123
402
36
458
973
237
605
526
944
300
635
660
375
111
524
680
48
236
680
226
647
965
934
870
109
923
89
437
612
659
894
875
922
814
158
147
971
415
802
636
833
239
411
503
688
907
239
312
9
615
673
942
946
920
911
514
800
41
934
601
564
512
910
469
738
817
862
486
5
857
735
102
913
712
29
21
388
180
805
265
777
996
182
837
136
477
397
618
616
570
154
919
166
935
225
879
228
728
231
467
744
235
120
453
577
349
70
91
432
155
518
657
425
585
491
199
741
156
706
51
236
329
731
698
401
879
40
593
852
25
993
356
390
713
588
622
718
614
359
459
111
883
908
897
677
674
419
610
373
719
915
188
603
47
184
790
53
27
50
146
390
508
117
45
605
756
196
459
67
277
370
409
791
368
65
511
62
422
550
925
287
601
995
46
880
462
608
890
66
543
379
572
715
701
667
664
688
191
175
496
771
125
890
681
898
930
201
214
303
880
702
509
181
597
190
671
656
653
960
77
162
65
782
101
813
502
897
431
1000
517
937
953
228
932
931
643
164
837
470
237
967
270
652
714
248
796
647
778
410
639
594
608
702
953
77
109
54
89
601
764
640
459
335
9
172
670
887
704
111
169
33
904
358
513
111
611
479
765
296
635
213
215
50
966
804
791
848
320
712
73
711
633
377
785
159
308
2
979
950
990
792
946
376
452
661
11
943
972
211
988
980
205
688
44
86
147
704
126
378
258
736
901
145
171
820
362
898
727
368
879
767
256
781
496
881
113
344
670
647
503
934
542
833
530
220
996
966
210
372
473
847
941
770
509
909
525
850
465
742
384
2
742
354
61
409
78
637
432
795
181
71
322
338
39
915
371
411
744
999
67
375
555
775
838
422
225
441
969
293
338
837
905
804
499
257
184
259
757
514
850
223
549
394
694
618
808
86
95
789
600
321
530
995
807
708
64
789
924
212
254
851
3
791
933
171
115
961
293
900
522
475
521
803
870
342
10
25
329
138
813
767
606
930
603
587
116
168
834
222
431
577
218
273
319
427
891
583
296
552
863
878
660
146
395
70
359
669
19
665
918
178
767
852
877
979
27
197
824
841
162
350
173
867
642
787
293
790
1000
436
464
631
348
957
379
633
536
565
630
876
310
556
662
251
967
98
193
306
72
428
973
20
809
351
80
746
357
775
639
399
534
123
964
471
597
605
677
591
703
730
222
185
45
925
603
228
81
819
833
222
584
551
798
299
486
469
747
801
598
698
586
756
338
367
537
428
525
737
467
537
172
57
382
764
936
763
174
930
572
546
676
546
275
869
483
512
302
789
827
399
615
276
940
97
589
808
31
608
31
701
948
421
811
476
85
200
480
624
882
510
84
233
532
894
273
335
150
929
469
253
690
778
522
911
392
398
808
831
368
772
165
517
228
445
410
10
322
223
440
679
240
81
81
718
740
214
908
412
108
698
244
934
326
403
412
368
78
633
124
652
762
497
552
372
195
124
247
663
620
680
575
16
960
602
735
429
5
569
764
190
353
535
136
555
497
558
708
697
389
274
786
649
183
594
56
350
638
609
923
568
826
755
624
194
377
998
63
340
489
178
966
750
312
667
355
259
141
198
770
415
29
48
926
947
71
761
700
430
621
254
431
385
133
449
534
43
143
549
314
184
154
698
728
776
842
26
509
630
26
49
754
928
328
943
571
251
306
499
838
720
105
430
483
940
359
298
945
715
153
515
610
909
351
763
147
422
476
691
557
966
651
952
717
211
798
462
908
926
422
272
570
947
820
596
86
130
473
351
918
988
737
18
829
382
662
770
244
425
920
579
10
795
401
467
970
732
942
127
791
334
70
916
413
200
384
612
365
59
377
389
920
817
91
169
747
354
988
911
263
471
800
388
377
649
952
718
691
632
318
234
512
416
738
304
221
914
681
313
640
440
932
402
52
135
962
451
420
662
895
467
208
804
661
792
872
82
919
491
778
150
846
861
807
520
714
254
350
111
477
320
753
238
238
314
533
904
580
349
831
691
198
335
644
97
210
877
355
942
767
588
953
299
367
118
122
493
306
694
82
891
297
111
638
564
159
950
431
421
848
225
767
79
810
821
735
562
817
840
542
892
957
418
123
793
452
655
123
7
300
65
289
171
543
337
151
825
105
268
643
863
773
456
965
679
825
673
543
317
261
929
447
180
353
852
984
226
464
417
463
144
685
994
357
671
868
389
142
114
58
827
128
95
151
806
495
761
864
369
567
997
727
634
89
658
876
320
878
497
866
647
789
229
611
193
349
158
801
217
783
861
853
512
387
718
502
60
399
476
662
651
543
620
52
131
436
55
405
155
900
484
782
142
10
914
610
630
432
931
612
397
141
724
701
508
197
374
254
905
580
560
914
311
481
701
222
974
611
495
932
201
252
978
803
759
808
511
60
933
535
563
440
447
4
737
975
525
589
293
179
55
939
295
360
231
965
620
122
37
335
271
963
650
852
852
51
167
398
573
900
56
280
889
664
395
957
703
231
267
81
98
75
636
759
714
129
664
693
227
529
707
636
861
175
152
191
493
486
855
544
728
597
187
143
246
523
597
704
845
491
163
162
859
704
814
350
62
331
774
273
717
362
326
793
201
317
156
437
475
466
386
820
763
362
912
872
963
990
803
649
694
768
333
20
389
973
673
931
500
894
420
265
737
179
884
537
207
363
511
792
490
557
898
125
956
615
622
165
96
893
479
715
242
849
817
523
800
370
347
768
69
658
192
478
752
922
959
503
543
917
314
99
521
591
866
442
659
702
179
577
423
288
366
423
329
317
45
453
304
651
402
566
892
716
701
512
662
916
914
930
641
864
11
701
270
979
101
854
132
857
823
698
680
80
304
216
298
836
565
988
262
771
459
101
635
1
108
549
661
114
333
608
975
275
743
541
836
268
9
803
624
424
337
570
52
896
300
34
884
673
11
429
491
69
81
111
215
131
917
405
357
597
721
84
578
561
946
526
639
949
91
609
710
319
454
351
909
206
839
141
361
482
332
186
811
706
899
435
757
497
7
815
133
319
439
106
814
874
198
127
601
522
704
226
868
744
520
241
798
698
458
196
938
328
262
9
849
345
995
397
803
608
921
984
760
104
902
328
400
762
320
239
567
797
59
256
317
159
406
646
684
895
560
584
405
968
45
465
91
89
527
446
769
676
398
374
265
895
18
258
671
72
723
288
988
465
483
218
98
490
670
600
434
32
481
986
27
377
408
676
183
663
614
43
655
461
164
755
44
248
882
457
110
103
7
586
842
896
918
50
408
603
964
430
560
174
809
206
691
528
787
294
481
851
461
799
1000
360
965
496
223
81
717
992
107
11
810
935
816
207
681
883
181
13
699
681
209
593
952
249
301
422
797
738
856
178
745
864
92
748
854
106
276
673
69
134
989
458
907
488
728
568
462
44
923
853
955
278
399
384
954
642
424
361
957
672
745
848
238
561
426
570
728
33
889
907
246
311
287
521
556
854
208
759
587
325
795
88
640
950
510
341
560
10
183
483
667
738
451
925
692
278
411
181
112
705
73
768
12
304
254
841
100
452
621
988
517
493
945
986
906
898
26
81
540
904
405
533
425
535
697
769
968
602
329
437
196
825
528
93
531
700
640
27
814
122
247
940
606
54
90
827
805
713
517
409
249
873
17
900
307
854
425
721
413
710
543
34
124
913
258
567
557
592
711
313
4
977
705
95
103
264
352
872
204
544
886
949
449
791
691
886
686
158
851
38
493
3
954
102
525
102
436
965
877
528
516
456
355
510
631
282
411
393
340
579
942
519
855
6
376
431
736
242
209
313
764
77
671
998
709
44
303
183
515
659
2
715
413
893
532
955
607
492
586
237
480
68
247
413
702
699
56
293
249
941
19
569
80
726
539
463
162
628
673
895
599
353
115
462
836
142
23
887
332
938
100
883
601
839
390
568
255
325
871
674
508
211
228
792
641
97
196
804
77
324
443
473
48
93
256
886
317
457
245
84
55
359
836
717
770
733
604
59
127
982
381
998
615
808
642
947
270
452
878
706
90
901
556
439
351
501
769
863
755
732
888
629
248
588
353
692
369
155
237
116
209
447
388
390
397
550
735
826
71
392
839
15
416
263
872
649
234
285
992
222
939
650
514
270
534
354
383
837
434
531
170
793
404
291
253
500
547
90
869
33
979
292
479
883
805
541
207
583
28
974
201
202
314
94
406
25
864
345
590
19
233
33
474
884
624
254
464
577
20
948
774
213
568
981
726
150
753
435
615
893
282
923
804
148
9
791
669
36
942
520
573
962
103
536
323
96
21
867
457
800
682
789
266
535
93
684
666
985
959
804
928
192
626
559
778
461
100
222
574
682
905
662
123
501
533
843
153
462
482
325
677
846
201
949
222
423
801
198
420
770
32
506
542
104
887
876
366
802
133
775
161
926
245
194
724
101
491
142
76
18
365
608
899
719
195
214
805
535
478
335
276
242
450
491
451
554
454
181
18
538
897
144
86
931
993
235
315
617
15
727
541
715
492
852
796
826
628
852
939
1000
251
600
69
879
768
139
534
313
889
95
584
446
441
986
717
910
137
911
285
308
43
963
242
591
384
974
756
300
452
886
26
894
642
128
812
536
73
854
90
791
795
798
755
659
347
823
487
236
304
914
737
99
492
503
281
190
753
540
946
575
508
625
928
974
867
871
572
334
700
901
629
82
927
525
757
870
249
198
492
796
689
311
988
94
598
748
580
229
238
892
635
214
667
443
185
659
389
28
603
801
180
501
900
258
558
316
291
779
605
72
336
599
226
605
323
335
493
572
542
522
400
515
756
981
227
806
491
261
720
732
726
251
455
169
186
913
94
9
729
796
714
484
232
630
16
44
5
824
41
280
960
141
956
663
729
168
560
551
418
468
473
985
957
433
333
304
832
956
937
491
552
989
993
451
354
962
8
180
525
775
923
827
180
841
270
230
521
170
3
412
387
74
663
841
389
409
196
35
38
654
598
192
46
287
489
121
427
105
921
679
109
134
964
284
513
729
94
871
972
311
11
803
893
960
258
844
319
698
962
304
889
931
65
835
244
926
659
180
585
620
425
381
471
339
721
553
893
178
554
374
356
917
543
842
982
326
983
707
631
659
286
214
647
906
414
430
115
153
382
498
465
968
563
607
823
330
315
335
792
2
391
284
199
641
717
631
968
175
371
251
426
132
24
616
284
690
674
524
12
173
233
41
553
623
430
725
123
820
513
341
376
871
451
774
350
43
698
786
412
40
62
589
897
326
938
950
265
428
942
697
359
355
7
19
791
425
103
950
583
797
61
763
922
979
423
766
296
409
849
212
345
968
360
558
465
954
654
338
593
596
746
306
596
673
482
288
416
185
811
414
427
295
269
986
477
969
830
304
729
830
122
133
737
751
30
407
155
622
872
922
85
543
661
487
370
415
446
11
64
546
367
466
890
404
841
559
766
95
264
177
363
526
708
371
228
408
352
729
228
468
824
456
916
284
173
401
981
127
966
551
120
87
845
238
477
529
961
403
357
644
881
789
3
422
927
872
96
915
422
647
60
46
977
149
399
546
790
727
71
818
904
632
312
676
502
453
467
910
624
283
71
606
136
284
863
971
380
489
481
188
705
248
269
469
999
751
28
60
412
414
564
407
695
740
562
84
959
483
667
379
218
522
642
591
775
915
131
232
339
3
863
313
834
266
102
793
960
898
757
109
940
675
866
423
362
776
86
835
626
661
417
375
362
967
630
998
70
668
787
194
395
409
781
31
667
22
59
654
794
702
540
314
143
236
299
957
787
958
740
315
381
837
846
204
982
205
580
437
316
132
671
351
353
439
808
462
581
600
773
159
6
591
118
687
772
833
801
864
235
976
621
129
493
193
376
558
650
26
437
393
561
625
801
527
379
343
774
95
31
291
143
22
629
398
52
920
923
956
863
206
121
398
913
705
801
295
477
269
164
143
201
150
602
561
940
952
392
917
245
15
349
270
711
951
434
707
12
927
652
850
721
960
31
317
988
153
142
412
673
330
381
158
844
954
222
76
411
586
714
779
236
383
794
533
296
286
386
439
310
644
840
761
804
964
995
259
754
371
24
66
793
152
301
771
468
438
679
899
168
695
961
901
196
171
856
85
868
887
353
694
691
69
308
430
420
120
3
335
252
401
557
850
483
78
400
255
716
289
444
474
111
678
193
383
223
142
809
369
681
273
64
844
363
555
178
845
703
841
781
645
509
34
627
481
953
149
213
166
435
164
195
330
655
137
305
488
543
81
508
955
656
8
317
870
289
356
489
235
803
751
808
929
631
668
323
113
987
111
164
310
586
863
51
707
546
209
676
911
231
277
445
471
4
337
437
958
718
423
62
318
329
641
586
474
154
416
615
896
196
682
656
959
406
746
62
425
929
134
63
317
186
254
50
790
111
80
984
334
977
441
614
797
41
661
162
264
645
459
281
785
524
65
396
318
817
400
953
8
665
88
747
112
353
752
241
465
666
761
711
358
499
132
123
108
794
776
899
384
547
656
81
600
1000
706
984
239
89
564
107
53
899
251
927
473
199
961
228
411
44
4
770
867
119
791
438
417
726
465
496
677
280
396
186
337
749
312
741
188
750
290
808
857
877
137
368
632
433
999
563
842
929
163
175
760
600
84
150
868
708
671
257
641
588
709
854
723
239
112
799
460
750
369
729
285
14
166
296
394
985
646
444
454
201
218
505
844
428
93
700
77
28
998
615
587
139
620
360
32
791
366
424
645
867
996
672
893
209
491
540
926
222
324
261
861
63
905
864
922
841
605
748
884
339
167
897
40
373
755
165
139
334
134
610
345
374
688
558
300
416
76
932
777
432
328
408
278
418
109
91
135
123
662
783
345
850
712
349
396
602
201
352
832
407
286
904
139
944
459
662
812
460
12
952
161
537
310
324
456
505
498
212
554
129
350
991
982
768
932
408
819
355
607
295
373
416
761
492
797
817
230
109
292
101
105
621
483
74
8
801
869
775
413
156
16
84
847
369
279
988
89
216
400
979
546
592
304
138
85
532
749
208
506
606
283
359
689
646
120
414
229
535
144
20
5
707
222
609
713
85
430
42
862
397
558
491
115
238
509
478
132
737
799
967
290
438
378
72
709
820
447
239
78
926
748
755
624
715
71
12
437
97
335
284
44
72
692
669
798
50
525
469
137
207
92
494
255
703
846
721
45
665
114
266
443
131
926
849
454
551
256
823
228
16
848
336
493
136
89
408
569
350
96
532
955
514
326
895
160
802
500
494
84
325
580
215
723
367
878
401
403
819
101
580
65
218
274
780
332
771
70
314
250
886
989
979
580
31
226
398
521
178
823
603
548
715
884
40
813
458
201
873
239
311
654
865
981
211
114
102
402
223
402
554
115
13
51
767
903
522
249
13
531
308
336
854
569
916
678
397
331
643
567
468
980
216
28
591
618
250
66
881
956
819
942
956
748
115
516
503
726
968
559
439
225
938
222
461
12
819
505
371
104
624
665
763
528
580
991
537
11
197
268
234
616
238
550
355
150
286
569
701
25
652
238
232
903
576
201
116
54
21
327
448
897
868
377
584
560
9
805
137
641
638
799
506
569
33
234
194
95
255
153
285
464
495
754
210
795
230
646
304
5
972
301
741
394
159
222
140
667
632
322
509
721
249
421
216
19
398
558
371
736
562
29
344
153
636
675
118
986
394
959
874
387
369
809
458
431
402
30
402
736
306
318
752
745
406
581
246
886
194
294
340
461
988
86
136
668
265
636
537
577
293
194
852
257
801
740
632
476
670
887
732
591
76
91
470
279
53
658
283
756
214
324
455
2
227
898
347
306
709
555
46
112
370
926
513
781
646
11
92
361
511
313
762
884
882
295
569
9
815
453
517
84
706
799
574
789
817
539
589
604
759
97
634
240
22
374
694
63
217
351
686
266
497
697
526
227
516
36
287
30
361
947
577
640
146
532
904
555
313
638
162
97
262
393
359
639
594
775
363
216
154
327
755
945
25
985
839
582
832
211
479
393
21
288
725
213
252
663
102
198
718
689
55
334
943
2
260
181
615
4
438
691
74
623
858
212
370
611
928
899
204
97
160
898
646
46
300
559
261
553
621
881
155
613
201
139
499
132
521
354
290
446
854
850
463
567
743
670
987
683
308
4
231
194
283
137
728
703
411
601
447
942
311
392
799
566
982
124
924
99
875
931
236
119
877
791
824
912
573
694
63
420
917
737
697
317
781
792
758
405
876
881
890
352
267
751
49
996
985
452
95
48
275
886
474
48
675
424
71
862
399
664
318
831
494
338
783
934
849
174
846
959
416
259
498
739
927
66
958
959
7
849
606
919
797
565
667
882
136
795
175
351
884
439
55
654
205
84
516
757
486
18
582
77
100
863
279
397
420
635
906
673
307
869
850
658
803
105
610
771
929
664
60
572
274
100
466
539
531
181
485
584
273
530
149
876
32
290
859
112
168
311
534
329
115
401
350
688
355
104
969
484
832
328
745
753
627
919
180
485
388
897
797
392
415
678
692
622
300
54
253
564
729
99
911
151
384
440
345
622
874
535
268
784
288
696
747
190
279
602
67
519
517
954
281
673
27
736
928
730
162
290
887
980
903
21
969
705
796
93
623
230
50
922
133
51
232
614
719
519
576
761
289
637
105
160
952
28
668
79
10
11
492
701
867
40
72
217
175
462
17
845
601
655
7
754
776
150
151
442
349
250
841
653
600
983
672
303
715
6
125
228
647
166
472
761
499
28
807
301
460
601
200
68
662
876
709
155
740
556
407
879
505
542
602
154
901
288
195
285
323
197
456
142
460
537
535
160
61
236
711
973
395
74
742
790
733
427
626
804
881
726
800
35
631
232
62
998
41
553
492
509
589
573
271
761
604
101
553
511
825
615
520
870
618
913
290
701
124
364
641
103
615
720
388
761
392
116
826
253
866
982
851
521
840
74
266
804
625
719
286
296
323
685
450
673
510
792
992
422
606
477
214
598
401
73
555
220
569
471
873
54
523
168
908
891
624
456
18
809
582
631
71
67
871
680
798
468
123
832
5
12
747
756
792
642
485
918
324
715
204
840
780
586
12
528
779
359
673
375
10
427
403
206
762
895
338
956
788
346
355
667
250
732
493
110
470
322
885
358
931
763
1000
57
193
314
988
988
440
214
107
734
927
971
508
937
927
73
167
645
673
265
379
746
412
63
3
332
904
623
634
88
636
419
959
527
557
463
811
914
353
939
894
269
184
204
664
688
287
65
647
555
80
152
318
901
204
961
730
312
468
847
267
266
796
854
283
750
81
752
849
300
352
95
557
391
719
384
108
192
413
704
431
326
610
264
174
148
862
374
755
505
671
285
561
637
176
178
520
106
972
376
29
205
769
457
130
278
24
562
906
798
660
645
306
833
689
789
1000
755
908
6
371
649
810
131
523
902
524
517
954
877
897
234
640
429
813
407
372
217
434
122
566
467
367
66
219
837
661
709
332
543
148
323
915
726
891
656
631
344
381
335
257
532
717
413
384
457
204
569
219
192
663
574
909
20
298
615
539
893
143
899
864
454
933
826
850
180
783
624
325
698
153
14
380
248
453
919
676
637
49
692
494
724
587
604
176
636
332
609
585
497
620
491
372
352
660
554
98
385
630
963
741
271
429
674
701
692
516
659
201
619
973
798
867
966
285
361
396
596
405
492
393
496
294
473
897
92
528
852
628
357
516
681
704
319
543
252
420
51
175
669
708
36
500
559
59
40
322
4
1000
284
706
526
736
735
183
553
163
821
542
382
280
724
370
37
965
665
398
826
201
308
285
601
71
440
682
942
304
632
286
498
685
431
118
747
398
965
471
259
264
542
771
387
857
936
135
961
696
573
528
190
74
770
255
452
581
488
979
93
55
827
572
654
527
613
907
164
689
995
103
299
582
924
848
201
452
738
171
719
220
868
419
678
576
847
281
541
506
375
388
478
942
205
423
424
347
998
670
206
221
95
638
167
967
359
730
17
34
879
922
836
8
311
76
242
148
82
809
750
887
518
824
267
981
179
212
448
324
346
523
428
926
647
345
998
166
273
698
892
279
85
824
264
914
220
836
775
779
426
267
996
594
492
751
971
29
586
978
844
862
249
544
456
324
55
551
675
497
685
616
17
655
266
467
800
668
339
443
687
904
769
32
968
624
214
58
337
497
531
215
254
698
637
468
189
49
890
242
188
774
20
434
225
754
989
9
754
610
965
358
731
546
717
661
106
656
377
194
477
304
472
907
138
275
516
626
252
617
300
910
238
491
161
943
754
875
193
830
870
684
318
331
75
717
620
357
835
851
137
543
261
88
566
813
317
348
974
142
691
443
657
653
90
240
768
778
265
857
151
451
495
675
162
217
632
56
853
697
42
904
43
58
951
659
258
3
767
853
420
369
926
117
469
522
689
393
828
678
97
161
689
690
996
700
679
42
631
733
341
607
813
346
227
136
93
713
122
647
663
21
87
586
952
922
525
120
6
27
473
987
785
206
649
75
432
943
587
325
443
588
339
580
409
94
833
756
652
787
950
48
676
740
776
940
788
605
301
451
651
104
34
406
820
949
611
507
468
650
520
639
661
527
459
156
503
258
707
848
400
468
95
928
512
173
854
637
176
395
617
20
728
890
353
7
664
719
850
166
548
364
640
432
416
172
952
640
655
185
327
934
552
848
62
968
707
616
500
384
536
278
533
178
941
641
342
477
11
302
558
677
316
418
518
94
961
752
230
81
51
768
992
998
660
236
347
591
675
619
206
84
158
515
511
726
948
525
793
633
299
269
310
518
278
669
250
276
492
252
650
491
478
994
251
622
741
114
531
996
997
348
518
775
661
411
811
756
973
797
437
169
476
565
776
686
725
492
834
453
222
805
541
322
557
744
593
367
673
347
615
450
969
196
36
827
688
339
148
759
658
229
252
666
8
337
688
600
905
16
787
746
712
339
480
186
227
851
378
396
829
637
617
820
392
652
664
377
855
7
594
966
170
788
27
842
147
20
59
269
436
619
19
987
437
475
822
834
475
396
25
361
966
235
410
358
618
412
102
30
958
983
732
949
560
557
168
62
438
671
646
702
977
657
959
35
620
667
480
374
316
260
441
528
360
896
814
744
846
746
596
794
415
460
61
473
366
918
757
91
488
546
665
565
151
464
920
349
303
604
950
748
25
931
712
160
198
89
933
362
662
108
935
279
971
280
644
588
472
976
865
97
971
942
758
99
706
585
727
797
672
850
591
455
622
549
33
146
212
456
752
844
834
7
697
133
648
205
18
984
214
233
108
909
900
271
211
274
943
267
585
731
634
741
153
524
598
213
894
879
570
517
973
855
360
112
746
739
944
434
342
586
734
521
460
519
130
399
416
204
378
197
206
301
640
535
556
737
899
530
516
390
8
629
107
124
754
626
981
155
282
379
803
403
592
174
309
838
128
229
589
810
662
493
174
22
762
801
919
107
159
417
533
723
225
195
817
738
599
894
330
308
715
678
269
629
615
455
768
703
983
528
735
725
755
944
573
593
18
67
834
594
178
155
929
568
515
122
504
670
334
269
1
434
869
473
193
987
9
236
238
127
668
19
866
463
338
496
858
961
946
717
901
86
657
686
219
141
660
528
155
574
301
226
975
774
150
926
763
333
715
921
210
811
554
706
461
821
487
994
974
644
430
134
500
619
177
171
890
312
61
700
426
811
39
726
755
513
190
992
309
502
12
624
332
889
172
460
191
550
589
170
733
294
776
99
823
849
431
787
77
987
131
304
989
743
826
832
364
974
549
437
957
404
377
599
716
944
227
855
877
258
514
884
429
515
36
432
154
781
706
779
506
734
930
840
118
268
476
572
591
59
665
111
526
380
590
910
494
255
856
246
707
575
30
609
719
931
583
891
390
737
614
765
672
670
56
351
535
601
381
53
487
945
53
465
690
791
91
365
635
303
148
105
706
564
474
176
737
505
937
316
828
583
74
285
277
582
777
383
495
318
803
824
115
21
757
327
374
876
585
687
996
531
902
602
448
381
673
759
472
104
841
25
187
203
541
603
916
316
425
192
131
634
424
494
543
85
48
917
412
843
899
945
638
342
641
442
23
189
109
116
386
316
582
459
890
219
493
761
5
398
29
200
46
946
133
594
96
784
377
121
448
223
91
227
385
357
871
943
253
313
341
78
288
519
574
79
591
968
155
877
975
921
205
705
147
614
73
689
848
307
573
10
89
465
803
571
628
922
603
372
157
658
670
288
456
200
175
508
953
725
486
701
697
672
293
839
744
1
938
746
373
328
294
610
311
788
868
137
393
860
104
528
668
367
66
190
7
516
766
932
677
176
411
412
173
510
745
775
885
757
510
747
740
196
727
925
110
276
170
638
642
476
919
573
598
729
326
270
525
121
78
740
779
142
296
673
471
999
763
185
949
355
461
554
761
382
538
205
406
229
744
14
841
812
128
116
854
349
502
543
925
224
764
422
120
551
687
935
903
288
185
950
487
878
388
21
486
165
72
467
195
762
139
361
761
153
864
549
904
548
567
293
580
912
224
715
184
666
285
982
467
238
625
116
314
56
117
359
955
581
805
267
954
652
20
104
545
783
68
624
493
33
330
64
693
716
683
999
106
554
185
739
526
803
860
103
846
549
238
752
190
611
43
719
297
437
27
429
12
986
510
292
608
804
612
895
917
428
514
939
950
811
349
319
748
662
465
160
695
487
904
219
443
624
870
764
870
765
879
955
222
304
45
782
694
316
659
814
229
168
815
385
237
536
342
330
284
96
705
81
506
253
873
732
695
70
353
696
513
994
735
664
280
41
132
935
122
890
816
576
51
702
233
515
725
557
315
423
209
121
671
151
52
520
804
575
402
425
986
926
659
37
794
76
399
16
590
789
900
374
440
649
622
11
36
229
435
900
233
93
202
864
667
366
572
540
798
961
493
377
397
6
988
464
156
676
209
573
616
409
644
55
74
458
621
106
447
799
932
515
357
733
483
194
846
883
361
675
193
898
614
276
293
900
330
850
927
590
315
831
45
972
791
818
865
870
38
94
209
761
850
250
978
937
996
607
103
731
614
186
611
299
630
819
662
504
820
373
577
516
110
189
863
98
65
560
231
937
297
500
417
60
675
76
394
48
846
348
208
768
514
272
246
350
367
999
225
412
299
662
544
895
830
84
972
436
195
850
781
884
627
831
591
450
767
556
147
963
979
795
194
892
576
348
414
124
613
292
131
946
970
898
91
341
869
995
197
495
877
839
483
345
685
395
1
134
645
572
501
182
124
90
998
495
232
591
344
442
362
104
915
416
297
158
415
316
332
696
556
728
993
421
87
858
429
367
242
663
511
300
172
111
969
16
346
171
679
718
219
991
314
458
689
649
163
19
999
60
851
761
769
863
74
648
788
599
237
107
60
80
28
430
313
616
601
128
890
680
964
28
477
685
620
942
602
754
272
405
223
763
640
322
18
488
21
386
149
375
280
727
428
317
352
643
745
821
190
135
599
147
330
684
350
283
879
899
531
145
800
682
217
996
807
71
965
884
64
228
269
862
149
910
868
837
408
329
434
162
922
526
393
527
801
250
658
250
387
868
38
813
302
13
970
386
913
515
12
106
983
658
202
94
720
976
30
535
416
570
229
688
185
452
32
312
27
479
854
872
633
277
565
840
860
951
684
542
781
482
813
321
571
459
623
200
278
198
513
879
675
356
838
613
2
857
256
485
374
349
319
623
43
389
891
178
494
291
382
234
556
875
39
382
352
372
753
399
894
373
946
307
586
59
64
119
717
856
170
732
264
347
903
773
984
488
824
665
807
165
766
817
14
679
388
671
544
12
524
234
40
636
308
874
933
160
283
404
930
365
881
899
768
6
724
261
5
327
156
293
896
397
318
909
124
212
849
176
277
29
997
63
465
530
504
142
411
224
174
987
678
982
389
699
441
690
206
801
335
817
864
736
498
95
663
319
854
633
217
825
61
514
33
800
318
320
194
336
403
115
708
261
876
115
722
671
422
636
376
251
634
972
557
113
401
503
171
223
233
697
850
69
494
665
211
900
517
565
862
726
10
481
371
291
995
365
324
388
767
231
408
226
985
97
179
12
88
98
816
587
658
757
688
717
237
696
1000
604
373
930
147
285
330
468
648
867
1000
154
694
915
41
555
417
961
144
237
957
760
652
942
282
852
459
21
512
18
225
998
172
421
461
260
416
577
982
701
760
807
534
602
274
516
165
164
503
430
36
864
601
946
937
277
315
852
702
59
456
990
132
553
475
877
744
891
587
904
891
501
635
510
353
665
583
613
497
128
42
702
504
820
759
185
950
374
338
997
252
552
773
11
89
589
553
493
941
220
208
703
310
365
150
752
10
503
609
994
183
317
235
564
303
511
709
146
513
634
299
697
83
302
845
644
650
499
111
33
156
523
779
190
101
685
605
744
788
123
444
270
739
933
898
379
348
351
318
817
162
935
784
37
837
486
447
725
7
996
338
991
742
22
331
256
265
722
458
430
890
249
174
586
897
303
507
204
214
450
235
29
304
229
370
709
631
160
260
696
455
527
571
326
429
202
246
614
718
834
306
43
865
455
16
574
695
909
495
151
879
559
345
224
620
394
229
184
122
12
631
183
109
932
220
459
694
378
335
192
318
945
114
899
300
547
701
565
817
678
789
6
723
261
469
477
719
332
992
141
811
371
589
836
869
358
933
504
383
515
166
778
148
268
701
458
753
190
121
46
184
518
612
87
776
418
312
766
39
314
848
143
605
460
108
406
638
419
15
764
581
290
635
921
39
285
468
618
934
789
208
368
796
100
520
363
212
856
667
494
999
584
904
563
628
898
614
82
785
606
99
465
740
415
790
70
355
963
380
274
144
620
76
704
819
900
700
819
99
312
860
256
410
203
791
765
278
461
755
73
861
948
64
751
45
202
912
972
11
232
197
111
956
207
409
255
932
480
515
63
396
627
455
863
118
151
521
523
539
81
410
440
566
926
201
917
38
380
837
319
764
707
958
664
153
954
96
712
911
28
293
201
199
185
203
611
917
674
591
705
536
104
951
178
967
630
638
902
492
163
528
640
730
665
710
616
908
26
121
961
477
141
375
942
236
609
239
801
693
881
343
197
353
795
758
553
959
175
3
28
531
566
907
452
170
263
490
348
226
477
700
41
381
865
408
967
618
700
537
511
837
596
568
78
82
91
980
682
984
357
348
989
1
976
925
650
514
16
557
747
619
628
669
355
746
976
890
542
836
633
607
615
889
457
361
51
142
608
548
366
995
569
313
90
96
965
887
153
641
518
871
248
48
701
120
124
660
521
960
383
3
396
446
55
449
259
233
115
831
892
439
174
674
956
549
734
227
360
32
806
408
418
830
147
105
698
291
98
16
601
445
768
357
484
738
359
326
559
462
496
144
932
187
775
898
835
385
168
144
561
353
515
427
642
245
144
447
528
703
511
600
409
157
905
5
841
305
416
941
521
702
819
822
905
645
523
450
346
747
463
309
105
675
654
93
867
575
148
482
389
548
294
438
513
429
543
920
53
806
492
983
16
837
541
671
186
2
288
991
371
327
761
519
487
980
700
865
245
409
329
302
400
323
528
379
398
917
837
190
791
690
501
312
970
91
622
117
606
40
538
273
692
4
761
777
225
981
135
789
376
195
420
868
475
725
152
943
246
639
463
512
501
390
529
109
963
384
454
16
949
650
677
604
402
508
457
412
179
949
590
284
532
224
269
447
460
781
928
405
976
269
983
943
348
782
602
282
79
935
40
713
713
596
622
565
566
346
131
455
118
784
241
164
131
857
637
291
506
242
639
144
528
684
458
892
408
877
704
122
1000
120
415
356
113
523
640
975
133
963
589
260
536
348
451
917
460
15
255
579
706
217
555
226
399
757
310
374
110
775
54
199
360
581
330
447
336
225
429
110
97
168
650
373
721
31
671
236
649
899
123
594
966
59
136
248
434
399
442
500
931
868
621
523
342
581
173
661
46
153
451
164
909
799
888
657
71
584
582
797
895
981
63
165
145
510
992
432
853
853
598
227
334
282
895
941
524
607
147
899
137
182
518
966
134
641
622
665
665
190
490
285
934
233
517
343
428
80
94
958
547
242
976
359
963
586
912
797
982
232
701
600
742
619
621
951
369
601
148
259
74
788
975
674
765
604
607
345
956
691
225
564
606
357
97
784
87
737
518
827
634
217
200
301
484
471
15
366
397
119
237
485
434
653
782
755
629
756
425
731
711
561
695
381
111
706
916
984
287
282
894
320
844
872
857
447
982
954
551
747
604
842
871
690
761
217
970
914
222
46
597
843
639
344
293
23
166
806
187
771
406
808
327
519
264
657
907
446
608
256
262
627
635
542
230
903
518
147
308
162
178
754
76
486
37
517
501
932
188
725
77
290
734
641
226
270
940
42
34
986
488
551
192
502
311
284
933
449
435
666
914
410
790
566
196
868
176
16
948
968
440
880
32
265
453
799
396
931
653
612
50
588
760
261
480
54
783
846
530
822
573
135
161
999
981
307
978
778
185
126
117
246
816
77
887
494
334
188
560
524
525
427
820
419
77
568
695
606
951
387
235
812
642
871
813
482
530
919
675
25
183
620
308
231
884
809
235
599
671
57
125
136
861
622
438
352
366
180
418
849
118
366
922
874
572
227
425
645
547
697
578
122
651
139
841
76
162
794
39
23
481
695
206
574
254
268
655
272
824
337
75
799
905
714
360
747
326
916
989
792
192
766
68
218
72
842
517
217
664
776
497
273
940
380
894
269
929
479
555
640
184
81
18
18
413
247
702
333
968
584
827
267
653
814
915
287
800
282
324
208
680
564
153
421
80
584
779
427
341
764
482
300
210
765
862
76
630
340
229
812
983
638
739
241
368
76
831
557
201
551
399
815
813
329
269
852
732
420
720
435
29
638
219
538
460
815
64
272
97
844
332
19
843
322
398
731
500
562
274
201
25
664
229
358
268
143
430
256
712
340
863
513
710
478
411
393
285
747
758
594
815
256
759
65
824
37
991
883
656
539
496
266
37
200
115
300
383
780
415
880
271
91
915
616
628
626
243
219
85
422
839
938
409
134
98
205
72
923
124
503
868
265
849
860
900
184
879
88
422
756
306
23
783
910
663
592
155
748
368
487
819
567
295
576
537
773
519
969
923
678
957
828
810
966
330
586
304
234
820
243
605
620
860
782
688
977
741
578
636
441
84
853
751
533
788
865
553
117
763
523
470
638
607
560
275
72
392
229
343
937
922
704
396
505
114
53
684
113
659
660
494
87
757
462
463
308
489
220
418
934
383
299
380
99
791
144
898
697
988
686
148
498
315
415
42
916
254
773
172
734
66
772
570
963
503
512
104
782
163
327
860
228
229
867
959
893
719
295
130
368
875
153
765
619
980
167
354
776
732
420
946
47
271
854
728
595
111
57
901
255
499
606
783
915
192
50
473
216
246
774
460
10
170
562
286
643
710
692
748
723
623
760
136
502
18
248
703
362
222
74
907
207
692
932
934
737
188
305
714
699
260
420
890
175
144
261
229
935
312
998
528
646
247
843
398
493
505
359
196
359
753
768
10
303
280
597
811
435
403
339
816
735
331
429
660
524
280
951
167
528
74
966
424
489
28
252
363
305
649
555
227
499
578
133
189
661
224
528
820
162
779
983
326
53
609
878
219
560
572
872
608
3
464
184
377
287
608
597
321
321
616
317
730
868
449
761
14
362
242
751
696
159
753
314
517
548
964
507
449
606
79
234
125
632
96
45
574
463
218
266
170
462
582
649
405
335
180
902
406
215
392
108
152
668
247
28
956
348
387
744
140
41
722
904
738
763
930
83
737
372
282
418
604
899
761
727
812
408
67
775
640
766
905
224
801
106
908
61
328
148
632
988
714
778
343
340
540
458
738
565
658
96
291
232
560
991
672
802
726
338
567
123
597
565
267
719
311
480
597
460
492
779
111
134
195
996
998
776
578
382
805
333
984
485
910
405
905
497
658
356
731
479
228
29
275
677
555
678
818
57
126
507
809
33
43
350
438
123
517
656
986
938
893
893
254
453
347
898
381
16
662
504
68
889
861
968
538
441
15
364
585
284
251
92
703
745
847
110
598
66
302
318
362
658
444
757
185
522
964
934
799
695
240
646
738
194
970
126
124
490
901
186
917
957
908
331
480
110
787
467
858
691
376
931
398
839
41
34
210
616
144
241
479
173
838
373
846
686
427
951
898
7
552
912
319
638
703
442
397
262
870
587
395
559
692
675
759
431
116
269
259
103
403
557
943
786
311
617
204
688
399
965
361
243
731
139
909
325
655
865
978
102
989
521
615
905
676
182
217
173
905
537
801
91
757
368
858
15
689
58
175
154
525
828
399
274
202
2
77
372
178
635
580
365
320
240
617
866
37
214
26
985
660
780
127
973
331
912
226
187
203
775
775
527
345
641
292
20
568
150
399
657
328
4
213
956
966
907
919
967
813
603
555
600
106
401
887
216
231
424
832
422
555
148
21
847
971
510
969
502
351
951
796
1
286
313
605
515
856
409
436
854
675
431
168
456
145
104
876
411
650
631
929
839
435
16
528
107
20
354
508
359
326
965
944
836
101
113
523
249
885
135
698
268
479
468
349
833
821
984
68
562
239
500
185
3
293
76
360
858
788
964
897
608
105
657
939
127
678
537
336
4
314
5
326
283
66
855
90
239
522
867
908
636
718
239
876
622
363
538
127
67
676
315
37
658
968
365
206
536
17
927
835
592
415
744
756
786
317
39
514
49
440
904
840
348
739
537
326
504
927
28
335
222
867
122
995
571
947
512
659
847
703
697
300
364
364
417
212
208
451
957
757
393
281
409
100
213
5
69
600
751
842
740
982
691
256
653
511
579
159
74
113
629
645
465
816
39
388
201
931
503
580
471
101
292
220
950
750
837
629
234
445
214
306
844
410
326
622
786
749
840
390
298
946
158
65
416
843
773
162
418
633
384
508
54
348
47
110
693
962
460
751
162
487
191
881
133
401
320
56
320
309
458
926
665
11
588
738
932
31
490
453
811
250
801
784
722
456
878
942
987
557
751
401
953
669
375
761
932
528
313
642
534
476
740
637
104
792
365
480
457
289
456
13
73
895
674
4
219
414
808
549
210
788
852
618
178
943
58
295
245
750
749
378
998
725
710
311
465
822
899
887
625
101
102
731
623
87
874
365
453
374
804
567
859
381
672
804
625
217
579
759
167
266
485
355
630
481
875
235
226
340
484
328
629
94
100
21
641
226
456
460
180
31
164
644
889
817
430
350
296
543
26
369
528
608
643
186
6
117
233
30
464
203
464
178
842
856
690
475
336
316
136
338
938
252
154
895
302
868
450
493
657
562
185
562
802
993
718
678
923
215
539
732
72
45
654
313
694
2
252
750
485
936
28
800
234
959
895
611
995
386
205
431
128
192
738
507
260
921
935
763
204
66
816
127
220
695
7
846
786
493
136
721
203
469
620
951
973
254
503
217
844
338
609
688
839
578
717
882
372
24
858
674
760
429
120
332
75
829
536
119
272
203
732
875
978
570
13
7
149
800
475
481
45
89
566
733
619
277
204
891
459
162
240
369
900
532
547
631
763
887
480
938
471
735
798
951
942
893
392
340
775
456
327
973
712
945
756
833
249
705
276
537
600
777
135
212
888
330
504
554
591
234
725
66
749
489
33
844
406
65
768
784
71
150
481
768
708
932
685
181
956
827
213
140
782
485
254
895
758
9
215
213
505
568
471
960
631
981
908
743
637
906
952
187
895
12
404
409
742
836
980
248
160
101
942
108
305
930
567
619
365
739
487
884
813
585
154
764
181
408
733
530
880
907
790
209
431
756
996
115
711
488
925
406
473
668
740
960
436
881
165
519
703
682
721
841
144
885
610
542
621
467
988
428
647
952
643
377
121
305
225
234
284
301
266
787
945
797
183
593
308
578
362
340
460
246
176
437
670
139
500
772
202
423
897
891
236
289
119
387
851
676
19
958
750
54
244
400
559
576
347
806
80
335
57
364
827
586
480
438
569
497
974
86
329
424
250
752
515
757
56
653
384
104
399
274
104
933
897
494
984
856
259
68
335
386
333
590
563
366
396
607
740
248
591
254
931
68
484
621
945
261
748
112
48
430
871
178
391
811
601
173
564
440
595
537
737
984
319
154
296
757
831
537
770
733
492
430
81
225
3
526
866
489
435
272
667
722
58
128
295
787
863
260
572
530
631
337
929
749
294
13
91
696
100
730
151
508
812
634
874
101
757
812
19
894
27
518
746
162
596
757
981
973
366
412
703
413
446
70
693
269
46
868
255
392
439
936
742
750
356
498
544
554
63
285
324
910
89
661
907
171
264
828
184
528
263
480
822
411
366
593
350
946
476
340
396
74
769
732
489
922
512
252
836
664
683
606
915
430
71
741
574
791
375
439
550
949
722
131
963
69
671
37
411
95
453
399
735
4
706
356
390
684
423
962
633
551
152
942
409
532
790
76
906
315
414
489
231
597
717
706
574
595
541
74
486
296
925
39
665
727
826
793
708
53
406
22
823
439
346
853
444
444
163
569
980
169
926
380
721
497
74
336
13
560
257
443
431
987
272
208
560
579
174
100
439
813
622
892
423
976
313
447
449
777
185
254
232
35
650
974
946
360
766
306
299
832
653
717
757
317
913
980
835
438
34
998
28
179
990
88
950
800
347
768
676
994
164
103
133
239
913
807
611
881
454
671
106
773
813
322
279
243
166
985
253
731
932
702
335
707
361
418
47
360
311
445
481
133
201
73
131
376
262
541
785
267
283
119
8
683
23
813
23
879
346
83
490
692
909
999
850
453
937
477
348
976
214
586
847
782
919
412
830
190
354
676
744
28
926
84
984
486
973
390
374
94
131
296
940
861
23
589
158
388
935
382
607
165
38
925
165
304
449
206
429
708
93
506
62
9
878
113
155
679
203
670
486
361
163
979
776
841
122
662
656
56
511
761
66
201
808
217
263
309
660
187
403
613
21
326
952
680
997
477
790
521
807
706
931
857
905
250
260
307
849
736
520
485
928
996
80
939
923
883
683
375
636
779
440
881
950
895
856
671
303
39
546
476
382
261
604
810
750
665
302
255
909
734
918
353
971
708
985
875
728
906
209
29
414
402
623
656
854
136
285
557
17
365
970
906
225
325
872
96
372
147
268
509
579
322
478
392
621
499
223
470
338
976
648
962
962
24
870
382
5
102
913
894
860
89
244
11
791
886
987
92
340
160
45
478
472
490
4
53
974
941
716
715
717
886
854
509
411
963
611
182
362
180
913
508
590
529
181
26
384
954
728
772
968
138
343
158
552
386
439
420
403
813
481
947
1
177
10
370
537
939
729
490
206
548
555
26
805
550
474
658
113
826
313
55
426
162
261
388
391
397
85
363
985
593
511
918
71
35
156
584
489
374
739
928
31
886
37
668
978
677
194
783
91
610
548
404
90
883
94
356
688
483
64
957
168
196
891
112
384
435
965
751
777
944
229
435
680
331
585
279
757
463
533
385
884
998
229
678
159
703
390
350
26
763
39
141
685
964
170
312
42
534
773
510
498
383
539
654
731
688
790
617
507
98
805
750
214
278
802
224
500
201
265
770
890
341
175
626
729
904
988
417
122
325
856
257
819
533
698
551
139
887
197
888
102
278
691
908
905
614
257
233
762
808
958
375
926
398
359
58
370
178
943
512
246
521
961
124
709
646
609
305
120
689
149
533
974
316
738
328
86
561
291
332
730
734
644
792
453
518
662
434
222
842
715
182
414
710
82
199
920
936
481
432
290
647
876
265
402
510
104
853
642
837
704
439
932
146
489
272
231
272
59
752
364
837
440
82
69
747
489
1
220
379
518
167
52
310
836
351
56
751
554
901
912
343
53
854
493
596
966
690
469
54
390
935
510
224
327
751
433
397
6
202
870
770
849
92
237
687
308
155
796
395
712
904
639
434
562
617
246
693
408
808
86
163
580
982
424
679
535
684
72
235
540
605
362
17
716
20
985
950
229
918
710
371
554
996
173
441
266
98
84
34
822
769
232
134
102
385
592
227
294
646
731
788
859
363
393
699
904
119
889
392
288
795
412
548
154
965
918
437
421
849
570
382
947
864
40
323
695
787
142
235
275
240
400
933
619
453
104
866
433
297
381
641
264
146
584
349
686
436
35
263
155
707
791
85
563
524
647
739
329
896
10
648
213
725
646
541
644
403
555
90
485
829
367
108
621
66
771
616
666
317
389
795
372
133
464
763
53
588
453
127
420
642
358
482
782
84
186
374
457
262
460
766
594
239
119
706
345
176
423
723
453
494
753
465
903
821
295
227
208
798
635
303
295
592
250
560
712
339
708
227
50
828
169
666
76
428
410
799
34
654
192
939
994
769
255
32
913
538
585
659
293
558
908
734
913
611
561
502
164
121
956
327
922
114
898
740
719
53
900
414
245
526
473
46
819
55
81
604
551
228
84
40
350
937
539
373
822
771
154
968
353
486
44
980
349
82
207
167
711
162
778
701
77
201
200
201
295
819
420
904
856
360
99
822
762
929
610
740
385
510
296
139
418
983
40
460
920
607
740
656
831
66
648
636
19
254
889
49
114
771
672
797
907
525
852
860
60
949
530
259
238
52
325
467
544
971
785
162
308
706
197
1000
879
476
665
984
34
466
932
90
48
808
892
54
232
284
84
586
986
596
798
836
8
56
572
653
336
184
973
990
305
12
574
878
363
880
924
502
905
108
141
291
940
211
491
378
454
269
911
436
797
654
15
696
281
539
530
895
440
555
474
11
94
493
638
903
432
173
98
402
825
479
542
952
956
78
191
670
200
531
935
528
831
349
147
464
816
28
269
375
415
276
906
343
783
430
660
928
64
535
325
55
234
689
420
820
79
25
217
552
252
138
594
587
312
850
40
498
9
975
110
994
854
121
468
303
179
641
399
595
493
564
347
953
915
697
609
450
856
125
756
138
950
23
774
123
409
28
177
472
613
420
540
368
758
8
8
807
819
950
330
139
904
656
896
912
332
599
43
826
397
98
650
52
848
84
662
857
552
460
699
212
701
896
385
61
158
822
351
7
248
916
130
435
358
631
333
535
221
162
542
217
622
758
351
702
612
532
853
398
983
680
658
773
883
599
223
79
985
479
874
193
545
801
403
309
983
617
534
916
430
607
862
299
754
703
118
796
181
490
709
171
573
692
539
779
769
791
59
608
195
243
332
937
104
801
668
78
405
178
29
600
14
654
985
514
72
256
470
117
161
842
962
591
875
715
17
999
690
464
241
999
137
296
932
487
662
513
585
362
434
694
391
793
570
797
668
687
904
661
883
541
487
329
572
492
438
197
969
186
660
253
628
15
180
552
658
415
576
660
441
130
999
990
872
814
831
851
229
887
876
522
744
308
322
901
834
805
368
63
742
156
591
596
13
314
581
729
848
509
352
68
877
3
331
219
288
809
507
728
599
546
408
496
547
543
209
315
733
479
131
223
661
124
763
142
786
191
610
662
17
923
422
886
874
806
400
989
163
707
375
483
610
820
462
238
348
25
478
981
553
665
619
328
793
284
536
419
859
566
919
871
934
567
177
61
982
370
596
742
113
428
620
591
544
204
538
591
459
209
897
65
728
138
457
771
960
645
318
736
830
225
168
381
946
759
239
63
800
585
666
388
481
338
427
489
921
396
920
28
405
498
576
832
957
975
561
946
3
112
779
354
405
308
893
787
553
115
993
855
711
698
901
181
232
963
818
361
551
412
178
344
119
758
121
250
551
484
951
752
291
818
319
889
67
47
631
574
234
697
366
121
860
867
565
850
82
942
749
173
818
950
910
604
396
96
35
836
48
376
808
344
487
710
781
978
992
759
290
679
523
408
852
735
389
966
583
982
894
239
444
959
232
2
740
326
588
873
373
756
63
195
785
144
561
382
420
188
221
80
774
316
332
638
792
490
913
630
474
645
309
595
990
360
221
724
568
931
562
981
646
170
398
996
565
90
49
154
118
177
78
460
851
35
529
158
906
67
260
562
539
275
638
243
180
405
173
544
62
434
891
358
973
835
397
268
672
146
570
408
846
107
839
898
278
48
758
270
64
261
442
83
290
802
998
862
596
553
729
529
411
382
313
765
486
954
551
113
532
54
586
171
386
304
649
934
174
789
522
194
319
453
895
934
141
31
699
786
958
974
333
999
318
50
425
798
980
268
361
674
777
339
415
949
293
167
695
885
637
737
502
724
187
336
958
327
337
270
882
461
711
88
19
394
247
887
634
166
820
414
435
808
810
563
495
807
111
333
621
337
623
477
134
113
171
887
600
247
140
213
411
154
864
352
458
381
923
198
363
209
92
515
851
17
614
834
896
703
839
87
199
885
62
26
434
228
540
590
409
5
267
69
2
912
85
292
253
227
76
98
491
666
8
34
762
621
809
556
81
74
649
21
249
119
234
392
74
939
360
912
817
40
570
940
619
767
41
795
481
407
440
697
63
699
556
873
252
189
963
438
921
663
847
947
804
865
389
396
708
766
771
23
585
967
972
453
108
198
984
638
488
471
1000
543
235
164
410
716
441
210
152
744
959
610
96
57
533
676
619
740
544
778
515
775
534
883
655
638
83
836
600
282
933
158
488
319
475
125
74
635
845
25
770
802
918
777
874
336
408
567
983
320
171
733
714
919
524
917
488
60
67
422
92
902
81
759
129
778
13
634
295
933
980
2
584
759
467
337
196
223
623
10
875
799
637
477
898
586
691
32
718
196
880
17
525
675
347
732
643
945
542
744
708
244
217
961
53
583
233
603
575
517
763
166
648
419
769
589
286
2
920
75
900
70
273
459
416
317
91
568
485
548
169
783
745
884
891
855
876
320
65
114
243
548
226
382
487
72
751
277
311
470
585
84
83
127
817
69
577
869
663
902
349
722
612
874
787
447
659
691
811
597
543
965
611
577
884
924
529
616
950
520
401
589
525
833
248
366
45
614
200
733
693
881
910
942
655
704
563
656
102
712
730
380
745
394
990
467
12
971
238
445
988
470
4
728
278
638
987
719
834
509
203
956
638
773
824
220
842
548
812
458
583
820
929
976
258
610
554
585
449
850
23
300
73
91
870
751
561
407
439
683
44
280
820
771
576
838
973
546
433
535
178
375
357
256
689
289
440
882
555
973
22
529
113
343
566
59
578
990
3
945
478
195
408
269
441
376
248
436
963
584
601
171
367
105
920
523
85
325
931
865
792
749
210
353
679
471
815
903
312
467
122
499
144
767
668
594
701
978
355
396
873
607
885
112
550
365
625
567
43
947
422
189
325
777
70
37
205
886
222
406
893
371
566
568
330
865
963
353
825
73
97
626
247
695
884
177
18
995
530
200
654
878
661
289
441
571
398
900
111
908
574
248
56
778
582
949
713
535
467
89
216
987
975
981
348
179
216
629
80
303
508
779
730
959
718
490
867
463
154
360
623
46
618
898
977
629
759
40
943
287
276
492
296
656
824
376
649
326
711
684
224
665
605
132
616
653
499
337
243
6
128
671
899
314
880
767
53
949
1000
394
74
225
546
357
596
670
118
149
583
288
864
292
513
374
644
736
249
796
508
180
830
643
860
909
397
801
749
596
928
323
761
516
252
422
881
798
100
550
505
677
539
292
536
149
243
739
81
141
465
609
859
7
479
613
808
216
499
483
795
107
774
619
528
920
646
556
970
700
834
294
608
238
111
84
902
976
844
432
115
648
562
946
538
528
850
116
768
289
384
295
350
895
820
963
549
429
634
787
476
428
704
156
64
130
592
616
653
29
36
87
39
239
107
804
917
505
872
718
542
113
147
447
326
575
125
961
816
725
238
886
172
787
592
682
820
29
724
997
446
880
228
150
853
747
1000
74
519
337
463
21
858
960
174
991
298
177
613
173
298
152
810
615
330
230
694
2
677
608
693
678
603
431
176
977
113
291
777
549
25
894
494
565
539
620
764
638
825
794
347
838
419
769
963
361
359
314
110
362
83
397
376
897
63
186
883
182
45
944
174
177
541
598
5
995
919
894
999
828
25
473
59
844
792
650
758
11
690
408
686
909
177
904
841
372
580
773
753
236
896
668
936
565
111
755
671
472
517
334
867
43
400
363
926
956
202
434
138
82
917
654
106
730
86
971
91
244
175
712
995
315
543
484
875
738
475
144
520
331
951
230
636
378
916
112
603
288
831
134
613
104
184
172
231
136
464
395
62
266
836
438
278
400
348
904
182
139
88
842
893
994
110
849
471
358
320
510
496
26
748
178
193
249
820
520
689
200
290
788
870
250
467
571
630
626
265
603
984
887
377
312
667
130
574
928
313
3
723
383
295
401
632
722
576
209
230
400
720
543
908
694
309
756
89
433
594
878
199
352
156
280
260
736
715
70
277
408
996
147
419
746
748
915
762
193
578
328
32
616
261
368
326
952
595
34
291
824
632
641
606
186
379
553
901
596
626
462
434
429
620
8
965
188
694
813
241
95
820
981
443
286
293
748
755
308
369
220
928
39
778
101
357
840
448
877
729
506
668
186
704
562
175
999
505
528
336
805
481
60
665
202
919
296
425
160
408
286
937
774
73
141
538
489
841
419
836
622
698
300
4
516
610
308
410
801
341
700
774
45
935
149
398
569
39
8
742
276
537
293
772
178
218
476
49
684
318
329
501
853
800
360
161
529
212
827
958
678
765
909
780
348
76
405
662
327
649
219
890
994
735
992
260
870
722
452
478
57
531
450
943
94
828
201
741
765
18
934
706
46
128
19
830
669
631
654
144
775
242
371
421
725
474
911
697
446
512
552
676
577
562
566
520
323
387
305
392
142
163
337
420
289
171
199
378
824
61
558
510
889
602
6
379
933
900
308
532
95
32
607
83
150
935
41
1000
237
161
200
18
114
818
123
611
824
594
825
386
462
292
913
587
209
690
475
147
916
882
286
873
295
448
321
880
226
973
744
377
748
421
800
250
83
867
502
666
424
887
617
106
294
697
205
798
962
778
897
533
844
296
158
226
754
92
32
393
644
407
228
928
745
790
981
159
60
822
794
210
783
402
40
100
560
329
411
849
447
842
364
113
48
580
61
494
602
165
742
744
728
232
155
519
95
255
418
223
578
990
667
738
329
676
949
528
759
400
48
662
662
197
404
820
552
519
817
228
837
689
382
760
642
811
975
173
896
429
665
542
850
897
629
479
298
14
482
669
618
15
478
558
185
384
683
787
860
295
52
117
12
702
334
118
984
233
849
872
988
68
494
305
181
954
764
522
48
305
207
703
317
149
459
695
304
310
970
438
996
778
559
744
181
716
201
757
634
920
830
618
703
828
469
503
632
376
725
189
628
102
517
738
964
884
944
750
396
635
339
825
784
70
909
574
90
408
830
524
858
483
288
746
870
279
789
901
927
351
970
653
592
949
279
89
317
888
137
854
559
407
628
224
389
300
319
208
621
579
577
83
650
829
584
480
74
170
361
244
616
459
253
815
70
950
723
805
757
143
792
777
487
953
150
972
100
667
766
875
480
346
834
64
335
514
2
745
156
942
140
733
489
343
362
421
84
602
592
448
514
933
765
363
607
17
649
560
369
735
348
183
147
601
796
470
416
356
922
226
969
486
713
734
230
623
112
438
115
862
538
124
140
72
817
213
453
143
508
972
95
976
901
115
60
702
481
327
674
283
249
673
387
162
123
748
336
71
578
677
923
481
764
757
231
384
664
623
300
319
206
277
160
565
865
273
64
431
3
589
513
450
86
471
554
56
964
623
272
26
588
658
608
569
923
620
401
437
281
762
38
861
31
470
217
422
394
380
98
188
89
292
565
583
667
437
393
496
703
24
887
64
465
741
936
431
261
110
508
522
452
115
310
548
29
564
723
508
721
24
143
447
854
955
531
598
526
890
359
815
270
143
72
916
9
493
900
633
15
784
124
890
572
160
885
19
221
925
231
368
777
656
409
451
816
236
286
447
931
955
443
361
891
672
670
638
743
309
538
333
55
627
264
224
699
307
291
400
56
872
919
924
49
836
781
166
173
834
224
231
558
123
431
763
165
14
642
32
400
289
5
855
783
588
351
381
855
84
697
197
120
509
380
523
698
732
510
478
317
643
860
554
414
63
403
441
405
750
474
311
659
355
884
512
278
356
449
364
581
564
35
435
95
822
658
224
921
864
157
646
611
152
672
130
20
678
494
368
214
354
838
18
140
627
759
682
687
387
731
559
734
59
391
44
966
16
535
349
570
105
780
2
402
104
208
637
835
419
894
89
322
161
508
201
639
41
28
136
879
185
205
218
542
48
625
493
478
110
62
272
8
926
385
898
298
396
429
830
930
841
105
974
669
582
515
822
620
226
973
610
331
828
685
184
905
363
256
685
848
771
353
467
233
892
611
909
687
231
309
889
921
414
447
740
735
567
560
437
951
622
77
631
281
746
18
877
944
627
592
88
719
414
616
796
233
411
675
284
505
524
686
32
140
582
808
206
128
325
678
106
896
854
591
594
120
751
554
526
810
934
108
129
367
533
438
61
606
731
566
643
257
555
356
367
64
72
657
312
411
288
147
567
355
353
352
83
37
317
875
647
727
785
76
825
165
300
326
790
426
184
485
931
292
871
425
3
992
457
291
377
190
325
647
652
349
228
847
452
917
103
761
778
301
274
445
675
286
400
489
288
348
688
538
615
318
440
908
401
972
960
345
614
444
213
675
958
765
392
537
644
485
736
422
458
65
522
973
798
661
128
877
923
984
491
679
136
173
54
575
985
977
520
543
893
110
346
205
766
339
927
419
272
700
838
964
459
287
359
606
317
189
721
465
680
509
167
903
607
852
983
51
997
331
95
708
752
915
707
597
209
901
712
844
939
405
302
119
268
19
263
103
1
196
959
788
945
527
867
686
766
767
878
166
603
388
227
10
662
458
78
760
689
860
292
586
818
218
824
214
819
397
542
924
150
139
996
732
555
187
812
679
176
277
925
552
248
457
847
478
537
545
511
564
550
946
2
159
472
678
680
398
473
198
767
355
733
568
460
566
91
549
42
651
672
454
245
491
267
979
340
751
498
770
43
498
996
199
338
385
936
644
754
111
249
634
460
888
778
331
786
229
420
191
414
678
66
103
552
16
736
954
848
81
887
353
657
586
257
205
577
209
34
936
814
815
309
412
28
852
6
35
812
867
491
81
846
593
91
35
56
257
583
619
836
594
527
213
504
541
10
590
654
768
961
236
46
959
686
29
943
292
720
752
618
617
377
688
819
668
609
585
609
42
941
372
897
788
237
312
365
185
50
757
281
709
105
226
826
210
264
329
184
100
946
975
615
646
571
344
117
565
54
385
120
744
756
950
813
293
595
231
370
103
204
874
317
755
123
990
753
923
15
302
916
395
814
832
890
437
530
863
833
523
136
382
198
379
644
858
866
873
946
6
958
556
504
115
395
524
265
657
925
864
475
133
425
151
205
538
793
321
466
404
606
805
791
110
62
958
996
43
396
683
672
210
101
644
606
149
791
594
952
298
468
187
481
512
307
78
627
107
780
268
393
580
128
385
379
211
690
81
336
820
609
772
700
285
763
716
456
880
545
824
599
67
315
652
146
178
896
754
364
306
504
922
420
830
884
896
136
204
224
792
927
52
641
839
263
128
617
31
210
433
836
916
688
603
232
106
94
722
954
1000
857
868
152
883
295
29
151
817
877
507
627
668
626
575
863
237
918
921
16
667
405
397
604
239
99
670
100
201
943
643
604
514
343
946
42
251
197
351
246
920
939
705
577
179
991
874
444
229
806
215
202
688
377
314
417
890
681
56
438
368
32
645
513
750
742
824
459
403
784
389
24
959
388
75
632
277
640
11
159
492
163
265
775
549
927
415
601
16
77
717
188
45
408
192
327
48
800
871
748
38
483
512
623
615
465
350
622
250
855
802
448
872
86
609
409
759
245
612
605
379
803
173
737
145
51
308
358
11
467
753
652
456
37
484
459
687
289
748
313
819
437
241
727
389
543
904
817
794
75
737
627
175
568
152
201
784
362
629
516
139
545
889
909
97
296
326
480
532
805
233
301
488
817
182
946
492
638
9
969
258
134
31
487
99
852
488
947
252
889
706
494
708
567
160
86
329
263
434
656
765
985
45
171
139
408
260
401
565
121
316
554
289
786
883
743
666
733
266
378
238
312
553
204
897
941
867
674
481
389
938
730
190
280
461
899
885
213
72
790
680
153
335
699
229
952
818
71
774
958
215
956
303
672
456
460
171
335
937
426
131
113
319
214
5
315
824
505
167
683
601
525
600
318
526
932
527
289
739
882
525
271
356
484
603
857
15
912
909
315
383
951
641
660
274
635
234
848
808
954
102
822
895
294
42
886
382
401
903
601
416
194
291
989
897
632
866
325
456
235
287
231
12
552
944
82
829
36
423
959
942
316
80
542
991
863
171
323
764
339
762
512
221
758
30
823
378
715
609
94
174
555
402
359
382
319
579
554
702
716
587
511
376
161
618
272
95
144
363
58
479
777
851
384
124
425
856
959
69
724
621
969
540
145
658
283
11
468
979
917
921
234
393
842
906
219
453
815
6
500
206
494
119
513
172
485
926
772
856
377
609
603
675
25
953
348
392
539
834
933
5
473
685
654
612
720
244
278
894
451
796
304
758
269
141
328
142
411
752
972
154
432
910
775
514
338
136
770
756
496
912
206
736
26
479
40
805
541
536
343
418
294
731
752
47
771
198
448
7
750
789
918
233
675
295
925
66
964
697
710
847
501
389
428
498
180
439
204
266
782
133
34
523
904
456
919
830
899
728
265
499
5
275
592
500
931
901
22
918
176
920
849
83
260
701
731
157
879
967
705
219
696
614
242
820
136
413
71
599
77
779
298
751
762
740
690
104
620
315
605
46
939
827
177
838
480
33
828
653
206
591
93
254
266
54
34
390
249
524
223
829
515
101
412
456
109
493
492
1
340
480
306
782
649
472
187
320
753
29
852
785
420
86
410
25
407
547
800
373
267
116
951
491
725
471
285
278
302
362
987
275
682
832
628
41
105
497
301
701
699
748
451
247
255
831
933
188
410
972
665
826
577
98
447
801
280
280
117
513
690
683
240
705
315
701
976
793
749
934
561
493
348
871
125
917
466
430
173
596
648
18
134
816
794
384
834
230
828
365
604
3
879
543
20
579
303
953
935
789
144
253
559
185
783
162
817
388
615
572
122
742
524
454
3
768
860
577
723
754
355
94
151
294
151
261
667
765
687
886
797
531
702
666
626
119
22
174
757
762
121
144
751
447
671
646
506
68
407
888
19
360
698
697
334
46
135
136
217
27
305
380
340
498
674
682
261
618
161
209
550
676
555
602
755
808
402
332
720
909
359
321
989
804
309
847
621
700
728
431
775
590
871
286
856
622
372
903
821
369
757
524
518
598
178
578
552
388
411
639
223
389
788
90
564
613
262
497
335
382
257
614
133
964
295
74
430
6
657
78
452
54
472
787
290
356
742
747
527
655
723
356
989
860
26
306
901
341
523
963
872
69
904
847
646
3
267
732
468
901
667
407
277
224
953
792
642
928
526
943
534
682
894
453
549
530
14
895
194
71
458
253
165
999
375
725
351
230
73
905
474
929
801
90
825
436
975
410
593
476
639
521
638
81
460
852
389
305
915
780
732
176
598
653
397
330
814
267
343
398
674
296
81
560
949
129
721
627
828
799
737
634
555
970
118
202
641
447
607
894
966
308
209
319
650
559
976
56
977
152
392
311
34
309
326
827
971
381
618
749
952
865
843
42
916
783
706
572
286
376
815
153
587
921
284
707
761
563
740
161
648
211
820
893
690
945
183
311
435
861
384
645
827
966
688
135
566
565
91
586
77
539
289
689
734
91
388
601
29
779
429
38
309
164
619
500
580
947
336
353
592
288
530
178
112
873
155
176
854
399
663
456
977
372
379
701
512
489
790
66
268
435
401
143
59
613
827
492
119
197
211
538
609
895
905
618
30
975
567
545
171
463
512
395
934
864
157
86
24
419
897
979
19
698
594
912
783
276
146
48
523
360
253
412
53
473
620
262
5
739
282
272
751
890
672
64
826
828
323
785
482
488
823
281
814
762
747
917
571
481
817
235
382
780
453
458
622
678
240
323
554
419
534
826
708
886
621
265
663
426
356
378
562
537
192
485
687
179
861
282
385
904
741
324
490
624
131
318
122
580
216
52
421
12
521
150
332
93
25
881
39
933
919
938
12
817
202
430
939
443
917
341
982
555
852
358
917
282
957
270
704
467
567
125
964
466
749
947
637
203
740
70
831
760
514
128
505
414
931
283
148
822
842
550
79
22
735
971
334
8
236
948
342
894
821
267
797
139
620
215
149
819
54
705
150
729
379
547
749
929
898
798
433
441
724
647
774
957
507
450
589
815
434
317
567
988
193
136
675
509
275
36
955
578
186
70
538
584
651
334
842
401
873
819
967
617
280
66
214
817
927
60
534
627
955
899
444
996
21
450
629
125
683
610
993
505
34
801
423
773
759
9
878
487
937
34
741
439
567
594
515
852
780
606
96
667
170
243
811
91
456
369
360
825
984
542
599
633
172
76
814
458
86
581
804
888
791
982
572
603
953
288
931
346
490
251
607
105
696
648
751
419
389
124
871
185
78
377
297
870
93
61
258
791
867
886
526
22
313
306
372
494
331
629
269
104
996
584
374
956
926
143
332
404
639
896
358
232
466
387
849
104
714
599
32
436
344
197
267
957
374
258
656
521
584
939
566
193
876
941
509
223
802
703
584
302
390
948
346
402
342
609
542
576
115
157
599
334
168
63
171
583
889
456
305
698
302
38
1000
931
714
965
3
292
850
726
729
995
870
3
78
744
932
126
739
491
540
11
308
728
57
412
161
42
134
886
583
475
745
159
63
124
727
429
47
581
451
759
667
50
291
875
151
383
86
608
667
882
646
698
340
432
692
901
46
402
302
160
393
828
63
106
980
559
633
303
615
431
377
467
705
20
30
348
405
225
120
97
464
723
994
699
914
352
876
511
876
584
315
16
796
583
760
666
374
742
776
68
281
253
563
860
538
991
65
307
61
916
905
42
470
297
804
387
731
255
937
398
549
543
877
80
770
8
409
272
191
885
497
288
300
927
141
765
481
387
660
116
107
50
207
585
778
807
944
220
679
792
377
991
667
687
794
865
224
637
617
911
865
148
755
421
930
442
711
551
951
25
298
250
939
626
280
98
19
241
182
178
782
766
779
342
644
561
524
26
260
361
246
287
739
126
3
895
10
795
878
99
196
410
867
175
244
758
707
971
412
488
683
461
398
654
961
721
61
771
993
869
686
756
873
231
729
591
303
418
782
136
22
33
281
290
93
473
141
631
489
643
55
699
755
429
673
378
376
469
272
160
650
103
779
669
506
365
252
480
707
548
968
162
333
185
315
460
228
231
568
709
385
895
470
904
844
793
238
322
768
93
261
236
781
846
297
47
554
9
385
131
871
512
96
766
85
324
936
811
981
662
920
197
507
378
398
877
786
61
159
609
75
617
752
846
64
878
743
25
42
346
292
779
931
271
73
927
167
129
38
630
702
990
936
742
156
406
842
245
300
226
141
615
580
179
559
110
383
149
877
256
72
830
888
288
626
837
12
862
859
411
757
158
821
577
835
397
918
990
359
858
734
714
974
743
317
883
195
587
883
529
477
494
545
848
759
148
666
844
306
416
862
588
701
385
529
306
710
826
998
123
606
402
69
569
235
441
725
892
732
711
283
820
355
428
122
634
333
705
360
361
954
709
576
408
430
106
713
208
157
765
818
318
136
261
158
902
239
478
546
782
902
463
436
3
617
765
443
425
296
660
483
963
137
34
628
922
188
220
141
344
169
724
853
390
438
633
228
581
239
457
986
137
457
300
135
750
177
562
592
876
264
800
398
45
39
1
651
711
887
285
898
933
272
953
724
499
232
894
624
172
872
591
112
400
774
330
175
173
519
810
811
721
698
992
434
393
929
930
309
355
334
316
68
733
912
642
537
429
14
212
809
133
866
721
509
970
714
740
664
833
709
266
469
681
78
421
499
998
481
501
583
159
715
841
670
671
92
387
476
131
851
412
610
256
985
588
180
552
722
471
578
994
662
538
276
629
318
81
962
126
349
645
290
125
329
198
841
722
264
890
643
502
420
89
715
360
233
352
703
753
191
148
576
125
648
416
747
999
434
510
766
633
997
694
868
181
563
90
276
41
459
924
147
427
310
972
417
231
300
363
633
935
64
254
55
658
60
454
922
447
469
782
807
536
770
773
401
646
130
388
903
339
684
536
449
61
557
541
619
818
266
184
154
310
692
557
463
994
424
808
329
763
655
748
552
825
218
446
899
962
547
177
828
517
550
508
949
370
445
890
70
673
549
855
984
290
941
788
857
754
662
314
200
32
836
523
912
537
677
615
826
661
864
65
511
543
169
63
827
911
546
838
873
643
106
423
525
85
545
567
710
286
607
821
937
44
137
223
364
65
89
660
877
594
653
728
206
584
285
824
137
873
15
298
226
815
883
702
274
553
716
579
978
419
763
779
829
957
880
959
326
736
78
837
8
399
233
717
644
385
664
24
143
360
135
889
417
704
515
302
466
298
2
4
400
471
318
65
16
207
755
75
773
618
278
927
714
232
152
508
966
897
733
960
915
929
109
800
80
700
277
897
986
16
386
188
65
498
407
74
707
670
241
634
114
594
905
126
556
732
922
803
910
160
464
702
167
378
107
905
680
759
283
742
517
98
652
575
219
806
627
45
643
71
270
161
315
677
584
191
941
253
997
80
245
432
517
55
348
776
555
126
272
344
937
448
947
476
983
882
324
699
795
647
815
646
151
632
265
577
422
842
150
330
6
402
452
567
623
762
981
755
683
50
489
616
634
1000
18
724
823
526
368
489
966
811
429
58
734
708
404
522
339
399
614
410
235
458
665
647
223
964
260
43
320
791
794
883
707
30
235
401
983
300
423
748
691
816
123
548
833
234
592
318
634
682
446
818
355
876
852
862
358
908
882
253
932
104
976
283
632
333
13
657
993
298
460
815
533
618
430
356
894
968
233
675
818
157
218
989
409
764
247
637
803
906
145
916
923
750
895
737
473
643
86
78
713
97
402
550
828
435
497
377
913
578
643
767
687
330
988
933
39
521
40
16
458
541
288
768
174
112
482
129
587
650
156
781
188
179
437
335
697
581
49
74
606
875
680
56
645
391
579
966
970
884
307
288
984
127
75
287
838
56
985
762
571
270
799
772
755
611
577
337
313
545
605
635
824
310
606
353
282
115
107
678
738
229
199
871
689
416
647
480
387
46
465
38
463
169
619
534
398
968
468
7
408
331
946
393
230
703
218
140
197
1000
762
161
677
125
371
437
671
553
601
915
901
511
546
409
192
530
646
884
356
513
447
834
38
33
825
477
211
244
215
135
75
669
832
481
144
137
672
297
200
292
342
12
615
457
407
564
280
75
996
67
976
623
857
356
597
673
940
730
48
721
820
111
11
512
985
398
7
872
76
25
358
446
664
578
714
331
35
877
790
335
770
106
827
465
601
407
78
284
147
868
338
17
656
963
86
581
794
348
371
289
867
345
927
599
597
589
372
135
718
92
527
173
211
400
47
923
953
630
588
240
921
889
660
847
863
23
192
740
520
658
562
243
77
255
528
61
496
233
54
793
792
272
488
550
101
575
958
776
621
225
107
843
82
739
496
746
475
631
106
54
135
24
358
290
165
409
6
82
383
190
51
761
642
988
562
548
423
580
915
123
51
956
503
150
751
219
398
309
37
950
817
441
604
235
470
743
956
748
67
304
534
172
280
897
944
763
481
643
257
35
418
60
993
410
795
65
570
147
408
682
482
35
100
562
410
144
276
964
824
376
171
469
325
706
326
568
167
762
20
219
935
833
467
608
303
496
665
663
171
769
727
298
249
148
342
970
338
895
799
925
127
697
662
383
318
175
735
22
314
736
447
346
448
986
165
889
11
202
221
779
884
423
634
869
658
329
616
504
497
393
939
6
888
787
165
117
607
97
562
994
926
217
223
795
96
725
581
552
621
602
9
836
710
447
655
623
530
208
9
936
603
31
956
45
737
29
214
470
404
668
158
579
325
954
951
310
390
846
850
452
681
107
277
935
534
339
980
798
62
79
193
864
502
660
201
643
90
991
147
675
881
545
220
339
110
611
579
131
209
313
533
574
584
974
485
180
591
172
136
373
944
212
253
860
956
817
97
715
583
555
240
357
264
882
83
670
907
708
849
761
202
103
222
211
632
58
72
268
180
254
902
66
737
423
761
863
664
195
371
288
760
300
96
739
169
616
264
420
366
812
996
987
440
307
400
391
345
817
465
317
633
36
479
566
490
891
104
828
544
368
534
561
7
129
282
105
198
4
254
745
405
979
699
155
321
476
540
555
19
569
343
951
529
278
911
28
615
225
55
619
263
766
614
198
734
150
217
505
774
410
565
231
710
451
283
682
721
222
470
479
537
994
150
635
161
455
752
810
9
782
599
153
8
896
138
883
811
805
310
711
237
339
22
254
481
591
165
836
400
66
972
458
428
892
856
252
251
422
985
460
425
232
13
800
525
816
361
125
254
251
347
429
182
723
310
596
429
82
558
750
655
536
645
725
177
186
974
943
914
326
191
958
94
379
184
25
387
861
749
305
157
991
131
755
50
461
761
308
25
366
420
694
221
517
7
136
786
176
817
187
877
762
968
206
598
228
190
283
530
614
710
980
879
749
366
882
971
199
406
826
992
338
654
597
427
847
851
87
579
45
15
132
945
187
602
764
991
298
122
170
27
133
578
435
478
607
797
61
850
372
264
332
58
285
558
817
598
169
857
701
265
616
275
182
712
585
982
842
174
194
160
810
117
420
839
483
392
378
597
806
715
486
888
374
950
84
526
158
708
27
440
247
250
353
395
826
533
370
773
539
511
423
899
507
485
147
618
520
380
241
5
353
301
658
158
724
641
639
997
148
283
215
866
820
190
618
528
725
736
555
830
330
707
462
923
640
789
632
407
824
701
619
215
369
895
397
325
496
847
577
656
551
558
379
599
269
806
176
691
41
88
158
874
809
929
72
630
804
438
58
47
105
552
306
510
910
424
645
305
508
777
188
885
144
874
859
916
370
941
949
533
23
512
864
403
673
175
871
310
212
621
950
961
313
750
854
653
625
798
61
224
900
126
620
461
735
338
795
756
255
871
21
341
841
53
940
868
968
898
146
466
333
586
897
634
684
670
194
525
222
501
556
210
994
323
318
508
433
720
469
832
91
864
895
308
662
94
389
87
573
879
924
392
796
167
526
345
44
424
524
10
167
430
83
440
410
31
720
696
167
612
909
984
1
989
994
45
993
818
369
916
939
349
289
999
527
563
728
147
361
304
433
134
648
986
666
429
430
891
196
694
463
826
736
789
248
176
420
342
256
931
849
168
83
358
946
886
152
365
127
103
545
456
285
454
782
417
696
578
614
519
242
865
456
54
259
412
655
526
954
180
625
620
520
782
824
401
43
669
636
836
806
760
503
823
845
693
71
407
459
969
662
756
923
222
168
764
830
718
285
870
316
997
108
774
960
240
271
288
235
557
184
441
283
888
438
328
163
630
111
916
924
404
528
162
566
623
21
358
436
625
368
578
668
198
881
449
41
239
566
267
4
172
383
620
730
457
401
305
701
238
553
274
783
704
788
764
699
226
616
573
554
713
478
620
368
918
869
583
593
609
870
393
225
630
599
821
450
867
92
187
713
67
306
517
731
248
249
55
246
185
746
137
244
77
958
876
973
36
579
960
313
479
602
157
981
862
622
776
600
437
918
438
877
890
996
984
8
772
816
237
969
602
671
670
503
436
597
693
500
437
186
431
929
701
934
349
636
192
561
30
164
126
284
742
171
583
679
152
182
409
608
723
161
729
637
837
858
490
559
696
925
524
863
375
607
515
522
188
147
160
992
722
176
525
154
430
9
266
792
730
183
986
318
878
587
414
647
753
219
525
557
849
941
981
366
415
616
468
500
690
635
601
349
607
197
79
849
175
615
691
367
1000
595
566
832
24
677
806
480
637
975
268
282
760
961
787
865
387
236
588
720
290
200
963
575
339
32
575
97
915
655
879
484
405
188
242
88
680
968
301
963
711
347
997
78
249
375
477
29
555
924
794
238
716
990
889
12
1
712
870
341
46
117
7
983
394
704
180
197
61
798
746
492
359
978
895
870
147
52
655
358
73
718
575
56
109
517
42
550
877
711
876
282
855
442
547
419
509
896
918
799
829
246
884
800
526
791
659
339
364
98
757
764
707
904
900
111
396
226
174
23
486
423
786
689
201
901
653
273
727
809
903
685
82
326
60
982
374
83
350
352
194
860
66
410
794
924
394
511
915
311
458
853
859
885
560
444
454
230
800
406
53
323
288
656
612
429
168
761
182
873
509
636
878
178
969
786
465
540
753
29
280
783
60
943
64
748
656
850
675
502
668
773
357
934
980
640
390
16
851
9
506
503
506
704
409
895
475
47
105
241
412
839
511
787
962
828
990
505
8
178
56
266
285
374
469
791
926
54
324
558
953
520
572
485
148
35
595
607
977
592
72
909
469
507
400
170
45
67
369
964
261
470
601
918
411
467
517
984
662
423
248
732
218
30
940
601
539
499
370
671
260
902
659
725
849
229
135
298
403
888
61
967
253
592
59
338
174
23
516
79
108
238
173
860
240
485
400
248
181
34
347
458
771
618
318
335
723
321
176
123
930
88
577
369
742
535
114
766
965
439
214
902
607
73
785
603
663
565
128
44
336
570
637
861
126
876
115
258
183
958
369
502
134
171
859
258
392
965
814
934
568
487
181
580
224
951
188
904
633
450
91
668
626
212
898
44
875
892
455
548
152
163
326
761
222
750
309
431
1
30
259
443
551
532
145
823
287
956
904
180
496
847
697
964
897
661
655
454
513
792
43
704
561
48
43
517
419
191
68
118
987
405
535
398
904
983
591
461
182
99
120
763
750
254
698
290
319
893
852
71
747
696
99
835
762
299
773
741
544
506
542
952
112
598
898
280
926
5
595
231
396
429
186
593
243
485
349
112
747
85
663
914
2
51
829
67
201
920
145
78
838
500
180
196
473
500
208
84
362
474
919
814
813
400
357
162
626
436
805
858
323
794
556
797
191
217
136
204
336
222
543
414
36
170
507
216
725
189
614
694
792
188
348
117
255
488
798
704
50
111
777
13
336
381
597
331
722
293
587
643
802
57
722
694
695
344
398
204
567
980
490
514
270
322
285
816
279
47
822
640
121
889
435
469
328
689
12
184
763
206
630
532
837
314
682
986
766
580
606
152
473
725
617
350
206
137
589
134
218
432
397
267
93
45
561
124
450
970
998
581
754
44
58
181
945
652
790
803
421
313
544
76
670
369
621
536
512
941
668
885
478
357
885
704
326
521
955
730
67
61
778
60
172
634
727
727
819
496
154
668
132
248
309
487
376
749
654
317
981
293
816
753
79
514
41
83
980
947
83
991
616
810
917
481
540
382
520
38
505
269
242
930
986
5
964
120
275
644
330
477
932
462
810
833
452
434
264
988
970
909
985
912
712
757
877
273
692
348
564
882
827
888
753
835
273
19
64
903
253
84
911
219
94
135
742
417
479
601
89
154
160
472
427
401
506
54
826
945
286
586
695
332
52
498
747
840
299
680
436
181
375
891
739
299
744
379
121
27
792
820
937
404
822
952
303
111
287
648
701
842
566
725
173
431
810
465
5
182
472
729
205
193
121
490
921
398
95
842
202
703
311
827
111
843
328
931
289
543
346
705
515
143
373
798
651
102
263
613
664
697
618
911
75
790
865
958
268
758
933
214
587
540
43
155
43
302
105
533
748
397
73
285
920
123
412
331
388
307
523
712
77
882
563
858
854
416
607
322
472
63
507
940
60
473
124
250
793
29
832
942
881
164
321
272
9
652
759
674
714
463
322
223
944
219
954
247
238
325
954
115
546
561
665
168
678
313
112
832
793
628
894
172
131
980
11
550
386
957
629
579
751
97
932
280
680
739
338
187
832
58
351
179
508
453
240
967
114
33
535
511
846
260
78
90
838
721
983
428
467
617
385
43
372
763
331
936
37
837
481
868
434
166
565
710
314
518
692
779
247
307
677
652
372
75
528
683
140
356
112
319
42
830
804
381
420
198
625
645
980
346
950
456
561
182
413
568
43
991
991
127
4
289
630
486
908
914
939
581
127
541
654
665
89
905
586
564
177
737
714
9
801
847
936
238
227
849
746
823
332
700
759
576
447
659
585
480
849
243
13
828
244
471
862
115
825
29
119
804
73
972
214
760
500
242
326
18
973
588
679
559
60
437
654
941
118
901
374
946
452
353
157
900
946
977
834
950
24
262
493
382
658
665
625
7
402
569
33
763
143
226
75
924
283
597
10
741
627
843
267
906
79
795
431
978
600
873
628
763
573
798
756
732
814
907
746
716
30
67
566
497
414
968
271
436
420
49
724
911
496
442
14
210
694
79
753
466
639
561
609
382
279
468
438
780
223
530
350
458
227
501
862
448
576
620
65
528
685
273
393
758
245
820
139
895
613
611
345
765
963
871
64
49
933
494
303
517
82
768
102
393
529
719
354
444
554
64
945
358
772
737
703
171
739
553
487
804
497
890
433
289
596
166
54
847
618
496
367
841
68
170
721
511
786
478
300
554
695
980
570
853
791
523
67
75
772
200
12
447
603
948
202
739
587
688
520
375
266
743
161
635
555
756
409
121
35
508
360
991
290
822
505
16
451
217
511
145
914
99
826
117
278
40
991
624
163
157
641
676
473
664
240
102
79
436
513
591
621
828
416
251
352
38
196
474
497
28
811
757
597
394
493
252
708
592
746
28
134
620
442
414
554
597
949
348
56
663
447
334
569
316
652
512
650
548
208
285
393
173
885
203
460
326
568
53
914
388
719
632
544
550
646
301
853
796
437
211
744
351
858
54
208
526
876
277
983
465
700
982
253
509
425
144
935
770
396
346
1
17
418
988
579
192
785
770
304
688
914
351
461
30
50
227
41
752
98
273
708
68
165
883
34
409
790
318
94
18
155
695
650
561
810
32
714
166
553
909
242
375
169
579
53
263
647
847
868
351
351
593
520
27
402
637
962
891
140
504
734
816
148
769
872
542
766
864
120
312
415
630
458
389
332
440
604
302
516
411
159
306
772
94
479
878
754
28
223
4
825
722
721
651
348
954
1
108
767
759
317
790
462
101
513
700
883
44
409
2
936
160
673
44
921
41
292
744
587
27
891
451
23
695
579
286
191
218
941
483
849
444
78
430
517
421
295
966
918
155
184
982
14
570
333
507
363
3
835
309
22
93
120
473
627
559
333
549
624
228
664
654
809
618
579
326
495
547
830
43
662
520
534
36
355
86
347
463
486
998
937
42
915
724
575
978
384
817
598
365
394
708
957
315
647
718
807
692
3
470
341
736
230
449
670
793
985
117
580
79
580
890
405
673
92
260
113
920
280
548
921
45
593
60
420
59
274
945
211
954
202
643
557
805
641
656
373
629
514
273
178
737
164
32
304
912
826
937
724
929
181
867
371
821
454
224
709
823
460
530
602
100
912
656
273
222
79
334
209
829
557
853
435
100
557
166
484
427
571
182
712
193
719
633
381
632
394
793
40
575
31
258
315
282
968
165
161
671
407
494
999
996
405
585
922
428
707
563
360
66
943
172
131
586
428
402
836
161
306
377
929
262
322
237
601
662
825
68
827
310
929
544
530
713
942
617
852
151
262
420
938
327
954
633
467
46
136
641
417
121
107
222
195
998
879
918
292
510
417
929
122
768
405
124
524
457
814
754
708
681
899
511
97
91
486
889
575
209
599
185
191
790
528
66
201
511
404
366
694
554
263
660
702
406
309
188
852
754
849
949
113
482
899
73
112
583
31
169
865
288
391
942
450
797
159
259
359
830
960
781
748
579
821
443
835
819
347
338
2
598
723
40
948
385
969
960
438
608
669
154
730
198
37
852
805
163
745
126
867
231
419
268
428
274
98
910
467
593
217
407
792
103
885
742
733
159
319
35
734
16
296
781
240
943
410
99
524
578
729
582
717
428
162
857
398
332
504
567
521
304
619
290
337
423
719
884
239
325
990
812
143
429
111
296
69
242
358
561
123
947
42
992
931
18
31
775
914
798
959
473
468
782
524
30
265
908
967
900
368
226
424
360
822
214
347
554
683
408
599
528
209
167
153
293
69
170
525
965
976
667
250
167
129
609
683
148
185
514
398
567
271
342
293
440
716
709
245
569
772
481
857
651
570
171
360
350
967
566
257
857
734
735
637
841
736
877
387
231
398
471
724
995
720
860
572
905
592
691
298
320
940
606
247
155
514
210
333
576
740
600
648
389
138
696
709
771
245
190
486
756
867
184
772
864
734
488
866
347
311
105
719
800
632
662
917
296
461
389
911
794
25
814
879
278
844
488
492
994
889
922
646
184
431
404
903
918
444
526
985
986
362
37
183
317
325
143
931
69
785
454
143
352
482
594
94
537
368
899
803
230
996
721
867
284
271
634
678
701
223
181
768
824
636
935
802
51
959
289
412
165
903
828
582
485
537
110
846
251
486
406
858
62
40
264
239
722
625
789
779
545
52
135
157
32
459
82
362
846
624
464
924
181
618
899
832
935
383
511
800
593
889
281
129
364
959
260
961
889
756
110
179
812
145
363
526
602
864
327
798
273
491
787
115
77
706
552
338
806
224
364
682
97
87
939
450
977
706
707
601
989
167
325
558
383
822
200
254
240
126
47
929
923
1000
12
601
881
761
960
434
689
773
349
479
176
562
530
372
631
65
395
608
369
65
60
975
395
627
656
550
511
534
382
442
963
294
656
105
653
284
615
632
16
1
203
891
897
172
799
772
131
709
666
76
101
79
496
784
232
704
988
528
237
427
700
116
939
903
381
846
689
24
619
172
684
129
906
29
997
800
171
706
773
507
409
756
818
225
287
805
766
417
516
533
137
462
328
313
821
676
623
173
980
567
215
810
909
883
130
365
154
265
113
520
32
88
327
320
796
121
717
745
842
223
685
718
731
154
517
701
314
971
473
456
918
181
581
866
351
983
928
935
511
468
722
202
478
645
431
871
286
456
111
859
20
795
392
863
476
643
674
239
403
84
805
223
259
903
855
517
469
894
679
788
443
800
581
992
960
1000
802
707
98
701
498
880
565
391
544
457
169
733
832
411
157
939
656
549
325
880
433
338
141
825
276
683
579
792
852
234
32
910
593
337
434
79
519
178
683
479
881
22
590
160
371
702
781
19
858
689
468
963
496
101
525
971
572
44
71
22
629
489
626
630
284
739
968
778
593
186
15
608
44
682
396
130
998
334
917
549
916
970
772
546
800
817
178
14
71
158
119
265
536
885
981
717
188
872
185
418
324
65
370
529
887
998
267
90
964
244
197
935
140
929
15
655
713
27
413
870
872
624
735
899
572
727
822
96
204
446
960
767
164
623
721
570
48
34
304
760
543
320
43
447
21
698
876
290
499
349
918
682
860
56
768
554
213
353
782
365
824
925
390
708
323
486
439
254
769
690
672
409
750
876
721
152
864
643
393
19
854
272
622
72
146
30
172
22
760
240
83
356
387
798
881
451
931
518
787
175
958
270
497
386
321
390
639
100
667
250
671
814
695
199
805
637
765
287
531
404
939
360
460
944
584
87
476
4
449
485
653
119
510
313
9
898
933
480
904
757
253
268
841
144
193
740
462
693
614
182
822
517
745
787
341
110
211
109
443
882
331
977
545
433
871
665
940
36
676
141
120
692
644
90
263
317
61
260
923
275
644
383
443
547
547
554
269
245
177
495
105
82
933
579
829
651
860
805
170
53
782
220
439
512
699
394
993
68
89
667
711
385
308
825
479
949
430
757
582
713
757
444
924
290
675
286
215
365
734
421
620
898
594
153
868
40
986
31
484
402
931
460
659
483
245
904
224
605
800
917
341
662
98
242
832
352
454
174
499
345
503
234
400
986
789
944
814
760
918
163
544
685
141
22
275
244
230
934
951
226
228
579
502
78
972
22
818
988
302
319
554
915
503
74
201
235
856
395
891
492
128
649
549
982
457
165
355
546
362
843
934
1
550
174
347
101
783
778
758
757
300
966
566
570
207
203
946
335
818
592
968
333
105
681
896
652
342
920
846
720
507
122
715
508
217
123
161
579
822
627
498
277
736
947
522
854
298
894
679
286
202
632
474
838
66
679
714
185
766
587
964
50
992
32
629
860
892
194
154
884
768
321
189
685
521
349
956
476
981
255
716
168
269
605
948
457
94
419
820
296
242
23
555
517
545
46
571
114
299
109
643
965
447
11
868
356
844
438
931
687
557
301
38
176
482
828
842
216
510
430
931
263
115
190
709
797
492
553
19
919
322
400
477
659
837
260
291
870
88
821
282
900
234
283
936
892
232
325
568
655
509
624
114
520
96
949
628
505
191
810
303
424
353
516
711
257
321
303
18
226
990
869
104
560
198
263
909
818
812
558
809
14
38
187
503
496
48
99
736
699
734
138
124
431
892
176
538
302
191
562
745
305
49
388
492
270
929
935
806
154
640
408
60
661
925
720
253
707
25
678
46
621
882
376
330
792
393
982
462
661
404
410
887
594
191
531
530
163
769
706
225
824
733
408
440
784
259
619
745
98
553
501
773
697
262
578
929
72
366
270
724
825
591
180
408
142
681
974
530
518
740
17
154
755
429
225
735
319
22
720
50
630
171
958
198
780
806
967
366
444
723
217
983
474
303
431
911
784
278
332
522
639
608
920
874
407
365
387
705
140
965
183
633
125
216
55
784
656
447
130
40
849
378
200
238
283
524
458
963
601
652
827
991
976
206
903
96
549
695
271
634
491
740
629
312
354
856
711
539
779
58
474
75
392
95
402
10
986
422
57
684
640
44
209
871
492
996
965
361
290
566
328
134
670
284
531
466
381
381
298
629
278
646
922
343
3
587
666
761
679
355
535
578
876
174
922
779
291
891
940
687
353
844
570
192
965
440
849
493
147
733
439
244
201
794
864
728
334
865
602
581
388
125
978
615
432
407
527
507
488
319
76
461
610
84
298
477
839
844
919
520
321
300
49
714
9
355
359
656
917
834
948
105
872
484
757
565
42
161
368
760
329
540
854
585
853
756
84
887
362
53
590
356
382
946
630
868
327
390
584
857
565
146
170
696
682
888
293
581
766
566
492
148
566
217
71
873
828
717
3
354
898
923
610
705
964
298
817
653
939
366
532
390
24
296
321
868
479
502
75
31
959
382
818
420
78
231
157
698
510
937
115
898
38
243
270
622
445
285
167
997
36
594
966
913
880
970
150
968
582
456
913
584
484
152
555
961
741
747
756
883
631
468
194
920
787
609
282
220
791
921
208
922
714
925
619
202
710
645
453
96
788
348
460
539
181
621
871
522
556
535
551
849
463
675
713
764
995
560
926
631
643
343
731
910
717
689
640
923
483
439
687
285
423
1000
968
410
577
390
814
218
14
534
334
11
841
701
73
512
44
953
432
211
659
97
331
516
439
889
297
652
220
205
818
931
658
463
304
760
860
832
479
761
722
672
338
425
443
198
85
39
783
597
620
999
106
672
207
231
169
642
930
145
891
884
433
462
66
272
212
282
87
252
428
952
273
931
807
677
320
296
701
312
711
128
786
426
700
290
200
602
588
876
145
859
570
102
96
274
430
950
827
134
654
295
357
420
373
665
823
38
671
829
996
945
411
144
842
271
698
939
93
588
514
266
269
723
840
20
952
900
805
763
433
518
12
613
17
611
205
171
384
850
875
809
401
1000
237
583
701
872
235
659
148
181
904
430
50
158
445
429
586
440
828
727
483
521
632
771
383
28
59
499
723
180
768
145
181
35
247
350
918
579
919
81
906
266
98
372
603
347
194
104
127
239
275
860
854
187
219
411
71
718
198
528
889
708
170
624
169
411
389
201
575
469
671
210
227
739
314
171
615
757
112
397
606
811
872
686
368
861
181
661
9
15
983
276
569
878
663
127
746
841
933
872
419
298
815
464
585
867
399
928
793
906
848
89
564
19
354
996
545
765
342
798
356
525
248
472
165
292
623
111
74
192
156
456
251
711
417
956
615
906
825
953
564
390
323
490
904
496
777
846
625
831
911
159
667
368
913
370
117
353
495
325
577
538
280
37
563
702
881
37
901
963
934
214
27
145
637
783
2
330
73
816
825
790
694
300
319
668
867
821
482
164
322
786
671
458
653
567
425
318
784
73
25
112
438
22
150
976
221
626
61
984
865
512
852
497
563
411
172
289
82
586
753
671
523
4
747
593
185
995
623
620
971
490
860
756
165
978
223
322
241
1000
718
476
522
324
668
521
171
973
496
827
989
905
941
62
923
458
402
446
33
653
48
892
892
53
111
243
54
167
557
277
249
309
900
803
469
429
502
973
915
671
132
848
98
314
895
406
29
312
921
429
532
877
332
95
199
408
112
730
404
595
435
862
90
724
931
623
751
45
113
593
157
557
917
377
873
714
882
557
561
395
6
174
385
894
738
578
579
864
870
297
373
885
312
548
53
788
889
175
838
940
300
78
686
456
351
641
851
686
407
292
228
424
761
75
96
950
294
35
850
430
357
310
721
218
263
19
273
259
211
462
686
182
667
671
435
633
514
52
15
60
291
711
757
475
920
96
650
685
184
715
302
104
54
39
810
528
687
200
389
212
550
673
46
144
638
990
446
701
238
449
417
733
997
880
171
709
334
823
455
773
384
875
285
403
748
518
849
940
254
524
442
387
883
862
25
765
714
112
88
783
524
591
48
732
204
728
319
344
693
761
520
791
551
494
51
157
571
661
393
466
107
453
32
786
864
875
895
47
989
905
519
920
212
890
964
538
631
193
653
879
518
890
892
355
158
227
846
539
301
627
90
946
312
248
719
525
435
525
152
815
916
613
406
739
899
404
653
650
114
616
255
569
385
464
344
502
885
616
248
353
897
433
675
240
556
992
679
929
678
23
825
721
311
689
889
357
107
77
661
399
932
386
118
148
410
65
304
312
257
544
762
571
301
820
222
671
102
855
603
882
925
647
38
498
626
875
797
546
708
223
463
23
379
840
672
801
978
905
42
795
526
947
656
119
476
365
638
718
983
623
856
427
111
678
817
464
452
540
111
145
582
273
582
978
592
400
566
389
727
375
105
18
815
768
58
911
705
846
407
956
458
459
875
612
384
570
152
279
290
256
686
716
548
758
968
507
625
978
690
924
779
848
1
485
505
172
288
137
130
858
597
253
708
932
825
592
958
378
302
949
558
638
211
462
523
552
612
460
774
616
461
288
219
732
135
767
867
994
458
802
551
675
94
206
789
281
504
974
224
438
361
81
855
425
429
382
948
357
426
357
155
381
343
215
829
771
990
383
957
456
308
505
466
365
111
839
830
939
491
419
102
289
64
386
476
808
598
687
451
447
356
711
524
515
632
504
68
597
565
927
750
119
295
480
366
155
926
542
484
303
555
486
648
856
844
438
172
22
212
457
773
657
764
588
355
825
484
500
306
530
60
452
527
96
940
884
279
43
885
265
629
753
305
738
913
869
148
675
165
171
964
556
929
616
41
432
168
333
188
818
302
631
805
96
514
504
412
326
565
666
647
961
318
926
95
82
47
546
991
656
409
314
962
790
634
244
487
126
99
168
698
312
936
7
453
964
770
178
376
662
960
412
680
276
979
232
175
375
659
516
768
565
101
800
196
319
968
488
426
316
729
715
413
300
195
355
407
257
325
627
74
24
867
782
10
492
863
628
97
268
417
1000
314
965
449
847
252
320
294
310
584
970
156
8
201
40
395
773
510
654
565
238
678
109
904
9
216
722
747
637
367
306
911
233
212
806
679
380
279
896
431
928
707
205
324
376
682
454
675
803
975
939
874
740
870
716
695
919
679
349
886
617
348
277
757
142
352
678
302
109
206
236
70
306
434
344
595
339
751
96
717
741
573
881
517
909
689
529
913
48
79
722
206
285
415
812
951
275
744
312
625
864
205
30
443
889
422
244
576
752
362
383
734
181
66
367
781
527
620
159
581
1000
140
93
762
487
357
229
479
977
575
344
511
179
409
128
244
599
713
855
194
204
552
62
699
822
894
778
363
587
935
422
605
71
629
814
434
214
28
638
174
813
518
311
398
124
876
451
795
69
359
41
19
661
721
940
828
519
105
622
4
756
284
883
577
105
602
780
878
878
255
284
816
252
294
909
554
389
806
151
467
132
296
647
843
358
161
851
310
583
542
413
382
80
535
635
817
611
903
117
727
830
991
148
497
587
478
502
598
615
10
24
350
565
462
818
502
954
832
887
288
334
280
799
242
942
865
343
661
128
909
127
40
130
711
797
223
114
564
868
256
978
618
171
167
74
171
563
953
917
394
863
93
903
306
944
795
270
103
523
14
840
527
482
3
568
77
481
768
561
269
215
375
23
52
910
449
534
736
574
599
177
480
49
724
281
458
157
343
995
317
81
138
437
442
661
877
937
829
480
786
761
94
424
189
747
238
932
951
481
339
294
861
17
232
139
577
626
605
774
178
762
658
100
697
232
614
650
204
548
950
707
165
581
137
563
828
929
75
720
320
847
154
234
10
222
70
474
431
810
86
282
710
884
450
875
51
526
26
877
249
7
59
552
632
100
149
640
84
717
147
205
17
952
721
539
236
472
728
518
677
222
392
708
864
549
529
200
803
218
678
410
709
230
73
984
610
32
843
604
420
459
691
675
481
743
565
810
976
989
529
583
798
823
99
239
708
286
838
904
587
674
838
396
654
718
103
898
327
407
457
603
234
786
812
944
555
282
69
163
486
430
913
797
105
442
59
110
349
662
261
633
117
838
536
754
736
72
612
714
170
492
562
489
376
946
951
756
149
487
596
557
673
35
217
334
712
331
826
729
67
250
723
895
480
599
313
119
633
771
819
225
291
977
120
572
902
383
598
449
159
121
864
350
163
24
702
882
774
970
348
59
703
828
522
337
677
403
216
32
750
184
346
699
466
390
796
625
95
578
258
866
642
29
563
127
630
238
831
371
963
110
896
247
295
846
924
286
420
118
47
385
175
848
130
221
198
785
514
139
724
125
670
515
227
630
231
759
370
37
800
946
204
85
252
504
969
126
6
537
177
147
860
111
869
985
568
298
77
662
272
829
557
66
269
982
791
655
374
727
128
446
311
186
653
356
143
236
75
826
741
382
461
797
707
127
126
272
928
705
384
143
198
385
121
474
904
592
372
136
839
683
169
550
608
586
930
315
924
422
576
645
345
903
378
887
635
528
268
861
996
582
949
404
859
483
721
288
803
316
342
647
437
274
609
139
748
272
601
340
515
245
681
280
862
505
422
615
935
28
596
655
983
788
255
350
822
34
698
393
788
940
824
791
811
205
984
605
133
980
907
92
584
973
740
137
10
703
512
674
637
650
589
820
678
492
799
536
463
693
942
955
745
467
363
939
564
555
81
83
287
278
749
70
980
85
376
288
269
157
296
613
258
675
359
562
847
29
692
354
29
611
657
2
333
786
842
224
626
350
10
854
886
41
917
411
421
656
875
677
222
961
686
454
797
826
345
145
894
994
522
451
942
442
370
260
956
577
653
772
880
376
527
984
36
171
570
941
428
984
824
581
145
175
659
555
988
719
267
163
759
590
455
408
365
598
198
233
975
479
115
200
31
247
616
223
798
574
972
481
506
468
996
316
852
614
294
724
788
547
326
58
71
233
597
671
7
751
358
539
177
493
144
350
730
724
307
148
972
385
471
394
583
743
492
195
779
884
71
583
132
29
652
893
555
393
594
723
184
590
930
490
486
649
170
277
943
282
756
563
119
435
727
389
692
55
125
739
333
666
415
184
928
600
6
369
681
695
495
511
131
828
870
926
933
915
309
496
579
924
567
137
846
982
201
572
906
895
59
129
475
255
487
873
301
850
732
101
572
273
852
126
555
452
273
300
873
360
779
461
356
254
370
308
328
682
880
750
523
875
699
921
565
345
230
399
92
224
951
135
151
359
82
727
453
232
885
9
446
560
571
312
927
790
645
422
91
809
260
977
500
860
823
998
453
63
660
289
609
957
18
716
553
140
71
718
165
474
867
975
294
267
366
860
249
534
796
131
37
736
580
365
140
347
977
783
818
260
416
451
616
270
220
316
769
853
29
175
687
25
805
484
532
312
704
830
207
787
478
41
726
650
300
125
22
98
105
692
761
42
548
45
586
812
723
896
557
133
599
526
229
527
976
263
956
774
408
346
488
217
170
601
899
534
835
879
189
14
442
848
643
559
564
596
198
352
777
432
589
613
213
470
26
926
859
816
516
383
245
672
698
181
5
256
263
385
534
202
581
271
653
33
178
40
722
356
82
721
163
685
861
773
698
163
396
222
897
7
25
189
850
204
739
283
837
837
514
688
916
434
722
695
214
899
774
80
576
921
814
6
895
219
339
36
131
638
50
475
512
892
132
466
894
705
427
201
576
210
617
145
144
723
652
395
56
427
121
176
768
95
170
990
168
673
870
122
948
484
652
62
365
802
532
880
503
796
368
749
756
168
335
640
765
330
111
641
449
632
37
513
76
1
616
847
561
284
327
641
298
774
630
181
870
677
435
893
926
696
77
194
361
581
5
471
684
182
977
997
142
525
552
998
701
451
58
82
485
651
21
942
653
241
231
604
958
648
278
431
456
210
351
828
903
786
571
817
400
675
947
696
750
316
255
552
817
555
841
723
884
762
346
218
659
701
836
683
85
871
699
791
595
970
892
779
747
238
859
466
486
718
473
273
390
876
881
637
362
587
992
769
186
262
688
846
249
737
516
607
503
610
742
801
478
922
178
83
684
402
102
788
322
46
949
446
571
444
155
52
83
100
720
874
502
974
579
991
993
620
844
904
764
568
332
236
538
66
585
3
756
900
727
956
72
762
140
242
332
586
879
963
830
290
161
295
75
666
94
455
709
488
950
198
488
473
986
476
427
448
760
588
334
905
375
423
920
145
873
381
626
398
274
190
99
609
379
84
983
79
510
773
318
772
838
211
372
907
778
415
185
394
243
501
442
790
184
642
552
698
965
904
962
971
575
745
827
632
607
528
90
190
209
561
951
875
939
20
458
395
560
628
656
3
337
78
330
18
316
44
881
453
413
51
291
94
865
615
436
168
750
843
240
736
827
118
302
93
923
564
641
731
422
776
163
887
233
650
302
292
735
258
36
518
826
395
143
216
171
801
125
627
127
116
714
985
663
272
241
800
759
394
433
568
412
271
419
157
381
108
790
950
235
587
590
886
112
218
15
649
803
605
417
631
474
498
928
754
328
481
663
867
25
681
975
245
500
186
702
663
110
723
680
608
722
729
40
479
406
144
10
30
944
161
950
883
183
645
382
684
649
179
602
345
465
470
303
874
792
416
274
488
505
211
885
58
734
753
542
455
265
17
722
28
492
227
524
277
809
413
859
755
827
375
580
386
801
187
856
669
1
89
45
679
522
51
175
412
231
323
888
758
91
30
378
303
150
218
391
263
807
796
880
59
831
505
219
426
792
390
243
536
157
229
496
243
368
52
245
500
610
168
744
919
827
108
220
709
770
492
803
465
536
122
400
822
62
525
96
606
543
775
252
896
576
663
848
385
115
172
47
510
997
811
124
109
881
535
148
760
937
888
804
538
504
496
759
673
248
264
848
451
66
436
114
779
78
186
478
993
581
584
360
890
763
537
126
441
319
836
606
332
818
509
272
291
865
489
885
164
601
23
528
800
87
361
19
148
447
972
591
383
442
994
621
490
312
622
913
521
294
905
716
622
245
763
218
45
165
82
738
541
221
420
216
975
108
193
873
487
150
230
138
285
614
207
993
959
102
802
943
248
733
386
672
358
62
643
325
247
340
860
19
766
747
490
869
217
716
236
314
632
304
125
983
84
867
946
697
387
930
1000
451
869
273
302
373
256
714
269
744
339
966
452
110
785
262
36
434
355
141
704
975
855
891
927
325
305
702
920
581
206
452
298
181
280
441
937
314
727
85
670
140
870
749
223
285
48
446
225
198
738
68
230
996
197
223
432
367
360
472
138
952
331
972
159
369
577
93
963
719
836
592
823
980
858
280
221
150
286
977
437
399
409
694
622
784
49
656
620
230
528
752
481
645
558
459
906
968
856
97
822
934
511
525
936
85
408
26
363
350
522
190
366
82
533
42
863
31
988
562
563
129
204
964
516
351
208
835
439
140
269
267
354
61
999
639
988
416
571
581
881
517
347
973
364
204
72
514
372
974
859
537
590
785
379
247
563
193
24
497
214
976
322
549
681
849
574
991
510
125
466
159
15
471
443
926
45
988
714
706
502
905
106
874
697
101
386
580
16
549
315
98
464
487
429
452
331
827
497
35
628
842
638
347
954
667
346
764
129
538
49
465
303
939
359
273
209
74
886
154
907
128
352
575
672
828
711
738
621
697
223
961
343
224
673
97
28
900
473
964
545
684
995
199
518
24
261
811
687
970
109
994
725
298
15
425
296
786
53
353
287
967
859
286
69
750
64
974
150
253
390
678
774
99
476
438
847
201
560
155
95
738
339
831
482
656
686
240
745
505
399
611
366
843
870
694
421
759
327
655
512
294
332
879
453
648
346
642
442
122
431
29
208
682
661
224
32
857
396
475
595
474
310
633
321
362
42
128
249
749
359
674
522
534
976
765
223
997
571
259
673
809
68
931
273
380
943
931
638
689
221
487
72
753
760
25
422
784
685
131
925
919
60
420
1
118
456
418
822
472
651
40
121
669
513
96
921
850
80
535
788
394
925
806
770
456
194
818
380
227
93
437
879
962
191
386
622
783
642
700
442
161
296
592
845
754
740
716
326
973
478
311
264
251
860
666
625
485
825
650
224
557
252
808
384
113
491
660
606
52
652
410
322
272
360
192
875
276
987
399
622
160
801
350
461
393
106
782
140
509
185
202
429
523
799
131
596
438
43
681
660
689
628
688
597
743
9
845
977
368
340
893
556
268
952
934
947
889
870
382
858
196
933
881
300
146
227
755
834
380
883
227
173
396
755
667
398
92
152
595
652
100
566
46
405
776
318
153
291
62
132
480
86
692
899
755
597
357
346
81
123
555
869
670
657
766
531
377
202
528
120
81
392
736
195
25
135
195
258
780
123
73
539
408
869
357
393
738
421
884
992
407
973
791
795
465
438
480
287
896
427
308
586
350
185
252
854
778
813
746
840
395
451
738
549
594
213
746
750
26
338
391
979
13
421
428
753
906
603
760
958
757
284
339
751
916
272
96
851
756
266
273
833
751
234
608
831
589
557
834
138
779
762
865
315
509
314
857
747
115
185
67
107
599
874
39
760
70
149
202
5
871
996
413
944
403
195
293
905
345
499
507
604
55
586
251
652
417
848
316
560
295
612
53
187
71
536
440
388
436
823
252
732
720
337
16
310
574
890
37
42
745
771
285
381
1000
57
344
1
21
350
934
867
223
397
760
72
985
447
549
964
785
317
188
375
44
869
813
234
283
23
542
408
382
458
310
434
274
911
927
686
451
316
26
598
999
80
70
820
719
471
948
543
93
423
976
791
448
77
338
177
712
17
46
458
583
476
571
269
744
752
151
554
28
700
633
554
43
421
408
695
871
256
656
340
849
713
618
181
365
265
90
996
830
830
645
585
693
292
391
978
415
679
184
429
850
444
321
270
343
841
687
440
164
583
233
401
618
784
416
172
272
715
960
434
267
21
873
12
599
901
158
545
611
168
90
828
640
271
220
130
950
117
513
795
595
965
137
536
845
773
480
155
157
96
895
856
431
68
521
937
510
48
302
396
416
201
969
909
830
716
325
731
724
321
633
268
841
498
330
487
923
105
499
862
232
130
818
244
886
938
715
934
986
700
529
199
355
648
348
687
905
414
29
498
337
16
637
157
913
953
134
364
493
500
745
203
904
501
796
433
970
899
244
593
214
775
306
922
329
895
813
488
994
638
930
546
513
696
903
819
58
134
341
314
11
230
342
348
985
16
464
598
670
594
131
417
539
108
587
126
800
723
902
659
711
80
863
799
529
479
805
189
914
467
563
454
554
619
776
60
160
14
686
998
740
352
459
969
241
681
795
525
225
441
239
524
242
894
203
347
962
49
156
557
910
856
845
44
880
802
657
277
705
30
479
962
78
760
449
265
564
94
59
783
740
261
925
593
692
975
403
67
685
849
915
578
922
778
516
913
738
731
734
946
449
707
182
129
345
478
782
422
991
288
687
565
97
935
171
22
671
500
790
484
114
525
129
553
176
633
300
139
429
424
154
106
995
954
874
940
836
308
175
553
780
520
907
843
848
628
192
317
138
715
612
885
706
613
142
943
402
341
669
976
611
475
981
221
179
359
41
370
605
510
208
909
732
588
838
445
774
50
337
296
488
965
326
686
705
487
38
141
234
193
452
26
365
808
951
764
792
849
498
927
837
369
397
282
229
299
731
856
580
839
484
292
897
987
146
43
140
549
346
495
868
947
689
670
499
681
491
46
543
603
558
883
467
14
519
641
505
199
444
272
819
187
675
617
911
441
835
718
72
673
986
573
961
179
741
744
110
940
978
304
273
210
447
767
56
486
190
37
181
544
177
899
84
721
1000
266
285
701
753
193
90
894
475
691
788
880
641
465
394
525
253
32
425
85
978
105
908
51
687
740
35
524
451
509
440
633
741
877
77
885
145
34
60
353
370
676
642
307
707
607
705
227
384
562
758
125
465
407
448
772
26
641
39
734
342
237
107
62
756
937
988
148
687
504
120
490
975
893
491
78
392
929
865
689
678
902
311
623
897
407
840
327
284
895
631
903
960
636
396
721
117
242
951
212
284
432
927
483
286
509
877
522
396
854
720
662
944
813
621
428
354
554
861
70
176
814
247
863
181
977
894
775
998
604
972
157
108
321
158
946
194
21
72
280
18
391
957
511
5
147
189
359
675
749
20
355
883
18
98
775
630
803
900
979
813
808
226
452
896
717
251
864
936
18
483
152
766
313
156
972
464
426
194
860
379
335
936
100
121
825
196
600
911
725
105
47
602
823
389
247
492
819
406
792
790
210
301
193
211
588
104
150
710
678
462
919
833
336
954
607
471
901
639
826
90
484
531
293
674
257
237
905
642
349
834
295
34
692
407
67
94
51
353
782
188
518
675
220
674
947
20
626
952
153
130
441
423
243
712
500
487
67
480
790
36
661
246
638
135
468
525
640
684
331
31
735
907
485
847
565
470
273
803
675
849
874
764
154
342
141
134
59
790
516
860
302
605
107
612
733
212
221
626
833
383
31
898
765
205
618
30
525
650
317
66
605
783
141
50
871
682
101
911
344
13
380
484
163
62
653
145
326
723
332
579
719
581
152
660
522
760
296
288
357
661
222
290
420
42
457
195
419
166
873
730
343
899
409
423
954
700
739
559
445
427
151
57
871
765
771
528
803
853
315
904
163
398
758
543
343
152
650
626
518
136
341
26
537
396
32
544
902
429
400
560
88
575
521
688
961
875
968
22
57
883
227
857
303
866
62
606
135
705
17
772
3
530
74
422
33
794
317
610
914
79
622
594
169
366
542
461
610
911
1000
38
139
126
919
526
54
100
625
342
659
432
720
95
305
121
126
413
938
109
177
614
864
934
963
846
706
646
596
376
484
785
731
155
321
752
445
664
521
336
537
317
699
528
430
361
164
992
91
300
997
728
832
370
131
536
415
486
267
855
619
351
646
435
310
190
538
83
114
611
800
429
971
679
31
231
224
176
613
270
400
373
465
288
510
361
381
720
517
164
661
232
615
372
151
174
91
16
897
110
818
760
390
522
922
269
733
642
729
758
193
109
879
347
241
822
413
820
607
915
720
762
881
261
435
898
896
301
818
613
436
251
617
273
848
962
201
5
759
804
521
970
433
918
544
50
249
141
921
77
413
682
2
384
295
374
790
515
722
957
45
385
121
368
575
47
709
475
671
495
754
25
767
595
570
844
658
349
64
473
47
150
551
514
733
611
91
901
525
836
756
230
817
714
107
30
835
929
640
581
735
913
120
457
120
868
524
505
30
344
794
352
152
582
709
874
786
992
967
268
139
660
16
511
597
772
238
21
962
182
855
261
79
121
336
913
867
250
122
969
568
795
212
755
897
536
541
494
905
794
72
448
558
370
257
104
438
582
807
106
518
201
774
881
656
40
523
953
326
460
569
987
80
813
131
489
454
131
960
915
316
998
204
665
150
587
66
77
416
325
559
44
898
480
935
357
933
272
263
199
486
749
175
474
326
789
38
830
964
39
671
283
594
546
247
338
1000
78
219
375
301
898
942
850
415
827
157
577
373
974
666
918
908
435
328
240
321
581
972
409
244
320
957
394
776
839
864
286
430
904
271
168
488
730
618
306
630
828
946
67
176
979
686
844
865
675
716
972
883
951
656
351
745
516
716
984
725
484
445
175
767
826
411
468
172
835
213
726
936
566
163
911
270
166
692
250
743
495
801
466
440
245
872
664
760
991
747
278
745
290
289
220
365
956
557
975
775
126
327
970
390
585
930
921
552
85
279
281
685
72
544
107
79
330
97
872
882
523
285
780
443
515
58
135
877
663
705
192
623
970
783
702
800
105
791
55
372
828
344
521
484
256
378
600
845
779
380
909
714
143
789
319
849
366
459
334
775
727
531
774
872
3
136
906
53
491
127
86
275
151
396
823
729
353
430
956
298
304
469
250
825
225
976
340
772
740
196
378
117
739
233
140
685
186
425
649
700
963
816
520
992
845
126
385
205
153
998
717
313
442
196
306
956
831
109
455
422
228
154
679
572
754
636
329
660
116
182
92
790
570
139
768
675
361
226
70
533
206
272
441
129
488
106
54
484
297
532
227
269
359
846
449
687
199
540
103
505
582
682
753
951
399
949
561
392
680
453
986
68
353
307
434
655
683
332
931
124
78
458
223
160
95
104
899
412
24
313
305
966
383
452
21
726
42
77
622
860
433
951
310
44
501
249
730
18
643
731
970
890
836
1
302
682
582
23
688
866
101
747
467
2
377
23
917
152
317
994
584
439
277
812
363
970
654
808
323
367
49
261
184
301
780
468
162
776
144
150
629
358
886
150
666
215
799
936
109
597
225
724
158
369
517
899
933
276
192
981
648
925
579
611
209
844
262
888
132
604
531
931
633
662
314
701
628
523
816
998
172
840
173
3
553
259
974
913
854
207
397
26
312
287
91
80
187
675
611
807
218
660
417
398
912
530
957
42
88
90
337
784
102
405
440
690
144
830
110
707
830
968
231
683
78
980
61
709
910
582
229
315
396
133
147
117
429
471
426
133
393
501
76
396
78
146
885
430
392
898
401
854
508
122
366
655
94
253
266
660
199
190
929
339
154
529
732
376
597
763
26
347
361
188
857
463
478
76
921
564
15
617
957
467
804
235
465
323
373
141
719
845
550
422
527
174
290
525
98
629
232
733
655
818
387
109
176
400
135
452
730
290
399
970
394
267
483
770
702
723
530
758
851
807
16
206
684
273
952
91
584
188
748
266
962
42
798
673
11
911
857
112
722
76
279
505
958
894
975
233
550
774
758
851
950
850
348
430
993
283
934
851
685
169
615
588
748
725
461
918
879
744
185
49
259
317
645
324
896
481
460
569
802
743
61
604
842
418
381
154
324
328
221
696
53
676
52
275
619
879
639
937
149
696
408
252
617
251
922
325
76
470
185
807
853
976
737
689
827
725
672
66
412
547
780
653
744
252
980
532
891
177
97
553
598
868
823
787
200
115
382
690
864
678
45
956
229
868
108
564
865
634
388
192
699
881
606
993
712
568
222
710
744
542
459
250
226
170
250
128
12
563
816
623
241
612
406
150
361
88
501
31
6
791
444
851
426
109
15
601
560
364
955
75
619
7
814
347
307
75
796
740
364
319
452
342
179
44
178
45
619
53
481
33
79
999
890
863
971
131
190
587
532
643
406
832
880
803
572
424
708
627
864
916
849
94
124
315
259
820
144
462
584
648
332
707
626
852
548
13
441
509
970
151
765
113
807
393
713
714
574
1
442
689
419
855
551
747
692
752
546
933
535
284
584
205
787
686
85
614
902
749
515
249
901
696
785
879
592
899
278
675
442
462
479
458
497
998
515
692
707
343
713
837
850
602
464
724
11
652
225
348
235
150
532
839
524
196
251
388
847
989
115
619
191
236
809
209
973
611
458
561
337
246
407
16
938
110
621
345
833
135
831
297
14
127
832
536
922
806
956
616
14
822
796
576
82
219
747
308
567
617
741
120
529
330
877
802
319
748
279
75
224
567
638
513
531
884
349
900
513
728
71
516
835
347
829
21
733
454
494
463
114
678
582
421
431
661
842
441
760
603
17
759
34
584
517
736
789
627
450
583
93
327
646
708
558
822
811
476
468
56
947
232
71
531
519
221
63
240
616
411
102
49
551
305
967
575
907
527
640
519
24
359
132
491
351
420
386
588
830
354
932
390
761
772
282
568
130
639
232
998
477
990
332
146
757
158
819
486
503
645
174
889
830
420
317
250
478
682
172
85
122
61
939
498
654
851
991
672
998
68
701
30
294
71
911
285
953
21
954
873
187
678
354
693
78
903
346
637
188
768
377
127
970
342
587
772
968
97
103
295
924
338
614
86
392
232
348
82
427
832
38
200
215
922
906
217
277
681
972
804
6
891
264
419
859
884
607
886
481
509
699
798
396
124
157
310
681
54
24
524
213
986
21
394
651
514
457
39
324
398
295
385
567
138
354
330
881
158
974
972
465
203
797
28
304
609
481
230
24
684
271
365
123
808
367
645
52
806
919
235
842
753
310
111
616
673
119
910
386
523
762
42
994
427
366
156
906
396
871
996
860
656
692
772
21
278
536
459
400
2
131
838
777
41
697
674
255
170
938
167
886
575
249
669
505
809
585
753
42
665
166
870
77
960
742
220
355
5
714
958
289
31
745
545
231
934
867
842
439
508
295
579
210
740
277
913
610
864
364
131
600
591
422
967
131
354
546
637
935
447
799
435
361
682
364
676
559
522
257
822
720
719
230
872
903
129
855
499
149
749
95
922
237
998
840
241
423
936
983
800
957
391
627
151
987
982
928
383
707
593
871
874
251
172
37
36
885
632
17
240
509
267
676
909
338
276
928
725
918
958
2
980
289
668
456
391
204
825
354
104
804
176
75
179
26
19
218
598
350
270
929
717
173
125
766
114
234
536
921
23
16
899
204
839
990
137
698
764
898
854
423
276
2
322
642
948
383
891
679
141
921
792
243
204
538
433
301
128
670
28
454
45
676
773
666
573
96
900
900
754
240
588
918
288
567
142
47
788
747
834
183
73
53
521
708
847
971
466
257
692
519
796
476
1
788
707
12
311
647
779
972
525
369
806
10
694
219
92
7
320
628
504
50
653
687
460
21
88
118
662
660
535
747
596
421
636
796
750
744
756
960
40
677
967
330
172
896
668
726
514
278
37
869
613
107
256
152
633
936
343
465
881
853
453
631
48
629
722
567
945
814
85
164
366
351
3
253
118
691
712
740
415
697
423
142
614
885
895
320
686
623
931
148
912
4
645
225
55
9
796
515
645
447
92
974
82
896
140
793
974
559
616
892
506
481
315
697
651
75
992
8
740
268
246
11
220
870
293
70
460
966
149
973
80
222
583
723
624
1
269
811
347
104
663
132
491
762
520
357
746
225
401
630
482
938
186
916
960
814
397
170
961
564
66
815
175
394
23
634
270
632
715
309
750
11
90
316
600
389
674
764
243
688
672
106
519
679
833
303
225
62
857
198
266
946
316
330
617
466
432
357
108
758
545
619
484
926
794
52
374
969
362
882
501
826
580
7
976
878
375
999
554
218
806
968
509
5
890
338
174
21
529
740
259
334
113
829
766
602
292
789
706
159
479
735
838
461
887
965
344
868
284
280
688
27
196
148
912
300
990
569
259
793
126
861
357
534
866
476
110
280
925
156
122
214
843
412
718
569
368
324
576
782
744
175
572
386
624
228
690
228
270
283
751
990
779
305
266
231
396
475
955
330
321
556
319
778
65
310
199
236
82
43
441
664
327
33
611
612
425
731
220
443
322
140
58
876
678
694
56
726
737
309
549
139
100
3
953
929
656
633
623
858
887
850
118
823
922
326
175
946
994
687
444
519
419
322
440
588
794
461
228
735
922
456
75
247
833
217
673
470
397
138
557
586
216
643
46
437
905
713
355
323
379
341
539
877
503
910
573
221
277
885
185
617
783
80
31
736
250
962
407
480
950
131
990
34
97
148
26
414
575
345
967
381
107
122
820
949
422
498
366
141
97
363
960
854
1
963
864
866
697
636
899
102
724
716
769
220
418
818
562
497
823
431
804
726
270
861
906
599
424
75
29
573
945
943
183
787
411
691
843
967
845
117
495
586
987
293
296
776
456
989
469
617
64
42
148
443
857
251
129
791
891
136
392
415
374
99
310
592
551
85
196
570
648
846
179
588
234
300
470
391
640
280
713
505
410
173
516
860
338
570
197
508
331
65
470
321
195
761
96
517
465
891
485
800
550
175
861
711
796
217
877
513
576
252
516
545
100
51
673
557
498
640
103
920
617
747
281
23
125
593
315
359
755
709
239
12
945
955
907
300
711
808
235
300
315
304
701
880
174
698
880
635
516
49
287
807
478
449
916
906
682
521
740
196
881
183
830
679
883
374
934
484
832
619
85
822
877
834
292
771
400
736
406
223
302
612
48
222
234
936
851
834
328
513
358
373
715
429
609
529
28
52
838
472
195
728
733
506
16
636
362
202
456
450
275
244
79
89
204
415
788
845
520
226
866
603
853
727
342
728
278
932
870
382
87
95
631
737
443
842
246
556
135
734
346
96
278
428
214
151
5
999
867
307
130
378
86
176
323
73
111
452
527
540
176
117
252
603
631
24
880
328
107
396
327
618
89
461
223
570
303
593
289
369
506
819
726
41
662
489
255
933
938
255
911
174
704
213
794
705
463
237
802
676
691
66
752
144
637
673
442
50
504
807
901
374
795
368
512
248
292
456
752
519
857
504
978
960
157
921
104
868
532
43
1
256
405
989
168
253
55
259
547
588
121
487
347
233
858
800
419
384
101
670
1
963
821
963
652
719
396
126
783
855
997
122
497
799
998
751
375
389
948
458
431
263
432
605
709
702
102
442
917
515
279
688
2
800
755
733
862
602
891
938
183
523
632
418
981
350
829
8
565
611
137
775
526
772
779
622
807
500
702
978
88
962
983
553
537
700
859
430
419
980
437
533
193
866
945
635
504
464
388
637
918
942
586
796
310
945
897
952
604
971
340
568
941
126
478
577
399
444
155
624
153
582
103
246
270
309
540
980
425
656
65
140
455
984
579
245
55
506
495
684
876
5
192
218
979
564
536
366
860
164
294
519
284
880
450
907
733
251
731
167
597
106
173
299
132
766
146
294
838
85
95
540
117
209
175
409
19
313
77
102
399
817
606
894
57
730
979
438
291
861
404
658
813
603
215
75
192
858
740
122
794
484
109
97
699
324
427
960
253
468
70
66
671
922
400
282
624
255
848
688
836
119
137
164
499
751
410
767
763
721
166
725
620
186
178
251
291
895
53
159
575
3
673
422
737
537
518
408
167
991
824
527
474
113
558
390
655
415
457
410
703
319
753
977
332
120
747
933
510
187
112
129
140
848
633
241
531
492
135
870
284
263
492
186
815
580
965
32
46
424
561
432
705
970
785
936
266
674
906
71
841
359
853
451
185
217
930
784
590
873
812
78
616
835
715
849
506
703
184
25
649
517
701
555
640
458
177
409
338
954
469
813
792
878
211
38
96
178
671
24
21
750
800
436
728
788
342
491
20
154
691
42
338
548
148
950
161
386
400
756
545
303
307
988
307
192
540
257
726
482
237
429
730
159
584
775
238
663
163
973
690
384
968
235
836
935
241
640
544
781
659
951
721
57
933
820
431
646
606
298
960
639
678
990
892
335
695
43
198
847
120
379
996
174
123
240
897
359
405
152
795
955
320
895
543
562
332
901
213
652
826
801
537
237
361
497
679
193
754
232
723
211
764
608
100
423
752
416
757
713
420
422
993
609
585
972
783
436
47
399
875
109
753
723
111
526
860
70
229
58
777
569
870
997
961
215
635
195
55
349
822
306
943
948
891
188
422
861
816
81
509
529
218
69
822
463
574
236
107
935
871
647
726
948
770
957
855
503
737
13
197
596
610
309
277
191
764
491
738
591
375
446
624
267
287
660
335
234
621
655
784
454
600
303
312
615
7
739
70
862
335
400
925
680
947
459
396
233
507
523
810
856
553
38
602
314
279
251
699
683
568
955
970
401
800
473
44
102
248
528
175
360
686
678
432
341
404
7
209
675
987
605
956
573
59
188
43
316
705
875
921
767
416
766
38
494
216
441
534
411
121
928
383
587
158
5
470
32
996
918
86
794
635
731
468
690
724
562
268
327
803
893
341
871
175
2
795
171
182
310
46
450
349
107
517
739
272
677
715
663
118
322
625
946
302
169
785
246
256
923
902
524
195
918
624
181
427
933
886
618
88
230
301
718
125
177
216
967
983
665
383
604
742
214
675
217
352
325
920
682
243
144
709
176
803
979
1
308
142
517
431
48
111
886
524
238
745
838
388
961
217
413
89
925
855
405
603
330
14
842
138
400
409
473
674
857
6
946
753
160
751
968
927
229
181
222
752
742
489
261
926
795
661
881
969
898
156
721
820
792
979
964
883
570
119
41
333
913
56
193
958
61
455
585
389
264
213
430
378
105
747
231
660
17
795
838
37
745
997
452
546
307
250
134
951
194
135
629
363
178
733
520
472
125
803
827
748
616
571
173
961
33
401
529
567
987
178
408
804
628
574
57
834
420
240
860
924
413
617
680
407
938
261
321
175
878
499
637
495
389
802
74
271
991
455
572
230
472
988
860
138
906
368
107
838
425
117
812
838
67
383
559
164
151
466
3
455
133
477
19
579
855
602
444
595
395
916
303
545
485
804
657
384
623
842
494
337
517
411
185
117
503
411
68
715
906
190
659
952
105
213
860
550
235
41
263
287
41
921
326
677
376
644
746
722
261
381
871
501
198
855
304
746
639
593
210
114
147
949
977
543
790
297
8
955
723
40
413
571
792
119
292
273
170
253
105
788
734
482
362
915
925
486
477
699
266
741
197
214
633
848
420
585
583
247
598
985
767
91
158
589
513
301
543
916
163
633
535
532
638
201
505
850
19
995
107
616
618
844
718
753
156
739
638
401
153
577
624
368
597
233
876
709
254
277
992
832
760
838
702
335
744
842
457
778
813
324
43
727
171
570
449
688
4
631
141
22
562
118
765
516
3
274
41
71
686
12
267
853
565
1
436
372
748
900
440
150
61
515
193
34
709
21
815
777
683
355
212
173
640
578
464
922
364
265
456
392
783
998
94
621
723
628
271
232
267
254
446
411
588
810
372
732
634
739
4
409
877
475
85
516
603
367
248
802
924
224
728
17
760
890
940
46
512
129
241
771
89
610
182
274
190
998
416
891
520
961
230
694
666
444
354
136
930
659
304
994
325
110
8
220
256
384
894
17
181
605
922
239
663
192
274
236
796
12
534
378
928
124
244
789
991
21
651
285
483
714
310
100
381
46
967
758
770
345
810
358
42
887
728
634
854
684
716
355
862
783
917
37
464
619
100
484
371
929
559
364
878
439
501
886
106
793
29
668
340
190
693
33
813
818
454
322
936
424
570
264
33
334
591
115
87
794
163
36
869
766
781
168
106
214
3
922
996
473
851
324
486
517
335
612
206
792
69
899
839
846
916
446
39
129
529
938
670
215
375
251
307
169
565
373
411
950
401
483
556
543
57
738
389
981
207
969
767
540
761
308
647
173
52
754
850
674
2
838
810
163
769
816
731
220
364
278
406
414
569
690
76
20
218
107
325
431
592
250
972
164
231
197
344
356
946
177
85
364
188
332
886
397
225
882
127
114
762
789
445
794
743
909
663
951
84
621
354
284
975
73
562
425
239
542
815
271
935
866
658
582
29
544
371
151
492
900
391
63
640
662
252
512
848
394
514
142
65
511
251
158
680
989
137
280
392
503
85
158
674
404
684
47
334
887
389
394
443
702
538
464
596
994
783
299
70
185
451
125
960
351
691
749
759
193
996
665
195
545
826
315
338
323
634
413
141
985
525
335
592
831
173
302
612
956
358
507
685
248
695
388
945
611
686
965
129
477
228
534
338
797
97
40
70
877
736
118
319
854
887
174
855
130
204
820
976
789
25
678
130
880
894
845
798
458
265
301
958
439
52
144
247
668
341
824
686
61
629
484
426
326
411
111
563
570
809
424
449
39
187
360
334
345
404
560
383
809
414
475
305
945
409
591
874
715
638
791
619
884
267
62
816
726
427
599
725
337
652
847
683
48
472
179
286
775
817
723
381
630
255
301
7
833
803
596
739
750
197
394
122
888
73
233
993
801
461
847
540
160
349
557
892
693
857
150
867
314
735
869
274
491
487
825
816
871
391
543
228
210
103
355
721
918
339
57
220
894
302
580
160
899
183
423
770
375
36
249
921
512
804
356
570
365
65
698
788
969
322
761
137
771
317
857
909
141
882
371
376
371
307
39
704
376
70
622
661
257
48
228
579
975
990
88
292
682
136
816
920
631
332
65
461
208
921
988
103
323
949
137
60
300
959
237
518
458
773
802
975
757
143
684
841
255
106
485
706
629
224
188
37
668
582
539
444
514
617
434
838
341
365
42
948
376
682
467
691
388
374
491
860
283
908
375
394
1000
593
711
301
702
667
75
929
155
749
573
868
260
470
417
222
960
941
346
400
99
898
53
814
373
983
764
121
225
639
788
690
344
544
147
22
511
298
367
744
637
369
150
601
215
909
893
634
850
126
978
318
197
335
355
997
412
705
145
387
194
961
958
270
561
989
111
753
825
380
211
617
587
423
381
388
203
974
990
673
858
910
891
249
308
588
28
126
381
860
777
529
508
701
530
344
952
418
836
44
881
792
892
566
119
183
289
896
224
811
705
362
526
977
654
745
906
928
522
381
368
446
827
334
938
9
84
610
995
559
691
99
930
464
965
624
938
301
851
8
813
418
840
593
868
109
304
967
472
364
840
998
250
852
150
418
689
734
698
330
739
410
657
1
44
60
633
230
556
148
280
369
659
648
200
832
381
838
445
540
927
950
542
278
535
829
199
400
646
42
762
660
453
516
46
198
164
912
375
866
743
408
560
174
463
449
34
68
325
353
594
667
308
342
999
854
436
704
188
316
860
289
55
222
515
495
481
229
401
207
831
941
241
916
234
218
61
366
724
10
236
648
783
474
692
616
898
199
210
844
501
293
288
143
53
926
562
819
114
715
592
420
927
936
718
751
444
188
779
284
734
541
702
930
405
626
373
319
1000
395
739
373
353
462
782
959
501
52
887
842
104
578
98
999
256
785
977
574
207
207
54
429
795
417
378
268
313
181
293
782
141
141
362
139
704
136
329
395
229
570
78
77
337
535
857
298
711
517
414
222
964
625
295
614
353
217
263
501
170
692
712
679
487
14
961
929
416
217
539
291
220
717
922
726
401
818
687
766
359
139
729
549
353
69
998
734
257
543
215
388
48
569
143
841
42
990
290
933
667
876
385
786
929
823
542
455
813
166
836
376
579
781
878
512
257
732
111
516
707
470
725
12
272
684
520
306
400
196
562
462
613
465
192
691
845
384
801
428
485
46
783
313
432
75
286
516
81
917
647
511
441
246
934
434
526
225
630
638
752
931
277
915
296
689
878
114
315
388
938
580
455
145
294
907
301
800
304
7
295
835
549
350
178
245
909
596
196
804
791
481
140
925
312
992
806
23
441
329
607
893
474
146
858
92
717
820
763
766
914
306
214
645
804
233
315
164
157
474
970
817
775
372
959
852
247
159
695
385
697
899
230
847
349
445
148
446
542
478
722
953
692
705
39
749
808
677
864
472
400
483
686
43
984
797
717
94
954
368
634
48
273
48
498
169
320
900
574
923
195
754
790
896
11
806
141
337
978
518
648
117
594
125
435
507
883
503
38
751
423
21
328
816
847
282
351
69
610
322
902
883
94
910
916
327
504
113
597
181
621
153
739
467
201
902
903
582
671
58
914
907
854
183
673
439
629
265
420
626
799
436
389
54
952
771
264
59
766
871
976
675
41
41
157
517
705
458
975
351
208
658
214
140
982
52
170
282
111
936
348
613
971
661
10
520
322
171
344
128
319
159
379
136
911
446
807
337
390
991
579
206
196
190
437
288
663
672
587
246
50
885
350
572
110
136
924
950
409
625
395
174
814
229
716
342
882
437
673
771
352
903
790
710
602
538
716
456
708
901
868
935
706
971
39
137
745
1000
205
77
111
277
10
86
492
98
253
327
449
134
260
390
776
703
175
702
334
145
75
286
967
625
293
77
338
200
487
614
848
921
813
433
331
73
18
884
892
386
392
428
65
205
289
690
455
159
391
653
172
823
932
463
656
224
893
190
936
840
546
803
973
871
816
331
519
203
616
860
808
413
705
576
507
615
634
541
558
707
36
273
942
809
855
483
949
289
108
503
214
799
414
70
659
159
866
91
481
781
745
966
496
532
228
841
486
620
521
892
652
98
747
366
941
79
567
660
802
586
699
126
849
243
453
682
72
705
923
529
428
783
721
448
137
728
990
225
517
15
964
715
974
303
548
939
619
906
199
395
42
275
911
464
970
473
254
370
898
571
224
681
277
231
118
737
537
450
801
707
27
633
463
212
950
669
450
556
500
667
798
686
698
372
880
894
896
40
960
164
496
739
513
790
206
624
894
586
93
710
290
538
725
90
942
257
967
320
296
945
363
906
79
887
585
467
298
676
128
123
825
463
283
138
511
535
450
627
773
458
996
418
189
782
213
783
943
105
388
810
864
856
665
643
430
727
136
689
322
127
585
149
40
361
391
923
640
514
359
4
873
162
691
977
871
111
850
136
70
335
832
27
215
167
222
931
172
570
483
922
737
37
96
664
795
224
553
5
996
972
696
802
588
743
583
120
136
852
870
99
680
55
686
348
287
237
133
669
55
926
795
274
365
340
138
458
597
514
253
825
576
786
190
785
718
619
999
3
242
276
739
892
822
349
880
40
751
519
958
659
21
215
858
786
726
32
823
933
839
863
122
388
746
695
337
122
847
965
391
548
201
146
778
7
438
979
906
911
104
409
142
919
205
780
906
403
952
341
144
728
618
400
582
537
971
782
452
317
973
359
798
27
305
508
21
450
795
335
89
222
17
358
695
236
188
152
708
188
947
143
457
592
800
325
740
483
782
205
973
395
389
660
552
911
920
738
331
240
186
635
107
830
941
227
120
983
508
557
900
791
795
634
223
503
336
736
537
583
7
178
8
341
814
153
236
955
516
831
767
156
867
373
762
597
948
892
583
174
408
684
565
159
425
249
999
41
836
703
142
369
237
205
141
776
770
934
894
541
958
953
192
737
251
25
1
45
830
101
347
775
848
695
70
507
521
829
674
11
379
590
596
824
557
555
484
900
213
547
486
269
39
225
143
523
352
992
184
252
454
583
447
264
752
487
147
529
682
40
961
315
584
638
711
914
512
3
973
672
415
872
599
798
267
776
944
557
476
807
609
15
354
401
612
440
518
209
226
869
835
45
136
74
930
782
211
364
338
803
928
244
90
265
403
934
903
31
70
131
162
578
277
244
584
559
449
481
774
19
18
835
894
417
23
999
315
732
131
685
430
924
847
650
778
941
857
975
243
257
757
782
375
695
917
622
812
860
864
257
378
101
349
362
674
316
242
15
883
293
462
456
69
531
464
735
471
617
175
301
159
358
875
538
953
776
256
505
675
13
741
887
677
926
242
232
49
900
687
130
86
947
45
850
395
712
47
344
495
396
523
211
882
916
34
419
291
870
536
77
370
985
871
548
9
764
250
536
365
1000
277
560
1
671
717
412
628
468
951
753
642
907
985
17
37
489
953
181
291
904
288
752
512
615
124
539
462
448
41
392
100
36
935
101
900
17
707
88
546
937
419
358
543
690
771
386
933
150
73
314
550
385
351
827
221
461
879
585
873
386
226
914
777
185
834
748
67
435
283
503
206
878
634
604
307
837
667
929
97
287
420
289
804
350
144
388
483
915
700
399
87
825
448
418
122
803
883
572
863
851
645
491
917
402
24
175
394
877
755
39
60
641
721
54
620
567
184
460
739
554
264
493
463
361
713
901
481
91
468
837
46
487
70
871
465
956
808
426
747
915
358
990
392
603
767
783
337
985
859
413
737
751
533
234
625
704
969
744
472
17
440
376
336
941
310
475
588
549
801
64
172
18
261
267
992
759
31
872
263
432
447
613
634
526
189
159
469
691
946
688
906
483
355
208
237
511
238
429
695
241
466
92
969
858
158
166
621
680
524
186
111
567
387
328
337
656
302
526
416
545
234
43
941
741
963
419
97
768
739
681
844
866
215
983
810
590
366
631
687
971
918
557
696
82
799
878
111
31
263
135
922
394
615
158
495
69
947
274
432
385
861
775
966
20
962
122
869
2
783
345
284
560
905
529
877
147
256
40
419
260
957
378
227
26
653
135
909
685
913
595
491
207
206
886
334
291
921
487
205
890
93
69
479
246
816
357
747
117
802
705
26
529
194
551
363
910
519
795
858
916
629
382
71
583
579
93
290
737
663
584
386
707
226
236
842
491
477
254
75
476
225
773
347
702
380
418
407
452
79
893
508
618
513
685
590
934
882
908
221
621
414
634
375
442
67
792
241
463
333
887
4
40
576
314
42
687
448
14
988
509
223
585
933
846
374
725
399
584
257
59
775
392
608
4
657
762
409
284
869
332
805
125
987
409
942
967
869
32
34
709
41
157
455
145
772
772
400
267
352
833
487
511
343
916
688
894
617
401
170
201
539
813
908
35
983
662
461
596
782
789
902
516
811
695
716
928
142
852
400
243
621
280
637
750
777
956
161
269
174
794
841
568
212
959
114
131
896
315
597
192
276
618
625
651
110
915
477
588
796
248
287
623
769
401
951
310
368
907
894
49
658
966
202
785
789
209
467
868
273
511
663
24
990
141
505
343
820
611
65
541
541
496
825
535
60
374
999
549
64
773
671
536
942
670
274
716
144
675
947
392
240
480
583
47
554
554
756
892
647
344
248
686
891
424
614
642
31
155
68
681
950
402
992
105
818
777
531
32
412
693
81
537
699
233
920
553
685
477
928
980
129
451
71
365
984
321
328
759
310
798
814
51
967
965
125
136
632
908
358
801
523
611
814
69
770
515
145
73
542
65
584
230
889
311
934
582
741
358
208
728
679
38
152
665
886
690
411
198
160
328
756
332
991
838
617
186
478
5
154
533
318
364
226
16
140
858
929
469
276
253
798
541
397
110
403
969
536
840
808
483
741
79
301
258
946
134
856
265
705
763
43
655
91
914
475
521
438
340
421
2
560
197
937
707
762
827
692
875
271
950
703
494
652
371
356
886
426
158
402
857
372
936
127
611
925
610
492
50
692
337
880
963
328
12
996
882
932
903
590
41
700
300
955
977
745
218
522
781
908
257
498
935
889
702
207
928
215
807
661
585
415
19
969
161
245
583
368
732
991
534
12
401
655
656
202
104
319
323
351
611
95
514
872
394
844
476
97
638
289
672
511
599
227
661
870
895
314
514
207
64
267
214
362
938
419
243
410
912
256
224
305
235
955
40
103
792
948
355
389
685
253
798
897
113
615
404
873
670
538
58
420
190
900
819
925
717
198
984
676
984
399
671
959
47
3
518
233
354
221
821
477
576
92
56
421
6
936
271
204
165
830
278
902
556
655
926
520
164
845
974
280
384
181
272
462
562
841
997
633
211
444
692
824
285
19
701
115
574
668
426
113
444
176
472
27
608
996
392
388
589
830
217
986
843
505
377
247
261
943
939
115
907
842
320
488
404
73
731
365
340
922
689
204
427
46
835
387
919
399
177
342
969
472
606
595
192
874
216
984
682
688
507
300
138
33
42
885
553
965
491
85
116
190
298
17
603
52
386
784
558
921
420
160
977
403
153
744
50
773
289
793
756
652
114
229
750
218
880
817
25
182
530
149
308
354
921
864
996
864
131
466
714
17
765
233
254
298
472
960
752
295
998
699
406
137
215
229
992
622
493
737
695
331
709
64
480
940
920
911
383
368
483
615
566
607
935
458
946
848
509
963
540
24
543
340
377
965
349
24
6
189
375
273
170
740
556
899
160
623
864
508
757
78
934
91
407
392
556
385
474
980
526
215
995
164
51
927
338
507
439
105
578
522
305
997
195
306
874
459
901
981
289
778
43
794
971
418
16
427
236
613
569
334
330
722
720
920
971
451
214
975
328
340
134
78
48
444
305
593
595
716
592
500
713
445
66
521
244
25
277
931
888
433
546
987
753
88
279
123
706
139
783
952
580
840
987
607
308
387
729
182
886
480
15
830
898
918
765
622
988
731
56
359
302
727
835
422
391
815
375
117
506
166
513
184
519
70
835
849
922
351
541
267
511
332
657
290
364
625
660
232
692
491
320
719
977
109
757
758
574
854
292
883
601
610
653
613
524
219
506
471
316
391
67
509
431
796
767
619
150
596
567
922
13
380
509
138
190
327
555
220
608
409
574
424
591
660
577
665
577
809
957
264
202
106
534
127
664
768
669
989
826
295
564
605
952
835
157
679
327
901
668
862
251
988
962
389
83
77
372
781
50
564
521
581
529
913
979
254
389
192
317
249
758
704
207
701
267
142
770
411
450
25
265
543
444
704
577
958
581
897
679
212
756
518
403
35
683
568
397
531
307
988
108
440
621
657
994
548
147
178
939
725
131
707
20
149
295
826
358
970
619
395
784
48
236
386
427
437
940
933
145
957
241
227
942
545
157
419
86
58
124
397
721
898
523
170
139
67
309
583
742
302
154
288
961
504
311
173
35
987
160
999
601
989
999
558
528
492
195
523
266
637
251
73
255
917
683
492
642
908
871
216
601
500
198
194
59
463
867
43
531
723
742
159
58
886
473
887
949
415
906
853
160
339
513
786
635
542
153
507
889
483
974
275
428
658
712
344
346
254
906
427
582
207
825
721
885
314
5
299
464
152
322
972
700
278
501
162
34
624
779
946
358
24
206
177
769
550
740
534
597
693
837
395
961
470
734
689
929
192
984
242
577
6
94
713
841
293
328
865
77
672
791
834
674
659
974
4
907
6
794
337
440
368
20
263
547
205
684
772
163
786
709
946
336
744
510
4
528
856
799
833
459
673
126
137
889
134
993
557
799
547
499
561
938
175
560
463
570
207
727
664
597
67
491
105
903
857
751
957
908
232
830
767
819
154
2
655
6
790
13
653
262
260
474
954
441
103
351
652
110
69
955
559
425
302
14
802
356
63
409
199
801
894
118
873
865
507
747
169
763
783
800
684
402
931
474
165
665
273
372
80
844
120
949
925
434
903
937
686
752
61
248
452
410
181
58
850
740
549
871
838
657
559
371
414
303
422
775
951
44
221
228
205
39
621
479
521
650
532
753
397
435
536
215
372
291
212
912
128
649
345
390
840
222
579
472
30
960
307
813
635
312
436
943
554
805
207
454
670
250
442
895
247
597
414
707
626
570
43
232
360
732
270
407
272
562
290
312
446
464
743
71
813
349
145
9
838
589
575
123
779
707
81
92
142
88
371
79
229
404
80
521
158
179
333
931
294
124
352
542
857
438
607
217
315
269
351
676
318
923
433
525
109
200
937
976
761
473
579
409
127
700
744
160
84
610
738
955
524
729
108
488
535
717
872
492
409
764
118
496
418
418
689
190
795
263
640
938
984
343
719
511
26
79
376
572
891
694
705
780
683
852
309
634
884
288
241
349
261
690
105
118
590
16
891
85
119
690
307
235
567
876
234
195
479
96
401
644
8
18
537
594
491
146
89
348
743
471
20
336
645
914
356
334
427
484
925
822
29
690
144
345
67
644
831
785
218
699
739
394
283
215
936
292
815
222
189
871
936
357
256
240
898
398
334
367
28
161
953
98
906
285
293
576
25
674
237
876
738
953
468
889
971
331
571
552
61
680
425
541
72
486
111
469
127
547
207
421
614
958
605
407
592
971
929
920
385
758
207
350
126
997
731
418
973
450
898
166
821
385
420
280
601
791
493
694
673
792
384
473
388
599
427
978
654
613
613
160
176
11
775
638
149
268
900
905
324
564
222
606
767
994
571
323
114
773
940
734
811
438
304
314
654
125
567
986
907
605
886
228
437
682
760
232
583
960
988
585
936
699
19
859
801
736
277
200
892
942
742
695
715
750
467
850
177
637
719
994
185
270
121
811
393
214
523
449
800
745
306
915
583
281
502
491
443
443
409
966
711
501
328
358
661
298
724
636
801
295
317
660
360
514
620
203
885
551
969
442
597
735
378
752
144
764
438
985
486
821
35
686
894
277
895
815
490
542
814
679
311
563
979
679
615
731
963
419
43
700
802
465
282
703
102
762
89
496
215
306
882
987
397
161
610
909
283
358
309
679
145
478
548
706
194
993
962
952
605
546
213
540
34
382
4
541
159
99
220
849
160
729
894
241
129
916
428
280
110
617
456
730
836
316
772
542
268
233
12
253
729
352
137
881
734
435
340
982
675
315
661
583
107
917
489
96
734
425
119
203
150
945
704
881
998
810
280
432
517
423
998
406
339
140
377
773
36
252
125
566
133
536
94
472
214
244
984
558
307
598
705
358
961
61
721
77
276
697
264
532
708
929
46
781
614
858
992
69
394
110
535
850
533
875
253
178
28
370
941
653
508
509
764
472
769
933
776
857
629
886
932
287
749
663
692
504
502
451
466
230
88
453
423
881
803
106
660
369
808
66
314
205
787
378
980
755
594
916
698
451
369
744
867
181
637
525
654
856
573
472
884
386
976
647
898
907
461
580
613
93
85
291
842
865
857
802
945
586
634
142
86
118
449
648
645
734
645
112
855
926
113
934
357
650
498
998
159
344
528
394
431
400
485
514
697
388
415
240
211
447
889
159
763
737
994
773
696
743
770
662
689
519
477
422
704
669
937
13
582
993
684
813
936
214
796
295
377
164
122
739
591
106
47
811
486
645
95
137
422
789
419
257
546
303
683
443
372
441
918
914
47
503
683
934
197
455
283
101
855
994
820
920
713
56
610
385
907
735
835
897
557
975
354
275
580
219
267
38
617
372
165
399
525
93
14
609
520
412
254
392
971
119
8
206
819
193
275
994
775
788
585
893
785
930
889
85
728
128
375
634
931
584
505
653
911
508
811
612
682
362
884
937
80
498
569
306
818
756
564
215
398
73
532
437
602
50
322
1
986
719
115
154
716
478
126
617
103
245
14
59
425
447
275
394
946
337
736
946
588
508
704
976
351
178
473
366
430
1000
640
481
923
661
156
372
213
540
77
493
342
12
781
75
195
791
778
134
887
868
325
849
526
174
758
697
434
110
843
325
984
458
451
579
456
4
575
519
678
403
26
513
787
446
149
716
128
876
559
318
172
374
200
968
354
123
1
673
876
629
7
320
884
115
181
643
869
834
958
139
809
156
266
948
355
80
945
136
292
162
414
219
667
472
4
966
165
302
554
717
798
844
794
509
518
918
516
264
81
180
745
198
423
902
966
371
798
556
946
5
178
959
843
798
730
636
125
949
730
424
262
42
921
48
284
242
160
571
95
481
173
161
831
437
380
571
679
171
41
95
293
180
432
550
359
531
353
983
928
446
46
400
824
403
519
815
842
363
332
279
451
226
152
392
417
982
764
975
96
316
763
207
148
624
854
563
62
484
563
291
222
644
141
23
175
483
633
336
407
745
417
747
203
28
974
639
102
197
309
122
51
364
228
663
609
572
628
592
452
635
65
287
986
861
121
903
111
532
523
15
26
91
526
428
500
962
816
719
237
794
73
773
774
727
373
707
870
955
820
72
500
455
136
170
343
289
478
655
174
251
383
303
641
974
611
17
714
846
594
657
525
185
366
252
399
183
136
522
631
62
109
395
963
725
774
390
784
967
635
328
779
936
292
794
124
133
829
199
378
697
735
86
863
92
928
507
719
639
41
948
759
466
783
289
950
620
90
677
640
13
756
94
595
857
427
563
567
16
156
649
384
427
195
904
447
405
355
415
187
142
31
446
200
190
973
436
745
29
955
320
808
110
788
179
173
907
519
762
813
574
252
276
421
796
736
172
116
281
775
349
172
146
552
312
142
123
147
346
869
129
897
693
721
234
770
51
831
478
561
451
245
304
576
719
672
608
437
273
955
510
775
982
470
21
884
149
424
695
844
477
398
217
244
36
575
638
385
853
777
606
767
700
821
545
748
98
751
165
473
310
140
113
580
346
49
816
726
576
194
789
670
608
533
776
521
483
802
78
754
87
492
359
777
922
361
21
165
9
898
967
131
766
38
206
476
146
62
273
26
198
828
918
530
464
415
808
95
338
793
301
497
550
363
468
120
466
84
634
865
770
423
661
82
399
557
98
490
317
97
90
69
819
83
637
122
582
194
405
70
604
870
773
30
515
557
224
919
459
391
510
641
920
395
240
900
403
742
657
315
833
684
430
804
912
515
213
675
438
346
575
434
765
513
662
118
173
157
607
847
896
904
291
405
965
587
496
835
806
625
908
486
767
50
690
433
329
133
549
938
817
239
319
454
808
832
65
673
308
534
680
340
981
752
680
803
376
669
719
832
128
325
894
810
602
124
507
238
273
319
348
420
437
952
951
318
508
290
498
814
239
986
223
50
718
105
234
78
834
645
645
799
278
392
783
39
788
790
27
670
508
979
532
878
819
342
682
39
950
678
619
161
3
612
623
557
749
963
409
186
729
552
660
135
713
412
219
800
555
393
411
677
830
964
914
58
408
361
436
589
313
336
214
389
786
443
9
324
451
188
853
160
907
401
249
490
839
852
938
769
970
496
605
290
780
722
114
680
949
623
931
307
894
632
426
32
611
822
644
909
269
795
952
721
666
364
694
797
666
157
613
99
245
881
346
455
608
217
731
686
106
223
2
532
390
678
239
534
272
34
557
416
316
486
622
148
5
225
26
531
708
103
969
98
302
806
430
116
493
85
758
718
336
802
177
510
421
311
209
546
520
188
437
212
203
435
350
387
118
63
226
240
138
392
138
153
577
510
220
548
8
47
254
867
7
867
502
530
315
312
443
485
492
343
764
877
141
326
497
418
143
203
674
308
193
504
262
908
82
969
412
940
832
570
263
657
777
358
615
326
131
882
832
332
403
891
203
416
272
636
832
868
160
402
848
977
826
790
351
694
717
898
49
229
721
780
980
285
210
462
73
720
940
363
535
683
475
183
238
718
266
177
332
877
437
297
277
623
609
828
392
199
824
7
777
180
720
617
174
111
650
684
926
517
353
216
704
52
124
415
59
261
162
875
223
211
924
91
740
267
884
15
703
400
1000
506
366
724
630
255
853
398
344
163
544
651
299
238
472
424
395
752
704
71
452
813
276
626
8
501
714
356
173
420
539
740
158
863
467
536
725
755
185
299
814
242
689
583
51
43
183
54
644
712
441
932
432
511
350
482
501
946
78
773
825
882
949
550
834
802
628
871
716
982
670
98
476
278
843
940
511
782
869
520
476
792
411
840
784
467
186
610
894
994
62
117
921
356
885
730
746
565
552
646
968
762
550
698
519
720
781
419
729
114
987
27
927
353
512
717
421
939
450
421
849
49
443
216
429
514
553
677
607
412
616
774
965
296
489
364
17
418
400
925
690
437
398
954
899
745
539
361
578
985
28
277
950
300
4
904
605
593
26
455
179
379
630
744
28
819
483
705
311
192
789
972
336
352
598
660
845
689
569
663
152
747
572
99
698
905
224
35
649
495
95
229
591
280
850
459
277
513
34
921
624
653
558
325
849
396
200
535
705
907
603
56
291
987
290
235
758
443
236
759
605
131
378
938
889
964
241
313
850
669
568
287
938
267
411
898
175
9
667
299
89
2
448
231
238
874
990
574
457
597
24
38
518
28
676
223
853
819
989
531
366
92
103
896
113
673
974
897
807
761
290
556
708
586
861
89
420
19
379
907
532
102
872
422
834
167
580
603
52
529
266
744
647
770
167
643
259
251
868
216
809
825
422
597
68
663
930
954
790
762
602
547
122
939
68
64
55
92
325
901
157
75
240
830
673
781
971
472
360
939
32
85
97
698
960
449
395
257
719
26
417
710
37
187
23
771
850
993
643
251
902
924
498
993
338
991
811
454
822
856
145
300
304
965
965
180
75
179
823
292
149
92
325
519
341
19
179
639
609
634
171
598
407
387
874
877
761
89
268
782
798
546
210
842
241
688
867
592
191
442
832
721
140
485
587
932
740
96
430
908
339
580
728
442
653
88
612
135
245
228
817
82
663
551
389
580
197
860
442
255
224
290
928
908
997
288
666
66
578
947
511
451
334
611
573
543
25
341
882
994
74
587
756
905
36
385
381
860
647
504
794
208
55
215
577
257
46
798
1
949
107
441
299
100
144
964
36
465
585
647
246
755
340
504
130
200
814
551
613
420
763
951
17
185
266
458
396
90
528
226
855
303
533
900
308
331
770
854
674
169
431
621
479
295
462
808
188
721
836
283
372
711
239
995
981
840
120
556
579
781
728
664
397
582
307
467
436
212
116
248
672
867
300
173
620
828
942
401
109
695
803
534
171
466
364
276
351
216
796
146
590
132
370
286
54
258
675
716
966
594
690
877
499
118
429
931
287
901
384
94
961
724
450
216
371
513
352
939
873
474
863
17
89
3
250
808
90
357
465
518
809
550
553
517
806
176
656
920
233
660
749
688
918
954
961
688
57
845
912
518
896
861
18
410
124
197
126
199
456
246
134
157
1
71
520
501
587
589
781
485
157
344
876
306
727
480
642
497
156
938
76
89
155
941
67
572
561
582
856
633
876
668
65
689
455
9
609
495
576
50
172
474
764
47
237
980
426
15
834
368
812
315
275
661
798
58
152
555
772
478
783
705
188
27
105
565
951
266
744
514
903
493
618
659
75
720
958
477
303
791
91
437
6
368
662
826
663
73
237
271
566
281
376
881
938
929
362
485
389
238
702
198
996
441
439
415
985
428
73
391
119
729
588
751
430
421
688
649
809
324
835
791
376
348
116
210
217
960
250
520
283
508
313
326
739
609
840
647
71
851
43
468
570
845
800
996
606
52
927
818
290
861
997
897
691
125
633
284
755
731
783
474
507
789
915
592
866
748
519
967
659
43
515
194
4
913
414
495
262
656
153
37
189
911
533
888
745
524
97
441
260
157
114
496
297
113
48
623
624
745
525
120
123
435
338
626
385
376
500
442
951
264
662
674
890
609
503
624
448
557
850
227
7
999
336
948
493
278
409
251
670
972
359
660
454
90
823
475
512
507
933
393
925
612
849
653
613
966
942
835
572
214
299
101
684
645
521
516
38
536
49
30
229
885
337
879
64
206
257
439
483
818
58
6
255
456
35
603
186
94
847
669
183
594
51
397
478
150
15
577
726
539
824
10
491
873
191
982
846
876
665
788
411
728
608
30
206
141
537
251
77
682
401
495
330
283
303
528
419
519
986
809
197
529
97
757
272
355
929
514
486
89
822
194
389
464
880
541
857
416
1
68
674
717
461
953
976
984
477
446
968
245
210
62
186
781
686
623
912
130
940
38
22
983
518
814
707
230
145
437
973
506
968
166
807
459
289
260
185
400
107
349
859
95
122
466
19
297
66
265
428
973
351
60
652
356
69
629
317
617
322
174
127
424
708
442
534
664
529
756
553
360
980
640
193
148
106
797
360
745
817
419
921
490
634
206
793
415
81
16
550
261
898
753
73
542
287
974
161
57
442
710
899
201
525
137
773
75
41
95
209
654
326
917
229
209
458
651
395
785
460
594
82
755
93
965
369
408
899
667
530
58
386
370
191
398
442
524
698
682
95
522
149
856
736
959
825
932
804
791
494
759
678
296
146
812
282
874
246
811
438
147
539
753
549
266
738
443
601
68
205
693
766
482
840
179
148
634
976
336
312
177
30
810
283
707
4
676
662
563
733
101
323
907
923
120
929
760
621
975
171
569
758
786
181
980
772
387
70
690
145
818
895
683
896
339
663
647
657
782
173
116
28
755
575
705
285
499
566
849
377
160
12
576
388
880
634
240
256
374
115
555
644
594
590
942
257
684
60
5
814
666
664
862
118
197
140
207
370
321
24
216
938
321
312
836
286
670
385
570
675
607
955
605
534
50
670
15
105
374
830
818
108
128
316
864
655
859
466
881
598
77
119
533
808
819
473
11
642
414
703
473
981
818
520
689
785
338
994
320
69
633
957
608
560
644
307
657
76
506
326
146
837
542
906
13
505
180
253
628
738
969
155
11
438
944
448
895
673
228
618
814
476
135
815
962
297
26
734
237
975
799
896
767
436
252
908
207
242
476
146
292
287
78
157
424
624
324
784
573
439
201
651
410
657
10
184
368
516
329
778
302
724
112
79
498
501
226
595
63
862
960
30
145
24
905
765
990
675
137
930
607
185
805
358
662
513
98
507
295
700
22
129
737
349
604
78
979
423
936
119
224
22
935
45
568
547
821
716
140
785
97
849
932
36
247
523
690
318
454
406
529
85
388
649
360
646
529
227
882
657
537
293
577
629
896
736
146
407
439
728
823
949
393
512
304
536
245
48
353
781
103
447
753
374
193
294
907
559
811
58
307
751
337
825
62
522
901
440
870
453
905
38
121
963
886
597
326
306
126
814
680
358
44
148
384
705
594
282
270
799
856
634
425
625
518
795
716
412
204
923
600
416
429
201
111
671
545
442
713
944
176
787
544
807
508
244
650
866
301
514
990
717
621
119
375
95
117
394
980
59
135
267
769
755
71
128
980
460
145
245
816
182
234
373
592
1
458
200
929
760
987
239
993
423
933
606
412
656
242
896
249
714
233
11
343
746
783
387
392
10
206
512
389
285
548
25
416
988
348
972
328
120
950
976
582
164
54
190
298
510
551
896
673
797
618
533
31
824
687
742
98
289
187
760
614
707
866
102
987
296
127
24
520
479
24
683
674
942
500
295
948
839
973
792
211
836
628
694
738
171
620
948
804
800
928
464
368
997
791
971
327
499
490
583
821
381
741
174
290
387
108
250
332
342
681
511
928
651
697
721
277
561
911
795
282
79
340
260
744
944
374
365
436
20
391
161
530
850
739
790
296
876
351
109
611
6
320
494
555
787
482
347
326
445
424
404
736
442
354
393
822
990
968
992
471
197
789
309
506
103
429
316
389
913
911
735
538
137
473
928
281
198
248
197
635
299
841
768
418
982
104
421
692
877
323
388
170
588
659
637
4
520
899
150
338
743
491
116
105
638
393
227
814
186
493
429
486
209
200
546
487
814
378
160
719
551
934
26
532
530
243
71
759
854
81
726
474
226
884
947
434
539
972
761
674
580
831
618
398
716
678
110
129
578
306
887
69
318
645
671
741
954
559
369
317
704
158
177
429
965
291
451
925
773
963
841
752
174
120
894
88
901
630
837
919
177
302
792
475
246
491
987
343
439
152
883
617
223
229
258
123
667
889
456
652
205
459
948
108
410
845
333
679
733
875
652
435
784
258
672
262
817
800
392
675
524
101
570
828
92
215
514
6
778
646
720
6
910
611
216
24
315
742
593
155
656
231
822
119
80
987
889
613
833
542
167
540
267
272
259
427
727
28
696
547
342
391
508
593
704
608
161
305
681
685
798
71
429
300
4
400
757
914
566
94
565
928
811
132
57
827
157
537
752
971
436
970
135
131
412
380
918
893
665
830
504
810
682
512
219
508
532
49
264
16
35
419
163
254
648
216
667
973
620
507
713
412
161
249
29
614
431
87
430
642
209
357
668
898
972
299
941
388
968
799
803
20
544
478
302
6
682
556
573
972
158
744
42
684
264
341
615
155
297
836
940
487
347
572
877
5
29
448
847
115
890
206
576
843
200
598
91
205
704
585
505
394
702
800
273
252
521
681
81
694
44
45
502
488
448
390
840
340
732
877
370
297
941
766
282
281
173
73
221
7
652
339
261
619
115
701
509
124
763
916
326
121
840
573
299
357
667
510
709
396
620
367
214
6
119
277
866
956
146
928
376
549
212
629
766
598
956
532
139
510
793
899
338
837
59
118
674
934
185
214
759
331
274
766
693
68
323
454
513
506
15
943
877
53
675
471
381
853
493
270
801
733
554
925
812
579
604
858
407
907
684
419
328
595
963
451
323
596
147
795
898
29
836
921
593
167
50
760
463
733
962
867
600
393
550
220
27
478
488
351
242
788
84
981
995
812
522
31
663
778
923
692
682
773
32
210
91
571
412
199
175
920
85
581
571
777
516
685
963
384
653
680
668
135
520
244
19
911
497
310
406
914
14
797
257
81
838
473
37
822
513
475
543
182
829
562
400
517
332
877
674
430
52
843
945
28
575
843
23
502
530
492
719
697
363
638
748
580
1000
711
856
454
639
685
769
381
419
685
384
505
196
258
915
852
965
408
386
790
763
758
927
509
998
642
835
759
279
479
254
629
731
528
629
323
713
13
790
725
604
628
649
54
43
677
6
50
585
399
880
964
257
609
136
51
897
388
892
445
487
438
350
3
906
657
248
211
655
657
84
273
165
213
620
305
213
110
961
915
834
448
673
531
873
215
969
568
983
886
25
859
422
850
831
846
515
728
822
671
987
8
735
691
681
981
728
895
368
654
857
387
442
188
397
391
303
395
349
202
161
25
708
146
768
881
710
853
361
287
326
127
688
71
737
257
539
30
385
860
665
761
457
279
274
898
349
80
593
13
734
431
119
883
342
28
257
393
467
719
13
69
508
223
302
149
559
115
200
99
194
803
171
730
80
342
902
399
17
747
874
287
305
943
217
439
99
589
709
56
544
830
2
521
40
420
297
764
951
781
710
895
416
302
535
446
726
580
432
203
858
379
348
340
395
768
627
528
9
315
331
717
90
203
277
564
924
846
665
835
3
897
461
682
688
571
905
369
446
823
578
900
328
270
516
996
181
661
717
50
305
377
256
9
964
682
901
623
141
395
784
108
459
236
207
111
986
372
97
771
965
540
989
814
163
749
658
840
611
728
690
427
11
169
338
218
975
378
1000
892
559
72
524
830
272
957
325
304
841
176
16
231
553
905
821
890
900
151
570
512
595
306
474
315
784
91
198
396
386
360
968
854
83
598
599
674
414
108
327
187
808
574
323
367
151
120
567
844
662
42
540
264
435
95
858
556
3
590
517
728
655
603
915
56
59
254
178
921
939
387
623
73
179
938
354
832
737
978
127
556
183
693
582
759
512
539
877
390
114
442
579
142
438
173
363
126
930
980
741
880
289
138
535
494
948
332
289
547
951
682
137
720
88
800
916
126
220
450
455
913
216
289
65
177
828
676
205
43
134
725
183
573
856
614
559
284
30
674
572
197
968
913
542
733
420
465
701
258
151
894
288
782
904
426
100
97
862
947
896
661
263
45
173
653
789
477
878
915
724
145
579
965
620
143
424
845
419
411
18
365
527
319
984
178
361
839
541
251
260
990
910
476
463
952
757
586
57
553
123
76
430
855
538
521
767
210
72
555
551
462
95
776
889
933
453
7
696
485
527
692
426
177
437
648
87
12
219
79
754
840
387
509
617
746
697
266
918
129
312
252
783
263
796
991
27
335
537
367
538
836
269
40
693
686
332
272
602
693
185
752
665
761
488
90
32
763
742
817
105
162
83
115
116
256
349
985
170
398
908
246
875
658
97
595
823
190
319
897
737
966
979
68
68
668
483
163
175
256
467
749
6
134
255
258
361
904
324
753
413
392
196
489
143
53
751
702
752
810
439
298
891
152
229
509
800
598
425
123
8
646
694
582
313
3
713
121
167
159
874
119
409
373
384
1
572
741
925
367
585
295
750
496
783
21
727
3
562
278
384
249
921
338
442
21
359
675
677
123
300
195
205
785
300
803
441
204
770
598
65
117
849
472
277
27
356
138
532
599
481
380
703
787
955
876
342
447
986
72
277
550
170
372
316
630
900
438
214
750
571
441
408
119
984
939
213
467
935
469
325
397
921
24
513
281
258
360
311
651
670
448
382
706
612
468
976
269
135
454
560
474
121
67
280
541
93
2
370
195
621
219
22
723
538
535
497
161
807
103
467
833
891
961
670
306
913
146
958
844
722
825
739
606
219
535
635
168
938
871
876
423
953
941
623
555
594
449
901
570
373
545
303
829
756
486
960
121
87
682
519
88
106
960
50
226
910
704
855
265
191
101
130
457
808
878
324
200
513
763
797
452
736
412
99
611
871
681
778
875
411
937
130
616
643
575
716
973
325
21
788
693
923
288
997
225
552
564
870
222
694
445
596
881
150
130
596
20
464
312
191
391
194
579
462
485
39
826
26
3
771
555
48
270
359
5
262
42
449
671
161
619
568
187
811
647
60
481
915
757
754
810
879
984
814
561
613
988
30
690
720
199
73
282
554
390
871
999
330
635
307
111
114
246
909
408
68
89
67
521
721
622
578
99
457
109
990
841
590
715
316
596
627
624
163
625
326
883
227
633
172
411
389
382
763
499
393
513
372
175
147
735
650
5
258
654
54
254
313
354
44
845
750
298
554
234
925
235
527
132
84
578
531
977
560
166
618
232
408
393
615
836
112
452
970
623
727
824
139
88
24
242
247
705
771
15
422
836
278
33
763
435
742
752
369
912
693
179
271
943
112
185
344
554
328
503
505
508
897
399
592
857
43
322
326
569
84
802
655
290
527
491
617
622
134
520
567
788
325
272
255
195
744
272
770
187
681
136
800
253
287
425
32
25
247
813
744
709
602
184
816
974
945
171
453
916
79
127
876
438
553
773
147
295
185
541
32
58
793
174
545
492
887
274
393
174
995
305
31
699
625
37
498
490
619
510
453
49
774
398
118
479
196
93
924
222
764
888
707
285
489
428
241
646
290
957
747
148
913
988
767
964
278
715
457
618
537
857
914
628
545
677
634
80
192
569
575
798
321
971
580
365
508
356
117
910
54
698
379
449
917
125
809
585
191
430
4
529
935
758
793
747
842
20
987
987
254
567
950
123
512
215
647
8
474
976
302
493
330
747
116
882
492
770
780
347
439
885
641
243
879
493
496
850
485
637
909
787
774
828
873
246
377
69
386
218
112
27
244
104
736
447
898
448
223
749
792
44
725
152
947
332
113
863
927
848
166
584
504
435
971
66
492
93
138
510
265
627
707
378
377
697
471
553
605
497
570
878
433
29
810
800
719
883
149
224
782
484
189
708
696
20
304
818
894
645
270
796
505
78
829
694
42
455
695
801
130
113
899
442
999
17
206
278
357
704
604
772
88
942
473
835
932
787
117
546
951
362
803
472
94
458
292
342
652
32
148
719
709
769
758
912
970
135
102
542
503
783
794
86
1
718
796
217
129
409
544
976
436
865
882
628
51
782
373
553
118
42
21
703
492
217
407
924
747
226
555
939
930
993
572
905
850
729
294
220
876
503
666
709
373
856
583
398
935
524
277
836
510
798
79
329
370
635
597
501
630
398
920
332
675
54
424
171
430
680
206
271
884
407
909
59
648
299
964
720
611
200
853
638
981
301
34
920
49
23
596
526
53
829
538
483
432
740
804
313
544
678
871
46
686
195
703
158
859
848
381
337
260
205
560
251
936
479
167
367
375
849
469
467
60
814
669
683
187
334
729
781
801
94
978
915
588
951
379
302
432
520
44
57
645
891
681
981
448
677
198
193
913
942
604
347
43
74
675
629
106
341
617
834
657
683
61
635
866
287
330
550
968
623
828
251
620
901
792
552
929
395
410
871
767
639
494
974
716
301
460
557
674
441
379
579
709
939
244
289
221
115
406
575
856
933
333
613
895
755
476
771
48
281
21
395
658
183
764
409
355
963
147
621
79
699
760
251
240
719
243
481
476
667
573
758
125
124
192
165
50
682
288
437
901
363
805
90
249
363
447
691
271
353
18
521
855
27
931
753
14
100
610
779
527
765
814
540
554
437
631
507
792
698
972
505
429
547
964
688
718
414
514
813
549
897
698
387
766
883
327
442
318
498
229
406
545
345
285
21
26
616
281
328
476
947
928
492
88
350
252
640
589
162
655
943
23
699
586
904
943
239
739
166
255
28
65
182
420
220
715
805
135
77
233
157
860
278
925
146
767
891
346
682
799
417
301
898
511
344
545
697
277
783
657
546
291
124
162
716
470
109
59
104
45
338
353
368
122
81
68
349
955
131
467
659
30
623
909
869
296
954
831
954
50
375
855
517
46
398
886
853
384
901
405
82
592
699
837
437
123
369
16
282
166
361
253
585
281
746
486
394
859
486
284
313
827
764
241
110
342
754
428
358
428
181
124
455
643
163
23
447
916
111
444
838
601
944
881
966
694
429
368
580
855
283
754
989
591
536
939
493
492
758
545
867
889
996
277
341
703
614
449
838
512
815
762
279
71
299
440
364
628
379
252
581
350
880
795
153
135
328
634
251
846
247
562
75
779
877
263
358
769
248
163
419
892
361
78
150
167
148
550
216
987
19
467
314
302
51
591
562
694
284
164
928
587
195
615
176
787
109
726
970
439
245
286
617
270
84
416
439
673
995
240
900
792
378
511
442
289
113
148
441
838
765
355
810
772
826
151
562
473
254
709
90
268
698
816
986
605
108
183
988
241
877
61
54
9
242
821
590
492
479
724
611
605
302
120
960
628
982
675
760
726
920
53
927
373
788
690
958
362
927
880
154
309
343
470
143
620
545
807
823
928
458
512
867
892
811
794
508
93
733
744
626
457
778
57
82
290
215
95
851
529
241
74
723
267
699
438
275
955
16
130
367
930
307
582
614
91
45
726
184
614
243
219
787
554
839
375
900
82
869
26
125
875
34
607
66
877
496
337
271
261
75
228
586
879
532
58
741
979
305
122
105
188
883
756
336
80
970
171
68
694
761
95
881
466
913
69
554
946
270
48
979
528
980
92
202
186
442
555
752
852
399
132
811
658
600
559
770
724
666
526
461
558
197
593
623
428
688
508
219
237
527
344
844
568
217
303
768
520
948
865
150
916
846
193
551
254
524
373
186
500
70
86
246
454
208
798
257
955
203
399
663
647
989
506
725
338
153
302
399
294
619
891
60
922
337
623
822
390
837
734
721
700
243
969
223
610
223
532
349
579
423
859
219
618
79
197
961
512
926
920
735
395
978
830
115
58
444
454
149
706
888
463
246
91
686
916
432
65
999
975
631
675
765
111
367
811
659
584
690
313
593
160
174
164
57
610
583
80
574
531
127
364
553
416
308
366
111
697
995
272
796
724
752
230
681
205
389
24
25
710
415
581
523
221
339
628
201
571
747
706
183
848
704
589
853
478
320
847
458
762
219
953
802
99
286
851
492
978
282
359
140
116
823
105
46
780
806
983
114
405
535
250
227
139
720
465
817
813
10
430
170
145
941
209
816
706
987
32
468
271
922
643
126
713
852
191
347
517
75
323
167
335
402
513
874
721
687
978
596
360
104
790
709
617
130
874
167
246
291
663
165
400
471
96
4
903
5
493
609
894
795
625
944
552
455
915
464
585
833
313
828
579
277
830
331
90
734
123
895
572
73
795
7
865
43
250
682
955
924
87
415
188
236
976
49
901
838
890
712
732
383
392
250
450
339
377
102
270
777
328
179
3
652
650
115
317
608
118
194
622
201
793
384
760
16
57
152
814
360
518
169
770
96
673
566
719
682
141
172
561
711
163
11
879
47
889
398
781
162
613
192
15
449
756
76
593
70
875
299
493
374
413
930
752
54
193
559
395
970
905
296
217
14
961
122
374
477
117
877
110
128
219
680
727
618
264
132
64
878
743
453
348
906
866
591
266
692
859
454
496
81
982
601
747
35
323
163
555
122
654
275
713
28
904
9
204
563
829
670
975
937
512
305
678
40
228
459
777
92
995
536
49
300
915
607
564
97
971
127
689
125
541
845
509
386
297
112
364
862
509
933
832
482
53
323
610
540
546
6
218
512
137
10
334
764
423
501
896
843
856
30
805
845
807
457
154
893
100
997
474
880
486
181
368
463
986
51
279
739
457
581
831
176
73
120
383
150
604
656
933
837
516
833
504
365
978
928
499
814
760
482
268
92
889
839
331
770
665
663
265
659
320
367
256
311
140
506
728
619
386
398
232
410
678
624
17
247
844
609
308
657
390
187
322
646
869
893
502
700
409
766
276
400
606
588
873
429
766
828
394
9
225
32
370
759
119
40
515
534
467
212
227
75
933
774
675
180
924
533
980
688
978
449
87
764
537
968
395
867
265
622
150
279
58
108
849
299
771
949
668
8
450
898
993
35
585
433
699
895
478
51
709
276
314
586
717
138
972
436
703
572
881
418
4
198
499
945
249
257
76
371
456
691
441
608
906
222
462
624
226
864
700
984
254
340
512
389
871
620
542
91
945
135
83
103
952
288
294
399
629
523
595
657
229
604
904
646
544
706
521
67
914
607
586
511
831
560
61
208
620
404
44
402
869
82
107
537
972
19
16
884
183
749
861
920
14
771
127
513
726
851
724
977
874
904
278
101
587
145
317
583
338
407
74
672
418
404
749
416
275
248
22
644
140
696
488
703
76
472
486
990
729
474
463
558
540
864
643
402
126
809
242
546
884
148
916
741
570
348
413
385
799
915
645
272
922
835
530
915
728
748
958
468
755
260
228
740
790
241
96
393
286
990
379
174
39
880
680
949
431
452
400
405
957
982
652
481
544
193
79
1
389
159
882
535
646
420
519
167
322
4
678
778
172
330
87
389
189
969
689
341
569
829
458
366
633
627
938
123
269
453
131
373
898
784
974
807
848
604
26
440
271
152
378
626
429
392
25
9
262
525
117
124
614
704
570
950
433
687
481
462
508
304
688
83
66
482
590
13
632
62
39
602
84
781
711
275
776
638
875
54
908
279
878
379
92
204
1000
748
176
349
538
695
978
35
111
752
492
391
234
323
552
52
119
881
642
404
541
473
777
649
332
293
940
715
760
16
518
389
589
620
648
92
99
720
102
391
734
749
622
686
327
937
171
508
22
676
631
517
157
771
878
604
331
48
11
450
819
981
738
538
296
314
591
881
583
155
665
663
716
614
53
583
216
915
15
942
860
799
165
415
599
175
678
999
531
245
556
864
9
717
518
691
994
329
959
611
795
614
714
45
146
733
101
595
438
260
799
615
527
962
659
262
231
37
461
620
43
717
971
977
75
872
386
429
513
26
407
794
116
223
713
226
404
274
602
35
230
251
887
939
363
519
948
406
570
199
973
774
414
754
49
585
690
252
722
914
934
996
44
505
964
393
948
241
763
351
978
772
296
28
10
144
75
451
661
947
356
395
451
751
859
907
668
633
842
37
98
171
132
674
425
575
487
839
178
573
248
462
545
236
817
421
232
189
907
610
845
557
882
890
901
559
740
37
721
849
470
232
874
629
574
199
805
32
515
851
539
496
742
159
69
674
714
37
164
917
56
205
832
544
567
378
629
891
299
620
303
623
355
377
29
904
356
534
627
792
762
813
696
677
342
978
582
651
161
592
431
476
344
543
366
170
782
128
12
349
641
295
143
136
255
509
263
837
505
829
277
607
273
979
250
22
966
613
436
810
348
493
389
971
136
17
975
218
922
379
534
920
960
668
293
742
295
363
329
778
515
30
78
248
127
484
387
781
209
345
613
872
493
670
89
381
507
346
586
814
737
986
62
699
28
366
60
595
602
837
630
122
147
750
535
957
387
626
785
887
449
719
289
894
105
663
492
717
663
65
408
488
902
315
373
862
920
332
188
530
195
693
54
100
471
380
835
134
297
375
764
563
206
470
639
775
498
949
940
435
611
262
45
493
846
387
931
888
1000
385
299
197
122
523
71
809
158
455
595
279
738
154
692
165
743
697
900
5
549
533
864
95
74
569
872
376
823
277
920
38
148
16
570
432
847
949
69
500
27
263
855
189
922
850
638
286
930
296
676
678
719
773
756
275
664
402
657
793
241
757
519
71
246
440
675
896
887
88
946
117
838
718
328
393
346
92
273
100
343
630
502
739
306
468
383
730
298
448
433
574
236
190
431
225
907
903
963
949
704
253
954
79
333
466
897
854
990
768
26
961
626
461
653
497
966
188
252
804
871
405
619
44
497
682
661
435
455
226
897
782
837
919
785
320
536
256
360
902
770
796
484
255
93
124
202
371
470
861
326
89
168
972
393
589
340
468
545
810
161
614
736
796
294
924
913
570
291
547
430
431
235
144
52
495
590
954
327
901
721
602
990
341
41
90
313
473
37
567
27
356
719
703
473
235
186
929
190
899
58
381
980
343
521
102
847
672
595
964
879
3
13
796
268
637
822
426
192
907
385
670
189
949
983
863
14
62
618
130
678
494
958
488
540
236
547
801
860
853
580
770
183
470
545
437
289
785
993
117
215
363
538
291
30
558
942
751
619
89
826
210
749
702
68
658
47
350
467
984
353
28
612
769
100
730
186
702
997
991
110
758
317
146
76
157
490
720
958
111
580
360
564
552
416
313
961
351
837
757
371
27
516
213
217
566
339
849
483
790
127
765
964
640
800
207
337
860
734
264
244
828
161
778
739
692
935
96
503
562
897
805
235
209
370
792
477
649
17
789
928
5
412
83
5
241
207
213
984
747
676
283
595
226
781
988
305
33
635
589
895
936
358
810
120
232
917
122
395
319
461
907
470
86
54
799
10
965
447
864
838
69
759
357
370
624
447
502
396
797
17
128
969
131
246
998
622
995
547
378
497
863
279
716
275
793
435
306
2
128
162
460
949
374
983
31
726
135
440
84
713
238
90
140
732
435
476
696
576
607
692
652
687
983
660
889
741
736
89
449
418
204
351
718
919
153
186
533
94
719
248
376
168
96
964
676
156
627
101
778
1
665
725
304
359
472
938
508
761
463
913
681
530
306
243
840
485
739
566
751
916
485
754
780
762
309
690
197
228
93
807
354
301
773
116
556
748
141
401
577
232
790
635
479
111
933
420
831
336
446
466
458
624
240
667
589
731
967
351
611
239
189
662
715
721
307
836
347
540
997
351
772
825
385
528
4
356
954
185
64
193
972
398
781
871
295
208
363
930
522
404
558
330
856
112
523
40
444
9
426
726
666
413
445
989
599
379
10
52
849
190
101
131
38
324
928
13
513
45
562
473
248
268
948
287
488
229
254
524
425
816
703
709
74
93
884
221
552
701
9
992
199
301
757
158
287
181
160
840
615
476
426
615
944
167
746
581
37
208
892
127
81
647
846
663
372
590
813
575
465
202
677
651
425
726
420
37
428
665
18
560
726
866
102
898
896
222
6
666
388
112
869
941
600
507
135
136
114
855
148
423
242
499
521
98
774
385
615
362
634
252
790
25
182
329
27
531
85
787
163
523
964
872
261
894
548
667
553
907
678
901
4
473
302
84
784
172
565
530
825
885
183
483
244
220
578
665
557
35
642
46
562
450
598
532
224
704
143
567
139
95
953
359
948
28
668
541
611
895
671
622
558
89
360
488
591
986
74
542
847
122
560
849
250
110
641
747
695
75
768
972
587
513
257
293
504
498
290
9
460
142
263
448
661
12
594
765
718
8
942
932
978
842
648
806
8
823
330
530
325
151
752
373
92
275
516
256
907
166
639
903
758
563
798
496
890
327
863
210
656
45
369
798
341
963
742
624
641
109
402
249
680
213
380
639
453
652
693
601
112
196
531
874
818
750
258
574
730
663
331
396
304
408
514
22
266
614
162
704
508
487
956
874
678
632
171
925
415
182
464
40
42
903
216
28
997
655
638
688
456
181
250
97
406
696
800
597
900
170
418
975
317
510
569
474
282
66
394
823
274
19
144
452
101
257
707
392
109
261
689
158
454
401
100
70
772
774
476
56
338
389
174
989
153
68
661
963
444
914
842
762
723
547
861
946
920
651
366
628
83
498
903
994
791
275
990
82
752
8
411
160
3
802
448
260
769
928
108
101
298
13
849
666
950
234
989
169
372
915
734
1
879
416
754
513
28
512
300
190
959
743
149
832
277
352
76
858
118
525
104
735
599
590
564
855
987
734
819
865
817
573
618
593
643
600
189
219
287
157
575
266
244
35
213
339
376
274
417
243
145
11
282
302
418
462
468
201
310
252
490
684
612
360
420
770
123
843
364
918
574
412
677
779
920
635
650
729
489
244
312
365
818
549
70
572
85
484
148
525
686
143
163
244
868
985
723
896
331
60
635
93
339
711
172
821
233
218
842
516
147
756
295
997
415
851
313
647
378
253
316
259
272
770
449
437
449
141
121
303
447
461
798
527
302
49
983
386
89
865
548
613
862
767
42
329
64
977
129
208
970
55
76
343
965
616
84
993
232
769
306
500
989
968
578
173
510
556
280
898
23
794
213
517
2
583
91
810
522
380
33
10
117
67
452
378
998
631
859
286
608
572
397
646
217
886
366
277
664
318
630
989
430
343
518
745
921
992
790
237
220
196
291
633
603
808
152
35
791
848
794
395
241
776
525
262
799
818
210
749
680
457
388
530
31
201
179
515
341
660
512
94
540
788
543
475
933
833
591
703
50
231
566
413
68
141
666
196
720
839
55
787
509
457
348
904
600
887
3
685
981
762
107
150
358
544
662
1
771
694
162
395
111
788
184
7
558
230
725
842
442
909
231
750
205
732
632
541
939
485
184
935
437
871
615
290
828
919
869
241
638
131
755
898
546
924
920
229
217
913
866
604
319
549
194
274
242
461
840
690
99
623
863
200
310
99
222
613
417
726
100
535
852
525
530
183
4
49
481
572
338
138
98
611
253
753
511
653
78
655
446
453
855
706
922
360
588
481
467
770
192
685
618
532
719
599
935
50
317
432
437
282
11
938
106
684
610
163
106
452
977
485
440
57
430
396
39
170
276
615
703
558
355
211
875
435
977
369
976
38
842
311
900
918
376
695
334
551
377
483
742
386
76
861
225
389
466
345
990
443
276
546
800
753
33
466
632
500
488
342
740
575
64
246
449
161
127
656
322
314
576
150
765
440
697
251
764
769
253
174
201
492
514
910
109
211
310
645
319
783
180
967
165
381
442
730
306
873
269
691
282
165
925
256
93
238
923
760
976
982
195
707
549
805
324
316
666
201
512
523
650
133
242
335
59
125
512
39
766
406
122
307
938
350
746
709
453
670
407
453
376
554
542
453
412
990
74
986
650
1000
750
251
488
448
561
132
372
322
227
343
868
164
573
913
604
386
131
661
872
760
445
933
978
281
358
334
976
948
49
644
95
731
699
397
958
160
420
832
716
492
567
63
328
409
586
331
519
527
350
172
416
792
292
164
434
8
744
668
780
318
580
649
841
458
637
241
813
994
436
158
135
563
377
475
712
325
954
558
430
478
510
128
178
676
726
547
435
656
317
402
522
156
422
390
750
521
732
320
48
957
756
771
125
520
474
566
863
325
303
779
426
364
473
413
518
579
871
245
352
500
930
593
112
870
386
916
158
131
577
220
762
588
496
227
907
312
989
143
581
608
349
633
18
944
10
328
555
787
261
757
135
703
644
136
969
406
220
830
586
212
976
621
275
455
436
177
946
4
971
188
545
974
402
720
475
76
217
255
901
836
158
745
455
84
955
752
577
681
735
422
696
487
980
591
491
902
963
814
720
182
232
466
493
881
120
368
406
434
172
584
655
878
118
110
104
155
267
211
284
270
187
59
502
821
175
130
513
45
258
576
744
602
448
376
646
753
516
643
592
475
850
873
640
306
813
314
636
396
614
823
356
337
909
824
823
815
214
964
504
22
747
94
835
99
504
67
390
542
212
613
71
651
284
276
890
624
91
957
265
783
634
160
278
825
187
401
998
641
609
586
808
485
784
393
641
737
98
784
197
536
941
864
470
880
970
204
396
571
302
604
10
569
796
45
303
882
393
212
839
139
761
558
307
353
601
345
402
211
586
483
803
419
306
255
587
255
538
248
87
494
856
856
91
308
868
779
259
556
361
810
837
152
252
44
39
805
497
364
976
505
81
681
638
583
784
937
224
18
655
348
77
967
50
679
573
136
643
625
597
721
23
510
628
121
377
612
64
528
279
361
112
792
802
569
501
683
980
614
274
770
188
211
147
664
127
978
263
299
917
536
692
265
284
282
694
923
930
276
573
214
959
940
962
585
672
360
484
449
130
55
49
938
620
981
492
482
601
420
855
933
705
141
400
527
152
885
321
965
242
789
256
309
690
851
859
146
170
905
152
746
860
858
864
492
704
155
701
914
816
513
327
89
721
974
853
976
120
257
814
522
469
186
917
7
965
691
336
136
424
541
969
884
188
459
873
910
378
756
7
668
770
929
582
12
96
954
515
150
795
153
946
329
124
581
335
499
55
851
392
519
565
203
976
176
780
402
148
393
926
750
765
542
182
79
348
672
358
119
483
839
778
29
672
420
863
209
381
470
702
719
21
714
320
777
714
747
455
843
17
335
390
713
202
544
804
939
324
540
650
607
40
520
794
185
85
223
527
719
381
844
64
127
974
1
868
710
405
595
938
319
640
30
228
753
396
266
995
125
570
616
207
887
452
41
72
148
625
898
421
720
729
786
903
55
783
171
931
864
375
903
868
760
849
650
227
680
526
503
535
218
158
710
78
238
25
557
973
313
535
925
854
575
756
943
32
580
33
432
129
621
735
592
50
747
227
448
665
419
351
131
689
339
66
968
101
487
404
710
872
829
570
952
925
441
838
944
4
74
881
562
572
242
303
138
962
30
442
235
721
685
956
221
534
975
322
648
125
983
128
71
288
736
958
878
559
570
765
149
56
657
826
311
717
476
785
625
508
289
830
89
137
900
739
417
517
53
402
155
485
833
425
818
263
357
601
202
792
845
353
642
300
895
730
56
459
407
199
61
25
145
228
321
126
360
650
557
276
268
872
314
724
382
271
675
992
928
542
604
306
581
308
481
167
753
89
701
483
573
553
930
536
425
58
695
539
658
681
544
707
653
286
899
569
944
689
93
702
495
664
796
221
563
343
194
101
792
554
836
863
313
771
9
256
675
657
890
270
347
605
467
285
408
334
413
154
785
299
688
785
43
655
605
124
346
538
527
494
620
697
134
910
375
871
423
346
918
863
219
922
865
965
976
623
977
231
116
490
353
122
922
172
889
212
317
359
794
959
438
889
595
40
9
269
778
390
957
919
675
849
589
715
701
314
903
298
369
367
300
195
760
631
41
972
319
502
270
562
874
517
350
413
771
318
518
272
911
63
613
295
218
201
726
647
815
701
133
915
733
204
824
463
514
53
256
341
474
866
689
448
704
88
641
475
102
1
512
530
894
746
422
502
91
255
632
909
305
418
725
421
188
416
886
288
499
921
183
620
489
780
784
847
843
872
396
706
888
69
44
790
184
598
502
39
867
681
304
541
327
980
289
679
893
289
53
939
207
875
521
713
881
64
84
989
838
12
403
153
479
26
18
25
430
504
369
871
165
311
704
348
267
369
604
280
377
366
543
684
222
712
991
715
184
337
32
42
15
453
400
719
226
175
93
789
580
752
494
691
910
228
968
55
153
526
488
613
110
340
747
762
946
694
518
793
841
726
826
894
526
61
569
858
674
137
840
814
239
961
117
425
846
93
874
726
330
82
927
181
328
202
12
608
587
93
670
316
339
825
506
196
638
985
289
515
22
622
140
855
273
258
302
980
298
735
563
418
379
356
442
171
115
636
669
325
383
996
335
234
597
902
300
642
285
272
129
321
816
449
841
794
666
703
248
258
187
977
497
96
282
590
710
268
718
663
310
410
92
354
664
711
602
358
211
508
852
730
94
33
901
817
660
986
628
966
851
402
293
724
678
794
842
437
441
724
130
540
315
724
715
291
249
1000
302
434
858
437
229
43
128
227
624
823
337
858
951
257
510
308
763
291
118
25
354
704
495
676
913
900
633
722
485
645
562
577
737
168
569
477
97
137
853
241
280
239
38
756
614
499
189
377
878
994
546
441
523
338
259
710
273
153
810
919
91
779
636
518
432
608
722
365
476
791
571
369
814
523
7
46
639
754
725
519
66
974
382
747
634
667
264
685
382
129
266
619
167
628
2
132
32
262
332
63
518
504
514
298
774
100
471
464
201
906
389
410
161
287
950
861
966
888
60
795
960
974
823
885
17
2
872
837
190
814
895
546
551
608
331
806
506
873
794
709
982
581
695
995
919
231
942
325
468
810
339
886
93
293
486
767
601
138
577
294
705
77
479
839
372
632
847
702
607
1000
877
297
776
325
458
243
781
936
135
965
673
836
305
26
316
550
468
772
764
501
246
782
911
201
63
297
792
917
52
19
627
912
816
657
348
35
106
154
881
190
359
803
870
209
295
324
929
711
470
588
717
836
746
835
312
135
130
150
432
479
350
455
14
582
800
480
542
631
240
12
315
527
709
220
519
500
655
992
580
139
211
59
772
471
861
113
471
331
505
282
762
126
57
67
319
50
269
319
630
985
440
889
649
558
13
363
925
343
859
666
86
740
203
408
318
866
734
540
149
704
449
271
399
819
149
213
646
189
315
436
927
97
327
403
684
553
549
811
153
431
883
973
510
360
780
711
58
418
542
679
690
839
997
671
648
289
255
743
348
728
336
901
644
524
874
720
468
276
7
482
199
747
823
349
485
429
379
621
487
512
441
362
661
450
549
556
300
898
910
444
981
520
939
942
993
53
962
810
559
69
711
797
407
62
774
104
791
855
65
338
623
818
742
574
740
86
716
296
672
758
47
730
505
68
93
541
545
629
192
953
538
179
77
89
140
669
945
742
176
175
312
838
992
852
351
577
850
93
402
602
902
91
746
585
728
288
532
284
836
534
945
490
770
350
335
266
699
372
36
527
438
942
30
345
856
770
450
295
552
817
152
807
495
843
231
758
15
535
410
462
224
812
688
834
417
647
492
719
491
728
858
298
745
379
842
50
694
420
434
940
678
67
740
403
113
553
117
199
231
872
204
414
996
944
540
719
705
547
548
489
445
535
204
544
209
270
616
93
939
650
93
897
221
818
10
829
624
463
908
759
945
590
866
132
723
780
75
709
430
265
965
671
689
569
975
713
717
106
238
779
953
854
52
846
474
173
966
504
391
883
742
128
878
978
226
106
866
709
384
949
726
343
376
81
459
579
546
783
2
480
647
56
260
775
448
150
413
569
117
117
820
807
391
27
607
346
647
421
634
91
387
174
73
478
559
164
277
519
396
81
968
734
107
237
31
558
871
480
341
236
60
160
149
776
505
653
508
294
929
112
91
932
388
962
566
610
645
155
363
44
972
345
269
855
739
974
811
52
543
696
770
903
329
714
499
990
110
368
966
229
460
754
510
810
888
239
422
248
590
492
307
245
816
49
128
618
299
481
504
358
760
977
562
761
481
489
162
677
357
647
815
143
618
318
982
52
646
31
744
63
889
476
990
638
935
964
418
983
204
10
600
636
567
202
317
664
438
105
147
705
516
262
45
627
430
267
270
163
982
476
536
710
539
183
749
407
426
978
985
740
814
571
662
155
702
578
7
592
78
632
973
444
225
734
753
144
470
904
916
500
342
72
963
919
258
622
797
889
343
162
222
407
957
908
54
590
774
520
869
357
75
375
715
883
989
17
335
551
16
969
602
198
109
184
866
825
950
151
894
317
825
92
896
370
709
723
922
583
700
783
539
563
992
908
297
996
921
444
946
865
448
493
747
351
657
800
522
552
421
135
263
806
463
409
222
285
421
148
427
536
390
840
438
811
620
364
36
351
745
923
195
290
909
891
374
435
664
536
660
43
344
857
761
595
924
642
190
719
1
469
227
668
680
513
416
159
568
968
433
978
41
370
94
481
202
313
209
987
671
890
720
149
476
681
299
534
824
274
138
47
437
101
206
315
518
850
635
830
105
825
223
483
742
412
263
68
946
245
39
529
891
745
369
954
122
462
507
824
849
57
576
597
578
811
457
480
400
260
706
170
253
954
664
410
881
321
376
428
978
353
323
748
272
128
262
366
854
206
656
8
129
583
268
47
164
189
516
639
49
889
81
855
124
578
82
858
586
213
862
700
8
584
40
920
800
211
55
944
471
984
828
208
855
101
548
68
102
377
837
790
356
250
685
349
512
656
667
345
332
484
857
62
522
516
804
590
64
569
667
985
224
90
329
614
158
579
902
223
992
37
528
755
561
104
810
614
736
669
514
920
435
508
403
246
934
953
216
495
64
683
794
855
271
455
367
226
224
30
791
109
913
579
335
730
688
592
248
65
726
663
918
529
798
575
898
314
989
777
469
743
271
696
671
572
402
306
963
839
673
72
725
753
444
632
866
91
231
609
679
781
371
524
919
630
909
86
795
672
420
46
208
239
934
415
85
639
999
77
124
289
176
750
589
260
943
769
78
443
86
439
312
962
103
525
97
53
91
997
557
346
846
341
637
363
642
570
638
128
256
573
260
933
329
600
220
708
81
478
8
922
738
635
770
635
741
105
611
122
994
505
850
500
931
366
870
895
136
318
257
13
641
378
855
398
774
970
230
289
615
392
753
746
696
144
227
614
581
907
497
11
347
998
999
207
783
796
543
193
362
995
961
752
613
517
385
562
573
583
80
712
415
754
700
19
173
693
797
710
739
67
214
364
949
242
687
470
607
377
668
618
786
123
870
119
590
367
486
799
830
360
411
842
750
147
11
781
26
414
175
184
738
746
430
156
924
826
901
491
612
272
740
215
951
665
472
290
163
820
374
464
559
481
612
598
808
466
354
310
939
727
517
458
353
917
76
809
212
853
141
194
163
662
92
634
290
530
129
174
560
692
514
637
812
707
649
100
479
140
882
673
855
468
585
74
696
405
631
555
317
884
859
991
182
594
504
310
179
327
847
998
367
385
537
108
47
947
140
61
381
609
463
532
664
270
129
901
564
166
671
54
305
128
169
810
804
80
59
891
253
370
284
135
488
797
413
618
751
72
680
437
141
43
169
189
135
193
531
590
26
830
663
250
54
887
791
357
278
443
245
911
963
934
13
194
365
485
867
349
312
987
416
318
921
319
1000
892
102
602
686
287
261
485
7
495
744
246
255
642
123
920
319
721
386
758
38
348
441
75
46
659
143
945
872
75
197
245
867
388
900
299
145
589
656
710
330
906
611
19
349
749
530
508
908
663
283
802
553
917
878
923
444
80
52
115
25
760
788
31
827
720
45
904
499
750
141
866
31
985
941
936
819
855
15
62
866
495
410
250
956
205
522
28
64
548
862
401
628
743
132
15
559
284
172
479
18
142
780
629
75
476
315
90
319
501
322
644
382
74
78
766
112
579
119
189
843
897
289
507
789
614
817
635
102
125
221
415
541
962
615
776
37
488
111
627
616
111
576
125
337
276
962
1000
866
805
778
421
317
598
59
257
792
326
359
654
828
497
867
559
610
189
757
222
393
851
248
690
33
766
691
29
908
177
161
339
804
627
693
612
541
747
283
161
176
593
229
632
683
655
209
591
859
792
721
309
70
737
182
609
154
223
16
634
425
478
506
916
269
605
103
438
258
305
75
231
57
532
132
651
661
914
700
660
653
191
23
335
233
520
157
346
771
183
242
318
480
183
121
863
621
195
511
520
319
588
430
51
704
559
535
289
539
947
338
257
975
962
21
348
335
891
698
186
88
815
558
165
281
523
233
815
747
81
148
839
352
5
342
92
368
538
446
843
857
340
94
351
562
793
998
178
406
223
359
679
169
526
48
802
258
136
230
669
832
761
691
395
676
47
175
282
350
173
442
801
150
389
600
765
294
700
514
722
601
186
723
834
636
978
351
509
921
492
970
582
364
378
225
118
477
528
291
822
333
654
947
567
430
158
83
808
834
475
988
482
991
610
646
559
624
363
559
561
967
572
346
233
399
804
464
30
224
72
915
251
952
554
761
437
917
775
549
152
511
401
542
354
608
599
753
357
978
921
373
828
634
791
89
322
75
973
213
656
337
854
262
768
625
973
837
818
20
986
220
966
463
209
92
657
740
897
191
265
704
712
506
624
310
176
828
330
373
461
84
683
107
590
905
796
621
935
312
706
568
958
215
292
17
282
690
426
473
499
618
46
668
635
337
806
387
796
406
520
133
326
464
877
864
773
402
802
391
32
780
406
294
329
485
679
338
118
112
945
487
519
458
634
548
699
811
121
369
434
433
194
310
182
731
238
396
165
164
361
141
320
828
509
563
511
1
59
304
35
700
532
98
304
390
827
35
544
598
809
229
517
97
197
494
540
714
411
622
536
580
475
658
465
807
112
356
239
187
877
655
130
455
579
552
793
104
225
280
210
490
445
14
293
226
671
669
386
418
353
504
652
385
143
381
139
866
294
501
377
601
474
372
487
374
833
572
138
289
427
595
161
60
43
703
254
595
63
225
16
982
240
221
515
287
175
735
664
226
842
153
969
874
716
321
634
43
938
147
565
887
470
406
552
561
402
310
816
487
377
223
118
899
627
586
854
835
257
697
906
711
217
527
535
893
871
136
254
477
215
582
488
587
524
451
750
80
706
246
246
502
678
907
106
480
862
715
859
545
278
627
427
525
786
880
630
237
743
360
138
214
704
785
875
572
833
230
105
947
371
920
838
617
851
465
704
571
747
948
178
268
886
340
873
281
291
738
644
858
47
831
399
650
445
817
859
519
906
705
973
378
145
599
338
494
603
44
776
520
446
14
149
814
313
434
624
279
574
384
851
18
44
321
924
635
17
682
607
839
964
253
981
387
458
514
623
42
718
11
411
388
649
453
293
826
439
862
688
34
550
586
711
475
418
420
87
310
325
374
430
184
627
861
554
937
17
214
628
225
561
468
256
419
983
286
54
897
111
761
846
56
430
577
426
915
407
680
704
202
634
168
150
186
859
581
681
341
657
175
519
123
837
11
98
756
672
930
784
947
709
523
49
876
199
289
738
637
181
998
242
561
854
166
712
457
161
230
935
917
440
655
127
238
591
747
699
405
450
368
988
844
964
124
62
325
332
835
981
489
473
254
277
952
80
90
51
837
11
335
747
892
1000
803
616
58
465
553
876
451
718
572
808
273
26
697
363
64
774
236
384
50
462
200
202
96
376
325
202
889
560
340
925
555
148
11
417
865
203
589
838
524
961
167
767
863
781
356
282
360
163
409
622
69
897
598
185
962
811
218
671
648
571
51
423
659
716
525
400
792
407
65
763
517
404
353
753
554
418
276
402
116
299
391
618
143
481
606
376
107
744
613
42
617
613
340
365
76
656
298
305
138
538
249
639
546
925
71
264
223
246
12
202
149
873
828
596
659
499
417
369
264
364
654
845
14
502
92
309
698
389
98
413
922
176
731
340
175
218
425
892
554
762
79
956
715
437
701
379
972
701
148
902
189
471
822
670
270
996
407
778
594
406
865
478
695
520
936
962
871
201
350
65
161
969
776
872
295
631
309
945
845
426
973
825
744
518
235
533
775
735
51
18
410
112
316
902
600
147
887
407
730
680
531
38
959
942
258
494
615
652
502
227
129
987
517
300
246
890
187
485
875
434
152
29
23
928
803
162
682
15
218
213
436
257
570
128
788
648
868
344
929
983
160
164
701
301
488
263
52
447
944
481
121
325
157
829
447
642
417
486
446
716
434
640
478
495
407
206
283
9
704
817
547
362
925
4
646
765
567
130
400
306
787
494
763
853
25
979
982
999
349
779
667
986
429
2
619
324
990
435
997
224
450
330
611
8
186
855
694
389
549
758
506
879
309
875
500
611
683
350
619
560
491
802
448
454
242
249
608
708
190
261
773
332
450
714
127
96
304
488
903
174
724
649
895
157
954
974
475
540
723
144
698
794
295
598
536
651
75
800
148
551
975
651
366
34
32
861
240
475
99
386
593
744
521
411
1
249
816
997
522
367
353
167
802
427
880
167
872
263
555
629
113
863
824
581
316
757
83
620
763
650
579
48
531
223
390
466
1
166
678
126
667
297
596
346
917
43
389
396
409
637
243
594
8
165
399
780
67
971
877
942
956
998
921
543
369
369
946
4
913
858
312
881
869
960
744
505
837
934
592
233
165
535
400
23
693
158
466
712
345
761
147
273
556
246
705
305
323
950
351
197
927
500
15
734
20
597
53
377
809
192
747
114
540
138
1
544
342
625
55
821
772
638
411
205
51
193
391
192
110
375
954
654
6
29
412
972
195
509
697
883
446
66
702
642
866
303
992
171
664
601
892
19
746
612
548
366
213
684
55
782
136
575
180
126
720
927
491
816
144
742
967
647
871
554
256
511
226
68
809
637
364
777
56
424
557
505
623
570
872
833
370
930
922
132
666
471
339
262
905
779
41
37
721
769
131
256
761
685
507
404
138
974
862
167
905
350
763
522
963
209
949
499
832
565
799
659
648
856
176
968
509
285
483
17
84
846
838
468
981
822
713
223
926
348
259
14
244
546
811
66
478
899
729
7
250
745
834
429
603
217
172
389
160
532
733
631
399
239
83
537
199
955
522
630
647
143
550
954
740
687
906
806
244
379
394
121
470
957
21
257
128
967
743
58
756
604
222
847
426
597
584
453
571
414
100
432
812
292
94
428
596
110
140
994
320
653
798
272
360
669
709
629
89
956
868
736
534
839
292
595
795
629
90
703
736
5
155
888
735
861
325
339
468
804
856
34
828
384
499
27
41
135
293
79
1000
674
430
698
610
441
196
956
701
117
34
367
667
439
249
716
539
882
722
969
632
654
276
297
276
545
33
815
369
439
146
823
663
716
808
271
775
344
342
609
859
196
438
466
784
5
361
351
428
436
22
134
406
924
370
192
137
311
446
899
664
806
800
640
58
482
714
616
541
327
792
520
704
866
66
563
306
497
689
443
193
984
688
600
818
998
980
477
668
203
68
603
695
146
387
993
478
141
288
767
432
378
11
885
837
770
824
608
856
395
717
620
976
956
624
742
523
372
191
835
991
487
546
781
908
863
320
421
917
839
440
918
527
310
859
323
730
209
418
41
326
287
522
486
283
576
138
455
974
891
951
683
414
818
122
545
911
900
227
160
711
152
434
956
257
621
842
319
673
415
256
138
971
547
329
878
248
950
164
316
842
236
949
244
9
135
155
234
201
44
137
27
421
800
735
250
449
613
610
915
975
70
598
611
776
264
329
375
146
400
721
994
681
670
731
867
436
808
909
643
150
478
915
546
972
599
99
684
616
754
699
653
415
80
963
453
59
416
731
46
151
41
634
911
851
20
74
585
18
30
574
492
234
582
944
335
43
675
910
948
507
292
534
769
942
590
783
43
323
297
78
459
354
622
498
157
685
920
609
944
67
468
545
152
514
985
63
727
703
917
777
69
893
119
670
630
625
258
302
488
370
196
801
937
25
603
893
644
908
300
694
61
458
154
955
619
368
867
749
658
299
690
367
200
619
887
296
433
853
778
733
227
651
322
30
60
121
488
849
524
306
125
533
946
457
631
448
736
475
510
553
792
593
788
505
656
893
371
976
145
784
644
659
876
878
981
658
419
55
414
566
847
645
383
550
69
791
352
212
667
43
101
783
900
149
643
506
198
832
84
649
693
48
176
690
329
876
3
644
625
706
978
375
471
841
326
11
177
979
322
252
621
289
782
441
496
975
788
772
573
255
138
875
410
695
788
362
104
690
419
577
562
679
320
959
225
377
960
896
360
902
992
922
827
177
953
404
709
405
559
629
297
726
366
335
723
396
508
292
945
945
385
483
890
823
462
811
322
974
780
19
371
634
412
705
756
394
824
864
419
241
54
421
691
852
676
572
102
894
751
582
668
449
365
888
803
989
884
959
15
508
765
406
191
511
617
236
592
582
215
6
634
137
345
849
169
821
674
995
244
702
338
472
260
49
550
122
30
45
360
926
511
179
612
909
848
461
280
584
964
822
611
948
122
241
931
562
774
202
523
121
524
53
765
242
229
741
542
885
95
139
44
945
135
933
229
83
484
575
602
780
909
363
461
923
286
80
449
996
962
983
61
74
681
106
727
369
202
23
275
53
818
211
796
431
735
128
474
310
670
938
463
595
103
603
729
712
301
696
633
470
640
870
160
333
762
388
886
924
772
503
195
736
70
756
772
690
347
453
139
165
979
697
813
566
333
325
699
334
487
39
517
521
453
829
346
728
316
500
892
232
600
756
686
591
781
833
252
888
108
97
199
42
797
392
318
280
220
172
24
975
946
599
898
498
317
879
662
685
835
64
653
771
759
429
747
380
190
337
727
268
412
171
291
26
394
529
259
897
192
383
31
175
433
296
43
403
208
137
777
727
448
925
856
327
338
598
917
781
355
501
228
613
325
372
461
15
243
404
674
929
708
773
267
263
496
621
646
980
196
111
358
220
860
601
738
397
286
373
456
444
905
665
913
964
243
906
149
90
581
182
754
270
733
965
308
39
845
17
34
58
733
247
678
367
548
982
108
843
515
760
766
305
44
288
897
585
808
655
428
140
233
217
489
475
460
870
804
713
994
522
631
139
189
718
486
459
202
282
613
794
242
760
72
142
809
209
335
177
63
595
498
731
678
631
566
287
285
420
785
86
129
655
659
242
637
472
114
371
415
238
261
799
597
730
347
387
573
161
759
347
870
470
418
233
361
139
508
414
29
548
213
984
246
553
103
991
888
524
849
306
630
559
194
234
461
989
491
183
798
533
655
324
564
703
104
184
269
120
79
559
413
422
780
946
528
361
910
958
782
501
541
797
330
629
705
950
575
671
752
698
45
382
301
921
870
572
558
921
742
950
919
698
780
923
964
157
975
866
458
253
718
435
471
951
480
457
508
180
882
838
412
679
224
698
847
753
60
625
368
447
541
569
447
610
73
379
327
630
284
388
255
364
443
808
465
947
218
872
263
691
125
831
704
266
101
916
650
705
366
349
439
552
170
312
6
652
51
546
71
645
979
915
901
248
92
843
256
781
801
982
342
188
701
878
996
49
52
677
857
643
642
93
984
190
437
981
252
789
772
838
835
431
790
495
296
675
464
55
99
267
797
865
851
967
755
949
213
378
70
840
234
385
274
232
769
95
276
171
809
874
306
810
750
100
285
867
96
814
571
34
638
282
523
528
901
817
532
867
518
926
16
750
254
912
339
587
593
660
814
847
157
171
719
890
741
834
747
356
424
76
412
501
17
260
741
98
130
177
973
660
235
491
130
745
429
840
22
97
35
51
685
165
780
142
291
358
77
317
307
6
826
206
19
591
245
947
601
281
468
533
562
168
27
64
778
921
892
127
271
734
440
588
600
552
564
465
988
579
172
421
321
968
479
622
736
407
812
389
831
56
165
80
431
901
324
132
463
145
228
47
711
676
157
358
165
28
437
323
191
485
640
140
1
139
648
6
758
805
551
185
181
628
56
616
704
147
998
243
78
317
560
403
805
721
30
95
948
784
271
921
667
306
594
777
298
51
399
146
919
443
752
982
115
627
81
702
94
322
292
811
410
882
884
990
265
961
140
297
794
2
22
276
790
549
200
372
25
6
551
27
725
75
529
222
752
561
63
64
756
585
994
178
896
596
645
316
712
696
788
599
395
937
128
235
18
235
474
396
243
462
885
168
642
94
434
140
61
510
718
243
384
686
865
922
629
534
578
563
591
609
738
397
107
237
155
761
618
375
342
677
889
678
607
220
629
322
316
11
302
83
934
504
558
79
316
420
608
355
783
806
325
178
708
719
16
520
692
456
636
703
934
589
654
595
50
798
930
64
444
644
717
615
287
983
345
276
335
653
250
817
66
477
735
351
104
345
258
200
495
343
119
659
138
487
115
974
635
580
106
389
862
136
476
617
813
94
146
453
664
268
139
534
516
83
693
460
15
183
582
560
884
892
597
620
405
388
116
789
79
643
319
686
10
861
864
478
29
184
795
307
224
888
32
996
341
169
38
395
449
888
173
80
390
300
798
379
797
910
395
858
852
54
875
449
587
722
730
411
200
432
910
162
792
671
119
825
951
536
736
19
821
735
715
10
647
17
625
881
289
453
464
737
884
713
3
327
662
647
173
658
867
5
486
325
931
118
520
292
288
704
291
837
697
741
710
197
540
528
380
199
323
636
742
851
528
444
896
412
41
336
490
940
608
460
749
696
162
136
45
75
413
634
406
918
778
39
44
158
599
376
238
770
609
979
933
889
762
331
996
791
883
258
363
153
66
399
254
619
395
345
197
280
338
686
894
62
143
495
808
407
646
447
968
874
174
842
653
434
649
316
526
332
558
897
307
321
218
371
229
992
604
637
429
695
106
839
838
217
736
587
362
28
690
492
911
365
670
603
315
859
47
34
285
733
769
253
355
796
890
26
181
623
751
987
647
306
127
158
7
152
107
520
653
505
72
909
199
656
916
98
257
457
565
905
674
811
911
582
11
710
536
517
737
835
967
514
964
63
762
507
510
374
400
604
783
790
861
772
231
946
712
305
120
833
772
479
990
54
686
400
430
671
252
155
749
325
980
786
706
886
151
516
713
295
593
873
826
636
499
104
396
705
879
276
479
541
654
22
957
407
970
729
871
716
50
312
638
267
784
386
669
934
303
796
397
656
987
957
896
165
697
413
50
401
569
324
726
972
321
357
515
319
923
587
382
511
377
573
996
672
573
715
620
114
423
408
171
189
943
205
465
698
581
464
732
489
812
454
193
490
970
958
857
38
357
747
749
801
886
141
433
991
917
56
55
845
497
574
130
542
877
57
925
830
86
310
646
633
322
52
539
821
88
288
711
154
350
722
681
110
455
489
674
976
184
882
202
70
127
646
769
445
493
666
416
751
603
570
378
194
544
820
377
692
909
393
879
392
106
22
258
691
461
265
912
781
223
415
276
519
610
321
146
130
276
769
881
827
873
959
875
962
959
953
150
716
128
739
24
658
74
643
621
726
298
444
402
322
285
437
987
223
277
107
288
1000
231
811
393
420
134
61
665
131
635
584
270
530
855
303
703
330
311
820
915
779
146
729
313
883
204
348
288
275
68
39
855
547
869
315
719
968
516
366
331
537
29
459
488
186
822
919
658
807
96
22
481
490
996
211
826
972
822
478
388
843
373
645
50
520
452
507
136
305
686
538
237
138
36
879
531
783
844
863
347
295
793
198
300
533
916
264
479
427
667
644
1
431
108
159
784
347
477
183
499
241
745
952
499
741
297
881
978
362
525
695
730
859
966
274
683
809
574
707
772
772
876
961
854
398
54
991
80
802
416
839
560
383
370
469
210
989
742
672
392
37
217
353
313
713
747
904
214
902
7
199
10
828
377
899
440
712
437
441
742
926
710
33
535
215
215
461
914
592
402
315
697
386
228
490
424
764
442
462
943
775
646
897
405
561
313
598
25
970
760
665
259
190
2
17
919
418
552
97
326
803
452
665
814
88
277
68
755
407
403
291
829
722
578
361
423
197
718
423
900
656
888
889
973
923
629
601
556
449
166
863
313
157
517
548
532
811
209
197
147
568
140
202
430
569
74
702
383
572
446
774
889
656
381
878
483
972
364
281
957
364
506
347
109
445
222
204
646
349
945
224
626
997
682
216
850
121
358
988
306
743
344
146
100
19
77
650
312
627
399
607
863
896
76
263
797
952
995
963
333
12
695
78
689
816
197
569
925
868
625
899
14
841
684
442
936
973
922
442
816
789
590
808
68
776
78
732
24
934
121
187
781
260
415
858
840
308
852
951
670
929
312
629
477
181
837
527
342
184
57
925
344
386
944
661
482
311
316
806
983
351
38
447
71
592
513
675
376
965
926
8
970
255
621
37
414
616
198
39
317
270
149
671
650
45
357
618
450
210
334
255
631
851
892
966
307
686
812
743
424
778
181
87
523
80
289
54
139
142
365
454
665
564
976
870
554
9
606
171
320
656
813
584
164
995
341
296
995
785
751
716
226
785
468
234
32
619
604
335
660
758
567
386
1
127
255
294
856
309
585
480
260
634
220
322
741
745
603
258
671
333
849
287
677
862
598
441
647
20
683
161
32
570
338
157
4
11
732
510
492
177
799
244
325
505
699
542
459
191
759
123
786
866
409
19
109
768
452
143
656
564
985
593
950
150
444
597
926
769
510
354
948
721
98
820
774
833
219
644
574
536
305
47
831
147
480
444
328
439
348
963
432
114
88
877
598
139
61
111
342
220
633
638
922
843
669
599
640
455
969
382
976
325
954
760
717
555
61
398
899
533
652
713
619
816
705
96
754
105
202
984
161
463
919
121
231
403
274
625
542
813
5
144
913
926
689
494
411
723
561
617
685
220
646
639
581
50
956
72
130
651
394
943
872
137
46
724
980
645
743
468
758
526
142
475
964
264
60
171
806
423
506
574
631
231
639
917
90
630
888
521
976
769
601
964
59
934
879
995
963
860
708
348
541
213
103
863
264
801
742
838
860
710
500
569
801
150
334
402
269
250
247
456
929
447
406
336
148
365
60
823
333
309
595
504
682
572
911
761
973
766
332
352
971
302
428
74
661
955
442
625
785
192
499
842
108
527
435
966
416
766
835
410
508
389
863
819
335
704
539
868
6
640
403
310
608
221
919
322
621
819
542
36
292
270
95
495
465
810
33
940
244
568
140
478
334
53
493
690
76
686
801
658
4
884
805
240
191
684
51
144
817
144
201
509
121
31
1000
240
384
413
193
335
624
805
935
744
495
483
729
149
229
399
502
156
555
921
218
31
221
234
309
69
146
864
335
80
228
210
456
311
528
376
732
273
909
881
783
629
175
999
62
239
427
604
829
968
672
370
951
620
659
135
794
652
558
986
824
953
377
422
7
5
939
514
716
239
827
575
688
225
970
241
477
633
429
262
1000
561
514
525
998
925
557
3
681
78
584
381
377
739
593
120
767
587
387
533
140
632
725
313
173
516
47
574
935
507
195
114
155
786
359
87
336
30
938
697
928
994
131
832
646
958
845
790
944
443
966
376
851
578
83
674
618
836
558
770
118
662
194
506
510
662
831
145
477
620
925
458
231
601
509
325
587
785
996
405
605
481
945
835
727
993
261
156
840
590
297
918
414
895
976
463
742
400
370
410
272
666
120
295
235
999
725
594
79
46
990
122
701
786
868
408
106
887
513
187
924
219
615
597
158
624
991
11
643
685
958
691
962
358
237
621
990
775
14
917
788
467
297
234
337
523
897
403
457
926
231
388
313
415
579
292
123
756
653
758
9
203
90
634
478
291
978
143
660
842
629
157
276
170
604
369
291
92
419
295
311
242
461
88
132
587
385
67
254
814
659
717
793
416
3
696
996
900
168
1
481
532
874
57
372
418
760
942
784
528
885
333
437
493
649
83
780
576
17
480
665
303
555
379
491
595
141
381
735
141
127
151
969
940
389
784
782
616
964
853
504
158
917
397
269
170
652
651
754
624
158
756
871
338
556
42
797
98
889
722
11
431
310
8
377
507
692
722
952
556
213
439
871
499
652
102
581
159
987
813
741
586
354
201
280
512
611
382
492
895
536
8
539
829
177
331
406
867
960
519
189
914
988
674
563
419
342
159
416
550
343
850
943
397
423
876
935
21
722
281
593
348
509
768
984
469
330
359
158
937
67
376
18
997
202
617
285
534
204
976
261
697
329
59
667
789
116
511
499
33
509
903
744
240
838
6
762
251
889
203
348
256
868
597
800
740
389
115
786
863
513
518
476
525
483
772
150
256
29
678
496
312
31
15
869
53
885
675
94
768
124
479
763
576
739
377
594
955
148
753
134
732
960
413
967
93
528
613
652
271
763
209
800
90
851
567
60
497
314
416
306
497
334
201
964
706
361
850
275
825
834
52
234
927
241
306
117
403
871
17
780
748
336
863
376
190
352
516
728
284
319
533
379
227
976
913
250
597
755
381
894
653
502
920
599
100
912
470
959
456
363
987
76
763
845
247
267
394
308
897
994
165
92
228
757
751
46
80
865
688
570
111
295
859
99
354
371
414
487
659
606
567
305
109
848
515
375
984
834
71
699
155
337
199
553
83
392
794
711
727
454
496
617
750
979
226
905
388
593
458
782
214
926
919
697
817
254
547
162
132
244
44
778
714
493
286
319
790
47
202
183
322
769
453
660
621
217
399
226
295
724
390
520
421
468
378
748
901
635
207
3
855
213
715
391
806
590
947
927
132
854
374
855
919
635
3
446
957
414
631
338
34
416
348
174
119
642
549
628
273
97
366
917
336
991
436
542
547
557
347
313
215
105
948
677
542
149
936
993
438
725
777
678
956
531
96
71
553
142
85
475
978
345
384
58
955
604
130
210
256
758
579
530
950
315
735
788
823
145
984
130
994
920
547
285
747
413
936
735
483
624
252
649
460
766
324
873
700
343
167
419
38
895
188
724
784
516
903
394
894
895
661
277
840
494
1000
495
634
407
852
490
538
634
729
237
69
761
423
518
839
499
481
553
605
149
951
359
683
809
414
902
516
75
352
488
776
35
290
883
833
629
921
307
825
783
679
806
829
330
799
512
839
361
945
924
351
578
908
688
358
173
703
292
477
967
654
728
730
839
664
454
249
989
963
902
785
176
49
411
448
902
426
655
536
446
993
590
678
762
633
477
755
508
621
756
222
918
968
421
550
770
710
85
425
462
443
86
298
86
135
848
581
421
344
185
552
995
492
422
573
698
771
982
778
942
611
571
745
52
341
223
48
378
854
219
746
605
627
364
40
882
388
160
344
676
126
192
964
708
861
422
430
946
811
167
276
380
150
234
722
222
552
70
297
261
105
809
885
328
983
780
90
208
479
390
73
889
596
276
224
735
450
288
127
24
115
183
273
309
426
837
906
222
458
456
171
681
54
504
505
918
839
20
787
405
602
589
343
542
792
460
330
917
154
235
350
54
197
88
449
845
281
701
757
245
584
974
143
429
121
99
211
307
278
759
834
191
37
66
225
463
182
351
238
270
290
59
171
658
252
823
871
41
388
252
334
588
960
98
324
935
51
224
747
592
299
259
658
589
962
899
801
160
133
552
540
731
719
457
870
101
934
433
976
432
689
156
435
615
216
223
763
636
663
283
448
806
218
218
13
100
506
684
927
401
624
320
375
142
216
592
11
690
381
543
799
841
81
694
976
958
921
949
984
590
844
652
939
941
319
869
839
132
64
545
243
51
211
482
603
492
93
914
768
416
501
82
460
432
348
393
639
982
174
616
786
339
799
121
86
214
761
328
366
677
856
386
442
152
246
591
222
405
72
222
501
855
491
255
891
7
346
910
752
490
446
95
284
25
547
581
198
590
726
194
473
236
735
394
774
254
341
340
38
879
406
987
578
306
622
765
820
560
439
155
431
680
667
818
204
750
667
971
474
555
830
397
293
999
245
800
816
6
82
224
582
278
249
915
455
192
266
291
998
82
182
676
967
354
573
67
425
197
297
470
705
130
771
294
71
268
935
876
482
979
999
448
281
567
284
767
994
704
171
209
687
607
256
288
461
376
290
513
777
488
380
938
222
149
230
22
266
136
915
199
284
757
778
91
875
805
589
427
48
696
994
565
387
517
653
952
716
382
182
996
78
302
161
610
101
774
33
94
913
412
668
147
848
264
730
515
90
882
763
214
277
831
76
301
819
95
111
903
370
732
935
565
437
238
934
35
608
266
545
248
228
802
107
659
673
354
504
29
550
509
295
457
228
976
472
727
155
323
796
34
288
728
901
766
791
428
39
274
903
11
329
546
460
329
887
238
148
636
53
797
952
457
187
308
659
849
229
244
502
937
241
525
197
60
691
172
700
406
112
336
985
782
47
723
5
17
963
209
812
561
853
1
483
47
831
809
116
912
913
319
631
729
525
719
574
524
12
175
394
214
576
877
901
266
616
784
756
811
400
218
864
758
365
250
489
889
122
212
754
519
390
708
959
94
715
257
787
974
758
19
65
776
393
135
187
833
606
855
712
760
432
993
934
611
754
246
393
869
836
542
418
310
851
931
781
838
541
453
476
535
354
88
410
504
61
130
573
555
900
278
834
438
773
345
86
96
853
688
865
394
253
421
961
857
93
993
753
225
339
928
197
54
345
440
426
167
857
99
933
478
592
966
154
626
177
425
88
862
376
439
241
874
25
130
826
560
46
359
619
282
232
490
307
816
236
596
455
3
340
196
484
141
142
994
127
235
244
226
920
566
393
936
191
466
301
926
868
790
553
180
198
350
564
258
101
495
583
572
476
86
91
427
238
348
781
454
240
483
484
343
541
454
33
848
639
63
97
615
429
289
396
760
609
882
586
50
201
368
335
169
650
937
717
849
699
188
163
547
869
325
621
972
895
196
462
992
931
531
921
364
664
811
574
289
760
501
391
6
195
768
426
508
113
390
94
6
815
306
266
940
382
126
161
169
183
967
90
488
255
200
641
769
116
21
835
809
73
298
94
474
521
795
612
815
21
705
865
627
181
422
550
358
502
591
194
352
367
781
42
178
310
602
611
176
541
638
451
439
468
384
275
133
608
273
563
458
845
934
186
565
484
104
356
435
906
937
454
61
939
74
872
278
223
463
41
243
983
831
248
852
596
692
655
379
262
958
208
234
912
536
727
991
206
784
564
812
87
326
636
954
928
537
527
298
719
939
619
764
101
867
881
995
317
29
36
952
303
997
319
903
201
237
913
835
575
34
490
487
456
536
945
71
169
199
567
197
543
106
385
730
741
2
369
67
435
379
485
817
457
635
357
977
387
149
427
478
763
84
46
412
703
893
915
335
810
759
627
797
123
701
849
650
764
632
865
736
676
451
763
291
486
172
562
752
133
130
953
700
337
593
138
343
401
443
463
305
79
173
135
442
493
111
369
116
120
682
693
619
922
486
20
428
585
174
292
600
636
403
174
862
962
665
322
937
861
382
198
184
294
479
278
911
463
608
767
624
172
257
618
1
693
304
719
644
13
927
614
498
421
416
21
359
346
130
708
102
241
731
986
72
125
890
214
580
33
844
204
639
275
537
381
813
873
609
827
600
980
149
146
820
385
959
167
304
443
52
110
596
903
262
755
472
111
119
543
831
68
589
304
910
597
917
472
851
701
537
248
329
792
946
150
371
86
526
778
478
905
508
454
874
15
680
554
46
419
966
22
712
211
716
522
44
196
411
163
254
992
464
507
621
231
20
866
674
296
933
506
515
778
608
427
188
413
43
867
615
856
148
526
851
56
446
770
316
345
289
784
224
627
52
683
645
196
128
110
502
788
176
737
349
457
761
381
934
703
441
168
420
135
389
269
618
567
834
284
742
109
981
251
3
279
552
599
837
591
787
112
671
382
552
90
906
880
198
491
253
622
926
734
623
386
742
269
533
744
507
752
392
165
213
843
92
396
358
250
26
462
236
604
71
239
20
165
45
986
745
152
879
637
684
701
63
918
181
61
926
545
659
682
962
885
413
236
729
434
807
492
813
385
643
167
954
404
815
534
750
407
837
636
235
812
464
378
261
233
432
667
854
52
282
26
586
654
346
774
613
336
230
975
201
104
560
816
469
603
312
995
575
426
797
994
784
905
257
801
675
287
53
806
257
894
663
50
910
449
17
3
872
266
256
327
479
416
636
844
450
283
141
65
334
172
350
209
630
728
217
551
205
5
771
367
372
911
119
459
402
662
816
446
294
588
362
591
346
313
570
912
450
909
554
729
43
70
394
601
361
756
844
802
945
42
60
119
389
77
987
767
925
179
908
633
793
98
676
905
296
367
322
389
29
506
34
436
115
544
26
481
150
978
407
641
195
797
981
679
372
667
863
920
551
701
884
378
141
508
27
442
244
369
571
946
290
453
162
345
802
967
806
49
108
8
621
623
706
673
257
730
409
677
92
166
633
321
654
308
935
173
249
592
408
214
421
391
664
529
731
825
882
860
280
553
876
441
575
580
195
594
613
482
32
490
507
181
117
348
595
644
821
77
730
394
438
42
363
767
945
204
113
202
610
340
752
690
476
456
910
682
91
763
356
391
872
801
419
437
110
387
942
222
974
60
217
226
797
625
477
685
580
186
866
750
905
826
301
261
412
676
240
747
547
678
207
125
572
778
854
827
701
655
437
781
813
305
865
735
390
2
894
923
201
212
608
948
791
983
57
71
15
274
835
798
691
393
384
779
953
489
45
536
27
567
225
483
981
62
540
24
443
372
507
261
415
94
121
968
94
928
715
84
44
326
548
875
130
34
939
341
415
564
170
162
588
552
996
695
567
637
372
86
636
225
920
572
836
13
725
427
383
673
311
828
536
424
984
95
709
555
335
407
608
119
340
90
817
134
385
19
577
620
554
488
477
735
664
166
375
62
884
383
159
833
237
48
898
524
937
960
511
757
286
148
339
923
840
112
896
254
613
565
660
363
394
305
940
396
654
380
775
39
77
583
302
572
519
604
265
61
57
916
118
549
832
525
730
815
619
303
825
848
386
487
83
719
621
308
338
908
892
417
393
492
905
955
761
802
330
633
92
299
787
164
107
459
679
756
636
376
27
136
737
669
39
753
952
17
932
394
456
319
431
437
243
16
465
365
495
636
765
946
3
941
529
719
816
399
777
30
301
848
805
863
468
364
932
180
686
298
794
274
931
406
579
900
278
791
953
603
668
88
860
682
893
985
79
722
338
673
157
475
270
300
325
129
371
801
95
707
742
791
499
405
879
321
360
156
927
380
538
639
93
22
862
215
275
827
301
994
783
249
12
372
552
50
79
848
387
640
122
929
588
652
464
177
780
470
217
282
880
772
470
113
918
350
751
302
878
623
51
851
782
261
28
620
29
331
417
327
360
161
322
869
925
937
783
347
603
659
977
181
127
676
448
88
575
490
10
493
494
891
360
161
239
780
972
457
118
213
539
633
606
339
106
12
165
841
25
720
189
475
54
914
240
64
231
44
967
55
644
776
83
371
854
653
337
819
521
418
682
771
732
219
730
168
642
579
148
174
294
90
878
927
909
297
914
967
506
123
916
814
454
488
113
128
436
479
795
606
345
557
193
501
858
794
691
239
742
60
122
95
523
419
392
335
756
738
749
517
998
632
851
885
553
464
166
910
208
21
370
85
444
911
140
994
97
447
122
560
13
986
964
93
30
275
963
462
524
330
289
242
837
785
751
187
139
441
781
755
652
952
615
688
725
215
691
852
935
17
899
637
252
964
653
219
318
514
715
909
59
192
304
609
173
702
339
142
517
712
557
846
56
547
880
343
841
869
606
856
401
716
952
795
87
949
994
567
126
217
289
748
588
59
333
818
39
655
523
624
366
30
501
620
189
239
569
737
269
151
396
386
558
1
340
756
879
779
592
3
734
873
729
410
425
121
464
849
462
567
90
158
262
760
622
122
228
431
647
830
647
689
734
93
243
698
563
462
861
946
75
153
512
812
608
824
926
118
371
751
836
757
647
373
447
281
785
611
935
553
391
619
354
168
121
813
55
369
132
153
541
632
571
625
722
896
409
806
701
678
604
189
525
939
812
698
853
643
809
419
86
378
396
145
345
305
788
737
594
940
386
687
340
980
425
501
571
445
153
693
70
906
122
238
738
468
661
317
367
468
813
57
144
574
833
764
232
58
865
834
952
569
558
121
491
628
179
58
513
427
285
232
773
230
78
425
634
835
415
366
354
103
815
568
190
517
948
652
620
96
791
515
450
770
93
534
186
484
792
759
796
893
794
721
925
489
858
25
694
420
385
384
430
25
584
138
94
350
823
572
687
510
971
555
630
784
218
100
970
757
116
476
271
656
604
393
225
271
365
605
329
482
165
14
480
492
735
949
949
295
376
886
20
786
690
259
491
202
754
418
383
230
615
979
441
234
193
53
417
509
559
816
750
411
75
952
927
449
79
290
741
208
621
816
694
14
276
885
980
837
190
81
864
797
347
662
758
25
483
969
992
319
236
438
76
222
849
146
256
679
220
906
279
392
166
960
608
358
506
310
732
844
995
506
886
233
178
527
182
752
962
9
152
91
72
673
704
305
582
252
782
207
409
611
374
656
975
52
68
769
273
950
60
96
187
10
360
225
263
413
979
138
68
26
16
830
903
693
920
421
921
326
673
954
635
144
260
623
368
975
619
954
492
926
188
802
151
129
278
655
766
481
774
845
818
498
76
748
264
429
764
946
507
780
216
641
979
270
275
292
278
24
129
588
265
491
750
383
706
199
605
120
834
944
849
661
686
417
906
100
176
616
145
373
666
580
344
940
212
143
788
845
756
420
119
784
290
688
522
589
424
180
431
718
823
47
702
929
738
423
124
284
179
89
203
57
355
698
399
878
641
908
373
709
723
69
351
806
523
278
413
877
193
729
359
70
767
299
841
235
5
193
593
173
622
326
927
210
351
809
159
492
211
560
237
865
981
581
657
34
87
905
705
29
41
529
157
604
107
957
843
344
118
81
884
709
197
240
15
150
696
244
106
732
850
48
899
404
460
526
24
183
438
513
543
25
195
858
651
78
660
753
648
379
188
4
982
745
722
226
992
801
385
189
945
611
71
635
113
342
731
950
925
767
771
20
671
164
406
422
869
363
847
881
118
262
930
578
246
135
185
454
572
434
316
137
376
613
819
501
46
678
752
138
904
815
683
234
428
441
514
424
439
469
161
222
835
395
51
510
615
73
22
410
272
668
473
583
116
343
570
601
708
700
883
626
411
835
86
21
977
161
262
893
232
822
897
831
152
594
873
230
65
688
659
696
279
715
377
981
166
431
680
771
622
549
132
463
877
35
365
725
804
820
369
256
261
795
121
666
497
277
218
785
321
881
294
68
562
882
773
940
335
688
980
86
759
27
664
726
58
781
791
839
451
218
842
167
822
486
896
567
925
894
535
971
812
416
936
733
235
310
574
675
9
505
633
463
708
655
556
278
608
323
182
921
511
838
547
577
896
744
754
495
917
615
279
724
878
264
689
892
173
978
53
709
169
510
223
521
104
985
802
787
920
749
814
763
859
467
26
66
786
449
422
4
435
265
544
757
232
190
292
534
880
946
285
818
668
467
109
686
310
159
566
983
202
211
582
812
149
64
563
411
18
42
792
979
220
504
942
448
663
596
898
481
594
855
844
239
743
436
26
548
337
717
688
176
815
385
410
839
551
886
501
416
489
300
147
615
348
267
731
976
1
612
119
681
660
672
736
114
794
170
925
465
24
659
439
13
856
189
914
854
738
860
813
988
854
364
637
651
29
446
195
711
316
436
303
752
141
687
601
191
397
770
80
422
465
753
526
494
987
749
314
280
126
202
914
456
179
24
997
846
659
824
278
851
383
924
79
774
681
762
150
777
582
591
435
139
685
92
347
237
521
613
591
370
366
292
733
154
835
237
525
715
123
261
458
308
387
434
136
339
621
825
857
937
345
392
197
423
565
911
495
985
756
219
901
874
80
796
28
240
640
914
305
510
345
127
881
849
883
912
262
837
362
622
906
943
427
742
692
777
22
639
513
372
554
608
239
960
853
36
954
774
259
945
677
450
92
989
740
479
1000
237
633
6
981
707
379
975
327
670
460
256
437
212
901
936
178
394
342
384
470
613
880
44
847
476
966
203
22
543
904
83
906
811
343
723
94
696
698
70
579
572
604
574
324
634
367
382
373
977
859
905
406
280
458
139
945
440
454
619
992
800
798
313
507
398
195
50
970
761
322
326
269
362
387
461
265
781
336
92
701
7
756
960
565
64
937
774
625
333
600
708
604
520
534
724
413
215
736
525
896
375
685
348
804
876
85
267
83
467
702
890
120
105
981
576
271
636
735
371
886
245
519
874
7
897
290
162
141
275
540
707
791
314
391
949
936
526
82
820
270
751
834
54
820
824
372
544
505
936
251
373
301
134
701
396
954
494
940
403
575
978
750
975
71
898
654
103
32
201
218
533
662
495
830
580
308
868
821
836
394
42
938
832
910
360
987
161
97
426
932
39
676
948
858
561
761
496
993
141
592
423
392
761
368
176
24
691
735
556
681
275
954
295
616
224
366
458
795
640
544
795
424
617
435
127
748
856
862
263
171
205
22
750
407
403
944
944
738
606
485
539
434
451
74
669
42
529
332
169
588
128
660
376
655
28
84
115
974
946
964
147
392
945
652
426
68
764
824
932
291
544
5
763
594
895
760
394
725
557
126
720
600
217
114
552
584
140
555
761
303
408
109
130
740
473
11
290
533
659
992
816
247
996
887
689
875
492
622
830
996
520
615
349
814
532
186
494
762
691
186
4
497
355
909
726
871
558
342
924
913
769
911
624
928
232
205
757
597
156
611
582
324
860
361
82
178
713
319
602
466
423
680
963
350
729
905
730
958
82
377
59
114
249
701
796
164
63
94
101
353
745
13
882
883
320
20
769
85
643
915
183
81
472
314
278
978
846
187
212
882
736
353
228
945
583
563
494
297
858
585
516
911
229
687
203
372
276
982
354
93
933
395
393
722
5
393
702
349
188
251
768
673
970
289
670
457
690
459
161
441
803
687
672
386
113
549
136
76
307
270
406
900
651
492
413
124
106
964
941
72
449
123
14
206
198
498
481
551
283
36
327
981
417
721
582
643
104
321
510
193
21
685
899
567
304
809
892
764
916
768
745
434
826
714
333
139
242
367
20
817
472
803
678
331
310
904
318
962
28
509
762
391
130
200
241
992
72
621
626
245
21
454
246
686
569
440
876
108
37
368
561
642
624
559
356
939
201
177
974
946
2
653
565
635
778
607
547
636
285
920
494
923
87
30
554
575
767
82
803
170
578
337
194
552
466
70
522
543
177
295
884
687
851
808
694
246
113
413
174
490
156
726
642
791
749
577
596
139
397
906
784
494
123
988
985
812
446
994
167
670
206
156
88
173
778
287
150
225
113
985
494
307
766
631
921
604
751
206
203
732
618
21
748
302
639
688
372
279
333
59
170
399
902
383
47
950
283
651
536
817
663
943
926
69
291
605
566
262
330
263
457
319
313
998
873
66
507
474
823
493
79
489
609
361
535
160
609
34
329
947
672
328
877
810
211
713
485
46
135
441
855
789
276
9
883
731
840
944
471
327
735
32
924
683
318
993
298
313
225
73
768
195
473
194
676
904
944
108
412
84
693
468
717
229
260
840
292
553
328
478
835
690
595
108
751
139
699
47
811
644
413
755
1000
132
67
298
611
485
350
272
425
129
243
456
462
388
777
816
361
602
760
535
917
238
373
416
694
631
780
341
895
513
479
471
902
198
170
536
941
150
312
851
402
677
415
682
184
640
308
194
311
429
299
496
746
901
184
233
992
638
525
767
577
674
477
228
989
775
707
638
956
479
650
839
223
358
399
214
159
386
35
19
559
871
99
703
16
133
187
766
100
17
396
543
352
352
426
807
837
680
684
230
551
930
651
555
505
240
128
797
734
762
684
911
758
156
799
148
283
433
739
750
41
935
157
720
703
583
780
175
753
897
309
157
55
985
844
865
579
381
715
978
464
596
613
100
95
277
271
419
416
114
800
299
15
41
940
936
855
791
139
147
690
576
367
46
303
545
31
655
727
628
137
486
500
620
154
715
833
597
616
887
297
326
583
2
253
895
550
421
795
625
216
297
418
264
840
124
964
575
564
554
659
674
167
865
229
920
208
314
106
719
413
154
774
326
462
275
128
645
27
252
531
41
55
118
945
398
776
289
111
2
874
912
247
352
562
353
157
654
77
678
959
599
215
742
855
995
119
954
506
951
452
858
603
634
494
435
181
43
419
424
53
858
249
17
503
195
497
8
50
1
564
841
650
911
297
36
167
614
953
150
355
166
13
774
849
222
882
64
863
883
574
964
406
676
861
575
816
232
247
92
323
375
308
378
185
657
649
476
646
880
733
344
603
759
309
647
418
679
47
724
718
458
231
717
418
135
49
429
429
43
125
702
673
881
376
945
119
37
231
3
495
179
495
735
242
996
910
490
30
17
508
200
886
655
439
925
547
958
840
535
172
59
663
645
971
22
106
57
594
561
460
744
383
107
705
841
684
861
171
189
490
720
942
751
589
448
426
590
282
54
734
186
442
112
50
571
396
659
195
131
639
411
968
963
892
236
653
347
372
237
286
254
450
327
900
773
46
882
971
33
223
918
728
483
439
243
814
354
828
217
40
771
709
59
589
246
218
141
113
203
630
333
601
828
425
265
777
710
647
320
30
718
404
271
597
61
640
747
759
717
481
145
333
302
481
130
613
948
125
666
242
973
773
357
173
937
50
931
18
213
368
927
599
315
865
959
420
63
538
479
147
119
790
622
896
555
898
512
281
885
141
446
738
433
465
447
578
2
597
27
595
557
443
410
848
18
484
98
363
360
618
403
135
878
555
517
774
910
463
730
528
274
8
677
238
419
322
845
973
586
737
139
716
293
279
9
484
116
46
471
699
30
591
396
456
556
321
594
580
572
783
549
989
925
386
138
975
930
770
325
404
406
551
576
791
169
629
734
375
805
572
169
94
77
875
298
358
586
21
976
77
117
361
846
238
689
801
459
678
472
152
870
366
581
796
449
650
283
10
857
426
258
892
492
132
408
328
216
787
153
862
845
28
272
642
721
287
144
844
643
731
655
83
597
613
143
412
3
9
500
370
648
696
946
471
89
96
54
224
72
818
322
461
406
282
952
309
864
337
540
622
837
570
50
59
936
215
789
292
204
185
108
8
366
773
197
484
360
989
645
491
409
345
422
236
93
113
549
821
164
769
992
461
352
341
278
310
54
872
884
288
568
60
734
745
501
395
22
143
94
823
133
191
440
13
671
43
26
816
463
212
579
395
921
851
932
799
365
908
536
471
721
478
247
300
502
340
257
324
176
269
370
139
766
246
351
402
61
59
722
545
895
134
247
956
747
651
277
465
339
125
307
894
20
678
360
820
446
158
296
465
480
119
703
787
313
427
852
464
482
927
49
403
877
149
852
866
831
535
813
30
76
37
812
80
689
203
579
497
167
95
726
239
384
462
434
960
535
582
979
203
106
139
437
785
561
274
236
209
670
697
711
3
402
383
442
336
823
880
956
139
752
740
341
207
790
902
381
462
910
115
147
614
18
674
335
966
753
777
265
990
335
797
158
620
443
668
209
892
964
313
14
701
928
798
108
940
112
455
732
247
607
722
449
868
91
888
920
945
705
217
944
627
165
163
879
994
216
523
676
715
600
393
72
748
474
758
909
143
601
374
189
189
708
370
210
741
120
648
53
534
143
741
779
703
713
240
905
519
487
308
132
563
926
63
836
173
886
811
529
23
907
223
370
116
685
528
788
304
200
725
487
698
558
628
392
958
931
293
596
525
863
973
17
304
846
327
223
163
287
19
894
917
899
204
444
84
120
651
627
856
357
425
330
150
742
80
386
541
621
354
911
180
145
160
602
464
228
519
453
414
583
738
562
159
731
729
38
910
680
909
555
109
426
483
745
184
573
270
460
504
120
424
927
640
922
560
914
46
408
809
376
596
881
280
463
205
161
250
374
946
341
167
343
619
184
197
914
775
50
631
772
549
247
922
610
460
426
523
912
585
946
969
58
69
147
837
885
5
116
330
666
109
861
221
496
476
728
817
244
914
583
406
551
27
493
387
838
241
622
912
916
459
633
386
611
853
116
649
718
621
513
970
772
159
504
277
317
235
102
182
825
199
524
436
966
183
465
427
666
535
567
207
283
445
740
323
279
837
457
421
937
105
321
184
78
229
15
682
198
102
184
609
139
678
959
209
238
655
577
919
853
998
998
867
332
537
530
434
771
250
178
995
348
619
884
825
656
601
840
906
179
369
808
27
16
939
738
150
3
220
993
458
629
796
189
931
523
995
7
524
841
374
295
267
573
803
486
659
650
735
603
772
747
95
150
372
844
451
766
167
928
790
820
62
715
254
47
879
881
662
924
565
125
511
736
355
290
404
167
688
926
550
829
942
887
47
354
216
24
153
536
444
575
662
550
116
595
763
457
734
678
523
37
954
219
200
505
21
722
142
791
733
965
946
917
643
385
877
416
660
684
299
917
487
514
13
750
576
37
932
885
423
353
510
611
30
19
680
94
337
378
837
367
248
13
590
362
650
380
564
307
472
631
543
189
414
689
645
9
419
860
989
228
379
693
566
174
836
295
607
145
606
41
776
612
406
472
938
233
520
165
92
360
473
561
286
331
505
31
988
127
341
959
439
906
403
261
952
519
129
534
22
356
528
7
340
768
416
545
518
892
71
238
391
897
172
517
261
554
988
324
342
557
711
574
964
216
763
67
810
965
646
14
564
648
624
574
873
673
104
137
454
971
113
606
514
108
661
599
378
89
90
316
374
101
766
809
576
931
556
502
968
858
615
144
937
572
900
783
804
78
733
996
247
593
434
336
79
182
745
918
815
225
328
87
869
848
66
402
23
144
315
508
1
324
516
42
624
975
769
406
21
211
85
107
805
849
23
355
949
687
335
808
354
591
52
661
725
371
192
751
441
372
862
10
544
279
99
369
856
903
217
184
493
595
777
344
718
517
560
502
168
199
81
282
977
695
241
870
197
163
696
177
255
900
414
590
847
681
640
417
827
772
226
320
139
121
844
358
786
40
142
834
146
183
267
739
705
710
544
470
400
337
302
450
336
383
944
413
587
33
460
435
157
772
439
213
953
357
563
729
800
747
268
172
91
121
939
924
688
508
580
503
51
562
355
556
403
694
784
408
928
142
682
215
611
529
82
453
376
123
525
358
570
328
67
905
699
895
302
136
547
950
475
915
468
260
523
722
675
21
482
690
828
122
248
925
64
20
132
56
916
301
960
110
201
557
781
44
81
414
350
684
964
418
658
415
819
43
747
679
777
216
908
239
600
648
180
194
716
731
733
954
22
910
318
717
624
266
500
521
956
495
761
598
524
604
909
593
615
414
438
192
889
396
612
826
724
461
93
441
558
68
870
736
207
418
87
916
372
567
135
740
78
993
27
583
805
543
647
284
461
699
932
822
154
789
429
191
902
124
956
461
89
18
285
637
415
310
874
849
610
327
658
384
926
181
848
231
717
904
477
182
50
246
186
952
329
833
337
469
372
28
107
257
280
65
645
774
650
909
726
708
414
895
580
458
634
378
767
477
96
522
985
702
412
869
732
55
689
526
562
866
463
643
516
123
792
342
965
640
843
438
706
627
295
68
680
601
181
834
57
307
543
186
781
97
411
533
873
215
179
25
933
587
409
25
295
976
440
51
271
840
976
343
723
832
983
321
992
629
820
853
861
717
517
674
789
821
489
302
137
898
819
490
493
12
406
575
464
942
910
119
525
81
454
856
598
34
451
279
30
341
767
177
578
920
672
39
798
146
669
532
975
973
357
190
352
122
922
34
959
185
722
111
790
412
727
814
399
77
198
439
274
572
133
616
499
802
450
148
251
20
796
309
712
979
172
845
793
179
256
749
901
995
452
389
651
712
161
725
8
828
770
145
903
491
108
926
700
637
923
464
292
187
39
144
747
651
425
229
631
648
351
170
104
114
189
529
881
432
163
91
953
329
547
811
768
154
400
942
175
37
882
86
54
550
634
916
2
686
466
15
817
379
848
608
838
328
261
973
364
578
548
967
479
189
763
396
635
309
912
952
225
165
179
31
213
784
884
64
626
766
489
879
297
29
399
239
844
291
192
948
261
960
167
783
872
231
791
127
656
443
685
333
95
189
315
775
772
201
403
28
940
827
426
841
116
740
227
361
596
614
921
623
431
672
776
414
40
384
668
472
108
87
78
430
864
994
286
34
111
864
619
943
641
581
113
871
776
69
934
897
811
195
272
523
98
836
156
490
331
834
874
362
369
365
200
682
581
141
668
805
278
950
512
579
251
286
681
734
841
161
562
147
216
806
661
188
771
590
490
970
616
416
360
669
154
800
600
6
653
67
963
648
535
369
621
538
817
763
220
88
794
177
901
800
557
919
72
82
413
329
981
958
606
259
826
927
992
361
201
422
481
552
186
225
150
622
282
691
861
675
674
835
146
970
49
183
864
796
262
760
858
190
726
767
434
685
252
304
962
769
480
940
352
423
709
85
443
920
132
873
581
38
1
718
789
15
221
768
963
819
238
274
485
798
837
240
476
349
671
830
671
43
906
685
572
512
348
699
79
545
853
828
301
998
570
169
602
581
813
926
238
72
963
837
130
247
814
317
427
642
204
866
487
309
624
275
856
865
707
749
610
466
169
395
170
847
819
411
312
160
704
934
645
176
329
734
262
346
167
849
629
327
332
832
20
848
392
458
966
197
768
662
272
204
94
956
114
298
158
802
596
146
822
228
973
372
368
480
395
107
288
671
643
445
430
175
854
396
758
984
598
607
731
395
29
944
426
126
34
3
118
438
438
758
950
906
360
850
721
234
762
480
572
915
73
452
539
599
526
699
505
741
519
526
106
475
863
901
501
695
261
323
761
997
739
218
787
489
51
339
351
461
235
347
791
578
647
619
401
535
762
312
328
131
957
935
52
283
323
934
183
824
248
349
326
843
169
179
259
919
413
934
513
841
486
761
714
341
536
675
733
865
955
655
769
702
236
816
971
587
314
410
114
480
528
173
139
371
276
401
74
818
199
182
965
431
415
431
980
635
934
705
756
895
896
311
407
26
665
864
346
334
146
317
211
137
910
409
763
604
841
676
536
992
60
414
436
74
814
465
221
959
877
295
974
581
758
576
287
831
676
442
831
683
824
631
414
712
931
962
400
48
486
9
602
187
306
328
344
65
289
361
433
448
328
925
203
1
328
266
606
379
211
791
597
290
594
927
680
761
556
51
548
784
531
40
195
89
919
823
757
58
423
239
599
689
490
617
848
78
482
768
649
99
359
488
916
846
736
248
234
919
125
475
901
821
96
723
759
586
820
81
613
227
204
340
557
788
393
830
430
555
925
336
974
462
247
153
6
863
607
214
63
593
560
138
505
692
463
254
71
268
374
900
184
680
685
755
130
690
710
606
369
217
167
649
842
115
174
408
123
711
940
388
664
907
807
817
158
304
679
246
300
182
159
276
792
120
908
424
492
744
838
963
8
368
757
610
907
259
999
85
898
901
380
893
42
890
543
186
67
37
414
155
318
841
978
240
776
751
74
367
788
522
220
544
892
551
762
400
148
279
782
680
929
623
283
272
957
922
122
80
748
89
66
960
258
474
119
937
705
446
958
180
16
883
923
510
298
521
500
776
56
625
668
70
624
533
762
605
420
424
778
22
184
82
119
84
324
533
867
960
846
154
579
769
137
297
459
687
12
475
524
624
62
941
25
462
289
790
975
873
438
802
73
989
222
903
749
579
849
447
272
932
881
562
121
343
456
404
865
961
358
518
847
765
229
445
837
605
470
337
672
572
17
640
599
437
231
806
680
546
609
631
158
344
869
6
100
649
239
839
24
921
475
390
429
1000
185
557
332
248
547
443
990
576
404
137
925
565
3
762
291
813
378
733
384
630
466
634
785
468
590
294
245
761
849
441
906
416
303
783
880
848
567
487
496
253
586
809
802
844
910
56
972
863
740
147
361
508
388
813
864
347
566
840
81
417
85
853
574
939
141
842
122
526
342
991
480
828
37
422
609
779
301
133
729
14
146
763
811
557
127
795
364
593
555
488
413
971
941
111
617
131
124
46
366
279
787
912
499
1000
714
188
57
936
161
702
44
837
228
973
782
53
918
624
823
509
897
13
767
290
605
734
590
245
478
931
215
434
513
174
174
801
306
212
134
208
12
82
979
841
355
925
910
52
956
301
703
888
754
18
896
923
220
240
150
526
418
136
466
357
662
456
230
715
729
174
310
338
65
800
533
396
442
32
932
722
857
191
66
747
232
253
599
250
668
375
39
763
576
532
236
413
6
226
791
41
876
283
986
690
626
438
248
911
14
720
446
925
380
687
487
318
758
178
803
873
593
587
313
92
694
606
359
172
280
29
927
506
609
460
192
267
750
738
65
260
510
441
929
53
388
121
225
290
696
788
880
265
682
745
827
45
551
85
19
868
779
23
441
131
11
786
540
983
138
943
433
459
848
920
995
109
66
924
643
294
220
673
231
662
193
118
962
852
153
820
639
106
195
765
923
343
882
192
424
186
299
402
663
593
229
665
909
41
386
37
876
645
441
341
105
213
735
596
609
997
164
914
18
821
711
247
33
343
484
403
466
422
947
414
535
991
202
720
353
322
825
573
750
331
773
780
674
370
291
161
401
13
593
103
720
486
336
181
55
714
540
126
222
462
658
328
154
656
968
670
431
789
326
729
951
252
559
280
364
538
503
618
194
541
726
387
710
569
505
538
682
294
481
501
130
570
768
894
57
940
946
898
941
719
520
945
444
707
942
500
424
970
195
559
796
626
314
905
243
242
909
329
67
282
941
783
707
22
535
857
572
470
577
86
880
168
188
315
143
138
985
781
755
910
155
597
952
271
5
71
1
338
596
649
114
607
506
293
6
879
535
811
418
327
386
971
212
549
976
253
825
115
47
719
983
990
162
831
574
240
28
950
482
561
304
955
20
541
713
605
308
6
317
293
568
468
291
354
877
470
363
396
308
576
401
979
785
876
261
572
221
107
130
889
635
942
58
607
74
562
291
992
79
344
308
135
353
411
164
350
57
812
877
771
860
320
110
361
465
163
299
322
832
559
759
397
750
547
4
653
694
471
666
114
167
429
966
60
816
152
638
893
685
68
560
208
877
741
147
124
777
521
695
990
709
951
500
275
596
438
507
865
729
754
699
965
253
162
181
532
323
351
169
495
210
917
683
992
794
819
765
545
3
88
475
368
745
100
756
995
806
875
488
25
997
197
693
63
551
832
931
855
416
750
344
246
611
68
713
785
260
363
123
743
278
120
545
859
908
345
689
330
519
781
13
461
80
750
632
892
757
384
185
521
920
857
442
74
656
333
528
779
553
493
157
742
160
883
222
444
971
845
396
236
262
445
139
834
369
643
682
598
251
941
53
809
302
869
241
244
418
968
884
111
252
387
699
790
462
799
15
911
493
129
351
980
93
483
1000
172
360
746
936
924
548
574
196
632
274
850
81
118
36
251
129
524
152
265
854
929
326
843
646
326
54
902
88
518
986
43
151
159
193
188
414
411
996
323
472
639
651
158
171
158
728
316
172
276
437
629
618
806
543
186
337
755
732
93
131
130
469
266
156
671
449
219
308
834
725
467
844
560
458
119
149
179
55
237
695
306
98
755
751
748
134
95
329
242
837
158
185
295
512
994
432
557
195
325
479
897
851
43
532
808
285
957
893
857
430
361
621
637
600
429
903
74
172
73
671
30
892
634
565
824
665
723
337
684
275
590
203
176
924
619
414
323
895
970
579
482
886
889
829
45
802
940
978
662
859
258
238
34
863
937
884
237
444
819
514
214
855
313
172
310
630
315
685
676
80
958
991
963
83
713
121
966
127
313
765
773
851
67
16
567
643
416
989
397
972
968
477
147
219
872
738
443
737
71
755
414
765
894
80
85
577
493
436
658
980
804
803
110
830
93
629
310
781
654
138
384
863
891
457
103
810
837
409
919
299
167
404
662
369
858
777
9
326
998
319
614
416
640
508
140
334
249
115
541
467
22
446
632
362
297
489
359
526
336
600
221
107
998
187
965
408
211
46
33
459
681
631
219
61
2
542
661
829
164
957
602
757
476
558
303
732
93
756
139
263
664
627
166
383
91
84
396
353
20
200
593
283
517
522
664
280
270
436
620
37
830
359
629
62
613
593
920
893
842
176
142
709
157
954
346
740
373
405
897
736
736
457
518
550
83
641
108
595
509
462
177
506
493
777
521
875
971
321
245
306
471
247
338
388
296
692
820
372
699
946
880
505
123
751
537
967
896
606
87
355
210
756
26
442
806
695
167
752
583
604
411
115
229
134
995
954
79
344
58
512
616
388
77
633
430
792
30
962
990
716
175
656
279
689
962
779
216
655
916
546
773
75
301
533
894
14
972
735
629
804
134
128
385
952
638
974
823
371
39
691
750
921
898
507
276
489
695
505
616
533
304
888
214
78
176
478
232
661
250
528
65
604
163
873
253
303
477
366
57
928
517
306
2
33
892
252
904
114
922
241
238
72
27
915
228
848
557
464
706
293
723
640
610
408
1
288
973
702
875
994
406
354
836
467
334
195
315
235
748
374
643
61
798
653
161
257
336
948
356
736
432
660
230
185
957
762
182
252
575
412
327
990
840
53
540
103
691
599
509
726
265
301
723
569
892
330
642
264
62
952
252
658
388
383
843
626
889
92
113
677
382
346
638
291
449
254
353
423
199
446
911
81
25
774
720
228
644
106
984
489
981
381
324
353
871
548
404
570
132
948
514
466
289
978
275
750
121
568
429
183
255
166
213
168
195
388
942
928
595
460
255
421
25
888
932
589
207
545
308
813
480
503
112
708
274
488
964
487
471
796
863
197
853
882
774
33
283
581
771
818
856
128
303
463
36
690
842
914
708
160
543
631
154
299
586
127
178
172
539
496
12
994
440
97
173
127
282
819
126
1000
227
377
499
127
223
166
559
256
609
50
879
916
974
324
417
245
752
789
717
92
41
505
590
776
644
352
411
810
662
935
130
127
788
742
205
38
87
711
905
238
210
524
878
659
878
16
437
864
14
44
758
979
66
79
54
879
911
522
862
430
241
475
756
150
453
279
156
534
916
637
445
659
917
562
221
409
734
690
406
789
50
733
837
389
364
980
185
969
134
780
256
544
157
889
263
85
66
412
185
153
901
826
163
344
431
221
745
438
254
489
896
512
758
633
931
104
688
767
872
704
417
665
336
480
20
897
695
148
876
700
167
333
881
734
463
609
264
780
809
623
675
257
483
380
446
161
476
785
891
661
543
39
84
105
695
308
825
664
123
378
362
154
669
686
62
870
212
190
362
377
760
28
289
331
605
840
277
322
641
877
277
645
834
789
929
672
857
48
110
214
130
506
294
822
841
529
994
529
49
433
993
896
634
750
233
590
676
940
958
910
847
762
198
821
523
439
722
96
612
143
369
101
554
83
52
608
565
659
793
775
935
725
871
107
119
5
526
745
453
74
686
957
536
162
904
20
703
201
967
31
595
172
716
331
474
845
196
348
851
384
616
671
952
181
539
50
758
475
350
885
650
979
338
436
192
792
638
657
210
324
902
65
126
816
790
522
455
341
282
138
477
802
384
757
357
577
995
675
413
894
593
268
801
981
913
209
616
262
990
835
298
655
759
983
284
72
920
335
29
801
926
905
891
328
753
789
884
532
578
732
969
891
629
368
375
495
227
226
439
235
493
705
568
450
264
280
248
723
536
133
441
260
129
237
353
469
343
714
297
951
93
902
293
79
358
169
139
770
853
979
897
824
470
68
145
428
395
924
876
49
829
903
635
930
834
453
331
860
208
905
186
698
192
191
442
398
491
707
774
887
315
198
853
251
134
237
102
87
388
368
538
797
664
428
496
822
755
934
148
534
558
638
27
542
6
566
119
705
86
865
739
5
529
805
62
746
940
140
138
259
986
813
201
393
738
704
334
618
434
691
875
458
738
832
476
332
21
841
387
613
334
416
383
857
494
111
698
704
177
675
507
921
952
721
758
412
994
605
629
792
565
199
479
305
446
19
926
438
212
817
620
587
594
318
313
502
240
269
120
85
822
322
193
257
817
578
618
290
282
808
19
983
559
463
215
485
212
587
308
434
418
666
715
276
683
258
6
317
15
972
892
69
636
994
334
962
889
905
531
293
268
960
534
618
362
350
276
425
117
251
140
30
979
574
549
115
408
447
672
245
728
403
59
960
514
144
903
808
506
523
678
729
596
94
94
782
522
162
687
93
768
794
831
258
608
626
687
156
353
660
371
294
645
438
661
338
82
126
635
450
541
64
997
419
301
301
242
343
504
460
448
782
523
40
233
910
527
941
339
163
918
533
377
284
325
93
508
462
549
795
199
483
158
733
773
408
467
651
133
321
264
141
932
132
965
92
442
217
844
65
571
954
600
109
790
841
821
227
197
925
801
370
629
760
816
324
466
932
141
355
778
511
58
762
530
413
621
808
848
787
181
605
760
990
536
625
400
647
113
489
387
557
753
534
1000
940
523
481
798
636
492
190
530
356
517
115
546
53
943
538
440
789
559
117
304
216
282
565
807
937
810
521
314
575
945
797
352
310
344
207
81
39
225
167
821
68
960
55
343
412
525
101
358
387
525
245
576
151
853
945
778
245
82
408
566
993
395
96
872
833
152
633
805
247
238
448
158
2
960
571
739
816
579
19
691
425
531
110
140
232
9
865
864
399
862
375
103
268
693
655
317
466
635
27
467
923
536
515
355
275
167
112
652
833
661
995
530
362
564
942
199
401
791
296
267
774
282
741
524
208
352
94
689
717
552
57
658
500
391
591
27
640
370
168
994
800
641
650
273
454
29
975
313
948
306
129
950
783
369
118
591
125
405
779
166
451
234
304
391
647
754
308
328
609
818
86
820
601
929
500
173
194
875
579
347
601
764
468
4
628
984
861
1000
235
256
432
278
955
343
26
691
987
918
626
939
823
784
151
718
700
947
189
142
990
977
652
689
869
765
169
261
294
17
768
396
316
777
990
332
246
875
168
420
60
422
1000
309
673
387
912
463
415
854
970
800
104
765
252
699
627
833
643
159
800
831
29
652
608
658
706
89
627
415
628
365
541
221
803
143
178
652
752
902
445
518
438
781
836
106
492
425
966
203
890
855
692
948
429
381
966
3
510
690
501
643
765
571
703
91
991
143
99
838
720
110
653
743
508
282
956
429
673
554
273
859
803
591
791
999
796
713
267
180
612
838
429
85
167
922
139
293
24
994
319
994
599
776
92
738
649
863
393
112
671
624
582
817
701
308
194
910
702
313
60
923
361
217
439
123
661
974
718
485
34
606
458
786
238
856
283
845
368
503
165
105
579
482
158
663
135
508
516
351
415
649
469
673
351
175
587
248
575
41
811
878
246
604
749
557
120
464
743
508
935
899
567
814
589
990
340
340
919
370
388
420
94
519
349
185
777
645
764
563
253
525
750
652
644
65
160
650
195
20
764
502
369
19
602
228
136
986
633
182
437
117
207
593
245
812
688
372
40
330
758
540
814
499
546
619
891
506
766
970
950
643
444
402
669
903
670
304
279
488
46
201
176
624
130
913
417
540
260
402
605
121
564
25
171
542
856
125
500
129
369
807
735
800
958
310
294
713
500
590
347
155
687
624
527
288
324
432
155
98
527
52
110
778
940
491
285
820
197
223
250
304
372
901
339
199
95
824
897
41
333
111
816
995
599
676
825
138
459
905
199
791
795
302
716
858
220
546
686
422
412
73
856
312
902
756
815
932
29
270
302
452
361
494
457
321
855
622
644
203
460
730
934
602
618
186
720
888
374
682
232
938
387
613
889
331
178
213
555
878
354
165
740
292
406
351
717
962
895
48
345
124
498
144
91
214
446
890
408
797
313
288
118
298
16
461
943
681
138
264
616
342
357
950
329
739
862
910
361
716
120
398
861
18
244
661
696
278
535
101
160
586
455
899
148
849
418
84
56
307
308
121
294
951
547
957
804
103
871
889
354
64
731
761
750
594
361
770
270
935
95
604
812
260
527
702
239
693
398
203
377
521
925
531
950
804
437
638
499
377
763
634
7
126
823
908
484
516
251
870
283
589
696
133
256
4
634
293
187
268
172
460
88
991
309
347
83
862
568
32
580
43
740
490
355
864
719
577
994
16
58
469
848
922
921
467
302
608
559
678
680
180
323
324
568
983
485
341
661
599
791
497
526
119
809
440
805
549
567
9
465
762
908
623
677
170
270
782
779
143
328
533
561
287
24
253
816
844
55
277
689
891
792
676
859
463
969
978
14
461
181
734
376
969
408
629
277
639
310
248
897
893
20
704
340
32
500
108
120
748
320
222
38
167
871
726
125
326
641
241
34
852
127
608
802
765
396
969
402
479
83
874
849
525
823
964
954
28
744
812
972
679
652
118
522
804
975
787
130
150
359
390
694
152
67
98
948
802
935
500
754
702
756
614
671
521
347
20
787
887
485
262
243
676
118
597
217
767
968
710
414
623
700
240
244
426
350
821
952
127
562
896
931
455
526
710
343
850
182
764
924
305
403
489
595
318
349
51
43
514
166
29
990
981
467
137
236
85
852
326
920
287
783
344
630
538
772
292
154
901
708
780
671
396
592
69
156
467
663
947
587
130
113
183
321
558
131
91
667
841
66
131
230
704
822
483
95
176
460
227
299
654
152
98
312
273
280
786
436
254
439
394
174
735
609
991
552
586
507
155
364
918
447
14
67
278
618
598
816
40
793
218
744
110
904
200
124
883
793
541
496
318
736
961
198
118
989
377
993
253
695
53
622
507
995
541
221
262
68
60
483
514
120
152
326
964
68
274
643
89
770
517
367
299
169
748
695
639
652
342
848
997
259
64
91
474
104
860
134
366
533
24
185
221
84
699
112
538
280
721
171
2
630
583
720
574
25
698
168
376
836
186
199
65
669
147
917
322
648
731
185
131
574
363
856
789
28
160
5
953
761
904
542
567
288
963
784
247
642
165
661
513
651
985
236
309
976
324
126
395
323
816
245
535
958
869
983
874
646
567
603
556
629
161
133
393
120
141
515
389
27
736
87
994
355
314
738
241
756
309
262
338
239
214
461
863
901
690
549
429
889
29
301
598
462
54
129
835
177
27
17
526
729
294
800
413
879
218
806
334
288
390
279
803
757
247
306
818
566
23
236
225
119
334
650
162
100
876
34
334
657
364
205
380
961
336
423
161
613
439
845
572
992
553
672
410
587
496
873
887
808
57
876
623
509
796
964
337
712
404
433
990
612
391
733
857
971
544
922
822
429
887
791
257
111
870
869
953
119
87
414
955
174
168
150
592
696
353
175
646
101
909
8
404
923
757
153
285
667
595
932
819
957
365
597
53
648
121
870
856
25
228
141
168
151
357
539
981
690
916
940
722
266
404
797
755
509
675
343
908
486
236
329
306
121
542
964
294
550
679
129
887
89
993
262
48
657
944
523
39
21
967
996
238
210
154
707
135
794
340
169
618
517
598
59
320
910
177
320
534
140
641
700
110
305
361
282
859
796
511
33
185
146
412
772
80
999
428
279
134
427
586
409
951
876
764
214
170
412
594
53
348
808
200
614
97
217
502
544
218
847
95
149
32
100
672
237
773
75
507
701
669
243
801
919
323
322
584
350
86
86
402
993
383
936
285
527
382
505
309
21
960
520
630
53
652
401
39
12
163
812
934
67
71
481
83
52
521
133
745
72
114
297
472
142
663
91
434
603
175
833
190
363
257
445
636
226
99
204
270
727
339
327
24
892
414
249
656
328
437
231
91
853
261
89
161
657
137
457
925
650
313
934
99
190
976
923
167
901
182
702
436
623
811
540
616
877
102
242
527
353
66
547
182
108
890
218
780
80
483
516
159
511
473
954
825
637
294
923
1000
760
482
780
24
414
938
481
78
916
700
703
402
988
738
647
121
526
368
426
326
821
160
988
286
700
628
40
528
144
566
328
76
888
624
920
281
388
604
856
563
364
17
645
840
765
611
606
614
638
958
972
450
886
707
12
87
290
757
184
524
506
439
433
197
970
795
352
818
767
142
846
513
548
439
312
673
561
408
126
292
646
967
408
680
865
299
583
105
51
798
313
323
159
211
691
965
745
521
460
451
312
517
179
416
529
511
897
660
514
408
911
277
498
141
611
900
155
545
234
21
839
863
628
911
734
449
712
975
700
681
432
310
181
747
429
805
113
774
508
401
192
684
288
997
211
310
58
67
450
542
973
289
229
691
196
293
843
857
507
258
28
778
166
176
34
583
581
520
119
843
382
499
11
594
77
257
450
284
356
192
465
175
464
9
409
358
792
271
123
381
988
970
820
465
421
90
389
432
840
211
888
743
353
967
907
519
718
554
349
998
19
554
923
670
466
66
312
233
988
488
538
581
714
343
522
309
225
194
229
540
689
87
43
491
567
896
252
851
638
648
589
907
497
185
783
397
516
500
9
188
494
708
912
245
887
865
633
816
521
835
861
413
202
931
508
930
447
360
26
234
877
373
723
634
457
583
723
919
861
146
340
58
751
355
732
246
602
735
652
698
77
911
17
496
598
345
767
810
909
579
231
54
958
709
750
864
305
693
872
295
648
503
811
343
767
298
186
664
340
547
284
398
637
468
215
100
55
262
377
123
830
331
566
177
8
100
939
486
970
129
788
631
351
875
721
171
215
891
460
150
719
232
884
854
321
553
365
579
769
699
731
685
760
613
341
938
133
19
909
996
931
644
694
885
464
741
559
506
766
252
283
533
488
259
162
527
283
309
624
755
262
757
71
969
892
552
647
380
39
784
950
137
494
858
958
914
427
393
636
601
687
804
715
691
775
67
133
666
615
326
501
596
943
885
748
190
275
565
780
744
901
631
598
793
321
230
822
778
820
808
974
714
676
63
199
666
587
763
312
831
494
238
217
144
917
376
740
634
279
772
900
210
491
25
462
142
207
280
386
294
788
787
446
57
956
667
848
21
551
66
171
663
592
571
310
689
44
128
412
245
316
654
962
882
544
233
301
44
113
67
840
834
733
326
160
11
615
671
995
461
917
492
835
903
725
845
491
199
249
646
525
456
799
969
872
32
385
137
344
689
437
908
943
378
245
251
99
583
197
74
981
697
802
806
33
665
759
918
750
992
82
298
506
270
361
910
919
586
797
302
870
495
550
353
755
817
286
97
9
109
543
613
203
554
687
706
298
955
761
589
714
668
528
818
954
600
324
514
433
862
147
297
30
250
568
411
621
503
627
239
535
218
882
795
408
344
166
771
419
444
405
444
251
283
66
63
406
842
409
328
710
565
755
258
924
508
385
20
399
53
532
268
611
38
169
183
234
472
941
649
140
482
623
956
331
776
976
19
352
717
704
318
180
22
517
709
926
239
948
774
943
397
690
625
93
651
681
936
5
308
70
505
108
377
510
832
126
647
904
51
491
350
883
29
825
669
777
625
260
716
785
894
836
85
403
478
655
806
853
588
778
293
465
706
77
909
474
613
373
881
667
413
249
602
668
996
847
798
449
755
821
669
790
452
368
834
20
854
917
874
372
92
633
312
636
772
356
104
646
522
975
128
314
1
542
654
544
410
591
537
392
183
256
675
240
848
770
331
618
19
840
57
516
100
219
301
692
560
509
254
525
563
861
127
436
355
785
843
730
21
709
97
26
152
286
808
84
528
696
288
941
104
361
843
746
504
548
114
585
711
307
185
889
870
90
385
727
921
157
740
389
305
582
256
209
125
280
528
465
961
951
738
583
992
280
720
546
218
36
640
609
344
926
782
941
305
211
102
788
548
114
486
99
875
988
101
357
110
84
834
501
865
476
592
421
439
399
130
513
217
803
163
146
992
400
754
721
306
866
349
194
247
151
375
563
140
21
17
818
217
93
654
312
674
578
439
303
462
908
676
701
821
210
976
664
802
316
659
749
987
646
495
798
197
814
686
580
216
261
925
492
487
578
493
299
268
412
596
978
964
26
583
209
233
657
251
963
972
771
174
938
487
201
882
294
995
964
765
260
88
189
773
702
949
259
328
672
943
710
411
285
616
885
404
21
324
629
147
672
444
566
613
741
565
595
753
24
168
290
363
487
22
863
273
320
946
133
755
228
637
768
817
586
985
669
979
100
670
982
177
997
850
663
700
557
454
908
428
38
920
69
211
636
225
829
893
137
695
548
379
382
400
670
129
448
917
3
643
728
837
497
823
718
701
877
586
383
955
102
733
407
143
183
860
541
757
296
93
484
110
526
468
441
122
776
101
582
163
590
683
93
918
667
397
437
828
832
126
720
789
118
673
777
669
376
763
709
691
554
819
104
866
343
840
135
505
449
224
24
262
97
47
136
318
741
159
70
81
160
393
721
194
236
363
183
777
774
602
785
523
637
236
278
719
350
17
394
285
41
278
572
669
294
302
636
793
23
681
602
262
950
451
601
773
685
202
107
944
640
879
270
838
252
722
192
70
49
611
378
706
117
136
468
137
444
841
556
731
412
457
78
327
451
376
286
594
492
298
786
853
391
745
484
216
939
107
561
787
421
979
755
247
947
814
337
344
936
342
630
695
195
772
853
821
16
526
316
538
596
150
774
649
863
82
784
395
495
160
503
266
496
111
228
591
226
774
364
775
176
477
205
202
96
815
86
574
311
61
2
898
199
570
752
439
817
838
31
682
641
329
659
757
183
780
314
853
64
475
739
852
724
867
332
765
563
42
491
642
758
716
823
227
375
864
585
54
708
612
303
616
941
731
563
921
345
936
372
50
215
173
330
311
680
292
107
176
319
790
333
501
238
817
88
437
927
254
632
46
694
480
860
877
973
391
271
657
119
351
882
825
556
976
627
836
327
149
261
41
149
144
672
487
42
556
832
148
491
558
308
949
898
85
365
445
744
732
225
164
498
514
973
424
821
145
923
937
10
160
3
570
952
49
864
491
68
508
972
285
893
116
892
780
927
969
344
17
363
312
379
258
150
781
202
916
582
642
747
78
283
330
107
611
26
674
306
899
276
405
710
931
760
967
585
796
627
152
907
664
958
815
573
945
500
764
581
669
481
938
550
60
290
155
256
934
619
28
434
787
383
152
189
419
368
274
823
501
98
968
707
742
843
290
151
231
47
980
855
70
709
61
641
651
405
78
633
773
720
822
968
359
818
102
390
686
756
3
832
894
961
148
165
54
943
640
835
192
948
747
34
505
740
896
369
461
119
200
760
605
103
587
414
646
919
574
292
869
80
850
443
980
864
153
927
264
455
363
847
297
835
329
165
575
312
742
559
78
181
237
587
192
622
33
803
442
384
625
272
155
217
416
148
525
251
756
585
551
773
537
282
965
896
330
368
577
657
110
198
444
982
727
840
862
751
669
698
499
971
69
759
879
624
633
409
55
369
875
643
529
656
64
728
391
198
341
107
222
985
773
365
486
191
491
603
51
387
661
431
970
449
747
135
873
446
444
222
119
535
658
729
400
643
157
139
610
262
834
722
611
212
74
421
998
650
336
165
83
882
951
609
102
798
50
893
63
867
727
920
785
646
813
64
371
727
78
958
815
888
311
208
460
945
472
440
766
505
17
108
212
346
622
855
174
658
688
38
321
723
475
239
404
943
194
177
313
271
130
489
923
233
696
243
568
710
346
895
952
594
444
651
904
189
507
807
696
30
710
738
559
353
216
622
608
25
631
870
671
178
896
517
393
131
981
462
550
438
48
592
724
90
140
233
372
912
57
365
847
229
776
231
84
709
698
784
567
108
16
437
626
310
725
181
297
672
123
994
802
190
202
853
131
383
949
366
370
153
457
190
165
77
676
977
188
711
810
516
496
542
634
124
507
154
474
98
630
29
188
230
728
146
257
957
241
220
991
713
217
982
984
447
498
362
102
59
5
853
763
751
407
569
747
851
451
747
497
733
885
527
748
859
214
829
289
815
512
95
878
440
96
442
628
805
187
531
666
840
605
61
512
866
115
340
426
174
317
840
886
22
864
973
525
145
352
593
54
912
430
881
163
797
579
347
954
686
514
645
174
865
345
797
437
248
493
175
635
501
840
317
955
244
753
230
288
451
412
350
287
488
380
724
53
968
421
321
212
756
393
575
144
14
464
419
267
101
976
79
563
560
52
869
985
140
429
44
996
24
67
553
255
976
787
175
366
153
592
97
708
677
312
457
577
904
936
783
258
504
318
499
210
113
933
905
209
293
37
113
198
16
864
427
561
681
485
583
739
917
565
56
415
104
525
387
977
545
566
103
620
725
594
342
214
922
332
729
54
739
803
420
672
770
953
452
190
719
355
729
85
774
851
27
836
927
495
377
625
242
338
58
192
774
458
235
940
966
119
952
629
851
102
804
328
342
56
92
818
202
198
713
304
34
785
324
120
776
588
550
94
747
18
144
373
220
645
38
811
905
604
167
465
450
772
785
347
281
691
778
358
668
872
97
236
887
564
45
428
762
12
592
23
665
997
284
292
246
728
610
890
798
192
863
504
185
691
642
581
661
647
140
765
771
667
287
875
749
530
615
541
475
11
454
136
106
392
684
241
957
122
814
712
65
297
597
337
151
581
734
195
353
708
487
86
211
935
173
821
853
711
576
733
234
309
298
515
588
397
939
349
946
336
789
371
710
504
412
695
764
89
78
567
559
626
538
764
922
973
17
993
85
600
639
879
581
799
704
118
189
878
389
508
97
487
455
851
777
977
505
188
879
93
175
427
587
343
407
186
505
149
591
584
81
199
969
819
28
490
112
550
954
223
727
553
648
42
282
607
75
125
148
292
166
276
83
260
882
468
829
487
912
287
563
271
561
299
735
976
58
694
528
83
547
440
854
685
500
833
295
399
138
508
856
593
730
942
744
945
300
998
646
605
383
290
136
671
928
20
902
220
367
471
472
929
150
510
985
149
776
310
347
379
444
1000
805
272
984
82
555
654
641
292
537
576
627
26
935
49
101
595
275
978
365
324
180
758
623
976
6
162
631
40
621
418
877
202
501
844
770
694
202
998
424
296
998
91
259
455
145
280
610
406
793
602
919
137
51
468
904
803
84
89
311
469
401
693
448
99
701
151
732
347
724
421
917
14
577
294
485
10
901
51
937
272
72
983
355
369
350
210
660
469
515
868
465
925
79
518
258
978
580
599
939
1000
847
844
416
235
350
840
35
224
919
324
105
983
200
413
701
496
156
652
196
316
840
692
701
869
422
428
712
581
150
646
752
72
556
564
771
504
658
187
347
616
394
40
519
89
782
703
188
707
565
505
603
148
196
928
398
406
81
512
988
522
932
544
955
753
920
398
166
348
86
157
6
812
126
82
59
933
231
542
991
839
138
289
165
81
921
300
763
33
357
995
753
944
869
327
119
579
166
77
147
746
692
734
421
936
917
476
418
938
316
118
232
578
602
359
10
640
417
313
144
652
212
73
124
435
501
48
227
244
8
894
900
857
494
114
768
228
205
857
695
144
951
974
225
894
799
170
13
110
249
933
589
817
531
994
891
186
380
274
548
668
218
597
780
989
197
10
167
933
951
171
234
995
242
132
973
738
888
801
953
131
506
506
651
244
635
392
977
399
739
818
755
318
453
538
88
828
175
201
122
427
778
634
717
371
783
448
914
981
795
723
913
551
408
945
456
564
47
869
157
956
416
735
301
770
332
65
100
907
705
337
204
598
359
945
503
879
194
231
920
612
910
823
931
519
158
149
2
329
498
831
20
324
16
556
37
532
758
169
348
331
446
986
984
473
53
735
218
388
921
109
542
172
43
670
911
840
52
683
729
263
198
567
192
717
334
780
91
106
495
378
142
753
171
941
219
104
795
283
600
812
276
138
510
455
620
39
769
569
836
704
322
775
340
583
794
510
23
615
980
309
992
907
356
593
747
769
287
690
230
472
585
149
732
171
476
444
132
681
839
862
309
139
771
703
870
188
162
897
514
960
990
840
461
48
449
516
372
613
870
964
106
993
649
767
469
469
15
506
841
342
529
74
184
110
683
330
495
323
812
803
182
655
798
96
197
818
749
154
48
242
889
820
907
809
403
941
164
567
870
835
723
36
217
106
189
611
842
629
950
648
657
47
767
960
338
240
160
857
979
79
321
357
691
189
742
858
428
633
39
389
450
144
674
560
414
7
429
436
15
776
504
871
470
749
46
301
928
519
795
566
34
27
255
140
480
177
487
14
368
539
151
609
575
605
957
274
160
818
989
355
14
900
731
334
603
995
746
256
642
831
107
513
11
371
670
55
4
439
163
295
272
365
940
269
476
45
903
111
678
678
791
539
7
89
516
842
949
749
715
797
929
540
991
69
490
849
616
902
488
810
585
319
185
369
20
642
40
385
864
855
282
163
700
242
73
644
320
754
163
9
343
775
488
550
803
308
55
530
114
116
820
184
241
12
986
143
224
343
309
337
405
658
526
892
883
721
15
588
694
306
122
222
231
663
389
613
186
154
80
43
127
323
984
649
434
571
482
654
897
701
224
340
766
813
608
374
412
418
421
415
41
203
647
945
106
545
446
906
145
773
751
50
801
137
746
859
669
663
745
526
442
364
626
758
551
771
25
105
123
384
970
99
627
443
463
754
994
353
837
840
374
220
352
968
939
215
589
671
290
893
709
580
113
170
498
321
685
414
475
917
721
956
993
348
846
411
418
407
637
357
977
134
830
334
783
946
737
557
895
19
368
503
3
614
58
257
469
813
613
575
10
577
139
686
282
108
730
200
949
256
162
907
641
127
557
884
348
83
763
60
382
50
839
337
50
446
613
432
553
21
749
810
440
638
138
515
152
317
715
204
796
905
1
418
336
351
764
967
778
906
191
315
787
497
891
46
399
195
847
780
153
925
176
415
987
534
173
199
747
915
652
945
969
123
60
613
921
343
147
647
511
93
279
665
802
315
603
545
326
822
356
533
305
137
598
699
187
929
490
992
602
90
69
158
965
7
135
8
482
715
466
858
219
447
104
503
258
558
831
723
664
911
307
178
174
598
538
504
44
318
489
564
453
794
685
126
231
390
585
657
451
471
370
544
589
116
539
823
560
509
346
398
903
708
729
830
803
519
790
977
432
874
329
184
293
486
172
259
882
501
248
136
981
576
474
57
347
72
490
25
368
59
225
532
524
407
62
839
110
570
118
586
751
548
782
146
687
147
168
928
666
882
613
786
567
769
679
803
541
832
374
964
539
339
483
679
596
685
946
656
134
328
207
397
829
414
340
442
326
529
538
551
179
544
235
197
917
637
752
133
67
429
850
254
303
600
965
702
612
491
270
950
533
967
862
588
74
272
576
694
841
663
891
923
334
379
406
956
74
925
152
498
447
641
802
817
705
340
482
725
580
76
460
968
331
198
462
225
879
497
744
325
859
609
338
801
73
824
75
628
792
108
99
833
858
461
571
686
284
686
199
345
367
288
30
154
913
464
654
278
274
130
640
992
317
469
506
735
334
768
16
999
152
210
905
211
410
821
433
59
12
24
273
86
289
99
367
9
275
383
307
895
832
238
705
258
17
633
804
152
268
716
245
563
437
866
549
735
674
568
335
596
474
879
740
111
948
399
784
207
521
439
712
921
818
503
387
521
437
292
931
690
705
197
693
267
258
641
496
684
464
684
875
977
307
42
652
177
328
25
810
961
608
923
34
667
597
75
740
190
792
185
641
779
867
432
121
492
918
602
782
908
857
761
529
697
881
955
470
847
133
54
731
633
342
127
6
934
284
671
285
111
343
612
755
474
337
237
291
299
40
131
330
474
480
728
140
123
237
336
692
942
379
334
389
604
631
790
886
281
648
923
118
247
954
680
425
542
273
187
386
914
437
990
531
564
35
818
644
794
268
62
750
254
232
273
223
381
976
782
655
545
266
974
261
599
908
818
645
790
875
31
675
470
236
646
66
616
74
799
52
970
156
298
142
502
103
871
565
969
219
54
464
615
926
332
273
389
958
522
16
651
99
348
436
995
246
832
984
720
35
441
686
440
56
876
823
540
986
15
181
480
544
826
338
447
280
962
106
484
643
367
755
14
624
458
124
651
586
366
24
269
511
245
652
567
30
925
840
815
50
3
67
998
719
32
126
341
750
642
208
70
844
258
962
311
69
590
788
225
549
220
194
848
787
412
582
595
233
753
222
77
480
341
494
696
598
11
700
455
675
555
884
585
598
937
128
849
457
284
742
865
733
836
591
383
611
70
604
196
345
976
116
334
567
772
300
197
863
449
404
581
721
142
899
890
152
736
903
389
932
59
482
73
406
692
482
534
229
748
584
277
258
893
176
60
47
567
432
190
25
572
757
162
531
198
337
697
275
585
105
985
723
320
859
941
134
124
625
346
658
95
601
29
11
126
199
658
696
57
745
293
670
590
400
564
630
223
705
250
820
263
982
62
362
521
493
643
645
388
847
137
216
859
680
226
970
489
14
161
170
421
44
170
955
387
301
595
575
17
291
245
528
904
729
754
149
576
444
172
962
980
867
649
302
109
773
783
269
127
621
195
91
725
375
892
354
462
200
279
362
535
771
14
95
756
247
479
867
521
132
331
764
203
371
440
422
705
993
553
489
887
575
185
395
200
572
553
662
127
311
873
77
977
63
944
474
178
155
783
749
423
504
972
16
986
339
533
470
28
91
379
598
958
627
812
916
790
51
134
231
944
274
137
803
145
437
161
440
902
58
413
693
541
455
482
838
949
621
310
251
949
193
399
130
742
611
726
233
925
853
616
476
419
353
859
766
36
867
451
396
536
52
656
729
742
495
529
626
719
759
654
268
53
775
594
623
988
580
496
755
568
937
347
621
946
887
621
747
693
642
441
435
316
495
919
734
154
670
44
426
505
63
352
741
116
902
593
302
172
196
826
67
496
725
654
690
997
991
822
728
302
218
25
650
114
13
564
397
85
727
466
557
904
939
732
892
824
700
720
15
126
366
7
518
835
899
708
760
567
504
948
801
544
330
36
691
691
764
991
435
180
538
226
478
978
461
567
470
748
98
304
417
917
130
628
61
852
438
639
458
863
192
91
318
190
343
180
575
206
956
968
61
832
768
492
917
568
198
213
529
573
801
221
405
981
800
535
346
982
918
897
704
249
195
720
295
952
861
208
748
963
603
218
699
844
789
154
238
859
288
8
461
562
526
703
800
495
346
35
60
124
52
871
712
438
731
706
64
578
583
345
392
423
539
249
946
342
855
64
65
201
765
920
267
288
481
386
285
17
35
358
518
169
490
750
233
933
42
586
181
207
411
964
986
457
684
439
794
932
518
527
155
175
131
436
91
603
98
614
587
357
317
363
503
793
853
639
59
722
599
85
573
961
802
517
117
849
556
368
91
114
297
37
516
911
184
715
998
864
15
989
915
711
965
497
358
486
36
921
761
217
546
890
946
800
380
707
533
52
28
400
259
944
597
272
784
651
94
976
999
403
304
173
640
42
461
1
326
846
750
875
694
450
407
669
437
613
789
918
463
195
350
520
259
942
880
327
844
575
724
149
330
258
958
941
233
706
634
370
141
107
310
536
238
511
31
338
516
573
801
891
166
333
404
411
809
255
80
205
698
861
210
771
983
137
617
483
447
336
548
63
868
931
687
811
302
246
795
586
141
735
671
652
749
958
219
793
846
70
277
560
593
5
783
125
485
650
553
952
755
969
639
455
996
443
798
845
62
194
53
644
161
880
745
685
220
749
736
1
244
270
610
681
389
388
844
643
920
777
898
272
31
428
106
49
777
515
50
633
966
782
836
305
968
618
314
362
804
578
818
821
781
351
452
734
182
94
293
548
213
596
131
182
487
950
542
936
818
304
133
886
979
768
804
194
402
737
724
620
496
766
514
574
353
577
824
253
177
978
99
747
658
252
805
547
856
65
828
499
920
39
67
142
75
932
444
290
905
798
731
884
875
589
570
445
439
399
66
874
809
980
129
984
694
184
526
900
828
731
269
370
170
53
494
135
992
18
522
696
920
987
104
249
164
28
194
68
819
107
758
329
116
697
221
227
934
600
194
251
733
708
978
646
283
75
221
405
225
930
780
659
549
210
487
904
534
781
68
362
540
750
884
684
359
198
513
318
444
194
474
137
477
190
520
336
190
760
17
165
270
167
891
841
456
446
502
807
670
510
610
609
130
289
257
828
899
90
11
869
272
128
532
922
725
688
795
78
882
481
654
415
130
524
655
840
16
344
107
615
578
353
487
789
64
15
181
211
312
838
422
407
225
249
20
349
338
155
177
92
499
360
200
303
51
29
452
959
724
70
201
860
645
674
377
164
480
205
378
835
767
331
224
766
896
566
300
344
56
367
902
391
670
559
569
745
527
136
941
227
844
406
483
375
946
71
982
112
148
37
149
493
644
700
994
738
946
974
931
66
431
555
706
236
105
811
308
283
546
169
10
671
314
101
553
968
808
628
295
206
679
748
799
259
411
385
980
965
630
225
397
208
16
286
712
846
437
211
645
205
83
13
975
834
899
468
276
357
616
423
104
551
999
47
302
223
740
452
932
84
575
153
93
551
793
586
568
356
310
247
781
905
851
58
35
548
596
232
382
337
873
280
762
362
57
778
223
487
884
162
170
127
808
149
550
764
865
327
834
25
724
93
435
499
297
390
965
954
285
629
327
213
514
776
196
805
798
824
883
398
295
785
913
161
38
884
923
458
385
856
621
691
619
137
638
691
850
231
73
770
632
756
396
475
457
494
173
73
372
277
783
43
500
672
857
186
180
279
718
483
743
870
477
486
723
775
776
882
414
638
397
815
246
168
61
725
422
531
809
720
605
843
269
981
221
569
994
282
134
734
776
486
1000
552
527
786
640
439
885
540
120
439
153
777
77
727
588
853
984
249
332
249
713
507
453
241
748
185
691
1
816
600
500
708
574
945
859
424
188
893
195
811
323
429
440
235
75
703
893
464
884
282
100
937
267
440
380
554
558
10
16
16
434
900
345
37
171
588
162
146
996
758
923
385
842
809
187
929
89
117
648
555
591
792
856
926
411
165
449
846
191
382
309
13
16
305
540
311
972
391
614
320
338
309
316
609
468
884
354
280
21
345
636
443
109
970
245
551
325
964
82
975
372
805
12
841
190
359
74
868
71
767
18
895
230
501
948
851
701
999
382
160
231
965
362
940
37
795
578
923
943
540
641
723
379
516
741
904
212
948
931
351
150
11
193
604
765
265
263
116
755
736
895
917
190
856
904
778
881
38
840
767
917
931
597
35
670
302
614
806
242
29
563
755
425
932
610
430
708
35
366
907
798
354
646
637
382
545
24
293
609
514
958
497
836
668
952
503
750
567
821
249
877
599
627
732
822
731
278
307
338
540
71
345
454
483
722
674
459
805
522
341
465
590
311
556
687
186
905
112
299
651
456
178
925
922
968
142
416
129
885
80
532
840
192
527
550
64
991
413
641
509
842
485
24
940
490
997
576
489
772
228
538
396
588
177
433
2
846
854
113
751
182
718
112
607
89
143
110
544
804
295
374
722
930
415
508
547
317
315
690
56
153
833
856
964
586
109
969
304
418
799
586
754
624
761
436
668
459
341
604
316
942
85
231
53
340
628
340
962
102
528
515
5
357
18
680
903
696
22
150
731
473
272
462
707
256
42
235
787
385
841
445
415
822
394
64
256
589
354
954
803
159
515
300
504
61
721
596
469
865
284
416
846
410
482
750
719
851
631
705
701
625
297
737
456
941
449
410
72
768
732
859
516
568
596
774
433
240
719
723
185
817
986
62
346
472
355
532
824
299
54
849
407
157
916
269
829
581
115
142
333
390
237
943
378
185
366
113
291
327
861
333
668
379
581
515
786
225
585
894
603
241
747
68
701
977
315
764
140
755
161
374
310
507
358
36
748
911
775
152
363
637
564
725
688
53
787
864
551
290
937
113
72
961
759
1
958
136
642
379
906
412
786
612
310
57
525
720
579
198
467
857
127
35
548
349
492
844
726
637
82
326
797
88
806
521
721
616
172
39
939
447
494
883
385
163
525
476
281
384
165
813
357
32
916
852
827
171
367
334
323
827
347
261
976
29
324
151
43
550
245
990
752
475
316
583
574
779
130
553
716
540
153
857
466
294
830
59
949
302
459
8
950
176
568
772
760
389
713
882
379
700
516
981
1
395
270
960
456
570
636
537
138
379
794
17
8
284
896
682
482
868
840
830
323
697
190
17
213
47
512
440
332
67
552
738
89
57
430
698
145
150
482
491
2
579
447
89
716
133
480
472
757
131
827
65
645
457
110
617
725
747
841
379
413
841
184
17
271
978
997
164
535
45
888
902
89
369
338
735
429
177
949
825
855
861
546
357
5
604
147
888
821
779
781
471
249
748
790
146
264
338
479
110
318
343
954
535
928
833
560
495
926
927
579
950
848
959
754
54
20
643
766
321
205
915
3
344
40
636
837
819
115
227
145
623
261
600
4
540
475
476
331
55
7
280
719
288
284
331
901
781
734
969
53
315
69
591
649
366
268
318
660
142
314
145
708
325
720
993
190
809
42
29
499
752
827
987
203
180
934
5
452
269
758
640
937
156
637
347
460
787
657
663
503
922
155
745
276
821
414
721
339
582
470
508
296
345
476
370
7
788
773
508
451
426
674
410
666
250
973
508
159
126
375
936
804
218
356
830
536
405
445
659
49
302
558
529
341
22
817
286
162
263
225
486
343
666
672
4
528
608
31
116
77
806
498
388
730
127
919
607
203
4
566
265
41
726
738
861
899
664
567
341
919
164
649
574
34
479
449
648
826
569
955
120
38
45
716
101
964
836
245
174
708
380
707
729
756
275
6
240
383
358
628
362
154
126
81
524
216
264
358
846
100
789
633
809
483
990
291
73
742
909
500
274
143
584
739
377
205
647
93
426
109
161
672
106
32
780
220
569
931
397
797
412
605
471
498
492
854
110
263
562
138
836
228
290
453
651
500
326
64
668
894
515
301
111
974
229
920
922
669
54
386
560
859
741
30
841
578
439
223
827
911
677
599
824
215
493
878
552
62
386
28
401
149
495
349
489
495
504
544
931
427
299
25
313
225
346
472
888
802
63
170
411
461
219
735
842
603
537
643
396
252
215
405
503
362
62
307
335
212
281
404
440
621
728
843
925
312
631
664
340
548
353
917
111
40
770
350
915
257
207
906
877
426
719
968
830
983
670
657
206
707
210
432
252
504
239
957
443
667
919
442
894
443
561
701
546
891
34
734
667
373
418
944
976
482
710
51
295
835
851
304
193
995
199
907
511
687
825
417
19
612
733
475
704
423
133
413
345
823
431
191
117
352
460
602
913
140
804
899
972
787
766
839
181
609
636
610
120
633
445
281
490
141
323
234
105
25
900
470
29
924
934
836
721
904
493
977
344
454
578
266
454
685
20
41
365
932
854
242
412
394
150
927
194
63
445
220
601
945
506
950
152
519
162
620
665
419
301
370
812
589
975
265
461
525
718
629
6
781
842
81
66
601
453
623
53
401
387
431
90
838
95
966
691
376
718
625
414
579
281
470
449
837
950
464
694
882
778
272
452
240
218
894
276
703
949
342
896
36
252
94
352
369
248
305
678
165
786
594
499
222
695
802
922
890
381
240
942
588
488
840
395
742
439
98
174
456
191
833
33
601
481
632
776
516
163
298
93
166
965
721
567
457
166
418
641
359
219
369
439
655
317
912
385
404
269
172
494
662
809
934
80
628
634
890
341
121
93
957
998
227
363
685
670
27
426
836
199
546
891
882
470
455
972
525
594
607
496
318
495
160
883
144
36
942
419
609
852
691
29
351
927
972
938
937
814
927
308
237
80
463
954
163
226
145
711
189
828
831
896
369
125
63
566
437
608
312
969
149
417
453
636
239
524
258
87
236
748
261
2
906
608
104
1000
292
917
345
903
131
789
740
448
956
446
250
955
331
784
337
370
464
180
652
435
947
427
886
490
435
11
365
543
922
143
965
805
650
117
62
831
807
587
508
803
915
299
102
213
203
661
600
441
324
302
103
241
497
410
554
197
517
226
164
565
104
536
813
736
764
382
871
761
654
507
412
998
947
223
493
943
859
518
59
761
787
196
996
845
993
770
71
973
883
642
791
294
201
826
708
403
408
99
340
243
96
16
655
421
535
626
30
805
353
142
694
948
928
1
945
949
244
961
810
885
884
929
449
796
334
191
274
564
949
596
705
677
799
28
458
28
97
201
540
395
49
403
403
185
808
320
290
352
646
486
419
143
612
222
525
475
692
152
220
276
947
496
798
119
174
419
386
810
405
600
812
363
943
82
147
3
699
200
650
381
315
33
776
196
931
417
955
819
470
15
106
297
5
326
224
342
133
787
934
505
241
345
585
784
228
940
343
306
557
361
724
581
462
863
203
65
770
709
841
398
62
580
369
746
864
371
789
143
96
464
360
567
309
7
786
784
111
49
514
648
748
681
342
645
28
446
915
941
650
393
309
109
508
85
592
998
757
782
174
907
243
782
769
382
399
615
20
408
885
366
182
766
18
924
769
600
558
353
738
20
479
904
628
678
179
409
22
842
2
933
864
414
19
582
442
731
795
331
311
745
239
554
13
353
721
723
252
243
337
388
57
598
583
111
573
400
727
522
343
885
853
25
322
897
890
980
425
510
935
369
89
299
831
63
214
91
288
813
830
824
765
980
34
411
993
862
40
142
270
183
696
203
601
946
421
356
350
378
357
691
327
160
432
611
105
452
178
926
953
510
377
979
988
819
57
223
983
778
909
586
843
895
949
244
918
373
114
113
170
725
554
542
708
774
551
130
354
966
378
599
728
442
908
920
782
743
454
670
853
296
159
732
80
100
219
984
459
132
366
624
908
33
344
89
451
590
532
337
43
357
517
419
625
535
132
862
677
879
449
351
968
964
231
635
165
632
640
328
711
804
330
538
664
139
650
838
232
211
327
118
373
964
916
301
127
238
251
714
340
26
369
165
41
984
645
413
21
416
385
764
88
579
770
7
79
716
818
732
939
635
990
381
99
38
166
33
918
10
11
12
204
295
105
907
675
6
862
487
753
420
937
268
284
366
742
244
598
535
709
374
833
677
165
935
598
314
24
814
851
49
10
100
350
1000
816
105
142
175
397
80
338
852
609
452
867
147
520
336
968
984
22
490
957
633
832
605
184
836
551
26
173
271
242
570
632
787
891
110
422
417
189
966
572
615
314
976
134
584
769
300
999
820
885
646
801
200
290
610
681
38
516
264
2
548
902
943
63
33
152
443
492
994
207
463
257
2
586
192
202
874
979
393
563
192
682
212
212
647
397
183
233
63
36
616
45
182
440
603
441
473
319
379
858
288
322
685
650
648
849
54
363
860
133
675
852
898
143
578
551
234
63
439
378
339
475
190
575
641
858
984
228
96
712
790
344
852
416
33
146
735
942
269
678
381
643
813
884
900
668
623
112
878
984
505
361
408
586
892
657
542
267
6
684
276
210
239
124
698
749
949
232
432
884
700
831
886
517
147
254
84
919
426
776
76
637
886
702
998
909
455
615
876
684
753
244
166
463
315
15
847
571
908
669
606
897
18
220
282
795
992
143
276
647
236
926
68
513
89
16
348
418
716
763
495
87
415
147
330
344
229
5
119
990
667
940
765
677
610
314
48
219
207
571
502
776
686
605
264
613
495
79
787
412
148
371
842
716
467
318
636
664
652
48
176
82
762
942
260
916
726
246
585
162
995
900
504
739
258
931
906
180
481
143
552
664
633
896
931
623
107
499
388
121
808
92
820
257
254
927
738
66
890
663
830
808
968
594
498
57
1
757
990
696
793
506
872
815
493
451
582
476
940
625
718
519
810
368
535
876
727
693
838
367
544
824
103
573
457
218
190
175
494
579
434
114
166
330
285
20
772
531
896
611
912
456
224
215
258
930
279
109
537
30
143
115
959
953
224
785
69
698
41
543
64
701
499
353
197
707
220
844
756
984
995
330
493
457
853
834
75
436
531
55
304
412
383
179
387
830
858
611
497
821
771
952
252
645
456
33
469
974
818
406
758
237
996
458
114
929
44
228
597
185
584
105
665
934
878
778
458
646
133
233
581
995
132
112
528
810
504
466
919
286
7
777
146
770
247
140
851
386
113
676
917
404
86
553
265
513
247
496
843
100
487
274
617
248
915
490
256
386
941
897
466
429
831
623
616
836
804
898
360
186
890
351
476
788
839
466
11
322
352
553
151
745
780
476
916
490
212
390
910
515
582
991
876
889
20
101
727
440
170
927
60
415
610
24
899
278
839
791
561
487
499
332
83
590
649
628
613
12
933
287
543
699
430
572
890
169
821
6
675
557
268
650
568
8
47
19
93
102
574
726
80
31
892
139
836
949
113
738
730
241
564
412
497
466
591
613
591
356
68
166
323
610
676
520
384
139
903
428
581
64
562
331
230
61
328
232
759
534
431
465
479
752
183
579
376
276
445
477
33
939
510
84
478
193
112
70
828
842
447
564
97
73
150
393
419
214
150
87
251
810
209
793
830
512
721
275
255
685
67
403
105
878
385
841
421
42
159
217
218
897
401
668
425
935
556
538
299
349
449
923
918
593
754
958
314
395
476
990
150
757
891
247
658
916
246
234
684
259
250
811
313
958
79
873
492
386
163
600
514
489
510
466
977
892
684
627
84
929
874
797
732
723
636
473
876
153
37
175
81
791
900
439
990
931
772
406
705
380
64
230
694
14
514
975
905
18
781
319
227
307
483
193
293
893
466
387
899
859
416
337
981
146
186
477
184
608
391
48
547
623
854
765
706
102
491
509
347
923
98
91
321
638
275
171
964
817
418
633
693
544
330
47
841
372
478
389
69
543
349
843
410
362
674
339
146
422
514
452
268
805
320
454
245
454
141
565
178
697
64
927
174
272
844
434
983
277
422
281
494
182
701
56
697
418
510
248
92
78
156
278
353
953
361
559
241
462
648
622
387
45
434
49
578
234
213
825
622
907
171
704
670
246
534
378
152
475
728
564
95
799
185
574
666
848
232
619
220
552
58
843
26
600
183
81
86
558
207
387
145
266
866
701
99
359
599
389
457
614
876
2
432
381
518
313
548
511
138
584
323
53
588
63
734
483
12
896
692
382
687
25
637
290
366
115
764
927
206
262
70
100
724
30
598
383
417
369
776
99
839
75
731
231
923
781
814
612
332
899
330
171
432
527
663
72
235
135
559
270
356
721
319
419
558
236
56
66
945
293
958
759
256
552
725
53
976
751
951
360
192
16
243
280
211
962
294
334
965
102
978
999
130
252
740
562
726
942
234
586
660
331
196
722
327
748
995
185
906
806
180
472
437
930
604
778
110
318
385
154
465
558
47
650
328
559
668
564
429
67
771
440
569
692
983
652
113
342
198
249
378
946
96
219
135
574
391
509
107
409
105
935
788
549
509
559
356
273
78
285
769
243
12
150
326
74
357
249
155
884
771
330
73
672
328
811
243
870
507
414
897
9
714
632
114
177
256
996
365
908
678
454
38
176
763
215
687
431
306
92
81
978
986
727
455
564
248
64
527
715
154
95
967
254
591
223
983
402
21
542
634
71
248
948
266
267
276
297
202
994
421
740
459
702
266
962
781
119
939
303
729
225
453
635
921
289
513
438
771
91
303
722
214
918
228
332
12
467
509
666
173
540
800
82
911
290
737
31
367
832
413
528
987
219
317
664
58
156
186
723
429
324
560
882
812
867
566
642
411
400
612
892
849
917
197
934
460
54
42
912
96
529
72
822
504
964
573
678
191
948
18
475
459
943
637
318
929
547
801
427
466
722
680
787
881
810
431
887
144
566
403
317
184
950
431
17
469
158
335
602
730
199
149
506
147
354
454
661
248
17
410
27
592
734
752
597
16
763
37
408
869
80
923
701
191
583
74
601
222
176
623
614
1
531
735
774
45
579
943
502
273
214
395
117
409
254
49
445
52
451
169
187
515
211
154
511
285
743
881
878
676
552
240
207
823
550
466
350
701
558
225
273
215
667
123
487
789
722
483
25
37
198
752
734
294
863
899
698
754
912
483
385
983
726
888
509
336
992
354
648
642
702
52
380
129
455
424
82
146
570
394
540
720
749
889
233
356
402
278
465
770
316
988
547
457
26
548
849
71
116
755
892
606
691
488
576
305
410
921
286
985
835
554
900
248
290
511
634
645
87
34
277
398
761
938
590
741
911
92
575
279
353
651
848
21
530
845
599
903
581
631
460
691
22
408
158
120
720
281
6
7
744
92
112
863
714
530
706
223
463
165
122
507
199
177
789
737
848
865
47
839
939
798
726
574
220
577
210
384
168
749
135
544
694
371
970
62
639
80
457
710
119
300
328
418
361
397
724
10
452
157
508
928
334
989
5
166
464
602
729
91
768
755
372
222
928
843
624
322
576
741
444
343
666
294
4
874
152
337
869
731
125
883
942
268
707
432
302
762
353
941
366
990
676
78
729
726
536
841
626
420
979
465
211
770
479
828
747
252
140
260
373
907
683
689
309
878
542
609
242
214
911
215
184
484
341
346
235
570
384
621
566
840
793
222
410
560
10
340
12
27
37
196
291
396
272
890
449
586
582
95
857
977
700
710
356
826
28
185
525
449
38
167
568
289
792
464
212
875
525
147
426
594
851
717
805
883
923
908
215
166
777
648
623
401
190
117
107
570
586
624
698
848
942
256
54
456
161
843
968
389
98
816
358
343
278
971
702
116
351
952
848
729
503
553
743
275
368
535
903
273
470
747
408
899
847
767
745
30
326
174
119
457
846
789
733
983
348
955
92
386
10
957
610
355
9
211
685
622
603
716
898
443
8
596
218
484
484
236
913
958
41
652
357
530
420
251
105
122
322
46
387
258
391
765
663
987
136
979
969
744
763
560
620
740
928
328
195
595
493
669
892
960
718
320
38
831
745
255
966
86
834
780
524
554
578
562
198
564
264
261
203
512
577
866
922
428
123
614
761
940
600
602
829
292
12
781
843
269
8
93
324
999
290
877
435
579
46
559
819
409
530
852
368
913
250
324
167
71
673
295
790
798
44
408
687
755
654
166
686
607
897
920
509
105
513
523
773
613
713
933
167
871
280
524
352
845
326
770
672
487
117
282
957
126
250
861
506
965
531
350
879
887
91
621
249
346
638
896
886
630
247
5
803
207
777
870
741
157
803
672
405
948
970
715
340
916
761
939
903
857
23
417
541
91
1000
939
985
184
255
946
39
290
610
678
338
723
162
395
854
946
500
889
921
627
499
362
262
799
413
890
827
454
584
376
259
66
753
845
437
680
810
421
892
163
866
121
814
162
660
853
26
101
667
659
558
301
738
270
394
908
758
538
567
878
576
127
1000
691
437
157
420
815
244
148
215
216
228
702
328
340
40
844
146
96
850
849
878
302
762
677
106
975
748
844
5
612
349
677
274
295
587
416
917
70
894
559
873
539
363
177
922
35
319
649
443
33
9
455
362
713
206
156
58
695
654
714
119
12
578
605
539
328
928
7
391
245
637
472
38
332
945
118
701
124
724
325
525
937
877
343
347
822
34
24
56
328
249
60
741
73
845
780
870
277
357
530
354
541
283
115
672
133
451
604
225
969
900
41
659
301
578
254
226
823
566
993
147
561
230
109
560
436
469
323
865
837
189
424
186
880
224
410
246
298
218
151
127
59
363
676
312
878
491
42
882
762
739
74
969
606
899
963
380
658
594
827
805
332
644
838
200
483
326
496
713
738
744
899
4
895
215
654
936
727
361
179
387
739
635
730
349
564
87
409
619
718
517
819
71
378
587
750
962
694
77
510
736
896
238
45
537
127
96
34
5
504
668
498
941
361
249
280
151
27
331
976
69
783
274
479
800
808
514
347
854
56
984
617
156
977
421
529
880
942
396
858
297
9
238
189
66
438
508
552
376
938
302
248
899
222
474
605
799
837
795
637
898
634
213
283
719
436
582
969
281
704
711
733
435
979
106
51
47
936
543
785
509
694
481
421
911
864
378
827
702
484
164
330
815
593
491
810
51
703
876
842
970
838
553
679
672
130
637
983
626
176
211
785
120
504
84
114
42
517
235
74
388
238
453
955
352
24
246
108
877
168
877
923
282
973
305
215
925
453
881
736
941
283
863
327
710
995
242
430
122
724
865
292
635
978
587
232
840
14
7
728
500
410
378
968
42
322
431
702
63
760
194
908
723
891
365
806
812
70
427
259
878
781
492
406
37
143
818
698
18
977
46
138
519
680
448
646
193
328
933
935
442
471
100
190
736
86
370
145
338
12
127
847
188
998
824
538
160
151
220
575
98
224
275
252
808
634
727
728
674
546
62
979
693
667
406
866
469
612
836
944
178
843
773
598
586
209
390
472
958
64
424
893
83
794
392
208
735
311
981
519
554
782
271
267
757
376
564
557
80
321
798
885
48
929
918
139
19
540
123
372
429
515
608
863
333
524
276
397
641
366
906
542
408
482
426
933
169
122
288
219
585
867
391
387
591
834
662
624
849
417
187
744
531
867
737
500
382
377
633
741
557
553
176
475
948
369
266
410
599
716
418
392
305
664
115
508
723
433
328
298
109
830
69
654
340
641
53
493
9
16
888
219
183
454
745
332
906
330
106
266
633
302
32
695
556
82
360
95
234
261
391
305
9
849
905
196
464
177
813
326
553
630
338
650
110
460
402
901
158
555
799
296
813
650
812
572
590
897
175
193
632
125
653
749
688
381
66
203
700
560
277
655
479
10
539
719
292
7
569
428
108
923
941
865
920
701
657
294
790
995
287
696
250
958
671
1000
224
185
989
216
947
785
951
925
197
870
958
252
772
53
357
550
319
641
334
494
514
358
552
200
111
316
375
248
585
925
431
257
883
139
264
701
370
175
73
245
130
429
865
751
655
809
861
479
389
133
688
708
715
533
673
197
773
59
587
401
902
782
280
356
627
746
963
510
807
55
354
507
30
228
480
168
330
724
721
440
82
172
582
119
245
440
761
509
201
131
314
12
86
478
97
832
869
900
224
603
433
664
965
764
546
215
367
931
946
716
914
352
711
276
672
772
710
139
730
670
223
847
206
904
730
17
724
222
476
899
87
7
668
330
779
844
42
60
82
230
134
649
814
766
762
340
150
733
135
329
535
773
506
880
446
762
495
560
639
635
28
706
570
38
341
886
860
230
663
738
66
537
981
70
488
46
782
524
448
934
756
395
281
968
251
461
270
292
702
782
888
550
318
464
10
765
102
339
200
176
653
349
792
390
254
187
252
806
501
393
202
259
50
695
594
209
138
830
737
622
182
482
256
885
108
257
643
723
79
790
709
83
923
198
159
419
874
100
468
592
215
303
453
885
24
114
232
247
514
936
749
952
376
436
698
302
137
123
433
881
791
601
458
118
868
116
141
625
638
288
602
822
418
40
113
879
752
849
946
884
838
386
324
465
682
503
13
768
372
317
162
859
313
817
161
88
434
37
677
907
195
332
519
963
678
706
665
30
160
459
602
465
372
648
110
472
54
985
771
361
517
823
757
392
680
832
922
563
435
822
822
842
267
903
39
973
771
858
126
947
60
153
537
626
125
496
166
823
851
229
495
335
763
117
877
47
554
310
218
246
122
337
138
713
125
991
740
979
56
895
256
396
439
340
178
291
43
718
971
554
937
488
77
428
796
181
744
187
132
354
143
595
999
777
344
786
311
386
5
217
110
696
11
891
996
422
908
922
455
58
705
793
25
23
467
420
52
764
227
188
310
921
893
697
891
237
208
840
612
412
327
212
604
509
253
539
924
832
175
10
762
421
761
914
282
463
591
940
221
895
175
907
88
497
511
388
260
543
692
945
284
904
860
217
435
86
713
123
951
334
857
830
380
324
521
939
174
410
531
534
2
647
996
392
241
11
868
626
776
327
352
489
526
443
222
894
104
72
191
450
622
568
883
431
934
591
374
192
562
294
951
965
106
148
499
856
221
8
910
115
130
347
979
457
204
837
543
251
350
644
19
939
836
837
88
886
700
310
987
203
58
483
776
781
516
843
967
884
321
64
143
174
103
66
495
960
821
851
771
824
23
395
768
462
637
157
333
790
294
27
826
859
616
637
115
117
986
11
498
906
90
457
376
858
886
477
103
15
746
192
223
114
220
478
205
434
241
549
870
6
621
199
926
810
385
313
441
759
800
522
582
909
988
88
704
336
642
179
675
567
684
733
384
271
664
987
504
155
330
583
950
660
60
897
912
120
808
825
15
455
776
855
938
403
302
644
752
507
329
699
405
775
400
4
962
28
331
597
700
400
586
172
695
394
913
750
267
173
967
348
567
469
518
355
594
639
303
23
166
875
763
70
700
536
694
915
187
885
330
455
399
260
475
614
206
855
91
150
859
822
185
276
217
396
925
753
225
73
663
1000
346
672
940
655
326
263
625
745
366
544
38
313
735
236
285
892
932
450
62
701
702
799
873
826
657
218
945
920
728
80
108
147
440
226
596
223
805
915
981
365
681
596
474
918
582
573
413
209
280
337
41
917
986
362
631
899
573
616
576
888
64
926
337
1
583
587
35
273
60
277
8
727
243
452
932
650
5
856
897
789
484
675
432
178
342
200
592
179
327
528
125
107
334
978
179
484
384
398
184
611
308
482
378
593
395
530
858
409
975
851
209
919
714
121
520
921
361
588
24
499
880
959
715
960
115
169
3
571
668
17
922
174
211
797
419
513
260
687
985
750
322
592
284
243
444
576
415
100
372
790
180
438
968
41
31
525
43
722
382
208
461
887
640
105
266
646
581
63
546
906
708
279
946
726
810
303
66
183
244
879
452
712
393
184
534
343
335
589
645
105
5
484
234
162
59
77
454
890
167
319
598
231
716
279
273
102
764
337
753
574
592
585
708
803
426
638
398
427
714
909
425
257
835
48
392
577
302
871
132
358
301
596
695
948
872
607
964
610
198
323
572
366
196
911
788
211
72
772
189
665
588
725
191
44
519
777
8
568
207
202
182
618
156
422
608
24
341
830
874
274
274
269
852
910
887
359
657
187
1
231
520
289
465
525
645
983
55
698
818
649
894
789
408
15
424
777
398
789
974
608
258
595
551
760
796
285
781
948
613
735
859
196
413
708
943
53
210
204
699
154
457
29
587
684
174
942
42
566
469
871
932
336
229
137
520
752
344
549
724
158
565
520
617
485
978
66
968
577
118
667
124
223
950
486
675
848
307
369
166
360
869
379
572
31
470
370
393
614
290
234
982
134
544
16
170
911
340
48
339
398
739
625
838
389
452
493
38
972
239
627
391
369
843
341
572
470
185
762
136
424
645
92
184
136
481
912
184
892
814
946
460
613
167
345
838
460
232
581
603
558
404
428
229
679
633
387
314
576
314
117
757
512
250
93
515
236
223
768
196
300
332
960
347
132
51
69
526
736
920
971
172
238
882
152
830
728
531
683
512
56
987
170
841
254
644
674
158
273
809
912
964
576
122
767
883
932
678
232
867
431
990
440
484
355
295
367
957
46
182
114
94
291
233
424
336
115
172
233
987
48
981
599
61
80
632
323
321
580
308
928
802
335
503
444
532
784
955
615
209
226
131
723
328
471
938
242
591
947
356
878
508
778
966
412
730
701
708
926
42
989
755
624
909
744
94
492
133
9
254
433
494
165
631
392
206
984
52
188
641
525
505
422
52
796
487
915
976
710
20
525
557
430
221
130
313
617
213
765
744
447
315
637
753
539
691
778
73
54
49
618
742
351
582
635
219
499
38
557
920
870
741
282
763
800
380
809
849
3
611
992
529
26
885
849
936
536
377
497
506
627
635
521
158
688
314
734
567
549
405
826
395
792
472
376
448
131
707
47
469
708
86
568
678
7
480
272
222
839
368
557
442
511
703
610
200
863
562
136
559
325
436
651
795
540
416
67
45
354
65
968
911
213
463
929
972
59
782
723
493
857
752
48
562
762
544
661
505
803
930
452
749
622
57
54
173
486
812
5
640
308
539
399
600
841
842
173
601
589
285
909
63
205
84
71
918
323
304
105
580
835
633
734
231
598
551
57
592
421
604
789
221
11
513
87
819
183
82
933
236
311
187
955
642
437
682
922
813
909
692
870
584
728
609
975
327
980
70
835
722
908
372
774
190
163
10
162
112
759
541
496
337
76
539
183
570
26
182
534
934
149
938
470
364
983
884
852
533
511
413
114
686
889
510
137
112
916
270
858
952
940
67
179
730
943
639
140
282
597
339
152
727
970
2
348
743
384
187
725
706
651
40
831
165
541
649
179
722
883
584
472
644
119
236
949
417
508
680
876
39
407
80
275
31
236
29
463
54
788
814
887
512
524
346
33
740
384
334
891
182
400
381
588
496
126
840
295
650
478
639
475
894
79
803
837
954
637
60
135
927
167
740
55
116
125
181
32
496
638
954
760
581
44
555
535
222
902
631
352
242
494
432
828
923
579
932
643
8
824
990
134
328
906
987
121
123
762
622
809
866
826
918
827
696
389
51
107
606
411
303
268
139
210
300
667
693
452
715
50
484
798
774
19
839
345
235
150
773
764
989
664
733
633
78
3
992
23
700
528
417
817
738
834
235
615
461
840
989
301
279
909
84
549
887
734
200
573
688
624
382
425
121
125
777
12
411
621
877
808
297
669
561
897
492
350
440
610
5
840
788
517
932
741
802
942
31
441
93
474
188
939
33
208
892
95
76
541
942
252
212
397
939
511
502
711
534
746
999
831
34
583
477
266
710
178
51
855
91
620
174
14
580
157
522
194
985
261
949
28
922
758
61
990
605
863
916
522
236
962
55
729
64
437
335
715
185
643
47
566
348
402
369
796
324
998
547
782
910
742
61
370
255
609
694
354
990
328
607
968
614
561
471
889
668
500
251
513
513
290
433
394
932
165
400
844
360
88
153
638
276
996
770
655
175
436
850
80
588
518
663
472
813
606
897
609
371
130
698
529
737
183
164
583
535
370
576
653
226
457
421
899
309
973
722
524
170
846
235
99
25
518
874
922
850
782
83
726
795
718
959
826
338
733
637
439
362
657
829
479
416
286
415
619
628
518
703
772
164
476
277
442
641
607
387
581
603
766
452
686
57
724
599
898
36
382
66
724
347
183
999
886
999
905
370
470
258
22
738
209
940
306
136
257
324
217
618
261
47
850
914
877
413
950
188
146
845
540
116
285
604
213
372
539
481
38
137
696
909
328
438
764
817
221
953
66
595
156
417
740
747
814
932
197
151
68
278
616
372
766
783
949
141
961
463
246
920
301
873
308
487
885
599
842
576
815
359
283
937
68
476
432
597
48
846
883
742
401
622
973
369
204
522
657
813
680
56
255
291
948
988
538
873
147
50
931
641
453
228
973
379
150
990
304
806
922
431
585
231
952
650
741
535
270
626
851
533
6
485
798
99
873
333
535
939
233
755
455
500
582
682
866
332
123
570
49
139
410
723
692
883
679
194
775
569
580
860
115
730
543
177
880
243
848
642
322
819
824
155
888
387
288
347
621
670
438
402
499
409
962
81
908
83
24
459
2
470
144
337
61
54
712
432
329
132
29
228
989
430
319
775
101
205
109
856
336
61
753
659
298
212
625
507
74
474
694
248
394
89
791
648
465
339
833
462
86
47
699
924
146
245
238
65
977
704
90
605
314
554
640
165
823
918
415
211
245
359
687
436
205
933
861
247
657
806
471
676
752
758
264
273
627
307
876
505
262
909
97
759
71
408
555
299
346
912
942
431
17
344
572
691
450
212
135
73
158
525
28
218
379
385
503
974
432
506
208
947
673
793
374
504
604
179
52
164
459
79
278
500
98
231
13
452
637
146
22
435
568
119
579
751
515
516
63
571
936
96
35
221
254
210
353
555
901
49
253
993
741
549
81
160
140
169
554
149
749
515
992
142
702
726
966
494
499
567
207
400
332
468
398
976
984
65
714
908
702
413
556
814
677
681
967
135
805
45
643
679
475
459
262
882
981
204
140
509
4
401
809
774
336
168
221
787
632
746
693
849
517
708
608
356
826
305
134
943
98
132
909
127
691
530
730
848
66
592
747
236
831
188
606
435
135
169
223
494
865
797
645
204
881
499
519
214
241
210
229
967
939
982
696
743
192
997
158
625
749
815
976
278
953
521
689
236
588
389
65
811
601
848
851
845
874
812
326
262
139
885
474
771
987
576
835
163
674
395
610
315
87
644
641
441
808
782
255
93
675
468
756
165
620
789
577
449
881
714
709
307
818
506
40
668
719
713
677
882
962
326
132
919
793
901
530
15
847
751
601
169
198
779
308
801
417
199
385
499
603
150
959
8
825
178
663
535
752
662
368
982
497
513
693
964
873
923
991
316
320
478
371
325
732
708
634
130
309
19
693
537
320
22
192
32
379
421
521
884
418
52
379
100
65
100
361
387
513
263
774
465
329
391
58
803
825
166
708
323
795
485
582
676
409
525
815
466
35
912
353
178
591
23
286
656
775
207
747
662
216
653
123
431
115
662
742
175
446
368
963
165
155
300
860
348
97
731
244
481
609
473
835
396
762
616
794
325
296
727
681
181
192
211
116
314
608
822
96
536
688
846
947
153
316
60
367
311
484
416
866
239
340
310
197
855
363
422
18
760
337
380
152
884
992
895
254
880
214
625
629
940
716
722
226
839
949
934
536
905
797
150
257
58
314
502
99
273
343
478
14
567
373
16
492
137
400
219
304
350
864
162
183
98
969
233
536
438
833
592
204
557
910
627
648
821
131
744
753
89
993
410
550
526
635
165
808
864
569
202
390
433
306
225
679
318
610
494
189
666
456
375
670
533
102
247
641
635
825
330
291
29
22
829
142
68
336
839
669
927
406
583
333
616
652
922
118
700
225
524
722
849
877
728
8
948
69
950
173
748
30
396
391
924
880
978
328
998
153
584
40
755
215
275
242
695
167
542
824
574
772
513
805
264
825
875
619
15
191
301
735
704
403
411
150
779
337
626
197
467
961
784
464
223
579
76
353
566
315
665
944
196
786
347
392
740
63
745
48
555
42
818
833
758
291
911
200
86
303
215
167
195
809
209
502
784
502
624
124
259
54
531
192
688
825
372
124
509
990
150
41
746
152
560
710
537
649
494
89
396
907
255
17
948
160
817
412
847
795
606
573
223
381
655
851
234
170
421
983
301
498
210
855
135
22
960
306
948
212
54
893
135
823
968
159
258
364
809
88
409
715
217
867
865
121
685
13
518
779
80
196
696
79
30
814
888
385
902
478
343
910
274
96
669
842
184
171
401
394
928
241
931
848
868
167
335
976
523
83
418
483
213
387
718
183
630
125
297
719
60
462
927
538
364
711
624
697
490
574
615
827
14
835
473
253
142
718
558
818
685
522
950
438
725
980
689
821
118
933
533
10
481
595
420
680
52
646
453
143
621
859
579
73
799
774
69
848
5
185
528
230
917
845
459
827
592
854
324
424
117
631
653
763
414
273
972
868
817
335
253
277
106
770
132
861
967
831
362
44
261
250
839
302
58
869
60
807
124
246
82
949
445
421
852
270
395
171
317
12
388
602
832
115
167
824
250
965
451
839
479
636
263
451
469
678
157
209
333
709
489
904
761
236
37
122
973
114
581
711
189
60
473
788
27
420
862
99
268
190
984
120
163
941
867
270
824
842
835
24
265
493
481
488
353
611
126
233
255
941
333
774
983
923
759
122
272
771
478
254
356
602
905
172
154
183
645
477
15
672
898
17
440
443
546
228
134
749
669
237
344
466
46
665
665
639
141
342
414
893
183
814
238
7
207
607
817
135
338
720
402
224
205
680
484
119
46
823
21
773
20
164
546
738
235
334
931
798
217
569
779
234
915
691
170
686
838
327
21
2
569
365
374
785
779
792
756
558
781
597
165
616
862
403
328
653
869
838
625
203
27
426
495
782
532
970
162
375
258
967
274
561
797
588
389
159
173
165
291
723
765
901
803
625
380
755
79
718
950
56
390
798
40
413
52
150
205
934
451
496
237
576
97
549
526
715
258
216
83
643
992
205
239
767
353
417
691
749
111
59
349
658
589
828
397
529
127
894
64
340
226
640
904
551
657
301
764
813
683
686
215
346
73
170
945
812
768
988
515
197
916
689
889
318
460
266
395
140
643
91
93
950
599
295
56
823
645
635
732
530
43
200
394
169
749
563
648
389
128
66
110
7
668
18
675
183
529
476
231
108
96
164
280
309
834
832
703
291
409
992
817
189
426
585
935
531
184
554
903
991
494
721
441
240
982
616
682
585
271
134
988
156
112
959
4
775
815
732
875
506
330
825
787
124
922
409
251
367
676
244
78
908
6
218
613
421
914
226
583
9
23
398
878
496
273
65
688
792
771
73
668
605
454
233
244
274
152
774
721
382
105
608
624
124
227
127
543
98
221
27
835
308
140
327
725
696
181
397
691
425
252
254
553
501
374
852
333
24
62
361
804
539
623
701
596
475
749
676
889
651
861
144
13
172
412
546
713
806
773
11
456
133
350
984
919
308
354
990
701
295
951
724
402
817
596
105
421
53
34
359
226
355
752
417
388
837
723
172
366
727
893
191
902
799
176
508
884
33
716
18
705
884
762
830
474
197
800
633
921
853
519
794
475
683
774
406
766
58
960
974
794
836
106
763
71
12
577
90
341
511
463
4
870
55
618
858
901
918
857
272
584
685
960
826
576
872
26
660
567
322
176
802
179
857
768
679
25
587
120
748
258
582
164
602
594
383
607
243
603
968
933
391
83
320
33
886
416
730
330
224
160
311
2
246
517
981
339
837
990
354
303
228
237
534
83
193
110
839
818
965
897
835
678
188
45
898
184
598
10
695
985
407
444
621
307
564
603
240
958
158
752
175
41
244
310
783
555
267
695
136
626
97
118
503
419
387
76
579
724
632
921
143
772
793
683
731
110
843
275
131
250
910
303
233
379
951
992
810
622
65
121
318
232
597
476
697
602
195
27
446
178
815
940
954
210
501
590
210
737
423
898
483
404
285
734
552
475
685
583
342
908
464
372
600
446
356
179
383
483
497
516
660
889
484
15
314
63
702
655
190
241
567
109
584
482
223
384
781
816
936
720
789
751
118
593
459
723
484
790
513
75
305
702
863
859
93
423
780
88
377
734
80
52
373
802
551
992
489
234
217
695
586
179
932
582
840
308
978
451
864
843
22
335
466
300
831
854
71
201
585
47
334
879
532
898
950
369
950
703
994
551
88
937
388
926
849
556
248
867
430
486
935
711
79
609
603
853
375
749
927
820
202
958
470
420
655
960
835
190
673
711
375
785
81
867
697
420
107
432
645
163
127
937
746
715
578
325
320
255
500
126
607
113
150
602
279
301
483
286
660
370
56
759
818
717
117
538
451
161
195
700
160
587
505
205
244
491
889
932
653
520
801
128
100
452
58
276
622
659
689
451
73
730
252
804
131
849
382
203
404
499
206
965
136
233
465
266
820
605
854
98
768
801
124
549
296
174
968
799
734
663
553
467
905
45
853
833
74
54
603
40
608
678
773
574
766
361
969
211
101
415
35
148
910
665
463
192
90
256
901
766
489
589
176
946
592
535
765
932
931
469
581
124
140
142
257
497
984
102
875
28
997
187
209
755
608
606
116
460
740
248
663
53
912
162
946
514
841
604
325
600
336
642
963
649
91
87
173
456
598
415
30
639
992
457
118
890
120
824
89
210
473
441
904
576
944
130
256
463
550
826
676
323
347
928
275
407
790
260
885
307
681
299
612
190
691
651
463
5
137
238
747
848
342
302
431
287
450
105
465
672
977
188
389
383
774
130
200
508
289
13
533
667
210
248
719
581
611
940
152
481
729
764
721
679
332
145
766
438
486
640
121
763
160
580
336
933
751
402
103
351
95
606
221
797
947
958
211
259
226
364
799
320
550
828
56
507
717
60
952
80
811
565
419
512
583
530
810
308
562
389
812
856
149
754
449
729
587
290
800
246
262
188
469
86
287
141
621
481
663
90
619
821
647
571
922
513
100
196
895
600
720
622
647
927
61
433
801
646
134
471
391
432
240
523
677
97
357
720
756
196
92
657
288
830
695
40
525
87
96
605
97
465
286
169
696
184
586
930
878
515
550
557
673
111
268
185
630
870
859
154
178
38
781
239
935
90
395
128
673
442
916
142
204
201
448
525
345
934
363
147
481
964
634
142
961
760
90
812
732
810
777
130
137
789
720
298
796
905
442
102
823
88
524
290
418
58
346
759
55
393
889
150
48
414
164
310
285
83
375
228
325
155
427
201
814
470
723
454
431
657
543
920
161
494
430
617
722
809
147
912
393
161
755
969
336
454
283
850
731
295
264
57
689
167
156
804
978
440
279
914
30
806
438
63
572
1
855
19
502
565
369
638
305
946
126
658
360
479
139
708
32
654
160
588
285
574
296
536
888
748
661
149
975
145
154
622
848
984
148
205
424
847
456
105
651
536
472
585
571
563
771
700
410
253
779
887
259
266
363
671
448
730
282
818
649
313
524
625
163
263
460
441
547
895
606
134
979
26
551
995
298
590
245
465
666
53
437
164
184
230
505
929
606
856
301
947
495
538
947
626
781
761
660
533
705
246
845
601
553
287
638
805
425
639
45
678
520
168
597
384
56
751
204
500
13
831
482
358
324
652
401
536
26
418
504
74
123
541
349
79
635
694
10
656
333
606
708
507
204
406
662
136
546
849
226
314
922
942
296
340
880
339
705
703
495
354
55
925
291
601
24
733
10
97
672
219
78
91
716
315
299
50
21
743
494
972
823
559
345
657
281
580
643
645
34
249
529
274
349
962
83
739
328
467
764
45
347
741
830
522
626
628
830
895
340
628
656
939
179
454
452
476
647
339
892
728
679
652
922
137
320
59
136
328
347
320
315
260
696
853
555
541
467
334
605
536
110
927
700
135
112
267
228
24
132
878
15
867
61
579
893
59
960
332
465
622
121
108
691
361
811
617
953
628
368
146
805
905
434
357
457
947
29
590
373
406
110
135
68
715
996
965
296
481
748
624
339
819
219
327
55
837
938
829
637
983
456
311
827
53
79
325
415
462
116
854
460
802
947
653
584
803
201
353
91
576
312
249
402
379
563
288
487
271
462
571
574
659
984
562
373
191
764
296
467
410
799
103
332
316
606
754
630
299
64
474
58
911
349
976
43
596
504
521
10
813
140
13
763
937
726
332
789
971
709
405
906
349
437
14
763
75
505
969
124
6
653
76
760
360
797
274
24
410
147
418
871
905
578
465
177
959
610
209
662
27
422
324
676
117
274
167
354
579
624
712
388
624
979
14
765
262
249
795
344
475
927
128
66
254
966
678
939
607
609
646
654
757
752
373
866
518
643
564
690
297
857
210
957
250
510
578
104
836
628
118
367
480
433
701
120
53
58
397
764
633
875
917
598
364
173
887
458
264
408
405
744
518
625
675
645
135
932
78
994
837
101
738
195
712
484
486
116
459
404
161
640
38
131
326
834
137
336
829
324
174
673
100
528
447
729
735
850
688
162
676
799
473
250
301
282
878
454
776
972
316
832
354
764
702
305
664
806
990
861
653
474
607
727
548
998
556
456
108
111
731
612
471
250
560
490
99
316
168
848
704
969
123
178
512
723
267
421
919
895
247
376
421
552
164
246
651
206
182
936
533
925
7
702
828
905
940
740
804
335
574
124
386
532
267
267
867
935
263
734
232
517
679
817
165
582
623
741
88
706
377
748
940
799
928
618
966
870
136
339
463
99
460
773
318
255
488
147
157
328
488
117
108
461
790
972
504
968
134
262
336
203
2
779
884
566
586
332
789
764
265
217
731
715
373
640
24
183
608
570
671
275
641
704
868
478
353
268
504
739
661
344
937
459
81
327
214
939
7
858
966
932
203
315
365
510
118
502
948
334
501
719
553
784
199
770
364
124
196
823
796
45
678
212
22
449
397
459
9
324
654
771
268
913
989
250
961
146
70
892
598
486
320
196
357
924
550
877
933
851
238
735
938
909
104
225
81
758
340
618
746
879
180
962
151
158
493
237
943
1
745
174
949
197
969
251
843
519
367
253
606
347
775
629
32
216
502
583
980
238
8
478
731
824
438
659
586
990
322
258
804
786
612
868
81
90
826
258
33
73
245
437
565
127
16
449
583
970
519
273
237
913
554
53
778
998
735
684
144
824
984
479
594
415
167
226
76
378
718
458
511
964
576
163
854
373
872
500
621
781
578
267
539
129
785
49
131
670
331
966
329
634
299
922
660
135
247
59
168
640
144
927
976
869
682
499
333
26
987
749
57
620
821
980
512
959
9
475
642
602
202
309
159
664
60
380
635
889
596
806
133
855
748
820
41
459
190
234
888
128
28
360
305
812
299
963
743
855
137
499
200
353
39
396
4
398
941
590
675
945
685
868
938
677
43
841
290
322
669
515
889
409
220
495
138
283
420
854
53
554
29
549
405
842
505
61
663
774
664
648
953
764
779
174
633
962
387
986
573
160
505
736
900
132
132
353
811
59
636
584
11
229
94
677
499
155
740
793
701
652
404
681
394
123
254
14
501
549
201
513
563
211
30
677
632
179
712
468
418
14
386
819
710
891
138
161
537
609
117
507
29
525
455
766
666
488
163
109
451
289
450
183
556
944
906
888
157
399
578
251
511
861
292
666
786
46
462
362
817
58
243
550
741
490
139
95
421
636
54
939
664
319
360
735
522
989
752
328
359
190
546
783
961
407
599
622
688
598
212
831
557
451
218
966
193
462
967
399
779
526
41
317
486
594
396
620
408
319
25
257
650
349
423
861
75
44
865
773
198
999
976
665
821
647
140
11
339
637
50
615
72
421
116
215
578
664
483
983
690
691
150
365
921
154
41
289
959
501
908
245
204
653
635
114
695
470
854
912
312
214
761
802
835
262
718
837
309
704
480
894
172
325
897
170
755
711
542
426
132
835
995
903
718
574
461
438
717
20
964
882
257
353
646
315
36
288
554
947
402
789
907
828
41
841
17
647
883
543
915
978
389
685
287
303
146
282
461
11
550
233
86
382
417
399
585
221
577
910
661
444
828
426
914
399
169
443
114
120
889
430
784
40
918
763
528
891
812
963
984
681
908
690
349
634
461
342
202
969
25
829
727
185
954
329
507
338
660
354
783
400
176
501
439
392
665
606
991
455
725
868
562
372
738
678
154
383
72
534
528
307
604
415
657
62
938
450
20
729
657
501
983
169
163
574
129
45
943
569
669
823
600
969
14
945
643
497
177
910
777
655
910
453
435
322
390
325
371
255
842
485
392
448
671
622
756
747
592
29
301
75
714
813
132
861
790
301
558
21
627
296
29
933
176
514
24
364
969
162
178
256
387
86
487
581
682
354
42
239
845
443
637
110
136
435
512
913
575
742
680
508
746
932
546
601
40
153
1
637
855
518
761
785
320
554
506
545
854
495
260
481
217
746
562
971
740
340
200
678
132
569
642
659
566
284
886
622
770
511
110
890
495
174
393
23
28
687
759
924
416
99
998
456
640
302
14
264
322
521
944
537
405
949
941
926
915
905
285
649
94
372
450
146
141
73
864
282
349
543
348
181
609
783
661
292
180
171
122
149
106
264
51
613
866
12
613
77
672
698
739
241
362
587
962
577
918
893
380
530
538
168
477
837
573
614
170
98
825
158
323
840
445
343
911
914
111
215
164
998
270
428
337
334
960
736
166
625
138
871
705
169
497
578
996
911
473
246
926
62
523
104
722
348
754
480
760
744
714
942
742
759
450
484
844
950
969
55
155
370
871
881
556
65
245
992
208
599
882
307
15
784
465
429
708
482
710
33
709
351
323
366
565
918
272
894
532
168
75
599
834
160
757
760
251
828
644
312
917
214
405
40
669
874
623
927
821
93
688
958
7
836
6
552
601
88
360
586
267
337
732
662
404
476
83
879
603
335
371
855
734
366
567
187
971
788
537
811
862
575
459
1000
568
299
855
814
491
736
418
902
839
541
574
450
107
59
89
971
67
512
142
335
625
401
935
128
813
919
347
6
259
606
130
149
735
250
829
323
726
255
976
357
547
321
71
992
212
276
545
208
133
364
187
92
715
81
504
270
107
942
86
694
683
152
334
337
308
255
857
961
77
263
399
658
28
631
449
319
256
751
561
520
974
248
970
577
336
521
323
683
239
399
208
104
909
708
678
391
806
847
185
429
266
167
140
961
346
63
841
874
532
227
660
178
340
406
167
81
336
375
378
988
782
545
381
562
932
800
429
229
995
673
975
604
901
975
249
387
320
308
707
185
829
697
91
613
704
743
888
719
623
267
718
495
449
436
521
779
333
728
461
314
655
899
151
145
643
350
121
782
110
870
489
786
421
770
400
495
657
850
148
656
973
478
838
593
303
271
74
401
890
566
446
354
601
865
502
346
642
924
509
733
48
39
525
380
306
295
246
56
554
292
597
595
75
880
309
381
217
979
560
797
442
408
295
250
952
987
29
249
207
857
770
829
723
100
210
264
697
235
467
666
411
125
485
505
841
121
654
563
578
67
351
107
9
865
853
297
654
911
541
997
737
642
378
172
311
800
405
996
757
786
399
658
47
683
893
601
950
60
485
583
249
706
715
535
148
810
840
634
250
915
508
437
895
173
674
142
162
68
102
310
593
751
442
404
483
604
204
580
656
448
875
12
773
71
94
890
574
382
41
947
900
564
155
983
35
46
873
411
630
976
331
291
494
160
880
638
585
105
825
99
834
868
992
184
837
935
646
386
21
223
754
415
651
613
816
718
881
124
317
201
156
956
324
790
417
146
946
36
960
516
162
506
288
916
980
89
971
508
31
681
357
983
477
913
956
158
528
752
453
345
983
801
605
269
925
95
733
63
140
34
104
52
847
824
297
635
85
506
515
527
442
171
949
64
853
460
451
42
881
829
241
780
233
327
842
716
252
850
207
859
796
910
795
848
204
981
420
204
40
393
823
601
898
538
274
619
862
922
968
510
117
181
635
947
824
738
572
607
607
220
246
701
901
104
736
230
981
293
546
867
689
522
719
795
775
538
789
794
265
960
808
105
480
637
600
364
161
93
418
977
636
316
383
843
160
798
458
251
316
190
199
121
872
371
210
478
594
52
40
233
291
230
264
830
813
980
606
365
799
72
258
48
743
860
19
751
315
738
458
464
966
205
87
149
551
259
439
408
57
373
28
816
586
836
388
547
404
549
797
155
204
729
803
950
751
104
410
473
712
307
598
951
781
202
901
508
194
732
896
77
333
756
824
664
402
26
15
628
92
100
428
122
752
514
437
685
811
1000
908
262
119
858
753
603
421
856
374
57
399
204
875
298
595
205
434
381
38
147
29
864
607
911
534
397
986
527
292
339
563
621
450
450
793
281
698
648
339
385
578
149
782
845
183
49
806
526
911
556
536
841
889
615
176
138
860
661
123
39
588
554
549
826
296
565
794
832
264
428
996
535
474
59
99
715
97
565
752
612
719
503
622
497
393
213
366
423
37
206
805
248
212
239
875
179
20
710
561
208
727
428
341
807
719
674
630
154
572
672
333
993
351
265
896
950
705
616
186
746
8
245
107
295
550
540
117
123
747
178
718
873
454
556
530
941
714
423
808
420
700
386
96
626
189
855
278
436
621
311
436
539
708
472
791
528
576
52
490
393
646
329
152
630
801
667
904
645
907
466
99
576
415
749
22
944
620
760
698
783
93
469
301
34
987
869
809
10
178
285
250
690
665
710
323
449
257
348
210
579
344
125
132
629
457
921
563
144
402
681
40
871
995
347
207
876
788
770
62
286
745
384
364
594
523
428
835
542
838
939
72
586
473
569
79
914
573
520
925
733
275
536
331
327
149
940
912
977
573
164
400
393
1000
90
415
740
947
771
252
688
737
816
721
174
191
751
283
738
979
214
608
326
828
701
189
474
589
886
860
621
4
263
881
127
79
958
765
232
166
82
167
806
213
918
964
243
153
590
143
260
70
564
191
684
611
515
511
535
89
620
777
822
864
303
273
548
871
824
968
311
644
877
516
785
743
526
409
73
315
407
235
635
371
108
366
11
500
18
415
81
927
776
522
933
236
610
811
751
595
519
427
281
73
223
150
554
415
290
939
551
744
610
703
399
753
709
226
498
313
955
438
731
910
839
182
496
930
907
200
873
635
832
309
668
611
355
648
409
570
507
433
654
665
626
880
107
885
142
803
116
672
21
970
104
640
52
424
354
161
872
872
358
624
735
705
648
374
550
388
591
703
653
746
180
763
89
170
221
946
937
849
660
119
356
954
18
40
566
93
7
475
952
488
471
775
838
41
710
170
250
861
107
607
157
924
730
736
270
181
247
581
466
877
44
478
296
823
938
121
846
58
214
922
417
697
56
465
111
736
579
494
432
242
808
765
431
685
939
96
769
102
123
107
288
445
844
472
365
696
681
1
321
314
856
490
675
136
555
71
850
121
381
761
231
205
712
1000
148
138
956
224
440
335
857
978
739
692
93
584
528
818
361
180
290
329
36
774
827
689
264
45
890
591
64
803
814
989
582
368
772
758
180
665
584
370
415
484
771
125
322
176
683
255
595
59
76
643
440
910
481
990
853
258
73
22
68
601
499
719
748
305
334
613
235
685
379
923
858
715
43
654
858
848
411
832
948
706
425
716
942
745
806
177
121
572
962
432
242
279
128
972
186
21
460
832
208
73
565
308
731
768
264
880
365
55
972
331
635
885
164
28
460
271
848
898
15
681
808
887
15
339
691
594
838
147
653
331
126
189
381
71
696
205
782
628
640
973
551
928
471
317
104
426
62
294
84
568
889
191
766
669
812
156
194
765
193
628
819
787
687
269
747
870
427
757
426
738
655
607
759
889
74
208
188
724
324
366
234
871
20
953
362
683
725
712
786
322
108
871
42
864
247
976
699
603
744
290
595
95
852
164
375
512
309
17
901
551
936
960
322
513
366
644
204
118
433
589
127
321
885
142
618
680
44
200
73
789
998
6
600
921
688
661
346
316
996
474
919
449
558
899
983
233
582
606
953
360
369
204
13
858
596
207
332
539
684
113
444
197
713
902
256
306
426
788
34
490
853
856
16
223
926
28
24
53
284
922
538
152
137
304
247
134
657
228
983
897
874
468
303
729
472
482
720
999
182
31
712
578
701
501
212
538
208
146
231
784
556
754
618
7
187
698
759
773
655
915
164
590
398
151
499
544
56
711
585
440
216
25
312
425
912
584
182
771
615
178
435
781
720
924
304
865
728
256
982
391
422
913
294
308
352
985
918
446
829
226
218
48
480
178
423
372
109
133
906
104
249
605
813
950
343
746
117
8
901
136
469
412
362
451
890
316
626
780
421
504
376
792
353
759
408
527
533
693
119
305
571
878
219
142
455
998
503
111
213
220
194
286
773
134
23
242
100
429
633
633
28
940
395
8
930
808
961
860
534
290
168
901
730
188
991
659
168
943
298
820
840
197
116
173
559
49
924
619
480
236
294
485
350
257
830
270
186
767
923
74
463
636
338
139
698
736
994
365
541
865
615
166
61
211
111
778
985
409
631
940
20
573
264
916
277
616
259
976
999
833
442
792
501
966
261
675
213
923
482
227
248
915
137
765
714
16
731
833
317
44
81
227
428
245
419
204
910
468
535
985
475
363
827
229
221
722
72
872
333
203
635
656
613
566
606
644
633
16
50
312
808
428
158
64
651
6
583
620
749
434
670
324
789
657
587
301
82
241
609
323
590
681
919
423
419
119
339
571
108
670
339
168
814
998
517
743
661
773
515
983
123
435
977
146
278
998
732
996
181
701
864
616
399
960
690
846
964
458
990
637
608
157
981
324
168
721
661
659
475
108
134
464
877
70
452
938
781
939
312
982
245
312
681
364
704
240
51
210
374
57
559
90
741
284
640
911
805
912
263
955
441
937
4
632
308
250
416
982
230
834
210
476
882
759
708
465
886
666
961
446
161
231
659
420
471
651
682
760
630
298
747
417
763
525
65
763
346
73
402
58
489
628
190
355
76
894
598
629
915
929
588
59
33
644
26
689
586
59
843
136
641
340
105
621
277
701
615
383
992
956
292
406
448
895
190
522
933
677
455
147
753
112
916
301
955
63
285
117
411
172
145
732
304
798
980
329
483
328
540
79
1000
15
703
932
360
117
862
520
682
371
540
913
8
792
603
603
455
361
958
910
777
428
71
908
171
549
988
132
823
30
796
544
814
697
629
667
436
228
372
396
918
984
217
689
836
384
88
248
186
775
731
349
234
201
980
176
754
651
290
347
207
166
143
880
750
655
325
473
682
396
437
816
101
959
153
634
96
743
943
296
738
410
962
121
519
213
774
946
648
669
425
163
793
49
120
154
432
883
447
6
992
59
628
427
302
117
773
65
752
12
486
768
691
992
449
898
267
190
823
508
902
231
375
34
14
424
283
195
478
90
436
916
490
213
903
473
204
853
954
486
528
720
632
65
930
874
441
177
986
779
127
276
640
857
901
330
860
193
686
647
430
338
162
314
116
945
412
661
342
574
979
855
808
131
1
650
205
291
896
357
263
708
742
277
935
15
109
226
401
383
605
270
944
914
804
473
474
225
531
273
605
392
736
101
795
843
277
970
936
868
3
74
237
195
442
888
931
447
281
852
568
372
531
497
222
463
996
788
914
934
164
528
985
71
169
902
906
635
811
639
275
367
934
787
309
610
644
827
212
734
948
684
183
367
390
226
694
371
206
987
883
159
281
201
567
212
978
699
436
568
478
859
418
701
865
606
114
385
572
391
429
112
215
197
235
121
34
883
959
388
382
586
505
722
717
486
783
701
567
969
450
333
787
99
160
181
235
378
731
180
680
947
168
538
337
752
407
910
965
714
964
515
833
596
432
968
211
108
904
399
248
747
945
848
231
23
708
28
261
20
153
288
318
671
75
13
545
748
859
757
322
342
439
129
371
483
927
805
703
688
792
86
688
393
248
108
900
665
739
121
695
101
1
298
652
533
223
143
118
14
251
904
109
569
585
366
696
379
209
983
878
360
892
651
611
615
675
283
334
855
711
8
846
675
489
10
833
545
743
961
712
454
26
538
677
425
6
747
37
531
43
639
959
630
483
537
748
741
427
69
629
899
420
156
832
364
643
590
417
241
687
993
931
947
935
761
458
471
894
62
35
20
580
74
751
498
174
430
35
234
749
282
796
503
812
460
103
693
762
986
31
421
154
573
158
487
816
816
942
353
464
498
885
710
449
795
935
813
648
207
67
469
330
712
364
950
41
995
196
671
140
587
297
141
664
415
624
583
624
563
912
599
637
20
721
461
97
801
612
896
664
120
795
749
959
216
239
529
780
20
752
623
24
133
995
950
777
425
739
900
707
197
925
676
977
997
256
587
379
116
97
396
301
249
479
578
427
71
812
208
781
238
776
275
838
878
484
380
964
774
660
159
337
225
43
287
875
89
666
560
401
577
964
413
456
184
884
178
680
573
310
564
680
295
152
89
643
3
376
685
734
210
125
279
486
692
811
925
980
370
732
973
610
871
337
854
592
974
735
266
223
881
408
959
64
538
403
839
856
272
445
831
3
630
521
777
853
648
496
677
890
711
225
745
133
819
437
53
731
316
414
67
772
119
82
965
773
21
709
453
213
948
806
736
713
895
212
406
148
878
562
272
81
409
545
578
370
914
376
632
707
2
911
589
159
726
716
43
465
756
161
87
989
949
328
756
712
896
114
59
615
873
403
384
95
69
608
670
835
105
196
617
659
605
25
145
484
50
461
469
424
221
283
467
458
266
304
428
868
876
522
909
811
53
326
184
971
732
983
667
244
838
171
804
778
425
813
116
521
202
839
510
619
113
788
463
614
618
370
456
445
991
180
806
636
242
781
142
935
253
281
875
860
335
344
366
307
683
292
982
367
151
598
852
12
356
594
931
136
366
677
953
726
134
614
922
613
390
843
80
328
935
793
717
81
134
325
727
787
958
387
584
349
72
822
275
122
351
86
787
600
674
303
930
882
998
698
647
411
551
944
469
797
407
375
439
279
878
331
670
550
886
130
648
175
948
286
584
831
487
628
349
950
919
931
33
97
395
489
738
628
98
854
987
724
753
591
73
897
345
486
701
473
97
117
555
338
418
61
778
444
888
327
911
210
353
759
534
937
822
292
705
816
207
909
316
914
893
93
637
782
738
359
667
970
411
200
361
771
871
374
485
1000
427
43
585
451
15
676
570
976
280
995
469
763
572
500
197
530
212
266
603
784
221
762
618
241
276
441
71
748
802
709
634
829
973
656
376
9
890
677
632
665
341
636
246
18
385
798
729
274
442
112
597
591
704
789
922
767
467
315
154
38
404
168
383
365
901
574
519
947
321
532
305
453
465
235
700
671
554
738
923
825
788
388
359
819
879
117
627
61
22
152
315
308
421
78
296
204
844
501
65
773
672
708
256
165
568
864
337
381
183
249
502
522
313
994
954
359
508
546
79
661
438
847
520
779
244
843
768
412
699
443
706
405
237
535
474
616
838
973
147
654
289
738
954
300
563
612
225
962
957
789
783
382
112
803
260
124
262
53
705
87
882
978
865
389
399
626
760
490
805
969
503
371
779
818
834
871
449
591
508
83
983
525
520
806
34
135
77
628
458
842
448
167
832
762
26
360
48
544
465
458
654
38
308
569
676
294
313
164
378
87
583
971
770
686
708
35
729
117
332
585
260
491
951
490
769
297
318
766
236
726
479
552
798
219
386
464
588
390
984
5
631
449
883
8
215
2
20
687
450
887
222
955
637
289
208
105
693
940
347
823
89
647
472
786
690
733
128
736
434
233
912
53
994
858
959
302
466
797
245
140
618
391
60
268
451
632
929
828
645
167
280
741
971
240
381
28
895
555
393
51
416
582
932
986
637
216
178
529
705
32
404
32
520
590
785
772
54
389
465
55
207
88
178
183
892
566
153
123
404
240
648
844
247
813
208
933
246
279
688
21
186
598
114
9
245
904
739
845
134
502
990
821
262
206
577
984
171
733
729
264
202
1000
363
345
619
148
29
161
398
50
624
106
521
863
202
717
878
915
686
638
819
842
922
108
993
430
325
116
347
65
288
616
88
27
663
857
930
137
863
8
197
412
566
703
214
460
570
57
946
319
81
989
22
320
604
406
142
342
660
904
339
519
732
186
739
68
215
286
257
390
657
67
151
20
246
159
453
337
308
672
107
123
593
567
38
241
228
522
514
703
548
492
858
356
430
945
28
253
380
918
579
556
393
625
300
437
507
344
139
49
59
705
93
95
872
282
399
908
12
640
731
224
263
557
69
59
204
203
593
167
606
449
251
560
884
340
599
520
512
987
176
300
632
787
902
470
576
934
966
483
630
629
239
568
219
277
499
504
567
225
656
176
73
259
729
76
831
182
548
59
199
268
7
739
871
289
242
891
632
119
280
91
885
605
560
625
56
548
203
374
218
112
83
3
591
948
540
268
121
616
68
667
992
661
399
4
761
818
222
616
766
380
162
176
636
740
798
14
973
446
170
834
775
915
710
556
741
105
511
762
380
34
634
913
760
26
481
16
800
964
294
968
267
614
562
108
977
319
395
851
307
945
988
446
767
10
905
995
275
345
236
887
777
443
657
713
18
943
25
520
610
295
448
31
9
721
653
41
662
53
134
763
370
882
753
339
873
722
389
65
760
581
808
149
72
397
107
968
395
310
992
882
800
609
650
603
725
509
184
16
783
636
397
145
531
176
230
628
414
194
299
670
472
555
783
963
918
183
401
449
334
182
307
135
84
426
539
398
522
849
80
322
696
557
666
680
549
288
267
83
85
510
508
693
543
616
411
641
418
257
526
937
53
857
902
266
639
737
367
490
657
77
283
98
197
157
280
94
154
943
453
47
952
69
195
79
358
750
107
616
920
923
424
611
755
225
1
766
729
4
189
22
551
646
861
192
950
941
439
177
883
90
29
608
688
205
657
151
196
855
175
927
72
274
619
683
81
352
655
424
558
401
312
147
68
31
348
267
165
135
461
36
162
123
52
14
61
57
379
196
131
270
781
949
125
375
97
289
824
324
529
365
392
315
982
236
27
882
347
156
520
498
284
618
637
344
804
343
676
698
352
280
173
557
176
377
483
692
438
623
883
338
937
350
923
94
325
323
978
428
377
473
344
379
223
464
762
678
452
426
962
500
641
329
666
525
173
455
503
786
192
328
469
41
129
319
877
42
547
807
220
128
974
463
38
31
974
728
625
643
965
9
412
759
199
455
932
510
867
457
551
239
514
133
571
121
827
182
886
665
367
403
73
577
36
112
755
165
868
435
37
559
265
176
74
568
937
526
169
903
609
420
300
845
40
740
656
152
12
866
597
171
717
342
398
658
424
504
329
763
378
998
862
22
649
20
286
936
43
995
593
930
232
128
284
40
17
961
631
677
959
607
39
216
681
818
366
944
811
427
444
137
872
975
601
612
443
558
669
163
543
976
837
676
523
336
700
588
685
106
48
557
522
494
236
900
687
694
481
356
779
227
71
238
619
90
225
866
914
900
367
462
128
566
592
371
946
258
457
517
906
624
567
556
675
265
71
15
949
447
850
60
168
919
134
217
44
486
258
486
434
671
532
830
211
423
510
908
618
297
480
302
44
985
660
184
290
348
401
542
163
369
701
625
676
539
447
232
232
245
108
814
891
678
67
168
253
588
340
631
530
25
263
301
94
822
568
790
183
160
422
398
445
23
157
425
706
752
882
509
682
149
655
538
344
829
613
658
325
565
332
357
22
415
666
437
61
318
515
897
389
642
281
434
525
933
253
290
466
709
803
654
315
690
77
667
945
303
790
380
928
641
877
657
505
324
972
135
594
841
158
800
710
62
943
679
192
544
210
414
316
156
738
207
726
336
940
739
88
965
686
188
59
466
404
385
440
222
187
506
862
836
302
400
492
56
302
841
981
415
954
505
369
783
306
458
690
41
526
294
829
43
594
831
530
873
527
454
553
174
590
780
685
959
854
301
664
919
549
52
121
674
886
188
336
838
397
501
918
11
418
583
545
38
4
322
532
959
440
864
315
73
536
995
914
466
31
145
26
151
783
864
722
716
902
660
629
981
596
546
59
712
335
537
843
898
841
566
457
404
560
985
666
122
509
924
61
852
821
207
783
254
877
500
224
154
665
593
706
387
860
480
958
138
209
987
721
437
955
225
962
53
426
80
983
561
422
267
179
736
688
236
332
770
593
346
82
16
125
287
673
108
445
674
158
320
525
120
984
2
859
848
289
734
841
86
310
653
170
83
992
2
532
541
298
580
942
701
713
203
290
73
128
676
85
44
657
90
900
205
898
392
719
235
829
339
273
642
827
913
429
472
272
183
895
339
820
446
805
776
688
178
245
966
264
961
415
360
912
93
917
551
108
29
595
64
942
147
493
365
576
592
712
513
475
102
421
338
86
803
792
934
173
928
424
571
217
276
650
805
96
50
206
729
795
375
926
764
23
398
476
384
435
405
669
449
616
757
562
585
121
808
358
197
623
155
130
232
662
733
510
788
598
273
782
33
87
602
273
633
822
121
546
112
339
515
637
115
398
462
538
552
824
627
166
985
722
731
305
439
663
854
400
998
782
422
622
198
722
511
307
212
7
205
769
278
757
762
443
633
598
231
545
478
250
987
705
116
577
396
551
479
773
420
835
717
992
525
503
366
958
698
49
909
984
729
600
204
413
149
457
338
689
417
210
962
151
961
149
53
163
711
401
342
381
586
114
381
804
235
83
301
736
980
357
867
967
534
780
333
261
568
892
965
726
602
303
801
757
22
477
402
8
254
838
871
313
228
251
385
534
344
231
856
89
54
668
90
289
50
479
10
707
785
357
87
475
730
692
81
818
327
830
657
144
74
67
167
675
558
151
148
989
548
617
687
801
426
985
812
975
370
691
507
86
671
658
793
788
501
554
519
886
269
134
199
293
389
537
242
958
976
34
417
477
457
538
221
325
572
118
122
557
575
883
303
383
680
850
631
239
3
828
56
851
264
956
541
313
538
205
923
385
177
114
831
57
859
4
870
938
363
173
834
141
310
889
610
205
587
537
783
1
601
930
693
730
803
623
829
889
178
66
6
506
508
527
728
49
233
74
496
154
728
291
609
725
608
53
156
9
464
429
507
975
78
704
583
700
736
588
583
475
739
914
657
51
574
503
207
781
510
432
132
386
579
636
329
768
969
628
210
573
913
137
820
174
17
634
377
388
826
37
701
486
119
371
65
27
94
799
434
604
89
226
940
856
976
635
715
4
679
418
859
719
547
230
429
347
446
304
806
401
535
761
699
743
638
150
350
66
10
370
205
139
95
149
435
757
546
470
206
513
391
679
541
289
724
532
920
863
718
98
530
120
75
265
213
164
237
582
710
25
840
301
754
784
895
772
943
664
155
812
73
35
947
258
819
367
525
681
190
839
655
169
224
729
693
136
747
704
926
382
830
833
285
979
813
472
861
126
323
193
823
815
798
540
452
992
411
752
987
923
133
523
930
637
922
506
225
654
664
552
490
672
532
590
90
522
920
671
380
537
929
916
897
353
690
44
604
355
467
684
585
166
572
919
712
52
603
356
883
659
439
567
432
248
678
918
143
457
982
642
120
707
830
519
464
510
763
676
264
350
101
815
963
287
447
671
544
103
38
599
300
663
153
979
179
106
326
557
837
645
80
943
540
50
268
215
29
317
853
998
285
656
166
434
914
675
249
190
492
573
876
6
827
216
242
322
528
209
129
213
675
457
533
185
654
271
385
404
423
746
994
569
586
24
281
940
615
40
701
36
522
548
986
83
73
519
493
635
349
507
996
660
127
203
205
34
42
201
177
584
983
945
36
764
476
922
114
569
103
461
698
547
145
876
50
612
702
289
289
898
534
210
985
86
732
807
65
469
117
882
720
513
962
727
523
842
228
430
908
360
12
690
485
719
301
874
402
430
476
873
111
726
199
305
466
692
463
736
998
286
632
896
629
621
202
314
807
263
911
387
256
388
553
701
100
335
500
287
118
471
549
613
281
314
129
331
516
540
325
172
860
852
448
952
776
667
54
321
429
253
458
786
137
229
741
495
49
347
204
494
357
52
8
459
959
627
485
396
580
655
217
446
794
109
542
714
257
656
544
999
733
626
991
418
185
691
883
147
249
505
472
967
956
404
674
832
393
843
750
449
369
369
35
708
787
833
272
890
606
996
794
722
744
847
404
769
225
782
305
115
208
233
841
982
264
464
138
745
415
44
930
798
14
923
30
857
475
135
891
561
263
910
690
726
286
352
179
165
48
937
335
785
460
767
469
572
238
908
59
156
186
162
5
887
473
314
415
717
212
216
308
765
286
97
802
101
358
114
468
168
440
491
535
275
250
528
518
737
781
436
710
594
195
166
628
307
179
394
222
465
369
373
100
331
323
644
550
27
751
463
414
221
458
399
180
489
470
753
797
904
337
312
766
15
507
510
77
77
946
219
404
305
903
257
777
959
819
189
629
265
925
148
727
544
963
217
995
415
841
378
645
633
724
148
354
920
256
822
451
154
126
647
197
398
160
370
291
557
492
325
670
898
128
660
511
278
394
319
128
680
349
164
69
574
232
938
343
718
397
846
127
213
3
188
724
38
936
828
804
822
40
271
165
315
771
796
338
884
798
374
388
350
930
82
136
678
963
349
889
341
701
637
453
660
456
101
850
76
790
361
696
71
113
775
634
455
46
480
574
783
109
68
726
981
405
936
607
653
418
253
231
107
1000
2
705
908
857
742
292
599
600
571
829
330
525
279
44
297
800
824
950
257
676
78
963
924
660
248
824
671
340
514
731
837
689
191
281
893
225
166
973
857
373
432
61
660
721
328
477
592
660
452
396
592
40
298
774
873
88
387
851
329
806
25
172
215
467
842
155
848
631
971
628
441
305
51
9
744
494
237
51
863
400
64
105
473
964
308
918
670
268
948
859
855
565
996
297
407
338
172
576
323
848
403
660
705
92
668
58
718
949
991
87
633
566
254
869
631
709
101
723
352
901
382
765
567
633
485
610
922
860
419
19
454
259
697
252
447
488
916
629
258
721
419
529
925
347
578
646
736
566
58
811
459
995
876
120
578
130
188
412
726
634
534
383
483
8
681
716
836
113
320
686
909
437
595
612
992
700
868
390
546
631
166
87
583
300
483
244
760
370
475
103
609
62
126
445
530
400
623
103
585
518
54
503
667
437
504
782
312
716
806
124
301
836
498
964
166
992
501
617
945
208
674
718
798
335
651
556
616
560
330
60
382
488
949
676
816
735
952
864
827
248
736
265
367
223
932
847
559
607
106
517
389
624
610
726
818
683
858
593
928
333
496
934
564
605
744
384
10
239
729
484
427
781
732
202
132
478
127
867
318
226
228
903
475
566
388
75
613
876
478
162
343
439
300
132
44
58
593
903
604
212
16
732
697
553
917
118
155
705
746
857
758
910
682
558
677
45
432
480
905
964
167
42
198
875
257
724
490
703
819
369
239
993
50
87
900
927
31
66
557
458
929
589
754
385
549
473
761
469
769
973
808
281
700
892
309
567
316
303
747
367
917
789
672
959
33
580
220
18
245
295
668
13
19
250
793
974
806
488
248
238
567
694
697
685
414
195
245
278
204
85
521
417
815
305
865
743
294
221
249
555
232
824
923
904
533
180
279
785
204
176
120
583
920
934
317
62
897
464
845
757
33
275
298
560
372
708
310
698
700
660
728
15
482
271
9
697
386
846
78
144
399
983
779
660
882
433
150
70
933
686
989
142
142
665
527
911
135
196
620
616
318
108
533
985
871
921
256
19
365
80
326
278
334
617
254
885
759
921
30
132
693
29
621
618
197
494
42
296
347
394
357
689
324
512
919
790
476
58
287
836
853
556
476
254
863
682
660
533
639
909
4
693
179
786
17
315
541
555
744
814
199
609
114
730
164
963
7
364
647
536
912
981
805
524
604
157
639
568
906
570
182
740
450
706
915
578
307
466
794
549
520
648
333
348
853
633
971
376
522
370
318
608
273
936
964
790
958
530
236
589
651
749
653
879
439
388
890
808
243
806
696
696
428
124
602
78
486
96
217
400
784
575
580
996
239
855
345
948
760
58
534
370
514
951
213
454
348
209
750
351
222
228
213
586
119
17
72
242
703
581
630
595
946
469
495
222
53
844
950
862
260
500
347
484
532
775
448
57
730
149
241
516
559
685
879
288
516
115
274
516
63
530
357
843
485
140
165
178
227
492
746
396
34
876
303
341
868
375
163
781
420
184
900
238
999
346
399
707
738
29
716
327
323
837
367
23
939
394
50
955
687
648
888
398
539
898
976
325
767
558
412
518
906
42
1000
531
497
994
496
189
279
247
630
614
20
555
120
927
898
127
533
915
170
445
191
927
913
661
260
182
767
119
788
504
942
196
739
188
233
686
9
380
434
450
984
839
306
869
476
430
243
949
738
22
867
586
856
740
29
570
7
658
155
436
957
107
407
109
686
732
884
650
243
329
978
66
731
253
30
307
853
907
635
56
600
407
320
865
442
18
792
531
901
385
676
305
443
878
427
738
469
616
143
443
569
847
88
85
317
405
71
211
643
906
254
348
178
205
568
952
91
354
697
380
588
21
489
38
669
840
734
273
722
671
493
353
266
112
523
115
437
907
923
446
869
64
788
806
228
621
541
416
999
975
625
575
61
635
378
800
237
35
283
139
275
809
224
49
630
526
51
691
36
447
524
373
98
275
672
113
15
259
708
5
144
235
900
120
282
349
210
197
469
316
113
244
596
971
706
491
313
822
126
838
567
50
344
57
602
111
581
523
383
700
970
174
254
335
585
760
71
221
638
125
192
391
466
472
484
330
908
77
926
420
811
877
495
593
712
742
771
490
163
986
73
320
805
867
36
314
39
410
227
385
65
851
771
119
147
431
13
737
168
49
889
33
960
487
52
565
406
559
769
598
34
520
286
371
668
539
647
274
716
840
915
439
850
361
399
51
139
453
720
427
215
147
527
523
640
14
240
80
479
495
450
51
12
832
509
305
630
440
417
865
219
610
292
81
764
949
631
226
471
839
52
962
440
511
419
9
812
29
91
144
348
609
518
321
613
191
573
349
280
138
823
14
597
255
386
1000
700
56
172
216
326
356
57
438
414
835
998
224
256
141
166
161
123
499
937
401
781
548
976
327
866
303
716
910
902
722
231
8
632
363
910
415
412
984
325
930
662
770
398
118
745
51
312
701
192
13
592
726
888
912
449
743
691
731
788
229
989
48
240
434
821
129
206
589
570
914
181
197
677
578
553
717
477
869
668
510
54
221
202
341
963
968
773
96
761
625
304
624
566
300
842
758
272
787
427
666
644
793
130
627
201
33
548
231
747
666
921
775
398
626
480
317
190
951
847
463
680
121
67
449
497
759
355
500
447
779
734
783
590
225
544
441
734
578
215
405
877
290
806
632
445
633
543
427
641
767
4
323
790
68
648
744
357
353
122
357
215
651
117
575
843
514
609
143
314
726
979
132
391
420
865
934
520
262
576
59
268
369
580
629
577
55
856
468
226
343
886
590
70
389
681
724
932
662
516
217
532
713
966
306
444
882
451
263
895
118
740
386
142
372
733
135
306
692
465
976
750
254
423
664
579
18
185
751
343
619
904
81
803
401
339
926
494
200
984
188
863
602
334
788
943
931
504
972
922
134
183
753
435
66
420
134
99
434
822
60
633
776
550
284
888
436
909
458
235
414
451
783
79
379
209
516
696
863
142
471
196
864
881
396
203
643
608
783
726
499
263
231
795
715
313
961
666
644
975
439
768
135
168
387
139
94
425
615
764
13
666
242
117
718
62
845
193
420
137
8
512
384
938
566
872
204
328
527
150
690
424
332
32
856
780
618
411
339
164
92
87
883
686
496
542
165
587
862
813
337
209
464
916
154
570
881
821
445
445
630
761
979
84
632
478
510
516
634
123
866
892
334
668
501
468
619
86
833
648
767
40
23
959
941
515
615
970
551
628
572
926
353
847
809
319
228
998
281
697
647
692
54
768
777
316
544
250
1
273
291
992
417
974
232
581
513
964
400
62
803
670
398
381
663
456
775
877
1
100
664
488
687
310
627
307
826
633
707
816
110
928
75
395
434
637
527
712
918
199
312
179
263
334
408
966
108
352
423
992
689
335
773
904
610
774
617
292
24
253
331
304
816
824
965
384
695
29
214
60
199
900
917
593
744
875
12
822
773
290
152
728
987
975
902
64
368
572
579
930
468
334
268
282
966
576
518
213
54
426
526
282
591
194
378
301
295
537
40
771
476
533
368
583
905
939
333
699
513
212
60
270
482
293
10
60
211
790
841
84
331
932
61
118
657
618
553
67
496
911
486
255
218
625
887
334
379
969
399
901
967
810
315
859
535
800
55
258
79
452
623
623
537
285
462
767
680
324
334
701
996
553
508
527
887
411
590
135
119
56
788
134
32
920
269
657
407
15
534
628
303
582
410
601
362
901
353
519
295
538
235
600
311
847
678
100
203
306
323
870
724
122
107
485
650
616
735
193
612
74
79
113
394
122
137
912
900
185
527
637
383
268
234
532
869
121
470
432
923
817
54
746
32
939
692
171
922
829
881
981
63
835
948
173
466
87
905
791
637
74
375
479
203
261
868
672
301
7
18
873
290
314
272
146
731
313
662
293
865
925
944
181
995
862
397
347
312
956
7
292
676
846
576
888
783
213
566
889
985
60
104
856
729
48
645
725
213
504
236
839
426
543
196
507
130
666
299
72
731
320
210
10
222
166
26
816
555
224
246
283
844
621
411
340
802
424
920
762
678
909
286
944
746
674
162
388
100
195
20
749
99
778
281
55
315
393
27
203
248
510
156
968
385
930
18
499
409
521
79
753
499
985
153
388
673
996
82
383
112
571
537
66
198
82
766
274
807
126
721
111
20
358
959
112
995
489
146
672
233
862
740
266
817
427
700
359
523
457
631
841
870
83
815
556
290
531
18
727
597
11
771
101
846
333
81
220
486
680
156
544
444
434
809
35
408
593
627
448
94
106
881
807
741
421
424
422
440
618
475
411
111
791
302
863
162
741
296
672
887
628
797
602
648
960
389
310
782
184
25
915
926
179
520
191
178
170
416
602
96
925
189
230
33
605
79
97
745
331
570
508
490
312
703
815
89
418
927
456
543
170
192
184
818
431
315
174
385
548
442
85
908
268
606
222
288
545
944
644
855
258
152
464
141
934
137
583
95
812
622
802
993
962
689
603
590
718
830
870
237
395
128
481
811
96
591
31
273
453
503
861
621
288
913
262
788
531
991
930
784
193
75
740
994
845
648
450
89
829
391
238
451
409
695
837
340
131
706
632
336
975
56
257
680
257
937
138
271
838
35
943
9
930
195
71
66
653
335
184
463
574
302
242
2
641
833
702
216
266
744
304
512
862
788
369
64
777
364
637
368
406
409
464
560
229
350
606
751
693
959
951
664
112
311
265
795
232
820
450
164
712
501
852
500
522
195
892
338
200
478
645
90
962
372
38
616
903
771
15
215
925
728
342
216
534
324
767
582
400
896
843
990
393
806
84
897
825
776
62
986
819
51
671
220
25
301
99
443
396
207
922
105
388
163
393
223
699
374
195
129
682
888
847
907
588
803
531
679
147
964
281
52
329
930
394
115
771
938
415
345
50
826
259
660
874
657
845
639
318
835
148
639
421
74
706
109
832
474
423
932
680
311
2
24
535
882
437
742
148
883
782
864
627
371
862
59
861
280
643
774
280
887
788
421
508
315
253
599
57
421
912
834
978
924
855
976
311
679
411
976
236
346
963
228
78
558
317
35
681
845
698
59
243
232
496
803
370
418
480
260
990
891
547
886
762
148
30
950
806
446
199
145
868
141
883
59
567
738
63
728
956
214
885
60
463
64
790
308
208
766
355
183
797
60
993
394
971
500
902
600
903
246
492
821
486
933
71
311
737
790
739
792
267
856
301
737
878
278
481
69
489
183
890
242
979
554
10
198
62
857
917
74
927
926
574
866
264
739
349
482
234
284
782
751
86
661
773
964
440
940
86
499
680
61
457
917
521
233
676
659
565
885
718
157
603
201
361
722
466
669
782
56
477
877
275
607
950
996
605
281
698
5
489
210
245
731
356
372
279
217
856
883
881
729
526
653
264
2
684
963
60
929
862
209
676
972
50
695
890
17
592
918
633
275
853
181
878
84
635
781
636
166
931
210
338
945
770
28
310
61
827
81
589
62
956
752
106
615
29
789
103
226
267
48
739
623
779
180
995
442
152
897
388
803
768
939
490
686
966
294
913
757
311
533
278
452
994
341
624
654
830
461
887
282
412
306
358
454
720
428
471
683
897
886
896
701
946
314
666
131
848
149
978
202
936
36
401
65
417
917
442
142
611
683
809
62
807
550
261
425
640
522
634
613
556
393
480
303
228
753
780
180
747
364
350
584
58
110
896
449
363
415
149
984
173
689
137
967
242
873
480
405
925
603
498
585
334
877
62
206
287
330
375
379
222
418
272
760
132
870
229
981
116
707
975
849
301
77
515
486
765
865
395
695
545
774
257
373
14
177
64
687
676
506
926
109
939
392
93
93
499
73
505
364
791
807
319
317
373
169
890
1000
191
128
65
493
467
768
23
294
281
343
552
481
53
114
398
20
799
100
225
545
414
412
839
371
285
320
516
285
198
612
691
849
856
37
809
611
311
872
814
580
287
709
635
810
658
583
38
715
324
481
355
16
341
56
964
850
460
141
857
620
125
240
251
635
621
753
42
436
267
89
794
1
470
218
105
662
32
429
435
684
278
234
896
937
485
449
98
960
592
405
860
62
381
181
487
782
128
487
355
153
250
562
763
736
618
1000
337
317
992
976
818
492
557
708
702
112
578
350
56
678
64
691
793
377
680
205
827
351
303
10
853
205
319
241
896
494
188
193
432
128
857
346
606
209
309
38
21
803
917
130
620
541
301
467
439
762
63
342
386
95
115
418
732
11
331
802
732
888
878
21
613
548
918
688
216
97
320
534
708
77
647
311
146
643
972
793
124
495
3
729
392
768
576
144
116
933
853
816
411
55
434
117
873
409
164
657
108
544
644
318
677
394
300
368
432
884
424
271
979
843
748
721
863
688
998
219
139
489
330
168
169
533
729
103
865
448
255
146
90
250
478
210
613
447
583
766
834
465
380
245
468
211
925
249
536
545
499
790
277
821
485
728
71
376
72
408
54
90
746
272
870
658
299
870
931
256
406
256
626
640
879
252
155
547
386
421
40
459
756
876
932
410
992
265
4
531
779
349
108
470
559
602
857
644
237
182
978
506
178
419
617
704
468
719
723
996
306
382
326
292
11
383
265
43
376
621
915
457
989
454
545
719
710
637
212
445
708
892
499
138
336
461
14
250
647
919
249
803
533
422
343
205
326
371
280
26
184
126
301
3
735
38
629
483
279
541
152
850
295
497
340
191
136
257
537
659
557
164
719
465
185
328
961
471
87
559
154
654
388
272
946
520
254
26
513
711
635
128
499
629
877
384
406
893
684
643
785
849
927
262
805
136
501
994
156
531
759
96
823
922
53
626
915
243
563
31
639
677
911
86
484
223
7
212
870
1000
228
959
847
276
264
211
879
279
939
277
427
307
892
565
813
495
242
3
788
908
270
677
380
259
725
466
797
673
545
558
634
388
690
849
166
173
294
157
287
572
521
101
481
758
374
255
324
922
181
882
151
624
644
177
935
469
157
407
892
810
534
798
30
895
452
298
658
56
658
584
870
56
439
817
155
692
939
664
565
101
669
79
339
996
932
154
478
233
969
120
533
685
334
246
786
410
395
929
70
464
852
775
732
544
895
806
593
825
917
270
332
996
740
662
418
499
927
720
550
413
81
123
602
255
1
544
227
213
184
549
601
961
420
502
264
272
206
339
675
91
244
539
845
604
573
122
432
97
784
801
708
92
293
714
146
319
913
300
739
569
801
938
759
379
395
985
411
801
152
679
692
201
713
190
831
167
653
792
885
115
89
707
415
99
262
713
682
703
655
970
471
567
337
897
481
319
994
86
194
172
570
442
274
450
483
705
853
642
183
513
486
364
174
966
192
789
720
433
746
691
147
4
299
210
23
540
495
894
558
763
480
309
207
200
566
784
829
94
900
415
744
559
137
511
687
390
11
68
955
919
699
711
21
226
30
757
519
840
935
730
747
767
4
672
819
341
654
100
150
909
213
266
209
800
168
702
410
408
936
676
525
427
771
274
256
478
861
314
448
420
203
210
978
596
639
162
517
172
243
814
223
501
371
585
899
123
833
432
321
635
26
712
243
153
374
151
55
503
87
674
186
600
87
974
122
691
915
271
365
275
583
665
709
539
625
841
1
102
43
671
918
703
477
411
390
221
642
813
975
85
60
407
892
686
121
662
445
889
790
487
233
118
648
776
906
770
480
293
221
916
361
231
783
329
15
180
197
905
241
115
306
437
396
204
800
522
203
916
799
124
673
949
891
908
558
965
755
32
527
960
703
518
237
392
398
648
546
865
562
120
418
229
702
836
434
465
753
276
457
622
65
374
690
348
361
696
259
305
95
515
528
832
185
55
496
773
217
784
50
290
29
146
302
827
64
515
940
140
986
488
349
411
847
863
208
81
514
739
453
929
166
277
748
343
411
533
85
455
978
673
725
26
8
614
455
521
664
796
72
821
169
365
50
406
411
511
607
655
918
100
766
96
368
4
536
79
794
742
53
349
275
144
383
429
251
736
680
543
527
483
583
82
686
319
49
216
881
634
294
340
938
509
184
494
262
23
163
748
326
421
797
824
373
240
97
908
573
786
62
680
64
494
280
71
175
770
20
184
680
897
980
70
84
467
723
807
827
567
900
398
739
677
546
574
274
793
95
463
828
831
280
459
947
753
731
348
316
181
935
887
220
509
198
602
610
604
360
516
962
285
354
876
916
655
105
743
38
253
907
456
132
716
154
586
243
324
226
980
860
359
429
879
850
675
73
912
363
284
207
966
244
5
48
552
551
457
841
297
348
759
759
642
337
289
445
621
792
804
984
878
923
993
412
693
43
300
343
855
879
464
939
673
935
749
259
277
65
312
926
645
328
466
219
450
753
890
911
922
837
955
608
389
519
453
936
81
839
935
630
63
736
796
473
880
229
994
96
604
759
990
819
509
611
121
93
507
123
75
607
825
902
595
797
139
343
831
307
518
541
977
959
103
149
989
888
373
763
183
836
254
235
478
15
52
653
886
569
417
847
603
435
78
928
736
300
120
813
237
451
947
655
123
532
876
821
409
610
537
374
490
505
827
47
894
24
245
307
415
615
793
454
666
949
528
644
968
130
35
352
339
528
772
81
67
744
274
38
943
835
662
95
835
714
774
620
657
621
489
633
180
622
531
328
370
404
54
204
101
16
884
925
163
794
111
559
449
456
80
24
98
202
513
419
140
738
607
407
907
325
493
970
42
302
341
679
463
60
753
65
51
113
810
827
130
720
290
356
60
516
125
532
362
727
127
799
847
852
370
302
174
146
386
253
82
830
523
767
326
730
372
116
977
960
186
716
356
351
590
215
289
528
686
699
811
975
882
404
680
912
351
300
294
570
100
579
672
245
999
380
192
587
995
57
671
691
957
901
193
923
244
542
822
873
147
142
961
488
802
125
657
192
50
409
583
798
984
25
800
88
587
552
638
212
976
31
192
488
231
878
23
727
687
851
594
980
895
305
880
462
118
826
352
461
394
810
251
240
679
715
650
305
531
536
310
898
126
503
756
292
120
118
302
224
49
456
992
845
477
61
540
673
78
855
408
320
202
269
74
250
241
137
421
387
283
37
908
199
144
391
875
760
830
97
856
407
903
414
297
805
2
558
424
655
5
795
301
785
904
798
312
113
512
715
405
769
524
672
415
733
304
442
742
474
4
591
422
418
265
715
395
555
796
320
386
124
607
466
350
118
501
567
878
292
742
616
315
474
448
706
581
237
389
868
870
398
309
203
443
409
837
725
717
418
303
592
754
661
538
188
984
913
787
62
757
911
460
831
854
9
290
17
650
863
876
220
980
586
281
157
111
661
507
883
447
871
241
943
687
629
206
279
251
423
813
501
673
494
600
479
546
509
100
325
348
734
370
521
136
141
413
329
666
943
96
637
966
307
3
111
782
360
834
812
581
153
598
491
13
960
868
385
808
134
777
662
109
745
289
646
139
423
495
534
933
129
352
639
559
65
311
105
931
574
769
620
801
681
103
941
991
856
367
891
277
715
342
100
557
612
796
951
157
504
210
65
118
62
201
189
357
692
120
549
426
61
38
552
394
753
441
223
69
850
469
926
381
649
473
718
243
177
989
153
619
882
968
476
856
670
241
924
545
468
770
287
317
604
166
976
17
606
344
582
625
468
936
322
172
43
274
832
617
961
331
459
347
432
2
620
500
326
491
764
807
179
391
225
17
158
227
534
258
556
880
798
873
85
294
384
393
111
312
465
268
960
335
949
949
620
707
932
666
465
389
101
28
129
555
433
160
276
157
148
652
832
418
99
33
164
452
704
808
819
892
73
401
701
502
200
454
956
229
970
31
450
34
245
245
419
180
496
704
785
315
275
945
655
843
318
745
743
576
230
776
783
583
516
571
545
501
175
200
707
310
198
370
682
690
112
846
464
684
107
293
715
291
412
601
575
25
308
746
178
213
584
78
409
1000
284
659
234
607
342
972
850
375
22
856
967
528
171
21
764
385
919
860
473
964
847
571
50
529
601
780
131
657
628
986
295
831
970
113
698
382
63
389
285
873
78
601
130
624
633
460
922
159
645
483
272
817
670
302
284
588
320
774
806
579
283
597
869
114
991
419
101
615
219
542
289
873
765
449
880
208
894
306
920
341
404
492
808
488
24
3
305
314
338
253
442
893
595
402
294
768
567
840
151
501
92
882
224
896
36
25
921
160
229
355
634
876
319
826
182
588
611
152
301
163
694
12
51
881
52
112
605
368
939
394
641
80
491
359
500
15
429
22
320
756
733
504
608
728
369
641
84
757
447
264
202
656
249
31
410
562
154
735
107
177
847
87
260
918
140
806
777
188
355
750
121
667
514
453
72
527
484
161
215
971
866
903
514
340
601
647
292
320
228
902
25
422
250
391
641
42
298
581
425
854
638
927
204
205
134
656
215
478
898
793
963
106
775
941
401
6
240
972
967
769
494
437
392
821
304
982
662
129
646
451
236
773
294
727
408
819
303
516
704
510
743
475
335
745
160
76
17
153
970
562
932
881
388
189
201
365
580
714
999
936
414
733
373
115
572
69
886
843
821
844
455
682
899
286
128
240
841
589
91
707
558
336
902
354
123
103
796
344
544
856
929
983
762
678
590
801
240
163
728
496
771
551
653
833
96
304
359
18
475
362
761
984
654
745
54
235
510
545
520
625
273
571
378
495
408
113
677
95
118
306
819
124
959
602
23
490
257
711
941
143
813
138
653
906
948
191
511
794
25
879
611
182
438
649
227
578
512
325
180
446
868
921
954
700
609
218
351
20
101
148
609
124
202
32
218
470
581
695
83
645
125
292
344
872
520
484
860
660
800
200
351
576
27
857
207
570
305
320
251
28
991
323
98
978
344
299
310
459
808
816
258
115
817
869
431
467
285
312
969
172
947
612
357
821
296
928
538
451
179
236
193
19
30
869
570
535
297
342
27
411
909
824
439
873
474
917
664
927
512
688
604
484
210
58
743
725
73
710
664
678
363
648
766
295
412
446
287
1000
733
974
787
835
349
112
432
795
905
541
809
934
960
218
475
90
302
550
135
877
242
584
169
701
671
791
200
109
21
102
545
764
441
936
662
674
188
870
190
90
667
470
756
666
599
544
504
40
524
746
199
5
208
28
869
830
548
905
142
71
278
877
843
459
81
655
964
24
746
3
798
670
639
132
911
828
76
568
626
628
149
344
850
314
181
165
429
235
259
937
668
801
239
661
315
273
191
259
77
98
510
299
714
775
836
977
841
928
446
941
841
324
45
718
710
80
715
554
223
193
333
486
562
829
949
297
404
506
442
838
537
443
298
848
258
841
473
55
172
808
138
792
518
961
560
803
815
486
495
232
451
583
257
8
829
752
31
943
791
380
140
957
370
405
669
711
352
627
292
841
735
420
187
707
944
166
648
235
574
720
370
15
504
633
414
264
472
634
546
673
569
101
986
422
671
845
583
840
507
581
117
307
957
856
700
962
125
48
255
741
976
306
641
34
574
919
278
21
505
664
81
336
672
163
74
286
437
103
316
247
65
468
682
251
511
624
584
8
842
131
941
771
51
707
594
535
524
611
857
1
234
53
105
664
552
916
152
120
654
218
616
421
687
239
694
871
209
179
519
195
949
539
766
390
571
154
294
917
997
972
384
83
765
194
566
625
102
367
123
519
626
390
116
998
91
153
148
589
152
702
181
760
924
429
416
415
18
744
611
34
785
101
262
753
787
61
736
32
838
246
804
867
560
699
999
681
44
149
898
127
116
123
715
56
677
680
587
800
783
780
514
729
440
934
251
800
581
862
314
397
324
311
924
350
398
67
904
407
599
470
475
832
208
404
462
35
593
821
609
279
628
358
603
639
138
487
916
273
301
946
774
42
844
911
388
219
899
476
87
767
585
534
150
254
756
69
927
974
840
222
334
249
395
215
897
227
795
359
316
676
485
952
961
450
338
793
773
302
977
436
839
676
347
54
256
965
454
975
7
463
921
523
256
909
963
810
868
87
433
473
949
421
833
216
941
875
569
164
88
767
276
697
137
291
734
414
753
641
761
348
463
635
469
324
901
648
453
674
730
481
788
78
941
528
223
422
102
197
558
999
780
133
12
215
564
177
339
288
45
381
543
56
646
645
309
115
447
683
691
996
974
136
181
990
491
571
985
507
499
28
254
599
984
536
47
371
466
732
988
512
48
289
971
142
465
401
749
462
613
946
914
465
153
285
629
98
564
885
416
811
455
71
466
405
30
241
230
435
361
850
479
209
510
291
665
598
619
551
140
443
783
223
725
359
918
964
209
101
829
12
557
485
408
723
37
53
203
400
974
281
607
846
572
158
574
218
90
395
60
707
675
332
388
540
308
890
308
557
673
512
857
401
209
141
11
935
271
687
737
71
94
354
306
618
228
418
596
126
201
761
728
934
438
532
534
801
877
790
280
584
313
905
560
359
207
756
480
315
610
516
82
478
885
885
468
71
98
198
217
875
341
712
517
473
711
761
887
677
392
157
502
750
74
407
884
254
935
827
192
486
561
625
398
523
458
359
424
786
263
982
676
951
382
826
499
731
521
485
795
742
513
539
381
240
919
449
752
959
104
772
537
694
874
35
320
550
323
227
485
934
221
899
376
541
125
274
402
505
445
607
674
863
808
282
358
259
443
763
256
557
766
584
10
662
965
11
953
356
223
875
851
451
129
345
706
862
943
97
331
471
660
396
638
834
211
117
437
825
737
629
97
293
588
735
567
696
596
623
135
456
212
838
778
454
291
856
108
733
676
736
740
908
245
673
373
268
734
1
975
820
502
369
283
766
371
329
219
46
803
554
938
594
995
267
984
910
897
229
389
400
779
810
659
684
734
248
274
732
419
206
717
277
416
99
67
388
822
505
881
506
67
162
422
506
504
645
312
554
14
896
295
614
716
140
164
485
915
605
820
134
549
667
82
926
742
721
140
79
572
91
473
275
747
786
643
934
739
751
640
60
822
544
323
952
604
36
104
300
886
830
206
363
106
563
699
990
201
175
73
219
450
506
266
63
754
310
906
886
842
879
45
460
106
988
792
398
112
817
74
149
352
804
224
176
480
165
194
226
78
932
12
849
1
914
483
446
477
969
270
151
438
298
212
811
996
294
160
160
603
594
637
65
180
633
388
336
424
926
226
221
592
744
619
118
256
630
147
472
961
409
302
62
212
977
95
115
952
147
590
756
534
295
797
326
200
331
320
997
266
816
771
934
506
639
260
988
755
768
175
521
333
1000
84
507
746
540
827
488
7
480
766
327
94
947
726
938
257
761
375
346
362
921
662
493
996
169
457
178
815
149
736
405
481
391
467
190
600
491
885
578
256
339
965
222
109
204
736
363
512
813
526
487
808
278
371
236
760
907
571
372
53
451
840
733
977
322
575
150
647
676
497
238
595
10
371
820
179
120
501
503
992
840
489
580
399
969
49
6
386
194
748
662
154
614
194
509
257
682
560
518
652
996
307
438
706
389
641
603
78
184
532
932
397
346
103
230
831
460
809
694
966
137
115
250
893
495
297
995
44
821
610
530
109
380
283
439
304
604
729
483
401
594
903
374
148
917
964
124
166
192
263
37
957
853
214
404
405
767
787
812
32
109
198
794
324
992
877
211
621
888
943
378
454
789
219
439
687
408
303
916
535
423
310
655
300
970
704
648
706
77
45
302
803
743
592
798
744
706
443
102
146
700
274
36
404
224
846
600
34
374
113
368
99
318
169
352
781
372
295
221
463
444
37
129
12
810
609
676
544
813
888
755
615
98
953
110
673
398
379
429
585
759
533
738
255
288
669
654
646
197
947
775
14
919
421
141
808
592
616
216
458
994
594
280
250
360
275
485
584
136
370
73
163
828
476
415
95
587
780
609
464
81
307
319
641
483
885
470
517
133
791
130
864
531
570
671
249
857
666
852
257
114
298
991
323
351
509
809
115
143
404
824
246
660
406
430
87
202
756
895
560
41
622
560
114
777
868
474
523
176
995
530
752
639
797
932
903
40
982
485
170
659
410
765
803
315
596
694
329
629
842
444
640
550
668
845
120
867
243
710
688
489
148
549
466
676
125
168
823
232
410
557
685
947
916
297
364
166
750
411
598
462
533
251
159
834
557
530
184
687
64
39
303
179
843
967
782
128
890
972
139
824
100
321
112
522
831
482
440
323
696
543
647
441
149
666
903
558
246
633
84
91
475
181
358
707
693
450
956
363
24
357
346
455
36
142
638
439
640
618
938
383
916
916
277
506
539
605
962
697
524
153
406
362
808
588
16
740
532
96
273
992
6
49
925
946
1
595
143
391
434
536
522
174
484
668
102
198
929
163
911
587
768
838
125
933
241
356
601
519
975
509
433
900
335
722
153
981
965
852
406
42
205
143
234
755
261
952
572
312
23
467
237
242
946
193
441
349
710
402
837
482
239
127
204
520
254
483
144
39
709
318
568
623
376
218
353
662
337
884
245
804
349
783
13
907
874
743
861
486
72
877
335
137
209
795
312
365
726
597
160
586
709
520
835
770
591
452
509
405
722
743
303
939
857
872
826
873
717
551
529
15
515
836
337
182
755
590
590
806
653
472
160
501
261
242
438
617
746
744
52
215
289
424
328
698
771
596
953
532
750
975
817
117
219
160
702
880
303
896
372
98
353
891
597
769
867
919
842
135
282
748
662
41
968
134
317
431
685
779
790
692
358
680
146
450
266
721
147
680
646
733
138
658
283
491
477
408
861
268
202
724
715
662
212
798
185
345
957
757
911
306
528
129
293
908
82
367
804
804
735
85
17
327
412
599
13
496
657
659
288
179
72
52
425
273
890
861
559
995
145
723
82
484
77
405
178
983
658
375
455
775
613
782
406
938
904
501
448
700
396
416
37
851
364
150
693
253
552
819
839
935
754
201
995
651
247
922
262
77
965
860
979
997
5
7
121
935
908
444
302
695
160
915
218
183
554
747
985
704
347
463
102
633
660
549
713
24
171
233
425
223
979
46
183
5
448
171
615
120
947
284
825
353
669
668
797
409
140
866
488
946
575
40
190
120
7
504
913
815
984
600
434
577
649
213
82
920
283
730
546
304
668
184
772
563
205
642
467
983
354
661
900
567
801
747
407
194
732
347
485
581
749
809
446
930
227
163
312
119
393
309
97
135
988
389
628
203
157
702
787
725
115
510
461
714
223
479
458
867
330
296
380
832
634
222
763
473
852
935
790
156
194
72
545
166
490
257
83
379
828
289
555
200
239
357
241
639
285
825
643
70
882
167
708
890
340
93
840
807
382
774
625
927
872
345
73
188
66
535
756
903
483
357
444
359
897
298
678
489
538
317
300
596
318
272
87
992
773
123
535
206
477
340
281
93
873
489
845
801
817
888
166
28
656
557
876
430
324
428
364
355
759
925
495
306
943
575
244
648
978
273
618
132
936
182
983
747
645
21
317
240
193
682
958
423
694
675
155
49
774
926
76
562
312
805
967
578
204
95
860
246
310
822
523
996
274
448
385
334
623
986
808
448
393
2
374
411
567
310
849
654
734
401
68
216
763
296
319
7
712
559
672
913
863
675
355
172
559
854
476
818
470
580
315
408
9
942
981
447
912
814
413
118
374
479
607
995
746
169
460
352
513
305
817
616
145
927
145
255
493
896
743
102
568
19
583
710
922
124
640
848
342
475
78
642
260
645
755
194
75
119
299
741
608
438
437
519
10
666
351
581
746
321
584
697
754
667
421
381
443
483
733
781
993
950
972
885
313
335
406
21
108
518
686
119
723
227
522
596
827
41
619
985
540
838
964
643
313
402
268
958
718
290
633
485
326
952
505
360
13
275
577
138
364
408
603
949
330
766
12
477
913
562
783
813
479
90
331
673
213
242
11
816
364
434
433
762
182
184
1
65
860
74
939
456
386
750
613
159
916
871
142
563
206
668
121
190
635
860
777
637
598
215
56
740
369
950
915
702
79
520
571
376
81
61
603
179
852
920
541
349
508
239
48
380
195
532
862
525
881
548
444
169
525
482
641
753
239
794
774
665
769
446
248
179
589
381
161
99
945
456
429
232
437
845
605
183
94
122
939
280
469
878
192
603
955
709
404
188
389
876
96
516
36
740
366
264
188
331
967
140
964
58
718
343
365
601
536
814
269
510
993
982
872
868
505
148
990
688
202
16
792
335
74
104
748
407
188
958
34
955
677
147
187
830
697
983
550
257
754
811
918
430
631
480
857
47
654
301
364
212
179
420
873
69
990
992
162
866
789
15
343
882
30
938
989
781
192
423
371
551
962
761
991
92
927
466
827
917
110
522
182
193
79
620
656
511
433
442
470
381
183
753
349
416
890
592
202
571
510
352
94
621
503
908
376
238
180
231
397
671
201
146
910
37
818
949
157
662
775
644
607
749
704
440
507
880
530
994
733
507
631
578
898
649
459
7
318
453
918
682
230
159
26
558
610
265
302
179
32
363
893
197
300
232
638
936
960
206
166
632
426
793
649
979
140
769
996
435
98
722
152
601
123
104
616
607
436
385
488
92
472
830
144
844
367
742
98
576
239
773
746
637
177
22
467
700
878
219
969
545
962
243
882
162
334
565
344
280
369
15
708
311
345
425
589
449
274
278
158
310
226
501
984
79
299
928
738
607
644
748
762
270
296
487
850
689
168
657
587
616
205
255
234
370
598
693
464
231
933
608
231
93
358
191
648
510
135
381
57
987
459
263
395
985
51
503
548
674
811
515
639
880
800
306
95
44
898
633
908
244
756
203
701
516
90
115
94
760
921
635
402
495
109
735
868
608
423
480
471
33
411
509
865
977
552
347
143
920
527
227
933
110
954
426
800
701
599
857
55
978
904
823
832
357
660
357
761
960
779
561
621
625
414
710
123
124
146
654
376
224
531
225
648
1000
92
959
740
435
741
405
674
929
703
706
421
817
235
939
82
368
831
893
264
13
142
607
415
767
540
971
497
896
112
164
734
865
888
496
91
557
266
491
792
533
927
670
459
844
29
567
365
528
67
947
933
472
631
72
804
754
206
137
738
917
277
654
167
917
268
672
412
598
266
180
486
667
34
970
887
74
581
505
21
602
424
69
684
260
711
576
574
748
619
951
927
882
728
902
192
362
663
248
133
667
891
715
848
200
448
234
996
14
297
349
936
584
217
295
601
123
342
654
641
899
994
302
800
823
15
492
546
379
565
549
681
590
305
604
31
294
924
201
362
495
218
427
316
898
316
408
549
63
191
624
212
766
280
533
574
290
926
411
932
356
328
145
861
297
892
964
528
944
163
726
46
365
38
457
791
262
571
250
183
347
473
548
699
479
394
70
762
673
132
333
742
364
218
787
489
458
714
106
709
773
672
23
31
448
383
448
760
789
488
277
197
773
27
450
879
164
713
290
242
775
89
139
33
897
715
592
267
376
223
385
611
76
883
163
917
736
321
851
991
345
161
374
835
178
655
784
307
610
814
643
571
641
174
704
747
847
67
475
916
118
214
283
970
114
515
820
862
844
141
967
470
156
443
911
641
208
699
146
973
187
462
28
555
633
90
918
186
738
90
839
556
906
37
753
508
659
187
269
775
710
368
599
499
665
374
53
467
323
879
244
215
15
847
409
68
751
504
969
739
207
220
503
335
757
52
808
473
785
286
635
759
543
37
951
42
637
860
322
725
65
374
109
883
385
80
693
114
213
948
870
849
737
813
891
307
364
338
365
418
916
78
387
802
26
211
788
331
517
600
403
897
567
153
566
747
424
924
850
151
278
959
236
243
636
702
465
566
243
653
335
243
115
73
85
719
762
754
834
705
34
258
206
284
319
563
943
158
20
789
280
653
321
481
314
403
269
993
412
624
111
639
959
480
633
640
381
350
980
349
428
718
60
894
175
13
179
157
46
961
985
970
445
929
160
506
261
287
541
119
572
37
530
281
406
826
699
870
261
992
479
769
427
480
715
642
848
294
636
780
366
654
477
133
733
192
627
969
671
309
626
142
631
294
795
617
610
934
567
694
545
101
833
400
358
260
725
630
664
922
321
900
551
801
668
61
583
876
400
896
357
555
953
307
550
937
66
693
359
445
808
240
635
229
839
8
823
334
26
166
26
33
773
194
118
694
664
636
857
200
71
801
373
265
430
837
251
946
763
772
641
277
854
454
509
220
218
763
152
82
621
157
611
110
450
376
421
260
672
83
461
990
475
326
299
547
933
992
551
370
197
794
231
158
793
963
969
649
564
505
305
338
690
789
924
237
991
287
866
225
422
456
219
745
267
141
765
360
33
368
350
203
462
81
531
416
412
186
142
514
546
269
26
989
942
454
113
601
728
221
375
527
831
382
995
951
742
88
231
732
978
447
60
517
572
295
665
12
491
701
220
184
356
53
249
823
222
928
29
253
453
513
108
973
928
45
61
653
914
577
15
234
926
403
294
840
847
651
816
828
348
859
463
585
411
841
746
626
371
792
531
107
425
368
420
152
20
428
726
271
841
230
571
707
426
147
799
789
554
369
819
201
633
648
443
645
303
869
35
534
327
116
47
199
638
948
85
598
108
801
200
665
198
779
18
230
148
637
638
943
789
385
1
712
368
806
544
988
998
149
531
630
488
381
388
188
329
704
755
197
562
463
725
456
105
211
918
351
865
424
631
981
622
307
270
220
248
187
704
873
288
240
949
791
313
659
801
117
744
955
681
853
35
727
938
590
201
160
305
552
686
454
33
59
478
626
459
149
178
376
418
388
488
265
960
789
179
37
284
410
148
727
677
394
634
164
500
159
966
556
960
982
536
124
473
435
779
173
917
25
71
550
981
894
391
187
91
640
490
293
142
133
92
831
334
737
339
88
965
466
304
523
945
423
888
579
135
358
831
824
347
258
892
595
985
715
464
322
880
199
34
827
798
496
921
200
489
300
672
297
902
340
359
517
376
516
742
266
197
189
959
463
897
185
949
470
69
82
301
118
280
12
586
835
854
609
538
469
940
656
615
64
269
711
598
727
454
238
863
736
509
787
898
185
503
350
440
820
915
322
319
167
311
415
765
735
396
487
419
810
407
455
780
372
32
418
130
721
745
619
253
694
536
136
430
759
479
43
246
840
493
306
716
484
963
880
142
846
559
303
872
14
758
575
827
408
40
284
286
337
703
722
891
304
535
226
270
332
357
85
973
392
561
137
661
20
351
615
599
313
334
895
555
823
463
539
134
299
146
428
441
833
453
863
711
736
995
182
205
387
979
866
250
367
408
94
754
438
118
413
929
284
626
522
231
516
319
174
714
103
577
838
91
282
819
87
831
974
316
645
482
956
838
630
269
300
857
825
718
129
87
749
696
337
568
864
790
738
412
524
387
48
561
181
177
212
599
889
39
860
751
401
445
71
665
8
581
232
507
787
357
487
164
133
344
159
75
281
502
589
332
8
196
19
193
877
662
511
97
188
521
403
583
261
421
477
276
812
140
829
233
940
748
426
494
701
549
468
659
318
537
949
641
835
79
300
564
414
353
563
899
553
845
328
564
190
863
590
658
62
594
741
929
691
698
152
863
72
827
192
484
458
726
67
588
661
785
564
124
915
981
651
902
676
190
875
600
690
733
700
313
278
836
220
512
84
441
184
348
441
391
900
679
127
571
394
73
503
42
109
314
954
520
596
593
93
830
855
682
427
139
436
845
16
788
985
163
241
588
622
228
929
257
471
895
951
510
661
867
901
982
349
431
626
767
660
577
161
863
950
74
110
227
468
806
649
454
330
825
60
328
672
128
184
601
26
116
256
430
217
74
324
804
552
753
866
168
684
354
277
194
265
746
625
315
469
782
411
210
495
955
150
879
411
431
224
364
103
720
830
428
610
847
838
694
834
910
8
887
487
350
359
765
128
58
411
284
321
735
676
345
279
512
31
186
813
924
543
112
86
784
923
825
422
357
12
997
391
508
615
138
514
191
563
38
145
696
92
210
573
598
499
862
900
214
570
873
15
707
455
137
878
649
503
430
347
5
81
631
994
998
533
756
725
237
258
728
499
857
355
260
151
109
398
516
115
29
677
444
839
343
691
818
829
725
759
48
529
892
358
763
726
800
221
24
748
357
253
779
503
682
83
823
312
907
394
111
580
921
246
730
566
262
254
225
916
553
860
248
144
530
893
719
969
676
307
747
269
955
267
600
403
939
732
898
858
870
296
40
466
854
347
592
949
414
511
975
165
116
957
372
231
811
385
161
649
349
414
580
679
254
654
546
426
962
961
736
587
708
234
87
324
31
672
870
492
176
546
344
332
394
439
800
777
223
345
501
721
379
223
598
971
819
377
649
86
833
514
725
8
803
451
461
197
396
221
584
962
499
757
614
825
179
437
463
49
312
504
572
909
281
791
127
885
340
229
596
732
816
347
528
292
298
333
98
987
380
249
382
169
314
702
689
886
129
578
601
178
405
477
547
694
900
120
815
299
657
312
968
353
44
12
468
487
440
700
200
67
898
460
244
976
190
205
942
13
83
994
784
991
568
672
106
557
33
973
959
884
37
755
712
628
449
283
173
970
170
338
31
146
595
442
429
580
230
696
332
642
616
571
165
94
827
452
859
465
298
941
81
990
709
691
883
228
952
37
455
160
965
791
961
384
345
367
676
23
227
816
751
68
852
460
1
205
632
546
9
610
261
760
751
796
634
480
615
369
895
383
452
471
927
389
759
755
996
930
655
971
69
262
637
625
522
826
410
738
572
711
277
403
802
882
662
707
539
181
361
610
725
46
19
524
125
541
138
662
370
542
666
726
393
887
824
113
271
857
389
636
343
640
67
706
744
287
959
994
193
278
367
909
929
992
358
603
185
268
549
802
505
772
591
506
482
49
657
474
225
19
71
453
962
129
886
327
719
556
811
696
938
653
412
925
219
310
911
366
131
991
222
277
158
38
92
956
428
208
340
718
793
557
242
686
233
483
14
757
293
183
235
762
461
809
779
564
967
341
498
797
477
564
466
964
549
554
62
924
526
779
548
101
729
253
100
361
465
177
421
159
339
146
177
444
831
342
498
788
888
61
702
420
566
564
206
124
358
516
326
483
933
222
280
552
443
432
272
863
433
771
938
609
656
722
828
950
769
668
816
662
976
706
507
754
163
823
782
268
972
551
591
197
570
402
970
348
560
213
73
22
600
69
674
582
843
559
209
332
183
996
939
657
689
654
188
22
293
217
990
271
982
404
645
642
275
176
838
42
727
17
22
445
579
529
686
695
422
987
990
634
942
549
4
201
380
558
446
108
334
704
379
740
933
883
809
182
206
253
499
640
678
321
601
95
848
927
899
695
208
588
566
291
907
40
319
485
988
720
800
766
358
604
791
620
317
51
634
981
494
281
820
27
538
662
269
130
719
263
273
695
932
17
384
769
206
395
837
508
965
727
217
78
721
140
158
66
821
667
856
280
149
207
25
644
384
894
729
983
551
930
222
670
113
63
517
463
767
728
893
384
468
324
7
161
901
224
544
556
827
883
593
918
210
866
54
415
58
689
432
696
218
117
286
190
180
971
490
844
93
560
181
892
787
552
959
128
596
491
442
250
155
178
794
95
150
837
166
923
222
298
348
502
823
476
44
410
845
8
353
851
288
299
990
277
33
121
725
289
58
586
315
610
63
561
943
401
528
536
799
839
671
550
975
658
665
30
290
315
724
281
10
541
344
959
683
302
74
42
464
619
685
700
389
263
493
3
6
83
896
568
671
596
889
110
600
529
454
335
446
202
209
802
791
981
659
136
425
552
716
510
722
457
866
358
700
113
568
137
633
565
946
326
144
315
864
981
817
919
779
892
236
424
589
807
277
393
823
231
174
983
139
29
577
469
68
451
388
708
338
197
607
217
920
837
825
988
140
264
283
659
820
806
600
376
427
327
379
553
641
921
900
723
583
794
22
856
176
527
238
851
780
209
546
380
259
862
423
897
135
159
736
432
317
701
866
737
175
997
659
435
416
888
78
130
281
324
604
808
89
324
475
469
43
439
851
634
507
245
858
294
694
220
256
865
784
875
170
958
51
132
906
103
472
789
412
84
642
335
315
217
554
556
811
721
944
79
906
318
467
510
613
330
901
860
777
853
976
717
120
1
161
39
964
863
940
478
819
548
692
877
721
633
262
951
734
371
718
192
532
300
599
714
348
229
140
108
850
151
606
366
721
330
867
587
803
652
776
486
660
364
749
708
361
469
186
536
55
391
13
906
683
1000
680
539
747
714
401
612
656
199
305
621
541
147
414
21
849
691
50
738
223
307
366
929
375
464
175
173
703
836
138
853
396
660
701
647
632
687
843
893
269
211
847
105
128
885
800
34
554
370
466
529
452
387
511
859
398
390
790
346
765
951
559
866
997
861
26
273
315
152
603
853
167
503
606
670
682
943
895
83
226
406
144
748
929
397
2
170
693
5
399
197
783
538
646
915
544
297
789
79
207
396
853
527
999
80
278
68
974
681
820
952
100
227
651
353
107
722
195
263
545
269
515
809
298
573
674
307
531
797
555
249
674
412
113
89
591
469
843
853
514
653
563
578
667
626
271
93
791
384
912
897
891
794
392
749
643
62
62
120
838
589
215
839
141
578
808
107
215
798
783
546
967
100
853
108
246
651
544
479
867
347
634
75
213
559
856
847
986
166
880
903
930
828
147
374
451
581
78
47
98
132
547
46
828
690
282
225
810
754
35
14
288
68
928
167
674
862
407
236
625
556
588
615
309
362
614
700
473
598
841
30
186
58
268
292
336
505
680
711
64
183
367
660
300
299
135
293
507
534
551
637
534
33
36
816
213
753
419
79
954
719
95
834
156
513
725
172
646
278
730
267
767
634
501
566
928
139
304
955
649
392
398
896
153
390
712
111
564
549
809
540
628
627
487
150
679
870
565
686
245
891
849
576
306
137
258
42
705
334
379
911
633
947
495
768
435
526
240
844
174
804
627
476
573
522
114
89
935
272
762
355
624
103
302
626
528
210
104
777
654
832
629
310
725
368
924
958
137
812
121
37
189
847
718
496
816
297
590
934
370
211
340
884
195
547
578
273
805
250
174
320
521
581
336
71
308
682
639
399
367
703
739
585
793
305
577
517
189
969
347
146
716
367
331
73
460
969
15
60
369
181
553
799
254
584
727
512
524
239
58
797
378
605
600
696
157
370
260
120
439
352
206
618
247
685
998
978
432
711
665
285
881
345
803
895
734
199
163
228
160
414
904
411
609
984
834
587
639
324
530
145
580
987
174
184
296
712
296
321
299
459
421
318
259
655
739
68
760
691
568
226
785
571
294
91
979
739
940
423
235
307
264
539
502
313
513
366
17
178
591
153
351
223
388
167
751
983
464
28
279
34
117
300
140
265
81
566
437
808
786
511
278
336
106
455
827
101
46
386
395
829
622
763
140
587
505
298
263
809
640
460
863
962
169
663
772
705
448
977
748
35
850
740
390
579
370
605
14
126
716
420
512
513
722
841
906
186
417
700
932
119
20
998
449
273
455
825
925
459
741
665
540
287
723
279
679
873
193
849
720
95
396
97
58
507
278
888
241
456
598
204
951
544
226
446
312
378
507
728
677
412
570
206
602
814
853
513
193
495
938
56
398
824
951
262
95
108
452
877
13
617
719
48
648
762
777
256
302
104
347
120
326
976
139
700
420
866
545
239
618
183
851
191
165
663
544
976
68
459
144
167
529
914
277
698
804
138
368
248
323
747
419
187
29
548
847
302
978
556
203
107
228
406
957
671
895
178
196
770
69
634
208
659
959
107
462
912
237
626
396
586
66
370
776
433
691
216
121
13
799
975
832
314
88
885
221
962
589
71
599
154
349
975
919
211
1
210
279
60
619
908
742
998
988
359
513
812
100
716
512
714
238
556
782
543
499
364
946
426
971
361
172
370
80
667
686
299
804
479
923
690
557
792
797
254
546
223
449
104
316
644
32
452
28
689
748
161
703
629
429
422
349
809
371
394
370
580
24
926
134
652
398
345
916
860
738
889
676
644
69
548
310
913
747
977
72
583
13
656
831
779
863
651
721
595
252
195
523
346
761
783
793
438
394
631
393
360
64
173
527
784
700
718
848
458
617
528
490
383
949
331
104
747
492
759
134
247
275
240
554
693
512
666
290
258
401
535
344
352
364
338
442
829
951
660
634
197
590
866
908
531
762
247
282
70
13
183
282
815
368
244
950
30
390
127
757
232
88
992
860
105
353
51
187
799
397
262
693
236
936
567
8
385
490
417
367
911
227
251
374
297
235
179
685
278
972
395
121
420
924
700
89
743
150
137
435
592
511
894
10
333
844
551
317
79
248
245
548
328
949
528
231
319
915
531
478
954
519
530
522
309
47
192
814
138
800
553
496
292
850
281
420
598
260
873
254
639
729
219
407
793
154
419
647
61
594
797
312
505
436
840
979
553
388
149
277
57
60
611
300
717
492
635
741
456
980
756
419
346
945
856
366
966
385
12
995
430
661
249
191
886
992
535
315
967
45
972
254
557
423
453
627
224
716
36
168
857
987
878
147
354
233
893
387
714
404
184
83
494
18
932
156
402
284
646
319
757
900
593
382
631
395
775
589
757
940
59
905
727
45
911
290
549
492
728
923
381
97
941
260
149
646
922
548
781
453
182
169
19
496
549
731
105
30
796
361
151
904
657
56
682
539
303
268
666
687
113
120
309
625
24
772
56
404
831
518
515
151
538
104
470
157
294
633
779
699
488
163
682
105
290
760
984
567
316
364
654
596
98
264
607
830
754
371
811
97
561
791
438
255
164
333
442
360
772
754
828
126
46
491
873
483
304
582
749
277
311
263
290
800
222
481
175
887
130
169
372
782
310
680
562
835
469
215
122
359
227
420
443
664
613
601
541
352
560
150
404
463
287
849
41
940
956
692
970
208
181
744
741
329
823
349
158
366
986
672
38
52
279
194
729
820
252
234
100
588
316
38
398
401
664
248
180
208
394
808
531
592
561
500
885
228
904
320
90
200
782
857
799
109
234
698
850
40
170
604
115
63
359
911
156
943
321
122
152
92
196
182
747
635
400
269
914
651
165
244
399
275
118
78
86
342
655
692
425
729
194
628
100
327
377
907
292
858
880
215
183
381
784
310
878
376
401
171
512
763
31
909
133
85
365
962
890
325
179
396
171
538
492
405
574
546
598
279
60
420
247
143
150
405
777
782
823
205
192
718
607
276
999
501
432
896
156
876
3
268
583
66
803
886
548
949
360
684
663
278
69
251
391
441
693
535
691
477
646
16
918
171
303
266
140
123
862
209
807
596
752
139
106
822
175
740
384
171
137
940
761
294
238
411
385
857
578
929
874
20
342
607
97
148
56
224
853
550
997
479
971
227
996
37
7
717
678
645
37
110
241
429
4
244
4
739
693
893
313
529
707
479
860
339
714
479
97
375
873
248
251
78
554
370
358
811
394
69
886
1000
279
412
721
122
61
208
778
446
702
604
12
312
38
313
370
32
572
313
114
228
523
633
961
512
873
539
721
935
283
33
447
588
591
67
634
23
36
316
658
951
511
634
507
780
880
577
789
125
888
473
176
395
220
585
723
888
66
838
960
629
917
424
237
353
389
385
603
612
599
889
382
977
966
521
717
712
350
369
547
76
144
65
907
644
230
212
972
629
760
869
938
231
336
797
746
430
497
231
614
522
364
823
540
887
947
229
258
161
865
531
608
16
187
331
921
208
673
859
815
438
972
911
740
819
194
769
731
423
869
504
74
481
520
231
30
279
904
951
308
700
580
598
742
652
571
761
489
351
778
374
116
517
281
331
167
84
821
594
106
930
564
870
103
488
710
324
763
824
642
150
722
916
84
1
47
420
166
443
472
171
386
621
829
30
228
259
471
450
549
991
92
326
969
742
97
256
164
556
628
360
359
850
398
165
341
514
716
890
995
674
497
664
709
239
576
820
987
503
347
449
272
216
610
789
272
513
519
890
74
7
695
227
930
186
888
559
880
956
57
418
342
813
381
30
328
658
488
376
271
719
170
341
268
389
926
578
188
38
960
826
230
23
673
864
444
191
263
223
244
143
769
49
96
392
811
236
458
362
282
47
492
831
487
985
264
69
548
563
931
363
434
14
892
102
622
648
993
845
230
784
674
82
458
671
351
468
269
822
441
398
597
509
176
700
754
964
754
77
373
2
437
708
935
351
927
33
904
983
702
369
492
123
58
429
405
419
254
231
209
966
512
144
575
479
623
39
328
956
566
577
76
569
839
698
235
368
185
284
398
641
20
765
367
369
121
185
596
326
105
861
483
785
795
316
694
683
815
589
700
356
681
393
765
632
188
844
936
164
132
638
956
356
256
613
647
150
865
643
982
229
703
635
20
903
564
236
855
71
582
531
994
146
299
591
869
785
433
278
773
589
725
81
108
661
363
115
717
86
266
598
6
920
946
281
750
258
745
341
710
284
10
160
696
20
156
303
285
621
636
727
167
680
546
941
24
980
973
387
916
536
214
785
371
553
683
587
784
157
672
946
246
366
102
800
652
756
92
797
778
764
452
752
25
346
182
277
719
972
689
5
153
601
703
589
61
291
806
257
837
593
89
260
621
734
689
977
302
835
869
809
619
147
850
226
790
301
851
511
512
116
614
797
772
363
278
990
612
216
603
16
908
800
410
644
244
391
596
834
169
316
237
115
488
536
88
66
747
250
286
322
736
557
142
890
662
388
725
766
631
478
357
966
204
61
220
128
110
396
46
802
602
958
253
356
613
317
935
213
571
324
864
780
693
192
992
999
628
470
14
941
569
701
193
196
320
773
30
169
380
574
324
519
763
590
846
114
172
515
146
866
132
761
983
735
863
18
496
978
999
629
488
485
739
634
176
635
662
753
285
670
219
486
691
1000
866
736
638
236
932
78
183
962
543
846
696
456
364
714
131
605
495
359
313
266
588
56
661
161
127
798
616
236
872
642
542
52
665
483
9
411
150
405
195
907
466
90
588
514
655
489
311
636
341
124
162
250
218
927
892
954
28
493
344
691
5
971
815
947
198
607
412
994
714
120
233
557
659
669
907
927
501
168
418
88
633
103
163
951
154
796
850
106
271
275
239
840
281
531
658
340
771
943
946
82
541
106
731
455
782
106
944
539
175
536
92
794
950
193
88
129
367
449
351
475
782
739
520
481
199
481
336
436
201
8
170
837
225
780
225
302
447
209
661
667
920
928
764
188
216
249
799
744
543
815
394
794
184
198
114
667
172
291
393
411
302
873
169
65
925
623
329
699
520
248
576
980
652
68
442
355
821
588
936
153
606
120
764
25
723
492
159
220
863
214
64
80
627
283
876
39
519
955
957
122
671
400
886
642
926
163
753
321
979
728
863
561
484
288
874
966
446
51
758
494
765
995
934
818
456
34
633
571
994
968
799
155
180
424
852
700
136
241
221
599
346
394
859
723
133
598
870
107
627
201
986
385
39
842
853
724
36
588
16
345
93
1
42
972
984
602
426
718
978
743
808
982
881
758
559
892
808
580
975
740
442
725
144
598
593
640
91
46
69
952
895
484
210
69
345
68
981
920
133
668
154
364
699
588
964
940
651
20
582
180
88
309
899
672
263
157
416
417
757
846
452
796
756
381
538
644
62
243
583
506
199
65
336
144
338
153
758
753
812
209
114
150
638
24
14
416
859
167
160
59
452
919
267
825
268
772
463
677
718
827
515
309
932
358
367
807
715
575
822
701
904
409
675
714
676
709
234
968
940
827
976
277
188
965
18
404
99
59
206
884
728
169
868
40
353
564
723
354
901
708
979
226
417
369
415
459
225
918
121
534
258
696
594
822
542
5
124
427
983
889
724
268
375
362
403
352
73
159
224
904
833
408
427
206
161
842
884
500
884
283
271
324
816
201
658
953
72
50
655
440
38
980
854
902
32
231
99
277
424
214
983
783
355
823
104
699
205
25
802
875
668
125
495
612
622
402
308
148
976
21
320
16
336
189
706
955
634
557
955
908
841
782
622
864
498
939
305
944
75
270
81
201
113
309
248
45
694
7
11
75
4
920
713
371
716
845
310
968
405
566
47
338
490
537
729
163
20
375
541
606
191
27
95
579
625
351
297
205
314
629
649
805
618
245
795
241
854
321
514
388
830
653
822
840
146
663
562
673
191
427
658
273
564
48
200
745
73
774
660
417
536
303
848
278
405
659
636
3
579
859
125
343
877
370
656
304
327
987
9
460
828
357
198
202
736
833
503
474
642
715
772
806
936
248
562
21
735
913
404
46
443
646
307
668
472
654
652
920
672
372
799
2
585
946
17
320
970
336
888
234
932
781
917
612
621
880
907
110
678
13
607
394
535
138
227
189
225
308
696
115
569
352
955
779
484
278
145
467
698
910
280
88
304
155
904
744
483
73
242
388
156
635
578
578
550
636
950
245
400
735
752
734
38
19
507
114
706
791
902
894
209
512
168
849
481
955
995
594
701
672
504
933
365
802
215
758
108
113
584
473
138
918
421
481
858
164
444
266
621
570
264
12
593
147
377
482
394
836
79
95
500
258
790
769
426
795
974
93
317
285
674
830
937
649
738
594
951
659
928
768
82
886
474
388
934
574
86
757
284
849
98
27
155
158
191
836
303
326
104
368
596
939
852
876
367
15
225
788
7
102
750
20
954
996
910
990
750
255
102
155
47
550
731
585
242
709
872
204
961
957
137
862
737
510
729
299
51
128
194
436
367
699
35
128
904
185
196
687
688
550
377
18
837
351
311
179
149
770
410
539
779
768
631
469
226
901
40
696
884
104
296
3
152
402
204
996
438
58
567
995
464
175
778
952
909
130
8
499
825
488
372
817
209
277
154
76
809
563
42
599
509
298
326
732
641
303
181
667
184
85
486
73
60
898
113
487
724
87
255
827
788
304
151
294
689
605
525
178
311
817
158
755
38
780
274
580
907
261
849
912
428
397
502
973
158
489
394
970
292
851
423
588
382
221
50
720
802
901
307
755
699
433
872
655
30
75
624
397
688
800
761
74
904
828
373
133
842
920
365
726
773
833
748
168
277
316
610
801
690
8
541
392
406
450
878
309
711
136
910
367
525
241
95
156
826
207
421
127
533
818
266
460
328
838
510
969
227
501
199
922
713
381
737
651
892
256
469
278
448
580
512
689
137
92
865
161
179
906
156
663
186
162
857
908
212
917
456
721
73
538
840
106
360
256
114
695
464
909
189
948
474
169
715
512
53
682
377
689
248
634
129
825
729
235
689
741
129
473
482
40
1000
299
299
233
413
71
91
158
347
716
726
66
861
541
6
122
489
54
936
770
411
474
57
577
759
823
621
721
825
624
554
237
42
280
413
509
355
134
21
267
994
56
56
508
744
189
625
371
483
99
809
958
171
187
181
503
480
667
597
100
942
800
889
379
835
365
676
174
30
541
186
215
659
457
839
316
793
699
371
368
271
946
426
673
445
748
881
811
900
161
657
278
110
607
378
600
620
836
72
475
559
346
32
783
213
917
69
972
940
222
651
410
916
597
843
793
96
144
543
573
268
305
218
701
303
930
268
655
504
638
156
877
497
979
661
213
210
485
963
927
347
216
780
167
193
818
450
490
725
417
669
230
774
901
585
19
432
290
84
738
961
891
389
534
248
917
568
327
207
81
109
381
637
417
536
116
713
273
925
323
701
956
245
330
484
7
729
488
197
452
807
532
586
651
721
997
719
601
633
903
328
576
863
308
361
80
963
229
307
915
446
582
451
45
355
534
534
637
303
622
183
276
302
527
101
927
423
190
241
603
358
293
85
113
994
738
727
454
416
901
653
621
148
874
996
654
40
856
577
707
915
98
211
833
995
574
612
938
169
616
721
51
357
299
442
684
579
283
568
514
870
141
158
83
829
968
735
483
422
165
470
241
645
907
936
752
796
699
109
630
372
829
59
293
95
293
135
955
146
914
571
946
469
5
88
942
912
881
483
257
58
929
218
817
821
760
693
831
282
156
228
437
765
148
806
816
878
589
238
342
74
995
747
376
325
278
945
178
648
224
756
269
561
213
170
269
34
740
600
893
117
745
247
295
234
623
79
418
91
65
980
335
237
555
157
851
576
411
101
747
578
790
309
175
461
926
453
638
413
205
905
894
734
365
349
903
901
248
716
623
689
37
816
74
897
819
884
572
682
703
675
468
239
394
920
37
323
321
674
368
141
943
581
275
259
825
123
235
458
434
693
356
935
377
738
174
852
987
256
874
979
741
663
164
125
968
426
618
105
735
857
764
231
572
182
572
689
908
317
305
750
716
781
853
390
889
848
799
833
262
324
459
480
78
320
44
889
895
11
925
779
593
634
682
540
198
934
273
318
672
848
181
606
726
461
840
149
931
172
989
144
126
579
875
930
171
787
346
806
606
742
3
190
653
693
488
45
314
88
921
414
20
53
242
925
405
82
942
337
284
730
235
564
871
931
251
102
565
972
222
482
419
352
979
174
500
464
255
363
955
518
474
146
499
196
697
5
468
271
362
842
276
852
303
488
377
931
274
355
330
683
876
807
629
281
356
920
299
68
211
516
102
570
909
760
369
220
342
132
124
601
790
307
155
743
310
324
140
243
426
429
740
1
952
165
847
958
558
584
786
502
442
959
335
159
80
7
905
754
578
405
38
492
581
368
709
305
49
138
549
370
460
505
212
918
172
896
597
339
723
155
518
88
842
846
736
118
823
820
961
370
671
828
549
382
167
147
139
203
563
553
416
626
134
498
490
210
224
998
149
693
745
571
371
163
313
550
41
799
314
236
780
84
263
636
134
132
729
985
182
180
975
887
754
361
194
616
79
571
896
89
617
638
572
75
285
18
213
436
47
917
675
582
49
112
139
879
126
687
116
436
480
626
555
557
806
434
600
157
929
991
471
612
293
428
747
841
263
95
58
883
260
655
828
892
215
875
236
260
678
992
15
505
208
396
54
718
319
936
15
562
368
388
358
297
244
486
203
829
617
430
475
547
805
7
606
591
37
256
907
211
978
148
366
137
939
876
271
162
80
163
531
720
294
484
982
866
150
194
307
902
462
340
397
892
572
378
107
416
403
101
435
233
720
827
34
956
771
302
887
462
687
843
652
514
598
940
922
990
393
929
153
192
472
370
515
950
625
435
299
599
385
978
792
473
812
929
730
254
696
326
531
369
582
607
525
627
860
729
300
501
401
344
107
713
865
483
981
350
853
204
878
287
550
179
658
559
349
497
175
233
226
833
112
455
326
711
422
594
275
776
416
846
238
910
601
226
661
505
354
585
873
417
376
225
520
974
675
686
823
876
520
491
260
12
391
13
132
14
473
98
842
826
635
799
444
700
175
350
171
814
804
529
186
114
515
678
780
121
969
944
594
125
19
762
211
667
807
196
637
199
643
531
798
584
531
415
126
425
774
932
751
284
558
216
575
490
812
611
738
615
905
906
603
679
944
906
374
791
553
419
936
246
969
788
301
88
267
240
299
720
290
655
793
481
604
853
763
991
442
113
38
695
104
457
337
257
756
147
550
378
899
999
856
158
37
322
367
343
237
769
477
679
357
907
974
96
641
91
316
668
337
76
113
101
705
877
46
26
521
566
918
495
770
55
488
930
714
445
53
200
953
153
513
645
392
894
757
648
274
553
794
771
546
122
1000
577
877
179
210
12
583
833
159
597
569
651
963
781
135
881
891
483
181
160
693
241
894
3
131
419
472
594
155
600
842
776
399
625
582
687
253
758
480
205
823
92
253
193
481
618
925
567
572
374
332
378
71
660
984
416
614
651
264
330
411
605
578
897
979
511
587
869
511
241
115
759
956
163
658
72
588
767
688
702
886
38
96
677
65
201
199
977
497
985
686
902
527
729
790
355
943
521
729
424
443
28
172
883
969
834
75
561
709
941
735
55
898
505
333
918
297
52
539
304
343
154
989
3
576
12
560
952
830
463
424
610
103
687
789
15
762
285
74
963
918
469
68
510
391
802
209
905
679
329
759
155
732
929
82
643
147
439
616
606
584
424
435
833
851
452
472
635
95
422
580
3
976
766
608
873
544
329
582
598
761
361
911
38
259
305
237
172
988
38
193
774
855
776
876
474
323
133
269
500
210
693
198
473
600
57
678
920
870
491
643
573
319
226
142
82
783
950
36
551
920
224
137
127
564
427
487
975
643
273
187
135
706
157
788
130
1
353
737
702
400
577
804
722
191
539
734
145
918
892
573
870
985
407
263
481
712
330
133
172
890
566
858
574
654
798
291
843
652
671
357
94
116
890
831
219
377
485
402
183
790
464
904
123
848
833
959
973
435
235
580
877
816
511
463
347
977
97
802
984
324
510
457
598
640
131
235
725
371
108
833
860
24
499
746
221
455
685
45
482
320
696
496
713
809
330
897
720
68
846
898
75
364
576
785
394
162
19
912
843
758
844
486
415
998
765
428
273
932
432
879
316
959
323
722
195
109
123
190
184
662
216
211
686
216
752
647
644
630
183
24
832
52
312
630
777
335
665
94
96
741
428
711
128
765
291
780
62
275
282
176
195
960
74
256
578
208
323
891
42
183
281
145
561
788
345
641
927
655
175
146
993
82
760
295
101
23
92
638
864
903
154
410
163
998
555
502
98
577
452
136
614
834
389
641
717
859
278
546
512
569
37
952
768
545
345
738
370
207
538
724
791
586
948
339
690
272
870
701
828
745
900
258
773
406
624
313
264
114
486
817
712
925
204
792
3
19
283
612
701
536
22
182
759
134
901
719
61
611
383
461
477
852
2
114
619
717
27
282
152
193
168
414
352
310
528
59
571
837
451
309
417
785
18
394
741
41
682
288
982
293
924
72
28
528
890
530
493
12
693
127
274
620
384
79
268
791
706
709
413
187
353
647
574
343
836
736
350
197
63
679
572
425
353
582
132
929
968
532
774
653
150
276
672
143
339
881
918
916
472
962
554
760
221
726
390
525
629
593
674
855
819
594
597
558
387
120
756
9
632
821
936
47
990
638
999
325
924
8
251
961
35
250
376
656
361
35
919
129
647
622
356
849
899
220
963
564
656
473
78
52
246
512
846
835
746
494
224
386
496
814
817
424
780
422
137
536
753
810
979
246
742
263
931
57
831
900
458
758
28
911
630
447
367
112
319
325
28
636
591
292
920
109
134
775
201
187
744
27
897
637
331
321
121
504
405
119
386
49
732
264
175
261
696
721
216
753
915
176
894
750
827
98
850
707
299
454
100
822
770
373
917
311
101
462
355
892
90
401
488
326
548
647
390
235
958
813
404
671
996
334
487
60
600
536
269
218
858
114
25
116
727
340
904
943
461
1000
630
798
687
213
373
52
261
774
650
1000
388
604
904
938
27
216
914
210
227
858
274
90
914
122
968
574
585
370
517
314
553
296
253
926
619
272
7
879
563
945
942
10
397
696
273
446
121
144
373
406
632
927
111
907
495
302
299
865
546
982
833
484
668
805
408
77
613
420
739
707
472
263
824
76
229
439
131
136
852
31
535
799
554
556
460
929
167
936
967
524
58
427
443
645
670
380
161
165
533
590
217
857
570
251
244
692
608
210
879
480
297
314
171
129
6
101
977
891
899
12
938
898
91
590
802
231
677
837
712
475
467
20
547
485
489
729
606
612
631
942
675
212
343
139
38
607
979
298
73
40
176
713
885
354
658
145
829
273
982
763
902
179
53
720
707
255
659
938
93
676
915
901
660
313
236
795
2
54
406
360
955
434
365
176
137
722
579
957
752
7
236
572
970
97
68
187
203
256
288
905
225
880
992
714
425
236
385
402
422
292
365
311
910
487
328
478
867
999
510
737
210
725
869
818
553
709
258
373
986
171
607
71
686
706
957
651
744
391
413
840
780
778
542
583
840
758
285
891
532
295
205
942
600
890
771
757
945
420
422
898
609
698
356
161
386
697
358
146
537
880
458
937
558
493
933
851
53
997
933
373
573
40
46
933
676
485
218
149
600
73
744
517
640
216
526
306
777
281
347
585
104
471
727
905
369
78
806
130
293
442
804
320
350
429
805
374
399
623
44
326
886
708
378
838
323
705
346
415
426
844
73
325
591
835
292
21
341
227
909
110
30
358
883
562
337
122
667
887
33
402
77
494
95
576
281
282
488
915
524
799
827
59
328
980
716
25
150
563
738
318
925
751
995
836
473
605
567
198
505
956
494
14
807
300
689
407
290
307
712
785
735
38
473
460
443
942
745
209
519
995
851
304
183
120
966
832
307
138
320
352
393
80
952
98
316
635
814
913
466
865
735
115
361
110
167
266
430
166
713
650
391
402
117
853
618
487
805
464
913
769
68
347
384
176
675
348
458
697
49
561
665
125
112
477
480
758
597
457
384
195
897
938
335
174
508
730
970
661
743
555
228
31
666
711
523
232
132
371
279
301
412
576
382
435
132
393
104
113
148
100
123
437
542
471
547
938
154
439
255
583
917
429
462
623
797
692
125
210
336
792
701
436
616
212
825
539
978
748
672
568
972
922
86
699
834
190
152
749
228
110
460
167
155
950
216
911
661
455
291
201
451
607
442
77
576
260
255
44
133
462
783
899
304
138
477
956
121
553
758
517
71
635
510
389
13
821
839
672
919
532
677
828
632
797
198
243
157
811
562
132
47
406
194
635
29
525
663
390
392
773
256
697
577
59
475
630
62
127
50
96
887
525
520
897
128
179
67
308
187
270
105
529
46
575
49
683
503
744
817
660
995
297
871
222
820
213
22
267
422
125
796
25
974
53
904
303
630
512
228
560
706
619
792
722
491
502
377
199
613
923
813
433
614
539
465
686
933
606
130
510
551
294
369
458
378
953
281
183
872
858
864
8
473
928
410
421
194
932
828
711
104
473
377
165
492
858
87
781
241
561
43
499
278
622
773
294
30
733
246
315
474
183
342
447
721
119
214
276
73
737
659
489
138
170
473
126
903
792
780
980
636
601
484
639
89
159
332
329
780
267
550
780
46
218
640
763
164
977
756
847
70
88
979
167
116
478
959
678
878
541
624
472
214
91
104
194
669
801
560
507
845
750
376
857
533
563
20
493
247
416
967
814
304
871
235
618
744
121
475
807
178
695
47
347
148
121
199
128
680
341
272
410
501
896
858
180
817
44
959
639
653
988
494
444
492
358
951
75
352
914
590
896
517
216
370
29
821
646
663
192
803
760
948
11
21
388
852
142
562
318
325
720
61
648
281
310
600
125
718
501
457
835
202
761
34
672
611
963
207
874
197
271
20
772
352
671
873
580
956
546
315
733
801
89
147
768
401
255
761
223
435
212
586
350
176
919
21
716
539
549
498
904
766
969
156
617
388
380
158
444
778
510
856
431
564
487
839
393
140
606
435
592
795
751
339
989
246
126
894
819
971
322
986
611
312
454
656
106
222
262
306
774
463
620
791
706
211
856
825
764
331
644
817
736
26
8
708
170
158
150
415
251
328
396
192
786
703
548
632
914
644
318
13
632
457
334
407
611
938
399
305
70
934
315
501
638
881
593
647
277
63
800
168
310
437
139
246
525
951
63
140
124
678
421
442
52
531
632
768
813
962
886
996
470
873
199
393
930
875
456
883
981
169
206
283
809
577
112
518
863
661
400
721
22
453
568
655
989
48
924
62
700
203
215
391
350
116
726
865
312
777
763
990
819
629
345
409
800
788
256
496
663
748
384
185
140
313
374
315
519
491
201
203
736
208
224
255
836
8
638
175
222
347
16
703
19
691
821
935
562
417
319
916
757
385
356
650
550
181
819
622
287
224
438
676
73
327
749
391
559
858
710
120
753
326
423
486
570
95
894
467
831
925
551
145
330
220
514
824
409
176
247
507
211
518
246
639
400
141
931
636
667
765
713
954
822
676
524
348
555
713
756
552
279
935
627
806
557
830
506
545
750
476
610
76
431
823
781
269
53
140
781
120
88
708
629
546
591
69
59
915
721
448
60
649
245
532
842
662
495
426
267
564
530
430
969
301
507
284
890
364
374
646
983
771
39
876
121
788
135
625
95
740
305
380
701
353
722
822
538
743
215
819
113
583
921
926
237
961
872
513
520
186
311
996
960
68
794
248
242
263
360
902
392
877
109
162
839
870
581
727
794
729
196
619
79
541
855
4
179
839
530
611
367
566
281
961
179
47
696
433
408
150
172
137
31
697
828
660
183
742
60
38
357
577
958
700
513
149
820
718
659
158
9
439
783
248
273
429
713
556
413
747
609
391
898
731
283
951
621
856
516
817
489
720
827
402
952
904
914
679
897
254
134
280
557
135
926
490
205
328
50
760
462
546
875
94
953
993
729
93
940
989
475
473
274
460
94
606
695
1
25
995
63
290
406
642
596
887
168
912
531
806
150
894
961
816
996
202
759
127
638
845
603
952
575
96
130
472
18
260
161
896
172
846
730
615
613
953
422
954
742
593
94
653
760
271
647
997
484
402
915
471
583
13
118
936
496
799
560
545
370
732
417
87
855
394
538
989
482
636
152
935
651
423
241
985
969
536
139
71
788
281
614
987
317
558
263
328
602
396
588
347
11
568
512
374
592
9
401
259
823
517
927
289
818
700
168
162
18
167
450
895
764
746
316
1000
893
910
905
855
725
630
739
980
328
621
611
816
5
296
802
726
275
771
362
110
489
977
537
972
363
236
747
783
387
677
662
186
38
535
79
979
191
641
272
773
921
431
389
940
163
389
335
754
307
112
244
140
891
163
326
55
981
409
368
337
719
844
645
814
772
757
315
543
99
693
660
344
534
856
663
196
174
483
497
637
461
239
485
47
129
871
935
577
930
205
82
535
124
64
31
234
284
820
208
667
852
146
324
893
243
949
280
670
26
622
737
714
851
523
321
940
344
15
548
163
160
497
602
60
733
614
25
615
51
209
245
894
928
683
610
761
886
92
261
38
673
731
748
732
909
953
762
143
112
662
735
69
571
270
348
883
163
893
191
934
210
216
884
583
917
779
24
225
754
374
179
776
382
909
7
462
385
328
293
213
104
126
309
608
326
621
461
99
477
331
620
220
183
757
874
558
793
425
715
556
519
218
806
617
321
960
575
558
591
698
822
214
981
322
433
832
406
22
63
6
407
551
352
36
546
441
834
1000
446
107
200
317
424
266
994
259
399
179
137
680
898
58
883
231
555
361
978
453
421
818
772
443
814
783
42
226
154
883
75
595
458
24
352
915
714
505
817
325
359
391
297
851
485
291
85
149
186
397
126
24
672
983
463
366
406
518
880
896
509
279
679
929
132
563
628
403
320
650
956
568
116
237
122
72
335
356
812
668
440
733
228
363
457
127
283
690
705
429
758
660
386
217
818
133
773
25
552
535
798
771
337
329
352
707
937
192
483
736
173
573
990
161
913
232
634
752
910
363
261
521
692
127
704
746
339
778
210
595
444
61
510
174
20
250
353
929
366
14
510
127
202
257
771
565
441
260
427
752
70
705
118
553
492
640
645
694
578
23
582
569
406
285
59
531
337
226
100
205
631
667
296
382
310
493
379
770
310
125
489
170
296
991
531
691
674
263
32
236
443
6
360
825
548
865
973
261
276
616
612
293
89
214
9
701
984
448
730
640
114
977
210
207
944
278
931
423
637
26
945
710
738
495
629
549
474
862
644
156
125
700
536
951
33
520
360
77
736
963
961
424
649
116
276
471
453
496
141
719
77
409
597
685
735
779
616
206
9
46
505
266
354
388
987
716
730
366
96
984
305
63
582
360
267
918
478
484
859
775
841
442
657
83
455
278
1
816
464
765
186
445
471
27
753
177
640
942
720
811
747
324
107
736
881
519
487
13
776
438
556
31
285
12
929
899
612
722
475
629
269
175
473
147
621
638
826
360
71
89
356
809
622
616
934
949
576
905
848
712
601
200
312
798
268
312
497
129
408
184
790
946
349
83
255
353
132
694
421
483
344
257
600
70
62
439
905
922
720
803
15
680
423
564
529
311
337
853
441
953
305
829
852
105
779
813
569
678
466
67
621
54
859
969
67
180
929
128
666
642
852
382
138
868
553
759
757
840
262
183
985
199
5
142
661
192
164
588
79
701
802
32
882
500
434
215
318
957
359
708
841
642
403
536
457
688
209
202
456
272
750
550
412
333
825
494
388
437
674
1000
314
771
720
649
422
376
656
728
404
72
756
97
731
16
349
989
158
436
820
505
7
944
410
812
240
697
318
955
701
865
315
741
146
55
141
394
854
821
461
531
661
913
41
540
265
688
110
641
483
975
590
726
980
725
970
599
635
1000
147
369
340
185
462
570
522
841
503
37
78
270
983
714
753
693
147
306
199
941
711
168
80
658
306
880
640
353
742
723
81
53
203
666
942
939
637
538
446
90
204
772
418
407
643
474
966
822
768
626
568
176
176
866
614
503
394
686
715
13
338
838
302
766
982
429
114
897
534
467
208
238
282
598
9
377
486
403
753
515
355
892
386
942
191
759
623
626
236
579
406
173
637
355
429
380
203
716
762
703
303
664
870
246
348
948
433
243
775
21
525
662
364
94
593
202
1000
936
625
911
722
962
651
667
997
600
416
958
681
122
664
770
73
905
993
904
776
570
611
692
834
562
700
938
751
512
260
853
561
160
471
941
67
709
635
27
727
227
714
127
450
101
295
423
731
649
621
381
134
656
935
996
135
14
992
167
722
664
37
500
951
710
954
172
862
924
558
64
797
875
188
66
138
530
903
299
956
520
513
30
867
220
663
217
638
399
957
941
728
492
851
474
15
482
669
364
392
942
640
707
808
87
285
743
581
528
834
990
488
24
621
434
236
733
549
668
386
315
788
477
712
809
859
101
274
338
110
252
189
585
393
81
205
463
454
406
703
523
107
939
664
528
826
713
498
996
735
618
343
720
356
740
608
988
649
225
76
703
36
477
845
671
126
839
744
75
813
323
634
571
239
585
195
479
914
74
347
278
888
254
487
967
508
799
85
907
688
980
999
417
73
762
73
760
711
750
207
128
71
771
83
919
322
758
189
882
813
612
589
688
590
884
147
90
608
447
548
138
21
806
504
830
570
337
11
169
595
529
370
872
695
273
961
826
344
328
437
19
72
361
85
810
969
399
598
343
330
61
382
396
226
724
841
150
706
619
787
220
63
920
216
760
330
91
251
632
769
95
935
426
591
600
933
580
595
980
899
983
705
720
448
222
608
852
199
47
850
133
326
746
751
29
403
862
467
962
131
71
360
940
667
117
605
401
901
418
611
54
985
308
414
567
835
935
656
179
113
495
161
698
411
848
409
907
979
527
362
88
349
840
253
215
631
55
914
429
113
608
125
505
8
942
332
425
854
816
736
586
112
878
450
842
990
899
911
385
348
288
204
376
839
418
286
395
115
876
364
999
982
925
845
130
927
373
318
659
282
557
47
111
628
330
282
490
739
799
521
154
483
31
538
930
599
130
568
967
230
865
582
376
398
518
968
348
350
736
267
291
866
949
820
479
145
341
336
883
870
477
404
99
399
402
929
782
809
470
311
580
687
179
950
323
158
38
319
158
623
852
396
365
64
827
765
862
606
603
11
760
188
651
390
884
860
468
884
891
206
662
900
437
823
317
846
908
656
20
734
345
172
513
793
562
46
260
774
907
63
105
281
779
405
828
984
783
352
630
19
376
702
481
222
946
880
850
117
552
811
509
704
942
95
17
208
62
937
996
871
3
582
489
801
199
697
565
632
762
295
781
480
6
263
320
238
608
538
388
815
333
258
944
259
933
1
958
99
660
320
152
412
802
397
643
265
806
515
965
232
815
508
721
610
943
24
507
812
170
685
808
179
537
779
287
104
216
100
256
925
129
978
159
534
993
310
551
13
86
643
440
897
544
929
816
871
726
663
873
780
15
452
728
863
459
986
399
12
808
547
449
690
836
890
951
858
316
351
392
885
656
507
712
965
995
578
908
7
514
26
567
282
808
490
225
420
455
261
677
456
303
31
227
738
605
486
411
436
837
672
890
329
938
737
70
268
738
771
480
470
574
998
127
334
398
495
817
32
246
936
926
502
581
615
215
793
829
135
60
952
468
710
909
757
87
977
871
639
203
590
62
85
21
620
795
652
953
990
679
494
467
728
496
942
765
827
16
259
842
896
2
175
738
581
306
154
170
941
298
677
260
597
897
968
805
469
84
729
364
353
122
442
470
425
656
684
433
2
490
760
522
518
117
654
809
742
25
930
587
724
367
759
55
799
849
698
954
276
599
163
887
93
314
838
374
822
229
390
68
875
294
934
165
681
498
674
755
889
451
27
752
364
176
304
89
864
565
735
58
795
98
223
39
381
253
696
371
901
466
363
774
414
668
478
595
496
149
452
73
110
3
282
20
648
415
283
555
588
885
87
14
933
816
686
744
825
992
72
272
270
183
685
230
920
470
442
527
255
928
588
461
292
987
23
862
175
117
985
921
609
508
231
12
113
29
902
727
503
115
285
314
844
135
605
898
362
463
773
186
423
733
768
834
772
692
935
293
662
668
27
759
376
895
283
775
905
871
128
161
236
456
409
208
784
649
174
482
971
851
107
166
888
950
709
596
240
741
159
546
507
55
620
832
361
438
411
48
889
402
94
562
122
73
996
444
677
501
137
636
77
64
818
546
457
144
365
163
893
688
656
3
596
378
76
424
527
865
513
336
786
928
837
936
309
477
62
839
972
50
69
923
205
796
303
256
603
1
371
727
838
865
805
370
364
598
577
926
43
907
129
897
822
563
770
171
26
100
317
343
667
615
760
19
411
290
537
691
465
521
750
285
747
484
266
101
104
550
184
668
252
203
611
978
357
51
9
684
861
20
646
86
241
106
857
176
875
873
858
572
89
458
858
901
756
985
84
79
525
188
100
999
882
467
546
305
751
832
951
321
291
936
843
684
838
901
749
926
743
746
14
65
932
15
586
234
625
633
45
542
567
99
185
625
517
893
420
822
492
358
95
495
456
392
589
789
704
982
705
44
215
15
460
141
604
787
811
303
135
366
284
255
454
252
716
188
310
821
539
682
562
663
119
587
191
247
685
891
870
309
264
749
889
981
897
192
866
950
93
510
743
897
139
945
6
7
399
102
950
648
198
482
65
178
206
587
304
403
534
368
87
453
868
168
348
675
68
896
880
708
630
911
489
60
260
969
202
365
636
634
877
986
100
760
93
800
617
996
104
777
872
792
11
473
753
42
5
643
804
331
703
979
455
734
144
410
965
248
982
477
35
236
748
74
26
725
854
207
519
964
176
522
749
474
636
51
89
681
191
985
314
338
34
345
887
153
617
69
843
439
316
399
170
133
153
442
750
254
40
429
57
693
414
506
762
275
980
866
361
180
496
637
732
137
214
238
230
306
608
829
618
364
506
93
599
148
580
819
214
124
450
664
684
74
299
31
532
648
20
228
14
866
361
911
910
190
469
385
726
565
508
496
245
687
747
686
123
794
634
295
942
511
864
341
730
591
424
809
442
948
875
957
335
17
919
279
461
314
412
503
752
60
556
494
278
839
941
972
301
600
497
733
709
717
162
447
232
460
274
183
614
977
241
511
593
811
83
409
54
50
786
234
273
444
243
706
465
196
752
169
210
698
649
428
465
172
699
83
6
31
256
606
142
791
77
368
427
539
890
452
959
272
460
347
539
920
959
581
615
506
915
923
462
653
833
22
497
661
924
291
977
424
974
357
572
750
538
655
485
64
93
579
838
53
682
171
39
506
906
477
696
563
800
561
459
549
269
660
854
825
255
115
747
436
760
524
635
816
159
28
308
525
995
765
793
781
571
296
699
559
241
263
196
141
219
601
916
320
120
406
12
890
199
922
427
676
452
217
229
112
293
803
470
295
547
827
654
521
865
508
332
542
488
162
730
160
485
502
616
334
208
902
794
663
725
967
708
969
421
51
647
719
791
333
965
195
687
708
530
632
920
987
338
50
186
859
892
122
722
668
423
226
984
277
541
769
888
214
187
994
851
863
62
727
940
640
848
945
928
16
597
626
955
744
657
74
794
840
366
784
425
710
551
980
735
312
528
139
694
399
943
187
265
692
258
540
646
296
117
875
202
806
146
289
550
319
963
527
846
998
281
84
269
943
68
262
58
849
634
753
234
348
365
879
306
995
611
426
868
550
853
886
949
623
875
40
392
720
123
12
350
476
816
319
170
146
667
5
574
453
261
623
42
549
218
699
762
126
317
318
306
711
611
650
459
780
433
549
275
616
890
842
446
771
58
573
593
563
673
241
888
321
504
41
730
963
981
213
851
60
881
868
329
774
52
77
462
899
215
596
342
779
856
310
306
76
109
390
112
161
306
182
815
447
568
59
851
96
410
823
738
362
840
746
169
304
836
17
969
697
403
193
588
778
651
214
290
886
441
706
219
135
199
556
836
30
438
235
25
315
371
913
327
416
752
195
344
563
756
221
363
20
265
941
602
919
395
622
346
841
501
19
386
660
152
187
820
136
799
618
312
415
914
240
276
895
421
830
355
891
127
547
739
132
694
648
568
439
398
895
668
828
573
824
370
898
155
833
988
608
203
992
830
435
595
587
287
485
382
690
609
335
424
419
497
248
6
193
509
949
108
957
594
327
877
282
779
253
641
263
127
230
488
359
631
730
55
652
625
862
634
541
613
532
170
535
181
322
980
639
785
125
313
817
763
13
933
151
876
874
4
593
60
137
449
684
823
282
841
195
903
909
618
429
401
834
71
827
568
83
155
599
843
650
590
337
516
600
162
963
638
413
363
870
357
473
755
881
937
275
487
435
105
198
447
477
225
692
408
664
15
320
373
848
208
407
9
256
553
945
742
448
74
26
569
902
305
306
119
53
556
903
834
697
870
707
394
943
485
283
672
315
43
422
572
189
736
924
76
455
832
392
721
213
772
633
474
344
122
789
715
982
183
446
606
302
16
795
618
514
915
392
452
654
181
157
831
568
108
61
941
483
725
372
366
669
721
417
438
29
420
569
851
867
364
583
237
718
317
430
147
868
19
542
571
119
56
715
665
436
578
957
843
326
419
254
773
207
362
582
96
553
927
449
885
315
59
961
948
953
538
655
110
465
754
370
479
921
736
991
566
362
968
220
811
424
572
441
723
622
899
359
370
106
447
300
391
577
266
10
66
199
707
319
217
607
463
263
885
499
318
122
800
904
920
370
617
947
215
719
790
796
862
260
729
556
82
219
586
41
892
13
605
732
645
47
492
736
65
233
646
233
770
270
447
716
387
533
972
312
906
857
693
618
916
579
705
781
688
946
991
970
876
422
88
53
747
462
254
984
482
49
909
397
22
665
701
916
385
380
980
953
132
454
908
167
915
154
653
253
603
519
355
491
558
427
624
286
7
663
347
980
331
616
493
370
307
883
408
698
986
322
836
347
963
37
519
133
218
367
766
872
603
189
821
833
306
771
231
823
297
946
625
897
854
606
529
92
749
389
863
199
570
951
776
274
957
414
331
498
247
399
336
46
123
580
348
817
384
820
415
220
896
778
680
756
102
337
347
773
210
319
853
612
316
735
281
350
308
267
218
461
295
737
268
28
721
99
375
598
75
876
991
341
268
19
823
979
375
903
618
853
373
517
953
549
955
956
520
788
257
5
738
614
585
928
840
495
795
600
745
651
55
750
159
754
92
399
320
187
899
554
734
205
91
823
66
656
762
907
56
423
740
859
984
371
582
581
721
384
545
291
873
10
12
576
834
377
537
240
868
254
767
326
451
601
970
605
220
480
809
329
796
980
292
233
691
644
553
629
229
973
197
899
161
761
522
879
214
375
793
429
330
610
120
921
778
409
216
551
612
578
453
109
189
598
202
304
594
767
372
827
842
214
458
79
672
775
166
893
609
302
848
641
715
790
584
835
109
561
721
700
899
886
94
221
675
597
915
866
36
676
585
508
970
320
242
76
46
704
908
127
517
500
518
817
412
237
950
743
615
757
410
730
746
331
163
914
389
501
684
433
819
336
716
592
955
592
629
636
669
218
710
183
947
742
721
880
665
356
115
122
881
922
823
494
618
695
375
160
109
306
478
587
315
415
829
836
346
506
83
167
95
490
411
825
996
127
11
718
313
811
263
136
792
915
964
807
821
731
221
344
457
4
130
572
822
212
336
342
401
44
920
149
711
942
846
295
674
231
353
398
765
81
297
763
675
488
389
482
803
525
722
205
348
348
745
149
170
837
55
311
858
280
19
798
656
230
216
878
975
494
153
649
232
260
530
177
680
493
543
614
691
112
418
31
692
880
347
693
574
630
524
48
942
208
792
973
995
483
714
725
211
874
534
576
214
108
613
378
423
340
358
119
88
340
620
101
340
196
790
538
747
848
557
214
631
830
399
343
132
795
394
914
577
734
866
642
225
355
726
68
874
704
89
517
117
983
908
374
291
466
905
579
252
581
54
338
169
487
212
791
482
962
297
774
985
996
544
888
778
250
5
786
488
486
404
973
715
106
874
437
137
209
909
120
108
937
62
563
825
440
533
81
390
474
816
446
132
531
15
406
613
367
235
285
602
19
729
576
176
682
121
692
765
310
51
972
649
466
85
659
909
706
557
766
297
750
327
705
833
805
62
64
184
649
776
162
67
525
835
884
947
450
512
802
306
291
524
804
630
836
639
271
34
142
593
350
165
631
53
25
586
777
322
477
385
720
757
739
135
825
681
702
668
37
664
382
337
834
610
737
581
760
69
428
628
772
522
701
138
116
193
896
408
42
75
237
536
427
500
191
601
296
505
121
470
314
697
942
330
547
89
196
417
174
600
299
698
377
523
707
469
355
286
396
902
229
265
379
609
651
213
929
186
79
162
808
517
17
231
77
353
989
892
9
291
661
656
194
841
324
27
193
683
886
843
1000
587
643
781
108
716
349
923
227
178
537
718
536
800
609
630
914
18
936
998
755
703
131
410
819
507
649
945
79
997
124
210
656
471
164
988
776
834
864
655
103
320
965
290
973
182
392
505
799
684
908
598
360
856
747
601
787
514
394
122
791
992
102
696
98
877
389
498
99
793
472
874
448
944
544
136
719
690
876
456
244
908
931
489
950
262
100
589
364
808
182
62
924
529
457
942
412
516
34
208
634
500
187
166
407
363
553
996
591
62
388
70
116
139
566
731
946
596
637
670
481
476
61
891
150
920
674
544
858
817
570
568
504
427
808
171
11
504
823
683
160
537
940
170
82
677
174
550
415
808
339
626
986
9
575
570
384
343
571
926
932
498
126
118
371
340
227
772
50
802
449
925
534
902
342
311
300
865
436
494
668
474
643
546
147
818
108
364
190
517
39
460
689
392
632
262
656
278
976
524
211
331
747
452
398
785
566
526
362
544
130
830
107
407
626
877
412
990
459
557
444
615
35
839
305
524
215
296
17
789
30
345
452
196
460
343
300
198
360
325
483
753
142
203
327
509
427
737
409
307
680
418
248
438
817
702
898
432
843
690
72
408
860
444
635
171
216
612
183
334
114
941
951
678
747
538
461
881
922
475
203
504
154
415
87
829
433
500
596
750
222
612
371
390
732
510
405
583
241
49
177
607
972
826
810
852
119
192
781
178
657
479
801
785
934
686
241
348
465
624
849
23
941
707
619
692
264
147
319
452
309
313
630
947
199
400
812
604
111
356
546
215
19
236
907
586
323
746
448
183
13
772
4
791
868
128
153
202
219
554
229
880
957
273
397
347
791
48
601
764
267
714
100
824
665
644
924
582
705
461
814
328
937
577
115
909
795
814
663
222
568
463
906
686
940
595
374
653
343
366
159
609
100
341
222
961
201
567
215
959
632
262
974
993
346
472
15
126
334
15
166
200
782
325
926
297
939
587
288
611
164
658
500
62
607
856
724
61
103
649
602
917
154
607
504
281
336
819
634
904
60
72
229
711
389
741
798
880
519
289
729
158
636
683
610
147
43
832
298
647
900
369
122
440
403
700
579
102
982
275
562
502
913
447
445
689
773
148
340
736
338
812
437
967
834
654
638
686
940
439
617
183
596
355
35
306
427
458
890
341
574
419
870
293
834
1
155
906
229
754
315
936
604
930
841
244
386
484
345
248
376
357
683
182
351
943
76
347
270
723
799
283
109
621
178
344
670
518
421
705
261
723
308
206
783
921
842
767
591
280
787
354
500
924
425
565
403
983
961
969
311
731
755
275
27
165
967
239
312
490
252
984
138
607
854
65
558
658
849
183
781
95
265
923
297
541
548
263
249
901
141
904
840
826
950
649
204
621
154
158
95
141
73
424
691
35
821
218
35
947
67
552
935
923
513
971
612
323
632
76
69
10
807
235
893
428
236
891
189
468
902
194
443
705
455
970
368
643
39
187
205
125
34
140
543
945
143
568
420
7
480
779
405
68
148
648
341
245
281
58
694
964
695
939
763
958
83
567
535
261
178
202
648
890
404
461
723
28
336
30
348
101
716
479
85
85
850
950
213
744
985
447
332
271
647
299
590
991
984
134
29
348
881
340
490
404
984
576
583
470
786
375
439
289
636
221
402
388
856
833
287
861
136
516
609
823
76
577
986
244
996
805
955
674
142
907
618
622
22
633
834
998
887
19
183
83
305
843
541
927
368
882
919
973
324
52
160
952
319
793
181
781
497
401
745
258
936
85
130
892
743
662
659
17
185
733
776
731
904
84
252
834
103
842
129
107
104
589
241
759
799
263
472
816
374
168
452
551
99
809
47
792
131
618
821
104
61
832
651
363
332
943
783
236
800
128
929
414
401
77
465
235
342
421
367
499
250
757
310
867
457
914
271
220
971
676
32
756
677
638
241
401
53
278
51
311
969
587
912
876
179
803
797
632
748
896
981
937
953
452
529
76
209
517
793
737
131
777
567
389
173
169
4
206
195
671
72
598
902
516
81
278
346
558
785
90
601
836
680
473
246
655
348
530
553
656
150
155
99
417
123
581
99
98
689
990
897
529
637
561
924
919
933
422
918
57
58
502
345
486
980
221
797
618
341
253
568
179
131
382
771
696
942
574
118
947
861
958
910
443
237
393
901
21
792
593
427
606
58
644
596
10
688
834
401
422
963
371
344
881
742
509
486
607
166
17
942
540
672
723
444
791
244
76
992
32
394
274
589
23
34
540
709
567
301
543
458
210
357
804
360
890
406
152
310
586
460
966
527
703
875
950
268
599
333
696
655
159
716
112
208
807
280
87
601
637
650
426
693
665
401
190
118
307
426
44
574
299
869
130
512
214
102
264
57
645
162
995
902
870
63
135
339
556
623
929
810
596
796
943
131
748
12
81
17
94
691
875
663
692
936
365
916
3
379
404
992
815
296
189
805
405
397
217
702
635
161
575
820
540
175
712
320
675
700
368
487
210
633
380
46
281
65
429
80
602
901
622
608
712
387
19
247
536
925
793
340
99
260
776
624
362
993
534
807
147
365
971
370
997
440
686
568
699
137
968
854
846
48
341
893
510
599
66
933
589
927
827
531
855
781
141
543
77
875
678
858
836
354
772
545
824
507
898
982
486
373
774
45
822
661
56
635
58
284
309
639
694
842
25
950
89
582
14
293
396
754
404
435
113
757
800
812
967
151
941
735
137
447
274
107
70
555
488
23
245
911
936
720
309
601
303
79
929
246
595
301
550
23
743
415
31
963
666
20
752
561
650
11
395
852
282
86
35
298
985
496
597
241
401
865
977
209
503
870
365
78
310
277
369
928
526
72
555
462
244
448
942
14
114
6
791
514
995
806
763
224
179
839
138
752
734
99
337
577
356
652
422
343
437
25
606
212
662
790
46
893
611
433
371
330
262
474
444
656
236
319
854
710
889
532
498
320
103
44
392
607
702
298
572
750
972
515
508
13
665
45
991
349
228
254
838
576
710
509
101
913
957
592
663
691
269
351
265
145
621
416
20
526
952
630
410
200
758
198
648
6
434
624
981
928
376
257
238
30
844
578
431
695
984
454
746
433
219
214
595
923
409
785
732
464
806
86
568
765
852
575
994
804
280
103
950
535
840
236
955
388
168
814
573
800
12
782
566
555
33
283
67
279
899
579
691
293
218
626
886
938
149
15
238
598
207
564
650
933
844
66
496
216
892
548
924
284
854
950
438
296
304
307
790
440
402
338
973
707
612
897
831
113
256
818
372
57
436
576
385
43
233
580
381
668
770
94
186
567
937
518
735
38
77
227
758
162
909
221
76
554
349
641
165
331
608
539
508
469
187
413
991
501
913
699
280
434
196
788
661
806
53
174
330
77
253
20
458
908
159
758
687
420
439
360
864
264
848
548
958
141
705
530
71
456
530
813
399
955
542
273
793
500
349
928
304
642
241
801
728
276
941
855
694
466
513
222
289
459
443
854
558
41
539
287
472
620
409
410
123
879
749
36
963
364
579
554
892
163
865
169
858
670
659
52
447
503
32
226
603
824
558
169
244
695
73
922
20
575
735
958
897
767
167
192
533
435
601
280
685
799
510
805
953
236
140
25
271
331
760
614
439
367
180
226
872
335
300
775
498
321
990
30
366
52
648
521
139
440
123
735
78
201
534
326
535
28
691
343
231
321
471
528
821
189
487
346
303
287
852
760
881
76
635
691
766
251
885
756
234
412
699
138
973
536
915
376
400
443
413
471
142
246
924
924
333
718
471
256
717
626
278
91
814
335
49
119
558
417
4
116
887
550
978
740
727
757
156
981
726
897
756
24
832
368
73
731
537
204
812
155
198
64
576
255
347
164
708
494
317
849
404
96
819
336
200
519
353
125
440
145
430
746
333
276
657
765
534
267
640
453
997
35
551
100
966
233
914
755
624
122
868
53
848
499
706
899
943
121
972
974
33
696
772
468
975
911
260
920
303
894
418
820
695
243
385
414
919
979
565
229
28
816
678
946
804
725
716
628
121
50
508
740
933
392
211
89
46
29
588
550
718
933
381
445
376
304
432
512
440
138
448
686
304
528
487
317
36
305
303
38
231
117
645
225
781
261
516
859
998
403
150
691
678
823
192
746
187
984
125
621
591
23
539
507
174
227
204
531
443
690
257
885
848
124
22
118
7
206
117
178
181
980
536
29
107
534
337
154
70
610
421
838
273
838
625
905
133
27
37
493
155
285
992
524
375
812
685
769
238
850
716
773
905
638
171
488
671
227
46
108
137
635
881
520
251
151
535
729
134
571
885
850
865
734
93
533
38
53
789
207
948
637
139
127
749
193
337
55
744
166
457
288
290
458
990
935
435
618
622
515
519
660
975
453
430
460
108
570
133
290
543
411
365
179
447
154
118
648
428
870
623
878
39
108
95
489
734
154
409
957
492
785
210
130
748
64
704
447
595
488
526
230
417
830
622
854
290
124
56
705
468
556
992
564
260
454
902
470
427
196
205
170
989
603
138
984
1
313
633
280
410
704
396
789
586
155
159
659
512
843
303
515
871
803
642
762
506
674
219
38
783
428
336
19
424
373
929
772
269
907
592
428
259
808
234
281
636
338
381
302
10
79
606
683
453
200
435
257
247
817
334
544
243
205
72
750
56
895
840
220
466
88
982
780
485
429
92
862
509
862
554
557
840
235
278
528
698
317
518
240
461
121
184
123
552
771
967
61
827
661
944
112
772
339
64
434
117
349
76
221
704
264
967
857
574
283
7
579
268
43
789
724
300
755
482
6
580
397
643
335
339
412
559
416
772
347
56
731
160
871
96
527
733
905
329
148
903
935
917
338
766
161
619
200
9
806
85
92
400
785
810
104
89
938
942
668
842
204
467
542
140
426
862
615
814
986
423
983
497
69
878
283
751
189
807
552
96
518
618
766
613
708
551
779
946
129
215
599
786
872
694
803
902
444
132
431
822
825
13
873
112
412
63
119
995
459
805
216
750
783
345
960
922
908
848
622
889
277
553
16
726
885
860
304
646
463
207
727
495
374
994
886
943
461
757
286
4
448
181
593
509
879
292
479
959
239
360
969
982
628
621
933
239
312
905
720
228
499
681
999
878
989
796
495
231
661
424
716
773
367
333
706
181
461
619
560
359
64
452
704
611
184
253
946
744
961
928
902
702
655
436
683
27
454
37
676
125
833
5
832
802
988
457
117
14
797
242
696
85
904
471
981
959
755
392
872
140
841
776
412
112
987
889
594
956
246
429
256
779
852
487
809
362
731
761
82
110
260
705
700
4
326
280
203
744
259
271
620
692
866
884
306
537
620
491
623
840
60
926
516
718
568
710
74
1000
995
932
969
99
67
300
24
711
94
29
237
197
277
849
324
173
815
371
174
387
109
471
674
465
580
133
33
438
991
423
64
308
740
854
913
55
266
444
324
606
565
188
897
294
851
495
726
248
539
375
426
944
57
836
861
925
494
957
783
263
710
600
231
935
325
568
730
668
979
295
280
217
329
826
660
237
539
923
799
112
423
646
825
157
976
617
946
576
771
508
491
457
576
991
295
845
585
493
78
657
889
631
661
777
111
136
644
185
714
379
635
380
86
389
276
686
403
364
35
235
178
256
224
572
623
942
747
835
167
891
866
446
977
965
647
50
913
214
831
239
117
69
569
222
349
350
860
196
263
899
521
630
49
433
245
62
251
446
611
297
113
580
920
78
516
921
390
401
409
90
538
668
661
850
560
752
435
162
122
903
487
305
271
98
311
685
109
134
646
455
442
228
692
903
889
388
309
856
834
130
594
4
146
395
479
161
824
667
428
932
606
362
870
179
75
540
749
978
13
858
464
443
583
494
484
943
408
417
173
731
786
37
674
935
66
726
227
212
709
131
987
84
643
519
189
128
333
616
529
748
392
523
750
210
671
343
713
987
512
84
688
234
228
256
217
377
971
333
637
410
828
916
298
448
384
999
570
513
2
201
969
307
771
241
123
946
392
168
829
245
290
107
176
152
886
325
546
374
263
483
318
54
440
790
283
604
87
650
95
451
784
79
558
496
862
805
194
539
482
519
341
811
804
166
948
990
50
514
385
790
799
523
806
261
76
150
59
468
657
342
673
58
570
896
226
586
912
796
251
135
989
367
903
886
247
328
789
850
638
396
751
841
867
607
870
156
422
917
648
137
426
5
151
946
136
363
868
436
304
940
181
944
770
612
642
236
350
711
698
545
516
679
107
877
407
681
59
304
448
666
930
979
194
926
679
976
79
701
112
889
402
712
646
307
252
855
745
914
53
409
879
977
62
275
751
403
482
716
506
395
787
20
856
971
513
295
324
246
15
343
337
434
653
194
513
998
433
399
290
222
404
653
979
756
988
627
463
362
8
182
982
178
367
285
904
295
221
994
934
346
16
889
949
102
933
181
531
788
139
523
330
929
730
238
577
74
403
286
404
665
724
788
192
650
290
337
784
174
236
643
254
849
309
297
898
624
149
540
252
254
529
986
227
735
43
185
923
825
134
735
255
964
415
458
333
481
958
760
403
963
580
896
287
64
211
342
449
833
83
810
215
837
847
795
231
988
704
664
928
977
290
463
621
683
387
565
892
711
460
235
66
495
678
983
912
27
328
310
203
314
496
67
369
153
432
214
317
650
330
164
403
200
82
293
666
298
190
410
698
672
197
177
938
666
883
504
746
753
994
952
367
314
471
23
750
551
968
30
268
513
961
907
550
727
889
953
19
863
592
957
226
183
763
622
751
278
272
472
257
730
963
682
274
889
16
387
407
925
991
63
4
663
466
523
698
487
577
907
912
788
803
812
145
977
75
367
761
131
671
611
133
668
352
30
155
312
912
469
582
773
643
932
170
197
205
963
293
471
64
423
581
870
947
453
124
393
753
353
959
362
954
894
891
494
835
337
160
722
809
39
134
502
679
63
965
191
943
672
140
355
138
905
905
568
788
717
880
301
748
309
525
37
568
342
744
601
84
712
626
31
576
430
214
997
721
957
229
911
10
7
889
373
527
464
308
534
703
523
484
296
228
633
539
991
326
66
714
346
459
225
598
76
902
897
197
419
759
696
771
283
710
907
777
439
212
745
902
392
903
864
908
128
698
537
938
920
438
560
1000
792
956
364
602
21
142
222
855
276
913
715
957
608
983
807
614
517
999
2
880
760
909
27
830
384
391
426
722
719
804
245
585
711
394
729
662
13
414
574
785
723
432
804
538
525
318
813
27
248
333
421
167
538
277
85
684
428
887
546
418
77
542
267
108
829
860
989
575
83
953
608
84
127
951
380
740
230
913
120
943
815
367
700
309
427
569
619
963
585
2
861
779
314
781
535
972
319
403
74
425
301
704
831
279
876
997
994
589
943
84
676
333
72
278
868
624
715
578
709
771
569
912
198
753
475
692
18
714
557
971
634
362
176
176
200
499
436
741
96
499
617
931
108
202
913
835
366
594
299
799
157
622
177
536
634
678
669
780
290
614
109
608
731
613
315
535
982
909
666
7
46
104
914
245
884
823
890
219
369
514
969
158
972
496
216
165
131
754
658
411
321
562
986
897
795
762
321
956
864
379
369
523
380
341
410
669
738
230
95
85
361
383
932
981
103
138
692
340
424
739
703
610
525
173
137
648
821
261
950
223
301
414
110
426
319
781
70
112
335
959
272
885
962
52
591
218
417
610
242
986
160
914
650
86
48
148
195
843
823
209
512
573
131
335
270
22
533
217
957
408
191
33
195
431
1
622
577
921
935
92
820
786
287
289
273
525
317
891
480
831
529
369
524
799
426
696
361
783
155
492
204
230
843
204
287
716
843
84
21
960
309
936
631
819
689
61
864
124
835
375
240
764
333
435
616
597
601
971
577
609
42
582
223
245
266
439
495
977
966
217
88
5
553
968
316
431
73
322
75
377
218
250
148
295
499
559
682
163
768
474
614
330
289
934
176
532
545
666
410
17
779
738
752
743
31
35
387
372
112
18
7
111
496
215
56
518
607
117
285
45
346
539
720
458
989
45
691
239
790
756
639
770
706
689
828
356
681
813
909
171
825
153
553
774
653
624
983
161
253
732
308
239
915
945
13
196
251
294
823
496
308
765
429
118
505
89
244
242
500
854
438
770
223
254
986
968
423
358
369
28
1
543
859
538
322
593
33
694
456
29
274
575
20
426
536
960
847
826
577
989
275
891
205
399
189
73
804
237
333
935
569
691
585
724
424
133
39
435
557
549
776
897
858
301
132
883
349
528
139
806
823
600
566
387
546
710
621
547
815
103
996
874
599
435
354
260
272
457
771
647
656
561
932
428
216
714
52
685
262
955
600
345
434
966
933
340
594
157
818
7
485
353
658
313
138
445
976
960
105
288
305
59
5
743
209
867
784
982
559
22
298
92
584
816
589
590
423
331
208
622
117
635
522
573
988
867
768
254
388
735
962
96
628
831
444
570
718
260
3
556
226
216
977
576
159
546
727
557
297
829
159
300
781
171
720
935
125
749
477
432
996
112
375
642
273
378
785
484
910
782
793
588
81
459
438
147
931
957
324
765
12
739
565
822
137
873
52
236
969
130
403
531
123
10
771
826
930
548
874
656
335
325
263
589
533
806
818
214
118
966
920
390
458
210
577
643
965
725
5
177
731
754
832
275
712
756
123
784
305
50
897
980
660
329
680
340
539
407
866
677
875
630
398
619
430
681
310
667
134
893
177
909
717
802
446
2
275
359
857
241
220
128
946
338
928
863
681
53
22
3
818
987
870
40
514
613
369
183
30
127
488
434
115
809
383
10
817
359
93
27
3
107
974
492
822
97
71
962
742
782
539
663
520
471
110
465
673
741
334
895
590
715
988
254
402
524
621
28
158
243
667
942
598
324
950
489
97
872
675
207
895
87
203
772
801
895
15
753
959
45
243
941
110
965
97
319
8
254
304
35
316
992
418
276
342
969
469
534
425
521
988
559
690
942
849
273
91
281
743
969
412
971
347
447
916
878
417
106
868
286
86
607
25
831
635
465
497
597
895
786
100
410
190
442
412
895
457
152
297
977
767
297
557
338
966
837
723
807
580
318
735
785
436
829
396
561
679
726
47
845
998
73
866
908
898
76
549
485
814
181
923
973
697
183
182
560
468
388
68
581
382
838
261
825
943
658
667
501
431
831
92
277
553
73
975
152
933
59
507
896
440
908
443
468
360
730
368
126
500
32
998
891
172
939
344
681
849
540
205
684
993
126
510
486
200
735
501
43
334
202
573
872
754
891
923
688
119
344
765
320
472
407
1
915
491
740
717
357
853
270
742
297
635
802
857
438
552
959
894
507
614
612
134
880
491
193
893
954
454
630
120
191
288
157
193
202
958
917
787
381
146
111
885
374
1000
413
517
76
547
524
793
997
282
22
142
515
375
119
467
996
783
536
59
784
324
487
751
796
408
658
729
836
713
157
852
735
553
650
112
162
60
261
85
247
599
376
829
168
35
203
718
527
541
750
110
608
664
964
598
625
281
872
824
646
871
945
476
185
279
361
150
384
752
483
215
280
591
664
675
933
176
451
302
53
501
346
987
363
578
567
340
121
258
648
53
114
65
321
449
953
633
819
929
697
186
662
743
661
315
1
619
767
995
829
322
945
353
678
115
911
257
988
447
107
149
962
934
707
912
554
821
380
744
244
695
925
174
351
157
2
372
963
531
907
852
1
459
755
526
525
406
500
788
190
688
922
33
636
615
94
497
702
744
870
863
575
37
611
391
368
930
717
663
169
924
525
191
319
338
785
265
488
293
242
395
199
818
806
642
543
216
430
912
221
473
77
60
488
550
113
226
215
833
26
409
114
920
641
703
63
154
900
956
638
6
829
912
166
512
525
1000
70
416
890
55
837
611
346
181
667
729
954
891
763
488
212
413
250
468
286
752
929
541
601
703
404
96
513
518
660
545
254
314
822
299
463
670
652
604
410
41
327
129
420
779
170
187
124
568
325
808
911
37
771
696
338
148
726
222
328
718
225
235
704
106
581
439
979
645
516
492
331
881
980
767
409
65
66
941
933
622
959
185
50
519
585
752
80
552
447
171
559
575
181
119
507
604
515
245
401
551
634
905
687
62
462
772
529
570
974
798
135
194
482
820
229
581
754
396
130
117
958
141
475
192
674
894
839
382
635
553
360
441
437
307
25
20
195
291
448
861
988
400
809
32
12
120
128
454
533
745
196
560
98
267
294
440
980
598
307
241
503
461
938
891
691
498
542
463
716
643
492
610
702
789
120
528
795
150
993
883
792
467
704
943
291
403
410
944
54
45
72
354
191
424
709
293
865
357
36
823
441
722
493
201
386
473
73
479
782
342
296
44
1
152
370
744
951
144
868
311
335
511
234
648
488
596
22
402
742
841
93
955
689
647
888
585
408
731
520
104
463
466
647
719
472
935
12
183
122
110
85
613
794
668
461
445
359
417
538
129
285
232
532
89
953
670
68
388
920
172
413
301
954
844
954
707
849
369
624
798
373
474
825
119
241
767
866
350
650
457
15
582
753
633
99
26
418
328
975
266
775
548
309
163
325
816
835
501
845
546
685
271
947
736
423
273
870
76
140
385
52
505
346
364
60
716
403
596
731
842
955
513
711
812
129
741
184
455
280
201
233
466
737
499
154
755
257
933
67
559
931
381
301
910
844
116
397
720
116
349
27
778
852
916
775
427
155
54
515
535
560
684
82
667
190
924
18
27
473
842
459
817
473
613
645
172
780
308
88
694
410
513
192
944
356
861
997
926
291
355
754
742
388
27
253
88
402
109
169
210
959
369
214
269
466
689
545
785
165
287
711
2
652
187
390
546
608
693
323
722
569
641
126
149
335
169
131
198
985
556
996
909
567
484
596
586
209
687
634
323
790
568
456
59
346
799
828
590
41
317
785
167
897
418
227
919
484
836
618
364
382
789
32
697
590
993
766
378
973
542
930
787
510
379
747
339
326
799
782
538
484
59
935
861
71
712
857
284
347
709
370
476
678
675
610
397
479
19
833
126
641
687
286
188
783
457
98
616
194
614
862
208
510
770
514
213
24
332
104
751
21
839
292
814
669
1000
752
613
824
731
153
369
576
937
107
397
452
86
234
461
20
846
538
929
30
185
385
249
337
383
675
572
606
320
269
179
180
295
314
501
574
328
888
136
761
627
300
229
783
399
450
991
278
723
906
946
147
525
706
675
988
28
482
461
857
207
161
254
633
910
388
804
511
270
802
635
173
1
487
784
753
915
231
865
40
799
710
69
254
358
358
182
361
503
470
556
105
684
40
236
863
339
940
126
973
759
312
180
416
851
461
44
584
337
109
534
421
904
614
579
379
703
624
6
499
377
707
638
410
483
680
701
186
798
709
466
829
470
794
384
598
403
894
706
529
595
785
732
269
344
720
383
786
387
110
743
609
64
711
596
977
553
298
731
716
48
355
988
702
533
133
588
465
452
297
279
909
138
486
230
105
353
341
413
826
651
928
401
818
592
35
141
814
983
537
282
935
468
848
57
443
765
524
548
775
756
224
419
398
482
585
826
323
789
19
285
31
7
120
717
177
606
101
776
647
162
714
810
503
386
120
513
853
150
523
368
934
667
735
526
562
999
462
599
623
89
799
195
466
346
333
709
914
638
282
6
77
206
302
140
336
647
957
199
660
573
353
686
872
25
101
582
642
966
620
402
710
467
743
79
325
290
750
493
943
618
235
810
993
626
674
588
916
444
145
744
738
798
449
107
174
290
760
239
590
854
48
609
235
364
710
14
783
804
262
335
616
636
485
352
235
242
89
336
857
393
866
585
586
701
265
889
461
935
530
164
360
876
836
115
984
148
367
870
91
47
900
970
729
953
257
950
500
356
934
52
731
852
343
251
46
754
327
879
16
77
65
630
436
778
39
577
327
66
467
214
928
484
507
151
776
269
557
289
510
171
210
762
126
505
736
886
282
752
527
694
670
372
560
352
625
887
790
921
903
441
364
464
996
236
665
466
454
229
512
889
416
457
275
972
969
180
288
34
998
796
685
156
926
149
713
583
92
398
668
77
568
126
788
292
874
694
877
395
419
191
943
821
465
476
830
41
92
927
719
659
919
528
340
980
344
796
932
452
644
927
308
988
583
201
860
279
110
368
989
621
289
235
207
671
909
141
160
803
48
345
872
430
506
606
813
706
165
402
792
557
264
295
267
847
61
925
370
814
574
1000
866
587
902
429
275
755
163
446
625
438
181
153
611
248
937
441
498
883
198
642
742
802
906
582
139
602
656
936
291
251
55
914
322
306
818
340
67
591
222
128
394
595
941
19
961
21
326
175
422
505
943
914
68
492
520
412
919
695
506
700
551
311
112
629
297
425
73
794
32
607
318
586
440
763
452
634
510
697
198
916
44
695
975
728
94
672
347
503
616
68
425
213
57
737
169
709
280
528
187
895
986
110
832
54
774
894
330
35
49
537
216
214
302
641
573
346
646
718
450
459
118
404
348
949
960
195
867
877
988
700
420
282
191
505
456
17
939
277
751
185
472
650
147
799
925
777
599
663
756
176
501
812
306
624
21
63
181
426
659
362
294
335
269
645
690
755
604
879
748
656
767
792
918
765
93
556
974
222
631
353
623
857
820
320
420
639
944
839
178
656
662
515
402
195
234
485
889
101
71
886
269
604
872
391
167
262
961
761
652
460
337
250
818
173
657
508
671
341
561
391
965
240
754
658
273
724
813
130
389
26
946
291
72
146
825
663
290
453
187
562
350
279
111
989
745
732
732
462
106
854
708
612
389
575
924
195
306
599
764
995
73
472
776
775
711
629
709
14
536
103
711
708
951
954
950
893
347
177
18
874
723
31
300
377
643
245
868
967
259
548
604
96
434
305
970
114
467
847
256
398
486
218
200
532
385
678
582
112
64
274
778
335
833
198
276
990
43
430
840
857
428
405
369
811
162
30
467
100
337
410
412
396
445
64
519
183
424
252
850
8
43
260
853
882
678
155
791
886
42
554
751
649
78
420
617
895
975
758
642
711
273
368
150
535
84
453
459
106
739
18
340
794
594
426
195
785
292
421
658
582
507
196
514
134
111
821
680
743
700
424
473
526
669
81
546
870
343
265
708
775
200
41
260
421
898
963
656
600
616
729
40
873
235
235
647
463
3
620
175
898
613
247
944
396
105
346
88
803
570
230
75
672
429
545
571
719
967
50
23
455
863
778
394
290
724
259
120
759
971
677
753
821
14
451
716
364
332
762
248
162
920
957
965
524
599
601
366
781
848
197
303
599
134
227
662
791
197
216
451
969
406
3
107
897
64
229
27
833
513
358
299
527
999
210
99
775
487
55
501
601
87
834
261
194
276
940
713
717
868
318
61
972
550
328
225
702
867
959
864
985
712
462
380
801
759
436
493
328
778
719
475
964
432
153
206
359
5
490
36
992
464
192
864
936
418
903
898
513
805
669
367
450
633
822
816
39
648
546
677
518
614
800
558
580
792
198
23
463
261
897
685
570
999
290
124
924
978
563
471
72
119
755
493
223
611
984
685
521
997
941
170
349
397
588
173
477
447
207
468
673
831
633
466
140
788
533
549
750
580
38
852
600
740
944
924
838
848
906
633
79
675
792
205
973
841
392
524
634
504
200
695
741
207
864
383
70
723
221
640
86
625
510
762
57
379
511
234
781
905
836
947
672
977
566
702
421
270
720
477
869
606
824
46
56
704
950
331
613
791
185
290
818
503
423
244
655
850
746
295
162
441
433
863
207
773
807
489
585
178
716
690
981
889
441
88
931
820
189
35
354
844
188
633
653
758
542
418
625
663
668
939
636
199
135
144
621
905
162
782
450
22
846
994
133
192
468
899
151
856
818
245
911
624
582
143
975
524
266
480
222
851
992
871
567
252
788
890
202
829
661
900
577
279
830
19
492
513
973
600
765
776
257
179
885
25
207
981
951
197
184
966
995
53
345
830
450
484
512
607
165
511
247
246
830
746
828
78
115
717
508
149
132
322
608
212
61
622
550
598
890
362
884
249
296
851
731
998
580
336
825
527
476
576
547
527
361
91
874
295
89
496
206
368
214
379
399
824
856
438
140
575
845
973
18
297
43
348
246
661
971
792
18
172
929
699
909
228
840
658
560
985
918
575
120
236
117
589
587
785
24
963
212
732
473
773
604
680
734
5
45
124
522
618
771
175
472
253
677
337
938
514
974
284
158
171
812
423
890
216
798
604
598
427
599
468
142
981
592
821
708
723
561
869
442
853
33
342
780
205
717
317
57
755
879
29
309
701
198
76
565
260
828
218
101
318
896
366
282
208
669
502
659
173
963
965
911
548
135
975
80
260
198
331
310
55
151
887
950
738
633
853
455
818
391
933
985
158
854
37
999
641
323
623
398
385
879
732
7
753
171
437
228
257
621
714
756
469
466
738
127
224
258
213
692
703
113
622
340
515
41
221
925
467
147
198
866
575
358
653
869
759
612
969
34
814
93
698
880
486
228
300
992
922
585
951
26
308
781
163
840
281
739
137
330
550
404
620
396
231
89
529
118
586
184
756
835
225
862
386
324
327
759
12
688
128
344
981
868
714
840
129
942
188
102
76
472
358
835
158
227
446
863
898
526
723
989
250
323
605
88
973
867
501
731
165
489
628
567
376
582
64
139
738
341
581
558
256
211
139
714
718
265
500
291
691
937
115
873
729
619
283
878
223
659
603
852
279
189
904
935
654
32
167
930
38
666
438
459
919
858
350
166
842
99
694
769
143
431
406
54
123
597
453
559
192
702
370
800
733
735
597
366
310
370
372
114
354
430
640
990
676
287
332
718
967
259
434
696
958
749
425
990
75
463
63
211
198
580
977
407
648
119
209
853
607
90
675
735
978
235
490
319
110
288
235
115
928
732
559
936
718
955
926
501
262
574
965
439
50
442
595
95
13
514
65
562
610
311
86
734
112
216
487
999
624
177
199
377
716
724
930
538
541
362
580
144
959
519
309
409
518
233
188
558
69
661
519
165
471
329
243
940
61
746
344
626
535
648
777
108
477
672
261
698
997
696
209
833
862
442
188
121
56
174
569
700
934
509
415
437
968
406
277
318
674
383
258
736
429
883
614
56
773
507
201
977
269
518
280
712
147
616
536
938
781
496
697
816
487
100
790
93
289
817
926
471
40
73
435
965
758
906
372
923
83
167
666
768
558
889
643
275
797
271
270
368
690
419
231
30
498
709
838
879
67
143
898
380
424
596
853
447
684
192
909
425
559
360
426
9
753
295
518
741
162
665
688
86
137
386
334
976
2
229
111
917
670
813
486
405
466
272
290
471
183
521
705
600
31
576
935
148
334
810
737
673
780
414
112
218
558
542
721
738
937
813
984
289
735
902
433
532
618
906
589
381
393
86
536
369
262
350
414
365
538
518
232
854
442
65
788
866
439
466
962
27
19
757
358
885
952
171
45
869
841
991
181
732
209
850
405
345
454
774
184
31
771
182
776
405
513
919
26
889
548
155
37
621
871
640
622
489
103
364
557
395
544
157
858
692
135
148
715
894
999
262
252
427
263
161
968
160
494
109
600
927
402
250
131
50
409
712
857
118
348
748
746
954
778
873
786
696
382
551
700
441
488
559
139
708
986
582
478
285
846
928
392
686
991
525
692
527
463
530
297
622
760
913
793
504
677
395
785
349
217
965
97
33
966
6
968
124
811
756
531
156
52
395
285
460
756
610
731
134
664
848
35
514
112
810
404
614
152
967
840
579
558
992
77
147
431
55
793
477
921
847
649
473
937
89
313
910
808
980
371
258
572
754
982
68
912
48
165
212
835
270
880
42
829
537
418
751
598
25
183
846
472
796
641
637
233
223
52
98
407
181
653
274
54
55
76
656
690
436
166
579
265
126
794
771
52
659
934
611
895
122
59
547
503
481
840
373
400
963
271
759
678
315
583
481
915
919
738
342
534
781
857
600
337
444
700
86
203
683
153
853
724
698
771
349
96
146
593
600
692
10
821
831
591
770
441
283
780
759
581
719
876
928
168
257
992
422
471
740
802
556
239
771
965
763
433
943
793
60
3
551
471
423
785
237
182
199
323
630
220
375
368
3
530
53
868
379
158
997
500
329
769
448
176
888
726
749
509
656
249
445
912
149
779
693
873
907
28
758
952
696
135
335
221
374
973
213
185
639
945
545
723
939
518
617
186
264
355
524
643
417
150
639
148
628
154
68
67
61
970
580
724
816
382
620
76
563
888
133
668
799
85
834
890
57
308
507
413
58
689
652
741
971
370
516
7
405
697
133
513
738
84
511
12
674
657
508
395
697
943
254
297
210
626
217
84
716
842
110
848
334
564
908
309
348
383
157
998
200
387
626
675
568
909
90
715
730
622
709
120
387
835
27
854
556
873
91
494
903
113
571
503
123
565
38
30
578
927
768
829
409
655
524
720
809
920
783
66
914
287
760
884
73
567
453
535
853
583
591
433
212
505
44
839
733
33
775
600
654
909
846
647
731
192
360
173
618
247
457
677
551
639
655
469
608
994
883
810
695
403
542
607
749
141
798
446
307
321
100
813
752
573
605
528
31
26
801
806
582
653
123
845
554
522
739
512
104
601
56
544
753
567
660
641
278
482
575
966
632
299
754
889
694
907
635
214
470
832
474
787
500
759
905
100
852
769
841
463
23
543
399
357
519
835
1
844
635
173
194
270
203
104
2
61
665
304
832
106
872
504
40
73
405
513
282
11
79
577
664
795
515
930
565
239
307
689
663
235
373
146
410
886
526
153
643
406
178
477
557
501
351
970
521
58
845
916
562
236
505
142
423
463
8
366
229
415
495
769
735
806
667
966
20
676
682
390
280
931
289
613
61
80
176
259
871
467
413
995
618
823
226
535
731
606
56
729
136
458
28
574
495
51
472
429
217
763
137
797
821
902
68
794
153
649
901
822
808
502
524
29
868
761
591
835
737
512
420
213
388
655
159
397
865
729
919
413
201
704
799
144
254
428
306
647
118
129
731
94
880
238
441
19
505
785
893
508
516
822
416
613
994
619
451
521
107
890
974
975
30
923
327
999
650
296
489
266
884
793
148
316
801
265
558
414
981
425
300
34
705
990
503
857
659
157
21
661
775
142
340
698
731
383
695
976
431
54
11
363
446
758
779
600
17
590
924
83
735
309
42
790
388
988
123
797
832
379
41
655
915
175
609
295
653
514
997
248
883
340
636
689
531
720
522
246
536
778
25
543
179
714
844
181
241
269
796
245
998
67
478
409
515
527
665
452
78
390
510
295
914
471
220
686
517
950
918
313
2
346
809
425
927
368
610
17
911
970
454
255
223
287
98
86
207
609
340
928
70
156
999
913
71
269
674
405
604
525
770
431
19
414
965
204
274
502
358
142
659
371
38
661
944
254
710
551
213
970
315
907
591
704
283
467
802
152
178
662
231
824
15
872
730
595
455
171
932
151
408
318
248
608
337
868
20
443
664
63
549
826
274
593
848
602
39
398
968
460
650
454
748
264
851
867
637
145
286
655
10
707
810
352
78
624
76
879
19
961
595
217
475
820
308
59
907
266
863
974
605
42
461
618
331
291
105
172
680
355
545
498
243
722
35
476
575
380
261
588
768
152
427
135
192
53
565
347
545
393
582
298
938
87
399
738
152
617
854
887
560
198
671
780
476
953
905
978
827
316
769
316
142
467
611
910
796
345
160
816
357
633
811
563
643
210
886
314
800
710
302
522
317
225
989
789
395
674
780
81
477
52
184
592
109
580
631
300
475
763
322
741
115
515
763
556
361
779
446
168
948
536
896
316
153
710
484
247
508
219
991
75
854
354
895
194
27
743
744
666
962
387
799
160
372
631
310
411
457
506
416
105
274
544
703
802
505
45
832
785
375
788
527
691
364
335
431
435
185
413
980
168
233
333
514
976
317
54
290
617
38
274
916
826
626
908
29
628
376
386
676
663
95
499
968
738
128
919
58
695
597
105
390
206
460
21
464
301
887
18
69
272
211
222
64
90
446
17
295
619
905
549
158
746
30
687
666
980
870
544
611
212
47
512
543
113
207
699
878
59
117
850
349
588
600
78
439
122
434
209
152
100
196
155
692
729
791
458
189
264
52
124
593
114
384
869
270
96
883
209
615
832
752
137
230
643
103
741
803
275
471
769
861
460
388
24
998
607
468
492
995
903
264
252
513
709
62
567
664
431
444
11
822
961
98
159
515
391
912
117
58
945
785
159
910
971
988
823
376
401
113
89
374
303
862
666
476
18
939
15
326
903
336
455
836
890
134
568
275
912
767
198
471
726
374
513
888
854
437
962
237
131
469
480
628
846
853
947
22
562
318
757
863
497
706
295
337
771
864
307
653
921
479
399
132
825
668
377
606
596
945
736
879
40
954
368
508
18
37
486
222
401
238
834
635
347
842
465
748
307
926
792
930
519
682
136
675
724
456
694
470
522
556
723
517
68
889
738
900
787
391
687
16
414
27
403
749
919
879
100
895
854
447
341
828
201
855
665
243
87
49
45
103
605
482
429
563
573
984
907
754
238
707
426
802
841
86
592
311
462
747
801
906
768
152
844
73
110
577
161
701
924
701
139
217
539
673
184
148
309
67
823
275
448
482
760
279
67
939
626
920
695
373
163
365
5
715
694
207
541
46
49
106
4
278
553
733
54
645
287
908
646
63
620
355
619
55
882
539
657
525
180
414
752
130
537
714
969
373
965
642
696
838
596
418
510
178
718
159
486
552
401
8
46
230
415
254
455
991
334
405
644
741
3
871
371
536
60
910
609
775
835
973
689
919
732
470
959
498
163
203
590
514
198
422
784
638
366
541
794
724
461
22
64
240
775
854
343
206
916
324
770
93
265
536
804
912
143
182
352
454
1
654
609
192
260
457
925
902
971
274
489
443
120
702
742
468
224
905
196
53
865
899
792
379
926
221
994
606
598
28
597
49
666
498
596
611
214
539
543
159
619
436
534
228
639
9
328
964
492
297
144
734
6
548
355
168
376
526
640
718
534
749
161
994
908
294
974
238
138
236
202
307
390
622
449
438
24
104
586
904
746
30
277
356
804
812
582
337
483
873
555
910
892
322
984
875
30
793
358
306
201
536
670
478
111
967
904
352
417
333
926
889
44
75
1
422
356
761
385
209
107
161
240
48
192
174
644
572
375
811
622
387
559
377
901
776
658
337
604
51
804
70
192
994
450
875
736
32
913
146
64
913
25
580
385
715
875
649
762
929
66
353
215
223
500
428
254
257
501
763
416
562
974
807
698
63
397
88
853
333
652
807
157
988
104
669
628
976
881
721
666
673
1000
983
729
793
844
110
970
157
513
120
750
240
726
496
515
249
301
589
869
222
694
320
535
239
735
628
559
388
482
965
304
582
79
446
716
646
582
883
891
378
19
68
188
409
328
136
7
808
426
712
890
293
376
907
757
847
503
872
974
265
368
769
400
904
707
541
757
473
776
766
438
216
98
234
365
251
223
618
614
147
998
751
299
38
771
584
661
721
116
846
378
188
976
799
871
26
524
243
777
929
703
123
831
344
133
646
100
940
989
815
893
115
570
705
705
297
458
566
219
105
585
84
746
770
76
717
485
395
398
74
615
714
251
686
567
45
616
417
770
30
547
920
800
547
635
275
132
959
544
922
632
438
647
513
521
670
604
149
772
684
663
726
839
894
562
835
140
690
197
682
949
96
616
42
229
58
491
113
458
912
934
475
680
458
440
22
872
849
743
893
184
211
611
935
814
478
933
127
15
470
989
783
279
619
428
40
797
89
354
318
115
243
850
961
322
557
435
261
199
92
257
395
512
611
225
598
21
245
956
73
854
383
114
698
607
126
676
621
879
198
727
179
24
689
603
423
539
392
611
710
890
764
74
456
540
753
176
151
621
813
917
166
987
456
511
732
359
574
730
675
897
605
6
182
792
334
615
875
440
735
880
982
319
824
121
204
959
906
56
184
277
971
437
163
136
235
986
448
176
990
93
870
854
987
351
245
153
563
685
198
606
586
763
388
109
91
402
306
529
166
870
323
217
252
375
609
391
512
509
854
786
360
107
489
118
521
800
225
661
262
513
295
690
525
322
739
632
750
337
435
489
115
778
341
555
754
968
617
431
307
774
834
143
765
914
525
465
178
627
659
629
264
471
495
267
319
330
414
764
124
341
987
220
747
77
539
855
223
224
896
1000
100
994
837
800
767
659
17
357
266
966
765
327
56
621
209
929
783
703
665
893
678
658
46
152
636
447
362
950
371
577
30
626
313
955
806
541
51
956
647
484
227
665
685
420
722
986
826
635
878
175
175
171
285
443
598
930
351
437
275
11
457
773
6
601
39
320
370
261
309
587
575
548
678
409
986
662
148
74
875
315
75
223
874
19
741
100
1000
822
129
207
883
862
106
20
993
200
27
175
272
98
379
469
531
298
706
77
405
839
471
642
421
709
958
246
990
883
524
856
694
381
793
512
303
548
391
383
367
156
911
839
55
809
634
853
160
818
410
363
845
960
779
724
723
473
82
992
367
241
810
603
172
355
920
947
789
152
153
429
995
386
692
908
1000
402
617
789
608
64
699
635
627
699
59
895
135
525
77
232
17
851
732
977
195
852
260
433
599
864
577
123
759
958
470
561
306
15
930
831
365
645
334
51
979
91
402
795
262
645
7
691
935
264
896
689
255
746
407
958
122
297
20
973
333
324
424
110
528
47
374
996
355
867
219
925
791
469
450
900
358
321
975
220
158
573
142
111
293
342
714
563
247
54
84
426
219
785
45
804
261
539
330
969
277
12
951
338
608
660
96
539
987
850
981
227
71
421
557
110
665
285
467
586
985
548
942
513
15
220
618
878
72
800
407
567
196
877
607
6
877
429
435
168
918
685
25
350
970
254
738
126
356
722
299
148
344
65
911
745
952
57
950
856
687
290
319
441
387
562
795
389
446
165
964
891
285
35
469
387
870
829
304
512
448
713
863
893
449
85
280
259
667
498
355
103
425
749
31
36
417
503
942
63
308
829
34
225
987
715
638
470
565
965
660
110
835
891
748
978
912
849
385
212
233
993
884
627
883
576
140
803
496
759
841
325
602
146
545
128
341
240
678
496
938
550
8
90
187
377
648
311
459
174
932
426
439
961
808
130
870
463
519
650
62
550
444
66
858
44
904
264
989
176
665
798
521
794
612
27
170
935
785
40
797
525
575
288
316
767
346
309
591
266
201
654
623
40
907
879
493
350
217
524
45
743
960
75
301
738
307
240
908
389
573
296
741
324
739
889
916
943
649
411
83
147
515
20
848
375
883
427
559
729
747
802
505
655
812
571
784
5
265
371
700
280
540
176
582
529
694
425
339
664
32
29
898
942
478
287
907
972
67
53
742
881
606
6
897
227
220
494
305
805
8
221
986
780
493
989
709
441
886
840
15
470
454
161
40
800
432
786
64
47
986
651
605
978
712
338
182
716
36
704
581
194
668
828
563
851
945
739
486
777
505
721
229
238
249
507
147
58
928
349
517
411
50
773
90
359
987
809
913
928
323
630
528
572
501
806
50
658
774
868
367
986
316
445
900
410
110
20
925
370
868
265
485
497
840
998
262
476
806
11
634
59
961
451
317
444
650
924
605
228
149
246
277
815
730
574
611
463
317
711
838
93
889
493
555
654
653
545
304
77
699
136
535
798
501
522
684
424
158
942
891
362
695
406
222
130
131
500
883
635
221
700
34
909
4
113
270
677
299
136
769
659
298
250
354
674
276
52
489
485
228
690
290
798
917
39
174
979
452
342
711
897
975
516
537
711
488
39
968
599
141
113
74
153
541
810
531
655
755
29
528
471
740
405
369
619
863
729
184
912
999
88
334
176
514
649
679
731
15
976
875
719
393
800
249
870
123
436
614
998
148
398
590
846
12
311
599
917
44
942
757
549
527
994
268
831
790
356
783
917
47
627
446
898
659
116
930
692
189
933
908
344
265
486
766
702
810
455
316
702
608
268
476
394
563
230
582
375
248
705
101
568
473
153
954
87
732
444
613
514
292
557
379
71
623
682
12
12
615
787
942
65
753
909
869
907
985
773
431
450
561
884
994
210
492
876
335
118
633
740
143
938
591
541
811
891
797
359
955
138
131
495
445
586
399
418
538
817
844
551
828
48
613
750
370
727
757
245
271
736
911
902
466
214
298
861
206
695
35
56
956
582
53
588
62
999
106
690
524
693
439
845
675
988
727
628
369
742
756
37
540
890
181
378
628
432
382
260
438
659
105
901
417
994
76
725
257
100
244
197
935
758
647
927
44
636
147
368
295
244
456
818
600
266
921
39
16
967
518
517
155
585
411
290
340
425
159
307
942
912
411
482
814
960
491
961
701
882
770
643
802
472
187
651
433
73
515
286
859
169
287
966
936
505
342
811
139
832
35
799
942
90
102
895
263
287
971
145
887
362
131
503
328
41
778
54
635
81
548
415
976
304
626
268
692
529
881
424
698
835
981
321
709
588
626
585
815
333
136
111
344
932
627
173
781
325
951
206
758
905
350
236
768
750
528
433
318
939
462
886
682
717
820
480
292
569
281
737
55
121
411
562
597
390
4
111
472
84
953
409
898
543
788
932
472
439
993
88
598
544
76
428
94
687
194
447
545
561
766
61
493
162
172
179
480
454
88
304
299
347
445
791
537
160
311
176
652
546
227
999
359
273
629
683
87
375
70
299
603
877
854
535
686
781
570
755
912
980
765
821
184
539
641
270
638
129
245
496
951
433
95
840
873
30
545
858
23
595
506
594
588
267
308
390
609
679
605
601
930
439
212
619
756
861
695
755
978
308
336
886
84
845
817
216
511
786
624
168
781
346
661
209
583
837
55
349
281
751
456
184
966
642
380
588
286
924
340
611
746
587
543
674
86
346
923
930
645
930
151
508
319
67
60
421
842
203
600
121
629
155
52
23
371
708
724
859
871
623
771
361
380
667
84
632
813
17
447
507
803
872
248
380
483
144
107
242
258
909
696
136
620
630
898
841
200
294
187
350
869
271
788
649
657
95
728
345
682
394
383
962
73
883
485
71
64
663
845
997
80
83
265
536
624
59
151
953
236
66
429
574
584
979
183
444
37
558
342
823
675
664
384
824
752
202
731
80
111
414
972
165
876
349
564
414
45
291
946
914
269
421
307
685
198
281
375
500
254
412
679
363
581
105
709
400
255
381
267
793
489
148
101
453
753
992
607
302
184
207
968
418
625
462
611
783
961
20
298
64
151
469
430
668
497
779
427
303
264
880
136
413
687
81
273
137
818
364
833
913
367
36
280
438
943
224
43
466
619
475
542
835
778
37
510
207
572
475
863
217
134
925
756
132
883
650
721
639
897
548
21
126
317
925
397
625
208
144
447
629
104
741
738
168
729
202
608
831
5
901
305
922
544
596
769
561
246
515
884
364
499
268
467
232
771
754
614
952
21
786
293
518
467
358
195
537
734
367
978
640
293
126
945
558
405
184
154
408
501
818
665
781
34
50
394
415
360
204
576
611
135
815
406
33
58
194
791
240
498
36
483
91
726
273
89
153
4
784
580
400
738
683
949
756
278
637
628
498
722
74
106
156
229
219
951
275
969
570
106
358
795
851
889
368
139
461
598
390
419
147
13
466
468
975
360
137
86
642
514
929
883
852
282
903
939
787
660
354
711
646
814
963
805
879
412
992
901
996
597
625
164
778
573
158
937
304
280
584
362
468
83
21
872
526
760
570
133
826
317
435
154
44
319
574
710
147
506
690
170
819
416
162
94
282
641
330
683
278
108
654
274
464
476
440
597
657
349
174
443
141
488
45
707
735
643
869
528
427
912
505
384
189
798
773
561
969
213
66
348
9
772
133
715
335
608
946
965
692
836
182
41
255
503
618
757
162
561
639
210
276
951
161
14
634
345
463
814
693
509
856
732
869
493
622
27
810
90
384
258
536
64
899
667
883
685
304
349
625
994
1000
977
319
65
680
555
139
221
499
656
960
828
22
111
494
800
365
960
543
395
918
748
365
253
116
911
656
835
17
124
910
643
847
913
784
616
243
777
589
98
673
342
272
656
394
788
37
787
335
892
285
282
524
575
698
579
8
735
96
963
738
504
167
877
564
805
292
924
305
221
463
361
827
739
726
20
240
908
677
633
567
290
286
460
729
868
707
997
277
257
836
265
63
122
39
870
983
233
891
566
962
945
774
553
622
723
861
96
440
518
370
356
740
433
961
507
599
116
795
316
547
777
100
362
12
513
47
993
590
912
341
918
562
524
263
82
559
836
762
67
912
872
857
836
12
370
801
45
981
790
402
527
14
56
419
774
74
42
214
445
983
282
653
948
569
293
840
163
249
189
403
225
292
994
914
67
100
143
533
151
986
214
81
374
334
842
610
656
512
94
949
147
582
351
871
260
682
848
279
27
932
615
248
332
860
487
865
678
616
246
529
31
737
691
812
181
775
651
997
778
914
506
176
875
586
782
115
392
191
791
158
363
252
70
101
225
712
593
328
691
647
348
473
936
352
872
569
931
610
797
886
757
995
251
711
652
179
236
857
354
601
727
51
24
273
291
202
670
194
502
225
537
591
251
267
336
183
378
137
584
763
664
289
536
649
375
896
381
994
965
469
426
488
510
972
973
750
695
576
473
573
909
38
315
238
114
192
332
312
672
183
658
702
240
896
121
250
177
476
736
812
647
997
199
619
744
68
488
654
535
634
831
968
829
309
308
104
910
323
330
280
183
569
51
590
894
298
555
203
652
731
299
528
483
208
872
311
528
559
608
937
302
18
944
524
653
399
743
13
151
188
957
87
678
921
118
674
402
466
156
750
164
854
946
354
534
870
796
52
448
932
835
554
378
705
868
839
458
491
807
931
847
679
233
421
881
446
995
936
229
466
996
16
391
582
489
281
315
287
262
359
835
382
82
736
941
348
622
641
565
846
906
49
725
212
987
157
346
3
176
986
54
441
630
314
504
75
557
784
630
91
554
894
251
507
879
509
117
882
545
716
355
306
180
115
692
140
528
88
584
413
334
207
550
830
82
696
604
48
742
780
670
273
236
831
243
248
815
461
384
370
902
84
318
53
264
19
555
414
562
919
427
35
403
150
412
842
73
756
403
147
977
837
349
471
699
466
338
82
246
770
224
97
740
425
374
606
305
623
984
494
362
507
658
575
897
184
638
179
503
680
162
583
184
634
896
506
954
87
289
464
238
468
28
928
996
756
424
86
218
846
729
509
189
345
875
160
486
385
49
15
184
548
877
10
154
664
697
168
676
80
574
521
775
963
249
898
853
359
162
714
203
998
83
668
956
307
621
652
827
687
79
211
820
888
709
654
686
198
385
252
499
301
142
993
202
812
804
66
344
956
138
566
510
361
603
925
153
633
751
217
631
275
794
795
241
473
670
694
979
488
179
845
558
687
409
425
929
738
728
610
212
137
63
581
443
21
71
884
10
173
56
141
993
229
174
686
878
378
561
894
265
227
479
862
285
120
508
610
381
905
79
178
15
37
370
816
633
956
712
965
920
869
133
897
968
423
641
661
503
280
150
477
699
258
702
830
451
542
784
282
196
433
88
488
481
260
26
946
545
364
660
813
107
504
512
465
393
669
839
586
204
7
616
262
494
530
378
927
462
318
541
59
680
172
567
171
116
60
587
25
240
246
673
960
545
681
20
897
962
111
658
887
620
343
222
37
314
307
484
266
902
852
38
631
500
724
557
876
61
766
511
487
390
244
100
735
124
70
412
135
557
872
517
271
419
79
260
195
907
626
43
434
325
452
742
208
641
707
235
615
198
456
718
401
541
719
94
427
76
893
237
79
816
950
889
704
34
316
229
610
994
7
958
273
302
440
815
210
603
285
65
362
504
888
397
979
625
85
82
694
634
665
962
903
962
364
80
632
641
12
274
768
407
406
107
922
715
521
871
207
851
929
203
902
661
674
66
327
720
395
476
225
962
184
345
624
877
545
261
454
392
789
864
148
476
428
680
100
297
394
968
117
516
444
152
933
911
709
884
453
69
170
646
652
315
768
53
920
428
987
740
249
894
983
736
849
668
782
775
641
430
619
853
644
344
237
659
406
163
845
209
519
334
484
126
710
461
746
542
192
42
141
495
747
946
945
72
473
473
991
235
283
188
728
466
969
900
837
877
133
346
819
404
348
118
298
88
648
353
195
169
890
532
559
951
550
513
593
935
254
546
348
738
703
630
593
680
697
12
668
759
631
22
431
906
179
722
41
56
891
42
934
574
73
169
289
6
614
963
216
956
436
85
125
141
802
344
37
303
49
477
66
721
221
236
970
524
670
157
442
867
953
852
758
294
229
12
525
315
963
548
520
268
906
482
34
71
243
242
701
321
299
7
553
536
375
626
890
8
155
410
618
893
591
794
929
640
346
477
496
812
669
132
938
687
70
199
927
760
236
603
154
400
473
432
355
494
320
780
735
853
147
956
403
506
226
238
918
817
221
170
617
492
74
174
174
153
987
912
763
145
574
367
263
627
285
150
174
804
881
839
322
360
95
520
929
788
596
832
389
297
36
955
882
440
261
964
9
407
746
897
811
200
920
681
803
514
337
825
207
244
583
356
160
948
387
87
466
504
672
667
445
440
171
283
509
105
783
97
354
933
98
667
109
532
342
689
322
238
555
338
418
68
997
404
134
710
605
172
497
315
817
702
111
367
270
767
839
834
631
208
546
137
334
863
171
221
100
578
259
144
882
989
58
158
342
927
424
223
31
324
59
241
197
428
74
81
564
7
475
644
461
955
906
783
416
387
948
910
682
874
301
488
224
946
435
427
330
352
691
611
401
894
318
382
443
789
679
842
432
663
685
257
68
248
537
680
355
791
34
146
91
983
3
436
641
944
935
473
267
444
495
852
912
48
408
882
562
352
159
785
222
783
41
373
107
731
378
614
845
919
122
970
378
985
652
311
787
238
293
481
402
409
976
335
473
27
511
140
98
724
129
793
319
378
321
202
69
515
503
533
137
788
716
762
432
681
379
90
603
800
112
379
523
256
782
675
212
661
192
285
543
219
327
624
458
244
647
239
502
156
675
982
177
731
87
323
14
883
522
150
264
772
636
238
808
400
243
769
233
130
979
882
999
785
600
275
299
43
886
295
488
891
149
788
976
782
480
228
44
959
246
266
366
163
767
927
924
517
798
107
615
982
200
907
87
162
143
611
234
621
296
774
364
115
718
993
247
313
575
405
135
632
402
860
369
803
339
19
372
655
674
330
675
388
63
955
111
310
991
232
466
590
417
203
698
116
23
41
284
926
192
984
383
14
643
493
291
540
636
937
90
586
810
42
465
662
988
711
465
73
757
599
316
149
220
6
511
54
98
210
89
586
250
383
399
911
787
616
653
693
164
366
300
418
37
868
533
18
196
663
301
99
619
404
798
159
500
539
748
195
174
297
755
10
975
652
598
357
434
569
665
750
671
900
605
443
500
762
923
585
535
70
431
11
564
192
430
473
525
361
9
387
732
556
93
306
360
63
736
415
829
821
672
317
418
947
341
251
339
570
434
673
566
175
498
822
873
234
309
504
929
769
514
800
803
877
514
860
868
948
690
218
975
473
848
324
697
886
173
85
616
838
122
278
898
675
378
608
862
648
421
56
858
571
333
900
521
226
158
472
397
795
504
264
998
6
135
467
606
463
942
442
488
871
56
852
766
433
848
424
871
773
212
396
364
118
858
683
925
324
275
748
481
584
664
957
762
271
437
916
65
452
769
939
635
42
324
312
869
443
492
475
504
789
405
583
54
581
525
158
7
588
853
733
752
379
644
407
733
743
64
260
91
553
401
409
941
355
285
303
451
52
868
533
118
589
67
36
982
477
787
77
20
309
500
800
650
173
686
467
92
16
420
709
313
547
805
266
414
250
76
713
632
418
912
607
560
903
929
368
799
453
343
915
25
93
571
791
374
973
839
32
102
549
951
544
748
700
26
107
368
667
367
432
997
233
606
863
160
669
946
454
141
309
605
104
694
538
552
399
96
144
243
580
719
663
331
817
818
417
276
569
848
350
365
367
420
683
884
791
968
653
125
761
283
277
425
514
364
178
685
810
419
997
666
968
458
790
910
303
621
141
292
437
304
413
70
706
156
668
795
626
242
327
582
920
28
552
69
182
333
658
852
590
81
635
292
474
506
969
405
697
453
513
924
996
525
145
777
427
167
263
915
12
190
984
867
554
857
69
441
297
419
175
703
822
915
40
755
93
91
591
839
66
578
769
995
646
807
72
837
63
711
440
8
930
960
114
528
350
321
531
552
429
758
161
36
493
60
413
425
79
88
401
739
549
247
397
390
748
386
264
653
715
170
30
936
858
875
25
929
387
689
687
249
12
853
216
428
132
413
767
946
741
891
740
572
309
970
40
410
740
112
898
942
314
135
939
819
195
926
717
316
709
842
860
189
73
883
294
112
701
342
769
20
485
523
45
444
729
36
648
370
487
376
64
239
134
740
614
450
928
508
1
137
152
420
729
56
217
247
138
111
726
643
825
443
109
1000
594
36
867
283
881
447
888
289
828
649
554
244
760
952
551
413
873
607
420
217
351
42
854
371
963
614
692
746
430
396
346
948
506
803
150
121
767
776
738
105
540
853
71
863
304
694
236
68
134
529
405
823
445
567
686
758
393
608
675
175
749
972
659
466
986
409
334
800
596
805
826
901
390
365
564
855
614
445
248
22
267
355
770
526
917
253
433
291
641
759
234
254
465
973
285
240
821
427
692
929
85
886
300
501
227
32
804
851
960
794
619
687
553
509
766
454
640
148
818
780
950
538
544
68
867
936
529
907
131
275
474
251
770
132
265
656
606
796
220
442
233
801
62
330
448
955
315
968
482
198
797
772
271
604
788
669
191
426
306
669
361
411
603
660
669
506
648
468
110
693
908
5
912
919
143
305
199
7
330
312
582
976
41
594
203
435
794
533
210
571
938
158
533
778
625
474
178
178
298
67
899
109
898
793
276
146
700
550
725
405
290
508
882
647
667
661
175
204
921
272
76
845
195
552
739
491
912
952
229
120
345
540
528
287
662
264
873
442
510
323
730
629
69
496
905
201
219
26
880
911
195
587
412
105
590
936
891
784
107
69
689
954
805
106
1
80
880
665
235
385
210
190
81
463
8
539
779
919
901
179
960
763
703
478
650
882
925
916
715
199
830
532
20
53
440
541
83
957
453
866
842
89
463
265
428
819
241
858
521
100
57
105
942
804
225
705
624
911
82
488
3
31
625
54
174
886
860
861
858
257
762
441
340
359
381
701
76
798
272
537
561
36
904
578
422
795
123
491
409
920
69
146
104
19
159
874
754
621
882
239
541
693
185
4
9
104
191
429
107
12
798
662
521
232
511
718
499
342
480
484
414
665
312
253
676
290
678
525
412
971
136
192
536
111
858
787
471
1000
155
143
753
149
783
719
247
882
32
794
457
278
487
962
720
219
200
649
681
548
698
856
503
293
921
1
745
490
686
478
664
398
738
546
18
792
787
238
84
594
188
268
707
293
81
294
675
502
881
518
630
519
964
305
993
937
312
390
129
199
608
304
55
487
29
833
547
483
539
693
402
360
998
107
962
812
832
644
730
75
301
503
86
643
647
415
607
843
517
452
516
502
109
359
103
707
408
435
753
47
761
641
382
782
759
327
680
127
79
934
534
171
502
70
405
18
790
607
232
393
482
827
661
312
983
191
980
406
466
7
186
150
247
123
34
545
279
797
743
774
323
48
271
981
167
120
735
588
15
202
576
508
747
129
560
198
345
636
533
752
172
663
155
125
183
305
486
140
360
294
395
166
859
291
254
193
409
857
264
589
470
688
65
993
556
619
999
637
892
897
500
899
295
472
603
36
728
377
504
841
524
798
424
472
668
100
765
776
818
898
719
241
28
243
2
143
208
138
377
521
422
881
978
392
72
194
223
993
833
698
275
923
2
51
598
747
551
996
144
17
756
641
107
689
740
504
965
585
669
278
753
912
589
778
137
830
124
268
838
725
321
190
433
141
957
354
349
308
520
798
132
806
898
877
718
196
532
590
463
380
425
811
165
43
920
898
186
779
630
53
17
390
212
984
339
449
974
620
708
371
433
77
461
175
29
656
369
586
159
368
840
370
589
368
184
580
77
751
591
931
741
316
948
651
294
317
608
978
784
678
491
926
883
867
695
80
86
399
902
937
401
979
427
780
258
363
727
121
369
383
536
517
253
975
564
984
953
673
887
256
252
820
729
867
337
619
321
440
452
265
930
520
517
604
945
62
120
167
114
951
515
956
645
965
522
82
909
256
245
187
885
684
602
607
357
374
521
414
88
422
500
761
837
995
943
488
161
996
308
543
378
51
659
582
943
817
638
69
767
530
223
280
650
259
903
920
148
542
58
418
602
979
389
612
22
852
242
207
787
38
509
315
826
349
627
407
74
882
839
230
526
145
512
564
100
547
801
259
896
259
358
589
161
634
105
871
397
103
305
192
638
920
321
298
847
229
447
943
765
654
182
466
309
25
132
982
795
907
495
298
851
338
756
639
851
516
756
284
133
226
803
496
30
497
856
476
974
279
105
651
545
971
463
275
337
246
576
202
973
965
974
685
403
900
895
236
885
647
117
906
661
355
883
818
438
846
598
424
191
303
562
774
708
923
384
984
560
861
135
270
822
337
497
95
20
994
368
469
192
479
423
964
915
724
120
770
399
617
513
992
491
574
15
421
530
20
974
247
520
960
471
498
13
604
322
532
427
489
604
551
261
679
412
969
830
359
722
403
662
627
399
224
692
334
411
899
734
595
254
776
483
990
445
613
476
533
691
877
45
195
8
778
229
164
621
86
90
20
970
968
594
712
497
541
491
556
207
297
208
471
162
339
800
323
188
152
428
553
59
694
674
246
344
740
224
390
929
742
124
395
929
949
832
825
348
163
773
944
386
317
967
870
717
992
539
71
432
107
652
479
575
281
428
731
377
773
955
887
351
495
355
539
390
321
187
384
895
790
177
192
716
359
372
576
439
571
353
157
80
821
27
482
819
971
919
572
761
672
551
43
80
145
694
570
75
81
798
872
842
525
896
483
269
853
597
342
21
431
598
630
35
134
301
318
773
682
691
655
171
650
657
142
785
100
290
611
86
11
535
685
264
54
747
249
174
844
338
555
243
438
714
232
273
778
127
797
63
724
907
210
698
540
767
652
152
991
524
978
603
702
650
228
457
71
472
176
640
820
789
146
144
202
839
218
166
20
335
508
434
843
281
438
481
259
822
757
678
533
262
629
838
824
683
268
48
954
303
453
212
802
847
750
442
574
684
419
65
562
463
795
485
531
263
397
599
512
47
147
718
643
343
851
232
648
614
530
351
693
768
284
284
671
588
119
199
377
658
565
115
686
535
977
648
571
474
124
206
752
44
50
772
802
334
205
908
812
270
546
974
67
753
639
866
753
974
781
744
403
235
846
339
644
90
823
419
845
393
22
917
389
130
523
38
670
524
718
367
347
971
755
674
70
811
259
592
655
825
954
839
646
579
735
957
310
458
277
842
378
287
487
453
246
931
985
199
950
171
325
443
943
438
850
464
588
720
914
987
343
33
705
100
797
416
54
966
74
292
432
241
648
399
786
520
265
220
2
471
503
997
561
501
473
950
376
972
326
295
903
974
478
26
360
665
978
154
287
962
983
341
749
196
132
379
189
951
472
10
328
893
710
942
505
887
761
737
580
42
984
447
811
644
999
485
169
112
734
259
155
213
142
485
535
781
109
974
350
93
177
892
185
875
90
151
972
626
605
644
511
595
685
489
517
262
955
312
214
632
272
873
426
993
359
8
667
42
715
959
933
448
439
631
805
991
161
231
952
379
43
28
366
735
650
702
444
532
588
843
570
441
950
688
988
146
35
128
562
727
240
320
498
553
767
1
211
20
556
741
308
634
878
913
90
102
128
140
67
114
666
313
719
455
17
68
162
921
317
776
404
272
683
692
623
125
84
879
256
244
386
942
713
166
449
394
223
484
568
690
665
378
69
577
208
207
601
420
273
40
489
624
616
29
551
44
291
446
932
586
911
988
855
795
847
728
647
289
2
667
49
383
331
424
616
68
561
16
947
820
466
26
618
363
584
748
915
608
517
999
931
476
794
419
125
205
836
8
188
44
706
548
957
952
220
344
154
22
442
404
912
879
772
781
450
231
631
309
707
71
225
359
487
778
966
584
429
521
946
825
135
885
256
486
911
644
61
730
887
935
64
768
698
868
426
406
555
792
240
703
275
3
384
328
749
688
958
708
436
282
525
581
665
220
66
913
938
275
907
440
961
284
850
298
842
93
438
279
726
965
528
265
184
547
383
325
818
705
63
738
864
212
195
963
94
297
138
184
902
547
140
611
297
494
347
145
460
511
404
380
617
300
968
151
268
350
662
20
204
230
870
134
346
472
296
888
144
102
410
693
181
599
729
922
673
148
382
840
732
608
578
867
647
507
367
77
928
747
595
228
536
399
51
915
544
151
577
709
463
515
361
219
592
822
732
105
56
458
480
965
641
516
189
898
139
239
84
292
692
201
614
38
518
177
395
954
511
20
136
661
399
715
853
541
569
919
53
708
189
978
517
68
965
389
7
710
719
111
509
815
6
981
593
210
138
699
97
520
310
521
618
563
18
828
232
290
589
210
445
107
421
574
639
836
516
24
159
943
961
989
782
915
298
100
479
806
126
863
291
72
871
22
652
768
375
835
676
55
849
197
766
773
788
632
418
512
625
732
201
214
281
508
771
843
267
498
169
79
660
166
841
304
114
308
549
365
34
726
795
742
195
369
484
778
352
533
265
565
887
459
432
943
84
859
290
812
446
480
638
614
329
796
371
438
306
331
237
624
841
898
481
180
293
265
430
564
778
362
92
607
146
162
460
429
160
812
578
228
995
396
327
712
334
977
556
769
678
207
461
702
940
813
1000
975
62
780
807
952
171
875
219
563
738
429
24
172
328
997
22
176
759
577
762
29
953
556
656
458
291
463
219
590
47
900
350
620
348
730
439
405
156
720
542
92
977
348
57
454
331
430
126
144
567
523
443
463
244
843
301
576
148
532
458
314
971
707
851
847
850
655
282
541
215
895
937
251
894
636
7
158
984
293
740
12
783
333
970
295
6
705
531
400
557
503
18
384
382
309
1000
239
298
884
174
898
265
469
926
420
231
3
400
848
567
962
531
279
109
391
421
570
984
905
78
952
750
117
819
498
832
953
564
81
880
841
844
942
494
548
587
466
673
782
663
91
474
286
708
544
638
301
988
743
330
694
904
799
742
13
307
487
26
970
936
471
918
607
163
334
446
487
713
164
344
793
185
33
102
115
993
240
152
73
848
560
310
650
988
94
448
228
148
519
345
922
726
673
794
727
650
442
349
360
226
866
543
474
640
225
5
74
846
615
679
555
303
198
262
769
360
867
49
938
164
547
612
10
613
725
129
274
230
100
700
671
837
421
732
243
552
699
282
601
943
963
289
119
151
655
803
808
388
575
600
463
534
11
115
722
446
296
208
152
236
626
102
327
957
341
781
130
111
291
227
215
891
103
151
593
321
382
288
874
316
893
902
509
228
786
878
743
589
791
657
663
662
81
340
845
857
223
448
643
244
215
224
50
209
115
830
452
751
179
518
266
48
755
612
666
707
386
178
103
519
708
370
309
672
782
719
827
81
414
128
889
928
895
889
635
548
318
843
245
519
323
698
563
183
653
605
154
858
409
323
581
679
246
687
859
354
68
647
668
108
937
835
952
761
30
471
914
166
502
458
284
223
964
645
968
305
180
596
823
193
241
663
362
574
158
817
652
721
309
465
526
259
650
445
511
778
930
493
535
650
412
748
577
608
759
246
899
514
819
995
399
287
6
867
936
117
861
520
161
972
169
531
537
863
675
184
711
518
83
651
371
893
476
888
15
449
759
165
827
219
994
28
979
472
763
443
252
234
790
29
802
992
120
556
280
664
61
367
288
341
983
954
299
313
788
714
801
682
547
803
368
168
359
98
780
780
960
505
126
708
7
229
990
108
206
182
495
486
703
390
940
997
207
128
233
331
340
520
143
779
629
503
626
735
343
400
137
133
134
796
886
276
53
85
454
97
51
820
46
140
513
965
949
444
736
253
396
92
502
108
178
381
67
13
779
460
946
787
746
788
856
961
285
983
61
317
791
436
129
728
138
589
839
611
52
911
535
664
854
438
755
96
168
179
370
187
927
831
781
881
166
29
940
61
644
779
104
325
282
811
268
350
785
355
133
395
565
219
376
94
289
137
671
464
926
42
629
951
175
322
368
439
564
107
883
349
265
362
812
370
945
868
419
893
520
186
868
919
754
351
911
71
33
348
145
358
502
397
909
505
979
679
678
969
710
435
575
289
78
286
217
997
848
223
668
164
369
961
712
560
458
261
1
561
342
351
878
144
123
858
880
781
735
456
928
590
227
31
242
826
547
302
868
716
670
710
495
650
59
855
943
961
959
949
288
868
924
520
105
704
371
110
712
157
620
802
623
150
89
207
650
905
822
961
185
922
505
893
292
856
490
749
117
765
105
777
25
775
722
545
581
994
620
33
207
408
683
494
853
589
363
513
552
247
143
460
63
80
929
818
120
881
444
889
992
612
684
34
143
941
938
904
808
841
722
87
191
917
185
226
835
553
211
930
394
363
493
741
732
144
303
14
727
258
561
801
691
370
44
753
586
548
312
592
518
998
940
939
149
135
193
147
704
258
135
314
258
827
502
843
860
240
339
755
807
30
542
452
126
633
964
783
877
195
651
90
406
445
133
344
112
286
415
643
563
606
474
84
68
799
601
496
914
589
900
561
514
91
626
655
663
451
781
101
950
42
610
589
111
938
190
273
798
324
297
372
773
547
152
168
35
791
421
971
762
685
72
950
226
761
301
739
44
327
755
382
222
209
714
466
444
816
714
297
997
146
359
558
499
695
675
194
363
691
454
182
530
722
463
449
554
625
268
453
554
452
698
818
919
420
641
6
875
46
961
211
208
45
789
518
500
191
375
932
194
33
948
28
713
269
768
846
609
613
661
131
439
195
840
182
651
899
751
377
260
533
17
920
532
421
282
454
179
816
912
987
812
515
65
999
524
201
577
694
512
334
510
102
580
844
956
146
237
511
861
850
824
663
240
566
801
738
132
488
871
361
19
743
90
772
286
20
508
869
434
67
158
658
457
350
406
592
735
852
781
167
274
278
393
112
941
905
974
732
572
945
392
235
498
551
194
397
58
550
393
535
149
564
227
551
724
427
65
781
404
724
996
458
61
815
875
893
316
943
770
867
365
894
829
330
467
176
529
209
703
932
200
41
355
565
450
156
326
614
845
385
598
539
780
561
584
891
991
662
637
812
558
49
646
929
586
140
858
487
941
776
571
991
595
740
318
735
117
127
539
331
840
755
483
744
42
378
278
439
257
264
681
899
492
577
10
212
677
120
167
400
170
183
439
883
501
673
998
781
844
212
613
798
871
605
130
22
774
933
678
363
216
540
417
228
902
355
855
750
273
303
444
71
544
54
169
192
951
994
358
454
582
85
742
947
653
253
133
111
380
18
697
265
917
377
940
92
928
349
974
940
489
163
546
335
936
824
608
283
194
647
921
803
885
431
278
585
216
109
487
870
251
89
156
419
649
9
658
926
411
294
392
350
435
731
632
403
959
256
744
894
55
294
585
685
416
277
193
800
574
414
702
596
585
411
561
992
923
570
720
444
30
656
461
755
509
957
911
804
418
215
108
990
537
491
677
515
714
576
801
627
641
231
183
595
470
452
129
521
699
893
709
16
689
834
197
427
935
326
638
572
12
685
425
860
680
114
265
275
207
39
720
956
404
683
847
993
202
531
72
634
874
567
569
295
153
622
874
665
564
721
360
695
281
43
523
464
667
37
718
763
472
221
90
696
337
443
997
811
865
713
120
25
7
233
797
104
939
918
863
590
915
538
416
803
809
578
482
36
182
59
517
103
750
850
36
184
76
470
444
276
156
953
303
676
306
140
870
559
452
677
724
171
467
51
683
113
672
261
36
926
12
77
308
501
706
413
387
846
333
5
879
392
456
492
976
333
853
944
935
451
374
124
544
518
209
24
571
620
138
764
233
705
908
520
221
242
446
986
638
109
67
804
495
755
158
504
101
228
94
762
741
879
298
209
533
417
425
578
272
539
622
736
329
510
690
18
422
955
776
321
171
564
903
630
857
622
246
990
772
53
562
472
824
124
620
319
860
114
747
302
259
999
879
317
950
645
602
335
927
111
715
177
716
372
801
990
30
230
111
923
995
185
864
266
944
785
675
229
745
352
442
622
27
984
459
913
491
427
920
540
657
778
260
901
69
930
972
130
942
359
636
647
715
155
911
449
765
154
125
317
801
660
961
410
98
525
406
215
768
284
810
440
755
631
398
263
59
780
53
267
17
153
515
518
99
379
397
496
793
850
595
18
626
884
729
852
260
146
209
469
926
110
430
252
137
202
365
542
760
771
521
83
36
184
830
801
55
126
533
349
560
695
563
534
640
977
191
560
72
551
998
996
587
856
289
530
307
386
163
851
962
470
363
462
267
776
875
817
22
741
31
970
58
847
497
790
178
34
108
937
604
570
2
965
258
383
855
346
417
198
324
730
881
820
995
480
835
564
234
338
987
125
329
144
422
178
241
644
831
578
94
793
438
349
242
412
980
558
410
711
571
775
916
970
130
58
433
645
341
316
105
231
772
451
76
531
869
903
657
345
37
96
418
207
916
795
483
510
237
606
154
256
392
632
812
703
932
868
708
385
740
1
873
354
559
142
865
964
878
465
506
238
921
825
44
640
632
268
439
89
101
705
567
158
826
169
201
728
587
799
539
789
455
104
937
704
665
96
212
6
627
657
593
725
386
790
925
305
186
522
214
409
644
838
8
315
204
421
347
103
186
923
250
594
759
195
788
808
577
155
788
748
678
10
150
475
453
88
546
774
175
895
12
180
587
889
581
774
551
68
609
969
580
746
938
426
387
745
327
374
226
832
900
862
909
416
475
874
856
423
722
848
444
759
81
827
203
992
230
407
145
687
697
639
592
368
893
287
415
196
448
181
515
282
224
903
701
12
818
743
876
895
637
667
580
205
914
21
470
132
107
841
328
257
188
927
486
898
269
298
382
275
858
228
100
530
786
860
371
310
523
288
438
37
141
79
662
987
701
439
478
989
170
628
565
916
287
736
683
112
997
685
655
564
154
128
417
940
192
959
859
573
411
314
447
97
293
248
256
719
29
792
78
44
43
679
753
963
841
885
721
365
963
20
60
314
149
755
958
941
110
715
659
450
421
677
384
576
155
526
664
310
829
90
787
918
122
937
779
115
603
197
480
751
417
709
749
519
445
139
805
1
3
229
6
852
496
999
140
15
837
558
419
662
582
166
943
979
931
304
335
10
741
829
640
518
649
731
323
225
262
609
401
849
108
748
310
84
721
619
114
32
788
656
33
612
762
448
106
187
729
818
972
964
603
856
402
724
907
631
204
104
507
192
584
949
670
460
842
224
711
806
549
604
344
406
994
119
544
973
711
192
367
80
412
974
730
105
449
151
561
755
258
268
105
257
865
225
421
547
664
753
247
214
126
608
519
535
12
715
747
665
973
685
392
932
106
976
118
236
168
465
529
739
666
338
574
411
952
34
314
491
821
434
169
594
801
604
49
25
520
189
40
850
41
993
407
381
46
344
731
77
110
630
941
251
46
759
843
642
533
389
502
620
766
445
505
746
899
872
687
479
417
536
388
29
398
934
673
777
824
652
262
204
707
564
60
981
826
372
338
720
301
432
572
912
55
755
868
732
454
698
748
731
64
144
753
899
517
907
971
241
940
674
149
780
243
55
449
877
866
224
299
837
235
160
22
49
274
756
86
332
800
912
901
714
536
240
48
622
764
248
704
339
362
638
836
629
62
921
393
635
329
645
357
504
127
396
997
716
225
143
94
753
409
670
213
574
116
582
331
346
552
825
253
13
336
738
283
578
40
417
566
439
805
556
362
699
360
15
271
153
364
42
72
585
989
495
443
32
43
400
261
976
742
888
589
753
447
880
734
35
296
902
949
953
679
44
456
258
936
417
473
959
480
393
830
11
815
558
588
1000
506
588
793
194
296
166
123
27
926
693
726
822
163
747
3
553
760
172
398
528
756
248
574
140
637
576
447
265
327
221
675
445
898
148
134
730
185
217
816
957
211
781
353
261
400
496
81
824
144
54
139
251
147
377
614
414
351
296
159
339
971
814
805
503
304
884
938
881
539
27
536
245
756
228
778
502
658
280
105
296
346
167
648
723
640
120
688
761
28
708
498
940
284
680
447
844
256
339
757
284
47
859
660
350
92
356
995
114
198
473
479
431
663
920
988
177
2
709
173
227
649
797
675
701
241
456
982
285
726
991
745
934
619
347
937
915
135
724
845
908
855
608
261
867
803
472
640
437
507
21
214
972
706
14
223
637
840
609
500
654
375
698
604
458
280
852
589
445
744
391
274
28
254
535
579
903
753
800
78
812
471
549
450
575
380
147
883
853
951
227
837
907
46
384
787
629
331
56
670
231
536
411
851
281
276
836
304
240
902
13
595
236
28
624
1
585
986
460
739
503
396
48
876
489
516
986
945
146
745
810
671
529
940
596
525
719
776
479
965
973
414
922
377
672
158
894
694
322
646
64
610
996
301
751
87
951
493
644
630
644
827
235
379
986
509
519
643
475
545
738
922
823
849
859
829
750
966
40
551
929
232
554
685
457
678
493
322
811
858
147
247
974
115
70
981
316
479
766
207
842
527
348
781
635
37
741
153
668
208
759
514
673
549
884
411
433
271
690
859
672
167
620
246
717
530
271
420
229
581
442
393
609
288
917
65
111
196
389
166
334
73
977
430
500
767
501
631
852
644
59
696
584
397
471
584
956
785
858
4
606
95
929
310
644
726
589
133
801
309
94
383
763
210
333
282
833
106
723
973
228
523
898
94
658
940
581
414
300
33
15
261
926
167
888
12
725
44
953
347
344
742
438
337
723
5
893
669
625
773
366
484
124
388
628
373
931
854
747
43
149
775
438
47
941
360
513
763
625
958
209
495
954
118
357
157
628
109
134
540
661
144
628
522
856
312
577
955
481
360
376
128
219
9
936
897
606
473
38
549
444
170
571
455
164
441
462
392
688
221
156
172
111
202
220
892
454
52
14
655
789
585
422
128
310
638
274
639
256
592
491
839
191
77
934
119
809
464
602
85
298
108
167
406
329
217
739
231
867
391
438
230
358
563
585
3
328
118
277
246
29
404
701
601
621
745
784
556
270
312
687
103
691
892
197
124
907
683
305
652
422
726
112
171
570
482
751
167
553
366
179
942
545
758
548
561
313
117
360
438
963
358
751
704
827
573
79
983
975
504
437
624
535
914
851
745
807
177
683
684
163
911
216
563
834
471
473
719
5
482
61
701
76
339
270
370
544
810
667
395
756
424
186
116
664
357
57
290
811
883
962
721
2
296
480
156
509
388
229
108
179
192
114
473
559
734
733
880
947
946
315
760
362
719
510
982
520
347
6
761
300
226
186
247
603
736
15
842
197
694
889
812
891
626
477
233
363
382
455
632
62
290
596
947
853
122
909
598
526
655
382
521
832
476
406
986
454
16
167
922
214
472
98
223
855
407
7
239
934
355
645
221
723
643
277
24
532
17
302
752
522
371
66
387
921
39
819
611
523
648
182
227
490
511
582
557
777
867
868
192
942
81
725
266
723
78
545
240
502
868
157
779
724
999
170
923
397
206
714
201
27
272
54
732
750
371
897
617
937
763
193
154
281
715
899
480
208
967
476
260
464
902
872
952
934
792
326
984
23
154
661
938
452
310
625
410
935
685
440
803
22
244
994
721
303
762
964
999
321
258
764
641
771
51
404
115
996
346
216
511
362
184
956
57
823
872
932
337
885
724
699
377
211
65
324
439
306
949
386
957
100
8
691
566
729
128
149
575
505
440
367
573
885
227
310
46
227
904
807
47
261
206
760
975
503
52
688
475
276
346
609
311
623
157
351
825
149
268
73
238
764
130
178
662
340
586
795
99
580
596
726
145
723
353
63
370
306
821
704
532
877
739
629
915
401
556
125
48
149
610
91
998
991
85
213
238
365
936
34
811
651
34
906
157
358
203
405
485
267
744
15
24
687
252
808
845
26
250
403
185
203
230
695
372
782
178
735
520
350
569
644
133
330
101
654
638
356
168
195
654
355
160
449
489
689
219
942
976
68
2
560
236
447
329
838
389
813
333
490
533
557
890
929
571
150
633
967
531
937
845
961
136
193
844
431
261
11
305
577
807
215
72
177
237
230
665
60
728
801
608
745
402
478
167
821
635
56
824
379
770
526
75
101
877
643
726
642
390
914
880
580
534
673
247
515
487
912
237
871
108
712
542
575
893
452
529
75
540
427
872
61
139
184
251
892
526
641
850
933
808
33
641
954
378
813
117
242
29
920
225
377
920
219
740
399
209
530
207
708
156
346
892
169
376
279
881
742
692
273
594
487
750
862
481
903
158
60
605
402
387
47
166
165
120
409
720
762
33
588
38
694
208
120
61
442
534
417
394
697
460
116
137
224
422
499
615
156
118
46
747
641
542
6
396
428
365
741
1000
377
824
691
208
905
726
51
27
50
580
617
202
195
153
816
172
469
920
631
950
527
1
998
716
681
165
230
730
348
398
256
438
408
359
709
250
303
747
457
559
698
260
740
8
68
348
920
870
859
401
777
707
738
374
391
102
41
99
926
400
726
690
32
827
8
527
180
291
386
263
941
453
966
199
162
367
804
133
966
104
507
497
772
293
482
204
838
443
15
92
371
236
859
327
896
731
100
373
422
549
873
422
914
681
914
259
704
495
43
621
808
905
411
991
510
426
745
682
238
1000
892
774
472
104
671
143
377
579
421
394
904
82
656
978
361
800
930
149
807
327
339
718
203
185
114
727
935
501
369
300
172
787
431
893
563
587
96
114
918
6
801
80
853
782
983
992
868
601
825
275
959
830
163
128
645
697
619
790
275
218
871
177
544
848
585
793
455
923
705
993
333
442
704
709
120
624
909
781
887
14
185
853
372
559
154
623
444
258
547
915
534
452
513
628
485
787
473
149
744
189
584
195
513
951
13
392
299
162
979
120
258
261
970
261
911
469
630
549
63
207
550
160
235
374
615
998
490
545
605
945
354
731
468
939
389
329
63
365
86
277
180
690
982
259
360
647
264
972
338
595
700
126
970
826
400
823
125
731
817
429
356
707
349
857
121
634
132
437
931
536
893
174
127
778
237
274
855
785
379
251
463
798
118
805
753
625
800
931
436
696
134
390
690
984
975
763
959
517
620
796
971
276
718
628
507
232
653
825
623
184
131
815
877
815
733
457
607
98
435
992
452
766
412
552
129
81
970
724
939
540
139
426
600
462
252
482
773
653
830
835
100
439
253
311
651
429
942
182
416
285
281
585
909
637
73
989
984
39
109
524
684
507
346
939
332
777
248
394
82
854
109
37
839
843
515
582
805
313
711
688
898
643
272
947
938
910
381
755
823
865
10
143
862
464
471
879
69
246
136
835
495
553
591
624
605
241
146
980
315
44
404
251
520
217
546
592
885
411
94
160
198
17
184
691
820
335
782
309
632
35
882
334
410
328
412
156
727
135
515
920
366
366
868
935
656
55
929
188
378
768
354
301
615
133
338
595
458
810
289
658
551
495
106
976
262
813
258
711
697
44
55
695
858
699
765
56
999
882
677
676
643
236
835
839
762
13
925
27
366
483
703
809
98
454
449
150
463
155
139
290
16
108
440
532
163
908
156
897
223
16
465
641
74
774
138
26
978
850
948
597
197
239
642
438
575
760
180
543
592
704
408
468
294
943
12
903
126
309
332
676
894
536
625
936
47
366
436
986
982
712
9
280
303
894
93
608
852
79
66
393
840
974
34
298
600
751
462
86
322
936
901
761
627
703
638
555
991
602
372
242
842
274
614
606
609
79
116
608
147
936
484
979
702
835
118
467
57
676
747
970
562
54
117
135
507
628
869
752
704
498
200
494
199
799
722
91
747
381
805
44
69
7
788
374
919
968
668
695
695
407
277
120
644
917
465
111
737
193
560
415
917
573
185
647
745
367
548
925
436
727
494
180
901
669
917
437
672
563
616
393
546
37
336
84
362
787
492
303
562
215
68
689
119
175
245
91
942
362
613
903
109
26
216
529
135
788
267
65
19
269
92
562
996
172
760
951
759
193
895
834
420
870
355
845
615
55
851
228
996
197
50
612
794
56
411
695
259
766
800
687
594
396
940
948
379
280
865
163
633
441
846
809
359
361
723
406
851
195
165
250
85
301
152
865
245
596
883
459
797
835
409
11
547
364
494
448
832
306
621
575
290
385
583
24
697
833
810
516
978
878
445
168
826
346
175
384
323
823
11
127
588
598
535
22
735
403
593
758
387
522
82
763
549
432
238
939
931
548
826
563
671
17
682
93
5
733
387
738
621
941
201
116
327
827
27
229
165
503
857
280
323
638
59
581
999
807
923
889
900
299
40
51
193
730
502
756
545
318
377
523
349
74
602
795
351
505
262
162
688
616
201
275
767
153
53
978
503
66
60
551
196
80
522
723
716
166
305
297
736
398
598
801
462
404
57
577
673
120
501
120
938
103
613
266
537
970
423
51
953
861
966
659
826
9
135
932
887
575
668
287
702
941
176
783
37
553
314
261
269
208
513
165
530
439
167
691
245
242
821
356
271
949
686
973
120
491
766
262
646
640
984
5
128
66
955
761
910
227
486
619
616
148
432
374
495
158
301
805
644
487
863
469
672
454
75
492
897
639
823
405
292
48
361
971
234
778
807
297
548
101
755
243
474
207
872
329
979
55
329
836
227
940
60
795
162
387
132
917
870
947
972
275
802
317
767
723
999
943
174
653
183
958
332
628
928
833
297
874
182
640
222
388
74
161
990
627
293
398
583
376
312
202
124
388
396
869
426
843
632
528
879
481
194
72
665
519
668
196
627
101
550
830
616
91
955
891
731
457
175
798
713
379
968
658
677
479
358
359
460
237
296
76
173
753
729
854
897
499
529
988
110
605
221
909
96
509
673
158
531
532
720
817
450
41
208
454
4
377
101
246
790
663
86
439
34
945
596
732
574
832
275
462
429
979
711
720
704
290
667
634
741
670
158
117
698
547
450
282
193
124
484
621
276
510
248
761
726
477
381
293
604
550
637
728
73
560
864
119
718
570
859
242
986
311
783
555
917
864
812
305
35
351
381
281
119
826
653
708
596
392
840
668
460
798
600
297
946
425
38
676
670
627
752
12
596
836
963
197
963
711
25
328
265
895
495
56
498
594
523
949
125
294
517
173
647
422
934
872
235
643
552
623
614
786
779
186
282
117
393
581
164
771
597
218
50
678
432
380
474
266
403
890
234
531
633
193
401
812
986
398
521
766
374
55
652
566
902
576
60
336
601
224
655
163
223
568
727
822
12
120
131
535
385
652
831
629
211
323
654
990
713
349
148
579
67
380
699
92
463
172
431
38
701
395
963
149
444
622
796
24
838
652
970
367
581
304
616
979
459
755
236
954
969
279
830
100
982
20
506
741
276
995
808
440
400
116
839
108
561
439
157
182
115
181
559
277
849
347
132
769
396
911
337
265
41
609
523
820
695
361
930
49
983
205
188
997
252
436
340
747
792
314
597
258
717
322
427
861
764
441
64
170
736
339
216
893
435
676
534
207
705
951
455
865
648
457
85
206
161
933
163
568
690
449
535
408
503
922
205
571
840
388
798
770
14
844
153
303
911
23
887
449
373
954
963
752
607
511
702
667
139
486
227
586
796
869
4
354
886
136
29
744
11
366
213
258
969
878
665
798
773
949
938
451
118
847
753
641
569
81
362
393
311
281
508
291
559
589
897
998
648
751
181
881
346
406
741
362
174
179
957
111
400
296
237
85
854
373
814
734
960
949
179
370
165
78
119
866
487
40
453
304
11
764
983
174
27
127
663
28
913
655
634
241
37
495
646
687
688
738
340
658
523
317
991
365
64
721
647
653
566
731
995
414
951
203
949
288
574
717
667
858
313
528
659
551
826
865
699
797
858
63
507
871
171
415
533
987
995
902
731
867
921
172
922
22
767
208
171
382
314
163
641
797
723
713
558
103
98
149
219
167
929
85
492
309
79
358
863
995
576
173
900
566
719
40
949
995
898
351
974
398
109
732
734
59
344
465
881
250
903
314
182
1
231
106
739
294
38
249
42
862
313
209
652
861
341
602
590
246
991
212
807
577
329
706
651
323
111
258
911
481
800
592
829
451
556
191
486
687
51
542
61
577
100
322
791
387
786
379
906
858
218
207
386
248
72
359
209
159
819
930
616
504
895
774
35
370
97
625
530
289
182
641
11
711
978
221
6
14
334
69
486
451
843
660
95
851
641
191
136
714
506
66
863
596
121
757
917
304
644
604
251
497
654
762
520
725
141
26
706
819
458
714
695
809
39
132
627
214
268
409
123
650
81
638
876
184
779
333
705
742
22
194
881
206
199
37
420
526
184
533
103
296
982
119
153
750
957
991
884
86
85
660
129
326
207
891
938
695
323
237
849
611
786
526
24
962
658
869
681
284
615
723
545
824
498
521
484
248
42
242
117
913
351
7
928
234
425
484
357
642
395
438
391
25
162
245
430
366
824
544
584
482
608
525
99
384
22
509
299
804
600
600
325
863
921
169
914
680
540
871
668
964
112
687
572
279
242
216
10
726
547
81
149
235
6
832
382
522
906
193
437
71
619
814
902
112
975
993
152
724
248
948
92
619
604
307
701
100
424
469
110
965
79
340
811
842
576
761
649
569
1
619
455
724
829
244
527
364
988
194
680
359
15
931
247
425
794
237
267
143
104
401
33
766
673
384
348
602
517
167
120
103
67
445
366
582
29
689
316
636
954
330
58
951
210
503
104
150
444
329
307
735
620
226
805
983
434
77
55
866
212
403
567
665
433
852
632
981
646
453
212
281
861
38
175
919
482
194
195
852
431
890
14
875
446
676
198
290
415
947
175
356
233
336
146
728
911
721
395
396
556
683
635
270
415
513
296
673
390
22
69
471
289
476
605
481
627
951
2
88
964
288
572
716
597
609
479
911
955
44
976
312
152
931
374
720
9
238
367
795
284
382
5
669
994
935
437
886
483
917
542
652
330
520
661
325
272
152
989
442
71
600
608
347
660
991
734
669
955
969
565
478
438
181
965
923
1000
705
368
587
539
559
453
542
502
792
581
359
928
947
482
880
483
869
426
623
709
964
932
109
948
966
98
206
421
228
806
863
526
352
370
238
726
681
696
251
316
844
625
97
944
37
977
74
36
203
709
391
141
593
741
262
798
471
262
691
737
870
734
863
88
367
400
902
823
854
829
111
797
105
915
480
666
795
796
384
368
245
368
900
90
828
388
106
399
443
738
60
697
879
16
885
292
213
507
545
142
617
533
443
764
58
329
926
907
431
890
145
309
598
681
518
288
661
696
158
953
539
146
283
555
593
935
564
864
612
200
783
479
930
375
966
671
840
678
382
703
754
427
383
553
742
291
110
640
193
484
500
444
341
845
865
883
300
1000
558
940
95
61
881
303
870
833
444
714
103
135
641
320
192
620
778
561
206
438
653
39
965
207
56
365
845
988
774
204
880
403
127
598
794
610
998
195
584
566
593
173
118
907
895
509
47
815
886
728
985
449
112
431
531
857
122
685
188
819
630
870
686
725
985
651
484
419
687
548
488
934
234
15
130
165
550
6
10
822
599
791
210
481
563
136
280
104
145
77
627
230
139
194
690
900
384
676
880
476
638
502
717
768
697
738
970
219
283
294
928
498
863
490
64
507
560
414
519
694
749
393
777
559
775
827
864
416
455
304
180
800
678
140
826
390
470
475
905
949
349
602
809
579
645
480
957
558
765
283
790
96
16
383
86
643
718
391
820
777
803
754
855
303
17
929
741
887
110
340
749
475
147
162
92
763
147
492
938
208
812
584
450
393
12
673
571
119
35
356
699
212
345
623
702
909
746
416
957
627
388
25
216
89
24
716
154
47
272
746
369
317
434
301
495
431
567
985
797
978
118
172
307
629
400
917
128
912
582
164
989
32
698
652
530
431
336
268
75
305
341
607
841
21
832
127
636
214
300
614
110
364
367
648
503
826
32
340
699
595
869
950
73
598
707
868
279
913
760
89
655
122
59
503
344
965
303
282
621
547
904
149
116
628
123
582
838
948
638
832
936
93
820
205
116
166
262
199
521
399
849
973
666
881
728
80
688
802
102
581
815
936
667
449
416
628
856
641
441
196
794
350
354
506
17
705
895
442
540
641
144
129
847
742
378
90
716
616
169
922
575
750
21
730
256
863
584
281
596
490
156
782
340
909
757
266
160
519
509
767
452
516
467
899
744
1
309
969
172
684
486
449
524
994
558
518
740
707
401
366
621
174
934
144
722
864
786
748
58
193
77
138
298
566
102
484
587
141
247
283
989
57
918
476
829
815
584
773
874
988
334
576
389
746
464
393
588
451
708
135
883
199
691
478
668
304
56
318
42
596
510
422
26
878
733
557
325
76
673
749
622
375
271
817
724
146
67
32
621
568
463
536
663
625
614
160
596
612
90
418
198
347
454
738
567
62
865
444
921
326
640
627
940
423
498
762
248
335
832
907
637
815
958
344
29
118
731
772
965
587
325
564
634
677
245
125
41
964
828
78
971
357
615
908
802
49
934
652
71
669
999
419
920
778
606
855
213
75
248
139
160
645
99
723
723
177
862
853
987
285
888
824
897
32
369
62
476
253
611
350
719
536
604
978
816
567
128
132
298
86
644
598
966
865
71
726
191
997
366
651
269
239
479
970
62
345
888
421
58
93
406
639
324
227
362
715
574
600
592
115
708
630
871
512
731
591
580
196
932
356
411
41
542
959
874
453
893
739
202
322
245
909
21
775
54
76
806
438
435
639
705
992
962
9
803
46
761
275
249
724
63
294
6
919
970
158
105
861
250
678
455
511
366
795
216
292
802
831
673
839
975
79
364
806
667
549
936
184
977
585
847
298
235
676
528
389
187
45
127
663
48
459
234
780
659
325
291
47
118
289
547
956
694
482
441
326
768
39
342
999
818
743
386
973
191
451
986
847
519
482
245
702
134
284
141
865
802
523
816
529
392
175
739
876
856
362
835
156
42
421
862
179
392
133
487
808
580
153
530
313
444
396
774
936
403
575
623
594
688
91
610
408
293
269
431
696
585
225
762
101
846
737
563
791
885
143
981
33
12
654
219
12
312
442
964
423
176
539
43
279
455
880
980
334
451
792
61
731
197
852
298
785
116
317
437
303
208
267
767
482
368
177
30
212
308
910
169
564
814
990
4
365
763
613
194
992
390
29
960
969
801
834
175
507
613
226
345
859
903
453
917
268
362
544
122
302
671
890
260
589
600
415
931
321
326
862
219
403
716
213
242
785
132
361
826
363
418
950
227
793
296
699
36
708
351
680
347
128
155
683
302
300
853
290
889
792
685
268
696
477
548
654
941
893
644
260
675
608
682
345
545
405
903
908
863
501
389
373
16
576
752
459
467
56
303
647
661
987
239
15
180
811
206
119
395
556
853
274
684
268
622
827
985
978
79
979
133
158
544
278
908
402
649
170
206
18
716
894
74
331
527
557
611
744
144
461
891
46
926
604
147
7
766
811
408
51
922
162
680
673
452
167
535
318
451
714
665
631
760
879
575
354
747
587
56
658
134
501
546
349
521
695
732
238
456
411
50
935
430
651
796
453
129
440
655
326
644
340
359
369
131
213
50
845
545
266
683
531
701
154
447
125
879
268
778
492
586
372
972
490
901
438
833
496
30
875
33
296
310
315
85
722
926
830
909
239
35
691
994
735
808
814
41
916
167
612
834
29
609
272
760
142
587
409
64
812
361
636
454
804
95
831
94
435
263
809
404
268
82
621
309
92
790
979
768
602
63
114
459
702
775
960
475
151
597
692
789
109
632
527
988
213
422
169
513
1000
151
441
204
853
829
453
495
173
539
133
954
111
602
50
260
73
636
248
854
137
52
255
688
711
475
496
499
7
960
107
5
389
618
545
227
254
475
442
948
851
939
879
943
378
266
618
192
776
787
854
760
847
486
758
430
739
698
392
412
370
338
586
699
51
78
38
705
461
302
176
825
102
549
313
491
549
322
225
96
132
867
595
882
175
501
651
531
539
594
967
719
26
111
615
351
145
954
748
521
840
958
301
526
58
538
657
398
442
416
27
498
13
802
830
684
435
671
517
456
353
506
134
251
316
976
437
765
35
552
485
772
33
980
492
422
308
873
138
399
256
413
706
649
956
307
151
607
881
690
680
980
253
630
469
182
534
237
938
463
22
182
359
604
97
575
679
842
448
748
122
301
525
486
516
822
527
630
324
520
475
785
44
791
313
80
968
798
509
522
310
604
341
529
343
283
905
648
519
299
887
272
487
370
331
459
563
854
937
549
485
415
910
360
199
350
37
195
50
506
437
749
957
153
395
277
94
520
788
79
120
975
894
403
256
969
758
398
345
940
904
622
580
365
879
904
767
993
36
98
814
97
968
340
665
296
245
980
21
45
433
255
16
452
904
132
479
446
602
448
533
678
768
678
58
719
599
144
999
290
956
507
542
260
534
690
3
115
352
182
599
438
26
843
389
691
66
918
361
273
327
931
12
362
857
572
814
551
576
446
625
653
651
794
456
345
935
879
992
505
563
793
939
195
650
824
544
265
47
374
641
430
277
678
166
528
97
175
378
365
629
473
954
189
614
294
719
374
171
640
13
338
352
711
604
64
927
765
629
844
84
198
222
47
130
627
413
744
883
625
363
42
160
82
222
809
650
865
697
305
525
575
966
891
309
690
678
610
919
353
615
920
285
360
53
288
608
661
990
658
185
825
154
41
674
482
187
583
807
700
454
544
897
620
688
507
879
463
83
47
269
171
514
792
179
539
259
491
433
698
995
289
920
185
850
848
551
638
984
348
548
381
517
707
386
761
604
516
352
120
143
311
597
727
855
797
522
801
515
555
538
34
664
574
561
625
457
680
64
919
218
562
183
194
872
637
122
1000
649
408
101
722
406
383
147
729
407
793
344
539
684
579
525
931
915
158
3
817
331
428
652
6
317
414
540
686
226
658
353
572
421
247
72
178
710
870
682
619
156
886
255
658
693
747
368
462
131
440
677
687
870
867
438
45
125
175
896
475
507
99
774
407
594
342
523
364
499
823
629
347
520
418
994
3
661
467
377
595
195
869
917
157
457
98
2
48
758
811
153
310
623
46
109
851
583
166
15
500
392
817
476
400
834
191
231
53
284
759
404
543
779
485
569
146
652
249
399
548
698
834
263
379
462
362
950
628
452
523
647
766
999
275
414
83
64
955
620
847
458
893
297
347
878
713
859
816
631
432
433
501
140
414
908
870
152
946
833
57
72
971
551
178
990
45
237
44
785
135
101
174
165
277
617
719
596
409
507
68
885
935
174
443
595
727
421
781
561
248
578
518
540
488
625
710
410
219
484
53
407
815
448
5
602
593
585
137
184
152
89
288
158
677
729
887
737
572
971
978
56
28
866
168
832
391
527
662
248
217
838
33
642
968
77
180
556
184
300
178
324
789
656
350
640
907
266
981
501
217
981
507
506
374
73
906
721
505
915
289
257
104
767
334
234
938
91
340
41
696
190
117
667
229
591
855
409
153
280
412
432
515
812
150
536
962
358
590
932
583
930
666
14
172
424
264
928
172
589
111
171
962
724
761
619
486
731
635
125
424
115
557
282
252
686
237
35
565
989
501
558
973
941
815
247
760
788
870
698
201
210
541
295
141
368
545
373
974
725
494
971
659
736
883
863
761
863
707
906
823
931
61
719
542
533
75
393
333
63
958
217
871
941
786
376
104
793
869
202
50
652
211
846
428
749
610
142
772
68
414
77
251
677
798
473
837
746
724
422
803
324
381
582
823
167
40
617
74
334
693
991
810
884
782
807
883
669
604
588
522
169
687
750
503
332
561
976
510
562
853
902
108
410
561
287
230
969
721
346
514
699
371
23
129
201
921
762
954
444
538
777
111
102
144
909
882
944
987
898
986
649
484
317
37
68
270
448
771
681
909
143
262
924
751
15
959
154
804
411
805
223
289
234
108
49
747
75
108
90
214
79
378
345
946
631
303
354
656
277
868
690
25
221
920
584
507
408
871
680
69
441
531
379
596
535
408
864
112
310
327
707
853
440
664
901
497
112
870
276
523
801
166
488
771
55
494
247
735
898
848
966
58
964
106
777
962
656
338
750
70
473
373
173
196
148
95
970
192
394
525
685
862
843
262
970
311
261
276
188
794
223
332
563
323
216
590
294
808
571
12
186
478
721
284
647
689
26
875
344
10
796
708
429
624
240
691
992
707
731
988
342
393
205
516
753
362
492
572
594
873
97
940
104
274
271
63
644
643
211
72
945
223
889
585
740
750
316
152
169
602
5
167
513
936
26
887
157
626
343
874
142
871
1000
885
314
791
399
688
871
200
69
791
62
19
315
373
888
453
613
994
927
159
906
802
835
111
775
20
608
759
18
500
482
393
338
964
183
314
694
380
314
553
355
590
846
375
853
912
67
740
856
947
805
237
422
221
475
729
225
626
256
100
155
838
750
60
60
12
562
890
571
112
563
407
621
153
43
176
735
499
549
197
182
100
8
837
828
231
595
818
875
841
939
426
723
107
449
928
857
183
959
391
15
372
404
697
882
205
984
592
216
952
75
13
610
135
206
777
74
507
559
963
233
771
795
951
218
60
471
138
260
808
969
816
595
178
643
554
526
684
828
694
392
945
502
257
768
810
589
629
409
224
391
896
354
289
126
575
101
934
361
823
988
501
953
859
715
337
196
522
470
157
50
333
262
578
696
413
864
686
167
909
267
950
481
335
625
76
512
378
492
647
844
257
544
519
959
711
115
961
421
19
580
491
178
255
54
201
683
151
914
113
322
503
389
782
546
81
802
914
176
367
112
252
593
266
70
361
901
128
636
228
695
58
325
772
782
478
782
495
38
359
208
458
609
357
210
732
837
351
295
233
598
476
479
635
249
870
441
634
989
731
214
395
255
212
688
473
718
914
74
790
534
421
41
590
809
413
485
368
596
374
705
905
380
811
344
469
692
198
613
149
401
573
142
62
277
826
335
872
612
236
230
646
40
744
683
605
231
786
171
698
765
231
610
284
358
146
388
407
561
633
225
287
213
946
572
682
209
488
17
724
602
7
547
677
659
541
603
818
261
208
554
312
944
944
601
503
970
673
163
538
27
218
446
599
575
441
272
325
354
742
235
177
328
47
881
621
132
850
943
983
169
706
631
765
599
820
569
19
865
998
285
86
810
311
71
666
136
254
626
692
705
52
153
944
167
58
466
675
478
822
241
782
154
539
741
219
519
37
239
403
773
385
875
359
452
487
876
204
724
752
895
377
25
23
755
718
728
493
985
60
890
244
408
554
652
381
443
326
525
490
957
389
616
258
253
952
835
690
209
419
268
279
719
379
183
862
259
844
588
683
880
852
883
319
945
275
883
760
645
372
428
878
730
162
872
945
878
191
955
638
846
617
982
213
871
863
733
97
778
237
279
202
926
58
689
693
422
795
657
736
987
658
238
49
504
909
190
676
543
841
940
476
84
58
783
282
264
176
753
539
230
550
533
497
46
937
899
735
202
310
422
840
467
142
617
584
708
605
254
829
819
52
320
678
90
62
976
118
203
111
922
503
500
594
768
754
378
578
363
66
410
103
568
258
326
326
596
645
37
65
901
430
740
557
550
204
506
368
173
68
893
412
857
270
850
9
825
22
591
724
334
332
162
520
977
266
171
393
524
63
485
231
477
896
753
129
780
899
289
737
478
255
193
546
693
804
582
178
962
587
456
849
862
240
33
203
828
911
363
593
280
675
639
721
458
35
907
274
871
148
814
811
907
888
619
710
920
717
948
400
91
591
662
480
440
832
786
570
644
950
639
885
734
924
207
619
314
292
297
185
674
780
225
220
67
818
602
95
462
488
309
307
266
906
881
777
903
11
342
550
598
33
997
821
449
688
807
523
621
246
752
942
541
220
27
935
84
350
989
397
10
923
551
534
424
255
89
353
567
324
7
561
64
137
825
686
643
383
7
836
423
358
785
962
104
895
942
877
778
304
803
586
611
877
743
639
374
585
129
353
631
991
940
741
415
249
280
882
394
294
604
309
852
966
778
697
290
883
2
776
92
322
242
911
492
216
48
267
35
689
535
776
819
176
884
434
80
306
917
572
102
171
167
839
989
534
428
589
592
821
900
269
765
428
939
166
151
34
884
575
929
76
591
53
275
524
133
916
843
374
571
562
196
68
819
511
978
151
440
266
593
53
589
268
262
839
464
204
685
117
337
898
913
98
656
871
712
933
760
380
395
84
485
441
86
435
273
888
392
272
466
991
733
40
129
556
952
23
79
697
374
664
822
669
178
317
727
249
802
587
89
166
135
319
693
968
382
458
120
563
845
720
303
369
330
7
789
650
528
10
744
151
517
247
990
584
479
127
257
861
828
230
417
244
224
145
645
710
341
650
366
946
857
932
328
289
853
851
390
904
692
950
373
168
510
29
895
29
629
632
224
615
574
697
991
942
885
999
92
932
583
691
213
310
971
456
198
132
440
289
910
867
77
923
333
957
184
231
401
740
240
760
446
474
473
693
230
932
954
121
212
730
43
521
104
87
112
697
786
213
668
270
327
890
425
2
208
98
384
846
845
728
708
644
151
532
5
818
199
458
685
240
991
422
186
679
998
409
207
915
378
488
577
617
722
982
12
555
796
558
805
606
948
447
453
234
793
344
335
850
331
818
799
507
854
185
458
893
917
904
43
474
111
501
936
940
625
913
329
812
368
947
72
197
975
209
411
178
119
494
216
267
401
97
786
681
544
942
996
923
723
739
389
335
671
585
767
785
614
577
4
671
171
35
76
726
148
859
771
938
485
426
133
33
754
147
456
564
252
502
590
652
161
915
353
805
231
313
115
38
165
594
981
758
185
515
555
435
305
689
966
167
429
516
695
620
772
820
745
684
997
945
886
424
141
808
999
535
644
195
66
578
749
167
948
737
126
13
929
669
812
610
909
326
482
397
283
288
602
447
762
231
256
260
847
638
277
967
214
766
886
632
20
179
183
187
11
870
701
355
380
91
726
568
486
559
238
536
946
616
129
571
91
241
842
234
459
586
670
155
818
827
750
114
211
668
225
595
623
825
113
73
188
145
203
217
292
817
672
61
546
278
197
929
348
29
37
589
690
547
946
644
929
882
785
671
477
323
425
982
759
736
817
175
312
778
160
834
624
225
707
829
153
70
87
681
975
876
971
370
699
123
542
760
580
923
491
574
282
528
224
450
345
514
525
154
225
398
189
491
717
708
31
760
690
192
236
897
299
963
250
582
292
835
244
674
581
25
761
283
983
680
301
714
932
407
457
249
993
99
714
470
234
861
163
405
831
772
216
279
828
554
837
79
632
962
968
448
635
837
572
648
356
335
173
464
624
805
853
961
614
117
404
937
7
73
775
776
143
648
952
153
807
434
183
700
195
631
801
331
698
328
928
360
359
619
44
966
256
305
719
815
595
553
835
858
23
898
254
420
485
396
199
693
17
590
606
658
979
158
285
298
599
792
55
653
161
876
901
924
819
18
841
372
791
337
401
167
666
676
521
742
650
605
265
405
829
145
919
177
963
638
955
848
900
85
839
248
407
573
866
580
139
130
32
490
481
442
471
188
207
406
102
582
265
408
985
859
503
548
315
379
814
790
121
46
13
130
521
560
738
455
791
76
800
708
644
842
708
351
807
302
539
871
439
40
930
260
942
670
742
2
489
426
844
41
910
818
562
660
639
144
565
944
111
58
323
763
315
672
856
775
221
864
171
3
462
554
622
968
945
728
494
153
28
900
219
874
545
494
1000
215
220
398
89
799
940
532
594
561
982
813
489
613
485
378
464
513
407
218
332
965
750
683
2
25
31
448
418
412
890
601
469
392
222
511
569
11
418
971
539
176
130
946
428
175
495
909
122
758
880
365
966
842
34
672
105
199
994
665
941
266
226
912
919
339
230
664
843
965
314
674
52
308
299
116
88
642
682
756
930
864
175
386
489
125
616
304
795
253
941
236
264
619
297
734
469
504
391
479
100
835
870
366
168
335
840
492
59
787
672
370
746
98
845
812
320
303
938
888
12
446
801
317
49
571
588
453
22
631
615
722
902
245
904
63
497
628
917
380
942
935
195
524
737
494
514
631
979
107
781
918
699
651
37
181
604
728
867
330
132
8
9
251
450
167
154
171
894
108
765
488
428
183
250
729
867
718
948
870
979
40
240
805
106
538
531
99
588
46
968
547
113
961
578
218
107
75
881
846
387
55
193
437
633
865
516
905
643
195
372
417
976
149
954
852
337
13
708
481
969
915
827
494
407
606
158
514
169
351
716
600
358
171
338
522
682
268
10
303
97
480
38
95
162
62
570
492
155
899
920
262
237
508
770
318
198
844
618
478
886
936
757
158
966
884
674
729
538
596
1000
666
30
881
38
992
910
261
474
769
34
872
74
542
852
367
48
718
276
607
295
839
729
233
919
562
821
914
262
993
92
187
166
656
499
327
377
31
672
610
761
65
457
646
513
471
965
242
624
985
149
354
689
921
916
265
535
531
920
77
257
713
488
980
11
517
556
497
288
799
122
136
462
85
472
406
143
390
363
189
206
298
412
823
408
91
177
69
199
66
814
348
663
518
713
230
524
1
239
185
798
619
552
55
11
88
493
493
818
213
688
903
539
269
354
22
354
461
777
359
869
303
40
170
340
271
425
472
86
527
810
926
549
878
520
52
977
368
350
341
964
73
886
315
934
734
832
480
172
835
788
425
217
626
797
11
253
341
39
739
638
608
244
867
861
599
740
809
31
986
591
657
464
202
922
427
62
799
377
745
939
915
608
284
221
17
871
178
982
109
58
29
86
520
970
892
52
271
235
782
174
749
35
861
786
72
735
407
981
136
560
125
107
743
729
88
21
669
814
872
478
736
657
16
966
213
858
987
6
919
725
232
209
445
574
764
360
784
445
931
432
521
610
694
694
409
762
776
13
836
370
502
60
172
516
22
354
490
459
869
989
434
278
500
462
323
223
511
212
702
813
769
367
633
276
531
730
997
706
974
200
942
151
241
681
418
904
226
27
418
496
857
716
142
203
537
762
823
424
756
844
344
947
628
740
98
937
220
946
785
468
153
788
940
565
837
422
43
10
137
873
2
602
989
668
636
196
682
656
561
593
106
359
519
263
245
540
779
975
601
717
697
630
29
39
914
992
673
254
942
527
305
556
101
306
401
664
847
735
694
892
555
930
798
846
714
690
724
79
324
381
758
257
4
478
218
364
940
209
75
43
354
485
287
421
600
279
943
671
372
728
21
135
713
462
637
9
731
130
132
530
957
625
277
56
270
265
138
677
189
72
874
799
117
334
866
660
825
819
56
879
44
404
340
944
558
351
180
43
576
164
333
707
524
767
735
578
557
733
164
989
283
437
213
186
188
277
514
724
214
588
891
10
764
462
325
998
214
443
174
770
598
12
84
109
787
821
449
201
872
887
31
262
904
339
609
276
404
853
107
978
237
608
681
895
572
466
683
564
636
71
231
12
873
741
374
200
966
374
474
408
868
12
485
501
651
420
260
553
491
769
894
618
563
493
366
282
972
491
428
224
92
103
776
229
845
722
17
946
533
443
852
233
795
944
189
108
144
604
606
168
332
987
712
831
481
945
462
910
510
14
410
849
892
251
218
390
210
335
487
605
260
595
105
949
701
591
877
479
379
25
140
445
473
51
449
203
567
486
185
825
595
67
95
821
373
615
396
111
60
936
16
760
507
310
984
14
877
705
753
852
340
203
464
634
895
674
764
384
603
455
820
945
581
626
591
509
128
491
255
28
264
55
930
604
770
592
466
261
566
900
149
406
851
470
603
916
17
570
49
996
747
241
348
878
82
261
928
989
488
418
787
432
108
859
243
480
476
837
2
342
904
924
426
609
683
648
560
662
964
536
648
798
952
775
314
993
559
28
585
22
254
483
210
147
186
861
493
664
20
948
13
420
127
179
126
818
911
977
129
931
82
789
319
93
634
270
950
732
135
617
272
273
678
870
408
659
533
875
840
401
69
694
636
111
18
491
379
127
522
287
951
230
693
544
954
390
593
208
550
182
676
746
951
789
694
666
610
497
15
225
399
195
97
330
723
675
606
131
554
465
270
432
831
518
115
848
544
319
178
581
86
889
116
809
122
719
402
908
330
862
965
203
838
339
184
458
89
462
122
88
162
946
780
960
286
460
920
666
391
786
710
380
87
929
28
766
348
290
794
887
548
509
75
780
212
706
59
141
4
600
191
584
12
467
909
43
367
931
452
211
579
390
149
334
755
221
455
296
31
31
741
700
145
875
527
558
62
785
392
271
947
943
288
850
608
555
349
653
708
775
581
529
686
79
13
897
342
96
981
185
445
243
223
52
589
458
387
983
746
963
341
179
598
257
439
142
811
467
488
989
842
802
726
330
752
65
547
493
769
118
56
980
11
728
808
306
868
448
240
801
37
66
344
500
86
666
164
16
737
542
508
155
761
54
110
73
494
985
143
1000
498
147
574
874
826
757
386
786
676
609
76
767
964
143
164
289
489
345
687
844
908
792
751
83
719
297
276
298
771
307
7
490
657
655
698
861
444
299
150
329
846
406
430
601
897
501
180
384
575
459
377
589
663
758
319
715
298
789
848
208
302
999
80
221
408
300
933
126
898
491
826
87
37
384
771
198
893
992
935
23
808
361
456
820
805
605
933
426
717
274
547
505
631
433
204
874
573
739
450
694
987
361
156
576
665
803
136
87
286
551
929
701
585
27
942
989
505
470
39
701
387
243
449
469
339
551
547
42
503
693
668
322
795
807
630
983
90
511
19
135
525
980
660
295
741
756
855
947
459
63
165
63
726
437
502
294
518
274
263
971
202
270
71
645
477
813
464
712
52
81
512
507
269
983
923
418
292
105
665
714
287
514
526
249
215
603
286
672
478
163
420
547
697
528
288
577
283
929
837
189
351
184
687
878
723
456
347
39
434
88
992
504
189
473
882
638
708
496
27
622
720
332
161
539
664
296
417
948
839
992
367
915
786
224
237
884
235
21
196
346
788
615
555
991
847
458
643
926
995
138
858
575
145
606
130
83
296
238
600
406
672
99
845
763
338
216
366
835
131
809
410
861
899
183
376
831
579
451
228
53
606
320
334
708
526
935
135
426
425
172
849
558
991
832
217
535
603
916
921
670
807
504
897
802
983
822
225
434
742
751
666
383
875
356
194
526
222
53
72
912
899
636
121
371
716
732
815
761
479
200
784
168
75
620
80
699
922
286
325
982
387
71
461
124
248
93
372
695
142
392
90
224
198
709
640
812
752
20
836
749
99
695
508
403
745
43
690
260
514
494
300
702
158
886
690
12
842
159
262
127
960
239
11
870
310
75
478
747
523
573
78
893
18
659
205
456
474
818
809
480
967
223
373
384
451
31
363
233
255
473
229
308
586
151
1
926
852
340
376
83
746
148
917
217
642
111
686
367
852
178
165
10
648
52
822
154
812
552
33
603
626
998
373
886
876
614
487
22
441
603
821
168
460
853
542
183
920
209
842
349
744
838
675
770
82
551
674
492
594
802
644
990
945
746
541
502
603
955
325
583
319
268
370
433
307
874
434
738
274
881
291
242
883
529
241
813
194
729
660
504
860
790
646
998
611
34
590
873
668
502
221
318
220
118
225
291
59
447
98
620
781
709
257
224
706
780
791
439
810
720
412
444
532
784
346
887
242
984
899
127
568
998
401
960
497
626
61
277
392
78
45
907
616
49
715
766
449
960
575
559
403
730
913
481
801
153
517
751
738
287
132
381
114
257
524
251
493
528
98
450
923
25
24
819
728
422
772
842
488
559
709
311
89
225
202
722
777
469
253
951
583
200
251
580
392
81
861
189
160
634
426
32
480
14
502
772
780
135
310
387
925
728
966
921
877
380
317
481
389
857
77
781
412
801
779
575
984
416
701
511
937
903
584
310
635
216
396
674
331
169
871
3
436
64
826
821
162
765
501
801
547
591
297
405
818
502
312
461
429
768
34
433
863
753
382
777
480
470
55
486
271
300
796
921
354
645
763
11
475
290
650
224
534
943
609
28
410
793
282
154
943
860
457
643
960
635
976
527
659
757
490
16
506
485
612
205
18
318
793
675
481
397
12
811
670
283
961
324
124
254
970
231
382
544
354
535
846
843
195
906
641
923
858
971
892
493
668
210
356
232
268
41
221
504
140
414
208
428
650
112
783
810
767
6
458
966
305
702
612
589
115
401
252
654
190
266
422
778
27
295
731
627
919
501
616
695
91
193
491
237
687
286
906
231
690
867
208
970
763
675
943
317
884
789
453
697
376
567
655
616
599
776
30
871
148
972
208
663
873
390
355
465
399
988
768
891
141
861
704
765
969
910
489
267
799
533
367
337
394
98
408
481
532
133
6
743
577
510
160
903
151
349
780
856
286
36
707
772
923
520
26
837
121
30
488
300
630
426
558
117
792
691
684
675
849
475
866
971
836
176
504
156
194
786
795
497
127
601
688
718
500
951
472
102
794
312
638
957
193
485
559
815
420
88
859
210
334
240
116
17
612
149
634
95
74
308
633
412
337
134
109
940
511
167
25
326
610
428
220
784
179
100
651
665
410
493
120
936
671
159
647
115
939
90
59
277
118
187
130
415
575
543
864
772
532
667
71
783
153
433
466
893
228
428
892
833
412
374
143
922
832
460
81
555
745
758
394
328
609
375
384
203
598
618
646
675
91
273
364
164
141
5
188
784
252
39
392
138
67
514
31
86
715
328
357
220
644
873
613
386
735
781
652
712
369
711
517
492
927
211
240
742
846
933
644
409
13
809
846
29
748
313
502
71
31
614
575
374
982
228
539
798
786
788
508
708
413
658
705
953
506
444
85
778
759
859
663
494
947
68
309
804
533
340
317
382
440
789
85
694
127
59
599
58
613
22
246
642
422
961
676
430
782
255
50
188
515
263
16
100
239
996
223
89
444
134
968
761
941
157
830
561
18
655
814
1
317
377
529
744
115
211
435
942
208
81
16
450
53
708
37
445
149
267
702
557
921
258
613
816
511
308
935
592
955
220
52
244
210
281
299
374
339
765
87
409
3
596
811
768
45
324
500
970
586
945
53
904
561
597
260
905
988
832
548
427
644
996
520
883
5
219
925
620
433
677
650
157
663
43
676
480
556
549
734
659
935
628
556
74
93
914
200
262
213
271
930
769
494
616
514
427
276
504
608
148
826
867
112
674
721
816
980
720
971
120
1
599
129
847
498
728
614
648
695
380
418
331
799
663
154
729
415
1000
149
295
34
299
901
558
740
616
763
296
185
333
158
308
115
806
978
709
441
972
66
969
909
639
857
338
918
41
315
854
939
776
260
870
280
436
95
941
643
56
688
932
65
30
888
414
314
288
742
791
762
330
972
76
94
187
703
947
935
498
748
504
628
675
951
144
962
547
261
112
575
996
224
574
168
803
507
502
383
362
957
291
421
964
415
753
26
66
180
99
478
338
602
543
603
303
719
442
644
91
271
243
3
120
688
56
534
586
851
390
27
223
509
416
995
153
270
169
686
600
951
231
491
853
945
804
558
150
921
519
487
95
872
11
409
794
1000
32
660
166
418
891
491
762
961
36
958
12
685
926
200
15
758
731
828
862
558
951
7
23
720
830
155
507
796
272
855
328
944
54
717
341
785
302
434
630
126
570
202
470
813
368
18
329
307
649
93
498
981
597
783
747
286
50
967
791
112
994
789
476
685
907
15
335
278
139
48
559
895
141
823
490
793
128
350
472
408
653
730
242
806
664
782
104
248
844
301
777
838
425
108
192
524
195
717
459
891
132
435
927
310
963
144
542
982
930
856
673
361
239
366
211
221
997
966
23
392
890
246
760
790
528
462
638
919
169
809
19
455
463
224
579
889
995
997
332
437
640
570
87
595
186
398
692
803
235
601
26
613
147
508
847
697
651
821
432
743
813
313
481
54
252
447
887
203
829
248
770
643
574
96
677
557
266
837
929
563
916
763
921
115
378
560
558
548
459
278
160
797
178
752
879
699
299
658
77
699
838
580
197
499
39
34
339
843
202
399
163
241
848
79
741
858
918
48
672
209
109
113
128
575
962
868
476
243
72
307
789
779
574
515
855
547
146
669
288
595
877
844
911
846
721
727
937
263
696
442
327
269
673
100
365
274
345
587
680
553
948
363
896
120
411
697
617
454
853
904
683
132
790
567
507
456
970
683
822
159
504
943
371
154
823
66
882
57
71
234
198
926
702
181
574
252
441
420
953
743
272
446
511
842
763
440
886
255
892
215
264
985
519
631
956
481
750
705
172
568
783
1
453
758
242
631
617
385
619
405
159
776
219
237
713
314
902
903
624
832
8
636
626
238
75
873
389
663
343
632
971
694
602
659
242
467
604
465
6
481
159
826
828
982
15
144
567
733
806
302
217
724
679
295
958
177
678
974
232
767
619
697
255
573
965
529
648
658
190
943
724
579
181
595
578
342
538
889
315
511
18
484
625
209
967
827
444
767
284
82
646
621
394
540
503
866
704
693
202
542
255
699
824
373
604
884
17
120
527
236
47
181
743
634
52
350
754
649
90
886
813
339
998
169
216
407
196
259
381
462
292
607
645
872
751
37
293
905
976
842
132
423
825
528
797
369
986
289
102
711
665
771
922
285
699
78
536
203
576
235
871
94
826
536
793
468
901
297
454
941
976
529
713
851
68
982
821
76
483
791
871
485
900
720
28
513
312
595
140
806
646
81
194
754
142
376
952
991
446
758
279
621
956
180
899
14
181
254
735
505
704
40
580
222
924
40
573
571
894
651
822
622
430
153
599
735
171
956
685
309
396
481
843
450
244
501
882
686
433
222
448
608
702
679
522
439
960
250
550
115
598
223
312
402
475
386
896
923
846
558
607
778
922
806
248
585
780
887
972
356
88
72
819
632
455
107
131
674
264
530
270
314
524
932
451
294
607
62
39
510
764
834
372
617
916
427
20
869
593
654
402
910
783
682
858
459
155
22
591
480
323
420
384
500
809
910
623
156
935
817
962
964
95
975
914
524
816
719
753
102
521
521
373
569
163
263
189
193
745
213
707
671
290
773
154
74
987
895
425
117
106
907
657
240
750
132
934
553
668
310
5
574
189
340
361
69
755
244
757
9
702
610
12
822
683
951
971
662
577
597
600
382
811
721
511
251
782
83
642
235
446
912
444
844
227
77
668
102
101
413
787
236
74
570
138
11
324
281
128
510
939
300
207
297
539
540
887
579
57
153
742
949
617
389
243
763
748
47
221
995
138
300
989
701
769
425
425
824
532
749
839
145
371
718
56
654
580
554
958
444
157
382
677
545
963
87
726
759
70
392
627
645
826
820
19
321
87
279
789
593
566
953
512
277
454
102
376
255
286
122
790
920
546
944
115
215
642
410
263
360
690
812
472
708
31
156
185
942
509
45
832
901
315
307
267
949
655
599
749
716
567
288
674
397
982
817
685
617
512
639
416
975
506
550
877
30
649
899
408
430
731
744
213
323
244
483
705
943
174
855
282
531
653
539
709
302
172
701
975
244
692
15
334
923
294
620
293
329
994
436
424
12
952
48
254
427
584
118
934
432
44
874
36
382
98
820
638
62
691
188
761
50
385
59
398
709
429
292
560
138
423
587
251
869
411
73
812
19
775
761
833
886
475
121
704
694
31
797
925
319
136
179
506
319
941
148
118
553
859
817
204
979
213
494
887
971
169
424
386
642
159
75
579
221
458
883
533
449
663
370
96
397
543
555
91
788
179
342
278
170
329
417
989
808
699
755
276
175
150
486
489
322
919
286
412
205
612
872
507
244
44
436
314
19
44
94
809
19
949
459
331
795
857
510
722
690
647
816
512
560
422
973
254
562
279
883
659
113
281
82
767
600
65
898
217
270
779
643
604
22
953
396
43
466
451
195
303
742
887
607
298
24
739
719
306
595
937
568
1
626
885
899
295
521
714
934
1
816
61
534
558
125
811
711
393
548
89
979
24
310
191
427
654
116
322
721
871
878
763
459
999
988
515
451
835
307
582
503
749
368
779
253
632
100
380
442
715
514
942
765
125
409
405
89
875
136
899
435
142
837
743
535
860
408
788
220
72
609
613
112
20
397
69
360
654
529
320
188
94
970
844
78
594
407
827
299
738
470
987
318
893
869
165
342
456
711
938
895
58
743
118
829
676
101
218
660
562
432
910
428
10
939
19
549
218
955
840
299
963
182
433
625
345
583
66
940
602
246
170
481
892
246
19
542
968
622
826
617
888
136
119
100
238
383
52
645
885
178
786
754
917
857
197
449
277
303
926
101
569
36
258
655
641
687
363
476
871
510
220
28
499
397
920
427
990
987
115
652
138
106
103
888
574
690
386
18
393
812
604
765
857
183
391
370
522
726
73
952
661
439
114
938
588
772
859
990
311
183
441
907
974
357
699
873
726
824
548
237
934
348
537
736
218
519
273
713
325
425
951
403
756
172
519
811
913
244
873
52
724
430
43
274
897
76
585
467
433
948
198
485
546
855
178
632
921
511
473
13
93
808
936
634
791
781
905
949
284
92
355
137
127
742
695
885
219
116
755
902
741
132
612
654
389
476
691
88
279
417
22
196
46
666
609
335
958
108
611
160
304
9
474
853
939
468
148
112
612
474
315
18
632
918
861
447
506
302
891
204
415
683
263
390
760
621
944
847
582
481
509
678
357
482
741
967
494
317
609
804
912
975
861
656
235
665
93
922
434
368
439
246
284
601
948
785
591
436
320
169
962
684
912
331
851
409
827
732
684
640
463
767
167
207
113
292
286
134
77
281
71
902
283
595
943
211
586
736
354
572
767
227
447
171
736
960
702
972
630
458
860
955
246
494
940
706
791
928
832
335
980
921
786
822
349
949
73
456
46
121
251
997
477
381
772
527
913
89
75
758
591
342
976
727
869
151
863
390
748
225
193
613
412
723
790
478
487
773
745
581
401
948
44
249
559
192
641
192
50
842
377
134
265
542
980
399
92
801
437
242
348
894
165
991
705
598
744
658
660
997
449
792
28
211
483
743
40
431
562
420
340
115
491
867
134
499
465
663
246
894
82
249
96
335
485
760
455
280
625
827
387
969
356
154
958
993
987
330
122
346
924
500
724
992
266
995
678
518
562
995
211
990
443
582
519
520
533
320
301
369
841
627
438
655
841
747
472
830
562
111
689
170
336
217
304
414
262
953
692
585
86
433
635
748
937
32
293
135
291
273
970
630
598
627
773
84
258
72
954
311
989
489
57
888
209
572
999
102
732
941
849
452
932
601
408
153
559
695
628
966
553
760
556
529
508
314
736
57
954
697
983
936
239
487
985
246
585
745
462
719
864
547
524
954
717
989
388
998
931
908
894
537
384
53
58
34
457
346
496
90
543
168
689
223
159
301
923
17
225
313
238
297
272
621
856
589
683
485
374
615
605
430
499
996
823
398
169
655
721
46
744
618
427
157
346
67
394
113
523
511
939
712
175
899
732
395
68
340
834
149
330
859
613
880
26
256
846
105
307
739
326
147
628
443
564
868
223
341
566
149
390
339
169
958
84
541
176
856
36
754
337
242
855
338
272
420
605
380
572
886
908
14
665
796
951
435
491
691
684
756
699
990
89
427
825
609
656
362
924
369
100
263
166
505
912
894
233
689
548
219
721
450
953
384
362
793
612
484
593
102
532
966
895
131
399
274
365
985
615
41
181
546
140
761
998
690
798
333
784
989
228
303
321
339
765
970
385
93
298
696
623
820
615
928
266
788
817
470
127
625
135
466
772
371
886
432
356
333
368
410
401
718
206
972
668
25
35
408
413
553
426
848
476
206
665
503
104
963
316
457
917
15
500
654
130
572
489
821
9
785
511
58
549
57
615
771
535
245
114
388
447
926
335
84
203
921
406
315
311
749
345
540
837
545
11
921
541
241
340
159
612
493
871
871
739
901
787
83
624
594
548
454
675
112
732
869
291
828
897
860
77
891
89
153
370
725
156
297
626
708
131
942
608
522
821
833
820
47
135
18
282
369
865
43
589
650
380
186
172
143
131
856
805
596
970
366
714
657
10
199
85
660
181
754
367
340
690
302
541
628
279
550
453
655
606
780
345
472
40
988
4
839
888
858
286
591
405
655
362
746
904
348
687
520
996
343
585
841
229
239
347
794
431
908
890
665
620
23
382
893
668
897
684
304
828
106
131
437
807
910
940
666
337
937
505
61
90
943
931
628
345
693
430
653
23
209
608
339
591
657
280
864
854
157
123
235
842
639
442
81
844
697
282
576
128
54
407
281
52
855
939
537
65
529
34
447
584
348
600
175
832
138
881
462
515
829
766
803
651
643
743
673
941
775
774
589
838
345
798
529
863
266
153
419
765
410
8
996
874
136
785
326
315
784
650
647
839
246
360
45
656
67
153
621
36
855
926
483
425
939
607
871
463
328
530
164
644
30
600
376
260
687
224
938
960
325
288
250
472
712
975
525
32
471
819
903
587
612
213
671
154
611
524
714
570
485
74
984
443
596
519
856
352
57
577
743
171
690
600
223
969
451
278
235
82
139
583
626
821
954
154
413
765
208
494
683
745
41
741
939
425
555
229
81
875
130
805
899
623
55
604
139
479
807
50
747
833
430
920
833
245
526
644
285
877
310
453
734
711
994
580
715
592
582
504
510
804
755
134
77
295
138
900
935
690
697
956
618
883
388
104
566
398
479
543
894
651
155
318
533
921
103
130
654
165
804
229
96
743
136
264
810
760
739
282
911
22
308
571
43
503
599
643
176
857
480
502
842
704
805
227
78
372
220
66
28
303
290
453
224
555
470
820
76
718
536
605
978
69
48
641
758
985
293
952
879
489
976
49
944
267
568
27
566
678
862
90
575
77
773
689
895
240
831
66
142
784
132
893
153
291
747
615
193
238
705
281
566
961
704
925
694
598
661
13
520
380
34
85
270
698
640
466
159
68
312
862
657
524
342
710
306
956
108
405
876
638
680
890
869
489
459
659
977
641
135
920
158
522
310
501
357
984
158
133
800
956
411
871
987
738
743
772
159
334
406
414
87
130
528
477
459
849
100
412
42
940
42
160
18
461
152
9
625
90
958
907
273
98
666
15
812
4
467
808
533
139
435
801
758
571
133
855
619
626
819
48
710
798
853
311
826
938
491
389
940
476
765
179
885
849
548
190
965
453
240
679
842
218
716
6
630
331
307
880
41
724
649
478
844
688
127
858
623
394
548
682
20
136
380
61
233
850
594
214
518
815
685
742
845
498
939
519
657
145
399
622
895
117
228
235
66
917
430
179
133
540
908
581
464
68
912
193
885
409
798
45
131
701
855
458
638
177
670
898
653
205
147
801
133
855
815
312
719
533
507
789
387
172
852
79
32
997
259
789
318
132
247
230
637
138
37
266
904
164
294
44
205
514
791
456
52
320
546
241
85
489
695
825
595
235
925
363
171
353
838
946
99
804
7
621
884
357
790
688
410
775
224
717
816
482
423
874
101
731
954
430
852
52
598
788
267
151
765
961
795
491
571
187
325
516
266
326
826
828
240
698
752
674
342
310
316
778
599
768
940
898
727
742
826
468
2
531
586
373
176
134
313
163
110
271
301
47
715
924
865
548
625
339
357
62
706
868
513
422
190
703
755
224
721
334
903
869
45
498
31
213
457
529
905
248
322
239
478
491
192
917
442
575
90
580
723
126
498
358
94
141
494
774
812
967
224
731
277
436
637
214
246
903
973
65
55
720
24
718
639
142
565
440
874
815
725
435
921
725
223
191
781
963
587
528
266
738
470
168
912
809
126
24
165
918
982
85
325
872
955
474
330
619
872
220
450
59
869
328
341
337
160
991
734
66
935
149
226
259
399
166
256
749
223
82
384
537
709
750
385
794
18
212
548
249
708
785
768
268
643
704
690
250
64
616
205
881
243
875
60
368
669
372
206
52
163
591
781
664
674
684
293
92
754
626
673
695
863
917
328
107
753
895
235
1
112
431
437
433
572
685
956
274
924
635
325
703
130
292
389
896
265
870
20
864
76
706
654
835
209
367
370
738
528
235
307
75
109
822
824
947
684
215
734
59
300
343
305
293
923
202
520
839
563
794
230
921
250
284
444
896
839
806
971
848
217
423
39
841
932
974
309
693
658
945
899
437
193
5
688
680
876
605
133
674
419
842
309
265
129
841
680
831
453
40
377
940
531
137
374
748
234
888
39
83
739
618
957
757
267
84
826
898
28
290
460
979
775
947
642
809
631
554
626
947
998
460
601
869
441
900
302
767
395
650
269
24
450
922
973
257
723
82
102
316
539
42
877
790
247
481
143
353
472
600
351
790
554
759
262
625
214
193
362
82
718
955
516
515
946
412
379
570
804
868
393
56
361
379
24
925
941
403
30
804
145
710
164
268
470
883
674
373
717
818
389
34
885
874
959
492
619
692
34
478
563
268
785
648
158
542
179
546
535
652
858
656
158
965
301
40
757
240
187
737
952
516
512
311
650
878
96
933
959
838
535
920
876
890
541
942
470
737
881
980
601
796
793
705
507
855
861
137
719
163
780
335
855
827
396
395
796
105
645
202
654
74
775
242
702
213
316
272
140
617
799
784
181
926
144
32
413
574
983
846
847
612
901
569
339
208
745
249
331
884
698
647
953
704
753
704
594
921
623
865
976
32
857
63
613
801
138
219
304
575
290
841
952
134
556
656
588
394
47
261
941
503
125
454
269
283
634
238
469
478
547
503
673
7
606
38
605
242
950
827
41
373
568
561
555
75
652
920
600
14
569
441
687
230
227
740
33
46
58
447
613
971
714
433
979
991
842
865
559
782
983
117
405
595
702
838
524
29
587
322
981
454
607
855
958
583
639
905
808
587
701
864
948
184
505
529
120
339
484
698
150
557
391
26
826
280
858
781
963
557
92
251
991
976
981
325
670
854
481
229
636
781
83
457
542
939
522
702
463
55
692
9
147
454
864
390
364
436
925
906
347
135
318
557
835
74
783
367
715
875
768
720
654
965
626
381
374
672
303
565
438
780
239
157
493
505
651
415
942
835
189
509
913
370
183
841
209
95
376
385
664
39
55
216
941
363
968
985
348
273
289
337
706
33
136
202
624
534
843
407
827
70
277
306
294
451
956
985
93
102
637
113
717
574
346
730
633
762
519
68
551
161
41
13
576
697
502
975
50
51
895
736
359
856
336
304
409
865
102
944
796
984
455
307
898
60
247
50
274
441
273
380
769
624
702
766
680
762
686
394
177
401
412
69
937
580
470
936
602
346
374
779
248
826
483
690
512
203
367
587
422
345
865
382
248
399
717
616
884
311
640
31
382
154
170
839
247
101
423
440
28
90
150
944
547
521
128
139
842
850
970
476
511
514
881
244
709
504
796
336
463
760
540
931
340
753
401
968
744
809
515
486
287
209
25
822
749
634
803
132
99
265
884
922
952
759
422
109
609
324
130
615
517
351
660
680
598
412
315
843
384
918
826
60
321
444
654
512
916
513
422
441
623
647
649
800
492
588
905
588
654
940
859
471
643
886
490
718
402
259
883
539
606
25
631
593
541
115
841
863
406
662
146
68
332
901
924
502
818
384
133
525
562
718
787
906
847
717
113
911
769
730
863
291
563
905
82
338
224
336
879
763
420
346
384
446
423
658
136
38
418
831
594
991
75
134
344
826
723
990
825
366
815
219
80
220
602
570
147
2
144
470
143
672
796
459
37
874
325
546
388
383
684
592
29
550
222
865
809
194
863
129
5
500
327
968
952
305
997
565
792
628
463
839
930
410
49
641
995
216
893
710
609
76
266
232
238
754
832
115
770
446
531
578
241
356
593
217
272
608
931
521
414
720
868
678
547
195
670
637
885
835
864
584
961
69
687
400
138
904
297
204
841
151
581
788
699
170
473
600
230
745
725
961
530
626
959
348
657
923
668
916
68
796
553
909
486
824
188
253
76
54
583
398
629
921
622
459
746
191
727
783
699
612
323
345
706
168
884
790
867
713
363
530
885
297
807
6
15
666
846
131
388
265
496
990
951
572
446
28
823
744
587
371
757
360
19
376
747
522
233
234
568
684
429
236
157
371
202
295
322
375
922
489
205
108
190
638
295
539
686
409
567
553
585
43
471
614
443
551
129
345
168
161
27
997
191
851
928
824
494
65
520
42
470
67
516
423
934
944
543
531
745
979
179
303
627
953
918
952
789
964
681
160
816
503
727
141
169
873
465
425
320
498
723
160
195
323
477
320
124
290
928
448
955
821
52
462
320
376
471
622
299
355
526
979
906
110
961
465
868
344
505
355
150
934
944
978
557
106
972
437
541
916
259
538
7
214
642
343
545
600
323
523
992
412
259
190
654
451
667
969
826
962
751
892
481
397
250
100
131
583
418
444
871
261
379
810
609
368
584
427
280
75
266
425
647
327
385
683
904
574
524
337
904
447
616
360
295
360
164
330
209
417
828
794
463
537
888
694
413
416
73
928
683
806
719
441
35
592
3
230
512
317
290
223
836
154
229
318
754
771
322
772
659
195
122
735
343
569
101
954
179
652
479
608
408
1000
7
754
398
54
743
115
989
762
396
790
16
941
673
999
150
321
371
180
32
100
682
560
474
875
270
848
200
23
224
849
187
960
890
588
184
218
943
16
383
946
781
493
546
277
486
11
109
962
128
556
916
843
166
112
275
999
48
538
961
865
899
968
651
232
340
434
24
793
94
131
420
817
989
118
531
612
407
272
38
683
977
996
544
837
564
540
377
94
204
752
68
893
641
782
409
1
570
521
967
503
515
562
892
441
506
66
618
988
376
204
826
525
528
794
653
625
511
306
640
757
590
699
412
443
753
431
368
734
311
542
962
128
294
942
292
465
353
888
795
905
777
180
796
855
517
786
584
554
844
435
415
109
355
221
589
957
575
439
315
78
343
627
585
816
471
316
705
818
925
74
433
433
936
207
902
887
961
950
645
706
413
23
53
130
412
215
566
725
607
37
735
4
272
564
24
626
469
272
942
677
82
90
578
579
871
880
181
448
561
256
714
71
139
993
673
241
155
284
607
874
883
728
891
203
555
278
312
337
786
316
931
666
492
658
500
899
285
564
453
4
355
761
95
977
324
98
173
138
423
658
434
607
588
103
148
732
785
549
803
494
920
510
354
323
220
301
482
365
818
842
272
927
619
963
628
764
214
173
489
875
717
345
650
690
938
909
549
909
213
990
909
713
562
344
534
801
569
120
864
475
538
208
124
17
26
395
39
713
802
648
114
194
663
550
410
197
293
370
637
457
533
267
76
233
28
872
571
829
169
838
342
622
691
4
879
271
43
477
556
219
894
295
855
115
734
335
335
492
535
749
533
904
901
576
22
715
938
86
734
921
324
80
506
704
702
620
492
906
589
610
755
223
416
236
850
759
209
523
683
474
689
169
262
223
223
364
212
298
162
552
94
831
594
914
638
992
415
930
950
626
938
531
673
886
970
198
827
440
392
871
771
64
795
679
326
732
676
305
594
896
992
285
416
265
643
632
755
242
593
986
476
148
866
906
165
513
651
18
620
995
78
470
638
944
29
571
530
235
493
521
579
752
585
883
293
835
327
792
900
60
668
962
976
967
65
182
505
738
100
397
930
365
270
413
969
547
75
950
56
422
983
58
270
241
647
901
536
269
34
501
691
514
735
347
742
376
788
684
247
939
818
906
336
428
139
704
262
295
749
546
792
513
818
607
949
921
362
488
811
870
278
949
112
4
797
383
398
744
753
964
332
927
721
239
564
88
249
418
248
90
870
789
902
151
554
481
803
833
583
262
526
221
535
199
556
369
268
762
105
29
301
401
438
863
956
721
989
599
15
114
556
52
380
119
655
552
416
836
906
53
262
441
971
146
338
222
120
257
715
566
11
551
795
46
596
441
952
59
410
155
422
496
638
510
720
558
499
898
320
145
457
499
137
224
702
916
616
182
151
736
857
462
944
13
276
727
39
310
739
351
53
719
990
323
934
237
451
525
386
979
156
924
251
974
667
421
182
709
285
972
38
160
812
138
373
771
365
389
311
756
501
337
839
111
992
569
291
947
122
904
347
97
314
702
419
474
213
329
668
316
90
3
254
282
593
4
600
355
415
701
624
624
387
907
894
333
916
840
634
23
397
365
319
203
462
246
406
739
478
867
347
99
693
237
654
620
859
128
212
239
917
899
463
497
573
853
314
159
185
26
882
520
426
923
217
299
578
37
202
54
186
955
726
202
17
474
16
68
905
432
785
862
152
887
444
124
566
876
175
966
120
220
122
390
466
764
261
77
221
990
825
298
21
139
267
5
835
888
836
764
917
130
829
897
95
587
419
94
771
843
799
816
155
875
20
983
752
309
552
823
69
431
52
251
810
477
277
834
611
816
373
203
462
427
990
773
567
532
835
763
296
284
262
789
306
219
499
781
622
529
897
554
687
317
398
143
955
667
46
921
591
788
940
599
241
456
504
447
638
722
336
434
11
157
164
567
886
909
652
384
888
516
882
417
566
712
353
454
123
424
233
606
145
819
451
504
82
470
890
421
284
718
624
779
859
845
632
267
469
950
910
759
456
300
200
338
391
510
856
969
175
115
503
802
356
944
213
665
187
291
907
13
285
991
562
521
418
415
592
523
106
851
467
718
200
912
223
911
576
411
34
78
354
632
418
699
860
1000
972
147
634
993
749
882
384
522
533
356
706
122
276
821
792
40
944
664
86
708
832
547
42
140
178
328
719
530
571
723
941
667
203
691
118
853
500
792
685
651
46
133
243
162
986
78
184
520
308
582
540
932
487
872
241
925
977
227
829
401
978
744
867
753
659
330
952
538
829
637
309
172
590
278
359
680
108
481
562
785
45
270
71
535
554
366
438
215
999
290
678
505
709
533
484
727
162
254
311
548
945
711
298
688
744
473
758
24
374
564
46
979
574
836
146
241
885
264
240
663
422
347
877
652
785
471
57
510
646
924
732
911
793
227
766
203
530
584
321
247
372
545
66
307
919
435
309
867
633
701
372
339
14
92
96
330
305
508
356
507
453
434
861
123
508
88
305
974
23
833
171
866
314
907
73
698
626
257
555
886
337
104
704
211
369
884
737
86
844
370
5
897
879
129
446
341
113
908
636
610
204
229
980
865
44
232
506
711
934
767
951
249
243
841
533
866
385
799
881
152
83
16
64
164
960
468
590
827
470
282
514
419
69
243
530
948
304
284
11
705
194
194
507
450
878
114
111
484
994
936
463
333
701
347
878
889
526
136
244
636
478
307
881
9
984
735
519
48
243
341
901
240
536
272
300
844
877
108
419
61
148
961
712
128
511
164
161
782
488
410
953
564
528
353
266
133
293
130
626
79
184
779
877
747
787
226
847
215
60
383
202
883
45
915
832
115
847
377
341
968
384
776
859
336
197
81
445
791
172
849
816
941
633
906
993
432
645
14
725
590
751
519
240
251
617
265
939
582
203
461
149
526
174
786
942
51
204
717
339
578
738
978
903
776
546
40
867
443
93
816
440
311
362
17
882
451
255
201
247
402
122
164
460
274
282
181
519
873
606
570
168
279
403
201
357
471
835
851
154
276
70
772
558
351
210
437
822
984
794
194
497
165
331
468
387
805
891
248
994
973
251
803
857
724
483
976
363
418
138
934
257
440
389
971
69
879
597
801
128
32
744
795
648
561
129
794
614
770
487
439
849
724
476
455
686
882
53
959
136
510
826
650
294
366
908
693
10
80
133
232
519
186
772
685
807
6
27
461
997
421
654
232
897
140
59
708
195
210
52
683
472
405
270
203
315
571
946
895
344
221
313
852
894
421
431
981
416
522
632
394
396
391
115
249
776
570
418
413
338
255
644
485
566
24
351
979
765
64
955
953
71
970
342
931
113
315
143
782
684
871
789
83
772
731
29
616
696
642
62
855
886
496
818
679
66
311
223
123
203
12
437
647
610
961
208
277
20
527
431
977
276
928
966
788
523
201
533
581
438
453
290
777
78
450
252
989
385
234
326
376
267
648
112
407
416
613
8
884
725
518
402
293
242
319
891
1000
78
800
537
374
600
10
142
648
527
18
411
222
258
43
650
156
887
435
340
795
852
197
525
827
133
526
472
596
208
293
444
149
738
555
767
327
92
926
600
186
372
80
911
192
557
772
247
893
756
473
788
250
315
155
54
409
720
788
356
447
804
857
787
561
764
558
60
232
887
363
38
127
683
350
122
904
345
996
990
610
41
166
348
75
602
663
470
555
561
16
293
898
353
157
761
663
722
248
907
960
15
219
919
246
112
468
23
974
186
834
593
757
350
127
310
674
537
454
564
457
611
120
531
549
804
101
515
449
68
955
247
324
811
574
750
627
798
354
312
310
710
208
866
294
951
344
774
45
842
880
609
471
231
178
54
848
915
245
401
178
995
676
513
192
413
385
279
185
520
805
759
36
416
341
234
23
234
586
325
519
257
234
191
263
968
666
572
641
693
923
108
342
519
120
923
852
508
422
947
434
98
342
816
672
735
519
497
172
428
71
953
745
915
313
280
202
581
926
741
974
72
622
47
864
825
990
26
626
330
465
587
510
51
309
470
555
340
91
840
230
567
371
213
934
961
242
558
7
322
893
656
149
852
616
995
565
851
517
493
737
904
745
373
439
496
226
351
523
702
726
101
25
706
575
655
347
428
531
994
643
463
68
574
20
880
846
979
867
134
252
166
418
547
638
25
660
304
380
90
838
905
917
280
61
388
703
486
32
353
405
668
464
75
739
898
549
488
48
413
752
900
97
348
279
616
603
252
795
501
680
922
360
701
737
304
100
355
361
489
817
158
359
848
614
53
460
410
605
177
132
489
969
404
594
346
925
498
380
460
668
925
753
544
980
821
844
37
994
522
660
197
546
263
985
311
666
401
768
751
17
549
815
809
495
519
460
271
813
866
429
695
576
124
293
225
292
536
733
544
771
184
371
306
569
962
35
925
522
753
163
153
876
495
498
280
241
581
372
74
371
168
623
849
810
515
660
155
522
465
244
606
963
488
337
349
483
548
739
467
555
157
328
419
88
626
400
247
7
478
6
846
361
380
189
107
428
783
726
58
703
633
316
479
194
147
136
609
120
679
370
704
9
99
601
158
170
961
932
879
698
987
321
359
495
1
903
646
269
537
980
46
104
784
993
907
11
404
993
296
786
6
67
714
641
785
704
260
310
860
330
814
773
373
97
862
295
300
533
591
230
210
870
725
904
941
675
389
965
250
938
958
750
39
898
465
616
668
712
637
663
207
537
38
960
220
716
121
213
811
526
207
784
217
403
553
122
211
627
688
947
891
219
155
984
275
179
635
656
224
279
193
904
848
330
29
210
532
207
718
988
85
957
357
749
356
997
443
792
846
732
591
771
459
962
375
152
567
39
695
433
983
110
66
32
273
699
142
905
64
522
593
269
682
717
197
311
459
576
624
387
559
498
930
5
984
84
206
851
745
241
224
213
808
687
103
417
550
480
247
320
921
83
834
472
422
957
127
295
300
922
746
503
72
308
835
54
603
452
753
96
491
249
495
757
421
238
593
108
514
233
616
325
393
556
728
897
878
780
995
680
743
270
233
777
936
930
256
495
34
297
305
64
459
540
291
461
182
969
250
378
195
373
64
350
50
899
51
94
129
184
541
377
152
159
894
72
586
270
718
658
283
870
259
79
647
180
985
753
117
527
441
533
509
547
331
584
79
639
610
474
749
253
104
245
36
529
777
898
651
377
338
463
616
361
285
856
23
634
867
740
199
732
672
957
188
268
725
444
879
413
41
174
62
602
564
363
961
72
277
88
511
696
85
496
775
51
744
984
389
836
713
103
872
547
316
419
965
792
8
273
898
754
852
174
635
65
552
548
696
828
491
733
112
577
298
348
437
732
363
673
511
510
616
240
832
302
595
619
12
249
532
305
726
123
715
658
25
642
891
131
622
36
825
349
23
25
440
196
940
359
146
737
487
729
57
666
57
169
812
998
622
23
628
867
436
202
11
630
775
690
303
970
381
230
850
309
743
709
120
636
239
970
550
834
371
742
234
654
81
883
834
782
142
381
245
844
172
424
624
777
667
362
355
728
781
591
409
518
266
215
348
764
129
842
898
959
43
34
635
134
524
718
820
287
161
353
836
380
994
761
986
585
212
306
660
389
951
543
974
342
884
550
53
515
706
902
52
180
333
647
862
838
873
711
205
470
943
864
495
841
965
762
369
702
400
601
330
28
741
602
251
781
253
900
844
238
87
391
332
629
392
746
709
690
506
132
931
734
112
110
347
22
496
837
431
552
698
952
673
835
378
474
38
901
698
631
20
535
372
772
682
739
312
437
486
462
974
211
928
974
584
191
184
602
932
793
8
200
295
133
143
384
368
408
329
504
774
547
837
343
862
894
90
734
6
836
593
660
528
113
846
883
755
991
353
856
395
622
159
467
602
679
543
151
651
787
675
61
76
393
19
263
526
402
258
373
318
383
347
674
895
156
34
503
936
305
895
612
878
537
458
292
996
827
474
287
1
986
784
885
301
610
519
149
712
395
523
930
405
410
57
172
311
290
776
26
33
223
930
455
579
255
544
348
818
712
32
641
682
460
385
561
550
342
535
937
118
344
20
442
357
962
348
748
794
818
769
846
487
755
298
192
499
537
906
907
620
803
766
23
351
101
325
616
896
688
770
728
7
246
106
193
64
860
737
813
678
370
856
861
453
715
443
554
277
972
935
950
665
603
867
734
212
836
937
456
189
208
944
125
668
41
27
456
344
21
457
745
387
127
5
24
240
849
554
158
284
12
212
539
668
585
630
327
416
469
636
534
116
679
562
809
138
267
837
481
313
24
536
282
464
296
545
146
992
215
952
711
963
264
56
422
800
389
145
636
718
788
782
781
513
99
919
379
165
978
568
734
5
929
116
168
851
830
643
946
625
814
724
473
422
16
317
904
929
261
253
41
380
906
783
281
921
940
370
431
425
900
647
387
248
343
35
50
417
405
37
356
9
468
618
961
269
34
416
960
122
747
742
989
320
867
452
199
398
657
836
894
984
844
566
57
783
736
646
620
733
642
19
68
404
951
173
908
710
592
647
596
387
636
800
767
522
488
617
957
578
440
573
607
19
367
803
795
637
13
897
15
106
581
663
342
146
371
113
472
883
757
713
469
675
150
716
523
683
463
971
662
979
217
180
161
782
683
987
326
745
326
652
457
852
406
311
49
576
793
979
693
457
929
524
743
125
391
826
530
123
708
185
781
566
916
865
974
813
825
320
537
824
146
272
155
829
414
301
983
233
128
21
202
462
626
240
214
560
26
717
716
930
961
260
67
559
961
954
627
410
54
244
218
492
576
433
446
211
247
948
404
283
257
334
178
391
520
566
663
235
237
677
426
372
630
134
740
489
34
658
450
344
522
361
50
640
923
207
191
519
355
778
846
202
411
247
556
534
721
294
479
836
909
391
450
543
894
541
910
514
74
81
348
820
184
602
845
57
511
385
422
898
729
9
164
717
803
958
487
568
316
99
520
723
74
899
286
271
48
116
254
973
539
488
892
701
956
647
32
301
752
50
237
648
871
281
840
985
509
424
41
404
154
580
224
431
602
787
665
270
104
748
944
200
902
814
645
966
127
590
404
820
461
407
943
996
15
638
530
29
592
498
173
272
883
559
981
413
144
645
324
543
638
195
824
581
415
426
752
433
25
862
97
324
424
854
458
134
604
759
872
424
490
316
923
65
234
617
738
42
326
762
19
35
892
930
836
861
106
139
765
716
920
398
839
408
216
310
947
487
14
443
531
229
639
938
878
928
558
899
872
855
189
79
802
536
119
256
696
711
40
477
732
451
192
59
432
424
267
789
728
249
526
335
506
176
357
229
880
100
616
146
298
49
883
388
538
837
183
656
821
531
820
186
530
754
737
294
495
604
182
223
408
159
549
909
678
99
970
5
985
4
607
999
836
232
609
783
679
131
406
406
509
511
343
993
443
940
633
68
453
429
306
541
285
525
95
703
615
622
199
413
666
588
463
535
824
415
809
360
280
665
672
425
360
943
807
628
1000
488
48
22
775
255
541
993
991
511
503
797
621
93
780
575
276
917
378
66
984
264
613
165
273
647
769
385
959
777
961
75
57
259
400
899
463
180
417
725
387
658
410
544
41
770
354
470
757
13
600
184
535
595
528
398
986
398
990
68
796
434
615
94
127
957
772
210
794
172
403
603
711
664
980
555
808
250
588
77
592
945
461
48
558
119
381
861
912
751
984
971
449
864
391
980
966
852
571
153
306
437
482
288
970
414
372
926
250
162
560
760
18
169
668
935
608
442
512
659
735
712
852
160
8
855
733
574
407
737
439
780
39
44
963
565
587
259
464
724
137
93
391
905
481
124
839
31
582
311
217
148
595
358
496
383
751
592
153
528
438
152
412
422
23
792
550
914
299
540
832
714
987
781
116
808
349
66
285
475
830
112
437
138
608
991
219
420
71
471
747
820
543
845
338
350
21
339
659
337
299
372
968
343
615
542
825
815
862
163
51
653
521
615
706
342
643
542
572
692
656
151
940
510
275
489
529
701
511
567
987
433
633
666
757
972
935
959
34
709
349
835
198
743
257
973
338
76
335
225
453
120
910
872
497
760
97
648
680
642
934
211
328
724
845
414
197
355
13
815
319
343
678
345
343
508
937
968
872
211
361
440
456
226
636
8
777
90
463
993
26
792
177
726
638
227
873
212
377
373
368
278
195
535
969
638
442
338
870
509
763
370
958
925
469
494
957
879
235
897
149
768
753
888
313
410
359
284
195
41
700
14
523
336
249
200
551
434
827
548
143
377
329
379
691
160
526
973
497
811
179
214
837
505
662
708
594
777
979
633
222
294
351
605
809
481
512
741
168
569
494
921
231
225
935
971
481
22
899
138
806
446
776
723
949
989
76
237
685
181
854
736
949
56
28
292
414
644
97
686
441
584
636
498
864
823
444
732
868
686
454
991
36
299
304
17
730
476
5
85
159
684
275
353
842
631
912
774
688
378
76
573
570
566
431
626
139
557
903
300
535
779
242
422
871
571
659
116
578
160
556
159
230
179
782
367
993
321
891
283
689
295
609
92
300
241
79
252
886
173
489
821
78
784
355
813
698
207
109
227
633
884
592
581
748
766
736
859
509
453
33
815
993
749
323
470
120
313
87
465
284
776
700
646
25
693
20
894
40
203
301
756
602
109
645
856
434
368
134
435
158
659
312
611
739
770
945
109
730
54
802
289
721
78
797
277
111
910
950
852
229
170
512
572
850
129
80
289
372
609
675
799
267
404
579
893
933
252
180
474
742
147
205
731
910
894
500
576
793
403
940
685
334
141
156
522
727
539
498
661
747
931
80
579
868
762
786
837
1
383
841
231
640
776
938
71
256
888
923
208
23
112
719
810
338
631
540
188
155
946
406
138
835
970
660
403
90
448
462
814
588
333
229
636
990
966
598
409
465
571
774
343
269
597
46
918
563
948
867
905
458
942
123
450
241
176
129
222
807
95
433
863
614
184
763
167
896
175
268
455
412
549
794
609
786
944
59
82
348
749
491
22
448
311
944
303
389
684
675
889
532
780
800
429
571
123
860
419
711
134
305
579
256
20
447
289
132
918
874
112
978
854
425
412
754
503
546
49
262
439
278
980
566
805
158
339
77
868
64
239
988
938
375
97
802
519
867
770
947
364
435
163
855
302
90
241
409
344
658
608
389
567
274
871
388
726
72
39
679
356
427
111
697
386
742
822
114
917
50
250
964
866
612
589
932
663
325
973
682
5
961
634
88
996
175
65
305
628
802
71
901
679
139
796
676
576
801
856
383
666
291
680
287
644
546
54
384
595
641
638
160
217
259
936
952
329
736
764
347
655
275
805
551
265
406
221
342
738
865
631
40
301
882
970
906
712
253
881
536
656
723
343
79
737
886
144
588
965
271
696
409
790
306
424
269
317
582
615
651
334
203
207
117
180
53
434
472
278
471
667
43
365
189
36
913
62
366
631
609
472
223
190
650
881
78
150
328
494
548
896
301
389
322
811
868
486
163
496
314
400
756
134
313
504
590
516
202
397
324
682
873
211
979
500
139
920
860
731
690
847
343
311
193
93
509
638
625
474
143
637
712
885
832
237
184
689
670
697
635
873
653
909
969
204
937
383
747
571
982
169
304
3
41
321
140
630
610
888
919
966
191
594
416
449
194
518
853
168
868
123
387
5
916
924
959
259
828
922
295
950
61
700
658
600
884
740
822
279
74
65
841
97
708
815
418
116
948
718
52
890
74
727
698
417
15
259
366
341
275
600
950
652
472
31
584
973
660
124
998
749
233
517
657
316
498
151
969
870
918
629
474
808
632
846
708
801
97
528
415
193
620
629
868
27
73
816
305
85
333
407
960
770
839
232
672
632
205
816
856
561
991
200
450
442
596
482
537
138
717
853
521
211
984
522
92
715
178
390
741
714
925
789
242
937
854
884
345
108
7
580
915
60
712
898
876
689
237
817
625
158
252
532
28
564
588
919
697
415
780
751
59
889
644
873
582
798
483
122
653
610
559
222
806
657
142
309
388
878
794
974
308
62
556
953
198
566
319
663
184
923
26
789
473
571
261
56
123
197
459
117
704
807
186
230
34
718
945
997
794
85
483
29
652
483
876
769
451
300
550
124
127
403
940
769
300
590
749
160
876
860
582
358
603
412
323
749
216
589
748
613
744
692
746
278
541
705
11
313
856
486
201
775
68
919
398
64
257
829
150
328
429
245
504
690
565
685
209
787
605
747
731
245
660
192
765
743
3
127
725
268
866
609
64
17
663
211
348
133
16
658
718
156
899
622
764
614
280
176
829
658
859
203
480
32
915
252
206
939
798
979
406
588
311
283
368
255
76
726
287
755
5
620
289
81
147
422
77
827
528
724
106
687
60
158
84
13
255
24
234
888
252
290
976
663
636
884
591
221
628
895
985
509
460
363
915
23
231
824
867
18
40
703
346
158
989
905
484
240
480
701
759
377
332
99
59
742
390
410
536
552
686
661
455
507
725
828
744
268
115
597
55
912
618
521
925
517
640
982
74
131
367
329
948
475
991
927
382
597
964
613
642
612
816
257
179
375
805
682
150
606
631
190
94
563
491
364
237
816
998
574
544
77
851
866
978
293
738
487
446
449
584
365
554
571
175
236
584
483
170
1000
111
723
680
73
255
896
940
196
884
422
52
171
985
297
448
490
36
998
484
654
428
129
547
282
940
727
155
747
761
427
802
204
841
833
697
330
167
505
151
6
116
959
71
465
233
947
932
161
580
76
613
680
351
505
710
598
558
82
281
65
440
762
502
244
669
570
354
496
596
696
337
300
529
514
123
509
470
477
266
430
843
843
324
656
487
142
232
285
576
168
355
370
217
982
435
37
167
125
521
649
487
778
100
857
1
83
844
115
71
234
774
497
585
209
210
235
25
230
561
422
133
123
854
773
23
752
940
145
534
631
470
756
250
610
45
717
891
275
461
512
705
319
568
524
99
691
90
591
977
747
675
824
163
13
571
596
850
389
576
715
223
803
340
254
291
394
644
436
474
258
59
248
681
698
229
188
467
675
96
638
342
879
570
909
460
410
515
900
724
593
426
662
820
826
838
900
804
719
350
575
641
965
106
341
549
553
730
499
64
929
1
496
517
690
997
822
995
217
54
262
931
430
645
103
179
492
200
856
803
853
963
454
835
537
220
686
947
891
614
852
314
365
808
206
956
40
457
806
483
740
311
806
486
564
270
41
795
586
401
33
411
292
244
145
247
29
191
705
699
400
419
344
693
53
575
696
84
757
436
826
201
20
811
479
861
733
262
302
437
528
609
681
394
548
774
724
258
357
251
251
167
555
357
326
984
481
507
998
456
51
894
437
56
400
373
580
955
489
815
718
31
256
894
228
949
197
79
759
130
500
594
764
846
977
241
217
785
73
282
710
168
185
7
912
901
355
260
539
321
171
906
560
784
366
190
373
739
170
983
66
950
949
148
672
214
34
661
563
261
945
638
716
520
397
155
609
104
569
571
945
638
144
92
225
568
500
497
428
177
301
229
702
820
409
596
43
831
705
409
347
147
924
204
152
928
63
160
595
365
254
887
823
433
273
570
171
549
983
343
903
969
116
341
214
303
746
643
492
686
678
157
546
8
805
584
617
79
121
776
519
780
731
168
165
59
662
472
100
66
710
491
355
891
882
739
132
111
190
539
331
800
715
386
944
742
868
689
645
349
738
429
732
165
251
899
705
914
629
419
390
761
286
896
473
833
896
104
721
54
784
851
975
68
250
560
189
331
638
321
415
462
229
207
660
618
74
482
949
917
941
325
786
962
412
917
418
79
31
988
974
222
84
480
592
364
252
554
104
851
901
6
721
400
226
98
428
338
792
885
456
233
295
444
331
305
521
767
421
849
534
685
865
439
112
934
10
884
328
328
245
724
962
78
187
564
97
476
728
692
902
536
361
241
48
677
547
626
670
231
616
80
62
340
837
947
549
847
868
751
83
859
714
227
161
7
732
187
615
848
945
533
637
468
157
766
201
120
878
77
673
614
134
465
982
315
558
352
196
751
20
857
720
313
215
238
637
989
284
994
877
835
528
769
37
718
721
545
628
866
365
518
493
959
444
738
914
803
912
815
664
97
188
966
904
476
363
252
334
774
751
112
472
419
608
177
273
967
597
955
558
59
590
139
877
496
944
211
522
693
250
497
330
521
865
61
863
425
248
627
273
753
231
233
902
426
878
471
228
438
518
985
307
195
852
345
245
356
801
559
561
685
883
246
535
370
471
943
745
460
241
94
58
285
483
25
248
267
709
622
314
44
188
460
260
672
608
881
825
527
44
857
170
649
834
547
35
472
752
81
229
278
54
509
639
287
638
792
93
929
521
423
556
780
310
517
101
593
154
215
44
60
899
866
416
249
831
707
701
150
436
708
376
404
51
860
330
63
170
386
687
214
412
309
909
370
864
322
296
820
561
168
166
532
387
570
87
796
556
301
470
502
137
169
738
858
806
520
64
386
105
368
367
225
23
419
841
162
634
51
822
269
858
794
176
748
162
959
738
371
141
866
544
914
506
526
715
95
913
755
914
834
495
419
228
110
665
919
150
275
990
110
151
472
470
506
920
704
598
69
983
185
917
838
840
835
635
398
158
170
46
475
849
374
126
999
40
48
688
569
48
992
911
609
481
369
898
463
495
793
138
266
40
195
409
752
691
795
713
65
230
172
270
241
748
188
491
265
416
488
102
534
477
407
268
86
216
364
657
193
880
262
876
782
524
966
584
675
795
675
925
817
511
897
596
518
666
765
999
222
235
642
455
460
691
320
351
480
700
628
460
476
833
922
404
504
491
789
348
909
420
233
609
549
352
778
795
184
344
228
446
143
306
219
949
787
81
386
645
355
193
649
652
474
19
104
901
3
734
42
292
923
845
865
656
613
485
59
457
282
973
919
729
226
290
419
814
315
246
503
862
376
111
34
892
110
405
869
473
831
326
804
691
552
70
635
166
915
876
222
298
23
204
231
810
504
868
169
932
24
319
464
216
27
500
560
94
700
895
465
743
46
411
723
751
440
759
539
352
263
834
665
722
44
413
693
935
11
161
614
705
142
547
850
955
589
771
478
605
829
216
34
695
7
251
126
103
726
444
30
688
968
368
629
630
913
216
302
99
187
396
855
182
458
110
177
134
365
679
62
644
485
59
573
764
403
521
386
555
993
975
785
320
690
789
373
479
882
225
105
760
545
830
941
427
895
201
289
649
149
559
412
984
436
465
137
173
546
849
534
83
458
218
726
713
539
573
602
591
892
68
33
805
576
912
103
143
324
348
5
512
952
801
509
888
861
462
304
528
900
614
128
85
411
7
293
558
421
461
143
716
830
647
985
770
917
710
248
544
631
991
14
380
976
589
508
292
229
955
877
658
874
987
359
872
915
344
962
922
640
820
874
837
32
651
156
299
756
574
699
476
37
306
24
333
838
875
301
241
430
860
843
706
853
226
425
419
741
848
18
655
743
248
896
232
38
323
630
867
497
55
178
791
664
282
150
903
40
614
310
574
157
495
584
466
486
220
136
358
564
458
572
42
621
430
966
783
596
466
201
739
670
78
52
968
349
43
566
354
699
248
541
858
530
217
333
980
223
285
786
232
404
379
834
705
857
243
169
537
920
711
466
191
90
360
820
982
719
427
400
204
515
432
890
570
981
310
880
375
101
203
263
984
321
287
633
757
326
117
845
513
194
28
152
975
272
73
848
433
502
808
876
13
997
20
690
536
381
119
536
954
776
520
412
710
354
775
189
207
39
637
769
763
322
489
701
30
90
772
366
912
96
174
711
401
937
293
512
613
423
444
333
538
817
88
655
652
714
54
129
611
249
402
575
682
940
277
103
455
688
558
702
626
388
450
762
335
132
442
221
624
248
173
490
56
235
862
849
450
229
907
762
976
792
130
434
568
666
957
979
721
642
497
772
268
818
74
921
653
359
302
276
542
328
170
113
386
273
940
403
632
35
885
599
914
691
14
980
429
608
980
914
136
371
292
821
143
702
821
259
840
598
329
281
926
594
416
161
445
439
858
645
369
516
757
121
45
2
331
487
44
116
450
40
562
795
200
409
533
792
882
423
64
507
832
787
605
818
393
648
533
797
136
429
466
499
213
801
649
914
296
296
274
789
137
868
382
252
202
655
328
100
184
280
446
144
459
343
610
239
723
103
920
497
70
8
611
696
814
376
574
98
170
490
621
729
739
374
714
655
420
720
892
962
968
815
594
939
924
800
363
448
56
281
688
568
776
142
874
396
189
365
381
302
615
826
35
46
392
328
877
905
788
555
185
357
617
275
378
923
988
861
110
513
209
114
822
948
484
463
451
409
489
839
755
205
301
905
976
612
439
880
109
549
969
879
138
471
724
562
960
197
695
884
602
362
550
927
553
772
84
93
663
255
84
446
157
511
765
602
723
69
435
391
529
697
526
430
274
519
424
884
71
656
848
932
37
413
640
889
945
911
918
504
202
608
516
676
721
302
511
744
935
80
417
518
357
175
341
445
580
809
965
646
544
966
745
75
237
451
117
727
737
755
822
634
631
991
697
386
418
631
374
34
457
836
409
545
376
944
280
405
628
62
536
598
83
783
158
946
85
762
835
680
437
249
425
252
124
713
360
567
448
376
121
231
385
811
193
969
651
758
118
19
948
976
340
229
300
229
565
534
214
508
255
707
657
182
688
572
473
68
760
367
903
338
311
574
367
764
317
328
491
73
704
470
652
48
920
412
991
619
631
246
934
362
77
949
711
719
702
115
326
770
622
360
663
583
398
457
174
1
355
289
672
212
379
899
300
636
735
302
662
427
939
200
422
384
131
433
448
192
729
827
689
652
345
68
555
52
92
363
499
869
427
978
892
772
649
145
31
281
985
481
308
515
975
783
156
153
514
29
348
131
496
440
673
604
448
729
752
398
960
33
24
522
955
565
498
290
100
738
926
272
684
350
445
607
353
450
597
145
978
665
864
555
741
88
489
768
273
321
429
94
286
897
724
919
680
97
445
149
571
133
638
464
988
778
382
10
304
774
126
366
568
775
7
505
6
170
696
980
933
829
664
776
177
750
431
81
923
576
511
744
567
201
258
345
769
998
755
588
401
752
227
228
508
17
191
829
681
466
699
459
515
768
594
842
920
677
641
594
97
301
769
889
935
971
440
353
439
749
304
988
545
354
924
682
342
223
325
223
296
500
494
754
527
952
817
305
586
233
574
368
471
442
298
480
778
617
773
446
29
676
897
110
191
324
462
596
317
612
149
513
70
155
668
935
601
515
45
886
889
866
486
638
181
880
149
408
624
696
402
916
511
971
815
835
838
236
243
387
25
245
829
192
698
536
643
34
442
183
8
366
290
598
223
220
497
285
562
715
849
640
900
458
371
271
275
995
752
790
14
898
288
737
797
207
400
86
175
739
27
791
606
184
357
947
37
19
328
452
433
11
342
494
394
487
440
805
213
597
950
368
295
529
298
208
841
994
214
948
101
334
59
59
314
285
368
109
642
776
993
883
27
131
425
904
929
706
966
784
306
298
436
833
70
619
2
499
445
765
540
583
333
894
662
604
834
220
169
379
522
83
229
621
947
48
22
358
98
924
939
55
257
130
676
584
717
72
741
626
382
46
932
628
112
728
334
221
1
493
279
833
496
629
454
330
345
34
80
676
911
120
666
987
319
470
333
855
194
242
140
486
554
456
143
18
497
67
149
395
932
161
251
252
523
712
280
632
393
70
233
746
916
764
597
624
75
265
246
268
476
58
240
819
81
754
422
345
118
11
203
75
432
680
271
298
761
987
278
687
998
508
727
516
573
384
401
76
467
508
667
632
236
404
891
415
646
115
52
473
169
718
317
695
648
8
22
943
881
478
987
28
764
984
584
234
873
381
291
169
70
958
735
2
779
754
389
570
79
672
149
403
659
851
988
444
969
951
785
145
623
826
179
641
211
575
24
934
215
98
595
334
629
115
211
970
233
47
361
796
208
301
705
388
907
264
586
785
185
760
797
774
607
801
371
304
241
213
132
177
524
139
587
759
826
446
462
228
976
818
904
779
937
655
878
295
286
948
807
227
884
984
861
790
391
49
588
163
853
346
780
41
624
932
561
779
320
855
688
361
324
580
974
584
600
454
542
223
226
227
371
346
108
564
195
669
784
105
375
569
108
847
790
359
861
551
152
528
14
409
405
903
465
449
22
120
541
17
77
362
459
191
974
53
259
185
546
78
401
640
61
160
347
180
359
210
975
782
916
828
593
309
178
639
647
31
882
838
961
52
414
113
512
397
489
119
248
873
542
805
476
973
271
194
653
804
726
656
220
436
154
337
297
119
601
154
604
544
909
697
8
689
328
446
460
809
413
940
901
845
300
935
921
821
688
134
571
842
91
733
740
926
985
946
951
233
527
637
251
206
369
372
116
766
984
523
919
987
568
561
609
605
281
276
633
306
67
477
73
984
781
687
186
73
675
422
240
603
552
934
611
858
71
704
595
369
729
551
297
533
56
948
238
296
400
33
57
209
495
840
771
655
673
470
593
181
206
307
246
711
748
845
3
846
260
418
477
615
137
906
284
784
450
503
275
295
378
742
995
476
909
291
385
423
862
473
499
355
110
60
214
794
638
681
474
154
753
73
602
688
303
492
609
750
255
839
235
65
350
438
663
971
852
936
461
661
579
516
318
62
536
452
591
314
433
63
488
780
325
278
959
125
386
357
27
312
598
800
314
253
724
89
4
483
491
747
331
456
360
91
962
953
580
216
299
689
514
973
855
366
349
140
279
356
403
558
574
660
187
730
293
36
284
270
243
981
879
648
335
773
465
848
712
931
858
938
265
256
157
57
921
82
684
981
876
484
276
273
60
986
504
994
688
722
547
87
703
115
463
846
281
864
547
334
344
465
333
206
198
506
523
180
998
751
811
292
734
326
120
167
816
428
259
751
159
599
373
359
859
976
854
418
167
933
574
985
495
160
389
2
618
549
883
220
53
231
219
941
854
697
793
5
692
264
91
968
157
32
815
41
650
98
832
137
142
41
990
363
291
574
154
349
135
842
101
128
636
45
49
632
837
946
686
518
306
349
516
700
831
812
232
902
38
713
617
564
724
271
144
645
213
285
82
210
977
160
368
223
73
261
973
611
734
744
769
516
538
812
126
601
183
756
642
451
818
257
372
373
264
139
952
366
227
207
770
627
767
823
180
749
894
622
341
628
128
118
883
252
278
996
45
701
466
555
327
116
676
124
976
939
665
255
816
401
147
161
38
122
554
167
573
673
519
924
562
139
481
737
287
38
422
651
621
424
842
869
694
668
503
671
29
168
345
234
798
213
265
688
254
338
87
267
599
740
197
648
742
772
722
450
449
107
123
378
383
859
283
684
378
900
948
472
117
581
455
854
34
335
217
121
907
939
350
915
65
771
182
840
575
28
88
73
90
728
284
320
238
280
725
902
600
550
232
827
326
649
341
474
405
113
109
896
434
752
334
837
506
219
177
239
481
240
216
419
482
572
307
101
923
917
471
193
770
484
208
511
4
374
264
689
457
696
889
128
296
166
66
174
425
966
12
659
990
786
482
592
985
323
88
27
702
976
846
96
350
117
669
782
774
121
365
243
568
271
965
421
300
772
892
198
768
380
580
616
380
541
595
519
849
546
268
520
319
910
96
365
955
92
905
636
793
703
879
192
365
556
82
938
178
265
2
292
657
613
23
211
568
590
432
736
250
798
727
812
200
940
548
566
710
207
517
311
271
714
602
312
400
540
441
719
407
584
206
171
372
152
168
260
248
179
137
425
591
994
329
893
896
824
7
929
859
593
477
44
230
109
606
762
61
469
74
248
292
312
968
355
586
627
205
669
271
934
455
700
41
21
927
696
792
880
412
447
621
136
432
71
516
43
208
995
747
85
461
270
284
317
680
895
839
853
630
71
295
307
323
144
330
601
600
544
51
253
741
220
292
161
268
889
63
948
180
920
282
120
408
858
557
653
192
341
275
141
423
700
661
292
718
592
796
408
158
841
816
438
160
59
609
351
920
753
408
868
221
311
588
31
164
733
837
700
589
975
623
844
487
524
537
381
740
173
674
430
885
13
662
50
430
331
349
929
429
438
448
44
667
468
602
990
797
826
473
563
220
276
424
163
328
624
305
772
954
589
644
584
537
705
293
846
559
59
192
85
253
238
458
743
464
131
444
124
814
103
761
715
979
647
520
192
995
823
199
823
985
657
623
580
590
218
494
990
707
271
820
648
825
227
351
347
375
640
840
5
33
624
526
896
828
391
777
229
261
569
190
769
356
91
810
35
735
203
333
582
335
597
282
17
365
757
193
678
453
345
784
386
706
868
940
255
580
928
75
320
57
59
126
670
578
541
978
837
628
604
607
422
614
120
594
338
940
219
960
589
755
266
465
196
890
294
601
748
925
277
532
64
159
627
119
627
494
879
20
763
884
853
546
31
72
473
598
926
769
43
559
792
305
8
429
773
71
163
857
781
709
774
989
665
123
365
184
235
864
731
743
336
325
307
759
924
505
189
67
949
787
956
85
942
313
920
3
357
34
603
381
109
462
46
742
233
466
12
124
291
213
271
911
948
480
943
440
132
122
296
64
348
453
488
335
971
639
505
962
828
985
927
999
977
175
237
521
336
102
75
671
758
918
247
537
214
328
303
814
966
955
171
546
17
810
722
571
670
511
82
446
696
926
202
759
521
334
480
726
801
30
215
870
966
547
278
432
598
295
681
836
44
509
634
222
231
795
302
532
523
488
699
131
339
272
62
263
407
189
621
900
768
264
875
720
71
453
381
993
267
507
571
147
557
666
301
659
318
795
691
698
789
677
292
651
494
729
781
239
733
291
192
472
989
20
159
61
768
616
762
254
211
278
354
268
795
838
177
636
592
461
668
802
836
200
96
258
996
411
585
364
170
265
637
727
381
149
965
709
245
729
852
171
606
867
245
54
910
370
511
756
525
769
91
592
723
909
307
753
764
215
224
345
360
841
782
45
827
824
360
846
390
542
589
176
426
464
482
392
943
197
889
297
175
321
896
845
33
351
993
643
45
443
787
239
559
131
562
381
231
471
214
661
251
453
962
961
313
449
770
153
91
741
587
321
864
914
355
628
958
983
255
569
901
672
768
30
535
159
992
994
815
958
77
228
747
349
787
530
684
880
975
390
230
70
165
31
104
344
581
813
628
642
640
971
948
879
388
454
713
635
392
430
674
26
311
656
618
692
754
488
99
242
62
793
682
296
322
374
773
469
281
838
699
257
797
5
345
809
156
75
570
989
862
755
576
974
470
466
640
869
703
587
878
448
291
382
238
235
989
903
542
515
761
720
182
815
394
717
35
601
694
611
278
645
1
32
15
597
929
235
82
773
168
521
959
83
659
462
429
304
679
879
554
638
184
317
528
580
275
459
233
660
797
504
607
554
886
59
512
365
762
483
410
652
158
966
17
899
591
823
46
677
87
628
346
733
70
843
961
553
874
557
163
775
754
753
60
966
294
344
167
862
876
808
251
195
195
879
826
566
883
190
909
690
939
149
31
494
55
629
59
195
875
232
54
496
917
983
279
462
173
341
462
469
387
275
595
872
602
37
876
668
894
919
887
491
88
970
722
722
895
135
590
387
122
767
372
753
514
773
683
235
368
928
310
298
252
56
256
529
37
834
233
950
991
955
174
945
864
254
209
887
719
213
594
649
781
930
311
727
720
230
365
611
595
141
359
378
150
313
582
228
276
327
656
813
236
25
803
789
675
155
885
935
536
623
713
604
753
636
538
977
974
816
242
835
664
155
543
89
608
341
408
332
257
523
963
64
334
94
419
30
850
426
925
351
988
791
780
696
331
874
173
807
544
420
444
94
950
515
883
845
385
952
269
856
361
930
639
910
823
58
300
605
744
274
710
463
356
823
644
153
115
868
35
892
347
687
964
799
124
616
542
31
99
113
855
47
945
347
708
210
515
702
629
279
82
467
508
7
816
770
263
205
171
504
130
146
15
591
552
109
116
437
121
187
109
835
720
232
137
910
843
966
190
897
9
804
561
690
395
936
941
138
27
549
444
990
388
847
211
261
862
715
349
523
216
440
642
312
239
909
863
385
728
75
540
47
241
314
695
152
436
475
460
653
348
66
417
784
654
10
202
53
842
862
206
211
218
193
176
303
818
82
141
710
679
323
356
795
337
986
917
443
110
435
258
271
490
784
23
757
927
4
668
882
389
633
755
118
364
56
70
778
350
858
611
793
501
634
978
968
797
940
925
639
988
773
635
443
653
96
806
613
850
430
778
790
236
474
725
869
40
32
441
797
923
283
324
553
609
564
981
781
125
392
284
659
658
396
807
627
305
226
334
560
447
241
500
776
100
973
727
80
331
951
294
656
782
436
777
216
386
55
119
286
602
60
269
871
904
228
666
50
765
945
855
226
117
111
173
869
80
889
729
587
825
155
906
267
531
771
200
855
801
422
520
70
306
814
972
952
130
515
779
722
39
534
215
830
865
62
323
453
301
429
778
929
663
433
451
801
595
703
94
190
273
608
125
209
381
580
640
988
39
383
649
696
897
3
15
602
800
333
730
845
807
777
977
82
842
205
884
575
926
452
13
627
784
680
383
464
559
495
284
835
560
654
214
586
214
555
22
448
870
501
747
116
711
874
704
435
765
957
67
188
964
134
601
553
244
571
190
737
932
310
521
726
23
899
606
323
544
305
830
872
851
859
864
169
587
443
89
25
46
923
152
908
839
101
883
881
106
84
87
764
967
41
675
124
585
752
154
173
962
240
775
146
588
30
529
65
117
271
738
19
557
25
210
314
837
532
794
844
228
134
696
72
785
875
126
831
911
465
641
996
140
439
92
725
481
844
214
593
986
733
704
444
734
52
110
177
102
273
970
39
989
247
417
173
672
323
906
343
96
724
803
764
682
540
325
919
229
461
731
104
27
575
712
167
127
98
648
605
596
930
782
719
654
307
367
20
858
621
551
459
844
703
93
315
711
451
995
810
817
739
803
576
619
939
633
131
203
244
931
426
307
207
625
338
987
553
577
702
532
387
199
133
897
375
679
375
696
321
502
425
753
859
876
948
330
641
207
830
394
497
3
826
707
501
450
346
114
826
429
399
113
520
936
584
707
73
700
815
538
752
295
149
560
196
193
689
813
705
18
47
404
968
726
239
461
735
552
234
640
66
351
579
775
357
397
654
364
299
774
165
903
266
277
398
516
441
104
628
952
131
714
832
758
313
909
482
381
460
606
823
11
59
762
447
211
75
615
408
777
782
748
377
805
22
466
536
640
976
640
26
256
935
486
732
601
414
691
146
640
184
956
813
131
435
257
651
659
344
117
998
96
790
708
837
438
781
912
47
935
490
327
900
508
418
787
277
757
314
168
228
226
974
145
574
223
913
59
224
169
231
276
762
389
687
230
630
262
121
852
950
874
857
254
604
658
699
308
708
23
401
273
28
651
287
707
192
945
800
703
794
126
350
908
588
573
746
886
50
330
903
124
470
140
254
388
647
966
493
200
957
727
846
906
275
908
67
199
762
755
739
982
23
19
273
119
514
585
205
1
362
877
989
827
957
618
536
148
774
404
137
551
883
525
282
316
524
681
84
492
930
521
701
142
318
460
176
406
590
814
578
655
820
150
205
235
54
630
856
216
288
295
872
106
752
456
744
728
791
801
525
300
691
393
239
319
772
458
743
6
977
775
215
939
923
494
559
953
118
429
538
604
626
213
369
241
965
241
851
226
439
958
834
973
429
910
979
233
373
938
325
493
314
34
111
459
932
680
704
331
885
932
199
979
184
126
504
189
43
839
239
878
318
652
804
530
216
368
372
135
444
511
336
625
314
389
967
93
631
490
657
129
393
716
121
221
393
793
396
511
859
242
249
123
148
408
917
943
348
432
687
993
355
494
913
448
626
295
497
995
341
555
763
419
150
252
874
247
44
409
674
823
117
535
858
392
165
228
934
679
146
3
261
937
461
183
814
639
942
538
990
848
180
430
912
755
551
399
186
76
862
498
12
764
82
191
869
996
1
306
740
481
999
331
995
953
313
370
573
109
350
167
116
371
581
933
3
579
549
139
66
144
331
63
908
227
567
626
338
253
826
979
430
405
653
378
99
822
101
117
906
848
943
666
992
73
47
723
661
884
573
567
176
876
774
981
707
826
161
1
266
864
734
939
650
109
762
433
93
317
356
773
360
26
675
384
484
260
171
139
205
126
698
134
456
501
669
643
885
623
709
270
527
551
379
690
191
386
676
978
52
640
902
249
220
341
466
209
772
286
894
279
858
381
60
130
990
120
235
855
573
102
45
488
58
928
869
256
828
950
488
800
103
118
55
533
660
617
562
498
159
60
20
332
219
762
533
429
133
21
248
983
339
390
977
356
291
638
896
140
413
476
328
356
172
144
73
466
145
655
136
250
127
802
979
164
974
75
639
476
883
250
122
347
212
734
511
30
837
729
127
529
209
881
905
388
982
371
856
758
91
327
150
537
649
45
837
152
867
735
723
526
499
427
231
866
966
222
338
166
423
283
845
757
491
864
302
785
298
152
897
261
760
930
459
176
751
893
560
260
910
921
368
132
376
812
487
954
641
756
566
225
73
302
829
7
378
692
23
702
426
233
481
489
418
782
164
660
316
525
530
382
853
992
68
888
170
623
161
668
330
281
695
26
546
829
501
275
928
231
280
918
962
698
137
389
737
67
227
332
149
947
302
916
899
149
143
415
163
606
963
99
199
252
857
543
19
337
305
572
480
240
543
454
782
157
335
360
450
943
318
813
282
1
620
603
667
340
912
600
890
848
365
23
770
361
291
962
22
350
350
388
240
901
333
438
298
192
442
524
251
881
927
681
539
618
681
608
413
428
106
89
12
848
175
789
451
509
77
982
621
331
298
396
127
608
263
217
949
48
915
249
952
269
721
390
338
322
643
851
491
597
545
22
433
833
364
474
308
33
118
363
855
805
496
411
861
2
335
722
949
576
757
916
884
260
147
457
760
988
393
593
71
17
49
24
677
324
139
269
99
176
370
730
419
745
373
598
303
258
482
82
286
424
213
940
551
868
289
881
849
841
557
269
105
752
612
446
508
957
274
132
549
811
323
627
600
198
66
930
51
621
363
491
969
479
724
44
532
319
978
824
177
719
761
568
544
924
820
850
802
547
676
679
883
418
736
816
460
164
321
897
272
191
406
317
521
563
125
774
638
652
145
535
656
570
149
770
798
120
517
753
669
406
217
332
596
304
615
828
270
729
617
463
801
960
106
471
732
371
93
276
311
560
427
529
590
212
138
324
460
59
730
614
826
911
810
712
490
78
443
767
197
445
566
274
480
99
560
19
651
668
853
310
280
498
27
12
990
337
439
686
266
497
832
71
218
322
727
288
948
373
668
362
237
957
542
115
743
492
271
46
838
726
124
524
463
24
817
561
135
763
314
400
314
394
963
435
891
850
182
269
462
823
426
266
400
884
573
622
466
525
186
771
855
21
319
976
121
402
696
45
374
944
90
431
526
320
700
427
113
969
151
751
413
285
530
612
145
949
478
234
50
118
990
913
20
171
996
901
262
449
196
807
195
718
924
747
369
118
974
164
748
992
451
112
97
311
696
809
62
362
252
407
767
16
655
302
397
134
561
731
293
635
340
88
527
320
812
153
816
817
242
404
875
881
62
661
8
873
29
599
812
443
708
67
347
322
225
745
49
646
213
373
923
428
746
706
305
629
854
375
567
791
903
33
663
319
704
528
361
339
750
356
304
509
362
321
822
284
871
139
531
915
149
717
317
898
983
979
275
680
766
392
508
171
967
803
492
23
661
811
872
691
179
639
137
998
572
415
615
329
174
839
640
561
10
420
502
561
182
907
58
413
645
17
432
504
976
321
323
318
858
976
789
4
970
993
279
855
925
941
881
355
678
266
410
813
584
917
16
482
888
594
454
680
977
734
6
669
173
291
325
945
184
496
166
168
587
1
7
156
872
293
99
260
678
777
359
948
757
694
812
617
167
927
9
503
902
778
980
33
916
2
742
140
70
751
396
859
37
586
84
991
623
382
910
733
266
777
990
984
710
809
413
420
965
502
818
574
731
470
660
864
356
64
19
940
311
171
984
768
855
562
203
593
276
583
212
288
627
82
531
622
370
666
317
685
712
802
588
12
699
798
619
994
345
404
169
758
142
635
579
67
330
437
662
720
211
956
497
551
578
537
938
441
113
28
646
647
178
623
945
369
989
252
667
727
616
498
402
197
566
112
254
142
992
464
305
280
725
692
443
795
367
874
141
336
713
293
51
332
583
750
996
883
985
905
63
3
193
867
991
119
925
558
29
558
339
941
707
217
920
828
758
729
714
833
539
214
537
15
866
152
949
884
140
982
791
748
981
806
64
809
398
962
730
64
652
288
820
768
603
636
841
205
264
529
105
523
747
935
5
669
513
760
710
821
122
44
990
270
231
829
100
397
642
305
731
248
629
186
66
242
576
185
865
672
245
130
339
36
597
504
281
677
150
140
566
875
347
397
660
297
216
381
225
708
928
691
245
904
500
707
373
114
994
685
334
547
34
758
318
311
380
515
229
678
581
963
591
557
440
573
633
66
158
551
831
323
510
686
732
894
368
885
433
888
189
9
449
325
852
718
91
251
348
840
611
46
403
182
589
503
52
818
11
568
555
619
449
57
821
206
619
296
678
555
312
374
898
213
404
634
904
428
153
84
456
576
536
660
415
882
700
648
923
844
926
123
901
716
671
955
840
76
373
798
244
826
689
489
940
914
773
446
718
710
983
978
363
234
162
928
267
376
256
654
189
832
555
217
653
735
314
526
717
853
831
344
527
805
328
310
159
923
150
531
730
320
841
908
677
183
649
55
364
559
890
587
943
690
382
584
442
492
842
236
642
892
771
31
167
571
816
373
600
122
37
171
136
738
812
767
453
341
351
565
23
500
890
843
45
557
708
539
546
141
33
247
972
659
741
251
758
398
544
229
952
595
977
111
972
203
99
731
940
118
275
70
872
298
805
326
181
557
420
562
598
829
900
402
598
307
130
92
874
231
936
241
225
6
950
771
461
999
566
873
579
610
775
291
504
172
303
873
171
805
995
128
558
610
859
473
570
484
496
976
354
405
930
640
689
234
1
705
602
993
535
30
245
38
506
329
383
817
278
934
532
660
772
794
924
608
148
638
967
409
139
563
825
622
714
824
60
248
137
305
12
417
827
913
753
445
622
186
994
1
204
493
284
233
456
530
203
426
495
233
22
182
931
888
482
176
701
912
929
237
455
764
15
909
58
475
597
632
228
532
250
409
745
252
13
139
889
301
622
806
39
732
491
357
384
764
117
422
767
542
450
994
541
280
982
796
181
523
951
357
78
731
140
748
607
51
175
504
55
903
97
544
496
990
278
755
982
422
395
503
728
926
277
540
97
515
927
629
281
583
915
775
527
109
639
91
648
550
664
217
348
43
446
646
582
732
303
534
751
411
385
325
71
153
742
11
834
304
341
975
621
13
12
126
730
471
856
480
232
152
613
439
82
672
858
744
678
293
630
507
88
739
339
774
941
736
296
780
612
612
288
446
931
371
937
685
94
877
438
769
840
182
461
354
257
572
607
754
751
605
833
707
834
272
714
199
366
417
191
844
821
743
745
990
957
25
550
950
975
661
226
728
919
313
256
177
565
183
17
788
523
438
621
207
599
377
459
128
740
220
413
449
24
797
188
424
250
19
128
83
632
700
157
387
994
243
219
406
661
692
681
318
888
889
711
183
340
822
539
243
559
749
869
971
845
380
440
222
217
187
857
606
423
933
417
640
25
621
552
328
669
361
924
579
585
121
948
238
181
913
710
609
397
743
822
49
100
557
757
553
407
518
584
343
262
138
843
87
8
226
497
777
950
114
518
242
112
352
678
962
495
900
554
141
139
875
571
960
195
67
171
562
59
770
811
607
309
944
580
139
838
389
648
132
110
368
650
313
898
96
370
757
224
613
753
331
463
806
393
252
754
776
79
910
898
333
942
652
930
109
980
364
411
677
507
580
266
114
140
303
722
648
488
896
454
366
620
220
572
487
719
623
512
385
86
559
173
346
781
355
893
37
758
83
980
811
296
614
555
254
899
635
381
830
614
850
245
94
873
624
175
708
576
52
454
392
93
810
958
57
280
166
815
546
396
223
767
851
17
791
903
184
655
307
607
973
818
846
701
756
669
605
717
903
269
177
197
297
642
584
689
442
534
297
868
893
793
413
813
618
760
738
31
621
910
800
242
161
282
691
299
976
877
197
863
199
312
925
632
60
501
964
965
66
29
166
728
45
172
334
88
372
262
404
722
695
161
245
650
720
172
835
461
940
610
376
227
720
618
395
812
808
512
978
584
198
140
87
771
195
231
317
845
738
720
567
332
272
365
827
390
953
757
693
381
541
3
290
354
137
931
983
87
797
676
636
844
176
877
214
527
533
546
191
232
883
845
590
552
548
651
451
134
136
786
207
102
776
238
725
955
471
511
766
492
617
494
217
85
21
881
734
381
273
227
382
139
945
179
420
422
871
294
652
836
752
107
669
836
388
827
835
382
145
68
131
389
649
563
801
479
300
674
309
520
915
819
264
315
706
648
850
595
833
920
756
150
981
539
783
544
766
136
111
364
284
946
651
349
776
412
61
80
243
154
765
134
771
455
753
716
523
372
21
847
598
983
289
101
442
994
986
761
89
168
607
989
267
560
221
292
339
593
295
112
104
343
43
867
734
262
159
116
500
732
176
839
485
472
643
1
179
853
15
666
717
586
415
931
532
80
435
875
346
25
714
519
778
381
379
520
297
12
285
962
919
669
665
133
806
880
984
622
903
581
722
414
845
995
385
936
624
361
213
132
929
582
978
755
663
778
758
995
826
24
773
481
913
251
202
455
940
424
410
610
479
605
145
707
391
470
101
550
496
135
688
356
53
934
981
827
776
909
601
499
80
323
704
36
397
481
367
202
677
501
370
159
666
433
822
620
145
333
105
106
68
439
328
242
474
641
888
593
116
760
705
995
980
36
449
733
241
354
363
211
790
415
317
927
108
29
361
678
165
181
367
946
18
306
322
270
944
488
421
303
281
925
441
899
629
50
761
275
698
170
21
769
878
334
627
203
569
431
254
178
419
168
15
912
843
692
204
350
675
82
394
393
326
855
192
34
587
915
133
74
83
90
52
876
440
511
750
331
429
625
950
767
686
528
304
73
156
667
740
699
42
688
504
530
885
354
49
827
386
997
388
600
695
949
555
755
217
748
634
376
415
670
166
265
696
357
838
705
239
845
53
990
542
323
358
906
531
325
750
761
304
878
533
994
998
316
773
622
767
112
373
42
598
65
458
742
529
640
50
526
844
74
2
732
5
96
770
781
389
770
874
75
384
14
855
921
46
798
91
690
301
900
129
843
626
373
40
843
258
529
920
175
245
364
817
909
47
796
287
278
4
33
284
711
705
638
271
678
161
605
301
437
770
856
285
523
217
95
847
362
849
874
952
944
543
77
974
872
781
739
983
426
454
301
816
522
903
909
925
548
858
358
97
118
190
637
862
719
898
790
853
67
300
997
393
761
212
357
326
470
777
852
490
454
710
349
227
712
940
319
41
409
21
148
836
527
233
528
176
888
994
448
644
778
43
722
713
419
904
820
486
443
264
18
288
336
258
536
383
545
126
347
13
590
333
847
543
9
54
407
753
470
864
111
228
689
584
657
325
59
502
482
452
59
595
666
236
583
957
56
703
292
389
359
765
978
952
665
161
723
378
964
486
308
396
747
107
945
402
716
558
900
419
951
491
998
949
612
365
290
157
430
851
426
796
763
340
370
434
963
61
158
830
163
49
321
742
368
593
465
94
903
882
223
151
855
265
494
295
147
908
428
60
257
678
83
321
413
752
87
916
308
795
889
520
959
558
418
308
408
375
23
768
335
383
599
78
530
217
720
592
384
590
385
336
209
416
753
870
262
87
823
535
788
100
596
877
268
479
668
996
341
337
563
694
525
482
375
518
953
193
427
256
841
162
767
988
280
119
233
547
265
849
757
114
567
153
324
727
174
794
721
688
554
626
787
193
909
914
399
27
929
327
832
861
288
187
435
466
280
353
829
179
532
558
906
80
698
79
995
632
404
409
475
992
468
966
967
786
622
948
10
949
523
171
754
102
837
79
804
30
587
146
805
81
731
601
734
645
180
700
174
471
38
816
996
224
913
232
31
589
529
864
261
223
744
74
4
998
278
385
384
364
136
171
81
81
744
329
7
236
268
547
75
271
477
2
686
652
746
260
883
961
503
671
405
428
485
807
20
355
676
325
574
444
677
195
187
789
566
407
897
163
34
108
833
291
659
615
704
987
729
918
977
394
951
88
626
91
700
454
757
470
209
576
708
646
260
768
461
118
461
410
344
554
175
338
8
357
523
370
632
114
643
426
146
662
596
760
20
234
843
530
824
92
257
307
346
115
993
168
498
53
367
676
658
529
75
412
353
443
727
713
396
91
668
916
676
217
502
739
825
179
554
369
871
629
746
469
822
381
32
590
855
673
546
398
379
624
111
728
826
503
613
732
434
383
999
259
629
834
355
202
907
599
588
750
227
604
738
328
35
215
832
593
995
422
488
980
377
472
214
166
850
559
422
318
115
351
723
122
421
504
988
427
486
817
5
777
788
366
272
250
491
753
639
787
492
627
64
632
218
727
681
589
827
26
763
574
409
992
936
296
645
583
163
17
119
362
603
12
156
46
451
741
602
853
244
780
478
271
934
217
763
242
231
600
905
303
322
478
805
931
120
252
147
187
597
371
935
769
601
851
23
768
790
732
227
714
975
366
344
13
194
353
24
496
317
547
982
602
836
797
480
656
762
971
353
834
242
413
112
629
574
157
813
103
800
113
466
737
945
973
694
456
280
760
278
269
684
777
978
29
304
241
719
10
226
999
842
345
810
558
609
893
639
136
567
777
833
519
705
641
551
351
538
673
127
858
415
571
180
139
339
923
452
881
580
929
878
773
171
985
556
945
152
423
890
472
81
634
171
370
907
826
220
514
749
971
567
618
551
816
813
745
809
434
454
807
820
432
455
186
951
859
302
900
458
795
80
702
295
840
369
154
161
990
404
936
759
915
983
658
877
254
65
968
432
357
891
38
58
860
686
403
173
561
719
668
723
348
556
851
928
340
841
963
471
989
831
991
510
601
213
592
776
640
447
699
826
215
973
687
194
364
170
929
782
67
853
385
351
487
447
305
369
570
707
282
805
956
997
645
657
171
706
631
168
167
312
857
686
596
1
368
83
648
492
928
502
877
903
298
933
237
94
949
813
411
878
21
382
660
919
400
12
585
919
428
124
641
911
135
552
729
84
859
450
953
596
786
913
420
251
242
484
42
737
539
649
402
402
804
222
125
128
485
253
646
979
180
721
906
708
11
821
322
104
15
58
300
413
936
773
688
739
363
919
816
451
339
97
190
52
504
939
494
917
299
864
266
576
976
147
525
932
3
8
643
935
924
130
979
723
918
598
142
198
90
787
250
325
994
97
248
165
31
783
137
838
103
346
986
125
393
58
702
395
170
262
855
903
324
16
288
286
699
481
848
228
361
253
356
905
667
444
823
739
364
934
24
451
964
658
749
167
347
184
459
544
869
125
596
509
261
113
519
209
243
174
881
222
96
328
275
871
413
180
152
765
843
46
333
316
945
921
922
18
191
187
69
777
761
546
814
387
1000
34
202
571
322
406
965
647
919
351
328
974
812
229
918
828
700
46
317
247
547
369
560
679
65
767
724
996
66
143
851
526
186
26
592
293
592
466
369
574
133
720
313
223
847
283
952
939
846
168
419
803
407
549
934
984
492
16
469
424
64
721
772
735
258
637
410
260
902
20
57
452
944
875
63
317
36
945
201
629
911
256
632
40
231
769
298
5
228
29
374
657
855
25
954
356
106
642
827
695
868
194
78
141
935
528
243
330
810
110
927
293
525
305
118
503
995
801
907
709
363
755
963
980
359
760
912
230
984
202
710
781
685
892
213
187
787
144
406
646
146
609
172
776
857
251
71
477
384
828
293
853
663
108
891
922
576
854
389
917
674
293
109
528
199
378
873
351
254
674
289
142
441
92
462
216
401
23
830
483
483
649
783
147
178
322
869
69
88
966
683
157
892
368
992
904
221
97
242
389
389
536
372
625
648
168
764
134
12
829
242
26
720
123
266
650
80
556
842
121
811
251
235
588
951
276
241
198
96
748
673
78
14
845
674
517
652
792
698
778
191
704
282
587
62
874
219
427
773
753
417
202
6
374
457
712
674
437
888
650
521
618
334
496
446
897
806
786
902
904
993
708
622
304
910
879
453
240
976
450
231
743
536
420
532
770
821
110
554
255
602
316
609
146
103
548
470
898
274
132
290
315
194
643
959
949
191
335
506
472
247
754
604
604
407
679
346
160
185
910
164
788
433
195
213
757
714
750
562
946
31
425
280
845
621
546
860
917
656
861
450
187
888
839
64
263
678
734
264
311
384
499
820
670
796
599
484
933
153
249
363
265
278
385
292
710
577
970
276
987
917
832
319
62
925
322
902
359
865
503
964
49
54
490
490
276
718
776
698
538
301
107
404
682
514
517
324
163
807
645
983
237
532
337
395
794
819
842
881
343
27
627
239
523
723
942
957
144
316
782
316
396
832
829
76
363
842
300
840
377
203
323
374
82
119
677
899
289
994
213
829
838
697
279
505
718
140
821
229
642
548
600
307
114
360
141
860
790
517
616
897
587
766
863
488
572
719
114
936
122
601
828
493
245
52
222
552
214
859
716
203
887
194
519
710
157
829
14
792
997
747
438
521
476
811
576
304
935
412
866
687
231
540
311
634
599
348
122
553
204
70
807
569
917
100
747
457
175
163
950
195
46
751
764
343
810
427
817
269
371
181
352
849
871
732
420
378
676
588
106
316
752
685
82
981
105
663
292
434
574
161
503
648
766
52
800
475
330
181
820
90
95
23
696
329
809
641
202
811
349
457
568
790
310
671
798
458
832
574
77
805
349
642
64
208
726
38
397
643
887
83
794
770
633
321
467
189
782
39
396
834
194
492
236
821
476
630
200
55
403
807
317
575
151
839
882
890
472
755
733
562
833
787
265
889
362
449
679
832
188
31
84
255
347
514
474
153
11
634
489
766
219
855
139
409
617
46
349
385
9
964
251
572
652
55
659
147
311
641
38
450
46
326
598
141
611
300
847
688
100
308
32
689
194
223
451
699
943
515
524
36
526
443
840
511
856
458
153
144
196
108
439
715
187
754
671
416
811
514
927
987
862
164
832
437
423
166
71
881
710
597
915
60
385
535
270
851
116
341
756
420
722
395
714
719
711
38
840
710
403
881
355
27
118
180
245
799
104
675
95
2
961
145
503
24
349
955
880
76
653
29
659
740
121
2
627
170
683
817
100
457
326
616
150
204
400
639
942
649
703
723
516
541
522
149
23
566
62
836
508
310
876
280
818
629
950
245
122
831
86
912
810
243
114
98
267
591
214
207
126
111
378
748
103
470
581
642
492
372
785
34
679
198
268
1
800
162
131
370
820
217
19
850
839
409
247
799
409
439
554
267
999
967
642
396
518
579
512
839
988
396
372
681
39
37
524
200
872
993
251
919
768
531
149
635
979
893
763
459
85
935
665
506
478
320
287
508
689
35
950
534
676
337
505
984
37
155
939
197
341
651
99
343
432
861
409
763
590
331
109
515
919
205
52
741
159
503
550
360
434
207
114
747
89
358
174
278
863
540
48
80
146
65
465
867
947
622
950
500
508
411
250
776
211
571
748
8
533
242
534
155
331
729
387
619
654
65
410
328
630
723
509
415
699
360
180
602
616
247
343
398
197
462
28
351
747
51
822
893
456
67
875
757
840
818
138
554
471
727
266
879
810
901
243
204
975
887
415
915
651
129
24
65
153
311
764
822
857
122
147
115
857
972
661
683
678
842
798
620
345
752
44
460
918
327
824
90
852
511
220
35
176
816
999
188
554
377
115
678
725
716
405
356
712
328
603
345
437
138
184
191
57
409
785
436
447
931
114
819
705
148
321
924
471
450
790
803
169
21
184
984
948
482
359
352
255
42
452
533
458
77
75
845
899
801
993
308
54
205
150
944
243
549
161
389
468
462
640
813
506
147
874
314
349
287
356
215
443
969
670
161
953
387
39
505
448
91
619
263
988
329
284
788
603
339
198
446
504
513
961
764
220
44
493
924
30
971
99
28
676
574
345
250
380
710
505
840
597
973
294
982
785
555
570
646
689
299
445
934
309
688
30
858
762
493
614
178
690
354
653
666
761
842
365
172
57
432
91
907
833
398
809
685
194
835
400
250
762
909
268
380
263
937
949
231
285
108
178
228
176
489
709
890
124
439
833
139
45
741
176
46
764
547
845
438
366
700
395
468
284
126
426
111
883
765
834
466
797
942
853
942
299
169
101
671
284
124
737
937
259
947
731
31
897
53
958
700
284
390
538
273
6
425
367
624
578
181
273
370
562
328
638
73
891
677
561
779
560
411
871
923
850
52
385
457
668
477
806
129
456
237
568
940
309
85
770
194
644
882
23
993
757
984
724
694
113
798
741
614
43
476
2
257
819
564
761
394
721
30
634
632
839
289
612
512
797
722
344
740
509
705
963
896
374
357
593
871
19
67
467
288
809
325
287
398
894
566
41
274
432
546
6
665
32
197
75
506
134
81
865
941
229
309
289
672
371
227
382
590
360
281
256
960
386
197
947
836
651
34
799
45
693
710
782
787
708
339
776
867
140
66
476
601
243
126
968
719
79
548
484
935
650
245
79
416
468
232
181
88
884
400
73
561
937
524
353
464
295
203
342
182
127
27
227
258
358
548
440
260
851
555
410
512
469
785
373
906
884
379
339
934
232
378
688
228
416
38
122
114
917
15
836
134
492
302
870
54
8
372
562
610
971
107
888
131
27
1000
303
225
810
558
337
905
44
23
836
903
730
321
236
416
572
620
651
212
559
996
904
847
743
492
814
700
802
285
226
724
971
764
276
44
238
68
330
25
508
51
897
35
607
683
564
855
572
614
649
668
668
20
868
574
978
840
747
848
192
247
915
533
448
487
701
496
691
255
627
800
18
410
518
63
930
149
933
530
224
720
542
724
514
378
885
867
992
581
683
776
126
319
488
526
410
113
6
10
188
415
863
455
799
91
933
61
12
186
607
203
767
417
536
32
743
703
456
918
175
552
665
885
632
349
622
83
178
379
897
389
459
962
417
424
777
202
545
635
131
673
19
600
554
828
217
382
788
40
504
589
521
958
659
769
931
304
500
915
247
322
871
148
413
835
80
92
703
279
744
65
305
124
751
963
490
840
686
659
962
888
669
784
380
312
1
994
842
117
414
245
351
27
983
93
855
160
974
782
525
858
988
703
316
168
769
852
712
488
951
52
801
479
848
54
453
626
100
112
435
788
621
234
766
637
852
158
445
163
724
991
9
292
125
620
998
263
899
200
529
589
560
508
649
321
996
468
37
859
387
933
935
731
452
660
877
609
929
486
923
328
872
888
609
816
969
497
755
679
565
608
601
614
494
447
503
978
163
724
527
602
517
47
873
374
668
839
981
215
6
760
567
810
550
43
595
865
127
774
347
714
765
903
378
823
299
714
104
112
791
517
159
27
815
594
493
6
62
806
350
297
984
790
916
97
397
425
420
644
69
45
914
173
304
936
782
645
480
791
276
763
258
146
9
75
980
284
403
879
322
742
541
276
878
344
727
919
729
635
342
942
459
705
257
89
279
637
144
304
132
253
519
892
672
387
237
900
34
667
477
550
134
650
954
402
86
229
201
411
957
398
300
201
728
839
364
697
805
312
385
705
832
475
847
161
915
601
589
562
523
653
11
488
539
280
640
264
900
630
439
522
255
303
34
834
899
375
190
659
998
200
454
557
778
591
880
973
934
101
140
968
965
287
127
915
538
308
366
540
268
685
165
679
483
791
454
790
662
479
684
536
209
270
9
758
171
706
187
754
291
765
295
65
553
763
422
912
952
761
918
3
805
324
690
695
350
394
267
374
698
192
69
510
505
279
357
23
857
346
872
495
951
901
30
283
103
699
875
759
522
698
667
780
61
350
124
933
840
224
847
314
258
338
369
364
395
65
633
764
215
173
421
535
329
363
396
225
255
656
1000
543
276
128
372
851
27
772
849
715
872
716
357
77
985
659
186
697
819
107
237
219
293
939
787
594
584
909
261
615
922
909
247
998
123
198
244
807
904
387
227
985
229
610
119
438
988
217
734
406
376
323
519
833
195
696
736
65
161
825
310
482
995
466
658
611
719
610
257
856
111
618
571
217
719
197
242
293
174
35
109
402
804
120
713
890
721
253
432
548
587
780
289
609
285
342
769
964
569
304
701
74
550
587
360
581
598
807
486
735
813
997
824
591
714
702
121
387
253
886
283
632
513
946
506
225
732
74
764
339
385
381
998
915
117
460
703
350
238
544
392
363
371
990
584
92
570
612
548
170
894
292
29
939
12
359
575
944
847
498
877
562
692
282
758
960
468
21
57
561
45
280
648
854
585
300
317
711
921
545
989
310
854
800
86
403
116
536
416
957
420
764
46
102
682
214
92
928
27
508
191
930
628
893
714
777
783
260
447
670
881
390
557
734
88
829
131
809
618
338
497
481
464
609
818
424
326
827
167
926
254
697
404
9
222
754
694
666
462
142
431
573
865
538
677
106
187
596
949
580
108
83
337
443
417
878
499
580
726
140
18
956
153
234
988
601
351
470
457
329
116
306
527
637
565
433
511
957
511
73
519
813
274
911
249
429
595
293
560
67
722
719
608
670
37
220
946
417
749
871
10
426
307
593
831
159
182
368
648
61
578
193
358
562
442
402
340
871
888
475
291
917
749
103
137
375
540
38
956
991
532
247
120
275
991
969
550
244
913
545
41
69
704
315
112
378
370
432
754
495
713
213
700
50
944
480
603
286
881
445
590
836
612
844
185
929
96
426
535
779
676
373
182
388
889
923
394
94
293
297
174
7
214
986
670
873
504
616
607
34
375
895
775
862
370
595
357
486
343
124
53
653
93
18
549
311
954
592
876
860
216
70
565
42
710
732
363
128
287
28
419
417
196
133
515
32
574
118
915
663
326
784
820
232
725
206
280
395
930
190
631
430
461
218
174
350
399
870
870
987
673
416
281
410
391
17
851
275
544
945
885
608
832
340
279
86
550
277
113
92
694
340
724
697
456
465
774
245
302
568
116
408
671
335
974
415
141
610
80
646
579
21
914
970
419
827
128
958
695
485
569
632
860
125
50
482
782
910
165
291
471
269
15
728
273
124
619
767
276
507
218
740
617
439
389
216
244
533
96
990
417
548
390
147
913
49
428
568
467
385
918
249
434
454
870
511
60
82
745
492
33
421
722
348
160
427
813
198
131
391
974
195
336
453
215
54
599
242
940
984
530
76
373
267
896
667
29
651
60
897
591
308
76
15
448
373
442
591
426
970
904
625
891
185
916
506
526
688
562
921
522
547
773
382
885
324
690
788
787
718
855
318
671
882
751
986
872
991
846
403
74
858
956
646
848
137
197
634
822
174
230
96
807
642
826
32
323
918
977
546
540
558
937
87
583
334
604
396
554
57
573
940
336
773
77
198
487
26
772
936
61
565
958
528
211
262
443
448
818
17
696
296
187
137
313
112
65
994
143
257
854
773
563
873
891
783
531
752
127
89
25
487
340
218
407
938
280
293
43
361
756
243
265
38
786
648
362
896
308
401
846
364
899
592
663
708
145
926
376
152
39
556
610
386
834
422
192
464
274
50
505
672
28
319
529
685
453
852
942
212
514
567
432
376
796
387
47
272
98
281
46
512
976
622
179
63
976
283
761
371
14
62
212
571
525
757
963
587
522
680
749
33
706
474
365
151
101
855
880
455
472
284
169
360
950
667
368
826
892
850
537
4
971
112
346
896
890
808
120
299
940
81
917
703
788
831
623
327
533
182
245
200
77
295
647
33
260
733
27
664
91
496
305
5
603
517
430
751
508
646
334
602
927
122
880
369
853
83
708
160
941
953
306
738
436
414
982
324
770
247
702
301
394
547
850
761
951
670
123
370
759
816
664
774
877
334
477
658
746
659
910
598
516
316
726
82
659
553
847
378
442
996
362
495
118
164
843
118
478
823
263
228
512
924
104
113
509
314
308
597
870
483
816
624
264
386
344
763
562
748
912
834
107
347
389
591
516
471
981
338
158
124
164
410
871
580
23
700
276
569
340
799
245
724
78
831
715
915
83
821
38
731
924
224
498
724
800
324
457
936
373
307
820
904
157
221
177
590
873
429
12
619
764
882
823
806
423
261
892
195
129
43
684
744
25
620
529
331
737
866
362
999
179
991
735
210
382
53
250
399
134
270
839
345
102
151
40
657
915
483
528
226
341
455
668
606
335
521
818
122
192
135
388
956
496
147
462
594
838
498
889
783
517
794
321
584
564
522
635
219
470
930
527
123
929
57
856
36
769
11
473
31
990
340
865
82
498
279
933
150
672
713
615
790
413
940
863
982
650
699
698
201
615
480
686
778
364
816
179
213
119
143
114
441
25
787
977
19
821
847
799
796
725
35
676
937
596
41
369
90
13
603
989
82
505
288
656
771
554
903
258
597
375
592
153
909
735
930
698
400
203
724
16
815
325
841
286
647
166
86
144
715
561
45
495
369
184
873
160
533
259
182
276
998
302
547
325
139
836
669
977
731
371
904
689
638
332
669
125
943
760
250
45
516
814
655
237
99
95
446
459
753
761
953
98
890
267
857
462
208
304
910
175
521
178
464
165
879
430
576
89
392
991
658
887
853
513
60
332
599
848
497
67
44
784
937
647
980
308
429
524
36
608
356
743
661
990
764
366
626
674
756
281
297
156
407
97
888
474
309
303
482
227
625
717
851
662
516
522
27
467
870
879
112
187
570
163
55
328
913
389
972
282
402
265
137
184
837
613
931
693
548
636
912
457
624
576
614
757
224
872
905
360
382
826
467
186
266
129
499
749
473
340
805
677
824
556
262
835
54
41
41
706
951
591
100
716
813
713
177
128
485
519
925
2
914
379
899
434
870
983
811
990
416
429
842
785
809
373
835
149
693
58
870
195
894
263
65
895
621
813
450
454
603
326
399
887
550
291
443
677
315
399
212
351
336
307
914
578
237
633
24
153
949
66
770
842
382
891
638
613
419
143
321
197
1000
826
460
307
156
335
99
60
97
320
953
336
904
661
506
865
944
200
442
802
839
90
132
437
727
414
713
480
604
770
817
25
708
86
128
934
282
832
803
858
574
136
201
540
575
53
540
339
840
378
845
185
724
939
991
235
471
286
756
609
932
22
514
479
104
837
628
637
298
428
651
457
521
127
159
783
549
9
411
870
270
663
68
974
86
605
874
559
570
531
558
378
100
209
199
893
902
839
954
565
795
122
373
585
927
141
456
503
979
363
275
47
627
738
222
125
538
916
895
663
813
56
241
444
578
587
781
563
394
508
694
467
232
548
57
794
52
533
771
393
426
845
585
977
221
720
135
826
105
440
109
833
503
209
511
4
695
571
452
164
933
786
90
270
825
499
122
192
724
346
714
283
568
925
876
324
388
655
43
697
734
640
104
743
383
588
164
309
970
205
98
423
682
263
358
903
700
706
540
425
896
748
957
285
162
899
799
603
858
270
534
244
76
276
857
67
813
102
844
427
697
877
961
33
592
550
255
372
283
871
316
907
440
715
614
177
245
235
413
729
369
965
741
556
496
57
828
329
196
279
40
255
774
281
549
825
651
900
900
85
949
938
201
300
209
969
867
40
598
162
718
805
529
65
782
255
351
547
307
15
655
827
350
782
789
640
797
187
367
80
834
431
915
627
677
250
329
156
851
149
451
509
437
169
931
313
454
699
505
315
20
924
960
442
979
601
355
162
480
731
509
496
346
597
387
209
172
364
758
288
783
106
442
797
59
690
519
616
176
428
104
342
968
780
705
871
498
673
687
768
872
215
99
561
32
653
955
537
539
444
82
422
338
232
825
582
123
305
200
48
178
869
594
672
534
83
733
216
846
337
441
44
657
709
647
318
618
869
238
323
775
967
572
596
284
203
927
41
752
820
710
94
950
281
992
316
827
220
818
499
587
577
794
471
95
15
643
315
28
295
782
664
1
819
482
17
358
937
857
819
439
952
728
142
925
961
407
404
281
819
582
468
415
530
776
878
425
335
295
724
695
585
201
825
678
272
602
491
397
733
465
113
87
621
239
240
432
689
809
592
506
357
683
659
907
254
858
168
531
194
519
713
136
71
577
265
88
219
61
110
719
658
547
19
291
494
149
85
878
431
53
711
384
13
234
702
528
734
777
276
856
603
177
71
764
91
104
914
51
655
377
184
752
184
306
119
878
784
149
274
200
289
144
673
419
780
483
886
888
152
628
391
555
482
568
77
959
560
980
702
904
408
757
430
915
78
59
324
688
285
832
799
549
698
763
621
336
817
737
963
247
393
189
418
914
328
168
623
381
799
560
340
721
120
656
404
744
536
193
962
616
674
52
795
238
884
34
339
926
56
544
213
265
812
510
696
7
134
615
588
543
608
743
344
788
478
569
183
278
575
378
122
893
53
541
539
932
553
546
898
152
60
114
747
15
247
742
959
608
556
952
456
624
594
625
318
329
698
91
305
683
668
18
242
626
740
776
692
92
853
623
563
490
129
998
73
228
278
223
562
351
335
115
192
537
740
390
478
474
253
213
949
137
631
966
954
581
314
89
803
664
565
845
947
532
657
18
901
808
742
808
934
146
965
675
362
250
239
455
433
489
856
877
373
956
763
478
169
223
913
32
48
26
558
818
412
834
734
437
207
579
496
456
303
831
610
820
505
349
562
869
211
243
694
778
595
974
233
421
422
997
772
995
235
178
486
195
724
13
11
393
537
295
430
58
661
94
277
604
758
855
786
958
540
938
904
413
331
176
717
732
463
868
21
63
46
181
744
944
954
98
798
568
572
891
729
523
975
625
229
427
724
297
168
215
376
80
309
385
178
576
285
127
94
107
726
139
536
858
660
875
636
125
425
124
932
992
384
114
656
533
660
781
594
23
974
454
680
700
399
955
47
346
541
57
266
325
187
302
879
728
952
403
165
991
847
871
243
662
957
22
276
3
611
237
525
772
548
199
445
832
558
841
852
198
10
917
411
760
478
422
365
201
425
571
453
548
502
699
438
417
594
210
531
211
137
683
254
488
642
332
978
235
553
273
438
11
774
505
43
816
244
28
650
23
921
325
833
954
416
253
323
472
286
487
458
483
732
814
977
391
992
988
425
365
259
295
774
715
360
726
590
843
740
417
248
965
523
26
211
270
557
861
384
251
382
846
902
705
991
873
466
290
136
701
553
600
641
310
378
415
880
557
492
179
132
23
284
769
998
229
469
311
449
709
848
139
352
47
231
986
533
637
444
154
498
800
773
716
991
894
11
778
417
247
537
433
36
29
484
334
505
699
119
741
19
268
989
489
802
446
300
571
169
660
207
927
708
52
425
605
402
834
604
657
663
781
451
23
313
230
430
167
539
680
207
425
711
971
692
875
732
83
670
996
322
759
495
598
178
562
299
253
506
442
446
973
805
587
744
960
113
151
51
67
137
420
466
28
838
143
261
599
52
11
70
506
694
754
611
515
929
912
419
965
450
96
619
847
667
490
798
884
169
405
372
74
321
939
717
860
191
172
477
443
344
881
119
711
186
460
803
956
664
564
69
832
132
53
683
975
92
926
205
355
344
316
511
657
806
49
526
977
894
939
909
677
875
777
284
501
66
923
873
944
93
500
71
461
679
488
606
264
586
394
364
383
417
776
929
160
944
627
105
530
510
495
473
313
858
294
102
203
390
909
59
315
511
118
317
947
180
809
954
705
200
170
316
217
137
362
921
490
927
130
465
362
400
988
244
607
967
874
643
998
669
647
154
34
622
382
539
95
667
197
324
510
669
259
838
380
507
699
367
63
238
374
823
859
326
836
511
817
100
390
224
574
790
815
876
765
612
211
348
896
348
415
27
485
805
609
782
957
338
78
730
996
349
546
248
47
310
160
91
210
386
977
382
45
181
778
493
688
475
131
503
246
86
860
24
667
127
564
669
131
34
314
302
548
672
482
574
939
740
455
885
309
458
115
81
109
235
84
693
564
593
163
445
927
131
859
111
198
752
573
525
966
641
867
698
810
761
179
544
138
725
521
690
406
954
965
183
456
976
194
707
54
552
978
73
824
105
226
350
456
536
153
977
446
140
201
607
656
758
575
220
682
703
636
259
315
290
948
164
436
976
478
682
287
228
284
774
402
227
62
759
439
455
89
589
761
991
401
789
926
98
563
632
143
298
985
607
372
666
580
75
963
531
453
301
676
101
475
699
430
799
806
243
389
247
898
457
842
925
37
319
871
456
262
685
979
423
338
574
695
330
555
765
681
71
270
657
987
841
528
293
951
937
539
779
675
302
534
47
148
991
276
88
851
948
540
308
126
642
975
634
689
94
77
341
374
835
456
372
654
124
144
73
510
552
532
853
925
793
348
287
703
848
251
545
268
583
785
863
855
771
860
954
798
93
446
887
625
788
899
976
350
714
151
656
624
581
53
141
401
69
295
907
378
309
669
700
766
959
922
793
864
736
74
704
510
797
886
427
730
792
93
518
799
783
139
37
511
467
413
444
632
291
392
31
432
138
681
366
670
218
684
527
628
684
487
614
615
280
634
145
857
20
625
450
850
492
367
119
56
895
274
876
294
318
424
17
298
87
993
660
679
242
137
634
1000
331
687
787
706
724
265
846
459
629
912
741
788
808
899
489
40
770
192
295
338
850
909
549
613
197
232
747
810
107
446
228
60
576
155
760
938
189
286
676
934
679
191
251
906
589
6
448
613
446
431
991
372
808
295
974
512
339
557
839
584
781
897
617
207
354
693
807
30
620
957
86
536
302
762
356
321
902
805
288
16
214
1
614
288
979
429
900
160
8
528
440
479
73
166
209
518
743
101
504
518
116
384
45
537
116
473
814
39
599
164
823
557
30
972
368
147
899
257
28
537
366
216
847
614
836
844
667
336
319
103
537
267
435
847
513
636
901
461
894
278
145
837
164
831
493
17
437
302
993
787
250
479
540
572
893
692
417
201
308
128
765
524
763
218
765
381
148
623
514
140
744
28
692
867
748
197
83
219
676
785
960
295
987
957
159
35
946
197
354
212
761
578
728
716
517
396
728
616
281
290
59
443
13
875
405
229
620
501
637
120
541
930
415
781
780
622
155
401
155
833
329
825
864
934
920
236
171
168
652
854
123
588
305
309
726
64
33
724
954
48
86
23
274
260
773
681
129
581
803
937
948
216
368
483
825
614
481
774
949
742
74
402
237
44
355
421
401
820
740
127
839
827
430
547
343
609
389
824
588
443
15
743
780
820
291
891
622
49
583
325
980
927
512
161
252
417
568
200
427
911
177
580
304
985
973
423
118
509
943
637
101
598
886
366
128
165
412
41
652
781
283
621
612
134
470
451
827
613
724
39
681
469
807
242
594
549
806
551
813
817
81
606
598
757
486
670
738
260
486
479
641
816
635
805
970
634
706
100
869
844
443
795
404
56
482
179
703
401
535
298
666
594
299
983
830
735
906
941
124
299
918
829
796
218
44
358
764
61
742
775
1000
39
858
529
321
983
267
512
149
501
264
54
376
234
86
746
466
491
547
259
316
599
202
560
203
961
871
275
352
167
627
564
268
506
530
492
12
872
515
814
4
362
826
29
787
849
306
802
428
411
673
110
852
797
630
7
488
28
292
496
48
828
950
810
119
845
618
369
538
482
191
752
170
771
266
308
821
893
838
450
486
845
194
247
30
288
237
646
714
754
404
576
679
297
103
195
607
103
299
764
307
769
453
987
910
765
570
150
665
45
465
88
97
895
720
808
402
918
6
607
537
433
579
618
400
713
795
70
864
193
435
939
203
206
468
314
626
854
650
544
205
338
11
168
497
447
848
682
525
929
312
450
611
159
72
445
748
848
810
43
813
548
496
810
953
351
495
63
885
493
570
6
707
541
727
408
39
462
708
116
953
151
626
186
238
930
880
31
955
121
26
806
137
39
722
176
751
665
208
741
700
809
33
635
759
784
929
248
787
507
759
588
487
440
467
543
273
995
844
174
507
848
672
222
493
130
550
216
130
577
267
929
57
570
109
412
447
443
890
557
355
547
829
913
672
378
598
490
277
449
8
425
952
745
844
657
974
292
275
228
84
802
151
426
694
415
218
751
797
267
971
594
1
977
414
614
544
207
477
6
922
89
226
264
963
689
268
564
834
665
977
612
439
909
226
647
128
321
360
303
454
758
14
212
961
907
217
532
627
28
962
102
640
506
16
527
642
718
311
313
444
966
682
116
478
142
73
266
935
330
599
10
620
804
976
321
48
704
944
693
179
240
253
89
532
436
669
82
86
285
244
278
515
655
787
322
809
478
66
112
276
522
792
399
238
553
821
591
486
771
349
421
689
232
99
103
516
360
603
757
192
768
755
167
561
340
727
387
491
954
192
318
678
242
571
141
424
549
652
414
6
588
528
702
627
329
247
870
734
352
972
516
719
221
712
605
611
444
892
29
402
230
129
710
62
565
574
852
155
108
105
108
183
997
459
796
438
980
139
729
204
174
521
887
594
380
175
970
185
112
800
769
866
406
572
459
18
31
930
139
202
949
980
379
28
738
801
108
790
203
864
903
723
630
693
636
478
917
660
474
498
375
511
421
520
91
807
970
339
607
985
908
315
75
136
28
831
233
935
296
72
278
360
22
22
163
983
696
569
948
649
493
934
557
300
830
440
720
534
36
793
920
286
915
656
900
622
906
249
627
260
637
139
685
862
885
165
700
548
344
665
781
357
157
760
941
574
858
511
119
948
224
157
727
814
563
488
632
68
126
648
69
733
643
311
303
603
491
209
757
64
625
473
931
740
177
88
679
43
631
50
326
58
528
491
637
464
961
101
902
324
519
692
251
668
921
619
847
763
303
101
782
827
33
170
364
761
930
96
951
134
20
676
659
265
260
668
87
775
218
8
642
344
342
189
194
777
293
304
562
671
770
836
756
114
433
207
12
902
793
491
376
666
387
437
26
189
199
154
565
913
1
369
217
326
237
174
282
465
156
560
166
255
96
855
42
790
244
377
519
924
724
226
676
766
568
175
503
740
983
33
83
904
333
683
806
101
437
258
553
371
99
536
43
741
266
706
483
160
858
118
252
885
96
464
585
37
118
155
142
448
756
288
902
113
647
718
27
768
226
213
228
168
763
579
683
603
308
940
751
81
322
75
554
397
783
797
11
979
797
932
44
33
65
329
504
974
87
699
823
581
648
815
503
601
961
733
376
766
823
268
944
314
265
909
248
143
485
708
448
657
309
476
675
234
4
768
818
977
60
738
586
92
460
934
584
784
37
486
156
52
747
964
437
132
71
358
392
638
321
290
633
620
294
543
433
883
608
453
689
894
35
524
541
532
346
876
970
743
486
769
990
883
376
516
981
177
310
544
286
241
654
209
462
70
565
296
464
231
502
742
608
263
599
255
377
454
372
973
993
211
811
196
220
233
638
535
47
566
411
535
725
419
178
923
150
281
596
180
733
520
794
32
680
118
758
820
121
617
694
425
602
670
643
571
262
821
607
901
432
248
593
153
502
259
252
146
640
267
266
41
338
815
221
539
850
975
485
240
272
126
516
388
401
646
104
627
540
571
281
170
99
609
36
36
169
230
477
564
265
703
842
501
79
69
545
326
380
55
526
345
183
818
299
319
931
255
419
27
683
303
599
231
284
328
313
942
34
198
538
799
661
92
225
576
276
460
198
578
564
773
451
714
686
903
219
561
211
992
785
612
967
690
710
200
838
489
65
317
423
687
278
629
927
186
433
552
833
955
178
135
711
467
952
858
973
847
871
191
523
782
477
893
6
455
497
584
830
929
927
95
180
390
38
450
34
651
345
106
560
144
195
268
362
378
401
654
730
513
236
106
444
264
223
804
696
821
344
676
394
851
705
767
425
936
235
994
489
991
686
677
737
310
64
707
767
883
646
30
512
547
878
363
138
347
809
696
408
213
159
211
828
677
804
683
556
898
200
295
247
713
271
88
933
756
353
919
609
977
66
900
374
17
412
774
889
994
948
582
425
207
645
272
940
156
903
615
506
62
255
901
866
749
491
420
74
381
278
640
975
3
874
348
753
301
204
745
887
271
395
641
642
729
818
441
652
720
883
567
248
930
51
346
928
123
53
133
757
502
849
649
579
632
662
62
596
221
335
363
265
639
305
957
503
507
779
200
843
91
2
834
549
494
149
860
689
870
969
437
821
934
262
795
243
99
213
19
741
436
803
744
385
498
858
521
197
773
733
590
453
135
327
311
973
239
853
340
999
204
795
914
164
310
551
284
610
682
543
421
545
77
989
618
374
984
110
477
96
207
263
107
826
973
402
51
141
412
294
561
460
940
123
395
808
661
477
196
126
432
208
879
766
634
357
173
909
9
121
619
452
145
847
864
313
332
182
79
231
531
760
644
835
162
317
74
218
237
677
272
259
155
857
845
692
94
417
144
257
555
307
137
335
23
631
986
120
157
208
447
736
151
285
774
713
139
502
885
870
586
60
938
976
646
28
299
520
332
932
154
555
222
62
615
831
80
446
270
403
462
32
548
465
873
474
161
416
497
807
126
68
877
450
584
462
168
207
685
989
743
373
307
353
17
622
280
478
307
83
82
621
442
895
672
803
610
594
261
165
637
851
326
9
474
483
95
99
184
122
91
254
134
632
24
393
402
174
495
963
650
810
516
134
824
655
815
214
97
900
238
487
405
481
368
104
764
753
624
686
339
303
689
24
860
976
142
652
586
225
509
63
457
146
796
50
477
959
742
992
656
223
680
876
7
768
867
544
231
205
625
913
690
875
413
934
213
259
244
623
68
215
454
835
177
875
925
323
268
677
295
271
208
802
568
710
186
237
784
116
781
785
130
88
189
618
902
179
57
374
260
855
433
380
589
65
316
325
593
104
167
573
953
279
533
365
489
404
630
364
302
273
317
331
276
104
414
264
677
394
718
967
302
734
395
869
803
951
632
884
332
338
604
234
638
841
788
464
102
827
650
310
948
448
565
721
86
671
550
50
579
783
123
392
756
525
90
104
355
54
588
768
911
614
78
247
782
133
264
56
856
960
97
915
966
624
148
268
493
781
621
517
453
499
184
918
622
655
623
400
877
485
48
46
998
263
9
624
627
691
405
339
952
809
525
933
937
153
913
365
625
439
972
568
84
273
438
192
109
249
858
824
618
350
234
910
60
705
848
481
795
664
63
833
563
566
620
522
652
818
504
381
324
633
998
764
379
295
934
940
470
918
465
311
940
439
921
194
514
51
430
963
89
315
18
711
297
18
860
987
232
154
189
805
935
556
128
879
804
345
370
930
95
791
211
30
70
176
888
142
135
947
586
422
556
784
735
389
913
210
438
764
506
16
935
647
325
84
55
700
64
169
484
180
856
807
509
997
90
801
620
436
705
677
993
844
797
83
382
349
289
358
432
662
626
395
731
74
168
497
220
78
46
114
688
412
690
247
205
937
192
821
256
458
919
511
285
522
527
361
88
232
636
4
220
354
943
484
167
316
469
452
538
233
995
3
957
765
447
521
628
402
168
697
790
817
538
302
407
989
382
401
457
163
963
436
154
113
129
1000
255
802
344
210
386
304
953
269
966
748
976
205
880
134
161
790
524
115
791
333
224
190
980
379
334
339
796
339
475
801
548
745
508
563
49
104
829
150
442
331
480
453
469
326
384
678
662
551
762
971
29
421
373
911
233
866
812
860
139
716
482
111
878
429
262
872
256
268
106
401
402
229
988
10
49
898
672
248
754
964
766
290
630
260
376
454
903
87
499
813
694
41
954
57
983
734
254
146
586
610
358
764
370
497
595
294
613
711
436
838
613
240
954
781
149
25
989
566
410
422
31
603
327
675
816
708
37
634
446
82
381
30
610
569
917
300
156
888
923
363
814
591
253
756
350
732
724
214
814
613
900
163
829
538
781
526
61
183
894
959
98
63
737
902
4
576
336
808
666
283
944
549
943
412
524
250
284
30
728
754
154
10
543
517
121
662
641
959
913
885
710
216
98
795
780
791
280
23
570
830
897
346
439
595
745
827
358
263
343
426
673
343
118
894
104
864
194
837
555
960
255
997
817
652
533
207
196
430
506
930
403
692
284
18
805
247
976
106
265
832
571
62
363
55
978
55
744
260
917
76
696
543
289
214
843
578
515
595
9
942
61
649
891
367
66
280
168
704
516
619
83
430
918
239
298
183
778
110
83
189
496
127
478
413
461
736
85
929
258
21
608
317
866
668
44
855
671
355
723
907
917
457
975
160
942
438
325
339
187
928
509
574
490
306
521
880
626
509
131
87
401
951
25
129
864
660
770
813
355
170
322
71
195
291
673
198
759
587
546
806
606
313
740
27
74
578
871
15
470
709
732
945
586
158
466
516
755
787
47
436
90
64
317
478
872
490
977
485
241
588
465
134
527
924
629
357
551
892
461
65
178
488
924
225
281
863
88
401
973
251
368
584
700
743
653
505
274
481
503
667
468
82
397
986
136
455
227
321
113
764
830
112
352
955
401
48
853
133
26
966
922
96
420
164
250
489
203
917
72
370
677
291
431
473
119
243
173
62
91
634
857
109
86
986
180
425
136
748
898
526
673
376
453
259
21
760
684
621
366
399
77
800
985
246
975
195
771
347
35
40
846
219
46
325
126
423
856
898
251
940
816
984
207
750
599
872
302
513
711
198
902
343
284
66
470
455
5
236
13
902
135
746
989
715
621
623
96
481
249
808
146
840
630
983
372
389
554
815
146
249
945
983
24
886
164
484
478
817
936
908
429
524
507
781
956
232
964
617
113
197
822
4
862
829
68
923
501
246
906
515
866
860
291
645
742
192
212
1000
654
399
389
863
175
935
662
414
426
352
913
149
227
499
797
995
709
273
885
781
802
653
118
1
147
936
582
221
451
994
737
56
190
882
147
371
888
317
698
258
882
391
21
376
637
368
581
436
139
589
440
997
878
291
259
204
224
641
472
823
771
374
908
706
326
248
350
835
834
908
651
201
423
895
72
103
158
249
430
870
863
561
517
628
511
416
985
509
323
845
564
594
640
805
47
978
89
728
947
562
319
850
106
575
819
403
839
367
937
711
368
714
225
910
406
740
689
331
773
557
337
504
808
920
655
432
175
488
296
987
399
786
332
288
51
591
826
447
105
265
418
360
359
501
827
113
225
51
884
111
401
295
772
291
131
885
660
610
803
307
802
576
623
937
458
722
985
11
739
807
917
44
556
999
724
366
399
463
494
832
580
579
676
282
919
472
329
978
591
693
976
74
992
616
201
161
26
600
272
75
208
19
102
429
288
38
807
791
919
396
963
48
51
521
421
236
299
39
203
57
563
64
571
357
530
744
821
91
512
170
750
682
295
128
32
208
243
159
901
588
989
49
687
755
390
172
704
838
341
91
948
548
213
429
837
272
360
307
981
869
197
579
587
808
781
692
634
63
714
223
411
142
453
86
347
747
789
928
319
785
322
460
789
911
288
344
190
346
947
798
944
414
64
220
387
194
731
38
653
656
865
431
274
899
273
759
832
449
63
328
517
88
544
593
868
344
491
11
256
628
779
558
929
943
956
332
544
263
297
767
165
961
207
739
631
105
649
227
58
64
432
273
990
628
776
684
387
741
568
305
169
60
110
709
568
743
978
846
854
302
785
508
341
846
307
517
742
796
391
127
46
968
550
501
100
956
937
49
987
902
647
66
109
82
962
354
604
191
149
487
366
888
959
924
456
906
755
459
157
38
540
386
249
355
779
311
362
343
25
761
396
990
836
633
100
506
365
13
841
24
308
123
492
563
600
966
157
548
382
745
135
413
244
292
124
135
720
536
172
84
309
526
306
236
55
632
53
622
863
319
345
859
264
359
361
763
321
378
970
321
723
454
312
764
876
809
956
76
993
767
795
50
759
815
519
904
133
8
61
569
253
962
893
965
202
389
429
994
622
453
69
502
736
222
622
177
407
147
940
202
261
827
590
488
733
243
331
492
148
316
938
943
585
875
674
281
337
95
330
257
202
37
282
926
764
154
463
226
31
577
497
437
514
493
494
74
910
200
171
195
13
254
21
667
413
683
240
691
812
395
988
728
516
781
359
72
755
988
118
460
32
501
858
502
591
473
755
215
475
728
487
608
325
450
208
102
285
394
704
538
858
841
968
681
586
653
481
394
724
503
423
142
910
765
883
58
964
626
912
598
552
655
885
689
449
498
252
410
494
337
192
403
194
467
89
670
63
686
26
906
471
178
686
239
753
233
138
107
761
436
23
996
894
972
516
966
860
245
309
173
78
360
542
116
680
889
274
950
531
985
579
12
547
112
857
663
856
596
222
628
49
739
154
316
810
463
715
990
738
326
728
253
59
269
258
35
220
656
660
155
74
985
196
590
468
173
947
755
597
447
340
485
362
693
104
906
355
588
888
51
803
951
96
908
948
522
702
559
919
841
955
230
76
950
916
329
182
420
694
29
554
595
128
559
473
3
389
98
764
608
649
130
410
939
535
154
487
169
553
906
482
899
42
602
291
735
525
305
787
758
486
161
884
632
731
155
431
395
474
19
132
968
207
108
889
8
240
385
650
49
502
126
868
759
837
606
144
783
567
819
491
850
527
225
938
751
125
641
835
340
252
637
357
925
7
227
134
308
279
231
887
227
204
379
197
175
394
169
296
386
608
480
835
279
257
186
138
814
693
346
361
25
778
64
315
433
614
795
446
209
631
674
620
690
478
450
897
326
263
729
451
189
748
535
153
959
21
637
98
668
51
702
544
579
251
110
302
265
855
145
622
334
488
415
997
288
757
520
115
660
98
415
417
941
384
455
290
797
989
788
993
714
125
647
801
548
240
81
714
398
199
842
298
850
788
486
878
927
787
190
363
998
509
475
413
504
222
764
570
602
322
707
186
724
471
262
717
616
173
834
986
643
405
144
537
1000
21
112
94
11
581
748
425
880
171
950
632
106
541
129
6
248
593
809
96
906
856
672
567
577
63
78
770
522
401
707
672
892
262
830
936
133
614
690
513
164
182
602
49
847
705
686
774
85
458
593
322
225
77
188
94
563
493
923
378
401
427
543
398
530
474
851
903
21
277
494
662
874
665
93
479
453
926
626
921
597
571
635
15
969
44
707
544
518
843
686
457
866
418
230
107
110
45
674
702
727
577
636
394
301
630
408
889
281
274
27
336
319
752
822
500
566
97
353
937
914
776
941
934
359
649
368
487
544
586
950
494
71
83
862
611
347
75
532
958
573
946
940
962
993
414
848
147
650
587
375
599
735
967
818
190
50
614
291
356
256
974
597
391
333
133
709
757
129
348
382
883
963
771
718
267
981
222
947
495
381
700
291
939
692
87
560
504
975
169
18
757
214
645
164
200
193
280
277
215
824
748
976
441
231
979
601
953
926
19
886
622
12
529
285
480
703
28
321
731
409
920
468
296
214
139
446
425
930
990
244
964
769
385
866
300
307
210
550
928
666
991
203
768
703
403
852
132
612
393
218
239
499
858
913
734
420
893
346
513
857
597
146
480
809
286
811
576
526
778
326
518
388
87
697
209
596
462
693
725
165
222
635
94
146
247
690
830
151
288
992
347
17
503
886
892
897
749
706
644
134
184
830
935
46
690
165
375
121
479
860
788
232
975
773
495
131
766
155
428
911
936
101
997
125
622
515
383
941
953
759
195
43
877
677
992
19
533
395
225
576
938
155
572
285
763
451
455
496
889
894
800
681
233
589
717
762
89
244
844
903
812
915
550
834
269
37
66
24
870
401
869
933
359
770
333
114
830
159
741
175
530
181
236
452
147
442
191
812
203
722
777
150
82
534
217
13
998
715
321
275
892
918
439
914
872
187
859
809
283
362
54
874
927
683
885
15
260
825
29
161
630
551
450
47
719
320
699
517
436
482
166
894
400
133
210
304
43
321
246
977
77
46
466
198
780
423
848
990
71
450
516
636
855
58
298
812
482
495
558
467
457
660
976
575
723
683
977
519
948
918
932
219
241
525
104
35
640
981
515
121
530
185
609
197
879
316
577
611
793
227
719
174
448
957
55
492
883
888
670
423
502
196
970
854
366
491
83
183
544
961
157
803
837
925
183
379
171
416
269
908
842
307
35
393
570
546
852
462
19
243
232
399
27
746
557
890
329
314
694
231
907
689
770
878
486
700
527
989
867
983
234
62
942
74
93
829
275
399
430
356
52
157
737
659
87
674
814
249
282
596
836
689
656
181
162
661
558
46
95
42
221
954
611
177
138
593
274
891
61
873
179
759
609
941
767
820
552
998
816
243
878
975
701
366
618
342
294
234
264
610
499
956
307
589
476
202
62
84
65
699
495
540
779
881
186
51
27
716
935
292
865
292
754
168
708
3
160
430
873
978
741
25
758
998
966
749
743
275
41
593
615
333
466
270
424
722
569
572
223
465
955
582
23
906
264
285
689
151
74
763
192
360
94
16
795
970
6
414
316
328
450
925
546
346
703
567
280
477
507
959
182
789
373
494
888
898
457
371
324
301
717
675
221
972
692
766
184
154
656
452
495
930
321
818
16
513
538
148
204
202
624
30
225
582
62
646
624
868
313
210
823
263
398
724
947
811
710
535
147
509
263
643
625
388
201
369
22
838
916
778
710
722
594
201
785
724
329
296
237
920
221
381
861
800
14
154
963
820
922
518
800
104
244
946
7
97
255
710
965
809
659
354
185
795
556
975
287
150
500
234
106
636
712
554
767
501
941
598
315
674
751
963
652
819
283
21
42
135
624
939
457
903
979
236
352
521
786
684
260
168
733
932
759
304
439
47
952
917
167
38
587
814
554
534
351
284
786
1
642
117
31
293
381
338
240
832
991
2
611
479
720
27
104
939
903
389
410
624
597
938
685
16
243
734
174
924
680
69
578
509
878
286
640
575
202
83
972
428
900
259
586
563
781
732
925
521
701
253
468
547
590
423
127
85
219
516
729
723
807
131
854
931
888
870
157
833
523
110
131
275
113
385
904
689
537
113
323
564
302
136
25
879
706
82
653
524
763
621
657
529
780
503
377
938
25
676
193
284
899
896
615
919
365
963
72
893
177
142
63
714
616
374
41
37
42
603
88
293
528
918
12
313
273
238
933
251
265
937
866
494
894
184
24
784
810
722
825
484
360
501
625
776
347
875
254
591
705
33
313
241
909
975
4
34
586
600
28
668
859
415
657
801
391
985
676
8
984
453
299
285
838
399
527
356
267
840
668
318
744
407
895
563
636
594
797
502
890
509
837
330
234
748
520
993
151
830
865
523
21
164
447
123
326
637
904
761
749
742
276
500
336
632
984
511
616
595
552
493
725
230
407
243
150
46
237
239
624
280
377
389
122
499
709
566
625
930
328
140
540
543
48
482
219
611
445
349
20
857
717
114
746
319
108
50
99
744
21
258
7
677
253
376
266
391
931
912
993
472
887
883
791
175
158
468
376
627
246
563
630
599
579
417
720
811
327
49
964
698
380
751
555
152
799
799
181
979
534
432
770
752
510
264
341
255
469
576
974
971
97
317
421
919
47
261
777
666
426
465
916
533
214
79
140
876
851
601
556
768
932
853
246
624
540
338
234
65
262
139
542
822
340
165
412
580
708
429
899
460
938
968
572
245
180
185
60
569
288
684
507
37
203
104
787
622
560
87
509
776
220
255
411
378
80
2
749
44
111
991
677
329
15
449
397
45
293
774
99
252
793
492
296
503
6
301
205
530
472
812
221
916
654
591
396
235
579
281
48
760
316
920
300
158
136
35
357
461
785
738
836
253
865
846
293
232
751
987
379
195
814
784
722
100
992
436
731
17
892
462
988
702
688
952
806
26
48
361
821
686
209
835
207
463
85
26
195
799
16
623
129
601
344
135
188
998
505
998
255
256
753
728
150
150
937
705
578
898
973
94
718
176
800
614
311
837
626
104
489
702
220
324
338
181
860
6
399
564
290
960
844
522
715
937
106
731
418
41
90
566
53
697
935
498
76
591
473
154
17
529
169
18
538
853
323
385
276
940
765
505
501
279
97
803
536
833
765
703
670
681
909
845
56
456
976
433
697
679
550
18
154
953
704
318
72
854
457
500
947
531
608
8
833
242
271
133
817
502
958
490
211
68
934
11
321
745
861
316
574
862
494
116
565
325
250
827
268
347
45
716
248
316
687
710
248
762
464
476
889
84
283
471
585
483
900
495
961
552
283
644
220
121
160
718
922
213
118
836
588
465
437
441
393
924
977
928
964
933
51
850
955
726
193
14
650
406
122
826
311
244
7
918
360
613
363
438
801
396
489
363
426
443
411
873
514
467
697
125
680
833
368
715
471
794
340
763
129
136
492
824
631
593
526
747
789
99
194
236
700
692
382
61
280
855
787
813
986
192
591
637
58
572
649
593
789
328
161
174
399
649
728
40
55
40
966
189
474
616
573
669
296
39
866
384
166
110
303
737
1
369
454
650
461
597
204
956
42
751
725
300
534
718
869
450
791
223
235
359
912
408
63
405
962
836
529
996
294
183
736
108
395
442
908
417
924
243
862
352
282
830
818
829
606
271
22
399
569
741
429
271
739
100
927
969
527
518
193
429
980
612
274
948
720
421
437
737
395
533
648
787
869
878
288
369
220
11
361
790
347
178
485
939
584
128
438
753
292
393
878
1
819
731
138
652
573
533
658
677
212
233
723
352
107
218
634
984
315
277
373
527
254
373
86
723
175
412
440
268
287
723
21
971
103
162
454
58
169
109
855
543
833
150
566
105
134
887
846
983
203
160
354
211
796
940
810
935
698
285
157
651
789
61
940
953
489
554
376
762
167
737
754
108
822
687
410
201
57
595
497
950
868
865
158
77
304
38
537
677
401
669
250
420
83
828
549
576
921
574
456
689
743
654
550
83
76
643
925
271
342
936
86
36
503
328
192
190
632
393
101
948
451
504
131
477
474
151
325
395
795
142
270
906
919
393
193
842
309
265
152
52
448
839
623
493
312
78
666
888
113
568
194
990
42
420
520
364
551
943
525
54
379
924
285
692
135
675
905
394
782
550
691
267
721
285
475
459
547
353
87
470
751
483
518
886
748
667
252
768
699
239
650
697
484
72
985
854
78
562
968
606
287
797
133
756
525
258
456
996
807
462
8
144
680
185
189
408
135
294
345
275
859
774
159
625
382
207
240
297
750
843
748
682
375
407
743
853
634
955
165
375
578
403
23
215
858
870
392
117
611
570
298
377
546
824
440
212
973
666
932
838
801
686
973
879
839
939
399
20
869
246
581
612
29
723
19
530
19
152
281
714
536
666
661
723
109
278
23
65
207
988
824
275
101
533
262
486
447
407
772
722
985
379
899
257
57
634
665
168
873
585
135
632
581
577
839
628
243
983
42
432
751
650
682
706
564
243
904
46
920
833
766
561
806
941
626
424
579
380
166
385
558
433
761
891
327
304
150
827
752
318
959
868
906
62
648
92
225
489
887
830
167
52
195
655
620
63
917
84
77
845
259
804
338
690
145
193
130
277
142
477
561
31
523
141
783
803
863
80
565
403
173
559
765
758
725
266
809
880
170
596
389
425
457
861
553
350
360
273
220
33
143
415
984
321
990
400
713
110
338
66
84
473
230
381
689
813
54
681
740
238
864
496
760
135
547
492
822
928
712
496
63
142
81
663
228
171
583
578
922
620
75
513
131
684
808
89
295
790
348
343
904
655
649
533
127
978
341
79
489
234
151
705
964
385
532
178
162
932
217
58
449
356
442
520
972
922
968
603
553
784
927
231
302
522
691
953
671
558
667
644
327
386
922
324
926
181
40
865
329
155
457
585
312
967
791
640
123
609
362
685
524
456
196
485
83
570
261
37
604
943
621
285
488
88
463
699
753
261
670
825
205
675
736
423
930
220
333
944
921
608
758
917
95
341
832
293
430
571
571
887
219
781
61
877
698
145
567
704
411
598
820
862
715
940
822
771
792
734
262
342
348
362
821
927
962
392
221
16
701
298
873
462
179
664
355
5
716
238
778
585
630
581
282
241
998
602
534
418
375
977
122
147
109
293
139
855
854
793
136
571
815
736
794
863
66
739
380
166
24
941
50
63
764
445
547
686
412
342
706
662
309
496
431
895
956
445
506
85
25
999
678
57
889
535
929
871
169
580
766
204
788
992
645
676
894
946
371
643
804
958
404
464
806
413
555
413
264
381
442
214
976
45
456
639
127
722
682
731
533
292
394
4
48
818
290
384
189
285
576
778
21
694
391
862
317
163
829
132
855
331
982
276
441
96
26
676
958
657
355
192
250
885
145
438
175
297
581
416
507
290
120
736
668
828
845
634
461
481
928
660
73
581
694
218
619
248
572
100
420
242
490
786
5
880
894
552
570
786
631
365
257
840
398
146
129
500
321
207
188
643
490
595
111
124
964
618
653
582
839
47
804
378
462
374
867
180
760
15
611
390
979
542
500
540
804
871
822
800
970
816
198
956
988
596
584
556
523
667
364
461
326
737
536
675
316
921
338
181
601
802
857
479
743
571
310
652
545
520
715
96
6
920
613
495
851
695
357
217
223
386
230
88
709
605
317
405
859
543
640
134
761
148
496
462
18
238
378
268
692
197
91
620
416
860
897
93
840
871
618
588
69
102
617
302
534
677
512
719
3
785
265
766
70
729
46
806
534
591
868
739
499
509
554
300
932
770
18
583
664
863
202
940
493
170
266
634
151
203
785
94
353
161
767
135
87
113
306
308
561
289
527
352
955
821
301
844
243
741
874
283
856
239
169
225
886
951
18
608
892
538
989
50
49
939
805
755
599
448
554
612
55
199
36
252
597
758
625
73
464
227
958
738
894
713
629
224
375
31
796
288
514
269
301
105
858
178
436
950
370
405
998
986
69
243
621
627
571
963
685
502
848
713
280
708
576
712
815
943
850
696
843
88
877
595
613
980
512
13
663
475
133
371
479
333
402
503
908
127
937
100
515
174
754
618
534
408
636
193
411
256
245
656
195
816
883
959
169
61
303
192
225
379
843
891
416
472
504
562
29
547
233
112
289
745
864
465
514
998
622
712
124
802
64
19
417
983
659
928
448
107
917
860
642
115
171
363
11
651
628
108
977
747
283
720
830
815
647
284
790
319
12
742
511
132
161
515
585
346
989
319
310
204
533
600
512
912
249
974
696
319
235
779
217
835
256
184
377
511
74
278
622
887
595
237
55
100
766
967
514
719
4
583
377
978
159
714
48
382
672
899
836
150
646
266
537
592
974
304
596
319
586
734
129
129
82
450
489
515
767
17
244
18
111
434
672
49
222
762
880
388
741
739
675
310
945
658
159
147
478
676
840
172
308
181
710
872
988
6
371
30
234
102
767
567
182
727
508
741
412
347
94
158
962
218
542
977
134
40
93
903
828
197
667
775
519
804
710
85
749
210
910
293
200
669
11
645
985
590
628
41
773
152
526
646
794
119
295
115
537
345
742
718
173
822
598
197
360
105
344
864
92
623
42
338
692
660
71
293
872
803
585
804
38
224
308
154
641
481
27
491
447
451
763
330
50
563
133
695
807
814
860
677
664
874
751
233
1000
227
692
364
710
429
390
213
228
513
661
186
106
43
11
949
39
529
170
29
953
752
11
805
883
46
963
849
897
731
651
975
217
709
995
821
68
690
391
487
486
657
939
571
485
929
903
926
516
641
690
593
135
537
725
669
127
719
478
300
136
415
804
637
9
855
465
297
652
102
413
839
173
18
924
821
511
599
193
226
515
594
373
457
675
645
283
621
306
211
278
539
5
169
800
760
647
300
180
887
988
854
151
684
205
967
365
751
357
35
904
40
760
29
443
141
780
382
221
22
382
272
443
902
34
75
83
1
284
284
290
206
355
432
801
96
646
423
781
338
879
186
541
216
964
779
411
930
350
889
866
337
730
185
686
37
530
124
520
28
483
628
753
690
976
507
948
516
547
635
495
837
113
661
292
780
987
462
426
799
784
647
851
472
602
176
18
648
696
529
234
667
998
961
312
147
443
61
710
712
40
224
936
149
24
672
481
704
232
332
884
589
43
233
872
360
843
78
668
483
9
295
672
295
799
188
729
559
411
765
118
985
674
461
179
428
503
221
263
930
306
376
283
434
957
322
707
785
857
239
256
571
834
36
936
485
352
215
266
131
527
614
760
629
11
813
738
953
613
549
578
640
916
666
332
439
786
946
473
475
822
687
204
716
306
42
355
906
146
927
417
598
616
802
663
637
463
719
613
235
85
826
351
773
29
953
305
606
29
995
144
428
157
537
411
232
441
596
311
464
474
405
888
773
113
854
437
658
385
635
582
387
68
91
941
802
271
518
648
9
482
974
311
499
238
652
170
932
518
545
314
698
459
404
830
350
755
6
657
210
414
314
745
736
125
449
840
745
580
272
836
224
551
6
193
231
362
560
337
372
696
110
328
429
332
78
318
955
506
833
503
132
63
344
320
686
477
509
627
447
114
102
480
4
808
92
904
937
966
609
752
335
885
962
346
651
964
948
86
450
750
134
648
297
557
937
682
834
506
80
163
91
398
471
680
206
805
608
960
38
88
380
902
574
871
532
212
680
638
130
506
481
719
56
397
566
929
959
664
336
495
108
49
972
733
266
638
967
126
66
50
640
88
348
848
797
688
583
703
548
83
808
819
282
181
475
71
999
356
223
95
515
633
877
315
520
846
899
506
132
707
117
38
369
610
796
388
912
238
26
847
648
750
956
619
728
375
629
647
311
753
20
596
734
255
442
382
567
794
651
501
930
387
805
236
456
801
971
477
511
165
986
503
630
342
315
582
635
193
997
646
582
614
907
626
501
342
329
254
866
117
275
255
900
720
73
909
69
774
499
898
614
975
123
184
547
587
611
449
310
618
424
271
212
101
744
772
840
270
472
971
869
243
843
423
72
36
518
43
894
324
45
181
653
411
196
132
251
274
36
256
358
405
509
792
132
385
978
296
905
803
408
310
739
139
843
544
385
750
395
354
971
897
224
768
715
72
880
646
35
526
963
816
729
17
228
187
261
239
182
927
838
343
719
734
626
216
531
140
376
921
873
552
775
802
761
436
30
286
837
654
535
330
929
452
20
811
817
28
213
875
839
907
892
426
726
592
185
481
528
79
93
61
537
856
549
678
905
965
712
234
31
538
869
315
851
976
32
471
902
618
257
38
377
282
789
471
427
569
346
944
666
175
285
197
147
751
889
212
88
56
745
320
293
212
35
780
503
923
563
693
878
382
524
348
459
451
334
773
693
390
337
263
93
51
818
177
642
8
574
101
836
500
225
794
145
447
558
975
240
29
469
118
539
499
462
886
515
954
285
753
710
763
954
659
614
242
359
234
392
940
652
273
932
599
847
623
861
442
385
625
970
965
958
521
958
796
551
37
533
520
462
455
670
587
80
57
295
552
298
791
704
920
771
345
823
831
647
614
786
654
26
710
379
320
147
240
618
881
254
585
88
357
113
293
715
395
455
500
311
659
928
523
580
139
762
348
288
773
989
787
906
871
957
495
403
828
863
864
788
533
229
47
636
702
528
46
129
60
699
796
41
974
871
667
719
622
474
685
342
268
806
993
663
538
260
809
956
852
691
167
158
340
785
267
44
610
904
110
779
743
580
422
423
747
752
580
770
492
856
353
402
845
86
794
23
329
520
567
895
116
279
292
717
583
593
259
380
998
458
988
808
92
538
680
546
422
132
550
841
476
287
403
695
384
616
574
793
980
973
555
253
686
891
187
882
380
640
294
948
944
791
42
578
693
451
97
502
243
677
855
254
675
164
662
922
42
969
922
188
354
896
458
709
200
206
287
876
68
439
242
571
223
507
491
863
771
658
82
484
112
590
72
544
574
733
693
167
416
739
247
650
774
257
133
308
352
369
452
363
843
488
165
134
108
68
654
290
140
232
826
137
698
286
637
722
304
169
14
57
965
40
653
914
595
611
143
440
621
297
146
325
650
975
155
363
412
919
449
32
402
493
456
152
786
321
655
773
154
915
564
179
675
236
61
327
30
241
531
62
253
227
879
191
314
742
425
866
777
843
142
750
400
787
440
119
891
564
960
414
336
259
418
733
986
935
577
413
223
558
853
170
495
520
886
217
937
483
654
417
227
581
339
786
913
502
239
621
111
628
422
100
996
172
752
449
951
226
122
691
580
744
451
523
71
709
64
119
526
214
569
491
954
695
240
604
612
339
211
587
232
546
510
276
479
387
61
747
662
172
298
745
335
649
986
620
921
807
155
949
888
971
798
55
365
680
130
484
256
831
762
891
89
696
99
883
838
734
622
147
916
542
509
537
386
935
212
920
175
853
182
227
766
773
949
596
378
332
128
466
146
119
754
195
168
980
531
116
599
723
213
929
136
811
341
979
360
473
10
314
388
716
134
320
222
829
958
417
962
358
187
536
820
965
154
53
464
247
924
424
774
378
75
47
537
387
174
747
945
988
660
856
24
148
897
73
283
997
678
164
934
245
336
76
9
30
938
258
589
976
732
765
124
317
132
289
548
111
60
349
464
953
373
728
180
85
444
689
820
490
719
618
1000
370
181
552
833
387
247
440
126
196
553
117
667
86
454
688
478
989
846
443
697
737
69
470
577
195
266
855
694
835
541
730
53
367
651
456
253
299
787
916
236
669
190
227
450
746
975
183
437
185
543
406
960
998
405
450
783
687
56
127
135
81
790
904
713
739
994
501
769
233
485
787
516
311
962
615
551
700
454
531
505
260
946
148
429
333
52
589
698
355
645
559
389
258
896
538
123
725
24
63
376
135
390
287
105
873
261
836
350
779
697
464
149
658
515
181
712
166
227
335
288
888
190
580
597
82
908
808
993
412
622
870
756
947
828
383
38
865
362
978
37
577
21
108
895
450
486
937
681
902
467
885
561
413
600
125
938
918
586
700
894
101
476
948
735
383
805
622
855
735
483
419
377
29
966
638
244
319
250
335
540
314
658
661
803
304
229
17
17
982
744
304
799
918
85
814
979
941
660
232
458
294
96
833
722
248
266
189
843
803
975
598
156
197
318
33
56
230
805
595
499
804
839
345
883
684
2
914
947
183
967
465
215
394
483
444
274
608
61
21
901
782
474
319
629
258
118
289
854
456
620
593
999
933
811
969
559
22
333
319
89
247
693
205
317
853
551
529
595
73
366
928
863
216
331
784
121
261
667
865
199
399
957
272
220
898
177
782
780
729
482
667
299
625
595
806
387
635
885
179
375
786
783
897
323
139
271
530
932
427
537
812
797
425
782
801
340
411
370
133
579
384
149
355
610
176
877
199
332
274
62
295
441
897
472
25
200
893
783
172
819
75
540
527
534
903
675
881
649
831
326
653
859
214
581
978
150
404
94
238
454
550
211
851
18
648
361
673
149
620
990
463
580
521
260
719
216
509
14
631
439
867
333
38
447
211
61
30
340
973
302
294
803
419
820
394
247
705
615
883
235
1000
776
618
870
221
828
638
541
773
412
716
139
540
116
90
378
492
661
835
343
480
466
113
787
186
796
799
943
745
354
34
852
243
152
876
285
168
953
545
337
884
397
726
704
387
176
997
443
918
240
751
765
474
107
906
25
937
775
279
612
283
614
759
889
325
883
317
680
536
199
440
41
739
355
805
254
923
389
872
986
953
686
602
606
729
213
702
453
210
684
632
707
758
565
101
152
479
355
935
748
576
512
31
431
250
705
535
957
346
838
543
943
782
415
377
459
762
385
945
685
925
546
753
150
867
978
926
31
932
703
950
846
765
1000
961
606
890
339
61
175
496
909
580
136
674
123
171
960
604
245
344
615
559
544
384
84
146
940
585
419
898
179
380
66
194
964
279
220
499
306
473
841
65
631
592
822
597
775
377
491
821
89
971
276
575
326
122
897
805
818
825
882
815
776
853
564
223
169
167
960
331
746
439
107
51
265
755
483
81
856
126
127
787
787
609
945
99
568
671
474
809
477
949
79
834
98
677
135
366
379
909
283
361
75
77
225
468
146
599
868
334
872
984
836
199
941
351
499
841
784
351
718
213
747
225
426
560
483
160
35
447
133
119
390
835
417
94
686
307
776
50
294
603
88
891
933
851
283
450
25
281
383
847
308
741
134
555
22
38
378
173
59
988
773
213
464
69
293
159
611
738
159
709
181
792
534
354
776
654
334
415
671
87
980
221
713
626
792
376
813
996
955
971
868
856
722
132
148
505
553
537
384
573
400
392
854
325
247
891
718
909
302
363
758
798
956
160
454
686
733
828
9
331
989
256
558
161
14
315
277
8
559
966
542
972
537
917
582
259
768
721
307
821
241
613
132
746
264
487
621
662
297
165
762
853
978
500
491
401
70
926
860
424
625
790
914
400
639
136
873
650
893
708
738
277
448
538
771
238
496
910
627
796
866
411
75
267
512
507
368
855
729
324
312
376
694
334
6
838
144
225
20
166
665
552
549
860
121
666
646
977
184
32
230
670
830
277
975
419
900
235
553
229
524
789
934
318
279
541
639
237
447
218
891
952
626
234
576
125
261
22
822
744
366
602
789
285
802
317
935
783
39
860
653
556
211
492
643
837
645
845
841
231
747
795
978
744
308
705
149
116
826
732
817
321
393
23
781
394
87
345
538
197
537
94
335
334
549
725
960
205
244
305
977
90
133
317
685
232
988
831
544
137
130
868
207
669
988
105
561
88
395
90
397
858
85
755
409
928
325
368
232
181
397
983
145
932
925
110
877
678
678
585
685
775
503
552
484
356
557
71
375
625
805
111
326
558
80
580
150
214
636
617
123
59
233
575
807
177
269
6
673
776
375
488
92
166
191
298
164
232
746
809
624
515
986
958
759
171
494
298
872
470
413
957
336
976
872
290
680
259
972
124
486
768
559
300
80
520
507
614
138
356
256
381
377
855
659
580
415
399
1000
940
756
528
205
383
604
458
857
981
875
581
598
912
324
809
938
970
212
889
240
852
283
174
896
776
132
908
314
991
222
754
341
413
921
166
202
877
914
227
841
524
280
727
804
425
326
581
446
817
998
187
302
305
318
943
897
913
828
940
175
177
483
802
954
315
756
753
516
128
992
248
523
448
201
914
936
870
562
154
492
983
847
463
636
553
909
413
469
902
110
298
419
259
294
649
842
2
487
148
708
509
32
33
829
814
252
705
865
385
74
107
452
119
261
421
367
68
26
747
614
539
843
750
636
903
217
684
695
906
9
840
569
301
682
194
348
347
486
964
82
81
172
885
421
327
295
187
208
57
550
704
180
71
869
60
550
983
195
565
261
100
958
350
144
163
271
240
18
814
790
67
36
322
975
419
209
358
247
333
109
561
128
61
178
195
25
828
983
490
723
460
972
119
35
869
16
857
292
637
59
655
517
358
724
266
208
986
587
49
616
148
163
808
282
293
334
313
404
569
70
695
265
535
811
28
585
161
827
224
132
100
159
863
376
857
537
650
244
327
782
18
298
156
759
807
762
497
904
39
866
48
726
560
927
695
441
732
418
705
64
405
58
153
904
112
571
217
343
824
398
7
231
604
38
887
987
200
156
572
729
954
805
859
362
396
370
571
567
555
889
88
82
317
442
926
471
140
187
935
836
42
472
33
570
64
130
901
288
358
744
642
552
610
157
266
850
779
985
761
569
44
219
655
384
372
248
208
554
375
827
807
121
990
548
717
885
10
366
51
358
731
605
736
568
782
664
276
739
707
308
319
367
50
70
404
150
456
760
749
555
819
502
641
556
581
34
790
211
103
236
13
305
446
975
714
240
979
390
981
719
14
689
495
544
33
374
128
14
151
566
812
14
174
768
205
846
985
954
766
275
1000
381
48
48
157
849
443
358
194
478
135
343
30
214
720
720
640
405
813
93
206
787
973
295
226
110
448
378
918
496
557
495
539
291
28
971
140
845
221
346
912
169
990
985
491
871
852
174
514
107
284
265
265
558
177
522
470
586
946
819
179
804
336
227
187
256
704
829
648
302
462
824
360
58
378
60
701
969
660
714
367
665
99
700
837
765
33
764
996
712
619
951
431
20
653
262
728
563
229
899
504
642
614
415
19
612
43
490
945
810
566
801
293
334
695
633
520
19
374
466
612
595
684
763
244
582
799
575
211
953
924
384
951
975
340
808
372
932
228
418
149
604
631
920
340
512
784
397
478
891
50
135
229
330
864
793
376
768
419
316
135
315
302
64
752
957
944
65
915
761
502
177
787
641
800
202
325
67
1000
698
161
395
988
279
489
628
848
722
311
483
375
65
900
637
340
205
537
890
48
182
407
755
848
500
49
708
385
298
899
910
789
147
278
718
488
583
645
713
994
206
46
312
866
325
492
211
993
706
403
89
518
896
376
986
993
994
248
757
808
498
869
823
562
35
27
198
776
353
691
452
295
975
125
808
786
266
428
78
973
507
763
479
644
748
877
713
993
846
482
830
590
106
762
532
84
362
558
563
808
192
742
746
579
171
929
40
340
729
950
728
763
240
442
455
559
391
493
390
66
799
545
219
589
59
645
31
124
117
709
404
320
941
663
167
972
938
205
381
912
469
465
55
889
132
28
991
925
149
592
930
672
360
88
892
489
802
189
162
348
805
970
914
129
862
951
848
604
264
860
558
172
651
240
554
443
159
470
992
855
827
830
218
849
270
32
159
542
410
989
436
464
226
709
863
687
68
862
617
567
71
993
945
449
599
341
770
852
452
926
903
89
772
909
874
797
218
225
590
553
956
133
107
622
500
650
835
879
214
793
388
124
557
182
102
337
795
828
1000
897
944
863
564
423
181
579
264
707
807
358
188
123
138
13
503
53
353
590
705
81
429
910
795
167
785
20
577
566
120
196
245
984
279
405
321
385
658
894
764
847
772
123
803
138
150
400
596
970
635
378
373
455
500
33
85
924
526
899
941
109
358
68
406
668
965
931
373
160
31
717
273
895
442
624
804
505
800
756
830
710
109
136
744
505
306
758
249
917
348
52
90
556
939
138
737
418
772
925
389
770
404
476
974
519
458
40
996
144
888
804
195
131
471
733
963
877
504
842
416
170
958
833
783
719
936
362
544
643
391
71
358
500
470
164
349
215
741
536
793
226
825
344
550
258
631
510
890
411
464
832
487
670
790
256
439
501
314
402
137
958
337
607
696
571
71
602
442
385
702
422
632
666
503
321
204
178
244
249
836
445
451
945
23
69
853
780
181
9
427
316
27
706
98
921
605
72
6
936
366
675
714
566
643
855
423
143
735
183
484
405
546
362
64
198
386
649
811
348
129
920
763
502
379
729
541
399
679
134
91
396
74
551
824
54
570
656
60
247
71
171
76
570
426
396
915
785
120
525
336
668
943
90
942
892
713
391
568
524
756
357
470
302
366
141
721
104
941
640
491
919
809
286
572
205
25
683
567
713
595
103
687
755
619
427
964
391
850
842
14
224
31
486
173
314
153
310
949
222
481
576
264
358
794
818
881
608
771
560
720
675
894
791
559
711
533
998
705
571
116
545
805
475
409
341
926
942
971
997
376
617
788
169
521
994
946
343
44
140
948
120
641
185
946
957
173
768
732
394
665
614
789
42
356
142
110
988
209
299
742
799
907
861
246
53
368
58
329
126
266
698
927
14
852
955
919
133
612
566
481
348
965
504
805
979
231
84
529
172
570
103
788
800
453
803
198
25
500
397
483
759
195
440
652
498
65
525
854
477
416
699
56
596
592
467
700
370
42
501
340
990
180
938
92
657
145
722
365
539
74
543
994
61
444
756
367
741
363
147
555
479
422
490
788
994
900
669
816
125
602
531
853
819
644
753
814
933
798
749
511
442
826
27
323
224
378
495
600
373
637
908
728
920
855
38
356
878
352
152
752
816
331
99
622
492
61
620
49
679
629
520
366
965
446
952
879
204
136
434
393
287
274
115
362
79
666
496
333
683
523
31
58
696
907
18
296
726
335
739
845
268
226
89
793
962
203
805
343
372
910
7
783
692
82
924
375
192
129
610
976
804
340
933
191
975
170
335
735
797
731
691
459
475
755
92
208
397
812
528
248
405
477
275
537
414
487
218
497
160
674
506
276
712
587
692
714
336
277
931
357
468
687
944
878
816
435
154
247
89
559
832
798
435
973
151
129
447
955
739
409
506
985
727
246
316
646
291
744
707
103
369
749
166
875
609
574
123
248
555
687
694
671
769
948
442
925
872
974
757
687
466
129
583
336
516
468
582
496
53
654
282
893
993
525
408
506
441
522
385
909
135
616
948
941
545
728
899
526
727
907
331
548
248
653
35
183
352
889
391
961
85
23
789
171
277
427
478
893
100
459
827
77
462
846
160
598
588
817
673
165
24
919
482
252
680
839
499
7
740
859
659
205
969
837
16
888
421
686
353
262
651
400
241
824
236
590
942
430
871
367
162
208
319
135
398
798
234
547
570
401
245
429
696
482
703
935
575
827
205
629
883
807
320
398
573
353
957
376
207
155
469
83
698
19
887
44
943
155
642
29
4
415
777
895
824
131
900
717
925
257
83
530
213
2
499
558
755
957
830
216
403
44
387
544
187
245
449
984
712
192
522
559
179
144
129
593
242
822
221
86
647
836
531
724
461
162
2
301
786
242
931
27
5
791
621
780
11
344
139
874
333
871
259
329
798
568
762
937
136
56
75
654
955
762
651
956
650
250
569
871
68
587
616
297
254
641
476
95
164
359
736
189
13
673
136
581
856
647
841
721
47
910
558
188
477
182
14
993
876
939
620
108
985
866
182
10
144
753
136
145
657
949
130
200
347
287
713
1000
839
658
521
657
482
36
644
313
267
838
762
477
742
919
263
448
741
407
777
806
662
830
478
263
159
668
50
449
365
546
456
347
186
785
487
171
784
905
633
463
81
977
955
35
32
457
542
198
440
213
565
408
282
989
144
33
891
492
38
485
834
606
618
346
999
966
733
448
239
306
835
78
894
499
171
630
636
211
953
39
417
426
133
286
696
878
854
113
776
598
670
839
814
386
371
828
995
977
605
724
445
95
521
55
673
364
353
174
731
281
186
795
827
43
153
578
811
56
973
315
831
392
30
265
454
250
181
113
721
775
81
832
925
186
109
451
396
244
909
379
204
528
142
441
472
879
297
259
982
610
334
927
812
788
437
211
48
942
441
649
7
90
312
993
990
807
610
430
325
427
60
866
330
127
177
371
888
789
393
559
506
28
299
290
113
733
414
560
335
772
352
900
677
267
408
863
857
988
318
464
521
967
438
522
699
379
616
905
674
129
837
634
359
322
81
620
910
992
915
605
50
47
49
486
504
351
469
826
9
314
756
785
621
92
936
104
393
769
503
56
81
472
259
480
185
398
309
89
553
171
796
282
729
758
985
565
422
436
877
536
812
920
862
82
854
856
807
98
413
280
605
541
838
576
426
109
536
681
843
142
219
994
543
651
755
517
558
478
979
248
831
715
376
739
439
455
313
39
10
824
353
946
671
43
242
599
411
961
363
986
849
82
799
838
239
633
667
736
992
629
50
992
127
191
674
996
842
610
477
306
810
792
331
667
933
726
485
564
1000
581
750
638
109
884
49
504
794
980
705
66
467
631
791
438
205
200
903
961
923
316
980
605
629
312
163
266
865
994
239
75
352
527
910
848
591
282
986
252
415
520
618
80
498
685
851
267
426
921
99
940
220
100
629
822
141
344
790
799
181
507
493
284
915
550
419
330
267
85
528
73
331
626
709
207
568
226
826
656
610
277
1
525
405
197
680
688
622
611
955
115
99
444
628
106
582
6
707
178
180
757
396
221
765
956
142
917
2
802
970
123
827
977
166
91
972
755
354
927
550
951
131
664
838
12
759
684
104
527
799
985
759
239
256
992
160
433
493
158
103
222
149
616
427
806
333
543
179
280
609
661
451
925
697
561
377
213
310
106
753
941
301
217
392
27
113
750
652
471
549
35
527
933
57
855
330
174
36
312
246
339
163
65
1000
676
362
888
459
853
852
372
231
439
643
833
239
498
963
205
791
463
363
750
918
665
663
921
560
910
470
604
788
510
759
268
368
30
846
261
846
807
184
606
832
996
563
159
297
481
679
945
520
511
554
785
782
318
928
100
32
301
605
896
518
581
690
510
822
855
805
637
822
531
669
525
850
36
852
8
725
85
165
210
392
403
858
335
622
95
761
969
589
390
550
680
181
1000
568
540
574
672
8
370
953
826
811
154
248
357
341
55
405
773
748
922
49
851
932
993
314
895
222
742
286
520
165
468
749
579
346
273
875
502
763
526
85
847
93
792
559
295
139
456
762
691
822
967
944
967
405
687
740
948
988
857
929
126
930
31
867
438
585
694
371
982
592
441
605
370
61
228
55
145
122
723
831
237
746
714
312
998
178
862
667
704
53
819
858
780
56
899
540
212
977
6
696
714
165
527
940
303
650
205
156
829
676
842
573
891
989
805
398
306
978
915
873
967
694
290
985
485
848
109
77
493
117
42
323
877
467
337
318
448
775
138
87
817
682
651
445
287
525
174
929
599
158
879
535
291
671
430
80
218
324
203
287
540
519
910
663
79
233
870
768
513
159
79
797
294
757
455
215
542
478
330
835
414
752
361
851
607
690
486
307
726
74
472
916
220
892
900
409
467
618
134
379
378
420
934
112
578
746
904
33
826
20
883
226
845
771
722
924
118
112
637
11
567
378
453
343
215
656
638
144
82
129
954
802
605
399
925
151
791
454
113
741
194
513
324
615
531
761
515
891
437
907
81
750
408
568
680
519
467
714
488
180
464
800
30
3
200
746
312
989
779
643
32
449
653
906
55
390
879
600
167
302
968
862
377
588
564
644
677
165
884
474
207
661
511
618
251
274
630
754
352
559
277
268
72
347
495
382
661
540
553
552
915
752
553
46
37
626
796
137
209
208
284
117
843
913
584
201
250
483
79
439
519
826
331
965
974
775
866
251
447
627
201
571
991
758
350
508
365
788
352
223
774
479
599
119
897
41
864
722
214
580
967
876
971
186
967
791
932
539
597
99
207
8
438
846
55
892
980
243
549
862
265
90
355
651
324
21
720
774
956
90
948
353
710
781
262
135
108
216
966
476
272
178
260
313
77
610
882
159
906
395
2
779
891
549
414
432
218
451
166
572
752
373
180
430
731
343
310
178
744
359
542
279
562
56
725
165
609
187
294
627
78
719
949
157
708
898
139
12
253
393
500
967
529
478
122
538
726
306
612
989
353
478
446
555
792
514
49
156
940
297
345
306
817
284
277
79
360
40
944
749
816
706
547
165
312
75
280
6
176
306
710
822
564
710
905
149
770
684
788
69
364
605
757
281
953
436
613
137
945
843
214
115
156
897
98
894
475
775
513
518
106
451
909
176
83
59
960
709
864
452
630
352
802
525
604
88
211
5
678
711
566
759
301
889
89
143
561
502
605
556
343
121
104
156
239
699
859
638
88
504
324
101
679
841
279
269
246
347
855
759
868
512
122
682
772
595
942
556
866
309
599
442
514
477
578
221
673
357
500
154
71
489
856
206
980
735
658
152
514
641
567
118
99
362
352
68
908
200
760
709
620
199
28
426
802
371
271
173
593
840
948
652
123
626
453
779
299
821
618
141
144
643
592
106
898
233
126
297
449
53
750
403
504
477
741
651
75
463
25
838
505
225
393
499
260
451
465
665
151
942
890
661
463
502
122
564
741
534
996
286
591
79
987
690
935
959
720
834
602
294
792
185
5
885
442
630
920
887
926
190
76
728
735
640
321
467
934
607
648
646
983
355
232
219
357
141
961
328
187
941
612
542
897
400
996
654
544
30
839
317
129
53
172
563
676
816
279
769
278
327
21
707
625
343
475
125
767
369
420
729
963
120
106
525
549
225
152
235
649
477
168
897
451
472
867
813
483
288
42
752
15
760
735
650
270
965
367
101
584
799
342
616
72
871
911
957
608
538
635
863
137
534
851
127
429
580
955
298
397
316
140
252
6
85
480
488
619
437
900
296
344
684
602
855
596
478
998
953
594
186
59
214
980
781
242
666
84
74
867
16
620
375
869
225
747
88
350
852
520
331
260
145
699
384
820
70
786
681
34
283
951
69
709
568
164
311
980
400
498
105
204
116
40
454
473
632
257
868
687
775
14
693
319
65
615
880
522
242
415
607
195
877
560
475
5
219
357
466
110
759
637
424
514
123
215
611
576
563
218
794
167
727
627
408
389
392
827
545
535
556
385
943
225
582
500
658
217
137
828
828
456
285
427
784
320
410
605
771
868
620
362
715
145
905
913
813
210
579
536
168
646
505
583
368
747
163
63
675
433
880
617
455
242
450
80
577
396
922
53
781
43
547
106
417
246
767
252
563
207
632
357
222
504
231
989
223
820
561
15
467
771
752
953
373
963
722
668
736
303
151
515
712
980
107
442
331
200
817
889
741
978
809
526
383
770
130
32
443
749
398
109
195
851
217
922
318
510
883
951
875
158
358
44
406
175
218
77
491
942
644
231
226
50
559
344
304
526
698
196
732
147
729
851
819
505
559
388
716
541
596
447
689
667
48
18
285
434
326
816
741
944
205
391
309
866
714
879
634
924
628
876
989
242
49
505
932
744
793
160
934
101
222
761
600
405
692
626
396
798
38
201
197
812
364
981
551
41
933
918
289
90
163
485
986
439
548
364
847
977
827
413
761
496
890
162
646
339
701
595
716
735
4
401
948
123
676
154
903
855
392
164
970
280
690
810
294
125
616
258
923
473
873
356
148
417
812
401
635
611
653
175
704
570
42
348
22
518
423
904
68
999
729
689
936
280
593
620
460
734
597
316
155
81
106
149
202
307
850
795
534
566
760
366
102
173
522
125
588
42
902
602
113
576
236
634
25
60
346
521
433
54
794
985
2
190
579
76
422
987
334
546
117
27
599
405
988
889
994
604
416
735
962
796
340
344
300
156
922
679
869
63
244
786
723
282
472
951
380
959
186
528
131
318
862
827
79
495
74
727
68
331
586
473
784
253
391
215
95
633
683
438
120
94
928
356
621
319
457
737
46
833
494
370
960
63
94
583
670
784
262
793
546
668
446
59
926
253
622
2
527
110
502
280
946
371
703
970
198
56
311
864
223
858
959
697
961
95
380
731
873
599
446
975
796
178
816
561
600
131
708
416
425
2
732
450
185
413
398
929
642
318
688
555
579
494
38
60
512
417
179
796
946
929
558
874
391
265
452
909
217
74
515
312
982
42
159
390
7
610
128
185
876
57
621
153
961
917
530
244
294
294
733
929
875
153
876
996
980
58
751
729
167
164
209
190
448
483
517
899
521
576
222
152
60
865
860
590
809
687
312
396
614
78
213
678
602
22
574
178
423
551
708
438
856
672
623
935
76
548
264
534
618
759
397
766
349
736
447
105
820
670
326
393
967
287
117
20
492
894
521
280
170
992
125
584
993
599
870
822
309
128
599
261
72
294
189
791
896
79
560
202
851
204
822
466
854
926
913
638
64
211
338
114
891
516
71
436
129
475
209
756
224
736
734
364
887
113
626
384
105
981
584
874
88
521
845
71
853
64
935
453
959
231
694
633
353
41
587
825
438
401
155
774
228
704
413
591
899
300
159
901
142
719
455
66
454
413
975
13
934
657
532
395
167
15
861
361
554
395
644
237
756
340
850
792
995
633
684
565
620
695
832
958
681
525
235
386
270
151
315
815
24
630
457
438
499
650
516
81
102
712
354
149
866
664
670
596
662
98
919
430
340
755
716
739
918
594
948
81
167
657
734
342
830
192
517
876
311
736
792
770
841
68
426
626
36
948
96
99
271
592
86
761
474
657
582
558
821
351
664
242
245
921
350
674
901
419
470
850
477
117
579
781
737
365
873
156
804
14
822
828
458
728
265
711
163
655
828
666
633
962
831
277
486
668
277
227
949
78
164
129
614
860
77
277
3
474
974
745
12
223
124
678
401
693
423
420
118
689
656
312
631
98
857
625
417
280
606
122
413
698
939
136
556
490
597
921
481
617
475
255
96
19
472
906
8
943
435
665
724
237
498
52
131
945
945
721
17
966
651
815
282
900
270
227
74
466
614
805
272
10
56
997
619
726
396
380
361
156
350
763
385
424
696
311
740
469
175
212
880
174
435
958
154
970
662
220
855
920
66
634
615
749
30
572
60
591
596
74
408
432
915
727
124
382
425
187
860
928
837
423
627
269
429
533
562
684
797
172
720
630
909
168
17
944
307
958
848
73
312
814
907
743
344
667
431
847
871
518
448
635
12
72
567
447
545
215
537
385
927
410
103
260
916
897
634
113
603
855
648
394
935
282
614
632
341
444
363
27
659
183
17
970
409
239
605
902
369
998
423
305
522
805
770
834
731
983
900
814
890
276
898
330
872
253
732
166
365
573
890
698
526
671
891
642
447
577
409
251
655
67
951
143
164
305
797
472
171
441
405
538
112
383
595
253
658
100
596
132
158
377
498
567
253
883
711
206
585
783
815
197
64
918
550
889
696
710
789
370
773
573
30
841
142
582
332
428
324
537
623
493
510
392
31
877
839
193
190
820
908
308
492
451
151
732
919
901
609
701
357
31
603
656
322
736
986
865
581
555
11
618
497
81
279
14
798
263
928
763
116
260
959
329
853
902
605
998
840
226
699
119
842
748
301
873
124
330
244
396
235
565
830
984
617
553
668
412
914
858
483
95
611
183
821
961
212
32
739
383
251
180
953
495
284
332
390
499
461
709
816
355
386
660
981
358
787
590
738
670
902
648
720
845
631
642
452
721
203
589
231
854
558
171
699
823
653
99
818
336
660
80
863
30
369
612
114
294
157
345
182
202
544
84
276
883
722
843
269
250
432
504
109
50
205
773
1000
595
315
97
770
397
739
154
14
154
44
304
946
175
420
145
345
397
975
932
642
599
30
162
975
274
396
60
992
908
491
52
303
74
762
587
713
842
31
788
821
499
332
523
122
456
249
440
497
523
33
383
839
465
548
408
649
820
637
310
582
529
638
145
329
824
579
780
701
158
68
870
471
715
2
7
334
165
992
7
347
886
860
409
340
847
625
334
76
684
161
748
399
305
106
77
220
491
675
810
924
600
708
456
742
423
708
736
680
651
615
393
823
228
749
370
254
58
724
397
328
147
91
229
774
287
165
846
940
826
753
974
512
872
515
163
212
553
275
479
280
575
894
623
82
380
242
867
746
674
419
779
602
935
586
133
85
811
706
739
912
969
30
208
588
60
389
798
714
936
232
584
144
163
855
144
788
171
479
852
719
91
657
639
299
446
995
787
248
367
315
914
919
973
219
820
565
821
450
255
49
146
603
25
280
702
470
29
631
574
797
985
737
334
260
636
356
202
273
136
457
724
586
222
250
584
744
470
702
813
162
645
940
590
938
697
63
283
598
425
96
116
578
238
203
116
680
683
834
579
640
659
171
298
689
283
92
271
221
405
905
383
714
688
242
848
605
954
848
806
175
257
483
525
351
751
789
151
3
966
748
760
493
538
355
779
188
810
176
500
176
938
778
500
653
351
400
265
321
411
832
216
660
171
181
638
135
941
106
710
206
203
149
960
566
79
970
998
110
185
677
267
21
180
923
940
763
732
155
790
939
982
173
12
727
742
184
555
40
858
636
431
660
158
457
888
342
377
710
53
260
288
353
872
279
18
496
720
192
201
504
69
488
175
350
985
204
920
865
36
117
789
909
382
887
404
48
462
715
240
991
680
788
563
946
953
53
354
5
784
834
787
907
786
455
639
777
220
268
729
994
161
458
117
926
366
562
335
83
777
899
356
195
874
10
354
824
758
757
580
365
935
961
816
747
251
322
955
672
340
888
222
13
231
538
426
839
483
769
430
591
320
592
710
152
761
471
471
878
677
82
311
197
22
97
796
35
244
353
680
165
6
516
677
549
919
821
859
874
940
509
763
805
436
383
254
885
723
264
22
668
19
224
369
379
374
155
559
369
104
629
641
670
662
30
48
192
678
605
723
515
108
450
769
742
43
417
827
598
766
599
484
817
42
358
9
851
483
810
645
145
69
337
482
490
533
925
666
510
391
120
345
922
834
934
253
38
598
305
326
914
146
619
30
657
230
358
408
667
941
136
943
9
870
301
453
688
872
757
190
323
273
879
180
613
2
233
658
29
314
284
117
364
236
468
103
126
820
774
390
291
624
479
574
571
568
775
459
200
456
837
805
222
29
276
168
391
337
52
571
88
626
629
713
127
654
605
243
911
583
56
409
157
124
591
34
360
648
471
349
197
335
168
674
341
253
433
337
518
471
285
492
201
903
315
688
22
632
378
160
845
852
23
783
463
437
9
579
32
359
852
464
702
827
643
636
374
85
300
663
144
246
19
841
809
419
926
848
742
636
834
63
554
797
593
172
228
896
686
862
828
302
666
429
452
766
484
160
849
110
3
176
981
282
791
227
882
566
817
648
346
242
794
228
348
958
751
314
592
354
868
822
284
276
729
196
15
1
936
542
648
515
444
313
234
778
91
955
258
319
529
861
1000
257
163
833
371
19
776
1000
367
624
225
821
187
363
967
341
149
138
209
354
776
491
148
528
775
576
115
791
226
956
442
501
962
89
502
23
996
842
715
310
841
156
234
34
782
275
696
605
424
545
669
150
382
886
362
150
568
471
775
975
354
18
693
986
827
373
845
244
466
737
103
95
827
977
803
82
234
939
163
690
79
588
283
409
31
108
406
484
351
768
949
484
577
529
334
562
8
836
764
813
797
998
941
706
966
874
158
925
331
341
330
301
142
141
309
742
222
280
266
170
558
94
990
543
530
461
747
967
486
430
689
743
915
679
917
976
279
829
967
994
448
618
909
442
788
322
240
337
161
643
448
793
496
456
476
390
125
448
297
355
788
692
474
822
60
618
879
451
970
702
720
586
747
395
651
959
959
496
996
660
780
206
76
732
777
552
220
286
393
756
253
463
236
375
215
935
423
723
561
873
473
167
365
493
644
378
881
332
228
521
364
408
7
654
238
274
988
328
521
780
559
492
942
28
429
317
316
640
51
495
556
913
762
897
180
898
509
196
281
723
907
244
696
707
289
498
586
967
621
792
671
220
380
78
162
459
986
561
808
993
983
806
537
145
892
996
910
508
630
490
931
267
418
249
845
563
359
481
186
224
251
68
711
518
725
960
847
752
536
731
916
624
652
932
737
287
812
688
141
940
418
253
594
617
906
854
362
562
261
229
613
184
959
711
430
160
410
577
970
664
955
651
878
62
528
824
663
677
408
247
932
365
864
426
248
737
100
359
936
818
616
155
304
816
13
261
629
470
282
577
713
129
854
219
7
310
14
646
80
3
809
185
698
389
251
729
878
946
429
539
86
177
144
612
154
276
792
58
617
123
547
282
872
926
322
528
14
668
591
544
226
290
938
683
334
196
108
764
508
215
390
397
106
667
436
298
366
514
962
299
973
908
360
403
521
602
915
237
574
813
214
678
291
127
314
279
601
932
420
345
489
707
155
157
255
193
973
908
547
128
908
346
544
738
651
9
922
634
889
198
141
120
958
504
138
149
102
803
751
345
86
96
35
571
442
512
202
493
398
38
61
475
404
289
708
916
214
737
687
856
700
319
19
240
913
296
280
771
419
555
409
671
627
288
8
991
624
122
713
337
33
335
622
21
542
753
870
646
35
266
188
122
733
697
676
921
329
928
98
166
879
750
702
773
142
933
955
472
97
359
600
973
655
906
149
955
913
959
225
798
880
24
218
228
298
982
313
90
11
901
320
499
402
193
642
528
519
120
394
391
893
306
909
834
511
968
859
39
27
33
758
915
124
161
905
80
863
1
683
171
968
622
741
408
261
219
752
465
891
611
352
789
545
5
365
482
592
751
619
717
995
563
499
483
835
761
869
112
553
632
155
665
303
934
199
733
385
876
946
651
346
679
147
412
197
950
60
812
153
652
544
474
452
416
31
437
108
307
636
957
878
925
33
974
364
891
798
502
911
360
662
834
882
199
427
8
976
839
403
501
481
639
845
437
739
788
241
931
648
402
299
365
730
474
124
474
135
786
382
159
986
698
240
823
617
989
456
870
600
567
305
708
921
904
928
235
322
522
328
342
601
728
428
370
620
37
555
844
886
434
255
44
819
684
550
131
248
402
651
631
242
475
623
24
138
764
742
107
476
661
56
541
640
267
229
713
166
412
840
639
62
697
160
131
981
66
877
864
755
164
363
304
652
848
858
672
648
819
379
254
208
261
260
399
295
765
962
506
833
558
197
114
437
260
501
1
959
975
46
851
366
470
922
583
509
660
88
961
579
351
921
447
435
452
601
555
538
448
594
158
926
962
117
301
503
667
813
82
955
613
803
41
755
318
914
379
48
571
170
979
698
979
540
887
409
743
569
425
616
985
717
534
820
271
180
336
116
590
492
122
943
188
446
135
512
105
723
621
914
176
174
549
677
564
847
307
396
585
740
466
133
710
704
383
461
153
121
30
395
363
763
927
963
97
705
474
839
466
316
294
282
503
81
428
616
360
488
330
602
181
279
690
384
83
123
4
96
428
153
696
866
760
905
340
680
362
871
179
517
365
278
739
221
755
724
755
815
415
995
74
351
542
698
423
937
406
397
162
266
435
526
226
855
22
728
470
181
312
176
538
111
434
97
189
305
311
980
754
790
231
884
14
507
800
857
324
465
792
715
261
46
656
352
412
137
135
293
180
30
522
423
643
426
569
703
572
481
975
209
683
547
663
5
79
157
767
222
639
834
376
196
760
532
586
668
527
830
360
886
811
568
993
866
277
218
764
255
548
179
466
955
32
103
71
137
20
533
743
368
722
430
786
294
845
581
860
756
144
541
9
242
167
463
588
339
52
149
207
172
807
682
173
879
979
252
727
839
4
193
577
733
794
745
855
467
346
804
619
706
217
759
476
20
749
517
719
639
800
1000
619
424
609
734
148
956
83
592
465
552
480
444
976
628
953
209
590
80
903
796
136
240
402
505
513
527
230
711
279
150
205
123
845
64
582
410
351
920
241
790
589
939
284
19
64
484
444
274
383
573
392
638
685
773
633
223
759
686
193
514
826
731
697
152
694
20
766
225
153
949
882
105
19
493
989
7
194
365
164
748
483
868
588
624
668
734
948
930
521
268
108
429
21
836
583
963
31
125
902
504
79
614
421
158
702
380
519
26
4
717
428
375
706
31
87
258
982
135
565
607
797
360
565
796
309
904
440
876
116
407
981
989
803
69
959
953
259
537
3
654
729
374
984
668
405
185
473
490
644
381
206
847
559
90
757
846
854
981
750
121
198
621
36
711
402
493
233
146
893
27
879
99
760
816
272
997
685
669
737
209
660
347
671
752
278
600
209
2
726
605
789
539
354
43
186
98
845
781
814
569
541
629
253
134
455
671
937
917
866
449
950
976
153
689
666
74
707
271
759
428
333
933
765
544
577
497
928
344
748
492
561
997
275
695
505
269
194
469
595
752
202
781
176
18
729
411
875
615
901
197
792
835
109
120
203
330
123
647
688
20
365
34
316
167
959
240
146
176
695
650
841
429
846
121
643
466
101
688
290
870
507
907
722
528
443
954
585
327
97
530
604
938
835
112
860
56
147
299
922
370
567
818
517
560
66
285
166
844
962
928
780
923
280
339
718
713
868
731
239
914
295
345
580
269
686
417
111
393
245
520
174
134
125
243
219
778
709
862
810
810
108
91
921
592
870
64
691
45
496
384
472
370
295
488
573
904
574
570
571
435
904
16
442
697
448
620
65
315
920
875
813
142
805
257
70
827
849
760
525
430
699
870
964
90
799
836
143
69
284
315
30
984
683
460
321
656
685
71
704
838
104
692
750
979
419
444
688
353
984
934
555
80
45
792
400
36
221
286
241
189
976
960
516
661
943
438
570
661
621
400
580
533
145
184
961
311
281
673
917
565
772
898
301
810
485
281
360
448
530
540
257
4
685
68
494
423
8
44
465
331
480
602
443
435
872
143
210
718
812
286
408
676
214
991
449
593
785
131
458
804
342
141
311
929
62
404
316
338
566
730
411
443
991
610
118
14
770
936
609
357
895
517
390
110
845
53
83
362
209
171
727
23
258
759
801
675
377
123
921
599
319
404
790
349
690
308
508
6
953
419
789
206
498
304
1000
151
14
150
164
58
460
900
261
929
455
728
192
107
763
214
787
801
891
782
76
657
487
782
864
496
374
100
313
546
545
360
856
834
408
544
266
937
857
367
96
953
529
831
64
361
714
193
130
458
979
982
187
157
473
823
296
254
293
548
349
709
35
489
885
93
833
922
552
119
774
297
354
96
584
338
404
208
832
44
353
773
756
374
90
997
975
687
534
313
994
53
589
60
422
155
393
157
243
863
9
389
323
474
628
134
574
288
149
669
824
413
750
661
526
680
663
113
874
95
942
805
750
540
417
240
228
295
395
195
17
567
930
248
291
372
618
76
894
32
984
877
747
50
451
19
625
322
795
901
157
491
781
46
35
729
326
655
922
393
189
210
487
829
641
221
319
32
23
876
217
12
382
194
511
498
625
244
577
20
747
148
732
546
720
865
998
545
592
213
39
790
180
187
719
256
490
400
343
191
675
385
593
802
897
573
619
41
933
6
495
641
758
204
482
911
601
188
169
781
187
315
549
260
955
486
538
750
69
253
275
667
929
563
779
390
713
175
168
893
221
268
734
299
898
414
581
224
451
872
435
7
952
97
488
817
610
490
806
224
704
669
939
984
298
936
840
719
433
229
96
640
478
555
799
700
178
792
49
368
743
790
248
734
16
912
822
794
325
499
956
577
181
268
254
254
344
304
983
470
128
150
678
936
31
479
492
745
905
949
563
966
911
159
92
821
461
76
569
149
187
875
761
923
730
946
670
307
813
698
650
98
624
902
272
440
996
503
319
376
290
265
516
148
111
127
204
142
247
856
179
41
267
440
373
58
254
677
851
70
25
591
862
119
52
613
320
12
982
966
142
675
302
324
329
547
234
605
533
490
374
707
147
642
947
117
593
186
816
571
612
196
509
353
803
648
640
437
591
155
33
352
85
214
775
585
6
558
171
348
961
744
307
760
889
210
489
832
402
895
362
168
102
948
893
959
667
180
756
670
679
708
840
812
683
650
767
310
948
841
322
292
766
278
642
567
866
398
868
652
741
377
710
995
237
323
41
949
746
631
203
115
754
784
179
932
287
578
162
739
11
78
360
134
339
622
25
87
952
830
841
187
537
904
778
366
389
438
440
635
771
623
764
696
551
970
619
755
721
628
532
522
814
976
246
164
149
372
322
922
60
914
277
232
983
550
65
433
317
154
839
559
502
19
991
318
626
761
471
51
178
814
237
391
301
521
489
353
959
354
37
812
10
908
726
664
64
166
384
490
350
960
135
202
573
709
257
989
846
260
986
841
381
129
787
88
549
487
659
681
293
33
981
371
655
242
253
585
338
603
843
520
828
102
511
939
577
647
41
178
141
114
806
159
980
399
447
541
827
188
151
721
151
173
191
78
250
82
504
721
963
187
77
5
780
962
828
250
411
138
481
430
499
712
665
82
211
380
91
294
910
480
196
474
973
754
100
513
76
147
37
66
976
438
726
969
861
687
255
177
863
373
160
235
211
622
340
995
793
104
310
179
632
23
126
451
858
124
954
849
311
779
897
777
820
52
172
285
539
74
162
33
460
214
155
136
372
287
847
113
87
480
770
247
699
780
884
5
28
418
484
593
153
259
437
318
124
114
517
225
526
691
257
358
549
233
329
98
627
968
898
252
497
144
817
942
751
773
789
916
546
215
821
570
192
372
399
861
730
582
813
263
463
266
973
128
645
994
874
118
164
932
593
846
123
554
332
529
666
91
548
220
276
452
668
168
30
230
234
926
970
4
548
123
857
312
105
213
21
594
107
93
970
898
379
226
664
340
841
772
123
141
516
300
107
580
718
822
156
335
680
277
200
493
374
88
262
5
699
88
545
446
515
935
316
731
243
129
573
906
868
856
413
154
214
208
411
983
321
756
66
896
586
71
571
951
90
544
719
322
190
783
774
315
43
928
515
379
165
477
459
272
543
569
495
942
87
258
766
632
407
974
637
399
990
251
62
545
871
787
433
410
788
99
296
608
647
353
914
68
820
397
740
179
459
728
308
899
520
853
915
998
652
496
747
423
440
192
757
427
752
70
715
225
116
65
317
903
77
342
140
748
523
485
548
434
776
851
327
261
98
570
988
216
898
849
148
709
571
596
374
707
361
913
163
407
99
640
503
742
933
1
601
780
436
335
881
510
582
91
381
606
119
495
963
494
820
804
589
474
931
637
42
683
896
643
94
411
103
678
75
664
949
766
228
879
13
303
6
394
494
407
701
610
361
800
384
772
849
368
185
982
56
360
330
308
358
207
235
888
316
133
143
491
541
24
477
310
702
532
113
686
519
993
239
54
87
583
328
639
336
25
43
358
795
322
525
915
34
217
652
312
395
515
302
864
602
975
575
327
896
217
220
948
158
955
222
80
315
947
617
488
976
218
132
659
883
490
161
192
229
254
937
865
347
603
470
33
545
745
13
869
130
133
323
302
761
236
967
688
327
333
289
929
473
97
405
188
770
386
799
408
243
420
642
560
667
398
980
887
594
751
298
496
537
398
800
277
139
796
934
502
431
107
308
453
459
500
171
64
694
483
49
881
607
137
965
627
732
334
923
243
334
315
948
589
541
500
67
912
414
36
38
765
977
385
536
340
667
200
720
38
6
848
856
705
563
203
682
141
430
735
733
383
500
530
740
787
815
563
478
100
129
476
214
601
617
125
943
820
346
388
188
561
747
42
24
723
795
91
332
899
54
525
35
841
20
373
204
681
472
869
482
192
605
679
217
516
817
455
77
487
930
416
688
101
469
262
996
752
411
503
655
553
436
181
727
435
316
68
375
757
525
629
23
838
544
434
688
154
624
256
777
957
960
786
675
709
318
738
880
54
173
167
272
991
338
946
332
556
841
702
785
588
580
2
193
92
889
175
464
301
674
997
143
780
251
386
572
840
349
376
730
63
982
896
623
964
87
285
579
705
874
89
716
276
790
368
139
760
931
665
133
142
456
815
746
603
310
983
639
417
110
659
72
353
603
882
148
964
464
593
248
277
567
883
690
145
52
845
213
995
659
916
849
764
827
854
97
579
5
961
101
151
463
786
686
869
656
253
726
362
841
155
262
598
237
946
221
683
460
65
377
149
374
373
384
911
771
839
365
29
488
311
511
104
660
71
630
396
836
875
357
778
568
349
24
212
910
955
812
734
5
186
855
870
542
333
449
990
416
918
337
353
357
867
380
512
666
590
520
281
406
398
95
718
614
110
12
416
115
276
198
942
524
173
39
452
902
628
240
325
292
738
641
191
83
799
46
850
739
73
59
414
919
566
236
452
451
634
618
44
927
68
850
440
900
310
638
431
819
550
260
663
847
785
204
834
672
351
795
147
252
51
816
442
204
763
751
140
193
337
236
510
264
656
714
796
514
973
85
437
893
24
370
926
208
958
976
885
586
830
235
557
768
252
251
251
599
814
971
219
985
64
610
85
428
140
213
204
943
653
189
290
818
41
102
220
197
410
889
172
915
846
918
174
366
246
997
683
426
42
519
27
637
546
416
442
898
260
496
927
911
224
38
352
482
330
219
86
587
629
75
906
793
799
209
103
216
341
386
516
732
567
499
685
517
108
109
436
380
514
928
987
491
463
153
119
329
287
524
8
622
767
335
95
65
622
412
770
405
728
228
682
259
854
927
228
685
629
13
140
92
516
844
110
553
823
891
79
965
152
918
165
776
229
851
203
212
767
142
498
10
875
841
744
687
523
418
982
281
746
659
138
316
614
542
919
464
452
99
800
9
434
711
439
764
500
151
62
515
445
944
319
427
177
325
618
106
392
118
196
163
314
380
53
187
757
533
372
39
462
15
290
207
588
183
667
810
234
330
34
475
117
166
43
941
847
96
547
755
786
891
924
796
118
146
336
740
602
33
458
742
454
423
586
783
944
391
149
155
583
510
422
482
231
83
574
557
62
660
328
995
83
752
148
388
823
661
305
201
885
718
142
136
283
60
606
49
882
230
400
820
780
560
127
734
213
267
481
70
362
642
777
551
520
554
166
279
189
700
426
533
31
714
548
581
82
260
252
258
257
740
154
622
975
60
567
409
704
210
811
393
291
66
463
983
243
917
217
578
525
702
856
230
21
846
414
186
533
867
751
713
80
671
623
434
314
517
830
78
54
197
158
132
298
882
675
425
608
419
361
50
400
609
220
360
506
138
772
11
384
384
258
122
442
289
1
699
277
831
91
378
53
426
984
411
874
745
647
562
735
28
610
254
597
957
656
858
167
556
900
513
222
374
706
206
691
432
214
190
254
9
270
931
930
381
179
947
957
43
32
865
307
786
309
933
326
218
95
74
336
7
509
248
496
118
900
555
858
829
931
28
386
136
945
510
585
454
885
375
572
175
627
68
623
742
765
649
676
390
801
562
856
588
188
825
780
516
870
733
337
649
816
937
642
584
511
462
81
819
561
823
727
80
344
903
901
141
124
671
330
839
154
126
195
78
93
99
302
241
468
635
808
320
33
766
155
484
593
374
383
551
298
739
560
13
436
82
828
857
506
113
518
387
690
116
812
691
894
626
710
140
215
95
415
580
1000
243
803
436
707
992
348
998
390
962
732
579
968
526
364
73
381
324
225
657
381
969
771
67
965
364
92
890
402
741
195
794
397
994
46
481
170
392
964
406
152
54
77
5
544
844
789
222
201
522
652
658
179
2
605
525
825
620
248
902
439
101
749
509
418
802
2
311
261
398
837
790
982
867
493
671
278
74
10
168
277
682
923
633
795
462
431
556
833
250
211
471
450
962
177
265
277
121
787
738
635
248
933
56
684
377
90
888
19
652
111
642
914
678
40
145
741
813
310
572
129
113
16
182
126
972
248
654
961
838
95
412
981
519
567
369
33
750
583
929
822
654
154
926
786
666
95
417
611
283
869
901
826
768
721
562
821
503
828
630
238
289
30
780
932
291
641
783
591
675
941
302
678
272
231
786
568
723
727
928
620
659
159
37
454
426
680
985
901
749
561
71
912
516
192
308
232
566
132
107
778
934
280
283
479
544
766
660
816
736
828
247
391
328
770
136
651
149
59
821
343
89
790
582
323
783
6
946
142
942
837
28
186
231
10
690
248
342
65
90
96
539
504
131
987
575
198
761
106
299
608
847
584
694
737
562
107
341
309
840
100
524
354
486
147
264
230
918
611
596
124
407
365
300
280
859
204
121
459
882
750
242
685
892
620
377
928
508
199
435
179
302
638
102
330
292
555
52
371
210
520
781
671
667
598
158
560
829
98
925
949
120
201
294
522
746
352
705
875
580
88
572
24
23
540
560
943
3
924
510
96
188
226
646
478
832
674
115
335
394
779
220
563
249
454
925
748
310
187
354
993
404
322
29
907
542
250
556
644
44
715
274
442
635
504
194
902
209
499
167
140
955
446
812
57
936
825
206
158
2
888
714
786
137
261
622
136
958
538
431
147
78
897
775
219
517
128
918
698
132
390
698
263
301
667
622
663
746
142
510
735
408
667
749
270
775
86
710
93
898
410
382
669
629
769
568
651
266
590
278
62
898
704
114
201
202
923
479
953
382
189
465
919
188
542
99
648
710
49
467
320
733
266
885
416
955
21
901
274
307
78
434
938
948
717
730
371
247
390
169
953
187
395
149
130
225
928
439
240
543
983
389
847
44
315
355
325
170
59
546
83
834
697
227
565
307
754
913
66
935
974
722
509
888
783
546
535
33
488
86
659
143
53
55
782
335
236
73
51
615
568
872
924
842
946
413
285
266
572
463
664
18
602
959
897
595
154
240
71
408
235
853
235
955
762
147
137
3
84
352
211
480
329
169
141
405
437
142
588
314
984
255
85
92
751
287
692
47
536
372
715
332
876
158
696
560
205
705
917
551
458
954
867
677
288
227
475
201
871
687
420
326
745
125
499
433
243
744
880
110
875
834
5
124
413
379
92
486
577
646
448
53
908
762
268
962
875
154
203
292
264
432
729
997
677
9
286
95
272
287
223
522
972
723
809
848
991
461
972
266
924
520
964
875
598
697
842
307
565
459
539
155
416
97
272
527
52
328
241
244
698
344
871
894
684
41
345
961
998
772
812
748
151
531
437
634
214
890
430
520
704
374
276
956
637
225
664
552
221
629
36
753
576
600
231
952
362
641
456
221
410
209
690
656
275
792
663
419
130
94
780
122
570
428
682
81
722
907
678
334
494
471
921
43
949
48
75
39
540
435
126
838
394
556
214
396
931
840
591
253
815
362
282
463
692
273
651
913
171
772
800
191
268
564
693
170
879
279
910
858
883
836
250
875
155
90
700
121
124
403
911
813
497
960
963
100
420
760
87
863
667
208
32
184
410
153
891
170
736
25
590
472
380
463
659
907
33
436
595
33
238
406
883
392
70
537
718
413
736
265
563
643
796
853
937
51
884
660
265
648
733
956
178
549
778
91
387
920
853
675
157
952
291
240
420
116
262
543
809
483
331
261
206
801
22
322
948
393
635
570
478
620
710
723
64
861
285
850
193
465
526
700
380
116
434
267
424
412
38
903
594
208
914
145
847
494
912
186
917
103
712
569
66
600
177
251
327
29
505
673
329
62
891
821
174
249
712
592
368
719
269
930
527
683
781
315
416
518
606
210
915
59
656
930
646
946
590
284
351
523
632
2
564
855
822
626
786
864
66
69
127
460
637
495
387
812
638
493
589
587
546
828
286
53
124
153
372
448
897
178
686
904
897
733
454
510
570
80
481
827
591
566
62
253
798
450
775
191
659
299
680
862
444
879
949
975
771
853
646
169
319
944
167
327
252
419
859
376
366
889
469
163
34
476
355
378
795
291
849
220
813
80
789
727
509
586
948
251
379
894
75
535
385
547
273
285
320
717
717
879
265
102
80
120
557
483
589
495
718
84
316
481
424
982
197
819
920
788
255
526
239
781
677
680
222
442
746
605
583
94
63
186
250
969
191
473
738
572
584
605
614
627
667
361
993
276
12
304
550
421
821
598
779
295
343
31
87
376
452
698
826
770
302
98
578
46
903
88
824
292
476
273
650
873
671
918
263
934
64
410
937
252
879
604
443
382
540
151
159
425
498
53
830
924
726
211
376
553
467
732
239
271
54
86
520
596
113
10
536
454
49
202
513
857
494
452
823
291
274
833
567
293
591
987
312
142
284
316
495
980
464
127
339
974
343
374
114
315
780
661
244
935
928
609
72
853
367
509
40
958
295
438
685
854
661
641
119
117
608
51
605
943
226
266
415
721
431
176
421
458
706
690
761
400
569
705
496
381
883
532
369
651
553
482
660
946
717
224
672
597
278
807
545
293
519
969
949
946
561
451
694
783
656
574
474
375
644
237
731
839
419
856
124
849
914
486
203
414
964
517
654
592
346
883
920
466
466
693
116
711
457
550
862
47
868
580
102
713
776
403
4
858
888
826
783
388
108
59
626
405
170
613
958
816
102
881
953
98
724
593
546
470
910
926
190
923
40
128
257
667
932
878
305
538
547
484
375
842
944
242
124
913
277
916
874
392
101
371
578
874
911
829
321
78
610
106
187
173
574
421
269
218
69
97
105
929
46
499
101
165
765
98
313
570
265
393
535
803
428
784
796
640
284
129
233
58
230
899
774
64
60
310
246
648
31
779
330
759
730
359
222
575
157
552
18
695
269
64
607
88
222
571
267
755
665
595
292
111
759
870
688
35
17
421
400
368
692
708
589
422
192
796
182
697
906
487
306
581
941
752
235
296
442
607
163
701
617
766
475
880
84
52
147
621
884
526
604
988
356
760
640
201
72
480
994
944
209
75
775
45
66
83
230
184
895
838
264
936
872
924
736
960
822
909
763
619
257
164
219
650
397
182
122
758
112
949
865
162
127
379
88
217
424
727
515
168
498
193
308
5
6
656
256
166
407
558
698
506
380
513
155
596
158
119
522
858
456
791
80
511
297
185
759
590
907
900
819
524
806
730
588
893
369
663
953
40
420
229
77
112
882
514
192
997
95
394
403
355
202
84
128
606
889
97
192
309
880
111
615
835
776
43
805
630
257
822
235
617
171
985
653
532
769
239
545
26
174
536
875
424
202
78
83
906
813
877
964
714
797
155
314
698
792
915
160
152
343
488
1
438
534
686
712
303
661
520
684
185
515
58
321
37
119
129
237
348
178
37
363
141
68
363
710
665
935
221
709
405
352
63
903
810
31
204
240
816
283
813
398
881
288
984
368
702
723
884
976
238
1
678
172
957
168
100
667
450
501
81
957
702
989
799
845
321
162
891
328
991
203
326
114
247
859
630
111
437
444
716
912
387
162
579
709
860
5
509
69
378
775
262
710
326
112
862
741
602
990
293
838
191
822
389
466
224
184
631
589
9
178
409
261
498
614
546
108
423
531
512
3
82
46
835
169
394
164
636
518
339
974
117
314
393
612
76
110
877
458
218
507
408
333
92
476
807
843
991
860
882
612
53
211
458
886
76
285
955
845
290
372
537
51
445
140
608
607
76
794
980
6
749
210
583
135
421
123
967
571
782
596
188
136
598
775
862
661
617
353
353
44
580
274
33
970
204
952
547
141
818
671
833
431
484
905
422
177
19
13
188
719
332
124
294
380
880
63
559
310
856
862
829
9
915
721
256
874
875
302
544
839
839
870
344
10
617
137
986
221
157
584
622
611
936
715
705
624
898
920
427
360
601
594
381
781
661
747
243
133
466
566
721
853
411
315
349
337
552
511
985
254
689
526
5
435
365
641
267
17
163
111
906
197
984
971
868
864
705
170
899
431
723
105
408
354
410
786
189
223
432
668
516
782
236
665
540
950
708
958
212
688
195
14
196
589
603
656
365
158
262
104
511
91
599
680
816
273
436
242
536
835
916
506
37
389
622
92
39
442
460
544
455
113
271
562
708
455
937
401
776
130
937
712
510
665
965
108
948
283
190
387
467
99
210
652
607
536
558
539
308
938
862
384
135
726
420
433
767
887
988
143
683
246
30
206
487
766
582
177
776
46
93
487
791
339
344
193
359
610
576
17
784
654
496
109
408
788
673
496
559
416
193
357
456
644
101
111
451
146
313
806
655
700
160
437
621
175
698
641
239
232
216
686
426
715
124
778
496
497
557
502
331
538
573
651
608
61
777
760
342
35
590
455
993
596
117
78
203
671
784
162
982
802
455
994
850
102
776
916
974
355
845
26
846
482
138
617
405
14
810
57
797
722
128
786
171
288
782
766
988
726
273
48
346
305
398
51
717
867
95
804
320
779
551
659
76
230
539
928
717
220
389
477
163
387
895
577
711
775
678
189
959
724
273
441
592
364
210
261
371
590
925
6
705
972
178
451
158
790
972
687
130
277
700
322
754
184
322
881
696
988
911
433
207
424
856
305
216
535
298
200
727
83
154
165
40
27
213
605
590
711
331
26
297
593
733
227
369
576
774
437
437
527
289
301
751
112
840
652
933
867
750
751
410
354
803
31
267
300
879
414
687
862
613
956
550
556
343
914
55
914
264
331
393
657
696
879
622
991
813
15
904
697
17
477
139
810
366
755
905
22
127
462
273
444
570
463
750
966
561
197
115
277
418
909
340
540
713
354
180
830
415
171
219
708
847
256
369
718
404
418
843
161
886
59
638
266
609
857
401
712
149
238
374
547
690
934
792
728
489
83
694
857
863
114
632
224
473
158
173
910
384
820
384
537
556
934
736
264
953
372
999
695
416
48
693
748
832
4
666
902
866
907
164
907
732
281
537
768
42
578
389
745
769
518
539
189
764
182
635
269
37
16
645
7
273
247
727
624
605
206
203
860
750
720
401
817
984
22
202
859
305
610
996
314
361
109
572
986
349
454
217
33
166
666
896
359
543
66
944
478
748
30
137
760
731
289
345
67
241
328
252
67
549
686
762
901
890
769
792
492
619
397
127
494
415
417
875
754
522
603
882
249
192
534
114
601
956
316
648
685
319
802
397
313
782
446
125
685
854
35
600
82
844
349
976
299
784
184
627
419
788
326
664
850
526
746
361
974
254
761
492
381
5
882
416
421
166
874
334
706
613
847
777
305
3
282
791
576
604
549
722
977
261
830
762
747
716
336
604
39
504
405
672
953
84
316
388
921
705
678
837
66
728
828
37
496
781
991
711
950
183
858
118
875
511
841
7
794
65
517
237
773
258
670
913
925
617
887
173
98
177
917
914
392
550
825
811
646
816
541
944
820
718
571
260
64
319
471
854
316
433
215
744
458
617
684
450
445
471
381
143
296
318
881
572
540
64
692
299
509
200
956
959
871
441
860
443
921
487
724
893
443
703
473
363
416
346
603
854
434
97
819
165
472
260
224
677
558
980
329
759
974
217
162
944
855
28
460
414
429
896
247
613
689
495
115
8
1
254
172
103
975
558
924
831
992
211
342
342
888
68
964
53
672
352
179
501
601
248
764
229
601
817
340
414
792
131
661
438
839
808
547
911
963
805
847
939
686
394
1
570
829
758
693
442
845
528
566
600
292
869
175
362
160
469
208
870
787
854
479
675
317
13
362
302
1000
211
140
228
150
227
219
135
242
973
265
626
459
608
110
775
985
811
700
60
465
830
465
241
350
292
206
673
321
527
44
435
540
343
982
353
299
763
398
724
509
223
117
44
567
140
770
577
380
546
807
949
684
696
892
237
373
173
403
239
225
37
382
677
282
995
648
124
165
369
698
323
742
946
661
410
926
357
870
274
838
758
512
889
226
991
440
29
802
292
466
196
133
884
344
934
821
463
239
982
951
665
674
853
239
98
821
515
858
420
540
801
659
240
738
84
416
326
485
515
714
727
793
811
365
925
146
221
538
76
647
732
333
706
148
64
195
995
818
266
366
920
410
958
595
50
910
437
419
809
331
826
658
304
187
456
199
667
566
487
749
973
789
524
12
416
348
666
655
404
204
980
500
619
549
866
624
915
800
156
420
103
969
97
232
313
523
531
858
631
516
695
99
131
72
86
514
277
278
717
727
879
154
933
966
452
663
659
969
881
632
607
50
739
79
474
917
476
657
632
750
977
853
143
209
643
120
206
243
258
357
268
38
359
998
146
997
773
532
442
370
222
426
430
63
672
286
379
162
157
589
969
959
375
454
40
570
250
750
459
784
2
292
240
442
6
4
435
461
850
704
485
606
587
597
884
260
92
663
22
716
835
869
36
981
130
526
332
686
113
189
192
451
263
212
570
978
292
424
702
230
615
441
678
261
409
807
462
671
486
489
162
210
815
266
532
716
549
179
776
477
846
556
757
93
584
47
597
79
346
768
483
793
659
904
229
746
554
60
742
977
942
252
124
992
195
671
524
706
569
241
267
917
795
579
989
144
241
155
696
26
541
351
736
117
480
604
612
574
226
52
500
188
713
903
59
208
83
265
874
624
623
326
413
934
561
571
937
923
417
207
170
664
335
71
888
766
978
88
773
873
120
771
56
571
27
363
455
135
63
925
899
16
766
149
356
552
784
656
849
189
647
314
386
351
365
451
130
263
206
882
574
164
828
343
892
827
142
276
903
768
906
888
298
284
48
98
855
291
168
238
402
940
492
404
161
172
783
919
959
702
365
687
497
376
486
132
501
516
660
16
109
646
544
662
315
933
131
47
603
808
761
728
182
466
484
859
403
395
849
352
974
619
50
819
594
118
685
89
494
734
86
939
153
942
277
186
164
55
167
425
808
794
483
516
417
653
303
388
997
179
775
855
916
99
747
901
683
202
618
349
961
41
635
891
9
791
248
241
691
70
916
536
16
123
902
195
958
529
215
160
942
532
809
800
968
142
583
807
806
409
488
82
72
636
294
961
299
875
151
112
297
716
120
121
185
242
267
37
509
71
754
186
739
519
583
114
294
283
320
851
922
514
157
591
937
786
130
485
313
259
199
501
107
284
123
179
14
818
782
711
112
255
661
943
31
722
699
811
833
447
605
235
860
553
52
658
711
502
852
305
267
466
344
682
389
115
747
36
513
638
135
264
875
358
64
259
488
943
571
782
347
70
464
735
519
347
320
147
952
464
616
267
820
819
736
920
220
332
409
657
833
749
280
338
955
507
915
443
945
167
517
829
710
461
49
649
320
268
227
848
223
199
92
985
831
17
445
126
409
834
499
218
338
854
461
647
789
487
674
660
791
770
98
950
458
417
639
985
902
265
815
580
955
510
764
836
376
974
423
772
663
530
994
922
931
963
492
701
576
786
244
565
604
971
712
880
574
87
883
906
77
128
801
537
549
148
498
222
11
896
721
49
8
836
340
65
632
280
284
777
8
902
154
184
44
548
430
871
542
84
301
424
26
14
736
886
732
742
347
73
281
620
954
280
456
407
565
356
397
356
626
145
252
890
997
39
985
791
90
733
634
853
24
335
752
217
405
619
168
977
612
600
487
190
19
583
925
130
657
483
200
481
213
543
179
168
109
531
905
710
639
117
456
283
800
422
779
185
480
647
308
17
151
302
694
698
59
777
408
362
183
929
354
329
921
895
849
567
510
571
525
497
720
52
743
572
236
887
103
792
425
154
503
184
940
221
999
361
678
547
393
420
163
41
86
857
339
291
240
632
83
458
694
227
516
732
402
341
294
51
391
860
647
191
355
885
880
446
40
856
411
856
528
319
191
349
366
445
543
206
233
176
12
8
529
825
839
552
804
997
42
294
432
930
901
526
327
787
858
866
759
903
433
602
546
765
807
129
978
297
132
977
836
77
467
937
802
267
473
393
332
351
647
244
837
280
945
744
597
245
59
179
416
99
532
533
428
388
118
226
847
82
497
523
675
337
535
487
576
39
761
159
173
477
627
225
990
194
439
594
168
981
520
143
851
1000
320
406
826
236
674
114
615
834
356
324
716
377
408
311
97
849
451
563
361
832
343
947
245
490
102
590
219
6
944
86
997
452
700
398
729
513
585
222
464
93
530
637
256
593
815
596
926
580
781
163
70
615
749
446
382
282
114
855
718
800
760
653
643
178
583
770
386
569
898
495
193
303
970
979
145
157
709
451
330
502
825
649
164
385
388
280
303
6
769
225
271
737
429
819
445
610
853
774
469
136
215
212
544
460
40
841
274
65
200
528
922
727
82
376
982
922
638
969
980
686
378
593
236
764
6
138
191
967
582
818
500
823
566
58
774
999
37
669
306
445
741
909
542
919
314
156
391
346
214
689
661
461
424
513
74
327
948
252
311
597
498
873
510
850
534
436
483
951
980
85
653
104
560
234
402
252
641
287
70
475
909
213
318
348
964
43
958
545
176
642
643
551
698
138
967
39
622
38
687
328
628
358
711
333
346
80
469
615
881
845
66
445
593
105
344
269
284
846
629
641
383
636
443
423
615
949
941
55
881
658
147
776
767
133
342
954
186
589
103
76
137
218
576
570
462
161
509
317
797
541
500
616
593
665
649
429
236
942
520
891
776
267
938
468
730
401
602
628
745
352
949
583
643
891
999
462
535
100
153
278
204
296
18
176
972
761
393
740
564
461
485
613
313
322
282
246
184
722
729
401
703
536
67
926
853
483
226
386
396
512
645
403
893
682
265
909
887
321
764
68
337
222
226
345
408
339
616
22
151
702
364
512
442
267
327
946
780
35
188
882
199
42
74
426
592
771
817
714
216
104
822
497
993
222
910
509
511
707
922
422
290
713
43
437
974
253
44
990
589
541
644
629
908
842
205
837
273
480
851
474
904
492
858
564
883
903
901
315
477
758
298
678
427
870
923
197
133
674
865
621
435
742
229
555
798
253
680
399
306
175
497
986
779
992
909
596
740
560
429
501
687
84
789
779
326
251
763
908
5
302
906
575
559
154
748
202
202
756
463
923
862
517
453
133
606
989
518
291
397
5
509
321
424
102
456
863
728
375
158
582
612
888
144
969
624
359
718
345
506
162
544
284
566
562
832
318
401
754
752
550
745
474
110
783
490
873
705
860
619
921
20
178
850
787
47
761
308
541
164
851
397
50
889
697
401
107
276
135
987
700
458
563
958
792
572
142
82
171
862
396
765
706
307
907
673
844
471
455
143
271
661
794
362
465
640
230
860
292
306
297
803
882
781
139
952
785
278
635
912
798
997
929
488
903
7
780
524
514
789
60
608
540
629
823
431
859
563
582
351
446
935
815
970
755
922
291
103
936
573
474
579
151
998
152
696
522
370
412
23
254
287
299
471
53
878
773
179
280
751
100
849
188
518
422
590
180
157
65
215
301
929
82
193
43
900
631
156
128
386
74
900
142
794
68
373
756
399
529
968
820
574
47
800
772
864
249
318
676
93
632
732
666
368
586
245
766
457
710
29
817
519
992
182
765
574
140
679
631
411
142
448
302
876
129
272
691
589
758
160
927
186
610
207
964
129
552
730
411
968
648
646
437
689
903
623
342
463
127
558
725
652
191
303
227
430
258
365
520
723
911
541
536
498
654
16
930
587
978
520
434
352
17
535
66
501
854
394
111
256
686
335
439
927
401
246
961
634
580
855
19
567
600
609
31
716
288
325
15
422
529
982
476
476
350
700
732
730
252
12
954
347
978
71
64
898
504
270
184
464
739
105
478
801
326
799
117
412
986
304
547
40
32
857
426
725
36
148
389
47
170
530
275
613
373
412
569
130
354
141
577
672
401
215
319
837
121
639
184
554
508
596
143
239
210
376
743
830
462
672
138
7
897
967
139
553
414
675
633
384
291
149
766
240
26
425
944
427
731
811
61
271
479
29
367
130
675
633
20
946
410
874
705
276
739
996
640
679
20
192
933
161
758
100
516
73
882
768
830
522
35
462
20
863
225
584
645
302
165
211
803
971
707
446
158
113
71
876
542
149
945
897
684
497
159
569
171
957
323
977
881
372
728
760
32
69
856
611
424
249
32
50
657
127
114
697
887
102
638
638
148
656
486
171
419
8
982
393
348
756
306
633
29
892
247
707
270
573
598
295
582
29
986
570
487
781
474
333
824
136
111
520
441
569
444
932
27
178
155
418
879
861
161
574
76
258
943
198
867
772
376
369
93
193
80
44
100
523
110
484
919
642
882
651
456
315
327
972
42
910
665
499
3
891
613
542
798
771
514
328
918
786
647
83
934
944
950
220
26
490
467
983
861
70
121
983
911
22
812
552
176
318
421
745
807
644
51
92
292
961
678
955
737
721
484
420
249
564
307
193
586
942
9
894
54
620
77
480
90
403
450
242
107
768
369
16
923
297
50
742
573
943
100
508
359
183
908
559
758
79
673
524
206
84
364
291
838
222
626
551
972
896
627
11
514
174
855
671
466
855
141
377
427
22
571
45
300
38
470
594
420
178
371
618
987
146
720
283
966
772
78
733
607
51
771
566
362
543
239
564
226
854
831
903
505
555
432
566
555
429
88
495
342
383
765
342
522
706
471
298
325
612
225
626
751
167
808
948
441
767
761
292
116
306
874
151
672
50
252
569
858
33
125
331
944
469
750
896
963
264
112
608
911
258
646
81
744
180
872
369
152
670
655
691
856
906
792
26
610
528
755
862
187
580
725
730
364
129
487
940
337
69
383
105
51
386
254
628
637
802
263
301
539
297
511
585
923
476
643
918
663
127
997
624
516
610
396
597
126
898
401
960
118
193
667
335
880
61
103
168
578
906
655
822
580
462
891
781
739
669
45
346
934
960
790
708
820
490
842
78
45
317
409
896
38
857
634
772
60
219
436
901
436
167
552
204
720
540
195
317
117
919
445
872
639
219
385
209
333
674
46
779
394
357
418
9
158
7
138
347
758
399
989
517
684
947
999
753
660
512
771
959
946
637
638
242
701
534
390
268
49
216
603
231
308
83
61
6
188
135
360
229
865
722
540
622
529
433
538
900
389
260
283
949
144
669
542
801
600
577
956
132
481
534
304
602
454
577
687
413
49
361
205
849
476
127
716
434
288
28
417
546
474
107
325
999
841
988
211
138
474
923
196
467
663
423
969
670
934
105
598
192
691
752
948
181
606
849
38
705
25
983
48
646
596
615
280
543
827
648
114
995
462
148
866
913
405
315
528
30
450
534
541
619
166
901
129
270
172
148
229
916
423
290
714
54
331
627
444
228
243
988
648
416
309
196
291
898
799
795
356
567
715
5
446
403
940
749
698
12
208
299
759
707
922
816
526
615
192
561
379
668
520
72
916
152
211
977
543
694
972
360
856
169
114
852
418
59
459
664
412
178
345
815
656
560
89
694
637
501
915
954
538
434
578
401
739
316
914
227
862
728
94
435
289
694
615
764
969
529
975
765
478
696
532
930
548
736
259
957
690
808
991
259
121
306
263
855
934
282
64
616
342
143
632
636
864
183
930
214
516
54
602
493
450
179
10
337
971
461
406
428
538
391
454
882
193
769
40
896
830
845
803
99
850
604
850
278
62
328
924
120
114
299
643
443
377
699
536
159
919
356
277
858
190
958
918
483
49
760
939
17
42
617
620
528
207
361
572
143
225
189
281
767
450
722
152
434
192
824
857
189
645
127
771
313
27
410
863
516
824
663
743
446
486
685
450
508
610
557
181
491
387
157
413
977
78
195
752
837
365
887
432
368
713
494
568
810
259
434
170
24
364
558
433
91
657
514
21
498
317
788
876
319
360
172
616
526
909
881
704
148
794
520
406
516
303
381
13
209
630
338
909
683
334
719
880
743
142
96
453
174
566
913
177
882
60
187
491
813
955
352
224
817
949
431
836
315
756
346
239
346
378
151
374
97
585
359
786
526
397
362
105
33
754
111
677
445
99
885
597
781
311
961
49
318
275
431
162
540
384
268
554
422
442
952
367
339
768
629
877
598
762
825
679
246
867
194
53
307
609
647
365
84
399
468
257
478
827
715
932
538
513
282
64
645
923
473
738
748
199
863
349
99
736
491
564
771
150
166
314
53
334
762
259
507
457
905
331
50
176
387
774
964
792
961
558
110
788
932
169
971
973
76
552
352
494
8
433
704
43
29
312
75
955
898
189
632
277
708
478
541
545
242
622
758
743
755
638
944
828
124
211
259
325
712
942
315
659
74
98
889
349
849
490
331
678
816
168
763
193
79
198
283
213
791
187
381
558
668
95
689
872
766
569
9
250
640
268
279
325
83
602
772
664
57
896
356
65
336
226
89
325
613
99
764
155
539
685
292
158
203
542
941
238
86
640
556
363
401
13
817
323
36
574
508
58
19
429
530
118
552
573
106
63
173
965
197
938
520
804
680
489
537
291
239
444
662
295
224
13
706
92
991
743
689
821
318
993
834
347
585
611
300
4
285
808
4
74
348
869
65
934
450
78
962
488
200
166
514
921
613
653
181
788
792
706
960
182
97
509
406
26
371
674
871
566
992
963
113
766
613
388
839
637
450
832
564
487
911
445
447
703
145
445
367
950
849
385
578
623
265
643
741
959
868
625
978
467
655
170
888
257
340
716
114
371
953
89
164
485
560
148
638
162
859
132
966
431
374
271
992
589
882
111
516
13
448
55
974
237
185
800
967
710
406
747
302
466
389
924
496
396
332
672
479
940
455
151
336
783
366
699
518
599
995
234
886
936
390
157
314
139
642
695
365
553
42
199
726
344
328
696
649
987
540
903
668
835
586
992
240
199
56
616
748
96
252
110
540
107
639
313
273
831
160
151
845
42
908
2
658
995
708
853
743
256
15
427
550
92
404
819
845
705
614
600
200
550
754
49
16
548
823
926
912
274
107
163
537
82
417
951
590
701
320
981
870
58
744
985
704
933
353
331
965
601
91
133
221
797
164
241
256
171
510
502
292
900
514
912
812
292
313
596
762
7
538
110
277
990
758
181
792
347
213
875
559
156
629
122
144
649
62
689
419
289
726
983
944
15
734
504
407
327
494
391
948
949
300
260
799
519
269
441
639
126
393
813
481
549
901
666
687
732
550
385
938
367
717
332
579
466
368
960
792
439
87
87
476
523
338
249
545
361
58
222
585
149
479
136
474
61
820
80
607
593
114
734
831
30
959
364
57
549
432
455
794
298
774
379
510
411
665
739
833
112
113
468
68
919
21
325
420
520
482
163
608
43
724
231
261
315
422
828
605
173
776
808
471
60
369
802
577
955
299
541
371
127
513
318
465
352
583
470
832
987
372
721
488
760
194
391
344
178
83
744
278
266
751
219
233
682
640
874
349
378
250
167
698
651
574
67
189
807
36
630
607
707
811
335
545
133
787
923
210
248
689
983
678
442
130
260
211
491
384
496
665
263
750
630
863
199
229
370
24
379
98
450
19
296
657
384
231
366
72
158
311
831
769
99
919
910
277
116
884
1
757
591
816
269
732
497
361
182
667
703
718
431
132
25
968
182
253
313
57
821
31
724
982
167
898
415
843
633
566
69
947
982
844
7
67
113
566
192
320
795
225
69
824
379
189
13
477
302
633
156
739
622
416
475
250
934
205
356
486
742
47
244
436
773
485
655
441
786
36
542
932
136
521
957
788
733
301
1000
437
42
965
302
612
498
353
668
895
1
145
28
793
196
370
592
100
854
354
910
744
31
574
587
139
598
843
551
295
379
26
113
607
430
256
523
272
887
200
385
756
437
501
54
584
691
950
133
18
660
280
256
844
69
741
626
569
488
788
186
856
117
241
887
860
577
303
238
491
282
652
218
294
760
654
659
770
826
387
445
480
652
823
178
198
563
958
520
719
914
150
56
649
445
187
377
678
371
887
36
360
829
102
186
401
447
93
998
821
511
136
401
100
630
102
311
635
855
488
245
389
911
54
175
613
599
762
524
903
418
230
446
697
178
241
921
458
689
179
743
478
627
424
163
194
305
866
834
377
427
667
693
369
824
347
581
783
835
65
766
731
236
692
957
702
577
920
89
646
392
155
915
721
941
421
413
401
113
823
116
325
632
385
723
371
934
236
798
886
969
190
907
960
695
722
292
857
229
253
67
503
433
412
965
983
261
657
852
551
283
211
610
582
669
818
464
214
342
175
540
182
157
272
226
486
713
56
922
80
880
973
874
740
168
1000
111
620
855
693
933
795
154
630
1
233
798
411
866
261
97
999
671
549
941
778
848
54
196
170
844
131
677
42
341
292
183
391
917
623
106
38
851
970
747
108
600
374
823
107
501
100
575
319
415
832
525
51
348
248
228
982
595
261
260
505
546
634
302
490
129
583
425
320
783
222
573
434
989
388
812
828
619
482
109
152
810
425
317
106
629
747
520
794
527
119
117
597
484
338
839
901
755
912
413
702
379
881
712
730
919
477
67
210
443
502
871
816
419
120
713
674
22
815
95
502
325
904
174
98
994
884
105
437
401
302
271
554
499
584
119
276
453
437
355
582
725
38
1
62
285
192
136
494
661
49
235
40
777
766
653
943
943
715
163
885
852
448
463
371
202
641
200
586
361
688
375
196
548
430
984
464
145
744
316
857
92
380
673
83
799
463
164
74
643
554
831
17
907
7
624
940
987
662
625
731
769
553
486
712
377
420
285
56
880
294
834
402
138
316
34
994
699
265
56
549
534
957
937
851
460
819
723
761
281
429
397
919
50
784
677
926
358
334
225
221
228
619
901
159
16
442
527
30
704
102
16
898
111
128
828
168
833
369
475
717
179
16
168
315
974
341
795
754
876
515
112
828
744
842
400
842
696
165
891
786
724
971
918
732
96
973
120
271
362
508
1000
991
432
162
809
121
100
422
14
462
350
10
620
619
1000
780
168
394
521
711
581
897
378
590
918
594
869
413
702
2
224
411
737
233
689
892
223
895
423
741
563
149
289
506
422
848
52
525
533
779
66
374
217
992
262
300
809
69
144
944
999
999
527
800
600
984
982
393
418
133
270
53
695
476
593
510
66
166
143
292
101
30
257
11
272
888
470
218
613
140
893
445
466
211
639
407
396
341
471
131
819
89
445
937
915
650
103
787
106
762
661
510
794
540
732
791
16
47
364
640
435
796
528
238
353
664
772
689
481
878
425
225
840
854
622
821
451
654
406
43
486
751
348
157
130
605
456
191
710
268
594
696
558
883
323
397
701
468
814
796
674
813
472
71
697
677
996
263
978
727
882
861
161
807
761
356
767
221
586
242
44
646
371
253
792
218
92
309
603
86
414
784
415
430
78
211
479
546
174
476
594
99
11
885
987
56
973
214
283
126
586
28
834
766
985
66
77
940
117
483
707
841
311
84
180
744
292
457
463
6
322
110
39
971
922
252
844
210
538
913
215
92
588
432
961
154
577
184
324
118
324
609
972
681
924
214
138
423
735
264
683
241
559
276
173
745
194
282
17
956
694
51
344
475
10
134
565
982
157
604
520
607
709
867
668
192
178
748
66
956
838
347
747
396
607
830
697
506
911
408
830
596
826
234
232
2
417
857
489
10
880
170
75
156
16
490
638
861
591
534
508
72
329
560
903
149
680
895
128
755
958
361
519
929
168
912
8
820
639
863
968
795
559
729
420
763
664
568
799
587
604
150
187
408
979
14
359
544
636
643
22
389
580
609
369
395
765
477
404
787
130
705
571
134
442
538
854
282
922
112
896
447
169
634
666
429
583
449
847
59
367
326
448
933
178
33
87
460
682
597
41
19
590
218
400
767
229
909
646
279
337
364
508
704
576
435
256
598
206
858
444
935
449
546
711
21
364
871
440
252
457
813
963
678
820
769
523
330
344
119
381
139
410
351
305
73
541
643
184
793
669
357
638
751
33
792
327
127
261
898
126
450
814
375
429
24
844
754
675
551
454
563
560
422
524
701
549
233
536
442
997
975
287
308
641
246
995
214
245
550
55
858
910
424
620
335
943
702
268
344
193
700
241
153
450
470
120
701
853
591
372
836
228
110
861
692
966
398
329
651
321
638
799
154
2
619
90
887
542
291
898
486
213
294
422
974
178
263
124
601
182
290
34
608
305
337
918
731
235
749
792
911
43
279
461
779
687
195
249
958
336
94
602
143
114
43
19
190
85
524
623
183
110
479
762
540
712
386
197
756
251
976
801
299
502
624
228
502
205
915
636
50
287
185
426
798
203
49
881
192
319
80
791
563
324
818
387
876
401
247
389
336
315
723
580
395
619
73
58
302
881
280
267
330
252
700
954
195
665
263
452
4
691
463
71
253
382
246
910
39
453
89
129
644
794
668
550
80
616
506
481
53
502
919
838
970
263
383
930
344
752
176
796
937
766
770
594
472
712
993
337
600
988
431
232
82
934
856
980
821
740
763
652
458
953
226
186
738
68
381
113
758
225
778
860
492
217
766
861
704
871
840
762
485
329
557
183
153
934
269
880
192
239
376
649
234
92
250
996
840
917
286
401
959
47
751
2
512
420
248
668
507
51
634
701
452
409
189
880
583
259
654
148
654
581
552
30
546
879
828
760
11
594
427
185
220
327
923
758
585
307
640
284
575
830
52
674
797
435
403
616
692
208
596
962
588
933
403
631
692
763
975
982
854
705
420
973
563
509
969
863
702
459
859
876
45
179
608
36
327
799
800
324
16
731
845
432
568
881
427
620
39
302
524
641
432
218
955
247
8
818
359
522
154
459
419
187
58
717
922
63
573
238
922
67
182
500
890
488
891
404
239
796
205
52
11
894
108
243
846
580
66
949
557
928
688
490
784
462
568
216
232
285
253
245
927
770
26
222
786
31
356
99
555
144
495
689
812
38
637
72
320
3
493
13
475
38
912
182
978
625
401
355
151
67
994
734
499
219
967
206
226
324
292
654
423
635
584
395
534
715
507
465
564
612
278
726
171
586
947
711
440
707
567
725
686
442
292
943
24
292
630
187
870
644
837
572
700
278
455
485
648
371
527
183
519
441
899
852
799
361
327
149
133
520
817
84
497
198
730
605
9
454
716
384
917
171
463
142
790
421
581
288
383
967
673
780
921
570
812
899
811
723
159
61
896
588
453
865
413
206
447
351
746
492
128
825
931
136
760
668
622
304
358
276
858
930
173
631
599
491
204
56
403
373
520
355
54
317
390
923
192
4
849
375
233
506
335
911
920
218
458
937
879
861
794
442
470
368
851
227
15
724
990
390
221
377
117
380
271
430
460
549
532
632
575
346
347
151
5
233
653
186
712
947
485
771
439
936
538
525
719
704
61
678
53
283
307
434
181
275
661
637
979
720
340
716
717
566
256
122
868
642
244
799
622
876
333
758
575
938
183
490
814
634
102
768
752
133
300
397
629
565
143
566
550
602
237
796
283
382
94
894
842
563
972
947
21
312
266
147
644
792
468
151
292
56
270
779
658
286
887
44
465
16
43
938
127
311
328
913
912
851
877
713
405
564
356
51
496
719
311
661
936
385
790
411
769
769
5
479
560
236
503
98
430
726
956
993
323
913
209
443
843
646
671
836
217
176
484
703
669
168
158
476
527
774
512
637
909
862
856
483
707
65
282
496
907
479
852
168
968
679
231
175
126
219
13
16
990
954
585
567
725
306
892
524
455
73
854
376
266
502
517
369
307
134
253
914
79
341
428
25
920
593
17
649
92
212
581
245
613
801
855
521
190
581
977
39
164
575
28
306
377
973
126
40
272
28
797
533
323
510
718
424
127
105
218
737
69
119
109
744
523
532
531
55
961
715
482
364
181
135
629
450
101
957
807
343
218
746
342
61
874
414
951
952
932
135
530
475
344
199
559
199
327
691
220
914
582
428
569
2
55
803
270
629
208
76
465
926
711
145
315
4
718
59
653
603
636
328
957
148
383
629
540
250
672
620
470
995
774
412
218
915
541
698
473
176
224
672
829
358
763
632
341
187
754
629
5
698
304
563
320
622
291
927
975
235
372
777
596
491
212
557
215
79
32
144
801
885
518
847
747
491
579
106
696
521
192
335
453
66
830
700
24
928
538
603
21
174
775
300
759
290
555
417
378
284
247
43
251
229
645
750
727
74
556
149
5
30
207
510
559
470
241
594
68
91
912
75
239
13
387
828
285
617
721
944
40
187
163
511
891
812
937
109
736
620
529
473
191
115
846
963
111
286
261
343
308
220
746
829
10
107
746
565
245
929
420
452
783
610
202
755
744
77
340
22
239
516
268
606
678
77
175
573
478
425
117
794
970
835
378
832
209
968
540
602
279
66
930
847
416
98
662
205
931
267
513
987
497
391
225
841
840
890
688
141
218
512
601
302
415
453
867
190
117
245
984
479
670
639
123
99
209
716
406
890
53
631
158
196
108
726
530
422
701
217
959
486
932
315
379
731
146
418
960
61
596
968
438
7
671
681
748
964
370
102
792
70
833
883
620
65
801
724
240
991
886
684
542
794
372
419
549
707
78
990
309
815
506
41
280
333
77
541
956
960
785
769
862
119
3
907
725
21
483
420
837
280
819
399
129
220
798
153
453
131
44
670
934
447
373
971
29
256
54
28
79
588
989
657
772
649
441
720
866
541
529
46
971
50
177
721
951
733
583
768
735
925
562
791
941
237
308
868
717
799
214
809
659
809
407
934
482
894
558
676
353
436
329
645
460
286
584
286
428
214
70
862
652
42
846
344
487
660
178
677
511
22
936
52
725
765
829
50
684
339
935
927
994
386
80
939
537
641
570
270
82
808
679
60
631
717
69
66
996
550
22
671
583
91
946
325
323
752
142
33
994
599
215
127
945
730
832
437
347
125
764
915
678
521
263
936
81
978
876
772
624
507
722
188
237
595
139
736
293
446
316
49
379
549
236
396
793
498
779
804
693
48
346
297
637
68
715
194
452
394
145
934
977
564
921
624
276
115
656
335
299
378
632
197
849
707
421
520
902
699
805
473
32
213
748
349
685
973
822
92
543
85
3
520
74
91
194
666
624
38
208
753
105
650
160
564
384
858
416
418
1
858
279
510
728
362
605
128
757
915
375
122
65
975
86
74
564
962
463
787
205
629
653
104
105
920
500
525
124
939
974
841
27
800
95
730
541
860
953
338
150
330
524
932
447
295
52
47
195
964
669
984
55
345
818
125
100
614
754
299
804
166
99
338
215
688
971
57
379
646
681
100
927
258
382
507
898
342
344
386
523
457
691
763
703
401
579
574
328
410
762
742
434
416
429
460
436
307
989
143
296
420
229
971
570
443
887
594
713
479
206
360
884
287
514
385
788
593
180
878
741
953
583
410
236
855
874
216
792
605
389
227
733
88
543
218
884
676
902
377
838
395
937
647
606
947
646
350
931
359
814
23
534
834
226
850
831
819
505
786
456
472
617
256
24
451
269
334
147
404
576
409
676
607
415
668
478
985
791
139
861
103
445
702
923
813
631
162
669
943
693
477
762
781
615
243
134
154
206
812
520
567
950
783
147
212
849
165
462
670
766
203
782
755
884
713
173
291
903
790
716
542
494
927
542
673
366
884
663
871
8
165
694
707
810
561
998
900
800
41
664
900
668
200
1000
594
113
600
878
33
788
584
391
241
287
570
726
94
688
424
89
751
132
195
795
309
798
452
361
201
439
436
544
364
298
487
790
314
864
554
486
145
411
94
744
852
663
340
174
579
278
766
267
112
37
514
540
403
766
739
567
994
62
65
385
952
823
857
522
340
439
552
81
294
252
126
897
508
562
628
771
289
7
841
176
378
639
316
636
413
382
450
200
259
851
801
10
419
702
532
33
397
789
759
409
185
382
543
726
41
662
493
768
299
461
220
913
278
5
395
438
253
987
794
411
86
886
501
745
294
850
397
247
325
837
166
157
281
941
315
796
611
14
117
370
132
740
976
946
282
309
418
848
681
703
831
473
926
412
101
636
39
58
494
46
150
55
495
483
779
869
823
543
586
931
517
581
544
495
803
606
301
26
444
470
891
788
399
597
98
347
937
915
465
665
757
396
399
288
336
789
835
893
410
714
675
128
498
290
565
228
376
836
620
390
695
16
365
241
296
984
543
46
335
715
390
471
6
717
668
829
546
756
33
752
182
46
303
106
865
616
780
835
966
187
98
86
575
954
972
662
701
142
831
317
444
39
551
912
182
505
438
746
897
618
113
680
61
203
245
792
880
499
866
395
307
68
607
206
945
417
317
354
853
440
410
679
316
971
765
477
838
204
144
455
967
692
943
141
86
963
503
425
969
534
383
220
708
239
726
446
637
350
336
685
977
919
120
875
239
145
339
373
879
328
494
545
286
156
742
806
964
647
440
695
679
71
802
148
416
561
680
560
231
920
149
689
465
353
938
639
324
459
733
451
550
834
32
857
736
78
555
787
874
808
152
132
891
550
799
81
234
992
538
56
70
165
158
926
295
559
992
705
334
43
470
369
677
742
958
805
191
691
976
118
515
166
108
740
271
95
786
789
381
834
649
146
534
898
391
586
714
953
808
70
768
473
299
14
153
11
196
951
417
927
120
486
414
787
22
888
985
350
698
943
611
230
341
950
559
862
108
848
164
363
821
509
195
239
603
170
681
655
711
835
213
189
851
213
470
525
985
446
652
577
33
419
573
912
856
946
409
131
643
485
455
88
125
334
836
456
61
436
759
122
75
44
811
386
250
487
762
700
849
173
552
990
132
834
427
198
550
664
694
764
507
720
196
205
484
411
398
835
563
397
926
912
284
544
520
206
343
841
599
38
850
356
89
350
720
344
708
236
329
644
643
710
733
333
469
133
579
420
156
898
365
43
244
448
829
247
617
645
73
892
818
852
492
695
494
804
688
689
440
506
347
633
623
960
481
18
758
438
520
365
287
441
504
435
39
201
10
845
502
789
524
314
341
478
679
443
784
977
134
483
504
564
942
32
910
949
877
989
124
896
596
345
451
253
459
627
896
61
504
877
83
837
394
73
976
958
87
794
972
313
646
760
244
39
834
602
711
213
119
835
631
801
282
558
626
78
60
832
891
959
184
61
431
386
717
910
465
978
804
517
522
662
838
770
339
882
565
410
430
288
826
630
26
525
496
567
192
835
652
846
82
739
185
864
666
951
843
68
790
48
202
850
60
127
138
19
916
860
192
32
194
867
631
284
664
326
98
817
261
82
504
712
252
279
220
332
113
751
654
280
722
940
70
630
332
150
820
565
908
306
228
999
620
199
35
157
683
412
651
388
262
731
472
638
893
867
150
160
687
733
41
993
623
372
995
688
408
855
298
564
677
116
836
503
837
748
500
908
432
244
421
17
772
16
905
173
451
817
802
22
547
851
630
856
501
942
989
481
143
639
653
60
874
993
271
343
755
92
806
606
152
101
638
357
602
705
816
619
810
346
31
141
987
594
749
446
306
312
371
985
887
10
425
30
551
947
572
126
588
77
641
84
893
888
993
489
128
571
282
703
32
694
45
122
581
769
660
255
488
644
897
828
439
682
648
680
530
42
504
719
622
222
454
546
702
196
400
684
876
104
113
495
351
497
965
17
583
520
27
916
794
283
136
678
257
912
135
987
14
391
751
944
237
372
556
427
40
607
995
419
350
477
760
578
407
409
649
659
567
615
639
687
322
692
108
886
916
95
15
495
452
404
360
537
177
598
461
493
467
261
396
638
122
764
477
466
737
971
755
234
326
970
388
184
822
638
156
366
815
600
519
356
655
288
429
340
70
355
492
202
563
662
205
264
159
404
730
273
515
738
59
104
17
429
491
359
248
627
77
740
137
865
15
625
157
789
55
754
200
883
627
310
106
736
763
960
411
918
863
633
541
649
23
886
556
791
961
735
561
582
508
720
54
735
297
806
833
191
520
443
526
860
597
726
500
142
157
148
639
873
2
867
478
646
613
774
263
89
332
884
777
789
549
748
190
54
118
643
759
566
740
276
953
307
234
619
452
832
470
265
502
100
223
404
345
554
367
116
758
118
637
161
274
70
645
886
322
505
978
166
329
268
953
536
854
737
73
775
898
862
292
278
889
158
959
448
254
192
709
240
107
215
623
685
340
225
718
949
344
704
159
985
622
679
662
363
837
566
197
203
177
447
471
448
499
52
665
900
400
755
519
525
217
285
234
568
975
716
543
895
472
534
13
832
9
209
830
460
769
759
337
990
464
275
120
342
680
197
722
522
300
432
952
733
483
79
326
401
946
596
383
466
703
746
495
355
23
543
317
39
45
737
221
413
442
66
868
95
506
633
606
361
280
275
499
578
680
725
648
982
82
701
864
68
524
788
952
167
471
135
579
22
107
528
173
286
228
378
372
922
114
494
294
415
220
328
314
554
111
506
61
297
835
80
107
916
867
906
159
132
800
958
607
494
219
175
961
575
554
670
62
883
284
720
930
554
538
993
773
9
3
884
14
755
73
679
109
419
319
479
603
915
710
500
116
399
483
383
893
252
192
612
157
895
276
27
729
685
430
655
294
472
152
785
264
666
139
280
368
815
581
610
20
772
17
12
995
495
111
428
172
399
627
642
911
993
909
118
144
176
361
554
406
228
816
122
855
974
146
680
772
65
175
972
183
600
770
3
993
547
945
304
487
566
990
777
122
843
894
155
276
522
805
906
66
140
866
575
339
237
534
131
720
984
400
891
935
222
612
988
664
787
230
135
870
378
232
673
885
508
423
466
534
265
231
275
224
728
175
620
247
861
870
20
505
633
543
694
479
939
399
486
560
606
633
820
786
393
547
933
601
456
994
522
547
160
343
196
643
493
268
806
818
581
899
806
945
954
337
294
909
319
59
267
673
506
510
940
488
203
56
668
226
827
498
142
322
599
574
49
964
492
216
286
969
188
847
205
263
661
666
36
1
243
709
849
123
304
433
913
612
796
729
306
779
941
554
967
662
278
818
175
27
160
783
592
517
517
971
622
214
375
526
784
247
200
21
242
109
578
955
393
29
161
561
651
98
67
86
170
821
113
424
254
435
393
818
665
659
674
363
839
469
11
230
264
142
827
831
950
93
368
635
926
939
143
3
196
843
428
163
426
416
411
435
925
372
867
904
133
690
519
1000
945
240
420
872
652
717
707
8
215
248
128
303
856
225
548
634
676
751
470
76
125
591
292
74
657
671
612
253
840
977
399
48
527
165
270
26
419
329
411
568
515
148
926
587
471
48
507
93
884
141
373
676
841
425
353
488
874
133
843
848
623
186
124
410
98
434
191
713
420
698
794
34
310
711
890
679
413
694
72
250
726
669
811
954
43
597
590
733
323
90
31
844
341
753
205
531
786
171
157
603
231
186
534
56
41
389
915
355
330
680
80
637
535
335
969
873
65
292
565
17
699
227
229
211
155
608
332
449
267
63
128
474
747
341
932
270
376
616
608
251
775
93
257
122
626
734
802
455
320
365
826
185
517
648
648
625
52
148
105
95
948
240
933
923
18
681
953
417
707
493
489
375
366
198
575
839
109
563
549
111
768
754
579
463
232
190
483
624
628
464
19
848
405
406
413
321
340
728
519
704
895
738
444
887
183
278
856
362
946
376
498
223
628
137
599
442
613
996
984
991
113
810
689
335
66
216
803
21
596
293
55
418
273
873
422
111
428
738
632
133
262
588
994
981
347
846
407
323
366
328
785
411
654
329
340
480
144
909
376
820
851
20
281
794
887
666
385
812
320
455
250
137
906
732
705
463
813
28
686
401
3
637
480
359
834
28
529
813
822
187
324
660
186
161
257
124
995
830
514
712
256
370
227
830
256
961
136
968
826
53
947
809
965
878
445
246
462
998
136
13
692
343
903
593
794
621
679
126
815
956
650
263
211
343
859
319
285
805
386
600
805
181
454
503
996
81
914
820
593
890
586
716
433
644
812
984
317
240
419
555
523
714
1
668
389
248
75
783
865
173
169
102
765
466
387
503
764
164
307
806
809
640
339
564
750
958
840
973
442
330
321
71
496
289
92
148
133
325
546
152
328
613
68
937
524
925
265
384
732
3
801
802
747
440
616
510
556
637
746
180
736
463
244
347
814
77
960
465
71
774
39
35
277
811
53
620
171
942
613
12
281
749
158
428
879
961
382
363
409
642
402
662
740
501
360
439
2
627
610
695
522
607
24
898
647
352
243
306
784
933
881
537
82
396
800
718
537
831
578
597
194
929
177
127
311
890
691
400
32
831
712
243
154
747
533
484
8
719
918
617
394
256
613
628
718
597
134
769
195
354
601
400
61
74
577
386
208
193
908
138
568
369
552
119
877
373
263
498
132
551
782
730
203
372
870
964
558
732
124
630
995
486
36
974
606
156
132
62
938
873
374
540
462
401
232
452
9
523
934
530
800
148
476
705
45
258
889
978
874
226
122
456
525
59
641
89
307
884
533
550
845
333
437
828
501
508
121
267
667
941
894
231
858
225
338
74
107
66
15
836
219
114
939
898
848
250
571
884
208
980
21
225
450
201
974
176
407
887
554
505
430
174
980
740
533
917
420
668
893
33
857
686
44
863
172
750
783
314
867
918
856
806
23
897
43
867
186
577
81
788
782
286
236
921
618
363
987
34
748
705
437
647
717
143
575
434
779
843
427
548
182
476
482
247
43
524
520
267
641
952
102
214
176
439
540
636
185
497
129
566
835
120
774
53
254
28
931
604
901
194
942
520
766
112
439
836
796
164
483
921
570
519
473
857
670
266
713
370
610
809
675
438
446
149
653
716
404
358
497
529
944
397
573
542
695
461
884
141
595
187
569
219
405
405
617
294
469
568
698
873
237
661
458
515
606
160
501
334
548
586
547
567
897
275
936
390
354
283
713
388
995
734
50
954
582
511
627
427
992
910
914
946
926
788
984
856
866
741
643
995
934
88
118
339
913
766
540
284
169
768
746
344
673
421
669
114
577
624
762
177
80
143
405
31
412
224
246
219
817
28
764
594
343
906
125
51
129
78
569
107
586
88
163
448
572
300
735
913
204
784
192
427
438
178
250
69
911
478
780
817
848
290
629
487
6
733
743
59
745
78
906
879
303
197
185
189
283
64
456
81
158
900
997
212
341
3
209
592
975
964
979
323
164
761
43
408
781
154
21
689
349
943
417
481
754
887
13
736
688
512
541
395
810
608
414
162
583
952
634
75
601
674
646
122
45
727
72
628
562
138
757
300
490
49
475
632
839
83
10
818
844
247
29
471
248
390
334
198
675
233
614
533
587
106
810
821
360
852
507
365
954
773
621
607
505
121
739
106
904
399
133
855
122
641
391
796
573
939
48
468
297
689
387
371
135
442
782
997
329
768
580
447
192
257
525
242
591
629
185
213
972
941
625
337
596
43
861
17
444
768
245
545
999
825
984
481
713
973
467
209
538
902
927
222
308
137
248
578
138
431
381
515
231
357
941
454
678
232
34
473
871
81
261
867
149
75
142
592
156
777
919
248
197
565
810
721
549
800
305
792
293
668
17
807
755
135
938
974
7
131
703
987
257
882
572
429
134
326
450
869
27
645
156
645
660
279
576
65
48
210
70
183
796
913
682
335
495
163
310
378
588
760
950
898
695
342
543
726
813
685
754
759
220
259
216
422
179
366
380
131
743
897
150
739
48
563
895
273
504
523
269
233
177
447
490
345
509
412
425
947
211
502
815
93
818
616
470
101
923
775
142
459
545
199
2
959
439
488
381
446
422
549
479
828
921
286
257
812
52
687
605
412
475
639
204
432
201
709
176
957
240
170
772
418
757
749
814
912
922
923
599
302
205
121
248
51
246
842
249
903
744
523
97
273
73
990
462
668
398
449
295
524
166
260
628
610
744
215
616
563
839
615
523
137
110
227
954
519
990
114
618
386
374
397
294
448
242
254
503
871
699
845
545
346
192
382
238
539
849
288
662
334
999
218
666
569
922
755
734
957
798
739
6
477
635
525
964
817
689
954
262
385
507
431
715
987
274
338
262
517
567
924
45
925
996
941
364
260
439
552
416
831
754
450
145
375
924
725
495
666
542
706
604
185
446
939
220
284
96
471
709
826
959
830
572
379
792
441
300
891
200
719
708
224
271
787
688
48
385
529
394
378
550
743
475
465
718
231
917
850
585
5
402
131
323
207
889
403
536
966
281
387
472
171
627
969
229
52
308
272
202
551
34
373
535
682
304
496
709
472
158
832
669
625
696
138
115
735
846
931
644
758
273
386
474
431
189
27
361
519
33
913
141
99
652
303
87
547
660
718
845
558
102
914
297
307
443
509
112
815
126
943
121
692
674
968
866
686
338
118
891
891
840
467
348
40
594
494
519
39
151
92
700
793
277
571
692
408
204
21
839
58
111
535
138
172
840
624
475
87
136
600
426
8
495
844
391
913
810
640
66
53
580
697
349
814
387
576
874
991
721
974
230
24
11
232
855
281
873
485
277
305
194
600
85
806
643
404
554
295
609
740
334
457
350
580
981
770
370
754
414
416
629
860
554
210
228
558
500
172
637
789
633
324
356
393
897
524
150
245
381
416
647
298
2
101
111
855
745
749
712
988
453
165
423
266
578
293
987
853
691
715
47
610
764
502
637
30
429
161
694
735
468
19
180
757
770
99
670
49
869
452
2
471
960
933
673
41
991
614
199
342
11
393
591
830
487
867
406
224
681
187
604
304
510
479
559
200
562
340
142
702
6
123
747
212
249
955
490
703
67
921
590
448
835
447
109
361
197
671
819
471
219
500
953
476
596
164
977
286
973
265
352
219
846
723
425
795
737
590
244
102
592
356
71
363
404
273
824
620
92
191
506
440
568
629
897
155
746
53
467
443
972
884
488
962
970
358
799
377
961
156
525
333
25
699
357
866
153
62
619
256
663
783
503
593
842
202
266
165
714
595
146
315
851
49
10
605
960
956
476
947
838
14
365
893
921
850
843
386
280
705
564
115
420
179
440
71
638
644
409
31
26
827
718
450
424
971
794
726
749
193
716
831
179
897
699
95
600
573
727
325
579
930
696
473
875
42
972
825
172
142
276
18
274
738
215
242
480
994
543
665
235
672
491
446
452
494
82
729
66
484
376
620
508
700
47
503
771
771
465
988
666
848
768
418
664
882
996
128
480
615
437
611
131
346
796
305
791
287
655
971
172
293
954
564
519
861
920
2
571
543
931
516
985
342
324
84
806
244
999
24
510
751
37
962
76
197
206
270
266
629
363
548
47
287
292
874
632
36
421
366
179
627
214
56
529
335
758
218
759
350
228
25
480
266
439
915
989
164
690
62
389
80
418
146
755
75
10
5
260
767
237
807
929
925
420
88
363
631
358
403
326
639
509
339
573
733
676
320
676
316
666
10
877
989
16
69
222
574
887
719
281
918
661
835
813
781
607
293
612
332
220
897
597
68
485
486
948
463
371
775
686
283
312
58
672
326
300
159
403
253
488
903
371
313
873
975
966
29
716
193
95
298
841
161
745
985
858
738
688
769
642
977
421
929
128
23
193
768
582
945
696
614
32
637
571
636
467
746
392
296
754
25
215
855
961
650
64
236
894
809
999
493
255
320
484
282
742
96
857
30
804
64
618
939
515
507
116
575
230
879
950
554
237
872
92
751
653
846
271
534
164
803
665
768
26
743
296
709
971
597
839
446
253
919
721
275
84
178
512
217
171
795
584
922
862
43
957
367
663
548
45
70
544
401
743
46
475
830
945
342
133
982
83
806
532
587
758
676
655
211
856
695
800
328
802
716
454
705
786
173
2
405
821
383
460
305
517
366
732
157
295
758
601
97
568
437
770
985
108
689
789
124
416
84
651
697
414
752
140
759
187
435
785
703
835
465
387
933
694
872
684
893
342
901
620
682
818
536
92
278
439
97
812
717
455
542
67
730
505
899
793
973
540
176
324
401
419
133
596
358
860
588
385
644
822
262
357
129
664
752
333
540
631
905
188
634
304
711
225
340
673
878
709
362
384
381
469
417
543
642
151
501
174
436
706
557
64
306
221
480
262
22
4
667
943
579
141
185
689
360
416
243
507
315
544
814
53
459
197
166
610
545
152
575
323
504
237
666
100
148
416
692
349
652
508
539
434
541
527
410
307
280
570
940
320
44
502
974
567
946
452
343
500
812
241
776
720
573
444
491
20
479
750
131
760
648
604
427
627
901
954
396
650
432
37
934
131
658
764
374
766
465
240
962
862
193
338
225
954
882
71
886
577
742
700
336
188
304
129
657
434
450
159
847
80
339
617
203
893
310
178
808
702
938
966
640
662
830
647
164
491
150
789
139
48
562
717
18
201
32
954
522
323
898
623
899
154
734
833
931
979
764
187
968
271
36
25
134
974
123
900
391
624
847
108
318
334
421
785
318
498
442
210
441
734
365
452
191
200
454
465
474
911
700
22
321
105
895
647
128
22
847
853
961
673
715
522
875
321
583
236
311
428
681
744
370
752
120
489
177
144
587
325
588
341
262
127
238
711
68
980
267
481
511
33
123
435
537
916
488
486
273
803
759
750
14
846
465
22
566
695
697
580
868
285
899
282
863
853
374
853
738
440
446
11
974
738
512
887
159
221
163
751
104
935
119
644
654
203
993
923
486
766
795
100
320
558
631
595
235
386
301
194
171
295
342
60
314
281
595
129
759
314
584
594
752
352
796
979
849
123
492
982
527
6
784
868
157
225
576
711
730
933
385
183
428
508
205
904
933
487
362
593
368
173
708
399
884
857
650
820
211
999
180
546
942
450
563
444
922
10
321
620
873
160
916
193
320
830
892
940
930
443
265
487
643
278
619
68
335
397
746
192
304
23
622
699
578
236
189
859
887
316
718
101
165
870
487
907
621
135
151
232
711
494
416
498
883
270
619
877
532
369
365
95
473
152
637
432
117
224
689
944
697
494
609
200
132
944
630
957
518
20
161
303
855
486
26
741
303
848
584
576
176
183
255
766
928
328
458
62
561
874
129
900
267
381
801
966
627
523
685
812
327
635
314
182
225
269
96
961
552
925
558
756
163
69
136
190
78
937
147
902
976
362
933
126
926
68
290
429
386
442
942
913
445
783
255
694
337
442
364
981
488
33
603
446
765
137
458
863
112
531
253
178
481
958
449
294
811
939
729
833
823
914
10
66
563
255
167
6
970
348
494
402
192
972
901
975
54
689
401
808
834
790
725
197
482
640
768
673
517
939
161
118
88
467
456
75
120
424
305
423
32
322
518
555
243
719
94
76
582
775
134
833
747
738
72
769
169
976
788
706
988
111
983
649
365
128
677
631
13
84
784
429
676
191
531
703
238
576
893
243
304
5
318
45
382
213
775
875
248
238
534
835
666
370
178
201
424
855
36
450
554
542
615
979
662
18
631
484
562
576
919
338
756
608
862
617
885
576
947
585
935
778
725
574
882
530
782
187
426
224
239
660
680
959
993
49
971
98
111
619
406
137
805
447
483
741
927
795
846
684
245
228
194
648
593
837
508
586
611
142
969
363
966
442
407
938
827
427
671
210
906
859
44
961
544
986
717
49
181
161
386
99
32
808
225
475
945
511
848
241
234
454
397
137
748
912
544
369
535
753
30
108
280
184
346
195
88
59
298
476
302
151
490
560
785
679
204
580
487
282
781
681
199
342
345
582
102
262
646
518
71
820
880
274
769
254
553
827
195
62
857
320
739
813
585
695
761
458
274
353
387
710
165
611
501
94
544
590
905
150
222
366
219
113
234
908
379
113
297
342
531
541
239
548
708
821
378
987
902
196
782
870
94
557
475
524
310
543
873
841
31
332
198
202
124
605
145
184
19
131
870
626
15
299
183
354
455
736
938
991
2
798
769
771
406
356
699
237
945
799
661
992
222
554
618
464
79
801
826
740
202
213
746
121
419
752
244
966
756
524
27
799
115
691
708
381
784
243
490
664
94
234
236
110
227
690
608
828
564
28
10
426
984
243
351
222
217
533
975
709
674
313
686
759
216
743
497
77
926
28
552
849
292
710
730
354
174
125
581
552
528
987
568
304
155
787
84
937
684
354
349
311
563
407
65
434
115
432
695
916
576
519
294
238
640
61
129
912
206
399
696
62
929
539
368
894
683
44
585
788
243
105
440
465
323
550
508
825
612
266
11
504
598
104
722
216
784
826
575
186
358
89
566
797
518
753
396
670
406
42
260
962
66
218
347
641
905
439
885
831
917
448
44
120
292
567
581
876
133
229
918
224
685
952
214
299
874
199
113
806
976
93
47
719
920
268
371
139
66
485
176
971
302
800
275
85
957
171
758
56
337
412
518
409
646
307
284
551
692
494
77
177
47
491
439
42
269
831
444
405
374
828
304
344
19
931
301
388
715
979
921
608
9
913
296
389
733
677
497
574
321
90
800
603
723
462
755
538
617
593
803
585
463
596
215
847
458
652
330
554
573
429
419
937
698
401
37
262
347
677
361
258
545
327
867
346
246
365
658
600
113
703
916
340
536
422
216
641
558
648
914
769
746
164
423
770
113
657
940
14
933
147
126
464
623
716
297
860
941
140
928
799
397
379
665
902
123
203
555
869
470
400
944
252
216
100
325
189
598
804
422
202
356
545
996
357
574
495
161
783
407
13
483
546
696
768
765
384
83
116
253
618
466
345
887
875
558
756
385
910
854
789
166
886
535
581
581
1000
715
412
444
189
960
442
643
993
179
52
444
341
861
877
190
135
100
306
274
38
3
829
620
807
913
113
428
817
317
107
612
193
443
776
159
82
324
317
662
183
547
800
371
579
994
258
435
297
624
152
440
786
755
17
956
694
361
818
586
871
613
254
895
567
274
749
711
147
576
412
487
459
890
578
832
213
859
845
833
322
641
722
514
190
561
95
620
354
814
712
938
729
773
819
519
920
129
887
513
740
336
87
786
111
780
808
156
979
688
55
834
739
22
991
659
957
526
242
788
814
640
851
762
821
221
903
316
813
871
941
848
142
211
233
216
286
624
867
392
791
815
397
575
600
67
491
560
314
181
615
478
875
931
276
612
500
329
800
566
407
88
891
988
54
487
477
943
135
257
451
234
553
184
982
221
948
914
981
161
122
801
172
697
892
731
988
868
485
551
132
957
556
131
251
550
341
70
630
413
220
796
177
204
218
103
292
537
533
199
360
660
251
973
751
835
798
503
185
545
540
802
239
796
147
402
603
117
33
680
386
372
168
737
441
71
96
251
186
731
776
972
844
742
202
411
393
312
387
861
737
339
410
87
818
459
691
887
399
103
570
293
277
139
572
301
524
531
416
929
166
529
987
852
380
73
980
24
916
475
840
537
925
930
10
380
805
106
162
944
998
861
302
833
866
123
145
37
948
137
132
570
890
514
830
444
315
37
213
237
745
738
503
606
415
533
852
760
519
639
91
338
964
51
230
114
205
596
122
666
85
469
987
489
933
705
38
996
317
726
527
554
981
986
916
962
496
703
734
780
46
903
906
528
612
256
9
34
528
712
919
186
9
567
820
890
803
392
379
312
543
179
168
376
731
210
92
40
557
383
675
109
879
154
521
203
796
844
194
17
207
777
28
212
607
604
125
121
199
219
873
913
56
869
871
71
680
413
43
789
820
208
98
401
802
757
178
68
957
81
732
702
948
774
176
583
931
815
862
178
527
517
259
446
499
447
986
289
919
747
563
897
322
56
266
434
34
152
538
880
416
498
717
892
243
127
727
204
810
672
517
463
661
886
705
349
8
729
849
529
17
915
248
264
144
851
964
482
609
58
22
734
919
503
382
739
72
726
335
151
700
310
410
784
958
27
780
759
385
933
401
959
349
812
786
725
896
610
436
951
19
932
400
600
428
250
346
192
850
196
848
13
797
209
254
613
517
828
669
675
515
171
63
482
671
423
473
26
446
753
569
257
102
676
635
108
168
744
114
686
627
418
460
496
388
113
968
591
696
698
634
367
36
188
860
52
943
966
1
43
904
647
327
954
175
597
971
584
920
215
819
88
542
297
115
267
458
213
733
280
872
143
736
40
258
350
787
243
406
291
480
262
847
412
435
114
426
614
275
338
565
727
228
883
520
789
160
59
553
571
304
173
453
607
797
742
331
885
438
67
906
524
721
497
810
971
317
962
552
713
629
199
876
44
977
625
224
162
250
12
877
798
566
942
144
550
617
529
663
371
871
39
471
959
761
865
10
353
276
748
642
663
167
300
565
741
80
622
252
526
500
278
655
979
350
952
455
784
439
871
593
475
739
497
135
212
643
13
331
244
932
884
320
964
171
115
576
574
667
881
591
597
888
866
736
850
486
5
469
53
666
318
305
942
651
167
13
606
442
588
551
789
903
319
129
62
408
748
627
90
987
303
317
721
907
740
453
228
115
353
850
869
828
408
1
837
804
981
627
824
548
961
832
644
744
172
171
805
720
462
7
493
650
120
541
141
472
172
725
684
251
952
110
593
793
831
317
32
849
148
479
803
188
202
443
276
128
609
994
152
871
473
618
756
130
592
613
522
71
337
418
470
586
964
116
768
239
836
994
943
18
465
880
878
211
303
746
518
283
975
728
126
630
983
268
988
506
949
573
719
168
163
947
698
554
510
859
704
364
896
796
526
488
889
22
177
112
651
424
368
674
174
476
31
118
462
219
48
464
579
848
796
859
427
135
766
636
684
464
310
856
619
678
508
14
354
305
270
309
754
967
42
942
299
949
902
393
192
976
408
542
476
203
300
770
108
321
33
925
797
449
175
108
903
207
883
790
835
911
60
677
210
400
275
82
508
355
216
298
48
334
266
624
929
944
778
215
983
712
749
930
889
246
903
683
358
229
647
581
670
630
932
322
936
266
873
882
160
536
850
546
534
670
915
695
466
363
553
600
476
993
227
641
481
955
698
28
956
791
791
88
124
933
148
610
639
856
516
610
190
356
289
62
71
491
351
830
43
443
736
71
756
183
275
833
582
362
191
446
951
305
536
572
209
303
490
445
538
693
808
941
743
339
86
575
534
222
144
444
493
808
504
422
88
740
870
630
939
202
530
303
34
971
824
727
748
802
159
799
341
259
580
148
49
555
565
460
34
255
545
791
211
918
617
248
428
919
84
312
550
666
707
503
747
446
60
803
696
904
918
488
466
982
441
535
557
762
784
824
959
239
857
709
102
526
191
345
275
376
263
378
411
172
147
195
144
759
97
976
706
564
487
205
518
464
580
120
314
789
740
854
256
628
44
617
770
374
714
367
768
29
452
850
524
371
535
746
700
486
478
970
943
547
192
790
6
962
817
571
591
173
828
401
971
472
600
763
963
142
321
728
34
159
73
836
153
411
902
954
477
161
924
931
159
3
857
767
325
122
906
390
771
54
550
823
33
460
658
720
262
655
312
754
789
770
851
341
329
454
960
513
530
954
73
546
3
289
953
118
974
958
88
348
471
305
470
80
287
219
359
135
26
324
925
88
185
196
990
324
601
433
680
730
570
583
472
420
591
49
987
309
31
85
889
169
925
923
426
68
788
852
464
723
585
853
353
344
906
953
601
8
46
68
128
489
875
486
811
693
326
534
156
576
878
200
174
465
614
665
986
214
330
737
218
518
679
187
17
7
523
851
380
440
520
128
551
470
452
239
419
913
961
182
236
444
171
814
449
920
147
940
155
316
236
565
465
366
154
713
86
589
87
347
532
301
166
942
703
613
449
226
998
163
919
440
731
513
69
231
412
728
388
941
333
635
390
640
12
675
903
706
247
34
981
151
947
964
165
165
434
833
812
555
612
425
860
840
267
482
703
783
755
269
838
37
528
233
530
422
244
411
57
37
727
366
16
86
633
806
745
789
519
987
200
233
931
210
498
326
237
428
902
308
217
55
266
407
805
565
777
315
986
345
430
116
560
597
782
190
384
765
433
405
746
90
145
578
717
424
668
826
700
336
166
885
883
905
583
932
4
322
426
720
621
550
208
95
112
879
244
77
715
152
562
715
242
781
463
892
563
494
646
78
521
874
889
813
739
385
981
329
688
520
979
320
450
147
896
319
850
907
595
539
32
709
24
299
62
37
915
379
883
736
712
709
770
427
834
842
470
490
305
540
362
838
434
631
309
307
506
25
359
570
348
405
63
917
276
623
20
139
117
314
151
984
971
554
369
368
856
658
516
579
686
372
919
214
819
792
434
492
1
293
617
860
693
647
534
561
593
302
770
891
707
462
392
453
418
237
982
593
875
608
369
562
422
379
358
685
977
612
572
953
990
246
515
21
87
738
95
533
578
616
144
83
745
746
918
870
258
992
167
295
100
689
130
331
107
5
738
472
607
859
349
481
664
498
625
952
109
255
496
897
910
272
729
207
386
169
320
838
471
741
766
994
504
774
308
447
8
972
384
329
545
809
879
402
995
858
222
863
556
737
15
194
354
412
703
424
784
978
705
464
630
416
556
814
545
96
869
73
700
911
348
129
303
38
636
821
177
277
555
176
792
793
136
5
12
882
921
779
254
86
189
230
970
538
138
15
141
979
545
160
941
258
118
704
854
465
562
124
312
52
367
681
346
456
473
759
834
741
240
665
686
744
631
111
701
40
87
766
896
817
376
880
807
387
571
939
668
647
431
723
363
271
665
936
762
793
948
794
364
24
112
544
202
451
626
953
583
341
349
177
569
311
523
312
67
999
187
112
998
324
469
50
338
518
741
922
696
757
219
663
754
757
407
907
72
134
745
90
734
676
881
578
801
944
310
377
815
757
502
484
420
210
212
811
735
818
443
947
268
294
353
699
11
215
506
494
870
558
20
221
705
666
549
43
87
718
531
20
350
180
819
138
611
39
625
476
236
844
694
798
654
706
757
821
508
441
624
757
890
999
687
526
794
143
278
172
1000
130
1000
646
307
773
166
75
394
860
462
30
647
362
264
145
943
247
355
591
737
3
401
578
803
163
175
44
613
232
438
118
667
410
354
807
34
421
502
549
18
577
885
971
92
931
790
195
228
989
9
531
310
11
731
234
570
355
342
291
909
668
500
868
487
996
102
132
224
23
176
662
697
749
324
552
455
858
47
593
962
921
202
676
220
375
846
610
604
894
968
134
626
376
924
765
112
269
931
514
795
381
637
204
395
628
592
284
69
393
468
579
548
311
962
386
341
322
650
672
180
789
494
914
225
295
307
294
663
534
255
546
18
338
387
741
862
456
252
678
667
182
913
386
195
309
38
407
188
159
299
175
96
653
7
813
253
453
778
103
211
252
17
204
899
166
197
960
922
8
230
248
565
966
693
900
16
806
329
178
916
282
36
633
583
871
486
485
158
291
647
288
494
519
739
779
807
200
555
256
7
387
677
751
109
532
837
558
369
537
560
390
578
438
277
534
471
24
284
917
358
242
293
916
895
799
829
67
357
731
383
577
943
66
86
688
367
914
615
503
467
442
207
801
631
246
938
806
593
553
874
562
557
553
319
808
664
908
127
800
535
141
989
509
988
184
654
54
70
839
307
987
217
268
676
288
688
949
21
532
453
680
833
702
313
359
938
562
394
241
712
329
83
292
278
624
117
91
899
328
809
433
224
27
324
428
728
163
525
433
449
918
131
578
85
78
854
12
627
837
739
254
947
565
125
159
211
64
559
136
523
726
469
168
980
304
639
108
158
727
336
490
145
504
450
787
387
754
150
655
15
876
393
200
789
156
50
727
507
388
581
719
525
695
929
62
9
318
754
621
720
87
236
328
368
637
382
888
72
247
225
43
35
287
312
106
333
926
638
118
610
656
527
578
565
660
2
130
338
795
857
14
303
206
16
332
296
181
712
414
33
891
726
626
314
74
187
4
620
560
444
987
890
777
101
337
583
25
624
84
609
334
824
927
360
221
152
84
855
483
950
28
969
468
742
867
824
910
169
417
685
535
425
154
102
94
907
300
656
414
303
284
345
313
572
697
584
997
53
619
809
594
488
935
868
72
871
821
772
668
840
86
858
307
823
497
98
229
230
491
120
172
806
937
474
46
657
716
834
942
573
938
85
728
16
554
749
235
534
959
749
199
441
953
321
748
290
85
781
170
78
955
926
113
103
547
100
179
120
34
311
59
761
776
364
985
179
438
655
300
548
245
126
361
339
394
904
824
273
569
313
615
464
293
263
513
559
616
521
351
589
220
988
263
867
608
906
308
492
438
883
40
939
456
695
297
759
697
140
536
639
815
577
561
942
464
414
361
378
594
500
91
625
466
283
937
597
917
641
708
497
130
482
533
11
766
571
963
751
795
565
102
561
800
881
148
398
824
877
853
294
81
787
975
325
945
989
741
621
703
495
724
179
474
988
282
663
562
333
905
416
252
271
389
641
740
916
743
79
422
724
142
513
272
888
28
162
414
447
673
321
250
979
140
622
744
416
587
957
524
418
291
379
485
708
603
296
485
967
289
884
543
219
333
907
664
87
379
94
74
979
379
803
132
15
953
924
685
494
170
935
951
774
184
514
254
734
220
383
155
370
889
900
503
680
731
454
1
715
161
906
676
555
711
147
483
27
585
356
944
158
43
686
333
746
77
917
390
919
170
82
22
218
651
185
692
595
336
934
476
671
666
810
875
731
537
915
504
268
352
773
730
289
632
663
179
230
665
130
775
94
275
25
658
319
779
808
869
986
594
867
182
194
752
294
840
817
801
904
230
407
178
278
735
702
151
253
90
62
877
611
576
157
929
675
315
409
910
133
705
21
391
709
810
881
488
221
106
308
834
152
539
357
563
130
307
385
221
591
86
668
153
464
727
119
37
958
563
604
708
354
576
879
301
292
603
958
67
177
685
559
910
190
419
364
796
906
864
990
743
629
181
955
972
409
655
411
196
139
182
110
704
283
609
869
82
518
550
803
951
70
421
714
58
553
475
336
423
913
564
570
20
455
206
463
633
3
271
433
133
958
297
183
388
387
976
787
427
300
844
713
280
979
594
880
122
529
696
427
961
848
228
569
130
856
886
754
279
120
190
357
386
4
764
333
547
72
436
534
955
756
576
928
521
251
779
556
70
165
468
870
866
710
502
62
547
140
167
60
179
670
223
178
241
348
813
788
858
219
129
982
462
649
688
899
376
852
952
307
551
525
834
62
746
959
283
245
15
201
788
181
254
574
101
14
915
420
928
196
729
973
623
85
418
82
171
807
931
964
846
696
710
191
7
892
831
933
382
170
667
835
106
627
857
985
460
662
993
145
992
585
389
775
205
243
714
440
519
340
63
834
559
453
242
21
135
331
685
500
448
741
399
312
174
13
801
769
72
398
110
315
672
572
227
653
426
919
657
581
426
705
88
872
407
910
705
153
311
256
171
978
131
947
492
189
66
710
635
220
326
25
886
224
54
822
387
752
894
503
219
277
737
907
673
1
33
671
79
257
840
544
673
290
509
354
483
379
448
733
176
39
959
181
113
548
535
752
607
127
319
424
534
911
649
260
978
256
764
543
574
44
745
396
554
379
749
846
288
468
409
892
284
554
38
887
185
471
959
493
307
774
807
515
644
416
159
168
71
629
216
711
693
19
535
922
878
867
32
611
576
285
532
187
894
199
192
348
788
70
4
95
934
919
404
628
497
468
768
138
573
172
150
165
536
486
216
979
373
965
715
381
386
714
220
450
289
231
93
8
830
940
818
990
550
550
889
500
193
928
426
51
563
345
582
377
365
803
555
247
646
639
760
922
5
766
274
244
635
709
186
849
628
78
913
691
676
210
817
862
484
536
739
688
735
611
134
228
411
887
589
566
651
16
393
775
84
895
713
6
753
715
674
944
342
9
295
761
377
28
818
808
518
851
410
494
798
287
643
183
935
968
392
519
404
47
29
241
15
564
855
447
152
828
744
259
660
170
858
11
611
4
134
409
834
446
951
602
128
646
21
721
534
595
86
264
947
419
437
624
552
66
637
190
305
848
54
703
731
536
16
965
811
551
418
574
618
349
621
103
675
259
354
9
706
890
101
617
569
714
165
719
681
586
194
673
176
769
463
433
351
503
597
566
732
276
775
168
188
734
634
566
116
599
266
829
656
55
695
386
265
824
201
550
744
525
683
290
2
3
9
402
399
15
975
131
542
18
59
372
752
867
609
811
254
886
520
756
354
124
706
951
456
607
898
362
811
59
356
788
319
855
143
163
517
948
461
564
158
133
415
303
397
294
266
923
676
190
877
585
850
968
577
102
954
802
140
857
300
966
890
914
240
244
214
921
49
734
939
810
840
33
71
872
341
286
379
531
655
773
201
5
828
554
606
117
179
188
763
685
852
686
957
305
986
679
193
833
224
247
756
565
32
969
385
905
428
533
975
322
302
694
819
530
420
443
471
100
622
998
222
186
451
640
51
640
660
480
659
561
591
929
856
234
452
68
140
499
877
82
787
814
972
656
122
672
263
553
982
560
562
576
510
373
798
802
567
34
279
255
32
75
701
171
171
138
434
621
84
644
274
533
949
378
912
102
425
369
808
156
102
243
35
291
329
177
930
508
121
680
50
621
50
701
46
943
258
972
517
616
725
84
826
480
952
506
171
566
74
663
881
139
202
221
45
699
507
931
95
532
125
748
901
179
503
427
241
673
185
516
286
526
378
430
853
203
841
331
750
272
799
624
495
505
583
218
31
949
667
117
873
398
618
529
255
736
215
452
457
378
672
587
465
345
455
526
537
611
664
400
5
980
325
531
902
129
230
201
585
451
148
345
548
947
335
831
65
782
273
989
108
44
474
253
256
875
12
63
920
436
175
694
299
87
223
294
912
766
828
202
417
783
170
602
730
159
37
624
84
209
513
316
787
256
22
289
929
260
542
443
148
670
784
898
912
976
22
134
445
300
27
413
569
851
258
735
228
216
81
938
400
288
244
78
447
74
312
882
666
773
17
894
972
264
755
920
183
612
563
508
345
253
951
511
884
305
907
193
169
823
250
3
211
892
239
839
836
171
39
595
648
854
184
833
492
68
656
664
926
394
603
289
437
538
963
242
717
195
503
14
375
770
826
650
855
969
956
883
184
204
986
568
398
392
110
481
154
20
65
48
74
250
675
186
840
468
677
257
907
886
490
69
980
755
915
956
87
266
28
269
137
449
663
983
373
266
972
727
1000
592
511
278
585
989
195
428
522
2
221
195
988
215
790
544
308
450
23
133
608
303
992
127
939
681
194
767
801
128
105
243
163
484
682
366
598
898
813
688
113
261
748
10
656
908
475
685
987
815
881
684
844
594
267
214
869
302
453
550
775
440
294
846
614
561
871
900
831
589
28
257
962
274
202
563
486
236
680
788
329
670
521
790
972
127
390
716
927
721
456
879
594
759
320
117
159
50
678
66
241
102
34
477
450
988
327
448
897
926
776
432
947
508
598
959
200
79
495
295
762
985
991
668
351
276
748
258
687
980
960
917
921
249
837
410
546
519
932
77
369
327
788
973
630
568
968
920
298
798
44
399
867
658
517
909
776
599
979
215
666
875
29
897
258
215
604
772
619
662
405
14
905
818
64
284
464
146
515
771
369
19
811
805
1
952
290
635
329
792
539
34
892
698
107
606
333
408
271
105
497
640
471
559
751
467
194
742
201
166
221
373
885
344
112
426
886
104
758
120
533
656
623
480
482
39
19
826
576
554
403
206
774
114
209
576
362
945
179
466
888
999
496
994
961
963
284
361
133
11
197
342
575
273
892
902
128
564
152
786
670
49
296
802
375
434
313
584
614
689
848
809
732
526
750
207
884
626
422
199
430
104
597
688
138
786
513
343
585
699
648
689
701
554
335
480
360
147
605
81
272
309
530
98
227
458
220
36
894
870
354
567
976
482
803
917
499
437
456
908
426
582
856
478
567
848
603
858
987
749
798
134
707
248
972
620
522
902
44
346
207
489
879
935
165
292
899
362
865
852
37
376
35
246
35
854
626
925
732
19
22
693
509
209
859
702
508
863
49
183
588
496
299
261
242
664
521
356
849
392
964
581
711
67
856
70
301
556
601
338
15
183
293
641
518
253
457
769
475
6
387
903
19
231
430
920
871
315
883
51
381
118
888
879
117
953
888
463
829
871
734
807
758
633
508
969
288
32
481
871
888
655
391
266
132
826
424
380
355
190
840
443
129
352
185
745
372
25
433
814
303
411
190
60
891
897
308
526
720
707
877
406
351
837
561
643
424
482
700
207
675
146
415
663
17
815
196
208
615
904
94
678
613
130
707
932
820
168
580
632
170
672
529
668
235
237
665
385
419
977
543
345
689
635
996
537
899
595
645
863
798
708
21
224
812
598
505
719
536
987
13
341
711
635
467
1000
89
686
608
900
245
552
642
89
862
14
529
468
445
853
488
657
737
168
409
922
309
519
433
772
971
164
913
939
647
952
339
210
315
901
562
959
457
64
860
309
243
94
943
566
282
785
994
925
398
986
243
491
323
502
376
345
603
960
259
701
273
210
123
232
80
475
326
273
114
380
267
921
705
942
842
25
376
826
90
675
444
455
299
87
585
80
908
700
316
511
11
897
887
58
95
33
493
118
961
305
102
20
416
614
418
932
435
753
676
111
955
126
33
322
385
746
282
984
195
446
502
505
673
48
58
292
43
781
19
141
651
338
713
55
874
822
585
47
724
258
996
182
856
494
855
900
845
78
263
662
146
146
421
108
102
427
133
189
736
250
149
201
833
795
465
250
996
947
425
430
934
769
157
945
238
28
430
435
301
210
487
48
823
162
805
142
567
817
2
86
635
482
318
286
566
803
182
463
960
835
398
191
203
623
374
879
72
294
652
718
653
974
723
582
86
753
716
514
55
514
113
219
863
703
76
956
150
12
317
288
36
498
694
449
513
891
890
493
437
714
581
951
324
356
501
486
501
427
652
885
839
584
729
799
420
478
505
834
6
664
526
951
124
85
959
644
876
257
868
36
368
351
489
860
757
181
312
278
493
534
904
608
279
365
447
351
645
127
890
341
789
906
496
456
525
112
279
82
766
155
529
453
942
945
153
61
165
61
55
545
748
120
160
894
886
226
956
293
939
381
636
689
766
362
17
979
974
930
409
738
808
138
535
596
621
199
398
672
526
587
745
966
869
23
366
246
630
567
53
772
724
298
438
120
437
949
311
516
916
451
260
310
709
517
630
676
842
315
893
179
828
768
453
576
276
224
826
132
503
78
901
744
663
422
698
392
406
943
605
777
35
123
623
519
444
238
529
979
860
782
194
549
571
725
517
295
360
441
565
914
322
242
550
311
123
195
199
523
502
295
955
330
32
148
156
662
691
8
52
816
835
409
36
596
509
635
982
692
889
982
933
23
796
89
689
299
893
616
17
775
155
205
322
2
652
964
614
411
515
683
516
738
175
614
881
592
650
921
307
8
657
842
458
386
829
202
668
95
150
154
695
898
14
931
900
515
967
960
328
869
301
888
367
988
129
957
708
136
504
696
313
426
393
52
959
105
83
974
756
728
672
910
662
616
821
864
688
393
899
458
940
866
940
906
73
215
624
931
60
265
577
455
383
592
908
277
897
381
790
108
654
204
307
24
897
370
534
838
316
98
1000
930
384
518
267
802
262
427
355
993
336
816
119
16
912
385
503
665
983
692
805
376
259
86
688
343
853
301
697
705
119
430
482
474
113
22
738
806
102
202
133
853
334
47
123
716
10
938
619
946
37
218
921
623
675
330
196
324
626
496
62
145
466
173
493
538
586
712
371
940
949
142
467
8
49
496
571
849
446
908
745
779
89
523
426
20
478
365
180
203
369
474
463
739
331
987
649
894
999
360
928
902
227
587
411
533
714
96
929
360
856
997
566
355
742
473
915
572
228
429
421
400
966
923
937
283
120
557
806
861
260
726
349
191
571
570
650
110
93
542
897
789
185
721
369
239
772
422
347
869
229
150
847
182
949
695
97
359
747
989
94
777
230
361
440
490
209
23
848
321
27
899
406
462
397
434
696
474
992
633
354
94
544
381
501
577
667
41
751
148
958
449
195
726
197
659
802
297
606
238
230
178
227
475
862
934
414
595
247
928
349
957
804
278
260
280
752
531
704
101
779
499
906
69
866
509
609
159
21
801
346
574
429
913
319
929
645
678
325
289
35
891
289
758
609
802
996
645
769
323
551
643
251
249
976
83
723
870
60
95
98
15
275
414
574
16
136
637
859
34
832
999
786
927
359
90
782
156
667
498
229
220
520
54
799
787
863
226
269
966
514
201
138
154
883
375
634
515
265
305
324
395
953
626
597
970
64
128
752
938
502
915
286
396
919
577
243
872
894
382
167
93
793
758
280
267
947
766
2
515
837
835
824
654
968
760
832
672
973
839
916
116
296
112
788
89
465
804
460
702
603
477
776
662
306
901
886
114
416
292
346
989
573
442
609
893
622
197
285
5
79
910
458
528
935
776
740
10
957
408
505
229
560
623
921
417
28
166
973
300
547
17
690
806
80
10
135
328
576
716
575
106
401
929
399
637
148
649
23
9
193
141
987
730
441
517
929
913
735
296
898
650
299
569
760
21
391
714
67
498
106
93
803
379
841
806
915
539
528
362
356
982
142
68
687
620
358
84
903
239
485
290
291
841
962
601
575
413
762
881
522
712
52
375
456
841
293
454
888
215
788
513
517
35
356
57
433
522
431
373
250
989
348
705
243
286
51
495
286
267
713
106
567
737
20
401
558
719
999
713
726
37
279
8
804
894
649
517
220
585
614
704
463
490
386
209
738
255
443
323
267
415
325
612
970
745
832
570
75
306
153
528
412
522
749
638
751
566
6
393
584
50
771
61
144
271
889
382
340
263
761
53
457
518
783
871
190
500
226
863
567
52
760
377
820
340
358
913
99
249
757
397
222
66
2
740
288
789
855
767
122
697
18
9
949
601
170
462
630
803
804
114
94
915
739
946
273
563
940
147
6
497
998
503
865
760
213
244
807
406
716
174
860
694
497
578
832
847
508
188
131
188
237
529
366
960
286
53
354
176
515
790
515
625
255
687
403
555
949
424
309
603
327
229
457
273
894
167
285
623
57
441
721
857
709
459
147
211
472
834
961
829
52
9
271
376
406
910
251
733
463
883
129
466
195
176
634
716
706
413
910
773
855
815
610
878
625
417
911
741
107
158
622
841
483
524
486
831
849
364
975
258
44
615
605
399
957
934
866
195
865
641
329
154
515
970
439
625
553
350
742
30
841
313
51
458
964
691
152
565
920
957
164
837
593
902
607
104
116
390
560
653
629
568
25
416
266
748
776
472
429
163
490
558
524
927
959
353
387
832
512
66
564
54
552
245
443
459
314
802
20
958
495
934
716
268
430
45
248
535
862
733
7
482
171
655
810
148
115
386
147
820
772
389
255
466
389
887
442
834
244
707
94
377
505
165
698
373
264
647
58
877
611
857
558
684
626
602
16
71
651
606
149
913
69
73
159
691
63
614
273
45
533
751
322
765
413
382
632
536
133
483
539
343
855
869
820
157
416
974
225
411
626
508
74
834
684
298
561
398
974
796
29
485
460
556
977
918
216
411
952
135
364
254
831
641
842
61
199
830
983
244
646
434
836
534
893
109
513
297
525
172
654
637
42
59
229
657
605
864
521
1
602
236
96
142
659
979
980
938
219
938
51
630
219
131
867
831
625
643
775
20
823
502
139
740
953
587
995
979
252
665
225
200
433
795
623
90
877
684
840
408
222
44
276
194
470
646
414
256
354
559
985
39
95
16
594
926
41
444
144
557
952
467
457
987
828
122
984
344
269
62
397
223
319
309
153
188
619
953
833
631
491
279
168
718
273
977
181
303
800
456
819
511
452
803
754
151
600
584
805
234
583
514
532
675
589
13
170
655
936
782
955
245
284
857
322
615
249
17
184
582
757
50
700
271
197
144
504
420
126
566
386
213
832
901
776
535
529
326
207
279
350
796
141
611
583
561
135
149
793
127
381
644
554
645
33
47
560
701
622
846
733
678
47
143
837
156
306
249
757
328
194
481
300
18
597
472
855
706
955
509
722
899
662
357
271
298
907
557
325
478
494
426
340
214
713
831
16
151
198
375
957
279
11
767
846
507
932
54
439
741
999
816
320
14
909
645
999
603
782
998
417
572
152
989
339
857
763
815
437
810
916
281
86
140
643
331
24
285
964
572
68
576
824
532
7
979
109
805
670
831
269
271
885
726
716
325
741
642
111
398
101
472
65
84
816
344
583
899
452
516
783
983
626
170
41
125
257
120
733
72
126
331
155
452
130
128
74
562
556
159
554
938
495
507
387
845
244
815
485
828
188
929
60
994
161
360
280
977
767
817
354
442
450
172
687
519
391
468
820
798
437
14
361
381
381
180
5
7
833
241
68
461
832
497
608
314
149
947
407
545
875
997
522
731
539
39
95
323
473
235
437
979
563
536
111
50
844
764
925
93
616
592
267
714
890
364
187
160
9
28
990
775
233
873
883
901
927
379
372
815
731
270
729
33
779
735
789
679
580
907
778
642
650
891
642
938
374
20
568
14
859
579
14
760
721
929
554
621
863
798
303
515
299
571
510
244
984
512
122
697
446
244
821
409
708
237
23
6
661
729
841
622
537
288
847
653
619
165
743
88
636
704
744
238
573
338
536
887
767
112
173
770
249
260
182
801
237
70
421
669
598
207
975
256
856
638
455
828
24
583
622
94
149
203
148
71
942
281
691
107
296
838
180
583
794
407
357
571
552
700
177
151
862
545
626
215
122
238
872
288
520
927
449
340
744
245
343
588
771
170
419
44
455
5
647
877
175
468
959
763
292
68
367
1000
561
391
199
579
895
411
908
333
100
671
941
8
279
22
566
334
627
634
411
219
233
150
686
734
322
170
713
900
116
773
453
186
97
372
155
216
2
23
123
465
327
260
892
576
451
607
734
541
769
219
541
163
359
488
607
116
790
48
703
433
653
341
191
447
265
772
573
37
798
566
39
549
761
599
52
886
374
857
975
104
873
681
45
293
194
621
758
648
810
562
872
424
706
745
779
890
616
462
959
500
680
493
603
231
625
792
242
461
402
555
410
805
14
546
962
44
862
499
619
656
574
457
766
497
698
173
263
843
59
71
303
364
852
800
910
589
720
131
731
72
203
802
176
788
899
907
812
252
647
623
138
454
789
381
530
26
376
56
192
945
722
419
393
696
332
858
162
54
603
335
855
556
87
670
706
280
352
476
538
778
621
505
325
876
463
746
160
578
757
328
516
503
52
189
369
123
221
498
886
564
996
39
893
884
581
92
259
564
35
889
685
393
539
378
93
68
952
847
997
606
332
957
747
85
178
854
540
340
211
343
404
978
462
537
183
477
251
9
697
208
443
255
836
905
972
151
348
519
253
222
471
393
514
707
355
375
512
858
436
865
351
392
540
738
320
764
500
775
783
767
513
532
123
956
297
539
699
619
329
351
552
266
105
238
340
165
424
262
611
39
122
39
56
849
596
778
818
543
674
52
301
758
109
336
164
705
32
570
340
919
200
851
11
98
758
908
417
6
557
198
278
306
757
287
374
212
559
688
546
68
465
485
948
321
326
871
925
840
846
198
246
241
890
260
817
675
119
321
129
518
29
792
922
568
401
619
496
602
574
120
110
649
684
473
709
886
223
67
15
882
822
681
639
784
185
812
474
154
462
495
81
370
187
659
162
906
80
386
519
347
652
456
49
694
562
201
485
366
100
999
529
333
3
714
995
963
68
12
349
509
636
739
801
633
106
520
688
6
89
285
458
816
645
713
5
957
379
459
420
808
783
619
525
731
328
61
684
870
310
179
463
391
314
91
694
50
494
548
359
833
556
615
512
499
453
707
140
19
329
710
477
283
148
723
758
948
816
432
860
979
310
231
537
250
494
16
237
560
841
970
571
555
250
778
572
344
497
465
807
34
646
406
259
36
902
180
661
744
2
611
595
107
188
718
284
689
240
347
429
61
826
913
851
724
643
41
988
339
431
885
467
713
974
557
91
879
608
402
573
569
619
844
267
618
122
113
956
87
681
475
497
440
967
504
723
701
213
531
578
340
107
646
859
567
992
546
337
836
966
67
228
614
534
459
201
886
944
342
136
460
263
793
842
836
528
220
812
332
13
500
893
163
795
370
420
394
283
200
982
43
343
97
479
112
934
754
554
999
976
577
781
572
239
389
237
163
671
481
196
876
472
822
730
909
642
35
953
18
459
104
454
886
545
876
283
891
759
121
452
718
123
266
518
307
419
988
283
882
857
505
17
181
460
754
894
551
397
634
544
283
528
169
700
405
852
731
933
177
384
430
380
686
216
423
186
274
168
142
106
19
502
405
339
111
595
935
209
767
369
84
734
284
522
452
511
931
292
646
537
642
560
655
818
885
597
162
632
679
653
677
304
438
881
536
249
224
803
647
782
20
645
394
938
863
367
219
97
990
173
245
751
710
592
759
131
346
965
486
754
436
337
383
155
360
276
92
216
696
129
313
518
896
559
69
109
346
2
267
912
439
857
10
761
103
778
819
703
102
466
321
794
530
730
953
61
132
388
960
700
499
795
259
880
683
402
775
664
533
757
488
731
873
792
755
512
652
91
408
327
404
32
799
885
633
386
181
248
252
982
815
4
830
509
714
900
203
395
249
648
935
968
688
971
258
789
352
193
338
116
226
844
170
972
801
838
970
144
404
720
634
794
470
384
785
27
68
448
900
898
459
155
266
856
654
273
838
548
703
965
602
232
976
26
701
815
738
197
428
634
187
459
133
686
472
402
286
960
372
736
171
879
20
997
181
645
470
320
272
441
965
944
892
47
499
721
633
399
591
521
926
17
276
870
313
46
953
536
258
835
99
91
944
631
848
620
264
933
87
917
34
536
21
435
469
85
150
233
149
212
191
937
25
987
782
486
470
443
730
36
58
406
145
956
519
736
76
278
270
319
140
313
57
880
206
407
453
717
430
964
434
982
762
930
796
13
629
920
898
530
651
27
148
210
86
164
645
280
214
448
613
269
12
779
629
21
281
232
130
349
866
303
386
521
703
386
930
841
240
56
414
198
193
869
25
379
680
442
858
320
560
500
105
245
156
432
538
792
654
659
501
855
137
758
572
813
625
890
106
238
488
512
126
978
314
762
395
698
626
178
58
603
860
616
944
69
659
311
467
336
855
52
85
260
460
350
435
354
639
264
603
991
881
328
456
695
549
602
602
917
564
435
346
524
221
962
955
552
62
698
643
386
261
868
971
677
215
247
756
746
889
367
165
151
7
925
406
372
360
90
303
308
334
209
109
350
272
99
82
362
424
700
727
792
69
389
117
490
828
653
358
536
339
136
117
534
227
300
85
382
732
84
398
478
480
945
347
681
573
662
119
149
643
70
963
303
516
703
904
792
898
945
65
306
813
879
725
465
617
481
471
853
27
210
201
424
3
299
260
168
280
270
709
914
21
281
574
587
360
936
941
63
579
62
913
15
274
821
814
779
160
220
442
319
75
716
874
845
366
151
82
475
50
700
576
634
82
856
406
521
596
735
108
111
210
139
603
591
367
896
631
61
189
951
36
624
532
579
96
702
754
868
160
503
211
307
18
130
642
939
822
707
434
996
867
253
194
401
212
770
200
795
960
151
78
985
978
79
468
861
996
27
571
813
290
845
162
689
644
194
119
121
852
261
522
848
809
751
127
296
151
185
385
253
483
885
186
963
451
860
227
315
327
983
200
114
300
511
45
606
366
960
110
516
584
835
419
884
455
495
180
882
373
711
318
600
400
97
50
554
111
663
514
244
894
173
8
673
883
889
650
154
637
521
202
86
812
896
318
642
311
940
729
468
830
54
722
550
289
863
823
406
363
610
754
604
228
198
597
427
677
962
576
179
937
807
40
217
931
256
23
337
167
288
230
501
182
592
427
248
220
996
972
347
878
398
684
363
517
471
314
866
601
775
644
947
519
706
647
542
82
851
167
841
651
926
357
701
753
464
411
563
123
799
218
837
366
707
204
107
778
272
1
789
439
148
560
64
391
434
989
18
548
766
691
917
29
105
374
453
742
913
83
630
397
58
727
661
596
849
475
896
289
60
3
323
671
645
820
645
562
158
793
251
401
517
565
697
258
882
771
440
681
878
820
647
779
289
554
888
664
674
269
368
260
32
424
182
553
788
878
732
525
868
615
71
393
575
760
419
284
297
139
534
138
830
753
918
457
237
336
66
516
721
565
102
765
932
627
180
458
521
554
964
1
500
159
356
106
150
478
400
602
813
304
933
681
867
805
146
431
622
232
673
719
626
401
217
916
112
994
995
451
931
692
493
927
307
838
110
347
215
616
277
48
997
703
548
84
54
973
976
133
135
117
818
480
768
971
234
290
841
927
181
128
210
77
157
693
480
599
784
789
785
500
481
858
460
19
642
784
14
869
793
285
688
26
191
916
181
970
178
605
864
106
430
694
871
595
898
634
26
986
857
875
446
849
972
967
33
55
714
589
767
503
762
20
907
842
263
576
699
201
939
651
209
992
86
300
214
638
429
769
879
460
655
954
134
7
220
560
209
868
643
636
823
318
124
239
883
243
735
212
365
416
874
459
255
582
907
623
43
775
153
787
284
962
430
682
162
411
434
875
825
147
71
603
522
482
739
231
168
891
242
796
82
417
668
736
30
414
79
702
631
653
334
292
412
736
685
669
498
316
49
254
997
843
40
159
623
417
879
535
20
876
298
796
517
406
436
537
782
823
474
18
936
167
517
288
232
393
747
368
296
771
452
446
301
50
884
681
148
589
275
54
901
410
501
691
254
584
82
191
779
446
170
829
67
864
191
917
638
228
596
228
672
838
965
158
215
136
364
205
473
545
408
421
227
764
979
746
196
996
905
482
374
973
207
754
999
610
715
454
815
789
935
84
731
71
78
856
795
117
53
637
663
195
55
609
361
467
93
28
223
633
456
73
315
157
605
600
539
496
482
540
865
694
520
804
849
236
929
817
618
294
982
211
71
353
81
801
862
743
387
681
88
779
643
182
301
66
622
455
542
3
340
677
680
699
732
188
198
285
36
433
959
129
517
198
173
519
485
500
981
207
788
445
578
611
88
510
793
588
271
12
379
412
262
961
59
12
405
108
529
580
277
760
231
376
505
861
661
919
691
896
411
805
52
424
911
46
736
418
75
188
79
155
649
463
262
77
84
866
898
905
192
370
124
319
665
460
658
665
783
788
97
478
281
10
474
109
393
841
705
353
563
909
103
796
147
270
567
536
743
332
423
39
424
507
124
152
251
109
193
734
936
906
863
899
403
258
827
650
321
942
400
526
362
632
188
950
79
478
32
162
799
388
618
977
871
428
626
121
916
230
714
562
502
388
959
91
771
647
570
371
134
79
866
836
81
576
486
75
530
678
814
835
913
234
375
347
366
373
770
459
960
44
359
967
944
716
457
628
308
874
296
548
820
621
391
52
886
55
215
653
175
66
289
478
18
865
911
325
963
860
712
573
745
460
179
302
146
27
76
343
860
433
429
424
566
668
371
233
815
484
669
21
252
354
216
298
937
883
96
288
209
409
108
95
625
711
779
909
999
648
975
188
448
53
179
478
662
403
407
409
334
632
489
457
771
931
166
272
261
567
31
702
676
518
848
185
131
229
210
832
250
884
799
352
760
391
741
954
657
693
668
508
149
127
165
510
982
276
181
891
464
188
866
276
739
882
30
83
407
778
97
774
583
53
971
623
903
974
742
622
757
931
495
530
264
213
808
585
93
617
699
145
281
579
881
349
603
870
202
908
896
832
36
301
970
771
235
3
395
397
945
805
486
142
258
978
292
753
158
775
235
843
720
763
328
952
809
544
581
247
832
712
270
206
228
304
254
490
452
572
416
756
198
645
580
325
460
529
11
483
847
947
674
667
228
706
974
965
412
654
625
149
50
781
617
934
365
706
993
284
645
605
303
347
632
628
149
57
99
967
180
519
912
69
282
32
856
901
460
38
306
798
101
305
620
189
879
403
770
419
550
885
288
931
298
607
116
349
75
340
269
353
593
111
560
800
251
778
809
235
278
922
35
806
821
511
181
596
531
728
784
554
437
966
857
550
546
307
953
538
666
696
18
460
389
649
176
316
57
550
28
788
787
515
397
874
316
356
719
301
518
385
404
876
899
684
616
500
339
990
829
329
562
521
456
441
615
914
591
400
678
958
614
331
87
933
22
451
372
193
305
547
439
89
172
517
764
457
669
966
616
671
21
776
885
682
111
762
34
588
589
769
60
992
496
57
142
823
190
393
799
363
75
66
984
926
308
927
523
10
248
647
708
771
837
630
645
362
533
377
182
7
676
662
830
680
345
575
151
931
916
351
468
668
458
890
615
733
103
88
682
654
259
372
338
317
323
357
392
166
154
155
680
163
87
667
265
1000
751
148
171
921
265
420
584
99
664
393
503
722
555
970
344
823
75
962
865
379
212
406
117
460
391
553
795
963
52
811
507
42
633
183
988
445
936
35
216
802
410
600
712
371
254
238
54
863
584
342
781
765
124
734
411
979
5
550
246
731
309
889
27
416
917
967
238
452
81
116
75
309
901
736
632
541
523
212
889
68
476
910
462
962
12
571
864
669
707
817
268
967
864
46
344
918
447
661
784
765
384
463
543
8
67
25
666
866
807
71
801
962
794
150
160
329
871
447
718
790
15
148
914
346
6
613
987
438
161
537
331
891
383
400
950
866
39
749
163
380
304
318
202
841
723
494
254
541
678
457
774
262
356
134
625
976
569
188
715
121
502
467
305
94
50
673
104
405
884
543
604
392
861
480
811
552
635
437
745
278
602
786
542
264
430
93
31
904
443
970
979
779
96
660
968
708
609
598
69
924
582
949
34
624
106
73
743
537
385
903
3
170
446
474
644
83
809
242
14
869
341
341
640
552
664
658
798
706
618
447
189
973
264
218
750
584
836
806
846
113
854
858
766
990
352
442
471
213
800
129
18
309
807
701
936
821
192
569
104
518
291
106
376
77
688
362
233
201
659
38
298
12
740
175
384
91
751
760
83
703
546
306
608
611
483
548
692
364
353
557
903
99
74
959
628
710
971
457
333
700
878
490
444
165
606
747
319
107
559
167
363
756
384
258
277
622
615
815
794
772
174
584
38
244
470
42
813
516
574
189
704
738
627
201
887
737
173
851
890
888
633
843
421
579
456
578
512
400
826
447
900
110
955
399
555
156
112
435
696
786
530
665
489
775
264
734
829
418
863
765
272
695
467
427
247
478
557
395
95
222
117
242
405
824
438
774
318
267
94
906
218
181
927
456
254
716
5
639
664
954
592
630
743
644
145
293
614
210
249
50
672
833
141
926
660
906
226
996
889
298
539
810
23
703
638
904
172
777
814
154
817
934
816
563
176
396
539
62
232
579
214
23
552
959
705
492
434
304
450
606
646
586
429
231
237
922
305
672
458
628
536
170
832
830
824
26
794
100
759
381
150
288
861
110
778
55
543
779
636
584
694
387
154
642
680
382
497
447
569
546
55
764
291
436
719
279
284
434
162
586
857
938
412
36
181
850
426
314
318
309
273
837
156
604
788
974
465
244
228
652
548
486
567
137
107
14
540
621
31
25
435
808
771
735
957
864
857
200
172
919
896
366
673
848
72
496
608
153
790
469
172
648
577
930
443
39
812
994
252
683
119
970
856
534
530
607
775
757
616
467
99
551
848
330
943
498
385
10
477
132
319
519
166
507
180
344
412
227
164
445
797
818
109
741
502
290
705
994
307
493
839
475
755
141
221
263
695
432
662
792
435
809
452
67
173
734
307
21
171
308
249
627
442
190
615
721
281
553
105
961
104
738
418
2
466
876
547
738
1
968
261
430
321
849
645
637
554
996
816
140
314
364
111
449
373
311
97
71
180
192
727
466
724
400
856
451
892
455
104
925
619
256
757
939
644
748
991
504
602
89
200
62
520
836
642
173
531
824
908
846
762
160
963
887
889
220
632
778
838
592
432
922
448
692
603
501
708
153
39
838
321
164
573
882
986
650
722
378
708
542
584
355
914
440
43
785
889
629
803
670
316
772
96
338
255
579
53
456
978
428
875
98
449
205
897
233
114
601
600
164
884
734
390
776
839
231
737
929
231
842
860
969
850
256
695
128
633
36
333
539
712
473
443
679
738
745
469
337
441
980
542
611
819
662
114
25
309
398
308
566
546
205
834
351
39
335
127
675
219
161
54
373
821
787
123
810
488
845
648
306
830
454
708
487
894
362
110
864
162
158
710
938
744
800
657
252
366
835
102
121
160
442
885
202
1
790
555
693
318
317
836
696
900
197
298
207
202
686
592
270
44
26
36
59
412
286
763
47
256
874
906
955
830
415
473
887
101
391
714
905
196
195
714
304
709
270
935
38
888
587
180
45
410
5
223
731
470
4
949
472
387
863
409
839
795
582
609
140
744
799
234
39
721
460
720
225
694
251
304
560
742
653
692
685
771
30
999
813
76
322
476
305
250
764
331
697
27
563
648
18
200
598
986
604
648
18
780
152
852
112
40
375
36
892
187
491
188
661
85
746
777
233
431
289
956
594
757
47
371
518
178
656
512
58
903
166
667
914
292
926
175
353
864
59
619
775
262
933
23
24
641
321
914
207
330
315
300
180
895
579
265
796
938
264
860
710
51
744
431
816
355
340
336
378
975
379
255
514
592
266
935
3
973
700
271
289
976
841
65
164
90
995
697
857
991
360
191
153
960
461
836
731
253
188
620
130
683
742
213
603
729
395
125
685
478
687
986
443
566
575
586
256
89
89
429
425
137
261
86
130
195
431
546
984
183
571
114
965
298
909
113
602
141
986
835
47
845
246
698
158
43
397
559
741
552
78
459
906
586
824
883
844
182
912
776
435
239
446
137
786
270
950
11
174
509
833
94
906
508
275
952
289
711
539
99
236
813
187
737
43
875
434
53
521
286
698
316
962
644
426
926
421
572
455
743
372
269
471
716
105
341
625
853
162
81
12
47
687
896
484
132
831
40
243
816
231
132
763
812
176
229
837
571
254
344
989
513
173
408
41
548
958
615
369
970
918
986
280
539
635
777
959
646
677
29
659
17
956
183
160
292
399
166
14
200
103
775
801
739
267
507
404
963
942
191
326
486
117
934
188
803
710
894
858
883
810
377
86
247
905
563
165
948
886
949
857
411
352
244
782
138
88
34
504
613
640
977
827
606
579
713
141
230
393
912
270
759
945
123
914
216
82
136
672
159
302
626
631
961
331
706
673
70
108
889
986
420
933
622
740
206
491
250
527
675
20
737
954
476
191
977
755
371
104
828
839
775
439
280
17
697
944
331
524
129
365
198
55
829
442
472
739
741
747
718
395
22
34
775
427
731
213
742
938
776
269
201
984
642
197
760
415
741
548
391
401
983
255
356
593
298
219
764
821
391
556
888
384
991
491
447
293
184
647
979
241
226
872
282
730
379
803
665
496
925
89
397
344
465
565
324
526
53
694
83
82
474
282
741
898
198
817
953
829
175
754
931
888
623
773
636
399
412
285
570
3
477
474
489
574
911
760
167
432
80
861
56
734
91
549
321
533
465
810
280
818
688
336
687
780
598
213
692
660
246
197
513
803
952
205
70
954
758
520
854
411
372
727
305
377
33
585
841
750
379
896
470
628
569
896
606
992
382
885
317
424
995
593
724
188
423
260
697
696
376
525
298
196
428
998
649
518
934
825
43
811
104
637
131
551
989
51
981
508
930
248
642
989
165
249
606
429
908
219
219
314
167
491
653
519
1000
29
552
345
675
754
801
946
434
478
198
381
162
189
960
210
289
95
137
435
675
137
969
574
57
649
160
840
899
457
855
723
90
6
821
741
37
12
979
785
111
762
945
250
310
383
715
119
226
371
937
270
140
150
508
504
92
728
363
278
302
321
417
629
195
399
561
563
600
740
535
35
380
975
254
709
879
553
864
885
94
242
417
325
399
75
535
231
984
130
874
310
904
626
476
649
806
647
372
155
906
174
883
402
798
258
119
63
5
873
133
523
959
407
14
901
293
815
965
454
890
151
78
258
128
595
80
149
155
105
802
122
851
503
495
775
296
161
415
952
230
436
281
403
968
672
308
164
690
864
541
355
842
92
92
290
625
419
739
67
212
234
41
350
346
959
756
646
485
642
909
187
466
167
267
495
975
765
343
788
770
31
319
657
673
888
397
878
873
793
216
772
931
42
880
279
220
171
76
791
221
331
521
828
213
975
667
849
410
399
203
855
546
415
399
921
211
986
732
506
13
699
570
182
749
780
903
418
368
761
241
196
410
26
839
522
25
177
347
341
403
596
837
997
648
622
907
100
706
476
224
629
937
447
451
127
331
882
944
119
160
193
24
232
68
455
880
84
223
146
379
660
153
251
137
791
349
249
225
340
519
473
783
879
638
957
644
966
569
158
782
598
91
873
36
82
634
277
103
329
865
234
209
548
555
951
257
410
842
599
473
33
55
744
735
527
793
299
864
445
827
237
93
205
686
495
840
422
525
336
674
158
956
923
79
286
69
38
196
510
772
658
241
117
946
590
712
184
604
474
797
818
439
257
653
944
652
644
299
340
949
170
975
886
922
245
696
439
840
934
617
384
10
319
571
628
490
972
787
767
895
456
398
207
458
812
782
242
284
639
188
521
963
763
368
830
318
435
146
841
76
700
926
351
685
854
185
504
331
896
866
703
446
473
429
216
650
138
51
972
113
638
50
669
782
550
212
140
797
849
69
836
664
860
594
405
460
641
972
633
396
41
321
384
588
545
261
801
743
561
226
723
815
978
301
182
341
672
117
883
326
121
75
766
46
465
734
111
61
132
714
159
80
638
884
882
41
274
911
377
922
188
475
321
362
785
586
86
103
481
464
372
654
575
412
710
339
411
928
746
55
82
70
30
677
599
775
902
8
873
338
185
579
846
811
597
425
812
386
203
117
297
165
756
23
886
888
476
708
8
298
701
880
20
810
802
70
899
99
991
513
457
990
908
309
280
798
409
26
543
877
586
330
408
676
845
136
993
37
839
989
793
834
120
121
973
290
690
661
207
480
997
993
578
593
534
155
590
496
914
445
542
32
187
147
329
261
201
374
259
540
27
558
604
971
802
40
440
190
870
557
761
948
776
141
11
198
469
108
928
667
87
370
50
981
793
237
308
499
464
262
879
892
466
456
891
408
341
353
616
492
31
7
504
77
150
990
790
476
904
852
435
220
491
304
833
616
195
596
75
57
940
181
547
322
764
761
287
190
523
260
864
710
174
82
457
374
115
262
494
258
425
762
439
915
298
212
282
446
620
857
853
692
432
339
362
964
954
207
425
29
975
720
439
376
670
613
355
915
302
955
784
332
883
153
896
311
560
431
761
706
405
845
609
521
322
984
993
272
980
61
4
880
55
985
466
769
554
374
526
235
678
181
188
486
502
771
79
966
730
820
208
714
925
391
560
530
906
868
86
691
440
239
108
768
1
372
155
895
84
519
17
462
513
265
139
802
249
547
522
889
430
164
979
473
769
392
929
338
975
968
931
576
572
684
772
860
327
296
283
720
538
262
976
710
581
75
257
202
445
591
217
238
475
826
949
532
166
116
950
210
652
447
367
361
496
985
801
794
465
546
913
652
266
817
284
710
620
623
891
236
629
439
48
274
142
653
863
92
664
765
119
319
469
872
945
978
700
248
836
251
665
814
369
272
996
577
432
704
40
898
901
134
674
549
491
554
687
126
931
358
56
285
705
258
704
680
342
525
782
222
670
781
136
473
460
314
378
554
653
580
885
963
693
93
151
51
551
390
122
768
679
152
555
423
499
805
964
892
20
187
438
666
820
880
445
605
952
898
795
60
299
257
33
290
512
825
940
742
959
544
231
792
44
763
223
40
822
934
18
82
135
400
701
977
340
313
162
283
294
13
408
641
475
329
662
357
968
350
101
333
611
177
842
7
729
59
646
665
781
78
876
589
703
278
434
54
891
690
753
91
590
244
461
266
914
947
951
484
833
39
980
947
260
54
347
973
795
840
862
312
771
641
129
986
7
275
61
431
55
291
729
913
822
756
830
757
112
958
44
923
67
910
582
865
462
990
472
400
515
446
539
535
232
762
525
794
258
105
566
637
908
142
37
951
325
528
827
475
703
296
255
206
113
168
176
525
764
552
302
805
469
612
397
735
652
326
806
449
512
916
724
828
832
339
712
11
513
829
254
255
95
615
526
727
425
4
167
766
150
9
542
414
892
575
890
728
823
230
793
517
822
702
596
653
584
623
766
29
845
954
698
592
341
181
136
589
261
636
208
330
731
532
48
316
279
433
130
545
347
892
713
159
656
978
267
379
615
208
338
846
58
203
89
72
278
5
657
693
716
602
559
602
690
646
590
863
224
747
64
498
389
15
785
850
558
692
831
263
637
853
86
241
634
114
499
59
901
235
166
76
7
307
712
613
471
924
877
330
528
401
902
489
683
600
57
339
55
403
636
171
438
189
836
208
526
942
194
630
996
792
699
507
11
815
244
286
223
948
825
812
541
706
792
564
784
209
480
873
819
692
772
455
952
291
475
481
131
395
936
758
17
257
959
324
52
893
938
930
494
497
79
380
764
759
749
731
580
478
251
655
83
835
806
71
574
510
97
320
516
609
536
746
220
10
280
526
934
304
146
990
170
7
781
483
696
46
828
13
38
877
389
565
297
720
777
952
730
540
401
529
888
386
653
916
37
615
825
114
231
355
402
45
671
265
595
604
933
302
556
761
215
726
570
123
39
18
431
631
694
750
331
742
320
670
849
538
713
463
53
682
818
686
288
52
390
364
973
161
517
617
604
210
512
456
211
705
182
600
713
114
652
754
976
951
722
283
886
17
181
655
423
256
663
316
547
842
387
898
678
661
537
788
717
295
176
122
803
12
296
208
506
999
25
241
717
279
71
903
284
328
190
140
353
387
860
938
446
874
334
416
554
103
972
931
888
704
56
165
491
782
318
371
616
850
31
45
616
14
876
297
119
701
693
105
426
492
913
461
394
225
700
122
546
632
793
336
786
190
613
428
911
755
457
577
19
819
505
476
68
883
908
802
73
554
469
612
850
443
278
805
803
840
204
822
970
442
314
571
436
131
165
414
272
896
360
690
343
520
967
888
692
584
171
58
741
677
5
484
167
409
144
947
204
28
496
129
36
927
786
840
139
340
401
800
687
852
517
620
611
145
938
514
480
563
126
986
177
669
628
444
208
945
470
209
609
211
108
908
616
91
248
591
654
124
132
203
758
672
929
241
230
843
507
529
191
40
164
23
703
622
885
504
303
338
273
808
130
919
642
982
267
192
626
371
624
592
295
187
407
775
14
560
229
338
150
387
994
291
334
602
950
54
167
601
739
190
164
649
835
39
216
77
497
654
79
930
251
217
210
534
962
160
770
138
750
802
798
388
369
174
307
883
173
94
597
482
468
266
132
363
873
310
151
24
290
215
604
583
224
644
82
745
488
878
187
755
786
980
150
508
248
907
612
734
790
920
156
850
62
581
582
611
829
71
918
211
876
331
874
812
895
751
762
815
370
744
907
334
168
555
246
469
410
99
98
966
194
436
61
742
928
740
619
619
344
258
328
279
749
831
349
124
708
958
743
238
147
302
133
105
811
777
280
72
133
25
667
808
797
216
398
173
757
532
589
977
974
653
976
78
938
820
614
156
872
784
423
269
592
46
797
28
197
332
670
765
80
157
241
646
338
680
1000
21
240
770
858
679
312
377
932
863
531
832
985
34
290
662
605
444
52
879
962
458
114
464
375
470
453
941
990
997
430
535
580
166
21
380
855
424
343
640
685
743
442
230
353
979
737
992
253
336
21
836
491
67
651
350
460
662
384
825
801
748
364
456
106
878
908
742
353
150
66
738
334
386
430
867
285
161
283
457
498
568
983
41
953
13
433
716
917
688
580
538
8
631
161
21
435
451
327
284
7
837
354
300
28
966
377
982
373
807
976
578
893
81
488
934
787
358
110
716
730
347
222
619
360
957
873
896
190
98
36
319
143
545
71
782
666
364
798
356
829
558
760
526
914
639
487
725
712
734
98
49
194
716
107
192
247
598
134
271
893
80
78
137
789
712
431
219
830
616
621
716
340
76
659
179
721
601
917
120
388
268
567
332
481
218
47
1000
174
218
965
543
340
100
990
348
965
694
620
219
985
619
202
389
160
897
202
435
159
924
532
280
327
747
681
727
455
956
509
679
483
755
821
249
238
939
263
470
215
563
654
211
917
74
596
201
463
541
97
769
13
432
985
38
56
36
88
804
748
282
517
286
329
150
895
255
78
342
47
770
399
147
496
942
425
690
81
636
939
869
163
45
514
327
165
370
525
752
658
671
65
626
795
81
901
332
673
185
269
159
114
357
726
328
419
222
269
636
923
236
645
684
500
571
93
952
776
103
770
176
471
344
764
568
159
551
898
446
731
111
516
728
58
520
37
581
623
925
354
237
403
254
102
594
921
413
386
803
170
886
826
428
61
366
662
167
167
692
249
339
786
485
451
518
762
322
347
774
95
234
180
926
80
560
644
116
628
955
491
792
434
406
884
883
898
682
113
532
14
535
93
284
5
321
511
13
100
439
629
207
726
137
530
447
320
792
18
28
136
704
470
759
720
849
703
839
135
761
315
650
676
925
997
970
548
635
71
850
896
248
846
908
677
176
413
298
57
758
229
985
454
354
103
236
828
623
277
441
592
967
886
460
305
550
430
728
376
127
822
210
134
176
243
176
986
444
259
441
824
94
643
366
506
92
898
461
38
315
736
841
997
182
677
180
877
217
490
14
300
112
401
451
414
280
882
377
444
828
356
242
13
164
333
385
814
160
342
635
198
917
516
628
475
677
839
879
86
385
875
140
282
712
268
998
661
98
424
984
696
514
548
680
404
212
677
449
422
667
404
441
49
283
766
486
288
234
143
305
487
937
107
256
991
284
844
482
83
732
171
877
616
726
176
792
931
771
210
759
70
641
297
805
818
850
10
123
823
522
547
958
898
214
7
582
598
108
882
126
377
193
346
881
915
728
266
374
704
308
719
172
627
345
474
905
40
602
57
431
833
712
9
420
38
289
417
887
834
319
100
381
193
992
636
562
10
69
978
931
278
135
595
304
760
836
889
440
650
285
165
912
923
354
561
921
430
501
174
224
290
97
65
818
833
979
971
273
131
82
294
881
175
558
427
889
869
771
502
136
312
875
448
343
295
499
622
174
538
224
333
908
965
93
317
262
216
434
565
445
694
627
962
999
655
283
856
383
258
471
28
514
2
291
541
695
729
70
567
445
171
906
645
750
74
123
751
183
85
407
202
133
909
94
688
122
735
66
669
821
561
227
950
901
841
366
509
305
831
482
542
878
123
340
272
537
95
94
247
329
461
315
768
808
647
646
577
97
460
618
152
925
426
860
768
690
180
55
8
290
517
519
537
73
69
194
770
764
72
195
552
619
357
771
43
404
553
714
829
981
424
760
684
458
434
534
504
859
930
908
699
222
752
451
695
909
715
791
306
616
167
328
405
277
729
689
732
608
412
752
678
493
538
825
589
835
278
811
462
725
149
782
905
41
543
410
889
619
186
137
135
197
465
794
922
220
692
612
754
406
760
225
585
714
58
309
234
971
193
965
227
966
870
808
523
229
174
9
531
116
679
195
324
16
17
227
223
699
970
311
777
879
754
861
681
33
843
778
377
398
629
537
922
875
187
607
190
225
698
215
645
570
354
422
720
713
153
779
312
182
611
622
6
244
278
150
462
354
889
20
766
613
178
147
715
881
589
753
686
96
676
475
179
229
479
537
183
45
24
554
207
494
941
540
216
147
315
85
724
541
90
446
986
689
752
554
572
304
541
494
603
455
166
81
580
498
830
559
51
114
410
293
322
206
770
557
40
211
557
164
764
119
262
749
561
129
13
967
260
374
318
715
250
633
960
796
604
261
332
77
869
851
769
310
94
272
858
252
505
826
271
634
816
228
413
800
300
974
41
598
605
489
85
152
818
91
78
727
387
461
957
785
361
747
540
672
864
912
613
137
818
196
413
991
748
817
264
808
896
160
269
480
997
729
237
860
790
98
502
446
762
920
867
256
651
833
693
639
6
760
58
740
403
631
991
727
1000
100
20
718
775
121
656
520
141
623
974
931
602
643
169
361
826
415
814
972
742
913
533
346
311
239
31
953
186
92
679
321
779
252
389
868
197
649
116
814
66
154
139
454
554
605
210
339
758
8
780
602
235
43
750
737
611
209
650
620
130
984
686
495
503
361
853
891
599
1
192
202
380
28
300
736
969
176
437
577
886
615
877
532
305
266
721
750
661
850
16
378
25
200
863
705
490
629
189
867
198
252
982
78
770
184
83
765
610
525
83
728
3
834
490
638
925
593
64
754
272
801
175
745
520
416
73
891
900
822
239
731
840
902
323
455
761
557
753
928
337
721
793
268
937
23
673
322
336
230
437
229
686
546
321
467
411
634
802
471
933
966
931
918
95
736
207
267
723
90
50
976
15
898
862
120
366
618
796
785
775
64
589
704
209
53
260
102
177
976
27
591
263
305
550
276
609
927
468
933
119
998
270
236
683
676
724
527
888
716
438
555
447
394
666
941
92
663
112
867
766
730
324
622
738
493
255
211
702
393
700
166
16
281
600
84
960
833
692
174
335
894
534
269
747
910
759
369
656
225
275
724
633
640
238
905
319
50
856
96
215
404
441
32
836
486
699
656
704
217
946
558
344
290
771
700
739
926
708
769
676
486
627
723
22
453
895
750
272
61
829
923
610
441
595
261
366
718
530
815
931
922
773
612
170
922
231
32
870
863
150
208
10
726
989
594
506
711
868
682
610
123
587
202
319
296
111
803
5
906
447
364
968
701
58
578
760
268
290
393
955
977
826
224
479
649
830
584
770
799
286
938
789
551
4
122
340
434
909
642
276
312
525
519
867
639
21
126
63
88
762
631
391
343
131
259
995
519
227
551
651
232
206
214
645
820
183
947
91
598
56
852
578
297
144
618
70
71
205
727
601
503
293
341
636
85
912
348
945
546
71
306
420
205
221
663
592
276
474
675
501
665
195
910
190
333
821
88
314
751
719
278
287
316
9
148
933
860
525
49
816
528
526
199
322
384
327
143
59
74
752
937
368
753
220
251
529
265
295
664
795
269
726
971
492
590
408
230
279
586
133
629
78
735
738
965
357
953
36
711
186
390
928
154
947
576
203
83
650
821
856
853
579
722
180
415
362
471
511
99
654
425
262
498
313
48
790
810
323
903
743
372
766
861
728
936
809
51
571
442
7
381
935
648
265
633
817
10
383
265
253
628
491
15
597
897
594
345
915
757
95
579
336
75
436
293
709
740
931
158
531
503
452
983
929
496
892
119
396
569
203
765
129
333
401
951
38
827
118
143
948
231
168
476
65
963
120
606
528
770
50
41
752
142
493
593
289
513
103
311
184
185
696
820
91
896
147
516
2
238
82
480
40
906
437
277
651
866
722
38
469
131
262
367
284
742
799
609
854
952
556
21
699
363
281
165
693
946
866
663
969
463
815
59
610
791
237
153
656
51
66
592
204
235
864
932
743
254
955
631
428
915
585
663
698
382
489
499
487
88
545
246
294
899
157
630
557
574
628
304
92
218
94
738
825
451
463
519
731
508
465
471
620
321
109
422
417
924
778
800
666
181
743
503
248
945
89
629
720
209
931
753
288
745
301
362
103
7
314
2
516
768
7
413
921
122
796
669
56
940
605
912
964
865
564
784
326
188
616
71
579
760
513
390
5
191
433
968
18
149
926
705
959
549
942
732
42
767
475
638
527
780
741
363
796
340
883
536
799
832
892
679
218
494
826
267
798
37
426
127
522
540
908
5
689
670
63
450
495
922
792
335
433
557
837
441
658
394
818
534
513
389
600
278
535
215
691
141
632
685
602
177
565
913
67
193
531
566
604
353
424
430
125
715
315
774
243
521
771
684
453
358
940
608
588
430
693
860
835
268
745
707
106
174
363
978
759
575
182
848
493
253
691
532
746
97
138
194
76
640
977
259
814
132
484
663
742
325
835
339
676
448
763
338
605
91
918
572
485
835
140
111
858
500
208
329
229
834
30
965
535
321
882
344
90
499
31
587
120
913
37
625
359
316
65
229
224
271
792
63
740
636
878
997
781
742
519
501
114
232
274
987
471
648
254
364
108
856
746
955
329
296
521
96
47
890
395
437
743
121
121
3
115
476
271
499
303
944
635
271
815
717
542
537
203
594
669
225
56
832
134
821
157
366
107
122
448
362
729
679
37
70
893
33
640
801
274
526
679
646
115
620
786
259
391
145
585
592
406
842
459
26
334
901
454
690
926
912
609
144
387
824
770
765
462
36
387
354
849
711
885
477
400
755
926
34
996
706
326
364
588
916
399
979
673
8
259
648
375
600
950
158
398
641
335
521
325
539
318
787
140
467
368
917
397
823
245
348
144
864
553
994
587
961
991
415
469
735
179
823
327
589
549
386
115
798
48
21
136
365
382
513
901
303
55
310
308
877
772
807
470
623
632
253
660
588
104
715
82
393
24
638
589
138
676
660
79
109
593
269
979
542
864
815
174
376
607
129
720
96
720
729
948
228
234
176
850
28
341
653
215
193
683
242
607
206
587
705
131
29
707
787
893
449
986
204
211
309
922
484
931
242
891
820
630
282
652
886
130
911
253
377
467
680
254
649
428
542
551
436
781
401
131
68
634
224
751
20
658
243
894
890
536
385
345
90
635
120
370
669
797
296
822
636
135
420
424
125
904
26
141
500
818
455
796
272
702
418
47
295
975
151
413
275
262
864
303
23
388
428
879
299
120
949
178
268
264
934
101
827
155
260
770
72
174
56
269
182
610
894
992
855
118
396
624
244
46
501
314
994
109
121
743
616
237
872
577
928
948
879
293
690
273
406
475
896
44
198
444
398
403
985
535
677
460
542
427
597
374
73
665
939
556
460
921
346
293
78
621
67
887
489
234
563
280
281
956
580
243
751
483
794
430
894
300
497
973
411
239
81
859
24
39
275
6
425
330
180
845
622
734
169
183
253
770
600
338
697
860
141
823
461
11
210
363
347
692
666
655
394
991
414
76
428
430
68
504
339
663
101
500
881
886
229
394
854
985
894
208
48
317
798
941
196
559
411
471
502
238
255
200
13
389
540
646
211
303
452
345
739
458
953
816
78
565
485
837
353
82
369
953
156
728
18
968
441
252
281
135
94
193
414
934
724
417
143
568
613
2
297
817
496
415
271
443
63
1000
398
136
621
513
915
902
357
799
805
854
48
755
273
625
844
381
975
983
985
89
415
800
904
418
130
188
190
963
355
521
341
639
887
30
26
358
773
854
848
830
250
746
231
465
116
112
111
301
313
707
560
459
61
96
351
893
303
947
733
76
595
326
352
866
808
417
368
956
179
537
271
247
320
849
815
952
755
950
796
469
448
372
78
872
567
86
434
384
411
294
235
344
47
164
993
981
685
664
60
785
248
317
557
392
906
539
731
653
561
184
492
23
403
79
846
469
709
611
308
876
962
875
135
286
256
517
406
418
692
150
566
589
110
155
18
556
114
732
763
813
774
330
891
564
813
941
907
945
322
305
526
40
295
777
564
921
334
438
998
226
887
76
87
764
302
815
685
269
808
495
547
677
209
393
437
264
777
506
351
551
303
426
998
146
752
763
974
583
284
199
724
783
688
511
489
981
403
322
904
832
409
910
819
936
200
133
228
206
967
440
870
349
883
944
210
224
91
763
5
990
574
182
612
778
610
696
496
69
922
672
168
105
935
188
906
415
806
592
168
989
984
449
574
720
134
868
690
474
162
612
613
560
964
29
544
430
244
596
115
147
435
785
217
544
294
37
481
16
256
860
373
571
967
456
44
113
735
835
723
927
820
42
435
979
580
35
285
963
487
702
332
999
974
721
372
485
831
272
554
914
655
98
825
372
443
32
649
56
981
937
315
361
98
918
417
19
240
795
757
331
27
81
36
709
666
128
131
683
121
681
723
995
928
808
271
623
441
67
97
409
50
810
415
453
624
729
681
606
29
97
573
189
69
679
209
538
618
960
7
95
12
139
668
551
26
352
381
960
843
700
253
865
512
963
372
198
288
328
654
133
123
69
809
117
324
873
361
52
54
427
618
919
920
973
901
222
370
725
147
276
992
497
191
710
94
361
659
569
168
918
431
33
868
577
38
97
234
271
211
508
705
209
29
876
371
574
760
188
559
572
542
821
549
872
510
827
693
260
833
422
689
296
405
593
99
867
606
233
455
768
626
476
449
909
346
753
798
264
659
609
312
463
418
547
601
773
891
948
635
289
755
667
50
339
136
24
722
460
160
724
592
842
801
728
192
764
549
181
583
411
584
324
673
410
660
708
14
599
902
160
193
784
51
670
891
741
471
774
532
301
427
92
174
110
697
358
12
604
592
679
352
787
837
786
462
639
592
710
41
384
68
664
345
369
834
919
209
11
919
101
295
153
240
653
893
128
725
169
542
56
737
932
516
190
40
259
971
609
630
209
179
220
170
773
790
789
665
934
529
701
273
884
69
240
821
238
78
442
679
302
612
6
147
335
69
304
374
258
917
286
182
458
274
934
810
172
209
997
770
430
325
905
481
698
782
148
305
172
432
895
922
111
132
304
728
773
630
814
83
243
643
659
805
908
882
18
221
421
780
482
507
723
683
991
766
125
53
964
521
495
11
169
820
301
235
725
219
662
736
771
217
560
567
514
606
55
866
799
324
711
934
856
80
398
229
594
5
323
271
676
18
433
456
596
427
298
661
175
531
232
389
205
630
635
880
453
898
538
265
875
38
865
379
682
507
214
288
856
342
846
921
818
346
126
473
206
419
889
394
148
342
62
847
989
227
416
501
164
98
492
387
784
843
599
350
563
834
268
311
912
66
707
155
364
582
601
569
28
278
95
553
437
934
871
668
957
462
62
273
944
887
139
178
933
583
23
132
471
601
409
538
632
733
699
618
873
110
992
25
643
729
302
528
89
285
549
6
262
83
892
415
464
609
646
820
777
533
396
818
332
560
892
922
610
535
963
529
888
647
18
138
985
421
643
368
617
409
447
153
997
133
571
222
798
926
214
589
243
703
132
321
857
638
295
294
401
923
801
997
577
524
704
694
393
867
627
416
452
949
911
334
53
192
556
15
686
719
434
965
410
401
53
638
628
152
678
784
12
483
746
604
634
213
355
702
915
622
19
202
657
18
67
752
238
878
786
342
58
246
883
985
429
39
899
365
426
281
995
489
643
52
882
228
417
107
781
380
856
721
967
576
881
285
860
879
639
592
629
428
802
540
971
850
710
197
75
454
821
773
753
394
671
93
405
113
352
544
769
377
581
365
387
99
570
322
340
2
237
516
67
871
790
66
43
783
338
929
663
233
999
920
927
537
897
319
447
203
571
90
807
264
568
851
590
677
422
191
196
17
771
859
147
602
141
622
725
132
758
324
671
661
847
765
118
431
27
560
139
711
811
65
59
259
710
763
159
454
97
286
542
472
851
356
664
73
747
494
524
732
698
316
544
846
287
574
963
733
416
893
930
947
563
322
586
212
864
400
87
943
174
423
956
861
326
14
113
718
42
860
674
506
346
743
914
807
859
550
800
162
59
4
156
389
459
275
823
835
655
465
149
420
361
183
763
170
893
107
873
647
22
439
240
324
778
656
607
486
551
799
577
668
823
817
852
16
925
177
299
183
528
997
533
558
950
500
575
668
965
429
656
595
516
401
460
110
631
880
896
8
887
544
14
850
946
367
827
874
74
649
614
387
48
559
726
315
527
504
70
952
786
782
194
130
705
513
351
197
37
820
11
199
255
593
11
626
767
916
974
910
849
459
660
634
454
667
637
74
930
610
39
243
790
733
185
94
896
549
550
933
792
528
886
345
494
54
315
155
721
330
844
39
424
549
96
398
458
481
979
28
455
861
660
925
223
604
484
308
540
938
417
541
788
4
172
206
723
303
425
999
578
699
457
476
844
312
72
925
300
735
901
818
317
517
44
346
1000
720
546
524
500
672
386
220
687
761
484
277
428
194
757
549
929
211
375
308
923
124
201
959
47
921
865
422
356
896
15
855
822
910
118
619
578
455
556
506
849
632
913
303
795
531
55
687
927
270
15
318
392
119
784
729
145
729
777
294
996
466
151
101
544
250
181
52
280
109
547
878
509
832
777
42
286
782
48
712
278
874
220
62
287
221
284
175
223
726
367
747
452
184
64
573
782
63
142
559
839
226
595
609
201
266
626
274
484
42
368
505
479
232
74
195
605
418
47
435
144
294
820
595
189
89
942
397
783
163
279
107
483
73
902
882
441
87
498
68
163
253
706
948
304
639
970
46
189
292
279
571
304
812
654
40
629
142
332
379
537
354
429
90
961
743
234
137
645
509
424
292
632
668
223
594
549
594
926
439
881
798
269
556
187
92
849
806
109
316
176
299
142
178
936
785
307
561
768
684
314
864
180
376
311
563
215
584
17
179
158
774
915
294
859
499
165
63
232
534
93
936
101
454
417
909
838
45
864
735
195
555
456
914
297
326
567
212
20
820
761
675
888
350
561
814
172
134
551
709
101
411
621
273
948
452
768
804
311
257
554
259
64
615
263
406
312
987
796
94
183
380
568
437
421
938
23
602
585
543
900
246
107
64
29
383
565
258
300
596
365
535
399
70
383
913
41
887
274
553
757
362
863
187
703
15
454
610
584
887
951
147
561
563
384
696
894
196
840
487
185
244
781
175
291
448
469
294
383
760
498
330
154
561
496
932
895
525
652
810
998
912
72
927
478
907
932
474
254
861
986
945
271
930
307
354
11
669
42
251
596
596
572
754
469
590
710
239
580
275
456
685
142
213
425
915
243
812
240
163
58
333
82
428
951
303
98
79
502
909
578
34
383
691
610
646
46
920
477
85
387
632
158
653
905
148
135
919
396
288
172
20
877
215
851
762
275
980
411
387
388
401
906
6
761
876
757
729
423
59
535
468
878
149
216
233
340
672
197
507
980
255
95
927
862
850
706
99
315
290
545
799
747
833
58
249
246
581
945
393
915
271
39
330
537
932
819
122
52
368
953
238
340
225
257
782
951
661
27
460
778
276
35
16
125
2
363
419
275
137
897
702
449
535
481
720
11
267
706
512
850
726
810
145
173
241
418
131
329
741
704
529
873
933
92
869
816
721
804
857
883
342
383
659
643
768
844
217
597
488
236
674
638
670
221
464
835
57
734
63
132
694
918
698
420
714
300
523
375
970
607
939
634
266
722
720
144
285
17
600
983
102
702
780
566
336
902
615
890
577
879
344
412
729
182
358
221
273
553
925
389
298
97
689
791
316
542
558
206
521
457
761
237
160
898
976
418
100
309
437
909
535
431
803
336
995
621
449
670
464
251
503
504
479
792
631
748
539
778
71
527
991
95
880
45
878
940
710
264
858
362
667
527
433
501
974
652
177
516
245
617
583
742
117
687
413
757
897
705
186
934
647
330
508
503
842
200
510
329
306
351
554
417
670
742
723
609
979
391
334
83
407
485
873
11
262
754
282
195
582
596
522
583
679
697
650
303
905
346
471
273
789
254
957
489
425
465
245
819
670
831
992
513
272
633
264
627
513
133
949
302
353
261
881
122
323
151
475
827
620
959
708
251
961
263
690
728
751
326
908
116
14
700
481
257
396
968
374
935
230
892
616
363
306
881
980
782
517
488
485
27
998
594
322
830
727
38
508
143
793
722
627
37
731
633
530
561
351
812
756
493
505
5
725
103
66
646
478
875
236
864
845
642
934
371
440
735
667
499
829
571
751
121
506
549
182
888
106
255
769
18
393
770
364
872
112
281
153
689
784
307
12
124
847
602
869
712
339
165
865
969
508
908
862
613
273
182
509
295
505
788
633
327
445
88
216
93
408
541
579
258
117
327
691
387
625
694
713
335
814
361
980
579
867
573
631
711
966
406
18
469
693
512
823
991
251
810
554
486
698
515
711
144
816
532
449
879
125
470
15
491
804
421
576
902
974
242
313
405
865
261
820
267
895
221
910
631
568
788
906
358
416
163
378
359
898
128
56
13
313
412
380
450
263
372
695
859
173
814
646
460
679
242
718
495
439
934
199
356
76
52
33
26
506
380
219
63
873
427
382
728
650
338
137
248
280
482
680
855
858
639
827
973
979
419
345
866
845
936
23
122
118
751
379
585
822
838
300
737
794
607
169
66
801
68
259
667
455
833
253
182
504
988
752
169
883
828
551
211
166
58
289
350
703
350
776
933
780
89
965
614
577
716
34
8
603
332
533
483
517
131
840
660
947
779
489
456
991
93
41
934
577
220
269
790
751
69
388
39
265
911
940
355
554
923
742
558
283
932
979
949
198
782
145
537
906
553
14
729
568
307
261
720
221
210
646
634
588
576
915
462
781
911
697
973
282
31
708
73
920
153
516
537
357
204
975
627
771
690
193
915
982
167
542
494
295
725
807
881
695
930
41
124
855
366
53
12
608
224
770
848
162
426
884
925
348
394
319
714
622
893
11
782
385
348
478
629
390
656
387
951
705
773
138
330
691
330
31
975
974
75
192
949
196
236
813
241
643
749
666
192
513
901
55
986
648
135
571
404
89
623
63
549
650
772
209
37
75
975
964
999
979
802
934
294
956
286
439
548
709
129
588
962
997
471
242
375
549
303
117
712
798
764
599
779
459
311
98
377
524
196
852
780
185
769
162
990
597
904
975
582
123
180
558
578
908
598
808
541
203
247
342
16
845
766
138
512
703
437
931
426
693
456
971
753
181
248
11
911
204
710
630
748
948
895
33
643
386
987
532
617
749
363
792
563
816
156
747
993
592
46
822
223
27
886
724
518
892
416
596
536
761
523
780
352
355
435
772
452
156
782
221
338
284
675
969
833
149
837
212
711
225
331
821
43
665
633
755
515
134
613
277
27
369
523
380
94
495
198
414
889
58
534
439
333
50
717
219
254
972
868
80
513
84
472
113
919
592
459
296
953
430
850
172
568
707
662
642
807
619
132
304
576
823
426
493
683
864
663
870
159
195
510
954
965
784
579
472
406
42
588
784
985
63
559
916
941
751
326
947
444
451
306
569
261
105
750
660
721
804
705
620
992
851
502
36
969
67
882
958
609
156
809
707
137
392
600
678
366
740
246
18
322
814
724
440
469
753
627
670
84
148
686
174
765
688
606
923
626
49
178
867
449
878
820
720
981
408
517
422
577
389
659
335
606
496
397
829
399
346
982
437
13
552
976
133
771
6
386
649
350
722
520
933
184
113
828
993
66
542
41
419
162
357
716
809
51
375
656
155
62
968
768
42
907
489
606
128
536
752
248
980
236
695
160
779
181
130
399
823
92
729
846
11
141
965
149
697
991
792
721
417
685
236
437
963
123
932
643
215
33
860
727
956
667
195
741
613
936
216
555
491
337
714
552
622
800
156
179
773
577
170
521
523
351
579
668
557
31
288
826
504
134
840
19
689
184
311
742
183
344
575
124
363
334
614
984
22
776
717
675
745
270
891
755
859
896
767
337
791
311
585
440
52
322
618
770
402
601
495
165
974
220
486
336
251
801
725
672
841
388
739
570
926
575
412
217
121
55
689
744
223
508
904
449
1000
648
632
114
726
363
305
484
659
67
704
677
18
812
583
609
328
222
338
518
152
33
643
357
386
859
380
81
236
833
64
878
961
940
167
954
246
167
406
832
800
102
116
981
436
226
274
255
367
960
618
807
952
462
563
102
438
276
301
164
515
215
558
435
656
258
950
503
287
823
813
447
798
521
639
784
288
367
994
792
738
469
888
519
963
442
98
924
344
110
868
397
782
602
735
401
801
605
987
66
969
367
390
362
92
24
380
918
731
946
857
628
630
127
126
944
606
58
240
153
278
148
227
4
779
514
238
753
249
883
657
81
490
430
600
348
611
580
32
364
896
240
953
155
405
412
696
238
998
887
418
550
599
550
284
497
493
842
686
545
374
104
53
399
679
846
495
108
472
454
535
350
750
521
664
749
608
733
316
333
123
240
122
118
171
500
986
404
644
904
610
541
708
845
570
827
784
521
972
717
932
472
974
694
197
726
216
29
233
512
269
104
256
646
776
178
943
98
846
239
413
744
635
90
834
955
747
909
518
547
260
314
588
544
734
411
440
393
493
358
233
518
874
774
623
598
856
676
773
508
720
726
424
683
919
260
517
518
360
962
354
563
677
50
827
437
902
556
583
829
97
604
283
449
198
579
328
536
268
760
500
352
842
276
976
123
834
218
96
56
758
368
67
371
621
271
525
789
923
325
490
543
653
138
795
767
22
677
517
93
965
591
276
354
94
706
524
598
900
854
120
990
461
102
529
803
818
970
999
387
503
401
890
919
374
93
177
778
61
308
798
575
819
412
133
241
540
217
411
75
974
669
236
347
993
524
753
831
820
473
206
679
758
557
735
144
868
868
351
968
424
212
912
711
749
868
815
880
202
616
849
506
680
900
328
717
978
414
187
933
751
382
193
555
623
501
804
387
197
883
509
586
335
279
650
634
86
570
849
683
90
785
149
631
96
899
902
463
480
256
257
707
306
771
799
357
501
975
563
221
188
583
131
472
94
472
22
122
199
913
873
245
479
414
206
28
686
769
727
177
591
777
161
737
997
625
605
158
170
106
267
305
991
693
245
148
297
977
677
93
366
145
208
243
435
967
227
416
490
236
719
391
276
730
915
704
649
534
129
277
933
2
321
306
890
725
942
144
299
624
569
334
896
684
685
581
600
908
715
206
553
783
83
531
460
932
645
755
148
634
285
50
24
601
883
78
363
730
135
585
933
541
882
501
502
683
724
787
213
174
698
302
611
31
696
129
373
552
131
110
438
802
75
856
259
773
722
91
390
304
576
23
470
68
192
349
921
851
650
652
393
903
212
157
26
367
748
276
136
644
602
934
769
94
546
379
940
662
325
104
13
845
116
518
843
920
890
229
790
517
277
137
664
399
34
68
974
823
629
336
605
933
779
446
192
442
985
135
10
293
251
91
145
53
217
976
104
594
851
822
762
950
730
506
738
365
658
734
873
208
66
901
461
853
169
287
310
595
371
241
456
412
741
425
632
690
718
725
148
32
352
128
885
926
518
732
539
369
534
53
71
488
511
997
552
834
610
131
267
308
76
433
958
592
571
294
561
583
845
355
673
533
238
712
218
542
863
134
482
573
543
178
782
412
780
545
480
835
63
549
7
789
814
340
798
576
161
389
816
876
473
797
398
915
348
185
707
289
271
278
3
704
730
814
268
398
938
69
448
132
658
129
759
390
844
3
11
881
929
821
897
539
643
656
529
921
177
947
305
366
363
123
337
277
290
776
276
657
438
653
344
355
987
833
792
548
414
643
788
642
900
303
968
122
319
795
473
887
799
177
345
246
945
412
544
73
793
783
719
578
512
147
87
771
647
614
410
978
468
688
130
711
562
578
175
759
405
168
809
648
34
70
164
497
333
320
790
855
669
516
614
353
801
630
216
823
38
284
198
117
592
35
749
9
969
92
203
421
6
905
495
702
870
329
970
847
935
349
875
350
938
919
266
861
250
114
730
917
399
620
520
814
217
579
227
123
104
920
84
427
940
639
344
620
125
903
967
502
66
477
10
466
194
747
701
796
243
502
180
455
111
738
265
274
67
976
412
153
479
949
259
191
504
97
731
706
375
974
731
714
33
547
846
769
833
371
350
46
991
798
10
121
235
700
846
250
859
669
77
811
994
298
886
232
481
924
565
911
116
199
824
596
453
918
753
208
536
830
989
324
167
565
145
422
309
380
446
484
254
157
821
774
45
999
401
428
408
776
500
991
187
200
672
195
831
356
347
84
2
129
915
50
799
632
836
468
388
580
514
401
60
512
221
276
877
922
324
522
86
645
406
921
437
301
685
801
388
187
268
277
926
796
388
476
403
50
749
13
343
394
514
53
677
157
240
960
196
951
324
872
344
446
79
555
642
517
630
521
130
681
212
719
235
680
312
70
372
305
306
737
402
820
920
307
799
877
873
978
17
414
525
461
51
847
213
535
680
796
252
95
178
709
205
118
563
6
171
144
616
772
273
787
944
626
467
291
368
98
59
338
779
755
65
152
377
357
610
455
944
505
146
962
341
632
132
931
991
670
211
735
448
423
606
557
544
464
641
84
769
402
827
501
696
466
909
188
311
654
651
272
13
172
880
578
945
446
518
587
19
801
879
733
718
789
538
729
267
235
436
660
282
303
702
232
367
258
905
951
416
170
7
965
573
474
369
983
900
184
553
962
805
554
502
263
209
162
922
560
210
701
340
82
783
259
361
700
628
494
96
966
849
925
608
449
582
476
490
620
34
551
374
102
644
164
228
315
266
59
818
412
297
353
590
938
695
950
531
821
663
860
278
157
619
607
858
733
693
120
963
400
663
832
590
195
697
253
205
620
690
925
341
544
326
520
668
41
183
798
147
863
358
297
810
348
101
909
101
334
918
966
467
21
420
26
60
801
976
373
17
786
872
95
743
145
256
739
44
368
614
733
753
291
908
172
674
22
801
110
337
935
553
180
14
536
324
249
926
315
573
815
372
673
184
999
761
622
760
365
178
251
245
215
154
867
674
711
785
324
364
906
186
300
342
772
571
168
113
377
885
701
143
657
31
24
612
623
205
135
9
436
763
821
185
509
325
997
287
671
548
318
840
497
106
432
899
89
934
379
812
940
724
458
636
67
997
346
648
212
797
383
725
791
224
701
585
200
556
331
9
267
673
486
198
917
860
985
374
550
845
188
564
271
92
850
275
854
948
41
426
235
266
641
469
428
467
947
95
965
864
613
334
354
227
490
84
619
225
927
376
638
370
738
702
899
532
374
791
271
922
781
110
586
685
46
187
124
872
241
564
596
638
775
849
846
950
175
838
305
968
447
138
138
517
109
74
193
758
488
902
66
249
143
531
48
64
131
5
295
543
333
984
266
548
292
339
400
812
819
755
13
54
121
938
627
109
395
620
264
185
580
49
783
741
488
75
997
190
617
270
114
803
736
697
56
699
776
141
336
822
644
597
447
114
320
768
213
908
12
197
101
706
197
369
316
119
86
822
361
719
440
848
870
945
662
843
718
29
825
755
819
88
569
356
562
161
870
251
523
983
269
650
976
719
514
935
708
707
505
931
829
513
45
664
589
222
223
58
700
966
123
697
286
129
214
270
395
559
969
812
945
338
187
146
83
407
63
234
205
357
230
281
308
237
920
497
894
104
865
429
417
330
788
605
117
430
154
81
150
231
339
98
116
778
564
739
435
268
698
897
556
640
553
355
631
195
380
28
118
764
67
687
768
490
973
599
567
256
425
548
530
133
648
644
660
34
294
203
12
890
829
682
566
279
697
382
516
421
605
125
674
833
279
664
910
762
709
885
941
708
283
214
318
967
160
793
177
137
933
103
152
980
888
707
897
832
195
720
772
24
926
399
662
395
117
992
278
63
10
610
23
35
199
414
216
143
656
865
485
35
515
121
203
644
54
926
120
628
525
497
761
772
360
985
738
234
804
49
853
820
217
972
748
193
126
541
920
1000
588
578
109
469
626
635
412
914
231
869
19
952
987
500
101
942
399
598
229
328
863
162
685
116
600
574
132
654
991
557
460
271
494
711
16
95
711
535
73
527
266
615
138
478
830
306
626
400
41
817
494
602
58
60
662
98
202
32
449
465
463
756
779
796
658
33
610
854
653
310
923
954
425
28
586
955
638
678
597
952
83
636
538
920
590
569
531
627
943
828
658
559
948
777
567
490
19
461
967
596
580
363
789
674
119
239
89
140
954
197
155
926
650
253
880
334
534
566
171
187
967
423
76
316
848
864
345
559
338
485
325
950
939
593
478
709
873
374
289
985
166
152
33
21
988
119
666
583
538
175
108
32
238
606
309
368
64
386
795
964
601
838
827
448
811
215
931
398
552
539
301
69
629
677
510
391
493
226
29
836
757
224
291
591
390
105
429
662
754
590
348
138
689
410
504
897
477
841
609
425
836
48
508
285
53
139
624
991
3
656
709
690
55
938
109
124
829
442
396
768
336
621
13
954
281
422
519
1000
240
800
146
100
942
908
618
771
128
776
626
162
332
372
915
423
438
894
663
623
77
41
739
442
742
783
459
936
21
841
656
227
488
715
242
885
597
548
964
99
403
584
691
480
54
264
439
480
754
219
287
965
372
583
483
429
923
48
354
729
926
53
55
942
12
330
806
175
262
801
54
707
422
455
871
838
545
440
20
233
632
41
316
317
517
611
322
530
607
824
942
813
47
776
207
768
574
582
356
322
608
137
376
582
97
565
310
793
263
775
959
965
672
188
111
789
981
389
49
906
299
965
878
469
383
235
190
215
727
929
660
918
237
140
449
200
340
11
697
154
285
698
982
128
894
140
324
336
241
8
233
639
541
34
312
994
39
579
158
549
877
922
637
320
655
247
121
705
947
699
975
824
96
242
356
835
422
229
423
912
390
743
143
545
411
814
220
170
640
547
82
914
606
36
495
430
499
721
127
346
721
482
300
891
626
336
254
605
434
88
459
873
977
656
927
228
284
75
990
975
989
392
738
708
234
736
135
722
7
889
885
160
857
548
250
967
531
346
365
366
350
350
90
632
111
456
37
393
833
582
252
553
980
46
946
198
642
813
789
522
745
618
552
910
571
57
277
781
732
875
763
697
277
603
850
560
806
604
910
405
285
361
963
429
759
539
61
399
333
951
921
536
577
53
322
267
978
28
425
18
202
801
18
326
696
585
667
140
584
672
887
99
926
210
738
971
134
673
710
192
757
554
369
627
893
593
983
244
222
479
278
411
2
573
561
881
413
636
638
374
319
944
399
839
856
462
435
111
240
932
783
697
870
825
742
843
77
122
711
882
859
811
176
82
566
759
301
881
744
400
47
428
339
277
386
826
992
999
987
309
444
661
672
896
960
85
66
700
236
497
130
184
485
451
666
132
235
832
486
987
960
774
634
545
773
207
977
661
327
511
486
768
511
478
759
504
705
355
679
702
172
272
609
301
612
735
217
482
51
220
817
498
981
106
120
189
149
304
419
152
430
15
515
899
13
943
158
90
500
176
374
128
603
683
814
962
807
46
172
964
782
600
815
100
315
648
973
458
245
778
250
375
204
611
730
41
990
482
699
455
18
685
800
54
640
880
511
165
61
206
959
662
217
437
433
859
254
255
431
728
186
338
726
981
892
498
696
421
863
551
173
243
28
943
102
635
510
406
618
108
429
109
550
503
700
783
921
472
313
337
772
564
793
295
500
758
326
237
968
374
594
59
820
826
465
507
819
631
526
931
504
372
902
610
165
96
912
319
942
759
926
55
834
867
181
923
549
443
441
264
422
807
95
31
65
415
745
257
32
189
318
233
546
360
541
664
236
826
914
649
933
419
384
777
785
282
609
60
347
774
19
650
844
918
894
535
510
440
334
472
754
864
298
426
925
977
857
714
607
192
426
842
720
18
30
773
146
850
577
970
296
807
705
116
757
155
41
844
173
166
565
152
579
907
391
448
680
568
438
325
2
399
369
231
384
239
704
167
59
909
175
444
400
472
254
296
506
440
271
859
977
570
704
595
577
784
5
784
13
100
832
76
722
199
648
452
376
382
429
139
809
252
684
160
193
384
37
247
592
628
419
774
489
461
269
225
440
962
252
457
835
601
676
695
613
981
188
740
877
107
359
373
593
524
421
291
915
900
801
215
256
228
74
1000
910
850
598
660
877
932
430
251
572
836
73
448
266
113
223
472
416
435
969
757
542
883
839
354
941
432
667
646
308
364
496
332
313
577
662
47
258
490
737
198
215
253
229
777
483
532
828
964
734
990
496
334
991
895
878
327
453
6
389
449
212
995
773
365
134
178
139
627
511
265
251
306
622
156
323
185
976
585
709
509
894
502
635
505
999
694
561
997
373
67
859
508
422
379
236
167
908
11
727
569
270
495
151
543
69
150
645
378
333
120
236
679
654
548
479
474
119
383
841
568
535
545
859
446
960
789
117
195
263
624
710
39
266
60
193
67
55
816
973
649
220
825
731
860
71
555
712
949
422
687
705
522
112
162
70
636
252
479
463
466
156
381
782
528
973
756
429
708
350
654
203
518
843
823
4
54
372
42
50
99
763
854
517
720
295
989
322
465
211
898
293
976
362
333
107
427
507
824
186
697
297
262
228
618
656
509
139
917
67
121
935
743
304
815
620
761
221
260
103
847
569
160
14
367
216
338
640
851
770
731
287
654
367
773
69
834
314
641
528
57
312
241
479
811
283
579
185
590
143
428
313
986
460
755
77
847
600
437
695
716
842
196
522
811
958
538
254
689
888
685
162
575
524
186
651
38
37
893
308
350
866
476
266
385
254
518
894
360
181
470
760
64
633
469
380
500
446
63
449
985
319
400
163
862
246
325
724
913
271
142
356
492
416
479
950
114
640
844
994
2
904
955
567
635
774
858
11
881
490
191
338
687
125
681
570
638
258
104
968
886
576
503
573
132
970
407
527
319
955
154
436
694
729
205
406
697
760
509
459
924
580
538
751
63
362
654
378
252
946
797
589
811
206
349
922
653
34
192
91
986
776
609
472
98
621
704
697
117
355
435
133
642
844
178
46
70
831
9
821
223
914
500
921
651
90
901
186
566
868
34
669
953
742
80
455
787
787
725
803
690
226
791
529
572
93
575
738
993
535
599
913
33
846
383
874
424
110
132
317
616
162
958
484
174
647
358
2
663
169
204
100
710
847
407
203
503
129
770
376
334
387
272
227
171
625
180
620
409
619
921
35
134
964
630
449
232
764
626
403
627
180
864
293
800
640
562
998
462
290
817
681
946
171
972
937
429
693
943
538
589
208
455
673
651
858
411
931
99
437
170
288
499
696
583
984
983
375
14
518
945
261
462
917
423
745
71
102
446
668
34
409
359
733
884
282
746
388
669
751
150
906
347
529
184
293
19
490
9
809
280
844
394
116
84
524
738
503
964
202
500
207
375
852
469
578
221
974
159
737
338
440
427
395
801
409
91
736
482
910
930
586
160
519
934
627
876
1
130
83
910
925
550
120
944
23
228
184
501
523
144
651
727
745
151
443
927
30
808
722
54
440
924
383
521
762
352
811
279
32
242
321
121
201
538
735
521
554
955
812
178
213
78
621
582
382
484
488
589
974
13
865
965
946
375
302
320
946
326
735
669
866
508
463
103
491
922
512
688
744
677
568
783
939
314
303
393
42
542
699
86
214
646
936
210
773
192
519
886
323
912
567
290
950
793
624
250
321
480
908
74
7
78
671
824
552
290
200
954
647
658
59
364
275
330
355
425
823
386
178
448
994
270
877
438
806
275
489
680
70
348
489
852
557
705
975
944
458
885
587
173
852
895
701
488
648
38
927
7
861
898
535
909
135
649
187
899
161
591
281
330
3
314
297
486
357
411
739
317
471
26
686
131
801
806
484
351
448
12
834
486
93
670
358
881
468
617
777
629
329
218
959
294
563
365
463
728
306
59
649
310
906
543
96
395
135
452
836
644
324
931
871
150
975
976
566
959
990
543
734
690
840
113
684
415
898
480
70
869
685
475
84
378
931
275
469
571
242
660
827
74
624
333
940
913
285
990
132
249
942
327
254
438
317
602
523
126
658
670
271
228
850
640
643
223
166
430
432
118
765
537
509
824
805
281
784
440
440
616
221
149
31
384
194
952
611
514
407
540
21
280
648
906
168
149
911
196
528
186
773
410
355
233
496
271
91
282
980
518
60
563
591
375
911
872
876
724
176
574
341
792
986
525
832
783
220
906
478
949
333
555
858
39
679
956
796
954
389
459
175
677
792
667
237
241
899
179
132
587
703
35
860
628
906
287
361
759
231
74
216
339
646
479
315
378
671
228
899
789
446
966
580
64
368
470
285
187
953
647
614
908
997
571
737
249
277
161
800
257
774
279
793
582
874
198
956
393
40
407
103
532
262
660
704
564
933
44
139
555
894
559
342
16
108
410
944
397
769
746
103
967
705
58
448
655
619
848
957
698
21
440
103
500
752
19
348
173
603
65
876
621
880
370
504
887
711
726
857
702
517
188
225
846
357
556
9
952
776
319
284
867
386
884
821
529
655
309
840
618
290
137
892
872
131
185
511
83
735
272
713
266
656
980
991
361
985
483
163
184
882
366
367
994
692
165
488
200
697
6
528
233
762
373
798
531
898
494
296
933
244
273
323
509
105
1000
204
990
452
308
978
534
713
960
32
501
792
87
981
295
999
462
515
75
968
213
562
340
694
153
869
968
566
559
24
259
605
804
18
966
181
714
675
58
133
898
671
199
585
604
402
521
745
829
653
302
599
505
910
588
760
612
116
604
673
955
892
89
6
178
542
275
339
293
645
345
193
655
677
597
24
824
913
468
84
222
780
793
909
826
968
385
795
401
850
83
813
919
196
913
800
922
713
906
283
502
721
412
481
498
112
461
369
275
819
832
298
139
208
17
782
60
156
195
925
858
118
649
387
428
109
825
911
901
405
343
252
857
700
863
718
835
641
625
695
418
901
876
211
134
464
161
47
221
339
611
930
115
746
989
78
119
666
187
728
337
794
315
308
390
112
288
610
824
704
47
642
410
998
150
849
732
278
497
48
531
218
386
713
323
145
913
236
671
968
974
392
352
977
793
532
344
239
922
943
231
946
126
423
116
840
450
353
600
826
6
462
742
975
711
31
138
362
293
502
450
646
362
333
760
827
238
462
123
389
542
934
536
891
252
80
370
132
42
138
964
213
251
363
713
172
739
461
452
381
245
693
388
563
571
56
118
117
94
788
498
415
624
827
288
871
623
984
492
888
123
308
282
217
497
541
235
895
370
629
371
675
562
927
131
777
953
176
12
878
541
294
49
482
748
747
710
201
301
598
46
12
536
310
155
276
86
72
107
148
275
680
454
9
402
7
417
747
337
705
605
16
486
49
874
96
247
793
562
608
524
473
855
130
740
855
507
730
54
132
459
501
175
4
184
489
222
49
719
789
613
588
431
174
815
853
531
365
111
389
240
903
262
507
266
677
22
70
993
305
10
63
329
983
369
210
710
867
959
362
133
788
582
490
437
850
887
923
243
524
144
882
135
916
30
453
657
227
964
915
675
860
251
697
487
229
516
347
819
91
470
577
514
152
38
829
280
757
284
843
347
709
363
392
242
664
946
668
204
76
161
840
940
368
139
916
514
876
657
379
176
105
212
30
861
25
115
67
868
441
803
752
995
969
656
910
13
783
41
121
894
76
183
700
667
160
723
474
119
207
497
910
798
906
178
387
962
739
875
241
154
141
710
784
103
545
679
645
467
203
817
647
783
718
794
914
644
415
607
62
723
49
936
156
792
840
84
529
274
526
149
754
183
908
230
767
550
384
16
626
540
76
59
455
517
465
414
875
245
897
76
629
279
914
842
168
330
157
800
679
66
475
628
407
383
966
300
160
633
914
577
546
701
950
895
876
84
335
841
615
338
943
465
944
350
399
80
308
886
812
35
781
805
740
205
689
108
327
561
247
760
63
255
865
798
200
101
376
836
731
210
712
465
706
787
416
431
831
795
972
715
518
275
133
791
998
564
307
438
657
611
582
408
528
827
156
174
702
667
804
748
531
215
453
251
643
595
163
528
158
937
560
582
44
964
264
50
157
22
981
216
388
494
675
318
297
108
707
17
757
599
902
929
414
568
246
81
251
116
328
979
101
37
705
750
771
939
66
467
314
619
473
344
81
457
942
946
421
355
363
968
275
987
57
388
447
723
279
12
61
611
645
533
544
240
743
205
492
116
173
178
963
460
874
329
45
938
891
163
31
921
632
979
195
308
306
44
914
834
432
949
875
9
259
674
184
581
440
140
463
425
588
201
454
305
144
76
198
818
569
209
612
154
29
418
167
989
591
990
407
975
440
57
256
768
790
194
422
513
961
687
706
992
571
332
698
409
895
931
180
917
251
887
519
556
677
426
473
215
268
7
148
606
302
436
264
5
655
22
514
686
97
897
561
576
758
276
128
615
427
975
723
741
386
19
753
183
153
523
209
989
853
324
582
289
940
36
450
865
630
296
959
976
738
975
485
251
551
40
908
692
16
569
256
478
785
142
979
300
590
466
709
441
37
632
205
649
117
826
94
142
674
690
154
761
596
754
109
344
740
566
385
930
449
148
779
248
66
459
795
281
23
351
223
390
932
346
645
596
591
217
692
155
988
988
279
452
179
436
534
617
388
620
804
975
809
262
972
598
347
42
254
768
990
977
843
150
583
119
2
790
531
724
697
865
341
911
453
269
15
565
886
702
958
932
264
926
513
875
557
247
187
279
634
68
377
445
680
593
719
605
425
352
174
894
508
251
631
189
121
273
125
264
117
787
697
582
921
671
600
905
919
88
778
576
461
811
519
18
289
455
757
470
945
834
739
466
708
929
705
891
703
638
746
713
57
548
258
639
455
480
260
19
965
431
389
305
776
851
552
228
351
899
60
654
562
435
589
795
558
29
427
995
492
187
309
884
717
336
588
43
769
845
628
677
240
502
59
8
656
421
4
230
594
323
441
887
576
464
639
520
730
309
993
216
794
162
654
519
837
611
55
753
953
574
816
427
292
189
534
843
987
535
649
410
971
418
916
450
170
59
19
483
299
536
502
82
328
262
514
363
691
624
826
124
491
125
200
447
284
40
467
288
483
641
605
244
91
482
712
184
240
151
986
897
982
102
769
257
870
912
228
645
139
356
498
554
716
203
956
340
860
511
854
87
954
525
682
398
888
974
517
761
484
679
82
768
630
898
396
117
148
796
726
810
926
701
980
362
522
601
847
180
260
458
732
454
832
464
980
90
557
329
992
189
732
57
548
558
962
437
88
576
987
637
742
500
236
896
620
937
318
284
258
800
681
893
116
521
937
632
738
695
724
12
518
579
526
892
984
109
559
224
220
160
707
220
294
786
494
213
588
115
241
738
483
343
896
971
194
42
498
749
434
600
873
832
207
154
959
945
262
813
99
380
654
333
767
675
407
650
417
890
500
824
609
556
258
51
114
245
771
334
427
984
133
313
28
502
156
517
752
350
684
24
851
513
809
73
659
4
84
713
313
312
306
967
631
281
555
312
97
160
958
489
836
116
82
815
673
442
946
158
593
80
393
735
411
840
975
695
57
859
531
221
638
454
412
564
368
493
607
951
521
799
116
816
806
927
566
173
934
847
405
221
715
662
40
492
692
560
882
926
208
568
633
273
795
558
68
135
934
156
205
777
595
880
50
544
413
863
999
392
5
992
610
515
731
142
688
564
162
474
519
234
583
418
675
305
185
70
989
343
961
204
227
375
922
8
448
772
995
934
278
520
820
792
137
776
718
303
975
363
336
862
199
401
766
181
313
819
511
825
242
877
303
384
426
150
612
165
576
669
673
866
379
9
986
611
574
180
547
127
529
111
514
597
874
345
606
891
805
368
327
484
372
591
997
344
468
622
652
462
219
923
120
508
207
318
956
323
271
109
471
517
625
761
770
526
710
201
608
873
477
783
842
212
785
894
468
980
215
969
513
133
873
446
584
485
693
772
458
623
344
157
951
255
98
165
190
84
898
641
580
25
453
658
971
621
373
384
987
19
264
821
20
786
192
316
158
96
144
667
170
583
933
398
747
225
501
493
365
172
723
454
530
341
624
78
637
945
400
741
381
865
731
306
462
895
672
987
299
473
841
624
647
461
707
899
244
876
523
903
126
278
880
367
808
690
872
604
321
485
627
856
992
690
288
341
960
551
601
729
602
984
889
201
498
768
614
479
40
934
643
456
535
844
47
122
506
849
549
504
867
284
693
230
881
770
451
175
78
458
247
337
815
883
313
745
814
566
894
723
775
376
44
290
126
897
695
802
98
777
192
232
531
68
747
601
290
81
112
188
690
179
303
75
113
214
410
499
843
40
324
248
218
638
774
37
391
912
160
405
341
144
504
160
285
429
327
838
346
139
327
932
94
635
578
881
621
969
343
963
916
297
732
211
596
85
160
491
522
940
958
668
416
111
574
562
366
258
486
79
24
88
356
422
372
850
939
813
178
484
994
492
628
433
747
73
182
727
463
529
399
978
357
146
329
354
351
844
81
430
180
113
349
43
942
687
10
949
503
752
363
98
63
160
259
837
804
615
121
182
793
275
828
592
186
533
550
350
369
23
855
740
889
26
861
680
853
557
759
405
83
350
763
54
410
863
457
756
400
196
521
894
272
527
34
786
910
242
912
898
720
462
535
87
502
79
317
78
665
710
751
537
876
233
494
653
662
676
157
98
600
268
779
600
440
419
396
131
946
222
756
901
276
851
944
907
447
856
651
808
800
967
861
256
406
449
972
657
58
460
767
500
789
139
168
41
921
342
440
127
226
44
329
392
164
435
678
861
69
643
184
276
809
834
323
62
721
168
934
941
544
717
586
629
679
986
671
933
329
117
74
835
19
218
425
816
492
501
161
765
261
71
79
312
913
296
595
292
828
634
705
400
130
699
487
748
562
115
59
181
437
405
82
742
997
771
282
554
317
104
946
779
341
2
51
10
785
863
470
615
391
364
724
98
480
762
841
520
819
477
229
344
579
386
861
887
552
72
729
705
874
52
265
838
189
666
323
824
589
861
444
781
673
599
310
674
767
972
694
75
670
429
785
353
317
671
407
232
364
907
583
111
47
135
834
339
618
48
837
902
262
980
328
620
725
3
684
995
766
965
194
312
181
746
869
471
351
473
562
283
216
807
287
640
94
610
904
75
10
531
710
681
56
61
112
284
830
612
241
58
210
51
267
461
519
886
250
518
679
28
495
963
66
617
815
708
617
928
558
418
195
776
941
725
319
148
82
747
199
40
67
145
381
569
547
897
458
500
649
329
9
258
447
735
360
326
813
62
793
720
271
757
577
865
373
821
534
779
182
552
906
922
715
226
963
495
546
192
130
198
328
474
420
700
718
972
601
143
991
808
838
23
705
178
519
688
895
313
604
525
626
809
88
618
220
610
140
302
89
432
34
559
923
222
273
664
906
581
169
818
776
686
738
767
764
402
970
577
906
699
388
792
768
440
382
164
370
853
943
58
985
769
290
392
521
758
373
659
397
874
382
220
202
604
223
502
894
969
346
200
20
468
488
860
212
677
620
468
232
907
852
792
956
238
143
254
1000
646
378
60
105
689
821
162
58
409
983
384
637
672
659
693
24
189
286
177
178
808
770
766
915
523
641
94
813
812
716
210
609
550
462
25
459
766
891
476
281
922
150
402
429
242
898
51
85
860
226
907
114
179
131
318
598
911
479
971
883
712
20
843
801
195
226
669
643
365
642
336
606
212
17
862
658
280
656
763
211
489
355
717
564
432
771
358
793
633
276
960
686
969
204
522
314
586
859
477
87
138
836
839
456
129
13
116
958
448
15
703
958
942
107
827
278
12
223
298
873
766
285
478
862
230
62
911
510
470
548
976
205
255
263
823
92
75
926
548
767
895
671
266
386
29
338
303
581
905
426
173
834
299
950
431
345
821
789
730
951
57
141
654
385
772
309
948
6
38
379
801
126
949
316
755
269
849
613
598
983
644
920
347
326
789
1
69
796
54
982
775
236
982
56
130
225
257
774
15
567
872
549
260
731
47
269
20
553
378
746
348
44
547
281
458
912
264
808
95
272
788
899
172
84
521
444
569
28
657
939
551
917
817
146
784
235
922
354
343
62
310
578
416
493
223
823
621
598
376
974
20
159
237
963
895
666
59
600
354
536
425
883
622
118
287
631
687
799
37
29
582
459
148
21
186
583
311
533
878
599
804
190
768
346
34
515
530
188
805
622
6
921
888
51
919
542
890
696
969
896
267
770
550
450
547
339
107
716
483
269
895
360
908
328
537
651
533
820
281
723
756
325
349
27
873
72
75
524
714
983
798
361
840
696
660
249
903
688
485
299
687
195
920
826
633
792
898
501
377
323
238
297
915
401
934
855
575
823
247
251
848
57
243
691
512
452
810
277
191
897
529
862
647
483
973
965
660
117
159
853
300
151
890
220
755
828
702
304
683
751
937
913
166
635
250
601
12
338
518
126
62
510
645
421
609
247
305
535
812
817
967
378
191
872
886
669
938
536
909
161
749
437
65
92
353
53
881
822
718
690
314
767
178
69
979
94
339
739
93
108
704
483
167
882
404
496
45
520
277
312
291
339
813
417
303
417
182
994
790
156
598
506
377
4
808
650
213
962
365
792
390
337
650
135
905
986
316
732
626
433
953
968
483
369
271
243
640
447
45
462
955
775
389
331
420
185
664
649
603
188
484
512
331
480
814
814
987
52
134
493
832
186
982
744
690
135
1
809
214
829
731
2
663
772
36
385
831
163
994
820
282
375
498
218
575
168
616
438
487
357
960
648
579
255
932
978
606
865
732
909
383
685
450
177
737
968
374
940
56
495
924
559
797
188
219
638
12
427
379
895
599
525
97
31
508
646
884
11
579
373
671
63
54
261
118
288
19
958
64
954
242
909
47
442
903
210
713
348
709
946
241
396
748
200
610
695
243
985
651
348
36
544
366
578
257
821
880
354
106
416
776
949
124
8
264
10
614
63
797
467
113
602
302
70
943
972
134
413
910
841
247
74
148
75
840
871
966
795
893
328
321
644
626
141
157
229
876
805
488
769
787
599
498
225
29
814
385
559
935
439
896
319
595
511
747
467
952
29
182
172
348
575
956
379
858
820
912
49
924
655
176
364
495
22
669
625
910
394
323
226
219
506
861
886
501
130
501
258
26
634
251
146
756
598
746
838
780
979
707
445
779
215
215
764
473
136
909
855
357
789
162
469
692
87
4
456
862
712
328
519
721
827
443
13
468
3
602
25
949
197
498
603
985
748
72
877
516
152
182
737
860
792
816
938
370
898
572
725
140
761
66
589
151
623
777
314
461
733
596
280
602
764
15
874
348
161
438
971
405
34
578
633
387
862
318
613
636
651
627
749
71
162
396
65
263
483
93
233
362
534
185
81
347
64
153
981
276
296
770
283
902
692
22
459
43
215
675
235
553
60
54
785
635
96
2
42
450
129
383
240
727
684
702
99
93
206
604
480
374
461
90
888
4
427
215
965
967
179
975
977
422
96
826
366
269
196
1000
604
433
610
362
989
570
960
78
494
233
902
751
467
280
220
23
811
434
617
841
245
493
792
741
377
590
493
518
638
335
963
599
558
375
624
292
464
139
869
831
472
85
594
801
534
757
426
93
392
390
668
11
518
543
647
541
507
513
501
68
943
834
425
27
428
258
78
62
369
950
117
293
83
569
841
175
981
37
509
270
899
541
199
971
139
292
994
842
410
62
892
789
651
376
49
692
694
502
915
508
782
59
336
93
276
148
943
145
269
408
12
760
393
279
487
44
878
61
87
118
765
85
215
633
244
388
900
608
278
841
172
993
41
592
51
888
198
8
824
721
732
57
376
50
843
208
161
837
433
477
784
205
825
218
300
705
647
587
54
60
286
439
303
229
898
527
914
345
748
496
158
792
534
159
977
203
490
897
142
685
207
874
393
908
585
938
13
20
813
693
260
525
996
270
745
352
911
717
166
372
375
802
754
507
876
220
414
401
460
876
837
358
322
946
774
858
214
881
262
526
556
396
848
839
100
731
735
250
88
172
372
600
136
894
184
921
455
666
40
740
630
883
581
5
896
650
686
619
729
395
251
354
634
569
893
618
188
522
378
135
784
587
385
112
992
704
659
876
171
685
755
272
741
358
327
358
560
361
384
41
925
354
985
341
78
736
625
924
492
764
963
370
846
118
575
430
363
561
166
143
86
318
34
301
763
195
593
181
227
275
473
871
546
214
24
789
783
789
91
187
874
371
534
545
12
412
302
739
927
878
841
806
632
797
221
925
509
736
652
969
116
61
998
607
718
325
489
476
334
952
64
375
64
675
702
800
550
886
638
376
676
82
605
904
68
141
61
833
497
17
970
901
22
764
801
604
623
491
319
920
91
995
207
406
150
294
716
401
159
253
344
554
212
803
37
314
191
991
487
344
71
271
909
37
834
961
115
433
424
776
770
894
523
705
481
826
318
256
780
567
111
304
87
350
306
307
512
892
288
705
654
707
756
667
658
772
306
162
415
482
446
568
176
185
791
596
810
721
840
374
619
540
650
931
922
934
692
180
574
860
350
699
231
640
881
312
432
531
81
464
514
821
599
886
951
608
580
881
988
890
313
861
301
919
635
412
10
48
124
263
569
445
528
33
929
126
435
498
914
725
958
455
913
300
56
939
842
271
183
681
842
262
151
211
295
226
433
933
592
740
677
838
523
761
840
257
294
457
190
197
945
947
413
365
401
910
179
939
439
83
833
497
645
564
322
313
798
736
73
370
215
346
297
60
277
954
129
501
740
528
57
810
467
423
371
473
901
390
699
156
925
523
286
922
773
245
336
827
297
553
631
316
205
720
604
642
860
587
273
812
835
380
706
162
717
714
225
755
572
79
140
231
85
645
655
606
622
638
488
807
389
932
883
360
389
716
943
792
122
275
641
750
839
995
429
753
668
664
107
796
154
29
493
733
555
348
493
478
762
384
344
570
847
857
199
615
70
920
687
396
616
576
802
226
487
339
250
249
721
602
408
932
568
354
150
973
334
884
124
203
352
97
481
821
936
864
684
497
250
628
788
450
724
127
483
592
30
657
297
235
650
792
550
663
766
843
74
58
535
623
230
906
804
289
478
22
985
117
582
751
105
84
578
751
40
34
777
984
516
16
410
208
790
129
7
302
827
813
230
203
388
65
680
132
688
533
153
17
197
735
913
733
707
956
823
824
997
506
599
911
328
100
6
827
483
98
570
878
310
215
258
293
501
100
613
65
897
882
53
905
726
363
372
934
997
68
22
113
750
745
399
98
971
252
198
407
771
963
876
291
847
993
405
687
358
527
776
993
58
544
193
155
986
3
476
763
13
384
960
410
303
86
113
575
109
771
152
669
333
229
172
713
996
688
696
283
78
812
100
22
191
795
48
987
222
83
959
570
356
238
511
545
891
378
378
17
847
453
708
736
683
333
336
244
337
298
365
826
419
99
540
46
622
149
788
988
327
787
415
931
923
815
688
317
609
628
986
339
273
387
240
378
611
597
153
816
822
378
530
464
33
479
151
958
145
779
769
989
909
628
195
170
872
883
945
679
293
887
590
531
238
996
772
513
874
430
828
340
374
403
118
564
971
497
428
121
431
185
274
180
610
273
553
139
852
773
729
172
646
387
670
753
397
336
342
951
139
778
763
119
734
372
48
767
437
918
883
77
688
113
498
490
671
619
42
250
471
616
282
615
623
926
731
675
493
635
614
394
175
820
572
491
562
662
648
296
793
736
882
519
577
722
794
203
751
119
158
750
26
815
693
29
59
513
769
67
892
90
748
677
298
925
357
742
782
139
343
522
815
443
726
506
368
7
155
835
993
354
235
247
471
785
200
834
547
248
974
640
373
908
508
274
59
846
223
251
185
512
571
767
197
534
984
924
355
463
957
250
343
862
594
494
644
929
739
272
570
465
691
138
159
604
629
36
189
172
53
901
275
937
967
370
305
277
79
209
515
8
949
39
116
212
935
414
739
875
749
101
881
116
626
676
208
541
433
197
793
32
525
723
366
880
789
988
186
719
116
305
419
151
490
137
815
326
983
379
30
951
224
522
131
411
306
336
745
727
690
612
788
39
386
811
937
217
590
165
817
954
969
887
393
409
39
696
197
60
385
737
847
919
12
371
751
706
785
1000
51
858
732
260
599
495
971
464
222
592
150
134
614
633
611
824
932
979
896
209
591
25
855
591
794
959
368
546
80
637
603
450
499
610
823
992
100
840
969
597
65
28
650
881
184
728
702
890
358
654
189
882
463
663
569
831
228
898
755
697
746
515
993
700
838
185
765
523
808
349
454
391
18
776
102
454
335
543
415
741
732
993
113
252
239
572
809
405
982
691
900
158
296
953
342
594
730
104
770
682
321
87
145
197
685
427
19
520
323
978
525
118
15
742
422
63
366
83
863
855
334
154
89
134
76
766
896
643
539
255
567
909
16
108
931
690
327
268
349
178
364
43
739
322
479
499
165
390
633
83
166
89
237
944
724
132
361
99
718
116
362
178
774
2
987
901
642
269
707
885
648
16
386
616
278
928
370
636
678
3
740
93
698
414
787
790
122
648
731
818
898
382
320
617
504
115
241
96
70
716
187
22
508
422
33
461
715
746
817
469
822
1000
110
587
628
810
953
980
569
102
708
150
9
499
89
313
237
2
136
411
235
96
80
687
234
142
922
489
52
43
993
670
471
667
961
577
211
464
543
82
618
20
630
567
818
59
694
42
928
518
78
852
913
909
250
511
768
93
147
269
57
6
528
947
254
613
621
428
932
542
433
937
647
472
784
925
238
272
534
917
377
363
461
167
399
496
954
348
868
417
31
791
846
458
168
952
543
129
98
940
904
223
40
880
653
753
785
854
545
315
681
926
837
80
859
538
531
690
947
139
538
797
137
481
713
823
688
458
691
822
892
671
509
971
44
231
311
320
204
392
827
915
403
729
883
303
468
542
963
723
829
11
697
11
517
463
220
344
53
772
523
479
71
513
298
71
363
19
270
976
453
874
698
195
963
700
525
253
802
342
679
375
640
641
113
746
222
70
522
545
826
409
74
190
578
514
135
401
374
967
709
306
907
72
253
763
643
224
572
486
631
142
770
379
715
857
576
653
50
607
956
954
835
9
581
725
808
959
591
463
391
721
135
358
292
578
277
53
39
235
246
889
176
886
450
76
777
496
324
661
560
365
871
59
77
502
716
151
419
689
594
660
386
337
440
579
310
449
704
915
595
18
45
927
549
208
331
315
289
511
726
534
318
883
711
532
886
535
84
706
402
680
316
828
962
5
196
3
520
84
323
458
385
246
862
142
449
632
938
610
52
328
198
682
408
461
350
692
339
134
955
921
398
868
329
10
578
35
212
680
469
373
737
139
154
278
343
897
102
24
484
540
51
449
391
219
184
923
674
218
920
625
256
993
266
222
992
484
22
89
335
365
70
78
573
104
604
702
506
377
453
290
887
405
557
313
610
272
276
628
412
121
430
805
811
405
897
73
102
46
136
659
498
450
232
471
935
779
926
128
603
832
608
326
45
127
476
400
493
545
844
734
221
954
149
359
829
798
287
684
785
535
786
802
28
150
743
224
116
712
589
231
235
76
531
220
351
406
943
588
942
124
84
711
22
280
245
528
644
97
850
80
646
610
91
117
191
937
396
546
557
661
378
50
716
236
978
703
470
120
176
759
291
537
982
104
575
389
439
31
703
878
987
120
162
783
893
984
1000
225
371
569
50
938
675
524
687
744
699
844
352
981
571
656
741
66
319
543
321
263
911
231
808
993
903
825
327
692
479
35
261
303
864
989
203
997
1
295
981
590
872
7
508
438
53
988
31
305
926
9
458
789
466
555
602
442
676
950
548
634
560
897
880
522
967
950
139
279
797
745
737
813
802
46
530
828
674
789
370
970
189
345
279
230
942
163
309
495
571
811
793
338
490
162
411
727
798
184
463
296
463
291
763
256
858
758
859
782
458
23
610
957
805
18
750
937
872
869
726
61
610
360
982
1
742
629
860
944
883
398
465
979
644
932
153
554
669
583
806
879
507
440
672
654
782
136
349
318
398
305
459
315
389
512
637
558
630
776
735
313
782
912
578
265
765
42
148
386
564
553
826
544
342
683
226
501
703
703
143
48
425
344
415
567
145
717
774
215
285
500
349
273
970
547
90
938
818
411
253
975
268
491
35
209
508
644
616
795
221
140
127
542
39
769
536
384
74
785
50
227
877
92
370
997
969
762
95
720
399
542
599
826
839
466
979
710
418
73
38
754
819
40
800
665
167
190
797
964
896
966
159
925
86
471
628
76
728
40
709
613
991
194
560
734
865
487
661
942
454
429
964
826
818
189
6
704
485
212
436
757
677
270
477
997
833
666
158
454
247
531
521
489
503
177
615
23
904
460
804
765
315
993
821
247
623
819
10
576
580
859
450
337
891
44
956
12
244
546
510
610
466
933
306
929
56
392
461
45
179
381
377
154
614
218
918
852
235
131
834
300
366
238
331
521
742
799
274
202
884
803
296
999
388
635
981
317
17
130
383
929
515
791
363
605
731
342
621
132
6
49
841
710
736
458
56
749
728
281
224
489
221
182
994
730
461
103
813
181
289
614
860
578
537
476
778
785
908
238
783
547
638
238
567
423
483
802
326
698
460
801
365
761
357
963
999
502
207
515
876
780
841
793
438
913
111
415
947
438
597
525
416
85
444
363
804
51
454
145
57
158
731
808
915
407
996
692
923
792
106
653
762
946
502
383
836
373
33
981
19
539
62
923
620
69
851
607
930
672
964
622
117
154
830
712
898
88
672
165
150
286
719
39
536
179
989
166
318
662
977
393
738
693
225
860
764
219
152
428
500
541
457
547
314
315
109
963
535
769
221
655
635
564
74
321
945
983
201
532
299
742
682
413
469
794
765
326
903
960
515
573
69
58
418
582
640
503
807
375
897
995
502
398
959
37
292
914
878
459
747
270
218
87
397
299
460
924
469
983
467
982
236
346
284
985
530
157
757
676
108
700
795
425
378
320
627
128
470
883
70
144
740
618
645
174
576
3
371
508
826
519
175
53
244
111
210
909
92
137
737
17
466
453
927
603
929
22
622
710
809
87
62
106
828
549
651
235
813
623
37
718
880
256
224
71
855
65
917
960
674
744
50
302
168
990
273
989
936
10
205
789
991
561
412
278
481
324
415
247
42
104
495
124
327
4
705
382
779
243
312
776
31
722
805
527
154
830
742
241
597
177
970
438
817
156
148
56
529
277
98
187
976
183
249
601
863
171
287
333
374
783
223
720
263
760
238
774
83
232
66
737
505
534
144
980
78
429
478
136
945
866
949
526
799
596
795
478
783
116
141
85
150
443
728
343
227
157
454
335
649
19
945
360
872
190
135
430
691
774
750
605
886
964
672
973
109
525
389
944
831
759
118
673
523
355
745
103
198
745
412
89
153
656
446
519
997
587
341
169
74
818
657
281
974
402
42
478
110
296
68
702
297
432
173
311
823
46
858
328
781
53
166
116
314
570
644
434
996
979
197
887
782
53
695
308
834
764
767
472
56
333
919
870
365
991
45
959
547
697
404
434
69
732
357
575
342
731
521
660
774
162
476
763
382
725
876
991
882
433
603
370
942
357
605
135
714
172
183
126
865
654
804
392
57
219
948
825
252
474
109
869
245
460
845
902
582
974
678
892
358
881
718
318
446
834
126
157
366
193
919
932
372
195
150
438
304
658
216
793
434
572
886
873
812
952
663
18
617
218
261
166
616
215
307
184
122
680
851
224
782
615
902
419
95
540
31
45
840
68
990
604
468
568
424
907
85
955
33
369
873
792
917
158
654
971
456
811
843
206
778
151
215
444
768
108
751
112
624
137
332
763
141
443
191
343
282
157
855
758
108
941
768
839
788
237
907
160
256
514
491
320
61
436
304
494
70
810
244
54
19
554
490
21
320
688
18
947
151
535
324
597
637
886
885
442
812
891
280
556
166
822
904
979
779
664
926
986
455
686
428
990
810
766
734
2
949
272
506
668
251
711
569
894
769
202
349
16
943
66
432
247
631
479
64
889
955
159
294
410
89
555
107
34
921
844
100
918
461
313
171
363
977
389
275
733
106
668
456
944
599
761
317
423
942
693
539
450
829
886
305
629
336
455
292
59
693
672
402
450
784
979
560
31
794
835
701
596
5
32
558
465
376
860
966
425
351
628
180
965
376
610
138
236
681
451
703
206
218
411
649
421
88
618
563
637
379
659
908
338
127
444
185
811
5
234
525
34
440
153
60
81
78
290
105
160
912
698
529
646
916
222
696
708
766
123
982
189
24
839
233
425
241
139
433
597
559
71
541
19
729
842
667
497
945
743
746
522
541
745
428
595
377
224
163
419
682
556
351
62
274
1
8
412
274
372
588
456
911
476
496
931
542
217
345
909
781
537
181
744
488
101
785
575
435
714
595
307
652
25
1000
574
826
948
540
676
615
605
8
928
442
305
598
141
126
246
989
213
714
153
708
903
999
38
215
928
506
631
870
439
189
797
374
810
676
437
329
395
666
939
254
596
999
260
813
142
6
94
987
953
956
383
650
337
830
657
319
577
173
274
862
117
490
680
601
699
512
208
546
782
642
799
468
478
106
228
150
89
609
114
410
23
831
985
455
504
671
192
687
42
12
267
352
46
675
636
306
339
359
264
753
566
626
870
5
659
415
873
203
591
123
97
457
617
40
586
43
86
820
574
157
698
682
772
191
753
277
659
684
569
475
395
879
722
866
280
308
183
423
474
931
759
610
770
145
428
187
836
409
348
116
237
315
292
254
960
708
256
982
897
813
799
501
960
444
453
333
35
47
190
423
19
699
497
375
542
255
100
544
811
464
740
110
181
253
702
796
722
372
981
614
19
221
81
849
915
30
425
517
704
487
302
713
545
558
48
576
501
520
925
78
665
142
758
495
276
573
952
203
637
704
936
382
843
708
436
353
90
7
241
482
353
130
260
59
728
790
787
90
662
70
799
712
535
744
51
782
831
642
476
284
189
438
123
362
203
408
432
162
719
506
179
168
730
585
817
396
726
685
264
629
461
124
416
858
696
536
771
226
392
96
627
94
230
933
214
240
78
110
4
887
215
641
172
939
700
703
868
792
264
582
499
101
507
932
719
174
960
600
186
4
812
597
442
514
698
830
465
300
954
824
531
994
202
987
36
391
927
958
845
652
984
156
527
225
576
969
607
597
330
932
535
640
554
835
654
87
583
970
885
663
457
598
163
454
791
297
958
396
813
71
349
177
27
951
189
396
856
374
876
605
909
789
131
683
252
785
957
101
139
548
661
778
216
588
395
633
111
484
219
412
679
897
42
74
880
168
179
802
449
646
424
739
45
291
722
635
522
212
515
920
356
530
817
160
990
370
893
442
84
835
183
29
201
549
782
512
462
701
336
783
116
583
703
378
740
266
95
125
22
424
725
569
671
309
142
378
40
513
565
730
455
493
524
771
93
782
11
329
469
423
190
447
271
478
413
754
303
350
932
337
757
279
234
567
935
620
354
297
748
393
895
931
71
177
711
152
45
620
394
493
963
721
752
537
235
559
458
225
250
338
920
687
646
439
198
6
630
701
521
565
494
264
507
958
407
155
734
972
903
238
705
809
212
283
562
542
724
681
145
796
460
777
100
751
324
874
794
891
335
700
729
354
772
569
1000
350
346
468
92
875
109
92
966
874
782
137
982
63
606
270
632
888
580
822
483
439
206
618
985
717
438
343
999
347
567
513
18
666
210
407
19
146
379
295
836
290
879
931
738
427
888
515
629
361
672
328
900
423
797
774
532
305
107
838
462
981
975
880
576
131
31
229
968
763
644
253
243
118
935
474
717
551
971
809
350
780
123
203
108
814
248
768
257
885
504
40
771
931
76
97
636
535
86
141
344
702
230
539
279
589
456
521
7
55
145
444
711
941
795
3
152
90
170
855
556
426
247
862
775
855
53
555
930
370
675
513
480
485
296
27
334
58
106
809
196
628
332
551
782
637
429
784
966
270
689
873
157
224
133
936
433
377
569
173
40
235
143
361
875
986
514
270
483
217
52
342
910
644
88
292
485
682
298
200
232
343
759
247
142
730
97
523
990
333
387
218
718
477
167
64
672
478
9
131
125
550
554
927
613
22
850
306
547
178
112
850
486
942
721
246
201
636
433
675
388
256
238
372
464
84
277
340
388
937
540
661
871
41
804
965
646
341
430
398
698
38
168
877
474
276
111
488
148
209
257
647
942
114
951
49
351
836
638
470
899
596
935
232
679
132
20
480
524
209
761
482
121
757
757
819
758
300
721
692
686
869
221
556
253
305
817
961
98
698
80
772
671
742
777
912
248
932
785
409
479
871
901
773
154
430
814
703
576
148
908
684
415
29
485
292
380
890
219
938
400
464
371
322
236
773
338
100
648
676
635
138
253
77
273
231
239
25
824
399
942
805
154
656
98
171
926
684
261
85
496
994
496
653
750
931
932
495
763
404
212
430
907
288
144
196
165
254
123
901
973
215
10
36
875
663
174
185
610
905
378
3
72
643
1
658
702
367
878
676
502
770
675
50
822
751
298
579
477
616
308
581
555
747
672
565
480
386
518
947
501
136
676
637
822
470
979
138
990
828
207
848
2
861
555
392
831
975
254
173
718
664
748
771
621
977
424
495
683
132
455
155
433
477
736
104
700
944
266
664
931
669
550
359
634
690
800
769
205
503
738
388
252
759
806
631
883
623
464
991
61
88
24
414
322
108
190
135
606
490
48
614
922
368
764
674
882
500
670
657
872
754
705
208
799
967
448
295
872
734
53
207
863
832
490
562
636
700
392
809
512
801
684
321
225
760
915
926
775
888
873
655
514
67
637
557
175
3
695
642
334
544
120
457
69
80
104
261
103
77
335
548
832
412
784
466
988
502
510
718
572
192
958
694
904
977
82
912
295
423
325
318
891
567
119
647
702
696
121
824
687
125
823
352
44
511
531
725
528
801
977
177
700
117
950
492
495
761
453
170
418
65
821
3
937
946
136
949
386
947
58
301
794
955
886
290
561
10
258
664
858
387
397
255
933
615
236
263
266
219
67
759
645
743
574
933
796
53
244
730
157
4
207
812
747
313
454
242
858
861
274
883
464
735
487
277
831
18
707
679
810
710
444
5
665
191
327
674
126
336
110
727
519
703
403
130
493
244
270
883
838
625
935
415
336
541
828
747
423
414
141
71
672
439
845
742
752
251
883
136
567
419
851
475
757
542
28
511
576
999
65
924
457
287
976
369
243
444
352
400
140
278
844
892
947
993
71
182
12
318
51
849
651
449
144
981
498
942
283
782
349
198
971
605
596
326
80
825
265
999
66
499
2
352
536
425
113
129
507
26
882
33
846
481
950
697
574
654
513
751
694
669
439
241
195
429
184
30
708
980
569
905
40
393
52
778
490
738
128
806
410
829
874
223
941
609
482
404
252
482
787
997
875
385
468
970
934
154
567
65
168
547
438
472
635
314
41
472
918
894
765
477
460
611
575
98
364
740
364
883
661
455
820
894
546
458
13
579
549
33
134
292
948
394
548
348
985
430
360
758
611
409
210
617
551
728
893
686
454
579
714
864
769
245
191
95
791
818
824
776
978
301
184
833
285
445
497
496
730
149
227
248
824
959
896
519
834
980
551
534
53
553
807
93
383
133
366
202
571
128
291
194
407
915
54
390
994
823
588
411
996
668
121
968
415
339
596
321
11
979
841
642
966
582
475
184
754
183
759
514
488
368
159
50
192
545
488
813
539
245
847
599
625
776
467
744
234
673
769
298
883
762
613
661
652
94
764
715
437
670
38
37
799
667
492
60
24
810
257
917
363
672
312
296
659
904
570
826
758
865
140
396
137
654
530
335
179
300
833
576
395
759
690
737
674
385
892
596
351
771
36
545
462
196
555
447
73
430
798
772
982
316
553
18
396
384
558
192
425
715
111
571
356
429
826
45
715
450
964
101
44
667
521
893
206
195
461
924
750
229
21
574
553
876
52
61
511
450
718
484
524
926
699
261
420
649
244
613
713
937
28
749
317
906
806
71
419
722
260
6
719
474
291
43
161
53
227
201
103
730
79
384
572
613
23
70
914
810
734
315
665
903
91
352
899
304
1000
925
704
151
801
96
632
688
779
435
173
474
804
430
359
351
10
427
570
822
736
626
500
394
643
508
32
470
59
528
447
575
104
101
16
78
81
698
501
47
957
330
526
588
484
843
77
797
674
199
632
481
877
365
531
909
681
531
258
156
202
107
220
68
128
363
485
459
27
642
671
933
39
767
859
629
38
672
957
279
773
285
429
175
266
378
656
57
981
464
527
460
873
794
997
757
468
163
499
11
520
555
60
729
656
618
904
821
642
574
147
347
550
458
892
164
164
509
680
170
410
132
778
696
472
82
243
484
526
454
22
855
675
585
635
880
799
222
124
835
472
164
35
754
33
119
162
653
173
705
665
880
127
357
969
73
662
408
532
443
579
762
171
412
368
376
144
189
998
263
598
503
545
805
297
571
533
995
791
317
390
612
293
47
394
467
586
29
833
570
212
920
906
499
42
549
20
291
102
368
762
900
163
768
806
645
186
549
389
79
188
63
812
428
466
938
634
48
411
818
823
382
328
288
160
535
786
974
615
885
16
845
256
149
796
897
474
896
78
736
969
820
325
61
985
997
167
653
742
951
528
335
878
593
788
237
984
10
933
881
989
629
870
811
244
509
257
937
627
379
268
343
913
568
684
4
913
160
566
800
644
544
593
206
871
40
783
272
890
408
967
848
352
885
857
523
266
844
973
427
50
303
11
852
634
267
457
638
206
353
374
424
106
221
341
119
768
65
456
447
377
868
151
977
66
126
358
856
79
515
178
349
317
306
817
384
62
394
998
525
489
459
450
181
794
153
351
405
341
173
819
355
306
754
604
297
679
415
177
106
338
755
300
341
141
739
995
316
641
156
522
70
50
899
659
768
585
294
59
874
137
943
927
370
517
475
624
404
196
123
16
41
529
303
599
155
958
201
447
140
578
928
54
783
745
989
980
598
124
638
19
896
693
193
290
132
708
546
264
358
613
907
216
199
158
284
53
364
771
328
711
580
341
947
631
810
152
532
856
726
635
721
418
735
1000
385
549
289
551
912
157
829
691
931
730
448
183
334
496
316
239
827
258
956
402
257
752
696
975
671
809
29
980
377
839
129
222
292
389
487
69
513
595
492
991
341
357
779
699
986
11
352
20
763
32
798
236
898
79
406
696
987
287
629
971
744
268
131
658
906
712
608
254
99
845
672
141
988
226
362
871
297
558
253
361
95
246
712
571
347
385
601
479
845
781
570
924
517
364
181
962
600
53
257
940
300
735
242
378
403
524
851
123
725
871
954
938
461
426
490
881
217
754
150
323
995
172
748
475
454
970
448
605
536
252
505
928
944
472
766
315
16
480
927
566
267
590
503
947
217
703
478
134
192
34
910
464
420
342
86
637
130
870
409
594
333
370
879
354
622
718
893
975
638
595
109
689
829
650
264
445
720
361
189
790
224
536
737
31
435
32
959
106
943
809
682
435
973
859
595
313
507
918
9
69
176
123
800
290
864
921
380
942
866
628
169
49
974
982
766
948
34
943
872
826
370
753
111
350
961
983
53
734
420
875
124
521
611
804
590
661
247
92
478
240
875
718
108
345
504
710
923
87
493
99
390
798
466
400
95
744
741
484
576
495
149
572
24
252
223
846
809
22
406
811
627
526
329
131
207
97
220
118
701
672
211
448
308
135
628
945
177
920
354
502
395
801
16
249
664
203
60
152
328
210
704
72
550
708
454
190
789
701
63
370
179
932
818
721
85
375
593
91
872
43
348
744
894
805
695
730
813
615
665
807
609
605
67
854
75
13
663
840
167
783
953
343
290
2
515
538
515
42
693
314
750
359
943
903
95
478
275
994
952
559
51
806
12
325
861
7
851
823
334
690
759
690
483
826
346
83
679
766
656
451
365
372
774
658
439
327
397
732
584
5
416
713
919
38
339
649
30
390
298
767
853
307
445
244
857
974
807
837
707
121
10
773
900
71
878
993
877
939
570
794
753
784
791
389
137
513
643
715
467
259
821
59
898
760
191
732
85
7
297
46
118
31
942
340
454
278
802
642
953
403
988
826
31
734
561
814
463
850
276
440
649
905
266
96
971
415
904
158
425
156
882
513
901
736
365
206
294
179
175
325
177
545
125
797
859
219
2
656
516
1
191
718
516
541
628
292
191
976
556
736
77
871
586
217
111
649
661
959
315
799
846
674
283
23
286
605
179
384
327
804
1000
240
495
845
601
440
9
170
324
783
538
644
120
263
160
714
721
959
862
777
782
758
470
942
894
245
606
452
9
232
85
395
180
388
249
208
407
324
825
707
76
353
283
11
713
810
109
792
719
490
71
738
346
286
342
973
427
534
279
463
257
954
800
94
606
298
520
219
41
999
266
920
620
174
123
174
529
304
953
374
457
808
147
384
291
488
474
419
262
555
56
557
785
495
872
620
81
585
687
498
94
245
2
707
390
751
410
168
453
55
758
670
249
574
624
523
42
853
933
200
146
977
980
572
735
388
722
527
891
611
986
310
765
952
144
944
115
898
876
477
520
336
898
583
220
153
891
297
921
21
424
227
859
394
374
637
87
824
184
229
277
708
316
247
248
509
448
818
103
283
247
29
113
87
80
360
407
471
620
485
151
789
120
363
121
497
85
792
483
978
155
281
156
671
291
167
357
443
776
420
779
222
110
445
400
862
614
497
102
120
441
64
108
383
749
640
759
488
969
862
292
585
487
907
98
478
538
371
410
302
802
591
469
721
25
533
27
34
931
890
456
714
869
22
831
960
922
727
112
752
631
578
925
767
135
779
546
281
253
45
354
797
973
5
441
774
891
40
66
241
356
240
326
497
481
414
773
381
721
641
693
774
416
947
409
104
550
41
294
631
1
941
149
188
713
515
187
902
559
642
200
87
130
709
372
198
342
671
808
216
529
718
106
312
647
880
195
963
327
593
208
961
769
312
396
924
885
744
957
951
695
199
170
95
675
816
409
140
684
165
483
11
114
826
200
811
114
58
236
69
98
617
198
322
263
96
216
525
496
921
553
133
899
246
464
902
120
597
1000
592
830
11
527
799
961
830
483
74
814
57
296
336
681
352
446
356
467
354
384
727
655
976
358
323
62
742
265
714
70
6
312
380
372
131
604
863
858
312
785
182
941
721
519
938
471
130
877
535
440
948
704
863
783
883
623
599
989
70
636
5
624
568
209
742
598
566
315
748
724
531
166
661
122
780
250
633
91
647
881
637
367
483
640
507
72
243
7
40
254
279
969
463
648
284
603
432
169
29
460
526
697
643
78
902
910
727
100
344
280
494
290
484
866
486
199
356
188
132
361
768
322
583
673
199
295
781
51
79
44
720
534
306
463
167
778
831
521
936
263
978
47
936
601
915
533
842
56
372
235
190
761
240
910
110
119
187
776
718
606
794
660
382
488
998
844
698
987
826
826
37
84
504
60
940
447
24
749
482
940
166
956
960
800
797
599
898
829
972
380
440
914
24
354
614
733
324
623
874
801
886
586
537
875
280
296
453
324
639
730
312
258
639
201
479
120
453
704
141
924
618
743
877
563
661
45
428
394
86
637
594
855
51
944
691
986
624
932
930
561
54
828
402
977
869
623
121
199
941
381
686
811
904
371
704
682
395
157
59
814
671
102
479
730
71
164
626
118
642
495
113
549
10
84
417
756
244
647
687
388
8
1000
781
128
781
410
737
788
325
798
25
311
820
199
593
617
326
621
712
894
302
254
59
207
925
28
306
321
860
669
745
196
956
749
74
935
68
665
593
888
813
184
437
180
637
907
406
229
990
37
184
672
762
869
418
714
381
733
232
102
146
523
220
827
440
507
856
159
403
872
589
823
588
319
558
951
853
87
11
957
457
975
13
619
941
281
962
477
846
115
760
107
763
180
238
967
507
956
560
283
442
218
896
871
108
920
612
893
339
813
588
288
4
573
32
22
346
864
363
356
667
487
288
51
734
712
214
816
895
941
509
290
313
110
943
593
161
595
845
767
870
957
122
461
713
540
303
859
148
817
221
137
290
357
736
744
836
497
194
380
573
89
912
857
311
199
71
934
726
267
833
833
132
18
366
381
640
388
743
614
507
809
343
258
750
483
478
710
234
680
444
3
538
671
110
795
854
648
436
567
76
853
44
104
994
212
63
777
232
926
994
347
145
876
271
782
398
174
525
76
373
878
295
155
855
719
76
740
678
652
159
498
135
192
642
852
10
798
402
618
999
998
545
9
176
567
60
617
885
841
964
698
113
139
228
465
956
386
161
100
288
211
736
908
88
218
556
360
192
665
743
769
429
470
105
12
174
337
306
994
391
798
639
539
117
151
222
14
181
564
87
245
664
148
685
259
231
389
779
930
14
163
578
906
160
474
226
44
507
194
427
189
108
319
85
303
488
699
336
862
569
745
202
948
201
380
453
635
83
366
936
137
681
190
749
674
399
894
173
137
903
595
186
497
971
931
717
311
660
373
559
843
911
139
969
80
919
442
567
345
742
935
88
333
639
518
910
101
588
105
46
985
283
593
475
455
639
973
259
635
531
525
894
595
32
34
718
549
908
250
38
774
488
187
795
403
336
382
249
257
326
964
154
510
831
227
340
315
728
395
434
474
854
482
701
847
347
415
643
496
29
130
18
473
641
944
425
768
239
311
448
167
538
48
635
681
323
173
261
769
291
810
893
786
874
995
289
959
644
823
45
736
864
83
697
518
669
434
711
644
92
211
902
971
891
142
331
582
698
638
679
924
549
795
404
168
215
958
757
704
135
476
836
449
917
306
460
102
544
222
564
540
434
698
185
333
464
984
906
727
887
504
773
521
875
445
286
985
19
355
82
304
750
624
277
125
65
966
291
384
345
383
130
20
357
680
763
107
670
246
223
627
887
726
494
414
22
172
91
749
330
476
461
722
676
174
984
753
254
216
423
590
121
929
101
705
519
192
964
245
422
780
959
613
84
974
835
289
606
758
541
751
738
373
904
189
155
544
169
268
456
468
245
363
990
489
275
526
410
479
189
958
552
103
486
895
833
531
368
641
841
658
710
942
261
565
73
998
527
786
140
239
864
914
454
356
502
230
363
232
862
325
382
127
481
139
986
885
276
441
16
996
513
549
462
56
487
1000
373
536
523
943
47
813
342
294
456
85
241
40
52
143
814
643
744
967
136
208
825
765
427
898
83
385
217
135
134
1000
956
260
291
571
810
669
880
908
128
921
24
28
682
951
313
156
321
301
699
935
123
262
178
301
487
897
533
68
838
196
470
474
805
22
990
790
785
89
714
656
784
946
195
969
302
818
958
998
819
209
109
891
140
378
897
910
425
127
519
506
279
891
806
859
649
763
150
580
619
918
209
91
395
882
432
603
929
241
455
732
641
651
741
513
654
497
634
982
804
117
160
587
448
309
504
342
725
720
55
72
549
818
354
97
17
374
17
380
354
749
982
515
771
869
983
952
810
410
215
444
853
632
570
99
483
273
637
296
273
96
937
419
425
21
466
600
382
217
714
605
187
222
742
597
867
894
808
749
609
2
261
578
793
319
134
452
240
388
925
913
180
522
565
338
501
185
438
3
846
632
665
787
959
566
518
580
514
630
993
993
321
737
60
86
412
600
41
654
19
347
918
82
861
759
88
893
482
515
233
890
587
781
547
238
485
647
484
921
745
189
582
733
158
400
688
412
893
821
58
531
547
479
431
518
405
662
125
534
815
124
634
957
59
541
976
920
464
459
265
687
799
468
602
639
189
84
383
309
886
643
562
206
213
553
226
143
954
385
103
379
234
645
240
212
690
521
158
545
343
558
248
564
134
991
30
913
513
431
166
649
833
693
813
818
544
829
951
714
348
838
852
752
556
101
711
415
832
338
792
924
414
735
139
104
690
984
8
450
674
121
713
501
547
455
488
498
939
361
324
709
8
397
445
973
722
16
269
771
961
130
226
563
178
943
773
237
404
713
311
249
332
612
477
442
32
418
458
592
652
545
564
448
75
863
286
387
91
776
443
868
131
335
858
515
949
474
174
21
971
63
59
75
184
127
61
123
562
470
811
134
22
927
78
479
799
665
452
656
987
251
65
878
668
704
792
476
709
387
867
652
853
374
685
371
128
894
840
92
6
545
140
569
951
248
395
206
175
325
287
292
490
652
518
992
124
576
736
138
218
183
433
712
549
525
151
415
686
638
831
858
401
517
62
732
643
750
352
770
831
160
238
444
481
649
236
114
479
398
163
780
366
733
321
681
102
263
415
736
673
315
817
208
777
347
2
63
579
727
527
176
166
244
950
935
936
736
446
806
585
493
707
123
783
454
910
688
865
788
143
772
112
108
720
775
238
477
218
88
750
326
923
678
739
613
604
546
469
841
167
477
873
83
820
428
693
738
811
515
511
588
677
782
407
659
220
857
277
477
82
138
141
601
905
402
905
725
508
556
128
194
459
830
299
560
677
841
22
623
438
854
297
519
254
8
760
565
629
480
362
939
608
325
458
810
382
231
701
167
941
523
438
442
919
547
545
3
324
996
756
726
806
813
578
139
465
86
841
110
15
722
754
623
229
766
115
972
244
935
988
616
238
323
692
9
425
240
470
953
87
860
541
418
597
668
567
292
977
705
706
264
569
275
583
855
824
54
461
665
43
548
837
41
137
437
501
713
138
636
809
430
220
834
549
249
470
867
350
940
495
520
966
911
231
263
178
167
1000
984
261
80
932
999
163
166
367
486
583
631
747
24
124
204
815
100
575
625
618
291
146
246
980
314
207
348
562
313
637
198
619
527
433
322
847
993
620
176
486
17
807
212
965
946
7
317
946
222
401
738
578
752
825
906
115
407
657
17
865
867
652
837
574
50
24
962
941
140
731
677
978
538
491
642
276
139
522
855
84
992
397
739
290
751
664
736
17
318
108
500
556
754
589
618
820
795
441
838
271
333
282
901
589
806
942
457
934
728
916
963
738
531
381
165
410
483
365
500
208
677
81
754
789
6
810
367
652
597
938
106
729
382
954
166
919
364
251
407
210
666
560
120
369
633
724
618
866
92
313
997
828
384
249
602
324
923
248
98
231
864
343
546
231
892
218
583
264
324
339
574
887
432
153
659
536
371
705
692
668
175
93
390
100
22
103
474
654
396
231
153
366
793
40
109
147
390
464
14
706
406
247
730
8
968
175
537
303
941
122
146
969
536
251
793
51
520
871
391
372
466
562
607
540
851
202
720
991
709
395
284
453
221
684
959
874
873
582
353
891
758
143
335
374
195
308
102
468
57
690
211
798
150
840
906
189
494
269
332
349
618
663
630
430
812
818
513
290
845
757
623
582
812
415
884
499
637
17
78
126
233
21
113
847
502
36
765
227
141
685
224
69
696
756
419
123
434
321
932
63
375
717
299
871
260
421
616
782
321
884
680
242
471
320
338
153
936
317
312
832
402
875
557
692
470
136
100
666
595
664
408
747
689
551
537
871
279
87
727
540
434
927
650
201
684
959
181
442
787
127
488
466
543
477
171
140
789
628
414
181
342
658
396
642
939
133
719
967
160
635
218
281
897
684
341
514
184
390
224
151
133
503
687
159
220
825
642
648
457
54
850
374
792
253
481
44
645
63
727
714
663
692
563
264
615
485
806
38
844
567
832
303
861
659
653
35
444
680
580
949
110
125
357
370
925
576
490
733
391
871
457
999
609
649
645
303
988
958
129
443
508
615
888
628
986
804
630
90
810
210
180
707
350
578
297
810
615
228
858
729
762
467
595
435
734
260
926
837
663
793
4
922
652
749
783
934
214
224
751
222
968
224
29
207
120
560
657
184
918
830
243
287
541
841
633
23
784
507
876
229
540
755
575
163
296
441
656
732
764
601
686
507
348
651
152
284
337
271
507
430
610
812
390
141
150
13
146
48
865
700
652
330
24
949
512
562
166
843
883
105
434
592
541
729
133
272
317
510
774
846
703
769
968
462
240
2
342
232
304
238
42
837
21
292
533
328
350
688
104
450
818
830
917
653
997
159
481
703
586
626
182
498
852
798
814
215
303
309
142
430
650
162
187
209
540
620
252
460
68
1
729
26
777
754
368
114
711
581
3
625
115
232
681
904
515
831
791
202
266
221
41
918
115
889
78
258
979
489
137
537
925
818
346
765
284
413
227
504
959
571
482
266
210
717
379
838
667
490
909
39
860
866
440
337
294
887
749
680
3
298
173
643
538
525
113
717
556
902
277
129
531
29
849
131
624
443
259
69
405
543
326
876
972
841
340
861
960
177
84
785
93
483
872
261
222
46
447
454
242
1
971
891
879
949
407
985
112
184
307
486
904
1000
382
686
12
953
283
643
841
740
671
102
727
576
37
39
567
560
687
988
415
548
991
371
511
459
302
86
231
807
890
497
628
448
892
812
526
220
548
519
636
164
898
235
804
512
760
800
275
464
4
942
810
54
73
149
633
86
251
662
393
206
388
661
788
649
676
761
58
120
592
958
286
553
302
972
325
192
679
809
240
590
564
967
311
584
68
378
53
298
511
647
167
491
75
573
45
371
348
248
269
83
741
256
497
677
167
637
314
291
483
282
883
669
938
413
695
872
263
615
318
269
106
659
827
418
245
11
476
489
351
485
298
241
135
997
509
377
374
701
998
318
668
150
736
52
764
245
616
698
947
891
115
918
298
234
160
74
595
312
774
320
244
735
377
426
917
743
116
217
499
634
234
925
539
70
271
670
655
217
850
507
230
40
913
183
314
306
513
816
855
21
712
212
237
94
693
415
679
989
936
389
161
16
185
465
469
692
986
252
365
283
777
281
107
268
860
547
316
937
95
449
664
770
847
393
980
546
508
427
151
364
935
866
623
891
246
807
400
168
738
792
197
276
128
664
780
988
930
820
627
304
533
666
705
421
481
52
593
248
517
871
146
79
193
801
636
372
223
388
600
914
326
264
664
817
969
331
222
885
316
167
203
923
668
730
83
449
867
688
960
81
467
345
752
628
926
189
541
500
757
531
666
627
322
586
401
492
941
611
995
248
77
385
359
136
610
410
953
585
669
694
260
438
18
878
772
737
760
761
620
351
4
996
782
543
157
840
328
266
753
361
317
544
32
431
739
841
41
162
403
700
667
204
753
273
858
434
420
569
246
145
689
389
556
795
220
952
451
732
57
152
914
85
382
239
907
201
545
471
762
570
579
945
718
180
820
392
69
651
261
166
633
263
950
75
627
253
101
961
598
315
555
135
731
308
925
880
731
560
5
228
501
23
73
136
961
753
245
997
740
845
402
157
889
990
89
725
470
310
390
507
600
947
59
334
540
196
38
414
479
616
99
567
958
655
544
394
280
815
752
480
830
253
940
703
973
53
624
611
60
89
162
616
147
514
229
426
204
433
241
767
971
253
535
920
115
530
603
32
4
860
794
470
284
532
648
700
350
185
506
323
19
701
98
922
950
891
568
313
842
335
799
668
15
907
966
684
777
71
944
692
875
74
586
122
399
505
921
229
769
532
965
373
792
306
246
423
329
658
74
41
827
232
285
724
800
594
473
450
386
750
718
735
247
674
393
665
432
160
966
254
276
302
608
51
74
420
22
499
40
71
162
969
21
80
401
744
550
190
280
485
62
20
169
874
549
505
63
193
471
893
248
576
490
669
771
533
489
479
466
172
362
270
813
188
266
342
47
318
409
958
734
461
911
501
512
67
992
873
817
712
546
11
180
28
121
928
117
235
514
645
748
620
427
751
996
191
121
102
634
639
596
326
522
443
575
413
59
651
527
641
286
430
994
472
64
930
742
899
479
424
655
868
922
937
805
80
322
789
854
444
655
578
792
915
153
111
34
262
607
734
52
568
790
306
73
889
286
788
807
576
968
69
878
193
930
149
339
857
958
284
678
71
499
11
793
821
673
250
657
774
58
826
872
900
881
837
825
771
758
241
926
35
314
950
283
323
859
476
221
934
787
885
245
175
522
393
400
139
647
476
504
77
309
733
404
212
129
111
194
27
609
266
379
586
468
15
28
423
444
844
334
881
823
378
381
563
363
585
567
743
374
220
881
143
372
691
138
497
153
93
387
704
127
625
892
174
448
987
512
187
824
646
828
699
864
43
75
26
510
924
798
313
369
958
134
463
763
754
844
508
912
173
487
993
955
567
657
35
444
217
798
141
545
757
956
789
412
828
724
965
117
557
788
616
79
696
710
988
125
436
29
346
239
957
323
471
530
775
597
598
158
794
288
207
818
799
157
167
827
763
615
257
78
7
323
34
863
696
452
312
110
591
648
308
627
316
577
599
774
570
896
641
409
901
655
510
21
646
388
928
746
628
667
384
333
5
422
338
212
460
153
107
513
559
56
968
266
675
154
468
43
362
761
688
979
418
14
437
457
197
709
966
734
880
425
798
445
561
736
722
224
963
360
805
644
545
225
527
329
558
794
800
311
343
445
671
711
784
353
951
354
378
113
933
204
811
290
549
415
291
191
79
325
133
421
536
965
266
191
397
507
385
936
192
619
445
520
824
862
98
210
145
125
414
612
462
574
977
16
154
746
992
883
526
249
580
791
311
966
831
773
45
798
511
832
610
763
538
396
846
694
479
593
56
871
335
568
628
678
858
447
721
763
468
227
188
253
584
582
455
296
883
522
85
539
524
914
145
241
879
89
294
331
673
168
720
135
742
276
666
430
785
504
318
181
603
348
225
599
319
364
296
142
985
937
616
696
789
405
1
439
810
245
247
850
905
674
487
905
821
798
938
731
104
426
598
922
688
731
106
270
339
219
94
862
259
914
812
398
237
182
746
79
714
411
200
637
989
608
576
877
601
46
145
633
595
262
670
181
997
111
143
950
309
41
230
861
271
463
769
722
415
897
810
910
211
550
224
979
686
151
888
948
471
115
794
750
144
605
220
744
608
625
265
244
985
87
639
721
172
661
589
732
777
333
230
648
609
817
365
918
305
338
63
982
940
866
918
917
658
583
886
557
483
203
48
154
444
782
492
585
85
859
722
765
228
26
649
171
605
580
298
344
565
493
789
807
652
756
37
104
239
103
877
541
793
213
994
798
572
767
138
783
738
144
563
964
918
122
561
961
234
685
235
350
697
902
366
475
646
927
375
577
596
333
846
660
487
362
60
390
788
203
278
713
361
43
283
67
286
497
809
795
70
980
70
825
805
739
511
764
872
534
327
304
723
445
14
241
126
834
433
459
28
323
410
971
815
486
927
442
356
118
333
688
677
88
792
307
468
244
420
932
951
330
172
624
807
604
539
536
952
692
562
326
980
231
504
732
982
8
754
374
276
658
166
88
307
422
128
79
598
152
75
727
189
499
45
152
408
209
140
546
215
520
432
823
559
958
946
378
407
212
825
599
118
361
680
312
851
459
455
518
549
363
808
635
837
738
145
944
870
377
967
83
748
317
97
270
644
760
716
377
180
473
845
94
917
156
85
247
42
261
949
694
470
877
106
391
610
592
207
903
993
690
728
88
794
648
457
701
56
672
823
416
77
899
256
109
968
20
178
284
900
242
989
219
912
964
673
729
443
34
212
448
953
174
55
204
77
36
285
332
792
308
993
781
947
539
575
454
369
594
333
515
437
193
811
346
686
597
739
391
507
300
361
419
467
550
129
584
134
605
504
286
503
915
600
983
348
839
984
39
813
47
757
178
604
550
410
314
970
122
621
379
470
975
281
237
217
715
554
968
881
981
719
572
230
674
855
640
438
350
177
655
636
189
979
341
493
914
695
953
661
190
530
461
12
318
500
323
516
481
474
994
447
435
994
301
382
249
235
609
109
689
441
12
108
836
602
851
787
821
890
528
987
931
630
925
588
852
155
751
227
572
950
766
244
275
880
165
968
593
171
362
378
744
7
28
977
424
300
528
459
768
192
837
360
383
353
586
435
196
965
162
931
855
579
674
294
500
691
159
80
996
982
619
24
133
634
359
265
874
63
599
723
475
668
564
484
166
953
39
842
144
440
928
350
832
367
461
804
686
37
553
622
392
60
227
472
912
452
191
308
707
694
398
234
413
413
873
709
411
317
164
660
4
353
557
12
381
854
538
990
137
598
118
294
902
303
287
936
533
53
274
55
405
558
307
540
568
951
260
642
935
26
882
61
175
451
360
171
745
479
552
154
281
156
600
822
647
803
540
805
53
832
206
610
28
578
945
779
469
889
650
999
670
664
158
558
984
422
359
976
767
209
207
9
312
870
439
439
788
774
991
277
590
576
974
22
78
483
614
631
451
821
745
714
337
376
258
259
768
115
450
891
385
408
325
253
87
806
750
618
839
746
793
252
32
307
735
334
613
301
990
517
181
480
625
293
377
679
253
390
206
998
811
363
369
959
171
394
275
717
540
53
209
989
373
468
995
374
854
877
610
113
64
53
425
144
595
424
121
523
773
46
904
881
568
740
307
638
13
827
746
67
185
888
11
206
815
885
33
787
193
811
582
44
336
746
70
285
283
832
224
596
13
214
227
880
700
441
851
732
944
159
221
312
154
204
110
464
489
330
92
819
643
918
440
514
260
943
396
476
990
381
336
890
987
30
379
628
205
376
200
915
948
782
167
430
979
742
424
380
931
377
221
834
910
652
606
733
931
37
592
543
288
440
33
504
36
293
742
748
511
613
842
371
218
699
941
696
483
894
480
552
973
490
528
390
557
426
381
447
30
914
533
967
868
479
993
708
578
228
455
564
134
298
544
160
722
601
188
712
252
928
211
248
120
408
390
570
283
160
558
938
16
650
794
540
642
934
418
252
115
498
247
68
591
823
590
847
22
192
484
685
358
470
11
339
186
785
911
579
462
75
284
271
570
467
926
267
85
307
717
922
488
468
523
138
561
248
270
368
339
761
231
955
333
240
36
482
168
75
628
583
932
735
177
787
286
931
970
518
840
526
432
356
385
716
692
1000
297
965
620
159
875
11
806
775
392
26
755
556
379
670
470
799
26
340
688
855
612
399
236
435
566
552
409
97
89
798
754
946
285
621
410
520
374
130
954
336
908
923
751
349
826
292
967
835
860
275
718
866
45
725
316
579
31
232
231
908
489
258
134
301
156
284
387
244
946
123
433
50
136
810
775
487
842
625
706
284
872
899
479
480
573
204
359
843
467
409
894
326
332
892
759
635
851
865
759
485
129
380
912
74
184
81
47
622
965
204
41
563
605
591
611
127
364
778
589
593
166
276
729
477
728
261
398
234
23
786
938
882
209
503
113
89
238
631
807
868
67
556
51
4
744
44
546
747
714
482
77
83
328
984
585
133
907
453
242
810
710
896
527
929
787
387
211
331
39
82
117
481
734
586
745
194
400
807
119
796
234
146
760
102
161
499
251
20
220
98
734
474
234
643
562
601
597
535
475
867
599
266
914
800
899
211
523
566
652
83
437
483
296
345
714
876
229
704
135
382
398
625
658
942
372
495
999
222
571
643
166
125
182
961
308
424
717
253
885
241
326
768
990
277
724
600
673
227
50
762
191
785
55
783
468
12
762
602
452
588
161
418
682
669
524
865
140
652
697
575
384
119
36
749
16
647
736
825
797
971
948
719
94
182
441
394
871
272
566
721
187
340
900
659
954
231
308
834
779
168
84
467
841
218
470
446
115
61
138
32
699
575
145
357
668
219
452
376
662
66
378
385
356
588
225
577
91
989
886
357
172
970
486
286
796
265
921
606
116
236
764
276
709
58
116
309
565
796
878
997
805
717
391
316
490
777
541
373
275
92
255
296
154
561
754
341
220
540
81
347
186
629
170
861
396
146
184
408
186
875
914
393
769
982
801
101
237
815
542
64
907
442
278
858
990
379
115
34
474
963
70
453
200
191
577
785
342
674
373
295
863
542
912
328
107
778
476
107
350
444
773
554
4
720
159
833
184
484
547
245
512
435
726
916
351
360
61
442
159
238
499
279
283
315
387
207
291
142
859
651
927
860
453
967
840
665
168
74
527
492
414
971
346
433
142
732
15
307
998
574
761
103
526
439
166
703
269
341
796
447
136
418
903
585
537
211
848
605
611
227
399
760
342
214
748
844
448
945
868
438
754
469
883
352
161
983
192
18
413
458
433
871
643
132
786
591
37
816
759
229
58
712
324
818
350
118
209
65
850
937
246
134
630
410
853
291
703
853
177
433
349
463
927
110
528
473
645
672
592
997
4
623
813
959
765
57
231
356
153
333
918
978
765
755
53
381
614
101
143
584
499
290
289
458
759
344
663
246
354
65
276
989
353
540
640
882
186
663
182
769
384
325
116
14
178
883
16
9
989
744
512
406
776
663
383
995
241
456
806
802
77
321
676
615
816
938
735
619
341
798
680
252
805
994
595
716
496
821
775
771
208
113
476
606
793
164
221
597
853
491
7
705
11
431
203
118
783
749
950
505
839
41
617
896
370
661
225
772
346
339
789
442
675
440
193
130
678
6
591
518
824
381
277
650
371
193
660
228
426
913
269
311
935
66
678
369
293
355
883
429
592
671
911
792
988
942
402
440
329
309
481
752
967
903
492
636
632
838
63
495
339
655
527
720
587
579
970
560
506
407
986
288
195
761
833
542
212
733
778
623
89
664
337
302
762
899
560
381
20
900
702
860
437
12
389
60
758
506
901
462
368
287
283
352
326
764
778
560
397
970
530
746
678
937
564
688
686
738
827
991
244
340
467
480
99
614
568
287
966
423
314
313
622
695
884
313
734
790
440
312
351
260
248
461
364
335
285
712
800
39
742
883
495
916
407
806
564
709
304
216
85
240
863
982
603
905
552
102
360
899
180
564
658
314
1000
864
390
709
344
468
578
630
764
949
679
804
551
906
580
444
84
999
401
142
644
607
698
354
237
678
197
354
463
328
949
846
684
600
658
119
559
611
994
764
529
978
907
476
978
38
294
393
616
862
909
765
75
482
49
480
860
77
408
113
557
69
425
733
627
219
645
640
230
860
852
590
255
323
235
814
130
482
402
332
55
82
865
638
25
197
518
820
354
702
691
579
472
148
625
411
429
783
588
423
892
770
371
864
409
824
654
489
380
608
540
274
475
221
593
864
198
23
890
343
945
867
889
594
151
526
447
535
67
723
909
5
321
739
17
918
611
971
329
578
853
207
935
740
591
606
531
52
756
551
331
45
692
594
860
689
914
714
419
877
241
946
888
869
788
273
584
873
804
326
86
440
490
59
296
291
736
61
535
508
204
579
99
789
269
655
585
581
152
974
217
483
971
189
595
250
564
498
533
106
657
195
154
836
364
768
963
308
82
888
431
666
519
253
501
396
7
866
538
917
266
766
442
73
449
627
62
199
677
923
567
968
229
539
153
300
253
828
298
17
116
100
815
769
528
448
98
987
174
629
295
274
862
450
632
698
138
731
714
891
912
452
472
745
884
152
335
763
453
952
336
768
359
900
110
813
540
412
167
570
517
732
404
407
193
239
540
642
114
369
44
182
70
648
193
880
446
73
70
426
844
651
676
565
347
415
859
720
226
652
407
885
41
384
495
742
849
394
649
572
673
171
537
424
474
244
173
432
614
260
588
879
214
51
628
841
848
676
285
783
746
68
898
492
52
519
643
126
703
677
945
946
176
128
852
519
718
907
930
797
621
503
966
475
819
975
611
493
339
848
89
344
132
346
308
115
441
330
988
824
100
52
939
665
147
450
245
233
678
251
895
673
147
602
370
952
205
265
793
152
727
715
502
729
917
594
352
227
218
72
595
765
304
635
933
975
622
676
246
752
764
98
494
273
480
774
544
305
272
358
992
715
327
409
585
438
14
226
498
899
298
99
568
39
183
889
546
621
747
27
589
494
424
992
479
794
925
334
544
906
597
112
819
127
81
391
785
572
845
107
928
884
542
161
417
645
160
85
480
251
630
14
383
167
902
962
512
131
467
605
735
881
994
879
73
402
35
685
735
524
726
934
743
960
39
948
670
490
398
989
543
68
436
292
545
79
240
533
999
843
682
92
26
727
337
832
388
908
60
357
303
909
491
875
423
522
642
884
739
630
247
825
918
735
736
771
472
701
535
990
172
372
898
898
359
187
626
542
127
891
829
247
898
750
373
461
537
421
754
170
30
774
935
464
685
525
108
968
971
468
440
892
422
501
604
395
449
369
301
797
530
255
36
951
17
916
138
718
694
56
369
78
315
26
511
883
591
730
983
616
433
850
926
832
882
80
117
142
774
124
816
685
106
590
873
54
54
800
459
558
758
716
352
496
339
884
34
860
70
310
746
518
263
651
278
450
261
984
485
55
813
660
450
912
281
451
755
606
342
259
550
418
304
166
977
722
688
489
20
925
513
796
82
658
553
575
359
698
926
330
655
823
538
422
378
383
292
885
287
860
465
797
46
142
324
495
714
504
901
118
134
563
791
446
576
553
12
34
107
350
235
948
881
581
148
209
987
23
335
212
497
250
800
997
130
125
188
201
267
343
837
934
127
660
23
645
564
861
140
206
294
768
120
91
385
825
63
546
444
856
958
48
302
622
328
212
913
697
849
532
854
25
287
983
36
207
596
564
225
237
658
347
532
910
920
403
269
584
161
311
514
327
706
589
233
717
678
491
69
763
304
83
751
425
839
439
619
246
439
57
938
440
181
350
522
597
467
135
676
840
271
600
625
877
20
137
414
903
434
770
709
687
300
628
72
546
993
103
54
75
541
817
875
691
148
552
568
25
413
610
201
190
904
855
188
772
379
879
778
153
684
304
512
435
291
219
808
813
524
150
878
696
720
779
851
276
997
797
323
524
817
941
552
773
251
233
162
174
698
912
546
280
822
353
108
957
650
519
112
620
97
125
177
513
648
775
422
405
592
745
799
575
978
994
462
435
419
229
874
468
972
526
948
418
601
116
706
831
124
401
835
120
131
192
35
287
117
435
236
317
901
427
620
72
518
605
848
149
917
548
86
839
170
731
199
751
436
913
971
143
540
782
315
272
914
626
219
330
561
342
630
639
920
63
529
831
714
46
225
683
401
227
308
93
385
33
719
498
949
623
160
633
770
718
408
134
964
569
127
962
830
434
478
987
852
114
138
360
78
741
365
519
659
7
372
735
226
465
610
141
781
369
497
75
931
742
780
404
650
17
979
207
203
656
290
830
535
595
940
862
199
232
209
23
852
954
246
295
463
863
379
909
634
449
803
922
848
458
438
221
49
75
256
742
666
869
562
590
115
634
558
508
817
393
27
864
4
335
100
900
927
397
910
507
580
522
379
187
761
377
518
200
64
450
397
101
429
997
372
1
975
282
252
940
159
898
831
681
740
734
625
103
649
347
689
101
609
45
134
585
281
15
324
735
788
199
739
124
696
433
233
717
912
572
674
41
523
936
36
5
273
430
602
956
261
134
277
545
431
955
966
918
601
226
607
536
118
726
710
656
687
693
186
166
563
828
872
944
111
176
369
424
649
15
718
332
640
594
34
866
529
604
387
717
952
799
111
424
619
30
270
497
908
318
153
655
83
226
549
297
111
985
31
7
231
267
630
510
800
510
94
995
461
944
411
125
313
293
350
381
638
200
606
604
671
27
533
733
69
603
560
774
31
891
111
967
442
274
288
988
44
389
585
746
408
961
679
35
366
135
650
834
670
165
73
539
865
122
55
789
739
516
673
836
280
301
243
586
750
805
500
568
353
492
107
51
982
360
837
483
705
954
431
209
968
687
384
173
977
141
868
916
359
551
574
747
3
466
518
378
913
928
749
674
37
110
451
437
273
500
171
277
298
177
747
717
414
612
59
630
362
760
901
11
920
885
118
838
164
698
649
514
463
891
259
934
625
91
576
762
151
578
483
894
187
865
70
402
626
367
109
495
763
947
450
136
61
95
836
13
878
832
375
485
447
235
317
999
17
623
834
195
822
63
223
611
456
809
325
434
329
702
984
256
82
365
37
124
251
214
691
519
994
947
130
27
417
171
836
622
873
259
439
445
623
383
867
895
428
867
180
655
962
695
765
10
401
26
501
433
212
45
82
954
928
329
949
283
670
202
172
981
264
197
193
244
80
855
550
41
134
554
578
368
549
990
603
412
251
196
351
252
598
719
98
531
749
685
630
230
735
992
196
257
562
807
460
82
207
875
942
60
11
889
525
386
811
304
416
874
134
543
362
863
920
503
22
592
507
614
147
340
113
492
607
455
591
407
390
182
57
348
380
816
869
479
127
323
527
164
828
16
294
546
427
242
724
863
91
370
819
318
307
504
268
309
502
485
19
299
391
736
525
376
248
411
91
862
874
140
153
912
361
365
736
145
650
917
17
771
494
1000
702
570
669
200
863
331
191
480
6
39
854
384
400
191
606
830
98
100
178
936
684
949
881
306
495
646
702
73
945
262
632
783
655
930
694
912
252
595
267
379
95
969
127
949
665
337
72
820
50
617
157
995
768
230
287
285
162
872
413
914
718
252
620
700
991
209
167
796
219
412
922
744
364
997
735
414
53
112
949
35
812
292
675
78
71
16
454
254
648
571
624
261
789
588
45
173
426
188
850
605
966
739
513
842
815
621
859
156
841
243
604
418
154
797
623
968
891
865
428
375
209
64
285
417
276
365
966
78
902
581
400
851
353
802
383
968
24
211
57
426
911
829
105
843
214
192
460
263
23
886
865
968
716
150
805
267
647
478
173
6
679
250
523
228
386
963
924
19
36
536
236
83
44
519
92
1000
207
761
996
423
870
229
724
712
173
262
648
636
637
441
692
781
664
676
391
283
960
849
899
318
508
541
879
573
478
953
911
534
377
106
428
58
812
838
211
97
488
867
182
899
434
439
536
217
994
668
300
328
844
719
6
696
107
380
516
161
705
439
997
432
212
487
629
477
819
444
971
122
499
121
779
832
98
640
714
133
869
335
583
617
921
88
695
807
154
686
450
412
524
894
496
661
897
415
681
480
312
814
528
244
235
771
166
724
243
755
484
616
637
297
768
758
680
600
239
712
520
109
726
926
344
27
153
57
23
487
663
403
280
248
981
582
445
310
17
728
962
847
858
534
123
153
993
387
953
148
49
701
772
87
362
313
736
771
436
458
548
484
687
411
644
325
944
364
363
380
807
471
3
392
356
296
219
199
665
84
903
246
239
365
569
877
816
430
233
970
920
99
2
705
183
42
873
902
739
629
733
424
909
909
197
586
14
868
707
388
372
543
268
655
449
927
305
834
712
861
381
313
914
244
945
563
436
1
843
359
838
176
74
590
943
435
133
907
636
35
352
553
42
991
845
249
907
813
7
939
815
645
46
518
343
75
676
425
372
204
957
97
556
764
207
885
373
235
87
923
298
912
228
865
359
858
231
142
751
480
480
575
252
264
959
769
874
831
192
699
594
72
506
285
994
565
19
577
359
890
199
351
107
708
305
556
417
692
815
58
593
487
701
559
988
868
521
396
304
195
395
180
669
76
284
858
230
861
490
851
853
242
895
370
202
738
281
881
638
333
13
954
336
826
466
418
550
761
857
813
179
930
546
637
663
528
452
762
760
995
956
709
947
489
570
178
10
688
662
335
928
330
760
890
245
492
285
917
996
130
113
703
683
771
983
657
926
629
654
453
196
571
637
124
473
551
512
798
753
124
101
116
93
606
248
154
261
312
530
841
143
26
10
450
763
558
67
732
131
759
379
642
201
905
404
446
853
672
77
147
200
257
974
847
495
385
918
632
570
16
824
17
43
600
649
826
511
625
401
602
561
24
576
296
688
727
797
52
195
275
119
336
671
955
221
536
967
355
693
429
421
569
695
597
698
577
555
924
793
440
278
847
638
49
518
879
258
127
302
251
643
73
664
235
298
7
420
792
972
86
474
746
191
737
464
585
42
994
988
342
129
491
397
727
718
19
917
856
893
756
864
438
975
421
841
281
523
634
127
297
15
704
877
997
703
920
395
618
161
177
487
620
823
423
818
270
121
979
290
433
902
280
663
495
454
926
51
538
855
252
457
514
305
807
220
182
797
224
90
988
766
977
675
924
342
425
168
617
422
372
567
561
106
78
134
446
921
301
403
4
877
485
917
657
663
634
765
511
141
787
131
926
920
247
313
977
947
873
102
611
980
837
964
179
291
188
234
360
150
472
384
176
500
428
486
908
687
483
206
276
306
352
981
127
6
575
598
249
573
210
10
636
734
251
88
709
889
516
965
506
444
936
788
855
465
160
954
879
161
384
409
971
76
96
126
533
957
266
715
387
960
90
975
712
228
23
309
809
928
278
146
752
482
364
893
206
103
506
499
330
716
11
400
664
19
701
470
355
725
574
642
902
28
762
981
831
908
639
372
367
223
705
430
223
420
461
889
70
333
48
525
135
743
859
605
622
305
682
984
355
7
182
199
105
512
708
370
553
649
454
257
745
815
990
576
200
239
72
551
522
926
392
739
498
551
657
342
180
774
962
597
374
217
933
349
288
840
535
551
842
549
738
299
282
669
491
971
278
344
535
171
679
1000
676
493
417
781
39
553
867
248
698
345
110
712
815
754
158
264
105
960
160
956
970
551
37
611
181
399
767
411
293
728
764
784
337
357
402
66
463
802
771
105
351
765
147
263
188
572
528
237
930
264
806
765
380
395
787
523
344
62
343
486
745
323
409
614
120
960
440
941
380
508
170
93
19
542
231
779
267
511
244
46
805
820
507
945
744
409
275
785
533
849
955
336
355
847
222
196
344
67
210
8
653
437
397
399
6
399
801
284
855
131
376
690
699
388
262
330
429
481
707
969
762
860
976
46
9
915
592
106
410
917
549
342
225
440
965
962
651
253
767
135
322
395
645
11
890
80
428
652
684
174
496
777
960
171
609
867
622
40
748
547
569
802
171
155
40
443
938
47
400
600
537
502
840
470
117
72
354
577
62
831
188
337
263
239
674
861
537
314
991
58
71
351
933
903
627
708
208
687
557
59
134
165
295
84
860
782
130
791
402
580
516
509
841
974
83
151
13
278
829
518
903
807
653
239
734
371
526
469
429
216
104
608
742
800
531
92
846
313
481
817
569
524
271
834
808
354
981
770
852
561
90
822
496
53
107
320
844
661
997
528
659
617
33
832
949
624
819
464
257
157
861
659
751
530
36
501
815
378
680
752
283
409
869
630
857
668
623
851
530
116
409
254
28
6
337
958
388
423
844
342
776
321
541
70
591
618
79
33
691
193
597
353
313
106
308
504
886
55
283
238
470
796
334
209
13
276
169
126
928
293
683
799
794
772
302
675
119
163
827
322
162
52
93
862
815
785
48
518
397
824
617
294
20
565
760
310
852
574
719
451
245
536
329
807
140
746
624
850
640
602
702
410
897
436
965
300
728
954
382
849
480
723
414
740
717
425
565
236
216
51
332
343
653
808
474
463
63
296
120
852
870
394
212
531
800
412
198
357
507
263
657
634
102
809
780
965
52
94
224
94
128
845
880
73
175
510
534
464
464
92
218
201
324
225
293
390
553
250
959
591
824
526
927
60
965
880
449
27
474
843
780
326
130
324
387
593
870
436
929
829
374
476
98
307
954
472
900
707
413
285
847
863
520
993
859
719
616
148
344
909
660
577
61
872
703
572
899
599
406
671
610
872
692
764
876
353
37
903
846
997
254
36
385
35
798
868
885
206
798
168
381
23
22
170
138
582
937
129
607
854
890
730
839
428
159
794
38
420
312
641
894
609
860
564
773
910
682
79
604
964
61
14
537
967
473
46
52
876
448
982
217
749
936
960
217
324
596
731
123
872
370
371
100
11
474
91
882
426
713
301
436
386
615
705
151
530
439
13
771
655
551
804
576
127
997
183
960
106
381
119
663
985
286
795
399
328
583
861
499
95
898
227
528
161
438
884
489
942
120
346
408
463
670
441
539
345
937
591
430
8
181
180
362
824
515
343
450
124
971
259
831
698
913
84
901
876
634
741
553
385
6
119
689
895
19
655
96
594
855
890
914
180
936
368
532
374
21
131
725
445
6
169
242
228
552
407
862
862
36
193
138
746
637
791
668
266
511
107
740
466
164
700
647
158
89
170
780
924
672
167
851
97
191
592
261
81
425
62
649
293
66
311
145
618
615
35
692
511
932
604
93
771
913
197
99
592
66
158
939
688
874
810
198
188
950
511
820
498
914
509
341
535
838
994
137
561
871
823
615
356
357
583
774
605
363
9
494
215
9
291
256
696
458
479
723
913
678
3
756
258
367
331
4
745
518
898
150
603
172
760
269
723
825
853
524
667
812
363
594
70
758
466
823
914
819
609
59
587
32
603
557
622
551
996
104
719
927
611
756
997
890
664
176
394
248
580
578
825
671
479
728
980
82
319
264
630
307
862
858
938
477
923
359
523
351
887
150
993
401
83
366
222
7
403
512
922
589
533
284
938
790
215
66
277
157
281
672
82
856
582
378
633
77
508
192
8
725
564
605
185
892
297
795
243
386
975
329
790
277
567
979
916
30
964
150
772
304
874
785
336
881
503
328
74
542
959
479
933
895
289
38
602
333
204
70
13
278
841
16
825
875
366
108
46
90
800
673
976
965
265
431
421
411
710
955
428
519
290
782
903
807
795
521
84
234
890
487
228
85
511
14
858
2
431
600
550
585
872
505
582
937
72
205
702
477
844
389
916
140
548
800
467
823
308
292
102
549
12
925
333
376
373
786
633
500
318
484
412
366
50
974
179
854
407
408
515
750
563
230
348
812
673
613
558
678
816
650
110
774
468
402
775
148
779
30
971
852
131
767
438
98
819
393
233
914
186
229
47
430
246
389
910
263
614
182
185
676
590
116
140
307
328
887
509
336
376
147
182
853
256
552
577
87
427
836
307
868
677
180
461
380
954
183
197
834
695
99
378
140
953
827
654
55
8
358
756
580
691
953
721
528
356
414
486
351
282
171
534
243
302
782
282
519
638
672
505
26
225
574
377
115
306
199
640
291
698
110
1000
236
963
647
105
303
606
17
351
947
591
335
345
831
687
498
23
455
594
250
361
292
367
694
79
316
389
824
962
755
39
321
252
639
225
31
70
418
182
991
952
549
261
863
436
414
969
918
64
377
177
486
314
80
249
913
726
329
813
624
956
19
49
853
547
612
638
966
985
602
4
50
978
268
45
667
997
753
343
195
787
188
751
219
968
130
327
800
850
62
820
257
285
87
300
318
706
237
76
97
511
992
724
368
601
732
933
64
186
809
865
726
951
896
905
891
268
15
7
36
462
442
309
768
30
252
345
386
334
857
954
816
513
297
961
197
285
407
801
53
848
235
504
91
323
249
904
144
39
937
498
664
499
371
108
494
44
207
396
341
81
349
316
475
222
221
796
743
862
177
306
846
491
102
444
235
559
629
402
659
771
768
935
582
515
918
490
216
548
396
248
895
142
630
165
856
644
129
510
285
841
164
30
644
511
879
636
902
335
179
399
247
652
347
741
294
620
778
944
563
981
624
456
248
14
422
49
884
223
971
569
548
984
808
878
666
665
669
599
321
721
202
446
189
859
25
238
903
677
966
201
663
98
910
766
393
504
264
889
593
752
444
868
326
115
187
720
429
792
689
472
141
819
790
107
826
90
454
515
361
742
769
498
52
316
599
786
679
977
775
68
344
531
418
220
354
193
598
291
273
791
997
314
613
638
718
665
404
354
635
542
965
755
948
101
820
320
713
916
619
866
167
758
288
785
599
91
429
628
377
333
140
841
480
661
29
224
576
80
161
4
211
533
104
487
185
77
21
904
560
526
952
426
8
509
84
318
452
596
780
847
977
991
608
876
82
323
401
40
162
198
666
23
9
558
258
727
786
312
321
72
589
378
950
738
235
76
863
428
366
730
697
114
295
461
160
309
286
435
401
599
116
207
418
563
839
414
240
729
630
783
906
389
499
308
978
965
413
509
447
65
79
866
396
594
242
881
720
6
844
763
540
340
810
347
676
730
530
732
700
900
367
78
631
578
594
149
305
854
254
479
811
249
340
486
144
673
571
481
426
507
762
254
608
760
482
868
560
618
233
345
867
746
873
167
426
365
388
911
162
496
373
864
799
722
834
178
630
525
955
976
663
503
528
836
355
791
630
237
383
597
957
903
547
63
948
422
949
586
462
205
52
325
306
584
95
865
345
869
591
928
307
213
338
558
595
471
427
436
645
595
248
849
369
733
371
379
263
888
488
528
575
919
310
379
770
681
431
859
182
317
677
334
358
65
409
83
112
458
551
641
697
468
888
155
834
959
293
648
564
802
116
530
12
150
912
799
177
653
60
92
840
851
581
183
483
576
665
558
906
982
968
432
879
723
753
929
710
863
334
188
124
366
94
832
198
374
536
587
396
38
467
826
927
359
402
473
773
359
751
9
713
920
119
291
590
776
355
507
893
498
582
881
436
765
523
676
552
878
870
613
765
245
337
104
326
526
278
575
365
241
450
728
659
888
578
785
173
51
856
678
611
554
437
608
171
439
248
650
590
434
171
864
354
638
772
911
618
327
248
306
13
156
209
249
993
544
238
450
805
685
911
476
465
475
111
945
373
605
13
289
288
227
75
953
480
870
751
587
750
762
380
237
913
294
918
571
66
145
746
916
631
493
757
215
727
816
370
104
911
23
861
925
682
30
661
876
466
466
855
489
953
849
140
268
782
492
938
633
565
338
185
291
156
166
557
770
881
866
537
128
180
20
791
782
729
635
753
9
657
652
225
899
914
861
18
445
181
884
380
33
993
225
12
789
880
739
985
121
418
504
736
329
50
762
658
328
411
522
484
373
680
445
780
187
189
815
396
23
89
796
632
8
401
652
241
610
186
292
73
132
880
321
386
986
67
768
328
873
92
796
106
130
958
980
686
223
879
213
670
785
730
887
141
653
368
771
875
69
478
911
297
591
154
977
955
280
901
689
84
416
126
354
48
343
474
94
67
35
545
29
627
612
649
551
434
395
236
835
595
978
571
896
923
497
17
822
953
494
50
321
271
745
712
319
226
981
781
164
975
723
375
952
61
299
32
557
405
720
587
254
692
274
321
216
590
592
927
753
178
452
788
881
209
785
998
711
601
169
266
183
601
620
608
871
649
621
289
948
838
144
976
892
253
900
524
223
161
150
68
336
215
209
364
524
342
199
443
379
993
700
663
96
748
703
201
617
71
650
873
184
184
435
915
625
592
935
45
603
805
16
648
165
183
998
454
115
639
231
419
175
136
784
816
385
538
252
745
949
384
327
358
540
596
92
103
137
942
972
208
591
342
885
436
476
733
420
861
250
252
811
69
380
990
55
690
901
386
762
637
799
644
272
763
750
201
61
903
977
380
750
436
422
833
842
562
16
290
884
465
524
416
901
414
383
299
826
636
942
211
107
500
755
773
859
129
902
629
717
81
854
18
34
134
45
421
152
557
152
559
304
423
55
602
90
707
605
402
596
901
595
902
949
848
806
690
528
343
586
796
82
782
198
438
742
833
78
422
288
649
239
262
41
620
252
926
451
45
679
291
799
393
312
35
396
8
326
675
355
211
286
926
299
764
951
372
329
572
15
665
224
308
231
144
90
367
838
793
631
217
875
925
817
693
744
842
920
289
317
995
869
787
28
835
358
878
628
640
413
540
688
83
968
34
550
214
528
354
115
809
206
818
777
781
226
319
829
418
511
399
895
776
117
947
275
456
68
801
613
334
658
958
969
556
347
410
193
243
204
847
493
929
274
602
208
674
308
233
117
197
95
114
33
124
985
213
72
617
282
16
715
252
903
224
735
997
47
388
105
515
684
144
252
862
309
88
410
806
802
612
359
661
189
201
548
498
765
828
442
71
370
43
965
583
539
296
71
698
897
838
785
820
437
267
568
724
257
420
468
85
913
855
341
307
815
581
342
331
968
84
31
774
939
923
672
840
143
330
730
918
402
340
157
702
286
918
782
944
885
469
990
680
560
848
959
867
661
751
886
902
397
895
5
414
814
948
723
49
356
570
839
725
537
226
680
956
92
680
920
411
378
190
29
828
886
475
562
767
494
456
967
461
461
621
193
186
256
640
133
177
14
481
860
85
773
878
712
378
703
461
464
885
190
233
265
899
15
384
527
848
817
600
672
595
743
146
485
824
437
987
850
823
525
143
797
205
374
271
130
756
143
201
373
645
144
794
427
704
48
993
97
332
782
423
628
858
819
201
475
878
163
922
807
148
503
885
653
123
922
762
185
124
56
817
351
393
776
724
974
51
330
763
463
32
352
915
494
637
323
943
359
243
852
53
219
62
644
172
138
548
113
141
625
252
395
408
370
410
935
886
17
560
942
699
95
826
714
488
697
275
266
773
79
936
750
649
139
657
858
745
627
952
788
921
54
402
370
701
442
956
636
760
501
717
467
124
326
365
933
893
421
445
601
418
719
123
410
866
259
894
648
6
371
911
218
883
549
314
634
752
636
926
153
299
629
189
989
682
186
46
871
387
851
772
45
254
151
404
417
231
961
533
743
660
951
693
644
868
522
463
733
900
348
752
370
39
537
380
347
606
484
223
345
159
655
703
143
879
928
331
355
376
619
325
973
598
987
103
60
826
836
550
790
961
826
556
382
451
225
242
645
231
144
672
537
990
731
631
583
942
433
196
39
14
152
438
400
37
97
571
252
103
167
252
452
683
937
554
338
549
730
332
1
754
780
312
656
179
191
266
771
216
273
53
979
174
823
147
701
908
107
495
82
990
624
218
85
446
189
709
544
748
555
127
558
248
539
166
850
708
601
257
640
923
924
1
114
683
293
769
797
493
503
828
24
515
603
316
210
208
1000
636
813
969
346
578
732
926
178
580
366
662
472
65
724
309
627
708
778
896
922
842
729
311
144
923
951
489
914
130
199
709
220
751
57
995
814
923
723
650
397
687
963
900
997
84
469
471
533
190
927
676
322
568
791
261
220
622
170
797
133
708
217
922
901
679
143
79
920
744
267
699
426
121
570
969
44
16
808
430
100
843
610
629
157
489
912
3
457
596
712
942
226
557
417
749
317
906
986
799
296
280
640
776
853
989
199
279
391
486
971
459
736
719
698
582
194
427
282
600
578
938
861
843
406
895
376
976
235
680
902
166
921
983
915
275
711
80
107
517
216
924
557
655
697
51
851
318
609
669
232
404
7
2
949
874
254
139
792
467
436
167
203
978
52
329
467
793
809
335
207
318
841
678
850
765
232
38
746
553
533
396
367
197
833
493
384
162
76
663
428
623
485
853
50
428
397
879
724
890
314
560
725
185
713
391
387
265
978
868
549
172
858
374
944
572
13
812
941
127
523
786
298
73
752
198
546
962
545
587
179
103
588
396
117
656
651
624
774
678
602
998
640
707
288
885
501
577
831
642
295
279
453
25
117
631
679
540
88
383
641
358
636
213
266
529
227
723
331
722
755
157
706
684
584
70
640
911
738
599
608
791
812
262
45
589
987
492
308
245
967
207
310
863
723
750
593
163
699
504
26
945
526
302
961
756
357
536
396
573
648
506
660
283
579
144
165
126
343
684
43
116
213
272
841
590
643
762
5
727
638
158
597
830
309
245
511
648
820
969
503
811
894
28
500
698
695
967
976
722
144
769
678
39
697
593
606
164
177
823
963
850
518
55
730
822
162
965
615
678
439
310
429
318
442
400
306
765
805
537
809
148
317
792
661
893
477
469
740
897
944
302
35
569
350
196
425
141
52
872
543
574
264
305
461
729
437
250
620
198
885
467
271
354
447
481
619
700
397
838
71
603
902
867
228
801
88
882
738
906
168
625
722
253
148
487
257
53
338
730
313
794
280
474
613
219
720
696
127
30
938
885
290
657
102
256
575
55
290
633
768
506
493
211
129
849
224
406
651
358
294
914
786
766
992
922
341
547
118
133
729
651
315
898
385
304
699
284
965
398
31
354
897
222
617
272
941
992
624
116
701
705
775
428
434
340
211
616
85
317
857
272
207
436
825
374
310
216
199
109
225
673
65
759
279
101
806
675
427
336
458
896
993
332
452
337
352
591
105
842
709
172
83
575
104
515
446
376
919
307
969
743
455
963
234
35
579
74
320
342
95
337
37
244
192
91
327
291
292
540
854
670
676
177
814
941
490
678
685
140
140
787
991
816
612
308
129
764
964
335
983
322
86
283
341
98
842
129
111
903
872
487
939
487
666
808
129
401
990
28
680
930
398
476
865
587
339
670
2
92
339
955
992
117
822
569
750
324
423
828
859
394
34
609
675
801
434
200
614
73
46
887
545
145
298
361
68
208
54
148
929
147
840
760
994
259
900
228
11
444
646
983
842
475
751
795
1000
277
928
649
54
359
445
943
969
676
549
406
452
235
276
446
217
706
571
450
398
133
235
710
468
619
9
241
687
489
986
742
506
35
656
353
375
395
84
663
66
511
139
612
7
394
214
586
69
118
592
971
943
53
462
907
531
880
599
786
745
797
901
291
734
194
294
414
833
753
993
935
474
594
765
327
859
591
596
879
492
470
162
142
516
587
575
434
401
609
142
268
732
415
312
22
700
665
553
81
463
393
606
983
701
929
508
803
530
175
754
133
462
7
226
518
219
133
827
156
45
271
304
996
601
904
401
93
688
194
295
251
765
857
279
510
726
938
758
11
438
452
958
127
330
802
154
521
689
743
871
969
416
397
247
364
677
505
670
328
286
659
897
211
652
725
63
107
848
66
396
693
658
444
995
320
488
671
730
808
660
198
161
823
931
811
424
543
33
527
150
564
666
609
861
641
636
312
725
907
782
639
215
679
921
909
7
820
278
348
392
890
786
336
593
6
192
116
638
410
122
988
863
238
128
65
684
857
276
620
15
483
10
970
600
441
872
594
570
602
151
898
724
13
703
624
402
669
961
423
338
736
657
498
525
225
881
555
969
310
869
538
189
9
380
714
454
907
574
758
29
970
84
389
188
269
353
983
309
606
381
335
176
619
740
400
506
936
80
418
788
330
390
291
781
655
950
476
374
516
262
926
82
273
233
812
122
977
544
867
913
279
455
174
802
168
244
157
36
652
115
338
300
128
687
140
619
247
94
668
81
532
353
906
608
873
853
248
973
300
773
585
342
102
762
465
923
440
438
988
669
120
143
145
614
40
922
335
101
167
845
613
91
600
692
52
758
361
451
286
787
121
292
875
142
964
438
671
599
622
871
758
984
390
877
857
901
22
264
312
710
507
495
903
647
558
64
774
282
20
204
696
952
160
422
734
427
10
396
166
799
467
504
115
545
909
619
974
760
404
831
145
789
472
445
8
893
496
946
305
111
543
614
341
184
351
125
489
274
669
797
476
199
979
83
877
113
857
553
19
834
878
884
246
560
33
302
127
303
63
515
707
197
999
425
355
767
460
821
122
366
932
782
752
239
345
774
670
99
744
271
336
671
754
266
312
393
834
229
298
354
32
896
141
589
47
779
554
41
960
451
849
890
880
436
507
417
123
42
816
274
247
568
133
838
449
97
533
327
340
542
754
457
104
674
375
769
405
631
110
144
153
799
943
682
465
17
596
849
673
780
471
726
300
473
775
291
240
716
33
844
241
560
529
130
971
647
550
235
561
408
467
999
541
57
807
623
531
430
447
64
846
690
10
72
440
540
328
983
259
873
577
884
111
703
315
429
625
827
187
333
743
919
512
556
445
644
303
282
103
949
542
61
915
910
671
910
391
376
353
728
739
172
517
119
304
841
568
620
915
701
458
343
134
521
991
277
885
271
325
813
907
189
149
607
759
900
434
531
908
436
952
323
514
762
995
475
113
893
863
109
362
730
690
807
336
524
183
879
695
261
625
104
150
333
304
790
301
565
167
876
871
53
56
902
761
280
392
897
169
674
504
618
211
110
136
116
89
857
813
320
897
115
887
166
551
604
42
824
192
638
8
743
620
729
978
558
3
46
27
374
97
995
378
611
748
770
979
341
232
976
225
43
324
329
53
783
618
989
878
94
740
310
5
248
550
665
200
204
351
500
109
210
419
12
60
973
856
632
604
317
925
27
801
459
492
463
900
406
174
212
538
462
104
112
4
529
949
553
418
688
7
899
937
540
705
823
175
934
824
116
103
977
108
256
626
693
721
456
861
299
140
958
944
821
719
39
785
708
90
610
837
155
3
258
350
104
981
319
996
245
407
891
42
932
224
671
411
568
509
196
106
934
558
346
438
891
989
936
452
93
575
863
718
667
205
541
427
268
379
280
310
610
139
882
471
305
178
952
662
846
151
336
861
638
874
656
274
275
214
123
68
646
920
685
164
59
557
106
437
294
38
725
515
358
886
526
188
819
559
614
96
717
614
360
986
485
462
297
339
760
782
279
546
679
398
585
173
62
580
396
38
856
263
512
984
370
661
276
255
120
99
415
310
541
657
904
802
447
406
35
140
867
595
569
784
823
134
238
925
661
116
879
731
818
924
183
669
258
682
356
753
370
396
23
706
833
206
320
164
783
528
465
37
656
764
27
53
227
439
777
331
710
326
245
556
251
113
65
954
792
681
763
802
75
875
918
650
504
971
495
785
690
663
734
718
773
532
180
635
23
406
325
821
800
941
846
45
700
43
620
767
572
463
527
821
167
6
563
900
351
324
918
815
196
191
517
938
758
469
935
713
29
747
784
395
369
752
388
420
710
204
42
934
962
719
214
38
341
768
807
271
796
417
998
663
304
814
238
495
589
901
705
505
710
888
869
913
70
365
872
47
595
765
103
782
260
81
679
258
634
366
553
551
875
555
629
74
394
582
545
463
493
593
788
653
386
306
395
637
381
191
792
130
457
230
258
3
129
434
71
871
262
199
662
678
475
819
10
451
858
176
34
673
988
690
1000
862
687
122
813
31
474
698
571
668
458
338
987
754
272
475
90
118
697
70
122
150
830
937
714
436
5
433
220
449
194
895
552
786
265
941
996
798
324
905
256
649
338
217
399
14
360
524
493
602
8
658
452
701
250
406
1000
730
203
124
766
581
377
907
181
168
748
944
278
178
79
130
462
506
189
791
75
196
208
580
845
51
438
231
367
215
121
866
384
169
272
986
950
564
756
106
532
223
952
226
732
494
670
989
561
813
474
427
172
997
200
636
524
329
238
610
689
897
137
719
457
53
135
995
394
75
552
486
784
283
336
390
718
941
675
640
128
235
298
844
771
507
969
233
980
703
753
389
506
693
791
3
948
715
708
900
34
706
291
838
532
676
712
386
658
630
439
283
630
732
925
262
471
566
322
274
236
352
751
397
587
957
115
516
49
353
48
995
347
947
354
189
918
872
200
603
79
888
429
903
370
7
555
810
242
369
418
79
647
130
8
418
38
373
670
183
973
100
751
153
821
413
783
484
6
865
442
208
897
795
858
272
680
205
338
174
523
325
191
701
899
582
142
151
217
117
784
682
781
349
591
102
682
332
327
519
420
813
52
739
952
984
541
193
364
865
650
505
569
161
32
477
269
201
695
431
894
285
41
315
441
335
423
952
865
269
748
130
217
924
330
945
796
678
16
998
385
118
608
568
52
277
712
847
126
946
463
694
664
557
20
130
151
952
323
977
239
113
373
622
18
598
219
874
730
991
903
293
816
142
847
150
906
358
561
406
690
1
85
689
602
114
287
293
903
831
985
639
80
307
890
459
391
809
511
220
85
468
521
959
24
855
534
711
430
226
893
218
35
792
873
448
181
812
631
711
304
669
370
870
795
327
407
193
478
746
306
908
765
879
752
397
120
871
644
284
633
946
685
373
341
243
892
501
432
597
555
902
638
797
595
596
897
419
751
655
877
701
720
938
28
264
155
24
645
700
474
635
836
185
499
797
404
297
299
340
351
177
15
119
188
13
83
520
226
574
18
384
770
205
845
474
526
227
330
21
515
193
422
661
518
819
666
315
387
671
921
138
563
938
407
721
804
650
958
149
423
763
377
315
302
416
953
187
585
478
531
331
214
249
1000
47
414
785
706
956
827
874
91
709
234
114
812
797
716
906
691
70
657
418
119
710
215
758
957
842
750
632
534
905
237
759
110
166
867
192
10
513
889
466
730
733
231
208
479
34
603
419
992
481
593
164
964
348
724
808
118
145
563
246
748
199
779
811
559
233
424
675
761
355
872
575
678
212
532
658
567
844
913
89
960
967
622
799
607
954
648
433
5
828
605
117
581
922
680
138
834
712
685
4
117
488
960
654
282
192
890
756
135
732
428
156
476
531
329
526
524
888
791
177
698
991
776
827
51
33
619
818
123
964
402
937
634
858
232
500
223
728
741
820
380
921
81
524
849
870
220
435
20
75
570
903
252
696
839
534
655
985
551
225
579
155
829
327
944
916
916
511
605
97
367
610
126
222
25
336
711
904
695
233
533
195
898
676
400
804
200
18
481
227
405
228
850
404
317
483
680
429
890
203
281
267
308
999
565
156
949
802
163
556
269
229
188
114
308
901
515
68
945
972
572
949
23
645
840
193
166
769
655
531
441
969
445
612
18
889
243
330
648
269
172
778
52
561
594
566
341
713
816
474
128
552
539
76
354
935
738
14
723
467
289
45
267
96
456
877
786
384
305
53
834
551
214
830
466
680
897
96
169
616
825
830
307
163
429
520
896
159
282
276
730
880
282
30
734
23
926
394
885
205
978
212
213
502
170
807
220
80
86
236
477
365
77
608
329
510
835
676
387
171
284
459
921
690
546
601
381
859
52
548
993
362
313
394
794
840
473
423
538
281
540
945
594
108
78
35
366
888
263
164
749
74
395
514
874
563
378
981
673
139
201
492
849
71
174
256
460
226
503
31
627
60
829
289
874
774
512
435
202
726
748
834
282
916
134
517
109
6
887
815
6
842
738
116
166
924
479
151
784
586
230
907
403
932
772
381
321
710
698
814
768
383
711
8
102
644
150
576
434
475
674
728
964
654
115
260
792
307
686
992
101
686
114
778
468
882
733
561
473
565
300
711
931
190
82
976
836
301
748
981
544
729
755
134
824
476
197
177
119
70
536
386
816
959
248
597
326
344
173
833
532
434
286
279
527
746
659
748
565
480
656
606
875
437
739
298
306
192
854
258
748
446
38
995
982
581
751
574
863
437
456
548
742
241
131
630
648
459
723
47
14
18
48
567
696
36
254
642
584
675
784
986
397
218
710
163
111
792
418
455
70
443
896
341
20
379
281
428
177
342
904
558
998
954
814
121
458
837
628
308
538
59
606
162
63
140
72
790
241
476
615
48
13
539
63
312
833
598
857
725
579
59
292
423
111
722
80
821
400
379
809
965
258
244
185
364
434
606
379
451
256
983
420
3
60
780
330
465
334
138
615
55
930
213
806
993
669
607
978
921
389
39
548
870
802
661
219
668
548
568
614
766
456
205
24
839
353
328
680
387
736
124
154
776
209
896
805
817
905
441
667
26
22
886
820
177
197
285
69
609
708
704
727
28
365
902
374
222
532
935
752
188
944
199
371
656
831
479
951
896
408
555
606
996
975
789
507
497
696
899
849
401
639
840
124
72
809
278
67
498
711
676
150
683
437
412
173
718
434
657
326
179
817
980
68
104
604
771
318
708
284
604
748
398
900
616
404
395
228
801
498
463
695
926
986
827
395
358
434
330
916
745
797
306
763
894
918
431
787
618
972
12
431
584
625
816
548
405
353
531
242
287
257
400
463
595
689
399
77
563
200
545
719
220
627
610
61
328
630
527
30
735
622
248
98
117
831
694
46
485
178
672
471
216
768
351
884
609
55
936
458
122
153
692
366
513
341
362
155
108
556
310
809
252
530
450
989
839
301
111
426
455
1000
542
605
313
191
649
693
641
546
920
102
590
311
217
251
58
841
266
807
63
449
222
175
380
996
655
61
256
881
653
697
904
593
515
715
373
566
693
716
92
844
211
295
114
995
775
667
582
767
209
40
472
233
628
597
18
535
967
274
505
914
127
512
333
371
989
824
332
206
981
342
323
653
731
424
828
28
568
100
648
118
260
332
763
23
475
65
609
303
860
601
373
71
530
72
320
628
12
726
598
345
382
248
136
750
400
609
483
200
938
761
455
108
909
57
464
396
191
436
248
774
746
276
550
437
259
295
941
28
146
49
622
33
672
371
507
286
320
577
339
973
208
373
874
285
573
180
404
911
840
34
35
665
774
306
150
840
585
219
439
347
596
576
722
280
305
133
563
341
208
801
305
440
771
207
749
896
339
193
164
879
526
497
685
116
902
220
471
439
360
668
142
455
581
811
165
455
447
913
821
721
83
870
319
530
434
369
435
499
960
316
774
386
44
877
385
114
194
79
6
552
990
165
634
562
951
796
485
927
250
775
662
14
199
128
995
472
4
334
598
826
105
931
666
560
786
989
894
172
391
727
706
741
646
85
169
704
67
182
61
963
382
433
67
888
232
547
502
497
133
736
252
903
854
283
874
93
893
8
909
254
710
298
497
146
733
77
349
485
915
538
943
876
807
486
596
646
710
860
708
798
408
400
59
407
445
413
483
15
657
320
662
951
913
969
35
68
605
715
32
61
484
928
926
413
812
881
620
27
703
941
567
741
691
630
871
286
273
358
330
706
178
618
785
911
609
966
727
800
529
416
509
385
386
723
877
410
284
644
806
257
752
434
751
318
708
745
522
619
134
590
952
178
264
251
409
514
819
822
989
712
903
600
919
693
728
669
305
679
239
849
841
349
58
632
546
859
895
866
874
733
725
709
791
583
585
826
525
797
784
875
757
582
721
96
922
245
234
204
195
161
602
845
421
659
915
609
983
988
483
950
111
568
392
385
640
995
76
52
591
633
21
28
254
181
288
812
612
313
616
28
74
314
234
727
477
684
394
600
230
830
843
79
282
288
120
551
343
423
594
842
383
157
638
754
2
105
188
637
690
419
200
918
342
765
210
63
661
118
279
627
226
474
76
994
95
148
790
844
750
83
815
660
108
445
891
348
82
860
498
608
883
829
792
796
847
202
349
862
72
148
250
385
572
674
851
879
961
606
669
301
912
920
392
119
757
435
994
434
648
191
253
320
610
286
807
47
705
519
988
805
244
9
317
365
668
812
500
404
290
690
158
295
532
380
358
833
711
110
175
718
691
668
166
587
906
5
635
83
384
216
17
711
371
788
509
241
98
105
355
5
31
610
792
734
668
424
777
510
600
921
994
995
50
519
588
351
585
907
265
166
18
39
151
267
793
470
804
494
272
62
341
421
469
624
486
501
682
807
648
307
407
466
894
404
676
710
728
845
662
114
161
473
995
877
463
998
726
246
312
294
310
192
819
484
268
148
29
144
437
593
61
424
824
415
15
931
143
284
118
7
25
683
378
411
770
911
159
491
242
60
717
632
181
964
671
148
766
129
836
822
753
925
597
955
863
688
252
164
413
936
328
134
346
599
936
187
948
5
609
871
504
413
955
697
92
12
646
785
516
649
941
494
102
50
983
983
707
879
566
300
846
855
933
800
259
10
445
624
608
353
622
521
243
415
150
505
123
594
947
710
83
797
246
365
560
585
994
937
818
938
542
398
465
798
726
13
771
722
975
230
876
378
978
59
492
85
801
784
118
304
75
978
87
779
17
575
10
40
608
179
297
93
199
884
469
429
188
629
938
933
177
515
750
870
205
558
569
905
214
98
820
23
919
410
496
284
634
144
587
589
409
863
484
28
52
307
992
902
200
11
777
227
655
556
179
389
605
25
304
619
187
231
259
133
96
887
172
97
583
163
383
88
240
27
821
313
417
342
119
690
12
940
441
807
591
818
383
906
536
118
524
288
945
815
392
970
541
883
662
966
709
237
392
347
103
946
955
74
974
47
150
671
457
778
635
992
615
219
434
700
938
126
785
590
326
210
987
537
351
250
245
712
706
175
716
651
321
726
92
927
576
368
108
461
416
878
284
949
926
447
76
505
111
187
349
370
211
635
763
459
872
257
224
598
873
937
13
530
931
158
611
150
306
891
505
996
537
244
454
688
667
530
802
902
746
767
420
445
215
545
780
190
43
872
470
939
101
823
193
778
344
811
911
112
791
849
355
365
196
445
522
297
544
651
181
967
201
378
625
656
617
265
71
475
983
303
218
969
129
916
375
727
247
386
527
947
759
378
434
893
719
773
589
434
700
216
431
167
29
557
741
164
545
867
534
55
839
782
107
954
36
774
83
765
756
311
478
486
849
19
797
476
841
657
158
65
837
170
245
502
757
87
682
11
412
300
69
624
867
598
479
558
988
373
698
105
817
591
878
428
668
474
535
161
428
323
45
453
586
570
864
906
917
470
727
912
600
772
964
41
780
390
918
454
239
301
156
810
864
907
793
770
106
614
792
981
439
702
551
399
134
395
409
887
320
650
5
315
395
378
534
785
339
676
47
191
374
198
900
60
718
961
344
484
891
727
28
37
142
597
882
728
89
616
446
425
585
992
220
696
170
979
11
661
187
643
573
308
807
447
81
672
743
83
68
441
401
31
528
832
583
90
816
33
607
517
821
121
920
498
640
117
821
335
675
764
948
184
576
696
530
121
5
875
247
70
519
592
721
423
168
853
297
204
625
659
766
258
727
584
150
286
323
22
453
482
249
684
563
182
57
216
108
172
838
324
139
289
130
390
957
485
425
404
277
815
240
948
180
693
38
85
991
312
600
294
310
364
534
960
882
45
734
561
926
875
550
377
828
29
314
470
791
741
645
691
192
813
670
721
879
440
874
448
585
344
809
552
964
709
294
795
504
496
78
368
688
518
122
612
379
94
827
574
291
160
548
151
845
512
676
24
428
194
435
196
271
184
271
706
748
167
398
9
870
606
616
587
163
347
989
596
917
652
367
731
975
913
995
40
898
310
686
114
298
299
72
947
620
145
528
759
440
679
205
251
602
80
469
93
181
758
748
909
277
338
436
679
117
372
4
262
832
606
962
700
491
564
610
61
710
769
819
854
197
115
203
451
94
798
147
549
882
738
101
414
909
601
444
545
305
375
5
454
164
953
24
429
408
327
930
533
653
809
813
582
744
153
894
535
353
593
596
523
210
557
61
774
35
298
67
770
255
720
358
317
914
476
316
628
976
778
788
138
377
443
594
531
801
405
937
378
92
293
488
850
666
715
396
228
45
550
852
289
866
929
115
204
320
529
125
294
15
521
894
831
651
755
887
87
775
799
530
14
65
8
767
245
297
127
337
606
157
836
73
952
534
245
31
945
805
609
751
330
864
395
233
388
366
457
542
486
690
211
53
95
665
661
443
173
951
572
521
603
316
340
839
207
709
894
831
938
189
512
924
38
252
542
644
302
60
858
266
118
374
341
949
596
759
777
635
958
768
382
195
300
349
556
450
22
704
585
714
477
160
752
475
855
419
719
646
933
701
96
604
74
891
845
868
776
783
520
865
147
930
384
666
930
370
131
4
66
756
266
127
337
986
216
255
343
487
872
509
896
710
603
169
955
227
717
54
384
81
979
604
128
659
95
999
904
430
966
251
130
335
132
767
606
483
76
302
432
88
949
581
712
244
836
126
915
227
913
977
118
493
701
63
993
459
163
970
79
421
564
702
810
704
873
852
769
230
952
262
903
228
969
865
705
722
243
922
971
775
237
227
333
203
482
239
648
621
57
264
278
233
629
985
429
728
188
630
41
34
324
55
132
414
339
843
140
601
496
267
549
230
468
650
998
822
399
207
186
964
13
929
61
152
914
451
219
935
530
138
947
648
189
798
76
26
423
549
627
411
954
366
288
115
739
734
906
734
97
667
491
832
226
68
745
516
320
30
739
821
121
225
162
735
975
972
518
938
356
898
759
26
398
401
94
45
169
247
131
685
328
735
111
345
290
800
677
620
245
337
563
418
197
804
585
83
702
840
547
389
115
259
14
198
993
261
435
915
742
128
735
623
734
989
366
895
893
451
751
867
183
31
197
93
521
369
680
73
393
116
306
107
832
280
897
330
522
525
900
334
437
619
725
792
883
760
717
888
756
9
180
169
570
420
261
618
134
761
53
395
734
887
976
681
368
964
336
511
851
693
999
311
607
659
267
68
558
680
377
749
829
824
519
607
888
316
915
473
359
174
290
12
988
778
19
180
123
994
326
787
661
668
209
186
610
516
136
553
291
474
176
163
733
556
930
327
6
144
534
404
59
423
36
376
153
373
662
31
110
308
829
695
415
484
286
818
690
678
431
418
148
2
677
576
449
378
708
701
785
295
637
242
138
455
330
895
374
883
643
134
265
926
915
38
582
292
806
19
102
992
527
986
768
557
536
938
264
423
48
722
927
737
63
950
302
110
187
648
603
67
195
240
22
20
159
916
116
591
976
237
498
47
288
83
649
404
123
704
962
487
67
663
65
868
396
945
55
137
433
351
516
399
286
569
127
246
287
1000
175
704
679
491
554
815
521
621
679
580
380
80
266
977
74
978
124
623
645
646
962
454
785
573
666
485
111
686
704
314
72
66
94
518
779
557
849
538
688
441
931
932
939
517
531
114
91
458
910
833
168
293
151
662
188
202
899
739
829
618
574
817
479
770
614
457
674
402
996
867
861
406
690
415
482
463
686
380
623
631
962
826
850
1000
66
807
393
160
14
293
553
231
823
301
57
674
348
721
93
868
23
247
929
740
745
634
361
357
428
220
679
416
652
289
530
71
474
393
793
369
673
173
588
849
617
598
591
532
513
760
152
604
1000
556
62
618
925
638
459
877
661
992
43
28
531
373
676
550
721
645
509
968
566
714
922
128
272
394
994
808
895
13
655
258
922
994
411
7
880
967
305
435
191
167
791
131
931
48
315
43
231
22
715
778
817
230
966
175
571
56
451
464
81
882
644
904
837
220
71
761
124
939
436
928
668
780
66
238
809
708
206
765
271
977
228
17
648
933
540
923
329
710
817
982
926
970
203
730
227
736
290
955
316
202
15
733
779
128
98
370
849
34
270
860
945
975
339
266
290
103
113
754
213
564
262
645
280
559
508
971
635
531
922
482
799
523
692
951
688
723
472
954
811
91
263
953
456
750
895
689
144
506
296
368
809
483
167
64
960
342
131
98
549
966
139
887
384
832
723
912
730
489
648
981
127
694
709
964
610
820
633
490
191
61
578
906
938
815
268
958
978
402
587
246
529
907
390
468
388
520
326
912
353
217
737
404
753
7
69
167
567
252
762
638
656
763
315
322
223
465
50
180
6
450
142
902
590
123
604
604
920
977
303
218
314
259
515
797
262
403
174
498
851
672
798
828
914
850
969
7
910
223
400
999
108
300
861
840
827
913
652
359
414
392
903
313
113
484
697
253
201
572
899
115
601
526
645
697
657
219
601
658
932
335
492
623
710
602
909
306
300
1000
54
310
422
790
932
391
693
474
456
542
681
872
88
207
78
598
929
290
301
101
606
404
228
331
941
982
825
827
106
450
159
667
938
651
640
335
122
105
381
976
197
512
233
941
736
58
418
768
579
778
651
974
705
173
308
102
195
755
522
493
727
13
28
145
245
520
206
864
740
566
77
603
571
740
900
550
410
349
640
26
664
421
806
736
182
318
73
221
178
647
658
651
552
259
633
251
191
603
225
689
460
587
699
783
752
442
592
711
931
725
898
737
474
786
326
124
374
488
882
518
193
918
844
614
171
163
683
274
972
964
563
638
470
184
876
957
955
618
678
33
296
598
986
151
850
211
642
377
412
751
868
911
59
163
672
939
535
843
998
114
723
143
879
345
838
316
888
36
205
463
842
329
858
213
95
164
773
521
714
165
208
962
509
476
511
337
189
658
755
246
889
671
725
494
914
803
132
893
861
93
358
15
175
472
750
952
817
337
191
996
945
747
696
390
438
773
847
38
620
760
157
80
791
479
867
776
24
147
274
13
207
318
375
59
527
500
566
898
397
152
107
584
342
400
320
589
519
421
819
29
339
923
582
2
140
597
348
993
968
708
662
462
318
219
838
284
107
975
284
640
244
529
908
369
925
81
773
517
158
928
782
23
98
495
939
52
502
747
640
486
944
301
535
466
509
67
723
682
326
589
443
337
679
586
952
285
392
347
989
912
874
757
88
705
498
724
6
334
957
697
693
276
876
770
579
680
206
603
419
204
902
18
572
24
945
656
396
84
26
528
377
913
116
660
732
18
709
243
482
955
725
906
394
648
947
782
800
442
395
983
1000
662
206
32
866
176
460
542
284
550
857
141
315
928
327
249
247
681
450
796
286
207
46
406
275
1
389
873
634
266
309
979
746
883
859
847
109
512
321
37
878
964
77
562
890
763
266
821
850
979
210
225
116
4
314
940
473
929
517
738
312
589
374
432
911
112
583
737
858
59
60
685
238
823
697
944
881
989
574
434
838
782
718
698
242
562
452
352
933
572
14
779
476
772
398
951
745
664
300
886
863
458
650
791
60
804
457
385
6
566
588
233
232
826
673
193
564
338
543
226
872
198
471
897
38
343
16
860
764
831
477
496
747
529
757
685
758
978
993
349
404
715
413
24
674
245
713
225
911
214
714
768
483
48
169
536
301
496
383
401
273
32
729
143
934
72
246
237
794
279
242
333
379
38
237
99
573
346
641
833
594
930
259
949
892
429
117
976
318
836
112
187
131
217
666
386
822
937
939
616
263
219
106
788
390
895
899
313
497
634
897
808
205
767
25
892
372
48
340
879
512
379
471
896
779
520
990
619
212
325
615
305
726
853
365
286
286
20
707
407
823
99
284
175
674
486
38
507
793
611
411
82
531
798
824
226
503
165
845
181
986
350
267
365
293
993
834
938
798
397
503
585
629
737
938
925
565
511
386
380
339
656
239
640
373
919
322
92
960
616
418
710
30
853
609
942
956
679
776
68
277
381
984
337
841
331
555
996
632
362
346
912
456
650
108
123
743
469
848
79
945
981
781
751
415
455
826
38
173
891
564
125
687
71
265
517
630
477
863
505
619
338
764
706
69
328
958
155
669
74
206
141
414
668
998
613
820
870
584
516
698
513
592
859
838
931
700
666
55
869
345
228
310
458
688
202
34
281
925
212
367
502
566
550
753
284
468
475
213
464
282
368
666
555
433
733
879
660
949
589
959
818
217
335
837
638
245
570
849
800
126
665
356
166
156
99
300
791
525
739
773
65
557
224
927
613
255
599
40
319
294
177
116
38
643
365
222
133
771
844
612
967
693
73
820
868
204
548
113
911
287
643
70
23
39
118
628
588
480
610
613
700
206
487
625
670
219
465
189
215
192
309
226
992
63
728
224
794
130
329
992
774
753
111
490
517
359
497
46
651
693
394
201
947
164
62
554
562
688
866
207
111
654
142
860
810
512
448
177
766
989
494
751
828
157
864
915
118
399
488
668
456
807
471
200
431
722
511
842
796
918
617
798
187
403
296
658
916
942
623
548
733
162
912
737
985
557
774
645
596
797
407
531
613
470
923
541
870
826
330
437
469
126
565
87
381
912
641
693
459
914
504
829
525
301
727
597
31
695
472
577
979
709
524
800
396
730
310
679
702
381
980
694
718
349
588
602
892
265
350
178
581
939
755
748
843
519
48
307
276
87
202
634
868
804
74
599
713
944
843
835
706
69
213
22
1000
169
75
326
109
784
536
923
9
12
239
136
513
835
910
434
458
374
932
437
989
527
521
101
321
940
800
478
876
416
642
779
622
689
658
2
799
910
143
45
898
394
65
41
978
861
466
662
894
923
704
236
7
599
70
855
293
426
197
73
540
111
572
416
517
750
195
681
541
334
78
921
916
658
884
90
45
753
439
560
888
673
247
86
587
773
431
371
730
655
704
64
737
570
73
876
270
414
997
526
411
374
604
401
590
964
431
104
887
394
827
602
382
234
829
269
698
841
829
953
731
332
817
116
833
757
305
233
402
678
315
863
914
608
976
265
896
602
318
964
284
844
846
439
856
238
363
979
178
886
269
782
609
780
278
604
398
248
92
595
896
455
68
482
171
750
328
929
96
779
79
722
125
26
135
421
487
934
770
243
542
788
49
250
350
345
737
350
325
552
749
244
973
794
825
190
354
786
811
405
835
648
464
971
151
675
204
363
549
38
577
98
38
980
519
540
340
61
680
617
204
676
158
35
123
354
38
612
369
346
980
508
477
602
985
451
956
525
137
569
68
834
778
19
962
451
100
463
320
563
591
343
943
942
91
39
381
129
519
245
791
342
433
313
696
806
705
922
230
753
539
103
723
519
940
598
216
2
541
538
609
243
374
634
641
56
786
441
860
420
179
754
48
841
699
867
321
983
286
271
261
674
736
306
1
805
559
466
115
751
432
327
566
664
24
502
709
424
773
683
524
60
2
530
859
200
375
143
422
452
282
881
677
678
230
569
601
763
667
474
449
887
973
15
309
223
539
853
242
722
946
860
218
887
281
491
913
441
512
248
653
414
682
242
445
427
392
354
85
928
687
115
791
675
979
248
676
57
97
729
642
709
893
367
947
466
96
128
807
887
256
884
844
484
706
819
120
297
420
464
783
642
542
207
58
713
146
210
447
209
471
795
490
299
470
795
405
67
50
814
230
35
733
53
839
485
846
163
340
68
531
561
946
655
8
816
322
434
565
962
805
38
696
79
667
874
622
72
751
883
245
351
400
693
187
19
588
477
162
275
572
868
419
940
151
974
323
430
865
861
482
19
52
878
992
960
728
855
463
865
641
509
520
774
742
354
369
510
491
46
826
223
114
364
949
549
950
962
43
393
491
615
313
190
580
950
932
411
522
518
599
219
502
662
926
403
830
827
176
180
981
839
914
6
334
207
112
258
778
683
149
576
88
167
904
652
80
526
859
484
65
61
704
458
63
155
460
141
567
120
534
319
375
354
454
665
176
722
222
379
102
506
401
306
433
343
47
293
12
336
555
50
662
921
344
327
132
123
47
32
621
569
540
806
956
970
714
650
901
851
366
439
828
950
947
540
257
80
240
288
319
231
163
793
280
343
55
389
627
495
773
57
108
213
847
318
319
238
753
434
85
346
106
199
955
783
179
297
547
431
703
933
395
95
353
441
167
198
664
671
849
716
363
189
531
432
303
794
959
414
207
377
869
210
432
924
471
373
838
331
114
819
634
731
298
5
742
263
729
45
867
556
16
724
913
695
960
818
841
134
114
249
341
839
452
393
953
906
517
283
373
58
396
542
731
722
217
642
564
804
647
456
54
936
40
171
874
684
467
313
610
163
855
20
336
548
841
728
356
229
781
122
543
733
522
529
947
68
190
953
585
874
253
578
384
597
551
898
281
914
814
585
371
838
425
820
838
208
847
130
105
798
158
644
279
877
619
343
506
884
66
60
277
792
149
951
111
874
181
659
236
840
383
655
128
704
834
94
750
371
334
33
386
601
647
96
788
955
373
436
165
324
723
425
235
867
82
579
154
543
90
91
638
917
364
785
19
605
696
421
274
543
711
88
311
234
512
814
906
301
835
658
727
911
534
258
845
147
64
243
933
963
742
944
166
151
188
598
453
639
321
557
209
555
684
99
371
673
679
77
711
295
487
5
806
120
81
179
202
398
743
70
431
478
938
550
509
903
213
466
499
369
55
714
492
175
252
221
128
290
390
201
375
789
546
630
833
214
124
129
284
355
30
352
530
58
91
546
848
938
657
136
519
278
874
102
992
971
953
398
175
125
111
889
271
787
527
94
326
325
813
530
363
198
965
611
581
195
755
851
587
729
783
611
64
478
221
711
556
425
362
59
328
410
679
832
331
369
50
874
400
786
157
701
683
304
844
917
229
50
403
889
337
7
333
278
3
670
100
350
302
301
837
59
80
335
711
553
651
867
901
113
526
717
739
512
372
227
586
456
491
848
457
59
144
562
213
291
915
350
412
931
160
256
516
869
302
69
253
510
347
295
342
632
551
855
680
301
612
940
361
348
79
523
564
464
972
300
431
198
728
268
552
6
671
703
566
23
192
36
686
443
663
22
668
178
955
637
856
31
63
328
457
711
976
614
127
879
434
537
275
823
603
134
247
552
28
930
680
807
473
427
878
971
328
703
21
933
366
538
366
703
524
922
407
985
259
410
81
980
775
557
752
395
74
578
644
12
370
460
820
201
848
977
588
443
160
450
444
269
321
645
245
20
860
890
354
491
180
346
921
815
100
411
272
927
437
359
657
574
326
667
219
75
695
982
118
36
923
265
197
747
282
501
429
292
164
278
681
256
484
648
983
526
860
970
581
848
383
818
551
711
811
640
625
627
22
572
220
102
436
713
311
383
894
178
975
601
181
496
877
73
988
229
970
326
579
225
949
881
891
594
788
967
65
297
801
78
663
230
242
770
926
849
400
141
501
616
522
213
975
63
663
827
408
834
732
720
840
839
600
173
362
575
116
994
955
750
268
616
731
563
541
792
636
397
720
696
911
203
12
236
846
588
362
55
429
438
291
982
511
952
399
677
9
108
909
835
509
918
306
582
318
322
128
641
682
174
481
435
400
611
650
533
502
15
520
767
36
885
125
874
232
228
787
779
494
458
760
464
719
394
197
921
442
672
577
863
161
767
400
713
987
877
124
884
478
113
783
511
84
792
691
622
143
160
966
179
814
517
318
569
579
555
728
867
253
715
173
671
500
463
520
359
933
735
71
395
803
210
12
695
126
688
205
141
866
622
331
23
441
758
384
589
382
931
931
890
478
258
321
799
73
421
262
429
517
201
788
160
918
189
661
149
488
413
672
506
737
666
156
278
709
449
247
1
263
813
86
885
122
835
195
596
51
104
736
212
39
406
204
172
850
720
397
944
596
762
163
679
287
582
529
367
451
104
277
856
991
125
964
618
423
975
644
376
507
950
305
483
86
677
93
487
624
755
971
462
545
381
342
477
974
192
538
47
888
197
769
563
17
533
326
415
43
727
343
19
778
303
388
11
46
873
539
629
938
266
340
712
931
912
247
802
163
405
701
537
765
116
25
930
766
809
672
108
529
426
199
816
67
590
526
312
869
964
652
256
78
231
44
894
924
389
316
110
361
19
656
901
740
373
705
445
178
450
232
222
5
716
2
571
303
744
685
655
82
868
535
72
91
878
819
221
590
884
666
139
693
774
90
675
23
63
410
813
508
536
220
424
126
820
329
946
243
883
822
315
46
533
502
982
198
170
478
986
472
400
624
877
640
649
930
749
258
568
529
745
365
849
327
210
275
60
697
62
832
238
690
78
477
268
537
510
469
549
27
874
411
22
499
790
12
420
770
496
669
520
325
993
6
235
468
850
19
630
969
350
809
328
899
999
201
327
16
457
737
920
41
537
620
305
618
295
189
456
565
152
440
6
276
633
884
220
782
581
804
610
3
642
562
388
227
403
171
744
671
810
772
894
284
406
14
927
598
482
596
775
554
447
359
26
672
606
439
872
876
45
906
246
559
529
236
43
176
143
730
414
805
909
694
275
580
762
784
577
879
88
435
344
457
482
700
201
447
501
141
917
324
988
632
462
448
953
86
239
787
103
120
424
759
852
648
801
938
48
217
109
498
723
669
630
898
862
366
734
276
591
787
102
412
196
773
635
943
57
91
417
693
952
250
641
627
158
718
133
923
444
777
928
121
341
252
404
99
73
273
613
913
122
42
810
138
694
298
615
422
287
801
938
435
152
703
543
221
683
99
93
277
677
430
645
319
963
611
790
808
115
988
74
785
846
235
925
457
182
310
993
281
736
451
766
17
211
2
298
290
773
515
154
792
94
214
966
98
654
376
569
487
380
619
305
827
808
402
945
777
730
241
627
81
745
312
387
717
186
124
104
983
680
888
180
430
975
71
838
676
745
362
730
746
783
951
406
580
382
581
346
710
721
309
406
954
752
303
993
147
443
259
767
563
224
255
413
700
105
916
849
511
304
803
271
27
138
834
598
525
560
352
198
66
44
211
274
254
388
841
902
562
657
826
535
380
700
942
717
275
585
966
868
583
865
830
253
538
794
820
677
679
484
638
28
99
535
77
502
466
831
953
241
421
69
733
181
78
44
976
61
867
907
316
945
915
397
203
98
440
511
51
727
434
234
742
934
8
667
671
202
351
398
630
868
195
989
891
338
67
239
762
262
348
267
761
453
360
528
295
145
278
591
398
74
646
863
646
950
682
498
838
108
356
398
433
550
425
556
977
80
236
982
993
975
120
130
871
485
623
23
320
448
670
257
849
499
979
686
550
659
695
859
207
586
265
230
350
394
36
735
447
754
922
588
827
929
743
53
320
500
541
501
818
831
236
283
142
689
494
813
673
60
556
799
140
910
101
731
905
516
893
580
798
67
120
159
302
419
801
749
460
219
612
416
382
187
787
877
660
949
488
937
288
680
206
274
932
784
282
773
508
973
613
733
79
415
954
988
4
45
26
407
142
768
775
274
644
32
761
804
561
163
592
370
25
938
763
95
262
106
23
116
68
940
620
181
656
467
391
226
988
699
672
253
796
76
434
110
504
306
899
775
173
995
101
327
408
760
521
113
893
995
988
502
848
134
462
261
227
999
208
789
947
808
134
376
756
519
739
212
612
422
191
68
625
354
574
465
651
444
195
667
622
60
196
6
567
493
364
916
77
977
204
520
630
820
824
789
832
817
115
92
99
574
52
413
741
95
670
668
706
773
422
276
478
917
172
636
764
102
39
197
600
888
671
602
511
943
288
751
137
176
39
713
559
282
760
124
173
985
242
83
549
380
502
579
178
964
351
177
395
368
752
19
55
328
106
217
708
139
582
329
163
690
68
960
279
198
139
470
790
903
673
405
732
362
402
528
820
399
732
294
700
450
623
170
580
827
179
460
153
356
892
221
105
980
119
365
725
156
498
315
317
304
474
415
172
145
997
831
840
491
782
881
301
935
190
557
457
940
949
495
8
24
409
818
437
92
995
80
266
476
808
993
220
924
116
767
195
596
571
644
205
100
586
654
563
760
220
720
624
574
325
971
340
791
447
528
736
644
166
101
163
512
145
435
848
740
129
20
834
389
563
515
872
449
254
6
198
398
766
582
435
576
791
682
31
513
817
336
759
220
795
742
795
457
366
557
816
174
438
929
368
622
562
574
479
144
573
103
123
276
476
455
676
561
362
476
956
490
450
627
766
13
18
357
142
394
51
880
645
557
956
978
119
673
557
976
302
443
909
231
565
455
156
294
826
1
806
418
395
962
268
250
97
726
470
316
519
594
683
420
651
833
422
165
494
326
435
594
452
779
362
399
421
560
577
203
571
550
110
203
708
843
306
838
997
715
67
226
555
77
86
810
79
516
496
43
282
123
722
963
325
527
169
183
859
950
534
190
564
636
190
811
247
711
84
373
691
381
30
407
422
401
106
682
495
901
95
3
195
987
587
467
305
28
358
826
179
150
158
172
440
287
864
426
531
49
229
5
706
822
168
615
323
727
546
301
419
522
991
808
662
84
85
787
711
859
648
589
917
528
473
227
80
216
63
590
662
732
350
120
453
723
402
14
217
110
355
437
218
857
641
384
876
934
657
593
998
351
607
347
201
218
209
104
120
158
298
619
995
770
155
653
46
504
546
402
804
57
57
503
240
288
290
852
82
781
872
480
209
362
52
439
361
299
856
973
715
447
380
263
56
291
826
662
381
717
334
683
757
327
439
930
201
312
302
817
130
202
430
170
674
297
704
765
782
221
980
433
553
850
376
615
712
788
642
140
458
687
698
591
199
980
483
798
827
991
756
903
259
974
405
946
959
377
90
137
11
483
779
766
119
657
835
274
589
602
847
85
959
412
300
665
441
686
554
717
737
668
286
537
148
187
746
351
67
163
698
875
115
561
891
441
202
2
250
758
741
663
777
817
74
706
305
471
956
269
832
954
584
921
170
989
208
610
18
122
890
321
379
659
284
78
458
870
664
458
770
160
571
481
230
546
569
595
411
75
618
511
996
817
440
773
674
656
124
304
405
394
907
648
1000
625
693
240
433
413
449
863
173
64
995
384
87
185
123
964
132
768
178
209
161
281
437
147
639
599
652
486
955
132
133
340
349
712
604
506
138
630
847
403
76
704
869
7
185
426
892
449
317
41
998
467
62
871
651
577
325
327
659
643
75
827
325
512
286
266
723
518
77
793
6
948
404
375
648
32
440
48
340
587
939
805
29
257
486
788
244
165
501
837
421
899
281
442
424
970
149
884
807
276
993
630
695
635
104
93
314
176
217
491
315
209
115
868
50
216
959
295
845
789
784
894
167
624
194
597
263
230
405
514
522
567
180
342
318
697
112
512
539
431
955
670
370
83
387
656
140
699
682
341
197
560
232
575
869
306
787
19
511
789
556
805
548
638
40
848
174
551
569
76
106
555
34
44
341
815
253
189
417
78
712
442
35
532
186
50
287
655
881
229
878
648
288
704
934
128
894
296
973
126
285
438
579
807
905
933
173
992
942
303
15
300
397
814
232
658
355
618
268
979
896
486
561
76
878
304
707
239
40
813
594
453
457
117
220
941
452
84
993
575
441
124
317
683
64
751
181
1
164
995
283
788
841
982
948
640
848
944
728
168
66
515
104
489
634
410
159
443
625
492
435
549
780
793
437
969
951
253
435
187
340
850
225
663
568
280
565
466
864
560
796
779
405
759
15
207
932
553
814
19
302
463
217
815
553
436
952
627
390
909
594
118
754
590
452
371
267
8
278
766
894
277
7
535
149
648
799
928
500
134
556
336
419
933
967
337
699
393
878
407
245
25
443
928
515
398
82
229
210
803
744
605
606
264
362
668
106
785
653
900
239
752
634
11
336
37
295
537
533
686
911
134
596
5
342
189
303
515
533
713
753
502
108
925
29
831
617
615
109
282
506
136
762
927
337
852
465
924
120
943
20
746
899
768
671
979
858
374
971
783
322
332
579
585
956
811
448
773
397
683
577
10
288
493
615
264
419
342
135
828
245
79
306
388
579
703
32
686
660
559
374
424
108
732
197
865
517
15
564
978
548
988
325
105
438
8
739
865
766
384
721
380
184
616
495
31
559
316
12
600
649
387
469
81
981
68
688
435
105
725
892
265
744
622
623
726
669
479
190
985
312
288
11
179
232
764
679
171
544
774
394
313
351
271
650
102
13
614
705
856
831
585
418
491
345
86
505
56
980
299
102
947
212
8
832
610
797
921
213
112
824
78
351
165
556
853
344
75
47
630
715
601
542
968
502
895
501
963
327
559
919
540
900
304
259
637
919
908
970
564
249
929
1000
376
629
120
198
717
846
619
743
472
501
748
29
494
29
700
512
846
581
485
95
283
774
247
554
139
37
480
352
398
507
701
970
502
979
900
501
339
414
414
871
962
907
922
473
801
814
957
429
516
952
622
943
203
387
268
422
343
357
466
131
750
311
979
155
788
846
365
364
300
609
491
857
998
833
488
148
567
256
647
917
368
627
307
733
403
843
71
586
184
74
565
403
215
860
512
989
112
299
139
994
746
885
767
573
419
486
991
369
778
240
30
357
85
853
673
836
495
906
733
581
185
279
93
751
551
762
220
639
196
220
493
802
89
430
832
385
121
875
850
692
250
289
243
202
571
754
161
233
934
462
115
427
204
85
309
69
827
810
416
997
166
733
474
534
971
257
983
444
420
557
303
367
402
973
145
588
120
379
270
283
601
236
521
543
419
994
974
636
812
9
285
905
345
895
286
662
471
545
512
234
665
638
593
34
269
554
424
186
850
24
565
731
634
758
616
922
567
525
177
444
630
858
599
640
312
627
917
21
560
229
241
359
105
15
416
679
783
897
935
310
375
781
929
972
516
580
578
545
437
80
395
768
647
873
701
643
198
897
23
695
812
844
312
595
1
875
614
826
283
617
307
272
733
355
71
567
404
740
516
54
604
69
815
999
621
373
718
500
243
159
54
159
363
610
215
177
993
446
110
997
294
489
790
993
563
118
278
999
710
478
128
665
423
282
900
711
96
498
43
178
593
34
635
661
113
777
83
349
710
987
109
404
542
94
349
854
533
423
421
691
941
203
612
344
266
512
206
992
48
498
54
501
355
246
199
864
192
218
221
151
637
40
535
903
226
729
19
805
13
163
213
269
775
706
830
221
11
426
448
17
782
255
91
883
896
806
861
732
661
262
898
472
230
926
727
193
541
554
498
722
8
575
708
69
397
632
716
263
781
684
821
873
74
60
675
314
400
447
555
668
477
794
380
334
279
492
376
269
446
3
2
12
328
308
60
908
85
188
937
188
936
319
565
634
569
648
986
582
662
308
406
903
694
588
214
443
522
108
724
116
682
428
355
470
19
728
525
89
35
115
808
636
309
350
783
688
427
470
584
766
146
871
367
130
924
902
770
981
509
913
2
667
50
12
346
386
38
475
721
668
453
899
448
591
696
659
507
311
215
224
386
956
286
141
94
395
48
320
22
650
718
314
124
997
923
913
324
901
180
280
128
966
883
242
196
46
597
116
18
490
57
633
885
244
33
85
79
235
168
839
586
963
918
731
629
777
24
676
46
613
257
17
842
331
789
772
267
924
205
942
411
3
28
474
625
950
664
314
27
62
819
212
6
795
784
597
872
971
440
880
776
434
520
17
586
151
391
16
668
245
640
340
413
739
797
855
927
104
826
18
490
806
429
540
292
167
758
602
470
789
897
43
634
696
341
625
959
118
749
607
356
547
449
363
452
279
526
744
863
180
845
151
741
798
21
108
703
300
170
191
990
886
279
777
197
508
137
14
943
738
91
757
651
555
333
36
972
716
13
747
474
73
273
867
911
910
174
483
783
903
595
311
895
812
398
191
342
363
545
238
660
94
400
971
897
97
145
729
2
731
90
137
249
337
691
200
362
942
234
848
651
717
472
412
734
712
15
542
350
993
853
547
372
863
247
10
370
278
126
778
973
921
265
132
848
659
763
4
321
260
766
597
534
312
966
686
587
278
111
139
253
475
674
944
741
574
871
111
443
893
395
359
783
372
622
424
74
596
532
135
759
684
268
176
553
129
84
571
753
947
407
500
431
591
874
996
329
121
516
449
996
102
687
608
121
485
962
954
96
555
979
884
521
625
125
169
762
773
38
495
696
353
135
750
461
429
747
892
359
529
10
856
76
342
343
995
25
50
201
944
926
22
820
666
707
474
817
647
430
560
858
875
239
24
56
278
220
244
442
752
713
963
602
785
810
504
550
944
709
574
16
177
140
46
558
949
297
237
381
749
581
307
259
361
1000
337
735
639
226
564
644
191
192
993
41
526
564
344
830
707
622
853
737
518
851
972
787
444
36
426
114
531
777
379
754
335
90
714
58
706
244
543
494
123
18
107
913
671
356
160
779
484
772
797
499
700
935
417
743
534
565
194
535
53
155
983
19
660
53
75
3
76
129
572
772
825
592
471
221
834
516
703
53
797
288
510
631
348
503
508
104
965
795
723
589
721
718
709
505
673
61
536
663
723
929
131
318
242
495
943
219
611
599
351
616
111
243
610
304
258
625
356
44
775
540
866
109
877
860
327
305
435
352
360
512
899
230
900
713
551
746
340
494
799
541
527
218
707
714
805
428
926
305
796
533
481
398
27
522
639
166
830
266
227
924
160
930
288
758
111
206
969
303
941
302
861
77
366
145
804
108
722
795
328
701
362
889
513
881
306
808
995
435
727
355
297
482
343
972
412
224
157
887
812
824
260
149
644
398
638
199
928
722
977
475
945
603
521
583
900
792
882
705
141
977
587
273
858
623
816
386
282
426
449
116
803
667
53
622
342
63
911
944
539
566
505
465
40
153
152
285
203
857
652
172
72
140
836
318
333
283
935
886
299
596
520
201
637
146
581
476
711
161
977
192
900
425
129
578
194
823
283
171
700
604
121
93
424
105
797
500
855
428
701
675
413
998
385
324
784
36
124
965
539
718
515
742
199
181
395
594
77
633
66
472
820
494
535
235
565
914
985
906
12
997
216
209
523
778
144
714
553
329
744
423
358
366
13
372
923
379
635
654
478
628
12
275
828
301
273
461
933
762
652
314
845
94
379
224
129
62
838
80
400
236
295
101
413
247
936
76
479
43
303
904
585
603
472
577
760
739
483
180
632
529
582
55
92
431
840
1
238
306
561
285
487
447
690
248
875
176
144
552
63
744
543
394
513
73
369
588
609
346
969
63
267
570
130
131
692
18
196
892
516
891
809
269
494
630
411
444
306
55
565
946
789
918
18
217
80
499
177
277
755
611
330
995
39
748
523
576
525
109
443
85
693
976
93
233
675
189
271
183
381
531
109
835
56
434
985
912
837
760
154
179
654
356
348
287
84
720
398
74
413
392
679
629
211
593
790
61
172
269
427
705
845
907
838
472
169
411
616
106
349
881
826
447
772
362
624
131
64
477
599
817
365
431
48
702
136
998
255
995
568
11
646
83
737
306
388
271
215
281
580
409
718
999
714
148
765
253
465
309
8
127
218
627
75
360
946
131
304
270
171
570
704
55
813
549
850
79
635
550
183
116
863
560
364
594
317
822
921
626
25
154
404
929
896
314
670
826
469
168
726
156
162
780
734
296
697
84
450
469
614
517
338
184
845
822
56
959
345
279
839
428
691
753
536
586
356
293
707
178
113
500
245
175
645
512
436
891
962
249
240
519
691
510
838
777
624
629
183
922
199
652
366
585
721
409
81
774
208
450
416
913
723
531
433
962
936
223
771
510
431
264
578
235
978
488
612
270
594
483
292
826
703
700
779
888
130
345
944
932
984
250
204
366
696
894
752
868
611
860
694
842
595
347
939
998
3
768
479
443
268
93
857
744
84
357
223
117
829
667
352
296
440
111
396
653
429
227
949
811
110
46
209
354
384
293
637
223
631
17
521
48
352
777
313
961
206
537
394
422
14
568
192
188
92
7
235
865
21
189
716
372
589
498
687
289
168
307
783
272
231
487
704
623
73
106
335
691
49
184
473
955
802
788
607
551
16
342
128
508
221
734
590
142
35
711
417
926
32
91
508
613
96
510
751
565
754
798
362
54
443
572
311
748
118
321
832
732
888
58
145
195
629
631
108
325
616
881
421
83
278
172
425
234
111
232
264
443
637
863
376
301
47
862
865
844
835
374
285
523
282
3
764
593
149
232
207
586
290
80
509
874
195
488
345
301
671
603
97
565
958
1
935
282
581
898
880
677
160
575
911
444
209
543
869
610
684
495
883
146
660
687
596
708
68
220
243
72
854
622
974
801
277
246
448
178
308
262
824
699
272
428
772
280
916
427
994
839
91
255
88
133
83
64
252
551
443
875
475
56
836
817
368
643
47
863
700
464
767
575
76
264
211
26
884
868
925
900
828
253
376
742
889
182
22
479
519
428
636
619
243
426
560
992
615
528
443
491
638
145
750
49
356
756
12
6
313
130
332
71
953
144
151
352
867
279
659
287
968
176
501
862
311
677
658
214
295
401
436
538
392
218
539
288
412
968
99
757
511
363
346
524
846
317
329
671
773
867
744
354
9
452
439
88
971
542
618
48
845
536
117
833
559
403
382
340
954
733
917
878
914
775
87
181
125
531
75
739
429
187
707
738
447
986
660
937
256
148
201
54
437
604
278
513
726
115
228
1
839
804
820
887
772
267
628
420
47
194
7
579
885
882
14
608
299
86
699
546
411
430
114
520
99
984
226
173
254
686
710
361
505
984
213
180
252
472
288
439
253
303
647
959
817
842
768
428
847
393
177
120
606
792
927
453
85
338
872
262
300
839
371
614
657
503
936
235
768
44
178
865
767
638
121
417
185
306
573
382
950
888
813
775
901
19
240
821
501
425
43
726
103
415
148
102
197
655
902
73
579
188
995
625
242
203
106
532
135
207
636
48
604
142
687
616
463
434
106
37
173
167
68
906
504
342
107
622
417
668
988
968
627
449
64
57
458
918
34
443
152
775
124
328
749
827
753
72
30
315
697
703
769
969
595
681
730
861
418
974
424
842
167
400
628
751
633
273
69
564
542
621
462
380
770
622
335
465
603
478
633
550
222
598
177
285
672
867
421
998
593
766
831
926
901
266
414
678
417
777
597
973
169
885
688
637
731
258
621
438
478
908
552
555
101
914
119
436
70
859
909
291
961
464
691
747
775
338
522
14
391
325
684
471
310
678
750
750
695
166
747
239
530
259
539
429
378
750
28
677
856
526
742
761
404
694
678
91
387
971
35
527
838
43
586
572
414
587
22
111
234
805
533
979
337
582
284
367
394
850
171
513
223
363
468
136
339
794
525
832
486
60
676
6
636
787
922
916
433
109
733
152
414
343
545
141
663
667
126
324
702
590
17
271
560
877
662
323
944
614
706
314
356
247
143
546
808
764
666
467
526
676
620
439
649
77
400
586
476
877
23
922
242
219
861
911
781
241
201
136
646
573
374
978
459
384
705
89
313
389
403
951
7
923
835
25
809
119
331
806
201
227
764
613
754
347
697
98
900
184
795
266
847
953
543
244
319
236
43
201
90
403
817
551
543
211
92
46
576
314
992
431
245
720
440
90
451
688
339
519
852
139
767
505
910
458
522
639
659
439
335
116
354
236
445
848
609
394
76
569
50
421
519
982
748
930
156
951
934
44
794
446
575
638
76
221
387
10
602
180
794
711
602
21
136
624
668
13
185
842
93
693
607
541
840
876
603
834
998
603
365
547
882
562
328
958
600
82
503
807
988
1000
261
310
300
588
83
470
964
252
706
712
976
897
1
791
235
684
719
896
247
430
883
150
110
18
273
14
665
27
884
616
985
231
715
739
154
764
496
957
401
496
263
467
234
637
728
231
143
632
527
397
848
202
276
362
795
759
293
508
818
491
544
336
434
132
58
705
255
805
627
920
386
343
54
646
462
196
626
44
226
356
750
23
125
733
896
241
433
85
75
323
860
880
109
788
392
470
835
330
401
565
221
449
660
252
83
886
987
784
732
957
674
911
413
694
743
799
832
630
323
475
429
168
123
292
306
776
73
150
866
603
683
29
313
764
548
984
111
192
776
882
393
923
766
21
104
651
931
292
324
650
439
646
866
475
997
495
690
383
27
92
136
96
329
99
270
321
454
297
855
458
588
846
618
45
682
588
488
782
941
634
438
437
552
880
422
541
711
144
625
528
576
366
932
915
795
634
84
181
608
884
440
236
379
752
686
755
561
442
71
213
766
441
980
131
601
583
736
929
359
262
519
761
502
567
232
911
105
732
918
625
65
570
98
759
951
499
2
238
808
352
211
135
109
428
668
116
317
106
369
108
179
956
302
321
975
449
340
137
442
269
898
12
950
751
117
208
860
149
205
111
657
276
383
892
594
575
548
508
94
814
389
353
82
398
160
434
745
800
775
560
989
681
160
901
955
89
45
236
566
537
522
347
980
867
686
310
234
539
666
897
111
401
184
887
429
44
513
867
571
578
413
11
19
7
139
409
89
450
136
736
839
109
377
455
345
229
613
281
149
308
987
335
703
456
549
279
61
110
251
727
907
286
866
401
237
167
118
831
670
103
52
864
409
29
244
906
327
922
60
597
527
121
558
572
986
285
2
88
576
291
213
516
839
602
126
175
371
506
20
499
578
156
814
306
874
523
757
808
68
216
588
32
844
623
937
552
726
975
366
759
857
743
915
431
267
264
453
20
10
575
450
899
748
254
1
803
849
478
66
835
84
595
936
678
328
280
852
145
463
711
590
768
853
299
541
916
339
193
509
825
700
166
992
34
917
516
200
917
370
291
441
400
327
514
787
521
674
36
128
141
883
345
824
21
602
945
163
463
137
877
747
886
279
605
751
42
625
730
708
53
552
970
130
88
494
403
776
282
13
227
850
487
438
214
748
492
517
545
231
665
614
2
51
366
472
281
147
53
456
798
480
734
483
480
466
326
586
920
755
496
124
744
784
780
222
204
143
127
906
815
301
517
772
327
621
6
730
436
962
311
540
423
331
112
389
340
223
315
719
460
307
844
903
439
48
1
88
73
719
983
757
543
14
970
103
818
111
75
321
198
629
532
300
55
384
749
26
477
221
203
182
906
506
739
76
790
28
506
24
11
189
627
762
66
335
728
272
27
18
585
671
873
779
524
445
82
772
630
341
320
185
516
745
635
930
157
166
811
550
267
775
464
595
782
599
992
26
303
47
722
320
749
957
474
34
47
220
273
589
437
374
150
849
829
225
775
927
721
711
212
293
361
711
200
880
218
455
177
383
318
491
766
360
682
941
511
53
927
905
472
88
67
409
699
315
698
288
706
123
32
725
814
466
707
955
621
719
904
812
941
214
56
390
245
989
367
70
28
823
423
556
537
131
406
376
999
657
834
512
820
189
255
421
204
722
57
750
338
589
397
466
550
73
262
943
855
949
861
811
887
203
841
9
532
893
347
512
479
779
531
697
519
850
950
167
652
327
236
84
983
97
493
815
936
740
198
691
523
516
747
242
305
721
397
123
176
806
62
254
316
521
340
426
477
149
157
711
268
580
629
561
281
554
119
379
670
954
939
706
293
381
852
895
638
617
330
277
526
766
519
402
32
14
3
868
140
963
725
643
417
482
921
523
362
802
479
584
185
392
931
26
453
792
197
846
422
132
269
119
929
579
258
514
341
289
618
846
484
760
899
109
375
655
90
423
331
284
453
786
254
903
789
334
915
942
208
54
656
60
847
562
204
660
408
566
253
133
78
141
16
615
152
780
245
511
638
445
88
378
236
555
708
987
348
898
849
605
175
956
336
535
563
31
95
989
956
850
416
194
740
54
33
473
267
67
117
670
89
379
390
963
240
196
414
529
968
754
555
24
958
303
245
82
898
959
956
303
273
132
720
338
353
215
126
660
671
586
476
630
724
740
174
250
234
534
496
777
85
140
601
50
946
253
988
901
679
538
695
556
879
52
143
255
238
640
933
647
17
874
867
685
568
143
118
855
745
938
811
579
10
180
197
526
264
715
277
421
692
711
968
608
465
778
849
317
711
46
145
62
17
354
804
94
636
924
467
127
698
602
668
857
983
823
828
931
233
932
470
89
550
423
620
187
167
910
539
683
762
406
760
954
528
554
932
503
416
9
90
718
317
71
808
346
475
19
133
262
78
331
351
414
803
115
379
78
82
634
48
656
980
760
590
302
881
569
437
608
610
42
807
411
266
20
624
570
739
162
36
172
882
606
173
261
303
474
796
582
39
122
194
291
733
275
14
784
465
781
710
79
126
752
950
199
45
285
633
75
612
770
123
364
799
64
942
396
820
428
439
212
623
192
878
246
589
556
985
783
562
818
254
728
313
578
183
602
640
137
204
913
566
422
274
219
510
213
950
281
907
394
335
642
442
202
428
897
1000
200
281
653
428
778
849
925
452
538
568
250
413
814
529
368
10
940
544
693
929
605
566
115
9
774
662
912
649
211
204
685
222
612
14
234
627
690
960
272
498
357
886
703
249
295
845
944
845
825
289
449
165
925
267
128
836
704
691
873
712
380
442
732
497
62
382
610
613
230
400
517
65
830
198
528
954
335
912
591
260
942
552
244
726
331
929
130
968
49
982
889
435
623
355
688
477
993
676
122
565
687
240
725
668
453
669
627
899
736
733
190
788
454
685
573
981
49
361
297
724
652
821
791
228
515
480
846
901
584
534
638
467
181
973
698
209
291
632
807
913
880
530
281
606
6
236
550
865
210
90
222
278
830
915
69
629
440
278
491
521
556
444
54
444
128
920
643
722
98
903
607
433
506
965
48
87
162
76
48
837
940
399
207
18
119
336
332
70
998
983
512
283
235
502
67
343
952
897
89
357
695
356
376
895
740
616
550
602
86
776
89
91
705
611
802
167
276
708
1000
905
658
698
257
748
857
417
182
568
56
120
60
621
585
732
595
386
368
700
198
574
478
244
477
10
900
628
607
639
521
658
258
674
659
745
638
771
133
761
977
159
36
373
492
868
830
710
454
530
370
45
494
774
760
596
692
878
686
716
311
161
40
500
256
625
166
267
487
429
56
481
614
131
146
411
899
37
173
227
675
641
698
318
4
879
510
295
20
833
89
539
985
633
723
181
559
487
672
70
165
199
957
648
604
51
13
630
297
642
406
40
590
119
299
493
597
268
145
523
947
81
331
449
630
742
172
475
847
488
651
727
417
379
823
464
817
876
606
970
370
12
997
548
465
88
400
577
922
81
856
817
796
349
430
17
969
831
938
421
865
626
463
926
480
770
848
519
747
32
450
83
889
778
959
856
73
300
32
587
140
512
795
943
609
597
35
826
490
6
26
21
622
192
505
66
436
602
248
290
23
749
90
739
382
615
973
95
525
275
809
767
907
368
506
32
293
972
517
500
739
506
637
177
845
534
616
107
820
709
318
904
174
645
811
490
53
229
760
989
337
699
958
68
603
869
613
955
1
19
313
996
868
314
167
886
676
87
730
669
480
956
743
137
638
557
599
580
950
597
704
668
763
68
595
867
818
695
752
956
772
137
516
135
427
25
454
684
622
634
778
381
678
918
157
669
28
623
362
105
383
458
720
744
366
586
256
943
76
295
755
531
422
291
712
393
405
955
275
333
757
834
844
478
449
803
950
593
644
621
390
429
595
48
384
620
842
308
674
702
825
433
90
555
676
962
77
933
529
509
93
770
172
987
567
652
208
634
334
165
235
545
77
838
682
95
296
62
101
535
805
645
662
995
537
668
558
366
713
895
805
795
55
296
673
57
791
149
606
670
647
812
11
439
881
456
758
54
708
14
585
463
110
98
817
35
130
898
31
901
239
928
309
488
235
16
734
946
475
118
635
87
913
387
906
486
544
406
377
595
395
670
848
76
81
184
884
80
339
548
881
863
636
980
240
942
138
536
696
6
841
207
987
902
653
671
95
334
557
219
201
349
777
783
380
290
23
42
803
683
502
318
858
400
332
331
205
557
440
905
216
817
780
418
658
152
948
132
750
683
874
497
918
889
287
242
682
353
75
307
91
222
514
692
60
721
550
882
765
393
992
802
969
204
502
201
805
319
739
926
55
117
880
822
414
977
2
880
591
486
497
830
324
951
758
564
575
555
890
687
233
33
60
984
598
510
445
800
855
9
398
154
471
185
603
918
188
46
505
552
855
781
190
654
866
308
293
118
366
857
178
744
713
697
828
978
913
112
423
861
858
874
528
366
249
737
187
66
24
946
14
440
959
347
482
234
855
459
285
959
407
768
551
29
398
609
140
20
344
198
32
269
95
796
28
319
186
508
601
758
908
926
751
633
200
702
151
914
430
103
693
494
77
821
802
781
111
608
502
250
635
782
302
257
935
308
403
975
646
944
607
614
198
882
567
933
11
424
705
649
216
526
205
558
789
402
968
39
98
15
325
154
802
975
601
746
939
270
320
763
819
296
977
540
42
837
809
930
539
41
911
979
51
899
420
298
886
454
171
429
78
743
425
254
329
509
789
951
220
803
418
80
232
941
958
140
50
688
446
319
466
179
572
254
972
832
284
301
773
438
711
200
530
668
769
55
617
506
621
223
46
458
372
48
516
975
987
378
208
191
442
461
89
959
557
105
445
176
776
973
307
541
405
508
239
236
469
235
687
495
398
155
701
646
198
515
414
41
658
488
50
201
374
209
641
640
78
169
845
72
840
171
435
131
178
955
94
334
37
85
129
689
874
924
586
315
814
317
48
410
938
135
77
161
307
968
869
517
218
62
190
255
570
82
81
470
904
372
126
397
873
205
303
500
407
891
577
877
848
773
428
321
631
828
426
844
915
18
857
61
710
606
118
608
645
351
283
668
498
860
806
780
17
444
787
312
363
452
636
383
703
451
217
558
96
578
787
337
854
76
103
323
967
297
124
958
16
464
582
891
253
71
585
366
146
96
80
500
770
138
660
952
860
163
744
286
211
813
573
287
383
120
845
573
356
33
38
133
836
377
658
821
437
745
695
434
819
336
551
703
218
957
595
444
441
226
264
130
590
534
342
383
237
450
632
198
731
85
757
260
648
395
221
363
127
501
184
770
978
920
638
342
17
999
786
392
17
966
474
514
50
733
460
100
748
8
153
845
208
323
229
321
817
300
146
605
305
866
218
36
689
119
299
392
598
281
586
176
671
469
273
240
322
47
24
689
219
948
313
821
196
687
677
949
218
737
859
21
198
567
618
380
145
921
715
402
167
849
216
448
302
592
776
323
24
674
31
411
543
448
554
736
673
913
92
486
168
836
980
936
865
63
660
302
909
464
235
766
605
122
864
812
189
213
577
70
871
533
796
33
77
781
432
397
714
506
953
279
609
99
206
226
43
333
115
767
413
735
580
240
628
496
48
749
801
738
262
420
142
673
620
562
766
634
446
956
274
963
216
237
549
526
450
283
235
915
544
572
705
509
291
721
184
188
219
795
851
854
169
518
397
938
710
236
511
669
106
304
208
247
542
629
738
994
230
220
49
184
844
956
446
544
433
257
109
336
620
965
613
538
404
559
444
874
349
764
793
347
266
718
560
509
780
138
610
891
305
329
795
899
36
471
156
20
539
326
31
350
388
433
475
308
102
860
551
893
312
814
545
992
692
754
79
65
698
159
462
991
564
789
318
978
318
87
713
233
816
350
522
507
916
457
753
728
940
200
917
683
538
755
277
110
891
396
10
618
964
356
893
589
163
624
96
544
350
565
98
540
592
472
500
804
455
557
748
166
899
402
381
871
47
640
441
954
188
448
112
730
376
462
485
875
913
912
575
203
805
65
393
547
18
571
888
50
974
939
59
795
278
162
395
929
111
454
60
343
47
181
942
549
349
327
740
570
915
242
763
587
156
15
28
553
15
534
509
222
262
176
138
852
958
139
235
342
670
596
597
732
649
231
382
778
639
226
264
801
455
422
73
135
728
222
280
245
478
778
248
60
290
130
102
137
909
281
468
14
4
621
77
524
714
740
416
904
330
406
201
234
133
438
406
132
986
237
15
635
725
21
446
913
812
134
792
775
959
412
670
931
648
231
460
639
582
753
161
667
63
889
918
452
256
660
500
993
79
971
692
258
196
299
564
845
227
414
85
217
803
65
388
73
566
510
262
336
532
866
143
788
518
525
938
586
474
302
518
802
638
555
603
611
405
239
75
976
679
767
449
493
269
562
358
573
566
418
428
275
361
119
824
938
145
292
128
194
668
131
887
95
817
460
377
846
137
580
628
84
419
490
756
722
826
350
972
130
971
525
454
835
207
141
387
965
147
849
130
392
88
421
391
899
587
857
719
714
903
943
443
456
409
556
340
862
351
585
992
670
536
7
758
685
627
548
755
366
709
338
49
233
740
164
510
15
281
232
416
753
637
848
968
980
178
38
309
717
138
960
515
254
621
879
304
596
920
587
877
12
481
433
384
337
25
527
14
558
387
254
577
737
645
992
784
501
931
788
101
193
165
793
191
245
603
487
473
515
700
30
253
120
310
647
215
771
623
561
799
740
593
881
133
363
809
763
754
416
901
365
296
802
604
358
688
714
552
247
183
876
729
325
710
477
220
877
637
178
636
159
984
905
78
733
585
194
34
12
430
522
961
208
675
414
581
467
408
104
148
636
265
171
981
983
438
915
644
213
443
160
974
262
246
822
62
703
1000
855
951
75
704
115
475
67
529
268
197
306
452
138
845
426
83
766
979
231
258
34
905
984
62
904
989
319
412
212
594
818
255
472
864
43
712
341
408
678
218
220
780
513
836
984
297
181
406
970
360
905
160
174
950
62
741
64
367
994
305
541
598
359
542
365
951
283
989
792
682
687
985
254
408
518
958
664
23
988
529
350
706
594
73
641
328
414
979
891
264
124
827
52
167
221
104
990
717
204
869
356
782
832
8
232
663
119
313
716
328
454
650
301
620
36
901
180
421
904
214
610
695
930
307
55
108
529
244
134
692
286
142
314
611
365
717
902
649
321
458
104
468
938
483
860
45
766
795
695
931
343
756
55
169
470
85
459
735
501
563
354
381
343
955
692
599
732
348
152
254
413
229
379
75
46
141
778
847
8
684
231
606
792
971
544
580
348
358
561
913
565
460
671
463
46
964
854
58
498
757
515
661
306
207
93
819
367
248
833
634
825
56
189
223
116
717
13
340
678
271
81
349
719
881
513
244
696
742
357
787
526
476
923
111
114
433
456
335
466
320
399
834
508
979
803
818
780
29
393
773
283
252
448
143
151
314
906
357
239
428
46
933
398
24
712
918
988
374
249
383
116
378
265
21
229
389
865
174
906
51
239
749
159
610
338
575
96
36
917
710
542
631
403
93
101
467
879
729
196
139
988
275
796
830
700
488
929
609
698
542
573
223
614
570
183
371
455
153
959
610
347
686
911
585
145
671
945
227
584
38
460
944
330
538
423
583
772
72
471
134
377
631
369
714
215
111
67
371
576
905
669
634
671
598
862
552
76
487
744
143
906
948
537
829
737
837
347
423
913
234
28
655
207
836
191
108
756
207
570
596
826
924
303
737
235
383
139
474
181
632
244
776
850
184
52
625
386
141
586
632
740
377
736
341
442
720
300
337
593
290
954
774
226
162
944
825
694
555
991
877
978
574
794
976
597
356
580
167
334
145
316
865
120
425
583
364
261
745
620
868
612
276
692
212
468
471
798
577
704
406
684
24
114
514
281
685
15
472
983
759
921
936
613
266
488
651
559
680
995
253
291
133
349
704
428
894
959
903
557
197
871
456
278
320
218
993
300
999
408
700
987
894
440
913
440
845
412
747
48
55
593
699
470
220
378
124
181
814
104
248
14
407
933
151
646
964
993
751
582
478
525
379
21
219
43
957
887
97
417
150
477
345
351
133
384
803
938
734
808
571
843
831
927
695
213
815
741
850
573
829
676
706
814
288
295
747
903
847
658
877
43
621
210
24
886
927
632
326
810
266
709
211
434
556
134
811
304
850
122
726
111
927
866
98
925
148
137
326
626
934
813
520
172
67
691
961
357
762
732
440
452
127
783
314
496
197
914
517
13
187
722
591
640
14
359
962
467
397
574
355
911
55
758
212
588
617
845
451
939
856
931
689
375
784
643
337
287
946
607
582
558
984
865
353
161
179
702
810
11
194
165
747
463
704
481
615
797
946
718
491
548
446
250
440
777
404
65
205
248
205
473
27
1
579
544
731
997
740
466
911
348
682
83
149
151
452
44
738
96
853
375
308
815
522
788
71
416
739
703
153
781
630
810
627
951
686
934
406
392
601
167
109
990
508
451
404
422
612
319
56
889
83
47
140
306
804
274
403
746
266
45
812
291
425
313
656
500
851
168
428
355
858
446
877
928
577
923
269
962
165
982
889
253
406
523
262
2
977
869
389
297
574
619
555
473
884
697
881
414
148
355
867
765
655
498
628
636
70
517
381
606
920
748
17
757
936
798
264
15
170
218
42
300
1
454
87
842
191
553
814
581
129
850
717
715
290
742
275
323
704
698
471
497
942
864
555
529
715
969
582
569
690
749
628
571
522
784
281
524
455
464
204
701
27
777
49
112
574
755
40
444
247
712
832
502
212
844
76
575
530
378
275
216
2
229
90
639
889
12
278
292
13
374
790
226
204
795
415
526
432
442
514
449
280
169
31
872
555
461
981
343
992
9
50
318
959
561
744
127
13
913
816
849
967
196
292
554
851
124
501
289
767
470
967
790
207
873
880
147
801
987
124
543
862
134
546
765
287
842
204
382
608
92
833
367
982
681
663
474
941
813
28
842
561
939
907
178
521
909
649
327
210
679
679
213
622
208
859
948
313
658
573
352
75
697
299
273
328
529
584
853
426
258
912
334
231
310
887
83
317
974
533
275
136
521
269
38
307
13
320
987
949
640
873
721
642
370
309
284
174
757
208
585
689
978
658
473
240
584
571
495
51
961
364
382
950
215
331
916
574
58
525
201
921
265
734
284
748
462
427
693
134
307
164
777
243
629
20
621
951
727
38
924
557
791
582
478
206
414
744
774
29
217
613
835
253
907
323
580
685
486
273
905
59
917
798
195
681
282
905
147
730
346
342
657
307
495
449
992
62
216
697
641
804
633
793
30
996
139
536
770
484
825
365
227
80
232
674
956
880
936
520
21
309
618
325
261
923
551
513
363
948
904
814
958
380
857
124
46
213
284
424
768
51
695
212
896
905
168
316
470
446
294
780
665
387
465
673
342
942
462
327
703
485
932
522
150
664
247
541
743
205
221
886
621
558
346
650
374
361
528
212
630
416
780
963
52
491
982
227
546
830
593
411
706
654
166
678
443
312
612
137
295
997
429
597
138
76
528
439
880
188
864
56
261
210
812
607
54
77
111
544
815
239
251
471
810
214
373
437
930
307
109
688
170
69
296
196
770
468
190
98
174
82
592
246
805
828
320
670
41
891
571
704
892
525
21
863
609
373
962
379
888
781
386
432
352
335
668
718
741
525
446
999
596
991
359
632
266
305
521
930
728
575
36
370
75
509
346
312
511
707
968
875
349
94
980
98
814
377
649
284
426
349
779
708
354
660
652
514
406
406
934
636
276
521
554
100
225
488
362
871
654
324
299
712
912
154
961
186
240
924
656
27
983
1000
499
575
55
420
668
886
182
578
653
417
640
978
235
903
18
501
981
146
64
292
218
966
816
997
829
491
5
585
717
285
232
374
451
573
495
237
424
935
440
151
868
431
166
411
168
52
448
840
223
754
66
297
86
124
252
612
656
884
390
832
29
31
784
348
975
393
694
2
122
789
861
790
636
771
440
105
601
141
588
810
799
42
946
573
351
452
935
12
487
342
62
228
752
558
421
161
114
781
181
79
765
512
146
189
900
116
391
22
372
397
589
749
945
53
861
60
787
625
917
563
981
223
795
910
66
415
729
60
67
131
534
95
21
353
467
30
758
635
633
908
580
235
939
281
505
742
3
834
984
590
660
557
308
795
446
321
471
588
972
181
904
325
161
987
335
242
153
173
989
140
68
649
512
74
964
837
261
441
8
768
84
694
346
40
295
17
173
192
338
941
227
687
519
823
339
294
295
534
634
115
817
493
733
876
825
391
586
413
522
575
615
451
774
55
453
885
821
564
915
771
714
895
764
161
841
7
499
702
247
15
637
687
937
252
898
826
968
35
327
585
952
627
581
364
524
183
565
116
462
106
113
306
371
364
670
237
289
767
765
837
157
139
621
2
781
583
418
442
860
782
563
771
653
357
842
291
76
853
443
486
389
839
684
778
105
940
737
494
484
346
735
310
727
530
478
659
41
406
327
735
816
150
31
742
501
263
921
993
184
225
340
301
508
261
243
878
296
328
585
589
202
428
523
10
760
730
467
189
441
801
690
387
727
451
581
387
728
301
590
123
601
221
573
496
862
199
578
243
701
30
45
645
588
482
40
650
771
193
413
761
754
664
700
611
482
110
184
726
753
849
785
400
322
142
336
957
273
90
375
937
512
280
790
892
608
348
533
556
855
535
148
125
73
605
29
252
649
216
183
170
269
922
761
22
69
540
769
101
238
508
190
178
653
228
212
552
762
84
370
718
797
28
198
818
335
107
421
148
398
338
802
35
570
641
509
342
34
345
274
697
74
944
671
325
335
373
555
979
38
52
78
79
443
350
734
613
87
924
549
736
682
579
899
308
141
944
411
778
866
232
84
945
314
830
35
106
859
252
291
41
122
259
627
78
306
581
758
215
510
739
106
905
660
892
969
653
485
556
159
992
911
247
82
797
355
824
791
100
662
371
753
766
857
950
965
450
437
450
546
218
688
63
156
109
375
632
402
679
210
203
907
299
703
675
864
536
348
331
711
471
625
391
16
223
949
450
809
262
535
829
345
301
128
393
737
715
682
372
989
452
360
79
691
345
698
166
60
599
348
287
55
944
620
559
21
663
926
249
677
215
313
487
310
677
532
610
703
616
423
961
670
254
999
559
82
20
269
104
898
652
708
185
48
43
316
401
962
907
346
351
173
180
114
81
698
797
815
637
825
86
854
829
547
603
44
169
104
627
943
232
26
916
725
353
598
567
228
646
911
979
254
856
530
1000
771
405
313
297
379
341
144
884
324
554
134
506
345
797
392
305
890
521
577
745
535
483
272
326
17
420
700
2
892
808
387
527
724
889
195
201
631
683
561
612
198
665
862
981
25
164
601
696
661
294
483
444
259
409
523
118
47
672
51
328
655
282
832
919
385
343
564
368
754
128
695
324
37
707
838
813
54
536
73
860
182
597
49
351
397
137
157
963
183
868
953
929
301
727
685
184
750
955
11
195
728
290
973
377
24
546
845
569
90
691
740
452
986
822
765
160
476
118
62
584
844
916
298
34
406
555
36
976
266
538
943
567
600
843
987
544
637
932
599
864
557
135
294
134
710
580
376
495
943
785
180
140
303
357
753
18
75
982
29
634
942
31
273
53
4
670
84
363
584
305
253
868
980
568
592
245
828
821
200
736
314
323
729
204
242
799
897
539
900
120
898
478
715
238
364
363
933
267
223
751
971
858
155
72
568
598
319
724
644
205
692
96
563
703
680
997
550
597
595
924
166
316
258
356
65
832
219
43
760
397
67
854
734
846
849
299
46
710
899
276
529
729
265
941
776
956
478
869
379
793
634
809
308
747
633
434
878
600
927
426
504
994
335
157
313
143
330
970
739
481
657
789
413
594
356
374
40
704
15
30
441
298
597
27
623
254
251
241
560
938
351
835
356
313
401
842
583
55
553
613
905
42
229
8
520
330
741
49
591
939
857
533
564
327
996
741
226
440
71
966
404
603
74
31
447
337
139
389
25
377
183
627
317
799
223
448
363
166
107
256
210
48
715
501
490
82
652
840
258
4
78
995
201
704
592
912
869
431
27
437
157
705
603
294
97
396
132
568
978
655
868
242
867
96
169
615
932
691
324
567
342
339
813
714
104
954
751
466
945
238
492
889
207
991
168
46
799
931
491
189
415
543
228
785
617
350
640
840
869
388
588
415
295
365
160
544
745
162
446
968
748
844
508
270
46
358
710
970
742
424
295
159
480
893
505
21
747
59
620
409
102
947
970
261
83
628
387
242
600
987
557
435
875
169
447
328
358
158
292
577
590
528
653
277
718
456
694
521
169
482
137
54
57
372
322
752
31
635
423
440
597
930
148
321
467
632
178
898
70
279
213
812
192
501
702
460
660
293
285
610
67
168
485
488
833
828
455
947
278
445
405
444
987
580
903
470
476
42
413
5
30
706
265
319
658
416
771
159
305
648
331
951
793
482
194
134
506
824
18
200
489
513
455
271
457
116
824
315
189
765
306
217
929
333
235
948
694
633
788
35
866
71
767
361
12
385
257
110
679
651
624
303
810
779
721
951
490
51
170
330
997
114
305
257
484
19
663
527
189
507
941
870
754
788
974
894
95
460
600
459
287
65
239
868
77
10
662
63
984
228
649
728
414
12
247
858
860
899
843
864
41
361
593
741
818
321
599
161
770
193
807
627
646
220
802
969
274
388
583
537
114
71
864
413
354
892
708
866
348
945
80
20
247
699
439
439
838
368
622
909
12
502
95
202
754
857
111
29
241
353
424
689
448
78
999
179
641
848
600
602
294
774
197
813
230
670
922
133
260
915
671
841
192
511
537
888
847
733
950
953
633
694
792
525
308
569
770
161
790
42
25
463
273
705
287
586
427
789
887
296
187
616
593
698
470
581
534
741
196
311
471
524
126
890
252
274
388
686
609
534
21
356
365
783
516
75
716
218
119
895
500
867
618
411
269
579
444
590
541
647
162
688
823
35
875
698
859
193
615
636
112
464
530
294
639
936
587
793
384
387
513
374
402
677
939
400
681
516
42
459
38
58
496
788
29
176
226
999
945
601
266
191
730
310
14
137
97
694
312
153
225
82
80
623
127
112
659
963
234
305
668
929
757
968
890
789
123
176
668
882
159
181
331
433
708
69
435
347
69
833
954
889
963
368
132
762
757
34
401
134
316
574
600
593
152
151
783
812
521
187
45
992
745
519
128
752
284
83
47
216
66
992
636
491
117
394
660
604
836
951
142
222
120
113
633
172
125
634
408
853
659
923
15
116
87
898
163
96
125
984
661
776
124
774
27
760
256
661
413
872
533
435
702
684
712
447
976
45
999
437
95
970
867
549
754
24
491
346
253
461
23
896
169
946
408
107
259
618
506
531
234
658
49
791
480
245
346
661
396
24
742
550
824
716
502
817
915
562
219
925
881
645
836
885
312
939
58
851
109
170
300
992
642
146
280
976
449
274
32
478
615
386
440
162
28
823
326
452
840
994
780
278
817
241
681
661
705
916
287
649
425
10
388
669
664
574
730
767
392
402
355
582
956
149
21
149
639
138
138
795
14
587
463
424
978
887
376
524
101
884
731
39
804
784
86
88
919
453
670
184
389
396
539
190
234
601
229
801
397
808
653
685
774
457
121
797
544
760
133
569
917
857
46
808
515
997
789
188
950
27
548
151
560
279
768
886
908
80
846
804
397
713
631
600
265
660
215
545
323
325
499
133
1
253
761
600
679
74
719
83
811
995
654
424
55
708
753
686
473
998
167
471
891
149
257
46
654
528
90
71
364
331
551
496
655
550
369
769
694
670
931
76
893
473
27
753
288
589
545
370
106
125
724
227
344
769
772
189
581
266
520
829
821
60
335
831
905
189
683
489
913
228
572
921
13
213
619
306
432
952
608
56
559
112
260
333
730
759
353
748
872
787
488
366
69
822
561
405
19
727
430
110
571
789
381
337
745
64
704
334
154
73
134
23
311
273
950
878
86
280
240
132
495
808
225
617
66
704
543
30
281
242
103
762
960
53
447
768
2
694
542
92
608
847
609
788
956
612
876
1000
317
148
121
824
766
187
497
450
969
563
395
759
9
983
56
214
858
687
210
399
870
551
287
6
670
410
634
431
853
100
754
374
242
771
757
25
812
516
136
457
998
280
470
841
828
277
856
980
202
884
723
415
692
79
149
97
431
8
988
170
22
207
901
942
901
330
864
535
274
959
834
1000
550
248
54
920
187
679
880
674
21
176
150
517
399
188
808
643
936
122
948
185
285
676
464
892
102
221
243
895
269
349
173
505
562
130
307
483
133
379
162
617
606
488
522
683
94
965
71
104
168
841
857
695
669
555
893
892
228
729
159
774
595
521
913
6
128
846
458
563
329
850
496
696
941
453
747
181
884
642
785
285
297
481
940
284
41
471
660
574
284
973
974
604
191
907
528
938
360
824
245
686
326
758
780
467
379
970
857
832
966
813
998
761
157
458
370
474
15
163
240
257
200
83
20
472
842
379
994
181
505
501
607
74
83
110
619
511
568
11
521
521
956
898
371
543
998
413
589
549
89
258
328
938
387
639
736
256
142
333
821
356
309
64
630
96
737
659
169
46
626
683
793
965
476
858
836
996
466
579
873
634
45
300
318
516
531
353
47
10
698
38
343
365
629
448
735
964
626
558
239
776
574
538
121
717
983
163
514
9
845
407
150
18
591
27
20
280
651
6
987
604
589
220
254
189
299
588
122
686
554
262
638
3
6
130
601
437
855
8
867
415
548
438
67
729
260
900
643
634
400
629
588
615
74
907
391
930
246
910
464
268
318
685
776
982
18
828
480
399
722
777
115
658
854
421
306
362
555
883
8
84
613
941
4
458
552
518
771
105
848
81
848
160
475
597
508
525
386
872
916
258
52
759
898
715
899
690
157
148
341
468
31
464
112
33
893
777
767
204
882
189
557
7
966
959
362
282
239
861
993
686
974
58
980
114
181
259
913
785
326
286
496
957
441
423
758
301
47
86
265
440
212
413
755
78
560
358
368
440
265
741
502
435
892
501
394
92
424
86
711
320
13
514
801
987
754
153
752
631
271
649
109
864
40
802
876
665
113
347
455
341
380
794
287
836
575
453
266
493
983
776
434
110
221
937
89
310
499
370
184
835
513
625
829
369
469
472
763
871
792
663
926
228
718
132
609
215
358
710
238
386
781
619
533
542
328
99
640
823
692
550
840
334
244
453
633
443
716
178
287
521
639
490
449
969
853
210
40
822
8
11
450
78
211
778
14
196
901
311
827
842
555
404
250
93
89
487
868
762
643
98
209
416
14
408
324
961
152
932
142
384
976
301
630
323
302
712
923
716
767
223
7
634
495
613
991
806
706
889
722
27
548
887
296
825
290
597
5
286
367
3
396
920
909
241
419
793
131
843
88
934
328
656
675
194
325
812
237
330
914
763
188
60
199
965
684
237
792
282
873
109
488
540
372
798
396
974
961
792
477
476
106
243
130
666
850
274
737
814
566
371
77
542
267
137
119
64
492
354
988
438
250
337
843
928
164
43
981
136
731
221
741
968
584
215
678
882
728
660
27
99
4
416
731
628
431
589
125
19
687
337
938
736
678
518
440
924
60
901
411
117
622
796
103
143
629
479
505
70
575
700
69
543
332
920
463
282
325
634
112
814
199
310
980
746
432
997
572
15
472
644
147
578
275
512
930
969
584
836
492
965
870
86
537
396
640
738
45
754
732
473
87
877
283
99
674
388
295
316
664
25
112
633
116
210
662
360
444
468
20
638
428
346
703
878
380
518
119
814
808
679
774
627
461
620
136
233
996
629
578
874
371
970
421
626
713
748
923
292
629
893
975
405
835
356
422
784
546
859
126
109
277
708
376
533
582
237
759
193
781
433
387
822
925
166
242
337
62
234
443
436
390
141
443
700
31
83
524
689
953
190
473
792
50
402
970
378
518
747
71
904
411
967
148
221
737
584
748
247
515
530
191
564
970
423
111
248
451
382
807
432
715
84
989
672
926
363
453
198
99
285
277
487
762
45
376
446
244
457
621
662
413
79
296
808
606
186
351
314
209
952
757
835
616
149
314
881
283
629
400
210
199
651
478
252
392
829
694
838
6
138
474
25
84
918
890
622
443
280
461
317
921
658
202
983
833
507
957
809
716
305
514
411
274
99
537
948
991
784
106
604
58
204
535
472
103
944
179
1
695
376
148
708
767
111
201
748
906
528
593
294
907
454
343
412
147
385
194
258
62
873
515
978
506
812
566
645
796
421
786
948
53
636
274
92
816
489
194
572
969
812
616
47
762
235
230
533
44
57
427
549
876
7
496
617
378
309
45
751
992
749
329
186
351
632
841
595
583
615
396
492
217
416
945
344
787
289
525
143
882
2
72
866
652
750
313
257
718
86
591
868
32
472
256
126
472
515
232
492
856
280
440
421
634
339
68
959
720
378
43
251
805
239
681
180
11
266
194
619
941
684
639
509
21
541
926
84
515
433
698
75
759
819
276
673
963
254
350
347
409
273
772
344
966
964
641
885
658
519
848
557
426
151
372
432
333
829
943
745
200
201
101
778
67
937
316
745
933
488
583
78
944
891
829
483
569
842
537
546
334
723
237
466
370
650
891
692
369
894
741
877
534
220
902
546
781
784
828
342
731
253
787
527
36
682
670
640
150
550
763
897
999
43
596
932
880
313
646
962
556
989
412
303
719
645
397
460
935
279
581
658
725
127
261
800
646
266
548
287
118
576
391
82
282
548
706
639
329
349
113
82
609
325
796
110
313
805
212
608
673
687
745
904
439
788
887
925
866
325
220
245
537
258
283
162
170
404
408
517
948
400
719
876
30
587
807
119
647
870
35
205
561
442
30
82
775
995
682
286
47
737
905
764
163
79
455
853
950
332
381
152
678
148
18
207
867
692
21
599
476
774
614
970
155
224
86
22
489
817
597
304
183
963
493
872
733
212
692
528
402
303
159
432
271
169
121
290
714
805
508
234
900
379
988
741
821
284
148
650
912
114
569
376
537
687
2
963
498
315
413
463
243
491
400
457
632
43
371
248
972
602
911
337
518
897
981
356
799
17
930
525
926
274
827
55
521
704
288
638
9
573
781
332
817
470
410
689
425
709
267
925
350
781
785
318
844
559
941
764
522
791
770
613
187
189
438
490
829
55
999
795
157
990
75
959
37
668
911
353
914
70
645
943
620
823
177
400
964
531
727
410
183
20
30
315
595
488
114
104
814
418
788
970
453
939
295
310
580
67
63
97
70
851
105
12
623
10
457
581
451
88
950
845
553
487
736
747
26
19
259
534
118
741
766
930
570
949
36
743
330
148
733
889
914
706
683
493
523
682
407
855
524
27
464
605
49
925
476
268
296
580
274
815
554
135
215
510
126
754
593
502
64
98
17
173
114
573
781
201
314
755
548
673
459
342
99
333
49
836
546
259
390
900
107
811
235
10
542
708
721
587
332
469
403
256
9
271
842
281
346
472
572
477
723
663
250
137
659
148
460
571
344
149
937
872
58
903
950
460
488
23
222
717
301
156
997
814
823
39
862
406
291
465
460
449
938
594
522
801
152
268
540
651
17
695
928
33
826
922
802
904
588
45
300
254
94
958
974
767
863
769
889
378
176
729
986
880
434
589
691
422
289
884
956
345
356
509
696
296
813
334
79
972
878
301
219
183
969
641
625
116
343
340
177
839
135
6
505
105
28
597
374
456
213
280
112
497
940
841
135
931
677
674
392
644
850
340
866
663
207
99
354
313
58
624
378
246
50
296
475
345
692
104
52
652
498
205
708
595
536
599
175
796
131
233
47
635
664
75
42
572
730
344
864
966
403
139
634
729
980
162
461
721
388
100
979
213
380
499
562
102
737
636
508
822
999
989
683
36
606
377
996
295
964
758
604
786
648
952
927
198
835
294
392
515
151
295
346
220
252
957
676
30
866
271
556
738
512
793
143
200
791
913
212
775
954
585
459
790
452
832
677
701
308
315
63
684
421
586
690
300
402
461
553
761
114
73
700
59
865
805
613
880
129
237
446
803
725
682
693
748
639
653
595
27
45
841
892
625
624
771
554
543
999
343
767
128
941
885
754
313
16
176
996
616
525
132
8
562
901
516
140
886
217
49
776
563
79
793
924
181
11
514
403
675
337
13
773
739
719
107
682
524
737
986
541
374
342
200
305
422
568
408
649
835
645
315
50
403
499
955
86
912
734
564
780
472
321
830
986
547
628
220
580
944
920
425
729
433
107
703
619
984
386
32
774
831
358
562
581
703
384
782
691
600
186
220
719
431
206
222
88
682
801
564
892
34
123
229
397
522
471
653
152
373
953
165
720
164
538
120
716
286
975
462
196
18
576
45
407
692
590
59
600
523
719
372
891
696
376
366
121
209
415
156
304
784
424
677
529
883
129
191
82
501
102
226
203
939
770
831
93
203
649
277
700
23
860
42
397
751
232
967
843
537
708
997
215
271
371
786
530
739
112
753
935
328
865
904
717
400
369
819
252
138
629
747
287
284
590
669
752
676
67
515
755
915
615
487
546
799
897
547
24
392
26
711
760
735
556
737
648
214
43
162
994
571
583
400
303
384
311
821
46
582
632
277
425
252
858
551
520
529
4
608
232
856
736
305
119
283
837
440
568
732
115
640
725
391
363
595
295
450
855
570
587
445
859
987
181
346
820
66
207
369
203
199
486
204
453
758
749
984
169
503
715
860
393
630
61
471
857
747
239
986
132
768
627
590
906
786
736
523
4
459
56
765
381
385
668
512
9
183
911
408
486
759
249
314
255
315
984
91
480
193
600
444
24
577
337
420
464
400
71
521
743
540
687
744
915
557
909
67
371
734
988
38
122
189
755
142
977
156
259
600
910
318
655
54
529
245
25
399
306
578
564
634
157
599
924
209
34
187
524
810
417
11
335
876
990
981
999
479
322
606
91
341
82
928
59
896
158
136
617
283
90
779
371
93
359
742
81
486
437
817
209
40
955
714
378
301
7
846
933
561
371
73
36
818
424
865
660
225
583
10
375
601
412
100
55
708
916
485
499
111
153
312
482
364
993
542
960
176
771
567
951
994
604
141
167
114
347
889
569
49
527
548
873
386
104
467
464
754
556
594
331
881
659
354
378
895
256
353
941
201
487
819
390
258
234
32
478
560
983
792
477
951
915
131
220
158
788
66
865
109
124
176
580
142
243
190
386
706
965
561
49
523
145
221
290
474
791
321
551
657
179
775
222
167
264
872
536
156
680
29
320
642
793
18
385
339
617
629
645
526
850
792
973
591
948
651
393
419
956
906
465
240
730
67
605
907
335
887
670
816
636
367
318
851
520
182
553
805
783
288
387
694
422
789
718
263
986
801
405
783
641
221
955
901
871
798
460
938
23
831
180
505
462
157
655
748
756
839
353
807
144
93
627
355
498
563
201
161
161
989
495
687
322
700
828
656
18
124
970
398
505
673
552
504
456
975
563
1
402
368
544
839
876
21
107
915
964
797
96
280
372
220
51
441
627
500
619
864
755
593
235
884
634
723
677
234
217
579
90
319
17
690
665
169
531
98
488
737
802
498
940
840
933
492
689
561
164
456
506
397
74
774
87
765
587
913
573
743
696
848
729
89
278
864
573
627
911
650
793
95
357
902
475
400
253
359
501
31
603
307
470
58
864
122
161
765
759
322
356
436
493
962
300
267
685
923
224
656
179
796
97
369
861
630
250
205
764
737
566
810
15
156
703
251
649
106
210
788
908
958
469
55
416
840
80
512
524
968
713
600
219
197
472
502
197
83
470
801
96
966
703
605
450
188
274
898
581
579
673
987
552
785
153
909
274
822
179
576
67
510
562
251
258
52
179
693
926
105
91
885
506
121
473
872
772
634
38
609
676
399
493
97
611
999
170
363
938
604
174
940
40
55
249
644
724
347
110
353
556
880
173
415
551
568
438
90
741
989
798
102
304
301
182
6
309
560
776
558
636
425
988
704
321
952
1
97
364
347
478
302
60
87
477
967
18
775
664
265
346
477
712
872
928
22
143
578
312
969
948
403
507
500
19
724
907
480
826
509
606
352
764
222
648
304
313
339
99
374
475
697
390
766
960
105
95
668
232
734
129
294
853
800
404
701
519
997
114
187
804
900
173
684
907
352
789
660
638
408
820
465
460
991
322
935
653
857
673
344
580
773
756
451
578
129
943
499
227
301
43
486
615
209
950
942
744
445
479
741
407
237
715
181
726
321
317
688
992
461
340
15
656
949
570
732
95
975
809
142
245
84
279
491
335
337
97
495
707
962
762
741
171
432
754
496
405
943
613
824
681
204
328
640
589
295
476
584
492
116
301
93
171
600
858
112
462
437
411
230
763
525
503
863
923
747
520
284
406
955
93
946
589
246
405
535
731
699
302
634
446
747
141
714
478
295
469
390
212
463
944
549
605
620
406
979
199
943
635
627
422
311
117
435
659
783
120
998
478
227
445
970
940
970
523
198
144
449
913
96
47
962
862
615
98
542
284
527
428
890
437
378
184
88
607
658
71
472
290
184
336
705
767
670
244
515
411
759
529
59
814
562
466
117
568
854
967
596
582
667
527
930
909
967
968
990
375
439
651
97
739
223
237
534
737
578
137
732
98
62
510
981
573
783
40
42
56
693
744
553
146
686
751
475
852
465
345
118
714
774
536
488
288
592
109
773
832
334
377
815
2
907
857
314
578
746
697
326
532
567
956
342
242
647
795
871
314
889
191
981
224
794
80
692
995
743
690
462
178
653
429
286
718
169
865
40
664
31
258
827
277
159
572
5
832
296
137
501
265
764
940
757
898
985
18
388
640
966
599
197
448
849
435
729
326
976
233
912
816
645
227
715
760
900
689
898
86
214
640
142
528
932
88
806
456
650
879
559
472
519
653
954
6
620
442
765
933
149
193
590
132
118
821
766
3
715
482
138
161
219
402
571
949
612
949
434
924
628
644
414
191
995
429
166
304
70
872
290
483
882
892
27
28
838
261
909
194
23
390
304
215
23
849
422
830
709
660
905
472
256
656
547
190
947
89
48
527
992
245
954
805
680
18
113
696
647
306
16
555
979
563
390
682
131
90
292
604
374
432
704
493
590
785
368
45
758
444
170
487
394
157
891
915
543
687
558
815
679
39
945
452
975
550
1
790
997
513
98
758
812
64
48
940
866
839
761
255
767
269
286
770
276
499
702
569
398
565
28
506
452
906
840
760
386
247
807
333
428
632
684
16
346
688
653
904
219
220
13
226
634
875
405
132
662
934
686
63
788
253
537
540
209
997
671
480
566
82
239
690
233
188
675
761
721
779
740
452
646
842
975
519
968
922
121
143
876
618
322
287
802
913
84
798
506
586
26
602
97
466
444
95
132
497
586
714
666
409
305
705
226
287
485
330
199
491
183
84
71
176
1
24
262
153
538
978
59
917
158
215
286
476
482
161
906
48
177
858
706
751
627
176
580
218
34
235
695
395
324
90
5
924
3
503
158
153
777
552
827
238
279
879
908
807
777
648
799
352
60
620
216
838
30
350
592
40
690
180
141
754
334
551
75
344
737
204
330
45
77
976
358
89
104
234
209
957
818
483
176
42
557
292
736
560
901
518
374
812
263
715
155
808
386
749
587
805
213
902
407
544
749
146
381
837
641
865
149
671
106
31
422
219
802
712
529
926
946
859
478
406
722
487
163
982
614
762
294
539
779
978
988
829
26
108
640
463
240
416
902
638
360
616
97
52
103
189
387
566
708
774
367
921
870
981
521
209
931
604
165
866
103
963
75
670
199
15
992
599
885
956
599
427
961
291
339
627
544
679
696
486
328
469
126
342
259
503
888
495
113
623
420
663
402
346
763
809
11
333
745
810
738
594
329
683
656
861
520
46
844
213
743
73
555
788
432
451
358
428
844
735
116
145
806
91
921
619
170
592
286
304
249
136
931
337
385
569
509
149
142
773
462
574
274
351
13
295
767
989
975
679
766
782
658
371
123
570
673
585
626
846
824
648
734
874
614
214
758
456
95
520
1000
236
954
221
307
483
712
608
886
69
924
476
951
763
40
523
7
998
410
908
100
11
536
527
406
614
245
631
891
870
960
648
577
674
580
472
189
529
810
982
530
832
944
319
984
648
222
235
955
228
863
912
893
518
829
748
786
528
138
990
668
680
312
542
704
236
160
922
906
449
625
142
394
363
870
228
361
67
149
205
605
791
218
636
567
420
250
224
297
904
251
556
667
542
976
812
456
327
181
128
643
360
900
365
344
850
49
237
364
377
328
87
261
870
851
134
134
272
366
679
111
934
238
563
654
594
593
191
314
214
151
530
595
37
315
814
878
997
9
126
182
979
647
634
678
523
305
28
484
260
908
611
235
746
734
585
330
393
71
304
560
864
210
631
23
672
248
122
847
681
383
416
279
885
456
101
82
156
527
308
78
582
156
495
854
697
906
150
332
110
284
692
937
52
980
423
566
877
789
222
419
867
70
606
22
539
893
881
455
247
347
386
875
78
577
244
922
900
245
601
475
976
24
80
547
705
678
62
803
939
4
432
294
769
660
661
551
877
453
408
60
321
206
396
521
107
713
917
1
20
607
210
251
967
198
896
9
502
469
797
55
323
446
791
168
258
103
755
897
654
817
301
220
174
143
746
782
681
317
673
353
303
511
548
577
753
281
45
858
720
74
147
453
432
916
634
456
527
621
255
362
3
931
756
348
341
24
920
229
844
744
985
283
864
681
93
791
887
16
929
201
339
623
325
243
607
481
432
249
999
888
968
132
256
321
195
221
829
23
531
173
297
585
93
725
225
839
97
901
248
363
713
620
382
767
918
346
383
729
875
535
490
438
620
159
13
680
161
514
82
355
621
849
287
559
717
88
100
753
698
77
734
700
852
325
520
28
811
169
996
291
199
664
619
341
604
272
455
685
461
573
209
253
214
848
726
645
9
342
429
523
291
405
203
271
858
558
921
412
366
662
134
596
776
64
472
119
965
560
916
75
565
447
458
207
115
809
581
475
766
362
668
136
132
880
668
892
319
244
342
262
847
631
947
887
942
206
508
917
641
985
698
975
250
165
937
439
965
344
498
969
885
518
321
249
212
651
736
894
174
898
486
361
97
294
298
482
82
818
723
920
951
261
136
475
495
264
589
637
544
230
682
225
73
517
732
241
363
524
303
328
228
774
594
298
468
95
268
291
964
356
65
22
335
970
922
450
626
569
418
937
317
840
30
651
804
491
112
503
628
705
494
414
928
272
296
64
991
758
913
572
321
716
85
746
342
941
665
638
715
218
957
153
241
830
507
361
526
339
836
981
875
796
860
239
381
589
714
914
810
601
267
950
681
198
861
412
872
864
715
964
220
943
997
258
814
69
781
806
123
320
971
975
658
47
814
711
623
626
801
475
855
94
598
675
457
728
147
558
663
169
223
119
886
598
559
118
379
829
97
663
616
891
64
177
332
848
327
757
140
135
948
97
768
669
913
139
273
319
793
606
29
144
467
379
886
938
115
472
673
217
411
978
128
799
181
968
420
478
873
773
643
128
831
464
82
777
712
634
551
786
402
782
854
310
411
685
219
644
67
163
630
858
769
545
90
422
189
963
224
103
615
325
83
527
506
448
646
203
993
368
343
716
241
287
826
41
529
965
356
606
466
618
435
834
934
550
695
358
297
803
692
23
851
100
922
70
761
218
304
620
507
727
414
682
403
712
930
434
870
712
135
447
985
585
822
863
272
457
612
270
837
198
531
167
709
102
657
462
714
592
819
402
264
787
574
707
221
712
185
437
372
808
902
304
148
107
628
739
876
146
941
972
303
224
569
842
84
108
589
778
662
649
53
682
287
77
264
982
922
920
634
215
436
599
916
856
798
760
593
11
948
298
418
774
637
864
374
729
833
364
841
120
176
581
389
662
614
593
384
832
545
117
585
778
737
220
985
602
826
130
416
925
429
38
881
67
765
806
115
130
217
539
633
517
456
800
413
173
560
58
381
929
100
656
97
846
296
170
367
388
139
547
50
599
881
817
970
172
381
480
676
468
597
920
797
76
926
299
837
483
214
438
581
762
978
123
720
978
795
139
914
188
887
65
261
468
612
555
88
425
989
361
23
29
368
867
553
394
79
253
678
361
199
701
768
348
611
262
488
940
145
81
468
130
936
694
424
958
60
23
612
517
180
503
814
964
161
510
526
201
585
876
683
379
677
832
22
203
388
141
153
326
304
540
506
775
591
881
577
430
422
486
346
90
178
343
269
531
277
701
18
271
629
531
7
479
598
97
799
554
812
573
678
436
343
227
34
646
573
242
724
358
532
587
232
574
618
736
279
598
386
213
528
571
519
83
141
779
213
553
267
805
911
781
973
390
763
841
735
6
235
544
384
768
993
486
306
278
588
256
772
385
465
193
522
666
528
508
84
631
824
810
885
257
902
323
889
508
67
148
366
885
44
935
397
919
557
251
909
733
911
734
328
464
993
858
455
373
995
748
776
934
788
48
238
67
100
256
452
926
570
305
396
362
302
427
970
239
753
488
143
279
683
59
44
4
391
447
39
661
675
816
769
694
776
276
122
471
79
557
356
471
473
435
912
88
114
626
983
512
768
236
579
910
60
212
645
270
718
423
768
809
335
155
158
830
275
845
872
243
84
790
700
782
177
452
755
68
621
713
539
306
577
101
215
363
293
572
852
370
609
921
683
807
605
246
757
233
342
214
950
417
693
29
979
684
849
136
922
689
467
679
769
667
324
644
684
458
12
449
993
249
470
448
396
8
74
458
523
83
614
957
777
248
726
22
322
807
246
460
207
998
525
802
877
45
948
21
713
691
767
884
871
941
920
834
359
34
642
161
236
399
555
31
814
430
406
615
982
460
772
163
102
228
871
381
448
482
67
867
831
72
810
694
874
61
484
435
387
925
116
79
424
855
969
286
894
564
775
415
75
754
807
576
936
582
4
717
999
50
107
438
325
217
134
759
342
557
533
577
424
550
60
897
539
839
747
227
811
868
347
715
568
970
264
698
275
253
326
345
776
527
680
994
449
691
756
574
181
703
481
260
569
252
892
118
388
757
881
31
146
149
27
660
522
188
414
519
566
712
860
512
812
340
216
439
885
595
257
38
726
348
220
111
341
757
234
171
804
601
708
804
355
14
266
664
577
150
948
597
32
227
228
914
225
746
842
212
444
410
562
500
858
413
820
577
203
323
511
763
576
752
426
97
98
340
478
82
692
392
299
885
819
649
869
675
769
267
510
418
34
87
986
51
364
637
468
381
333
148
799
489
627
42
841
669
827
985
694
130
138
608
205
802
391
435
520
575
639
373
381
221
856
385
509
72
556
576
660
220
642
20
922
688
437
66
374
497
613
760
481
50
732
276
530
560
174
929
932
536
522
420
453
479
874
466
321
22
130
847
643
717
46
220
805
549
723
734
317
42
235
638
96
531
330
529
330
741
453
889
850
354
896
830
438
632
514
734
601
486
285
631
110
618
986
678
68
467
363
91
338
760
509
225
903
379
565
277
168
119
518
268
232
676
585
530
897
842
627
926
561
471
87
411
139
244
198
375
877
649
576
368
234
864
871
474
29
433
836
580
687
738
58
237
727
235
558
635
616
378
693
452
725
942
77
978
390
193
736
995
42
975
347
295
938
337
212
651
281
737
548
270
422
234
808
470
394
328
984
382
237
254
286
986
468
626
145
673
540
286
239
831
365
96
102
661
771
197
960
549
299
957
600
821
869
416
442
665
678
554
530
312
139
118
772
309
803
46
637
885
984
771
454
935
242
798
637
123
952
8
415
957
976
53
125
473
804
84
722
331
635
787
916
712
566
389
276
397
415
825
719
797
772
771
6
525
506
604
297
265
347
640
328
375
114
192
481
605
848
108
892
808
404
415
715
292
8
645
886
762
950
221
999
389
800
986
418
634
531
636
397
908
477
287
736
976
335
923
487
355
288
755
320
550
928
815
405
124
832
260
111
47
549
925
381
675
259
642
382
20
576
712
903
669
773
725
46
829
244
592
914
492
139
260
402
652
934
90
672
824
159
291
588
859
633
108
187
208
322
690
277
310
389
712
358
773
80
829
368
357
840
14
224
538
466
653
697
628
150
46
960
987
996
620
44
869
942
708
517
827
85
258
946
412
50
178
57
110
412
332
96
60
175
390
560
145
948
836
331
442
784
428
272
875
616
334
499
145
821
979
867
648
767
352
709
164
73
176
476
543
957
838
743
474
269
474
985
708
700
905
639
781
245
396
227
348
186
371
729
747
753
283
988
315
144
804
638
237
754
396
949
473
333
88
22
392
267
998
968
246
336
729
59
590
115
262
353
46
649
403
969
568
149
136
5
501
247
473
76
290
770
514
591
645
90
468
182
329
851
334
131
517
286
769
282
843
376
466
648
832
853
973
876
422
379
499
780
645
299
695
407
373
25
794
480
205
468
778
587
235
906
418
228
397
368
161
642
578
883
812
376
468
931
885
733
387
66
323
523
961
915
984
79
580
755
950
78
17
401
237
554
463
423
916
395
494
602
36
766
171
84
947
120
555
931
843
907
395
614
346
663
673
537
982
872
952
867
246
915
215
769
751
430
986
667
646
628
27
277
96
468
866
1000
94
83
714
694
334
562
75
999
131
955
524
131
659
419
631
547
857
509
17
910
424
932
859
584
243
534
945
270
440
892
555
442
32
644
24
988
769
611
840
803
364
848
513
127
761
977
262
103
474
545
782
365
322
723
939
464
80
311
299
612
640
914
801
489
327
153
704
883
870
927
231
503
399
102
898
613
516
447
650
66
160
304
323
891
484
250
847
853
437
990
866
309
64
779
121
212
815
987
49
386
310
800
505
2
49
644
441
776
578
647
656
538
457
336
462
713
185
826
190
712
922
928
18
402
452
4
515
643
335
855
613
315
595
648
479
421
629
692
905
594
229
827
360
788
744
390
845
28
450
959
16
827
134
542
845
293
742
519
240
3
704
339
644
435
207
970
619
131
256
111
803
782
832
445
457
108
838
590
996
762
814
941
543
475
590
301
531
306
147
63
841
174
957
709
772
833
989
558
381
41
386
32
393
980
528
184
911
901
858
859
630
571
337
679
113
332
885
964
969
508
473
832
430
424
822
964
937
551
786
951
800
132
611
717
923
197
187
227
862
42
325
601
211
102
868
775
417
633
119
72
640
773
704
373
213
378
454
140
580
464
326
149
337
247
704
668
135
503
609
770
777
463
524
621
764
493
554
864
955
585
562
682
731
105
820
727
268
244
416
860
74
412
366
566
961
123
912
997
5
974
973
799
853
15
105
308
931
127
605
190
752
29
573
362
507
198
873
830
575
285
910
135
408
577
73
240
496
680
499
37
744
880
539
110
672
557
943
59
285
644
306
448
330
347
769
427
936
259
318
153
292
544
262
415
126
114
666
289
212
557
539
207
42
132
596
576
101
307
243
956
883
186
279
860
915
630
445
430
557
75
579
601
285
818
646
896
505
32
299
623
662
895
965
127
570
969
663
668
449
446
898
692
83
910
1000
511
909
80
242
898
606
326
883
658
907
878
73
63
996
325
207
898
774
377
858
981
722
907
942
231
869
957
93
748
598
740
555
931
605
681
67
325
385
157
329
780
24
948
619
500
904
346
82
726
196
512
991
133
614
925
12
496
11
732
164
822
810
370
656
928
149
103
261
409
888
995
216
45
294
424
904
938
325
445
723
133
880
172
626
987
332
912
785
358
925
917
702
504
326
522
905
673
762
865
16
544
667
612
619
43
699
852
831
557
329
842
914
266
927
378
558
109
429
355
703
893
215
512
912
201
787
448
306
29
199
748
50
555
960
449
210
27
317
146
558
536
397
760
567
352
679
334
403
583
669
287
190
128
442
216
218
316
933
688
26
138
471
455
520
690
60
177
339
305
354
68
737
858
101
807
107
906
56
718
150
630
29
474
352
62
778
531
118
676
907
73
408
253
807
519
192
860
937
518
356
886
423
945
991
362
46
600
113
188
150
213
951
473
942
863
925
939
908
107
293
205
816
978
236
819
870
470
862
125
111
314
183
377
71
650
649
41
45
651
201
912
63
297
162
446
795
266
478
765
184
342
964
854
542
833
246
807
226
242
24
437
775
839
147
126
556
818
723
597
562
492
166
203
1
275
644
364
679
312
861
81
30
230
495
775
800
869
887
299
55
836
789
628
165
370
49
620
879
327
144
242
394
59
368
807
612
570
301
135
381
634
907
980
592
460
251
752
451
133
339
319
121
230
54
646
183
5
491
131
58
15
239
747
600
319
369
547
578
257
876
623
635
309
382
383
643
765
706
874
55
732
768
916
985
539
920
51
269
730
450
606
660
658
467
749
697
151
820
31
458
845
996
764
618
558
183
556
737
520
799
460
686
350
847
498
474
430
362
747
522
732
107
821
577
192
397
300
82
477
604
612
773
322
464
931
697
682
790
879
613
590
537
244
990
990
511
413
393
780
147
976
76
973
919
768
56
187
942
666
726
637
215
594
354
433
804
544
425
255
968
870
843
430
858
791
496
990
977
786
492
588
4
556
717
4
943
308
974
571
837
384
104
27
404
691
928
220
55
940
789
572
712
455
744
434
729
182
171
271
1
596
686
134
43
370
758
32
414
60
373
602
374
561
381
972
62
734
958
807
814
484
710
332
453
485
524
532
510
939
236
845
392
17
512
396
423
105
160
238
571
553
229
94
382
424
845
857
358
631
739
437
532
933
782
589
505
512
689
39
558
197
220
567
776
992
855
705
272
242
905
345
727
615
488
888
458
127
596
512
128
571
735
759
56
51
280
940
765
804
693
754
81
137
272
145
610
74
906
659
855
294
618
435
601
22
344
579
448
797
473
833
513
489
170
360
423
473
396
969
664
620
847
309
247
660
722
390
440
503
382
283
992
299
436
16
888
394
760
486
182
838
245
673
846
767
868
556
906
821
746
937
368
726
466
768
540
313
887
722
419
542
990
441
729
552
137
338
85
340
254
878
451
485
46
960
787
195
349
425
303
66
109
727
226
171
278
474
367
467
134
927
64
62
143
497
259
602
504
966
570
852
926
447
240
603
52
85
717
179
162
95
490
142
430
36
474
304
72
148
912
743
187
159
276
369
928
227
83
487
953
590
923
951
732
32
210
739
425
532
370
198
483
278
204
813
62
816
179
43
605
239
246
691
688
196
596
292
319
978
439
223
401
96
501
586
18
591
429
425
490
751
722
515
951
59
96
784
269
968
447
399
755
522
680
713
8
948
720
515
642
79
962
547
392
885
267
773
293
427
355
728
176
295
131
131
760
929
19
67
966
283
866
247
921
946
374
241
302
205
263
160
295
507
610
901
466
438
862
997
262
661
63
54
695
198
722
994
2
75
574
598
723
635
211
341
682
732
192
168
823
649
772
617
710
791
828
676
781
132
931
852
102
952
732
198
480
601
27
461
256
912
907
93
8
424
392
590
695
726
810
517
480
105
983
633
573
178
969
698
989
312
700
941
989
478
374
646
367
637
870
999
426
871
747
173
683
268
655
577
852
990
69
375
647
45
344
638
284
44
965
968
352
604
797
20
880
153
814
128
33
560
507
150
840
435
705
719
756
943
30
329
679
658
587
65
223
347
766
336
677
551
240
654
120
485
331
392
538
103
923
419
678
121
13
735
580
427
815
492
373
580
37
337
996
31
610
576
942
297
646
529
985
565
887
326
149
99
218
553
811
390
100
389
960
203
919
310
82
543
328
995
67
104
629
827
813
925
121
236
932
841
123
207
56
809
78
447
774
325
749
90
162
986
2
308
179
697
100
881
973
139
758
587
258
927
396
281
490
272
197
643
527
99
592
879
817
281
741
114
933
93
426
823
446
995
526
395
714
634
914
855
161
269
177
848
994
891
16
209
133
968
613
840
320
108
470
154
993
913
475
44
537
955
28
204
938
127
41
622
705
564
589
253
177
968
752
194
954
460
953
164
256
970
703
739
480
839
204
577
69
479
719
817
92
898
941
959
612
424
870
763
988
186
858
164
766
793
547
740
690
162
408
19
676
645
460
803
309
440
538
709
510
760
171
362
572
416
731
986
669
231
18
699
281
230
851
456
728
602
563
414
128
282
520
484
671
372
899
968
49
751
22
465
223
955
457
698
542
820
972
500
316
420
159
968
618
581
231
733
7
597
32
323
313
806
814
877
385
386
658
823
944
53
777
689
276
340
52
923
527
815
317
426
794
864
861
566
31
668
579
542
35
607
963
365
408
608
904
145
475
879
858
35
552
74
506
996
861
179
447
451
637
311
827
51
654
162
74
999
490
83
38
831
319
623
933
96
938
900
441
133
19
349
208
27
298
245
760
847
512
889
566
506
437
490
545
911
290
609
856
589
81
471
193
662
285
588
132
840
290
917
315
108
671
196
361
903
290
205
446
888
569
445
439
858
73
128
319
942
713
425
357
18
446
653
214
160
368
428
659
59
457
865
105
525
57
576
524
627
374
554
594
531
895
47
119
811
637
157
881
877
582
223
52
135
465
10
243
729
351
342
63
962
40
109
775
52
437
492
308
448
448
859
366
784
844
29
851
446
797
489
170
884
481
737
218
10
191
109
31
506
959
338
139
373
490
620
631
835
602
151
841
577
17
911
323
339
470
17
491
109
662
75
906
469
447
793
669
227
36
589
824
70
697
16
971
843
606
663
516
26
31
554
119
113
5
224
932
903
2
345
174
146
911
229
419
619
752
534
737
446
201
282
503
400
941
609
227
14
286
742
264
545
292
354
616
225
814
796
334
779
551
715
235
899
157
194
721
197
924
893
504
198
366
601
971
82
283
263
699
235
520
792
396
108
697
946
139
569
636
113
354
702
83
104
376
942
577
957
830
588
32
315
279
937
622
167
791
771
114
580
105
427
637
619
73
492
203
820
937
975
8
400
765
919
629
932
87
569
780
318
350
592
213
736
335
347
657
687
74
891
474
397
124
194
804
598
297
60
568
160
53
367
624
129
800
527
755
467
312
536
928
209
293
574
446
800
890
888
187
87
614
604
134
830
695
189
774
609
359
527
754
692
933
941
396
773
913
49
277
489
370
46
112
259
153
857
587
338
332
601
645
889
281
6
944
551
560
728
880
232
538
985
579
780
282
595
761
812
794
273
225
200
126
996
970
611
235
369
643
87
710
157
112
842
651
595
420
334
58
657
285
192
57
170
619
778
172
603
241
987
633
332
61
389
404
457
562
991
227
534
300
667
458
162
506
805
902
975
585
833
169
460
474
47
276
984
366
630
397
539
255
802
628
38
143
836
662
419
489
27
26
424
704
804
378
709
11
871
947
811
60
621
807
630
9
133
148
265
627
712
76
461
177
287
753
466
441
980
906
780
270
810
813
150
486
804
876
173
765
752
822
42
408
479
365
279
520
755
915
808
178
937
518
331
642
992
766
783
504
826
865
583
959
721
381
508
45
273
438
274
794
405
323
338
719
927
509
4
954
631
62
636
670
101
320
696
113
252
474
335
677
107
404
508
19
487
706
878
71
95
361
368
198
915
898
806
456
14
220
1
71
583
513
520
780
483
729
612
683
685
248
981
563
696
194
607
446
511
773
364
328
656
741
4
581
623
778
948
543
353
93
427
193
480
84
749
614
692
244
822
142
950
781
670
741
267
636
297
136
427
654
193
678
313
698
727
741
506
373
871
705
407
873
20
201
430
184
149
361
765
476
185
278
750
103
281
733
206
22
600
515
926
832
362
363
121
861
127
601
810
900
745
64
23
256
957
779
224
762
358
197
518
254
347
446
90
844
700
217
771
960
629
402
821
773
529
532
807
95
140
397
923
278
509
972
224
931
970
914
24
509
343
437
144
979
673
369
778
747
159
496
504
43
328
138
363
756
162
17
993
490
603
106
513
266
829
111
238
870
715
643
312
311
171
941
62
233
423
202
184
429
813
211
893
762
463
955
809
945
932
367
666
584
54
139
902
842
310
823
789
879
377
49
76
942
31
763
12
635
175
844
241
395
578
309
282
682
861
599
240
716
362
119
909
852
784
270
697
854
949
712
631
385
545
508
257
21
502
58
409
945
507
491
701
301
210
256
33
857
896
200
630
231
719
334
869
432
137
821
673
894
845
476
336
486
317
186
438
211
76
233
939
424
919
450
642
465
641
506
935
500
233
398
157
264
161
367
981
108
65
99
900
446
157
3
328
240
669
789
789
665
926
353
406
440
15
197
221
632
560
217
867
900
814
711
780
274
134
903
443
544
928
78
122
270
315
710
170
212
70
555
257
730
929
792
833
320
924
691
679
985
248
212
712
596
98
161
48
733
13
231
942
760
546
337
391
37
471
132
99
266
343
504
13
899
937
135
812
463
980
924
596
408
660
201
510
790
552
142
172
702
4
774
623
869
499
239
941
222
213
768
816
611
781
937
137
4
292
336
97
691
650
741
396
999
756
241
878
20
388
545
340
653
282
866
314
56
682
372
324
238
522
166
517
92
513
177
566
675
604
117
460
858
707
892
102
833
88
458
665
76
551
128
286
544
394
781
2
810
105
228
787
823
978
268
183
739
113
574
286
33
766
624
784
708
660
346
340
973
629
7
867
173
964
142
107
147
899
11
554
403
944
142
899
683
219
999
115
555
470
745
772
644
229
328
413
977
430
849
597
735
860
292
785
365
11
196
330
624
266
797
692
626
846
473
438
372
650
106
717
563
900
76
682
719
516
182
752
753
273
733
720
201
99
429
439
218
280
388
229
347
18
901
216
766
475
41
512
437
400
254
539
101
511
466
799
562
999
18
115
82
965
977
677
977
87
965
226
727
549
668
393
978
131
641
478
840
320
810
949
801
530
362
556
363
813
325
222
274
917
208
824
822
221
515
559
212
819
839
836
485
31
469
545
791
675
168
105
77
743
825
916
402
491
195
708
195
588
823
812
699
647
561
555
754
374
797
834
856
630
603
406
101
855
570
606
252
712
989
975
647
281
394
809
82
832
208
687
140
4
382
881
626
221
480
940
934
304
596
853
176
524
884
939
873
814
225
13
838
440
752
436
643
199
522
375
721
158
630
969
727
973
430
136
241
104
364
415
302
612
73
607
516
759
103
959
701
349
534
291
115
591
270
785
315
292
599
96
631
340
812
104
22
772
392
870
823
205
262
317
536
48
80
728
310
681
438
424
263
787
60
864
65
75
804
987
549
936
331
819
188
970
814
250
416
904
942
406
700
158
774
234
161
189
723
746
349
806
40
889
425
835
709
125
659
874
584
652
598
387
927
635
719
69
247
962
672
215
494
789
441
833
208
602
907
362
174
594
286
151
502
917
920
316
845
756
683
191
595
256
66
339
534
6
648
48
362
223
218
252
956
727
317
111
982
557
308
825
723
362
405
821
571
734
258
160
665
291
812
842
600
617
138
721
918
151
873
914
395
734
691
886
722
785
990
906
274
30
569
190
98
302
632
840
116
151
901
642
824
937
936
904
420
617
60
749
402
671
411
728
153
452
732
168
922
826
473
432
931
97
662
105
13
84
797
233
343
714
679
870
300
636
736
609
463
178
872
230
49
430
283
312
856
369
28
451
917
707
321
725
617
580
690
174
988
301
146
360
261
124
459
529
523
392
509
491
504
481
390
113
98
686
653
211
231
557
606
746
47
215
89
415
220
890
491
139
401
220
106
500
399
892
68
864
744
827
242
780
706
444
438
288
646
471
213
895
850
445
381
344
627
265
28
743
505
132
492
303
804
793
295
683
768
253
454
924
656
8
938
46
910
444
325
641
586
218
824
224
720
365
945
675
199
340
38
836
14
448
820
212
476
907
789
771
83
327
112
50
268
508
190
101
150
290
582
357
787
644
401
149
126
328
611
424
20
184
863
223
224
621
654
575
237
891
627
796
224
530
751
614
27
726
10
137
444
449
941
468
535
880
53
674
722
69
712
897
818
743
547
609
947
918
837
445
506
271
584
538
950
235
212
7
189
455
898
124
813
516
565
654
211
848
470
66
870
326
140
631
784
359
132
892
983
196
724
648
611
774
173
360
874
681
637
880
442
697
174
459
564
941
533
301
230
892
558
306
230
383
141
262
820
214
607
440
28
240
297
453
350
583
917
293
668
140
887
633
777
732
547
857
815
1000
567
796
222
662
331
805
606
848
362
640
37
16
109
601
821
374
517
503
796
842
856
365
534
320
216
154
612
437
945
497
280
22
19
84
470
236
46
355
30
697
140
188
501
949
375
486
551
299
932
993
362
413
309
187
923
34
184
808
160
851
588
421
288
859
96
464
594
507
592
344
108
557
49
523
232
862
439
978
510
198
531
93
107
876
894
785
494
105
827
675
58
990
313
176
67
612
346
648
484
810
125
209
608
238
695
313
448
709
584
11
997
83
854
629
298
790
781
683
333
531
78
45
231
922
149
709
275
601
390
56
483
801
961
142
302
528
757
398
65
246
544
85
467
393
345
5
217
191
211
237
422
894
438
148
21
76
144
518
769
595
898
372
828
587
707
57
57
221
282
151
441
970
948
41
942
842
962
385
222
354
259
215
347
24
887
152
555
815
439
41
644
281
828
344
328
111
655
788
174
407
229
91
377
313
29
76
656
520
29
113
58
793
841
633
273
906
62
395
367
252
592
303
503
988
901
836
299
772
416
554
983
7
266
752
361
85
567
20
965
239
349
398
412
517
983
840
153
843
669
882
273
314
156
817
990
662
334
129
756
314
808
663
678
561
808
791
66
163
92
850
495
134
552
235
729
535
330
843
196
869
158
16
490
65
501
721
566
88
827
476
837
953
993
471
413
260
315
357
96
438
335
467
550
511
709
582
267
613
912
899
585
408
636
594
11
270
893
179
541
366
784
900
495
753
869
592
638
239
836
703
987
3
925
711
763
943
184
789
405
274
151
343
438
184
41
43
223
213
815
26
346
631
805
246
430
263
703
353
696
104
800
51
449
599
345
635
997
622
741
275
210
60
130
672
29
387
556
909
784
765
545
663
67
32
411
487
274
390
20
505
658
727
64
707
866
306
124
22
505
957
904
451
238
29
102
878
251
77
283
596
742
698
980
200
221
950
26
269
25
534
740
176
416
276
204
424
41
484
295
160
326
422
557
901
600
515
253
32
332
852
158
360
905
259
712
856
783
475
211
720
732
964
570
88
26
504
60
16
196
966
92
860
942
654
807
808
268
132
717
115
800
755
124
542
470
981
354
602
469
129
144
495
430
453
636
3
294
285
529
223
218
505
898
726
181
801
86
628
635
27
836
104
701
437
544
59
887
755
111
55
259
838
352
84
324
150
374
443
622
399
610
827
155
458
449
676
370
126
511
19
326
389
672
300
65
566
877
146
988
142
611
627
177
159
690
357
224
718
665
640
94
569
699
13
962
734
282
713
740
847
485
17
256
198
775
918
618
490
590
342
353
948
975
919
321
750
577
374
227
709
226
745
822
746
130
984
501
986
436
947
76
243
560
465
942
235
188
914
752
150
333
732
938
33
147
365
141
97
473
428
657
196
248
291
532
648
971
827
789
53
402
862
621
999
539
685
58
335
718
70
739
235
353
435
942
386
466
128
964
484
613
355
246
652
278
894
408
542
67
627
488
650
322
838
233
805
835
411
251
890
441
329
196
600
168
340
931
436
490
250
776
220
989
77
566
78
362
216
180
282
336
828
662
313
441
922
785
207
73
959
193
609
470
374
804
922
480
102
211
625
77
39
251
110
576
413
719
387
434
173
469
599
309
854
764
592
808
850
817
702
954
659
899
515
966
465
270
615
350
376
450
219
702
723
24
181
823
124
270
33
948
388
374
630
929
964
894
491
222
314
444
89
354
530
278
209
399
520
545
988
611
308
548
383
39
341
225
654
376
217
428
886
768
906
313
708
591
375
284
161
437
484
506
66
685
205
949
368
63
447
289
658
543
274
761
491
785
888
254
168
63
497
485
368
309
147
118
399
436
620
56
843
609
781
971
81
500
113
299
502
840
730
586
211
788
871
72
699
731
712
812
253
125
370
499
831
921
115
369
787
898
167
211
62
998
894
590
429
348
897
789
961
207
259
915
112
518
152
816
760
91
162
176
55
698
890
228
185
527
857
991
9
495
280
882
64
917
51
799
601
883
101
519
185
505
414
357
868
858
119
545
91
78
477
730
310
544
68
313
779
512
171
93
43
875
134
826
516
932
541
874
881
221
88
34
216
449
400
68
436
553
463
159
89
726
938
742
565
30
418
719
531
861
563
56
743
108
180
176
442
316
486
332
198
541
222
385
444
889
828
992
889
884
549
272
704
967
261
393
654
365
758
410
310
544
455
878
126
232
759
433
418
741
855
588
223
949
294
437
621
825
546
828
321
843
658
835
251
956
240
54
421
76
269
293
561
157
646
762
906
44
966
716
14
238
743
852
716
577
195
432
109
670
726
244
14
546
478
11
478
646
646
816
692
743
789
396
191
807
14
958
284
149
763
262
488
389
886
290
127
948
850
794
388
762
197
343
846
907
839
294
885
614
374
268
503
979
369
304
691
253
481
854
980
247
346
166
725
784
431
421
442
572
386
192
810
126
23
383
952
551
705
882
293
134
831
525
568
659
74
847
526
290
215
315
522
684
759
382
432
714
961
775
287
813
567
847
605
486
341
735
635
990
413
298
656
506
591
505
7
408
32
30
755
388
91
276
781
240
754
973
580
128
762
792
270
986
465
96
135
531
443
108
531
37
162
265
134
626
283
461
318
326
741
221
917
580
401
581
756
178
911
602
95
830
344
979
582
722
389
195
398
424
107
6
14
476
753
825
407
816
741
754
599
972
616
581
159
602
807
78
615
534
998
284
804
928
212
312
850
567
61
385
784
567
183
451
862
981
576
714
242
897
396
886
27
596
793
756
617
275
551
953
972
662
589
379
622
536
888
887
227
845
45
198
81
613
422
945
165
286
852
981
315
515
926
776
573
619
182
804
43
150
918
326
434
31
923
844
997
725
177
828
750
758
419
15
727
729
563
685
489
604
120
862
273
715
147
290
984
366
765
385
687
387
934
90
378
264
24
724
606
720
693
437
931
747
709
881
318
107
665
32
284
293
977
900
53
766
161
17
3
47
151
191
429
902
333
3
994
434
61
905
290
355
626
597
611
99
58
559
360
730
688
226
548
778
70
322
450
239
752
299
841
986
375
635
154
747
762
26
565
611
966
107
253
768
763
429
54
799
658
845
276
382
328
348
736
720
330
654
937
328
29
508
905
107
955
783
386
753
236
917
8
651
294
133
500
355
760
189
299
639
424
121
660
911
99
543
924
432
466
599
727
430
323
576
766
662
186
538
166
415
852
72
658
243
341
366
533
967
660
429
760
577
922
170
782
742
667
479
214
552
701
157
94
967
333
772
389
213
700
77
180
29
740
611
305
202
504
515
289
365
668
393
69
338
547
234
343
641
432
65
404
958
762
995
938
459
522
732
601
865
259
534
145
82
279
724
478
12
902
612
337
914
164
676
179
276
946
322
479
726
362
420
891
940
123
73
605
856
760
736
818
745
817
935
433
889
546
261
985
623
234
262
318
539
981
125
712
475
700
772
18
729
75
85
837
617
487
512
954
106
221
233
17
736
810
380
951
480
33
570
695
491
894
134
636
921
923
990
558
112
245
59
982
513
172
488
579
608
532
721
673
987
529
628
962
456
720
484
276
737
598
592
576
875
340
717
405
949
533
333
720
55
52
855
345
828
821
664
289
947
897
763
846
175
154
301
673
492
867
55
30
786
675
196
982
381
702
307
634
420
117
676
419
728
56
338
36
330
590
219
886
257
422
983
772
575
54
892
155
879
465
31
512
626
736
776
189
752
651
262
679
991
12
906
437
211
326
754
192
840
528
543
198
166
636
875
33
893
576
825
369
833
924
665
577
28
993
89
178
916
511
497
925
374
108
429
718
602
1000
221
669
858
501
282
370
976
499
208
807
464
597
89
454
733
401
960
765
663
360
345
676
280
624
226
738
792
619
575
216
617
455
797
790
326
773
47
530
582
389
396
441
322
920
265
204
349
601
351
686
495
659
548
437
271
963
967
650
675
101
245
995
453
737
781
353
637
839
383
696
643
341
121
266
532
923
804
789
328
829
644
641
416
80
90
784
132
999
784
806
615
724
823
576
889
238
278
887
906
509
987
938
997
538
202
662
760
450
558
731
923
296
196
511
137
885
588
390
966
812
786
654
560
794
322
536
646
620
6
155
473
240
169
792
334
49
724
381
101
959
555
126
974
661
351
880
321
373
976
315
28
457
872
887
269
522
793
358
993
995
360
909
673
720
573
917
113
819
403
108
152
919
28
116
141
844
127
421
976
79
846
295
272
579
732
639
10
43
971
528
600
350
712
897
844
700
138
8
730
909
210
283
339
451
695
618
385
71
148
519
88
240
39
276
143
275
88
922
510
689
188
883
650
225
983
114
592
79
316
958
939
982
247
167
492
227
287
292
698
175
829
156
511
500
487
201
621
211
199
324
158
509
518
213
192
639
441
310
305
234
540
268
520
46
863
156
670
615
322
766
85
153
809
39
106
866
300
43
515
984
601
946
451
38
184
105
747
265
770
746
913
605
935
708
198
441
30
357
234
74
143
114
799
964
641
981
125
918
111
97
8
737
106
600
697
321
212
45
165
859
373
193
900
527
289
229
812
78
966
396
177
799
184
572
817
581
720
530
851
268
666
511
449
22
52
245
966
178
332
768
735
937
934
195
571
315
264
123
732
932
1
489
694
618
508
518
574
293
472
848
488
266
661
74
400
919
798
685
286
730
133
850
535
701
229
566
560
594
866
436
533
775
708
763
10
137
582
694
945
259
786
843
292
959
839
252
926
394
470
508
98
165
465
565
44
216
182
151
595
885
158
626
909
173
266
818
457
133
304
677
476
307
701
546
967
299
325
476
141
916
958
281
954
763
96
976
994
834
179
827
513
435
226
478
843
716
90
545
793
204
283
606
864
984
337
745
296
600
222
675
3
324
167
990
465
164
607
291
482
877
624
761
518
303
398
263
28
516
697
198
785
661
366
154
692
864
85
861
32
249
447
62
358
936
509
732
507
885
557
455
320
556
750
912
694
692
704
148
534
940
832
706
27
674
420
753
406
95
36
79
35
659
824
175
229
917
653
661
665
99
875
2
647
156
677
786
774
529
599
860
728
605
837
243
22
670
354
64
548
200
667
729
659
481
427
157
368
893
521
177
937
649
522
154
780
455
725
444
144
303
922
594
441
611
276
47
502
976
402
706
241
134
780
917
392
63
167
296
43
811
537
370
682
318
388
168
328
405
972
754
114
146
116
176
390
33
806
481
3
715
651
224
916
580
679
399
740
153
636
810
85
60
121
710
824
354
449
936
540
60
60
897
423
163
694
476
845
663
297
360
695
950
819
319
293
504
613
718
368
860
193
883
182
832
437
993
296
239
171
833
917
748
261
121
6
20
950
65
547
996
208
509
454
85
279
314
617
955
452
579
487
864
313
952
423
734
393
531
747
705
159
815
67
504
781
747
9
774
932
127
882
469
206
586
186
503
346
884
135
119
628
484
488
870
169
242
92
655
883
595
485
13
66
768
810
739
322
424
45
956
652
625
291
952
38
150
404
467
798
29
832
619
318
603
837
319
479
552
708
882
288
107
684
465
739
108
537
174
894
631
713
905
556
704
947
486
655
972
55
264
656
293
406
65
875
915
207
345
593
292
326
458
224
585
832
180
632
628
815
14
868
437
357
352
235
361
672
273
584
611
590
600
214
241
505
863
519
579
865
982
838
769
77
803
533
329
427
112
449
597
244
372
293
502
79
250
395
347
104
917
549
223
295
245
317
183
207
256
266
569
314
622
103
724
959
575
537
871
933
322
56
110
561
952
449
331
3
859
72
337
115
908
341
637
862
930
887
149
751
635
115
550
179
728
685
114
889
785
530
662
977
497
628
685
1
968
662
783
790
79
96
334
486
367
946
663
215
491
705
106
518
87
482
12
344
783
378
156
989
159
529
18
802
721
56
110
900
329
360
824
393
33
810
334
818
33
910
668
588
266
435
439
261
196
885
647
339
507
814
603
133
756
268
309
962
498
601
545
552
58
385
530
78
899
32
237
707
499
966
388
847
739
908
673
593
95
879
980
979
308
52
290
743
831
447
403
278
17
792
872
316
974
550
344
683
995
273
7
160
709
906
997
65
439
644
441
709
770
238
248
252
995
421
913
828
948
228
359
34
679
585
287
972
618
451
581
130
108
203
82
265
688
699
424
351
78
634
717
375
610
394
532
455
733
611
69
285
343
983
370
430
861
765
155
329
426
524
181
189
83
367
37
110
539
868
922
921
956
368
282
157
208
117
134
585
252
13
541
435
544
288
953
280
942
596
105
79
163
358
716
489
651
148
498
951
679
108
884
425
599
113
450
900
416
453
209
971
305
308
832
824
229
177
391
964
572
729
381
905
591
252
644
786
514
988
295
632
327
160
908
522
657
440
43
463
641
905
643
169
376
312
956
260
343
631
430
628
189
353
438
837
403
25
813
467
678
847
881
252
245
935
120
706
52
7
614
699
404
873
186
93
639
62
470
115
463
329
216
631
796
597
794
858
396
74
218
321
35
927
989
88
728
882
736
380
371
580
919
687
136
334
828
407
164
163
761
861
410
647
491
251
974
186
125
763
898
690
3
547
197
631
544
759
840
612
885
181
509
317
642
211
231
776
433
161
376
371
582
871
116
902
33
630
159
343
618
260
447
608
719
16
581
780
827
649
908
771
668
557
571
294
370
496
351
386
614
678
763
440
842
456
737
848
352
976
159
942
563
332
714
824
826
789
736
83
880
573
256
161
485
590
12
285
812
184
974
485
867
693
835
210
635
165
14
427
626
15
925
913
210
843
684
652
452
874
933
848
172
699
200
113
596
74
35
787
280
570
196
207
950
742
330
951
531
325
893
764
900
687
573
893
860
388
80
33
391
241
993
950
509
713
283
106
939
835
234
303
404
82
786
439
512
796
673
947
113
839
388
413
525
103
652
129
218
409
40
96
366
86
373
48
195
241
763
644
200
313
494
867
114
12
483
4
973
152
686
346
759
223
689
856
851
736
667
636
992
543
44
966
528
339
496
47
443
517
357
375
129
382
133
821
856
496
553
94
654
568
541
241
681
907
536
249
169
880
847
595
739
235
93
825
212
435
338
818
36
303
230
462
107
429
298
849
71
748
587
959
156
654
973
21
211
778
826
420
904
344
169
9
964
590
131
220
944
318
257
161
238
56
228
208
964
673
611
250
919
542
554
834
994
506
737
953
337
968
479
114
58
405
625
605
470
480
726
624
695
708
79
22
956
348
373
926
46
750
64
467
246
940
101
131
470
597
312
29
487
904
555
494
900
9
743
988
958
903
995
246
384
615
430
959
151
534
603
63
531
528
165
868
816
277
108
870
809
912
865
51
568
602
614
882
911
220
360
45
871
588
781
88
636
97
319
859
497
673
757
570
1
188
336
773
780
388
489
364
537
337
456
978
252
205
333
763
975
917
642
598
497
851
80
257
783
277
968
898
296
695
815
524
253
550
551
730
398
95
242
154
107
298
493
513
509
785
372
26
822
751
350
306
316
700
717
524
123
605
902
766
634
822
391
2
371
644
242
48
18
935
750
193
787
647
447
945
397
380
481
466
719
339
367
819
597
195
274
133
422
369
276
124
800
234
468
203
44
538
434
571
295
141
336
280
781
797
805
240
96
292
874
528
415
720
464
184
250
53
264
862
671
457
459
326
936
989
391
817
127
413
148
708
668
878
64
749
616
117
277
380
194
630
836
304
331
47
322
493
923
502
563
329
88
374
870
383
960
196
102
650
467
886
45
713
80
716
788
395
768
563
258
957
224
103
590
781
3
546
803
790
349
393
82
556
376
501
57
176
719
426
634
496
964
590
317
209
956
371
458
667
541
567
535
10
451
66
411
341
774
712
470
225
948
548
694
776
227
608
32
926
401
388
845
258
891
994
840
971
421
679
666
98
202
179
242
121
904
810
990
502
740
757
356
455
672
377
414
495
74
618
856
908
201
846
412
321
460
481
562
953
779
832
454
991
355
449
73
748
669
112
49
918
936
315
989
298
107
725
823
796
100
619
468
417
227
785
67
171
643
671
154
562
235
857
363
354
575
67
734
825
418
22
203
628
784
390
657
636
819
983
746
906
492
126
771
982
664
833
91
272
233
1
903
195
867
349
733
82
285
252
655
597
200
913
80
551
780
555
931
570
954
444
177
1000
943
595
962
835
183
931
44
185
169
544
858
7
851
451
258
395
889
890
950
711
475
773
676
233
444
402
437
822
87
910
459
263
411
187
119
626
604
247
766
941
96
88
226
949
934
87
784
521
148
916
619
558
400
744
978
845
504
247
874
387
319
547
708
198
120
775
32
386
807
351
607
661
187
461
17
39
159
441
367
630
813
959
10
866
368
926
824
428
345
74
286
441
626
992
490
188
817
214
284
747
891
629
919
432
211
104
937
895
836
693
566
19
505
227
527
536
788
411
18
393
697
738
582
488
461
709
749
305
277
848
589
403
588
955
799
426
846
901
541
510
771
994
3
547
842
643
587
737
129
583
692
267
580
417
306
767
598
598
984
366
59
276
369
833
924
609
72
274
251
247
618
284
730
703
160
320
822
233
828
245
201
660
927
689
494
308
658
907
231
847
673
248
506
364
591
259
125
445
535
684
880
378
847
298
175
866
432
624
451
768
566
33
690
487
609
658
865
580
766
825
326
42
952
442
6
506
850
865
787
310
445
319
551
948
684
845
227
949
428
110
622
645
507
115
949
583
548
29
734
575
203
885
219
522
544
869
493
138
701
266
278
717
257
916
763
848
513
210
894
816
525
231
249
31
700
633
31
431
843
262
699
256
762
296
461
986
929
934
203
503
240
218
405
758
614
656
266
288
39
692
547
964
668
922
642
245
749
201
976
24
491
418
113
907
471
772
919
350
779
837
678
659
940
587
325
276
587
792
872
115
934
890
638
4
422
538
141
401
267
492
344
662
259
407
518
86
870
427
127
851
627
135
25
745
735
567
703
283
163
514
528
395
732
227
679
389
272
40
991
291
588
83
8
988
790
482
344
822
526
936
880
406
800
548
414
493
348
141
125
632
987
75
633
235
977
729
463
401
179
424
479
527
724
544
184
291
975
989
850
67
805
934
86
218
593
21
838
990
879
799
759
932
346
165
602
858
615
52
537
379
378
410
305
925
570
778
719
42
560
365
313
397
896
668
864
631
694
34
116
691
636
506
265
716
415
528
687
929
641
763
928
198
432
377
221
146
366
613
629
695
17
381
475
959
75
908
890
238
865
159
149
682
216
914
959
867
739
837
41
128
995
867
114
7
532
544
904
579
402
643
880
725
654
643
231
675
231
89
1
236
865
872
424
194
844
830
222
279
978
817
39
979
709
587
249
206
50
407
87
485
980
318
432
926
979
337
577
689
636
724
37
36
629
610
768
363
947
931
160
780
894
615
843
924
297
387
637
677
340
423
945
379
616
284
518
953
318
226
796
70
962
53
947
113
694
84
356
243
997
732
518
300
591
422
220
646
407
257
456
268
790
947
715
671
504
976
184
116
674
899
904
760
554
947
130
119
874
836
962
71
586
799
839
291
4
348
609
644
713
237
729
522
125
410
584
553
219
459
72
425
847
266
344
774
950
59
40
236
191
49
466
778
763
216
876
395
635
541
439
65
60
198
550
661
956
762
814
136
680
514
462
883
793
306
923
654
654
234
30
782
48
608
610
754
616
299
252
362
549
560
696
768
863
868
558
815
585
149
127
839
352
986
549
31
242
63
9
163
151
153
455
69
658
408
998
854
106
567
375
220
608
996
741
659
747
110
659
506
54
855
328
24
711
369
990
740
561
895
973
242
183
245
15
511
717
912
359
670
147
952
592
696
960
347
375
261
449
455
1000
375
447
478
190
887
945
651
681
257
867
969
879
203
265
835
361
976
337
966
44
38
944
267
608
880
784
139
161
543
958
874
193
170
446
372
584
594
919
400
798
497
394
11
427
186
460
548
935
395
217
853
785
799
571
923
142
149
272
294
988
988
914
810
790
971
126
328
854
669
377
109
80
589
104
299
148
855
396
966
77
619
74
604
699
820
807
894
840
333
873
759
887
928
251
456
3
677
12
510
453
632
402
788
370
670
554
914
843
350
538
525
367
527
315
562
543
245
217
932
435
133
780
372
102
112
94
284
682
732
378
638
818
884
126
798
395
925
9
234
279
485
707
674
229
375
968
183
219
18
489
33
159
796
670
989
407
533
905
819
534
110
800
423
505
851
685
949
808
887
806
683
125
202
855
275
774
413
859
104
528
642
10
155
404
24
695
851
669
503
878
674
602
548
959
253
562
364
430
837
469
975
969
726
154
267
78
260
905
733
35
448
176
188
707
180
636
154
717
210
671
982
582
823
984
21
687
125
165
302
382
436
985
293
74
120
675
223
894
528
660
379
443
385
28
563
125
133
548
567
802
201
177
147
862
132
808
481
278
834
495
479
943
937
493
671
360
408
234
589
759
104
814
704
857
939
613
22
759
648
481
364
956
960
248
221
978
135
457
833
31
402
870
779
850
845
700
959
97
664
552
311
839
542
725
974
55
53
881
927
644
679
78
281
116
2
811
548
7
67
42
170
57
766
121
546
388
309
165
572
198
496
716
461
29
573
436
228
243
892
205
763
177
474
199
861
387
838
477
916
482
135
124
251
330
712
225
223
844
724
838
285
85
289
626
190
228
16
22
379
736
409
635
400
212
783
79
870
536
850
607
135
293
54
690
235
987
60
185
234
216
564
845
272
801
701
683
922
852
925
188
578
882
150
408
605
383
327
745
967
724
411
630
862
830
819
374
664
880
98
158
131
174
477
523
407
377
414
736
814
613
995
116
813
239
313
698
806
695
515
668
624
503
259
609
673
378
739
935
688
380
264
837
970
264
625
709
802
443
128
270
444
532
216
570
770
3
64
623
103
349
410
682
294
51
120
61
391
764
711
975
553
427
86
79
960
365
272
274
605
96
810
848
774
215
774
236
938
682
89
498
533
833
940
143
828
659
575
23
662
252
749
916
332
830
364
785
344
404
630
910
41
9
189
810
339
369
206
327
964
27
406
345
578
249
369
337
150
476
188
370
777
688
763
225
900
824
601
32
538
307
946
165
707
803
505
207
704
578
804
432
265
205
429
640
936
900
14
146
169
495
874
378
749
895
590
884
174
866
694
450
519
209
841
731
119
653
504
999
164
319
267
607
876
228
270
325
523
119
202
955
951
792
523
551
639
320
267
115
589
691
864
856
462
915
909
978
499
158
689
495
690
231
603
734
563
628
304
59
746
356
497
816
138
17
872
678
131
930
562
356
830
611
842
127
632
602
548
741
826
452
811
46
132
643
286
112
177
384
978
724
8
509
158
858
618
131
627
156
354
355
755
479
815
68
304
338
513
784
56
359
126
572
623
988
669
337
657
307
262
103
868
179
476
507
858
948
442
397
835
558
962
285
661
272
927
435
555
135
205
514
973
954
17
67
870
833
511
572
576
256
908
438
991
268
90
144
650
602
993
618
503
447
457
115
912
154
491
71
464
370
55
847
669
975
502
867
543
713
845
354
329
606
861
775
364
69
828
160
181
145
407
628
476
445
762
843
485
154
513
616
646
978
550
543
185
980
15
394
371
70
38
956
777
323
879
151
811
405
216
577
158
127
238
29
556
551
50
210
478
134
654
549
902
107
448
29
324
673
714
929
569
602
87
690
764
533
335
437
28
597
95
278
67
978
383
184
872
709
817
101
141
259
465
989
899
500
172
605
994
189
23
223
837
451
319
925
765
624
79
760
887
465
629
845
135
923
244
450
505
621
208
190
154
727
868
743
105
121
446
904
797
632
431
365
607
649
340
359
796
593
539
183
1
589
572
638
549
141
153
674
361
821
592
830
153
736
889
612
977
40
181
597
868
860
528
893
536
808
237
542
559
648
82
632
526
809
777
130
917
177
37
928
288
987
387
205
511
713
636
938
390
557
614
353
971
521
307
160
259
66
28
639
854
52
616
70
230
984
961
487
990
605
339
500
454
512
135
723
364
784
533
411
327
589
694
47
834
341
704
948
381
275
362
460
225
225
451
924
794
992
717
407
623
935
186
132
965
317
826
660
893
499
801
119
811
292
722
218
743
656
391
334
727
443
465
725
868
90
402
767
377
989
776
196
994
779
807
510
739
925
478
58
848
805
188
848
88
948
240
774
383
204
823
798
839
433
350
583
784
675
146
237
424
914
522
108
67
257
205
5
627
770
957
870
328
273
954
633
66
88
163
957
928
155
529
596
722
898
257
387
177
960
832
220
724
240
751
921
310
662
72
659
788
773
54
353
810
564
99
566
994
880
172
543
382
403
659
367
840
477
357
712
117
973
932
271
723
982
687
774
660
370
963
425
305
153
810
717
428
163
844
840
403
751
350
305
168
96
774
2
365
237
707
627
433
144
351
299
80
951
244
252
740
2
709
659
63
497
92
19
497
342
365
54
285
272
68
720
973
427
894
756
676
365
441
212
873
898
782
484
479
260
537
714
321
831
90
856
869
77
418
307
299
393
776
768
529
286
127
926
835
669
789
612
101
110
227
334
505
507
312
462
687
76
646
878
44
450
753
642
822
418
32
20
103
95
354
300
607
286
140
931
485
460
525
896
917
976
966
663
373
190
282
746
865
629
629
657
378
676
381
9
939
115
227
627
449
439
26
777
509
51
175
71
939
340
256
142
598
166
741
943
394
457
389
406
125
463
784
236
845
718
112
811
25
899
924
528
674
607
99
443
924
519
638
718
338
535
270
205
309
270
16
515
519
711
45
996
345
944
162
412
478
581
205
496
794
957
496
197
690
185
241
206
680
919
417
235
37
998
282
627
656
211
89
85
129
97
981
727
221
11
330
172
540
735
965
100
242
496
841
578
14
649
712
439
423
155
260
191
949
689
975
246
682
437
791
747
696
597
107
899
584
187
384
526
491
17
907
485
270
565
710
731
46
79
848
35
554
429
424
811
133
118
802
69
114
363
437
250
680
383
617
574
953
826
208
593
200
801
177
827
556
117
281
727
595
136
789
708
416
127
554
690
638
124
19
380
860
62
23
523
685
415
343
503
350
625
993
932
417
404
221
358
675
332
983
792
660
288
463
541
723
944
824
748
589
915
989
103
757
209
681
441
861
284
364
304
357
375
995
126
482
748
701
353
473
178
574
706
459
280
814
794
251
268
325
438
535
356
720
423
565
274
376
847
560
319
863
890
424
968
550
615
294
272
669
369
689
235
463
446
702
858
288
950
768
807
704
205
32
501
660
644
219
960
856
827
237
931
233
143
432
648
334
777
529
92
981
737
826
758
288
82
125
747
563
22
219
471
46
196
488
380
742
306
321
904
854
221
604
211
430
841
502
521
880
263
102
412
971
296
273
995
740
922
268
868
529
100
163
499
20
213
255
39
678
548
892
609
537
404
32
779
584
837
50
306
336
580
883
189
366
390
681
757
638
909
499
817
520
154
454
842
258
924
966
819
503
725
364
644
208
299
208
887
854
483
104
344
481
923
668
37
454
101
577
230
253
265
295
585
794
89
181
791
1000
323
129
900
366
269
831
85
252
650
33
762
534
311
857
847
986
258
388
395
508
738
244
50
887
387
773
534
270
43
847
859
979
432
965
83
578
804
544
202
342
544
781
205
410
953
482
408
928
658
578
934
451
582
840
613
694
993
464
621
502
940
805
907
555
268
504
824
904
512
661
411
883
179
497
446
363
325
184
753
552
882
94
219
776
869
769
646
759
516
341
869
916
291
945
527
110
41
920
525
106
746
238
456
718
886
654
233
233
49
521
748
283
207
76
623
714
35
304
27
417
754
102
92
289
250
626
672
679
619
122
68
742
893
482
860
73
399
56
190
918
131
950
652
990
518
167
482
655
198
459
844
838
757
695
870
481
907
863
535
843
234
602
600
201
490
247
613
763
376
990
408
735
889
650
623
497
635
976
512
816
905
114
722
841
982
95
770
415
850
758
677
861
439
516
570
4
590
779
113
635
168
627
299
22
127
570
473
349
895
794
469
159
117
380
385
980
682
338
823
313
960
188
410
64
317
33
15
348
372
712
363
276
843
684
692
1
566
746
671
820
992
564
56
560
447
229
473
860
555
791
243
170
462
737
426
487
940
921
98
895
7
321
410
956
451
315
183
879
515
859
600
179
51
89
90
230
653
360
613
717
636
689
405
493
235
884
677
761
74
389
891
821
773
13
38
834
550
275
730
206
804
42
63
203
970
507
909
382
376
325
733
244
446
906
68
278
352
432
501
249
139
177
414
106
421
75
711
404
974
318
509
480
957
943
33
936
996
999
33
152
128
898
630
662
387
988
844
242
893
200
11
432
419
902
917
81
784
676
766
198
853
851
4
9
617
31
663
708
561
759
81
763
531
702
791
51
386
429
929
307
988
950
713
549
516
640
423
221
646
108
852
734
884
838
362
11
229
160
539
390
364
210
923
951
808
73
452
919
790
202
70
326
125
576
397
486
61
774
507
187
855
286
627
717
853
953
989
972
961
373
183
914
707
467
98
628
524
191
927
31
514
533
794
72
697
540
258
909
669
83
336
122
686
494
698
492
402
983
399
255
883
968
811
29
72
55
473
805
568
445
165
484
436
934
877
462
808
550
284
655
151
79
954
196
457
384
812
740
53
483
311
955
393
802
337
320
962
875
155
757
400
60
572
30
39
476
69
43
320
502
877
371
968
604
819
398
391
220
303
428
478
676
3
5
896
853
625
466
976
418
649
448
538
965
79
655
313
325
73
724
161
660
742
398
944
667
588
579
733
378
777
15
18
609
903
532
728
31
999
756
148
234
272
192
295
919
459
400
892
511
758
753
869
93
9
911
217
535
156
749
113
92
63
894
454
558
444
463
333
234
994
847
525
643
816
578
770
881
891
439
459
965
642
952
402
357
618
307
453
74
935
619
159
451
398
101
27
675
159
387
691
661
361
783
7
706
453
638
87
630
782
403
383
790
612
198
182
433
948
839
303
344
400
394
364
645
875
256
711
898
32
653
996
368
325
254
420
436
903
263
885
641
833
955
621
795
898
154
404
906
694
511
108
430
868
819
197
463
131
771
731
101
94
731
580
83
86
108
861
270
839
874
56
207
354
617
860
270
295
250
582
408
1000
207
859
544
534
473
471
42
292
297
334
497
275
820
89
259
577
115
269
776
554
344
736
806
834
842
911
16
640
916
354
295
838
87
406
358
765
311
953
861
164
422
810
294
497
701
914
389
466
980
267
629
866
160
541
729
758
343
361
622
533
61
531
583
639
218
916
599
624
460
233
988
678
626
763
595
32
844
865
561
415
606
241
818
285
847
61
948
674
665
460
994
311
806
402
138
169
465
576
888
667
260
833
581
579
476
628
554
89
767
98
273
579
604
675
118
421
637
594
240
510
12
273
134
273
467
284
102
663
627
559
830
974
563
576
631
369
80
448
777
673
639
291
487
366
61
729
801
645
385
139
561
141
322
74
167
151
782
324
586
203
829
227
357
435
271
197
959
501
788
888
978
678
141
72
943
441
546
79
606
999
740
634
662
209
591
990
620
837
397
552
597
349
153
589
318
287
135
209
469
821
138
511
879
236
566
696
714
979
378
997
952
363
565
447
968
187
449
896
950
355
596
178
229
17
531
10
320
901
795
18
635
259
57
293
367
317
181
971
21
171
135
682
406
858
601
111
695
698
986
563
323
83
279
151
94
612
881
170
818
817
77
285
258
774
316
398
894
577
833
435
288
977
421
845
396
514
395
318
224
82
827
54
643
230
201
956
6
404
493
270
456
31
534
539
457
543
225
197
133
457
800
781
455
136
874
542
180
175
457
154
725
216
454
364
827
556
445
664
918
161
670
493
657
528
244
48
918
406
585
537
880
532
905
538
535
414
432
258
59
668
690
593
25
576
788
323
336
350
160
242
107
25
612
707
468
74
850
926
391
557
888
263
207
109
868
993
423
116
844
237
845
204
52
232
734
559
5
736
955
648
538
94
603
650
559
429
645
247
856
500
438
487
769
990
865
74
912
372
960
834
433
68
575
50
478
282
614
49
621
781
816
713
48
871
882
570
171
28
997
726
169
926
428
176
701
121
940
993
621
264
237
457
111
516
478
432
49
808
202
233
809
652
682
752
918
519
794
841
173
186
979
825
898
49
784
536
953
118
752
462
48
296
160
424
635
607
192
697
408
218
683
670
980
460
471
896
862
582
749
912
239
604
526
281
389
523
483
103
784
23
13
702
68
66
254
228
130
958
227
731
433
998
13
609
604
373
39
419
67
752
153
759
131
964
152
288
530
169
801
980
894
229
227
407
986
313
726
172
842
363
682
611
152
711
287
554
287
11
201
213
422
675
94
264
84
130
283
787
284
595
311
28
128
498
345
850
394
349
776
374
157
626
211
522
917
224
366
84
98
98
19
514
999
996
271
844
448
614
856
998
493
55
127
308
421
236
666
221
278
732
152
23
859
640
239
916
816
209
744
917
142
352
320
870
785
668
185
333
573
276
151
208
913
569
405
778
2
10
995
234
371
195
963
879
648
725
430
924
350
872
674
233
383
629
483
373
663
499
568
110
947
290
890
805
514
281
90
227
842
318
39
974
764
821
738
34
897
208
396
17
344
950
541
234
725
327
462
123
645
954
72
481
583
346
572
571
22
78
909
477
358
613
69
991
759
472
735
915
670
257
670
916
122
947
479
967
332
21
67
959
350
209
201
304
659
110
67
208
713
453
623
819
357
571
817
655
977
465
500
534
980
965
920
753
922
623
247
390
206
366
491
430
740
453
497
876
405
933
455
131
456
618
519
706
240
610
631
749
716
495
679
2
305
680
412
487
570
733
350
689
12
238
89
17
99
437
972
57
236
809
119
505
8
870
162
696
454
664
879
323
552
819
73
275
351
592
728
556
391
17
412
845
151
135
405
612
262
276
798
652
149
579
82
524
560
203
391
649
188
203
602
787
202
676
955
165
60
561
732
798
386
442
795
451
88
814
453
234
103
503
234
43
352
396
601
955
526
175
561
160
325
501
417
266
628
969
620
592
879
205
787
605
645
686
475
782
924
197
242
8
259
371
818
65
155
426
10
920
590
20
48
260
643
158
672
192
389
186
204
89
267
231
215
337
21
880
163
109
227
506
556
388
117
402
795
137
110
810
804
933
2
14
990
354
264
871
845
157
256
584
736
557
463
17
22
982
44
597
674
268
100
666
984
629
44
189
807
645
394
874
986
185
115
89
287
414
355
454
203
10
62
609
453
273
494
447
856
71
94
93
554
479
510
948
196
512
864
453
825
568
450
580
654
82
189
694
846
422
79
109
701
208
809
575
355
139
442
992
225
832
816
792
947
409
864
864
471
318
598
336
333
358
876
240
845
32
425
916
82
62
792
943
138
411
27
595
20
191
951
44
966
608
793
31
722
495
832
314
477
47
438
960
765
75
556
473
622
477
266
836
659
663
497
746
557
332
381
751
657
354
997
499
957
514
464
43
842
505
424
978
298
901
982
226
185
759
57
411
419
182
938
150
493
391
541
4
904
836
522
524
423
444
894
591
83
350
289
201
986
363
313
967
713
998
714
865
229
67
259
159
629
772
242
31
996
690
568
173
924
290
199
473
974
427
560
973
455
761
174
505
422
209
411
714
726
350
737
743
281
149
247
502
445
517
604
241
573
977
716
201
321
160
614
155
283
920
32
51
873
650
136
323
129
721
699
120
340
88
753
409
913
777
445
862
954
366
362
500
370
584
73
293
156
857
28
311
695
947
221
567
542
836
221
378
170
680
292
954
589
933
294
897
570
730
10
509
471
236
315
95
271
946
368
938
506
843
616
285
236
945
934
431
39
968
678
988
312
790
774
491
816
921
207
780
502
417
463
18
138
549
514
748
144
49
930
176
361
972
576
704
174
19
130
808
528
685
374
558
898
742
769
414
198
374
380
473
948
764
579
972
758
15
307
728
339
121
884
118
781
93
483
405
830
446
436
446
227
28
461
313
973
534
764
957
530
130
727
779
573
337
526
930
891
668
635
218
437
573
602
719
301
896
900
612
634
428
909
259
121
99
300
295
651
38
190
300
249
9
421
696
152
727
253
625
192
157
570
926
243
191
401
795
580
14
227
358
439
101
46
167
931
974
629
596
740
816
742
214
711
540
370
467
503
177
125
427
1000
277
117
951
35
580
498
298
307
369
815
171
77
787
52
169
329
864
977
851
614
189
956
961
725
938
953
882
675
465
812
53
186
757
252
899
62
855
207
833
352
770
316
992
169
499
349
684
402
525
340
975
333
553
35
432
328
321
1000
830
378
30
428
518
233
295
216
242
290
586
387
429
174
764
296
356
186
699
338
131
370
921
94
153
17
947
923
549
811
189
25
98
670
353
917
352
588
847
64
938
399
987
148
562
470
735
86
818
758
297
415
760
550
133
168
82
469
872
631
908
2
145
704
427
894
591
691
48
245
162
453
293
31
359
797
421
79
248
890
630
234
911
232
740
575
522
460
455
45
355
812
674
790
868
607
813
855
449
518
781
589
564
690
72
287
787
38
433
136
653
143
667
489
370
207
486
856
138
508
702
775
269
585
727
908
339
186
54
266
318
660
355
486
996
24
871
471
73
425
31
476
931
116
605
988
470
293
248
298
384
409
984
740
899
612
59
957
315
995
559
420
649
261
421
625
298
190
723
92
940
60
676
288
794
772
346
93
977
983
938
271
924
986
426
687
760
423
417
686
49
183
394
135
587
983
927
107
749
206
967
108
463
543
125
13
30
875
695
620
882
580
219
818
848
208
609
908
666
990
199
521
267
218
587
932
847
896
831
287
851
410
361
424
772
175
954
505
108
342
290
655
908
705
833
129
79
860
309
358
44
553
601
343
389
869
677
474
847
612
57
865
363
762
446
637
984
404
330
430
20
856
775
606
263
60
188
249
35
461
486
29
503
695
13
513
5
443
518
245
87
677
703
226
593
383
163
39
404
528
24
917
384
714
227
521
646
444
187
49
544
432
525
569
654
667
661
158
599
258
333
491
778
207
500
31
926
349
711
854
964
646
692
467
791
941
836
640
501
12
315
442
1000
518
722
158
170
964
506
692
518
382
8
402
724
776
518
58
619
738
669
747
913
855
387
104
404
642
826
207
521
789
969
844
777
451
26
629
114
149
388
597
203
612
651
542
448
551
128
293
829
921
353
562
763
703
333
776
806
612
639
532
407
434
43
896
890
877
26
836
496
929
420
451
656
702
394
542
575
684
205
272
905
108
437
321
481
888
946
11
100
188
357
298
868
249
759
426
904
519
194
283
99
480
638
207
165
849
438
29
464
946
589
667
921
140
810
475
929
208
104
819
256
358
378
123
877
448
752
663
99
597
370
991
538
23
892
722
283
422
360
811
80
618
792
135
464
534
698
396
559
761
667
847
712
119
347
364
179
663
402
709
878
499
504
621
585
647
994
533
44
947
665
312
135
627
959
401
667
778
22
129
353
397
246
780
219
80
328
183
42
711
418
250
427
697
642
849
734
387
113
887
442
331
587
260
456
931
70
601
500
872
16
384
18
417
229
995
942
320
235
856
265
604
668
523
632
919
170
983
13
546
418
18
150
351
137
615
625
163
404
877
303
124
89
786
426
521
43
467
809
496
506
326
430
814
266
531
233
566
301
839
61
275
978
677
501
383
411
759
851
513
242
213
570
196
941
373
308
14
684
918
109
197
30
20
409
785
902
512
241
381
812
862
438
391
905
909
702
382
137
928
108
868
830
527
991
394
926
340
195
249
478
223
341
552
326
906
118
694
428
651
594
369
38
497
194
460
750
84
316
113
479
898
506
200
583
12
734
213
667
38
612
333
111
64
311
84
967
801
522
468
689
47
72
966
106
814
688
117
146
170
982
636
89
918
928
203
544
728
980
131
919
222
518
74
891
829
482
822
257
932
890
39
603
930
457
454
428
376
655
643
709
266
388
34
408
897
906
180
94
443
714
657
686
545
3
182
275
772
573
650
161
747
299
867
501
127
943
638
440
364
522
790
179
378
495
398
215
834
752
183
908
719
756
618
583
309
224
719
635
411
408
920
477
971
393
692
705
774
800
756
589
948
977
856
815
451
12
53
435
508
938
399
162
259
51
708
448
458
603
800
281
182
13
304
266
919
380
556
361
287
282
654
575
910
784
11
45
639
119
44
185
411
726
788
995
497
203
278
214
828
265
544
731
345
963
902
529
53
294
59
525
576
788
204
837
514
855
870
358
845
441
867
80
927
48
969
212
433
262
387
15
644
735
271
231
136
987
600
130
794
497
876
494
508
277
969
295
632
561
322
449
489
269
450
781
777
635
361
247
731
758
86
553
265
875
955
525
167
811
675
979
578
435
516
389
626
925
128
340
109
305
601
618
540
38
380
798
695
397
569
366
56
991
969
715
182
81
922
878
86
257
649
452
172
641
338
987
115
38
641
69
394
337
615
411
798
47
393
546
364
54
21
129
665
564
968
433
266
724
804
345
475
594
401
72
225
991
813
807
16
213
667
779
406
820
516
520
416
435
99
638
605
16
858
98
251
172
390
803
265
841
734
288
4
136
518
436
84
209
35
440
693
750
237
703
657
151
532
925
684
401
966
446
807
510
69
789
26
633
217
443
550
78
800
155
837
91
906
388
853
623
483
136
548
310
170
1
626
525
38
292
52
684
548
897
613
964
878
890
73
180
647
113
112
884
745
491
283
655
641
450
698
167
40
630
986
831
242
999
378
753
881
615
412
280
974
525
854
633
387
710
927
995
889
578
810
950
916
215
699
369
83
496
411
638
247
233
634
683
607
677
441
332
956
118
627
421
670
776
737
483
459
891
421
992
209
719
868
907
462
138
645
710
224
681
221
202
821
159
805
86
464
410
922
759
33
392
304
793
348
556
274
316
855
366
776
859
219
901
622
262
789
733
287
944
300
616
846
144
417
113
212
766
975
955
884
101
828
797
831
15
234
38
969
155
627
568
940
338
424
586
515
593
259
158
49
223
648
793
812
879
640
118
937
867
437
695
965
809
332
106
644
360
549
706
757
869
749
884
181
767
17
196
349
995
136
525
517
935
809
266
4
204
309
603
644
115
700
122
251
791
386
398
768
730
242
665
180
57
9
368
928
862
922
228
777
765
791
417
595
299
884
578
482
801
966
735
48
225
834
579
399
724
503
208
585
876
972
185
829
175
149
694
859
753
84
622
52
351
150
667
902
219
145
930
538
995
643
1
627
566
49
253
9
622
947
917
866
877
337
511
23
919
244
370
244
274
22
368
24
541
395
370
431
379
888
618
6
759
874
40
590
69
865
406
244
658
55
404
52
859
356
907
750
850
348
189
536
495
613
376
388
906
913
157
452
593
540
704
819
964
954
729
95
391
531
873
704
225
816
933
779
972
204
961
844
279
379
944
212
511
142
587
181
493
499
717
661
400
16
941
823
892
457
513
709
322
692
795
547
258
690
309
656
611
188
141
427
394
257
380
862
475
594
342
526
767
801
566
589
920
325
956
834
983
995
992
130
452
309
612
864
801
692
263
295
893
981
587
585
640
288
405
530
889
198
989
633
803
26
65
248
947
426
673
949
845
230
748
149
76
827
299
296
820
707
107
590
375
107
173
314
351
808
550
308
134
224
753
44
729
888
696
45
297
336
986
101
506
143
434
866
360
598
860
909
278
75
621
242
34
665
802
692
627
67
672
173
261
19
848
132
418
805
577
923
412
485
695
876
921
537
103
159
749
545
60
317
445
409
204
543
487
317
960
323
464
367
916
80
26
311
842
844
431
355
237
774
202
323
676
567
725
808
793
395
630
81
422
53
468
674
270
397
464
515
518
18
139
449
920
301
174
746
272
702
206
970
634
89
150
176
306
486
239
954
359
401
242
284
462
190
192
510
888
605
536
986
785
729
832
132
278
20
978
683
504
50
508
894
424
857
656
354
148
521
725
838
556
673
837
309
179
214
220
810
683
387
82
461
804
735
511
203
242
167
23
241
855
547
114
373
486
728
636
505
870
950
892
701
375
852
93
59
794
147
239
541
980
169
519
657
913
75
63
547
682
516
244
589
948
920
757
115
690
407
374
222
425
496
645
925
621
428
773
107
739
918
580
824
197
600
772
509
539
235
668
545
299
19
210
494
334
955
321
985
915
311
619
903
478
639
99
44
749
715
636
860
900
985
39
255
494
842
998
652
252
80
435
703
73
404
663
111
353
750
282
955
325
473
929
852
81
177
828
10
946
62
602
983
98
207
943
484
668
88
560
149
68
39
278
544
981
10
300
29
248
207
400
307
885
696
278
638
602
30
368
702
465
323
156
63
838
966
470
36
295
349
253
478
1
543
49
746
949
880
812
565
528
782
660
80
133
954
899
704
899
306
980
692
208
566
18
534
291
542
213
389
130
476
773
758
863
703
915
526
62
103
172
308
588
481
467
772
201
44
384
218
752
608
646
254
559
45
45
838
537
729
1000
300
749
441
444
235
316
251
988
283
22
401
167
912
565
107
88
291
84
496
32
184
531
592
328
632
464
414
400
850
52
713
959
378
448
866
190
11
174
722
209
481
856
975
184
141
460
759
343
154
164
717
448
796
132
779
475
546
768
192
958
548
451
191
836
909
386
798
762
23
957
887
470
789
872
593
253
162
496
574
549
937
975
404
393
47
149
612
774
960
798
481
969
924
471
744
567
934
979
743
204
281
688
439
4
469
870
929
323
90
737
732
709
974
229
189
882
581
299
768
156
94
192
926
970
163
217
459
86
570
551
938
587
343
950
930
6
13
601
158
806
780
950
696
960
312
84
548
531
804
103
719
52
683
986
941
944
53
646
799
402
591
223
884
974
52
185
951
517
30
469
794
361
873
718
710
259
905
662
951
156
239
812
535
896
494
945
163
732
662
310
729
911
246
63
123
647
510
244
569
555
385
494
780
928
91
808
553
332
68
826
267
625
130
580
951
882
87
147
177
697
250
344
86
962
340
481
263
582
319
192
13
491
584
521
834
17
777
782
525
861
178
192
416
952
302
896
672
969
826
815
479
629
442
702
201
681
558
872
263
169
55
360
605
683
418
672
32
241
691
862
704
928
619
409
275
647
266
256
935
132
147
401
689
911
645
653
769
32
38
514
956
190
1
644
947
353
842
61
655
105
56
44
437
709
990
672
828
319
574
95
315
873
63
918
20
930
719
514
976
136
197
713
827
39
131
57
355
718
120
748
278
43
848
466
89
415
548
494
572
517
429
956
791
969
932
524
993
736
895
642
868
842
808
196
46
197
339
534
545
369
209
947
110
699
343
15
41
483
911
730
166
834
538
927
49
482
471
355
404
954
942
674
971
539
324
762
743
957
922
981
566
903
398
486
585
469
910
198
936
22
9
845
342
256
219
308
44
14
13
608
537
945
589
15
168
226
452
171
536
395
310
576
981
801
194
512
205
283
55
253
175
501
285
433
51
755
760
544
811
209
23
871
632
218
191
577
818
830
981
295
310
595
49
324
311
558
462
453
628
642
714
514
668
697
141
990
869
145
21
398
524
507
864
711
599
89
653
768
127
772
854
511
246
123
29
856
710
64
812
223
8
907
798
24
825
881
643
934
651
176
296
383
804
153
801
505
987
596
592
734
774
787
495
344
99
750
972
481
905
231
236
681
591
832
987
402
809
265
468
875
434
883
414
431
278
451
274
520
198
656
760
845
780
986
385
368
727
426
157
489
379
879
995
337
551
349
774
954
29
691
106
136
590
186
100
827
393
266
402
252
950
477
713
435
628
179
885
348
866
503
403
704
805
859
758
316
82
610
758
41
890
579
308
522
228
739
579
382
471
780
751
3
998
223
730
793
643
440
312
636
162
209
304
279
731
436
992
558
739
267
188
689
787
111
789
344
851
25
430
860
21
499
346
717
96
919
981
401
605
924
266
817
450
373
705
759
517
919
594
282
29
9
759
457
355
680
177
685
256
710
700
655
296
505
929
65
216
617
944
421
626
935
204
603
277
396
440
371
514
542
782
691
255
353
653
549
964
582
212
923
687
238
251
720
107
965
480
772
9
806
80
441
272
244
261
982
686
476
305
584
506
590
235
932
598
675
835
179
469
955
198
502
242
680
375
740
878
880
971
207
527
70
744
456
932
654
334
609
241
83
298
908
385
782
476
301
468
496
596
186
200
972
703
953
521
834
645
560
959
95
387
210
183
4
360
112
446
822
400
455
307
680
95
945
97
902
513
704
88
24
348
895
220
287
507
159
536
572
22
866
182
550
981
180
970
372
840
195
969
319
93
701
578
698
783
691
816
676
724
366
338
932
666
236
813
724
805
885
857
440
215
103
675
789
792
404
927
518
247
369
100
957
531
884
854
759
841
88
386
902
999
783
844
402
585
107
233
219
656
540
21
505
282
661
918
711
405
642
855
30
721
166
252
347
389
291
72
152
373
828
1
832
123
936
322
404
140
983
704
15
683
201
183
458
492
295
54
578
965
961
280
647
642
225
270
723
226
608
579
553
589
401
142
800
415
748
163
238
163
788
666
102
23
884
19
955
428
806
448
267
439
816
670
425
55
782
311
6
57
811
669
2
533
399
762
104
619
790
280
316
326
6
269
913
529
64
881
222
343
965
497
778
130
382
905
142
333
409
958
123
183
315
353
123
70
67
718
133
37
239
195
200
435
43
125
260
217
445
198
903
769
691
691
984
437
142
986
967
100
1000
597
572
264
369
391
601
113
106
457
750
920
88
383
890
974
843
300
533
969
980
130
155
373
479
919
644
871
714
5
361
399
17
40
244
640
699
571
904
108
721
952
918
102
603
858
355
898
755
565
138
482
144
474
1000
60
74
32
649
315
938
361
250
109
972
391
485
915
407
235
257
761
930
884
584
894
31
18
324
679
643
893
193
470
451
814
922
336
399
650
532
538
207
225
425
616
173
174
417
773
114
59
867
24
106
78
806
216
558
734
319
598
252
201
465
109
228
925
716
905
732
225
221
958
52
254
211
733
706
704
504
61
355
82
392
325
789
187
136
985
516
693
944
289
823
354
569
744
632
427
588
537
135
345
48
654
973
558
375
865
682
706
371
108
230
981
671
46
730
628
244
756
845
985
419
535
957
408
406
834
925
689
502
163
125
300
996
628
522
920
285
433
720
189
867
304
290
604
692
261
195
764
806
608
794
947
367
309
726
108
855
156
989
980
777
242
606
887
211
319
639
254
327
537
689
572
389
924
691
744
820
711
520
342
627
281
885
252
847
72
44
633
719
252
100
875
940
357
44
472
753
365
230
328
560
880
699
46
442
203
588
170
268
40
908
173
23
565
121
251
648
312
274
598
914
132
950
908
822
82
892
297
604
617
5
723
631
937
334
209
464
661
774
905
821
273
483
72
453
937
438
565
816
340
99
298
913
220
913
471
907
78
272
44
919
400
558
57
935
368
150
926
887
679
584
752
810
551
592
37
397
447
421
921
446
337
628
202
438
560
569
974
929
459
894
638
534
26
701
443
25
695
407
459
458
325
36
76
338
110
356
689
486
860
255
248
716
643
770
706
402
261
472
243
724
392
239
313
720
556
46
210
275
214
62
838
805
427
228
829
747
513
473
951
880
39
937
15
173
305
841
127
103
201
175
177
326
955
986
920
187
817
841
865
790
169
7
478
255
898
981
832
350
130
268
989
903
587
735
825
271
867
430
951
664
974
494
650
317
245
681
481
340
659
47
315
569
168
558
58
901
313
739
299
397
873
996
389
918
729
892
250
155
418
516
327
726
93
34
660
424
734
675
9
782
470
680
323
911
853
195
637
918
736
710
617
306
176
393
599
459
458
587
928
696
883
827
820
393
439
956
742
370
873
291
556
73
938
385
234
84
819
551
32
135
790
264
378
129
222
478
608
610
914
140
900
783
568
461
401
421
960
1000
612
971
951
257
532
731
68
273
934
228
781
652
434
847
985
578
650
282
432
605
884
637
26
476
201
851
955
745
700
661
623
754
75
485
203
379
259
487
438
6
69
523
997
405
284
885
295
531
511
515
192
766
557
864
402
826
705
675
744
349
501
753
613
176
176
210
160
471
783
792
716
126
510
595
935
337
394
933
981
851
828
137
834
140
854
807
461
690
208
400
148
656
488
67
785
361
608
334
263
527
933
572
421
641
68
181
188
587
320
96
664
509
279
489
870
895
782
551
826
41
778
830
436
369
242
897
362
567
358
33
715
155
631
229
937
857
462
37
650
141
983
716
657
364
638
669
470
244
67
382
957
788
338
964
730
380
491
902
885
480
616
819
589
246
449
901
775
460
530
100
931
324
539
441
532
60
301
504
197
742
332
664
42
478
512
782
44
884
603
796
417
738
927
140
182
906
422
963
84
850
703
901
24
541
507
540
952
173
61
773
988
838
538
974
136
261
712
280
582
740
338
296
989
701
594
226
625
631
107
785
419
725
713
226
229
261
134
474
742
601
142
683
382
681
665
474
543
90
482
759
280
89
839
311
300
470
330
191
740
733
890
734
746
911
563
22
317
262
23
710
215
215
475
592
5
167
646
550
459
186
88
358
602
217
883
383
672
158
164
380
139
19
549
430
711
450
740
566
954
116
1
790
749
753
224
982
300
244
555
684
858
742
357
840
581
667
380
383
246
414
590
968
591
715
61
253
150
927
684
870
366
930
244
648
610
963
567
682
510
461
37
589
628
883
769
631
114
608
113
450
432
186
978
807
620
644
663
92
852
57
503
344
257
335
645
177
30
3
723
343
907
772
998
587
962
873
801
106
508
443
744
186
612
751
218
526
365
654
160
359
572
517
936
709
983
726
442
48
527
82
233
160
274
588
533
238
994
572
510
121
271
681
52
97
88
976
629
882
689
293
487
234
294
29
573
155
966
750
85
776
486
359
484
848
638
76
118
222
685
148
383
804
157
42
439
286
283
845
113
353
528
736
516
178
742
694
317
756
367
47
360
37
982
86
490
864
251
713
38
467
963
29
420
587
461
831
670
394
191
229
555
993
505
963
117
682
145
571
103
126
1
236
762
235
854
4
921
881
819
87
75
531
110
116
481
497
563
545
873
795
77
903
477
524
783
184
468
276
249
517
862
335
509
159
115
323
30
991
379
510
987
951
442
227
402
239
873
685
719
740
786
35
428
819
943
691
171
518
614
781
577
263
737
67
775
365
445
866
104
955
928
277
70
521
968
512
990
865
191
221
108
145
255
527
153
627
713
857
482
916
275
816
946
751
549
33
596
854
103
360
163
979
872
845
30
29
530
606
46
57
411
124
125
27
979
493
32
442
641
853
139
342
908
552
228
716
514
630
601
63
135
800
857
718
782
486
714
526
742
381
144
681
229
647
925
804
507
156
416
871
336
73
30
198
17
717
362
518
205
856
419
108
907
498
726
44
777
807
329
933
887
984
903
863
652
820
216
909
488
182
181
276
59
829
617
1000
709
849
616
229
774
466
100
268
975
147
779
943
51
723
179
345
99
722
871
700
841
229
306
907
166
373
924
301
878
946
291
306
506
804
101
961
412
387
781
733
206
143
315
657
648
680
645
576
804
189
663
215
197
57
393
855
125
607
414
637
75
609
978
891
406
511
535
449
68
378
606
584
152
147
999
83
498
127
412
969
398
648
351
568
708
366
109
921
291
37
294
47
794
465
995
176
189
972
254
890
413
941
898
39
674
910
187
416
687
246
956
442
185
657
99
510
533
638
320
244
176
524
28
634
947
970
159
904
979
524
473
20
58
482
573
937
808
331
505
48
991
918
274
794
562
954
54
96
850
556
162
51
373
338
106
362
368
987
142
65
54
337
802
449
19
723
812
484
893
782
667
708
651
950
864
253
453
583
479
637
942
44
339
20
308
94
490
827
214
638
77
76
904
175
6
244
430
360
979
234
941
672
557
863
405
550
957
279
990
276
146
915
538
551
669
894
235
949
315
276
620
396
413
205
540
394
22
764
515
979
791
336
258
266
551
360
762
49
999
617
455
82
969
635
406
590
871
347
480
42
842
881
603
440
26
249
57
205
215
738
796
214
735
17
317
749
92
323
533
872
383
598
456
246
895
135
194
519
619
96
943
185
652
254
212
253
570
459
439
172
897
603
566
159
740
326
879
547
516
298
608
769
429
690
370
341
40
347
516
582
825
268
842
809
104
224
936
467
89
721
623
971
85
86
601
28
91
119
369
894
127
649
987
280
616
300
21
647
77
999
300
193
191
11
711
154
31
851
354
963
869
978
805
392
517
33
125
70
604
303
493
647
523
202
53
465
63
828
616
779
873
78
373
471
999
361
647
713
688
703
38
221
545
910
1
597
914
499
29
722
40
322
112
356
170
144
107
875
263
966
934
570
381
538
305
30
159
354
807
921
956
371
709
919
459
858
858
623
491
74
334
31
777
896
366
579
227
165
141
775
59
248
753
200
770
253
499
11
495
392
154
102
794
241
640
780
268
4
711
135
720
471
910
305
727
12
42
452
622
853
869
619
881
859
543
573
819
231
531
370
300
858
458
658
930
517
305
669
795
795
894
437
347
356
438
32
506
163
201
505
377
345
5
774
227
679
392
951
552
69
741
415
118
976
536
513
824
490
287
947
142
621
299
718
647
433
629
36
853
836
46
728
185
214
789
493
389
588
198
833
128
660
76
589
799
931
758
804
857
56
431
64
41
742
187
565
943
776
685
890
298
252
45
891
230
624
769
136
442
20
99
80
975
154
178
510
784
229
787
824
787
491
245
411
463
462
244
715
367
411
24
577
82
357
306
110
270
717
827
649
467
761
160
304
179
164
725
255
656
312
576
217
448
468
554
419
475
563
896
57
872
153
235
401
325
56
194
664
953
264
459
284
42
1
305
488
126
224
26
896
928
425
623
415
701
329
405
904
344
971
863
892
494
682
302
150
448
711
208
64
400
560
300
571
965
639
504
874
383
498
855
287
92
727
458
335
632
606
218
668
897
693
974
433
867
884
65
502
835
870
99
368
26
565
905
549
242
831
208
88
839
736
547
99
910
657
396
320
5
789
191
351
124
987
222
564
984
429
939
694
761
264
245
752
618
305
780
230
312
796
29
522
94
486
338
108
956
546
534
330
959
349
952
521
37
793
74
843
209
605
877
425
552
44
273
321
657
514
652
328
534
861
681
962
94
548
953
730
417
485
995
387
961
10
466
33
774
405
34
755
543
400
588
22
12
268
927
185
895
534
6
235
916
772
161
470
20
683
450
806
129
437
428
265
5
263
181
618
957
404
450
220
132
838
2
851
86
644
197
769
181
452
860
238
97
236
181
514
427
572
311
639
877
600
753
433
63
146
438
740
300
828
573
349
34
561
986
976
782
516
684
384
533
506
790
999
577
732
859
346
628
24
779
283
933
25
160
248
782
254
122
688
461
605
870
442
229
658
309
70
338
105
227
45
467
722
215
273
201
555
648
631
336
432
453
74
857
476
355
397
440
19
566
928
154
226
577
251
884
754
860
580
644
998
772
533
570
814
920
886
889
122
525
331
547
486
126
419
535
548
56
591
140
224
702
702
500
671
517
481
861
339
109
135
907
888
499
722
327
327
836
957
617
523
421
833
684
122
879
833
476
27
743
503
266
777
467
875
637
590
153
543
487
354
830
205
573
561
185
137
194
37
69
373
649
322
908
327
978
741
418
223
355
510
650
965
178
729
455
34
575
725
901
564
559
19
61
17
495
137
836
775
923
590
177
508
18
611
135
437
111
658
667
425
807
263
21
408
165
547
821
837
305
591
687
636
614
923
321
715
351
560
552
174
140
402
700
204
258
307
9
102
99
814
608
991
472
341
595
557
644
633
434
612
151
399
758
327
434
351
79
767
315
335
654
729
168
805
936
987
388
710
633
705
435
736
373
223
285
948
364
367
614
96
279
204
380
234
744
431
816
870
466
631
973
519
51
259
102
438
972
546
136
299
989
454
470
739
583
462
28
53
564
224
349
768
114
77
56
485
963
975
580
160
241
664
496
958
868
824
136
896
960
456
429
788
872
8
59
391
943
621
113
255
923
381
355
482
368
659
148
516
982
473
833
101
11
284
54
782
313
794
137
628
648
147
119
425
75
362
442
214
75
975
637
894
160
654
566
586
300
942
888
597
430
433
483
101
691
378
489
136
800
164
470
76
154
136
967
546
825
974
383
649
617
193
668
420
730
360
797
716
397
330
374
79
53
108
999
683
224
970
234
176
325
125
73
74
999
492
872
375
465
147
559
258
559
625
791
4
823
515
441
818
32
741
427
822
26
504
427
314
546
124
476
305
82
878
783
495
383
564
356
77
392
654
200
187
837
842
906
403
607
274
423
414
364
949
700
871
511
637
648
493
801
110
584
661
341
702
912
144
713
955
292
56
237
624
971
869
168
418
265
75
732
620
397
128
492
191
34
382
469
29
897
79
805
815
771
863
565
273
70
905
382
744
887
515
304
669
113
986
148
967
772
542
69
313
198
453
862
8
60
799
717
475
520
879
768
402
16
990
786
230
241
136
797
961
914
248
252
262
831
676
590
429
523
4
715
75
542
772
912
349
62
283
239
38
991
476
253
224
231
831
225
992
109
313
660
309
192
700
29
372
933
989
113
608
603
205
234
41
974
631
986
915
79
385
746
309
169
316
394
982
684
364
163
829
633
928
489
140
319
262
61
338
711
599
984
956
126
549
155
442
72
254
476
762
262
977
485
909
819
38
366
138
661
504
66
172
871
635
407
676
652
828
680
2
89
758
209
610
534
456
724
554
895
320
237
147
481
425
296
247
367
58
93
575
393
87
956
189
58
640
159
483
540
594
815
91
1
506
877
679
137
988
893
888
681
979
230
630
185
18
927
523
918
406
221
511
219
111
32
596
926
355
400
198
804
111
920
842
36
128
743
778
907
702
576
634
804
124
432
415
500
642
589
982
513
801
329
656
6
225
543
728
285
285
217
498
468
585
165
885
319
865
78
815
526
772
139
350
967
911
986
958
593
713
767
422
648
991
399
625
822
468
909
853
845
181
910
327
743
431
867
372
656
866
752
29
676
352
149
908
653
532
606
810
277
345
280
945
34
332
527
601
849
260
94
743
292
428
21
367
256
72
174
359
915
402
579
274
581
186
373
684
832
232
229
715
864
785
591
965
608
624
893
244
555
638
230
491
612
699
609
764
533
996
2
430
668
322
909
554
810
476
23
2
904
581
921
965
276
83
365
460
798
192
975
851
116
747
485
574
670
843
781
100
730
50
218
584
79
761
464
814
309
998
256
825
900
995
25
989
398
24
280
481
36
217
15
770
77
583
188
177
28
34
471
619
612
998
76
362
36
95
434
971
704
460
915
699
936
505
572
210
685
302
85
902
517
325
733
59
278
973
199
753
29
167
466
697
789
322
899
224
547
154
814
202
843
122
534
942
910
779
925
141
21
948
911
430
217
415
297
400
21
823
534
849
116
500
687
568
195
270
15
185
370
677
997
480
585
658
578
92
454
394
692
731
823
4
830
854
152
743
536
255
488
605
233
165
408
556
712
297
818
161
943
687
906
22
613
362
852
270
944
594
132
351
871
966
396
454
666
556
891
256
406
281
410
94
488
877
527
262
562
5
685
938
825
738
335
120
624
23
914
55
708
745
894
852
259
719
544
397
52
260
321
175
705
994
987
358
8
202
674
346
724
339
89
964
112
283
2
689
657
541
943
613
121
886
771
316
104
845
423
478
740
43
656
826
41
670
56
999
646
216
950
987
430
201
76
82
500
841
59
687
604
437
796
918
856
846
829
652
4
533
649
559
164
585
704
725
48
519
510
640
270
920
936
704
186
717
171
908
110
381
346
20
456
458
70
430
505
629
368
777
69
904
653
651
244
676
376
912
848
85
969
668
884
561
515
505
552
463
362
389
929
452
535
506
396
613
385
457
326
363
374
390
314
856
288
87
450
969
452
531
771
914
694
217
1000
195
947
285
167
936
332
603
488
564
517
74
142
463
938
771
244
489
215
990
321
169
687
952
112
990
589
665
318
464
762
414
262
508
197
464
30
283
939
811
800
818
33
232
534
650
291
474
89
204
595
146
139
847
367
758
973
385
589
418
380
262
480
863
318
880
510
890
26
268
950
757
547
786
572
765
378
692
414
110
104
152
753
19
434
721
586
370
8
431
909
250
700
321
59
388
938
706
231
982
706
501
17
221
508
639
501
700
534
12
984
28
683
368
913
134
900
299
953
184
476
791
423
557
591
797
526
20
390
960
886
123
316
909
915
822
251
530
454
512
260
227
925
1
374
471
984
396
904
857
278
554
234
514
437
506
903
903
900
237
64
15
506
310
74
459
20
68
61
219
973
582
800
684
203
85
123
104
511
365
395
798
684
468
293
293
948
117
235
67
607
453
337
709
200
45
697
134
40
659
129
959
391
903
226
247
871
737
772
630
875
774
56
240
960
474
632
971
162
599
404
346
149
758
702
663
983
484
183
156
998
36
984
622
975
42
529
329
362
177
806
69
741
299
704
875
171
859
252
295
252
927
161
85
24
906
135
846
847
830
835
457
461
187
180
79
310
344
961
186
31
3
350
296
763
583
950
59
510
74
493
919
374
682
154
829
896
556
723
398
92
981
544
405
28
697
228
831
935
394
621
444
953
56
417
481
529
502
95
167
408
411
584
660
925
128
147
485
11
759
529
692
897
423
313
780
50
46
784
890
236
720
303
893
965
533
403
778
765
688
290
185
888
931
463
5
63
549
484
733
868
699
718
653
146
378
38
991
624
168
77
904
582
757
581
516
958
353
836
275
782
302
933
567
174
637
828
863
462
831
805
684
139
683
930
325
504
197
535
557
816
246
603
544
708
49
152
782
424
769
373
180
179
47
326
326
546
908
450
570
331
292
12
796
833
377
901
691
740
6
820
825
144
769
51
128
358
712
427
177
248
234
45
264
793
446
580
387
445
167
734
146
671
771
485
32
723
298
332
737
308
605
633
947
313
830
492
504
173
139
371
993
754
514
756
558
896
360
765
185
832
814
528
800
794
956
549
270
7
554
17
771
163
608
224
101
192
679
814
177
824
958
596
364
997
53
31
291
649
757
312
510
793
402
178
682
79
968
185
969
231
829
209
990
846
841
372
967
48
527
402
693
403
243
698
548
305
588
9
81
801
735
671
613
397
59
845
889
991
196
2
76
458
627
248
298
801
991
673
451
27
591
79
267
61
968
852
470
80
12
695
384
637
789
213
547
800
171
58
721
340
378
451
187
686
758
427
373
955
495
60
655
885
406
287
660
895
719
649
503
835
488
454
180
183
336
379
770
602
307
528
186
791
934
288
961
516
81
119
984
544
690
585
105
969
368
519
314
84
646
190
505
489
815
759
918
650
483
90
993
457
391
206
753
636
552
292
779
75
489
146
557
181
207
448
221
451
539
9
728
279
680
424
108
914
40
187
708
140
45
394
278
923
136
593
359
796
16
232
655
177
149
403
998
192
616
274
43
805
700
665
89
241
983
742
250
729
325
669
765
592
823
375
386
575
716
296
662
91
293
79
399
753
994
731
753
182
324
643
204
545
650
250
153
726
658
815
965
338
59
984
98
984
115
302
377
358
695
844
548
749
864
477
26
510
461
32
129
864
718
864
153
197
761
820
374
625
711
686
414
231
222
506
456
785
494
34
458
192
201
743
883
170
310
453
419
854
478
653
864
136
560
9
631
540
776
409
283
351
253
111
178
525
1
203
516
650
826
673
83
832
356
786
522
939
138
390
237
60
707
997
939
400
636
187
389
83
863
962
120
477
963
149
788
758
654
885
330
377
538
470
298
974
951
616
559
89
874
235
81
690
30
401
649
147
648
76
170
796
919
517
711
622
793
4
515
931
623
698
17
100
143
972
343
607
373
530
834
612
388
971
901
260
290
257
918
770
360
698
924
91
116
648
601
591
927
115
404
807
900
870
700
745
8
432
501
626
783
543
692
222
479
327
659
163
280
383
871
651
996
448
288
57
708
138
432
763
990
497
562
449
639
715
705
728
373
459
193
682
540
695
980
370
711
752
240
834
983
647
644
479
883
373
307
938
81
924
572
726
503
332
692
19
22
873
999
905
627
921
330
296
880
614
308
504
492
621
611
171
59
835
458
825
347
702
408
866
52
276
998
165
596
810
880
819
373
810
886
772
819
101
910
206
842
320
552
583
410
710
238
203
586
780
934
973
859
620
622
841
425
232
424
4
960
217
632
585
522
565
944
915
441
95
869
983
446
290
607
840
813
906
738
10
49
727
659
989
432
302
62
965
793
284
679
789
59
282
158
32
418
746
225
713
437
472
175
879
117
765
395
793
646
172
798
891
580
960
5
48
262
186
642
920
583
311
340
325
588
761
913
649
997
779
689
283
481
174
182
940
364
310
119
509
530
770
335
784
445
669
198
12
627
504
52
705
368
766
612
571
179
283
376
740
293
403
902
686
492
668
223
360
708
622
767
119
98
718
903
934
785
79
630
252
35
59
983
609
409
107
454
767
361
439
91
720
800
418
979
372
411
350
465
86
854
594
865
575
575
513
356
811
606
816
432
724
612
257
601
451
464
486
964
832
765
119
953
658
95
683
771
885
215
203
2
676
122
619
488
667
616
91
763
283
16
533
290
296
754
379
267
55
834
680
4
994
587
111
743
72
691
361
312
809
192
692
208
406
123
153
508
285
383
48
563
28
717
778
509
318
20
114
514
987
670
276
84
682
291
935
911
972
161
418
511
969
459
924
330
623
685
524
104
931
881
101
980
211
741
120
334
454
280
339
270
532
521
108
489
662
569
935
620
154
495
370
91
885
734
49
345
359
29
992
513
483
542
808
683
396
441
520
517
754
104
140
330
926
139
937
662
426
551
624
26
746
720
277
787
468
356
912
49
177
197
56
39
206
58
531
699
721
732
952
135
977
415
97
84
840
526
393
828
828
258
267
813
997
760
994
781
972
553
960
415
288
730
18
302
14
459
654
570
311
577
276
652
171
382
810
484
111
240
150
882
972
317
732
984
326
551
666
403
191
970
392
183
898
592
788
750
987
453
46
768
951
728
359
244
493
563
678
272
719
947
370
512
352
912
571
897
615
409
477
66
916
429
561
716
821
348
946
408
127
5
780
353
4
715
448
362
289
303
926
455
25
218
379
582
235
996
366
544
750
639
643
461
629
957
633
94
334
590
53
888
379
170
97
889
580
86
793
550
416
379
883
23
248
585
611
762
305
749
321
96
419
402
665
3
455
57
485
463
282
617
207
637
886
179
621
600
954
894
517
512
817
895
514
930
197
844
781
407
545
283
100
685
151
830
819
517
364
222
862
636
434
356
853
449
506
768
826
782
235
439
740
432
351
429
193
310
255
601
332
687
378
605
915
438
616
388
909
183
618
712
777
941
92
545
848
216
573
764
755
467
286
256
948
537
860
427
735
957
607
79
108
968
53
820
877
768
164
490
263
732
474
570
166
317
947
156
763
935
911
915
977
331
895
354
620
918
501
850
675
44
723
168
299
439
283
591
574
907
620
362
977
883
134
896
793
666
182
70
447
959
95
978
814
860
188
705
95
596
320
65
792
100
91
726
616
996
135
850
922
693
331
158
413
38
942
366
399
448
832
10
837
506
966
46
797
752
302
985
697
840
75
997
892
231
196
132
734
368
164
749
249
604
457
323
952
223
838
1
109
536
391
712
13
413
391
135
388
589
305
561
108
733
312
522
833
597
752
86
970
499
802
877
643
49
513
206
980
284
56
191
86
305
664
354
515
139
279
17
943
739
362
733
986
992
691
110
806
132
185
664
222
178
999
708
533
900
168
928
146
323
76
962
429
991
880
234
895
23
839
301
931
523
156
218
841
31
561
724
860
518
362
615
152
919
105
317
540
279
287
491
851
399
822
499
334
281
40
692
531
784
97
766
394
626
555
897
155
284
783
962
683
412
574
919
618
88
11
337
560
595
223
148
2
460
114
915
489
168
533
294
686
283
659
947
669
751
533
798
755
766
811
457
631
916
768
581
364
287
537
161
110
828
362
14
2
546
366
271
734
45
984
253
817
519
717
964
350
541
338
337
435
898
10
518
4
303
27
691
950
982
69
407
915
70
918
929
2
223
541
850
962
57
367
108
133
894
322
608
504
731
912
809
827
568
236
30
574
988
302
719
938
381
447
623
753
306
976
576
398
279
344
672
271
698
356
649
407
708
886
673
141
564
556
125
525
450
658
593
367
756
393
71
328
568
101
244
542
451
787
843
573
668
677
271
369
659
934
96
37
921
956
539
922
452
855
801
455
572
838
926
686
230
183
889
240
880
440
803
681
638
310
435
902
698
341
709
226
929
253
527
351
154
214
4
134
883
842
202
499
136
51
505
394
600
114
101
851
537
491
385
645
755
8
743
992
478
981
851
980
140
733
549
168
947
751
370
898
587
420
23
365
579
862
464
441
592
926
729
576
522
786
341
820
226
890
957
183
606
288
885
85
169
423
231
611
260
574
772
640
947
29
36
710
897
952
735
640
696
631
432
509
713
496
237
599
54
807
428
293
116
452
88
722
986
609
277
163
232
368
765
803
654
566
76
514
209
193
450
699
636
749
315
100
260
824
72
719
101
994
282
617
665
858
855
446
751
665
455
977
182
513
152
816
626
553
279
699
574
973
580
496
95
788
977
96
216
642
728
854
629
866
289
174
982
41
961
89
165
166
271
437
867
342
73
309
164
558
573
3
59
771
835
610
690
975
815
719
417
373
684
455
83
59
971
200
554
880
86
921
65
238
899
967
984
656
333
578
366
860
419
101
58
981
809
96
194
240
574
108
613
137
969
842
127
728
971
902
571
53
585
42
276
169
354
88
930
488
990
300
786
374
795
977
858
991
373
518
8
444
147
999
844
133
374
542
932
86
665
449
120
738
509
47
711
264
925
733
799
112
181
500
346
812
440
547
455
503
323
225
889
861
633
658
76
277
907
883
713
203
29
221
625
558
872
920
712
953
843
802
646
311
212
769
498
111
343
532
624
113
275
875
921
913
632
71
75
93
504
833
511
47
746
309
542
785
176
192
660
142
215
974
982
883
888
726
633
95
479
577
235
133
809
222
738
146
802
374
540
847
982
91
232
779
581
257
296
790
180
343
812
826
199
763
538
409
93
734
744
395
801
626
821
667
866
137
998
467
655
540
483
938
255
429
935
293
987
62
481
742
920
457
408
943
429
832
264
265
631
872
338
621
477
542
394
936
394
890
110
621
614
312
857
534
783
281
364
19
970
422
295
561
978
121
16
479
691
552
588
882
299
140
592
779
385
980
513
857
242
678
201
925
315
389
439
457
287
585
735
957
209
231
239
112
5
585
132
826
853
809
915
260
229
935
773
940
842
510
604
860
306
401
346
247
152
858
954
327
704
873
775
977
414
326
54
662
493
159
28
389
42
64
389
734
466
762
889
158
605
986
523
971
925
694
38
242
87
883
463
944
394
615
6
361
943
486
915
577
789
870
848
441
67
665
893
979
801
200
608
642
100
173
376
134
526
200
913
829
698
635
986
928
602
803
281
597
665
678
877
272
373
363
963
229
97
403
305
283
855
119
416
171
918
615
587
786
519
106
725
922
478
481
386
609
160
800
571
425
78
553
561
412
374
56
564
332
590
327
5
49
415
143
27
765
552
757
212
682
446
914
564
417
392
412
497
158
451
424
1000
125
667
195
101
362
341
545
513
268
468
797
626
566
12
371
46
605
387
320
511
973
370
472
336
417
677
736
504
982
613
293
132
69
524
116
336
888
266
252
440
348
545
798
62
18
755
339
882
200
935
920
762
525
526
255
486
719
892
6
573
357
1000
415
506
509
208
506
251
105
852
334
94
785
200
498
722
746
417
235
902
807
333
944
328
503
215
890
966
539
219
206
731
320
886
26
427
624
864
727
668
679
32
832
940
47
310
58
34
764
766
368
852
99
73
667
979
188
950
933
466
501
22
190
997
801
427
686
992
812
582
61
193
277
746
77
9
469
420
692
201
517
147
882
509
85
996
628
454
58
847
903
881
863
637
359
761
14
868
615
389
235
14
709
404
267
953
342
994
103
175
975
207
898
319
723
599
280
533
250
280
107
279
554
40
999
436
603
412
97
999
287
420
612
239
36
296
667
909
747
601
829
996
405
68
510
531
851
953
119
188
713
842
429
764
407
677
133
119
478
220
994
866
269
299
266
875
67
971
349
682
410
148
710
3
209
341
175
863
712
922
633
285
77
696
34
113
530
655
320
271
648
467
597
725
312
679
413
445
238
583
484
926
850
411
598
195
407
876
701
802
949
36
362
951
652
142
929
828
560
438
673
163
566
824
134
255
692
945
710
992
389
528
245
900
646
725
992
878
117
823
893
82
370
915
527
358
619
34
443
743
987
818
851
802
408
982
802
12
802
744
48
940
13
889
757
738
332
332
141
337
120
886
816
759
162
433
450
212
909
855
799
923
681
888
787
236
258
534
662
139
992
776
594
210
754
126
300
973
556
979
405
767
664
827
307
551
360
125
218
492
315
28
940
807
669
261
667
102
544
102
768
323
660
828
88
587
152
19
752
301
482
767
859
450
526
222
739
418
559
850
608
439
872
488
608
608
164
551
167
429
721
716
563
5
590
60
384
330
641
861
296
607
442
251
149
177
322
466
31
395
882
703
251
797
476
498
665
951
845
90
931
693
206
449
511
835
547
541
247
37
796
901
367
235
842
787
599
930
68
27
913
674
197
175
54
300
755
715
668
776
380
906
304
113
563
291
987
382
118
38
392
764
831
35
853
506
311
128
568
806
984
952
442
939
580
566
869
411
195
509
699
479
212
945
309
208
938
284
414
90
798
47
786
381
344
747
545
490
109
280
56
194
560
620
755
950
32
642
408
315
507
528
433
309
583
543
886
594
740
897
653
490
335
83
183
193
317
306
837
27
779
595
560
204
864
750
92
372
444
550
419
154
254
520
471
14
810
154
368
42
582
660
637
655
319
216
924
804
359
204
679
995
48
118
182
340
96
652
53
862
818
978
96
517
717
396
909
734
818
319
213
773
460
42
260
908
25
854
978
224
207
850
770
834
981
193
982
429
406
735
112
398
723
566
758
183
24
548
166
151
916
892
988
14
189
579
517
779
501
785
239
245
471
512
17
315
389
305
590
797
949
261
380
866
20
567
758
105
518
419
59
879
826
515
596
797
91
260
887
218
910
455
66
43
632
512
229
560
475
179
57
699
192
349
616
891
823
758
660
652
378
318
128
115
962
336
764
16
922
149
977
46
122
511
80
53
288
663
69
312
743
134
964
989
482
231
493
921
717
603
653
100
497
488
210
530
954
991
768
721
66
271
405
670
552
586
205
74
653
967
257
458
147
676
779
53
845
755
109
559
222
660
222
365
595
424
267
418
432
820
417
676
962
738
936
34
253
332
967
641
301
553
15
796
500
349
461
983
55
144
748
145
510
247
65
2
600
439
459
88
53
345
287
158
793
132
877
834
258
707
32
633
165
874
771
59
120
833
320
5
936
997
894
591
370
349
267
434
264
483
468
513
775
993
196
11
416
133
707
969
168
514
3
144
786
143
108
183
741
294
121
153
929
543
496
464
424
782
711
449
38
208
78
224
393
66
944
943
554
398
971
257
993
185
465
588
806
32
963
829
658
981
438
201
892
151
477
319
596
602
756
935
193
290
994
453
308
973
286
83
222
695
412
384
246
818
276
74
718
609
80
152
140
75
268
832
171
80
498
280
821
769
147
870
192
990
923
534
564
692
170
780
418
276
363
121
279
460
113
12
861
536
709
824
74
788
880
74
900
486
973
873
17
56
190
562
314
977
893
544
121
506
214
656
54
514
382
774
878
649
267
979
669
505
554
302
875
712
925
968
566
678
327
115
299
208
170
139
522
393
837
200
385
966
440
906
144
780
142
897
103
194
682
838
168
935
977
349
635
416
790
502
815
620
514
837
443
359
18
287
590
169
407
4
987
122
255
853
233
569
567
249
377
216
257
95
721
913
444
805
529
298
209
782
515
687
776
276
604
687
232
239
471
596
58
640
809
992
682
744
88
889
219
1
829
430
380
520
27
387
229
609
467
678
115
463
64
671
655
904
282
330
43
15
921
137
372
617
265
288
840
810
629
880
938
196
881
684
731
6
368
606
362
66
1000
154
748
423
950
36
260
509
534
544
839
910
371
502
628
168
827
390
680
560
111
704
729
454
94
746
321
686
103
816
831
371
467
193
12
692
557
420
777
534
447
115
828
237
49
958
632
392
807
568
960
337
566
666
899
932
256
337
788
297
422
198
30
376
406
986
80
626
232
394
230
653
845
20
961
311
352
901
791
652
381
457
483
117
480
602
444
533
724
417
938
795
336
66
459
615
201
542
253
337
588
463
497
610
263
339
101
692
467
669
439
218
867
779
573
566
733
502
689
361
12
727
542
215
926
303
677
571
990
40
62
366
65
324
571
298
158
416
438
673
245
617
410
164
261
317
811
335
781
395
173
431
635
566
380
791
842
60
501
196
816
426
631
614
741
369
73
94
374
269
164
18
321
425
864
517
3
142
11
617
89
474
789
628
198
835
533
318
49
692
455
686
31
261
276
515
394
440
14
441
862
251
385
955
490
673
364
644
19
82
458
945
820
482
171
913
739
319
928
765
824
956
471
495
946
820
368
465
804
834
810
682
645
964
298
412
322
653
198
905
986
446
384
246
765
336
331
780
316
225
131
140
2
448
838
612
742
444
435
499
320
561
541
142
28
417
600
506
43
441
959
548
872
4
702
144
531
10
546
969
853
967
394
605
476
300
405
78
615
133
521
215
665
843
467
463
72
437
168
283
647
210
364
849
705
200
989
507
975
665
498
418
225
203
943
839
941
121
30
755
184
397
790
954
999
872
789
183
306
333
968
711
279
802
335
513
608
635
712
254
885
28
661
475
604
119
529
655
891
188
277
351
145
358
385
226
225
817
662
573
691
804
231
912
848
539
319
316
73
788
716
405
920
22
938
355
46
969
218
860
871
889
373
687
170
93
535
383
553
75
458
718
838
105
868
657
904
299
869
5
493
984
950
379
791
644
548
846
335
857
433
373
965
416
401
218
64
235
906
552
303
778
278
851
475
450
141
104
757
826
463
438
937
628
452
552
696
99
165
271
70
777
254
586
554
708
754
806
168
824
214
808
973
548
717
935
160
680
581
785
854
298
583
982
178
668
578
55
6
177
306
692
10
895
955
983
304
641
836
736
10
403
78
601
540
501
873
498
250
174
157
848
394
152
41
161
977
327
488
827
199
885
966
372
663
89
805
998
418
473
7
992
211
366
128
433
27
502
612
712
113
5
696
545
207
140
550
546
603
72
870
915
41
323
511
477
124
732
105
135
131
535
793
771
637
557
358
785
307
670
80
730
596
355
548
971
871
656
555
906
619
839
928
28
29
817
810
42
172
732
487
328
458
173
323
260
803
124
739
295
167
135
468
268
743
177
511
54
87
297
302
600
906
507
610
338
66
299
625
173
605
813
456
559
191
941
43
654
524
607
68
181
612
37
20
436
755
103
997
795
299
686
167
225
940
619
92
531
402
936
250
506
833
55
184
719
146
45
655
423
822
296
79
923
432
789
300
825
212
607
448
754
569
533
231
507
325
360
505
109
815
9
397
916
722
680
554
724
660
31
323
838
78
828
799
184
5
575
702
835
535
416
12
793
696
957
105
453
569
778
922
944
50
45
333
477
678
85
453
879
336
733
123
740
432
30
154
992
360
109
215
261
703
170
453
64
589
54
3
741
111
257
586
75
497
196
271
665
993
131
319
491
46
460
741
556
441
23
824
163
485
637
434
128
219
337
329
246
891
709
71
369
601
243
392
765
132
868
4
821
435
680
932
735
171
443
424
578
981
572
352
981
887
194
823
770
326
367
403
39
847
669
958
548
428
216
619
799
698
600
795
855
89
378
458
769
102
525
181
474
399
677
498
121
403
109
227
162
471
110
319
899
431
858
645
851
498
913
911
38
138
197
513
207
444
692
745
95
987
101
232
66
916
431
847
830
258
757
638
511
24
474
514
28
713
945
518
602
262
803
508
219
286
110
23
54
739
198
865
176
727
318
712
348
284
111
667
349
375
569
202
79
240
337
394
616
487
160
693
530
996
811
729
9
795
60
822
767
553
116
910
299
223
507
613
754
685
531
9
593
934
281
488
272
479
706
747
325
137
363
593
657
326
290
702
303
324
926
926
621
642
95
33
691
874
884
993
681
885
640
73
79
182
444
995
973
669
133
415
36
762
360
772
449
12
245
346
781
974
868
10
751
33
252
744
879
323
490
422
262
641
369
806
99
494
175
919
123
22
369
213
831
549
472
991
208
970
808
602
705
969
712
794
361
365
453
454
310
456
380
681
381
349
731
762
147
679
163
164
553
999
281
95
234
394
352
539
719
553
960
915
974
596
576
680
183
478
857
268
211
646
70
716
947
952
169
211
602
544
927
604
71
531
14
579
705
773
50
817
145
80
507
965
422
383
753
642
181
257
693
31
705
253
226
834
414
91
155
491
645
701
316
597
790
476
394
409
371
866
334
154
172
615
300
651
376
539
838
364
517
717
304
617
175
370
608
156
550
508
39
614
443
626
267
747
718
345
599
477
24
927
256
887
408
992
711
316
450
636
111
622
748
350
428
480
878
818
262
318
461
699
148
128
575
969
809
916
581
259
63
995
353
909
967
686
23
98
357
235
604
543
163
931
294
713
737
442
811
398
965
417
857
822
131
219
705
116
317
489
916
170
642
909
439
332
789
128
647
395
73
345
439
614
781
423
141
268
621
739
820
384
910
215
576
842
563
67
512
995
19
884
399
323
21
568
489
409
527
522
519
704
134
224
756
118
73
992
799
475
227
318
973
268
659
590
353
942
790
456
865
139
749
316
427
977
377
649
829
416
41
987
876
233
733
323
352
927
850
679
512
132
742
374
164
766
324
230
841
172
29
628
253
993
954
810
954
367
292
319
142
316
63
774
603
852
697
451
72
448
255
309
715
964
930
151
986
54
19
592
880
354
717
388
457
472
945
463
573
920
910
657
959
626
259
840
127
621
471
501
117
810
646
379
741
466
921
982
841
273
548
94
22
234
108
466
480
777
405
957
848
722
354
324
393
545
554
679
564
574
332
437
587
297
723
196
781
995
242
585
305
274
346
572
293
888
122
115
723
448
146
323
897
232
379
479
136
325
694
392
112
742
869
520
289
34
905
266
90
106
108
603
741
613
674
973
225
372
447
975
411
676
106
949
228
252
291
952
690
889
66
13
697
431
703
794
786
920
968
929
447
148
954
404
167
799
60
312
115
627
881
178
270
864
615
851
817
138
104
657
864
708
763
87
872
756
462
816
701
812
918
250
862
102
226
120
365
794
995
870
555
633
938
699
457
435
888
176
447
269
952
267
508
919
904
492
957
413
6
635
265
963
121
153
532
672
411
944
249
756
868
642
194
811
691
971
730
890
790
971
285
759
749
131
503
701
202
516
439
711
897
27
122
702
690
811
55
627
329
670
480
39
166
39
767
676
874
733
882
122
835
197
718
428
103
440
4
893
776
180
616
848
126
974
382
374
104
285
879
391
665
494
327
436
911
839
360
743
229
143
412
970
441
984
438
15
474
651
923
871
224
818
492
442
86
397
916
517
99
407
20
883
758
49
782
683
355
384
930
676
104
130
456
35
440
152
770
643
588
150
675
663
939
897
922
306
795
138
917
305
788
922
11
611
635
706
926
199
923
35
79
696
305
4
959
733
826
969
261
537
96
177
160
330
675
93
9
481
369
187
694
228
49
876
117
7
298
115
543
87
403
868
73
232
190
311
109
609
765
166
506
988
483
992
11
581
366
620
749
510
746
170
728
24
150
250
788
25
260
1000
984
380
390
626
112
822
21
936
7
895
847
197
237
571
238
293
74
646
190
801
927
965
662
75
972
871
629
849
371
976
332
200
278
539
979
919
851
271
562
467
595
319
593
754
655
607
253
886
155
401
892
896
260
234
870
237
404
815
427
443
64
621
658
969
501
199
703
675
171
51
926
794
837
168
208
530
9
882
493
604
3
740
347
175
796
538
619
568
828
458
265
150
127
515
1000
513
389
164
734
837
196
956
675
968
140
592
586
229
433
613
905
477
556
194
379
244
557
219
372
37
926
889
275
78
339
589
278
788
200
661
316
320
571
5
171
312
35
168
566
831
30
663
577
149
423
803
828
621
438
260
785
404
558
874
881
207
707
2
353
544
832
828
463
201
975
594
168
769
102
707
439
105
199
5
150
549
628
244
867
561
345
71
927
200
317
286
925
534
423
224
63
617
182
468
900
179
894
901
668
515
147
316
697
370
224
440
482
807
598
196
570
129
600
513
756
960
329
792
52
454
70
378
510
475
767
44
255
271
643
537
14
814
628
706
42
509
106
564
555
425
404
964
732
530
579
174
839
702
306
786
336
403
84
834
599
10
581
923
503
760
636
455
244
121
334
749
640
231
642
980
639
697
245
354
928
679
613
905
331
661
843
574
162
741
460
46
816
583
217
879
654
399
905
95
684
444
309
295
629
582
764
766
702
376
193
794
841
28
128
590
193
266
977
811
355
893
710
646
275
319
223
834
701
860
871
793
799
946
30
223
866
714
116
192
69
592
180
701
823
643
47
180
670
379
984
181
560
737
70
783
995
649
723
861
810
433
367
434
295
803
835
757
939
888
892
685
339
26
238
112
712
526
428
969
13
769
432
336
872
238
962
714
441
104
278
425
761
977
904
354
461
313
597
22
422
746
915
42
541
323
984
548
904
195
366
123
452
847
481
76
716
339
696
646
308
360
1000
884
642
123
196
492
774
247
654
855
373
818
975
901
545
762
368
140
665
503
136
456
420
649
439
788
975
99
433
823
560
533
920
237
791
717
928
796
742
459
983
862
97
287
405
451
726
180
653
1
702
717
587
463
28
62
560
130
375
78
391
874
711
719
596
116
988
529
775
875
9
743
627
734
145
1000
922
404
876
134
660
848
981
845
791
594
787
311
98
961
109
976
302
396
366
794
983
39
899
196
677
904
696
937
374
799
572
732
702
206
360
326
255
872
789
206
934
785
580
689
605
531
719
523
122
800
6
451
543
903
766
426
355
774
6
282
683
836
442
700
719
504
531
267
90
863
59
258
467
233
892
535
488
914
227
611
990
399
23
499
614
731
351
448
87
497
71
27
858
133
581
323
326
863
391
198
589
579
930
675
496
429
276
471
808
691
516
688
430
752
5
405
19
675
128
710
721
861
49
285
478
799
582
234
89
732
502
262
192
371
570
668
432
434
81
879
330
885
954
392
818
251
276
90
934
253
723
832
951
330
473
140
73
318
62
549
866
657
144
917
839
55
241
566
882
405
425
634
830
147
282
440
82
964
679
968
1000
855
613
805
838
202
851
4
48
365
166
371
145
751
730
608
714
30
616
633
799
377
419
86
640
190
737
766
663
725
612
246
690
487
61
439
574
6
514
223
866
863
320
558
626
407
468
689
231
656
348
152
876
290
637
292
456
472
435
905
727
477
317
463
919
765
312
67
512
161
714
934
469
290
237
737
50
262
267
585
274
870
884
744
189
268
846
494
386
134
2
638
614
860
413
288
913
167
35
494
429
876
974
168
954
243
174
561
287
418
903
216
688
64
538
946
97
144
975
855
252
180
452
871
556
51
684
561
320
528
16
196
48
305
684
214
508
245
434
226
667
905
426
667
16
202
803
36
382
242
339
436
144
916
315
782
627
861
115
588
576
786
97
769
813
951
953
216
573
804
123
235
563
394
827
102
489
195
921
105
652
406
114
433
219
632
22
199
955
67
176
685
517
980
374
634
903
315
706
39
285
725
153
406
223
171
941
937
265
523
699
389
977
273
60
653
755
535
531
246
181
11
361
972
246
498
635
983
508
805
31
366
139
668
497
137
855
341
616
257
921
105
580
837
793
808
496
247
451
940
209
225
163
435
973
416
246
572
54
980
344
886
782
61
926
956
696
920
959
306
119
485
188
424
956
940
44
77
520
693
980
697
958
758
938
574
160
127
744
27
132
212
429
482
423
776
902
638
612
102
910
472
801
303
942
896
735
807
576
279
487
28
790
879
600
170
928
498
202
900
327
277
892
388
102
636
128
801
219
797
434
897
790
218
4
817
444
495
164
486
784
21
730
325
156
718
504
131
397
702
43
9
802
574
319
292
289
403
132
176
603
109
931
653
474
114
225
982
829
623
892
543
510
849
533
430
484
788
468
541
161
944
86
253
315
500
54
980
30
14
326
46
274
653
959
358
959
382
526
264
844
233
285
888
185
26
358
939
857
437
845
671
546
340
218
248
713
721
335
230
247
270
110
269
130
971
216
408
951
616
194
563
839
200
1
846
224
559
315
433
843
477
925
545
596
704
106
971
158
979
191
247
763
204
487
267
172
376
244
619
695
747
658
383
6
945
800
485
675
478
889
955
542
114
569
584
527
136
726
555
994
340
881
607
572
975
415
140
177
513
686
487
59
255
640
246
867
305
616
190
112
364
909
748
893
136
80
488
443
866
153
331
857
693
592
460
364
31
401
16
630
171
793
702
868
642
577
367
14
656
872
490
782
129
776
229
219
343
341
379
285
343
598
125
41
496
375
982
292
505
359
662
895
336
174
913
485
140
272
569
98
287
48
132
998
41
936
227
35
238
191
185
46
576
689
800
114
771
344
73
993
871
696
336
649
507
805
737
645
682
815
452
69
17
499
405
788
7
601
460
96
955
56
278
227
727
13
49
781
354
112
305
857
848
673
899
552
252
281
24
540
118
736
815
665
73
521
718
788
95
724
267
700
448
828
365
541
948
898
442
997
393
487
128
552
551
995
167
177
19
324
369
149
677
420
320
150
208
671
422
387
320
226
593
240
925
996
620
877
474
452
716
333
90
415
317
790
899
661
519
187
195
535
877
821
686
768
417
306
74
330
888
126
665
464
215
5
528
24
77
506
965
846
323
590
703
171
668
350
261
69
753
762
415
400
169
110
533
108
507
668
846
526
831
339
365
957
229
233
276
983
267
537
95
853
221
663
790
799
958
346
367
354
193
271
124
545
653
859
889
354
365
18
91
996
885
53
431
360
777
410
242
432
100
625
392
634
917
654
708
809
135
751
456
997
45
207
384
241
31
528
164
420
809
121
892
507
427
128
431
690
31
825
991
542
11
934
333
771
767
238
359
118
775
166
683
667
4
356
934
158
66
782
232
881
614
716
221
422
657
659
518
794
423
372
264
484
342
339
678
558
514
278
190
238
780
839
767
322
111
229
500
371
589
322
392
881
688
755
556
517
916
617
707
77
128
598
913
51
981
886
68
532
81
686
432
727
327
938
900
557
857
737
355
616
767
968
585
299
485
890
762
51
267
746
405
474
793
6
85
545
252
503
862
263
622
540
608
873
71
68
900
204
542
115
129
789
614
993
860
155
679
215
204
78
319
706
189
675
522
611
655
900
49
952
227
389
809
448
273
640
591
46
609
178
879
105
867
710
752
704
88
274
79
255
123
20
299
475
831
597
103
737
916
68
226
45
481
900
380
161
10
861
96
919
551
578
854
377
338
120
426
276
932
198
797
204
261
482
381
987
582
108
495
69
505
646
235
92
684
679
930
438
683
679
369
234
835
35
830
207
598
941
766
836
59
345
674
415
728
319
259
32
697
2
553
957
597
755
10
619
476
282
958
162
931
241
972
559
306
311
901
407
795
776
299
796
606
420
941
140
125
954
975
400
214
219
14
967
331
171
112
319
172
979
159
699
912
638
692
256
950
147
505
497
235
670
712
434
898
79
141
515
919
945
990
276
980
325
729
682
502
706
110
263
98
38
968
518
307
99
247
496
549
360
274
136
683
108
865
729
412
837
300
807
63
802
512
889
934
228
141
755
491
837
219
359
186
263
354
54
558
434
231
536
579
195
145
796
930
278
54
442
995
230
342
897
869
57
70
402
631
158
17
209
448
584
193
56
813
775
865
820
376
723
314
233
369
922
713
690
599
567
523
452
327
227
762
21
127
577
342
61
24
888
432
991
734
643
458
306
892
56
921
771
477
265
696
822
501
683
840
949
206
323
227
335
637
892
541
759
483
137
225
591
488
205
999
771
597
763
500
771
211
228
358
923
587
761
807
928
464
596
510
45
466
856
844
202
673
291
319
275
54
230
165
839
102
641
351
996
112
380
506
279
29
593
223
211
687
767
252
844
560
95
936
476
859
694
39
778
912
658
810
807
306
141
729
671
177
437
870
193
364
490
248
535
909
419
815
608
507
376
17
47
53
538
917
683
435
89
976
736
30
802
473
404
174
262
433
118
32
774
672
515
881
788
222
76
818
975
984
489
277
169
915
970
573
48
443
234
873
768
82
280
615
774
432
917
431
659
816
772
23
246
835
549
323
39
36
482
460
815
668
240
723
402
290
23
773
617
551
248
794
944
55
979
138
770
642
237
315
890
762
426
823
579
885
365
412
713
48
833
871
321
695
129
312
451
965
861
229
450
436
72
317
566
134
849
159
298
311
785
400
70
81
980
951
608
522
819
117
866
253
414
258
481
820
416
753
503
442
909
594
569
802
206
872
825
605
688
805
588
566
253
714
194
330
575
546
501
605
101
92
263
421
677
91
931
23
720
739
498
351
128
2
657
469
484
258
910
568
654
475
253
376
589
116
698
891
996
398
232
383
543
358
767
485
449
443
239
52
630
950
325
156
38
721
157
235
497
950
12
949
104
813
199
715
241
917
280
293
318
228
304
975
665
236
962
177
387
582
438
215
573
293
258
96
988
54
626
976
270
663
579
758
674
921
787
988
642
748
967
789
794
214
722
104
480
536
36
917
688
811
820
427
925
407
655
394
677
499
325
3
191
159
821
611
610
825
244
694
952
688
432
181
8
770
219
76
44
988
909
954
46
557
963
502
377
404
896
702
922
143
76
676
186
308
465
483
358
190
324
347
46
633
560
898
269
572
728
11
261
928
616
746
862
715
26
699
548
867
578
803
682
323
354
248
148
395
760
727
387
289
220
647
756
918
269
315
253
843
105
328
930
231
934
604
698
239
276
511
853
102
954
560
327
526
641
984
609
683
730
335
281
214
726
897
355
189
574
333
904
873
106
473
50
499
262
578
992
978
883
717
611
626
630
119
158
543
21
508
671
220
682
448
68
347
642
670
301
526
905
202
572
803
606
902
370
491
752
596
7
772
948
668
415
925
503
354
178
870
28
415
183
898
959
125
802
70
445
731
225
815
676
600
418
651
74
312
193
813
690
846
47
791
797
834
742
440
957
574
113
367
749
124
165
768
946
348
398
738
191
208
167
368
99
952
50
590
301
122
427
846
122
421
909
126
509
601
822
824
303
468
680
155
170
989
486
591
323
291
715
888
682
3
72
800
258
10
426
480
367
207
883
936
739
204
596
628
710
310
745
432
472
305
112
773
773
649
790
654
571
829
888
709
874
469
523
145
417
676
996
640
869
875
834
827
2
3
272
1
604
554
835
71
958
390
925
580
387
639
675
830
727
301
912
756
541
325
732
232
596
79
96
882
393
102
810
344
525
943
469
143
261
721
254
997
8
756
939
410
286
248
119
881
390
526
472
916
183
826
781
306
383
897
599
787
237
12
653
330
705
100
550
736
151
787
875
162
68
121
549
472
539
618
154
25
973
62
32
626
188
183
111
899
5
937
803
232
389
610
818
829
598
392
410
85
933
362
391
710
475
85
247
507
603
109
795
741
211
718
161
335
245
227
257
954
641
954
583
172
744
761
926
520
55
713
440
214
491
982
680
726
394
581
389
190
182
901
219
830
913
322
124
222
4
335
844
198
994
733
784
663
581
422
564
404
96
325
732
200
219
656
420
231
19
574
218
780
313
849
186
726
969
728
705
163
986
595
822
758
107
409
866
147
289
125
337
736
544
492
539
769
555
656
956
430
7
13
136
29
726
596
723
52
605
83
299
944
744
225
955
40
426
44
800
974
335
709
172
211
903
369
979
136
772
562
407
210
176
31
221
334
436
920
42
433
886
336
240
729
278
242
562
850
125
453
213
184
494
298
865
399
489
141
999
92
10
558
38
886
445
393
997
134
592
348
727
555
471
2
388
775
691
381
506
761
667
278
785
534
317
534
889
428
807
409
577
351
563
975
870
198
28
199
461
574
580
11
150
471
622
177
955
398
104
267
433
740
627
314
893
778
858
62
441
918
186
828
183
135
419
83
547
558
875
832
345
398
366
747
158
166
453
799
598
189
814
829
260
20
752
82
508
193
647
254
744
170
653
994
489
20
39
138
444
547
362
160
644
110
98
461
992
363
438
157
741
479
709
971
916
218
286
659
339
358
912
199
603
595
69
584
324
22
400
674
41
664
240
985
379
372
954
730
468
584
166
662
167
56
924
493
331
712
532
748
228
182
56
927
201
402
501
743
880
941
276
47
529
320
821
743
626
662
242
661
401
459
346
851
847
128
758
256
676
260
673
6
798
185
377
896
155
531
863
719
176
950
778
229
677
88
424
456
778
172
744
993
284
286
59
656
22
545
829
605
848
873
837
619
346
24
43
719
816
841
783
753
762
438
137
854
949
198
66
930
74
966
320
461
214
838
269
913
540
258
491
35
215
935
415
125
992
270
318
150
822
537
743
218
677
100
744
509
864
284
404
206
361
381
755
393
68
428
570
127
436
37
492
111
603
581
629
494
68
438
31
311
896
864
455
4
658
274
430
279
613
383
929
261
121
682
856
577
933
213
197
483
762
441
883
637
532
312
348
447
771
268
304
176
904
33
490
157
599
539
10
541
920
180
406
957
739
963
800
357
777
759
278
108
679
26
185
75
712
871
158
37
55
247
522
302
151
413
159
765
257
549
61
9
162
506
569
242
22
300
738
997
380
843
341
589
781
818
795
214
776
365
676
471
775
393
560
811
936
960
645
99
209
129
965
28
728
87
62
599
972
160
637
284
510
520
66
727
682
26
649
88
272
635
120
183
85
280
255
620
353
904
378
1000
66
613
191
113
635
536
630
749
807
45
382
386
350
431
292
559
850
6
133
146
903
881
125
166
82
320
128
923
342
683
668
511
922
434
832
751
392
605
566
598
229
405
127
957
174
358
272
612
688
479
245
671
14
530
812
541
703
286
360
924
992
129
586
775
71
968
394
439
117
679
397
438
946
784
887
495
272
38
175
423
866
998
5
449
333
362
103
384
869
94
16
815
91
899
92
163
958
622
826
981
896
527
832
399
440
226
393
946
132
223
847
297
908
661
115
686
960
883
289
802
883
832
517
12
931
165
415
666
393
177
812
29
401
293
951
147
994
931
186
563
861
986
807
322
21
78
875
180
606
939
850
259
71
34
364
633
356
542
682
534
1
376
305
879
754
749
648
836
954
153
971
13
866
283
512
630
180
586
337
738
82
600
519
148
681
213
111
230
65
280
801
162
940
768
312
516
641
788
326
305
256
356
209
729
778
763
853
911
462
718
721
844
39
270
602
619
29
638
591
770
165
690
588
225
850
798
931
906
674
173
834
534
194
621
972
522
629
825
914
177
625
915
77
581
956
70
542
653
893
360
387
870
972
839
147
71
68
144
640
540
10
533
664
337
440
290
35
433
282
931
979
770
946
493
192
799
380
451
740
389
156
494
557
275
63
472
502
356
81
314
826
229
210
614
394
319
316
880
232
841
102
162
781
629
300
860
754
530
417
73
622
695
708
744
608
588
576
210
476
931
236
483
580
147
356
767
376
70
313
229
49
823
890
32
14
804
497
981
761
662
467
921
953
998
586
183
717
256
765
973
818
981
699
584
726
126
416
707
680
622
862
902
475
753
53
542
80
211
860
93
186
858
218
683
407
357
370
281
210
799
798
671
588
411
660
651
111
199
857
499
290
142
357
844
99
166
33
493
102
654
61
672
885
720
882
368
386
787
832
184
280
291
812
138
782
487
795
405
138
393
508
813
542
888
419
283
462
858
987
49
171
82
206
648
756
213
686
180
84
836
827
241
961
91
214
316
217
720
971
102
557
777
678
418
816
404
426
884
653
248
709
536
859
104
164
873
157
329
609
637
806
412
444
783
359
828
231
686
655
6
204
618
497
751
516
926
484
977
274
152
156
981
810
514
965
749
151
833
560
14
375
948
535
851
394
152
114
627
713
959
186
13
871
791
753
592
628
797
96
330
403
85
953
785
143
79
530
482
565
616
467
326
688
632
750
252
664
979
133
597
185
6
861
818
162
13
322
249
941
577
825
576
68
77
869
578
481
422
82
466
68
130
569
864
726
390
493
44
406
710
562
555
149
45
566
796
791
73
190
386
816
403
162
419
856
73
172
825
442
645
146
72
917
564
157
431
875
228
685
816
84
388
4
13
635
73
153
757
956
241
370
675
413
743
853
602
458
970
424
143
667
813
1
645
551
107
782
956
722
829
698
391
872
680
1000
408
3
552
826
333
544
616
183
342
306
398
95
608
691
274
573
158
248
269
679
516
419
913
172
658
293
174
165
149
298
153
747
583
994
345
762
619
590
712
798
959
345
749
978
610
766
997
310
613
402
191
224
262
68
319
384
473
543
414
55
606
137
805
77
518
33
898
998
54
984
302
18
490
774
251
177
671
813
818
661
722
400
402
196
222
474
306
224
716
94
996
985
236
562
844
673
313
780
676
555
567
431
507
313
581
591
181
893
196
643
479
839
776
743
432
427
259
622
219
902
3
225
30
790
549
534
714
551
417
934
849
825
958
659
137
112
109
165
638
49
629
779
445
341
5
588
822
22
772
345
731
945
419
111
913
338
412
450
373
779
113
281
222
193
540
875
282
332
974
101
786
728
407
719
801
300
676
425
688
618
957
402
60
359
938
313
200
602
629
40
824
452
245
996
425
924
22
472
153
170
141
350
354
869
156
457
412
77
457
5
531
887
323
813
434
40
91
515
730
973
764
509
892
912
204
200
343
286
653
993
175
135
936
577
382
207
146
260
320
116
18
516
294
293
455
442
806
434
885
518
994
827
215
936
251
228
155
756
803
936
605
333
321
338
589
777
216
466
985
680
400
42
892
10
673
92
21
830
821
449
973
474
758
348
541
916
704
916
523
322
511
547
611
199
711
26
29
132
761
803
577
829
266
4
577
79
675
593
43
278
33
616
70
378
935
587
37
459
711
911
722
655
229
688
856
817
449
366
928
134
970
497
315
901
419
280
896
781
430
658
400
178
367
500
627
805
709
788
558
132
167
796
134
161
219
954
109
895
712
484
994
943
599
895
534
938
655
123
602
820
249
459
602
601
839
360
744
905
904
949
596
460
432
268
345
697
919
346
119
821
94
754
512
3
197
602
214
854
715
861
234
970
934
484
792
124
519
64
345
634
609
643
603
563
604
870
625
623
884
900
243
134
197
325
147
908
359
925
924
704
190
241
224
752
338
789
16
916
749
244
591
251
47
84
569
61
55
958
658
104
967
570
341
219
468
917
977
513
219
564
29
205
674
35
254
361
173
505
731
74
606
715
554
51
701
442
845
212
203
928
525
660
754
355
911
274
295
852
795
303
200
553
136
507
168
882
862
845
72
594
573
200
621
126
132
357
681
416
217
311
544
689
934
970
252
676
476
517
341
339
648
1
8
459
793
212
732
390
296
527
895
849
364
236
742
883
221
763
353
48
235
336
929
386
703
923
816
15
225
637
144
15
635
439
881
815
443
646
390
485
626
687
293
154
377
551
553
299
133
615
202
789
786
842
91
374
489
920
343
785
894
512
950
726
947
666
87
820
624
380
280
9
96
484
515
987
851
269
735
12
264
756
963
818
919
105
426
442
775
425
700
467
912
160
807
567
165
317
668
277
416
996
62
565
730
137
466
176
749
854
788
645
12
517
987
611
920
523
20
286
93
766
408
984
784
949
904
166
799
224
441
787
142
116
567
623
191
348
21
899
775
943
992
716
950
949
866
756
638
254
928
234
514
190
584
337
726
56
166
221
87
283
242
191
322
662
705
862
889
983
580
947
634
429
623
799
242
319
305
21
62
120
699
217
372
162
117
480
561
173
90
285
36
566
423
264
866
387
613
772
332
994
882
221
547
794
423
935
310
846
241
671
141
743
159
996
252
916
107
453
849
468
840
803
716
687
601
656
534
637
61
502
735
599
60
493
12
691
311
296
759
693
220
38
864
950
439
632
217
260
549
760
276
788
582
400
806
415
654
81
626
377
106
958
881
708
953
407
815
780
351
91
540
201
16
333
584
412
247
213
290
626
267
998
298
124
82
412
384
538
970
767
939
457
995
151
217
598
667
735
297
808
970
732
371
383
501
721
591
540
405
826
188
369
99
740
18
313
543
678
977
980
940
142
965
139
317
800
223
844
381
883
864
941
418
243
408
664
773
630
940
634
622
779
300
326
332
663
334
999
694
572
848
161
708
778
341
860
409
173
9
492
410
643
750
352
490
921
159
865
522
324
526
277
522
79
923
608
384
929
321
838
134
293
545
614
168
586
550
257
3
194
174
485
512
203
30
48
488
248
660
446
657
719
408
978
927
152
736
662
744
812
868
963
923
394
693
850
210
255
869
437
139
785
915
344
449
396
882
960
437
50
888
997
175
452
382
71
380
816
541
564
151
581
570
682
420
579
39
469
218
945
573
497
311
468
380
92
795
209
101
267
555
911
431
971
282
193
813
859
926
509
237
576
29
629
864
444
376
728
743
529
816
230
381
295
871
213
277
430
1000
534
859
988
962
832
409
681
770
218
701
9
141
758
53
947
177
852
412
44
275
190
928
154
867
293
161
468
686
537
730
166
693
179
722
809
651
145
642
532
635
224
16
199
406
906
32
963
698
280
747
81
924
318
465
405
718
363
875
707
38
850
383
890
246
118
910
169
703
670
69
517
949
399
265
10
442
82
761
248
185
956
154
667
291
253
27
390
697
412
782
274
779
59
760
901
583
994
809
591
750
128
416
949
984
732
322
77
84
430
352
322
157
67
811
382
604
963
374
627
864
93
890
773
733
410
868
386
238
882
735
266
695
805
116
458
583
591
500
480
308
576
673
395
742
322
176
486
681
527
904
663
1
939
650
173
351
593
57
843
668
286
947
888
674
457
477
224
783
531
880
393
515
359
830
422
613
585
623
377
530
672
441
937
866
798
915
73
612
85
123
761
807
396
908
733
276
477
104
469
686
368
884
974
52
796
900
407
169
752
334
293
186
557
283
889
686
530
131
231
179
755
669
544
880
596
799
994
2
303
561
197
581
492
98
518
998
315
910
950
976
879
430
278
799
815
497
333
905
947
795
326
801
704
705
690
462
214
283
365
990
80
300
181
317
436
352
847
185
221
71
52
446
570
367
384
982
831
457
62
183
9
150
983
965
373
510
217
787
532
514
873
973
572
819
205
925
695
40
956
482
424
255
168
773
598
566
134
395
286
643
720
640
262
138
42
802
884
735
340
306
37
404
960
499
319
91
549
489
789
702
911
319
410
733
505
119
790
305
223
588
937
685
912
354
532
598
82
239
644
763
397
499
927
133
820
394
56
225
734
268
587
840
993
470
467
150
575
46
153
856
486
95
657
654
570
109
868
718
184
401
190
312
26
935
866
910
974
482
366
390
507
70
868
2
93
77
158
760
1000
206
260
872
94
770
719
608
565
392
735
736
961
267
290
293
592
576
989
990
114
547
595
982
79
873
141
103
359
930
42
909
558
266
872
25
25
379
332
385
574
641
455
886
820
571
291
916
865
346
157
936
175
549
14
42
622
697
714
998
90
996
652
760
490
103
826
894
759
444
431
647
194
736
898
603
488
957
716
47
944
931
462
128
676
92
227
928
998
725
7
314
882
196
716
282
48
232
159
103
247
331
707
176
304
757
429
972
780
381
116
813
436
845
982
529
299
139
835
229
757
677
125
516
25
435
629
477
301
492
488
706
111
591
898
414
681
970
96
424
620
765
163
461
881
738
784
696
724
977
348
941
369
430
670
242
146
878
182
863
181
982
645
829
109
551
323
262
864
82
74
694
313
900
7
463
432
954
181
44
710
433
340
879
720
892
814
871
106
481
531
203
790
243
552
556
837
155
668
118
267
733
357
12
62
601
867
871
776
340
237
359
431
342
868
350
846
125
610
351
145
767
419
492
949
697
351
63
689
55
23
176
547
246
702
562
744
107
882
927
318
311
519
558
55
260
128
69
926
712
565
274
278
855
658
181
1000
326
789
13
67
953
168
968
214
624
818
176
923
737
212
915
602
153
107
706
579
428
367
333
516
385
453
200
940
740
843
665
858
610
840
187
836
188
110
158
496
793
813
287
128
792
384
271
990
585
844
273
915
996
46
435
46
894
386
235
882
819
331
11
315
712
591
374
34
580
866
584
456
107
883
129
369
710
892
939
589
571
843
652
218
478
250
333
554
128
129
854
315
670
465
939
588
909
372
512
831
523
502
557
353
87
253
186
908
468
43
975
427
375
241
921
471
479
348
574
674
491
670
974
310
81
43
56
122
281
129
69
731
319
419
399
259
423
375
893
283
233
60
405
880
876
206
850
319
649
905
456
880
520
32
286
436
327
49
336
642
644
64
686
40
774
888
242
922
218
364
586
572
271
428
335
350
122
190
173
150
910
845
454
971
760
347
823
662
701
618
852
458
732
505
65
564
39
836
68
878
487
697
704
920
95
492
299
187
142
434
91
432
914
858
882
815
884
169
789
501
288
267
755
10
635
44
102
575
698
884
6
820
906
148
235
306
872
307
874
874
8
722
44
290
762
66
818
332
66
43
633
403
999
364
509
674
483
911
278
12
111
631
872
209
803
985
420
563
73
736
532
447
141
390
715
343
970
931
268
739
604
322
376
404
843
855
370
817
378
609
297
944
3
190
970
138
412
415
702
653
380
799
746
173
872
574
299
788
684
415
591
35
790
236
183
18
460
233
120
90
581
787
973
278
308
979
128
448
364
268
927
180
835
272
350
479
251
723
14
730
146
394
160
744
33
204
191
386
899
769
46
988
947
377
367
714
254
748
996
92
440
947
790
168
249
535
142
127
107
347
860
765
410
320
287
901
231
410
583
668
642
977
170
646
608
972
175
953
711
875
589
747
563
618
543
78
848
669
741
640
359
25
640
817
306
128
390
292
396
612
913
692
889
343
735
897
907
451
367
160
776
894
84
683
47
650
938
77
183
809
696
982
572
660
212
215
660
400
413
947
520
214
683
847
79
299
935
566
586
866
72
665
619
286
858
872
96
312
430
561
281
738
839
482
770
983
11
32
756
775
492
873
702
584
164
229
676
443
892
28
216
566
720
927
568
516
787
354
546
711
628
928
47
740
894
9
495
308
808
665
53
612
878
47
518
618
476
38
190
16
894
8
885
582
425
739
455
313
787
853
867
986
993
590
918
693
331
404
114
538
719
666
152
897
102
657
644
559
910
221
461
625
873
629
131
252
624
685
202
213
611
641
411
753
791
252
766
424
475
154
383
419
476
829
10
411
398
585
727
66
507
370
184
213
135
722
127
105
968
852
666
341
889
649
901
792
291
429
55
302
862
317
250
44
932
522
407
134
366
153
509
529
876
865
688
289
346
369
115
988
455
783
730
449
425
836
189
994
215
217
237
91
844
701
923
609
828
268
659
909
900
110
197
637
278
272
966
397
759
710
94
447
822
689
639
200
740
799
243
552
441
313
414
46
445
290
172
417
803
580
590
354
347
868
85
196
945
988
952
839
698
992
747
357
177
906
596
707
866
639
401
402
949
286
234
263
471
922
894
136
661
42
743
24
934
996
428
197
657
133
46
654
288
875
634
803
894
602
599
317
388
76
867
918
26
96
47
276
863
214
917
299
878
645
844
819
430
956
563
131
566
702
901
835
436
978
621
206
745
735
536
649
743
814
452
851
711
869
310
909
305
739
68
61
368
368
525
645
72
95
280
558
277
955
441
809
67
685
567
708
290
262
519
877
758
151
582
524
501
912
239
368
78
454
472
207
497
11
283
331
728
881
446
926
164
64
148
153
600
195
258
797
514
597
485
271
448
848
534
275
294
987
712
599
172
376
120
402
342
277
697
781
321
395
877
634
951
10
584
577
680
824
591
192
716
319
26
977
57
241
940
146
596
828
420
879
635
508
676
698
206
110
899
395
492
69
457
354
539
726
173
139
162
557
10
968
643
127
488
59
357
605
533
830
969
918
277
667
188
17
534
288
381
270
283
722
524
677
515
596
74
496
229
723
344
849
189
939
885
54
307
781
186
770
141
857
729
502
65
704
72
661
131
515
159
173
475
374
510
569
443
524
279
597
232
763
440
679
967
286
503
920
601
145
243
984
937
44
898
862
346
359
162
463
505
119
97
972
547
190
770
168
569
28
27
196
359
216
324
849
533
440
926
41
13
678
136
25
936
182
404
838
607
230
321
641
106
751
528
887
483
644
522
703
279
36
165
496
261
784
499
536
861
206
82
189
800
464
673
572
741
979
533
595
668
994
4
785
852
721
323
792
897
504
798
201
393
86
589
131
91
387
337
97
394
150
789
799
172
437
406
811
540
255
625
645
336
499
118
280
442
4
905
45
996
748
618
726
781
139
573
810
783
894
556
117
978
224
392
424
885
909
424
305
353
381
27
121
304
120
127
985
917
500
513
575
797
725
404
868
237
650
338
215
581
85
956
711
46
647
650
447
85
364
400
106
531
975
295
291
311
354
409
162
464
530
711
210
592
560
651
482
603
885
885
147
815
884
393
80
56
36
874
40
391
488
881
120
501
842
639
334
537
670
860
649
479
601
156
264
666
822
847
679
142
485
61
918
933
829
19
306
171
785
317
367
242
460
837
721
764
166
629
359
263
605
755
288
877
402
603
366
259
432
639
62
154
289
893
999
774
796
757
411
198
694
808
45
487
482
450
615
139
953
140
672
773
116
849
603
652
64
177
549
787
824
255
218
854
394
156
915
103
972
35
654
768
851
641
852
223
573
159
954
268
725
556
302
505
178
739
725
684
664
878
577
304
357
172
455
493
481
205
390
383
81
767
82
775
760
713
685
889
598
958
701
354
461
218
770
455
629
465
571
799
979
347
530
218
975
34
795
728
375
44
744
807
853
587
335
58
722
914
768
604
558
933
244
162
787
126
106
832
275
372
268
82
491
879
640
258
120
821
210
245
866
654
538
575
752
325
699
335
465
759
109
762
126
64
261
268
425
887
123
961
233
211
831
433
643
684
369
690
893
269
110
633
776
569
467
425
949
744
401
390
22
283
208
867
432
262
832
553
877
917
937
434
531
499
91
377
341
404
745
781
461
539
86
502
277
700
509
405
545
517
168
505
864
171
18
629
98
665
807
951
373
891
736
516
960
125
870
125
715
867
946
518
725
134
900
859
456
410
319
910
41
461
25
147
275
152
149
302
529
185
415
447
64
441
803
797
167
205
409
882
116
110
131
571
224
72
717
729
134
840
874
951
70
19
346
900
990
633
328
276
442
298
134
323
459
111
783
96
9
191
43
409
376
634
521
509
303
300
603
25
935
483
370
692
362
990
160
653
66
589
107
917
659
91
801
655
122
551
209
613
148
224
128
830
312
920
737
267
518
365
259
673
598
11
365
221
973
509
697
30
17
700
820
657
138
552
977
61
615
972
265
334
902
743
223
692
480
193
381
863
301
335
12
982
553
349
178
585
757
284
196
79
192
735
794
339
262
119
565
698
685
844
814
683
341
341
508
277
181
431
867
359
870
964
53
267
730
1000
531
62
88
69
951
205
407
197
802
802
374
469
669
506
713
847
662
427
638
870
466
156
714
629
506
83
391
115
929
721
629
621
447
694
837
403
617
351
822
205
775
727
564
567
710
711
401
71
85
826
667
800
811
7
883
315
838
90
386
427
278
537
642
847
394
63
594
589
758
439
74
632
760
724
704
954
794
567
718
467
593
42
850
823
661
667
752
307
217
881
398
232
822
281
612
368
682
320
139
922
652
51
654
497
125
674
736
297
318
355
90
544
955
785
261
712
966
444
648
731
641
367
901
727
606
510
660
253
107
463
171
178
344
362
538
598
19
321
204
179
845
630
844
323
469
223
965
424
187
678
415
280
837
83
460
393
484
651
242
525
847
867
278
337
940
329
66
402
81
113
46
145
208
718
900
536
480
130
626
460
219
550
924
728
594
661
141
661
863
116
476
985
607
59
160
570
169
121
76
181
395
289
626
992
881
463
712
75
153
295
352
468
571
139
822
694
347
536
177
834
687
680
702
292
18
749
106
468
178
807
279
402
702
226
21
319
592
225
463
695
492
169
793
102
792
737
541
653
4
920
875
254
681
99
305
284
275
107
714
525
585
288
889
364
854
22
558
318
184
124
505
959
613
774
489
130
146
403
550
198
39
14
777
722
838
983
778
551
42
294
868
870
781
484
507
84
526
346
597
816
733
540
52
444
260
851
471
785
540
774
861
556
816
472
74
166
156
920
42
268
590
234
957
243
485
767
247
437
169
522
574
573
911
862
124
188
580
269
109
376
701
128
787
346
178
123
264
561
634
845
12
263
195
651
355
235
539
645
117
542
222
870
280
820
599
478
736
392
141
673
209
143
602
689
941
597
275
931
66
98
505
664
417
344
785
340
139
762
967
699
652
401
571
302
399
61
754
30
346
367
203
391
363
363
142
189
495
5
651
211
579
602
725
127
863
877
833
700
66
802
271
765
787
785
252
158
298
111
521
905
539
737
240
585
548
707
66
676
683
450
577
101
692
200
718
948
153
608
504
507
795
371
987
370
993
373
413
297
58
390
596
987
977
890
708
658
974
848
149
578
557
759
630
271
752
244
360
177
856
739
51
951
360
761
483
416
656
141
522
442
763
470
846
649
590
674
67
902
182
314
618
6
992
715
530
890
464
474
220
824
120
255
460
905
897
13
14
115
703
996
821
766
35
869
165
5
13
352
51
404
393
596
829
318
939
321
223
846
63
444
51
730
745
495
342
458
613
659
23
173
486
668
39
735
821
91
598
404
287
800
188
200
108
506
199
927
934
316
210
207
719
184
526
689
494
983
86
694
14
692
690
226
910
842
349
199
429
923
694
177
793
955
574
680
955
781
375
361
848
934
135
940
197
124
228
820
666
498
248
719
375
807
738
521
815
553
573
733
814
978
131
636
449
520
888
234
788
943
666
573
893
916
613
875
775
259
892
188
911
402
199
938
466
878
482
856
602
817
641
226
112
490
573
321
153
912
665
165
37
400
719
500
881
777
319
921
398
571
891
680
295
215
19
587
525
688
131
760
116
525
304
724
430
358
787
493
472
458
820
834
304
808
444
873
723
315
316
533
92
699
978
122
623
438
648
505
482
915
341
930
775
574
83
520
881
437
7
886
588
853
412
70
213
672
192
274
188
376
638
427
625
853
272
654
1
632
271
171
430
360
16
913
950
259
486
494
866
85
549
704
487
855
669
818
510
209
183
451
907
863
128
545
421
987
501
353
657
741
976
975
354
428
358
45
595
910
459
705
618
958
674
862
405
235
257
45
409
448
179
873
626
5
516
272
713
217
488
102
6
664
639
749
99
863
173
630
125
780
99
230
979
48
703
492
516
981
801
895
193
590
414
539
714
862
753
904
966
488
891
713
968
88
75
546
596
726
418
381
550
181
610
260
445
984
380
682
878
744
657
86
62
616
772
44
915
96
597
357
525
498
196
302
538
555
434
668
337
628
7
97
851
872
509
433
445
573
488
478
625
541
927
572
229
137
208
879
353
975
442
141
538
859
949
906
599
793
841
943
97
210
860
605
610
701
88
430
880
591
713
129
408
704
736
438
273
507
432
999
792
643
402
569
108
525
253
361
991
289
300
254
907
879
204
939
895
485
119
815
913
833
757
586
87
80
750
61
736
179
828
628
133
629
647
228
711
455
501
419
832
112
832
319
280
781
129
779
382
154
813
127
995
403
703
246
675
482
945
506
969
305
640
321
174
610
982
692
853
531
370
122
79
994
872
717
683
43
385
130
741
137
29
216
164
256
630
951
530
388
629
184
233
601
390
270
613
424
683
488
980
733
57
424
349
648
920
167
258
244
437
263
263
997
730
839
570
997
476
236
797
894
713
756
50
447
558
869
305
335
579
313
645
552
768
64
989
350
428
57
804
154
764
895
742
323
692
499
266
923
153
824
101
909
232
282
796
247
513
517
765
540
382
498
914
663
463
687
387
759
954
222
989
713
415
625
602
866
463
536
248
316
910
374
488
611
111
627
555
33
681
685
922
938
276
726
29
840
836
215
545
995
549
971
834
261
805
620
280
924
569
467
731
986
951
478
617
145
192
115
213
325
981
217
125
139
746
996
317
129
562
472
892
963
411
368
431
22
771
546
852
984
974
577
695
67
293
910
206
570
500
432
811
233
496
899
401
728
661
840
354
265
784
53
357
929
773
757
918
833
874
756
918
608
787
761
667
63
887
118
722
64
765
777
141
817
399
261
954
776
608
788
377
339
849
450
679
345
54
546
702
127
948
724
727
567
218
613
756
134
978
976
322
371
192
268
594
690
135
640
924
606
475
85
941
723
303
418
982
923
252
226
936
164
902
728
561
237
791
769
942
651
719
780
47
504
484
595
262
881
844
488
390
802
285
654
832
230
124
604
585
962
589
659
235
512
775
784
360
229
798
497
608
980
39
494
264
692
107
921
282
931
37
935
626
474
276
317
230
541
218
413
76
923
409
601
659
781
35
835
608
280
8
536
332
532
752
246
360
583
816
38
440
260
526
592
605
772
236
255
117
871
153
134
626
252
320
480
931
600
131
181
457
389
624
188
919
54
928
78
682
691
424
769
14
767
598
619
756
643
88
728
942
887
148
311
556
457
593
427
911
852
294
165
111
209
494
662
685
175
499
942
729
100
821
624
877
688
443
28
965
850
718
38
527
876
319
365
156
436
806
553
320
155
593
108
455
678
566
660
1
199
131
945
598
412
245
696
843
704
831
245
833
233
63
746
233
170
159
465
750
45
737
478
715
589
231
494
932
912
598
219
70
148
334
849
672
947
803
824
268
296
38
918
181
218
440
141
369
806
285
652
18
929
515
107
713
687
99
402
677
343
114
803
971
58
825
818
566
193
243
990
895
350
22
982
803
585
134
948
851
452
421
210
557
597
12
662
461
655
581
196
895
100
614
645
939
519
149
411
318
510
972
972
958
17
853
959
470
477
225
303
119
573
643
288
705
744
486
956
362
863
600
451
490
656
30
335
905
476
533
834
830
73
326
253
525
816
385
527
189
666
674
962
291
852
864
772
603
828
483
926
51
571
925
147
946
707
438
662
279
265
11
434
562
79
94
168
100
993
187
325
706
60
658
768
580
853
576
407
515
896
978
408
614
912
719
97
458
318
9
705
992
913
780
449
474
194
286
310
472
127
718
12
258
472
149
372
953
950
837
172
395
658
770
165
65
123
342
635
308
304
225
173
773
679
819
1000
218
253
154
183
809
984
753
579
582
630
750
191
39
486
511
895
706
812
130
170
68
27
404
548
501
869
331
999
694
846
751
345
583
212
461
108
14
627
61
906
167
440
776
630
296
198
759
134
482
622
697
127
911
764
65
262
639
497
46
176
950
772
957
370
182
345
6
370
318
769
332
574
762
496
589
544
417
884
776
292
652
737
620
256
730
775
588
277
52
88
520
850
899
176
945
338
398
700
389
629
131
384
351
923
126
849
179
957
997
322
781
991
604
273
956
317
983
29
140
851
183
342
541
662
347
686
955
888
579
791
35
568
137
557
430
363
39
11
998
24
435
439
256
699
3
135
315
892
171
506
843
935
211
404
997
338
82
633
834
280
474
557
463
795
650
597
78
931
551
228
45
251
105
731
438
592
856
592
755
908
817
930
78
355
934
744
579
528
662
94
141
891
929
553
808
4
206
389
935
104
492
983
194
958
761
929
52
686
835
103
931
422
683
751
36
253
900
301
741
902
454
186
517
967
831
411
590
371
413
3
943
855
221
764
782
995
200
921
307
205
839
392
483
643
249
372
517
762
786
867
911
482
913
610
298
615
297
529
734
208
52
549
775
964
639
78
439
709
173
921
132
199
813
773
690
215
434
636
986
950
25
725
943
243
124
446
377
50
117
29
843
873
425
284
511
582
434
707
173
159
545
885
664
425
817
724
359
742
569
553
873
998
691
539
829
946
589
193
322
97
450
954
718
912
949
967
569
30
597
229
700
582
709
182
992
462
342
716
974
571
625
284
122
639
625
489
659
233
255
71
737
933
761
719
124
475
13
469
872
872
165
774
31
110
245
513
139
85
876
284
91
813
679
373
999
839
817
660
822
966
812
556
879
86
16
812
819
959
68
626
288
211
237
42
304
734
830
80
310
887
726
354
983
627
647
225
136
733
34
679
472
817
217
178
518
685
126
742
814
916
983
345
293
260
220
560
862
519
404
4
372
153
78
818
534
749
248
841
840
812
702
604
229
114
490
567
57
949
637
239
904
208
638
966
909
146
339
199
593
73
573
995
602
979
322
361
389
265
235
797
640
352
35
62
144
924
745
744
892
944
673
710
431
405
777
862
875
967
392
938
511
261
279
271
670
646
616
532
343
644
867
478
91
105
412
632
900
400
476
664
27
573
128
930
308
442
102
298
74
109
750
870
586
172
704
724
880
242
701
74
994
14
628
557
825
227
14
490
275
369
96
12
939
826
109
1
288
524
625
537
211
799
620
472
828
331
438
345
662
533
974
494
632
692
209
727
851
470
696
292
848
173
721
250
695
275
630
545
486
275
268
199
741
919
540
113
625
169
881
885
307
87
799
894
388
960
722
684
113
609
122
310
957
762
205
903
308
826
550
159
147
142
706
863
42
60
143
819
319
739
915
782
959
642
79
42
629
97
182
356
282
133
142
826
908
32
431
110
362
709
770
115
671
53
473
927
845
840
155
285
42
678
806
325
853
733
73
697
602
653
226
387
817
175
424
765
431
415
840
415
867
730
673
305
877
315
302
713
910
456
656
137
801
426
369
74
805
563
462
188
331
980
88
866
261
697
334
582
391
725
224
811
378
767
815
448
531
768
734
824
953
495
579
445
808
692
379
527
951
122
665
236
763
10
822
311
795
930
63
404
745
244
759
35
361
517
873
537
110
191
955
749
821
998
470
488
64
166
234
45
737
562
409
31
162
281
775
898
40
51
10
413
745
65
289
110
800
492
829
539
826
956
905
722
920
764
487
763
192
490
862
15
156
818
547
553
756
221
316
944
108
121
409
488
406
681
866
140
70
267
420
344
895
925
621
826
892
914
661
250
521
471
884
269
240
480
122
154
631
670
799
638
902
271
214
88
205
828
535
358
45
979
827
969
60
611
836
350
543
697
398
924
418
545
26
759
797
915
687
377
876
660
799
22
673
136
221
394
43
574
369
410
465
69
617
5
358
576
830
398
17
552
234
518
870
499
781
468
403
640
872
37
982
448
575
222
816
535
456
694
452
662
756
910
550
285
935
318
143
86
526
741
223
417
840
535
318
429
316
585
637
944
200
540
485
787
800
933
925
413
798
24
55
99
934
227
863
924
951
1
355
16
840
927
514
286
275
513
743
962
637
921
575
758
156
462
859
460
535
145
93
21
866
49
270
997
779
531
426
332
545
569
42
1000
279
636
614
25
496
533
993
718
999
579
527
780
504
373
668
56
446
129
466
349
141
209
274
664
841
87
83
651
256
417
129
839
792
287
790
423
107
988
371
29
567
871
24
845
854
915
954
996
286
666
42
816
353
101
203
944
628
798
115
816
470
513
440
148
865
892
285
510
369
589
465
900
326
491
63
547
480
123
890
818
613
529
726
201
105
118
618
812
143
1
104
798
863
351
969
265
871
168
990
110
449
633
233
232
246
930
589
114
386
1000
669
699
765
215
630
826
757
338
207
208
673
510
47
110
99
154
395
402
670
888
374
654
932
513
335
281
688
146
242
525
626
349
653
235
86
924
621
995
555
660
748
133
820
908
720
544
762
320
861
46
455
489
659
238
569
482
716
377
68
485
339
887
866
838
768
470
395
795
132
675
10
194
312
989
792
94
293
175
558
122
989
619
856
930
245
934
288
665
440
890
769
847
118
54
210
335
150
176
714
384
203
433
527
895
725
168
935
74
195
604
752
663
151
374
280
796
391
350
444
321
771
445
298
106
228
501
260
476
37
377
239
396
792
618
288
455
274
893
523
9
226
461
862
71
990
551
517
659
141
436
325
357
508
387
703
781
461
445
435
495
922
131
567
667
321
799
378
437
665
311
792
504
923
142
602
952
193
783
587
677
496
548
911
90
566
500
229
952
752
215
540
295
939
558
163
395
479
445
169
665
232
833
225
156
173
817
74
90
508
746
835
458
846
755
872
260
813
969
233
429
408
880
584
776
516
116
91
622
276
863
947
860
394
723
91
344
80
670
207
396
14
62
285
160
644
398
829
293
148
597
342
173
606
114
844
412
267
131
984
964
341
383
793
531
365
941
228
279
76
397
457
108
647
456
235
854
336
902
854
813
837
273
865
966
124
324
185
70
139
576
267
595
477
790
710
108
109
233
84
291
285
957
742
245
964
155
107
124
532
835
231
404
94
686
457
325
338
18
629
92
806
96
632
477
461
10
9
333
550
471
996
377
141
564
638
302
167
545
543
929
438
215
453
625
918
289
25
674
455
429
165
614
316
292
763
839
98
45
934
897
29
244
733
995
251
937
819
202
373
71
760
705
532
72
483
271
170
519
894
766
8
386
828
148
986
245
305
915
518
155
542
327
14
703
277
107
504
797
754
499
135
393
141
724
487
258
257
886
913
259
215
344
588
437
4
401
546
293
93
918
733
298
835
124
55
643
863
471
444
612
644
823
212
788
89
700
353
505
439
524
987
557
627
69
841
223
8
354
537
64
622
275
436
808
141
151
994
854
264
189
877
598
618
586
586
804
124
645
980
734
424
767
849
588
168
682
702
94
893
584
955
752
773
109
53
334
737
271
423
704
324
498
739
962
172
927
742
162
229
975
695
618
596
981
655
875
438
427
887
988
524
843
147
645
785
971
46
23
739
234
391
983
749
815
211
400
868
916
176
911
455
870
231
387
832
833
586
748
8
719
630
547
891
881
957
903
479
818
464
954
224
814
363
994
140
31
79
846
267
1
176
830
762
873
903
891
254
53
442
68
79
59
674
496
676
522
120
588
731
247
742
826
611
199
428
894
279
56
352
468
128
712
837
82
123
755
33
909
238
445
466
185
400
212
509
259
77
987
909
940
198
976
758
888
295
626
755
283
669
607
124
915
850
608
334
118
872
615
629
707
667
152
431
159
422
615
865
831
867
472
28
907
288
576
132
124
524
272
305
47
315
263
692
812
162
477
439
828
300
241
309
848
435
168
973
225
713
55
445
907
714
972
764
924
388
452
776
693
528
387
784
446
762
748
915
512
66
789
296
947
505
712
481
254
204
98
172
506
619
583
917
245
754
356
372
939
334
74
700
606
901
686
855
459
382
480
833
87
31
394
439
707
492
258
769
513
407
176
389
981
174
684
158
295
399
693
732
694
137
458
59
666
228
986
595
371
912
367
527
581
432
474
63
741
520
366
687
438
503
522
343
703
259
696
734
67
411
827
234
249
953
899
460
652
970
91
201
616
235
846
236
503
248
740
545
233
702
135
569
879
484
659
449
259
19
480
647
257
219
200
932
767
312
952
508
749
588
932
953
867
420
180
722
575
997
886
211
328
852
882
744
781
627
274
401
492
520
338
323
613
482
932
935
535
587
663
612
239
926
955
414
375
6
1
881
731
935
286
364
779
583
2
963
495
502
230
1
463
659
180
845
564
912
140
52
249
722
48
36
430
842
756
896
565
540
106
612
360
496
947
546
853
660
69
78
336
222
831
245
667
330
949
452
86
336
519
692
536
199
832
199
847
84
973
164
872
363
496
925
807
981
707
65
485
593
199
965
392
955
330
656
502
828
281
271
829
18
163
3
738
270
421
229
659
425
419
394
833
645
675
310
119
508
686
761
680
490
649
703
586
671
699
866
980
519
432
309
486
225
644
274
937
423
141
763
367
37
474
383
427
671
193
352
41
196
986
32
166
153
681
999
983
154
634
450
697
743
444
691
416
42
331
575
235
111
713
999
743
126
719
3
671
378
437
589
264
614
642
96
299
429
663
869
353
252
824
7
47
979
562
151
516
441
975
656
278
723
990
999
5
810
827
915
453
141
679
635
922
468
821
520
215
805
427
559
977
384
458
496
688
258
906
769
344
600
523
93
42
809
937
240
261
247
696
521
628
809
366
537
338
548
274
986
233
260
877
727
708
293
995
817
257
819
387
965
488
470
202
680
855
552
861
416
188
18
844
177
357
992
666
392
23
918
33
314
510
363
842
865
280
55
167
644
337
25
880
731
192
587
839
78
677
492
890
488
968
756
39
647
701
594
263
213
921
358
365
728
943
620
186
980
869
329
251
508
672
520
638
126
227
149
440
706
631
501
713
989
473
24
193
813
454
603
400
38
909
59
970
381
322
75
164
518
902
866
577
134
636
643
965
12
10
324
11
894
776
7
552
573
698
446
493
633
244
126
170
303
541
561
429
126
736
155
26
542
115
259
290
15
942
91
133
48
981
824
636
272
140
464
399
818
448
90
795
349
866
673
66
446
45
950
911
532
221
775
875
157
866
954
365
254
615
822
552
921
221
718
803
415
998
79
495
277
273
91
261
945
876
696
770
779
574
297
116
157
669
679
775
191
689
500
869
644
203
228
187
845
325
503
976
746
395
786
64
782
647
538
241
854
431
374
198
598
697
353
480
70
978
43
102
116
110
56
473
998
245
534
229
291
527
419
424
673
934
467
290
992
409
599
417
917
382
648
795
552
153
489
621
621
458
324
159
229
702
146
217
736
988
468
13
984
68
17
292
989
793
426
555
197
446
905
188
590
612
509
78
249
843
889
44
457
480
357
25
78
397
662
518
717
349
169
187
137
820
976
929
517
12
117
913
371
625
174
307
405
626
533
431
129
77
995
86
799
382
703
664
137
45
121
437
319
133
347
133
943
159
171
464
5
19
110
828
472
978
98
771
674
397
668
149
574
76
196
123
959
625
252
282
733
221
170
191
779
501
695
630
314
83
991
628
271
405
322
150
992
141
467
958
448
451
269
729
272
713
770
12
111
191
65
935
228
289
339
914
768
681
553
780
868
591
903
832
600
957
486
352
763
33
553
11
729
211
385
419
832
514
80
798
311
238
478
380
436
709
47
671
227
939
813
174
172
298
276
491
388
933
877
5
6
794
735
481
921
588
295
6
649
903
15
660
769
8
447
187
308
596
857
720
454
791
86
309
226
313
441
599
38
593
284
517
633
968
386
214
544
821
293
865
17
701
680
113
369
974
150
94
857
532
981
26
431
469
110
260
210
355
13
555
106
975
234
105
800
938
996
483
191
565
726
252
495
872
340
458
437
244
833
611
331
624
34
23
410
640
411
599
465
130
456
238
696
923
467
37
706
611
556
384
731
238
279
844
519
519
615
484
766
219
911
879
645
811
39
624
746
369
219
559
738
952
904
330
106
369
660
106
649
352
186
467
774
608
512
539
267
134
916
412
884
494
314
777
53
429
684
489
980
336
619
461
668
613
223
897
724
857
395
363
323
169
16
628
375
631
644
495
774
91
145
104
572
7
86
275
80
18
823
533
170
300
974
375
526
509
332
206
169
323
392
100
374
148
316
242
994
550
593
426
298
398
633
506
641
450
236
44
691
380
236
692
477
817
577
45
208
5
772
807
695
126
973
81
199
134
873
558
700
226
258
146
928
687
330
352
945
915
834
311
728
890
627
932
997
205
567
54
468
67
517
856
829
321
794
23
998
673
625
328
634
738
56
363
456
471
254
113
658
805
363
965
577
56
886
517
841
762
88
245
410
126
49
689
269
192
812
325
78
188
539
702
714
216
711
722
486
631
179
196
791
978
313
914
101
329
590
517
475
225
702
390
229
201
670
647
30
26
513
56
403
419
741
363
596
937
288
101
800
171
577
396
962
160
32
691
815
159
758
572
294
496
48
106
199
277
70
155
840
148
384
179
394
109
895
911
877
665
479
151
972
208
812
598
419
590
827
312
312
311
858
905
463
597
754
29
911
920
148
44
785
190
636
37
984
931
833
507
557
239
139
95
234
226
583
722
309
929
307
380
939
417
58
586
995
895
599
229
764
153
75
124
202
628
179
84
920
680
439
758
747
418
72
767
586
568
615
927
197
411
988
445
728
792
734
42
87
562
923
880
703
577
616
14
830
556
845
864
309
705
771
853
624
967
69
912
166
186
600
61
842
246
137
604
567
489
226
822
699
295
288
179
208
743
690
216
199
714
860
247
428
592
449
952
642
3
193
723
858
636
394
358
211
276
872
366
631
614
840
608
393
276
391
516
538
774
197
437
280
768
572
903
770
103
279
827
989
582
314
638
161
326
454
394
751
873
511
751
58
877
102
479
411
394
223
891
211
239
78
168
380
839
420
43
347
354
135
743
296
541
896
387
304
15
534
282
915
98
172
652
873
411
268
424
10
709
481
584
751
270
634
508
287
277
161
393
244
256
91
600
591
589
34
282
603
554
627
124
924
102
617
437
168
825
73
102
44
164
228
75
677
941
96
238
663
696
339
427
416
194
797
322
512
648
739
761
84
892
154
711
793
778
356
807
527
516
741
859
799
558
807
209
736
884
440
147
695
246
15
851
747
968
112
491
763
443
475
183
343
314
413
475
603
666
994
905
706
230
234
986
73
752
1000
621
400
165
455
607
983
145
737
333
343
971
981
237
822
345
943
875
660
947
265
685
15
106
826
669
554
867
764
235
512
147
437
401
598
405
60
400
695
455
763
482
91
627
569
373
898
458
122
418
363
498
77
903
47
641
692
440
193
547
543
581
192
389
264
12
713
149
872
790
953
113
536
85
457
76
635
789
141
963
548
201
446
258
921
678
90
671
70
817
447
913
787
234
452
341
45
462
814
493
23
851
485
209
408
582
540
107
169
82
98
708
857
206
428
346
6
501
181
356
427
767
514
695
976
901
974
295
932
720
149
955
228
41
517
510
611
803
371
343
266
448
423
48
566
58
471
206
381
4
522
768
819
977
897
519
354
302
122
442
69
390
886
593
101
26
921
245
484
946
467
676
257
820
834
938
113
315
743
356
870
407
254
297
736
464
578
964
687
929
521
585
257
623
95
382
725
757
610
128
947
809
631
951
93
252
321
270
141
15
31
383
266
223
473
301
206
428
444
874
265
61
889
106
865
289
997
834
465
796
181
637
219
273
6
902
970
563
602
469
34
469
609
190
775
205
500
13
136
362
969
919
160
24
124
179
990
400
447
868
40
889
812
547
799
31
377
334
211
217
836
328
705
302
347
497
707
549
409
691
919
406
135
399
728
707
633
241
867
773
673
938
838
790
411
702
683
573
717
559
394
467
577
102
629
753
81
580
421
338
788
23
277
956
610
310
368
324
919
703
535
949
269
398
484
341
4
48
843
412
997
83
737
741
982
852
131
212
222
279
511
252
766
782
361
517
179
649
520
425
409
919
741
369
432
128
656
794
389
907
949
572
233
536
721
276
271
28
925
20
622
233
257
509
280
725
100
811
413
975
928
158
542
398
108
784
449
406
156
386
25
511
338
315
786
858
975
11
435
317
894
509
693
388
311
71
599
750
801
135
605
220
139
787
100
276
541
931
442
30
222
164
181
775
247
123
921
738
403
723
191
731
130
297
762
738
641
91
90
296
994
965
938
748
258
447
788
25
892
446
352
689
100
62
329
328
277
930
599
290
566
412
192
945
221
835
693
321
725
614
242
2
535
814
917
661
960
165
73
425
866
38
181
585
860
226
792
790
123
604
538
995
310
943
489
895
785
193
749
472
990
529
937
604
950
338
46
363
733
113
263
775
189
906
480
307
462
587
638
304
545
678
508
885
649
930
230
611
256
115
705
314
509
767
965
92
40
691
752
370
395
132
840
359
15
408
90
951
76
687
826
307
592
332
887
972
889
875
627
312
920
302
213
509
941
751
802
111
721
136
562
365
840
485
44
168
586
977
128
492
646
758
602
567
76
622
460
938
14
557
157
748
206
964
416
252
721
99
626
618
131
895
533
511
47
874
706
856
146
296
229
408
711
39
144
454
297
965
473
68
313
668
26
786
213
610
814
521
506
572
588
780
973
261
924
10
335
703
332
967
100
712
35
551
469
362
456
473
11
867
932
432
260
701
872
257
505
93
376
573
866
272
332
134
116
951
128
913
867
590
434
389
428
908
935
269
97
966
516
40
663
909
157
326
644
90
726
42
142
905
906
689
227
98
768
983
445
713
843
177
403
128
113
79
343
818
50
778
318
581
670
511
850
972
586
949
950
592
219
413
969
716
654
175
62
441
91
55
955
186
505
978
308
902
894
26
203
802
477
784
216
749
279
461
54
725
819
342
987
931
40
628
147
177
186
607
334
138
51
404
106
1000
959
269
806
746
808
464
673
58
777
355
306
399
612
211
610
352
928
572
769
684
646
766
947
954
492
325
191
667
473
564
414
138
389
590
484
261
724
344
136
297
713
45
852
674
994
608
932
535
4
165
645
415
215
825
781
30
356
187
902
603
30
949
307
540
496
125
48
574
935
41
353
658
241
261
432
6
200
50
984
686
962
794
678
66
859
54
486
244
964
561
57
316
262
513
219
960
919
17
326
352
986
329
376
878
747
893
754
438
102
769
7
428
589
209
276
597
80
552
867
86
776
571
3
919
844
649
941
72
920
921
526
67
762
592
707
712
538
177
729
205
562
357
492
326
849
425
71
866
478
104
479
743
632
598
542
472
113
339
218
826
302
820
736
502
818
287
710
602
581
826
783
553
580
542
400
867
431
155
51
777
709
273
660
390
122
28
867
430
831
566
599
58
593
79
686
523
964
669
274
593
493
393
428
820
688
220
642
696
558
496
935
658
695
742
825
736
199
241
762
341
212
960
534
340
469
758
746
84
95
747
720
505
778
902
76
756
597
733
795
93
29
862
808
905
77
902
994
817
42
868
36
802
186
705
724
92
431
172
184
492
278
504
967
353
318
714
111
101
89
394
84
706
528
167
998
867
929
695
586
41
170
283
223
654
926
689
720
938
735
697
671
924
83
366
939
10
112
650
200
411
169
269
597
534
175
266
208
984
712
708
447
481
809
348
520
434
615
912
769
307
562
833
37
181
164
911
228
133
266
365
867
131
454
203
767
155
322
632
894
176
483
504
142
417
504
415
980
77
465
135
917
297
452
512
270
709
96
840
6
328
230
970
306
920
820
100
87
210
614
295
895
479
355
225
489
135
984
570
955
862
994
786
353
777
976
657
781
857
454
192
183
570
288
901
450
229
301
451
94
135
282
25
314
933
200
423
346
967
274
133
788
617
536
112
11
743
666
994
898
392
151
808
824
870
301
44
288
124
231
110
581
140
700
767
647
722
614
156
647
586
64
399
756
165
23
583
417
927
188
110
629
259
14
47
803
199
690
107
433
362
641
326
79
442
186
328
163
557
118
328
685
548
319
643
262
26
998
546
788
651
773
761
662
597
626
755
718
651
680
241
939
715
904
17
580
745
52
304
535
320
622
279
654
91
146
360
277
370
886
125
381
938
891
435
625
999
399
477
52
864
787
913
366
546
629
304
506
977
907
275
717
944
129
626
429
174
905
768
33
211
519
378
90
860
178
159
583
27
915
925
585
693
559
24
104
636
811
284
936
261
207
231
80
558
693
355
608
774
578
549
966
862
901
700
297
154
613
559
801
973
505
692
53
122
563
290
932
255
221
61
79
157
63
262
782
871
631
158
794
426
377
852
904
635
234
474
971
71
946
169
745
871
85
220
59
439
625
854
841
493
56
23
999
137
282
488
408
809
977
30
131
23
617
537
518
788
182
975
12
487
372
995
335
762
234
15
236
649
323
164
101
827
831
373
585
319
680
248
843
406
190
105
94
853
819
671
6
728
399
527
855
258
462
317
455
206
532
112
657
150
718
96
575
957
529
903
778
447
625
532
407
938
116
748
520
901
85
278
39
460
293
900
316
826
334
755
703
43
141
792
498
646
352
321
290
870
989
27
44
126
845
666
228
313
191
897
898
384
706
333
953
290
49
969
691
74
87
574
400
409
637
546
946
319
482
931
253
173
560
54
97
296
475
246
881
709
903
651
905
553
28
13
192
769
901
612
105
436
469
250
840
994
95
294
361
247
571
309
517
666
991
724
872
974
362
325
260
458
497
116
189
730
565
190
999
900
652
870
109
253
813
270
800
558
422
848
690
73
28
254
502
165
580
976
749
224
616
845
711
189
935
489
409
609
366
180
361
584
440
344
533
376
206
200
293
696
937
627
125
924
194
350
558
581
565
987
30
397
409
321
413
213
105
405
518
792
628
741
197
321
767
852
579
24
921
992
569
844
207
628
13
579
585
588
785
242
773
442
656
611
33
780
5
160
273
524
300
592
556
316
806
162
761
330
172
894
90
540
377
547
130
636
23
892
379
241
101
470
517
67
187
477
194
939
470
867
800
373
158
68
487
537
552
905
702
988
560
511
635
496
465
970
266
692
551
455
158
983
558
406
736
407
21
87
571
647
260
518
94
437
148
325
244
966
816
552
789
711
163
839
439
325
336
661
422
811
384
520
893
264
907
83
395
850
870
244
611
562
680
28
817
501
265
56
756
93
178
1
165
714
667
138
779
614
253
563
484
943
610
169
187
928
422
755
130
912
486
939
588
92
515
684
348
237
981
335
922
587
868
4
182
443
377
67
999
635
494
279
498
195
781
731
761
90
961
469
141
761
628
87
898
576
912
31
489
48
31
664
722
788
453
361
926
732
817
43
436
152
856
580
10
290
322
452
197
255
286
893
342
994
291
510
614
718
508
10
419
161
445
263
585
457
783
374
984
202
571
847
601
484
412
173
639
289
194
412
925
689
631
387
750
671
179
161
290
275
811
345
910
961
841
615
2
774
179
545
468
918
392
478
600
809
514
711
918
552
802
698
461
44
519
333
138
588
426
614
6
989
831
183
776
588
955
265
389
581
881
528
283
289
541
263
816
727
48
54
373
958
160
820
900
230
826
707
923
807
572
788
678
772
957
977
588
774
431
854
201
883
735
329
649
225
392
214
833
70
939
785
860
367
301
378
651
532
105
906
319
434
788
936
603
139
90
632
629
937
854
422
301
593
139
753
868
538
279
629
614
961
907
974
140
339
936
986
431
992
147
821
726
651
345
869
264
898
20
882
103
521
40
950
568
531
234
109
352
595
593
955
926
123
472
183
723
98
368
438
499
18
803
165
380
987
342
443
383
77
57
936
591
582
569
148
765
668
346
158
884
222
133
887
18
438
205
738
941
746
651
126
149
269
48
45
246
853
675
286
219
115
913
363
762
638
572
508
650
626
680
311
147
859
703
734
548
758
238
235
286
735
2
711
447
768
301
792
164
317
268
785
123
292
829
229
328
750
767
590
347
424
260
84
488
960
960
17
759
965
17
307
995
575
462
42
225
277
991
30
245
134
540
311
336
418
955
485
255
872
746
572
952
475
123
794
942
649
515
329
908
278
306
633
876
807
807
321
311
922
374
7
517
22
129
706
48
764
982
606
219
434
510
40
402
832
762
509
505
621
280
442
937
815
441
205
399
213
711
530
29
59
601
164
819
193
870
11
689
245
21
475
313
186
257
34
588
687
816
255
646
298
68
663
408
402
839
835
23
285
154
90
930
401
37
968
948
129
15
448
493
862
731
528
8
292
415
339
721
118
15
455
86
231
440
437
673
632
748
923
781
941
84
788
786
390
825
979
53
612
709
653
288
379
701
132
361
666
932
34
944
83
372
640
816
752
802
210
303
174
256
469
116
490
331
941
827
815
704
183
282
2
710
157
558
260
80
232
468
563
807
281
196
672
621
391
365
881
760
531
765
335
542
331
959
845
763
820
231
688
82
560
676
765
368
116
736
856
457
231
179
424
882
374
328
599
918
547
323
475
712
408
350
866
385
743
64
995
703
312
864
364
345
914
318
251
842
292
762
835
986
134
49
964
875
26
467
954
774
645
110
632
699
917
348
25
915
77
592
715
585
845
266
914
429
947
721
722
579
287
884
872
776
931
553
511
665
919
630
195
255
632
1000
350
506
56
473
886
621
852
945
537
868
553
896
748
638
584
484
632
38
25
704
578
509
236
539
600
830
497
587
400
418
805
385
422
5
855
546
896
604
999
844
961
196
699
615
485
708
547
177
155
659
479
489
690
331
178
937
815
434
7
977
759
9
18
303
594
760
727
414
687
81
376
668
922
811
339
431
75
129
181
495
960
88
655
713
499
971
533
719
873
60
796
671
327
403
128
204
968
872
81
133
135
145
528
33
508
211
245
483
173
709
533
648
246
655
826
869
542
132
117
104
974
100
852
389
15
793
697
969
656
78
172
390
668
761
699
627
926
63
72
284
760
390
669
8
11
93
10
510
532
112
419
18
383
288
601
558
842
640
944
186
680
100
212
184
829
31
96
291
713
364
778
209
17
320
256
6
591
511
700
559
543
688
492
803
278
488
950
435
429
359
941
665
130
243
725
750
83
691
403
356
209
854
291
233
442
168
387
277
430
624
852
858
444
245
91
172
837
727
580
464
746
262
67
213
561
245
153
735
876
870
541
221
264
673
431
924
228
690
651
53
111
219
109
970
587
158
57
420
579
486
489
893
113
755
704
651
655
376
713
629
948
93
683
189
214
275
75
678
880
549
463
813
635
882
287
227
737
416
960
879
956
234
791
639
441
774
194
87
116
782
502
437
887
537
515
550
89
588
581
209
92
380
638
173
950
973
106
40
262
509
980
628
193
212
753
399
734
483
32
435
828
92
857
609
946
537
748
912
80
426
452
292
865
109
215
36
727
847
169
442
560
553
53
452
379
471
94
21
835
213
319
184
256
258
957
215
94
335
886
787
260
151
257
747
881
521
534
986
390
331
196
895
752
674
249
48
809
160
527
111
420
655
464
424
103
658
683
372
333
95
231
422
543
580
801
683
124
74
560
934
394
442
505
342
611
632
420
483
572
58
552
899
251
303
133
111
208
445
722
921
253
147
151
882
904
153
543
983
755
971
457
12
752
367
743
505
746
707
79
903
396
364
504
357
665
147
447
589
704
145
925
355
845
501
591
382
845
335
265
46
229
474
418
719
816
683
866
439
42
824
543
490
732
730
842
561
330
612
434
362
417
504
913
993
557
595
836
875
106
288
988
777
672
472
733
319
303
830
373
335
340
938
319
673
105
550
695
302
236
756
732
114
526
588
933
409
605
304
524
878
638
771
149
823
500
299
120
482
575
838
786
570
372
657
740
580
694
494
656
955
941
707
532
977
456
133
966
108
534
195
907
561
813
311
10
65
292
802
299
184
164
298
383
9
947
131
855
754
181
294
827
592
77
359
787
55
44
141
80
454
27
27
366
75
893
607
334
355
913
656
815
850
556
585
177
557
385
171
569
103
837
783
112
345
84
312
655
194
930
730
41
843
962
512
172
139
744
194
302
509
883
936
114
749
214
335
148
961
201
640
23
114
866
177
760
21
220
67
202
998
219
232
165
135
725
318
500
872
805
355
679
542
4
927
872
641
859
164
727
860
41
73
239
308
991
615
159
966
797
464
354
107
381
544
429
327
767
322
690
874
298
280
238
160
228
199
564
674
998
647
523
91
866
564
5
948
303
942
882
181
687
379
94
711
405
723
823
479
415
115
762
562
699
480
427
497
780
921
292
525
701
537
310
235
384
893
13
999
343
748
980
681
63
665
914
325
199
836
959
897
933
760
176
749
452
444
284
107
532
426
864
799
632
240
254
424
739
906
247
333
448
651
525
118
399
344
514
805
251
61
928
552
828
794
849
483
936
554
613
202
621
34
111
673
324
541
395
390
442
144
617
191
341
836
404
637
715
47
754
623
524
31
403
761
411
482
410
123
677
244
396
140
327
114
470
793
711
574
381
767
558
725
855
888
971
839
365
994
79
711
853
385
613
437
1
112
609
328
723
678
820
412
469
167
188
405
805
418
901
49
447
643
139
473
643
770
604
585
307
920
346
518
839
602
152
876
885
643
21
821
639
386
838
81
434
402
378
581
482
817
212
721
647
361
908
297
7
426
165
673
830
735
162
90
249
711
458
945
619
268
228
446
18
550
503
309
832
83
327
70
699
912
443
119
335
572
198
821
955
142
827
911
22
214
209
928
81
345
445
597
281
452
358
938
985
619
101
352
563
48
591
120
53
176
406
518
900
539
129
267
360
614
853
106
507
696
700
107
991
853
768
734
814
138
885
785
448
520
895
75
549
481
979
119
373
778
703
160
742
681
49
578
101
898
686
95
741
455
129
217
748
72
234
56
634
926
701
986
854
244
843
611
662
898
919
158
791
977
756
729
506
385
217
807
451
626
292
35
549
309
265
557
930
346
449
163
486
499
416
51
209
678
565
274
883
386
84
853
67
769
84
77
564
48
735
739
712
462
745
938
926
488
405
576
873
797
726
902
552
298
921
260
336
687
554
720
729
95
264
410
167
784
831
195
747
386
737
775
107
804
78
456
78
746
862
566
878
846
236
965
806
450
198
169
390
447
649
357
917
974
487
942
87
426
546
437
323
984
817
60
913
752
362
919
714
725
719
603
654
982
412
736
620
946
379
358
619
30
744
8
288
763
391
38
925
276
209
995
234
94
723
866
853
308
57
620
594
570
826
741
22
787
602
394
623
65
57
444
378
233
759
820
968
229
846
578
212
731
511
620
571
691
282
216
728
837
596
352
320
796
43
456
864
199
971
258
804
53
843
331
389
667
851
427
795
660
827
803
483
903
382
599
311
773
591
772
312
776
229
191
381
396
739
334
325
39
658
387
871
48
175
717
260
83
886
361
983
599
536
630
102
764
768
977
294
915
447
956
484
590
112
539
447
212
541
15
259
779
175
429
857
260
384
847
239
962
148
710
44
837
772
224
340
540
664
28
459
66
38
337
619
980
651
402
912
543
328
388
934
563
66
720
975
394
995
520
235
343
309
34
954
651
556
807
700
359
383
984
321
606
868
257
222
344
89
931
691
16
479
31
979
474
801
628
726
327
292
342
75
907
644
522
574
293
1
735
488
145
96
5
706
643
953
714
820
482
349
207
257
693
373
904
587
63
941
160
254
39
126
231
19
312
496
406
319
729
436
808
642
763
601
403
729
570
244
486
98
555
124
279
945
442
131
289
960
110
531
803
956
783
974
175
522
774
996
622
74
630
776
841
808
416
356
116
31
862
322
519
285
291
220
445
488
547
617
989
16
651
760
627
334
520
251
233
248
900
19
717
369
608
144
479
662
289
756
432
251
130
325
550
794
447
141
794
812
572
683
761
335
245
861
632
102
588
866
792
330
772
413
16
790
711
746
270
487
445
660
963
769
422
135
991
108
515
939
988
83
478
667
16
360
496
266
346
546
633
33
69
887
282
452
30
656
154
990
973
998
973
173
867
679
777
816
57
920
679
295
302
1
987
141
760
845
823
8
677
128
785
334
872
781
709
562
115
932
317
859
135
417
378
671
323
23
23
291
146
517
25
868
905
340
193
905
782
562
482
375
6
340
84
21
598
636
557
280
389
400
977
533
902
799
232
79
255
273
831
285
469
423
996
879
400
744
431
237
102
242
834
814
541
818
159
585
492
95
639
474
889
78
801
262
88
604
67
404
304
62
17
504
930
280
104
958
610
772
385
390
659
783
866
83
913
687
151
557
151
336
403
807
981
890
86
488
495
529
519
506
51
166
94
70
259
993
884
230
613
193
460
336
257
696
965
655
24
180
892
572
278
835
525
453
25
583
746
215
476
574
727
134
496
735
71
210
384
110
106
658
27
524
389
767
754
805
934
371
149
485
334
680
688
376
733
62
284
897
551
632
756
377
976
199
774
772
508
184
69
468
230
635
550
832
103
341
508
201
263
344
280
856
220
900
562
315
895
977
84
984
619
988
496
779
595
303
135
869
816
474
790
73
115
822
740
772
842
174
65
438
654
112
728
967
17
35
954
96
350
701
228
76
153
710
616
659
99
520
163
188
811
219
866
242
976
240
58
884
518
597
107
985
785
42
971
522
88
729
541
6
493
610
655
405
431
777
355
3
585
421
254
686
511
896
836
990
595
612
150
133
335
145
637
925
336
979
752
106
121
777
635
198
606
919
351
372
44
341
94
230
383
356
336
605
192
258
94
669
776
952
383
710
645
805
430
908
256
157
427
299
807
685
431
942
942
903
512
965
389
602
421
769
943
979
843
199
690
515
766
851
53
407
634
69
71
517
717
349
287
346
566
23
763
480
516
148
57
354
953
428
403
925
450
884
988
28
941
714
950
775
838
471
651
347
323
225
865
919
135
878
729
258
799
158
712
766
622
124
395
305
771
183
556
218
385
745
904
351
1000
623
828
719
539
212
690
708
700
295
524
341
912
40
467
201
915
391
908
40
633
587
119
990
256
994
90
548
341
762
390
189
318
106
146
545
971
143
647
578
383
296
655
57
316
249
236
978
215
326
813
245
838
930
194
66
48
388
505
20
412
150
348
700
93
782
990
147
986
609
61
44
141
184
90
780
344
981
145
46
102
842
28
584
435
732
723
70
555
326
303
891
982
762
37
740
650
688
263
551
318
363
491
279
935
152
246
408
663
233
447
916
939
694
460
577
289
520
526
144
609
118
975
949
301
159
458
888
912
513
490
600
964
960
728
882
196
174
746
23
805
214
557
808
141
374
758
373
934
785
976
995
380
598
239
132
295
940
8
729
125
80
862
887
810
391
246
471
371
793
277
137
612
303
326
552
527
218
988
308
830
241
79
114
535
534
530
399
639
313
372
378
829
75
548
942
514
973
918
526
701
174
707
188
919
244
559
744
916
758
555
713
867
340
810
237
648
306
740
856
71
922
669
261
85
28
236
665
637
483
968
472
262
389
451
289
508
600
787
146
979
333
384
978
119
33
696
67
868
820
210
123
960
921
846
143
948
550
945
11
17
550
181
29
248
970
82
226
291
450
286
344
335
941
347
857
850
787
646
238
822
677
962
959
124
302
327
404
189
807
68
924
408
291
362
798
511
693
196
700
758
341
350
647
902
351
937
30
767
839
35
527
779
593
194
136
897
468
903
570
270
256
679
523
349
197
43
100
343
632
528
831
668
488
808
242
490
456
196
913
531
719
42
324
63
69
19
557
447
59
886
92
567
626
85
534
306
274
440
71
513
444
314
899
988
223
798
599
659
876
894
715
501
6
225
346
714
309
451
629
342
24
495
371
843
149
623
977
39
427
663
3
556
920
909
345
91
697
784
121
808
824
952
750
751
342
358
605
394
386
648
887
369
952
507
37
973
39
718
101
244
101
173
930
308
773
644
16
196
829
831
48
531
203
121
996
316
695
516
620
555
667
399
865
601
643
154
481
919
229
179
565
424
167
490
473
687
689
950
663
58
507
122
615
211
967
909
904
700
873
405
885
846
476
863
219
712
935
262
630
947
346
755
877
23
60
152
929
738
612
713
688
914
36
728
448
871
726
755
458
632
285
946
586
777
17
559
97
549
778
654
974
111
949
936
75
805
166
921
614
912
296
896
141
673
843
631
222
272
605
460
485
70
955
106
566
625
542
607
760
944
560
789
848
966
3
1
663
484
460
243
450
605
96
396
967
360
422
994
565
260
347
861
213
453
783
986
538
601
768
214
461
788
682
662
960
551
619
325
797
605
397
954
810
945
9
165
502
807
536
681
206
369
672
757
83
212
58
149
555
259
547
415
559
340
382
949
165
605
27
928
716
670
44
240
606
827
973
570
223
596
668
26
386
663
881
88
806
520
224
205
725
154
789
62
895
803
813
399
498
44
814
276
432
524
470
844
631
196
408
8
741
252
721
857
503
843
714
363
674
296
888
645
173
760
622
65
415
134
367
484
452
687
401
337
657
978
387
525
148
590
10
771
52
684
969
763
24
587
458
330
119
466
84
922
262
623
820
876
37
117
246
292
501
224
777
875
996
694
32
764
735
920
796
160
32
878
253
616
630
155
301
910
525
462
788
786
55
778
467
237
781
678
296
672
885
446
481
12
374
315
309
723
371
511
396
850
183
841
437
343
625
235
938
373
283
979
680
863
34
410
877
158
133
450
74
631
637
713
830
19
727
840
175
455
780
382
601
502
634
790
105
943
588
41
430
759
104
980
153
495
62
760
764
168
674
596
177
981
857
681
405
376
932
259
279
359
21
788
151
631
383
598
511
761
274
663
308
560
578
951
582
816
603
291
659
794
946
871
816
230
244
273
777
71
993
429
846
889
327
5
786
714
798
483
779
7
770
666
932
647
982
404
829
90
185
99
579
309
578
943
643
731
874
908
494
149
476
209
819
512
200
362
533
563
363
954
357
526
900
938
95
443
342
637
15
290
117
572
949
714
658
959
823
77
228
967
309
519
194
833
246
918
747
533
254
931
673
998
711
819
870
787
880
353
741
731
522
935
452
300
769
982
352
360
364
744
469
523
663
2
139
546
914
474
274
68
441
382
685
531
281
314
184
293
768
439
878
813
267
170
209
242
30
544
780
954
687
992
974
311
415
632
672
480
243
936
126
183
254
402
212
80
677
885
784
902
992
349
880
554
204
99
832
130
388
32
135
227
453
4
108
953
825
213
949
787
417
404
778
795
823
763
670
734
132
626
464
281
146
490
360
929
95
371
911
135
81
266
56
918
641
286
253
433
784
114
614
15
775
532
174
804
787
141
77
332
199
867
518
410
41
457
725
219
519
10
145
775
96
491
252
827
870
311
90
816
296
327
731
742
452
985
322
638
86
976
299
906
706
446
643
935
807
712
737
267
133
500
557
79
591
870
370
889
973
415
124
228
212
763
965
453
258
148
129
30
11
590
548
373
952
232
96
765
256
507
326
984
189
114
963
997
561
224
122
492
828
941
462
74
207
808
20
670
825
82
497
61
493
547
127
481
159
893
93
922
487
61
643
99
294
504
687
59
761
17
653
39
426
636
843
516
12
123
324
335
989
734
663
440
651
271
428
995
170
917
465
637
736
989
374
172
423
527
524
291
869
597
165
770
202
297
916
192
901
697
961
436
429
395
785
46
580
908
181
145
404
882
562
700
493
979
299
840
181
334
958
370
911
688
788
827
607
664
769
195
414
147
859
888
555
407
790
711
402
441
948
316
52
978
402
61
849
716
100
329
317
697
630
40
926
123
703
572
934
569
705
292
347
270
220
664
647
119
459
256
554
57
872
989
527
776
81
675
108
60
423
204
488
597
48
772
887
842
515
157
393
328
271
401
976
846
209
175
240
101
771
777
336
754
674
938
168
251
419
601
641
474
184
379
268
54
558
672
869
124
873
336
437
390
539
311
543
690
886
899
763
596
493
184
704
214
898
667
186
47
870
354
993
698
134
365
414
213
559
649
468
79
342
536
337
228
632
660
988
951
392
259
428
232
22
983
310
911
414
106
866
5
671
500
242
680
661
781
375
673
966
817
470
385
528
175
5
490
501
156
925
666
381
758
365
975
471
315
804
478
155
551
19
927
245
506
601
748
858
107
59
73
929
164
770
284
446
227
74
390
957
49
880
564
709
353
12
345
16
241
369
320
124
859
679
600
858
839
275
41
827
687
845
924
798
459
541
812
146
41
217
355
947
860
768
112
364
89
752
867
485
280
522
479
635
888
54
67
520
315
573
182
238
986
841
692
336
415
654
295
582
408
728
922
80
349
626
821
653
977
800
780
196
192
155
749
814
190
728
144
138
694
258
207
144
95
403
132
189
99
344
86
736
878
344
881
412
741
596
797
637
126
342
998
50
14
826
40
342
955
109
194
920
536
156
742
34
482
894
868
601
593
131
553
989
327
319
672
467
201
152
541
814
119
920
318
873
351
310
988
454
202
131
147
28
290
11
429
149
5
696
231
376
907
991
321
744
777
753
31
521
556
588
4
53
646
74
873
5
908
388
828
189
220
204
767
482
653
597
601
36
158
477
337
99
136
770
759
297
458
165
884
127
266
743
887
784
385
226
846
141
276
889
499
881
262
411
178
312
160
66
213
360
581
699
423
599
877
858
720
958
133
318
493
892
655
986
191
423
127
820
424
421
971
991
15
912
489
963
630
964
36
561
15
964
813
383
429
664
885
103
530
429
658
295
853
512
377
446
21
65
160
707
8
775
715
758
76
704
160
896
522
948
297
68
980
177
299
122
832
10
987
985
230
417
803
823
334
42
143
495
638
416
898
786
670
507
980
939
931
971
73
23
672
749
94
527
982
378
643
341
727
494
242
30
59
513
322
849
580
430
696
479
759
976
762
890
862
144
766
6
498
212
262
133
837
972
316
185
720
797
111
814
161
579
353
485
200
313
262
366
655
294
31
697
111
475
304
922
374
517
642
456
722
460
936
440
484
753
434
203
897
585
392
424
718
56
326
229
765
786
540
487
434
947
872
637
229
557
597
247
540
112
32
347
192
278
671
287
809
407
605
513
646
113
596
175
348
1000
386
950
36
902
756
771
252
683
395
452
514
715
855
326
698
654
748
99
4
8
855
93
10
332
16
925
208
541
514
456
454
996
130
558
955
499
257
797
800
295
198
696
528
476
320
604
899
949
780
531
879
267
378
554
806
166
485
482
856
622
118
555
222
596
948
857
859
407
461
990
269
863
530
305
549
834
386
650
860
978
328
161
522
693
576
92
208
186
309
67
74
763
322
418
206
42
675
464
476
823
420
697
743
776
763
824
374
936
985
543
180
234
93
746
239
943
421
560
539
963
364
262
983
335
982
665
161
228
508
975
157
927
639
511
852
13
112
894
368
15
212
509
789
313
808
79
804
940
969
185
704
266
450
450
19
230
153
852
122
914
165
388
374
759
144
845
659
671
613
981
768
579
207
812
664
760
29
28
565
372
43
775
715
214
894
172
856
677
592
982
745
198
298
769
448
339
796
762
811
742
344
356
232
839
285
886
781
153
167
837
819
434
186
163
452
680
395
739
589
292
516
270
881
226
150
173
549
40
862
44
934
144
903
331
644
398
314
728
328
446
777
663
416
831
844
913
694
946
126
82
154
398
604
155
416
160
471
810
929
209
833
522
273
997
124
733
165
183
349
535
158
564
93
375
633
21
816
265
383
603
81
861
10
576
253
561
350
393
675
468
412
40
485
647
597
152
58
643
532
634
506
587
502
238
814
596
278
715
941
341
147
705
671
821
62
479
84
412
132
18
255
177
137
695
206
321
337
969
192
375
614
133
97
392
922
98
140
997
63
620
42
588
69
176
577
401
841
891
694
393
241
541
440
134
541
678
556
966
983
346
924
704
210
693
9
67
524
15
58
839
214
439
120
485
708
457
848
586
928
35
665
964
22
844
110
866
605
454
85
852
732
997
290
351
102
887
330
979
411
692
880
771
337
121
795
490
373
418
247
15
633
135
815
623
767
407
955
654
337
326
405
673
380
981
930
717
358
41
233
633
397
501
28
871
529
351
999
238
636
500
849
342
920
224
703
415
46
772
886
196
516
550
504
373
473
477
319
855
884
661
106
810
958
578
67
942
747
301
915
996
109
130
896
834
585
204
389
701
297
253
697
534
678
715
311
215
694
820
238
713
222
121
928
951
445
164
997
52
418
629
176
361
464
367
889
235
682
154
432
165
649
912
976
215
360
358
520
115
518
768
495
608
606
597
904
798
541
190
785
334
307
722
301
209
699
804
938
869
198
893
150
80
15
766
265
715
581
841
651
211
99
42
903
958
262
252
340
283
969
126
153
24
627
197
393
896
663
731
365
996
986
786
121
818
416
256
474
105
592
470
371
691
422
96
502
267
960
668
776
662
449
66
611
759
408
643
74
709
825
525
544
419
934
806
941
617
573
965
539
974
854
870
60
865
696
148
32
354
815
536
366
904
905
72
748
119
107
624
686
566
294
315
11
343
397
842
229
587
731
580
334
591
286
605
630
495
997
462
654
833
339
585
505
330
928
760
766
420
476
922
727
965
90
879
801
476
870
260
878
982
750
110
833
332
750
48
590
366
169
868
931
849
744
769
712
500
478
149
263
763
672
35
546
186
664
797
56
393
920
712
565
702
432
353
520
343
792
509
363
115
964
548
45
54
493
702
759
349
845
743
274
321
626
925
285
739
669
859
868
134
356
195
501
65
106
608
52
462
630
602
858
302
442
62
273
843
102
342
50
579
858
879
556
888
654
15
71
66
982
715
380
67
663
360
440
813
465
644
167
387
394
868
283
739
612
625
710
833
190
924
251
290
340
312
120
670
322
432
460
492
971
775
133
990
671
75
931
380
641
916
850
94
615
650
213
61
332
635
244
594
783
149
170
876
819
62
23
332
560
513
127
421
19
372
667
493
489
229
825
401
544
27
738
509
963
210
908
555
452
455
779
632
865
613
890
154
484
497
401
288
28
542
810
792
292
155
368
557
677
798
28
475
446
449
785
421
240
106
882
235
210
436
707
622
180
495
143
758
393
682
755
248
728
754
501
773
761
747
566
416
674
149
508
181
808
486
174
659
616
812
716
165
877
201
634
884
283
491
944
776
933
964
487
12
868
579
889
717
471
651
885
663
478
601
547
334
367
489
475
505
117
588
133
35
654
167
353
120
842
998
470
634
526
815
689
511
981
140
55
359
65
398
843
603
566
240
249
507
470
325
58
364
369
606
305
986
815
331
65
392
190
551
189
237
589
924
175
104
281
1000
410
266
548
952
695
863
76
968
293
785
654
87
754
683
584
320
429
687
106
290
858
356
127
502
243
355
737
536
770
122
287
159
890
538
315
366
540
248
234
823
937
783
482
69
767
124
800
88
541
658
386
527
426
740
972
961
72
263
250
41
846
658
679
301
397
760
417
682
662
844
26
531
277
906
623
972
831
977
367
43
584
846
527
932
44
80
863
976
300
627
771
819
106
616
416
291
493
197
83
87
132
380
131
322
746
865
186
377
628
830
695
219
725
450
557
587
792
698
311
970
861
639
272
331
622
1
99
922
342
252
488
313
658
829
93
984
874
433
306
455
442
493
233
919
921
998
57
791
28
933
1
424
381
411
257
453
120
468
589
913
901
157
778
294
680
268
749
175
290
468
972
940
76
160
714
338
740
668
803
337
113
626
842
814
806
608
223
76
519
107
865
155
364
931
337
66
722
983
907
983
978
164
114
338
9
834
645
436
424
869
667
43
384
849
271
792
285
337
364
940
712
498
143
206
852
577
308
924
988
828
272
734
782
574
934
396
810
992
43
61
212
59
757
530
376
886
806
624
294
283
535
728
607
997
238
46
360
532
365
821
214
826
621
54
160
366
489
818
796
504
424
317
900
827
818
249
297
465
842
872
24
100
456
406
411
281
181
62
944
366
733
25
763
30
235
176
189
838
525
229
947
806
47
192
666
216
872
760
752
242
710
330
4
48
169
812
165
147
79
307
167
736
457
20
975
628
567
501
820
181
560
394
64
313
399
426
132
295
116
260
718
526
973
209
983
876
751
503
534
548
233
989
790
582
924
662
767
301
180
407
385
991
216
680
182
93
934
631
682
989
70
362
763
269
982
570
63
968
265
837
838
895
499
220
715
582
633
578
478
826
912
310
349
33
803
774
230
783
66
670
33
151
969
123
523
289
673
9
73
723
974
322
341
595
907
17
176
845
216
823
973
936
312
971
315
251
150
649
941
760
405
273
48
887
408
321
428
760
625
592
205
197
797
199
789
847
520
542
182
870
707
782
988
425
312
57
281
34
692
779
18
559
245
911
807
135
242
987
668
934
356
41
889
988
16
291
192
689
551
606
213
738
66
325
727
501
155
951
142
726
799
606
539
539
310
920
922
486
726
179
426
131
878
166
925
377
236
88
862
285
727
411
155
569
944
207
716
402
571
812
450
390
361
254
622
807
736
869
104
261
915
13
344
964
497
550
864
713
590
88
701
475
903
551
500
216
710
723
896
240
208
882
411
820
620
495
335
386
311
187
983
836
306
940
252
827
867
485
636
52
200
394
733
567
928
256
781
222
715
612
977
118
300
49
148
806
255
967
858
630
971
30
174
216
737
275
136
619
289
155
429
44
884
545
895
381
755
890
273
13
818
210
31
480
602
653
199
642
712
638
890
896
531
407
592
863
529
976
368
730
265
73
824
70
113
615
68
542
809
698
926
353
152
852
346
720
564
548
279
895
789
522
319
465
678
549
24
769
884
669
176
273
298
762
167
632
220
551
369
26
601
805
567
44
150
529
520
40
757
411
277
411
470
646
122
705
212
535
943
782
531
932
366
563
946
693
206
989
860
762
681
950
590
461
332
873
809
787
814
551
549
303
518
583
5
263
536
495
531
160
577
181
617
819
301
850
122
467
967
45
712
963
443
622
299
536
369
817
214
880
745
635
35
475
262
861
245
321
462
894
374
59
224
499
859
639
119
299
644
251
886
487
445
265
685
830
680
274
771
487
311
179
942
550
210
430
464
515
225
177
131
55
808
80
824
603
934
984
210
223
43
463
186
171
919
512
316
387
725
282
775
835
921
819
239
285
399
234
775
648
997
564
11
400
469
904
771
16
127
9
940
563
607
704
510
764
646
878
657
927
335
782
201
98
17
607
23
666
932
71
799
459
711
806
972
34
49
917
984
492
227
961
620
622
687
946
800
625
500
704
227
945
430
106
147
3
240
173
839
716
70
58
597
757
953
282
695
419
37
336
223
841
672
953
737
43
251
965
424
949
672
589
784
96
314
447
928
215
673
371
231
258
185
300
441
718
320
148
334
288
709
574
657
8
943
996
421
43
679
23
561
153
877
733
605
735
294
848
269
37
858
938
847
773
182
203
824
907
262
294
425
816
365
871
681
393
211
278
171
894
822
809
828
511
817
523
27
713
536
459
752
361
69
394
782
505
179
31
706
531
158
567
51
39
818
158
983
428
234
687
831
652
298
615
158
44
883
382
230
418
187
25
502
867
831
194
183
820
435
717
27
958
652
234
248
524
138
182
863
405
498
598
810
142
48
779
934
657
119
850
274
75
733
639
134
475
693
134
91
810
523
923
457
480
238
698
672
286
634
882
797
547
617
891
557
189
135
365
366
529
425
932
387
282
620
737
942
44
246
3
544
150
758
348
404
319
88
463
506
959
100
3
260
336
977
239
286
96
797
97
122
747
16
688
498
811
111
347
344
322
393
487
923
206
876
289
266
899
138
352
623
211
301
976
786
86
631
630
947
380
749
546
208
194
134
69
24
647
406
580
574
146
872
321
555
391
960
448
938
351
423
971
994
419
710
35
293
772
443
147
452
749
733
562
97
692
1
14
909
286
2
386
623
896
26
694
556
767
612
995
567
279
655
425
354
582
504
592
643
100
488
998
147
337
322
962
109
381
29
787
906
276
310
545
432
188
821
901
932
910
387
878
554
773
60
283
110
495
796
856
468
836
693
792
538
186
971
463
43
366
278
569
116
9
521
913
335
830
119
248
930
8
466
376
814
672
461
799
504
164
128
707
227
380
736
67
260
971
317
863
52
598
164
298
773
773
714
926
751
21
199
201
634
223
582
918
275
74
606
370
20
476
210
820
533
592
188
73
307
990
734
481
779
12
419
760
281
38
227
340
126
800
525
798
811
294
199
135
636
100
760
256
52
120
909
34
714
864
910
793
499
390
132
840
734
921
294
933
496
1000
265
230
125
745
768
290
18
397
936
174
374
910
528
548
808
753
489
974
635
451
702
229
211
650
11
600
921
645
21
573
271
383
772
241
78
929
76
57
941
248
248
253
995
961
946
378
477
422
98
924
760
41
193
923
343
313
759
742
724
405
522
56
232
474
536
80
667
113
597
753
1
460
347
477
540
521
808
391
634
229
509
952
475
581
988
740
547
965
210
7
31
459
362
472
822
421
562
263
870
200
245
711
197
152
385
892
340
433
255
455
908
254
109
276
652
355
66
898
697
471
438
576
617
489
962
963
582
777
680
119
156
935
723
599
210
803
877
797
22
127
603
633
889
722
139
891
465
307
424
239
616
452
817
5
776
237
55
313
690
293
412
28
926
855
794
319
747
360
376
304
764
882
426
393
289
421
182
440
464
616
970
764
45
18
315
413
194
399
393
791
746
963
87
923
204
488
802
165
142
591
405
146
797
341
896
77
355
373
901
333
884
523
675
411
873
749
51
913
86
753
707
243
808
316
202
37
580
805
440
223
206
699
631
738
162
270
355
617
528
751
32
125
219
404
961
77
606
930
95
299
572
557
914
427
679
962
41
900
404
919
772
25
321
168
289
485
716
574
157
499
356
51
622
132
34
96
350
905
91
27
520
977
308
179
574
611
443
386
535
584
226
35
503
454
792
878
864
343
385
558
749
981
655
507
515
306
38
473
362
807
493
420
704
155
366
989
602
409
250
990
377
202
491
653
501
895
448
459
14
627
669
439
999
556
919
763
96
358
396
271
656
241
513
389
879
273
364
493
219
873
353
387
389
654
478
13
566
640
484
894
750
75
397
112
786
670
982
789
276
129
301
162
426
244
866
339
939
689
844
726
167
835
394
949
133
626
496
799
451
539
566
381
857
151
733
159
829
689
928
53
734
209
788
79
52
709
6
284
484
615
905
884
164
497
941
595
778
835
324
90
132
907
175
436
579
607
431
114
771
112
254
940
406
815
803
795
988
910
93
580
129
299
81
216
610
271
272
840
211
527
904
557
329
674
209
249
538
297
338
973
511
36
280
416
225
909
519
743
911
284
223
906
50
461
470
159
550
871
413
86
405
222
283
915
278
791
830
294
914
231
148
962
789
876
809
955
105
572
907
95
120
457
899
493
788
979
116
727
878
654
424
166
31
715
808
622
747
880
564
181
875
885
412
543
18
329
41
700
189
623
547
84
173
525
755
606
304
821
638
148
794
209
935
139
321
321
563
832
312
141
646
764
247
764
787
681
365
588
731
886
330
496
703
582
791
579
529
280
274
229
111
753
518
200
930
336
187
372
66
592
874
502
622
501
445
210
546
358
88
810
604
511
836
357
634
926
999
487
289
295
646
157
191
112
241
455
786
649
579
962
212
295
430
25
199
55
652
460
328
329
116
829
12
249
456
480
165
987
522
917
902
411
441
955
503
422
338
309
558
78
105
948
460
375
96
559
338
153
239
956
148
142
884
128
845
625
621
867
503
504
432
623
763
850
803
298
263
146
824
193
517
524
891
196
281
266
373
640
609
693
448
907
645
397
414
46
699
428
931
120
304
653
41
965
765
26
302
380
164
900
61
474
931
836
698
76
848
593
671
649
786
99
314
96
595
261
648
253
277
387
898
564
993
872
50
693
524
524
485
340
501
589
718
549
108
100
284
211
977
629
79
212
694
930
848
942
661
226
33
457
60
83
932
618
328
941
941
975
853
338
679
950
555
800
980
183
675
186
21
472
322
990
385
856
314
733
455
806
397
127
354
377
209
123
582
420
219
304
624
670
483
347
41
552
220
431
1000
102
120
541
756
229
816
590
345
908
123
150
620
554
507
402
814
955
733
556
23
695
795
642
334
864
41
47
862
239
883
586
615
830
577
234
929
843
365
837
208
655
702
279
828
363
347
606
371
823
899
543
798
878
722
704
773
643
271
535
116
289
558
712
298
785
857
249
934
419
788
86
480
741
577
273
742
787
678
172
317
19
888
277
807
490
770
376
509
123
506
739
264
854
258
982
371
617
743
28
735
796
9
339
951
822
320
204
635
58
677
424
114
951
714
150
544
753
631
12
619
728
396
899
305
890
634
938
456
798
518
268
729
800
502
193
961
472
899
163
58
651
186
842
476
616
378
172
588
470
984
3
588
718
877
298
79
345
847
374
192
463
756
961
861
739
984
42
922
334
278
622
774
95
220
572
702
62
283
642
342
141
816
609
448
970
399
245
816
589
703
479
184
505
354
691
990
150
353
527
89
523
259
35
933
28
721
190
259
109
897
66
23
337
986
28
182
2
395
306
939
106
31
220
218
910
825
178
500
794
883
237
581
281
588
699
495
507
562
714
614
308
658
323
898
325
46
726
362
253
10
785
116
421
314
981
715
351
826
68
166
908
669
657
649
877
301
859
912
573
803
867
321
164
140
90
778
933
304
7
49
615
70
455
565
287
565
453
442
27
950
982
268
697
314
370
199
767
321
61
51
54
197
592
347
595
464
506
755
680
144
844
935
204
306
541
597
124
463
769
466
758
758
808
956
84
876
505
562
989
307
766
374
627
942
808
662
654
954
92
189
144
595
952
745
396
832
951
429
697
729
893
365
320
71
244
862
706
56
443
513
823
755
199
360
130
688
432
68
490
57
921
952
583
144
110
873
99
864
755
226
54
754
255
687
39
498
591
969
163
645
757
542
689
347
460
189
119
790
634
283
567
497
36
913
810
808
740
287
287
696
919
408
709
486
645
653
633
230
802
718
511
215
424
379
306
543
876
660
676
817
354
275
129
686
119
680
313
448
732
666
771
920
288
202
81
551
342
123
300
70
769
379
13
58
267
755
91
440
615
375
472
301
61
843
913
391
412
587
630
336
518
804
237
908
813
441
170
639
511
794
61
723
873
662
135
383
655
433
812
860
534
162
77
748
770
451
120
641
882
935
965
978
396
248
514
524
34
616
502
134
834
668
348
332
774
582
791
756
461
472
495
707
290
753
514
887
303
311
627
886
643
482
67
174
108
197
112
109
816
182
305
989
398
751
849
260
457
572
843
791
252
747
575
562
697
710
76
179
801
718
453
414
625
180
348
340
664
649
992
696
322
104
947
861
837
21
596
131
526
851
846
98
749
725
300
531
329
603
379
570
485
630
478
7
491
164
256
73
415
793
599
489
252
662
621
486
716
624
306
116
746
33
47
469
518
481
381
344
381
436
675
498
673
500
404
855
807
995
898
971
384
657
142
584
322
503
280
316
171
343
971
463
838
994
631
322
926
969
902
707
771
323
414
144
40
364
976
716
461
144
910
699
833
1
115
942
992
940
819
391
793
299
703
292
524
988
216
396
342
543
468
895
499
416
46
942
131
171
442
327
331
737
581
304
96
467
83
617
453
508
512
474
772
914
819
625
821
8
603
692
582
729
608
605
254
81
88
328
123
364
275
65
208
539
224
788
650
970
706
224
855
762
695
428
277
112
187
672
581
402
775
664
614
243
434
54
268
326
430
751
840
717
134
861
957
197
799
919
440
345
21
666
789
330
703
849
100
786
811
371
292
737
136
663
506
265
538
323
423
476
896
922
14
415
82
357
946
726
784
303
455
244
964
107
19
217
50
942
541
498
680
172
114
914
18
629
625
953
147
965
611
100
53
325
797
390
52
318
704
252
297
700
556
279
156
195
464
351
868
655
546
443
850
73
179
529
421
32
90
223
530
843
335
190
268
965
524
900
563
296
850
998
471
589
546
419
924
537
428
391
592
56
93
653
792
906
133
492
13
68
473
759
646
237
569
583
23
380
729
365
682
538
256
526
72
991
498
635
587
421
81
777
888
963
835
456
978
873
929
889
376
96
743
292
51
188
865
645
470
890
402
450
245
148
468
223
371
529
332
797
976
791
193
29
846
826
981
186
723
334
873
94
504
336
474
117
49
97
706
191
242
105
506
396
323
500
372
44
272
754
635
817
219
469
114
301
409
855
437
139
278
841
913
138
550
808
288
864
98
577
114
664
515
680
740
605
932
895
119
497
677
704
743
47
766
631
5
183
60
398
196
779
170
424
192
319
822
524
563
515
461
547
510
563
312
318
547
471
3
478
287
887
112
725
60
922
669
529
318
752
755
578
970
203
788
130
832
69
32
933
375
683
109
584
815
119
67
27
382
467
598
392
307
802
597
542
636
856
109
463
533
874
109
163
83
840
233
805
985
67
789
612
704
123
878
521
808
222
436
621
222
471
377
197
124
852
770
569
994
392
174
9
134
757
830
706
605
417
400
133
122
603
354
206
883
509
867
293
735
596
350
483
328
357
307
524
123
661
259
482
200
589
890
489
840
749
402
916
744
161
324
923
584
192
626
626
296
452
95
39
163
228
331
558
261
824
637
990
295
103
302
36
195
677
495
697
93
394
25
293
478
261
769
641
366
443
400
485
330
770
403
451
88
44
49
621
141
476
107
360
655
795
622
127
362
943
971
869
781
732
791
7
446
574
69
200
169
163
856
796
575
9
610
368
289
835
131
770
161
161
418
953
911
833
544
118
360
886
821
911
227
851
127
28
88
583
220
995
691
734
311
911
276
217
910
629
937
436
222
190
352
551
946
310
387
782
375
398
193
605
99
871
414
686
473
505
27
607
218
189
171
716
214
712
27
957
533
172
450
148
293
152
591
974
706
101
186
916
17
206
538
447
684
660
472
77
221
395
712
255
654
247
183
717
392
60
730
585
642
378
600
422
202
271
868
501
571
285
614
707
848
694
318
905
812
32
404
64
897
346
301
140
549
728
681
509
550
478
787
765
491
674
870
778
503
9
797
273
737
525
845
564
837
245
529
759
854
800
73
444
599
825
804
829
452
314
290
387
16
103
558
244
824
380
59
988
506
432
378
89
439
847
842
823
919
45
315
477
343
314
430
570
676
496
465
61
774
100
853
786
738
870
52
870
533
808
140
499
586
212
11
237
914
550
528
986
618
892
294
854
254
184
995
402
666
855
405
196
385
131
224
146
533
960
887
861
557
610
364
112
741
885
758
578
621
370
199
208
917
272
130
912
529
256
591
811
484
103
506
926
448
187
313
25
581
492
483
329
38
378
620
905
405
354
855
878
704
887
198
40
381
670
362
46
861
829
324
131
847
283
550
236
516
816
376
462
174
460
514
49
723
490
40
416
506
644
478
390
709
193
834
417
529
140
476
416
716
135
814
958
969
655
607
608
870
626
564
596
715
932
611
479
620
212
852
63
774
908
751
690
550
795
548
894
457
124
233
594
617
61
676
204
489
327
671
481
111
816
713
525
961
489
309
30
897
45
492
828
305
680
10
757
723
780
333
140
709
515
243
463
666
120
256
398
658
136
551
960
998
966
392
422
522
919
247
590
37
322
958
175
363
381
319
309
774
230
404
676
397
980
789
356
328
679
605
237
773
777
6
770
541
71
192
902
608
157
622
289
244
59
415
235
449
75
230
384
14
874
117
862
579
522
903
456
459
429
716
391
861
182
132
468
344
825
274
631
27
479
885
524
93
54
53
229
601
471
795
171
485
7
136
138
875
300
694
441
580
110
3
550
616
152
3
900
191
165
161
194
431
945
693
227
434
233
195
142
963
182
829
99
174
650
854
513
342
697
918
379
409
485
36
729
580
237
556
907
891
46
783
210
813
90
109
388
547
251
649
656
585
225
426
164
484
957
59
305
596
637
807
873
636
562
515
819
581
861
729
287
365
486
768
694
253
867
52
823
543
340
320
323
491
780
716
514
942
879
859
128
183
151
143
457
958
71
510
389
413
710
849
1000
991
850
992
669
919
839
998
195
20
406
60
991
985
193
883
285
172
77
843
136
202
194
583
241
348
183
937
736
778
354
273
624
191
382
366
38
311
623
930
285
961
380
782
482
208
229
425
678
107
78
507
505
176
716
235
808
592
488
291
191
462
132
268
69
276
997
885
690
756
580
537
513
896
815
810
522
951
583
666
299
455
691
919
178
177
976
481
358
61
215
628
664
776
280
156
531
532
313
920
869
159
758
664
709
298
738
488
909
716
627
522
736
416
667
637
854
194
110
57
104
743
710
795
454
237
310
698
700
563
939
760
786
1
87
16
130
238
742
37
951
20
422
509
395
649
607
881
224
757
951
372
917
519
155
912
293
506
642
734
217
885
12
411
485
582
816
103
736
290
341
661
133
961
966
11
582
484
127
953
463
809
90
88
223
694
544
107
652
566
484
68
387
761
980
635
957
517
212
444
704
683
566
903
51
21
707
788
838
390
269
900
968
830
202
943
146
773
905
489
294
166
957
606
133
295
641
247
502
491
497
14
206
705
813
252
582
132
291
740
518
692
158
439
347
205
606
826
907
491
778
390
70
498
484
748
202
773
427
657
347
247
43
948
421
357
942
997
318
980
567
923
629
536
917
123
660
849
86
103
466
87
933
837
979
133
409
19
628
254
943
666
506
840
814
489
815
253
629
339
236
570
850
807
910
102
829
759
906
78
960
193
420
840
347
290
462
209
887
963
439
410
750
506
899
129
57
186
652
776
959
742
630
30
414
792
163
75
743
82
764
732
392
391
147
841
427
620
957
861
5
276
610
615
402
139
712
526
248
348
772
484
277
542
285
675
257
967
842
358
741
666
582
547
963
946
202
24
483
342
703
910
171
196
278
289
736
800
14
996
278
745
608
756
289
802
905
313
100
128
879
35
44
101
616
775
490
383
962
442
451
94
787
795
734
141
195
489
400
785
619
297
904
553
455
703
408
421
787
810
644
37
774
592
179
407
517
59
89
80
524
800
871
374
451
755
872
594
439
747
648
505
202
486
433
558
996
316
352
488
752
891
76
935
922
382
383
703
76
552
496
93
847
227
104
514
638
271
719
244
369
161
369
770
663
658
669
606
67
872
996
888
319
208
820
304
200
335
270
129
205
292
632
233
149
311
810
917
798
743
743
373
837
739
379
339
742
949
107
301
679
586
467
163
133
646
546
884
797
933
740
13
187
824
422
387
553
370
672
538
941
428
378
491
643
988
951
713
882
778
369
958
291
515
494
611
640
880
424
930
300
417
139
288
152
68
862
97
982
989
366
612
932
625
905
227
241
752
609
177
341
349
903
802
327
712
8
650
16
192
626
728
25
260
673
165
830
445
336
382
306
789
787
638
49
109
578
466
705
310
154
98
561
394
920
418
949
628
989
419
341
521
85
358
600
879
65
51
530
251
183
818
733
464
526
610
785
815
8
735
928
708
961
462
782
173
593
451
77
766
565
638
30
779
496
704
800
598
471
713
384
271
516
858
461
51
585
499
894
771
790
842
84
355
506
675
899
721
491
556
657
583
359
712
506
411
575
720
626
873
637
705
835
659
287
410
568
468
360
984
698
289
385
763
337
866
158
604
588
340
278
599
186
646
93
87
127
199
559
939
643
748
313
30
376
59
607
660
160
281
857
433
637
390
247
781
798
147
212
870
658
354
654
109
479
33
429
861
365
329
966
240
561
576
911
64
540
971
311
152
767
742
173
134
72
497
208
873
733
738
177
393
675
101
545
973
691
988
75
636
230
693
597
857
65
984
421
720
140
382
777
107
986
62
211
779
333
365
101
346
19
407
312
187
820
179
547
391
587
822
128
624
951
455
789
645
902
89
567
872
757
629
993
2
380
943
661
193
25
268
645
729
855
986
410
402
8
949
619
74
63
69
675
6
897
856
926
588
212
962
220
21
477
528
874
395
621
351
222
314
579
429
575
905
719
465
837
618
247
275
24
694
916
887
642
540
759
277
187
566
114
347
61
213
887
744
830
1000
886
549
72
431
50
713
19
503
576
332
815
392
258
526
522
588
863
713
893
412
973
544
555
367
534
624
489
212
306
412
581
10
502
375
596
656
176
552
127
536
336
163
961
48
335
821
814
701
817
167
576
347
398
495
72
949
290
26
787
914
280
8
231
674
843
767
356
664
670
136
956
283
561
466
73
723
460
528
230
792
400
202
726
963
246
781
340
950
429
104
525
20
320
477
575
124
475
544
318
670
782
846
596
435
424
765
164
661
668
6
677
883
719
509
107
380
251
933
281
457
804
446
230
954
891
596
677
447
551
436
325
661
93
937
551
475
918
948
750
756
664
609
827
959
384
174
318
72
105
665
139
12
911
637
291
28
649
605
679
12
456
356
816
878
571
475
369
322
311
856
383
346
680
929
562
916
780
574
137
980
128
438
735
880
968
480
123
867
934
72
874
44
704
937
808
548
870
519
519
214
859
119
444
259
596
293
664
764
587
537
121
862
197
271
972
558
255
460
577
75
508
19
21
450
83
302
111
862
886
559
528
848
757
255
171
103
304
511
760
77
548
742
455
903
923
794
590
539
689
459
602
153
542
295
912
895
49
97
808
213
553
196
352
766
355
4
950
816
316
874
512
691
494
372
50
570
79
564
174
326
663
724
156
670
858
194
190
126
374
770
976
671
899
80
13
997
608
921
851
452
634
398
62
658
613
19
892
720
274
621
401
693
124
79
365
679
419
330
418
547
39
96
658
717
346
95
474
939
791
218
411
232
865
325
721
441
966
838
640
956
881
298
553
197
912
396
939
391
63
759
393
44
382
958
92
227
263
790
773
500
452
854
674
835
581
868
915
368
264
946
474
231
215
284
268
943
338
307
826
89
499
348
716
63
492
373
178
697
766
67
400
485
624
875
475
940
933
208
374
333
886
81
197
707
956
928
546
597
19
169
132
299
542
403
609
931
854
774
207
731
772
115
928
233
278
6
976
25
523
739
579
742
149
500
581
863
831
803
2
644
959
285
272
208
602
536
981
435
246
533
829
770
298
592
892
508
37
492
453
406
507
571
447
716
828
138
964
846
538
512
374
907
887
364
391
336
428
787
747
644
884
744
285
72
15
62
919
629
129
186
332
533
969
271
282
543
927
5
102
83
921
753
276
305
834
240
17
451
90
1
394
987
817
251
871
945
49
681
111
869
598
895
474
534
530
864
960
373
701
844
267
135
401
621
201
867
971
839
980
739
225
443
800
575
572
922
670
229
33
128
670
82
760
965
713
10
212
77
377
174
926
34
593
802
647
174
781
997
687
390
565
224
522
678
302
779
51
181
519
26
409
791
780
596
913
127
640
77
557
838
137
927
415
740
678
483
511
240
287
984
927
896
927
439
463
686
7
56
676
788
238
681
976
201
739
351
295
584
643
660
984
25
498
79
798
320
431
779
195
477
385
764
773
846
756
338
311
238
370
20
785
862
100
17
700
720
334
286
287
353
187
38
411
458
562
245
531
976
170
353
686
681
145
936
274
184
180
473
353
516
2
771
276
163
555
811
758
471
477
974
880
859
355
639
114
150
717
154
178
658
973
31
428
349
288
21
535
522
932
408
383
988
742
467
502
621
206
530
842
525
80
513
375
769
633
80
842
802
332
851
920
219
272
166
250
485
700
979
44
609
760
388
447
527
974
153
421
110
30
311
712
334
187
663
345
88
947
465
184
552
698
148
337
815
708
236
544
660
178
967
261
42
88
262
828
784
193
835
985
483
855
192
999
418
353
233
841
501
944
929
179
972
219
324
418
560
224
709
690
326
441
355
445
237
924
647
290
811
823
801
792
843
78
594
252
297
274
720
853
958
537
427
184
312
856
74
841
432
418
142
734
370
385
988
741
642
28
350
561
934
286
203
975
77
644
50
243
678
669
195
15
521
684
783
987
999
820
710
484
420
137
542
313
926
583
697
512
203
316
36
79
869
317
876
355
630
268
192
520
888
406
440
563
449
424
984
171
388
512
612
205
933
331
970
834
433
43
64
921
81
525
146
976
103
532
419
829
538
906
977
206
558
885
339
547
545
170
719
727
750
718
926
855
453
146
400
899
949
215
433
765
615
124
68
319
510
246
515
19
702
485
170
52
559
668
513
282
741
237
178
922
530
49
517
551
433
278
824
984
706
242
175
559
542
474
556
601
224
540
508
171
419
868
78
739
187
356
210
63
944
634
94
408
833
635
167
200
457
569
607
363
920
465
198
867
461
238
394
477
762
579
232
292
159
85
527
428
595
721
438
121
123
96
37
592
181
68
26
264
639
852
95
286
852
183
710
885
546
47
323
757
398
179
78
554
594
803
99
565
479
85
360
827
650
375
958
245
503
592
312
783
279
59
472
405
120
650
233
277
516
405
204
642
780
623
328
934
876
50
606
929
15
953
924
155
894
769
982
370
386
547
261
646
762
559
867
454
252
338
866
253
849
854
437
214
806
731
724
113
165
190
828
938
39
887
755
388
59
916
454
315
570
61
329
110
717
765
706
171
501
435
797
908
248
384
635
177
745
175
296
619
407
146
495
196
485
641
295
76
275
825
232
137
696
992
639
574
418
978
324
477
902
605
64
800
356
96
538
844
610
48
436
223
366
871
509
299
69
540
183
244
940
163
231
215
303
123
683
595
434
487
819
905
585
990
571
785
723
107
182
379
779
681
225
586
896
76
439
883
221
105
902
850
310
793
214
117
76
599
274
160
538
917
157
273
330
464
348
101
22
721
321
283
866
709
6
154
475
202
241
930
274
942
658
494
341
556
842
714
340
626
743
207
857
829
532
612
378
142
65
698
513
830
94
134
845
391
211
300
978
641
245
315
894
863
525
374
778
314
963
540
810
406
389
398
274
568
969
343
493
131
793
824
761
582
946
579
422
175
434
725
713
214
385
613
769
271
827
497
496
230
158
413
589
338
184
134
86
360
182
705
269
537
21
859
600
290
792
571
656
516
758
102
690
893
684
145
539
788
780
132
92
305
535
293
410
452
718
831
902
663
681
430
690
719
914
392
352
592
442
858
832
946
330
968
156
770
977
285
984
136
376
525
727
168
771
401
138
106
399
435
802
766
128
670
940
792
826
560
287
864
267
723
580
386
187
872
372
291
902
9
457
265
525
851
213
107
409
580
517
930
911
197
733
633
941
174
462
389
67
630
344
880
115
972
254
718
328
773
639
717
125
695
571
736
438
423
357
360
399
910
162
12
902
694
171
9
155
715
271
655
910
828
97
724
487
177
548
600
44
682
579
859
826
180
128
347
267
155
550
646
894
574
812
347
945
95
15
761
525
768
506
510
860
429
965
950
950
160
367
537
487
556
661
44
424
57
311
17
995
263
610
957
293
971
825
526
732
685
750
483
884
433
249
154
160
82
685
994
809
736
956
191
501
450
983
343
565
230
111
911
570
226
870
588
536
79
922
679
527
633
842
340
748
616
574
816
558
400
23
833
23
702
266
957
696
906
295
40
353
713
19
826
292
998
521
429
645
71
189
667
865
17
396
170
176
453
869
764
320
788
743
901
378
74
579
774
769
601
282
363
825
682
953
814
455
458
202
495
523
179
322
525
502
90
59
829
870
988
383
558
489
529
819
245
902
577
377
197
85
245
89
449
690
780
450
69
233
125
841
719
993
809
122
155
616
801
170
794
539
99
45
555
401
115
904
940
538
387
469
709
499
721
103
574
307
666
95
50
815
111
745
983
95
902
247
267
257
568
167
8
499
675
520
663
448
833
47
746
58
117
358
295
429
486
977
624
914
816
208
867
797
334
943
404
628
553
201
572
46
297
241
981
534
43
516
349
88
594
653
24
237
58
866
253
188
213
912
819
116
577
779
905
815
970
773
874
944
871
592
223
128
653
234
136
999
647
349
889
108
18
705
892
269
667
6
265
553
686
183
687
611
469
649
710
436
168
729
843
996
95
620
512
369
577
798
412
181
968
747
880
140
770
226
642
434
306
103
716
591
951
918
288
171
732
951
115
297
2
544
357
626
961
826
806
808
65
796
108
899
709
916
985
421
137
998
394
23
235
167
255
738
704
126
685
879
136
787
618
489
680
536
343
112
309
93
743
358
178
953
983
366
216
843
948
805
864
525
14
501
846
513
621
121
942
978
672
606
24
171
20
195
7
199
143
962
956
890
676
753
321
765
607
294
157
859
842
29
240
248
272
930
155
636
701
132
856
331
743
741
620
205
293
581
87
42
306
959
805
768
361
751
757
646
957
247
450
449
576
221
424
14
251
636
543
333
857
258
977
509
319
178
578
520
722
931
283
679
619
451
208
109
902
584
385
336
267
254
435
308
651
666
35
793
14
127
741
71
485
151
572
330
221
543
785
955
276
35
426
172
394
899
586
124
944
658
753
552
123
659
308
658
164
820
982
638
508
264
72
613
837
956
290
385
393
675
411
500
243
827
273
621
6
670
287
97
113
500
331
893
820
232
790
798
62
569
545
904
731
679
939
891
88
886
55
569
875
363
213
469
105
274
213
5
678
78
705
884
713
965
35
990
951
522
59
920
649
742
713
715
139
445
568
122
652
46
214
854
28
321
84
947
675
512
227
272
516
682
642
660
660
679
993
915
262
467
927
167
337
878
762
680
311
993
990
188
751
512
931
319
7
421
858
463
470
231
97
680
797
829
923
917
684
743
566
827
749
247
262
944
657
233
91
855
857
282
289
251
231
648
835
433
484
179
360
934
344
322
858
389
506
445
257
709
765
685
622
882
4
392
670
473
507
49
303
963
581
219
82
631
630
692
912
577
623
481
707
843
368
752
516
301
117
83
359
148
827
655
54
383
819
140
418
608
663
58
540
858
889
324
268
923
493
571
652
825
304
565
861
678
960
714
995
151
636
215
305
157
682
878
549
182
28
41
613
891
530
255
66
240
456
656
7
373
946
983
445
973
594
256
430
613
264
4
355
847
882
774
154
461
221
357
612
339
612
813
629
863
146
902
98
624
131
974
970
498
506
721
228
817
472
446
722
446
778
668
242
62
26
953
806
835
855
816
832
17
44
451
781
623
443
796
890
550
101
163
818
957
153
246
377
680
805
821
43
781
239
881
602
73
375
243
122
605
210
909
409
643
889
584
254
638
745
779
67
56
303
896
950
677
643
512
854
191
566
851
251
462
749
93
634
855
409
732
283
392
67
663
919
307
649
76
280
804
525
502
207
389
84
560
485
222
82
45
604
315
315
13
558
261
156
410
2
419
70
646
408
106
559
181
334
417
869
888
565
751
413
437
673
972
112
419
506
415
737
265
198
628
916
277
581
810
682
236
292
405
292
143
417
201
606
593
299
601
478
184
961
409
446
142
699
620
535
38
549
210
106
62
729
849
515
837
644
787
808
157
717
919
792
360
145
165
613
257
645
862
393
683
402
811
577
768
721
5
398
946
340
817
237
620
962
616
760
93
330
347
397
84
80
628
106
702
706
270
412
203
164
979
364
271
70
158
428
827
958
374
298
562
784
71
292
495
722
513
280
879
281
812
80
635
977
100
872
390
107
570
450
842
628
164
76
854
832
124
294
206
249
512
300
357
208
54
368
938
545
353
401
948
252
602
881
776
261
392
369
254
116
144
238
910
61
960
494
464
907
422
400
422
135
961
93
279
847
969
560
471
570
702
127
703
415
419
101
707
743
896
302
775
371
600
38
670
256
401
466
619
802
604
404
143
190
483
406
419
583
262
282
711
690
658
361
177
902
686
445
2
155
423
837
381
746
814
808
363
549
409
565
926
482
130
154
945
604
775
666
927
936
992
835
447
940
882
375
266
617
225
403
995
357
550
892
991
967
932
392
908
839
450
196
938
799
673
690
329
21
440
911
189
305
454
219
965
148
874
540
208
282
198
881
417
793
207
664
807
475
618
967
850
857
440
939
264
170
677
501
979
614
198
951
236
451
53
207
621
828
499
294
318
740
287
78
285
201
520
427
362
539
548
731
563
687
892
147
919
502
172
30
279
426
352
776
422
242
422
659
668
328
773
371
966
505
131
617
41
572
901
556
808
623
157
846
699
537
327
799
936
370
827
428
74
945
507
221
336
642
799
88
333
222
882
268
811
570
10
929
935
354
388
822
465
997
638
631
889
761
919
595
220
442
265
559
682
947
534
877
976
945
646
481
137
959
467
975
281
448
778
875
669
916
238
925
612
607
190
8
691
125
406
308
655
159
620
254
158
567
784
250
166
271
519
363
477
755
150
946
305
487
51
633
278
248
765
280
534
180
511
186
793
333
238
377
460
656
346
818
805
643
557
171
222
301
196
118
443
742
311
321
293
409
638
824
275
928
432
53
811
597
549
613
460
792
984
763
797
947
279
784
938
292
816
463
877
268
45
552
902
360
119
403
372
120
228
894
32
322
194
447
868
502
497
160
239
639
982
40
624
344
945
918
898
747
154
844
444
195
646
715
816
7
808
378
862
761
322
740
421
48
85
240
764
171
40
570
904
5
245
752
807
138
119
471
310
435
8
97
240
385
665
964
822
929
207
292
9
4
423
597
702
680
61
568
238
620
855
145
658
539
612
2
469
524
634
690
603
318
125
473
250
161
973
283
54
372
518
272
968
612
463
160
660
710
92
964
4
974
353
693
587
179
153
310
603
780
446
566
765
468
282
356
51
854
22
851
221
969
342
3
33
234
492
969
991
749
501
642
292
79
681
718
353
169
823
704
927
692
935
845
360
904
245
176
976
42
465
857
928
395
963
446
121
459
614
38
943
995
552
37
644
370
965
861
150
335
364
75
987
229
471
277
792
675
991
566
538
41
27
569
258
255
868
818
500
122
168
733
202
931
299
584
960
979
811
596
902
601
456
770
518
473
222
128
812
191
168
776
94
643
629
651
588
234
534
811
770
846
164
903
29
291
668
762
786
103
48
168
713
760
126
445
47
795
212
927
288
810
818
333
769
105
760
730
674
490
450
69
100
855
968
262
648
263
803
374
863
621
729
792
568
497
396
162
751
281
632
476
212
665
335
951
618
390
98
214
969
301
397
907
703
17
237
14
885
949
655
87
920
951
374
86
284
656
190
735
564
409
400
106
963
753
687
697
53
654
381
359
200
959
979
291
572
151
101
739
54
72
825
216
718
170
473
773
706
765
485
333
532
975
970
174
826
265
879
394
508
986
532
588
197
919
397
55
458
575
602
517
97
935
651
763
341
379
225
616
164
802
715
328
420
271
389
830
746
167
668
290
354
398
30
55
962
188
483
380
103
912
373
311
968
629
552
697
744
312
542
616
166
218
424
391
569
513
612
10
347
39
533
965
77
64
531
464
999
978
969
516
725
138
577
599
274
491
616
499
546
203
292
448
353
207
172
841
2
513
57
698
190
151
884
492
689
809
741
138
886
597
28
753
742
884
91
248
163
810
446
941
70
903
800
160
699
226
683
246
781
610
417
431
292
803
534
852
401
848
538
335
102
593
40
647
758
993
939
649
457
789
244
122
643
239
590
113
958
768
254
271
612
848
717
48
882
901
413
589
541
776
342
815
105
156
629
496
797
313
975
94
46
749
156
761
136
632
385
170
367
378
403
774
702
395
627
701
416
796
533
726
721
806
742
658
648
757
936
57
777
756
823
408
521
589
865
727
760
962
356
144
597
926
778
158
867
231
19
108
844
362
202
924
260
260
363
330
366
46
151
527
249
597
57
828
63
494
424
826
107
677
615
487
948
131
306
967
886
65
778
58
114
334
494
895
850
307
991
3
592
998
289
762
375
25
638
132
584
892
355
838
448
163
963
230
806
323
596
738
111
517
860
162
943
887
964
60
474
953
944
122
437
309
221
751
157
947
595
19
107
664
985
804
273
356
891
184
339
473
598
95
318
543
604
866
826
470
610
462
579
278
693
218
114
40
946
342
924
39
964
741
413
599
39
562
89
605
820
372
447
456
498
102
820
111
289
697
298
892
94
929
492
930
739
982
511
511
128
214
60
43
971
981
921
106
481
530
459
788
606
728
965
575
878
858
816
132
944
775
449
648
202
482
87
860
726
578
22
451
869
99
984
329
465
983
831
168
601
747
301
677
281
38
111
333
117
349
5
630
411
565
683
512
566
996
710
311
824
209
614
390
737
261
387
687
604
931
507
551
362
154
428
550
52
132
186
450
44
544
437
175
649
879
737
360
625
115
342
62
341
941
160
306
47
212
705
384
791
583
120
265
986
137
345
55
550
324
527
134
840
745
623
556
298
136
935
259
846
409
21
912
602
765
9
521
387
692
861
462
855
144
531
269
796
303
290
327
324
109
703
606
196
185
888
709
485
865
710
799
182
787
510
421
68
913
814
842
398
890
236
295
487
403
432
429
309
528
531
351
590
103
968
863
711
876
979
894
889
457
360
676
795
159
216
902
709
432
605
965
802
918
909
386
928
109
731
726
572
233
908
576
228
235
960
705
547
712
925
120
44
176
62
523
20
343
360
657
627
994
117
111
679
534
131
421
898
601
191
718
759
925
626
778
27
190
654
3
336
810
137
826
903
406
139
995
578
233
395
465
924
969
363
930
998
117
64
570
784
688
319
242
7
986
301
176
186
100
558
219
326
114
767
802
646
165
565
102
44
203
674
326
829
739
459
640
390
890
755
41
74
780
501
375
510
700
255
798
56
489
164
178
792
245
319
371
740
850
735
792
564
773
371
447
67
267
700
426
185
393
373
876
41
267
392
643
856
549
57
89
142
464
653
85
685
593
497
811
248
250
474
782
819
519
647
481
485
914
886
84
681
206
688
11
679
150
553
478
621
743
316
784
347
157
837
802
535
673
319
37
389
798
300
644
241
233
74
19
916
507
896
919
678
926
804
569
885
918
338
923
210
9
730
13
471
418
368
362
605
719
470
523
349
75
936
136
480
334
299
326
311
654
514
886
256
387
137
419
895
683
31
596
946
624
376
674
954
757
181
743
298
533
906
481
336
563
77
785
116
531
963
333
104
314
503
990
801
136
651
975
971
552
237
893
413
706
255
40
881
535
198
888
804
587
717
289
896
657
396
722
632
733
876
873
836
615
932
929
284
154
335
246
331
267
516
450
41
746
85
627
219
411
277
973
8
366
229
163
467
913
813
762
622
210
428
174
29
916
748
991
791
832
940
139
336
76
273
846
958
394
349
310
324
29
414
932
641
974
358
90
192
554
2
741
264
4
262
595
306
132
605
197
301
195
954
14
924
867
896
565
68
501
581
681
678
963
190
226
685
974
223
1
977
227
158
93
28
591
195
620
763
296
939
700
710
374
837
480
297
548
139
204
400
396
918
670
897
911
472
859
23
494
999
198
800
10
9
690
649
791
382
89
592
378
288
427
117
330
505
450
852
676
768
929
699
429
891
406
968
132
368
655
348
573
20
32
274
658
78
920
339
930
737
696
953
352
874
977
345
827
54
444
367
336
440
184
262
756
467
331
753
144
419
776
312
757
144
828
452
120
193
22
254
251
606
724
95
516
424
767
725
657
750
139
435
273
848
647
30
372
345
564
733
665
56
491
928
952
350
63
888
282
255
668
209
576
678
33
730
54
246
423
119
115
253
168
151
271
103
444
935
401
500
518
5
802
296
196
229
520
602
794
950
981
248
798
645
213
160
304
653
859
556
432
203
717
104
179
43
783
376
598
480
630
975
762
531
498
696
691
167
629
950
331
375
255
499
700
842
124
196
523
616
597
49
33
994
181
453
129
260
808
782
747
591
296
930
135
632
223
548
691
765
850
889
167
80
851
197
345
391
330
530
722
448
24
730
362
625
644
43
840
3
26
521
93
700
120
929
112
739
912
336
604
527
6
967
156
223
975
151
972
902
575
434
971
428
556
984
853
379
141
439
801
214
174
263
615
88
597
487
415
386
166
430
548
82
273
637
934
511
303
801
916
976
237
868
614
909
87
904
876
962
325
511
219
505
679
789
527
479
528
867
882
461
686
38
621
97
526
369
601
760
232
487
695
417
489
906
759
187
50
866
638
36
443
166
318
349
535
873
983
874
810
120
577
698
971
410
426
421
938
1
646
706
385
957
340
699
709
399
18
623
743
352
327
993
556
326
895
507
433
428
40
650
469
379
157
431
256
281
833
498
829
350
125
61
367
131
983
684
143
899
497
20
889
28
507
987
17
164
120
721
143
884
860
894
947
406
485
584
708
578
11
10
765
63
84
826
770
114
682
584
815
825
31
239
459
69
763
208
194
582
588
643
142
835
172
997
641
382
495
924
868
367
688
790
908
731
241
849
427
456
514
180
688
883
679
73
736
732
598
417
439
946
619
18
497
919
979
496
683
954
303
552
341
53
677
969
609
239
909
636
918
670
899
285
75
735
461
371
634
182
578
716
319
63
812
126
989
961
516
161
982
529
578
657
740
832
645
380
265
375
173
408
324
989
188
463
302
917
345
409
262
570
728
585
83
416
848
460
498
359
458
340
508
816
149
508
879
387
134
214
411
687
318
413
232
385
494
992
617
8
488
511
749
353
174
152
388
643
535
661
633
721
379
546
828
619
874
701
213
846
832
922
70
586
507
485
989
824
777
82
350
53
728
921
301
874
44
726
276
271
121
706
607
752
457
300
891
886
754
661
534
972
92
368
355
709
705
852
208
786
176
338
330
223
317
928
529
184
610
578
391
694
833
342
372
394
434
224
66
998
293
382
910
623
704
232
314
519
857
197
526
22
589
480
538
744
918
235
8
120
685
962
458
410
688
766
996
213
828
375
427
314
118
430
878
446
914
663
28
164
313
969
601
570
512
306
25
60
837
582
99
627
266
398
5
495
543
566
296
36
381
843
291
968
839
189
889
829
696
186
965
584
510
940
374
18
117
905
70
252
516
617
14
335
432
201
336
340
394
901
712
837
778
588
1
907
165
353
997
100
271
850
571
867
892
14
571
13
588
132
590
710
272
22
135
386
491
256
755
632
928
937
444
879
597
534
965
191
269
681
804
982
880
633
127
854
92
289
458
30
701
312
804
49
288
880
581
505
371
51
40
583
328
531
827
100
522
903
940
535
401
988
650
285
801
99
839
999
355
368
848
377
660
215
142
281
847
299
25
328
269
948
167
412
323
169
961
746
799
814
570
100
750
395
58
865
622
297
195
471
218
912
350
464
180
268
408
229
825
287
762
978
544
721
281
79
489
143
595
267
941
120
171
541
566
824
424
816
762
914
555
515
433
457
882
313
816
21
189
203
432
869
26
886
865
325
924
263
801
996
253
449
694
497
767
299
514
747
961
927
238
684
10
52
150
470
419
320
551
864
518
911
196
462
556
871
606
931
506
596
435
196
614
802
236
789
376
146
297
183
890
379
692
33
469
545
335
657
3
270
625
991
783
634
208
499
416
463
490
200
26
143
820
78
144
200
640
595
549
975
514
944
883
694
652
989
17
95
455
526
994
598
623
618
891
644
606
294
60
479
485
814
52
135
941
26
974
767
584
113
150
852
778
131
757
938
62
334
509
806
399
196
576
902
802
446
677
869
318
174
652
846
951
254
940
947
887
906
31
16
301
227
399
300
81
885
415
170
47
4
420
385
658
453
515
705
678
379
564
818
51
842
632
679
33
826
309
334
656
754
418
235
797
854
154
853
402
381
35
142
936
746
944
4
751
64
157
469
856
491
480
743
528
5
530
604
310
944
763
910
208
708
43
125
302
527
449
840
579
73
521
249
529
20
341
401
902
335
692
859
119
238
11
66
977
244
41
336
687
652
868
879
762
193
499
690
979
242
277
437
420
198
184
729
621
151
537
241
964
919
650
251
752
927
817
39
876
133
335
500
542
407
372
18
351
355
194
372
885
545
630
958
65
516
697
115
774
735
972
721
600
878
661
499
134
431
293
672
933
618
628
709
121
108
682
906
624
750
732
440
176
877
784
397
604
311
275
934
332
291
698
425
708
992
460
947
565
153
480
894
334
634
1
892
186
369
586
408
895
271
542
627
567
160
834
225
940
636
126
655
695
164
732
432
96
316
140
690
350
244
225
977
228
978
461
861
907
53
224
407
450
339
756
19
39
641
482
432
901
812
141
893
839
677
647
671
412
993
656
87
134
71
590
203
464
430
266
144
8
47
317
782
92
334
343
190
796
980
69
822
608
174
835
859
87
538
428
529
318
313
584
525
486
925
521
785
588
128
488
59
165
291
637
642
948
281
485
593
476
597
867
557
87
68
541
54
129
491
565
709
917
20
121
433
725
997
748
31
73
189
831
33
651
58
731
806
519
785
209
195
607
253
610
949
134
98
851
229
293
218
406
330
432
874
343
539
13
584
957
770
814
579
698
185
227
480
896
538
981
213
267
368
313
901
286
507
427
624
310
578
63
496
752
292
132
461
710
390
679
563
194
13
866
237
511
147
294
327
401
521
738
134
264
21
276
770
165
228
895
507
357
189
853
596
709
876
507
250
818
109
809
103
528
880
433
448
275
141
285
36
962
99
222
996
39
995
943
708
93
145
327
110
517
747
27
939
783
602
694
905
408
410
75
628
963
763
109
462
397
302
310
990
465
747
949
66
298
695
981
773
22
115
242
540
846
482
166
1
234
338
160
843
616
861
817
39
598
748
362
368
754
255
54
42
938
813
814
615
486
979
989
73
801
868
996
149
621
372
593
461
666
653
620
43
484
397
381
177
40
281
279
218
8
941
919
300
780
490
649
348
926
298
453
860
210
299
153
279
283
587
142
609
886
426
221
111
709
81
696
536
63
92
554
394
176
688
424
151
226
56
22
94
193
81
956
864
245
11
95
260
629
197
175
999
994
701
965
580
650
117
114
234
519
358
726
236
448
542
847
538
80
348
287
735
745
373
636
893
656
113
890
657
256
116
858
349
738
794
386
479
585
114
484
224
502
126
666
908
250
838
120
493
682
499
890
395
804
726
891
664
731
258
401
767
251
307
680
696
107
648
478
137
212
599
495
765
757
982
323
525
565
27
979
913
134
917
919
873
486
332
341
902
336
941
655
366
134
227
220
803
184
444
871
242
410
777
249
131
339
966
706
523
500
750
354
586
774
515
902
328
178
413
35
678
197
43
456
704
54
532
172
805
243
450
258
156
235
547
104
584
529
745
127
282
103
163
19
473
898
197
866
212
173
858
906
995
438
621
247
758
225
25
612
120
96
136
73
470
182
761
749
586
991
32
692
996
430
517
484
234
737
585
631
456
545
113
483
639
368
957
228
723
623
857
522
596
696
522
413
814
688
741
540
264
187
250
34
798
863
974
143
8
676
2
369
905
281
315
846
260
514
851
717
759
927
974
558
919
982
792
222
917
886
39
84
127
34
458
311
129
676
691
669
440
730
704
401
1
661
684
836
717
912
160
767
995
713
823
69
262
976
144
711
920
610
449
72
34
818
515
435
362
855
142
658
960
270
360
248
720
888
155
514
671
638
599
26
768
893
297
372
194
139
902
41
927
652
271
358
406
352
501
571
674
162
690
527
310
992
786
939
753
967
271
864
422
597
780
858
124
408
938
271
826
959
868
242
826
262
825
299
694
393
382
870
169
456
417
656
324
144
923
555
943
835
319
756
1
559
507
700
566
176
387
823
222
811
931
397
338
910
211
330
95
295
938
461
245
258
197
789
956
998
72
36
970
743
717
154
511
445
323
681
47
276
81
365
46
47
924
68
334
283
325
804
518
930
921
689
225
568
22
673
559
574
373
231
285
881
650
569
719
863
297
486
223
397
210
782
470
349
726
965
390
547
116
72
796
838
481
605
220
934
576
958
410
614
536
199
292
264
964
772
895
892
78
466
943
525
910
25
322
324
626
885
599
848
105
815
158
647
836
705
256
770
60
340
493
807
827
763
788
858
295
752
903
124
178
8
4
892
715
884
497
358
922
876
631
65
145
627
941
732
182
919
646
919
269
961
523
257
293
309
642
960
464
919
544
942
524
146
140
160
263
11
602
710
780
676
39
821
433
853
556
122
874
850
610
478
917
46
227
216
246
841
732
829
111
569
144
63
250
426
275
872
237
185
867
863
344
379
823
732
774
663
704
667
834
266
150
857
210
809
873
48
999
278
132
565
584
584
397
321
738
19
18
139
572
835
290
122
88
370
238
916
92
395
843
444
229
834
169
101
673
590
45
459
838
11
542
242
75
399
452
704
914
88
409
582
903
812
48
460
422
495
850
744
196
130
903
421
382
114
843
458
225
254
674
968
264
702
974
282
9
203
261
639
795
401
918
528
265
408
147
623
553
493
853
849
787
530
251
370
948
797
247
194
504
837
316
632
466
336
691
90
684
399
162
529
277
192
692
450
42
626
325
473
588
672
621
378
729
917
908
24
329
192
224
663
443
440
680
17
56
522
383
932
154
313
725
540
183
281
49
660
170
702
206
587
891
831
522
497
552
610
16
488
341
969
505
619
93
376
404
426
52
47
609
64
369
152
841
635
556
434
229
252
586
874
701
109
689
444
977
149
223
506
550
906
139
145
88
792
700
565
90
368
106
677
480
115
564
212
62
863
203
980
390
290
927
405
668
847
931
81
769
53
155
912
288
364
380
326
853
697
31
178
573
285
989
206
590
711
894
332
195
891
487
673
853
259
481
849
806
620
390
87
601
967
467
631
22
59
647
193
436
707
946
534
457
524
317
761
205
362
325
610
136
796
375
807
601
750
388
576
817
858
23
510
909
183
504
291
31
704
113
243
353
367
227
246
891
560
539
353
696
588
769
353
971
94
728
581
27
403
91
542
803
451
579
273
919
292
593
933
788
193
464
781
373
963
650
615
595
473
165
679
220
297
470
290
308
32
849
712
927
105
30
304
922
848
449
609
958
180
58
838
935
509
65
155
134
340
312
278
140
667
247
172
663
421
649
29
872
123
271
302
753
426
603
299
291
402
778
728
11
290
482
616
491
889
382
245
22
967
206
99
479
847
112
305
814
788
382
763
344
928
808
948
104
313
356
360
142
976
821
753
534
123
224
534
321
230
647
207
290
257
46
319
720
242
342
140
809
259
746
231
452
98
842
108
479
37
438
483
218
784
546
888
511
993
175
103
854
757
782
459
427
133
343
951
159
76
8
135
810
104
201
922
317
656
873
720
267
377
301
856
436
492
494
852
767
33
774
909
45
927
561
919
788
846
727
421
556
297
147
188
941
633
233
538
33
536
310
56
1
72
650
122
782
570
883
553
522
450
272
695
592
595
38
496
459
41
527
469
663
546
497
946
474
74
235
700
518
365
514
847
853
504
643
902
468
887
968
13
206
28
242
696
405
422
207
832
380
76
592
293
3
380
480
352
259
708
650
902
602
505
94
641
376
647
340
569
336
559
643
548
514
885
344
222
316
539
926
284
721
588
369
943
901
751
427
451
416
243
359
726
362
334
450
418
510
258
405
262
510
52
298
192
721
478
336
490
50
456
87
172
500
313
226
966
755
725
66
437
262
446
312
296
723
784
568
456
821
317
55
161
300
526
932
376
235
856
338
705
438
225
29
261
458
150
31
304
573
457
251
957
501
24
426
984
291
128
61
444
4
722
263
6
354
437
498
852
413
166
342
399
884
849
215
505
179
481
971
440
747
413
941
664
656
753
713
373
444
14
468
847
625
229
202
869
62
382
521
873
616
408
980
7
79
944
143
32
462
735
632
789
79
849
437
17
755
858
674
462
680
756
791
518
122
647
951
173
212
202
946
618
520
439
531
706
970
650
521
389
945
210
325
347
66
527
858
335
261
643
933
125
198
861
297
567
51
279
445
962
889
328
249
868
676
229
187
494
974
794
683
25
975
138
657
588
420
695
875
93
266
371
128
817
748
826
555
470
581
615
671
422
629
379
793
935
320
366
565
524
442
298
258
35
732
1
357
605
853
306
692
482
914
392
46
535
714
166
733
437
244
272
121
655
826
12
431
836
431
810
468
688
378
842
90
146
599
102
357
510
104
498
279
204
96
527
10
25
460
703
143
24
932
190
492
692
382
21
368
723
42
898
901
449
404
777
406
961
787
378
107
74
213
307
849
529
378
693
521
238
920
104
34
998
141
72
638
771
611
685
261
557
798
599
332
924
975
279
236
440
202
470
161
630
57
653
596
590
187
786
143
40
436
663
634
452
470
78
765
853
393
366
583
35
767
18
204
219
845
771
82
648
573
40
994
212
119
554
671
943
247
812
638
170
852
341
445
168
369
764
887
395
575
359
222
769
501
153
697
8
782
573
834
740
820
341
82
953
525
605
414
363
263
261
358
448
854
49
791
233
135
280
521
369
630
989
343
710
341
900
744
369
536
822
943
199
679
28
224
732
318
700
840
897
853
746
882
233
559
188
604
901
158
806
644
532
552
961
490
827
980
304
291
869
54
628
837
329
570
232
119
66
985
4
364
166
739
874
901
128
358
430
475
708
422
251
885
950
16
958
947
32
273
68
810
891
944
486
594
991
724
872
191
258
238
179
788
918
172
381
360
944
8
760
946
839
246
190
981
762
780
490
341
358
295
306
62
221
193
939
854
594
550
226
666
792
43
858
529
828
627
509
840
903
967
756
52
737
287
57
475
207
335
992
500
385
649
548
111
883
133
487
994
335
263
748
892
980
895
366
102
550
729
641
200
97
993
130
115
973
783
591
668
893
814
173
558
918
31
995
584
216
654
750
546
684
751
134
920
854
350
696
851
20
443
174
466
198
977
511
792
354
52
525
814
315
139
616
314
911
32
25
186
212
672
877
863
128
697
641
325
314
799
732
930
6
507
653
962
414
39
486
364
294
239
531
579
625
428
622
835
647
207
946
462
97
847
208
41
161
956
651
284
523
500
720
534
913
113
152
706
698
867
877
283
423
312
408
733
659
650
317
317
164
374
3
808
167
543
188
85
516
173
494
899
553
857
997
385
829
849
898
41
205
309
287
965
454
310
530
104
199
523
991
186
928
182
629
739
863
50
523
333
663
655
509
774
280
944
960
455
832
878
160
527
2
211
881
833
297
840
534
777
500
673
703
459
765
916
956
392
115
45
593
119
543
495
367
840
529
285
291
955
541
371
368
75
23
510
421
613
421
824
265
547
57
31
128
348
37
559
563
301
917
310
117
696
558
943
635
428
469
887
433
563
914
199
505
340
280
577
557
876
470
495
968
615
626
495
655
118
65
100
488
399
161
700
58
401
812
28
594
597
262
510
309
908
306
860
724
351
319
801
359
834
130
647
726
540
496
825
737
192
809
94
475
287
725
353
789
81
598
432
308
707
955
203
300
295
764
669
239
407
930
438
103
382
239
129
162
441
9
799
488
508
793
472
487
743
799
161
500
754
139
608
939
247
625
77
465
696
585
187
449
209
102
696
311
392
150
592
370
445
328
620
532
124
284
599
455
489
473
485
865
531
576
155
316
908
778
336
18
974
110
912
319
251
233
78
33
259
352
488
117
385
461
563
102
79
717
588
284
199
570
118
945
789
209
440
751
906
992
556
50
366
787
209
9
453
589
973
384
692
329
319
279
758
531
884
390
495
371
854
111
764
724
505
357
582
985
471
108
563
813
210
502
217
461
496
756
56
10
495
335
761
675
127
537
916
293
970
142
933
299
925
805
807
721
203
680
318
236
15
120
127
901
449
389
960
933
678
4
754
869
577
739
189
458
248
318
523
910
744
512
5
501
504
728
439
73
605
118
671
672
975
956
851
423
130
275
346
760
833
780
81
279
310
629
895
837
306
985
250
967
316
155
223
352
778
732
279
858
897
413
755
614
8
37
314
704
94
995
927
306
146
328
54
553
533
744
792
923
462
286
730
750
888
578
110
281
975
423
713
800
281
1
541
492
400
106
1
116
693
629
788
45
91
988
57
909
674
322
827
895
906
38
754
756
909
741
559
695
176
656
408
604
436
428
525
576
187
545
125
229
572
727
526
112
870
324
979
432
844
132
275
364
612
78
726
474
476
901
431
157
374
300
70
534
237
10
649
971
527
939
701
202
693
780
485
103
94
507
601
278
172
763
285
986
328
447
357
398
986
715
420
811
783
234
467
254
718
742
469
851
320
899
877
433
616
946
234
132
721
941
237
135
402
158
676
329
828
838
620
300
43
586
154
62
399
608
680
903
291
462
572
955
87
123
501
449
26
23
299
125
235
146
619
929
729
402
973
984
404
288
950
751
609
261
555
500
805
345
624
432
208
259
250
319
82
719
955
58
512
672
149
380
88
887
34
784
893
755
709
931
618
118
690
893
408
683
442
78
240
897
807
190
281
138
412
270
672
771
222
739
597
890
419
363
378
554
712
227
518
943
966
155
298
125
797
455
578
87
391
539
897
249
343
749
846
928
761
665
956
153
217
291
12
736
400
762
787
792
468
649
704
689
169
506
783
28
787
27
577
349
839
91
491
174
216
994
975
445
203
378
638
599
359
724
227
304
766
787
765
377
584
13
867
503
128
818
420
159
940
581
334
584
440
337
67
738
791
454
950
901
528
41
147
22
399
413
231
944
554
726
963
355
948
807
830
717
336
267
314
401
745
238
652
997
676
447
55
56
577
883
971
567
318
33
12
79
491
483
558
738
400
742
921
412
445
261
163
768
510
994
323
389
604
293
866
980
705
590
586
297
244
97
127
683
121
718
482
989
523
463
565
224
17
926
1000
509
591
796
776
740
385
960
306
943
781
480
737
458
477
606
47
935
876
51
608
623
871
936
399
599
687
177
961
370
927
601
565
763
422
737
758
146
759
69
619
767
603
500
617
495
84
938
892
258
495
179
175
298
556
741
320
704
305
891
586
792
444
872
425
573
633
271
468
964
787
523
861
390
910
783
843
135
369
802
703
123
815
972
872
825
133
393
888
614
907
707
439
237
903
425
510
2
961
653
877
927
525
446
876
355
752
515
393
503
780
622
496
958
260
814
993
434
702
591
455
969
554
212
956
299
145
587
815
408
831
664
158
53
722
739
994
667
343
906
793
157
481
698
286
17
222
61
299
632
925
971
956
808
415
369
538
397
244
618
575
320
235
320
526
438
866
202
531
480
262
711
264
681
703
140
890
891
581
380
482
610
691
836
27
888
589
666
330
994
491
268
705
573
875
833
329
287
478
894
537
42
900
998
132
540
357
39
992
252
458
326
883
909
37
152
379
247
182
510
248
78
627
580
485
684
550
813
392
200
656
748
793
888
159
175
475
172
881
901
450
870
237
179
457
325
318
787
422
26
634
873
261
877
321
937
491
484
791
728
602
714
865
435
53
282
409
252
31
341
358
315
857
857
820
26
986
77
624
995
133
535
292
187
914
840
903
369
783
997
752
616
756
82
988
478
549
908
681
367
350
735
863
886
347
179
147
92
550
215
452
159
183
567
234
488
110
856
346
100
338
569
346
38
643
314
614
620
733
812
120
558
195
812
73
410
659
409
951
327
237
279
621
783
304
972
348
817
138
729
496
353
735
250
632
289
394
460
584
432
274
599
687
777
198
905
124
300
447
732
776
235
116
214
442
724
916
467
655
859
949
902
556
401
87
422
456
853
67
147
786
183
307
868
105
165
764
561
718
263
833
197
241
959
445
527
140
688
994
709
882
842
689
432
814
868
232
680
334
116
489
369
198
949
931
911
65
575
220
149
477
228
223
226
546
615
141
704
520
966
194
610
292
682
470
210
629
281
160
962
593
319
347
516
182
983
952
654
669
334
226
703
550
522
366
368
240
871
499
864
886
424
223
905
755
378
407
438
655
873
703
927
759
767
530
666
26
324
884
844
137
274
417
22
472
296
660
302
234
786
149
676
211
741
463
969
76
657
888
349
332
634
466
587
190
291
718
119
742
664
194
499
752
995
319
20
268
202
715
93
59
887
280
517
555
901
842
883
569
873
110
186
611
610
15
188
972
950
225
181
107
463
799
597
63
386
492
322
808
321
159
696
386
508
103
884
735
930
953
755
880
146
850
421
935
459
309
335
47
995
86
205
958
311
816
15
337
401
940
116
420
340
703
714
780
365
566
56
245
886
432
285
69
766
500
230
475
253
384
376
609
71
403
874
735
542
553
729
254
73
759
248
737
974
444
398
719
399
319
2
420
96
577
581
925
829
340
218
608
523
291
32
737
680
931
735
276
103
764
250
860
788
48
574
811
651
431
907
856
850
933
547
861
652
218
231
552
140
69
390
649
571
277
275
285
886
922
992
861
661
139
317
768
806
51
556
468
430
470
810
530
595
365
780
100
143
844
613
185
356
584
378
834
12
223
458
15
275
215
533
505
974
56
844
608
30
573
111
911
185
184
838
527
731
670
713
522
645
969
471
272
381
6
910
549
582
323
695
994
161
575
225
501
500
574
107
726
26
622
712
579
27
327
897
98
404
971
199
529
966
760
727
795
11
961
540
813
189
26
494
221
47
287
445
219
266
684
189
134
294
321
734
254
983
336
315
218
898
676
85
964
129
906
548
848
832
104
614
10
210
215
630
523
328
996
865
142
978
802
674
712
791
55
54
417
923
148
350
96
963
937
630
779
115
739
667
458
362
902
500
868
49
643
284
688
254
794
493
168
388
521
583
656
696
881
899
852
735
255
946
946
400
374
162
951
850
609
947
667
449
662
60
694
937
619
414
853
137
566
956
149
906
604
576
182
439
172
944
508
751
14
736
992
894
35
989
655
445
505
200
849
918
804
371
853
980
940
391
146
806
578
35
684
467
232
385
470
961
530
663
598
430
211
298
733
97
614
564
678
688
925
255
292
461
397
702
497
465
78
877
567
319
320
455
169
644
502
513
871
243
933
925
963
277
862
659
457
961
916
891
95
777
1
272
21
788
931
735
554
411
613
952
132
917
593
918
83
11
174
173
350
73
140
844
671
23
283
50
4
320
577
191
179
315
869
316
871
20
347
40
952
370
920
499
257
235
853
390
540
759
666
482
195
66
348
879
882
52
389
912
774
724
21
810
579
549
293
166
815
336
319
800
104
478
100
831
394
761
802
636
75
560
305
901
959
937
86
177
945
79
263
150
997
524
685
380
732
853
535
389
537
865
778
781
639
758
165
572
927
540
226
9
695
680
819
931
663
19
381
180
763
74
959
637
241
200
480
233
534
477
479
656
261
836
690
558
382
671
478
784
298
133
89
484
169
346
90
53
250
33
149
466
393
439
565
971
172
948
507
58
264
527
2
304
820
970
89
990
587
919
429
350
404
830
873
944
572
356
145
919
279
114
858
854
907
439
510
479
576
512
25
816
742
210
595
163
989
129
349
940
420
496
377
604
231
101
165
717
79
946
409
799
880
72
424
746
495
873
128
471
612
268
662
900
761
321
237
616
52
207
720
253
686
990
830
208
741
308
504
362
13
906
195
269
950
923
369
732
824
3
461
745
329
554
890
543
744
984
516
917
632
280
97
974
814
132
882
287
12
663
469
705
132
940
460
155
608
652
225
435
642
732
325
343
430
256
729
485
672
638
3
761
768
998
58
826
87
602
897
801
625
433
18
125
179
284
792
727
892
236
181
610
639
30
615
555
282
640
723
878
247
281
870
103
235
234
134
936
125
80
443
182
298
403
82
89
671
568
667
137
708
915
994
493
546
612
867
174
180
433
150
452
315
954
767
218
123
975
343
799
614
545
475
213
780
580
403
942
949
931
939
116
35
712
137
401
499
859
67
3
859
162
489
924
532
484
940
26
659
472
965
513
288
829
775
153
985
151
626
938
465
385
589
914
370
203
205
577
642
3
712
605
259
729
138
659
284
472
605
657
286
632
573
245
164
418
631
121
379
694
642
530
330
429
722
493
431
539
567
293
981
549
114
313
532
249
377
580
858
534
569
266
986
666
308
957
19
505
772
727
619
634
176
904
111
915
818
970
109
715
271
196
496
952
968
481
313
134
585
333
855
784
105
102
855
983
412
380
121
288
558
947
443
949
626
767
865
160
222
307
662
91
194
906
493
544
154
992
224
422
705
695
867
583
70
828
929
337
1000
238
216
529
407
259
803
134
161
381
444
313
895
257
172
161
449
869
213
713
803
10
646
362
964
234
391
521
280
84
260
221
95
720
754
348
486
15
255
401
54
849
33
965
414
552
240
579
36
449
686
326
599
989
721
247
830
224
997
657
130
307
238
512
902
204
373
277
641
81
598
145
277
655
944
17
211
351
941
422
748
283
840
407
346
921
624
499
238
804
751
13
467
798
169
369
337
233
630
567
584
708
760
647
340
446
661
793
79
926
20
715
320
873
857
68
775
850
71
997
49
389
880
306
715
38
101
377
807
736
981
731
329
665
935
31
384
70
136
405
913
610
344
201
835
444
776
678
601
618
83
665
768
330
694
944
240
257
896
942
235
502
15
354
870
621
974
478
521
860
329
364
710
986
602
361
379
31
355
296
835
876
998
303
509
828
753
262
980
253
558
936
342
905
935
137
126
773
17
678
423
175
4
451
813
329
256
685
941
837
174
346
344
336
734
668
214
93
286
10
310
455
805
597
175
875
286
208
114
724
389
541
164
179
773
822
412
303
739
190
567
830
991
543
659
277
302
813
113
757
862
96
171
242
900
668
883
126
941
664
394
617
729
154
313
885
390
382
290
897
909
197
765
585
350
69
37
299
568
661
446
532
306
572
436
514
718
796
744
624
330
379
745
512
383
989
270
434
296
392
818
622
743
341
157
391
438
4
766
329
268
847
424
124
871
875
536
503
79
179
450
316
923
55
106
15
40
362
862
637
408
335
203
952
296
854
383
596
189
995
729
875
266
796
448
394
653
316
329
847
319
457
628
101
959
521
758
163
620
139
180
757
171
34
986
15
892
74
255
206
644
192
213
532
73
56
573
766
265
816
226
902
116
862
623
52
428
289
757
546
413
699
673
546
844
12
788
538
580
224
157
731
552
418
967
733
602
884
225
892
751
904
559
312
565
611
523
894
306
350
621
695
462
133
484
532
49
106
310
37
833
427
701
289
233
598
511
761
190
75
166
562
759
945
205
827
502
552
442
723
32
232
264
706
209
711
48
558
563
334
575
262
497
979
632
950
679
436
697
998
851
48
710
864
957
637
460
368
85
61
42
983
242
298
179
122
372
586
925
560
363
10
428
886
993
872
977
337
914
342
520
432
796
179
189
596
703
748
155
347
610
184
317
689
748
298
876
65
94
751
897
612
919
104
283
450
765
557
452
474
599
607
175
409
193
381
668
926
965
106
37
233
594
37
617
898
773
172
563
612
321
249
306
206
738
859
122
554
982
973
113
884
887
834
367
646
178
942
913
306
487
835
383
367
96
447
931
437
429
101
81
426
446
631
643
792
159
655
737
301
488
812
262
940
533
607
870
474
122
603
604
630
213
851
875
36
293
850
410
873
452
809
92
638
194
662
395
561
394
124
231
987
1
41
595
460
247
427
340
355
139
893
803
646
951
592
724
783
308
439
149
738
179
115
509
975
760
283
128
485
826
513
766
47
563
673
612
557
304
881
372
626
851
713
668
618
292
15
40
979
281
552
216
3
784
733
185
140
197
812
834
598
551
298
554
242
245
788
267
742
395
74
807
514
402
169
422
237
785
833
454
639
694
327
925
801
755
327
842
442
55
412
519
536
172
49
112
106
88
801
870
264
740
304
297
382
719
652
564
782
349
3
989
490
953
589
370
400
629
810
262
678
264
788
44
324
841
545
755
638
314
987
242
716
439
987
110
238
22
175
339
529
944
466
187
285
205
1
202
430
974
896
717
258
279
155
215
407
558
138
340
241
766
246
119
881
82
837
194
493
594
953
453
416
492
137
475
377
417
458
655
352
616
904
654
590
460
437
128
941
710
363
271
918
616
127
805
830
603
288
482
959
786
238
35
951
45
142
791
530
701
732
827
183
123
807
633
706
717
734
754
329
866
812
737
712
311
99
73
271
389
179
453
109
285
400
860
376
202
310
454
990
891
366
206
473
538
535
508
146
391
22
783
1
823
236
218
402
775
68
321
150
633
670
944
579
623
264
807
74
780
911
288
800
362
824
451
524
360
528
861
83
397
115
716
461
898
920
225
439
857
152
975
495
944
429
206
927
942
686
582
234
732
646
991
372
113
883
417
867
770
535
690
708
608
874
202
561
474
290
300
146
35
698
140
518
203
51
218
632
8
394
677
761
318
884
760
297
87
277
437
983
122
667
343
853
495
663
633
47
790
782
263
152
362
555
508
965
664
739
241
354
469
65
592
436
521
154
163
419
748
598
847
278
666
701
699
881
14
57
983
339
990
953
709
93
669
591
506
709
321
229
631
434
372
660
297
327
716
882
259
150
907
436
767
308
535
629
605
804
743
799
895
570
412
846
755
549
14
468
702
604
502
970
899
656
923
10
949
454
593
385
972
35
795
778
128
249
972
458
564
674
270
13
31
872
138
606
36
237
382
659
458
582
736
543
19
245
502
644
856
694
320
101
711
573
388
653
948
625
814
267
661
204
832
655
653
910
780
343
955
454
638
721
835
1
853
349
989
123
925
874
697
948
967
88
246
284
987
24
868
279
225
507
757
654
201
227
471
671
531
246
177
770
722
813
742
244
343
524
638
419
955
129
984
548
173
757
823
25
38
939
919
595
674
548
916
958
823
731
728
499
455
946
376
971
104
469
344
567
963
126
689
218
67
537
780
920
64
866
545
555
207
923
560
977
168
487
96
103
204
880
547
380
33
134
236
249
481
616
713
199
592
554
66
568
458
760
662
495
423
754
988
360
711
624
952
566
734
198
79
763
549
552
516
478
957
423
693
644
729
848
730
690
337
229
454
735
313
71
941
868
111
834
73
711
886
709
488
219
149
631
655
174
650
503
533
926
170
460
435
741
104
942
243
510
890
521
110
710
315
696
125
215
730
331
192
989
17
10
568
731
924
366
61
266
24
322
895
854
165
295
650
607
689
632
465
895
137
922
921
958
410
390
634
946
548
271
576
248
412
919
632
307
531
418
663
45
298
638
639
682
528
991
20
987
96
628
629
950
11
477
715
431
817
273
769
622
666
723
920
33
727
31
434
287
890
280
889
219
848
583
132
652
728
492
970
746
418
888
894
995
599
458
818
815
294
911
925
116
435
282
254
450
539
45
574
120
97
234
418
81
690
492
914
619
167
733
164
557
427
136
495
164
500
293
867
41
646
652
59
19
129
817
65
480
177
904
274
588
405
897
608
636
614
870
787
80
469
9
254
852
22
633
148
252
430
739
867
34
493
206
403
308
858
450
668
548
789
194
406
276
456
26
189
984
570
592
156
465
25
586
875
4
936
202
703
819
80
314
501
725
280
480
434
252
744
806
829
340
676
790
774
301
766
568
188
947
311
366
620
674
789
565
894
779
680
492
46
532
220
969
691
300
538
661
84
576
334
493
639
872
860
746
636
282
451
960
123
952
279
441
815
859
320
998
905
22
744
502
254
767
58
18
406
707
400
548
211
869
272
848
634
805
914
448
489
565
212
685
430
159
738
561
500
464
78
253
977
600
50
350
1000
457
846
313
723
411
363
133
314
251
218
922
165
12
34
4
93
696
563
72
152
838
168
179
903
508
964
624
651
599
651
297
200
194
734
672
134
399
298
440
496
276
16
721
24
400
366
892
749
146
318
345
872
5
901
907
307
125
118
201
188
762
680
13
925
570
879
552
108
435
717
602
682
100
112
695
316
971
579
854
832
281
318
931
898
299
4
233
896
345
961
981
66
181
552
99
547
783
802
984
902
563
282
198
86
890
224
478
576
144
696
46
564
591
412
4
698
110
424
471
841
134
490
230
723
243
410
859
144
481
990
739
614
864
569
833
923
483
264
875
149
321
161
425
46
160
693
292
581
960
371
977
644
680
820
103
562
818
834
320
159
865
759
764
501
462
81
973
378
301
501
104
804
704
170
402
532
390
975
129
639
137
957
598
727
928
981
504
189
708
780
501
293
33
355
855
533
775
511
27
822
507
984
285
611
362
244
736
964
975
526
754
924
566
83
388
275
365
959
201
918
330
789
935
669
580
314
580
204
22
253
682
274
422
210
176
62
550
55
676
743
124
49
862
886
950
579
562
323
59
990
192
513
667
434
437
228
449
64
465
592
980
168
481
123
181
42
166
443
275
501
361
764
39
914
410
59
139
586
702
101
942
107
315
186
455
19
131
384
28
788
412
668
983
592
664
87
649
880
512
457
115
31
463
689
630
641
667
991
769
203
221
624
349
932
120
847
629
530
710
931
496
525
379
856
185
602
242
435
578
79
830
92
283
219
82
478
497
628
514
433
134
365
68
528
802
718
974
597
12
838
968
189
429
527
307
842
59
529
338
447
19
615
833
748
947
592
893
167
149
136
997
773
324
988
681
168
48
647
431
478
259
144
563
417
638
870
299
634
151
720
764
137
985
10
320
609
799
703
542
895
480
515
128
717
597
351
206
955
343
371
847
467
51
684
37
455
278
303
41
874
90
547
858
210
361
495
417
260
869
457
290
185
490
693
938
228
14
739
944
947
991
807
240
728
534
676
93
639
191
363
485
391
840
678
565
286
63
433
65
564
593
687
908
470
261
903
781
708
318
326
66
689
126
180
406
103
14
522
109
945
503
723
770
18
205
580
770
361
455
986
757
782
132
975
825
871
180
662
878
434
61
318
568
306
751
319
287
865
900
256
912
397
480
806
403
646
582
289
882
522
2
35
533
946
939
733
522
228
412
10
128
240
990
333
480
843
26
198
578
711
891
249
798
720
618
634
686
537
971
421
666
920
190
347
214
480
574
527
175
377
624
982
153
455
669
46
323
855
800
733
598
10
427
153
800
241
999
943
388
883
224
431
327
975
677
997
894
73
775
647
558
676
958
349
604
85
365
75
819
249
398
823
401
300
374
106
214
45
882
531
678
614
554
131
843
852
716
33
677
800
773
939
178
786
258
591
708
250
176
115
847
374
660
647
140
38
969
178
363
378
560
871
296
458
288
448
547
170
805
399
669
495
861
875
679
701
539
135
78
865
410
329
652
361
224
207
683
590
13
76
622
297
452
961
985
253
873
441
959
971
606
102
215
373
209
883
486
20
711
832
754
578
215
987
302
716
63
118
474
488
313
91
687
579
456
439
162
502
130
560
873
934
101
631
391
903
932
917
697
482
558
691
513
952
461
348
398
160
273
659
654
917
374
299
95
868
544
931
851
188
758
162
686
844
6
624
739
927
412
287
229
740
954
859
419
903
867
805
31
718
106
61
417
470
343
10
995
85
615
662
855
830
91
270
984
303
433
793
260
34
857
729
220
394
344
853
622
380
383
268
988
63
258
55
628
139
197
470
170
76
587
312
185
792
103
589
372
701
796
84
651
185
125
737
664
263
462
41
413
303
819
801
213
104
407
661
691
569
190
812
305
515
753
121
735
845
660
767
558
427
980
106
798
578
791
132
317
917
307
377
522
747
724
513
513
828
993
239
655
546
545
252
509
64
376
249
213
975
28
909
690
339
744
790
508
778
459
889
835
455
367
374
675
375
518
695
520
392
262
775
586
752
394
544
84
769
536
375
311
445
625
336
932
478
389
317
507
83
337
214
172
536
91
346
391
125
870
205
891
461
545
434
177
759
971
677
550
715
233
562
138
101
28
604
301
31
663
280
673
148
47
868
227
651
615
881
36
141
330
109
774
801
800
344
614
275
56
828
907
934
732
360
893
933
229
760
753
552
927
105
526
861
699
742
737
656
733
577
125
962
206
567
512
120
394
647
688
643
664
558
166
552
163
160
794
886
136
861
508
426
565
724
971
457
202
682
425
549
124
22
872
953
695
970
602
157
141
791
162
588
994
266
110
196
369
804
252
917
330
730
640
583
644
486
283
897
836
565
392
500
820
24
993
991
266
329
902
25
588
73
385
212
613
888
322
647
6
438
303
307
73
976
908
464
823
336
348
488
71
622
767
125
936
97
760
401
284
913
92
799
551
435
154
243
903
846
448
740
890
624
277
219
557
250
838
240
521
222
155
754
626
18
598
20
640
188
297
138
895
137
378
360
900
505
830
531
756
252
727
524
597
690
731
509
412
763
56
275
320
776
529
558
795
672
3
535
379
658
136
221
153
695
453
484
598
894
702
798
509
352
751
658
311
341
625
783
461
43
873
842
633
225
125
476
11
335
559
803
348
519
20
423
401
956
702
183
983
738
602
628
144
232
495
70
922
513
746
710
725
954
115
88
611
561
667
418
663
913
951
22
218
908
952
197
901
594
663
296
309
491
766
724
724
765
581
857
376
480
385
579
677
956
209
255
304
962
434
499
164
47
869
976
111
826
494
870
713
479
736
329
528
973
954
395
91
813
801
439
272
212
269
108
747
615
515
139
75
463
6
163
269
931
151
822
816
114
327
70
826
817
136
549
328
659
808
313
805
673
886
964
713
979
730
509
78
369
906
808
260
868
243
554
639
394
178
111
273
684
45
414
538
533
105
321
418
228
471
499
335
786
531
957
402
209
138
788
528
541
607
573
76
924
534
138
665
221
523
72
286
7
210
443
84
911
369
698
66
352
449
582
506
676
659
231
992
594
573
316
930
599
274
193
787
742
282
576
529
731
842
135
506
836
656
805
516
481
846
269
885
742
725
285
189
160
948
30
686
447
757
627
592
671
325
354
113
458
643
844
524
598
23
714
649
193
34
689
838
161
603
240
866
445
125
180
242
791
594
443
80
307
225
486
52
307
528
372
890
162
514
607
621
931
581
233
970
601
620
513
378
636
67
783
669
382
930
682
703
564
339
50
271
797
757
198
88
491
833
170
983
57
778
841
288
596
300
403
990
559
367
855
422
5
479
622
153
145
744
296
235
862
738
826
196
730
51
160
968
906
451
485
446
887
785
705
555
793
135
755
465
281
201
639
97
660
605
876
169
45
602
114
815
656
678
299
238
465
652
682
955
441
191
339
932
599
100
661
333
880
351
412
615
675
578
570
494
432
693
149
591
397
342
562
679
961
153
948
70
514
125
35
64
962
41
754
359
265
485
849
979
450
922
123
593
570
283
818
52
973
680
871
604
72
211
398
512
527
279
860
756
397
490
769
69
319
3
716
814
251
141
708
116
652
177
538
209
204
484
951
190
396
652
889
241
286
738
960
892
798
570
630
97
752
888
270
749
608
174
392
721
637
199
846
702
771
692
737
907
953
32
124
180
161
550
307
168
647
840
660
982
107
453
518
234
686
516
569
405
689
80
598
246
882
458
166
341
52
440
10
985
310
12
508
284
216
132
578
718
447
192
733
472
128
43
849
494
387
801
399
605
944
258
508
965
746
371
236
857
773
183
882
73
119
549
979
131
380
173
845
183
207
840
233
773
575
163
670
487
978
826
512
194
290
91
630
766
460
289
908
106
572
121
394
851
57
854
51
344
985
932
529
345
472
61
283
456
153
610
649
457
620
6
230
546
444
889
12
20
141
950
198
50
22
781
631
26
363
530
60
426
762
855
175
262
850
486
567
949
760
682
230
881
877
20
260
72
435
222
714
986
466
213
398
66
456
171
500
555
823
122
597
885
977
534
537
308
312
454
83
474
933
944
39
316
313
980
752
974
366
506
522
472
585
55
458
521
42
170
757
121
997
918
199
615
823
914
923
456
734
635
136
245
551
250
534
499
355
863
610
247
426
833
914
751
296
804
601
586
108
175
286
852
703
3
276
527
52
753
783
817
689
888
584
905
787
13
909
693
397
187
48
936
154
53
273
716
460
630
197
301
720
996
631
297
749
561
300
430
868
330
554
421
493
380
341
223
304
727
249
289
155
938
403
644
953
110
358
296
671
285
886
897
501
1
768
651
914
421
236
155
62
401
744
258
497
947
117
35
706
735
930
655
276
744
193
281
848
625
17
113
174
93
950
361
712
515
138
226
178
868
232
942
398
408
281
564
634
710
420
432
243
252
276
229
196
305
427
71
504
727
152
398
37
188
935
255
577
460
923
177
204
687
550
67
257
936
97
352
211
937
802
211
754
634
460
874
239
68
165
811
485
137
936
148
566
2
521
779
854
255
575
474
72
468
749
721
516
425
972
206
951
160
353
559
872
899
659
473
983
154
325
369
770
499
279
538
977
8
648
95
662
961
596
125
255
158
123
139
693
124
625
309
292
538
453
1
473
497
454
781
860
536
748
444
513
967
544
584
314
705
883
888
560
672
563
654
859
862
384
985
332
297
54
737
925
473
765
588
378
331
489
517
13
464
501
569
54
37
512
52
617
861
48
187
865
168
408
818
94
894
597
975
639
689
125
986
594
469
485
345
297
28
369
722
406
142
443
367
189
625
596
620
341
998
87
433
234
804
949
586
14
81
363
763
372
227
418
769
135
253
838
957
38
459
814
350
177
656
27
53
673
407
313
290
27
138
190
794
485
657
662
360
493
312
258
66
978
978
313
43
772
136
823
716
950
508
66
118
246
151
369
192
990
397
992
47
219
783
167
732
676
925
714
450
461
342
511
49
980
363
332
298
661
625
212
712
627
97
539
609
170
255
548
703
365
785
745
772
634
163
67
826
423
570
244
797
381
843
943
947
618
609
731
96
683
291
800
275
856
449
724
615
253
758
173
114
21
13
683
403
579
720
49
830
485
210
882
944
983
706
152
955
731
459
339
854
491
884
896
666
820
618
339
740
897
539
188
64
698
114
376
344
623
849
511
998
581
272
537
266
246
591
945
350
899
130
651
880
800
692
74
23
545
250
739
246
214
742
935
64
414
292
579
130
514
887
454
651
470
381
421
439
628
732
24
874
829
524
167
661
931
161
169
551
603
612
561
151
878
202
459
496
475
759
186
335
347
353
108
988
273
9
324
162
546
985
919
364
995
679
984
398
609
754
525
964
59
854
635
582
235
124
74
869
742
810
455
732
986
435
804
160
51
369
151
135
112
134
176
631
520
483
637
792
4
70
490
179
676
539
131
368
655
6
164
329
140
164
470
710
730
734
96
587
628
562
692
282
109
438
788
589
322
633
187
83
24
205
167
257
360
404
967
894
145
820
253
407
422
543
857
929
234
246
131
519
669
970
655
221
228
438
883
638
494
835
566
329
862
370
405
597
862
388
461
194
198
436
305
27
183
508
750
232
676
608
276
862
1000
905
941
991
545
3
653
292
947
270
165
950
788
750
53
375
730
898
231
304
905
301
289
761
120
537
7
812
178
584
984
238
191
500
177
25
254
636
546
57
295
301
676
510
191
621
450
240
509
332
355
861
311
363
988
334
548
362
677
613
474
805
919
308
372
859
490
374
649
26
693
565
991
425
181
755
879
716
178
256
187
849
767
947
15
248
56
378
159
553
712
2
827
758
329
336
317
451
536
177
354
846
601
949
721
489
496
897
616
836
57
92
901
387
915
191
38
692
330
438
38
345
938
673
202
25
667
8
761
753
781
391
807
809
78
479
36
143
760
151
921
717
391
466
883
937
664
119
917
209
391
225
924
729
267
808
683
773
463
497
984
148
27
759
989
965
425
436
240
548
274
522
109
143
466
838
662
61
447
750
71
25
367
124
724
779
164
493
139
493
445
785
627
72
189
37
405
259
868
245
531
337
597
841
586
308
296
351
514
667
672
443
402
252
2
945
272
236
363
377
150
989
915
224
775
406
329
465
320
326
243
853
386
820
880
51
393
436
624
24
162
21
370
1
155
313
958
930
347
345
833
579
167
618
365
360
278
123
926
495
234
549
927
362
200
444
463
740
999
639
162
194
725
26
103
16
20
624
376
10
931
933
994
855
938
778
354
996
325
184
413
758
618
356
30
906
172
500
711
934
349
35
95
209
922
738
116
468
493
514
690
305
727
744
180
7
175
648
629
510
274
683
947
295
893
773
823
781
445
83
110
126
151
112
826
371
518
138
739
573
480
408
680
883
915
23
361
543
472
177
496
425
724
242
444
23
665
228
425
828
493
294
601
567
425
340
968
127
26
152
43
884
155
249
787
762
170
346
101
590
473
324
442
222
839
660
855
466
202
600
737
58
757
708
177
799
296
39
601
510
656
922
739
637
63
177
671
170
922
709
780
53
294
546
8
412
927
801
692
725
167
523
628
537
535
71
723
443
38
490
759
836
519
324
337
353
482
457
17
41
870
853
58
27
190
539
912
850
261
748
811
699
601
935
369
510
118
266
101
236
367
299
184
643
71
745
545
681
23
652
601
778
746
853
589
460
474
225
418
303
158
193
436
565
153
882
315
788
179
520
498
313
984
15
320
883
819
94
922
503
493
54
595
255
322
949
990
62
685
994
961
271
302
84
439
496
561
570
843
372
409
856
14
748
373
989
559
366
268
81
786
279
996
357
126
72
681
628
52
466
11
190
17
47
319
522
870
637
386
664
537
335
406
810
502
337
841
495
743
451
122
733
361
645
292
587
90
57
722
961
213
641
953
853
227
42
603
903
730
330
989
844
618
953
814
380
660
636
813
87
904
991
734
167
186
265
404
276
206
27
928
180
267
550
246
707
768
348
392
317
7
585
768
602
633
82
708
241
370
246
378
218
269
522
808
608
766
927
473
891
333
788
375
515
332
65
29
401
975
556
91
192
949
803
634
297
386
792
232
200
293
349
78
102
500
707
344
660
473
890
864
510
20
390
999
277
69
127
262
993
211
825
850
191
593
754
747
458
129
242
489
905
703
494
957
831
195
30
846
828
704
489
526
746
323
637
104
189
144
152
396
698
996
197
384
354
544
797
494
329
987
815
676
801
586
635
855
736
633
734
765
288
281
977
593
929
862
834
128
971
943
702
293
867
371
167
57
496
4
354
722
681
650
492
475
340
973
416
948
2
774
19
203
908
103
625
245
530
131
798
654
172
543
387
392
236
523
498
198
854
48
635
219
854
306
490
686
437
539
705
542
535
503
479
863
515
56
75
813
835
57
111
672
252
923
31
130
409
660
289
683
979
157
610
448
64
825
132
119
184
434
383
123
73
129
798
247
421
157
932
134
879
810
624
96
919
431
82
612
598
129
296
754
885
990
235
523
954
191
985
729
797
383
381
644
550
131
691
110
189
966
619
160
614
861
214
521
705
502
272
527
615
790
491
101
440
417
922
447
396
190
237
6
835
22
962
74
715
154
97
156
657
234
472
812
343
296
785
238
807
620
530
320
110
637
889
182
16
797
267
586
541
346
324
610
653
488
260
187
990
261
621
991
204
806
87
87
392
370
528
500
165
538
143
608
57
673
609
801
383
502
20
408
124
100
815
261
108
264
65
610
589
424
226
323
276
779
924
418
40
321
422
29
795
740
164
852
499
26
194
931
854
701
310
460
10
249
540
876
522
267
863
117
879
273
176
410
152
901
151
273
693
425
991
782
374
160
79
273
533
329
175
791
681
386
119
600
4
629
967
955
886
187
115
171
997
96
227
762
968
227
744
21
314
311
307
964
73
145
712
22
551
336
896
170
699
649
5
479
894
50
836
222
320
83
798
716
713
82
73
93
983
18
838
28
95
518
246
288
638
673
390
602
728
797
573
4
224
212
77
273
761
480
36
510
780
219
191
227
543
821
34
515
106
900
319
24
389
302
994
492
725
818
352
531
764
576
616
199
197
205
215
661
523
481
737
900
18
158
911
999
115
49
1
997
659
265
683
700
884
699
799
96
482
466
412
266
869
32
194
708
579
193
550
64
743
892
769
107
787
100
195
691
783
647
627
58
404
923
123
570
29
836
980
421
382
280
868
370
7
629
56
855
999
457
180
117
678
763
251
121
300
475
445
123
492
886
770
720
810
5
889
78
714
485
178
846
307
918
667
929
381
820
593
908
647
520
151
408
579
543
473
91
939
783
2
319
890
926
188
707
575
121
875
950
192
876
861
326
880
495
811
226
176
158
162
912
420
925
673
455
248
510
21
465
215
687
195
797
694
562
475
898
393
757
479
804
260
759
82
149
47
303
21
655
543
679
645
755
318
267
601
941
834
458
166
377
970
348
617
121
302
221
259
23
981
933
693
7
684
707
483
954
913
774
648
893
846
514
277
498
89
466
154
190
888
634
483
284
840
22
666
685
662
210
644
619
343
103
456
776
876
683
547
989
822
698
835
316
145
768
702
949
125
300
891
906
664
918
739
857
962
899
331
765
383
211
899
223
296
313
252
542
820
844
105
629
692
685
925
672
935
640
300
490
609
180
932
146
672
258
21
114
930
191
227
810
96
31
403
828
236
597
957
552
251
603
93
134
598
886
125
997
142
793
749
149
906
182
435
560
477
359
111
808
7
477
882
984
76
597
837
579
160
639
940
725
78
938
551
662
603
956
418
784
354
978
841
928
214
318
316
865
753
613
125
71
578
292
269
965
100
203
625
729
939
668
409
761
65
952
886
537
842
269
719
402
315
909
557
377
455
76
226
581
584
286
384
295
862
966
602
983
564
10
629
832
834
617
13
495
754
683
368
754
857
384
292
768
664
378
375
418
423
186
772
11
15
951
548
270
868
717
360
117
846
787
89
197
271
526
688
505
645
160
893
747
178
765
409
262
922
633
845
425
179
657
993
472
857
175
997
577
605
993
583
841
922
916
817
591
858
192
755
969
620
719
981
402
155
739
259
896
734
998
402
541
697
51
82
779
733
450
458
220
536
59
402
814
227
631
638
181
656
73
271
770
622
557
37
314
43
721
112
737
358
746
433
261
758
14
360
971
386
381
888
517
292
842
828
925
774
522
84
744
704
446
627
851
579
545
851
307
334
672
728
573
399
218
600
254
97
51
499
299
227
117
600
236
622
18
787
589
513
278
333
109
782
805
396
825
585
283
356
192
342
819
22
829
808
200
399
436
796
558
997
454
136
41
647
986
611
356
407
288
950
684
407
863
437
515
431
832
323
417
629
781
33
619
969
744
112
540
984
301
935
98
900
45
519
699
448
847
128
307
553
368
8
871
608
298
253
717
217
638
742
191
153
150
110
978
770
782
908
25
233
489
482
928
779
340
601
987
670
268
541
845
615
81
143
811
218
612
368
483
463
1
986
261
315
150
344
711
263
305
601
497
62
617
439
782
948
237
989
585
360
196
673
557
542
878
708
63
431
357
250
215
959
273
570
754
162
174
159
264
580
492
395
233
996
353
242
896
943
503
462
643
321
469
8
988
128
956
565
773
557
147
712
300
667
253
806
576
410
164
466
676
62
504
530
559
986
737
401
286
243
250
32
714
742
452
152
226
552
50
953
917
456
596
186
16
76
300
478
972
695
878
743
795
419
909
770
728
476
763
399
276
244
672
242
940
82
922
538
747
159
475
600
805
232
530
243
681
795
687
774
339
78
401
369
747
143
348
147
39
718
199
836
280
482
21
715
484
195
212
388
503
499
426
87
818
179
429
361
58
407
205
458
279
803
906
209
647
164
451
947
210
344
663
826
827
109
842
962
218
713
592
918
266
613
514
465
416
969
132
949
12
562
22
297
915
298
672
444
570
766
12
949
999
178
950
641
839
613
453
428
653
676
911
794
215
568
567
114
376
98
783
616
407
331
790
741
447
433
340
655
762
747
402
915
79
308
606
607
162
796
677
799
130
409
484
847
781
246
669
863
294
575
37
692
263
801
997
848
961
22
431
158
108
830
242
332
157
401
755
248
341
993
823
549
248
654
227
24
734
374
458
351
332
867
504
997
158
925
581
459
493
581
105
585
850
321
322
394
348
273
170
685
652
549
918
743
554
952
48
599
526
818
666
642
213
89
452
862
884
621
779
628
333
329
177
718
548
27
766
250
794
700
603
279
377
542
188
92
473
267
483
631
882
113
915
89
468
450
760
401
348
119
238
295
587
449
378
569
300
410
454
486
541
494
356
528
335
754
788
249
496
872
586
672
638
253
761
448
936
942
112
31
723
561
369
218
990
585
866
719
206
2
692
871
656
813
110
209
657
901
789
367
612
475
62
724
837
724
988
244
509
283
452
242
857
851
956
144
957
604
992
894
84
66
129
339
604
734
998
778
819
97
400
897
994
601
660
449
63
792
152
383
127
111
684
616
921
750
9
239
903
597
310
805
436
505
925
233
867
67
930
13
915
588
461
639
935
219
805
624
40
39
373
19
30
424
619
100
317
227
874
764
794
132
842
224
664
28
172
794
813
422
168
910
191
717
162
47
29
627
493
852
465
150
383
663
251
275
177
526
827
59
588
3
961
767
589
323
535
553
562
899
828
529
156
830
817
154
36
778
609
577
422
519
104
946
814
554
365
713
840
380
18
675
484
437
159
794
293
254
897
876
308
51
676
803
585
890
920
365
183
495
429
657
382
1
129
673
749
269
486
975
346
826
898
260
48
175
876
254
453
982
647
578
309
616
129
164
730
615
863
339
752
919
600
920
895
123
714
539
510
588
511
928
645
971
814
100
29
625
891
183
585
369
943
188
571
317
839
102
17
828
769
559
679
130
775
765
99
866
870
495
705
609
623
764
98
390
609
181
790
426
89
125
735
506
673
592
878
969
454
995
851
797
302
229
658
119
580
66
887
328
538
278
522
112
34
940
922
896
27
41
918
622
513
880
240
297
169
697
707
469
997
675
690
634
694
742
382
590
305
553
298
928
935
692
270
172
981
370
898
558
359
864
80
90
679
514
747
291
174
338
400
37
483
250
373
934
27
410
18
11
833
441
149
866
134
145
178
26
976
869
317
974
357
831
128
214
134
611
467
767
57
444
581
704
796
167
693
678
756
435
942
917
826
308
926
831
915
439
434
184
302
845
180
791
376
719
458
818
265
778
696
64
280
446
826
52
805
530
221
371
492
130
720
462
163
230
921
959
850
799
482
795
761
242
648
474
786
748
611
336
360
401
570
167
111
939
584
201
742
668
386
444
25
396
338
216
617
156
622
40
647
168
564
262
669
730
745
328
622
681
138
241
917
651
84
536
594
592
340
52
819
955
792
894
608
447
684
226
798
539
345
979
738
733
516
105
103
149
305
769
486
172
699
723
200
734
352
194
761
313
39
773
105
871
804
185
484
777
280
309
332
218
128
499
123
721
810
76
401
202
174
843
703
366
423
617
57
403
118
58
100
654
755
540
643
326
362
388
660
391
263
607
299
545
865
104
457
429
851
522
908
397
659
998
723
745
513
574
969
706
523
520
270
478
608
525
826
223
65
582
941
275
617
391
913
767
696
284
393
512
515
1000
969
238
231
101
772
229
104
494
370
995
114
282
67
866
932
137
17
280
491
494
204
120
653
108
462
656
640
975
175
517
949
143
184
669
470
715
763
524
367
200
197
181
107
439
641
280
696
510
423
90
775
398
929
295
743
687
490
386
489
263
475
675
613
771
897
766
271
613
438
719
868
365
708
237
902
810
959
975
174
242
215
445
433
260
977
74
299
89
231
667
942
347
484
929
573
257
948
678
289
553
781
137
173
687
535
952
845
527
524
657
860
386
901
903
436
134
617
103
6
110
293
122
993
746
257
227
44
143
668
823
644
294
667
433
706
321
997
940
239
858
337
399
641
686
946
599
539
806
806
131
300
429
596
917
570
754
299
54
189
1000
127
326
868
873
767
942
853
549
658
891
606
301
118
795
214
70
650
322
850
689
714
980
107
914
552
643
421
150
408
221
156
546
632
714
105
118
697
278
320
712
141
77
205
906
768
380
753
388
262
823
663
972
508
768
816
172
504
442
253
157
767
899
377
9
470
857
564
424
428
181
739
384
178
108
788
869
84
284
833
399
359
390
527
12
374
383
516
353
409
392
118
648
281
905
110
740
912
162
216
773
935
620
525
800
931
936
618
357
729
146
594
12
465
660
573
981
802
209
474
195
768
134
53
605
173
240
233
81
452
14
746
1
100
137
982
531
543
110
728
594
445
275
164
778
921
688
89
760
107
98
870
335
819
750
968
828
820
874
289
473
311
470
753
322
868
447
659
415
952
279
436
194
517
60
323
624
11
268
349
87
212
591
774
853
966
896
779
891
847
782
779
828
179
199
201
97
650
289
957
728
948
951
107
742
495
633
428
847
334
493
681
953
678
396
383
80
463
182
802
351
466
231
705
136
216
677
117
854
972
521
987
614
485
495
165
633
153
780
577
348
421
579
798
242
976
111
497
644
352
800
386
206
68
313
366
334
296
625
543
561
384
471
673
764
239
396
356
145
707
100
29
127
613
931
370
633
21
194
253
775
646
404
803
602
64
738
400
418
506
708
734
143
611
534
110
336
417
759
262
783
284
417
877
19
180
457
853
742
947
190
108
859
763
242
384
795
973
862
81
810
892
472
613
256
954
24
172
140
819
69
63
853
635
444
960
683
694
139
559
518
139
204
66
233
211
532
909
353
769
978
858
967
457
538
465
304
948
268
368
57
146
187
547
302
100
688
37
844
651
848
985
890
507
623
165
243
522
96
244
618
463
852
155
251
407
47
891
713
262
958
945
721
558
615
378
793
824
619
206
778
341
415
387
659
15
93
203
543
439
239
227
414
952
507
410
41
650
345
9
448
852
748
249
445
487
993
604
48
227
73
569
56
975
943
606
648
464
740
724
648
346
876
807
1
105
261
370
94
540
936
901
788
368
104
328
397
693
857
421
423
714
921
154
529
51
379
140
95
515
643
247
735
959
915
432
290
106
12
636
167
876
665
315
340
802
400
793
23
578
643
188
744
645
973
85
570
982
329
475
298
968
559
747
692
254
886
685
295
45
775
459
871
150
165
615
318
396
269
917
733
741
945
687
390
548
144
999
563
961
127
654
512
295
898
389
427
654
821
175
842
755
467
778
795
42
548
982
54
792
204
999
818
789
15
635
626
587
864
712
641
92
149
106
93
410
944
506
413
468
381
671
530
908
945
520
866
169
351
862
777
439
399
967
632
399
521
452
185
276
737
147
676
754
387
721
896
707
330
833
490
566
242
492
937
353
289
141
960
79
720
669
629
243
855
234
19
625
552
265
102
448
454
491
517
228
257
174
917
331
761
988
924
325
719
145
75
709
343
418
772
503
862
732
936
469
726
805
986
456
870
180
799
464
956
625
483
566
675
499
192
709
988
204
698
803
650
208
106
201
495
500
929
846
731
499
727
901
917
634
635
630
420
788
413
689
841
785
98
716
371
919
939
328
33
307
73
180
522
477
291
756
719
192
350
940
972
984
511
238
934
230
336
693
78
931
383
198
28
485
82
892
456
915
958
765
660
953
386
443
854
343
203
342
856
509
866
37
116
468
288
751
979
514
153
302
663
712
282
748
666
686
591
195
237
555
272
961
99
104
99
315
828
439
186
558
156
462
80
58
18
450
828
187
305
924
524
795
187
762
899
991
299
212
705
490
291
70
24
754
23
764
107
445
162
520
59
476
58
105
484
89
552
848
186
919
810
774
187
991
362
748
573
940
273
422
168
522
777
677
625
656
767
957
284
840
249
606
78
731
229
832
820
128
553
446
475
352
885
857
355
255
353
138
778
688
398
128
377
292
3
652
145
880
806
960
289
551
531
367
139
862
852
915
700
84
11
596
885
577
517
303
143
807
786
216
950
370
860
762
620
677
249
661
963
618
473
785
613
605
130
764
242
903
157
303
463
22
509
171
956
272
634
689
247
280
1000
338
578
378
385
800
568
305
827
333
659
571
940
910
888
193
728
931
196
225
214
662
295
661
919
760
97
856
704
389
868
529
554
453
529
832
642
423
14
672
405
80
162
728
435
258
430
103
699
318
576
623
963
672
591
121
345
121
355
892
584
185
891
696
980
859
639
291
914
445
857
521
569
181
144
392
719
432
48
403
485
76
931
662
503
570
568
918
311
882
437
743
621
121
312
510
789
219
538
721
2
474
349
457
643
101
665
458
810
197
92
378
229
696
246
264
628
943
133
216
209
489
982
471
996
611
909
857
725
823
739
711
389
338
579
822
759
67
72
946
955
205
755
713
653
895
647
550
613
773
992
320
987
408
79
994
327
797
179
581
271
100
969
937
649
747
215
821
168
897
139
773
852
986
627
929
190
756
355
931
249
731
21
422
93
575
38
487
515
151
505
550
404
383
751
880
113
217
489
887
812
68
468
785
130
170
494
66
362
113
904
449
130
719
872
603
669
94
412
38
844
334
589
961
599
919
238
791
775
237
444
307
142
50
130
35
66
976
391
619
411
191
588
367
192
668
846
76
989
190
266
548
327
303
125
901
84
133
298
906
454
688
414
94
182
874
564
311
561
938
904
721
176
494
179
11
493
578
999
684
157
409
699
885
310
666
729
158
344
139
841
912
209
514
771
110
849
961
720
915
364
890
722
579
228
939
876
860
254
813
514
649
44
65
611
289
315
291
112
280
879
506
410
665
995
636
909
434
518
196
456
688
547
197
438
157
246
249
519
886
144
646
308
565
484
944
728
27
142
159
511
883
205
269
7
154
576
126
488
989
841
253
183
295
224
234
600
115
648
585
46
147
814
52
902
650
717
253
871
289
216
472
362
212
112
190
181
714
690
624
917
410
818
170
761
744
531
119
14
985
471
439
199
627
687
752
533
239
77
819
475
351
186
11
231
949
167
273
358
498
452
6
100
170
104
176
643
175
843
695
296
614
500
769
484
324
990
509
517
533
937
540
360
969
775
739
983
276
468
527
425
188
24
305
421
948
590
765
271
878
255
762
674
845
651
386
377
596
44
668
865
596
905
86
754
40
876
662
220
181
654
975
564
964
520
878
983
254
207
20
726
581
297
556
38
452
596
593
785
748
798
952
147
602
258
848
559
502
904
929
947
18
152
922
331
717
169
827
102
300
5
189
614
968
915
482
242
324
646
73
751
874
614
508
605
332
643
139
876
485
391
196
506
320
690
463
996
516
726
665
40
123
462
512
221
468
691
97
659
899
881
26
414
946
306
197
521
920
13
643
774
718
838
228
749
853
45
250
119
323
135
238
997
953
56
293
903
275
319
336
977
851
529
556
215
160
424
140
826
852
824
117
307
182
810
755
465
932
52
500
388
963
437
893
353
843
79
229
733
631
325
1
257
23
596
310
359
521
791
514
967
211
474
340
792
12
288
580
61
973
858
261
700
333
932
894
152
533
709
982
399
352
42
488
231
611
745
367
516
686
288
592
22
177
997
313
321
650
267
935
482
312
426
924
491
872
594
96
846
577
322
4
343
607
838
766
852
599
429
370
788
56
894
38
62
771
5
709
538
249
602
89
393
254
291
985
326
278
724
862
280
713
65
616
164
946
583
615
103
447
266
921
909
115
965
454
769
852
882
576
657
326
110
201
602
391
566
60
726
471
871
228
936
485
667
328
258
581
376
102
40
17
673
213
708
24
778
169
295
369
223
284
732
668
917
430
743
159
191
143
253
809
985
329
418
117
513
418
717
909
520
316
100
768
746
922
814
455
312
288
381
851
529
724
178
480
56
288
192
644
446
124
844
555
833
63
193
633
957
758
473
296
742
347
650
183
385
342
616
691
285
983
718
159
148
765
541
794
318
251
257
648
701
547
393
594
656
11
581
229
889
885
693
102
668
517
789
457
680
772
471
959
442
35
564
482
469
945
522
116
347
611
593
992
421
628
583
394
85
605
993
898
556
328
426
958
550
865
401
430
537
156
161
24
88
634
607
582
363
428
242
337
993
584
886
82
423
511
970
229
300
551
421
299
627
185
496
300
234
874
455
772
560
971
600
33
879
417
76
295
876
202
765
880
906
667
777
713
380
788
319
637
438
493
176
878
510
946
651
140
388
457
557
420
178
362
795
598
853
766
113
274
171
529
871
106
390
245
39
131
574
255
180
143
259
934
880
245
921
571
956
101
973
185
755
258
28
531
52
144
718
348
378
988
719
645
72
967
494
445
5
344
903
930
728
220
56
406
702
792
699
810
440
689
970
768
585
55
583
375
434
498
389
913
922
971
747
712
885
908
371
245
243
678
137
312
842
507
813
888
850
566
878
784
988
829
347
790
379
649
35
375
470
726
775
336
295
314
922
15
353
25
867
829
483
591
418
895
440
272
619
473
308
391
998
807
492
635
292
688
810
380
418
730
111
231
811
909
912
417
299
414
815
460
374
195
795
727
22
933
60
134
330
290
826
241
676
461
242
445
677
984
701
777
997
749
941
85
749
891
669
985
515
45
924
63
929
9
15
232
357
448
694
21
477
673
161
862
425
922
576
94
790
765
71
490
890
485
632
627
690
295
806
271
224
270
923
290
561
714
421
308
223
496
874
392
428
578
564
643
719
538
768
447
303
418
439
478
951
624
655
303
374
935
19
579
796
875
160
359
892
883
662
26
312
679
997
699
803
250
520
738
308
647
183
175
496
606
377
437
903
626
236
752
214
720
828
7
259
523
861
649
981
830
933
385
968
909
918
105
129
149
737
438
792
660
666
783
736
506
309
495
712
107
562
150
580
200
191
448
485
452
150
361
430
463
401
619
188
418
777
450
756
111
386
797
433
381
186
888
194
284
565
135
220
480
246
804
341
355
365
831
642
427
321
413
724
391
884
760
882
20
80
464
15
772
591
496
223
584
741
751
820
833
683
388
26
841
26
987
644
643
22
623
878
939
356
599
837
284
775
446
368
630
40
236
631
236
164
975
203
841
492
49
573
748
956
266
613
111
730
31
957
293
615
575
269
654
698
989
76
472
223
981
140
19
153
929
384
991
600
796
30
590
166
909
884
562
242
441
731
417
481
669
349
847
990
719
7
118
268
586
182
809
554
644
860
832
32
744
19
84
313
270
794
467
699
184
390
225
9
189
23
735
155
627
32
957
251
615
846
701
741
226
677
776
953
248
624
847
492
138
408
532
125
330
85
879
133
981
899
836
639
564
910
776
90
460
141
426
873
845
793
801
61
731
464
837
388
953
458
491
884
289
961
999
8
648
313
829
757
440
621
627
979
842
714
123
43
646
776
507
71
767
49
295
214
315
676
46
787
319
79
601
675
812
287
709
70
13
269
990
509
762
635
190
146
201
47
619
399
928
283
438
407
505
204
235
248
236
772
904
466
624
897
436
280
725
106
618
795
949
951
32
617
488
619
961
574
654
431
5
627
903
795
246
660
200
677
801
547
700
888
466
804
415
269
941
151
662
408
831
534
587
624
196
496
25
817
952
319
238
187
810
993
862
14
784
937
508
412
503
344
12
436
695
172
326
9
260
105
345
866
273
243
792
143
121
894
429
269
730
609
445
556
482
510
884
248
27
40
341
813
627
497
982
951
72
106
129
135
497
907
293
497
606
472
528
515
918
285
427
280
651
647
908
87
784
154
172
701
618
77
873
946
939
511
577
189
449
738
51
881
731
105
794
573
401
606
486
720
492
517
702
146
342
663
335
262
425
317
648
3
658
331
779
975
631
803
826
479
156
472
329
947
274
113
115
781
552
350
952
780
125
709
416
128
427
214
696
377
953
516
794
1
753
368
737
854
526
225
969
319
361
906
21
9
192
542
972
635
949
475
931
70
294
393
990
672
515
737
653
673
888
354
738
792
308
407
174
274
524
838
867
224
672
16
67
467
58
786
243
139
397
801
519
892
747
908
135
888
429
352
248
713
113
723
601
11
67
930
259
852
308
926
647
827
995
578
595
456
973
852
938
693
781
438
526
290
834
53
126
268
687
910
838
16
510
266
84
369
913
549
159
573
284
272
615
227
642
845
484
97
823
444
410
260
491
278
345
114
75
976
332
666
232
298
276
935
847
82
309
432
907
120
526
486
793
675
401
584
685
476
172
6
794
297
823
774
83
732
77
343
989
319
996
516
416
991
349
784
921
688
911
665
585
104
252
640
553
724
366
974
564
711
717
44
136
760
868
802
207
717
902
650
170
621
262
307
232
851
462
222
937
222
379
715
500
188
461
285
362
814
255
484
943
798
103
324
173
628
728
453
769
902
701
218
608
953
452
309
793
181
570
882
152
905
644
946
17
141
758
306
49
419
101
559
817
671
803
467
567
224
295
543
353
189
928
810
270
823
596
544
62
26
367
249
763
748
924
227
355
935
728
920
672
615
376
604
866
873
589
107
831
735
635
4
889
458
733
82
919
315
211
13
841
725
716
793
39
509
813
967
885
105
679
619
971
845
397
831
66
740
589
643
90
792
704
543
573
554
333
158
195
488
328
163
992
714
337
345
716
901
621
402
670
367
641
358
65
945
978
358
541
819
597
247
98
306
313
557
34
528
634
438
935
20
769
620
927
573
740
729
628
52
965
130
262
478
614
3
404
409
334
557
672
551
634
116
493
548
347
294
756
124
103
674
753
104
678
153
337
334
410
644
600
211
611
898
742
353
64
18
971
915
232
655
453
196
758
980
320
483
225
260
743
519
892
280
862
595
299
904
168
29
240
789
582
705
563
639
17
429
671
413
729
91
398
578
95
9
120
854
783
355
622
883
442
312
208
907
149
401
1
862
863
493
218
247
40
152
406
755
366
279
325
930
321
540
167
53
887
667
278
47
267
518
431
426
909
766
935
253
502
133
562
581
833
415
361
114
590
913
895
657
227
475
373
491
23
105
389
959
299
946
753
411
592
519
980
143
228
293
508
134
385
999
693
159
196
640
898
376
888
803
799
548
249
706
118
887
943
395
580
918
341
649
842
849
535
431
497
696
184
197
34
803
663
951
815
460
754
722
706
44
769
50
985
461
579
137
561
722
470
551
327
153
164
780
674
74
583
437
827
812
174
660
661
513
675
75
94
586
225
723
996
529
630
501
767
546
411
27
406
606
977
270
940
577
926
974
522
605
956
662
399
194
386
983
206
338
562
245
712
602
727
268
243
276
73
80
490
602
777
593
301
593
768
74
358
151
887
170
362
29
859
257
438
686
210
76
24
241
843
11
400
512
507
844
375
639
789
497
377
868
593
122
336
881
280
828
298
477
775
542
681
503
3
732
433
681
908
196
129
386
235
749
214
478
924
354
205
16
698
207
615
56
952
337
793
745
531
516
662
645
389
673
541
509
364
536
855
781
539
936
566
711
735
54
564
296
679
917
118
226
336
615
696
638
665
12
138
740
825
257
189
339
452
980
883
861
196
896
119
713
120
466
37
743
939
386
493
120
297
922
2
140
491
535
13
383
62
834
274
132
698
578
357
177
723
397
89
957
294
893
800
484
50
20
769
666
622
969
205
436
858
325
438
559
92
902
693
143
29
520
33
601
118
933
539
317
351
295
793
284
507
801
103
797
777
637
636
639
560
931
843
283
981
208
126
347
350
725
695
885
306
178
927
176
939
474
404
300
480
662
939
177
502
666
576
711
718
149
536
359
607
702
515
731
52
573
581
807
138
295
146
986
27
924
141
431
596
71
573
152
109
531
90
817
771
142
74
549
426
421
6
886
20
660
578
599
707
400
55
316
637
647
934
759
521
746
785
925
60
585
519
732
194
654
990
492
903
570
977
64
12
842
99
705
33
28
161
434
563
947
734
199
217
265
550
247
347
615
385
897
37
383
721
330
9
429
370
100
86
316
657
846
812
59
506
42
684
14
946
732
201
297
162
863
581
41
174
254
595
855
637
207
414
117
72
514
749
80
11
903
881
351
192
986
303
973
923
439
887
212
195
410
394
168
933
177
146
483
22
634
429
752
399
527
965
735
524
234
388
79
52
531
223
84
332
986
281
973
682
561
763
246
31
534
594
959
620
97
685
171
933
828
874
420
938
787
298
758
999
165
786
826
548
240
695
445
714
919
269
427
613
273
208
666
962
290
658
52
964
554
215
469
210
645
871
917
432
864
56
800
538
307
42
576
284
415
32
219
329
843
193
423
175
950
723
89
662
206
830
367
307
576
131
481
712
305
562
606
712
525
369
334
706
838
106
614
829
323
888
629
240
458
299
755
820
51
489
601
1000
629
978
162
275
672
599
256
193
719
838
774
259
622
548
719
244
204
631
682
851
123
847
169
543
23
321
165
623
930
691
399
316
447
69
82
716
462
189
252
898
30
133
491
456
531
44
464
974
477
81
656
672
116
687
686
587
509
903
831
147
908
92
688
952
62
902
466
879
556
764
38
395
395
465
726
81
845
640
754
951
947
88
473
81
252
892
712
436
20
264
106
570
587
860
824
27
616
93
895
856
681
619
258
674
25
733
714
53
318
909
217
867
974
57
310
390
883
416
51
588
444
118
509
56
422
643
711
469
461
301
995
261
68
868
832
483
467
262
566
434
58
906
946
705
86
25
5
748
773
691
608
941
373
847
960
375
531
896
449
290
887
715
488
165
75
81
421
923
146
592
138
672
965
124
769
639
324
763
740
698
346
897
476
7
258
912
277
775
772
450
225
118
90
781
495
283
69
174
131
282
143
526
139
99
429
694
769
193
849
136
963
985
195
469
262
376
824
530
906
110
51
344
461
971
403
184
88
407
559
542
472
134
239
422
503
678
268
832
57
637
781
711
568
618
838
862
679
438
726
589
917
203
896
898
210
288
761
84
89
93
571
452
564
674
196
741
996
1
922
540
788
650
305
608
320
181
719
562
373
342
468
816
241
474
272
36
800
207
434
591
125
590
281
677
599
311
296
833
84
536
897
559
438
211
16
611
533
388
464
352
8
217
557
200
158
814
647
864
731
94
991
500
928
30
894
385
546
509
126
988
48
122
454
566
316
766
516
523
994
896
389
820
598
634
918
655
39
698
311
494
818
319
533
274
887
860
774
279
111
875
613
729
345
718
554
627
343
618
269
772
146
365
252
128
90
325
553
946
332
568
944
118
590
287
159
270
849
528
824
980
943
507
313
351
226
401
50
894
68
591
693
267
505
763
258
19
200
145
454
851
806
447
433
338
933
714
694
227
174
417
114
667
91
575
944
723
597
610
129
557
937
928
513
507
346
932
314
79
491
294
763
585
35
816
937
733
986
158
660
992
33
27
766
967
718
169
174
323
135
646
3
46
818
444
355
935
625
393
536
258
711
775
182
467
139
731
208
693
287
793
504
505
961
415
76
88
52
388
657
538
653
417
854
477
769
931
601
545
157
407
999
623
372
116
639
838
776
202
155
487
169
444
64
29
660
874
903
212
598
680
319
208
712
438
25
355
57
814
483
737
43
285
749
376
585
333
192
233
377
808
666
594
403
857
303
630
47
872
291
126
594
432
892
416
487
72
462
524
433
46
431
429
346
946
51
115
143
147
196
797
639
575
669
274
96
234
271
911
562
233
352
118
721
815
706
535
879
35
408
367
647
271
676
406
16
729
898
349
855
447
711
953
261
93
456
394
837
11
338
995
714
575
399
107
59
869
718
522
885
136
342
256
224
221
95
931
73
451
763
257
125
12
164
325
937
891
243
505
90
879
665
750
887
990
320
36
297
849
802
460
204
281
176
252
479
371
310
601
27
715
609
703
790
470
261
906
591
61
997
167
840
74
924
276
386
985
212
507
189
811
285
353
108
713
694
55
792
844
40
452
556
473
137
499
199
517
146
474
869
123
493
520
492
893
275
636
746
659
258
668
264
458
733
170
553
514
246
205
127
562
692
318
438
835
297
915
548
384
815
261
878
156
640
116
11
483
591
834
280
144
862
354
782
227
985
139
543
349
689
532
801
649
221
432
721
126
37
448
465
548
774
877
175
164
42
990
321
862
927
50
879
288
21
473
943
630
444
293
748
466
580
856
506
88
216
291
152
196
315
825
838
706
954
474
5
698
821
983
951
201
249
120
66
585
963
642
346
847
606
258
361
940
620
938
581
621
260
754
858
983
347
274
901
982
866
167
793
733
678
323
929
350
403
268
300
366
22
76
696
566
855
304
222
175
344
676
530
901
520
403
265
319
115
34
569
398
21
702
881
785
218
447
926
619
341
85
523
230
767
727
760
74
489
634
174
643
63
564
791
900
602
149
282
991
124
117
17
590
581
375
517
286
509
76
656
805
595
767
965
729
387
671
579
594
16
929
679
888
61
382
762
560
643
88
724
50
403
320
515
771
280
203
97
203
907
539
517
468
999
586
194
305
316
744
924
883
682
145
688
773
31
153
68
695
668
607
987
372
761
491
510
948
577
339
650
915
119
352
488
465
663
632
419
468
115
430
3
66
264
553
747
972
772
341
79
144
180
741
980
465
294
37
961
389
71
746
582
331
520
41
277
722
199
788
41
240
603
3
421
733
100
35
365
720
130
303
687
179
15
779
298
532
136
691
921
338
163
112
662
263
723
215
713
265
191
963
457
830
232
909
386
273
380
626
632
812
189
984
320
154
438
122
651
775
469
523
369
980
965
18
261
47
397
897
393
502
921
575
106
578
724
405
169
470
679
312
75
846
716
874
218
407
492
385
536
964
773
202
295
657
462
363
845
420
329
92
576
744
343
279
778
131
946
450
810
343
744
69
780
725
851
203
948
418
595
761
171
235
334
510
29
337
923
27
710
636
747
619
333
990
303
953
162
883
41
840
79
234
531
160
752
397
51
394
180
211
392
620
665
159
996
102
829
324
563
791
973
839
886
179
936
949
17
925
646
657
807
595
680
154
491
679
531
862
282
762
703
4
851
370
450
46
170
524
713
230
450
509
812
692
802
688
510
325
794
459
372
641
329
599
712
367
104
343
53
408
460
466
699
116
613
560
955
508
85
469
539
184
675
523
953
237
446
848
924
341
7
480
537
573
857
485
377
238
668
537
771
117
147
705
261
119
591
241
532
265
295
295
340
306
752
336
414
29
974
970
936
518
317
564
945
172
939
775
936
316
333
611
12
606
487
173
163
240
814
568
635
210
434
786
906
415
289
527
486
500
319
54
594
704
152
162
806
828
795
269
917
685
391
417
596
29
405
757
886
18
535
659
245
712
219
165
621
1
893
923
982
586
8
111
876
353
422
85
792
531
952
676
577
543
804
108
697
321
48
486
880
204
568
701
550
181
706
353
539
436
331
14
720
595
229
739
588
51
498
233
335
62
124
512
604
52
1000
183
961
695
472
735
91
913
898
306
865
872
797
489
724
443
948
629
261
332
146
951
507
296
438
582
182
419
337
226
81
426
901
777
867
391
593
669
729
33
521
116
817
952
991
685
829
810
318
847
905
469
469
243
782
526
453
408
193
512
315
598
690
269
215
206
341
670
371
951
291
874
546
665
765
804
391
46
928
358
165
170
925
171
272
928
572
399
638
774
398
87
104
371
170
171
969
765
626
64
258
685
826
71
545
477
482
586
959
925
603
153
515
944
56
962
59
705
950
317
940
258
292
919
958
140
28
544
295
765
386
873
889
622
462
739
150
430
78
46
21
442
276
977
115
21
239
852
81
485
40
209
387
938
394
241
463
489
494
716
468
832
81
911
23
604
171
877
901
359
177
576
19
245
787
40
90
687
602
708
903
471
418
556
557
619
43
432
921
382
730
270
190
451
575
501
738
271
794
19
345
911
346
524
522
520
235
945
855
823
711
874
223
475
756
672
304
320
453
950
978
794
289
636
129
756
1
727
868
6
308
139
386
656
772
755
474
257
54
909
274
328
46
45
940
500
717
229
732
998
12
517
505
608
823
931
701
578
876
927
704
138
349
804
883
438
184
456
704
761
350
222
76
789
752
389
469
565
103
39
416
538
837
553
726
742
37
50
110
738
466
440
929
391
981
577
498
987
36
200
678
416
484
970
512
395
619
919
309
774
247
80
878
977
575
861
601
548
905
8
632
588
398
608
812
584
717
671
794
771
930
256
505
696
903
993
268
112
329
114
862
649
658
775
312
990
452
563
452
438
118
529
153
810
529
16
653
583
791
851
586
103
293
143
191
428
224
109
624
97
940
791
497
699
922
519
552
621
577
281
845
783
801
887
953
455
54
996
473
498
675
587
537
501
305
446
146
307
566
574
868
370
625
230
873
248
843
462
303
261
496
575
722
42
466
998
742
241
873
367
957
136
852
463
10
291
74
871
937
655
136
798
957
732
667
544
500
511
838
529
609
884
988
625
777
154
221
762
948
93
207
437
647
702
837
820
161
464
66
557
292
438
58
315
424
932
690
297
561
919
587
707
578
527
121
170
87
175
228
649
254
942
461
252
382
743
446
668
294
783
778
635
359
522
461
995
544
91
157
386
977
690
922
568
358
17
554
686
993
165
413
544
379
763
337
85
996
358
316
838
455
140
667
38
205
196
804
511
744
364
102
153
726
660
978
49
357
961
87
826
231
326
420
839
121
875
200
192
252
638
679
380
286
160
325
559
575
923
470
55
261
867
123
762
409
356
588
480
720
970
462
101
306
390
822
767
636
478
691
802
42
376
377
224
114
62
910
162
898
363
588
305
58
837
621
822
67
319
924
863
50
144
418
818
131
256
579
3
982
454
591
368
826
7
139
75
311
760
815
542
537
628
124
637
981
60
287
255
250
682
399
400
383
802
989
261
899
880
745
494
898
407
939
65
323
817
96
575
884
223
604
931
298
798
209
595
173
531
845
422
336
995
805
269
413
465
59
129
215
409
427
558
844
958
389
533
457
388
554
700
330
82
181
165
183
686
727
605
731
382
38
494
91
299
716
657
961
85
161
217
481
572
989
220
286
288
833
876
546
302
13
414
727
482
222
984
395
845
142
941
624
43
869
72
496
451
129
34
703
531
531
354
516
314
518
807
232
933
258
913
748
85
441
576
93
195
848
599
595
837
585
941
848
666
88
62
808
701
361
685
143
313
409
585
445
688
525
784
20
827
863
667
749
416
790
90
973
969
555
500
403
739
187
471
839
792
936
794
879
514
192
484
835
572
591
607
826
990
903
849
350
597
426
119
709
569
771
309
298
142
389
513
157
913
661
645
136
270
128
398
724
650
267
926
859
305
228
454
26
148
143
272
576
108
912
203
453
117
869
689
477
493
371
110
914
13
133
786
288
426
99
424
338
485
733
405
540
849
882
428
857
358
780
484
236
252
343
50
912
883
619
693
748
349
178
973
709
248
230
646
21
483
486
710
763
588
140
739
428
613
826
290
452
974
113
922
843
998
910
490
818
139
124
941
776
945
68
797
57
901
408
868
644
229
874
513
407
544
587
953
517
58
595
687
396
644
153
117
918
683
338
797
646
55
824
618
502
26
53
356
706
82
538
705
711
934
780
874
608
35
112
303
721
929
788
844
104
696
839
34
278
556
498
685
803
402
521
122
244
708
332
807
648
748
737
984
934
524
897
241
455
158
345
557
594
736
122
493
456
782
488
666
570
571
273
555
76
498
643
973
39
580
964
252
370
965
455
323
345
996
577
344
853
3
396
524
309
487
729
59
672
758
512
872
61
434
673
995
319
413
772
962
249
64
794
551
356
417
802
595
703
85
579
314
842
482
9
829
880
669
714
96
442
827
368
469
668
894
200
525
399
417
408
556
405
17
634
373
848
171
136
647
158
191
49
58
164
397
947
945
630
478
949
972
309
925
772
574
253
288
456
592
387
678
994
552
309
594
686
515
848
690
893
261
162
537
765
877
79
773
647
467
924
300
135
800
298
356
152
191
149
336
17
821
998
218
183
980
379
348
218
456
372
95
672
376
630
599
626
344
433
424
112
646
135
445
92
626
792
687
359
56
953
183
540
509
290
106
361
252
251
591
494
166
956
679
566
547
349
766
389
419
979
789
54
163
871
128
321
863
668
877
627
726
561
693
128
376
600
913
417
575
623
997
950
171
410
667
749
668
645
265
658
826
936
998
292
157
449
699
799
973
672
670
774
920
453
996
947
557
738
411
764
593
361
462
620
856
825
230
302
930
286
325
128
675
816
202
400
508
618
124
35
406
52
232
669
108
228
279
91
852
432
525
606
300
839
208
810
28
825
751
303
43
649
600
67
332
486
146
596
359
531
718
368
780
435
38
931
356
393
829
691
222
15
528
465
186
546
138
32
727
73
331
157
702
131
838
61
540
484
997
893
899
969
129
522
318
960
8
896
414
398
331
283
539
375
496
945
645
927
447
174
282
29
559
179
296
805
794
2
796
591
416
494
391
820
561
407
535
657
900
816
55
921
408
424
578
141
8
756
626
488
475
927
622
949
517
426
882
338
408
326
968
645
884
435
447
794
265
168
166
73
940
325
672
405
417
552
268
127
93
984
539
140
814
469
839
143
50
784
395
146
217
501
169
611
281
481
559
402
265
492
357
158
718
142
110
845
493
102
188
25
433
612
404
800
666
382
990
483
275
294
118
811
26
772
880
895
703
273
878
181
340
155
95
391
318
30
766
822
843
871
314
349
813
287
257
240
446
835
164
151
342
744
394
737
827
142
322
915
546
724
241
161
258
824
897
162
711
6
923
791
286
634
16
624
818
347
805
183
643
10
788
650
452
494
594
63
970
619
75
915
826
662
447
596
254
114
740
400
392
795
345
618
55
1
304
832
789
86
324
656
922
776
187
54
115
563
335
826
578
701
955
34
757
727
790
934
763
882
248
452
264
543
114
362
833
542
327
98
17
276
820
583
485
621
393
519
664
961
939
370
219
115
130
625
572
516
836
39
404
787
128
217
781
772
725
315
51
141
119
643
199
938
424
639
673
821
206
32
18
274
156
6
824
809
499
820
602
979
448
670
206
83
851
523
331
587
424
288
432
617
598
966
133
364
52
344
824
873
503
417
694
493
127
926
854
188
309
347
602
66
67
198
94
680
588
756
878
138
800
145
784
586
807
291
670
382
303
417
383
173
797
593
74
101
599
363
724
607
28
600
322
618
242
586
619
436
396
743
844
323
624
590
41
574
421
260
918
885
619
368
253
934
47
77
908
403
390
3
467
106
470
955
336
517
404
607
937
718
653
878
254
750
942
203
565
384
484
875
686
594
679
354
403
373
719
737
89
111
111
642
654
403
161
336
114
80
899
322
47
199
738
506
118
944
417
728
682
709
413
688
187
81
62
270
727
132
92
800
655
176
122
104
565
131
968
35
352
705
262
801
264
907
971
550
69
803
915
606
479
995
241
247
989
42
144
103
149
954
820
106
57
872
756
395
606
328
968
778
540
763
748
99
957
534
794
391
255
309
351
764
847
556
118
784
216
815
253
532
976
614
743
610
673
127
782
121
979
177
568
40
795
749
110
475
529
981
208
1000
473
484
775
649
779
939
53
161
994
148
74
768
512
93
943
142
567
110
119
142
600
993
880
619
930
675
627
872
644
165
455
315
556
598
719
516
907
540
916
64
156
227
299
663
907
4
57
408
501
57
805
491
268
465
343
446
784
713
381
636
715
67
954
874
16
628
779
961
303
462
682
438
189
937
533
51
268
272
834
246
204
362
210
527
86
143
592
657
793
96
789
491
631
36
488
692
923
966
467
712
516
638
929
188
434
392
448
353
11
57
946
131
878
906
505
352
127
180
585
908
817
259
376
763
741
337
633
393
52
377
291
660
873
186
586
114
540
698
182
418
475
934
45
931
965
639
374
470
355
317
970
945
216
234
808
853
84
960
447
588
265
206
103
149
17
31
926
110
161
977
998
630
770
317
79
908
155
414
984
698
791
126
710
417
176
301
170
961
871
665
403
506
149
836
687
511
705
766
821
601
905
638
182
249
889
137
844
979
655
72
196
328
939
499
957
950
279
878
489
59
214
285
574
876
905
397
600
850
849
765
231
239
537
894
199
15
62
769
798
215
698
772
35
538
444
385
167
457
335
668
520
118
112
281
69
51
488
724
263
82
814
549
955
842
430
539
99
995
363
210
119
598
303
578
404
51
22
781
480
711
454
57
767
575
681
542
712
395
989
565
303
217
955
401
627
592
262
960
164
681
568
502
14
29
294
286
51
50
622
970
339
159
369
754
769
62
631
434
984
908
278
38
142
898
420
228
964
469
966
414
817
338
259
413
282
579
558
511
782
336
847
13
358
992
15
693
620
379
4
106
203
106
888
340
837
188
185
677
263
951
934
548
772
605
180
360
120
992
561
23
929
739
623
483
453
459
353
176
755
716
152
39
959
154
155
704
175
602
354
498
148
954
464
166
438
342
848
589
183
448
105
321
68
782
118
462
204
439
444
264
972
126
968
850
800
244
606
609
10
397
703
160
564
21
463
251
574
728
404
600
894
558
349
476
980
590
910
771
485
253
775
431
715
254
368
341
167
225
594
235
855
106
468
713
30
771
392
238
191
613
723
823
6
628
65
206
869
51
408
469
332
738
835
452
599
302
24
804
574
481
188
174
722
325
396
905
131
585
473
531
703
112
768
548
408
156
152
216
830
228
519
582
68
556
939
553
191
260
344
568
49
65
309
386
216
749
34
544
267
551
133
276
335
455
199
97
185
593
402
774
560
21
568
103
669
770
303
805
37
376
704
806
814
76
122
409
872
459
277
112
650
658
710
379
774
89
229
255
930
342
508
549
329
74
465
222
395
654
372
768
939
881
927
585
222
289
667
814
746
456
157
632
553
236
396
780
72
23
726
946
301
21
331
693
193
942
128
821
654
767
390
389
487
961
19
165
940
35
751
914
259
450
893
778
801
648
447
970
798
428
576
156
834
958
411
173
460
497
148
210
128
264
230
148
833
984
147
556
385
333
86
727
286
891
178
245
527
236
622
764
445
484
286
114
998
956
726
354
405
594
709
119
147
469
467
451
722
969
872
313
406
266
673
175
496
264
730
357
161
509
891
321
81
483
841
720
506
288
712
833
239
976
759
936
304
688
704
274
770
314
628
594
222
615
447
549
943
615
80
937
681
587
385
412
252
170
809
215
879
959
520
522
321
442
426
193
336
280
147
66
992
766
458
459
606
736
154
214
908
344
621
416
109
896
591
944
135
351
702
114
249
210
530
979
626
252
687
313
240
971
429
885
580
648
991
423
315
690
498
569
990
239
897
201
260
106
806
729
945
734
575
380
422
270
117
994
462
793
292
592
645
423
687
801
932
330
677
253
781
625
526
253
446
763
151
288
736
326
839
505
582
32
889
852
188
361
657
420
432
486
925
442
438
54
886
537
929
954
264
29
42
404
263
603
780
586
117
126
176
546
955
205
542
308
616
922
879
956
796
256
653
951
629
877
633
100
394
367
466
405
534
435
927
486
602
364
588
379
63
733
750
330
82
479
62
579
593
458
180
283
960
981
220
415
475
257
495
935
810
260
228
542
282
320
490
54
443
645
644
843
89
56
909
756
256
466
530
660
131
987
186
76
118
138
924
374
474
274
911
641
34
278
717
661
549
494
697
397
77
128
246
997
666
590
380
611
325
809
136
262
870
117
715
587
794
162
216
508
756
191
9
821
597
216
536
227
101
782
358
540
826
526
802
717
432
241
415
832
897
931
773
346
885
215
866
833
332
470
422
833
980
334
37
670
234
504
909
845
163
325
312
122
933
292
674
518
238
438
286
199
539
555
196
717
46
333
829
106
404
789
213
123
10
827
480
288
710
349
468
482
398
132
863
527
694
573
269
594
438
499
33
278
232
471
418
872
620
388
941
728
779
741
315
562
828
585
432
253
893
130
275
942
142
883
463
262
850
423
375
100
435
245
462
611
66
560
370
105
128
586
3
52
331
676
479
662
707
553
221
433
84
47
103
592
881
977
647
593
225
257
760
693
478
867
390
160
193
63
800
846
456
97
833
721
303
752
696
420
629
193
279
58
586
12
964
330
985
841
220
416
611
565
3
314
699
34
144
1000
25
100
427
269
205
987
76
170
820
275
662
730
953
225
265
34
535
798
887
814
691
472
686
394
906
860
596
225
412
262
306
261
689
444
347
135
303
390
270
384
653
274
494
45
334
614
435
512
970
432
946
934
332
246
938
334
503
896
274
296
657
528
714
320
720
539
684
891
858
936
147
900
227
339
695
287
894
815
267
704
163
843
541
533
816
970
190
816
930
122
613
543
992
133
704
242
18
771
493
22
265
431
197
61
891
703
374
9
639
254
331
953
190
754
921
384
365
177
162
75
732
386
867
910
537
817
612
475
44
991
914
646
563
777
480
525
423
574
706
806
126
73
413
48
760
833
967
413
488
685
515
129
613
901
64
308
268
121
514
792
272
279
575
364
43
156
679
18
798
719
651
977
387
120
885
792
286
82
219
172
219
396
534
161
821
447
338
899
565
6
234
481
887
972
248
358
102
452
415
336
200
295
920
433
96
183
327
820
216
488
154
562
595
345
67
147
790
832
528
635
998
712
579
789
740
930
747
743
348
931
806
604
282
937
189
862
983
484
403
666
600
916
714
808
388
9
701
738
23
597
17
43
378
877
845
616
542
58
86
160
963
164
272
780
680
84
567
137
512
415
976
78
925
252
85
681
87
849
207
385
230
978
818
258
49
897
560
454
319
76
880
629
301
206
602
408
779
569
311
980
791
530
487
592
181
805
725
974
129
122
217
726
720
111
922
315
428
542
482
582
110
539
1000
646
751
25
256
623
720
447
790
870
749
784
574
341
192
946
643
222
379
923
161
211
35
490
883
679
806
823
846
507
918
111
475
531
841
173
931
410
666
78
705
207
547
20
944
128
190
8
925
682
867
494
453
981
838
678
661
37
387
100
861
658
908
79
644
28
593
718
364
103
315
466
550
723
254
709
494
744
639
429
515
548
762
774
922
4
51
262
715
329
581
454
458
326
862
131
562
154
134
418
400
144
663
833
330
139
761
941
686
529
310
148
244
432
608
197
501
448
245
60
339
38
553
293
284
858
875
369
653
296
545
151
293
86
12
461
529
81
953
663
167
196
609
252
103
83
803
751
159
313
273
585
258
724
13
225
955
100
304
587
612
560
976
585
271
849
239
767
322
240
126
167
643
897
149
869
779
364
336
271
84
315
163
745
466
809
260
164
544
86
975
785
558
369
995
113
343
223
307
642
43
781
657
834
996
537
577
314
426
474
759
998
121
10
251
808
315
618
479
699
339
987
625
943
440
316
200
25
361
627
23
31
900
7
923
116
664
345
648
488
698
419
427
377
455
177
571
606
860
658
281
709
831
294
608
41
687
256
73
933
327
107
58
768
941
267
469
782
256
690
551
519
26
742
976
111
546
447
494
992
448
161
500
224
966
269
843
331
113
658
84
455
953
600
203
655
271
120
428
402
428
148
485
659
147
491
53
459
311
184
613
553
557
867
235
540
640
633
14
853
70
207
55
132
473
428
887
799
517
745
188
90
3
821
483
431
881
445
299
794
565
613
882
564
890
59
144
586
448
510
21
209
854
644
756
615
699
65
938
196
542
602
316
492
345
903
485
23
157
586
583
397
697
202
4
196
714
851
991
534
677
618
680
585
353
874
770
83
334
130
592
559
413
343
719
25
979
496
670
934
300
826
479
515
610
289
67
977
450
723
436
669
558
711
672
16
952
308
598
924
529
651
762
405
617
973
70
366
466
681
23
867
548
978
999
661
907
966
434
495
517
309
81
495
761
276
744
913
692
466
9
663
693
565
545
386
526
263
474
192
522
833
167
881
840
978
576
164
319
206
880
362
418
431
762
109
142
468
161
828
666
821
656
135
555
476
990
873
113
407
387
170
390
188
432
779
837
362
294
973
398
242
978
418
87
386
97
807
738
308
403
479
673
904
924
915
469
655
106
790
916
940
785
193
465
662
185
759
205
991
369
707
443
200
740
190
472
482
276
953
20
123
119
16
127
644
44
993
979
301
126
695
258
891
583
872
165
917
406
305
143
17
881
958
691
976
500
599
386
824
106
90
382
241
322
545
206
977
443
700
623
42
23
113
708
198
303
278
50
680
507
338
158
116
758
843
750
369
57
922
586
351
306
310
895
928
843
899
255
685
353
888
997
689
268
121
802
373
998
922
200
308
412
605
96
955
1
804
281
455
59
994
123
122
50
859
300
588
33
654
440
501
669
354
63
246
844
179
4
406
412
6
830
607
884
331
421
918
174
661
935
226
642
671
931
850
760
12
257
196
707
404
654
455
52
516
709
159
512
214
923
931
406
903
169
900
93
110
741
80
128
915
538
462
317
535
663
691
154
179
842
1000
349
279
665
472
290
344
555
824
319
954
783
633
626
901
576
342
448
52
586
432
985
297
524
863
108
854
788
279
534
271
293
458
562
719
525
225
900
532
20
342
363
509
131
915
418
191
916
491
671
177
442
349
372
571
620
431
942
788
927
10
335
318
7
428
765
489
218
225
987
928
624
523
807
205
812
805
4
105
182
122
118
65
21
319
899
586
781
98
282
848
449
583
915
329
789
619
149
953
569
181
348
207
552
141
139
665
177
116
891
608
364
294
360
746
794
918
891
579
374
606
19
607
305
782
604
409
347
274
869
595
392
588
833
804
461
438
685
147
552
862
551
36
574
672
4
848
771
26
373
723
613
638
607
652
127
513
991
121
39
118
501
788
896
583
948
83
545
882
375
123
956
914
332
84
418
90
768
995
525
308
294
934
243
195
451
796
559
91
475
102
872
549
741
815
339
40
709
772
835
168
750
111
62
915
628
47
615
370
812
447
473
935
19
918
476
231
549
536
858
776
55
927
749
79
351
139
930
918
756
633
767
475
232
763
416
437
302
307
874
388
304
999
403
557
48
475
175
526
371
759
728
558
372
222
963
29
367
924
980
865
703
391
989
970
629
191
904
398
352
76
11
394
254
128
254
527
9
51
286
825
5
702
413
195
9
31
947
470
539
806
313
58
745
913
419
566
904
558
464
718
830
382
324
578
583
385
142
376
883
538
527
206
542
158
37
497
31
426
270
414
40
912
908
310
517
630
557
921
183
904
54
231
11
310
215
886
452
41
642
533
485
328
318
723
710
937
198
864
777
375
885
258
414
134
814
415
201
220
42
697
21
234
870
848
812
488
62
90
835
985
311
305
199
613
970
274
768
571
803
71
910
856
624
479
771
644
295
744
878
528
463
66
914
848
806
969
462
833
340
104
345
868
471
93
958
939
117
740
638
274
165
305
704
217
948
569
245
670
237
98
139
749
419
460
59
923
176
138
419
532
993
550
310
497
236
872
474
5
401
359
298
147
338
450
595
798
940
236
689
511
800
806
939
850
829
581
371
352
676
963
542
289
57
578
95
485
788
910
721
715
405
359
414
642
715
624
968
786
558
838
627
814
321
71
704
249
489
654
742
820
601
270
506
808
532
933
683
140
909
746
667
483
841
837
233
262
861
965
205
339
126
85
453
88
471
572
687
741
883
929
556
142
312
517
474
537
506
270
493
617
757
409
253
781
982
886
718
527
609
666
980
940
85
971
883
480
653
307
577
677
245
440
451
841
947
455
14
651
521
724
462
308
894
895
627
942
347
983
933
176
398
265
799
20
987
974
653
792
658
700
352
387
865
10
332
986
396
39
270
301
203
726
365
492
567
890
625
214
638
609
689
628
867
174
798
817
746
496
474
752
570
944
386
858
648
501
632
274
506
589
380
94
126
70
394
229
232
743
499
57
919
134
422
689
692
473
783
495
131
554
224
536
914
598
808
664
929
324
828
361
555
202
143
837
942
233
980
502
338
689
905
699
56
949
337
509
680
941
526
501
517
725
405
537
65
441
105
138
527
192
199
444
964
412
941
525
747
940
870
619
350
323
128
937
399
840
794
795
109
345
312
187
878
336
842
387
900
569
983
801
56
125
843
100
264
100
907
580
706
980
453
853
29
327
567
187
719
624
943
261
316
972
726
669
38
906
631
224
699
739
467
41
487
704
939
362
312
659
342
341
925
277
332
340
962
438
467
786
388
23
619
344
542
420
702
943
164
843
340
219
298
975
264
35
955
576
256
55
755
401
386
804
570
206
154
225
340
675
896
548
818
798
470
155
21
633
818
250
517
381
461
340
498
411
366
928
818
212
923
382
747
220
939
608
245
159
681
56
982
812
983
557
142
130
352
691
321
185
835
690
447
774
107
375
711
391
906
263
971
907
432
750
917
505
823
278
609
364
116
429
621
102
393
230
153
243
965
296
934
816
494
85
639
740
967
205
868
820
265
650
399
38
909
861
582
297
209
713
249
951
680
888
425
250
64
607
485
293
737
360
116
222
561
94
614
153
499
318
572
760
431
701
992
568
624
38
212
702
281
923
803
272
435
62
780
637
184
913
48
490
968
285
983
88
117
577
471
982
388
589
497
278
602
203
602
803
750
812
149
556
156
23
332
465
361
71
316
794
424
354
712
483
213
691
844
372
108
212
889
489
242
290
48
549
44
544
354
392
384
756
571
327
53
467
943
274
681
162
185
124
422
169
246
988
921
872
800
848
133
354
369
667
541
369
259
200
197
391
203
587
799
563
709
287
713
542
658
113
435
611
593
877
510
934
497
668
321
505
577
886
490
153
735
933
841
965
950
910
31
615
748
744
967
384
310
915
66
102
540
390
305
865
574
375
698
113
828
263
566
611
623
489
472
919
881
72
220
184
127
260
655
473
286
80
314
409
356
560
152
564
61
65
692
940
20
483
906
858
799
968
111
757
445
583
908
731
765
430
983
112
637
830
170
27
127
680
737
699
28
357
290
140
728
477
41
64
959
332
445
63
106
67
359
519
202
548
958
309
660
352
608
92
73
549
778
828
148
745
867
272
923
380
492
331
952
405
413
574
84
297
745
665
764
810
545
188
546
7
159
122
646
879
947
242
922
291
136
836
609
105
577
432
518
60
141
667
172
386
316
61
532
216
343
196
541
542
874
730
708
864
715
754
362
690
680
225
975
727
965
604
207
968
749
356
888
842
900
691
226
286
774
766
910
868
108
583
641
86
909
989
848
585
45
519
2
290
8
272
977
423
905
699
388
927
287
924
671
99
889
204
974
114
655
226
575
691
728
202
642
370
208
153
637
737
572
326
560
458
612
449
529
186
622
381
907
216
377
804
283
291
100
751
169
90
249
166
161
762
436
179
677
310
213
452
101
776
773
792
328
936
844
179
244
666
164
530
636
214
1000
783
384
377
66
361
579
963
88
652
360
15
996
942
874
935
386
127
714
80
468
605
644
372
184
14
148
201
569
821
626
198
698
353
596
475
781
536
361
579
23
476
948
719
932
22
32
773
601
628
737
236
367
141
888
512
939
654
336
920
717
154
413
351
582
539
466
776
868
490
680
696
553
812
62
197
10
106
565
475
774
78
806
578
863
326
731
645
191
216
872
88
442
327
580
14
598
989
683
702
999
642
586
55
393
103
733
807
971
336
679
698
757
981
780
969
72
752
628
293
997
759
946
706
886
967
568
194
39
301
543
319
564
348
129
693
307
215
659
156
508
864
812
237
475
175
823
844
137
41
570
151
843
51
273
359
104
702
732
316
307
608
666
998
588
897
736
515
176
822
239
582
504
653
315
400
310
48
751
486
760
456
77
285
340
588
752
318
924
591
653
228
926
413
964
324
903
746
835
107
328
62
844
873
506
528
388
640
744
987
623
574
4
772
448
571
176
869
363
882
49
799
695
461
805
668
849
260
563
12
720
807
114
425
353
242
463
477
265
437
242
93
577
958
334
383
257
387
317
915
325
982
418
527
820
725
750
111
709
558
518
210
680
21
727
902
926
551
705
204
646
425
391
136
924
705
913
672
99
558
456
36
498
31
807
184
641
672
228
847
617
417
527
242
365
788
283
382
35
783
172
933
387
772
291
763
491
376
142
619
587
545
714
857
34
15
693
817
737
896
378
179
296
397
333
637
416
603
145
291
741
769
900
452
427
813
187
958
206
569
457
674
604
889
589
585
286
849
353
787
206
189
275
697
343
579
78
40
328
478
497
496
222
158
749
426
981
925
361
747
945
703
372
861
791
904
156
528
952
973
225
695
484
49
443
604
684
979
972
949
579
264
169
443
553
640
384
938
966
662
268
157
618
52
776
153
303
621
519
872
491
199
512
560
396
429
616
304
298
202
214
710
998
216
714
558
734
427
511
299
693
130
926
427
513
35
470
76
801
974
512
695
763
814
40
246
470
748
751
233
180
362
159
750
390
812
732
890
967
966
354
94
798
622
548
460
884
749
967
582
700
250
645
238
943
924
364
135
494
141
293
942
555
238
740
71
405
819
445
6
184
921
388
487
425
493
437
538
796
755
535
155
668
776
307
432
667
55
123
61
329
966
686
430
348
683
131
985
663
611
522
139
828
393
318
772
664
294
118
275
210
117
489
184
369
864
217
660
440
1
651
479
966
560
133
728
895
292
674
106
125
736
156
579
879
394
318
173
234
147
728
826
331
686
736
570
464
3
123
782
288
922
827
896
835
241
615
732
913
306
41
590
713
734
387
324
133
571
502
900
418
382
656
347
192
638
568
593
858
302
751
407
659
696
186
548
366
567
147
283
713
780
656
622
186
205
679
973
731
179
663
446
247
409
424
700
497
255
709
29
192
179
8
409
579
513
275
324
800
836
298
504
667
988
363
156
258
123
742
868
934
306
253
142
934
853
832
413
716
969
604
508
598
309
429
700
56
725
256
946
246
845
944
382
925
88
347
905
975
408
613
498
158
346
612
956
561
934
342
890
419
642
969
134
688
810
880
253
730
948
768
394
990
891
291
598
377
29
301
580
330
741
975
134
246
721
451
549
9
92
716
862
873
103
579
348
809
691
507
367
778
405
28
582
57
30
131
614
874
719
845
377
144
631
736
735
998
856
583
571
150
873
904
103
877
938
315
39
531
542
937
191
70
531
192
287
20
580
355
4
689
429
194
722
178
733
853
85
950
406
908
218
273
56
182
384
858
522
458
911
405
475
725
496
567
815
957
324
60
874
721
38
237
459
82
252
516
416
406
192
405
721
637
32
775
32
539
681
208
305
234
99
948
318
59
690
980
903
423
972
271
270
860
513
37
46
923
62
177
578
928
936
706
580
781
950
92
435
316
635
879
353
603
30
901
59
706
95
666
947
193
655
228
399
542
839
930
528
237
190
992
718
972
960
767
155
878
611
886
23
91
256
219
127
310
537
718
536
216
463
791
200
734
862
788
675
190
368
546
753
314
358
729
248
944
816
851
244
976
902
478
804
820
886
66
527
173
225
319
377
369
748
725
867
984
331
156
50
639
983
16
739
138
959
457
63
175
366
600
736
862
765
532
422
223
404
87
171
631
88
82
199
876
127
699
205
202
470
191
14
153
924
941
590
550
299
176
361
245
421
311
340
550
245
991
780
422
684
371
934
533
367
95
46
331
269
708
869
84
37
966
855
684
876
607
652
672
84
684
705
560
637
465
558
3
795
262
927
827
305
268
737
190
667
648
80
409
858
665
511
112
65
579
163
386
301
451
926
573
162
702
343
176
667
506
904
123
823
648
181
278
506
479
579
659
325
984
529
317
360
800
631
162
42
212
581
379
18
777
730
188
508
244
777
876
549
867
387
978
500
37
514
427
397
402
823
297
18
295
872
493
47
321
672
364
331
439
816
759
40
719
610
489
470
241
578
494
355
254
224
283
806
830
179
381
415
715
736
546
631
968
287
560
266
311
373
203
856
787
888
864
657
462
498
903
249
411
455
489
85
165
822
135
835
133
592
585
34
223
273
983
371
83
344
522
958
882
362
881
20
547
639
785
766
703
129
981
647
381
569
772
816
680
997
991
347
185
458
966
719
945
111
611
129
159
940
216
433
583
10
919
888
830
487
126
453
370
697
313
51
64
106
782
94
477
447
899
566
48
158
312
139
459
938
406
100
154
501
12
383
48
527
15
609
880
429
21
833
586
767
706
675
275
90
808
579
121
481
985
238
538
370
918
622
488
989
105
638
709
417
762
162
900
312
151
98
631
297
397
126
885
440
594
46
603
452
566
944
586
988
177
926
409
956
468
864
744
831
256
379
646
739
4
299
908
550
950
957
519
264
482
991
680
759
710
748
539
347
26
17
34
659
192
567
792
90
177
887
17
399
511
601
715
118
407
269
387
60
279
657
540
598
570
115
976
371
9
407
843
721
484
180
846
469
764
272
876
634
173
245
520
283
166
838
592
1000
476
521
852
396
111
961
558
666
37
36
337
444
829
932
168
129
889
11
899
389
130
375
842
773
141
486
472
263
959
747
124
66
498
737
923
196
626
603
868
190
599
237
101
818
317
5
931
804
417
181
91
370
753
741
51
895
209
856
947
98
112
220
828
928
745
363
474
778
571
212
4
753
827
468
847
427
95
818
436
970
299
600
125
560
314
311
474
714
80
260
959
559
625
746
639
67
924
373
43
990
865
494
798
551
908
340
112
951
179
65
245
414
892
812
536
782
936
907
381
659
430
468
806
714
823
33
904
28
875
292
479
308
456
652
691
399
660
147
353
734
146
179
803
300
7
642
964
253
667
286
274
497
536
575
661
470
144
863
630
862
523
467
847
186
426
68
291
988
794
960
166
938
559
824
305
239
484
87
689
563
214
437
70
216
168
705
408
353
188
214
982
819
80
585
586
653
350
228
182
385
425
950
750
963
630
628
823
605
18
468
405
893
920
135
536
156
729
976
741
548
8
617
32
287
491
446
905
164
900
898
988
796
838
978
626
101
139
183
675
101
230
820
253
495
1000
744
977
384
637
700
497
182
658
777
751
992
136
983
441
695
703
552
677
561
496
426
597
448
609
272
48
580
997
539
92
409
21
268
166
331
968
846
253
862
982
434
260
429
783
531
161
95
448
48
122
416
308
277
970
71
717
369
873
109
26
281
34
440
630
650
531
664
339
748
160
464
659
476
326
566
783
350
517
684
238
555
915
997
137
452
18
411
969
370
939
289
677
102
221
384
542
329
588
423
52
60
42
163
500
306
108
778
525
392
845
98
204
728
420
590
566
393
698
948
617
587
275
819
42
857
849
496
766
36
629
395
475
968
730
723
990
456
158
45
133
327
24
394
354
140
87
143
909
893
614
115
827
986
765
317
264
845
453
218
87
851
652
751
683
643
656
33
80
449
662
389
416
807
373
393
685
953
11
514
475
181
236
454
97
678
22
386
120
704
428
153
800
501
549
916
345
955
694
891
236
915
941
572
73
991
812
282
536
847
738
983
78
254
363
29
931
652
514
931
841
557
815
283
691
913
539
707
863
426
248
44
726
954
198
35
137
314
258
461
196
197
331
1
803
461
843
89
752
773
928
726
188
405
324
449
266
17
853
713
757
439
598
469
171
753
514
89
678
509
282
643
759
500
673
195
16
336
533
977
73
16
800
232
779
778
612
73
235
797
668
917
307
699
486
915
333
446
96
362
755
873
13
200
233
50
31
629
631
680
519
291
920
954
382
665
661
624
816
130
242
589
293
584
436
938
958
684
165
234
773
488
611
794
288
764
894
868
864
301
616
896
581
296
493
503
766
314
138
461
327
370
848
640
601
388
850
873
455
669
98
742
744
49
129
516
58
77
894
875
883
905
761
569
908
585
91
906
257
103
847
767
819
799
758
905
718
791
425
417
156
641
591
640
573
771
530
164
43
85
116
321
359
829
690
301
66
992
281
973
992
418
79
628
531
393
311
98
952
673
846
133
567
784
921
504
440
962
322
8
629
290
282
462
685
416
119
794
209
749
314
573
817
164
359
634
789
79
201
997
981
216
495
944
359
484
230
929
634
208
499
994
29
349
309
485
184
466
378
183
550
901
793
372
403
91
266
22
789
956
468
993
288
25
584
91
465
358
815
897
304
311
997
502
680
921
914
688
168
989
163
618
75
963
597
819
622
355
514
75
626
767
722
895
844
519
550
344
415
549
677
388
451
487
387
376
901
765
473
901
251
215
556
99
507
836
46
391
169
340
273
766
566
625
630
978
42
550
686
451
930
256
310
245
181
804
833
192
793
92
124
169
902
844
287
555
527
965
321
78
434
722
744
651
584
987
643
287
884
293
33
858
763
523
749
291
198
877
282
775
393
160
128
675
264
552
242
182
231
752
132
123
621
789
990
19
132
875
981
187
415
367
517
656
788
273
861
689
550
807
926
974
80
123
472
919
203
750
231
23
855
214
640
15
124
6
1
284
177
353
862
169
403
221
334
798
342
597
891
558
632
378
891
682
224
134
725
142
627
583
998
802
736
898
622
720
147
835
31
633
470
246
985
894
281
761
591
550
816
287
253
839
426
497
197
102
94
687
148
6
38
186
485
7
528
39
893
179
577
799
163
919
83
118
259
505
327
231
193
204
493
624
579
406
3
885
949
273
6
221
47
518
347
195
343
221
668
973
971
44
106
805
141
808
181
495
790
169
98
343
978
32
645
415
7
433
269
21
797
838
733
966
381
208
931
493
695
709
95
798
4
664
602
703
440
175
53
336
105
885
119
655
109
498
866
277
730
8
960
335
626
65
149
43
619
556
944
221
152
248
211
284
927
330
731
112
596
748
390
759
639
533
811
204
708
712
671
173
787
995
891
648
514
118
144
810
843
667
873
30
71
209
99
36
893
759
832
481
779
5
814
15
465
176
682
382
745
143
330
201
109
151
454
870
929
573
767
463
110
203
353
588
70
894
990
902
934
838
34
410
618
319
655
708
272
615
757
70
178
570
960
627
808
487
361
933
181
198
635
887
55
550
223
333
790
116
976
639
882
608
635
216
276
353
979
273
604
186
267
15
336
297
872
174
730
888
647
992
117
963
584
748
746
257
836
479
910
34
978
817
539
510
716
752
775
705
869
699
333
812
576
462
561
608
153
554
239
969
910
862
78
319
575
847
794
701
618
270
407
231
963
989
97
867
20
471
574
805
951
498
397
309
376
30
92
473
512
258
267
198
817
716
95
712
843
718
709
23
880
486
68
55
406
95
802
628
70
745
390
60
171
936
777
936
113
848
207
509
370
593
609
254
841
21
342
358
304
474
502
299
876
196
255
196
8
126
879
356
542
437
276
250
827
500
732
195
674
929
607
189
202
962
460
642
266
733
833
261
207
908
548
968
113
766
919
521
663
35
697
468
888
709
945
171
847
625
277
882
324
802
55
295
123
407
218
561
430
740
374
486
38
841
688
513
908
111
859
156
672
897
189
721
206
97
346
535
311
668
917
393
889
396
264
630
736
391
518
15
224
557
762
675
672
721
585
380
201
200
235
822
209
323
521
957
367
826
489
110
240
129
628
273
187
161
35
977
217
836
537
178
838
260
239
823
777
470
335
161
615
815
334
413
37
117
12
86
380
378
521
121
613
129
88
17
720
457
643
303
657
407
528
9
758
688
186
295
467
585
318
20
762
549
580
833
476
190
301
330
18
307
47
891
656
127
157
124
603
178
476
219
656
53
621
114
12
881
79
97
207
486
308
365
805
66
798
80
613
723
766
710
692
309
711
740
360
901
612
397
748
633
923
689
159
785
861
862
672
769
686
398
964
111
829
781
267
605
726
574
776
571
197
786
568
539
18
127
269
767
124
496
304
679
512
988
551
721
508
752
596
122
518
298
612
772
760
204
90
735
776
743
243
932
708
645
945
176
411
49
500
52
495
739
336
98
294
907
997
367
577
21
424
736
529
851
583
246
192
346
947
356
50
858
209
253
912
143
870
245
592
685
27
823
133
152
762
224
488
214
29
151
631
514
831
879
65
334
775
129
536
375
799
960
602
112
7
396
337
391
18
679
102
289
207
854
789
775
537
832
360
362
392
218
831
793
21
980
68
768
698
431
878
840
704
133
949
955
567
42
96
496
806
641
146
342
560
855
535
211
90
257
367
444
132
455
223
508
471
576
523
688
887
429
584
847
879
309
834
678
135
359
805
550
773
88
663
940
794
941
998
427
3
782
543
406
938
787
284
5
933
500
157
165
545
759
160
489
9
774
240
244
239
909
753
871
196
591
657
445
85
359
837
809
952
263
136
501
731
705
719
192
678
327
393
75
454
772
355
518
806
927
652
372
906
812
320
488
965
400
770
377
608
462
482
459
888
14
495
996
507
57
501
657
995
62
549
620
125
127
520
277
816
776
569
871
123
154
647
884
703
763
108
562
312
929
106
752
471
931
211
136
427
85
169
25
936
88
286
98
202
643
214
870
486
700
268
220
558
651
553
985
141
494
311
526
948
242
866
132
756
875
500
345
156
706
366
581
315
353
309
925
114
397
58
598
465
451
816
403
525
559
708
397
737
787
888
142
351
409
377
172
129
301
844
689
458
54
638
125
955
815
319
902
981
69
844
626
168
408
332
995
196
833
46
896
553
288
784
523
963
936
446
865
487
140
880
581
33
261
479
95
182
136
214
742
765
548
891
918
585
84
503
489
70
542
439
170
368
409
208
169
618
53
56
185
678
926
532
741
609
497
619
925
577
621
533
834
675
772
653
407
343
881
340
883
691
529
613
804
61
896
708
364
562
184
594
884
182
178
405
403
284
254
573
662
968
412
165
266
819
835
570
427
8
91
199
511
608
319
321
524
224
648
498
820
741
676
332
547
46
27
418
774
114
883
432
831
682
930
291
95
108
328
181
386
655
157
36
128
595
285
755
679
41
781
28
571
319
768
163
888
71
101
695
740
957
379
909
544
37
569
589
871
409
945
475
697
668
171
926
242
117
55
222
990
403
952
818
120
466
818
577
308
242
649
701
825
562
420
634
874
94
635
685
401
947
324
504
948
806
635
821
696
43
175
57
531
288
917
523
837
380
771
897
695
417
926
629
400
912
650
692
458
651
543
848
776
963
152
231
338
511
462
565
503
613
22
798
973
376
357
265
599
566
891
756
473
261
817
41
141
809
215
426
372
490
255
947
635
612
511
643
343
463
235
158
929
657
961
601
70
927
939
206
691
368
728
834
907
427
725
751
735
724
552
471
234
876
974
644
693
118
475
106
653
399
705
265
821
55
758
907
401
897
639
376
948
742
344
834
652
995
693
966
840
878
424
58
581
302
88
850
506
179
962
969
342
162
552
982
199
457
243
368
358
315
304
741
151
290
787
715
558
152
788
674
291
590
204
548
471
489
360
424
492
618
831
423
298
19
389
846
81
249
218
7
385
903
474
537
674
534
813
177
721
133
730
278
562
866
415
235
355
627
371
120
203
288
230
607
896
216
14
100
570
765
621
646
469
949
444
838
379
446
862
388
780
398
773
489
468
237
511
383
190
881
214
789
847
225
196
964
932
788
917
205
185
758
934
568
877
428
589
387
760
225
280
966
476
72
833
458
128
854
918
524
800
130
434
834
54
50
502
847
792
621
36
602
447
110
848
439
145
374
925
668
339
329
793
214
449
628
869
169
172
825
319
1000
495
969
222
900
901
625
757
377
881
759
757
726
708
805
170
475
320
503
927
228
315
748
230
596
291
822
511
73
196
810
187
759
932
954
856
834
180
953
755
546
304
963
176
266
237
138
988
866
448
84
600
262
454
537
497
475
849
874
943
978
475
857
576
396
228
98
396
880
918
333
71
580
787
525
598
683
552
183
79
438
311
64
794
426
238
591
803
87
773
910
32
184
917
497
153
449
330
621
624
130
152
764
914
538
857
322
296
965
4
512
572
576
421
436
769
923
260
676
130
780
324
638
707
874
272
82
486
943
622
946
235
226
941
598
220
172
269
130
510
646
608
157
858
392
255
862
19
821
868
706
957
488
418
290
587
750
591
378
579
183
797
945
285
307
647
442
6
35
679
180
711
69
126
826
753
146
744
548
333
632
63
269
237
470
935
801
865
919
933
404
662
799
962
436
877
212
446
313
966
833
576
972
97
892
404
372
907
911
18
363
114
133
642
411
618
284
267
246
436
34
324
523
221
38
11
932
106
929
105
41
320
38
456
329
352
858
950
505
464
495
387
212
950
447
596
659
915
24
120
527
275
680
962
785
288
309
236
636
255
295
1000
920
911
737
248
711
653
803
769
760
979
609
588
659
424
365
753
301
839
801
565
301
72
12
682
514
978
981
188
690
230
948
386
614
558
743
992
772
919
922
448
714
573
284
268
797
191
920
676
916
965
470
343
172
104
642
655
154
272
417
796
670
258
523
918
311
649
951
765
172
322
280
485
447
346
545
728
371
287
215
805
151
958
615
413
121
374
777
351
354
54
280
730
335
827
109
422
124
996
944
861
634
37
574
876
264
39
325
909
153
700
495
856
747
47
782
757
190
983
608
750
313
400
67
14
622
882
941
916
744
926
849
212
256
250
146
944
655
945
635
634
559
188
477
466
823
749
957
428
422
764
945
791
370
111
909
889
894
259
358
878
346
637
442
68
67
411
247
426
518
69
987
95
524
345
918
88
398
841
297
856
37
162
108
91
842
499
612
932
440
389
996
771
741
793
510
926
842
742
550
803
615
541
55
592
624
918
448
133
173
585
116
397
876
362
62
892
121
425
953
417
216
229
244
808
777
371
450
702
156
988
911
886
297
275
603
525
447
377
641
373
560
200
112
135
78
671
806
278
7
586
220
927
847
463
943
976
996
764
132
160
696
423
380
645
465
882
646
630
217
728
339
579
957
587
851
935
19
145
10
630
305
46
13
226
874
940
331
307
537
126
1
591
823
106
469
295
788
829
874
472
664
586
231
421
279
305
497
743
494
472
905
330
663
29
281
362
246
367
253
395
286
973
434
736
377
386
661
628
165
853
321
180
146
487
676
612
735
788
793
138
154
100
416
725
663
949
618
43
74
252
600
171
282
29
350
964
739
655
171
597
447
619
279
439
23
459
775
305
859
826
296
138
189
617
555
331
163
702
809
243
624
96
18
920
370
328
62
700
141
356
966
148
396
635
473
729
279
836
705
736
782
283
854
244
262
382
53
295
888
194
623
69
562
835
855
553
105
559
387
100
224
233
18
303
907
407
477
814
390
330
285
120
769
74
338
749
694
404
255
98
266
138
856
875
458
536
359
127
902
668
998
980
849
841
823
492
470
858
381
480
452
345
807
800
990
388
629
285
902
471
250
517
527
81
624
628
526
332
133
617
444
705
36
991
156
298
163
139
887
983
715
527
549
546
106
637
552
159
840
628
76
533
264
829
37
693
910
520
625
620
830
935
332
922
962
44
874
291
118
493
237
762
613
5
377
673
893
660
776
794
807
746
122
327
296
274
893
305
356
833
505
505
107
199
989
123
666
991
879
330
328
711
92
323
236
705
114
613
322
958
726
145
814
106
841
262
5
761
761
693
308
52
305
486
824
257
815
261
822
550
6
254
505
190
986
349
437
900
545
716
820
831
987
729
576
219
365
545
850
822
968
116
106
233
298
403
494
456
587
289
497
481
106
984
199
153
125
743
682
331
431
360
160
177
693
207
473
450
842
565
473
828
842
598
636
613
889
627
983
661
117
256
1
11
358
530
808
481
359
539
222
448
135
773
789
147
808
106
28
62
372
516
343
439
307
470
115
476
864
507
459
528
150
658
3
516
826
246
840
792
391
61
504
898
488
93
400
31
649
790
640
523
187
284
637
318
715
152
141
269
884
55
598
23
521
36
879
443
273
332
429
780
250
332
849
267
918
694
759
414
668
687
565
53
92
575
385
84
948
190
985
962
234
896
25
193
557
822
323
489
213
591
96
796
2
744
364
65
817
748
779
560
482
760
149
432
143
293
852
525
749
544
135
668
820
453
23
186
732
442
202
27
230
435
758
676
717
957
115
971
165
43
847
69
146
234
307
46
586
168
176
52
319
121
88
501
414
395
475
522
567
661
662
783
529
138
999
833
686
72
545
315
403
51
397
761
686
564
256
192
41
644
260
410
154
562
398
695
155
329
73
614
786
183
487
763
751
341
573
584
885
33
141
825
553
247
737
833
875
666
496
630
934
999
904
633
139
282
968
966
292
739
762
536
719
502
702
428
31
807
176
733
691
293
355
610
591
674
124
246
263
384
43
380
186
733
200
253
887
750
591
128
183
180
439
49
954
995
431
125
306
428
450
406
851
723
773
403
69
761
87
372
452
219
907
782
141
191
160
762
330
30
750
954
544
721
911
864
241
277
5
758
878
475
253
134
692
775
534
47
989
390
6
895
630
296
826
789
759
449
612
314
560
563
657
294
941
639
86
169
648
794
314
720
220
108
168
184
594
891
996
239
921
215
933
949
342
597
246
525
43
439
335
685
919
209
547
438
542
357
430
395
958
677
420
66
37
130
266
146
698
166
660
516
378
228
672
518
525
424
557
85
729
334
445
483
343
526
227
727
111
639
664
240
330
835
407
942
578
988
117
760
879
259
334
492
439
578
98
80
784
132
566
585
215
172
36
606
948
311
863
425
258
34
714
938
194
308
492
262
191
32
59
5
957
551
556
353
616
634
739
505
917
97
236
467
752
740
63
944
874
386
31
824
931
565
913
778
414
865
378
631
134
19
702
427
165
561
260
593
983
309
595
195
699
940
664
46
874
703
485
347
376
631
3
614
170
672
450
877
682
850
863
527
639
865
698
727
864
604
696
2
543
621
219
486
906
3
314
317
83
982
649
824
163
272
299
497
99
409
71
199
178
283
696
725
215
656
749
590
508
703
599
907
852
516
36
289
595
73
495
5
787
388
928
6
989
419
475
48
173
879
26
827
468
209
683
973
211
896
874
770
863
749
609
663
892
930
925
988
633
352
98
863
481
496
613
854
497
850
170
835
678
932
275
480
663
294
42
920
626
17
916
421
469
915
939
388
188
112
37
582
473
683
573
230
180
781
42
612
305
46
400
776
477
104
934
290
818
677
13
293
168
130
309
683
359
313
291
956
189
185
877
86
186
24
161
829
111
995
998
22
349
480
99
758
6
814
975
815
587
65
711
324
561
33
91
513
23
910
30
235
881
970
624
172
734
170
379
818
640
795
339
777
477
150
918
502
522
799
180
313
125
86
235
425
110
464
164
768
622
684
602
574
664
48
710
67
505
729
746
95
459
627
889
232
284
368
261
674
599
814
335
266
243
883
21
116
505
608
807
538
459
39
199
546
476
81
641
695
86
343
769
848
22
851
574
360
207
797
590
249
877
569
686
143
813
967
454
201
883
849
441
732
691
465
683
937
158
376
77
78
291
165
171
354
228
127
813
960
863
731
959
130
57
925
637
427
415
310
717
198
140
777
641
905
294
449
750
980
82
707
153
977
446
577
376
36
356
39
151
117
644
638
811
9
151
333
701
882
247
701
906
10
485
441
397
347
283
635
353
852
22
378
58
789
909
171
238
763
251
978
151
908
552
943
27
479
974
530
696
75
274
339
379
855
255
856
627
412
172
237
371
407
274
542
856
694
853
965
22
399
756
273
529
360
295
63
211
402
898
479
202
145
635
682
366
446
971
759
941
104
697
699
523
169
32
770
565
47
295
885
637
607
398
566
542
661
625
698
242
524
841
561
257
827
293
550
825
411
650
607
654
907
775
607
542
568
4
865
480
26
370
479
118
901
321
447
627
614
929
361
62
334
521
19
307
717
938
468
550
974
361
841
48
870
724
849
594
433
290
933
749
529
864
900
355
948
475
332
288
346
73
166
725
184
950
650
407
797
145
269
524
881
40
386
882
940
727
28
942
730
501
697
198
315
989
123
76
117
45
592
233
269
487
869
687
649
182
746
673
205
773
939
528
578
545
403
160
543
549
119
871
547
132
67
406
404
414
421
79
286
139
934
763
285
510
146
351
144
308
289
979
254
619
720
996
633
966
303
139
422
502
386
852
342
183
956
31
719
541
89
711
886
721
31
409
243
981
136
862
788
706
390
909
701
322
454
122
421
189
991
595
712
660
538
965
422
34
349
383
984
35
418
603
212
798
401
818
651
79
224
151
516
536
986
957
273
517
185
219
42
698
379
334
281
327
145
565
692
562
616
252
869
600
917
649
966
851
538
895
631
410
76
227
445
487
776
978
433
236
7
320
503
643
138
953
307
752
293
200
637
518
87
983
384
12
787
238
67
521
289
186
127
355
929
722
490
777
421
887
399
565
159
38
143
142
702
859
116
93
502
787
564
147
862
798
527
391
647
734
695
546
490
519
366
656
123
688
224
396
978
608
420
543
381
674
312
846
524
523
261
636
880
20
93
60
882
374
177
734
503
211
598
942
837
890
562
258
890
634
996
605
600
278
294
320
504
570
294
746
580
998
857
257
540
50
892
355
245
669
241
692
978
432
641
439
26
601
876
399
389
827
293
685
475
693
136
554
307
717
485
233
127
684
164
143
259
394
671
991
775
995
49
598
778
80
611
166
124
649
624
953
992
831
355
929
17
11
402
72
609
610
824
407
702
333
418
751
389
113
417
412
838
342
1000
745
422
240
265
585
204
360
735
18
820
305
41
894
310
701
158
767
622
358
463
638
383
319
918
31
17
223
887
411
411
957
457
917
214
131
632
677
223
282
459
758
531
43
939
897
802
744
600
755
544
36
698
376
291
147
354
886
378
370
344
264
397
168
892
162
463
89
569
374
154
319
324
497
352
270
736
759
244
83
826
776
417
295
145
207
343
217
396
892
517
747
550
89
194
458
284
825
964
794
559
245
363
119
347
54
371
187
826
808
885
321
855
850
216
218
166
166
261
835
519
261
196
259
1000
481
512
789
761
826
712
755
763
431
239
713
487
338
68
763
180
118
912
675
899
178
204
422
547
296
824
478
95
57
59
949
416
372
439
181
497
186
885
40
321
829
78
403
358
185
103
779
455
13
146
173
882
294
527
421
424
457
374
307
720
666
42
661
484
163
763
535
860
805
61
259
909
526
207
895
184
456
352
124
364
812
981
107
211
474
65
229
458
385
570
924
797
504
34
964
846
90
533
707
801
495
695
794
533
485
369
696
7
369
194
336
284
824
578
730
798
383
529
216
266
2
395
394
373
990
788
315
332
849
882
835
509
252
842
279
588
478
348
741
149
96
47
399
126
599
306
209
328
982
810
215
94
978
408
499
219
760
82
483
460
465
89
915
297
789
130
337
153
272
855
289
913
602
153
783
446
420
436
823
781
680
579
880
745
535
250
257
164
130
130
217
166
418
902
623
754
312
984
554
549
63
653
57
548
733
614
744
809
55
83
416
203
738
133
291
757
513
401
680
675
814
244
162
798
12
102
393
138
551
100
715
137
160
936
607
452
564
679
861
404
752
398
93
723
922
498
809
827
675
181
792
697
891
746
31
353
1000
319
742
19
34
167
287
370
921
965
985
633
981
280
834
911
484
10
175
831
406
772
185
490
268
8
884
729
17
126
24
969
451
106
843
182
618
843
145
97
934
943
611
416
529
820
530
609
450
721
396
889
925
727
917
45
834
901
34
159
897
454
494
662
880
246
353
763
269
977
559
112
458
143
411
399
497
205
269
748
819
442
353
910
181
658
852
731
266
238
868
850
993
46
869
315
611
330
486
654
85
84
419
956
100
296
210
667
265
133
379
155
729
393
208
572
491
480
48
158
121
755
568
970
496
367
820
919
406
568
339
140
581
68
726
973
757
211
368
241
889
629
979
107
533
543
639
492
697
78
877
976
180
806
141
75
540
198
680
61
333
857
469
799
213
193
313
605
794
663
665
796
946
833
30
436
297
297
36
748
313
905
382
809
252
869
929
442
666
46
110
663
892
100
714
648
155
311
833
949
483
517
444
609
622
34
628
902
545
448
954
644
933
828
883
427
242
293
371
655
542
804
25
975
383
773
272
538
333
334
990
557
685
112
993
775
55
957
545
800
258
359
816
735
883
234
836
176
453
312
15
434
923
662
755
806
529
743
24
795
698
956
16
488
787
890
189
663
924
298
26
831
121
416
857
98
121
370
936
653
150
295
785
721
872
271
470
22
351
332
112
124
757
630
410
608
883
272
379
620
291
512
832
210
21
710
328
848
397
947
476
632
367
252
488
10
223
149
844
282
286
639
761
747
349
786
910
145
214
795
522
934
691
850
532
34
789
987
948
914
649
987
952
245
970
587
581
934
298
348
979
24
563
106
354
801
677
312
734
488
846
485
575
39
475
640
50
896
205
838
598
55
662
921
920
402
961
108
181
94
872
361
570
709
821
331
761
986
583
271
53
241
610
490
132
974
397
830
459
746
237
140
278
133
968
940
104
474
45
275
332
145
391
283
325
310
984
143
911
457
79
880
730
521
284
963
311
93
458
768
19
11
545
750
303
633
1
592
747
216
432
711
510
126
433
226
636
46
383
914
617
970
122
730
296
516
27
184
891
19
995
242
481
955
224
445
754
433
501
628
226
945
902
953
393
46
429
976
493
378
125
126
654
281
644
259
182
279
66
947
701
855
24
765
621
292
801
120
179
824
163
107
900
967
112
457
870
718
627
906
660
243
721
193
81
786
832
480
205
788
630
187
257
640
829
111
42
57
484
224
544
784
545
738
222
253
156
858
306
835
306
138
88
548
951
524
819
422
655
951
293
240
130
861
649
59
801
101
211
712
659
454
430
494
221
482
94
367
376
466
51
311
245
952
585
905
992
843
473
807
641
999
471
608
601
75
679
399
533
641
759
515
634
702
486
110
182
403
471
641
419
29
207
862
436
449
739
621
784
753
410
640
907
195
91
441
382
468
251
761
161
3
21
135
641
241
128
784
490
760
222
604
548
734
638
834
52
459
82
941
661
559
84
346
435
78
313
916
50
838
6
512
947
367
830
513
79
171
490
937
182
362
232
656
202
463
234
294
661
707
510
532
212
330
609
969
606
125
839
140
608
27
209
996
131
605
565
978
13
109
624
773
422
163
762
998
806
295
421
354
693
222
955
226
413
219
586
319
971
978
888
699
917
43
891
495
13
317
439
612
919
137
949
56
908
113
52
805
827
267
929
765
155
995
301
7
993
30
178
367
284
919
437
466
380
450
231
431
299
116
48
863
685
985
953
128
520
253
182
656
89
373
799
738
598
894
553
254
57
34
436
892
778
589
694
646
878
986
199
829
688
164
162
408
855
483
141
177
227
68
172
210
329
821
649
36
332
826
257
223
963
40
871
375
697
964
833
80
957
456
440
23
718
963
771
272
125
247
239
764
239
83
346
130
5
538
186
304
892
143
169
795
434
708
282
145
69
581
976
801
256
850
413
614
849
384
377
186
93
623
640
584
412
713
932
265
362
927
969
650
753
308
174
459
942
119
832
773
739
7
424
829
198
730
779
676
813
958
538
207
257
882
106
498
898
360
923
72
734
867
420
483
297
804
452
553
320
593
371
723
643
565
136
226
921
859
38
220
196
411
664
579
256
659
717
792
51
762
180
294
108
971
89
589
29
295
903
754
641
753
11
239
340
310
465
401
465
78
418
896
288
449
59
846
375
646
76
708
579
594
790
889
934
93
166
471
41
40
811
818
334
846
953
497
791
248
135
653
202
439
11
952
164
794
217
221
284
535
750
205
950
313
673
205
183
77
242
928
730
548
762
567
564
308
562
998
381
813
476
984
528
582
161
446
33
475
362
196
44
211
982
987
41
260
439
405
654
769
324
888
763
495
820
128
846
583
690
215
205
588
903
141
789
369
104
700
824
355
247
407
344
195
629
768
44
6
491
147
539
263
96
493
292
884
936
426
922
191
254
487
592
282
647
922
474
758
851
7
28
926
193
751
8
333
373
799
619
951
385
509
230
417
435
432
421
453
626
920
880
41
60
164
884
950
740
730
641
940
331
595
790
341
388
746
735
740
162
630
298
176
435
166
377
598
167
519
920
340
885
592
530
4
876
4
465
471
244
369
611
712
775
829
249
700
427
148
98
997
917
137
136
536
570
817
201
691
87
535
195
991
356
189
23
726
763
820
39
266
730
102
893
112
357
671
130
586
108
818
793
584
481
792
617
13
440
862
48
356
218
302
498
324
752
709
722
699
642
370
156
276
15
947
377
295
75
389
580
852
473
827
134
581
813
180
806
313
772
327
206
528
323
22
397
138
521
143
328
575
129
509
996
185
139
234
761
667
899
514
265
660
107
831
801
607
449
771
751
716
977
44
960
176
670
858
490
775
768
463
250
737
600
581
392
892
599
402
242
261
148
48
709
760
678
680
836
10
192
944
141
172
7
75
901
307
43
766
374
30
423
861
225
112
524
63
111
236
828
55
447
369
137
924
883
33
732
280
891
315
68
251
202
651
461
389
487
217
6
579
854
315
660
240
195
242
34
465
380
968
929
260
619
422
58
709
45
273
736
712
726
912
524
944
857
742
940
791
853
3
415
342
416
67
563
949
423
601
755
472
667
978
655
102
50
118
120
567
837
225
375
595
954
997
880
741
127
504
657
95
872
311
179
891
940
411
52
778
872
159
876
340
708
766
639
483
766
805
937
467
618
872
93
698
38
771
27
849
783
557
289
554
458
347
278
688
664
68
45
194
819
205
478
545
785
163
881
176
465
107
166
637
59
968
888
807
542
877
378
232
250
440
86
537
135
125
18
905
402
523
880
828
735
409
106
672
257
312
473
126
697
807
396
274
984
825
355
836
622
92
71
135
762
203
228
452
838
978
550
756
10
428
983
220
401
143
601
565
332
886
582
1000
299
977
279
503
460
354
981
196
779
272
413
852
763
260
431
927
980
310
630
78
101
270
788
805
285
45
165
723
103
560
685
992
82
354
927
586
138
344
689
406
850
546
586
746
562
483
802
234
754
602
634
170
12
275
906
151
159
842
694
943
821
743
46
873
765
975
545
376
842
1
633
955
263
752
594
522
235
554
945
967
698
666
815
869
15
578
543
449
975
410
353
217
426
541
452
292
159
53
315
27
413
738
238
423
524
136
465
746
779
565
322
969
505
149
823
887
792
625
168
257
986
98
395
878
323
989
189
328
600
110
543
956
799
203
498
839
975
290
701
616
516
861
855
507
79
291
462
392
141
841
436
479
117
292
244
992
414
522
278
294
638
353
37
42
392
574
518
299
781
347
975
979
746
145
782
701
844
925
708
844
948
538
351
617
588
231
813
9
372
696
954
786
965
308
752
94
625
87
309
826
185
422
87
610
648
821
768
200
310
739
964
76
402
76
691
250
787
78
85
654
172
164
399
986
606
698
673
552
808
829
831
492
999
306
159
722
437
599
257
107
875
773
583
624
458
276
671
776
391
237
935
75
869
901
721
214
349
570
955
448
223
770
287
772
356
405
88
745
765
336
81
158
890
179
619
317
556
79
869
406
735
917
208
237
625
676
188
730
435
683
311
612
458
51
667
168
704
935
245
343
375
141
314
150
964
225
851
105
586
458
387
397
441
951
38
569
989
773
710
784
484
127
648
134
7
517
544
66
54
366
424
682
4
722
382
611
529
549
38
141
101
581
277
543
284
867
431
859
426
971
567
918
689
212
955
67
103
509
115
854
476
111
48
956
537
981
417
737
645
664
434
119
788
217
204
918
318
200
86
396
91
761
392
522
242
595
442
389
812
894
494
286
850
468
611
154
409
867
862
560
61
712
551
852
180
404
371
860
245
61
469
373
862
824
406
628
26
656
927
209
375
356
262
96
857
817
384
81
260
475
331
379
525
472
172
109
621
354
682
212
38
956
143
526
618
754
892
970
546
134
474
224
797
927
253
861
230
59
363
628
837
389
715
435
343
613
612
694
487
620
166
814
816
854
337
33
762
28
934
281
112
3
278
430
687
778
606
116
252
306
469
294
148
288
534
839
190
196
235
784
646
499
641
239
960
500
778
655
8
236
394
843
276
604
809
78
353
255
52
718
499
829
999
955
866
790
549
749
167
435
210
506
176
702
637
782
492
986
758
139
400
549
145
295
517
22
191
883
137
159
461
463
841
248
327
888
980
549
615
795
113
697
530
775
334
260
565
704
693
569
468
857
598
445
552
679
174
719
849
480
10
290
637
946
687
972
853
34
700
611
791
758
163
757
269
376
765
687
133
713
973
736
567
704
403
682
202
745
630
412
389
135
412
228
360
677
484
894
201
528
612
4
689
495
560
306
101
295
976
388
15
714
999
522
10
242
533
523
890
501
751
205
739
700
342
372
680
447
459
334
674
461
77
593
91
116
709
705
57
302
43
326
774
786
63
78
121
100
657
209
845
17
562
964
539
824
698
223
463
940
624
229
950
908
887
174
797
411
493
987
542
788
585
926
26
433
704
488
921
614
668
681
215
474
193
955
773
408
871
923
182
597
15
576
37
190
170
828
733
528
831
115
594
843
975
243
864
64
584
836
702
724
214
556
796
465
52
714
662
315
584
41
964
733
196
126
466
404
540
513
313
898
483
486
400
592
807
368
522
738
603
525
850
123
476
347
17
554
268
187
799
328
980
607
882
898
1
326
748
187
501
919
37
411
115
685
55
777
611
92
297
152
279
843
923
647
197
944
168
67
371
100
536
357
969
400
498
493
535
508
71
736
103
561
354
846
607
492
580
591
821
816
716
878
364
779
978
924
958
327
881
152
231
599
626
898
813
482
661
635
415
337
251
85
842
134
766
546
612
133
179
760
989
713
958
855
718
95
139
272
708
551
865
78
235
119
104
740
969
990
545
270
276
499
930
618
814
104
183
343
364
790
755
875
251
136
520
126
434
637
430
836
542
961
887
787
730
525
432
923
181
162
949
536
511
645
30
844
120
563
533
738
741
351
673
979
44
285
136
830
205
909
846
993
731
668
998
694
703
483
879
948
820
633
837
382
269
582
451
417
520
325
615
326
573
420
770
393
70
113
948
438
950
885
679
992
997
275
22
741
716
93
167
232
474
965
133
424
705
719
21
406
331
275
209
471
200
565
620
808
512
488
924
245
684
78
94
850
42
850
282
699
91
773
352
819
789
438
765
70
476
756
698
813
586
967
426
236
284
831
46
610
504
607
526
109
640
861
952
499
331
145
583
719
344
380
963
334
562
79
960
875
486
627
17
348
436
474
325
560
868
487
884
468
839
655
630
438
643
28
889
181
114
77
446
131
870
598
394
198
78
957
784
160
885
692
792
447
800
485
757
681
684
38
992
164
942
713
694
430
732
617
636
94
706
445
585
501
881
566
536
76
703
710
944
874
317
183
69
543
274
654
482
816
714
475
518
679
83
927
180
565
27
973
601
285
20
909
641
928
582
753
669
596
727
341
822
711
412
889
320
585
279
200
519
86
1
781
406
523
841
912
218
340
859
69
685
800
339
210
165
601
614
95
597
297
451
243
775
470
541
108
900
812
468
755
756
695
704
687
167
319
824
415
529
264
136
73
369
75
346
643
844
593
736
369
36
845
528
496
681
676
807
829
740
771
377
462
804
352
413
676
883
638
632
230
590
90
967
160
26
584
406
786
990
922
756
827
253
486
557
396
724
436
294
185
305
585
329
323
104
955
703
237
478
79
71
352
60
309
535
588
509
733
91
467
264
845
722
74
953
755
923
243
449
560
564
136
788
481
588
799
285
511
950
374
223
604
625
395
439
890
219
8
965
7
956
993
663
414
350
198
417
437
883
378
47
921
404
418
562
552
761
661
769
316
385
354
505
119
164
249
995
265
963
37
919
367
575
619
749
276
714
150
890
769
914
468
903
72
823
730
883
783
454
81
629
383
407
718
834
311
917
992
932
572
903
71
593
890
810
275
130
727
177
374
215
904
300
43
392
108
299
182
835
322
172
989
691
114
139
534
112
726
683
52
803
145
234
354
486
670
347
539
193
10
577
685
728
618
972
282
917
782
277
983
535
994
474
667
897
232
243
900
141
105
298
619
187
246
336
296
194
960
471
861
84
871
662
405
389
264
601
49
208
870
916
385
581
80
377
600
907
955
973
701
386
967
354
302
602
66
146
40
491
572
92
32
941
356
773
733
172
982
938
178
865
782
83
877
751
331
6
571
955
424
491
613
990
441
158
44
675
952
775
279
649
516
28
917
374
869
780
386
703
162
403
11
150
429
604
624
956
243
503
14
960
377
423
359
36
349
954
283
565
906
387
324
17
900
531
419
196
467
266
469
150
143
931
184
32
335
760
161
438
572
174
609
877
80
667
211
57
541
389
361
627
319
317
421
844
76
64
707
407
416
962
611
355
178
56
661
482
6
33
336
223
112
898
135
307
500
457
750
803
474
222
187
332
961
443
319
354
32
334
692
424
993
431
344
227
639
258
23
16
537
103
503
816
710
777
563
353
735
668
866
252
49
297
146
439
222
810
85
74
40
564
746
561
534
2
729
376
477
548
2
489
484
98
961
156
537
39
410
724
686
382
13
869
693
756
264
410
599
501
174
406
553
25
678
763
739
957
243
4
926
314
267
137
971
86
651
816
610
192
333
95
991
688
719
125
689
505
615
81
436
757
747
452
345
815
956
585
226
963
900
41
466
409
463
877
59
826
93
449
563
430
982
710
194
751
334
255
765
930
983
582
915
355
236
95
913
885
185
425
325
758
640
530
29
492
493
842
361
765
585
493
666
283
94
242
178
116
42
275
920
861
776
502
294
223
161
314
118
319
824
7
137
84
953
272
455
621
58
184
901
284
639
119
95
519
846
896
837
269
109
237
513
792
183
313
394
317
201
771
82
862
167
108
834
873
758
705
202
91
441
111
234
192
678
429
455
303
451
769
7
448
393
752
591
341
589
35
342
740
507
625
335
696
558
543
207
682
539
49
304
524
542
185
805
480
975
913
548
596
8
452
638
699
95
745
478
973
234
157
559
118
274
615
207
473
874
396
475
376
719
687
580
216
167
864
570
313
848
140
396
808
600
890
225
189
768
469
600
960
124
805
998
217
553
384
477
590
242
500
328
65
291
810
90
720
563
297
853
278
101
717
507
704
641
489
485
766
569
771
577
597
191
161
634
818
323
50
267
717
14
170
237
285
703
299
842
692
204
368
464
880
717
482
403
554
478
467
277
765
763
602
549
672
710
134
204
840
807
34
187
576
993
183
999
435
979
863
754
979
826
987
64
294
799
959
382
541
237
469
788
69
483
779
762
180
951
275
195
710
38
138
731
972
904
11
545
461
107
432
859
963
714
640
777
355
765
57
545
410
924
415
954
420
728
1000
400
285
98
949
85
986
677
865
923
67
118
301
985
791
664
789
763
148
240
177
56
811
788
17
64
373
769
611
138
980
622
106
669
541
407
753
830
227
83
997
212
912
627
609
917
519
698
459
356
4
647
858
795
817
488
619
701
261
832
106
56
134
920
592
130
357
616
185
605
121
625
421
618
220
268
377
972
841
856
848
765
56
84
650
698
681
879
626
581
931
844
295
957
557
759
371
280
709
609
564
793
848
256
200
126
402
194
168
620
736
769
631
567
225
895
764
886
865
554
484
212
915
310
780
47
518
666
788
390
111
323
196
223
712
324
906
334
839
598
147
220
904
673
387
244
419
155
457
769
230
135
279
755
327
858
472
163
445
811
881
580
827
915
796
662
5
644
185
346
414
691
811
325
952
298
491
891
374
451
70
155
531
959
930
545
11
835
949
707
728
513
894
160
337
167
157
549
133
812
592
920
287
920
973
226
821
992
246
177
747
927
325
614
168
25
643
859
951
157
64
816
785
994
38
209
56
150
64
992
988
778
659
860
927
445
990
765
479
103
277
547
450
563
866
98
180
183
608
942
921
408
801
794
368
387
508
406
298
138
471
1
568
654
223
666
387
860
246
375
853
608
163
689
251
712
59
798
493
578
954
272
386
188
379
784
122
984
742
119
489
764
912
977
852
791
3
425
836
170
885
391
11
995
329
233
605
889
26
264
418
345
945
82
661
712
610
697
396
749
936
733
637
432
177
458
920
90
423
961
333
13
792
597
597
391
181
713
750
807
951
764
397
545
432
134
308
659
508
390
304
68
803
235
48
983
226
101
324
574
685
226
858
134
821
28
521
941
496
777
48
658
613
905
1
363
554
733
795
268
140
92
32
753
590
46
286
599
357
923
715
200
100
949
591
105
281
24
886
441
55
642
573
658
187
490
175
549
685
5
394
692
738
79
398
302
339
105
396
970
632
795
708
932
658
529
437
305
664
529
177
214
538
803
957
823
286
637
737
108
637
411
340
591
51
601
663
399
400
202
366
702
538
173
11
53
856
184
809
140
629
647
695
243
657
988
473
14
253
143
125
245
110
520
229
984
956
62
589
669
192
560
843
980
911
96
792
739
771
341
651
517
232
437
241
551
541
374
382
216
707
95
394
557
392
33
675
346
308
444
749
689
218
669
99
476
102
417
303
868
389
287
722
566
408
971
52
828
381
37
523
80
337
737
463
475
308
46
211
958
54
984
89
234
326
369
249
515
398
300
753
96
174
62
120
617
702
634
981
313
313
662
151
707
945
585
610
956
421
577
445
504
583
100
731
788
224
182
713
480
690
954
427
168
901
605
60
423
251
673
939
924
555
503
31
681
741
789
221
425
483
335
460
922
337
571
42
298
238
897
935
481
393
623
64
488
724
147
908
629
15
3
573
635
797
592
776
359
885
748
790
971
133
738
470
500
665
960
936
177
332
399
346
257
611
827
472
936
506
862
451
503
258
255
203
113
840
191
442
408
285
975
160
782
852
186
721
226
930
292
434
559
363
757
583
345
564
850
403
936
393
756
434
905
281
80
8
588
477
508
363
585
634
211
24
846
155
580
647
386
865
983
481
806
599
554
954
486
246
480
678
773
635
818
330
509
401
702
458
990
640
647
247
782
712
786
671
886
50
95
271
415
180
12
994
263
479
472
150
290
355
997
554
159
670
414
375
283
186
716
1
329
779
822
513
303
924
241
983
559
732
197
860
991
420
354
183
259
627
121
216
144
454
415
350
52
440
928
843
206
934
142
994
320
508
814
885
408
96
185
683
893
537
916
826
389
68
651
103
365
115
126
765
374
394
968
317
725
972
665
574
245
402
726
893
266
485
676
231
93
521
410
831
980
139
366
884
75
904
142
466
900
973
460
443
656
980
849
761
78
203
992
755
578
794
494
682
188
553
695
653
131
249
261
572
924
4
515
449
558
611
837
701
682
955
24
646
680
894
204
413
211
50
733
945
69
987
551
561
204
131
595
831
354
633
242
131
24
85
207
293
485
630
950
262
37
552
483
482
56
860
366
56
239
742
817
356
990
13
133
879
161
844
1000
611
192
123
889
63
227
777
428
451
996
269
566
190
50
250
347
995
480
64
347
392
359
390
171
381
992
794
910
322
511
420
141
846
457
311
875
748
810
117
834
366
313
58
578
921
75
47
304
622
142
827
577
164
167
816
869
368
335
119
539
340
443
819
811
488
383
221
383
138
331
229
514
303
599
354
855
345
482
215
806
915
386
515
894
534
228
625
524
656
358
880
461
841
266
626
576
929
907
860
715
757
815
30
16
992
50
200
675
117
672
311
897
502
628
718
779
698
890
533
934
848
201
547
958
117
31
687
232
589
209
2
155
944
201
178
615
539
245
432
400
216
322
443
302
307
509
663
850
763
355
939
980
339
781
907
452
35
421
997
513
761
494
242
91
353
32
272
832
575
745
30
398
755
898
778
754
14
310
882
602
865
993
754
768
98
15
40
57
468
870
839
48
699
35
284
369
697
397
301
208
662
942
732
230
37
402
308
580
782
612
136
390
547
912
473
30
692
296
552
382
981
954
168
573
960
451
487
915
749
126
349
324
945
157
885
66
872
386
864
537
213
210
581
675
372
771
501
760
569
212
60
580
765
11
252
381
994
251
656
596
587
229
537
67
54
991
554
368
130
198
373
887
566
270
186
509
806
855
730
122
582
522
914
654
822
28
560
41
985
612
92
336
91
591
232
158
261
918
876
817
553
494
377
739
223
744
403
277
331
385
363
583
769
381
191
4
398
766
896
346
942
422
879
476
689
911
491
914
878
140
669
483
813
988
793
625
406
25
87
683
821
89
987
319
382
811
916
232
672
143
791
526
40
564
434
395
357
902
765
277
915
682
289
263
827
459
924
338
140
868
662
993
164
20
902
853
166
426
549
194
684
865
138
705
212
450
295
368
865
722
845
78
984
740
732
548
307
5
725
10
473
541
545
523
135
619
693
954
884
407
715
299
525
299
81
611
986
809
172
683
270
677
67
561
445
285
997
152
579
550
312
452
940
243
808
376
515
40
58
783
99
723
184
63
769
612
152
530
580
723
233
8
671
157
759
150
819
903
685
493
637
597
730
729
276
761
105
432
466
708
881
287
200
605
106
910
158
144
659
516
240
914
655
999
198
831
944
476
434
901
862
15
456
231
961
999
386
384
834
593
150
146
558
843
681
273
488
224
538
41
323
851
834
279
415
168
265
88
284
641
332
654
162
868
547
379
186
593
559
63
558
262
605
33
572
158
669
904
930
651
40
136
166
748
689
674
330
1000
64
730
289
739
420
200
144
831
772
310
304
349
935
821
677
91
865
529
320
412
705
861
602
650
518
74
651
316
683
956
360
310
313
916
760
634
877
92
899
493
399
394
686
196
217
418
344
967
330
840
183
651
766
163
479
295
234
698
65
762
589
262
144
865
252
351
494
969
803
498
905
676
414
102
198
983
641
255
632
250
393
31
859
437
551
211
821
327
789
674
162
851
661
552
796
242
891
731
230
446
125
545
136
117
81
265
451
569
191
544
959
264
308
102
932
741
5
759
904
456
311
375
47
614
477
389
952
947
510
435
852
343
749
922
417
386
749
579
328
149
64
711
750
35
312
296
697
89
96
142
2
913
886
5
313
307
32
979
60
774
399
466
840
282
964
724
29
73
915
355
733
840
385
63
364
284
2
675
242
957
846
744
619
249
247
986
433
619
74
458
926
427
861
646
966
255
96
557
567
208
531
531
613
515
175
696
252
661
948
930
764
417
611
726
968
391
705
583
394
127
700
423
507
377
459
54
249
889
410
881
48
938
563
920
219
885
566
658
388
235
576
454
152
34
604
998
707
942
336
786
587
7
193
723
957
978
508
724
153
970
264
611
264
457
803
720
616
831
264
357
930
239
282
656
807
8
678
443
916
730
413
438
941
993
114
494
918
834
827
584
37
214
511
966
392
182
930
266
445
988
271
227
139
51
807
529
720
573
351
389
330
616
94
619
316
580
642
444
66
412
736
647
853
283
156
566
846
176
812
37
942
580
844
635
553
440
858
469
796
641
88
335
821
537
353
269
136
488
170
388
903
904
298
456
103
61
254
782
388
831
74
908
193
499
715
44
401
53
982
341
431
695
826
925
130
818
165
75
280
366
136
40
803
343
824
778
32
171
69
334
483
789
904
657
653
639
557
423
277
150
687
795
332
940
753
167
847
714
945
596
217
751
123
41
307
969
611
541
82
746
471
140
903
121
113
721
905
483
697
909
53
602
812
838
600
696
338
914
641
219
227
645
397
277
196
251
663
840
948
32
591
453
596
416
587
756
441
198
671
930
84
719
51
123
154
646
49
39
608
581
747
115
601
921
884
132
492
284
622
698
355
334
743
756
745
20
746
154
125
103
82
383
504
309
463
761
336
634
783
706
675
120
690
273
899
881
249
765
63
291
483
84
88
23
770
444
537
57
218
234
699
874
182
80
46
786
18
639
928
774
24
230
518
248
274
204
626
881
703
848
964
1
385
700
878
109
400
399
317
722
77
552
61
125
697
675
819
571
902
943
823
160
181
344
9
917
806
866
647
548
489
479
598
4
854
25
934
226
557
614
802
403
487
727
779
653
45
76
915
307
927
161
859
830
181
621
189
34
585
709
123
409
515
642
301
287
592
180
189
80
314
467
991
25
810
118
650
691
598
523
629
23
948
574
687
827
43
374
801
445
626
980
691
780
246
917
190
21
525
38
794
132
91
240
315
653
964
750
511
413
197
922
918
541
536
992
896
522
700
797
66
147
648
276
903
885
840
436
248
598
96
594
869
553
105
889
42
341
25
490
300
692
914
433
126
143
892
746
385
177
79
363
710
770
301
343
909
242
535
91
666
916
810
577
497
403
71
66
927
224
87
477
362
99
61
294
943
478
21
927
984
765
420
469
246
297
649
131
390
292
286
991
437
915
24
311
973
84
153
388
120
874
368
795
11
164
460
914
621
723
145
874
326
39
860
333
499
37
902
91
745
279
656
173
191
363
994
835
301
28
161
959
317
897
564
402
340
877
950
198
444
997
378
915
973
844
248
137
383
852
396
732
526
379
951
557
294
894
171
262
939
637
6
137
160
777
459
308
279
444
149
133
441
19
642
354
781
689
228
423
936
627
826
420
117
79
607
158
179
291
740
397
800
481
396
560
898
981
781
997
904
293
473
623
352
22
835
711
527
564
561
740
592
996
727
428
677
810
833
538
947
27
417
600
494
735
789
414
283
303
303
109
999
326
392
568
843
912
252
214
782
6
701
540
709
314
204
242
319
823
490
519
197
43
493
899
830
877
590
950
727
465
209
363
864
427
945
201
975
679
252
534
27
414
619
320
355
882
916
111
544
323
235
140
129
793
126
357
559
623
604
260
706
966
690
736
375
216
505
667
917
61
180
778
34
623
879
19
325
419
305
846
930
846
910
862
873
527
888
683
374
127
738
296
410
178
808
889
295
52
789
861
912
450
532
724
479
715
965
668
431
789
79
876
62
888
173
32
88
822
556
98
156
417
944
137
648
697
602
843
828
290
120
506
492
59
377
314
821
90
851
279
20
970
943
548
719
790
391
583
799
376
157
450
470
94
427
514
4
941
438
909
436
786
944
488
949
330
25
394
419
781
834
992
759
281
581
678
310
860
776
1000
489
41
264
578
313
268
92
579
235
998
624
859
894
650
586
440
43
594
946
698
907
25
601
474
662
855
885
353
555
762
774
523
440
107
534
924
113
754
242
924
929
725
260
357
602
252
271
574
975
985
936
93
818
75
560
561
366
361
440
985
421
138
701
606
324
841
511
399
973
512
532
853
406
98
346
637
141
478
379
764
598
599
543
64
451
273
413
157
661
980
254
607
307
491
631
627
42
271
662
500
170
343
168
902
872
808
142
425
86
233
961
880
883
906
728
457
995
364
981
373
270
626
737
434
480
318
534
842
817
224
673
667
899
828
355
612
822
113
770
119
66
197
503
368
640
412
791
464
903
63
280
931
875
423
937
656
755
483
664
598
533
611
996
905
275
523
1000
544
693
932
72
215
69
829
938
87
478
568
533
867
512
876
845
803
393
425
19
493
436
853
195
786
328
965
640
644
578
397
661
555
768
198
717
985
7
622
905
390
22
932
680
523
918
161
307
108
511
593
994
498
494
176
114
553
434
223
216
854
746
531
747
315
330
456
557
401
522
610
267
458
381
581
552
105
93
454
216
261
459
17
705
109
7
208
350
258
264
767
229
409
130
55
970
79
64
707
233
314
48
120
871
879
862
773
977
94
261
29
119
364
40
387
57
447
841
98
170
681
761
706
626
704
483
341
42
708
709
514
33
881
117
778
561
488
938
854
468
12
519
719
883
852
907
723
496
372
587
14
811
480
981
416
586
514
214
450
628
939
965
345
995
239
923
764
441
445
460
423
632
917
709
981
269
392
93
342
744
782
743
24
371
899
937
322
565
113
879
816
544
903
645
174
269
435
128
317
387
567
126
743
847
140
540
216
761
26
791
86
777
165
150
227
945
727
691
938
593
636
932
198
209
900
76
328
718
601
925
490
809
917
196
400
179
274
962
336
640
567
377
794
61
405
679
131
15
506
692
151
812
693
723
865
345
417
754
589
777
381
343
154
669
630
457
215
549
413
783
579
305
242
694
25
27
825
159
284
83
988
370
757
276
237
740
41
925
398
249
538
559
608
811
254
735
1
440
406
152
644
547
580
854
592
575
34
809
499
570
153
564
842
974
247
992
671
111
600
378
767
355
158
213
230
965
313
100
816
887
997
128
781
653
685
906
615
627
992
222
796
469
257
921
617
664
847
212
220
348
3
33
194
496
678
527
490
708
188
944
936
461
484
481
361
726
518
679
162
254
464
992
185
683
541
51
943
852
796
980
539
346
494
823
122
378
678
788
346
521
72
544
126
719
739
244
876
241
805
309
582
939
129
242
286
237
11
929
995
792
891
928
584
630
543
236
29
892
431
886
156
21
754
539
146
325
177
905
269
398
431
433
617
771
755
219
174
541
614
486
196
424
269
314
717
850
534
513
959
269
506
672
597
770
119
442
75
514
164
68
668
235
768
9
549
223
423
279
926
825
363
757
181
458
440
319
80
531
714
97
283
482
613
562
849
336
904
404
902
811
680
377
379
11
233
393
597
181
1000
115
427
823
721
261
999
723
581
592
202
68
379
338
723
899
707
399
15
603
707
223
353
992
229
684
123
819
113
663
556
221
862
242
421
708
230
643
575
752
64
42
869
972
320
437
627
187
331
552
804
329
234
610
977
308
1
468
526
464
627
197
701
140
871
726
811
276
392
558
414
624
247
885
232
370
516
654
481
466
219
277
451
957
812
703
478
943
280
503
858
582
246
494
926
731
594
164
211
380
795
815
564
58
509
934
177
753
71
749
685
711
140
324
902
672
139
824
298
731
111
776
23
15
260
254
142
815
779
921
752
617
498
756
822
748
537
143
936
967
415
689
574
406
3
791
232
715
291
498
451
127
205
660
797
429
595
699
924
515
80
605
126
261
657
901
189
961
859
407
952
466
738
597
686
447
198
231
329
939
973
711
606
417
106
329
319
188
882
150
404
787
26
805
896
444
407
833
584
371
634
597
993
807
689
949
283
296
202
10
816
618
32
427
419
188
597
428
828
478
770
854
416
200
250
65
40
600
990
335
795
154
685
862
518
397
312
28
122
382
422
912
231
509
202
345
114
41
362
994
655
676
500
53
896
960
961
121
761
138
136
778
693
327
787
168
288
488
245
622
476
760
297
994
449
163
118
917
322
556
902
622
459
975
715
319
521
191
664
381
531
385
696
760
688
341
204
94
234
430
158
976
403
6
645
697
367
479
562
609
158
513
689
885
720
252
534
119
611
463
140
656
397
769
514
992
434
918
472
875
569
162
446
988
269
378
263
199
822
520
976
413
557
352
582
3
474
195
866
647
269
572
663
142
532
250
565
437
792
146
437
696
151
961
172
667
515
215
773
22
772
565
213
609
857
892
488
762
307
671
976
898
780
563
480
651
38
7
332
698
35
817
544
237
101
440
260
823
680
590
724
886
723
427
540
781
631
297
270
685
590
350
307
990
256
15
528
92
994
375
432
653
306
19
365
465
664
794
937
27
673
218
939
822
407
8
898
75
769
289
910
446
970
578
543
743
531
564
414
203
763
24
502
346
329
977
395
682
325
299
424
805
289
604
113
523
702
107
402
716
815
616
921
544
111
496
928
502
305
685
634
533
537
399
327
123
361
142
80
813
172
57
881
89
983
448
662
951
819
484
99
768
545
770
8
219
680
415
834
213
542
718
50
673
147
401
216
19
406
534
111
954
511
993
596
920
890
299
823
195
719
166
971
147
805
948
976
622
588
436
578
748
115
148
610
736
109
323
637
397
670
333
950
166
731
102
431
397
93
459
1
576
796
8
191
886
589
271
896
234
480
325
489
481
700
131
326
92
924
35
95
837
271
717
626
517
418
949
511
873
148
135
367
7
802
503
628
645
375
247
512
533
473
632
225
112
923
274
492
346
638
417
262
271
194
956
767
377
716
413
170
412
850
841
711
594
22
839
600
474
709
493
905
917
144
62
341
741
755
665
164
569
636
46
354
370
502
751
883
962
947
685
138
486
257
56
534
495
706
214
882
827
35
693
403
870
773
104
108
197
158
147
880
785
696
126
768
187
791
826
907
128
470
513
992
922
958
123
402
29
737
389
959
824
780
819
740
380
829
894
576
611
978
850
632
694
293
680
952
37
902
766
982
414
800
705
838
110
596
402
543
27
568
503
529
764
685
594
471
610
711
343
897
239
96
969
94
663
148
976
545
642
875
113
490
338
966
870
263
445
635
676
694
444
389
128
263
887
392
211
632
819
736
509
887
542
817
788
93
947
31
219
749
515
158
700
345
938
133
416
518
32
384
805
202
212
561
582
805
388
274
296
649
524
380
214
848
507
519
965
333
181
811
481
964
597
70
251
527
570
460
801
970
635
265
626
371
347
291
489
28
676
516
125
500
926
764
923
631
224
551
56
368
103
763
887
665
146
499
210
867
945
217
25
786
876
336
108
62
306
555
583
543
893
454
88
129
577
398
861
957
712
371
294
827
540
112
49
532
877
870
843
85
433
148
382
883
689
60
754
541
594
281
776
446
672
151
409
104
297
165
387
983
993
950
617
887
639
841
752
834
344
347
572
74
598
88
452
113
15
323
258
575
618
769
460
330
150
237
107
528
342
566
616
121
415
411
949
995
345
740
888
51
582
292
568
439
995
823
352
710
756
711
405
788
798
373
70
538
233
986
215
201
829
203
291
99
233
928
725
847
137
709
638
761
996
977
592
279
217
208
231
982
973
23
225
249
917
427
895
665
105
653
245
34
398
524
904
289
428
872
670
604
9
307
912
768
494
536
86
228
184
530
19
251
339
47
396
332
734
418
135
315
997
55
904
704
136
807
70
264
788
202
828
371
697
558
27
479
877
176
513
737
690
122
421
49
834
579
898
805
836
418
211
109
191
403
57
570
743
406
149
622
227
118
843
919
166
1000
647
538
478
635
946
614
196
225
168
557
702
692
917
184
746
757
324
934
290
390
948
833
951
232
115
52
365
947
481
660
337
986
966
703
48
892
915
805
873
108
509
299
646
258
997
332
280
950
268
450
729
518
663
947
196
498
681
649
351
297
413
867
72
240
141
978
894
118
491
435
900
427
965
84
280
718
443
303
153
877
485
849
535
684
845
279
533
708
671
484
940
449
243
152
402
653
976
989
266
894
629
92
2
841
318
199
829
103
977
445
834
206
377
852
341
14
660
21
807
894
641
420
815
1
785
187
11
338
862
621
999
661
762
364
247
877
865
850
80
305
638
748
655
71
867
972
651
941
15
352
71
105
751
180
165
767
593
678
968
934
955
888
392
432
638
622
93
44
911
858
581
594
937
441
165
999
205
15
349
546
23
849
258
150
889
666
511
920
735
588
706
151
615
74
356
748
411
63
675
195
518
595
92
395
260
842
740
89
30
831
465
135
716
144
95
582
40
521
777
387
828
615
254
579
86
104
793
886
985
987
355
145
500
182
284
300
521
454
433
434
678
328
187
71
14
843
275
943
909
953
619
498
311
908
719
736
438
177
239
321
600
341
513
533
673
929
690
348
68
320
88
800
744
720
119
865
941
680
876
247
797
798
998
876
975
48
20
370
742
647
750
428
678
501
591
937
351
28
908
537
830
612
691
556
889
32
803
498
88
932
30
725
716
840
8
590
743
266
863
11
515
153
39
444
911
310
390
236
90
496
45
600
728
491
980
844
902
859
472
13
332
79
839
812
767
376
947
542
695
921
979
772
394
995
866
675
601
362
608
228
689
365
423
23
324
194
299
12
7
368
69
344
799
713
549
384
761
34
647
118
349
221
603
405
79
770
673
953
252
540
641
492
438
126
525
317
723
391
704
288
424
552
508
399
83
705
964
250
86
842
43
85
188
197
203
596
515
245
471
346
412
802
621
503
608
424
198
538
731
783
324
706
179
737
185
395
707
609
119
892
838
545
7
730
439
927
466
521
322
494
984
115
762
216
712
995
208
995
104
55
253
944
960
286
162
338
743
438
844
328
195
451
184
170
414
261
102
11
527
648
488
272
28
920
458
247
657
576
972
861
414
576
950
427
949
456
438
859
84
359
280
25
692
968
991
845
472
450
225
292
448
788
296
648
155
283
719
294
567
595
616
775
768
412
144
110
265
732
807
153
631
796
631
279
845
876
694
869
299
530
437
830
955
393
513
883
538
290
674
474
968
251
326
908
466
2
964
794
879
645
610
924
842
524
808
504
295
734
420
24
742
340
722
128
415
116
822
564
109
554
444
659
95
961
512
797
923
684
756
50
363
917
795
482
971
44
732
604
4
219
359
147
459
720
452
605
69
605
510
977
948
421
493
764
432
972
800
532
369
712
736
324
747
887
219
751
82
410
302
886
430
366
386
944
239
155
660
315
514
559
398
744
919
425
210
279
513
229
282
204
797
528
889
277
628
187
215
518
311
318
610
223
941
56
935
60
580
674
573
930
434
26
28
696
559
3
754
60
959
485
13
590
167
284
125
390
521
673
394
945
379
432
405
461
487
756
118
396
514
995
386
953
580
961
100
12
213
446
144
362
776
667
758
105
852
609
684
811
471
596
713
317
356
974
812
84
516
507
100
674
681
917
295
198
3
22
152
587
427
112
602
124
900
490
986
986
339
636
787
453
908
34
776
51
669
551
296
124
147
166
719
257
655
969
771
515
536
624
495
674
580
880
140
511
984
324
122
738
182
265
538
343
749
565
400
952
373
243
876
321
583
890
360
217
519
303
92
758
524
239
404
754
775
863
403
692
451
302
41
826
201
686
82
219
762
195
421
713
654
932
595
536
787
882
75
648
690
843
119
13
807
953
543
672
976
359
758
884
783
690
815
618
930
154
2
382
166
537
756
675
599
887
233
410
395
375
955
238
996
678
324
69
948
260
657
15
395
67
640
631
63
501
711
577
319
3
980
791
492
232
710
828
206
599
273
277
890
874
755
85
997
705
70
143
720
120
503
741
131
538
135
346
775
353
438
701
684
920
692
416
685
633
539
68
646
859
118
324
14
645
764
763
565
530
138
855
832
259
36
60
57
888
828
93
843
593
645
220
909
464
969
832
464
727
255
702
778
95
556
3
447
452
925
641
707
611
506
450
915
718
841
564
956
753
889
628
926
652
666
533
891
841
195
70
928
311
689
201
909
954
474
692
715
549
211
450
638
652
379
269
748
660
823
606
912
498
417
677
963
666
517
407
247
916
961
715
411
423
801
208
807
134
830
603
367
919
247
99
111
250
463
478
747
417
136
930
946
676
27
481
966
336
146
413
258
491
972
257
589
16
237
789
968
469
859
950
390
760
176
746
987
792
496
39
688
793
370
553
904
734
696
578
66
44
927
621
74
823
196
684
837
886
139
942
121
259
550
353
880
229
790
109
67
597
28
932
696
618
985
890
592
972
849
837
802
217
409
544
161
394
269
337
835
845
206
348
998
858
351
503
960
428
895
42
158
314
446
631
471
547
997
141
169
753
703
748
673
944
312
326
3
931
150
6
424
154
5
378
344
499
144
74
947
645
936
344
406
567
254
829
771
113
911
913
780
957
856
957
922
833
775
191
50
678
20
277
714
195
525
349
177
387
455
880
775
841
869
833
869
851
601
405
147
30
905
106
446
692
129
50
588
133
851
129
922
917
440
132
439
399
992
26
305
23
922
289
662
392
282
657
340
676
60
657
918
742
267
40
203
251
657
595
797
95
257
840
857
736
752
799
563
423
927
378
85
794
10
886
26
77
771
869
424
964
655
767
407
225
78
836
484
319
227
418
305
585
369
930
408
52
732
849
139
579
454
586
441
799
978
378
660
317
554
236
864
694
141
531
422
42
146
45
765
435
872
150
294
951
470
350
399
879
496
544
411
505
861
290
119
940
94
763
146
663
351
315
113
796
530
329
986
643
192
527
444
694
711
7
414
134
246
86
122
852
648
438
177
98
411
105
207
248
101
734
527
540
503
762
165
301
873
350
319
913
283
586
987
709
41
826
79
37
535
110
789
992
689
223
389
687
397
365
892
471
932
345
221
231
344
906
623
729
283
65
70
981
518
341
309
820
673
354
7
135
322
562
227
735
668
831
12
460
457
135
478
902
677
919
198
117
822
563
29
744
218
951
799
266
963
365
414
549
530
783
21
339
988
199
837
193
83
778
131
142
130
464
644
469
799
213
392
171
373
104
439
40
8
464
706
781
832
559
287
307
481
534
85
114
805
87
785
681
40
766
308
923
667
889
960
59
598
824
372
691
43
772
246
494
633
266
613
685
928
284
23
357
436
296
604
842
685
538
459
486
650
531
187
631
90
189
647
111
929
853
263
293
858
252
256
558
751
692
200
83
320
741
221
19
687
313
964
432
174
312
168
885
686
943
349
162
501
393
591
440
167
818
913
150
450
485
16
904
975
480
479
80
283
599
623
126
495
915
327
191
704
49
86
419
486
351
422
155
644
34
608
325
422
811
310
479
923
735
383
321
405
742
532
81
481
878
994
737
936
308
679
934
87
968
463
412
105
183
437
919
711
649
952
843
6
912
256
282
981
910
356
859
404
186
488
343
401
77
268
90
986
612
115
348
260
807
64
741
721
798
429
611
405
543
81
447
148
848
282
338
297
129
146
228
627
594
758
780
38
554
932
814
869
142
394
610
288
18
878
858
285
581
303
661
248
785
669
804
960
909
817
435
137
534
505
439
296
540
511
9
830
155
663
383
640
948
722
245
604
204
64
57
426
290
931
451
140
469
869
875
653
102
611
867
228
364
299
701
735
371
414
655
842
96
215
828
32
599
806
248
512
816
151
1000
604
662
515
238
169
215
824
249
4
566
397
169
886
269
334
570
143
421
605
905
201
92
562
693
543
220
140
442
931
95
490
483
513
252
188
335
670
926
432
727
68
235
818
106
383
878
429
339
623
494
928
303
779
735
280
243
779
780
554
95
393
264
951
458
737
541
878
536
539
794
357
152
149
744
587
914
571
616
746
686
463
582
417
811
130
128
187
922
45
625
3
783
289
966
879
305
648
276
405
792
784
551
292
496
12
597
916
789
756
771
360
571
660
840
23
102
674
759
230
62
183
264
618
507
367
964
289
350
565
75
845
137
343
976
474
190
350
571
177
626
816
814
88
379
703
810
597
117
130
639
623
838
666
408
994
52
481
79
316
635
154
274
134
870
138
651
442
709
501
381
822
7
577
964
562
317
599
896
122
865
201
672
236
482
937
257
735
609
583
381
920
943
80
24
923
973
388
966
54
402
410
591
558
444
431
5
554
60
150
83
194
475
511
295
230
734
1000
28
252
630
974
636
832
65
917
640
686
797
167
370
748
579
852
775
758
863
213
355
554
643
485
916
755
498
787
348
947
556
262
753
799
951
803
993
755
318
291
202
77
982
213
881
54
842
889
927
135
346
320
383
593
612
833
721
72
459
292
213
47
84
623
306
776
151
806
931
816
323
293
400
535
637
988
837
358
666
592
123
659
123
81
975
316
415
557
79
970
658
515
188
896
842
816
692
268
165
314
449
262
19
128
636
139
766
990
903
915
236
4
433
726
805
384
352
313
49
430
549
311
221
102
119
203
198
999
583
837
156
490
509
416
934
16
371
720
944
308
326
110
528
360
79
579
879
545
141
688
957
161
642
730
404
40
278
906
67
597
108
571
619
833
728
874
711
352
723
211
244
436
439
970
641
546
850
974
443
432
685
890
171
177
48
614
144
91
496
314
878
388
882
374
754
920
321
952
872
102
317
258
417
328
413
932
382
819
762
101
200
834
618
782
708
648
102
329
858
483
541
492
775
851
296
515
74
409
293
395
841
460
384
75
314
714
270
850
98
774
967
750
693
85
677
973
218
770
515
712
501
834
747
899
78
749
55
413
274
280
880
317
215
753
107
547
563
653
130
257
759
556
917
735
794
937
771
386
877
287
343
792
860
346
898
275
990
977
960
690
341
336
246
408
285
591
222
594
501
345
717
886
290
330
772
559
448
680
302
89
532
274
216
775
112
236
351
781
556
647
947
461
923
948
418
383
806
270
867
771
345
192
120
422
156
994
65
334
658
517
725
368
99
166
803
281
622
417
422
382
869
434
372
877
937
54
486
680
16
430
678
126
622
107
790
522
195
144
611
949
724
181
371
52
206
31
544
814
998
439
13
492
531
162
548
921
441
403
40
413
907
953
141
308
844
72
799
75
700
293
665
492
737
812
515
87
92
104
620
505
389
671
493
855
358
648
530
452
742
56
865
567
747
119
187
923
436
949
345
716
750
335
341
914
312
79
688
366
747
561
176
87
39
733
827
685
340
791
152
495
761
131
884
458
852
10
44
137
912
540
506
587
797
260
266
954
582
547
249
798
314
551
796
127
88
183
957
55
849
915
312
792
652
798
347
422
600
160
334
539
303
892
244
351
497
123
493
303
434
305
201
635
728
472
228
508
627
453
431
533
96
358
510
589
660
531
275
773
710
462
420
242
831
866
662
452
793
255
664
25
2
835
260
53
617
501
351
163
994
30
282
72
838
313
632
685
240
600
156
1000
754
320
9
241
840
937
508
634
248
734
420
225
403
133
168
966
444
367
410
51
328
894
160
143
340
918
989
722
418
823
882
218
935
52
997
20
967
258
929
696
628
95
61
969
727
84
264
114
906
390
477
395
375
199
710
129
579
601
599
732
408
557
943
866
102
542
568
409
576
970
475
510
736
303
460
454
276
83
303
377
573
747
185
158
534
211
204
956
703
666
727
929
475
951
872
662
25
147
544
687
427
760
359
282
493
963
220
423
56
907
517
357
792
11
696
777
160
491
418
987
739
134
670
755
47
440
934
799
912
847
983
944
610
671
955
64
272
786
88
838
511
835
940
201
825
920
925
144
118
330
766
155
555
838
791
172
85
493
70
396
180
649
27
683
715
162
557
519
485
310
617
797
518
24
969
676
251
413
17
837
585
432
674
353
60
759
808
205
691
609
89
200
477
242
3
677
266
417
385
929
406
860
75
704
623
128
185
496
606
905
65
602
96
851
216
72
668
622
330
741
975
564
112
534
954
897
766
79
390
905
836
464
265
767
605
685
530
171
421
893
281
813
90
86
854
174
990
287
7
731
639
565
171
911
260
498
778
624
306
773
749
191
990
690
575
833
641
262
842
669
75
448
667
340
260
815
277
956
249
595
870
65
732
663
999
724
603
421
914
575
590
984
717
991
369
332
715
46
563
268
49
4
682
161
553
498
366
426
798
405
281
605
431
613
605
758
278
596
345
556
134
692
661
136
804
487
935
292
766
549
615
17
767
41
730
780
767
389
543
153
923
314
39
573
698
972
785
109
794
885
273
37
296
618
992
952
333
882
350
902
591
852
58
722
229
7
725
373
75
733
248
552
525
251
20
291
223
183
123
553
412
214
445
75
861
846
79
819
368
215
481
446
169
298
589
167
23
607
514
155
324
646
480
487
404
988
396
223
59
822
826
799
439
215
134
409
662
121
292
385
891
413
150
918
181
781
996
623
81
399
844
564
840
668
253
361
80
188
395
895
968
344
744
972
243
527
20
6
929
98
972
425
229
610
145
36
836
714
74
17
918
416
189
585
72
41
324
594
854
341
926
533
883
668
904
407
109
44
633
11
555
240
782
942
727
696
470
504
962
236
783
354
124
37
808
324
489
241
163
359
102
944
465
947
608
25
300
693
364
413
46
949
617
977
307
521
682
136
853
524
333
688
659
382
99
110
71
835
722
749
177
559
829
942
180
674
782
43
929
969
731
776
813
173
152
103
895
943
511
23
499
562
255
324
477
513
46
325
19
196
964
89
186
64
476
407
316
359
87
92
72
463
951
772
169
565
171
434
765
34
184
393
97
356
399
276
163
992
207
832
187
832
612
95
141
186
962
474
818
402
704
870
836
290
642
785
465
488
930
712
349
778
901
779
71
183
883
770
950
315
356
119
669
91
164
451
106
416
995
529
217
834
20
250
937
496
415
436
865
981
455
752
896
668
14
24
91
370
604
595
794
899
534
129
433
69
366
459
476
401
617
639
758
465
589
366
736
349
242
333
286
216
310
853
314
313
206
341
821
54
824
817
35
2
43
635
893
687
603
75
449
180
12
237
778
267
339
955
528
885
63
68
593
193
616
447
275
300
922
621
929
200
1
742
306
887
681
861
724
12
551
183
755
660
550
61
338
12
28
948
74
704
656
466
38
692
324
2
560
294
38
991
340
859
871
137
694
247
233
353
929
838
66
125
628
354
97
333
103
159
955
312
391
8
749
77
953
475
733
178
658
396
793
628
739
685
785
691
152
872
212
105
157
506
333
479
25
357
561
198
469
994
916
139
785
900
384
927
697
733
263
228
617
753
966
816
332
691
287
735
163
563
843
925
272
982
262
86
107
577
696
405
949
16
413
989
140
929
533
515
843
788
474
652
140
409
299
254
842
271
950
203
645
311
309
62
166
181
131
332
956
224
153
246
795
576
111
477
450
877
961
59
619
42
338
102
933
417
178
618
771
455
459
854
117
707
236
78
831
544
485
671
554
531
783
733
882
761
547
119
612
811
340
992
610
179
758
531
308
191
556
371
903
424
942
732
108
612
433
965
675
861
277
408
4
744
187
43
841
537
88
418
453
372
613
712
688
614
337
602
26
114
132
821
57
274
556
886
820
83
882
525
86
346
267
726
1
350
518
192
433
135
138
208
26
319
610
576
214
194
403
337
400
395
779
429
94
28
318
332
37
534
977
984
256
965
668
962
562
556
537
978
181
684
596
243
137
327
911
150
475
146
275
21
642
176
217
373
171
898
187
271
286
158
11
869
242
8
37
139
993
25
907
161
252
107
568
40
138
26
959
703
378
281
788
358
462
886
943
354
246
798
401
558
251
597
920
130
287
917
426
742
119
856
750
898
584
251
316
966
960
297
429
957
395
439
59
872
914
850
406
658
832
108
55
412
432
858
269
508
387
360
774
745
752
813
450
428
268
280
478
584
397
818
835
81
750
196
510
558
500
143
433
461
5
683
938
383
54
486
490
164
107
554
553
893
418
810
699
9
175
309
514
238
649
855
401
941
865
807
137
792
514
699
910
396
654
122
613
571
235
980
375
544
649
844
665
229
328
640
806
98
842
295
424
900
101
306
171
596
51
411
34
477
642
665
704
355
991
273
753
91
388
461
812
505
170
526
585
869
607
957
241
789
592
172
700
255
363
997
376
44
454
481
158
452
811
12
842
554
301
3
721
786
889
595
778
687
349
923
761
37
759
508
443
497
925
240
535
46
554
224
45
221
241
520
355
143
288
383
937
841
952
205
406
195
987
759
573
132
205
709
253
336
399
614
870
890
139
802
283
663
841
550
873
246
48
18
627
464
27
209
866
252
645
64
304
769
962
459
313
160
162
485
634
282
223
902
298
78
216
53
165
984
222
843
334
920
668
644
653
975
271
59
694
827
922
570
850
336
539
2
669
490
369
605
133
78
230
286
378
45
945
216
227
465
564
577
41
472
997
705
561
282
396
249
855
665
919
275
5
817
549
413
855
610
267
251
32
645
198
197
431
332
312
931
552
484
889
371
370
555
226
838
947
691
13
697
575
235
374
316
83
192
839
605
869
402
406
755
309
902
409
68
508
975
120
893
709
927
908
786
312
496
280
966
146
111
316
32
550
935
877
668
842
715
432
795
979
11
512
180
536
288
618
62
684
687
873
737
473
34
813
365
598
791
514
496
754
211
678
947
873
903
380
662
809
382
943
178
467
969
803
139
24
548
281
55
613
295
908
180
773
484
304
931
57
851
654
769
394
817
506
810
213
73
948
745
868
644
234
842
613
568
560
877
217
755
26
868
331
421
771
403
904
742
883
130
233
3
989
761
744
569
331
514
235
490
767
495
91
376
330
938
940
481
942
587
339
592
378
747
307
419
848
695
987
646
388
223
246
733
814
31
798
826
165
589
285
866
394
882
821
89
576
99
697
631
53
996
289
881
733
94
743
562
248
337
671
249
776
133
911
185
123
925
396
814
93
559
311
389
269
781
8
399
53
109
604
319
262
182
787
356
580
452
128
470
928
739
99
907
164
736
99
908
549
24
988
36
127
541
42
785
463
737
786
741
234
823
836
591
766
652
770
698
975
732
38
801
76
831
110
625
111
406
353
851
561
843
656
918
299
111
415
626
688
973
313
336
898
334
268
864
412
667
34
809
266
698
189
181
741
698
697
646
156
810
748
616
899
783
386
720
15
403
250
890
549
656
847
407
291
392
959
795
762
819
134
341
66
695
739
392
709
468
719
287
606
949
13
946
275
332
589
683
651
470
180
770
49
412
87
642
538
75
895
403
409
853
528
476
476
635
838
804
640
450
857
38
567
458
887
481
308
512
868
436
401
889
824
736
346
81
747
914
301
708
975
446
549
744
970
952
558
223
431
62
440
523
821
895
236
143
741
749
721
582
42
647
378
615
216
841
755
738
397
244
693
28
253
36
792
23
161
345
61
443
310
18
897
773
809
958
432
777
434
416
782
987
413
929
959
93
481
281
5
950
540
17
438
607
426
515
236
349
638
592
393
287
416
918
559
377
214
265
387
148
436
782
997
559
293
989
389
608
762
209
743
294
950
449
283
519
575
577
780
340
925
774
845
737
389
832
860
748
584
888
777
348
184
527
49
967
765
38
623
897
398
789
290
112
251
302
657
260
150
641
692
639
924
141
64
999
370
347
507
917
830
272
13
318
703
711
996
416
712
437
431
2
347
509
643
532
753
851
584
918
214
470
427
251
564
393
778
977
56
493
103
170
679
824
774
645
466
21
708
598
83
605
743
377
869
739
734
726
531
98
846
587
929
43
696
107
695
207
768
14
999
932
34
943
391
756
794
601
509
262
564
894
416
172
247
246
444
542
931
422
764
239
388
42
298
684
780
897
234
14
93
867
156
391
591
950
707
178
898
442
798
112
391
819
605
379
241
208
959
731
796
670
312
378
987
654
151
423
100
141
560
32
563
941
696
349
356
578
65
433
289
948
840
116
657
729
925
737
727
94
125
183
87
853
554
496
155
562
388
628
34
515
159
538
463
770
45
967
829
522
54
692
82
218
547
930
916
766
299
924
766
73
162
392
17
950
466
666
308
88
466
872
983
429
522
400
525
746
195
279
308
671
123
793
94
717
355
822
497
62
819
942
70
8
720
285
753
46
958
516
171
409
136
55
689
847
286
856
155
105
250
619
21
250
538
335
875
564
581
420
447
185
519
521
855
65
58
279
176
100
456
946
443
476
437
778
804
368
635
540
902
157
231
312
503
204
593
15
999
83
44
705
726
843
393
770
937
565
471
590
884
954
735
99
705
180
934
965
705
546
941
761
188
763
126
606
228
837
64
219
597
589
926
258
646
831
665
81
82
96
966
792
446
595
1
567
585
776
205
732
562
468
661
34
274
74
192
855
487
699
920
865
143
439
887
763
565
235
313
282
606
865
189
629
910
671
223
866
164
545
580
514
658
580
485
853
490
505
510
956
520
725
279
495
494
324
427
749
830
878
835
44
220
306
603
74
552
251
722
146
643
721
136
432
952
760
728
724
706
973
780
34
896
622
618
611
171
809
504
585
969
25
274
527
133
936
912
635
887
840
995
161
250
653
927
920
899
642
975
441
54
374
379
374
138
507
230
269
899
133
396
736
131
326
485
291
396
462
741
920
923
637
806
480
401
227
483
593
519
197
982
616
905
314
661
607
611
793
931
921
390
248
816
249
783
25
657
444
504
138
559
443
660
56
515
959
115
537
542
370
709
553
813
455
91
96
506
145
645
330
19
502
382
116
276
508
648
404
82
47
245
371
859
685
853
478
660
449
671
798
42
849
817
70
246
789
377
944
127
864
918
788
483
774
924
251
701
229
900
484
180
770
794
575
585
401
12
274
794
769
520
522
362
924
453
669
407
349
190
491
117
41
85
302
460
917
912
515
293
705
605
978
763
790
68
282
805
184
657
60
565
920
449
932
807
663
563
405
676
299
585
506
751
536
658
350
941
366
873
160
646
306
415
488
561
949
320
495
641
272
824
215
49
546
988
631
350
425
739
290
826
8
474
878
543
229
137
899
734
907
7
123
112
224
507
958
990
154
990
296
447
607
821
640
335
658
75
526
623
232
793
372
419
86
99
845
41
702
388
789
667
14
467
568
410
471
781
371
171
33
801
702
229
146
231
772
356
592
963
991
152
398
572
60
455
654
755
478
883
175
275
371
48
442
897
685
496
125
297
703
204
836
111
769
332
418
168
849
973
230
385
287
850
393
23
696
264
880
761
413
97
693
536
396
374
65
222
728
674
829
969
120
688
591
511
955
357
338
780
417
307
464
963
237
753
967
513
382
653
753
688
827
654
554
920
149
289
971
677
311
961
537
510
430
487
505
669
719
343
264
5
100
324
911
870
135
12
526
398
56
303
110
832
676
269
1000
558
841
787
799
98
955
701
510
620
781
757
618
437
383
194
304
580
607
667
881
741
922
132
751
834
816
411
920
934
173
452
149
600
246
679
333
460
878
431
566
432
614
212
705
191
233
352
882
287
996
737
591
832
606
457
469
853
496
587
805
156
521
812
180
92
587
292
339
656
39
992
573
203
863
646
434
436
883
730
540
465
188
30
630
436
923
918
776
672
490
2
826
308
891
605
767
105
673
435
660
540
436
895
200
255
401
704
763
652
874
881
3
765
729
716
679
539
265
13
413
269
829
780
504
314
660
541
763
116
290
599
554
210
644
938
912
172
748
900
599
390
534
432
489
149
804
476
472
733
843
51
381
190
504
645
105
941
886
831
136
639
836
422
286
544
616
65
216
234
12
893
695
628
84
754
263
151
497
579
14
380
108
641
818
627
44
816
162
775
41
491
154
104
210
394
968
988
720
484
160
120
96
999
812
362
995
895
452
379
305
224
47
18
421
431
120
727
339
155
259
436
995
893
817
985
948
812
651
588
36
30
83
842
147
971
112
458
593
753
102
269
901
114
765
26
970
97
314
166
714
557
55
61
246
569
545
183
613
996
665
284
903
778
603
939
251
12
821
751
918
504
489
93
146
294
782
534
939
581
675
961
260
601
564
21
401
258
110
653
431
737
208
436
707
911
873
925
393
50
125
394
827
278
676
212
355
233
343
582
928
583
607
541
400
445
686
897
906
212
819
287
180
15
192
618
930
831
76
972
647
256
328
454
353
88
327
578
802
157
797
537
623
298
757
61
723
967
979
706
33
747
956
40
327
948
328
652
439
523
167
862
632
817
254
762
310
3
762
497
493
632
305
745
713
406
390
974
56
164
694
369
103
45
456
315
415
7
472
891
36
172
876
172
212
952
898
14
150
577
269
624
169
396
812
453
57
312
12
843
785
799
48
442
976
201
848
587
701
470
210
761
246
25
954
720
444
189
332
115
71
527
662
225
574
444
258
960
109
634
242
415
439
292
757
82
776
533
436
288
45
131
705
540
366
505
668
257
780
880
859
783
370
657
95
680
969
359
49
35
582
943
932
930
505
870
810
276
875
127
735
934
46
258
782
402
756
579
549
408
516
973
414
392
54
36
113
236
890
897
769
575
368
751
541
696
512
959
500
313
127
643
153
504
432
802
276
696
382
365
388
867
493
34
216
75
690
425
972
13
163
819
146
517
706
753
756
902
352
832
703
505
343
362
928
73
695
854
613
486
613
6
488
835
46
517
677
71
519
956
189
261
167
971
268
999
606
313
367
688
853
502
402
168
29
494
314
692
979
353
661
337
263
774
152
719
207
282
550
324
807
51
360
861
349
624
53
772
512
207
382
460
612
872
470
836
365
725
9
513
219
44
814
351
885
443
441
67
151
370
335
329
454
610
211
83
980
51
959
859
221
609
407
459
60
124
697
742
434
19
848
174
531
686
335
451
318
898
161
766
899
19
931
237
848
428
916
591
175
362
950
468
57
330
265
577
795
370
68
538
707
673
732
427
842
511
947
920
473
999
116
482
271
937
539
195
976
877
651
695
150
587
718
152
286
309
866
425
155
545
290
271
773
616
814
16
788
931
674
184
388
700
606
351
77
824
817
954
774
830
405
857
740
8
143
223
787
355
331
653
41
554
573
602
320
962
934
812
841
496
931
854
512
408
167
925
578
137
284
708
739
842
39
447
157
746
10
407
969
129
367
512
994
666
654
288
367
810
304
187
706
103
865
3
256
602
578
362
180
118
968
202
784
572
599
750
5
588
976
763
939
390
881
677
522
158
82
896
747
298
440
647
953
451
947
711
781
691
98
869
383
57
317
73
342
460
870
215
543
74
785
837
926
480
862
310
671
216
741
784
834
903
351
713
908
753
812
846
48
136
971
392
987
818
346
453
727
658
190
963
196
830
735
78
946
66
495
379
854
75
628
320
530
994
969
47
785
694
348
103
107
808
169
564
536
607
44
816
735
205
507
545
319
148
391
496
720
128
538
227
925
417
885
359
492
635
835
836
84
633
40
286
645
605
389
892
24
994
25
78
504
449
692
940
211
822
555
576
845
199
940
387
503
16
77
964
616
631
37
419
217
70
560
849
774
315
304
201
840
181
434
944
620
730
93
817
372
231
478
437
215
851
719
650
547
635
714
381
766
838
390
168
404
344
604
679
84
733
54
329
971
526
95
506
474
306
350
36
25
670
327
244
685
441
77
383
184
167
40
263
760
707
872
619
807
602
990
134
927
22
998
63
452
310
923
95
866
526
451
401
870
934
903
867
993
92
778
96
783
36
51
142
597
93
308
850
919
997
993
327
969
328
709
341
65
759
570
376
864
258
44
671
101
152
603
797
929
940
765
260
278
840
779
154
939
300
309
111
202
152
937
664
978
646
221
683
291
317
329
700
909
570
995
809
669
867
640
302
752
618
38
373
745
246
820
13
844
386
448
704
972
867
37
630
873
933
526
894
509
161
292
699
171
651
198
490
791
374
503
842
863
997
770
279
228
137
110
233
748
718
705
116
540
75
489
823
14
472
324
999
446
977
748
138
158
991
634
854
718
297
681
727
718
176
683
734
813
5
956
602
694
766
141
394
598
51
813
243
749
486
15
440
878
976
839
10
569
806
682
513
743
428
621
30
3
718
668
224
954
599
313
908
816
161
841
777
857
872
439
828
203
4
948
513
579
170
465
889
405
718
678
805
467
805
947
748
48
146
660
32
45
821
310
909
67
996
95
578
936
122
553
236
330
973
923
69
522
885
433
524
320
677
723
299
311
47
929
212
500
674
756
556
252
868
34
559
205
375
831
309
497
852
185
886
198
625
929
445
332
539
863
693
231
142
746
547
275
940
192
750
238
203
589
878
580
632
553
482
21
217
303
66
635
788
548
243
541
88
149
668
979
658
842
297
173
505
809
95
956
263
688
596
545
555
951
577
205
340
197
693
821
306
24
156
513
787
636
352
547
252
202
890
736
147
325
708
407
769
670
731
809
878
909
55
526
967
666
799
46
455
84
576
159
596
950
978
253
547
56
626
904
885
643
80
375
812
289
375
775
475
593
997
658
60
351
906
777
828
706
575
589
820
903
101
817
759
915
152
74
565
124
881
95
992
709
972
615
130
139
662
307
877
404
937
459
79
236
74
303
666
571
388
965
50
938
304
37
989
316
898
675
342
205
625
940
437
317
253
830
267
357
957
77
373
803
105
316
34
471
533
689
391
906
990
274
182
345
9
1
54
48
670
876
847
304
589
393
799
309
6
992
355
410
12
310
174
926
822
739
937
866
470
517
784
374
469
161
569
687
800
566
595
686
31
507
219
905
519
581
492
950
403
872
4
897
547
737
241
149
678
160
45
603
696
36
234
781
566
638
24
705
244
242
681
924
785
543
728
64
206
104
128
676
647
494
79
961
99
206
451
151
287
694
443
948
306
79
727
443
245
165
218
352
369
425
610
254
359
493
982
748
779
574
129
92
166
833
718
934
114
532
34
223
292
153
878
217
593
235
88
811
508
969
323
67
381
876
958
906
427
37
387
429
234
410
595
214
53
763
601
244
305
606
242
829
623
308
839
995
207
267
469
345
461
623
909
307
646
459
885
29
796
913
851
919
225
884
415
972
758
262
475
569
244
756
278
412
996
400
896
598
565
780
87
631
635
869
91
321
905
113
685
126
535
59
746
468
101
414
631
955
35
858
920
240
211
346
475
457
673
907
275
792
515
139
216
759
553
698
919
184
753
92
585
741
349
995
116
99
185
107
57
406
128
331
372
892
297
636
721
800
465
552
697
757
245
641
423
938
544
667
33
69
363
441
802
392
218
463
129
202
320
553
137
473
219
662
392
371
748
890
135
185
987
570
460
302
444
931
60
376
812
481
546
781
456
731
840
752
268
316
794
373
646
871
65
701
116
236
188
883
567
730
996
78
162
215
771
334
716
674
1
396
757
816
202
531
526
36
44
91
908
655
912
508
644
999
143
784
198
290
384
403
359
743
916
720
977
530
328
570
238
470
633
811
536
395
763
967
316
170
404
955
206
214
288
137
416
242
403
560
607
611
43
322
434
338
271
445
490
354
155
505
672
26
95
545
886
311
658
451
538
164
600
102
520
3
185
25
223
66
463
258
690
493
935
355
153
852
876
232
77
586
685
630
326
575
767
504
186
602
877
589
851
999
312
685
375
190
38
3
274
136
649
993
691
928
56
691
524
906
911
520
949
699
91
891
566
543
8
703
781
82
119
6
79
590
766
692
601
244
405
63
758
618
352
519
694
65
405
401
58
14
98
263
895
502
870
412
478
469
146
632
543
409
183
379
690
12
536
624
701
316
181
702
132
717
647
218
816
904
997
85
861
434
129
244
294
153
679
459
775
173
721
879
693
412
621
710
517
985
601
433
493
886
53
507
659
474
158
355
648
251
138
781
985
281
342
631
369
420
412
651
962
177
968
7
865
671
623
858
730
607
639
707
982
641
208
999
189
810
168
570
947
912
944
114
27
880
646
788
689
197
538
433
748
374
559
671
426
336
174
317
64
330
587
102
489
619
292
723
202
816
986
625
580
150
114
703
976
371
702
337
927
263
682
786
702
943
594
992
43
206
439
245
290
197
434
28
40
595
617
589
88
304
562
406
718
382
945
813
314
569
345
461
864
298
458
197
169
522
837
179
497
50
417
736
938
321
281
586
985
719
620
465
685
593
348
164
272
126
608
254
365
68
265
470
643
143
552
873
430
626
210
400
755
190
831
360
271
617
638
749
885
401
571
12
68
559
417
15
593
207
666
543
888
597
930
610
273
313
58
205
110
315
525
906
286
317
277
929
510
781
975
796
638
454
529
782
581
927
822
687
409
206
845
301
933
629
764
118
388
763
54
489
845
113
481
403
627
572
615
533
308
527
530
1000
863
476
553
553
126
813
214
518
20
157
53
906
935
237
577
535
247
896
443
884
188
179
898
670
200
871
619
819
469
61
351
562
524
491
159
923
699
522
705
699
739
498
654
400
64
197
236
266
992
828
31
636
771
722
209
438
384
477
874
512
929
819
606
794
817
837
26
151
172
587
984
778
586
274
985
641
825
349
597
389
152
903
860
539
718
674
196
505
825
828
912
200
973
446
133
551
294
302
957
244
336
68
676
400
230
585
130
704
903
199
678
711
398
451
794
652
307
609
985
114
9
610
620
361
712
26
238
924
244
512
85
305
182
91
963
308
178
286
934
538
265
780
88
84
547
804
350
264
877
906
278
570
80
87
875
640
807
565
750
164
326
569
332
115
439
647
445
590
222
940
283
866
509
756
702
961
819
556
783
113
992
175
849
116
901
668
447
376
439
724
325
876
447
941
115
981
358
632
251
173
131
13
617
340
458
777
591
204
337
80
414
846
852
923
279
53
379
741
140
387
538
797
990
447
889
595
309
823
753
143
412
575
590
330
702
946
14
90
194
147
891
287
218
740
953
472
947
114
26
741
189
987
253
943
954
734
694
387
448
516
281
19
465
898
394
770
654
652
254
389
748
902
931
638
657
668
1
129
269
82
782
480
906
277
675
672
653
997
290
703
188
481
985
641
325
78
893
219
205
318
779
928
966
924
834
411
759
309
68
608
185
667
79
719
574
663
813
569
55
83
375
339
16
526
71
970
396
377
679
772
226
844
312
873
958
814
398
211
454
621
7
691
903
625
156
997
595
640
819
283
211
865
40
647
201
936
955
842
935
137
534
179
496
577
547
911
417
382
606
731
158
552
115
155
883
131
635
701
883
819
455
752
56
919
156
917
11
814
540
516
667
773
619
548
727
961
251
104
34
959
624
767
603
7
38
937
83
401
328
397
510
205
825
690
462
466
1000
18
165
671
757
463
650
20
918
293
827
443
606
997
186
950
59
482
920
65
937
554
439
565
310
399
603
725
343
313
540
553
137
283
542
270
349
411
388
432
928
337
426
626
813
976
855
651
465
916
978
444
897
771
612
785
239
601
488
7
956
326
190
486
548
649
140
713
909
644
195
125
603
562
645
670
937
870
810
302
95
749
957
216
590
521
975
634
916
546
86
408
625
149
902
518
9
44
285
785
165
536
812
782
550
504
117
949
10
812
29
402
909
315
190
775
184
75
850
712
107
754
559
293
39
403
814
782
724
23
86
541
516
356
266
889
463
311
258
950
377
344
379
263
825
864
242
51
505
457
2
521
612
299
205
562
596
639
5
475
205
658
147
151
818
304
991
244
823
938
782
430
291
771
542
827
227
74
243
975
449
117
372
586
579
629
603
429
621
320
52
295
398
676
519
989
421
809
187
693
836
599
482
819
770
772
192
718
719
815
470
197
642
847
72
828
70
648
10
451
845
52
833
121
65
843
916
973
454
69
435
137
629
465
241
870
689
251
421
555
131
162
185
52
350
954
621
186
885
35
3
806
126
67
574
953
416
606
166
156
364
852
565
770
689
618
307
566
130
449
417
512
771
655
712
773
644
674
435
487
623
822
380
819
420
953
154
92
985
978
921
569
697
532
765
583
556
248
811
272
982
297
387
129
932
815
772
959
807
843
568
571
1
221
302
744
11
634
657
578
762
678
620
309
138
386
948
109
767
105
542
137
788
22
740
366
647
904
68
291
998
818
696
661
423
696
688
791
978
606
170
871
574
517
688
881
797
143
369
416
49
199
963
750
847
7
508
918
693
940
116
498
162
643
364
986
797
288
863
403
922
414
842
791
713
33
2
790
744
767
481
362
755
748
483
41
558
892
28
773
847
959
329
569
189
470
469
654
601
194
450
786
942
386
176
697
815
386
594
379
794
513
60
85
568
381
977
435
21
937
863
21
389
525
349
224
331
225
1
771
202
588
520
685
853
611
592
922
994
489
611
924
548
212
561
754
430
587
559
258
885
624
984
912
859
497
631
628
855
531
35
816
420
698
984
417
662
178
217
464
217
399
524
969
672
819
735
562
746
417
599
383
449
512
192
170
59
40
274
356
963
874
966
263
351
133
238
142
295
648
946
911
937
953
584
923
439
205
494
981
818
428
995
143
7
350
799
549
313
885
108
609
944
24
1000
451
431
454
64
400
565
791
740
635
971
656
530
896
512
205
24
248
544
894
696
477
449
426
553
643
966
847
22
680
595
700
895
708
751
4
768
881
401
568
177
218
633
821
550
794
981
906
151
124
353
244
467
336
109
178
813
947
143
582
553
671
872
495
948
720
630
978
581
461
316
358
257
144
110
954
484
655
650
196
953
880
406
771
914
337
862
51
980
164
751
604
712
455
810
40
234
159
428
754
302
473
137
446
448
728
94
392
287
244
573
554
626
553
31
580
754
664
477
598
170
769
738
547
72
899
678
424
98
549
615
462
195
241
972
747
995
304
662
191
734
892
838
99
597
436
418
786
333
224
210
844
141
814
591
675
101
321
391
866
890
391
89
814
132
856
439
792
466
657
404
266
380
587
606
876
889
831
564
965
400
48
659
886
472
988
99
648
741
214
177
629
961
535
742
179
992
203
138
961
556
710
806
774
764
315
393
410
735
41
461
858
124
947
855
753
989
932
352
532
246
204
479
193
893
802
278
903
303
243
371
960
141
458
877
757
874
650
613
491
444
622
542
315
368
412
619
512
440
791
999
64
261
274
123
671
997
855
280
891
142
538
123
554
573
151
31
24
847
597
357
222
512
876
371
499
205
771
152
623
423
27
751
163
157
224
727
481
46
321
529
429
273
29
279
549
240
731
215
295
933
680
433
316
987
598
586
337
694
588
891
547
563
482
135
693
615
386
361
263
270
166
569
258
553
69
101
25
363
512
291
583
701
284
652
631
87
79
91
216
896
320
604
601
940
681
504
477
456
597
459
48
587
313
526
901
566
695
949
815
48
121
662
835
495
247
363
975
59
345
501
938
147
220
739
66
763
396
286
558
725
406
981
676
103
517
175
237
529
162
258
237
588
679
158
819
147
699
239
140
297
659
831
918
578
487
23
543
297
455
492
714
28
547
824
467
842
486
257
328
429
716
760
75
16
235
160
261
930
155
315
204
704
266
439
633
883
673
311
558
43
799
469
216
107
650
482
141
739
253
46
493
425
627
958
812
906
451
984
233
766
853
271
68
308
393
221
324
346
335
684
421
161
796
908
847
683
208
956
982
881
799
169
634
489
466
848
111
425
538
508
793
691
346
971
255
125
493
50
946
102
938
796
330
150
796
95
159
529
797
918
261
991
922
670
807
305
631
893
545
633
439
54
868
552
345
249
953
275
741
471
368
668
9
479
730
770
944
420
990
809
534
123
905
175
364
329
56
410
127
251
580
38
266
516
395
977
806
942
306
342
787
642
823
704
539
581
916
226
237
127
224
663
799
64
414
903
180
229
478
595
595
242
806
395
980
741
709
571
273
182
962
993
746
525
606
40
638
76
891
587
837
324
806
31
199
891
30
255
358
575
557
547
590
76
418
759
330
161
178
386
470
924
865
842
451
332
30
943
438
404
477
468
626
234
999
747
783
565
160
404
697
758
732
744
109
825
949
786
36
667
94
617
139
740
296
561
944
215
620
641
245
75
662
955
19
702
907
863
509
276
36
362
923
675
227
604
368
648
248
286
222
745
809
570
132
850
175
245
229
209
567
90
943
515
215
783
23
948
228
239
961
97
646
965
66
297
125
876
833
262
716
23
104
852
121
865
753
410
595
29
266
423
427
994
649
164
538
758
544
575
271
369
309
902
893
111
78
483
692
289
496
670
784
768
922
50
916
894
347
50
623
951
219
485
70
81
613
828
774
442
951
820
217
470
533
521
17
254
707
52
954
447
405
128
646
603
124
879
51
532
143
657
343
65
951
232
883
616
374
273
164
72
883
63
636
813
883
155
266
140
619
96
521
972
441
376
239
466
803
494
495
91
341
410
147
804
774
653
218
178
164
80
650
740
306
577
243
306
596
37
814
795
772
550
661
903
348
107
476
961
381
42
715
532
458
72
280
599
444
83
93
677
556
735
736
823
830
539
916
324
865
342
927
770
33
8
629
340
8
692
729
403
540
290
314
918
915
520
637
740
411
644
141
625
376
986
591
651
260
279
956
799
49
347
388
622
56
791
238
337
974
153
554
123
412
507
921
129
878
536
802
490
310
936
813
657
846
436
410
445
412
787
601
545
145
845
158
661
398
266
686
52
244
388
682
21
12
596
323
812
350
838
347
452
717
982
823
303
999
396
12
483
167
471
789
847
499
805
302
935
898
411
633
141
292
642
241
365
918
468
861
597
514
372
371
178
136
419
856
4
320
979
707
534
788
157
169
291
775
280
155
469
291
632
524
400
346
235
244
843
211
679
58
547
317
843
298
38
255
942
511
387
659
451
394
533
471
346
363
848
167
575
740
758
89
832
162
665
915
532
318
867
660
302
516
874
321
503
919
336
436
991
504
784
381
832
921
507
162
720
484
207
872
650
438
500
695
730
538
957
568
165
684
123
151
65
46
890
782
190
685
666
469
703
119
1
766
739
693
749
611
896
892
357
796
787
909
593
781
424
905
875
964
513
391
371
375
725
62
220
1
608
255
535
562
94
907
343
669
490
524
253
685
428
212
423
529
502
257
368
906
212
101
243
126
421
798
503
766
700
214
258
908
869
284
221
593
508
637
878
418
450
747
381
927
68
591
744
555
698
451
81
389
657
124
6
975
173
302
837
678
950
278
873
909
276
473
893
606
308
495
962
968
629
571
796
364
266
219
211
719
85
994
650
435
906
960
374
103
718
322
674
825
103
294
371
969
361
858
968
555
818
536
9
306
535
682
637
569
926
82
846
946
838
843
649
501
258
658
220
806
143
530
97
966
840
951
702
960
167
356
734
307
514
381
511
106
264
107
946
967
411
983
639
202
507
575
543
921
978
652
721
358
397
331
26
835
522
229
915
249
791
560
206
883
469
172
309
626
860
316
343
399
799
799
628
713
177
810
178
779
368
338
260
543
263
599
515
329
70
281
869
536
164
782
246
960
44
768
110
868
903
577
957
928
387
996
231
429
886
874
522
31
84
902
566
431
584
650
309
943
94
579
190
952
89
347
924
614
828
196
263
978
364
567
598
900
446
394
835
743
276
724
650
873
700
389
112
407
733
484
641
453
277
291
479
391
529
134
133
319
837
355
777
900
703
226
186
255
224
175
620
451
512
115
991
370
530
35
759
449
341
258
288
851
998
928
771
108
141
376
456
195
950
959
591
278
215
861
427
83
204
147
651
976
441
17
808
321
691
837
653
657
269
20
867
528
218
227
242
555
64
700
276
505
602
745
95
613
630
509
743
437
608
262
205
825
1
286
945
386
425
381
372
32
829
694
396
713
609
290
166
478
952
421
142
397
731
916
899
662
962
535
442
391
151
368
356
311
884
583
812
456
662
915
315
502
262
304
84
152
931
972
125
248
262
86
384
911
966
848
858
93
610
497
153
349
45
235
809
516
450
540
625
275
840
678
357
201
459
465
395
48
663
517
466
462
793
269
978
215
70
35
337
390
699
245
495
605
257
805
979
510
880
184
895
315
972
470
736
1000
934
105
339
241
884
447
11
777
467
616
656
110
634
291
735
5
689
283
10
155
11
714
332
812
595
602
170
891
962
482
203
281
50
452
30
645
402
700
9
3
368
135
276
774
20
202
254
758
215
372
335
753
545
50
957
109
915
861
20
543
176
369
418
970
490
265
488
931
135
18
352
447
27
744
432
760
549
822
922
498
191
388
633
222
112
365
410
221
968
177
279
649
253
573
591
811
984
315
686
465
740
582
29
497
961
62
320
241
947
628
858
998
153
428
266
14
242
944
790
317
853
334
535
301
180
904
384
897
280
113
857
487
490
903
831
468
454
455
853
510
39
716
798
115
866
166
723
20
239
309
73
382
50
353
865
430
603
358
50
448
368
899
43
552
412
959
316
692
597
330
22
726
687
254
866
189
165
461
799
626
941
987
697
929
84
412
829
171
398
200
833
837
952
865
896
208
656
580
11
859
575
676
516
908
984
182
586
697
57
213
19
28
723
524
395
971
431
12
708
491
487
282
612
873
180
642
732
938
134
89
874
605
199
862
578
188
698
160
165
159
68
466
314
789
752
741
274
229
685
400
991
60
907
622
798
323
609
31
832
335
397
188
997
356
695
679
129
304
963
769
4
288
846
771
953
646
493
255
155
606
963
232
116
371
124
229
475
698
435
981
994
548
761
97
571
417
741
632
123
348
221
965
470
395
4
785
713
575
462
236
148
896
573
501
462
113
605
177
800
274
963
824
332
955
693
940
89
315
748
487
169
761
415
774
921
43
221
135
309
96
233
422
492
755
919
695
581
793
631
933
648
374
335
756
333
107
438
383
804
388
404
66
390
584
433
243
973
948
591
518
73
833
690
379
635
912
665
226
695
611
366
926
505
897
498
565
154
908
896
523
440
625
454
285
539
955
796
643
19
135
221
61
877
328
535
18
564
640
146
93
431
575
177
381
617
93
430
618
176
48
759
25
147
758
739
454
363
850
606
919
5
339
81
926
311
94
42
356
394
467
30
801
810
883
196
385
382
596
617
89
804
693
883
509
711
604
478
819
220
87
733
386
444
659
101
168
110
930
59
526
198
146
227
534
490
534
144
221
998
699
770
438
523
415
925
189
11
655
813
354
937
571
262
683
691
464
519
840
830
478
268
44
88
866
49
570
250
210
392
936
356
881
805
149
194
377
216
759
729
917
584
808
932
788
181
974
463
541
483
348
779
32
686
317
551
723
628
950
733
392
282
169
191
590
63
706
611
771
897
533
302
2
373
997
571
557
327
393
607
504
896
64
185
601
421
411
33
434
569
401
436
733
693
227
469
267
784
827
298
498
296
830
140
472
789
348
788
23
577
750
124
441
516
172
632
213
677
60
767
299
866
500
944
683
861
411
39
627
831
945
565
105
556
613
74
423
2
694
946
905
291
480
434
825
305
784
731
481
9
928
862
422
60
97
426
357
443
587
529
186
666
938
807
970
519
379
70
332
527
318
952
997
2
838
905
661
29
293
48
406
827
126
630
177
654
980
368
659
834
14
485
40
568
112
56
736
854
292
185
147
268
244
620
908
362
356
616
892
102
976
283
443
153
971
175
918
770
797
569
657
740
423
774
893
113
433
784
994
435
573
777
622
796
787
290
65
331
541
380
52
690
856
694
805
623
998
221
951
64
225
372
198
987
332
225
334
894
7
956
222
975
141
958
917
890
339
687
958
623
822
15
169
56
805
775
27
744
228
198
747
884
386
162
787
598
633
524
368
494
811
326
962
901
493
309
430
320
420
35
635
394
755
864
919
160
903
182
772
399
674
575
406
682
520
98
705
100
407
365
192
712
677
996
263
490
851
831
895
886
969
428
455
188
470
568
28
508
40
910
892
599
109
442
378
677
899
107
384
100
9
838
227
35
521
212
361
240
541
160
718
703
885
435
77
128
373
81
928
250
779
722
741
491
74
340
425
764
1
121
25
99
383
80
389
363
826
421
613
511
636
18
570
736
829
973
713
359
94
945
655
529
454
822
727
614
146
351
837
674
927
567
476
558
645
170
626
981
371
568
683
395
843
927
226
587
258
414
624
738
689
810
11
79
537
783
128
400
446
426
898
390
68
105
346
217
904
269
689
786
216
649
977
852
640
162
660
532
727
954
866
780
90
202
956
74
233
727
149
928
405
969
603
802
26
620
385
663
341
25
167
753
932
515
328
86
663
965
380
806
428
225
286
848
806
547
274
227
347
746
234
937
773
670
624
624
783
458
103
146
528
209
759
669
79
921
927
178
344
995
23
140
988
162
771
596
870
439
463
138
381
584
619
71
888
587
524
550
120
918
639
647
11
617
806
99
945
831
512
966
800
44
195
545
509
112
747
661
42
161
902
893
900
561
151
390
180
484
223
669
284
990
888
196
129
213
70
612
519
965
801
171
970
989
561
352
863
203
922
607
261
456
241
913
129
750
340
123
942
406
716
123
909
343
871
438
90
525
758
254
728
605
175
779
2
5
186
493
238
958
282
116
339
547
66
52
815
404
673
673
337
518
36
20
185
567
356
450
301
288
805
274
918
645
614
675
890
19
126
43
930
156
346
428
918
409
793
947
335
633
169
873
665
186
473
597
276
662
731
812
938
345
401
96
583
894
883
515
366
418
269
2
388
949
653
39
664
287
829
612
47
332
194
488
870
312
36
626
988
772
127
920
772
787
768
540
347
624
962
862
30
11
426
331
507
225
518
639
723
468
968
293
900
354
518
973
310
911
172
81
691
183
790
556
247
352
188
300
198
378
737
564
748
233
672
241
171
225
22
306
418
302
51
565
289
940
624
475
762
954
731
42
484
554
699
704
802
70
285
666
966
15
928
383
279
606
935
727
52
401
264
947
198
470
865
675
164
396
267
92
693
440
180
865
618
413
445
619
449
155
548
498
58
17
279
876
170
444
839
354
646
538
854
993
842
509
299
149
382
17
286
373
765
736
72
586
163
891
348
142
594
156
114
447
436
39
988
525
890
813
793
296
574
113
665
340
907
578
743
635
318
268
663
77
601
161
760
585
924
714
830
271
118
348
794
432
851
709
397
117
222
738
334
618
122
910
825
539
426
480
747
4
720
204
830
175
800
811
361
497
617
441
37
973
698
382
351
363
321
683
921
370
894
662
716
813
37
886
968
242
863
935
921
695
812
155
232
106
195
653
976
372
281
957
715
258
383
175
29
112
869
943
235
820
473
155
752
592
569
286
727
894
310
96
89
322
656
647
134
283
368
847
153
88
951
204
324
490
420
60
333
740
497
353
710
946
500
868
903
916
767
1
487
672
936
323
691
512
755
579
682
845
416
339
602
10
574
180
419
959
328
178
54
970
422
457
94
550
875
745
622
283
21
192
375
682
692
203
440
12
910
655
212
666
956
685
164
905
183
171
264
696
224
128
550
909
555
534
450
388
501
480
942
265
857
146
514
398
258
818
221
33
326
52
810
605
395
143
24
98
309
245
712
542
400
859
272
21
236
895
340
51
168
222
316
295
981
393
514
356
240
269
247
850
971
356
120
15
439
996
180
885
656
988
319
462
143
814
546
354
212
442
258
93
687
539
711
699
574
73
222
95
627
444
461
652
178
732
408
496
856
145
152
197
16
493
724
119
817
332
596
12
868
461
314
410
287
620
949
987
833
545
721
351
487
40
190
638
508
354
865
900
491
935
958
507
441
605
263
682
182
286
827
878
712
683
172
874
244
738
293
388
767
257
573
499
919
833
48
367
848
81
171
587
525
240
321
993
658
401
848
904
974
984
352
587
104
578
233
208
773
953
294
633
241
855
319
243
249
198
92
358
774
385
305
927
989
798
138
951
743
938
86
429
725
311
769
751
238
911
66
119
163
74
876
994
270
551
223
565
488
879
218
935
157
524
601
58
531
791
199
451
36
236
650
369
846
126
190
435
372
542
98
678
170
865
682
571
561
735
275
907
24
13
824
330
13
972
62
891
421
680
146
255
311
522
905
113
942
910
520
873
312
479
547
948
647
506
660
825
310
841
430
623
576
395
705
29
620
97
915
360
820
287
695
971
196
715
773
400
398
655
987
451
142
179
604
863
439
294
910
367
244
459
112
667
398
3
212
370
865
83
424
935
289
130
98
470
840
169
865
634
194
15
913
923
206
99
869
364
516
610
766
992
914
704
957
534
720
768
652
395
855
112
949
369
554
1
862
544
833
659
844
452
990
702
753
891
338
501
39
770
363
120
147
966
243
822
813
458
456
591
942
943
773
786
254
708
517
805
712
818
377
622
51
542
441
127
365
524
346
499
836
416
614
238
140
563
314
63
983
848
152
618
514
5
984
807
67
543
521
641
808
911
701
648
378
708
782
299
541
531
741
364
197
526
948
829
843
850
421
790
727
983
186
757
467
319
390
905
892
516
860
131
211
846
732
214
389
191
646
968
787
390
720
76
706
350
216
171
458
723
354
845
5
955
215
451
969
218
40
8
65
77
542
11
597
715
15
680
689
233
143
25
349
816
396
122
279
536
836
163
630
195
953
162
477
862
883
697
914
732
984
677
66
484
304
956
226
583
880
523
553
896
183
142
491
489
281
554
101
768
430
778
37
928
895
634
747
248
761
317
820
934
378
778
79
62
874
668
157
659
862
828
792
129
54
671
26
24
17
284
805
639
708
779
232
25
739
223
863
796
557
479
987
537
844
410
798
706
480
206
710
698
369
27
876
88
243
787
93
198
357
641
913
784
610
670
735
60
223
330
63
274
561
467
900
747
74
81
490
638
619
572
188
665
603
890
310
697
517
888
184
419
397
171
515
261
690
908
372
371
803
403
772
720
343
700
879
359
689
136
304
408
63
543
838
651
725
762
251
472
240
234
423
456
56
685
207
179
757
357
864
587
453
805
848
893
709
7
985
107
339
433
830
154
129
750
69
27
281
53
383
585
959
849
97
406
809
569
276
578
761
4
674
425
703
929
82
959
899
141
173
260
70
268
909
100
183
19
915
858
861
977
38
183
217
663
429
924
670
328
131
559
928
906
91
716
938
559
940
435
33
556
694
473
920
558
690
320
412
946
757
566
27
544
570
952
639
905
612
691
418
392
992
665
155
408
574
698
938
487
568
383
819
423
750
886
781
258
946
733
830
736
283
839
478
794
973
940
252
757
84
140
84
166
821
509
641
594
344
549
675
375
29
852
496
903
396
471
506
48
626
366
541
281
705
791
468
290
758
620
58
239
55
431
681
332
507
656
775
1000
223
175
353
873
810
569
38
665
695
629
261
252
668
854
257
498
226
378
478
856
72
207
865
362
290
673
183
401
304
751
279
567
724
243
706
977
561
881
604
659
120
45
138
18
61
198
55
908
756
52
130
569
70
230
357
521
133
398
759
516
511
900
591
855
394
472
542
651
98
949
236
137
206
780
3
745
150
766
393
470
878
679
364
994
538
343
424
140
788
284
253
501
410
300
503
495
405
163
533
685
645
191
813
920
456
623
612
760
198
553
371
667
60
696
848
674
766
400
732
568
847
130
918
165
449
118
52
902
391
991
263
812
338
972
247
922
495
688
959
241
197
681
244
834
127
523
652
873
667
764
552
227
64
78
394
854
675
621
652
228
543
37
518
72
963
549
935
917
468
263
888
401
922
158
185
745
971
224
166
561
153
882
833
1
391
88
942
250
422
557
488
577
950
78
834
426
960
261
462
564
699
912
946
906
249
878
299
443
523
421
271
656
754
95
531
888
250
662
923
425
245
782
149
454
184
117
289
620
668
971
544
675
592
817
492
559
707
882
883
327
961
449
753
511
491
714
177
893
64
814
531
144
102
146
520
481
149
178
546
300
822
762
238
733
785
382
52
224
291
857
941
481
184
775
976
656
999
329
710
175
36
300
777
414
789
615
914
352
165
332
150
376
299
877
382
669
550
81
927
1
522
896
944
258
521
650
800
784
899
382
548
437
175
85
715
285
628
657
464
39
314
992
68
635
117
910
304
876
452
554
47
656
755
498
847
115
701
29
748
993
417
982
913
580
576
72
927
907
397
868
761
252
27
444
486
608
681
251
766
482
250
957
77
295
738
827
348
693
69
727
430
275
260
972
408
593
946
71
254
826
520
855
739
149
925
634
851
682
281
778
166
872
47
562
780
293
426
215
401
155
47
830
205
252
736
249
841
698
388
28
777
539
494
364
814
289
914
205
166
464
836
796
992
457
697
605
613
469
35
916
981
760
857
361
106
171
128
328
301
748
422
491
49
295
581
659
271
846
521
783
536
398
896
235
515
694
458
383
594
515
353
114
93
707
479
183
5
137
314
162
481
873
268
344
574
145
740
155
903
60
486
514
956
624
884
89
746
358
896
602
400
670
304
173
40
210
876
168
34
607
637
208
257
372
375
769
544
248
808
295
899
952
606
846
361
100
598
106
631
60
34
982
728
647
751
148
932
834
449
604
254
127
34
744
511
864
194
479
814
419
940
681
980
279
822
572
917
958
955
737
505
22
760
97
902
814
561
534
446
77
763
856
572
323
401
438
205
675
212
188
137
931
290
455
786
739
560
109
565
125
986
322
790
91
480
479
724
613
909
274
846
206
507
280
912
137
219
166
709
495
227
334
646
569
948
925
518
434
324
39
817
184
90
536
947
18
17
965
589
246
844
15
240
334
709
380
634
319
426
75
373
262
879
52
582
930
123
450
820
576
537
894
797
486
523
81
672
970
770
297
833
594
95
609
95
760
207
224
200
167
536
904
355
315
426
401
280
975
577
567
921
445
629
191
536
521
151
626
353
304
113
969
346
398
128
872
998
548
359
100
96
512
15
553
696
788
771
836
398
830
311
371
21
597
379
718
519
525
444
3
765
591
51
325
422
683
463
587
670
358
15
431
2
964
899
896
641
252
746
928
396
842
499
145
929
319
509
73
473
349
726
645
21
880
122
910
873
440
225
756
231
536
727
935
207
393
671
850
222
617
634
345
273
873
673
240
950
344
519
447
415
570
666
284
772
223
549
68
379
545
960
112
707
438
218
36
279
675
378
694
75
270
951
68
544
859
158
206
24
804
783
660
948
861
34
888
662
446
648
789
98
942
692
866
798
23
95
523
988
679
8
635
521
477
473
871
473
609
753
170
113
437
886
451
797
596
689
857
19
164
476
808
521
67
232
719
886
675
821
465
468
505
107
626
889
25
515
40
554
855
671
467
838
48
219
10
613
723
833
463
814
59
737
957
579
525
739
110
304
297
923
371
643
976
654
432
89
118
459
348
245
558
720
519
368
217
814
765
9
874
505
543
857
394
936
758
999
19
528
727
841
635
464
599
892
374
184
949
441
522
531
282
944
455
738
966
557
255
441
419
858
729
327
444
247
789
779
277
911
523
133
258
513
866
755
20
967
431
158
770
751
963
834
510
227
864
279
47
332
413
945
239
835
633
504
212
73
235
830
219
704
711
611
397
567
431
321
925
164
569
585
4
629
770
619
610
323
735
545
225
329
341
838
583
214
457
69
34
365
373
413
277
132
633
106
99
752
114
122
192
744
388
896
342
74
771
819
43
850
950
574
74
785
792
140
699
907
713
380
933
293
5
765
734
674
643
657
86
824
380
11
692
597
406
65
376
290
439
825
374
796
879
673
401
669
588
467
748
762
923
869
712
618
874
438
307
133
575
259
600
315
955
454
953
164
47
980
164
768
288
517
747
749
176
100
632
77
818
379
102
106
224
37
140
391
677
957
249
500
169
170
407
543
660
498
71
606
882
67
48
609
517
538
611
377
836
3
442
865
305
961
870
538
241
702
399
904
338
717
696
57
748
472
57
874
493
982
867
221
116
160
724
96
906
824
688
164
494
601
628
537
307
673
691
974
198
496
777
891
530
141
266
734
147
881
382
236
965
6
306
116
332
625
556
525
964
386
204
387
976
621
247
386
480
434
768
939
280
612
607
978
445
82
907
713
887
806
255
881
678
645
151
123
473
731
145
276
320
331
356
351
105
982
992
877
82
967
153
116
251
800
463
379
812
474
997
290
601
658
597
399
162
916
877
970
88
274
148
140
372
149
39
867
747
728
821
288
437
388
285
133
315
618
599
854
171
241
692
977
715
412
625
976
957
995
833
698
817
444
341
892
181
232
820
986
116
215
839
596
634
48
775
610
233
922
643
904
391
442
526
858
371
411
364
916
946
680
650
331
132
954
939
119
617
662
160
979
327
542
428
617
494
621
440
457
686
622
542
219
442
684
255
199
605
435
396
393
937
108
906
798
326
406
166
295
755
230
887
570
194
242
624
390
773
449
596
411
889
670
749
386
414
767
961
302
774
999
871
472
498
722
36
94
753
917
68
103
518
723
923
416
286
207
752
820
619
129
587
833
457
314
668
831
790
593
398
612
233
924
755
366
37
485
489
708
315
989
581
14
577
444
254
838
224
884
299
558
286
357
573
754
515
593
349
25
962
314
591
73
259
136
342
953
140
347
147
286
204
633
851
111
491
998
157
806
239
698
50
148
84
17
568
167
67
80
426
930
9
741
686
735
233
734
3
536
147
960
978
552
890
738
800
161
110
314
669
165
966
747
465
406
595
520
725
570
610
887
312
702
707
993
45
612
61
295
194
857
992
646
953
477
359
697
942
947
210
928
317
120
504
727
309
63
124
401
873
760
992
905
640
642
812
404
598
783
857
435
709
358
281
609
204
697
605
274
453
835
399
508
84
968
709
127
534
653
411
151
300
879
536
305
957
392
568
673
442
756
862
619
188
695
628
404
437
184
366
732
486
607
256
634
640
77
755
652
405
647
589
318
794
709
396
282
665
388
487
267
687
68
628
218
868
503
236
651
592
162
118
202
740
530
729
827
811
119
928
917
882
842
392
836
924
209
175
57
214
562
366
79
555
145
442
823
591
403
731
2
752
278
308
302
277
685
780
826
304
551
682
378
252
1
608
629
581
319
790
117
544
287
555
327
732
409
1000
800
57
270
247
358
311
22
849
16
588
541
280
115
681
346
940
514
6
739
796
439
761
994
583
721
778
584
482
707
962
630
338
102
330
743
753
330
377
391
855
810
913
780
155
706
582
975
646
268
968
661
237
928
602
506
688
637
163
565
421
800
898
539
8
330
591
989
643
961
438
815
634
9
806
372
783
161
198
640
564
725
679
747
144
10
669
983
645
147
265
139
513
723
202
676
501
38
147
714
565
686
272
320
923
412
953
901
635
876
997
751
334
49
23
995
120
447
493
204
262
292
408
959
36
32
891
507
930
298
680
427
505
554
108
950
381
173
241
139
177
605
696
664
771
670
109
305
867
688
353
645
734
366
370
623
928
875
936
770
951
504
757
953
121
689
37
435
327
916
72
873
9
244
483
655
417
715
400
617
143
960
318
770
2
668
321
125
552
397
113
90
943
438
583
195
321
5
673
110
728
111
935
978
265
850
494
157
344
694
94
300
970
611
527
578
369
493
21
554
723
394
98
828
432
572
4
147
106
178
66
84
441
695
220
745
258
930
536
240
205
435
750
787
92
695
727
393
366
385
257
43
975
212
820
193
774
636
767
156
642
856
859
660
700
941
285
452
372
962
56
341
535
268
175
469
684
821
63
913
864
633
537
974
80
904
55
598
72
419
18
436
600
126
705
2
854
587
775
193
212
175
373
247
303
460
547
822
309
235
108
498
442
13
37
424
824
635
278
261
362
837
63
828
736
232
920
55
362
201
190
954
997
578
143
326
717
898
799
808
126
168
154
720
994
791
785
865
21
329
760
70
34
233
368
818
728
540
405
714
24
807
702
933
205
240
88
8
270
28
246
500
347
424
746
153
601
967
110
116
788
579
918
682
512
948
819
792
252
751
796
242
477
757
218
119
472
814
970
518
47
33
468
978
949
221
467
417
641
775
332
543
64
795
912
882
178
120
221
558
321
370
883
942
933
850
706
118
733
320
809
854
272
273
438
464
627
279
978
474
154
424
704
510
380
612
494
193
550
749
60
99
866
423
268
71
164
708
754
224
621
171
365
23
114
967
902
709
5
168
300
170
459
103
607
76
881
539
108
724
711
7
500
593
569
417
275
13
748
396
393
751
109
448
852
520
738
127
8
634
94
891
351
33
11
222
987
947
595
866
238
287
983
795
644
673
946
562
115
697
551
294
161
599
410
437
922
58
604
745
188
211
999
729
735
309
525
911
52
679
954
816
4
744
851
553
35
939
679
234
292
265
473
221
422
89
119
399
878
553
21
228
288
608
875
331
776
265
332
768
216
124
565
946
15
621
149
324
414
722
202
691
270
990
433
802
933
30
609
601
159
351
948
77
944
573
140
56
802
726
998
856
284
131
229
803
465
958
476
54
723
96
530
38
378
449
610
97
662
50
678
596
52
715
47
828
217
71
931
560
685
872
186
947
902
499
215
828
483
419
881
163
361
141
346
445
977
938
930
469
854
167
444
751
675
551
984
233
468
175
808
643
626
282
773
25
245
174
775
508
729
651
783
346
685
456
330
612
865
142
808
705
350
618
489
22
194
394
980
697
494
201
718
334
190
228
209
25
960
700
921
776
247
882
156
636
773
919
747
483
946
55
137
392
153
930
256
986
303
635
612
959
901
95
200
233
591
219
138
840
362
920
439
672
557
788
946
714
420
706
273
214
131
147
526
536
247
250
695
119
941
5
869
31
739
74
842
106
233
792
257
557
869
926
165
239
13
590
757
468
398
546
87
388
510
787
790
434
661
915
156
321
271
309
448
378
378
509
991
721
490
560
433
964
702
260
502
681
392
418
770
800
960
238
194
482
754
905
687
798
791
283
539
699
900
401
310
357
642
70
711
940
749
505
65
291
824
362
192
763
750
912
925
690
595
416
17
579
782
919
912
127
965
801
683
591
354
422
482
897
185
105
990
62
687
520
701
209
130
271
337
466
515
81
346
503
31
555
225
340
669
896
332
326
259
338
17
848
802
277
104
438
125
283
199
410
818
204
901
78
896
575
666
893
840
409
19
549
493
239
816
213
809
979
477
582
568
754
456
360
31
367
735
114
919
481
798
176
269
907
350
440
464
615
61
416
199
212
713
893
206
672
452
904
324
49
279
483
918
729
539
834
665
573
905
184
497
921
295
510
823
23
223
774
189
929
324
85
238
243
167
412
148
442
42
92
730
647
62
393
41
836
835
825
644
486
914
724
640
559
457
859
202
534
803
483
629
956
197
278
871
551
508
111
59
531
572
392
840
145
780
71
184
868
579
11
944
888
886
553
610
719
763
560
606
803
337
150
991
985
636
606
628
583
930
674
695
579
193
573
932
160
506
545
182
410
575
724
552
483
69
425
30
986
117
682
493
621
160
30
818
357
327
66
260
546
624
280
328
398
549
24
159
227
173
233
775
669
336
727
690
880
388
459
14
340
799
112
623
496
51
797
936
912
459
444
578
8
950
661
509
733
362
469
207
716
562
318
173
546
483
241
287
823
247
825
548
545
682
902
338
202
852
545
644
691
746
968
561
761
868
409
64
277
268
932
209
3
543
364
875
961
388
229
706
674
580
680
115
785
683
855
103
571
330
31
157
888
695
213
697
919
611
538
358
928
893
957
905
886
560
194
734
428
73
915
712
142
153
348
584
554
474
369
286
536
295
173
298
47
125
252
587
281
616
296
793
310
193
68
55
255
375
11
279
885
350
571
702
268
115
762
330
794
440
523
201
424
958
799
442
512
943
60
791
938
696
218
564
530
34
487
96
14
56
767
279
760
223
541
175
652
801
139
621
280
885
426
388
503
551
643
707
133
160
170
926
122
470
441
667
190
24
104
58
243
213
787
561
307
528
520
454
940
783
926
244
260
493
800
156
777
188
589
394
207
162
571
18
321
39
262
151
655
599
685
720
626
492
642
75
171
833
82
666
549
173
972
386
341
34
825
361
23
981
175
686
687
233
866
97
630
913
947
625
560
353
345
27
111
312
269
219
222
578
459
957
654
173
975
765
628
322
227
448
92
401
332
582
626
321
675
48
361
186
792
10
576
622
259
747
837
854
346
396
623
477
570
975
417
876
155
9
112
424
623
736
451
899
387
98
881
65
285
708
895
965
430
547
423
318
632
382
296
300
911
841
161
159
297
584
467
322
199
285
306
117
108
953
974
763
309
701
60
58
556
216
794
47
393
50
131
11
910
333
757
324
236
680
818
64
17
846
635
796
437
178
134
597
97
22
990
235
203
9
725
375
73
610
152
843
921
410
551
263
249
305
932
829
947
255
597
591
376
239
932
380
283
827
69
437
417
99
574
878
61
727
841
337
552
678
206
556
20
354
123
208
230
974
896
939
400
684
599
491
319
135
784
755
914
297
518
794
644
856
94
186
755
844
476
536
488
55
189
610
775
444
884
389
827
896
257
235
297
687
348
513
370
519
509
256
210
212
464
866
701
23
2
450
289
72
753
102
66
570
440
324
906
339
734
840
618
667
571
246
566
644
365
301
160
965
52
170
935
637
351
604
691
165
879
873
292
543
47
228
306
849
755
840
579
291
944
417
255
334
18
190
476
919
991
537
202
861
967
286
172
206
221
666
992
727
728
933
767
745
436
936
472
161
1000
299
466
909
925
383
178
59
312
960
11
426
468
337
924
882
644
703
9
501
105
628
597
315
520
997
86
719
404
100
723
515
962
268
53
158
235
239
582
27
879
364
496
443
259
902
943
710
793
877
472
683
655
439
707
234
989
190
241
500
790
715
18
11
459
418
203
614
846
810
630
610
269
617
462
686
626
403
595
12
180
924
710
373
38
130
567
275
669
500
338
811
984
420
268
440
696
448
961
973
653
575
924
775
828
77
775
618
455
136
717
664
599
172
431
778
72
776
561
747
197
151
344
1
384
265
738
129
867
265
618
802
241
252
214
747
617
236
4
25
328
912
668
219
110
964
584
76
609
697
550
768
851
212
85
243
91
734
704
41
19
409
15
546
892
632
371
920
580
957
44
826
852
708
614
638
522
705
297
42
178
921
465
798
346
466
493
973
862
17
352
125
152
729
111
781
854
656
598
18
963
967
989
145
235
553
53
257
118
170
57
930
873
891
148
429
876
517
104
581
309
526
935
913
580
312
783
719
849
757
895
506
984
593
253
628
105
685
592
16
640
52
148
602
485
422
441
414
413
163
802
359
350
667
175
370
532
658
893
968
836
435
782
251
753
754
940
7
593
938
979
929
522
765
336
907
897
910
526
962
245
3
821
686
906
865
915
990
15
108
592
528
29
95
254
434
435
198
473
922
653
391
381
810
370
495
801
315
715
789
520
266
772
306
985
477
857
829
25
150
917
518
886
52
151
128
6
710
676
991
457
984
638
263
907
245
691
501
323
789
161
239
312
295
552
121
215
872
238
73
552
701
361
189
438
353
955
246
896
619
270
258
808
97
127
59
394
815
878
670
716
923
208
148
656
826
593
645
264
177
690
690
126
823
317
43
634
149
981
60
658
249
74
173
122
21
998
963
430
573
440
316
513
319
967
312
509
736
897
838
726
62
160
370
613
123
455
48
889
80
571
918
871
146
183
193
298
192
755
487
632
764
485
231
902
213
326
902
625
529
253
281
273
996
852
671
17
977
250
899
208
954
133
989
175
472
344
556
409
788
103
367
180
801
447
990
908
363
840
164
396
130
284
298
160
945
428
539
634
140
343
938
995
255
651
589
733
424
627
12
827
48
772
702
589
487
73
501
827
171
864
383
938
920
739
315
967
313
454
79
456
583
144
336
112
901
448
771
953
886
346
816
589
838
591
358
739
490
650
805
915
66
943
88
439
18
36
477
598
133
107
576
823
600
689
519
190
241
201
155
448
347
223
967
27
468
820
606
156
65
490
130
319
135
451
511
742
820
58
508
527
510
118
764
328
153
747
845
187
318
202
12
254
57
811
698
633
762
714
24
538
30
659
194
262
2
476
293
194
786
196
834
296
313
978
350
968
470
176
526
201
370
871
595
298
445
162
214
186
373
359
639
534
987
958
752
477
958
960
447
729
474
641
936
264
121
384
779
550
896
532
813
523
586
518
724
110
771
745
680
122
349
741
321
771
797
159
403
894
339
84
559
214
828
932
974
599
409
943
260
342
990
918
416
953
107
356
620
791
44
616
463
155
955
74
433
133
306
480
640
573
160
911
252
40
712
746
646
529
995
118
31
978
874
102
184
358
289
765
984
229
182
836
621
152
736
371
721
293
312
321
148
888
989
265
892
958
700
947
303
840
733
431
885
610
833
861
29
478
199
805
335
564
422
140
641
252
837
276
467
485
795
243
362
962
84
880
545
175
106
873
314
619
450
915
938
313
161
599
107
990
377
974
588
905
979
859
427
240
570
132
876
535
391
201
265
353
766
775
184
693
276
885
680
253
145
807
649
736
261
193
241
816
835
226
891
292
962
83
542
169
228
313
727
142
107
26
440
986
54
904
152
897
121
160
899
679
427
507
91
7
994
108
600
682
318
234
706
918
531
85
698
231
159
793
268
402
307
153
372
340
542
34
864
401
904
734
78
875
209
773
471
888
277
747
625
927
803
896
144
589
311
989
489
880
78
976
359
591
925
607
1
880
531
889
771
135
277
797
300
613
649
171
902
172
933
63
204
565
257
105
543
446
52
686
390
202
636
767
870
187
944
232
523
746
405
533
560
688
564
235
237
453
346
779
423
343
786
410
102
592
641
759
309
923
538
6
986
543
236
901
326
154
120
170
440
682
267
12
622
897
301
428
13
989
777
133
267
479
16
656
636
548
168
24
991
970
753
139
470
373
105
516
800
469
954
598
865
224
813
239
750
689
21
288
322
349
993
429
386
399
750
530
601
324
802
843
619
513
286
295
375
413
606
980
63
898
913
707
71
133
466
132
106
172
287
560
788
942
563
974
218
73
917
239
449
223
17
706
285
176
998
635
571
6
807
964
977
27
910
930
294
82
752
3
422
973
983
358
580
451
761
884
708
272
343
318
714
270
801
656
978
242
929
431
495
741
300
767
139
538
23
429
784
588
934
193
462
835
848
966
281
85
13
37
581
473
100
736
688
771
912
557
663
869
463
487
649
320
268
894
778
741
469
822
109
198
890
965
728
451
261
879
995
73
586
270
858
11
106
257
351
122
378
600
619
559
733
810
333
685
801
879
903
347
828
170
704
922
242
634
420
558
278
96
716
412
534
834
632
483
975
42
544
869
260
75
19
871
289
529
640
389
463
361
695
501
520
199
673
919
736
961
642
280
918
665
942
866
889
86
84
400
109
509
398
18
650
373
762
387
5
61
687
216
112
408
152
59
522
793
844
432
875
788
861
712
700
477
537
208
100
450
754
93
56
437
11
595
929
259
561
932
242
531
114
54
965
96
989
113
347
716
66
972
794
928
615
771
429
310
848
722
732
608
66
864
101
321
373
452
271
377
268
32
256
443
816
20
917
327
778
775
266
598
764
750
394
299
470
275
231
124
67
949
401
954
92
390
118
985
545
334
397
15
465
637
865
599
936
827
107
912
348
202
782
167
741
367
721
313
231
295
840
602
846
681
974
294
577
377
669
430
82
179
583
121
293
83
353
262
101
410
736
891
428
874
351
726
226
744
592
517
395
738
133
947
162
213
3
798
209
462
351
946
715
686
912
562
535
308
637
583
915
796
135
111
543
124
361
892
181
307
481
475
864
191
919
923
430
837
425
196
137
367
395
468
275
121
779
635
949
322
676
267
697
228
80
49
161
914
350
568
848
424
645
912
900
11
971
151
868
588
501
231
744
303
515
179
866
374
648
836
855
916
130
487
468
535
364
889
85
867
484
183
556
89
505
95
335
667
315
655
111
243
7
359
668
622
9
371
300
273
54
867
960
633
275
62
193
755
609
847
102
541
275
167
766
854
275
478
26
330
767
651
78
571
679
698
68
722
101
549
768
142
860
901
448
981
161
868
270
7
338
744
878
960
564
688
379
15
842
581
566
712
715
593
79
821
905
231
151
199
549
787
767
611
763
94
312
901
26
513
267
612
288
835
101
392
734
629
283
50
900
137
242
162
160
469
187
481
666
253
937
249
485
334
278
673
43
350
933
482
954
249
913
469
981
881
879
378
191
821
160
298
321
473
240
1000
999
342
850
264
728
72
284
325
517
475
193
997
577
330
918
926
789
149
340
672
540
475
386
8
85
526
532
895
796
150
106
113
560
148
752
363
87
960
154
38
80
631
993
485
85
717
178
764
293
520
564
385
757
619
754
450
284
165
67
963
703
851
452
794
394
733
930
944
660
353
136
310
31
720
669
84
640
728
266
324
559
575
235
962
409
545
222
732
596
304
127
38
248
519
916
832
304
154
141
895
226
302
218
778
500
760
907
843
424
877
958
442
675
350
618
323
827
795
531
764
247
880
576
760
838
742
370
856
636
220
469
819
621
170
805
447
987
731
508
225
726
987
83
435
629
873
835
572
710
544
567
621
600
688
824
804
713
394
373
921
813
285
196
290
179
586
989
595
711
675
69
664
205
456
612
308
475
585
355
870
199
174
259
71
130
108
134
66
824
522
888
352
122
293
913
338
423
643
72
922
210
55
907
377
390
763
985
229
742
9
732
558
187
103
725
351
648
90
171
99
966
481
231
835
748
73
886
208
10
350
335
959
189
364
236
422
438
238
699
237
94
665
597
530
892
854
664
198
776
381
808
793
158
327
284
757
65
880
668
348
921
329
59
719
615
977
598
8
133
69
136
213
246
243
892
853
671
387
6
123
669
12
172
316
268
448
955
796
167
194
964
661
907
770
796
596
74
262
533
55
150
569
652
93
120
21
365
639
89
669
805
945
988
25
949
293
898
457
878
762
656
757
749
1000
176
624
887
525
360
931
511
3
551
684
905
337
256
531
306
169
235
503
382
566
125
457
936
244
512
328
380
691
679
874
624
916
341
63
236
384
330
652
106
872
545
763
439
639
480
484
535
263
291
600
728
999
677
569
842
266
816
783
683
181
213
951
441
655
607
171
327
641
1
901
424
572
492
561
519
898
805
933
645
905
349
906
142
649
168
330
339
970
387
931
364
986
603
293
157
405
219
898
499
267
899
73
779
460
158
510
213
435
602
695
490
110
477
177
128
838
23
148
365
664
555
153
65
856
345
147
954
791
149
263
461
882
655
834
621
153
218
229
724
452
2
18
923
53
38
805
545
584
794
849
675
789
530
244
447
628
123
995
603
628
41
799
68
161
857
728
711
586
14
283
974
754
566
505
784
434
258
891
999
633
629
912
645
600
785
796
401
565
99
97
77
909
406
256
337
487
147
38
550
322
555
203
436
712
188
274
144
105
39
571
485
733
2
948
318
106
683
841
504
950
444
288
415
61
59
552
721
856
571
888
54
109
779
742
221
480
263
386
791
940
34
592
292
163
679
431
714
251
359
734
730
926
127
21
838
437
815
969
625
25
175
598
480
695
51
390
403
461
93
509
969
958
956
138
139
512
948
684
373
348
849
291
404
583
949
658
111
65
429
609
182
923
856
297
605
882
922
138
611
21
551
837
367
694
150
903
575
710
91
103
165
767
470
181
413
304
833
18
158
642
793
91
270
299
460
773
152
838
133
491
856
457
992
261
361
821
413
417
625
302
104
644
335
866
450
559
664
354
354
168
928
785
371
501
785
626
130
583
465
659
869
727
615
210
411
786
501
24
54
622
684
978
676
555
810
177
808
955
789
719
533
470
507
528
898
592
157
256
904
408
440
173
265
414
167
335
860
203
250
121
217
697
662
350
410
353
746
842
482
415
107
200
866
871
483
65
321
236
125
822
568
660
696
3
159
170
173
213
102
2
975
432
448
130
383
986
296
57
333
293
713
882
830
750
613
450
561
750
987
122
756
890
749
338
6
879
99
675
508
520
530
549
184
409
509
50
224
680
436
673
847
194
670
841
520
70
337
211
425
346
92
710
715
867
265
135
974
192
598
938
349
438
320
497
18
497
451
796
17
986
16
922
949
618
335
202
798
443
683
126
857
517
368
425
787
149
728
795
958
807
636
805
503
126
848
460
989
267
924
744
192
995
531
220
240
487
627
438
304
832
422
431
96
579
28
113
646
528
386
717
249
122
420
725
992
435
350
932
967
780
752
383
172
362
260
915
60
253
787
975
902
215
733
168
454
496
959
739
874
843
227
815
501
378
382
760
886
870
831
453
422
214
743
640
19
585
987
762
540
835
7
828
138
180
737
979
182
127
160
335
236
885
323
620
400
218
440
849
387
810
227
29
914
734
764
456
329
537
974
658
908
802
306
489
951
763
289
154
582
723
442
205
197
548
436
641
598
495
501
321
159
971
820
803
829
613
52
609
378
237
189
626
35
807
665
64
628
540
10
917
372
673
362
370
694
236
856
969
888
336
213
657
914
125
891
971
372
606
785
789
519
884
775
39
238
276
404
663
15
967
572
978
303
504
422
273
155
513
509
134
627
447
974
505
245
61
640
952
802
573
898
927
824
133
775
109
336
337
811
36
970
974
241
322
16
126
508
725
771
8
302
210
417
673
184
939
706
807
340
809
926
348
152
766
982
625
109
614
947
6
25
460
78
801
653
255
166
328
582
109
16
567
720
175
31
813
754
972
148
89
753
915
833
862
446
690
446
764
792
881
41
625
164
876
601
91
859
697
778
527
628
826
419
658
677
513
588
671
854
324
300
53
789
872
889
518
394
795
824
745
410
17
743
541
706
282
694
233
606
727
865
765
840
999
579
24
616
74
982
372
924
427
604
228
418
684
971
809
133
216
527
833
848
390
385
48
115
365
858
949
875
375
292
955
66
422
444
584
852
179
557
922
926
694
297
740
828
171
961
192
396
705
667
891
255
363
804
562
727
390
647
138
668
669
890
379
501
758
825
590
177
975
33
10
850
28
744
782
842
639
480
209
826
452
197
160
274
271
899
64
875
338
632
963
42
925
822
434
631
993
169
28
704
46
687
77
469
587
20
325
573
802
883
864
546
162
313
283
516
658
430
780
272
296
602
198
395
295
192
632
421
134
578
271
970
263
774
620
342
794
744
89
341
949
494
235
977
381
92
590
279
752
69
119
639
92
28
812
7
559
915
840
761
158
81
983
279
896
208
753
71
603
164
756
828
360
96
357
900
69
395
620
524
202
702
852
584
183
765
813
818
168
828
788
156
215
156
274
306
968
488
15
805
9
486
434
494
981
671
338
781
427
8
901
101
56
984
552
735
792
17
341
472
539
58
804
672
77
495
101
943
862
874
434
994
813
459
377
237
337
391
729
331
972
37
982
219
997
136
277
117
299
539
5
597
600
629
823
123
836
31
920
397
176
812
831
398
631
209
947
301
707
855
155
331
863
558
706
171
816
2
502
785
876
97
474
345
582
335
622
518
860
206
595
541
832
614
383
335
161
321
833
442
535
575
177
691
472
507
742
309
152
343
310
701
373
177
323
178
63
848
329
753
985
487
544
510
430
385
433
191
694
172
515
336
107
724
419
774
215
829
362
264
470
399
817
863
462
942
116
902
265
84
159
548
973
146
150
553
856
196
546
175
875
514
979
241
466
118
942
961
623
874
470
425
291
681
865
688
16
442
754
954
594
818
420
649
208
271
407
126
139
514
823
320
717
305
686
907
580
456
860
468
670
38
877
657
677
29
953
643
754
67
59
939
436
549
756
260
645
43
828
249
554
877
457
742
867
798
783
740
763
814
220
415
345
665
836
278
958
913
422
118
126
262
623
414
201
611
642
742
16
252
597
95
984
821
545
143
113
867
575
209
345
377
115
139
482
188
813
284
717
980
889
564
450
478
890
928
615
541
135
556
272
73
971
847
520
60
146
565
149
594
235
512
586
436
65
769
828
523
521
817
22
863
932
868
300
386
504
304
268
691
872
449
292
79
938
791
324
906
592
396
588
102
773
483
851
621
632
35
377
722
195
895
903
228
27
983
144
331
896
178
403
93
310
903
825
518
113
668
730
953
45
627
226
635
251
754
25
394
297
342
938
860
121
381
87
76
726
811
234
41
125
782
964
573
231
825
697
832
898
271
603
998
310
353
554
895
249
170
183
786
577
84
963
185
417
209
980
295
100
329
738
586
971
984
887
115
485
487
256
425
881
293
946
223
892
529
517
623
580
442
509
388
405
211
622
513
55
858
895
466
418
973
135
586
273
573
647
477
987
722
75
685
491
427
754
617
308
976
531
431
259
68
465
590
742
49
129
874
147
74
537
906
81
263
844
667
522
792
48
51
967
365
903
257
903
717
124
655
643
635
747
887
713
486
211
68
457
365
316
405
468
843
733
980
812
688
122
170
701
129
271
984
464
946
861
558
187
149
608
225
362
75
558
846
253
490
271
527
446
687
459
498
235
617
412
643
84
831
191
113
375
348
165
536
72
630
898
553
715
509
822
805
370
241
366
36
785
888
455
686
4
866
353
196
139
789
839
251
811
755
635
391
34
779
792
696
943
412
486
772
814
474
299
886
320
465
592
887
778
417
27
523
448
900
635
834
617
409
95
604
275
624
32
241
683
855
222
49
26
558
573
584
667
966
601
655
175
719
944
619
482
900
122
757
988
998
364
941
388
168
809
254
320
593
842
945
679
893
576
888
573
300
784
711
469
747
670
918
13
120
922
569
388
659
420
594
850
898
841
380
223
614
140
55
776
930
550
795
828
135
318
576
878
772
866
7
830
269
437
277
91
684
587
779
950
175
57
711
646
433
689
747
982
627
5
963
154
400
44
291
722
31
802
165
277
211
396
472
424
774
679
555
154
331
569
828
547
3
803
499
1
350
173
16
883
147
566
91
571
893
264
607
332
778
65
257
399
392
725
525
898
641
124
479
992
142
336
911
700
929
473
551
418
377
781
431
40
141
956
8
943
306
80
298
846
103
871
121
655
326
181
525
25
983
807
599
251
861
698
179
537
380
602
400
407
541
44
657
232
833
266
291
414
669
437
254
761
303
3
52
995
197
518
539
103
500
679
470
495
652
577
315
512
92
359
510
853
734
614
171
941
171
770
329
41
530
736
911
227
527
810
993
894
558
618
367
609
574
462
76
511
102
17
373
365
13
721
515
638
532
589
910
619
559
412
372
732
581
478
708
632
314
1000
390
610
774
437
807
109
619
753
509
871
477
446
855
344
469
886
708
514
259
86
166
228
822
536
834
427
538
149
798
447
380
682
316
672
712
213
181
403
680
386
895
743
229
191
51
667
575
949
778
228
311
72
731
10
435
864
846
535
275
355
1
316
652
662
827
632
684
906
100
932
280
33
569
947
747
237
616
238
894
815
804
887
714
430
293
517
996
733
55
618
199
214
15
397
558
987
583
62
639
907
489
431
522
63
504
269
362
243
405
615
349
369
490
587
952
294
82
895
947
572
679
322
881
992
874
951
558
738
705
801
608
983
856
833
432
649
986
17
607
804
556
224
385
898
656
282
26
616
762
402
551
635
804
568
939
991
654
185
933
73
898
447
393
481
811
422
564
123
543
829
716
963
826
826
379
758
979
907
774
997
582
197
113
984
943
982
162
685
435
341
821
525
805
112
512
773
839
235
844
583
119
741
381
973
168
230
302
291
978
747
440
758
768
360
455
717
831
581
898
111
506
40
505
539
633
414
388
962
320
717
671
749
503
485
759
312
569
263
630
998
257
65
490
269
171
175
641
454
478
707
675
502
820
868
944
275
5
725
795
828
796
623
265
71
5
59
723
943
131
983
504
954
993
968
679
523
157
658
945
63
474
213
89
181
711
221
563
643
86
670
551
30
498
172
264
83
383
529
370
830
404
146
143
482
674
532
369
956
761
332
84
646
540
896
926
691
843
393
290
604
936
870
454
556
110
451
577
12
17
94
776
696
970
922
503
64
90
176
98
533
73
260
681
769
326
181
550
190
421
920
839
709
134
944
483
424
793
68
477
633
342
390
996
42
274
857
191
518
573
278
394
62
893
320
998
943
466
57
527
86
653
168
248
894
637
753
233
628
457
53
955
374
519
56
327
402
710
96
623
413
483
55
842
777
619
735
902
354
880
264
505
920
452
173
664
528
893
895
613
347
275
14
313
678
362
539
804
863
950
844
436
738
951
679
409
158
396
848
95
848
324
721
349
513
397
737
380
702
212
459
784
383
463
540
19
601
520
153
963
823
533
80
151
822
864
650
1
10
512
157
584
160
193
217
516
346
940
761
124
774
372
16
353
874
292
855
800
677
898
394
840
6
690
529
83
501
110
422
286
787
40
587
404
396
571
342
685
199
866
845
586
164
489
866
818
235
363
717
994
17
335
493
229
724
435
873
501
542
62
269
763
166
738
20
595
764
538
672
640
44
998
120
217
399
128
540
256
360
125
578
148
671
536
230
186
388
892
217
40
304
318
412
75
873
192
75
423
558
713
204
398
174
159
344
254
405
671
543
269
76
651
981
864
232
239
991
783
274
881
807
363
664
695
390
579
760
212
135
853
383
64
43
588
600
375
244
11
49
926
352
172
840
649
219
902
692
651
81
115
533
751
995
72
182
462
680
162
126
476
626
275
645
954
332
83
680
337
100
417
940
996
663
442
688
741
232
527
551
121
280
551
457
462
454
865
522
832
572
310
296
429
545
478
276
448
439
879
14
108
595
797
464
391
887
403
441
982
766
106
171
64
651
246
985
918
646
955
119
703
286
424
445
426
236
870
719
859
392
222
576
79
897
913
85
393
902
175
147
624
775
957
381
143
608
887
474
551
533
725
101
645
353
389
672
127
423
954
156
554
563
995
105
180
6
247
886
668
43
861
787
147
71
449
339
693
215
704
707
153
550
639
453
139
228
388
329
143
486
53
994
5
602
340
744
336
344
538
362
136
354
994
225
520
232
352
632
397
754
723
154
960
815
408
443
67
166
973
589
935
986
282
593
89
623
542
923
177
591
569
467
77
83
224
404
727
750
431
638
214
529
272
491
982
595
397
283
452
345
383
280
953
451
769
248
642
635
158
499
993
783
202
903
503
429
266
802
536
442
298
128
557
929
734
355
593
27
286
53
447
236
105
953
36
396
134
421
259
234
400
145
944
646
665
671
767
542
89
127
520
95
511
125
717
735
552
364
355
77
984
871
572
227
701
212
58
607
210
223
347
527
757
988
519
193
88
859
431
766
360
270
325
373
920
11
541
682
485
374
108
763
788
307
207
493
865
285
821
668
15
144
425
329
884
494
240
560
287
687
376
137
135
505
195
973
268
880
359
266
114
995
299
613
795
56
329
120
750
854
200
736
980
35
678
584
726
605
626
99
805
804
171
133
801
939
739
24
40
148
162
807
594
352
568
387
562
855
500
475
528
126
543
575
416
342
758
62
899
132
396
718
192
828
683
668
271
211
952
741
558
408
25
756
661
99
578
40
19
652
111
831
212
160
311
830
244
582
834
285
323
389
928
474
547
143
946
339
425
443
485
332
335
537
788
253
886
680
101
939
628
28
864
235
721
442
978
557
967
79
897
716
96
79
969
410
299
941
270
925
800
443
171
147
667
52
980
941
179
844
347
328
796
861
518
635
198
711
173
1
891
945
310
192
629
436
591
650
247
518
608
135
538
149
785
82
490
715
996
23
547
405
552
45
536
249
876
247
578
32
77
625
601
308
607
608
26
609
400
735
845
815
172
601
570
334
76
235
469
393
526
571
95
258
807
484
374
675
23
181
405
125
70
386
684
798
551
853
708
302
995
220
736
214
292
127
69
557
28
807
356
161
230
87
284
639
144
817
519
431
816
311
898
934
624
267
704
276
431
995
300
662
672
509
541
582
537
187
132
358
387
256
581
660
662
311
434
637
866
455
264
282
623
399
271
460
450
53
421
814
614
713
758
413
387
948
894
564
73
673
730
714
427
699
106
703
454
283
480
960
131
766
654
390
313
465
298
830
893
358
271
932
349
983
745
248
961
169
730
127
282
888
895
734
976
569
522
134
735
650
976
946
789
40
396
477
497
407
133
625
576
906
87
71
817
13
270
464
538
673
815
357
622
798
169
614
680
514
393
929
813
228
349
824
457
704
16
249
12
881
374
454
301
59
69
332
433
429
557
854
297
681
541
497
747
525
287
835
527
553
865
557
99
808
408
229
859
790
276
63
664
415
383
780
186
593
13
455
399
704
185
836
402
215
954
244
865
96
128
610
619
478
503
585
285
220
93
966
407
650
832
844
219
783
852
995
69
730
784
48
504
850
460
850
218
447
46
298
356
441
904
590
188
508
398
534
771
639
485
18
32
920
144
259
638
631
623
747
147
413
35
72
178
347
49
991
765
283
288
145
634
636
600
813
870
193
513
988
341
147
59
812
271
739
640
131
568
344
750
510
875
835
185
570
790
331
859
897
428
209
417
110
266
407
672
898
227
564
278
945
89
541
186
732
593
212
126
109
83
171
822
415
111
220
643
651
203
24
169
887
911
379
473
650
329
870
982
504
512
542
446
429
598
394
893
879
992
126
447
589
671
596
528
321
511
846
277
717
577
425
4
350
451
957
82
892
31
533
999
25
694
587
185
345
364
361
865
88
811
920
396
882
472
962
473
145
174
329
143
949
415
240
770
379
270
707
998
434
570
538
235
540
727
600
431
583
476
744
700
186
830
895
879
633
772
338
249
430
539
148
455
38
871
67
135
665
288
835
881
384
252
166
937
16
71
83
483
375
539
298
415
508
596
683
325
487
740
647
749
178
529
425
811
161
298
832
152
627
78
77
341
657
854
575
36
757
461
535
855
907
855
292
197
658
11
961
345
13
413
36
734
919
949
951
665
221
51
474
648
808
75
45
219
516
238
804
333
101
930
110
372
167
846
815
416
523
159
420
645
869
942
497
656
40
126
468
51
323
539
876
845
503
34
812
127
370
214
16
941
378
78
517
520
57
733
343
871
534
391
978
187
224
79
739
717
358
811
192
557
503
527
55
246
658
737
757
230
814
658
997
984
100
593
176
46
747
460
541
300
179
660
248
599
425
912
311
195
949
321
597
548
718
685
590
763
997
954
653
286
926
872
903
534
420
19
622
802
285
877
327
134
769
104
250
838
914
861
975
3
215
937
441
642
68
393
315
97
416
645
12
927
808
201
257
802
827
781
153
850
448
158
179
499
446
874
380
100
403
913
326
513
220
544
41
429
286
794
244
367
620
427
670
202
382
897
194
586
99
453
741
804
852
486
697
478
447
224
628
981
286
111
664
621
257
533
809
449
461
89
764
990
9
273
632
358
434
231
961
959
502
278
179
435
309
972
411
608
619
839
36
888
312
298
120
63
675
942
21
413
26
97
63
813
816
476
161
879
907
860
663
213
238
939
486
514
430
840
840
638
181
420
424
701
505
98
23
986
957
856
853
680
988
51
819
491
497
853
121
767
444
440
259
51
151
581
564
915
486
848
805
535
733
517
346
685
328
165
525
759
42
47
656
974
407
652
133
115
364
207
564
88
187
492
812
31
671
80
94
961
510
964
983
738
523
612
314
646
107
663
470
49
903
873
485
367
128
372
715
98
479
31
575
746
812
511
982
254
17
562
698
24
657
300
723
663
958
449
259
350
698
13
522
131
370
423
875
493
766
1000
314
298
786
471
360
530
833
338
776
311
649
177
335
371
808
278
98
456
368
625
246
178
405
877
532
459
205
912
873
28
935
454
407
402
501
527
589
393
137
768
544
474
965
117
957
268
427
68
223
2
16
411
446
40
150
400
160
483
429
328
315
414
726
821
135
555
752
518
983
990
786
416
226
137
251
888
416
323
670
255
808
176
363
848
344
534
892
696
751
714
896
324
353
825
445
669
481
237
460
785
160
467
54
834
850
511
884
829
610
87
737
774
971
349
580
71
210
359
295
594
453
46
118
368
234
402
591
590
711
400
487
653
721
492
725
870
279
562
782
885
892
905
481
79
295
145
310
893
814
977
649
619
590
320
341
135
330
717
85
11
54
841
12
635
594
547
635
289
206
209
102
622
722
10
266
577
141
441
683
642
390
522
36
237
288
141
871
154
415
501
759
237
642
833
178
893
625
457
469
631
403
762
189
506
568
873
69
300
204
628
575
242
853
960
753
342
341
948
647
705
190
617
77
756
687
8
975
945
417
184
801
327
218
617
783
416
63
805
842
833
326
112
124
545
267
504
975
995
337
328
66
959
69
285
126
795
923
485
379
623
419
858
389
66
322
196
460
418
406
803
113
490
551
68
492
914
555
273
680
415
28
588
62
381
201
552
842
116
285
249
739
281
272
63
722
406
706
142
339
784
15
646
845
743
441
450
875
58
471
202
814
216
954
567
427
371
749
19
493
68
848
783
417
253
397
376
810
641
926
759
30
265
432
250
545
899
630
239
770
114
814
206
714
899
314
707
388
158
421
814
411
893
9
945
673
560
835
152
230
913
603
706
835
608
476
260
616
21
634
954
485
978
890
589
771
589
89
370
433
952
246
813
972
275
920
101
802
872
339
560
419
576
171
940
195
331
643
903
964
112
914
402
901
891
233
704
353
23
412
404
383
331
605
119
829
141
177
504
525
709
714
866
219
813
868
906
394
737
765
87
858
538
185
688
489
271
568
869
974
795
191
962
722
895
506
779
392
714
751
922
626
906
411
976
670
497
992
980
508
193
910
744
33
706
970
464
565
796
29
522
712
837
983
568
169
154
113
764
560
817
175
519
836
317
361
217
55
309
388
162
605
641
535
436
49
989
419
439
811
736
622
635
878
168
114
435
502
678
526
187
704
418
975
985
976
774
74
372
193
98
204
21
195
378
890
200
894
905
358
131
34
537
942
379
934
872
50
33
636
492
810
781
895
441
359
919
341
297
973
972
982
498
883
882
929
68
671
644
844
541
608
873
176
654
140
26
664
349
23
903
949
721
270
620
390
808
149
452
338
547
989
827
196
792
412
273
552
20
925
301
567
235
539
67
581
634
137
119
593
794
900
732
854
485
981
95
359
749
965
133
376
538
401
813
527
25
817
613
102
701
201
225
481
495
881
690
508
449
90
879
651
943
304
661
624
44
566
135
868
349
662
56
2
596
925
911
876
371
914
160
359
514
955
838
361
183
783
48
888
79
112
867
101
60
990
858
471
195
228
680
113
352
12
240
288
564
57
488
905
743
302
198
546
813
202
33
192
938
125
782
343
344
229
892
697
175
464
337
869
919
21
411
897
212
641
261
469
260
662
839
821
662
611
483
281
176
420
517
279
852
75
121
446
988
606
179
115
576
855
19
127
270
384
714
366
392
211
128
834
187
818
970
429
366
2
934
774
925
704
416
602
402
897
389
233
12
4
774
609
546
42
54
219
530
919
913
986
921
857
417
859
490
901
631
420
180
910
575
278
895
167
118
422
618
18
757
967
258
503
206
942
352
16
390
855
597
416
737
777
193
869
649
596
166
933
611
915
125
43
727
793
458
597
373
141
519
327
253
151
240
462
403
546
488
514
583
808
631
134
46
796
19
629
919
314
516
167
264
265
788
630
454
9
792
358
645
400
784
743
10
789
227
739
846
946
159
881
873
489
955
329
805
865
928
796
777
381
862
932
303
86
429
917
249
513
398
542
707
447
680
23
778
900
579
155
986
428
24
199
497
773
195
32
308
552
718
736
358
406
496
719
830
561
352
912
983
237
875
375
492
734
239
816
672
280
326
210
901
956
184
655
256
72
679
77
650
409
263
213
761
628
895
526
628
979
515
388
92
155
941
868
187
776
685
980
182
516
4
47
210
343
420
165
332
662
78
380
451
444
557
317
682
546
174
450
693
531
396
122
24
239
697
724
589
261
111
138
427
247
737
673
233
669
687
245
361
259
308
466
831
861
22
655
287
816
800
522
21
354
107
400
927
654
157
487
697
403
406
487
658
678
569
420
401
949
846
136
741
840
670
249
633
35
58
781
350
384
541
802
645
823
760
758
596
211
11
947
566
549
429
859
14
341
49
660
920
56
659
170
208
724
248
60
895
749
841
881
627
872
682
720
920
97
76
982
661
66
646
795
400
33
439
29
526
110
62
777
680
884
26
398
649
894
555
925
577
670
382
710
490
221
482
665
60
913
254
356
31
671
423
523
905
291
772
278
375
462
914
377
415
772
474
459
169
570
425
91
532
85
822
776
802
572
876
826
925
628
87
155
587
974
190
580
888
205
763
198
392
991
663
755
118
171
899
703
411
41
163
809
728
878
987
771
52
412
440
285
54
515
319
397
126
869
57
775
100
720
930
754
817
168
704
614
698
561
550
565
122
731
938
359
728
766
191
260
733
952
597
355
955
307
266
837
549
896
413
929
341
697
394
595
301
358
600
26
895
624
275
182
969
532
430
330
407
779
283
615
969
773
72
173
639
987
676
214
307
192
200
779
806
15
560
610
165
79
166
651
436
660
3
269
609
377
724
146
927
989
954
196
399
709
603
539
404
839
848
749
92
691
434
133
684
934
41
740
899
517
804
204
452
256
489
241
5
63
455
846
966
495
287
790
307
988
898
8
877
734
990
895
779
571
969
268
6
700
839
37
921
285
81
165
136
206
300
584
992
328
205
114
183
650
555
291
996
616
845
231
295
682
838
326
620
962
527
592
743
398
766
975
583
442
568
752
654
681
58
476
99
175
150
554
948
548
280
641
427
16
967
545
43
618
518
192
685
886
960
539
156
60
125
6
419
750
917
132
305
645
924
663
611
450
951
219
316
752
528
7
90
917
130
814
440
452
664
614
554
466
775
726
397
24
636
373
660
188
199
889
936
526
340
577
889
664
904
391
243
275
466
221
140
493
505
520
774
361
775
429
260
372
905
358
351
538
610
169
980
719
485
739
601
134
20
708
937
70
332
610
70
814
159
464
773
745
771
104
591
331
837
187
484
521
727
877
740
618
380
643
505
296
679
496
471
832
185
230
220
987
234
948
240
228
625
197
859
144
576
558
229
955
182
403
991
27
332
869
473
150
976
767
69
128
600
287
996
952
58
869
731
376
177
541
272
274
135
350
821
517
246
261
603
471
604
46
330
405
52
215
237
254
49
36
715
195
317
19
316
465
597
29
306
666
443
369
987
583
768
753
763
185
739
77
245
64
724
293
770
17
219
496
353
883
53
537
452
5
732
96
925
901
488
159
197
828
427
276
981
897
208
823
851
349
856
690
585
401
604
525
496
773
199
646
873
686
667
251
263
612
409
381
577
518
385
379
883
699
277
261
348
545
800
497
944
731
698
198
492
434
611
570
51
82
650
855
927
109
475
618
354
877
664
416
449
717
395
352
143
561
796
993
651
179
847
420
474
459
376
951
57
434
529
203
27
54
51
720
320
753
890
343
662
978
891
884
556
718
822
404
368
961
581
600
154
754
167
372
572
203
966
645
631
296
927
895
8
944
469
654
387
983
334
457
610
179
149
329
407
473
155
897
134
791
423
691
284
758
892
962
454
570
719
662
110
74
773
806
762
861
582
533
84
782
663
627
112
835
996
116
917
837
303
852
13
612
951
636
365
695
520
555
45
732
517
659
470
777
294
34
687
711
943
604
343
857
842
714
826
660
567
655
572
987
92
818
647
226
530
97
586
816
216
461
863
322
584
409
556
417
95
112
497
399
511
636
666
998
874
585
662
237
913
858
834
92
998
1000
61
505
399
801
225
99
367
369
148
567
441
896
117
299
521
756
168
284
412
324
976
682
978
171
533
785
579
862
810
228
137
624
232
465
78
574
125
485
378
28
239
676
118
651
90
566
271
861
133
869
963
942
717
931
13
775
365
165
440
989
154
553
507
564
905
591
1
614
415
352
731
186
209
480
605
342
140
993
265
748
718
764
945
245
198
416
154
635
345
148
784
969
235
721
477
212
663
411
424
23
486
256
279
773
740
318
569
622
443
30
753
660
839
874
120
628
196
817
824
731
432
925
642
396
546
552
524
601
241
324
558
585
213
902
805
335
255
175
305
212
724
99
685
512
945
858
3
520
802
427
864
846
111
871
376
454
364
954
221
777
97
673
975
793
429
384
819
719
300
68
947
245
540
133
321
887
206
826
881
46
522
9
965
876
394
558
506
875
664
87
482
420
227
71
249
128
649
661
610
7
169
689
924
859
822
376
99
280
959
286
87
926
624
904
344
386
79
16
799
159
277
786
47
716
232
975
849
586
42
294
552
703
788
286
672
33
654
420
745
600
401
351
516
629
736
383
666
424
252
248
598
39
301
228
220
483
637
512
290
459
659
419
650
164
844
805
588
681
317
507
642
914
526
184
400
775
697
259
227
579
43
989
406
197
766
851
863
536
459
557
524
362
901
988
345
285
163
276
239
993
566
65
438
443
326
699
324
792
652
741
378
289
634
724
719
227
542
524
632
315
20
53
589
509
245
242
567
439
342
452
821
26
174
506
918
814
225
514
500
815
405
538
200
402
508
945
111
857
501
965
465
755
20
590
501
246
221
449
32
653
628
695
868
541
715
272
111
550
775
146
287
844
15
220
436
987
957
669
563
408
926
409
325
409
851
228
403
826
630
883
800
50
48
116
205
100
600
123
660
825
600
468
960
143
645
822
660
391
838
197
49
514
177
531
188
817
166
574
958
437
21
52
71
529
790
959
164
400
363
687
432
454
587
402
730
894
661
699
713
548
577
127
369
87
597
609
279
133
695
107
994
483
412
187
240
702
829
242
33
870
197
251
385
144
325
876
18
103
979
636
370
544
420
620
230
530
677
947
566
991
312
750
403
110
269
965
199
76
813
646
771
508
743
803
681
991
803
18
973
751
666
201
275
418
946
907
582
210
464
545
497
634
356
700
283
984
723
497
887
492
187
646
963
973
120
331
50
224
350
610
241
198
788
355
113
230
815
57
198
165
224
14
988
280
193
501
336
323
49
557
92
804
576
907
30
927
219
363
406
207
826
789
989
838
509
304
39
366
774
989
507
75
354
746
666
747
37
367
510
171
385
62
503
818
416
914
682
624
233
762
709
682
67
993
173
997
436
611
354
97
915
729
681
477
540
337
353
326
19
763
900
928
710
806
14
476
831
868
633
749
444
770
81
267
573
166
61
94
223
546
430
392
176
932
964
232
172
249
811
899
497
223
888
128
64
441
273
287
763
814
554
515
263
303
168
205
457
203
1000
36
418
697
890
973
101
637
256
238
1
735
727
318
633
429
542
469
24
705
483
15
354
39
282
998
512
492
758
357
632
656
439
881
557
828
33
630
837
282
947
396
53
5
954
19
203
539
260
90
428
909
458
614
575
700
280
730
962
480
643
454
255
680
198
730
521
977
511
777
398
969
999
830
792
646
999
899
669
756
665
97
346
664
919
409
106
720
343
540
118
465
730
591
419
234
992
890
126
824
255
260
163
974
279
347
524
291
764
438
492
158
753
346
305
865
52
536
464
918
557
645
257
995
413
974
99
532
196
273
980
288
653
421
634
509
142
157
66
537
536
69
703
770
286
469
764
922
304
619
387
405
504
990
711
507
181
919
337
743
869
49
572
387
977
406
438
738
267
839
652
113
222
801
721
893
439
151
834
240
439
714
459
214
727
838
408
128
482
98
691
942
26
551
631
347
57
723
589
39
733
552
98
302
843
92
416
674
694
660
259
951
838
484
994
191
429
614
654
716
843
34
924
307
154
427
717
953
211
51
983
513
360
508
210
608
269
971
429
936
987
625
628
897
49
641
164
136
440
993
169
150
229
853
950
573
985
44
73
161
422
304
160
749
287
680
444
676
214
406
742
252
102
65
861
860
594
626
376
184
417
241
376
880
658
275
21
731
519
140
722
950
759
936
308
841
805
774
823
459
469
934
491
267
320
664
924
44
13
546
910
447
307
807
935
719
67
868
173
977
289
732
818
430
63
503
513
643
445
444
93
639
395
525
34
278
309
305
807
805
175
359
790
902
55
163
532
885
427
536
917
912
886
262
241
201
865
471
271
286
304
753
135
294
661
708
272
55
274
845
744
635
822
306
918
526
559
896
908
297
102
277
184
996
727
5
451
954
569
277
238
941
632
895
627
819
232
945
211
919
351
140
691
392
373
595
456
686
879
46
156
118
470
171
513
244
78
723
580
333
875
638
236
830
666
156
955
95
614
248
786
67
251
331
47
781
978
342
451
774
697
702
247
549
783
631
497
176
321
565
785
37
457
111
508
491
709
135
374
904
335
54
921
146
159
366
628
86
818
748
718
101
24
835
822
875
282
900
474
21
479
223
848
182
890
901
223
286
469
203
421
604
690
350
852
77
876
781
890
152
657
536
970
25
157
398
226
753
564
798
469
164
980
335
19
899
827
923
233
170
634
225
570
43
728
37
693
134
217
727
404
615
643
640
195
348
886
659
794
764
190
717
387
848
686
135
120
200
426
108
72
700
713
522
151
731
493
561
250
267
654
251
580
386
361
132
291
947
958
796
389
203
557
871
456
122
156
362
891
76
23
968
218
296
113
89
507
256
510
780
95
675
215
821
637
379
134
412
941
667
776
738
187
119
6
792
917
45
171
410
588
860
66
401
593
759
477
61
404
957
528
85
876
635
627
105
833
494
575
641
744
452
364
252
711
618
189
78
971
130
502
729
836
829
284
750
320
29
261
425
696
838
508
777
891
577
710
3
931
851
389
424
597
741
574
290
121
398
686
385
965
52
933
485
722
64
119
118
727
199
574
991
232
742
861
684
901
406
27
918
928
268
424
750
324
99
539
573
747
549
861
683
839
592
527
456
145
552
402
922
601
779
256
604
20
765
937
38
197
78
776
294
30
991
973
167
553
108
389
436
879
592
986
744
819
839
154
191
419
547
278
705
696
207
211
613
638
931
766
592
922
429
936
385
868
682
327
227
851
503
201
920
796
780
598
896
354
642
253
408
116
175
382
196
486
614
994
584
893
103
50
995
635
246
665
288
979
645
576
164
100
563
213
109
60
635
118
16
315
307
858
653
167
287
270
617
168
832
641
266
733
160
393
414
126
593
942
223
528
308
658
830
127
742
279
721
49
743
712
778
434
552
869
201
213
571
92
247
920
663
750
810
411
411
800
405
491
387
464
56
278
955
666
880
587
564
578
954
741
802
406
151
994
700
567
206
198
906
520
227
405
387
820
230
892
264
413
38
440
225
791
83
818
710
396
208
88
757
571
571
752
914
452
145
778
137
391
109
223
966
924
622
525
526
828
123
515
149
497
262
872
454
745
53
36
765
149
627
577
642
212
242
625
125
942
810
254
7
953
289
642
80
800
731
425
858
66
634
907
682
682
537
688
502
48
450
839
862
786
810
964
768
401
140
361
227
668
480
24
163
315
969
411
338
446
644
752
677
221
669
141
85
456
698
861
450
227
23
131
26
25
470
6
803
696
772
207
793
243
272
509
369
501
365
688
945
890
55
154
309
712
363
149
859
896
80
751
856
752
557
35
545
995
794
434
671
271
80
694
478
460
833
901
749
275
91
677
830
65
319
42
872
268
798
382
699
664
890
674
835
433
908
366
203
38
132
335
937
120
776
921
559
907
336
345
487
158
814
735
502
235
762
586
290
765
963
720
662
242
831
718
378
69
281
354
759
764
928
782
450
520
934
93
729
836
730
390
778
699
156
711
154
675
241
979
555
306
977
638
591
427
970
815
932
340
754
620
682
343
906
710
224
736
830
303
146
269
232
675
26
996
849
553
23
595
955
936
241
559
549
611
777
62
864
49
225
954
60
400
128
69
501
53
581
980
34
575
719
371
80
877
300
465
133
151
995
319
502
450
264
333
695
779
886
33
928
233
337
41
614
13
174
152
552
116
537
620
754
143
658
57
524
897
25
863
418
438
460
709
189
799
898
416
706
857
120
504
61
723
29
802
792
591
303
776
226
211
440
635
418
993
264
861
80
310
941
556
177
737
421
844
593
797
36
657
364
296
642
405
517
481
318
400
457
52
126
397
210
534
854
325
524
644
978
49
19
50
298
43
109
364
848
946
370
303
702
297
405
694
241
178
25
400
300
108
743
319
373
296
146
294
705
270
726
189
669
981
121
357
307
720
537
470
286
556
315
974
817
556
235
458
254
758
164
866
227
706
75
797
120
382
307
97
660
536
175
577
183
728
670
968
842
909
62
146
712
963
669
270
205
462
898
715
733
817
982
578
833
121
454
98
269
242
543
570
769
134
113
152
132
937
697
560
390
122
466
766
638
878
681
708
863
935
292
473
863
253
871
612
906
331
984
12
284
443
458
246
353
729
710
437
942
941
485
440
249
583
868
591
474
361
420
367
471
123
633
29
635
928
688
743
117
502
649
729
170
84
845
692
140
595
155
173
147
128
307
491
978
1
123
614
127
3
827
647
152
981
171
636
760
658
126
10
90
388
339
320
701
600
375
888
654
827
1
601
930
551
432
362
102
588
479
658
861
343
33
267
489
105
156
411
841
451
338
533
735
976
136
451
908
809
526
858
851
794
751
1
918
798
365
912
56
329
480
730
405
555
914
525
785
818
56
495
792
1000
806
580
816
383
832
364
807
218
773
549
9
853
701
480
227
98
347
898
389
507
117
611
306
366
899
801
576
498
19
465
504
416
467
888
779
996
718
97
379
573
19
964
864
303
32
2
757
695
102
925
215
467
231
715
540
241
35
312
395
165
591
997
770
223
83
224
828
874
603
959
805
660
280
535
997
591
148
681
731
452
836
631
908
640
172
177
361
803
293
117
784
314
683
775
445
595
862
209
248
391
99
253
944
359
619
761
476
778
268
312
495
724
478
134
59
815
695
211
417
511
125
372
555
993
784
652
874
845
333
382
983
129
145
250
67
944
335
82
739
239
269
160
559
469
186
723
671
657
118
702
98
592
282
835
305
144
429
64
555
165
464
516
458
27
787
413
837
634
390
12
731
623
773
995
889
608
84
800
611
478
724
58
147
211
863
620
178
179
913
688
61
613
40
189
658
777
208
870
542
398
101
518
298
65
491
377
455
649
268
71
310
257
413
307
516
901
633
204
878
816
261
353
207
356
278
600
450
464
3
137
574
3
70
649
817
638
811
197
23
540
48
994
715
914
608
448
471
240
578
680
931
163
436
203
469
158
704
634
158
469
709
92
162
319
370
417
91
66
643
457
199
792
447
463
487
824
406
46
950
776
717
260
197
48
813
108
655
116
273
182
392
608
586
201
353
869
980
926
480
678
504
308
721
840
945
757
451
594
983
83
168
207
160
35
635
604
891
325
823
654
744
710
118
532
639
989
246
629
468
753
293
621
864
339
7
655
482
730
297
81
246
58
475
804
417
976
315
105
258
407
449
760
297
71
989
370
901
763
469
85
928
577
425
312
734
110
946
612
700
254
531
661
736
331
461
89
961
191
677
40
807
368
846
474
408
576
913
627
961
588
912
528
161
60
243
150
509
940
944
604
440
910
674
750
785
728
313
764
32
426
49
457
207
91
833
630
974
313
886
324
742
510
710
612
115
975
726
475
57
941
214
403
493
932
714
578
912
383
422
883
703
827
408
537
610
988
657
843
679
711
62
402
528
29
475
153
563
587
851
770
57
306
326
276
594
399
801
204
485
841
239
285
185
937
391
434
623
917
157
751
620
358
79
360
242
821
773
179
44
284
231
127
599
845
995
853
671
676
206
792
618
405
380
265
387
956
560
352
525
338
186
500
177
70
635
153
979
716
861
234
41
454
3
948
14
770
128
233
338
107
512
127
327
737
986
504
729
245
911
883
725
723
279
487
139
207
314
340
778
918
664
930
422
617
967
909
973
733
119
356
648
961
70
388
933
702
326
246
196
78
642
585
488
224
573
347
71
241
660
475
653
480
10
749
120
806
970
161
821
110
390
615
85
618
698
167
714
471
655
721
653
652
161
822
891
576
975
195
938
573
501
757
873
27
106
91
70
193
547
797
176
537
186
717
815
16
631
743
811
867
320
828
401
337
353
838
48
265
580
111
979
600
528
922
488
731
279
582
393
974
809
551
761
700
621
801
180
342
720
597
379
965
116
55
988
184
88
99
569
933
343
885
828
35
116
391
110
532
946
619
828
493
578
763
501
366
970
803
445
974
882
186
990
941
896
661
269
678
986
869
277
45
994
999
882
470
401
663
936
614
854
177
423
627
776
581
863
672
211
64
800
673
805
964
289
168
420
100
715
745
432
48
178
794
210
873
931
196
606
962
32
128
559
860
462
414
64
425
442
662
824
204
600
30
891
650
895
568
470
697
970
3
835
250
671
270
33
351
23
272
615
135
860
167
155
199
653
931
727
690
810
70
830
226
867
149
462
752
555
208
200
580
667
273
140
143
19
863
538
441
589
838
799
791
52
986
258
207
566
428
815
708
599
359
88
888
35
598
206
333
548
151
746
850
480
328
597
23
62
928
753
303
816
688
91
703
446
477
238
182
310
703
528
953
847
6
839
314
948
599
881
36
335
553
80
11
440
899
767
655
181
697
830
489
267
81
309
451
357
898
698
754
474
738
853
500
585
37
497
858
107
468
263
350
469
11
120
647
490
935
787
354
519
439
457
434
755
813
735
316
109
837
206
193
310
571
456
733
681
815
695
218
167
310
345
135
742
163
82
350
297
101
884
312
443
871
536
193
462
533
940
428
813
443
280
955
165
432
815
304
931
77
581
804
681
960
789
391
590
538
89
891
312
537
135
192
260
818
96
431
315
311
853
159
397
897
613
486
169
123
612
339
397
215
358
346
104
176
629
275
748
651
29
654
75
860
483
950
184
126
463
662
606
453
94
773
878
138
561
275
166
643
365
899
997
819
80
765
33
81
214
378
153
354
657
309
783
423
998
925
552
824
679
740
863
573
546
316
898
830
870
155
903
73
322
684
352
459
696
281
709
856
415
239
95
434
955
739
91
816
387
170
288
532
173
595
974
905
179
764
498
595
660
853
461
701
594
995
871
720
343
783
761
682
72
121
623
462
738
217
175
624
764
35
622
124
678
224
560
873
128
419
147
479
654
794
941
408
545
939
94
493
891
437
204
931
693
26
195
892
509
833
45
429
653
999
51
639
399
933
593
911
13
555
22
679
662
153
397
292
431
888
282
507
737
557
688
613
407
972
588
408
567
170
98
65
259
755
561
442
434
821
272
525
522
311
533
517
311
154
24
552
282
189
258
115
847
715
990
62
165
507
42
524
362
232
933
127
977
541
87
636
443
521
143
613
229
838
104
662
25
624
589
614
47
117
500
334
53
104
768
882
186
484
671
434
102
621
408
720
154
725
231
721
566
194
472
34
673
696
202
604
262
795
118
515
976
90
478
127
594
158
552
141
659
81
113
106
612
959
949
469
103
635
231
508
589
761
867
424
684
497
612
380
987
354
829
531
261
120
248
940
913
410
995
808
695
67
434
636
435
574
111
770
368
647
172
277
371
396
149
262
954
801
967
544
413
745
316
56
924
526
292
491
698
611
368
452
527
331
279
844
193
418
389
299
231
512
453
190
504
266
475
188
865
264
529
391
973
724
987
734
950
891
606
803
176
90
307
178
956
643
282
120
192
248
274
762
480
944
505
952
237
519
711
574
566
29
212
436
558
156
745
835
680
266
46
491
661
373
813
825
57
682
709
530
278
51
564
902
417
450
755
723
646
522
53
334
293
375
866
129
997
70
924
891
447
635
915
298
344
42
494
405
125
302
372
157
944
722
925
757
128
415
843
277
47
354
897
1
951
614
799
836
786
960
473
571
464
617
805
882
335
855
67
796
876
55
776
704
687
993
699
161
986
433
85
414
672
541
966
34
933
229
563
60
74
336
393
810
958
426
687
852
966
106
101
683
900
960
521
340
613
602
964
498
421
891
193
622
583
47
677
393
197
280
974
912
890
526
416
195
564
81
254
52
322
239
18
755
358
525
962
802
295
731
844
711
932
802
237
988
842
515
766
356
594
41
397
840
624
730
948
588
959
861
508
101
48
717
338
142
933
14
106
741
877
671
68
554
344
889
864
358
933
753
161
579
441
899
272
598
765
316
243
12
749
15
607
175
383
129
174
111
30
973
769
320
433
758
779
98
330
916
763
747
427
477
100
424
344
499
891
472
876
379
848
775
608
719
948
47
459
563
984
7
228
998
976
65
574
545
596
486
163
274
377
6
902
295
507
518
278
140
427
752
827
538
281
854
666
284
514
369
843
211
563
445
977
751
620
964
301
230
920
935
738
808
874
725
113
954
612
574
908
421
215
459
277
990
967
523
147
615
462
212
333
241
294
753
552
239
357
811
113
333
497
997
830
909
361
400
410
819
823
458
167
134
275
312
407
809
423
234
255
917
965
850
999
907
643
664
249
329
768
810
367
622
225
57
608
838
351
843
409
624
852
507
79
412
95
961
897
501
695
747
314
656
302
796
480
914
905
259
841
517
756
421
878
291
215
93
394
316
473
841
906
450
79
94
836
123
660
452
164
804
37
507
151
764
198
90
525
33
206
159
269
956
202
460
781
385
99
677
684
351
446
69
53
973
183
448
122
517
723
956
836
740
850
279
742
99
418
832
790
966
744
968
604
716
868
445
633
479
594
234
402
329
291
251
770
949
7
720
690
120
342
739
491
917
865
23
90
153
605
973
878
456
288
964
236
315
552
197
774
601
306
544
419
336
795
570
418
952
685
301
183
882
654
389
630
81
579
27
371
8
370
346
639
658
929
42
333
483
487
688
930
415
790
496
309
752
230
332
719
367
11
389
215
567
904
287
918
917
936
285
316
546
636
954
707
747
71
908
534
182
998
140
70
640
866
97
371
76
317
873
919
628
63
807
692
405
722
333
657
100
267
127
853
906
227
506
297
786
682
517
905
882
404
374
514
734
170
722
882
14
443
722
215
705
73
69
389
985
654
916
522
601
470
102
989
193
709
207
253
839
791
772
136
77
172
405
288
816
970
624
617
811
125
14
418
848
551
698
772
398
939
144
542
232
445
103
955
436
481
786
333
336
232
460
992
56
319
297
731
845
222
682
607
829
729
150
873
569
658
795
79
637
537
309
330
453
781
750
588
793
114
791
762
685
645
448
12
925
68
256
351
44
881
414
155
389
432
704
630
889
824
854
642
238
407
618
566
424
691
21
971
14
946
117
20
140
721
125
463
876
747
981
933
582
460
227
96
845
440
592
861
823
622
831
459
180
37
162
728
301
191
126
319
145
919
800
889
912
697
92
535
709
947
263
892
495
841
921
312
926
455
476
531
119
894
460
27
26
219
145
72
796
541
646
121
487
672
46
745
534
108
110
796
601
921
834
883
867
333
446
492
308
386
430
314
250
116
823
407
323
83
350
865
970
927
903
522
807
879
522
102
477
781
284
887
128
242
462
656
254
981
909
149
459
321
848
763
649
27
163
561
243
370
868
867
293
394
598
965
790
843
891
409
12
83
513
478
535
702
304
164
362
127
824
876
713
740
605
733
204
495
956
916
482
961
72
61
941
34
687
76
752
336
595
91
325
414
178
464
254
468
503
915
973
221
620
867
607
978
473
42
992
643
224
196
405
658
838
634
347
418
511
804
598
689
896
842
882
963
88
417
680
483
37
584
124
876
394
673
463
947
775
397
270
221
109
497
439
211
19
211
6
280
176
805
26
133
160
173
44
695
667
285
187
123
816
866
532
181
920
217
221
96
302
560
717
224
681
607
722
596
169
335
525
454
184
86
988
390
392
201
927
607
401
343
398
95
33
582
268
262
899
58
523
630
471
767
919
771
13
588
995
543
520
196
924
57
311
886
398
515
23
698
522
216
530
395
709
597
760
39
690
87
464
902
44
976
737
397
110
220
497
597
750
315
198
616
191
926
740
818
91
984
947
381
55
316
988
219
58
715
800
634
615
528
941
364
78
494
253
891
162
545
408
961
627
735
704
281
80
297
437
253
26
37
807
457
602
967
596
274
945
80
782
709
747
673
847
983
368
453
784
921
824
955
725
506
53
469
635
218
164
746
784
964
750
270
528
418
957
746
507
643
703
771
513
659
354
381
146
484
191
234
866
811
209
769
196
125
145
546
657
531
137
369
457
5
104
472
108
85
741
241
895
241
17
466
573
292
194
93
759
289
688
808
216
202
538
534
658
613
852
144
727
379
366
219
557
857
177
719
652
901
768
804
899
258
698
848
168
428
694
896
312
283
453
441
397
972
125
402
600
734
350
615
573
210
694
989
988
811
522
713
655
473
662
542
817
864
699
258
224
762
375
824
147
821
359
669
724
409
616
749
987
549
688
764
408
241
489
950
92
606
607
374
546
370
717
567
543
156
390
596
740
967
526
426
571
999
647
507
431
624
483
46
320
992
686
376
914
190
945
129
520
319
526
681
463
166
14
491
266
360
74
477
383
50
138
572
366
158
253
919
76
225
759
984
958
695
76
996
458
257
640
751
371
498
956
763
302
730
785
176
409
283
763
633
339
963
74
509
541
653
398
533
206
231
27
845
686
63
900
957
568
357
331
918
567
556
366
236
990
776
27
729
821
9
193
567
410
453
497
179
338
864
414
605
270
247
662
124
529
597
157
656
658
598
9
547
484
405
475
799
33
652
364
751
220
850
96
456
365
174
551
770
486
454
833
236
773
876
320
399
820
472
696
88
1000
17
198
551
830
342
960
74
294
387
167
831
886
552
725
303
535
40
283
530
707
892
716
838
695
395
674
458
522
362
362
617
949
558
513
280
778
193
412
692
31
982
910
294
603
735
618
342
666
832
822
828
471
205
237
851
147
669
406
666
789
515
392
10
414
305
455
196
345
692
547
642
187
957
794
202
850
604
622
693
13
56
803
459
998
996
517
706
284
319
448
588
786
76
61
713
584
961
465
819
22
127
661
852
920
145
602
595
246
890
163
259
692
50
50
207
516
707
706
43
467
149
465
866
758
665
577
380
903
584
226
899
649
222
341
39
395
732
819
992
242
56
766
888
278
334
496
653
767
129
317
176
671
803
603
334
345
200
226
648
289
565
217
863
555
277
421
794
815
555
994
137
60
747
827
768
654
228
362
237
756
170
807
808
150
696
469
395
152
975
767
173
611
860
511
490
929
556
192
924
711
644
356
997
889
486
632
87
106
695
587
562
764
858
413
1000
346
173
378
639
564
983
80
900
413
472
829
850
451
924
856
46
477
17
677
7
326
628
628
932
678
460
500
962
594
616
233
382
50
933
836
722
812
489
59
595
887
183
840
489
178
733
238
424
153
722
384
568
70
559
942
445
764
357
749
303
85
763
558
625
814
700
286
479
295
862
760
626
93
533
715
862
667
965
744
59
468
135
929
796
860
145
155
222
962
941
477
48
860
287
458
149
611
136
91
303
145
644
791
986
439
54
927
15
358
613
566
35
119
499
399
517
673
437
320
975
170
342
751
564
332
848
612
95
749
13
776
763
42
877
967
574
401
750
305
528
203
323
141
105
312
721
379
512
162
613
231
423
933
372
236
685
963
48
394
541
27
634
518
481
287
679
195
725
496
831
332
689
548
281
862
534
545
414
71
19
352
185
949
458
47
880
122
517
764
942
204
962
152
498
882
248
112
69
629
984
506
691
701
937
260
350
31
190
647
194
654
478
578
448
566
539
402
363
303
499
53
799
50
952
395
223
817
399
255
41
56
138
956
139
112
541
108
458
72
883
59
222
901
527
682
178
230
350
84
818
802
716
459
114
384
187
505
709
886
436
772
890
550
493
831
886
329
539
393
235
985
957
379
996
43
248
453
582
413
701
722
848
447
454
174
874
183
639
871
565
763
898
107
788
365
403
552
270
478
918
828
901
57
133
140
399
879
668
317
504
433
684
87
23
801
10
465
69
282
48
929
771
969
487
408
609
75
48
202
241
600
53
668
407
818
596
847
990
149
504
287
865
225
73
941
482
334
757
420
454
959
631
829
601
860
432
94
1
977
460
998
593
454
388
89
816
250
336
269
549
137
158
145
374
359
979
136
792
855
447
960
562
764
50
340
790
870
122
676
717
735
806
14
443
566
373
819
947
244
742
970
870
547
968
894
470
313
755
961
52
183
771
91
968
606
631
16
952
996
967
820
185
271
911
155
962
532
648
19
258
309
443
95
807
606
702
443
526
991
147
744
254
79
176
407
801
84
825
604
254
541
530
666
337
914
43
381
361
571
475
407
989
531
393
408
566
439
307
555
300
498
697
695
884
421
914
850
505
72
928
707
328
102
891
395
679
797
932
180
118
326
428
645
542
778
219
579
250
675
905
36
633
154
397
12
782
629
361
711
853
548
44
695
445
807
275
49
623
499
59
293
460
915
322
968
128
160
806
717
653
313
39
179
398
771
595
221
246
344
569
883
212
681
301
865
932
808
920
595
58
943
175
685
97
232
401
57
647
739
142
160
302
841
173
453
706
169
143
784
392
354
81
372
52
162
319
851
842
16
201
243
176
539
87
773
201
502
771
179
829
481
408
507
753
595
437
451
348
948
806
939
756
770
989
47
709
789
923
291
870
95
2
14
545
582
678
894
637
81
85
556
622
471
316
907
135
374
625
79
504
510
910
804
155
453
240
646
402
296
112
729
527
699
339
559
440
898
194
34
449
505
479
7
828
367
702
595
944
308
441
997
685
327
250
726
789
693
203
32
490
440
270
786
553
959
228
224
412
736
767
798
585
796
753
816
993
106
369
676
85
967
997
317
938
463
239
875
602
132
472
698
988
333
639
562
592
227
813
367
116
916
194
635
883
14
809
870
542
870
173
164
166
729
558
537
297
343
316
96
882
944
926
519
330
23
26
305
106
60
733
928
388
225
967
312
300
52
335
35
169
284
368
266
47
392
544
741
480
776
595
9
127
260
45
760
379
330
778
316
547
464
747
244
566
61
548
636
396
697
738
789
474
881
193
918
627
42
771
37
838
223
771
353
141
845
460
330
693
927
990
113
774
380
604
119
67
329
904
430
62
926
329
99
850
809
718
574
892
161
953
253
562
320
272
589
398
25
770
285
34
673
976
844
723
426
169
138
216
587
275
755
506
457
760
550
621
784
930
239
209
998
446
874
127
647
663
746
646
864
600
588
135
199
981
942
326
884
789
236
313
442
213
383
478
556
705
730
430
307
75
756
866
178
246
239
994
747
300
523
761
590
909
107
709
735
152
44
680
939
920
516
967
192
854
524
759
84
796
854
876
112
250
343
873
568
237
983
560
399
230
631
858
273
548
875
714
198
746
147
465
169
998
317
665
727
448
794
887
801
809
648
404
881
244
377
999
395
687
726
358
138
349
400
645
751
75
592
865
526
605
18
613
288
559
528
599
670
135
445
140
915
97
476
439
201
627
434
69
603
994
20
511
26
803
621
28
805
810
383
396
255
865
860
230
127
615
160
744
776
979
835
767
890
274
724
777
768
94
571
509
474
685
537
424
670
641
649
970
589
145
800
72
358
923
220
760
881
270
158
178
572
240
150
472
490
152
423
221
852
50
864
138
486
665
516
743
495
717
746
597
307
106
77
456
324
656
152
407
594
599
475
661
260
908
382
142
85
923
137
468
996
457
196
212
434
707
449
549
264
848
688
554
134
162
637
415
494
884
623
804
901
766
382
459
858
475
550
829
203
594
87
250
982
923
289
721
790
207
31
812
847
213
607
609
399
280
845
890
643
87
182
930
15
395
43
421
594
969
174
986
332
674
533
716
35
40
993
927
318
177
346
89
244
7
91
516
11
242
13
902
810
367
865
283
966
197
325
299
556
230
998
940
969
106
404
77
283
979
821
164
936
491
314
474
854
346
534
113
131
199
657
821
386
672
359
293
92
837
872
329
584
437
965
632
922
451
177
488
463
328
736
879
838
386
379
800
994
418
734
685
105
483
998
871
445
255
413
996
778
58
417
55
418
890
440
593
867
327
8
186
879
182
188
925
848
206
457
89
675
890
741
569
637
665
722
900
325
390
497
950
445
54
352
401
90
35
684
178
143
87
111
882
612
488
396
109
41
400
122
250
615
557
958
7
214
866
979
390
463
341
715
406
788
91
546
999
574
741
577
44
808
759
388
394
977
633
890
980
606
768
52
31
515
248
485
258
789
318
642
719
479
578
967
727
267
379
411
762
679
836
590
889
939
229
311
537
231
283
291
880
959
961
724
220
578
978
722
949
703
168
813
674
507
239
358
52
846
195
220
715
193
874
15
423
184
673
47
261
530
477
354
229
108
225
348
92
277
353
217
684
862
543
572
213
777
850
860
223
981
254
673
61
281
174
429
609
564
247
843
37
140
969
246
80
268
400
70
112
382
221
761
904
165
860
989
480
453
285
224
948
860
331
718
513
132
91
426
138
526
16
652
497
890
812
90
902
724
164
405
886
222
577
743
985
180
380
372
66
711
992
138
223
894
134
615
869
850
548
586
164
242
140
18
319
885
208
747
633
945
535
935
358
212
717
742
602
71
22
778
521
72
446
644
996
453
426
252
832
601
813
702
284
162
313
198
367
463
591
851
966
949
614
251
261
620
639
379
332
778
422
765
120
990
875
793
95
857
397
718
92
11
528
248
770
818
441
550
77
399
971
98
901
920
584
141
821
592
697
416
512
435
242
395
870
679
223
560
388
616
284
115
645
811
987
111
49
872
581
157
96
367
528
782
531
65
958
40
701
415
507
105
344
57
730
494
780
202
362
2
207
917
247
629
374
728
664
557
436
420
123
710
170
650
447
579
92
736
71
714
206
44
95
783
251
460
528
151
365
796
563
673
13
367
488
846
869
636
990
457
116
543
228
639
278
90
11
585
255
791
834
208
732
871
307
726
486
441
734
477
419
464
209
282
322
977
624
317
505
948
387
763
374
110
507
487
26
306
944
599
668
207
727
36
465
743
457
241
988
203
209
609
17
802
761
607
866
406
309
380
766
266
537
229
77
828
962
547
278
142
999
666
753
946
46
625
331
236
231
22
484
33
140
965
785
84
974
652
16
448
106
223
823
269
920
386
404
544
167
737
51
385
801
855
747
69
401
7
200
173
844
743
851
227
845
746
413
595
365
61
450
773
610
207
355
865
585
765
831
798
700
733
645
714
936
301
1000
99
465
759
331
396
438
910
721
269
838
696
410
213
925
780
72
912
817
425
627
586
182
370
359
625
835
346
36
916
292
487
514
638
965
199
76
784
741
957
336
256
133
103
127
245
88
966
184
501
752
528
814
228
241
403
997
605
469
154
511
335
651
783
741
229
938
824
826
528
965
596
653
576
808
53
12
504
943
149
898
769
335
786
576
754
696
237
493
164
311
381
558
590
530
233
624
471
219
9
218
647
963
418
707
834
811
942
125
650
707
642
812
276
506
411
887
434
669
639
316
130
315
27
2
525
270
586
894
381
196
943
578
762
630
736
209
30
23
220
902
765
432
205
924
902
595
117
103
243
494
246
886
531
365
250
393
421
378
588
610
14
800
823
626
113
560
689
409
983
565
405
167
194
976
954
804
90
950
947
293
505
996
284
58
648
210
990
642
454
118
515
956
321
757
298
425
833
943
586
199
10
359
335
393
620
219
520
13
329
799
330
812
791
21
548
851
315
648
857
915
401
351
960
286
266
84
162
578
465
724
511
470
852
937
671
218
403
528
466
768
899
382
407
128
61
214
619
430
475
959
254
761
599
627
868
413
191
834
293
684
738
5
164
720
853
500
654
205
160
469
942
867
858
318
593
895
63
46
344
340
977
592
759
509
153
525
823
159
429
96
848
33
579
696
965
909
383
229
108
854
599
781
601
851
281
226
397
276
977
94
553
981
632
100
757
899
396
243
586
143
169
241
704
561
393
421
401
565
516
844
697
868
603
584
756
431
748
602
489
527
309
566
39
349
510
323
319
973
592
441
877
830
570
417
153
43
576
671
625
141
958
413
430
664
560
849
796
149
86
934
16
811
40
84
776
8
497
820
328
214
901
329
415
822
124
299
841
553
290
203
304
624
223
410
414
135
949
112
840
302
358
83
171
282
16
710
398
328
92
560
866
928
579
12
202
403
272
85
961
155
481
702
717
386
61
30
859
662
172
442
656
110
101
897
10
405
602
223
918
962
463
852
837
888
443
76
59
333
269
743
698
858
151
676
105
295
131
743
335
381
636
653
817
133
813
86
519
533
567
649
705
582
745
530
851
218
576
431
414
891
295
506
919
818
878
614
271
71
933
105
274
689
88
776
113
943
698
346
931
734
240
40
706
856
595
389
353
533
283
404
336
170
821
625
115
781
586
386
423
889
979
821
727
14
197
767
215
41
650
729
295
862
896
500
918
683
989
867
1
324
304
76
824
621
226
360
596
791
568
901
280
239
227
47
369
821
386
479
582
26
496
265
291
885
410
465
116
670
281
983
299
597
268
874
338
845
657
228
931
136
750
4
415
33
749
960
754
879
916
875
624
13
483
834
299
462
146
233
824
870
499
519
475
763
401
415
591
640
144
503
641
549
221
637
858
956
666
558
815
774
220
496
115
304
15
291
718
763
105
736
536
756
897
457
612
770
487
590
582
293
967
962
142
657
996
235
938
81
319
724
627
667
483
173
850
309
651
832
528
548
323
577
195
460
761
660
25
499
73
913
881
125
268
879
935
685
38
384
392
716
699
537
407
313
480
997
559
707
332
624
114
493
510
301
913
247
455
809
895
393
929
106
170
282
915
278
54
403
533
723
701
518
121
828
768
318
653
532
69
873
882
668
329
761
953
927
947
253
729
588
147
350
755
941
21
784
618
423
750
325
404
95
701
845
154
990
228
655
448
281
713
544
738
931
812
832
657
726
919
462
264
118
577
858
140
332
943
814
291
571
443
162
85
954
423
366
796
42
960
427
897
405
991
738
945
709
557
574
741
249
294
939
481
640
237
388
766
677
657
265
668
966
906
523
543
18
194
913
901
933
801
877
453
684
482
921
393
255
729
570
84
603
101
311
586
451
64
22
874
444
640
534
168
87
711
862
543
169
987
591
853
105
504
654
67
736
7
429
306
649
731
697
221
986
907
500
876
89
754
352
964
17
907
564
7
145
923
678
177
610
20
133
499
299
246
323
528
484
35
137
984
919
524
942
489
456
39
702
289
768
901
608
757
784
51
139
563
830
39
970
624
265
601
508
321
621
379
128
43
867
351
374
787
415
191
486
420
966
64
622
207
59
369
52
402
479
523
428
991
307
183
932
180
435
231
774
862
845
438
7
67
809
962
98
380
431
756
27
388
643
503
950
507
829
926
613
936
772
175
779
87
466
546
907
524
702
950
189
408
976
395
852
394
437
258
307
219
76
251
350
507
309
813
98
861
424
123
774
989
109
42
762
400
415
82
582
239
77
935
564
909
58
161
24
480
542
426
718
290
395
35
161
771
268
607
178
293
103
425
712
742
807
378
464
602
230
446
446
580
411
352
869
158
236
349
112
35
298
111
675
101
745
359
153
455
328
127
236
975
721
587
686
138
389
944
35
96
954
189
483
501
41
452
94
220
61
267
951
849
227
325
328
917
412
186
339
757
84
969
729
281
667
289
670
339
179
544
477
883
836
201
125
920
700
919
350
105
55
184
880
880
414
610
45
254
489
254
623
694
442
55
262
89
49
13
247
431
140
810
690
677
839
400
454
240
663
471
230
698
517
827
258
585
975
445
82
614
991
398
624
249
400
862
566
333
122
172
741
386
970
238
770
267
378
679
649
123
157
708
411
932
585
142
223
502
771
915
508
479
233
116
757
767
77
886
730
805
981
493
611
268
434
475
545
134
321
94
687
505
12
208
514
218
542
294
711
85
373
616
364
544
449
384
552
597
987
376
684
204
490
644
81
691
963
855
378
314
237
311
296
874
562
879
210
122
380
924
710
786
281
815
89
212
666
729
231
990
575
300
928
443
469
115
34
528
493
186
202
511
891
293
152
781
801
557
573
288
604
655
781
387
387
868
189
331
825
538
536
244
986
571
514
194
126
350
148
867
550
784
822
462
992
248
328
621
787
853
693
620
298
843
814
586
690
874
151
182
151
634
801
102
101
523
280
696
747
122
281
223
600
761
452
553
189
815
1
643
292
253
525
705
431
587
46
827
268
591
617
720
780
88
277
392
810
633
328
804
624
166
112
990
633
558
516
682
320
512
392
230
708
466
1
489
416
980
321
384
484
593
801
64
626
287
711
927
545
491
757
289
242
60
29
156
5
737
684
372
908
428
977
412
199
23
384
208
921
616
603
694
462
686
156
234
507
253
167
651
55
30
646
394
718
353
262
253
533
13
173
136
907
161
928
643
106
126
874
560
929
343
738
941
794
565
296
140
513
211
102
29
435
997
281
632
478
944
277
574
831
538
287
93
701
13
820
814
598
746
467
137
44
271
469
888
513
726
164
825
634
404
694
700
403
673
643
839
196
716
410
623
900
443
211
831
351
436
577
532
578
971
58
96
57
22
696
959
303
628
450
950
625
160
414
366
834
853
133
476
980
409
753
828
976
620
59
521
90
716
673
634
833
605
801
90
750
241
990
575
970
107
262
536
134
213
853
941
531
64
557
182
801
758
296
497
613
759
162
280
71
923
584
959
439
20
712
443
957
345
357
733
153
29
42
953
71
267
797
946
258
44
356
574
185
866
313
27
28
634
615
788
367
102
486
371
418
248
527
577
875
532
247
844
293
210
737
156
229
814
549
155
15
460
89
297
139
838
1000
360
689
641
72
151
211
710
207
26
633
336
812
689
622
34
822
810
850
571
218
179
161
204
511
488
570
887
164
332
343
660
358
695
161
581
788
15
503
316
426
897
949
941
311
677
47
622
462
362
762
553
949
871
296
959
2
159
235
25
817
539
582
327
341
440
190
699
914
931
548
537
123
538
634
178
561
318
791
361
535
642
171
775
902
888
315
341
338
73
895
182
348
467
429
225
231
427
50
967
41
967
57
237
280
112
8
724
743
694
594
616
404
33
379
949
735
929
772
171
156
465
287
987
597
402
182
762
288
364
129
624
991
575
395
961
832
656
355
159
792
869
857
306
692
246
70
37
199
227
968
895
987
802
524
373
681
667
45
244
628
546
773
960
867
705
77
634
864
602
67
571
750
815
448
408
794
651
775
663
818
289
67
904
85
928
882
795
971
176
568
7
367
814
375
350
341
168
513
502
65
551
55
401
376
590
766
712
643
859
585
778
801
883
475
96
498
456
818
703
326
239
327
797
4
758
717
546
202
251
9
324
426
290
397
542
999
763
50
828
716
558
120
566
213
281
460
698
397
414
258
273
573
605
860
402
62
183
559
206
147
579
12
811
192
66
245
690
627
94
934
440
303
593
742
608
396
742
21
333
649
144
116
370
240
773
852
528
975
808
484
685
827
235
605
324
57
100
974
941
303
457
261
809
16
300
25
292
632
260
14
335
642
444
82
781
535
538
569
929
226
233
984
72
139
117
259
815
623
366
591
638
710
19
143
529
555
90
465
477
71
544
522
318
363
967
642
682
582
795
543
790
732
139
802
470
774
557
825
14
92
606
383
473
29
666
266
533
716
282
451
397
892
265
477
994
719
861
361
366
895
591
508
357
485
752
525
539
5
185
785
880
221
601
825
833
45
679
453
347
658
184
478
832
723
539
535
238
116
671
410
215
118
424
579
812
440
545
424
278
736
42
746
287
520
693
728
399
503
664
476
594
413
428
614
511
317
673
192
409
281
479
343
922
1
798
695
409
648
205
543
62
792
943
190
967
702
555
648
997
715
725
109
752
651
551
214
777
460
146
163
914
340
303
130
968
631
26
296
848
648
829
40
930
468
95
468
707
387
211
535
693
416
891
442
153
691
832
890
497
150
855
999
26
140
741
427
343
917
274
262
910
105
395
782
118
317
957
51
786
46
307
638
144
871
796
442
246
764
370
722
224
9
603
962
954
830
868
114
522
320
874
97
334
695
459
180
848
198
359
22
669
207
632
659
196
232
603
756
93
524
419
725
606
956
835
146
157
677
379
67
684
832
864
360
947
244
120
285
361
569
860
826
951
900
887
155
734
141
181
779
131
817
974
568
51
123
632
847
913
151
985
187
191
212
801
355
47
115
224
123
207
31
369
270
549
362
707
192
778
591
532
958
174
684
598
537
635
28
944
190
136
243
63
680
310
464
804
63
27
847
824
292
779
120
5
763
142
985
930
248
833
31
471
351
667
633
511
751
262
989
86
997
446
45
545
585
184
569
859
325
261
42
889
799
97
355
211
819
865
515
119
367
487
720
545
442
193
145
919
626
79
796
475
909
480
571
66
551
60
468
373
278
229
504
260
152
849
526
123
802
254
505
333
560
262
337
218
195
227
441
600
597
136
629
615
762
466
836
362
867
758
289
973
42
901
623
856
700
674
247
177
923
432
12
145
464
711
834
292
366
138
491
732
76
295
229
342
203
37
179
912
740
399
837
557
650
363
16
138
225
697
738
980
486
559
549
914
238
763
547
589
63
451
282
982
675
391
312
312
570
300
837
836
821
374
317
598
236
700
414
813
783
319
881
420
389
517
286
306
721
330
547
871
553
344
324
837
667
648
245
737
5
152
774
38
988
574
319
695
467
124
799
792
793
249
505
31
865
860
500
64
833
146
250
23
326
408
418
185
701
335
957
377
833
846
754
604
368
856
48
375
230
356
794
397
378
793
935
611
485
997
272
28
232
875
273
477
399
649
665
148
774
678
115
781
181
814
665
447
622
772
810
144
566
253
297
824
960
390
782
80
401
646
441
406
213
452
541
889
883
746
733
170
440
24
539
771
853
727
96
201
470
542
736
788
853
689
370
846
94
396
991
598
846
514
802
295
862
685
640
66
782
552
366
344
280
247
872
186
445
819
162
367
466
275
771
929
243
686
380
772
565
121
134
930
878
250
559
451
463
105
427
141
65
852
147
997
616
417
497
869
727
449
579
710
34
447
899
821
343
794
381
656
724
118
950
57
379
631
21
308
147
60
886
2
965
368
512
525
479
702
711
908
256
923
988
904
740
619
628
406
155
718
756
756
83
715
146
45
303
7
556
252
797
70
234
970
544
9
14
474
820
535
140
123
256
558
532
425
822
415
723
612
253
202
104
240
153
802
433
154
171
991
788
139
202
419
276
722
502
384
830
873
981
26
405
806
731
1000
680
700
971
744
183
909
227
154
376
143
535
870
826
205
818
404
50
64
460
9
12
470
235
549
533
818
410
616
51
711
848
793
304
502
354
275
474
109
359
31
264
580
262
294
186
195
392
468
82
387
630
456
498
387
147
17
94
303
624
998
703
293
549
195
1
592
898
158
14
416
562
466
838
197
389
871
13
160
600
245
983
998
636
439
945
285
207
11
155
307
425
270
496
198
428
246
670
619
815
1000
899
730
564
148
436
886
836
604
491
289
206
330
411
839
423
298
79
539
759
968
531
122
371
349
738
1000
855
85
339
262
380
88
888
198
342
951
797
737
475
740
782
288
775
798
30
676
354
885
750
269
584
297
985
940
485
634
830
191
342
516
238
628
962
861
633
15
806
318
454
252
472
57
569
998
674
390
217
118
872
659
784
759
208
379
228
685
225
915
436
423
170
830
123
898
300
636
162
478
736
886
368
796
880
397
851
253
316
959
2
890
396
37
91
142
458
828
192
93
699
535
901
994
260
867
854
218
31
583
608
286
964
369
817
311
480
455
987
999
660
163
281
348
475
995
24
322
280
990
538
50
130
798
921
588
295
335
219
849
471
941
192
90
809
685
534
272
866
814
988
656
955
404
253
257
198
910
981
149
788
702
416
171
573
637
459
266
91
381
9
562
640
503
456
299
763
340
94
894
794
231
63
735
740
25
131
804
838
665
265
852
585
294
485
636
880
518
918
703
219
402
343
281
543
329
740
129
425
54
551
591
767
173
415
697
87
746
87
875
762
994
189
709
312
847
169
270
915
605
559
677
879
118
245
982
698
726
917
905
684
643
329
682
878
604
277
74
105
365
450
570
583
83
433
981
464
695
173
878
23
171
167
813
22
887
466
835
912
470
376
613
155
148
356
355
900
20
216
828
677
693
162
979
561
416
647
80
449
182
246
829
742
257
972
564
718
271
561
601
312
279
247
702
864
216
453
867
628
736
670
966
469
748
475
197
259
876
315
4
894
663
191
885
771
586
819
458
784
856
217
279
621
538
889
135
182
728
972
7
468
421
744
409
166
200
901
599
443
92
855
9
209
766
130
288
184
721
586
585
653
319
821
998
690
271
619
693
8
682
683
803
282
888
256
98
977
61
412
358
240
40
976
535
392
890
17
92
900
480
851
332
493
745
293
168
271
365
691
523
207
317
913
480
472
123
26
366
376
630
893
214
538
888
287
389
95
963
399
745
393
592
815
379
586
191
157
869
50
45
534
944
291
501
933
667
327
577
425
548
106
681
837
501
639
97
154
163
926
446
428
923
662
615
468
933
945
510
865
501
923
596
225
495
358
355
595
857
610
703
167
847
418
910
302
410
165
770
801
919
15
590
128
611
446
89
7
221
187
413
378
677
525
337
227
238
269
133
219
113
401
734
352
448
577
622
105
514
209
249
673
109
818
938
903
439
690
953
509
225
657
788
982
372
8
847
367
312
93
355
735
28
188
730
761
878
599
681
274
535
739
965
39
757
182
81
302
265
257
207
846
676
796
270
375
315
70
434
70
731
781
185
65
929
206
855
400
631
257
696
752
370
252
536
849
881
651
663
32
3
901
816
856
290
768
53
979
634
232
862
837
439
108
61
764
342
26
920
294
18
324
464
341
355
676
115
840
176
25
637
218
713
477
879
761
259
329
962
528
755
368
324
981
609
855
576
909
693
404
163
531
295
69
666
907
792
524
992
893
933
174
766
919
929
408
37
837
989
950
768
883
546
482
666
604
198
243
606
231
269
363
290
553
17
8
807
828
713
298
437
640
223
92
383
890
244
402
130
332
89
188
757
112
712
736
860
830
746
619
690
509
427
536
759
705
656
896
408
695
906
142
803
319
318
212
394
593
143
419
118
635
612
310
547
816
439
730
725
288
428
389
662
205
51
761
316
27
469
978
448
260
182
744
873
883
372
960
530
460
84
883
231
696
543
164
152
703
293
29
908
843
357
203
529
352
258
916
783
294
606
485
59
641
896
490
459
352
345
568
856
409
836
150
389
693
540
300
307
409
364
944
100
575
136
391
602
690
361
16
91
318
475
380
466
768
721
870
251
424
183
135
524
601
54
226
858
952
919
343
25
583
660
553
512
13
656
646
874
56
71
548
568
484
364
358
180
83
664
125
914
330
238
932
777
458
121
728
163
119
898
618
425
201
753
990
602
614
156
959
654
22
959
63
477
548
293
88
442
494
337
159
439
939
955
966
206
922
225
105
247
572
84
16
793
149
679
964
43
499
514
804
441
779
164
21
796
681
139
715
912
571
481
683
741
115
789
786
253
971
693
98
888
95
213
120
899
46
75
542
952
430
807
570
58
281
348
879
264
760
994
606
613
999
732
627
504
326
387
546
968
378
576
461
352
798
137
579
567
318
582
177
360
41
110
252
31
626
908
428
655
918
783
343
125
277
647
786
286
496
15
311
11
727
480
926
310
282
69
725
494
525
489
985
936
325
547
378
220
698
430
392
326
330
125
977
26
669
969
729
864
116
231
619
909
674
649
416
997
59
63
448
313
933
623
274
963
359
593
198
696
52
401
261
994
263
448
519
584
402
149
948
831
597
815
291
560
459
301
513
625
224
763
318
911
344
503
322
559
290
628
116
873
55
163
388
778
368
356
690
700
119
119
265
448
878
946
487
990
670
206
173
39
370
385
956
1000
168
729
406
152
562
735
380
888
270
124
324
481
224
241
918
99
579
310
481
741
282
626
22
354
257
523
693
635
760
962
657
931
748
632
80
202
405
756
7
228
98
216
414
130
130
145
584
776
605
925
285
851
623
360
918
193
791
883
925
516
741
829
264
764
936
163
704
179
556
589
979
616
660
599
635
759
152
880
519
683
284
455
402
628
561
79
220
940
980
719
743
907
422
362
285
582
921
48
221
781
250
745
667
133
939
626
688
445
417
388
753
677
421
454
999
488
212
322
49
674
429
851
759
812
582
971
269
61
297
175
184
412
446
144
523
605
168
44
338
599
654
355
511
709
235
558
337
503
998
656
920
123
657
319
290
928
849
337
428
287
397
245
38
901
309
172
11
229
465
455
3
496
990
78
458
264
313
754
677
755
763
360
293
922
354
466
569
805
110
901
507
822
860
662
648
481
946
979
792
452
722
27
601
63
994
578
200
62
807
904
431
934
117
345
389
116
897
271
215
259
189
603
907
24
462
685
74
10
379
35
161
106
743
446
634
918
969
961
28
991
885
511
564
182
56
337
247
914
114
931
951
30
757
873
58
611
190
820
600
444
785
927
728
780
631
127
532
653
500
40
915
304
432
743
251
200
807
297
32
697
293
696
563
695
507
870
40
482
566
465
16
562
971
412
353
459
425
676
243
370
242
192
766
62
999
704
777
588
940
106
597
270
448
950
121
830
571
967
457
782
220
806
143
937
110
721
335
396
991
588
76
471
971
474
913
822
6
950
693
451
727
483
292
369
829
544
443
420
190
497
554
218
721
964
611
165
720
110
841
245
156
217
787
689
872
991
861
585
188
263
217
242
740
168
24
412
687
381
813
517
630
739
597
632
648
389
890
332
897
659
592
444
97
974
926
377
85
503
288
986
299
673
889
862
716
347
564
511
285
249
941
160
354
155
486
812
916
505
566
744
793
327
802
839
979
791
424
43
500
298
288
734
59
724
475
13
659
328
111
719
163
899
188
525
440
883
635
562
352
609
871
894
352
254
356
568
844
826
432
139
801
300
873
309
356
998
115
789
197
468
97
540
648
387
22
344
249
474
90
21
518
10
459
693
290
308
248
190
745
424
417
92
758
435
717
900
698
884
734
532
190
349
249
683
616
646
741
565
347
883
901
229
789
432
435
936
323
894
266
62
137
321
499
596
771
245
152
600
909
600
691
926
584
210
900
63
509
331
436
259
669
707
747
942
678
653
638
33
654
999
925
975
513
104
43
142
667
753
418
847
81
462
683
346
520
613
544
63
596
892
207
787
942
674
802
703
408
407
162
976
701
498
654
28
293
922
501
811
740
578
159
119
776
403
896
459
687
382
650
33
481
910
628
204
352
383
865
160
740
523
137
569
78
704
227
761
960
437
500
302
48
297
170
873
475
748
413
71
933
772
720
46
873
685
466
929
465
292
727
627
49
324
762
894
828
170
449
534
451
41
185
226
956
60
393
739
276
231
865
227
118
896
597
907
595
62
642
648
393
960
793
910
646
272
575
44
906
741
94
157
789
304
809
638
929
456
164
962
847
267
334
556
222
406
29
402
845
516
451
480
215
535
957
368
357
865
989
87
906
856
83
768
976
692
574
824
577
625
715
94
627
471
504
874
701
416
473
805
711
490
25
386
646
490
720
233
343
779
64
297
47
100
925
968
130
516
723
334
948
623
912
940
271
429
71
31
92
681
158
636
937
969
51
832
953
618
567
176
181
266
541
624
400
3
397
195
868
147
879
275
74
38
261
744
357
721
390
8
873
23
394
661
927
321
737
696
130
267
586
127
186
800
117
420
374
97
480
358
951
470
635
842
762
851
150
635
331
189
380
267
565
5
130
149
15
377
23
436
310
829
338
341
986
971
972
407
444
212
546
714
164
593
398
105
640
552
346
323
710
456
680
353
94
864
767
380
977
762
55
494
438
485
985
712
349
629
551
910
135
32
790
1
462
806
479
45
451
505
747
32
531
701
47
735
390
682
215
393
789
482
893
961
191
185
656
346
256
285
591
322
250
894
912
814
348
789
432
841
595
562
371
701
51
676
15
912
252
814
201
998
645
753
481
489
142
897
73
376
227
750
398
832
357
843
58
238
521
66
644
406
926
925
611
424
699
977
796
757
446
568
834
25
217
88
862
449
185
89
423
28
900
37
376
397
513
930
1000
729
756
719
180
173
792
264
727
140
273
565
432
117
69
128
408
835
168
627
646
344
198
471
477
940
847
498
806
968
253
766
571
237
44
343
870
131
334
77
594
578
393
539
199
663
149
732
466
68
916
720
719
470
968
985
964
729
661
230
874
961
815
323
352
595
981
253
654
111
24
309
703
447
201
150
261
988
508
100
110
653
644
763
218
828
354
42
195
810
269
711
949
980
627
987
603
142
404
945
166
321
466
211
400
881
309
79
576
953
861
107
555
61
565
278
739
281
711
15
930
458
519
702
112
795
35
857
450
607
281
800
582
136
432
460
392
130
2
953
41
290
178
716
947
811
434
247
808
972
556
974
506
133
996
389
932
561
284
301
321
237
845
47
706
131
161
518
488
504
686
116
906
446
290
149
415
222
312
694
593
980
487
677
205
41
102
779
499
294
753
752
625
175
985
966
313
365
905
249
598
561
590
651
419
687
742
316
385
421
574
521
875
230
353
811
877
955
378
347
697
593
432
767
692
96
882
348
740
922
716
784
982
554
713
647
733
440
903
492
137
598
179
588
256
661
672
479
814
282
84
931
735
617
656
322
957
80
899
207
726
695
494
633
742
123
29
727
58
899
322
244
616
507
176
47
634
629
303
938
868
378
20
876
928
305
88
366
392
746
713
729
503
423
285
50
575
233
933
809
68
868
330
606
493
225
472
925
910
574
360
593
828
118
601
432
719
850
946
626
191
629
710
489
135
973
815
648
765
373
944
133
548
862
904
507
471
156
839
957
961
929
384
232
38
712
186
396
962
426
490
654
706
815
619
904
113
882
293
263
436
991
653
530
302
454
767
449
847
284
183
670
851
280
761
518
271
773
650
12
448
157
746
132
632
814
398
944
194
140
452
69
41
195
925
942
305
877
749
432
321
680
51
715
300
779
392
724
852
635
210
113
688
345
496
422
440
695
375
85
487
226
840
939
117
686
348
192
106
869
388
130
56
256
399
447
397
805
612
729
25
919
499
516
934
940
502
369
61
464
635
523
804
396
368
64
276
958
933
4
482
772
792
321
986
770
599
766
569
874
356
252
584
349
895
673
461
264
995
350
824
694
656
629
240
217
104
813
457
736
66
278
340
885
745
559
380
80
706
192
793
799
582
340
737
826
92
560
98
990
397
581
637
407
197
657
21
352
311
850
419
670
706
605
873
57
57
107
644
650
971
201
66
106
937
115
231
736
926
825
2
356
312
663
421
198
439
701
593
603
750
497
490
279
837
39
960
538
179
108
387
306
599
810
116
690
677
755
725
524
454
184
688
649
751
387
801
621
369
907
961
187
216
350
566
139
167
120
821
78
54
13
729
237
767
406
375
728
838
736
410
511
272
67
307
921
614
788
31
817
416
926
282
281
338
139
353
328
79
142
922
276
225
262
859
255
883
832
185
842
650
324
885
957
100
513
177
965
427
439
186
394
346
627
705
804
616
849
868
121
829
673
124
177
193
205
846
295
102
720
273
506
211
311
272
384
595
314
555
541
317
11
595
554
394
49
461
452
724
77
186
927
1000
328
91
121
18
281
698
173
84
72
462
711
402
5
596
138
439
411
672
845
245
70
524
477
650
616
207
987
46
652
435
486
201
788
939
844
185
448
672
590
13
94
637
874
60
470
402
211
654
543
9
237
489
132
109
950
703
588
611
773
472
495
46
307
12
71
145
824
699
853
832
387
853
281
962
1000
393
15
628
306
182
137
823
213
377
960
546
244
524
774
199
558
447
736
246
365
194
52
692
878
451
765
863
50
866
746
347
93
651
932
729
154
711
458
928
628
262
121
522
248
605
490
442
517
257
79
808
42
129
233
481
17
819
749
125
465
371
807
160
817
45
487
47
84
747
1
723
170
762
786
898
844
347
763
99
531
579
411
49
315
529
764
980
538
528
92
964
920
761
815
197
407
915
158
432
836
942
140
469
83
234
778
646
544
698
792
805
729
271
675
73
206
379
717
125
377
752
482
276
365
759
245
894
830
149
127
119
634
666
21
820
142
509
880
36
361
38
656
915
269
419
974
274
468
143
599
480
704
475
934
310
914
939
19
797
196
855
15
846
496
836
709
597
878
874
382
63
947
321
272
593
380
630
943
75
531
208
129
633
776
94
964
732
600
481
99
273
422
274
873
224
811
989
580
820
46
303
886
141
967
460
600
153
642
575
362
935
692
591
256
855
31
278
21
934
379
189
313
480
139
954
423
365
146
607
974
987
355
935
355
30
734
964
107
651
527
782
17
586
559
885
430
1
440
72
159
592
387
751
438
582
853
167
545
751
323
694
81
597
438
812
415
23
82
828
468
723
182
685
817
538
743
460
122
661
104
257
966
476
443
253
540
212
361
579
18
355
729
598
94
934
77
853
911
384
505
670
530
679
465
911
157
821
801
912
594
569
103
953
740
511
806
940
549
191
408
168
508
14
886
90
602
92
674
93
703
25
527
116
516
843
236
829
533
986
426
768
921
250
596
475
918
85
178
232
95
493
599
391
806
53
272
687
234
257
981
157
720
450
341
443
486
143
887
343
407
349
893
428
262
930
168
444
748
609
959
983
593
460
559
607
322
154
380
226
556
228
66
997
264
931
681
462
42
950
131
933
318
488
748
373
378
681
427
139
221
328
753
994
573
268
349
744
818
479
44
693
217
206
540
873
558
948
959
657
288
175
37
953
251
993
753
612
403
832
857
105
244
378
121
780
265
643
120
218
403
44
3
295
343
811
34
579
550
872
639
574
38
602
319
173
247
461
76
381
867
620
913
10
69
97
589
578
432
828
30
101
768
338
715
786
185
368
915
932
965
898
869
457
272
484
869
573
270
742
735
96
964
90
371
751
969
584
899
612
450
797
401
540
678
198
431
42
11
435
268
499
606
232
364
137
849
384
543
386
320
439
291
551
74
253
928
809
164
511
518
603
644
721
135
430
709
929
507
886
254
576
113
579
904
525
531
170
457
261
200
395
798
653
788
367
532
487
48
859
999
178
390
537
873
687
370
327
240
677
973
167
907
394
881
434
723
556
851
221
829
818
987
473
120
980
947
698
650
189
61
622
370
827
940
671
357
657
392
620
689
51
352
77
169
808
140
772
412
167
509
708
196
85
872
380
578
760
608
173
987
682
513
975
400
199
334
803
764
693
800
950
5
994
726
736
338
582
566
477
101
452
274
684
997
267
436
806
463
570
425
105
869
364
766
306
369
344
976
777
544
413
914
878
406
907
52
8
960
102
165
594
261
183
628
976
836
828
902
664
418
977
801
932
159
117
841
120
887
682
271
251
508
715
435
807
369
19
732
583
223
405
752
552
499
502
148
577
692
840
428
634
61
530
91
925
280
953
524
897
321
309
624
710
666
739
360
145
867
12
430
300
601
456
668
657
613
853
133
278
374
564
640
960
846
9
33
134
483
924
709
197
475
563
698
723
304
81
140
728
862
890
136
721
752
681
759
813
893
166
486
558
231
301
416
489
177
923
451
590
370
270
1000
16
515
825
919
465
323
265
92
492
42
101
489
956
663
739
599
511
674
292
842
722
111
474
928
971
771
254
188
752
659
828
555
395
144
587
228
468
820
453
60
383
808
913
339
741
43
553
959
54
135
689
950
289
566
973
920
595
276
459
307
213
214
679
192
273
30
755
88
646
917
411
327
534
520
32
567
762
972
590
537
45
353
352
301
629
312
749
253
791
133
712
527
645
305
56
730
596
484
212
739
547
850
730
774
682
978
474
155
227
794
389
926
113
605
4
11
849
936
647
684
269
689
404
916
1
135
497
595
675
387
628
703
874
298
285
295
834
168
692
497
697
265
334
843
898
918
527
947
935
857
503
906
314
564
890
839
966
611
244
660
786
363
518
538
240
970
958
454
189
247
942
971
155
945
692
596
281
871
645
108
136
529
483
833
331
263
483
143
655
360
902
353
33
210
550
842
189
431
597
398
307
784
908
756
337
848
881
816
865
649
863
256
602
903
673
136
639
42
707
603
566
3
340
999
452
574
110
512
452
194
237
19
525
251
575
899
303
331
7
423
706
343
646
796
274
133
922
29
512
20
787
617
779
673
841
419
367
878
104
242
464
45
562
363
630
756
348
629
263
246
634
853
298
500
861
904
21
536
930
306
477
547
403
141
404
790
512
782
996
496
26
286
121
632
623
292
773
42
427
932
656
335
823
533
800
929
452
910
24
796
590
627
856
814
680
890
286
77
931
704
311
183
260
455
802
293
804
398
644
716
429
360
467
870
397
601
520
749
385
925
419
428
580
52
557
719
443
775
949
830
55
590
140
748
645
380
622
143
36
158
886
746
257
104
812
552
483
883
645
693
824
719
181
480
202
831
126
984
706
594
804
443
370
242
524
986
281
8
951
405
267
350
765
196
226
310
757
660
279
115
225
658
570
859
266
496
476
437
32
514
425
981
590
175
297
699
327
848
590
365
173
994
170
715
92
218
431
644
392
440
90
417
401
510
744
80
991
720
474
852
216
14
493
591
82
173
843
340
89
874
626
555
702
349
119
864
387
289
373
113
162
755
601
16
888
131
722
920
680
555
920
106
884
856
986
549
39
739
504
236
135
866
635
19
244
515
394
439
302
699
828
131
438
977
411
221
708
723
322
597
548
275
22
62
550
188
662
137
399
853
423
739
928
815
862
35
305
481
656
530
288
297
973
835
344
136
804
644
169
363
232
141
836
976
571
448
333
302
706
738
739
943
788
340
678
82
613
481
960
756
659
331
515
472
753
654
829
315
785
677
97
799
703
774
205
791
274
150
496
245
729
32
965
908
486
764
198
817
565
830
863
208
214
51
39
396
505
125
998
294
352
215
320
505
477
538
368
341
351
744
243
688
15
432
270
382
10
317
12
642
322
412
510
142
408
78
223
515
833
962
681
444
29
626
394
984
975
177
981
451
373
283
763
35
18
782
331
262
608
487
708
578
229
916
751
638
68
390
407
286
727
374
261
878
641
980
591
315
728
263
779
101
352
331
524
793
104
294
758
472
690
792
547
217
428
147
553
130
478
211
821
165
933
628
752
840
344
518
126
961
68
583
964
637
85
254
816
179
559
748
796
990
479
879
317
151
171
26
13
242
344
930
763
850
583
873
119
355
904
378
639
815
56
761
844
230
741
752
545
992
825
927
274
112
913
871
444
651
376
853
620
867
10
256
10
767
56
200
856
123
222
569
928
506
670
143
719
581
705
647
277
721
2
311
808
979
803
968
344
592
439
802
770
505
923
632
490
810
111
967
811
665
117
194
929
948
239
925
20
883
666
918
533
913
598
24
248
339
232
292
31
629
293
686
527
842
351
895
203
332
252
358
261
718
350
923
948
143
126
534
695
24
962
987
333
786
519
21
379
579
210
993
974
623
716
952
633
585
347
187
385
383
350
210
237
879
906
715
144
233
666
255
848
52
165
258
987
92
322
533
871
983
578
587
202
321
894
945
775
546
965
119
933
197
521
72
99
505
519
798
257
802
347
115
629
874
926
899
142
235
709
757
481
263
159
564
662
282
228
406
97
972
726
176
69
935
242
526
363
853
453
886
591
425
247
10
365
222
67
881
76
632
276
802
502
324
163
232
826
50
392
231
961
129
335
386
260
674
726
756
774
479
529
654
249
473
717
87
954
857
916
263
239
326
508
880
462
284
841
816
544
585
648
473
961
136
644
224
391
644
542
360
630
884
403
464
607
165
316
370
502
27
904
729
52
855
28
746
75
747
388
808
155
938
400
600
183
50
872
778
176
716
491
425
362
407
95
338
52
865
997
644
207
178
403
373
944
362
94
394
443
325
94
565
838
178
6
998
722
193
65
157
835
146
723
837
356
370
768
181
962
641
539
585
499
907
815
734
652
962
342
997
504
403
751
156
226
568
839
724
442
741
819
155
8
562
114
854
26
479
755
251
935
61
233
137
430
175
917
88
764
355
791
100
733
164
301
463
254
995
592
516
990
554
239
159
927
202
883
919
145
462
836
891
272
245
817
140
306
763
450
975
508
690
82
62
92
858
748
531
272
642
844
42
56
259
160
313
832
404
468
730
414
971
772
495
709
172
662
219
581
977
958
993
804
679
979
749
230
324
301
160
397
917
863
409
889
585
609
926
641
346
648
557
293
723
76
735
399
225
200
904
989
613
881
832
550
963
117
478
933
756
785
761
124
630
670
918
58
943
524
138
871
35
912
810
71
897
46
34
139
998
617
14
938
159
894
556
171
724
996
205
826
730
291
452
177
421
349
66
466
262
717
826
803
546
84
853
195
782
42
290
859
344
782
287
141
253
502
145
412
553
232
970
321
470
81
404
620
433
601
801
611
70
93
766
906
510
193
78
842
667
15
850
346
679
436
262
507
396
874
277
381
558
49
593
818
369
739
444
212
243
561
31
98
827
112
50
501
857
598
214
748
991
284
732
231
535
619
402
281
905
942
369
842
734
31
608
157
762
575
900
11
36
852
375
405
510
507
737
683
802
357
901
279
740
566
99
216
356
364
482
426
124
732
854
763
576
116
463
313
942
282
702
236
32
897
168
893
445
250
773
488
82
848
504
761
85
252
985
560
559
626
214
267
880
966
729
104
941
843
960
352
436
833
731
366
165
477
719
71
388
769
149
315
453
648
184
49
285
937
265
805
825
465
128
373
193
892
332
868
164
854
943
630
522
640
414
504
6
544
812
104
860
410
310
591
422
647
209
359
830
199
883
764
659
487
701
699
232
384
381
388
422
632
250
238
998
953
576
978
944
277
464
581
731
155
819
692
239
423
528
338
836
625
321
746
191
522
741
971
525
276
261
875
349
506
894
711
209
516
539
200
608
391
928
527
51
590
267
113
137
868
584
391
689
92
325
41
221
563
10
325
414
956
560
212
898
896
515
970
310
470
468
773
549
702
947
662
134
117
436
886
819
52
384
258
945
294
880
653
528
948
109
195
768
209
855
996
458
808
67
526
791
506
971
844
163
930
263
916
889
422
705
246
200
354
815
834
471
518
430
276
421
796
608
449
934
301
745
833
216
582
761
932
246
268
948
713
868
763
368
192
408
190
718
556
395
827
213
253
842
678
354
530
536
690
423
779
954
327
144
882
774
890
260
479
393
5
689
692
533
164
509
380
792
72
289
470
956
823
176
202
989
587
692
443
892
613
447
336
13
797
809
649
9
984
118
149
347
478
224
205
153
933
945
616
241
900
568
356
365
865
637
506
90
489
112
177
192
134
432
620
156
481
134
31
192
189
475
813
138
111
919
150
776
514
452
798
382
151
449
964
772
771
178
948
719
839
140
17
372
839
113
617
238
494
179
608
349
655
998
686
483
392
326
504
680
56
75
346
854
667
233
342
983
21
600
346
240
325
631
595
409
16
598
186
141
645
962
192
877
351
73
19
804
532
284
177
799
723
135
219
141
617
535
11
701
383
736
876
452
153
492
378
366
595
985
698
222
18
990
615
405
313
249
58
501
364
262
123
401
253
484
171
654
714
454
376
14
785
523
651
488
571
657
393
697
324
255
923
30
822
50
775
915
140
929
238
474
496
965
691
15
767
9
270
67
682
973
403
134
436
315
542
955
651
310
214
798
212
392
167
258
475
241
933
99
743
313
637
889
717
176
236
606
828
387
658
896
972
629
533
389
198
457
257
334
312
360
192
809
205
766
659
953
948
265
252
977
340
591
673
202
650
857
974
3
754
91
565
333
724
419
850
457
208
93
664
623
604
161
933
668
130
766
194
975
359
956
595
761
707
383
57
427
654
499
87
574
174
643
567
332
987
965
507
861
750
244
365
234
234
489
35
408
872
675
12
703
804
72
567
968
667
435
991
659
975
721
82
157
838
121
106
938
184
921
384
706
380
115
525
137
341
766
65
713
812
803
944
996
459
331
809
786
848
557
619
845
156
114
395
231
679
912
247
873
826
637
18
665
292
670
944
257
531
531
793
716
510
867
795
396
914
694
542
688
671
820
729
799
684
346
248
349
119
719
695
368
480
69
764
225
946
448
383
119
151
164
670
55
642
616
982
592
765
901
362
293
600
995
699
479
896
504
757
808
633
812
51
245
982
941
219
169
937
625
140
745
816
862
566
172
182
721
423
123
457
262
282
486
642
247
703
505
133
700
289
582
553
537
335
250
908
155
887
322
119
339
874
794
191
861
743
865
838
892
674
341
373
689
28
776
90
76
155
929
141
913
63
494
134
70
737
639
283
454
100
534
973
252
681
964
19
910
95
90
737
270
319
612
174
980
582
917
521
512
414
255
727
91
13
647
857
421
640
8
552
329
188
925
235
372
419
636
396
993
623
14
356
48
602
781
392
362
974
765
45
554
730
712
659
500
891
97
994
688
875
376
794
186
896
369
762
113
284
766
302
306
168
314
711
356
321
877
270
272
331
398
800
865
450
772
824
320
624
780
415
564
240
521
188
753
53
238
661
621
633
34
379
478
394
732
792
388
961
70
851
394
166
478
700
714
462
922
626
496
922
693
646
89
256
557
728
742
492
387
653
335
60
238
959
43
20
874
242
784
87
881
322
946
923
866
433
166
898
683
644
837
131
315
183
661
187
776
191
760
220
397
701
809
725
942
342
171
299
264
297
258
974
639
603
215
775
482
705
528
87
882
531
362
343
290
49
281
295
723
350
471
832
62
882
776
923
366
324
631
749
643
968
479
502
189
188
345
660
429
740
38
748
173
173
901
751
346
601
68
361
531
441
8
186
128
503
466
912
538
978
25
138
525
476
203
291
850
235
370
584
346
26
812
448
805
85
942
254
479
594
8
439
506
881
630
320
284
482
173
991
686
678
254
712
993
937
647
85
623
908
505
158
29
314
29
296
644
70
731
316
377
490
959
877
961
231
638
618
400
962
78
821
881
382
245
680
756
296
125
398
650
969
677
395
295
859
381
899
444
122
621
70
94
14
908
572
293
410
533
232
17
189
305
1000
940
156
924
940
450
512
924
393
921
615
313
753
94
926
762
557
369
575
667
679
982
967
477
491
323
169
428
751
85
631
251
892
565
955
442
67
184
994
437
26
232
574
379
432
874
529
208
714
757
512
481
936
864
285
673
424
875
795
712
118
954
349
144
701
738
651
643
539
352
280
537
430
393
440
661
911
196
434
95
663
149
412
324
125
461
347
897
6
610
88
954
802
612
623
865
793
374
309
793
222
674
981
217
553
685
268
305
750
597
401
576
490
554
61
458
125
72
535
198
973
109
570
72
212
173
820
14
275
208
720
552
98
505
956
459
50
573
414
602
629
706
686
277
278
971
698
746
769
495
47
776
678
205
953
740
372
622
520
227
818
945
176
195
250
384
752
370
413
657
626
23
643
606
784
238
555
160
422
498
448
211
951
742
854
568
855
48
834
795
883
746
733
654
495
91
93
838
287
563
366
883
383
508
845
451
429
104
997
661
846
569
969
804
499
116
624
538
763
417
853
628
278
232
297
415
310
422
853
429
786
782
499
4
487
998
44
327
838
571
374
67
998
711
660
642
683
86
767
204
256
758
800
638
147
836
326
214
584
158
299
61
963
785
156
283
905
226
844
370
212
74
756
542
476
169
728
801
49
512
226
744
462
882
836
668
133
515
3
86
398
280
727
528
458
472
574
453
858
748
939
126
481
733
956
594
851
531
865
245
752
683
878
1000
778
163
826
874
452
600
949
514
977
258
189
320
520
270
269
927
162
233
659
170
298
545
237
92
318
824
104
250
869
316
539
318
839
450
514
964
511
612
555
74
965
766
975
668
943
755
675
254
821
997
765
966
292
821
258
539
605
868
925
81
956
819
231
627
728
223
935
687
782
330
549
328
958
665
346
853
248
539
30
825
865
792
488
983
562
889
276
595
118
869
613
920
859
789
694
772
443
12
90
575
926
109
828
971
278
221
511
753
122
394
516
836
442
838
826
62
423
24
595
840
354
270
863
44
775
771
149
100
618
50
863
927
164
449
529
228
6
578
866
647
96
637
645
493
159
111
88
24
405
651
267
803
546
850
637
246
557
259
310
289
482
192
186
55
896
808
356
497
254
487
466
266
488
756
899
468
673
882
688
539
499
781
43
227
571
73
271
520
278
955
646
436
78
68
466
767
578
673
156
246
702
275
765
95
579
293
614
612
531
497
190
241
655
704
569
591
102
683
829
980
40
273
894
383
730
502
244
110
841
875
741
158
366
68
592
925
55
971
120
910
261
419
597
87
529
936
844
880
9
560
715
43
32
92
826
308
757
166
124
359
864
159
968
527
637
268
386
651
684
77
129
687
714
511
901
978
477
405
912
609
18
810
522
850
838
762
253
551
439
499
936
253
995
999
58
903
550
277
674
333
259
87
372
70
653
573
874
618
809
898
818
87
610
120
144
948
2
358
296
703
233
858
153
491
625
668
177
987
317
466
805
487
775
553
486
696
596
127
113
629
277
752
805
943
174
353
131
215
832
188
895
934
238
940
567
462
309
550
259
779
108
402
931
643
870
226
153
665
905
457
331
919
831
793
765
896
412
399
293
33
463
543
570
578
914
435
203
243
138
716
80
970
72
322
236
146
503
439
487
754
125
889
906
292
608
537
940
771
993
273
562
722
166
705
439
968
44
941
487
832
360
733
584
588
620
854
423
207
894
738
672
870
582
332
670
314
187
622
870
775
453
460
92
210
905
204
474
515
951
124
669
642
255
736
460
899
955
996
440
204
707
760
849
763
214
63
957
428
78
508
598
15
354
522
620
964
150
317
19
44
966
130
490
237
253
745
964
543
845
331
462
237
482
362
256
981
671
761
894
317
476
416
114
268
680
938
69
164
936
827
551
378
139
244
100
322
312
230
997
939
657
509
126
924
325
6
612
75
649
796
945
518
253
521
59
2
498
207
410
132
169
28
693
165
211
805
227
982
533
931
427
924
630
967
11
459
835
380
757
65
484
764
709
287
211
395
675
648
853
196
760
7
192
978
473
968
825
363
598
174
36
925
669
651
408
901
365
909
296
288
540
141
994
272
959
714
570
698
4
118
931
738
748
674
588
5
844
596
994
91
606
461
84
941
506
734
815
493
95
769
109
772
955
624
565
978
936
87
724
122
338
578
453
481
113
939
243
461
441
685
815
450
230
8
450
932
166
645
884
382
990
763
472
495
531
172
499
870
899
503
234
582
922
466
333
988
565
954
656
728
595
530
439
95
203
813
42
886
645
356
139
390
207
892
323
372
967
242
596
810
911
737
74
659
901
764
584
83
893
897
496
474
595
174
280
38
432
206
778
901
287
239
116
495
2
742
518
448
22
793
4
316
890
355
132
293
520
518
465
451
315
900
415
154
204
735
488
60
666
579
700
494
604
209
149
51
712
33
267
28
652
248
302
597
896
76
951
725
579
610
887
486
91
220
105
767
418
991
659
373
417
381
354
175
354
119
392
268
983
418
821
58
397
701
847
843
682
387
735
688
125
776
69
393
377
669
607
864
480
215
807
528
124
355
409
264
866
405
103
929
256
539
404
755
20
372
360
757
482
411
585
852
411
878
439
530
331
295
875
796
144
255
573
577
578
30
528
952
613
986
166
371
495
327
398
483
391
319
770
345
59
14
5
513
89
426
785
14
469
300
578
227
184
868
694
488
587
454
491
628
42
403
876
700
169
552
778
891
632
396
303
949
997
177
647
538
667
344
663
564
272
223
169
881
163
303
721
800
897
191
569
436
644
221
963
273
488
629
798
283
497
457
824
535
245
606
305
559
203
995
46
602
44
367
185
552
439
135
981
538
360
556
142
101
282
668
871
416
876
666
923
255
14
817
427
228
912
597
163
409
257
450
232
601
17
471
814
359
430
347
795
376
352
103
574
992
764
536
288
399
710
766
14
574
372
960
277
100
310
148
297
822
94
7
993
686
707
640
701
247
129
665
943
41
443
368
336
442
673
325
920
662
297
583
764
304
57
497
698
204
248
328
415
370
130
963
979
478
521
524
8
745
866
135
382
982
318
857
375
310
437
635
526
284
108
116
382
189
244
373
518
859
576
889
858
657
636
637
375
198
613
740
724
971
316
965
206
277
942
282
738
807
654
816
192
712
258
769
527
284
428
325
656
191
980
128
846
763
687
635
798
11
991
552
225
884
768
599
870
794
981
55
443
554
675
863
858
730
239
648
495
832
318
592
966
916
24
6
977
934
359
374
459
626
876
794
82
795
635
59
649
603
472
24
603
906
417
558
99
686
898
112
647
395
971
869
325
373
445
507
972
526
184
851
556
148
301
53
123
112
217
519
358
639
738
465
795
519
450
870
156
963
672
580
103
233
182
520
975
818
699
257
671
195
847
667
936
170
977
91
739
355
711
144
314
609
563
319
686
163
313
596
205
705
69
576
668
938
120
33
114
952
749
384
283
344
138
292
993
129
391
521
448
406
478
173
556
157
605
681
901
792
96
262
898
790
397
37
22
307
215
728
738
714
117
635
882
809
153
591
825
900
169
739
700
12
555
246
308
273
70
541
148
864
261
263
129
50
749
859
154
477
298
716
729
310
171
740
152
809
738
590
635
643
676
96
941
545
414
997
697
954
626
773
589
903
719
260
70
752
231
704
42
306
987
106
199
506
673
27
387
131
198
498
382
908
881
325
920
3
979
876
716
117
575
373
462
322
153
831
450
314
445
48
595
996
328
465
76
160
571
283
739
577
243
980
693
979
454
220
247
266
885
241
442
758
274
948
952
485
598
356
76
284
222
484
830
980
676
522
951
9
43
872
708
654
185
673
4
472
129
562
207
601
995
685
500
365
797
459
318
29
260
173
618
562
601
275
311
49
839
132
166
706
794
95
900
520
395
962
976
188
308
296
817
416
160
624
782
578
862
206
256
427
597
966
636
870
60
153
835
731
463
478
152
107
594
811
13
170
998
994
136
206
917
956
133
269
229
124
410
98
994
67
531
811
638
416
858
484
1
375
362
923
670
532
24
801
80
293
91
886
824
955
793
236
516
344
816
116
318
991
951
855
947
991
842
33
566
92
704
198
477
18
202
769
946
764
422
906
790
350
22
923
610
584
178
216
648
455
934
820
319
97
887
410
373
737
947
987
536
598
73
556
178
540
449
791
278
97
596
97
467
684
277
454
450
951
860
160
455
654
30
907
660
968
326
625
738
857
36
176
753
972
364
317
659
573
667
269
543
118
755
896
595
511
917
765
493
471
391
260
527
106
423
569
326
617
973
566
495
943
349
526
799
325
757
190
822
979
824
869
144
533
651
207
199
422
834
692
896
176
210
228
10
447
772
917
112
622
339
670
499
114
54
457
205
742
742
794
648
152
474
526
899
879
423
102
884
495
248
316
21
239
801
903
967
715
889
491
141
465
214
154
679
750
362
199
278
424
895
895
179
568
196
571
178
478
690
858
132
663
459
908
889
741
91
91
977
526
789
9
628
111
378
677
957
490
907
358
176
88
909
869
750
590
275
113
292
647
885
241
844
328
836
116
877
692
109
671
999
499
9
378
889
843
568
249
414
465
361
738
234
605
872
433
467
514
637
667
128
156
853
47
137
223
74
412
669
302
882
940
471
937
163
942
605
346
696
393
711
788
310
402
536
904
792
613
943
877
36
36
39
935
688
882
385
527
681
783
457
503
595
211
674
747
753
993
335
35
311
559
758
296
376
993
744
111
380
972
275
4
487
439
982
33
825
202
514
232
734
671
392
715
991
665
332
623
227
523
280
644
317
782
633
538
586
303
171
948
75
81
279
814
948
892
903
826
379
598
545
752
868
169
282
873
25
444
472
470
289
230
292
57
940
592
749
11
999
88
108
379
322
245
971
866
260
837
379
475
739
333
389
793
532
462
542
692
767
7
530
81
461
769
142
388
943
180
278
656
573
132
397
500
106
473
295
668
328
22
500
633
407
125
892
462
476
518
397
189
556
722
707
63
890
265
27
317
88
804
812
590
291
573
257
693
721
705
110
224
554
633
11
404
88
188
127
635
505
33
331
457
402
718
574
16
406
59
337
676
857
453
290
101
531
464
359
15
806
286
416
834
527
670
701
551
32
516
937
571
477
619
784
679
643
985
933
958
838
719
665
273
418
758
160
883
687
589
154
844
622
684
839
152
953
580
35
953
624
416
734
773
544
254
109
404
842
717
916
1
565
291
72
985
835
152
806
528
45
537
444
780
576
472
362
482
840
138
45
315
228
298
537
107
652
965
764
65
947
917
351
280
334
806
598
84
540
281
207
265
902
15
208
782
4
545
304
334
935
570
470
123
272
713
268
161
292
778
769
751
689
243
359
130
314
37
26
823
45
669
864
949
937
413
681
572
198
595
555
223
406
943
139
856
594
632
299
865
490
906
403
225
239
104
216
508
404
499
891
270
911
621
967
297
837
628
673
275
682
839
54
719
778
786
612
440
30
988
241
349
60
195
154
197
108
14
460
675
802
705
750
387
960
394
811
384
166
127
151
315
745
986
523
756
117
974
68
958
257
462
990
64
96
811
921
845
305
186
242
123
802
675
686
368
744
601
468
376
489
263
58
563
214
466
449
175
466
858
439
609
880
514
24
141
725
189
463
581
735
383
940
746
864
687
78
218
260
874
704
522
740
848
393
732
487
899
312
533
527
645
800
913
777
677
942
7
99
219
98
76
857
16
8
272
917
283
609
588
914
776
151
393
851
963
533
18
808
825
68
148
598
25
10
173
689
85
261
249
644
692
656
532
583
493
88
940
923
522
533
858
740
961
722
372
617
33
809
4
797
669
883
408
754
55
593
179
58
265
458
730
556
995
677
194
434
817
364
421
683
489
180
468
862
589
282
393
823
139
333
797
228
974
111
317
288
285
881
168
121
171
266
951
551
45
862
131
945
435
168
3
899
48
730
505
215
979
567
927
614
586
70
429
58
866
528
299
388
142
399
33
249
470
216
666
860
491
773
249
314
337
839
11
481
843
214
532
504
529
354
226
118
723
167
499
701
785
810
250
78
555
504
778
539
79
434
746
474
149
784
566
306
403
826
485
110
560
785
672
428
871
877
810
315
10
525
71
565
453
269
839
398
840
273
231
654
949
681
295
645
699
280
729
412
5
47
113
46
427
228
944
137
285
497
207
165
331
625
821
822
102
831
61
841
825
638
995
913
103
649
11
631
624
107
786
245
851
495
396
186
968
722
841
955
361
623
941
974
568
604
425
439
942
268
37
37
235
778
662
636
924
506
804
693
406
274
209
196
88
92
88
375
13
852
167
342
905
880
771
19
412
580
215
459
893
682
66
687
317
752
269
727
686
686
657
343
965
901
161
340
648
800
861
968
949
876
118
111
108
526
184
421
434
226
65
526
550
232
930
748
722
391
5
524
344
938
742
841
354
422
15
585
847
974
240
634
224
231
618
895
948
122
129
265
405
597
544
664
411
120
440
869
637
432
171
883
571
618
785
939
699
32
132
79
235
968
777
420
106
301
895
859
862
453
10
972
856
204
307
306
353
820
244
73
161
910
386
521
40
231
677
884
393
388
873
860
693
996
475
59
684
429
322
669
645
694
924
924
901
340
740
573
349
558
872
692
936
790
45
609
962
227
343
659
538
562
875
763
782
232
470
530
125
178
498
710
621
831
150
331
304
653
860
801
447
47
45
555
31
860
31
608
875
44
850
485
638
238
569
570
343
172
954
869
178
843
575
545
50
328
888
360
795
976
455
319
993
467
221
417
64
866
667
364
676
403
780
564
540
162
952
414
344
237
352
223
930
218
849
638
789
48
250
501
635
396
486
479
101
695
399
647
590
899
927
449
910
851
835
80
627
846
606
434
978
630
751
166
808
602
590
313
203
421
497
190
439
584
724
932
382
787
172
165
725
36
897
747
304
555
707
441
261
514
969
678
15
446
575
257
837
70
123
977
328
863
531
683
241
368
654
159
913
713
28
620
28
224
475
301
554
348
191
783
475
303
857
254
397
21
510
848
146
977
163
581
280
445
630
180
807
559
615
249
463
332
897
830
634
420
339
399
361
18
549
710
915
717
232
737
89
547
687
142
717
728
399
337
917
811
442
192
211
25
198
923
968
628
963
464
627
977
147
918
720
858
122
295
32
321
225
816
175
922
100
508
395
785
324
682
752
349
222
165
643
19
891
818
249
193
704
978
676
286
999
912
449
455
200
326
527
696
403
207
210
860
291
36
142
935
321
499
110
607
320
353
485
749
972
14
993
951
205
798
912
655
143
457
984
737
131
806
38
637
296
797
816
247
272
347
542
798
994
578
542
967
923
942
622
209
661
809
971
148
698
757
59
456
934
737
409
266
686
694
90
606
158
54
534
743
701
654
553
592
752
333
486
557
42
416
12
252
507
750
514
579
377
777
813
509
44
387
742
781
676
906
280
427
996
674
916
647
313
73
516
146
642
769
179
425
751
186
504
914
40
912
236
69
436
805
471
716
916
84
477
995
813
564
723
240
838
492
881
996
594
179
407
162
431
695
814
957
681
457
903
989
664
424
11
207
383
995
815
956
475
389
362
633
828
488
746
702
251
627
311
924
708
816
342
726
941
195
956
546
752
352
291
857
804
251
189
325
583
149
236
217
84
836
443
734
831
947
826
433
114
894
896
269
672
160
336
76
629
338
201
510
168
284
590
556
298
216
76
730
64
394
120
985
754
272
343
187
928
655
786
722
638
448
239
430
788
26
301
608
424
148
87
259
654
580
384
110
46
286
658
188
568
121
473
884
600
449
805
531
84
17
235
471
635
696
199
470
314
426
307
143
805
816
254
719
944
348
981
102
905
95
569
651
852
169
802
560
552
868
472
996
238
628
264
400
42
444
494
477
394
384
82
438
139
172
859
999
523
605
737
500
832
722
321
243
241
257
247
822
309
863
927
796
668
17
382
494
687
304
547
168
234
988
772
950
262
394
233
306
614
645
617
733
284
725
772
487
429
673
959
29
549
947
979
677
604
648
716
707
315
346
584
744
528
707
941
848
311
977
794
121
419
661
17
14
859
412
856
791
531
206
731
725
390
403
195
706
92
165
446
906
853
2
985
1000
137
946
829
276
806
949
209
610
609
622
828
918
193
375
549
175
382
328
875
529
91
121
692
319
108
888
505
78
933
216
883
679
12
856
856
862
988
336
803
300
57
388
756
205
108
266
99
257
96
635
357
275
17
691
169
613
925
563
515
777
663
854
9
79
376
394
376
490
398
879
220
994
837
87
888
896
3
823
497
480
859
525
173
393
843
746
196
889
724
355
981
822
647
350
794
910
144
636
684
300
709
998
337
942
456
736
510
599
504
155
200
596
987
137
978
555
13
548
747
448
461
100
735
253
255
614
716
400
606
331
268
963
812
10
425
257
344
112
174
83
355
261
108
397
225
534
970
556
448
834
988
635
979
797
630
525
144
185
899
650
352
713
317
186
149
593
554
587
599
874
15
103
569
819
782
697
299
137
18
455
505
903
314
130
372
359
476
961
28
632
962
243
444
561
473
475
294
501
264
32
967
939
320
476
818
204
922
562
720
411
39
960
183
957
632
497
602
610
239
454
700
208
118
100
852
508
839
152
786
535
466
316
90
97
342
407
81
774
91
793
831
797
632
72
583
696
902
971
362
528
480
414
301
757
520
584
122
602
229
614
213
751
612
200
989
889
373
62
541
394
685
656
114
900
958
963
615
153
919
510
187
745
46
970
841
861
864
860
306
114
680
848
547
933
98
157
809
727
55
395
728
216
159
864
737
922
864
123
956
788
348
81
825
296
18
419
968
248
235
498
143
596
199
191
722
304
934
290
800
267
951
222
916
708
501
811
362
345
270
742
257
830
17
211
845
612
898
929
992
444
204
332
476
194
775
345
472
495
647
495
567
27
364
547
766
928
955
46
188
868
797
350
604
865
445
776
505
770
53
483
153
676
180
566
939
207
628
639
411
757
446
889
550
266
399
138
226
61
994
16
263
591
642
702
224
679
633
47
862
989
407
88
142
26
7
128
879
894
718
543
367
431
634
471
767
101
286
349
674
187
545
35
25
448
715
922
441
345
101
983
144
375
387
218
869
832
812
281
530
535
498
427
965
663
266
48
804
878
943
199
310
317
462
526
114
893
14
881
889
571
168
778
355
924
109
516
491
347
107
474
445
743
919
577
461
367
62
395
53
801
798
696
810
668
248
494
416
835
257
846
965
283
497
649
146
762
825
746
673
636
131
455
172
19
687
458
821
443
571
685
202
795
850
409
212
192
31
265
369
822
762
356
541
472
871
886
928
648
615
994
115
730
456
620
176
564
763
222
60
244
576
149
973
636
993
299
69
355
787
460
512
475
575
371
919
280
240
142
231
715
327
112
319
36
831
626
22
341
123
479
821
287
758
998
113
318
579
791
840
162
813
233
290
172
852
650
41
344
998
979
327
473
772
427
615
981
283
243
796
380
760
301
208
226
611
593
632
678
238
96
538
441
453
748
103
985
487
395
945
385
523
662
87
54
165
682
422
923
463
462
788
339
941
490
871
62
595
862
291
265
944
793
623
367
66
914
609
863
993
136
475
51
964
202
100
706
817
246
778
298
246
853
413
315
708
90
338
610
555
972
346
465
331
649
152
241
256
361
276
66
634
871
238
6
276
647
34
546
80
554
105
30
583
169
390
904
639
147
598
217
379
244
532
872
264
697
168
519
342
679
182
851
800
449
813
271
506
634
250
550
535
816
231
178
593
203
171
507
845
724
933
727
905
324
305
910
653
559
351
91
83
893
69
406
640
213
208
814
328
176
672
808
437
962
662
843
917
895
613
894
233
165
2
695
92
602
330
705
522
23
912
807
651
197
643
33
943
885
567
393
832
706
892
13
410
844
99
321
314
690
910
11
6
605
177
853
420
883
222
208
328
867
736
260
854
936
128
585
265
703
131
646
559
377
543
215
384
685
213
506
511
141
764
38
417
734
118
829
559
299
534
564
524
936
783
807
612
836
65
151
309
811
443
432
784
598
909
812
791
781
659
540
300
767
819
703
780
808
616
110
277
487
995
738
380
463
726
855
679
487
364
987
559
896
808
420
58
834
787
803
4
449
356
724
890
161
329
840
716
914
667
258
601
1
2
386
49
651
853
383
614
74
611
703
155
73
1000
931
988
648
608
281
36
231
998
663
500
345
94
194
666
484
813
377
231
985
358
975
885
491
211
724
11
355
610
698
25
27
220
31
279
993
795
181
475
339
830
676
213
374
629
487
642
51
716
829
196
90
260
157
10
842
999
595
968
900
194
844
265
398
306
867
16
760
379
278
681
359
668
442
72
199
595
725
231
270
2
196
770
642
542
391
132
755
214
368
809
564
273
420
769
418
186
263
199
568
866
432
225
199
166
913
430
766
475
756
853
174
332
502
630
65
158
814
609
46
550
607
63
225
134
297
107
803
593
558
536
810
348
87
585
293
343
458
547
378
500
83
262
694
747
673
269
545
928
365
774
125
541
841
685
762
996
373
658
884
16
697
470
946
867
20
86
44
345
272
439
299
826
919
305
411
240
258
655
952
523
154
493
69
955
592
529
288
809
256
988
1
914
571
474
49
33
332
94
532
475
28
978
609
962
503
925
581
597
391
147
9
705
87
990
946
442
659
70
628
309
200
479
136
171
611
580
595
885
700
455
461
455
778
240
314
444
651
414
387
476
7
649
710
819
737
910
394
429
639
384
58
317
291
211
806
802
625
168
512
5
873
193
356
952
110
102
701
766
574
922
460
742
311
26
987
527
466
638
442
264
710
363
276
290
878
91
193
915
891
4
470
884
419
447
18
345
550
93
943
552
932
208
635
48
490
765
634
802
797
866
586
615
658
196
643
128
261
232
541
919
499
523
426
536
722
665
224
750
212
492
956
987
147
647
969
670
682
885
471
164
35
411
119
111
154
89
661
218
621
584
784
978
937
367
419
363
228
49
673
285
708
675
508
489
959
483
1000
589
190
96
765
174
143
281
699
240
286
239
700
743
211
814
443
721
939
170
612
265
944
244
190
594
294
716
572
641
240
338
262
824
946
214
900
167
857
994
179
496
332
58
987
230
786
435
756
204
568
595
588
11
182
283
175
618
281
233
934
364
48
963
46
14
232
822
294
245
68
144
681
769
794
647
833
351
287
186
70
109
563
619
892
847
562
776
302
612
679
491
49
346
944
241
415
255
642
176
568
516
433
221
920
999
673
518
114
977
780
663
478
212
926
71
829
364
252
356
471
420
111
744
150
716
542
450
463
177
298
374
969
583
256
673
782
63
996
571
5
480
636
197
706
84
767
418
500
611
469
369
9
990
956
841
598
976
329
760
833
281
316
758
31
281
605
230
145
925
598
314
961
282
968
986
251
53
389
797
105
460
226
819
117
152
760
69
497
170
717
989
473
524
524
585
501
672
686
466
958
33
149
338
945
660
315
474
769
410
633
307
482
218
329
556
572
631
886
254
545
319
355
614
655
145
424
930
507
277
466
620
566
958
431
41
915
795
577
979
712
865
469
542
900
496
621
724
678
322
417
110
138
91
688
16
235
754
413
852
972
571
541
661
281
298
866
601
550
75
197
577
216
260
834
377
106
317
484
446
466
809
310
836
736
731
769
996
163
665
242
801
290
720
264
607
213
817
298
202
236
647
600
226
240
526
724
5
618
485
583
776
141
136
802
965
458
240
315
519
251
474
737
284
238
568
112
91
340
844
17
503
295
219
876
154
950
885
538
224
267
198
863
883
787
826
57
466
948
795
20
727
182
898
766
772
151
882
310
179
838
915
41
366
465
111
710
481
361
315
664
970
995
911
798
497
314
155
76
88
474
433
111
192
775
852
448
865
337
836
704
440
652
674
639
828
635
557
575
103
224
257
321
105
894
452
886
600
659
670
845
959
290
973
161
415
495
789
626
699
748
752
882
256
324
12
116
322
825
255
159
821
160
568
653
457
504
385
397
372
236
957
743
439
240
195
145
592
217
277
579
609
896
90
545
400
66
469
838
157
418
173
52
720
52
736
65
97
355
626
370
379
639
667
191
214
613
267
755
607
241
834
987
42
27
686
131
842
88
874
509
234
637
598
684
802
680
331
819
886
761
304
861
16
586
784
559
647
253
419
953
296
550
13
152
714
536
243
688
827
169
243
700
28
283
436
505
862
611
719
870
251
864
879
438
203
126
143
316
375
914
873
785
947
328
731
457
26
636
68
992
184
488
925
632
802
714
768
421
619
333
17
960
228
930
504
929
322
84
205
437
160
863
18
438
57
716
855
87
721
279
63
922
897
693
998
196
89
75
648
479
98
648
302
957
746
889
638
420
415
764
74
53
987
742
836
554
335
834
37
991
796
323
962
84
925
231
911
238
412
779
158
802
258
304
66
448
163
132
916
502
622
899
770
356
409
673
583
782
959
32
790
104
666
953
826
676
263
921
383
84
257
243
706
773
872
887
930
578
52
554
255
766
874
851
748
751
150
609
710
597
79
415
828
803
572
348
774
619
265
780
547
321
298
863
580
468
656
958
597
139
236
849
226
553
839
58
668
262
954
949
43
350
574
597
645
633
243
600
979
923
209
95
346
821
870
251
752
343
651
437
60
917
79
50
663
947
109
741
417
182
678
388
210
585
54
715
351
265
807
886
903
310
114
754
180
25
694
714
925
170
852
246
64
276
15
329
529
28
648
848
379
979
649
26
315
594
119
697
752
717
953
883
788
89
809
818
796
467
849
984
838
215
88
194
811
2
338
37
31
363
479
256
955
448
254
726
870
231
859
766
683
818
341
437
398
275
249
343
442
553
994
204
816
680
151
113
917
394
241
998
984
757
630
224
335
114
796
716
965
964
612
212
596
922
265
486
2
962
82
464
254
590
848
153
574
383
175
251
624
606
96
54
424
249
326
89
516
886
586
449
700
195
968
398
386
876
562
227
618
944
469
709
909
66
905
735
266
695
271
902
254
233
994
858
472
359
428
218
575
961
297
708
861
811
26
24
478
238
772
531
502
590
149
583
512
174
415
703
789
722
399
302
919
156
531
921
452
583
132
209
186
976
562
965
843
995
894
643
161
736
555
619
884
964
756
390
752
596
604
644
333
742
507
759
479
635
842
902
252
145
904
340
397
411
817
982
833
292
448
420
168
991
345
974
963
196
388
308
288
524
148
214
184
889
901
49
747
641
889
152
936
989
677
271
643
244
409
674
229
908
338
146
511
479
265
516
139
107
423
714
401
948
896
612
777
87
884
45
955
458
997
512
616
29
292
990
21
854
935
210
324
280
236
501
562
746
289
16
508
79
590
760
884
174
847
316
994
234
629
610
451
514
641
353
556
646
193
19
811
172
848
373
229
878
350
565
389
878
650
769
598
177
279
198
193
610
369
65
718
638
313
735
667
478
478
871
547
433
362
858
241
89
302
164
52
269
172
585
337
212
503
510
363
521
117
455
839
791
675
88
635
702
495
923
319
600
639
633
512
193
521
692
517
104
251
661
320
423
485
982
861
306
836
584
414
912
780
958
35
656
549
587
288
856
748
830
871
299
259
368
375
189
567
336
83
230
798
123
663
278
619
617
610
153
632
366
516
696
59
709
590
81
313
467
371
744
535
151
241
5
270
12
177
636
269
436
149
148
794
347
732
542
955
305
757
644
278
926
323
895
184
113
56
654
58
320
291
656
342
759
757
252
431
2
433
452
206
921
459
609
687
277
386
759
680
574
589
288
228
955
371
572
385
48
124
701
113
654
961
217
58
92
367
17
618
822
755
253
964
701
310
87
619
855
109
617
791
680
332
179
911
926
311
457
714
194
265
571
771
376
858
316
603
790
97
310
356
792
711
601
576
620
826
684
775
135
693
506
351
869
238
204
899
520
405
820
107
608
634
157
260
521
320
296
809
583
760
17
612
117
940
501
214
655
474
282
984
632
163
326
995
891
918
519
309
288
262
588
707
548
208
680
969
237
103
384
551
431
910
989
824
179
516
148
133
363
839
947
564
933
953
554
680
760
925
256
472
578
826
721
428
548
182
714
922
15
176
378
123
907
56
383
190
79
565
923
860
586
643
582
423
551
333
544
697
770
584
496
841
695
618
834
774
745
620
467
500
168
779
582
873
840
113
255
206
434
126
643
641
400
13
829
408
35
87
93
920
756
80
478
149
328
224
69
905
451
346
305
413
567
722
988
80
198
117
398
450
422
266
54
131
312
5
226
903
322
439
249
313
605
787
71
826
215
35
215
956
983
89
536
929
617
935
713
82
229
178
432
618
68
446
581
337
713
373
605
674
345
228
370
688
22
855
486
657
60
234
82
603
734
882
433
343
496
276
684
661
848
689
151
809
800
133
324
807
581
588
751
976
892
339
433
702
540
37
243
692
706
39
122
880
499
705
516
701
627
574
569
669
273
788
106
67
232
666
307
80
423
111
301
893
709
374
595
121
784
777
386
410
554
189
302
249
51
379
78
776
417
937
966
908
914
59
451
159
215
370
971
368
484
915
899
941
859
584
3
317
986
543
951
129
227
683
227
914
967
718
966
292
236
303
835
262
512
496
32
617
127
917
924
510
192
249
601
917
324
44
851
30
741
405
680
666
494
773
508
391
701
915
607
391
647
240
182
76
524
708
727
21
419
947
939
155
859
665
524
996
870
78
692
367
27
876
987
248
437
200
389
324
913
197
284
368
890
998
996
783
763
378
41
537
409
925
198
207
633
285
754
78
143
937
995
60
464
987
172
677
869
685
616
554
37
713
673
632
610
811
431
790
283
970
939
704
324
260
792
521
694
324
495
393
34
729
959
970
826
625
893
735
6
665
560
433
114
685
611
940
843
451
244
602
519
690
946
465
596
668
466
841
712
859
476
342
280
588
569
843
806
114
875
851
383
288
589
394
864
798
130
865
243
27
474
205
676
689
479
460
405
786
616
995
538
847
604
601
324
109
904
311
28
49
877
8
23
645
692
771
10
852
735
522
567
36
382
695
363
527
447
557
473
36
538
335
161
400
863
466
420
20
702
154
309
379
914
906
858
268
345
859
856
653
931
540
404
668
635
157
482
873
83
641
109
739
925
432
905
306
474
455
987
110
165
797
172
738
713
374
397
860
642
238
107
158
3
285
158
356
735
798
368
474
40
648
501
481
609
16
878
793
291
153
220
405
20
71
609
31
438
28
642
292
658
338
953
874
42
338
279
577
711
323
173
351
731
854
262
725
568
171
678
555
462
315
945
597
830
214
93
266
649
185
265
837
78
256
384
501
224
215
742
906
50
567
507
267
920
407
221
678
161
774
336
23
326
211
722
719
551
127
841
634
521
24
16
661
67
824
773
828
341
338
784
315
880
374
323
428
561
118
470
402
637
192
521
881
569
226
206
70
343
881
328
848
312
994
401
565
389
927
697
879
575
267
879
726
407
730
57
447
890
493
658
181
871
218
988
841
627
707
751
396
629
470
48
720
72
480
597
969
783
68
15
309
529
164
976
814
599
136
15
545
766
20
532
133
370
270
280
662
342
66
269
314
407
813
526
998
617
711
621
156
585
188
191
47
506
524
973
57
122
246
8
17
263
709
733
76
516
830
675
418
858
123
330
989
805
14
584
447
738
920
749
757
595
732
869
193
35
145
456
39
521
741
245
932
509
872
840
642
62
136
391
22
783
710
528
60
894
867
851
183
671
759
187
495
207
969
700
167
651
352
675
1000
658
462
466
98
776
164
664
639
882
126
31
996
587
515
79
819
747
603
524
256
812
957
985
171
775
553
417
97
922
473
778
640
394
788
331
265
824
867
792
671
965
628
288
490
256
183
682
638
749
906
388
481
681
232
213
903
236
347
158
471
729
557
292
169
525
266
60
585
488
424
377
995
666
806
890
552
197
664
625
640
153
160
68
525
140
452
375
617
984
488
44
30
793
355
853
610
967
493
317
321
523
232
190
640
199
850
805
652
390
814
139
635
896
955
552
236
857
48
78
787
992
705
1
913
453
538
190
350
190
245
350
803
690
671
907
770
387
917
690
449
791
240
7
288
652
846
946
227
25
671
953
419
182
883
841
55
697
174
354
941
902
854
380
638
103
392
655
297
657
327
589
812
988
398
421
552
147
353
492
713
323
109
824
298
47
886
578
828
437
449
203
154
984
842
234
165
813
857
808
747
288
3
884
92
100
949
84
341
713
218
827
588
136
441
123
472
527
619
14
942
38
642
128
279
674
799
238
167
653
118
27
376
909
163
497
643
933
348
573
458
103
910
498
760
19
455
564
993
127
349
553
586
99
349
39
677
5
512
350
826
330
861
558
529
246
266
340
590
385
699
939
773
549
382
724
736
413
304
62
903
291
272
287
826
477
956
595
583
483
347
552
932
760
687
772
259
115
197
12
849
93
850
568
648
68
69
408
455
609
420
895
480
22
329
313
249
570
363
685
154
28
877
485
340
666
650
965
187
674
718
752
404
346
747
285
614
26
151
401
368
970
675
131
722
757
272
313
861
841
958
160
778
154
762
338
682
412
40
393
623
920
156
641
818
228
25
713
298
946
54
13
772
388
791
293
86
487
987
375
228
600
837
814
616
408
882
982
318
101
425
574
921
432
343
47
11
29
862
875
601
568
203
777
396
8
1
280
482
130
55
73
878
29
285
616
414
49
712
366
551
910
933
828
102
372
814
328
276
896
78
55
122
156
32
462
230
187
960
531
506
154
573
790
940
462
492
191
545
988
955
145
81
681
788
73
714
730
247
784
554
733
479
903
839
63
233
334
611
716
909
451
934
445
220
292
42
916
532
551
320
969
421
575
713
768
98
866
945
822
151
855
950
359
461
789
30
533
267
672
553
280
83
76
460
434
576
554
459
864
584
79
533
5
158
645
318
119
892
700
990
35
817
570
504
910
854
415
455
768
113
525
333
178
373
990
684
466
688
835
505
265
405
756
264
63
830
471
38
625
400
545
665
828
503
251
216
491
24
663
780
234
278
731
324
289
237
499
352
425
886
6
181
846
56
646
933
996
348
927
744
704
597
646
269
977
880
460
310
80
222
712
254
219
47
176
74
283
862
46
846
602
855
121
67
625
875
627
602
732
749
539
747
146
986
563
702
69
722
199
762
682
176
384
637
647
992
307
644
92
574
882
924
819
946
243
472
695
698
371
523
704
328
616
753
205
632
466
826
256
853
363
62
731
951
757
375
134
725
895
188
624
499
984
705
804
750
524
826
245
338
577
943
539
16
645
72
935
451
681
78
244
334
438
241
745
37
22
30
297
903
50
786
728
477
223
913
807
910
522
329
846
303
450
155
986
9
923
76
783
744
482
341
548
906
452
139
227
703
585
951
319
483
480
529
411
219
787
365
478
191
784
841
974
771
436
799
109
652
448
908
433
986
134
50
982
689
174
927
822
595
424
206
751
228
5
851
304
721
844
708
986
798
666
34
791
819
202
415
716
564
53
437
890
858
189
563
411
114
568
875
716
584
700
758
577
459
320
111
376
923
466
411
389
942
410
784
172
887
865
244
43
19
798
471
829
539
31
769
746
124
486
375
293
865
610
889
522
63
9
426
902
622
794
4
262
656
470
814
985
510
476
280
694
580
606
210
180
235
665
959
192
613
626
208
35
305
493
879
612
745
806
758
676
633
460
565
564
867
87
597
615
288
753
570
818
974
151
956
969
971
766
936
743
116
727
70
677
42
188
933
981
537
107
241
482
198
256
461
763
707
111
492
748
110
57
769
551
223
992
73
412
623
971
378
932
758
22
338
613
336
639
356
935
548
735
767
802
652
50
338
205
88
81
148
397
629
630
941
695
25
968
191
255
209
423
457
825
439
937
91
543
661
753
980
259
972
951
820
791
327
958
358
739
511
548
145
179
982
71
608
656
384
829
667
361
419
565
699
273
281
40
384
383
63
507
845
774
343
717
558
485
719
760
691
588
141
648
890
844
768
72
53
627
490
126
292
556
406
182
101
401
319
244
764
413
749
301
118
153
38
210
145
271
896
572
251
471
119
934
763
55
268
394
876
23
846
352
250
718
820
700
494
363
443
255
42
685
944
567
277
975
32
582
334
601
163
763
688
975
132
440
512
414
923
105
789
164
651
323
324
115
94
725
156
337
591
273
315
672
983
627
534
36
907
975
304
959
966
126
627
178
230
19
902
741
53
56
671
214
430
822
355
1
983
839
679
767
192
943
236
173
665
795
511
910
99
783
737
78
61
293
155
518
894
908
602
605
833
614
871
359
911
483
952
452
345
643
82
867
857
553
532
469
848
738
170
758
411
165
155
402
920
407
564
919
350
559
341
97
515
646
759
247
159
929
445
460
182
52
175
365
322
487
780
721
298
79
989
387
763
807
503
804
395
42
335
163
142
711
297
863
906
747
524
672
951
163
101
273
922
840
173
499
639
921
419
628
790
255
385
558
200
934
978
553
627
369
382
507
943
717
742
380
85
724
233
506
411
199
571
984
959
431
561
266
623
779
30
327
455
625
395
550
142
577
117
529
208
577
541
561
630
121
941
486
383
323
125
884
884
959
610
374
437
943
208
918
538
928
850
551
376
822
603
965
894
78
129
687
592
539
305
406
592
477
298
156
601
219
170
640
73
401
25
3
285
488
731
710
45
632
545
26
443
365
312
790
400
861
475
775
757
735
819
970
307
431
745
531
490
237
865
993
414
914
890
550
508
706
110
895
389
249
229
128
446
511
976
707
245
438
703
301
115
420
114
645
152
43
397
200
467
843
288
476
704
952
1000
401
716
568
552
975
848
182
736
788
426
363
873
650
912
677
532
743
674
40
599
164
474
360
439
721
596
867
400
128
989
923
579
497
916
415
603
194
417
83
142
639
273
226
36
618
287
310
184
22
448
904
800
719
907
248
276
407
807
492
597
921
684
325
242
417
545
253
516
286
760
297
530
429
575
217
425
730
414
700
966
214
119
102
352
337
938
459
928
350
369
480
511
451
961
136
199
723
759
298
864
474
394
566
17
663
716
115
355
541
497
850
104
515
950
672
230
499
728
962
675
699
619
655
62
869
373
452
712
552
965
767
402
716
137
980
21
517
227
472
177
595
160
667
828
460
940
24
248
12
173
516
952
190
931
636
760
66
739
372
810
452
611
926
184
200
796
174
781
982
381
970
198
238
948
478
701
387
242
603
792
135
228
496
496
924
939
818
255
109
270
136
237
478
219
382
927
96
113
779
129
276
44
23
863
679
82
785
204
150
822
812
812
945
470
967
740
396
14
601
143
924
949
517
669
530
674
626
623
547
955
127
510
491
771
637
179
295
468
287
570
92
367
179
59
965
917
10
458
772
987
874
14
231
165
452
168
943
759
828
406
921
759
192
254
497
161
518
394
195
944
136
866
254
452
778
578
32
97
296
664
416
121
746
752
728
586
935
888
331
940
881
664
306
222
799
93
100
448
423
921
26
794
451
325
842
943
894
443
420
362
916
753
673
333
525
94
528
296
153
38
675
404
694
405
256
244
70
935
438
353
770
517
36
496
82
931
948
668
947
748
214
457
448
900
892
674
954
425
841
171
874
84
665
342
739
871
790
119
125
883
642
184
496
709
381
730
624
250
510
320
657
849
929
338
288
704
709
46
690
831
909
510
82
214
291
491
839
401
640
981
30
504
734
183
161
469
686
633
676
517
528
622
465
847
386
238
226
82
571
180
33
405
192
912
870
41
682
913
219
547
744
493
1
354
781
123
302
146
854
303
355
962
534
736
200
334
829
988
268
418
517
855
912
792
801
411
572
560
201
38
795
436
996
792
853
742
302
160
45
636
126
552
62
399
305
928
1
378
302
577
709
956
207
377
114
998
182
853
155
362
781
943
718
386
244
679
699
759
917
931
959
812
388
916
488
58
829
475
483
764
267
978
467
446
197
300
764
435
54
525
855
86
518
894
173
771
535
63
898
539
250
900
161
204
734
906
885
666
522
828
158
481
480
209
649
39
470
400
61
228
590
36
64
130
512
130
417
133
612
651
264
787
88
959
674
919
277
511
572
781
690
21
103
466
108
655
380
436
215
896
254
762
853
449
468
609
959
900
75
548
662
895
504
545
779
276
33
822
201
959
699
375
251
338
877
588
108
630
879
277
853
929
878
490
480
655
438
560
488
746
684
239
314
179
928
215
886
393
142
964
80
718
263
669
696
216
695
889
842
200
783
791
316
281
233
978
617
11
661
406
756
43
490
441
883
266
394
829
91
576
379
255
430
749
367
211
306
413
843
77
954
246
723
694
575
351
114
211
105
212
34
657
286
782
487
516
872
986
512
568
352
413
955
392
522
16
736
214
620
415
346
258
490
786
147
327
422
377
798
145
912
427
799
874
559
611
712
315
712
184
90
536
298
662
518
38
442
235
474
138
148
99
891
932
269
537
399
58
491
913
270
506
818
674
930
873
355
114
793
795
768
906
835
775
890
351
9
246
400
886
86
521
336
643
992
229
509
736
40
924
543
547
705
842
351
453
773
184
344
353
736
882
576
846
307
542
322
124
772
136
289
461
730
62
786
688
413
398
693
207
426
529
993
881
203
829
972
627
930
760
925
651
978
583
350
36
116
824
173
844
908
825
494
972
737
957
720
750
833
548
698
676
533
188
685
748
767
817
507
547
401
936
319
631
671
354
721
790
371
111
809
437
880
600
954
707
374
480
692
879
767
636
163
343
31
321
923
693
535
635
832
438
970
632
909
498
234
715
739
896
384
417
43
993
373
344
468
232
850
815
561
570
734
706
109
694
610
103
751
689
264
644
812
21
840
818
830
580
143
107
119
56
618
549
29
115
396
219
258
649
585
142
699
928
677
379
817
571
554
354
476
117
59
34
478
403
527
216
811
109
974
15
736
584
885
629
424
516
645
584
777
97
722
966
465
74
632
593
946
492
568
689
451
986
353
381
469
198
989
261
266
262
701
327
375
340
801
864
785
870
102
181
769
512
887
704
913
810
644
591
904
213
854
912
102
409
143
447
711
912
23
309
633
442
237
950
726
931
484
564
225
908
895
554
578
626
202
516
763
528
942
160
475
549
431
661
207
322
468
228
356
570
896
94
968
822
228
674
632
149
501
418
318
768
407
728
707
228
551
387
615
373
352
122
687
441
717
302
421
465
140
262
961
597
233
437
782
120
97
287
585
661
73
10
247
595
627
141
629
665
90
462
416
651
967
70
933
272
350
78
60
598
728
177
931
951
161
203
134
645
339
937
476
958
525
589
215
385
762
812
848
595
9
629
172
493
71
361
349
435
263
503
122
980
788
492
193
495
689
510
972
580
66
749
589
542
982
94
90
90
87
774
203
998
546
349
920
765
299
354
429
152
11
7
574
92
345
673
141
637
349
185
723
515
796
686
848
370
322
421
315
961
58
749
433
426
251
745
938
231
66
898
902
540
347
831
873
607
624
430
812
201
86
476
135
238
503
669
316
547
376
942
57
150
665
74
986
510
496
927
215
960
228
73
852
926
43
174
747
616
32
271
327
561
391
5
366
766
907
934
942
266
380
282
613
559
38
879
75
713
239
583
164
991
5
176
91
419
971
589
225
105
386
304
570
22
692
980
325
636
19
652
555
6
671
333
62
934
306
513
992
338
38
805
590
243
149
966
780
725
422
625
912
672
401
288
128
448
992
652
266
440
937
789
117
966
640
525
169
220
701
220
662
778
311
177
904
674
361
149
302
214
688
726
520
505
417
936
473
140
752
21
625
608
885
224
212
766
932
353
536
155
915
69
461
28
850
107
589
697
964
116
383
238
880
376
646
605
381
464
393
971
36
797
111
447
512
111
801
382
897
138
11
121
707
125
265
432
584
409
918
836
820
936
465
698
9
493
797
259
77
396
684
760
892
604
51
426
434
494
215
345
286
56
334
241
761
883
771
694
592
134
917
639
495
595
330
862
307
75
674
764
613
614
80
909
994
445
976
715
27
172
400
178
207
403
46
728
787
938
45
129
364
657
582
842
687
483
965
432
806
97
697
399
146
660
436
275
528
400
464
966
473
809
420
91
322
118
639
486
885
916
342
171
316
10
347
774
885
132
695
863
161
655
781
654
865
287
168
304
330
596
229
353
50
305
200
922
296
553
962
956
145
650
157
126
551
461
794
24
295
211
544
925
724
361
370
696
227
264
931
413
274
402
467
856
683
406
522
332
502
492
871
213
507
604
542
175
873
351
625
350
5
759
866
528
873
991
711
97
432
422
559
614
907
898
441
801
730
568
275
245
965
425
135
321
867
555
660
634
47
172
876
838
407
678
210
784
582
378
383
808
160
963
249
401
342
578
322
639
31
75
953
541
567
65
590
923
431
514
596
454
315
908
380
317
862
473
447
327
252
557
77
383
547
4
990
872
391
307
286
990
201
396
396
997
494
121
539
99
325
908
418
980
157
609
486
18
624
237
140
877
782
166
623
448
422
384
256
117
955
532
848
924
174
809
795
484
939
316
407
457
450
2
486
950
304
233
24
484
5
892
167
62
896
83
268
430
784
717
932
840
660
737
455
498
993
257
933
403
51
660
646
485
587
580
11
757
2
720
520
733
794
683
592
482
715
328
205
529
536
687
507
247
749
156
330
544
862
466
685
383
133
970
885
149
756
868
865
950
520
332
664
670
928
910
786
29
590
206
351
939
465
607
502
169
212
724
556
705
432
310
763
218
97
638
337
742
820
713
640
988
920
233
21
745
412
921
804
451
166
704
378
327
475
216
157
444
182
290
426
716
351
421
718
66
159
655
448
983
343
10
958
247
63
321
4
867
483
352
1
173
719
135
985
550
66
733
366
549
565
74
23
949
52
59
179
886
793
880
806
364
696
379
31
273
875
314
84
563
33
613
908
361
722
32
432
635
70
158
861
479
937
375
72
191
803
223
357
130
929
560
289
750
413
87
470
291
861
80
256
391
277
633
351
241
674
299
317
998
627
823
647
873
670
527
22
684
996
14
789
692
404
101
470
227
800
233
344
954
864
224
760
600
673
840
828
669
176
599
604
921
419
198
685
401
331
110
391
413
696
252
337
91
664
88
271
203
787
167
491
352
80
916
41
42
88
411
125
944
254
8
899
271
152
936
830
388
312
407
356
636
428
340
432
923
711
556
867
752
38
173
78
265
320
977
967
330
219
754
193
876
936
901
982
481
286
179
10
694
721
111
595
677
227
377
573
544
303
513
838
215
305
390
406
669
523
212
298
255
263
249
268
106
76
108
584
765
19
110
669
850
520
284
374
957
932
521
75
21
408
705
573
52
37
993
976
491
520
991
395
443
834
238
241
673
429
298
415
598
515
753
441
430
909
564
893
283
724
608
65
318
902
640
921
934
235
618
795
613
43
85
191
265
131
264
285
828
978
636
441
438
386
25
94
686
970
625
873
383
927
10
727
741
518
859
98
97
557
41
936
126
992
748
406
2
361
560
723
106
508
670
416
698
429
39
709
427
549
882
400
693
46
756
803
632
48
456
840
938
680
99
347
837
944
47
13
253
403
788
151
639
430
481
656
971
598
655
115
146
396
452
10
392
65
889
338
307
793
847
802
866
897
874
911
23
920
450
952
599
732
29
813
727
859
74
71
504
243
282
579
405
552
361
38
687
990
87
676
253
261
790
215
395
984
116
757
436
393
655
95
510
583
22
216
653
937
31
440
921
589
928
732
460
990
1
202
355
643
523
711
567
121
661
791
502
298
917
818
558
553
676
468
511
375
653
11
752
407
400
942
196
467
505
759
144
496
839
448
520
703
980
378
649
400
967
871
216
137
646
642
105
819
171
709
590
373
694
108
728
443
841
934
877
295
379
835
995
813
374
37
698
6
217
407
148
934
123
832
472
349
116
447
781
605
34
790
859
616
794
52
218
720
25
977
563
311
170
804
637
27
348
891
77
82
582
312
149
71
466
742
210
183
18
439
288
326
217
977
467
78
716
643
617
743
278
117
620
54
807
117
410
201
199
179
56
955
875
647
619
616
533
256
721
399
594
363
575
669
823
53
759
91
826
810
137
419
475
413
163
94
828
19
249
269
774
158
30
183
464
497
97
34
574
779
246
624
566
318
344
96
432
776
689
12
835
731
131
884
186
713
273
15
932
977
814
168
282
270
427
153
650
226
639
902
330
862
828
958
311
813
808
617
686
601
482
146
787
206
655
580
74
684
477
648
782
372
871
229
509
475
994
626
279
476
8
606
45
858
404
829
289
82
694
795
125
643
540
908
296
280
290
576
538
92
464
547
53
427
921
814
269
845
332
529
608
412
118
293
746
826
162
103
718
636
497
12
266
894
609
249
40
113
205
146
607
327
66
726
738
395
79
203
114
408
684
2
417
221
725
71
755
682
133
437
503
78
985
980
937
686
188
319
494
104
480
594
91
184
476
638
699
995
205
733
295
231
970
689
377
856
372
457
465
607
43
888
412
162
956
507
863
411
189
392
926
262
668
327
971
888
727
406
466
93
286
184
968
770
71
282
660
37
576
82
357
693
408
767
501
102
240
505
494
484
849
29
632
830
614
185
46
378
409
308
291
638
61
417
648
455
371
317
807
497
278
637
274
852
888
747
794
128
957
257
91
559
893
500
424
151
523
11
832
829
650
502
449
847
905
265
927
530
537
216
841
475
529
72
938
970
883
220
206
303
18
928
61
996
940
455
375
800
279
478
703
433
332
14
793
642
955
664
420
150
559
584
629
468
435
54
724
305
380
902
725
575
885
326
534
577
170
837
802
948
10
165
287
431
572
964
549
326
497
48
983
715
33
748
498
228
349
657
678
145
53
690
831
93
570
917
203
470
233
56
510
985
904
884
115
384
441
52
375
530
585
981
164
465
701
555
103
6
313
320
787
709
614
769
182
760
894
87
401
446
407
408
278
396
280
250
512
707
937
288
655
387
933
50
916
319
233
415
533
49
752
43
502
301
406
967
532
49
993
655
438
345
15
741
600
882
904
509
746
444
214
970
60
972
35
995
551
966
267
594
683
351
415
838
506
715
257
363
914
59
66
635
182
791
80
373
673
727
556
616
423
300
50
921
343
985
551
107
952
208
693
758
863
646
567
431
738
884
577
142
64
824
388
248
894
158
242
268
639
427
846
555
130
916
571
967
391
686
932
856
28
545
188
769
667
659
432
211
659
788
707
704
99
876
561
187
307
789
915
446
70
558
286
919
332
397
230
669
531
78
305
783
422
25
6
726
83
597
885
428
775
605
513
18
442
50
18
129
966
454
698
659
710
900
602
729
520
94
25
305
78
345
601
641
471
326
8
261
859
905
396
648
408
114
243
229
1000
548
780
495
801
76
39
306
466
805
303
518
602
629
975
101
138
533
931
776
412
101
957
82
117
252
220
447
716
350
619
513
590
244
459
467
970
687
146
602
643
827
501
649
552
173
843
713
659
487
223
769
842
570
44
768
218
789
841
369
962
504
189
188
619
249
516
248
937
652
144
999
435
586
975
890
305
980
109
957
735
34
96
322
425
357
682
811
876
639
664
118
36
83
922
66
5
717
762
573
805
129
490
855
666
894
492
247
898
155
196
793
155
418
992
396
848
583
538
913
521
646
957
14
227
303
62
60
359
902
116
477
898
789
634
350
778
127
369
29
874
694
943
553
206
986
556
601
34
209
821
525
915
372
44
691
240
753
222
43
407
476
606
302
600
778
928
657
67
846
297
181
920
753
325
426
727
120
267
831
595
623
817
648
16
346
745
46
468
292
735
953
672
79
630
965
429
935
789
363
180
669
402
855
766
180
431
187
404
422
315
149
542
481
677
870
90
557
75
444
515
204
252
148
397
135
455
465
379
259
109
132
847
396
567
238
330
297
686
179
331
153
733
934
242
801
450
663
78
205
176
160
961
601
590
14
724
910
974
652
495
621
917
632
872
376
997
622
113
920
325
547
803
911
778
258
631
303
372
930
210
696
520
89
390
75
831
821
117
820
713
232
712
735
289
695
376
132
38
737
845
645
116
713
376
569
556
530
663
995
400
791
867
890
345
688
651
607
674
831
44
991
82
39
935
369
511
744
280
236
243
321
379
371
333
116
160
461
907
382
27
22
1000
636
697
597
347
179
390
711
25
652
900
71
883
539
373
813
488
458
51
423
690
944
841
83
982
186
378
812
535
809
98
750
182
413
981
325
628
2
809
847
856
846
184
286
63
599
123
595
406
689
685
973
549
88
19
877
272
579
164
428
382
550
150
110
788
174
244
277
881
512
694
67
297
783
930
753
721
494
998
447
644
637
951
325
899
469
13
237
342
658
618
625
266
735
811
187
23
867
119
598
838
929
685
923
986
753
377
38
360
176
618
519
934
262
878
952
799
612
131
569
230
227
102
420
752
766
773
64
248
383
464
871
961
540
791
616
669
316
900
963
394
783
737
846
774
958
494
485
598
678
30
974
99
505
798
959
291
454
747
908
12
849
727
866
383
148
168
403
46
911
187
671
902
400
828
67
84
471
818
82
510
537
116
278
714
367
506
207
592
415
677
317
337
172
556
535
102
773
134
251
873
716
664
930
633
77
914
383
124
65
94
52
428
96
189
312
158
817
697
877
258
696
190
905
260
828
665
261
420
601
441
736
308
748
172
699
263
86
657
781
652
945
286
726
989
871
334
436
814
725
815
622
662
674
309
146
611
917
952
355
642
186
798
199
511
223
894
929
895
439
682
496
332
923
814
579
898
816
73
324
582
806
827
461
79
185
412
463
56
444
856
799
11
898
637
150
494
164
534
632
818
645
168
725
402
338
544
604
488
393
755
985
357
854
28
471
62
915
437
571
380
874
978
251
907
626
137
920
213
253
740
182
512
727
678
598
578
225
26
931
542
904
208
47
748
217
89
718
80
41
339
66
23
917
943
284
283
724
494
564
927
943
783
881
899
485
239
388
221
735
987
702
358
58
625
281
58
539
362
440
387
113
804
268
868
581
513
887
361
217
440
16
787
808
482
765
853
5
681
982
743
801
65
191
71
804
718
384
503
729
430
485
162
193
201
307
274
456
951
213
578
245
15
490
690
155
384
665
950
424
215
593
274
60
803
178
212
401
111
3
686
205
909
996
884
248
790
472
366
267
637
573
768
767
585
136
379
878
189
515
478
944
268
727
567
20
886
568
533
747
984
15
322
364
500
340
960
779
187
792
567
660
934
686
615
512
118
943
784
564
423
916
686
92
568
402
164
482
630
266
72
949
968
57
212
321
290
299
609
717
63
886
389
255
296
174
340
176
698
887
630
852
372
939
294
233
471
607
803
202
721
298
468
154
293
301
463
890
305
501
990
554
109
45
465
930
640
309
645
873
300
344
279
35
253
190
245
337
552
24
83
820
206
184
533
621
185
484
967
810
312
106
582
736
237
583
836
373
952
12
903
838
808
734
832
922
645
115
712
983
430
992
372
18
733
558
64
47
505
187
121
232
868
739
814
298
48
416
488
870
161
101
604
373
286
430
475
938
160
565
350
632
858
720
972
949
34
42
916
140
650
363
802
449
625
677
944
750
529
915
138
355
244
781
45
50
502
909
81
487
377
601
803
132
52
758
524
900
674
366
314
448
698
115
590
876
880
280
192
220
20
987
270
698
595
401
273
162
692
156
57
555
13
556
460
484
274
708
675
210
32
742
425
432
801
723
241
283
378
681
115
835
415
421
422
251
638
444
277
419
585
317
439
565
351
342
455
854
668
193
987
446
543
488
171
792
833
926
413
274
362
713
241
366
625
477
720
646
694
776
432
903
673
604
248
487
920
14
928
836
338
72
98
812
189
893
302
41
285
444
637
23
876
102
946
108
283
729
665
833
92
143
189
266
732
444
83
192
418
575
527
964
686
903
133
826
237
348
706
331
407
765
542
251
316
896
587
24
706
151
170
375
531
921
18
180
589
888
972
60
890
38
160
475
993
665
363
237
228
710
984
529
611
165
329
459
233
149
879
130
97
464
847
997
703
107
603
35
147
260
469
836
156
735
7
323
250
718
123
191
214
930
261
539
108
991
493
412
384
861
526
132
7
723
540
374
146
573
280
896
653
62
4
733
484
876
767
438
247
20
965
653
252
923
260
883
811
190
799
865
33
156
101
315
44
157
114
176
370
556
733
696
219
128
482
795
522
361
169
245
897
596
73
75
141
689
611
520
473
82
504
549
504
722
176
680
826
264
488
367
209
411
935
689
592
25
129
499
472
837
723
421
828
250
927
315
410
685
426
924
91
396
829
400
982
493
702
334
196
147
925
741
447
606
340
153
176
708
595
612
514
7
728
907
209
534
206
804
559
450
114
412
543
540
687
44
566
582
637
123
674
108
567
724
674
968
325
334
300
425
298
298
490
191
522
178
838
960
958
970
548
474
444
712
491
136
653
523
568
470
829
525
166
489
219
410
402
180
886
651
743
866
27
474
822
139
995
749
473
470
6
902
534
321
870
796
522
796
190
280
67
437
144
782
927
760
386
861
433
531
575
146
499
570
785
417
697
82
334
938
414
149
609
270
865
3
93
949
542
149
119
390
713
246
846
293
763
862
560
651
468
910
694
181
801
577
893
621
488
50
36
883
337
193
378
496
315
598
880
100
427
122
348
42
771
81
227
249
490
797
759
654
976
53
743
392
390
331
339
901
431
427
159
801
378
120
430
171
573
126
130
392
916
464
840
268
433
730
487
522
646
471
304
93
306
42
103
887
37
833
370
753
558
762
828
501
465
244
804
723
987
668
196
8
754
530
842
927
361
17
863
801
444
782
867
835
48
53
985
696
311
48
348
957
865
828
988
150
899
383
122
342
548
741
445
251
90
305
355
936
493
492
11
979
984
960
747
929
655
349
620
471
605
552
843
435
744
932
411
280
192
829
498
138
132
918
83
863
124
684
857
750
96
360
635
797
709
162
413
407
300
531
704
440
397
440
987
360
660
475
953
55
145
563
700
572
991
701
216
604
998
1000
280
95
64
670
364
721
113
309
286
323
993
31
85
602
780
477
68
506
76
761
52
785
184
720
561
117
485
641
173
75
946
803
232
948
471
744
887
90
699
180
777
48
948
864
711
179
228
505
382
861
628
56
489
683
942
306
641
178
81
715
67
795
687
886
470
770
375
870
329
498
187
750
573
816
192
622
818
318
617
91
327
480
558
898
392
881
92
162
139
264
585
941
620
526
72
568
623
987
867
227
882
433
973
781
172
514
432
722
377
38
496
433
758
592
383
658
488
696
430
183
51
405
634
258
222
847
976
216
170
721
375
78
686
165
838
665
671
732
171
900
782
435
605
514
581
957
828
346
610
136
207
781
581
820
436
641
257
979
450
29
657
771
214
199
956
883
901
514
801
50
68
965
795
127
650
506
603
471
999
676
452
668
716
602
809
839
757
477
664
863
110
64
176
846
388
566
367
84
833
499
213
586
556
790
736
956
321
420
631
26
810
370
575
227
120
490
592
67
163
187
757
482
786
512
86
45
642
288
676
208
310
443
15
791
706
559
929
940
562
11
819
612
664
721
657
482
536
707
733
809
506
97
290
437
416
230
987
589
765
795
611
529
727
661
556
489
337
269
391
470
92
932
270
676
374
402
5
347
372
395
389
734
666
558
779
774
194
520
945
802
140
266
995
292
149
50
465
174
386
472
776
764
177
138
882
727
342
523
302
743
906
291
732
797
539
323
65
56
961
152
964
344
546
322
126
99
523
432
936
552
519
276
568
565
648
537
444
195
988
946
619
612
119
699
862
404
277
167
134
692
856
648
711
690
211
954
408
547
137
143
263
339
997
589
521
89
172
895
993
535
423
839
666
178
781
697
963
837
776
755
183
509
207
806
486
864
112
710
235
116
325
874
628
298
786
618
354
231
775
988
403
583
379
489
299
464
780
611
723
919
418
771
937
578
678
481
452
418
528
130
112
310
427
762
136
540
927
614
691
8
610
7
240
167
383
359
270
49
710
726
986
933
55
285
219
291
667
613
104
665
843
430
42
38
996
731
100
62
148
872
256
266
978
210
860
956
185
401
240
83
698
253
669
790
255
378
764
683
946
505
992
161
594
435
155
258
257
85
580
546
726
975
314
625
600
827
753
573
437
613
27
553
493
546
922
452
785
11
288
12
563
351
699
435
776
768
584
860
814
342
168
401
605
295
362
684
134
210
148
948
615
847
114
789
795
564
536
598
356
150
806
577
981
13
61
970
392
279
600
808
609
333
22
54
757
735
73
466
950
241
856
927
200
874
401
232
838
592
609
541
606
136
198
801
480
53
641
436
256
733
987
525
129
538
155
499
800
730
490
121
146
979
374
126
102
688
216
446
226
204
452
403
346
310
29
551
797
8
453
172
45
745
676
528
863
680
969
88
857
492
465
878
823
571
228
37
339
69
563
379
15
480
757
527
42
881
612
715
25
920
938
915
599
963
622
325
15
559
44
574
676
510
352
240
602
399
577
387
961
390
631
877
42
468
999
152
563
51
329
26
756
113
184
782
473
501
937
540
456
154
171
409
989
293
953
440
397
486
58
744
230
682
547
444
514
907
106
326
160
387
198
140
478
223
401
506
742
628
265
312
934
952
640
284
130
368
705
138
432
151
885
372
45
933
382
259
837
184
364
82
715
440
687
958
223
475
645
908
47
699
417
926
535
548
774
923
899
531
127
370
517
908
200
337
617
661
406
437
700
559
581
848
224
622
787
203
457
212
793
639
904
341
248
703
386
480
718
131
674
339
510
751
562
622
668
866
401
712
592
540
411
624
499
127
539
323
325
246
228
673
762
154
247
887
787
137
616
323
474
83
776
860
858
925
353
913
329
952
266
326
370
341
473
21
449
404
354
288
533
176
564
21
988
947
239
61
617
284
565
29
186
872
85
669
85
263
570
807
696
209
926
444
635
836
424
409
273
326
450
235
865
134
115
622
148
31
316
912
509
397
239
516
679
299
904
96
453
815
57
643
102
982
619
271
999
510
918
677
475
112
179
728
65
881
50
573
131
669
495
1
292
818
21
513
240
921
68
721
266
510
345
220
298
700
26
80
297
844
54
414
635
228
205
302
482
625
203
481
263
358
920
829
995
111
625
647
660
341
319
124
813
606
419
209
307
483
456
275
342
83
965
620
76
302
494
830
643
97
466
489
785
58
668
532
218
453
309
784
516
757
907
880
559
388
742
797
514
2
267
703
929
245
648
677
764
297
554
151
63
877
439
559
570
674
799
804
764
269
331
621
710
749
467
806
589
123
522
599
23
579
546
206
92
386
46
559
481
925
920
935
319
968
320
993
98
787
659
92
523
123
653
530
252
330
123
460
300
255
236
804
252
551
35
440
606
111
384
302
228
321
900
813
362
619
57
220
686
639
429
22
594
854
907
641
300
234
859
886
339
861
398
584
779
870
306
926
744
338
750
721
887
957
556
743
88
406
737
817
952
358
930
91
675
962
595
190
442
466
131
611
805
345
581
742
447
962
192
367
280
310
927
370
138
816
951
633
154
551
234
792
546
444
674
594
683
249
553
106
234
91
729
894
682
391
686
621
705
834
457
201
748
859
479
763
612
807
635
217
47
502
108
109
120
501
163
817
640
702
655
855
989
278
895
223
536
165
466
254
214
432
731
414
939
916
80
838
309
434
382
172
397
753
745
469
554
216
444
462
801
639
773
527
807
598
686
59
456
762
289
767
691
241
679
601
667
275
103
673
253
720
183
494
550
926
754
338
427
591
910
341
33
85
986
178
867
565
586
837
248
909
169
32
8
150
434
273
763
609
446
452
410
368
484
116
382
89
618
223
741
424
350
305
449
422
35
423
959
430
374
208
874
912
28
575
542
552
268
416
335
727
621
681
844
187
675
786
366
338
579
202
899
42
255
428
281
268
34
275
273
225
235
543
149
860
218
722
774
702
525
302
276
89
81
652
127
757
828
182
893
616
794
703
922
283
364
446
15
616
424
236
433
57
128
675
679
72
297
9
137
327
793
550
11
571
811
160
8
349
688
291
834
794
723
532
927
725
470
437
771
225
186
637
785
655
395
897
58
799
41
830
112
477
332
433
510
475
152
473
314
96
914
24
362
990
780
149
849
167
470
759
929
257
297
231
932
157
629
209
304
172
723
345
582
635
751
439
536
792
890
538
118
406
563
95
18
149
224
200
417
364
667
232
15
162
436
32
519
163
789
816
557
406
627
630
425
72
935
79
155
716
590
458
149
638
834
138
27
868
308
292
372
7
323
574
822
817
944
407
272
20
561
877
21
247
822
80
368
455
223
949
487
406
172
199
451
18
54
82
866
467
671
23
948
951
458
85
800
914
34
414
282
371
975
495
153
673
180
67
80
701
831
37
716
996
752
561
296
805
922
770
84
320
988
262
591
702
905
583
678
599
243
398
542
950
267
972
108
846
651
838
526
85
532
286
339
864
718
392
344
716
991
836
365
425
861
674
932
146
610
585
347
358
146
827
733
623
996
303
429
307
776
669
562
598
583
398
674
139
71
54
55
590
415
822
848
233
966
499
14
527
182
747
992
153
311
386
258
681
405
922
993
434
467
273
786
550
899
901
614
465
999
138
350
308
932
553
696
720
453
583
764
685
701
542
468
815
508
314
533
388
38
699
201
136
20
447
633
427
482
450
635
16
718
432
521
963
107
757
908
715
583
652
715
532
760
202
931
675
167
1000
520
772
604
189
420
804
386
980
729
3
98
397
44
755
548
134
395
281
820
940
392
474
629
844
983
788
776
896
718
459
84
820
510
670
89
129
677
514
699
804
485
687
200
588
491
952
253
320
741
283
5
506
279
504
23
487
487
957
538
167
480
417
384
228
167
22
121
183
600
475
35
399
948
137
111
435
721
939
618
660
935
212
640
129
493
642
747
126
426
564
7
619
557
720
723
100
806
414
589
940
612
730
443
442
898
114
445
216
578
131
285
381
868
698
987
375
566
375
981
800
1000
632
370
847
610
92
750
320
935
872
499
163
371
107
209
719
199
587
788
640
260
283
836
487
111
174
77
577
705
419
997
573
386
417
342
626
502
696
812
626
39
908
94
282
463
416
379
268
396
93
622
656
825
5
126
220
320
552
457
951
113
543
308
312
958
386
716
341
425
279
916
696
614
812
217
146
348
901
528
789
563
340
502
508
947
524
864
780
905
137
169
975
551
643
58
715
765
452
167
677
284
553
933
492
457
195
926
16
547
945
785
297
404
63
484
53
918
696
449
289
933
797
1000
7
163
70
674
586
253
452
302
548
323
834
60
850
200
786
356
813
88
10
96
22
598
136
801
311
905
271
51
8
297
381
963
156
534
204
756
370
235
881
962
286
6
933
524
321
96
475
833
617
196
846
750
564
401
921
791
283
452
404
944
799
121
391
42
408
14
276
224
926
122
874
774
74
150
290
542
260
56
603
244
413
238
939
150
298
495
880
72
4
241
418
90
846
423
898
175
996
285
448
716
556
390
433
954
628
299
364
529
170
935
512
643
86
913
208
829
25
83
429
969
858
88
816
971
619
27
712
502
21
176
137
231
286
307
914
355
137
359
269
556
290
66
336
122
671
696
959
725
877
239
45
191
131
207
546
675
86
726
799
844
326
729
587
23
391
904
754
775
442
476
661
57
438
51
44
921
851
530
82
698
467
510
622
758
830
710
509
222
187
687
956
451
617
522
698
753
176
204
456
502
474
164
882
789
100
791
735
795
697
767
506
303
298
760
78
180
733
359
328
157
540
118
722
986
834
232
101
875
2
688
818
120
938
689
337
39
771
778
183
626
675
363
893
811
412
270
212
878
703
579
356
373
415
177
552
768
778
453
478
292
568
25
415
559
248
695
141
80
548
627
629
290
886
317
592
475
292
91
809
867
249
705
940
201
946
134
236
256
975
764
146
241
434
43
331
399
708
87
3
883
968
863
827
767
565
368
841
56
22
634
997
678
333
493
934
740
596
778
563
794
806
46
873
447
804
954
141
419
952
159
364
70
102
958
335
510
829
932
211
591
684
526
854
538
430
870
463
441
876
86
247
597
873
50
961
515
552
823
139
399
624
973
783
129
890
618
62
56
674
298
313
414
12
707
264
796
839
941
932
939
307
126
92
992
626
215
566
575
499
299
825
175
317
991
578
865
739
317
60
894
218
70
742
424
298
775
22
597
240
245
291
137
641
224
409
904
231
733
274
177
947
583
632
935
752
954
711
111
361
83
570
572
207
859
283
610
545
589
196
813
506
259
550
538
321
371
690
600
694
867
930
439
450
653
910
778
219
13
928
686
860
536
314
70
752
224
358
818
869
118
725
217
761
150
538
830
201
888
524
673
234
522
708
442
847
740
153
509
254
106
145
604
79
175
38
409
333
866
725
773
151
533
281
912
692
786
916
717
508
333
764
288
903
56
438
873
540
48
489
695
582
590
84
530
187
910
309
514
44
71
431
350
943
565
377
3
105
984
442
2
63
666
950
663
459
354
185
923
20
729
402
965
295
123
167
489
522
851
557
335
87
400
12
93
622
96
717
531
737
22
482
921
742
657
977
815
489
140
67
433
647
110
719
562
289
787
645
825
678
345
370
204
524
633
940
986
788
11
807
644
315
386
773
726
195
550
11
547
779
549
336
285
678
160
841
146
949
477
993
405
850
260
37
452
273
962
328
474
925
297
813
23
865
783
436
518
810
972
662
686
937
940
702
54
547
219
223
844
82
523
546
83
424
522
342
275
352
432
875
734
298
390
663
567
274
389
238
329
931
93
399
575
266
966
906
899
390
970
106
552
106
575
381
404
817
900
607
846
378
634
72
192
108
775
406
309
94
358
107
455
318
43
223
807
887
891
547
709
824
662
498
487
477
729
464
563
565
46
989
680
317
646
646
301
898
835
817
600
609
575
891
42
872
565
582
222
107
157
158
500
980
584
407
990
379
911
31
611
672
776
22
248
474
229
264
552
203
946
255
534
139
663
373
915
594
933
543
140
43
203
529
61
773
789
320
578
659
503
228
919
190
609
410
842
747
264
484
752
453
830
771
623
601
235
533
662
801
108
209
852
497
530
283
846
439
69
937
240
9
227
997
878
69
553
74
689
121
452
952
542
132
154
459
726
320
401
63
971
595
153
389
361
75
17
703
123
307
174
150
998
400
269
217
863
242
141
440
313
416
246
854
165
174
372
66
226
87
522
124
205
579
892
518
369
558
495
804
368
831
290
278
702
770
666
89
440
971
716
991
154
282
54
616
492
619
833
852
452
470
215
365
244
818
822
822
517
528
556
661
912
865
763
543
83
955
929
776
820
432
968
54
428
448
675
856
286
520
121
688
364
370
608
184
561
60
275
742
875
236
629
982
833
195
68
808
57
878
929
285
572
559
723
850
243
219
991
580
728
90
660
419
472
836
845
236
559
200
825
599
681
727
289
935
106
316
39
551
274
977
23
613
579
135
972
780
962
223
914
636
184
111
559
469
17
120
841
204
153
994
954
514
328
211
830
223
995
458
335
105
922
896
434
130
246
133
164
978
821
408
576
412
229
583
713
697
396
991
287
803
603
27
963
579
608
686
80
406
700
866
172
132
778
415
883
215
957
306
739
98
788
287
767
787
914
630
149
501
840
288
903
51
594
930
127
274
195
806
470
483
254
332
290
357
509
640
468
147
785
25
914
362
680
439
637
331
286
652
627
180
341
737
945
773
576
843
115
135
391
9
349
709
664
966
180
552
224
428
791
243
448
378
722
852
529
253
628
757
163
728
486
536
826
5
959
371
339
130
643
675
110
885
554
678
311
231
555
764
276
85
344
244
521
501
295
53
193
926
676
619
151
273
747
731
587
13
789
835
853
349
391
553
119
801
227
640
595
216
79
797
314
286
134
950
887
175
398
652
221
711
643
260
915
935
457
395
956
492
824
1
345
465
162
990
529
770
879
84
827
168
333
946
586
272
562
115
452
666
223
574
968
413
21
19
701
754
290
983
233
798
512
71
638
317
292
442
532
574
711
560
378
270
46
976
488
277
559
577
99
814
417
284
960
134
863
674
104
562
395
376
861
966
110
370
727
332
313
517
391
137
182
751
74
667
563
352
366
215
958
652
896
376
374
324
508
276
985
148
91
637
496
746
854
23
688
360
619
492
862
143
678
148
823
805
840
747
572
726
572
615
132
766
558
613
767
113
569
782
401
454
270
608
238
655
473
545
386
907
411
551
845
987
766
930
306
902
596
668
75
662
759
805
866
349
149
136
335
986
866
636
22
900
410
607
788
417
156
470
921
785
626
499
845
127
567
565
762
88
405
134
617
621
439
346
494
964
45
995
922
492
246
610
590
535
215
670
682
698
687
154
337
448
794
278
787
968
519
263
348
344
864
429
751
193
781
718
272
706
139
16
759
933
299
260
881
853
338
395
926
380
633
684
11
37
286
750
844
410
830
989
65
911
754
691
769
577
664
253
15
829
302
398
5
165
222
174
137
739
659
843
340
663
11
435
913
644
398
908
604
272
962
328
822
870
931
440
673
311
979
321
970
640
86
548
527
634
928
470
766
674
800
689
164
421
223
879
104
824
682
348
475
955
375
615
760
964
476
360
398
258
180
763
952
635
688
178
941
677
419
538
279
182
899
631
897
809
227
647
494
361
529
981
352
365
511
300
811
672
89
324
288
832
86
576
718
887
155
639
897
60
392
46
488
529
626
37
406
122
965
838
847
276
5
998
523
78
40
575
523
537
731
671
816
483
935
851
604
682
840
518
613
776
108
178
942
678
461
852
266
900
44
578
38
94
930
89
835
765
343
244
123
739
525
742
560
428
679
952
397
410
113
474
666
89
504
138
625
484
206
752
363
282
655
829
552
352
213
907
100
856
255
845
835
923
899
647
426
632
546
953
470
699
320
331
22
825
559
891
895
148
761
544
743
614
757
448
244
366
437
783
761
458
52
22
449
270
980
304
124
38
833
324
162
806
987
421
325
918
908
166
678
916
144
822
708
308
501
502
342
244
687
695
800
530
692
149
138
826
241
710
887
51
960
863
405
251
281
169
435
203
704
698
907
26
758
871
167
946
903
818
703
142
639
480
899
297
304
198
522
76
399
473
449
269
776
884
605
709
718
941
212
460
735
729
222
914
916
815
234
635
779
801
317
786
887
300
855
917
926
867
990
768
554
588
264
461
105
647
773
146
117
129
552
711
787
754
902
661
609
28
75
618
914
490
60
228
531
364
234
409
495
945
266
990
593
469
986
804
550
47
904
203
817
493
673
760
260
515
69
692
527
783
9
123
493
869
702
861
7
884
291
811
88
940
224
492
828
222
186
361
547
545
608
840
123
756
653
985
28
251
118
729
329
153
854
480
776
423
162
681
172
299
124
607
407
949
959
268
895
179
331
812
664
354
986
219
24
438
214
391
557
198
421
990
166
170
530
467
27
952
10
802
635
737
88
391
524
779
100
372
900
672
3
437
153
876
767
844
146
954
760
895
270
328
260
638
446
224
903
922
687
630
224
215
340
732
456
789
864
321
384
1
813
62
378
348
751
383
679
949
962
948
660
872
157
353
27
482
862
719
886
601
803
310
194
803
403
189
330
627
449
169
467
815
113
21
943
967
735
952
87
132
248
889
790
952
643
971
659
929
656
974
787
278
707
90
977
605
189
599
802
349
386
496
992
517
686
54
475
763
223
651
869
249
794
909
312
63
701
359
338
182
143
378
907
108
939
118
803
326
650
509
366
687
605
173
912
672
969
283
264
227
720
973
544
544
359
897
714
720
217
927
426
690
480
792
390
230
423
652
828
99
904
232
577
581
850
144
50
789
345
474
584
109
928
522
657
45
879
833
98
578
601
306
665
850
687
204
323
624
900
374
142
502
73
818
965
344
916
44
923
641
790
312
417
897
794
944
404
194
930
388
711
217
656
603
611
957
919
630
79
217
598
942
18
817
361
265
193
86
142
75
804
843
765
933
430
547
810
114
515
740
429
758
737
191
691
897
334
401
985
271
922
242
161
808
425
543
389
990
471
379
145
126
43
675
368
702
195
469
567
572
382
875
596
757
326
321
881
980
355
121
115
912
852
840
828
269
774
160
778
540
215
179
815
146
632
159
723
238
665
752
558
205
442
621
163
157
887
238
888
361
842
305
989
578
705
922
857
784
932
143
982
561
960
991
549
764
24
385
629
698
896
651
225
181
801
468
828
282
622
179
719
510
51
337
1
437
500
271
204
530
468
220
374
14
520
293
745
164
200
84
453
300
21
316
267
137
120
263
966
845
310
28
844
355
17
1000
778
952
40
897
445
210
165
890
571
637
398
201
537
206
986
453
280
103
473
775
187
610
742
346
587
40
345
613
561
30
497
927
959
287
759
652
961
118
772
181
26
665
451
388
787
798
620
232
304
37
463
163
95
725
72
937
544
884
21
248
607
872
167
296
206
956
821
77
355
442
8
667
855
794
796
257
325
516
571
30
476
179
696
204
761
125
207
779
988
807
69
525
24
666
55
787
481
732
469
512
139
828
817
727
924
397
974
356
434
479
605
895
396
284
351
945
916
162
816
17
81
490
446
364
273
145
243
777
562
795
624
454
651
189
875
60
178
991
363
46
593
471
102
147
464
559
303
734
802
324
270
345
948
963
363
302
599
736
802
795
818
138
732
163
238
763
344
449
227
950
834
425
467
311
625
447
272
696
595
455
978
927
21
384
893
938
581
38
644
556
991
215
225
221
863
515
682
424
874
768
179
472
668
493
142
477
737
123
251
148
161
5
367
42
235
330
847
405
939
227
312
660
694
215
641
872
62
113
874
241
865
252
721
799
712
571
618
975
67
749
563
657
805
31
560
686
668
834
87
470
146
524
884
540
114
970
323
442
945
640
743
286
962
3
454
675
793
972
546
467
627
966
252
34
419
905
369
256
796
141
183
447
813
878
380
867
715
106
698
208
548
469
433
698
818
758
474
69
378
918
221
636
383
559
635
186
457
962
627
207
198
482
216
200
742
78
176
494
418
398
385
26
427
514
730
987
96
899
206
136
488
710
816
813
70
783
950
393
664
976
238
995
184
706
228
730
460
542
865
698
38
724
464
234
6
344
734
599
722
715
490
436
854
147
873
847
256
935
251
840
43
895
485
257
676
172
935
20
6
367
376
680
979
260
1000
808
174
531
793
720
395
919
907
397
333
195
47
229
668
184
553
393
81
822
574
245
335
884
683
124
968
617
334
311
178
933
806
759
136
264
676
340
335
405
369
33
564
905
87
461
750
643
226
625
226
242
441
514
944
881
658
508
769
871
674
132
294
122
473
796
512
200
999
562
294
263
949
909
885
581
82
679
486
692
645
100
606
512
803
854
36
871
339
640
200
17
510
595
152
607
632
218
681
573
903
158
808
43
964
358
491
204
947
529
466
561
81
898
3
584
457
473
775
123
213
832
210
292
244
566
437
770
480
77
387
552
980
384
702
268
306
944
843
94
164
283
204
145
850
391
81
992
835
437
87
602
728
332
942
581
933
68
632
41
550
576
580
841
453
35
844
193
31
181
336
835
769
214
703
88
704
275
855
79
804
349
36
360
501
660
16
958
904
280
216
607
728
725
520
546
596
756
154
821
185
496
201
440
594
221
276
104
481
849
415
483
719
286
456
166
780
204
68
480
616
786
101
352
526
241
123
269
419
603
852
165
892
448
673
770
754
694
610
550
1000
540
904
866
723
986
835
404
149
59
535
232
774
67
329
66
603
705
563
475
588
851
971
761
685
190
401
208
387
642
86
258
202
682
737
896
301
275
436
204
484
118
690
619
697
251
12
888
536
963
114
94
605
53
104
429
88
189
106
570
643
65
344
604
552
545
74
477
78
762
686
829
167
411
932
915
927
113
524
13
838
780
256
375
235
354
416
288
452
187
496
281
926
571
103
835
680
616
550
231
877
764
798
317
537
698
316
49
99
316
944
636
228
744
19
997
180
42
893
16
35
422
423
789
378
254
226
646
277
123
242
234
14
497
659
368
605
309
347
655
49
913
748
156
157
417
584
425
9
368
849
366
338
91
298
237
622
811
38
2
243
814
895
989
853
508
952
477
7
237
8
366
185
90
754
624
573
743
129
511
333
595
684
927
683
63
753
382
752
919
895
216
80
988
395
665
609
358
540
328
212
474
52
354
96
168
309
447
942
696
930
359
233
318
884
134
52
853
544
761
569
853
1000
273
538
772
497
574
399
560
97
427
983
605
535
126
416
846
738
331
522
185
710
423
935
15
278
536
167
829
724
112
72
361
470
406
511
648
790
904
539
763
985
992
84
650
604
569
945
700
31
491
881
210
236
870
739
861
543
306
823
683
43
44
197
782
654
920
183
232
930
701
104
183
386
90
238
152
532
243
5
928
787
91
667
262
166
183
191
786
961
2
470
146
618
954
809
423
701
267
422
304
106
98
724
291
679
26
332
520
5
924
58
349
408
953
629
979
154
17
518
787
418
583
50
950
837
197
934
180
375
372
427
84
768
801
637
749
74
978
879
618
656
401
571
652
539
501
890
45
190
309
296
484
665
670
74
52
527
503
258
405
125
209
623
762
601
816
992
588
488
886
726
606
854
514
131
888
762
964
464
350
207
631
382
931
820
57
961
90
359
651
857
36
403
626
805
275
746
431
398
651
678
592
8
35
740
456
804
221
540
825
26
386
923
796
92
677
123
478
618
108
511
380
194
963
227
417
537
337
272
451
730
270
618
223
360
179
509
311
755
923
402
523
939
906
943
719
620
75
940
616
272
515
582
567
351
652
4
651
794
714
908
676
177
206
133
833
374
636
952
848
110
622
397
402
515
826
107
518
725
839
22
367
554
304
751
638
526
18
593
248
860
758
7
633
545
832
774
290
306
162
237
569
70
801
775
910
544
374
90
875
650
857
5
352
836
516
185
241
766
546
623
798
470
178
774
557
810
564
949
409
34
763
949
999
276
541
937
51
60
500
247
638
303
249
166
682
806
959
707
166
958
663
64
644
211
77
740
626
916
552
308
348
268
38
375
234
422
520
624
86
360
526
716
682
680
675
431
967
308
170
701
511
70
361
40
201
162
220
487
437
834
611
365
237
5
767
37
729
122
261
361
481
280
47
762
11
546
899
626
582
420
634
277
101
638
68
898
534
794
573
615
742
854
403
385
73
240
757
483
347
20
628
147
106
713
90
380
119
359
595
984
178
793
247
678
161
507
771
526
185
112
72
974
427
146
877
507
851
923
923
320
652
158
574
401
691
374
512
142
593
449
406
899
445
228
36
947
229
820
388
921
244
52
659
133
745
555
949
132
960
164
641
502
451
590
136
151
518
832
655
295
971
441
255
931
125
510
118
833
330
256
387
4
675
127
555
103
794
656
442
544
811
696
328
865
590
242
686
477
380
769
252
108
847
935
908
63
274
496
923
954
391
520
665
687
897
322
790
314
255
56
263
798
733
581
291
912
998
32
421
206
774
508
577
477
229
432
776
202
777
442
655
208
916
83
662
197
600
240
983
835
365
945
844
844
105
166
812
851
978
232
120
852
355
779
847
764
146
512
981
936
105
588
12
437
895
170
740
632
828
495
366
851
156
896
823
909
748
294
492
882
755
80
132
807
634
745
883
906
502
255
661
540
335
994
146
331
984
999
799
791
299
362
69
385
933
921
982
129
559
760
842
731
267
648
628
788
932
265
2
754
183
928
536
229
408
618
885
596
916
272
155
230
982
668
640
269
5
768
426
425
401
19
121
436
209
953
97
524
575
420
182
681
418
900
709
664
644
653
193
364
173
915
657
589
926
941
832
374
667
476
24
635
239
146
431
384
331
323
93
704
348
283
455
422
378
829
733
704
502
107
893
849
905
62
62
152
327
802
624
76
431
176
88
894
531
43
53
598
975
12
231
164
193
938
567
177
36
81
915
418
596
638
625
266
98
302
656
668
861
615
504
988
512
141
313
264
862
895
41
272
877
62
436
332
162
751
881
961
278
414
881
330
953
638
66
985
995
160
127
418
254
379
996
925
550
91
956
611
834
881
63
557
202
420
438
922
614
889
525
199
249
897
380
933
533
561
398
946
761
843
685
532
111
874
436
134
602
742
275
741
200
130
492
599
847
299
522
872
666
95
802
577
970
94
348
439
985
514
18
322
407
225
437
557
988
57
5
765
365
608
210
774
258
932
742
821
978
795
521
541
896
702
839
141
188
483
216
783
661
82
507
423
955
91
6
273
720
709
3
596
662
57
322
775
484
189
865
464
827
751
68
148
288
911
491
642
484
142
467
881
883
416
848
865
858
618
406
762
993
328
378
4
173
604
971
638
421
133
390
370
736
868
88
467
438
305
496
140
632
668
451
135
450
563
889
976
670
125
163
725
172
275
509
190
416
473
759
209
816
276
413
20
451
74
549
766
1000
623
878
848
202
357
440
184
403
54
57
459
964
53
685
47
376
171
227
656
975
390
207
672
8
620
936
816
663
136
456
4
386
778
597
233
416
632
939
914
41
729
329
304
500
209
886
618
801
542
98
922
990
641
694
177
567
118
462
626
808
524
101
269
721
131
457
365
258
715
246
707
176
828
443
948
648
253
59
399
298
713
952
506
879
371
639
719
182
379
833
558
105
523
558
473
38
9
256
515
829
561
262
952
655
318
368
686
50
441
998
739
194
955
658
143
324
134
939
266
793
626
322
8
852
605
431
294
730
476
191
1
952
27
547
795
114
482
16
331
547
610
366
942
373
880
153
262
505
699
648
145
988
905
971
938
970
33
851
366
250
354
512
292
30
304
637
149
998
745
209
128
340
418
322
85
598
87
723
706
575
100
919
666
633
544
188
415
800
734
722
726
63
493
422
352
151
594
595
941
818
762
897
914
416
837
391
86
83
57
529
711
396
934
180
4
764
859
581
397
140
408
221
503
845
291
234
240
446
31
827
627
666
749
621
527
213
887
586
20
327
299
386
123
520
920
578
329
720
112
53
769
546
892
540
859
930
465
772
960
697
865
137
936
980
69
231
472
539
628
780
687
178
744
791
877
419
695
654
186
538
722
141
631
872
780
888
187
15
73
25
560
187
885
40
886
552
58
849
826
742
401
330
430
169
393
202
718
969
868
286
124
585
718
607
831
65
281
736
547
110
783
52
475
814
94
320
29
795
118
89
404
128
312
945
202
84
210
565
176
176
320
867
578
446
452
282
751
208
336
315
364
733
392
132
134
442
641
840
962
253
41
517
166
633
978
812
882
790
269
93
788
166
759
743
996
64
554
150
347
816
981
360
364
366
599
170
802
512
993
601
81
365
595
374
885
736
510
967
846
309
150
297
573
407
519
899
220
126
142
695
433
379
964
112
774
152
25
348
682
894
363
52
583
476
361
536
48
634
757
915
779
142
583
258
755
199
614
888
118
704
277
491
214
154
605
561
758
847
485
32
263
997
389
651
723
102
810
731
28
658
791
505
748
850
345
162
737
397
35
23
460
136
674
40
78
212
916
943
112
19
502
922
918
122
59
670
321
443
640
8
485
942
651
51
515
870
402
74
325
402
309
803
51
170
659
863
628
730
959
493
207
497
87
456
754
72
885
260
512
141
356
448
36
343
327
703
107
598
310
969
200
383
294
607
109
350
377
844
969
536
465
433
181
74
752
463
707
7
336
758
755
298
107
135
160
607
6
71
632
713
857
8
642
765
236
620
898
652
248
820
245
903
693
227
380
457
783
69
896
549
509
246
87
738
764
368
361
793
553
94
348
748
960
68
508
958
67
23
602
372
680
419
425
591
553
73
50
463
764
846
219
140
59
363
624
516
258
127
582
937
257
167
978
919
808
519
448
339
958
427
461
267
22
151
337
142
961
651
284
474
340
221
199
649
376
361
323
684
159
790
859
976
818
507
279
199
259
253
385
482
123
554
148
938
774
755
958
427
458
125
210
137
244
121
87
228
7
416
981
303
512
100
241
910
586
781
859
644
489
965
234
641
865
175
399
471
45
782
946
435
75
382
432
310
564
887
209
416
339
192
492
705
918
378
945
229
47
974
247
965
880
675
881
482
886
296
892
323
262
440
430
320
443
533
728
265
268
417
564
499
524
642
353
8
867
992
769
575
571
512
203
359
174
512
401
63
829
586
380
461
125
683
43
693
162
664
988
141
967
576
673
115
653
76
416
874
324
69
753
664
393
635
293
580
860
741
535
64
91
69
68
748
819
553
209
170
413
826
408
638
942
847
678
110
185
463
895
528
556
463
89
457
854
19
705
263
827
38
413
274
863
53
242
583
468
773
680
159
823
285
932
971
413
235
689
644
623
999
622
13
223
973
286
575
893
646
312
503
255
23
527
317
442
320
154
786
847
582
323
911
576
21
943
71
56
418
387
551
441
907
548
710
704
804
577
971
784
930
994
679
762
36
956
633
775
554
146
738
337
831
152
810
783
474
209
33
779
155
866
939
263
506
503
99
683
287
581
846
128
84
204
527
799
167
836
715
265
31
32
768
134
322
620
919
93
537
72
816
740
934
738
54
286
512
194
766
982
842
216
820
86
746
784
468
297
529
90
586
824
552
732
789
707
397
150
769
555
811
892
197
614
879
477
379
957
605
468
673
644
196
857
352
876
851
34
182
559
795
395
532
168
626
143
189
505
783
923
412
738
95
738
965
120
903
22
996
904
234
811
668
266
847
751
405
507
751
29
433
410
968
411
82
378
906
279
965
918
680
915
706
89
136
333
378
788
109
619
191
108
677
105
247
581
781
676
371
770
587
187
144
589
414
250
241
694
873
642
115
482
101
183
864
553
627
244
856
977
445
929
309
333
352
632
565
293
437
850
233
478
913
84
724
398
140
203
972
571
773
857
271
338
466
400
247
433
450
323
938
153
608
367
861
799
377
331
705
157
925
96
989
954
569
524
640
591
321
713
923
979
796
552
590
939
438
641
406
507
180
405
478
402
196
707
883
114
376
300
182
315
487
253
318
769
796
856
245
529
78
596
417
956
518
486
889
12
21
421
379
388
824
245
96
202
112
929
537
447
544
554
714
878
219
832
502
736
620
539
853
567
509
519
674
407
578
929
38
760
892
979
233
146
825
712
881
448
216
316
974
954
951
25
229
758
31
935
592
144
462
964
61
704
964
720
298
162
618
292
590
325
1000
815
859
163
305
233
335
717
230
806
434
460
106
823
130
751
869
408
828
250
17
515
330
478
576
985
8
269
466
7
676
493
401
479
13
256
562
482
579
793
892
586
609
378
763
736
808
875
174
258
309
18
377
894
805
108
36
866
618
554
570
659
136
653
352
599
615
33
821
326
802
434
357
944
243
894
986
990
402
943
602
313
910
109
396
681
391
896
626
162
268
416
681
363
914
6
651
179
289
515
227
15
958
393
851
369
995
386
450
246
816
406
990
131
453
116
321
156
80
867
493
637
908
884
793
394
688
21
227
122
158
994
92
626
722
692
574
895
537
107
10
863
978
430
572
162
123
60
656
365
527
667
180
995
28
916
321
68
764
146
982
28
889
151
395
753
683
137
857
702
921
109
503
398
355
231
439
161
141
123
291
437
871
708
404
107
638
951
541
873
212
761
881
223
985
420
528
453
799
94
559
968
175
420
811
363
714
660
265
846
680
643
868
154
815
563
81
478
501
712
270
847
249
393
293
46
330
599
292
435
99
505
725
959
167
469
172
229
137
30
264
813
33
347
409
763
947
611
611
977
617
256
803
207
885
166
583
387
984
719
144
503
626
163
489
388
709
766
736
682
279
206
409
694
37
845
182
49
318
936
400
807
948
277
100
231
803
516
950
473
226
154
695
252
644
226
225
6
912
828
377
124
889
934
900
568
737
369
828
650
268
468
640
731
404
657
214
389
502
146
522
903
846
989
458
3
86
994
952
454
794
354
752
434
562
425
876
625
305
760
729
622
497
381
340
543
77
269
982
718
682
232
692
934
692
631
844
3
253
928
986
361
136
652
611
969
760
186
384
74
213
707
635
262
395
737
601
793
714
28
957
457
882
886
712
17
463
675
406
865
766
917
846
692
588
318
355
819
73
108
591
307
647
239
532
169
612
385
147
761
457
192
591
925
369
859
534
587
752
19
343
256
762
802
404
348
28
161
847
312
729
795
254
306
181
462
765
568
889
101
99
681
819
913
672
650
274
503
899
93
342
225
240
847
353
146
291
13
163
380
471
772
359
146
436
310
692
551
410
871
130
988
11
212
920
44
9
748
980
974
679
287
746
138
70
498
317
253
549
254
393
990
442
517
8
192
465
721
530
986
897
499
726
121
140
165
962
184
363
558
761
698
467
762
5
745
439
706
52
440
534
869
910
500
366
123
401
177
158
267
938
41
883
947
132
439
978
475
968
982
636
516
670
69
418
735
732
294
83
294
778
558
70
485
59
841
49
921
451
889
284
414
719
527
370
102
694
895
32
425
757
693
302
286
672
416
343
86
402
656
615
355
982
760
853
408
943
538
554
755
26
246
277
26
158
778
81
810
720
849
850
118
179
973
93
145
39
206
43
640
899
939
524
443
126
523
102
721
280
143
516
987
959
130
205
276
187
893
81
696
808
713
299
203
597
935
934
606
982
503
907
709
309
352
418
19
589
921
465
632
509
906
696
754
311
464
987
808
808
221
649
226
421
849
95
847
616
451
129
301
541
676
746
873
966
322
526
137
873
138
171
74
146
706
797
467
885
553
853
148
758
106
398
31
710
713
582
962
65
700
789
112
723
358
893
17
743
854
441
393
49
250
433
553
392
226
516
572
988
659
67
364
431
869
652
468
593
250
756
672
229
974
527
549
887
652
532
620
595
149
120
112
460
233
102
245
987
379
858
551
444
842
887
979
46
56
63
443
78
539
547
42
331
728
383
381
386
592
300
290
359
467
130
795
673
244
571
348
319
987
697
179
854
36
785
130
65
919
485
473
836
692
348
53
262
881
14
515
451
849
120
546
792
239
144
807
673
135
925
677
779
704
582
28
115
386
910
980
864
161
97
8
32
995
791
818
566
369
125
126
331
687
295
861
866
435
688
325
319
226
349
517
368
198
797
222
174
831
805
382
650
922
773
998
393
306
775
64
664
947
159
37
680
175
851
944
314
177
141
522
41
325
778
716
552
573
674
441
50
935
373
784
629
21
708
704
539
701
747
850
345
238
225
350
193
644
122
274
424
602
980
20
792
999
802
38
372
49
148
177
89
970
93
396
430
441
285
776
556
368
229
545
489
39
287
325
496
394
597
893
80
975
275
571
246
93
819
761
796
886
570
241
480
253
484
598
768
74
199
560
821
753
594
48
55
869
599
510
283
650
6
436
59
60
441
11
253
503
436
523
327
563
766
511
19
723
824
602
365
705
833
673
78
956
99
262
306
773
384
118
705
775
663
418
572
725
231
441
532
194
127
426
863
204
343
947
120
778
112
363
122
254
871
817
761
376
159
820
298
374
776
663
3
725
59
775
61
814
984
678
626
472
132
376
798
256
255
835
76
358
286
739
533
265
182
845
574
605
878
58
605
171
999
835
402
755
697
642
241
255
122
945
103
505
613
693
382
410
606
300
575
277
691
906
358
645
931
82
308
578
825
235
302
97
804
632
244
383
188
397
396
432
900
809
3
91
54
947
325
788
716
58
462
805
790
13
538
653
958
891
927
964
65
13
199
315
153
738
378
591
591
943
920
789
399
381
539
682
920
69
656
360
423
420
750
503
132
100
370
140
396
488
884
814
437
174
321
274
155
155
797
288
1
243
111
704
773
752
49
651
554
690
828
627
651
549
883
304
571
254
917
36
549
13
700
453
79
600
638
6
248
82
526
15
393
111
220
598
751
688
195
814
335
744
74
543
211
963
250
848
726
22
686
94
5
844
790
633
209
490
49
684
634
45
759
908
712
243
739
299
379
574
413
204
80
318
15
696
869
289
948
64
700
70
543
872
16
169
535
919
155
840
610
417
967
276
247
897
212
506
946
659
18
602
612
84
695
745
515
734
649
272
792
4
48
100
879
982
116
798
612
342
630
163
18
309
283
345
936
174
49
473
704
418
595
218
127
223
81
960
788
39
395
27
581
923
988
5
34
569
996
234
564
291
262
461
345
754
187
37
855
893
120
210
498
314
93
811
918
416
287
92
755
655
582
543
608
615
869
281
965
57
623
988
629
658
370
453
13
990
287
485
253
134
157
312
732
453
305
657
20
255
913
317
649
467
373
440
425
997
888
693
161
136
613
149
814
236
997
48
29
905
879
547
986
107
64
188
276
920
827
112
241
144
763
955
872
626
930
972
853
938
56
180
817
2
853
200
218
364
185
64
468
82
881
437
158
612
510
598
253
644
307
53
117
577
747
819
105
224
974
285
247
344
410
19
249
846
376
84
612
819
503
208
203
105
19
607
4
746
769
440
91
511
941
569
109
655
38
813
657
224
593
917
9
493
482
236
567
591
478
526
259
967
826
293
884
110
258
873
31
861
811
784
809
730
220
908
53
856
473
781
77
636
302
558
348
615
18
268
589
887
94
592
994
154
365
717
172
585
492
798
404
773
644
160
568
449
927
666
860
56
204
605
11
941
355
50
294
725
934
873
14
342
419
517
544
355
942
187
223
426
473
320
585
220
902
94
460
614
386
228
470
801
607
556
305
771
301
648
963
710
543
290
838
20
778
763
107
65
523
686
413
233
999
633
220
568
689
892
554
87
956
465
47
824
430
890
362
836
795
518
66
658
13
652
27
174
751
343
179
451
990
704
325
866
349
316
278
773
669
679
189
11
781
672
433
821
198
697
751
95
658
497
675
440
86
648
432
237
545
384
621
739
176
708
978
246
964
715
435
583
403
684
521
419
785
764
845
466
870
2
61
193
188
95
232
548
45
430
959
63
614
946
995
869
138
865
307
406
385
568
715
1
948
776
311
107
919
714
829
683
735
110
10
127
715
752
815
175
926
779
987
413
531
91
130
382
689
20
901
791
436
891
379
993
688
248
976
739
661
249
455
170
572
208
799
180
416
340
649
547
988
513
42
699
113
198
953
573
173
912
974
815
661
104
58
443
433
859
877
217
759
793
775
164
50
210
717
94
369
923
871
508
425
149
708
967
790
531
561
880
496
657
607
658
2
413
145
362
755
113
865
296
230
655
514
467
382
860
2
501
870
755
537
352
334
815
803
142
228
56
548
532
405
464
221
318
744
437
429
348
580
800
79
442
609
476
27
712
228
76
945
592
984
541
893
906
933
411
794
515
204
511
580
448
13
611
315
916
688
90
987
291
31
782
982
952
443
918
497
885
849
555
246
54
360
938
881
864
20
16
466
480
722
720
217
376
578
671
443
245
596
712
318
333
515
25
662
318
38
610
384
98
510
613
622
238
291
311
903
368
697
556
845
527
391
161
996
292
535
982
446
572
867
446
731
77
67
890
371
839
459
335
128
605
133
292
660
589
19
740
837
844
330
712
359
480
42
787
746
49
771
374
937
691
478
870
986
40
939
665
323
484
774
479
94
76
201
701
929
326
300
270
295
83
767
77
267
985
605
87
171
265
152
140
28
224
166
876
179
369
441
357
736
10
554
717
780
117
911
623
332
362
209
423
140
572
804
576
320
250
229
410
672
473
306
260
315
173
860
799
879
792
34
720
123
325
618
960
260
37
577
357
712
487
204
945
246
81
900
119
682
36
651
527
423
517
648
876
104
721
370
801
518
827
667
548
843
102
29
547
889
875
284
817
713
791
430
816
511
496
143
515
101
892
823
451
697
196
657
16
902
284
320
494
26
246
372
209
889
641
344
682
249
665
791
886
883
343
284
504
121
897
468
636
328
651
782
507
436
161
410
565
137
814
332
827
722
774
100
428
933
988
111
136
353
959
682
8
30
115
222
469
61
897
117
823
781
161
771
642
86
56
353
490
149
350
459
210
449
54
817
328
623
294
612
178
93
596
775
42
831
161
817
918
879
221
363
551
470
281
612
1000
662
920
335
314
415
818
874
899
962
853
842
715
122
433
864
779
943
723
770
357
686
45
74
811
697
540
468
339
163
116
329
734
79
828
884
840
35
87
801
621
568
519
436
610
907
867
866
45
903
68
154
183
825
514
982
115
477
556
906
910
806
510
20
79
727
789
735
124
460
265
700
458
11
688
647
40
809
755
93
913
707
458
356
207
666
428
331
307
531
331
820
603
189
783
975
661
295
890
610
698
476
257
702
974
610
246
400
74
311
323
247
96
267
587
146
425
421
934
766
134
283
874
749
36
870
718
55
75
844
691
244
45
434
561
295
596
648
533
833
104
85
475
251
270
378
44
294
238
951
896
99
613
284
973
582
13
340
806
308
692
137
872
665
322
730
323
256
246
11
803
895
388
795
658
498
521
662
574
470
801
871
568
869
286
474
275
785
688
444
729
845
734
211
129
723
332
541
640
837
216
70
933
180
830
135
976
346
35
777
609
395
623
913
525
150
730
694
624
857
978
47
105
959
587
202
316
864
752
803
108
200
303
826
377
25
21
122
557
867
41
858
27
252
415
524
836
612
306
448
640
53
219
956
474
501
370
422
846
166
601
441
625
100
184
292
380
843
523
646
162
843
2
224
183
330
187
731
494
831
167
919
553
346
80
91
535
496
754
683
332
610
967
855
446
821
50
134
429
721
404
257
53
16
63
323
173
934
600
238
88
844
511
228
287
643
726
896
642
23
25
872
483
611
983
648
481
361
486
557
967
254
25
215
108
578
733
939
357
536
560
791
736
967
89
948
793
255
225
16
537
329
407
778
251
798
44
608
846
863
595
443
349
644
78
779
182
926
838
633
129
177
73
780
256
845
957
867
630
605
213
212
342
208
624
164
228
39
287
941
670
306
386
739
47
32
870
753
724
656
708
453
937
123
336
96
598
770
480
2
801
202
802
531
798
618
720
96
287
723
310
751
141
433
399
96
114
94
859
282
639
806
619
875
555
767
93
239
515
235
592
859
834
851
743
725
754
556
129
514
481
286
149
770
811
940
584
755
887
883
442
893
403
362
487
11
600
782
228
671
496
745
296
946
114
122
838
920
906
179
985
61
187
988
500
344
148
907
434
683
947
916
990
788
431
996
811
54
309
524
615
427
937
879
418
538
469
66
597
532
787
176
698
157
502
946
192
661
335
485
364
964
326
515
132
393
685
68
864
980
552
688
221
968
572
596
619
689
2
176
155
442
6
390
765
323
891
406
912
231
324
833
341
437
966
403
296
147
542
873
135
500
108
207
448
288
147
795
641
492
172
611
427
409
736
690
841
756
76
278
180
622
138
296
762
580
428
538
491
547
907
137
23
255
183
409
736
272
348
129
819
595
128
653
525
743
457
95
54
157
188
909
568
438
421
845
586
650
847
208
345
445
579
761
779
273
181
419
411
302
979
58
831
963
295
431
415
223
940
143
575
804
161
114
178
552
242
759
712
72
143
370
390
587
863
826
696
664
724
811
780
112
386
163
707
889
202
879
830
262
489
515
432
878
373
454
364
585
144
562
612
75
477
244
599
413
435
833
555
571
925
514
486
896
136
706
79
258
570
959
429
333
432
906
581
35
548
764
705
643
448
203
208
577
960
148
172
93
458
202
316
374
903
963
102
662
941
435
690
59
639
123
212
633
857
150
220
238
898
929
229
290
804
496
2
329
611
595
572
829
944
21
58
136
561
505
981
842
840
649
148
150
757
27
178
2
603
586
360
827
520
919
890
789
993
802
458
299
564
629
812
394
368
38
176
302
600
47
354
147
619
504
930
268
211
502
236
94
498
687
639
842
37
59
284
575
979
962
630
308
528
420
990
927
535
917
819
656
794
967
680
672
493
574
637
292
309
766
368
796
852
927
390
607
501
564
630
992
209
485
42
921
493
101
73
980
691
726
586
515
506
261
243
255
31
660
498
756
711
890
40
895
189
906
962
545
534
313
992
273
167
979
819
583
689
861
940
805
890
687
463
179
464
948
1
80
331
849
129
613
19
516
861
997
246
722
282
262
722
879
748
770
174
839
66
8
793
284
661
906
607
178
24
638
777
725
688
537
452
827
532
247
602
821
497
700
202
588
675
865
263
809
319
435
442
179
498
815
390
945
34
826
601
971
864
513
207
868
156
327
84
434
355
734
683
732
828
6
175
714
933
542
866
147
142
557
372
18
320
416
675
242
378
196
33
737
300
264
690
389
980
818
478
475
393
357
674
396
365
997
958
418
630
386
887
221
891
735
111
714
358
155
420
496
560
28
824
789
304
635
106
434
301
650
624
781
345
368
755
891
907
749
8
506
689
467
734
660
951
116
349
647
435
695
171
285
286
254
278
81
705
356
301
940
931
597
677
518
818
999
708
193
451
503
687
891
201
163
507
685
145
875
373
159
5
655
718
38
638
528
938
453
625
94
354
538
697
667
632
746
584
729
1000
394
358
85
750
466
494
732
896
626
704
944
368
731
34
497
791
876
857
265
704
130
173
654
100
705
39
462
251
229
83
790
119
167
760
570
84
225
445
134
325
707
492
996
970
423
123
669
28
701
382
934
198
468
389
424
903
169
863
784
244
493
175
937
154
479
222
208
697
634
53
114
348
73
478
675
67
557
896
984
177
538
132
605
376
950
433
82
669
561
635
489
690
139
151
456
627
561
655
589
961
257
251
520
297
66
466
78
848
651
624
265
557
128
48
741
394
438
32
543
126
318
734
599
716
399
984
427
578
120
474
62
95
625
981
881
171
758
58
488
111
604
107
229
763
762
875
245
721
664
168
156
336
838
48
651
426
948
836
238
900
810
13
403
909
358
503
234
790
723
886
352
809
132
805
627
627
381
198
748
506
979
22
162
470
881
820
311
74
962
809
349
917
940
181
736
791
540
967
194
183
72
85
514
854
449
217
630
427
910
731
160
187
352
169
387
830
226
754
224
493
429
954
301
220
448
380
704
949
336
231
286
239
726
12
700
171
205
510
464
339
850
851
457
360
615
14
194
114
570
356
126
773
707
524
982
750
111
658
881
896
869
924
515
598
946
223
243
994
669
399
307
151
122
383
732
893
962
493
687
943
685
538
195
182
334
480
138
133
15
128
447
193
339
770
193
801
115
697
70
422
166
279
414
219
154
641
482
287
693
7
156
624
817
464
661
352
90
246
135
256
266
623
106
436
398
148
15
681
760
306
928
223
755
601
516
675
224
707
158
292
215
619
781
180
344
647
663
697
303
709
975
109
962
612
254
496
767
916
381
13
833
545
871
879
172
507
451
884
50
974
955
773
285
497
578
610
678
303
353
93
410
482
555
861
402
356
395
10
116
474
975
406
242
499
990
893
10
705
53
153
632
928
857
823
510
604
604
419
415
946
252
809
767
404
181
197
557
325
816
116
176
83
591
449
625
71
392
339
152
602
292
691
341
184
932
124
95
641
406
382
744
234
862
674
708
294
332
899
784
853
503
446
120
433
201
110
383
454
431
664
461
683
658
813
261
776
874
567
834
239
718
567
94
75
513
516
855
960
672
681
793
54
307
365
181
458
289
375
952
853
195
740
707
140
802
399
779
688
800
113
365
404
414
606
43
968
480
827
678
448
309
268
859
982
369
459
523
406
420
151
338
463
232
166
761
753
423
606
428
643
289
907
662
205
708
213
469
608
332
698
302
554
315
735
292
40
783
274
367
155
70
405
891
689
534
817
21
19
403
821
974
142
681
644
783
721
604
960
950
728
539
993
571
573
483
84
153
642
520
305
359
782
696
563
335
620
765
650
102
534
199
870
760
742
619
181
868
230
595
289
425
203
333
773
353
307
341
83
214
126
594
239
194
377
64
156
44
753
749
754
765
620
476
480
297
600
842
403
386
653
616
792
90
399
810
979
104
319
415
341
183
915
479
439
488
114
827
714
576
970
196
651
111
206
1000
982
103
257
230
338
631
245
240
723
555
766
289
352
672
436
742
651
161
924
784
685
901
567
343
910
445
755
684
847
4
958
771
271
792
669
98
518
470
540
133
774
246
692
917
615
363
509
634
563
363
226
166
167
506
276
759
959
152
673
893
636
766
661
413
15
421
503
739
596
340
541
750
95
59
600
527
897
244
413
686
226
83
961
503
719
415
567
327
262
464
91
85
152
103
843
811
110
74
664
219
211
494
162
289
561
264
296
740
410
710
302
45
464
907
498
311
310
647
617
988
300
942
153
833
668
297
662
999
393
709
84
421
99
499
923
886
296
656
566
330
377
286
118
918
112
185
845
413
785
254
774
190
783
716
4
7
150
634
32
299
595
243
763
338
460
985
889
71
442
960
31
821
207
692
341
336
600
740
309
857
853
692
120
968
41
520
261
3
58
93
2
704
551
897
46
617
571
637
868
466
182
486
237
350
923
150
998
168
785
837
411
89
325
439
295
266
673
964
739
225
397
280
389
524
660
785
168
355
649
447
844
732
4
28
11
770
840
945
915
380
31
399
44
365
605
874
556
515
441
65
425
816
20
611
654
263
588
755
34
139
971
210
681
773
231
21
56
8
487
231
224
555
549
472
886
429
429
394
103
457
418
28
699
637
181
745
38
768
231
481
258
343
230
267
55
188
781
942
798
672
789
97
114
647
972
942
58
423
854
786
640
218
378
266
810
506
332
276
933
607
922
802
449
674
155
510
653
964
199
966
489
905
493
871
843
999
195
500
40
61
496
854
197
636
446
689
600
670
181
657
521
712
886
314
746
958
373
620
611
434
915
867
554
494
841
682
985
604
452
856
828
49
23
285
192
837
994
225
475
543
989
394
649
266
952
210
605
194
526
571
212
471
776
172
187
226
500
269
940
620
654
209
346
749
890
775
753
58
784
599
630
686
123
475
957
841
507
371
834
841
629
374
822
944
809
563
202
491
739
40
686
127
969
960
108
102
329
399
284
720
363
366
525
36
859
56
263
783
707
709
881
363
693
75
86
412
244
533
134
145
854
384
788
149
656
677
131
796
591
235
284
760
713
183
604
390
432
396
191
853
936
754
371
25
582
1000
371
79
786
289
583
609
845
225
647
905
147
312
91
684
434
233
408
200
140
342
272
137
340
41
47
112
510
498
885
936
130
256
454
992
131
902
813
234
344
841
11
333
383
669
739
453
860
342
794
974
425
546
118
236
893
261
956
61
637
483
8
344
505
475
472
493
743
713
606
897
791
912
723
844
393
117
560
546
107
878
622
5
218
939
388
451
17
729
236
28
626
146
603
176
826
811
105
917
868
988
354
868
861
840
733
341
129
555
682
327
887
145
937
528
680
382
709
831
305
461
30
804
344
405
355
836
20
190
27
541
809
818
412
909
139
302
349
477
550
632
43
500
876
311
713
665
385
984
63
441
318
999
186
534
924
503
557
250
945
802
593
791
444
272
695
632
51
61
741
171
954
207
798
782
452
530
170
254
461
878
9
345
138
843
387
850
724
97
139
153
749
855
783
683
1000
804
525
109
36
29
699
368
559
71
978
818
686
310
347
919
984
251
160
834
169
142
530
264
533
601
964
641
484
564
394
530
68
905
734
725
974
570
637
55
340
908
406
351
580
138
911
397
630
621
902
912
189
618
358
803
30
775
355
961
974
406
483
889
877
1
9
284
868
67
844
519
108
514
857
642
556
352
232
115
562
366
372
26
651
763
336
895
494
566
890
554
925
610
61
763
815
617
491
369
760
725
995
865
847
260
467
137
196
262
696
15
585
502
680
43
237
265
784
509
758
200
428
353
293
911
31
50
199
769
627
943
920
635
901
776
295
811
394
390
233
524
272
626
533
713
380
490
657
693
259
545
421
520
406
322
895
541
383
244
294
625
261
212
262
82
518
523
774
88
733
225
785
759
332
393
918
627
199
27
703
436
177
465
304
581
366
252
276
478
638
382
583
406
993
727
30
103
198
234
279
489
673
162
850
427
718
248
828
345
5
183
548
885
701
188
156
488
746
808
820
946
538
249
293
539
769
740
717
301
196
402
807
349
910
82
42
951
58
440
68
219
35
337
301
868
869
222
618
487
916
817
118
158
988
828
158
59
734
814
247
900
424
648
941
660
307
146
582
85
334
609
559
882
367
948
807
332
969
54
423
306
461
818
580
315
251
994
445
264
328
677
398
57
456
735
683
34
808
968
535
538
698
107
979
525
642
40
699
283
175
789
862
748
723
850
301
853
388
471
222
621
639
327
484
419
786
831
536
923
596
26
303
847
543
578
666
426
42
928
699
965
423
37
486
526
579
503
171
940
950
30
878
913
995
393
274
937
327
22
840
78
504
339
358
498
817
781
755
725
507
202
172
299
545
48
68
362
483
203
245
222
925
938
896
647
821
737
177
922
170
70
351
274
679
383
239
298
591
666
581
460
216
962
924
563
643
103
807
321
754
765
354
823
923
659
872
706
729
313
663
356
589
433
78
266
492
258
785
997
879
699
319
835
305
293
259
331
723
151
789
406
104
182
968
588
626
803
785
253
872
273
941
449
292
524
362
12
697
109
628
162
701
438
882
759
843
1
276
656
575
695
697
395
431
668
315
584
472
331
518
883
542
321
889
455
932
220
213
135
844
795
931
295
403
354
66
615
57
592
422
504
902
931
762
936
854
955
741
844
608
997
630
27
17
324
226
724
856
633
890
642
940
807
376
209
225
914
946
294
801
507
296
437
697
137
978
885
997
836
324
366
72
58
373
605
662
165
942
15
113
117
735
886
362
437
405
648
117
898
520
472
286
599
698
553
879
307
558
897
526
958
741
358
242
214
967
931
274
850
973
58
709
529
256
786
13
199
709
161
808
979
609
139
47
865
932
663
167
44
638
269
937
868
383
739
525
816
115
864
684
866
128
357
112
748
460
288
738
495
968
221
119
547
995
374
173
432
358
733
213
692
241
29
590
303
715
881
301
314
780
213
604
786
268
257
3
434
438
86
984
535
836
601
537
786
822
377
775
784
192
562
983
727
483
275
995
738
893
610
117
954
200
387
728
124
729
250
286
38
192
583
710
507
187
990
27
995
242
747
714
244
561
723
383
395
27
770
349
179
628
451
124
733
162
305
77
446
3
532
342
71
726
110
547
995
598
873
103
167
306
7
571
708
802
742
141
598
798
780
323
205
300
126
775
596
519
543
598
721
661
819
529
612
375
392
214
647
93
648
141
813
114
387
874
621
14
535
938
32
935
167
96
265
323
302
766
888
965
739
18
933
530
399
945
71
384
261
173
97
130
997
953
34
207
849
569
217
861
94
787
576
2
726
644
217
758
584
224
52
52
248
934
931
124
449
425
205
750
624
545
130
839
513
596
855
217
366
746
991
624
418
661
930
445
779
272
129
178
768
157
582
463
44
169
543
316
589
801
377
297
679
269
105
515
567
447
789
756
450
610
439
501
701
376
498
302
17
404
317
783
333
139
221
529
875
368
925
266
694
405
70
13
381
512
619
352
433
517
671
568
934
706
32
159
765
719
533
158
586
617
642
762
190
259
413
3
661
845
173
600
953
825
651
633
154
333
432
439
661
18
727
921
993
393
452
537
743
828
518
354
432
930
52
909
682
307
999
80
154
686
176
833
180
906
381
471
863
592
631
992
694
181
905
252
430
568
74
897
17
823
808
447
891
335
378
488
825
221
176
665
839
90
725
50
371
11
680
502
24
112
50
849
748
323
446
66
199
637
693
128
401
685
518
915
528
587
376
345
809
779
685
896
86
977
867
828
514
522
640
696
275
89
941
208
925
166
709
78
187
742
510
291
575
384
655
116
230
240
23
274
746
537
273
915
553
830
514
418
652
594
784
603
87
756
892
611
593
402
250
609
239
233
361
431
769
263
513
498
546
931
60
631
663
27
386
884
842
795
296
168
187
164
84
182
734
290
994
192
3
513
143
233
437
391
200
619
699
665
307
56
277
919
783
196
754
197
120
263
401
33
673
200
446
203
219
889
506
976
262
161
163
836
558
671
632
403
828
260
753
814
59
36
318
869
93
292
872
103
424
322
674
313
284
338
485
218
91
5
175
619
304
541
961
880
584
940
218
585
876
642
422
944
741
900
750
889
785
146
281
851
548
919
513
865
561
285
151
15
585
221
714
200
239
165
535
897
307
742
162
856
39
739
985
680
656
529
176
815
94
501
649
791
744
516
820
478
579
48
391
696
586
472
257
795
866
907
895
696
132
116
280
459
552
262
447
666
82
682
317
747
488
486
298
959
214
451
459
845
167
618
812
918
234
21
321
729
84
176
799
711
361
330
772
940
925
960
721
447
155
705
852
840
713
726
699
767
316
457
407
168
263
892
492
396
447
786
268
990
559
655
869
321
17
26
992
367
924
174
62
598
10
490
505
333
87
707
221
950
7
436
156
1
519
853
36
659
674
930
21
891
646
288
967
413
918
618
482
805
803
637
755
103
167
678
390
840
42
392
126
754
547
476
365
351
159
999
888
56
914
693
33
980
555
521
818
203
4
937
248
41
784
527
43
989
168
124
600
882
921
84
817
380
450
123
767
27
86
12
891
8
975
469
497
202
770
792
879
300
912
125
287
555
789
767
319
198
467
599
50
679
18
538
336
676
682
902
323
237
238
694
95
514
990
146
820
307
720
268
463
27
799
781
370
746
421
579
557
725
565
752
562
181
877
331
110
82
112
85
619
439
191
136
818
907
177
686
329
517
699
835
109
988
422
358
67
404
196
282
995
992
400
316
214
356
830
471
947
818
213
715
525
437
21
151
954
859
852
957
245
432
28
339
207
881
457
805
22
436
27
350
73
483
983
567
923
726
798
261
285
330
10
876
97
731
408
947
533
633
694
820
897
192
484
74
869
572
80
467
491
835
949
707
616
619
287
31
292
155
327
419
691
980
284
208
730
118
991
54
533
592
254
456
182
891
961
519
49
405
787
229
109
910
107
282
266
891
385
442
698
880
888
437
601
989
18
687
560
534
978
501
935
949
722
954
290
235
392
332
919
777
474
907
926
754
983
814
174
239
835
952
631
804
419
196
325
632
100
636
120
159
996
245
38
779
936
143
663
454
917
585
487
950
758
903
684
970
882
895
924
682
321
587
289
25
120
833
289
676
271
3
242
765
207
844
13
264
647
672
213
464
304
256
471
120
556
90
343
645
657
282
728
196
538
954
417
629
492
850
535
75
329
878
208
311
656
388
718
208
29
349
789
277
617
967
422
735
906
964
860
575
697
441
854
848
332
203
395
721
640
486
464
912
573
261
158
794
880
672
752
786
445
716
891
665
132
973
95
61
47
39
219
732
154
352
310
173
86
231
584
714
807
323
840
592
511
89
740
347
767
623
769
549
459
889
635
65
511
401
71
1000
740
491
708
998
426
561
786
802
358
143
912
864
175
157
30
282
802
502
14
589
660
981
36
681
96
638
974
746
217
742
628
161
845
52
449
129
890
481
828
349
771
957
719
54
906
107
505
607
464
362
606
222
712
220
242
502
358
721
158
219
184
588
866
168
148
160
171
984
880
943
283
530
145
564
845
835
438
984
584
589
317
29
110
881
497
730
560
226
985
464
450
896
738
619
76
239
431
351
247
998
921
999
976
555
893
937
971
710
25
900
437
841
689
377
743
231
863
238
951
963
467
598
97
1
763
848
364
995
804
904
965
904
209
975
648
747
650
585
211
668
536
137
325
10
363
66
248
316
38
492
731
972
310
342
541
735
120
105
522
530
273
740
58
707
346
769
138
431
167
267
953
971
494
260
102
467
779
63
44
159
989
179
374
171
543
730
888
684
320
778
153
729
573
564
486
911
316
406
822
57
446
944
947
194
375
480
959
253
481
411
636
611
26
112
577
890
487
203
619
480
438
804
36
836
235
264
459
986
720
839
295
582
128
990
651
504
145
267
424
269
821
251
261
445
662
647
565
873
764
435
563
712
285
907
757
269
918
551
719
99
255
998
302
104
132
651
815
205
64
220
605
716
908
92
797
712
714
366
654
537
559
419
107
91
825
85
575
688
980
862
67
81
450
97
931
734
539
750
329
515
719
173
692
794
807
332
914
333
664
1
57
473
137
798
662
856
844
352
545
315
307
498
142
656
642
183
38
732
734
648
309
608
327
568
701
638
990
28
475
951
264
612
949
206
600
453
384
436
874
728
893
497
382
26
448
911
211
935
940
887
793
450
439
901
272
62
471
513
36
914
195
29
392
14
769
193
904
328
134
366
353
476
633
529
618
918
633
23
61
720
344
142
118
463
561
583
904
395
913
257
582
677
538
198
158
452
789
85
121
520
697
441
50
592
446
716
926
454
18
228
348
895
533
479
327
908
519
409
580
504
504
973
523
473
876
858
264
528
913
226
949
609
247
134
736
543
795
692
545
860
374
48
467
354
801
45
390
869
246
733
960
887
37
970
460
701
888
23
604
381
746
412
478
243
62
250
95
261
300
989
116
710
953
766
280
334
140
535
20
512
108
793
548
214
617
957
404
18
215
423
127
110
899
894
201
966
492
844
900
375
363
855
6
565
762
144
597
466
168
820
306
536
492
249
489
199
908
485
723
616
364
848
940
451
546
633
277
307
173
379
430
706
36
317
885
876
96
404
910
75
321
826
604
881
649
968
612
705
631
638
344
738
862
754
664
708
240
805
44
110
492
134
136
5
142
501
549
123
312
445
373
734
283
669
674
689
782
61
723
116
307
977
201
451
654
104
41
924
969
556
780
117
305
872
565
940
653
203
996
213
860
320
31
64
672
27
69
513
392
168
150
947
262
734
940
665
764
471
794
310
464
7
720
803
903
746
525
339
308
698
754
128
561
960
308
788
973
776
768
768
862
994
536
708
865
249
862
405
193
388
727
925
762
509
314
455
226
461
506
675
482
817
452
814
135
146
731
29
726
868
70
448
305
99
885
21
31
667
130
329
74
940
87
597
13
147
740
509
328
687
347
808
317
256
647
335
980
733
916
867
958
461
726
77
648
928
852
983
968
881
215
500
76
619
167
105
541
496
671
132
96
718
157
974
86
148
900
260
198
124
798
134
867
298
332
922
978
100
292
778
170
720
598
409
55
423
164
600
154
624
284
54
215
384
485
25
816
882
99
316
876
995
112
473
758
337
961
447
131
948
50
546
669
395
721
241
960
197
286
289
701
351
523
651
381
213
733
915
165
163
38
278
613
265
128
634
228
632
57
24
531
297
6
492
527
189
183
399
985
241
106
357
883
748
612
279
771
840
832
443
540
339
237
118
299
325
626
30
600
464
566
889
284
508
370
255
588
403
195
270
974
153
171
142
316
898
819
856
753
671
157
240
470
960
21
398
143
504
133
535
606
717
329
350
516
758
225
519
472
543
279
253
69
928
859
568
834
895
468
698
860
790
697
9
227
601
846
916
950
802
402
538
324
511
719
249
967
581
322
879
823
767
215
22
622
310
481
817
53
105
200
596
999
126
475
14
701
926
870
605
653
854
143
245
360
81
525
663
828
651
120
952
805
577
247
51
339
386
641
255
179
664
488
154
918
857
214
820
518
8
781
672
86
164
8
231
287
906
92
868
836
819
86
748
852
758
528
383
691
439
845
613
71
240
399
372
925
78
259
282
418
893
873
1000
17
567
816
238
323
90
713
545
610
400
236
277
661
573
821
649
562
42
349
412
544
31
604
476
852
709
743
783
869
423
368
789
424
962
42
231
273
994
256
236
247
706
927
417
443
206
453
344
156
413
276
636
935
28
648
3
269
654
11
725
946
296
995
454
24
283
541
700
707
110
65
56
157
839
905
29
416
452
511
339
148
6
963
666
906
510
452
133
951
215
281
267
450
390
812
770
51
720
537
209
397
197
86
647
161
718
594
318
557
662
292
660
89
365
574
449
513
807
87
273
596
755
571
315
281
326
284
265
285
195
848
197
5
656
262
390
825
373
646
450
595
932
9
502
56
223
954
932
505
302
778
892
789
603
864
761
59
288
605
871
330
87
371
33
11
164
168
859
55
476
730
415
258
549
734
504
561
846
734
733
891
685
171
597
216
220
526
972
997
89
276
813
140
200
811
319
904
552
899
532
935
129
577
143
775
683
601
266
698
635
689
70
746
459
843
474
133
610
978
531
23
488
928
761
803
994
666
435
611
933
206
746
822
903
276
866
616
325
259
124
552
974
347
940
273
695
69
667
82
980
611
222
151
759
401
218
562
53
455
347
187
87
889
910
682
117
815
731
495
485
568
164
847
331
840
540
110
36
831
212
851
648
961
275
105
508
64
174
99
813
202
656
744
84
429
957
684
383
878
671
614
631
550
499
855
602
15
950
892
953
80
117
698
212
120
850
189
739
392
994
63
530
165
901
640
171
876
57
38
383
887
511
160
384
592
786
543
711
787
56
57
247
254
702
813
952
412
779
412
173
795
568
843
511
818
111
912
896
992
571
91
912
297
337
55
455
892
997
983
461
749
729
911
810
33
174
31
498
309
556
856
813
688
707
603
580
86
604
959
491
634
264
661
164
136
110
948
846
165
439
999
632
25
250
933
623
359
465
802
739
598
575
301
766
819
783
557
807
821
41
480
503
392
756
634
261
807
527
468
284
586
28
76
328
379
985
335
16
693
315
407
982
803
618
97
305
843
631
496
480
538
730
655
669
478
236
799
49
125
142
716
917
995
803
508
575
571
318
875
168
533
601
419
366
854
596
284
189
147
692
570
328
392
171
582
50
863
418
946
126
611
721
15
259
347
702
806
173
962
820
912
867
171
925
425
522
4
538
966
232
927
406
313
995
414
866
962
413
667
750
200
133
42
866
905
377
411
582
348
793
372
684
721
512
712
444
989
484
999
831
934
118
513
862
923
765
989
364
29
852
792
868
613
287
238
870
394
336
719
487
284
324
185
393
45
369
329
953
864
851
495
708
534
466
942
689
791
532
591
568
740
679
814
310
11
171
112
839
450
894
769
170
690
472
706
654
912
73
783
220
465
196
733
986
793
155
783
206
277
29
759
280
209
546
119
469
76
765
958
51
750
438
473
862
967
613
771
570
690
389
183
566
581
729
449
58
790
883
217
815
740
297
334
13
387
827
289
804
694
737
998
575
681
184
858
297
500
885
595
71
400
210
996
702
340
209
50
132
277
991
356
646
816
409
939
31
2
250
744
297
539
977
179
129
579
614
18
976
560
543
888
586
272
816
314
808
427
103
30
719
553
526
822
453
946
448
706
660
739
773
626
160
923
380
210
199
234
168
311
692
453
550
205
972
556
377
364
869
547
998
640
372
584
558
573
761
154
726
264
835
680
718
937
795
876
891
862
404
632
192
809
300
929
435
555
694
583
711
271
255
146
261
805
675
375
754
973
259
79
259
968
904
980
148
929
1
497
779
509
106
954
124
2
737
832
384
256
246
73
285
72
558
369
954
297
486
595
187
124
448
246
491
377
678
814
497
741
431
536
186
922
278
824
940
746
291
3
591
45
830
694
471
978
670
285
990
149
421
447
407
435
536
600
268
991
733
547
453
282
302
242
900
314
615
804
845
463
124
436
860
428
286
874
52
886
123
344
546
327
596
789
760
452
580
286
60
228
964
183
84
377
353
450
404
635
901
142
217
589
40
679
447
294
263
858
977
143
662
100
728
648
617
508
955
930
887
669
437
658
383
37
220
149
50
921
153
112
624
768
798
280
508
489
166
766
650
18
365
555
90
172
476
949
818
141
876
161
656
620
791
485
175
678
81
656
46
936
112
47
835
545
135
357
932
734
730
309
252
416
758
658
341
461
727
508
750
747
656
546
875
44
310
275
995
111
159
784
892
136
545
858
270
761
275
508
169
545
356
87
714
608
630
219
817
619
831
708
920
32
994
422
464
651
200
941
525
210
349
379
989
609
50
375
707
879
708
738
304
724
612
568
704
707
140
11
971
759
204
961
782
715
717
138
675
995
163
973
272
405
325
637
801
236
842
385
584
531
555
71
664
391
512
384
331
692
135
816
143
426
246
875
975
155
602
379
732
743
117
917
621
613
171
745
309
281
294
420
863
773
15
497
97
895
871
434
830
969
409
692
634
811
499
672
813
224
443
740
733
208
169
114
135
429
264
761
723
226
720
809
145
570
55
172
484
958
896
239
484
176
202
486
50
215
56
857
23
423
365
554
788
127
843
671
111
554
401
760
437
872
411
966
30
554
353
875
516
88
43
553
801
249
962
595
878
769
230
141
734
261
396
966
422
689
547
702
378
483
178
215
240
670
923
937
738
15
491
698
711
225
108
219
943
727
344
979
320
394
454
604
721
871
283
257
214
812
305
802
348
437
623
640
769
317
612
193
967
150
395
4
685
647
581
270
403
310
467
427
378
23
452
117
886
888
556
420
698
672
722
784
324
552
75
473
224
596
420
672
12
559
30
625
673
124
242
291
926
676
420
63
185
62
644
11
4
566
849
987
503
484
214
658
43
310
311
219
318
468
911
77
124
995
342
309
301
321
10
25
694
533
16
115
591
110
811
996
710
152
469
100
755
527
478
861
485
223
929
831
492
408
560
418
132
356
450
425
602
450
42
225
748
931
796
925
990
920
3
328
739
509
206
841
715
421
220
741
920
771
978
354
369
2
284
803
298
936
86
912
294
174
81
767
663
825
284
212
412
619
701
232
412
988
408
805
682
661
120
288
214
582
835
810
464
785
231
488
438
923
292
475
291
762
58
1000
481
879
494
583
846
171
231
565
381
548
297
924
134
390
68
114
376
873
338
334
140
331
818
165
286
141
360
43
481
489
933
357
881
530
683
300
831
96
421
742
613
130
532
542
123
430
624
687
363
128
164
565
818
594
12
510
103
53
22
460
745
294
803
210
611
293
356
289
285
431
513
899
631
279
31
746
923
560
755
809
131
35
460
282
434
501
873
975
547
4
897
442
224
678
244
975
162
326
522
402
589
953
327
315
6
13
35
932
925
43
797
350
938
673
721
291
148
791
332
834
785
718
180
778
844
860
910
471
693
236
195
935
919
635
670
79
91
952
429
638
781
405
686
228
893
943
923
564
300
106
236
471
855
48
587
771
82
181
388
524
215
140
156
383
833
372
996
11
15
681
308
614
802
466
430
643
760
253
901
627
619
331
626
934
286
973
544
950
994
758
287
826
8
973
952
460
96
939
320
831
920
380
790
152
601
613
831
555
7
456
977
196
682
187
279
720
955
839
632
13
474
382
595
40
305
49
151
358
774
213
375
576
449
691
92
655
989
333
460
418
113
31
844
66
621
70
490
822
207
866
280
27
786
678
272
155
216
872
853
259
555
632
29
270
490
844
840
470
122
989
880
159
113
518
693
247
82
143
113
24
218
885
703
882
328
506
103
96
905
190
435
99
342
918
941
842
159
25
638
954
895
848
120
414
407
204
593
356
431
677
840
446
606
343
101
989
654
611
792
577
17
312
566
583
81
37
475
298
44
1000
889
808
588
362
399
2
805
58
124
250
214
638
745
332
301
545
95
231
744
531
315
208
355
661
454
443
845
419
857
137
693
989
859
646
763
693
99
665
833
912
250
914
863
535
65
102
653
153
424
160
526
748
517
856
805
590
356
953
166
422
594
19
352
784
993
825
406
493
988
43
284
900
458
602
658
503
236
639
802
935
884
454
644
92
958
244
517
433
331
692
620
45
126
688
955
124
488
516
326
934
696
909
17
140
130
222
930
651
184
838
286
757
524
610
483
394
18
812
325
825
243
558
659
901
745
137
364
318
104
29
798
982
436
647
14
668
178
976
521
645
855
396
912
835
85
898
433
389
237
825
431
253
20
27
693
426
750
30
858
112
235
394
461
928
979
988
678
626
921
244
494
558
5
859
867
230
693
559
417
869
922
723
328
869
155
669
427
347
863
368
871
818
227
180
461
168
878
988
384
693
215
725
88
953
236
915
80
595
804
261
654
90
990
736
974
551
463
909
437
400
885
410
983
680
944
573
847
228
939
260
283
770
835
824
928
228
278
938
839
172
392
790
685
418
69
733
226
207
87
40
10
292
614
843
157
500
582
700
220
44
949
458
355
917
103
288
482
204
533
779
658
40
398
7
642
241
847
332
511
344
748
486
222
920
998
198
233
508
744
205
622
490
646
5
706
535
770
96
770
970
853
815
384
611
414
46
766
114
669
256
753
868
257
315
276
836
553
518
659
484
752
76
687
157
944
74
125
802
142
595
319
969
580
240
568
378
631
766
183
169
386
940
555
148
262
1
79
960
21
284
491
133
214
716
36
379
407
825
881
357
464
890
376
343
833
610
75
911
31
446
918
765
455
387
618
327
261
437
79
552
280
576
621
703
845
270
917
516
972
880
779
235
546
478
363
520
43
636
951
104
828
743
170
392
286
272
425
879
850
197
348
421
510
495
275
860
531
203
110
476
922
59
459
50
649
138
584
58
738
227
536
676
160
886
831
823
842
302
161
418
231
51
914
395
596
835
749
807
649
122
62
499
112
358
949
434
606
70
186
734
580
786
827
910
34
126
257
521
488
823
896
760
968
725
342
36
799
994
396
662
631
851
292
183
438
183
467
714
210
280
363
887
651
756
96
658
513
442
287
287
85
671
8
232
989
913
573
606
659
154
871
72
786
758
30
760
569
830
469
855
840
219
818
4
992
408
750
586
167
486
518
169
346
285
862
230
843
546
999
281
160
689
613
92
363
330
114
629
909
218
959
637
341
670
470
567
384
888
447
666
755
785
817
610
430
58
733
30
204
295
803
618
140
841
590
303
872
996
138
131
832
868
31
97
154
887
411
140
386
513
462
931
176
191
100
856
789
948
988
847
628
342
538
273
954
637
286
186
647
205
845
579
148
137
678
206
699
982
113
710
625
312
299
465
659
580
351
606
274
331
508
144
552
389
961
964
381
57
942
743
669
750
772
534
830
698
841
811
999
563
888
278
326
822
554
657
201
805
885
917
474
110
368
196
556
921
117
686
790
455
41
369
629
343
149
337
986
272
709
811
565
620
597
703
103
129
36
690
265
894
881
357
322
68
762
890
865
718
670
180
548
224
52
976
246
440
41
883
86
607
276
602
522
664
605
787
991
165
120
295
720
501
140
407
940
479
180
795
101
620
489
648
683
720
416
363
837
318
745
653
429
716
136
751
993
116
990
620
737
251
374
746
34
606
114
116
739
961
836
465
293
538
477
716
792
428
789
838
131
397
434
992
875
349
540
939
726
943
3
171
332
891
411
104
715
463
174
5
769
585
344
2
128
716
657
654
206
381
525
92
339
818
56
633
812
734
696
141
975
546
772
126
799
815
15
719
6
806
130
218
313
226
643
862
459
246
504
839
399
830
423
319
469
267
475
481
382
552
320
61
627
898
266
981
228
274
495
972
823
292
1000
925
740
179
176
919
56
829
530
470
651
161
710
590
897
51
870
638
955
169
439
817
588
930
496
383
63
582
305
279
953
208
35
981
603
5
318
771
614
788
114
538
954
68
283
472
181
421
380
682
853
121
443
879
407
172
979
718
640
915
909
329
493
415
985
820
985
646
48
300
7
331
584
38
180
967
199
904
127
150
998
197
322
844
384
246
158
638
441
957
968
349
891
588
541
554
622
616
101
775
880
486
793
62
556
436
489
667
411
316
112
356
716
547
757
651
532
887
572
966
780
740
770
156
321
46
141
490
508
684
145
407
38
459
969
747
511
384
988
291
761
4
649
580
923
909
175
972
172
425
413
802
270
723
768
351
373
207
478
18
21
133
388
753
885
815
975
325
630
688
646
442
218
747
199
108
51
550
939
826
660
69
111
441
20
165
217
479
182
346
312
810
619
768
527
328
594
171
949
168
880
522
452
622
365
686
248
548
466
353
732
561
723
797
638
714
685
773
694
669
964
999
679
615
363
246
287
304
83
980
234
600
340
895
828
905
142
439
617
653
617
598
778
829
11
798
645
125
419
785
131
916
381
712
827
713
690
477
262
123
184
583
129
654
791
364
291
850
832
480
31
401
432
989
319
822
897
148
834
240
87
321
106
637
148
38
415
608
429
279
22
346
75
528
898
85
547
5
361
674
303
755
940
315
962
934
339
749
531
751
593
322
720
965
374
455
906
786
949
986
77
280
457
764
955
119
22
638
535
624
724
669
495
557
580
40
275
71
534
571
143
518
872
222
226
610
653
248
330
515
476
910
312
73
375
755
969
236
706
553
632
224
644
874
161
649
297
171
606
47
537
983
589
809
318
514
347
550
668
444
496
283
530
272
771
618
354
885
388
386
632
336
245
722
622
990
854
634
109
324
749
547
394
641
160
109
651
884
863
818
426
559
497
644
321
494
68
893
838
773
34
17
963
764
146
915
309
550
168
577
527
462
703
572
285
648
629
968
293
768
59
777
761
999
302
892
177
476
60
805
486
188
956
78
603
152
556
694
667
340
230
879
622
473
567
968
499
283
553
185
251
240
422
963
115
98
875
565
237
798
376
333
773
414
359
826
696
866
472
512
378
66
432
398
338
993
687
202
656
983
828
241
248
147
610
174
576
414
537
185
398
171
179
940
834
850
779
887
383
84
259
98
508
273
426
820
67
479
53
395
184
575
488
984
96
500
650
811
165
271
581
259
497
133
194
221
568
870
511
566
810
808
475
423
416
517
363
283
459
541
940
593
38
757
755
566
334
110
403
471
370
557
136
523
766
5
971
810
981
929
282
406
376
130
959
917
916
777
379
249
495
509
806
304
677
828
347
623
102
476
269
783
935
765
283
443
513
86
413
530
791
918
184
997
246
740
162
934
689
132
338
624
800
265
438
268
287
674
23
713
275
923
145
504
891
288
414
959
72
106
540
799
271
772
846
36
100
694
731
468
943
676
818
131
213
313
347
492
254
993
388
1
840
988
636
857
850
961
853
484
993
927
516
280
350
325
864
637
138
422
340
119
322
684
354
934
605
108
414
525
888
781
946
191
526
60
508
123
534
858
717
150
484
490
911
788
962
418
473
890
339
994
776
308
73
37
921
506
943
628
783
985
397
64
398
711
686
269
399
480
563
332
29
304
101
18
231
443
645
254
478
673
963
631
268
745
452
888
682
757
611
204
11
343
108
874
198
150
426
617
778
96
493
316
84
258
696
465
682
69
386
6
432
705
307
467
75
140
386
581
969
400
976
589
460
943
946
487
351
940
984
374
150
469
102
856
63
283
606
217
192
855
726
672
57
865
706
564
314
176
386
819
527
577
205
287
941
289
153
901
467
292
361
710
518
18
925
917
898
860
94
41
683
248
102
182
925
743
796
174
49
718
706
85
4
728
331
128
616
566
263
568
62
380
198
585
85
922
38
418
384
170
45
285
589
117
450
754
385
454
10
249
616
284
756
308
684
717
575
93
137
422
326
374
111
775
911
887
220
214
99
530
546
851
906
330
631
148
54
503
737
698
339
208
213
756
763
787
484
200
909
388
44
999
380
874
847
131
68
817
657
119
631
218
251
985
878
289
831
504
639
293
661
66
334
947
731
350
679
354
190
251
873
771
413
203
179
770
816
119
16
531
963
648
558
38
75
354
359
959
788
721
726
847
893
604
362
102
834
830
347
798
943
230
648
124
745
242
161
644
175
611
768
24
235
435
992
178
412
928
639
16
196
870
230
102
152
619
110
561
296
974
908
528
984
909
366
283
118
396
676
940
250
114
125
269
69
829
269
751
845
622
838
472
614
951
302
815
316
740
342
229
584
289
465
501
641
841
684
110
581
53
455
193
329
458
62
605
759
238
237
345
755
283
100
370
491
555
437
422
851
230
899
39
686
979
991
380
565
983
595
818
795
980
341
515
722
725
355
375
761
715
787
808
189
947
37
738
429
760
816
140
484
539
961
215
199
159
495
964
224
570
502
548
936
857
254
320
57
439
461
812
397
803
644
302
971
327
421
786
709
290
907
329
134
121
547
785
663
320
429
846
642
232
530
192
834
51
422
311
835
996
648
179
815
621
403
586
68
567
123
358
60
915
313
92
84
489
268
343
136
48
348
341
383
374
97
470
372
648
848
709
231
355
375
154
198
212
811
570
204
234
310
630
681
105
871
139
412
525
339
62
39
986
827
650
796
791
728
256
130
729
41
736
145
963
924
472
219
127
308
103
725
568
884
66
508
935
3
885
667
42
828
957
227
54
616
282
502
541
126
149
282
900
983
344
505
948
276
806
753
267
808
18
713
981
177
611
738
235
309
814
793
592
162
398
330
911
56
719
134
73
487
304
740
67
356
199
817
551
243
913
831
979
742
427
347
798
891
144
597
997
420
82
308
524
883
872
334
672
735
337
324
590
67
502
549
469
14
909
968
808
848
13
850
389
337
265
522
258
292
182
361
25
96
372
733
295
652
995
412
875
406
578
946
679
2
478
535
954
711
509
278
488
954
434
31
1000
157
82
713
762
652
822
630
840
574
3
262
33
506
776
10
697
140
363
600
179
374
496
199
505
67
193
802
277
147
495
127
529
887
90
83
369
940
949
842
835
167
287
696
339
358
130
177
416
743
767
358
305
526
174
863
22
798
290
879
209
859
648
380
997
368
453
857
540
768
683
51
675
111
131
616
354
758
640
151
134
416
931
748
16
633
557
64
350
187
502
937
356
756
858
732
72
888
835
928
142
578
78
939
952
668
900
809
63
894
569
190
734
665
239
995
644
519
447
201
554
810
381
544
759
362
252
278
660
712
193
723
686
91
76
96
88
468
517
949
858
847
124
655
102
462
729
510
758
721
973
430
451
504
62
710
614
942
996
978
745
873
816
323
833
991
701
531
490
115
824
518
348
97
966
345
592
659
770
630
294
810
420
811
388
597
245
435
704
630
439
614
479
204
628
819
135
877
515
451
948
29
186
988
414
278
978
76
741
644
974
606
922
957
302
699
266
379
424
517
89
810
498
998
523
628
724
932
35
448
318
275
297
548
349
244
525
182
273
520
233
256
368
845
668
751
689
396
824
825
374
599
34
747
297
429
640
691
167
874
112
947
92
909
313
279
546
263
291
15
458
282
118
947
813
393
790
265
781
42
165
570
874
472
200
464
55
403
533
352
34
465
580
857
209
264
868
691
851
40
279
900
146
237
275
189
672
684
895
374
730
761
533
130
696
630
71
873
222
569
937
13
704
496
35
839
877
26
335
966
791
764
67
634
721
110
132
139
730
519
315
324
724
58
342
380
834
66
648
156
868
938
962
811
410
341
451
926
839
679
240
101
195
247
556
692
349
312
626
547
364
313
728
546
303
463
456
274
982
327
375
395
319
341
679
153
26
826
426
966
327
774
168
252
309
597
532
482
240
22
424
921
957
580
28
727
939
427
717
820
273
816
327
450
50
138
965
498
114
338
682
313
260
450
910
335
143
149
471
848
164
519
386
934
573
673
450
126
860
470
720
303
251
343
647
90
813
172
591
399
218
195
811
771
695
204
874
872
88
639
600
829
208
765
280
87
873
776
942
139
126
570
845
759
111
927
227
373
36
982
567
785
408
255
269
786
524
910
732
95
761
632
209
660
794
239
751
622
284
138
784
121
952
818
535
701
176
847
643
276
450
260
726
497
72
782
630
887
430
94
328
288
122
198
208
29
939
21
536
679
417
568
462
449
285
303
822
86
628
946
341
573
987
555
573
79
964
563
74
379
82
450
828
392
823
838
938
581
770
121
927
710
739
171
792
843
632
267
108
548
491
180
71
969
908
236
369
808
492
268
143
287
589
613
126
848
819
664
229
673
283
68
489
141
489
335
289
930
127
493
190
863
863
421
571
476
198
697
474
984
268
67
732
548
196
178
494
699
220
822
710
380
360
736
27
279
849
978
789
65
865
955
543
677
397
509
504
43
200
817
940
464
898
493
337
448
240
972
489
939
402
170
372
748
26
435
799
479
360
28
325
394
473
713
844
480
30
552
637
439
503
665
349
451
28
556
556
325
344
574
103
109
363
207
372
300
969
235
985
550
594
168
243
177
934
58
752
828
969
483
282
381
82
462
905
526
637
111
830
500
871
83
171
147
323
247
95
789
298
557
398
417
74
825
581
348
666
905
937
816
918
853
978
913
682
786
777
937
579
465
445
478
623
144
17
488
592
845
466
209
554
2
457
36
438
407
685
341
843
442
357
805
562
892
423
36
459
32
683
136
382
249
778
386
792
214
365
411
664
476
506
40
978
434
394
549
861
794
85
150
973
26
788
391
297
804
663
590
866
116
739
562
288
527
791
665
160
82
487
637
582
464
142
763
21
315
729
702
726
76
614
651
725
324
601
633
215
322
523
383
791
440
545
679
547
162
783
17
546
644
610
179
541
152
269
607
105
284
979
500
537
542
784
166
997
712
790
524
329
509
295
568
944
93
528
262
963
431
381
591
513
919
564
440
747
335
58
559
638
997
626
121
94
922
403
284
249
922
250
714
60
810
668
278
498
313
529
934
686
888
796
431
312
322
694
564
519
933
515
616
277
202
334
79
911
874
452
925
75
933
309
487
967
352
918
501
971
194
650
950
258
479
308
164
84
184
3
29
649
921
292
291
439
77
413
630
880
723
205
660
28
120
501
982
728
500
337
214
369
645
340
235
904
905
26
945
311
523
564
503
9
501
745
367
64
813
536
438
195
450
600
277
693
647
599
666
371
655
923
759
570
595
737
668
79
240
875
649
517
61
169
935
404
534
244
905
629
444
704
484
521
935
862
598
19
114
890
61
755
304
310
476
966
455
259
622
260
789
847
314
216
501
231
910
680
215
735
495
410
933
464
226
408
442
375
548
886
455
704
714
304
330
954
582
345
823
446
746
991
209
500
830
113
42
943
245
84
996
545
761
993
503
370
14
966
357
806
471
935
78
193
421
986
552
571
300
32
442
49
3
176
868
701
886
555
151
676
835
863
770
445
119
40
221
705
747
780
185
474
698
645
263
362
705
545
539
815
239
278
412
372
955
624
461
626
159
229
584
633
758
129
290
960
781
299
831
442
786
81
780
972
363
651
811
340
533
984
652
219
24
894
642
861
304
841
877
6
760
117
657
755
617
958
852
926
7
868
836
462
114
162
841
42
473
327
934
916
296
294
351
375
179
144
563
949
669
77
309
623
920
689
766
872
143
751
218
299
612
707
834
20
750
53
647
696
224
606
403
314
26
436
744
371
251
875
84
141
631
617
620
61
940
360
157
107
42
838
793
220
723
401
97
458
408
432
50
587
567
59
944
219
878
575
392
475
194
912
798
359
14
328
959
698
377
186
947
531
95
338
56
318
779
174
405
176
405
800
709
630
29
215
883
60
844
557
359
69
999
693
445
533
423
450
621
956
492
816
393
62
502
261
231
275
791
148
132
842
831
897
585
879
774
141
40
536
735
647
510
834
571
154
615
439
30
639
165
798
938
692
417
623
488
865
216
630
842
860
576
863
949
372
679
643
930
268
878
394
401
501
72
186
861
873
709
791
610
267
779
474
703
499
371
542
146
267
761
844
847
22
543
98
866
704
16
861
146
459
895
457
202
407
425
957
247
450
146
583
826
960
890
519
305
864
61
207
537
296
894
607
552
535
179
822
438
364
891
726
417
344
272
904
737
760
162
334
161
151
821
679
766
394
31
1000
232
309
15
971
40
596
596
396
796
751
54
948
432
244
356
553
148
886
766
798
814
797
386
39
971
792
813
653
732
339
956
11
636
448
7
300
948
991
731
289
9
985
497
485
939
316
957
903
472
213
859
862
676
577
265
768
109
880
345
882
271
952
2
424
271
439
824
182
321
83
220
20
970
281
174
261
36
559
725
958
817
689
148
510
472
212
830
871
454
997
986
884
463
324
706
882
694
685
289
777
79
114
469
291
813
419
926
883
693
122
417
135
723
242
999
123
982
349
31
292
958
438
117
911
459
269
665
51
697
783
528
320
356
70
47
332
281
184
849
957
937
747
3
969
913
938
432
582
591
903
36
748
529
104
634
789
267
373
655
111
10
723
497
279
94
39
607
707
228
873
627
552
263
437
405
225
606
804
277
40
513
35
783
168
159
632
907
8
785
285
993
506
234
339
746
752
895
814
73
378
380
62
119
916
295
371
487
277
84
907
561
954
262
385
782
375
306
788
987
64
88
259
151
944
38
13
441
124
118
755
56
15
333
617
184
441
697
81
296
725
513
679
157
363
379
557
168
21
520
105
67
52
969
955
621
639
602
619
638
970
229
889
539
548
813
957
775
881
332
862
547
272
11
489
683
415
404
845
1
772
327
765
189
500
719
476
29
811
307
726
799
206
398
272
797
987
178
565
260
815
679
449
367
843
959
468
640
148
99
216
818
742
359
742
197
467
165
663
499
432
680
51
566
497
348
592
580
474
175
754
16
366
487
928
282
957
574
591
814
515
923
544
436
180
727
191
954
881
957
643
266
225
582
153
779
906
454
28
535
595
943
676
253
164
691
912
454
350
726
993
917
664
756
89
4
401
662
80
793
128
105
618
546
907
657
389
749
798
93
354
885
941
270
587
103
563
571
956
176
847
4
550
487
467
869
228
301
971
384
80
227
897
762
915
640
690
18
111
774
996
239
297
357
914
94
361
952
107
163
227
605
483
31
703
30
298
152
440
292
145
240
706
907
267
264
271
310
28
194
117
916
182
316
143
356
791
262
250
19
247
923
424
756
878
37
534
415
60
587
531
930
549
80
701
832
50
413
386
384
610
317
352
16
548
292
593
391
30
535
895
194
302
634
944
739
856
672
87
523
463
968
123
203
113
885
673
804
378
13
711
625
612
573
857
968
707
33
869
756
831
838
595
119
681
570
305
247
316
76
949
141
556
880
381
439
260
652
987
136
553
661
496
843
191
884
969
235
837
897
74
454
946
771
815
521
345
905
809
300
360
193
72
104
501
917
995
861
336
522
898
615
125
777
80
262
232
858
774
627
91
585
794
374
738
359
948
794
526
378
469
228
658
343
848
697
604
161
410
381
297
157
942
701
245
891
437
131
349
981
801
314
248
239
956
717
490
59
331
834
687
199
172
915
76
34
434
296
593
901
313
659
643
372
573
996
247
186
972
591
126
53
981
100
616
789
935
675
966
16
507
120
744
213
98
287
542
36
332
263
143
610
356
401
605
18
49
942
493
273
561
787
619
889
839
945
185
557
910
357
219
565
733
49
528
312
392
51
176
691
205
95
661
167
147
909
573
105
571
785
464
238
846
233
100
253
949
730
32
98
470
962
651
990
752
519
505
94
82
682
653
485
961
818
308
332
472
891
789
188
672
781
99
920
782
429
56
58
633
285
973
305
474
213
325
524
795
758
735
775
246
667
833
867
75
630
281
466
783
501
275
994
850
655
386
451
427
720
436
803
911
653
466
754
150
26
521
608
852
414
95
351
434
991
628
312
160
800
337
510
929
650
21
302
463
307
205
44
988
414
146
267
699
614
767
305
458
444
545
392
181
880
739
6
334
877
125
638
801
811
580
204
133
555
419
75
861
772
416
23
114
146
798
454
265
456
329
948
695
807
795
493
70
885
818
779
692
774
961
579
622
760
478
565
227
539
944
836
774
428
201
115
441
492
708
780
923
991
460
905
351
184
62
2
852
319
446
468
483
599
941
598
614
995
150
604
135
84
97
303
952
452
657
982
386
831
140
521
987
832
220
974
212
47
97
730
168
325
910
797
325
224
913
954
715
21
891
309
599
135
580
262
54
531
632
12
190
462
806
500
970
907
583
132
724
199
415
724
475
621
142
825
155
216
889
23
625
635
952
858
165
646
736
704
780
817
820
349
211
968
610
35
33
236
832
384
592
949
358
13
815
96
434
605
142
827
416
861
892
331
563
103
414
389
233
201
264
136
101
185
471
830
648
127
688
946
218
855
640
542
404
620
823
630
401
98
856
232
201
25
228
939
220
286
441
1000
997
537
709
449
129
290
447
288
455
904
745
543
860
147
919
832
724
808
993
186
198
335
693
18
979
638
93
522
204
14
589
284
400
587
276
554
177
806
117
462
499
314
516
436
900
933
59
212
995
597
188
142
987
823
537
926
639
707
511
525
369
488
428
764
689
447
223
49
226
274
253
710
932
66
260
702
906
805
880
787
458
506
404
868
652
212
683
835
595
692
153
165
161
969
991
486
675
815
287
539
303
928
964
245
583
823
888
111
525
376
244
806
229
567
783
565
765
203
4
8
404
320
658
80
904
507
248
69
667
621
329
92
78
228
492
1000
208
646
912
394
388
627
166
334
855
577
875
348
800
710
370
576
645
657
209
225
321
913
846
7
655
903
216
950
700
644
255
739
989
683
643
764
258
503
166
180
127
603
149
574
604
269
321
280
37
421
358
14
319
980
82
219
745
944
963
484
887
695
141
426
274
115
643
687
440
767
880
76
138
735
762
430
105
705
979
458
810
551
104
719
15
963
142
855
845
646
118
404
273
236
50
835
582
344
426
902
433
93
913
101
594
93
563
764
286
35
222
287
330
26
212
116
12
295
578
343
599
160
400
217
990
989
692
416
844
440
406
692
827
420
946
360
373
82
362
169
393
635
102
270
970
929
795
374
930
568
39
695
568
770
587
934
519
337
627
411
903
831
99
404
466
545
93
907
331
896
440
312
409
650
511
975
231
769
135
211
184
749
258
55
673
20
655
27
770
352
562
214
263
246
572
221
843
977
510
927
368
275
314
525
761
654
106
28
116
43
760
279
11
662
274
503
868
95
162
641
431
87
894
989
81
907
145
179
759
33
245
159
733
504
746
628
295
562
471
348
750
57
767
817
750
703
923
106
87
447
892
48
558
109
501
534
418
972
338
443
222
184
352
573
586
675
10
22
484
789
542
638
252
994
401
542
368
822
565
222
417
682
735
356
409
286
791
391
734
225
75
820
605
662
240
301
804
189
399
15
898
666
271
124
862
227
877
799
242
739
62
46
542
685
831
469
544
825
992
217
637
22
130
538
43
296
287
806
45
510
995
406
919
97
549
544
306
892
455
952
183
423
18
418
421
999
954
293
159
553
697
394
879
482
833
259
95
625
690
316
56
168
675
321
706
469
371
389
421
702
767
30
718
815
253
874
227
458
153
194
681
461
662
891
602
928
13
355
637
234
575
496
230
22
379
295
413
817
259
390
29
12
394
625
615
797
538
941
528
68
634
706
606
483
840
386
837
581
204
425
25
360
353
379
419
754
618
602
652
236
927
259
58
145
685
39
666
421
575
698
724
130
905
492
591
533
688
622
251
502
93
69
491
739
326
538
993
633
240
841
210
535
205
674
911
948
839
672
709
383
229
572
732
629
159
545
795
798
698
27
140
782
219
903
801
704
542
517
148
513
443
770
16
155
202
527
92
619
224
676
912
740
9
392
917
855
911
655
470
264
201
573
683
991
927
835
156
534
906
505
466
94
33
385
355
329
728
405
77
768
958
845
299
891
802
689
281
291
889
111
801
510
407
897
434
862
562
584
347
51
529
264
726
423
944
256
335
491
965
331
436
741
731
763
526
796
849
249
894
736
171
660
998
740
697
659
71
240
927
447
155
473
342
304
962
647
994
110
601
936
382
757
202
178
880
199
914
453
984
915
581
691
570
716
634
73
169
161
391
269
976
326
9
508
948
314
774
25
900
663
305
738
906
799
500
839
716
752
726
618
106
639
857
983
274
817
241
72
434
206
561
840
768
992
885
704
732
834
884
176
544
703
317
901
340
728
412
668
95
747
690
782
920
782
107
649
734
335
145
540
657
218
610
279
667
610
463
49
210
184
952
586
480
423
693
780
33
711
103
109
252
381
786
391
913
667
26
65
801
431
560
547
850
602
181
290
792
506
527
819
647
640
630
366
702
5
391
736
800
797
191
675
865
117
268
326
585
381
302
326
112
265
931
722
421
362
525
151
716
193
621
676
901
863
873
250
651
453
236
48
87
158
372
767
388
331
944
617
933
825
548
872
731
454
518
785
960
961
749
151
417
633
950
16
540
573
500
859
484
674
138
75
394
577
289
738
625
205
706
425
182
20
489
376
34
780
245
339
293
437
313
287
479
767
536
570
192
475
1
196
583
812
555
669
941
189
656
212
551
878
306
264
765
653
398
865
848
146
783
898
767
770
777
203
541
278
618
251
152
440
600
410
316
833
209
833
589
471
627
652
394
836
385
471
557
883
777
107
839
788
898
180
798
492
797
384
997
616
309
252
243
928
563
794
56
355
55
633
10
478
424
177
955
558
752
932
352
391
293
237
149
728
36
641
666
553
376
599
949
266
497
397
917
668
754
44
435
734
492
359
100
334
203
629
182
416
911
56
599
683
963
637
282
486
168
260
555
438
357
592
401
270
997
736
614
578
452
763
865
393
834
938
657
973
180
888
2
814
842
999
382
639
589
67
246
37
878
576
851
524
169
25
718
997
959
397
369
953
404
212
295
410
22
594
291
123
1000
446
390
590
26
137
649
318
442
46
936
18
705
973
685
704
829
670
318
162
516
684
666
880
137
323
228
346
591
756
599
553
361
218
696
658
726
787
699
9
196
477
776
187
734
220
723
243
186
853
627
100
692
425
547
922
518
945
979
332
885
226
582
556
888
612
222
901
512
186
907
531
114
535
603
130
438
251
217
896
419
144
278
284
551
569
968
43
563
356
192
400
526
583
314
689
250
845
43
323
45
710
709
787
479
788
807
220
764
206
293
272
782
300
560
95
602
38
404
785
498
13
600
67
126
849
858
766
536
514
89
440
98
350
835
563
285
585
717
827
480
717
497
448
604
459
120
844
456
823
708
693
65
560
38
166
255
397
443
95
877
409
461
926
840
436
784
583
166
677
241
768
762
440
590
833
535
581
911
43
724
334
212
995
86
81
707
931
656
116
873
963
315
581
15
509
364
606
565
809
581
106
751
27
37
846
591
282
42
141
397
923
170
998
92
524
268
605
687
331
709
816
203
385
930
664
182
116
461
38
670
992
252
330
224
703
70
255
69
462
156
70
996
207
121
108
967
900
267
864
696
648
153
896
655
83
205
436
45
271
651
917
309
476
846
603
625
223
310
119
691
464
473
948
786
128
113
921
758
953
996
291
109
318
44
251
788
732
656
641
664
737
465
158
891
248
909
604
550
798
477
565
13
669
395
449
452
704
799
8
795
402
181
283
213
6
976
434
916
448
699
53
650
412
966
386
757
240
54
322
110
131
405
176
524
860
631
29
488
253
99
852
174
781
177
701
726
943
544
66
778
524
773
798
993
478
532
154
159
881
390
178
69
379
132
27
942
590
945
873
648
166
607
694
362
615
23
625
557
509
65
499
456
424
712
914
133
793
885
418
492
899
213
413
234
354
239
976
756
791
148
81
642
929
241
636
53
847
752
360
820
67
534
729
544
17
370
179
289
537
365
263
777
372
936
712
91
987
444
195
20
644
351
118
91
392
147
988
275
516
953
692
95
43
850
551
568
72
489
166
34
108
463
872
390
31
274
86
693
32
442
956
399
689
458
501
724
288
853
865
750
683
577
391
940
259
277
975
654
992
821
570
117
270
597
755
45
811
681
3
795
29
993
672
460
192
915
744
830
6
675
38
494
607
2
966
659
519
159
886
447
809
505
773
540
542
140
217
28
652
32
764
249
504
268
179
218
757
707
548
958
612
364
29
678
173
334
670
306
443
887
957
281
416
683
657
886
850
699
88
671
552
559
139
632
436
435
273
930
191
603
246
864
115
15
466
732
566
977
757
958
542
118
803
595
63
377
678
889
421
645
691
92
868
36
241
144
959
501
497
137
621
656
495
719
993
218
675
705
204
433
984
217
563
234
403
606
92
607
179
263
926
887
68
171
870
212
659
735
321
406
176
959
852
949
216
549
962
459
533
867
908
369
366
982
59
64
752
226
928
767
958
775
878
905
454
782
538
495
837
502
95
359
705
642
987
591
788
943
992
780
563
567
331
921
185
456
234
847
777
230
318
245
85
572
275
25
1000
279
618
892
706
320
633
432
83
345
291
965
491
1000
583
675
288
343
637
257
237
410
18
449
495
675
820
292
974
756
499
949
746
219
922
184
559
736
776
399
699
192
301
225
199
530
286
247
822
272
425
386
348
697
402
826
427
572
544
152
693
208
459
533
848
352
880
372
185
100
813
831
370
560
194
44
318
503
467
613
727
581
906
216
116
13
24
744
258
801
138
425
537
661
987
815
45
848
342
350
250
956
687
429
627
625
400
608
985
751
335
553
106
504
332
866
926
912
996
741
748
283
28
697
842
33
484
293
391
778
631
849
920
682
453
623
249
155
466
866
505
917
206
414
952
384
670
223
202
65
995
348
893
397
912
405
57
994
815
456
221
848
841
616
750
373
989
408
52
558
171
28
45
656
31
269
750
33
531
753
910
776
587
546
337
649
491
965
53
795
454
557
378
378
392
852
807
982
949
435
922
169
889
309
577
84
157
313
321
339
345
561
313
744
819
493
30
592
466
141
701
341
882
648
689
537
831
893
53
706
977
355
104
802
207
926
72
478
357
519
927
119
789
700
978
74
45
480
145
995
773
668
681
521
227
851
685
819
884
148
973
625
160
406
736
535
782
348
938
229
94
545
612
229
463
730
30
542
11
151
233
261
73
123
552
778
169
893
574
779
757
281
459
589
737
256
638
761
463
793
714
40
44
880
805
919
817
528
658
107
191
972
640
96
491
47
73
935
73
880
470
13
689
647
933
354
61
95
343
481
651
969
17
374
866
253
170
438
328
348
865
670
366
940
160
429
608
320
763
274
397
328
860
389
751
976
733
975
801
970
389
844
914
81
728
161
224
287
701
893
926
131
481
96
458
555
957
580
696
779
725
856
328
440
332
528
901
308
741
436
404
385
851
945
850
69
437
740
55
397
72
353
672
62
409
465
617
30
715
678
209
94
710
101
683
632
547
539
285
179
262
545
801
134
129
867
206
110
135
65
91
946
238
210
683
382
138
593
547
763
58
334
525
886
437
608
52
317
464
994
786
50
155
68
369
394
984
974
237
364
159
152
630
651
280
777
312
449
491
793
95
48
207
554
930
102
156
236
195
928
811
165
831
999
210
115
131
68
824
460
321
972
379
781
553
233
504
154
569
43
636
885
79
43
889
913
861
637
470
425
685
198
811
505
437
650
784
782
224
374
239
134
826
299
647
447
601
322
793
328
806
929
336
461
378
986
504
971
396
205
400
773
808
692
156
375
517
362
674
36
597
686
789
475
223
437
482
557
890
606
203
532
635
665
456
397
256
661
532
944
989
460
702
859
703
578
227
30
430
658
251
854
979
625
39
915
449
947
19
883
682
243
812
851
110
663
718
617
952
109
193
620
464
370
437
322
762
661
573
850
782
915
840
609
79
398
844
391
522
861
199
261
410
506
817
79
154
498
706
104
512
604
364
532
250
841
785
183
273
660
630
820
480
296
347
709
46
394
890
136
407
923
208
541
942
691
887
823
233
467
119
163
868
857
733
373
875
582
114
421
317
736
696
259
31
934
141
484
180
18
472
722
128
92
176
787
106
268
757
864
285
399
279
934
176
491
215
668
700
236
299
801
913
269
157
807
98
369
185
325
888
787
539
354
132
285
114
731
460
286
81
757
895
714
883
155
395
753
610
691
913
746
285
942
411
890
957
654
295
230
412
71
891
669
973
418
906
376
107
465
311
24
524
695
722
734
10
173
123
479
519
634
764
977
910
651
142
754
324
20
247
170
360
644
684
673
130
270
837
442
761
402
987
899
119
609
178
240
375
211
678
311
499
28
59
592
968
492
311
73
742
887
884
52
46
942
241
691
623
280
332
262
888
465
356
611
861
529
353
287
832
875
432
163
477
410
894
172
528
614
143
893
178
982
998
384
102
973
978
589
359
131
177
61
455
546
597
558
553
187
192
254
133
920
394
939
412
242
649
588
501
826
278
120
550
9
44
1000
151
243
956
546
826
357
153
509
772
202
224
477
911
876
919
165
930
264
42
493
207
80
224
621
458
919
416
803
457
125
188
998
436
394
340
648
630
141
902
970
939
605
348
356
909
553
720
239
29
246
409
849
865
994
529
838
698
247
214
657
146
679
614
924
705
93
111
726
277
358
38
994
532
745
207
584
377
203
665
706
899
145
410
669
905
236
226
713
563
548
432
846
743
187
73
204
335
168
20
446
213
868
516
69
550
876
931
356
850
434
885
862
423
935
432
961
22
160
713
996
6
19
325
6
720
570
683
834
715
997
795
655
110
58
240
615
608
221
565
322
670
344
1000
383
903
305
162
55
997
388
368
339
413
644
294
529
621
628
985
308
876
144
603
966
399
643
932
234
375
918
335
497
329
623
797
880
318
918
674
809
860
235
36
165
662
767
776
90
39
776
243
807
369
249
757
601
61
702
245
202
272
222
177
407
73
906
153
712
826
924
758
82
300
370
768
794
449
917
391
420
834
27
992
633
399
163
671
483
657
976
127
221
407
958
497
500
746
388
215
44
519
723
504
446
325
741
813
809
847
885
342
343
610
218
848
892
197
337
71
577
621
411
436
416
776
214
201
792
893
673
826
157
431
978
139
155
174
742
854
685
132
49
53
47
438
496
551
429
661
462
451
477
789
953
801
577
700
298
960
775
104
882
201
7
787
878
103
356
481
631
497
656
843
947
71
615
829
47
271
14
224
353
784
252
192
591
743
662
517
936
732
571
619
12
854
36
516
648
388
560
681
200
14
839
104
104
209
805
960
81
161
776
994
87
478
532
87
651
32
541
528
722
531
329
168
540
777
230
997
316
120
353
675
695
329
605
189
106
939
76
144
56
157
886
127
394
582
853
246
338
304
994
186
816
451
886
77
282
862
430
71
722
389
368
739
983
259
204
343
927
42
867
556
170
28
492
460
293
248
245
491
536
929
955
540
898
934
666
614
495
581
890
291
784
333
493
687
970
1
634
841
504
502
125
205
82
682
908
391
976
436
74
479
844
119
17
926
367
290
835
588
238
915
87
432
7
475
344
281
275
875
762
317
559
648
84
160
900
714
40
7
952
874
133
741
875
295
168
914
790
469
702
196
977
525
781
241
248
300
976
891
142
308
702
323
679
555
294
24
412
209
79
466
432
265
981
966
801
704
798
492
603
82
375
123
440
182
326
442
729
93
851
408
615
80
430
146
637
687
896
651
563
794
431
626
963
746
538
538
141
277
941
518
61
668
664
892
724
445
227
996
299
18
54
406
953
806
660
884
969
792
156
131
193
941
902
924
322
592
919
320
812
751
772
403
439
220
231
459
655
587
950
600
945
455
757
549
302
681
967
752
801
46
236
1
12
517
134
507
650
181
533
696
418
27
355
61
479
949
1000
65
386
767
982
445
559
578
938
257
611
466
155
657
920
454
230
728
835
584
288
612
841
196
418
849
795
785
643
99
97
311
801
335
265
466
143
222
946
195
343
614
803
730
883
16
103
489
436
431
64
455
980
195
178
85
832
302
807
352
718
255
324
274
284
622
932
155
142
374
90
823
705
529
192
336
535
816
691
992
889
851
419
994
464
812
222
771
97
706
387
814
297
98
516
838
62
610
677
227
386
600
664
27
207
151
154
181
344
940
413
317
136
576
915
167
69
747
951
607
689
871
833
379
470
965
796
806
123
163
53
170
45
615
795
1
200
524
46
189
760
727
462
723
265
517
100
844
880
395
144
585
577
55
353
993
704
154
757
807
476
419
724
1000
356
150
76
400
169
504
373
544
76
796
821
23
185
629
535
850
676
889
23
794
813
499
854
204
87
370
416
564
62
144
576
929
185
209
829
425
947
916
208
186
301
109
837
480
153
888
520
269
112
979
138
130
377
217
992
275
826
411
408
413
899
326
73
299
835
575
616
154
182
967
861
544
276
288
48
949
553
508
83
995
157
168
505
250
266
26
462
551
993
116
439
78
492
29
862
756
110
562
4
127
53
908
799
530
52
187
255
276
923
424
206
532
773
84
993
783
831
835
544
69
523
557
989
688
483
486
631
676
617
21
576
178
234
943
812
775
511
704
851
941
235
7
309
48
856
114
965
788
374
184
893
427
461
477
257
49
555
450
216
843
334
596
194
516
113
390
435
121
235
852
392
955
421
42
982
674
416
285
163
461
985
24
591
896
459
986
363
164
586
794
955
376
412
228
513
62
256
96
616
357
633
74
427
5
154
951
963
60
12
392
843
93
634
760
432
782
521
504
802
2
50
358
295
904
241
911
743
30
121
92
634
213
306
813
568
851
877
266
373
173
439
377
170
277
510
532
471
45
6
950
139
523
675
49
650
994
755
693
658
759
27
510
269
594
677
328
821
968
75
355
197
350
662
961
849
370
616
751
818
159
868
188
960
943
340
186
509
829
993
937
867
798
370
742
219
72
858
759
156
444
811
392
13
600
997
523
17
197
605
890
680
230
157
717
76
258
235
103
786
133
909
820
319
237
84
848
774
626
774
448
335
126
501
582
976
156
550
228
376
8
874
516
655
357
765
613
969
15
259
998
433
347
433
93
69
292
362
223
727
630
534
507
986
13
941
636
48
274
900
412
587
693
903
577
277
248
423
725
495
329
675
25
294
59
775
82
289
137
621
502
552
91
54
629
928
906
588
493
480
291
34
206
901
232
848
938
811
83
951
113
832
156
15
650
210
676
993
944
535
987
715
727
815
142
928
165
749
298
87
295
545
919
528
419
53
406
380
168
293
629
748
742
681
815
231
248
378
355
796
172
253
430
404
754
848
777
550
432
628
523
49
610
515
804
989
668
394
757
775
576
830
607
547
427
718
755
100
947
957
179
604
352
547
12
67
914
665
842
491
288
410
151
78
904
898
322
731
757
284
794
257
495
138
300
408
20
290
576
877
734
922
582
861
164
191
70
671
929
133
277
111
942
935
633
55
267
915
633
716
307
725
451
588
823
337
423
965
857
371
303
196
796
174
27
593
639
889
812
983
67
391
601
441
28
607
195
659
387
233
985
736
636
251
795
910
802
1
235
923
449
756
904
228
125
892
931
217
665
789
654
39
556
515
652
299
921
227
988
150
771
949
261
847
889
67
985
831
62
444
903
808
425
516
59
78
362
145
847
600
739
248
800
860
246
445
579
666
300
62
479
396
220
816
786
56
418
434
479
774
900
266
116
960
720
696
183
446
900
745
882
370
974
841
77
414
519
143
80
305
970
171
99
151
554
730
373
253
410
307
494
560
822
152
951
782
24
266
696
524
228
353
384
476
354
626
15
836
449
24
888
634
928
984
136
583
582
457
631
396
772
224
708
253
326
910
985
238
472
320
543
150
534
836
859
995
238
657
185
893
216
613
516
848
680
122
884
54
331
619
513
947
254
446
228
249
937
767
662
600
583
527
965
217
549
875
155
195
115
744
778
696
764
475
241
293
809
478
37
147
513
919
116
555
833
337
789
619
497
912
905
440
457
831
519
318
650
821
885
840
607
470
439
672
715
375
347
85
791
536
332
945
256
630
738
993
344
11
215
698
697
295
979
887
215
402
347
656
206
799
105
755
731
448
349
775
527
703
612
983
65
950
448
558
72
321
175
338
357
213
129
925
867
662
611
113
691
836
702
194
179
67
241
631
392
840
562
954
909
140
49
514
347
370
151
902
81
840
277
411
307
459
909
939
8
857
346
89
377
604
712
60
968
622
264
88
151
116
582
867
479
576
894
341
202
513
688
730
489
546
745
457
877
426
897
910
82
361
170
577
612
752
403
197
513
56
120
982
219
64
202
850
675
283
844
886
854
494
433
904
307
791
186
84
622
583
855
142
546
90
367
379
26
854
971
273
642
662
404
966
719
62
581
130
920
330
551
204
263
394
784
930
327
649
414
442
858
88
676
902
139
435
637
832
234
209
301
825
666
792
286
299
187
578
585
292
27
255
354
104
434
93
304
734
344
900
3
664
781
918
339
521
918
557
460
558
776
293
737
672
233
461
692
905
328
946
359
994
867
979
276
520
989
340
124
688
632
260
86
544
857
260
119
727
541
934
709
461
309
460
105
561
424
206
726
686
23
366
172
934
275
982
258
135
982
78
582
889
666
864
407
477
443
148
45
241
811
150
515
971
52
888
980
73
101
192
351
75
579
178
491
65
212
716
650
250
969
22
120
693
96
993
628
641
675
352
608
615
452
944
382
542
477
785
208
779
507
565
311
852
240
365
318
61
178
278
949
912
322
485
433
484
969
63
872
432
591
512
715
324
154
499
551
403
249
835
680
639
113
65
312
201
936
323
772
33
873
326
793
279
801
447
859
710
206
849
533
147
516
532
906
106
853
989
611
548
424
899
345
655
719
876
448
18
292
871
922
494
105
248
192
246
366
888
29
158
323
972
324
924
689
210
802
554
272
374
369
992
885
966
488
779
802
735
874
473
882
512
871
577
955
584
24
316
249
357
760
482
406
627
576
918
143
134
819
956
702
440
960
258
40
355
245
64
113
290
738
820
731
949
88
498
186
693
774
724
267
802
203
982
333
564
796
743
836
810
125
385
43
96
213
132
761
159
378
66
526
706
355
454
75
843
992
273
904
670
519
807
393
642
233
633
251
324
464
153
32
61
846
42
86
919
263
658
576
954
293
497
139
516
634
220
361
831
782
684
471
518
169
624
574
92
103
363
294
715
88
979
927
654
529
845
53
944
420
383
113
740
308
131
618
737
755
979
505
787
525
497
664
567
959
834
793
740
332
580
563
547
501
309
532
195
842
271
379
709
278
854
795
149
181
957
803
219
95
410
397
333
484
922
88
141
186
814
393
373
854
953
344
613
418
927
802
263
540
446
753
553
82
371
774
890
872
579
548
253
407
71
653
602
706
335
835
475
198
30
640
49
413
436
587
917
236
998
17
799
668
486
399
155
343
974
133
453
568
874
826
430
243
714
622
252
849
241
396
892
632
663
542
424
207
552
625
162
84
997
409
744
20
87
616
331
700
700
323
54
956
890
74
744
635
838
640
728
271
488
824
211
907
477
914
329
788
916
150
475
126
901
46
927
849
368
562
75
35
74
855
842
736
5
796
952
18
503
537
777
358
737
141
426
962
944
702
590
202
17
436
392
114
617
957
199
823
961
292
856
839
857
247
344
399
327
405
177
411
386
390
204
113
175
6
618
242
616
541
109
387
245
813
89
188
670
517
827
234
349
42
162
823
45
210
166
242
345
327
766
838
95
527
894
981
482
617
128
942
745
580
187
820
168
390
860
928
138
73
125
454
461
766
291
787
115
95
946
644
839
349
398
10
722
783
66
939
46
880
972
491
155
546
98
408
63
30
857
657
834
824
349
647
511
922
396
727
522
586
551
581
28
216
438
249
661
8
793
825
428
816
515
298
368
62
914
639
692
571
60
991
745
956
828
723
89
511
781
208
444
636
528
399
974
478
544
667
660
814
758
925
81
223
385
734
971
214
582
974
332
303
519
641
709
14
354
547
500
356
443
972
784
668
807
835
238
594
524
588
135
588
273
799
312
589
647
378
242
369
251
493
52
690
827
468
359
538
821
400
357
647
867
802
413
12
645
288
780
275
442
232
729
744
537
372
500
248
217
501
20
243
841
793
241
342
859
779
300
940
113
683
423
720
68
643
667
596
834
336
114
89
976
636
119
225
150
262
564
799
532
807
826
217
873
129
389
241
746
885
546
636
238
876
699
98
888
959
98
896
145
512
711
300
21
830
79
263
877
365
672
759
474
424
240
903
545
812
113
214
113
897
208
422
721
748
764
773
536
348
467
118
30
318
653
978
550
271
786
378
660
686
213
480
532
141
516
965
52
857
436
657
555
781
422
110
236
813
372
745
388
412
991
649
574
502
536
338
716
512
385
640
881
426
13
308
224
897
461
186
167
874
313
506
374
661
539
401
498
40
284
809
23
866
844
745
693
573
622
345
212
132
791
167
871
309
796
992
766
524
551
781
64
214
415
466
555
367
558
20
400
807
366
586
523
902
901
475
586
577
244
560
874
914
757
884
679
171
902
351
994
731
308
970
390
370
152
478
1000
239
809
94
399
114
927
815
16
807
734
913
433
111
459
237
541
269
174
527
81
790
256
177
524
347
918
792
595
615
951
448
11
179
890
780
154
37
310
887
467
825
864
580
346
600
951
676
160
914
642
898
843
969
580
405
182
809
108
173
505
903
791
219
18
952
848
151
415
440
732
630
727
271
251
135
572
812
183
818
140
800
268
368
234
869
859
515
666
901
262
242
149
11
974
793
563
737
620
317
162
928
376
346
819
895
48
322
938
634
803
96
965
287
734
635
787
593
59
202
464
744
798
904
829
938
155
805
532
932
709
812
987
59
731
96
492
498
593
158
556
86
297
531
41
571
602
726
317
19
91
281
29
34
787
649
451
546
624
251
633
202
127
223
738
802
186
240
7
795
659
376
769
598
888
82
810
361
878
255
176
882
29
850
194
534
829
626
99
460
830
456
130
782
573
65
404
241
864
218
184
530
950
119
357
525
697
245
106
807
815
924
772
106
571
701
840
809
168
959
858
211
162
298
824
29
871
917
252
538
719
590
696
838
849
882
979
923
138
904
756
674
977
281
329
392
762
983
817
219
73
311
890
632
976
687
286
224
655
797
216
138
877
320
612
863
411
703
881
564
577
423
442
772
551
725
901
45
953
109
112
157
453
705
760
504
874
282
335
624
300
797
533
227
220
312
194
619
618
606
842
210
233
1000
805
631
900
757
632
58
21
921
270
538
732
591
12
449
231
470
772
763
111
956
635
442
234
198
934
107
868
296
375
133
335
266
801
426
376
490
272
450
833
100
60
538
970
162
990
81
975
586
362
4
755
397
280
826
98
373
858
675
727
96
178
885
517
130
309
157
382
401
938
844
964
827
394
584
237
922
920
395
615
389
61
341
945
703
945
41
22
282
59
639
924
144
833
317
480
879
987
76
677
334
125
301
658
693
499
592
234
503
229
418
519
783
504
450
377
546
463
818
841
952
500
139
598
835
756
853
891
530
378
359
939
762
974
405
51
861
334
459
163
734
122
100
441
794
732
990
912
571
907
675
855
785
54
260
796
510
399
8
538
423
266
38
572
282
778
591
629
479
257
799
853
955
410
463
302
791
175
160
14
520
734
867
918
589
796
395
222
402
699
160
731
74
283
175
768
378
751
737
950
337
949
934
130
590
582
994
216
959
881
493
430
618
165
595
783
867
551
855
228
827
779
566
958
271
767
290
814
423
34
987
607
783
577
132
437
957
130
294
771
28
1
914
127
200
830
470
687
350
686
738
67
625
895
642
787
424
864
37
655
933
965
840
445
879
218
100
709
342
127
967
552
238
520
38
479
589
651
214
197
785
154
43
389
855
641
472
19
164
891
130
700
72
587
483
25
818
525
718
497
313
51
774
927
572
236
722
695
230
982
622
298
973
788
29
985
737
397
588
91
191
936
522
883
409
410
371
340
579
647
32
333
288
856
21
69
222
992
871
513
66
995
768
735
53
843
837
786
841
28
984
734
371
719
830
973
920
428
61
784
842
396
490
359
353
306
210
237
315
160
485
123
170
318
464
603
36
797
348
112
535
835
392
867
88
695
12
135
247
377
297
365
150
670
436
196
327
542
930
302
891
369
961
363
627
926
969
189
595
383
300
167
671
757
796
759
839
414
294
734
195
251
341
171
315
118
844
67
83
911
6
532
120
490
649
146
657
273
944
61
101
896
654
783
533
819
210
429
87
125
348
402
498
64
558
85
85
63
312
167
114
41
893
609
779
865
648
147
3
684
663
410
906
728
202
426
26
832
692
299
356
632
716
341
815
861
245
755
52
664
297
287
349
166
322
920
975
787
862
738
555
991
470
642
881
163
440
432
121
346
619
98
579
402
489
889
987
983
719
803
814
344
608
689
221
698
194
75
120
237
300
171
234
422
486
217
203
426
674
512
544
845
203
13
701
923
232
324
545
578
645
300
384
452
142
219
985
60
728
690
152
858
630
15
117
735
570
739
390
972
389
498
720
205
268
97
524
305
163
924
461
364
625
470
855
184
876
690
287
753
854
418
12
194
976
839
823
613
521
299
586
31
864
336
968
386
263
918
805
142
578
282
155
643
26
668
309
754
104
497
976
684
860
219
363
166
974
146
137
292
544
66
99
404
31
338
938
387
539
466
610
615
528
859
749
563
63
587
977
809
929
490
179
745
289
898
569
804
73
559
895
457
952
126
189
503
596
674
308
446
866
303
906
852
748
797
574
629
136
727
653
103
998
99
610
631
81
876
914
233
86
254
109
377
126
572
97
650
399
125
726
487
202
966
413
530
829
979
920
468
411
113
353
409
495
702
146
923
970
221
80
898
990
647
351
290
722
850
341
617
27
74
998
826
720
625
703
733
649
337
47
840
650
256
224
697
381
252
636
405
130
929
865
50
983
326
382
43
132
344
242
422
683
759
535
113
70
981
547
62
48
410
436
903
300
374
713
543
878
144
977
648
71
446
163
476
781
236
28
982
189
218
720
370
297
764
45
541
906
423
515
987
755
159
294
722
819
852
968
808
215
340
421
827
784
454
182
481
169
116
317
86
126
510
321
353
891
772
474
291
655
430
824
453
567
21
310
37
266
965
508
547
610
740
154
802
134
891
921
117
808
180
851
354
782
470
510
386
193
558
196
230
534
222
436
741
769
222
660
270
129
836
126
186
516
807
105
440
511
238
895
669
283
55
442
448
66
152
204
407
501
236
461
870
827
669
408
570
821
335
262
791
411
658
59
936
106
433
14
192
720
40
103
381
405
962
989
576
658
253
558
321
799
759
83
557
398
439
491
459
273
89
278
429
960
157
390
466
16
66
755
917
130
688
257
443
764
154
609
629
971
207
2
287
118
665
385
932
467
402
975
324
954
431
874
239
55
309
717
817
328
82
898
958
66
446
252
218
528
599
16
575
357
523
526
272
155
71
389
621
630
286
793
345
388
833
221
508
237
304
58
575
816
405
527
467
461
733
895
724
499
914
152
89
567
376
220
836
133
926
259
195
127
580
865
65
477
854
749
21
393
763
18
289
431
378
311
978
743
643
870
371
411
549
65
446
458
451
54
183
916
500
996
361
363
684
700
750
427
946
658
577
89
206
194
137
43
890
818
239
987
735
970
933
485
226
39
656
950
29
918
448
375
141
378
420
681
316
241
995
923
517
665
745
153
762
841
852
428
744
82
276
309
48
567
787
228
617
979
852
237
332
909
248
2
263
150
962
380
162
968
578
557
241
14
883
508
142
780
881
507
278
423
731
508
393
334
393
485
285
33
930
241
111
865
471
772
598
472
819
986
783
244
570
503
613
731
394
253
849
561
813
840
241
512
426
969
868
222
21
743
861
478
433
324
488
149
322
259
692
608
263
775
765
912
691
448
763
124
247
999
647
873
43
357
915
691
195
799
649
682
739
680
489
845
693
241
48
692
616
2
652
868
458
538
126
149
912
764
514
545
733
451
275
208
693
356
481
537
958
230
7
138
639
970
499
304
214
354
177
272
322
115
143
801
160
607
964
558
318
937
693
388
479
242
415
766
779
736
648
682
45
261
594
711
323
330
352
291
312
86
655
55
360
154
636
639
665
123
366
522
209
243
685
348
713
11
906
623
632
489
523
880
770
555
970
196
630
828
815
386
6
630
498
377
639
233
903
987
15
557
558
801
460
676
252
928
776
744
210
136
565
438
730
324
259
584
378
279
622
427
403
449
148
907
43
785
356
383
765
767
439
481
308
378
125
124
584
185
883
350
129
612
795
229
788
213
525
24
775
16
809
796
62
991
818
774
297
318
539
170
90
409
62
585
581
562
295
795
613
746
136
499
770
208
608
566
726
568
790
400
110
554
639
353
100
814
959
483
520
48
837
562
41
294
849
954
442
333
203
895
571
54
788
701
759
105
780
703
962
304
64
984
852
108
223
573
376
882
262
388
73
862
571
35
568
449
811
584
209
943
585
554
801
879
756
642
711
907
247
185
418
543
969
937
768
178
317
536
730
456
309
901
504
500
22
945
161
484
450
151
856
764
277
4
815
68
382
766
942
311
22
831
900
183
812
710
953
31
557
730
673
474
955
704
888
842
977
138
844
789
459
38
667
384
83
3
604
555
447
105
437
14
366
980
713
715
913
681
106
418
937
104
318
177
972
205
422
442
523
818
423
972
679
597
139
962
873
515
198
609
432
370
65
874
203
978
537
292
180
60
59
550
544
368
564
991
931
247
265
317
92
656
983
559
290
678
135
818
941
634
475
348
32
275
45
325
793
914
548
43
932
27
558
323
533
546
533
661
342
62
626
979
752
159
634
927
269
393
287
291
615
764
222
485
922
124
661
31
651
615
790
643
975
131
286
791
366
777
254
622
42
486
105
726
754
282
509
503
85
139
651
830
110
42
443
338
761
646
230
805
713
881
798
131
931
937
145
885
288
365
595
638
834
410
287
175
325
292
12
203
653
870
610
346
636
16
918
84
463
75
315
765
756
975
467
975
805
916
786
395
64
85
451
675
370
493
582
47
711
884
312
127
530
614
24
810
753
575
14
264
707
484
192
746
69
364
179
391
821
598
383
188
952
732
178
37
295
118
314
208
471
543
95
498
369
248
637
102
980
120
747
536
698
366
569
963
368
705
171
910
486
959
663
681
942
923
274
738
628
600
60
949
23
160
556
860
616
513
731
110
648
996
84
681
182
472
544
920
971
90
159
194
924
74
186
568
236
149
320
141
407
644
248
527
436
896
648
512
465
290
26
78
10
167
512
860
706
889
831
574
208
527
209
107
446
10
871
793
976
75
158
830
569
52
991
950
474
297
581
210
53
116
834
204
595
139
838
117
136
375
216
741
101
688
859
29
378
969
775
772
230
97
330
745
95
685
180
11
890
654
567
99
912
959
464
489
814
143
258
131
412
944
280
763
272
892
495
423
134
686
123
865
217
138
759
560
392
666
825
576
972
623
816
917
670
234
875
838
820
560
661
227
568
694
361
415
121
346
965
656
543
75
583
107
799
700
688
313
933
841
646
119
334
87
787
426
1
75
579
404
611
592
186
627
990
895
771
67
238
636
459
64
424
122
797
172
199
173
861
285
146
486
916
512
962
269
680
112
824
859
793
190
388
198
41
954
930
319
262
98
77
463
627
267
411
35
160
605
996
377
959
132
549
265
544
54
505
96
187
127
755
970
844
899
158
263
552
990
270
824
743
554
872
636
952
744
25
632
845
288
345
369
283
262
140
439
427
764
826
818
488
476
806
826
822
29
598
30
480
679
533
188
241
58
807
309
372
640
6
996
84
171
467
496
693
468
33
323
31
912
785
865
498
464
336
145
482
221
155
773
576
383
147
190
123
975
435
470
153
841
881
361
694
240
374
693
785
806
348
994
239
810
293
968
363
387
248
466
401
863
402
728
395
384
955
944
559
821
347
681
8
291
796
266
860
745
854
38
335
725
344
249
435
844
601
517
208
477
446
924
375
933
651
263
350
643
983
483
237
924
89
67
474
555
584
944
157
669
704
549
974
449
812
814
853
761
845
183
134
88
528
264
80
103
802
313
27
801
446
590
330
336
334
557
528
640
96
971
834
455
206
244
130
601
711
800
160
208
839
774
467
145
740
116
969
82
453
50
741
439
16
883
711
993
301
369
466
60
774
160
337
981
864
433
209
92
53
414
301
513
122
355
250
833
176
514
427
217
258
813
348
575
332
146
420
127
420
754
20
157
477
708
92
777
381
278
30
241
46
915
590
728
246
609
996
540
227
665
177
345
530
286
301
428
766
913
378
927
254
983
730
664
552
590
532
507
895
590
510
164
475
821
48
907
327
453
681
50
282
974
931
885
99
920
964
416
428
303
357
450
668
586
569
524
167
206
373
686
455
882
598
396
346
369
998
649
835
903
991
984
677
309
292
192
419
615
169
412
440
98
189
783
247
841
814
962
879
275
145
658
758
671
462
776
770
222
901
881
638
186
825
494
899
525
911
154
923
643
25
255
437
81
238
452
967
515
167
792
464
980
970
817
127
29
918
577
102
429
452
894
295
105
32
205
30
236
888
40
632
828
980
494
340
618
113
84
109
851
128
996
988
367
588
81
742
386
122
882
327
630
915
631
606
655
417
406
453
829
423
599
7
969
129
404
360
487
633
320
434
812
618
533
137
986
638
617
126
582
497
217
701
514
719
220
396
884
984
494
800
741
727
409
62
520
773
232
267
968
46
974
598
562
848
409
787
789
186
814
868
165
925
428
636
531
296
763
567
11
434
666
149
977
164
476
713
515
229
709
900
168
492
446
821
212
444
998
835
278
502
506
616
950
175
818
838
846
174
373
391
786
910
860
481
881
667
79
391
745
891
799
930
612
720
379
810
809
818
602
268
894
88
446
296
812
592
515
696
547
313
454
49
110
999
949
373
155
379
876
892
185
538
708
873
70
52
577
922
570
791
276
493
667
959
29
604
744
28
115
918
109
704
245
431
893
973
185
955
132
567
246
492
673
895
136
350
641
603
159
587
378
463
889
910
112
170
269
730
158
32
551
419
91
200
601
174
172
290
887
104
294
768
889
294
830
438
785
607
90
743
976
976
516
336
446
737
373
591
16
345
434
278
230
462
105
616
32
961
475
341
385
898
45
194
677
840
246
462
111
268
426
813
266
920
660
687
654
86
617
942
436
828
724
254
409
40
19
62
987
64
434
445
217
314
728
390
750
968
899
383
329
355
739
93
572
79
114
191
737
290
684
64
733
749
4
195
826
517
412
542
389
136
650
98
563
183
901
129
867
916
837
301
672
548
278
16
898
359
304
789
508
473
976
454
120
603
372
268
582
517
291
785
427
254
808
469
944
382
852
573
3
678
99
808
889
697
791
635
123
586
515
814
682
381
610
38
45
787
606
6
267
59
37
346
585
219
39
146
163
291
371
671
198
613
900
50
6
588
101
338
661
417
879
362
445
453
808
203
665
834
962
994
342
945
625
939
932
92
536
138
494
491
774
817
656
299
49
33
329
949
945
814
369
517
616
911
273
149
544
74
567
895
224
801
770
399
74
31
659
993
420
115
131
714
168
748
91
641
632
187
696
722
52
270
716
973
524
200
997
522
440
40
746
470
10
169
893
956
156
683
863
145
849
910
872
43
976
701
332
229
937
171
986
567
478
894
187
966
715
343
121
48
911
538
822
386
322
440
565
594
359
642
581
164
388
265
69
363
705
818
165
939
629
936
872
630
192
573
947
686
609
208
392
697
563
74
523
34
344
250
530
129
88
677
83
609
620
826
815
60
968
792
434
795
178
33
826
554
902
860
750
506
168
33
611
259
832
507
398
849
503
456
51
847
128
176
402
770
10
395
390
973
752
780
391
72
537
173
375
741
147
187
105
396
390
304
707
919
887
577
800
36
759
324
792
394
352
982
122
715
21
420
952
592
943
547
292
657
66
36
601
866
622
331
681
594
44
873
54
87
773
680
102
560
167
963
947
915
674
486
414
584
478
748
478
509
91
876
250
648
713
331
905
640
764
132
973
528
663
330
31
464
802
898
178
372
673
11
621
440
263
970
324
131
182
621
959
121
436
220
327
217
436
106
3
820
588
458
211
979
781
628
850
376
206
277
121
889
166
566
457
520
999
190
305
521
772
920
839
576
173
602
890
713
883
308
185
476
764
420
520
506
423
953
613
344
27
358
216
733
785
373
519
119
178
228
9
373
843
666
713
973
978
772
202
22
315
589
820
499
955
838
334
108
845
846
639
911
265
951
170
703
461
259
419
748
475
573
316
49
308
763
262
818
774
608
280
168
790
371
111
367
399
958
55
151
521
574
24
717
273
167
580
13
730
818
700
854
147
467
628
207
14
999
452
717
754
773
982
174
581
151
97
157
740
416
965
530
383
758
462
824
401
692
658
772
775
342
464
459
497
496
397
587
602
290
972
331
652
611
367
166
860
65
912
806
112
456
386
93
315
235
311
292
894
322
206
713
735
8
251
46
575
427
919
60
628
181
929
575
259
310
286
732
619
692
286
626
473
392
92
307
883
191
911
3
36
733
837
179
254
315
171
697
142
302
363
919
921
588
788
68
200
296
235
525
851
118
305
66
188
330
973
176
333
523
152
736
547
518
453
349
279
764
284
479
873
779
62
423
200
799
568
830
950
894
448
123
976
244
408
725
860
128
940
414
824
470
291
494
225
457
963
723
119
796
228
86
821
722
48
594
940
717
281
240
107
226
255
132
515
346
651
612
415
613
90
860
924
479
18
79
846
53
260
855
741
973
98
724
120
40
838
258
483
364
623
229
910
366
670
544
19
885
204
662
434
52
117
151
341
328
774
913
307
303
446
328
326
418
579
248
942
781
467
338
403
620
923
731
12
744
248
346
247
563
112
498
737
858
974
634
918
501
320
120
20
733
302
993
66
494
327
551
712
471
782
403
121
226
330
389
499
800
179
371
590
638
295
442
214
568
780
545
871
806
554
845
563
672
14
446
220
742
592
201
558
705
968
455
771
28
254
497
160
884
638
410
750
480
807
781
910
46
987
418
279
252
575
835
569
781
146
759
413
64
105
329
26
989
342
980
309
475
65
206
10
414
384
564
663
383
337
276
359
959
786
761
820
166
5
258
874
833
864
464
191
158
204
768
31
827
386
237
885
367
29
974
58
274
607
853
683
621
967
926
163
488
770
970
764
568
554
783
916
740
409
784
818
204
215
437
71
68
34
803
449
850
503
261
328
473
30
73
1000
761
176
981
828
295
847
502
210
793
837
903
375
831
820
114
332
796
84
984
682
492
207
368
620
664
379
486
132
44
255
899
324
221
94
207
847
738
398
292
577
362
444
511
72
381
911
749
844
127
252
668
147
652
600
779
802
641
771
223
585
199
360
246
806
80
8
393
32
338
690
421
341
103
253
723
112
391
489
873
93
427
788
501
452
965
716
332
542
452
965
652
383
731
752
870
221
136
115
120
97
494
539
37
27
528
1
959
282
611
835
784
243
643
771
634
498
53
158
318
150
603
605
259
815
671
262
232
388
220
529
768
492
450
214
522
446
449
102
261
696
825
418
376
939
375
915
995
554
336
159
818
561
680
137
787
43
186
497
596
852
751
537
785
486
509
608
915
184
854
709
871
690
375
880
875
608
63
453
177
972
866
369
741
450
852
505
437
613
737
435
391
808
545
99
192
498
498
641
573
345
26
39
60
965
941
248
816
7
418
263
573
135
426
894
126
593
613
88
315
232
480
275
818
280
879
608
354
682
489
925
99
534
921
933
197
989
566
419
276
31
109
252
769
675
867
582
680
487
782
896
135
787
918
537
700
543
799
891
985
759
759
675
505
103
781
680
79
636
942
873
355
759
698
983
176
925
697
555
575
209
746
10
170
614
809
410
596
807
677
468
417
103
9
869
633
636
14
78
501
83
929
655
908
760
820
557
922
628
926
999
491
535
962
278
447
19
315
348
153
137
24
53
108
67
829
661
823
689
312
756
88
959
341
594
526
641
625
740
989
899
152
199
909
300
702
252
205
52
405
924
715
635
545
310
408
574
414
38
834
779
26
742
366
736
969
778
770
853
455
347
597
425
908
825
655
13
49
386
587
520
512
922
177
861
456
860
569
945
528
737
11
625
784
275
85
379
862
278
645
739
785
867
845
930
246
469
698
724
145
475
598
266
434
692
93
517
36
532
10
984
725
400
704
637
366
877
801
236
855
120
343
837
403
347
601
883
584
429
189
136
690
347
297
683
488
744
31
367
440
872
829
310
806
991
937
651
827
671
694
189
347
510
212
434
846
520
634
449
791
748
755
970
684
808
256
489
912
598
181
417
759
895
565
941
546
454
329
926
864
942
648
46
330
310
997
363
85
184
4
706
532
498
46
577
430
832
253
743
519
886
214
344
329
91
211
126
649
622
261
374
445
964
575
187
664
755
318
58
460
834
704
96
860
316
530
809
777
6
226
121
602
694
379
166
289
680
476
430
972
383
295
59
676
59
989
461
611
433
399
859
865
542
539
137
50
191
530
122
618
217
471
432
85
167
873
176
394
117
300
62
986
89
841
929
924
919
831
330
609
507
54
555
178
83
273
380
698
503
525
953
640
603
95
390
927
352
434
115
71
844
615
465
493
214
83
806
192
171
548
266
303
186
915
193
953
321
9
616
56
302
693
323
315
737
714
634
777
302
207
599
730
301
358
145
594
271
139
631
737
196
412
395
819
453
916
128
347
833
831
335
624
850
699
711
152
74
402
1
874
422
848
796
325
175
731
753
902
969
485
946
945
195
102
392
299
33
20
324
312
793
693
433
995
407
747
159
195
641
896
43
203
67
876
353
162
908
720
420
8
625
625
636
449
510
522
630
672
623
208
905
23
99
550
173
939
263
868
643
764
983
41
801
897
391
287
573
957
450
852
341
198
825
5
923
509
185
884
570
689
361
703
960
566
755
755
389
750
29
469
687
457
351
492
820
893
447
405
842
149
266
211
604
420
338
187
595
626
789
26
413
197
550
455
589
873
500
687
946
833
169
121
222
399
148
667
427
831
535
987
304
459
589
696
278
498
271
266
507
416
481
992
991
667
636
872
213
903
688
648
449
544
788
608
704
730
617
941
245
209
798
588
790
696
927
542
743
595
487
536
309
736
326
855
911
977
426
802
118
82
418
992
197
287
671
217
480
364
790
104
969
789
76
157
993
821
814
74
273
936
261
416
445
52
868
793
957
435
564
763
260
983
914
519
398
847
562
287
399
977
672
54
380
247
1000
901
895
254
821
726
869
767
194
612
387
63
938
414
729
61
255
426
317
263
153
112
619
986
708
998
677
257
693
752
621
76
342
387
446
434
803
298
345
576
372
538
123
571
732
331
543
111
238
345
991
846
749
620
500
282
639
417
11
401
392
419
716
744
616
902
487
629
413
475
655
554
780
987
900
607
121
987
573
861
12
938
558
359
78
1
710
221
208
791
946
865
362
989
341
91
920
55
930
995
848
586
482
315
961
49
214
797
220
731
249
633
304
723
672
815
662
708
152
534
875
95
484
356
445
808
841
987
44
640
184
887
860
615
70
858
926
278
42
992
207
142
903
70
800
793
416
550
797
324
429
795
245
818
956
82
173
583
505
233
811
734
830
418
9
468
302
787
318
113
342
132
389
606
660
669
112
552
600
404
431
455
541
253
852
15
126
247
457
584
85
716
679
61
549
265
166
483
39
774
823
548
782
373
520
141
589
557
5
693
321
160
299
863
854
930
197
597
566
803
536
93
565
810
590
594
300
735
272
194
701
275
828
46
736
460
367
467
97
519
870
434
757
224
298
856
300
959
32
875
261
442
161
105
183
32
65
414
744
69
338
343
97
497
335
713
520
343
532
341
571
280
450
994
222
563
119
924
838
175
899
354
481
843
46
277
703
944
558
814
924
6
706
141
514
612
122
717
883
57
511
124
278
26
808
331
467
889
126
630
164
955
914
779
890
173
555
132
930
305
52
658
189
589
545
784
45
226
151
952
745
837
20
607
509
191
556
115
234
91
488
743
664
311
803
426
911
830
645
502
488
476
905
984
372
225
616
214
172
91
235
961
189
495
557
93
973
477
327
968
55
923
555
629
626
227
189
647
342
445
59
236
835
74
953
865
216
997
270
131
605
73
942
106
694
39
221
712
445
140
496
940
303
937
493
891
699
254
130
667
221
124
770
144
535
873
857
512
52
223
704
258
357
368
762
983
632
548
781
5
660
513
158
242
498
666
159
248
597
350
900
621
936
945
671
202
780
961
700
632
726
261
469
851
81
967
516
93
1
289
991
745
457
786
348
228
856
62
234
683
58
967
30
856
595
712
519
999
158
137
839
33
773
577
221
463
655
371
16
761
419
97
157
13
178
35
518
625
89
179
601
824
54
399
592
468
633
943
125
438
675
571
1000
482
846
45
728
956
11
559
978
306
360
989
957
521
313
498
257
16
459
105
976
583
250
364
736
102
686
123
799
686
26
705
630
811
394
516
124
766
219
203
182
458
645
42
506
192
391
106
268
571
83
152
790
46
707
852
476
990
694
199
41
377
114
405
493
273
585
619
416
413
823
133
884
26
178
509
676
981
131
262
589
28
476
284
312
609
844
213
723
251
276
328
486
56
822
363
519
149
486
827
236
264
420
53
475
822
942
199
659
952
836
866
66
925
363
809
37
364
645
497
578
429
336
873
91
887
32
756
904
604
488
763
846
547
494
508
395
824
232
93
791
603
35
593
83
80
722
305
311
740
117
47
860
292
931
652
583
597
897
145
458
793
985
761
395
615
503
98
293
598
146
217
611
441
384
427
526
325
90
814
213
389
999
337
900
872
386
430
146
678
361
628
203
219
297
676
425
452
205
946
438
967
325
766
187
807
807
433
15
486
118
269
682
324
718
67
570
763
657
673
371
840
929
244
224
338
851
940
619
446
248
411
379
931
942
475
677
951
895
789
372
613
363
181
901
305
597
499
574
659
943
542
438
705
686
630
762
417
603
878
816
391
997
58
858
830
942
239
148
360
549
64
349
465
352
576
924
481
315
52
983
156
555
137
570
764
573
918
571
637
720
262
256
760
622
868
971
772
529
991
647
327
876
742
597
237
872
174
557
272
616
138
20
788
28
999
714
574
902
892
507
455
502
122
91
207
427
710
577
294
908
818
512
784
335
8
894
546
532
832
487
512
262
259
96
327
482
856
494
207
126
392
387
205
563
808
140
341
436
52
962
287
272
334
945
370
132
771
615
659
557
218
664
833
246
343
99
322
244
616
393
953
867
965
79
957
256
295
890
728
224
930
749
159
42
306
826
761
868
942
460
976
844
756
926
305
246
337
927
897
702
619
205
267
177
770
854
625
346
748
754
161
2
161
57
259
357
521
783
243
430
964
423
762
262
803
887
321
338
46
275
795
430
133
721
972
64
730
985
318
943
326
574
171
949
812
916
545
814
913
507
540
139
593
18
125
205
88
57
738
948
226
671
665
544
99
674
709
264
936
596
954
676
248
377
787
791
914
925
500
453
930
320
883
147
920
752
254
392
392
231
262
66
924
764
618
320
129
930
636
254
303
760
110
120
94
381
552
644
427
165
304
2
160
994
342
79
655
850
893
923
489
114
90
699
67
857
8
58
754
931
376
532
467
845
132
469
374
248
785
85
457
359
251
361
202
815
399
933
652
226
78
573
325
199
789
581
309
695
486
196
921
390
224
130
943
119
490
472
332
588
91
495
722
284
419
347
787
904
770
220
688
710
115
351
455
904
444
134
111
503
288
674
739
228
589
389
530
591
386
598
4
717
127
636
269
431
591
677
152
783
484
364
493
519
815
300
728
944
38
669
93
267
783
548
477
770
701
977
957
115
607
474
533
660
615
486
436
919
419
211
658
192
208
345
27
979
969
545
218
967
95
850
617
275
263
854
810
187
557
161
796
737
635
553
725
406
600
322
70
650
847
442
669
156
821
598
7
506
89
601
415
428
562
402
633
901
991
725
317
190
122
327
606
295
4
45
860
411
969
53
994
728
778
232
668
304
237
152
689
821
381
919
654
726
954
65
767
641
489
751
228
967
781
751
344
263
901
95
748
359
209
803
723
114
993
803
629
434
484
33
891
429
980
690
801
578
735
803
661
400
91
597
422
381
38
616
12
856
30
205
46
158
421
743
426
540
323
979
646
334
30
904
277
339
431
900
188
650
958
267
567
28
728
865
671
409
464
290
565
374
710
915
810
204
583
177
146
670
62
668
797
845
353
963
881
41
422
624
800
441
155
494
185
104
976
208
139
838
902
838
63
802
240
728
307
878
65
871
264
509
642
611
269
181
770
88
888
730
761
586
704
405
472
876
755
977
351
697
132
201
914
798
72
660
500
288
79
307
385
638
214
69
549
361
732
497
512
231
661
774
613
957
739
341
57
357
399
46
850
433
89
978
478
202
321
100
809
804
244
365
230
172
451
273
491
532
959
705
47
69
19
445
979
405
447
14
699
900
707
301
749
410
834
30
948
841
602
254
30
730
64
929
713
129
665
123
819
279
699
541
659
891
767
888
425
400
259
38
713
188
587
107
642
632
70
297
243
791
927
834
929
690
750
385
888
462
249
106
196
46
796
882
269
751
473
343
67
764
931
9
82
588
344
241
738
478
129
739
306
181
927
983
781
655
520
380
512
2
12
860
513
548
568
318
512
859
495
627
802
474
224
879
840
354
31
176
406
312
967
525
797
215
508
366
223
370
916
831
57
291
145
79
62
16
421
963
65
229
263
846
787
713
844
592
714
90
35
621
963
351
411
481
49
440
755
528
367
30
353
178
975
669
440
680
953
681
727
525
217
572
806
380
173
170
624
958
9
452
919
303
728
777
657
780
265
268
84
487
148
208
938
885
208
601
754
212
782
518
943
626
696
444
525
97
85
594
957
788
745
110
509
5
306
103
15
882
971
749
642
583
939
31
525
203
953
264
722
515
551
232
984
364
748
642
231
834
855
598
485
270
47
958
244
855
138
787
912
730
710
586
970
577
401
608
24
167
672
381
728
634
837
498
846
136
457
846
416
116
502
705
29
602
783
565
757
855
292
94
130
190
1
410
894
2
592
703
965
856
359
298
117
979
211
451
475
702
323
517
782
131
462
654
775
870
448
891
720
675
508
215
310
744
531
300
688
760
325
666
300
895
46
324
662
736
907
427
893
501
85
43
24
955
575
949
711
178
305
240
937
683
494
625
698
433
612
550
473
967
770
608
470
212
575
311
281
530
739
946
568
225
801
132
852
24
308
666
307
27
774
467
680
236
465
703
140
50
877
695
870
59
317
829
712
41
600
485
1
331
275
960
36
627
165
460
276
857
246
496
455
949
63
442
285
212
942
592
329
580
229
777
907
134
675
492
617
178
858
533
174
621
249
334
773
596
92
567
127
33
815
56
648
381
64
751
987
798
792
316
305
893
46
867
166
555
233
553
940
487
680
933
943
804
236
590
318
472
536
998
842
410
269
434
419
800
486
661
18
528
527
143
200
689
629
836
193
796
668
933
662
651
749
538
960
864
566
897
645
612
566
704
488
602
919
995
24
99
243
320
940
565
840
201
234
689
899
375
147
541
796
952
297
182
119
411
349
277
499
306
783
209
697
685
42
702
614
431
376
220
92
223
241
240
407
338
964
73
352
266
704
35
683
1000
453
670
473
902
922
176
637
243
692
357
455
885
919
255
475
60
228
31
522
913
176
839
927
241
782
180
258
901
214
679
999
465
640
296
640
990
647
757
597
247
380
373
214
337
750
482
875
385
613
459
890
946
854
635
416
798
658
446
108
56
98
882
625
910
332
576
353
857
361
943
931
958
280
360
261
562
412
752
667
888
524
868
810
92
582
178
752
714
141
596
319
906
505
156
512
501
274
378
264
727
739
297
291
359
870
27
127
210
305
310
674
86
848
687
788
799
456
831
467
370
605
88
181
301
217
470
784
683
43
167
208
947
506
176
853
263
542
753
161
960
878
245
411
833
554
295
116
896
198
553
795
945
744
805
56
284
799
841
93
105
858
514
714
320
908
151
979
53
730
910
355
661
412
719
72
869
125
145
1000
555
253
939
960
776
324
996
833
860
3
192
233
799
638
852
768
688
420
661
143
671
279
425
417
730
45
436
760
624
244
150
958
497
124
502
726
969
172
471
625
19
423
440
988
607
314
478
825
765
722
930
97
859
65
599
101
799
52
369
969
270
729
307
449
450
966
214
188
272
434
42
718
8
396
856
242
855
384
811
73
221
905
122
288
645
872
178
777
607
372
730
314
21
714
581
768
857
426
288
814
179
60
213
774
846
158
654
339
282
729
894
944
12
943
758
531
84
508
662
260
147
388
200
514
685
87
32
178
836
733
216
743
305
562
128
279
98
245
845
681
218
667
151
881
968
407
374
924
248
184
884
884
62
952
395
624
468
176
198
300
385
41
54
326
989
3
758
245
897
147
333
592
6
266
389
345
621
432
431
21
466
130
816
827
292
667
595
513
22
678
722
752
842
18
961
922
168
248
346
159
212
213
266
423
685
901
57
80
290
928
480
245
809
470
643
684
965
416
714
600
753
849
234
34
591
686
981
939
486
462
98
185
369
800
634
904
912
65
749
627
417
53
569
565
834
343
80
298
547
134
529
830
363
936
479
667
24
517
83
134
659
852
129
610
822
681
115
757
139
431
957
84
144
925
907
407
570
279
937
829
235
843
147
913
663
861
698
582
745
764
443
147
89
671
648
549
172
697
177
546
44
155
78
124
150
585
773
829
759
812
938
83
603
929
732
797
614
157
259
755
28
64
985
306
731
460
410
892
440
659
425
788
202
443
669
249
735
220
681
936
346
363
787
85
499
666
481
407
639
154
533
96
530
268
163
663
204
545
401
507
587
501
200
309
16
355
951
312
149
622
786
552
216
355
487
907
189
1
841
620
166
408
29
589
242
538
999
290
155
789
781
687
282
688
428
848
893
868
563
273
177
907
548
135
184
585
908
738
751
575
989
502
435
393
771
676
702
686
369
826
879
583
81
851
925
860
717
916
669
183
572
215
975
481
643
950
236
851
600
216
723
10
555
784
548
429
926
894
452
767
539
266
174
96
642
498
917
747
709
899
287
288
718
605
147
256
124
486
15
820
867
998
1000
428
590
599
772
872
690
769
744
914
952
10
463
773
308
400
180
313
675
421
723
763
930
808
83
114
831
125
564
151
78
589
975
236
797
460
87
543
410
947
501
437
261
153
156
80
366
60
928
163
364
941
166
844
73
850
540
622
54
62
311
866
239
411
937
151
998
491
993
418
971
585
522
156
620
30
261
504
743
407
688
196
104
619
438
729
956
428
476
4
443
471
314
975
808
137
717
481
864
910
558
559
421
988
942
996
217
12
255
795
446
747
568
511
151
416
680
140
588
176
130
348
170
929
743
346
762
259
582
651
883
762
723
300
853
496
941
829
58
545
190
468
254
966
781
553
284
454
268
132
678
175
359
79
338
79
627
827
919
916
383
981
588
897
850
681
535
623
699
562
10
452
65
549
661
975
413
525
655
619
1000
151
397
720
219
672
645
554
837
620
497
969
946
717
26
202
524
133
289
444
604
479
79
468
434
568
67
415
445
35
891
421
516
347
378
325
799
618
292
144
328
899
939
327
724
307
488
86
610
413
122
233
716
829
953
39
276
813
223
607
21
3
436
98
977
130
969
994
302
637
149
212
628
686
977
520
685
930
477
206
549
786
104
349
466
674
784
368
104
822
922
748
974
812
158
974
992
980
746
730
379
150
160
369
577
972
950
527
465
274
932
454
911
464
500
378
622
971
225
701
332
130
940
365
588
713
189
65
795
510
259
294
713
991
8
389
318
89
370
848
757
566
707
184
199
287
150
515
490
921
717
881
889
271
232
15
628
476
32
935
670
771
41
226
853
372
26
378
533
330
744
832
961
848
287
695
900
659
94
205
379
552
25
132
84
18
370
233
602
298
901
801
630
815
865
100
293
99
356
193
934
825
634
252
76
506
768
964
784
730
460
33
304
566
22
113
718
886
239
734
289
950
328
894
342
503
243
42
807
42
364
112
2
660
982
127
851
49
78
626
458
837
588
855
944
428
728
202
450
877
976
862
504
186
5
61
306
565
188
489
34
846
296
755
979
251
670
802
172
137
449
205
170
182
411
191
856
704
597
47
411
474
167
291
119
391
887
623
277
908
212
203
308
898
194
246
102
963
345
268
718
860
145
595
856
767
86
863
923
657
47
359
69
894
284
976
338
491
538
482
948
180
585
536
745
543
52
640
96
987
481
743
845
265
431
794
446
585
873
880
73
83
254
951
339
580
381
352
212
99
731
476
874
573
840
939
570
553
234
586
911
457
697
491
742
134
799
884
411
46
265
575
228
405
181
40
956
953
37
784
412
923
296
987
645
889
526
725
704
837
128
250
715
826
328
903
821
14
443
261
570
669
368
996
516
11
871
782
79
401
545
267
252
420
219
797
320
846
214
86
598
410
62
481
129
484
237
817
360
496
978
118
139
10
532
543
730
848
978
74
164
537
356
378
955
696
991
194
97
636
751
351
314
611
463
232
718
635
886
98
408
739
419
177
34
853
228
853
33
261
554
592
70
686
772
475
174
659
205
329
246
740
766
500
857
564
269
228
731
417
653
459
919
253
401
670
419
639
181
940
921
83
87
89
431
638
889
146
766
426
408
821
281
983
424
929
761
897
588
885
89
270
399
540
155
926
654
568
513
153
748
582
423
979
785
936
267
643
788
911
811
976
194
616
386
845
432
457
919
708
614
478
625
565
285
228
331
301
728
67
640
461
549
961
566
33
115
919
847
660
975
173
880
48
558
92
98
21
292
598
669
778
782
562
573
472
839
240
506
104
962
316
528
90
346
545
81
591
587
278
804
849
81
415
559
302
494
413
228
229
809
62
123
40
184
640
307
82
275
939
733
27
714
400
864
464
172
232
361
351
788
8
501
326
795
653
217
715
841
142
38
272
841
530
755
293
227
81
332
781
59
418
455
748
829
569
96
591
714
733
666
706
673
397
642
153
64
134
28
240
381
90
673
346
309
655
230
170
547
291
520
870
727
818
144
219
367
723
481
995
941
214
588
330
99
820
141
587
530
288
241
705
192
426
830
599
449
334
489
350
166
130
601
439
953
908
205
185
572
141
390
902
981
179
750
25
608
790
231
581
225
929
701
971
244
36
691
942
318
215
81
27
910
582
905
487
863
907
115
970
100
465
861
673
258
611
772
806
470
243
833
525
515
703
617
331
247
125
99
109
547
464
747
624
60
672
345
296
608
563
824
501
492
927
395
490
864
360
475
246
961
86
165
247
289
787
587
165
752
73
980
964
349
772
252
762
274
639
663
52
176
472
393
587
894
835
16
290
194
778
339
65
907
993
611
260
402
843
865
843
495
548
26
62
771
623
468
470
741
351
914
717
463
661
897
448
34
303
564
949
824
607
212
971
464
444
835
256
369
217
883
880
3
854
617
460
201
805
710
656
593
976
208
153
589
406
569
494
447
229
253
720
643
121
268
752
157
24
140
857
306
387
19
336
434
544
1000
774
121
172
312
822
570
900
699
490
465
314
191
350
943
532
471
910
228
507
214
613
166
964
90
610
125
665
623
474
683
273
717
492
114
656
469
29
926
897
823
752
612
641
743
140
337
632
831
824
480
509
750
772
862
935
367
233
972
149
281
658
727
906
278
528
117
533
314
110
594
548
790
727
226
872
300
8
417
177
473
942
499
312
276
298
592
92
891
114
923
917
339
511
224
872
91
38
926
931
250
141
596
906
319
91
496
546
173
904
172
29
617
358
716
680
847
201
716
370
180
59
923
487
676
313
361
774
637
474
952
598
539
153
703
421
632
777
175
330
310
608
264
497
363
462
274
345
386
777
896
26
967
286
983
506
718
662
955
244
898
899
227
910
130
101
347
107
688
600
391
343
936
6
752
811
743
877
656
644
141
192
624
432
63
673
619
709
714
369
799
47
34
542
655
135
743
77
783
956
678
128
720
734
453
624
63
862
25
642
564
406
389
329
19
122
472
258
545
115
255
618
263
442
306
608
519
949
204
776
498
616
761
802
501
505
583
404
221
177
261
645
52
92
397
876
854
84
753
981
615
479
41
364
140
786
259
342
239
193
26
215
874
301
51
312
401
587
762
730
314
155
93
310
903
178
633
667
847
302
639
686
18
989
908
992
748
387
144
332
370
891
242
692
99
966
863
218
239
166
791
710
224
546
800
533
262
799
217
275
196
556
897
365
716
221
95
213
275
619
597
75
863
509
488
12
328
723
195
818
47
257
726
700
597
181
606
863
513
632
636
847
365
459
441
656
141
336
762
226
379
269
562
781
568
469
339
943
92
512
473
275
389
528
27
89
66
958
224
938
408
35
695
204
118
755
704
589
133
530
766
113
39
150
475
437
988
913
888
938
962
17
534
989
931
379
950
320
728
68
664
169
451
437
733
171
811
862
243
586
135
737
677
499
649
956
683
114
283
713
579
97
460
837
874
214
256
264
198
171
865
483
283
676
525
969
74
178
922
666
609
705
637
574
51
450
373
365
127
526
529
736
294
387
217
906
128
935
929
267
810
288
918
680
85
472
773
361
739
95
838
564
459
139
863
548
948
630
735
401
264
843
219
356
684
103
389
160
815
990
822
927
311
953
710
629
276
898
727
73
402
322
897
760
921
961
720
501
706
704
476
36
247
747
17
216
749
588
312
456
327
439
674
315
106
125
923
19
61
304
687
684
601
134
667
808
209
124
985
312
960
988
648
49
349
744
769
242
675
195
421
742
164
187
910
357
126
707
817
743
702
991
354
531
192
269
483
404
486
705
749
848
910
357
964
130
642
721
751
903
917
508
403
474
430
858
712
409
722
81
207
630
814
386
708
596
58
770
240
433
977
404
111
161
845
395
396
240
925
757
177
729
529
801
613
289
566
916
332
83
814
885
684
423
920
486
136
644
71
74
420
262
337
291
120
943
914
800
24
213
895
186
954
68
748
761
736
920
343
35
661
325
283
39
92
13
251
536
816
611
293
357
385
281
263
803
964
223
140
35
136
616
581
899
688
100
829
448
692
364
98
725
47
734
616
28
249
920
801
965
344
239
442
119
907
702
357
990
418
317
701
235
573
856
15
910
935
104
127
513
805
307
228
202
363
144
806
423
921
24
623
574
613
968
592
29
962
600
242
12
531
29
440
358
332
532
162
163
708
964
428
666
208
788
924
508
321
442
493
668
46
546
388
966
948
71
138
15
758
207
928
888
572
102
642
587
410
45
97
593
236
938
536
389
509
117
166
888
45
652
362
102
207
282
181
233
478
40
1000
603
27
456
422
492
219
918
54
987
909
454
427
432
960
665
100
900
697
48
956
406
880
251
788
239
359
81
553
889
774
230
80
512
558
775
595
800
8
447
153
405
378
583
976
773
797
434
706
375
307
196
812
823
471
751
729
299
797
578
827
58
722
740
976
488
984
133
296
386
16
446
666
625
414
374
702
378
638
690
199
409
830
706
505
715
67
520
878
981
382
177
647
904
658
552
931
404
820
330
715
172
812
915
347
771
514
499
884
735
107
801
276
733
375
170
49
847
101
860
49
497
19
279
779
318
746
924
51
591
745
545
1000
422
642
789
987
960
167
210
541
373
565
69
313
179
576
800
940
795
997
332
833
845
373
767
164
854
607
19
753
436
142
126
118
989
879
896
695
206
210
451
110
416
363
996
449
899
760
843
646
816
246
327
485
342
848
734
220
910
199
802
482
220
882
638
972
817
708
151
411
572
420
213
376
394
350
791
921
825
353
254
344
973
717
898
73
400
809
469
392
165
949
170
664
210
360
153
762
681
74
10
680
576
367
137
647
307
624
136
646
391
542
611
913
504
227
830
875
554
55
682
957
265
130
342
912
996
784
797
603
188
871
169
673
841
512
377
181
929
542
199
52
497
186
286
170
449
357
966
21
742
545
993
72
752
493
502
492
90
707
543
388
27
387
515
456
1000
553
698
860
369
969
897
164
721
981
862
360
515
524
786
391
830
368
657
78
255
147
677
23
756
817
255
899
457
993
323
508
848
27
841
121
883
788
406
936
790
865
807
896
206
291
226
761
395
969
548
51
920
685
883
437
109
969
980
177
64
89
711
498
750
157
124
132
930
652
927
834
292
684
385
349
187
941
758
195
750
624
393
606
98
572
508
190
456
476
496
132
753
294
336
300
288
949
299
214
484
990
696
666
646
99
834
684
912
291
713
694
223
158
248
944
278
764
953
719
879
641
102
409
994
888
347
265
168
546
661
526
593
260
248
672
313
752
777
754
495
758
858
92
685
928
234
158
269
599
516
145
84
544
663
500
324
507
585
744
371
819
402
983
190
457
931
849
265
672
895
35
829
682
220
196
331
35
516
784
638
918
532
240
488
82
907
113
87
85
30
854
560
222
219
439
149
867
665
541
699
941
847
616
963
887
159
190
705
809
536
600
397
449
762
626
561
247
963
782
439
42
506
501
730
889
168
113
597
68
957
267
5
602
434
441
719
502
697
272
977
524
493
682
928
438
27
240
417
672
162
731
589
732
628
653
113
979
775
262
474
191
167
805
979
820
24
797
567
28
93
555
478
376
76
701
180
526
99
37
651
410
75
992
299
132
1
854
329
281
386
111
340
420
14
528
293
294
216
51
747
654
665
211
471
707
445
481
93
880
837
950
438
971
810
766
629
786
676
2
793
56
781
29
440
751
342
983
206
920
762
641
640
826
866
867
185
475
459
794
288
574
575
101
864
613
554
40
937
997
842
364
365
142
25
957
6
993
134
728
532
699
735
317
392
65
612
248
89
981
165
415
2
217
760
252
526
871
371
447
123
268
785
848
257
297
573
81
822
25
774
410
856
899
949
627
783
31
857
75
421
842
521
426
269
833
840
521
364
349
240
384
129
996
80
526
180
801
634
764
34
300
558
102
1
468
623
657
352
842
412
212
971
213
383
764
357
993
399
333
760
753
355
376
683
415
46
399
756
305
771
717
203
601
458
887
742
692
308
24
766
646
28
57
103
263
736
23
454
194
550
632
874
179
663
689
299
785
447
425
163
925
758
431
625
44
133
686
770
110
50
108
446
428
718
191
37
897
172
508
598
487
567
339
235
647
662
193
521
840
439
782
43
598
689
851
879
337
197
344
913
670
810
550
436
90
332
271
376
730
625
536
866
358
777
59
584
889
446
481
424
475
769
394
656
674
334
304
647
279
724
965
599
146
135
983
527
757
380
180
884
310
352
987
808
860
696
39
963
384
993
227
357
689
233
699
279
767
743
673
767
518
16
492
568
795
74
28
626
352
113
417
517
594
161
106
126
990
415
375
57
644
717
805
942
783
367
669
863
857
106
827
543
558
616
540
846
269
350
528
382
411
842
745
698
668
898
555
619
319
242
472
783
753
254
152
323
793
401
84
936
633
854
298
309
10
566
480
954
777
777
42
56
148
519
87
846
725
173
714
357
875
583
752
133
148
512
881
658
192
463
46
755
93
23
203
235
98
924
773
377
496
929
578
643
777
556
672
157
284
346
235
121
269
89
609
264
659
962
647
872
827
20
757
710
397
855
426
384
416
526
551
279
231
59
590
244
76
904
429
629
666
755
842
90
78
34
622
839
796
182
760
649
110
589
534
976
961
655
44
29
931
998
452
468
328
270
212
690
204
380
630
341
719
199
380
767
470
959
9
615
279
653
48
682
465
679
84
419
806
898
1
206
236
17
701
614
832
930
747
411
772
237
793
984
790
670
125
174
93
559
335
290
833
799
977
170
18
994
18
749
159
588
36
527
60
827
443
713
903
344
410
561
156
993
821
634
947
333
325
278
194
817
471
588
217
285
8
564
539
884
629
918
300
860
861
237
19
1
330
802
471
674
314
386
68
504
399
788
456
759
11
680
8
396
806
602
512
560
216
565
636
45
907
782
661
839
587
527
619
450
347
929
154
103
711
852
372
294
641
634
503
405
43
549
380
274
697
386
660
649
151
368
193
467
813
998
175
749
399
90
519
692
903
362
412
259
479
513
149
121
983
584
166
346
415
806
654
634
183
792
246
199
955
164
70
639
797
178
873
261
487
932
26
358
157
64
965
882
866
631
18
812
333
54
642
256
804
558
792
999
941
568
536
771
727
885
38
992
570
295
735
110
218
434
857
959
605
398
449
741
472
556
704
332
461
488
719
642
375
785
765
621
494
689
765
387
132
200
976
607
124
334
787
944
566
657
140
900
913
102
329
806
497
338
850
113
647
637
499
321
830
271
174
121
671
956
669
321
272
761
311
158
2
197
451
434
787
905
670
736
996
501
60
668
221
608
89
624
578
90
372
155
711
791
134
370
310
835
275
143
795
706
711
118
820
854
141
627
346
533
417
693
358
971
500
202
751
693
361
202
491
52
239
31
952
546
406
635
221
543
935
17
262
398
29
207
37
749
115
558
96
8
273
424
669
659
566
492
7
995
478
125
571
369
989
93
678
845
769
962
394
397
613
238
760
429
493
90
972
452
572
101
700
217
67
26
599
446
152
997
960
606
945
935
593
808
218
223
263
42
661
813
452
396
420
32
769
861
149
331
82
561
999
79
314
26
812
301
903
164
285
970
123
184
24
16
821
589
205
773
624
720
48
957
364
70
402
599
270
728
554
592
475
859
773
617
508
92
212
267
754
59
537
128
292
76
51
419
153
157
136
546
779
124
561
604
402
564
574
403
118
783
718
80
685
713
7
753
446
922
419
925
324
513
689
572
529
687
9
935
512
215
577
26
646
850
875
797
348
984
208
721
647
490
298
252
690
729
650
291
313
181
37
267
617
2
638
952
410
104
338
424
500
1000
197
864
93
772
335
45
950
984
369
432
542
276
36
763
184
658
836
908
988
252
374
542
557
320
561
889
507
969
8
385
284
813
742
602
244
234
839
215
635
609
698
68
950
26
456
665
99
546
480
511
976
46
951
768
312
36
325
644
131
597
832
786
750
795
261
664
29
481
970
666
463
387
454
98
842
832
806
859
370
137
129
844
581
64
255
493
886
218
150
36
319
353
37
136
893
958
574
579
983
344
370
638
338
665
793
482
632
987
246
794
963
528
62
344
335
700
743
810
945
394
516
612
75
271
81
812
462
461
2
466
303
174
375
892
462
205
312
458
37
233
295
420
140
75
634
245
672
809
98
619
906
769
328
62
861
928
717
636
862
141
337
767
143
28
891
595
47
22
827
589
195
261
523
383
979
538
878
939
859
510
735
138
265
692
326
895
331
563
315
693
292
287
67
223
174
103
529
458
270
477
416
56
27
453
490
481
150
494
355
579
167
248
552
668
184
368
747
351
324
454
424
414
145
674
847
113
379
421
979
124
485
613
701
203
849
886
942
358
931
983
248
937
304
103
940
603
319
829
232
576
103
533
597
900
652
835
228
730
107
761
644
807
674
753
386
330
242
571
251
461
480
417
716
511
87
352
35
699
910
147
993
35
844
267
450
491
776
596
623
114
375
847
518
177
164
336
41
737
163
955
108
235
354
728
486
877
371
275
221
576
108
900
220
185
374
772
985
598
362
850
539
32
420
782
317
500
577
6
143
17
307
668
468
576
281
775
710
303
226
216
890
491
559
887
745
394
163
189
155
778
528
583
45
214
502
729
858
26
44
960
355
603
726
519
737
528
182
997
56
599
362
894
443
346
241
96
949
107
559
306
683
52
313
161
496
827
951
850
690
623
658
531
69
558
690
743
220
238
437
313
60
226
808
960
544
950
543
919
928
267
283
430
127
490
571
849
510
216
474
490
970
671
187
35
186
623
802
498
810
152
411
281
727
653
835
809
629
534
597
616
901
984
162
508
199
28
117
594
188
876
704
607
601
191
26
856
159
508
363
613
931
468
219
495
374
961
139
637
659
512
867
34
873
454
122
498
335
549
125
54
591
688
3
465
602
243
412
794
271
435
985
583
729
832
752
244
733
704
261
754
123
494
975
569
544
127
429
996
506
204
768
874
458
403
513
558
745
555
875
648
180
936
457
819
521
295
943
412
298
10
268
139
294
550
788
386
471
126
174
102
289
990
118
213
188
368
457
804
433
416
954
62
696
895
857
143
476
508
289
631
925
940
679
256
737
721
753
881
480
918
12
546
188
574
292
529
55
510
693
974
829
810
145
616
826
840
918
537
568
171
622
687
679
97
641
106
58
782
472
400
328
230
158
59
193
369
844
599
689
569
514
379
235
806
119
162
54
489
642
136
764
740
131
171
931
477
356
541
914
257
545
203
610
219
617
996
606
856
412
803
793
577
701
804
726
197
173
421
878
545
164
479
465
369
629
382
714
579
757
825
266
677
646
680
925
894
682
204
102
166
615
650
123
589
822
691
25
383
941
820
598
736
865
7
199
117
76
484
310
763
438
439
882
98
857
816
283
778
665
151
51
897
196
557
707
668
787
577
636
514
352
582
352
113
739
805
568
394
347
904
111
851
825
144
96
860
256
910
771
834
894
291
80
196
419
876
321
113
650
775
221
874
837
70
400
593
6
603
433
662
258
991
708
990
610
290
809
600
742
538
457
630
946
691
897
79
717
176
209
942
656
310
235
520
788
378
663
750
975
22
363
388
829
912
244
751
421
376
746
517
125
767
560
761
141
901
353
10
581
765
63
622
548
105
801
171
264
166
507
865
158
71
321
239
810
815
14
493
752
855
962
884
456
628
853
513
277
76
762
724
711
476
242
53
118
413
840
342
952
759
780
211
639
896
613
536
452
222
310
966
141
201
591
807
609
822
329
787
623
350
468
305
410
689
246
798
4
504
456
736
374
481
96
608
682
772
76
955
520
690
520
164
593
214
859
243
117
695
110
265
157
454
661
507
229
612
441
564
749
597
558
880
342
251
377
206
598
357
522
473
574
713
482
439
261
579
335
260
251
448
611
830
54
593
448
331
864
810
31
933
97
48
748
10
672
419
632
537
862
181
429
573
482
870
73
852
369
679
433
550
358
604
946
235
425
565
166
851
298
981
285
344
546
780
446
213
137
860
997
806
472
403
885
690
193
235
68
779
392
652
171
191
438
725
595
22
310
132
951
291
200
987
4
329
154
973
269
813
674
316
21
433
566
797
780
914
757
27
232
771
480
700
177
661
984
379
310
690
913
647
556
344
571
130
254
984
584
992
665
8
849
983
202
850
287
9
248
939
598
513
669
658
137
650
938
100
59
352
279
115
93
921
420
755
635
681
330
711
409
578
791
759
557
353
771
545
896
47
358
263
29
165
425
908
144
764
312
824
632
116
538
218
104
348
981
139
990
661
988
193
667
280
640
924
986
307
732
353
137
32
61
641
29
58
332
228
742
799
275
84
160
544
629
885
584
274
246
62
999
864
911
630
657
138
427
654
821
454
144
2
850
194
377
779
259
526
107
427
54
313
933
83
421
879
513
136
791
623
611
362
439
140
440
215
994
619
212
19
705
723
660
908
837
118
840
290
333
66
705
519
762
228
775
237
599
946
732
541
99
766
921
727
393
922
541
870
910
803
786
907
944
201
313
216
974
243
191
895
341
489
913
79
36
638
174
687
613
618
818
895
729
647
796
519
398
1
33
226
806
814
796
155
468
228
551
97
578
606
317
865
618
328
199
851
709
871
148
63
704
535
955
131
746
149
193
848
842
561
62
853
53
509
129
937
37
733
523
288
20
845
449
730
763
486
815
602
703
796
358
494
267
65
892
490
293
720
224
900
605
452
819
745
47
408
538
405
699
830
615
892
588
438
599
227
912
140
140
234
710
380
371
876
931
527
102
944
81
247
225
509
958
719
522
48
504
882
525
574
500
655
239
415
603
207
255
495
258
899
282
133
113
506
156
378
896
648
191
861
133
173
73
987
706
382
631
41
19
586
470
461
439
459
865
66
783
61
324
532
818
202
924
781
166
25
847
210
515
286
565
925
766
872
751
192
588
464
330
372
863
146
10
472
679
947
310
297
856
995
323
893
461
974
429
611
422
66
743
634
124
392
336
304
834
271
170
861
917
268
242
536
39
87
668
39
4
869
272
597
425
336
819
638
170
529
178
111
407
602
563
226
130
227
487
71
219
723
230
179
478
907
411
604
577
27
737
509
525
864
119
541
85
242
129
534
568
723
180
184
547
251
953
388
341
827
278
873
568
125
145
607
674
80
520
212
94
103
405
282
641
546
923
76
781
445
253
505
688
357
912
753
346
341
240
113
547
722
914
846
281
296
4
958
922
104
366
785
589
661
138
198
245
849
745
71
430
253
73
333
991
830
423
617
813
221
437
997
358
896
449
789
752
594
592
721
297
187
585
21
499
189
310
174
182
615
175
109
776
794
794
608
638
45
678
558
138
813
497
501
284
9
952
581
861
791
455
633
426
964
625
624
998
501
80
91
961
435
115
531
515
514
634
924
12
560
161
696
619
430
819
462
68
858
918
847
705
193
219
513
638
266
966
285
551
171
525
936
705
743
815
728
650
923
768
337
486
989
722
99
836
831
1
862
269
96
925
883
599
14
157
326
355
156
602
911
715
219
18
184
367
152
161
691
110
595
522
60
443
662
676
635
84
531
850
832
96
197
550
819
303
998
8
518
743
204
755
109
188
47
859
442
184
49
211
796
613
409
813
411
552
521
149
82
45
361
629
920
492
670
528
42
521
288
39
586
599
15
856
916
117
619
153
328
385
433
979
856
782
56
841
21
280
278
679
483
714
280
568
605
462
527
161
863
635
554
371
902
506
8
765
781
642
899
943
619
150
8
473
411
506
775
34
276
670
818
67
750
580
429
617
54
662
998
986
435
696
358
536
793
222
445
244
797
705
536
587
629
818
523
982
271
557
357
238
23
359
849
471
527
49
446
451
142
230
498
676
927
661
780
305
862
328
708
685
182
98
796
391
855
346
361
607
314
452
392
162
516
844
809
756
289
124
22
723
708
866
840
209
935
888
293
747
567
121
830
78
10
763
748
484
860
13
382
55
526
570
762
67
621
12
18
94
704
326
713
574
70
170
704
279
159
867
876
551
41
766
267
239
193
348
700
953
409
382
13
670
297
514
392
710
260
901
81
813
236
879
998
381
792
220
350
951
315
217
398
591
173
684
937
280
711
7
880
219
861
508
591
719
964
727
244
538
117
727
541
493
2
130
591
768
688
411
586
578
309
920
229
746
928
199
485
338
96
451
373
670
808
393
949
930
606
353
567
127
584
150
784
316
882
228
995
856
93
532
984
959
653
814
118
964
926
440
823
541
163
250
307
540
954
698
262
278
86
356
392
877
964
798
190
667
870
53
318
771
371
101
342
754
137
328
317
582
265
478
903
240
988
384
285
35
263
695
133
19
348
881
281
955
921
37
538
978
684
389
329
400
680
950
406
139
743
475
945
893
598
725
745
475
144
49
68
720
340
483
940
979
957
868
321
484
177
988
660
830
621
352
769
390
983
57
830
723
820
92
619
963
457
582
715
704
180
703
516
144
70
439
419
89
898
920
373
987
466
803
340
301
664
69
909
410
310
627
395
705
497
323
321
697
828
329
58
775
353
371
766
719
510
931
513
171
615
411
571
83
732
179
475
564
840
602
361
652
274
427
476
288
358
365
521
158
975
277
669
148
608
195
669
854
19
271
454
972
308
857
64
422
582
137
469
735
822
124
137
586
831
370
752
338
354
455
549
136
519
158
129
371
813
240
474
333
652
928
114
456
474
525
19
885
981
34
895
975
790
351
959
964
295
345
180
296
978
108
218
961
761
773
976
803
237
539
767
942
796
984
586
333
706
300
864
22
207
837
393
834
536
213
818
81
596
302
204
340
682
608
695
574
256
887
239
586
283
401
647
356
56
841
32
850
732
800
785
742
50
646
823
853
819
783
784
269
799
584
224
796
545
745
625
844
639
376
214
872
468
958
168
259
394
179
769
826
710
737
477
264
260
462
674
411
974
454
65
663
861
513
311
797
192
808
498
133
702
619
492
291
657
971
20
733
517
166
614
937
775
533
135
301
251
204
709
824
766
366
317
199
649
217
173
195
963
820
280
116
717
147
238
682
543
878
466
883
516
916
471
253
829
186
707
505
46
988
876
694
497
83
205
870
196
720
373
724
334
30
274
848
11
537
719
61
378
98
523
719
749
194
174
24
588
382
389
161
484
640
457
507
365
516
207
234
223
270
788
411
583
652
252
78
794
559
82
847
955
581
400
283
984
376
578
716
872
860
368
129
664
470
472
484
66
105
684
165
891
923
335
234
712
854
821
823
231
568
384
334
839
614
181
32
784
657
899
299
156
24
827
34
648
291
333
674
654
245
177
860
822
378
927
35
612
995
48
179
769
152
869
417
849
867
758
467
143
511
304
779
354
814
185
710
412
691
747
310
647
958
976
92
358
57
696
682
487
119
330
391
711
29
495
564
790
698
21
12
379
394
753
988
873
810
597
893
43
552
869
401
381
825
927
719
76
443
454
481
517
690
517
172
43
189
714
39
432
705
286
145
267
706
91
618
900
608
703
163
194
822
706
586
620
160
489
435
546
657
411
832
781
583
285
266
507
292
501
378
745
524
982
776
429
999
387
509
949
423
620
135
779
535
770
229
408
439
46
774
348
292
143
146
428
324
757
270
929
313
632
111
378
889
589
880
968
432
523
183
653
962
193
905
927
79
982
767
182
974
468
369
336
502
802
5
89
576
376
700
791
437
210
736
390
923
818
373
363
483
40
631
813
532
493
736
180
723
822
314
120
841
915
456
144
328
587
568
552
882
23
306
57
203
445
941
235
699
46
247
600
903
225
349
683
409
559
8
944
378
737
504
756
58
904
624
957
285
459
240
678
655
397
642
251
904
684
81
986
36
3
944
561
927
452
627
522
449
401
404
191
627
794
592
830
9
612
827
516
191
104
577
572
412
630
883
778
229
686
898
828
554
706
990
664
732
774
78
386
955
242
357
405
990
577
803
397
124
441
634
387
256
151
449
1000
267
162
892
504
159
153
499
777
973
642
874
750
141
764
432
168
787
20
739
787
444
348
928
184
803
822
734
469
411
639
454
57
670
862
536
574
112
507
574
671
667
204
177
218
586
604
568
898
733
129
805
700
199
448
177
196
594
279
696
760
890
731
573
92
397
402
256
497
340
918
875
396
466
374
952
418
315
428
801
281
115
423
386
374
710
946
274
571
621
738
965
369
66
677
88
868
786
877
883
462
575
584
937
369
705
659
354
281
848
911
417
496
660
457
329
854
957
550
808
688
257
84
127
775
533
38
738
988
230
679
705
919
921
258
51
271
529
276
523
216
684
112
461
237
611
988
194
201
959
752
828
524
55
973
405
346
439
144
132
561
914
615
787
401
3
26
489
26
443
585
707
239
264
562
773
8
94
720
190
939
544
240
697
258
922
891
420
97
67
812
411
122
805
286
532
601
362
336
976
32
113
775
648
367
174
606
272
665
727
302
372
761
376
542
186
130
547
463
193
704
671
314
158
799
891
701
507
696
99
276
418
647
419
797
211
252
607
997
495
215
489
576
83
474
218
939
826
547
78
13
400
767
559
591
559
734
671
157
503
925
772
104
870
916
758
550
260
70
67
730
379
853
833
71
643
201
458
608
502
437
47
373
879
324
423
718
814
753
893
354
858
409
539
24
762
554
592
316
792
659
331
139
304
262
51
752
298
833
875
37
309
859
548
944
380
611
924
622
801
279
544
773
19
232
558
214
375
175
255
441
317
907
652
236
372
152
886
20
403
726
666
667
643
856
666
4
576
74
525
47
981
511
91
292
365
761
628
107
558
780
1000
274
483
387
224
301
946
60
397
953
874
655
707
802
554
565
148
269
315
638
575
768
567
831
965
65
269
226
87
917
712
481
302
351
961
249
884
721
438
386
75
806
875
8
83
761
344
571
336
701
124
211
638
60
928
483
306
639
420
540
958
419
2
486
412
825
575
354
71
86
342
695
207
762
759
244
853
283
414
514
339
568
964
453
82
412
254
488
951
326
387
380
340
976
840
331
156
156
676
664
36
525
522
255
487
921
265
588
72
174
364
945
463
755
238
788
908
491
468
810
669
830
438
507
61
817
603
360
987
45
779
878
301
301
747
834
883
554
959
981
61
218
344
434
886
322
41
663
831
363
382
781
656
112
609
344
567
567
610
456
291
613
439
320
363
646
479
742
754
597
923
285
928
326
647
924
586
313
670
65
620
954
115
765
272
518
15
801
71
25
342
26
931
843
380
80
654
858
907
129
207
398
702
728
339
941
562
339
515
820
374
279
675
766
750
80
27
150
427
350
946
190
921
227
56
259
880
396
750
638
234
522
718
715
492
604
538
690
472
443
30
284
363
908
861
847
243
164
827
483
81
349
373
542
827
451
149
865
393
295
828
683
214
626
992
963
588
230
616
287
200
941
567
66
59
127
594
3
590
998
458
244
749
619
237
570
877
58
330
325
437
482
374
524
936
363
81
710
71
139
34
689
611
838
567
244
606
202
169
264
235
771
325
531
58
268
267
549
446
351
908
401
719
474
140
621
863
170
743
425
751
531
394
498
461
47
655
683
619
249
348
602
730
800
446
185
53
767
438
569
943
815
180
637
515
990
356
698
114
538
63
476
365
979
455
611
490
244
66
340
194
251
192
896
648
702
686
410
18
273
616
813
531
595
486
292
302
591
182
341
5
812
310
375
11
371
408
129
778
974
321
823
159
316
139
146
743
808
251
649
542
208
446
87
103
224
512
526
636
561
421
833
833
227
59
275
847
117
395
507
338
8
155
203
580
191
345
940
362
835
422
706
836
83
509
596
505
612
835
834
285
51
475
247
911
213
548
721
30
595
280
957
968
950
692
69
519
28
261
171
106
805
548
113
302
569
706
973
12
272
733
731
603
464
552
787
854
926
297
642
911
855
667
103
348
91
874
846
35
391
467
3
741
213
286
758
348
828
913
558
47
802
231
687
167
95
128
379
119
53
969
600
473
563
174
884
390
520
136
344
438
523
759
84
358
447
87
753
458
86
872
927
157
618
405
308
650
13
648
509
785
849
488
288
28
210
953
705
833
476
334
577
800
859
475
13
786
453
936
559
507
456
334
666
239
935
935
778
958
207
492
319
596
436
401
278
158
552
458
844
97
957
918
815
703
785
84
57
253
662
345
355
331
16
462
407
10
997
902
534
602
965
177
944
241
342
491
13
905
320
466
104
379
575
367
901
247
653
19
117
295
150
586
664
540
135
468
99
733
560
847
210
335
519
819
104
893
297
644
62
217
162
352
712
999
663
857
803
307
46
754
943
919
62
185
221
591
43
514
540
187
626
64
814
29
927
837
944
997
279
961
608
638
850
602
482
4
632
192
430
33
284
144
597
14
282
662
97
103
664
858
154
896
416
162
169
802
218
914
125
302
806
124
202
251
726
590
207
13
578
980
685
608
195
3
176
12
348
514
72
420
683
245
22
600
612
856
589
403
769
206
167
149
479
10
758
870
402
597
320
316
135
61
784
254
122
940
769
798
623
462
255
436
878
555
154
976
830
28
825
839
952
795
36
9
778
553
800
484
713
77
797
223
586
183
804
483
186
442
680
874
713
935
957
659
690
700
26
618
357
22
240
255
20
405
989
266
104
862
957
947
915
184
305
664
216
925
502
606
802
203
891
766
139
811
816
525
52
768
351
252
128
201
246
65
239
349
662
255
75
583
715
922
135
539
610
35
921
881
370
484
438
713
777
689
253
405
161
972
463
418
112
220
964
744
993
331
283
749
410
547
69
511
407
74
74
251
231
299
61
81
947
537
632
87
72
456
406
713
644
251
311
525
836
193
44
701
297
392
867
986
901
488
16
461
468
509
954
187
338
332
572
671
375
995
250
149
88
639
369
893
106
998
452
80
128
153
644
295
830
747
637
409
955
979
447
374
926
472
720
494
912
527
316
836
211
405
1
765
175
981
4
14
700
550
32
328
443
613
118
470
551
181
306
296
635
521
781
688
151
282
488
367
142
635
691
982
488
388
199
425
443
58
177
35
262
511
565
170
120
89
123
697
392
147
43
59
587
492
876
948
854
533
250
73
84
869
490
157
22
637
778
80
725
189
933
53
938
570
255
806
655
827
110
25
193
396
112
706
632
690
818
673
332
528
817
220
560
251
1
735
972
179
551
218
789
594
911
787
51
570
573
630
235
776
46
379
885
857
755
543
608
115
966
469
964
978
26
274
313
213
367
333
651
878
726
205
813
813
15
321
223
824
84
377
512
810
403
117
927
766
334
137
457
7
248
393
960
940
188
336
411
439
195
998
583
186
667
861
91
358
332
89
753
683
518
516
631
202
384
829
987
46
718
523
569
132
702
566
360
11
785
158
900
972
407
626
816
155
905
299
6
633
301
117
230
351
98
899
514
350
409
388
881
936
919
659
373
318
274
42
274
772
424
413
705
557
352
644
479
683
406
2
242
87
131
512
413
957
116
654
382
746
842
253
754
874
981
139
174
241
856
917
389
477
37
220
787
242
156
932
591
28
77
161
251
630
475
202
350
867
755
330
534
206
976
22
517
624
119
147
250
461
586
696
706
999
328
909
545
226
335
3
126
557
535
256
968
294
340
923
749
257
167
295
380
336
263
232
528
657
102
666
187
707
386
906
546
18
478
47
466
956
648
432
312
751
115
889
780
141
265
459
602
925
796
381
715
263
796
410
531
780
897
937
472
417
764
962
790
468
91
704
36
480
203
525
204
464
135
866
736
429
733
133
55
363
958
776
248
603
37
377
840
18
552
167
336
519
849
279
381
228
395
974
884
41
816
253
481
423
407
533
19
18
845
544
533
70
658
175
383
690
805
797
767
741
335
485
842
471
691
639
67
61
696
750
191
928
614
427
514
986
4
357
657
34
236
560
109
123
673
171
243
42
503
983
318
45
122
152
226
547
802
801
402
811
71
737
345
574
895
123
673
146
265
757
492
781
244
550
127
994
872
903
952
94
598
945
116
384
37
19
488
369
952
371
990
843
326
731
837
905
232
359
884
787
66
191
395
899
330
882
77
614
795
950
160
164
359
692
595
446
333
234
236
698
212
912
985
736
190
132
423
938
830
25
444
186
327
487
729
778
749
655
713
695
476
478
827
679
829
785
427
288
537
199
771
468
247
308
834
225
770
720
521
631
133
55
74
769
777
425
71
217
463
694
426
294
517
634
244
653
67
139
212
708
835
782
433
72
860
381
278
394
247
671
865
980
680
857
235
120
966
573
172
337
316
783
867
632
416
194
316
401
619
75
409
885
708
771
188
899
790
754
598
118
829
832
414
368
212
988
683
229
530
367
174
741
449
162
820
160
142
453
89
523
259
620
525
250
821
584
473
119
749
965
110
754
950
238
497
164
28
83
281
1
699
446
78
926
971
260
322
879
957
379
530
122
962
59
544
621
161
225
282
721
721
832
914
88
722
884
223
573
590
29
56
12
63
233
460
943
879
686
36
904
495
999
551
277
143
738
615
580
426
495
510
795
507
66
892
520
631
744
129
732
383
395
513
511
585
770
432
308
222
468
873
285
86
55
294
769
133
116
986
107
660
448
545
74
512
136
953
513
493
46
91
60
18
105
190
674
863
800
863
165
525
546
863
71
328
887
651
56
912
66
189
454
141
100
104
716
798
383
530
283
648
786
466
855
590
366
469
114
642
101
845
696
458
504
281
629
918
591
51
491
92
425
472
280
521
385
327
342
370
386
328
741
416
504
507
148
285
849
639
630
576
67
402
780
749
567
13
211
723
406
480
802
145
800
487
29
212
366
120
319
725
573
324
686
793
301
8
793
234
108
198
217
243
543
466
910
362
834
184
773
106
364
768
812
890
615
224
557
23
692
741
301
644
88
7
245
403
111
213
825
623
263
421
318
408
907
85
347
907
772
25
40
502
180
109
413
218
416
194
19
50
302
644
11
236
904
881
570
698
222
962
50
46
924
164
326
531
403
889
535
315
951
999
824
243
407
844
790
78
422
862
991
812
391
569
282
233
187
211
776
408
45
105
899
114
369
926
348
535
725
813
763
754
37
170
592
632
821
490
896
707
326
337
856
638
611
882
336
533
912
18
138
242
136
145
528
310
970
158
199
817
849
55
75
800
29
830
285
270
73
15
172
112
348
302
428
307
532
167
325
993
725
328
526
837
466
146
160
96
870
820
664
509
116
293
428
853
750
363
381
630
585
369
526
798
536
201
840
934
349
68
119
475
58
667
107
957
940
889
689
271
908
197
2
993
566
158
108
811
583
374
216
882
690
261
551
757
317
670
664
108
842
376
335
138
496
812
279
948
171
268
528
572
801
951
699
663
518
939
391
981
464
60
550
971
33
187
2
690
299
227
299
280
581
373
631
986
386
784
868
432
495
951
705
537
564
437
472
936
410
557
449
258
121
829
385
937
212
709
520
496
326
202
597
401
387
421
236
654
705
96
569
263
250
278
216
609
191
258
528
518
871
778
515
534
558
174
32
494
680
986
603
1000
775
923
745
808
36
806
742
462
174
253
638
724
286
417
618
491
581
75
64
913
67
678
296
374
802
796
428
855
882
546
832
935
110
153
391
364
224
825
134
699
620
494
835
975
745
767
884
753
714
672
28
189
271
359
629
932
887
975
705
807
658
320
344
175
683
769
29
844
765
128
79
175
594
794
618
758
74
610
496
691
78
258
115
988
708
918
395
121
95
190
6
34
883
919
554
212
789
704
625
574
60
309
463
10
231
108
580
346
302
15
796
429
348
30
32
790
627
659
682
30
444
996
551
695
368
158
131
892
963
124
499
318
797
749
178
681
369
869
150
740
555
992
586
281
307
984
995
428
645
559
193
596
429
142
957
248
999
842
222
396
533
868
453
414
910
702
153
314
908
735
525
123
831
896
975
351
31
974
487
845
320
987
907
519
12
944
805
524
138
788
922
469
425
130
153
165
791
641
646
227
427
586
872
558
17
76
476
395
307
17
265
112
989
666
993
435
856
909
456
56
265
107
1
903
210
395
759
476
746
845
776
727
50
773
765
938
161
785
359
924
317
860
610
688
852
891
969
334
823
603
119
650
877
729
876
268
411
621
800
738
701
242
312
154
558
610
878
190
994
327
245
563
561
785
835
933
304
996
112
226
704
778
170
212
631
185
837
894
49
677
312
972
163
499
708
169
752
127
927
718
695
466
958
656
34
668
41
871
513
67
124
63
214
740
715
824
737
632
517
103
450
26
212
209
424
363
388
305
71
63
866
111
921
73
623
120
652
291
118
205
263
909
37
907
230
973
413
66
611
134
617
687
292
659
928
135
25
251
285
760
452
115
325
88
68
35
13
558
934
900
4
575
27
262
378
350
280
11
540
595
762
189
882
645
912
280
281
976
459
92
622
435
449
435
304
700
797
407
149
609
922
16
187
74
307
266
580
179
284
561
306
970
944
507
322
160
853
741
617
632
131
419
955
235
592
376
117
779
801
811
147
558
359
494
461
10
214
180
641
300
537
871
425
724
549
39
685
830
668
726
180
71
566
704
454
610
6
490
580
641
832
95
320
189
122
830
931
917
300
342
37
905
958
358
929
691
250
255
185
156
971
686
747
962
865
958
441
347
271
773
459
34
961
235
524
897
890
726
267
823
644
391
882
891
570
474
239
583
901
673
470
264
741
22
510
565
417
563
176
618
542
168
159
338
110
485
756
40
75
893
211
755
183
728
341
526
247
835
479
810
681
636
849
894
870
524
199
868
853
369
891
272
907
303
666
16
814
785
6
545
2
117
329
508
296
236
288
374
696
586
46
562
488
342
764
628
968
50
467
975
257
31
82
376
4
497
742
313
245
409
351
770
330
564
18
654
634
241
220
458
702
27
426
130
586
120
518
373
413
463
518
743
622
603
38
15
886
1000
364
209
482
874
308
603
730
341
761
807
210
732
417
684
615
486
262
482
498
961
241
88
652
818
989
671
558
375
631
332
135
495
419
616
31
89
429
823
814
307
628
135
722
825
354
504
90
436
671
86
158
295
119
775
758
791
76
34
252
968
353
821
224
843
646
831
599
762
154
706
313
129
38
120
147
480
359
841
72
874
811
991
297
19
868
698
222
370
918
278
675
670
600
875
135
79
827
233
107
49
904
882
497
597
757
576
564
464
528
256
44
937
700
147
98
776
455
876
15
784
224
649
39
33
207
576
219
661
232
236
969
460
435
437
859
177
156
908
243
571
885
364
508
778
280
980
83
481
73
807
884
691
154
88
505
709
239
740
316
968
307
487
606
14
433
276
38
826
718
625
978
83
793
507
727
687
740
222
266
104
363
451
905
610
449
364
142
540
21
214
111
43
622
320
220
637
364
726
997
50
788
103
667
490
613
670
717
461
76
982
543
696
890
465
283
611
811
463
137
904
429
415
758
594
58
451
815
821
572
390
450
211
580
598
146
455
619
651
483
29
917
72
340
663
866
678
409
240
533
228
248
303
424
127
736
239
254
932
463
525
630
260
536
91
435
510
275
27
155
482
508
323
583
583
509
303
123
830
155
715
376
242
517
200
839
545
968
4
295
348
831
326
935
66
751
697
321
893
266
110
50
93
494
400
412
708
472
577
337
547
431
350
705
971
223
119
413
567
182
69
658
272
945
826
560
889
119
325
590
219
269
177
278
237
351
814
318
823
617
140
500
576
985
247
861
147
95
975
79
340
530
767
403
960
215
304
349
12
622
866
983
391
205
238
866
655
438
237
616
805
943
620
648
265
453
228
800
409
769
673
503
53
448
829
616
305
706
618
270
30
879
367
887
5
850
53
59
494
45
333
86
611
957
146
828
294
664
17
963
188
491
947
862
982
769
882
99
36
653
362
8
207
65
841
835
863
164
598
731
980
143
880
288
102
819
123
329
661
189
681
414
849
82
446
889
781
94
197
315
165
237
264
822
78
97
327
264
737
878
785
44
334
364
139
137
120
736
268
149
904
144
307
216
73
141
82
153
30
401
683
580
694
605
843
634
310
55
196
521
378
325
422
359
942
246
482
710
812
610
879
725
594
242
942
62
499
507
616
599
25
907
140
504
558
137
312
384
806
859
716
113
785
524
434
399
772
719
257
323
204
931
371
900
58
94
776
153
610
962
500
331
826
191
747
685
831
969
730
627
62
199
858
220
711
513
323
659
47
846
916
841
28
924
49
152
362
761
576
331
871
195
970
651
546
548
818
650
173
764
407
382
775
709
354
441
427
932
890
70
161
813
382
253
796
944
139
64
545
557
370
457
116
3
382
343
901
612
796
50
529
731
556
228
697
394
14
805
741
853
199
903
846
164
676
480
127
123
68
51
100
99
383
41
187
757
808
209
999
214
496
98
84
897
197
657
742
307
276
23
253
868
788
939
597
297
786
451
320
262
987
331
703
607
222
122
822
104
873
859
384
498
607
264
458
626
308
670
343
478
21
994
869
419
141
872
335
195
789
415
179
980
554
149
195
463
309
397
790
925
848
740
336
289
440
220
160
390
233
624
61
86
634
560
569
382
403
978
329
425
226
511
92
108
960
251
818
3
566
603
280
548
991
431
406
702
920
25
285
791
332
336
434
891
309
510
414
899
341
20
364
368
719
584
351
335
210
609
688
578
349
146
542
202
136
170
217
8
835
577
469
828
885
426
94
908
611
835
811
462
566
410
161
715
848
252
732
104
647
392
535
848
636
979
769
725
534
648
504
751
336
297
81
422
244
918
112
332
286
235
25
246
994
625
44
200
271
227
315
754
735
192
680
339
456
736
239
524
946
40
411
106
682
75
684
183
239
89
614
718
319
870
944
692
565
860
862
597
95
877
565
920
82
495
265
242
578
105
701
780
983
292
33
502
235
463
724
432
830
567
632
408
246
368
86
337
208
947
153
953
501
47
653
178
725
409
739
467
444
468
11
911
694
661
208
478
710
117
490
471
10
681
214
204
712
79
870
903
53
511
568
79
612
126
31
938
652
632
586
942
352
770
26
275
411
495
566
801
671
487
308
104
958
56
776
298
279
580
122
625
906
386
539
290
620
364
263
589
584
680
307
167
895
656
732
129
837
273
819
832
279
764
993
408
443
467
712
450
488
429
838
837
954
268
194
394
152
437
90
899
3
359
653
16
641
850
641
841
389
892
306
137
286
67
549
752
479
932
249
408
169
172
203
802
738
636
530
931
900
270
767
657
427
489
106
784
70
782
423
342
785
200
788
351
287
890
121
67
224
66
555
594
998
593
845
797
367
905
833
663
485
98
628
569
945
877
606
497
756
471
795
838
890
783
489
297
213
790
190
371
138
674
94
22
307
227
355
448
983
842
341
311
584
787
917
404
989
540
542
457
806
652
661
768
802
4
393
344
79
335
31
533
383
605
231
483
148
107
45
307
477
225
170
549
300
403
861
388
364
183
973
46
541
159
496
10
198
285
788
26
982
290
407
299
478
847
92
965
596
772
963
692
456
756
476
235
786
24
998
853
527
916
116
779
432
551
985
340
918
646
57
903
348
65
522
559
202
877
668
333
312
525
154
766
457
219
881
911
114
812
747
129
118
232
75
602
284
997
913
139
813
490
725
679
428
405
219
870
746
261
172
254
354
932
177
868
415
894
137
533
402
330
239
691
732
229
824
449
670
402
299
355
831
638
751
562
46
329
432
224
119
500
646
377
232
580
860
104
376
217
46
465
179
105
387
555
953
87
437
39
617
786
788
705
358
619
73
881
596
330
887
71
798
128
817
757
223
82
320
169
467
692
630
717
14
453
216
921
630
785
570
932
540
919
284
137
813
201
402
951
288
810
50
588
637
66
202
532
927
333
223
441
107
49
550
435
385
538
433
73
405
81
192
826
426
195
841
538
484
181
265
182
646
778
329
199
11
214
466
850
77
11
294
305
475
660
772
639
800
696
259
520
492
732
567
113
269
767
799
690
620
421
299
452
257
788
522
348
228
305
31
46
600
336
85
741
227
197
491
214
170
998
496
394
705
969
484
680
757
923
173
480
775
130
796
712
764
133
519
517
180
999
928
70
924
72
984
156
462
543
295
147
433
72
859
93
738
220
744
956
200
716
289
355
395
405
497
856
115
289
254
496
243
236
903
160
541
783
479
468
933
955
587
17
424
165
547
183
689
86
881
221
721
849
675
34
660
16
635
836
62
605
899
907
434
831
779
773
814
340
668
436
519
473
254
736
995
462
73
534
843
560
155
155
690
797
193
465
575
439
228
21
904
248
320
973
813
325
58
761
37
672
28
245
938
583
583
537
394
659
332
723
699
504
775
635
403
193
433
28
312
147
626
817
488
392
778
534
135
84
778
794
747
772
420
340
712
127
433
213
878
770
932
676
246
373
384
795
24
457
347
2
799
141
301
525
454
662
872
325
757
643
620
41
278
953
357
507
384
464
653
606
594
204
768
565
495
187
791
321
763
673
137
264
560
742
897
463
733
828
747
493
788
312
264
95
577
355
516
206
985
883
751
346
693
78
845
952
254
755
950
7
317
721
394
255
810
621
515
324
292
745
539
365
492
19
998
150
259
694
499
157
748
260
811
844
709
784
357
187
158
148
194
555
549
657
483
180
791
89
267
792
133
546
79
472
945
410
569
428
919
272
845
169
72
975
667
525
175
806
8
50
948
424
714
624
424
342
186
473
367
632
60
407
543
87
839
819
934
199
296
855
691
229
297
227
744
68
317
322
500
791
590
650
997
603
293
140
196
322
582
502
860
699
650
680
582
633
136
405
113
764
421
990
56
50
309
819
397
653
591
413
89
864
808
568
90
886
285
837
841
958
193
525
145
734
926
455
841
809
582
992
407
999
719
197
904
319
815
528
232
577
78
213
713
194
352
254
453
132
849
68
739
808
366
903
991
466
461
525
431
783
779
129
661
411
352
77
843
722
234
856
982
334
284
609
137
812
228
672
30
582
428
851
615
253
911
553
649
442
306
495
233
719
278
419
549
466
976
141
757
306
741
312
126
224
60
453
985
682
328
196
11
831
481
173
715
379
993
659
692
818
27
898
397
458
771
42
724
194
101
741
617
980
773
745
357
764
267
298
865
13
258
752
612
51
467
542
250
108
264
629
110
388
8
557
86
469
545
523
219
30
690
242
541
272
796
924
297
350
694
392
745
831
412
220
100
468
72
787
71
574
255
304
650
878
987
200
473
38
181
755
108
919
24
450
100
332
315
375
462
169
228
912
569
793
298
75
77
83
695
113
612
759
12
413
403
475
856
328
992
710
509
269
401
662
802
292
883
191
139
460
480
357
276
455
130
255
112
283
3
645
175
399
69
367
983
285
648
618
701
322
829
984
798
753
202
513
501
739
304
259
890
713
555
414
429
782
197
591
564
448
975
876
777
751
836
956
158
806
943
33
98
812
676
250
217
825
111
30
978
983
661
88
770
422
183
862
383
797
882
760
953
204
760
946
420
306
192
319
454
625
463
17
657
294
720
990
528
49
878
175
335
867
444
371
573
463
118
158
108
798
263
123
494
866
67
192
159
281
233
113
354
611
596
977
814
986
900
210
39
212
305
657
16
558
900
197
943
378
588
856
269
956
258
509
890
321
79
99
918
275
55
740
795
568
778
213
876
949
394
141
806
839
401
537
168
477
837
561
894
717
761
14
890
63
747
534
158
175
231
515
470
824
194
472
307
185
588
960
318
451
372
177
79
966
784
72
249
473
686
113
567
613
462
859
279
514
939
168
706
150
239
132
670
197
304
839
395
248
85
665
321
576
994
68
3
160
335
818
880
250
811
166
244
619
135
698
192
551
2
553
658
726
373
204
935
454
98
253
184
96
403
533
570
95
652
364
573
790
100
974
955
46
67
950
613
790
62
76
253
750
930
68
427
40
995
525
974
743
527
888
303
333
590
305
297
574
470
106
828
547
446
983
998
559
612
118
278
14
830
192
625
761
665
651
541
29
328
651
774
853
218
812
23
781
698
300
577
745
54
767
304
214
462
381
765
121
963
500
523
601
41
555
929
297
472
362
720
828
489
372
827
19
158
368
642
691
125
696
865
112
482
448
736
688
614
895
103
129
309
106
324
108
285
898
408
375
558
200
200
413
767
439
614
967
628
800
130
201
205
72
801
824
557
317
4
248
644
791
60
719
70
384
612
428
352
340
354
800
945
176
306
498
150
534
335
224
386
135
10
41
49
188
243
783
303
303
336
79
731
474
235
692
702
724
787
122
697
793
768
913
595
625
282
680
106
495
891
662
106
315
497
497
636
26
568
10
711
38
759
39
889
335
389
695
766
213
479
1000
158
629
288
570
776
773
362
834
608
792
116
307
59
571
888
611
155
73
212
260
734
51
796
683
618
853
299
642
226
638
559
953
921
586
349
391
691
559
96
761
412
248
259
383
46
61
198
648
593
860
469
887
539
207
419
529
816
937
867
396
20
742
408
42
737
933
609
241
344
700
928
79
590
12
712
621
588
741
48
794
579
745
528
955
1
402
248
584
922
533
472
692
859
731
422
824
383
876
616
975
666
7
16
373
305
786
996
806
357
504
802
124
471
951
771
606
449
505
2
109
327
467
584
317
295
26
780
939
385
226
724
425
885
953
315
588
839
294
988
581
860
550
956
803
702
851
320
673
667
548
197
645
25
543
610
532
26
269
454
943
980
305
265
640
151
493
891
676
870
10
407
497
376
27
774
547
365
507
822
540
136
174
99
277
514
897
11
754
457
578
474
390
330
108
968
372
403
128
509
490
6
129
543
319
139
899
180
329
60
452
503
266
535
323
923
162
953
590
651
480
508
51
438
162
991
717
626
823
497
224
448
929
558
792
237
570
771
87
888
341
979
729
455
939
489
177
283
293
562
460
407
465
678
522
277
60
628
957
16
623
572
579
580
336
570
558
116
341
971
841
797
198
250
176
182
296
559
355
892
524
279
221
26
147
348
567
266
629
981
313
70
81
677
239
698
143
97
130
70
337
446
373
626
396
528
963
396
586
499
351
513
836
659
806
226
325
346
754
288
244
78
86
289
666
642
571
85
764
734
327
989
183
96
738
799
23
834
376
57
684
744
228
160
864
31
975
61
84
754
155
345
445
707
807
416
750
198
573
346
742
394
308
739
972
450
959
588
715
647
856
671
456
164
563
545
661
899
155
519
977
969
94
325
517
124
899
355
595
349
445
477
148
337
44
398
69
350
414
496
865
245
284
830
371
56
635
780
721
597
544
386
445
10
157
7
323
26
584
337
595
999
406
194
218
445
45
732
161
883
461
898
80
296
516
10
369
395
869
328
251
191
456
346
497
81
444
332
391
761
49
342
762
818
762
508
259
756
332
934
562
571
319
927
888
697
172
612
972
328
532
205
690
633
924
341
638
378
74
910
242
799
853
766
470
366
224
549
785
238
659
597
762
800
196
611
700
667
667
257
649
923
668
423
480
163
543
177
44
149
943
785
976
444
593
341
439
469
471
640
920
818
989
954
228
508
675
264
13
88
502
330
432
165
299
699
86
966
574
379
987
6
725
447
103
800
808
303
977
834
973
627
37
661
217
351
459
118
335
118
872
91
800
772
778
204
859
400
265
71
290
301
517
480
128
95
629
991
148
811
469
926
56
448
660
699
144
985
284
724
640
217
576
906
88
129
684
852
892
742
591
505
573
478
383
835
400
152
386
620
779
618
116
90
217
962
603
409
697
882
419
525
61
550
637
942
338
840
54
328
995
246
222
700
768
235
214
126
82
21
616
492
48
987
924
922
698
24
373
838
410
130
263
507
461
443
985
137
249
784
306
259
4
433
920
143
776
542
943
506
17
107
806
573
392
862
945
888
294
810
807
888
139
359
951
382
724
191
433
544
785
75
246
922
444
776
323
279
404
122
485
790
599
70
767
213
500
287
763
203
429
391
974
837
43
474
660
770
633
951
376
173
964
103
173
746
216
900
468
666
966
809
665
261
281
346
971
605
724
72
237
946
468
558
318
123
804
636
157
633
1000
876
755
80
887
830
251
57
542
34
555
377
130
148
392
734
332
905
130
505
739
716
487
438
288
900
54
369
100
493
600
962
49
506
265
712
32
333
117
74
156
706
974
656
17
259
87
858
838
264
34
196
458
573
134
859
93
126
812
663
330
661
592
709
43
403
811
493
785
598
750
157
748
699
571
818
548
938
361
683
957
753
630
706
187
274
792
123
480
643
536
87
589
456
482
973
164
41
213
670
228
566
582
304
656
251
172
403
46
17
939
467
429
22
355
271
41
391
805
1000
762
377
626
491
888
877
918
434
644
939
173
399
173
424
864
900
806
498
350
581
80
969
841
734
324
810
723
52
605
362
233
488
528
855
334
526
632
836
646
39
146
55
474
87
453
150
281
711
906
184
450
804
569
764
803
585
51
952
152
103
842
655
99
432
467
522
412
922
339
636
564
934
389
421
441
985
453
306
812
132
892
603
853
710
127
975
959
259
614
647
53
581
255
188
872
401
431
324
6
13
617
710
22
650
34
29
653
28
900
87
849
684
613
806
504
276
661
137
765
939
112
966
159
219
302
1
207
807
755
527
798
519
387
597
377
539
810
970
895
923
894
606
562
764
780
44
677
219
224
351
177
814
497
617
110
38
52
172
938
279
823
795
410
571
357
173
791
456
895
822
368
496
201
446
507
636
154
476
998
656
108
141
77
390
582
958
285
311
98
986
313
281
885
516
41
993
742
137
284
694
546
290
149
273
784
451
495
685
991
113
715
998
197
561
949
44
289
259
885
783
720
355
485
990
125
375
366
826
243
738
37
171
979
87
897
333
591
769
707
909
734
21
216
112
564
550
809
842
159
216
267
135
293
486
253
412
980
181
682
110
267
758
942
861
498
79
813
388
590
145
55
667
954
770
807
720
319
543
376
590
104
710
524
698
951
802
46
760
703
942
304
912
403
745
405
483
875
669
844
130
58
470
799
679
544
136
721
50
710
320
505
149
414
823
325
421
496
108
169
71
188
189
208
601
144
491
398
429
983
435
145
821
113
570
409
269
160
49
401
745
467
118
860
992
13
102
988
89
560
12
287
82
27
551
927
379
859
766
760
956
669
18
786
132
503
252
681
865
914
794
10
13
408
987
843
17
958
67
823
783
16
593
168
348
836
583
700
62
22
301
748
615
892
258
708
234
643
597
100
744
317
464
208
31
278
394
767
602
202
978
707
600
640
321
669
618
820
838
863
100
680
14
840
940
98
588
935
141
896
505
456
32
471
655
171
597
857
80
288
916
591
845
922
617
20
223
977
456
588
194
497
866
179
497
786
378
850
662
28
299
116
488
707
948
510
420
858
35
303
171
76
482
124
692
236
110
721
308
99
110
223
428
324
174
139
744
912
476
708
251
795
427
429
714
91
302
295
466
538
349
751
526
748
982
459
70
236
15
689
229
599
639
599
42
848
66
675
136
666
317
363
377
248
610
272
304
496
243
353
610
554
622
165
351
39
319
661
817
913
647
922
206
589
281
946
340
759
835
872
666
429
201
11
700
813
634
678
869
70
255
74
472
348
677
434
52
233
924
214
76
491
666
372
194
968
77
672
748
569
304
509
429
557
584
985
157
785
585
810
313
84
404
149
430
731
972
719
341
837
322
273
552
515
289
113
303
912
745
425
395
515
356
31
345
689
256
636
851
40
682
752
867
52
837
264
819
401
759
55
596
509
932
167
28
179
764
746
463
610
796
414
935
700
713
775
148
297
785
465
186
988
374
542
393
88
526
43
380
713
483
200
461
235
135
160
126
912
74
66
349
257
912
977
622
490
959
443
612
487
192
495
256
786
677
457
920
526
269
241
963
707
442
729
711
754
580
447
323
212
915
969
546
292
567
395
637
160
827
822
33
52
891
909
484
791
765
552
441
783
931
182
474
367
681
386
350
239
743
416
208
725
903
614
967
887
896
962
662
788
717
764
966
774
873
927
507
274
815
446
960
470
948
458
77
151
155
685
972
218
737
152
1000
584
44
836
525
685
821
300
706
403
485
404
197
972
139
935
314
372
91
354
779
762
71
867
643
759
124
753
369
754
373
187
309
984
449
807
51
793
419
931
177
378
463
636
984
311
388
866
639
301
291
378
47
5
360
605
452
148
812
433
383
873
469
511
147
23
299
941
463
16
547
88
214
78
741
839
532
845
945
828
589
808
135
42
556
587
437
712
142
811
308
629
15
237
407
823
192
779
61
66
182
352
715
789
255
751
694
844
727
327
952
989
541
888
204
76
777
49
980
760
909
293
719
909
781
74
946
38
301
648
957
826
805
727
205
147
866
679
763
167
116
756
802
698
274
731
35
453
161
450
467
800
957
960
575
350
318
354
282
40
275
922
673
345
24
984
444
946
816
572
480
472
142
177
818
875
359
941
460
678
681
979
180
549
201
25
480
640
243
215
352
689
864
627
332
139
792
128
627
452
400
209
748
304
619
740
193
634
796
986
196
319
624
825
447
838
213
810
18
422
255
639
400
72
40
601
706
279
741
807
590
480
18
340
369
57
472
993
175
164
904
908
685
798
639
283
139
300
424
278
903
897
495
383
784
14
500
831
682
795
857
57
928
718
996
828
822
200
711
442
496
861
453
284
188
424
26
127
421
314
575
791
387
670
150
148
35
827
437
34
980
347
393
290
372
285
665
44
291
750
664
346
62
708
57
430
123
681
284
218
744
200
416
140
908
849
313
14
167
320
547
491
114
126
40
533
407
559
682
514
947
994
463
772
886
900
812
862
659
762
901
369
97
656
659
811
997
397
86
113
236
48
294
129
613
25
348
917
148
234
611
816
470
466
770
896
271
730
177
2
551
359
404
463
499
453
173
508
431
725
936
555
152
823
421
855
487
42
392
415
459
645
741
721
831
169
761
558
246
717
122
137
238
692
647
814
752
381
439
921
632
543
306
605
736
465
716
138
936
945
690
836
325
332
168
593
322
46
357
57
252
983
506
626
178
805
356
782
431
434
246
746
329
962
466
111
29
806
22
843
325
183
378
57
476
856
116
30
831
711
705
208
73
887
719
362
442
94
927
636
139
259
647
960
453
837
623
181
856
950
500
313
391
46
620
519
259
871
513
765
370
412
912
643
23
901
573
472
555
95
466
672
996
845
153
338
294
369
277
109
629
773
142
704
718
79
286
962
757
437
816
808
858
264
21
361
381
743
431
284
583
524
82
573
393
466
186
223
903
955
825
550
413
680
534
565
443
737
864
417
166
591
89
841
144
718
248
533
73
756
605
528
480
559
435
27
985
874
781
547
747
281
421
951
231
608
870
674
230
304
633
443
412
159
324
866
288
287
461
548
609
538
984
798
673
375
529
586
938
740
533
105
613
678
80
222
626
284
209
117
482
48
82
617
27
831
18
98
90
515
912
321
267
821
930
260
906
937
752
788
430
347
798
70
757
713
36
670
469
728
997
627
806
634
573
275
269
472
1
112
864
207
217
842
528
600
409
607
330
27
175
512
393
535
145
768
311
44
345
167
22
8
821
161
732
788
270
498
495
690
505
239
474
899
589
977
758
516
385
269
843
540
93
603
513
889
54
696
936
517
748
587
240
244
426
737
677
202
299
355
782
659
495
210
604
581
320
521
147
484
450
872
685
9
819
724
476
184
868
792
724
510
770
472
341
865
978
516
159
702
171
387
800
180
242
51
292
673
509
499
888
572
720
944
271
402
730
481
467
77
990
959
354
539
81
967
606
113
575
132
266
653
451
352
933
999
145
232
706
247
50
720
618
134
967
875
290
150
558
783
913
48
338
831
489
102
103
994
444
795
9
282
371
626
677
213
654
381
815
60
173
501
856
574
96
185
7
123
39
438
938
453
487
596
42
796
439
778
863
677
702
295
783
550
96
304
526
373
143
917
388
322
457
483
343
89
144
36
343
672
21
739
196
97
346
677
393
269
56
577
102
22
220
819
368
498
530
646
237
169
162
602
113
186
288
64
167
229
825
171
44
742
777
600
400
219
635
399
49
207
889
537
630
840
646
911
719
994
695
296
278
610
175
143
165
343
137
161
195
448
884
376
892
747
986
680
648
579
232
963
477
881
593
574
934
927
490
197
38
797
257
248
264
364
723
533
731
402
251
215
747
490
426
123
762
500
798
33
614
814
744
858
660
902
573
581
33
489
439
398
786
391
501
754
128
1000
42
867
327
539
924
908
69
444
858
194
265
673
431
649
345
299
757
300
44
484
896
775
587
821
913
582
943
64
537
483
539
477
938
405
379
389
32
141
70
41
67
567
632
507
7
233
300
260
328
926
739
968
439
297
247
230
876
667
527
247
772
939
571
883
911
897
43
192
805
256
300
209
858
542
855
766
647
248
646
141
738
737
969
594
295
58
272
216
895
178
350
90
624
115
621
421
520
143
286
190
859
510
186
874
638
121
71
948
807
198
804
219
485
287
771
517
423
843
374
894
449
254
35
302
488
410
580
654
12
814
204
273
475
802
506
12
349
639
202
740
874
164
238
464
532
133
948
84
555
655
832
674
492
897
276
229
952
783
249
991
192
521
606
872
126
638
128
950
656
646
845
731
4
591
505
657
804
518
267
347
349
313
848
190
257
484
354
189
261
174
12
425
544
129
831
105
253
364
987
919
378
30
404
366
211
324
544
752
938
320
911
840
790
306
149
470
321
513
894
55
36
154
751
525
604
324
828
174
297
634
318
854
175
407
482
153
712
893
223
493
274
241
176
596
844
886
847
369
909
620
887
88
238
847
17
675
579
437
479
12
977
137
138
448
479
739
518
124
517
50
131
274
108
251
424
417
362
419
545
243
459
820
942
19
382
81
448
560
227
500
176
172
816
566
974
451
686
226
673
545
265
558
624
258
185
281
282
398
235
984
694
875
430
24
805
382
8
808
441
910
970
576
646
981
920
848
851
225
581
427
969
866
323
220
116
738
450
163
95
694
793
222
196
654
358
787
123
101
392
759
65
486
272
317
23
928
9
612
515
542
30
642
678
938
117
171
626
754
40
824
620
542
463
433
265
1
170
313
451
316
512
356
235
320
257
784
178
316
691
915
922
639
912
546
956
465
733
415
569
952
536
728
983
531
668
924
531
45
742
714
520
472
267
878
130
204
585
518
290
152
994
216
966
520
301
63
736
714
751
606
804
704
457
568
875
125
984
611
397
549
708
511
746
650
942
866
861
430
572
852
674
295
142
599
460
503
906
499
859
475
336
87
923
472
8
212
3
428
541
866
644
89
521
391
995
147
921
787
388
781
562
480
856
852
585
247
369
28
751
924
467
265
584
177
800
416
77
888
792
210
678
613
290
481
761
211
594
316
656
944
694
765
548
279
896
824
276
166
290
705
111
795
641
788
107
706
380
266
483
632
331
176
843
680
694
454
694
252
597
642
880
641
200
109
48
370
964
998
199
155
184
615
698
844
284
645
876
800
727
431
471
981
579
483
753
398
917
581
86
726
293
77
76
587
434
496
222
437
169
97
149
36
359
865
94
202
261
289
313
919
314
366
460
911
811
516
789
447
320
452
255
530
972
628
190
564
954
557
249
297
627
171
760
124
698
388
434
782
791
232
632
144
573
186
43
32
319
906
655
956
429
106
389
250
936
181
599
333
511
106
945
716
794
248
783
948
145
994
345
908
76
509
427
710
681
528
228
32
363
798
280
851
37
701
98
417
763
592
325
801
471
632
636
474
34
224
612
230
431
675
127
193
197
380
514
794
611
667
941
366
371
377
970
454
562
447
231
11
820
15
503
426
487
38
282
688
450
12
66
106
62
150
188
673
246
290
23
550
422
882
769
200
387
632
814
332
652
777
928
217
22
488
94
879
410
630
849
371
955
936
416
600
543
675
730
183
718
77
740
399
804
66
959
604
776
384
333
398
42
781
935
428
851
766
852
962
467
357
928
260
601
377
661
347
865
90
682
989
144
431
693
558
873
594
666
992
169
548
389
252
661
873
161
502
613
399
542
758
672
298
609
872
151
668
62
566
236
121
887
668
985
600
997
834
211
436
446
819
668
661
334
788
991
729
490
267
953
73
403
54
503
404
604
831
904
241
914
285
60
931
532
235
761
350
943
655
167
520
9
518
291
650
413
39
665
455
836
273
618
187
863
991
813
486
618
430
775
21
577
817
168
927
839
527
448
173
342
356
393
350
211
695
676
848
421
275
334
16
459
800
470
688
510
983
2
452
970
449
614
72
755
478
303
805
992
830
110
741
110
719
643
864
304
573
30
274
604
353
767
915
518
110
747
155
302
876
441
803
467
225
784
492
24
565
850
855
330
760
787
622
114
757
818
554
430
681
331
142
812
316
208
118
885
955
576
128
36
358
131
363
527
966
988
559
610
577
816
513
773
394
635
228
260
748
254
829
373
798
775
643
904
239
984
232
204
331
738
697
62
620
630
277
547
321
341
127
417
691
61
161
514
647
312
32
834
523
272
627
551
146
476
956
398
330
361
928
198
481
678
330
251
268
221
244
529
195
696
272
304
485
784
183
949
904
616
20
95
5
967
281
266
833
420
524
378
279
652
625
230
151
769
960
210
485
325
9
949
818
222
184
618
909
248
261
861
898
374
402
114
990
259
633
200
540
664
574
646
855
568
408
117
95
825
314
747
441
177
102
882
64
224
317
967
513
768
929
860
844
576
570
865
186
177
399
164
473
784
886
125
756
831
211
180
832
863
500
586
954
743
827
372
15
223
781
252
918
935
377
61
814
768
304
566
498
411
781
92
546
575
811
512
706
27
242
563
647
114
834
336
401
885
503
55
778
279
991
942
538
106
501
24
370
686
231
269
567
105
334
288
827
5
550
183
805
714
660
787
846
291
932
704
880
785
948
32
558
567
558
607
559
129
203
935
442
144
535
703
551
896
78
929
234
412
664
343
127
774
500
560
267
94
34
962
622
612
225
987
969
200
440
691
155
326
947
41
460
173
911
362
166
213
864
803
472
956
853
434
570
28
852
842
27
981
593
663
648
440
628
564
604
309
333
545
971
725
555
336
732
407
776
849
969
818
988
313
227
315
971
785
952
84
287
145
532
174
106
607
685
419
919
987
854
361
317
701
838
543
266
496
73
723
728
463
897
602
53
723
609
644
299
514
361
448
533
101
728
926
197
53
324
192
822
933
973
742
753
403
751
914
30
60
689
128
250
43
49
629
87
651
845
763
66
686
756
879
404
269
611
29
948
192
434
565
759
650
395
576
431
387
92
874
65
868
304
893
672
59
726
426
904
821
221
620
218
712
811
996
972
192
977
584
487
857
820
425
840
335
304
804
959
905
103
589
658
747
537
947
374
950
716
533
719
58
272
981
439
6
17
134
1000
710
430
7
816
491
135
911
102
753
450
508
413
5
612
840
216
440
540
510
252
715
828
292
15
534
227
386
422
885
31
450
614
517
636
293
897
362
44
829
1
108
214
485
233
62
2
750
567
794
869
983
418
758
683
893
653
268
703
347
388
723
269
283
233
973
825
533
983
30
629
328
146
168
931
75
365
553
440
771
513
196
620
84
162
975
745
668
240
868
642
799
858
358
765
753
743
161
552
670
203
63
57
810
292
636
452
232
661
85
345
911
630
254
805
238
160
95
608
636
739
535
509
798
674
738
258
625
923
200
696
517
394
999
487
105
580
769
963
853
520
678
117
217
323
736
985
210
931
272
536
292
339
303
729
477
269
832
550
413
129
801
719
18
184
568
232
889
23
254
54
354
786
286
108
507
126
749
147
1000
544
927
245
660
564
543
385
237
184
778
99
734
210
78
168
761
325
153
171
353
248
330
36
489
894
583
845
349
251
178
839
975
580
834
942
575
640
704
157
206
846
291
869
916
693
607
431
739
276
508
409
118
484
157
505
431
265
986
504
297
395
370
541
258
335
468
607
240
107
314
514
936
581
311
431
857
207
737
743
364
36
723
188
411
800
441
164
98
950
934
637
369
788
66
304
366
281
589
535
9
689
223
158
350
889
909
309
128
159
150
438
730
226
439
49
477
598
305
888
721
527
421
140
777
496
588
624
98
774
87
116
436
400
107
716
947
963
442
578
330
661
667
459
127
426
319
244
253
349
409
41
677
245
767
481
913
972
273
575
673
10
71
878
570
913
207
682
250
458
953
715
702
709
311
105
799
753
754
394
286
583
328
46
561
424
651
170
577
860
157
188
117
236
211
765
497
176
331
610
505
517
827
698
977
606
616
43
962
697
838
403
897
128
166
197
509
94
389
486
461
44
911
79
899
206
328
680
131
272
102
554
635
34
693
350
486
643
185
562
63
201
580
619
608
602
435
733
778
894
461
451
877
950
24
333
824
888
235
269
266
534
451
766
436
179
577
945
518
21
501
74
296
999
370
244
805
147
172
151
567
220
290
50
741
101
237
629
165
425
827
954
862
915
365
631
28
170
305
48
925
32
986
871
361
195
694
994
658
425
317
776
95
614
271
706
805
914
231
623
53
340
424
224
592
591
888
866
560
288
160
622
979
484
311
130
480
97
103
13
294
849
328
575
923
415
48
5
135
755
557
578
114
997
360
169
638
838
363
956
152
153
780
371
475
377
955
170
656
301
425
34
209
81
57
227
534
654
42
670
848
242
824
243
359
307
824
265
730
138
933
854
102
241
315
340
93
830
16
952
191
20
232
785
942
763
874
441
152
195
233
782
87
791
133
983
320
684
952
412
445
543
285
917
334
656
829
766
1000
261
268
838
442
675
557
658
994
515
33
521
825
137
182
256
257
425
759
157
435
260
165
218
750
295
648
99
96
151
953
172
709
809
472
595
842
720
860
615
993
167
301
186
742
454
316
563
506
819
90
752
692
334
764
538
791
685
43
399
913
397
788
720
184
12
936
648
153
729
242
349
118
249
825
632
813
894
450
705
453
607
807
259
511
87
767
259
943
171
775
546
789
504
62
809
197
736
326
588
987
727
912
697
763
735
256
859
495
123
572
437
176
931
322
806
884
537
3
334
102
739
184
946
649
793
527
920
936
351
721
924
564
778
902
301
461
29
122
229
862
121
866
744
435
244
460
535
762
747
449
71
228
520
641
874
51
814
618
718
858
155
925
90
727
809
34
520
47
204
448
288
937
826
991
559
160
361
398
235
696
284
825
667
140
651
793
914
125
618
354
402
798
55
31
696
203
702
135
586
84
491
630
832
261
32
613
742
181
761
841
217
717
925
433
996
557
392
63
654
780
277
489
298
325
491
221
41
116
622
503
24
526
20
554
225
723
533
179
302
208
138
468
451
484
619
246
645
399
491
397
626
152
657
921
715
347
612
835
858
752
602
623
303
639
810
972
968
633
518
949
869
63
205
605
939
662
691
251
198
323
796
258
501
306
433
341
35
970
705
675
326
569
373
132
756
170
3
123
512
45
220
269
418
161
742
170
348
567
300
40
774
520
118
877
530
183
366
135
72
603
873
567
321
459
451
37
736
768
359
603
330
337
805
106
246
243
903
849
891
48
153
650
812
761
351
747
237
802
817
543
659
315
955
168
925
265
469
178
27
649
995
488
231
34
525
822
192
358
763
536
455
629
453
654
109
690
828
370
358
711
524
56
509
439
712
29
175
538
758
945
510
518
368
708
930
881
107
203
110
89
120
16
982
894
117
502
105
364
945
258
39
685
617
75
301
433
247
902
74
556
181
245
68
736
523
666
863
171
402
739
596
43
552
898
96
128
227
110
418
53
15
176
275
679
892
811
39
983
684
302
840
581
218
717
750
741
576
114
255
320
281
149
960
574
713
803
988
200
741
704
632
280
391
640
602
26
331
437
647
358
95
311
416
373
295
195
184
714
454
270
441
690
779
163
450
771
885
795
542
704
451
910
332
115
825
665
42
887
869
495
813
23
677
647
223
958
371
429
234
501
887
194
428
668
489
548
724
685
786
67
715
346
190
92
389
721
83
762
292
953
422
547
96
488
176
963
164
632
768
47
915
782
646
410
713
987
213
387
575
815
613
876
169
581
292
946
502
147
813
184
170
395
148
80
268
418
568
417
879
231
257
774
550
485
31
774
356
304
850
607
905
832
350
729
150
502
297
339
974
372
652
423
303
62
976
657
917
992
984
471
250
639
388
893
186
461
612
602
291
24
547
760
949
569
319
813
616
977
911
402
758
598
599
959
75
933
371
321
292
503
885
959
159
553
75
965
253
401
216
36
897
375
94
45
746
247
978
683
621
35
213
869
738
795
622
256
813
817
357
252
405
220
491
392
487
496
428
795
472
4
169
674
812
734
568
593
866
959
977
199
940
508
115
666
265
496
526
8
236
305
787
662
375
491
457
522
374
78
836
643
21
394
785
431
5
203
226
993
381
399
459
703
952
913
68
757
946
836
66
637
141
964
862
959
33
104
800
144
721
511
302
696
943
794
101
672
90
432
658
67
90
846
608
461
770
595
19
230
676
853
312
41
350
795
906
141
765
885
74
163
947
368
21
780
810
442
873
577
895
696
175
904
992
394
455
344
619
111
624
639
930
28
264
589
901
929
380
455
614
566
801
900
991
600
221
327
631
760
810
767
277
218
457
135
10
433
931
763
468
870
700
598
291
78
713
370
490
576
158
298
628
881
142
653
571
796
237
590
14
773
65
173
194
747
452
462
965
382
162
854
906
20
936
618
246
3
358
690
163
230
46
370
457
928
829
504
683
697
850
110
578
776
975
161
17
382
515
434
800
671
27
912
279
584
851
197
213
377
171
815
259
113
550
79
202
774
339
383
363
955
871
432
615
260
48
900
101
647
809
480
51
968
957
77
63
850
2
167
833
894
9
976
603
880
899
194
517
312
320
373
687
154
967
68
999
71
206
990
601
814
949
185
573
665
989
267
495
9
441
276
503
162
478
608
947
569
316
746
952
366
270
273
25
63
751
716
347
837
270
329
540
484
893
816
515
610
64
362
458
40
424
39
165
743
50
853
664
797
536
186
557
49
464
404
551
155
111
725
432
633
703
236
126
407
97
105
538
84
583
641
604
850
368
819
338
455
425
302
689
215
580
781
728
371
128
672
993
369
798
811
844
900
597
826
318
558
902
272
295
35
204
464
739
661
61
173
409
906
148
996
712
206
772
276
305
89
867
877
641
119
250
22
899
616
911
629
647
464
182
310
153
560
900
211
451
647
118
443
165
298
467
673
619
834
11
790
922
822
343
272
601
561
684
952
803
714
966
463
280
778
241
504
163
636
254
459
987
823
689
597
582
461
455
262
187
48
292
975
605
400
202
369
297
104
425
213
60
749
176
556
339
106
958
221
288
101
15
423
390
181
420
316
860
156
369
632
26
127
475
414
621
477
247
7
231
170
489
143
136
821
45
918
468
78
182
927
873
886
900
639
872
81
655
338
708
612
267
591
768
384
309
278
577
381
869
652
984
214
417
778
370
738
401
963
650
676
375
472
374
494
642
898
446
885
900
50
882
325
871
129
513
117
697
230
768
225
722
965
473
979
356
65
130
442
888
383
274
813
513
619
324
737
298
429
808
845
530
326
970
97
681
916
520
805
221
575
774
262
649
605
455
11
395
328
234
674
703
267
455
148
227
817
564
712
793
337
466
243
743
618
429
337
339
55
151
562
912
663
313
492
861
292
281
425
145
984
600
891
589
475
598
173
202
233
711
34
727
285
116
778
772
300
871
595
247
68
59
834
267
549
335
517
361
116
902
912
577
509
166
439
69
258
218
529
818
32
888
318
427
431
278
203
343
254
598
367
425
155
635
354
525
889
373
649
622
97
126
9
97
654
45
971
941
134
4
586
49
899
688
913
246
607
171
213
379
717
389
130
630
681
700
335
183
94
142
265
517
993
117
603
885
910
941
114
12
7
141
269
609
825
408
878
117
762
846
581
963
363
537
640
718
930
443
929
768
738
387
415
488
360
157
702
479
225
807
389
91
537
875
127
343
130
516
216
352
640
564
550
543
654
132
477
261
99
620
918
857
208
981
678
980
864
644
441
602
969
757
382
227
770
330
665
879
742
376
357
696
716
427
465
391
424
601
836
407
546
989
673
350
608
273
267
116
837
352
349
251
149
227
160
197
1000
573
917
518
729
225
889
631
382
258
666
309
720
494
572
998
284
9
346
987
911
691
387
622
89
936
861
25
879
386
939
248
899
939
270
382
72
390
535
921
381
729
622
593
897
514
495
932
735
780
328
121
365
583
842
3
968
681
78
714
88
797
8
84
885
590
540
809
697
769
393
421
491
742
322
232
956
813
913
778
720
232
941
737
144
324
890
974
666
515
783
127
495
331
894
106
744
338
296
1000
753
549
408
123
460
61
909
375
133
519
427
641
709
573
396
723
251
659
349
133
781
256
702
174
817
323
781
900
505
708
439
910
138
183
111
463
191
189
570
31
744
527
972
276
319
979
989
392
676
303
956
889
130
123
18
206
240
986
180
979
560
260
23
401
280
610
595
869
175
498
672
33
274
535
116
450
59
533
551
250
793
791
970
639
802
488
131
590
131
74
849
771
35
154
331
629
164
735
750
562
178
611
154
244
716
329
597
559
329
425
149
17
15
574
31
195
470
882
675
548
9
789
960
856
414
965
201
697
609
144
743
612
173
29
158
14
165
318
124
493
666
385
38
899
703
372
267
458
954
249
775
237
754
945
517
459
412
756
605
544
802
87
751
238
526
16
922
890
655
323
418
746
241
385
857
108
309
766
647
350
26
449
565
81
80
377
29
188
92
390
464
97
67
694
939
356
431
721
917
571
255
612
503
785
606
574
84
633
790
55
591
985
473
20
948
357
243
607
426
21
245
101
735
659
902
452
694
385
593
565
231
119
405
184
257
661
691
473
733
256
254
346
825
101
402
172
610
27
14
748
227
547
4
309
727
564
252
928
108
301
165
867
211
416
509
308
196
873
54
419
304
830
866
909
487
733
805
53
280
820
892
670
962
457
722
688
682
62
41
743
705
930
929
727
350
872
776
309
530
488
372
254
986
795
1
773
485
141
366
246
247
566
569
411
839
279
91
486
599
474
946
797
425
509
734
150
422
383
310
600
445
496
195
270
104
948
647
574
100
986
520
527
118
778
645
834
662
374
513
88
305
579
430
739
858
482
180
434
871
537
451
975
657
432
935
401
823
464
60
657
847
759
762
870
835
486
598
544
4
166
728
836
786
268
17
694
721
556
549
794
451
76
365
139
198
237
124
665
92
171
665
419
578
456
211
701
935
320
995
44
621
640
679
96
759
432
821
233
590
996
995
243
110
601
889
499
466
372
899
855
853
62
211
915
842
505
414
404
63
841
961
152
123
76
637
576
499
112
326
603
885
187
974
723
132
532
616
194
514
183
758
485
481
74
173
699
486
942
408
73
735
129
894
655
894
39
575
892
911
894
413
194
97
425
933
484
520
313
239
388
599
517
553
978
493
102
405
927
518
840
30
522
353
610
429
224
261
621
787
386
860
552
636
265
274
976
239
715
636
874
140
802
971
581
739
111
495
274
47
707
206
982
476
534
462
142
658
576
909
928
761
194
740
946
755
919
749
376
369
422
90
336
235
501
920
64
869
709
378
470
673
692
441
794
112
372
268
348
592
884
556
818
303
562
305
168
512
324
121
980
341
560
875
970
60
929
70
493
343
581
777
90
698
934
342
513
529
528
400
199
877
438
868
893
905
414
742
934
659
191
490
768
400
412
756
404
114
200
920
853
402
721
761
79
30
982
109
622
860
731
920
847
761
555
627
738
372
172
996
234
236
493
935
394
952
217
909
83
449
627
643
450
381
744
794
195
975
226
134
523
331
203
587
707
313
741
155
407
690
818
345
223
100
439
248
488
750
54
805
976
512
512
124
24
199
579
925
529
387
503
352
462
78
160
372
790
881
106
976
167
150
216
223
371
704
701
913
209
327
968
354
535
235
184
258
113
111
417
245
276
73
938
855
711
203
572
216
289
815
17
742
484
719
677
303
856
125
885
339
46
679
352
285
899
377
280
494
672
703
894
585
756
448
48
741
990
83
163
48
408
430
17
396
261
665
777
812
207
340
256
342
870
206
576
788
358
113
287
627
928
141
543
466
687
437
88
225
145
932
668
43
448
221
981
596
334
425
426
113
206
758
711
876
233
888
866
403
57
875
322
842
505
664
480
298
699
626
653
994
75
608
338
138
136
331
530
379
202
728
183
529
28
996
1
11
927
725
438
155
954
443
174
9
779
337
347
834
109
670
521
813
909
674
697
793
214
264
691
84
25
971
823
415
639
909
207
171
777
422
872
943
30
290
587
229
499
41
509
867
944
942
756
382
436
709
541
4
268
854
808
520
855
835
158
489
440
865
464
610
698
320
747
175
747
164
794
622
647
728
490
179
205
439
55
442
772
864
199
566
810
479
703
382
133
163
100
401
164
278
932
146
996
583
518
660
752
938
310
377
555
909
670
746
391
934
349
134
299
673
35
586
614
527
88
924
422
77
982
562
20
381
21
142
918
632
644
744
841
694
960
42
267
412
226
183
271
381
648
601
834
116
202
245
300
110
226
876
401
353
121
219
91
259
867
736
458
829
976
696
164
69
170
71
154
367
324
449
903
565
140
848
56
923
649
810
161
36
840
613
102
42
643
779
976
127
51
325
403
415
375
348
681
841
504
615
781
463
560
793
902
9
543
845
186
137
377
899
251
16
280
574
397
344
541
383
689
853
575
295
638
688
604
982
872
774
446
568
16
440
657
956
966
124
702
889
913
922
937
991
719
137
924
930
743
726
1000
734
802
743
88
3
699
444
447
465
699
706
439
861
398
838
403
623
641
618
436
205
568
626
196
191
386
575
851
508
166
298
959
173
842
567
354
6
570
656
99
642
805
891
171
2
751
993
843
118
344
140
638
805
555
86
330
242
586
559
743
950
503
434
932
998
935
833
982
548
742
415
786
970
981
590
110
878
47
283
727
361
635
193
622
593
23
188
89
787
242
593
50
143
890
643
75
48
702
323
394
284
507
109
654
405
868
912
291
790
522
628
195
63
736
280
727
724
798
681
295
880
203
913
401
879
502
692
500
520
407
866
54
268
515
860
891
543
916
904
352
754
37
236
724
178
298
313
158
208
553
232
599
755
826
210
264
781
542
978
847
50
349
368
935
180
575
208
113
6
598
890
820
40
696
598
321
603
429
262
90
767
244
738
487
832
807
593
860
468
481
149
98
34
509
89
250
813
703
45
992
78
857
67
648
968
709
738
961
129
959
60
14
943
777
883
536
981
268
805
318
972
544
978
647
206
446
173
420
795
429
803
132
595
824
341
997
954
504
708
284
640
960
757
340
452
942
952
913
39
87
689
95
412
455
484
615
465
441
427
301
582
347
882
205
83
771
421
280
799
94
337
534
564
523
922
237
791
585
885
138
567
482
903
628
911
420
304
418
942
894
345
655
679
913
342
326
144
321
158
441
238
692
225
755
573
769
296
740
98
39
593
82
866
845
888
251
764
373
314
585
337
970
394
876
128
504
832
688
93
904
134
494
730
571
993
229
533
127
700
96
252
797
512
225
239
823
80
356
855
458
504
827
483
491
533
962
238
712
777
436
849
466
507
308
506
184
780
172
704
852
179
361
235
441
413
161
505
650
382
800
333
774
98
350
179
86
998
740
565
903
812
801
70
428
101
645
858
521
988
674
191
796
416
251
736
817
466
353
759
735
873
570
522
360
925
426
260
584
328
337
146
11
468
478
542
894
744
446
687
733
280
893
643
425
378
236
8
464
545
136
385
490
777
694
96
439
45
210
928
660
645
909
975
597
103
257
815
106
861
365
295
985
827
497
205
96
220
897
974
290
792
974
322
416
680
399
498
903
615
805
321
730
178
607
743
147
92
901
92
155
314
555
430
579
808
355
716
573
443
516
584
496
420
964
573
435
993
525
605
53
19
583
341
98
48
808
812
625
255
280
368
940
493
709
579
316
150
482
160
797
292
931
421
758
779
590
970
472
672
185
648
592
232
749
730
350
289
584
449
273
547
744
816
372
658
340
512
108
534
229
368
910
412
629
557
649
663
731
185
290
178
679
386
857
447
161
395
999
132
426
309
664
990
762
422
834
528
319
78
843
634
726
966
522
751
100
663
318
869
911
994
571
697
648
517
317
946
394
981
384
531
222
165
5
859
793
880
892
123
665
244
502
619
575
575
234
714
432
358
417
6
808
790
250
606
494
354
305
223
64
698
810
941
473
888
687
116
422
722
247
854
576
396
520
899
793
264
407
563
162
824
275
559
8
344
99
186
34
738
12
352
385
396
950
347
775
681
86
91
735
711
949
865
716
876
401
122
2
246
184
75
372
655
330
192
8
817
558
590
414
213
723
616
998
892
483
542
535
560
619
424
955
475
849
622
756
782
584
419
874
831
759
443
40
971
801
313
473
28
820
59
273
439
307
371
30
540
997
657
951
83
38
243
316
398
314
755
152
5
556
906
821
628
897
428
638
766
616
880
740
961
161
386
149
866
960
174
413
63
130
936
230
335
992
603
195
756
178
151
189
531
216
424
939
989
708
765
981
521
590
464
572
529
529
633
141
649
188
155
456
620
966
767
69
157
820
165
495
103
956
289
262
978
489
544
201
716
662
815
322
59
850
555
167
588
368
97
824
819
51
635
655
142
681
959
368
628
606
139
269
913
297
837
414
396
190
806
898
8
865
467
708
649
514
122
406
200
710
525
407
703
650
1000
768
895
440
270
216
798
482
459
605
463
696
489
122
304
142
225
329
659
576
294
570
364
615
428
363
143
502
582
145
589
868
826
126
316
540
189
103
666
177
226
752
974
448
57
334
990
535
29
750
514
979
955
579
688
281
81
60
678
192
564
998
650
356
247
204
81
806
959
402
415
823
386
503
998
862
812
752
53
542
663
561
163
204
848
741
374
158
350
469
557
559
364
547
108
777
578
437
433
239
858
90
891
2
670
824
54
712
76
374
195
187
31
750
895
594
14
745
546
89
723
767
289
802
689
149
658
292
188
289
758
908
727
718
337
50
774
732
519
950
59
272
268
452
998
583
898
231
289
564
57
42
713
845
650
866
529
355
132
298
622
568
407
98
750
642
370
609
797
428
760
662
954
636
566
648
132
553
708
703
709
302
99
284
924
58
450
28
864
564
421
421
974
994
775
703
479
491
219
428
922
673
530
275
275
56
369
27
707
564
910
123
163
293
56
809
356
232
541
732
640
938
644
755
507
20
623
877
114
890
199
416
355
423
598
18
450
57
739
644
943
380
85
404
295
449
610
15
965
921
81
668
977
566
565
346
524
893
658
921
32
438
448
941
507
704
641
628
660
890
561
473
509
313
17
777
660
861
99
630
474
907
50
109
640
867
264
937
494
976
350
436
565
929
909
386
428
744
379
309
932
563
838
774
266
169
137
561
123
646
125
891
432
960
8
492
751
260
54
957
423
314
15
715
28
827
554
947
492
353
966
937
475
129
236
702
269
438
225
183
517
43
407
966
523
837
109
248
757
69
653
755
474
453
137
390
995
987
874
686
333
554
624
523
278
226
877
174
7
735
362
452
544
768
888
636
127
544
368
893
647
687
597
95
838
503
943
325
833
631
606
833
29
460
535
918
945
854
384
986
907
497
128
76
926
605
94
220
127
836
165
352
414
985
917
893
863
461
229
764
476
572
717
339
534
406
974
769
789
421
171
171
77
921
54
434
816
262
739
749
971
972
19
549
774
977
52
205
418
773
433
726
452
684
630
674
368
327
699
732
169
23
995
619
305
160
318
595
440
464
579
397
982
722
588
235
131
726
20
470
520
157
966
650
166
630
714
884
544
391
591
927
87
982
741
937
302
760
703
593
12
305
525
155
914
621
943
74
792
510
836
993
202
665
778
290
425
835
7
887
762
877
536
645
24
633
471
566
207
359
789
940
878
844
992
758
765
474
74
977
433
229
183
691
641
4
193
864
218
707
203
29
833
303
569
309
30
359
718
146
327
626
408
404
924
956
508
864
836
109
656
679
818
69
328
79
524
102
978
442
743
110
881
886
373
811
256
679
71
875
26
125
135
452
342
24
231
430
574
477
39
385
57
580
758
413
294
509
675
926
668
602
686
95
989
312
732
790
337
314
612
771
751
632
521
395
277
385
973
316
766
628
459
446
608
823
335
998
277
659
923
546
146
314
748
864
570
743
180
763
609
273
463
288
96
582
286
371
996
134
573
527
92
298
159
224
110
628
361
334
314
275
226
461
462
95
426
999
750
750
342
512
67
83
870
366
414
45
889
598
838
754
108
684
602
596
247
195
597
874
98
358
207
158
44
155
915
400
40
935
965
839
882
458
290
936
852
918
744
863
445
785
391
583
960
216
240
188
178
385
352
935
221
346
684
401
960
923
371
267
10
685
444
503
439
294
80
157
795
375
611
506
972
579
445
85
721
711
952
971
319
623
168
762
36
80
824
885
550
936
845
216
387
809
940
524
809
864
348
904
291
470
67
196
887
252
192
370
343
509
44
999
755
49
859
212
946
252
726
10
509
556
320
391
627
642
714
526
381
290
252
133
231
271
984
263
754
650
679
965
546
557
787
664
350
864
25
638
164
129
424
692
21
907
827
956
626
766
761
772
823
354
587
798
143
471
601
765
284
377
501
835
468
505
274
118
58
338
63
715
682
462
59
596
382
688
768
742
990
733
296
224
13
129
420
318
787
922
315
348
575
247
760
650
569
51
525
953
480
67
432
527
485
650
295
629
869
246
492
144
573
42
485
836
228
858
978
277
990
420
728
365
614
968
259
313
787
547
844
127
675
471
164
902
18
150
994
678
867
889
119
260
245
357
425
112
574
81
788
388
742
747
937
235
26
89
954
721
936
841
430
140
219
559
626
988
899
135
128
599
237
455
615
295
928
986
374
905
674
20
61
697
533
948
83
61
65
191
653
793
364
379
224
460
516
922
534
94
889
409
950
459
940
128
121
199
872
601
238
470
602
206
334
44
948
876
139
492
866
331
971
739
854
553
24
203
354
999
216
767
106
569
417
19
908
510
523
569
182
212
296
763
65
358
354
768
503
972
959
840
941
731
523
575
778
301
839
56
720
573
123
128
490
410
854
479
169
930
279
788
598
395
185
997
842
514
217
666
741
303
570
442
922
722
381
903
501
951
493
456
855
533
594
455
518
594
875
468
213
19
498
426
521
760
133
440
465
413
757
205
567
851
715
273
567
940
768
923
31
326
484
16
565
874
866
13
172
554
551
276
621
526
258
884
297
676
434
470
154
121
181
973
844
45
648
815
997
761
14
707
930
87
89
203
780
953
339
143
157
662
829
351
933
382
188
287
736
247
187
873
2
913
960
391
231
547
179
166
200
1
752
722
457
336
722
263
367
995
88
588
359
632
205
36
771
20
289
633
901
534
273
398
412
402
963
673
274
293
964
407
775
852
369
595
979
461
540
397
185
849
625
80
569
190
636
553
210
941
10
185
126
29
588
559
778
922
849
29
749
775
56
218
930
81
710
137
621
237
298
193
395
989
912
175
444
979
713
253
403
535
575
119
302
377
523
683
421
153
699
127
250
576
691
738
730
463
21
615
173
175
456
294
24
771
626
329
726
721
81
93
449
142
557
422
404
352
697
214
772
4
910
799
31
162
338
680
591
485
155
267
235
118
537
334
770
939
666
239
704
631
105
386
520
375
701
29
264
81
939
268
812
743
329
1000
96
910
988
700
31
280
22
79
632
92
733
109
62
379
922
420
934
74
790
782
227
685
4
229
606
513
516
427
748
373
641
16
542
403
703
7
662
819
285
801
56
405
758
4
374
123
284
43
201
481
952
513
250
180
36
302
322
149
618
800
956
269
6
919
149
959
406
226
445
362
315
219
978
992
961
672
777
605
906
12
737
505
633
879
200
688
516
419
997
12
89
317
160
50
949
282
219
420
927
516
178
139
387
675
797
18
675
962
757
165
719
302
689
436
774
988
750
81
139
788
693
870
406
286
869
717
498
129
667
188
295
933
250
301
134
839
242
724
830
89
268
805
191
542
828
860
130
747
4
836
651
45
974
711
914
190
60
24
567
148
366
512
287
43
633
109
244
728
29
528
806
69
44
192
344
844
521
573
444
99
117
858
171
904
183
468
304
744
114
116
599
148
732
22
213
789
135
376
412
977
764
368
538
391
160
917
14
890
947
736
859
511
169
543
769
53
974
989
347
194
2
403
451
767
570
517
970
600
889
161
541
360
94
310
877
944
838
993
363
262
558
294
594
720
288
96
292
293
89
265
874
866
714
692
532
427
159
1
327
761
108
710
191
558
110
388
192
195
511
617
644
27
797
631
859
713
19
103
438
942
384
899
7
975
951
571
192
548
599
967
476
26
78
649
276
184
4
705
230
616
128
171
213
570
68
485
24
972
950
340
78
474
110
834
642
669
52
29
357
2
399
936
822
479
405
425
20
50
968
786
220
359
717
477
789
677
944
105
40
964
581
850
837
419
440
323
182
337
186
347
420
819
315
241
28
652
514
2
156
687
351
171
231
185
195
303
971
864
639
668
106
877
447
252
917
505
248
157
512
154
781
220
375
151
448
65
309
885
394
799
372
120
60
266
775
638
423
117
999
968
723
934
589
610
490
314
169
55
139
132
239
891
210
140
209
475
577
726
975
948
596
886
15
883
213
442
670
476
521
94
764
973
85
161
191
14
682
767
423
634
722
779
165
960
728
27
537
53
755
212
227
895
479
423
40
294
46
382
140
342
422
366
75
96
149
266
372
379
896
376
60
941
143
335
26
720
653
105
489
641
146
969
200
186
711
356
211
972
61
682
174
696
689
534
170
119
345
234
15
175
29
251
838
958
863
966
468
25
803
35
849
443
121
937
254
49
11
356
550
609
434
698
135
989
567
415
476
972
819
781
346
42
373
423
968
345
686
243
280
28
179
296
443
325
595
836
525
94
149
14
38
991
663
644
611
90
297
55
627
569
400
263
104
24
236
654
439
81
33
862
879
234
902
812
777
266
615
701
710
176
192
282
565
270
478
944
526
964
674
975
722
885
819
841
961
66
817
508
592
367
479
621
36
800
394
831
922
74
210
669
118
511
1000
165
129
479
991
826
494
596
858
685
840
297
171
888
185
748
329
668
946
765
521
642
858
86
816
59
655
336
473
14
962
41
978
666
289
308
95
173
427
172
430
432
803
157
632
652
566
276
364
503
274
597
617
844
25
457
750
37
846
632
904
437
901
46
66
974
863
123
127
623
390
503
708
207
186
635
426
168
584
720
523
884
926
590
455
670
266
339
136
772
93
990
4
597
836
8
992
910
879
235
763
915
709
701
299
3
583
795
41
416
822
505
285
256
407
770
487
57
92
514
453
616
613
596
114
900
952
730
766
619
774
423
174
490
325
108
915
315
119
933
692
738
641
149
126
949
201
610
706
659
777
676
158
396
378
748
503
535
17
693
426
511
845
702
429
336
404
470
427
896
210
154
40
491
97
253
899
750
844
422
671
325
591
233
368
794
503
69
715
758
917
677
39
453
951
344
152
92
190
368
181
765
579
212
156
967
111
740
446
718
252
8
793
820
280
355
793
979
884
964
151
433
458
620
945
214
460
151
419
392
115
891
550
460
517
588
736
545
883
344
478
254
297
548
855
797
798
281
925
484
85
323
921
813
409
737
256
155
452
971
916
465
150
562
751
540
397
824
571
110
570
350
694
414
629
754
795
24
289
867
469
335
478
486
924
577
789
880
601
172
167
475
340
985
418
521
899
346
433
108
257
710
197
581
152
483
752
257
732
855
317
388
28
435
626
446
196
120
421
155
123
888
705
170
53
168
45
943
320
1000
700
105
166
469
827
641
895
784
352
259
249
955
348
592
40
191
926
311
497
84
717
785
729
98
979
675
987
122
271
723
107
664
388
40
658
745
985
401
817
754
869
426
913
274
482
1
958
394
493
8
154
148
729
224
586
456
914
239
794
444
801
397
934
40
320
32
550
545
322
741
791
254
323
33
63
269
435
459
690
351
298
243
152
61
437
523
864
424
896
512
252
70
419
319
114
132
715
676
828
184
535
536
38
142
391
361
829
378
768
940
280
261
560
710
473
933
298
943
739
460
470
567
917
372
835
94
905
246
198
879
618
198
537
897
749
86
728
342
419
747
372
594
842
848
377
547
686
764
37
819
637
460
298
168
27
510
801
247
76
243
64
938
395
501
876
662
959
634
548
451
639
198
195
55
749
241
618
44
793
236
691
674
731
453
352
291
655
25
460
154
709
51
790
877
456
800
403
133
667
532
445
859
679
455
228
986
63
102
61
603
314
748
904
585
689
542
365
897
112
695
956
217
267
412
801
28
632
257
191
64
209
289
469
823
136
622
733
885
221
7
777
946
631
699
470
796
671
98
535
951
601
627
291
292
896
893
476
864
253
394
705
903
879
996
450
330
295
898
727
135
970
76
773
570
576
29
130
583
575
198
472
689
120
609
429
367
990
137
419
85
366
263
218
283
803
392
579
998
655
558
711
308
551
852
874
458
277
1
609
365
534
323
399
145
616
708
654
484
996
369
963
946
199
848
486
754
62
183
224
219
710
174
654
713
135
432
866
35
244
238
918
74
667
296
601
916
385
119
177
921
479
153
942
844
880
734
659
780
57
609
13
552
975
88
223
202
505
845
880
378
711
12
894
765
69
478
130
188
732
261
991
616
426
393
694
151
398
13
457
973
142
261
156
373
266
136
262
220
993
686
31
671
228
777
992
482
65
207
748
999
867
131
977
844
809
592
331
292
824
447
584
587
486
148
20
766
229
622
530
103
664
990
305
919
501
955
333
370
702
491
131
766
64
897
263
144
394
352
250
86
771
878
400
252
202
14
954
673
114
542
675
636
750
368
698
896
483
975
997
42
499
954
323
54
59
751
829
496
799
133
893
321
117
892
840
967
715
908
367
287
810
58
472
853
333
380
603
365
715
556
563
194
445
24
427
595
709
4
362
749
806
258
763
594
963
727
579
338
386
1000
49
695
115
218
300
85
284
173
448
526
914
245
908
464
241
377
565
558
891
436
366
295
920
165
684
387
856
435
456
68
384
644
750
780
274
935
873
266
444
353
582
729
821
203
251
553
803
630
69
72
658
899
513
996
176
914
316
408
248
294
140
694
806
705
1000
360
750
207
225
483
58
122
417
432
283
240
440
584
4
281
940
996
640
156
257
363
201
939
916
166
220
469
49
579
54
115
193
588
252
592
941
778
462
651
808
406
600
103
506
719
677
907
542
938
699
988
681
984
525
59
352
810
439
923
521
150
449
702
903
595
21
931
636
200
18
716
700
198
113
11
448
23
854
598
555
526
833
542
615
194
137
725
365
209
380
575
230
388
112
246
463
388
351
322
685
105
295
573
10
832
47
439
283
576
272
657
173
929
326
923
979
9
295
531
81
286
789
717
858
565
81
806
793
990
367
344
212
712
508
92
764
775
600
159
337
840
114
539
557
627
155
51
403
299
589
967
776
600
400
672
11
237
682
281
469
843
60
529
312
901
198
133
488
138
282
521
790
274
6
43
533
434
642
753
72
216
248
424
884
180
901
703
390
479
156
230
55
449
559
88
540
263
170
180
845
139
512
995
468
194
268
754
543
764
356
116
841
871
699
445
268
610
148
179
211
378
526
941
673
265
662
884
637
409
677
216
520
807
451
949
890
891
409
740
847
153
268
84
585
258
378
239
722
356
634
982
868
770
721
742
829
852
614
654
516
515
853
859
361
945
100
695
562
994
874
487
968
34
154
307
811
436
789
424
743
355
201
170
862
231
951
578
492
265
134
484
490
126
399
735
766
333
636
765
515
84
38
97
398
751
248
237
509
951
815
44
538
846
8
888
958
314
323
820
414
706
697
532
755
207
518
113
317
188
5
456
109
559
461
729
546
833
145
482
262
513
273
814
290
453
747
528
616
38
718
336
709
413
58
3
121
449
97
784
675
872
761
610
66
747
377
291
936
513
954
399
604
927
731
631
668
516
109
142
648
633
913
808
675
807
32
371
994
813
145
188
710
852
159
654
773
272
444
380
661
502
705
948
621
266
558
325
593
677
498
102
149
522
948
301
874
891
524
853
606
339
475
799
893
904
495
882
821
668
744
481
81
5
996
785
812
298
245
668
245
713
1000
12
656
562
754
76
452
891
803
133
499
194
641
749
935
573
696
996
799
241
25
402
772
994
902
615
193
164
954
625
334
616
593
866
573
538
23
662
717
154
36
337
254
975
117
712
668
882
162
889
342
185
201
970
730
726
124
788
656
304
334
861
605
928
621
464
835
896
329
171
964
294
61
253
473
259
741
32
191
291
857
682
418
947
100
973
817
518
397
151
573
635
578
495
605
325
503
71
832
736
501
866
548
583
421
808
13
408
390
105
254
898
648
10
880
840
457
354
465
765
138
143
652
975
734
106
694
448
701
325
577
51
244
978
213
605
636
790
462
618
920
5
892
908
896
557
254
908
167
649
623
208
353
143
47
723
262
985
309
988
938
404
121
214
14
773
664
141
735
823
876
221
351
370
320
330
300
845
784
40
775
684
959
458
789
75
711
783
848
645
474
16
661
433
225
720
135
872
395
325
34
589
757
239
297
524
66
944
986
268
729
333
230
515
309
768
340
248
4
744
458
570
566
570
757
145
280
173
178
814
760
31
165
301
288
183
655
864
359
504
843
377
904
708
877
621
379
47
693
461
549
304
653
225
327
483
520
795
474
527
576
877
303
522
353
431
808
105
539
485
766
195
124
421
473
775
708
345
694
136
242
351
338
945
144
308
125
473
866
319
210
575
501
144
331
349
942
678
551
903
462
63
85
347
277
126
997
943
854
589
796
329
230
986
89
867
606
254
468
468
802
746
779
686
983
821
736
488
180
195
622
869
772
985
476
385
42
737
725
790
337
754
701
138
163
722
853
155
732
993
765
195
135
858
274
798
285
804
77
745
241
62
231
492
338
723
850
45
788
303
138
673
67
935
591
319
455
295
870
215
550
954
342
11
445
103
762
654
522
495
901
395
506
11
175
511
483
475
513
826
107
210
743
595
83
360
769
141
334
172
675
445
974
317
702
984
295
754
703
295
536
872
316
77
90
394
566
215
167
32
44
700
653
971
120
316
57
84
858
905
999
152
455
162
620
521
38
232
701
321
617
793
15
804
822
948
624
416
816
996
427
918
440
72
232
260
210
721
39
934
251
715
18
210
654
782
865
19
996
497
848
213
6
246
868
620
382
66
278
599
868
149
55
766
501
984
146
198
865
431
452
696
813
500
984
599
832
245
151
280
690
986
50
648
518
17
844
927
749
47
42
513
674
926
537
946
468
577
780
891
637
670
342
561
828
284
417
197
769
689
552
47
960
451
973
816
371
219
409
675
38
953
256
745
933
837
235
449
909
796
446
213
828
378
870
819
201
704
919
107
825
383
580
839
888
521
98
287
21
459
862
474
556
441
386
125
64
200
824
13
861
351
471
846
775
573
68
796
909
786
576
504
540
898
243
711
561
286
435
673
78
822
711
167
876
157
51
198
445
946
975
507
213
920
540
564
403
971
826
51
700
958
613
735
499
535
358
250
80
129
491
544
477
118
294
640
158
382
305
951
891
669
290
555
346
614
286
767
14
845
148
816
42
327
295
667
429
5
107
841
828
814
486
580
899
362
651
894
729
927
164
781
386
926
485
423
22
679
132
272
332
139
641
689
327
197
81
287
564
352
851
161
979
810
816
991
433
521
646
362
907
282
381
723
62
791
828
144
518
457
379
346
797
838
268
579
317
838
29
546
246
131
185
942
262
882
773
173
506
499
339
473
75
6
481
925
435
659
820
897
17
592
550
991
108
577
343
894
848
511
446
466
785
835
250
972
973
921
508
620
40
378
611
474
7
374
33
364
885
291
132
643
244
491
977
484
19
506
779
984
775
732
797
479
561
573
293
351
237
25
247
86
880
906
29
494
442
276
181
830
383
123
789
998
355
30
647
160
381
405
582
837
178
799
850
32
385
994
475
996
525
837
759
997
458
236
975
866
913
360
422
141
481
812
603
367
72
511
288
449
438
51
601
19
810
559
88
436
102
466
932
395
410
122
68
109
714
919
16
685
816
427
635
621
533
43
861
323
75
873
714
163
369
825
524
865
795
427
356
959
452
501
82
611
586
605
422
422
264
139
524
638
742
75
360
822
187
576
255
235
637
148
411
29
82
586
128
925
581
662
769
180
170
433
190
541
125
52
508
340
821
202
551
60
46
601
321
500
108
550
70
151
509
168
381
481
259
775
770
652
139
882
859
587
348
345
171
417
995
601
917
83
860
279
949
258
677
139
214
836
964
36
618
927
64
525
235
690
649
789
140
348
414
836
987
422
39
245
653
561
820
351
861
346
539
394
744
77
251
59
725
908
658
836
923
603
680
778
529
853
614
588
253
355
23
427
988
784
112
493
288
393
891
188
138
212
872
659
754
716
375
613
815
422
804
537
652
41
379
914
355
730
921
561
701
496
210
980
80
974
362
478
307
682
433
871
349
314
139
771
466
798
226
829
246
677
465
811
304
795
716
49
187
429
784
643
148
771
38
762
13
97
866
544
335
54
114
367
361
243
565
744
158
683
372
657
360
794
131
968
643
249
913
394
967
440
164
678
74
296
849
756
479
909
584
166
446
744
809
431
26
212
229
902
264
41
849
367
107
187
951
758
382
993
251
457
448
926
307
29
778
496
957
678
755
914
223
382
475
605
615
440
146
966
243
118
7
664
488
188
323
289
215
420
118
455
707
505
785
255
539
451
619
550
601
247
617
716
339
460
578
357
107
476
686
944
163
303
260
538
487
211
259
524
84
990
517
776
837
269
371
788
315
195
520
78
144
710
487
614
695
837
39
97
860
660
246
687
660
143
677
157
237
530
358
530
572
844
747
946
920
905
938
913
505
382
707
90
527
608
837
455
865
284
332
54
204
733
770
504
443
93
59
93
399
640
285
635
780
508
166
182
342
198
886
337
945
609
711
173
961
800
843
728
94
340
430
590
239
892
515
379
422
613
981
809
228
78
206
577
374
703
251
556
235
26
883
612
227
820
618
936
888
728
291
915
403
987
364
455
100
869
268
134
131
655
659
733
149
325
311
483
317
654
788
875
364
60
701
933
743
413
556
703
171
945
726
91
944
578
32
297
468
268
810
842
395
409
75
569
578
948
601
88
852
633
305
815
264
730
309
164
980
614
454
453
551
880
856
770
608
8
261
413
331
144
632
482
250
286
349
870
5
993
908
208
734
769
754
294
632
428
211
131
66
81
31
13
345
862
208
4
882
150
115
753
1000
840
900
858
111
159
363
849
311
635
178
469
707
94
449
108
958
967
41
153
559
775
45
503
396
385
31
733
953
523
453
178
368
68
675
754
194
856
627
454
350
74
999
276
241
849
249
810
417
291
401
832
495
72
791
25
272
636
445
384
68
225
741
962
427
242
373
348
178
892
407
678
770
674
377
37
511
33
991
835
6
430
951
89
682
128
849
607
719
260
850
717
137
107
111
550
27
61
484
874
131
466
94
132
88
365
768
641
626
204
179
886
933
709
752
446
239
491
78
395
359
383
576
926
591
199
670
559
889
341
539
529
677
694
828
857
19
287
352
174
116
533
913
560
251
209
858
567
397
969
865
95
642
882
786
986
489
388
60
36
872
103
322
638
413
101
369
399
48
683
564
900
657
107
80
229
748
470
152
42
538
741
623
669
44
903
632
254
873
346
268
962
480
897
339
65
580
363
218
117
254
49
872
479
60
475
781
172
86
452
442
422
491
722
536
269
519
637
656
315
376
704
684
6
628
395
534
872
979
290
992
760
390
522
806
447
494
458
22
951
186
744
796
509
73
180
557
440
197
335
443
81
77
481
411
531
653
216
251
231
145
70
42
276
203
536
234
932
973
192
646
43
868
18
142
886
890
597
656
554
338
582
528
143
608
760
828
849
579
14
456
587
762
757
329
884
14
707
893
632
89
436
516
719
738
742
97
709
372
782
314
506
528
816
543
364
512
612
393
724
627
808
195
64
333
9
545
391
539
988
164
41
985
122
953
177
322
134
68
742
72
240
275
655
132
99
628
733
846
280
710
130
980
569
319
135
97
82
482
759
965
54
106
917
597
157
419
918
462
371
587
638
212
784
539
20
994
136
77
459
41
598
831
253
793
46
440
522
203
61
659
921
280
960
727
9
128
472
450
375
945
50
906
483
471
398
609
717
384
549
246
325
7
671
823
746
460
857
156
367
125
356
190
850
840
24
519
30
783
329
843
800
397
891
832
575
33
352
992
655
204
395
706
281
487
802
572
238
121
816
511
637
329
440
910
876
200
981
230
880
747
868
88
384
415
698
823
466
879
568
941
477
433
934
643
295
668
671
845
82
430
520
711
787
199
836
741
254
190
377
899
121
421
909
57
647
961
568
328
243
335
231
457
753
828
657
515
454
36
755
599
367
565
178
92
673
199
359
322
980
234
212
130
701
902
10
933
59
996
346
375
70
860
657
531
422
877
548
954
309
479
11
542
167
490
700
337
711
295
603
874
859
933
835
619
925
710
760
398
924
366
336
414
967
94
404
647
484
998
610
918
475
647
802
938
50
470
22
938
286
624
681
326
821
882
95
939
679
777
336
67
513
944
256
410
852
150
637
522
944
986
634
98
480
561
70
674
831
832
696
914
419
412
215
687
494
755
731
561
907
673
304
173
436
15
448
178
825
159
745
109
3
719
218
566
863
460
766
563
576
979
720
776
673
143
576
665
13
619
20
135
332
89
671
501
280
914
337
979
702
65
201
843
500
103
42
682
524
918
527
905
860
650
622
745
317
980
369
542
93
518
670
19
430
567
183
570
482
916
136
359
807
665
680
134
605
275
381
249
320
194
602
301
269
438
790
214
734
432
177
297
347
296
970
59
652
485
884
74
466
368
807
239
1
908
421
120
762
51
885
910
916
841
26
707
155
545
59
467
87
271
550
975
848
669
182
613
901
285
912
559
16
83
265
256
973
435
841
659
882
631
590
807
885
562
52
744
643
802
543
645
226
706
241
309
951
553
187
831
254
958
551
364
909
975
841
358
774
376
401
579
781
542
195
484
50
316
822
263
883
927
717
958
849
797
695
596
361
639
382
187
935
770
535
801
797
947
988
637
605
391
720
175
878
844
581
36
91
674
301
148
560
42
748
156
918
129
795
814
446
219
822
251
540
248
601
593
332
26
237
427
852
964
938
953
135
579
578
516
389
427
446
380
641
431
84
241
313
724
842
1000
808
259
621
722
508
412
285
555
551
756
407
640
369
953
330
633
248
468
993
589
123
441
638
343
387
553
281
433
750
218
803
866
99
724
593
704
848
252
980
533
503
833
64
359
21
374
173
389
92
866
873
432
625
764
355
389
604
311
90
389
937
274
792
674
89
156
149
237
110
462
234
583
126
989
225
680
465
452
857
351
411
958
28
889
971
984
104
641
150
557
786
667
989
252
816
358
983
498
442
72
612
423
304
412
385
138
322
801
186
916
252
352
763
212
803
876
835
832
592
57
688
858
757
438
84
131
761
898
988
168
765
700
910
433
956
56
644
755
403
362
787
535
318
921
709
78
99
31
586
40
157
737
692
510
330
459
382
674
631
936
131
385
191
633
521
186
517
821
300
520
598
37
521
922
977
535
258
939
639
620
636
451
442
487
701
798
859
284
177
850
38
656
327
746
476
930
901
508
179
461
662
203
818
377
79
568
218
113
559
309
494
689
41
369
322
621
826
510
57
730
316
501
944
899
695
45
197
975
667
336
546
619
81
802
722
895
626
145
468
762
843
286
850
468
344
170
84
29
502
701
578
596
855
262
644
541
125
358
154
506
68
949
441
507
328
929
918
415
89
44
203
780
616
251
29
24
682
156
849
480
496
702
849
624
972
728
11
110
97
360
10
894
711
451
955
842
227
452
424
655
689
171
815
896
98
818
760
163
127
665
253
185
159
387
156
720
130
877
982
661
749
903
191
672
534
499
750
31
533
379
377
72
730
991
722
771
923
34
702
586
288
423
372
605
932
684
976
415
483
735
299
897
191
842
28
309
31
290
608
606
63
997
989
952
634
821
736
744
71
829
208
291
161
153
895
513
100
335
558
585
544
297
499
543
76
108
155
243
723
788
236
905
73
259
755
751
230
375
677
829
70
719
353
227
225
431
559
300
802
914
759
413
88
695
149
966
416
37
154
158
884
209
317
14
892
422
912
685
284
559
234
963
433
752
200
194
791
792
819
538
276
85
124
609
323
616
339
46
647
941
449
513
512
746
810
942
800
937
149
572
293
510
84
503
351
711
321
1
603
88
777
786
373
117
221
871
291
976
423
301
952
935
452
317
558
559
504
63
157
582
559
922
514
898
252
970
637
562
568
866
683
92
359
653
309
646
225
607
536
830
2
257
823
13
961
160
392
1000
819
800
783
854
854
277
254
462
727
51
918
157
94
72
432
356
740
106
668
688
746
892
13
551
170
73
880
372
803
492
532
97
856
553
590
604
818
806
406
808
327
843
75
183
624
869
979
318
24
30
657
901
920
695
249
240
997
408
940
988
729
151
618
286
703
892
459
926
17
138
234
453
813
349
939
361
973
624
779
656
169
35
615
101
734
333
755
403
274
548
332
440
561
138
631
391
980
986
374
295
758
462
410
118
252
229
231
897
820
232
459
897
162
520
764
19
614
198
683
863
499
774
467
986
589
651
371
856
649
291
796
954
294
860
298
273
633
795
754
182
723
762
923
273
449
981
213
317
256
713
746
933
117
989
653
890
211
358
179
226
60
480
297
550
285
904
494
928
728
255
839
745
398
363
692
826
610
568
218
851
712
555
368
834
9
584
164
992
836
928
911
880
252
634
441
26
505
491
609
681
212
215
31
447
232
419
512
765
284
898
682
184
716
117
106
362
231
565
555
540
22
809
161
10
512
670
910
755
798
939
307
9
21
425
38
939
55
951
194
75
351
112
910
347
276
227
302
812
4
925
234
259
879
257
734
855
167
31
885
929
291
325
588
813
970
773
920
354
163
267
720
370
353
186
618
852
500
107
1000
141
954
260
273
681
708
612
374
180
644
617
679
196
845
75
329
214
617
534
532
263
588
873
586
998
174
490
185
954
682
600
105
391
599
649
481
718
899
831
730
11
766
970
612
548
771
809
65
591
376
871
215
876
617
618
403
405
966
600
157
169
636
623
793
356
90
771
719
485
78
258
587
611
308
712
146
461
781
428
31
883
882
573
741
485
563
103
746
734
326
352
3
28
275
895
175
502
200
279
469
380
501
662
335
716
796
224
259
279
198
453
441
124
605
61
504
173
785
332
252
684
722
157
121
97
449
893
207
135
562
422
646
405
699
510
696
17
559
586
82
853
419
623
31
247
715
630
962
758
960
615
969
617
170
558
92
236
25
72
849
820
160
917
673
746
374
493
693
886
32
757
772
430
614
730
840
119
196
949
329
994
603
723
954
913
163
41
183
112
221
334
478
51
68
69
794
591
546
312
878
363
308
12
646
790
694
709
249
840
207
805
521
27
836
291
123
579
844
92
106
965
186
738
551
170
439
147
641
213
946
699
805
385
938
627
560
632
508
986
267
284
702
101
342
85
412
468
347
102
434
509
19
613
840
468
512
534
741
2
53
288
664
698
752
268
983
813
538
215
312
59
64
896
292
106
932
438
980
826
803
560
911
962
782
726
949
49
957
936
254
943
145
476
41
195
694
437
319
900
654
242
470
346
763
735
355
948
457
593
611
509
573
973
933
799
464
327
463
816
41
273
801
856
619
245
819
693
530
410
183
771
159
1000
413
275
469
766
409
365
53
745
565
637
490
913
20
109
95
563
98
623
144
464
741
577
341
941
533
343
553
29
979
547
863
749
849
621
563
405
716
697
15
476
315
961
239
360
974
33
671
715
169
815
778
622
212
514
148
122
158
222
177
938
330
526
764
355
220
101
230
314
156
138
242
709
813
765
705
807
561
316
411
458
672
440
752
469
610
520
923
126
5
859
907
318
378
359
929
183
410
212
252
445
334
231
930
905
13
19
570
620
438
127
262
379
616
717
577
9
341
15
910
897
865
16
566
869
334
491
620
231
702
323
40
332
946
614
513
514
642
784
165
639
323
109
652
736
612
751
134
443
798
356
281
66
404
716
766
39
286
844
681
519
988
16
920
637
398
19
854
675
219
864
565
40
432
695
493
470
698
500
583
341
611
461
953
270
813
520
634
505
242
752
162
727
226
677
674
941
664
519
690
166
328
708
941
435
147
666
442
472
427
986
521
59
129
681
657
727
697
55
784
908
441
143
199
82
146
337
319
793
402
23
326
606
133
568
157
237
946
957
400
92
198
770
395
409
161
921
252
68
226
795
540
831
897
977
148
498
213
759
149
998
321
25
570
902
158
895
616
259
582
722
271
900
842
657
168
578
968
12
298
405
528
87
412
31
206
929
960
960
830
785
19
166
792
601
934
953
296
1
365
574
506
641
963
705
450
670
220
296
498
337
867
658
333
429
817
923
594
322
817
162
799
923
879
503
714
654
71
597
89
955
436
619
546
479
647
813
460
264
518
256
879
697
616
133
873
1000
56
309
223
315
4
399
26
189
564
856
627
415
470
812
244
740
451
556
833
896
258
541
989
788
24
783
155
435
102
345
22
438
533
359
737
336
45
701
485
197
828
6
79
186
394
168
404
655
469
873
978
507
254
977
414
206
356
750
279
812
346
92
698
867
233
844
69
764
81
221
417
500
631
214
235
340
81
524
169
969
81
244
499
192
617
998
211
58
698
753
348
625
657
783
500
178
445
617
492
868
499
874
797
182
672
12
748
564
177
983
365
826
763
634
497
653
109
530
28
681
963
523
97
79
695
11
613
553
730
346
917
989
815
222
37
697
180
250
869
363
434
84
569
392
473
656
582
229
779
58
29
670
205
600
632
911
790
381
946
247
154
490
449
975
799
617
943
960
948
387
809
800
650
263
873
268
500
178
53
948
715
394
469
598
277
251
427
761
506
580
532
616
754
539
186
865
857
582
929
692
618
39
360
498
864
545
910
134
561
178
322
844
51
684
529
977
743
637
557
795
465
707
170
394
266
487
273
825
665
455
467
4
218
767
755
883
796
496
122
658
152
851
591
511
220
677
403
479
42
232
189
577
408
848
324
221
94
568
202
331
41
270
801
243
949
126
781
686
537
425
281
649
145
966
780
916
462
231
625
398
897
495
323
188
517
898
267
422
541
238
363
605
82
903
904
79
220
958
146
684
500
833
257
458
639
473
702
457
574
82
657
367
973
786
779
604
978
639
475
38
275
403
850
298
540
451
683
850
935
935
93
702
602
113
45
630
54
355
491
273
920
851
717
325
796
537
438
310
803
62
274
99
57
905
507
427
452
877
441
150
26
351
263
860
713
502
29
814
484
743
279
803
682
312
867
732
906
668
730
182
892
948
738
155
713
248
234
557
23
892
581
670
246
171
811
66
347
278
504
909
294
264
122
596
368
901
345
34
273
259
375
600
358
686
828
58
360
586
538
236
752
97
568
291
197
321
767
767
603
212
449
471
970
652
177
373
564
478
143
378
955
469
368
824
86
355
795
982
875
946
333
681
813
368
135
420
624
232
653
943
359
270
546
366
213
602
129
330
940
344
847
583
14
701
225
619
555
44
819
709
624
719
993
713
686
494
740
586
942
636
349
358
713
559
451
673
295
880
866
705
507
501
717
348
672
26
466
121
907
430
910
154
431
384
654
937
38
66
275
280
33
609
201
53
677
531
311
837
650
676
410
584
118
163
18
725
723
848
357
963
259
601
49
143
805
493
765
183
849
616
26
42
272
864
393
95
117
431
541
73
730
210
89
960
225
523
605
831
197
826
900
647
274
135
586
443
412
901
891
185
795
999
878
806
820
297
555
575
948
999
838
18
96
594
965
43
886
761
758
813
270
40
71
162
980
420
886
38
800
249
764
521
876
36
773
488
157
778
630
853
575
417
457
637
773
931
515
822
14
311
261
67
422
412
308
864
833
233
223
659
369
694
582
792
297
402
421
830
867
198
988
57
586
514
727
372
846
675
551
870
890
370
737
702
853
376
255
589
37
567
924
564
599
891
567
59
600
757
256
487
680
762
791
828
693
211
825
550
309
241
402
410
909
663
233
256
141
794
746
33
111
698
769
562
523
224
762
531
39
144
643
371
750
532
606
318
927
225
794
35
161
854
336
617
591
456
48
662
152
124
45
368
706
520
633
293
447
289
82
492
213
618
337
239
198
220
269
438
76
18
815
127
761
662
244
182
836
816
821
462
207
846
340
117
674
114
383
760
927
623
621
494
946
136
193
538
894
236
1000
356
383
997
726
722
419
87
560
124
424
127
860
277
485
122
476
276
382
574
22
102
993
687
198
783
416
698
122
489
495
977
770
238
484
964
795
710
251
436
438
842
774
850
730
519
692
721
948
686
284
85
87
625
621
97
162
993
534
731
297
436
730
376
907
254
603
817
739
634
273
756
184
433
950
537
80
359
965
186
139
654
734
246
291
79
455
107
443
70
577
729
615
431
938
691
972
819
991
498
993
585
753
940
929
244
910
95
730
940
39
254
811
826
55
644
423
190
785
338
854
468
65
137
404
77
851
552
862
89
623
197
232
364
808
81
556
689
18
295
4
846
656
521
842
310
858
682
489
433
767
759
643
573
891
495
377
617
633
255
182
715
137
798
145
880
252
85
876
302
792
539
310
818
223
367
216
46
606
653
110
63
899
924
292
395
702
819
848
279
167
304
856
833
28
585
447
805
697
521
58
50
916
868
978
717
729
120
261
428
437
64
168
395
742
444
573
499
530
243
180
863
586
206
990
314
90
183
159
475
899
729
302
892
488
231
336
740
901
477
143
179
223
215
700
328
898
730
848
190
668
905
503
580
65
516
991
262
107
768
120
50
357
180
767
588
530
991
50
889
619
174
598
470
897
17
44
128
227
962
619
949
805
85
663
151
852
130
926
759
796
511
766
908
164
78
751
761
741
691
703
684
573
902
929
294
11
75
234
454
328
331
332
116
400
595
438
138
559
827
140
864
4
281
143
306
104
218
112
203
501
68
630
131
180
479
239
86
560
10
647
634
256
516
429
825
318
410
991
541
696
67
117
859
142
593
181
280
999
93
949
435
128
313
998
934
738
267
923
599
49
33
897
199
502
413
648
188
706
565
577
639
454
31
599
744
883
810
215
797
312
252
527
520
379
585
143
966
842
841
407
20
806
771
982
656
210
121
574
733
122
285
507
75
748
920
943
988
104
594
754
162
989
901
454
119
211
773
150
981
46
909
137
349
553
343
678
520
657
172
445
83
920
376
350
205
496
491
744
526
77
602
502
669
566
766
109
803
780
509
687
579
769
480
820
15
222
685
185
588
971
10
201
895
874
863
394
682
159
860
692
1
912
441
629
503
510
194
317
610
698
434
88
429
461
285
910
751
24
125
22
474
110
727
782
42
61
877
353
301
529
538
691
267
248
865
291
896
822
514
275
858
541
702
688
723
12
442
349
717
764
206
174
380
80
38
689
50
992
791
326
86
759
731
218
132
199
229
401
532
885
641
733
201
599
754
402
904
412
379
557
871
410
766
488
129
414
521
776
778
988
612
3
635
656
881
945
358
542
184
648
192
560
931
417
940
882
320
561
624
665
999
670
588
910
259
314
443
892
90
308
361
813
614
125
709
211
459
597
905
163
630
771
668
540
292
705
583
378
691
992
961
950
105
30
539
260
332
406
468
515
732
261
383
554
228
193
73
389
12
66
430
746
917
74
909
942
534
558
656
555
224
356
888
27
60
925
806
820
650
65
558
730
486
874
324
748
181
422
584
166
455
781
36
718
293
202
426
161
983
692
759
114
110
728
986
906
716
574
258
882
970
534
296
905
676
448
233
765
880
953
537
811
615
315
265
441
607
158
947
967
331
10
878
2
384
427
409
751
575
374
172
487
468
644
779
49
391
403
672
436
53
307
253
425
24
257
346
654
257
576
321
850
746
272
944
655
188
106
104
47
211
380
106
495
315
710
144
785
215
576
895
936
636
99
919
726
967
319
695
165
390
239
665
627
227
28
642
515
286
79
272
6
939
54
19
898
497
676
343
581
214
772
283
907
909
989
681
88
770
703
659
792
353
850
775
282
211
792
473
774
822
905
87
231
736
244
647
390
898
512
178
215
161
570
32
846
886
895
981
822
349
719
515
561
395
56
776
68
429
469
60
388
338
226
662
627
405
434
118
186
617
857
573
502
22
370
83
729
952
450
154
716
1
643
716
142
612
714
26
857
14
31
710
327
33
842
261
563
998
224
833
85
551
915
106
271
685
698
311
895
748
707
263
821
450
836
387
542
155
411
266
738
855
445
222
78
278
50
768
279
484
74
581
792
212
603
786
582
942
757
957
172
313
103
194
485
139
104
74
54
671
241
29
863
206
850
949
406
375
226
405
553
665
292
914
480
812
943
81
205
721
228
310
261
470
661
993
641
774
317
743
440
11
819
290
550
538
982
105
354
576
656
693
607
351
275
770
613
578
712
198
341
567
322
649
361
462
451
459
341
121
270
20
380
177
553
369
628
653
853
325
499
339
621
669
272
774
995
342
12
334
330
609
598
374
82
420
54
842
296
985
547
47
799
696
163
521
167
85
36
32
675
478
460
845
728
354
395
259
742
204
168
325
16
832
210
365
935
675
431
609
734
651
159
812
143
470
628
197
469
160
675
449
39
719
646
759
495
469
506
140
109
677
815
289
174
455
516
325
494
756
475
597
222
557
311
619
561
945
358
863
371
872
503
820
343
808
268
244
183
396
722
934
237
460
745
788
42
421
682
82
607
226
687
114
596
423
897
403
194
879
119
624
164
957
885
317
464
662
590
222
880
399
915
757
296
495
875
777
590
550
671
238
664
59
969
824
778
424
367
877
183
679
558
242
32
764
190
719
689
168
435
887
832
90
118
992
234
89
565
432
663
320
471
152
143
72
755
892
734
285
754
825
25
147
141
579
828
659
643
20
890
243
941
469
28
139
189
209
759
291
185
227
374
896
569
167
418
608
386
366
685
616
966
647
199
484
346
299
90
674
421
285
952
141
561
246
33
246
720
336
581
510
932
255
757
406
669
98
802
473
745
819
559
509
322
151
19
526
108
821
317
416
3
761
448
17
325
806
67
355
201
75
899
389
900
809
653
473
674
959
860
119
133
233
705
376
335
599
757
252
506
514
483
217
767
224
566
729
340
560
346
118
428
571
146
927
394
199
864
988
900
945
950
81
401
139
847
39
751
1
1000
523
713
153
813
537
841
596
289
907
546
505
656
611
167
333
972
849
499
837
542
144
559
664
32
658
330
4
295
71
831
658
272
85
182
613
801
620
199
793
816
255
722
239
194
305
63
401
486
229
896
553
840
711
477
620
717
850
260
868
400
390
895
954
890
810
90
826
481
394
11
836
244
115
739
217
644
273
801
768
744
366
933
176
803
565
68
940
568
542
970
235
266
96
98
405
84
200
32
975
945
627
242
207
492
273
67
273
514
664
520
45
492
899
938
359
516
466
559
361
654
939
808
205
701
563
475
948
361
128
963
949
120
329
501
454
478
24
528
373
721
414
471
381
149
185
789
650
498
87
464
457
351
249
73
866
435
781
222
488
115
838
388
38
781
404
137
49
548
474
301
635
419
213
928
634
51
918
731
822
351
291
307
124
391
620
639
932
569
944
234
690
496
193
808
890
826
559
591
493
148
107
179
589
83
723
354
789
941
3
442
444
649
663
594
307
168
322
841
627
288
296
890
25
522
169
408
706
796
448
991
674
757
590
72
690
846
38
805
624
703
674
352
711
91
282
39
988
288
183
604
826
816
216
91
61
444
605
6
689
644
85
6
470
57
833
761
80
78
408
596
636
357
873
210
515
891
756
38
409
370
275
818
441
627
561
544
10
357
199
236
751
756
491
939
612
367
302
906
601
221
197
212
200
294
866
902
771
424
496
389
562
97
845
975
61
902
259
300
521
72
752
1000
457
224
598
77
783
313
572
299
58
871
106
465
998
767
117
516
994
127
245
269
913
522
503
42
836
236
148
538
723
222
672
155
228
362
405
294
980
760
145
367
733
111
631
911
680
633
411
662
123
637
858
459
390
614
653
597
617
595
64
604
519
629
716
454
789
480
381
893
118
983
502
930
143
95
786
507
790
335
226
38
596
190
329
812
609
66
183
203
345
528
188
295
132
922
985
744
871
904
114
710
885
101
417
206
60
880
65
523
926
150
351
248
676
269
70
981
359
339
393
45
685
623
631
394
896
396
179
404
163
244
220
459
853
749
515
62
767
508
659
704
170
671
767
869
24
495
437
392
331
972
184
802
918
211
279
460
302
128
85
37
508
919
494
333
830
4
82
525
574
344
919
680
746
551
758
768
529
775
513
467
103
127
491
782
74
332
882
862
291
343
331
418
354
924
310
852
469
566
124
529
581
652
77
630
948
490
293
671
376
695
130
97
367
397
970
301
324
936
393
62
799
26
380
677
460
850
280
960
122
182
677
928
688
433
209
187
301
475
641
979
379
171
155
369
413
851
929
311
616
343
562
158
549
788
777
751
836
158
156
377
950
320
367
745
861
506
449
606
989
268
247
834
551
339
10
535
860
341
513
285
561
955
777
665
98
979
647
70
952
696
979
195
277
102
219
679
644
841
459
172
515
148
853
441
930
702
459
237
639
52
140
338
573
208
151
551
128
53
440
503
186
472
486
726
195
477
717
862
917
143
140
859
624
898
867
630
656
528
627
984
219
303
188
616
256
782
867
525
990
180
932
547
520
673
765
603
426
648
113
859
917
684
603
247
474
43
993
676
293
490
287
870
97
600
923
921
43
63
765
576
502
115
468
773
496
937
154
128
420
748
986
928
494
388
379
675
52
344
94
368
409
569
381
553
522
936
691
590
80
845
187
751
986
309
462
514
412
869
397
869
721
770
54
522
626
160
892
661
841
532
320
324
397
193
806
476
480
347
345
630
368
290
64
199
570
271
143
814
775
821
46
512
567
739
230
42
182
473
168
556
746
302
478
556
552
635
434
339
924
706
937
91
147
140
259
454
724
189
551
614
998
900
115
954
746
145
936
848
934
199
804
459
255
547
653
295
394
661
397
826
257
784
647
703
536
169
158
969
61
787
785
196
356
251
985
658
707
612
658
507
821
692
184
377
864
852
82
50
249
419
612
578
62
544
970
751
422
895
510
908
376
444
501
877
178
567
555
249
914
831
759
304
460
124
943
637
742
231
277
931
66
593
559
414
85
699
152
204
594
536
517
176
942
556
657
952
305
865
643
359
451
735
536
992
909
61
687
544
650
117
394
215
499
791
311
807
464
508
870
102
132
219
176
708
53
152
514
883
784
509
647
733
882
925
532
799
681
305
953
297
116
600
855
161
229
194
814
609
212
831
172
175
46
437
870
4
820
756
876
744
822
472
441
571
353
346
94
684
5
969
429
147
845
917
225
80
539
452
409
19
950
433
656
735
164
760
208
918
213
504
595
914
987
865
530
130
953
216
184
838
340
816
419
807
393
192
329
652
141
827
617
813
885
529
911
795
266
788
117
691
355
506
312
14
654
703
456
573
316
203
435
445
137
838
556
116
86
425
624
493
250
593
164
814
44
593
194
457
478
364
181
238
66
461
460
109
707
927
449
64
482
846
465
680
853
92
774
951
189
731
826
972
909
675
260
618
755
404
373
537
902
29
235
685
658
521
503
140
492
672
331
121
1000
242
434
970
211
780
517
383
322
829
777
280
565
551
126
564
378
352
104
445
511
730
199
152
980
406
441
625
15
793
669
213
286
962
855
494
714
584
208
92
133
779
569
744
894
393
777
961
285
989
270
320
280
779
179
796
706
767
553
596
389
631
179
608
228
236
653
942
411
249
967
29
213
978
917
398
874
464
42
562
95
826
665
403
581
62
799
88
888
803
394
791
541
32
378
471
44
374
473
516
903
415
573
325
269
393
778
800
116
765
853
282
153
393
926
672
814
495
797
357
741
122
43
102
156
623
489
216
389
447
242
188
611
701
680
450
538
50
229
95
431
929
762
180
262
534
722
718
299
733
861
573
694
856
602
262
881
329
592
100
709
212
977
203
288
38
285
631
462
778
581
340
663
364
728
677
663
961
183
880
410
127
726
380
680
27
938
789
774
144
31
75
849
286
846
836
778
249
446
506
602
197
758
62
759
654
143
30
270
56
591
618
968
934
510
389
680
160
684
178
2
152
63
886
911
579
475
392
36
889
239
39
809
952
916
86
96
201
107
58
147
923
309
150
872
773
307
709
520
146
488
345
796
796
766
418
356
966
511
469
381
320
985
681
643
209
314
593
57
120
960
113
243
690
969
326
994
335
27
733
911
359
502
319
648
401
186
298
366
214
429
455
18
49
706
778
40
392
439
442
855
388
59
306
372
59
903
762
311
339
487
178
746
18
140
182
760
942
748
738
444
161
593
287
794
309
849
236
235
169
376
738
608
235
808
979
445
110
834
217
293
740
752
366
641
804
64
263
748
67
903
641
278
140
563
454
214
894
246
432
927
697
431
646
665
792
932
430
950
349
802
225
546
189
726
767
734
720
441
582
588
364
35
943
841
659
660
255
703
238
331
371
699
107
2
461
181
987
10
884
684
16
357
975
693
741
991
777
721
209
432
540
820
887
612
215
750
325
768
299
119
754
610
101
688
243
703
927
943
690
251
721
738
631
986
437
516
810
902
761
159
517
946
862
995
920
590
513
874
23
401
266
515
410
369
374
505
655
734
799
443
107
524
946
721
797
805
748
343
378
922
333
4
306
630
789
379
3
68
471
187
340
8
905
152
570
648
554
398
836
504
665
205
426
632
911
250
257
486
836
684
457
220
900
405
520
123
523
898
199
190
657
878
243
534
294
762
68
452
783
680
709
504
12
359
716
847
297
673
186
448
305
120
792
503
440
751
499
547
915
343
616
298
166
704
8
228
345
59
549
218
387
390
372
426
542
469
69
682
326
59
751
289
561
441
821
116
543
963
343
258
412
817
177
334
470
599
394
706
553
506
48
529
540
216
81
539
743
603
993
924
246
422
911
468
194
33
884
376
696
38
526
844
244
438
641
497
518
530
69
257
9
322
822
85
175
663
493
308
703
665
64
908
44
208
465
244
606
516
677
165
818
844
761
367
874
286
874
145
84
603
292
405
649
749
436
913
146
472
154
269
177
963
819
51
430
21
358
859
893
631
967
773
48
162
112
863
682
606
367
945
366
418
831
718
761
562
96
835
636
289
240
148
907
40
898
625
51
610
231
970
975
379
544
985
780
984
361
93
912
257
10
280
832
679
150
867
739
835
228
187
820
584
543
234
189
746
443
786
973
97
223
339
972
408
430
425
950
49
623
531
865
410
110
902
323
47
826
933
90
949
316
778
779
820
714
2
690
563
744
856
398
459
22
761
841
651
339
144
570
647
205
621
339
505
661
834
398
248
235
974
688
859
982
112
654
870
747
986
511
184
132
849
641
261
170
254
248
212
384
466
517
656
726
265
324
441
869
523
934
431
470
827
275
606
318
851
65
691
726
898
514
333
127
248
355
636
608
492
702
505
35
70
567
836
480
579
939
37
917
247
976
770
523
172
223
75
473
532
768
236
807
2
879
844
831
34
1000
515
487
486
936
645
327
340
683
380
45
882
633
724
987
762
832
325
714
837
532
14
483
531
565
629
461
736
929
984
576
967
571
112
210
524
534
78
318
950
548
697
157
947
620
498
534
211
426
146
358
366
90
295
356
280
467
582
963
584
193
29
818
112
568
653
742
354
814
477
796
707
355
465
815
500
573
122
801
275
894
630
705
818
176
423
400
735
108
60
128
197
726
91
281
616
225
358
156
615
952
873
240
643
840
922
650
961
569
575
595
576
431
129
105
835
213
304
814
87
400
209
307
767
675
189
358
738
977
673
439
527
371
48
24
351
572
408
538
449
280
748
303
330
396
802
441
947
776
253
515
732
448
513
619
648
95
578
749
129
189
749
541
821
363
167
879
581
483
161
466
22
413
403
165
253
652
726
806
133
845
260
222
483
712
225
444
228
21
323
363
357
125
178
676
927
970
673
596
80
659
362
644
177
408
365
793
712
171
253
426
632
311
502
791
42
413
26
163
51
780
124
460
688
177
971
877
405
120
417
992
681
377
426
868
598
372
977
944
127
882
610
840
998
729
105
797
709
201
951
145
190
562
389
47
112
334
789
797
634
1000
52
107
643
386
548
140
153
281
796
538
628
767
763
326
416
326
155
366
351
62
554
987
867
235
566
524
622
907
426
758
743
687
666
673
245
447
495
526
136
415
549
928
956
209
519
576
256
251
966
258
619
479
329
4
327
416
709
580
746
505
542
54
796
31
673
815
626
120
654
273
774
54
329
425
615
596
883
627
886
87
586
203
410
844
376
967
960
783
310
338
319
255
641
506
228
784
950
11
872
795
322
175
963
418
44
62
281
165
667
31
729
599
566
481
587
121
324
94
672
648
372
749
516
277
304
259
530
977
222
300
363
984
250
182
274
862
122
620
448
100
343
290
575
742
967
754
943
752
497
288
509
769
733
240
127
410
672
836
181
553
704
741
358
855
439
272
195
318
458
897
335
886
150
525
140
916
627
154
417
826
334
624
525
422
645
608
89
180
174
441
834
245
984
120
842
16
185
557
629
984
613
225
39
901
455
408
874
471
672
610
557
482
59
96
909
716
594
166
261
31
510
508
752
707
166
906
610
553
368
653
642
271
269
247
941
269
352
337
21
460
279
435
243
574
597
595
354
162
379
139
456
793
887
505
489
894
254
464
612
318
1000
292
461
993
923
931
353
957
524
863
932
646
688
160
644
583
745
159
681
486
435
308
715
407
490
983
829
691
789
510
543
461
20
186
717
809
842
845
427
125
348
364
618
757
464
610
441
777
593
455
708
704
410
908
837
899
226
883
967
794
740
815
686
218
333
144
947
917
262
675
306
722
251
978
567
988
13
247
288
622
187
522
375
431
990
769
160
606
694
81
945
837
639
173
997
951
109
431
338
995
837
998
528
338
316
774
797
760
343
745
531
442
453
758
116
455
972
717
584
645
424
196
337
776
971
600
451
427
322
388
724
393
339
299
677
299
139
180
171
720
73
826
173
333
367
160
479
551
592
218
856
639
358
636
183
517
810
793
632
358
551
293
836
577
610
246
291
20
937
663
951
2
702
344
88
322
367
816
1000
549
98
268
91
691
575
906
172
795
705
846
573
189
15
475
796
821
762
204
10
598
901
651
613
725
117
616
488
777
31
639
323
652
577
548
556
609
280
154
80
305
822
196
844
130
876
681
865
149
626
14
985
668
807
713
905
755
359
6
641
73
986
360
576
2
29
810
697
375
31
975
453
82
329
842
900
444
774
686
439
526
451
6
524
492
867
985
152
704
632
759
833
497
88
768
988
499
692
531
414
873
224
466
539
129
35
796
664
985
630
162
300
304
859
274
4
319
840
846
824
186
570
81
587
414
832
195
764
868
620
803
594
862
820
520
478
301
274
792
374
980
683
788
109
909
40
194
16
973
386
846
337
327
746
476
127
675
24
259
208
975
502
478
888
197
330
387
730
429
48
247
670
70
786
618
153
790
205
195
775
709
674
882
119
513
435
327
93
279
700
852
92
397
745
568
736
304
44
468
766
706
413
467
935
592
952
692
346
606
285
783
769
307
238
625
915
397
631
726
510
286
298
379
282
237
793
888
649
907
514
372
997
313
112
106
887
116
144
904
471
670
881
804
664
425
80
195
351
157
304
563
2
975
71
249
604
191
706
949
738
996
287
214
965
298
472
871
423
234
325
111
682
642
467
974
458
192
34
91
739
999
917
855
256
258
760
612
974
869
982
110
488
55
881
171
769
711
531
484
701
594
743
502
247
473
837
640
882
64
364
367
141
908
184
330
741
339
511
348
763
359
634
967
789
531
22
279
757
978
436
887
490
183
485
210
547
591
806
808
56
915
628
55
673
660
89
259
673
626
46
309
424
44
518
1000
217
565
125
487
458
535
71
703
757
870
264
177
324
353
159
410
391
391
778
847
72
71
144
542
228
892
82
805
361
673
902
472
557
957
21
961
766
707
953
940
506
186
464
269
176
729
856
825
741
505
520
19
498
505
902
38
11
687
994
348
53
674
297
571
584
397
941
630
374
835
364
954
872
364
436
636
305
247
477
648
810
490
921
607
599
627
722
149
773
998
745
635
424
726
526
808
91
934
751
995
460
660
742
652
460
623
42
334
513
189
923
715
801
893
264
837
818
411
780
652
372
159
44
791
468
572
58
657
169
700
428
176
624
951
318
952
936
705
446
182
451
28
370
367
323
926
152
797
953
391
333
785
993
17
770
858
118
89
573
460
733
887
793
212
65
384
1
494
871
660
161
879
117
123
463
979
542
65
871
369
968
169
228
577
610
336
644
536
369
603
797
563
300
967
495
619
23
673
519
592
825
885
341
369
599
662
772
720
584
897
990
402
49
165
671
431
709
465
140
167
653
462
569
717
19
167
238
187
461
951
807
449
693
407
326
455
74
853
489
583
191
220
221
139
918
631
234
961
243
244
662
978
455
845
170
723
951
193
268
33
998
397
641
607
297
420
435
663
57
366
380
650
622
392
523
897
389
895
121
69
859
168
956
572
193
836
900
326
592
204
99
902
98
119
530
663
222
72
13
353
895
28
983
616
806
927
461
989
181
874
678
283
355
797
786
663
333
740
900
360
655
33
498
723
497
280
850
221
911
501
719
92
517
763
60
555
749
348
813
904
973
827
159
337
401
418
846
68
763
649
226
147
99
664
715
403
895
483
234
104
1
120
75
257
428
783
297
944
182
279
421
735
718
356
736
6
503
955
934
944
417
257
181
137
405
954
964
885
889
397
209
808
920
155
261
908
959
37
252
934
467
803
305
852
200
665
763
186
220
130
368
280
148
936
882
810
106
607
157
448
152
637
85
216
724
428
151
898
762
893
559
868
752
52
12
829
845
65
288
233
628
877
658
636
845
42
89
816
564
395
881
260
877
896
89
550
188
397
617
239
559
91
375
53
371
58
230
625
779
726
817
539
36
998
421
130
809
493
282
373
999
638
635
175
452
323
757
580
148
440
67
716
135
928
83
780
500
856
638
7
139
685
324
368
954
80
554
678
375
578
984
914
769
922
307
790
402
156
569
86
91
391
238
750
592
704
238
594
59
828
14
227
632
97
517
940
306
652
647
484
782
29
334
977
893
72
907
747
568
596
839
562
996
326
245
512
838
413
772
817
865
300
596
950
344
744
350
765
898
597
661
781
296
338
917
357
837
381
548
278
547
944
848
176
424
600
871
291
341
686
440
316
36
399
682
431
802
787
781
221
133
813
839
815
586
323
836
499
536
80
679
16
372
973
239
978
861
134
112
105
122
982
525
522
645
141
491
941
279
775
793
391
978
127
877
91
337
946
39
142
675
61
564
39
447
567
649
355
307
949
970
565
3
33
783
706
621
787
265
442
359
893
649
147
175
451
346
855
132
380
890
215
217
854
16
177
737
592
595
744
117
953
500
989
104
533
646
495
904
440
633
517
742
472
410
480
715
197
356
841
566
328
3
986
181
845
377
559
193
33
621
586
92
976
100
771
593
84
672
643
851
892
208
546
305
744
694
82
545
938
480
254
626
589
305
451
671
757
748
421
446
369
676
536
821
61
58
990
677
387
246
52
883
725
450
130
415
844
691
185
542
316
920
11
304
873
373
987
153
368
474
152
737
205
755
920
270
992
345
273
853
681
526
46
393
656
771
773
482
67
426
637
722
207
926
233
476
875
2
241
985
485
873
598
100
152
789
444
624
88
656
918
408
442
650
883
898
140
891
802
775
372
269
241
711
131
464
981
23
586
32
279
196
172
218
614
801
957
780
152
376
234
711
247
158
319
180
535
443
215
443
549
477
139
701
332
456
910
140
245
201
862
424
982
509
218
967
866
20
881
189
631
671
170
790
229
453
331
807
703
254
605
832
777
997
168
323
617
196
584
361
187
263
244
583
688
626
865
249
882
783
332
576
474
894
24
536
340
420
307
296
88
639
62
342
354
529
942
123
251
674
569
762
626
332
22
938
92
753
778
590
353
154
740
483
984
512
102
991
678
459
578
692
914
145
972
487
183
860
126
985
175
603
69
869
781
526
555
760
389
378
273
896
686
661
695
577
135
166
922
894
328
995
922
766
694
960
198
624
377
434
324
454
695
385
736
21
257
323
837
244
668
302
787
688
808
987
316
33
777
8
500
227
976
470
752
715
256
566
180
805
686
655
84
748
322
73
585
538
285
192
314
831
561
913
603
578
212
902
892
178
95
296
887
4
772
593
565
117
10
641
288
888
173
453
150
18
844
590
149
140
213
455
951
782
136
719
822
4
263
445
754
370
320
234
954
317
446
834
626
125
469
215
413
887
145
89
974
868
670
191
897
615
245
420
554
7
44
121
590
211
751
364
407
143
683
60
430
631
672
177
919
922
20
71
822
584
322
217
463
110
407
183
887
741
427
743
330
136
914
449
569
482
686
797
913
592
624
390
184
327
680
109
332
418
945
400
254
384
271
194
986
778
693
889
687
451
891
57
711
847
996
231
662
619
358
208
515
9
252
806
768
496
123
876
105
202
688
703
267
418
78
635
634
396
283
863
527
255
340
842
415
440
63
728
984
674
635
570
524
774
49
701
197
984
192
971
517
743
383
947
842
906
279
230
717
485
380
356
716
907
791
543
771
662
548
712
90
934
513
801
442
492
833
366
987
683
976
889
836
835
616
963
225
758
34
797
526
328
216
34
300
326
561
951
280
785
946
491
445
147
920
447
346
377
964
331
443
80
80
117
501
306
451
105
31
431
551
595
332
983
891
942
975
761
509
816
435
927
459
188
149
7
768
621
517
895
798
959
192
44
488
389
575
960
698
150
588
40
770
883
644
544
449
718
248
215
523
725
788
629
887
273
911
885
254
180
319
649
403
282
971
877
678
174
431
782
437
452
541
707
284
729
715
656
217
64
845
112
259
221
268
682
777
335
271
811
411
166
331
514
509
98
665
604
984
432
693
385
782
347
696
176
517
69
295
276
383
456
378
213
135
176
747
197
819
118
76
702
912
489
725
33
722
305
588
516
213
605
437
713
907
802
121
661
153
19
634
686
834
114
250
790
564
413
859
938
490
792
202
849
119
860
895
44
977
498
25
968
508
864
622
991
317
325
492
958
808
431
742
756
234
215
821
40
446
580
67
890
949
487
528
643
386
977
339
576
253
804
11
419
462
612
792
922
364
111
697
802
963
707
888
457
359
363
817
758
908
268
977
88
185
68
159
561
614
957
791
983
521
978
377
728
482
223
11
141
20
452
679
468
135
855
361
624
684
298
988
254
293
386
913
692
410
163
901
393
44
26
593
332
963
742
25
699
407
47
63
913
898
383
537
633
309
799
469
965
207
869
28
521
397
784
727
310
705
444
984
727
320
448
333
42
420
374
474
871
365
650
887
85
522
594
874
478
608
941
798
330
543
245
725
658
963
120
869
576
916
154
37
680
782
713
721
769
107
551
640
566
894
315
273
283
848
576
399
51
227
966
716
220
247
383
380
533
413
989
705
973
801
885
306
877
22
970
721
549
570
438
874
181
303
790
805
367
32
28
769
864
606
906
125
547
403
744
467
707
847
290
84
910
423
606
136
686
683
711
928
177
889
32
247
731
286
283
52
125
455
509
694
757
857
450
470
654
456
256
540
599
271
851
155
44
795
941
689
696
514
708
199
855
143
749
89
646
789
706
10
228
989
342
282
3
440
499
993
570
294
533
400
910
96
297
436
861
779
701
919
449
672
196
535
72
113
267
773
813
121
181
795
431
521
768
639
662
93
979
236
529
581
341
501
287
872
177
127
495
229
657
796
427
267
305
208
744
242
616
750
869
320
778
588
18
721
346
717
190
4
898
795
727
341
310
613
244
279
335
685
806
386
571
778
273
173
752
143
602
842
521
838
747
768
516
821
507
63
612
412
292
243
660
331
340
790
904
736
330
365
528
632
707
527
476
538
283
73
766
546
831
554
989
757
469
52
611
626
597
97
976
917
34
434
621
817
783
419
636
255
550
37
302
630
734
854
200
935
130
766
280
786
956
54
152
914
189
82
970
525
371
969
879
313
195
684
899
47
225
329
531
359
32
799
115
795
878
647
148
238
849
713
364
522
979
11
359
440
490
453
943
369
744
189
198
424
873
761
433
393
349
811
845
693
947
741
706
265
655
655
330
599
69
842
905
86
768
298
514
476
922
62
314
536
163
655
895
914
345
519
296
805
367
180
29
278
679
780
717
17
432
742
636
780
491
602
548
112
696
445
670
710
804
968
552
371
561
922
921
634
172
573
249
68
283
861
946
665
238
147
567
936
3
783
369
122
623
259
876
413
524
351
865
161
262
508
308
876
552
723
374
221
554
231
557
308
404
717
336
352
939
128
576
129
417
810
20
771
759
454
848
117
546
241
221
219
523
665
159
656
883
738
896
949
937
665
42
747
102
636
532
439
312
52
330
495
47
407
297
153
213
999
480
39
969
873
274
926
464
675
610
110
138
615
331
825
871
343
399
704
832
361
427
546
274
533
310
544
921
356
406
693
796
934
783
317
555
997
575
516
400
898
336
873
682
243
626
940
116
700
750
856
387
576
686
969
551
954
763
460
293
531
572
796
555
825
944
292
509
64
524
201
132
928
683
509
864
269
984
64
995
70
457
736
415
236
218
91
343
211
819
422
471
46
829
63
744
316
764
631
616
180
465
203
238
961
412
453
470
871
271
499
6
860
181
495
184
154
886
49
242
702
870
168
892
648
36
768
66
935
340
717
626
320
23
46
619
405
699
203
418
777
664
175
675
979
189
902
588
829
476
637
406
562
188
818
444
362
163
584
148
138
2
269
895
780
697
89
293
745
380
762
713
536
557
997
663
510
919
599
417
532
913
472
974
157
797
933
45
393
819
552
273
620
496
230
273
889
704
310
439
663
448
334
642
40
715
450
122
643
783
608
865
640
723
407
736
821
596
841
468
261
26
308
365
859
417
890
240
967
62
349
687
394
802
261
229
291
677
439
302
847
232
87
292
216
755
186
53
847
733
200
414
206
252
554
215
921
897
272
292
530
938
785
668
344
242
220
934
425
408
395
409
298
63
330
243
844
142
360
23
722
221
814
836
827
684
786
968
513
538
758
582
750
236
679
805
958
717
662
601
981
203
620
709
559
978
25
702
712
516
447
902
623
820
704
520
983
764
262
851
282
596
970
809
163
436
359
356
827
822
505
660
421
841
886
886
500
395
761
612
945
481
341
776
149
147
423
904
933
960
230
156
369
416
900
349
628
690
454
710
56
545
79
578
901
987
284
645
482
507
779
634
185
321
979
473
315
59
625
157
736
798
398
469
210
116
290
649
532
158
181
929
881
264
317
556
294
848
322
575
779
593
979
159
429
968
243
736
790
269
881
502
893
138
663
154
587
524
260
863
251
598
881
543
528
995
193
484
454
72
276
251
256
575
173
574
110
219
129
645
388
218
746
794
246
707
78
86
930
360
192
738
856
213
807
595
329
886
424
137
746
906
786
588
297
828
592
773
428
205
156
278
803
201
78
340
119
873
81
626
869
670
856
753
74
737
157
933
88
970
402
626
805
595
704
455
980
242
640
918
935
97
24
639
601
734
605
982
719
671
966
861
38
514
790
509
491
776
364
755
696
154
393
100
568
39
195
523
505
530
901
453
369
83
529
819
460
180
741
413
778
91
606
77
122
897
935
362
15
400
628
402
989
474
977
695
536
694
87
380
869
786
388
370
733
578
723
420
658
620
655
761
447
595
429
496
163
956
507
312
580
984
703
403
871
587
741
734
299
726
465
878
796
297
55
716
632
688
325
222
812
975
588
407
447
903
642
258
110
392
133
145
108
297
938
769
672
520
222
177
306
415
521
748
911
601
547
359
856
931
381
102
869
377
420
66
459
17
700
647
620
159
228
815
713
847
556
537
763
666
97
323
882
807
657
452
166
799
206
999
210
201
177
204
343
792
486
107
773
504
34
579
112
394
627
85
162
465
194
561
423
32
628
757
504
618
828
289
521
112
329
433
599
980
398
357
806
892
648
133
181
18
23
326
65
602
462
414
581
154
690
562
952
736
352
553
317
388
142
754
866
690
667
67
361
810
542
744
625
178
607
802
124
84
221
507
576
95
294
93
417
173
116
415
33
754
28
725
908
882
713
143
200
674
185
677
849
4
578
821
955
350
473
905
88
123
822
310
154
672
493
637
638
380
68
699
351
916
823
922
322
748
753
409
59
505
65
422
265
615
860
486
974
932
582
691
248
733
394
978
779
554
866
418
199
826
196
487
452
156
759
384
337
414
925
270
191
482
961
109
743
648
287
499
375
139
564
439
364
213
847
543
198
571
540
555
746
590
999
391
861
6
402
140
984
247
941
563
481
574
502
705
681
532
712
147
107
6
660
289
929
346
654
802
481
595
87
50
577
875
853
856
443
342
808
457
314
952
408
854
132
477
52
96
326
829
607
169
358
755
289
312
559
424
334
551
819
224
909
179
845
346
302
706
23
387
715
540
422
229
932
290
88
926
707
105
605
203
971
921
801
417
865
837
644
530
164
67
580
718
866
127
21
721
590
933
244
952
980
487
715
673
461
711
715
252
560
751
208
637
492
796
78
707
864
26
241
62
163
838
608
184
155
876
598
614
453
746
682
936
279
482
435
931
886
1000
723
193
196
764
922
898
961
890
544
146
146
701
218
513
308
546
772
7
440
344
53
622
150
863
216
72
45
252
429
100
890
694
344
956
452
346
215
251
926
928
252
429
516
417
655
501
13
299
776
539
234
770
53
671
751
54
636
925
660
761
167
387
47
840
763
520
422
185
67
426
614
426
196
52
544
786
481
44
848
108
203
31
525
356
911
599
673
936
509
139
899
165
16
7
170
100
787
203
712
715
52
835
79
112
796
180
632
57
379
93
516
624
819
817
660
150
297
8
466
17
296
931
623
10
757
337
907
108
780
467
941
634
676
36
625
598
641
772
335
937
923
306
76
117
127
752
472
187
197
342
850
991
710
845
720
683
358
323
595
76
834
979
501
662
955
451
461
293
477
953
923
667
980
78
416
705
167
893
661
874
115
239
1000
278
340
741
296
110
995
130
354
652
198
920
559
553
249
328
611
578
447
633
200
347
352
818
977
842
565
435
425
632
539
116
83
822
504
48
121
712
320
46
439
25
955
546
312
364
347
962
80
223
577
381
573
514
671
480
726
41
841
896
338
778
643
9
42
133
373
258
318
596
983
634
836
281
947
993
493
960
799
156
262
52
520
550
370
964
549
341
380
863
956
550
480
668
246
668
637
584
328
674
310
13
404
138
111
12
953
346
124
781
497
940
600
867
542
644
402
827
966
26
880
145
114
113
818
81
25
895
724
948
579
408
5
57
789
137
511
169
118
937
526
857
512
536
501
617
761
943
787
895
925
789
114
479
816
679
835
858
964
135
799
201
28
626
245
612
406
443
310
171
625
914
564
63
175
572
493
812
641
374
15
195
337
42
893
950
162
899
411
791
70
316
777
557
381
47
496
554
101
259
409
260
624
45
163
639
406
551
640
197
724
633
263
815
177
130
169
110
398
423
951
757
329
944
34
770
515
689
790
200
72
582
183
110
411
779
56
950
306
565
200
668
624
560
966
979
870
363
516
216
723
578
767
112
911
439
688
672
93
866
917
13
887
855
582
679
851
558
790
497
981
259
537
443
267
756
631
373
944
293
848
706
339
309
707
320
630
728
140
970
423
436
871
545
755
870
478
320
58
372
983
184
631
52
283
478
376
459
907
716
921
242
394
936
752
356
33
850
655
84
856
289
580
296
535
642
47
922
265
135
319
572
826
827
880
598
748
140
214
664
902
593
464
78
923
154
326
695
554
305
460
221
406
465
762
133
632
893
68
214
705
579
271
930
840
915
359
503
583
123
572
497
750
524
773
250
218
741
80
219
5
818
43
630
749
92
912
418
912
330
74
505
31
324
333
946
881
631
542
291
688
617
9
835
427
290
229
59
796
682
745
676
676
683
373
174
767
313
577
651
594
379
545
22
290
357
373
408
392
105
825
623
377
728
338
179
821
511
291
190
885
308
64
848
292
246
107
925
57
864
24
865
62
59
707
603
946
343
645
203
913
931
862
756
786
148
371
776
46
467
641
490
648
267
343
992
142
42
541
257
960
370
603
365
806
432
296
110
728
226
957
377
830
932
146
265
535
70
902
992
13
178
581
996
655
765
252
518
463
182
825
186
853
887
365
731
611
305
587
76
728
90
105
442
385
169
844
7
640
362
952
932
247
726
673
212
604
40
880
931
65
992
412
963
682
698
921
63
6
179
659
610
747
263
545
938
926
205
877
336
673
982
253
314
950
830
642
642
301
99
32
9
212
901
776
910
747
354
561
477
950
448
917
552
898
673
322
241
417
617
258
567
174
648
993
591
324
672
516
562
880
694
785
241
755
576
363
518
743
971
616
855
776
852
862
872
455
457
245
623
189
759
669
697
312
759
798
320
135
976
26
52
275
558
290
510
507
312
800
781
40
772
70
837
388
176
112
329
945
814
317
563
948
778
299
367
794
561
979
788
531
324
246
273
947
887
818
29
879
671
357
788
226
881
430
75
698
198
675
371
503
116
406
305
26
871
922
77
32
568
16
884
111
741
493
999
855
65
69
525
752
364
650
570
885
369
835
723
318
893
464
288
471
260
178
666
888
801
237
657
545
230
298
218
239
513
470
388
682
652
719
672
615
397
603
181
641
543
422
190
507
879
70
617
240
275
271
100
890
660
444
975
631
850
115
494
616
269
666
17
306
614
223
780
938
451
651
48
439
498
943
132
362
123
787
794
357
182
722
4
278
879
81
911
267
760
894
134
93
297
992
158
527
802
868
724
808
524
205
555
82
904
623
705
255
884
875
58
867
97
642
278
445
495
106
567
279
729
689
148
740
130
688
306
37
686
73
131
804
818
354
889
20
51
280
55
534
920
84
604
916
588
145
136
439
659
230
734
749
643
924
259
166
361
461
957
645
334
941
817
129
876
826
127
383
145
689
70
459
932
428
987
595
284
526
166
715
403
499
610
677
416
375
269
81
726
882
637
753
648
64
467
990
969
195
578
268
853
191
377
396
269
198
773
45
726
682
635
139
648
129
765
891
163
417
689
118
425
32
179
76
840
567
573
228
737
339
375
275
93
562
586
262
878
239
447
800
481
798
54
245
472
589
355
209
618
506
605
899
699
399
257
617
165
421
617
196
72
149
315
293
81
128
789
213
499
466
561
389
491
263
986
740
618
930
589
852
800
926
802
351
653
21
153
891
906
982
507
891
260
486
948
539
623
125
310
588
121
640
140
181
684
856
105
256
261
374
446
102
940
771
138
276
335
882
799
399
602
805
259
334
366
388
921
839
660
316
694
106
680
382
337
490
830
166
503
358
15
143
638
215
639
189
162
165
56
560
44
352
527
687
935
198
873
532
568
168
63
855
964
299
10
448
333
916
645
275
256
799
203
542
828
581
296
868
991
269
970
120
187
641
430
972
824
689
567
936
749
434
676
402
109
214
40
247
490
949
150
678
227
21
362
294
98
135
773
780
427
914
897
257
758
67
507
103
878
676
680
923
942
518
607
485
838
350
250
613
759
815
276
465
129
914
12
123
658
23
315
164
333
69
398
700
540
806
638
423
399
72
274
325
584
553
778
115
574
849
363
827
330
577
723
747
834
820
667
584
819
503
715
769
252
163
102
847
853
144
867
228
971
461
876
943
662
467
714
653
700
945
306
883
532
482
62
329
933
787
93
150
204
118
740
345
284
154
279
670
80
438
132
67
642
980
374
253
553
766
588
921
59
648
399
13
995
558
95
642
545
72
828
542
217
96
796
379
201
845
664
853
445
350
250
295
366
447
145
366
116
571
517
566
699
695
814
453
46
466
460
915
375
901
941
312
756
21
846
82
825
450
538
192
40
315
145
873
680
745
451
237
32
902
104
678
869
734
269
470
363
597
487
605
28
469
43
680
182
736
580
636
647
414
48
238
107
266
332
424
642
447
71
119
393
219
231
650
271
773
982
626
882
420
307
75
563
199
554
611
533
511
836
677
700
481
781
196
565
609
644
529
17
700
192
275
547
201
107
295
550
869
871
302
949
82
206
513
306
242
211
154
986
447
264
35
681
7
597
66
786
445
221
282
709
349
543
932
186
790
557
210
48
72
2
467
721
256
231
121
910
236
835
19
583
145
251
726
325
531
694
41
625
43
734
94
445
325
789
494
687
470
569
388
797
614
289
700
820
240
49
529
663
310
340
416
186
610
86
187
22
592
941
154
699
564
871
739
713
269
161
997
704
810
87
84
764
357
449
459
240
304
51
481
47
337
1000
134
698
416
379
772
694
797
450
168
915
39
66
660
944
414
351
815
6
242
57
932
356
481
195
603
495
290
709
759
551
441
957
875
530
118
732
482
915
134
402
730
247
586
481
520
947
713
644
624
573
107
716
302
159
426
694
161
27
463
186
357
724
751
986
836
314
909
657
962
283
546
120
757
766
887
240
4
592
221
307
603
931
931
141
923
938
90
259
353
855
603
185
911
494
406
508
546
869
535
743
739
44
744
399
90
918
911
907
868
750
725
231
898
747
968
40
739
885
265
306
862
483
362
63
375
718
810
853
943
418
456
79
706
961
273
75
383
49
888
218
246
470
623
813
325
667
985
799
31
116
331
552
353
48
855
182
949
997
136
770
713
55
252
918
868
437
835
855
252
191
534
64
195
421
53
95
333
409
295
771
773
416
201
463
241
728
514
520
252
737
84
193
867
457
293
602
328
889
853
391
672
82
522
721
504
570
274
156
208
103
48
824
255
239
511
955
719
393
185
522
751
452
880
252
581
854
641
724
525
369
286
605
617
448
206
335
740
120
297
744
532
882
762
135
941
951
63
350
19
509
474
213
440
330
537
537
273
242
218
554
726
434
701
262
960
533
595
645
553
696
761
166
893
722
113
230
585
332
518
565
940
291
351
549
763
40
357
607
937
849
212
700
765
272
588
799
618
875
580
976
225
775
69
426
840
533
969
284
596
320
336
574
616
106
993
25
792
792
685
758
730
854
743
36
29
71
928
398
945
334
402
460
477
377
762
615
92
501
678
659
651
9
972
98
535
128
887
534
656
645
916
32
799
348
770
864
701
641
9
312
382
371
379
524
513
992
151
542
999
678
602
701
561
894
315
565
811
238
176
469
214
68
748
482
372
553
255
335
248
288
495
437
347
577
878
618
329
770
199
630
245
823
903
784
383
372
384
300
704
181
258
83
985
752
690
681
80
286
573
118
160
936
744
145
384
452
542
200
260
955
646
46
810
491
584
604
788
486
267
985
392
967
636
95
321
663
813
489
552
679
170
321
939
496
373
349
560
430
759
962
786
567
396
94
176
379
767
721
669
923
314
350
990
526
16
543
839
358
756
64
239
139
482
656
339
493
76
837
106
161
388
317
577
338
140
851
784
910
237
356
13
261
581
131
820
609
654
896
94
543
982
123
500
566
88
863
854
934
693
842
314
37
733
128
804
898
239
55
746
78
223
430
7
467
522
266
932
943
957
407
505
879
284
459
938
821
126
371
461
430
527
869
686
971
767
689
681
207
853
242
800
539
435
866
411
641
929
346
877
634
332
718
536
47
536
698
977
440
952
228
602
572
910
769
326
425
602
956
276
242
323
133
516
950
353
124
164
19
127
314
723
822
279
721
119
53
701
316
701
599
52
258
431
549
20
67
585
691
218
31
554
930
799
274
760
561
759
2
255
213
418
419
329
581
750
660
331
791
86
901
932
332
202
491
299
23
952
535
959
414
434
892
687
332
119
922
397
55
528
674
832
712
767
412
864
72
735
491
322
848
844
664
568
993
882
822
494
248
32
16
233
375
128
373
600
79
942
183
250
639
658
991
569
630
752
999
578
953
123
485
494
571
732
203
160
978
932
940
231
445
383
502
877
518
720
396
773
58
123
400
309
386
562
16
283
700
749
538
823
24
791
88
921
369
115
515
751
684
471
486
889
422
749
457
691
227
884
457
298
342
349
792
189
824
601
828
789
524
381
993
321
134
958
24
34
275
218
260
954
731
48
482
504
448
554
394
703
855
532
349
173
379
15
338
837
779
868
558
27
68
207
133
688
337
781
655
540
760
638
273
291
422
62
994
505
372
226
699
308
505
31
152
860
423
352
917
492
463
232
685
414
409
664
979
203
289
206
583
606
786
89
325
768
465
420
52
706
1000
760
707
672
52
679
459
86
223
812
697
888
816
615
582
467
734
261
510
828
907
65
512
279
119
417
139
715
931
445
819
542
713
540
26
372
430
429
857
891
952
696
770
720
99
533
310
663
585
21
608
478
271
425
350
168
888
846
650
865
479
42
13
560
337
400
113
293
153
861
664
933
397
31
43
344
733
883
658
556
358
172
262
544
773
186
566
369
394
491
518
690
814
107
570
159
274
948
98
772
94
407
904
38
391
704
372
742
388
974
441
137
49
90
14
661
528
930
799
640
172
104
893
981
408
189
569
579
863
129
863
997
519
825
543
5
495
839
951
724
327
820
43
452
250
495
663
729
20
21
711
830
297
89
424
683
461
397
396
139
12
44
363
649
360
922
969
652
937
429
951
389
994
671
208
466
398
886
214
185
11
953
98
555
946
747
525
976
124
568
167
726
61
17
202
801
745
527
722
124
797
212
407
833
859
801
90
176
272
241
78
521
689
945
241
126
205
788
886
612
956
673
395
538
913
911
460
59
775
715
477
440
435
807
356
107
503
544
540
975
737
954
522
59
77
797
517
721
134
84
237
493
646
480
908
68
397
701
765
960
554
281
275
299
184
89
222
425
964
579
655
268
746
29
369
964
681
981
251
820
71
671
358
507
979
466
18
347
900
284
624
620
470
464
5
126
278
821
457
620
324
469
570
333
582
524
950
523
397
995
829
873
192
7
344
612
46
974
944
432
228
549
992
625
715
919
135
381
39
533
429
855
555
445
503
440
361
241
301
659
663
959
46
233
325
476
119
165
718
630
476
145
739
698
98
179
72
944
693
104
313
652
557
580
602
441
46
211
772
672
616
706
862
464
721
331
5
144
194
509
353
1
896
62
706
809
526
498
939
948
500
721
154
881
698
738
730
382
713
238
80
186
946
424
977
671
547
100
786
762
685
803
771
505
147
754
946
654
533
458
607
181
649
94
754
834
791
226
114
722
730
941
369
475
150
277
491
660
199
656
799
21
572
109
461
574
251
275
686
767
627
488
792
703
237
824
637
906
738
602
678
225
84
692
43
246
93
948
543
29
695
222
563
58
214
720
54
66
980
900
691
765
396
717
408
610
351
800
82
414
542
41
187
5
811
170
568
163
100
110
332
739
994
306
44
211
107
747
34
923
773
117
632
907
575
369
599
507
291
5
818
969
700
547
587
812
544
979
476
39
652
449
768
219
861
128
965
23
907
949
707
85
905
865
709
920
378
409
17
230
59
565
951
109
836
406
596
566
307
514
604
280
339
931
376
708
967
295
364
496
679
818
414
650
907
22
523
62
73
437
350
823
87
50
155
177
591
900
545
144
555
72
598
575
60
327
449
860
249
728
405
599
421
913
1000
284
235
145
199
439
801
834
99
759
219
29
100
456
759
259
471
419
472
219
655
839
471
981
455
585
517
842
438
20
823
439
527
885
188
461
757
573
659
160
607
415
942
867
142
540
675
873
453
541
516
402
524
407
688
827
683
157
305
969
307
172
275
84
240
492
76
105
736
223
20
797
340
794
868
781
253
974
855
748
208
477
206
815
749
476
236
668
155
554
986
36
910
447
137
101
786
446
643
608
64
446
109
845
410
501
466
142
211
126
880
216
928
796
174
513
173
795
248
687
771
61
121
493
12
723
249
639
676
802
731
637
178
920
831
265
358
964
41
23
29
321
536
891
371
705
454
773
674
610
918
226
718
119
68
488
297
117
691
329
3
990
202
988
403
506
844
282
182
910
971
2
644
218
203
876
207
334
28
714
175
856
198
801
123
421
841
293
686
988
799
113
407
726
106
817
566
72
882
21
610
86
181
216
847
444
489
227
600
274
619
157
879
597
750
372
952
264
211
985
890
199
427
333
290
174
101
138
875
555
334
410
636
238
878
662
474
469
120
653
58
365
736
741
776
722
147
869
168
144
69
368
224
613
458
59
285
355
119
556
36
280
70
321
294
326
536
746
832
740
80
479
516
725
966
287
383
885
322
957
132
608
27
152
664
854
570
672
968
808
289
261
628
527
511
969
685
5
121
88
393
59
991
854
683
44
520
412
746
697
266
59
257
350
276
379
157
310
244
701
826
507
102
263
724
351
957
553
259
347
577
574
722
213
761
206
628
116
26
392
682
173
984
628
911
560
695
101
182
386
32
902
472
13
833
885
762
646
165
156
341
812
554
653
662
854
463
952
624
625
572
279
282
416
690
662
571
525
203
307
557
12
65
594
111
893
210
498
670
463
169
888
910
475
394
894
773
628
477
457
239
184
4
264
654
567
257
481
225
476
370
96
503
398
819
238
258
376
330
515
234
579
359
283
626
495
357
786
12
556
879
240
674
618
464
291
919
993
923
744
27
685
269
109
947
34
127
276
699
267
829
626
726
314
806
942
113
846
109
791
668
666
73
434
354
501
189
919
463
733
234
719
198
816
588
201
88
951
440
208
710
106
304
292
768
597
833
431
479
282
445
640
550
866
685
491
775
943
550
442
430
186
249
807
182
523
979
372
203
223
340
929
525
583
978
479
463
285
847
427
104
569
279
893
419
83
696
143
584
626
351
248
470
58
990
308
49
299
672
941
707
721
306
310
45
194
621
650
759
728
407
110
660
951
870
737
671
635
834
608
931
91
372
436
738
549
137
445
144
572
326
973
464
118
723
30
812
154
718
5
77
589
556
812
394
880
304
34
277
867
207
51
52
269
158
679
138
802
986
632
998
59
140
957
343
149
145
665
218
562
889
970
178
911
390
910
654
984
228
631
960
24
194
287
114
275
71
338
820
589
643
997
473
359
203
732
33
107
810
12
976
807
557
933
291
434
889
974
672
295
830
903
636
389
583
744
302
438
575
828
933
257
478
149
173
805
108
663
98
606
402
680
832
229
867
238
481
160
988
161
585
723
70
562
97
657
955
668
165
590
788
230
614
920
823
204
91
560
803
69
289
580
60
918
532
35
857
420
270
174
901
861
718
774
161
704
942
567
325
582
202
602
271
158
239
902
921
50
516
971
700
900
102
542
646
698
40
457
873
700
514
711
704
590
113
530
303
113
768
781
30
994
705
168
75
870
921
426
131
871
185
159
30
662
591
87
256
54
1000
162
241
715
518
470
150
141
304
869
660
812
596
15
865
355
852
845
30
636
256
559
374
913
688
877
450
595
420
647
981
658
455
915
186
518
418
185
753
974
347
939
596
865
566
418
470
267
42
334
296
347
320
407
834
513
119
601
902
100
182
495
921
654
811
490
998
810
791
442
105
864
101
884
156
430
861
203
969
941
490
22
150
386
913
552
910
360
979
884
714
415
953
3
446
747
53
831
455
430
537
742
460
797
749
814
792
56
901
525
860
904
70
762
37
736
64
747
413
21
332
952
961
543
100
144
714
528
214
462
488
98
997
826
551
115
585
32
353
242
770
613
148
959
400
915
857
349
768
859
20
711
207
551
71
426
348
246
426
62
84
150
104
400
325
236
671
909
38
505
308
233
905
148
736
391
187
631
513
756
994
59
970
312
252
51
676
375
80
1000
844
720
182
815
552
30
110
134
996
670
948
590
234
74
30
894
61
429
814
390
704
936
920
269
19
645
634
788
729
745
905
714
54
262
970
691
742
279
250
372
160
179
100
6
544
911
338
578
982
945
188
784
969
426
442
850
635
989
196
669
850
862
461
818
473
168
318
737
915
772
70
806
79
657
997
57
469
545
930
20
920
425
823
555
982
688
912
544
452
852
862
16
938
201
481
614
621
225
221
300
562
460
700
865
30
154
892
107
289
231
496
511
243
164
183
881
94
720
138
671
970
993
283
667
27
809
95
290
123
357
763
23
593
858
691
367
972
204
65
305
818
729
248
444
902
734
278
911
127
926
635
567
503
691
748
322
389
988
397
168
981
707
334
10
754
534
892
591
124
712
350
555
129
611
112
198
324
686
496
555
419
225
116
278
381
266
332
147
896
215
250
209
81
974
98
232
300
849
568
586
790
104
916
743
541
806
153
258
547
511
702
515
119
417
243
502
399
847
304
615
623
323
346
774
957
993
703
194
909
946
776
748
432
721
293
207
848
408
269
606
606
847
573
573
730
796
620
785
517
399
776
612
703
927
518
621
806
569
254
842
854
989
984
628
996
465
651
466
801
721
116
344
173
935
192
129
899
18
47
954
814
985
609
781
437
100
296
164
747
559
523
725
423
651
943
9
491
694
330
189
840
569
302
575
444
332
889
986
470
212
11
822
681
295
564
123
648
301
720
979
337
207
418
408
583
858
813
215
808
369
614
418
75
840
815
534
275
864
329
384
767
344
433
118
280
408
708
842
291
550
398
556
331
724
697
130
906
773
530
682
798
447
767
48
514
293
708
969
575
837
855
289
147
834
670
690
236
821
67
451
302
855
814
306
696
125
937
716
732
36
430
777
601
528
301
542
553
606
38
766
936
494
78
929
790
417
759
940
591
712
526
112
713
893
892
814
875
308
745
743
589
256
124
862
214
752
513
912
697
681
46
836
528
723
721
578
741
260
912
520
7
467
986
239
4
928
801
346
296
390
228
942
866
749
614
613
322
940
260
940
551
194
594
239
231
15
703
593
210
324
267
273
209
445
767
348
708
997
15
602
141
288
706
868
727
525
673
588
369
995
987
648
44
398
849
566
26
672
486
702
109
980
884
425
693
1
259
153
272
331
628
721
350
554
680
806
282
533
458
44
886
544
5
27
914
171
217
570
633
265
664
537
850
872
988
29
670
758
827
915
160
34
905
539
891
456
46
932
6
141
390
4
67
834
21
10
441
324
528
43
395
342
802
423
390
34
474
658
270
125
965
42
209
9
99
90
270
310
562
727
410
887
272
572
591
878
916
692
423
147
471
949
421
387
531
413
520
250
646
343
991
68
695
935
240
136
507
361
293
70
564
638
954
457
660
508
698
852
771
806
414
214
278
802
968
26
882
573
414
671
220
771
398
132
229
90
908
695
779
300
81
150
930
986
222
931
489
34
517
737
149
447
201
435
659
297
84
486
885
519
421
678
566
723
77
709
863
446
814
49
480
69
329
516
300
128
339
271
942
913
638
216
619
44
536
355
986
189
492
305
403
205
107
997
212
767
828
562
134
979
859
565
898
548
822
17
534
872
638
60
574
759
939
823
540
588
119
707
727
423
730
287
227
956
554
65
582
206
124
591
227
558
849
794
105
93
198
964
438
133
582
489
682
604
660
332
83
98
829
217
134
513
536
710
416
756
898
640
2
260
805
857
622
38
354
896
263
535
957
967
721
848
931
602
928
723
728
408
514
352
203
650
173
176
490
786
885
783
126
670
940
519
30
852
2
610
815
318
189
443
726
18
216
134
161
777
214
691
335
499
720
855
172
115
710
205
896
369
250
197
122
402
507
628
478
20
402
403
896
721
159
620
774
821
344
701
135
473
798
708
760
986
988
69
40
618
948
606
925
912
916
175
956
752
204
232
797
523
618
326
96
155
971
867
770
379
830
513
17
215
670
165
445
572
33
879
712
861
108
972
999
673
420
196
431
915
918
170
306
268
856
174
603
488
255
980
800
824
667
700
449
835
176
457
321
932
278
323
183
296
368
118
432
179
17
578
879
230
168
915
941
174
636
970
397
79
31
10
625
500
338
716
961
959
884
58
382
609
380
562
262
424
42
956
314
927
529
266
198
298
605
266
461
692
945
568
613
711
517
764
200
298
273
753
646
750
712
829
513
157
8
105
559
351
18
628
651
346
428
864
155
339
755
292
894
577
644
502
144
761
192
563
430
239
572
403
77
893
296
596
561
536
876
283
714
584
443
886
753
4
182
928
922
814
21
526
239
909
117
80
495
632
105
248
187
302
967
564
477
839
617
958
663
762
13
971
876
88
656
720
871
68
841
492
876
285
927
403
414
361
174
738
896
426
432
429
573
517
39
608
135
288
866
358
821
797
302
562
441
586
374
240
83
9
883
865
637
527
614
954
460
721
210
634
651
874
287
995
429
286
686
786
78
935
571
404
726
698
247
195
26
110
124
803
434
560
303
658
368
899
590
752
989
665
601
501
749
509
783
870
101
975
832
894
989
454
970
429
834
12
11
220
707
803
931
396
326
927
950
78
314
954
727
99
882
772
362
743
722
97
340
10
451
745
401
180
377
742
628
316
692
421
687
931
494
970
250
264
147
245
124
456
601
301
503
472
244
800
50
782
745
310
245
668
122
632
529
509
991
402
315
559
511
637
833
531
69
384
152
791
170
285
414
42
274
726
508
214
601
201
915
663
998
656
460
893
47
883
29
771
498
489
123
584
993
549
244
364
763
831
756
628
681
414
786
32
595
548
181
475
349
899
306
893
272
652
685
284
214
537
109
544
393
495
840
316
407
615
984
381
788
918
919
77
373
804
930
862
587
242
816
409
459
302
321
550
821
255
664
999
679
259
334
3
172
590
575
996
910
513
664
869
720
120
165
714
982
886
844
741
825
294
802
611
421
578
715
624
476
537
748
6
829
426
848
85
751
109
625
247
128
33
969
422
230
84
872
277
171
60
680
433
483
325
125
812
451
175
49
618
993
608
702
592
892
452
835
896
136
295
600
395
977
223
437
167
65
182
705
788
675
656
834
302
626
446
113
823
934
591
95
399
666
800
764
114
702
382
235
375
338
284
796
31
739
782
488
232
277
311
305
940
682
136
284
590
756
880
433
722
131
391
491
293
180
89
957
5
713
713
713
203
546
349
812
834
388
713
702
479
712
944
218
722
474
558
183
957
603
820
339
303
124
483
641
436
720
770
648
30
256
488
871
966
545
385
429
634
166
210
346
468
731
433
82
300
314
280
700
268
172
548
167
764
19
637
869
370
322
390
357
790
60
620
716
564
381
651
729
733
406
809
156
687
200
561
63
149
583
919
110
625
34
797
85
651
396
253
827
896
488
921
815
477
7
483
377
876
287
756
464
470
608
779
358
22
719
344
538
430
170
560
134
658
873
365
88
50
6
383
142
169
35
183
277
880
149
739
68
666
846
904
682
37
765
774
956
484
99
81
27
622
106
214
534
58
278
979
246
29
727
3
321
46
205
530
78
636
970
422
304
748
414
377
600
552
937
721
252
179
102
658
384
399
455
525
948
365
786
414
200
331
760
531
907
690
21
767
447
742
899
274
370
395
784
277
721
369
79
971
629
535
413
97
225
765
450
726
983
1000
180
848
911
317
79
599
880
412
891
335
560
300
71
326
33
2
112
517
212
652
110
694
578
774
880
361
618
427
882
853
560
557
27
486
654
155
133
74
313
774
470
732
857
534
340
730
512
995
78
58
520
187
246
521
976
633
988
404
13
433
736
197
497
338
478
418
270
268
796
325
268
935
761
192
597
32
543
844
688
994
312
398
249
455
570
441
614
344
597
471
428
45
80
15
358
133
308
734
656
22
567
751
961
253
472
611
668
262
15
565
575
224
58
311
281
943
858
950
978
852
919
653
887
870
201
488
535
264
210
893
519
670
19
541
153
130
628
725
647
320
344
908
35
173
97
841
146
717
656
442
274
291
751
689
99
245
996
927
599
867
342
329
369
543
502
706
814
111
419
536
110
937
391
845
741
508
910
534
646
236
604
856
707
707
956
13
397
861
606
234
881
429
118
324
769
495
88
338
18
237
313
989
192
733
552
385
396
233
104
932
726
420
9
573
10
31
195
61
919
644
305
608
321
573
253
116
828
593
778
141
102
638
410
898
395
727
265
906
195
101
77
311
599
969
676
559
223
305
909
821
47
888
641
502
552
98
56
265
950
60
947
193
65
384
48
124
649
81
779
739
547
275
936
670
111
928
977
763
721
155
548
633
86
633
817
834
245
258
978
271
835
469
47
974
226
585
662
1000
622
118
165
3
35
239
670
972
373
507
179
759
490
510
55
242
203
292
334
443
701
307
398
430
719
182
554
629
124
738
886
10
275
566
576
684
634
959
565
631
623
145
20
645
660
584
598
103
612
537
877
798
686
277
675
958
875
47
173
495
670
326
914
714
679
69
764
973
176
294
873
250
357
832
532
189
277
91
546
925
4
424
454
954
528
21
438
347
362
334
284
868
556
665
103
926
70
941
837
843
68
660
736
617
693
670
119
221
337
725
709
482
234
773
781
762
454
493
131
984
18
934
644
23
901
5
831
138
157
167
278
886
256
937
349
934
1
697
879
279
63
881
811
657
258
801
920
328
182
288
805
14
707
800
336
487
161
881
605
202
686
665
204
398
441
630
381
317
768
952
181
509
430
628
229
749
314
1000
172
718
762
428
164
455
822
633
973
559
278
703
415
250
248
784
880
705
545
286
644
526
725
789
492
804
948
934
968
22
359
267
206
917
667
395
861
560
25
833
143
78
85
614
339
879
336
63
480
754
427
147
15
961
216
449
447
206
687
140
895
506
752
284
454
38
135
423
35
434
248
688
110
447
959
583
405
568
657
233
101
940
849
68
598
898
821
875
179
546
557
681
223
54
188
145
746
781
755
28
112
896
938
813
770
901
725
757
692
364
693
476
27
192
690
674
150
979
230
782
893
342
834
64
239
636
885
244
195
138
313
796
847
595
556
849
844
27
807
57
690
803
506
925
238
305
415
774
746
951
363
969
690
945
943
87
285
897
17
394
341
352
881
423
614
373
324
398
330
539
634
26
903
88
803
422
177
523
789
18
699
654
741
893
642
935
481
315
993
957
399
217
533
126
158
993
957
881
220
224
208
292
294
933
711
517
240
524
761
373
842
813
729
264
112
481
122
762
499
804
764
460
422
767
569
82
61
525
378
440
227
686
383
559
432
115
468
157
987
752
640
747
86
482
382
778
317
201
370
648
28
73
499
881
234
412
583
466
563
748
383
160
829
438
891
545
409
579
867
777
535
104
716
235
981
673
697
757
420
376
326
728
860
331
583
71
182
964
184
107
788
145
776
298
758
367
345
163
705
852
542
15
752
804
903
709
650
23
130
313
73
755
705
446
574
945
112
67
488
61
843
628
352
237
204
879
994
787
639
53
567
74
925
815
201
307
137
155
846
70
716
347
142
328
317
205
813
169
380
136
191
793
529
898
948
117
949
556
6
880
895
850
918
355
352
95
691
559
644
755
167
411
495
41
577
395
645
254
816
115
606
81
325
584
600
748
193
237
972
725
256
393
664
707
508
366
422
681
92
495
448
224
519
113
176
598
535
881
671
841
197
976
919
793
360
321
939
920
716
448
210
890
941
573
378
65
318
192
599
479
392
800
135
387
840
378
56
226
753
906
952
607
966
503
584
50
882
737
339
283
500
280
115
276
992
365
49
675
212
428
73
902
10
910
867
19
56
452
194
384
170
601
941
228
816
725
491
572
527
35
146
285
472
482
454
695
321
853
217
863
841
531
863
550
349
268
646
922
304
784
822
266
795
174
568
314
647
925
880
318
172
774
144
667
342
809
347
660
319
951
155
59
797
415
178
133
612
830
821
260
392
440
23
542
834
232
59
553
343
860
325
45
361
994
690
414
699
54
564
748
600
348
314
560
17
302
16
653
859
816
856
144
522
764
641
350
62
342
16
108
805
241
967
103
995
600
107
968
347
337
69
213
2
696
26
553
432
820
27
822
316
721
341
462
249
287
457
530
442
855
741
260
225
450
991
489
266
989
319
685
897
642
813
855
831
59
456
389
878
350
619
748
936
565
256
965
701
890
605
118
997
968
808
306
614
519
363
152
840
930
738
544
609
600
779
130
361
598
797
97
240
629
308
856
207
400
479
596
42
216
239
81
935
45
894
703
587
349
808
539
293
696
402
100
481
529
275
516
577
519
726
161
863
592
335
68
214
63
555
78
191
327
457
311
21
180
850
464
383
187
40
401
795
442
363
698
594
716
478
127
176
264
100
534
202
478
511
227
944
185
705
742
785
620
464
860
195
21
26
804
146
349
248
843
43
835
328
930
696
956
229
576
811
950
907
916
726
173
333
775
853
441
89
614
396
985
996
432
448
831
849
34
458
192
824
627
448
935
539
338
48
337
75
92
592
66
468
267
71
812
335
680
666
57
320
747
997
217
987
122
943
810
647
708
110
338
345
721
571
325
918
378
514
279
564
882
829
414
885
583
441
624
696
613
446
565
225
801
677
680
487
402
388
659
721
18
136
151
807
104
800
487
452
627
900
813
792
746
29
299
743
913
267
35
95
374
896
809
859
880
608
211
832
365
654
398
677
439
87
455
101
818
296
439
830
236
548
126
191
941
149
975
60
634
106
14
822
570
925
198
768
614
259
288
61
213
652
438
994
626
564
514
751
266
166
607
331
645
173
339
575
297
85
334
485
964
795
672
128
539
453
211
498
491
866
439
591
992
454
890
855
559
991
249
890
765
906
963
963
536
955
551
440
576
425
853
750
741
854
112
837
531
470
153
365
438
140
902
128
587
663
139
217
935
648
717
495
352
81
396
849
43
884
118
496
95
443
779
371
437
141
524
199
129
350
159
459
661
243
537
839
959
35
661
141
819
947
831
867
831
264
350
865
211
342
194
474
580
347
580
597
433
755
539
997
932
409
449
915
721
994
987
776
633
354
85
363
538
961
337
361
75
213
699
530
700
955
514
161
290
778
630
609
536
188
822
906
478
710
834
420
867
341
89
535
438
553
518
124
822
202
34
370
580
314
877
140
748
673
433
695
375
551
156
974
751
726
925
96
421
129
470
976
627
76
537
184
499
83
105
240
207
647
251
557
266
261
263
158
376
119
209
113
490
661
430
340
302
111
385
90
960
662
860
915
632
800
789
428
472
541
853
431
674
23
567
332
529
989
803
852
847
175
543
142
665
523
208
392
904
434
69
870
513
983
116
163
701
135
233
26
34
535
693
893
547
327
789
589
541
864
895
181
374
824
361
245
413
471
426
45
277
295
776
236
644
255
456
748
180
199
593
465
626
812
801
128
641
612
172
684
804
114
520
933
76
243
853
909
97
506
141
903
927
203
87
408
242
192
965
566
518
313
596
874
439
627
162
12
652
8
895
665
949
512
617
116
191
141
757
199
545
293
724
951
155
232
459
885
947
362
596
393
101
971
877
198
653
366
393
129
807
6
781
760
793
314
716
589
527
349
898
543
912
407
300
511
336
922
577
552
824
755
428
147
339
54
145
610
927
417
803
339
759
984
277
99
633
443
819
958
177
667
972
779
797
831
444
438
436
434
953
35
293
585
165
401
995
299
592
188
140
295
716
605
730
986
671
706
807
923
527
706
471
948
581
450
605
703
121
574
784
950
772
308
306
354
901
149
772
11
554
827
377
10
37
71
910
749
570
720
485
560
421
586
190
439
523
349
163
312
879
445
91
332
991
550
771
161
113
812
141
31
423
412
171
692
68
385
98
983
621
885
733
884
693
255
19
379
324
309
581
345
292
214
720
21
692
250
230
260
926
505
426
952
807
237
992
462
577
272
603
898
487
276
802
328
25
167
256
831
27
249
371
389
651
877
209
190
675
566
787
870
612
552
141
582
942
671
982
555
114
365
384
984
68
283
691
662
719
702
771
778
227
470
807
669
907
718
40
152
308
929
283
238
347
241
566
664
354
80
952
689
579
273
450
36
977
842
941
684
74
563
217
464
357
194
544
54
863
8
659
7
630
898
724
943
214
847
586
839
767
995
615
692
41
914
503
437
262
916
691
146
23
409
480
983
224
363
476
297
620
951
747
550
693
273
956
458
461
884
771
864
268
527
76
371
802
82
834
682
382
227
978
945
5
741
395
117
798
680
855
538
262
891
743
423
166
444
594
961
5
626
708
73
716
46
576
632
717
281
469
160
426
237
289
555
101
44
701
434
241
906
654
47
806
757
609
516
179
2
199
394
183
866
588
99
402
87
473
859
761
791
564
179
592
378
362
712
408
173
248
624
202
398
182
221
389
764
855
626
427
593
701
770
763
928
35
837
964
530
490
527
845
1000
50
246
908
537
242
347
677
988
454
89
348
910
945
836
713
367
808
353
514
27
79
737
193
933
192
658
544
12
199
82
885
977
532
595
204
786
574
775
183
246
19
788
148
631
765
538
739
454
135
259
554
631
289
382
112
308
51
879
201
600
761
58
120
296
427
967
339
361
165
125
863
736
875
323
917
483
141
591
623
805
607
269
19
859
436
297
99
550
38
476
573
708
916
453
675
114
369
634
672
896
779
25
691
669
400
283
93
665
864
880
916
785
126
326
837
146
205
883
682
241
848
47
786
264
223
347
385
494
846
683
790
904
190
539
312
311
874
835
780
442
881
151
2
297
994
290
742
16
537
912
591
307
522
37
617
134
546
775
856
979
101
540
473
509
485
351
918
876
186
563
531
196
411
510
791
982
432
97
872
436
553
337
262
533
786
193
903
788
799
853
788
420
277
749
927
424
616
198
379
661
793
559
385
713
307
173
661
671
350
159
617
427
734
351
594
326
631
287
206
216
928
146
538
52
808
3
252
189
201
556
624
435
929
766
152
733
671
461
653
81
371
16
719
916
347
696
955
724
147
79
720
104
157
291
939
815
70
419
168
647
573
573
271
75
60
565
950
740
719
44
911
770
97
245
618
843
121
223
433
666
605
534
433
247
474
868
367
931
274
67
988
674
87
255
505
455
595
620
992
7
895
444
374
332
633
606
55
520
173
703
341
495
792
286
541
219
368
527
61
731
611
750
840
169
670
902
209
582
845
967
621
892
234
778
719
853
356
452
916
235
188
884
977
730
591
358
106
296
824
351
687
729
649
33
144
275
619
789
344
987
224
353
595
377
978
757
555
607
937
376
334
111
841
801
625
73
818
121
968
618
557
489
155
948
978
516
332
869
658
102
580
359
718
830
626
867
439
931
863
6
607
121
35
210
479
339
808
673
300
516
906
615
505
20
691
491
104
369
826
287
237
124
173
437
582
594
166
233
114
189
690
805
685
726
940
889
44
38
797
640
212
517
51
670
566
76
149
372
598
107
256
310
84
667
96
141
306
77
437
102
50
503
92
544
341
938
10
409
249
153
366
805
659
848
544
43
586
220
582
589
486
616
939
393
7
761
422
967
817
284
727
407
454
927
322
258
621
856
346
790
10
969
792
736
509
947
449
36
604
59
57
447
901
436
598
147
945
582
950
621
944
391
919
175
565
844
277
420
717
841
540
918
117
355
114
999
475
184
915
414
334
125
724
136
974
289
342
72
273
643
84
906
120
579
278
576
760
462
192
142
486
667
269
901
165
573
637
669
449
325
584
74
910
990
134
556
980
852
881
536
349
224
969
862
340
128
490
214
925
562
574
629
221
925
148
674
727
342
688
97
86
250
256
963
870
643
804
390
737
790
6
6
319
60
863
151
375
757
946
670
63
494
403
875
672
675
825
858
783
146
618
918
632
915
798
247
401
109
36
432
245
35
312
534
166
271
775
698
222
217
278
301
165
427
571
616
318
350
334
867
397
791
58
317
15
572
304
731
824
321
984
159
588
311
170
482
17
553
337
577
820
126
146
277
318
842
574
529
884
909
688
260
644
218
427
540
173
233
508
527
335
246
972
561
77
913
949
510
688
606
939
146
1000
68
275
882
74
282
455
683
113
243
732
352
785
560
681
658
635
387
446
974
995
253
59
211
645
739
494
803
490
824
108
441
701
928
738
50
61
346
995
236
789
824
242
69
694
453
324
578
360
962
365
804
966
734
860
591
491
563
847
552
282
227
136
808
421
483
495
168
850
941
158
392
3
611
270
53
537
596
658
307
815
545
883
565
5
983
612
673
979
566
221
691
768
643
964
792
930
245
178
113
66
775
783
593
678
204
744
21
695
559
292
465
311
847
406
288
197
310
488
735
783
116
223
870
52
148
305
278
225
553
129
547
756
105
522
976
335
242
318
368
946
843
892
45
584
418
781
405
953
418
172
445
279
792
328
694
440
747
31
873
739
909
681
465
1000
734
40
67
119
66
472
27
886
191
191
430
630
611
215
919
240
22
666
180
195
667
605
202
488
311
799
548
801
573
702
986
776
259
449
739
64
612
855
574
610
145
241
653
784
803
430
824
77
725
368
604
502
832
686
595
311
756
931
527
338
403
373
394
78
568
8
404
616
572
888
585
636
860
918
909
58
855
77
773
270
137
383
492
565
179
994
223
128
486
547
418
842
945
229
438
274
586
61
469
404
792
614
240
86
156
677
319
724
833
397
995
404
247
90
806
533
424
213
814
65
71
941
608
570
773
446
872
723
273
228
34
262
931
792
183
106
836
559
943
140
968
132
466
81
47
964
22
988
389
16
953
209
185
211
896
6
81
372
250
644
869
852
840
493
356
249
625
548
241
443
43
841
878
686
330
410
402
638
699
839
531
33
817
911
787
142
384
568
527
319
969
220
395
690
475
397
306
477
704
895
59
550
594
869
30
535
563
746
173
226
313
469
717
81
156
330
559
334
610
566
316
594
567
973
396
851
818
38
285
483
89
440
387
203
46
355
457
892
895
676
590
885
323
127
254
631
521
246
592
582
941
411
548
790
260
371
943
996
743
266
721
886
836
708
41
828
341
352
721
612
980
266
874
635
506
579
167
538
752
102
313
506
209
71
807
319
741
695
873
772
69
983
871
267
498
138
110
208
172
922
136
359
813
543
105
428
521
998
730
10
702
312
680
430
596
780
998
197
224
154
292
512
758
670
969
768
477
4
773
992
496
461
227
13
397
236
351
461
746
113
240
832
223
808
607
515
775
999
444
83
735
246
320
173
367
155
631
938
632
599
355
445
298
293
446
333
668
767
34
748
343
605
48
844
398
846
655
133
296
617
223
566
658
376
88
528
747
630
511
836
138
655
635
457
603
492
142
870
658
491
556
934
590
747
835
659
18
55
963
503
224
417
758
697
529
719
987
611
995
927
203
374
588
23
409
794
738
971
776
123
916
181
168
365
451
309
144
640
319
742
434
568
28
776
660
778
79
333
160
409
652
35
393
922
353
602
296
609
847
817
382
955
179
771
95
403
409
693
155
124
958
438
172
126
716
632
819
397
528
525
255
801
155
872
262
150
187
509
802
188
651
866
290
252
287
344
906
994
530
335
717
891
249
706
159
206
225
683
743
715
130
464
418
755
537
304
143
132
84
512
626
964
461
545
84
834
356
371
137
487
798
352
620
894
644
188
200
705
58
853
151
2
966
45
542
769
376
418
419
692
384
705
219
765
445
950
827
618
193
201
162
701
687
430
130
229
459
910
99
261
172
992
811
424
989
7
765
559
995
40
682
4
128
434
598
323
132
178
518
25
970
800
318
239
984
977
764
359
863
833
97
387
114
842
634
75
316
290
214
8
915
507
132
439
668
473
400
27
185
915
812
646
136
741
272
59
865
514
318
589
105
652
556
850
411
240
12
269
775
656
4
356
551
687
230
665
521
454
196
929
405
263
986
151
593
439
649
293
225
324
147
786
995
852
896
299
208
576
410
71
693
551
484
640
166
249
607
994
476
540
50
996
1000
828
155
448
110
648
899
307
244
343
693
357
639
7
775
148
151
503
209
88
949
218
738
389
70
186
211
984
948
353
324
619
93
52
737
100
994
193
421
28
223
311
262
472
418
334
527
703
531
896
793
500
260
62
325
565
68
580
712
282
590
153
745
367
487
792
167
978
10
963
938
502
649
161
53
534
217
490
846
545
669
56
890
350
729
267
283
756
164
629
158
730
145
262
707
988
679
157
867
180
548
150
113
720
528
672
436
906
913
630
720
157
550
170
168
80
636
654
372
620
508
915
876
707
552
740
836
670
118
592
458
186
41
736
427
678
955
357
484
885
99
705
615
803
719
22
70
313
487
803
571
573
599
921
623
731
307
317
799
539
725
207
228
274
637
236
296
701
943
615
743
922
73
14
910
664
410
946
907
894
303
409
829
737
731
808
997
307
65
564
360
421
648
363
846
178
117
685
448
3
496
121
269
101
62
6
584
210
940
37
199
174
164
905
57
127
698
430
81
25
498
321
694
841
279
503
331
999
62
874
540
512
934
477
903
856
710
335
147
835
342
608
266
547
8
319
378
98
741
607
353
910
400
376
941
281
517
238
265
369
274
848
36
932
470
103
796
951
802
155
824
737
258
899
68
233
669
392
624
33
750
646
835
21
49
391
23
685
279
675
259
858
445
636
323
62
32
384
194
700
255
677
996
43
71
34
296
320
175
941
82
289
712
110
501
295
805
78
698
213
262
7
670
641
74
247
86
365
342
65
460
442
341
971
876
195
297
229
715
45
289
474
491
389
415
839
925
651
972
625
871
243
959
339
565
401
637
903
931
783
240
899
357
263
173
14
450
576
220
250
750
331
306
53
291
461
393
221
188
339
905
373
153
633
919
775
941
498
9
536
256
805
256
540
572
972
435
993
659
391
781
123
333
575
95
410
119
935
131
712
31
532
363
747
673
220
260
751
184
377
125
519
371
786
441
688
499
323
363
862
833
798
716
88
987
683
393
311
553
482
512
606
257
181
118
426
135
575
431
615
793
226
910
661
875
512
437
488
264
488
977
134
378
285
943
812
174
358
348
168
115
207
520
58
385
114
809
773
128
12
228
465
338
894
436
446
274
19
805
170
5
785
565
942
706
304
200
842
879
631
316
906
513
94
186
350
551
378
51
515
688
839
53
227
680
44
353
519
853
659
599
951
398
643
408
336
427
145
931
318
456
653
904
76
142
695
794
418
668
845
792
662
102
864
429
991
439
572
546
427
800
421
192
174
438
836
769
834
775
73
427
925
716
728
259
218
827
73
324
614
822
56
914
692
975
151
760
592
703
262
64
608
579
491
350
711
466
949
118
227
299
702
211
107
269
600
621
479
823
997
160
736
927
321
98
972
534
24
348
445
1
702
283
633
548
79
560
598
449
105
618
630
794
629
678
521
116
988
109
474
61
380
35
289
633
69
921
438
188
321
651
629
514
440
327
689
835
478
601
944
505
938
856
780
489
311
980
748
484
375
768
401
645
975
231
15
473
445
222
520
341
899
801
214
542
400
737
325
458
385
372
63
683
815
819
593
476
195
164
248
926
40
863
404
602
318
33
655
270
159
700
319
450
393
359
853
223
540
389
437
698
471
967
879
995
312
134
964
401
101
564
570
653
348
425
192
872
917
426
974
789
584
776
34
330
214
336
605
492
765
663
509
721
193
1
568
686
939
543
815
394
848
432
809
133
283
40
896
563
695
45
33
643
105
696
640
723
810
452
28
304
87
865
103
449
865
181
452
770
107
636
404
256
136
830
315
923
238
897
192
444
685
380
704
441
721
892
813
98
166
646
505
96
35
889
594
683
972
136
149
807
360
834
870
892
676
770
650
767
46
80
655
690
970
217
446
197
887
581
106
716
562
844
828
504
319
146
165
475
744
492
964
925
843
620
38
996
570
593
797
935
270
113
383
886
876
349
323
979
617
630
378
939
579
967
34
327
740
723
43
750
965
191
537
109
27
19
471
987
938
616
617
811
738
754
855
267
416
517
274
814
834
657
472
789
349
197
486
746
350
807
989
179
47
76
735
718
682
329
769
192
802
15
558
736
330
38
49
217
980
617
635
842
963
387
136
756
64
490
206
786
865
355
36
300
344
708
806
273
105
107
126
280
213
964
611
101
13
570
801
20
277
146
909
721
787
263
206
859
730
334
459
35
323
9
480
888
721
444
763
479
586
395
127
949
634
20
521
682
125
74
426
851
530
903
784
273
539
297
30
958
172
766
583
609
998
269
120
581
368
763
39
506
139
203
799
858
564
767
243
238
916
179
579
29
917
941
410
396
254
181
142
309
288
635
76
368
563
908
744
752
874
842
377
516
471
242
917
812
425
695
652
346
332
471
366
509
263
764
911
214
367
642
195
376
553
112
928
379
495
646
871
626
537
377
978
443
206
906
556
200
688
347
496
493
49
781
716
631
985
782
162
477
562
47
133
890
778
454
201
635
741
62
738
658
937
662
896
21
363
500
887
675
251
699
611
421
762
732
987
119
278
6
809
220
871
259
620
161
110
17
866
23
627
771
544
151
750
915
684
60
74
723
233
90
75
800
374
711
721
531
836
325
566
1000
534
663
19
747
714
632
289
517
884
532
23
834
933
130
817
849
286
978
559
402
371
684
57
664
412
631
513
16
332
727
186
84
581
364
30
941
799
695
154
547
538
726
746
437
737
466
460
500
188
574
353
471
84
514
165
401
562
220
104
946
317
679
338
781
527
624
67
835
754
747
396
335
21
458
229
802
964
243
51
302
811
64
776
200
958
143
816
610
76
634
123
549
26
404
272
516
298
140
537
849
388
498
565
756
260
834
431
357
39
382
830
413
155
352
659
683
440
572
504
12
82
734
396
312
944
240
731
572
441
907
437
931
111
535
321
602
8
432
993
161
291
518
968
287
697
563
313
563
136
425
683
343
290
929
733
27
929
145
646
283
649
373
954
915
863
129
944
86
172
762
653
564
692
115
891
503
533
818
761
16
366
383
896
487
950
264
968
85
568
435
77
489
524
840
310
129
292
293
84
610
399
989
910
134
851
841
841
837
780
265
204
986
960
872
155
866
62
764
239
22
796
785
405
236
603
122
866
248
177
97
771
777
904
895
928
820
247
191
698
591
213
357
748
658
316
992
568
78
830
20
527
307
760
478
775
724
628
442
468
406
109
220
664
650
560
95
702
375
720
358
44
163
169
377
376
199
698
706
223
783
376
37
446
393
932
899
786
507
65
589
43
544
413
767
562
272
225
503
470
23
214
356
483
877
685
222
174
731
790
273
316
844
692
318
271
4
472
281
439
947
872
323
453
26
330
322
152
420
328
47
370
377
763
390
208
57
898
427
804
569
495
933
531
708
851
209
231
685
847
708
323
910
527
25
589
487
440
263
22
625
702
639
353
611
729
480
817
349
692
443
225
699
989
841
670
53
467
489
41
593
688
355
60
717
290
600
724
946
342
319
908
430
665
383
347
876
294
333
380
300
587
170
669
511
24
250
531
667
396
207
693
541
912
989
1000
348
731
634
106
158
576
378
206
905
355
49
664
971
198
463
760
183
890
729
865
776
475
951
44
593
704
781
484
293
81
717
159
886
494
793
811
224
803
551
719
409
314
785
662
260
731
566
176
69
90
497
512
887
146
950
641
509
866
329
312
106
19
979
413
223
321
480
841
443
234
477
671
603
317
81
658
843
965
142
23
155
502
378
1
330
821
410
896
373
228
269
204
527
673
799
944
5
323
737
473
423
301
886
952
712
458
988
88
974
253
362
938
340
161
337
392
421
564
831
398
307
717
152
107
434
232
281
924
838
500
397
853
435
588
406
634
39
484
584
919
728
959
197
119
46
972
178
634
288
273
483
883
734
793
759
921
331
488
354
468
731
508
488
852
20
7
625
714
726
375
687
306
924
455
786
890
298
102
569
42
99
479
98
616
769
665
438
787
893
449
771
815
805
687
889
160
844
223
397
129
768
178
822
509
291
356
58
522
46
627
322
17
546
402
795
18
853
740
696
625
757
207
357
782
233
322
228
634
808
333
407
5
275
91
438
53
888
7
607
297
742
426
921
24
577
248
274
546
642
340
41
913
571
51
505
446
451
173
40
900
401
792
974
163
985
796
373
134
772
231
810
826
163
328
304
811
374
764
241
824
148
653
69
734
282
830
919
95
599
238
169
199
307
590
116
875
26
41
571
286
919
307
203
617
488
507
883
886
589
39
103
24
120
944
811
51
685
566
621
412
226
778
421
486
265
677
858
870
931
474
43
289
389
218
100
895
625
129
832
240
820
555
891
492
688
14
317
250
214
324
188
926
240
585
467
781
169
641
790
583
899
724
91
333
751
137
467
662
781
242
609
320
350
488
457
634
246
906
502
927
986
320
253
698
106
504
995
764
430
637
877
669
305
737
766
425
745
165
44
23
293
931
734
252
119
264
897
39
595
863
234
917
97
289
254
265
299
204
117
625
581
560
522
750
468
357
588
53
208
323
713
748
698
703
823
316
964
354
243
863
324
538
678
587
163
95
429
835
1
196
21
165
131
473
870
423
660
159
511
96
235
790
129
91
61
142
861
668
96
334
396
459
453
450
881
371
117
603
63
726
55
106
870
141
675
285
372
516
371
533
140
988
606
389
582
857
552
796
731
317
832
178
309
255
319
693
620
552
251
786
984
59
162
195
964
867
248
677
593
590
819
16
194
123
450
335
127
721
266
329
996
344
577
816
423
885
714
893
486
304
510
90
314
703
332
128
133
61
932
279
269
697
715
878
222
523
164
213
949
793
304
913
920
380
56
934
349
570
270
419
230
973
38
54
461
464
585
995
399
945
714
95
623
382
275
948
575
744
586
226
993
435
93
877
757
325
792
25
809
743
103
835
351
617
969
166
371
528
902
584
875
594
591
181
918
940
482
705
611
41
407
682
830
332
965
596
268
327
843
692
812
937
692
616
939
788
472
986
20
158
421
899
919
533
925
575
271
921
600
607
172
775
848
729
779
806
980
645
508
2
780
197
94
906
25
100
763
573
46
503
167
628
893
930
538
586
52
467
709
882
936
673
291
79
573
351
284
386
2
186
849
906
918
268
804
14
982
696
614
877
63
752
345
422
377
677
39
976
137
632
481
396
852
320
165
764
860
603
532
621
26
620
262
265
799
146
431
855
973
346
895
959
562
680
113
676
195
414
937
673
283
102
618
303
29
441
363
483
20
100
327
154
748
481
842
943
923
886
998
141
827
230
462
220
293
257
548
867
127
219
104
990
883
98
741
217
979
743
299
145
65
758
209
34
397
577
588
666
730
916
489
829
929
726
714
238
12
842
998
756
867
734
174
437
229
200
120
282
806
325
945
569
630
784
830
283
804
394
432
500
829
830
539
499
609
616
936
54
23
798
76
584
717
195
195
814
370
781
986
175
224
516
795
400
138
913
575
719
732
732
516
569
483
444
365
988
777
544
889
709
972
355
905
510
542
694
535
565
214
677
89
359
814
954
86
271
220
898
431
17
447
609
722
32
338
99
951
265
813
726
647
27
894
724
618
307
968
708
33
370
891
120
508
594
537
922
255
210
387
250
114
32
548
400
447
308
405
211
485
564
705
906
694
658
503
463
106
302
834
861
404
1
352
910
708
684
503
927
665
306
943
227
438
362
38
236
635
545
292
71
42
766
432
565
260
356
740
89
11
568
888
953
890
416
230
844
857
490
976
539
565
615
161
71
937
166
651
650
54
346
684
900
515
21
611
381
917
520
562
945
977
368
743
221
165
109
947
392
375
177
641
469
305
325
696
502
738
234
426
468
823
745
76
150
809
639
373
931
412
979
989
310
145
848
73
870
490
707
68
624
752
726
115
903
805
166
259
453
682
303
534
962
192
427
756
53
264
209
511
657
766
30
401
768
901
977
64
834
111
821
907
386
606
683
711
87
270
71
529
61
699
622
352
237
570
204
30
428
348
986
863
66
608
720
73
820
872
741
116
804
919
144
387
731
988
169
449
157
154
86
331
907
427
774
790
884
804
736
713
726
589
519
947
195
772
385
980
748
174
585
791
492
347
799
143
588
946
130
322
225
378
534
47
503
83
740
863
870
704
508
850
339
759
529
856
314
134
435
831
729
908
104
13
158
529
938
880
695
335
847
805
711
795
423
289
32
589
217
518
687
826
51
707
145
307
43
389
887
701
393
371
202
911
990
522
375
699
591
980
774
872
684
617
924
906
109
818
341
943
186
710
746
496
418
995
316
48
768
441
778
959
177
918
478
745
217
569
52
846
762
356
957
451
102
740
898
825
207
711
173
839
728
725
21
93
904
357
364
94
728
642
712
455
638
162
607
954
491
870
706
619
782
561
464
700
905
674
474
496
751
781
663
540
95
758
951
572
25
95
448
40
136
243
977
645
346
208
493
552
938
803
977
476
906
144
528
789
751
955
630
156
606
247
74
1
21
736
574
247
735
156
920
398
532
256
391
981
628
867
255
776
45
863
407
92
159
254
574
492
903
916
71
58
131
650
786
239
298
393
936
815
905
357
134
282
156
837
501
251
849
204
844
82
857
357
452
9
438
502
644
497
237
698
54
426
86
26
538
960
583
598
724
641
46
875
490
341
581
928
45
174
955
329
908
390
417
356
758
541
858
59
75
962
495
516
478
681
795
321
913
424
477
926
172
277
279
971
741
946
595
145
664
238
254
442
903
583
458
899
680
927
354
22
423
328
791
169
209
901
559
62
81
571
831
487
198
248
562
974
544
624
326
912
852
791
453
128
458
252
345
435
52
734
527
12
645
379
363
804
673
539
315
277
788
396
323
1000
807
77
164
515
260
742
625
851
168
380
947
899
994
697
269
532
207
512
742
37
521
549
583
929
681
386
548
661
591
563
267
117
729
564
384
3
8
440
696
421
698
346
352
988
581
170
688
821
248
692
480
594
332
481
206
674
514
791
451
997
353
286
689
999
321
315
532
362
963
818
975
802
753
663
291
395
57
373
22
199
572
748
931
28
787
841
881
305
259
126
338
826
978
445
636
141
708
519
146
9
913
372
259
36
839
27
432
180
391
208
589
279
634
592
851
136
202
373
900
987
388
497
304
361
404
960
750
448
183
975
469
87
56
672
88
414
855
199
775
6
297
769
807
89
971
231
651
26
923
210
206
795
594
717
134
663
839
413
80
560
848
376
171
946
56
305
374
113
557
595
185
932
100
594
627
24
474
674
754
222
3
437
651
979
871
516
471
55
250
921
155
426
510
830
325
873
340
53
280
83
263
127
179
463
846
159
232
45
907
75
188
23
134
893
492
476
852
10
218
790
106
256
297
131
830
644
627
77
654
330
351
187
812
293
966
834
673
627
975
128
675
149
437
104
816
238
155
670
386
415
206
977
364
219
189
969
716
350
875
917
863
869
892
586
773
521
726
564
417
842
574
966
850
815
541
377
790
260
235
410
374
15
101
740
709
262
694
771
968
982
686
385
2
652
602
379
901
754
152
242
483
579
554
922
435
106
440
97
713
432
753
267
852
377
571
646
44
358
922
476
176
608
474
836
580
96
449
490
847
296
235
577
957
42
940
220
890
317
578
217
81
726
657
50
326
814
687
369
227
126
546
962
862
104
674
973
128
491
804
803
115
901
298
688
969
607
195
407
900
413
749
995
413
669
583
568
350
105
596
608
65
200
372
116
879
186
214
73
5
681
816
557
269
115
284
649
309
822
419
43
397
681
193
850
672
654
856
645
363
459
422
261
547
853
152
161
53
686
236
475
448
997
49
973
394
862
291
283
291
655
787
659
827
630
952
471
941
500
745
376
771
731
433
839
339
870
657
233
83
82
77
305
872
447
355
151
799
293
361
207
867
986
243
951
675
150
461
168
357
260
967
649
280
885
452
137
520
667
990
203
681
274
485
461
425
148
7
204
982
870
511
125
988
361
440
234
233
911
400
486
279
284
447
898
477
716
514
152
571
667
154
756
973
615
96
846
787
6
78
646
832
708
24
371
227
983
938
142
619
16
793
54
721
524
316
124
668
811
783
256
617
917
872
710
140
187
159
844
224
659
73
27
88
170
982
706
632
965
639
576
52
909
356
695
26
96
170
154
955
765
707
608
912
965
652
599
317
331
508
57
888
657
806
827
50
702
54
357
850
820
485
906
368
524
96
785
792
91
574
151
575
650
433
829
584
981
104
493
736
426
784
283
368
893
532
588
535
927
531
316
484
214
398
420
795
689
159
853
53
631
818
382
475
727
468
916
619
125
511
75
123
913
911
750
496
296
326
303
84
988
613
880
714
960
474
27
969
780
927
444
699
180
920
229
156
414
589
416
102
174
641
964
342
578
820
594
394
759
712
57
423
133
945
450
154
268
422
203
206
625
373
221
160
108
880
449
745
502
5
842
707
394
818
294
293
80
420
594
778
326
544
908
167
560
401
567
972
237
259
194
25
656
649
322
327
491
189
689
335
620
767
342
437
657
239
536
54
726
826
152
511
625
137
33
781
509
123
215
253
607
254
467
913
315
947
971
732
181
579
249
566
951
429
617
611
818
542
576
280
501
825
523
399
555
645
109
788
597
808
359
610
754
117
405
354
700
588
326
974
109
34
94
457
197
961
94
104
336
619
36
847
349
611
300
252
219
691
954
226
416
240
738
51
937
443
265
90
480
374
595
394
845
36
116
492
797
909
340
837
144
690
854
747
697
745
141
178
109
246
413
355
367
78
916
96
795
404
371
649
37
188
385
6
410
80
649
948
390
807
734
517
775
616
105
234
236
392
754
138
541
764
498
618
758
894
567
135
95
690
569
110
877
840
311
669
336
421
229
483
534
835
386
622
730
466
80
220
947
785
127
746
337
555
772
845
137
457
27
47
729
706
926
129
278
169
855
517
972
83
608
966
670
733
303
646
100
339
608
919
385
953
10
325
763
419
992
714
891
269
81
62
959
9
677
203
199
387
466
634
46
111
16
562
336
965
812
585
445
425
634
745
198
693
646
202
713
524
992
460
78
354
14
876
916
4
430
197
426
682
926
982
474
79
675
63
636
121
225
677
905
327
40
454
914
795
751
267
141
539
820
829
526
290
898
16
348
884
615
111
984
65
946
575
422
845
561
473
956
589
763
391
582
628
725
544
965
515
748
768
748
9
133
290
169
497
140
453
614
824
180
99
783
468
31
911
609
551
417
838
926
458
718
667
157
705
929
896
965
297
249
369
916
990
825
489
639
775
276
467
934
423
548
744
524
92
580
644
876
884
13
334
640
683
878
402
762
801
805
673
243
751
782
447
893
924
923
961
107
88
13
760
886
394
811
576
854
8
247
512
986
576
664
594
119
494
195
195
104
339
248
464
613
872
776
645
226
773
719
87
373
599
524
824
148
513
183
840
766
5
546
515
691
162
987
296
29
62
699
331
837
491
967
678
411
515
795
677
447
396
159
299
210
959
992
549
503
803
703
521
255
686
707
341
38
984
920
993
644
402
674
26
182
994
814
192
767
121
11
373
6
182
485
542
949
841
404
92
80
982
179
614
221
821
781
41
927
446
976
197
64
541
72
907
801
220
357
247
138
686
944
990
460
926
116
979
325
729
596
993
854
154
392
640
621
942
999
961
926
518
766
714
683
927
184
762
920
489
703
590
83
991
439
753
900
961
791
951
567
950
544
531
393
750
547
421
872
193
380
911
325
491
754
223
897
88
558
521
695
642
577
873
290
68
900
666
643
539
951
185
735
962
909
348
852
722
971
101
507
428
582
599
450
984
271
111
81
548
169
501
844
854
647
296
862
930
767
559
163
458
386
251
317
892
835
308
225
985
63
411
75
562
11
303
217
197
781
556
794
983
836
890
510
703
95
505
836
543
253
391
274
945
111
268
63
319
986
609
837
110
497
196
298
165
181
801
950
414
391
863
252
634
895
492
389
487
447
734
966
47
321
801
569
784
514
868
82
312
845
155
95
264
670
181
472
318
315
544
430
763
613
40
40
970
113
710
97
791
646
206
752
231
919
911
100
695
738
399
180
718
258
161
484
405
402
994
118
701
204
86
215
216
380
637
81
596
860
790
799
306
378
772
717
261
460
377
317
966
319
382
448
691
223
26
813
725
886
436
891
953
314
762
193
846
306
827
849
418
526
310
72
896
644
810
933
645
550
690
248
332
76
224
109
488
940
441
712
336
891
1
729
263
140
609
391
333
198
740
836
48
193
916
37
913
591
373
804
464
977
731
938
106
248
174
604
497
101
754
380
223
209
644
257
221
817
547
40
717
822
43
268
474
551
314
722
767
582
579
91
843
934
568
130
556
878
527
935
528
437
590
585
427
357
809
442
917
971
808
881
402
912
778
70
961
67
508
691
743
525
259
193
674
507
510
201
537
458
89
254
346
509
705
902
492
526
690
495
289
829
606
724
414
435
438
82
220
407
292
912
66
444
854
671
592
404
411
347
371
811
879
707
459
751
112
222
155
781
760
24
722
573
69
259
903
105
309
528
817
101
984
880
223
310
559
31
194
936
218
17
977
228
91
522
155
771
435
489
292
514
536
438
897
951
414
116
901
141
44
725
832
466
420
990
525
109
719
748
518
247
775
598
249
861
298
350
785
885
531
704
107
141
600
601
889
128
376
171
324
284
503
55
772
770
191
157
929
174
472
550
763
800
874
349
688
356
914
856
302
919
347
166
574
53
873
733
515
795
880
112
227
58
831
180
732
656
134
693
102
755
650
940
265
105
557
586
280
743
902
563
45
250
42
976
134
817
132
567
934
525
971
242
311
284
795
502
804
806
67
422
741
849
919
978
718
700
668
116
630
572
728
937
778
98
346
777
632
626
782
747
495
381
993
544
675
838
365
889
744
867
785
57
139
269
177
309
650
385
653
922
335
304
573
734
973
73
174
756
511
999
876
488
836
769
9
985
825
672
545
630
876
610
293
821
1
977
201
440
147
702
615
98
619
944
786
583
347
968
496
891
257
730
385
474
231
550
486
81
925
69
461
659
258
360
299
318
515
652
538
272
822
666
613
34
214
931
601
838
650
802
443
444
89
91
722
11
192
389
214
703
303
160
689
17
89
655
952
656
666
519
655
871
45
746
216
847
484
279
86
657
699
115
677
711
900
279
508
437
315
367
488
138
206
684
841
569
375
171
831
821
806
423
332
504
412
100
301
71
809
957
354
351
665
512
6
21
454
119
592
767
378
838
533
399
807
4
399
968
836
891
185
294
468
156
310
914
472
52
110
587
218
535
22
972
609
455
241
977
822
13
328
603
691
530
182
783
455
367
793
873
71
519
422
928
438
28
183
846
698
825
546
810
259
65
921
152
268
310
321
962
82
138
89
281
696
907
799
681
186
416
739
415
966
155
846
66
67
699
545
832
711
524
731
124
141
224
48
197
92
639
667
876
253
900
40
280
813
772
460
639
472
956
821
909
353
210
653
919
845
247
386
211
754
366
802
565
103
698
779
427
528
745
803
140
496
633
158
873
539
125
379
667
230
964
322
827
930
575
160
181
211
496
740
414
417
161
967
754
53
821
326
766
558
464
217
941
549
548
503
29
800
271
582
797
75
854
308
6
411
44
305
904
626
595
575
489
609
44
804
87
440
463
444
582
486
211
477
731
423
934
739
570
545
170
837
894
826
987
962
118
946
977
377
624
887
836
941
879
782
457
813
163
390
166
389
781
971
274
595
968
344
607
904
569
596
54
828
716
259
434
166
386
777
223
12
727
698
735
367
453
404
381
221
476
82
536
127
143
316
355
638
121
946
613
429
9
748
272
585
221
115
991
335
548
151
288
429
72
483
354
506
782
685
814
28
341
380
875
791
919
3
368
599
912
713
177
410
681
119
405
158
130
351
441
498
75
480
755
920
868
457
880
29
668
548
508
316
86
712
72
391
666
479
480
506
814
668
899
130
343
743
619
544
736
649
64
633
635
756
949
589
792
940
443
771
923
852
943
793
482
201
741
770
340
191
408
784
800
321
212
827
118
425
271
866
961
166
404
250
808
207
862
340
359
929
199
128
396
871
567
601
429
43
608
810
639
877
958
879
336
859
76
714
150
836
766
796
666
544
278
221
55
208
316
122
550
910
652
699
253
10
271
365
892
138
148
897
591
95
823
110
633
587
930
252
508
860
665
237
214
161
40
868
932
450
385
408
679
930
228
187
501
785
124
493
84
969
471
621
395
14
628
795
142
621
894
670
337
200
40
243
277
639
94
293
555
340
65
946
519
911
101
539
775
44
352
734
899
733
467
739
514
449
218
604
297
833
217
735
262
217
79
203
895
597
658
958
317
671
191
738
669
221
269
346
356
438
569
971
600
723
183
382
13
148
208
184
521
38
977
770
44
35
946
262
787
655
773
526
854
529
605
286
183
487
880
484
457
152
265
280
752
951
471
511
151
325
775
14
463
443
34
930
479
890
883
2
909
690
569
936
260
454
578
79
435
666
803
14
749
871
526
229
406
35
869
628
224
450
700
527
505
334
225
717
556
724
571
363
265
343
777
742
553
854
477
331
246
360
459
323
136
6
28
429
535
326
739
733
651
282
665
467
500
21
820
755
855
37
734
828
968
769
491
690
390
663
683
973
253
384
891
526
790
171
257
337
716
288
659
530
320
158
795
509
774
30
219
806
205
985
996
842
544
648
180
558
36
253
764
890
533
586
94
102
422
902
1000
308
67
127
58
888
176
526
453
121
375
546
904
46
585
729
986
493
500
434
953
233
576
596
888
410
475
909
585
800
817
633
70
896
432
673
102
547
61
735
281
678
562
103
636
579
277
32
697
440
124
863
70
46
383
674
498
47
902
715
232
777
607
919
289
404
813
506
835
77
806
67
499
827
563
528
908
214
272
109
90
83
552
708
704
358
833
143
225
484
441
346
329
995
303
911
723
690
56
343
564
84
575
26
445
101
562
134
644
480
920
726
953
998
76
783
957
388
272
238
62
820
148
946
919
870
570
76
158
216
786
660
499
673
450
872
372
782
953
162
151
902
835
549
4
609
700
198
119
300
229
942
782
50
377
525
371
163
759
177
834
350
592
577
639
149
274
410
488
18
834
473
317
514
48
739
252
115
953
864
182
533
886
390
603
814
906
280
204
128
682
489
428
916
458
984
911
981
744
23
252
186
754
491
61
639
410
806
599
669
950
248
603
386
789
535
112
379
307
160
164
908
644
278
283
1
452
926
555
8
750
961
920
503
712
392
36
901
248
703
699
801
695
377
318
851
819
57
431
881
565
681
547
178
717
522
891
1
660
228
766
895
966
875
336
896
400
553
577
500
262
177
63
101
649
96
1000
695
403
525
636
815
956
1
776
43
271
888
622
927
367
377
578
843
689
604
976
112
707
238
899
731
685
368
419
137
532
569
579
792
983
806
429
773
166
229
225
181
752
951
709
954
495
654
4
547
935
209
245
86
458
545
554
758
685
656
312
641
389
33
998
711
731
731
52
432
661
998
295
243
711
671
478
222
287
508
421
405
774
266
17
550
417
594
124
626
14
762
966
929
894
810
229
542
515
999
460
798
313
278
737
493
78
114
827
893
240
192
210
973
924
391
432
902
531
975
175
542
916
92
389
579
913
554
535
985
112
345
739
690
270
447
233
707
698
429
961
447
292
639
646
674
591
38
937
318
430
435
456
389
278
342
729
362
314
761
982
677
680
946
773
481
78
609
213
316
103
70
372
236
254
595
29
761
560
526
584
117
170
822
351
497
33
341
878
413
24
519
205
783
467
87
164
90
54
157
937
805
542
267
70
287
496
996
78
515
536
330
571
374
234
279
576
665
818
154
335
663
339
519
414
822
782
68
404
215
908
592
817
357
261
754
66
352
881
599
563
713
734
616
35
786
775
686
132
433
870
428
305
510
486
306
665
751
207
365
290
830
612
595
992
746
28
741
100
209
952
861
201
329
721
26
98
787
118
351
504
597
183
989
61
750
431
783
366
303
65
47
592
918
529
338
154
486
916
137
628
216
363
73
784
498
506
715
163
908
503
952
111
985
913
696
547
755
936
968
43
565
138
427
978
464
776
54
625
223
326
22
48
112
564
733
574
717
881
638
452
397
84
731
6
478
29
535
235
894
876
1
351
811
625
985
176
693
855
855
679
387
269
375
183
69
738
181
936
309
12
86
805
77
175
938
828
273
216
970
235
215
788
394
340
589
368
518
399
557
518
799
119
78
895
44
15
993
985
478
230
129
279
469
723
466
749
519
1
413
30
540
645
370
689
536
961
49
310
561
7
480
894
207
100
220
267
972
665
74
754
535
944
520
369
357
659
138
182
60
183
550
301
708
164
791
135
455
838
531
215
39
435
340
857
230
209
952
393
669
621
593
530
493
86
526
614
762
567
338
253
982
967
972
784
961
944
117
524
814
273
395
632
185
352
714
651
667
786
274
503
934
226
969
768
353
819
342
583
678
690
846
390
981
834
867
67
159
699
874
664
171
510
103
111
699
88
365
762
34
499
945
579
835
403
62
79
857
350
32
923
862
610
94
166
719
348
847
719
128
58
395
575
484
252
555
669
158
299
982
38
878
172
624
129
925
641
726
660
615
65
479
453
875
538
524
47
770
610
720
696
518
176
3
555
861
420
671
506
677
886
167
63
346
858
271
222
720
225
609
984
488
922
596
496
367
858
208
391
811
957
508
996
894
589
436
484
573
165
221
973
822
166
678
779
3
166
787
758
421
716
206
731
217
84
783
479
610
922
712
691
61
913
717
558
86
317
522
389
301
134
914
782
771
289
914
356
899
834
914
5
891
685
161
975
301
808
638
770
288
96
205
76
979
388
859
419
792
225
107
249
646
980
726
478
723
908
659
315
886
556
378
371
872
691
817
616
131
583
912
768
533
50
830
53
203
127
224
117
422
627
232
57
880
124
483
151
561
96
67
904
186
57
285
435
465
517
19
67
363
519
718
247
206
304
314
512
742
415
895
342
197
144
559
128
956
772
699
403
763
518
904
713
207
415
767
224
851
649
167
187
557
981
987
941
441
21
833
966
422
22
27
841
500
808
51
662
756
174
653
564
561
847
34
552
613
644
877
744
265
5
514
466
49
482
181
393
424
53
127
49
573
406
359
572
473
421
892
549
604
138
726
159
357
438
165
569
638
508
735
755
218
921
724
460
84
814
246
37
435
233
865
268
975
162
988
104
866
160
670
430
13
789
982
620
378
238
829
626
657
608
924
800
974
380
665
474
198
443
821
546
127
919
255
994
51
723
394
275
137
433
802
10
696
591
2
257
591
964
630
917
999
698
132
487
269
494
469
500
843
142
700
419
72
790
915
714
306
309
701
93
798
989
209
611
818
598
966
469
864
517
725
842
19
264
53
12
291
233
830
397
271
878
534
823
536
887
983
522
22
131
205
887
13
268
244
990
498
976
987
214
376
652
572
132
414
351
528
940
898
413
555
329
663
954
792
685
526
909
479
875
201
834
144
716
453
15
871
390
573
761
694
720
279
898
912
215
786
633
943
233
92
919
368
449
506
392
972
28
66
756
925
580
755
204
713
16
387
129
86
856
591
872
65
457
607
725
13
841
468
744
875
530
748
192
961
833
229
576
53
568
742
323
207
50
949
116
342
507
34
776
601
790
77
377
509
346
440
964
154
958
582
850
984
671
580
961
295
662
75
133
206
552
481
544
686
795
95
732
209
348
162
740
764
764
29
1000
199
230
314
477
372
826
363
472
161
480
372
220
151
664
238
77
754
848
592
689
568
170
493
955
18
534
937
34
741
579
679
888
657
589
882
73
444
396
725
569
924
792
446
462
934
789
238
192
376
287
50
900
512
377
623
125
14
556
19
753
940
572
494
625
586
504
824
681
129
929
75
853
64
728
388
161
725
152
554
674
567
254
32
995
500
704
589
975
254
300
914
183
688
178
434
488
952
872
13
766
659
868
386
371
538
228
22
504
579
211
502
14
348
527
705
504
948
30
808
823
131
204
569
155
158
740
455
968
317
877
917
998
476
961
510
331
614
827
632
370
82
207
365
139
219
371
260
967
71
566
960
30
142
658
225
655
546
565
263
526
423
698
270
171
220
634
745
171
272
682
439
562
147
844
776
800
374
876
197
476
496
855
169
696
907
657
511
674
498
240
320
609
27
484
976
375
974
609
656
889
843
855
319
290
72
226
341
207
150
549
866
471
131
20
455
612
442
708
797
323
787
183
102
914
978
562
275
411
745
782
142
619
908
836
783
903
835
43
527
917
744
154
249
782
271
257
424
458
682
980
789
184
238
461
596
895
558
906
150
462
211
339
748
451
444
324
196
865
652
2
786
976
165
805
997
925
971
587
206
255
243
710
379
915
906
845
65
533
56
852
992
10
706
133
240
512
217
255
252
996
776
513
938
302
445
304
717
642
655
851
653
67
451
853
745
111
503
118
43
343
610
67
508
9
460
303
416
287
429
80
699
943
546
625
798
324
96
734
507
700
980
954
779
945
611
987
697
409
74
639
598
640
284
761
883
299
87
149
178
197
614
294
311
919
694
209
61
869
817
297
742
932
954
368
451
135
521
469
279
843
925
151
831
50
402
153
194
278
328
249
846
423
782
213
110
681
895
394
425
303
455
410
113
531
297
874
335
521
251
832
613
450
798
839
635
274
133
188
64
821
37
836
728
981
817
5
847
763
567
248
977
915
208
40
909
594
56
563
85
332
160
446
3
130
300
641
696
98
322
505
584
447
421
420
934
46
117
965
714
956
921
719
819
556
90
298
557
918
471
79
786
86
163
415
280
750
577
807
753
659
576
648
461
740
529
656
448
531
499
44
328
40
272
812
949
526
631
279
403
42
87
119
648
794
260
733
400
498
243
708
98
958
591
536
443
16
993
469
443
908
334
631
951
766
577
30
392
715
841
154
756
539
118
181
947
409
296
687
296
495
556
899
332
617
742
176
967
245
15
426
846
286
951
575
961
88
250
55
580
984
418
509
164
564
65
556
219
527
992
511
974
648
845
422
373
900
912
631
81
215
608
358
159
735
276
469
578
641
206
682
978
812
201
937
961
648
574
581
699
336
206
289
864
755
185
374
707
968
575
234
598
956
84
230
527
861
731
177
840
477
162
8
970
174
882
879
45
736
556
133
17
816
460
107
415
866
326
707
894
397
131
56
509
407
793
268
50
631
382
608
821
43
195
861
982
686
964
712
916
488
551
375
138
192
709
457
947
884
871
298
326
938
487
619
647
333
114
324
355
452
327
751
111
416
538
488
869
987
967
96
964
820
337
757
558
630
359
892
748
428
697
250
226
531
891
864
595
498
693
504
415
488
348
949
534
781
636
489
540
383
888
557
6
696
799
260
739
190
542
927
423
932
640
454
907
567
16
366
847
80
933
39
610
245
806
427
125
162
442
2
838
730
908
335
68
176
41
893
810
27
632
195
493
8
412
401
278
400
290
799
220
342
732
403
50
387
781
74
352
408
977
136
674
571
350
469
424
706
754
440
503
837
18
845
243
48
788
241
594
113
482
655
517
551
473
691
139
820
476
467
593
420
123
655
401
529
886
142
881
665
824
460
351
562
124
203
820
83
25
89
466
526
534
205
436
145
264
237
395
9
854
153
853
634
681
917
449
938
998
270
318
157
202
532
123
338
679
669
584
887
542
588
113
462
644
720
729
156
427
487
517
559
541
175
744
754
672
54
202
738
684
343
466
58
15
749
524
694
239
872
704
338
846
719
866
258
598
931
619
875
234
121
699
37
964
850
705
730
883
408
130
605
414
516
952
303
930
472
133
4
955
77
10
18
711
856
926
529
355
752
456
771
903
427
201
50
755
800
480
993
679
216
165
345
343
948
578
439
772
321
595
187
597
831
86
75
601
82
367
179
877
238
629
664
831
921
167
567
388
227
834
933
44
544
336
528
765
397
862
413
385
424
67
658
820
873
624
326
348
745
392
666
218
807
731
139
85
218
688
496
81
445
534
635
890
473
646
376
821
58
822
615
744
916
906
525
690
285
22
616
81
265
834
513
849
703
965
219
144
158
124
510
939
655
568
854
606
531
199
904
460
652
12
179
327
683
615
42
449
895
229
422
400
200
918
72
245
712
806
280
884
173
669
119
347
973
624
254
861
380
589
302
644
772
809
519
721
361
34
310
540
930
847
713
805
549
259
533
721
129
918
225
820
913
168
1000
620
714
805
883
654
750
518
580
809
467
949
128
490
581
781
223
872
919
478
51
370
318
121
194
510
972
305
896
596
119
186
567
897
911
611
908
617
621
686
448
569
91
311
618
291
471
947
672
349
849
325
951
673
323
920
964
98
448
732
751
722
738
326
801
286
103
158
595
567
662
914
460
677
387
959
19
235
397
36
996
632
566
36
490
970
255
979
136
807
672
379
776
562
305
791
321
257
357
655
543
307
913
530
396
233
829
419
318
502
964
159
678
165
427
807
157
623
985
534
391
628
629
758
658
579
558
210
712
294
548
122
161
677
717
993
906
140
217
225
256
206
260
475
297
441
207
731
964
778
129
989
66
305
390
868
204
818
310
697
100
783
888
370
402
858
913
775
391
815
513
698
371
510
357
886
731
528
251
392
802
288
852
418
665
665
582
611
6
650
577
175
974
164
704
220
746
922
259
492
148
144
935
985
292
989
55
976
602
835
874
717
46
893
931
324
620
205
99
451
365
756
943
939
267
320
465
981
428
635
126
285
751
691
294
344
282
243
881
206
982
134
19
74
413
649
63
641
308
922
70
325
456
373
188
474
676
231
63
169
921
507
430
446
693
156
591
682
35
764
333
354
338
832
158
623
67
596
426
990
310
398
73
805
751
777
156
527
239
859
339
482
670
96
812
300
270
86
852
339
715
50
380
210
736
488
447
908
975
696
488
184
923
131
606
509
682
27
878
416
161
305
862
28
69
556
80
335
724
826
220
126
256
967
211
516
288
587
125
714
517
1000
64
981
928
118
795
762
567
951
944
605
887
193
958
790
695
445
888
583
624
736
300
609
898
365
225
161
855
560
173
159
338
81
632
92
596
692
368
507
772
386
129
517
432
325
987
359
789
771
673
247
511
641
743
648
991
941
285
621
996
51
214
46
458
708
884
433
955
601
863
465
137
668
258
605
948
571
872
900
988
296
838
583
780
543
93
180
29
355
211
652
167
442
666
461
626
775
543
633
302
339
100
548
638
373
333
664
559
16
878
382
304
87
189
29
820
578
875
258
953
594
531
232
175
622
147
621
926
474
418
785
966
737
895
521
312
301
904
404
427
358
641
46
359
319
617
587
400
226
935
333
686
583
473
757
872
5
128
974
637
725
717
454
318
788
22
909
420
721
692
265
85
547
441
132
865
327
34
448
310
767
32
797
934
56
216
476
112
805
836
546
337
852
604
932
37
734
436
163
873
856
457
482
6
688
740
853
354
906
558
879
247
987
681
761
227
661
385
192
946
553
405
540
258
509
7
738
621
398
732
66
894
625
125
407
433
182
949
614
161
862
946
345
950
140
239
97
213
335
800
198
75
869
286
186
895
857
683
381
149
766
865
401
941
631
159
74
450
123
465
493
656
819
281
895
593
156
248
723
202
907
470
471
550
482
891
838
862
993
523
358
297
824
114
853
876
401
178
16
311
943
947
959
722
264
902
789
418
94
29
138
961
972
843
116
720
501
505
323
999
622
114
412
597
634
300
180
381
873
833
332
12
307
841
847
492
854
593
379
625
856
518
207
757
1000
302
58
436
934
434
541
724
987
546
35
951
676
248
617
631
140
926
6
118
260
164
582
326
963
19
238
509
141
360
201
650
701
913
983
495
462
409
310
645
48
475
226
394
421
506
540
208
433
784
475
838
622
527
653
44
490
402
540
849
656
246
79
40
639
419
530
350
454
242
471
416
903
429
493
107
174
310
376
276
366
880
442
351
633
417
336
407
904
467
692
544
570
510
26
456
98
492
736
48
245
726
230
839
470
370
109
679
149
799
765
994
422
706
950
379
848
722
669
849
550
617
209
500
227
965
241
606
196
225
725
442
648
791
759
225
408
504
617
620
805
481
971
190
693
896
692
13
284
513
672
458
201
372
849
771
99
993
968
667
246
881
656
633
731
905
48
997
302
338
584
123
432
952
544
276
869
592
586
789
814
70
825
208
857
55
991
944
997
892
789
828
375
894
907
672
835
729
997
549
82
991
607
79
978
856
229
418
478
77
586
14
814
161
790
440
798
722
264
776
531
460
154
88
385
108
525
514
844
21
772
353
703
754
567
335
138
106
128
957
375
636
752
339
58
570
383
594
886
352
427
86
812
838
170
297
868
281
915
214
707
786
397
311
74
900
136
212
681
345
113
76
480
684
570
585
861
876
800
189
119
275
502
888
416
604
638
450
570
830
781
377
209
682
606
367
229
741
528
266
39
669
484
719
770
139
512
819
481
480
89
55
427
863
148
780
587
109
335
233
7
827
322
863
986
674
944
360
759
941
507
297
137
584
882
760
515
39
863
678
756
885
875
817
730
462
297
584
700
71
557
813
328
247
673
730
805
934
109
131
487
74
641
619
474
229
450
424
770
419
780
944
7
222
332
622
235
575
29
229
964
415
897
888
428
463
595
442
77
999
556
880
394
430
806
564
461
838
245
952
113
431
615
372
177
32
409
125
992
298
706
895
385
363
289
974
314
999
420
312
627
169
346
773
797
83
943
253
999
456
896
524
634
716
478
761
233
291
300
716
690
5
349
395
970
776
288
954
720
519
243
208
723
165
241
797
773
191
61
603
315
908
518
424
175
25
60
284
807
689
172
5
716
283
268
815
187
745
609
872
967
81
365
499
337
30
53
866
842
564
493
591
45
10
875
462
818
94
694
58
92
159
136
551
451
114
943
403
671
429
914
972
84
628
982
259
669
281
246
181
885
468
399
768
565
39
783
644
626
765
676
974
989
655
470
846
825
312
156
705
187
151
844
997
166
742
132
712
920
316
783
831
329
685
523
23
577
447
782
87
631
355
832
766
503
182
94
544
115
208
364
951
830
733
310
731
991
634
884
938
309
65
222
656
569
827
197
590
938
825
39
189
75
283
337
346
386
70
294
944
3
581
337
698
491
90
28
793
886
396
783
819
345
892
70
347
645
889
597
316
747
123
512
50
896
937
777
368
34
507
695
721
870
848
33
713
561
73
302
681
836
496
539
241
348
753
376
807
170
64
246
173
676
113
361
139
469
803
473
61
633
314
484
906
356
492
729
110
887
555
63
66
855
526
973
544
218
592
583
755
507
800
769
18
553
106
611
217
599
828
43
302
552
976
884
119
154
753
400
744
986
774
154
336
594
198
207
224
457
4
626
583
196
112
900
608
196
915
59
497
751
50
224
941
993
919
879
52
67
558
351
842
499
924
869
390
211
591
107
876
438
127
280
463
629
135
736
864
493
75
438
74
551
465
935
373
882
37
186
197
309
708
97
892
896
997
735
682
479
651
976
406
928
806
760
704
976
944
239
379
741
306
828
585
514
152
598
372
17
473
479
830
53
313
488
785
442
871
548
513
156
934
495
469
855
989
568
357
367
605
995
185
222
231
317
133
42
645
703
154
463
644
862
241
239
472
96
198
398
654
664
580
596
604
919
179
332
384
592
71
313
486
218
763
41
340
911
454
658
552
626
715
197
524
595
216
620
214
840
233
483
271
532
764
614
682
512
53
924
360
455
201
385
820
2
310
207
205
696
336
498
431
697
395
5
168
65
769
66
679
867
306
580
309
477
177
601
544
249
214
173
103
116
165
141
513
829
244
966
947
249
290
49
909
517
710
625
492
11
121
118
551
681
282
694
104
744
456
887
662
750
839
364
17
712
49
303
202
323
976
386
956
300
465
137
56
525
426
145
301
998
937
786
749
528
867
161
86
775
308
356
608
476
862
548
378
664
462
182
566
255
914
187
847
642
822
170
7
817
882
647
568
138
799
602
352
18
241
107
365
753
299
310
297
174
923
811
238
22
646
359
885
797
732
824
686
292
547
624
831
211
568
103
962
67
947
923
793
10
948
152
575
384
905
584
487
563
568
798
577
63
831
605
850
27
880
825
449
903
725
783
659
565
948
519
627
167
253
482
287
741
35
373
965
933
799
910
521
283
697
478
708
143
840
63
623
685
348
366
743
425
256
728
51
346
536
335
207
40
454
189
519
205
436
509
739
512
402
529
331
82
270
169
929
790
947
675
146
178
674
112
765
15
27
579
618
446
222
65
129
231
638
185
577
785
613
419
645
614
669
59
679
262
251
807
427
59
983
854
699
832
216
295
525
200
328
981
899
250
847
196
128
203
968
139
138
128
443
790
819
902
141
606
658
369
812
467
430
127
693
416
713
402
655
49
308
287
520
842
477
951
25
332
28
558
672
807
900
283
355
99
874
242
233
132
436
139
782
131
614
141
340
755
826
822
763
991
390
23
958
328
356
123
223
591
768
514
266
827
270
71
717
813
242
991
780
64
257
685
345
711
750
319
567
266
196
210
415
57
5
510
157
98
580
532
85
248
680
627
40
773
296
724
477
856
762
534
833
163
684
943
996
322
615
299
495
30
58
129
851
582
560
360
213
792
107
207
3
633
20
764
792
460
852
758
45
309
524
66
697
636
99
365
735
795
137
733
89
731
535
85
189
636
101
113
468
774
927
757
948
275
744
327
801
489
74
108
436
375
960
635
234
502
446
859
521
455
807
141
756
840
695
284
188
605
28
893
434
120
441
937
542
299
537
727
68
58
42
505
656
582
180
420
398
202
236
982
971
138
326
7
208
40
864
637
259
23
63
322
959
856
78
467
384
69
92
108
791
2
717
104
340
243
571
273
33
470
785
384
308
462
509
127
564
902
186
19
730
659
464
678
646
449
167
99
625
87
637
320
100
108
126
371
636
162
630
505
920
439
716
497
567
347
442
212
707
809
426
764
359
845
491
310
523
543
62
934
791
134
714
143
35
654
792
204
350
597
57
918
64
15
705
482
38
786
881
730
894
139
40
432
94
63
121
298
960
954
512
988
865
670
210
760
781
221
424
319
326
463
99
96
244
481
481
418
973
866
910
9
609
686
474
803
86
777
17
361
842
904
283
14
604
477
628
481
147
739
850
879
90
792
139
935
803
370
66
745
530
38
838
584
669
342
730
140
954
513
741
23
983
512
31
563
118
555
624
718
300
790
200
371
732
439
534
437
694
574
279
957
978
638
358
799
583
18
176
689
298
198
221
20
798
534
424
307
697
268
778
205
743
159
340
739
50
46
710
741
774
709
481
543
146
657
949
649
158
826
600
436
458
736
464
965
222
351
514
602
882
738
630
476
548
640
561
762
931
241
500
408
346
731
569
183
120
759
527
886
354
500
525
111
529
846
528
254
876
210
358
310
794
493
950
585
839
81
508
685
995
103
738
962
957
799
228
186
197
559
351
362
390
80
768
444
626
146
730
233
491
711
890
860
706
360
271
84
522
693
369
99
476
869
94
671
437
391
424
184
85
134
173
630
103
833
246
668
391
478
120
604
571
548
46
574
873
613
669
239
267
593
307
69
368
889
171
589
196
665
154
75
351
801
646
793
552
433
39
276
761
503
188
91
317
499
134
225
599
365
786
514
736
616
145
516
804
837
844
836
767
75
442
216
123
134
974
602
877
384
697
24
978
522
839
345
793
661
454
861
572
217
112
286
71
359
303
846
701
165
848
136
600
236
584
862
37
233
817
805
404
701
803
189
854
568
602
111
347
944
174
872
431
152
515
821
621
486
977
829
641
818
623
608
107
38
649
865
444
250
441
745
998
835
779
68
279
735
97
637
277
809
449
303
596
681
14
501
923
277
581
733
16
185
400
793
953
9
222
606
853
155
126
208
677
849
948
740
989
760
755
335
754
256
795
424
342
237
810
293
936
435
424
697
409
311
548
950
605
931
406
200
635
755
816
525
462
846
842
65
577
858
779
690
985
64
712
550
123
822
568
476
521
134
651
367
236
353
160
584
120
703
64
927
971
971
25
915
487
646
763
944
752
807
360
425
641
279
551
103
149
904
937
613
172
319
423
771
631
289
893
237
194
455
317
933
55
353
988
89
352
709
591
818
859
277
148
910
515
958
642
935
210
557
338
773
1000
262
354
456
587
877
65
522
452
912
296
165
543
851
63
97
734
319
845
428
635
412
961
824
451
150
663
890
752
864
984
10
961
363
195
858
339
861
990
411
995
13
132
569
251
839
390
424
240
3
992
817
223
671
756
64
506
144
262
626
200
557
162
80
340
197
769
940
7
429
569
769
193
767
209
531
109
382
788
342
514
213
6
588
440
901
842
909
372
953
931
679
537
913
765
419
479
824
154
69
479
924
136
140
727
375
656
569
359
757
911
508
595
250
178
404
282
676
347
430
44
53
125
783
126
903
61
367
764
332
119
145
551
798
542
787
886
587
99
273
3
225
654
812
522
444
176
747
692
881
933
150
740
376
639
436
788
584
730
638
851
646
808
983
317
822
502
972
109
325
654
501
510
52
802
473
190
575
355
921
571
539
764
958
70
546
223
715
122
746
139
46
153
574
676
941
800
546
181
498
780
539
177
821
758
775
934
393
459
556
314
309
40
899
717
264
451
370
461
350
87
806
870
480
565
114
671
800
847
2
38
491
270
326
758
201
240
729
578
754
507
357
710
873
954
769
855
420
783
574
888
34
823
956
497
123
449
1
671
895
262
666
915
438
235
292
472
952
512
813
616
861
439
181
312
916
664
97
135
372
363
799
366
995
726
558
620
932
867
513
165
495
196
667
378
475
154
169
372
923
892
510
930
249
142
891
315
79
29
804
379
576
52
833
704
813
777
787
135
356
60
519
194
431
783
240
309
917
128
674
739
941
414
162
316
28
393
688
898
604
681
867
490
156
702
104
528
484
110
529
770
312
178
783
528
977
30
439
747
51
924
631
578
503
25
486
627
478
215
37
35
832
536
654
914
319
816
419
408
743
846
527
858
409
267
516
106
983
951
90
975
169
263
329
366
720
35
348
183
905
480
845
550
961
555
506
359
14
472
953
226
625
162
772
369
423
494
176
719
247
960
7
868
854
372
137
47
509
820
779
423
734
772
885
433
52
760
570
760
841
491
487
801
287
618
155
184
15
632
520
943
154
503
440
474
515
772
371
280
33
768
251
805
858
488
475
395
281
496
879
495
216
857
899
758
75
733
359
630
710
792
909
327
549
950
790
866
176
324
406
937
398
483
194
965
240
195
403
678
446
943
691
849
781
382
904
652
840
809
2
250
122
402
854
822
870
730
565
224
513
524
42
851
592
235
766
114
759
242
107
117
720
875
66
734
64
631
40
340
503
6
39
838
420
441
825
474
530
721
589
179
133
44
117
808
678
658
877
698
309
607
99
448
660
682
705
649
389
84
909
603
879
669
400
715
59
917
295
349
540
885
457
405
119
531
371
800
235
700
455
295
149
12
640
867
456
624
26
902
42
561
668
18
738
902
894
257
750
602
47
724
396
159
247
459
811
644
560
520
55
825
970
771
498
275
673
840
440
345
503
70
677
888
765
78
126
392
345
673
686
12
725
521
205
589
474
869
842
354
822
107
80
465
204
687
389
917
994
164
840
642
247
721
978
816
932
568
931
487
995
35
12
640
634
988
68
721
300
479
428
486
292
146
597
714
270
945
763
21
679
274
784
469
838
372
575
190
420
186
701
519
147
553
553
432
793
637
703
237
996
39
899
510
961
913
682
285
883
697
820
333
765
805
556
206
408
713
198
370
491
411
709
379
59
108
783
526
237
428
336
841
640
44
490
591
796
874
888
705
881
496
617
626
174
400
100
169
977
68
92
897
157
630
276
344
92
27
54
229
568
202
819
401
86
825
372
878
103
430
192
770
996
699
917
298
888
769
776
374
32
112
679
413
169
509
332
152
103
111
66
248
757
368
19
334
164
891
945
48
137
916
183
239
875
123
286
237
380
3
363
548
362
836
467
830
257
614
237
324
94
917
588
173
196
835
443
244
143
521
365
103
972
847
508
791
346
945
444
919
286
126
316
392
141
764
212
751
617
281
847
744
104
281
440
209
1000
197
119
808
437
601
340
412
614
413
563
219
944
857
863
771
337
912
270
95
262
418
329
135
652
745
834
480
356
102
709
157
557
171
727
917
560
717
159
5
361
232
435
887
680
469
615
776
531
939
794
98
916
35
553
219
962
502
249
863
651
365
225
644
332
276
978
63
342
499
980
119
422
340
95
424
59
963
470
327
562
903
397
102
432
532
850
685
581
943
343
808
18
422
286
605
917
773
242
973
378
204
368
987
779
444
841
675
355
994
247
334
496
174
783
333
351
721
580
82
467
213
633
393
605
523
630
16
337
844
432
502
742
565
80
886
304
415
987
906
126
847
408
583
701
607
355
58
768
776
905
490
244
346
218
682
824
587
659
875
593
32
131
768
943
878
98
433
118
36
812
249
990
837
913
341
18
604
970
343
909
949
452
443
188
625
351
801
751
239
914
431
474
923
972
538
132
341
922
123
210
2
743
404
640
964
315
211
191
418
945
68
965
535
225
98
466
216
249
263
769
80
795
669
600
81
268
870
564
649
100
126
300
162
808
590
121
817
107
242
545
718
310
188
178
87
763
651
628
29
169
542
461
224
540
38
731
230
895
996
299
832
16
332
952
20
320
745
345
725
324
280
911
396
317
248
171
885
554
9
344
846
718
901
760
67
444
436
313
693
415
464
167
346
928
643
939
482
823
976
863
161
390
580
802
625
187
145
530
647
696
705
395
696
425
466
342
322
333
438
283
74
463
523
973
417
250
520
859
849
283
256
886
398
218
659
841
172
124
140
643
501
808
73
910
467
555
548
271
298
293
780
120
193
374
761
954
625
93
771
996
71
534
380
557
410
556
405
439
958
564
119
775
195
187
660
857
789
181
223
898
421
636
89
147
270
62
992
488
753
49
601
437
235
965
161
469
23
588
430
719
861
680
111
406
566
226
902
783
150
496
155
1
19
128
866
82
361
149
398
54
871
225
905
434
322
465
884
436
323
781
680
693
786
141
44
815
255
70
36
799
269
383
672
185
350
463
714
840
43
350
910
437
682
532
806
21
196
618
999
514
307
985
289
692
962
114
764
908
671
531
274
827
718
234
88
527
876
985
825
585
343
97
851
187
109
221
459
875
856
139
80
273
787
782
685
41
515
517
293
306
213
245
220
80
796
16
284
467
796
661
706
32
931
422
822
328
138
667
85
433
930
573
19
315
542
81
952
982
267
527
345
675
728
85
539
808
649
584
528
961
820
308
164
999
549
88
839
314
908
408
271
256
424
233
480
45
723
973
427
856
799
336
84
309
230
824
877
286
642
258
552
871
201
62
535
206
697
963
721
238
52
429
515
640
719
396
595
692
503
823
565
530
764
151
144
967
869
43
27
50
982
631
879
610
13
105
166
332
568
658
728
293
287
697
12
486
817
740
920
582
986
622
42
68
442
453
884
950
141
295
352
391
590
642
394
44
676
639
151
312
231
401
449
474
257
952
707
408
838
43
627
652
356
587
110
664
550
501
906
438
359
513
452
90
224
890
173
629
738
106
304
891
68
170
939
542
621
738
585
102
769
119
965
228
281
6
205
814
305
85
816
72
365
674
81
410
849
205
558
811
901
665
397
425
457
69
107
226
397
691
213
958
460
16
949
40
568
340
805
747
730
533
235
788
499
708
320
334
259
462
480
674
301
915
638
933
706
964
355
686
551
77
539
924
868
454
320
495
62
569
534
98
215
967
67
897
811
662
992
55
951
651
35
830
35
868
408
398
240
357
463
221
834
575
930
623
559
520
736
198
807
792
518
837
328
803
3
421
532
106
334
714
247
191
309
567
940
173
232
321
32
519
727
223
883
314
471
713
454
611
230
721
441
75
996
445
869
511
293
676
784
802
914
393
664
502
457
246
621
588
22
521
292
869
351
386
550
162
507
505
824
621
907
624
855
551
170
342
189
617
752
102
551
605
801
348
539
817
20
944
730
706
550
187
397
605
79
170
502
257
435
826
536
392
893
725
93
768
317
561
740
960
25
350
891
635
983
503
896
256
509
351
492
929
185
178
79
582
86
499
56
798
752
132
556
398
537
622
508
286
141
678
891
194
102
612
403
678
38
188
576
137
224
915
488
689
869
580
858
443
115
729
273
79
344
874
689
693
861
462
164
527
382
985
984
546
75
205
946
856
49
129
601
547
333
238
677
923
356
501
726
998
864
846
298
773
37
111
581
102
258
963
488
874
674
921
646
819
159
404
598
531
779
684
801
157
195
721
682
797
684
128
83
857
625
935
949
473
381
376
964
662
447
683
176
19
648
747
346
645
945
526
878
470
82
338
685
293
935
458
310
679
914
26
922
304
171
879
563
475
705
787
154
315
667
541
344
563
288
470
209
997
920
261
211
257
579
436
562
250
272
387
337
363
110
692
262
434
893
320
79
813
403
415
797
850
133
589
932
862
543
24
68
934
228
257
639
950
575
177
913
861
591
677
532
543
567
352
832
527
188
868
387
548
479
897
865
98
733
27
361
127
178
696
783
614
680
950
794
996
225
852
16
314
268
382
938
535
296
21
8
679
99
561
911
303
345
298
909
372
978
484
428
774
880
799
793
545
19
653
106
389
955
330
815
219
250
329
399
253
753
795
995
687
199
565
457
49
862
229
546
158
202
527
467
20
621
603
927
91
434
881
277
87
134
802
42
925
875
272
340
431
822
411
265
170
731
143
299
140
632
208
217
61
17
438
750
734
258
511
469
225
319
941
990
663
988
769
591
90
948
277
791
96
48
44
237
959
994
853
521
601
548
277
176
994
6
235
139
535
390
484
460
539
290
760
878
227
770
279
140
494
70
379
672
295
115
360
216
716
985
13
611
665
580
863
740
624
677
939
989
138
468
718
263
491
443
972
740
580
182
418
21
113
207
466
314
64
578
819
574
825
281
404
295
554
827
896
788
61
663
96
305
957
149
574
369
917
871
248
6
628
40
50
344
427
522
434
244
656
847
224
187
513
178
234
635
523
804
170
503
802
174
549
141
952
903
750
459
782
424
880
453
41
197
803
367
997
444
578
209
11
416
526
118
234
84
339
364
138
991
960
375
922
693
455
256
724
869
711
713
188
722
615
170
169
708
314
122
275
998
238
455
481
345
874
554
298
149
645
483
818
625
884
444
520
927
561
17
871
961
364
369
623
420
737
777
196
250
711
281
676
378
695
256
806
994
915
987
752
158
877
94
618
743
18
799
406
13
719
551
578
228
987
533
474
716
400
885
556
795
360
286
895
770
314
694
333
999
350
651
508
666
515
500
267
476
262
322
48
959
658
148
474
454
402
238
775
121
210
819
596
522
847
712
470
433
945
684
494
509
732
206
725
389
1
536
454
596
950
690
762
352
8
919
725
21
408
755
215
462
61
576
479
992
222
897
605
19
563
253
526
664
520
672
437
835
200
168
362
306
720
620
155
304
565
692
384
11
449
149
393
155
215
49
355
562
487
810
234
150
168
72
448
327
380
616
432
202
105
329
455
288
622
362
819
654
815
171
989
565
549
96
323
709
638
486
764
59
335
173
339
243
926
228
283
68
736
582
387
504
797
14
518
991
489
454
268
417
705
338
416
486
485
932
185
494
578
210
303
695
138
834
519
586
567
259
529
391
573
781
242
969
654
614
937
182
544
712
139
484
662
104
971
103
212
973
336
752
405
582
533
237
190
391
806
664
31
428
890
221
489
20
831
669
806
515
238
735
272
480
625
575
862
214
743
366
545
68
562
860
686
220
143
428
191
60
730
729
364
251
240
628
994
892
767
413
844
932
874
677
526
128
176
435
754
403
201
214
79
409
581
841
527
462
358
652
993
800
642
632
859
280
854
816
65
207
565
882
779
5
261
480
899
796
433
288
828
795
45
173
372
595
801
131
146
82
606
856
581
684
276
894
459
124
880
350
946
676
26
16
250
135
63
609
333
396
428
533
637
556
299
217
368
936
323
587
717
259
421
720
320
520
571
33
394
736
61
640
202
850
865
655
981
581
727
310
986
853
22
701
67
804
667
874
77
16
198
751
442
788
610
71
440
728
733
139
84
933
708
669
16
300
592
423
490
293
272
661
343
607
598
646
856
753
127
579
496
503
928
364
892
549
663
556
774
454
558
696
280
179
926
978
747
53
642
869
45
9
324
858
586
358
6
3
366
124
780
285
793
206
224
128
587
224
413
561
752
949
995
663
461
614
88
896
726
277
755
851
876
595
402
768
202
62
749
885
604
795
949
318
727
385
11
719
830
259
949
378
638
188
966
795
480
330
557
20
312
217
604
177
629
631
452
714
851
181
433
833
493
702
529
480
330
314
682
49
787
82
773
625
16
744
433
220
457
898
657
949
191
375
676
492
75
260
638
526
480
178
456
17
390
998
584
412
832
85
601
779
824
568
217
914
535
906
714
261
929
152
904
265
928
951
403
414
70
271
374
828
685
264
949
685
857
453
196
194
835
672
862
82
87
758
100
772
894
57
51
518
240
210
473
762
772
520
542
924
761
444
612
591
329
395
970
866
683
106
564
205
745
241
291
654
340
819
639
809
84
289
429
184
192
758
923
931
704
976
801
1
44
140
376
919
401
521
945
317
155
170
353
230
444
704
702
981
38
265
615
134
874
282
641
630
936
577
173
688
739
705
723
511
272
141
552
95
137
81
365
723
577
187
292
813
220
536
398
846
673
421
776
30
553
422
608
221
121
319
724
359
481
32
817
348
216
743
920
878
378
751
722
151
40
428
20
867
941
827
935
96
345
137
505
866
920
174
942
399
286
537
132
908
922
894
932
816
268
94
444
44
187
441
705
748
444
548
192
530
485
599
117
653
604
758
731
273
520
704
769
2
508
964
733
420
493
784
892
269
904
786
803
179
715
542
641
689
767
491
819
266
414
360
256
777
527
335
83
556
135
752
792
844
299
42
616
832
368
929
373
1
387
699
184
728
310
421
189
381
588
638
874
232
902
917
677
578
55
94
310
369
524
753
611
537
747
695
847
918
15
729
37
380
730
84
312
282
889
174
281
910
855
216
133
874
911
431
471
779
573
151
936
630
411
207
289
567
914
366
941
514
997
438
907
238
900
912
738
128
544
615
316
743
907
951
282
790
618
734
500
732
745
479
176
691
726
308
168
620
483
287
589
4
26
101
998
508
278
461
379
39
412
529
599
680
743
966
259
832
94
881
654
673
596
120
91
758
90
806
942
156
650
12
627
49
262
739
199
112
368
156
296
320
787
169
37
49
543
939
857
467
227
964
354
243
847
655
6
558
562
140
966
237
273
194
265
572
865
779
403
98
751
663
739
101
486
998
80
161
442
506
568
380
900
171
308
245
494
919
165
261
618
801
832
597
266
615
556
986
800
745
882
30
297
226
427
882
459
692
913
7
544
912
688
332
420
94
512
661
645
966
645
645
401
959
180
973
243
461
121
676
883
189
925
620
623
261
87
326
659
383
898
212
197
918
659
266
193
290
513
909
601
282
521
517
200
334
768
675
416
852
125
731
90
876
709
624
797
195
239
302
152
158
268
229
514
950
671
663
648
91
906
364
189
257
267
384
200
316
788
416
741
623
498
926
103
217
436
972
301
557
233
181
482
805
69
798
139
505
513
150
421
660
92
111
346
896
428
368
460
341
438
384
308
346
409
953
113
958
709
162
236
320
533
380
288
814
350
637
275
803
666
353
774
307
285
965
951
787
524
377
162
511
731
566
994
616
989
902
873
110
163
890
779
491
256
154
165
615
610
398
945
692
656
9
276
41
760
732
910
317
216
524
94
464
571
329
353
573
307
992
1
135
345
948
896
951
957
641
779
86
485
865
520
802
650
317
728
387
368
719
484
134
711
795
391
500
64
238
766
683
594
556
528
383
844
351
294
548
665
155
233
292
695
407
488
942
308
548
343
440
283
500
878
868
430
971
526
951
90
138
831
768
711
266
701
772
671
734
632
436
169
734
679
485
232
672
471
762
877
898
168
176
8
926
73
95
914
792
548
802
118
472
13
279
878
621
39
728
887
982
980
664
552
926
183
354
808
545
500
652
544
599
765
13
632
392
903
552
988
378
569
565
272
862
539
830
649
674
626
363
485
123
525
23
984
842
841
515
541
343
534
894
31
272
133
620
337
342
396
603
172
902
507
402
652
934
540
975
128
15
673
917
520
464
529
131
749
443
140
266
903
265
227
67
447
535
891
977
145
40
353
955
340
502
73
492
899
388
452
232
451
3
313
436
488
977
539
774
539
88
575
577
908
96
954
702
384
858
700
681
932
579
181
624
631
455
13
661
12
329
656
369
506
247
652
710
955
939
843
503
984
327
511
341
559
154
80
182
267
671
939
511
676
143
975
150
616
593
591
245
417
838
378
924
903
338
77
458
440
820
180
465
443
943
301
874
534
491
476
897
953
720
638
234
966
519
855
66
701
975
337
220
284
801
831
990
206
827
803
761
540
418
694
504
38
248
646
652
134
343
297
649
576
673
648
665
755
864
546
609
793
803
28
569
94
980
613
240
399
463
674
747
314
250
147
494
938
627
211
321
476
833
996
302
653
976
70
979
367
714
210
690
210
592
932
907
455
343
352
204
614
667
218
524
913
185
376
935
900
331
490
934
928
915
598
686
425
962
934
267
747
246
532
105
842
590
298
351
172
635
600
802
102
271
948
370
456
338
995
789
51
522
919
451
809
580
219
754
459
203
123
347
971
794
51
7
563
446
91
643
563
204
980
120
460
492
911
160
164
204
364
576
926
563
241
490
328
304
839
980
497
121
550
826
1000
610
744
617
890
127
985
522
27
78
581
434
99
168
494
56
738
43
785
711
753
570
120
317
779
749
318
15
555
843
587
404
682
876
858
193
897
91
600
347
861
290
605
496
975
241
472
440
988
524
970
98
991
198
5
101
977
712
671
592
269
304
740
441
11
967
993
243
374
704
993
968
325
450
259
57
557
483
313
99
715
608
744
965
114
689
246
403
959
323
585
676
497
610
574
758
626
965
438
992
239
908
397
847
964
576
904
648
51
480
725
658
839
688
1
963
649
165
455
930
920
503
193
869
164
638
893
706
574
420
748
98
198
139
209
433
174
162
448
605
877
867
465
266
782
976
919
501
460
171
124
527
409
655
92
63
363
896
167
467
307
365
584
618
659
501
228
780
16
509
995
352
390
803
383
530
93
138
410
337
287
472
485
428
767
621
613
344
706
631
205
618
943
574
790
225
889
180
151
423
286
299
735
926
855
708
729
700
331
189
835
423
528
93
629
749
825
877
345
145
916
179
84
941
765
83
731
670
428
115
303
500
835
416
95
755
668
240
703
104
196
621
957
990
282
616
866
240
843
987
900
648
682
579
328
481
982
941
871
502
750
915
632
120
130
30
132
689
834
530
258
831
905
798
151
895
626
722
342
277
704
303
940
438
754
425
331
854
730
235
610
31
175
32
949
989
78
910
177
276
687
662
148
667
826
592
864
206
158
985
903
113
352
911
442
410
293
973
34
812
328
344
367
545
25
175
413
281
89
12
734
291
864
403
234
278
355
270
317
47
782
919
208
373
493
838
221
915
470
498
855
46
781
455
909
776
42
983
274
757
394
294
622
516
531
189
35
647
48
629
469
688
742
267
93
801
527
496
701
169
313
901
863
250
539
326
938
615
45
942
858
145
615
797
375
766
853
350
527
757
998
389
225
884
909
549
187
258
749
385
935
905
807
564
206
430
499
297
923
80
842
554
813
752
579
969
881
166
723
597
198
526
469
829
888
466
319
855
776
970
788
44
873
276
243
459
787
461
260
556
182
528
390
756
592
344
387
239
285
683
729
750
348
989
772
670
874
184
955
886
917
22
297
248
886
8
815
501
190
900
627
645
215
124
211
589
195
264
733
842
127
905
384
722
641
738
396
221
665
799
788
254
800
108
899
462
538
804
470
157
861
43
369
232
289
555
46
118
157
805
468
897
745
63
593
747
907
602
389
759
19
416
60
18
365
525
379
540
598
996
6
300
527
235
222
116
270
999
771
599
790
832
419
729
913
316
384
866
195
584
989
171
429
85
821
485
166
426
124
672
322
451
421
319
881
432
143
493
704
334
556
901
668
657
458
446
744
275
875
654
71
42
499
840
830
636
715
252
485
309
818
589
964
720
512
474
504
7
816
469
152
613
279
169
371
154
816
764
828
786
502
205
173
130
423
785
556
769
16
497
695
770
382
11
551
447
721
499
43
813
406
821
775
773
184
751
469
138
653
80
635
952
491
361
15
475
839
46
549
399
916
526
875
498
170
345
904
17
238
465
635
487
566
10
161
602
790
361
768
985
875
801
153
416
582
195
31
119
37
321
819
242
58
566
676
523
407
641
906
462
347
880
591
18
691
447
415
956
62
500
791
502
201
918
791
888
1
741
885
698
392
858
146
662
323
809
433
711
884
786
25
615
23
49
315
550
419
999
488
226
808
123
524
51
478
828
518
923
688
978
17
877
498
589
45
756
868
706
530
512
899
958
82
510
785
680
485
441
392
759
758
52
354
563
403
922
255
413
263
950
763
57
449
38
544
519
971
696
411
510
13
961
452
323
274
41
792
742
478
580
259
55
870
287
444
694
554
952
593
364
557
551
260
788
832
213
949
362
777
322
766
73
457
917
683
991
442
858
191
565
47
939
926
710
812
218
409
354
278
400
135
756
432
985
90
365
754
267
238
433
419
983
630
886
78
567
570
208
594
527
715
207
249
384
68
562
251
27
574
11
796
68
427
872
565
973
272
356
287
335
174
781
921
623
622
374
100
172
867
814
674
929
537
49
622
737
881
220
117
509
919
685
237
672
480
282
672
722
405
925
787
503
134
578
577
130
564
443
365
60
296
937
582
914
362
661
608
86
85
79
433
37
992
114
874
466
590
163
156
202
388
320
954
747
746
758
411
918
19
269
200
877
994
950
447
209
779
901
234
340
181
583
402
779
70
175
617
113
405
878
999
679
399
602
124
116
761
905
886
773
79
347
530
84
200
663
144
562
859
279
37
44
955
740
735
163
569
553
749
807
243
800
914
491
115
626
829
163
189
388
861
944
401
781
247
701
201
779
68
156
4
554
242
435
235
878
240
594
705
659
918
645
658
388
732
74
188
276
592
635
675
751
796
482
488
831
814
308
524
594
151
252
44
602
186
751
892
666
649
415
408
796
375
250
258
510
55
245
965
941
983
406
131
350
219
830
234
702
142
289
377
943
137
103
590
510
996
796
98
370
705
131
478
587
465
642
775
20
147
725
466
249
921
658
616
241
422
668
702
595
693
330
341
404
98
97
627
943
519
743
831
369
495
867
1
633
361
360
377
584
82
924
605
51
222
320
464
317
428
998
164
995
852
167
314
749
206
166
364
744
493
196
626
917
29
89
8
438
61
835
239
752
136
961
664
647
405
751
666
697
197
490
387
218
537
582
705
641
755
442
339
793
978
501
585
156
78
569
385
580
620
14
360
287
437
951
17
274
740
674
496
361
81
69
169
206
64
651
869
584
431
151
756
113
33
306
630
379
255
597
36
123
646
224
632
737
859
526
105
830
553
361
398
41
536
760
123
565
265
239
811
127
829
777
95
226
638
366
5
540
347
451
295
292
32
306
152
262
164
617
656
864
777
68
108
357
76
773
716
867
844
750
116
310
231
457
954
762
876
608
35
22
899
112
585
389
951
977
796
710
403
484
161
798
750
719
41
205
484
850
555
187
2
122
151
369
617
639
148
310
358
437
129
643
46
229
328
963
93
458
31
940
558
988
600
416
274
840
914
394
270
852
920
902
292
76
504
681
945
984
62
530
899
297
36
925
599
335
110
229
155
341
986
398
439
128
410
593
910
745
631
534
378
599
555
732
737
609
672
967
663
520
245
506
445
480
347
601
374
312
90
736
579
717
766
942
828
811
713
274
533
971
412
175
143
966
699
35
195
745
12
741
485
42
258
354
251
188
253
385
777
110
661
286
542
544
25
918
877
886
789
711
133
959
170
193
501
218
376
352
974
534
927
13
412
772
780
79
305
837
549
975
639
708
361
106
195
271
777
486
749
419
797
937
867
992
144
430
445
603
928
196
692
291
310
235
997
253
947
680
8
622
889
325
294
335
34
261
155
708
467
192
521
224
753
505
362
381
778
577
736
195
805
105
395
101
236
504
871
513
958
506
100
326
288
153
917
931
243
330
239
151
287
796
320
640
750
464
263
893
851
317
858
982
598
926
920
562
907
13
512
460
919
863
833
376
882
701
104
866
929
318
456
749
744
347
727
558
432
594
39
442
855
710
228
206
326
366
510
785
841
747
263
537
944
875
405
155
930
756
706
904
322
830
249
134
478
506
418
701
721
882
33
22
629
831
651
957
972
783
678
637
315
438
605
630
503
580
629
562
67
905
912
421
106
488
978
285
329
125
61
153
785
263
762
890
233
659
34
14
269
229
319
242
60
761
679
215
22
299
865
822
815
50
583
870
824
600
667
656
653
67
459
136
267
590
472
1
85
211
336
932
738
749
78
725
200
790
53
766
728
231
195
542
331
173
832
493
543
81
985
543
890
286
949
37
756
877
938
693
335
934
783
384
971
918
963
211
448
690
744
405
752
318
850
24
414
345
860
295
766
616
492
713
384
151
47
689
510
768
516
623
496
341
323
755
171
639
206
72
543
674
488
807
475
347
886
824
763
992
38
250
591
87
125
267
447
19
341
899
432
282
444
948
328
898
333
981
933
187
383
423
949
202
262
354
126
308
111
562
479
406
240
775
120
236
938
770
677
62
638
225
293
782
395
764
961
163
580
636
284
502
774
870
791
427
53
538
633
998
265
980
819
506
426
441
128
586
90
618
527
343
361
4
202
214
278
787
282
173
424
281
970
733
977
507
53
901
880
612
722
882
439
251
205
855
475
943
963
610
86
665
120
138
192
632
334
587
292
288
560
80
283
46
988
31
777
163
16
522
63
496
261
195
761
542
474
920
267
310
719
149
267
90
319
516
969
91
904
704
222
281
326
43
335
477
375
596
255
898
954
732
743
930
863
303
316
819
386
584
19
375
636
85
545
520
44
159
829
729
386
141
998
952
508
361
479
624
244
968
153
751
72
974
655
875
735
302
327
913
377
911
865
491
770
252
399
405
836
441
610
286
991
484
492
350
804
865
543
383
69
571
493
737
705
385
146
169
773
885
577
822
567
155
689
494
899
614
107
639
679
752
487
173
390
804
569
314
315
551
739
87
224
510
435
96
751
750
449
431
914
438
93
275
11
28
210
923
686
676
241
429
64
72
877
3
684
393
395
666
428
471
376
344
763
611
395
786
374
702
197
211
731
403
63
541
205
207
315
482
90
158
401
422
309
799
577
365
632
746
981
638
940
872
814
131
464
716
408
233
937
171
202
394
287
882
23
490
844
103
640
755
25
913
212
72
124
821
164
856
124
787
990
561
441
578
672
136
109
231
744
327
201
85
467
856
229
496
277
898
822
867
402
177
276
95
553
268
430
844
639
355
902
356
786
800
945
634
290
343
22
913
768
670
765
321
464
366
138
486
575
11
491
657
489
247
655
578
55
199
424
963
323
557
536
939
739
934
767
190
433
880
858
920
60
71
755
902
650
738
128
76
41
354
163
150
784
990
416
625
838
481
902
494
1
747
646
646
772
195
656
641
249
102
633
102
774
297
774
451
238
235
696
74
351
787
867
304
753
681
912
809
495
530
818
43
320
831
377
449
167
152
171
10
481
941
18
544
257
66
87
890
218
223
816
732
155
819
352
370
278
803
512
179
339
178
111
834
432
611
124
657
614
644
315
592
920
489
867
364
909
296
68
389
629
75
293
851
759
165
343
158
739
268
754
679
888
553
762
282
890
317
501
652
515
965
412
839
117
841
8
752
299
601
891
566
76
321
359
138
48
558
47
544
345
879
766
820
604
193
122
823
798
383
569
866
534
299
239
495
339
190
281
267
530
39
469
941
507
56
521
812
665
805
905
239
722
49
918
596
885
426
469
983
198
476
307
19
399
404
404
988
776
160
817
381
854
110
654
630
223
590
663
459
437
99
599
797
742
766
739
655
300
984
834
708
722
775
338
593
954
549
975
66
2
405
582
272
533
2
672
301
160
352
389
142
53
577
306
881
606
808
76
715
83
884
65
938
487
496
901
568
464
693
366
684
680
444
156
867
955
86
820
371
402
42
628
755
986
134
204
773
181
208
505
236
870
541
141
429
237
677
73
404
158
927
458
141
524
754
777
139
1000
667
405
457
953
39
477
630
676
475
225
138
576
972
993
339
686
147
747
834
743
200
248
269
42
152
985
471
501
111
618
647
651
978
940
76
759
50
304
391
954
430
63
36
982
44
808
971
190
289
83
22
444
71
854
522
941
17
162
78
295
181
332
333
861
429
583
596
979
12
93
67
719
515
425
186
753
521
681
330
157
824
939
658
346
951
332
447
807
103
566
623
11
359
833
565
666
104
831
435
501
253
47
440
863
736
539
479
735
121
216
527
224
998
5
27
165
929
357
230
269
359
264
165
134
862
331
431
549
505
463
511
720
884
431
659
451
651
906
736
855
895
555
512
874
821
446
107
727
557
312
194
434
781
194
545
740
70
623
283
56
553
731
944
551
463
675
92
144
683
307
729
950
197
283
238
681
686
714
896
605
124
10
278
938
354
795
27
948
113
626
529
657
834
804
6
703
893
723
432
879
673
60
435
851
896
593
81
792
245
615
988
25
182
673
771
250
232
885
183
634
718
161
680
863
94
457
318
201
574
628
56
797
696
518
555
716
846
698
510
672
527
631
397
3
333
149
290
223
175
796
33
386
292
996
644
591
990
19
305
154
811
402
632
412
117
832
274
615
598
488
5
92
313
483
631
745
248
390
15
895
229
747
428
712
273
125
267
773
82
560
891
775
463
117
972
49
901
950
274
358
369
446
227
365
757
953
20
291
949
173
169
542
667
478
697
497
709
308
128
229
84
335
454
654
849
250
141
510
172
875
996
585
253
805
436
841
257
944
290
410
340
78
747
977
168
130
523
715
109
855
584
772
361
480
25
277
900
287
813
8
25
167
154
93
693
963
160
642
580
806
386
748
980
704
503
106
258
375
91
384
528
664
65
578
674
948
734
798
563
564
877
342
583
701
497
421
193
140
115
650
230
896
551
220
117
151
175
727
985
791
468
774
911
508
613
800
177
706
516
57
453
371
293
321
308
672
824
685
285
293
371
753
73
401
650
659
961
738
973
580
863
500
246
865
680
567
684
428
666
176
58
850
758
301
200
444
560
847
240
656
744
273
775
326
211
401
742
708
216
980
305
655
52
42
428
55
579
217
183
411
75
928
1000
456
393
845
272
826
407
69
679
100
54
242
617
977
97
191
909
970
857
807
759
737
792
506
564
121
762
69
764
11
224
620
386
398
400
243
322
375
683
19
655
355
124
326
551
531
914
844
331
397
157
44
341
211
90
911
141
422
136
246
372
426
814
196
361
473
605
585
163
216
302
214
285
167
256
536
762
274
195
29
609
943
969
129
946
113
654
836
218
362
948
932
37
652
676
320
125
12
517
152
710
371
811
261
547
773
357
920
386
437
694
82
342
454
250
91
98
433
75
297
317
93
633
145
919
593
267
76
132
413
487
24
339
686
205
371
790
231
405
979
179
942
508
320
949
816
844
770
927
666
264
882
560
476
894
783
600
432
419
906
540
900
107
921
494
5
983
102
502
8
170
328
435
384
451
609
751
349
504
293
403
612
138
125
54
290
56
906
629
238
333
804
910
549
864
307
539
597
460
373
322
809
174
605
156
276
673
181
289
454
176
797
815
430
551
142
531
688
644
271
315
839
827
759
157
561
44
736
872
838
327
714
297
660
910
635
472
534
537
705
903
507
527
401
504
941
480
505
235
905
232
122
774
926
836
446
752
775
886
450
273
129
458
774
402
246
306
838
306
220
734
597
556
8
718
434
844
174
462
377
63
217
534
223
219
428
155
169
170
447
985
230
518
80
970
73
299
486
442
892
298
528
663
596
909
971
439
903
475
175
273
886
944
148
737
143
506
115
439
52
590
263
944
492
229
935
535
8
349
373
515
644
969
27
46
574
649
574
183
221
781
54
868
762
486
929
103
796
929
473
447
484
847
615
277
638
986
246
936
110
878
55
57
272
145
145
805
609
58
52
776
179
624
288
565
212
861
207
799
227
261
812
544
810
632
119
565
654
679
803
882
543
685
164
398
693
621
913
182
299
846
844
153
168
325
274
475
51
938
998
996
643
50
629
441
272
939
386
859
957
117
808
62
868
809
406
382
229
83
952
112
330
220
987
392
657
895
128
191
81
678
904
206
704
162
229
201
206
770
41
329
495
886
306
455
39
540
388
337
512
278
713
842
295
213
765
985
911
519
738
722
724
765
559
872
58
578
583
477
478
82
997
174
97
449
855
893
662
682
705
283
651
428
966
807
758
256
598
372
971
282
69
675
897
500
350
212
126
432
444
15
181
987
972
769
69
510
462
871
502
63
270
406
640
905
540
752
575
5
195
717
870
155
710
695
149
932
364
307
141
310
712
400
576
205
262
72
42
616
750
601
231
303
899
770
19
145
311
100
461
418
944
934
115
226
677
140
32
252
604
443
428
792
48
51
283
761
760
277
77
14
391
326
442
822
143
281
786
820
439
578
804
76
560
973
403
178
467
28
738
427
441
704
948
247
739
471
727
938
226
716
4
759
781
880
896
105
373
906
559
256
866
89
735
762
981
337
602
27
358
211
975
89
325
806
79
875
811
740
826
475
811
13
30
70
967
494
32
215
109
139
986
102
43
829
447
284
509
872
966
96
958
814
100
670
745
197
653
2
393
269
936
17
822
489
579
934
824
859
716
554
608
714
404
248
931
668
759
551
214
786
616
250
15
921
495
794
433
390
243
626
332
787
45
818
747
812
400
965
480
433
256
876
691
572
757
995
230
763
933
897
571
932
263
381
458
507
201
913
822
560
699
207
58
599
210
688
525
902
905
512
995
4
645
551
833
78
747
475
878
435
748
660
359
337
175
131
708
622
794
194
760
378
934
713
697
75
254
196
63
85
777
10
286
496
75
77
491
487
255
318
780
291
807
2
809
978
409
880
225
829
518
656
459
108
958
916
436
399
707
117
11
496
815
591
307
30
687
842
688
657
996
569
807
596
115
987
995
810
279
979
310
885
662
559
711
946
169
931
137
571
1000
135
780
731
30
941
469
234
577
139
847
17
432
864
29
891
888
906
481
46
82
222
158
679
195
43
342
610
885
15
199
646
903
794
813
752
997
401
326
802
52
424
873
784
933
842
206
871
624
853
219
685
72
588
159
411
638
12
919
179
130
607
679
236
223
692
106
40
454
330
493
302
134
836
488
424
189
817
528
504
421
547
692
290
682
217
450
35
201
276
712
188
675
626
648
258
740
939
976
996
148
707
828
241
315
951
809
376
870
696
603
403
545
412
309
16
997
642
717
936
159
934
899
967
317
10
810
928
406
853
87
600
937
989
859
366
561
802
189
7
536
148
698
448
243
897
52
890
483
272
247
866
484
17
24
231
420
514
366
8
783
911
713
307
132
219
457
234
569
138
293
840
801
25
225
660
814
57
372
336
953
119
228
133
724
370
706
920
701
753
127
308
737
948
267
205
106
378
766
11
270
937
433
8
744
27
484
321
926
372
332
957
795
788
302
32
131
795
598
294
263
494
878
425
381
610
64
418
134
997
377
539
583
170
152
979
566
626
652
347
185
827
5
561
447
698
369
528
45
435
593
268
887
202
995
748
265
51
344
758
494
9
759
643
425
812
58
516
507
229
17
909
947
234
120
439
116
573
635
194
520
414
281
9
559
834
306
700
819
887
547
629
816
858
932
690
959
108
905
897
1000
602
475
307
390
809
952
895
756
166
914
394
205
722
662
771
265
882
205
237
50
391
825
179
684
853
393
399
103
79
924
378
92
537
264
89
832
999
476
26
289
246
184
719
477
357
99
990
24
666
22
595
477
948
820
707
478
778
299
903
285
293
411
909
93
770
954
428
294
552
757
744
80
825
383
668
815
708
527
622
171
882
629
286
328
754
681
312
477
747
884
53
445
871
558
100
500
152
687
738
321
845
594
60
659
642
465
587
436
195
914
737
898
390
310
347
981
762
335
799
207
307
147
984
294
755
534
440
146
65
669
552
48
463
421
611
698
896
700
851
169
156
965
357
38
263
873
835
659
891
7
830
40
799
768
920
815
216
820
758
620
96
902
640
519
17
449
437
230
221
227
298
590
988
83
548
98
78
17
576
368
466
992
331
40
964
292
236
20
618
792
940
924
949
180
381
252
224
62
11
126
926
854
916
400
529
575
759
553
462
941
160
92
926
675
142
66
797
555
765
955
435
554
899
386
621
328
388
57
230
461
517
819
471
110
775
52
698
111
417
375
884
214
189
235
770
799
920
116
655
356
360
954
506
18
784
818
815
685
379
104
189
565
376
273
197
548
214
637
387
432
764
820
700
884
777
312
759
991
297
930
612
388
705
144
556
244
452
932
614
850
296
242
82
148
27
214
315
297
274
7
592
308
949
469
448
847
291
895
366
527
277
834
69
416
368
201
950
15
181
997
395
670
683
563
797
244
956
596
129
861
382
161
803
745
369
507
389
458
353
803
476
354
895
844
605
699
120
351
714
674
634
751
2
475
301
220
453
783
970
330
521
175
287
872
645
446
259
266
303
397
84
541
334
363
115
9
90
670
486
632
793
209
79
565
164
572
7
498
974
494
730
256
685
902
245
564
761
515
534
8
534
783
604
1
750
907
988
14
35
862
559
392
563
581
852
849
162
983
871
126
917
48
528
365
104
988
451
449
953
417
881
958
282
536
778
394
546
572
53
27
202
84
58
47
597
311
73
717
750
432
550
850
543
452
314
276
783
465
727
899
567
186
97
596
146
996
212
451
254
198
991
797
462
851
641
87
675
312
612
899
323
587
910
246
146
695
973
956
733
497
454
84
134
884
678
191
922
782
499
862
72
149
526
3
897
56
458
327
50
970
308
898
336
550
898
788
625
647
859
696
697
688
756
843
254
307
669
585
642
911
720
966
61
833
584
855
158
900
966
417
955
479
428
404
974
591
665
169
314
198
568
335
137
630
938
821
736
944
742
230
872
156
189
697
592
475
688
938
76
66
989
591
372
427
389
955
70
143
936
862
51
660
968
732
464
706
167
847
986
184
548
477
254
669
448
776
53
135
620
314
510
151
23
677
39
620
722
848
272
40
634
944
508
410
477
488
516
144
409
561
644
776
303
109
300
838
518
152
795
978
319
871
461
338
797
350
719
176
286
297
467
3
751
160
764
783
593
925
293
312
612
298
470
537
625
127
436
402
393
694
330
798
34
919
424
321
88
637
706
849
736
851
444
383
469
240
131
221
670
306
938
279
142
214
485
307
635
790
296
821
788
135
787
784
731
40
998
489
772
670
593
618
237
48
819
150
536
467
228
668
948
307
968
608
466
671
356
160
286
895
268
883
138
264
609
544
744
189
738
347
140
694
281
516
434
330
198
127
885
496
308
214
829
746
755
415
87
861
35
861
964
319
283
574
840
367
503
375
677
37
265
194
454
320
245
716
661
205
601
488
504
418
832
991
409
551
258
664
731
689
646
572
322
801
865
186
756
921
639
780
560
575
621
51
761
31
44
863
413
654
126
491
563
81
294
318
253
986
3
726
776
903
624
816
373
982
419
689
957
536
104
246
252
961
876
836
944
935
84
655
57
796
874
467
784
656
297
100
426
126
317
175
942
474
101
677
832
687
780
339
720
147
599
254
92
617
985
792
43
772
632
679
804
797
112
63
61
452
879
469
768
578
810
841
226
225
545
264
705
463
5
545
776
457
391
561
805
579
891
163
805
167
80
493
916
33
696
730
335
988
85
681
426
459
100
114
79
710
646
417
132
365
415
984
806
627
511
710
653
97
887
122
498
138
452
958
181
498
737
461
716
307
796
263
630
612
802
493
850
347
457
664
476
995
891
961
189
224
207
809
841
480
217
947
970
845
173
822
623
469
523
779
851
542
800
406
722
87
757
392
465
794
778
432
663
781
419
30
1000
405
643
545
167
198
938
445
959
603
78
552
468
414
686
981
552
740
124
612
432
861
511
184
362
581
794
500
775
522
883
852
253
369
846
460
929
230
19
636
651
130
678
420
365
156
620
622
663
921
599
592
413
814
51
512
678
992
967
713
890
167
106
312
404
41
914
466
75
660
707
672
491
53
667
832
844
281
153
260
186
402
697
405
12
950
780
833
681
190
169
936
173
854
148
885
93
19
456
621
608
530
125
17
241
669
692
913
39
800
464
438
650
361
596
859
300
870
755
226
455
600
70
261
217
196
849
245
145
766
303
146
240
935
132
874
293
940
359
339
648
63
252
931
735
655
511
156
355
500
166
439
837
540
781
471
631
820
621
136
812
50
448
695
294
374
429
863
223
756
500
424
155
917
153
227
143
888
267
785
783
61
66
192
599
97
733
742
886
145
496
481
276
639
254
878
857
345
918
945
607
436
684
446
289
117
414
275
720
726
126
670
503
294
353
731
883
260
822
601
401
427
413
749
392
242
901
32
185
199
303
599
75
484
980
236
745
989
809
468
831
470
860
562
772
932
5
627
885
300
794
140
888
42
770
566
688
703
84
237
355
235
952
251
625
594
970
9
148
341
804
884
977
867
77
689
462
427
554
830
793
397
883
467
939
19
212
586
607
441
968
590
168
49
998
950
177
903
11
445
267
622
985
776
670
180
797
649
592
920
825
968
967
524
698
420
868
829
678
596
11
143
385
727
303
133
702
292
391
501
749
25
486
336
719
311
557
508
277
557
105
466
915
901
375
571
361
518
804
425
694
888
923
708
284
589
723
725
54
602
717
178
879
614
514
701
76
558
786
348
85
437
892
510
421
524
280
734
894
178
30
518
918
870
525
438
433
447
323
906
630
355
712
436
162
291
353
561
999
730
636
416
426
872
78
604
927
813
173
134
861
165
572
123
930
931
408
481
370
169
836
947
703
857
596
740
682
434
515
546
719
669
382
716
718
897
546
391
730
135
955
705
248
303
44
341
282
553
64
522
597
741
987
911
593
171
62
25
365
55
488
486
429
591
421
850
414
143
713
818
828
792
376
321
608
434
735
395
788
679
637
729
40
42
895
503
278
291
337
449
737
379
450
68
200
69
644
597
83
237
563
616
144
828
716
176
445
626
952
915
66
326
919
939
740
858
729
161
250
572
489
398
939
678
233
752
151
277
56
717
730
445
923
22
12
78
722
414
852
629
612
479
340
446
598
107
810
155
606
412
618
405
989
744
987
358
546
927
865
477
650
30
373
565
992
752
909
472
792
8
398
584
77
392
474
45
752
995
629
602
751
469
470
146
519
345
290
286
432
327
65
759
528
727
867
78
119
227
432
583
407
891
269
982
254
729
273
545
600
115
298
340
894
78
474
288
34
804
407
377
991
687
523
29
274
939
982
537
830
43
536
433
821
337
652
870
925
616
24
398
495
920
337
998
927
616
739
894
67
471
61
427
341
660
238
252
573
554
727
220
109
697
10
544
989
587
374
312
348
771
290
950
175
251
637
973
807
444
917
269
293
700
407
193
838
971
850
936
90
284
924
18
926
560
209
235
756
734
791
94
92
283
956
559
259
24
657
940
710
499
564
887
337
355
536
729
536
838
310
875
583
985
32
587
10
101
39
183
293
849
925
683
129
658
519
951
991
173
877
631
431
150
741
572
832
558
245
968
909
621
799
137
283
222
228
738
887
362
186
213
774
360
848
436
174
94
636
844
242
846
498
850
41
292
878
920
733
703
44
555
813
744
899
303
512
84
724
85
148
676
595
360
321
689
326
56
279
26
916
807
752
846
392
747
787
693
873
979
871
706
426
930
705
849
7
956
553
259
351
944
987
649
206
167
179
121
704
302
669
909
965
373
631
320
301
335
250
598
452
171
765
510
370
660
102
211
8
422
780
342
375
472
970
376
935
234
157
945
40
947
838
253
677
407
105
707
289
265
742
574
775
477
685
839
113
24
308
398
195
759
21
411
582
64
71
921
902
23
308
825
499
984
885
911
783
717
513
925
440
843
966
610
294
855
953
206
157
844
368
181
433
993
184
838
594
5
945
35
914
911
870
436
987
86
109
612
639
922
553
817
809
301
915
464
855
923
513
167
533
572
292
696
582
611
133
358
450
357
461
132
197
488
442
340
39
313
847
753
276
562
779
842
626
318
25
264
61
882
734
824
315
615
517
857
166
299
802
389
429
108
476
516
380
110
425
116
957
71
565
429
688
466
351
18
739
793
581
354
871
694
469
581
380
928
625
13
287
930
572
598
126
569
865
848
719
702
706
745
198
316
200
722
382
362
28
113
321
859
369
396
462
511
368
148
425
838
306
863
802
807
895
715
778
18
801
875
588
810
588
233
13
21
752
238
167
746
420
89
814
161
580
715
335
346
437
799
224
134
578
616
734
147
160
607
835
595
279
401
202
901
980
495
331
873
122
890
199
994
479
794
136
371
961
900
667
8
846
872
147
396
247
400
948
823
820
588
792
447
902
512
605
914
828
483
899
238
202
938
277
726
250
904
125
963
221
652
923
271
989
530
917
578
629
927
63
356
764
993
257
128
899
48
895
67
802
568
671
370
221
273
387
419
869
114
243
228
685
881
709
304
795
758
627
843
513
400
626
148
934
991
283
238
411
329
713
902
229
167
444
862
331
952
492
274
807
585
525
550
192
59
879
349
285
626
998
646
374
677
531
977
205
654
938
322
19
126
967
590
278
627
744
361
449
986
580
331
369
629
779
924
255
813
894
647
384
788
899
65
844
682
682
734
498
274
131
16
517
886
818
484
394
350
969
523
350
376
956
828
440
660
35
725
459
779
423
611
979
240
101
384
425
65
922
410
161
932
691
443
946
206
912
919
984
176
771
220
5
399
787
821
482
380
250
732
120
696
206
260
230
324
297
929
456
113
190
339
585
311
687
853
869
556
857
264
350
11
696
1
173
144
895
45
784
222
252
396
182
759
155
889
128
983
359
148
326
913
951
686
77
769
7
528
901
254
958
222
874
712
73
798
242
296
802
28
954
46
944
359
373
212
714
1000
306
264
857
947
943
760
858
187
986
654
182
917
486
686
200
387
455
207
149
883
318
177
22
459
671
79
752
231
611
203
463
476
97
76
814
268
449
821
673
134
68
869
460
40
927
783
473
40
190
886
481
80
571
28
608
797
679
107
329
603
652
879
976
10
845
195
725
927
186
45
437
620
116
692
132
129
662
745
61
203
308
222
567
217
818
545
942
139
34
916
499
321
1000
733
928
780
463
514
817
695
910
324
887
25
827
844
109
526
794
12
369
944
359
657
740
840
370
669
784
335
603
991
464
8
53
209
449
377
247
553
563
631
259
905
125
757
923
806
745
825
870
489
903
921
646
729
303
168
123
618
560
346
810
450
250
830
511
543
732
982
927
212
442
665
469
50
540
239
529
382
913
272
907
20
508
191
910
450
916
300
892
176
911
867
634
240
407
522
29
867
890
790
986
777
954
432
336
948
973
151
789
524
328
406
672
111
843
261
262
941
236
676
10
227
485
185
854
581
961
653
119
554
62
692
214
172
885
352
438
876
139
915
741
393
127
957
210
904
114
384
372
308
801
783
164
542
980
295
546
658
615
152
303
821
769
194
518
467
813
968
595
607
293
440
440
680
691
995
623
401
57
116
902
773
173
112
488
816
439
265
836
558
195
73
518
573
519
603
983
631
876
524
588
79
153
108
326
172
718
316
96
935
170
119
186
54
320
370
902
953
795
849
887
472
356
620
769
504
667
445
181
538
785
801
124
297
64
11
852
569
553
96
178
899
190
207
174
994
258
933
703
602
662
352
155
127
526
417
30
446
520
150
731
222
82
199
53
500
420
446
349
552
762
786
309
714
832
652
608
443
938
558
410
944
381
747
882
486
112
23
401
967
692
972
108
379
659
71
832
570
335
649
155
101
954
251
598
55
761
736
459
384
380
339
847
728
316
31
842
689
947
711
508
219
710
167
702
127
514
304
241
695
556
788
983
61
859
173
852
326
833
549
614
319
66
915
491
557
393
850
342
241
988
481
159
36
875
425
130
5
770
154
349
276
637
198
543
961
653
692
855
382
567
45
808
892
573
929
60
423
897
355
465
459
274
338
246
287
363
540
792
235
933
328
732
94
356
876
416
79
533
302
894
502
887
342
810
774
465
736
352
495
515
321
570
164
116
804
896
469
585
339
683
220
408
317
937
714
384
216
176
762
540
999
541
614
92
272
856
790
428
359
340
154
633
507
38
621
556
694
880
560
792
863
452
301
257
979
195
154
204
997
760
993
639
673
676
769
97
188
337
301
657
699
509
280
875
275
267
733
61
137
260
112
930
786
713
764
219
374
394
790
282
629
90
205
40
757
772
862
910
8
727
831
496
994
449
785
900
452
924
483
478
843
299
609
751
99
600
95
966
843
285
521
481
634
950
354
774
120
416
609
364
524
775
950
326
524
694
406
445
443
436
626
229
626
607
54
165
31
584
480
619
345
959
175
734
391
101
231
520
214
94
769
97
950
936
403
698
570
816
733
619
597
744
633
767
174
551
829
848
232
524
566
511
36
554
178
964
124
658
34
677
467
216
616
786
725
53
488
727
625
762
501
448
821
294
882
272
69
902
785
98
191
984
461
195
107
223
458
248
139
710
180
694
933
393
667
630
562
298
689
726
846
448
123
668
444
285
99
602
58
744
595
943
924
787
993
715
862
354
610
241
316
195
380
640
182
969
652
73
755
352
553
93
768
597
477
769
332
170
53
494
573
625
351
496
889
830
211
111
56
31
305
841
847
15
947
32
450
796
737
798
726
838
820
453
260
832
945
288
250
399
499
16
503
960
414
561
173
137
143
186
472
750
953
111
225
417
372
910
34
264
1
947
830
12
807
39
730
16
692
355
479
419
367
261
211
683
511
492
911
176
800
517
760
387
613
446
484
609
137
162
933
580
157
609
403
691
32
338
588
843
211
485
679
918
205
304
810
154
85
295
967
410
430
718
515
416
156
993
688
635
781
100
751
294
528
549
69
440
98
971
951
679
102
624
3
324
875
399
678
310
892
991
861
117
22
953
615
367
671
320
670
495
221
282
835
79
266
192
287
9
823
834
601
651
111
441
461
553
492
431
231
67
853
213
942
438
65
699
799
550
132
334
23
517
319
591
676
759
833
849
155
14
615
487
193
992
417
873
536
3
616
611
945
976
148
75
820
697
548
757
504
17
307
448
336
983
696
560
551
588
717
206
461
874
108
790
715
627
167
918
46
806
697
434
625
125
569
264
37
954
218
518
945
778
919
8
684
996
803
942
420
776
410
48
985
992
39
791
194
17
262
680
261
317
767
873
922
292
114
411
1000
817
84
471
450
266
56
951
371
605
237
544
73
272
632
247
53
194
377
863
655
248
393
664
264
871
379
833
111
351
840
685
151
499
171
971
42
56
834
731
915
176
306
293
522
785
801
987
333
413
706
93
327
373
328
317
569
772
803
848
105
920
961
657
401
134
528
246
273
828
306
489
288
15
853
568
650
69
762
252
894
619
851
919
106
3
448
822
979
546
468
34
730
270
192
405
800
330
477
665
306
582
627
464
408
240
316
772
104
449
753
552
501
10
760
17
255
146
532
147
709
431
652
287
240
474
355
867
467
978
125
247
249
109
461
671
875
900
48
158
442
599
638
907
173
441
635
442
371
302
794
332
743
133
427
736
95
813
221
454
769
320
113
427
736
700
643
815
962
352
889
904
526
571
373
79
979
111
309
10
587
796
170
38
452
815
850
439
974
429
613
899
743
249
624
65
763
116
92
460
852
880
974
438
173
70
734
52
94
501
879
941
29
379
852
339
456
349
406
338
52
226
752
369
776
874
638
710
768
804
972
452
133
569
809
13
45
989
287
764
98
550
583
743
532
60
76
767
741
812
699
455
515
27
858
819
530
328
435
115
966
360
99
580
529
423
584
534
795
182
616
88
531
98
931
352
587
202
158
603
21
232
398
344
334
974
996
598
120
827
350
998
932
248
609
505
896
742
743
631
467
492
794
65
689
567
87
521
560
860
778
424
352
584
424
794
285
183
176
309
542
981
781
52
432
764
863
920
459
742
796
985
136
34
105
384
684
894
495
452
141
374
519
897
999
42
398
773
219
648
701
909
344
353
440
213
510
251
611
974
299
425
395
903
808
719
22
112
737
719
761
689
56
209
651
820
547
471
327
632
580
393
770
73
562
268
861
167
815
567
403
941
97
707
643
145
561
34
427
681
738
818
785
256
27
45
169
421
267
176
553
558
182
874
317
794
887
873
152
120
191
801
249
135
119
782
667
996
947
69
87
111
40
787
136
39
976
118
77
896
731
899
942
266
222
636
120
244
98
446
1
801
503
235
532
83
457
751
432
594
629
799
375
500
517
976
685
429
484
813
927
207
674
65
327
958
557
214
144
876
740
958
933
735
726
564
169
944
518
490
810
502
285
607
245
750
862
676
486
210
501
502
601
124
110
283
198
519
219
286
138
786
42
878
812
748
275
360
17
174
764
774
897
537
746
66
459
549
141
553
902
693
303
636
352
520
695
88
649
966
190
77
491
316
105
238
598
732
588
789
544
447
700
648
582
843
397
968
54
605
592
331
988
105
699
85
85
915
343
940
567
149
419
12
323
909
321
937
348
660
959
575
730
828
115
50
362
216
821
598
70
127
680
725
122
229
490
731
898
270
90
473
74
706
95
620
837
218
52
306
476
845
623
216
235
185
569
683
409
682
693
266
524
551
397
632
880
288
176
306
865
29
206
988
224
255
167
689
917
464
558
914
256
457
86
452
806
863
132
135
890
317
927
86
630
530
815
559
170
86
916
487
73
416
560
204
939
851
112
663
978
37
171
628
576
280
711
979
942
598
379
255
532
327
71
999
276
160
884
310
611
394
733
230
908
976
238
255
206
681
960
303
63
358
725
923
942
731
548
414
802
694
621
771
442
371
952
60
749
463
489
923
162
587
977
367
593
371
402
932
518
20
561
585
192
983
231
443
737
116
419
515
365
434
399
164
172
137
574
956
702
115
749
848
3
534
27
446
969
424
407
187
564
425
106
856
961
958
802
808
720
151
252
639
848
752
224
792
36
165
259
794
384
436
567
391
664
735
252
819
539
412
164
875
176
189
900
236
390
429
834
676
786
715
660
468
357
154
562
257
680
927
48
121
112
612
438
389
405
706
219
983
746
609
758
753
519
42
379
273
23
495
431
50
968
871
779
966
808
881
80
32
898
146
340
210
994
181
492
150
847
619
153
174
514
82
306
728
531
96
382
845
275
317
78
840
694
125
346
599
81
337
126
332
699
376
795
582
901
765
804
639
849
192
639
206
34
735
77
350
621
53
672
311
30
473
573
671
290
938
38
801
436
748
479
232
624
826
473
788
695
51
939
907
642
821
587
560
798
600
852
566
607
648
708
920
494
563
203
943
734
491
48
688
168
90
327
46
314
434
233
436
698
19
758
781
206
974
436
730
887
384
541
710
907
352
660
459
289
71
166
142
666
694
924
26
527
250
517
944
330
193
377
469
419
428
471
793
900
822
611
807
505
262
46
756
987
324
686
160
802
465
255
396
635
455
649
443
870
451
37
824
214
726
548
694
525
547
932
371
344
133
236
325
768
921
376
808
50
609
449
850
787
557
778
288
612
185
973
900
80
917
757
437
813
112
872
561
66
133
198
269
546
406
85
349
738
854
11
856
977
587
888
358
210
108
739
915
739
568
1
404
220
796
419
757
844
959
356
191
950
665
329
253
283
260
799
817
711
902
516
765
522
677
238
164
349
686
265
197
336
567
19
972
450
323
878
605
707
734
531
651
665
825
435
36
734
71
334
133
749
53
405
528
755
284
303
308
145
771
278
435
157
692
583
851
185
245
586
518
562
331
352
488
250
231
983
461
352
859
676
3
472
479
256
758
749
1
972
538
796
112
427
123
893
511
849
981
506
487
337
873
636
902
338
502
526
415
349
937
4
430
797
528
90
836
75
439
530
58
995
714
609
333
264
7
927
410
156
711
824
71
253
260
799
931
972
780
562
57
616
125
343
756
862
547
689
805
909
921
263
23
999
465
97
789
667
393
341
611
861
767
787
284
24
103
374
558
344
968
401
465
627
867
441
621
690
226
771
886
714
170
699
750
760
90
329
677
520
710
167
430
419
463
445
100
398
530
210
153
48
804
37
310
290
378
669
503
457
897
37
443
464
259
864
585
726
710
528
385
641
316
898
790
719
173
657
847
917
499
997
145
325
894
635
602
124
676
828
713
660
151
421
996
519
122
4
807
782
674
919
102
954
558
235
989
666
42
757
125
913
167
833
95
461
742
4
924
67
265
523
785
318
181
383
769
239
546
774
339
276
208
828
678
920
84
99
705
11
955
462
977
739
515
44
20
434
27
325
916
523
76
802
109
438
367
437
478
846
421
684
689
287
326
32
723
212
400
882
264
440
750
34
306
265
216
246
971
804
130
120
2
665
644
28
826
716
122
945
381
540
237
790
154
146
975
355
972
644
683
952
153
901
686
689
546
613
761
670
855
863
917
478
374
989
550
14
957
500
979
145
567
865
827
636
271
203
442
519
882
342
835
409
777
193
159
262
580
150
828
722
513
30
762
528
222
112
97
398
797
995
937
445
504
318
371
446
517
856
10
241
497
177
797
91
479
791
664
116
908
722
908
805
44
494
829
164
219
827
253
280
550
722
46
953
830
218
637
569
257
813
856
584
550
440
110
826
798
939
17
303
66
149
171
384
381
114
598
14
247
403
832
94
219
226
251
268
398
820
480
166
946
616
208
552
819
767
717
939
983
974
816
975
297
961
595
305
113
559
645
672
383
138
926
743
740
33
481
512
570
676
591
160
579
413
746
942
736
316
32
5
755
914
158
47
469
386
333
363
565
708
670
163
128
160
593
977
374
861
993
618
761
253
493
420
391
974
258
439
243
198
242
857
322
289
605
104
243
594
337
115
121
293
773
671
889
476
793
24
339
75
961
866
232
793
784
211
806
967
541
971
895
146
872
837
638
226
402
568
492
182
230
955
797
796
986
512
711
281
566
468
705
396
314
671
136
432
642
881
642
474
557
299
220
448
590
304
920
780
939
105
972
914
427
421
70
593
50
360
257
502
473
381
525
859
833
615
811
562
565
806
553
764
830
873
327
124
270
388
407
518
469
286
237
712
511
775
950
351
441
714
43
604
280
702
227
20
484
736
322
444
371
582
736
314
109
928
757
348
301
994
374
351
73
499
812
894
848
807
309
673
651
629
914
640
888
866
251
418
18
65
258
74
447
465
880
77
264
829
594
128
144
58
396
620
876
113
611
663
465
915
451
993
717
685
780
556
522
686
934
276
802
408
773
298
241
69
363
4
440
678
818
233
147
50
859
423
516
884
604
847
172
411
941
721
996
213
595
738
163
479
650
467
920
388
883
173
13
303
707
813
463
153
916
368
596
733
722
207
854
619
737
887
929
99
682
641
196
768
591
817
235
452
199
715
503
725
9
586
832
564
272
14
493
615
733
601
34
162
533
590
942
88
102
80
474
83
232
554
653
850
756
718
536
325
442
58
330
778
768
112
821
182
213
175
925
451
583
44
814
944
688
454
243
184
356
61
191
841
390
174
860
883
567
968
429
217
188
553
661
325
21
135
657
113
676
442
545
675
604
771
912
741
947
273
91
331
387
551
233
539
12
275
246
433
972
238
267
771
337
235
334
605
166
207
314
874
248
314
931
775
362
5
984
24
194
695
408
153
236
339
896
600
93
84
202
687
622
154
86
537
260
326
100
600
678
667
63
747
659
659
107
815
711
536
679
78
449
379
675
375
265
527
239
519
85
929
362
173
351
342
536
602
446
692
219
574
910
499
719
211
734
989
449
781
897
404
193
260
137
75
139
995
576
14
957
934
482
134
129
732
907
736
66
465
378
550
296
856
131
453
137
640
586
974
833
178
917
821
86
499
590
957
288
685
678
238
503
942
634
161
456
747
935
123
358
176
684
427
377
880
823
404
961
243
75
221
43
884
123
351
336
55
822
210
561
458
412
166
458
662
832
12
870
615
208
951
14
706
512
371
286
467
222
970
617
259
502
286
422
243
79
338
649
521
530
855
312
580
111
532
156
62
627
868
757
465
108
374
486
583
178
403
215
365
117
373
565
396
562
950
777
416
667
576
21
80
367
840
35
726
27
327
557
15
408
990
884
139
359
563
265
771
46
228
571
30
889
556
792
527
544
738
531
981
447
245
546
8
447
371
819
396
994
537
364
627
225
860
178
413
4
248
314
798
671
196
58
671
806
547
563
628
779
690
126
780
257
79
478
430
110
491
72
574
352
133
400
794
868
580
760
470
644
525
752
139
185
505
26
524
571
70
413
974
345
379
677
17
76
799
534
327
937
917
481
638
113
310
227
31
187
514
216
622
911
910
789
840
933
661
56
401
108
414
399
581
10
187
875
607
126
787
463
786
11
122
233
523
379
978
21
528
671
188
130
289
205
632
910
407
362
188
805
465
616
544
596
897
441
818
141
779
230
14
846
508
430
669
475
134
13
499
689
475
273
430
861
216
676
197
312
927
159
581
93
272
853
465
840
744
645
75
30
915
419
215
165
563
66
791
37
2
558
676
249
626
484
771
572
951
449
177
585
452
641
521
246
59
688
840
731
514
676
878
882
660
788
317
103
394
586
227
390
199
405
994
443
118
658
88
507
570
115
273
648
630
385
327
688
275
889
849
876
605
584
532
725
260
602
117
112
72
705
304
869
497
212
111
618
538
587
496
518
643
453
609
936
582
126
666
779
367
170
307
387
120
612
253
433
170
652
204
217
801
708
269
132
782
573
590
838
239
330
502
849
468
417
286
831
34
887
511
907
823
487
30
630
806
648
934
125
897
863
144
78
675
205
875
883
713
938
898
268
908
282
393
157
536
368
187
347
696
369
351
829
452
575
441
218
247
927
167
818
97
151
898
299
677
147
210
831
631
781
637
785
387
503
882
797
259
551
23
69
891
590
646
264
919
750
444
263
304
980
514
333
932
524
503
988
940
90
782
912
725
17
38
857
733
294
10
345
944
831
639
330
438
771
536
729
538
947
533
869
814
833
28
449
658
447
1000
566
250
706
854
748
441
676
699
662
543
18
284
379
12
671
565
652
778
474
800
632
302
17
157
882
523
457
20
300
483
443
608
826
799
544
22
370
141
816
573
461
516
181
76
508
479
367
816
428
355
992
63
617
170
270
333
884
288
471
84
37
659
947
152
244
192
48
53
179
16
697
210
222
273
753
269
648
673
524
947
858
250
981
253
147
608
269
515
443
513
89
366
725
833
420
740
537
702
812
966
164
250
197
243
487
423
742
150
552
210
794
350
129
53
356
313
350
367
875
702
609
842
324
81
498
648
700
689
477
773
101
365
364
425
482
130
499
884
26
558
587
219
853
812
858
1000
420
153
111
527
539
807
661
103
433
291
965
588
608
703
942
777
608
21
592
186
924
143
572
444
419
280
765
814
635
309
766
350
258
863
407
777
846
268
103
502
622
917
860
76
810
298
233
16
468
707
392
154
271
603
713
583
4
692
17
819
810
66
624
15
373
170
905
956
311
917
913
62
993
16
944
829
915
479
633
980
522
279
259
80
66
377
495
541
704
660
727
739
518
852
426
438
572
144
796
835
422
87
39
315
746
299
165
449
840
669
211
852
827
11
106
266
314
610
178
631
108
682
503
986
353
537
833
728
104
159
891
158
934
983
146
250
629
901
53
276
410
884
888
260
424
177
975
217
406
718
82
811
548
285
213
353
587
890
854
35
50
95
958
922
412
292
614
497
638
402
380
486
220
159
743
282
344
883
10
557
280
626
207
499
421
671
257
735
660
631
777
180
960
807
317
918
25
51
783
778
965
98
59
437
734
226
574
706
874
153
667
191
847
260
109
640
766
610
102
106
905
736
361
541
738
820
678
515
591
756
454
593
203
520
300
273
649
442
706
527
72
259
179
712
657
281
18
25
89
588
51
740
532
984
265
173
784
297
229
697
872
733
630
165
792
208
13
768
498
961
53
709
525
304
279
65
817
78
213
857
441
202
282
685
861
765
733
197
377
242
985
348
114
745
520
631
719
727
459
425
506
167
424
187
365
58
158
458
164
8
641
571
735
803
117
488
800
125
531
425
316
960
370
791
846
862
780
488
474
941
155
828
699
346
88
119
531
38
686
522
677
882
794
896
333
397
556
167
578
72
130
241
807
764
64
568
920
572
14
281
241
531
29
236
255
615
577
397
279
842
875
725
154
706
825
178
859
785
54
437
728
126
141
731
600
933
91
485
805
149
521
547
358
768
819
436
118
100
751
396
950
733
596
28
125
672
925
945
285
961
549
180
317
123
999
62
379
922
159
889
135
260
288
8
9
530
731
838
848
357
104
983
979
470
543
800
23
395
942
723
247
757
739
171
427
263
898
113
394
815
256
211
498
838
242
13
178
578
340
826
732
57
327
770
157
393
453
980
603
400
256
108
628
740
613
54
886
415
977
356
357
40
482
749
484
191
744
231
850
70
743
357
137
906
114
620
146
755
568
485
612
868
896
76
376
355
227
559
252
668
750
982
571
322
148
704
974
366
339
591
459
337
962
806
117
825
223
399
242
304
351
871
706
618
919
558
587
322
735
983
41
132
798
285
326
892
114
468
692
766
749
478
590
900
600
69
273
375
788
985
384
120
454
247
619
353
27
253
823
280
663
908
214
990
695
291
529
945
377
157
988
13
123
172
929
741
742
910
854
437
872
520
422
691
933
437
583
142
439
695
690
686
442
177
900
801
200
634
598
350
917
401
894
62
533
542
459
826
108
558
119
135
286
915
626
254
712
385
999
166
17
575
666
958
183
120
386
47
686
691
596
605
783
378
406
564
722
990
918
873
456
558
939
15
640
609
447
372
302
823
349
703
634
303
171
868
707
21
342
944
829
961
619
47
437
99
39
484
100
639
492
373
241
868
654
470
656
566
537
770
764
177
374
368
799
826
896
192
824
849
306
485
539
691
435
310
344
947
612
963
991
781
770
861
509
209
184
418
730
537
3
417
926
731
487
605
527
701
378
606
858
227
416
744
148
761
372
32
812
460
297
429
133
562
942
436
57
664
378
231
737
562
926
859
849
38
441
421
462
405
821
826
428
657
388
431
841
809
453
811
83
371
913
967
419
934
249
532
835
523
627
906
94
724
120
803
543
581
254
381
249
908
177
7
479
995
750
691
342
616
787
421
676
889
466
931
900
838
683
938
597
386
718
497
68
158
147
948
930
681
373
844
155
485
469
390
552
172
323
155
850
731
204
259
974
241
948
808
29
653
940
70
809
509
938
790
334
300
579
70
66
665
93
452
944
790
364
196
321
169
953
244
223
355
146
61
68
452
377
329
161
885
616
488
796
405
436
228
790
396
509
354
601
269
229
871
996
167
1
768
367
241
490
720
410
469
800
858
846
387
93
842
294
109
661
671
151
689
824
91
609
255
317
977
495
305
32
779
680
223
64
974
207
389
23
486
138
211
489
182
336
34
300
916
73
166
76
34
386
180
35
921
557
256
679
942
990
571
360
104
977
640
110
845
573
87
358
641
848
512
311
526
293
38
864
212
34
599
866
201
833
248
434
198
545
599
834
160
818
9
95
519
351
247
142
477
938
251
753
779
876
972
21
53
44
494
353
596
99
350
238
522
802
413
166
268
441
816
92
783
672
120
813
174
872
334
434
169
298
467
896
543
890
989
176
549
577
974
331
500
327
700
53
849
981
194
769
519
134
519
600
786
918
624
705
688
586
222
607
827
197
462
139
424
572
143
517
639
880
821
904
542
909
462
524
551
91
207
29
810
836
409
354
804
566
370
741
390
139
77
956
604
8
828
977
815
557
820
608
236
536
681
514
385
415
426
169
787
789
515
85
144
649
532
460
211
482
497
94
808
651
983
20
796
460
997
783
311
614
99
727
258
559
292
981
854
292
46
9
27
819
223
788
598
367
778
649
454
851
849
805
405
833
252
415
988
414
462
785
264
80
874
1000
578
488
516
798
298
610
386
18
822
418
331
302
496
543
644
38
635
902
630
706
571
362
998
900
452
897
253
301
582
549
242
788
237
730
627
675
208
59
314
825
825
971
831
969
841
794
231
146
349
864
320
584
863
504
952
709
788
374
660
220
779
801
126
329
901
143
851
335
79
198
939
664
59
908
55
407
988
360
505
150
760
188
833
605
491
984
526
126
824
283
208
731
281
991
159
623
567
885
146
552
522
950
308
571
441
864
274
871
571
919
799
405
938
11
931
978
61
110
137
305
758
805
877
308
977
81
812
569
524
501
241
451
633
350
347
840
549
79
546
861
682
639
567
203
442
870
883
879
561
144
769
352
556
901
577
937
17
525
774
353
560
264
923
50
605
541
54
718
647
51
817
973
295
494
392
784
153
671
377
617
602
922
792
642
594
584
876
601
869
206
585
87
418
765
571
53
589
23
938
355
952
441
267
9
943
820
237
605
354
903
681
52
909
731
31
403
560
450
967
13
614
615
510
698
506
758
945
894
815
148
718
11
153
225
908
335
649
125
954
844
68
104
54
265
55
426
80
536
590
457
895
591
507
294
674
61
856
244
218
33
951
869
257
498
188
99
438
482
96
151
36
171
637
578
407
481
457
807
873
691
675
950
31
696
770
510
439
390
328
819
267
498
718
736
763
883
257
129
334
9
60
180
623
754
555
358
215
229
607
235
500
592
295
945
796
108
649
200
37
875
74
260
205
679
757
142
224
443
98
659
200
605
82
595
755
528
556
424
676
771
572
510
271
613
324
650
631
765
714
148
444
572
240
367
169
372
740
823
105
856
504
460
372
445
398
692
880
702
941
170
125
762
722
990
42
604
169
249
225
734
410
423
518
535
928
55
356
74
736
603
288
659
96
135
761
801
114
735
608
524
162
116
693
177
728
964
771
963
168
930
987
452
861
64
371
209
401
692
310
527
826
389
268
946
343
774
953
893
633
269
714
295
660
879
221
472
795
272
346
965
238
160
769
202
919
13
5
66
544
694
456
510
965
425
590
316
830
854
559
1
333
680
394
630
941
382
415
9
158
181
644
335
765
215
839
847
468
299
188
493
572
363
888
884
98
779
545
75
782
396
813
816
492
1000
772
971
915
328
264
725
813
503
856
73
753
959
107
809
976
475
585
928
983
977
404
888
522
101
110
687
833
364
418
50
466
972
649
350
474
907
698
45
513
970
46
530
221
872
597
303
292
301
139
249
774
134
793
680
504
611
145
472
45
323
650
290
115
358
516
401
331
771
499
56
4
854
976
734
845
328
172
817
707
677
700
413
891
341
371
130
144
352
830
559
182
339
702
108
480
495
802
624
95
242
463
926
515
842
169
964
854
124
506
844
245
833
903
341
942
852
765
869
484
682
361
82
228
133
284
413
710
109
383
897
611
781
809
571
499
153
228
575
179
256
306
863
222
757
302
57
154
765
954
578
883
28
889
636
156
484
471
62
239
374
334
239
542
706
844
574
618
917
402
72
844
952
792
570
48
883
747
78
581
358
549
536
619
875
715
971
953
886
805
712
213
218
937
821
196
154
871
355
987
789
406
441
614
944
413
362
272
26
14
47
562
682
335
408
763
20
735
947
888
446
640
931
163
888
933
230
617
299
350
590
660
829
486
715
891
2
826
64
892
564
685
624
427
400
52
297
289
64
124
731
31
39
740
548
939
754
28
984
915
817
313
878
371
619
736
809
857
710
118
916
901
877
280
622
458
879
436
31
437
162
287
251
25
713
131
268
879
374
649
289
845
602
19
664
521
636
668
587
872
493
278
798
92
27
633
396
95
532
500
710
331
20
47
892
108
342
199
522
242
799
947
59
646
732
871
402
421
875
26
192
119
898
924
719
107
693
525
482
397
408
75
501
841
140
89
447
382
528
36
575
881
133
53
172
122
685
573
981
779
720
859
619
497
120
272
539
742
360
564
481
744
29
592
678
695
320
651
320
331
754
40
882
171
349
582
986
972
805
544
387
437
68
830
542
772
782
365
962
495
748
313
198
801
488
123
921
849
397
466
973
598
789
765
698
185
337
390
102
378
16
577
626
366
699
791
389
966
962
543
756
373
500
669
32
725
784
660
855
97
248
957
630
999
341
18
930
123
225
575
375
834
790
751
894
899
898
596
663
6
474
168
242
936
117
497
611
619
416
659
849
935
37
678
220
797
960
208
244
986
933
737
178
232
362
593
992
225
329
172
524
621
391
595
24
607
138
506
681
245
221
820
56
679
709
6
588
220
189
946
425
505
980
477
916
192
197
487
997
126
157
831
609
485
830
400
968
219
581
382
243
978
469
127
707
825
738
82
933
236
972
891
980
314
552
159
783
647
702
338
183
966
415
843
110
611
973
853
435
817
623
163
943
18
199
133
658
665
127
8
520
568
304
850
995
383
801
908
782
677
197
479
186
933
635
250
97
1000
354
636
763
712
535
876
704
843
813
495
182
151
650
283
620
968
135
128
242
690
414
868
983
587
127
838
425
523
713
933
95
537
378
823
998
780
870
410
622
922
916
760
11
13
356
501
717
738
524
124
536
146
416
707
39
248
529
343
771
285
31
934
909
132
107
103
876
16
892
650
95
670
407
404
636
115
308
292
955
496
40
182
341
780
234
373
943
672
749
587
467
806
836
17
699
118
285
249
51
335
266
857
218
658
819
116
843
78
586
510
840
204
421
688
625
157
4
95
49
852
405
738
295
954
853
491
303
900
614
846
583
622
989
294
415
67
912
333
512
137
532
681
190
430
469
419
969
58
131
641
326
837
608
701
994
364
164
272
816
843
287
264
664
37
576
110
332
403
510
28
662
261
248
695
331
874
210
143
921
408
98
824
877
74
419
527
932
179
327
205
413
424
764
881
599
565
496
469
970
447
595
748
740
515
341
745
555
140
295
464
605
453
528
253
700
985
576
76
24
37
749
629
424
625
801
554
44
817
852
927
75
468
647
894
169
673
922
519
812
748
654
927
576
183
491
342
699
800
450
927
900
314
305
197
660
578
725
347
479
83
320
67
776
682
236
263
141
84
851
648
668
416
397
359
924
13
65
559
949
645
267
542
324
611
217
938
988
462
970
505
946
634
332
375
471
954
859
832
660
784
239
394
498
572
970
473
636
708
145
940
206
868
570
671
864
493
169
581
156
647
845
671
27
273
511
370
966
765
34
794
837
864
188
590
941
126
557
716
198
559
502
835
674
629
938
22
809
479
682
116
869
91
571
367
76
136
355
985
863
409
642
844
434
82
793
841
598
493
735
365
453
810
95
916
12
727
949
161
342
281
737
618
112
984
557
714
702
745
172
197
198
461
514
715
655
727
389
956
984
863
375
878
707
336
626
436
601
687
399
685
952
293
645
307
728
644
924
407
497
310
262
908
325
481
275
967
196
733
45
649
726
721
795
492
86
571
354
727
57
91
765
625
112
331
170
873
242
663
289
938
22
281
358
71
59
969
433
18
532
44
312
475
14
614
167
71
142
680
154
959
990
163
920
108
189
623
903
38
934
304
791
67
35
146
303
75
60
578
720
434
468
230
225
26
303
178
167
205
710
989
824
145
19
598
104
272
620
43
881
374
171
141
370
551
974
488
991
369
473
570
685
463
926
347
542
374
260
405
879
561
14
663
647
394
36
651
133
423
325
610
459
373
971
962
292
115
688
285
545
347
814
523
531
823
993
55
246
760
967
162
948
477
23
629
198
416
716
465
872
450
382
217
434
763
841
909
933
675
418
459
758
477
106
291
209
739
216
982
293
540
369
965
986
813
58
756
407
280
280
655
943
483
942
627
419
75
841
875
802
810
30
681
774
678
274
211
758
223
141
335
605
373
975
996
222
53
649
281
866
414
511
143
698
804
396
709
460
459
916
150
824
491
494
424
24
952
774
559
894
618
113
767
320
669
811
378
406
645
641
484
390
864
12
240
430
11
802
930
910
754
471
317
863
49
617
258
408
265
484
262
855
379
315
493
289
276
615
689
963
610
549
618
826
798
723
976
842
427
543
91
554
806
192
396
507
403
26
410
734
674
845
853
487
113
64
648
821
426
290
739
397
384
166
82
111
258
680
690
759
762
256
318
976
31
124
241
90
531
395
560
397
709
243
681
587
860
357
910
685
927
605
589
944
916
421
851
584
168
29
854
99
21
995
303
186
237
996
185
972
193
932
896
320
2
650
367
496
633
661
355
348
603
144
816
473
21
482
150
545
590
292
166
83
673
651
790
490
689
797
933
72
908
105
413
133
168
514
513
935
205
958
579
482
989
506
42
643
978
114
384
64
223
874
873
708
51
622
314
609
427
600
712
639
173
627
468
610
934
890
661
100
140
41
58
705
271
756
697
303
373
286
311
42
165
829
361
453
25
732
195
58
833
637
665
286
943
688
579
355
517
833
499
1
86
57
762
581
481
124
47
148
206
26
472
516
914
873
986
256
902
399
772
761
448
624
494
264
347
433
479
731
258
35
321
52
304
300
22
865
938
958
456
620
233
531
866
226
621
644
157
720
596
54
896
927
41
337
359
997
668
695
414
53
499
712
732
916
460
255
644
1000
940
919
913
63
568
518
877
417
602
220
666
586
34
810
666
172
926
439
19
850
563
979
699
15
713
739
612
589
660
894
269
866
707
437
800
126
529
834
451
904
83
874
278
445
818
382
421
890
527
552
234
167
538
690
519
380
885
44
315
747
731
217
992
776
574
408
913
417
740
312
524
380
215
94
556
703
140
255
979
874
199
581
405
545
671
615
979
909
143
239
135
333
765
48
225
724
431
144
733
403
479
878
694
975
320
841
951
801
935
102
123
192
293
296
470
363
586
657
405
552
632
514
12
401
898
78
809
880
418
575
944
567
272
907
155
63
403
65
130
678
301
457
345
303
472
150
55
558
679
812
900
877
653
768
487
203
352
160
384
338
867
697
208
811
749
825
868
329
902
464
561
485
155
627
832
436
284
357
860
658
585
406
141
758
33
2
913
533
718
851
994
114
493
274
180
107
736
975
990
70
696
501
345
556
144
868
706
207
973
218
315
56
909
571
434
309
765
954
912
316
491
208
961
393
837
787
783
402
608
715
551
760
356
661
302
619
810
799
515
492
550
696
467
541
197
981
15
66
880
989
82
451
860
832
992
24
958
637
728
771
886
777
380
860
656
971
301
264
997
75
969
551
109
239
131
76
155
830
599
425
578
233
959
899
739
158
549
271
378
590
282
821
86
876
281
871
322
756
843
659
512
302
931
398
396
857
281
825
133
64
187
326
614
965
219
25
60
7
457
804
271
481
289
343
816
562
463
654
40
656
895
514
42
207
657
426
623
450
701
431
837
866
114
186
919
250
140
189
301
369
775
953
907
164
443
216
126
329
212
978
710
886
974
300
307
59
286
274
541
376
875
548
311
383
350
83
487
833
311
587
279
458
904
200
342
712
808
560
109
974
822
340
950
751
478
711
478
338
574
954
751
282
136
614
156
709
56
193
500
270
585
342
183
998
955
929
366
864
584
141
746
198
770
17
854
408
270
384
834
650
890
220
276
178
61
883
8
117
381
474
714
320
294
845
859
770
364
420
690
732
134
21
4
465
141
380
992
876
511
859
673
900
452
192
375
761
113
703
255
539
518
599
80
579
698
343
351
407
754
101
389
743
250
465
189
109
309
451
671
304
744
803
478
707
816
226
616
993
545
44
19
302
1
142
632
375
704
785
680
436
47
38
599
847
675
91
542
691
859
714
433
477
223
468
321
80
615
40
184
921
534
274
372
101
262
13
614
895
813
906
886
572
836
690
453
960
875
277
87
604
768
176
816
586
502
410
530
329
551
81
460
758
586
191
814
239
429
140
856
584
337
576
312
262
991
900
276
670
57
809
730
928
829
671
354
235
263
457
597
236
631
150
827
203
177
299
995
103
378
407
412
772
851
383
139
483
528
146
31
185
439
790
609
541
329
427
838
707
402
920
340
480
657
274
746
22
651
337
691
899
39
836
432
570
904
480
177
779
722
33
6
532
774
791
691
470
973
870
812
473
360
65
315
297
968
827
69
867
361
58
23
630
940
22
297
5
976
671
892
559
471
47
757
9
118
253
623
504
67
685
337
960
709
822
475
404
424
904
606
356
71
254
935
330
17
818
997
404
686
755
701
641
909
547
306
884
851
142
826
42
938
128
990
560
980
755
85
168
652
939
948
395
594
41
916
545
659
272
760
39
251
117
506
45
275
13
575
345
948
852
849
208
615
582
120
892
751
277
876
25
529
583
526
755
696
380
974
62
16
806
934
7
193
566
475
38
21
544
86
702
497
357
965
202
753
370
356
319
978
118
466
144
924
821
934
897
233
859
857
896
544
656
115
373
296
426
86
426
181
606
897
837
474
617
18
907
813
809
356
705
577
35
12
354
689
347
496
47
553
723
533
514
813
552
528
558
816
882
405
100
982
25
800
901
760
229
526
748
486
528
820
433
257
784
126
308
894
184
81
521
140
147
905
324
555
658
656
970
940
565
630
827
712
240
761
267
413
332
26
795
369
20
735
663
608
332
36
900
320
558
172
300
504
770
793
400
967
749
122
901
489
394
872
300
829
795
609
732
187
757
674
125
896
455
890
849
426
324
996
940
197
18
184
856
337
469
151
469
261
655
815
657
881
669
193
425
332
87
985
961
305
435
92
421
511
739
622
500
301
800
946
69
193
811
30
225
898
392
546
137
469
938
275
951
339
411
889
868
368
367
529
194
477
48
470
833
95
825
827
190
450
159
426
927
652
500
939
337
665
230
877
375
493
828
316
537
344
951
34
849
102
982
325
192
172
931
912
84
647
268
212
825
799
375
735
576
88
842
522
585
229
751
352
247
406
411
914
100
348
773
255
188
828
873
593
438
138
229
35
828
203
42
802
154
316
464
343
164
917
902
93
655
437
575
709
895
6
61
332
392
730
604
779
593
335
327
631
590
173
294
817
251
19
592
691
529
592
199
552
848
453
433
233
599
793
204
693
769
614
122
498
621
5
755
712
211
520
967
7
176
145
347
699
934
998
148
52
924
678
76
405
962
143
493
608
162
97
300
777
104
130
850
640
90
281
710
577
417
253
4
2
548
262
374
930
955
362
284
388
191
167
531
854
433
59
318
37
353
345
212
133
659
332
590
164
80
965
971
102
860
492
732
303
82
594
282
165
247
582
726
37
576
524
401
160
455
635
448
809
275
873
757
865
694
428
214
781
992
727
145
252
755
644
275
944
626
842
302
319
204
556
413
931
483
671
648
567
403
656
91
252
198
753
245
471
203
861
805
892
735
703
286
521
432
184
585
499
204
359
646
659
539
31
807
596
482
823
317
200
7
502
755
547
884
437
761
575
393
355
593
213
359
953
485
464
123
516
689
524
960
421
402
157
388
285
450
409
578
564
757
238
764
630
110
798
165
655
688
898
417
221
137
657
948
172
714
481
11
88
186
251
365
749
695
88
668
50
777
102
717
188
83
318
615
319
118
350
761
558
493
479
359
909
760
466
754
645
913
860
522
756
993
528
664
273
88
876
683
693
173
519
555
275
895
196
857
657
403
354
365
116
748
154
458
805
238
587
588
458
332
57
868
400
343
14
576
162
233
198
981
636
284
620
466
529
244
663
319
781
869
585
960
762
412
274
596
290
727
304
454
952
125
236
845
786
32
618
243
87
779
325
460
41
575
732
807
858
843
701
771
364
578
511
400
285
359
684
26
35
953
117
439
437
184
52
873
679
917
195
434
746
519
727
724
728
142
61
430
709
538
899
605
358
867
609
229
983
156
942
355
558
646
874
852
143
236
690
288
214
660
485
991
630
799
922
690
360
769
442
444
650
23
109
744
979
724
931
764
49
91
794
774
21
223
147
607
433
183
149
894
503
730
310
534
49
170
567
444
865
240
343
231
203
803
361
816
953
409
926
413
224
450
902
542
286
723
867
865
258
688
779
749
500
644
10
405
398
289
816
348
112
896
124
705
926
413
21
570
995
323
502
254
689
51
809
713
214
992
199
922
869
23
67
212
122
469
141
874
680
73
913
398
843
446
540
823
750
880
207
550
558
135
347
860
211
14
170
123
218
118
675
341
770
153
674
238
604
569
414
585
276
106
41
825
843
28
494
355
557
446
444
8
816
151
495
373
539
796
224
617
65
114
571
348
929
82
719
920
120
597
891
260
964
287
423
958
372
514
45
891
14
524
579
76
909
935
143
831
50
466
515
532
927
855
542
463
236
441
317
285
644
748
422
646
191
736
669
328
840
76
660
103
661
922
943
186
425
186
719
740
642
234
868
430
681
260
495
390
211
330
366
333
66
252
341
715
596
949
375
20
731
990
722
262
238
305
757
734
145
854
201
903
883
231
612
77
465
727
725
157
960
407
580
340
554
125
411
118
773
198
972
289
785
699
282
997
268
911
801
6
30
517
680
491
403
533
53
674
478
819
292
498
385
233
777
393
173
161
8
882
301
184
823
406
422
119
65
310
897
518
317
341
460
999
182
374
543
446
200
343
28
200
650
497
642
857
416
188
742
183
573
359
6
946
573
772
417
205
726
838
968
660
175
554
726
246
734
690
248
26
736
852
840
813
530
472
847
663
382
75
954
539
297
430
488
8
750
271
831
752
352
364
360
90
283
602
764
445
678
674
213
866
241
603
604
323
66
113
38
453
20
349
740
849
68
954
887
785
608
878
184
461
221
583
571
499
249
504
150
397
244
732
279
117
669
858
777
796
178
871
378
798
427
795
879
2
661
466
906
235
229
514
882
247
802
111
545
481
289
511
336
140
363
767
80
772
70
223
635
634
201
596
617
620
983
484
866
402
181
129
81
765
874
153
898
799
16
751
763
749
393
524
138
821
738
751
933
189
563
379
577
762
764
421
797
36
137
814
26
468
755
934
301
382
576
179
692
385
733
4
570
598
732
761
480
816
157
558
992
874
560
64
672
61
921
905
214
452
447
805
878
377
477
150
579
98
994
992
395
919
535
831
762
624
320
681
378
104
64
27
634
507
238
304
465
53
531
415
622
896
863
645
747
65
595
24
73
580
507
863
229
266
715
669
416
692
928
149
183
888
376
301
114
221
268
894
27
836
886
771
691
618
264
480
630
472
958
734
354
57
567
44
189
801
534
688
976
144
240
853
70
470
547
390
452
129
782
131
259
266
592
125
719
925
245
461
313
40
709
582
930
473
295
121
967
222
728
310
581
273
269
980
773
367
890
4
585
105
600
793
437
395
701
107
587
271
152
36
730
457
223
453
15
888
329
623
130
606
259
966
654
33
16
127
581
691
143
626
758
808
705
372
24
154
88
205
967
604
368
498
581
659
302
509
548
132
925
876
544
720
320
115
732
11
380
477
571
762
283
837
173
967
963
555
713
287
81
410
781
951
849
771
194
75
616
142
465
711
304
112
56
583
596
500
549
634
323
212
100
989
597
888
882
901
99
956
733
538
343
99
908
259
912
464
641
121
401
174
221
955
251
822
416
270
761
665
369
643
275
186
547
987
1
533
933
305
922
99
401
82
1000
173
143
490
270
155
102
953
392
305
558
428
965
367
456
978
236
717
570
806
801
842
297
949
602
96
767
272
792
644
919
211
21
446
405
959
317
944
479
458
22
816
525
576
154
831
516
331
197
336
475
882
509
381
983
269
519
801
861
578
355
874
434
271
850
284
194
923
666
240
259
505
863
518
753
632
388
127
121
940
824
43
439
839
214
182
976
416
949
347
626
203
504
424
332
843
282
488
298
428
933
807
629
442
318
952
969
770
694
357
907
215
812
709
175
319
344
471
122
52
486
729
552
115
612
264
793
179
596
438
757
392
775
62
844
842
564
840
772
509
408
416
800
423
120
315
347
354
605
237
733
409
687
320
601
295
2
927
595
889
936
475
62
952
177
612
833
498
742
783
651
363
271
849
440
996
980
972
392
333
894
406
827
906
890
190
856
18
670
995
161
870
936
541
620
51
985
53
72
673
402
215
257
748
777
955
860
96
152
179
612
214
453
256
613
25
281
684
414
379
260
827
864
496
605
69
460
280
693
12
692
598
196
599
919
133
776
149
412
417
424
333
502
995
289
85
237
430
211
247
533
72
288
542
578
49
453
116
189
972
483
442
848
217
817
882
422
444
317
562
941
250
374
500
334
425
827
137
765
343
765
500
26
419
613
251
479
406
874
755
203
536
504
164
328
181
195
189
22
719
752
903
217
792
368
419
991
974
828
760
425
161
576
564
911
648
164
536
99
972
772
710
143
55
416
664
423
103
936
780
716
8
81
563
609
702
822
771
50
46
545
836
97
332
898
634
297
419
912
183
624
865
447
245
603
121
171
133
37
48
18
243
768
528
550
969
10
915
699
687
113
447
137
442
51
477
918
807
541
609
93
165
450
351
719
301
90
930
48
766
52
283
729
951
473
68
504
194
17
701
270
515
392
96
328
773
936
758
325
155
635
331
683
870
981
529
309
884
231
620
946
300
945
274
864
759
183
638
481
815
355
969
117
828
543
999
323
310
21
507
128
53
855
221
121
587
683
263
473
701
228
865
912
813
648
933
165
952
572
380
563
14
557
835
386
692
745
456
960
237
681
91
725
749
656
959
282
232
386
370
876
54
572
712
933
764
666
114
12
451
162
710
976
936
888
425
297
174
36
534
131
114
141
37
217
196
819
53
701
333
834
51
726
967
996
675
969
293
438
362
370
257
90
732
933
302
521
938
890
107
897
779
438
793
461
405
978
121
842
865
49
262
489
580
152
585
685
72
241
755
956
907
975
155
130
886
741
253
968
956
41
103
83
183
104
585
776
411
468
353
592
888
852
714
579
234
837
803
733
621
765
525
624
916
783
664
962
852
142
471
753
998
707
816
704
396
135
685
789
295
309
400
194
278
469
439
405
482
892
158
853
277
140
34
374
984
656
235
696
704
915
521
338
337
438
450
563
201
732
837
504
445
594
271
182
628
313
224
888
414
990
968
333
325
583
65
31
887
310
703
637
313
725
471
305
57
127
530
737
220
951
251
221
771
457
551
890
998
325
127
375
431
748
714
244
717
218
301
930
574
504
986
310
998
222
736
777
358
17
906
407
885
614
776
772
326
892
730
101
196
699
954
685
177
350
683
901
668
607
113
773
418
484
39
729
436
387
195
99
122
956
23
945
654
472
317
11
177
820
774
941
303
854
991
418
724
433
855
567
495
539
606
750
710
673
48
917
807
132
541
760
721
903
430
246
472
613
506
555
525
404
954
23
452
659
988
501
6
215
37
412
704
69
915
900
409
617
883
679
204
151
888
575
74
680
541
310
496
126
615
768
84
618
917
846
855
904
391
992
505
874
255
724
338
798
746
727
135
174
802
619
281
15
631
109
957
979
651
74
49
11
734
8
697
67
14
438
87
29
819
132
183
179
391
364
561
413
174
62
421
958
394
411
160
522
548
355
566
614
200
500
847
339
181
110
209
48
876
251
606
92
799
645
670
370
67
473
502
473
682
179
208
34
786
323
585
296
161
658
322
32
280
901
457
666
178
128
590
874
236
309
539
995
748
293
697
285
788
435
347
445
456
159
589
853
87
983
321
636
338
894
936
62
402
529
17
691
765
322
310
438
6
602
706
957
201
675
778
745
325
78
677
990
934
504
812
452
94
404
810
615
152
898
712
921
509
408
199
169
971
403
955
31
604
730
896
240
295
279
148
180
356
140
61
497
594
1
521
893
239
250
76
424
987
138
112
472
236
413
429
71
235
14
102
407
526
803
405
120
501
785
949
509
351
969
895
872
999
837
257
956
787
359
875
978
896
644
562
724
423
606
347
997
71
476
443
106
173
582
801
109
602
616
658
272
715
488
494
573
93
964
206
79
294
514
100
760
203
182
515
592
883
821
528
836
988
773
155
17
925
874
964
434
930
739
778
9
166
397
434
897
745
709
192
556
297
462
434
920
363
683
758
898
405
492
444
676
662
794
522
196
467
184
358
757
841
720
769
889
385
636
139
515
542
644
926
973
273
186
254
624
71
921
971
629
25
740
685
966
350
822
807
933
366
603
561
150
453
20
237
590
891
90
726
257
830
697
503
904
833
423
784
654
609
436
540
437
538
703
417
929
565
272
375
72
892
958
42
314
620
552
360
431
190
548
94
153
13
516
152
854
176
438
497
254
465
714
612
400
253
123
105
220
987
678
64
576
96
206
191
62
172
482
583
749
155
910
265
712
95
86
228
449
788
41
770
232
179
611
408
24
17
175
475
839
641
939
810
345
137
79
600
34
390
277
545
530
667
647
973
463
474
589
460
879
391
860
786
306
454
33
782
495
469
551
732
291
308
803
513
283
851
981
583
674
738
12
265
289
501
508
508
743
984
522
454
591
145
862
691
701
513
860
31
190
555
796
24
1000
199
606
166
616
584
132
962
455
848
917
580
202
467
477
806
726
191
61
432
232
99
120
989
4
705
124
951
426
292
886
158
966
873
265
222
459
261
965
94
348
749
181
826
481
795
983
787
716
937
672
234
841
886
837
206
257
358
435
150
471
782
66
566
678
404
513
219
634
714
770
145
552
348
7
774
9
770
355
950
680
134
978
563
289
679
614
785
306
892
660
609
790
471
929
523
277
800
392
650
737
256
591
624
464
163
906
814
215
626
534
210
32
807
874
483
975
390
974
243
402
168
846
488
561
662
751
610
964
676
989
87
454
510
370
159
900
303
255
391
209
680
27
993
677
387
888
167
766
119
127
574
49
101
400
185
419
282
74
430
663
169
429
552
131
476
344
522
576
701
98
688
158
720
120
572
286
259
798
892
190
852
998
902
102
513
515
651
471
889
538
575
931
107
110
138
591
866
688
913
823
595
196
559
918
642
329
663
842
550
497
286
880
416
488
383
115
238
844
944
543
941
967
842
121
431
194
885
197
673
415
485
567
256
328
719
911
340
115
259
420
180
103
827
262
676
5
361
941
483
432
40
687
301
697
698
791
858
350
897
175
995
516
124
551
977
846
173
261
841
837
729
227
149
329
591
504
986
226
769
580
432
888
895
938
8
162
997
367
810
736
716
181
118
360
473
808
296
474
904
166
695
963
153
885
85
90
245
701
890
121
785
279
100
815
753
319
282
728
942
51
571
243
948
114
831
338
219
383
484
362
804
533
611
527
915
968
38
376
295
323
71
225
732
876
444
484
703
91
793
774
306
987
714
986
127
185
9
757
610
311
273
385
865
858
347
837
541
791
521
359
588
906
551
155
233
406
717
762
493
265
170
26
896
667
769
36
844
240
436
987
244
835
836
697
605
352
843
432
796
442
809
761
54
992
143
383
614
943
73
290
587
350
764
140
267
598
140
419
118
318
878
857
91
886
25
531
760
325
614
293
19
69
477
467
702
325
148
255
558
702
427
909
474
364
661
533
689
205
272
346
15
475
410
301
772
801
844
255
215
816
386
295
716
419
197
389
873
289
309
265
7
387
561
334
231
84
948
470
365
2
77
709
521
850
993
248
89
300
188
666
188
467
981
925
400
622
784
582
732
606
10
570
319
790
474
86
329
552
220
394
892
994
594
815
667
981
294
777
803
708
819
548
668
660
459
228
683
226
487
605
17
274
723
764
665
637
999
664
693
834
345
509
983
343
916
382
899
373
767
504
662
430
600
475
94
893
501
25
618
485
531
141
36
760
713
898
688
691
651
974
12
19
480
614
425
280
353
769
697
318
975
232
678
672
975
855
297
411
53
365
285
895
916
853
913
444
985
751
403
98
737
7
301
477
329
187
303
262
855
476
455
957
166
846
658
419
704
240
678
86
206
238
636
979
459
506
88
310
486
349
351
986
711
761
708
365
657
716
461
388
678
873
593
602
97
455
979
655
838
873
645
547
341
525
587
325
87
327
59
890
554
737
4
313
784
424
573
377
54
283
218
55
306
196
939
302
112
794
621
836
959
491
297
558
510
215
354
870
380
620
384
453
617
998
418
967
775
797
739
755
948
395
337
874
615
784
342
659
464
864
439
619
651
376
362
649
80
859
47
437
368
631
926
452
147
525
132
113
221
970
111
540
865
72
236
827
298
568
553
898
891
830
698
829
243
661
375
999
617
275
510
521
572
662
350
212
858
542
329
794
732
251
467
78
944
175
457
683
530
813
338
181
444
164
846
687
781
873
120
562
22
513
413
327
301
434
871
877
154
870
231
777
600
343
514
775
698
990
382
652
888
101
858
179
558
46
546
282
263
746
309
445
925
56
592
53
193
704
248
597
833
954
758
654
652
768
204
102
30
63
198
304
520
578
285
885
381
2
951
294
122
262
518
545
315
283
637
427
11
127
35
974
35
130
432
188
358
548
285
848
491
283
113
724
564
437
679
684
346
807
236
970
955
960
372
423
435
174
739
496
685
371
78
754
444
145
524
914
188
125
117
628
796
211
820
928
816
660
107
667
997
623
373
346
506
485
982
435
915
269
775
658
607
479
258
770
735
928
464
988
218
547
730
636
587
669
215
519
652
9
15
204
67
403
162
720
897
389
624
114
158
878
653
952
177
489
492
131
277
614
491
281
985
886
134
650
443
567
365
602
192
261
851
757
800
528
506
377
107
187
678
797
985
534
898
588
592
292
978
667
83
807
557
734
595
921
875
288
145
990
717
945
723
700
938
949
526
709
944
562
710
652
813
507
516
708
499
743
896
750
694
624
8
108
479
953
81
60
849
509
186
532
571
388
367
857
595
880
489
127
426
702
848
372
417
83
311
759
994
588
269
59
142
600
201
881
346
57
7
521
361
375
539
872
791
505
999
497
509
696
919
835
339
885
469
551
286
558
754
148
816
577
572
363
348
742
808
277
169
779
323
756
431
50
663
618
774
516
416
859
355
406
361
399
793
577
804
58
558
789
698
897
879
985
143
620
108
188
914
499
783
814
475
128
359
55
770
378
663
448
758
146
673
950
245
792
141
600
104
733
893
340
343
288
422
694
840
712
485
757
752
330
7
417
761
839
529
776
339
104
815
543
174
265
988
513
717
545
764
352
614
934
916
608
383
834
99
225
335
815
556
896
149
896
38
250
935
106
473
219
873
666
516
926
742
812
177
97
710
137
93
287
811
343
893
206
387
474
319
29
655
10
409
865
225
692
114
484
65
587
177
10
917
691
947
509
639
318
100
337
271
646
893
631
881
15
671
590
440
41
839
22
981
146
390
187
347
850
408
146
640
61
644
655
317
643
399
155
561
732
466
565
134
639
789
360
455
681
861
941
29
966
601
368
688
959
602
337
326
660
189
718
925
349
701
43
737
158
740
91
387
164
957
132
549
320
43
423
585
299
271
295
183
234
828
519
642
430
648
683
867
340
222
985
569
497
60
201
417
626
131
565
103
872
597
973
356
928
584
215
979
858
594
920
859
597
359
500
741
405
633
680
273
59
420
133
459
198
626
299
189
22
989
761
968
504
380
425
305
377
287
303
481
426
338
952
578
27
244
443
710
454
406
314
392
202
748
100
831
471
60
903
738
994
207
958
936
584
139
294
640
156
498
395
806
454
16
266
317
427
586
377
146
992
61
792
816
898
381
172
621
588
583
483
115
189
618
943
320
255
665
173
918
474
816
567
515
328
576
613
643
589
625
261
812
634
683
484
336
783
100
835
74
250
42
167
502
844
708
668
716
262
84
8
86
652
120
738
251
171
87
999
103
400
87
271
179
820
344
116
636
27
950
868
602
12
213
745
218
613
587
167
171
201
477
918
806
774
847
388
221
892
676
312
859
301
769
336
220
669
350
216
250
599
142
699
888
965
367
923
992
652
202
712
597
998
752
260
30
577
521
538
923
492
708
204
580
998
383
925
458
101
742
800
756
792
206
996
243
657
74
830
465
953
801
227
447
655
765
946
825
600
529
969
133
613
225
219
575
413
645
83
253
199
36
319
229
992
396
524
214
273
267
772
962
924
654
949
629
237
695
12
452
580
153
700
131
338
626
175
183
901
617
716
355
818
227
849
943
695
340
234
438
60
548
237
497
226
12
338
677
111
663
437
683
94
845
706
189
247
608
794
411
698
296
128
688
459
32
535
317
784
947
620
749
6
750
150
41
853
330
237
171
436
605
207
384
458
759
898
295
718
342
580
822
640
459
806
401
375
388
284
119
44
559
313
537
764
746
376
33
467
728
288
402
902
398
631
338
869
524
339
140
476
916
950
670
110
748
458
160
940
200
704
913
935
352
931
352
833
508
479
140
980
707
587
296
719
223
916
318
807
279
727
346
395
15
613
291
256
16
299
691
260
336
300
763
614
994
178
760
978
417
723
275
385
117
600
578
856
197
975
413
671
945
109
950
555
855
203
739
440
915
586
575
39
876
913
180
201
542
193
451
913
822
327
855
843
373
321
195
532
239
501
605
682
756
863
136
535
371
153
674
953
737
402
292
694
609
416
321
302
604
145
595
225
850
974
318
15
917
685
983
952
193
283
593
27
40
916
211
973
648
831
500
971
505
698
513
719
779
654
446
783
733
88
449
552
467
562
880
641
939
228
585
301
203
771
869
253
242
220
844
363
608
916
751
759
314
575
646
296
84
638
609
784
86
53
211
9
784
208
554
379
338
997
624
977
331
895
41
911
207
475
542
110
943
30
731
136
925
819
631
165
918
985
617
993
327
402
129
862
621
508
407
883
942
717
117
87
431
133
409
458
705
102
383
826
302
616
401
177
598
690
981
732
876
613
222
168
778
423
859
461
312
36
77
140
972
194
146
181
271
827
794
393
210
468
997
890
721
70
517
174
191
959
78
439
495
680
578
903
823
181
64
411
770
104
534
49
755
981
777
244
908
753
606
663
932
361
801
242
314
119
14
844
496
189
714
374
251
781
937
654
565
613
281
3
790
761
92
258
695
288
230
934
303
934
178
299
89
709
474
440
199
452
652
785
831
277
891
138
812
388
601
5
721
884
18
886
613
55
673
245
486
143
297
73
199
711
331
318
440
558
695
959
694
598
894
186
883
236
857
957
527
540
122
190
786
977
118
999
737
533
320
649
578
806
10
383
241
60
209
864
63
291
120
744
739
61
51
786
793
234
408
49
180
789
752
865
428
547
357
744
972
997
956
858
893
423
560
479
350
158
348
609
381
110
613
13
590
692
665
78
505
877
425
234
982
392
142
126
144
17
310
416
751
507
402
836
790
945
469
106
342
200
3
392
441
748
733
303
751
327
149
771
349
749
673
804
822
752
296
781
165
929
451
874
692
642
638
214
283
285
5
629
800
469
724
120
445
455
458
780
155
661
677
495
888
196
842
632
762
109
765
871
606
542
511
474
405
997
312
612
505
728
854
771
201
652
179
910
524
209
175
786
604
380
314
761
4
359
842
540
783
487
103
438
872
678
84
245
553
943
507
233
424
598
36
604
282
405
231
486
769
203
901
639
449
541
414
170
243
467
346
910
785
882
566
550
312
825
486
310
161
632
753
690
808
160
76
790
666
174
264
825
512
555
774
689
528
203
249
867
401
369
587
552
831
706
58
566
118
481
858
570
175
248
288
88
446
791
424
63
732
262
757
50
846
294
780
619
349
303
901
253
370
317
397
814
647
480
337
660
484
756
526
627
273
517
573
362
604
384
120
977
738
144
107
578
412
575
733
994
523
790
398
941
226
12
505
949
367
776
460
592
3
221
601
960
922
455
52
855
751
12
717
889
194
35
708
516
423
156
510
65
453
5
105
965
569
877
80
731
532
408
490
726
326
2
846
355
692
382
166
156
519
839
448
202
482
709
275
305
943
122
532
820
263
307
356
235
117
606
524
314
332
876
437
303
64
135
771
578
810
168
617
178
920
279
645
853
729
567
417
614
416
857
491
286
988
954
348
251
542
940
516
351
112
59
466
959
937
161
998
304
975
744
879
493
811
413
409
52
929
950
466
488
443
269
338
82
4
238
273
56
567
709
308
356
110
155
343
496
185
972
863
296
413
854
961
916
613
641
526
269
316
710
549
745
812
264
509
218
715
858
709
444
302
116
265
319
459
875
138
907
214
917
274
825
190
61
419
338
273
602
642
479
986
29
915
617
774
468
410
148
489
553
258
422
835
274
664
569
435
885
173
639
502
144
817
354
769
1
622
807
483
331
673
646
766
482
509
647
574
201
147
73
838
983
432
914
76
992
733
890
950
499
222
118
755
200
112
460
822
888
260
863
143
668
484
466
340
355
797
838
228
701
506
493
856
855
790
721
846
809
948
885
301
620
964
521
307
885
422
13
287
270
109
120
78
924
799
351
619
217
844
44
552
600
188
4
903
309
329
729
216
283
577
590
169
934
678
793
774
341
505
603
680
34
45
99
6
789
376
675
364
732
635
619
437
642
288
357
541
541
120
365
102
527
472
336
863
352
201
917
956
409
724
214
652
658
305
312
748
494
423
258
58
729
654
308
384
663
26
753
715
689
193
307
101
994
115
867
819
700
120
440
996
223
402
154
801
718
1000
593
702
221
269
108
26
519
707
398
274
809
729
401
190
957
680
444
587
511
909
704
347
665
227
236
776
63
430
231
732
645
876
684
551
767
280
410
810
462
997
111
405
14
64
313
234
1
197
77
46
569
727
753
626
986
219
535
574
448
121
177
362
725
331
66
233
452
31
762
791
785
451
246
763
721
519
363
557
554
488
386
672
860
700
180
954
895
646
184
969
487
317
329
484
359
674
41
158
282
722
672
57
650
292
82
554
857
131
581
489
308
305
132
206
56
266
516
243
810
114
175
989
481
749
553
578
563
639
66
670
358
850
286
531
469
870
517
983
57
471
713
419
44
553
615
24
854
460
23
767
281
731
413
520
766
638
422
863
728
147
340
765
541
127
389
338
474
731
466
279
135
876
16
478
11
675
885
483
256
462
314
160
175
813
735
956
817
553
641
614
619
319
628
57
360
647
635
430
531
945
508
976
809
929
313
475
558
286
199
508
107
385
211
659
127
828
184
103
590
523
726
720
635
741
355
992
174
306
41
458
212
680
777
441
678
187
294
80
10
68
728
435
881
327
861
607
224
602
525
333
128
384
930
492
312
972
928
317
581
474
727
890
110
30
115
652
441
170
67
258
801
901
515
98
720
657
100
196
954
765
20
987
406
393
418
720
78
310
328
792
84
908
902
391
404
87
457
226
370
587
964
956
853
254
685
177
715
565
71
464
396
452
445
28
428
82
697
991
257
806
939
160
999
926
103
436
681
269
488
696
41
817
585
36
207
822
901
780
444
851
81
544
659
256
363
943
579
363
289
239
324
522
629
359
615
825
690
190
1
891
530
44
297
645
107
460
900
415
72
292
762
974
723
162
583
424
643
900
222
886
663
561
413
48
88
990
608
547
577
625
214
995
690
475
482
239
832
723
98
93
313
460
830
342
234
380
670
310
230
147
547
645
406
274
66
262
406
32
700
601
230
894
526
422
257
444
907
383
990
541
473
555
149
735
409
856
114
596
287
75
168
670
667
835
651
224
243
344
912
809
570
232
897
951
322
140
348
940
576
959
790
782
837
780
980
867
389
708
987
791
101
635
868
92
973
959
760
348
576
40
249
203
18
837
107
427
227
816
798
10
164
678
722
653
17
906
780
740
580
420
716
24
775
864
630
828
725
182
240
481
872
171
716
124
373
638
400
749
427
642
314
539
232
62
109
133
988
379
63
465
746
141
768
184
910
42
413
489
908
938
929
418
869
400
841
221
156
597
324
513
235
412
863
277
708
674
910
658
253
332
86
724
892
191
830
979
236
559
854
535
322
791
420
220
240
240
225
853
988
588
667
106
910
846
321
118
607
600
769
58
470
225
310
355
799
851
669
193
56
859
543
176
941
533
734
779
850
321
616
301
758
814
954
578
721
165
369
630
7
182
318
736
335
735
105
197
811
414
247
172
937
645
539
531
502
549
252
622
258
902
246
234
25
478
181
763
268
916
636
829
269
998
730
107
711
891
710
180
872
471
91
583
653
328
140
24
360
419
889
974
476
629
415
427
687
698
803
654
49
48
97
214
516
93
519
285
8
464
443
666
809
461
900
400
378
726
908
43
584
773
522
65
969
555
319
725
888
680
980
23
274
238
718
37
350
462
594
8
811
602
153
38
873
463
412
159
127
17
936
841
306
403
665
694
913
398
141
261
179
138
60
292
936
463
351
840
832
778
557
834
762
721
936
542
520
240
519
450
451
935
371
689
319
612
397
33
698
53
376
919
931
956
320
658
127
828
877
225
702
381
258
568
690
638
84
379
451
530
633
669
375
225
182
281
929
829
541
691
686
359
419
50
996
115
957
461
606
641
608
890
852
499
596
948
990
963
302
44
896
595
295
9
594
339
180
386
47
457
84
20
212
107
397
441
616
855
324
812
616
737
926
900
53
738
570
582
252
737
160
919
150
12
44
712
914
389
293
751
545
986
862
679
842
306
249
528
588
101
423
460
948
54
181
223
926
811
583
129
142
316
801
110
362
719
528
565
947
345
81
255
849
345
482
438
877
695
65
861
670
126
641
913
267
458
837
502
165
516
988
738
533
509
904
542
568
304
871
646
48
487
511
312
792
512
498
244
104
503
662
825
247
472
743
818
670
818
869
85
15
972
899
729
884
971
887
297
978
556
286
320
511
105
975
527
709
367
841
523
810
466
424
599
238
120
105
574
508
331
403
305
990
98
234
527
866
835
367
208
511
253
938
490
13
448
560
593
788
800
493
748
26
88
378
375
261
908
210
208
455
99
618
8
850
347
20
851
251
601
867
695
585
209
62
90
302
926
571
451
666
70
417
240
41
150
534
826
41
200
384
499
821
952
888
330
824
683
948
144
32
276
777
859
149
567
323
835
143
557
299
689
283
408
730
235
150
480
462
819
73
805
786
347
122
523
177
725
83
816
169
259
808
759
557
824
972
345
432
215
507
671
44
198
973
872
131
189
664
960
129
380
533
144
647
396
898
575
687
245
465
683
351
396
415
480
201
324
176
225
11
745
18
859
384
74
819
459
580
340
161
789
979
912
437
675
757
905
777
577
750
68
447
179
975
283
802
287
938
548
25
603
706
462
641
172
693
770
249
458
221
515
996
998
269
662
56
553
208
874
797
524
979
275
369
136
894
611
164
587
196
228
961
877
553
669
626
571
918
503
885
56
563
193
48
214
651
431
573
558
384
411
970
18
657
881
911
561
128
723
319
726
810
979
887
998
590
935
703
629
592
904
641
194
902
810
733
668
2
549
997
257
194
357
101
592
387
108
809
108
920
541
342
636
473
894
707
256
723
342
518
480
112
922
73
678
1
324
254
460
513
80
323
427
568
157
854
282
987
921
836
821
36
759
442
716
453
380
111
330
838
980
333
20
251
978
977
529
18
20
107
73
17
298
943
721
192
985
72
454
633
800
23
103
316
269
90
972
544
253
610
579
169
696
962
358
939
368
237
594
679
573
836
134
572
396
309
590
500
110
340
883
257
769
133
957
480
854
405
405
280
76
821
587
910
89
968
510
272
918
923
402
705
354
39
428
299
454
841
450
910
524
808
71
191
680
381
463
172
117
777
649
386
751
8
958
77
761
102
360
791
884
642
267
493
993
620
158
458
654
90
102
318
811
252
828
65
733
416
512
271
665
751
857
492
358
862
356
628
810
998
851
1000
107
137
650
40
187
298
463
788
750
149
399
833
269
398
93
949
260
534
783
436
549
157
841
90
249
544
803
821
578
112
439
135
416
130
759
116
758
359
173
84
778
313
168
767
286
484
15
751
753
161
980
909
942
489
456
739
388
963
222
834
650
920
792
186
285
429
412
700
967
659
830
34
24
994
375
876
954
80
270
860
139
572
310
569
80
531
243
526
938
320
230
623
98
354
742
169
728
269
139
648
68
885
944
301
242
876
549
850
951
156
645
46
312
863
214
232
440
246
312
772
108
889
182
43
981
500
485
641
462
915
538
622
123
55
511
854
115
331
446
47
654
396
856
602
910
180
352
204
182
896
482
992
238
53
466
206
92
534
27
478
302
510
887
271
57
272
769
555
977
79
971
488
518
771
626
737
340
187
830
81
824
429
669
100
144
595
47
100
952
922
891
890
819
174
992
653
970
734
220
988
775
98
346
94
693
351
14
230
62
796
685
802
188
104
522
871
706
230
257
452
60
857
61
693
245
349
302
913
697
985
884
543
283
785
528
175
902
373
981
317
116
132
614
950
574
376
311
647
713
390
847
841
387
952
186
830
619
403
260
210
615
419
815
752
572
368
881
169
554
563
225
839
896
765
957
306
202
21
66
293
947
266
272
61
129
184
30
142
198
475
910
895
705
40
867
869
726
570
90
634
125
698
250
641
182
180
929
645
892
518
965
409
531
87
242
740
698
86
168
386
107
576
756
936
863
461
700
701
802
512
336
482
777
426
694
214
420
498
98
797
2
679
970
784
514
661
511
201
970
188
943
511
242
933
866
594
453
163
48
699
51
885
710
473
227
334
901
589
244
456
120
940
609
528
714
108
716
160
924
576
785
713
662
170
423
596
228
354
124
996
230
280
385
351
883
954
874
264
753
487
263
625
721
155
946
433
642
927
816
154
710
171
694
513
44
498
800
277
362
96
866
938
913
420
88
211
27
845
167
879
735
712
80
886
923
230
88
483
395
852
696
901
25
80
951
268
926
130
504
455
167
526
320
100
123
480
784
312
982
879
229
484
270
797
578
152
533
710
882
121
451
17
27
880
748
50
765
925
209
471
550
725
36
852
337
974
511
294
654
212
676
96
731
91
289
899
444
347
867
195
136
20
12
786
116
579
523
596
798
390
60
215
991
391
207
709
789
947
863
498
900
588
794
575
8
738
56
944
950
621
738
899
51
216
137
715
990
528
54
361
906
472
360
120
324
319
373
338
628
50
861
116
463
896
694
430
440
53
247
24
977
831
683
447
906
487
138
753
742
590
649
737
141
75
409
25
137
38
537
10
195
966
103
391
985
288
580
43
64
74
269
43
299
260
447
927
993
983
210
708
121
494
12
723
998
639
869
121
19
80
118
705
778
282
356
868
30
767
921
560
454
319
843
610
107
594
711
192
803
106
324
948
370
621
291
41
911
836
972
470
710
589
306
41
427
995
76
730
546
601
116
624
840
97
821
185
791
144
78
416
456
638
362
363
321
41
367
504
998
506
962
782
504
162
674
443
8
270
170
378
581
984
415
367
481
80
269
477
962
319
303
887
392
125
505
573
731
798
403
626
61
857
805
426
903
950
28
578
515
439
2
263
250
947
89
651
284
119
786
89
740
351
770
67
300
501
870
385
877
450
633
487
834
901
129
709
521
9
516
28
629
260
666
973
953
517
849
554
679
313
81
408
271
266
232
890
305
975
402
498
396
850
409
848
475
151
431
390
236
896
987
217
529
423
489
563
834
132
512
112
743
323
801
760
516
114
783
315
403
154
5
469
372
184
496
515
318
560
525
456
597
516
593
587
948
300
801
139
506
300
924
304
567
942
603
797
272
433
98
124
144
428
935
912
683
259
613
954
870
715
243
138
469
225
647
28
488
953
943
690
8
510
126
298
881
912
481
147
454
983
908
981
569
596
435
961
587
37
226
155
52
279
384
185
946
176
733
550
173
392
532
174
27
394
774
935
927
991
338
308
619
710
734
728
391
750
625
980
566
421
597
744
705
684
914
380
499
918
57
214
265
71
973
845
361
135
807
468
578
271
816
795
752
977
870
936
434
402
635
514
412
293
76
351
330
74
417
317
379
245
56
306
319
653
223
845
635
135
369
556
713
744
368
533
287
34
611
714
312
862
999
504
576
799
639
222
88
493
797
416
273
295
254
765
495
7
799
27
270
917
973
499
837
120
584
505
389
742
738
751
370
874
289
741
749
884
693
82
47
335
224
196
207
895
371
859
116
469
49
47
691
296
924
727
956
895
766
646
480
549
246
625
862
490
2
574
712
80
109
254
680
29
338
794
695
167
674
115
480
341
657
689
803
781
987
543
696
670
753
989
20
708
328
353
393
203
700
871
419
542
524
16
608
985
697
738
148
369
590
489
915
652
407
455
700
243
306
109
673
712
998
61
534
759
606
192
596
327
396
226
345
333
881
224
602
787
479
965
525
999
555
799
95
156
202
393
630
821
570
686
124
780
891
526
890
244
612
688
72
623
194
412
69
960
222
169
828
632
430
92
236
138
129
399
594
594
318
182
218
88
437
125
768
187
334
86
827
687
518
985
570
186
173
98
124
162
736
693
343
28
65
938
294
58
345
108
697
194
922
468
923
458
199
603
937
117
568
619
736
813
121
370
428
566
528
799
78
946
49
557
843
729
119
293
722
59
318
383
462
428
833
439
762
848
703
615
942
195
248
581
684
27
72
77
250
157
956
88
884
868
771
51
662
935
248
939
203
577
105
747
26
15
536
666
267
593
520
212
700
304
766
649
695
132
356
339
848
820
295
54
463
577
287
859
16
728
976
922
985
528
806
470
168
179
443
184
711
600
361
492
600
651
829
615
280
305
26
692
419
765
409
8
550
597
804
174
501
769
897
67
35
908
922
489
116
150
406
819
565
767
750
335
632
84
283
535
212
323
187
521
986
683
329
443
784
361
642
65
841
238
127
757
438
640
965
591
608
923
482
782
217
638
941
398
754
663
187
120
554
33
219
867
79
123
639
240
45
502
780
85
884
26
2
946
57
675
308
834
199
260
941
493
942
316
86
349
515
473
140
387
941
76
267
479
672
122
114
130
52
387
649
140
850
179
27
435
430
341
299
228
827
944
534
665
109
628
656
361
930
693
856
548
105
864
969
109
364
89
608
397
196
900
177
602
827
589
80
387
928
938
610
660
613
289
2
643
655
528
109
846
599
915
988
163
656
799
435
73
817
929
190
837
636
485
81
674
520
940
859
103
156
589
850
73
929
888
840
981
796
766
809
450
79
709
204
528
107
750
484
45
439
426
534
971
638
424
413
2
245
893
584
40
606
340
416
888
705
624
311
277
997
794
193
287
508
441
512
327
156
777
120
114
319
874
555
495
167
381
353
543
180
536
944
80
562
507
604
685
985
921
705
256
181
933
194
432
476
343
836
523
212
100
267
84
412
954
300
997
725
183
253
674
857
71
303
53
253
272
961
129
741
250
856
102
203
774
907
660
146
825
840
504
171
329
750
24
972
866
79
905
445
855
931
562
914
761
145
507
254
539
895
145
931
884
901
45
560
851
509
431
630
47
4
482
453
932
525
72
238
707
859
704
431
914
213
774
90
119
776
728
142
23
531
347
809
904
296
189
359
544
427
134
606
736
948
135
268
963
160
485
368
104
901
390
347
894
733
144
471
349
276
8
398
609
815
712
484
450
77
596
532
242
757
577
192
251
9
503
156
31
569
945
624
91
643
176
260
143
969
884
990
45
694
173
562
939
874
511
729
233
371
621
304
757
936
720
71
901
64
135
757
531
991
104
806
239
844
454
730
851
542
953
170
125
506
344
632
274
618
480
42
281
162
496
904
980
655
670
858
515
609
483
844
108
225
391
937
38
966
3
150
340
759
666
125
31
306
965
725
579
602
253
955
951
302
159
538
798
34
920
726
256
80
548
598
389
106
62
197
525
815
441
338
600
406
563
805
165
766
69
971
883
126
34
593
181
773
339
599
250
39
833
276
690
429
778
140
952
242
501
110
164
428
941
380
73
794
519
492
587
827
801
675
870
599
526
484
995
203
888
132
942
147
389
661
104
952
207
307
550
989
774
973
978
213
184
714
692
50
113
551
952
156
188
712
732
137
107
620
258
623
370
557
704
270
167
954
71
361
857
680
588
691
428
547
926
331
568
477
165
664
236
423
706
843
157
188
265
427
257
762
680
486
882
628
506
924
590
776
271
110
382
862
842
154
545
988
533
338
666
96
512
278
963
873
528
351
812
338
220
829
234
7
73
924
150
650
615
643
410
163
555
972
961
11
435
380
43
32
774
74
937
123
853
738
659
491
22
717
944
684
898
733
3
590
856
265
854
948
10
654
449
690
264
863
446
611
61
550
226
430
198
794
678
332
437
380
352
432
658
4
814
432
5
168
411
948
805
793
212
579
39
790
590
846
797
915
757
505
459
253
590
632
313
565
237
56
940
579
337
418
966
997
163
131
742
654
613
28
64
763
815
302
332
664
12
649
425
805
525
174
133
969
869
723
212
896
469
782
988
539
51
986
979
158
487
575
162
313
750
848
396
662
710
788
963
86
683
525
363
329
993
261
331
800
343
605
455
628
445
985
955
343
180
980
922
821
560
952
762
224
876
306
692
722
731
93
860
732
100
426
86
224
156
354
265
452
385
435
199
75
409
225
990
239
24
303
159
648
198
255
337
25
134
236
720
682
84
365
468
60
273
204
894
248
159
11
585
464
264
307
576
406
985
487
308
191
116
912
382
323
287
929
75
778
184
725
134
803
178
821
656
486
969
232
731
502
943
41
104
693
198
186
327
288
640
767
724
667
80
65
54
508
46
777
906
69
877
665
729
128
710
950
883
795
200
277
253
7
138
29
771
43
656
96
676
770
385
920
443
690
749
817
104
39
554
112
102
365
184
568
942
997
996
992
606
816
962
621
145
528
213
117
893
447
905
550
463
422
737
744
90
123
529
771
865
379
516
162
127
622
375
623
613
808
558
642
941
338
223
434
688
650
866
33
612
101
820
239
527
723
928
326
2
223
13
70
269
316
287
724
731
144
439
4
984
29
952
25
576
280
166
397
577
102
674
366
625
939
929
965
330
699
360
630
757
425
843
647
290
913
139
62
301
683
767
434
958
466
852
904
933
107
674
570
986
333
986
98
162
372
715
822
839
809
314
339
971
393
829
723
634
713
784
67
463
800
76
992
602
766
388
154
575
505
72
520
890
339
69
377
203
263
174
636
660
84
911
945
322
313
308
552
685
182
144
656
926
471
588
171
900
191
721
471
871
294
115
686
627
733
505
553
960
165
610
648
411
515
315
90
846
433
763
418
692
414
371
429
581
944
452
191
765
621
883
340
904
599
226
9
721
77
833
450
594
796
688
446
356
690
194
158
466
861
682
883
218
80
117
567
852
841
427
556
283
823
856
252
635
272
991
798
945
451
451
897
190
775
739
153
285
682
428
113
783
607
677
285
825
628
57
990
293
522
804
866
228
961
907
170
314
555
889
855
639
284
752
505
984
599
310
858
642
187
67
594
109
877
848
482
25
733
657
760
439
683
584
872
811
358
170
243
139
5
291
845
280
422
528
697
832
882
964
304
908
909
536
253
756
618
393
852
463
999
194
729
899
220
906
791
687
512
478
772
167
658
691
920
295
463
612
986
936
826
334
821
225
204
98
344
569
312
477
539
367
905
31
451
713
330
723
862
210
354
450
428
478
450
201
591
135
321
773
500
821
963
425
510
284
959
560
570
715
17
343
951
236
10
130
328
942
871
728
158
937
767
818
714
584
887
288
849
585
59
864
768
549
129
162
680
447
738
227
166
716
667
679
506
786
401
831
16
523
966
532
642
381
340
16
686
91
964
763
537
337
963
213
738
204
698
198
528
133
165
117
246
738
608
228
627
138
393
866
79
364
862
89
483
23
390
8
914
609
330
20
972
802
865
275
64
608
64
959
79
443
562
415
393
127
398
658
994
263
478
632
892
695
32
376
606
557
218
376
700
915
712
528
820
184
720
519
630
296
372
952
367
45
838
179
494
193
850
672
38
674
529
711
793
665
537
315
511
403
625
648
544
361
581
565
214
793
429
584
329
744
499
312
870
298
626
303
841
247
324
374
687
370
247
643
488
191
629
955
327
458
674
883
859
539
72
214
127
612
917
664
93
835
286
606
196
636
671
723
460
889
270
883
366
23
862
943
703
56
609
895
125
102
700
506
938
190
152
595
996
117
457
162
170
591
19
884
16
199
467
872
714
540
28
195
242
429
82
371
89
261
930
962
471
450
578
390
169
366
41
361
594
342
245
579
649
138
160
982
249
708
147
394
132
234
865
302
722
192
297
458
372
619
558
137
247
864
233
185
499
838
877
434
149
198
224
664
247
939
331
72
499
599
616
94
509
649
272
553
200
671
25
270
761
606
579
734
698
698
399
907
154
761
642
992
719
41
163
809
327
260
541
465
733
401
944
155
243
395
509
267
53
171
613
433
598
460
48
825
750
314
639
768
602
586
321
713
812
486
978
690
184
896
673
662
225
367
1
590
925
550
396
603
890
387
191
401
261
528
104
915
568
325
603
259
768
217
330
261
262
478
308
168
571
146
209
656
733
351
343
950
183
447
359
665
48
92
867
979
321
866
321
873
362
112
539
483
503
422
180
27
345
608
344
434
475
37
218
486
935
944
355
286
768
709
725
876
336
85
180
88
940
88
319
106
451
567
62
738
296
501
398
117
157
681
898
400
148
793
583
33
117
847
633
354
900
536
263
587
40
381
798
795
529
462
615
986
570
108
162
352
245
188
695
592
231
529
734
349
385
564
483
78
104
504
624
72
855
239
980
940
162
652
473
574
650
264
733
526
431
928
465
764
265
819
384
956
413
88
140
828
52
398
126
600
446
984
516
232
808
30
165
987
921
920
237
831
166
369
561
310
530
502
751
855
562
740
52
898
982
705
753
796
863
464
730
330
853
107
370
454
924
55
680
51
500
502
850
675
650
106
955
665
211
340
715
537
344
967
476
278
23
711
635
16
410
525
753
550
877
826
515
396
695
680
509
339
41
199
509
937
34
355
596
92
972
995
975
579
789
103
793
369
50
239
601
705
443
662
378
148
851
855
180
213
537
30
549
811
894
740
788
441
514
893
97
942
23
315
343
697
258
490
920
344
873
286
788
424
393
250
238
918
70
553
382
261
626
773
651
290
115
473
844
523
704
996
362
338
103
949
329
880
765
629
219
17
727
39
485
229
155
179
406
110
226
50
68
59
990
154
921
826
210
310
868
807
36
287
188
360
530
102
911
978
689
836
423
831
641
434
207
62
114
327
619
237
95
626
499
498
851
288
259
316
133
919
780
217
419
831
122
464
519
542
543
534
741
153
797
99
57
976
20
400
426
287
762
120
467
347
889
292
215
688
152
362
537
161
186
254
136
491
572
165
735
848
420
865
182
513
563
490
709
811
117
148
543
337
601
197
337
938
290
695
711
55
723
385
264
791
571
515
2
518
157
957
107
925
988
397
285
147
567
773
739
36
640
787
992
666
764
66
332
916
735
452
688
318
19
997
98
394
754
462
766
407
320
498
886
748
712
249
54
248
195
801
70
272
761
766
405
848
969
296
403
971
622
10
547
910
560
605
760
580
590
443
762
990
178
28
954
377
83
62
189
879
547
756
32
479
1
150
798
562
512
474
754
592
352
978
338
316
130
283
155
425
912
966
817
788
633
55
383
205
883
86
300
137
853
631
229
22
809
517
94
571
990
504
29
953
217
831
599
850
821
883
868
165
740
213
399
610
727
272
248
464
699
511
376
566
142
976
664
993
387
99
909
940
291
166
747
36
537
868
448
695
330
400
913
137
726
817
25
398
250
741
683
982
684
50
498
810
162
885
112
773
763
182
574
515
819
912
986
16
52
425
921
189
497
584
729
972
857
876
911
330
592
318
193
189
568
773
805
533
547
234
739
853
120
748
416
642
979
919
315
888
551
328
565
361
106
810
429
37
403
230
878
167
854
328
210
367
927
191
713
577
239
170
975
901
365
372
286
143
906
391
983
348
770
603
280
718
924
184
291
130
118
979
502
848
202
493
906
158
687
585
378
371
154
854
639
76
961
370
338
542
450
113
352
924
521
434
407
277
996
917
515
416
691
250
521
345
476
109
254
318
895
592
410
595
103
445
307
602
998
189
57
532
404
249
580
353
85
370
69
856
190
929
211
627
445
223
486
758
44
473
331
725
726
39
844
88
960
345
935
578
521
59
535
706
987
397
556
214
848
785
764
610
991
721
651
500
288
399
663
663
907
557
885
629
747
24
353
14
80
681
734
51
101
880
3
524
573
888
86
806
188
584
206
812
543
486
763
468
913
120
192
714
61
940
139
159
432
248
711
268
971
53
289
329
664
379
607
543
678
339
328
278
613
162
411
895
946
474
881
609
248
339
483
486
97
978
855
79
923
602
514
141
210
515
933
552
566
493
437
885
186
455
474
8
150
611
45
736
796
606
742
829
157
644
875
580
62
239
640
792
39
995
144
228
611
820
365
507
916
25
805
965
834
83
684
238
983
181
9
189
982
338
730
313
388
525
535
968
565
171
506
593
548
442
982
593
650
907
529
699
151
534
774
461
939
507
278
946
336
983
283
877
730
777
375
212
776
896
617
591
130
35
682
179
670
393
879
174
125
639
730
662
867
480
936
541
384
7
159
981
618
952
14
223
895
41
101
588
691
863
658
212
806
80
673
398
845
317
866
453
84
796
9
532
885
623
440
334
850
658
507
443
803
52
861
741
506
878
222
606
741
749
238
507
23
968
566
256
745
538
125
356
987
310
763
863
583
665
270
656
291
380
710
310
76
735
582
566
561
530
188
973
717
363
878
423
696
455
595
173
536
314
201
427
129
757
622
692
469
150
775
980
674
242
548
320
713
648
877
246
69
841
84
638
800
516
197
768
585
310
946
490
390
171
470
226
307
97
564
861
7
604
445
664
952
14
628
102
222
593
478
774
344
631
378
725
5
799
316
67
899
503
819
216
248
488
856
1000
739
658
292
578
690
933
940
421
303
967
71
551
732
734
488
878
551
301
913
733
886
597
505
654
151
621
736
43
837
328
791
591
235
383
854
241
369
71
372
46
605
925
443
464
630
54
975
551
499
705
161
975
482
364
95
25
270
550
104
591
924
521
439
594
613
313
517
502
823
871
826
385
174
570
939
417
445
64
814
846
682
257
713
269
521
141
624
435
952
403
19
922
836
1000
155
773
370
330
886
582
589
255
146
566
739
987
824
892
992
761
771
903
580
302
32
886
867
326
245
749
268
692
331
288
222
378
205
720
600
142
280
846
36
604
956
463
677
474
111
663
754
836
852
241
195
725
446
734
223
698
377
537
521
761
951
139
60
787
729
765
163
528
350
610
687
410
946
428
494
587
496
422
524
132
887
294
849
819
400
808
80
683
610
423
354
455
408
378
928
960
960
138
106
824
954
219
799
165
394
260
557
446
547
657
289
353
374
192
228
396
945
879
916
879
857
687
102
56
666
865
510
558
686
383
328
660
278
356
186
514
948
431
75
284
135
789
372
18
573
804
676
155
494
436
646
823
756
111
404
450
176
173
360
763
969
13
501
956
208
613
291
641
651
558
327
251
120
543
815
674
840
18
738
292
813
879
328
12
326
77
55
561
188
589
919
102
109
428
241
152
953
310
518
925
224
126
150
464
284
586
19
353
223
284
953
369
269
962
103
175
871
920
113
26
313
376
772
536
861
69
524
707
914
558
802
825
591
466
666
309
517
399
632
276
299
391
900
424
332
485
405
792
128
520
259
119
329
271
164
788
900
837
355
831
812
581
436
36
656
972
265
995
251
414
689
816
269
513
492
336
313
236
406
869
678
155
399
933
244
243
763
932
537
748
690
477
52
280
144
875
335
580
833
352
146
391
991
703
297
486
518
442
369
184
715
948
593
600
523
799
603
499
669
220
684
845
600
581
354
52
411
934
834
491
240
886
22
45
755
485
98
353
438
399
749
921
334
391
341
473
812
972
47
735
682
170
72
363
695
549
618
856
54
969
173
141
67
79
46
932
491
231
785
142
428
300
286
353
852
890
940
835
991
550
126
647
810
894
716
135
790
1000
48
533
47
52
969
428
586
941
164
574
147
494
952
907
673
33
149
646
899
242
364
40
940
656
356
679
34
686
629
257
824
751
527
370
601
962
463
185
997
813
788
839
491
516
23
13
908
905
838
415
845
369
190
831
546
860
527
31
322
852
789
998
31
59
235
921
482
830
797
902
904
417
730
574
753
687
836
673
219
495
432
167
749
588
507
690
814
862
269
917
889
794
356
960
356
107
524
71
592
40
544
704
48
157
385
483
512
254
489
732
80
778
86
995
562
133
65
437
218
411
852
64
710
343
137
490
128
749
38
355
794
368
484
568
291
676
167
258
832
278
425
704
650
482
778
520
574
923
684
78
315
490
255
470
284
339
300
341
972
495
86
527
982
381
636
802
846
651
196
955
649
841
780
59
318
707
303
81
118
584
900
903
592
735
470
411
646
472
343
584
987
750
266
373
412
83
532
767
754
849
225
630
414
504
968
758
494
787
526
180
516
720
875
836
580
119
61
691
631
355
308
768
158
305
331
783
274
807
751
850
623
426
834
213
972
20
524
42
656
405
875
172
281
432
546
33
208
872
979
150
385
864
247
331
28
76
321
65
518
365
690
689
605
484
857
642
709
283
197
462
642
957
89
212
570
90
30
732
409
662
616
418
126
719
938
263
615
93
923
516
929
441
599
643
628
864
72
243
934
546
285
172
193
167
215
442
878
353
277
348
977
22
116
922
162
316
849
15
583
738
105
235
454
235
854
522
878
207
131
355
516
870
231
462
750
949
853
436
995
440
974
825
671
24
936
137
150
810
358
660
661
237
978
194
773
363
489
555
529
250
748
215
777
838
464
541
497
524
660
891
200
647
697
234
577
208
656
93
608
451
216
306
310
397
925
553
128
999
975
616
727
379
131
86
624
511
485
581
651
782
88
572
717
124
315
621
709
757
36
131
679
164
262
756
643
597
970
228
399
270
244
697
819
432
671
639
940
636
213
995
14
899
387
503
411
889
644
105
867
925
327
906
147
382
390
420
594
23
401
709
424
905
970
632
837
749
869
576
220
104
573
978
758
199
850
408
739
104
350
228
746
715
831
643
691
130
767
474
337
166
640
130
579
128
97
71
225
475
530
519
462
658
337
291
476
268
311
404
951
590
101
554
290
802
709
641
408
359
294
275
955
549
369
578
601
801
620
702
828
111
188
135
300
851
217
300
470
321
891
946
541
604
971
515
296
713
42
28
568
527
326
16
359
730
899
671
666
827
608
729
115
316
798
515
393
254
200
258
300
811
997
16
946
852
96
513
277
254
143
767
631
433
636
644
456
528
791
367
708
788
485
588
664
961
666
806
67
916
149
842
577
300
566
566
494
767
572
267
563
183
109
910
507
299
630
16
568
522
734
36
1
844
560
928
897
426
638
90
195
67
633
944
4
569
564
213
609
23
613
409
659
142
638
102
70
106
816
315
105
788
660
776
981
879
803
831
56
156
528
517
343
80
24
701
672
982
733
178
258
310
953
339
853
829
87
338
921
172
517
705
476
883
120
980
322
893
874
285
436
460
810
677
151
681
838
783
605
103
589
481
652
354
497
318
69
426
778
967
401
992
836
246
266
90
904
154
258
653
400
912
869
564
547
240
975
401
321
931
551
558
666
380
196
184
228
818
978
280
562
945
852
312
875
56
649
908
917
983
165
583
508
936
451
914
579
826
771
288
296
742
29
149
17
67
690
656
359
122
349
824
624
343
131
471
199
720
62
786
295
652
380
913
597
410
529
725
955
145
238
865
250
705
621
220
959
610
776
223
733
172
661
756
549
100
372
978
553
951
119
116
784
409
277
75
369
690
928
786
618
367
199
335
675
484
517
271
68
144
644
956
483
666
955
465
625
27
999
347
824
503
783
470
355
384
596
343
111
154
432
507
342
759
244
44
660
462
309
822
430
311
977
810
928
411
945
712
407
66
990
180
263
330
785
93
82
660
15
737
217
184
519
227
915
561
616
185
732
520
33
524
136
960
153
151
733
916
368
549
522
790
387
500
944
999
292
638
260
582
975
162
969
381
343
760
572
118
348
757
945
74
465
531
30
80
697
523
307
243
597
504
736
159
60
334
487
350
824
158
780
334
757
804
569
43
958
201
681
260
652
772
221
366
665
104
705
999
977
669
459
109
495
1
254
529
721
547
18
407
428
344
749
749
807
780
409
891
809
974
680
928
554
717
946
993
769
486
750
824
158
801
302
229
518
41
289
901
185
922
387
540
93
14
363
380
309
28
608
36
456
138
256
61
786
257
802
700
36
8
248
134
402
121
403
917
77
126
865
429
884
497
634
877
418
855
29
817
13
457
785
208
562
934
785
718
919
196
865
413
139
455
523
922
314
591
190
938
142
440
879
175
627
144
705
960
537
407
737
254
307
339
90
227
118
592
14
465
756
685
942
521
709
686
136
786
648
957
603
599
97
269
410
114
617
405
418
665
280
309
682
307
547
957
480
729
928
378
994
998
964
678
164
422
134
489
135
376
254
13
999
107
849
686
280
386
709
575
675
355
598
780
135
78
627
499
248
137
340
898
268
30
966
641
826
300
594
704
545
79
278
127
304
158
183
469
861
806
927
31
936
293
229
368
568
478
807
205
804
887
229
651
304
414
75
512
477
164
363
579
127
969
613
8
416
794
370
285
138
614
223
822
925
309
617
931
23
791
789
761
699
898
223
827
179
528
887
906
261
138
349
393
361
994
599
731
860
495
19
113
15
482
493
496
605
701
83
880
737
492
38
944
906
302
192
363
516
903
914
574
510
990
891
313
705
422
973
2
690
535
189
923
876
769
838
184
387
407
241
667
9
312
364
521
349
410
974
243
664
103
471
112
582
924
797
511
85
531
70
681
643
571
744
598
397
27
74
935
598
406
671
528
329
560
739
389
680
941
357
46
136
855
820
919
954
614
644
530
644
550
273
555
542
502
956
119
600
752
501
299
199
387
832
465
745
688
381
978
304
495
313
757
295
427
551
403
560
491
319
896
742
858
711
353
948
558
367
982
169
393
911
157
747
655
238
492
487
108
70
887
666
273
478
807
283
262
222
440
386
275
816
982
197
417
214
23
67
656
888
884
4
605
851
809
615
296
871
121
838
259
732
788
770
56
882
387
212
854
248
84
307
769
273
123
787
473
506
246
899
995
165
642
35
755
138
301
453
586
853
102
257
927
257
568
964
424
934
988
595
879
38
522
179
888
275
982
995
493
664
212
644
906
176
376
278
675
619
13
910
651
364
413
750
809
579
723
963
232
650
212
28
577
382
284
181
948
390
161
8
358
810
637
355
950
95
931
148
667
185
489
592
381
811
497
496
333
999
6
133
333
135
818
133
379
88
699
404
201
969
67
961
810
68
34
841
265
393
557
15
761
35
523
285
589
248
754
712
723
761
322
14
554
316
28
732
787
872
607
694
624
186
27
436
136
757
236
819
169
198
834
15
216
187
487
417
423
45
279
782
319
875
874
102
913
923
74
291
507
493
311
741
953
335
651
211
119
849
162
320
5
900
849
113
279
239
920
776
26
802
850
624
142
197
554
875
102
720
5
599
826
146
792
420
967
368
446
251
225
664
844
340
239
7
623
405
183
386
356
472
451
527
169
315
715
750
597
75
201
986
735
703
241
90
160
382
28
699
682
962
47
820
691
745
813
251
788
686
411
681
411
157
815
46
352
962
124
298
469
229
661
247
345
94
344
546
368
896
867
237
504
683
997
437
11
422
739
948
515
253
194
544
112
489
719
677
666
826
344
178
14
435
519
257
636
142
944
830
166
939
615
689
298
438
250
585
787
686
949
600
685
969
268
530
485
848
901
151
518
690
796
367
855
388
877
233
932
779
456
737
310
534
97
97
305
927
934
982
688
931
397
754
326
570
880
340
383
301
151
772
698
485
175
814
31
656
625
328
128
435
522
188
22
347
360
637
484
778
573
947
350
531
402
108
278
223
41
82
570
821
473
845
866
158
510
10
898
210
414
372
997
220
899
108
695
523
466
661
628
41
782
603
886
997
250
865
130
343
32
786
59
748
495
343
287
801
484
815
274
202
877
847
734
363
581
570
853
777
524
989
727
938
204
318
667
382
43
346
390
642
159
165
688
509
129
822
829
14
2
537
833
994
108
122
767
892
185
181
358
738
978
456
584
857
708
416
332
927
796
838
915
448
757
627
958
579
484
594
195
536
7
251
753
437
381
932
801
571
579
719
870
535
140
705
675
602
830
118
68
972
787
706
585
259
445
541
112
704
25
142
416
109
547
376
606
396
126
112
126
85
762
21
550
643
983
230
268
887
461
751
125
104
154
750
234
553
633
747
472
361
987
796
588
605
95
505
511
533
153
574
162
472
991
119
26
971
169
671
788
86
795
189
585
565
744
805
824
851
274
320
21
475
33
642
864
400
114
473
523
330
122
545
267
812
165
633
593
202
340
359
423
227
518
560
390
899
215
607
871
23
870
581
233
386
168
702
689
988
875
686
284
372
272
43
787
155
454
403
676
387
653
106
999
243
254
195
604
863
378
890
123
850
727
362
159
63
899
342
294
862
525
698
914
874
391
610
354
714
177
380
536
782
568
252
88
464
253
823
939
573
804
749
487
830
460
515
760
574
644
949
433
629
402
32
158
457
39
295
444
291
934
760
228
941
878
961
371
371
334
31
524
914
663
245
205
243
748
680
488
796
398
847
371
389
607
257
783
180
27
883
172
966
983
378
810
58
4
759
258
585
81
953
924
187
833
259
282
456
338
294
122
385
638
466
127
350
817
315
222
813
132
378
351
35
874
339
802
555
524
333
748
120
283
230
413
17
239
599
162
483
301
854
847
989
490
760
958
704
355
93
469
374
79
735
787
186
325
910
890
923
962
573
543
878
624
203
493
505
458
362
653
799
535
431
591
718
136
878
103
751
504
249
226
898
759
839
836
940
354
656
887
818
824
867
415
397
631
368
665
629
565
531
106
392
524
431
606
855
477
82
771
264
79
292
298
471
707
739
202
334
660
829
943
393
884
642
818
845
861
73
449
902
234
840
843
82
338
609
301
824
44
916
377
120
243
898
238
506
821
129
990
857
248
3
997
897
720
163
753
271
347
471
654
270
84
875
830
70
890
333
325
406
159
624
36
164
570
493
242
273
339
77
10
629
317
965
490
511
500
572
884
100
288
716
901
270
276
433
606
758
441
93
900
206
345
820
301
337
370
77
298
675
61
10
326
843
379
851
323
440
18
185
899
882
992
419
392
431
368
127
459
799
356
265
406
366
989
408
149
46
249
293
576
279
826
943
57
446
651
532
61
254
982
33
124
284
70
342
928
925
407
246
855
415
106
128
210
532
252
746
224
785
932
763
77
592
228
961
432
70
674
255
395
481
547
661
394
345
877
355
184
477
283
854
111
950
526
119
753
71
231
74
326
6
327
652
530
592
599
951
90
226
201
531
850
443
103
167
157
965
203
629
227
511
322
156
324
684
317
353
882
535
369
173
146
247
843
501
533
502
225
584
632
727
323
267
738
352
311
497
847
657
219
92
287
558
141
97
550
890
805
380
429
379
117
291
263
496
959
298
952
823
825
544
421
382
847
160
373
645
391
992
494
545
666
125
776
908
741
220
224
145
938
203
51
923
844
309
374
821
40
807
564
610
271
12
637
927
931
333
523
582
652
177
589
606
299
515
561
513
858
775
844
888
552
536
307
574
999
159
792
236
403
138
956
999
564
396
577
208
962
220
122
80
286
810
199
171
578
654
485
139
564
76
894
231
867
318
995
285
524
496
179
824
638
577
667
989
56
313
205
618
682
707
227
808
398
172
328
671
613
990
133
774
110
100
22
20
243
478
731
274
511
614
537
114
173
659
585
468
925
820
958
779
573
519
225
528
296
613
538
634
355
727
857
274
29
354
464
139
191
945
788
993
116
619
450
696
91
493
594
490
896
896
795
481
485
854
290
682
26
346
806
933
36
773
44
275
486
974
726
76
621
913
172
338
720
840
570
98
198
338
465
807
220
174
499
862
515
278
96
236
155
490
643
282
866
943
639
338
871
82
507
730
349
350
960
117
339
508
356
906
341
428
8
642
890
920
226
844
138
856
770
771
812
363
455
982
971
408
914
358
651
398
875
469
853
765
881
767
287
668
66
138
976
46
461
725
123
268
315
820
588
542
100
823
974
30
161
921
589
397
485
216
471
90
696
441
280
219
150
321
83
351
995
863
982
852
139
563
77
699
330
585
483
817
997
472
996
92
53
819
509
144
590
679
496
883
311
135
692
586
548
619
618
989
963
76
733
455
331
974
827
771
368
523
712
579
200
186
404
732
915
726
767
90
605
560
18
417
461
187
584
67
762
777
562
92
56
817
411
241
442
863
590
104
609
38
559
275
235
910
929
12
383
767
586
333
812
114
297
849
465
445
626
955
959
905
26
156
614
547
577
446
389
250
197
612
118
245
86
293
620
408
789
410
560
142
567
328
426
696
664
717
645
271
678
643
625
68
474
842
471
768
985
482
249
551
816
979
894
898
761
599
331
851
234
622
883
371
136
838
859
664
870
37
7
108
39
892
647
505
882
390
445
892
653
511
152
104
928
395
178
579
340
626
499
662
322
598
236
794
232
134
246
529
681
667
161
286
952
339
646
94
154
288
75
370
178
275
429
946
548
536
998
131
996
406
377
604
963
844
312
314
251
443
212
364
731
911
504
82
363
262
557
68
776
191
612
59
304
165
4
845
701
797
976
341
696
966
545
120
200
958
228
394
238
652
893
450
615
373
645
26
922
593
467
980
733
91
258
843
739
548
44
575
145
771
374
877
837
958
365
927
750
431
394
311
332
255
208
186
245
67
80
471
240
178
694
920
668
737
656
510
224
345
849
447
341
980
404
472
120
553
695
855
785
685
620
644
454
554
378
240
442
772
118
389
392
294
122
980
293
301
627
870
846
854
4
85
684
862
770
357
683
574
841
938
971
372
486
26
252
111
697
950
790
639
63
441
673
410
783
970
49
298
161
130
611
824
768
457
969
994
479
949
481
885
770
753
754
914
952
143
294
446
553
981
729
45
636
281
605
196
692
384
22
757
657
512
260
784
723
149
121
581
886
782
914
32
563
14
896
299
226
973
508
987
697
225
909
704
652
120
187
791
926
617
96
636
408
130
333
612
672
898
163
183
1000
691
707
124
129
413
261
126
876
295
876
273
767
957
784
18
950
531
403
313
962
428
373
496
348
108
488
369
778
368
445
699
31
253
43
979
158
705
850
895
194
423
377
400
52
237
466
688
566
509
978
624
256
657
826
414
32
956
72
364
965
178
112
595
199
463
939
504
330
58
90
555
812
214
177
727
520
564
817
569
162
786
380
337
77
193
217
159
884
187
933
489
560
183
833
390
779
675
879
337
775
635
366
295
565
309
74
820
85
779
805
775
703
384
78
86
593
186
254
603
680
193
490
786
193
997
771
384
404
783
690
733
780
441
811
591
605
631
188
654
126
215
94
38
381
427
43
33
200
516
3
397
289
367
52
278
937
777
809
641
622
656
678
705
746
409
340
498
767
135
907
68
260
109
903
311
796
203
506
635
105
509
550
886
664
473
382
42
706
248
20
218
690
827
2
406
397
747
937
193
182
800
74
458
361
246
94
628
378
469
962
655
164
898
911
278
79
269
515
531
903
983
397
653
631
420
304
771
238
522
192
770
139
881
435
731
831
866
528
209
67
14
424
420
959
46
194
66
620
379
829
158
311
930
819
687
536
340
596
404
263
504
83
287
204
403
327
506
123
821
663
816
242
469
930
344
133
406
9
692
923
417
357
109
241
190
280
253
111
706
380
714
912
260
18
52
582
909
622
563
506
970
397
360
890
362
296
681
977
238
132
472
164
355
360
431
928
49
362
704
484
537
36
304
281
487
116
177
729
457
921
540
90
841
175
756
40
433
121
543
256
579
412
758
297
149
138
346
174
250
956
296
255
682
447
611
578
612
748
365
221
869
995
891
95
529
329
33
437
191
43
159
297
453
934
364
546
608
103
835
248
528
238
919
795
11
882
788
832
625
319
954
863
223
474
78
373
849
684
685
469
723
242
394
322
339
433
230
141
519
94
456
26
383
892
75
802
844
122
847
851
174
304
215
57
605
798
25
174
745
401
285
343
755
198
503
27
891
949
341
309
17
946
424
391
111
583
117
100
640
844
43
430
905
539
893
417
106
400
820
174
937
81
334
514
960
692
150
419
894
744
902
514
207
302
936
874
83
683
723
692
929
249
515
808
53
751
3
628
64
153
662
736
825
109
369
360
520
64
671
898
492
459
747
944
38
688
743
555
269
239
631
63
494
942
171
378
283
350
870
565
568
63
60
441
648
254
326
106
934
717
582
589
644
530
18
253
422
826
978
205
24
206
621
726
813
62
827
644
778
459
429
658
199
209
290
850
881
518
136
8
76
869
345
925
844
842
75
546
611
202
231
681
109
909
745
33
738
661
594
428
585
206
761
501
30
939
86
528
890
237
591
773
508
566
380
483
88
647
674
624
812
882
871
575
971
778
807
218
428
336
518
329
201
256
897
721
875
307
598
315
838
424
443
240
36
925
329
61
85
720
377
470
66
584
626
105
276
313
99
703
540
106
464
431
416
598
851
90
781
769
588
845
835
374
767
303
523
649
565
19
729
775
227
986
365
989
406
263
680
312
378
650
658
545
255
262
406
584
923
891
779
126
882
318
342
506
560
91
948
778
960
854
811
121
665
989
29
313
377
212
863
343
99
763
980
159
62
999
69
211
239
531
880
715
67
519
828
469
607
394
710
693
891
38
985
577
700
441
322
125
287
927
805
471
898
336
252
18
39
930
617
659
543
404
322
851
448
90
667
484
576
339
197
373
511
101
984
632
325
947
329
409
43
97
315
225
321
560
952
635
211
158
422
78
246
8
67
518
238
50
296
947
386
316
589
897
254
961
88
855
189
490
77
888
534
262
809
828
806
70
726
96
614
562
101
622
715
309
548
317
20
563
617
275
804
157
917
202
602
508
836
558
515
421
904
586
707
218
338
667
915
750
71
441
679
4
857
738
820
351
667
652
438
964
649
7
308
562
379
86
97
440
995
705
268
696
86
648
890
655
867
19
818
785
272
290
873
787
74
699
727
126
40
176
150
23
435
151
189
774
891
465
601
343
775
76
576
370
705
408
373
55
802
22
18
959
583
727
586
362
154
393
942
686
496
482
29
473
191
781
910
508
905
875
815
24
295
675
396
331
774
704
226
839
770
901
339
212
664
430
265
288
611
356
605
506
824
46
616
771
711
890
713
126
461
227
34
95
295
393
437
295
606
448
381
762
647
440
152
436
265
48
808
440
408
62
33
98
769
420
812
128
22
486
471
67
502
815
164
806
110
919
325
41
440
442
951
557
835
707
863
532
162
831
198
463
549
454
517
880
279
671
836
775
284
940
801
518
432
569
987
127
878
901
23
899
308
444
809
829
793
27
637
709
339
514
389
486
925
738
361
284
3
80
423
480
948
586
415
348
923
559
667
83
9
356
502
495
163
489
413
207
812
205
385
36
422
443
449
74
396
409
180
123
39
76
271
327
153
568
729
276
980
750
519
336
901
333
658
734
246
452
880
732
45
1000
993
244
370
954
942
443
137
546
444
206
928
436
747
730
385
942
720
307
244
10
18
15
906
823
480
45
710
869
310
508
786
850
803
778
399
7
569
911
231
344
269
202
903
722
831
704
377
21
30
404
558
361
62
804
544
920
473
866
493
4
366
594
996
843
347
98
178
63
56
609
504
898
462
754
388
977
322
390
266
975
324
411
772
484
488
274
972
234
321
385
440
164
93
152
84
944
326
233
254
216
288
441
620
246
816
842
739
665
282
818
990
679
896
240
803
478
829
462
696
548
813
527
672
268
998
840
936
464
842
579
742
568
703
288
420
648
656
399
250
865
743
936
948
815
528
287
947
861
334
709
539
734
4
199
212
664
374
459
187
790
881
953
260
866
923
470
514
127
626
173
391
711
652
874
898
216
592
115
438
826
223
739
859
912
642
772
855
198
872
850
758
351
41
897
109
375
647
450
121
251
740
846
312
87
73
468
116
465
409
381
255
745
206
996
8
860
830
826
290
527
331
37
628
849
517
224
711
15
784
796
159
173
673
392
585
570
637
28
792
749
855
8
185
926
240
221
57
675
950
135
474
693
850
622
866
727
331
826
294
733
844
385
589
915
305
697
205
618
243
363
691
950
218
616
129
617
547
295
752
689
829
910
250
934
116
434
905
897
814
721
825
140
577
866
1
905
515
417
834
17
7
44
51
1
304
198
665
259
874
309
740
623
159
285
226
755
974
422
77
709
335
357
194
386
855
363
461
763
225
100
302
570
464
932
737
478
792
45
855
995
7
909
26
2
166
60
887
245
260
799
383
180
286
164
650
291
816
435
594
336
696
544
350
43
15
945
648
453
845
926
308
419
530
871
693
818
528
685
979
643
867
442
529
462
312
354
487
728
247
285
933
984
66
413
626
354
630
78
365
593
959
511
484
587
843
939
869
437
547
504
119
156
78
534
201
571
792
975
974
249
226
216
504
121
151
103
940
17
799
676
59
504
78
49
259
267
422
903
939
762
562
243
679
29
138
460
592
356
570
211
545
965
3
342
668
993
486
853
752
833
726
950
641
335
943
298
731
449
331
938
15
645
626
748
896
856
79
952
181
725
937
936
228
679
147
542
215
721
617
113
923
836
790
754
167
624
703
697
282
92
986
182
648
546
417
974
254
156
796
488
765
120
864
511
334
265
925
672
701
584
649
156
714
480
233
600
491
394
771
795
886
139
166
572
796
446
411
228
102
182
369
934
731
238
480
841
391
294
946
20
40
556
35
942
29
85
120
931
168
509
927
927
668
764
280
924
40
8
303
653
525
994
646
439
591
5
809
675
326
918
43
16
346
90
625
233
916
531
533
640
608
265
679
143
717
879
874
271
49
987
670
971
468
774
58
584
753
801
744
157
902
1000
417
188
21
158
956
959
309
195
26
843
479
244
868
381
142
890
397
439
296
892
896
471
107
395
703
774
557
931
285
627
402
491
20
372
100
535
800
827
31
147
320
896
360
408
521
898
381
702
213
888
23
897
337
247
472
235
666
885
548
355
16
676
561
62
193
170
838
334
953
191
37
593
258
671
643
451
963
943
766
973
865
788
460
2
742
691
317
248
596
161
5
652
841
444
756
984
557
655
554
793
281
165
914
564
1000
69
691
398
169
686
326
618
585
356
285
444
919
228
247
282
530
357
723
251
958
175
435
256
148
333
717
315
18
984
623
864
481
797
236
451
374
393
850
566
58
438
347
358
659
308
82
641
972
136
35
904
101
15
806
987
803
348
293
746
302
621
503
255
103
385
34
90
926
856
197
763
436
342
625
689
901
644
489
908
211
713
97
405
12
69
769
26
803
943
333
918
977
651
513
906
690
458
771
419
394
66
853
429
599
921
449
353
151
701
844
10
905
752
413
568
175
696
100
837
757
164
810
434
631
366
731
82
686
256
212
767
927
142
745
560
669
906
963
646
154
438
362
535
899
511
610
450
803
69
888
638
739
822
717
701
892
136
99
86
606
404
608
537
855
506
295
684
769
488
842
909
808
292
465
301
302
239
475
824
60
968
218
771
677
699
404
219
974
27
423
453
737
934
347
302
550
312
734
870
43
153
256
435
339
422
405
170
817
818
224
900
551
839
105
340
992
4
167
115
467
665
621
392
88
553
857
155
530
122
658
975
910
765
90
634
715
198
136
121
308
661
36
304
48
90
681
86
485
87
91
934
385
346
215
479
589
168
764
309
818
832
841
155
585
896
405
441
317
937
436
562
633
859
832
299
474
650
626
518
471
391
144
667
456
406
80
598
541
650
287
944
544
848
294
618
835
411
155
978
858
894
280
901
712
572
297
256
133
760
857
293
173
662
512
45
669
830
447
132
318
861
900
306
807
515
571
628
994
303
157
466
551
503
461
359
860
677
165
381
193
38
458
847
355
407
191
70
68
122
139
411
316
920
230
55
778
793
334
763
230
773
300
387
529
864
462
44
356
667
745
690
417
767
868
274
212
606
832
804
791
412
79
399
154
725
210
865
55
183
156
415
48
563
17
891
514
481
578
263
269
790
698
227
142
459
314
455
505
661
828
404
373
829
29
636
122
724
486
271
273
904
589
548
64
542
996
463
734
258
290
90
537
448
68
543
516
649
495
438
953
612
655
407
280
106
593
436
884
936
69
770
960
320
465
705
9
535
149
827
95
727
886
186
288
842
555
417
971
948
520
71
868
594
465
269
710
453
459
324
429
220
235
168
642
617
462
256
995
411
828
116
598
550
329
865
418
870
53
831
965
348
86
878
40
539
925
149
634
663
900
730
264
795
683
177
199
729
909
911
28
409
287
275
7
247
387
409
414
267
417
192
953
771
920
191
882
142
306
944
91
484
519
933
875
13
937
267
471
516
849
469
772
728
403
727
772
193
999
641
430
6
499
807
626
870
458
527
809
64
831
579
732
227
246
251
418
378
996
764
120
189
347
826
557
357
637
280
192
854
898
735
614
939
424
605
390
84
784
223
885
391
256
540
611
634
587
485
675
816
242
196
728
988
50
227
647
157
255
294
839
277
486
291
680
697
119
114
96
937
810
312
701
343
719
661
233
992
119
610
249
197
590
893
160
109
995
775
749
195
787
88
225
827
952
646
737
831
89
681
23
590
713
653
520
232
826
160
848
494
238
719
21
104
893
838
167
881
671
182
778
329
751
599
720
181
647
446
360
211
448
947
108
645
621
313
662
667
993
925
989
858
155
214
843
855
597
762
245
190
327
776
867
37
610
301
724
563
706
460
917
670
197
571
431
192
546
196
142
16
39
52
274
187
145
249
494
771
638
495
738
158
533
756
634
503
997
358
81
235
918
651
146
900
749
203
941
119
566
920
556
113
24
627
445
86
43
422
877
700
603
563
198
71
987
696
690
948
172
38
754
235
849
488
979
596
713
709
443
653
265
953
222
215
340
766
663
26
990
720
470
786
129
39
989
554
577
298
405
218
746
377
738
370
217
520
614
853
918
642
826
172
413
987
564
209
54
901
50
957
432
706
25
486
556
640
144
998
691
402
919
607
639
85
233
450
507
189
846
813
693
968
545
249
903
570
754
73
497
313
490
173
367
965
521
848
833
73
474
234
772
236
406
952
302
711
63
781
852
897
637
556
393
39
352
959
934
987
596
582
105
921
662
426
840
798
361
24
669
641
919
468
134
923
585
957
180
53
342
903
147
325
946
250
183
818
280
428
448
388
665
265
511
316
344
291
691
160
827
45
937
82
161
447
18
238
484
779
428
819
394
578
428
3
798
546
58
347
871
634
812
171
695
617
884
52
951
779
555
856
772
841
329
678
474
894
900
606
451
863
878
539
924
33
488
121
616
218
129
478
661
463
753
608
216
553
521
173
332
202
103
982
579
510
256
594
836
182
55
366
421
22
251
722
435
444
752
602
792
67
148
844
906
6
544
726
443
118
688
9
812
288
545
615
356
838
3
482
281
258
363
268
423
772
631
274
898
681
402
417
512
60
286
79
572
113
437
438
411
442
710
206
485
543
374
761
388
72
134
331
509
826
369
232
347
912
170
155
670
292
741
152
834
729
161
297
557
195
350
925
367
955
312
14
763
869
364
542
835
940
143
560
740
766
595
354
953
362
63
288
661
746
824
827
10
814
117
813
178
274
797
258
403
836
210
823
164
424
816
643
687
920
357
372
822
820
97
157
139
243
759
726
760
920
324
963
65
161
755
115
904
289
78
289
347
729
954
950
360
739
57
998
959
761
93
349
587
508
275
97
448
207
429
59
495
840
658
896
618
865
707
93
331
640
709
769
899
695
13
672
467
82
184
740
142
254
55
303
455
314
934
322
833
27
678
75
958
668
354
350
960
668
666
506
419
999
110
740
21
423
123
517
594
70
66
387
908
252
994
373
296
109
592
669
672
425
517
673
972
944
681
252
379
603
664
710
972
355
538
154
569
689
872
795
634
537
584
290
55
942
608
376
531
826
40
929
27
155
573
24
509
74
511
796
731
890
602
631
368
318
270
760
190
61
544
390
306
644
137
319
708
364
694
403
491
390
151
341
158
339
560
981
362
67
450
766
274
80
26
987
542
671
42
231
449
859
209
790
454
249
381
812
771
179
554
668
22
893
943
355
287
47
990
740
61
530
207
101
735
454
158
764
219
173
728
545
227
362
63
377
587
515
229
761
627
698
649
607
345
22
883
635
609
133
140
751
42
900
212
710
638
664
171
937
389
607
279
612
350
267
21
961
674
778
100
262
85
140
498
230
158
734
451
311
556
314
273
883
67
940
495
542
880
633
720
446
46
85
906
160
482
397
556
570
188
660
414
198
586
166
834
712
995
183
947
486
308
507
95
830
894
472
804
905
556
696
719
418
167
599
515
858
261
658
789
479
400
433
338
189
648
638
10
250
830
899
552
993
557
409
477
772
194
372
975
30
32
1
369
641
940
824
389
701
686
247
834
505
923
635
788
783
568
646
646
156
938
213
639
394
520
333
421
294
721
807
562
889
274
149
438
290
251
165
126
635
758
112
381
535
506
933
669
894
373
778
539
207
998
933
326
242
202
287
272
535
729
721
699
263
420
92
789
894
410
64
824
443
363
657
547
318
78
236
377
500
18
638
812
246
449
272
296
581
905
312
185
610
644
580
230
61
606
279
155
570
138
551
510
870
412
703
958
497
41
62
545
581
839
618
317
26
98
25
846
702
996
61
845
264
983
357
77
885
43
51
173
486
792
42
832
5
230
693
95
900
817
151
41
316
253
919
293
315
976
995
205
149
917
633
428
788
518
775
863
849
339
286
658
591
853
395
987
909
190
154
883
70
635
328
211
519
704
820
264
237
445
670
87
972
446
655
816
177
700
790
785
642
76
296
131
588
654
210
912
498
605
400
531
55
585
618
382
338
869
201
195
878
553
149
507
233
213
621
68
542
328
337
734
855
637
969
602
156
361
381
711
670
864
493
625
444
904
613
604
194
103
310
894
128
643
320
834
763
463
465
132
771
463
317
669
537
277
169
593
423
205
897
347
688
818
453
467
653
521
81
651
972
144
786
669
786
205
288
105
162
63
403
812
440
604
834
238
21
451
379
419
694
965
894
572
804
419
711
666
460
855
835
263
467
60
931
225
903
989
47
583
57
773
11
984
975
99
687
652
986
391
597
716
418
697
959
112
148
608
821
981
792
856
845
650
74
449
225
822
385
355
411
567
609
751
559
61
64
821
108
805
779
925
482
221
417
718
678
103
847
455
416
408
760
297
602
233
731
890
102
679
838
882
191
453
262
320
596
708
314
84
751
644
977
560
746
794
359
835
441
777
415
540
417
524
947
324
734
644
111
647
969
623
671
225
618
38
754
982
779
811
167
810
933
798
210
799
807
706
478
828
491
390
377
598
490
77
943
244
869
972
66
611
474
995
439
223
24
88
366
675
960
690
58
953
122
442
223
725
676
159
551
180
229
416
150
403
755
826
132
570
748
263
315
508
31
804
447
251
764
140
434
291
518
566
827
162
675
425
198
818
109
69
123
62
762
974
173
904
745
633
726
319
593
261
393
344
585
129
595
829
400
567
97
437
939
276
382
703
830
639
320
36
999
91
975
560
708
514
288
618
611
802
53
551
717
411
839
109
637
774
478
480
119
882
306
447
655
241
605
631
942
643
591
137
22
900
852
158
247
756
368
263
582
672
94
166
390
103
637
723
515
167
735
835
416
305
77
646
120
678
521
202
975
532
902
255
535
720
437
470
419
870
199
648
673
456
267
946
956
170
915
241
889
520
648
986
19
566
996
861
148
68
701
548
242
64
350
728
717
99
572
222
684
910
607
810
643
334
463
851
192
635
877
300
547
225
987
99
65
966
976
185
496
875
928
592
391
27
801
166
969
940
733
483
714
505
841
401
202
792
335
561
926
708
8
819
413
513
116
266
529
690
260
990
691
504
107
220
645
863
712
786
555
776
754
144
452
784
201
327
469
213
831
272
901
33
504
952
819
357
333
612
895
363
675
188
122
526
426
697
294
542
197
977
504
305
799
655
411
568
920
636
684
717
981
737
888
184
975
284
22
619
474
654
92
861
139
745
367
135
768
339
430
682
343
135
748
160
589
999
225
804
289
652
159
255
935
562
49
415
378
286
980
464
760
903
663
368
415
444
777
872
371
431
942
920
779
730
522
945
872
930
453
245
42
370
491
946
247
752
556
655
218
11
368
1
899
724
193
692
115
896
309
585
738
391
750
538
494
635
10
505
148
451
629
389
986
84
21
672
411
499
450
753
984
47
850
197
427
442
991
818
957
805
611
645
801
199
294
329
901
703
236
465
642
548
565
661
875
285
535
913
649
233
759
981
844
716
601
25
315
698
9
718
268
480
352
418
330
57
280
727
158
588
217
996
530
167
900
848
546
789
231
844
946
909
859
775
588
523
73
866
811
52
24
417
740
594
809
972
597
312
660
172
735
822
351
855
411
450
905
786
297
133
921
672
334
556
92
734
817
859
23
169
543
848
66
295
432
205
693
50
282
623
880
735
228
142
65
654
28
215
534
291
516
207
492
228
435
71
628
871
392
950
775
344
868
310
87
651
30
8
242
281
638
382
363
991
430
62
713
396
248
686
726
346
561
145
610
807
237
259
577
102
118
56
747
927
464
908
898
510
349
858
544
650
903
384
249
138
649
701
718
246
278
476
953
535
891
459
684
261
139
130
360
2
694
922
218
973
189
956
338
684
87
525
128
209
957
739
390
374
270
856
972
564
145
818
28
726
444
432
69
336
233
443
315
795
899
480
350
718
169
477
703
83
830
712
791
49
237
52
580
513
578
329
475
185
417
47
153
8
270
751
527
268
840
497
569
605
40
795
458
473
156
300
426
272
309
312
685
510
897
830
54
863
824
501
237
941
176
329
219
876
409
396
932
619
299
179
145
952
640
269
532
788
119
424
997
281
905
928
647
648
217
161
218
342
540
157
418
444
242
648
362
661
18
781
231
370
999
255
333
499
383
90
3
845
98
623
148
666
401
629
786
954
267
628
645
857
109
563
728
114
649
30
764
218
756
135
652
263
669
917
299
49
306
933
770
120
300
300
272
816
987
967
312
317
818
476
313
919
582
789
71
455
364
30
701
864
412
147
158
388
909
571
953
792
238
907
466
281
448
593
105
517
519
237
620
242
501
37
91
521
743
285
438
587
266
461
850
554
783
848
160
28
985
889
59
801
500
760
978
340
380
735
650
757
21
991
626
311
220
395
482
255
429
707
58
21
364
378
835
323
807
752
473
748
854
97
605
784
839
324
221
64
897
660
356
787
437
803
345
907
811
302
610
690
99
991
786
688
276
306
34
968
940
243
522
735
460
519
413
73
624
220
157
620
863
855
543
432
643
275
728
170
956
356
460
988
646
680
756
218
949
722
629
980
788
210
804
390
263
377
3
879
292
806
64
483
552
471
78
649
695
307
744
221
343
411
367
779
468
495
273
469
634
789
907
735
985
941
593
170
30
825
710
783
34
376
58
587
248
678
305
338
339
606
711
624
76
249
758
284
786
167
956
303
110
337
810
922
324
252
898
675
869
254
47
486
739
613
863
731
94
271
219
399
761
449
882
103
336
501
135
684
209
506
139
618
156
91
743
230
139
884
672
993
514
828
318
808
191
286
832
229
186
528
894
44
596
696
276
506
296
813
321
746
552
728
513
622
278
155
617
283
930
133
273
287
863
280
486
930
506
203
219
816
930
313
157
357
181
53
762
23
278
268
944
692
906
32
20
363
676
745
160
827
247
743
165
640
765
957
281
894
826
410
693
801
632
437
520
101
62
584
393
651
163
51
181
322
951
423
6
511
477
167
460
157
819
39
881
143
52
114
571
352
263
640
119
468
354
261
352
779
745
474
984
910
58
370
743
387
528
790
605
380
200
52
774
812
930
319
231
235
830
456
972
559
89
17
569
732
5
554
309
944
703
44
952
808
201
629
116
208
452
226
394
211
486
834
576
499
57
489
759
297
13
935
712
622
180
1
596
40
698
598
8
757
631
8
395
57
128
837
52
553
582
610
287
696
66
482
859
286
741
954
449
490
108
791
751
999
708
592
758
528
342
548
956
800
954
992
426
541
77
287
305
756
139
426
674
763
989
486
686
33
724
749
687
848
252
847
136
241
83
780
381
419
493
33
725
132
573
292
753
29
655
471
623
86
270
843
826
598
95
82
996
74
324
935
466
617
500
53
623
995
146
242
588
682
455
17
380
598
881
889
518
141
749
246
984
378
870
36
532
925
737
737
650
157
67
231
845
847
357
282
538
248
611
296
563
931
624
903
155
393
9
713
376
566
681
258
90
895
646
764
2
537
754
880
737
625
569
903
657
231
570
370
892
822
757
99
73
580
89
892
382
867
335
152
827
527
628
608
103
457
434
196
5
70
699
884
123
852
659
902
467
199
158
411
744
127
371
99
241
247
483
587
664
589
240
817
803
494
275
772
633
810
770
983
271
37
307
295
255
927
767
253
781
255
702
305
817
151
940
732
565
405
76
848
303
651
108
556
497
154
732
769
982
248
704
585
132
99
223
317
213
587
549
691
500
573
879
547
362
712
95
376
186
289
130
904
979
233
587
712
449
626
692
582
627
489
868
846
422
600
973
540
7
405
769
549
636
831
252
272
270
956
299
548
413
44
492
703
675
409
88
641
877
922
843
823
967
789
795
821
616
341
188
925
135
223
426
895
260
308
300
552
440
97
795
357
491
136
446
524
853
208
546
473
260
671
529
656
303
323
484
846
233
611
81
31
382
834
139
922
718
221
709
934
391
423
795
201
621
996
812
829
882
924
420
123
175
78
662
965
86
802
221
870
475
464
164
500
871
921
772
583
84
318
906
242
125
536
922
722
232
932
292
373
715
674
947
554
372
143
880
771
401
346
641
25
127
247
229
788
365
240
314
481
873
717
846
614
245
854
906
999
500
276
70
559
815
210
655
292
117
126
965
902
707
604
50
453
701
379
566
146
820
52
15
6
993
998
49
798
315
354
521
5
122
790
661
41
332
974
106
186
765
261
494
915
828
133
992
383
831
379
439
850
187
810
757
720
957
545
883
698
477
574
781
306
330
321
9
589
528
415
912
425
600
728
762
258
192
11
62
452
917
146
810
685
461
94
690
999
341
133
102
166
316
853
383
6
168
700
838
185
457
540
983
793
917
860
931
697
316
716
980
285
25
484
311
673
986
796
113
918
491
773
635
45
971
836
397
954
9
900
245
389
892
731
34
189
352
617
450
979
554
244
903
315
30
883
470
60
5
549
596
391
479
800
617
466
502
215
210
189
326
434
556
938
496
800
341
388
467
296
715
752
75
484
994
864
8
545
182
541
462
421
368
555
316
215
677
390
502
730
716
644
715
15
417
606
256
298
741
50
584
500
974
738
113
836
241
463
889
667
435
745
53
841
945
411
405
278
476
402
965
412
762
94
161
454
150
311
155
81
896
988
866
352
495
146
450
90
523
431
347
963
282
968
531
789
6
709
252
342
493
753
396
86
839
357
561
813
346
471
100
111
788
676
651
962
975
345
155
539
926
697
945
447
66
151
251
227
526
90
423
951
56
660
178
111
22
744
497
814
716
608
100
522
481
15
34
143
199
783
578
359
314
877
534
458
890
111
982
786
159
468
751
180
635
842
185
382
165
757
251
487
190
206
691
926
122
344
702
375
955
152
584
228
142
601
899
944
347
28
948
700
859
672
797
219
376
321
646
577
344
45
79
73
264
821
613
973
197
703
16
25
190
812
45
195
528
84
648
981
488
170
136
990
770
332
555
224
883
462
262
651
545
597
733
184
601
431
740
164
36
348
343
806
428
457
580
809
566
954
365
561
48
877
849
898
348
18
412
399
260
267
566
586
614
199
226
196
878
46
251
906
569
508
641
499
423
33
541
483
897
326
3
614
920
795
501
574
746
625
354
342
393
920
539
385
440
128
860
912
883
566
60
824
329
404
289
917
78
912
256
125
522
130
526
289
878
353
676
9
442
14
425
633
490
581
478
324
406
107
490
461
868
884
495
320
707
507
174
119
600
303
515
1000
877
681
811
481
549
498
425
218
117
896
437
678
861
431
104
444
76
502
46
448
144
243
220
382
458
56
22
879
914
929
313
862
141
510
787
611
640
672
820
677
787
973
925
797
963
962
930
299
139
776
307
366
932
846
415
645
456
813
978
397
327
940
836
319
809
433
834
652
409
50
756
8
185
326
356
564
676
525
874
958
601
182
918
240
457
709
202
700
697
84
446
272
431
87
700
456
511
883
430
411
390
16
1
910
386
49
586
402
847
124
124
245
228
723
661
537
304
766
320
652
556
974
164
709
271
135
443
713
73
479
43
51
365
896
498
347
691
138
573
421
74
455
253
240
239
345
976
315
12
231
55
932
292
907
544
994
757
538
262
998
840
856
277
877
592
941
920
982
754
633
327
507
739
206
581
26
247
388
733
630
921
200
415
356
800
383
250
202
317
352
5
67
241
737
272
360
270
556
466
861
963
999
125
668
299
598
790
685
452
288
249
187
275
507
556
433
619
993
34
168
818
411
406
141
608
259
341
413
273
783
918
345
71
769
965
619
819
178
790
546
83
529
561
244
568
834
461
926
185
682
818
701
721
738
578
779
241
550
876
925
116
32
941
302
74
428
274
627
758
866
832
681
89
839
947
763
144
67
864
660
337
262
26
47
492
221
750
4
726
552
483
537
183
63
633
531
343
553
871
601
6
247
871
653
88
641
696
818
43
896
428
586
72
172
170
612
267
528
259
670
504
95
386
668
197
217
329
458
2
202
168
431
172
112
183
512
548
756
126
244
103
682
174
83
548
494
679
920
761
276
784
85
688
227
68
795
946
895
653
60
557
546
632
581
116
260
226
46
241
352
858
545
308
553
152
526
342
214
983
833
428
452
841
886
129
785
167
983
258
297
818
57
780
763
492
928
740
533
758
270
928
141
334
40
383
770
375
88
952
736
852
17
873
79
521
158
733
222
623
662
222
392
176
345
835
172
698
855
19
116
198
182
304
834
590
275
647
325
990
805
551
641
968
657
515
139
476
807
31
681
71
653
660
160
28
676
659
623
128
590
291
79
242
753
189
839
275
670
111
803
708
885
999
706
767
421
495
738
160
185
996
321
492
451
856
69
664
599
592
132
47
797
792
170
727
180
973
210
920
423
825
486
480
262
88
160
520
679
839
527
322
956
106
892
99
749
527
805
675
642
259
771
812
416
440
859
744
378
305
850
461
668
475
711
421
413
53
201
663
966
869
370
737
224
667
561
492
219
43
254
499
744
694
805
835
758
876
635
4
730
38
958
9
872
238
474
992
414
327
757
383
701
864
266
206
899
378
986
49
539
908
739
223
944
727
79
787
840
746
546
452
83
422
732
870
493
873
290
423
250
543
502
450
150
971
511
783
328
148
642
571
672
478
492
640
312
609
658
57
981
237
995
131
996
542
317
815
882
75
295
390
372
790
111
300
643
366
126
277
156
163
395
179
394
934
394
542
136
894
710
461
639
867
784
294
237
15
8
603
435
72
607
942
512
119
781
368
39
665
517
980
458
207
329
461
72
512
951
279
354
568
649
200
502
516
407
774
527
930
696
746
996
472
929
682
738
298
990
670
442
586
402
665
105
222
820
863
694
970
527
560
243
431
520
64
834
716
595
590
543
41
573
537
516
365
409
185
766
813
509
640
170
859
973
818
388
135
861
338
143
314
827
500
348
722
636
898
58
187
109
820
158
211
77
314
946
667
740
682
519
128
666
208
965
387
322
134
889
916
637
241
733
773
627
927
670
4
468
303
603
620
785
709
945
101
98
985
402
725
525
985
935
187
859
134
463
661
101
250
606
902
354
475
979
21
755
930
101
292
781
595
991
717
826
36
919
114
423
796
558
159
876
663
29
171
316
595
909
415
451
740
322
363
308
884
630
651
324
664
105
432
22
16
182
473
347
727
537
589
441
351
307
966
275
469
201
499
112
14
124
540
162
349
229
317
213
902
946
898
210
398
658
732
958
192
158
716
173
721
942
240
86
885
660
863
680
15
795
88
429
142
715
246
99
488
797
598
779
443
229
614
790
822
428
842
563
836
773
892
874
82
464
854
46
783
901
892
879
703
913
853
68
395
550
474
866
966
901
177
532
56
594
491
916
593
210
882
157
712
835
99
67
364
365
224
208
352
988
264
97
897
466
465
214
437
466
553
728
986
189
723
894
309
8
535
151
140
614
826
793
838
452
376
957
229
834
353
358
837
210
459
855
356
494
355
448
8
239
114
777
381
705
428
504
445
558
789
250
717
996
125
894
949
622
239
130
303
239
886
134
697
90
577
74
901
717
969
6
11
798
252
354
103
763
68
797
268
987
305
890
699
644
596
142
201
72
463
599
299
620
810
222
123
532
931
433
353
349
272
300
846
693
936
717
965
66
324
826
298
467
372
653
142
212
543
613
130
351
123
96
376
437
391
811
808
235
902
974
701
156
506
671
987
807
668
959
627
81
346
339
158
631
986
255
579
406
142
171
861
171
880
616
754
568
369
291
970
336
32
959
533
766
189
409
825
326
397
177
835
659
575
105
226
850
575
30
70
917
71
96
567
995
512
215
581
555
402
202
619
320
378
977
713
230
377
11
740
952
681
893
915
908
807
486
525
760
972
662
513
605
388
982
172
880
706
46
43
103
754
435
79
169
106
300
303
827
161
699
442
370
95
719
507
314
511
266
873
42
639
162
184
938
660
866
316
568
92
662
731
824
240
685
761
771
343
489
748
131
431
176
550
963
892
281
556
116
397
722
278
450
143
105
548
669
346
622
556
825
526
553
257
236
420
145
178
567
274
251
296
312
873
643
428
779
920
385
554
923
234
955
579
90
873
108
306
777
424
595
831
34
633
943
112
11
38
464
222
457
488
545
675
704
228
62
263
747
774
433
25
593
914
458
347
946
20
561
698
651
274
491
165
36
586
835
788
468
717
939
679
954
584
940
25
606
795
666
405
140
214
100
266
347
776
949
28
660
801
612
55
519
805
511
624
218
146
301
136
328
897
974
3
588
13
220
69
350
188
724
943
295
826
244
336
148
164
438
339
562
926
395
600
141
835
745
531
855
949
30
984
700
36
770
335
556
177
239
543
605
338
553
543
574
928
82
298
319
255
559
912
942
328
513
501
736
723
802
916
703
39
120
1000
338
44
286
774
628
783
31
872
937
750
780
530
586
737
604
704
417
116
143
193
589
134
768
171
170
247
705
230
837
655
123
804
134
977
431
898
300
434
164
96
622
9
855
217
647
775
246
337
355
30
40
583
558
890
145
823
392
735
24
297
744
270
336
339
864
984
516
531
197
486
346
49
701
531
816
495
497
534
806
197
771
58
200
838
205
33
42
267
115
445
265
530
662
873
349
477
185
494
959
769
727
139
284
782
293
571
296
660
271
386
612
747
656
859
993
710
465
614
750
964
753
192
508
382
171
508
837
888
887
662
228
247
980
790
789
243
154
477
793
500
706
743
946
394
220
757
787
848
377
275
186
332
605
232
293
56
37
60
603
155
384
59
47
662
891
630
129
203
486
196
177
624
615
471
709
234
18
56
773
936
866
470
877
289
291
391
762
465
297
287
874
133
463
617
842
538
632
494
644
431
994
26
456
49
599
546
338
40
320
611
39
97
769
939
186
62
432
442
41
438
605
114
844
571
283
817
445
255
273
959
593
126
202
623
785
31
11
971
981
498
735
642
897
533
113
432
796
237
590
738
883
178
820
161
468
968
620
136
40
311
682
691
267
584
7
256
734
148
176
932
911
703
80
806
455
420
645
682
443
59
450
90
551
971
849
535
504
696
365
737
368
848
680
46
343
136
488
311
796
634
855
215
197
891
507
509
447
58
612
630
897
984
254
898
959
145
735
863
811
355
270
413
173
422
444
919
488
316
972
48
153
960
960
859
622
432
868
476
303
263
783
898
190
482
488
531
59
273
1000
578
890
394
947
776
904
20
159
839
222
294
336
601
686
670
521
77
853
70
345
569
479
13
735
512
102
91
812
955
478
640
236
458
677
974
113
704
666
335
921
322
17
548
572
240
239
461
899
408
860
410
316
853
28
344
373
874
890
713
250
616
405
939
943
409
592
79
89
30
418
283
893
465
660
793
595
868
132
517
259
133
582
659
479
915
428
496
718
991
269
170
623
566
731
242
624
503
827
885
544
484
424
776
708
799
853
159
299
782
924
96
276
936
851
613
227
430
657
308
928
944
644
4
229
848
436
196
123
263
893
370
497
890
957
741
119
387
75
613
873
676
422
354
108
815
556
899
264
977
515
862
577
612
595
530
784
120
223
492
214
199
413
182
558
603
241
390
906
170
687
644
356
894
951
437
611
240
67
463
482
111
205
381
186
648
601
138
603
539
413
563
449
598
168
749
432
203
661
743
25
567
285
179
448
939
860
809
800
569
897
309
83
675
152
373
3
700
28
842
37
890
74
549
240
553
389
649
658
440
203
397
18
324
311
771
569
222
286
837
572
705
629
488
948
371
83
29
24
887
359
85
152
965
418
503
205
255
298
216
615
424
164
544
661
612
907
16
170
73
170
623
665
10
78
339
259
577
349
863
279
520
671
789
673
194
429
846
759
527
911
415
760
65
95
248
866
378
23
237
290
992
517
88
879
465
716
977
377
413
503
614
356
79
374
657
158
524
760
82
952
611
70
946
133
772
4
957
842
940
771
405
368
156
907
303
538
81
335
30
957
58
121
386
180
433
187
726
440
548
863
747
563
201
749
614
100
388
808
281
489
836
33
322
303
171
264
76
209
559
971
634
322
320
882
49
42
316
369
165
309
889
382
626
438
735
587
943
348
389
29
8
58
928
319
41
759
81
861
780
666
205
69
666
89
451
892
878
879
50
204
334
448
824
787
203
81
925
690
38
138
321
747
379
52
741
871
549
732
619
587
439
105
86
904
237
36
216
255
454
798
520
732
76
614
169
264
374
499
547
672
701
798
496
799
600
378
73
18
688
351
713
460
61
613
444
252
432
226
208
903
808
857
393
727
278
77
405
853
405
286
476
947
794
470
931
232
623
754
834
789
337
946
244
388
220
880
359
304
295
380
419
672
815
96
598
933
666
301
61
834
138
970
971
276
855
109
546
998
160
358
149
762
834
351
47
182
890
168
656
838
72
498
53
620
841
808
46
539
862
881
341
365
448
601
215
560
961
727
598
910
954
733
707
174
658
467
165
820
527
524
68
638
699
732
599
612
637
74
602
920
682
726
8
371
955
590
96
883
842
895
383
837
301
943
359
278
351
71
361
957
402
249
649
163
542
506
141
136
486
541
313
609
687
495
508
680
978
806
245
808
245
486
170
158
821
971
966
948
697
873
863
692
187
611
430
465
384
890
932
386
601
444
880
533
991
280
356
412
747
908
325
917
552
672
399
460
477
378
496
535
147
832
376
575
781
812
338
357
669
223
210
581
762
892
378
496
305
543
761
615
857
944
563
612
638
174
121
490
845
201
378
977
500
708
336
876
402
204
348
835
984
980
261
543
222
393
236
907
243
297
509
157
977
188
538
149
989
757
689
353
637
112
95
149
825
875
411
92
913
754
901
745
806
902
743
524
844
630
454
762
874
542
91
857
811
229
219
943
68
977
704
964
471
815
36
476
640
384
260
714
408
761
564
702
485
362
247
278
504
493
85
876
523
953
85
880
302
317
247
101
925
179
204
746
886
704
592
787
338
265
536
236
44
822
938
259
488
987
120
386
728
356
947
368
821
810
783
366
92
948
473
226
65
743
110
585
624
767
509
419
866
92
142
422
127
44
822
325
885
534
527
834
595
606
609
386
9
183
74
328
232
710
747
453
558
582
915
24
137
733
480
577
647
793
734
814
439
517
623
837
90
10
774
838
880
420
606
91
490
369
571
781
134
371
949
749
407
888
626
718
368
482
1
940
761
705
477
498
827
22
18
676
849
43
872
916
447
793
915
892
628
576
993
134
786
219
279
452
163
133
960
130
767
696
464
513
373
889
52
117
33
3
863
837
480
505
352
215
899
818
682
922
803
857
793
828
205
655
792
67
784
308
785
485
562
762
507
742
402
686
906
129
776
779
358
848
364
385
340
88
468
214
189
773
712
292
41
220
147
34
183
313
756
429
810
970
278
925
617
860
458
526
761
327
90
11
453
438
679
911
866
917
167
103
84
475
917
427
550
725
67
753
825
411
450
278
529
181
511
690
971
503
11
991
367
594
901
419
514
458
396
919
437
188
180
40
852
732
653
958
258
202
321
595
54
631
744
403
415
825
947
482
539
560
821
123
509
923
862
746
233
47
513
480
851
817
511
290
538
397
876
662
859
590
632
317
706
88
881
362
361
672
631
540
436
283
614
981
259
674
439
974
785
55
549
766
267
726
876
358
720
208
563
583
680
799
790
494
900
783
586
226
370
752
488
76
512
641
10
455
481
89
240
793
244
708
275
180
522
667
854
765
736
767
270
471
814
845
616
606
81
897
431
320
502
808
96
677
209
929
697
322
590
55
599
310
243
529
716
719
695
298
276
76
155
775
927
459
495
238
168
384
297
336
445
221
64
992
704
960
653
621
862
559
552
117
412
23
884
505
376
604
930
506
875
184
501
509
893
5
736
623
199
393
743
526
985
10
50
822
503
472
9
480
862
897
141
738
215
30
900
510
739
148
497
985
181
830
225
555
258
69
199
661
863
883
544
454
846
763
839
375
146
845
75
914
157
637
445
814
522
501
66
969
2
877
117
62
664
388
935
792
395
556
334
174
677
869
789
964
624
300
132
744
521
201
131
578
483
706
617
440
404
386
858
782
66
907
522
767
133
889
861
620
759
992
753
529
725
482
821
301
333
186
147
730
768
801
40
238
278
967
885
913
323
389
370
487
774
560
275
164
378
303
583
444
942
467
861
275
120
552
772
905
270
971
63
801
552
953
596
870
363
778
804
5
219
179
467
685
403
240
842
922
69
64
7
402
972
812
738
31
709
451
347
452
125
693
706
286
582
163
119
20
863
805
761
471
835
857
204
704
401
555
900
143
898
849
584
350
869
38
267
628
31
189
863
154
350
621
501
828
383
539
309
413
389
76
728
811
309
671
481
522
375
688
913
436
976
611
785
93
441
21
514
490
527
745
532
296
771
257
655
82
316
443
341
803
462
294
273
283
1000
984
958
933
335
17
947
241
482
848
827
864
340
432
359
275
996
667
2
34
451
578
605
669
848
396
217
85
190
399
808
169
575
487
214
966
178
992
733
408
552
140
644
58
362
927
373
766
306
908
137
441
808
534
710
373
72
230
359
651
195
370
98
283
340
667
160
557
431
254
990
18
428
923
112
213
1
578
953
1000
348
918
57
794
974
799
190
590
480
492
464
990
792
293
14
737
823
523
697
465
238
6
989
460
855
520
522
239
246
560
697
666
246
985
426
125
415
762
322
34
979
98
598
555
409
665
539
953
610
528
632
441
601
637
375
755
723
414
302
904
637
84
35
734
816
824
982
11
792
780
882
679
166
235
548
861
273
957
22
923
424
852
835
649
868
594
226
135
966
785
996
560
567
580
113
349
272
420
329
619
73
671
834
968
848
516
416
844
330
419
685
728
459
819
650
332
472
504
378
863
704
278
480
129
830
136
916
965
186
121
969
999
904
462
276
255
809
379
474
469
424
145
373
292
966
631
559
736
921
544
991
313
642
40
443
332
427
179
652
732
694
972
590
632
216
389
632
512
834
747
258
584
724
380
565
402
82
327
93
272
38
68
362
290
713
995
107
172
614
410
384
140
956
312
605
217
95
138
93
275
978
926
917
28
399
78
626
969
916
5
990
940
449
472
998
609
974
370
197
664
206
990
903
897
862
613
931
721
893
349
309
844
87
762
813
988
549
715
309
538
879
283
607
997
322
323
929
922
752
477
175
817
129
974
865
76
991
568
33
670
591
357
334
738
569
40
369
604
376
346
515
53
270
18
585
874
358
726
280
786
39
741
701
866
221
995
168
495
820
436
203
694
418
193
815
388
412
141
169
825
616
915
296
868
109
268
756
348
28
949
83
997
140
975
367
751
283
198
580
362
180
633
101
320
712
830
437
93
457
945
305
517
211
816
108
13
216
512
304
958
64
295
348
156
563
912
665
854
381
427
622
155
967
567
542
18
33
680
615
219
920
981
974
820
240
700
318
703
548
115
180
677
198
221
379
504
170
981
211
973
401
657
696
767
94
736
527
492
532
340
435
646
157
836
332
751
94
538
958
103
782
40
759
827
151
713
343
989
570
337
223
559
845
681
465
889
709
64
531
226
559
592
847
473
691
802
586
65
901
926
732
340
145
821
753
251
872
909
85
596
765
138
238
197
887
40
486
648
640
493
44
276
534
646
109
963
477
785
348
357
207
650
266
764
500
770
371
733
26
968
198
918
45
73
90
333
675
214
83
498
117
826
350
319
55
639
477
750
426
455
231
423
897
491
619
465
677
450
734
662
737
194
336
988
134
144
134
262
879
52
485
353
718
814
568
939
266
386
148
281
174
648
699
863
379
288
31
31
58
388
530
955
574
406
787
347
585
688
717
354
497
458
200
979
585
500
936
178
472
369
453
522
103
23
163
937
3
243
936
563
408
40
930
227
790
565
288
373
427
661
903
538
903
325
647
629
877
808
347
325
999
990
301
907
611
966
333
676
743
486
210
938
958
9
747
204
816
638
90
855
58
163
446
32
152
722
36
931
481
386
136
965
312
67
867
538
635
736
815
232
123
882
678
321
741
509
848
401
993
730
279
819
394
218
15
328
530
324
497
27
970
694
117
269
378
581
538
634
416
877
960
492
391
90
871
928
171
82
814
30
566
447
342
604
259
801
668
417
357
101
462
960
810
346
867
536
282
670
104
232
526
868
960
926
950
873
29
38
878
562
852
179
923
522
982
183
38
118
572
278
36
249
293
311
816
702
263
994
87
882
202
138
133
22
203
700
32
657
355
255
793
293
956
225
85
690
191
743
565
134
981
604
358
379
162
88
864
706
270
838
952
667
5
127
526
648
864
30
623
344
522
25
476
595
319
504
439
805
562
510
275
348
456
784
52
945
179
862
847
981
972
526
496
126
168
391
883
447
758
789
646
367
426
393
703
477
992
233
738
213
858
819
593
827
341
138
587
937
778
157
883
165
865
324
409
8
19
243
291
168
441
361
379
1
193
19
299
606
797
674
329
378
831
446
586
479
487
394
225
807
341
84
773
506
389
96
323
956
999
63
17
512
552
754
142
923
430
440
219
519
487
556
651
748
287
178
854
585
224
424
320
661
79
235
708
700
713
352
917
8
359
503
31
285
415
946
213
25
737
584
881
95
159
744
970
884
407
641
678
576
584
219
872
686
163
812
232
984
774
543
290
337
99
931
774
799
891
502
14
466
452
528
752
263
912
158
368
825
309
373
412
61
778
129
330
844
106
24
441
474
563
599
569
256
161
137
177
529
471
425
532
987
666
517
177
975
760
939
985
716
869
152
135
106
915
336
639
796
388
717
450
759
659
729
776
459
874
281
937
14
628
261
998
471
471
224
464
417
795
873
504
675
789
571
539
761
981
592
546
96
339
265
96
740
17
460
944
521
641
93
30
11
413
461
813
749
467
259
219
477
595
54
896
921
912
858
79
840
58
196
152
620
267
710
896
721
4
936
477
644
886
321
488
897
308
981
725
662
516
940
926
460
885
810
405
140
791
959
368
948
799
227
710
251
842
146
259
750
682
458
768
656
245
438
417
325
320
145
257
370
751
297
779
54
452
864
786
111
505
857
822
761
153
28
679
815
720
356
939
210
351
279
59
253
8
582
267
126
332
745
381
913
824
340
769
548
301
760
801
575
728
151
556
552
337
932
28
267
428
704
744
658
327
650
562
504
813
768
353
460
703
402
449
17
418
569
15
293
71
528
949
362
45
878
528
972
62
249
783
121
491
270
500
921
984
109
817
591
584
326
625
224
111
171
363
156
994
742
346
421
692
603
464
757
521
592
935
75
3
493
832
139
812
237
249
429
38
31
308
810
729
612
690
702
660
398
9
864
806
877
137
813
299
997
549
127
517
685
862
599
524
867
978
264
304
531
716
813
82
418
329
815
580
951
82
467
221
825
930
289
146
528
386
309
392
713
867
789
756
965
171
494
655
992
236
804
768
706
11
742
376
945
96
118
83
841
781
539
34
947
254
7
853
286
55
179
246
420
278
138
646
482
652
700
311
889
388
866
21
84
589
16
877
250
113
837
744
399
984
786
559
619
868
78
72
550
648
836
576
365
833
11
839
600
416
174
767
212
785
43
282
142
462
902
533
485
786
687
820
69
128
574
568
912
850
361
251
534
44
803
443
549
8
316
57
325
543
171
383
726
399
347
795
149
648
733
811
103
285
234
762
563
157
676
501
222
139
67
400
534
581
928
419
141
198
899
152
877
972
768
577
42
123
393
714
55
888
740
488
906
662
389
905
67
45
423
60
620
469
574
598
437
391
853
996
148
452
672
428
520
652
649
47
599
321
834
229
626
599
150
688
336
213
153
414
689
565
105
59
466
540
483
744
487
978
722
249
334
465
979
208
633
937
126
247
889
637
48
949
835
84
522
163
24
91
620
472
160
311
628
523
261
447
929
564
296
58
158
744
393
816
220
649
37
228
422
111
948
38
67
530
499
988
341
836
578
173
216
727
786
966
414
34
753
359
140
863
106
633
468
702
361
458
726
811
569
872
200
21
78
123
769
556
165
8
856
580
629
174
205
983
643
826
558
336
296
440
250
36
303
334
115
412
288
458
877
975
909
305
336
40
835
670
305
669
247
852
173
259
128
8
428
138
33
568
229
176
457
31
351
816
179
997
435
885
159
984
476
210
655
449
953
378
258
438
789
945
420
442
596
15
887
407
305
385
180
270
321
407
867
76
812
284
947
497
596
773
61
544
371
188
646
358
697
116
352
222
231
531
248
377
216
797
371
781
80
644
181
685
361
336
335
796
829
119
998
833
822
525
602
481
329
254
539
112
263
187
816
154
720
520
79
641
752
157
747
335
321
265
211
756
662
322
198
618
242
110
421
461
851
800
579
703
152
745
633
962
178
590
27
250
860
80
182
557
644
278
175
434
661
961
964
393
721
626
932
352
593
902
759
876
659
128
899
682
56
551
949
730
827
870
273
219
457
838
130
998
392
264
350
211
803
6
363
488
879
507
4
616
432
8
27
443
418
822
748
684
290
941
545
447
730
838
231
509
446
506
443
844
146
676
300
441
759
678
502
188
218
574
984
515
879
62
971
484
718
137
6
267
7
623
103
255
73
550
699
611
85
764
473
693
550
318
429
647
354
947
852
417
721
381
897
564
436
322
584
610
27
683
922
13
388
65
745
551
484
523
580
612
384
387
542
812
830
270
809
469
969
419
707
641
670
278
830
871
43
425
863
301
414
85
27
521
13
61
113
380
62
214
113
994
790
629
330
353
134
179
724
276
539
532
889
896
301
512
791
556
387
395
830
741
508
896
308
646
485
550
695
83
657
743
349
687
122
845
513
806
128
794
466
30
800
993
693
53
707
569
814
435
466
896
788
904
717
754
624
988
299
682
395
192
395
865
892
374
756
382
650
709
829
749
379
403
788
473
90
339
994
777
312
943
394
735
837
881
694
800
376
631
964
137
362
574
460
195
871
35
62
700
321
603
705
602
150
139
581
551
178
112
681
157
691
310
463
619
633
469
53
330
424
131
381
688
67
828
120
680
179
756
81
754
514
247
6
119
357
667
303
903
879
876
354
515
199
989
453
162
406
999
332
716
259
759
457
25
623
933
5
325
948
780
469
626
265
67
363
814
257
969
366
747
893
553
569
796
37
334
189
133
219
421
213
558
420
985
982
817
365
136
637
165
285
802
676
404
543
871
626
731
838
691
968
533
894
6
9
682
713
526
353
970
482
639
984
104
164
222
750
33
672
107
208
490
252
531
380
310
390
803
951
481
107
509
841
889
986
808
882
437
651
749
543
528
714
92
259
902
384
812
931
505
44
326
606
314
98
483
175
84
305
554
148
532
633
743
249
809
396
260
577
11
44
615
582
84
557
585
940
719
778
270
693
750
426
735
698
107
738
38
502
608
886
818
265
738
348
220
232
98
431
665
567
384
964
845
77
598
36
377
432
697
268
765
73
36
783
628
853
762
489
739
839
791
716
999
435
132
584
391
105
65
672
849
565
167
716
193
230
210
75
510
115
767
670
867
103
698
929
803
723
819
47
844
128
697
501
172
960
957
369
691
207
464
432
928
920
450
446
624
898
3
259
392
53
307
612
532
175
706
596
951
273
942
719
132
465
925
455
290
659
958
973
158
894
685
446
330
279
901
994
740
901
999
842
634
964
59
703
346
671
482
764
305
56
641
908
946
35
237
943
639
453
911
699
293
788
200
830
66
485
114
7
456
582
421
19
127
434
283
952
6
829
970
234
534
742
244
842
505
292
442
363
551
209
413
929
179
275
254
277
251
731
208
288
927
616
196
428
382
384
173
436
67
870
950
454
891
899
124
554
449
396
523
287
359
830
920
417
840
252
803
510
875
964
677
409
729
71
707
923
106
784
516
223
929
364
607
593
606
19
168
116
640
901
16
850
605
596
29
833
859
121
715
976
818
540
486
563
278
718
801
576
40
621
604
534
73
858
348
869
533
794
506
118
220
684
643
384
498
754
17
557
240
40
205
805
131
125
420
672
513
586
45
951
39
112
396
169
556
745
871
120
43
651
481
404
907
132
189
306
624
359
626
724
525
418
530
3
545
847
685
743
821
780
227
607
408
175
925
170
744
387
477
635
173
524
873
46
550
578
634
261
901
368
99
515
156
662
932
906
249
703
756
475
212
531
111
867
482
137
966
745
307
487
647
221
19
885
374
584
929
981
532
502
789
974
466
705
88
176
829
878
909
211
472
116
749
512
448
827
461
708
940
433
456
710
849
537
384
22
310
501
806
868
640
534
749
204
83
454
657
605
260
264
937
311
391
568
220
397
222
621
492
192
80
527
429
555
612
663
671
569
618
957
230
511
798
999
948
755
412
352
693
335
573
587
12
523
381
744
72
667
164
933
2
952
841
737
236
482
841
928
27
279
63
769
87
366
63
813
220
88
65
713
881
238
371
999
852
346
476
174
579
673
498
758
282
129
559
115
644
275
386
985
744
60
719
646
900
756
82
554
269
765
82
117
380
670
704
985
233
911
970
865
277
945
952
418
318
609
366
222
418
672
856
134
901
247
690
665
883
807
726
102
136
46
474
209
684
718
510
306
260
889
767
400
635
749
13
823
879
231
346
544
811
234
691
900
258
132
79
9
242
630
972
525
897
722
6
736
738
697
308
207
886
642
980
302
983
901
426
981
841
263
953
164
301
467
475
858
406
745
220
942
728
758
26
215
628
213
230
848
302
896
140
860
687
622
780
637
692
822
957
766
779
111
664
683
581
195
507
706
158
879
144
44
436
829
709
279
610
902
780
635
564
578
765
71
875
32
491
870
597
851
390
928
796
287
898
383
802
179
615
591
197
370
309
692
860
523
87
174
788
733
899
927
5
225
98
224
578
724
944
973
673
803
788
354
605
623
171
650
55
994
226
687
972
624
568
792
191
742
345
597
477
47
229
334
514
33
908
485
351
353
73
779
967
779
994
582
864
741
511
642
116
149
684
15
840
396
397
758
873
50
923
620
325
673
848
543
751
665
754
252
954
782
764
593
770
225
389
568
760
766
116
209
434
455
813
523
465
821
365
746
403
354
893
80
514
272
555
859
763
240
182
854
368
736
951
42
45
242
894
689
838
290
270
61
369
655
740
409
465
688
861
136
379
838
589
217
223
924
405
999
847
588
164
501
67
700
970
189
106
146
227
17
88
591
497
186
683
289
958
695
302
969
66
259
808
153
488
557
337
971
498
140
664
742
794
485
540
79
153
883
539
278
406
823
275
99
980
519
277
819
645
56
431
601
176
383
655
843
340
58
398
108
12
208
602
688
227
631
57
598
678
368
387
59
505
342
526
109
215
865
183
3
233
892
695
511
877
944
645
37
545
490
821
723
491
425
395
358
874
995
695
954
670
139
569
308
660
791
156
749
928
62
800
513
222
653
971
893
67
25
311
380
785
76
348
487
382
103
983
883
843
815
605
724
545
51
561
795
321
622
760
194
233
404
387
809
249
416
66
742
832
88
304
219
907
379
758
196
818
683
627
84
632
713
535
512
614
672
324
50
760
43
539
135
41
307
800
262
409
709
858
626
668
959
937
37
47
442
820
864
656
38
274
224
68
144
597
359
925
889
474
428
823
776
887
491
727
233
479
525
814
587
700
719
954
53
990
136
12
172
509
59
765
8
171
1
508
95
290
390
370
768
719
416
939
75
220
378
38
852
694
155
419
958
56
75
677
862
763
574
913
979
456
497
559
201
729
800
270
35
770
723
25
659
525
189
368
980
64
322
251
467
28
485
85
155
404
161
405
682
374
350
41
665
663
881
784
30
638
183
336
119
372
616
756
551
51
425
714
837
384
728
590
679
117
748
895
765
377
632
512
598
314
835
998
562
455
996
555
14
231
645
285
633
377
879
62
680
321
361
674
60
169
593
884
307
643
446
727
700
160
361
648
710
248
460
78
917
693
44
643
316
96
601
494
699
36
517
177
384
653
106
44
139
264
473
477
560
570
973
65
527
137
716
468
622
68
650
895
531
228
238
7
543
945
643
575
222
838
643
418
212
337
197
978
909
455
699
393
450
634
489
71
39
784
89
600
166
190
6
264
648
612
643
584
783
723
29
67
91
33
624
782
277
556
408
486
57
799
843
741
466
83
40
899
85
815
675
873
388
111
743
333
90
53
266
326
903
978
437
382
630
400
489
798
866
570
815
195
888
209
431
384
492
663
931
265
638
580
499
790
779
209
372
958
649
627
398
482
95
468
954
994
296
268
578
620
292
137
100
349
337
286
915
843
973
865
348
264
127
706
695
246
755
794
638
336
719
733
202
137
665
33
331
885
631
788
452
384
7
195
114
69
233
404
882
463
337
404
229
437
9
997
35
512
389
410
699
885
189
801
556
997
80
703
476
233
465
454
39
798
952
783
683
853
807
39
524
821
664
967
387
85
596
578
706
449
392
387
566
375
577
251
146
426
260
66
201
359
360
868
42
995
167
222
673
335
461
358
353
389
603
197
885
843
127
288
339
987
346
645
785
303
420
702
801
731
126
881
220
913
313
770
589
632
645
542
293
285
776
45
166
445
542
935
650
494
95
330
287
847
184
739
370
528
909
427
88
702
389
942
397
326
709
298
139
239
442
153
661
870
778
390
260
233
26
706
354
33
825
161
154
514
923
171
994
148
782
65
155
389
595
193
240
491
516
517
637
812
29
781
609
152
447
619
902
374
429
463
530
991
294
645
574
462
642
931
413
632
454
574
813
151
424
90
652
715
741
186
911
670
905
636
744
852
484
478
40
530
869
572
950
998
210
440
234
628
719
308
162
199
411
445
889
930
226
221
925
906
124
776
332
549
444
844
758
343
319
63
271
311
378
55
238
602
336
650
163
132
305
934
482
445
847
155
805
794
821
163
987
18
93
746
712
949
10
122
988
917
378
910
57
440
325
74
752
333
64
718
247
257
65
92
505
230
547
876
428
722
541
601
904
741
962
59
462
738
309
705
223
280
593
319
189
161
77
678
698
28
242
571
20
665
149
264
694
798
31
436
155
641
521
690
619
446
382
955
992
994
998
523
767
313
166
945
507
902
926
783
509
390
249
16
683
877
431
934
522
166
936
524
257
707
250
670
957
374
42
971
364
109
538
628
746
75
582
626
861
185
254
419
461
809
320
386
387
994
989
639
408
750
658
148
468
848
358
733
865
82
615
210
200
138
305
868
669
58
869
469
328
788
951
216
550
432
119
436
760
670
834
274
902
243
238
345
827
546
662
131
914
134
963
864
830
390
941
818
237
691
114
179
681
157
86
142
609
476
569
486
684
337
893
637
121
749
499
138
767
874
464
546
47
43
587
981
697
287
965
955
403
95
223
647
101
65
826
495
685
798
921
820
329
678
240
238
432
159
436
742
459
784
87
702
570
463
324
490
11
456
628
84
681
91
938
781
145
524
603
141
658
709
86
329
421
351
580
348
386
785
849
27
401
638
678
229
404
633
298
470
653
78
19
14
706
450
94
587
961
945
535
3
115
47
203
406
782
961
975
297
903
235
236
220
257
1
243
779
581
66
123
666
326
489
422
488
42
401
134
503
754
554
95
801
470
491
472
95
100
288
831
34
708
547
930
867
951
672
949
386
992
497
350
266
962
28
922
358
245
385
875
986
502
47
27
41
338
126
222
483
960
753
127
919
13
567
482
41
5
972
663
86
381
70
170
918
368
134
260
9
169
61
515
339
920
503
519
252
155
266
239
347
122
151
895
784
456
580
304
798
135
281
747
777
595
784
359
3
141
698
944
41
527
559
899
797
680
547
619
480
53
517
345
48
52
617
954
227
279
187
553
885
83
820
102
335
79
181
487
150
808
656
601
191
704
986
34
859
872
760
904
24
978
97
216
680
696
853
892
170
768
440
273
701
717
695
463
980
627
294
358
14
242
845
584
514
808
180
845
875
723
339
403
424
68
400
463
461
511
602
294
656
937
215
777
501
365
175
941
884
372
837
720
291
303
94
830
806
988
716
193
872
563
12
758
704
268
818
954
383
742
371
225
903
459
849
289
857
410
231
819
43
42
644
206
989
754
579
968
284
990
162
138
643
38
192
653
859
208
804
391
104
952
401
963
607
853
16
831
364
130
326
595
386
448
368
542
953
403
418
671
508
966
579
447
76
578
397
475
594
320
193
134
94
798
900
979
491
921
857
359
602
785
445
275
142
238
418
991
630
513
521
264
564
536
284
363
741
112
902
234
315
216
767
276
34
62
505
169
108
427
360
152
337
965
384
918
453
890
152
59
92
453
687
584
486
95
844
611
717
35
658
738
366
304
73
971
456
928
14
335
892
37
991
450
985
175
287
432
238
963
323
440
308
604
956
81
936
374
343
666
684
423
449
3
520
665
490
5
642
508
357
915
464
500
573
341
319
676
432
612
308
590
767
218
659
507
204
177
126
249
876
264
246
499
304
929
717
171
549
624
770
626
820
969
175
84
415
898
423
582
264
441
731
225
348
320
718
271
992
876
2
801
312
164
522
346
158
217
55
860
496
608
308
839
516
405
918
259
696
568
906
191
684
630
444
645
152
213
259
226
670
614
664
625
295
159
973
880
763
535
27
557
112
598
659
723
114
463
171
636
88
811
355
584
587
410
118
192
922
853
538
822
716
367
46
390
498
346
490
57
849
942
13
747
782
668
57
396
806
449
305
146
642
984
47
463
642
582
276
273
761
888
805
789
345
13
841
650
130
628
724
346
537
551
15
694
808
153
714
296
536
711
132
477
914
480
903
241
335
805
649
104
64
110
82
534
349
931
682
899
691
486
670
439
998
455
653
818
979
723
214
213
473
875
709
761
350
118
699
384
251
145
801
711
720
150
177
799
201
861
563
887
977
986
499
224
364
890
395
312
390
710
160
567
731
323
388
502
907
779
524
2
609
864
983
175
545
431
959
561
401
13
519
173
331
44
644
993
890
655
57
18
506
678
66
932
346
927
119
769
943
292
485
686
53
467
254
128
982
367
876
187
78
418
553
941
153
939
127
912
367
785
532
545
482
256
506
819
499
30
2
624
339
575
668
607
684
996
843
503
40
818
727
839
833
537
812
55
654
74
150
736
778
465
787
648
729
205
509
701
988
678
86
810
884
22
347
848
349
572
762
527
486
782
682
122
842
118
12
368
857
991
921
778
215
202
97
842
731
750
204
293
955
98
425
683
902
137
437
1000
173
192
674
973
288
352
551
993
205
303
118
286
856
631
741
117
36
240
540
278
113
152
713
83
856
433
378
400
132
426
206
1
350
768
4
653
310
912
308
911
542
983
270
575
320
850
336
73
279
237
728
867
960
533
303
102
686
724
157
349
859
534
234
230
175
428
301
166
247
592
858
243
841
403
957
419
245
177
439
916
319
174
804
647
382
952
774
964
454
137
636
839
296
631
617
840
335
53
861
897
828
962
59
913
561
23
446
732
965
832
625
834
785
532
679
410
332
729
109
132
904
449
396
29
208
50
428
358
439
75
580
262
249
986
994
311
976
619
461
718
398
985
391
151
717
705
518
570
674
24
369
457
491
778
32
119
796
177
424
521
809
521
79
206
869
223
487
440
778
646
104
677
562
270
493
789
976
674
483
291
499
655
837
949
605
563
701
776
828
586
3
368
514
303
59
950
156
274
880
326
922
836
38
69
318
548
527
988
910
921
721
850
696
182
415
809
40
797
925
829
16
426
415
577
657
767
922
988
871
485
47
664
724
63
908
820
386
919
759
268
261
604
604
267
763
225
270
707
723
509
644
192
646
64
219
65
910
485
632
332
518
896
668
729
215
443
23
885
590
985
215
646
327
968
217
175
882
43
726
309
687
493
516
60
460
967
986
817
300
296
829
14
35
440
751
525
734
694
277
52
371
363
5
103
376
23
97
939
230
357
414
56
290
292
469
335
785
840
264
988
248
607
195
828
731
397
398
185
779
742
334
10
537
447
916
299
303
455
223
32
549
429
665
191
695
428
504
314
911
19
785
235
853
929
68
330
485
90
830
634
106
576
46
649
268
420
237
539
542
800
258
655
966
381
156
41
588
884
746
625
723
103
917
315
426
674
304
86
187
837
654
482
77
354
134
629
375
519
845
989
230
860
32
611
54
777
805
542
155
835
744
409
582
845
380
918
280
204
395
163
425
150
386
185
258
764
116
181
799
548
540
139
614
375
287
422
155
443
917
17
306
629
28
753
452
287
196
766
764
115
830
885
436
189
219
442
268
625
480
172
372
636
622
525
718
938
663
708
945
545
581
208
146
22
903
382
280
150
907
947
551
789
711
822
291
458
47
854
881
746
114
414
817
254
733
689
246
166
941
805
254
912
312
549
700
654
508
584
629
472
21
512
171
187
616
42
340
756
732
824
368
31
983
220
4
478
931
398
750
122
525
638
127
614
949
700
887
783
113
402
555
493
730
311
799
887
714
608
908
378
628
711
101
839
52
220
457
498
28
106
39
979
190
841
149
785
803
321
744
268
675
63
737
795
864
83
291
385
131
321
231
567
346
235
399
587
465
414
108
385
173
677
839
939
66
133
8
699
44
103
897
797
633
669
860
689
99
804
472
637
560
722
652
210
783
125
629
606
975
484
299
99
684
343
705
408
876
937
312
95
357
43
290
373
969
125
239
854
413
270
669
849
129
334
63
792
383
30
551
251
614
355
41
757
129
925
182
407
431
254
661
754
830
976
152
41
501
327
705
221
800
940
496
526
515
166
598
594
664
667
921
253
625
5
516
142
663
296
217
247
364
784
958
319
103
353
224
872
440
597
733
114
222
32
898
764
306
452
574
143
988
224
335
331
639
519
835
466
609
98
818
444
121
297
982
377
763
266
234
193
189
366
819
638
818
855
426
794
617
654
683
914
576
19
332
41
95
407
39
385
290
709
968
892
203
259
199
780
987
730
619
70
400
107
112
314
367
406
783
775
952
708
436
279
788
396
740
890
927
157
356
258
113
456
784
278
649
697
839
219
442
208
497
37
266
527
296
970
989
210
604
838
324
518
856
709
633
882
275
688
483
45
706
663
903
82
929
751
781
331
202
54
427
393
894
82
83
990
716
874
109
410
494
384
611
706
418
219
548
592
390
155
703
201
456
159
484
465
271
846
191
935
236
385
269
233
216
873
46
212
761
127
659
106
315
621
178
609
242
76
414
879
375
779
550
909
423
297
514
577
800
647
981
969
345
379
972
213
972
244
301
191
492
297
541
950
721
364
735
525
537
741
828
238
702
922
680
174
132
885
567
708
781
209
250
444
464
846
105
877
749
921
249
391
522
310
336
982
944
75
457
210
291
77
621
461
626
173
376
530
317
499
465
923
172
226
837
48
371
61
956
615
432
511
97
178
148
582
254
725
831
161
343
626
216
792
634
40
36
960
720
95
681
246
863
786
281
950
306
517
260
842
922
684
685
726
659
503
726
415
352
524
131
513
833
938
937
146
734
817
548
402
19
889
895
777
82
322
680
362
189
255
550
876
157
490
668
870
406
840
308
626
984
136
27
302
673
760
440
894
84
893
858
420
486
385
858
550
188
231
363
587
474
211
962
290
465
113
11
568
773
366
516
441
515
573
928
27
27
652
757
494
666
776
340
87
165
322
198
343
332
358
160
565
344
995
829
481
449
92
43
745
707
399
674
630
274
191
501
801
843
870
915
550
53
789
894
241
104
769
30
15
326
405
396
973
164
254
666
188
904
445
259
863
466
82
187
894
767
31
957
902
466
359
123
516
423
717
42
337
789
426
959
519
481
900
804
387
724
295
990
818
462
954
49
398
680
316
174
505
130
409
590
563
504
2
218
648
838
718
283
556
815
191
335
168
687
411
686
708
729
953
382
23
492
690
667
575
641
945
343
194
840
762
561
17
940
119
358
199
757
472
686
159
813
965
759
143
748
11
321
826
533
716
809
522
238
789
460
344
865
193
125
284
673
731
935
793
497
209
961
872
810
582
740
96
631
713
835
258
964
997
630
542
132
96
189
179
222
488
335
618
888
346
52
83
911
508
966
256
255
953
899
523
821
233
454
861
755
775
180
975
963
852
85
734
403
254
210
324
885
396
488
749
318
685
386
519
801
422
636
403
511
457
940
105
72
92
705
600
993
424
674
659
786
464
873
781
592
865
394
336
482
26
378
264
138
677
3
28
262
784
436
908
895
749
444
873
830
461
836
463
393
674
967
102
221
589
300
225
56
248
420
461
233
569
944
842
261
402
516
694
842
977
407
414
736
530
297
833
113
682
504
218
428
345
234
275
380
570
463
695
248
733
685
888
711
930
86
549
324
243
662
632
930
794
424
79
672
166
114
442
714
788
782
100
417
366
180
348
541
300
150
76
959
287
128
78
494
1000
387
318
747
817
928
629
209
32
734
367
521
940
673
558
468
411
504
921
203
339
293
949
222
439
10
925
809
380
290
336
57
186
81
681
31
161
431
34
369
331
738
95
387
545
610
639
774
928
865
426
84
347
351
678
520
881
959
140
982
115
639
638
916
189
286
747
311
170
47
888
60
267
31
726
31
832
363
197
369
872
269
902
983
12
177
868
693
466
841
884
217
593
132
706
30
34
468
440
157
274
796
321
104
687
687
911
483
809
364
494
341
579
429
27
879
809
642
601
991
950
343
747
48
538
34
329
438
347
174
976
627
378
466
182
952
309
795
286
904
886
478
494
407
95
715
986
485
621
921
968
741
221
153
169
295
172
985
947
162
882
996
594
567
48
495
931
388
556
244
514
703
374
700
64
429
330
752
821
169
553
999
582
678
759
372
111
799
332
320
466
347
302
804
540
165
941
102
776
495
647
762
578
902
230
95
422
185
457
270
38
137
984
423
343
531
359
175
967
413
843
631
341
661
207
212
296
750
490
665
60
856
942
200
330
747
54
990
840
391
570
200
466
857
887
309
447
853
92
722
740
243
143
591
899
937
411
307
64
847
842
352
899
14
529
67
277
574
340
417
592
973
584
26
363
734
381
598
650
105
524
320
457
135
154
15
910
69
468
618
496
476
41
1
69
183
66
320
632
925
967
806
155
581
391
381
769
40
541
558
784
990
179
833
839
416
402
184
420
160
457
345
675
704
462
250
145
201
873
396
605
909
952
927
658
368
261
897
118
90
461
539
514
36
256
343
219
881
390
404
820
915
4
827
346
449
494
914
888
742
272
500
947
817
441
81
585
3
497
304
88
668
563
983
356
427
596
63
714
35
224
832
171
287
564
271
400
530
480
622
883
771
175
143
742
990
963
546
723
947
337
777
715
702
154
671
936
87
897
497
640
581
476
539
786
374
947
721
604
968
894
686
427
256
930
924
456
928
921
265
362
971
108
535
742
195
236
234
504
15
179
849
184
157
318
826
47
563
97
284
581
540
782
243
663
121
408
569
227
657
342
790
747
926
630
692
230
398
568
905
698
864
498
688
321
332
882
796
484
925
123
603
43
580
444
626
975
458
347
217
410
343
873
476
776
765
867
353
414
239
975
526
553
779
919
857
984
835
892
165
102
861
573
582
274
28
367
996
620
983
938
955
370
155
31
921
951
813
834
962
806
998
904
798
770
475
724
634
482
54
530
337
951
1000
965
357
857
736
413
224
615
745
671
604
528
383
694
662
580
287
747
905
558
237
240
795
220
573
880
144
171
770
561
716
958
341
563
524
660
18
252
21
880
84
423
759
652
796
856
112
224
67
428
352
63
971
357
708
716
183
759
19
369
148
703
273
995
650
410
605
65
450
44
314
621
837
798
68
406
264
616
756
401
717
956
363
810
101
438
858
19
735
98
310
529
973
251
368
210
105
601
781
449
926
379
879
970
799
720
774
137
614
432
593
531
753
576
230
499
87
24
947
102
66
218
649
658
147
947
813
599
193
814
858
918
953
457
222
872
429
275
500
924
752
612
829
143
168
846
81
387
876
831
566
665
747
489
658
982
418
104
191
833
854
89
496
287
212
523
705
222
809
796
284
873
20
66
817
317
199
41
725
902
78
808
944
897
671
45
611
867
379
979
424
330
876
854
679
310
350
555
929
254
851
211
863
654
817
302
252
392
347
813
752
496
394
443
960
487
885
754
346
990
699
390
591
585
542
205
439
163
39
195
362
178
756
628
216
302
459
670
610
913
651
85
881
753
291
329
394
886
672
428
425
754
618
594
990
742
526
434
833
176
275
935
222
68
721
181
342
260
293
862
846
828
205
211
561
743
930
965
432
826
883
290
546
963
685
407
464
419
36
806
162
812
929
550
602
998
900
115
302
668
65
659
329
944
930
377
815
633
345
825
421
72
523
696
204
732
745
572
961
785
212
591
448
904
550
787
855
434
607
131
503
911
531
926
42
624
596
254
343
537
862
661
874
447
582
91
602
665
179
390
356
883
769
338
156
127
417
294
219
866
777
978
233
415
322
863
19
736
89
902
870
628
787
64
727
83
118
234
810
268
397
582
516
208
896
406
169
739
839
808
701
701
675
289
450
685
58
497
38
857
935
922
742
494
323
274
839
943
590
656
180
620
572
418
617
531
398
740
9
558
708
589
205
396
852
674
814
603
713
433
566
719
69
863
776
739
751
242
754
578
444
383
6
292
633
88
715
971
93
903
314
193
303
102
911
849
353
63
979
972
230
848
951
912
853
869
361
847
858
936
698
143
940
897
432
517
501
320
559
326
459
350
559
526
336
958
908
37
176
294
122
308
383
743
861
834
352
590
803
283
610
900
840
656
240
351
618
606
581
258
659
644
525
960
31
444
261
91
70
900
981
955
736
885
892
434
979
891
851
328
926
852
83
67
792
514
740
40
147
620
502
578
608
50
24
813
53
822
818
196
189
483
44
476
661
30
789
303
945
944
624
445
919
303
635
818
370
257
652
113
688
286
101
867
642
819
780
216
456
749
842
415
352
319
472
466
373
665
31
793
551
15
958
17
436
190
338
290
592
574
837
540
908
169
670
239
466
706
358
985
303
18
309
270
574
73
651
308
519
101
362
657
176
233
423
731
943
974
651
934
939
574
889
325
630
90
437
208
311
514
962
971
865
848
642
847
676
425
965
997
703
84
434
455
488
35
390
46
320
380
347
329
855
291
467
978
249
792
313
815
263
926
575
841
841
872
260
231
415
206
746
233
523
87
161
297
379
617
803
593
706
6
691
239
504
455
879
224
389
864
876
993
819
577
357
101
833
367
382
192
864
793
486
760
858
855
344
847
159
634
201
826
598
178
868
922
776
495
915
974
814
906
610
195
715
379
291
381
73
735
76
116
44
738
291
959
400
199
528
565
2
150
986
929
203
55
657
691
540
811
927
538
592
949
401
261
985
97
79
958
392
232
562
195
798
663
595
685
444
39
117
204
634
836
944
968
32
989
357
722
151
280
168
90
506
125
266
546
282
175
286
537
444
954
767
856
928
394
114
363
924
697
744
559
277
427
17
294
752
127
969
117
201
23
369
388
712
586
351
286
445
808
735
278
182
66
120
449
572
348
54
323
698
445
876
465
843
413
323
197
284
271
618
208
527
415
575
736
652
671
166
224
319
272
155
76
582
282
610
182
830
173
570
396
83
295
688
42
372
995
425
808
150
982
231
122
468
347
229
201
216
325
76
481
815
494
75
88
613
601
85
301
652
635
473
752
643
44
169
191
731
285
853
253
74
939
463
587
364
743
501
78
152
771
38
678
237
881
968
510
464
284
802
532
959
754
192
993
226
570
493
345
549
755
874
58
827
544
877
992
315
319
877
609
727
426
591
306
841
395
651
609
17
86
235
757
31
194
974
489
247
372
626
463
415
937
513
800
332
778
366
701
185
596
984
944
639
72
100
354
659
876
924
1000
569
740
117
956
131
901
351
975
226
366
198
277
318
371
824
11
6
306
834
605
857
165
682
360
179
271
237
173
560
618
473
170
807
686
753
388
387
987
841
387
576
932
612
791
340
813
407
332
361
839
121
937
737
196
390
728
637
41
725
606
573
196
8
262
33
54
562
24
922
872
911
958
633
202
409
27
597
676
183
914
854
735
177
331
511
203
673
224
970
766
330
354
451
538
665
103
632
895
885
237
235
669
180
552
951
609
886
21
435
734
413
77
985
856
496
129
146
59
71
300
710
375
93
600
490
253
646
478
805
660
33
730
827
824
884
259
830
677
954
73
867
74
968
205
644
679
783
944
150
254
188
896
124
751
825
882
597
205
121
661
532
938
592
726
87
999
576
238
107
69
259
241
270
295
848
906
712
646
891
467
73
409
20
908
628
407
845
217
604
338
365
194
806
429
972
400
415
216
90
801
190
876
538
89
325
955
955
413
908
774
990
526
262
42
539
904
443
402
968
467
839
753
162
915
98
181
211
562
608
242
746
762
346
167
244
685
210
276
114
238
888
514
997
400
868
577
527
89
513
510
745
966
941
29
445
234
85
70
25
596
486
223
808
21
234
778
400
849
44
91
341
74
593
850
251
372
102
607
660
519
663
640
953
392
929
803
193
664
624
533
109
640
771
578
196
408
694
357
720
644
576
47
365
947
850
664
444
545
733
410
837
570
6
505
332
885
520
594
577
600
972
546
692
25
224
134
437
774
783
660
969
132
130
51
398
625
218
336
792
897
851
707
769
653
612
538
577
424
693
874
356
343
265
857
337
956
14
510
880
330
59
92
581
366
795
974
156
267
89
604
466
594
869
678
806
179
413
66
577
448
509
399
520
383
237
470
991
446
357
762
149
241
119
505
520
635
873
601
129
323
32
668
267
546
774
224
23
775
368
724
900
723
179
782
189
926
196
372
291
505
393
264
854
462
384
236
398
967
562
828
102
698
399
549
552
218
639
479
553
749
870
128
539
473
380
316
755
669
245
518
110
572
314
851
547
835
137
407
833
871
908
115
924
142
168
694
415
692
372
573
171
808
411
791
897
743
822
53
282
833
762
60
365
196
746
202
931
423
807
466
71
336
991
185
531
914
41
832
106
973
724
645
124
22
491
294
25
28
66
126
145
440
114
832
64
978
377
481
320
106
506
980
845
79
371
977
217
681
797
80
716
550
541
106
216
42
782
701
116
140
593
326
932
840
640
77
609
749
840
223
342
421
816
681
490
40
777
840
148
670
889
304
99
208
273
151
140
561
533
235
240
335
117
927
586
488
869
430
349
10
840
474
901
651
821
760
308
132
52
990
141
74
291
719
49
82
727
521
65
37
238
190
336
680
158
760
801
977
994
151
382
610
535
175
386
165
401
408
184
233
346
206
681
704
598
748
728
971
69
517
461
652
544
105
448
679
856
539
669
313
599
606
604
688
166
802
123
13
760
613
448
440
555
783
189
893
374
132
343
898
83
263
190
531
411
179
219
143
37
438
572
444
628
996
13
851
935
254
90
764
217
205
987
559
17
727
545
648
752
280
71
915
676
218
835
209
525
942
626
313
535
913
331
37
614
341
260
613
139
991
871
597
242
144
615
859
452
213
861
54
279
880
239
168
627
937
283
344
959
174
971
231
755
779
602
510
147
713
453
78
547
418
865
640
738
71
683
61
155
278
496
930
21
755
746
203
600
87
559
685
83
74
121
364
493
535
517
305
601
711
204
875
27
527
745
566
582
98
946
594
440
776
331
727
905
967
744
527
394
708
910
286
727
677
996
473
2
939
583
422
109
199
936
341
435
785
164
429
410
853
673
84
328
575
286
685
321
177
563
416
447
725
135
974
591
528
308
738
310
832
828
194
781
285
429
957
733
267
713
756
649
772
17
108
495
11
94
236
973
247
888
978
595
712
170
63
903
592
551
131
788
216
195
314
183
553
628
33
379
48
132
889
810
647
624
185
462
582
320
656
970
101
184
458
73
904
923
321
338
433
240
32
965
579
188
116
61
542
691
641
951
838
765
576
18
417
501
28
34
906
629
970
183
830
377
802
773
459
352
184
170
627
403
109
599
464
765
105
309
481
291
802
30
873
270
810
803
210
128
38
999
914
312
105
838
44
776
464
747
973
801
224
692
432
314
432
991
305
489
730
197
268
169
918
328
49
574
919
132
644
823
51
65
305
51
291
368
487
253
464
961
241
585
865
868
706
489
855
555
492
919
416
845
703
935
456
67
313
85
912
697
363
358
337
54
244
943
716
511
886
670
703
302
269
820
344
251
80
919
626
632
701
257
841
945
969
119
888
612
296
147
65
452
835
819
848
346
314
769
432
655
60
551
516
833
538
505
936
144
371
566
270
562
471
243
467
734
360
475
869
349
206
750
761
399
397
724
709
569
713
515
503
443
279
16
488
295
517
858
409
5
256
95
705
999
24
302
313
220
270
529
674
815
964
486
586
621
544
387
973
543
707
142
413
615
866
951
507
865
424
899
749
114
189
871
615
475
344
936
989
652
418
386
885
77
590
759
666
571
481
530
612
470
331
608
716
113
55
439
80
161
241
280
120
484
569
191
74
225
502
375
971
249
331
777
321
366
841
242
258
611
907
149
769
381
334
136
941
423
100
437
887
492
973
371
84
18
160
777
415
247
230
468
128
169
77
364
227
950
101
584
593
790
68
628
249
824
386
737
745
181
628
697
595
370
167
592
61
923
762
517
355
625
745
829
507
733
245
287
706
269
517
371
963
887
45
103
273
807
524
979
318
15
247
952
914
260
667
994
51
371
123
450
366
91
829
234
352
902
176
974
405
315
387
330
66
696
300
78
469
993
852
8
31
647
404
334
910
584
632
97
598
411
119
7
296
848
148
267
390
997
447
184
446
258
795
790
594
560
472
284
123
140
493
818
346
241
487
57
561
983
798
966
4
128
160
501
242
632
831
214
356
675
598
315
615
330
506
391
76
159
416
800
675
794
790
772
967
2
185
340
569
812
988
552
795
54
872
867
672
35
295
207
770
151
120
953
797
952
95
36
965
543
502
413
465
232
752
374
238
24
96
584
420
903
879
268
439
832
5
648
799
67
320
625
968
672
679
672
655
116
340
108
985
425
156
235
732
653
760
285
807
389
577
803
690
565
10
825
310
125
608
238
199
976
372
733
381
242
603
90
570
15
860
919
716
708
654
562
857
622
510
600
518
516
858
294
610
843
48
317
906
776
446
369
686
317
181
582
60
594
612
170
823
918
998
425
436
280
169
995
868
761
222
362
574
757
394
569
870
18
301
550
310
223
672
850
434
265
566
151
455
414
796
767
30
307
963
179
216
42
60
801
178
691
82
337
931
251
472
532
683
365
476
628
912
157
739
557
346
187
507
748
447
816
853
435
827
254
218
544
255
202
419
527
588
229
948
33
961
18
67
899
93
157
698
783
371
432
576
675
682
457
476
649
621
63
565
478
804
48
115
144
475
803
867
864
531
822
296
969
347
308
951
884
532
923
768
463
831
230
4
181
925
523
5
997
799
543
530
249
691
79
783
580
360
518
591
762
573
249
423
200
243
202
48
120
635
946
680
661
388
471
406
590
906
224
517
949
814
992
148
703
790
965
268
384
46
678
648
795
154
553
897
81
671
459
37
835
293
24
377
496
806
471
642
938
177
362
400
66
543
967
847
201
661
935
918
224
665
562
498
775
590
245
255
293
179
615
215
285
970
472
772
52
480
856
225
26
631
512
329
966
182
570
566
560
59
455
22
368
933
935
806
615
319
735
955
112
744
332
600
423
255
380
4
459
656
724
732
908
373
95
844
212
775
421
490
354
113
111
700
388
990
829
484
442
398
32
577
928
922
995
285
830
677
113
954
221
894
53
481
630
847
694
177
463
991
884
24
465
765
738
34
121
495
584
982
967
248
685
271
17
254
563
50
893
763
69
8
807
785
365
443
218
203
620
322
868
158
538
34
889
453
800
465
873
963
132
835
94
654
973
458
560
920
666
212
228
347
683
66
476
917
635
416
919
922
731
366
709
532
900
319
783
48
16
421
880
357
532
457
784
11
348
782
916
640
955
738
359
129
684
809
369
87
455
438
689
686
499
58
301
835
403
350
769
33
249
214
17
928
759
183
173
818
131
307
141
829
698
597
646
487
597
210
832
775
441
465
934
502
326
640
133
27
616
247
488
944
626
168
751
310
737
564
934
433
450
970
758
998
632
368
457
534
498
297
7
851
896
281
497
73
114
918
267
335
716
10
396
48
924
17
354
853
628
912
891
62
432
280
777
412
59
95
601
429
21
165
661
546
725
672
900
420
79
591
981
535
218
7
821
286
198
533
361
222
366
90
885
8
651
266
969
988
197
397
1
935
612
239
271
667
590
843
830
756
823
822
666
475
943
695
261
449
661
422
273
233
445
562
884
171
814
683
382
452
776
820
619
233
33
786
355
62
322
87
881
604
646
67
972
858
241
611
940
617
812
455
520
945
953
683
355
794
708
456
115
740
888
447
638
974
118
680
56
335
589
707
542
174
118
147
202
268
472
597
606
844
820
860
668
999
858
242
870
457
389
384
337
653
86
752
886
596
777
412
975
815
796
179
436
980
893
575
957
449
719
286
583
91
151
959
874
214
549
260
974
328
626
88
557
759
733
708
510
879
252
356
257
769
258
577
809
717
778
132
34
832
772
831
76
409
448
52
600
423
616
29
301
658
595
214
144
549
598
142
909
757
619
276
916
868
601
237
273
380
52
689
570
316
345
885
719
379
662
561
563
564
888
411
935
529
817
880
102
836
707
344
904
377
548
95
426
904
430
681
788
635
28
287
437
293
550
837
380
790
431
412
951
23
721
379
25
849
356
377
84
412
443
920
169
405
303
905
552
754
235
781
910
446
879
456
889
929
625
289
209
580
709
677
875
225
533
809
652
603
256
121
668
948
890
900
908
593
1000
227
430
600
557
182
271
942
696
797
456
692
902
789
942
13
649
459
80
472
590
530
940
346
236
853
872
151
436
98
780
582
110
530
902
390
397
966
327
541
811
802
90
128
37
814
456
122
730
30
903
38
41
611
420
952
633
86
931
167
619
711
75
964
214
988
103
555
875
577
341
323
364
932
562
892
476
998
563
387
137
218
480
503
206
910
648
612
594
807
313
228
228
181
144
591
9
494
284
976
143
986
626
651
119
940
104
25
185
619
68
673
392
50
204
354
112
867
65
78
517
431
990
566
648
301
71
137
564
925
906
201
550
111
31
42
531
448
309
484
622
323
70
413
235
630
433
815
278
545
115
165
745
995
959
557
464
570
605
904
820
653
966
908
44
485
683
291
66
771
273
916
958
112
511
44
751
287
450
945
750
927
605
492
506
610
15
129
305
800
333
883
351
306
583
621
843
178
975
844
765
996
991
693
553
572
980
688
752
956
668
978
393
460
323
483
110
166
767
413
942
970
109
64
365
786
829
678
340
961
807
416
64
299
5
183
680
355
764
94
404
816
90
909
419
847
902
615
386
275
911
649
642
338
730
997
959
525
815
445
264
729
71
867
860
529
296
284
498
912
150
813
113
182
16
342
179
91
931
910
378
476
751
338
762
793
860
597
625
2
20
784
95
169
396
322
829
28
432
200
275
471
977
641
648
639
2
575
196
793
323
690
286
683
967
643
600
462
213
209
7
505
878
766
723
679
132
544
994
707
964
469
861
273
437
298
525
430
66
942
453
689
927
564
659
887
641
47
491
568
973
913
900
143
608
638
358
535
594
555
539
374
68
243
415
49
129
365
634
95
150
408
930
450
394
685
835
104
519
251
159
536
475
86
511
109
298
38
693
312
545
509
882
304
443
813
376
756
355
468
124
360
824
403
385
723
288
241
639
577
540
334
312
346
132
213
960
193
240
465
315
553
943
815
987
70
458
393
684
554
679
714
526
268
244
920
397
427
455
202
319
226
601
148
494
147
607
943
36
543
510
988
364
686
925
507
935
613
545
140
261
39
725
372
139
577
363
849
648
293
633
322
741
346
579
980
184
106
246
401
204
681
802
218
447
198
47
866
740
572
845
442
728
727
228
812
655
389
389
573
459
663
319
380
834
560
603
447
138
518
752
745
855
763
510
519
798
45
774
296
417
855
103
439
379
781
339
686
43
40
488
806
579
530
881
680
277
20
573
657
997
161
109
980
817
93
66
478
687
330
219
440
296
465
816
803
412
998
173
364
676
242
749
685
216
834
925
801
447
851
929
605
130
904
764
14
104
884
515
618
85
217
134
557
596
579
626
770
391
33
612
619
712
464
386
110
331
6
907
587
606
860
677
835
731
563
49
969
925
272
356
364
574
101
146
141
237
869
965
412
980
887
359
563
724
575
198
337
165
759
998
400
348
479
651
332
175
7
862
739
937
580
618
261
504
27
247
797
908
78
954
172
911
637
238
825
580
729
281
815
33
138
198
616
290
968
43
688
608
514
590
802
751
827
198
436
410
359
538
357
386
847
546
637
209
414
745
994
572
503
979
280
355
806
701
369
11
867
166
495
802
378
289
277
685
496
443
320
671
700
209
258
105
787
920
568
666
639
850
300
797
285
97
95
944
595
508
553
249
692
478
3
250
766
107
236
772
541
979
605
418
57
789
159
968
807
130
181
565
502
49
546
784
914
358
840
544
297
295
64
343
888
853
23
516
824
965
262
11
653
801
468
702
267
625
820
419
691
999
672
651
694
669
296
381
561
109
154
611
707
519
300
921
30
97
81
835
32
479
259
875
774
602
34
898
658
631
215
759
916
263
994
358
387
414
310
875
876
282
825
355
919
793
908
847
271
726
818
959
815
144
512
64
854
352
89
369
973
269
911
713
734
969
891
282
468
171
225
380
368
600
131
23
867
491
780
413
43
980
647
257
392
752
996
512
870
141
50
379
540
792
689
247
497
119
172
903
20
58
492
462
45
35
431
434
123
618
302
777
7
96
656
62
889
74
934
640
86
253
179
251
684
735
412
638
225
565
240
558
50
731
562
24
304
518
5
768
937
922
848
661
254
829
757
274
693
786
611
861
566
503
48
781
405
651
152
788
441
158
870
669
475
931
317
428
67
894
147
602
536
258
529
291
754
222
96
204
59
647
430
334
935
819
256
896
289
101
560
793
240
138
239
211
353
290
757
883
166
133
503
192
661
203
191
587
59
626
701
674
965
921
221
974
394
76
395
568
683
893
488
759
614
783
203
442
359
376
934
69
987
785
665
14
366
921
660
610
248
970
388
367
220
61
803
699
983
178
265
973
110
575
860
874
31
306
826
869
524
3
137
23
352
692
7
550
62
276
241
250
131
285
911
424
819
627
793
941
92
392
340
905
940
168
796
719
258
996
156
478
211
778
325
260
658
940
781
318
807
195
461
173
701
469
373
292
553
472
664
399
223
928
484
432
308
161
985
839
436
618
258
205
349
902
813
162
267
74
456
167
855
287
74
8
828
312
868
827
859
162
58
43
5
779
917
814
283
746
303
561
404
53
488
660
914
225
207
602
141
551
307
805
446
700
299
795
215
765
396
638
934
654
340
370
456
794
431
657
287
310
688
58
278
201
23
100
659
547
587
826
731
451
257
592
851
244
323
672
596
460
7
685
84
226
414
908
496
20
854
331
765
173
264
670
271
120
639
653
99
166
943
584
115
431
970
570
668
748
46
822
186
481
210
132
338
651
778
972
706
281
768
625
103
576
706
470
775
425
741
793
737
684
858
508
385
938
190
755
363
677
79
661
380
385
623
445
297
623
833
668
348
9
476
662
796
926
871
80
679
931
637
62
552
60
446
740
284
664
328
667
65
996
991
285
706
470
879
735
247
437
448
147
620
332
213
59
868
276
663
742
949
553
72
44
723
905
530
818
96
254
311
122
611
285
803
160
25
301
778
363
509
912
765
113
175
404
615
338
542
72
160
630
450
444
2
588
619
40
84
799
781
267
666
264
840
104
740
62
978
473
691
787
54
571
258
575
878
987
437
587
158
140
983
423
26
400
625
283
21
296
913
646
365
377
864
853
133
603
225
275
687
639
209
658
349
64
47
853
823
287
515
373
340
924
917
119
818
497
655
182
613
565
589
849
576
841
910
801
213
392
126
29
711
775
56
172
472
851
453
831
596
35
981
898
418
976
789
102
847
990
858
773
706
102
635
314
733
199
182
958
185
650
255
193
237
703
231
667
465
121
810
466
782
820
735
418
96
695
582
462
833
461
823
205
223
77
961
487
881
234
527
146
830
494
113
218
537
860
419
471
939
975
523
540
735
673
153
897
369
317
814
561
274
210
992
761
929
377
546
736
183
182
597
451
152
589
889
330
665
322
643
2
935
849
380
664
587
898
60
922
695
154
157
849
769
903
943
582
913
657
375
979
556
189
439
751
166
17
705
973
410
70
165
116
24
193
109
535
508
159
940
862
413
83
308
935
593
468
911
638
322
643
624
568
555
18
342
508
951
384
115
497
492
512
639
707
670
396
190
439
226
809
405
282
410
286
113
899
526
237
573
956
338
683
89
415
518
8
922
805
934
194
850
107
16
257
520
553
832
964
912
9
782
475
911
600
41
238
939
866
924
347
72
92
410
548
880
372
944
281
463
626
440
453
818
50
171
129
710
415
822
948
685
227
549
888
721
2
301
945
294
817
44
380
296
851
740
484
347
864
142
201
513
398
487
543
347
59
178
444
465
389
412
616
596
679
488
973
125
602
239
440
703
660
624
264
408
267
10
516
269
766
110
84
720
773
824
327
686
47
495
526
550
500
191
385
225
61
669
175
902
853
630
512
827
548
702
413
624
821
364
998
287
534
675
150
924
668
230
522
751
48
262
479
638
556
166
996
696
934
26
43
38
204
893
704
833
444
695
127
238
919
641
412
590
584
883
738
497
549
57
306
119
407
4
208
966
239
628
938
995
727
374
67
691
21
259
549
22
939
726
232
906
610
856
426
847
923
634
759
936
967
22
187
281
229
582
689
238
463
249
130
523
995
671
759
406
738
195
56
698
319
193
985
170
568
930
190
396
29
571
406
704
342
254
113
134
63
391
491
780
964
444
844
910
922
529
982
584
272
64
457
286
887
600
208
238
308
675
891
673
980
217
112
317
6
585
843
728
853
810
541
938
154
978
882
71
74
979
540
195
688
51
187
714
522
628
692
10
662
19
554
900
834
364
759
689
482
95
554
267
121
906
155
738
219
817
3
519
408
483
7
743
102
332
132
24
504
464
839
361
505
496
93
20
259
709
132
720
22
907
708
354
419
380
295
784
465
241
603
923
524
196
809
485
851
489
112
251
576
374
558
665
725
969
614
881
413
743
632
139
397
230
169
488
13
768
103
415
920
195
635
916
171
478
560
894
897
179
623
545
266
528
412
576
451
618
965
667
75
887
232
593
928
651
563
808
833
892
660
106
178
900
793
158
1000
660
642
376
491
57
826
537
450
76
9
53
521
167
539
589
22
882
683
989
774
685
895
98
658
563
16
123
504
705
933
642
574
51
42
237
86
944
784
971
173
474
654
643
210
369
328
813
661
426
976
84
470
562
411
25
563
524
453
423
177
197
756
257
615
209
431
897
494
241
957
565
715
55
240
6
203
734
219
652
909
60
46
328
710
273
716
643
612
657
9
813
92
557
725
593
516
444
499
355
300
605
934
143
906
862
393
693
817
513
552
992
323
308
733
950
385
868
133
135
796
431
251
349
608
163
254
7
93
589
537
908
523
861
428
999
699
714
872
177
475
929
915
985
479
62
989
305
870
993
323
814
230
600
289
988
644
453
125
927
588
8
271
114
527
179
511
524
981
539
209
130
431
658
205
975
600
224
336
458
557
692
144
368
594
157
53
498
32
23
168
412
929
859
945
10
180
484
107
79
644
944
610
949
743
558
920
690
441
588
571
33
644
444
770
358
821
531
808
603
111
991
191
967
227
609
654
575
268
132
730
111
904
43
95
540
497
657
716
674
415
983
731
297
170
458
49
963
48
40
930
393
580
599
149
595
542
796
925
450
156
825
470
532
863
532
897
338
278
376
211
969
973
658
295
501
302
222
126
981
800
587
922
974
595
72
581
112
875
38
553
898
696
783
238
335
332
11
108
595
898
19
29
54
235
920
643
478
869
292
299
71
438
615
686
370
116
723
277
704
434
301
683
26
391
159
250
472
894
565
573
900
366
498
109
26
870
20
768
474
152
337
139
255
850
306
46
683
507
308
211
739
132
411
141
247
807
711
771
971
224
582
34
963
113
316
255
36
225
296
226
247
914
434
849
663
389
27
513
486
384
636
717
823
345
811
20
995
230
721
99
311
658
837
528
639
467
800
935
974
706
555
354
403
694
610
885
528
74
36
311
487
716
423
911
113
916
581
512
697
581
163
810
42
3
808
32
209
373
583
336
404
406
712
719
987
336
639
812
436
23
428
645
423
171
400
374
873
409
696
989
979
576
120
241
662
615
258
360
908
370
332
664
744
988
682
833
328
778
84
427
823
154
339
221
221
714
667
76
289
617
541
339
142
136
456
236
730
706
56
303
704
815
732
695
708
811
510
107
125
92
591
117
720
120
392
17
396
460
302
552
522
312
672
548
870
50
735
130
248
920
255
32
325
352
718
581
986
314
766
57
790
761
431
474
751
506
400
305
707
767
215
330
22
254
831
532
200
885
387
990
275
145
416
736
535
642
953
895
177
641
179
770
39
225
299
163
381
271
315
920
59
589
257
607
88
444
206
221
737
146
131
105
806
581
183
526
667
332
565
940
979
526
526
604
731
660
354
32
412
437
430
781
657
72
577
177
673
630
946
891
119
691
640
724
888
60
109
571
402
279
122
296
619
419
767
149
962
17
513
478
732
36
826
659
411
405
222
606
448
60
921
749
733
387
461
46
996
611
729
502
789
26
869
620
539
868
436
436
403
310
997
63
307
299
76
202
584
914
3
660
110
490
738
763
682
25
186
461
652
279
889
52
533
525
206
706
330
149
279
392
892
147
123
375
435
100
190
204
702
419
595
982
943
435
2
749
999
481
870
34
302
189
317
952
518
107
422
778
919
145
137
553
276
521
349
143
239
649
822
123
702
822
893
16
623
677
828
701
116
123
697
250
433
869
453
82
587
713
674
46
1000
474
90
18
497
845
569
604
412
430
715
854
340
966
623
189
284
18
604
373
575
477
905
1
946
812
518
858
570
358
218
508
722
874
839
655
939
235
654
115
220
401
402
749
838
725
195
331
822
287
6
115
998
137
949
824
781
298
846
884
560
865
894
999
619
827
348
567
17
52
247
16
745
429
159
888
796
360
811
360
459
591
258
957
300
924
922
391
786
456
453
845
447
830
856
497
802
444
730
792
14
680
810
747
382
987
200
596
336
109
820
200
549
825
644
936
157
299
225
252
841
587
867
653
690
850
550
670
384
591
382
264
177
572
914
211
588
93
135
221
512
47
326
964
639
423
274
685
722
24
486
816
228
727
200
842
350
996
951
680
174
272
379
22
54
526
785
387
877
508
661
145
961
172
44
378
780
364
95
263
588
71
727
599
257
468
476
214
366
536
41
238
604
255
106
667
88
231
96
198
69
170
519
63
806
765
405
459
85
428
153
239
5
788
786
708
132
22
202
735
84
911
539
899
919
956
147
69
455
44
13
622
787
895
692
499
810
981
913
442
537
699
106
26
348
304
980
583
79
541
199
678
34
953
888
618
607
567
426
328
157
34
490
55
201
313
855
576
778
701
756
953
51
322
987
462
832
195
32
982
714
682
670
23
960
365
481
554
88
436
589
978
361
260
809
930
29
63
74
39
213
629
654
442
785
504
218
642
474
394
235
226
667
428
534
99
99
441
145
115
645
696
648
448
990
317
378
578
782
235
761
524
217
643
972
854
696
774
871
5
314
348
870
685
456
150
993
478
707
41
871
266
612
147
863
771
567
112
770
341
262
65
866
80
645
390
74
561
349
486
179
665
878
436
880
517
602
930
361
127
838
813
798
77
804
383
883
536
301
909
24
941
307
872
336
937
507
139
931
534
983
570
304
993
895
626
783
658
11
126
140
796
373
670
441
528
206
176
133
103
431
607
183
89
792
255
809
528
626
875
976
771
813
545
345
451
261
386
845
63
587
186
343
669
300
509
177
557
905
101
453
59
816
283
89
353
871
532
567
761
535
653
208
976
593
764
601
675
258
846
497
190
110
723
71
257
237
189
972
364
275
419
981
921
775
974
430
271
480
436
735
537
633
191
554
485
427
928
86
807
17
210
5
747
356
825
336
543
217
750
362
963
414
207
296
103
181
715
30
714
77
54
733
521
592
722
473
440
825
835
292
81
235
415
390
674
468
627
139
380
710
894
691
983
823
736
805
117
795
825
396
502
646
22
973
163
3
92
810
219
16
387
198
653
139
46
592
387
581
126
793
133
907
699
585
719
347
102
377
31
866
441
511
268
939
966
813
969
285
109
906
112
505
845
536
683
705
490
896
263
689
248
500
578
243
601
687
438
355
108
234
183
964
308
876
572
977
193
754
20
838
141
952
245
885
333
303
672
122
356
596
385
775
169
173
46
182
612
639
922
177
388
88
133
74
812
807
265
794
637
892
746
442
964
598
763
893
593
522
42
509
130
914
527
174
879
515
818
236
797
311
280
786
793
528
873
940
266
977
103
434
48
618
941
916
863
806
248
724
991
257
971
877
87
173
393
202
1000
342
771
253
998
285
992
738
19
658
287
647
448
211
611
202
438
566
39
16
978
959
405
588
772
876
475
351
454
211
110
25
853
160
273
939
802
585
215
349
484
986
855
473
388
530
201
156
767
819
629
592
902
217
982
517
562
560
738
630
821
53
961
781
777
987
330
638
773
658
334
135
462
560
614
970
400
441
529
857
895
351
231
991
536
124
948
432
127
70
702
707
800
830
383
954
696
431
981
362
920
608
762
495
462
355
367
311
371
490
117
366
764
735
313
708
178
461
925
445
374
756
894
832
939
945
198
993
935
14
941
67
420
672
993
646
853
913
135
877
299
45
213
491
847
87
564
293
879
358
856
422
609
824
510
729
878
495
106
188
288
749
499
182
597
959
905
806
753
231
874
103
74
348
904
281
841
269
411
499
40
646
939
794
40
844
751
62
768
941
425
788
336
962
666
388
140
426
309
631
151
894
426
562
519
805
484
779
602
342
793
690
258
465
801
612
533
517
403
152
925
21
78
375
14
369
563
646
579
110
754
898
289
469
728
312
673
533
67
14
348
261
178
495
427
121
923
861
615
683
670
939
746
926
835
488
429
402
75
474
10
612
575
439
294
139
273
480
329
151
449
250
91
826
839
704
87
192
322
18
732
588
261
202
867
714
798
490
926
783
739
478
66
825
198
328
55
590
816
112
819
823
225
483
339
887
368
432
22
883
470
861
751
396
716
22
574
982
145
697
405
349
897
128
143
919
690
312
358
153
333
255
51
557
153
187
28
789
450
513
106
636
480
529
715
948
997
500
468
783
117
743
893
129
84
788
871
571
562
498
256
184
226
304
794
744
766
315
725
73
886
159
406
982
524
832
852
780
314
720
371
796
257
207
353
665
680
992
839
444
820
290
711
712
785
588
215
955
238
539
63
430
856
859
529
650
515
810
824
382
212
968
492
743
899
482
761
594
800
975
571
922
265
567
465
318
894
215
667
984
501
755
435
896
448
537
220
924
33
543
236
711
903
197
834
63
909
900
416
467
444
450
745
90
49
123
172
277
989
160
718
140
601
823
940
306
422
953
208
249
502
209
388
956
850
739
857
823
672
102
511
826
890
636
669
966
474
350
781
943
267
608
449
794
322
570
568
992
235
355
313
86
613
396
283
548
598
278
390
895
335
660
949
531
340
537
8
982
41
171
163
390
143
541
977
172
45
32
652
734
309
385
785
18
6
662
880
424
859
58
790
370
291
951
410
333
815
470
749
713
760
229
990
297
957
586
251
397
861
955
552
962
552
229
908
111
193
339
598
540
843
356
356
228
922
277
672
701
303
843
434
864
692
314
868
88
935
96
85
786
940
542
600
202
127
24
847
516
739
601
74
635
841
192
987
258
587
236
172
895
151
185
628
497
757
58
714
317
396
500
442
392
140
444
297
780
478
510
749
326
683
766
165
237
63
299
95
226
861
350
830
294
712
421
644
513
786
857
389
308
206
889
972
798
876
16
747
769
593
932
88
683
219
861
202
937
713
335
765
293
27
928
112
967
242
404
517
386
817
69
575
40
493
856
799
162
231
808
355
195
529
193
265
136
622
427
500
889
329
353
168
687
810
197
348
505
44
691
228
141
654
436
904
289
600
590
555
510
322
313
771
478
184
261
458
246
422
583
107
585
362
514
220
618
372
669
301
87
862
572
176
587
664
779
342
11
293
217
669
281
914
968
77
142
313
819
719
442
835
332
813
858
8
52
495
451
545
763
984
815
529
348
904
800
830
925
817
983
223
386
900
118
282
393
231
757
800
169
325
128
439
123
403
148
297
495
385
121
327
679
726
281
864
862
70
851
53
896
97
689
629
114
124
917
329
898
762
145
181
385
372
38
96
660
162
18
420
123
510
806
618
520
491
398
812
271
673
792
704
341
922
459
300
878
373
116
947
222
711
827
412
718
628
848
135
959
630
913
315
692
382
842
207
663
444
471
843
81
525
883
425
224
384
856
780
952
116
242
635
534
822
725
891
248
631
24
775
661
606
171
497
391
315
894
15
380
769
524
600
422
974
75
181
753
556
311
829
997
801
704
358
680
986
110
726
787
36
935
803
592
407
292
146
68
584
376
582
713
737
878
789
576
882
742
564
570
370
17
128
910
635
836
666
678
933
806
258
32
214
207
500
568
366
443
435
686
839
117
808
594
22
969
328
759
843
665
339
183
752
62
239
904
624
193
57
467
174
634
831
972
101
329
820
460
594
228
118
47
765
282
942
219
270
432
742
142
660
255
253
652
996
815
813
856
861
93
588
903
193
119
813
535
297
510
814
498
978
696
356
751
994
541
818
667
916
418
808
138
67
47
81
520
400
569
46
896
56
412
744
7
892
437
864
496
415
787
307
837
444
604
807
416
263
488
349
775
248
176
451
925
705
417
930
2
140
427
391
247
328
628
551
462
278
613
460
632
679
379
826
360
452
933
957
144
829
308
263
257
732
873
889
224
342
578
792
418
403
436
510
318
236
115
937
359
413
977
660
117
770
294
777
744
761
646
699
233
128
699
95
80
570
674
29
331
349
800
344
876
768
980
487
39
72
685
351
195
598
857
129
186
931
187
872
763
426
705
173
149
688
38
421
83
526
60
112
391
425
897
999
209
830
413
286
462
388
385
623
119
823
536
410
29
309
464
802
853
56
329
842
734
287
801
356
850
987
413
609
931
568
958
211
157
90
950
456
591
792
539
82
431
453
446
438
951
558
641
169
919
321
514
830
680
368
233
284
834
284
833
366
633
298
327
24
804
75
805
90
479
976
43
918
327
176
626
318
771
685
949
660
395
703
787
502
238
695
267
852
724
258
217
1
367
135
835
873
262
722
574
35
570
7
908
795
898
191
412
342
479
151
190
474
553
503
225
300
188
270
691
211
72
76
582
546
468
318
282
640
603
10
878
347
283
860
53
721
375
652
397
258
136
218
844
998
64
95
714
823
52
490
568
500
165
303
644
346
261
780
169
950
49
836
249
1
861
207
352
154
628
362
625
794
28
547
427
735
806
432
465
162
564
561
905
590
142
215
639
205
846
373
678
728
400
147
267
849
456
452
925
373
911
711
43
427
71
48
95
481
924
801
775
480
381
155
572
71
371
367
400
778
118
341
902
998
724
319
948
827
473
16
686
89
862
874
202
401
464
979
502
752
142
824
38
852
51
326
471
491
72
412
683
218
53
43
331
936
288
787
381
414
157
874
130
310
748
250
206
3
590
295
904
458
318
721
11
337
230
669
955
846
182
167
740
72
231
927
580
168
745
928
616
339
439
343
383
455
961
154
913
79
171
242
521
832
257
805
322
324
146
729
497
321
486
932
148
429
619
753
371
330
567
185
805
540
24
113
495
720
767
761
384
805
674
213
136
608
770
244
241
102
315
665
608
275
981
55
878
308
594
68
766
859
731
450
585
371
732
540
981
690
304
297
586
709
958
840
957
444
982
65
683
704
507
161
6
484
506
752
628
313
225
929
645
53
650
696
716
62
87
176
618
203
826
483
338
941
183
347
721
603
893
404
476
983
964
587
38
629
606
171
391
521
800
875
442
372
364
853
973
423
162
560
488
467
202
227
515
794
961
146
54
877
189
18
875
948
861
407
345
34
661
715
284
633
605
154
122
985
969
940
279
806
666
249
270
422
664
565
496
473
758
689
70
764
297
34
319
347
26
846
782
659
252
601
625
363
953
195
417
574
302
445
96
313
289
110
790
354
802
854
865
117
552
561
235
895
700
957
451
497
906
794
588
333
789
687
251
91
459
329
302
390
879
953
60
251
286
851
805
761
810
216
361
67
730
834
469
712
492
925
373
372
780
974
805
251
379
532
102
753
572
767
732
547
77
30
872
841
325
810
56
467
989
227
79
392
246
663
506
393
191
210
167
932
224
349
945
707
950
716
41
990
352
821
619
581
569
347
430
178
574
991
558
984
487
863
918
652
22
137
497
31
797
979
649
707
834
784
912
85
620
407
929
539
498
379
67
247
9
65
224
437
43
348
146
129
300
690
284
926
605
373
866
56
100
295
389
633
181
959
168
100
324
181
953
886
626
627
851
573
964
462
969
332
174
324
264
886
518
309
37
77
63
869
422
918
244
372
969
128
38
525
153
286
683
86
199
152
798
24
149
161
106
814
493
822
682
636
14
524
822
43
695
273
146
102
708
10
532
79
498
433
837
522
955
735
126
959
478
247
302
525
523
738
635
526
877
73
647
309
450
955
233
887
882
763
685
374
614
846
487
700
375
190
389
35
228
86
262
996
400
260
676
56
153
961
974
507
840
663
852
967
119
355
106
694
28
890
247
912
229
485
164
932
299
276
850
107
360
765
504
569
703
107
991
235
316
464
699
808
377
40
380
363
855
24
378
620
318
366
37
220
950
212
706
145
535
888
934
901
893
475
939
292
822
428
374
347
116
163
724
495
650
230
445
171
826
502
67
816
897
791
53
673
836
464
156
883
424
872
382
110
194
933
452
340
721
726
794
569
470
807
734
780
122
798
492
18
824
930
16
371
314
426
487
366
218
2
514
624
147
312
678
616
370
862
94
13
962
772
82
441
335
780
874
404
945
51
533
771
815
671
893
504
227
209
381
216
551
345
50
779
739
355
10
406
437
227
711
558
35
241
215
592
194
153
678
264
600
501
740
76
724
167
436
5
351
30
528
307
525
441
862
952
348
301
492
730
746
727
808
233
931
616
842
713
781
983
258
295
783
568
283
140
488
58
952
930
658
247
627
491
418
595
684
439
752
935
625
512
641
534
679
627
965
326
62
779
68
869
737
598
543
545
425
769
344
546
61
542
829
463
687
236
703
650
948
990
118
104
17
12
388
282
772
225
858
148
455
525
497
751
934
820
670
797
858
655
375
4
697
503
952
537
676
725
908
407
92
809
19
559
345
737
336
303
315
226
53
847
356
168
455
963
295
785
333
226
298
911
304
848
351
316
473
866
430
202
716
307
121
811
690
31
573
603
343
122
190
611
300
76
388
380
13
534
85
374
964
977
324
857
537
646
572
19
397
895
801
574
327
354
414
123
547
566
416
344
438
192
48
461
472
519
236
516
902
738
816
654
403
395
469
57
460
484
710
127
737
894
66
260
63
297
788
846
949
111
59
174
746
885
689
523
646
286
679
80
746
902
933
257
278
234
559
604
978
579
918
823
216
976
575
285
223
49
801
54
206
342
121
700
653
732
678
26
428
561
866
458
546
449
750
12
650
115
308
657
312
147
395
402
214
370
658
633
190
371
320
50
847
751
868
80
227
908
222
753
524
495
845
883
408
208
635
825
894
234
155
228
44
510
883
962
973
936
776
844
788
796
322
873
129
976
686
437
886
978
289
354
571
353
340
663
525
960
443
805
839
318
356
216
408
470
418
348
40
942
926
865
890
804
959
50
802
388
787
518
317
880
978
917
206
910
785
655
412
241
201
649
160
836
326
693
837
914
323
343
976
79
291
142
270
253
867
604
122
919
185
607
645
168
149
780
397
93
592
987
383
397
41
270
8
457
229
445
753
685
456
110
299
738
151
979
714
49
723
306
111
149
905
684
852
502
284
605
14
882
690
33
282
881
389
674
903
755
818
750
615
691
710
887
687
523
26
125
374
82
58
183
70
637
450
838
448
381
620
691
658
452
296
635
470
810
395
94
873
169
525
422
211
274
755
926
431
27
87
632
374
393
314
268
348
505
518
928
385
141
514
541
730
567
948
577
52
759
619
368
835
212
807
92
202
821
40
688
129
849
807
950
671
609
153
610
343
269
970
490
231
188
66
685
765
230
778
310
358
823
969
568
240
926
730
745
917
629
36
284
640
868
863
274
153
614
21
527
778
926
40
907
585
490
993
738
998
574
48
924
677
910
878
884
954
594
815
511
394
21
737
167
286
761
293
145
4
479
952
109
201
284
806
811
750
313
752
727
197
13
920
375
239
296
747
747
404
694
124
692
678
708
404
77
297
773
892
298
306
638
631
977
758
543
903
749
648
216
907
652
732
631
489
951
441
429
623
216
956
109
607
56
361
404
562
230
516
739
875
761
895
313
703
283
201
133
490
94
991
285
758
306
905
831
63
6
336
976
137
602
561
586
688
371
381
690
251
763
347
357
774
204
470
194
331
968
149
795
466
204
701
626
206
343
522
232
687
925
359
130
689
352
637
442
106
188
60
129
516
424
955
701
591
534
949
363
8
267
604
913
936
834
576
100
881
591
719
811
922
352
309
158
880
177
211
523
9
882
402
631
163
516
716
1000
204
750
72
472
616
463
714
96
923
798
211
317
510
627
40
301
876
663
584
203
197
433
303
412
291
935
635
64
748
90
921
653
21
35
262
169
733
891
781
15
342
881
166
872
543
585
756
834
482
687
658
337
951
749
566
886
186
473
8
122
830
386
719
501
880
110
729
776
196
195
530
481
207
996
388
835
19
234
448
842
22
685
815
863
457
909
173
627
109
51
829
436
462
525
324
348
204
829
827
215
909
831
618
785
103
600
873
492
695
285
824
194
911
568
132
867
472
980
954
176
741
692
765
943
945
453
461
732
406
30
660
184
901
822
396
272
896
353
593
330
413
965
801
600
721
374
704
16
878
693
787
143
379
169
384
494
820
133
68
943
538
632
939
585
640
766
925
180
708
27
659
281
726
833
827
250
463
990
135
616
616
74
229
666
519
546
946
723
118
986
248
298
200
985
89
201
588
84
233
723
121
672
744
210
766
847
457
715
113
129
259
908
871
321
412
117
699
960
452
158
853
586
464
655
688
466
604
622
12
535
837
423
654
22
749
653
369
680
176
86
388
547
131
624
508
935
173
61
595
659
934
590
776
597
993
190
401
333
654
419
45
960
495
690
471
160
723
804
446
289
479
377
781
524
252
786
756
103
448
464
352
287
1
682
364
974
627
415
492
817
942
578
995
295
227
659
350
427
33
762
605
733
192
165
833
582
53
757
140
323
905
152
185
424
631
835
74
397
619
445
773
475
810
168
903
821
574
272
898
585
780
12
23
240
47
488
665
463
626
548
669
287
834
515
211
365
218
304
834
969
889
526
867
787
596
277
353
673
109
612
20
225
473
168
570
521
510
987
753
347
706
364
270
9
286
472
547
163
862
561
797
154
469
798
613
7
239
179
534
591
204
482
629
431
942
963
178
342
856
308
960
334
900
409
470
207
457
672
647
912
918
908
331
973
206
321
717
257
136
768
547
927
41
243
615
690
511
486
464
342
492
742
812
158
173
935
333
931
327
956
893
282
784
344
270
447
710
341
658
880
251
232
966
899
872
892
62
54
417
672
603
92
533
122
29
169
576
546
645
444
551
64
436
309
950
677
412
283
557
815
838
37
468
981
645
98
536
401
714
550
475
44
452
425
626
971
298
552
226
752
345
351
593
593
287
426
288
888
263
825
738
178
988
554
197
821
781
239
220
295
685
842
1
696
916
992
31
891
306
800
544
765
214
981
114
203
661
754
601
749
35
239
358
366
821
25
235
385
222
170
469
486
433
140
981
540
577
86
938
217
18
441
728
554
808
13
610
82
560
636
412
681
895
961
589
83
935
154
869
804
28
123
454
359
970
365
486
790
560
707
47
906
202
10
491
148
640
360
303
643
623
423
8
875
459
386
865
327
966
363
231
641
276
223
478
101
331
557
345
701
660
881
393
687
213
272
39
184
620
296
273
492
210
508
738
650
543
810
340
154
990
629
909
61
124
239
747
285
288
536
63
563
710
225
420
451
14
697
305
715
732
837
849
631
746
618
555
73
156
626
580
704
179
593
800
263
122
592
374
707
316
818
987
933
209
766
306
902
460
182
425
253
977
372
248
917
311
344
808
820
748
763
518
470
705
904
217
152
766
607
649
462
810
768
731
134
185
9
540
452
826
25
479
78
551
540
460
769
481
930
288
288
711
380
655
815
888
816
247
270
311
21
547
284
551
17
837
983
326
251
745
360
582
151
463
789
284
362
384
129
419
312
523
967
121
806
507
748
605
40
355
970
831
735
492
124
418
124
701
790
346
153
756
137
423
581
525
100
320
622
224
667
215
395
317
45
736
736
307
940
939
841
242
844
526
820
371
984
360
480
739
591
612
555
941
186
548
161
446
899
56
493
115
239
478
601
552
278
247
673
952
999
88
388
952
400
286
774
795
4
607
480
806
641
10
542
779
695
189
532
371
546
325
422
21
598
176
646
223
103
769
615
211
985
512
351
227
987
494
23
611
788
136
922
863
151
73
766
687
791
386
355
791
425
829
253
866
349
726
580
740
4
595
6
166
184
339
748
114
974
93
679
669
994
391
678
901
276
350
7
91
926
19
783
773
745
825
616
926
159
338
72
465
120
185
919
919
129
19
49
821
175
890
542
830
162
244
600
106
360
28
995
753
529
84
187
444
595
62
548
464
213
602
948
510
117
421
508
538
870
227
521
826
528
118
358
230
798
214
683
277
419
806
477
348
900
223
128
720
241
959
379
617
922
330
974
782
299
98
691
258
491
15
825
228
18
244
322
793
712
931
476
499
883
14
532
287
354
500
583
288
684
47
858
537
886
650
896
273
969
676
100
935
886
219
869
361
858
31
834
996
591
852
740
59
586
988
141
792
616
433
414
839
454
648
535
777
95
342
722
608
50
273
271
740
776
105
903
644
912
846
502
876
844
229
365
616
4
690
3
223
471
267
95
547
670
812
392
928
390
430
262
834
944
913
81
113
980
282
869
689
375
220
400
300
673
321
527
620
742
583
603
650
655
507
688
804
333
504
720
507
172
27
911
469
648
26
451
965
938
846
1
659
697
656
568
470
416
864
99
979
281
749
527
685
1000
696
60
195
888
32
248
96
360
419
686
793
117
191
278
122
477
792
670
874
762
691
773
694
125
782
316
982
956
263
33
547
835
441
362
738
14
738
530
727
598
413
513
395
881
136
634
32
835
658
488
668
314
204
508
389
399
159
679
463
206
817
868
396
625
690
751
358
688
929
565
522
710
921
765
961
908
983
205
710
930
436
651
492
633
977
252
355
468
450
125
224
56
590
332
905
871
266
364
624
475
63
686
582
416
805
42
324
717
747
987
942
882
724
541
274
461
503
972
275
526
946
431
702
860
368
598
84
254
641
540
725
90
182
682
120
281
969
214
755
743
82
223
732
782
125
574
27
183
45
877
491
316
495
878
888
288
921
281
357
31
964
295
708
193
600
184
854
930
695
701
509
951
276
599
4
712
905
298
698
249
950
425
5
957
463
162
497
569
621
249
886
677
343
48
952
443
834
292
639
502
237
17
615
703
504
688
553
18
893
742
283
852
201
578
749
35
954
557
386
973
316
700
148
788
368
588
906
800
789
455
361
359
663
546
924
868
319
638
243
829
638
15
179
857
234
305
96
929
271
322
223
558
452
469
757
218
895
305
66
77
195
601
69
45
942
586
402
188
401
117
458
825
808
155
791
975
995
338
620
398
635
364
407
157
444
605
543
481
71
660
210
740
289
517
368
492
289
634
671
894
557
504
805
263
847
225
388
191
246
178
113
413
151
150
233
613
299
180
875
393
610
906
877
962
751
481
52
480
752
919
808
567
962
335
57
244
876
667
210
440
129
347
844
241
23
870
318
275
488
362
234
968
329
70
97
924
888
137
993
345
56
190
384
255
663
990
363
232
847
893
827
536
977
896
74
774
17
841
264
731
69
732
45
567
918
166
378
365
69
630
281
935
691
751
761
837
320
639
689
830
948
141
739
346
365
157
818
118
184
177
579
803
55
847
745
286
973
678
931
386
410
983
610
820
256
751
637
635
207
433
525
793
253
569
240
218
432
751
857
423
817
694
845
780
41
63
110
610
273
277
156
502
705
726
914
748
47
715
834
280
458
949
831
307
628
606
519
658
428
840
2
963
675
74
140
914
75
598
836
301
309
798
372
942
617
780
258
356
899
333
351
828
564
876
239
500
883
549
19
256
533
634
606
474
444
273
704
154
777
853
354
552
62
462
796
201
108
583
973
125
276
495
648
119
120
965
504
222
176
414
42
864
911
144
326
736
451
188
856
137
715
974
915
372
30
353
780
843
122
470
47
589
614
580
198
396
820
218
200
59
665
30
606
19
24
189
137
404
637
562
169
429
24
677
909
241
508
137
286
552
525
306
758
796
910
987
278
170
709
328
676
606
415
393
554
627
188
649
595
91
766
147
885
10
281
309
441
1
115
37
624
433
287
364
564
9
562
925
10
329
675
376
253
987
545
262
906
883
382
970
345
704
894
119
583
19
624
168
160
1000
576
60
427
566
913
453
244
673
463
448
662
505
200
769
674
626
640
8
467
450
312
921
893
24
84
732
101
739
125
71
329
491
745
466
888
805
135
301
280
613
338
742
183
693
353
437
805
266
393
711
686
886
716
596
609
539
371
236
702
836
416
169
153
277
885
493
237
832
839
184
497
503
337
660
6
105
43
270
585
242
520
513
758
322
928
672
995
531
981
34
496
852
553
16
357
605
199
334
474
457
256
804
952
563
876
507
84
294
509
817
227
1000
906
212
986
386
681
911
198
402
794
93
106
941
146
888
3
312
605
356
354
171
391
421
71
526
728
79
190
514
71
220
665
866
10
112
382
383
175
915
770
266
59
610
588
858
727
347
574
219
767
574
613
947
711
234
37
842
361
949
457
333
129
416
260
70
519
122
527
718
378
135
681
772
362
916
602
201
372
60
295
782
372
381
451
294
79
6
424
134
533
999
175
499
405
569
744
15
251
108
674
575
593
120
584
196
841
642
828
898
575
866
706
979
656
511
266
554
939
949
90
911
130
210
830
56
444
773
425
794
307
484
109
845
264
25
327
769
653
129
635
949
370
95
494
465
188
272
632
458
748
852
313
521
256
699
406
704
360
986
634
968
479
67
754
300
33
368
713
259
688
89
3
410
698
133
560
958
892
16
534
926
664
460
177
363
577
1
920
419
832
227
426
579
895
174
26
21
56
29
517
810
535
516
688
638
39
242
351
893
331
862
846
121
478
104
211
344
911
609
224
309
353
15
531
425
932
969
940
75
556
511
744
17
698
847
646
776
273
624
431
312
230
669
64
746
800
584
277
584
67
757
42
738
725
66
556
578
361
65
469
443
639
441
147
267
64
373
695
495
810
741
309
11
260
263
289
600
493
295
706
379
937
458
268
682
807
231
429
158
756
368
147
192
347
327
984
315
615
902
440
983
959
883
510
935
60
907
455
380
358
606
689
404
835
792
510
348
514
691
106
349
144
179
930
907
973
560
36
122
398
666
441
182
550
981
907
827
520
28
813
727
69
496
911
174
92
437
881
37
60
396
517
672
910
543
297
368
616
674
865
935
737
489
627
280
808
680
290
118
310
187
662
537
354
429
441
754
893
459
48
258
458
764
768
507
950
846
612
470
994
845
331
623
701
189
972
448
471
654
192
77
652
307
329
504
436
483
869
711
371
349
521
93
267
616
592
860
74
662
725
407
505
651
351
256
818
247
409
832
166
171
968
203
356
140
404
927
711
734
692
326
942
305
197
810
588
374
46
386
658
857
832
96
529
71
913
941
45
715
1
788
31
913
117
873
93
999
216
760
689
883
957
54
904
771
160
728
312
497
463
658
552
931
582
854
997
748
342
904
978
375
360
376
583
46
858
238
927
725
571
913
170
136
142
227
270
223
716
331
615
183
655
689
228
622
431
323
193
485
805
825
323
156
313
97
846
530
955
365
90
914
727
806
689
335
298
14
866
205
696
633
709
301
357
702
184
753
249
650
819
8
83
417
607
790
827
881
718
694
792
637
12
388
630
170
193
339
435
632
665
614
993
791
834
590
934
149
603
328
176
912
302
964
577
261
149
722
172
328
594
48
700
396
600
923
394
96
976
649
161
800
383
238
359
971
510
100
326
983
247
884
732
792
352
180
572
892
272
278
343
198
242
353
529
836
763
218
30
340
868
293
568
447
317
541
448
461
32
884
250
181
619
91
169
506
775
167
751
125
770
70
727
148
919
940
477
154
197
121
434
875
667
955
371
675
437
698
112
35
215
939
651
508
361
593
80
983
532
876
959
647
624
659
24
723
750
271
160
942
406
101
609
690
822
352
295
960
727
884
941
568
394
400
402
543
910
116
253
287
45
698
211
841
968
467
417
594
342
765
944
835
983
976
157
844
370
866
714
616
774
808
63
900
670
984
253
949
400
810
781
296
761
727
959
876
304
936
986
48
664
858
514
402
142
880
1
766
120
424
537
499
612
500
181
950
409
678
31
990
816
852
417
629
958
257
605
37
968
942
381
729
162
325
703
295
489
493
372
810
85
629
345
967
809
345
870
81
983
684
93
305
396
291
177
823
810
541
258
307
846
453
741
621
138
845
566
645
58
508
39
51
173
137
782
88
811
372
124
714
776
613
23
927
286
149
203
759
688
797
754
201
343
443
861
297
367
819
704
707
584
363
792
345
113
287
190
96
531
792
145
191
422
925
584
556
443
769
863
337
728
457
913
851
591
53
611
399
970
438
841
751
32
206
168
621
647
985
498
103
191
775
389
892
310
621
917
73
786
412
113
408
636
680
57
337
922
997
608
383
536
1000
649
217
379
124
439
442
960
830
357
51
412
499
862
595
326
186
993
319
604
109
99
944
747
102
767
270
583
232
130
506
498
478
822
99
638
617
842
799
368
494
533
929
555
425
658
95
850
784
311
109
206
759
15
472
339
838
899
623
697
861
290
66
750
334
402
601
138
316
56
170
247
353
540
219
313
838
762
66
9
696
850
506
822
472
211
743
188
746
847
821
484
298
451
890
519
592
355
26
52
965
939
816
226
369
528
616
548
635
84
175
164
16
269
339
764
176
547
665
378
922
54
66
725
680
898
76
492
152
394
922
176
637
507
334
612
214
424
977
387
358
762
444
668
591
355
977
820
462
1
478
365
463
776
923
476
525
754
978
184
355
57
482
959
211
163
461
84
657
317
535
559
478
698
872
854
214
725
346
914
678
526
178
282
464
95
155
37
645
151
450
561
808
28
184
775
98
184
124
619
188
95
353
989
940
357
290
288
68
778
201
9
287
154
197
498
280
178
804
167
308
649
332
912
442
719
690
460
208
448
742
683
901
337
34
635
937
812
481
264
415
892
646
254
457
354
330
433
28
796
524
548
647
904
190
971
837
87
990
84
181
418
779
662
623
443
679
581
957
32
542
550
543
875
906
397
916
639
910
612
340
82
164
500
324
587
307
290
785
717
797
979
856
370
543
548
295
31
96
378
63
432
499
387
953
666
346
428
46
423
233
977
372
545
603
954
437
553
917
860
109
140
196
24
996
880
240
874
599
569
252
636
429
662
172
734
807
284
742
492
233
122
240
446
55
331
829
657
684
260
703
985
730
413
535
165
262
550
275
897
842
261
991
861
130
656
287
767
616
32
801
35
469
520
439
724
601
740
277
647
775
440
528
400
986
945
573
200
436
991
804
32
82
190
984
549
176
921
843
627
183
941
933
211
194
367
84
361
260
986
407
965
90
14
429
647
196
566
874
804
894
58
537
541
510
704
939
527
796
86
724
412
798
474
268
534
402
239
602
61
323
207
540
619
593
264
853
696
479
861
454
805
331
326
785
462
80
51
61
539
978
691
564
431
679
478
932
783
984
645
268
244
376
733
941
803
993
250
151
816
824
735
678
719
734
824
769
797
388
269
759
96
253
234
863
695
663
378
564
153
328
380
133
852
806
596
153
364
151
481
311
699
403
249
400
522
608
19
166
947
802
323
602
557
732
463
348
667
149
634
84
658
170
137
201
414
558
292
574
511
747
832
952
829
140
687
364
682
443
41
912
392
841
494
530
476
389
923
589
260
292
437
720
790
691
360
855
349
135
795
299
788
188
715
564
107
532
883
849
436
446
173
257
632
809
14
310
190
602
748
865
81
444
661
273
413
865
347
535
531
857
818
195
289
768
496
991
723
710
800
559
318
509
574
61
367
669
958
246
664
938
701
273
932
848
61
642
924
56
616
661
95
366
330
241
118
83
163
177
275
760
352
775
938
433
265
352
932
177
376
133
574
184
478
100
553
575
727
587
655
873
501
817
499
377
312
103
112
688
249
153
146
292
476
749
10
405
361
122
985
261
687
471
655
642
241
431
622
725
781
761
522
261
15
169
832
685
776
976
801
10
999
273
120
253
467
347
631
718
550
384
437
648
309
918
291
656
419
13
1000
862
328
968
932
856
956
149
375
424
24
660
629
509
785
710
260
998
541
945
807
748
826
470
639
750
556
998
349
404
750
376
230
710
655
694
938
577
259
379
407
564
161
894
416
92
783
187
26
605
670
578
235
174
469
583
817
788
768
65
281
934
572
188
283
95
686
870
638
483
607
844
271
671
861
945
75
767
883
975
649
446
651
332
328
454
280
601
755
175
701
503
454
447
374
878
555
135
676
899
829
863
287
327
678
913
374
432
579
562
866
125
752
999
437
989
497
549
57
128
731
144
168
190
748
834
581
495
116
687
165
919
914
590
294
78
267
310
793
416
173
681
818
961
223
919
706
928
673
894
330
794
700
630
921
201
395
465
606
822
201
36
176
329
53
719
688
746
419
242
566
729
847
915
799
819
338
357
689
262
94
624
344
809
731
398
793
773
66
222
138
743
968
836
668
561
564
335
204
552
311
206
258
561
42
310
765
33
128
521
246
241
324
48
286
763
688
425
85
504
218
786
691
857
482
307
234
94
580
650
104
718
230
815
565
287
626
67
733
182
9
500
190
894
539
370
768
680
169
528
201
820
681
174
393
339
972
673
51
728
951
354
284
144
129
58
572
557
103
713
205
568
648
329
863
925
52
665
562
316
686
242
539
676
499
523
33
58
326
858
82
108
397
213
634
332
439
804
274
623
80
507
831
967
86
305
962
857
91
103
576
714
104
956
628
519
24
130
355
941
833
426
524
487
912
917
640
566
128
553
330
926
985
103
334
610
112
556
609
433
828
419
89
6
322
288
514
490
250
733
600
583
187
772
510
754
415
180
244
339
11
448
83
927
31
459
673
424
886
858
685
253
657
640
232
463
208
715
399
891
412
52
302
117
728
569
58
700
656
87
948
24
307
522
816
191
433
2
467
524
806
702
397
677
723
60
718
797
787
455
529
883
822
572
331
325
945
458
274
538
371
692
172
810
452
209
270
718
871
35
660
950
635
613
108
968
700
459
824
712
671
596
330
453
959
581
187
1
219
987
796
677
679
871
859
869
157
97
406
530
211
401
444
657
870
714
411
685
819
579
625
708
747
474
797
614
813
452
543
570
820
809
500
740
742
414
333
791
718
929
414
499
465
392
423
752
367
546
452
333
146
848
470
133
109
307
134
871
476
188
42
947
155
123
450
836
663
381
405
256
573
865
980
436
11
911
37
989
212
137
510
253
112
355
719
481
244
72
637
920
977
197
336
655
267
361
94
79
644
694
728
961
118
981
795
417
57
886
227
501
839
315
817
775
288
70
722
948
467
634
833
614
382
337
385
187
580
140
718
358
385
990
406
800
759
28
321
371
358
924
357
794
409
278
636
604
419
319
50
229
605
128
871
168
127
198
999
622
895
445
145
361
742
717
848
285
225
433
803
913
180
232
380
986
427
411
587
476
696
510
977
576
931
589
156
616
611
639
630
488
639
77
683
842
625
484
875
231
130
558
528
424
517
768
259
293
617
354
220
45
288
104
211
95
349
830
239
520
41
573
419
877
363
344
330
141
156
661
78
673
777
199
343
386
558
659
635
773
41
318
841
32
119
840
878
299
828
574
953
928
514
5
487
807
485
2
220
960
70
223
424
52
223
350
415
965
399
859
748
312
475
655
588
620
897
207
748
910
89
831
802
581
369
317
483
841
291
451
325
377
366
855
110
635
585
197
244
842
14
64
602
862
27
670
754
101
394
170
723
910
537
530
596
373
769
805
373
946
182
173
405
119
218
295
673
196
602
383
926
301
467
866
388
936
13
695
365
770
968
140
563
845
446
402
344
58
543
465
488
612
167
426
208
85
120
935
344
939
442
505
664
555
377
171
149
340
75
402
4
70
351
204
871
374
393
102
387
208
283
28
816
212
616
189
919
111
292
671
654
679
764
873
533
336
640
858
703
168
556
372
886
987
667
590
323
73
945
595
787
419
677
245
545
618
250
349
865
997
336
999
294
264
26
516
492
721
387
687
810
39
121
913
183
701
720
400
149
483
592
785
965
773
104
428
861
69
397
149
457
773
137
366
217
257
45
432
647
223
206
465
589
585
631
124
599
472
515
574
865
419
931
393
588
544
475
232
987
276
480
877
398
219
15
765
997
859
806
97
762
115
602
456
192
193
261
217
196
794
38
123
256
513
102
90
710
155
323
692
480
797
770
810
129
640
132
589
437
87
525
220
23
23
719
37
718
991
875
81
469
787
289
594
604
22
470
871
153
386
143
509
774
643
380
404
531
883
142
724
419
199
952
744
52
748
302
617
383
92
650
102
673
842
553
802
172
877
563
692
152
836
982
588
973
148
515
740
873
607
96
904
20
375
938
105
167
360
914
792
941
78
941
227
392
518
934
796
935
987
254
346
238
626
285
821
897
79
966
213
14
805
594
301
859
640
237
736
897
521
400
760
353
742
411
286
372
685
132
87
562
787
197
593
376
358
979
125
376
2
859
475
854
577
192
384
710
41
574
820
741
77
607
980
701
77
399
553
592
925
467
123
644
43
511
541
357
326
819
729
791
897
651
632
32
144
48
7
356
75
946
296
187
884
344
84
364
516
543
571
589
169
165
6
182
904
715
275
428
970
976
708
871
21
378
678
878
125
833
768
696
367
188
114
969
895
604
36
432
420
652
213
34
602
880
473
312
200
912
736
189
589
878
770
734
24
152
195
611
53
881
598
98
594
780
741
583
491
25
549
377
817
825
4
558
800
476
116
289
999
222
854
722
293
303
294
185
310
908
291
791
149
592
617
13
662
906
914
46
64
608
737
971
391
831
683
827
131
52
857
720
403
471
924
984
216
717
612
257
655
398
793
20
341
85
229
823
134
766
645
914
853
682
35
455
726
722
27
865
400
224
668
42
607
121
241
444
971
866
550
4
68
445
693
890
531
104
471
955
908
131
478
540
24
122
356
961
786
712
913
631
742
650
551
258
191
457
973
969
358
619
210
550
909
432
834
185
124
167
613
231
141
157
990
589
2
811
501
174
665
293
638
846
768
812
756
913
683
23
296
962
326
54
8
375
249
56
858
329
788
974
4
479
427
445
552
802
59
359
823
258
568
614
487
64
963
40
257
330
351
300
773
752
176
803
960
867
487
322
396
88
485
58
174
387
223
347
326
3
141
68
135
22
53
96
547
1
329
794
476
90
261
650
983
230
20
641
219
110
213
786
510
521
732
686
180
609
528
525
526
370
955
147
875
338
521
310
778
107
282
189
255
761
575
494
401
734
494
329
860
933
325
62
387
177
128
17
206
126
807
767
923
940
300
178
513
812
955
94
329
394
796
777
82
883
105
746
529
192
708
700
915
199
389
559
278
549
123
502
411
845
170
39
593
377
652
832
218
703
910
930
104
511
801
573
562
200
116
504
274
507
459
4
662
352
255
485
696
771
36
539
29
463
796
801
931
982
996
837
760
88
749
563
583
65
824
333
143
135
372
977
579
194
690
499
159
210
924
90
854
571
330
377
713
567
614
560
899
957
908
190
680
286
136
872
884
202
891
85
88
530
445
675
302
269
195
289
31
9
658
163
357
469
127
264
142
996
224
685
535
915
888
626
697
524
773
996
87
430
666
902
698
622
262
841
349
386
578
416
506
698
346
785
147
226
983
857
861
444
81
465
706
647
946
330
369
858
390
702
795
691
851
937
789
275
909
137
49
225
459
204
700
481
119
317
696
550
907
875
384
315
914
417
113
133
431
907
6
340
986
11
955
692
830
698
412
463
679
576
789
129
939
843
156
612
214
655
444
38
631
994
544
836
409
848
545
801
117
598
827
437
313
65
927
476
563
573
829
1
381
709
888
992
299
236
626
439
87
721
495
385
132
13
88
406
132
663
386
47
535
740
379
701
623
256
795
247
734
615
735
525
883
59
733
400
963
88
111
698
779
215
559
827
399
244
527
206
707
424
370
990
554
488
189
688
649
590
941
448
146
566
733
727
923
807
155
11
707
245
147
57
528
610
144
843
458
178
235
57
244
661
584
490
219
779
682
126
852
316
860
85
365
137
55
831
151
723
60
202
113
287
335
910
638
396
998
109
641
378
799
522
13
432
721
410
829
546
337
336
904
794
225
302
617
533
540
329
439
353
309
948
279
367
137
419
585
585
800
693
104
639
615
267
374
130
592
125
271
187
103
896
430
620
209
206
932
239
855
963
428
453
846
967
780
306
904
811
390
448
106
509
601
386
737
664
950
546
874
289
605
276
57
566
998
994
48
940
543
37
967
950
332
675
83
102
870
927
165
921
229
520
539
14
502
335
978
649
58
175
116
847
898
536
315
455
357
345
862
14
525
296
870
471
989
498
523
964
945
651
165
984
296
844
231
163
65
387
257
830
383
778
997
294
301
47
196
437
927
205
720
876
698
493
557
398
160
418
647
813
249
336
648
682
920
468
516
602
956
787
196
840
903
192
830
193
389
717
628
823
536
325
957
736
768
991
244
278
89
376
35
703
831
370
895
436
928
193
875
124
19
528
973
946
71
387
313
934
740
997
816
279
415
53
743
645
722
74
843
562
293
449
757
864
755
7
9
948
260
568
122
370
299
1
415
903
238
778
540
748
767
845
147
996
428
954
902
817
478
218
685
87
624
780
994
343
558
964
452
2
832
140
854
773
308
900
351
64
330
782
250
969
807
944
355
107
571
680
974
207
775
622
497
811
566
765
920
892
957
255
833
499
652
949
136
763
548
375
210
735
777
632
335
549
446
165
928
357
705
96
538
333
322
987
621
788
787
485
834
101
805
288
938
756
182
276
451
217
285
435
868
779
685
431
597
817
110
286
776
23
547
648
775
356
193
546
491
405
941
394
539
792
305
203
23
52
954
639
886
157
562
603
748
476
269
465
747
494
889
957
135
80
911
988
289
397
470
337
356
860
721
252
971
651
461
463
347
415
435
42
576
703
476
818
167
626
525
764
666
957
630
914
732
623
194
845
173
123
144
737
253
897
159
308
80
121
790
694
957
673
137
470
399
271
694
587
936
910
160
908
904
747
261
446
195
535
116
147
324
562
254
236
230
783
178
738
958
537
282
777
727
743
988
637
917
22
229
392
211
491
764
86
441
337
381
111
714
406
713
394
14
185
286
468
820
544
396
325
222
511
601
189
643
179
940
984
567
567
453
338
585
876
244
410
688
142
89
704
954
699
572
279
707
228
821
488
768
441
174
398
640
575
550
593
337
962
836
923
103
912
375
62
444
16
493
473
742
782
66
466
212
174
321
560
123
269
424
302
999
708
923
14
15
67
776
680
877
547
524
338
292
662
155
882
560
671
323
156
892
595
914
559
834
555
370
182
558
51
794
642
844
528
648
394
311
264
727
259
799
154
224
331
853
468
881
205
942
7
638
689
373
398
733
774
871
447
898
650
454
561
161
999
517
268
757
606
36
778
862
595
396
316
136
215
651
731
584
172
938
458
862
962
373
503
954
502
992
506
95
652
209
348
925
897
833
957
111
502
870
186
110
7
255
669
310
768
138
548
511
572
575
835
616
84
285
977
427
945
644
860
649
928
253
108
560
423
185
21
323
898
546
923
575
701
39
998
757
724
47
915
644
988
167
673
644
190
213
156
751
588
469
776
485
394
357
501
752
6
767
261
313
14
978
417
493
866
527
531
814
524
334
176
474
200
157
849
991
504
728
407
855
909
954
577
757
513
209
230
799
446
47
90
106
157
645
476
446
13
899
482
760
310
369
725
18
845
219
429
429
647
871
141
835
350
354
816
84
920
224
365
254
187
492
7
889
652
214
931
815
565
270
846
678
176
380
953
91
312
606
779
132
197
410
76
34
525
844
692
42
290
614
920
824
855
540
333
308
30
429
515
488
700
481
441
571
662
145
451
824
901
749
922
607
498
342
748
377
697
936
716
900
464
709
676
510
25
826
194
23
463
231
9
822
439
129
204
724
499
934
459
440
225
102
141
866
720
651
277
952
484
137
637
613
817
517
256
9
259
652
746
506
447
146
623
846
991
859
735
319
612
701
566
268
863
247
840
857
168
312
377
845
829
861
604
61
883
549
453
353
378
714
664
98
737
911
640
723
337
896
90
304
364
527
662
21
262
237
646
137
842
542
619
222
217
592
590
532
227
881
803
810
995
73
870
306
530
354
299
455
79
831
824
498
51
314
134
307
891
199
768
801
248
313
944
662
136
290
58
470
565
473
410
26
289
382
510
357
904
524
934
843
526
663
287
964
653
724
322
408
648
178
603
660
454
99
427
740
799
59
879
460
138
737
21
423
35
356
196
1
498
73
362
695
34
76
167
617
828
372
214
297
507
241
593
664
404
883
287
860
106
52
507
466
334
356
354
842
884
497
477
558
448
883
522
282
599
984
285
94
160
273
401
907
425
820
330
581
473
417
153
339
860
636
389
322
558
347
671
440
889
69
576
226
572
947
359
50
699
310
634
863
657
528
270
656
497
315
914
924
281
720
573
739
235
801
642
473
357
381
602
834
285
321
370
628
805
499
967
572
382
26
683
589
497
270
464
212
355
941
556
128
749
834
779
449
487
824
968
959
790
351
222
501
516
957
623
616
883
394
969
762
607
440
908
751
27
856
572
517
824
826
440
976
412
835
702
519
927
177
822
660
51
188
377
418
514
867
465
322
277
738
165
329
837
729
599
501
6
309
89
58
826
361
827
273
972
79
227
746
131
688
833
784
342
931
256
959
227
92
123
460
378
767
411
487
878
726
894
784
105
9
608
385
529
798
408
779
118
715
716
2
408
954
474
601
990
38
221
43
397
57
906
878
933
978
760
914
971
958
77
698
656
639
274
883
757
98
917
382
577
433
761
819
515
4
978
440
827
961
876
526
591
35
435
359
727
509
849
955
131
931
123
110
645
373
484
793
637
30
980
523
424
474
205
223
625
205
508
923
806
961
398
851
474
877
122
674
519
767
539
86
742
665
490
520
960
323
838
480
507
520
228
877
648
883
397
816
538
427
577
456
876
171
109
939
343
986
904
881
226
309
799
619
391
481
161
175
889
226
337
957
66
251
651
276
956
12
711
109
154
451
716
969
103
919
301
335
902
534
224
882
360
973
847
660
964
39
945
434
870
391
835
654
780
509
202
888
832
279
306
106
183
636
394
903
41
294
315
607
291
945
262
219
708
257
536
318
988
620
14
381
481
891
737
437
534
281
659
644
852
168
137
135
112
822
185
452
357
960
861
989
364
611
417
128
270
947
990
163
216
667
697
691
693
1000
952
880
533
609
725
913
236
491
222
934
421
497
187
49
700
229
595
276
219
869
37
844
443
2
498
932
473
567
531
742
365
894
92
786
460
182
388
430
667
882
151
981
53
209
695
110
825
374
946
970
974
225
404
146
456
676
642
490
743
688
546
982
992
586
922
957
877
189
529
471
340
564
850
77
122
220
115
17
965
196
191
678
796
824
959
165
53
907
694
36
515
670
816
541
699
122
60
214
876
415
775
284
280
345
593
183
885
426
134
364
451
847
777
753
181
180
791
433
427
940
249
560
368
952
250
96
492
23
927
666
989
594
607
760
899
876
268
500
955
510
142
441
588
890
899
192
481
143
364
184
408
208
112
556
816
566
633
985
754
977
948
236
331
1
716
364
801
158
883
799
768
360
897
974
773
622
326
783
681
128
498
907
896
466
438
973
395
169
926
573
990
779
3
425
15
305
610
311
851
293
336
12
299
727
447
119
869
638
472
498
430
584
603
149
543
166
119
428
8
333
806
863
826
530
125
336
796
669
472
992
474
490
423
56
25
134
297
695
827
651
725
139
317
722
160
565
690
90
422
663
515
76
461
363
256
72
451
946
979
94
262
649
224
323
103
923
146
41
829
677
557
557
24
234
401
485
448
218
553
227
876
253
570
651
634
200
139
684
423
620
572
21
78
307
586
231
9
11
46
255
970
933
54
755
676
182
989
773
535
134
655
906
408
562
715
583
916
482
946
24
237
890
687
179
759
945
41
277
212
703
11
589
111
216
764
711
442
651
662
918
497
105
510
175
735
953
722
954
291
914
754
322
546
470
195
683
745
926
373
150
232
205
195
777
279
400
210
777
852
219
558
405
911
734
561
428
999
246
181
938
931
664
500
822
405
527
631
383
179
673
227
422
304
630
834
632
549
974
863
260
787
273
897
849
580
745
361
290
654
426
343
588
237
474
471
472
477
203
344
461
269
595
925
51
887
324
716
456
723
775
265
739
303
153
757
215
514
528
10
743
605
600
208
874
135
26
56
870
477
386
902
285
887
266
516
138
429
455
891
707
237
982
400
628
704
548
108
294
166
945
839
507
596
206
869
967
619
555
740
455
880
728
745
501
435
849
93
931
379
846
640
904
342
353
317
999
869
141
89
425
908
382
342
669
846
470
101
775
547
714
352
947
864
918
90
385
943
776
352
76
449
55
693
790
514
717
999
648
826
507
530
471
769
45
366
566
940
115
202
730
682
691
563
46
512
200
80
441
428
669
398
130
128
709
691
746
125
709
491
409
578
254
741
40
410
519
541
910
961
319
85
825
987
568
633
364
267
146
192
251
504
524
805
310
444
87
902
446
367
762
267
726
180
422
529
961
358
567
964
172
885
921
618
898
171
939
404
629
626
676
890
570
234
133
930
497
978
956
190
777
414
347
853
467
59
128
486
6
487
180
139
212
212
884
213
168
480
772
556
119
91
326
522
680
237
762
467
497
122
649
228
990
844
460
700
993
594
459
511
863
754
880
156
154
858
997
671
25
742
526
93
356
375
774
483
984
48
78
262
538
599
400
965
119
309
362
307
475
941
621
592
362
171
272
127
522
291
835
267
62
663
514
99
52
844
603
611
856
719
325
366
32
220
930
342
639
453
569
592
462
106
335
830
947
46
848
874
615
918
971
98
362
365
515
731
297
224
327
842
741
681
752
352
575
899
275
256
376
80
93
512
698
268
475
724
400
458
33
858
141
725
426
668
36
189
641
467
4
547
662
116
501
846
290
868
205
914
873
779
671
573
924
938
188
363
975
693
815
992
492
367
93
163
387
731
8
731
451
602
601
352
41
528
18
966
476
451
904
423
894
619
789
566
780
777
517
899
965
856
821
718
681
952
882
286
156
381
49
138
314
995
973
138
391
729
36
239
632
584
355
223
826
842
581
859
86
343
417
36
170
64
56
426
646
107
714
138
362
396
67
656
26
71
653
59
148
586
267
164
291
7
948
766
306
834
395
588
221
977
585
914
557
172
889
103
76
206
225
393
421
823
641
419
668
58
267
880
532
79
734
650
877
277
30
418
202
516
237
647
3
925
749
221
229
574
398
666
607
691
353
239
239
824
807
494
729
496
226
174
66
457
373
370
625
576
417
975
950
813
183
351
428
454
987
25
569
976
588
947
372
499
474
519
174
764
94
177
463
975
666
769
343
641
878
369
763
769
141
424
132
366
36
360
664
226
292
845
639
427
871
919
801
754
783
119
244
555
812
534
507
135
642
457
52
877
806
920
939
720
460
958
314
502
246
849
282
923
392
978
822
596
781
180
676
696
916
602
580
241
585
200
744
915
571
935
247
640
918
630
894
845
115
233
124
446
61
919
756
114
816
74
719
301
957
685
430
869
838
98
143
846
141
415
418
47
924
11
863
787
782
797
392
923
826
887
589
791
944
276
191
380
211
962
296
290
362
727
702
555
970
443
671
459
344
326
498
805
167
53
494
959
623
15
395
160
58
301
717
209
234
143
321
689
911
721
277
262
753
167
135
458
568
564
899
577
484
526
290
2
955
686
406
238
418
35
491
491
16
609
327
420
55
430
745
10
754
11
791
154
414
919
431
637
352
120
4
698
810
849
305
236
574
746
815
47
245
865
570
146
907
963
139
407
479
158
413
194
147
646
268
664
120
677
649
695
390
384
326
156
318
415
372
388
633
480
399
301
884
130
751
458
441
46
97
882
934
119
371
88
385
417
580
29
367
899
761
208
224
389
316
218
786
923
1
368
8
995
78
819
665
680
559
920
586
834
961
2
869
804
749
916
222
171
445
58
844
38
452
413
252
308
750
424
63
194
997
114
30
956
25
967
566
443
350
497
578
608
138
333
665
565
995
891
680
131
65
404
153
25
170
145
356
94
181
172
599
969
328
837
932
541
945
569
561
532
991
185
166
217
759
69
793
40
372
95
125
477
23
98
790
996
431
14
783
372
656
566
238
948
235
519
541
638
589
57
218
605
783
821
127
593
20
495
226
816
691
599
579
169
433
324
360
280
369
846
276
570
666
502
251
86
597
660
218
295
529
874
552
466
643
142
16
509
760
706
102
351
304
831
291
20
329
448
60
623
535
367
452
312
356
12
620
138
548
276
51
422
175
128
119
926
524
93
168
598
298
567
634
146
341
205
549
22
315
297
393
675
956
134
433
52
986
854
578
450
338
145
299
740
47
497
365
908
97
391
962
609
510
936
272
155
201
988
754
926
460
686
149
721
429
722
726
964
636
349
394
7
449
303
81
982
299
380
228
801
676
329
315
924
168
125
112
465
291
422
734
60
441
198
624
659
77
161
349
79
164
478
407
724
958
792
325
343
482
299
984
72
393
842
444
319
520
617
558
206
13
99
309
409
940
212
99
235
151
615
220
672
416
219
315
991
155
660
952
178
570
558
345
116
630
809
871
979
124
33
236
725
7
584
114
938
292
179
556
521
80
321
777
901
683
139
711
466
400
203
324
956
231
141
810
366
688
619
672
757
930
346
151
3
637
279
661
168
376
153
658
652
772
770
862
694
407
235
865
120
246
467
934
456
344
866
262
651
721
978
989
690
614
348
99
325
731
557
661
2
764
570
971
801
170
147
853
887
143
22
765
531
797
988
352
224
771
791
816
799
910
966
780
759
161
365
331
197
573
123
588
798
114
273
435
413
47
9
41
610
765
879
402
426
322
799
411
263
379
865
920
493
887
354
826
904
696
224
462
518
138
645
498
697
819
792
92
689
66
225
261
927
921
635
304
479
126
669
654
992
307
832
702
382
417
154
985
285
571
469
629
995
584
618
94
196
896
874
56
314
75
158
770
725
748
412
324
351
656
603
27
444
491
384
569
434
320
437
698
797
694
823
911
816
990
493
48
973
140
257
739
441
661
98
380
845
823
718
677
984
871
588
819
713
432
565
55
543
651
386
741
829
114
910
979
567
348
46
564
964
514
704
322
918
952
950
837
478
374
783
222
150
852
593
854
656
216
425
920
385
126
612
236
280
855
216
16
400
796
998
198
688
794
276
481
777
671
168
447
798
741
152
4
237
670
813
935
847
784
921
500
526
796
706
898
821
995
307
874
453
116
891
923
820
468
865
361
956
432
937
963
849
76
528
36
300
500
167
536
771
457
71
303
777
979
55
546
406
5
293
485
521
466
209
450
18
881
968
798
291
297
610
709
686
310
859
334
351
981
44
745
278
700
359
861
801
431
900
855
36
326
547
524
969
371
748
792
1000
625
718
791
736
576
391
962
761
356
682
210
905
836
304
455
282
148
387
825
970
779
643
362
772
205
668
320
909
965
240
82
864
193
163
231
856
880
271
581
560
567
713
799
773
731
521
806
711
873
780
316
470
192
410
719
999
780
697
15
612
478
224
642
668
868
790
869
550
418
212
889
490
445
685
853
104
394
479
881
708
907
335
522
657
309
857
201
933
408
584
976
180
975
171
298
253
872
309
543
34
556
581
801
22
601
444
771
683
975
925
644
81
10
428
550
669
421
233
459
390
253
904
458
467
346
851
951
318
760
678
652
76
612
836
205
71
958
285
889
472
664
561
134
4
692
670
519
274
889
687
524
798
114
821
513
242
545
958
390
748
64
382
875
475
912
459
590
639
214
545
17
406
552
292
908
964
485
801
916
982
828
831
64
456
514
307
152
615
81
984
363
185
194
959
152
791
92
139
929
701
548
446
220
434
748
724
733
964
459
855
186
400
32
543
887
47
27
604
755
699
753
336
892
856
577
783
900
329
646
213
804
344
578
181
860
817
741
912
528
975
997
552
588
840
146
36
699
408
865
941
735
536
644
714
842
647
55
91
493
370
731
344
792
150
566
257
876
666
16
354
558
630
815
961
290
171
102
158
102
531
711
502
446
259
357
728
736
429
533
257
980
651
218
457
91
842
885
88
328
744
918
240
874
181
229
398
718
931
786
958
859
835
798
641
346
518
506
773
826
633
872
325
64
98
992
926
399
164
715
832
175
501
765
950
6
695
679
580
157
679
971
493
390
676
247
344
407
142
454
150
407
76
32
787
322
807
509
7
49
22
11
486
316
377
212
801
907
505
498
28
596
605
492
889
531
108
647
952
777
62
305
438
387
32
474
608
680
274
589
521
381
872
705
223
876
339
869
39
143
911
934
722
827
384
672
647
537
897
888
118
690
480
139
117
103
564
800
508
137
879
477
793
381
356
167
984
741
677
161
94
338
130
418
4
797
283
1
209
341
785
248
32
629
288
503
438
387
93
651
489
735
616
139
831
552
192
912
321
342
49
443
71
865
495
85
730
204
517
60
761
54
999
718
880
736
734
153
548
887
228
850
612
790
73
815
765
51
310
558
484
695
775
367
502
786
908
549
674
348
857
697
296
721
17
593
563
471
343
40
861
631
837
804
28
359
668
822
529
66
238
34
765
687
379
493
337
50
537
916
181
223
486
461
923
328
581
302
660
529
87
549
678
847
376
139
252
966
125
604
797
443
747
38
88
607
384
155
196
930
768
61
73
876
103
268
428
55
958
489
650
995
804
991
61
28
461
606
697
575
209
35
167
573
727
746
848
939
359
575
864
718
404
144
796
997
284
336
78
783
451
350
369
757
863
341
955
250
695
220
448
815
706
970
594
513
336
767
6
394
205
226
40
669
117
385
830
771
84
359
690
844
165
212
734
170
87
226
561
742
744
657
293
453
656
48
80
374
382
354
424
195
709
450
332
187
145
79
340
977
896
934
931
33
21
369
703
963
922
165
955
698
658
901
998
116
830
742
600
947
960
864
460
619
330
318
502
276
248
870
78
336
556
235
884
856
12
163
495
404
854
59
964
352
453
138
839
269
469
662
295
581
342
458
810
776
247
745
970
225
902
274
538
109
701
945
854
40
722
319
52
705
76
931
283
286
929
902
378
433
259
107
901
318
114
69
592
649
651
856
555
555
752
443
356
947
375
430
430
285
87
526
758
693
414
911
855
7
750
471
493
662
564
865
437
268
565
602
697
381
291
600
472
210
311
189
970
989
884
164
793
271
407
270
403
710
489
482
482
757
768
511
654
266
909
266
135
243
322
395
370
808
265
612
584
999
914
258
516
209
903
409
275
908
609
921
401
783
138
963
709
583
599
972
452
785
710
486
631
632
238
931
56
249
68
333
895
288
913
842
987
18
836
139
173
850
758
61
251
30
84
251
937
657
444
237
382
212
257
92
395
537
534
787
491
538
881
364
298
943
129
359
632
110
416
220
801
239
823
67
260
324
856
811
799
839
171
510
862
467
943
853
415
146
180
850
42
312
119
92
571
523
555
466
612
561
567
832
806
719
689
949
501
201
953
915
782
495
633
470
520
120
748
784
136
370
538
773
294
549
225
545
627
721
302
334
902
180
507
152
726
686
416
429
35
26
269
128
98
570
250
160
719
366
968
452
641
716
248
681
899
350
710
512
9
59
801
166
446
102
106
275
797
794
758
275
375
397
757
52
807
896
828
136
333
246
200
525
85
424
365
129
659
980
449
905
637
826
256
970
558
645
493
393
16
709
918
883
198
814
353
313
189
769
640
862
779
126
568
576
383
839
748
313
871
150
228
372
806
274
337
577
578
401
912
224
447
117
568
111
319
585
139
798
365
758
746
354
295
412
210
135
141
48
695
526
918
555
533
165
431
60
139
912
771
588
826
683
787
974
107
365
898
989
768
150
171
780
572
76
466
533
6
988
843
756
834
865
106
659
599
251
547
936
376
515
486
647
277
817
165
16
177
924
911
686
126
502
276
410
733
89
2
159
561
732
285
417
260
192
759
735
697
676
55
695
832
314
556
96
491
973
213
509
421
532
866
379
259
468
561
454
108
440
771
674
436
575
259
613
922
339
559
145
685
181
718
361
63
640
950
619
734
231
368
260
501
226
765
726
536
384
734
763
169
813
72
905
629
387
487
684
258
568
134
881
799
68
408
630
349
502
680
425
419
78
434
864
358
418
323
498
69
793
206
305
549
423
167
89
307
4
807
611
88
277
904
348
696
310
606
566
887
107
952
839
462
336
393
216
725
233
434
995
384
188
214
475
877
159
55
101
787
777
608
141
749
961
164
403
750
917
146
541
249
627
568
154
891
338
459
262
887
87
886
702
339
2
188
670
842
983
508
928
769
376
513
169
483
417
435
639
595
551
212
428
79
224
583
729
696
354
397
5
702
523
326
203
291
844
378
99
528
575
339
389
814
843
314
369
72
203
45
923
916
391
588
44
43
318
206
338
943
269
74
760
852
293
475
343
518
988
725
859
984
226
940
111
80
889
155
74
731
349
976
178
500
245
151
840
27
109
954
768
126
510
272
658
366
690
599
636
885
116
981
243
48
985
54
753
300
449
971
403
242
308
954
425
523
914
621
847
593
346
55
668
774
223
747
401
376
133
218
930
767
306
83
316
428
55
806
480
13
485
170
643
343
171
787
66
98
810
560
866
674
347
99
648
310
697
541
270
135
999
75
312
213
268
777
727
22
440
980
683
49
35
564
879
363
123
958
418
67
817
612
910
527
272
947
626
153
43
536
374
274
705
355
279
369
838
483
776
494
836
550
957
258
516
560
873
115
148
466
503
45
405
7
898
931
642
879
428
79
123
271
161
319
44
144
138
144
712
426
735
101
781
454
323
492
274
591
196
30
991
917
84
715
996
305
597
640
109
1000
639
822
720
995
168
452
766
151
676
131
441
1
415
768
46
627
701
835
390
802
604
543
364
862
947
373
579
394
813
80
478
893
695
938
972
980
29
524
408
668
65
774
668
399
979
412
286
274
634
88
728
980
671
736
405
391
443
718
570
736
835
301
976
520
240
905
46
79
728
318
383
794
28
791
613
479
14
516
932
406
262
496
237
748
670
222
382
974
267
899
933
866
127
178
774
380
716
481
63
537
106
60
310
891
246
837
819
887
846
958
336
608
546
732
505
988
697
282
660
548
502
810
536
136
270
859
754
908
219
313
276
51
614
185
596
308
21
427
138
432
109
82
169
78
740
130
559
536
57
256
898
863
899
631
772
714
155
469
537
129
595
789
499
75
318
346
270
343
189
105
970
703
561
29
64
897
117
161
917
109
893
177
515
69
416
622
422
833
423
53
744
564
786
150
779
387
154
679
68
457
277
861
752
949
152
303
514
563
940
173
889
494
61
663
396
557
5
170
766
284
161
785
523
382
431
842
328
892
434
317
762
745
918
800
700
193
341
607
15
765
688
361
130
982
268
49
848
53
643
81
950
166
844
413
319
800
717
123
696
686
601
148
746
648
510
65
794
607
664
908
463
413
527
12
444
49
442
782
810
955
626
123
600
882
523
958
891
742
474
921
200
362
232
831
869
920
126
998
22
137
551
771
801
920
37
972
829
296
372
50
309
925
98
820
686
386
273
668
587
739
523
941
599
571
293
60
515
843
680
568
865
370
393
928
909
722
184
391
786
629
579
678
172
733
841
500
636
680
881
217
860
80
278
19
21
835
645
74
940
694
332
34
37
660
860
105
757
66
541
695
867
697
455
261
980
343
312
585
700
563
792
155
42
223
594
728
142
601
801
420
852
460
153
864
479
498
468
100
794
30
767
821
476
572
632
552
276
256
923
133
566
625
298
605
362
439
862
241
609
552
926
967
248
804
36
908
592
136
397
104
599
807
326
698
924
691
621
100
28
101
587
637
220
495
983
220
220
722
363
427
720
170
95
167
489
282
856
814
728
455
559
277
770
229
463
979
727
33
690
141
329
476
493
68
68
340
414
378
704
941
863
217
351
542
798
570
644
807
879
696
932
94
911
577
77
551
427
22
164
556
989
728
364
39
153
165
291
609
84
631
360
240
462
204
129
421
693
586
62
365
429
56
929
814
30
830
852
472
945
121
68
886
935
128
611
845
679
983
465
34
605
412
218
695
693
504
861
536
614
494
214
982
794
950
363
126
922
60
636
420
944
989
890
244
840
453
300
945
324
685
426
873
147
978
56
216
873
858
214
148
821
711
771
940
389
410
287
161
96
58
75
76
527
486
992
637
793
550
126
218
268
587
380
410
135
614
924
700
696
992
634
866
511
300
938
239
167
109
903
791
879
214
66
154
196
605
202
288
785
139
201
468
653
451
270
699
190
82
913
436
89
223
532
701
568
734
36
320
279
283
549
4
981
589
151
430
324
700
616
324
94
201
265
759
869
30
390
565
318
322
179
756
304
314
703
379
569
909
339
25
990
900
941
523
318
239
164
18
880
969
650
708
911
612
144
15
91
861
249
849
357
401
208
939
270
580
6
897
41
408
153
812
831
78
659
679
73
792
126
900
403
185
339
426
224
38
457
850
64
308
686
904
667
715
340
365
191
248
293
336
964
11
149
227
19
752
890
535
17
274
388
706
225
678
893
919
944
65
575
666
140
860
231
343
74
437
540
919
396
58
582
921
525
458
948
614
113
598
415
256
77
182
32
738
945
566
496
770
286
591
827
992
564
669
725
38
58
219
416
641
434
124
483
325
125
464
955
85
930
195
848
730
151
808
512
251
151
236
356
636
401
463
963
75
11
350
180
364
202
142
490
634
427
41
881
235
634
980
439
730
697
452
127
444
178
821
550
983
396
75
12
435
253
365
855
719
369
19
892
698
879
913
723
213
665
235
856
159
894
707
865
90
474
270
250
602
451
84
284
930
421
453
882
780
750
954
460
379
780
593
811
165
198
321
279
313
457
577
864
486
473
856
484
869
805
465
270
498
191
733
661
376
627
956
65
662
124
249
26
497
922
330
150
636
192
933
547
136
228
236
160
792
675
163
158
898
636
934
527
142
359
504
82
169
802
861
393
385
562
270
551
100
546
622
251
975
267
45
417
61
870
783
478
407
790
153
446
356
471
78
144
127
723
303
302
254
90
875
734
753
84
921
491
633
264
42
700
534
887
882
793
792
337
555
959
218
599
647
940
231
788
467
761
752
182
37
570
449
218
112
543
503
672
136
717
57
583
639
690
904
521
50
368
765
498
251
322
730
132
532
843
38
696
760
527
397
324
686
27
470
969
326
663
987
655
256
724
183
193
477
636
909
836
234
645
800
232
798
296
379
672
769
805
785
847
877
340
142
251
627
353
214
907
390
377
111
331
676
87
269
500
432
40
852
135
148
202
3
777
452
294
86
6
657
6
187
601
412
333
640
644
213
659
287
346
32
710
518
856
729
174
856
418
237
603
17
53
739
220
920
332
156
343
72
936
344
487
136
431
307
617
240
78
595
636
778
579
813
983
20
365
820
96
861
397
773
592
412
500
632
249
944
901
147
255
914
30
595
736
410
590
771
267
359
593
798
947
292
348
358
610
286
358
823
924
920
718
615
451
767
850
834
228
962
396
810
61
857
626
797
518
647
16
443
565
101
509
48
877
227
569
842
154
775
329
708
140
973
19
825
669
780
385
681
759
262
981
789
681
369
91
228
961
553
500
820
484
133
495
344
224
300
306
714
627
921
642
436
349
110
93
998
892
617
989
43
625
687
675
338
856
958
323
567
884
373
91
917
433
807
883
285
448
329
995
685
40
567
665
96
234
660
914
554
286
657
88
768
559
36
199
931
320
225
504
657
388
606
761
193
241
528
242
147
62
259
916
958
209
651
150
289
767
533
928
280
156
488
844
388
269
720
73
119
232
176
111
517
681
969
314
716
402
380
188
203
284
440
917
707
805
137
860
767
665
808
589
128
803
158
595
65
704
661
967
634
849
783
164
607
166
614
549
581
558
997
455
305
927
158
388
811
651
205
450
325
100
575
142
258
648
668
552
794
578
451
298
745
453
790
735
338
772
594
669
585
242
684
213
703
547
410
487
833
283
682
597
933
654
30
664
329
585
719
736
851
139
751
79
869
529
776
703
837
536
579
946
138
869
790
635
125
838
933
608
254
743
725
382
125
529
807
347
47
604
714
174
494
188
945
21
421
192
464
756
956
440
820
625
437
969
331
712
97
277
486
111
954
637
760
916
640
6
579
34
956
652
1000
339
915
351
45
874
927
863
278
650
540
490
367
93
886
683
860
323
525
21
372
290
941
433
665
223
306
149
891
7
482
748
367
846
437
602
843
32
374
194
157
708
936
51
534
285
758
498
591
553
513
51
223
601
335
13
202
368
179
769
254
19
231
344
794
391
966
28
316
383
823
250
608
582
757
429
616
348
124
238
769
257
444
567
22
135
599
478
704
837
931
626
485
588
527
945
449
942
692
855
276
399
260
930
24
253
893
704
851
550
12
303
294
879
302
636
388
337
21
195
10
171
489
892
301
524
209
969
933
188
38
715
276
493
705
645
235
287
777
814
640
443
833
157
592
523
248
86
97
986
442
103
647
838
917
855
153
721
676
862
777
224
858
166
764
616
568
249
326
338
893
889
11
272
48
71
738
263
445
650
866
415
242
263
268
369
563
879
325
193
179
464
192
497
893
467
482
102
257
210
688
910
546
829
337
637
83
106
827
717
133
365
380
985
569
658
335
736
438
612
267
355
366
621
63
1000
465
594
125
770
29
41
335
352
864
144
296
407
505
359
596
861
957
214
568
810
821
249
51
984
858
444
193
566
75
51
199
709
432
511
240
272
105
974
459
121
72
32
94
877
436
448
299
98
536
25
134
730
377
273
549
106
331
214
916
911
379
456
825
282
385
694
383
689
20
889
241
281
998
713
926
180
223
252
823
574
296
611
334
531
579
795
323
177
695
170
943
237
879
890
337
997
100
896
518
386
230
489
910
262
835
12
694
949
357
900
67
746
538
174
5
427
963
513
917
733
504
175
811
442
248
369
290
943
236
174
672
102
971
727
56
863
160
196
972
230
643
14
558
199
768
941
843
775
741
806
853
400
670
166
686
9
27
739
654
469
290
155
842
307
363
485
182
508
188
49
223
638
618
191
329
715
270
67
931
54
533
37
820
774
345
861
193
790
666
788
302
868
789
555
143
795
770
496
522
750
292
213
261
775
217
750
35
589
932
777
516
85
345
107
111
554
61
719
516
47
820
609
767
328
751
955
214
533
402
526
96
24
764
766
974
884
701
715
330
195
321
761
43
508
805
252
300
915
121
146
735
736
891
219
228
117
374
819
870
765
174
798
19
656
824
56
281
765
814
59
486
807
9
822
425
504
642
100
184
146
231
954
416
42
824
419
768
28
994
761
7
352
812
669
63
115
887
786
355
935
211
190
267
662
145
769
579
769
419
970
963
523
390
69
453
165
151
909
863
74
284
72
756
379
209
556
466
519
74
344
85
39
123
692
50
283
285
564
197
736
512
423
677
445
33
489
161
359
281
654
134
427
700
485
881
999
32
116
991
391
974
390
794
509
278
314
197
39
464
718
783
51
342
65
888
807
407
490
611
214
51
496
339
612
186
199
440
531
579
668
235
658
658
684
204
479
65
208
678
971
521
935
922
296
859
600
618
636
221
89
228
197
512
20
627
947
123
146
682
812
884
874
189
915
941
173
649
943
962
420
940
850
677
8
816
962
271
128
531
968
527
747
626
434
980
667
28
240
525
517
204
793
74
663
48
924
896
322
546
169
195
628
36
503
356
965
57
673
26
702
368
980
856
329
702
747
325
101
205
727
496
527
352
389
976
409
272
368
613
698
108
356
664
132
989
376
265
464
660
659
44
125
634
365
613
311
974
942
518
817
450
267
926
437
876
577
973
358
891
860
216
803
309
551
108
93
419
349
714
437
336
481
197
4
527
967
706
241
177
345
422
14
928
782
443
827
833
745
110
304
71
195
125
156
100
802
527
23
413
811
197
991
25
2
44
50
128
660
443
443
98
583
838
702
179
953
609
113
740
289
453
516
917
856
565
625
879
578
848
522
648
970
212
547
672
616
806
635
835
474
660
978
670
629
802
69
862
157
378
321
976
465
689
914
538
770
333
16
200
425
846
269
765
422
339
239
255
714
605
585
44
982
116
850
313
80
120
96
751
667
788
105
440
484
992
497
352
308
808
898
744
877
312
264
985
973
564
558
66
415
940
241
86
922
129
466
523
697
171
419
986
86
916
18
447
864
121
21
650
547
217
690
533
619
473
310
988
701
855
248
235
534
420
755
412
82
459
342
713
193
947
447
566
46
79
31
887
24
780
921
402
770
143
996
397
897
658
759
32
274
988
454
513
809
747
641
28
428
453
62
307
263
346
723
99
145
278
310
628
140
226
494
318
220
290
182
686
180
222
498
323
520
619
113
296
375
945
581
176
485
428
487
77
876
720
537
798
145
907
226
166
235
122
319
158
111
499
217
242
70
710
190
641
245
613
602
907
483
842
475
272
967
311
210
735
808
663
796
727
410
697
636
532
533
644
941
292
876
3
747
609
466
278
762
210
295
617
634
121
480
805
743
92
653
523
267
774
432
61
132
300
601
915
395
441
59
842
792
506
676
947
437
501
969
364
144
821
878
885
403
948
28
715
873
200
524
123
95
561
746
381
271
27
615
822
133
700
481
239
369
66
153
149
548
520
550
602
258
201
132
355
978
654
579
203
229
639
136
188
738
672
669
219
642
510
781
364
273
859
215
694
665
27
437
107
770
119
458
995
261
640
938
973
950
48
100
132
98
865
253
457
304
491
571
89
249
694
302
129
297
115
773
506
838
789
396
272
309
818
380
334
29
861
992
266
329
2
44
325
996
926
728
216
679
42
60
475
778
358
946
544
277
464
355
769
146
910
149
550
217
672
855
864
899
138
119
174
687
238
575
549
215
905
631
437
478
87
19
114
964
868
987
325
634
105
708
979
117
164
812
74
977
983
932
205
658
677
842
115
552
346
43
746
626
595
629
163
257
463
892
551
205
171
401
179
167
94
217
893
981
852
511
208
331
272
84
522
783
227
200
321
59
74
707
512
735
444
617
148
970
675
221
925
428
42
306
752
320
247
254
634
343
361
629
818
371
487
367
940
928
962
814
405
840
844
704
834
980
729
595
746
677
734
429
16
201
581
655
833
700
293
781
44
110
971
318
779
865
474
832
218
666
598
204
190
174
541
281
65
282
1000
803
44
501
250
861
539
98
962
179
798
854
277
196
296
671
919
249
738
845
694
187
664
476
766
358
784
379
537
262
161
854
757
97
254
838
773
65
689
313
428
578
316
284
215
431
749
322
706
620
131
436
183
707
305
983
633
549
904
458
965
774
158
242
391
578
349
815
382
333
931
525
541
964
297
719
995
302
50
941
655
408
441
941
773
395
308
448
775
403
452
998
257
220
906
638
363
476
952
995
528
481
49
12
673
552
92
638
532
105
496
915
725
876
714
174
557
392
647
507
302
212
340
309
912
506
50
422
642
277
470
339
123
893
437
14
760
608
942
35
171
471
639
321
567
328
318
43
601
644
20
158
225
508
565
827
533
507
262
971
389
103
488
410
881
801
641
349
294
634
681
445
339
456
140
348
835
111
960
383
916
803
22
6
80
877
535
755
99
800
719
706
891
342
401
835
912
823
158
277
576
814
686
213
450
895
878
975
744
875
945
39
669
400
563
744
801
24
643
958
497
629
841
397
744
530
302
9
558
749
477
614
204
706
72
13
58
2
305
900
883
73
693
198
650
244
533
900
842
96
93
110
299
136
266
712
293
476
125
58
485
578
373
94
828
186
151
618
261
213
55
713
269
718
495
972
988
94
727
822
548
244
976
91
790
830
84
21
308
648
26
41
28
803
450
988
145
637
123
925
351
290
796
325
664
389
533
235
119
564
10
916
778
445
593
630
247
311
320
447
929
799
26
413
775
949
939
965
145
393
34
219
721
666
340
646
128
482
139
699
998
283
737
142
777
565
31
202
467
246
662
166
840
847
896
730
416
356
736
205
607
433
970
699
18
47
998
509
831
720
307
255
567
312
420
745
297
679
990
171
546
590
447
962
712
6
294
609
825
217
700
767
848
321
512
247
543
256
189
849
114
903
456
547
471
799
651
250
970
639
856
189
906
61
887
28
883
166
155
935
408
865
198
201
722
400
433
446
909
338
292
127
795
918
446
814
22
895
269
697
930
889
27
840
575
864
556
14
292
522
328
319
688
309
895
413
862
233
650
854
940
901
755
9
734
990
837
968
418
912
776
136
684
534
488
536
713
664
115
333
670
454
462
806
153
16
799
777
180
296
422
521
828
721
451
295
636
185
402
925
206
734
12
360
238
657
637
660
393
809
302
714
964
659
146
833
339
954
558
504
616
921
804
764
533
588
286
89
116
173
892
195
998
482
67
897
464
888
358
965
628
806
155
996
32
525
295
437
176
872
1
251
130
488
344
184
440
405
54
232
6
225
46
709
438
420
457
251
723
216
351
217
647
41
498
189
571
770
788
714
577
841
932
989
953
865
33
936
258
536
542
976
914
469
857
902
419
119
537
389
740
63
701
93
429
755
671
771
304
313
358
525
278
35
176
116
86
106
507
252
176
406
888
913
38
400
80
53
546
868
174
480
725
599
707
323
476
269
514
239
414
410
727
457
932
773
870
820
39
389
498
212
268
348
190
147
217
630
999
857
851
335
662
886
742
307
956
89
844
453
594
913
229
30
992
26
446
800
10
696
837
207
531
761
142
702
356
727
251
892
438
267
765
477
897
399
336
804
649
668
421
454
690
987
155
487
269
143
574
825
244
607
261
816
876
982
845
165
219
317
451
301
23
575
325
704
788
733
401
905
176
329
453
670
523
831
865
320
574
811
758
309
912
802
350
921
748
617
20
390
883
129
455
853
696
742
650
284
933
262
304
944
941
479
326
968
738
541
728
421
964
96
216
499
348
276
142
625
758
834
304
829
341
98
287
182
478
984
646
14
535
7
257
337
437
55
593
164
134
746
496
417
927
322
288
714
416
388
677
615
613
253
982
842
321
304
661
565
479
603
980
121
570
880
938
405
570
175
250
744
150
651
238
300
12
539
21
882
309
723
241
609
64
212
896
33
401
656
549
176
164
71
292
430
207
169
365
435
237
27
268
836
588
346
529
304
726
227
15
326
590
208
862
46
108
289
589
861
358
814
983
593
863
364
664
771
478
279
15
4
149
22
369
437
603
357
875
36
666
253
511
799
488
474
62
28
440
73
718
480
780
367
120
550
536
543
329
642
195
722
200
539
908
184
54
884
931
445
408
861
906
80
730
773
442
472
848
515
150
184
701
840
920
261
547
945
784
589
646
122
120
354
686
142
331
794
884
579
369
657
814
522
640
226
468
973
892
337
962
767
674
543
621
39
803
474
844
92
113
485
310
29
384
867
567
652
23
294
5
961
508
633
520
30
64
972
935
161
327
502
379
31
994
894
382
914
583
943
394
227
445
547
816
330
156
526
384
963
207
423
927
734
714
153
126
786
517
318
845
178
575
62
53
491
92
572
110
900
146
741
438
264
883
12
183
807
562
160
501
596
795
619
556
333
362
941
94
966
868
194
758
225
350
388
912
457
645
528
807
118
973
505
391
797
721
865
910
966
851
399
726
510
717
660
467
655
312
714
680
150
153
912
671
399
45
993
110
806
975
593
255
733
239
111
396
359
709
927
200
196
821
166
181
173
492
562
437
30
647
488
117
197
464
885
856
485
777
645
519
676
256
5
168
545
177
601
135
924
564
187
420
181
479
415
426
879
57
727
218
443
647
128
52
384
85
571
955
985
676
731
479
408
956
175
596
842
677
361
892
661
735
381
820
564
968
119
830
314
838
331
571
10
28
146
232
777
881
695
319
407
436
870
795
739
542
710
580
498
148
547
857
943
413
830
499
855
730
512
195
377
80
978
541
699
419
760
432
865
935
695
596
805
106
781
982
244
431
682
51
322
621
761
691
596
794
521
618
593
929
574
624
241
420
590
985
307
93
190
649
441
436
439
578
556
130
394
764
27
184
149
987
653
108
978
332
411
595
439
869
759
117
777
649
678
710
553
354
681
952
210
528
730
817
177
285
407
648
216
822
666
964
926
817
214
208
725
55
891
813
154
188
432
156
67
597
621
96
116
716
193
755
955
51
767
143
753
313
751
35
944
787
404
231
606
70
207
962
505
783
264
738
647
725
706
382
107
216
981
340
33
39
462
600
966
472
33
746
60
416
173
696
331
491
591
694
828
283
664
958
474
645
731
217
400
53
850
32
768
548
720
399
460
716
332
659
497
498
329
117
749
357
225
113
297
464
376
512
800
151
42
693
370
787
974
169
724
641
714
903
862
45
163
245
98
345
88
153
62
729
906
39
190
988
474
132
297
677
652
742
69
932
76
175
687
431
912
341
347
567
397
279
140
948
565
945
595
757
937
591
243
336
850
981
675
602
777
514
934
543
245
40
540
99
875
781
103
184
704
328
242
481
154
97
521
905
935
983
183
294
728
243
734
1000
706
727
878
514
828
727
821
165
358
613
750
247
270
360
158
597
2
831
712
826
558
364
593
846
95
838
579
340
926
880
651
98
364
273
566
907
933
987
698
829
265
417
383
240
418
597
179
979
461
171
724
299
913
830
340
99
4
807
132
93
836
749
76
132
181
958
551
924
55
556
797
752
249
608
47
620
641
612
457
449
492
52
490
570
910
903
142
772
320
79
212
601
78
808
866
419
369
853
905
4
96
281
453
83
800
242
289
258
533
819
673
252
262
573
303
247
546
822
7
365
222
64
859
33
306
206
697
20
618
401
411
477
435
394
969
145
52
225
868
257
307
35
578
316
956
494
617
91
278
71
64
649
474
966
683
214
188
15
374
933
983
304
277
402
711
553
735
935
479
516
275
106
390
833
915
63
278
741
382
484
437
52
299
785
746
608
1
399
625
210
377
517
7
659
90
661
862
133
583
872
837
572
506
82
276
149
602
464
206
179
624
142
890
4
549
696
178
508
238
303
227
903
663
186
104
346
26
296
411
776
411
789
354
51
77
908
620
140
152
356
1000
615
282
81
950
168
737
689
196
204
573
377
34
823
721
337
190
668
306
104
1
179
42
186
175
764
300
649
592
290
352
996
450
67
289
836
536
210
364
331
587
827
829
341
494
46
871
539
561
236
909
472
182
143
338
724
53
872
801
870
473
764
195
871
389
275
906
925
586
887
245
565
807
930
626
958
682
981
819
965
22
109
523
476
446
864
566
973
293
337
289
40
501
18
47
760
444
463
302
562
720
969
503
85
555
562
771
64
775
595
453
76
271
178
757
213
514
477
12
408
940
625
581
182
974
655
83
43
38
351
392
628
144
407
804
959
587
592
905
845
780
900
900
558
526
809
599
399
873
850
846
658
229
652
867
780
598
528
959
258
651
420
913
882
821
748
847
501
786
282
401
369
499
682
827
506
402
727
125
206
560
630
232
999
269
986
236
927
82
100
738
913
321
423
767
431
873
810
106
389
475
120
503
360
762
481
990
858
47
154
454
352
199
535
700
108
991
299
442
735
990
49
71
546
399
149
593
443
247
597
817
44
990
886
731
229
893
828
37
77
519
196
956
447
289
898
753
53
339
64
926
984
840
125
618
33
556
434
609
114
627
470
217
246
494
984
517
350
438
718
564
91
414
486
714
577
738
461
733
545
711
506
89
25
449
255
731
149
35
424
688
882
592
564
33
9
44
12
107
591
137
350
408
474
748
64
228
150
648
420
938
430
654
806
808
938
537
902
376
374
158
90
697
896
27
459
225
701
910
593
705
91
150
103
208
880
89
519
376
984
355
718
986
444
803
545
209
928
570
669
310
958
80
987
76
730
789
97
971
420
143
443
865
289
526
768
199
731
930
377
619
649
712
589
424
200
76
408
690
985
862
157
513
227
794
271
673
348
611
952
905
611
388
704
141
200
931
31
271
147
328
739
460
58
625
352
599
445
116
135
185
784
924
71
858
144
388
957
824
321
270
450
614
944
958
513
983
946
620
206
263
134
776
163
156
309
843
455
769
550
983
718
692
838
61
577
41
117
544
435
692
294
994
634
368
429
146
831
876
533
659
211
523
19
337
811
669
770
988
771
465
259
96
854
36
903
220
905
759
59
300
232
843
699
124
90
115
794
795
514
744
881
402
806
702
130
24
829
878
427
847
136
112
689
426
643
898
631
91
211
132
701
51
25
85
723
24
107
719
104
114
644
588
100
212
67
812
737
427
988
38
473
904
150
885
571
937
540
76
473
455
680
387
145
804
901
546
521
246
105
448
634
746
100
387
18
436
126
522
231
596
572
486
145
129
216
830
755
281
554
14
830
780
882
777
681
683
874
10
686
936
295
716
993
87
384
240
963
629
147
717
561
169
515
600
819
12
839
225
950
738
699
568
462
74
382
765
839
686
644
500
964
500
607
68
490
851
696
765
788
23
556
291
920
753
787
5
349
851
161
194
723
410
695
26
136
980
591
444
706
686
613
110
214
511
852
424
763
887
262
741
149
260
527
208
676
553
35
33
658
285
767
574
750
662
914
382
530
127
879
219
480
689
143
89
632
872
142
565
648
248
903
3
38
356
712
796
559
253
468
433
580
84
718
24
308
815
586
852
390
725
923
730
282
339
75
171
213
229
564
872
301
511
869
594
553
929
222
302
97
143
996
325
948
184
852
396
24
89
245
650
929
420
324
34
214
671
487
164
466
629
92
319
570
337
905
152
936
674
855
694
296
504
619
407
938
970
324
345
873
795
432
3
484
386
454
24
673
116
706
776
380
431
762
708
618
295
583
560
844
84
586
714
578
234
59
420
659
818
402
193
423
777
643
424
415
677
567
113
903
757
576
703
642
470
85
160
793
927
873
843
880
424
288
177
967
726
657
850
991
875
512
45
335
103
529
233
262
828
155
156
812
835
964
960
101
467
722
856
753
65
971
309
372
957
723
522
518
5
501
886
681
99
527
154
106
11
349
328
149
696
554
630
28
500
530
466
484
689
399
23
837
401
373
949
400
414
766
619
7
100
821
632
678
544
318
531
71
98
667
204
431
567
801
57
207
820
732
872
362
861
76
175
685
298
201
80
74
720
892
815
862
680
622
561
729
897
541
815
645
765
305
222
606
499
741
686
597
33
95
650
367
326
369
601
114
866
774
239
66
967
903
239
353
930
576
225
216
261
685
383
825
908
541
134
463
925
379
415
843
53
720
423
656
459
214
109
235
273
442
334
382
639
912
354
17
683
154
214
250
196
368
716
933
858
560
849
484
496
493
970
50
227
48
548
627
325
793
7
830
314
651
32
397
83
574
755
352
797
20
362
9
1
874
13
614
580
153
457
503
187
486
331
92
335
873
950
885
591
694
349
972
229
276
411
127
233
568
227
747
790
664
204
330
253
953
55
86
107
672
498
605
637
496
409
169
849
603
204
461
691
339
423
896
773
192
854
762
588
327
39
667
714
291
687
550
590
863
320
634
240
222
481
278
756
747
974
619
436
777
868
271
228
645
488
123
526
101
190
444
429
21
504
89
291
961
128
597
752
663
345
356
486
120
657
822
568
160
829
978
715
820
68
838
645
950
764
830
468
606
96
292
297
786
774
184
286
972
419
330
860
759
345
164
250
587
40
997
312
210
240
287
258
65
327
257
131
176
674
475
792
537
739
683
717
210
897
253
143
504
487
131
960
696
72
30
280
706
672
930
790
27
610
654
848
8
653
406
782
252
330
666
975
527
671
781
168
58
113
914
861
499
2
744
804
203
932
479
359
615
152
264
965
759
407
64
985
824
868
419
15
780
272
284
89
835
976
311
309
259
411
531
127
806
334
369
886
487
349
341
245
963
400
567
811
175
340
434
636
131
193
394
226
958
460
857
377
422
665
595
454
136
329
905
692
564
763
997
732
775
378
747
865
606
679
980
412
520
788
929
245
1000
80
367
703
743
513
179
63
279
323
821
293
886
5
203
5
842
936
9
433
113
571
374
758
562
867
123
308
626
475
516
984
219
296
521
785
276
194
185
423
997
1
579
867
313
479
146
89
526
572
10
432
403
92
944
768
203
976
249
96
264
394
777
262
805
256
657
278
547
157
72
101
598
364
634
790
807
245
441
675
455
425
922
558
701
76
969
982
716
924
645
278
753
990
969
474
769
604
903
110
315
926
668
679
603
88
960
727
580
53
471
577
812
491
326
318
763
252
753
928
793
554
288
360
816
583
330
13
124
49
690
246
278
145
59
490
365
500
13
111
141
962
221
327
759
462
51
427
834
798
631
13
588
904
745
198
685
44
641
519
153
446
957
848
491
59
459
690
640
480
259
123
36
637
469
51
327
438
17
596
694
462
475
220
915
730
329
601
459
722
36
387
920
130
625
687
33
258
331
571
411
604
959
911
820
907
221
601
552
883
322
569
954
923
435
43
697
276
503
177
712
624
61
521
28
496
308
802
931
664
761
132
967
536
190
68
296
563
389
934
861
837
589
411
597
406
935
690
669
291
530
431
344
839
982
338
639
839
281
415
325
771
79
894
225
680
127
349
991
409
733
742
715
366
550
37
774
546
929
513
324
304
378
117
694
215
347
25
733
429
696
86
886
134
729
970
306
69
571
653
893
569
43
333
490
278
890
9
845
503
386
713
119
142
875
832
891
284
794
42
621
849
46
130
489
110
396
379
363
518
726
240
426
31
570
758
622
77
341
560
678
327
46
271
919
702
109
867
464
443
112
877
706
576
883
278
128
844
375
616
651
9
229
208
688
454
717
193
988
173
17
892
188
569
414
148
701
969
84
307
199
378
550
54
501
815
781
581
88
510
191
468
856
349
428
214
926
222
968
571
548
336
6
702
134
148
6
724
504
290
624
378
240
742
374
382
884
582
556
580
363
801
477
81
669
55
907
452
274
737
76
457
230
409
216
974
160
467
850
493
628
891
523
44
453
79
680
465
618
36
727
713
324
667
89
281
611
504
272
872
728
980
495
182
70
264
459
14
94
770
226
3
84
650
949
861
24
3
454
455
109
62
236
974
637
306
484
135
110
331
170
656
383
307
67
219
599
9
798
736
485
766
671
46
297
117
100
69
325
628
878
56
421
106
412
830
435
399
339
775
823
69
574
941
911
504
955
817
479
447
130
197
403
486
220
108
51
783
107
944
13
236
892
782
537
256
185
377
736
607
423
461
214
47
309
794
293
86
829
880
392
785
36
385
480
399
908
55
695
604
183
399
388
213
2
457
874
576
556
752
110
301
722
900
378
538
829
432
802
850
299
94
180
588
865
253
206
780
512
76
590
767
32
826
3
220
344
975
43
687
309
797
600
557
805
813
116
150
250
700
232
680
599
309
229
994
79
7
469
316
553
877
807
712
497
203
515
621
986
300
865
604
979
966
891
397
454
753
260
475
621
793
383
592
525
169
106
164
839
642
354
981
539
126
84
407
469
435
797
164
496
726
628
815
67
490
727
270
529
171
249
983
459
228
787
40
616
992
453
997
852
727
182
142
464
137
18
861
36
958
290
898
743
377
608
617
506
786
580
802
96
735
956
167
525
71
696
470
590
900
117
82
456
441
808
925
556
823
523
900
886
583
610
362
965
967
823
696
376
117
574
776
793
897
757
941
851
405
309
115
29
196
543
912
965
861
163
832
272
880
524
185
965
600
410
1000
72
798
54
963
872
507
646
377
457
710
864
280
19
61
252
54
312
999
410
337
259
497
47
602
546
233
911
483
375
122
477
849
209
23
99
635
517
898
971
678
994
894
896
125
690
587
317
508
802
119
517
274
621
76
178
329
287
728
736
190
531
687
97
454
564
144
293
569
631
563
628
382
502
156
701
517
384
470
435
396
278
190
925
666
835
584
477
820
124
75
666
97
561
104
656
57
429
771
267
845
43
770
522
809
641
757
441
2
502
616
910
135
622
49
338
687
519
544
620
219
404
39
684
413
964
552
499
12
509
625
963
599
61
685
548
136
258
327
905
271
614
66
906
689
750
365
749
205
722
561
829
859
441
884
35
35
509
931
37
471
480
793
894
104
683
543
14
886
256
935
94
58
977
977
168
878
803
520
321
484
762
99
917
388
10
62
429
71
389
457
99
306
802
235
657
106
69
52
309
670
720
404
42
286
323
839
14
921
573
740
527
146
315
526
577
124
95
159
492
606
627
516
547
287
774
536
698
406
251
58
822
170
283
883
890
458
877
954
559
244
195
469
539
380
762
393
934
677
888
89
464
726
726
755
121
509
848
913
324
692
101
452
109
386
757
657
215
309
647
155
200
530
77
9
863
394
771
975
332
807
34
529
151
786
576
438
557
67
186
466
964
623
548
338
314
119
994
220
602
696
942
785
348
19
87
391
229
130
148
53
384
542
129
619
122
933
602
41
935
985
470
690
683
163
42
436
839
713
18
594
469
749
156
914
404
64
987
507
729
219
917
954
259
539
464
900
166
875
173
99
289
393
963
223
944
160
273
749
261
44
393
888
147
259
795
820
999
927
117
494
200
188
671
836
231
703
29
508
984
903
252
309
463
951
815
855
622
185
130
474
499
760
842
124
197
331
756
705
469
836
330
359
870
918
156
221
474
46
753
617
144
158
300
877
219
529
628
780
265
608
925
157
239
769
124
301
994
276
852
676
588
284
175
860
237
356
112
786
100
807
5
129
281
155
431
113
589
130
260
104
609
939
854
112
596
978
156
710
545
755
595
962
550
579
336
638
213
468
370
396
459
810
340
619
546
553
810
286
487
71
887
599
338
404
714
78
38
284
380
508
569
179
221
393
200
653
310
595
508
448
185
390
678
82
495
525
306
174
314
717
561
406
316
703
97
782
868
130
553
811
391
526
820
350
972
121
518
103
349
524
270
180
832
121
460
718
638
593
95
275
429
131
302
607
536
784
758
486
463
842
68
401
804
346
663
359
618
593
344
504
639
990
970
942
446
737
124
993
865
567
815
67
408
255
398
485
538
637
929
896
892
696
117
353
381
612
897
731
242
776
368
951
734
459
544
363
109
218
900
727
945
134
183
487
669
664
345
372
365
242
717
946
515
744
763
412
398
600
834
819
265
631
354
868
247
677
776
635
198
667
473
898
318
112
436
218
454
885
299
546
430
770
745
951
620
520
763
7
272
32
621
454
724
836
625
56
778
301
940
969
967
840
780
511
344
898
275
960
729
739
183
905
67
835
407
694
641
201
991
744
429
151
818
834
800
757
796
995
101
781
682
304
397
936
47
705
797
156
74
948
337
948
45
901
349
3
389
757
626
17
102
141
429
30
220
675
601
679
750
396
600
484
165
262
280
631
90
124
616
761
319
727
403
972
665
706
142
540
425
107
947
912
457
618
336
143
934
604
183
269
876
5
951
81
451
359
562
365
855
528
895
992
319
167
987
121
409
649
415
426
315
923
271
456
286
740
341
183
704
805
834
311
545
651
59
171
140
463
934
881
212
655
140
973
149
738
986
893
338
888
803
602
183
687
775
8
111
701
634
130
487
914
601
669
845
551
238
164
259
499
674
3
1
341
757
366
851
30
290
578
562
335
414
479
993
510
609
122
413
67
527
564
277
164
66
521
561
860
654
411
400
412
735
683
325
880
805
314
890
520
182
105
847
838
887
691
310
719
615
214
552
764
824
239
180
785
376
822
407
473
1000
582
106
370
88
277
94
639
988
633
847
598
994
140
475
603
706
103
313
690
291
468
937
316
444
892
740
641
523
36
504
76
437
298
508
225
314
89
817
925
910
253
371
832
8
438
344
872
755
61
61
928
9
1
439
339
294
321
514
136
870
107
119
451
777
8
216
220
440
151
650
92
562
913
384
491
612
436
330
852
131
901
997
403
476
273
70
273
390
691
898
348
929
680
640
23
916
122
453
946
34
265
686
916
77
101
523
318
701
108
891
890
201
701
722
131
457
746
892
376
230
111
200
436
391
580
808
666
521
390
446
555
546
284
500
198
723
249
850
544
331
57
924
898
914
291
999
9
733
799
193
965
415
445
967
276
404
529
203
752
961
531
62
209
897
650
946
639
151
171
792
166
623
871
872
33
358
498
20
896
324
886
901
898
521
383
561
363
101
126
968
453
497
113
695
797
318
182
197
945
895
761
348
463
917
714
78
623
573
664
915
948
949
947
257
321
223
756
981
953
377
66
798
295
711
684
406
887
447
109
39
197
112
930
539
767
171
181
394
340
606
388
521
200
745
72
731
655
664
105
940
459
920
615
169
958
194
150
306
938
662
358
418
462
587
803
103
484
622
392
38
634
826
540
388
397
233
411
193
830
80
498
193
98
488
337
814
328
479
406
201
755
680
91
234
661
976
158
452
365
680
344
696
403
476
511
46
81
532
333
331
784
670
597
107
785
435
62
464
797
228
218
474
199
390
488
379
680
302
121
866
26
89
508
885
923
493
723
514
921
827
838
318
193
719
977
489
279
494
112
822
818
662
348
222
143
949
786
38
733
705
105
948
719
328
677
554
23
556
376
68
298
82
221
735
465
972
688
663
580
802
777
797
706
250
939
651
682
121
564
230
983
437
5
323
350
261
67
942
516
407
459
249
136
9
980
738
979
251
81
790
570
179
34
987
687
642
140
703
591
869
279
601
397
110
642
584
754
46
662
687
869
400
5
127
985
280
979
475
574
331
869
449
914
657
527
406
204
852
992
955
32
193
54
470
870
195
451
500
211
284
817
177
136
317
592
815
359
997
855
758
287
63
444
457
204
257
783
471
464
696
550
746
510
225
709
122
579
763
426
457
222
424
104
164
131
429
101
230
310
407
687
980
343
741
451
949
350
19
691
229
245
473
271
574
87
566
55
351
606
489
312
168
521
416
408
613
855
798
719
107
269
862
899
287
395
731
596
700
231
279
224
841
944
902
637
726
833
878
423
256
798
895
47
616
356
613
284
813
176
845
196
260
126
45
426
990
13
337
722
700
590
198
413
314
877
305
41
172
540
726
454
282
883
848
456
254
999
929
545
731
752
152
347
97
561
427
124
243
422
925
122
983
177
540
571
477
839
42
911
699
675
668
133
518
831
309
192
463
526
235
120
620
209
529
810
380
633
988
431
955
493
298
104
696
145
701
764
221
896
198
94
299
591
597
78
237
472
326
926
241
830
21
146
876
569
318
48
241
604
178
276
962
981
313
816
430
696
985
537
973
443
513
485
808
985
327
72
692
359
284
795
164
897
290
320
143
924
955
607
443
30
140
244
446
15
757
306
793
977
136
890
432
502
571
906
791
605
442
854
160
881
403
89
578
321
718
497
669
367
778
619
889
92
168
986
601
837
469
843
233
226
113
496
548
278
230
236
685
208
379
152
236
631
481
198
53
82
57
539
914
163
89
555
394
176
429
878
558
790
707
483
118
167
121
179
755
958
312
791
182
769
773
967
375
14
895
799
85
558
783
411
405
182
462
234
686
709
924
934
547
560
778
887
57
652
888
634
450
761
533
956
866
937
48
116
688
117
847
304
40
802
6
535
844
572
301
75
680
240
709
966
320
663
903
390
475
563
191
406
729
243
689
61
105
746
255
11
987
821
861
548
360
59
620
382
465
684
654
603
981
776
354
997
821
187
344
315
444
953
640
108
364
849
92
514
187
570
166
700
74
164
528
735
12
539
704
327
636
254
267
202
654
362
666
921
99
775
773
542
749
443
700
899
35
712
253
179
705
334
612
150
292
960
507
628
186
436
180
742
720
826
900
125
231
916
651
413
486
872
895
327
223
865
975
202
815
706
817
7
198
968
77
785
311
655
768
990
246
196
715
348
182
431
879
742
981
309
729
91
6
210
322
366
314
164
732
687
897
749
748
916
38
119
535
272
181
450
92
280
934
44
871
814
940
511
914
50
412
702
202
930
52
547
691
116
915
535
681
484
579
351
761
920
566
109
545
555
617
661
818
595
812
749
513
604
976
97
149
425
46
127
969
917
301
660
39
360
439
824
3
663
491
422
12
509
482
137
588
145
549
331
837
858
972
645
459
76
194
238
481
629
421
320
492
969
883
577
426
24
139
175
631
958
84
319
27
280
482
745
660
652
913
100
843
266
979
905
386
830
519
673
114
64
359
803
12
87
803
75
803
248
693
918
772
737
351
147
889
815
143
521
112
574
698
314
828
978
73
58
979
308
263
764
370
274
481
221
12
774
605
413
139
697
18
723
692
228
820
314
673
813
66
59
742
333
234
393
829
62
621
761
340
644
724
667
747
707
962
918
940
692
294
325
790
136
353
989
741
992
775
333
130
468
258
166
134
559
744
443
925
681
816
818
638
757
44
760
231
713
553
778
165
573
506
254
119
242
583
495
632
647
745
870
622
100
775
321
250
628
132
122
485
542
626
455
11
705
320
325
857
802
835
303
201
384
925
849
375
671
811
291
969
841
231
48
305
36
605
382
272
447
27
750
665
583
996
833
723
284
954
466
511
147
737
946
169
732
952
698
808
381
187
845
25
476
689
1000
565
735
809
544
689
493
82
680
155
920
297
826
564
872
265
293
999
341
300
696
513
532
623
320
46
194
978
439
771
182
762
669
703
176
906
549
641
93
512
907
173
36
29
38
506
530
340
345
352
404
682
911
968
913
783
402
712
613
900
816
155
41
762
861
867
479
515
140
510
967
891
934
719
224
766
71
605
353
145
269
383
29
431
399
772
379
497
291
303
895
689
72
628
558
398
544
241
791
237
774
760
11
197
888
64
282
361
51
152
64
880
744
502
98
988
753
136
226
726
734
305
364
927
803
926
888
760
402
476
416
796
575
26
332
103
881
504
450
393
396
82
868
585
661
773
430
459
934
957
195
243
862
569
976
115
502
93
308
553
640
374
188
429
548
457
536
522
624
351
609
869
835
622
545
997
547
221
787
617
100
785
391
801
436
934
145
3
203
767
941
572
27
826
111
518
30
309
263
403
297
186
718
174
679
198
803
654
244
398
129
176
697
36
437
553
329
94
800
162
377
698
729
439
207
994
230
481
403
779
975
771
656
351
509
271
345
585
875
256
833
185
121
295
783
465
890
722
272
727
711
809
76
537
656
583
246
746
766
911
51
102
990
25
402
699
429
150
122
312
366
269
814
859
886
346
617
874
902
519
841
861
50
883
331
857
225
470
432
342
495
961
566
891
769
481
793
591
833
532
193
316
355
780
531
395
8
922
492
80
127
310
692
500
214
371
797
433
178
85
333
365
377
982
209
724
451
162
511
141
423
813
907
846
742
606
847
32
792
105
813
136
886
40
58
493
887
882
646
775
471
665
93
911
434
413
616
989
642
847
771
715
946
269
297
611
845
648
75
80
765
974
436
787
578
895
483
660
362
471
716
896
498
679
986
19
885
916
756
974
449
364
692
677
132
507
854
192
251
500
152
977
429
372
246
197
339
228
810
161
104
719
903
353
564
59
217
355
522
765
141
206
764
131
905
388
888
160
544
688
915
304
65
605
274
914
994
904
954
722
426
117
572
52
812
516
609
684
976
154
340
484
281
41
807
952
422
451
739
841
79
621
506
857
530
843
21
254
378
46
21
815
746
486
282
320
644
98
181
108
737
393
419
734
395
511
903
62
748
208
523
344
440
93
7
967
917
380
140
596
376
818
355
361
955
182
128
621
351
938
661
543
811
237
52
451
366
407
527
419
244
488
331
91
645
183
564
59
429
774
593
453
830
193
658
558
996
448
948
378
23
22
736
92
147
716
126
233
951
625
584
250
745
605
701
835
771
608
585
31
526
761
848
668
277
888
424
109
811
480
340
661
540
770
120
228
385
661
750
980
240
754
946
841
421
601
60
608
223
619
87
365
602
816
127
669
35
576
102
647
826
295
730
764
463
555
534
526
157
892
138
778
361
920
242
587
893
750
414
923
257
159
297
476
914
959
916
986
532
355
506
399
697
855
693
31
184
489
921
646
639
648
735
39
441
873
889
279
595
298
294
223
747
264
497
325
759
822
718
10
894
464
480
109
293
442
515
931
317
447
929
563
354
275
602
890
810
330
382
654
393
465
948
582
208
718
127
272
896
948
56
12
775
246
803
204
939
274
12
379
346
347
627
47
218
159
40
808
466
565
828
185
442
688
779
655
67
955
131
183
228
360
730
397
438
367
357
216
902
384
601
319
519
677
481
400
851
910
475
508
774
252
732
129
308
123
43
878
181
212
554
786
726
366
323
226
93
280
531
447
136
736
611
542
995
275
582
430
122
799
584
82
431
553
36
815
327
386
788
917
610
936
397
279
608
620
954
969
476
941
888
890
263
599
858
766
240
357
111
688
953
438
678
388
672
459
402
192
221
558
48
370
637
430
708
187
763
428
281
528
683
776
73
401
821
174
455
957
671
794
71
947
368
721
329
683
726
383
748
625
963
423
284
718
36
764
934
464
429
315
760
492
256
894
977
112
747
456
884
908
551
641
256
935
801
4
252
516
528
1000
38
932
888
972
79
523
595
924
522
854
120
827
149
650
511
557
143
104
117
366
311
63
137
916
475
312
641
539
435
861
673
335
312
686
64
146
75
878
888
218
764
498
803
595
260
761
123
892
432
324
139
118
156
590
71
628
27
910
40
161
517
509
625
109
979
753
898
838
171
108
292
925
896
783
324
642
967
556
962
859
932
756
389
841
907
711
33
54
424
206
957
224
419
703
177
326
348
87
5
132
964
724
258
202
449
460
85
945
458
10
170
466
121
839
301
452
192
271
628
270
366
58
467
780
224
26
159
114
415
778
323
808
439
614
834
238
845
990
970
244
743
851
502
234
274
133
906
780
91
568
538
926
960
683
310
19
308
538
391
817
902
339
475
86
915
504
433
653
249
156
525
99
408
319
899
916
128
243
822
933
706
428
914
279
201
894
692
952
716
167
897
336
540
258
383
622
232
649
857
156
664
919
380
204
617
187
331
459
794
986
492
928
980
525
22
465
687
576
338
343
797
344
362
719
606
786
134
755
201
790
561
446
279
522
929
941
372
16
874
222
912
808
676
553
761
965
140
32
600
421
793
897
80
889
837
3
710
980
95
7
288
350
180
365
74
849
256
196
13
672
43
440
70
454
187
498
123
102
703
718
928
906
973
693
406
154
697
302
830
5
272
828
565
886
298
302
661
30
311
413
975
86
378
945
459
891
881
722
929
619
696
477
934
527
970
870
307
404
855
152
600
668
932
592
894
787
465
847
387
299
339
907
795
271
276
122
788
468
898
77
654
852
305
760
885
283
98
557
635
462
213
97
843
220
461
847
375
230
472
693
683
98
553
421
362
578
72
136
442
344
151
179
446
365
804
41
25
399
203
65
444
589
372
535
360
393
481
808
37
372
868
790
660
436
63
940
426
215
375
390
895
153
62
533
450
773
711
596
794
318
207
316
120
629
593
804
964
701
213
109
780
806
734
748
958
493
56
743
351
7
648
243
372
921
555
898
369
822
174
533
307
923
912
526
756
392
1
528
768
978
94
795
566
260
701
491
846
478
215
721
122
408
43
978
760
241
295
919
285
710
623
68
77
26
54
148
789
292
47
201
721
175
638
575
865
547
219
161
573
736
403
931
596
766
485
15
764
683
173
991
728
662
663
55
984
93
604
48
876
238
211
34
392
404
552
313
343
763
82
266
959
104
586
408
9
834
2
378
326
472
53
384
988
760
217
763
504
231
319
943
22
766
965
44
8
230
98
778
810
741
196
94
253
515
10
222
734
531
309
410
281
402
752
616
689
13
927
905
179
417
541
85
965
434
977
393
741
218
712
642
405
748
598
353
223
858
631
792
281
958
643
741
270
5
288
74
600
685
795
915
345
977
254
198
801
453
572
980
241
723
864
724
45
437
730
87
512
83
785
442
552
661
844
500
901
971
361
886
706
868
82
481
100
324
384
659
868
578
439
284
425
938
173
491
113
49
956
819
231
557
123
210
350
139
689
785
157
818
101
42
526
309
450
316
531
930
348
933
871
245
588
450
512
184
772
802
404
856
336
962
812
669
781
911
132
613
474
377
65
809
49
769
677
486
358
194
187
568
859
261
269
962
560
634
309
457
923
907
315
871
642
467
103
692
812
444
12
32
847
705
597
121
402
152
697
932
712
220
804
785
978
591
896
938
882
593
748
222
880
690
286
790
634
730
719
883
858
352
17
343
893
62
839
266
500
2
104
807
755
367
275
638
410
763
848
980
778
524
670
455
3
174
498
198
575
743
639
843
79
632
594
996
465
73
399
758
565
986
722
731
215
249
878
673
66
946
611
628
127
158
864
936
124
260
808
13
7
497
56
123
332
796
362
714
768
408
69
31
691
990
243
851
699
148
746
160
853
321
438
537
667
96
352
799
158
728
946
195
766
639
476
79
594
175
117
499
190
750
732
612
83
750
47
171
342
299
594
569
736
12
983
124
459
405
924
316
972
485
959
687
258
370
64
980
639
487
90
900
389
8
533
537
546
717
266
126
699
411
688
306
34
279
179
448
589
456
926
952
495
58
898
620
973
603
247
364
968
638
448
524
622
787
278
18
225
183
108
406
892
449
75
693
973
945
367
353
131
14
293
651
85
345
763
764
263
363
556
645
984
790
51
797
330
100
103
367
593
651
416
35
4
662
50
199
488
82
677
852
352
582
840
382
141
611
698
226
357
444
733
968
416
663
457
979
971
337
386
162
693
458
492
691
727
863
884
922
273
950
659
767
172
990
795
935
969
734
429
400
632
306
73
316
2
98
177
425
102
476
900
663
622
648
161
284
257
952
797
321
88
176
159
613
869
234
584
963
896
703
959
169
136
236
25
867
408
868
176
98
713
555
234
489
277
92
89
783
436
700
180
194
305
191
453
744
39
570
869
275
633
365
509
354
359
746
40
602
412
735
636
334
811
384
446
529
339
862
351
285
154
775
70
916
711
916
626
729
807
854
836
384
891
421
714
413
248
228
672
156
326
760
952
851
249
511
981
113
513
852
249
349
986
19
872
913
562
693
201
1
279
130
726
295
245
677
58
396
484
858
923
932
675
864
993
14
813
438
826
437
22
649
377
563
97
978
337
400
885
474
17
737
253
475
627
556
245
534
574
140
999
748
845
449
123
637
605
348
556
89
925
220
338
659
941
374
379
682
780
357
24
251
364
999
178
88
504
544
787
741
783
719
747
350
387
958
650
396
363
298
374
523
840
636
180
474
323
163
853
670
556
765
451
744
358
120
361
629
491
16
721
392
886
149
725
109
491
290
977
496
582
246
848
900
659
474
746
498
904
567
311
268
786
83
809
334
574
344
424
814
424
899
716
168
207
334
243
367
446
966
246
891
566
770
319
700
161
559
207
817
126
57
211
121
325
984
219
248
922
712
15
251
627
336
379
840
886
270
446
516
484
555
946
940
117
157
229
183
225
423
444
321
810
763
825
970
991
334
829
992
782
199
761
535
948
977
613
11
819
489
82
401
629
278
86
468
287
169
696
113
492
223
38
77
729
549
634
677
39
423
620
41
382
105
481
586
49
526
237
119
855
765
523
973
792
864
628
80
385
52
353
715
275
909
510
953
416
336
970
509
877
446
451
764
425
689
642
240
935
535
845
676
234
64
39
194
126
658
157
711
231
799
427
898
721
644
808
485
240
681
918
660
51
238
367
620
973
58
66
93
748
445
925
774
280
739
314
188
621
980
814
446
658
666
76
715
223
470
49
2
719
599
456
34
457
252
147
583
573
305
889
589
796
881
219
825
347
986
218
646
952
723
468
572
275
931
967
84
78
234
505
1000
87
640
851
274
823
791
108
830
641
897
772
358
844
200
340
562
6
540
829
479
581
221
146
892
462
909
114
750
402
748
845
761
116
214
308
34
431
491
156
679
89
312
351
814
649
278
637
283
491
629
701
720
100
345
707
283
632
213
957
503
289
215
626
226
176
165
862
516
87
50
86
768
206
928
954
991
744
560
306
354
392
171
388
681
837
865
772
503
732
268
700
644
223
895
26
118
558
598
527
240
348
211
137
493
786
156
553
634
479
350
756
947
594
224
210
351
697
56
897
255
1000
73
887
697
737
23
838
311
41
952
686
79
995
996
790
691
512
837
976
540
300
357
225
46
472
691
277
54
267
553
3
496
970
215
240
381
328
979
709
457
707
327
742
533
757
180
825
575
582
869
360
150
292
489
641
687
332
265
758
349
161
460
51
992
724
129
743
821
613
710
629
855
10
59
12
259
283
31
616
921
590
102
865
391
962
895
738
461
104
629
403
185
619
702
970
133
401
613
970
14
746
392
667
571
92
545
869
849
366
286
689
496
657
474
629
763
273
261
421
257
286
911
312
305
356
635
831
991
947
590
671
549
76
356
966
817
353
317
145
860
419
384
521
752
808
396
973
682
934
354
379
260
134
380
954
898
663
902
278
626
127
121
607
569
55
253
978
564
265
368
767
89
195
948
589
751
607
394
865
70
936
814
949
199
103
399
441
502
752
539
202
651
772
668
630
986
406
473
954
422
443
729
660
103
766
516
677
357
31
993
625
199
336
199
232
842
545
621
47
158
355
330
666
38
288
604
15
952
530
817
684
756
958
291
890
19
738
522
427
666
604
856
881
777
292
281
454
748
645
444
979
815
576
418
87
180
411
980
47
568
165
411
487
65
909
884
59
530
735
528
135
693
775
175
781
293
352
584
586
257
619
710
396
979
985
155
658
197
212
534
851
856
304
880
448
595
238
596
951
182
113
706
810
305
550
301
449
603
991
187
200
743
151
651
679
622
971
213
27
499
349
957
477
970
349
764
909
219
796
357
427
909
942
566
472
408
367
640
693
777
394
759
592
107
90
96
956
330
338
940
224
595
576
401
229
666
525
187
208
555
663
756
571
802
223
943
703
377
232
785
962
185
492
859
140
528
390
916
867
709
155
963
835
151
494
247
254
15
543
777
667
340
717
120
86
144
364
225
452
747
95
905
556
840
252
476
921
455
302
726
589
39
851
51
433
300
561
115
371
368
510
834
834
51
443
840
939
688
907
835
84
140
482
387
84
987
208
827
574
860
818
835
102
174
570
215
252
203
339
126
154
575
85
751
969
776
12
945
256
180
496
961
683
458
372
715
170
947
253
396
416
730
363
447
715
701
764
66
113
858
7
417
267
450
901
680
786
339
589
925
468
145
104
542
603
309
329
618
412
204
670
233
806
818
736
110
831
337
46
426
604
158
111
900
45
484
214
452
440
669
906
811
707
908
505
493
270
698
884
448
591
749
420
495
755
635
304
417
970
586
284
177
503
202
571
280
329
814
823
748
769
424
74
495
451
877
1
193
236
960
159
824
129
668
679
239
796
704
443
956
42
642
952
373
458
855
934
313
547
437
228
514
778
864
658
310
417
70
390
210
475
942
753
520
793
987
623
469
98
51
233
508
862
541
732
596
911
557
882
321
48
678
41
635
387
969
988
853
714
893
195
288
943
440
869
596
659
758
464
428
824
954
396
503
925
567
356
560
278
381
983
953
686
903
645
848
411
815
728
57
229
168
135
576
371
883
692
793
317
402
738
142
752
943
493
714
426
902
709
967
372
346
698
201
650
485
111
917
805
195
694
523
280
415
847
109
323
269
22
169
329
300
837
215
136
43
364
210
528
530
176
617
82
974
637
658
551
25
354
46
151
491
922
89
505
372
866
540
496
347
155
983
936
635
802
871
822
271
818
555
883
392
244
764
301
99
62
36
753
809
545
553
399
795
984
659
16
783
839
123
271
51
8
838
18
480
352
251
610
388
582
263
407
791
344
718
98
930
642
924
953
532
773
787
853
282
557
278
785
420
8
940
515
190
503
62
303
140
173
954
870
890
487
489
294
38
955
705
151
355
459
802
21
258
957
296
415
834
238
453
297
364
928
388
633
375
196
355
819
744
457
832
406
259
913
987
291
363
953
974
419
507
261
307
76
640
5
247
69
906
613
733
440
530
442
907
872
211
154
667
612
86
681
34
569
459
483
308
216
66
205
152
71
570
969
741
824
384
228
95
626
657
575
534
656
452
905
962
866
726
90
343
693
711
653
300
624
683
1000
250
731
917
422
851
662
837
432
836
138
964
997
501
707
314
889
210
332
303
658
276
447
57
739
506
254
263
788
505
361
349
647
557
361
816
256
523
559
25
429
766
892
589
658
503
988
798
14
383
446
181
751
307
688
386
489
696
122
71
651
454
962
349
423
870
762
688
647
569
620
827
926
411
44
418
692
932
684
597
163
514
466
631
916
987
212
126
262
762
471
992
741
923
113
546
838
929
248
643
425
693
119
729
582
869
970
28
123
84
294
883
628
733
492
428
792
696
740
348
640
991
773
500
527
955
370
518
855
19
554
378
158
511
923
66
502
218
45
127
186
635
585
892
343
908
652
602
397
497
891
476
252
503
15
28
733
405
772
559
83
677
864
828
246
403
919
330
242
527
476
520
230
816
834
538
701
977
748
719
855
618
238
213
396
888
147
559
877
731
707
925
220
633
73
70
276
627
691
734
64
126
390
327
887
826
317
289
626
519
154
407
364
181
609
732
925
87
801
466
54
41
23
328
741
20
316
478
617
667
446
16
442
108
159
448
477
503
47
292
885
578
956
137
426
186
634
105
371
540
239
604
975
385
396
687
847
815
732
125
269
844
191
504
815
102
988
279
670
244
766
738
657
743
353
247
315
741
554
990
332
566
567
649
250
299
943
124
653
548
490
437
964
174
162
423
594
277
749
674
403
174
181
489
353
468
299
226
805
544
267
569
97
2
191
692
929
599
84
211
629
244
54
96
510
470
495
453
416
612
60
167
32
563
456
950
679
652
399
237
141
613
633
725
524
94
527
75
282
428
659
464
299
628
708
193
394
702
161
543
647
402
622
435
751
497
948
190
959
461
58
900
263
270
23
484
178
631
955
487
838
544
293
97
176
577
322
630
629
600
134
966
141
27
798
12
249
794
200
312
695
403
869
315
281
370
124
695
702
334
30
300
674
869
6
11
959
813
379
778
853
515
825
630
239
961
449
258
622
178
177
79
392
655
269
346
197
785
989
966
453
495
940
165
946
281
82
47
974
860
238
374
675
521
754
639
32
34
16
573
533
692
760
785
620
637
423
146
879
132
338
849
376
862
213
848
678
657
179
480
864
243
661
681
278
776
479
103
857
948
854
862
627
373
478
374
334
839
379
934
286
757
111
275
142
781
676
323
799
171
697
769
537
934
580
885
265
123
774
193
59
36
814
253
187
164
503
815
441
894
458
28
941
968
270
236
520
577
661
113
427
833
391
550
354
56
117
752
758
951
51
456
991
279
75
63
49
89
888
725
615
903
903
119
651
512
850
721
12
198
466
880
404
283
234
886
571
835
856
531
747
300
43
372
272
563
229
11
762
671
56
238
369
13
770
801
489
308
259
903
730
102
60
269
88
841
531
764
35
794
365
107
689
215
724
163
291
199
613
685
997
597
537
129
368
239
78
350
7
432
835
570
527
389
43
992
382
794
288
840
123
209
963
403
354
359
492
854
960
677
893
260
213
640
962
186
1000
541
203
752
719
344
643
812
378
195
855
175
24
944
819
439
935
806
742
35
928
859
592
583
722
686
893
461
563
830
298
831
189
149
523
978
820
371
526
952
8
327
229
947
124
401
616
798
739
712
840
216
358
425
794
158
805
375
686
781
56
868
340
993
468
137
312
519
159
438
413
736
771
153
905
281
946
626
460
569
660
656
957
906
953
695
321
868
725
862
919
944
974
797
446
231
290
252
890
157
466
52
864
763
784
734
586
83
950
725
789
560
623
418
128
218
230
850
22
545
42
1
399
624
524
924
534
103
602
983
13
1000
821
530
875
172
304
218
143
535
71
995
306
735
548
531
744
73
16
463
802
869
367
394
928
408
755
985
313
791
656
892
524
755
383
481
928
577
356
475
78
684
263
716
849
464
790
227
822
97
793
614
299
931
611
649
384
16
720
563
777
973
82
185
245
259
359
541
298
247
618
984
227
286
279
195
504
11
831
644
525
782
300
239
807
40
499
901
53
761
882
764
944
943
201
539
121
257
231
348
596
548
547
974
722
893
708
62
967
292
224
269
932
884
379
738
458
787
316
568
213
269
780
127
842
984
596
180
622
430
227
781
579
620
758
805
198
197
265
810
161
865
785
643
61
79
77
836
646
349
916
365
970
444
937
798
754
991
927
202
379
674
46
436
196
318
659
614
248
616
323
593
98
180
34
310
135
863
988
684
701
51
978
570
335
683
23
950
702
342
997
147
90
627
833
358
892
392
326
197
138
143
702
268
994
73
890
16
109
712
861
218
822
177
509
533
561
342
265
447
187
20
74
828
658
449
399
25
163
923
634
148
755
428
702
690
635
517
610
161
433
476
441
765
249
29
598
438
728
453
110
769
181
986
456
406
588
847
697
578
351
9
638
247
825
124
392
252
988
617
984
497
80
40
569
899
691
233
423
322
569
689
132
176
365
802
286
715
634
358
547
301
700
698
203
100
364
478
145
686
70
857
779
81
811
225
535
549
3
305
505
329
561
579
200
129
616
499
622
833
695
876
606
356
658
173
882
20
390
168
424
101
55
599
424
473
696
941
672
354
114
454
212
230
252
975
880
959
752
703
755
913
958
426
595
761
427
185
48
174
878
399
819
280
647
826
961
187
889
587
207
269
200
646
517
180
847
767
106
785
512
6
776
256
296
198
770
623
767
743
273
963
971
238
330
220
686
142
234
390
642
713
356
422
115
912
999
738
41
850
83
686
805
588
389
634
910
823
648
618
44
41
957
663
436
211
910
934
18
21
329
855
582
913
679
223
65
908
98
119
100
338
452
115
193
87
987
869
231
901
980
726
536
646
210
313
373
138
243
485
608
300
269
158
227
986
673
715
537
723
625
719
196
32
702
571
634
726
961
656
57
779
972
208
982
937
979
851
171
228
785
288
903
927
957
131
756
335
623
187
472
941
511
866
989
134
828
519
467
679
272
638
955
580
762
842
385
780
430
502
719
418
49
649
445
959
366
560
36
624
702
24
698
950
815
842
462
213
244
557
655
699
266
731
905
482
144
399
62
473
578
419
864
965
142
562
739
811
985
136
882
677
316
817
600
499
976
141
1000
424
946
833
273
985
746
701
194
245
536
380
950
921
167
565
113
284
549
749
366
750
506
656
590
634
704
721
50
512
324
982
726
967
919
719
248
308
281
988
563
992
212
993
153
79
797
855
601
44
170
959
345
641
771
472
694
355
790
57
585
143
827
73
84
810
800
727
346
380
783
781
600
231
769
387
744
630
307
543
291
501
608
510
750
948
963
190
1000
71
277
172
831
88
102
621
672
651
790
677
413
477
317
344
391
141
853
133
822
923
405
859
433
98
704
80
573
981
47
625
845
289
997
543
181
147
666
600
322
135
816
118
866
313
172
589
408
97
134
955
807
157
546
895
277
299
320
755
837
387
465
995
624
944
512
137
722
27
444
257
438
318
937
996
427
161
178
906
662
446
525
713
997
816
61
746
25
683
382
321
963
904
76
377
561
804
959
13
413
407
521
882
575
385
13
574
119
222
271
231
91
538
664
630
366
352
541
896
43
282
158
809
383
356
350
403
724
122
152
181
507
247
150
812
273
617
608
598
498
252
314
379
214
6
626
780
619
120
463
857
318
177
800
287
403
897
809
210
302
540
927
710
235
345
3
703
142
601
159
718
150
430
163
613
19
289
910
813
492
565
72
52
165
332
129
905
321
514
721
645
120
242
745
79
725
149
679
36
191
704
378
160
424
484
983
473
113
417
650
942
302
653
511
961
185
691
670
190
785
766
41
710
414
358
537
789
186
816
459
880
417
782
924
639
423
59
817
849
113
32
97
170
753
559
198
500
474
515
939
590
414
791
603
265
848
615
803
218
329
520
309
911
631
147
303
531
246
343
402
308
299
673
341
775
984
596
460
665
82
974
976
265
659
543
566
976
788
243
964
725
47
14
134
667
545
788
40
292
474
933
238
668
501
301
280
38
873
409
409
416
719
989
137
134
914
297
99
519
817
129
956
10
340
438
286
64
107
831
79
127
909
967
904
822
251
76
852
227
588
399
74
817
712
320
127
167
888
392
333
25
513
215
82
718
494
379
319
161
79
255
454
910
567
485
627
816
176
389
500
828
388
415
784
423
217
910
283
932
213
228
545
785
463
159
110
294
505
180
989
167
873
863
195
349
913
58
98
173
641
138
902
26
676
685
789
916
674
473
118
385
311
515
605
198
536
231
618
96
757
501
514
710
633
492
489
408
353
660
538
468
651
257
940
437
300
3
150
995
515
336
97
915
506
769
668
970
405
472
600
744
952
128
78
344
570
483
93
977
972
787
19
151
988
491
927
87
105
161
862
513
125
532
682
640
391
59
114
568
316
94
308
729
279
32
584
319
542
394
993
788
525
829
29
629
615
433
81
648
736
636
236
864
44
137
615
951
441
5
742
914
107
134
353
272
848
676
658
583
890
967
319
586
673
697
290
581
315
791
244
916
687
521
530
622
431
862
452
301
877
23
215
344
481
357
54
428
364
582
909
55
517
344
503
547
474
687
825
544
591
926
860
542
603
715
827
427
771
896
351
256
780
824
745
798
525
413
36
441
53
134
429
133
226
532
687
948
124
612
276
729
808
625
199
17
837
352
168
125
829
995
109
783
456
161
45
278
482
233
80
354
842
638
549
456
300
120
394
83
944
165
470
102
591
130
825
900
245
490
927
152
863
822
447
798
52
825
513
546
771
689
219
863
780
635
846
919
335
245
428
437
619
545
239
708
468
417
329
300
240
42
444
176
79
540
547
957
415
892
679
73
256
496
88
424
720
458
394
933
323
805
42
101
690
330
485
244
771
726
292
610
96
963
906
983
338
651
834
702
212
222
896
240
766
360
526
611
244
43
273
941
986
928
348
441
291
599
497
887
772
335
517
484
497
684
473
611
120
87
21
556
291
204
284
787
871
391
417
719
840
986
321
179
360
687
977
18
136
301
522
368
89
593
499
74
342
796
664
746
723
552
385
661
296
754
918
517
896
746
796
624
328
857
140
688
624
66
988
760
765
879
578
296
324
196
148
507
790
985
979
351
730
113
310
580
531
562
278
240
195
540
193
887
536
755
352
576
187
172
36
373
27
144
525
735
963
715
765
617
571
217
784
559
709
39
71
335
75
587
931
980
670
996
235
112
230
121
102
535
21
708
776
18
820
394
378
29
517
375
264
929
531
171
442
809
178
892
871
704
146
810
484
419
542
847
492
552
287
793
811
600
239
684
527
227
86
788
879
876
921
83
645
888
436
925
689
234
808
870
123
763
716
224
770
603
373
995
576
964
125
323
189
159
935
382
183
70
42
966
313
655
182
706
721
341
24
892
266
298
884
395
992
683
371
85
290
888
334
406
491
719
378
530
478
224
262
575
377
576
675
923
574
999
266
602
86
268
305
999
797
684
11
958
178
769
433
408
909
141
727
270
232
153
822
311
968
937
766
991
885
403
479
133
483
622
252
394
346
767
116
130
924
435
73
203
954
760
317
714
799
190
754
403
630
179
553
702
745
333
971
30
295
753
445
914
356
393
724
2
585
279
920
801
679
333
441
276
447
366
149
30
623
527
542
897
455
140
413
189
699
356
211
728
913
546
300
59
820
663
414
918
94
77
858
104
122
549
431
408
182
68
629
129
990
256
407
28
761
918
670
263
775
121
710
974
925
836
996
701
884
837
104
738
342
988
53
884
214
517
11
763
862
160
146
36
137
290
378
405
489
287
939
232
485
421
920
977
810
478
450
439
251
203
765
937
201
386
159
178
951
86
762
522
406
42
142
767
875
808
968
378
311
523
363
283
656
501
100
979
1000
53
533
708
889
4
957
900
419
412
164
898
745
894
82
230
235
764
726
331
784
951
195
685
731
257
38
787
437
58
154
222
791
29
308
403
848
764
470
199
343
465
442
766
47
16
645
382
812
820
538
977
651
772
848
363
434
584
691
862
557
513
706
166
504
189
521
750
328
867
226
120
895
927
55
497
237
846
114
267
419
195
865
688
166
437
14
894
882
421
606
181
824
520
441
952
897
291
339
426
992
375
418
444
792
148
301
236
743
239
90
57
203
655
3
931
860
675
843
613
168
107
800
32
885
729
683
118
824
993
341
937
539
109
908
473
24
673
524
243
431
893
328
149
455
290
872
652
303
481
572
361
107
267
452
627
231
797
231
566
150
20
755
232
519
972
875
312
572
731
157
823
228
991
191
754
152
313
880
524
542
60
793
386
592
914
577
663
445
656
440
779
907
582
948
582
401
524
706
391
389
959
28
515
4
89
360
742
738
101
39
446
796
33
977
498
189
805
954
130
715
19
554
283
710
46
168
699
888
809
146
250
615
388
913
526
702
251
788
725
162
489
328
286
395
884
239
471
985
52
304
372
587
148
291
366
416
851
527
107
487
428
689
562
58
672
334
413
720
438
915
408
166
312
306
880
978
663
365
698
688
973
716
395
965
863
673
43
35
679
247
768
326
864
226
416
914
570
613
22
534
146
120
172
817
205
977
281
929
933
77
95
975
202
320
427
372
807
113
273
889
874
147
949
221
61
943
841
743
680
176
667
588
294
429
916
299
639
908
254
74
971
558
251
93
43
222
730
451
958
744
420
29
112
378
348
993
244
461
587
689
416
97
569
416
359
478
152
942
221
587
23
621
221
217
833
703
79
671
654
722
393
5
976
891
316
419
465
36
997
236
153
955
243
911
539
24
768
718
341
516
236
40
268
355
989
716
240
982
27
495
954
586
297
470
521
208
830
312
223
134
589
200
64
530
155
656
913
520
533
870
488
759
440
698
373
76
399
236
508
973
844
770
343
579
229
939
942
174
834
153
841
528
548
663
402
158
412
179
734
997
138
639
978
170
105
507
923
295
589
999
457
178
85
752
305
880
634
760
897
849
16
830
956
235
485
452
581
564
515
688
192
656
679
667
670
41
314
294
450
175
163
38
102
413
507
52
154
62
606
421
533
829
488
14
995
613
170
311
377
928
443
553
303
193
250
746
240
746
501
382
432
726
891
217
301
902
928
61
344
98
899
379
449
149
958
394
798
181
861
545
207
607
129
358
846
425
582
268
765
272
250
454
538
242
658
505
661
629
333
631
26
619
191
144
914
449
144
174
488
684
872
914
656
110
198
202
549
170
929
944
571
13
335
665
125
998
665
492
690
933
228
996
860
414
597
612
331
381
450
805
593
411
404
780
255
320
941
251
521
379
207
751
321
800
16
9
988
191
882
161
201
361
251
956
77
188
431
647
957
277
880
976
423
765
619
503
512
970
554
540
937
512
381
148
352
187
584
933
354
131
743
910
965
763
23
295
781
567
220
915
861
51
207
858
684
76
961
87
188
364
612
27
975
173
105
530
273
992
151
200
130
686
100
820
614
641
259
465
517
352
964
968
148
369
394
584
358
671
739
71
825
355
807
890
997
986
605
937
801
80
697
4
400
973
420
179
796
751
122
512
75
21
651
574
422
53
263
1000
820
192
944
682
526
562
925
82
985
725
820
12
852
397
364
333
172
299
240
249
575
947
829
247
551
492
20
304
498
746
412
642
211
161
330
223
981
849
80
134
228
698
790
211
886
262
999
587
378
357
863
286
87
283
511
680
659
117
570
360
372
824
384
985
61
800
739
725
749
47
194
201
254
372
294
256
490
895
947
436
115
663
310
817
446
360
314
691
286
948
828
663
439
554
89
928
161
96
669
836
782
927
730
371
12
253
733
848
227
212
98
941
148
255
517
153
888
926
761
962
306
232
858
184
951
506
469
532
686
120
110
972
207
425
670
212
314
22
274
622
723
856
178
913
652
629
793
161
186
722
355
148
635
172
26
525
741
215
419
13
563
594
612
710
352
114
750
575
512
906
234
358
6
482
294
532
214
936
511
290
294
585
435
309
548
932
10
756
183
94
958
979
97
708
610
435
25
928
943
647
438
315
719
436
102
297
727
205
77
423
64
833
255
790
286
583
228
887
64
494
411
590
642
917
844
187
4
232
43
138
182
251
584
719
510
544
870
844
980
687
637
124
63
455
354
657
491
116
586
133
533
239
785
599
239
939
729
611
980
36
8
572
353
398
540
777
204
639
97
38
65
440
191
804
788
961
520
393
541
236
313
240
611
956
604
128
646
763
420
978
86
26
339
91
517
89
679
721
599
153
837
452
54
251
936
151
888
312
980
193
691
880
194
255
358
908
74
202
55
959
951
525
560
267
548
311
395
368
86
979
331
448
3
856
867
94
210
217
331
903
162
589
62
272
665
960
961
738
524
28
378
435
594
794
900
611
768
579
103
622
752
62
764
533
206
998
321
246
997
112
605
80
849
47
5
852
626
375
245
803
872
408
909
175
978
950
694
839
532
195
126
133
998
688
128
10
847
645
420
647
668
948
165
908
582
819
701
445
494
514
439
757
337
394
248
233
465
348
694
59
801
885
554
881
167
167
903
293
459
866
901
521
981
28
140
196
312
37
20
697
521
389
187
386
411
205
468
967
771
348
138
347
244
526
566
595
558
27
462
58
295
570
28
236
326
288
274
765
307
66
629
746
347
264
810
685
71
387
534
531
836
389
331
648
765
119
155
54
607
896
952
956
170
290
636
416
224
994
134
969
300
100
345
151
812
164
819
199
244
222
973
616
949
297
464
919
278
13
113
640
322
632
440
568
555
222
421
313
75
680
558
465
898
11
743
67
17
623
680
599
525
388
792
433
117
862
693
523
743
379
263
138
971
700
294
616
912
509
493
413
151
343
351
235
229
448
15
673
630
696
823
519
143
878
645
960
692
648
465
876
437
931
941
791
15
805
821
417
288
778
158
304
847
881
244
855
852
186
71
849
449
210
908
639
176
150
258
426
236
65
89
345
486
905
723
600
292
772
161
595
157
925
974
791
177
794
83
16
905
725
901
103
209
267
335
15
15
546
89
53
649
683
565
388
643
275
412
871
450
673
417
36
510
154
35
260
518
117
289
294
513
136
178
747
645
6
9
665
83
953
256
42
538
802
659
955
315
234
266
28
634
211
47
98
192
258
522
290
614
617
553
173
436
162
115
323
797
600
350
402
800
708
701
817
841
267
225
130
844
915
480
652
421
344
501
67
500
161
491
518
814
236
788
311
977
567
573
281
573
514
559
914
797
765
607
509
699
540
783
27
30
362
918
793
3
172
108
869
18
701
923
757
579
782
328
64
132
734
414
905
557
13
129
101
383
105
74
700
573
10
345
937
917
756
96
515
621
61
214
22
708
665
14
354
219
871
378
257
995
512
113
491
70
911
605
653
262
394
30
409
626
568
485
721
814
891
409
701
251
26
570
850
257
78
718
810
899
120
717
202
413
317
609
773
477
581
604
891
496
900
407
333
334
418
673
460
578
893
617
104
540
361
970
936
658
739
547
641
880
589
645
968
885
479
414
598
749
206
69
840
725
648
553
336
368
150
840
346
141
194
574
650
985
515
138
834
61
3
606
493
18
476
185
907
718
842
971
857
273
287
788
569
629
833
907
187
707
54
213
827
286
763
210
986
376
228
866
24
856
822
895
506
512
53
533
416
431
612
254
658
908
396
154
773
643
486
915
550
19
685
381
9
680
567
763
287
471
906
400
123
18
29
848
928
902
867
756
966
408
455
634
752
299
181
177
604
929
376
198
226
275
688
628
293
149
307
259
304
939
254
81
339
696
874
131
981
310
175
745
366
798
846
978
215
433
623
750
756
586
179
975
635
626
858
504
277
206
385
246
666
539
153
230
183
54
811
680
975
946
640
416
288
673
668
7
370
451
536
158
795
116
887
728
565
525
461
650
899
832
126
773
434
557
792
289
426
365
532
2
668
848
272
156
34
429
62
906
964
706
328
844
747
144
465
120
153
95
800
875
832
501
259
621
901
492
46
202
304
347
258
714
887
881
622
526
560
440
521
176
598
72
2
416
925
379
771
171
128
757
34
480
130
461
632
788
642
986
110
62
980
754
268
336
388
988
224
212
742
959
245
742
401
508
411
919
17
835
705
667
301
97
245
836
124
262
193
216
822
13
374
989
250
223
692
343
970
680
286
223
902
276
734
310
957
862
765
339
418
291
633
838
302
989
751
202
567
532
209
778
739
310
554
277
501
358
543
447
840
788
631
342
573
117
639
974
483
932
383
369
809
11
39
270
571
972
681
811
31
8
740
501
635
66
75
774
920
73
4
152
230
461
896
827
526
298
864
70
254
780
702
423
996
709
437
81
594
864
788
184
548
814
367
58
739
853
698
524
951
185
965
541
257
408
966
361
33
632
906
285
282
283
527
898
989
764
540
331
399
641
515
714
513
987
158
489
575
809
399
653
3
251
808
323
40
400
673
250
391
77
464
12
241
953
539
683
337
684
659
699
287
554
315
485
821
259
900
191
512
80
502
507
409
663
444
125
63
13
733
877
697
143
278
958
644
987
49
929
708
828
375
398
828
505
219
352
269
80
565
145
565
496
58
42
634
984
599
38
789
629
945
400
860
543
235
998
270
582
3
55
726
365
444
346
96
668
650
263
200
904
41
397
446
510
471
457
731
545
349
410
527
681
625
700
877
100
715
282
841
495
237
13
51
494
960
581
161
359
495
834
395
708
98
791
869
383
385
86
50
279
908
889
542
150
306
585
352
896
187
596
950
848
983
801
716
908
765
935
826
160
416
179
224
781
618
953
97
615
808
533
199
817
664
720
423
313
677
241
268
677
63
960
233
193
620
228
703
509
112
949
618
291
425
977
37
740
65
516
749
636
492
62
247
826
462
283
694
737
773
927
5
506
791
492
802
818
684
922
783
377
575
45
26
231
696
806
812
821
211
607
848
732
569
231
185
601
144
894
681
532
424
929
612
669
208
511
917
306
118
595
595
983
210
943
991
592
633
711
49
397
107
576
124
237
423
785
635
907
334
845
626
841
940
758
328
824
136
893
917
349
782
556
981
657
967
330
646
239
190
33
917
761
308
977
566
965
826
790
804
66
473
699
49
595
58
606
350
408
233
680
392
803
203
475
568
301
350
779
303
663
435
485
649
157
349
804
224
892
312
19
697
301
106
831
365
501
133
35
857
287
88
933
612
1000
584
392
601
356
328
919
694
603
372
473
186
52
463
964
259
94
814
596
569
327
417
229
746
297
582
941
278
663
575
843
206
307
54
981
25
20
500
854
460
919
1
675
76
668
559
17
246
931
539
877
641
191
19
529
236
246
572
741
814
223
445
82
84
933
179
68
822
711
498
829
891
711
644
865
615
761
447
151
727
481
97
592
50
362
983
317
116
879
969
834
206
548
180
415
619
996
713
383
589
784
657
154
913
696
506
988
245
646
305
420
11
223
885
231
61
71
133
667
519
2
523
293
760
759
90
550
70
822
601
585
374
498
921
368
329
824
496
487
202
480
410
217
226
974
715
682
526
906
574
938
292
932
316
821
612
428
661
252
258
514
240
513
759
227
5
661
308
158
291
873
405
785
107
13
620
74
692
117
588
648
484
818
109
1
452
948
254
725
153
693
499
756
979
709
190
932
807
541
125
986
658
557
607
233
35
336
116
816
347
135
646
367
146
617
842
302
1
482
300
826
450
62
771
875
874
172
564
874
68
755
148
203
16
920
791
665
599
999
111
138
14
143
553
755
237
809
167
684
188
210
509
563
161
420
151
149
695
378
61
580
285
456
79
925
259
641
810
381
695
588
526
550
463
997
83
727
363
831
434
1
839
847
54
329
962
808
484
370
181
536
225
58
868
623
444
367
818
272
287
656
681
188
113
324
777
892
635
251
844
123
778
609
72
235
45
231
201
602
314
647
543
108
298
264
558
732
330
963
982
61
761
528
606
365
3
926
484
493
191
450
754
424
487
111
240
799
296
494
743
117
59
472
220
564
804
817
82
669
376
736
466
29
77
822
677
402
506
700
935
330
525
931
202
311
611
357
121
240
349
112
70
471
437
28
883
401
382
965
65
904
12
923
223
296
40
429
987
775
170
804
936
433
660
388
871
3
830
688
362
488
742
754
630
682
147
745
691
402
867
803
196
911
947
845
518
655
303
833
490
887
74
397
624
215
577
431
804
393
568
436
175
903
530
916
435
34
790
115
796
149
624
735
631
831
909
31
242
395
515
892
217
49
386
66
604
620
172
687
441
352
357
670
271
727
58
324
909
674
50
747
96
789
134
191
663
397
636
588
478
382
719
866
760
712
162
521
321
499
466
135
903
266
449
193
61
778
976
589
988
475
118
679
242
41
821
596
627
99
113
826
323
379
994
692
987
947
398
518
694
257
60
696
528
834
684
786
94
406
515
109
468
142
370
937
893
466
140
582
61
605
62
126
951
621
353
515
20
180
332
55
997
735
846
78
660
111
600
713
747
693
7
221
603
564
295
345
218
971
908
455
123
430
681
66
932
646
886
467
458
167
998
796
985
350
963
866
682
800
803
458
176
897
650
608
954
425
670
584
654
579
889
911
244
852
634
790
799
364
157
694
851
233
23
766
277
484
4
858
306
799
574
730
497
161
535
948
490
58
986
501
910
439
622
1
47
86
289
631
867
383
852
634
420
748
682
276
985
119
478
664
103
993
741
707
238
457
914
822
933
554
129
669
220
89
511
351
503
698
208
987
298
589
668
546
38
860
199
114
593
725
515
539
296
297
787
533
26
788
719
862
356
115
300
199
852
966
152
619
343
278
887
435
420
967
465
289
445
477
302
976
90
398
825
477
792
954
216
65
531
637
336
159
38
662
199
795
858
173
919
221
721
356
745
111
294
674
659
348
728
498
16
153
344
252
903
554
467
75
171
871
660
671
622
914
556
692
445
68
83
490
796
290
122
571
362
326
532
372
866
116
43
295
725
465
738
48
494
516
708
432
292
475
996
687
177
341
136
385
259
91
416
636
462
895
527
93
968
443
361
794
800
417
586
444
468
443
46
91
293
619
191
509
836
857
492
815
864
822
251
958
386
214
300
782
621
503
821
289
185
995
947
578
418
291
821
706
491
767
566
358
908
723
926
786
36
199
414
964
582
310
473
274
275
119
481
314
586
701
456
642
14
61
954
333
314
16
950
259
51
951
497
897
67
632
535
292
720
880
534
529
283
980
566
697
502
132
17
845
113
156
361
923
76
885
370
974
365
391
638
180
464
272
568
454
75
681
793
392
172
727
568
336
244
134
840
198
451
781
532
479
485
835
103
604
96
747
567
288
629
262
987
174
413
961
924
368
524
582
413
837
249
507
876
842
587
357
745
713
239
607
721
324
842
467
300
536
652
91
623
767
486
299
760
559
493
634
248
704
248
513
82
53
742
679
397
589
52
915
723
750
891
222
103
250
764
262
279
857
155
890
889
677
39
30
853
495
16
979
146
645
534
458
747
686
994
389
844
901
14
412
306
242
770
622
28
909
108
876
991
170
92
273
803
386
754
111
18
466
65
686
776
125
578
797
151
399
759
716
150
835
755
692
463
656
252
742
931
993
87
625
168
958
516
394
961
941
358
861
842
12
790
639
728
722
194
150
620
912
322
170
154
382
985
992
200
350
651
268
837
747
606
954
738
253
785
557
434
890
987
39
964
710
964
342
150
789
772
464
98
299
862
441
548
915
611
349
409
178
399
696
117
733
841
149
484
556
549
585
332
358
576
869
551
405
785
609
136
850
484
358
433
530
60
392
67
894
761
246
964
346
472
643
491
843
77
308
954
4
992
444
627
373
511
322
24
693
925
500
346
230
747
711
916
264
975
309
934
809
50
522
75
521
65
405
283
558
787
550
624
791
319
115
214
441
517
642
29
648
835
500
895
947
925
501
62
898
145
399
549
387
103
524
881
186
520
766
928
466
966
488
311
837
499
716
235
370
811
128
661
811
293
957
476
848
291
901
652
855
962
533
435
37
325
506
301
243
504
60
725
23
717
940
830
706
248
873
640
349
493
157
937
416
209
767
745
998
233
617
13
130
281
247
425
557
922
288
132
876
433
477
841
561
80
895
907
775
275
342
9
266
191
465
524
871
675
307
946
317
713
476
560
86
286
988
111
73
171
156
401
654
150
627
570
559
115
731
340
651
766
884
617
291
961
676
705
492
268
619
796
468
976
273
579
496
600
608
533
252
939
17
957
886
853
347
833
148
239
681
410
845
128
383
754
697
426
81
609
485
600
850
611
993
505
858
263
836
658
118
121
744
459
801
325
229
270
759
936
880
805
545
545
687
972
222
288
936
180
663
683
175
122
927
687
703
232
474
997
831
312
678
886
882
342
115
805
547
87
582
573
734
938
662
225
496
360
900
487
963
424
377
414
487
174
500
931
315
994
356
900
249
702
847
869
638
856
144
816
12
624
693
83
386
615
119
148
997
287
911
83
815
868
680
305
681
288
124
738
340
244
563
603
942
366
80
824
818
440
811
498
465
761
932
952
716
1
222
641
995
425
859
592
429
875
308
95
330
737
690
126
218
2
75
291
145
606
475
167
514
478
171
561
20
117
166
571
573
30
209
319
288
111
836
878
727
855
302
238
554
341
117
111
710
74
131
988
13
102
772
168
804
319
73
381
922
475
595
240
787
237
218
997
840
585
39
974
932
914
291
621
499
517
278
337
533
499
820
90
423
778
596
390
704
547
57
352
653
459
314
421
435
845
499
850
199
480
646
148
150
744
17
543
71
577
191
961
248
264
922
156
11
913
956
385
363
502
511
481
287
462
122
243
346
96
887
827
165
563
936
220
190
773
114
933
915
287
451
777
397
259
2
939
469
507
995
631
520
49
72
240
98
820
581
261
874
830
508
311
709
722
662
129
644
561
136
829
649
663
915
598
894
487
743
677
92
895
981
734
200
600
282
662
416
242
326
457
900
324
753
28
144
206
671
752
206
441
836
98
341
25
637
888
659
520
546
627
564
612
559
858
664
386
487
692
734
485
626
494
104
375
491
210
540
113
780
969
255
418
695
411
247
298
51
639
506
208
364
849
10
507
248
429
611
973
996
783
63
281
190
225
472
625
533
6
397
133
895
984
674
315
700
466
787
565
406
502
283
638
796
247
285
106
183
69
628
37
481
747
542
512
229
445
60
155
352
144
563
533
383
887
927
165
369
463
778
867
454
167
259
338
427
849
520
227
120
793
889
382
628
853
287
642
766
895
7
310
43
840
401
399
696
477
386
861
34
827
918
255
379
991
760
741
421
348
916
845
675
450
106
212
46
173
508
388
195
522
800
785
545
960
210
123
242
327
903
47
368
179
514
96
986
883
58
888
356
889
786
207
827
414
728
650
415
186
855
649
90
975
780
957
102
432
892
144
505
99
639
267
162
565
462
616
133
427
509
389
322
98
852
192
661
531
395
508
894
622
31
683
264
371
914
470
983
907
872
939
423
116
135
360
353
925
486
712
416
268
940
630
257
376
787
930
370
304
633
313
771
561
648
535
80
289
799
67
444
669
270
258
4
176
640
103
305
818
612
994
106
738
286
230
539
432
7
664
495
341
807
567
366
786
329
710
12
33
930
671
945
797
314
614
198
622
686
109
335
396
901
95
330
736
480
751
828
67
721
866
430
48
321
280
187
375
71
104
450
132
213
720
617
575
12
27
27
654
913
973
493
629
434
218
507
861
588
653
154
215
218
598
163
567
70
730
331
556
845
178
764
98
722
751
978
156
72
7
946
905
142
664
586
776
539
939
35
789
200
507
263
224
415
129
275
970
135
490
140
800
456
385
611
430
719
231
897
469
69
797
473
249
704
174
464
109
274
259
220
904
63
447
202
396
652
799
187
705
738
694
101
174
650
849
495
866
911
640
809
384
866
862
58
878
13
412
542
889
162
904
467
177
974
882
163
771
731
132
660
283
441
562
1000
938
469
289
578
892
967
807
185
121
281
628
208
610
390
351
579
587
166
881
710
297
913
455
573
164
215
201
537
223
595
169
329
394
857
197
737
496
277
487
246
911
6
468
852
462
142
420
710
358
925
274
97
50
433
246
436
449
968
243
743
245
42
461
935
983
518
265
877
170
967
201
924
908
777
948
972
468
882
154
720
768
234
300
928
951
300
235
921
102
952
522
531
711
63
533
924
635
20
61
488
168
161
314
87
351
793
310
469
742
110
86
577
763
775
611
835
119
375
6
206
976
271
445
982
319
579
144
816
368
156
956
454
12
494
371
996
971
384
214
286
799
33
894
204
893
100
843
221
413
756
710
568
348
462
922
747
42
605
491
948
136
544
301
115
240
875
678
27
659
931
728
784
121
644
797
513
791
861
418
941
807
165
266
722
198
40
986
47
326
942
225
126
929
490
855
576
420
497
136
634
371
34
563
358
976
44
199
680
891
291
599
236
24
585
828
413
748
295
653
923
526
136
727
529
118
90
457
263
399
104
324
563
291
931
570
314
481
21
586
677
401
939
787
924
410
147
483
259
249
331
40
726
603
672
624
864
58
587
961
739
808
502
831
323
243
168
472
989
926
871
671
46
534
646
77
826
72
270
218
837
14
364
725
869
65
426
563
766
933
979
404
759
820
318
840
898
353
516
856
122
335
476
788
928
973
782
59
456
250
48
122
28
707
265
363
826
159
368
229
454
859
877
438
578
152
19
962
714
957
142
412
479
288
628
540
345
599
721
867
954
953
884
846
606
878
353
553
371
313
507
617
632
227
606
5
518
323
170
316
852
765
29
424
722
986
607
694
724
466
579
482
273
833
384
312
80
748
436
947
86
830
96
550
646
307
565
267
769
155
951
866
521
270
638
506
533
568
1000
325
678
20
193
287
607
322
489
670
784
249
114
619
96
829
78
454
884
91
835
776
454
531
912
999
766
412
838
594
986
680
782
212
35
578
349
864
83
4
866
505
216
305
313
677
79
438
792
373
430
399
31
906
935
396
996
364
437
484
65
184
169
293
640
484
110
46
271
48
693
253
546
298
633
372
85
127
500
234
915
246
967
220
415
530
378
19
793
949
405
300
745
822
55
768
546
517
244
897
343
230
474
105
809
129
888
222
650
989
120
942
670
421
934
316
243
944
557
490
58
419
30
601
965
840
623
173
584
75
572
394
98
906
952
393
323
642
523
980
689
658
734
369
272
429
922
68
381
45
914
480
470
696
871
718
388
353
236
854
25
712
57
62
449
481
817
128
534
247
109
411
889
522
172
601
629
5
336
576
155
758
873
243
648
792
658
483
424
488
255
251
651
412
769
411
163
319
864
122
298
579
836
454
739
826
548
447
293
356
290
7
462
713
395
873
411
894
504
388
650
882
917
961
334
485
409
914
601
46
173
876
776
209
357
9
570
781
752
126
658
685
768
191
122
169
792
807
294
696
371
1
476
417
455
63
855
717
90
225
698
102
549
704
566
600
875
976
851
936
202
215
412
957
21
477
487
196
779
583
307
982
788
623
66
209
469
678
984
760
366
657
188
541
202
115
93
315
485
535
734
787
837
836
240
924
224
823
299
98
794
841
948
457
816
201
507
850
551
793
803
781
509
904
93
85
681
446
247
474
767
688
845
642
367
105
766
391
378
150
791
90
548
580
469
834
263
486
227
893
153
322
285
356
38
13
451
425
65
734
269
464
623
41
331
736
769
818
763
742
463
940
51
224
840
661
387
165
149
451
663
598
712
430
111
618
495
610
297
771
389
854
890
897
370
845
151
596
34
396
595
706
843
82
622
570
617
567
244
422
424
943
185
912
24
93
756
647
477
375
898
655
334
895
719
815
84
277
625
654
165
78
923
378
917
974
361
637
278
401
625
334
933
602
259
716
860
923
803
122
914
760
229
986
162
791
880
153
183
977
221
113
422
363
652
493
26
868
545
55
241
145
415
466
632
19
866
313
843
230
528
212
593
968
709
345
897
198
900
443
275
839
603
57
821
701
132
941
600
474
229
498
746
166
316
556
52
146
178
163
569
340
720
723
941
176
179
542
762
629
846
771
245
39
926
821
880
438
608
543
569
802
852
862
920
965
608
95
18
959
468
877
977
165
755
495
51
4
136
417
863
830
714
991
599
329
377
601
617
7
922
68
9
266
89
693
83
190
162
160
612
367
286
452
976
18
926
43
961
245
216
890
124
410
65
177
50
569
971
321
796
368
460
504
52
30
964
860
307
885
702
499
391
376
873
767
310
683
13
460
183
835
918
264
469
724
914
333
363
513
593
744
425
704
355
581
34
608
203
487
229
994
318
864
851
500
833
313
686
729
114
553
480
76
596
777
263
1000
867
352
445
847
296
840
502
364
934
537
902
709
842
127
110
124
230
590
143
418
49
189
145
78
713
247
894
112
681
401
989
717
511
223
685
473
838
398
15
51
423
142
863
343
79
188
140
538
799
435
41
889
858
342
680
826
13
227
26
653
168
900
185
242
47
491
543
48
485
891
183
266
894
969
294
161
388
610
4
422
789
655
155
913
462
49
114
306
505
831
564
944
345
124
633
703
182
959
396
768
45
589
960
5
463
912
889
60
869
793
686
381
884
343
399
140
601
665
217
407
794
202
59
994
777
566
787
120
265
655
624
402
170
925
778
694
746
956
65
29
856
775
533
196
446
11
705
534
474
605
82
143
680
675
958
46
535
164
463
790
674
31
953
583
896
110
545
386
554
201
614
248
777
654
561
833
528
421
991
280
904
588
745
467
475
430
878
305
676
347
768
908
455
430
45
343
439
992
892
203
847
131
611
436
255
268
18
693
140
668
372
950
759
125
56
342
585
385
134
905
979
345
291
457
209
784
339
895
236
178
670
27
930
133
559
451
469
125
189
117
760
514
635
911
619
257
803
55
329
339
521
139
925
734
532
330
231
582
143
675
242
393
698
443
909
268
801
139
757
571
463
147
95
975
944
986
700
546
85
788
21
372
342
930
924
241
589
713
894
71
973
622
472
94
759
934
384
294
167
429
475
226
632
522
97
144
814
367
15
312
931
433
289
486
681
551
803
796
95
715
293
716
145
720
797
338
846
316
406
933
880
686
103
655
461
939
222
285
322
776
801
127
174
657
655
503
939
608
534
831
397
247
126
909
615
781
983
893
664
440
673
395
710
308
598
296
491
557
946
158
577
872
183
546
574
227
355
212
604
253
214
835
995
153
836
927
71
481
994
604
369
127
981
143
375
572
7
639
101
749
525
608
430
920
93
105
186
568
421
760
288
665
300
153
224
590
996
137
272
645
525
5
572
364
926
922
196
739
317
649
817
112
10
392
447
693
442
556
988
588
1000
302
998
771
88
42
192
654
950
459
642
790
805
186
585
745
851
20
1
395
566
446
872
715
509
266
119
642
537
356
748
742
931
894
670
218
446
966
959
266
698
71
106
900
637
908
913
164
50
797
276
56
196
230
16
611
697
320
328
299
749
406
149
347
574
639
941
602
793
155
978
298
33
366
185
472
690
961
9
756
214
450
570
13
664
458
574
586
585
553
70
945
433
44
159
157
880
83
185
934
335
400
774
954
932
161
336
798
48
787
264
94
135
34
148
431
292
271
756
169
525
715
410
516
99
278
656
170
718
861
784
370
540
112
884
400
192
157
542
500
1000
337
258
623
654
735
894
700
378
173
218
883
478
385
707
767
826
283
295
705
450
590
663
182
875
617
34
642
315
646
151
318
84
190
256
362
862
391
465
29
554
952
870
751
525
305
75
683
936
132
638
714
758
17
61
981
786
711
583
658
652
466
972
146
385
914
955
839
550
256
693
301
387
863
936
51
631
963
100
138
911
792
517
350
718
414
567
194
927
464
199
778
784
212
610
317
73
682
480
286
908
31
239
165
239
50
266
321
654
427
805
810
559
359
662
786
123
222
391
783
644
265
800
314
164
696
60
142
201
137
634
83
479
123
499
390
374
226
890
616
613
426
869
336
439
549
573
281
62
950
900
221
707
131
733
437
2
648
549
691
749
503
393
447
354
176
752
461
311
599
832
8
195
684
87
731
525
437
638
497
743
316
389
716
288
254
214
309
406
682
624
836
916
954
652
379
625
833
567
426
434
46
170
344
523
506
92
43
126
449
510
68
569
646
113
685
197
807
9
466
765
499
493
529
665
224
226
851
86
763
456
1
848
546
341
253
166
604
318
265
58
594
726
418
462
518
566
475
359
990
369
441
393
346
618
346
516
474
92
252
182
928
777
909
483
849
708
396
400
187
214
500
57
961
578
823
438
658
9
339
549
336
217
649
410
727
555
269
591
403
889
79
210
103
885
489
453
409
360
973
726
290
714
367
455
454
238
737
436
83
244
660
370
264
577
515
884
355
42
720
910
618
666
880
766
649
541
536
661
557
181
480
626
359
950
667
93
783
131
351
389
503
649
422
490
875
267
857
217
365
346
853
928
241
876
447
450
532
557
404
655
930
152
710
582
84
216
288
492
701
553
417
549
958
453
936
116
8
825
509
785
771
846
86
337
781
627
256
813
595
709
355
737
146
918
13
334
478
190
374
274
497
544
309
65
721
262
815
731
544
699
209
821
173
882
888
107
240
174
163
559
74
882
156
317
732
588
796
394
217
393
730
829
732
14
348
809
439
843
191
75
952
681
722
558
715
837
815
776
484
672
341
994
374
479
927
520
300
805
277
811
217
910
484
233
230
110
362
446
529
146
198
373
93
587
225
613
294
487
797
1000
856
167
479
725
89
69
242
44
976
47
498
181
469
352
1
418
315
841
508
764
826
588
688
820
274
200
934
626
17
584
673
345
35
848
219
613
268
297
476
263
73
192
571
911
124
74
41
593
304
949
338
248
475
578
207
311
547
446
985
148
911
702
978
327
158
542
852
973
939
31
405
587
19
327
186
729
823
642
173
909
243
32
116
902
81
295
221
421
262
833
562
779
878
325
979
712
179
461
258
20
879
769
52
67
537
802
369
452
282
543
434
381
898
915
386
330
98
719
587
640
869
136
280
554
905
191
960
57
484
199
98
577
635
291
787
250
67
549
481
995
124
160
240
56
992
274
789
58
481
907
277
851
969
330
814
582
522
876
761
503
758
979
260
15
793
563
678
290
445
632
478
633
960
979
548
430
698
504
131
107
579
521
352
65
616
773
776
933
507
645
560
820
95
151
548
463
499
890
86
297
832
63
414
516
729
60
268
121
375
847
699
822
279
609
186
398
869
646
849
778
851
533
912
702
368
939
624
251
232
318
515
952
885
862
194
430
273
752
923
784
560
757
830
946
404
631
940
305
593
631
164
773
958
691
35
310
836
437
204
616
820
291
713
356
190
358
582
811
174
657
559
284
203
528
728
945
357
738
282
62
511
851
931
698
108
978
345
64
13
856
497
646
714
550
15
142
934
762
456
8
836
847
909
110
162
165
531
582
16
300
366
497
508
50
319
348
162
798
244
691
784
23
897
485
507
288
949
828
836
963
307
794
818
332
801
48
936
503
627
744
881
685
53
970
180
32
585
665
525
192
152
515
764
126
931
783
706
556
76
425
319
597
3
128
420
772
822
98
661
582
224
517
471
288
385
607
634
342
455
131
347
180
800
5
915
712
442
393
748
910
98
292
940
354
787
172
510
443
228
644
343
267
167
510
963
806
306
778
547
203
754
400
987
353
760
565
411
933
42
323
279
321
200
245
67
536
533
548
612
458
103
871
350
123
3
431
96
770
641
832
459
697
284
194
716
707
231
579
751
46
795
938
665
326
649
911
804
866
255
858
236
226
774
438
153
535
301
911
310
322
315
77
331
207
955
431
681
745
82
707
123
156
165
406
769
429
647
336
169
551
856
436
465
173
470
391
313
78
218
583
145
243
830
9
345
91
166
620
107
808
130
427
20
216
206
403
969
756
425
839
519
590
137
373
783
703
231
337
721
144
317
403
884
231
983
800
954
626
435
494
758
669
682
830
103
275
7
59
431
961
594
122
229
333
51
771
162
421
76
862
84
811
634
226
454
431
849
20
185
187
274
903
646
377
316
661
315
969
382
161
623
374
744
625
617
290
206
257
391
591
405
198
672
965
995
632
561
212
995
629
193
685
327
946
986
342
922
619
244
276
810
602
93
408
291
131
123
191
622
750
664
856
668
142
299
672
586
2
98
194
960
198
59
249
744
362
407
681
987
895
743
509
635
82
487
212
576
624
734
298
737
469
410
203
270
228
568
802
764
843
781
530
976
400
843
162
810
165
408
807
128
968
787
562
501
56
816
573
215
395
658
961
657
197
374
180
739
142
356
900
134
359
49
431
941
735
887
43
830
537
67
267
880
650
590
408
47
937
984
71
696
398
259
430
666
796
955
360
128
396
557
305
857
284
209
944
644
512
366
287
257
961
997
839
735
380
972
850
850
546
549
481
228
858
225
912
980
968
786
57
686
241
69
529
223
949
829
986
241
84
90
744
69
608
558
866
424
764
970
512
618
808
751
426
841
125
998
885
747
264
566
292
762
839
34
873
466
614
388
614
973
328
555
656
401
978
312
851
455
376
702
88
628
709
782
282
732
784
454
653
310
354
147
12
968
683
326
299
834
39
167
559
143
372
244
842
426
788
731
299
899
795
484
843
426
491
300
330
868
6
824
157
704
535
861
549
593
263
292
558
903
311
399
3
341
585
182
131
483
105
156
802
424
902
193
354
762
103
207
159
829
161
874
37
417
494
110
343
259
990
743
555
146
916
659
606
914
801
735
50
458
740
6
386
587
427
880
511
787
904
667
321
910
668
334
937
391
321
193
903
837
357
186
977
752
71
515
788
693
802
663
753
414
879
232
98
363
736
634
764
491
608
373
234
470
108
568
69
278
774
393
25
607
365
322
160
688
293
419
253
964
54
419
210
469
976
30
849
936
879
700
617
403
491
74
332
530
574
509
20
946
787
307
257
664
190
780
213
25
225
856
767
693
682
705
640
928
890
796
505
733
888
840
379
523
834
340
473
619
283
828
812
233
237
431
616
587
101
109
394
496
714
738
191
1
705
272
197
663
269
334
223
711
311
947
158
524
631
585
590
879
427
367
214
950
957
994
551
346
627
12
726
322
134
48
757
883
519
971
901
740
191
317
49
891
15
911
111
190
531
337
594
405
285
811
295
139
992
37
163
463
983
844
870
271
963
739
595
188
623
54
827
303
53
990
755
149
226
733
938
106
45
759
529
852
576
620
242
578
121
751
667
423
729
343
252
984
605
877
511
837
607
730
537
700
704
133
928
247
822
887
630
605
991
419
973
277
66
199
415
533
613
55
109
338
697
624
430
534
468
37
20
300
378
960
764
867
836
266
316
121
880
939
468
959
197
309
693
244
425
330
654
764
242
434
335
853
159
418
718
250
290
947
618
318
645
515
350
953
621
106
415
419
469
406
268
819
453
120
549
166
332
849
846
781
551
18
200
312
239
557
58
781
710
389
314
878
648
276
425
205
600
279
308
283
690
872
878
912
706
757
644
908
835
568
727
347
361
916
42
168
592
720
142
415
97
336
408
435
141
782
847
92
817
276
762
391
977
355
927
978
516
114
731
635
952
456
946
236
539
801
390
642
315
416
785
643
625
355
519
388
624
39
884
691
212
659
564
235
635
918
820
966
750
92
865
908
533
65
374
235
4
742
936
636
119
228
543
982
594
249
863
800
822
563
150
314
253
523
113
667
637
534
986
474
538
869
305
38
363
204
662
399
996
284
747
893
750
298
592
38
13
953
782
375
419
689
785
387
828
199
261
677
667
201
374
447
469
422
670
678
520
872
51
558
587
786
732
411
654
71
843
824
416
680
521
681
38
121
897
580
380
218
404
431
413
306
204
109
46
299
340
677
979
426
435
68
439
1
359
99
898
280
321
329
945
316
259
622
472
731
241
190
298
513
822
562
112
239
957
167
380
636
109
176
472
16
664
823
823
908
619
692
339
187
779
335
670
64
382
162
167
612
154
767
551
882
272
699
347
257
630
245
143
430
91
957
593
256
109
501
880
800
243
913
43
73
578
482
167
344
19
301
953
383
743
996
577
692
824
258
84
598
227
580
771
57
872
42
152
155
471
75
131
609
167
881
952
975
803
590
343
934
814
296
25
736
316
826
422
841
959
476
972
848
508
963
911
46
911
541
786
291
837
566
241
498
248
772
806
680
640
220
508
367
957
135
173
240
69
851
126
961
904
699
884
552
988
933
120
96
198
754
811
237
993
47
36
687
231
734
310
957
993
499
707
578
460
263
268
394
18
940
361
883
224
916
711
78
181
219
819
351
154
512
332
241
983
902
757
540
964
44
554
54
362
179
286
797
690
552
988
926
185
113
320
336
665
545
409
735
100
430
491
915
782
784
599
150
918
323
582
895
861
522
680
429
958
963
726
696
143
527
802
346
35
676
852
914
242
473
287
133
2
1000
130
626
79
520
608
589
34
74
381
651
624
191
804
749
82
66
712
785
475
840
204
751
156
600
855
277
581
336
558
800
384
380
946
75
678
754
967
386
6
488
733
595
204
187
183
121
743
35
462
54
776
992
187
868
197
146
906
614
513
61
128
46
234
481
308
880
761
948
994
249
503
728
190
494
17
922
632
584
529
814
299
875
104
306
985
368
49
753
155
348
908
649
641
76
525
362
950
200
207
593
77
693
1000
287
784
417
412
495
198
850
735
67
481
141
261
154
45
405
286
161
461
95
772
211
775
355
962
179
419
512
996
59
282
217
836
748
795
328
386
351
74
291
728
739
269
666
821
428
262
429
841
793
776
871
584
254
781
222
982
372
776
627
864
691
206
730
526
784
761
912
550
195
772
179
573
876
260
827
405
264
462
230
949
385
791
553
889
221
284
754
996
112
544
963
203
160
85
231
318
414
743
662
343
152
538
176
905
695
955
463
217
17
132
242
325
869
814
583
139
270
320
882
893
988
912
66
221
59
153
728
4
511
835
210
499
176
23
72
49
896
592
17
817
481
400
97
602
496
916
929
781
319
637
754
779
955
182
376
337
755
241
425
979
554
927
912
766
714
205
775
396
232
212
935
148
367
271
424
15
223
311
291
600
324
232
347
982
520
469
255
840
483
643
141
551
633
721
678
866
618
551
551
19
330
993
309
819
26
101
902
335
338
1000
562
311
818
148
336
292
192
655
249
789
699
217
989
500
705
988
58
714
302
441
510
552
752
819
773
630
418
337
561
54
343
658
531
398
701
520
205
463
169
584
617
170
678
739
306
890
97
88
573
886
156
837
350
306
316
109
649
352
342
491
336
820
81
767
847
204
269
865
612
959
280
518
93
296
360
518
822
124
265
726
299
329
208
199
343
645
663
889
343
755
906
377
864
120
118
8
223
274
507
628
2
949
182
829
914
463
450
242
96
256
794
967
699
332
31
656
575
607
73
121
988
883
250
589
541
216
373
898
893
945
620
979
474
557
797
960
86
848
768
93
187
552
654
501
709
739
909
425
435
774
537
273
344
589
522
234
821
330
996
676
324
186
822
849
894
357
9
616
907
671
847
100
582
299
709
152
66
418
245
480
356
399
67
151
937
308
100
912
768
77
500
443
172
689
371
232
257
120
604
217
734
590
779
743
372
861
466
644
896
972
224
468
802
773
268
967
463
86
69
950
859
150
139
548
490
212
857
724
306
813
462
601
8
359
318
814
682
994
84
610
543
710
723
884
509
848
156
670
426
861
937
882
34
256
541
227
185
166
733
320
391
844
999
971
522
731
224
522
342
401
627
861
654
857
472
483
971
113
224
518
35
987
617
179
997
298
582
489
727
460
108
455
588
561
864
97
940
609
867
846
821
545
569
889
514
25
465
954
184
712
759
903
355
18
646
232
773
813
522
254
110
588
779
300
60
996
874
763
573
452
71
147
397
707
550
639
623
928
623
837
633
815
408
430
696
731
660
585
503
652
384
742
53
973
516
307
672
867
212
472
392
926
213
21
588
294
381
517
538
346
702
692
529
247
1
235
259
408
117
412
499
920
578
113
465
556
604
1000
856
819
869
392
304
809
576
405
828
402
295
654
945
339
459
518
304
351
610
570
37
361
272
253
548
155
789
346
147
636
622
19
724
926
332
561
672
143
943
937
391
622
458
417
1
719
56
423
344
117
876
619
954
713
398
994
459
768
101
387
757
963
484
418
436
436
532
330
83
640
446
558
573
104
721
174
915
760
728
540
980
550
566
577
266
426
262
97
867
723
381
530
12
79
721
204
807
768
33
71
370
331
668
371
114
861
621
307
777
168
691
200
732
295
401
978
201
579
849
83
288
474
905
58
147
905
23
135
179
760
474
121
883
473
988
747
875
334
643
470
646
292
302
347
792
508
113
264
860
894
333
261
413
150
241
128
626
588
20
761
531
165
263
985
8
700
182
682
770
198
720
109
878
595
473
211
765
976
772
617
358
518
303
715
667
986
376
912
98
584
320
719
843
400
521
788
939
430
271
403
935
422
990
217
717
366
330
223
661
491
346
28
223
51
236
529
9
13
99
981
603
7
796
277
713
538
269
971
698
512
617
222
162
579
801
355
117
688
126
187
132
475
522
627
39
821
219
272
981
988
629
946
34
213
118
128
218
563
877
244
406
135
277
648
571
408
962
905
834
654
399
696
959
844
773
253
343
414
926
730
12
582
495
344
844
647
547
435
32
860
750
787
801
979
597
738
539
619
254
592
757
830
387
805
798
140
675
287
768
455
838
883
970
810
667
776
1
927
963
122
785
965
276
695
13
619
62
707
873
957
182
241
487
975
686
945
160
894
474
719
444
633
720
144
963
722
935
295
200
192
156
421
684
564
15
686
580
177
397
782
245
506
976
791
174
1
163
95
661
256
904
478
637
978
341
832
392
332
537
41
317
686
360
665
372
735
140
45
722
227
911
309
860
257
855
558
600
197
116
203
501
859
253
6
648
396
452
910
248
804
44
135
120
604
40
331
43
451
136
827
858
948
100
112
387
908
522
749
510
687
686
850
209
950
685
83
960
440
6
963
672
888
484
809
228
180
928
334
809
322
734
305
380
525
492
95
134
932
926
222
196
150
517
172
632
753
799
902
628
342
631
431
749
605
725
801
315
29
309
573
310
595
110
674
672
807
750
104
479
879
263
501
330
785
670
27
172
99
455
396
932
291
359
88
565
178
106
986
571
738
559
722
584
400
323
997
381
204
15
28
541
943
233
35
47
526
781
417
279
292
838
810
265
960
595
778
505
220
315
269
409
706
925
277
176
248
9
408
934
847
510
157
109
765
544
718
277
509
471
155
185
235
771
528
284
286
339
392
807
168
517
719
424
234
571
847
504
776
326
562
315
987
386
791
822
497
666
644
330
788
12
784
898
800
291
149
302
498
666
102
365
965
739
960
598
869
853
700
474
747
142
333
80
649
819
94
588
110
837
124
729
299
235
745
438
452
460
812
938
393
445
840
776
1000
495
805
763
992
866
557
343
295
479
766
631
537
365
202
271
954
318
946
289
77
690
798
328
119
433
768
6
870
312
32
647
286
669
147
305
659
222
635
836
422
206
277
734
185
548
576
609
565
899
891
455
724
62
690
333
314
778
211
666
700
898
581
143
898
643
94
122
693
88
939
506
746
981
104
291
362
721
614
395
729
651
493
884
118
824
73
451
509
43
347
817
562
298
91
792
660
679
361
836
23
477
811
352
499
445
5
359
725
154
503
902
790
931
54
275
388
157
675
146
756
571
724
743
316
797
358
533
74
546
900
246
279
776
719
680
771
661
210
423
722
390
327
563
205
641
904
454
123
107
717
847
559
568
803
10
537
843
94
21
508
402
797
39
627
538
305
221
9
808
621
915
744
839
422
893
362
728
914
709
840
992
583
677
996
422
790
607
285
272
913
177
632
924
402
747
864
519
675
493
765
125
260
983
531
629
987
669
632
943
262
369
702
73
739
451
91
270
701
348
142
779
559
992
98
685
722
955
758
958
946
415
693
101
975
515
825
704
933
357
683
841
443
639
478
456
901
908
437
815
697
512
486
644
391
574
477
789
55
761
637
120
38
170
792
919
381
406
272
174
998
786
38
41
530
685
766
257
456
207
67
393
654
741
17
704
111
455
447
745
879
480
232
75
721
325
909
147
70
82
573
910
95
77
885
729
690
963
453
13
127
661
577
289
989
185
541
579
748
140
222
603
991
605
767
742
904
189
481
681
53
266
893
395
926
819
135
411
948
805
435
344
896
728
496
309
735
898
994
141
888
909
238
329
894
16
299
169
184
428
537
939
468
4
511
825
833
497
734
920
193
251
579
862
172
251
912
592
867
483
723
243
157
870
89
435
432
435
312
73
634
934
940
300
521
931
722
453
907
166
222
670
447
132
943
334
209
947
339
681
877
987
11
690
950
258
714
864
682
134
553
622
856
935
887
800
696
792
994
191
344
381
541
161
376
404
238
90
774
146
844
839
600
49
860
462
416
992
823
113
89
896
126
476
265
358
656
70
197
216
368
457
51
372
95
736
52
728
545
689
68
780
416
617
287
292
15
190
684
469
592
618
855
221
832
70
639
450
603
534
653
733
113
274
502
470
62
581
964
306
284
827
895
622
588
671
932
970
244
877
350
622
591
383
574
785
760
150
912
634
408
847
67
46
628
618
848
785
951
985
286
964
424
497
80
776
311
827
846
864
868
873
207
222
969
857
125
146
129
561
217
630
572
590
16
551
599
19
267
134
412
842
384
484
953
405
137
416
74
404
483
428
534
98
223
425
893
67
804
704
375
282
179
813
166
208
99
107
397
407
576
214
296
406
581
185
594
624
190
775
279
777
517
183
252
516
777
577
225
996
714
908
497
712
463
834
827
209
643
58
733
211
87
32
964
298
172
761
768
513
140
387
860
195
162
363
664
861
138
265
465
215
405
715
643
206
562
479
4
602
647
503
567
711
709
582
849
757
681
359
811
872
86
569
155
848
752
810
579
605
197
619
930
760
757
298
955
863
847
785
456
589
985
815
251
630
309
769
260
150
380
916
442
355
992
169
32
188
565
123
748
187
449
864
189
264
122
1
656
560
856
407
1
510
858
414
941
989
317
587
449
721
48
737
475
133
607
550
255
492
898
47
893
483
221
122
751
338
710
552
394
238
841
226
508
34
489
785
246
202
583
547
914
602
983
335
789
802
636
831
113
679
391
126
988
535
161
461
996
196
225
517
831
439
562
219
151
601
80
751
134
428
480
353
963
64
270
508
540
548
152
374
286
384
603
591
782
515
961
202
361
540
756
9
485
94
326
570
898
115
5
992
81
165
267
827
520
21
286
675
629
554
274
526
971
267
839
511
581
960
345
464
773
689
912
649
818
554
291
38
266
887
265
814
481
101
688
89
190
789
467
457
416
664
79
610
251
585
223
188
276
236
294
973
338
955
212
767
582
882
998
566
312
825
189
173
293
214
834
982
560
87
324
511
691
291
775
158
721
10
22
799
622
268
534
108
270
278
719
869
404
386
173
149
885
879
380
943
946
120
249
747
769
294
698
616
880
584
117
404
356
694
226
295
762
512
264
206
80
103
932
338
631
405
771
947
118
734
916
438
495
668
282
955
307
954
277
1
522
832
80
26
636
587
367
545
11
176
137
112
7
510
922
394
420
345
264
650
179
747
806
181
21
795
699
676
83
528
362
929
978
131
772
129
915
5
601
731
882
696
495
982
704
594
718
304
76
968
191
90
267
147
681
926
288
618
535
913
731
404
872
534
396
291
609
490
48
447
26
997
363
460
844
334
176
97
947
839
647
925
947
110
858
470
751
928
641
789
202
275
169
146
613
900
933
1000
731
44
257
663
263
337
447
782
592
349
957
285
722
978
763
542
833
672
203
258
5
461
165
88
849
906
410
4
787
394
214
233
668
624
259
970
279
751
909
122
27
426
553
79
777
873
726
858
344
228
75
997
655
593
83
275
962
657
620
666
758
253
52
915
267
950
633
821
460
630
337
563
549
980
120
435
857
53
850
912
715
326
767
310
844
205
416
189
225
521
430
263
62
411
414
831
854
870
446
621
940
409
407
536
153
496
402
973
353
880
56
275
718
484
335
401
592
257
878
92
624
300
494
626
669
588
633
786
652
847
121
795
176
459
412
789
157
828
915
860
196
263
709
840
700
296
103
747
997
318
36
275
807
540
297
787
500
619
877
19
459
698
563
107
769
233
43
613
187
756
379
935
986
610
710
857
883
802
400
38
682
325
711
900
686
702
218
739
186
38
866
863
555
587
531
223
543
663
414
317
406
782
409
92
387
39
836
218
903
96
567
373
504
614
631
103
295
594
838
436
81
913
834
654
882
259
256
534
870
803
343
951
997
185
442
911
759
836
333
996
608
199
196
699
493
183
334
339
899
43
498
51
525
924
747
895
454
534
316
218
243
726
877
276
894
323
925
534
51
163
755
226
98
163
631
507
61
216
323
984
347
823
111
480
359
703
770
666
31
43
760
562
103
670
75
994
764
183
752
799
936
14
54
947
22
446
717
771
449
854
467
181
679
834
220
95
683
410
979
285
38
219
474
526
913
432
31
215
235
182
944
616
196
427
924
485
122
517
790
141
424
213
658
942
985
527
310
753
874
572
331
220
730
535
810
562
487
17
157
188
384
224
587
600
366
936
389
988
24
725
934
388
235
656
708
492
508
581
363
49
845
163
878
247
617
996
454
682
558
527
708
265
462
995
13
950
616
286
644
217
285
412
468
93
811
314
511
871
5
828
673
816
558
934
232
867
127
872
549
772
610
312
563
136
879
519
240
578
892
386
148
575
686
279
700
591
208
856
437
783
347
434
899
890
789
4
282
961
528
697
66
165
949
366
251
292
434
958
652
489
303
519
962
399
774
998
923
166
313
509
993
690
381
321
382
105
139
686
161
704
96
498
429
452
31
967
230
757
798
666
933
414
756
799
342
494
660
77
657
486
794
328
721
168
33
848
701
554
296
571
457
728
537
292
384
556
35
578
416
56
243
486
256
683
849
879
579
920
60
974
155
304
299
719
356
499
669
735
479
92
549
866
686
530
649
820
121
44
690
990
962
440
627
309
715
363
3
912
89
26
587
463
141
394
905
208
225
523
695
239
451
89
551
969
1
132
249
540
651
696
347
718
283
362
620
868
9
632
855
755
756
739
301
245
813
747
821
460
902
735
419
584
765
440
329
311
163
998
338
865
422
324
310
645
339
199
193
795
377
411
891
428
519
96
497
815
88
12
337
551
112
637
153
636
546
813
552
430
753
190
517
651
192
837
405
922
158
225
343
921
783
245
337
824
219
36
753
577
100
189
22
490
885
331
575
828
706
160
38
312
640
779
661
938
156
560
808
107
621
834
75
828
350
430
295
666
683
430
223
203
944
569
179
987
956
373
328
342
1
469
518
968
695
510
838
937
312
801
122
566
482
17
637
650
46
397
131
712
69
374
176
255
677
931
541
474
422
868
885
528
344
767
653
270
762
710
474
273
87
668
698
117
655
82
1
127
617
335
113
218
456
716
800
42
564
980
222
377
642
821
647
589
361
381
292
33
865
449
773
471
207
138
214
923
736
630
590
903
772
81
299
644
683
852
236
739
574
42
919
635
395
735
306
501
202
436
984
351
681
955
389
696
821
370
498
641
784
776
265
82
618
240
674
609
444
755
878
750
127
5
361
470
277
457
448
193
601
613
747
173
255
269
341
744
870
279
603
815
348
627
551
27
344
571
538
105
624
264
914
321
92
512
8
411
360
283
411
975
186
156
74
145
961
161
186
277
713
348
136
524
747
1
125
411
155
614
143
949
893
619
121
404
35
402
3
559
92
298
390
212
36
123
197
686
725
290
433
318
996
697
827
273
598
404
540
521
458
572
582
496
546
250
912
776
712
407
372
112
452
982
794
250
495
892
605
322
483
613
217
986
775
401
359
146
592
251
213
812
297
438
927
592
593
810
622
397
823
87
473
135
353
55
855
599
228
918
798
274
904
50
215
487
888
56
441
193
525
341
652
700
35
378
614
787
100
460
60
28
1
29
699
578
294
577
479
351
530
735
308
285
351
391
814
351
578
600
135
82
577
582
941
625
291
359
82
790
783
410
300
93
65
286
422
548
263
295
358
863
888
213
957
706
99
460
535
927
364
374
428
990
836
961
467
343
123
31
664
178
842
702
722
796
516
70
203
830
896
245
322
682
791
61
369
829
801
525
694
115
164
447
61
752
80
772
907
485
463
852
720
352
60
245
312
482
280
696
231
658
872
596
950
722
787
586
737
469
200
960
329
360
665
177
601
255
806
86
453
354
804
473
26
749
136
104
201
257
712
770
33
734
571
751
421
689
794
690
831
797
103
154
363
890
947
30
770
83
504
477
300
980
130
368
412
297
284
34
459
842
836
637
418
497
978
698
626
760
659
134
264
425
587
675
28
203
357
652
15
413
190
993
373
418
103
708
653
123
64
268
145
699
848
70
679
649
834
603
519
508
970
37
3
737
472
679
527
812
624
179
338
162
181
383
310
304
498
497
599
514
483
551
591
388
859
212
44
919
41
665
730
82
110
631
133
471
34
572
962
229
241
809
367
379
126
568
692
654
888
950
572
119
328
428
955
181
895
771
374
89
312
210
415
629
573
271
868
554
971
921
496
204
78
620
686
894
282
367
527
917
577
121
994
414
762
778
11
931
140
459
119
260
80
41
365
974
520
682
815
188
619
616
772
219
258
633
406
211
44
467
982
277
785
786
285
405
161
602
192
183
438
688
508
377
646
37
364
546
589
471
486
174
419
278
587
224
283
135
993
656
721
652
358
201
82
572
991
590
207
61
886
538
37
511
10
994
587
2
794
555
955
878
62
505
629
925
807
625
396
243
339
770
568
269
329
247
75
332
179
162
229
755
980
269
586
812
26
301
404
761
489
417
638
783
403
191
294
878
537
526
214
719
95
957
61
961
420
112
340
785
69
471
792
268
651
183
385
751
845
389
430
515
848
434
67
958
313
350
462
928
539
217
593
44
236
375
427
633
740
932
608
385
928
732
541
948
414
738
878
456
841
773
981
430
184
719
884
575
54
532
645
741
903
915
753
730
896
89
422
678
960
840
198
459
201
981
286
946
414
404
402
967
923
162
759
495
335
371
6
958
103
309
540
522
965
750
648
890
436
459
358
453
549
761
704
583
904
282
351
500
968
282
186
422
236
481
508
615
520
905
937
593
173
105
992
927
473
5
591
53
774
789
385
999
251
467
928
210
258
189
158
474
363
964
593
509
112
138
913
961
444
927
324
375
466
281
211
224
12
609
123
233
956
224
15
16
821
879
63
557
579
453
70
141
897
646
625
151
271
548
759
570
654
59
765
120
196
463
238
702
668
871
139
248
985
891
902
90
2
617
132
728
415
975
483
221
174
499
659
449
267
902
327
191
149
122
877
315
343
134
657
334
948
475
254
285
894
299
871
159
760
806
668
95
934
20
165
168
648
277
457
878
192
187
54
386
233
553
595
127
670
456
569
686
952
711
432
716
71
983
196
245
764
120
652
932
561
675
849
704
416
184
401
729
626
459
434
878
621
93
740
656
986
362
799
83
785
974
852
170
836
398
129
421
117
91
694
290
865
551
72
605
262
986
999
796
834
360
170
148
799
703
822
437
658
886
368
14
234
496
34
846
264
66
674
41
338
660
471
129
700
747
266
740
954
380
628
325
221
891
578
287
628
750
105
200
370
743
204
797
683
339
212
83
264
972
624
206
594
972
410
700
587
56
98
354
784
603
529
203
27
431
243
92
201
426
914
872
143
166
112
489
281
632
949
177
898
207
830
494
179
438
624
169
360
423
65
607
364
298
60
400
284
8
916
413
947
431
193
832
591
989
989
48
362
61
19
447
961
867
734
931
249
27
93
505
43
650
329
357
667
630
188
664
7
821
676
758
993
895
318
416
438
978
288
742
116
612
522
552
807
196
148
215
801
825
102
601
999
362
813
198
328
649
239
460
653
9
324
135
765
558
156
674
279
412
734
812
504
551
257
64
418
982
282
190
906
834
925
661
309
206
537
746
179
903
894
165
815
670
45
153
847
195
370
371
592
922
291
385
430
674
346
276
737
203
17
569
188
20
759
827
414
315
212
175
49
305
433
511
178
136
305
371
88
295
986
244
1
569
378
628
160
790
108
278
238
923
443
906
558
624
907
59
1000
11
82
4
807
244
240
272
711
489
7
898
956
983
196
508
792
181
335
168
988
459
173
269
752
435
628
825
194
705
217
264
140
771
10
130
653
951
542
215
126
334
895
238
148
203
421
610
670
930
136
748
157
989
865
126
544
660
653
488
775
943
761
678
677
425
825
119
667
116
408
283
573
817
203
393
442
140
620
230
775
171
358
139
31
664
814
225
636
789
886
321
957
698
773
494
864
621
905
738
598
747
2
46
590
900
567
207
808
897
850
544
945
522
396
300
506
245
836
499
386
183
513
987
110
303
835
743
253
532
28
743
910
286
70
387
308
876
167
968
760
426
73
723
229
200
928
792
687
700
49
767
306
514
314
611
296
618
307
424
828
811
452
914
77
976
696
448
894
145
140
255
967
701
220
687
647
597
631
438
802
198
250
293
145
161
694
253
504
837
15
883
398
803
264
344
124
473
294
821
258
231
230
40
106
144
496
114
204
123
149
232
374
347
533
607
211
859
959
629
126
533
184
443
232
1000
967
970
426
710
857
989
998
51
687
30
969
305
942
693
154
281
305
504
638
684
164
570
944
592
846
90
694
963
625
284
947
748
323
364
745
11
455
22
604
442
427
272
823
786
246
628
513
2
569
327
209
413
701
694
744
739
300
841
858
620
166
573
647
211
439
768
530
457
977
517
905
923
433
997
9
421
798
395
819
230
775
181
6
395
367
709
46
467
504
416
619
33
338
846
307
572
115
378
459
499
136
789
773
723
407
725
806
699
5
745
145
754
84
863
413
387
674
379
645
381
154
402
809
819
312
632
416
496
429
882
231
824
709
318
69
46
672
604
535
442
846
959
365
290
201
649
706
531
290
570
269
418
991
413
824
989
79
341
860
833
581
246
612
465
38
436
846
597
331
17
912
733
685
354
664
816
844
703
715
96
167
566
408
991
579
312
605
493
889
386
62
584
981
749
730
171
776
272
798
346
665
429
660
92
328
36
301
153
453
742
750
463
909
641
386
383
330
688
870
27
933
568
371
99
595
272
616
15
884
947
961
553
788
481
361
902
334
908
621
798
163
943
762
365
395
870
688
399
785
575
592
81
277
704
696
542
529
829
999
265
878
9
663
39
550
344
565
88
573
923
320
9
14
106
770
381
652
201
535
255
142
429
736
244
50
509
397
599
874
359
352
492
326
135
723
702
692
316
145
41
40
587
956
137
421
66
523
668
977
772
707
726
36
350
237
755
875
721
420
431
797
757
182
939
596
65
903
294
248
668
905
796
908
718
712
207
888
352
424
956
307
476
622
542
563
558
230
301
554
486
688
888
881
166
578
133
852
798
608
433
197
747
435
458
843
446
408
755
972
100
696
785
845
779
659
32
561
112
537
75
5
986
734
960
714
505
3
749
300
37
833
884
368
321
217
882
560
474
765
908
505
215
802
995
927
789
732
21
139
890
391
74
444
318
595
494
732
264
338
725
690
874
368
69
595
181
985
594
636
577
917
717
51
777
114
463
148
574
117
976
454
807
425
650
821
624
945
144
312
533
175
627
56
741
246
846
115
985
327
974
565
360
175
743
631
708
832
96
734
725
529
398
740
291
897
315
506
474
481
582
106
292
363
261
718
597
442
525
228
362
542
678
73
262
36
886
679
681
152
66
162
179
442
473
586
7
177
789
218
490
569
958
639
946
800
539
527
370
825
137
194
257
751
316
672
811
451
470
269
280
686
305
31
280
668
961
464
829
473
306
216
232
121
605
144
113
481
595
365
654
356
959
393
529
247
381
475
130
332
577
570
413
131
237
189
105
183
347
509
67
816
160
730
324
741
999
660
656
784
143
888
646
543
284
720
805
108
423
251
690
320
627
569
972
187
774
101
22
199
235
544
935
292
513
647
836
109
963
363
972
23
100
524
342
134
438
246
571
46
477
737
316
794
216
35
744
726
549
472
514
490
992
361
280
521
443
444
911
619
133
166
529
235
442
723
978
75
52
118
527
521
740
199
442
135
192
733
572
214
413
120
243
970
643
250
555
389
247
375
649
269
657
556
649
228
324
451
723
703
584
712
183
93
496
236
614
239
995
893
768
375
165
95
371
515
22
775
38
30
993
903
234
793
160
682
549
874
441
939
620
202
88
36
706
28
295
845
248
280
236
922
773
112
550
58
121
40
159
803
311
59
318
386
313
56
948
701
619
650
645
677
780
298
235
386
22
158
380
730
633
721
531
373
66
679
492
893
601
823
933
782
981
50
487
12
631
686
467
367
969
438
806
666
824
215
585
248
163
983
360
859
185
578
583
159
327
93
587
588
869
81
963
272
654
270
689
981
903
966
11
870
206
563
930
911
575
870
104
447
865
33
141
274
955
932
517
22
852
812
839
353
248
793
756
721
159
660
590
945
952
966
682
929
473
91
518
170
1
325
937
558
418
467
101
154
380
694
461
242
205
645
653
993
898
781
101
490
22
65
136
684
82
938
593
130
738
370
186
948
405
489
428
555
764
937
516
120
291
614
382
610
138
928
72
529
629
29
716
140
187
719
604
51
714
949
333
521
326
826
527
751
871
66
392
713
845
690
239
797
167
545
164
641
748
939
266
70
970
260
140
952
994
971
902
147
261
767
668
451
708
5
224
574
954
756
632
765
203
926
624
623
639
960
946
39
887
567
271
938
488
763
883
709
398
273
126
761
261
5
504
658
534
871
414
656
624
705
713
302
827
402
705
911
244
705
704
414
828
232
982
37
353
466
820
725
448
404
355
55
753
502
92
614
924
344
306
473
456
205
979
428
252
293
622
152
434
23
80
246
169
56
386
475
157
262
836
121
4
958
707
494
912
966
490
114
998
100
42
984
76
644
829
665
911
295
296
584
827
809
470
105
1
278
58
439
981
586
718
355
717
72
640
35
926
858
264
116
670
609
811
132
848
708
230
102
727
981
360
992
712
125
354
112
316
925
893
314
711
237
310
1000
249
409
504
561
127
533
454
835
674
434
215
588
822
828
496
802
969
411
331
774
807
962
881
657
667
731
103
57
607
455
898
772
747
389
341
562
369
622
777
78
860
772
882
750
923
885
300
453
344
984
40
250
261
256
701
365
82
305
450
816
120
245
862
808
567
668
941
74
658
678
84
841
725
250
333
987
396
154
950
274
350
548
307
217
909
145
47
312
222
550
738
808
960
955
569
195
248
874
136
862
35
56
75
146
198
966
90
141
493
510
911
165
873
755
870
765
779
486
70
490
795
336
554
435
411
97
519
749
736
584
360
853
704
55
249
134
679
787
49
269
424
873
567
114
36
667
557
331
845
618
420
522
216
411
252
659
902
427
742
42
857
560
447
822
409
304
115
404
326
888
85
643
540
914
252
846
299
614
720
12
31
371
82
632
516
576
197
625
821
266
440
679
38
226
682
327
71
403
652
604
586
551
925
997
783
998
514
731
804
298
904
123
471
332
455
854
509
105
253
528
585
78
887
830
287
402
106
894
659
803
14
275
989
205
255
22
374
393
636
932
976
152
781
7
5
357
689
504
196
407
523
744
954
291
569
6
411
285
61
448
326
954
491
937
174
723
89
117
756
711
408
815
373
945
319
95
944
331
263
894
430
952
333
192
604
380
586
89
491
680
3
3
789
684
714
432
186
963
380
380
789
615
150
596
782
639
217
215
66
186
825
295
827
436
481
963
938
184
291
606
608
482
540
591
955
840
114
516
4
563
889
863
188
767
975
247
569
494
576
152
877
158
268
157
928
202
717
191
157
486
192
262
813
407
747
451
803
178
631
698
330
989
292
61
220
26
318
651
278
427
826
456
115
305
67
571
606
908
487
172
578
835
92
718
353
974
707
461
516
496
672
333
627
821
552
664
642
903
701
2
477
617
908
506
499
264
863
990
733
446
922
739
200
627
486
615
145
735
321
825
856
26
318
960
401
302
526
554
898
257
755
461
860
362
694
812
743
270
291
187
86
109
75
884
519
422
210
858
497
759
353
3
798
69
781
894
740
135
838
50
557
244
491
56
596
182
666
582
805
413
69
480
510
15
413
627
601
526
331
141
84
361
738
902
410
883
115
68
101
518
982
406
9
525
821
841
922
183
848
530
392
153
325
189
331
771
554
142
394
812
296
725
172
85
127
306
978
823
172
121
344
446
698
558
403
707
326
293
998
655
973
929
716
86
186
360
15
395
260
127
299
799
327
467
89
934
696
559
393
725
810
744
18
251
576
121
844
48
280
969
4
934
918
932
503
949
608
723
78
481
669
427
985
972
67
101
951
854
192
506
774
547
351
265
897
398
929
637
835
408
918
410
486
508
378
120
238
891
456
915
252
626
792
905
460
363
473
761
636
461
238
672
353
255
291
493
771
527
900
71
965
445
957
290
956
369
791
320
680
980
844
940
889
87
250
564
382
372
965
764
3
28
883
699
603
960
256
807
474
749
832
559
855
69
366
825
743
626
517
660
610
968
713
888
630
712
258
920
632
844
817
637
374
712
405
29
617
308
208
499
177
187
877
402
351
142
389
421
88
357
265
881
842
303
663
901
308
102
873
624
131
393
809
392
248
37
360
841
739
115
909
365
919
773
865
317
963
426
813
582
495
715
767
896
471
393
41
387
117
29
477
335
903
979
116
62
282
627
890
233
443
258
623
542
399
290
415
935
561
784
489
59
330
287
709
596
382
117
270
487
17
110
518
837
397
733
457
469
513
185
268
658
465
810
78
604
6
668
302
542
314
631
103
257
667
701
903
917
5
588
433
791
399
724
499
420
53
28
490
262
827
725
703
610
180
427
671
897
109
526
69
81
887
634
196
886
388
479
716
143
319
167
108
302
993
178
218
494
119
812
457
189
690
54
390
553
235
990
929
136
591
965
890
398
878
661
434
866
534
146
750
468
107
724
446
654
33
130
257
464
718
174
80
629
116
504
816
112
424
487
213
242
637
615
690
739
514
983
132
477
899
585
762
806
461
153
509
579
665
254
722
852
166
179
707
367
893
912
307
506
824
156
682
434
770
927
502
496
592
724
19
768
882
646
847
849
534
130
853
617
608
165
230
672
538
935
704
625
56
854
830
228
170
869
494
567
135
719
87
207
672
559
262
205
586
998
860
378
552
132
356
89
68
581
150
46
489
921
107
341
611
121
48
987
488
771
270
729
37
965
795
800
517
666
737
576
164
242
96
824
62
695
307
307
896
745
92
80
318
565
512
693
509
458
621
887
974
167
799
77
726
845
681
89
792
926
548
146
419
259
217
72
439
929
733
45
1
95
646
987
286
65
222
881
867
540
755
862
122
663
996
927
436
36
867
526
997
374
796
58
653
825
424
528
642
280
989
249
11
183
371
456
183
465
644
156
446
203
5
363
107
547
109
98
667
254
160
196
667
897
603
988
765
461
890
423
218
541
585
9
183
841
37
277
149
984
932
95
372
931
330
292
411
435
183
504
723
52
913
59
812
187
381
47
601
543
433
374
557
119
272
770
565
602
108
210
736
586
884
131
109
582
390
186
708
152
758
988
499
862
139
456
606
937
352
936
551
656
444
195
398
544
374
799
408
369
489
109
228
808
88
332
684
370
100
650
990
872
837
421
517
289
878
850
335
298
317
346
396
204
63
955
580
231
371
903
825
336
509
295
209
836
318
429
160
101
431
45
946
507
88
36
209
654
811
823
587
571
682
617
413
263
607
289
52
496
734
393
703
150
164
176
380
828
176
93
361
649
465
418
598
342
302
26
458
789
120
326
691
163
723
634
715
687
244
957
126
818
4
299
867
339
604
119
627
488
992
464
844
689
690
692
173
927
105
376
380
82
608
176
417
786
107
988
858
470
924
650
979
349
128
838
485
975
873
575
334
898
964
933
122
682
560
97
238
208
912
961
364
769
59
799
910
906
665
374
684
345
553
58
412
679
42
128
734
593
901
448
957
584
562
162
140
100
290
855
79
922
138
886
354
479
855
231
888
443
414
243
419
647
419
169
852
850
504
154
712
363
737
718
837
849
164
371
997
913
911
115
330
230
652
71
388
27
839
365
82
725
820
714
29
413
870
839
611
614
175
986
593
508
45
313
269
342
957
861
920
319
571
137
852
606
491
99
383
459
428
446
931
681
327
717
809
744
243
593
383
951
953
241
46
970
838
232
819
888
84
794
488
724
87
729
866
974
813
303
171
345
979
820
520
300
124
401
239
410
36
689
9
828
558
804
889
334
471
916
890
561
34
222
105
973
747
928
330
97
105
108
787
326
405
927
776
322
162
790
79
705
338
429
473
214
361
787
5
993
879
870
544
10
291
363
724
836
360
937
571
216
645
621
2
901
34
555
909
196
432
682
718
554
506
712
163
339
473
752
501
567
65
536
562
32
229
133
821
733
562
307
162
933
207
473
112
480
730
332
103
277
478
802
774
869
90
852
372
214
70
171
121
576
841
415
769
401
258
921
617
721
361
376
55
352
19
907
972
671
249
473
464
274
175
211
941
159
11
631
54
384
985
146
904
352
815
437
596
938
220
618
554
721
947
950
959
467
973
124
283
825
863
780
204
955
741
951
89
379
986
612
831
951
532
372
96
216
634
587
899
843
30
897
18
4
735
238
971
798
80
869
130
835
215
888
91
92
15
955
611
46
207
696
245
826
596
354
316
891
469
772
28
264
578
740
309
918
674
37
455
282
180
272
763
172
441
759
135
667
974
199
25
587
266
936
264
252
964
873
958
173
759
949
143
125
871
215
873
872
797
168
171
405
901
944
641
186
526
434
535
316
503
104
819
949
335
591
37
559
905
702
861
849
194
490
780
202
429
508
764
566
17
157
659
594
864
312
709
646
929
27
872
34
416
187
549
459
588
439
900
181
7
570
216
869
962
813
672
445
929
198
380
477
189
175
864
855
143
212
941
535
435
971
546
122
730
971
192
921
880
337
627
915
258
380
725
761
230
244
811
558
103
785
426
582
402
216
17
657
975
730
124
95
281
521
473
390
179
131
742
984
675
28
940
439
380
675
18
303
889
147
772
818
883
473
146
347
538
537
767
75
712
292
894
118
510
492
25
605
991
903
57
740
221
202
260
70
411
352
309
439
543
293
274
158
797
193
790
955
67
340
560
173
35
8
21
493
594
265
226
192
902
735
963
581
978
807
715
778
539
626
308
450
744
481
4
483
610
883
341
788
108
706
268
643
410
257
948
998
291
27
190
185
434
187
595
312
293
606
390
450
182
254
385
373
488
413
676
253
226
18
491
159
719
784
68
693
795
534
572
347
765
273
813
425
409
92
3
501
328
988
839
401
328
990
979
671
946
814
358
305
830
387
857
292
460
218
577
187
597
536
288
479
945
550
723
13
723
953
995
85
238
26
833
137
110
309
259
146
460
802
30
928
284
120
464
556
187
838
224
28
885
506
268
105
146
458
461
7
364
597
239
234
595
790
369
371
643
370
34
117
781
516
409
188
771
969
461
944
108
592
886
800
843
820
1
504
924
889
933
375
687
82
611
449
67
904
924
279
107
229
917
832
554
982
12
505
695
834
100
805
81
732
766
652
480
835
75
561
201
536
99
195
929
847
793
921
343
353
960
18
80
311
735
140
64
241
476
476
822
544
955
826
172
246
522
441
588
971
221
68
619
627
912
103
983
115
121
141
311
551
676
489
119
121
191
408
218
713
121
952
676
881
399
264
448
545
649
112
948
58
589
261
163
933
516
995
417
549
687
753
485
639
17
345
597
210
770
692
790
828
773
361
186
864
327
425
38
395
106
343
793
924
293
619
19
9
686
977
747
155
681
659
681
56
930
257
781
394
907
155
909
892
829
287
584
273
130
400
426
105
198
429
510
238
193
907
691
694
519
564
953
430
999
381
943
339
860
429
169
217
396
737
795
210
573
290
544
427
915
41
12
960
707
420
602
598
929
469
364
853
377
132
255
775
81
660
722
190
518
356
71
666
49
70
754
462
744
987
583
216
984
195
904
904
267
509
895
874
213
771
522
383
81
618
127
137
20
321
300
781
872
837
443
142
608
654
409
320
355
370
703
377
555
187
977
477
1000
671
996
799
359
197
805
451
354
468
574
924
902
372
470
315
415
243
969
670
908
269
200
321
759
390
291
21
734
549
173
998
391
547
999
807
75
92
131
996
509
839
649
149
411
363
460
836
659
24
394
367
287
648
113
993
968
775
258
415
743
3
50
999
421
587
447
128
493
55
56
476
395
49
223
836
672
995
109
287
898
474
110
158
244
393
676
223
216
107
441
7
388
691
588
914
945
433
537
124
460
486
389
863
590
279
9
677
356
972
299
821
207
743
984
743
358
148
195
881
783
151
245
706
788
657
237
5
324
559
578
885
72
376
55
892
840
518
827
931
23
112
626
362
699
100
445
811
439
14
245
690
57
423
539
410
346
579
221
557
302
159
702
65
461
355
212
556
754
769
131
578
723
700
330
411
34
449
815
505
948
221
408
350
852
23
800
783
971
752
89
305
138
283
817
978
831
982
615
856
745
496
773
724
845
94
468
107
166
84
892
142
654
44
262
911
979
705
513
285
557
315
517
120
986
226
820
932
741
290
226
795
225
324
29
254
216
587
348
539
353
709
786
173
543
975
623
392
61
204
812
451
699
735
360
946
521
166
53
828
648
583
85
626
44
991
867
734
446
505
198
302
412
698
998
403
984
139
30
656
597
811
377
417
675
542
952
982
827
49
9
992
685
477
417
352
184
547
466
565
532
572
96
309
221
605
753
458
138
965
489
530
288
197
581
699
662
301
661
119
518
731
294
274
705
193
4
467
700
805
989
385
704
509
150
847
479
933
588
495
618
105
457
178
595
490
883
223
216
856
688
623
123
362
831
384
560
104
790
961
916
40
604
727
522
896
917
894
702
141
179
174
402
601
87
722
561
601
476
602
989
799
120
68
716
27
322
483
642
528
756
559
864
940
752
916
227
275
88
669
489
908
428
868
993
306
711
118
880
796
179
663
711
211
230
523
793
629
951
26
668
770
25
224
976
807
669
227
339
509
410
450
18
649
795
136
829
552
585
272
211
523
588
229
406
638
32
988
403
32
348
851
715
418
231
899
30
3
156
285
506
386
862
628
805
272
879
431
947
68
876
416
747
488
464
143
868
325
81
74
530
445
792
521
507
886
131
512
339
659
600
722
602
477
86
19
707
196
253
73
893
152
900
730
31
978
387
548
387
695
522
942
720
60
672
914
951
209
474
213
193
614
243
77
75
243
60
423
180
611
550
458
882
87
611
213
26
439
645
419
722
85
399
483
963
943
193
63
923
85
107
878
556
624
707
951
547
388
26
434
781
990
788
530
209
811
345
804
429
299
381
334
319
722
198
758
821
168
336
250
305
172
348
855
3
809
759
410
663
472
668
498
922
856
960
493
914
835
803
758
243
43
992
509
795
957
654
677
809
206
64
344
268
629
593
960
916
352
332
638
186
758
537
226
878
787
864
778
686
415
295
263
589
540
770
72
650
748
805
940
27
562
781
391
814
909
186
722
924
451
801
840
353
330
729
950
42
688
189
259
33
966
225
316
776
618
798
596
252
387
285
215
34
664
41
458
555
810
529
886
596
518
498
397
463
437
808
534
425
296
843
717
684
736
835
844
621
887
100
869
50
488
885
576
984
1
503
722
756
758
450
153
385
632
483
268
737
111
990
433
416
946
539
560
258
721
191
74
11
817
30
933
56
212
351
187
2
509
144
810
617
362
813
183
819
234
568
642
409
15
564
4
786
584
629
783
170
837
423
158
724
60
923
354
564
752
435
238
817
208
712
393
807
199
385
838
943
83
585
846
76
555
569
64
940
29
185
190
793
337
214
44
497
28
989
753
126
63
195
126
639
94
435
23
259
865
952
681
13
451
906
492
298
230
725
701
426
485
333
855
873
480
540
598
338
719
454
587
772
845
555
893
289
272
983
224
194
263
677
724
436
576
214
885
448
248
604
333
685
307
836
840
185
450
660
974
102
788
964
172
490
772
95
910
582
346
670
838
418
151
723
422
965
364
525
675
806
373
62
16
61
8
926
162
446
528
353
241
300
875
223
967
943
977
112
809
955
56
917
608
852
934
108
923
138
335
457
759
913
36
912
5
52
525
389
3
477
506
409
251
173
181
891
96
446
781
919
672
343
167
957
27
319
710
828
562
975
825
750
437
165
692
853
565
818
735
895
186
613
357
366
761
4
292
732
134
190
672
396
461
318
603
795
423
582
561
213
614
917
437
38
812
665
425
644
28
934
210
585
880
366
160
503
808
688
252
7
129
714
543
789
705
459
841
414
299
629
98
549
283
18
742
870
446
319
804
536
104
392
237
900
572
334
259
76
329
551
893
117
881
629
168
769
434
988
542
235
931
207
257
936
955
391
224
977
263
187
990
944
440
864
76
666
284
362
689
810
31
415
407
506
475
593
934
727
365
650
444
824
201
613
340
405
693
895
488
796
700
81
94
373
429
198
475
428
34
956
845
635
520
914
171
797
54
534
826
330
333
837
495
848
692
727
312
285
984
83
703
241
115
412
782
600
273
178
431
31
554
939
397
677
665
65
824
196
850
121
655
320
981
975
245
288
28
295
341
810
737
391
308
719
434
291
130
97
287
530
205
454
256
370
460
499
224
84
589
133
462
492
540
567
690
152
482
894
464
474
595
992
528
580
958
406
60
874
732
707
462
170
584
892
451
695
16
586
718
452
854
157
384
226
640
371
763
993
118
890
729
609
286
726
100
432
726
763
23
967
59
574
276
718
390
92
807
169
580
90
548
235
990
85
784
563
135
12
865
796
329
938
113
273
962
164
108
687
553
309
384
868
59
318
750
244
249
932
72
507
120
812
372
648
433
394
530
885
461
556
702
910
942
342
813
556
53
321
117
241
949
641
890
468
21
460
759
282
599
256
38
803
225
448
723
876
3
869
471
433
784
901
959
362
72
507
519
594
663
945
848
584
940
706
876
603
676
102
593
76
955
958
754
686
525
76
884
139
485
496
966
282
737
83
482
743
12
649
256
363
615
626
675
494
272
316
415
646
554
852
764
91
421
313
995
736
360
892
9
8
449
610
658
568
402
827
714
330
366
748
478
710
745
166
376
980
861
928
730
362
595
1
68
766
450
560
977
138
699
205
496
978
328
289
506
958
538
346
381
474
442
761
404
639
446
189
123
475
491
653
836
2
998
949
893
518
862
738
323
600
307
671
607
280
745
1
64
377
64
396
424
223
888
79
614
851
461
7
735
275
762
537
455
655
334
885
780
997
104
766
277
512
166
786
340
949
83
498
6
976
791
579
184
205
577
232
884
526
929
734
174
234
299
75
159
845
900
707
229
593
762
776
172
356
144
623
556
144
315
960
905
363
403
889
838
760
747
850
283
364
677
650
289
709
192
984
781
378
325
208
763
189
323
698
145
366
914
822
344
715
76
395
265
69
688
519
83
316
390
871
507
864
764
815
817
745
703
223
63
446
427
495
238
165
191
92
103
444
120
831
649
16
991
281
794
280
19
910
70
20
886
998
477
866
276
935
626
524
212
263
563
967
318
667
395
656
948
231
939
316
801
391
139
980
247
463
937
803
89
55
587
619
896
406
174
337
370
474
217
56
422
608
806
194
763
748
681
54
864
432
995
945
54
280
331
427
423
297
651
293
887
48
499
590
493
702
734
404
565
19
466
118
803
566
689
555
786
856
297
765
664
644
785
193
958
299
962
642
558
48
434
727
934
888
426
517
555
133
786
640
292
895
626
451
297
269
133
756
525
632
517
211
539
275
951
733
742
512
611
182
484
533
607
128
760
531
683
726
402
42
43
605
681
29
569
200
268
943
986
128
337
919
241
88
408
281
488
205
202
737
569
951
395
18
836
535
642
188
459
158
680
578
144
627
611
64
288
606
698
431
179
228
159
689
810
869
430
493
204
633
370
283
965
513
676
362
914
232
578
882
258
508
504
652
747
840
998
721
639
949
643
958
126
683
112
215
59
560
772
205
437
85
434
940
135
664
976
414
791
218
524
247
579
594
841
148
863
470
346
419
342
741
928
159
378
293
356
503
634
703
612
5
23
580
910
218
244
242
535
660
847
930
872
578
851
996
151
378
454
373
534
133
229
167
100
342
531
380
199
966
545
635
411
856
509
254
53
838
162
203
759
113
426
222
184
137
620
932
273
791
271
817
864
514
735
780
629
14
370
382
452
351
981
988
422
434
620
769
535
469
580
930
42
466
612
581
172
702
980
387
562
934
942
523
355
246
652
440
356
649
282
705
35
916
365
445
451
705
977
974
356
718
386
808
847
481
254
605
930
369
262
497
280
653
319
946
283
669
121
507
192
711
903
821
835
858
667
748
873
763
58
816
20
369
289
37
24
636
252
729
413
603
965
172
229
558
63
815
981
635
883
288
73
919
23
619
812
989
961
951
891
911
417
503
949
875
685
699
392
26
77
193
175
543
940
983
644
728
488
920
878
630
772
721
158
775
743
997
355
660
237
923
53
992
151
913
153
93
784
78
561
500
554
269
341
551
830
287
326
669
651
143
797
130
466
326
275
327
870
719
886
943
458
104
12
977
612
257
149
275
980
225
6
62
892
734
847
11
748
611
32
522
692
748
492
223
482
392
628
195
579
507
724
52
872
513
538
793
377
986
134
307
475
777
395
515
956
593
917
390
216
278
112
523
427
918
452
467
423
421
742
839
312
393
182
26
570
998
784
410
461
958
396
202
147
25
163
357
801
56
795
528
345
288
397
706
188
538
937
11
476
819
668
83
931
317
929
651
296
745
793
168
783
846
989
831
677
228
335
926
449
755
728
200
277
450
337
868
910
233
273
951
156
842
427
877
123
976
596
637
507
29
269
369
883
798
651
922
919
184
606
796
915
224
194
912
862
758
389
770
478
652
401
952
310
784
717
328
52
920
633
47
682
222
581
103
887
351
971
291
520
46
662
422
488
620
388
951
597
25
654
602
315
10
665
106
357
423
856
964
264
905
411
973
880
48
31
332
724
590
810
337
795
388
757
33
259
696
951
695
809
761
762
683
221
866
859
51
787
710
988
256
839
489
585
463
555
85
366
225
590
560
969
777
848
526
537
785
897
25
951
157
89
302
16
428
467
165
521
333
911
715
533
389
793
879
694
696
608
521
540
742
664
928
107
639
945
80
117
149
681
476
113
789
979
191
774
547
133
522
473
21
854
817
883
281
736
34
22
411
704
162
726
461
76
889
913
499
133
798
406
558
774
934
308
534
905
807
90
511
701
758
624
570
804
146
354
857
769
11
704
581
825
683
580
669
121
338
520
971
116
618
678
307
756
276
272
129
359
248
601
254
896
688
2
936
512
278
388
565
642
562
81
344
85
133
752
689
725
267
180
444
374
986
406
691
398
594
601
657
338
456
661
134
775
153
59
943
32
174
4
149
156
986
305
176
785
693
651
466
160
440
178
76
539
428
327
409
693
667
971
343
28
599
737
141
67
312
208
890
725
375
492
672
816
227
199
319
726
678
457
400
14
294
3
29
11
361
773
203
135
690
628
614
735
704
37
354
768
173
617
424
501
443
370
779
735
219
363
457
768
793
382
425
400
103
766
962
835
165
249
754
243
239
112
397
73
531
404
649
979
380
258
649
320
654
580
227
785
490
525
646
636
639
184
348
426
393
872
763
823
499
248
834
344
504
244
667
397
707
454
659
996
253
198
490
938
941
943
647
5
8
157
486
986
464
930
429
913
597
934
550
922
866
339
692
600
755
358
257
488
107
959
978
652
69
139
312
900
85
852
570
248
277
322
552
710
174
9
214
356
972
945
898
840
435
481
706
285
69
776
901
487
478
488
623
908
603
220
776
795
158
228
696
92
692
786
66
494
580
393
616
141
756
698
337
918
105
606
278
315
306
545
545
82
325
294
740
695
908
55
963
746
216
719
413
984
131
373
829
634
912
151
254
15
578
453
87
249
823
439
977
24
327
419
888
940
37
454
564
1
358
29
731
159
239
148
570
654
808
573
395
89
566
211
28
795
126
854
48
53
152
576
936
195
473
86
193
389
272
251
622
216
930
840
333
722
326
215
496
758
370
394
497
795
114
374
961
339
51
104
40
297
90
811
497
337
283
652
335
362
577
818
197
720
739
296
278
652
138
448
270
789
245
473
727
221
554
575
272
761
130
377
293
570
131
705
106
214
475
374
103
569
281
22
34
725
830
358
448
187
588
401
243
226
244
430
458
182
822
397
719
894
681
493
183
200
591
418
462
622
163
638
749
943
612
601
296
367
206
433
464
341
784
107
807
939
403
477
25
897
539
833
174
10
219
832
225
632
170
779
908
417
334
193
797
317
87
556
774
45
122
917
295
896
220
773
419
843
91
271
150
297
22
298
461
783
369
506
310
47
770
614
77
798
570
631
87
361
136
783
344
10
614
992
124
647
224
739
864
798
348
21
618
589
535
894
436
504
28
777
195
233
563
321
791
828
23
121
81
768
984
967
676
211
293
667
467
907
644
667
785
767
492
849
206
59
796
921
321
551
776
725
242
709
309
695
204
218
639
386
414
686
780
714
192
382
373
76
532
245
791
1
447
217
965
391
858
139
732
639
290
99
535
171
407
97
922
2
197
352
630
939
695
404
980
942
273
383
963
14
832
490
638
663
758
769
430
654
110
710
481
282
297
92
484
839
481
743
291
306
24
570
197
560
560
289
970
517
718
794
600
742
56
975
254
2
543
110
121
127
773
666
652
322
161
453
215
780
577
590
339
43
210
689
506
34
973
963
954
142
449
750
37
20
177
32
501
997
62
135
443
133
852
722
824
977
900
555
151
42
871
300
352
846
692
787
913
124
776
747
78
494
476
38
277
409
820
745
974
705
778
362
817
435
729
472
304
978
313
933
198
585
588
625
535
622
218
230
430
808
495
339
812
612
97
434
863
812
874
940
198
962
385
575
782
96
585
702
135
583
815
251
667
450
246
30
840
874
992
951
459
762
389
751
582
534
361
295
409
266
356
440
64
334
71
735
342
586
80
948
344
833
515
519
424
183
143
565
22
280
567
975
758
84
750
493
645
186
774
399
390
989
528
553
526
317
41
128
566
130
281
303
451
72
556
559
311
498
96
987
969
515
993
200
667
284
460
9
223
519
259
39
177
672
260
828
542
784
290
772
436
327
831
480
225
704
691
716
800
199
429
133
257
329
214
427
583
510
786
359
881
895
360
357
322
26
643
44
264
691
620
69
942
997
387
121
686
211
122
830
907
350
215
540
976
868
708
635
681
30
439
155
159
728
704
944
96
571
852
464
487
21
911
706
439
289
288
356
360
410
579
450
353
691
764
318
796
256
389
510
890
966
869
747
447
370
709
673
274
683
266
327
333
992
645
814
236
42
484
612
787
971
654
298
978
307
363
273
280
412
748
224
116
274
822
655
120
248
539
794
172
889
827
598
199
496
672
365
452
387
716
673
272
175
386
986
395
552
262
278
456
132
249
464
714
974
138
254
918
253
313
272
931
409
656
964
949
811
232
829
112
604
938
990
895
932
91
981
907
210
918
895
633
410
977
711
214
633
807
711
570
375
565
381
56
949
916
81
353
544
228
76
493
230
997
240
757
38
445
824
667
921
482
249
467
15
531
763
293
98
265
166
681
596
950
544
200
748
929
71
782
831
743
532
728
416
560
136
497
691
823
592
88
847
537
148
280
316
171
520
1000
474
950
170
857
22
204
421
202
870
538
271
151
793
813
577
650
529
287
488
34
255
872
614
505
589
89
453
627
358
214
9
228
356
104
367
87
275
347
253
371
748
723
226
111
230
444
204
894
15
262
508
584
267
353
440
87
361
806
707
113
185
676
663
439
315
823
429
373
127
149
453
24
978
462
940
487
573
887
918
241
499
668
374
905
707
220
54
994
403
507
1000
462
416
171
849
636
623
356
243
607
392
832
442
270
364
849
371
980
87
157
892
223
147
713
39
808
506
951
342
794
654
901
94
832
73
56
645
590
238
665
341
707
58
27
747
49
211
457
179
97
318
803
368
967
269
808
289
908
310
136
804
120
671
578
795
382
651
826
873
309
36
218
590
990
682
990
337
416
868
950
723
355
793
925
315
295
176
994
52
635
491
307
524
582
796
244
577
93
448
759
372
764
291
46
122
806
19
50
214
77
524
951
305
716
974
453
325
71
286
616
961
479
414
21
385
931
574
216
449
833
138
812
528
866
405
42
521
417
919
324
256
177
251
154
675
281
452
658
773
805
483
255
160
505
944
192
532
464
427
157
81
673
595
767
53
682
894
516
257
127
457
672
306
334
296
689
768
235
405
931
217
493
721
898
365
102
214
678
92
691
567
67
177
457
971
626
15
916
615
993
370
661
324
906
514
928
630
735
708
36
291
797
51
725
881
371
176
988
635
111
135
244
169
521
94
620
21
256
113
627
250
268
406
796
466
248
928
632
737
386
54
859
802
189
411
26
877
13
629
467
158
979
895
38
787
160
714
250
674
285
205
208
35
703
599
239
968
37
332
205
660
764
294
288
64
967
326
459
15
602
16
935
787
961
232
682
27
428
569
412
863
247
92
604
744
787
309
760
196
688
340
521
294
385
596
259
84
689
121
472
596
532
936
631
346
510
348
139
459
565
212
712
599
981
538
790
920
927
704
570
181
899
737
861
931
770
802
253
457
632
73
998
773
241
609
643
484
686
757
640
796
842
837
114
293
270
557
493
356
512
695
950
259
112
66
448
55
314
678
734
308
62
311
800
660
888
434
166
944
238
495
845
303
53
153
9
338
742
933
166
824
202
123
133
958
217
474
227
382
394
406
848
499
755
972
76
687
279
800
3
74
936
590
248
472
253
507
531
925
13
5
209
62
490
188
431
134
512
799
912
159
739
339
362
75
766
602
301
205
41
144
322
587
158
776
849
940
747
252
126
128
83
692
449
1000
498
140
620
363
910
912
262
703
43
989
853
964
451
813
330
345
54
259
661
579
718
458
53
653
332
375
368
221
982
771
855
245
32
210
563
574
399
308
622
199
825
283
157
933
737
180
744
120
126
859
180
784
954
931
842
295
782
364
26
258
664
407
521
810
881
793
96
939
749
946
711
743
551
52
59
780
644
403
450
790
915
384
172
97
58
842
179
947
591
332
383
896
156
932
881
97
371
889
153
11
469
342
652
632
989
783
231
789
52
700
531
459
114
60
811
326
658
910
671
11
959
389
802
473
948
870
188
129
165
779
151
110
16
907
264
915
832
617
430
431
725
472
341
935
871
210
160
213
653
887
481
378
35
266
545
328
645
217
236
29
315
968
614
964
252
540
596
180
557
590
941
310
580
194
857
841
468
813
427
692
297
778
490
847
403
182
839
382
855
971
335
753
567
362
59
591
155
467
711
604
539
136
261
369
206
580
277
963
249
314
468
403
530
304
705
793
821
972
192
960
343
908
530
72
907
707
120
444
773
334
726
242
418
833
52
333
639
976
865
864
796
682
543
455
561
620
923
89
215
454
965
864
420
612
82
803
368
274
934
792
434
546
96
572
714
397
327
416
377
22
55
735
354
722
320
439
701
278
640
269
914
56
183
706
589
752
186
290
78
792
765
362
204
858
149
294
686
933
893
267
655
549
797
505
511
632
131
688
448
448
214
954
137
683
609
475
445
611
945
136
565
631
887
224
595
217
876
365
453
428
46
172
963
735
156
195
122
814
474
796
819
376
275
516
740
843
57
364
818
863
597
182
306
240
714
932
524
851
961
301
351
504
509
503
816
511
160
528
487
934
774
371
930
107
387
999
199
17
960
850
164
605
985
744
530
829
179
907
517
612
75
716
555
407
631
421
779
206
898
780
777
232
380
59
835
448
958
286
849
281
188
14
220
630
283
88
270
306
364
81
173
565
404
120
938
261
821
821
730
461
872
892
712
77
826
797
602
183
403
523
379
181
118
117
890
960
969
167
664
457
380
777
867
831
442
958
184
563
249
537
387
373
592
823
486
784
333
331
653
540
551
780
564
851
945
428
396
623
48
597
507
387
498
853
710
673
23
909
159
927
781
791
76
906
427
156
946
668
567
977
342
906
312
977
261
387
256
296
675
678
526
895
55
200
527
86
758
845
608
424
519
87
177
891
753
538
701
958
17
354
636
635
789
795
584
50
642
468
843
477
17
499
135
954
71
934
443
815
468
173
822
528
577
138
529
184
269
167
44
883
379
340
357
49
966
60
414
370
689
232
772
709
968
299
302
777
133
747
274
819
406
404
239
856
417
37
956
255
900
267
991
531
395
803
749
322
25
362
413
411
928
392
700
536
473
910
381
461
182
350
223
464
208
292
419
951
256
349
546
377
109
285
829
52
285
660
796
680
884
885
412
673
423
612
445
385
269
810
116
425
327
694
55
88
785
943
195
810
62
243
549
211
571
300
696
3
558
879
449
480
63
302
377
843
12
130
798
890
536
404
376
891
892
903
719
636
781
400
206
670
417
741
816
759
441
926
928
457
680
35
878
478
759
988
570
225
798
627
596
467
786
551
118
621
722
458
236
550
284
488
686
63
628
213
496
558
876
459
663
355
12
123
984
336
187
492
955
399
886
349
34
140
14
339
619
889
733
630
823
906
781
906
499
101
98
127
977
136
807
290
684
118
977
616
147
392
159
245
867
144
376
482
239
617
90
121
943
724
713
172
274
802
365
563
426
22
933
43
75
712
957
549
520
499
491
775
233
665
916
534
918
609
598
772
79
612
407
784
671
380
377
243
593
998
197
174
700
988
810
861
480
142
110
15
793
689
640
207
853
123
215
710
158
728
605
399
239
424
774
285
869
76
664
601
871
798
213
95
793
124
92
318
449
121
637
266
822
678
607
677
859
194
658
660
489
890
911
96
533
759
564
425
315
974
293
34
415
194
79
421
451
814
189
737
745
637
262
84
462
857
846
167
110
529
279
520
324
862
477
522
472
809
106
879
972
408
562
43
131
248
402
320
982
247
177
22
832
664
83
107
213
877
513
185
467
13
372
640
498
951
957
887
82
572
337
474
710
372
401
783
152
734
186
630
789
206
657
904
317
121
844
733
562
755
138
324
53
30
578
801
432
428
180
821
974
432
688
717
284
246
673
239
717
24
542
692
162
116
873
442
639
62
456
272
583
230
555
71
758
974
217
683
540
196
895
496
655
981
240
574
550
777
728
665
304
227
644
451
306
337
74
766
19
137
764
352
786
367
78
871
990
14
871
576
893
708
756
1000
102
97
111
497
947
316
202
272
6
573
939
786
634
707
132
77
645
282
572
571
219
420
928
431
687
104
216
350
128
135
565
958
576
266
105
705
216
294
69
156
164
55
605
111
299
337
400
892
117
677
910
399
808
931
910
283
563
246
106
669
613
789
759
403
691
160
610
708
372
955
944
484
246
316
255
207
984
655
831
541
139
942
556
332
966
91
337
591
620
7
907
457
852
787
148
901
728
460
737
90
934
338
635
934
976
782
900
318
934
698
344
917
465
588
807
298
434
347
211
213
899
273
75
613
153
974
908
920
207
933
722
535
392
511
944
373
714
57
156
492
244
659
430
471
84
720
498
306
383
255
647
11
488
272
998
980
533
88
818
455
702
757
569
103
935
44
719
795
87
556
699
169
396
679
25
457
669
982
274
352
762
587
550
407
773
828
71
556
885
183
748
895
907
94
944
764
421
753
153
504
867
392
977
23
43
891
622
433
268
761
111
573
896
692
543
196
946
879
31
963
383
296
401
153
956
917
323
172
605
668
342
550
105
518
164
53
47
714
630
6
243
636
82
647
336
95
142
604
759
238
543
165
147
364
300
29
990
87
385
695
608
277
82
413
505
110
371
926
766
398
996
829
466
79
384
449
956
361
185
599
527
606
30
426
154
397
30
840
972
675
660
690
645
997
920
936
58
208
103
563
586
817
64
849
760
403
605
954
304
197
507
447
387
833
755
535
400
895
723
288
758
537
424
37
995
912
459
515
921
602
969
983
711
513
691
802
592
965
244
391
198
808
866
526
798
433
159
266
305
515
802
581
411
142
842
915
228
752
909
524
546
970
635
394
199
988
612
964
14
616
482
644
575
506
123
383
300
346
439
96
384
993
966
809
772
646
367
827
674
125
888
9
62
268
38
534
244
255
51
143
857
398
204
906
592
566
666
46
518
950
384
169
148
312
434
564
271
217
384
883
151
999
472
618
902
363
838
260
719
622
591
930
172
496
269
585
971
330
86
578
414
325
454
515
275
120
428
809
4
610
104
325
938
430
501
786
684
923
131
388
954
742
283
196
925
442
29
453
603
566
109
894
794
764
121
512
11
399
919
6
41
991
713
308
997
549
127
169
343
558
406
788
781
909
11
835
934
557
99
55
389
75
764
816
65
537
441
606
839
387
610
485
999
15
763
927
447
789
618
332
506
202
751
722
813
595
109
767
69
661
382
355
346
543
819
381
237
903
898
273
388
742
182
65
857
150
822
494
287
369
408
678
128
754
311
435
982
249
225
179
686
13
335
645
951
654
451
406
176
373
478
236
592
964
776
927
26
251
367
69
373
25
400
638
368
965
999
996
327
340
431
27
327
520
490
697
743
441
178
293
115
224
9
932
104
65
738
738
662
387
930
237
637
990
518
101
719
577
453
388
29
651
592
780
657
181
227
167
167
894
30
92
404
258
739
227
954
483
605
19
238
915
492
135
564
225
508
104
389
708
240
852
698
821
977
420
660
793
792
243
678
818
980
808
516
818
171
383
462
258
346
773
358
805
133
732
914
904
990
758
930
492
319
473
905
142
127
686
78
895
569
557
86
938
621
959
303
52
147
270
402
446
849
350
826
217
921
359
698
143
758
444
119
966
749
24
975
601
966
571
106
971
601
331
155
256
88
391
499
419
179
837
407
787
665
574
965
323
63
482
396
981
337
237
87
206
641
58
18
175
164
72
334
902
357
786
454
656
243
333
477
460
35
824
634
629
991
114
178
386
299
736
438
613
777
597
699
717
374
244
216
372
757
187
938
663
758
789
452
762
92
708
251
805
566
729
675
93
915
105
775
82
547
201
923
870
713
301
184
71
47
963
360
30
6
157
123
277
441
763
870
47
469
694
736
438
796
25
718
493
899
23
31
79
796
928
592
950
660
629
16
793
191
147
636
358
512
969
817
10
287
834
279
182
960
531
246
210
251
624
956
5
525
801
511
856
257
721
56
403
568
795
41
500
724
366
663
227
582
99
611
825
184
240
946
650
81
582
254
599
545
594
252
585
480
209
632
784
754
164
264
358
624
639
859
285
159
177
774
722
845
514
954
82
54
982
934
598
703
641
395
726
207
124
47
141
798
470
482
449
372
899
232
8
303
552
455
362
67
707
556
928
110
912
591
487
118
725
454
945
728
497
723
617
771
740
521
947
344
133
888
228
351
155
13
337
670
668
75
946
777
496
638
977
486
225
261
292
422
954
458
740
21
737
212
713
105
772
6
317
561
198
736
112
232
525
922
108
929
296
361
396
341
593
721
343
743
363
635
748
601
378
493
765
580
812
513
636
997
68
648
521
451
486
531
784
252
995
11
88
230
604
726
601
739
888
870
384
930
213
510
801
906
581
794
394
968
341
961
200
982
962
313
954
823
262
223
941
992
222
788
534
719
555
987
616
337
709
47
137
234
885
252
44
470
927
638
697
987
676
825
675
432
487
756
557
774
104
267
873
268
66
195
920
835
89
244
552
593
663
898
363
99
209
487
919
831
711
939
801
604
707
817
298
886
842
25
483
434
30
945
286
282
361
833
924
868
561
11
713
22
723
789
839
588
480
46
164
701
567
99
490
131
922
845
36
632
111
124
19
953
865
933
376
12
950
429
655
758
423
591
983
395
570
93
902
996
462
152
516
988
116
105
69
650
721
21
600
541
223
927
751
738
869
116
159
862
960
565
136
148
160
714
465
204
188
724
245
717
626
870
660
64
872
878
464
688
970
909
707
151
171
337
987
948
602
658
38
555
331
652
36
683
473
409
368
366
697
926
957
359
653
792
429
289
396
872
580
148
815
37
592
999
480
697
425
228
52
317
637
278
594
151
650
565
715
140
145
182
452
306
823
102
181
984
254
778
697
922
910
481
737
648
771
203
919
451
71
701
5
14
871
81
900
45
132
352
576
181
878
547
378
123
862
320
799
176
865
425
887
344
391
116
868
707
55
298
467
55
406
207
665
651
272
517
298
568
976
12
16
250
921
405
564
823
124
441
296
208
240
169
85
282
506
135
542
154
811
314
532
141
809
791
529
176
565
545
265
176
746
225
450
387
784
458
103
823
734
63
157
717
808
521
568
308
645
201
114
409
475
115
414
923
225
441
509
902
494
666
480
769
61
931
183
81
269
126
181
552
185
314
311
84
895
326
176
270
711
735
11
129
316
978
22
864
81
84
302
75
893
328
856
165
820
136
96
657
865
751
421
731
882
474
131
623
427
792
966
390
975
341
48
211
447
427
839
581
458
816
14
689
18
565
818
829
691
963
575
898
375
61
471
917
936
832
672
26
881
756
111
613
182
483
984
47
88
317
140
11
509
399
29
556
116
895
830
837
838
950
704
931
815
870
847
279
208
805
180
54
481
202
60
206
910
415
332
30
82
165
454
821
126
994
136
623
252
466
174
108
904
609
693
353
543
43
22
645
604
298
829
480
654
40
936
608
175
353
422
307
650
734
283
66
865
156
897
536
388
449
979
875
240
218
565
613
650
702
768
778
618
323
725
280
726
116
192
526
285
906
703
785
413
868
67
105
106
69
270
463
701
688
497
406
390
883
90
642
599
682
747
921
124
860
147
79
871
492
514
284
951
748
312
387
648
571
400
758
480
37
483
156
166
590
634
982
820
833
970
729
111
240
350
577
425
973
50
838
318
959
972
425
641
550
876
556
803
343
494
721
534
224
155
273
375
274
727
118
901
972
274
658
301
15
791
546
543
171
809
801
793
812
426
553
185
153
576
8
261
763
898
223
648
641
664
942
614
966
573
35
138
686
121
81
72
233
445
216
760
27
215
685
225
871
180
439
635
998
453
739
348
321
461
941
211
387
776
579
192
646
706
389
655
888
616
152
743
167
439
92
422
40
725
122
693
747
881
366
369
798
972
280
603
499
549
156
32
139
514
956
11
937
927
240
924
325
34
404
947
845
494
588
972
747
957
355
628
366
677
727
448
470
827
202
285
108
512
172
13
888
278
521
391
261
82
275
746
127
256
883
761
6
17
58
251
93
437
176
263
739
618
874
221
308
5
869
136
871
396
969
69
932
220
958
152
225
87
288
485
609
450
524
97
312
438
88
39
38
599
119
331
984
310
219
186
412
92
443
398
250
914
120
293
113
864
14
931
271
214
895
545
324
9
782
339
801
804
28
848
428
26
906
19
591
817
580
91
362
833
143
71
536
658
947
380
307
981
558
762
572
609
514
108
364
736
512
232
598
618
776
969
104
955
136
165
950
817
779
292
149
944
744
426
180
567
938
291
163
708
904
900
174
80
587
109
911
273
100
18
873
933
823
766
270
17
227
710
115
3
495
363
348
170
337
773
372
639
404
174
92
920
374
897
396
119
52
472
39
793
842
823
48
688
529
216
105
238
612
395
830
736
358
948
547
593
328
467
881
903
390
535
508
856
119
923
473
183
68
589
769
930
572
298
257
303
665
704
628
285
178
718
794
950
300
870
22
195
702
173
132
631
838
655
313
985
186
350
451
222
989
51
365
964
545
503
51
518
197
73
812
963
958
126
187
306
152
484
665
664
517
383
540
802
999
255
643
135
833
566
333
457
586
632
891
258
566
48
357
482
324
909
951
963
77
471
435
593
494
290
160
456
667
170
99
822
91
425
851
859
97
61
477
408
524
518
9
939
368
477
687
97
762
91
268
858
942
708
236
381
754
781
411
106
884
210
204
488
212
781
749
61
615
743
236
173
81
791
32
836
245
910
597
610
282
583
785
349
683
846
826
927
556
559
218
781
992
38
746
203
501
895
98
865
685
520
860
956
125
157
228
662
928
927
393
448
494
477
435
765
848
147
503
328
317
682
202
98
414
564
436
443
550
956
343
740
591
122
637
845
337
930
368
448
720
707
87
313
884
290
428
807
344
576
393
921
99
276
986
177
925
833
392
472
62
691
610
871
161
176
289
842
682
263
531
233
870
416
611
524
103
503
862
550
632
504
478
939
705
392
617
955
658
42
971
310
766
536
937
779
596
531
620
138
138
629
153
992
208
846
270
603
499
360
588
681
163
656
857
416
28
109
246
743
359
798
853
944
576
54
769
198
525
838
408
645
664
553
331
822
22
300
451
121
903
910
330
7
77
309
274
336
652
892
53
36
890
634
374
799
2
602
695
192
333
367
555
771
428
593
373
382
188
730
582
786
670
301
39
194
144
748
886
39
695
199
426
572
986
771
106
451
813
254
437
528
721
88
479
453
278
570
602
569
552
127
341
784
960
321
516
767
952
961
283
875
915
337
384
645
261
128
695
595
945
964
88
301
527
997
757
428
466
54
405
460
556
158
111
369
276
198
273
358
356
590
757
104
53
569
258
659
458
589
940
257
666
992
607
804
795
684
30
769
623
91
536
491
123
50
689
708
252
638
647
202
166
136
828
55
435
470
615
943
958
514
126
262
983
567
552
650
85
168
137
658
980
184
670
898
781
733
247
967
686
124
163
882
88
401
9
522
818
531
435
808
535
498
611
954
307
808
69
143
51
965
518
418
846
529
199
393
50
227
536
652
828
455
154
330
922
196
827
423
490
21
539
854
360
391
655
152
360
894
139
904
248
415
859
787
326
492
291
106
65
274
345
205
914
545
616
72
1000
286
98
702
619
88
264
534
252
555
505
376
342
484
59
738
207
258
984
453
299
344
186
766
459
233
211
838
958
462
331
725
880
592
442
480
851
120
393
964
191
377
725
308
335
381
183
761
748
461
3
823
640
240
751
138
493
212
375
630
779
726
227
744
287
643
57
463
158
345
326
977
66
35
786
505
971
456
915
767
550
288
706
60
695
449
280
703
437
462
991
862
295
850
992
420
306
272
738
589
940
697
514
438
683
509
890
372
337
814
945
855
968
629
211
358
2
841
546
597
197
6
583
613
56
137
939
127
828
570
149
937
367
913
129
800
17
841
60
372
140
214
739
297
96
577
857
468
267
612
105
796
195
535
755
598
29
720
123
816
234
85
341
878
985
894
997
917
722
653
468
493
118
739
279
664
92
247
351
480
584
271
843
545
504
542
146
258
636
859
698
768
347
272
526
477
560
313
768
100
883
905
24
967
700
714
49
192
740
857
163
849
917
867
785
49
219
708
640
104
41
486
541
586
617
191
93
149
177
468
348
430
17
911
203
230
916
872
280
412
268
50
171
676
812
472
137
404
98
544
826
305
683
994
108
443
568
464
882
560
592
388
576
315
335
600
129
145
562
778
435
17
418
473
558
231
380
916
598
781
430
274
700
531
65
285
553
581
488
465
705
783
827
195
145
299
244
26
914
460
606
496
948
984
760
595
954
738
516
761
904
865
175
977
629
41
787
63
90
56
372
780
113
698
18
704
785
125
98
139
232
531
853
507
216
947
261
789
838
399
376
540
634
533
338
973
556
26
836
380
607
738
113
902
419
649
519
283
687
41
210
787
158
283
857
879
838
821
104
656
176
672
96
233
261
795
599
458
460
200
120
423
533
553
949
180
969
342
244
959
181
363
100
988
251
429
75
683
99
672
752
597
322
804
770
1
452
975
198
395
60
640
255
567
950
986
150
24
660
4
270
773
660
282
7
436
884
932
289
668
718
837
267
642
160
602
669
169
621
144
57
654
780
877
598
663
958
824
962
352
714
784
685
387
759
923
635
269
827
724
257
175
831
302
880
520
503
468
721
452
731
809
168
392
947
235
539
584
287
152
802
291
694
406
684
944
783
656
167
76
85
672
631
306
229
317
802
993
736
675
228
442
347
845
217
697
260
426
31
18
166
607
696
124
780
72
923
168
380
658
515
166
975
792
114
347
856
276
298
420
710
893
846
338
935
680
465
476
490
388
380
513
434
867
975
498
284
617
110
725
472
717
823
76
462
716
874
431
536
829
1
592
892
972
802
924
414
730
882
586
442
374
281
770
903
401
217
865
425
909
862
829
429
295
227
335
742
405
203
464
974
265
481
802
757
964
374
807
960
81
521
231
160
297
102
188
975
469
436
189
346
508
796
96
494
839
856
476
74
121
429
287
987
125
59
172
436
407
608
892
57
427
150
593
389
319
421
658
506
366
529
894
387
563
884
655
465
337
91
302
863
636
77
99
996
81
879
225
607
853
298
117
798
255
136
721
280
691
813
604
920
918
965
62
605
969
47
499
619
130
63
395
996
702
282
125
767
53
222
717
648
643
206
433
435
274
567
670
347
845
886
281
570
233
729
887
543
771
6
95
888
969
414
880
420
766
447
535
398
584
75
704
23
935
537
37
187
106
640
888
680
733
566
318
357
693
516
371
252
813
381
238
284
330
302
438
977
935
154
614
559
459
947
874
937
987
662
851
283
218
284
854
398
421
635
508
594
207
166
280
562
646
36
162
583
967
650
567
492
192
330
179
981
582
940
118
225
682
91
257
271
105
46
967
358
927
515
859
116
703
368
337
600
680
684
891
243
724
657
98
95
863
653
247
196
94
60
356
501
306
698
74
568
727
215
678
115
313
304
881
646
878
593
679
565
586
728
849
587
599
550
955
817
331
213
959
524
746
791
614
549
579
193
793
258
194
206
887
130
25
66
134
415
193
289
552
741
949
368
714
226
45
590
168
412
4
429
744
317
522
908
347
976
928
849
59
148
695
188
571
223
484
362
21
15
121
325
264
777
174
941
527
738
538
324
136
448
528
204
739
442
509
546
17
100
23
471
396
68
692
967
680
290
931
40
832
524
647
682
385
199
638
526
47
594
381
96
142
633
255
338
460
25
24
519
914
100
549
623
199
426
345
111
267
252
508
268
38
866
9
396
196
187
92
792
356
335
764
795
111
404
960
191
718
441
978
882
235
410
237
100
954
1
204
331
884
268
610
824
833
421
700
750
390
591
315
90
719
997
78
864
626
758
801
590
792
546
506
756
406
364
140
652
729
7
138
116
213
192
469
628
933
898
713
716
22
204
20
813
687
791
471
555
191
332
543
996
842
176
834
388
662
93
167
960
900
383
525
607
955
281
995
532
614
443
40
649
710
280
2
985
458
28
655
429
742
743
18
909
584
878
404
475
866
669
853
855
133
354
681
727
971
152
870
351
8
3
414
225
83
309
547
112
475
294
972
120
408
162
842
534
205
906
245
724
589
503
396
794
619
228
548
566
666
993
887
155
651
946
313
642
485
32
81
285
294
880
700
330
531
154
382
689
534
454
593
678
433
986
928
586
549
446
629
7
629
17
541
803
269
918
203
51
920
716
76
522
679
458
610
91
918
759
971
967
461
151
766
776
607
389
47
361
854
891
169
604
518
171
869
725
831
961
35
259
258
671
202
372
966
6
782
266
365
824
373
149
602
796
287
675
752
7
596
797
177
431
594
719
203
99
544
966
834
880
993
664
679
26
730
760
669
985
658
305
410
586
502
863
224
348
252
814
15
553
689
593
112
728
192
893
147
341
209
465
855
851
492
451
380
740
187
90
331
767
356
251
351
507
384
494
411
168
953
233
377
805
991
191
681
285
50
482
48
799
77
595
339
290
423
35
519
884
257
587
636
314
229
994
508
354
375
348
481
505
756
643
226
502
245
753
70
749
238
536
726
441
764
947
646
964
652
749
418
152
938
903
763
98
671
774
735
536
626
62
658
238
213
739
181
488
51
380
603
466
242
926
259
261
384
369
344
360
764
792
15
636
940
959
994
284
182
940
184
683
798
265
991
862
443
769
171
109
895
589
981
276
650
729
374
484
890
249
753
293
64
416
561
847
343
49
569
155
672
951
313
481
31
489
520
730
749
352
757
858
427
38
760
572
87
850
80
27
660
54
739
776
823
373
570
983
498
186
791
788
26
633
156
756
156
331
698
543
491
545
708
268
987
494
82
597
399
911
562
207
345
113
759
130
773
605
23
451
181
699
387
979
910
683
831
803
164
862
57
84
211
160
829
62
387
62
658
997
86
375
312
696
955
655
152
351
855
186
814
638
996
86
110
426
831
425
303
974
918
292
132
214
1
332
29
547
938
656
998
625
990
926
521
733
200
95
686
722
218
517
454
930
30
109
598
147
447
813
397
509
125
875
623
107
127
337
655
256
726
724
894
587
226
103
714
578
82
572
351
681
464
765
18
984
752
144
478
166
128
688
63
616
544
77
819
739
901
657
62
848
144
221
149
553
370
175
643
223
738
730
403
931
145
557
345
247
172
781
726
431
762
281
885
810
458
984
266
632
802
300
438
253
668
831
563
297
889
273
416
350
525
759
657
805
511
922
492
729
240
669
272
998
820
968
846
492
387
961
685
838
850
365
881
64
886
443
158
510
831
772
893
536
367
680
32
883
508
486
431
19
500
618
853
453
659
279
340
780
55
567
141
178
228
863
725
186
775
876
665
845
756
918
319
715
342
880
344
855
22
909
999
561
996
946
125
591
86
147
435
599
604
713
462
738
151
780
112
731
233
848
253
219
921
706
213
883
524
897
351
633
379
583
101
171
423
77
17
342
169
413
386
7
63
76
911
600
992
396
820
161
853
202
511
369
715
16
506
56
74
461
48
718
91
571
157
807
530
393
334
948
290
589
396
781
60
758
98
836
651
855
336
687
954
381
679
650
345
989
927
481
580
774
206
814
853
799
803
594
775
330
621
390
461
853
631
251
791
197
157
748
180
978
185
912
857
149
129
87
767
655
644
91
648
51
172
690
789
501
844
88
226
724
263
63
882
308
482
381
235
329
158
352
650
334
500
728
417
569
99
678
875
818
148
215
746
303
910
297
952
911
450
801
717
416
843
706
747
489
75
103
616
2
781
123
281
556
852
460
798
220
670
947
931
181
394
534
288
376
295
131
68
201
608
972
250
95
751
578
309
115
40
900
127
630
232
982
806
907
320
264
503
675
3
742
253
730
187
290
982
234
657
846
535
680
825
584
647
400
37
879
185
94
516
639
888
111
415
535
98
100
822
770
650
227
815
289
151
361
817
746
416
498
576
123
669
233
73
637
457
268
519
437
920
780
418
653
165
984
345
561
42
363
687
977
504
855
115
495
104
759
953
889
901
228
923
776
202
11
992
668
106
530
140
626
791
474
952
75
837
843
825
756
654
759
479
402
254
456
182
497
203
532
776
393
561
965
159
126
28
378
340
522
299
763
574
546
871
184
371
421
109
995
358
715
454
751
76
473
38
313
797
467
831
589
367
826
676
13
874
607
201
102
695
370
680
389
82
451
338
626
994
424
481
374
320
179
91
20
990
174
226
819
728
659
601
766
347
105
268
975
583
635
181
793
400
983
728
18
619
425
34
480
466
115
959
701
377
518
213
533
949
941
947
456
456
715
534
712
762
208
946
542
770
720
334
604
770
252
913
55
189
307
271
895
268
157
529
895
155
473
587
859
715
811
866
12
161
217
501
17
223
129
997
527
184
833
673
165
537
955
102
542
454
868
898
244
487
427
862
733
158
147
475
740
164
812
211
56
950
486
905
588
293
87
723
150
377
16
862
780
551
781
207
258
589
242
605
129
822
850
290
764
939
239
254
902
611
611
56
667
342
633
613
285
122
985
37
578
505
250
460
869
733
600
94
71
388
596
483
635
848
484
14
469
516
540
287
130
381
409
846
401
996
866
142
795
340
117
297
708
367
569
415
657
272
982
732
532
621
64
836
837
532
850
577
669
42
667
47
579
639
89
176
516
695
35
98
767
190
126
405
202
700
422
819
122
77
970
599
727
640
916
239
551
991
513
573
191
726
54
489
345
464
608
818
449
575
442
853
189
919
211
143
779
726
287
894
183
476
98
332
375
238
993
846
343
509
922
617
776
999
192
671
281
172
644
3
539
609
882
484
17
411
588
761
743
942
539
252
143
169
661
635
174
750
375
955
782
796
487
560
242
935
117
627
65
894
493
945
994
337
955
958
59
82
196
826
776
165
561
380
383
424
240
429
403
415
317
810
945
504
915
952
893
918
150
487
516
399
210
622
125
848
612
566
100
11
655
305
972
826
109
394
305
529
468
255
769
980
418
667
172
989
790
765
182
565
887
854
164
170
11
803
812
10
959
604
285
329
472
911
120
517
928
37
520
494
51
930
508
557
53
100
69
319
409
349
621
888
435
418
65
731
913
328
229
953
306
313
747
863
505
689
246
779
612
920
295
1000
42
449
728
727
44
562
768
544
865
658
943
719
906
837
868
218
631
634
822
802
474
62
491
12
664
864
392
152
724
23
244
596
356
136
13
900
594
194
425
204
378
706
512
379
153
853
138
209
726
536
526
654
339
779
516
897
875
923
659
464
155
445
269
156
547
53
271
921
459
884
982
93
878
290
986
591
760
666
913
796
997
252
243
813
643
640
205
739
283
962
489
379
741
394
753
572
821
646
830
924
376
580
166
273
841
955
225
656
282
557
532
911
129
685
565
271
39
2
944
504
712
277
204
187
128
439
5
709
316
654
788
440
740
844
747
332
370
204
457
866
732
758
695
900
588
949
747
438
393
586
11
785
377
199
787
853
883
7
947
603
611
261
613
753
527
665
41
903
525
973
684
179
325
576
785
353
763
146
931
124
340
915
703
942
833
193
925
304
862
128
64
913
506
497
989
508
480
520
668
422
913
337
346
132
460
763
432
172
368
399
619
771
82
995
712
493
193
190
290
980
822
433
587
619
40
895
918
566
526
679
554
144
513
485
231
13
967
141
334
902
84
127
398
935
443
252
760
744
577
187
76
625
286
401
944
972
758
390
63
108
457
769
186
404
768
928
638
282
592
472
319
304
451
570
911
16
165
715
477
684
828
79
788
328
656
857
448
699
235
478
355
999
857
580
117
127
908
971
785
234
734
579
670
179
22
577
84
239
468
452
530
120
465
758
275
821
579
717
238
447
847
612
834
385
279
129
725
597
540
425
473
925
442
721
683
445
750
624
597
889
844
253
4
64
890
445
16
25
561
987
477
485
787
863
750
556
669
964
211
464
482
574
996
333
645
213
495
463
639
98
610
789
114
567
33
370
853
291
661
834
831
10
787
658
343
818
914
51
47
729
858
9
837
390
302
786
648
299
140
610
636
825
733
30
726
684
677
624
150
209
809
173
454
962
948
582
410
734
295
12
429
969
537
659
338
2
405
623
869
274
877
104
780
847
254
958
311
169
52
283
591
968
52
278
697
598
838
97
268
944
867
794
9
192
457
744
921
408
43
118
828
854
751
81
595
450
610
401
480
552
715
56
201
537
256
251
642
253
622
966
595
508
710
819
580
180
176
515
565
440
595
647
386
803
410
920
735
442
110
151
879
254
286
549
680
669
99
846
52
86
200
827
747
117
356
683
216
545
850
403
370
986
236
107
235
799
177
818
882
686
911
699
491
781
336
150
112
750
858
520
483
576
897
391
268
246
393
514
196
540
743
536
892
451
351
583
636
561
364
613
889
871
241
210
185
150
510
163
923
883
443
721
651
273
404
895
670
557
306
576
180
119
979
496
728
471
199
273
412
218
840
862
179
546
870
760
520
579
910
204
87
231
685
434
42
792
971
797
445
556
583
125
639
249
546
337
346
884
817
650
182
933
847
166
385
396
837
815
796
421
726
831
587
609
871
976
781
60
851
732
344
488
57
521
529
464
554
845
168
944
187
885
854
772
72
744
252
770
422
964
357
346
114
434
120
325
532
40
743
817
991
710
890
501
511
577
217
678
739
49
907
783
647
515
361
832
959
257
776
460
371
899
139
777
327
374
57
269
474
985
920
356
976
565
153
39
521
171
661
246
214
990
145
134
547
361
655
606
278
888
604
730
367
645
478
576
92
372
650
253
72
387
32
528
218
656
769
504
558
97
835
269
480
725
168
289
168
698
943
611
946
661
680
593
756
46
155
977
245
141
491
606
799
826
394
982
401
819
211
154
338
180
405
160
676
597
50
322
873
674
175
256
89
21
136
340
521
492
703
769
606
280
220
12
17
935
27
667
174
563
308
257
415
622
658
446
86
745
986
550
530
979
787
965
362
657
442
319
501
903
955
736
112
408
479
600
11
690
29
578
91
525
19
496
34
617
674
833
896
866
871
249
163
763
688
552
517
576
798
961
871
959
849
334
196
553
129
286
274
957
179
751
805
166
448
622
230
203
761
516
193
227
140
623
869
806
498
838
219
433
784
61
864
583
477
633
417
788
697
364
45
285
811
512
511
725
122
356
174
370
122
733
226
930
845
17
975
936
40
528
114
101
250
305
739
670
389
495
338
123
93
348
95
948
924
974
635
417
504
543
774
416
790
581
907
426
990
384
455
698
79
329
147
497
465
49
13
73
143
14
659
637
563
59
763
242
544
783
782
882
767
556
522
552
799
71
568
271
116
1
585
274
309
326
128
661
513
346
929
827
107
198
594
870
899
970
241
29
342
116
922
889
815
948
593
761
616
441
964
147
131
434
857
652
594
601
549
78
937
225
182
639
514
902
505
459
896
794
111
526
498
927
837
281
554
357
193
905
811
711
530
118
393
754
141
44
457
105
656
251
632
220
890
612
757
17
775
25
60
327
133
355
814
448
813
181
409
657
162
76
992
499
884
147
47
2
92
553
818
783
758
533
998
148
821
233
947
900
945
314
568
537
277
834
76
928
579
439
99
365
814
210
973
75
583
857
604
909
819
98
987
942
804
195
327
136
866
599
712
62
91
578
474
905
13
521
674
639
504
330
652
290
46
938
208
672
128
544
774
855
786
576
898
878
193
757
453
903
761
901
250
100
453
221
167
17
843
9
462
118
35
509
683
439
677
693
464
48
218
438
551
92
982
284
603
744
844
558
649
283
61
155
629
882
314
681
79
403
93
969
872
663
392
209
908
170
54
69
748
292
256
220
546
203
327
591
6
672
513
585
768
7
364
183
341
985
134
570
644
632
944
443
281
86
511
689
916
593
895
427
487
887
102
780
570
823
335
851
860
149
364
547
642
730
786
848
101
374
927
59
507
647
721
392
623
704
234
938
192
229
393
748
949
16
81
231
463
603
25
576
997
636
778
201
725
312
682
529
901
342
890
521
978
359
425
483
255
588
754
624
385
907
560
744
924
125
233
175
185
425
80
853
825
439
431
924
991
340
622
857
312
688
287
413
744
487
527
140
69
61
303
293
831
919
829
210
651
729
825
211
139
869
262
16
63
834
601
542
78
914
612
695
32
161
572
417
826
652
995
836
858
444
101
818
319
428
899
635
992
477
98
700
763
929
72
560
733
438
744
404
686
670
571
371
695
134
776
827
786
711
587
632
931
56
543
104
116
115
839
56
859
454
278
778
359
976
657
314
394
831
305
707
216
61
53
157
914
547
133
186
184
356
383
978
974
456
642
34
237
84
430
164
896
748
827
618
174
979
978
858
639
426
791
70
673
882
218
2
589
86
961
175
290
947
575
754
168
943
726
670
962
18
770
660
398
255
951
941
739
966
214
194
828
595
82
360
807
53
61
514
458
622
790
749
39
610
499
561
550
303
372
705
610
580
118
866
492
740
352
784
445
742
431
663
81
38
5
770
512
645
882
188
895
892
747
525
238
571
923
271
632
807
607
160
559
68
994
574
565
146
234
507
380
855
484
112
514
408
146
140
467
156
9
893
967
435
179
424
28
752
583
815
258
456
347
338
515
314
529
159
937
154
560
58
413
811
187
318
730
178
920
533
35
44
774
599
730
777
537
550
587
611
972
231
725
478
85
21
33
845
63
933
792
993
554
486
524
541
717
654
560
769
890
63
408
503
737
359
787
865
506
335
93
229
369
957
145
78
842
921
291
278
993
749
350
500
454
703
389
113
281
9
49
918
330
967
1000
488
156
544
85
751
384
926
929
656
133
373
56
432
352
382
102
979
870
863
298
426
525
497
211
706
22
953
698
302
45
932
95
1000
715
318
969
528
712
819
139
499
233
597
292
935
508
328
196
964
752
35
464
2
304
796
806
815
184
162
951
409
439
670
745
610
493
377
482
514
151
750
144
763
40
530
93
698
55
465
729
53
798
887
745
742
112
177
934
726
520
84
935
661
831
741
908
237
193
924
920
686
620
829
689
941
358
146
472
298
527
729
63
273
121
514
285
505
806
632
882
227
957
858
450
785
23
633
851
179
612
905
629
365
666
933
60
357
711
39
825
769
448
987
780
511
883
333
897
808
783
582
298
575
503
481
209
437
118
83
791
389
364
487
62
150
99
341
537
757
881
217
803
854
767
990
957
418
645
193
747
381
238
133
272
714
410
232
324
71
585
652
793
4
856
792
77
103
875
618
106
146
696
144
416
500
554
568
682
563
966
734
274
976
665
598
672
735
588
335
49
64
581
553
913
125
512
876
489
186
217
761
412
883
59
37
406
607
940
84
829
835
252
988
370
433
616
252
725
598
259
882
766
86
511
726
596
842
244
964
874
940
4
579
971
20
242
406
858
22
314
135
76
95
853
241
808
981
703
348
849
95
874
3
227
725
854
159
321
515
177
928
619
425
395
334
627
892
416
850
63
789
759
499
176
83
411
136
915
805
852
379
741
66
275
279
41
355
224
469
495
302
623
20
225
401
712
628
258
961
443
104
633
644
750
334
476
569
465
29
502
850
811
592
702
865
101
416
417
261
690
724
600
934
304
854
857
766
567
543
738
902
907
326
868
763
92
636
692
756
289
597
38
885
905
748
228
76
452
165
147
9
343
517
588
750
827
635
146
235
246
26
141
949
401
647
366
760
115
929
923
934
1
696
82
810
37
139
837
478
801
484
851
70
113
295
526
968
404
643
244
281
335
525
202
481
68
962
889
931
118
225
929
385
905
464
952
215
945
845
156
262
153
966
463
693
838
930
493
219
832
965
120
317
602
882
22
867
379
975
478
755
56
214
645
532
92
679
658
192
709
252
252
497
457
501
973
23
579
547
724
323
708
472
118
128
125
467
29
554
177
494
819
639
488
724
953
347
288
366
77
393
502
812
216
843
270
198
413
477
189
600
6
316
912
57
755
559
675
566
185
408
957
971
852
914
765
414
706
2
954
653
377
339
599
53
995
521
662
553
99
363
128
192
324
730
323
109
771
448
343
20
443
308
407
300
639
84
475
729
995
771
633
876
700
981
627
851
474
526
382
869
118
755
536
658
754
122
798
251
437
811
420
112
456
982
190
860
478
323
135
97
672
187
550
939
81
509
75
930
814
93
268
923
70
613
543
383
615
850
391
319
101
277
530
703
535
100
984
808
267
220
133
380
115
442
458
918
630
412
46
637
28
415
909
888
54
157
842
881
855
103
830
592
991
773
6
623
856
619
765
623
117
780
921
576
258
41
741
915
959
786
261
943
820
605
552
498
910
485
504
120
705
181
240
274
269
454
523
306
920
364
344
901
218
666
456
766
852
709
758
170
856
896
316
717
665
915
269
471
706
451
45
96
570
17
116
228
332
896
974
680
258
879
155
398
953
700
894
318
992
537
446
413
211
983
188
231
140
201
363
176
480
781
746
659
176
965
547
955
361
521
605
302
393
513
287
323
261
608
529
332
882
392
164
474
199
325
984
924
514
640
33
549
227
452
217
587
964
818
689
825
126
291
391
748
45
759
775
886
253
19
993
346
864
567
795
136
698
548
955
416
573
691
284
270
138
306
216
914
737
94
489
561
36
634
667
249
588
849
133
86
73
710
688
283
677
687
95
242
973
182
740
773
708
318
85
171
93
928
717
503
557
562
660
968
442
635
8
580
763
593
142
762
19
104
488
651
988
857
288
54
599
473
883
14
247
450
785
915
393
767
227
870
887
16
901
915
188
467
359
197
630
469
882
878
897
18
674
995
157
71
920
857
640
443
575
878
36
699
772
911
758
505
351
261
987
313
376
567
413
77
416
624
780
965
26
76
647
657
132
594
257
864
951
817
71
198
672
835
275
326
383
479
560
685
614
980
563
641
433
868
601
120
251
94
793
170
366
464
197
864
792
417
349
213
110
86
463
488
937
350
599
458
67
275
315
575
525
956
659
54
579
267
887
144
200
432
942
613
610
663
583
618
320
315
997
692
489
160
901
517
557
395
412
551
795
959
419
299
895
579
803
247
705
707
603
25
985
196
157
356
409
99
313
778
63
480
43
874
396
484
167
3
887
209
469
106
720
109
144
200
404
764
405
587
557
851
87
649
100
63
228
334
647
547
980
81
241
137
624
988
448
308
163
486
463
317
711
639
94
398
870
471
419
287
400
387
463
563
726
849
435
468
265
944
978
928
123
389
386
500
446
817
925
797
592
889
254
786
344
891
419
3
577
20
64
350
142
441
304
646
266
592
162
490
407
890
611
349
350
188
39
971
302
857
366
383
878
327
165
743
178
300
867
284
587
595
532
415
555
796
739
814
358
407
860
992
777
269
345
398
692
333
688
589
843
714
416
374
350
168
795
132
203
709
940
695
549
158
655
274
524
782
676
932
364
74
898
7
693
917
859
690
226
45
966
729
598
763
930
809
665
338
440
734
429
341
374
960
680
502
724
374
540
293
1000
492
404
559
63
375
125
994
242
659
933
160
87
56
247
49
315
567
483
887
348
423
964
6
309
484
254
128
551
396
600
314
543
347
662
197
440
634
404
829
784
602
816
623
541
722
138
439
136
720
399
794
224
683
348
575
695
29
344
365
792
77
348
695
311
692
936
126
545
154
176
11
12
973
261
240
40
817
61
26
955
143
116
28
987
367
139
688
956
629
806
740
509
285
472
188
953
292
441
973
699
527
616
726
974
930
655
667
703
71
265
787
441
366
872
857
772
714
740
727
898
760
522
606
993
348
352
716
489
972
858
789
664
202
881
351
774
122
249
667
507
800
730
478
708
686
116
410
184
609
490
25
872
760
889
6
825
623
950
909
281
339
638
231
518
378
820
297
363
741
271
600
971
112
691
793
922
518
440
483
808
95
990
338
185
495
557
803
201
328
961
876
259
769
553
998
788
134
933
91
571
809
289
171
104
351
401
767
144
6
748
600
959
138
689
557
763
282
418
47
491
612
206
239
390
635
499
519
829
825
577
729
394
729
829
429
595
803
159
426
431
876
688
324
689
638
717
675
56
54
848
598
63
881
277
408
408
794
545
880
453
714
426
257
532
70
239
15
257
641
575
695
185
544
328
815
40
694
968
2
208
782
193
998
348
378
435
108
784
312
239
15
810
861
177
615
170
621
800
656
718
130
95
548
751
472
81
638
552
112
433
633
461
142
510
597
157
1
751
162
947
448
154
140
519
261
509
730
23
676
90
912
364
71
768
410
264
777
884
829
17
174
781
161
818
436
556
918
248
383
507
516
765
888
696
434
44
234
293
855
613
585
605
177
530
510
266
817
752
82
623
195
480
644
195
646
956
758
27
284
144
215
836
516
261
223
152
974
327
56
44
157
811
542
614
922
944
680
161
311
480
628
810
882
500
36
455
825
385
414
48
690
203
824
624
440
592
680
990
926
669
857
637
565
619
634
281
195
421
205
437
599
551
627
511
180
650
126
268
587
861
594
910
922
930
995
649
275
270
107
418
971
854
747
258
854
211
131
25
364
801
549
265
954
753
869
521
584
275
710
853
681
46
287
62
932
549
46
979
743
635
203
176
994
538
213
618
987
215
33
133
121
144
718
23
869
661
580
793
104
495
623
774
683
417
450
349
460
817
158
621
583
581
996
596
18
870
754
405
709
250
863
630
721
172
210
567
959
981
527
112
822
460
997
23
216
434
432
503
903
95
943
410
78
529
581
901
389
378
765
997
387
714
707
388
484
964
210
751
117
154
374
24
705
856
778
352
411
941
634
878
441
663
277
160
829
649
96
753
211
94
680
418
97
818
517
493
543
892
49
197
915
199
292
12
664
659
484
858
627
837
439
443
407
286
367
55
792
335
954
61
26
939
356
545
969
874
644
857
836
820
896
314
259
815
809
921
861
142
221
813
414
980
371
21
909
35
84
301
549
929
327
29
756
350
712
567
776
828
642
85
358
543
715
573
289
730
924
640
270
124
944
752
727
352
519
777
702
352
534
12
840
693
878
459
883
158
619
695
776
51
304
587
656
479
460
25
538
297
456
21
487
483
970
800
398
471
207
957
310
369
881
366
337
34
737
301
882
723
31
116
802
369
961
943
576
614
526
68
330
346
656
64
792
904
742
259
847
46
908
878
402
472
428
991
680
979
739
457
910
309
382
204
601
356
24
517
260
690
454
476
436
278
62
336
452
888
841
438
48
896
418
169
405
123
938
619
748
894
901
832
738
717
216
977
430
865
778
323
395
655
875
659
976
420
604
654
288
6
247
741
746
105
273
257
388
924
211
974
190
462
155
635
937
163
78
804
889
815
425
138
706
345
711
193
573
619
961
9
477
403
854
995
925
438
417
108
172
935
908
923
206
905
330
933
309
410
651
367
21
229
380
863
708
436
632
585
758
89
169
742
619
552
232
34
517
996
122
215
711
243
627
868
568
458
382
449
576
144
144
863
644
519
816
144
698
631
746
294
620
516
476
973
43
262
639
535
378
136
155
840
712
779
228
395
909
93
877
617
314
609
930
467
950
21
452
231
7
103
558
4
711
401
449
275
365
931
284
97
493
622
203
501
502
381
409
165
240
491
722
882
133
483
434
36
338
784
604
95
495
188
165
143
200
661
329
603
301
50
840
578
450
44
533
712
158
120
528
63
737
267
145
254
117
10
268
73
511
603
475
789
295
329
706
651
276
478
639
470
723
958
208
673
150
475
918
970
872
858
683
593
765
444
928
106
507
377
622
927
814
308
699
65
816
266
68
6
800
396
41
374
973
851
526
752
780
384
804
999
579
72
34
522
157
174
889
229
634
348
900
258
824
297
135
241
984
479
829
489
209
671
441
476
419
31
435
942
20
797
726
235
825
919
378
778
743
716
611
133
104
141
608
741
194
325
915
307
746
881
461
710
671
870
346
521
263
414
591
455
516
707
982
567
890
553
977
593
129
656
426
598
235
560
493
25
740
538
732
297
810
759
784
372
484
716
470
24
609
285
428
178
590
735
548
327
160
694
629
897
722
383
646
476
737
372
927
941
785
762
387
900
645
968
658
297
737
192
592
688
760
302
168
503
213
43
248
527
750
443
999
972
13
810
42
743
653
938
549
961
748
35
582
326
731
374
941
695
204
888
660
88
790
750
87
409
214
493
174
351
377
352
186
335
102
349
578
802
536
95
151
905
986
397
966
415
50
543
686
682
504
594
149
591
345
49
27
795
748
61
353
892
479
738
558
894
475
136
393
31
890
285
814
899
883
922
426
10
839
688
590
54
502
159
667
539
706
506
156
65
14
495
670
141
588
255
818
339
40
504
29
590
852
930
299
583
192
11
632
564
583
855
696
306
962
580
814
670
98
320
986
962
219
228
31
229
955
707
336
787
394
703
917
467
125
70
682
570
627
919
834
6
264
374
343
901
450
357
283
800
250
840
631
645
793
537
786
915
417
118
720
678
361
880
104
786
165
239
243
153
702
549
900
857
858
543
365
795
492
87
221
747
203
65
319
28
855
957
398
323
525
49
643
924
765
298
237
353
616
591
602
262
822
484
615
595
82
577
543
202
968
316
834
506
374
402
161
362
933
942
358
935
911
164
919
299
461
811
795
460
990
287
110
674
625
274
222
264
388
794
305
617
775
638
242
681
857
672
157
65
923
772
361
826
913
49
825
87
610
586
568
940
608
120
484
471
571
972
219
344
217
63
673
89
724
40
589
156
993
363
462
809
309
720
717
159
444
278
681
979
213
80
391
463
781
398
695
747
786
922
398
863
489
495
468
736
696
503
396
26
173
132
898
849
629
459
26
917
119
733
670
216
882
263
124
91
243
71
106
566
148
791
146
760
353
383
756
522
44
851
170
772
896
566
716
609
190
724
95
900
622
167
917
986
875
87
883
81
840
111
861
169
633
861
980
502
186
395
551
270
249
849
257
688
86
184
611
514
32
225
104
958
333
26
814
69
370
216
523
932
461
146
519
436
901
559
350
947
836
21
765
939
820
551
953
556
644
690
982
73
147
803
29
483
194
513
590
732
996
996
368
692
223
336
948
589
141
246
677
455
123
259
406
144
448
901
856
576
263
481
446
213
943
850
312
149
837
908
145
877
607
678
194
508
908
501
455
153
160
255
649
260
583
560
30
920
411
578
476
542
485
399
600
859
961
960
773
898
953
132
118
432
318
895
458
425
644
508
180
163
723
175
765
76
465
21
441
750
226
98
91
266
8
740
34
771
837
849
787
185
913
568
216
1
776
383
782
443
843
893
731
624
144
384
128
965
983
827
642
834
554
159
849
257
252
503
596
623
525
510
698
459
645
128
785
758
691
953
684
814
384
748
71
215
130
844
489
454
807
944
33
604
350
245
130
649
164
902
901
341
755
626
488
912
749
565
642
590
615
721
558
595
46
844
658
250
866
126
544
892
813
60
861
502
270
468
152
375
278
113
94
679
755
232
700
459
875
49
143
495
971
575
906
451
195
15
830
887
361
707
473
74
78
777
926
997
320
674
823
595
25
285
867
61
213
627
601
984
342
978
513
230
326
901
821
708
718
790
444
582
37
496
738
94
133
56
522
853
765
784
850
373
294
793
716
655
494
531
608
826
12
48
420
201
928
557
715
650
207
266
766
801
570
628
123
469
451
906
645
655
277
398
99
604
239
744
457
713
106
500
950
518
411
568
800
612
478
97
304
75
395
244
604
975
979
496
34
499
201
331
439
576
343
643
194
189
340
726
989
148
416
588
590
780
99
31
929
859
158
245
840
96
837
607
699
711
969
40
36
880
243
517
897
396
912
269
381
463
714
823
305
373
616
253
396
753
296
930
756
176
914
615
587
191
849
949
362
246
523
279
652
571
375
278
814
779
308
1000
629
874
672
861
755
380
938
522
557
491
752
822
469
533
981
689
557
505
690
455
362
160
738
101
404
908
828
747
981
785
371
132
988
905
528
916
561
74
119
402
253
701
870
651
328
777
661
39
493
405
996
33
62
331
922
297
110
965
19
319
642
647
872
380
198
255
663
71
575
856
119
542
572
731
75
312
734
30
353
801
94
279
468
691
808
141
929
849
422
173
540
843
191
788
158
980
542
263
831
418
298
457
87
139
684
809
441
468
560
335
830
397
502
587
802
168
569
938
754
463
630
181
412
64
119
93
61
36
954
586
717
314
135
20
573
105
254
533
559
620
721
550
768
511
34
163
878
816
819
744
371
358
694
970
579
317
222
431
47
117
375
126
751
887
916
431
1000
477
114
610
661
421
1
494
527
309
157
771
190
725
680
209
827
303
547
221
653
467
45
422
621
107
359
205
166
786
652
908
372
74
184
847
992
247
131
344
171
920
726
901
535
109
308
822
580
898
636
924
916
103
583
458
982
305
933
995
306
194
551
828
247
413
636
385
432
12
110
277
757
149
464
823
944
930
528
370
90
116
714
248
564
980
232
978
924
772
696
192
186
75
281
810
951
869
316
196
366
234
782
372
856
461
690
891
871
782
728
641
661
85
888
649
204
712
992
983
989
929
184
943
302
684
480
55
38
84
413
815
810
358
662
745
332
197
304
91
620
20
988
389
533
127
908
239
602
714
912
809
873
407
471
24
694
321
521
921
16
629
377
334
780
316
10
957
376
53
19
844
39
138
477
538
218
43
716
400
680
392
793
147
78
146
26
266
248
332
526
760
304
919
87
638
914
351
157
650
777
800
839
60
446
402
84
638
98
647
236
644
762
589
139
315
814
742
822
231
262
371
623
1000
452
366
275
897
347
80
78
445
453
258
794
437
820
725
307
577
259
556
421
733
72
277
356
778
152
47
689
142
253
896
465
478
607
800
188
305
830
812
222
91
232
522
916
14
232
803
394
539
585
225
542
38
482
496
201
914
433
17
924
54
18
934
991
25
227
120
510
66
104
119
581
855
876
434
479
972
531
491
726
207
100
229
740
159
507
551
484
42
912
809
145
288
941
77
436
294
46
215
533
639
521
648
20
173
364
307
473
686
277
434
459
228
556
807
813
783
553
451
19
688
670
135
397
100
555
741
596
850
295
117
572
219
914
192
851
542
416
897
338
30
928
946
407
916
274
639
261
803
414
601
822
104
763
854
512
613
351
670
340
495
162
417
639
487
726
7
657
664
272
629
947
921
273
142
186
211
240
892
584
679
21
749
561
45
624
825
710
995
837
695
374
861
510
924
356
588
374
378
367
847
725
72
835
129
115
313
594
889
438
495
821
56
435
171
260
782
720
3
461
880
848
729
252
231
845
577
128
380
875
437
585
645
391
655
680
325
211
564
256
16
446
687
347
624
98
123
243
377
454
791
588
49
104
33
639
632
527
607
560
916
720
231
160
758
246
652
40
380
450
686
507
661
274
792
915
235
326
523
341
202
317
635
623
355
23
713
825
165
241
944
129
187
990
38
12
174
399
395
326
925
290
290
532
850
460
264
954
267
62
901
336
711
292
874
418
902
777
480
487
584
708
884
98
112
734
938
214
565
121
755
39
143
447
186
751
778
403
968
106
238
867
589
667
457
508
840
994
469
606
650
698
135
656
996
690
773
590
624
306
936
124
860
252
827
822
12
460
260
960
718
27
669
171
160
375
367
144
204
656
188
371
405
199
635
30
286
503
908
654
476
881
516
91
76
338
681
691
117
717
449
284
62
425
199
767
128
306
260
580
578
342
471
369
291
900
807
465
604
180
652
603
873
401
905
451
222
954
870
136
685
481
785
916
320
359
952
562
883
561
617
802
360
235
187
391
978
652
862
993
309
332
518
71
765
280
471
410
50
269
821
734
123
996
207
125
868
781
147
570
886
195
604
54
835
614
86
31
263
255
333
16
179
698
647
267
488
204
994
226
964
452
279
487
683
433
612
499
675
328
963
162
114
170
340
742
523
965
482
247
325
723
156
521
572
575
288
846
830
709
562
743
1000
397
606
9
345
776
560
786
90
367
658
562
748
552
417
591
777
338
172
168
229
794
5
539
837
477
544
37
351
2
717
164
42
707
330
961
951
960
234
987
877
293
926
593
118
961
674
40
633
948
617
156
685
696
876
872
974
61
358
9
949
44
848
81
301
925
953
734
576
258
649
690
503
67
517
675
895
276
215
904
908
36
371
115
46
157
915
48
548
291
751
496
679
867
841
754
38
18
997
383
166
918
106
670
669
11
99
75
533
578
679
270
547
975
752
49
568
667
507
545
848
862
315
668
818
155
970
639
533
103
309
816
415
53
906
723
104
857
370
398
962
357
762
657
226
626
774
875
915
997
606
251
298
863
949
253
183
63
44
167
315
435
613
221
893
778
302
759
595
35
428
339
529
958
988
414
195
941
319
479
909
952
318
184
119
702
850
913
700
301
807
770
634
631
309
758
428
596
710
144
274
220
380
678
192
282
727
376
380
827
568
26
541
392
734
455
241
270
753
858
220
452
574
161
180
160
527
491
737
38
168
289
157
124
209
528
962
738
467
768
732
246
677
522
223
491
13
485
461
362
417
726
587
548
135
864
62
68
428
571
302
548
41
492
927
544
886
830
595
441
336
355
824
571
700
623
292
249
718
471
858
346
367
701
954
898
898
988
30
960
757
670
503
623
983
28
973
650
738
102
534
662
869
849
701
200
772
692
765
256
394
102
452
84
883
885
351
164
281
259
948
235
642
669
999
200
139
491
673
534
58
439
102
531
31
560
977
403
529
110
348
707
404
524
113
96
239
922
506
680
365
297
518
564
648
593
353
295
610
381
932
1
971
752
945
985
489
299
184
434
790
837
685
658
11
554
728
982
192
869
906
34
781
146
253
625
80
788
917
888
156
952
969
614
551
272
722
966
127
535
374
889
482
221
865
547
713
153
606
93
720
318
118
889
861
47
703
79
531
366
959
61
157
297
351
989
181
296
51
879
824
794
961
305
815
54
180
950
822
132
144
445
14
768
357
62
33
474
924
806
685
881
43
389
818
690
281
338
168
181
698
281
467
313
827
25
712
889
126
598
303
124
733
892
716
247
303
843
463
406
208
388
372
270
660
573
630
177
131
260
609
594
21
842
227
947
665
298
483
591
658
638
850
800
927
543
407
185
165
577
956
859
51
832
866
33
107
333
77
418
234
790
506
8
663
538
77
317
581
640
754
153
699
143
224
333
843
432
348
534
4
485
96
662
378
562
436
668
620
541
592
777
912
691
126
449
492
104
563
217
939
438
641
752
889
881
834
111
833
436
469
144
295
742
646
487
20
642
154
360
746
610
769
662
772
997
621
493
797
733
825
266
464
806
181
62
594
322
572
710
389
443
608
381
750
798
190
127
434
263
940
909
983
134
817
117
231
807
887
514
727
29
866
814
589
692
2
808
160
904
892
103
304
775
998
999
378
958
32
24
677
472
865
921
653
773
271
663
314
330
682
181
984
203
75
88
53
237
259
583
417
543
148
130
88
853
11
266
811
203
337
45
630
152
706
238
31
390
946
386
678
179
987
203
768
527
994
606
748
378
802
899
436
400
173
212
624
116
143
335
864
270
532
517
474
259
746
623
733
444
153
283
909
914
624
327
966
31
344
819
822
706
607
505
531
887
114
316
80
194
257
860
357
971
945
496
409
295
824
697
337
620
146
849
50
835
117
588
597
456
289
24
24
570
453
941
514
936
514
175
73
320
68
877
180
775
708
305
632
49
640
122
268
724
840
917
393
30
808
802
501
452
961
511
303
440
847
349
204
510
646
747
77
6
886
922
612
627
896
305
559
568
304
37
924
816
763
752
511
664
220
316
287
30
228
970
659
504
203
533
177
363
96
938
86
960
601
399
886
27
926
925
298
400
138
739
61
598
265
390
547
525
675
1
518
260
717
141
240
534
267
270
774
56
595
563
525
250
928
212
9
355
201
945
373
65
731
622
419
54
979
229
746
821
151
505
162
225
82
722
689
985
794
865
354
217
103
562
410
730
892
625
828
444
7
15
696
792
235
357
602
337
526
871
248
219
404
746
275
215
526
515
746
356
473
967
801
58
140
470
759
704
569
396
350
408
658
445
797
501
925
331
211
905
473
209
117
140
327
659
952
185
573
839
95
793
110
621
275
132
372
128
255
849
74
138
302
714
889
222
288
31
990
331
221
910
542
774
631
306
567
195
513
449
82
175
460
949
46
586
222
348
444
652
157
379
801
951
959
510
506
298
595
623
595
474
609
837
68
321
819
530
388
567
950
631
528
72
960
88
842
887
626
237
58
645
458
469
913
287
202
199
278
110
926
654
176
396
241
389
708
671
243
765
785
749
614
869
512
303
702
442
199
630
511
460
313
668
300
919
78
74
841
264
84
364
500
614
996
686
993
625
396
801
38
390
851
217
166
261
538
264
630
819
140
57
705
572
283
953
633
78
466
90
180
346
308
61
14
341
943
571
139
350
554
188
198
764
387
954
758
568
32
630
628
456
433
860
832
38
851
367
126
10
977
584
835
562
484
778
372
498
584
845
975
752
549
397
108
12
769
694
486
162
612
260
864
128
271
738
581
489
794
633
328
912
740
145
802
89
195
190
658
312
469
64
702
288
401
922
335
70
62
414
75
228
608
344
391
505
194
207
197
241
115
791
84
786
847
831
773
983
211
856
356
547
675
970
553
822
739
278
662
984
383
91
826
214
834
814
995
757
271
659
248
56
623
914
186
354
346
533
705
258
893
243
826
742
619
183
178
15
13
341
374
448
517
689
807
529
608
991
292
410
526
674
622
152
771
78
295
233
474
603
636
207
835
3
32
689
98
131
268
961
950
937
795
602
780
415
292
497
20
492
82
454
609
576
783
470
737
574
95
346
155
724
752
983
755
505
505
164
601
237
438
73
260
689
72
74
135
209
459
553
457
383
940
699
731
245
281
182
755
374
706
599
730
30
707
417
650
613
578
912
853
353
359
224
597
100
214
274
553
494
330
696
371
581
71
380
836
175
499
458
700
850
348
793
954
484
188
101
182
711
853
873
622
444
131
134
767
899
378
939
631
173
961
190
299
508
405
16
26
788
666
476
921
735
246
798
232
493
733
707
331
985
926
670
767
525
922
5
183
629
401
925
452
878
888
509
135
994
947
514
244
985
105
685
324
344
799
968
106
784
798
565
285
947
360
335
543
841
839
412
576
492
591
253
704
463
817
545
649
431
377
527
194
965
742
320
706
36
982
815
999
526
75
488
588
219
912
293
151
305
63
438
953
433
762
402
41
754
569
51
259
176
894
59
523
278
860
160
333
929
17
922
200
700
60
845
536
558
1
592
538
183
231
64
801
488
517
855
698
544
269
346
49
205
321
325
244
137
102
547
779
873
276
117
107
726
870
892
823
132
438
388
453
26
58
806
550
370
789
887
357
844
790
263
44
13
448
852
417
978
729
643
8
655
446
887
713
327
307
339
432
54
394
671
746
856
225
602
280
310
623
617
257
373
446
348
726
772
634
839
69
269
123
944
704
475
941
52
346
659
181
183
787
156
627
250
920
602
504
949
676
153
213
295
564
315
934
314
807
733
654
764
378
568
542
48
855
655
559
682
661
678
875
777
143
19
955
985
933
780
140
293
238
692
192
851
981
305
526
739
249
875
800
238
96
836
125
658
589
608
397
263
876
764
161
158
235
250
979
265
249
433
481
666
740
262
163
685
613
686
511
14
532
816
225
113
227
993
147
855
252
51
11
121
262
594
268
625
172
11
56
743
142
313
854
571
938
581
486
714
81
998
889
548
180
960
547
838
950
732
523
601
748
477
827
89
882
262
202
559
583
801
525
317
246
316
703
125
524
842
317
665
890
732
311
214
528
902
693
64
804
572
567
511
112
863
803
421
584
651
308
499
13
476
178
357
355
165
960
440
339
51
893
617
37
322
275
51
740
83
3
505
104
173
990
858
354
640
336
971
234
58
94
471
566
536
987
195
480
347
679
266
830
618
66
798
881
394
562
214
84
692
572
40
629
896
159
840
534
909
431
603
209
64
294
560
804
648
72
846
145
295
919
878
754
200
92
628
254
262
938
174
453
819
853
70
539
607
604
91
98
907
103
864
137
655
185
737
890
425
932
999
943
826
866
211
143
792
664
11
825
678
85
170
130
858
507
126
558
742
767
445
462
721
46
902
884
595
157
932
985
457
912
241
335
823
222
250
504
65
201
881
717
826
804
906
814
164
496
725
398
616
12
948
842
253
539
636
794
50
530
361
892
586
929
546
702
170
827
668
283
958
385
995
368
570
451
502
887
949
436
475
436
977
877
120
341
440
610
173
179
457
618
99
953
438
449
997
651
935
544
709
573
521
942
979
648
952
630
697
937
444
196
434
642
824
583
469
278
716
445
479
58
648
52
910
195
196
706
776
559
810
385
335
66
2
683
618
223
937
137
296
527
295
744
716
756
461
781
251
774
731
51
297
145
223
342
316
721
634
175
392
382
789
896
604
268
191
788
405
165
412
152
872
215
221
247
343
711
807
565
488
584
312
165
314
90
167
698
928
363
391
302
160
704
106
783
312
953
11
344
328
822
433
682
714
826
915
419
357
315
957
722
225
177
685
419
585
967
730
96
14
570
503
471
938
36
420
790
883
873
354
128
923
931
721
251
31
974
199
121
177
174
991
240
45
76
936
746
197
14
542
595
335
560
178
231
103
372
248
835
502
713
178
646
559
979
409
844
398
827
425
208
198
869
34
60
834
434
727
45
189
622
988
905
207
709
825
767
787
991
650
386
506
305
845
417
988
820
40
101
459
133
131
628
655
387
566
83
789
871
267
90
724
574
831
204
838
203
336
629
354
503
163
89
20
78
711
511
137
538
814
756
876
488
941
774
727
791
979
423
685
556
522
693
503
535
82
206
895
930
609
700
135
158
988
653
846
772
968
334
151
563
85
332
531
857
722
75
892
153
390
915
385
539
681
114
439
790
124
478
336
623
328
420
407
392
423
977
598
395
736
665
689
35
107
82
972
344
985
853
535
725
697
865
604
336
878
722
573
236
82
9
477
262
995
264
629
634
544
527
95
428
399
941
466
414
33
182
118
213
540
416
805
373
891
60
920
761
151
905
243
616
448
21
325
714
203
463
915
351
148
974
993
286
204
793
47
351
159
173
207
160
396
409
720
245
618
20
40
6
659
235
502
15
949
48
149
632
167
976
775
357
929
63
675
27
92
834
893
799
426
654
995
829
918
412
523
706
981
504
309
981
152
874
792
593
672
239
306
597
502
715
89
361
917
754
390
306
798
694
653
373
161
224
209
588
229
789
290
509
608
263
476
891
684
241
856
579
437
940
317
518
253
21
343
767
163
594
638
585
186
305
709
974
79
673
244
547
864
787
787
224
955
48
702
70
577
917
911
507
416
500
191
271
169
384
108
730
671
348
812
593
841
438
969
645
528
429
117
826
670
884
574
915
871
862
831
67
639
811
69
708
7
343
1000
604
235
418
772
455
583
885
78
30
911
492
912
686
987
243
664
82
964
386
362
67
402
467
891
975
630
567
999
46
954
287
706
272
450
86
524
750
618
297
523
530
197
525
880
24
811
138
991
271
933
278
623
760
856
135
869
18
978
229
853
911
724
107
236
440
853
170
579
826
748
291
533
864
494
543
625
821
230
599
174
677
290
325
441
101
109
661
714
380
744
150
431
455
123
358
803
325
805
1
668
352
142
810
437
401
182
36
102
342
596
15
212
176
174
413
622
894
165
608
605
291
836
155
601
83
171
436
489
95
514
424
762
753
345
916
392
814
67
765
508
68
879
371
222
760
307
155
50
574
967
819
462
359
479
947
968
192
226
901
63
9
815
30
59
764
711
920
522
41
470
794
586
58
416
191
893
306
393
737
292
377
455
169
709
153
928
776
793
161
352
41
58
816
196
624
210
232
94
762
304
490
571
783
159
569
903
732
187
598
777
14
457
772
878
570
286
35
433
343
163
588
943
689
99
402
81
951
806
164
777
640
209
500
996
517
928
914
652
423
286
595
341
864
299
134
351
226
915
245
459
966
406
780
597
294
477
682
354
669
105
37
658
891
583
45
662
698
520
580
76
560
792
956
666
783
576
674
665
139
605
233
147
988
766
495
233
236
971
748
139
574
17
340
687
120
794
696
865
976
773
592
445
248
183
803
426
733
656
613
346
863
425
242
32
440
316
928
470
392
927
261
828
71
332
382
546
580
611
825
622
241
288
126
879
591
505
752
51
243
374
610
968
507
507
140
9
951
131
952
243
955
582
104
360
899
205
342
588
803
848
69
259
151
219
373
597
139
328
171
622
758
136
440
710
995
317
506
550
910
706
606
677
504
639
267
748
107
883
571
20
477
249
31
256
929
319
654
414
577
944
713
28
233
278
918
163
563
161
959
165
876
622
834
211
315
92
2
859
273
693
143
336
581
623
243
338
388
229
787
483
667
819
77
370
989
671
77
396
524
951
745
124
243
471
479
968
935
302
214
440
980
265
658
2
758
239
370
810
224
30
695
302
442
291
33
613
804
580
597
259
264
219
565
419
143
20
513
376
994
322
106
400
541
22
292
394
950
456
674
153
551
31
275
951
648
519
692
489
268
764
477
947
500
375
666
981
616
629
537
45
277
469
75
334
970
905
102
979
279
615
716
866
686
814
514
596
437
688
25
652
376
843
966
807
787
224
163
146
16
927
511
883
37
157
862
305
209
357
573
750
170
176
316
550
185
528
845
231
307
455
638
81
381
892
737
400
271
728
634
369
674
721
749
472
567
962
938
869
597
554
423
911
739
105
763
257
131
436
771
681
298
651
785
730
893
309
318
808
691
17
942
192
807
175
157
688
13
957
160
357
597
890
656
813
417
512
269
73
668
705
723
844
430
232
644
436
221
913
763
195
640
653
327
461
682
220
720
574
444
279
659
398
770
700
859
136
832
539
682
967
788
450
177
188
401
475
837
69
981
305
581
617
67
143
733
786
27
230
244
464
170
961
990
706
995
251
759
325
940
497
439
874
367
31
15
502
523
433
200
938
938
472
916
79
28
699
394
265
688
938
344
350
306
1
523
98
947
966
21
275
404
255
778
42
452
595
146
891
919
635
801
442
106
647
968
849
699
255
665
442
545
602
685
510
592
693
94
779
819
911
302
265
221
876
194
618
796
870
361
21
964
32
216
975
99
410
675
14
622
725
107
529
671
430
468
375
462
198
896
870
293
523
551
142
609
506
147
492
644
208
455
621
978
200
42
77
726
49
637
289
217
522
820
867
743
246
171
655
356
370
626
183
769
592
563
756
127
511
21
388
771
883
589
224
166
792
676
840
842
164
292
81
534
313
23
645
705
405
538
708
292
832
883
253
833
492
777
646
66
866
330
202
766
630
902
168
813
234
327
561
448
526
346
794
257
38
891
866
674
970
821
165
684
304
809
613
985
666
334
971
68
789
179
595
569
440
377
844
726
678
295
642
35
181
447
389
960
167
635
559
110
125
265
798
405
170
986
325
609
352
370
700
16
634
970
834
256
607
956
190
924
202
485
747
187
806
111
199
613
221
837
250
216
846
848
648
107
314
586
756
200
569
578
41
153
24
360
880
78
19
903
438
586
260
178
207
429
319
903
981
334
525
32
673
611
818
274
391
789
185
758
609
836
346
999
128
475
244
470
734
745
702
419
115
234
381
57
665
322
729
859
229
396
228
540
741
230
608
207
964
613
129
282
200
902
205
84
957
347
870
341
22
962
617
505
286
187
120
471
990
816
253
166
735
482
561
552
757
493
79
764
435
973
961
459
984
61
888
989
568
393
668
645
840
214
699
79
53
243
260
959
421
848
659
87
397
189
353
460
881
713
65
253
126
810
793
258
338
484
348
127
480
624
721
642
844
808
155
337
302
627
258
21
977
187
885
139
279
783
793
443
847
758
282
163
985
181
105
713
585
316
968
975
379
813
824
385
589
150
7
368
698
184
951
135
107
537
886
518
919
204
441
294
931
961
505
401
209
76
75
567
276
406
54
119
47
129
120
183
122
290
886
22
936
817
500
31
594
883
748
778
890
322
492
513
161
281
980
785
114
486
150
166
714
275
558
561
551
18
983
305
820
702
73
18
235
183
595
211
708
92
37
756
612
439
288
629
788
716
99
779
258
721
873
608
738
346
64
268
674
330
165
940
484
322
797
313
85
634
901
717
611
759
411
750
405
47
82
791
998
965
316
486
813
973
959
138
745
411
19
975
606
698
174
404
680
835
779
716
247
411
764
155
8
305
476
944
806
831
49
599
881
332
313
885
190
140
619
790
973
360
212
234
868
173
917
599
327
211
21
747
996
83
154
964
50
331
889
86
122
925
551
184
646
899
425
320
904
888
136
284
27
152
508
723
508
100
588
720
537
491
856
761
622
242
872
934
492
210
717
416
247
416
648
544
84
924
306
241
703
970
688
177
661
38
829
787
527
245
802
215
711
821
237
301
174
446
995
981
91
940
44
841
713
100
859
127
289
514
846
194
939
797
428
248
798
37
384
249
569
184
988
989
877
742
285
721
458
410
579
164
260
241
826
361
6
484
178
663
619
527
344
55
185
247
803
154
818
657
152
458
851
922
22
867
277
722
81
47
285
447
609
958
975
905
997
747
124
46
336
246
914
738
923
526
113
742
134
318
82
872
613
590
351
782
116
298
216
946
709
89
967
164
198
774
925
391
828
470
384
734
313
670
963
251
202
871
612
560
440
79
707
342
728
202
244
530
956
315
144
349
551
811
66
401
38
725
916
679
530
874
485
726
98
10
217
155
213
904
165
401
511
84
601
888
174
31
579
756
93
743
5
905
831
939
388
425
100
656
526
364
113
602
816
432
709
455
755
440
571
229
464
209
236
938
736
217
821
49
224
502
574
655
821
160
411
829
232
372
585
404
4
7
493
278
15
748
447
391
505
157
893
734
288
236
178
94
680
895
467
763
42
146
833
84
538
21
830
580
886
941
122
325
430
733
845
429
781
565
416
734
703
827
467
321
622
362
396
5
372
567
818
764
330
529
832
977
111
790
602
399
376
332
222
65
110
79
212
666
929
520
279
515
611
104
167
904
32
659
525
511
154
438
720
536
501
336
444
404
852
451
758
216
462
445
972
576
239
95
362
105
706
2
278
710
486
687
630
644
284
210
96
494
44
990
638
500
22
724
92
19
16
206
643
545
884
315
994
389
795
690
894
48
343
406
490
324
791
478
668
438
215
179
117
767
271
957
392
320
595
204
636
763
642
262
954
602
859
810
636
135
699
232
591
910
873
642
345
726
664
998
940
661
861
124
893
221
48
552
133
455
595
771
514
825
646
867
40
665
832
572
429
315
214
395
33
393
182
884
384
228
635
41
870
151
823
566
103
221
603
938
580
958
749
281
127
852
160
594
443
695
467
207
783
320
603
260
446
915
324
580
275
923
586
594
816
454
892
808
127
252
456
951
498
530
78
85
475
401
124
878
693
193
900
730
941
703
25
662
817
286
82
702
76
763
974
990
489
307
921
2
619
814
949
74
429
823
77
906
50
654
125
806
350
319
231
257
174
697
697
791
240
634
771
256
744
897
291
325
624
381
945
462
333
567
21
663
676
986
148
968
966
371
492
146
300
253
274
947
236
988
292
35
533
585
303
32
901
248
784
114
895
271
557
239
198
728
241
418
534
475
290
381
357
99
630
641
299
812
555
194
63
734
591
86
88
683
496
614
847
353
418
208
86
733
525
932
642
714
83
106
767
96
29
765
4
632
618
538
766
313
555
69
722
836
393
283
977
75
631
630
820
440
93
949
510
173
669
757
170
39
453
539
347
315
604
133
229
717
44
379
825
689
210
15
611
459
659
214
314
433
264
258
510
763
110
587
681
390
980
867
189
462
474
794
428
804
403
20
33
13
101
34
605
848
660
785
911
800
926
562
855
129
283
986
824
188
887
935
225
558
993
917
78
375
505
684
585
245
643
862
479
299
923
991
776
295
241
638
285
114
950
206
858
668
223
610
894
21
923
288
57
475
409
881
519
460
428
490
287
381
313
630
335
930
178
887
350
990
736
782
828
978
616
568
190
358
818
490
343
96
17
574
796
43
965
120
72
572
170
926
635
320
347
704
960
549
912
299
722
463
871
62
267
815
90
211
682
241
816
61
798
102
731
776
434
14
563
701
997
894
484
367
341
83
72
7
437
40
632
776
961
184
60
906
415
666
220
692
734
270
38
579
650
172
105
584
256
975
631
962
329
329
978
324
961
408
879
383
969
742
655
130
359
169
407
517
863
206
193
655
176
733
683
133
71
712
629
311
9
590
757
330
206
143
393
163
372
803
168
229
510
901
694
967
223
851
947
314
939
18
434
182
368
930
897
896
270
488
450
53
321
88
552
389
445
866
128
83
508
844
527
370
656
382
699
475
918
188
149
626
904
113
764
393
563
102
570
633
14
953
846
102
368
1000
776
198
363
432
25
335
342
731
170
197
783
626
952
462
162
35
658
632
400
700
799
293
510
608
408
451
383
837
934
603
794
155
709
856
854
579
389
702
113
86
618
39
431
856
402
640
570
751
296
556
155
206
607
870
309
349
233
808
789
973
644
468
883
911
776
323
717
493
273
217
810
9
636
796
946
539
260
161
446
68
305
109
931
547
607
447
522
445
548
769
232
385
929
538
973
650
412
482
226
700
6
139
905
374
417
819
365
90
836
407
830
202
848
179
723
649
728
275
525
164
344
505
821
621
231
990
128
514
194
463
960
217
965
177
331
386
16
43
555
833
637
18
790
220
754
777
211
218
808
387
117
100
163
54
530
333
202
4
57
399
204
205
876
945
611
961
716
382
36
358
601
207
698
188
966
653
517
227
460
761
247
694
376
593
403
321
212
111
662
668
279
186
657
277
633
313
761
770
864
879
561
250
441
225
180
194
366
359
540
606
869
855
915
336
763
413
878
339
864
568
822
146
550
240
768
941
170
178
124
503
485
878
342
672
759
182
210
184
407
640
632
444
371
669
299
275
484
683
634
767
138
671
746
80
523
140
881
475
529
965
69
900
180
420
228
179
116
612
969
216
209
604
761
657
887
735
911
150
91
58
1000
648
104
323
68
262
672
677
833
737
931
66
663
22
667
380
858
305
342
498
33
537
143
780
44
749
21
967
941
372
340
149
902
417
262
201
956
535
461
85
583
981
103
485
944
969
268
523
588
195
175
728
968
130
619
983
997
243
12
932
157
476
299
201
423
148
806
832
332
961
761
537
81
929
848
732
450
858
636
808
677
484
144
804
167
490
137
428
33
387
937
371
62
715
704
21
611
68
136
931
332
230
519
881
387
84
876
970
997
41
739
933
727
427
709
800
940
664
573
91
207
82
158
967
295
910
564
153
540
306
622
983
27
320
680
628
51
300
877
412
712
584
90
145
362
277
651
570
858
539
729
331
214
88
21
372
286
552
16
307
616
898
612
76
386
408
351
195
727
598
844
962
303
990
232
285
162
919
706
205
344
375
125
744
637
455
812
470
157
149
439
31
143
45
703
982
493
35
226
391
50
232
651
114
596
169
464
93
853
746
455
743
509
594
42
287
444
223
951
900
877
819
799
645
125
617
244
493
13
512
247
159
756
13
878
98
305
664
826
759
736
791
459
124
249
814
819
635
732
360
445
830
667
150
267
411
332
905
106
1
905
584
531
561
54
867
885
273
67
126
330
725
376
107
652
402
580
134
391
800
728
958
589
973
649
286
67
963
607
628
694
334
393
342
536
23
250
659
138
774
718
36
439
738
533
394
972
201
235
675
90
991
34
672
913
859
754
286
586
983
425
191
204
839
175
381
476
820
617
258
784
406
820
677
804
147
348
883
255
420
499
361
683
734
125
414
386
356
870
718
731
130
701
182
142
710
898
213
996
815
517
855
475
793
442
362
239
462
778
463
368
196
303
957
672
230
94
296
865
440
252
504
532
213
854
136
85
577
863
929
88
453
776
531
447
769
184
903
955
149
282
62
598
111
565
357
831
974
652
820
792
217
169
29
4
620
115
532
691
336
1000
109
259
994
301
71
838
27
462
338
46
687
750
278
292
646
778
117
6
616
375
323
150
190
811
477
248
993
83
54
965
234
79
982
954
8
959
36
273
12
28
903
210
865
694
254
740
895
856
244
155
77
197
670
658
784
441
441
810
158
541
91
770
199
177
839
218
110
691
78
679
71
756
256
743
338
680
816
319
518
218
227
643
915
162
191
224
113
799
763
287
300
508
497
590
424
393
694
622
949
890
507
369
840
666
950
760
427
12
845
875
950
135
332
789
934
417
880
643
1
755
638
186
387
554
590
543
204
816
195
430
454
22
110
362
900
203
158
681
169
665
912
362
863
317
130
653
53
463
834
552
255
211
961
26
853
361
413
645
13
739
784
13
313
495
217
958
664
767
646
963
622
476
154
734
868
757
287
89
420
649
945
624
183
258
924
695
517
524
232
318
839
124
109
526
721
786
19
566
526
488
996
82
415
570
409
76
477
816
597
30
772
921
845
21
365
575
867
61
766
622
298
158
770
321
684
820
365
810
134
779
257
258
80
759
550
51
591
996
311
572
274
38
55
816
94
96
674
85
376
823
981
518
847
946
824
31
804
615
664
540
427
695
650
7
784
449
452
933
322
262
556
405
483
96
284
715
627
340
545
858
631
622
210
924
357
908
32
522
701
919
258
883
76
498
415
232
982
66
276
328
811
690
672
838
126
652
659
332
444
584
501
261
5
394
99
208
51
233
773
96
958
693
748
803
889
281
325
776
759
970
452
877
986
281
351
630
881
913
929
470
554
449
913
369
912
978
64
454
656
831
353
806
170
774
685
687
871
117
611
854
883
194
491
435
872
606
725
117
489
389
7
9
163
46
32
610
907
971
724
776
403
347
845
417
854
45
809
973
43
391
608
334
532
927
37
9
220
450
823
801
284
685
832
161
122
927
253
673
35
838
572
868
283
425
163
628
612
846
538
20
509
371
649
265
267
246
165
938
389
694
283
192
986
550
486
962
617
281
634
660
426
264
905
823
556
218
404
533
539
654
707
228
771
35
214
652
251
98
938
332
475
456
304
898
734
164
557
21
110
393
674
490
147
764
1
187
500
156
425
339
889
994
561
414
300
144
322
491
729
528
205
752
693
478
857
966
372
689
752
518
535
334
325
550
301
537
543
273
420
952
676
332
980
609
988
430
352
570
178
39
749
166
652
149
1000
762
146
474
985
58
765
447
735
918
269
603
373
573
298
714
900
868
288
92
361
883
13
41
32
869
69
350
134
953
109
44
985
458
311
371
686
21
386
118
160
900
433
936
831
11
44
280
312
229
401
958
219
506
534
38
619
108
509
46
707
127
96
968
989
6
386
567
653
437
870
903
806
428
765
766
973
743
743
931
567
185
749
746
43
394
316
620
125
938
632
353
766
449
627
142
493
517
514
275
412
822
548
230
407
738
251
896
27
274
975
133
119
719
493
715
532
859
223
8
118
921
843
374
807
691
263
412
743
416
396
601
377
138
694
832
881
111
186
611
499
823
608
411
225
918
303
778
759
27
716
321
788
104
708
618
495
362
411
438
631
327
4
385
633
841
638
246
19
69
695
839
769
686
727
164
446
478
694
976
581
505
584
700
261
847
104
781
889
693
879
121
825
211
539
294
973
173
127
557
427
825
503
549
947
837
811
722
403
473
604
185
300
305
939
675
173
893
611
770
921
867
675
296
149
756
638
157
186
705
946
396
722
985
958
408
962
786
161
654
780
363
231
87
575
9
453
791
482
698
158
985
109
499
61
660
214
10
830
565
592
134
776
190
970
498
296
683
919
687
575
333
584
258
116
388
581
187
847
476
536
4
922
848
540
370
853
961
295
274
249
701
824
324
314
652
384
856
168
391
692
694
274
739
642
432
474
276
424
70
630
170
395
665
469
576
89
408
971
427
465
236
588
440
873
600
630
538
258
544
406
708
776
566
82
523
365
84
777
145
796
467
92
690
391
721
152
215
896
918
248
458
969
359
308
685
365
296
789
633
168
738
44
620
384
524
849
314
744
353
590
555
893
931
536
855
951
725
756
915
84
63
473
555
861
522
95
958
103
543
710
8
411
260
592
824
795
358
131
282
613
577
648
452
572
184
775
359
663
315
393
460
738
600
699
507
879
903
571
244
851
317
281
511
693
775
552
884
954
784
113
944
146
810
198
631
762
781
866
892
592
45
648
46
126
855
790
824
575
121
250
78
370
732
727
516
81
239
190
634
323
50
791
224
619
582
573
452
129
30
101
512
849
452
975
308
175
959
226
423
697
619
744
887
706
584
218
920
185
607
559
832
973
789
393
766
411
912
31
807
982
162
248
265
408
391
342
601
191
328
156
561
819
308
225
582
724
145
739
390
607
773
766
60
939
131
62
488
258
569
833
337
437
750
37
64
173
600
126
523
835
395
696
23
218
447
132
399
892
204
201
860
634
778
495
881
814
58
775
396
762
591
584
894
827
377
901
801
295
534
260
702
348
590
481
552
6
789
125
987
325
368
807
277
174
258
775
240
603
6
527
644
142
40
806
261
367
556
966
728
740
434
624
816
19
573
471
537
511
960
300
751
62
598
665
602
954
142
2
118
815
729
755
838
239
19
778
114
57
896
287
75
107
654
700
876
917
714
998
944
905
106
641
445
609
8
651
51
962
604
212
439
818
398
12
604
775
933
618
241
851
527
342
921
695
240
455
751
858
826
70
506
83
770
730
6
720
908
529
598
137
265
597
214
433
962
900
388
854
5
612
5
66
761
769
319
819
749
499
950
630
145
924
154
795
42
705
654
437
95
306
718
312
638
277
955
784
753
239
524
717
33
803
63
40
18
352
667
378
329
469
650
468
565
825
698
25
936
471
223
374
402
856
386
408
836
322
322
399
343
501
539
748
408
820
330
46
992
267
327
675
40
685
969
778
112
118
772
622
32
152
762
254
488
778
323
875
513
22
27
553
650
483
713
729
373
960
194
454
68
565
504
480
433
37
501
109
683
532
6
179
365
803
366
695
883
511
493
383
72
407
988
875
294
233
890
346
538
527
983
139
995
916
360
351
375
135
92
376
25
730
472
160
562
368
274
247
284
701
853
770
111
15
735
189
204
229
536
940
642
406
681
146
802
595
393
199
120
705
865
338
964
113
359
285
228
887
207
674
94
813
346
225
125
919
57
614
476
806
50
515
567
905
893
595
967
722
54
108
639
231
504
316
889
867
914
159
583
954
958
496
222
994
149
741
453
990
912
918
476
829
323
995
595
833
62
851
839
752
623
399
194
853
779
169
484
270
624
146
355
426
235
772
123
192
174
799
483
424
577
110
199
626
548
721
931
833
933
926
304
214
326
950
161
514
323
521
707
241
652
507
912
378
751
136
93
516
808
315
100
508
50
292
874
158
276
215
454
967
271
148
702
700
713
763
106
351
665
226
23
142
519
775
650
317
563
84
812
850
918
830
386
642
707
758
824
449
733
180
739
548
824
65
2
105
278
779
113
344
502
103
886
829
41
386
637
633
665
510
139
720
90
954
567
609
203
339
565
266
372
755
315
221
542
613
217
115
327
948
356
212
234
901
468
958
513
558
493
312
830
492
158
409
135
58
221
99
624
8
171
38
686
21
179
301
42
521
71
947
107
549
926
555
737
523
644
530
142
425
531
891
696
327
467
315
826
216
722
473
895
723
876
41
269
756
558
353
321
976
925
339
172
748
903
252
396
507
219
698
734
410
146
668
112
820
726
575
904
395
939
790
428
526
929
818
124
439
923
21
725
533
937
788
8
428
688
108
377
740
415
818
627
860
450
160
725
816
450
918
320
905
194
73
28
897
704
861
219
505
250
121
165
278
487
38
907
243
569
745
161
440
598
747
877
926
162
810
824
991
52
790
733
82
453
831
46
345
54
534
305
850
534
962
579
233
845
824
84
949
555
753
322
374
260
401
689
688
743
945
428
884
136
711
260
235
783
831
784
263
920
251
966
587
551
941
653
25
89
856
52
959
446
79
552
332
252
551
108
542
788
984
630
186
46
891
468
841
48
115
144
22
184
905
936
50
872
365
784
792
273
61
246
170
158
680
939
855
265
878
946
823
659
896
184
272
654
96
624
981
862
276
536
324
778
541
656
47
123
542
293
347
849
73
891
23
301
412
502
206
561
273
972
691
374
910
348
994
406
762
193
37
787
971
28
798
39
285
80
369
501
110
898
587
332
968
126
826
3
179
961
589
955
391
346
254
749
471
976
711
617
356
583
635
785
699
751
847
317
519
743
541
533
623
423
155
222
261
378
320
985
328
771
633
45
451
299
956
779
446
855
577
16
994
142
832
917
817
552
750
830
311
61
829
94
379
768
350
174
135
980
491
885
294
396
105
696
287
75
200
279
588
300
78
535
305
407
565
293
811
897
9
771
89
896
494
662
508
123
291
411
940
46
648
836
495
843
891
768
652
108
232
773
237
993
817
358
542
601
340
274
819
25
949
665
568
367
299
840
303
434
326
400
926
593
729
289
479
434
216
102
768
463
267
630
284
73
552
213
949
377
172
921
397
351
564
975
928
905
260
110
803
118
693
766
234
912
877
89
319
838
119
746
129
517
874
450
375
479
480
916
376
818
783
693
545
117
617
956
241
564
652
851
626
32
431
463
138
189
251
799
258
349
175
442
553
892
602
707
370
537
773
164
140
684
41
402
973
301
991
767
143
584
269
601
53
685
543
195
529
381
101
277
603
415
471
353
480
644
862
630
54
806
366
582
143
907
652
409
625
765
282
822
769
195
922
567
359
706
406
79
658
333
76
501
874
413
829
46
530
696
54
347
89
164
993
12
232
341
103
76
444
659
655
400
923
682
196
391
397
560
431
570
126
155
799
644
199
682
277
726
300
521
950
266
227
153
472
62
819
755
855
466
401
78
936
500
507
691
457
162
433
511
975
627
118
841
680
395
955
796
778
712
416
77
323
720
767
567
239
898
740
85
787
295
757
960
963
946
199
788
104
676
226
841
504
132
899
141
987
544
668
97
196
173
838
992
828
849
262
292
140
286
370
927
882
126
590
245
187
747
377
272
78
952
361
317
1
560
549
683
159
795
160
471
529
109
409
1
126
741
477
400
462
889
992
287
179
828
560
273
516
700
300
233
611
993
836
901
628
898
953
350
377
853
937
378
374
579
657
625
273
817
598
489
221
809
403
575
955
269
935
441
420
249
529
861
236
799
889
722
639
811
41
893
380
739
843
128
655
187
848
111
343
473
689
270
698
381
788
856
177
270
857
104
272
589
608
4
40
631
87
287
540
65
277
811
532
373
951
410
597
811
285
615
311
961
401
415
226
218
825
341
188
804
865
732
953
25
991
982
167
520
655
951
499
195
398
470
141
394
707
72
948
583
866
634
181
534
929
640
224
506
57
143
649
447
665
307
696
578
215
642
577
34
60
630
8
422
403
475
24
237
331
148
453
124
877
693
368
827
220
52
486
543
500
266
738
75
149
984
189
837
332
672
47
290
845
767
795
822
793
291
326
461
458
135
578
24
50
280
326
502
434
736
713
540
511
855
586
820
668
986
920
74
579
156
428
212
710
550
983
748
60
118
587
319
34
524
483
571
864
29
429
129
646
597
304
659
902
693
971
265
552
765
776
592
313
385
150
51
848
376
505
497
426
10
59
586
463
577
246
736
95
155
101
325
810
452
389
309
303
950
261
896
878
400
896
337
180
921
975
141
525
565
760
227
832
251
276
635
3
356
338
403
617
141
194
148
964
370
117
692
775
178
606
802
493
255
763
750
547
899
3
916
915
331
529
130
178
971
865
760
408
999
344
850
458
667
620
724
688
260
188
592
680
555
383
628
285
877
558
879
176
592
929
173
181
993
131
847
813
24
621
754
827
252
939
481
98
800
232
144
812
718
645
427
788
391
882
770
701
152
754
731
153
219
545
579
811
443
840
140
271
108
821
730
949
243
109
808
20
426
950
597
377
111
906
532
646
864
256
829
519
709
971
878
62
6
494
442
198
861
541
809
265
136
788
201
398
515
628
680
517
937
142
760
837
925
53
714
190
26
708
309
869
574
67
319
414
491
279
716
476
681
645
863
921
857
716
403
377
301
780
769
737
159
259
433
524
347
366
39
610
45
935
570
503
70
494
580
321
89
514
270
598
810
247
937
271
734
729
867
564
54
330
295
990
547
706
429
351
114
108
876
466
706
820
26
314
972
889
73
429
899
431
395
677
86
539
959
993
59
205
251
263
222
754
14
298
610
979
710
771
601
564
195
49
153
377
594
110
912
930
703
86
763
635
573
559
2
472
75
395
328
341
409
789
283
704
446
196
600
43
777
986
159
328
109
997
890
939
397
629
30
430
726
776
577
108
482
667
668
663
814
662
865
969
721
124
16
741
357
783
447
960
306
406
709
834
666
160
27
605
715
818
878
688
851
791
851
462
266
74
28
561
505
337
690
625
664
805
34
301
488
29
941
770
35
353
583
146
896
712
776
928
179
343
575
84
599
162
515
448
44
841
322
856
951
66
646
865
640
75
561
924
543
317
171
624
904
23
612
995
103
518
202
860
230
369
207
934
910
832
984
708
672
602
809
140
343
587
765
836
49
273
461
722
414
257
202
157
440
694
471
62
409
746
213
944
811
575
483
582
1000
85
462
783
760
391
726
817
433
964
896
88
618
485
513
110
664
727
19
125
398
180
266
516
549
732
815
756
323
425
637
753
465
220
507
362
927
731
508
268
951
83
574
646
971
435
944
773
260
180
705
280
645
544
376
801
915
96
602
598
822
690
582
148
638
483
835
792
324
963
251
258
273
388
142
324
458
634
204
892
556
196
875
503
300
51
545
669
848
102
509
439
470
219
314
299
197
238
386
832
386
830
432
598
342
870
123
295
229
772
998
619
518
283
367
182
121
382
221
469
184
277
805
111
237
958
563
658
20
398
626
657
852
313
870
59
835
306
845
908
560
369
558
800
213
926
169
841
144
85
148
682
47
273
341
744
848
220
698
956
294
99
113
113
27
707
943
530
584
751
307
752
427
663
178
945
535
894
611
25
569
290
207
707
894
981
49
468
985
207
882
793
867
627
304
222
290
963
57
429
244
273
310
978
330
761
989
459
188
786
791
421
897
661
507
899
807
895
687
348
738
780
471
492
859
598
614
936
862
264
358
366
211
947
818
865
373
34
987
109
921
839
268
249
321
608
723
852
39
728
836
578
303
481
671
197
513
380
727
144
816
860
700
56
792
89
591
635
584
761
313
749
2
974
991
880
360
745
690
937
806
274
149
926
935
799
439
217
310
774
154
925
340
152
860
472
625
750
50
524
491
24
779
297
958
100
486
727
749
593
245
88
333
526
846
425
144
696
638
633
315
937
43
54
251
26
4
268
344
455
400
96
953
855
650
955
549
669
289
367
577
545
312
838
146
34
462
313
150
374
440
137
791
561
241
757
755
432
403
429
503
186
5
813
224
632
669
683
4
471
633
924
671
70
250
606
617
527
844
230
581
296
979
139
55
301
600
714
462
222
398
188
742
629
8
850
292
722
334
926
502
692
380
698
240
171
437
231
758
769
398
654
422
459
253
110
580
448
539
315
650
228
618
189
205
661
202
166
441
379
434
584
900
211
208
47
757
94
117
759
266
682
587
601
216
910
280
185
354
860
850
166
772
598
442
891
213
85
155
817
86
888
817
235
721
158
41
514
99
286
486
481
813
702
675
562
517
521
501
7
488
134
765
844
224
380
719
236
180
626
579
527
843
962
426
614
376
707
741
208
934
602
35
217
595
398
729
697
585
6
428
829
70
38
257
899
359
353
731
556
779
165
955
503
855
386
575
329
657
135
35
436
360
765
142
852
122
337
861
277
340
195
557
861
273
183
605
110
742
109
410
738
368
230
402
503
369
913
474
842
457
121
705
577
794
71
910
125
264
195
729
376
562
551
512
872
709
953
201
994
671
389
804
629
655
737
803
155
560
408
15
687
760
298
20
220
103
351
259
661
546
123
282
817
339
942
454
31
41
680
611
554
934
664
791
705
615
976
173
521
605
249
791
949
868
55
420
537
999
175
268
260
687
360
756
359
770
663
732
15
831
74
885
290
826
968
47
974
662
852
282
918
10
965
382
981
885
588
454
917
675
313
764
432
401
101
926
141
911
704
787
351
655
893
115
449
408
983
262
144
69
376
529
983
186
137
879
383
444
203
959
844
690
440
166
184
435
605
596
378
982
272
306
17
453
876
245
534
22
370
604
30
631
400
65
993
270
540
664
225
696
866
501
26
109
98
570
55
866
567
352
298
811
561
622
291
140
919
131
55
53
351
434
217
593
611
159
427
206
541
438
516
534
7
54
780
889
900
95
404
644
724
556
340
534
771
373
848
459
499
850
539
941
546
277
970
810
765
827
790
64
745
499
936
78
570
938
653
519
991
473
942
386
726
594
590
552
384
400
112
91
351
261
778
445
52
32
396
171
183
700
676
621
886
271
800
405
315
3
310
907
754
888
523
421
246
373
479
723
677
904
849
6
399
813
341
155
777
439
855
267
484
148
87
182
980
81
290
534
370
61
661
516
769
67
180
82
347
68
722
818
498
846
21
75
927
604
323
255
25
800
621
311
576
650
1
657
711
189
922
652
35
576
241
753
23
623
405
252
95
120
513
219
283
604
884
926
9
694
354
534
328
936
791
302
899
419
187
888
86
65
275
601
828
591
837
607
361
645
692
155
423
480
964
868
331
874
331
44
187
660
853
653
526
411
452
452
908
272
273
218
323
919
962
604
793
921
372
536
204
535
320
403
245
111
801
470
319
821
499
137
395
409
530
652
106
992
85
848
817
751
68
325
2
476
853
250
49
580
36
605
498
106
391
290
822
730
303
940
75
490
611
735
135
236
144
718
779
370
231
374
587
498
121
289
458
10
550
725
591
471
659
874
929
916
112
333
374
808
498
107
602
450
79
49
908
134
507
192
317
121
400
880
165
876
547
922
424
614
109
293
343
317
348
34
375
864
336
68
947
816
602
660
342
705
848
78
887
354
740
839
634
924
233
600
973
840
88
342
933
738
18
28
458
849
362
298
619
26
345
95
523
725
712
352
700
842
1
965
845
214
775
353
119
27
913
821
647
60
434
799
456
959
414
794
875
237
246
535
304
750
888
369
391
748
753
448
816
436
602
605
332
158
113
126
221
962
826
802
27
292
787
747
305
14
562
477
112
776
208
661
142
995
465
746
753
340
661
424
582
706
795
496
103
67
826
256
280
513
472
946
396
4
684
174
272
77
576
468
326
823
749
274
371
922
867
777
595
446
837
921
915
413
157
852
791
816
815
814
611
928
626
212
971
240
58
172
527
288
394
392
610
976
545
543
466
735
956
750
797
995
828
943
276
20
294
958
837
88
312
351
837
389
750
792
639
752
559
769
766
530
1000
92
548
515
573
345
94
770
709
987
501
650
278
305
442
88
688
771
665
430
637
668
470
724
652
24
947
364
121
996
602
458
899
859
12
82
496
655
321
840
495
386
720
805
117
338
526
935
797
784
112
563
201
822
747
375
401
563
343
598
780
218
215
778
842
911
220
616
289
181
75
821
619
215
210
828
2
835
247
537
405
127
99
942
763
393
711
615
485
800
666
547
739
707
243
774
794
131
31
542
121
251
849
497
106
155
575
563
11
254
449
681
219
929
564
567
934
994
546
10
221
532
880
992
687
469
930
88
166
42
503
198
482
955
662
647
733
597
640
77
586
167
876
370
718
916
634
38
930
36
158
138
421
880
69
781
367
317
524
746
281
41
691
527
566
527
265
389
322
184
57
651
726
959
189
474
252
276
55
873
580
740
8
555
297
455
675
445
392
196
916
439
102
882
699
7
901
989
601
769
269
603
178
34
425
779
236
635
390
761
866
57
579
397
197
7
629
783
986
74
313
761
541
48
203
404
984
837
225
33
510
603
335
634
161
938
369
744
574
421
519
43
327
861
994
885
796
902
170
970
872
436
936
200
523
427
997
515
905
372
622
162
692
567
683
438
341
783
878
382
241
727
693
324
98
895
16
430
432
20
309
621
784
353
891
309
68
427
204
422
527
805
894
77
910
537
158
106
839
694
96
339
774
429
732
188
661
421
971
616
119
481
985
8
982
318
447
819
111
175
579
115
670
107
200
313
449
182
831
450
429
754
432
323
479
289
567
710
2
911
567
652
344
962
844
495
31
374
580
968
210
606
882
95
215
206
928
130
829
803
777
47
653
492
261
310
955
106
844
814
533
860
405
883
395
162
653
198
541
227
294
330
695
236
105
356
651
424
828
648
754
426
118
535
182
637
854
992
861
123
770
875
271
838
731
551
948
517
960
910
150
626
180
889
61
194
944
621
880
161
394
235
328
138
307
156
435
114
581
474
937
675
211
580
266
809
442
811
898
166
4
270
769
982
244
362
613
499
524
817
269
830
489
147
511
685
662
548
437
286
347
228
277
97
41
30
276
683
340
989
443
169
880
178
71
239
966
776
361
590
369
810
949
44
232
411
822
306
153
790
941
460
288
295
847
874
743
102
694
129
639
100
419
969
945
467
226
998
621
295
171
99
630
385
368
43
119
970
305
828
442
701
784
624
710
728
257
46
255
49
724
636
716
609
877
110
482
822
895
888
846
290
152
888
556
482
94
389
410
62
732
5
162
373
508
453
285
300
780
862
67
363
811
817
119
439
923
206
613
947
465
189
457
670
309
319
218
668
866
891
755
864
61
110
460
976
221
549
490
449
625
681
574
875
312
976
822
242
795
150
454
986
543
702
517
454
433
787
484
879
895
797
77
377
145
776
779
797
710
943
302
481
454
130
673
117
430
912
729
905
203
584
535
191
691
873
652
596
250
497
242
395
416
222
698
567
693
83
896
531
811
841
140
17
154
500
610
925
385
980
425
315
902
615
451
840
417
166
621
63
816
494
871
71
492
838
724
746
470
906
207
832
16
619
55
699
861
405
81
297
843
401
191
372
537
780
782
408
415
681
129
155
161
937
969
824
61
807
667
217
765
498
264
102
341
71
177
132
224
684
578
498
591
823
247
252
715
261
249
985
53
32
901
86
186
631
324
358
242
964
336
158
91
337
559
534
441
907
400
94
930
553
990
419
468
127
265
919
346
353
127
945
113
463
991
806
807
806
137
151
887
251
955
758
149
213
565
411
973
501
334
976
476
12
451
180
538
490
122
887
220
177
906
862
781
224
358
76
353
143
500
681
378
407
551
609
29
570
18
646
209
884
489
491
182
492
437
989
516
693
903
235
846
648
200
685
882
191
677
795
208
51
113
912
684
896
582
342
675
98
452
576
904
996
722
617
471
765
119
250
449
680
156
865
530
691
913
153
377
741
408
574
710
200
262
24
661
95
816
513
591
572
989
7
406
179
928
803
382
92
955
913
640
370
400
22
710
704
644
463
94
869
116
561
294
296
42
393
602
727
460
741
795
944
374
510
22
928
981
416
346
630
544
88
822
713
878
49
539
277
354
194
722
567
35
516
889
110
832
825
39
549
542
100
32
683
260
961
634
884
930
441
200
84
724
897
592
2
561
407
719
156
272
468
51
438
888
138
563
756
14
34
801
280
540
751
231
366
745
336
560
83
438
434
466
609
918
580
81
434
402
930
580
461
60
376
459
576
951
638
417
219
951
378
304
793
260
831
211
520
155
757
672
454
476
718
865
965
733
857
884
914
845
344
420
147
223
645
649
682
375
566
735
135
211
835
114
546
972
596
640
711
88
785
755
565
264
838
88
922
813
525
236
121
576
27
81
727
767
554
645
439
750
885
374
819
34
241
744
264
781
799
243
887
691
962
128
620
467
257
820
908
933
324
438
815
530
23
785
231
117
109
24
133
922
296
413
541
66
765
703
880
264
337
261
966
203
607
503
705
632
307
8
917
347
39
536
394
146
301
218
426
271
453
412
527
64
814
46
56
325
645
804
712
346
134
158
679
735
860
99
289
883
394
383
662
392
854
246
708
868
274
863
279
215
546
216
981
990
594
732
384
424
165
711
905
432
279
580
659
313
977
13
966
867
439
226
975
332
964
131
115
906
555
578
675
583
73
621
823
723
4
585
835
52
892
741
109
787
415
560
786
159
868
825
456
938
587
397
464
457
426
27
794
237
974
438
384
570
621
822
975
313
951
22
290
691
155
919
419
164
374
980
771
228
898
469
849
609
153
596
414
434
272
721
300
859
840
809
273
90
95
519
822
904
457
660
727
591
773
277
557
683
70
276
4
997
930
344
106
237
824
892
942
903
858
879
379
301
454
687
774
189
386
652
335
54
485
460
2
994
42
407
304
967
630
400
639
497
614
681
800
967
104
486
398
329
475
218
21
370
868
279
600
706
291
393
442
297
11
121
873
610
963
261
190
515
787
21
939
602
935
152
121
929
23
737
22
95
205
939
779
165
904
834
709
184
681
385
653
964
352
728
285
338
725
205
425
333
515
990
863
564
7
741
116
673
81
430
843
858
26
399
317
323
410
731
524
31
923
231
928
250
739
648
893
238
436
320
85
820
918
46
910
800
115
855
190
868
447
298
835
141
171
39
228
532
780
807
394
931
546
230
803
533
146
670
840
759
102
952
545
888
366
771
211
927
11
686
851
241
415
791
321
185
730
563
93
279
709
942
312
505
159
371
758
937
361
410
790
210
863
517
165
352
885
801
863
49
456
829
709
769
100
96
623
48
511
361
786
859
212
893
882
225
623
573
844
152
313
946
202
484
473
550
225
551
793
284
528
292
15
145
722
123
390
410
969
952
145
189
36
628
882
375
532
570
469
167
551
503
648
723
859
32
28
9
107
235
588
586
269
593
101
875
692
359
143
458
643
882
442
93
238
511
406
396
981
439
566
643
931
264
552
690
650
86
952
824
732
690
86
253
641
731
269
2
16
862
643
267
393
435
996
589
511
752
326
840
958
816
40
636
971
229
827
703
591
133
225
702
245
121
808
212
35
620
759
872
676
538
294
180
78
920
45
86
8
922
54
295
162
677
444
163
215
525
220
165
112
638
868
175
947
279
621
238
264
838
292
50
495
255
574
135
576
703
573
566
475
174
129
144
483
150
177
118
636
684
991
924
578
19
670
905
482
345
618
654
409
417
110
440
627
535
235
178
937
808
672
510
62
746
738
894
463
931
150
6
756
957
744
420
73
871
174
236
269
54
266
293
906
881
274
646
306
500
752
238
784
768
142
73
381
719
470
756
16
941
709
935
22
883
500
76
424
436
905
991
191
80
786
706
888
527
209
589
845
62
22
145
968
719
354
513
815
18
338
485
394
238
803
853
423
105
22
947
481
332
853
531
523
666
791
620
776
965
491
369
881
363
319
905
471
750
351
864
81
670
31
455
397
181
400
41
369
440
391
616
646
521
205
49
123
498
179
643
120
904
898
381
873
471
488
213
559
504
207
870
36
306
437
1000
847
837
160
849
805
194
832
337
651
537
324
129
864
843
266
226
690
185
700
677
849
323
399
229
186
25
634
153
737
920
398
990
297
645
350
685
589
729
785
431
584
958
983
542
316
922
176
871
815
71
206
583
402
913
648
599
646
855
836
647
754
870
728
669
1
324
18
258
113
283
237
933
173
130
846
301
685
542
476
583
976
781
554
560
938
737
503
721
479
387
619
271
725
135
472
736
127
38
405
63
173
37
290
488
306
139
199
962
996
981
68
586
647
276
759
323
174
489
109
270
621
457
744
855
168
818
421
677
226
806
622
122
92
427
992
493
818
37
929
177
525
108
323
276
383
296
4
200
884
994
935
967
809
200
536
320
541
904
872
351
945
162
561
975
93
720
409
495
513
315
762
491
487
771
468
431
165
646
186
750
896
411
474
597
235
144
737
102
549
261
645
818
993
64
70
914
921
825
951
838
445
624
737
400
969
426
230
668
985
731
708
625
337
667
197
283
447
560
618
831
706
898
342
429
359
62
369
481
712
363
947
555
446
754
942
649
115
10
715
151
694
346
524
685
137
156
748
7
506
58
329
256
146
469
860
153
776
702
721
196
122
984
470
515
905
852
494
785
562
82
553
551
86
705
433
364
767
675
399
376
385
442
511
422
678
28
158
161
437
190
347
558
691
932
414
821
795
899
771
959
119
191
281
251
245
734
623
281
242
622
746
646
627
803
150
96
98
32
261
664
961
306
600
275
469
868
817
451
951
433
892
974
710
516
984
805
131
604
466
108
367
436
662
993
242
868
683
448
750
598
533
988
611
559
380
758
889
931
436
156
600
522
450
595
550
741
178
648
422
517
558
679
233
288
497
30
868
602
354
971
333
7
182
914
754
602
805
858
889
61
576
606
139
989
494
92
588
183
955
51
607
745
17
360
965
24
527
583
167
53
823
664
963
461
27
257
583
895
129
859
279
561
159
786
162
883
759
46
183
176
363
332
323
910
26
661
719
362
653
704
486
453
19
454
480
85
506
701
81
611
911
713
371
920
55
636
740
205
147
401
46
701
50
311
951
526
627
99
927
327
356
950
751
566
252
877
9
181
946
880
234
801
436
529
846
874
653
956
947
881
459
766
420
260
146
20
452
785
763
311
798
947
891
897
629
285
562
2
770
738
68
713
502
803
381
317
875
729
689
544
641
987
379
964
516
15
405
661
460
589
573
426
63
198
744
913
927
486
330
607
137
181
756
987
527
906
735
973
496
927
321
592
492
217
702
835
198
158
593
813
622
838
940
668
970
191
325
178
246
118
135
608
947
381
64
188
110
258
967
519
231
862
452
335
256
616
815
290
917
549
121
890
190
968
277
230
534
618
924
956
882
558
859
735
61
906
484
585
415
27
449
596
963
946
306
947
311
545
432
611
896
591
937
850
861
736
577
383
33
444
907
114
986
210
43
460
172
527
454
564
443
816
119
197
53
930
256
680
429
910
573
1
563
364
662
154
869
253
706
840
757
848
170
892
959
350
493
169
866
975
126
212
745
320
406
659
715
471
895
267
805
631
797
389
238
1000
979
970
323
276
946
375
1
416
836
925
112
225
139
595
931
942
373
144
388
240
392
906
640
947
363
562
340
372
680
481
65
315
269
634
800
740
787
680
316
586
207
513
565
406
139
492
914
339
55
594
170
441
239
932
861
524
925
442
163
508
552
58
201
691
499
360
186
544
975
488
2
334
963
140
402
380
237
560
935
801
531
744
86
367
850
544
884
478
790
943
415
352
472
535
245
204
361
192
767
591
805
928
860
124
615
248
76
406
369
624
746
439
423
304
47
698
794
351
54
757
192
664
272
631
466
755
925
2
659
218
567
69
661
147
186
94
200
254
59
607
518
61
37
847
626
353
840
267
473
2
178
801
712
409
227
204
3
45
34
939
945
25
942
991
815
170
18
504
237
821
747
321
823
475
998
358
573
414
349
212
538
677
400
610
854
82
619
39
728
520
612
452
411
406
420
979
468
15
633
422
922
383
614
703
933
626
129
545
745
791
20
398
564
823
319
59
872
835
407
437
448
628
382
690
20
323
792
300
45
57
297
673
583
906
613
569
616
603
298
980
439
152
573
69
963
148
365
469
841
461
204
503
355
958
436
899
901
109
451
156
739
646
259
26
377
921
833
496
611
256
52
237
773
361
972
764
156
856
417
420
987
39
548
874
514
287
167
45
983
928
985
214
304
964
997
642
239
783
399
171
742
869
175
147
956
561
638
477
991
140
678
822
257
834
439
689
594
888
453
699
880
486
16
396
101
145
720
758
88
199
626
991
267
86
501
302
797
508
919
69
415
916
798
231
151
436
110
813
844
74
95
165
35
984
293
917
389
640
109
638
271
994
424
908
487
93
968
813
468
153
800
926
386
819
242
415
790
162
60
310
333
6
500
859
104
332
32
564
870
825
320
762
265
135
950
531
604
38
934
311
516
476
873
874
50
436
915
174
245
696
330
173
422
741
612
941
592
600
504
240
486
871
227
267
631
1000
510
475
826
712
730
203
128
566
552
338
153
800
34
406
114
988
31
286
504
537
105
194
745
732
882
747
458
857
919
640
207
898
716
956
724
477
474
179
643
960
538
753
716
126
250
425
342
399
123
659
980
399
807
153
684
500
325
819
584
132
450
662
565
838
885
642
837
437
132
965
312
220
535
228
949
802
18
525
301
95
446
895
492
890
394
485
795
715
323
413
779
932
834
598
708
555
696
753
531
870
821
328
313
769
217
452
424
628
222
805
112
694
994
916
405
174
318
621
366
683
286
244
875
244
293
644
21
775
92
406
103
903
375
330
17
973
442
860
489
305
46
227
222
161
445
936
538
321
996
633
474
915
388
569
657
918
752
613
468
737
430
217
138
440
151
838
493
475
718
41
942
174
94
942
230
952
941
683
145
860
241
365
122
81
652
224
164
33
588
880
48
966
892
148
119
335
91
269
276
777
921
401
949
205
766
851
957
414
112
878
148
581
950
815
632
223
296
913
229
511
629
578
492
288
130
605
275
823
28
606
379
74
259
72
208
238
877
425
779
425
359
952
617
582
35
761
275
210
323
739
274
981
396
35
211
109
174
790
699
195
251
645
556
336
489
78
376
471
529
773
197
293
382
23
499
577
610
644
163
445
358
994
354
894
604
468
502
926
586
294
693
724
308
502
812
641
379
738
730
199
237
958
663
900
953
121
607
445
425
696
387
828
745
194
451
887
908
929
992
104
860
952
382
844
72
371
170
761
431
335
92
802
296
565
656
98
951
658
843
30
552
322
403
959
882
365
17
396
898
492
342
894
77
936
570
573
45
525
680
988
839
23
995
990
405
520
5
356
637
154
684
195
315
725
671
596
815
579
771
522
352
697
196
705
810
107
840
196
923
570
682
225
710
990
102
283
541
152
471
651
182
211
915
124
480
794
542
369
78
742
739
143
726
246
383
623
272
613
919
183
400
956
322
314
529
866
876
760
77
518
561
621
446
735
603
873
686
226
394
728
784
626
550
282
905
941
362
181
728
737
278
375
231
725
311
621
872
388
498
40
159
965
613
951
7
411
338
172
133
911
25
163
968
160
978
718
198
877
929
381
138
996
994
404
541
521
939
869
377
310
37
527
325
947
118
27
437
425
709
474
511
559
285
650
170
961
742
851
590
887
163
966
70
490
849
373
386
841
339
220
954
561
867
896
375
98
293
828
836
440
34
262
191
581
966
370
288
126
540
817
232
232
626
937
847
500
696
780
557
541
997
607
254
663
339
835
499
542
908
69
601
818
346
597
654
219
940
657
658
264
353
850
191
544
817
324
951
337
54
700
649
595
518
322
386
383
697
31
645
467
363
602
464
93
623
922
180
926
546
213
399
781
982
902
451
18
866
209
680
439
977
206
360
93
635
841
879
652
248
412
141
937
10
57
764
696
265
110
780
995
229
565
7
421
845
498
154
857
490
995
48
725
151
48
58
499
474
916
902
723
782
633
567
964
730
739
977
930
832
771
381
439
424
770
190
49
20
861
99
959
191
927
938
186
252
582
589
160
68
900
726
581
238
822
880
820
758
775
495
190
23
799
261
123
701
376
961
687
540
267
493
865
706
861
508
739
558
943
334
53
117
336
444
607
629
559
783
612
756
506
655
437
906
177
732
141
143
626
982
801
935
664
941
948
706
286
843
324
798
473
522
796
999
787
932
486
203
125
349
91
144
137
16
928
399
27
79
448
992
923
149
837
29
536
700
857
749
594
856
252
265
401
787
900
41
919
69
371
867
987
890
725
668
628
885
179
6
913
739
736
533
530
440
5
979
16
172
207
478
602
447
806
166
763
978
274
20
833
200
291
855
535
84
15
230
843
101
199
793
392
739
572
232
536
997
321
576
251
650
527
72
320
898
85
234
586
221
983
937
654
854
815
647
75
342
61
961
943
58
957
623
815
379
768
123
55
476
885
781
16
319
444
947
972
536
110
583
310
226
248
20
355
707
964
138
68
434
382
548
34
988
107
635
380
167
18
447
692
630
425
526
580
503
133
704
267
629
164
811
466
845
704
995
848
803
367
55
618
358
980
808
61
485
963
978
434
6
776
540
247
155
78
753
815
156
5
330
923
542
396
362
604
887
905
592
311
12
676
630
209
465
661
512
952
285
724
790
23
624
383
970
675
779
426
710
567
616
651
651
430
139
671
128
469
173
77
313
775
754
228
514
700
828
599
463
17
296
941
432
696
261
451
923
290
602
787
497
266
599
33
28
76
440
662
306
425
847
125
440
955
959
954
950
559
868
157
819
592
872
250
967
555
605
492
844
229
689
746
854
791
447
930
310
218
520
206
509
136
934
885
300
335
285
540
191
356
222
949
669
931
349
337
892
558
974
795
322
156
909
943
212
586
623
626
32
798
664
898
116
493
154
634
780
498
584
839
166
498
866
166
859
359
812
168
121
69
752
559
230
219
25
109
981
22
460
853
869
119
771
942
881
785
978
838
85
712
617
532
404
223
490
132
65
659
136
459
214
662
73
271
111
262
38
354
99
11
159
988
331
859
6
247
793
132
935
162
755
760
23
40
199
836
116
133
120
726
254
401
863
171
756
338
814
280
776
699
820
874
34
489
717
349
704
779
175
159
180
725
923
26
528
683
29
201
974
475
588
456
691
633
616
992
488
966
386
129
733
866
766
451
8
591
313
88
525
157
49
922
294
600
833
826
417
94
228
475
620
807
593
892
341
466
866
638
263
286
209
482
164
314
212
467
365
249
846
515
853
502
736
87
350
576
599
992
249
877
904
103
312
688
887
624
494
358
76
534
60
741
382
36
421
521
637
147
742
328
179
31
454
537
714
355
221
155
218
704
819
520
103
57
629
400
181
432
115
633
267
75
783
712
366
977
547
524
515
78
378
47
265
266
376
935
726
139
137
813
836
576
379
557
236
320
344
20
720
178
375
462
744
925
444
395
869
678
119
706
358
326
612
670
343
603
105
918
135
492
498
505
255
984
99
976
741
630
549
737
104
958
425
80
79
570
596
937
980
664
331
827
11
799
628
450
395
949
966
103
532
283
933
412
702
653
787
883
8
468
20
417
367
493
428
262
345
117
18
811
564
818
343
316
199
860
455
821
840
751
777
605
591
621
607
958
837
487
851
412
543
297
848
420
302
775
833
48
594
349
654
451
893
839
868
803
315
194
209
840
487
271
752
381
175
538
784
53
16
657
519
887
388
51
304
673
35
966
908
714
590
26
789
123
537
950
13
908
468
920
598
878
734
103
658
834
693
910
635
606
807
928
300
231
791
875
964
979
848
537
516
999
790
436
493
67
501
855
370
275
775
956
660
565
20
948
211
655
709
636
294
279
751
246
703
631
127
114
80
591
261
670
143
575
576
196
297
865
614
949
357
858
908
633
768
981
522
630
736
929
794
65
177
485
372
569
205
445
61
551
205
28
348
901
179
773
735
305
135
79
163
775
811
459
885
560
870
99
110
369
68
476
635
673
531
653
444
951
459
364
974
899
62
140
322
13
441
557
195
447
524
127
786
731
822
513
112
737
994
477
542
299
704
458
392
988
249
725
502
876
770
825
625
538
664
426
351
185
957
743
999
540
998
417
606
31
833
125
685
922
987
199
917
243
209
218
303
768
931
915
603
837
802
672
77
505
695
606
640
388
991
480
543
538
797
719
617
908
974
355
924
240
517
69
377
729
865
389
541
429
188
711
341
174
548
66
860
733
119
430
753
26
323
969
53
487
798
804
328
79
656
753
173
54
319
55
51
264
581
233
319
719
209
134
108
154
547
645
393
540
66
752
188
837
774
436
321
820
699
317
644
445
410
150
844
74
693
978
263
851
39
247
251
646
563
239
610
306
346
937
652
369
941
848
204
34
991
358
682
915
457
912
9
56
980
687
708
723
248
455
977
762
102
7
951
657
264
871
624
1
220
21
90
778
807
976
895
702
467
936
246
892
970
627
790
314
661
108
441
752
902
94
497
559
467
270
899
60
77
669
15
287
133
439
805
676
1000
203
516
446
827
819
385
669
12
518
917
435
893
291
417
103
128
933
421
362
567
318
537
705
81
326
1000
973
960
353
957
817
4
463
56
283
350
76
455
260
418
537
767
153
99
38
752
23
451
136
839
370
724
563
634
910
475
87
655
961
946
962
442
534
572
882
66
788
753
419
787
328
518
662
308
682
778
108
599
432
197
933
780
636
553
390
888
634
642
505
682
827
427
159
807
734
100
342
733
493
213
683
911
988
821
276
480
921
844
506
692
532
486
810
920
80
616
258
783
911
454
453
422
658
795
442
419
131
246
298
205
528
651
540
41
858
952
799
840
914
218
16
137
673
482
957
523
766
325
50
697
519
833
368
115
130
710
78
886
742
804
846
166
518
259
479
808
361
836
567
440
555
669
989
460
470
891
957
650
418
94
669
257
911
562
766
415
847
571
513
725
619
827
41
663
731
275
31
237
275
128
961
975
550
903
380
898
163
704
729
601
194
744
887
946
392
343
988
151
919
229
32
279
846
995
463
178
469
15
236
982
536
904
787
163
623
907
33
944
236
198
720
623
704
155
446
958
544
109
214
342
798
952
669
891
770
245
38
956
717
151
372
806
292
593
908
387
974
536
214
143
277
183
347
852
282
172
403
308
904
580
709
455
358
643
374
315
498
632
98
579
38
235
928
313
201
159
121
580
986
358
406
130
92
496
691
522
506
753
733
184
889
74
334
925
232
306
417
393
631
461
707
791
718
485
824
929
985
539
289
366
186
739
334
930
76
750
439
407
967
379
174
557
976
569
298
911
391
760
52
971
255
654
223
573
160
807
891
132
230
328
718
444
449
192
259
502
817
331
74
527
292
701
326
36
126
8
165
311
982
604
431
66
182
373
116
472
532
75
588
939
440
710
792
228
461
960
512
527
971
645
321
96
415
448
2
974
460
863
107
27
403
436
761
286
435
893
38
168
661
659
980
629
339
645
848
733
421
861
280
457
365
616
836
721
94
578
826
826
190
941
408
474
646
318
716
500
992
722
137
309
181
207
960
731
418
304
308
716
5
378
640
809
373
432
152
855
684
682
77
753
790
448
223
344
871
489
99
757
772
975
625
577
923
666
722
255
743
752
58
60
569
1000
848
705
520
540
868
495
156
637
796
480
429
292
578
621
246
335
754
454
875
997
600
22
567
569
487
169
3
883
81
412
610
811
877
671
354
897
93
134
371
511
127
403
643
649
629
841
24
600
726
755
72
231
107
628
533
557
474
135
813
606
330
75
473
334
195
676
555
466
137
957
596
712
921
945
263
769
164
604
882
857
670
260
546
345
457
147
127
157
126
488
266
277
867
139
310
620
811
432
301
961
458
298
276
397
579
161
593
37
360
340
499
221
516
923
874
600
798
167
941
817
581
469
732
387
234
876
287
588
555
929
884
847
846
334
58
121
157
598
835
281
784
319
390
313
380
225
277
473
928
444
492
176
397
704
913
492
90
370
41
618
615
240
572
583
875
39
55
742
711
396
766
333
654
914
993
479
720
588
99
533
367
469
121
599
526
938
147
402
86
411
391
389
326
556
723
123
587
382
372
573
896
649
669
840
340
115
997
258
753
47
554
556
667
301
139
951
540
17
951
614
999
630
292
972
201
483
152
664
440
778
874
790
813
11
501
319
117
292
927
89
114
166
711
905
989
637
221
627
96
115
832
995
106
888
48
173
223
588
742
636
499
790
209
78
113
550
328
470
174
204
977
286
766
210
734
145
911
142
52
831
672
220
334
718
820
909
765
117
377
189
311
959
875
76
72
540
340
856
999
737
869
266
94
251
162
564
373
919
503
18
223
103
530
866
341
448
568
177
62
94
438
402
725
530
424
589
735
847
531
398
70
113
229
61
310
935
657
398
699
70
640
834
374
97
945
107
628
773
920
63
29
651
5
435
260
978
682
33
809
645
68
129
986
203
710
98
322
562
168
593
100
10
569
599
596
612
678
759
664
891
967
221
432
928
790
128
222
658
64
555
271
205
771
343
502
533
199
833
332
589
86
900
513
348
731
89
67
867
699
872
661
546
955
221
177
253
152
754
804
897
300
701
729
326
252
784
366
108
270
924
125
923
435
369
919
754
823
421
956
31
159
470
882
208
163
438
12
979
887
55
209
493
135
616
947
491
511
997
239
224
688
748
401
389
288
12
79
89
118
877
565
1
617
524
183
513
33
192
485
580
256
542
4
459
263
489
612
269
783
938
877
526
167
162
362
442
420
723
525
772
33
981
722
432
513
189
826
942
547
131
160
986
280
36
743
26
526
260
358
969
642
833
556
318
368
517
542
137
229
449
797
404
944
825
432
11
889
286
521
761
864
873
64
179
271
462
827
885
353
565
32
541
342
279
749
121
163
918
893
341
890
605
934
639
255
640
768
991
363
27
733
201
192
891
403
29
619
894
618
682
453
940
221
733
423
601
52
487
132
741
115
202
767
746
214
307
718
628
18
964
357
5
234
896
923
651
516
390
831
849
807
775
759
268
14
489
555
465
360
52
322
392
237
863
78
488
142
787
994
30
83
892
566
420
901
566
11
4
87
437
811
831
22
219
617
481
31
609
639
725
296
852
252
320
459
428
801
670
689
626
475
455
117
388
683
560
771
950
601
815
596
256
403
122
699
20
233
510
688
648
154
539
888
878
164
283
224
179
841
781
781
414
351
457
427
236
372
536
343
995
911
859
36
689
173
831
191
634
359
484
719
70
757
716
493
889
535
857
558
39
434
621
41
906
927
354
618
180
495
262
128
286
362
955
863
423
446
185
135
707
244
183
946
651
130
330
975
469
822
200
652
292
814
228
775
390
190
310
987
944
580
686
450
732
955
354
208
328
592
70
67
77
817
735
304
133
80
572
134
337
479
64
694
546
123
41
212
316
624
656
168
514
550
268
501
503
903
375
335
52
562
833
283
20
137
569
102
128
889
860
377
907
199
61
950
947
569
320
995
161
284
467
31
666
693
721
640
211
512
299
349
861
677
318
956
747
81
611
553
271
907
192
653
99
430
170
101
650
841
818
918
557
106
386
823
743
888
981
946
346
306
497
153
725
659
164
500
152
288
740
541
622
409
754
623
395
122
505
824
531
768
696
916
658
480
701
567
684
77
447
19
962
414
826
655
666
921
347
181
808
351
483
639
319
686
776
88
153
738
325
624
154
231
696
307
765
63
667
706
306
989
458
32
609
195
263
228
346
101
978
988
211
259
969
382
485
398
639
668
163
502
296
920
986
322
555
276
200
849
86
999
824
113
27
34
520
118
794
419
904
850
340
740
285
92
127
789
377
171
232
729
458
912
7
375
864
759
678
618
421
487
126
665
638
925
819
499
44
894
550
904
53
868
188
455
122
958
136
130
791
447
558
556
373
487
729
480
711
545
56
727
403
846
402
782
355
357
387
132
329
854
196
697
416
188
291
962
982
192
126
949
718
580
587
783
857
777
431
388
500
878
434
834
254
833
299
927
72
524
650
916
262
582
568
610
121
712
225
765
538
791
130
334
241
189
369
68
28
618
39
995
471
312
730
497
88
463
546
78
901
696
625
416
648
790
561
958
637
3
418
161
376
115
280
437
695
750
386
23
987
633
951
276
597
174
705
339
148
173
41
754
748
520
410
332
648
450
269
520
870
313
444
600
742
821
261
244
67
452
159
386
874
990
801
864
301
216
882
39
180
390
930
415
343
499
414
298
459
178
368
743
499
873
566
299
534
60
9
598
648
291
104
450
181
406
469
886
416
532
713
573
51
351
928
102
518
711
838
937
256
857
757
205
570
432
531
110
557
921
662
466
940
419
643
742
310
401
344
48
411
719
1000
697
624
167
896
339
731
783
410
159
371
522
444
319
336
36
612
632
12
118
761
462
807
746
551
946
381
807
840
960
847
286
563
692
877
141
666
274
851
116
360
717
728
485
687
293
348
72
907
576
250
936
699
618
877
784
574
81
294
515
152
729
98
316
160
351
282
339
117
75
183
360
657
5
528
723
377
337
795
549
875
377
764
424
419
400
200
747
276
929
36
490
278
784
316
378
654
221
416
403
497
577
744
132
491
110
187
497
679
123
95
634
137
62
440
834
371
985
147
903
151
711
245
15
273
964
646
686
433
85
845
620
4
178
796
997
998
119
516
243
918
490
736
441
516
360
49
317
704
778
562
168
976
13
15
205
765
849
693
513
79
710
237
239
604
982
622
686
247
662
156
692
717
403
368
68
335
71
1
864
723
181
173
957
419
964
957
757
721
342
236
849
288
832
739
40
113
196
552
573
472
722
266
258
388
163
143
876
954
676
335
496
585
618
236
284
899
662
508
957
454
506
196
316
37
395
597
149
518
774
247
397
549
683
453
662
562
863
303
35
570
204
972
712
251
799
446
105
684
851
495
932
889
642
851
324
5
39
29
107
553
318
222
235
731
629
962
816
86
97
28
301
261
345
208
175
684
248
83
925
254
847
938
159
75
624
299
488
238
846
346
188
525
214
628
729
627
903
106
949
153
917
517
61
275
814
462
660
303
69
424
640
909
716
113
218
949
485
180
283
73
319
325
962
388
37
275
553
436
902
951
991
695
40
338
609
577
967
275
240
680
965
387
638
617
701
861
793
345
244
637
962
306
631
831
120
70
190
919
146
428
132
253
199
16
312
13
692
646
664
555
735
491
515
442
146
129
896
149
936
262
994
531
709
605
107
691
534
46
804
782
677
673
508
642
40
684
406
862
290
513
381
74
403
718
687
761
833
332
176
877
562
371
233
912
59
188
968
809
579
166
879
334
273
25
910
53
320
668
790
91
653
58
580
217
876
97
612
620
653
855
374
940
210
783
448
729
552
736
318
548
698
726
683
322
492
352
977
417
561
722
928
135
591
555
318
976
362
816
607
54
949
925
702
535
46
58
948
801
647
562
384
345
220
798
397
47
46
18
168
589
637
27
742
249
3
464
113
202
80
473
441
762
797
475
436
722
118
467
943
28
883
34
4
585
429
802
9
892
777
614
55
537
647
77
318
347
670
475
58
96
956
268
858
257
607
502
837
236
863
511
883
861
292
239
367
724
878
331
461
101
875
943
882
775
50
815
865
94
289
803
188
960
564
457
345
272
971
669
330
541
855
676
39
14
55
905
6
660
960
230
43
808
359
243
362
47
43
24
922
247
756
733
89
194
319
52
158
410
763
164
930
146
820
450
333
434
419
571
28
355
724
916
41
314
794
679
731
264
191
964
816
244
706
409
766
541
919
770
586
52
485
807
918
157
882
584
426
514
854
1
614
708
940
956
630
615
269
66
49
683
304
257
374
49
298
886
758
587
39
236
476
506
869
406
772
95
73
607
45
558
466
859
751
676
420
894
20
184
620
854
752
350
574
26
872
238
251
414
499
503
270
429
1
413
721
361
336
948
86
585
574
500
659
624
225
649
585
321
853
993
902
360
453
778
948
286
255
342
130
992
934
49
313
385
681
398
26
526
254
488
281
138
877
866
42
758
856
65
279
205
846
798
112
249
995
882
760
575
584
439
881
155
383
816
424
148
657
978
289
309
645
822
937
698
392
995
595
131
992
292
840
464
690
661
167
263
752
167
613
849
750
992
620
21
657
725
103
966
205
709
142
33
27
210
762
25
454
499
79
682
248
740
415
793
191
734
122
206
182
160
507
615
431
942
666
582
419
771
38
748
512
593
184
540
496
118
643
972
884
983
694
344
489
243
531
735
671
284
649
175
626
95
218
320
299
50
830
252
801
27
294
757
693
732
88
50
152
532
653
489
821
9
994
211
79
671
906
12
608
972
755
36
362
850
929
987
481
482
948
660
267
884
763
564
64
228
942
264
777
515
306
896
803
311
46
955
361
810
523
96
535
382
761
166
907
125
111
108
261
658
671
691
726
552
847
248
661
341
853
723
759
17
61
388
104
263
842
498
402
480
944
34
185
798
522
422
568
886
651
774
45
336
498
782
900
804
409
845
13
887
794
414
274
936
78
802
312
595
959
930
981
910
877
528
884
233
903
383
241
40
232
70
564
956
62
467
934
977
959
51
157
895
703
625
706
425
222
629
166
356
472
676
828
355
995
254
201
707
502
826
469
376
966
708
333
231
669
169
264
216
99
169
914
510
828
54
328
456
319
274
635
132
112
918
111
974
4
440
840
779
619
457
739
750
267
916
362
988
81
244
728
973
216
309
409
146
333
163
229
624
658
572
257
511
683
262
180
949
958
693
786
317
490
896
34
513
991
576
110
254
554
278
934
753
423
841
837
886
139
787
488
211
751
549
716
800
716
656
552
856
825
72
702
536
750
905
638
201
804
612
695
605
125
627
868
111
751
95
488
142
28
987
605
491
332
436
678
988
384
563
152
291
312
412
572
268
162
873
182
472
823
626
353
751
144
211
766
898
595
306
17
552
989
159
171
297
616
930
874
965
665
376
804
736
923
903
601
496
591
543
953
282
488
788
142
379
66
564
223
761
402
823
963
138
816
390
803
821
803
708
433
988
746
87
965
689
282
911
355
130
224
997
440
326
697
973
906
241
481
119
559
889
613
551
518
705
960
65
315
682
831
188
463
392
694
209
721
29
700
57
160
36
49
885
138
723
181
148
478
499
406
758
434
7
862
655
553
498
624
722
145
231
385
545
886
563
359
943
21
640
991
539
745
313
574
910
600
948
139
8
139
315
817
605
708
629
410
511
882
103
115
158
36
112
147
969
521
147
540
595
169
287
538
708
143
823
800
555
737
14
114
868
329
688
436
69
563
549
844
904
789
603
438
788
957
70
303
183
417
520
391
250
561
733
614
897
828
969
451
67
373
915
125
798
602
548
768
138
859
591
14
480
791
977
151
251
285
14
299
201
435
503
89
686
678
113
948
490
119
722
442
689
45
300
46
11
834
99
387
923
755
608
229
443
666
758
455
263
229
322
845
343
80
327
739
545
321
555
540
250
818
900
602
140
51
418
236
501
681
403
471
453
569
724
700
511
719
932
554
728
506
405
170
499
589
849
540
754
104
57
732
896
113
698
652
346
760
293
419
928
291
229
591
717
893
835
229
110
302
96
241
91
270
513
526
638
257
20
192
188
189
601
523
927
716
464
426
423
155
167
814
763
255
136
743
958
958
357
154
827
590
857
758
947
288
797
943
574
26
595
560
595
280
532
137
695
265
727
345
908
642
178
515
666
823
822
637
222
250
218
538
112
593
488
888
895
365
618
236
976
315
107
582
764
860
176
840
732
964
480
141
241
98
297
120
132
353
705
231
144
371
110
618
226
436
829
303
646
25
105
256
634
102
76
435
940
677
714
10
326
484
701
829
494
171
516
612
373
29
774
522
997
153
984
491
438
869
444
168
381
431
967
401
970
262
479
942
498
491
304
450
345
105
137
932
354
837
275
489
459
810
673
576
986
27
797
59
484
49
21
984
353
568
551
362
798
143
463
234
856
55
451
957
314
109
331
957
357
197
154
140
705
642
44
817
789
632
509
221
258
551
25
692
747
670
151
138
341
405
312
662
652
361
633
143
736
433
899
113
365
532
803
484
308
920
117
562
354
681
332
314
768
643
605
16
786
889
570
283
493
100
664
958
155
125
168
498
671
557
59
290
299
603
130
838
235
186
554
811
940
78
223
811
333
806
744
65
88
231
927
413
329
5
975
646
939
526
341
707
562
655
410
280
124
202
731
57
360
97
534
278
415
279
636
254
35
504
663
183
268
727
719
965
869
206
235
703
800
199
773
221
306
988
959
251
73
956
579
907
853
628
100
679
795
905
516
456
419
205
476
42
800
863
128
195
93
931
936
469
924
471
45
73
582
547
400
469
136
378
955
701
817
530
745
270
43
611
545
936
442
650
90
998
123
254
581
438
199
633
284
810
310
852
566
943
427
954
645
277
788
168
637
173
178
40
257
630
108
196
644
615
676
378
363
684
991
571
564
611
121
321
668
529
433
772
701
479
57
605
596
311
969
765
330
611
816
838
804
700
224
971
713
759
755
489
501
861
90
722
673
969
288
146
374
26
168
575
140
863
949
63
179
981
318
148
353
237
961
253
283
67
448
370
636
170
74
671
718
515
883
274
933
107
638
234
554
209
956
751
520
625
159
707
621
189
655
892
573
835
826
724
902
501
460
814
521
626
746
468
136
209
727
130
350
219
880
764
438
657
226
433
295
717
902
626
977
305
708
462
590
632
494
509
28
742
603
829
201
579
796
802
938
678
220
458
725
600
8
308
799
29
59
129
863
825
376
765
907
392
100
772
169
431
59
639
275
534
178
407
981
93
612
739
770
680
815
868
712
401
62
410
674
726
112
718
934
939
835
321
710
678
578
984
931
984
13
127
842
913
990
621
633
36
647
516
400
92
673
837
128
636
142
418
327
803
785
685
156
169
919
386
596
278
492
559
280
628
879
428
108
743
138
490
645
528
370
807
615
261
769
384
512
434
670
571
462
130
637
611
981
812
224
845
218
171
531
560
591
162
107
147
473
501
60
92
717
625
461
244
377
605
250
4
935
546
904
328
694
799
62
912
793
674
131
522
449
421
702
201
646
977
202
995
446
313
831
930
508
269
268
190
228
453
39
835
60
99
699
954
262
793
199
831
276
629
877
574
411
653
560
655
317
438
122
998
985
243
702
545
635
476
503
757
940
155
696
92
451
602
521
350
995
890
109
673
40
444
886
134
752
773
694
99
499
511
906
955
93
825
896
381
917
779
194
76
419
420
519
742
131
198
707
141
526
827
189
298
490
843
340
213
177
948
453
19
298
644
569
146
654
852
652
896
875
922
882
822
861
923
906
428
396
174
981
3
763
711
843
857
947
826
3
839
223
821
932
762
462
898
236
290
525
412
519
932
476
800
76
978
153
149
955
650
870
709
217
248
600
683
401
784
26
232
303
459
289
992
199
335
68
325
530
754
880
172
899
326
133
655
950
860
526
491
326
188
817
885
449
661
884
821
287
35
249
563
649
576
915
739
781
462
457
599
211
7
793
916
841
773
951
515
293
388
460
604
346
782
698
939
133
578
632
311
436
575
926
47
10
653
309
989
394
880
417
896
63
336
90
332
88
943
224
885
713
602
837
998
362
56
986
769
664
219
496
851
969
119
273
955
742
253
127
546
921
894
617
24
31
794
430
44
367
845
180
696
81
437
342
887
355
697
220
687
136
277
480
316
107
120
782
172
659
438
497
564
649
178
293
801
610
416
649
905
932
437
983
490
236
743
119
293
787
879
316
426
354
743
902
667
339
11
847
11
363
411
305
266
747
828
182
689
481
674
355
526
366
497
975
868
935
551
674
387
714
942
130
393
97
994
615
112
846
693
635
281
815
415
715
924
996
661
709
668
402
184
761
65
613
733
176
178
50
601
26
96
142
321
260
176
634
126
469
521
165
270
205
607
161
876
953
78
776
769
415
371
340
665
783
266
284
146
31
461
20
105
114
942
630
715
115
299
481
535
29
80
112
46
885
993
809
799
333
12
291
320
651
462
865
148
376
740
191
649
405
641
555
772
448
151
150
523
219
223
418
750
540
211
947
759
890
643
754
415
536
477
57
610
503
265
783
433
129
506
147
928
831
968
577
79
12
994
190
515
769
604
752
517
142
725
796
70
198
28
152
75
138
663
626
365
983
646
28
796
102
771
8
556
10
710
431
787
418
387
116
760
449
800
825
135
338
237
319
305
667
199
144
396
389
426
574
291
463
140
793
949
916
974
967
358
553
99
326
717
309
742
770
802
488
620
781
31
707
829
627
443
411
363
934
655
239
760
729
879
355
334
927
247
101
65
98
26
983
516
41
766
15
65
336
90
969
335
580
600
872
955
454
355
422
690
113
438
620
519
653
453
50
495
563
147
679
47
149
984
977
941
873
181
451
304
438
650
387
928
254
288
716
610
576
294
439
389
235
533
972
392
374
475
104
450
13
914
7
757
589
498
867
640
837
77
274
945
503
18
462
603
427
919
845
735
477
633
73
22
640
75
20
129
368
95
666
717
902
579
871
904
898
45
386
111
119
209
287
867
363
409
197
535
73
286
307
880
269
856
179
69
531
943
805
9
788
953
168
881
557
151
823
359
114
925
666
273
771
992
90
434
113
150
188
881
531
975
556
116
864
795
475
750
299
406
964
570
948
232
258
232
645
71
772
683
623
127
482
912
665
770
984
849
219
354
180
30
767
458
670
195
387
122
419
90
98
15
251
578
54
956
986
636
59
919
830
921
211
439
752
371
692
340
125
747
872
848
884
108
886
417
812
963
850
86
326
236
669
753
324
252
184
547
234
670
57
378
394
636
346
817
283
493
215
719
926
50
595
347
29
738
896
334
953
19
72
503
744
24
418
428
766
739
520
624
406
1000
650
434
496
189
735
998
768
814
764
167
714
62
100
885
675
39
720
318
831
625
840
995
73
798
738
318
369
836
831
53
361
13
238
843
387
286
106
363
33
2
989
457
627
815
396
489
774
883
459
192
171
872
338
480
440
478
588
71
659
964
204
254
594
693
500
830
380
755
261
51
536
555
862
392
773
674
141
106
977
400
902
827
148
87
809
912
818
875
313
841
675
391
22
745
677
755
530
53
943
586
366
327
110
741
122
583
629
181
253
781
694
734
296
721
106
495
475
268
402
259
725
696
1000
708
199
953
937
22
225
809
36
218
493
190
964
787
983
460
700
155
764
80
405
46
349
833
521
131
710
787
226
178
424
252
32
551
664
257
395
58
925
492
707
71
420
243
929
327
75
553
416
41
927
774
218
771
500
669
219
999
454
463
41
523
373
576
522
572
84
296
948
44
295
302
925
338
667
804
952
90
653
3
290
508
574
758
680
119
429
613
840
488
884
781
430
846
727
330
346
669
854
518
808
910
470
202
680
16
798
272
849
845
40
337
316
298
719
233
833
835
821
507
555
26
333
706
188
932
905
162
533
453
324
982
179
714
436
124
316
195
958
740
297
592
331
490
631
324
418
129
531
200
374
491
32
997
460
925
937
607
917
358
547
976
281
411
198
275
673
434
126
593
673
860
83
4
344
71
409
19
872
785
991
288
69
79
648
901
667
334
2
814
937
734
815
703
680
492
118
48
39
630
193
342
889
957
600
122
816
889
19
937
786
874
607
469
678
497
963
762
768
778
534
927
129
781
500
736
629
427
741
258
909
308
478
26
269
393
597
294
859
719
430
596
978
582
12
166
526
264
427
793
910
40
877
317
725
64
536
287
615
738
103
276
564
368
164
963
734
182
173
371
655
323
859
582
226
29
381
858
508
22
352
304
739
81
195
173
347
862
903
403
990
319
411
254
827
470
245
748
262
854
24
144
408
724
680
896
386
953
995
336
348
626
124
867
823
527
343
566
581
68
155
936
700
731
224
999
951
744
367
30
926
567
942
43
545
721
574
551
741
632
52
210
111
470
671
723
316
411
988
766
807
335
199
774
266
763
891
108
757
745
918
556
192
476
563
74
167
666
931
423
609
62
722
657
972
75
179
444
881
163
981
816
270
466
326
305
18
227
232
345
21
667
371
455
462
344
360
15
744
480
509
347
201
386
460
435
218
920
54
847
856
844
980
338
408
66
482
150
575
12
475
270
114
794
874
771
867
405
893
856
74
922
329
470
727
566
563
129
523
524
146
154
677
641
321
613
424
432
806
128
576
387
441
124
885
213
89
254
311
482
306
493
474
117
838
844
749
314
984
664
450
780
204
398
542
604
142
888
115
705
401
489
660
551
977
953
804
771
286
390
767
350
72
667
238
317
304
278
794
266
384
53
221
539
600
93
332
635
754
948
943
258
364
377
702
435
640
989
348
281
681
694
818
346
994
164
330
928
473
438
204
412
452
407
726
443
294
138
782
725
260
936
365
346
66
564
292
755
634
284
637
982
29
242
454
240
448
247
340
780
473
193
247
770
453
187
786
3
45
982
897
449
434
414
403
2
679
415
463
312
994
586
320
246
461
458
114
347
882
358
681
645
966
212
471
311
47
711
668
941
882
33
622
702
835
684
475
180
956
118
678
545
17
469
721
535
580
149
978
886
563
54
42
7
551
817
310
142
344
904
845
766
816
319
762
686
187
359
464
153
257
154
60
332
953
714
217
614
800
794
516
603
573
201
85
88
417
80
944
927
214
311
8
608
809
403
148
152
994
170
47
154
827
21
869
43
933
940
882
2
935
78
279
630
59
420
396
110
251
171
400
565
848
344
335
305
988
540
60
890
417
47
272
279
328
210
241
841
159
481
370
685
40
677
941
597
727
773
686
824
383
955
915
120
565
791
995
729
111
86
894
467
394
423
376
626
614
426
162
231
333
518
58
71
504
298
598
3
588
710
242
276
196
846
535
993
875
572
916
378
282
168
78
215
12
812
869
691
759
62
706
869
349
458
429
202
390
960
306
826
960
260
626
827
777
898
979
353
784
740
797
200
921
587
247
472
129
620
853
18
338
925
511
604
219
566
714
207
26
537
880
386
712
475
625
425
821
162
738
810
360
738
370
682
972
980
657
72
248
214
600
92
955
206
513
790
265
840
774
13
842
537
935
464
759
117
451
125
783
278
439
344
537
905
913
182
378
236
856
81
637
242
375
481
17
706
928
828
548
146
244
303
469
140
183
661
814
609
192
862
283
325
446
481
175
228
13
510
789
152
602
790
699
196
515
237
768
309
482
977
557
596
916
722
71
489
971
16
381
220
512
466
757
924
716
723
374
350
578
762
533
347
33
952
602
232
748
540
565
708
894
397
141
176
378
339
942
221
82
869
4
509
603
937
363
580
911
217
28
823
98
403
829
422
87
272
141
239
777
591
404
372
605
457
693
630
905
350
343
253
775
974
763
20
380
966
134
286
750
691
639
612
164
602
254
372
167
145
868
151
96
760
704
779
763
286
587
585
590
40
596
822
78
865
23
224
937
702
377
370
615
624
373
853
222
811
459
246
63
649
459
520
72
981
328
880
450
570
860
935
738
988
422
768
335
471
428
706
244
774
334
590
410
674
373
855
593
601
133
58
122
778
338
330
265
396
867
830
168
611
149
470
500
528
533
70
999
978
151
617
97
562
78
490
667
359
316
357
731
746
223
951
663
937
551
67
9
254
168
959
568
622
875
751
762
454
475
634
674
944
389
356
321
718
670
991
901
979
223
30
740
551
393
603
649
680
884
33
231
53
109
994
430
283
675
250
285
981
713
330
412
664
111
521
217
935
564
246
217
793
520
236
130
441
747
894
605
696
239
916
530
937
628
536
898
543
90
719
86
951
978
273
254
783
56
94
264
970
254
734
166
450
347
29
838
789
792
812
789
52
253
607
504
340
4
780
959
667
496
828
83
290
856
365
26
161
979
891
68
911
185
610
854
662
115
411
485
3
650
617
606
682
171
267
318
885
384
492
175
544
295
39
978
720
627
78
383
989
147
247
563
699
900
305
296
129
319
839
889
857
531
252
282
123
970
643
537
527
562
230
665
234
341
741
399
712
356
490
101
150
87
965
463
901
448
375
23
721
597
977
831
74
443
4
780
507
729
638
197
946
3
820
336
772
631
625
281
700
235
573
622
835
586
503
958
726
35
595
936
903
39
704
65
158
161
414
971
800
250
128
132
200
127
76
363
220
236
319
512
531
177
729
850
406
931
419
667
299
926
313
419
408
744
364
580
480
442
437
51
291
934
27
545
612
835
778
924
966
489
263
813
180
648
572
190
515
415
63
838
181
601
46
688
170
634
276
117
609
488
859
210
332
899
606
842
920
288
894
178
281
415
842
881
707
768
970
848
460
76
520
799
137
158
330
403
494
511
486
924
896
669
952
553
325
355
62
697
674
933
50
498
115
421
765
775
461
645
329
370
806
700
801
654
161
964
817
521
488
369
773
779
303
479
386
268
962
224
331
384
878
784
262
953
152
225
695
551
542
967
125
439
248
63
286
240
740
562
624
405
739
948
905
244
494
761
394
43
718
13
160
349
886
949
900
36
112
44
127
157
506
846
697
917
722
434
419
320
383
820
933
176
237
550
138
180
159
167
179
737
585
935
422
39
549
409
918
652
300
29
523
561
327
904
280
140
774
316
643
40
383
338
839
327
554
95
981
513
605
878
576
300
63
286
685
970
611
45
326
343
411
948
685
147
601
618
288
463
170
447
602
623
845
100
446
572
270
433
190
242
583
563
967
939
401
57
25
62
353
919
913
772
580
119
391
346
5
909
857
50
763
46
577
324
948
375
222
955
650
899
32
706
374
604
435
538
85
818
100
204
486
799
220
456
685
600
271
531
6
983
624
923
607
310
178
626
476
876
590
210
572
127
784
93
122
554
181
328
576
831
462
88
305
940
767
744
896
616
937
148
821
421
768
253
318
160
292
696
579
157
782
362
701
110
490
205
415
858
184
807
302
425
127
277
73
110
523
52
481
252
367
108
620
522
294
903
694
241
270
77
799
270
934
586
917
504
966
469
119
816
110
904
895
622
393
536
677
871
630
341
852
379
530
420
986
892
570
226
574
165
370
648
338
669
440
313
994
195
55
203
465
799
475
403
681
1
903
404
517
105
379
852
874
847
267
86
626
283
113
104
956
12
452
815
581
358
544
589
523
102
130
123
374
717
54
610
420
827
968
18
653
793
432
84
409
912
423
232
326
690
624
246
359
75
920
966
863
302
192
675
91
241
852
113
47
731
548
272
293
420
131
194
201
45
295
29
126
925
226
498
158
685
276
729
437
857
911
172
493
75
133
911
708
33
173
231
795
224
485
745
145
779
987
744
981
374
44
651
546
266
916
678
942
12
249
795
846
318
742
135
23
765
262
819
481
862
590
974
121
10
393
416
969
451
246
58
406
231
295
616
344
528
623
602
950
426
516
891
354
374
597
387
768
125
224
457
545
888
653
795
56
808
200
369
651
655
54
926
635
776
432
277
908
952
504
281
865
785
880
966
210
642
477
745
575
982
258
30
238
104
715
857
741
950
904
303
956
654
561
614
962
912
76
905
131
110
113
289
994
390
259
15
755
436
383
5
850
884
300
744
524
646
942
53
256
354
478
706
767
380
735
188
467
559
814
168
471
842
39
402
715
575
222
871
287
19
767
899
819
8
329
912
676
352
565
267
711
731
35
268
576
297
431
93
908
188
166
863
247
439
783
489
198
550
778
251
176
94
219
287
58
308
964
311
199
576
387
885
571
62
237
555
221
535
709
973
867
591
815
900
193
77
886
644
352
491
408
46
227
556
410
617
256
926
320
791
8
238
534
558
244
302
957
922
879
252
403
748
146
919
77
531
261
504
312
579
42
880
354
872
296
485
288
616
239
838
95
127
854
146
463
216
912
357
189
691
299
263
933
942
414
951
626
832
670
972
75
258
538
94
155
857
152
396
517
246
241
761
931
129
1
545
217
331
616
291
213
559
300
909
378
256
101
630
466
434
212
424
123
787
231
253
431
688
594
735
167
901
423
307
2
995
152
931
929
427
584
796
999
276
502
177
791
390
540
837
157
505
797
926
463
551
587
301
920
905
811
628
665
861
645
382
870
921
629
112
577
845
820
907
876
560
318
76
765
126
371
420
287
984
261
353
543
599
355
355
767
446
3
872
977
987
483
846
582
956
795
514
987
756
935
969
437
264
198
260
253
645
178
472
196
56
416
323
883
289
27
291
57
438
238
190
59
676
504
410
14
107
734
744
92
421
229
851
704
801
109
893
634
107
389
861
950
890
351
383
955
167
544
587
600
242
571
724
542
58
785
792
476
700
178
398
435
708
22
411
537
805
283
779
30
476
422
8
563
617
983
442
310
109
255
414
970
748
406
780
682
447
682
121
558
979
681
118
920
851
244
217
296
58
202
729
877
592
78
913
475
562
860
455
959
710
124
974
793
921
112
831
546
43
852
591
226
970
48
907
824
462
259
506
753
653
836
187
735
502
186
437
268
727
213
362
7
919
191
94
276
587
886
758
458
880
523
359
177
582
11
684
47
798
957
405
250
416
138
97
363
27
503
826
649
518
259
264
525
927
274
67
1000
488
867
350
689
27
14
705
430
968
157
96
617
272
78
392
115
573
774
30
31
595
855
493
666
734
747
868
689
307
934
738
953
567
500
53
401
38
508
434
182
126
103
578
449
212
803
19
318
670
124
553
92
312
534
44
185
790
767
163
150
400
678
853
817
514
154
961
841
652
69
523
899
761
922
658
343
879
582
869
386
744
509
852
795
288
944
559
614
205
798
359
674
950
422
641
502
565
981
70
778
743
913
34
672
387
823
523
246
727
219
780
562
738
691
607
354
212
496
117
874
330
10
71
15
998
191
661
938
540
33
770
200
523
933
259
812
688
76
824
752
915
204
305
216
172
604
106
268
180
755
576
627
329
815
751
45
15
85
891
103
137
626
597
258
988
464
130
696
119
189
739
859
72
297
430
510
62
349
627
885
764
831
602
744
415
673
378
139
289
483
67
315
482
953
223
451
621
305
866
873
767
332
277
973
308
362
541
302
87
429
54
218
344
31
946
34
325
137
387
799
567
502
277
767
916
952
710
76
340
992
881
405
455
18
846
165
478
446
637
313
14
243
748
19
678
750
972
214
57
160
855
539
940
705
800
311
44
416
3
916
701
314
936
470
99
29
55
672
691
116
799
538
358
819
675
89
731
615
439
134
848
646
938
9
979
59
196
496
24
358
680
185
346
90
541
209
315
591
775
655
79
41
903
903
308
810
773
851
748
888
523
253
406
249
555
382
127
142
648
856
116
628
944
716
704
183
611
826
276
799
453
203
804
823
587
179
892
728
576
163
579
103
100
356
394
429
318
979
333
602
555
440
472
773
878
410
941
773
366
934
816
301
668
588
325
84
469
145
399
436
85
389
255
967
275
534
158
748
722
147
942
865
368
606
185
156
933
923
159
879
488
158
788
215
939
771
906
794
607
993
45
886
892
713
815
503
157
407
710
429
579
396
829
95
685
50
576
318
682
611
851
128
520
980
671
315
788
151
383
859
222
996
895
109
550
710
378
446
887
593
959
151
699
774
794
396
587
97
742
589
816
721
594
775
523
836
425
452
49
581
176
950
659
416
28
456
196
160
468
890
921
438
195
105
827
495
191
277
237
236
351
960
386
833
5
974
978
472
600
231
426
611
548
589
602
663
960
81
423
119
594
180
554
982
814
294
829
824
823
356
712
903
684
188
307
556
938
301
939
534
690
940
304
1
122
479
546
711
311
689
402
231
68
61
701
191
309
85
124
205
73
318
98
522
929
169
100
465
935
518
438
422
738
727
806
473
643
90
506
754
722
518
256
302
88
74
921
425
492
12
368
639
299
126
833
789
724
545
893
298
929
603
134
388
198
24
106
714
988
491
987
123
29
582
677
112
56
196
702
164
980
826
392
314
464
474
292
206
956
574
663
396
187
11
223
883
36
226
988
636
432
431
196
440
677
160
804
486
160
742
984
980
930
797
385
490
32
500
632
870
797
240
738
395
520
201
584
156
89
617
654
876
158
675
514
36
392
533
340
607
191
508
938
761
11
266
325
620
98
743
885
510
5
619
543
170
724
403
188
103
671
547
782
552
21
586
205
607
98
976
929
590
628
164
998
186
644
449
671
740
780
347
291
769
463
495
594
28
286
641
750
368
429
857
841
271
561
956
387
129
87
996
774
293
954
903
134
449
481
485
291
89
855
524
896
744
977
220
749
146
333
1000
629
686
451
561
646
378
266
93
243
14
439
821
510
388
237
336
384
230
133
740
649
997
650
259
391
769
317
833
702
268
830
153
986
488
619
765
169
468
84
150
493
530
688
140
329
677
954
636
632
919
157
357
239
10
173
270
200
454
512
421
734
648
33
123
185
744
220
850
599
134
183
710
104
451
743
92
347
659
65
934
634
92
283
61
271
272
507
214
826
970
393
733
703
236
188
310
445
66
800
898
649
977
969
619
258
976
57
504
230
350
338
966
301
235
898
208
605
154
447
147
436
585
390
48
301
127
480
759
746
54
269
364
120
859
346
70
569
889
47
383
65
347
927
966
219
712
776
87
934
135
384
230
705
450
573
284
541
251
236
680
982
897
261
9
709
407
227
932
548
968
758
652
482
147
194
814
439
996
61
473
220
928
444
689
909
634
944
369
511
315
373
221
361
217
736
72
64
769
301
339
318
647
788
143
25
716
784
429
494
137
496
427
380
867
880
21
261
414
987
847
369
996
98
485
64
175
842
700
100
619
41
516
580
926
455
833
777
301
956
416
683
490
908
350
215
531
703
453
504
806
458
749
588
382
860
803
142
812
16
623
557
412
969
870
831
535
212
333
228
505
149
964
601
685
935
283
604
625
574
651
753
355
429
704
458
666
549
255
675
652
344
81
806
886
170
315
826
344
324
631
400
599
814
985
913
852
11
460
928
111
941
676
584
171
581
304
827
89
945
438
172
551
166
1
912
821
52
861
297
22
777
78
220
89
489
516
384
95
596
107
762
589
426
195
376
211
753
719
102
130
423
488
223
792
934
424
943
44
360
445
919
952
456
628
137
538
119
360
158
216
660
499
807
923
464
935
902
821
729
560
496
949
895
351
408
438
314
180
529
678
440
13
521
387
559
328
1000
628
638
986
286
686
407
255
74
125
188
393
168
517
287
995
524
82
19
302
443
927
548
820
672
654
748
853
559
865
267
56
177
483
788
668
503
875
268
896
321
483
570
796
505
26
491
109
748
381
644
717
591
924
59
784
805
462
618
180
826
872
662
511
926
230
198
889
260
516
120
644
734
938
806
306
910
566
234
525
780
204
510
93
308
416
304
835
102
156
267
969
421
746
899
454
21
822
709
979
997
437
777
473
864
722
954
478
639
388
37
263
523
865
201
319
152
64
884
736
37
610
69
33
963
845
621
193
621
102
948
13
675
531
718
410
812
228
826
970
42
560
84
855
671
316
343
194
932
799
900
170
196
23
54
364
60
956
631
325
391
123
153
958
554
980
67
93
662
148
119
501
660
2
524
712
456
100
55
200
115
672
559
923
331
673
684
710
18
954
809
728
878
712
249
68
221
729
826
562
165
848
806
58
560
772
12
736
644
535
651
524
477
952
29
308
678
921
856
410
817
715
283
793
130
289
173
528
866
209
357
323
676
1000
776
352
933
606
502
182
782
161
584
325
7
476
547
845
507
470
168
476
315
279
844
921
569
937
450
351
815
312
112
639
337
460
716
530
927
698
293
778
698
431
656
254
59
247
776
182
941
863
434
929
726
256
621
257
113
716
16
523
305
612
616
89
513
401
255
131
745
743
320
85
245
653
458
230
760
280
411
277
6
245
443
378
324
494
994
681
548
229
296
396
511
842
698
366
474
689
346
294
980
215
702
114
297
184
78
455
656
705
34
822
949
364
974
856
420
982
766
48
152
446
526
341
829
616
969
331
331
517
910
216
208
913
532
185
1000
869
47
686
622
113
221
920
794
827
57
901
568
20
584
677
562
764
332
633
401
401
561
312
220
282
716
860
831
737
924
48
267
738
539
758
12
154
901
15
149
602
489
891
37
622
601
88
902
329
552
607
892
744
99
659
741
715
525
914
165
732
304
243
524
944
825
350
62
389
959
62
271
779
590
624
525
182
403
994
151
600
311
44
523
742
943
543
633
263
475
996
782
370
957
717
709
960
969
9
544
385
93
962
371
569
226
156
126
385
172
540
767
172
351
823
345
769
658
10
719
716
719
117
98
88
819
684
519
15
780
421
671
65
924
231
176
562
60
879
543
367
109
792
558
836
600
816
769
449
757
281
84
89
314
385
221
72
522
745
904
794
13
928
248
308
348
932
738
230
74
855
556
123
99
473
806
902
1000
30
346
876
671
305
511
752
356
964
33
295
686
246
818
373
818
302
77
793
143
851
494
685
328
401
737
176
635
958
636
764
584
4
791
92
991
560
166
808
370
282
537
804
466
898
215
419
440
762
608
106
830
921
574
679
970
923
416
479
982
509
642
718
798
458
265
810
942
105
535
724
946
489
445
252
343
638
294
624
169
248
845
80
772
901
361
865
505
993
899
585
597
767
753
29
76
182
904
384
118
881
602
212
630
167
20
690
169
743
999
404
543
941
497
397
538
304
304
296
302
690
929
49
803
487
363
248
671
187
592
38
462
264
292
357
56
284
168
598
464
197
764
838
794
30
384
439
505
571
972
182
360
175
406
98
700
534
697
782
721
99
997
336
498
868
148
997
339
407
773
173
953
302
510
864
552
737
88
384
714
497
367
899
320
531
351
534
338
114
435
707
583
802
841
905
812
592
271
355
712
153
297
867
368
545
895
716
792
585
856
554
979
914
484
236
725
842
123
904
140
272
584
839
402
338
435
413
786
926
502
916
410
906
613
170
484
709
807
619
35
919
757
15
243
608
118
907
538
527
884
902
561
624
601
50
939
48
455
788
574
503
855
559
810
766
99
647
421
243
113
734
802
676
80
427
183
507
926
301
900
923
313
35
17
350
763
836
647
971
968
693
339
897
207
937
822
765
978
227
180
868
658
346
308
408
992
138
66
97
735
491
144
118
577
536
47
433
792
134
992
487
716
252
733
678
226
104
519
319
912
734
445
450
507
310
417
549
439
540
859
106
104
484
59
34
540
521
737
146
724
387
34
216
637
21
624
714
560
400
33
939
838
679
620
106
448
739
838
937
298
659
582
428
128
732
403
761
234
400
384
795
34
866
249
157
650
211
85
719
272
574
687
188
61
290
125
576
734
952
582
586
784
10
914
301
505
880
661
137
574
543
418
706
4
234
602
91
678
164
618
60
520
170
385
889
596
803
944
831
84
663
653
702
102
693
54
731
841
777
65
584
322
187
573
462
350
366
877
223
931
77
643
804
496
155
249
584
756
997
413
941
928
421
6
961
346
743
823
173
208
728
850
192
303
597
301
397
90
413
249
75
430
972
221
22
608
797
507
242
996
977
266
188
904
309
744
22
660
728
21
453
960
997
772
47
874
479
442
333
669
122
110
636
790
922
44
343
917
799
632
214
1
215
933
431
606
882
567
302
635
595
36
950
785
567
865
819
634
642
147
568
329
403
145
756
243
527
659
750
819
672
726
447
29
832
77
717
579
357
475
993
966
774
696
18
22
141
461
593
397
904
44
117
732
144
656
790
921
632
955
638
981
372
162
933
501
138
393
151
571
62
716
339
352
522
382
665
212
395
446
950
402
261
655
202
833
283
138
497
381
306
890
111
525
178
470
428
842
414
651
6
23
123
986
148
654
525
379
480
916
491
776
306
780
290
68
987
999
121
102
179
385
63
477
535
465
818
472
401
569
951
986
87
823
409
884
568
293
743
482
809
769
821
238
487
274
816
857
573
386
891
154
85
929
336
11
344
385
853
674
245
639
335
450
348
298
722
603
107
906
511
857
182
793
22
466
569
198
822
246
234
554
578
318
49
518
199
554
84
383
307
902
739
30
983
797
756
463
243
891
902
252
889
146
990
955
224
200
957
658
606
534
906
347
981
611
390
700
346
665
720
246
544
189
748
591
931
535
401
518
220
241
240
360
257
819
411
974
558
800
719
16
198
756
927
10
33
869
57
838
306
380
189
893
399
913
188
127
868
212
867
596
916
349
329
936
166
786
588
385
909
10
169
606
19
613
27
562
372
821
23
143
926
446
197
54
560
185
230
742
422
967
840
759
795
811
318
14
438
252
54
848
924
968
702
701
788
630
566
419
152
416
931
949
89
801
274
205
195
488
761
431
697
320
976
245
969
71
568
862
508
821
412
705
263
470
872
725
692
583
24
265
114
396
989
245
687
306
74
756
834
561
90
916
61
217
13
964
888
626
173
132
34
856
256
789
106
486
731
723
787
161
741
175
904
124
117
449
849
726
929
482
495
541
904
742
177
324
139
248
284
474
728
267
733
81
355
490
909
916
407
77
666
892
903
986
639
657
343
440
411
961
648
210
72
347
482
618
296
571
601
846
362
811
353
151
490
444
73
55
406
608
941
466
370
306
785
920
721
71
445
836
640
528
573
752
956
322
148
1
786
944
574
172
245
988
959
15
699
215
51
156
867
619
368
90
544
359
240
457
914
38
850
517
209
296
875
90
919
115
980
947
924
533
272
801
660
704
775
589
868
351
131
695
600
727
49
130
853
97
435
455
651
649
779
412
421
458
109
811
244
823
767
192
930
823
313
216
890
461
111
505
463
97
532
866
707
196
255
465
642
579
844
521
607
491
640
522
680
774
18
791
104
378
223
499
250
238
336
807
957
263
386
950
7
843
281
459
90
785
2
638
846
44
483
639
514
973
675
196
218
43
578
131
194
185
436
247
97
936
860
115
70
566
393
570
433
232
884
430
704
14
131
75
153
330
406
34
232
897
859
665
65
840
309
338
606
7
582
273
236
853
403
334
318
477
819
626
677
517
257
701
65
675
643
546
411
542
437
302
61
289
40
819
276
496
818
764
965
105
882
959
18
995
845
52
607
205
23
392
529
164
901
222
999
595
280
882
295
975
162
774
314
469
335
232
403
329
605
288
804
625
809
578
668
984
41
252
857
765
46
813
733
711
329
284
654
651
360
943
215
278
171
147
130
378
781
443
218
125
117
250
197
238
547
882
818
852
685
558
444
921
890
403
335
877
744
75
750
27
860
833
476
875
544
347
541
155
224
483
689
870
43
640
637
24
697
941
301
84
427
732
890
390
34
406
279
912
963
491
85
733
747
364
691
635
590
658
797
961
470
655
199
732
873
525
166
612
239
238
176
911
234
423
808
295
207
192
258
208
597
195
292
364
562
773
441
789
839
90
922
53
675
563
27
293
695
740
757
565
736
7
24
857
7
158
92
859
406
914
815
157
475
927
839
114
255
690
189
100
279
5
540
109
995
385
65
28
248
821
941
23
793
826
478
531
444
598
361
361
170
411
684
251
321
64
290
37
265
350
436
284
845
983
939
808
480
408
792
38
225
187
688
585
766
454
13
668
154
29
652
332
94
361
398
444
685
429
806
562
855
60
138
673
160
952
390
647
217
802
504
32
825
580
539
450
720
927
977
431
22
108
361
9
610
685
131
758
113
348
900
257
693
917
360
140
525
552
711
24
732
651
779
557
549
741
981
804
637
894
885
945
820
866
434
29
995
197
800
137
580
966
444
835
688
772
196
266
153
762
88
559
628
228
209
481
262
354
82
458
872
210
946
99
79
949
813
389
653
512
411
555
161
800
921
424
71
445
922
758
667
773
142
669
484
526
365
723
486
225
369
734
864
777
858
586
194
121
126
634
628
197
660
371
963
553
931
77
726
193
413
118
829
104
245
396
3
37
29
235
954
716
957
605
92
636
836
198
795
3
630
320
376
175
781
939
299
171
950
533
779
424
799
562
537
982
86
480
402
778
662
235
415
435
928
80
283
305
905
369
359
79
404
703
789
376
643
459
115
152
327
233
425
664
381
192
63
958
491
684
63
570
130
685
682
164
964
846
871
370
432
970
72
938
788
696
460
644
102
89
667
110
545
578
13
772
789
410
539
782
492
371
423
566
676
25
935
47
226
150
706
330
913
353
947
769
82
68
210
888
596
298
447
580
724
448
381
405
394
590
698
523
640
326
124
32
146
155
274
25
481
943
9
682
9
644
186
116
480
893
851
485
995
473
361
79
375
958
437
738
969
997
865
944
573
837
409
372
460
664
518
519
486
260
582
265
834
288
796
867
270
248
214
936
701
777
157
416
407
478
991
424
603
954
194
122
837
12
760
407
338
314
260
366
614
867
265
853
488
842
451
504
274
170
412
766
995
252
97
250
379
889
841
814
855
263
158
319
951
362
805
905
272
769
166
2
738
140
645
991
846
19
607
601
535
850
369
679
637
179
889
903
7
97
103
421
173
873
288
107
723
622
454
356
750
578
529
897
356
208
16
87
592
984
869
572
269
84
581
961
712
685
860
417
920
801
797
637
550
799
164
739
820
826
298
7
732
406
68
241
976
340
580
758
508
896
599
662
49
977
147
133
732
594
387
862
661
499
678
695
439
291
651
770
585
635
255
130
368
517
982
878
743
580
914
412
5
699
788
204
252
889
29
857
982
539
567
900
945
754
317
892
908
252
391
929
102
909
466
562
977
502
253
488
318
638
671
96
915
173
165
106
750
636
580
85
120
318
151
591
164
706
439
50
60
910
540
243
515
535
438
472
269
264
194
25
11
27
542
586
523
223
561
606
854
944
312
465
26
494
716
454
139
836
504
229
685
733
761
408
598
499
442
400
818
246
253
401
156
446
462
722
856
424
529
263
501
143
916
993
899
263
94
775
128
977
537
700
179
601
459
410
568
215
157
526
785
917
65
418
749
427
69
7
216
813
199
207
704
122
532
918
607
548
49
170
79
576
215
157
700
223
273
398
152
96
566
204
895
498
752
956
317
213
411
442
969
939
402
639
238
528
273
894
285
364
200
391
136
209
198
181
579
806
812
808
911
384
101
739
656
948
477
405
59
904
906
618
580
149
27
571
588
214
990
384
184
422
203
387
394
343
712
959
985
976
651
730
800
222
40
416
835
193
246
350
217
836
548
58
898
138
639
829
136
942
298
312
770
984
175
614
903
348
384
248
833
946
561
537
989
978
152
775
183
609
955
508
711
227
366
809
695
741
343
298
606
334
843
968
70
971
371
594
921
760
322
593
947
932
7
751
930
824
590
143
407
751
698
909
18
61
131
279
449
976
896
418
756
66
823
162
275
319
110
725
425
794
450
789
470
827
882
166
675
557
40
412
393
337
316
333
299
224
315
331
381
337
72
933
323
328
761
623
586
585
953
340
859
105
91
601
523
116
496
226
439
680
114
65
679
479
198
992
784
895
299
622
745
343
280
888
210
513
521
657
312
806
131
15
143
804
797
728
123
46
819
638
426
721
999
456
184
163
332
470
396
181
831
195
356
326
424
874
933
178
583
49
221
601
218
135
926
719
439
17
334
48
968
251
887
810
348
338
174
981
612
901
637
7
733
320
384
480
16
526
310
237
560
215
136
530
60
694
93
905
531
931
690
399
945
175
443
508
427
641
491
113
382
407
713
253
861
583
388
149
547
273
407
412
972
607
785
702
954
362
517
412
821
266
843
150
629
153
653
876
513
502
25
560
244
783
916
139
310
229
597
377
94
329
727
937
262
365
901
628
70
792
65
292
117
114
488
285
14
186
826
806
536
541
437
621
108
429
254
868
876
751
454
698
189
947
656
505
73
221
567
330
131
180
856
868
378
80
511
149
697
402
94
592
976
390
134
630
492
538
329
508
759
733
398
183
929
911
150
467
760
653
818
696
339
73
760
242
38
748
410
112
618
176
727
757
12
471
490
931
75
528
470
134
526
938
899
731
347
284
684
287
169
285
489
88
551
431
158
57
597
396
952
488
53
510
700
129
908
28
324
115
500
728
110
215
317
651
747
614
18
407
438
237
650
545
311
196
708
935
945
513
448
963
83
706
846
647
510
164
671
398
621
502
424
310
419
248
301
269
586
272
929
145
744
352
335
567
265
148
508
546
782
630
964
266
91
727
904
946
247
522
936
548
502
864
820
478
180
650
387
144
702
354
593
383
777
626
652
342
173
862
338
317
608
758
830
461
19
715
936
5
907
894
117
844
457
418
529
898
920
894
180
667
57
18
409
775
496
463
99
122
556
657
444
451
386
339
625
764
322
952
437
34
960
76
800
89
808
49
62
387
295
898
192
619
577
467
282
739
839
379
263
75
723
106
365
610
117
923
654
415
779
14
934
472
171
291
392
792
441
794
653
842
711
660
295
752
688
749
481
707
163
954
92
189
126
144
604
474
86
431
36
891
657
182
471
865
663
771
13
706
775
575
558
431
211
148
433
638
99
798
760
619
936
25
414
422
959
423
557
556
375
662
30
378
121
117
350
984
236
575
641
596
987
178
607
21
601
436
580
753
844
729
717
670
683
143
709
106
1000
923
691
252
611
62
624
480
892
774
120
200
937
671
511
276
485
487
10
870
834
95
944
822
562
383
410
310
176
271
129
604
719
801
969
160
976
734
366
191
163
576
815
104
873
254
760
882
634
962
402
554
633
825
432
409
37
117
223
490
874
734
765
210
617
504
528
634
459
701
443
105
755
828
445
380
279
327
318
404
725
375
151
157
379
349
351
758
984
854
976
158
620
419
175
302
833
122
602
595
361
417
23
887
534
391
735
925
841
524
58
460
205
786
907
702
234
546
369
882
83
370
296
5
581
225
148
746
989
996
706
592
53
534
828
984
68
596
112
226
256
186
191
328
143
780
402
840
526
841
723
906
265
845
222
466
440
764
726
552
285
573
55
107
977
911
974
597
537
417
947
976
52
684
911
223
962
944
506
778
374
842
678
657
253
651
78
963
838
311
477
773
855
515
247
121
901
876
51
890
898
887
45
951
658
996
288
826
404
601
525
470
575
228
233
505
342
399
583
405
70
4
13
661
361
51
185
920
427
742
456
460
295
769
380
129
719
532
417
62
762
791
754
49
724
886
80
452
437
233
216
933
23
295
761
70
841
588
258
154
744
570
980
51
719
473
89
64
662
210
814
126
348
502
281
510
603
301
812
477
343
373
829
918
369
649
984
108
811
565
763
147
633
175
632
523
919
228
706
507
517
780
56
765
216
151
34
646
808
189
381
122
295
910
514
209
12
493
50
42
612
561
586
458
722
397
733
62
564
496
658
278
982
399
684
804
142
316
86
235
623
390
807
337
748
847
715
628
773
420
957
451
6
650
126
690
990
611
241
652
654
646
997
387
739
457
343
926
841
718
209
470
161
3
133
567
413
396
592
718
339
637
97
627
30
6
475
549
523
486
337
787
183
871
397
411
26
650
178
699
443
452
669
646
735
771
635
97
541
524
639
742
451
663
281
233
90
765
840
153
519
2
259
438
44
356
386
109
450
311
483
854
217
467
284
94
490
727
283
638
462
740
542
926
349
284
8
202
312
126
223
593
542
711
381
269
197
699
838
299
56
978
594
813
547
302
723
369
285
72
441
171
369
145
300
960
463
748
986
891
140
708
349
743
29
251
551
102
79
576
715
979
644
224
34
472
149
61
60
676
821
318
835
40
354
724
583
742
356
222
904
487
183
159
839
316
39
106
671
633
260
666
52
698
339
730
908
221
550
649
570
565
23
677
754
286
696
889
351
378
917
483
446
658
319
13
639
177
267
622
532
399
361
814
200
180
403
611
554
231
813
253
788
859
664
694
508
245
396
274
717
427
800
876
573
457
35
791
696
904
291
268
894
994
209
454
311
193
307
991
430
975
505
69
807
839
254
138
140
383
962
780
60
398
122
512
30
473
34
363
887
592
81
146
821
530
252
275
81
674
48
828
265
12
923
293
829
680
163
138
383
391
448
866
389
498
400
716
129
240
80
553
191
917
752
759
264
361
221
145
738
100
713
990
455
11
572
341
970
138
3
574
865
525
737
96
960
630
747
729
760
885
95
994
121
446
570
22
895
43
36
271
282
109
300
581
705
33
880
338
308
478
256
709
570
194
79
930
138
637
314
658
668
33
511
236
397
191
207
522
187
549
973
628
970
376
785
511
928
56
181
849
187
666
160
83
546
804
876
772
512
803
978
678
968
959
866
102
876
428
245
33
749
741
72
622
63
729
436
328
386
757
931
856
770
797
831
645
859
849
722
259
257
595
291
477
921
997
654
292
725
745
930
277
911
79
797
7
809
526
384
290
92
534
185
994
836
784
647
146
806
248
681
809
754
666
670
963
951
186
424
246
851
363
181
942
552
590
951
62
682
275
440
690
450
793
323
30
838
292
878
771
373
941
832
413
448
98
834
209
916
175
126
242
576
686
839
935
187
85
833
3
878
506
160
431
151
470
18
596
198
921
566
33
938
726
50
679
965
900
507
654
629
382
714
759
563
118
177
905
299
622
653
653
47
894
166
853
323
811
465
169
867
641
653
904
233
350
43
126
478
756
349
556
629
389
991
80
996
118
651
999
921
224
189
363
285
630
709
805
920
400
849
302
117
477
361
209
551
852
639
729
316
20
158
691
200
602
709
151
4
509
910
876
471
843
703
181
372
44
490
976
375
439
76
108
602
444
825
259
205
153
321
713
834
965
305
299
642
151
918
684
337
44
44
972
834
579
96
267
267
478
726
461
487
275
739
991
654
729
971
742
235
897
14
594
525
280
431
292
794
43
562
518
298
207
93
11
692
142
326
569
838
404
468
597
574
176
347
622
835
132
642
858
364
538
121
475
384
817
389
696
801
568
332
219
911
279
804
766
114
569
63
734
857
801
167
30
864
366
798
180
743
741
986
708
211
689
810
593
520
587
432
359
135
948
762
944
357
643
630
75
383
190
605
282
241
774
492
42
143
294
98
825
58
875
78
932
744
704
547
107
27
6
663
894
869
247
578
541
644
348
990
103
79
848
35
24
536
427
399
129
649
173
342
434
850
265
806
596
992
524
887
146
89
397
720
884
192
517
295
911
538
916
771
852
417
355
637
730
659
986
446
824
216
748
930
581
123
488
997
330
998
767
505
102
353
731
723
331
186
205
70
609
736
400
85
926
825
219
550
51
887
168
360
773
675
331
46
768
625
652
796
717
35
70
486
173
538
629
462
356
838
807
795
705
297
698
271
545
780
601
686
681
97
809
860
59
493
78
382
908
894
333
302
927
54
674
858
159
301
606
847
149
321
771
451
887
315
108
154
803
888
536
890
784
255
727
716
778
674
514
105
54
563
756
441
609
401
272
382
503
349
568
592
167
505
646
703
819
847
142
545
186
222
397
347
659
154
855
72
864
899
318
90
384
909
231
98
25
770
97
586
587
809
563
161
590
732
494
750
750
93
580
1
333
899
612
246
658
402
602
12
165
928
344
386
429
656
839
502
441
410
263
48
278
834
772
963
16
839
533
424
365
815
785
824
44
918
627
692
356
668
485
378
767
238
903
943
556
29
364
846
764
589
353
938
716
475
761
789
413
422
50
536
895
24
261
323
552
239
124
866
973
163
993
836
570
926
293
586
700
53
481
175
425
295
264
802
364
792
977
509
318
361
546
479
473
897
459
312
26
120
488
434
38
384
715
193
114
850
574
236
344
103
185
515
525
199
297
594
298
215
492
11
292
590
147
74
740
959
843
869
342
696
519
215
309
101
710
968
650
23
596
388
750
711
481
247
215
861
495
969
753
165
5
396
611
118
250
667
702
512
193
340
89
816
404
82
946
600
125
204
472
266
281
830
445
615
318
744
339
188
238
815
916
913
84
420
227
296
433
483
837
303
169
593
835
122
924
132
926
166
76
541
485
94
150
618
946
58
770
247
319
141
80
38
969
696
669
183
959
342
602
219
448
463
120
525
639
385
928
93
711
830
762
528
38
868
97
304
745
347
473
996
293
697
842
603
388
83
813
76
949
109
399
893
275
671
141
814
817
87
46
985
171
350
839
195
991
188
425
401
542
645
310
610
503
51
952
814
479
584
681
972
360
106
854
950
345
590
385
927
948
254
651
33
751
457
45
867
46
540
117
116
721
32
345
715
933
80
36
856
177
520
802
666
325
768
289
599
85
541
623
370
141
539
82
827
888
341
70
234
320
190
370
316
88
802
6
827
196
46
760
576
92
137
557
571
151
978
467
421
674
429
51
200
548
555
104
732
683
392
677
667
170
330
368
756
848
14
523
479
673
559
918
524
796
964
934
657
766
837
3
216
650
918
352
773
125
457
627
552
820
185
76
783
269
473
315
552
837
296
609
605
899
779
776
235
373
435
520
647
420
683
10
96
769
863
3
755
646
777
670
438
730
725
545
269
932
100
712
904
6
897
397
162
202
880
660
768
210
748
754
454
633
363
7
840
108
982
839
369
965
507
577
53
17
934
304
943
688
554
884
69
148
986
623
20
590
753
800
490
42
982
415
880
401
752
70
490
425
784
858
910
528
429
484
977
122
388
633
72
108
188
758
586
886
208
63
85
888
969
417
112
248
458
377
553
641
526
235
201
760
748
281
491
137
702
35
375
243
310
247
945
881
754
895
747
895
482
213
679
128
983
68
979
388
360
604
124
893
182
155
335
299
747
866
52
963
691
345
905
506
806
920
684
137
59
763
327
395
53
229
174
185
591
232
602
6
591
395
703
269
305
998
818
475
725
462
616
806
54
220
877
381
357
351
313
20
850
269
549
871
796
107
868
664
645
155
445
667
892
883
560
656
93
605
731
324
626
822
789
612
72
618
668
353
556
292
79
520
967
538
313
64
767
123
117
40
2
940
962
255
206
780
58
163
125
890
161
97
566
661
522
231
233
371
381
840
99
918
14
543
734
938
670
197
3
509
715
43
738
886
882
514
292
379
854
823
383
494
302
109
268
967
108
433
66
144
757
362
23
448
756
236
607
361
543
455
577
396
522
299
606
80
748
846
587
795
334
543
520
692
799
851
730
560
444
169
221
655
334
960
195
19
615
566
67
748
702
724
897
997
344
213
739
238
698
348
323
464
311
305
384
540
353
346
155
901
531
87
808
141
863
867
53
805
893
140
770
873
987
565
257
34
67
112
615
796
508
115
893
894
965
613
784
282
564
751
132
150
230
288
972
72
962
421
595
393
445
287
939
366
783
446
642
435
30
629
258
248
870
777
457
657
35
196
518
6
30
219
56
480
270
345
732
117
34
242
615
402
503
374
7
993
741
231
779
258
663
342
702
744
935
295
818
636
261
960
633
540
700
3
808
633
498
563
63
362
425
645
198
358
742
391
519
187
756
900
436
880
358
661
695
920
97
5
526
528
80
182
955
612
469
810
683
730
387
494
226
771
833
312
454
811
593
770
274
821
185
540
976
432
607
967
658
1000
26
913
248
584
563
966
854
250
28
413
563
333
790
694
354
908
975
207
508
715
817
462
720
242
326
573
160
483
376
999
894
129
960
238
380
612
612
942
268
437
960
502
348
751
946
743
286
899
492
752
745
41
317
260
599
544
137
236
196
972
739
491
47
967
236
206
912
217
398
213
969
13
93
794
631
602
732
503
645
649
114
238
289
656
207
380
846
100
215
313
42
399
755
61
805
530
79
92
543
306
60
560
89
828
96
388
623
622
171
630
176
306
69
499
753
442
131
279
731
340
12
119
956
250
598
347
864
278
635
519
45
830
639
888
886
149
327
371
332
723
185
343
328
980
745
831
221
668
830
736
256
778
318
730
304
693
939
397
134
461
262
996
873
783
276
930
766
306
934
676
989
307
602
427
83
706
603
157
489
614
957
173
799
291
976
461
601
501
577
305
193
705
64
716
38
448
655
191
555
603
202
187
725
819
408
506
47
662
333
451
557
441
146
233
13
646
861
603
825
246
311
97
3
854
673
600
213
895
691
158
18
469
151
97
498
564
253
547
773
631
273
402
364
314
329
604
968
281
103
403
959
727
81
875
859
63
291
587
101
726
475
739
629
856
387
512
269
759
208
629
353
724
61
336
781
774
306
94
548
331
556
291
797
660
340
197
604
135
975
183
49
76
467
974
593
901
199
309
428
848
766
951
245
338
552
386
846
359
558
957
96
908
530
368
997
607
686
719
84
118
170
251
911
857
938
975
116
824
906
244
473
61
100
97
360
376
981
909
260
480
317
468
310
628
757
133
378
166
742
83
858
137
498
56
166
255
660
134
923
81
459
305
937
221
566
551
392
712
366
152
119
536
882
748
388
390
618
465
477
401
286
53
151
494
794
562
277
479
852
570
35
770
289
321
560
805
461
454
403
908
177
177
907
294
190
837
425
402
617
857
349
529
634
902
68
1
389
971
308
757
371
830
782
283
403
818
721
254
23
622
654
177
245
28
734
505
627
25
55
466
102
895
616
856
262
52
49
576
651
520
789
583
151
836
77
208
735
124
115
533
689
805
690
601
919
146
827
778
101
422
351
497
242
988
772
956
693
962
578
83
767
524
829
212
903
91
938
485
745
728
673
937
601
203
673
598
484
43
269
706
358
782
968
309
249
355
735
113
625
263
140
421
782
671
479
413
49
125
256
809
265
883
748
156
357
225
964
633
817
220
986
229
547
586
538
639
852
251
647
999
310
145
428
864
884
565
350
460
920
196
815
279
600
467
533
581
20
505
954
189
298
331
987
267
40
358
316
428
19
451
924
613
184
1
806
658
939
520
474
381
196
240
567
308
876
86
746
864
369
163
154
981
978
610
855
582
500
246
78
347
934
980
563
464
748
308
10
852
279
603
420
456
600
73
145
771
638
430
549
729
408
319
518
420
979
533
485
909
194
846
262
577
215
96
690
5
695
766
111
400
737
930
656
964
839
839
642
411
701
881
732
29
117
852
34
333
165
741
75
320
566
276
366
835
396
520
362
317
294
690
723
491
933
209
166
180
795
712
626
491
244
372
132
60
461
419
555
923
48
207
360
852
49
502
596
656
642
921
619
48
18
642
458
147
812
533
313
619
971
844
410
699
164
487
319
113
640
710
881
990
951
657
108
376
138
912
755
920
728
640
787
590
423
323
635
63
427
427
953
539
181
567
577
298
671
824
513
293
597
970
90
395
418
236
856
721
703
145
396
626
262
681
29
521
277
706
239
695
979
138
800
683
494
842
746
536
137
596
767
572
773
752
126
775
876
428
898
45
557
162
212
928
157
934
146
285
945
430
130
603
98
179
40
278
423
962
596
289
197
493
395
99
112
936
628
510
545
229
527
455
275
572
684
406
355
661
628
129
12
433
499
39
385
129
194
281
371
497
134
974
93
783
642
764
313
990
14
938
600
557
522
884
262
208
974
600
801
228
961
285
169
840
575
794
194
670
235
880
322
501
216
699
280
672
617
2
338
482
817
820
585
931
889
209
67
954
76
786
667
82
171
408
338
103
585
281
670
882
949
235
783
954
319
663
267
909
467
856
166
844
262
60
67
382
850
623
952
815
205
1
825
987
631
256
56
388
965
882
33
792
552
479
978
470
559
814
719
642
804
286
797
385
104
666
554
628
80
261
713
250
447
329
573
504
112
630
100
209
809
535
117
163
553
965
288
243
965
751
807
528
382
728
509
549
710
966
652
489
200
69
740
738
651
421
603
723
84
554
373
323
588
578
154
538
868
761
944
247
996
874
804
84
24
904
361
436
389
77
479
556
513
924
342
611
579
280
232
240
266
712
29
860
99
836
813
537
184
399
972
689
312
794
936
297
798
881
946
556
980
622
323
112
994
12
308
125
298
286
867
397
433
133
855
716
678
966
481
398
576
873
382
705
799
979
477
480
447
382
401
849
682
687
558
301
532
444
729
786
825
472
739
755
461
123
900
189
657
44
804
775
367
881
612
315
831
662
103
376
58
343
659
942
135
49
798
544
415
133
63
926
26
59
868
830
636
451
355
865
71
409
471
775
246
328
219
620
800
995
486
520
999
726
953
667
759
631
315
211
72
912
455
527
759
230
289
73
197
785
685
758
616
751
251
260
630
70
824
252
879
448
144
839
87
574
572
817
330
225
695
540
62
909
299
297
269
155
529
105
147
374
5
698
861
454
278
384
278
912
304
76
48
464
541
513
20
327
867
166
819
456
755
801
312
167
61
997
836
278
325
190
299
984
713
967
697
185
587
392
158
855
229
140
359
366
433
78
51
374
502
727
471
994
697
724
607
519
344
11
667
838
604
977
578
84
370
187
57
738
902
662
559
592
563
874
462
505
471
787
917
869
965
266
140
27
523
158
332
705
205
176
45
649
700
472
577
276
826
458
863
121
670
997
455
255
599
541
372
667
44
211
14
787
316
64
872
970
699
997
454
750
724
856
723
131
833
276
351
985
604
746
240
898
350
173
120
416
158
936
490
724
382
100
825
235
198
930
737
434
59
347
769
582
820
267
570
585
830
64
479
390
529
521
975
783
944
729
992
328
23
338
876
538
902
485
594
11
87
467
911
443
972
942
388
906
317
50
464
724
99
315
356
611
607
643
218
474
791
14
790
428
640
710
765
117
809
41
258
413
802
578
13
897
751
819
476
325
265
101
441
449
853
298
750
139
156
502
450
751
594
480
872
77
54
147
342
13
943
687
618
301
255
235
683
289
315
229
240
711
506
642
89
878
582
298
604
527
183
403
683
814
713
224
856
566
107
579
760
981
877
445
770
401
456
488
421
671
99
815
173
831
488
547
194
626
782
100
87
321
18
207
919
871
698
784
479
355
874
720
410
876
268
546
779
874
774
729
662
870
214
23
537
216
339
919
634
332
919
722
892
242
191
216
864
983
76
184
716
574
361
267
444
814
453
788
607
115
435
204
116
954
862
776
108
283
177
914
526
436
664
392
793
628
564
311
879
155
389
226
139
772
443
352
543
569
300
141
292
821
278
777
350
946
993
390
160
707
685
814
621
209
357
785
447
111
709
341
191
671
474
32
536
908
61
243
940
228
305
603
369
294
766
943
617
794
221
745
710
45
920
357
950
31
736
500
439
555
537
761
351
691
8
843
772
603
660
290
688
97
941
308
552
7
231
86
941
580
978
702
2
608
389
310
719
921
910
794
593
241
181
517
942
92
286
60
907
636
884
129
182
850
258
880
658
407
388
999
454
993
932
775
249
579
358
290
455
312
580
563
514
301
125
186
536
552
262
538
555
690
517
133
928
937
728
44
787
981
85
640
972
41
646
46
621
391
427
847
399
80
515
571
400
400
582
363
905
898
833
129
502
352
677
107
567
231
348
477
744
560
307
151
835
17
485
336
487
344
343
784
156
825
278
935
85
677
126
299
475
694
378
478
570
355
256
244
140
939
987
917
718
881
436
115
982
714
785
626
900
480
67
731
587
396
193
856
346
922
570
789
35
82
539
67
729
79
615
323
614
750
983
521
211
399
750
72
292
896
257
721
340
704
95
977
957
674
573
596
452
15
96
307
698
871
261
507
465
298
525
156
650
240
993
468
211
341
182
279
164
5
652
174
700
158
20
536
327
593
195
716
968
610
640
400
105
883
79
83
391
174
359
294
623
524
92
818
621
21
322
727
347
135
670
451
529
837
355
480
203
426
20
553
804
70
512
317
887
537
650
547
113
509
534
973
893
161
123
619
937
396
676
400
27
245
124
352
517
471
598
511
430
308
169
952
521
649
285
903
367
694
543
166
341
237
207
315
325
309
290
260
170
877
166
789
159
622
347
681
240
637
547
785
337
16
146
250
877
930
921
737
527
750
274
9
259
173
212
781
63
122
15
80
27
388
887
654
50
601
858
162
142
139
872
989
135
998
311
504
635
506
150
514
207
970
590
497
135
13
256
867
544
411
27
227
336
678
113
37
189
529
268
610
779
624
928
667
559
652
604
973
608
919
104
690
568
84
9
194
187
576
362
55
775
542
721
756
726
875
550
527
335
978
446
349
310
457
826
793
765
851
519
854
968
841
190
363
798
129
601
852
695
305
557
17
849
592
747
997
548
303
842
769
847
219
927
882
229
846
747
595
476
725
329
257
792
508
226
415
74
532
31
705
368
10
820
61
719
749
866
151
54
535
327
229
268
928
573
810
362
207
514
637
379
687
556
440
867
408
820
899
764
462
839
11
958
872
268
833
214
970
45
151
829
707
38
204
158
158
487
998
102
791
403
134
766
712
698
290
739
214
997
675
887
412
978
848
122
682
607
266
315
882
805
772
458
72
963
89
174
553
171
997
900
556
217
538
435
867
200
55
19
967
80
299
826
42
603
160
538
343
814
782
671
934
821
980
463
819
544
888
409
814
939
715
3
288
599
355
829
85
681
323
930
512
824
162
278
272
102
44
269
617
88
741
372
804
774
544
471
124
439
974
971
415
576
328
443
972
600
223
439
199
404
256
111
185
787
874
468
621
386
301
378
118
40
141
969
46
441
890
645
461
520
104
814
568
253
459
279
416
497
237
443
215
1
72
671
742
970
906
603
800
425
227
791
566
131
570
742
1000
52
207
364
165
132
683
827
440
684
588
82
123
863
527
607
843
449
772
487
548
689
474
586
548
31
657
411
277
370
404
226
944
886
807
141
241
597
274
163
619
540
727
679
410
878
78
426
277
289
127
755
9
710
679
964
728
897
260
483
914
255
257
977
493
117
727
808
420
968
363
820
826
108
338
139
786
904
810
520
219
103
906
798
260
626
893
148
666
884
79
209
484
962
684
593
255
915
588
940
470
37
370
481
887
205
498
11
566
296
899
283
161
239
358
111
96
487
400
861
739
554
332
612
583
794
128
985
738
796
700
528
760
583
910
590
946
335
323
818
753
472
355
776
911
778
945
666
157
682
279
850
221
957
450
648
896
866
122
900
497
217
422
913
62
885
313
687
927
104
632
793
149
233
848
872
374
767
321
465
365
67
546
847
371
669
373
573
940
52
740
688
541
428
762
957
617
472
377
994
257
878
873
869
737
324
779
653
577
684
566
337
606
345
537
772
772
77
94
557
66
176
294
322
986
569
240
471
442
128
388
245
826
699
284
918
297
258
610
53
949
166
665
995
667
697
552
192
927
914
453
546
702
454
288
674
957
19
990
894
888
151
379
769
207
440
315
238
280
380
436
759
850
983
240
334
418
660
737
31
92
46
180
378
852
190
615
28
742
993
119
218
452
852
643
824
117
219
302
300
929
183
812
349
348
260
534
987
248
260
223
529
377
510
191
148
844
711
10
858
197
394
312
162
837
314
499
181
137
61
377
726
655
880
827
693
248
951
639
120
749
387
517
444
77
798
130
822
323
566
748
842
396
909
690
606
259
394
300
953
679
809
642
538
653
217
429
598
371
564
980
491
652
432
137
517
269
392
163
98
504
966
594
137
538
359
913
261
8
982
699
685
194
282
591
643
778
541
2
700
81
132
44
748
9
158
497
177
650
552
24
524
664
476
6
896
96
296
541
599
258
503
159
679
648
691
769
571
666
122
189
613
63
439
364
980
629
838
51
497
630
354
306
861
891
959
583
43
225
854
638
27
126
669
719
582
230
296
704
467
108
713
969
323
354
492
749
521
766
631
675
407
671
972
7
699
81
766
764
288
413
844
629
318
982
492
4
218
321
320
64
330
668
373
982
835
617
246
765
1
45
210
309
145
879
217
324
317
187
179
782
404
383
108
404
284
7
530
488
672
712
108
84
500
559
533
101
67
675
577
469
647
656
646
842
974
841
320
695
801
712
107
860
739
248
113
679
707
4
399
10
619
64
540
230
400
763
312
262
994
282
505
386
836
782
538
249
131
724
975
96
408
460
22
665
997
915
800
600
508
459
523
530
913
629
689
121
522
403
86
538
48
161
669
744
895
286
387
982
40
608
615
582
176
529
156
4
247
736
687
598
184
848
140
150
413
214
738
699
671
366
304
460
760
271
50
957
155
646
232
605
772
79
958
82
797
562
943
780
205
415
211
498
476
196
560
369
75
397
133
641
449
176
556
598
655
344
944
350
251
140
529
682
746
72
787
444
721
244
711
184
745
156
332
874
300
890
665
600
275
991
3
38
998
113
891
383
400
662
186
147
675
279
277
917
693
959
987
728
528
44
621
155
674
73
380
656
923
737
669
933
400
764
813
306
988
587
385
182
200
80
624
698
577
490
403
538
863
894
834
748
537
219
864
71
755
835
152
986
391
270
117
145
675
400
281
357
855
760
955
625
440
311
844
964
816
55
387
938
480
398
527
871
675
55
104
707
970
578
264
327
204
315
145
965
253
719
536
22
295
420
431
178
582
450
139
247
263
294
145
559
454
204
979
56
588
369
164
428
48
52
746
813
241
794
983
587
539
139
532
712
995
98
868
971
312
755
738
168
353
996
161
36
336
345
848
151
5
252
975
644
231
28
892
862
942
786
710
429
783
396
704
346
630
446
118
870
935
671
278
905
886
110
860
576
529
499
826
434
356
69
765
511
298
948
360
32
731
840
258
150
903
505
885
513
99
852
648
804
20
115
523
670
78
673
244
604
741
575
175
410
632
705
503
876
829
834
520
122
693
531
668
911
576
981
463
894
14
322
601
341
293
998
347
441
865
999
769
645
698
558
514
854
499
61
589
482
736
433
50
533
501
269
594
886
568
300
795
930
440
591
121
512
787
8
948
945
453
112
477
464
102
597
852
103
669
804
800
417
23
629
789
875
594
362
60
29
315
619
866
742
884
504
915
885
236
635
328
886
120
430
374
456
833
346
878
604
505
361
479
812
812
88
833
821
602
325
462
82
759
738
200
299
534
633
73
892
719
451
14
432
268
703
59
277
414
556
493
704
892
166
980
793
613
169
882
213
25
435
823
840
430
319
25
838
750
151
134
406
557
638
31
940
724
191
608
738
716
915
601
695
348
161
357
683
845
72
844
421
156
546
301
665
779
350
677
530
801
952
405
560
456
766
129
945
293
105
699
942
916
141
139
109
390
538
310
449
604
245
678
949
263
146
942
245
761
861
268
404
853
27
527
829
909
821
252
383
561
288
995
668
705
319
371
261
147
740
376
404
685
33
495
288
9
668
683
611
668
891
595
511
214
84
293
352
832
487
267
78
942
151
774
11
745
493
415
45
225
706
372
155
853
586
909
28
137
47
611
395
210
702
298
345
818
416
715
506
468
666
931
473
984
857
805
271
381
511
39
973
821
369
84
807
363
9
629
211
390
532
464
348
854
246
276
514
965
31
343
735
528
267
122
611
921
756
484
89
595
110
687
476
86
403
214
410
731
767
317
935
689
746
387
97
399
882
346
654
312
19
828
621
587
224
305
362
470
70
209
834
213
258
773
441
742
217
572
660
753
337
677
218
564
991
940
164
816
338
151
603
111
173
745
213
730
783
264
914
889
824
12
242
369
750
215
9
944
209
512
851
778
112
811
96
824
814
346
222
326
931
327
818
699
866
657
597
448
25
67
494
275
36
438
304
207
41
218
620
397
255
635
72
225
556
812
985
491
813
4
613
736
30
910
41
238
168
432
727
784
645
297
358
115
150
675
404
842
343
314
301
714
464
721
659
359
605
620
287
971
695
238
108
20
775
999
225
701
221
814
499
726
983
521
15
91
715
935
703
565
964
646
217
40
166
928
896
304
320
110
242
483
591
305
921
155
37
666
694
114
861
236
72
856
298
14
716
130
330
84
783
308
895
506
462
906
170
232
964
320
792
452
41
736
608
648
970
200
641
119
569
46
488
889
447
241
302
737
180
705
819
518
527
343
658
119
101
350
250
121
140
321
295
702
176
856
647
402
393
632
827
109
436
345
191
42
292
582
932
554
575
387
669
298
266
247
392
680
466
281
899
533
251
644
690
652
53
562
456
147
305
928
967
595
260
131
117
604
15
611
383
710
756
649
717
528
157
105
192
641
700
88
327
55
369
74
75
931
842
591
942
916
818
397
530
657
561
33
96
946
94
731
385
556
737
916
81
983
828
971
707
245
553
510
700
360
767
110
692
352
588
380
730
449
297
266
301
649
825
678
510
968
644
916
729
516
431
864
346
992
262
578
974
314
419
750
648
900
115
486
79
510
564
988
975
696
876
11
844
620
182
430
419
412
251
855
52
318
627
979
1000
565
935
289
511
287
638
832
3
853
930
944
473
633
883
272
417
573
223
937
217
967
317
384
928
437
42
348
854
464
221
350
116
775
206
313
659
499
35
226
801
310
280
253
464
677
347
320
696
966
546
17
940
351
643
597
815
427
11
951
790
954
700
729
288
388
952
156
172
727
717
703
526
719
729
479
898
680
559
120
906
990
862
973
212
858
720
584
397
68
594
870
186
259
872
826
813
740
457
336
57
967
113
457
611
579
544
508
30
353
278
494
409
487
507
604
371
406
923
56
657
657
497
111
825
546
848
864
133
871
549
335
666
476
272
460
182
380
136
813
926
936
24
269
893
787
898
377
618
412
360
906
614
675
768
871
974
151
272
382
509
901
989
809
37
56
404
88
56
797
770
476
122
292
936
705
680
710
550
254
975
696
42
452
944
603
122
185
658
303
804
285
965
662
108
48
482
590
678
973
986
133
509
460
519
260
878
176
289
821
331
779
506
652
302
923
854
987
519
823
196
98
851
143
465
579
693
682
434
829
258
127
163
8
414
127
542
248
795
91
241
934
981
406
782
647
466
204
204
760
987
433
970
719
550
748
356
797
128
638
530
429
608
301
958
307
999
10
543
86
322
74
125
871
875
89
595
694
767
816
876
803
699
938
463
917
994
915
42
563
778
351
957
233
25
601
923
367
926
833
452
122
635
391
899
461
30
108
923
354
518
164
401
769
294
181
529
726
721
528
928
854
630
220
41
811
442
352
34
420
957
783
681
572
563
624
459
801
374
158
152
902
529
23
827
147
458
821
927
444
440
850
600
259
180
315
91
247
465
211
192
289
158
29
280
120
942
600
440
755
253
675
533
738
778
275
844
579
747
479
97
851
15
68
261
109
569
340
483
170
672
534
967
329
341
490
335
763
221
569
281
713
200
428
906
44
327
901
153
427
658
132
188
687
695
98
413
854
971
833
8
46
152
989
599
617
773
862
628
913
320
627
535
593
943
344
659
702
494
220
90
595
961
758
337
373
597
638
795
695
233
631
459
710
305
417
239
396
119
882
534
745
734
396
423
101
666
595
949
448
270
379
499
589
270
236
197
986
434
465
567
464
759
576
471
154
882
953
451
768
648
852
178
792
893
950
649
228
530
930
164
288
987
88
852
842
869
484
715
481
503
991
741
755
652
470
615
563
276
383
960
635
678
411
837
800
765
989
458
12
427
260
643
158
240
616
623
276
787
862
163
165
908
65
872
300
99
287
738
600
76
765
643
894
281
550
596
821
715
270
945
539
997
486
638
833
55
23
906
119
124
814
412
425
50
21
985
602
8
631
552
945
848
288
782
875
230
887
245
564
608
283
614
199
889
588
530
91
305
656
293
979
627
762
463
692
352
984
766
814
899
439
474
77
190
389
558
38
200
186
441
995
172
174
191
191
275
954
298
124
382
883
993
152
513
255
226
677
243
417
992
871
36
945
723
313
20
115
800
912
218
130
103
182
596
926
677
278
613
965
231
196
117
85
204
199
543
362
545
833
389
929
221
864
822
885
652
93
121
741
979
289
364
336
70
399
392
783
665
791
658
825
899
557
944
896
732
755
353
319
480
87
175
320
719
677
431
954
347
517
936
631
460
667
720
631
5
467
502
930
894
884
726
649
361
603
325
688
872
601
23
422
834
809
437
888
650
863
699
519
461
132
611
352
993
940
572
569
545
360
651
414
63
42
205
793
638
289
414
316
521
982
907
177
929
37
441
978
512
774
258
570
311
965
288
42
466
343
860
204
706
50
953
329
886
829
320
434
427
786
979
103
553
170
703
691
638
951
116
784
814
941
928
932
213
810
652
20
896
643
874
109
537
606
774
235
405
901
146
412
63
398
569
81
443
286
783
320
663
597
537
404
19
706
354
726
78
768
723
652
684
580
209
647
23
544
831
838
549
255
867
301
741
718
935
479
138
366
767
563
59
859
654
136
725
98
889
68
248
28
899
467
102
563
966
490
236
422
550
919
941
736
292
753
975
39
695
464
177
676
346
209
17
684
274
34
97
968
737
37
592
906
251
518
51
610
197
392
742
695
677
505
962
793
617
74
321
22
261
131
66
283
359
733
892
556
293
709
556
362
339
877
842
130
67
999
47
540
608
209
253
805
130
302
56
481
436
60
337
599
996
738
899
869
119
938
477
218
177
378
711
159
10
456
186
379
648
106
479
417
512
167
528
540
107
368
293
718
8
80
801
137
646
200
230
803
985
855
536
646
694
172
546
944
828
975
110
62
346
155
96
240
23
387
530
622
440
40
177
791
764
406
179
851
998
823
194
452
192
886
581
274
896
681
849
141
770
926
487
363
865
944
762
890
513
650
827
563
205
114
705
107
74
801
337
463
805
302
880
754
922
198
900
466
346
759
904
393
102
300
917
523
801
370
449
315
306
423
245
762
580
265
680
202
257
348
507
115
954
949
954
33
630
372
834
243
608
576
421
192
13
43
322
372
435
287
484
980
634
125
773
852
943
733
266
992
847
535
508
527
884
191
530
65
622
297
307
250
970
919
721
757
507
767
781
124
780
628
48
555
830
650
716
300
237
240
798
282
102
586
206
411
256
307
293
400
875
316
606
986
430
743
170
166
537
706
625
406
875
763
922
858
787
138
97
254
574
175
847
519
769
46
231
133
868
414
868
923
119
619
403
276
927
975
868
734
397
924
778
546
324
118
483
48
650
992
311
645
89
15
522
794
94
615
946
619
833
711
447
677
156
892
43
992
819
564
577
645
355
775
344
112
96
37
953
68
773
153
29
532
49
5
36
103
90
227
659
521
986
964
657
928
438
210
61
30
620
782
910
830
543
610
451
694
566
894
897
336
913
619
350
702
209
85
511
846
44
388
91
628
564
249
684
481
892
185
971
532
978
778
765
99
95
731
343
942
808
462
964
687
686
212
208
520
418
62
41
585
284
752
93
523
117
939
645
250
996
358
288
359
907
378
7
518
534
607
718
852
143
524
894
568
263
605
17
26
475
45
999
49
186
963
606
499
682
943
209
75
102
847
806
816
269
139
408
41
410
326
317
303
928
739
754
477
320
585
586
283
236
113
597
388
446
732
884
718
198
196
469
787
13
242
131
625
503
647
824
390
187
304
771
842
602
754
445
659
244
582
261
978
971
247
697
676
582
170
957
621
179
401
68
528
808
753
454
149
611
73
638
182
382
245
687
721
982
571
441
46
574
432
337
268
971
508
871
672
706
374
345
590
629
13
564
318
915
598
584
866
386
970
435
315
951
346
990
181
803
160
792
448
711
401
704
881
401
457
706
816
528
258
25
861
213
480
58
871
442
658
223
90
894
330
946
590
930
758
515
990
515
321
369
999
859
455
758
464
410
840
370
492
629
636
649
682
678
736
65
662
743
366
495
949
205
883
228
597
316
292
846
231
326
804
359
848
234
781
548
179
487
508
416
529
963
556
7
727
517
935
633
248
253
854
725
605
377
648
97
842
215
378
408
334
496
667
15
100
505
557
182
556
66
599
846
955
626
882
743
755
892
444
718
832
557
351
469
728
685
735
815
128
218
274
806
365
881
893
652
10
503
971
480
589
381
960
416
4
869
127
323
523
801
80
805
81
715
824
787
222
102
399
25
185
47
520
421
560
726
256
894
424
165
496
877
84
580
827
202
372
358
539
249
943
497
600
782
194
842
878
778
197
33
339
935
548
441
650
243
113
710
433
170
473
738
404
579
261
70
753
402
717
687
428
526
500
159
441
57
218
928
899
352
193
295
254
751
689
292
150
967
213
239
367
465
514
225
544
961
597
133
779
401
419
142
755
375
908
808
708
938
619
917
451
265
652
347
637
363
397
32
663
336
327
994
886
311
323
91
355
223
931
778
867
79
583
713
961
203
21
478
415
246
95
30
917
389
645
775
835
280
405
275
449
724
738
717
560
39
539
206
141
298
809
849
573
369
292
358
53
816
998
634
973
195
646
340
403
250
842
19
347
813
273
699
94
984
332
261
825
275
351
54
593
995
82
379
975
69
115
512
933
885
709
842
927
509
889
599
875
798
738
359
374
512
519
190
466
535
630
885
336
684
447
174
553
412
757
201
849
901
861
854
988
663
402
686
951
796
629
312
559
439
126
143
624
847
992
223
923
706
82
793
592
973
204
867
42
585
94
800
100
819
581
319
913
951
608
939
81
170
674
63
586
315
821
269
364
147
511
505
772
322
594
929
793
131
127
142
526
392
956
421
429
570
828
356
803
311
307
981
210
122
902
87
888
827
633
919
717
781
738
860
978
550
320
26
956
932
547
921
437
705
405
426
272
504
157
449
482
536
338
468
822
645
581
101
340
420
591
537
221
592
311
367
120
987
698
894
280
679
558
482
944
795
555
900
967
633
884
870
87
361
56
250
985
602
931
374
161
605
415
63
624
587
222
750
600
1
733
965
762
203
215
167
974
986
666
508
185
938
86
700
898
435
250
542
589
351
950
55
554
244
242
413
938
866
452
10
100
322
535
92
58
107
970
326
484
556
495
600
608
934
863
88
428
531
300
341
834
616
471
747
606
69
601
210
745
807
841
321
292
882
105
585
598
265
372
521
977
891
895
569
851
475
835
764
746
14
587
98
973
610
488
333
432
472
631
769
741
506
229
161
795
909
371
511
950
572
1000
974
275
890
664
457
645
815
902
800
71
558
157
632
295
405
720
50
568
522
560
323
545
454
829
700
380
265
476
236
439
934
666
270
542
617
639
809
258
918
247
626
597
109
632
303
371
556
428
817
619
253
426
509
746
476
858
443
435
36
310
218
4
521
846
303
550
203
51
787
175
17
592
292
577
105
369
429
539
973
481
804
157
184
52
97
205
916
417
112
666
376
300
54
315
264
385
479
203
3
121
515
24
424
702
978
661
939
872
956
645
41
678
266
861
103
268
971
612
70
624
787
58
594
444
769
141
597
426
167
306
996
908
695
753
589
139
760
473
672
456
378
31
995
311
610
916
94
385
364
280
869
989
292
85
499
598
364
959
460
614
396
585
438
408
460
57
412
270
620
448
7
152
901
777
540
985
726
656
814
921
335
203
819
46
834
164
988
11
609
821
541
531
809
958
770
901
480
53
798
518
711
914
496
874
868
185
725
684
559
465
22
573
504
354
180
235
890
364
887
114
87
468
779
391
861
58
764
555
319
208
469
869
868
423
11
827
426
524
61
88
935
914
358
437
31
240
401
29
343
368
43
552
486
692
104
983
267
997
934
269
40
518
26
629
372
337
459
170
442
16
899
141
636
166
371
489
847
700
810
313
875
675
663
474
146
954
440
863
708
395
183
772
65
929
255
422
961
658
747
924
675
76
47
871
727
613
795
303
141
959
541
18
597
63
907
67
850
247
949
795
776
644
711
977
279
21
686
454
94
115
997
139
196
802
645
453
129
777
82
26
82
931
725
998
943
293
729
342
872
208
528
443
176
431
165
573
385
929
408
10
465
494
16
298
53
713
285
527
443
453
177
604
810
767
921
161
807
69
964
172
266
485
559
318
178
509
45
877
514
522
122
213
762
219
4
982
192
738
385
770
31
105
547
250
660
659
801
846
925
249
672
574
413
349
900
965
312
714
354
934
79
829
455
30
682
192
530
781
628
457
811
707
333
514
458
175
649
895
86
458
522
296
731
251
815
561
141
408
325
243
504
861
881
717
517
522
195
869
738
457
860
590
746
784
449
668
507
556
204
154
728
344
190
992
672
375
136
483
92
842
377
165
470
452
468
818
713
354
54
595
820
349
543
735
816
680
963
913
396
761
144
62
349
923
34
394
774
620
501
446
537
574
491
200
191
19
739
704
800
546
559
191
728
40
405
356
460
879
12
345
964
825
913
994
921
69
53
41
404
456
35
362
227
219
255
733
223
498
803
314
198
480
571
780
140
268
419
28
553
486
622
458
462
170
59
123
701
737
782
414
607
676
661
585
127
138
771
89
646
793
81
632
551
156
771
876
679
83
217
918
278
293
273
38
85
581
968
725
419
845
179
642
947
190
139
34
917
133
857
51
212
375
668
613
533
693
176
714
375
259
764
532
245
98
731
307
746
430
843
729
711
404
761
462
600
56
366
548
734
390
493
632
754
134
935
361
910
87
901
834
382
961
272
699
869
271
118
323
108
148
939
519
800
896
994
426
691
768
916
506
173
669
527
93
835
474
388
551
849
217
171
914
945
648
373
813
987
573
243
621
861
948
40
985
436
909
928
357
887
794
833
689
532
746
621
218
653
661
774
115
478
95
585
851
614
240
539
321
732
222
171
111
250
802
193
826
79
8
87
61
240
357
680
395
310
111
452
830
194
428
435
158
696
376
626
99
713
525
744
464
655
210
54
222
853
662
690
102
329
874
605
282
273
477
826
804
954
903
162
564
637
814
920
143
229
110
427
245
52
824
390
262
98
873
201
300
611
933
297
34
619
678
617
913
324
253
996
588
855
107
61
887
3
272
834
314
946
747
781
848
893
899
474
758
813
706
408
251
104
199
738
57
142
713
891
450
135
400
63
783
595
995
574
367
63
12
952
371
413
393
406
521
171
117
5
507
838
431
529
437
81
196
425
122
39
275
721
701
697
38
91
896
447
817
440
196
491
598
569
404
703
315
455
259
953
857
674
311
617
313
304
821
239
33
440
247
833
790
63
749
335
724
628
272
120
748
168
959
262
806
111
61
461
695
283
30
157
176
773
211
371
732
433
365
249
671
766
318
113
197
920
152
52
740
253
709
753
74
732
656
312
710
990
979
206
634
453
601
520
716
367
728
722
994
901
674
36
639
770
145
472
574
984
408
120
630
368
323
169
640
521
970
436
41
708
463
897
410
6
624
809
868
707
350
565
404
553
890
305
17
931
757
685
22
521
657
921
984
243
658
366
539
544
788
447
779
217
407
736
979
969
971
292
182
903
271
190
579
923
840
323
651
824
960
149
794
510
646
34
477
308
55
266
55
875
976
574
7
525
478
236
733
119
311
449
28
843
381
651
18
302
430
947
631
353
133
567
671
29
930
583
152
699
264
714
856
357
393
116
5
551
533
523
503
996
952
940
507
359
505
393
919
69
290
897
16
229
287
879
599
896
333
821
958
51
309
722
438
548
163
350
599
230
308
899
816
164
914
822
613
649
895
122
247
265
672
290
801
702
359
452
560
552
659
973
537
542
599
968
812
926
202
679
765
875
332
651
396
728
269
14
643
946
962
924
49
417
593
418
151
546
769
509
710
202
644
329
257
187
300
543
453
338
978
36
471
776
116
112
924
91
722
11
859
433
275
642
22
614
232
771
863
286
220
817
755
203
169
583
501
383
941
946
487
695
540
543
779
63
568
966
38
971
444
852
399
417
792
496
335
830
573
323
101
680
751
621
581
700
716
422
203
700
283
335
139
930
784
405
192
810
680
815
591
662
154
336
438
745
353
955
688
505
307
54
360
455
35
829
134
513
74
372
630
929
430
20
418
193
977
71
255
388
449
981
156
546
453
485
598
473
421
857
638
363
967
731
694
283
935
444
550
277
302
883
427
372
197
213
66
303
524
634
403
77
53
571
777
858
408
263
613
787
65
786
159
492
334
937
193
16
305
252
536
829
933
673
892
390
723
23
748
448
989
486
57
921
282
783
981
696
382
540
234
169
208
689
466
668
76
347
698
163
39
755
998
846
432
319
520
192
333
704
492
136
369
219
975
832
212
467
25
287
122
309
395
819
108
751
77
929
645
258
783
628
375
354
923
730
908
97
788
883
654
153
386
392
609
780
851
948
132
937
406
494
85
152
623
320
102
518
133
402
426
368
974
687
449
788
507
749
66
70
189
758
980
655
518
212
377
873
163
240
723
25
613
586
28
953
699
562
594
264
965
377
125
803
224
219
91
813
535
424
420
437
517
842
886
883
165
262
85
614
269
367
479
396
137
245
836
867
567
907
295
619
912
633
422
394
637
190
881
141
13
165
749
114
409
688
90
140
244
828
153
435
761
785
390
104
717
831
608
535
500
609
710
438
386
12
864
209
441
384
451
621
43
160
804
581
125
419
571
862
994
14
538
233
59
99
867
405
854
896
989
548
506
483
880
923
193
245
7
328
210
381
34
677
962
514
270
972
587
23
928
362
927
197
499
778
262
676
917
811
561
944
753
167
992
825
371
996
98
28
817
874
341
795
267
992
710
634
967
413
664
896
1
827
15
723
619
364
245
493
570
406
367
443
635
283
674
581
510
923
641
345
313
287
778
748
243
440
470
867
317
616
710
636
730
566
136
859
75
712
12
252
559
402
576
93
416
638
739
761
878
179
209
45
462
859
979
608
815
271
543
391
44
719
347
87
272
506
763
992
160
127
286
731
242
949
769
334
254
288
255
117
48
579
349
669
324
507
149
965
143
549
477
349
135
376
506
634
362
940
910
82
51
895
366
392
782
193
558
107
269
320
835
54
575
644
337
518
450
800
705
866
499
834
452
237
50
98
707
746
932
524
319
359
835
942
223
238
574
591
594
874
374
817
542
802
231
226
996
989
526
245
6
297
319
115
903
545
179
844
601
769
972
522
910
275
770
733
846
917
918
464
820
875
360
75
59
835
502
380
762
139
267
808
325
910
501
999
405
640
545
862
751
973
644
309
466
702
816
430
844
83
952
809
976
640
228
68
91
541
319
481
3
518
567
694
68
9
963
142
802
908
771
781
671
842
649
110
580
386
396
291
294
998
822
363
353
755
771
162
33
138
54
606
585
243
887
378
255
780
439
933
586
140
282
948
114
621
838
2
846
643
426
326
838
391
113
904
800
875
409
85
877
845
756
146
690
318
911
880
239
770
534
432
525
167
761
23
604
108
78
161
302
314
577
199
34
562
526
817
977
983
270
140
376
301
639
684
884
218
430
297
681
624
25
553
548
753
865
819
223
701
368
359
119
961
800
381
950
743
801
904
862
904
525
670
452
233
823
115
431
705
498
576
772
60
411
497
870
728
176
390
649
686
199
707
549
316
96
554
19
699
897
437
503
73
970
776
860
377
327
20
867
910
818
548
710
106
718
438
373
378
411
376
443
788
170
658
113
989
536
267
135
589
420
475
25
537
858
284
99
643
299
285
811
655
395
202
420
576
548
458
239
84
881
588
580
959
857
250
46
409
532
833
999
68
294
420
884
229
985
955
570
539
515
974
34
28
428
217
530
807
383
731
825
206
198
858
241
428
918
607
987
29
356
488
721
648
696
826
374
472
19
957
991
834
111
455
780
210
456
736
594
637
135
957
797
223
234
118
847
989
465
680
923
776
913
792
667
301
223
460
376
748
87
578
55
483
578
765
328
549
755
398
565
638
947
47
508
120
327
753
341
547
676
249
382
752
759
282
558
318
329
612
371
707
604
193
344
793
996
238
815
886
979
616
520
594
249
60
628
28
741
181
732
914
658
171
873
180
374
377
820
413
994
654
689
430
360
477
488
841
527
374
296
129
61
102
632
239
54
382
23
107
375
703
876
851
561
870
581
609
679
530
179
82
653
846
16
942
850
876
577
144
152
963
69
78
357
650
395
233
514
166
887
689
716
586
511
362
946
93
308
360
811
631
515
207
374
404
149
977
858
316
822
579
663
456
238
504
38
160
96
393
721
13
121
661
54
409
548
238
395
901
664
232
139
661
955
913
286
800
999
988
291
176
465
551
899
587
532
468
741
920
541
181
757
910
962
107
933
652
604
852
376
918
513
445
539
596
226
677
250
329
848
408
261
498
944
410
238
244
373
900
458
132
27
426
998
410
864
191
866
538
786
201
361
829
661
845
911
558
250
680
793
913
855
169
417
456
297
126
333
594
188
425
689
690
565
314
662
70
626
300
285
122
732
202
184
124
805
355
951
222
997
419
279
166
807
458
530
72
832
198
106
452
986
437
833
211
355
614
617
138
776
427
757
631
895
234
661
100
716
669
170
465
579
557
339
699
127
735
326
179
30
834
982
905
167
422
831
311
511
163
426
478
196
812
437
60
78
936
452
103
689
211
167
273
602
34
546
681
127
990
566
640
714
362
382
185
592
537
70
133
31
594
655
767
4
826
777
6
222
244
173
28
233
326
148
892
762
424
344
650
515
261
384
811
450
902
462
787
902
433
518
126
21
320
420
918
686
113
486
764
439
690
764
66
13
739
697
233
698
538
223
571
148
395
864
260
220
286
99
846
85
329
128
76
174
764
189
775
471
976
736
665
302
947
103
699
42
248
796
524
84
281
144
146
37
60
879
731
323
222
135
754
291
341
479
380
488
843
838
40
967
12
618
669
381
618
866
949
124
678
95
213
984
761
221
373
603
6
169
358
543
721
862
38
902
54
674
575
239
695
949
459
34
6
855
204
25
284
647
877
549
80
434
123
447
645
642
358
181
583
678
136
554
759
764
476
846
349
482
121
211
664
362
259
921
61
757
256
401
796
317
323
28
184
613
854
356
763
849
370
776
497
133
629
589
197
505
474
171
475
738
423
163
532
978
833
640
992
429
714
782
822
643
913
894
93
412
439
529
966
965
156
66
830
882
945
344
955
169
685
853
381
986
113
556
996
809
670
599
959
231
955
78
634
147
296
539
239
862
240
64
232
470
496
659
294
972
944
141
424
749
882
873
281
372
577
527
405
284
543
481
359
481
690
628
161
227
648
108
580
764
112
940
24
125
15
596
753
486
709
342
140
884
80
527
490
797
735
109
736
795
944
373
960
420
53
231
275
516
418
443
54
462
796
865
893
156
242
106
978
123
259
7
701
854
910
998
492
304
66
709
830
502
768
151
291
415
939
436
341
496
323
270
273
863
581
376
341
671
921
614
665
31
515
807
934
813
237
170
267
729
892
831
872
386
245
99
280
418
599
75
7
365
595
649
479
706
201
185
918
345
565
992
695
894
518
183
319
282
35
699
867
594
899
45
122
545
129
803
139
676
480
53
250
152
480
660
741
82
991
779
587
343
276
64
645
262
892
761
654
887
509
325
241
254
921
217
894
756
127
267
504
686
314
380
667
78
986
348
405
208
290
270
325
498
792
364
557
131
563
7
974
347
467
447
310
291
966
979
794
264
591
305
821
405
459
458
25
172
874
917
799
444
94
490
983
736
807
140
943
783
720
144
721
716
939
934
292
162
495
453
194
845
446
161
987
709
492
621
47
134
914
168
176
566
961
345
391
755
525
605
54
864
36
312
165
872
55
193
277
91
949
224
968
100
376
396
233
97
48
915
463
453
375
196
918
283
162
407
712
949
471
448
388
718
131
976
67
254
162
491
52
217
531
567
474
13
263
13
267
653
910
141
300
766
774
330
987
14
85
769
54
589
551
583
456
970
289
588
606
851
197
518
179
989
227
917
782
746
864
840
656
253
353
133
427
476
875
326
624
900
889
140
320
244
360
160
794
360
421
504
540
445
311
205
316
812
95
593
157
696
752
161
468
22
732
302
348
614
935
807
299
81
407
193
320
464
745
813
223
825
286
135
631
97
740
793
794
941
781
774
791
797
499
588
157
41
324
418
249
956
198
960
911
214
299
168
125
703
609
170
365
832
953
367
310
887
927
149
443
627
309
719
785
66
107
204
705
309
417
647
287
385
647
474
239
244
456
715
673
495
978
607
405
962
515
217
598
904
893
334
666
514
102
246
378
411
699
928
2
948
655
835
139
505
1000
737
643
426
651
996
625
882
302
252
103
743
62
747
276
485
861
420
766
283
260
450
432
681
446
159
492
661
625
49
793
506
952
273
11
590
447
35
475
95
22
238
57
731
890
224
299
703
127
558
518
548
94
680
159
965
760
645
56
440
698
358
591
281
680
438
962
669
345
311
901
471
375
213
215
843
967
530
472
107
182
295
998
1000
899
761
107
147
719
619
150
527
121
873
527
784
583
361
296
464
192
613
376
641
457
90
637
946
656
824
362
714
85
140
654
807
985
468
389
707
762
175
195
617
360
31
788
650
284
138
694
668
832
135
23
946
529
54
513
680
671
454
473
242
84
386
636
253
954
252
163
772
613
903
210
320
685
131
547
58
876
272
666
133
6
826
721
124
579
816
418
550
301
119
661
606
489
169
368
640
230
209
367
417
476
764
706
867
17
121
9
841
415
366
754
394
514
987
461
228
130
119
830
255
870
276
804
654
793
796
371
428
835
308
698
220
460
221
819
69
15
635
706
857
673
69
983
437
609
122
954
808
302
494
890
269
456
805
720
155
44
304
346
634
419
862
844
60
270
621
699
525
417
277
37
599
132
262
556
721
656
35
485
337
118
261
418
679
858
919
340
40
469
280
490
476
538
253
966
171
139
823
149
79
634
158
65
59
231
504
811
449
35
178
24
885
68
787
171
264
807
325
121
893
344
929
77
271
181
904
430
444
14
78
511
528
587
684
561
845
863
727
415
84
290
252
577
51
913
990
359
831
436
634
719
686
116
393
283
575
552
505
784
977
989
159
804
584
799
588
296
542
124
173
818
128
538
55
796
134
750
93
408
794
995
25
907
771
779
313
259
586
92
485
997
878
991
742
111
74
738
220
586
330
308
589
954
132
119
577
833
562
320
631
969
11
815
153
744
122
490
653
455
781
766
737
934
315
711
34
220
406
403
83
87
844
154
670
186
977
500
354
450
571
564
705
186
866
528
312
992
815
444
763
200
820
582
587
90
822
795
655
508
272
172
615
838
293
346
751
512
387
428
65
371
128
438
485
205
600
526
847
790
780
998
696
523
685
375
26
571
846
273
765
79
609
884
229
553
819
256
747
13
701
334
376
892
112
968
967
937
896
683
811
567
778
40
780
230
79
837
175
326
551
246
447
155
805
188
600
170
116
942
349
551
897
986
47
736
736
563
979
72
711
320
881
213
649
612
430
229
71
788
16
630
870
819
336
710
157
130
197
638
292
400
466
722
859
392
272
159
226
573
431
340
361
417
517
502
798
783
218
105
990
712
359
810
806
289
496
360
582
992
72
968
981
53
913
57
898
954
286
309
751
98
825
26
851
82
373
753
932
771
191
944
572
530
71
233
984
575
556
499
570
386
897
523
714
503
359
469
523
871
205
828
593
48
9
731
461
267
957
757
56
313
437
412
356
631
546
532
452
907
81
687
396
595
245
560
526
530
516
954
462
792
132
711
579
453
179
386
575
731
546
940
703
289
904
76
326
151
431
93
735
755
213
290
577
160
134
31
824
334
583
544
934
719
502
415
756
25
136
512
768
261
342
786
431
595
464
980
811
498
598
780
133
20
540
364
579
727
807
618
500
34
937
504
163
163
680
210
319
960
792
735
139
131
888
503
559
260
233
472
630
134
369
921
279
464
233
796
778
130
769
35
297
416
76
783
158
544
813
790
784
7
921
549
890
823
725
943
157
827
141
278
482
600
989
540
932
398
423
691
662
740
75
566
421
931
812
714
724
843
925
127
419
772
168
327
162
991
306
774
283
966
743
827
600
797
350
834
37
611
834
6
296
49
868
863
407
938
713
968
742
513
267
577
920
276
303
587
119
679
156
892
476
350
291
829
638
513
961
909
22
562
656
444
24
515
158
987
232
205
794
748
680
623
917
240
336
771
723
498
279
780
283
96
494
779
51
94
824
202
180
759
351
808
683
586
434
651
864
705
680
657
462
241
371
267
627
563
247
794
211
651
96
762
839
6
301
548
868
614
351
12
678
497
326
694
687
282
557
366
102
30
956
366
707
323
30
217
921
197
189
478
939
66
796
626
34
228
308
73
986
882
22
62
170
840
139
283
52
288
333
558
713
18
551
807
543
503
524
823
446
104
335
112
720
456
458
123
291
780
864
760
114
475
150
973
384
834
173
542
651
154
314
951
57
813
354
348
702
127
895
170
568
914
416
952
519
740
349
223
664
752
991
128
744
870
698
644
288
844
553
779
976
360
626
188
44
935
20
3
579
825
129
479
224
530
902
279
203
807
503
829
493
234
378
183
718
526
679
282
561
777
951
324
520
705
172
172
426
833
581
424
417
215
175
761
17
986
429
706
546
527
559
742
320
477
616
35
44
207
798
679
317
569
633
466
406
945
95
658
325
668
310
150
757
850
220
721
567
553
473
743
489
13
841
878
49
319
691
776
968
557
352
741
80
914
767
638
264
680
483
88
26
369
839
106
126
422
205
911
108
94
275
603
638
137
690
733
353
849
721
601
285
924
369
265
9
247
967
847
368
493
329
691
9
915
520
347
982
206
596
133
338
673
27
262
24
288
51
100
343
327
945
175
912
438
9
971
365
974
102
366
5
334
736
816
240
890
39
56
904
766
408
91
517
408
286
770
104
389
301
32
470
355
963
260
701
335
208
776
243
953
343
661
117
164
377
526
700
269
283
792
36
903
473
298
816
581
663
807
19
159
338
63
694
292
227
588
510
531
573
325
542
230
467
580
172
836
205
439
178
463
451
988
777
856
957
225
915
993
740
499
99
621
907
669
890
928
776
977
519
448
528
767
184
12
408
789
298
237
407
818
302
619
423
694
728
749
140
708
852
571
252
470
614
871
189
984
513
399
230
710
794
90
708
786
598
907
59
451
660
674
614
913
828
156
367
578
881
296
426
598
123
222
513
157
784
89
632
770
504
357
26
151
112
368
606
878
433
401
323
166
94
514
360
550
176
562
610
171
59
749
621
667
28
942
92
368
30
798
31
629
458
390
907
624
21
672
470
879
538
588
418
151
984
66
789
972
217
443
750
367
615
95
450
760
270
172
740
92
479
380
866
470
28
690
666
527
161
703
445
745
186
158
422
680
391
726
610
934
303
807
18
164
369
512
326
200
807
404
567
554
724
840
882
225
592
971
129
710
830
541
969
576
543
620
82
762
436
360
312
36
563
616
896
670
803
67
377
438
946
39
468
534
821
815
923
814
160
641
397
97
804
973
424
902
394
790
862
83
928
942
615
323
431
578
979
339
501
664
708
960
695
489
802
918
549
839
15
361
538
218
338
552
401
72
22
202
119
519
245
183
243
445
183
116
436
188
89
480
845
246
930
436
360
539
314
511
917
856
696
662
737
998
320
9
800
15
961
691
914
677
286
897
456
973
578
111
238
26
640
993
953
245
921
129
394
950
318
96
910
980
606
899
636
979
207
840
608
164
811
341
263
379
412
34
720
155
471
718
911
298
253
376
876
283
857
543
496
317
118
744
505
512
312
603
890
26
592
476
678
388
165
164
666
476
476
317
895
777
100
647
484
631
619
963
36
121
475
330
960
174
691
374
917
198
397
875
97
289
293
281
175
639
536
740
611
276
56
563
429
676
974
755
723
118
614
428
921
859
595
441
271
352
605
562
108
745
790
851
203
875
86
674
897
780
495
993
794
533
9
120
487
870
837
132
170
610
663
529
27
389
892
531
958
584
206
600
542
584
349
413
165
767
697
501
837
653
76
221
599
675
273
552
333
953
871
447
427
261
355
105
52
89
916
610
688
364
36
805
189
879
696
161
864
989
42
657
3
414
413
374
817
285
915
572
956
727
158
533
694
322
304
324
332
782
363
951
620
48
514
82
780
793
298
623
265
30
716
956
489
100
641
582
619
836
439
226
954
94
384
233
552
185
268
179
543
928
593
236
996
218
865
729
310
1000
801
727
827
508
730
258
784
458
41
933
785
667
332
331
662
191
800
485
5
676
510
235
634
78
404
966
998
282
289
500
798
448
613
511
166
92
502
834
349
18
432
505
172
220
868
155
530
779
429
671
758
601
415
631
28
576
51
112
841
335
398
914
285
370
736
94
965
673
99
997
425
423
821
637
440
519
161
356
757
879
523
200
761
538
351
317
57
503
514
17
125
260
884
812
96
549
850
886
135
778
719
965
110
998
294
463
27
898
465
163
167
663
275
351
991
879
784
560
657
886
23
551
429
92
449
170
340
828
647
61
227
240
438
988
667
579
167
691
369
991
726
813
343
588
770
368
487
132
646
689
314
140
826
513
166
617
984
156
664
875
412
267
92
122
195
721
98
587
374
627
378
953
384
233
1
786
199
796
641
453
942
89
251
772
210
287
677
234
992
443
264
196
856
591
794
878
32
843
959
353
122
455
160
951
426
978
627
701
317
72
728
452
623
451
873
333
770
742
579
58
267
763
133
395
200
783
769
780
584
931
428
695
777
767
997
889
685
413
350
976
145
370
697
228
693
267
459
612
933
387
370
278
821
721
571
689
509
712
236
580
816
581
621
740
16
340
560
391
395
149
77
594
935
687
206
667
577
581
105
94
724
773
268
762
59
855
938
671
274
88
862
434
16
781
161
3
221
165
393
35
989
726
871
258
375
185
905
985
735
981
915
654
792
149
319
916
207
942
655
319
242
426
667
68
32
532
993
708
121
724
629
831
154
548
581
40
46
786
976
524
525
850
443
510
674
363
740
789
989
559
467
265
506
261
192
197
760
721
456
368
695
518
968
954
133
70
719
258
131
7
920
792
317
859
390
425
321
16
518
427
552
896
942
301
830
616
903
197
887
243
596
605
308
850
899
727
273
228
597
620
374
53
586
759
859
719
541
150
866
865
262
486
644
809
225
147
238
716
858
20
875
373
734
229
115
845
172
849
830
129
700
609
287
160
467
403
890
174
957
135
645
478
297
81
43
137
49
459
844
953
616
365
207
387
286
563
701
736
527
879
20
980
318
124
607
182
229
500
6
252
424
469
468
134
17
896
230
254
984
98
938
104
397
98
868
437
828
14
980
390
660
967
322
277
428
361
7
436
498
670
772
757
139
86
137
980
480
542
316
884
945
634
313
797
493
919
93
668
413
906
337
84
454
834
26
237
820
960
51
789
898
673
86
21
653
214
220
432
260
160
223
160
943
119
856
224
933
279
351
595
140
545
27
536
448
5
38
486
481
383
403
1000
340
948
796
897
67
75
70
827
542
280
104
931
97
90
373
110
389
556
582
724
971
556
818
180
561
292
932
986
222
559
285
312
549
411
561
9
471
834
95
333
474
925
28
324
881
837
680
927
341
466
695
422
800
446
889
701
69
521
249
230
560
770
186
293
861
498
970
249
640
801
279
92
763
972
898
552
635
916
929
359
486
737
297
40
764
440
971
805
824
517
52
667
845
785
818
924
251
457
900
522
970
882
952
633
527
752
635
973
317
909
193
20
400
25
690
286
819
548
750
253
731
335
725
393
642
252
328
943
622
897
134
744
677
274
814
519
388
911
601
405
506
439
304
420
449
86
106
847
552
895
504
139
470
738
27
84
362
334
749
434
343
575
227
89
237
423
197
254
827
518
276
676
662
432
929
178
949
192
198
260
249
295
3
413
471
936
391
177
138
597
716
668
32
444
615
487
76
217
596
434
779
414
186
442
627
627
906
489
580
802
778
33
215
75
657
667
135
559
480
309
959
147
417
195
593
949
984
371
517
441
432
151
482
827
78
243
381
344
828
843
43
480
810
23
336
152
905
159
311
893
984
1
47
20
806
184
506
565
883
673
969
475
76
647
575
223
350
814
46
492
874
986
976
62
642
49
904
356
866
90
18
361
675
590
489
815
60
13
354
596
585
70
369
245
118
217
448
415
724
641
143
835
894
138
110
81
503
771
678
9
231
136
418
254
707
417
116
586
284
111
621
217
206
485
878
422
888
360
843
916
175
775
95
503
740
460
686
428
237
810
202
744
413
223
41
713
170
257
631
980
473
48
717
769
68
831
818
874
228
189
696
552
106
890
981
753
851
767
108
278
296
121
378
588
936
559
256
959
889
8
993
620
718
877
273
300
312
7
871
364
507
75
242
312
777
592
546
986
83
496
865
254
975
611
276
280
86
909
999
776
477
625
43
748
664
724
670
364
760
149
515
503
902
557
360
456
981
978
448
6
797
923
680
847
905
16
207
852
804
123
744
242
637
301
385
110
216
629
831
59
36
124
721
948
905
495
173
874
968
447
771
535
187
624
932
89
791
22
36
448
834
919
724
709
715
906
517
93
504
636
254
326
925
279
892
853
107
469
896
691
628
761
772
973
864
196
310
466
402
635
753
406
112
906
411
37
497
667
212
115
83
134
297
490
986
434
59
568
207
437
936
121
911
349
893
414
694
220
726
90
807
805
288
578
422
865
235
74
266
109
143
261
395
451
718
55
423
135
318
592
290
635
240
579
507
872
12
908
872
478
479
117
868
296
581
908
280
276
557
388
104
233
768
171
475
689
457
749
191
148
530
770
346
733
890
31
773
33
948
969
264
418
663
420
979
811
896
255
90
98
896
246
437
953
456
179
913
820
676
814
369
205
256
745
38
235
960
605
911
629
216
345
984
870
826
499
52
362
391
472
530
797
401
852
844
782
871
698
58
24
42
555
764
4
954
658
724
138
605
446
388
872
35
26
230
12
888
660
761
893
933
726
207
623
575
818
107
766
598
860
476
282
265
132
785
451
418
98
728
828
417
822
623
937
577
508
366
586
296
428
25
150
168
77
542
138
246
906
509
667
25
404
661
213
882
602
552
165
476
303
861
238
20
481
906
781
478
305
254
363
438
216
756
807
838
302
927
998
796
3
391
398
471
810
991
169
297
214
261
217
924
607
190
252
919
257
577
197
588
714
840
861
302
246
839
834
345
970
110
976
629
354
950
709
571
692
936
575
63
955
798
132
726
146
59
354
599
928
453
124
979
823
982
308
392
718
376
123
574
768
848
244
898
45
293
121
898
433
516
516
420
343
606
135
453
802
359
535
876
319
505
211
198
780
540
858
882
228
178
356
956
76
798
901
479
733
738
109
849
70
11
583
82
469
794
647
976
406
51
447
489
664
787
619
774
300
702
61
32
435
497
129
785
790
665
751
191
626
364
540
772
437
916
962
271
292
506
33
406
191
933
802
958
206
605
90
971
430
571
574
850
985
22
326
790
401
597
330
275
718
816
354
348
550
149
772
5
184
535
599
292
487
662
30
674
57
954
246
792
564
999
127
997
676
114
736
949
317
828
184
111
267
354
499
219
244
514
660
633
723
185
839
57
674
27
177
253
306
186
159
237
702
665
743
956
876
297
932
554
441
580
402
199
529
157
118
868
62
402
640
622
738
383
932
695
381
465
66
131
371
944
152
807
963
413
199
438
196
998
387
536
991
200
388
378
739
873
983
750
392
754
183
592
601
52
488
711
939
834
693
417
610
332
863
256
350
834
746
44
407
534
848
23
584
561
894
298
340
422
176
672
854
268
559
604
772
716
549
315
78
434
882
988
174
347
556
600
763
95
72
178
607
353
960
165
552
707
296
149
467
46
29
421
941
854
428
694
593
367
830
862
879
277
194
838
114
554
675
367
257
28
518
204
644
523
136
197
523
747
122
632
680
613
304
645
903
347
680
659
333
584
220
547
971
605
71
679
741
11
659
108
560
459
545
863
779
471
679
759
243
2
833
180
938
167
630
984
885
461
525
97
480
891
531
345
987
665
248
787
227
449
998
147
833
793
449
929
613
972
154
462
655
399
848
436
842
732
187
448
317
998
838
688
285
373
489
206
260
726
399
102
465
696
546
588
685
845
328
124
248
389
13
703
219
117
826
976
105
360
642
49
550
309
743
734
559
543
987
496
773
352
46
576
176
355
77
569
432
925
297
275
712
163
464
739
492
484
189
277
291
435
328
677
744
997
459
942
713
453
577
689
362
920
710
772
261
730
97
768
611
171
951
729
624
548
592
997
951
119
906
950
794
228
688
236
7
877
391
462
54
59
223
308
162
393
314
713
413
5
902
156
745
128
87
12
114
605
734
648
67
332
518
206
68
691
950
16
780
186
468
175
328
837
292
123
314
338
836
980
969
668
888
3
355
589
665
741
994
441
102
416
632
767
417
582
112
517
68
332
476
40
734
225
515
645
805
585
906
198
215
62
21
190
112
136
220
669
24
785
174
695
651
657
336
297
375
916
196
435
904
397
370
140
191
807
874
838
933
528
182
813
500
950
766
947
101
436
891
144
352
675
332
280
202
664
587
171
321
570
850
766
663
452
731
732
889
205
233
635
742
101
985
189
258
994
121
405
908
602
456
32
396
267
835
370
819
244
590
407
372
901
87
225
578
150
217
815
267
74
537
728
196
969
464
521
223
992
570
540
428
150
550
428
432
652
903
643
423
529
673
441
107
988
892
969
842
186
507
596
740
981
640
149
395
753
19
459
202
547
277
517
953
667
618
581
479
317
34
766
672
49
858
22
99
607
949
902
797
169
190
205
548
186
348
386
81
717
501
633
229
660
442
616
981
323
430
236
766
556
668
137
77
44
691
354
692
447
622
226
366
763
906
644
837
684
716
745
380
719
668
423
966
581
905
411
280
618
840
209
447
134
109
873
377
35
314
494
28
593
190
242
737
59
729
3
10
484
589
963
800
398
879
976
356
908
1
193
192
392
802
225
565
193
693
50
162
639
790
998
330
243
326
402
299
207
806
912
308
154
398
77
478
618
45
480
530
934
673
652
199
75
630
999
273
418
207
192
742
638
682
817
425
686
828
612
825
296
249
254
658
597
202
534
679
157
834
683
957
248
822
797
725
198
513
568
294
443
555
9
271
297
872
440
523
521
603
782
908
487
264
117
761
97
985
555
540
657
116
665
846
580
916
140
203
145
278
877
642
519
684
389
119
929
643
290
248
134
894
629
646
385
548
10
432
597
194
753
70
808
666
855
806
903
846
116
380
154
398
609
581
419
745
636
494
713
1000
373
916
424
766
730
576
679
922
312
192
239
542
994
393
797
111
307
742
781
34
765
876
579
261
271
850
602
518
956
313
766
244
168
62
768
837
818
855
13
216
989
110
153
42
513
250
995
135
214
11
966
787
657
998
390
680
523
121
622
78
203
328
451
803
777
217
256
255
341
701
122
415
544
893
485
310
277
744
904
927
685
827
249
905
66
794
930
653
765
717
794
714
862
491
954
301
318
938
153
936
259
75
207
37
231
223
692
101
601
336
345
877
760
912
555
536
402
369
919
381
968
581
99
99
292
582
94
885
574
90
634
38
100
611
570
778
508
354
72
109
8
91
906
535
685
401
297
285
884
438
709
525
758
488
348
707
212
80
398
804
882
365
747
701
256
809
490
395
751
950
553
8
351
181
626
803
428
992
970
569
468
139
787
725
747
512
595
485
446
282
409
228
285
71
646
19
540
461
354
849
205
175
729
746
168
625
948
389
454
356
1000
221
21
94
536
357
117
742
795
769
904
681
261
327
925
152
58
280
983
344
37
686
199
34
143
91
305
291
903
507
743
783
846
351
754
714
232
548
455
248
717
457
830
580
495
598
686
470
8
443
892
146
533
680
598
965
829
422
773
139
554
828
59
90
346
449
894
764
304
439
835
297
102
420
283
972
121
433
96
335
795
869
145
658
831
717
516
681
92
775
867
722
692
677
476
771
316
745
609
168
838
698
147
818
80
182
883
657
944
954
463
279
215
305
748
203
52
938
268
256
549
136
527
932
774
485
143
404
397
810
192
71
330
282
687
118
827
828
798
616
125
80
282
87
33
113
634
326
822
118
586
472
412
986
958
993
120
492
304
301
160
418
479
147
694
450
985
849
474
181
980
631
999
855
870
75
706
753
715
722
903
314
70
404
26
92
484
716
350
693
576
414
444
648
533
162
514
23
888
221
275
218
659
163
146
25
268
618
361
515
184
427
77
744
899
265
652
557
674
989
80
39
462
487
966
244
567
778
549
903
897
472
11
738
81
464
704
861
384
929
13
498
67
247
272
930
789
495
509
107
698
526
864
890
121
458
160
220
121
619
492
829
745
581
657
280
494
961
940
234
388
87
43
844
27
447
943
84
201
103
54
639
944
866
385
711
398
115
284
715
490
575
969
394
235
233
288
298
392
867
65
943
360
314
920
217
410
684
703
745
798
256
521
15
883
618
899
26
82
998
762
102
400
364
797
306
317
36
243
572
1
61
302
287
184
504
174
537
552
191
200
667
154
121
708
103
182
960
927
616
436
552
785
343
934
342
489
900
429
991
538
883
21
206
205
891
693
5
619
959
329
211
250
958
711
956
11
74
68
384
195
970
962
530
160
595
711
561
10
902
71
198
521
928
611
122
224
782
64
641
832
107
958
684
217
466
990
451
712
945
945
694
832
985
425
648
411
69
309
83
777
443
645
832
790
491
633
409
522
715
467
994
867
554
51
178
638
418
44
316
513
372
254
253
804
915
122
488
122
131
948
530
920
318
535
352
350
863
138
317
45
745
955
932
240
553
912
79
109
307
170
127
324
696
591
480
615
574
401
648
540
666
408
906
784
502
440
972
25
508
107
872
839
56
615
387
141
19
97
18
411
30
866
413
300
236
69
598
245
785
435
150
423
679
216
646
681
910
958
370
120
982
439
242
616
33
960
384
918
760
205
564
893
274
37
996
122
829
934
630
341
77
239
92
135
152
62
932
901
413
419
662
330
108
191
366
570
591
576
318
795
960
941
151
99
158
458
587
541
632
426
645
663
640
943
548
2
152
486
248
963
97
965
612
904
384
68
820
449
743
16
483
844
909
408
269
647
116
476
619
157
159
898
257
775
523
311
726
904
187
796
196
120
779
890
98
55
665
161
943
868
436
948
850
214
984
665
891
363
36
971
347
460
579
176
373
985
85
513
369
125
813
250
548
114
767
213
832
619
68
935
207
878
616
548
97
603
883
527
168
659
650
565
180
111
257
178
188
542
693
143
408
454
488
483
560
182
874
522
322
970
155
472
840
784
558
147
884
977
102
616
353
161
170
78
279
486
549
770
430
74
674
492
866
532
682
180
532
312
683
47
90
179
341
958
698
212
443
127
386
549
672
664
992
591
174
237
391
453
849
892
863
283
516
68
10
450
229
7
614
743
54
1000
134
423
567
422
388
425
177
64
65
3
136
61
356
897
747
634
948
416
877
910
28
887
316
366
759
600
939
783
869
724
891
155
650
652
221
725
637
893
474
125
705
962
781
665
128
632
866
933
400
596
228
239
247
810
482
888
330
769
449
911
583
521
155
682
994
492
303
801
918
108
173
717
686
717
123
844
334
584
39
329
810
568
164
205
860
630
682
415
148
495
335
55
820
663
123
229
895
416
847
144
319
653
821
374
513
198
634
786
531
654
193
257
694
50
658
156
733
264
46
526
993
657
461
61
237
458
906
256
928
144
589
551
666
518
493
912
597
199
726
43
239
992
812
348
113
936
687
832
998
916
613
368
412
332
595
140
139
740
207
616
225
316
884
105
896
668
869
817
279
852
982
340
627
368
321
637
11
584
779
973
51
268
34
680
362
885
255
293
792
877
335
392
440
391
880
421
679
861
558
896
111
347
637
624
448
811
729
24
807
350
803
189
802
920
522
60
121
327
825
987
982
24
469
976
969
820
930
131
288
715
675
169
385
910
310
362
221
482
514
977
238
376
16
69
170
87
50
486
439
906
905
81
821
632
170
404
412
446
266
625
724
25
666
16
908
24
983
99
670
807
761
496
448
627
355
551
829
537
805
89
940
959
920
4
813
197
143
939
289
175
917
39
85
330
381
571
36
906
239
257
402
856
547
314
327
174
983
530
208
784
883
170
777
10
975
182
157
270
251
904
11
879
878
496
191
732
402
371
945
226
734
184
849
973
586
364
105
733
79
727
735
534
243
473
534
119
965
714
310
710
776
762
87
563
526
593
453
961
616
248
165
82
938
462
449
657
108
476
191
450
889
802
337
373
909
704
382
481
927
299
798
187
933
455
598
773
294
143
1000
696
43
474
356
227
108
451
78
690
2
346
266
936
11
717
184
711
413
303
477
273
650
413
273
941
633
982
909
259
587
161
44
129
906
161
338
538
526
99
739
519
205
736
620
556
947
352
690
976
503
463
620
754
526
736
821
781
494
234
635
883
949
107
509
782
963
903
366
743
977
988
494
882
332
936
746
962
891
368
754
55
89
403
155
614
666
827
526
347
105
77
856
784
486
372
898
578
76
671
663
393
480
636
651
694
574
471
179
882
778
320
264
985
443
883
126
571
246
52
277
609
539
682
585
786
533
20
419
155
41
961
193
85
274
51
196
171
827
57
589
153
572
27
841
897
651
982
676
220
120
763
828
626
115
115
484
63
573
773
353
436
659
187
693
938
43
534
476
214
84
814
120
10
817
178
833
208
314
113
706
133
675
721
107
547
409
163
826
46
406
256
680
445
66
329
952
315
401
727
141
36
74
718
980
621
424
203
567
66
493
295
773
209
936
774
776
870
522
421
716
585
568
481
949
372
302
827
335
796
624
915
319
44
144
315
285
872
721
383
845
36
916
676
247
266
925
784
42
942
586
621
552
361
999
591
398
896
143
726
567
403
630
583
58
966
403
673
146
406
742
219
689
49
425
298
712
897
265
806
714
719
532
221
745
550
965
846
332
747
171
72
755
74
212
209
6
236
106
594
14
907
774
39
338
590
674
123
620
565
36
510
513
768
98
233
681
727
224
861
740
527
102
561
672
385
516
326
349
618
294
73
266
634
150
869
498
145
83
300
197
953
885
861
635
523
98
308
941
35
443
100
167
774
359
426
283
524
777
815
993
91
678
1
50
213
292
545
837
885
36
688
590
560
380
46
556
788
928
69
763
590
874
612
841
285
900
593
521
516
298
461
1000
974
780
126
375
668
9
76
733
620
332
624
278
555
616
649
93
493
333
693
758
145
266
20
39
676
291
67
321
695
680
754
270
310
321
264
448
709
34
259
269
981
886
947
719
870
72
80
716
702
417
746
880
2
38
762
712
205
32
585
893
428
306
941
481
495
857
752
271
269
824
546
483
868
677
263
257
549
719
248
105
861
909
264
638
171
695
578
358
837
130
506
251
90
74
329
268
155
666
158
476
287
602
152
863
140
950
472
273
353
373
493
958
310
673
87
562
781
499
254
143
562
931
961
996
286
372
832
659
280
887
238
421
749
649
425
94
560
664
534
591
601
305
757
56
33
470
441
921
743
388
604
271
963
185
245
337
325
317
778
763
600
909
147
526
970
851
460
57
985
197
490
129
272
97
17
568
665
975
772
685
661
145
715
610
31
381
464
377
945
229
960
700
219
7
895
868
131
492
958
75
808
289
734
803
355
743
954
612
748
35
830
747
992
815
435
563
235
315
429
634
283
371
934
787
490
228
53
19
67
296
346
408
653
250
534
681
445
16
889
63
231
183
999
381
457
375
110
186
838
920
807
825
104
923
574
975
152
533
715
138
301
723
138
4
315
404
800
386
592
63
952
618
232
402
884
965
702
655
577
565
467
337
507
892
269
216
875
530
700
181
704
310
332
514
553
494
954
792
106
747
401
269
512
97
37
138
139
942
211
504
399
438
925
245
335
281
465
215
1
970
25
368
28
142
168
481
372
438
535
122
961
707
381
362
853
11
357
561
556
39
466
209
358
63
263
431
883
467
171
249
588
249
286
115
593
596
117
556
62
823
525
970
328
473
540
767
104
365
833
76
392
730
358
167
192
343
96
621
678
739
888
992
298
189
44
406
155
87
817
79
130
812
828
227
397
918
239
216
410
722
793
92
956
954
846
802
585
198
170
548
577
222
610
695
618
170
643
575
533
820
530
348
746
738
987
802
601
241
287
599
362
510
252
27
441
79
874
732
408
187
181
285
410
158
547
668
914
60
835
943
66
381
669
409
602
352
617
573
893
860
289
78
676
583
170
577
7
121
525
191
203
379
840
813
880
435
100
12
730
401
664
707
318
579
591
102
29
323
103
585
259
575
247
437
114
31
958
226
114
205
439
699
928
476
190
853
702
364
86
596
343
844
595
76
39
538
632
351
358
979
541
500
497
966
409
692
665
237
229
6
103
285
467
974
945
185
178
936
6
707
206
295
561
832
893
663
372
32
389
716
540
310
931
299
229
48
364
945
973
188
808
516
33
108
588
110
256
839
467
729
979
957
777
467
780
537
254
116
312
85
262
177
2
212
617
231
177
173
395
493
9
37
982
180
761
431
68
989
995
272
506
613
757
865
696
687
281
44
683
12
411
802
237
187
770
986
983
14
682
186
76
183
1
908
6
759
277
483
871
956
169
937
848
506
578
220
673
725
782
783
627
991
740
468
919
959
827
81
391
284
475
825
117
17
609
960
863
119
283
688
320
729
641
281
716
937
170
873
699
780
242
217
351
143
95
884
826
14
730
97
379
297
695
377
470
13
355
692
261
236
33
624
7
579
377
365
819
375
403
22
770
964
914
773
572
651
454
960
919
973
473
27
97
877
164
580
671
306
296
507
892
468
408
240
959
741
930
741
425
800
179
733
862
26
643
31
335
672
688
554
389
603
603
757
5
617
902
776
442
509
953
519
939
59
255
327
42
85
181
565
670
533
581
724
154
342
418
155
146
479
516
564
695
108
582
811
813
332
904
314
538
315
487
614
826
906
969
227
627
36
327
979
133
304
268
393
505
139
178
578
351
846
713
269
848
676
405
350
671
753
155
208
847
358
125
757
226
572
321
803
502
742
124
725
649
586
120
91
169
983
860
939
763
691
572
921
949
271
458
419
615
484
901
33
739
317
838
555
315
547
550
654
27
495
370
23
379
162
132
656
778
504
700
265
547
955
607
582
976
676
638
442
260
198
175
82
662
271
268
63
277
762
686
580
553
394
652
690
125
957
563
190
561
384
788
406
346
748
513
217
815
791
715
971
738
88
560
771
994
310
903
849
60
351
143
297
77
273
327
512
899
108
328
84
818
583
869
720
663
732
377
39
551
173
948
683
894
567
214
290
139
385
506
296
378
663
542
408
157
863
767
868
739
293
645
301
645
823
393
9
488
759
130
90
5
830
944
625
727
220
140
505
876
422
790
168
969
527
802
610
69
211
848
598
777
302
932
901
905
320
816
701
181
761
259
92
515
270
780
713
83
2
706
116
959
672
346
417
99
762
470
169
224
353
687
132
559
868
949
823
454
763
158
286
603
887
766
532
976
786
361
482
596
690
415
55
965
321
817
242
315
941
302
628
823
232
630
855
608
737
198
908
615
548
795
1000
490
888
373
3
126
10
36
74
883
580
927
143
393
345
330
399
452
405
100
780
774
865
497
732
242
994
565
181
899
258
520
760
88
758
980
798
79
699
465
495
985
443
328
992
10
617
166
763
887
522
793
878
846
760
65
182
647
643
215
379
981
395
839
348
33
620
377
749
116
783
729
108
56
717
651
157
455
264
695
133
46
204
768
104
89
592
811
198
186
424
741
728
922
362
525
848
477
864
197
315
718
658
697
376
313
967
646
544
82
271
545
295
153
668
457
282
485
115
900
717
973
896
557
974
646
692
419
325
470
535
127
929
850
730
640
868
220
577
802
57
61
340
31
332
242
446
166
848
870
334
423
246
686
757
545
657
657
533
482
768
593
972
365
584
504
208
95
497
938
702
616
506
727
998
835
180
409
652
163
63
86
925
891
732
639
422
947
644
21
377
97
264
833
690
330
673
479
151
977
24
11
474
116
757
180
947
931
440
315
492
6
479
397
901
968
685
94
848
515
903
583
40
620
444
713
527
615
86
417
757
947
802
311
442
626
139
129
677
758
440
943
28
128
654
149
533
464
549
832
607
906
536
442
900
184
157
678
23
201
544
95
911
25
771
233
283
793
94
996
320
653
538
603
191
671
121
680
518
573
325
969
213
323
52
678
369
747
412
716
62
912
193
955
977
453
709
133
743
854
83
262
756
523
688
185
41
566
601
483
400
365
443
26
697
415
899
322
633
398
561
246
761
123
446
893
845
810
729
23
844
157
736
63
969
774
246
666
282
872
469
616
234
520
881
242
433
423
243
581
629
904
729
243
603
717
70
294
219
377
21
512
329
931
260
45
657
488
32
865
25
351
472
365
512
321
544
143
211
570
993
312
276
516
506
619
829
296
531
321
167
749
855
998
367
308
86
458
82
846
637
446
800
308
691
151
325
895
878
362
564
713
81
744
958
19
875
854
73
638
582
446
911
704
826
115
500
592
779
504
184
812
983
173
818
668
761
694
788
695
749
704
342
235
991
455
258
34
401
873
252
401
104
241
873
310
349
418
843
781
187
940
930
53
134
417
485
316
335
427
704
249
561
462
539
190
537
591
933
568
662
181
701
89
201
410
968
297
409
331
535
336
847
921
927
118
357
909
164
674
797
150
485
140
628
988
366
702
890
343
151
821
937
237
563
251
532
80
149
666
557
338
442
202
634
106
275
865
425
746
187
534
234
948
323
253
799
507
577
606
858
670
969
230
138
88
427
946
911
333
199
554
155
423
101
80
669
997
672
141
186
644
118
148
647
346
605
259
326
188
47
345
413
272
68
776
998
247
211
447
145
994
778
351
879
766
928
944
472
547
775
700
364
446
269
552
417
728
585
355
991
458
591
120
471
815
732
538
499
825
308
203
119
665
712
62
457
684
659
816
362
3
802
390
623
874
457
156
24
988
301
256
472
569
45
279
918
401
78
487
564
907
964
40
146
15
544
921
676
821
59
783
111
5
392
573
877
535
20
571
9
452
744
434
972
420
589
964
890
296
541
544
987
185
925
627
553
313
320
255
620
595
868
268
851
938
709
804
847
176
81
697
193
29
280
601
86
619
321
11
302
903
604
880
619
838
318
180
520
216
640
602
175
887
999
554
224
527
799
758
872
190
56
56
142
631
314
458
924
805
85
90
624
983
778
468
802
660
791
419
175
802
947
70
770
982
993
547
786
687
196
404
969
367
421
370
879
827
215
676
484
212
542
103
911
129
835
883
55
441
901
777
933
860
75
955
377
766
716
807
660
623
780
439
142
905
725
398
857
759
478
140
273
486
502
829
81
493
290
358
7
597
752
862
85
424
37
603
757
167
312
808
441
176
883
954
941
657
849
20
170
300
148
437
183
757
490
822
443
756
130
79
581
49
881
157
643
560
76
526
959
844
398
466
346
423
645
372
272
645
520
566
17
467
488
595
605
952
581
551
475
354
798
745
433
355
398
985
427
402
954
764
66
133
520
906
622
526
619
614
458
807
77
402
424
82
897
72
810
363
466
801
853
950
423
361
629
85
371
715
407
437
500
504
188
237
851
482
195
831
630
536
546
7
480
763
204
682
78
995
564
465
785
315
730
158
303
299
586
459
468
216
294
43
398
936
717
671
139
50
576
214
881
599
870
285
572
833
177
680
460
652
7
986
698
692
264
517
633
591
256
219
838
574
383
272
236
378
818
952
910
489
12
683
307
795
854
369
595
83
633
780
865
226
766
218
708
531
393
716
491
487
555
761
256
38
639
891
800
630
178
542
918
466
893
224
184
831
81
422
952
850
50
632
426
789
337
592
744
826
869
64
66
254
56
520
504
240
42
664
615
594
3
43
844
464
400
903
985
548
595
53
218
171
56
748
758
541
699
488
478
612
532
217
141
227
915
592
16
645
176
889
739
139
265
634
246
46
415
209
486
602
463
568
403
866
651
659
376
297
190
310
904
863
840
151
825
114
63
619
758
262
69
187
810
210
201
768
762
380
667
658
124
389
586
477
466
873
666
332
363
224
630
795
164
633
647
383
531
545
635
917
372
601
287
532
339
197
54
113
555
6
141
640
598
223
755
249
77
826
485
825
293
839
691
590
620
456
232
450
212
873
658
859
559
881
271
545
251
550
79
744
18
862
730
516
734
762
967
314
629
895
5
201
392
239
518
58
184
986
576
625
841
231
985
499
719
491
931
24
682
637
782
584
724
546
136
970
584
686
976
322
501
862
858
691
966
594
603
357
888
900
891
900
140
827
476
457
840
693
485
731
22
865
422
101
622
845
25
602
786
619
110
645
574
460
871
99
64
887
909
748
711
36
400
200
565
498
440
45
633
584
550
431
210
41
756
245
491
501
432
784
171
314
326
133
987
952
787
472
400
903
237
170
657
793
360
864
534
516
310
653
922
302
483
178
275
986
37
644
640
232
410
752
616
73
521
119
155
966
224
2
517
467
852
50
76
777
348
366
911
634
588
371
278
484
972
846
134
402
260
44
855
2
938
960
155
426
93
673
30
575
900
194
215
934
355
376
244
692
784
286
738
391
21
874
911
975
877
921
632
982
660
4
603
544
72
673
332
58
748
108
615
636
90
274
210
928
802
13
180
491
709
539
213
661
38
552
807
787
319
534
839
779
459
835
482
129
348
822
808
985
562
733
724
366
348
850
59
331
79
268
733
767
817
844
926
459
438
885
112
304
26
750
592
814
863
796
916
583
435
96
219
982
289
860
996
180
470
825
330
525
524
711
895
400
730
449
334
989
321
81
775
741
916
98
290
950
308
534
113
566
41
296
281
258
921
59
159
773
710
556
14
876
795
239
385
457
528
109
501
948
273
948
430
854
945
365
937
994
959
777
259
84
64
932
147
385
497
661
541
451
245
265
201
479
1000
397
471
327
529
299
71
76
802
28
539
896
193
628
438
72
455
276
971
264
995
70
14
472
163
513
833
716
895
704
997
142
61
942
44
129
311
701
507
959
20
975
778
827
206
539
140
238
908
999
998
374
572
433
978
595
484
985
104
97
83
62
689
630
341
660
946
348
997
916
566
81
580
189
671
768
591
862
628
338
148
571
166
90
686
747
141
471
998
224
59
237
55
127
170
150
512
440
542
734
782
445
34
123
862
689
484
713
850
263
769
126
224
968
586
24
527
343
968
385
31
657
556
221
343
697
604
94
683
582
548
449
708
911
706
520
403
249
358
486
475
340
5
628
146
460
99
486
998
2
894
370
753
749
366
163
485
243
346
25
766
370
105
459
696
528
621
257
583
775
697
948
288
914
895
756
884
799
977
511
358
56
179
628
491
4
188
37
985
820
113
919
102
890
104
185
822
833
536
925
564
936
809
457
31
562
916
171
618
670
873
126
131
737
13
212
286
224
910
759
534
224
397
653
332
93
762
390
846
653
666
21
468
42
792
573
210
404
498
399
229
373
23
870
259
774
879
951
700
12
121
524
473
409
142
743
518
118
445
333
992
330
660
499
816
176
668
18
180
140
323
197
53
773
695
570
503
241
150
627
883
526
877
384
510
143
655
336
515
855
747
161
973
196
833
574
211
574
777
884
492
336
870
160
872
491
889
354
99
659
954
399
877
485
711
84
683
922
783
447
597
762
812
553
272
298
649
770
273
251
410
91
479
960
205
595
166
342
286
925
659
342
275
484
174
424
894
146
582
132
324
450
323
937
910
617
670
365
452
229
823
888
700
93
101
167
28
627
607
33
452
83
326
995
311
82
533
198
953
199
807
457
701
815
663
432
263
36
21
42
448
252
318
954
757
842
30
336
964
570
807
102
283
495
176
565
83
551
32
738
428
563
693
543
881
101
371
820
119
463
288
354
933
111
535
93
55
986
999
356
112
536
313
113
711
711
873
339
286
837
380
56
890
85
264
907
540
189
602
13
79
168
811
433
781
95
509
746
76
336
386
163
834
300
860
95
649
441
571
291
401
147
480
497
200
216
462
99
487
778
790
332
669
930
845
496
168
814
710
41
188
571
56
525
800
418
860
237
195
71
67
681
47
882
233
248
21
349
601
114
329
121
766
819
169
185
331
61
559
748
486
913
790
195
455
79
284
588
156
829
78
437
205
906
592
804
603
91
584
403
92
51
391
14
133
811
687
420
930
427
936
53
741
489
700
744
947
615
706
264
16
455
363
841
529
597
5
473
920
405
700
648
402
29
888
37
884
750
480
823
297
393
283
610
876
718
786
250
409
616
427
522
378
436
399
326
189
967
965
917
446
428
20
799
274
339
337
41
278
258
538
172
611
236
314
326
965
250
861
940
68
40
792
174
351
521
19
193
89
409
217
562
183
755
550
341
193
865
234
887
963
448
399
984
353
929
455
689
200
565
815
202
591
360
425
131
963
831
988
775
295
348
177
406
928
96
414
114
97
741
968
441
341
495
233
911
337
622
78
566
565
354
8
788
432
846
772
19
150
50
708
453
686
337
791
448
590
280
866
147
349
258
990
805
198
453
162
384
984
359
980
257
779
148
904
276
417
105
895
40
13
867
166
933
856
406
641
366
742
511
551
741
950
34
234
811
573
320
835
510
851
54
114
798
476
200
958
772
586
865
518
91
310
669
132
758
273
660
298
440
438
872
21
802
3
416
786
761
878
359
256
214
414
717
573
508
641
611
757
876
285
10
316
126
201
487
612
86
676
130
933
731
266
79
495
422
432
149
800
413
275
664
860
641
91
923
820
796
295
714
407
883
508
872
466
767
252
180
549
707
731
868
171
508
661
488
873
715
945
282
671
223
291
973
834
794
521
539
169
210
426
703
169
245
483
757
435
175
674
887
769
315
935
299
198
924
466
349
998
897
255
329
449
832
697
744
693
435
97
699
516
740
182
508
345
277
519
742
26
159
827
711
185
25
768
819
118
942
735
309
169
623
537
685
515
808
628
466
110
229
737
22
323
368
294
933
422
118
91
703
672
541
962
668
245
149
96
641
557
514
802
171
906
565
152
282
491
633
952
228
985
138
919
90
847
871
770
30
455
933
186
607
982
772
221
875
634
212
827
898
522
6
583
894
957
250
610
502
417
942
896
535
775
68
955
173
622
873
827
731
702
377
891
41
529
795
883
994
224
225
810
988
508
875
139
853
566
137
785
338
166
15
915
379
65
765
522
197
191
147
72
727
521
303
232
7
902
161
861
925
271
204
993
172
853
597
484
338
984
958
381
807
112
513
816
553
398
959
438
972
88
165
942
599
497
714
270
952
994
390
450
746
870
942
823
428
342
841
647
315
231
294
648
608
53
470
131
221
344
759
693
666
66
901
384
197
837
978
438
56
547
588
322
910
652
27
901
544
69
899
979
426
110
411
348
35
376
530
737
733
832
301
725
525
584
884
792
270
5
280
131
766
947
310
776
681
736
117
884
469
539
361
713
247
468
343
973
138
477
439
727
693
721
643
948
851
534
495
191
346
611
335
550
586
269
676
233
833
926
454
639
911
27
42
774
791
711
224
206
133
432
779
535
277
625
908
533
222
224
527
673
862
546
343
792
112
568
731
983
588
165
643
647
188
182
158
841
263
562
872
641
64
912
965
309
801
990
683
434
967
610
978
78
544
371
198
189
314
426
66
183
807
235
662
656
322
886
754
651
69
81
623
746
716
356
477
527
536
419
660
667
891
775
108
933
38
958
947
901
80
743
675
104
440
703
144
582
392
358
381
564
62
922
409
82
773
389
353
875
779
246
536
841
246
664
741
632
785
373
494
754
994
783
75
628
209
127
887
667
130
513
22
370
56
848
99
766
229
487
929
369
167
363
158
928
956
64
811
875
158
15
565
335
376
469
666
994
557
500
631
878
772
568
267
348
577
492
75
187
52
902
825
721
244
292
915
304
92
833
173
349
836
5
909
328
570
921
349
796
838
957
78
562
153
894
743
577
867
371
69
973
95
827
188
968
284
515
387
14
593
386
647
665
439
822
760
109
476
259
388
231
758
718
160
350
59
130
790
497
139
150
243
209
252
816
176
341
352
45
238
312
241
423
322
541
401
194
543
585
338
640
524
595
70
295
560
309
826
534
386
712
85
152
526
896
878
453
705
388
623
252
364
430
885
911
109
238
109
230
834
284
782
554
340
30
517
937
486
346
184
590
325
60
628
121
192
673
439
271
430
342
952
940
287
613
915
316
542
243
272
814
567
698
99
369
876
519
18
334
685
862
361
866
644
913
926
237
698
783
436
920
990
752
689
671
800
393
982
85
830
205
563
237
491
870
783
123
492
138
120
563
719
653
428
121
298
740
630
378
765
283
552
587
495
344
747
339
865
119
977
377
158
117
487
89
879
241
317
569
982
550
683
292
486
67
900
659
91
921
387
630
708
515
78
667
266
153
919
999
756
738
251
43
240
755
520
396
488
734
206
471
942
752
825
231
985
403
583
937
847
797
596
53
24
822
560
675
824
889
446
938
453
816
90
860
119
360
486
5
762
100
271
143
377
72
113
825
342
567
674
421
841
989
410
692
222
510
720
425
127
559
835
1
294
825
438
10
220
570
182
223
296
506
175
247
572
417
9
213
76
977
107
693
473
953
995
839
907
67
614
440
65
344
924
168
863
665
871
814
652
609
267
707
538
376
218
837
204
770
560
424
625
712
156
807
200
789
32
549
113
627
43
624
193
716
201
379
140
446
821
711
758
720
384
599
752
485
366
650
705
936
337
827
110
918
280
896
703
303
472
398
885
688
212
185
723
813
372
608
895
514
49
491
921
849
544
915
225
295
544
652
877
540
633
831
361
461
222
26
325
315
543
501
113
75
645
797
765
60
178
188
335
730
368
775
610
579
755
181
721
547
165
832
759
276
904
838
185
829
359
308
740
219
4
769
615
158
345
24
812
39
461
387
998
999
619
749
684
317
901
323
193
107
922
246
736
397
460
438
886
289
302
246
882
791
647
426
471
317
203
986
483
616
484
233
897
47
892
142
948
727
874
804
743
49
821
309
907
472
405
867
38
285
739
353
122
252
55
770
602
658
661
280
512
309
495
591
919
453
2
460
947
412
950
10
823
1000
468
342
698
375
837
697
502
96
539
1000
695
576
609
187
608
978
623
149
984
913
546
483
469
920
209
468
25
855
424
890
699
734
605
363
728
536
282
797
700
737
101
526
378
47
736
410
848
984
617
899
828
366
563
669
365
812
196
918
620
597
486
843
157
4
898
134
920
439
390
524
132
111
947
593
413
73
421
36
774
752
204
569
554
881
659
471
983
927
290
533
824
674
351
855
461
642
968
452
869
363
881
180
150
416
577
794
686
242
956
288
514
452
638
851
244
310
704
843
656
523
938
241
177
305
642
886
561
893
684
694
452
388
730
708
977
797
564
507
155
634
950
25
705
306
784
257
788
767
140
704
313
606
424
648
721
820
17
511
551
11
692
612
696
635
614
643
976
247
902
6
525
377
582
8
575
806
271
538
378
504
54
507
383
446
854
781
306
851
49
804
377
97
208
377
892
766
605
314
173
761
608
811
175
463
102
408
278
185
907
357
243
30
487
68
931
366
369
58
135
761
359
477
796
190
49
869
956
729
110
292
26
744
567
300
336
800
593
576
474
124
340
201
641
485
9
640
62
764
623
529
571
332
990
270
581
607
923
227
46
759
64
92
446
658
636
562
514
527
970
49
167
724
971
556
97
259
532
236
563
391
508
351
187
700
44
583
985
536
960
638
426
623
373
121
68
927
984
506
174
572
239
814
781
721
109
324
892
868
379
208
795
885
125
522
67
537
556
371
441
876
504
385
580
113
606
882
770
95
699
215
658
461
997
826
500
949
389
490
803
71
601
69
846
544
9
863
358
488
627
276
525
327
145
136
577
801
937
419
445
222
633
555
368
377
194
763
847
60
430
43
94
248
544
573
920
356
603
247
73
852
802
17
166
733
8
494
682
30
340
20
22
543
499
28
191
471
130
43
517
485
745
145
749
18
667
31
986
277
979
84
142
521
703
27
98
669
286
785
224
164
25
170
732
368
224
882
174
423
716
86
462
655
904
550
971
113
609
897
672
760
817
50
713
164
905
342
572
285
28
105
709
81
140
746
636
237
543
467
456
247
974
829
222
462
945
271
910
498
507
586
410
533
621
67
704
657
68
736
314
396
177
616
185
927
703
469
389
324
852
838
435
353
798
482
510
979
35
501
663
747
563
551
836
628
201
539
607
773
318
114
732
822
852
85
854
108
802
606
264
88
302
615
207
860
952
549
43
423
381
782
505
658
860
610
428
658
389
829
537
112
873
142
373
982
886
682
939
537
36
919
422
177
152
89
233
148
330
84
626
370
390
422
384
135
433
519
407
345
18
994
533
291
928
141
634
729
614
21
795
133
202
864
431
584
364
577
270
676
459
209
486
225
82
165
656
300
582
797
881
301
144
763
115
373
781
222
716
445
907
457
278
568
245
44
37
45
455
29
548
35
252
872
853
935
751
113
78
872
442
803
242
54
519
772
79
556
213
676
836
383
458
627
353
263
446
905
187
699
594
885
194
260
18
863
793
953
872
887
42
787
801
61
807
326
314
41
553
103
121
606
683
254
319
246
966
635
866
690
295
985
949
181
913
392
711
75
295
459
271
56
71
68
165
833
720
563
95
710
299
531
395
824
125
69
687
151
150
597
35
639
768
800
288
905
910
281
438
17
599
820
526
798
554
950
76
947
91
712
45
20
262
43
48
978
170
233
940
593
396
298
900
437
770
899
828
606
71
655
215
577
779
311
636
823
735
252
682
871
395
252
437
538
374
214
598
948
171
881
923
781
262
130
12
914
250
552
330
245
388
419
968
36
582
77
926
541
955
997
550
37
120
467
361
649
605
925
696
481
286
471
484
681
243
967
974
999
206
442
453
309
633
225
793
328
504
349
214
479
139
284
739
418
656
980
692
278
264
546
6
77
184
627
261
52
878
665
128
915
208
823
347
159
290
272
456
554
128
915
217
955
534
413
110
351
446
527
318
876
551
374
336
128
5
225
718
745
123
809
498
635
170
923
507
645
728
372
151
745
704
827
217
991
704
255
902
618
379
988
614
653
363
313
17
307
569
740
430
247
957
710
988
575
367
594
867
954
630
259
503
875
983
376
966
485
761
874
541
761
436
664
163
55
337
813
533
205
829
829
620
474
251
654
817
552
711
218
152
724
668
145
825
121
300
301
853
630
863
397
713
668
585
808
730
497
161
53
400
215
584
179
943
813
880
394
217
978
264
860
474
396
430
533
620
380
907
257
312
584
946
144
679
390
930
398
488
348
118
375
298
677
437
596
528
420
90
902
371
315
16
672
184
820
597
274
339
29
557
534
485
385
718
988
846
222
100
171
487
156
894
967
449
258
998
342
258
759
110
365
608
769
900
542
965
117
371
880
384
938
335
17
131
123
894
990
576
23
899
895
384
136
627
802
250
596
347
730
307
401
16
431
847
249
66
5
189
776
151
79
362
733
742
406
787
359
690
259
265
796
203
906
412
896
206
819
146
184
740
963
930
64
847
704
286
557
399
389
507
20
457
629
594
308
29
681
183
794
560
83
648
511
100
879
605
422
830
358
769
508
569
227
495
911
968
497
343
848
291
222
702
407
113
374
864
588
778
817
899
186
183
298
378
179
291
857
270
309
800
846
309
436
565
28
772
87
685
824
855
323
662
885
789
688
666
557
429
544
737
749
276
519
707
908
835
179
732
533
715
241
582
730
152
855
262
785
467
522
108
649
515
182
228
514
361
913
70
376
270
451
902
592
582
427
234
960
197
833
530
777
217
722
98
663
753
559
702
672
9
968
267
382
564
824
25
157
186
786
607
797
602
405
850
101
418
855
562
665
756
231
90
413
250
61
285
937
770
386
392
708
586
296
474
627
739
298
176
170
61
277
68
611
621
84
321
392
380
985
173
770
487
304
511
247
957
599
893
169
444
606
515
95
432
39
942
179
457
3
915
880
906
472
177
743
518
760
54
904
973
399
472
180
865
154
228
346
874
193
541
235
226
560
385
813
362
185
641
273
266
635
853
478
116
681
270
816
725
564
866
617
770
505
278
831
931
626
911
570
901
949
13
454
659
545
158
459
558
225
420
75
531
391
505
183
155
797
219
955
428
995
990
516
821
198
560
810
611
131
608
343
532
199
813
25
507
955
786
337
607
442
370
437
379
420
53
635
410
902
611
852
316
685
652
311
319
784
430
730
281
727
143
687
320
734
968
707
137
664
230
800
785
457
433
887
891
519
372
556
287
119
173
68
589
414
910
396
509
150
381
348
588
440
759
500
609
291
76
758
146
670
913
841
594
23
272
881
546
84
298
650
557
725
453
603
211
368
732
72
846
176
773
442
514
839
17
79
502
274
612
117
240
978
433
932
548
71
383
298
909
316
151
756
962
503
739
696
416
655
332
8
412
414
579
929
696
863
936
906
86
745
477
840
371
737
517
119
208
999
459
188
580
662
502
254
55
350
245
890
464
65
752
956
571
998
366
240
992
898
394
671
909
650
799
784
106
634
229
356
473
220
5
767
379
523
196
713
304
131
529
339
641
86
695
724
885
818
543
940
296
95
771
552
696
303
989
542
268
524
432
103
108
956
203
667
794
200
620
802
441
791
176
370
523
164
609
384
274
936
842
601
613
955
844
744
332
117
37
625
807
321
493
162
537
278
22
429
672
96
228
437
57
705
722
289
469
218
20
739
425
258
64
922
366
145
934
234
79
582
69
901
935
138
239
769
878
405
590
256
158
164
308
185
452
290
832
446
388
400
110
45
455
451
62
106
972
581
300
835
51
503
145
276
503
671
170
937
224
244
800
6
892
610
1
921
737
856
725
538
733
110
560
969
821
113
988
478
656
747
786
460
940
476
313
631
635
839
915
43
187
188
179
437
451
843
576
729
177
719
853
174
764
256
622
809
483
188
774
356
516
273
715
650
986
621
911
4
603
670
937
673
678
154
2
710
37
672
949
54
794
550
826
681
50
772
461
959
314
643
878
178
846
761
36
356
204
566
114
26
959
440
494
709
946
883
656
131
424
758
451
108
213
989
590
167
222
374
733
626
759
379
268
870
698
860
718
963
855
673
744
608
915
60
849
672
862
481
251
151
148
318
850
521
764
493
851
826
980
576
418
794
751
404
664
469
703
588
398
573
172
526
315
871
974
715
722
312
458
212
490
613
950
67
624
245
826
452
756
501
349
955
906
439
867
251
29
996
136
910
274
528
333
656
337
331
807
750
4
450
712
544
779
246
470
427
477
710
430
537
819
495
181
659
327
998
744
646
304
576
235
565
249
194
681
527
868
339
386
807
712
68
583
444
592
415
186
971
114
222
102
312
92
626
910
173
137
83
735
429
400
814
767
136
333
983
205
766
316
760
362
216
197
648
297
917
88
118
610
124
257
622
971
88
600
538
562
330
947
446
825
723
438
412
848
380
281
638
255
645
490
909
694
630
602
768
886
805
969
232
725
119
920
184
106
29
12
264
1
575
609
197
787
350
234
46
6
801
493
756
523
811
901
737
532
914
573
935
971
829
603
9
685
187
926
774
125
510
571
31
443
477
550
268
599
502
44
483
502
475
160
568
262
267
318
263
345
282
211
684
800
883
381
827
752
18
680
247
37
724
269
324
206
490
352
130
102
660
549
959
898
127
654
970
764
609
562
262
300
683
286
914
533
576
332
183
489
452
186
107
344
535
272
189
713
971
585
756
908
763
95
794
871
452
181
797
76
498
566
196
892
443
692
478
778
32
994
942
204
436
323
403
386
588
604
801
752
436
894
841
568
626
186
272
281
697
671
354
983
401
672
402
828
149
156
28
380
925
520
834
641
221
360
889
945
664
63
266
979
77
326
267
978
610
217
756
492
480
926
193
225
565
183
523
149
788
195
104
451
781
44
199
924
810
731
424
89
287
407
687
670
523
921
815
42
540
468
65
934
867
15
143
973
254
166
196
620
135
324
471
664
519
302
989
745
665
51
627
273
579
776
468
730
854
535
136
583
875
341
92
926
700
919
587
554
225
504
983
349
390
515
717
783
241
486
9
815
651
390
776
687
367
372
877
945
863
933
961
503
127
851
680
740
168
427
990
419
466
197
560
675
66
907
88
451
285
367
419
546
237
794
967
855
543
379
854
489
567
114
574
195
528
364
742
916
634
282
678
376
171
913
147
296
128
757
580
228
508
652
478
1
950
51
514
481
663
150
71
677
973
899
522
207
950
584
633
838
711
576
867
54
975
792
196
646
376
656
284
874
840
606
541
83
70
716
605
553
811
625
243
970
89
762
582
147
76
800
772
539
587
393
940
633
437
495
323
528
91
983
969
888
71
910
311
980
586
381
200
687
702
12
686
232
185
913
980
848
816
364
515
781
599
711
977
816
766
507
495
992
912
614
930
291
898
777
328
852
390
192
190
726
37
712
124
234
309
633
852
781
976
441
276
364
58
539
529
50
808
691
464
467
985
878
76
665
218
316
723
781
731
623
798
592
112
498
756
406
47
853
963
712
182
992
901
695
328
322
654
4
273
85
448
138
342
767
271
439
673
151
211
956
916
497
233
382
674
939
558
846
539
992
674
613
40
13
288
608
144
576
186
290
221
959
71
579
542
396
923
423
442
275
341
120
257
252
591
714
26
78
845
574
736
35
153
829
563
29
259
428
195
793
273
435
789
113
545
630
560
706
829
594
289
176
989
263
273
467
12
333
387
360
84
33
919
869
845
482
837
828
683
292
944
581
148
111
175
429
103
529
923
425
261
137
850
193
111
558
141
630
79
953
492
807
949
850
458
866
187
138
938
454
849
714
705
62
158
600
870
674
688
291
95
278
311
725
184
133
733
563
393
156
476
358
455
444
632
835
824
716
573
711
104
444
86
401
969
514
48
525
136
553
882
337
123
440
480
58
564
135
205
654
872
663
888
751
873
980
402
242
857
509
569
634
153
318
636
323
976
272
483
819
743
8
96
376
514
247
516
649
519
786
694
725
925
487
156
352
182
728
418
267
270
67
383
261
151
319
776
32
546
869
830
950
944
771
999
533
382
156
513
860
131
482
930
124
858
456
679
247
261
789
785
809
421
530
574
532
332
402
192
224
148
432
183
397
711
166
207
731
830
947
241
189
579
45
206
851
636
911
67
486
295
474
862
471
319
187
24
886
267
472
598
560
227
331
645
370
216
161
217
319
590
189
745
805
930
586
626
996
832
972
48
433
875
982
829
817
890
560
152
418
280
873
607
734
783
71
856
784
561
667
589
950
908
941
183
332
186
620
598
434
825
64
617
363
359
326
486
875
488
736
377
294
123
131
860
787
191
437
767
487
759
95
384
716
688
712
917
891
575
428
584
766
255
685
441
312
474
514
324
894
659
951
837
409
890
938
389
678
278
893
674
728
967
152
845
524
871
673
854
380
99
674
94
513
721
424
511
174
178
967
824
348
153
420
356
299
186
397
248
100
652
225
493
883
968
899
334
728
81
108
34
15
323
270
939
557
729
238
50
51
761
207
24
189
186
427
655
304
549
504
375
547
270
437
287
430
900
45
517
7
506
128
477
112
423
486
723
832
896
965
659
852
205
773
326
356
955
650
821
977
117
896
726
631
268
896
49
171
239
507
795
496
40
626
269
125
480
318
590
271
396
100
728
139
787
406
554
525
398
748
24
746
547
832
636
650
37
729
726
704
31
204
994
166
671
488
902
935
18
100
224
992
666
813
83
231
942
471
267
119
209
194
479
825
183
437
447
406
543
468
501
153
372
116
296
453
113
44
870
381
808
371
94
747
350
220
891
546
361
634
315
558
98
359
666
376
478
192
381
273
910
943
316
132
140
581
422
139
700
786
505
47
901
987
953
610
502
905
818
203
354
793
651
767
307
841
793
918
659
668
656
510
237
432
657
977
977
846
70
480
523
317
69
303
930
484
581
919
37
686
426
873
453
249
390
931
370
52
513
989
651
522
867
835
679
53
576
217
521
875
600
590
813
565
97
585
651
697
787
474
432
642
827
872
269
136
119
497
126
49
887
59
239
731
598
237
769
409
975
294
883
392
966
65
584
237
984
936
738
619
655
972
670
378
593
514
602
99
454
433
985
619
607
689
493
84
303
44
996
489
129
543
386
192
899
868
516
531
830
788
823
519
36
702
450
549
899
709
789
216
853
728
435
608
454
942
436
920
422
245
625
806
469
412
540
684
348
457
98
91
528
2
797
303
303
492
627
628
937
810
322
180
674
151
810
508
17
48
959
117
757
53
781
798
608
933
276
698
159
162
12
214
105
150
347
133
341
895
922
927
561
713
693
722
484
256
299
290
658
307
995
334
91
721
765
472
617
452
428
538
9
822
770
312
315
55
753
286
800
634
862
871
193
205
509
292
621
632
211
482
732
260
934
498
62
615
634
297
559
597
464
279
597
656
605
618
476
576
934
272
587
294
990
514
979
563
844
979
999
415
486
510
47
92
295
541
284
526
26
354
262
507
465
321
71
400
607
142
564
642
738
195
616
266
308
309
189
402
846
694
172
35
460
273
581
299
642
394
721
242
234
728
351
299
361
191
717
685
110
882
554
541
489
371
805
937
981
135
870
775
596
595
644
227
875
981
452
595
756
223
305
361
532
155
523
797
409
597
894
663
329
282
9
454
778
189
322
134
286
559
754
520
209
762
422
286
143
237
128
74
52
920
815
361
750
917
81
504
926
724
214
894
252
936
921
243
510
229
82
815
813
364
404
861
198
125
833
565
860
370
899
624
246
842
991
917
99
987
703
825
268
791
981
469
773
552
803
485
197
622
495
14
912
315
625
252
74
642
581
239
566
15
585
585
281
797
910
467
247
428
479
541
65
851
876
393
81
155
28
760
499
665
463
29
398
180
112
482
206
725
55
303
758
952
511
661
487
290
611
32
641
32
187
532
702
842
888
217
299
548
422
187
24
690
627
869
499
2
355
17
924
913
890
831
157
185
715
81
6
6
961
282
88
222
818
753
46
889
500
912
370
16
105
209
366
170
863
944
53
618
792
605
881
805
777
476
214
273
418
11
459
551
781
852
575
193
358
456
434
859
124
6
197
292
578
630
402
93
29
7
966
431
213
119
654
233
521
233
878
918
740
215
866
443
219
911
346
310
814
661
899
155
787
959
27
756
68
900
835
567
966
348
903
429
414
660
603
690
353
435
607
796
662
963
812
350
366
980
229
753
496
885
654
778
62
792
94
898
117
653
989
691
738
234
246
459
98
903
977
6
486
14
629
639
246
198
870
580
137
997
208
411
539
112
824
620
257
973
501
25
424
490
852
666
136
605
288
739
30
697
271
275
928
4
458
567
99
942
266
817
384
638
248
31
687
17
425
20
845
540
360
219
932
21
369
159
422
13
688
641
439
912
832
31
541
293
653
676
90
961
801
115
277
880
377
610
321
441
598
566
152
486
183
545
176
145
990
920
325
816
169
700
674
540
714
677
348
634
835
866
313
671
20
135
918
822
1
41
732
113
89
144
290
384
513
509
865
587
457
643
289
619
468
890
105
42
788
159
96
895
944
925
306
305
627
635
218
750
486
9
656
626
981
243
341
273
818
766
731
689
855
83
972
970
536
147
276
946
94
897
62
564
758
864
516
321
158
205
17
455
983
140
48
656
674
504
794
783
625
77
615
441
901
417
991
297
989
132
310
697
452
955
116
507
652
497
12
63
900
265
457
804
499
391
111
441
121
524
227
514
910
520
808
769
493
862
918
104
811
258
561
757
315
474
30
971
610
279
457
673
57
296
604
549
228
696
576
503
302
907
244
673
732
944
645
70
497
538
530
414
296
958
519
949
876
346
33
838
489
383
316
251
171
333
321
404
119
866
230
618
962
564
656
946
125
681
340
1
796
580
305
458
257
206
960
61
426
141
629
132
535
35
328
269
790
703
385
355
709
732
691
46
591
268
919
631
233
500
85
513
585
505
167
620
473
288
354
690
960
283
648
771
139
102
219
228
389
16
868
232
193
539
441
999
650
452
819
19
701
818
383
137
910
825
487
630
386
820
514
346
31
480
561
575
854
915
669
572
534
403
751
524
750
593
102
367
63
266
401
23
306
156
643
520
465
912
326
3
55
21
502
793
860
396
39
521
658
364
527
849
309
5
799
446
119
156
964
693
938
873
160
56
853
851
21
212
636
111
934
735
357
235
781
655
690
582
758
242
464
219
276
121
977
713
686
260
425
594
764
392
555
3
474
166
306
8
507
703
795
107
498
242
434
695
619
263
396
649
465
791
885
722
752
626
902
157
360
838
253
767
713
232
593
756
285
408
179
711
273
706
842
534
138
558
394
553
742
747
334
699
285
638
247
417
107
687
721
945
673
481
973
681
779
49
616
654
38
482
174
484
255
697
3
846
153
769
262
142
237
396
455
997
279
929
848
232
24
878
757
152
248
986
315
379
208
729
801
940
863
607
66
993
1
698
868
425
521
713
181
499
708
247
660
903
253
990
476
812
185
430
694
60
603
967
196
87
309
424
922
131
11
654
844
9
757
315
691
950
643
919
861
141
673
938
401
43
823
82
166
105
989
894
489
148
521
416
794
613
476
33
578
822
537
525
97
613
811
22
929
10
340
799
277
75
225
806
546
741
720
407
220
190
511
53
549
329
676
526
872
987
473
919
677
733
236
784
650
655
84
702
40
964
105
92
625
80
930
235
478
692
347
357
462
365
725
83
144
442
501
754
355
360
959
886
168
17
826
532
456
463
967
426
524
63
594
554
517
218
982
256
455
892
597
29
755
478
964
963
78
986
312
143
156
151
264
403
21
806
386
546
730
799
415
495
219
807
376
904
433
609
606
395
216
811
904
971
762
508
640
136
607
118
680
884
246
439
422
77
458
16
36
649
336
71
288
724
843
565
929
13
421
453
714
769
839
823
559
191
962
401
208
421
611
884
53
139
988
609
445
376
437
397
875
346
431
783
941
977
789
435
889
349
47
297
803
439
842
880
264
412
908
153
382
176
8
713
629
103
704
250
857
602
379
837
162
704
345
253
64
956
170
359
545
665
597
557
113
6
546
444
947
573
742
139
601
704
427
153
475
327
503
298
464
117
155
912
757
477
723
563
772
232
112
492
587
948
524
288
28
462
679
655
817
592
958
703
746
920
127
864
903
280
359
433
390
815
312
688
797
491
910
772
952
540
295
808
103
606
152
205
730
285
230
767
676
360
415
982
102
258
160
855
88
169
431
724
352
847
560
772
638
272
593
371
845
305
752
970
825
912
621
956
102
789
559
818
478
6
598
997
578
832
800
972
945
8
643
524
188
591
498
616
35
925
686
993
893
435
911
445
629
699
93
635
883
724
751
560
139
396
131
984
172
853
202
641
247
932
506
616
637
881
599
66
580
266
465
370
827
353
888
864
278
296
199
563
68
126
225
636
597
889
543
973
683
281
328
853
997
765
196
609
364
476
440
168
384
199
960
541
9
289
31
639
424
729
739
299
565
409
588
4
118
342
276
624
684
744
112
406
54
841
875
582
245
787
184
214
10
348
592
309
23
808
715
827
848
154
633
916
93
721
741
618
862
366
949
314
731
695
881
395
1
66
271
983
885
848
312
48
662
937
60
953
515
603
385
244
966
558
121
520
345
540
238
349
686
830
874
461
832
824
22
949
268
240
500
768
408
541
602
616
619
919
476
181
284
527
852
828
568
695
215
21
378
522
892
169
207
616
814
114
161
720
903
219
508
622
142
804
475
69
365
769
914
355
758
340
623
882
833
255
820
283
394
152
280
597
629
570
112
623
998
786
29
780
42
622
211
747
566
510
571
682
920
312
277
46
264
875
910
952
750
805
509
442
562
741
62
325
597
248
717
23
385
530
91
373
523
327
585
496
507
752
526
645
332
312
311
413
679
38
449
792
768
472
541
390
240
230
819
488
521
25
774
767
174
283
821
249
669
995
671
409
887
993
297
470
390
640
934
623
158
841
559
264
95
329
687
385
21
450
129
941
312
25
535
336
568
437
221
202
956
767
720
257
897
682
998
380
836
782
58
974
706
268
917
319
521
145
583
915
272
633
708
710
918
107
59
751
788
684
791
978
188
505
811
857
314
907
174
42
854
887
528
522
823
735
149
540
216
249
970
141
79
692
314
343
436
535
770
822
332
87
741
439
911
282
728
139
82
283
333
533
794
66
302
961
386
792
670
923
771
641
202
592
448
734
899
505
466
908
271
660
491
424
462
975
85
117
76
465
137
104
721
569
157
950
890
752
791
85
772
913
493
359
982
105
761
835
12
828
718
335
399
424
112
764
237
160
1000
970
658
196
478
733
353
974
825
485
36
508
337
565
971
693
949
92
367
18
469
60
453
12
868
865
538
333
608
300
209
669
448
977
95
507
497
251
293
409
545
989
652
617
866
942
592
720
759
47
11
612
47
731
178
170
664
160
176
916
222
438
597
435
140
941
699
458
550
353
175
340
656
452
6
124
652
396
613
508
643
57
662
805
190
949
448
430
285
425
718
519
540
123
161
64
375
71
593
310
787
490
989
267
75
87
153
865
535
536
755
666
710
954
913
90
269
366
239
779
942
582
540
61
254
427
917
491
961
971
85
89
222
269
108
194
527
131
620
843
311
604
824
186
7
174
194
735
24
202
888
169
742
698
304
35
175
379
107
897
381
879
292
410
61
93
560
351
24
901
342
855
369
936
297
977
309
630
22
216
522
521
999
856
789
662
516
767
492
48
408
865
214
157
5
540
279
62
566
174
599
91
848
381
579
670
171
649
166
819
498
919
350
744
601
7
539
111
334
917
290
880
406
795
803
32
821
714
441
116
310
524
289
324
690
704
431
702
46
555
195
191
53
74
71
428
544
546
414
609
627
240
310
276
302
560
175
579
505
707
780
430
973
160
360
960
134
297
420
898
471
72
623
761
446
953
919
278
156
251
651
69
290
583
961
427
889
426
208
969
620
649
520
59
7
466
798
138
91
448
685
546
532
139
85
975
11
309
753
424
147
102
412
435
797
146
584
397
757
202
51
951
395
90
456
838
666
421
30
86
302
144
898
69
693
42
662
820
151
71
257
939
761
884
139
606
14
984
965
458
768
662
796
593
848
323
772
520
785
825
915
668
771
196
399
982
890
454
183
195
92
285
387
610
179
33
162
613
258
762
97
669
766
196
390
277
158
944
122
180
806
774
968
190
456
626
586
99
867
715
760
520
874
307
76
956
174
732
554
46
606
762
192
713
543
731
810
927
288
678
954
852
57
378
846
445
194
289
551
989
771
374
588
601
598
243
179
504
10
265
238
730
455
136
945
975
59
883
481
511
854
439
83
432
280
743
78
22
894
759
971
690
988
971
987
747
928
645
678
303
604
611
344
655
333
409
45
882
903
375
941
769
252
652
518
818
412
185
45
855
967
453
239
661
242
75
696
132
833
451
129
700
919
296
814
148
955
240
941
480
14
694
765
211
27
815
536
308
610
712
215
21
12
19
860
994
925
570
417
408
588
180
362
357
625
489
260
303
536
418
851
269
640
6
731
350
492
326
11
248
531
743
622
799
748
958
82
868
697
192
609
573
18
369
435
523
997
352
69
656
350
128
26
287
561
311
240
196
609
539
982
921
859
83
595
966
205
508
788
263
323
311
532
82
997
271
828
554
74
640
761
113
538
444
264
442
549
861
985
990
101
89
486
697
84
147
745
351
151
772
631
911
763
974
541
213
193
796
901
686
57
546
595
127
167
93
671
94
87
816
869
200
831
458
627
431
534
431
193
636
782
100
423
510
515
184
629
680
67
700
586
48
965
802
424
122
544
455
673
892
335
159
174
755
421
791
906
100
645
242
52
409
653
718
772
176
203
442
223
498
122
34
344
944
538
28
803
176
771
822
284
850
345
855
981
533
125
962
792
708
498
662
158
465
864
606
971
159
422
529
226
99
393
828
361
363
389
329
346
938
555
896
610
688
525
260
840
108
950
896
550
425
591
782
53
357
498
632
135
793
824
545
311
692
202
40
999
755
409
147
330
815
272
552
619
409
358
788
684
732
31
132
316
986
871
167
214
198
298
926
586
710
465
192
468
881
152
746
498
51
421
354
553
392
269
837
151
136
366
817
5
576
249
644
422
335
11
585
537
716
607
517
497
292
386
315
792
529
371
583
925
931
81
606
441
110
432
229
180
192
325
850
265
220
105
904
968
520
939
979
68
549
554
206
772
386
467
682
534
868
14
439
373
349
33
939
404
196
988
136
328
434
736
932
575
393
845
204
652
840
615
689
981
803
483
700
190
256
504
25
388
869
8
401
412
298
309
617
442
837
572
658
626
836
532
304
602
961
825
220
844
240
61
930
815
853
642
991
791
795
561
323
41
854
47
939
792
834
990
233
1000
604
527
589
530
324
51
318
749
168
141
830
909
955
636
511
952
389
115
988
510
982
555
343
964
360
844
357
388
348
99
56
79
136
475
668
180
856
249
597
565
120
495
184
783
410
570
810
348
727
9
390
70
588
98
418
456
251
623
479
404
82
764
631
588
61
117
91
915
756
168
449
422
533
320
18
800
357
738
998
516
352
886
825
117
135
587
490
936
86
869
595
822
901
614
625
952
172
297
260
35
298
647
521
426
713
152
224
767
282
688
514
758
725
450
223
608
106
549
396
493
733
324
651
103
318
438
928
969
861
311
792
812
538
294
719
594
804
252
664
284
40
922
788
644
334
479
448
447
402
224
398
674
231
234
695
135
758
82
1
914
788
468
770
756
397
697
363
264
269
476
241
328
755
424
211
745
993
13
180
378
48
414
975
529
905
847
565
436
81
610
474
901
809
896
250
127
995
891
600
774
635
400
215
71
968
434
363
617
397
785
43
115
153
569
860
909
730
160
833
603
355
700
996
482
159
604
18
694
232
77
65
371
482
690
770
959
28
484
488
25
924
908
982
737
118
130
318
3
948
915
1000
10
873
302
333
510
870
791
590
752
624
582
793
388
677
725
833
33
740
668
210
434
683
806
900
322
94
116
693
140
927
845
933
762
425
541
715
240
454
407
472
384
383
81
380
658
869
471
136
512
259
177
515
732
818
406
530
834
688
972
185
827
281
177
564
894
818
868
437
692
828
959
660
971
751
58
391
185
228
597
543
608
238
75
971
217
63
564
571
263
923
652
891
43
231
369
826
819
648
463
707
250
489
576
400
957
586
524
26
62
429
854
608
611
220
323
199
826
538
754
66
11
447
965
91
787
219
119
849
32
319
892
745
523
943
313
186
862
189
984
28
641
897
694
397
208
286
67
602
617
802
4
29
530
988
163
782
870
774
600
404
55
313
9
128
451
382
713
24
544
392
648
845
952
293
141
555
58
951
155
336
502
160
76
328
211
65
785
466
957
625
968
589
643
713
106
394
661
607
617
929
710
890
904
42
370
255
914
623
622
307
925
533
223
207
904
815
520
943
745
184
864
64
100
778
230
970
321
889
73
212
224
684
682
822
28
959
536
387
802
606
234
421
228
774
592
637
279
706
388
844
672
806
98
566
598
812
632
927
286
863
757
1
400
842
407
605
151
627
525
495
280
787
428
980
707
816
963
289
781
206
844
403
504
561
657
644
33
436
994
88
38
821
39
673
234
984
722
20
478
924
264
82
387
802
511
183
326
563
974
453
964
398
908
376
327
831
67
974
439
1000
993
136
165
122
857
747
855
224
863
539
749
990
206
83
844
948
392
892
148
290
516
417
792
363
727
600
467
179
682
748
69
394
287
710
211
825
369
734
485
958
233
914
958
888
240
855
428
756
654
25
366
117
977
275
325
567
960
199
828
643
223
297
380
246
216
418
334
791
810
569
752
878
409
6
320
510
869
419
595
809
880
200
574
732
714
973
648
488
419
43
485
265
577
953
292
358
751
112
202
31
593
288
247
220
409
870
482
746
623
945
349
806
230
634
305
365
789
615
62
497
956
454
528
881
836
161
676
405
695
409
152
300
674
950
337
270
203
87
993
889
730
493
366
882
262
284
801
13
950
12
515
986
601
168
144
157
593
844
106
875
132
457
593
952
152
817
223
121
477
349
19
298
35
4
367
173
13
246
48
911
861
484
285
750
946
540
967
876
488
19
855
257
131
962
654
37
126
782
246
677
642
287
308
312
169
538
739
637
319
401
48
258
585
914
919
615
788
2
663
469
997
660
142
493
690
452
93
645
804
42
453
908
100
561
406
406
968
761
406
117
392
308
352
189
314
47
417
319
15
771
775
809
482
813
626
659
942
802
449
512
860
28
404
354
759
188
123
605
140
689
951
663
647
348
836
999
353
43
660
644
741
810
810
240
481
959
159
916
602
2
444
862
35
581
227
879
788
126
248
145
189
672
993
93
774
127
733
618
347
280
104
789
697
32
581
868
252
629
779
700
667
181
637
509
1
377
935
679
637
108
517
385
577
638
802
820
66
112
903
333
766
403
709
10
867
760
800
93
567
268
959
161
369
871
326
207
460
607
982
536
297
725
828
966
149
579
176
908
993
534
372
760
638
628
123
491
375
436
916
400
760
351
101
862
371
536
706
245
507
899
71
321
812
757
704
223
797
292
560
399
26
528
102
75
526
293
119
477
627
575
207
391
14
744
286
714
223
335
265
297
231
501
216
748
43
759
13
848
384
367
419
875
715
534
24
477
759
659
281
655
693
978
122
73
912
320
272
173
56
145
443
522
577
702
50
385
679
891
931
796
909
426
864
277
11
937
313
920
921
963
933
784
947
188
868
393
224
825
736
683
535
836
536
911
446
511
388
901
503
5
159
454
928
616
518
972
844
966
918
83
574
721
329
573
957
196
255
27
958
989
778
364
61
784
842
888
57
587
32
576
900
972
389
44
221
342
639
72
948
839
343
594
243
274
84
812
618
401
787
413
648
892
662
959
217
645
74
154
551
408
832
56
625
271
18
291
713
263
498
998
931
158
670
505
649
598
863
751
544
819
997
36
901
578
816
24
473
378
5
791
846
707
998
353
809
820
117
328
642
526
993
300
610
554
842
14
186
350
309
731
704
540
45
969
192
921
79
371
132
511
377
607
748
140
655
107
230
56
644
862
979
256
527
726
576
584
186
438
658
169
234
63
309
435
555
657
903
735
198
760
532
666
51
736
303
221
658
85
817
274
911
583
94
299
128
534
27
874
198
441
255
234
49
161
951
113
706
950
623
142
574
841
497
323
413
486
403
491
648
937
421
202
299
826
679
208
820
64
837
518
567
500
789
58
452
915
989
134
573
393
689
185
260
347
36
850
24
438
649
951
361
204
822
842
226
479
913
481
246
555
887
720
453
637
172
548
358
328
190
462
719
761
979
692
208
539
292
763
526
796
450
735
191
571
992
550
360
150
885
55
541
208
636
692
17
387
150
297
91
392
612
175
35
845
957
392
766
893
747
255
794
984
382
39
997
370
610
366
87
572
259
41
454
511
946
799
202
25
283
147
810
219
745
424
831
488
968
276
425
44
667
961
342
494
797
294
161
337
826
600
224
269
196
715
717
800
163
954
752
35
176
979
199
420
899
637
174
871
780
214
817
984
802
983
971
985
675
600
902
617
267
668
991
464
520
755
671
76
434
263
503
839
963
775
401
738
839
984
486
49
380
818
958
496
343
156
678
635
734
394
833
18
309
166
217
242
142
737
136
80
287
921
901
768
34
913
202
924
675
77
375
739
17
557
752
852
113
572
804
733
785
383
770
517
581
214
816
958
721
865
533
601
456
358
784
286
23
722
463
866
999
934
736
353
494
120
733
753
24
348
443
536
339
719
794
11
734
30
496
904
590
966
259
50
957
635
414
463
31
283
810
976
272
184
84
287
715
33
62
523
775
650
90
359
461
425
556
330
450
769
727
214
924
730
303
273
408
88
747
699
116
480
562
811
464
526
147
454
478
520
778
549
802
957
550
930
881
71
843
483
707
600
958
28
155
194
124
623
611
224
969
698
18
303
923
959
938
438
711
76
518
619
289
975
476
590
83
987
348
704
380
167
288
48
82
905
644
487
771
272
374
867
272
693
144
399
409
168
591
132
704
711
802
545
127
647
559
476
817
123
233
23
899
524
550
567
148
478
599
815
254
784
584
554
881
915
798
874
539
722
239
765
542
549
72
306
938
299
899
172
395
890
393
803
438
141
431
380
335
374
246
705
168
926
537
177
331
323
664
344
765
76
259
896
716
940
640
567
730
1000
380
132
879
146
272
577
910
309
714
559
161
366
243
487
561
742
509
883
2
572
533
238
660
733
470
193
637
185
432
762
376
846
128
232
905
651
256
558
904
525
543
359
949
791
356
41
64
866
584
220
887
241
291
349
349
374
278
393
725
571
278
463
354
903
954
537
87
918
285
819
754
250
180
800
549
207
370
782
253
92
728
527
631
302
146
636
196
237
59
509
746
656
465
987
748
394
59
323
667
312
707
719
839
909
23
501
297
307
267
900
280
187
113
583
802
848
110
277
738
752
796
287
410
808
520
268
493
150
982
347
422
397
383
579
150
151
866
763
233
77
634
848
741
964
696
503
422
65
732
967
872
414
971
916
207
985
263
966
874
296
802
369
814
535
43
607
96
353
412
901
568
212
343
83
795
597
39
884
745
454
79
474
284
917
700
983
496
780
94
833
273
194
584
920
396
738
897
80
563
371
36
829
400
770
463
58
543
187
388
198
286
309
965
438
138
532
120
685
854
699
542
328
162
639
86
324
463
760
486
765
226
549
797
891
678
90
430
454
645
580
998
438
97
436
434
424
10
740
28
284
658
702
58
480
358
298
703
969
959
451
792
600
108
973
702
944
418
950
468
675
194
438
706
15
300
126
496
224
70
106
770
816
929
988
55
2
511
402
671
825
625
354
593
620
387
973
218
692
170
978
256
585
838
550
757
903
859
386
99
408
521
417
374
51
426
29
207
658
857
693
515
219
407
554
70
130
458
883
35
270
735
313
848
501
150
404
882
35
613
405
370
125
278
53
942
695
980
858
990
872
215
610
750
850
107
775
662
136
244
40
77
74
126
517
841
424
254
3
619
947
553
279
89
158
910
625
289
855
94
609
479
600
230
737
832
64
287
731
175
22
752
46
766
847
790
738
795
537
694
934
890
673
351
988
425
222
815
848
825
743
774
293
386
436
876
491
355
373
422
723
137
473
883
266
538
10
69
116
903
939
556
682
827
895
136
618
916
516
664
676
697
636
626
846
361
981
195
67
507
224
304
489
403
654
497
586
599
247
919
448
905
638
842
199
846
332
525
832
701
529
79
680
175
82
197
405
531
458
303
631
766
23
694
300
15
638
713
418
941
335
873
98
264
786
91
724
973
391
900
598
999
86
571
677
291
359
561
852
296
572
631
759
848
400
226
312
306
80
478
955
608
230
259
161
578
171
251
846
418
60
936
159
845
655
722
611
726
183
167
594
372
628
424
133
913
736
562
163
254
147
371
674
203
399
664
868
256
956
801
824
402
53
381
259
67
895
623
683
947
667
921
603
87
895
489
482
12
929
792
820
96
691
664
94
654
401
654
252
429
668
123
153
231
207
81
615
520
459
555
729
596
527
534
702
922
217
189
772
788
416
89
682
176
679
631
778
226
724
733
58
126
436
126
384
621
127
264
641
565
46
926
853
126
541
112
98
307
882
694
654
424
443
615
923
57
868
111
590
782
865
565
905
690
484
115
188
275
81
61
425
806
702
455
304
691
259
993
172
664
733
476
150
847
587
669
96
875
731
311
197
301
663
435
693
446
865
914
676
704
147
291
946
63
374
606
609
282
956
839
513
702
531
56
600
174
524
95
978
946
638
871
829
633
884
971
270
622
455
239
965
308
604
486
553
612
709
273
949
114
846
981
202
958
576
1000
852
417
53
930
670
622
277
174
277
518
52
103
338
515
188
322
995
696
586
167
686
660
106
713
791
267
535
5
355
597
561
169
706
427
361
315
946
400
334
899
154
847
534
282
620
915
551
776
598
265
969
379
852
80
20
734
769
570
733
594
902
449
697
215
606
102
550
642
850
275
420
840
396
171
870
947
264
768
315
726
814
22
519
463
846
390
512
126
812
739
207
620
626
307
69
326
580
830
403
958
547
347
247
957
21
471
360
238
509
99
534
175
459
663
293
87
226
988
51
350
524
769
996
484
450
469
253
225
435
192
407
623
419
680
54
691
128
163
893
964
595
180
775
628
943
894
274
526
37
630
566
467
816
567
862
708
971
536
184
418
200
914
21
206
416
406
285
521
157
366
33
819
925
948
615
963
334
8
278
185
783
163
748
325
781
840
3
772
248
450
263
687
815
65
199
646
654
82
515
774
391
412
351
845
472
675
374
557
683
713
90
384
653
506
600
996
832
236
9
210
838
791
728
844
78
507
158
649
262
296
628
687
713
610
6
152
446
887
109
653
580
201
866
381
992
881
242
458
73
729
69
948
80
322
264
720
833
597
403
345
483
526
241
711
608
259
583
880
202
531
850
983
984
480
773
653
28
297
959
528
935
257
430
895
633
781
869
418
414
135
991
190
21
243
383
78
421
909
171
415
401
396
91
644
279
944
892
424
840
277
507
51
53
610
108
784
265
926
967
806
339
566
57
120
641
269
424
604
861
874
698
861
421
784
529
216
600
200
354
442
590
843
660
331
397
569
839
263
881
829
776
270
250
429
582
953
15
384
245
752
754
997
514
746
21
422
53
136
396
144
743
9
987
748
17
817
651
291
295
235
817
419
916
704
106
58
414
44
824
183
672
940
50
660
223
995
247
638
983
317
247
287
741
258
20
953
48
38
844
949
536
451
373
275
278
760
627
532
539
188
104
178
147
102
77
48
770
145
598
777
560
26
935
326
16
683
924
364
400
784
230
619
721
347
599
675
139
348
984
875
600
771
848
160
660
498
46
663
768
806
435
870
685
2
756
974
379
916
407
808
448
548
415
416
64
141
331
883
521
378
744
507
668
177
849
804
921
771
806
81
84
384
641
552
907
826
95
32
170
755
125
269
95
202
743
885
44
165
479
698
810
760
59
942
266
439
804
523
790
258
848
974
675
41
535
234
664
548
234
715
908
443
404
368
827
938
919
637
864
466
560
246
619
652
112
741
633
142
660
577
952
550
564
364
663
913
31
519
773
556
427
230
185
197
212
92
10
449
891
235
154
637
487
26
902
953
806
709
250
578
215
427
845
302
743
140
679
577
49
872
166
701
214
595
812
984
384
780
447
365
984
334
935
915
604
198
317
55
709
349
609
149
961
346
835
290
337
820
434
765
178
538
881
664
989
720
216
552
100
349
176
938
274
69
822
518
972
135
842
837
246
561
231
18
190
269
645
724
456
565
562
329
585
713
303
582
817
732
83
708
599
782
523
974
222
691
485
240
905
211
641
912
140
588
941
15
338
905
30
805
631
438
698
460
179
963
651
920
503
544
253
844
161
852
404
22
552
455
358
284
757
848
173
126
105
223
384
791
584
91
705
536
312
921
812
153
17
888
716
591
907
687
871
717
330
111
876
803
382
759
593
362
957
808
561
304
789
253
798
216
701
398
521
780
627
674
791
918
971
49
856
331
511
384
775
478
380
115
940
901
600
530
271
30
295
740
203
245
967
166
36
41
152
990
891
573
387
551
274
754
635
129
227
317
243
871
147
948
50
910
593
692
502
863
860
280
461
969
639
975
980
93
832
791
439
725
469
678
338
860
734
359
489
359
281
42
533
976
406
150
508
759
126
530
663
908
921
381
828
545
665
236
431
15
325
928
703
520
74
399
669
877
811
595
308
180
498
439
641
945
353
83
578
129
682
184
73
8
68
971
487
533
694
240
127
210
830
248
573
949
871
642
765
609
895
209
823
167
379
246
218
514
569
753
218
919
51
521
513
87
175
395
537
561
375
662
269
954
855
537
262
104
790
217
212
806
959
796
636
198
684
637
127
235
59
453
234
940
726
439
189
285
835
301
621
609
452
889
897
469
374
473
918
700
213
406
54
223
643
13
374
869
923
88
507
53
149
284
264
651
207
53
607
852
67
475
708
57
883
516
580
129
349
780
221
433
892
768
293
134
583
48
107
167
92
498
95
130
626
944
995
135
545
132
706
278
274
933
131
978
203
95
361
903
497
633
234
584
131
199
650
96
1
334
6
385
667
569
786
919
142
748
638
336
151
778
239
687
451
267
878
681
135
127
947
61
312
307
498
878
210
244
565
957
532
515
255
296
838
419
460
493
852
908
654
536
844
365
399
469
645
228
118
504
460
317
153
120
336
85
384
589
64
653
456
124
310
663
210
568
2
460
41
116
316
64
723
89
155
724
702
175
660
573
998
861
126
65
594
47
681
408
692
895
205
192
220
72
298
741
814
432
499
515
819
68
637
60
972
402
876
572
116
646
15
153
671
535
615
213
627
708
794
280
493
489
908
705
989
110
875
323
254
607
607
198
16
726
864
974
449
165
866
204
440
408
157
255
587
218
556
46
543
568
483
922
239
429
626
420
137
388
668
556
876
462
775
526
603
883
634
394
840
833
97
423
934
306
913
191
27
313
591
537
9
642
188
672
100
252
678
510
533
167
632
379
342
439
114
801
369
325
65
949
453
361
961
724
203
393
200
140
889
969
488
843
765
695
495
142
571
322
166
902
46
327
386
984
46
720
139
723
236
657
907
84
431
178
819
732
319
67
984
241
725
380
504
53
558
691
914
620
315
446
160
339
300
131
796
539
769
148
755
770
828
378
933
92
233
427
803
884
209
458
488
928
27
330
3
187
344
496
895
723
268
721
119
687
679
236
805
147
598
394
498
813
289
208
587
390
355
441
869
365
279
67
649
529
763
983
315
438
721
825
98
299
979
646
570
494
582
960
520
65
79
378
25
994
349
657
879
48
304
473
98
289
296
655
826
99
162
929
856
677
628
442
919
585
218
478
35
803
929
789
543
171
634
934
849
845
640
858
530
566
820
685
246
141
519
377
758
514
754
479
488
189
285
615
253
603
817
838
206
207
911
145
554
677
219
734
334
661
268
637
368
906
354
370
550
454
78
173
775
814
649
207
135
683
386
812
521
822
771
566
376
164
3
394
144
97
237
453
931
121
625
840
971
766
785
442
776
746
603
404
250
790
82
744
646
528
541
650
936
53
592
828
110
550
211
114
897
460
697
191
667
160
461
908
568
111
401
160
520
707
104
738
313
829
191
826
912
257
968
99
27
607
897
475
176
476
582
602
727
780
628
140
886
94
198
702
179
951
118
117
765
630
102
294
806
999
60
580
227
309
434
932
405
700
267
646
719
341
958
641
456
768
737
502
237
989
500
579
15
366
952
463
678
100
11
23
489
396
998
76
905
33
453
421
789
101
339
626
691
146
977
510
649
800
323
660
914
283
87
717
119
791
748
393
662
923
760
347
504
730
82
117
141
926
722
291
272
38
158
954
525
50
335
249
699
133
437
598
144
660
807
688
264
539
151
878
662
314
683
50
77
170
939
281
130
138
816
920
845
354
774
774
62
182
282
168
157
369
291
565
927
172
949
287
100
579
829
642
711
332
641
413
480
431
785
221
426
215
130
787
164
903
91
449
729
702
387
616
317
172
922
1000
27
608
812
602
547
568
946
398
736
563
406
602
237
117
706
203
561
97
74
173
574
214
965
413
965
106
533
987
47
233
104
697
208
120
526
347
440
128
889
326
607
54
291
307
582
312
200
903
904
365
511
115
376
383
555
276
898
789
180
986
874
489
505
225
726
93
111
429
427
372
237
807
441
501
25
627
168
418
960
451
781
738
450
599
350
236
919
184
272
856
864
142
316
583
102
597
67
268
803
777
114
686
989
405
154
680
891
210
24
252
912
723
835
822
995
16
526
724
864
425
622
174
955
569
467
585
839
189
934
112
616
419
459
753
35
93
258
133
99
640
765
378
498
886
643
102
526
861
202
583
44
283
704
693
661
981
826
956
542
909
493
443
162
803
418
836
881
744
919
101
418
76
46
706
215
194
579
194
152
680
216
235
309
147
169
995
283
952
382
763
75
615
855
299
719
376
841
302
620
851
256
712
57
136
275
329
399
29
926
342
397
275
468
938
304
864
490
109
721
432
950
146
757
786
819
64
543
406
618
404
160
519
892
412
794
40
568
612
266
194
246
161
145
152
685
195
317
351
141
572
226
504
749
34
19
439
859
836
442
59
73
307
694
689
757
653
356
992
956
538
190
463
988
638
832
218
450
404
377
446
21
733
408
405
238
110
315
299
367
52
591
726
612
368
425
624
139
824
49
823
845
293
246
367
356
376
888
738
465
760
603
18
133
317
489
781
198
25
285
218
140
357
599
593
615
661
540
637
986
438
637
875
726
114
993
244
424
96
428
529
75
414
807
321
509
233
808
204
67
869
168
841
116
730
824
472
583
760
432
75
458
565
474
139
128
370
511
530
495
377
198
414
37
869
333
602
386
635
577
932
518
881
457
532
370
853
945
871
537
764
177
549
729
519
881
646
830
912
688
305
723
659
764
921
545
639
166
957
637
228
884
926
298
421
817
534
348
735
778
324
657
575
252
418
38
788
777
100
315
661
753
83
970
488
957
231
492
149
273
439
444
833
952
109
309
177
240
395
358
583
341
963
183
431
515
515
992
226
562
770
485
444
67
861
924
11
563
383
998
889
206
409
225
192
637
877
937
642
461
635
311
923
173
343
557
677
425
135
114
479
242
624
611
92
153
411
465
728
265
719
178
820
949
152
812
29
191
867
641
820
618
660
705
974
902
520
822
800
516
262
652
675
811
718
546
777
989
820
272
485
840
589
163
24
18
721
878
359
258
967
784
197
159
941
871
272
61
374
263
703
120
51
622
359
881
838
181
603
539
291
698
720
596
296
367
608
805
57
611
50
137
578
712
956
10
422
458
534
158
184
306
236
343
562
117
673
562
378
154
448
539
183
873
965
68
302
14
858
185
334
644
630
283
126
95
442
980
198
173
791
989
454
663
972
287
737
855
795
592
488
809
53
539
303
78
589
957
673
903
642
356
573
232
347
62
829
500
877
427
429
771
752
210
989
726
238
523
638
982
622
718
456
400
364
182
454
353
797
325
783
431
65
942
492
675
480
756
704
235
331
166
507
293
429
150
219
214
391
816
922
123
703
320
345
553
125
744
227
361
877
38
261
862
368
343
620
998
897
818
834
421
929
630
483
556
8
884
773
68
347
98
574
685
428
300
886
974
713
919
46
510
696
457
194
850
87
330
648
877
865
378
880
336
325
283
727
894
973
543
307
596
359
692
891
406
457
204
608
403
234
856
459
305
446
379
576
208
450
896
36
814
110
995
841
987
413
281
852
143
477
889
578
870
48
786
713
161
407
608
235
826
865
445
687
975
645
231
8
926
37
352
871
569
126
667
69
953
296
381
883
886
964
127
769
370
677
154
902
10
790
742
313
933
436
851
411
327
381
514
647
448
679
681
974
828
735
79
531
460
498
104
672
936
39
975
63
879
681
133
74
501
192
375
109
821
283
304
825
866
809
491
410
184
611
131
252
140
896
113
324
719
433
146
574
81
595
979
471
631
448
846
581
224
709
941
739
961
328
132
920
158
901
135
420
289
878
66
312
84
765
603
433
509
121
38
357
67
180
84
904
704
344
673
746
609
634
923
561
396
427
47
35
443
439
317
709
677
987
64
310
704
6
337
748
4
150
60
378
845
622
447
502
667
991
978
338
979
391
478
813
205
958
685
651
503
264
249
166
295
810
268
61
179
347
312
325
866
897
398
998
54
902
510
205
475
800
81
307
853
717
321
495
212
661
386
428
769
774
178
740
643
738
980
397
757
393
241
897
567
990
557
256
762
271
311
582
614
743
481
765
498
98
852
516
939
731
236
508
693
670
328
888
543
83
516
769
922
684
309
640
983
26
25
780
456
629
56
902
499
385
330
219
729
456
538
72
818
158
350
53
358
954
90
274
160
732
297
107
832
5
173
184
217
534
178
963
282
140
936
464
115
162
160
49
960
78
543
292
647
316
408
39
343
174
469
724
276
54
205
926
987
946
220
876
688
195
446
379
531
111
189
169
916
911
851
242
509
807
605
120
300
808
444
303
839
922
772
421
805
45
175
681
158
708
73
292
464
304
725
451
383
108
427
345
970
643
857
374
148
473
169
453
682
551
878
837
10
584
553
357
565
739
50
374
568
169
345
1000
841
488
32
372
892
333
195
824
354
576
681
837
905
577
764
534
940
122
804
328
610
332
803
36
304
860
675
411
313
189
640
573
181
671
422
273
227
242
791
268
799
413
599
328
113
226
638
583
920
347
528
954
846
374
395
419
962
720
247
709
41
170
816
852
990
291
148
643
161
419
336
739
588
867
630
573
719
320
630
689
874
142
351
432
492
452
776
129
197
379
914
51
880
867
480
458
256
763
70
995
811
700
87
531
696
445
763
312
826
984
309
946
420
601
608
303
255
586
907
897
154
45
624
692
615
446
753
556
27
198
317
790
627
540
7
240
192
469
429
531
503
254
345
842
746
342
951
486
387
75
457
267
486
727
223
218
110
796
266
865
250
367
199
600
630
641
584
93
881
361
224
942
832
10
146
894
75
95
889
64
552
740
246
541
624
141
802
651
990
85
421
924
847
919
369
530
903
819
894
519
201
167
887
715
213
162
734
539
365
540
569
332
935
424
938
983
297
859
301
803
567
572
893
601
53
841
231
890
329
130
921
979
365
339
517
459
913
83
875
269
272
405
818
90
615
737
980
269
305
717
349
888
14
669
385
859
998
182
603
107
581
238
125
37
762
759
53
454
869
297
461
22
359
799
425
188
170
54
798
183
534
464
371
374
795
242
635
768
540
13
629
899
361
41
257
688
597
20
991
132
739
409
138
815
549
809
678
318
546
764
237
572
235
669
934
89
338
182
667
768
346
645
939
693
889
543
430
930
792
955
365
809
206
293
187
635
837
337
151
58
173
764
255
547
535
874
341
582
967
206
300
177
228
94
61
295
642
970
433
596
127
413
965
666
525
524
653
578
247
192
740
168
323
207
864
925
215
992
487
725
73
918
902
961
724
798
79
804
344
152
299
419
637
289
813
982
333
66
725
231
39
432
949
132
733
500
323
941
728
968
953
572
545
123
391
743
931
581
549
787
207
135
125
366
258
801
886
610
690
203
367
316
169
951
423
955
459
551
581
188
466
678
355
462
446
382
494
64
589
870
656
694
416
60
134
210
722
20
89
718
390
725
197
574
995
326
742
200
1000
263
969
823
288
82
945
382
936
823
253
901
416
162
630
531
870
284
999
354
704
648
481
760
508
363
615
905
237
902
448
292
656
286
142
14
283
629
456
565
455
201
775
421
685
737
399
774
175
748
407
908
216
45
747
716
203
473
187
753
182
137
337
52
144
12
272
643
795
910
204
354
146
208
239
5
62
625
510
540
876
603
873
12
249
507
920
566
771
972
272
745
147
188
993
498
463
819
488
255
691
560
435
305
530
29
154
501
690
825
283
7
953
83
816
415
678
797
359
30
942
520
903
581
180
757
576
886
8
574
572
258
885
414
924
543
437
158
860
740
515
765
223
83
557
622
867
296
397
922
967
540
438
955
915
166
25
181
854
5
933
374
900
372
105
906
824
367
181
452
284
303
877
22
685
322
999
231
443
342
723
160
670
480
773
982
329
5
326
768
495
717
766
549
634
331
914
729
764
113
986
443
944
525
340
286
782
97
992
118
562
73
34
339
137
660
300
100
976
834
85
394
597
759
276
903
163
834
982
729
195
253
664
896
207
767
773
577
547
16
136
560
909
416
671
367
755
55
518
793
382
511
372
340
479
779
581
216
799
742
606
69
997
756
539
622
790
920
685
710
342
592
661
25
156
529
80
9
853
779
625
962
895
156
282
383
715
634
518
988
717
531
479
623
317
691
628
532
518
174
808
11
523
163
415
545
528
879
207
913
176
322
313
608
68
532
142
140
419
933
256
438
145
991
714
635
675
88
65
953
328
30
930
284
349
57
101
338
621
568
148
894
605
28
826
772
285
689
972
654
785
832
158
750
812
176
111
621
311
39
778
183
521
558
978
24
143
17
772
679
468
904
38
456
136
828
258
711
642
850
188
240
868
76
897
571
637
606
678
519
781
61
416
301
271
916
349
884
703
865
563
22
858
229
200
576
99
224
108
342
79
547
565
571
625
293
820
756
670
714
403
99
809
694
528
228
379
108
497
395
964
423
686
374
903
993
544
727
637
513
79
920
758
9
442
22
197
542
564
369
288
550
275
611
385
367
984
39
275
999
762
924
910
682
666
914
854
81
204
162
423
277
131
974
693
802
183
259
448
100
915
923
635
726
552
689
110
495
658
514
276
576
456
896
731
218
834
870
171
387
440
435
637
108
781
493
630
714
881
83
750
513
929
887
315
624
282
505
800
845
352
959
91
464
194
259
239
868
59
634
838
639
785
188
193
595
659
360
177
895
318
515
20
884
291
425
334
837
76
175
332
132
971
255
574
684
478
195
528
641
747
140
930
474
432
172
205
548
306
36
185
242
174
143
5
422
933
395
293
878
126
407
742
887
954
176
727
669
529
94
881
892
70
485
436
763
888
530
717
490
226
495
376
40
484
709
818
232
896
598
830
121
477
409
574
551
947
943
962
526
372
760
937
737
466
798
316
190
867
322
675
376
189
408
223
847
345
951
724
362
443
275
313
12
546
39
480
844
733
37
598
550
168
888
100
728
368
367
830
70
432
305
149
585
782
579
82
632
876
694
179
93
427
851
780
508
894
211
68
361
403
254
621
983
795
769
197
765
200
5
96
431
396
963
807
147
212
628
570
165
425
191
113
488
904
935
137
787
246
546
999
434
791
21
687
29
685
263
394
270
615
678
912
335
964
781
642
222
356
925
194
652
26
711
466
182
993
566
592
190
760
277
338
237
145
950
376
118
903
13
353
603
981
372
825
455
629
778
941
838
64
779
235
624
110
386
978
429
999
711
356
428
551
402
151
144
54
652
699
418
482
909
648
733
125
220
443
900
317
282
511
864
710
866
873
73
459
295
219
391
768
9
578
27
458
87
354
332
627
792
851
594
8
805
421
155
319
870
6
290
787
959
152
251
994
918
569
844
417
809
880
689
306
772
544
32
65
319
813
642
919
402
217
825
448
487
295
61
521
110
203
82
268
93
382
504
995
657
695
268
348
181
308
191
645
232
113
955
975
810
690
679
607
440
627
68
237
885
537
757
861
736
241
141
364
112
408
422
470
978
415
51
342
385
292
58
951
33
416
974
326
149
44
178
917
599
860
565
611
541
466
333
386
680
157
574
191
369
353
72
409
387
813
412
175
211
98
39
897
984
792
387
564
207
679
599
801
364
399
609
186
325
117
583
44
377
391
795
779
166
726
26
833
680
273
474
513
601
756
13
267
53
985
311
463
791
242
994
366
329
437
558
798
401
149
170
926
388
600
858
715
39
148
838
851
883
109
895
379
241
597
786
830
615
583
628
395
544
572
105
544
747
131
95
578
439
11
50
755
276
729
27
35
278
325
782
955
432
446
761
849
407
37
129
448
947
714
192
852
101
297
728
28
348
107
743
290
88
348
139
624
722
324
605
379
713
274
823
577
613
350
722
20
46
617
81
442
979
986
274
213
492
688
312
441
392
213
626
915
685
664
229
985
903
101
7
374
737
791
861
891
242
206
379
213
127
283
482
207
289
678
263
770
794
750
822
767
984
529
482
479
225
234
162
891
108
766
85
290
588
179
201
861
599
349
923
432
225
928
779
76
348
188
618
995
37
578
840
27
630
617
925
140
573
266
246
484
616
78
706
931
874
221
293
543
618
944
21
72
364
175
58
432
20
717
69
58
353
949
926
203
47
26
961
520
936
307
922
731
813
169
573
780
355
404
708
643
316
116
956
878
110
415
347
76
309
219
64
603
385
176
221
419
224
51
748
289
573
911
689
420
569
111
303
396
967
390
371
310
480
329
14
152
906
91
155
840
354
590
469
767
933
204
306
367
730
734
607
995
761
546
266
392
855
736
752
59
104
743
44
194
603
17
119
210
671
236
270
449
679
110
523
447
867
957
306
979
276
120
288
151
16
755
17
35
619
695
590
664
146
901
57
746
64
462
724
93
632
258
796
638
685
137
33
825
270
943
250
360
521
763
481
563
554
570
616
21
906
787
124
872
233
399
286
767
567
928
949
521
421
975
455
514
404
48
827
134
848
94
672
963
134
479
582
918
9
170
965
298
232
517
379
497
299
344
391
215
826
36
964
106
416
905
127
174
490
431
454
684
583
871
474
11
104
351
698
617
396
794
370
325
202
917
415
158
348
138
290
253
493
395
632
805
327
799
643
563
470
531
133
128
632
611
27
182
298
988
917
851
331
900
950
565
388
614
908
174
982
450
895
551
351
486
395
630
39
428
831
596
239
937
954
984
485
124
529
528
270
22
820
943
495
581
313
223
446
148
976
705
179
446
95
840
743
787
412
608
707
618
809
516
808
527
327
405
366
544
614
657
325
872
239
925
348
220
475
235
490
534
248
152
321
252
982
711
259
155
942
987
91
538
529
510
299
663
686
202
888
425
205
157
821
741
274
374
98
405
23
505
715
89
197
803
476
687
336
669
670
454
990
693
148
235
571
575
198
628
433
111
951
93
623
274
736
875
554
493
913
88
540
402
266
488
708
722
920
233
357
432
112
438
189
39
876
420
188
631
843
323
144
315
905
242
940
839
474
68
750
447
393
1000
271
488
366
91
908
904
922
257
644
486
520
880
939
686
402
507
597
885
179
207
18
215
944
783
591
443
924
416
338
942
277
306
44
516
680
505
241
663
766
490
429
886
315
949
794
845
323
893
528
444
751
490
571
451
763
943
224
865
771
321
611
60
418
522
436
668
944
403
789
280
37
744
55
306
337
845
101
740
298
500
11
185
952
575
598
171
464
613
813
750
57
747
943
344
991
671
194
39
834
592
852
899
139
888
712
340
30
672
889
315
888
560
426
860
522
752
360
550
705
950
8
533
985
725
299
127
966
701
905
383
88
329
772
673
85
77
416
60
875
576
3
189
648
646
796
468
290
136
46
565
105
221
746
618
987
107
1
117
816
138
910
98
878
889
4
157
514
215
238
809
77
118
492
868
464
967
327
867
176
867
464
14
896
902
106
804
24
572
738
233
491
2
481
465
433
383
450
955
978
690
791
259
498
907
253
201
149
896
206
637
438
545
996
782
831
32
416
960
154
880
832
681
627
968
232
142
912
824
23
619
468
338
956
711
842
480
910
88
282
761
643
195
165
924
799
369
332
804
607
957
337
377
747
294
16
776
792
897
523
447
483
786
187
674
867
647
90
431
956
439
296
880
167
158
27
860
251
654
894
421
823
837
495
750
853
111
319
892
723
602
898
271
504
584
588
361
142
529
183
792
143
381
822
844
166
962
273
495
656
920
743
187
275
247
823
32
439
211
35
420
691
469
713
925
5
267
642
935
362
856
959
662
114
716
281
61
686
721
975
705
189
121
732
864
349
112
348
857
977
796
715
262
882
543
561
705
720
120
376
779
806
460
335
85
295
629
719
531
471
341
527
791
101
405
502
264
960
562
737
966
633
525
426
531
671
436
74
901
27
597
644
348
429
64
745
185
33
647
904
893
257
890
393
420
166
883
879
99
162
109
358
957
27
95
471
210
543
322
296
358
23
721
158
638
95
78
821
540
979
848
665
703
321
207
102
821
384
652
530
83
2
76
591
298
254
76
351
65
261
171
303
295
847
730
766
916
61
653
327
817
731
313
480
976
267
768
496
222
929
62
869
278
626
269
386
573
137
992
983
803
286
244
78
376
257
966
983
688
704
985
350
648
719
843
320
967
77
799
226
547
347
238
203
691
638
908
70
995
747
657
165
489
442
826
629
20
455
31
765
926
504
862
726
761
344
910
740
212
401
644
502
356
14
852
144
126
704
802
411
154
160
755
292
201
840
219
365
976
160
172
539
539
276
470
731
363
364
868
217
811
103
373
88
40
827
142
256
280
408
777
926
28
476
673
322
943
46
981
715
135
937
933
483
101
654
442
13
764
532
410
742
963
51
655
548
258
161
181
962
95
363
351
441
232
75
587
992
808
494
416
3
601
770
49
52
820
815
164
776
262
486
277
665
758
168
862
744
636
64
401
693
352
561
660
897
527
136
792
282
389
166
310
569
5
886
591
757
763
470
319
216
270
883
214
777
205
719
441
585
705
712
362
297
523
986
640
416
574
393
288
134
437
498
923
138
76
833
362
194
332
88
698
206
697
792
182
660
525
860
527
21
93
106
770
689
870
463
446
603
939
155
609
415
775
561
228
447
455
803
541
322
984
379
243
227
579
324
811
272
685
427
802
293
973
24
753
754
790
771
135
114
346
561
908
135
458
471
400
114
766
208
581
991
207
30
357
557
955
528
111
790
181
984
617
427
748
218
375
500
416
998
591
458
184
102
294
910
185
64
553
762
929
507
354
720
743
680
449
704
3
523
431
699
78
117
351
984
998
869
413
465
469
145
701
61
260
373
405
682
959
810
734
387
730
276
544
727
63
155
739
89
413
886
664
137
296
976
26
54
671
285
370
367
349
983
780
574
808
94
254
680
998
985
160
987
640
539
294
206
87
950
309
983
22
295
707
481
144
67
174
507
525
847
755
7
490
163
254
433
739
369
299
639
900
91
703
427
880
341
104
854
161
959
407
689
691
410
167
190
107
302
947
487
822
219
594
423
957
566
579
668
146
201
787
266
46
520
636
565
736
571
973
651
279
456
994
978
439
14
323
896
881
288
484
158
268
787
206
296
292
918
422
964
65
250
330
954
271
480
621
624
133
41
796
891
559
328
550
777
816
401
330
746
664
871
526
706
209
368
224
599
616
637
89
968
471
852
741
748
767
157
942
813
446
809
8
455
962
554
124
95
538
12
678
988
685
934
278
581
67
154
862
504
978
947
197
852
542
277
114
564
247
138
3
198
572
754
483
340
271
941
636
216
368
325
902
818
996
436
525
998
41
918
438
532
949
231
608
119
156
244
163
648
360
79
62
827
244
401
676
444
311
99
428
129
240
990
537
467
504
709
995
680
42
459
143
958
475
638
596
665
650
681
799
301
345
625
219
100
600
999
20
584
423
679
69
216
646
219
330
543
259
2
973
859
889
304
64
466
975
938
283
89
824
743
965
837
948
576
662
392
1000
842
572
784
190
851
402
180
259
422
692
621
993
273
168
520
751
659
451
49
688
633
311
250
198
69
720
802
580
309
148
923
95
849
907
796
406
34
848
238
817
96
411
85
899
234
823
900
837
611
241
165
272
307
769
78
513
297
572
440
728
445
749
884
141
384
265
884
307
880
959
550
255
962
611
218
675
646
84
236
344
571
825
139
655
238
372
635
487
828
59
409
618
771
837
805
570
335
945
848
37
507
218
905
78
353
953
544
804
861
609
758
643
983
73
817
131
251
884
421
822
836
584
745
128
403
324
180
803
436
952
303
376
974
91
656
997
851
102
416
93
617
438
941
724
270
599
466
708
827
798
937
459
533
497
79
941
211
153
337
324
848
893
212
712
22
330
904
806
176
428
860
460
83
103
997
890
32
286
935
710
457
262
493
77
681
429
106
966
485
38
561
990
977
118
656
265
45
524
934
513
323
967
664
967
149
993
627
696
502
54
50
622
250
256
269
858
355
873
293
993
856
447
468
603
553
123
871
562
330
898
896
720
947
628
721
110
976
969
16
147
239
883
272
193
788
16
622
481
953
19
853
606
460
851
622
728
956
189
520
159
532
370
744
251
8
653
616
352
785
230
78
132
86
81
600
779
236
716
646
385
463
838
955
343
363
203
412
755
788
280
223
613
413
850
417
35
650
324
469
910
903
422
956
123
363
805
721
947
693
389
986
270
973
410
194
110
228
686
174
222
703
190
339
710
813
791
277
232
344
917
28
792
55
10
769
118
323
831
420
319
804
109
890
853
434
514
304
838
230
696
557
383
476
934
988
937
893
991
791
617
274
918
6
82
913
883
606
826
847
578
224
674
611
413
527
874
674
454
126
399
231
86
153
17
333
399
334
202
606
648
464
206
978
475
673
477
882
226
778
117
399
375
315
297
664
981
538
347
657
148
820
762
196
651
364
506
525
236
112
812
437
655
30
141
228
106
698
73
152
633
310
712
224
981
676
573
376
562
854
69
3
457
336
407
860
870
526
144
152
8
406
696
378
161
878
812
176
661
240
401
987
465
690
123
796
359
498
841
628
150
748
374
741
769
126
988
652
895
280
712
241
580
678
878
163
363
744
246
737
526
287
713
271
473
869
850
524
692
834
490
628
412
149
135
330
835
112
239
860
790
196
288
67
773
44
198
750
565
642
730
228
85
247
517
299
656
504
819
694
658
497
308
14
364
202
25
919
846
899
139
49
19
643
317
731
252
806
291
48
477
47
694
255
422
790
365
825
379
455
74
679
949
221
80
214
297
75
14
856
771
246
323
733
186
911
933
984
675
229
805
905
766
335
839
852
285
940
890
355
734
535
727
379
38
57
439
51
954
18
129
456
939
775
742
296
27
585
519
306
90
566
881
333
860
462
521
868
293
411
89
688
156
508
140
930
207
33
960
598
960
678
460
12
870
942
574
152
644
166
528
225
576
342
869
993
996
901
375
604
389
205
860
713
290
330
373
648
807
52
515
288
494
652
409
56
361
251
384
174
999
942
553
895
143
878
308
926
527
827
199
702
555
445
791
452
100
651
879
234
791
48
865
266
218
300
202
873
817
721
540
358
650
112
638
924
872
71
147
536
470
550
83
283
765
473
192
353
235
562
438
219
473
388
515
998
453
805
639
265
834
599
868
742
743
158
851
444
319
422
219
816
309
203
788
330
195
184
385
837
645
590
359
668
557
526
807
129
608
479
99
560
31
329
567
574
248
464
99
441
152
315
963
837
44
670
378
334
681
623
236
87
446
947
914
130
400
907
272
586
855
329
799
881
139
766
370
736
452
192
197
326
51
545
402
472
499
778
96
174
427
823
946
97
29
24
38
838
542
121
227
937
54
860
293
649
324
641
952
407
695
401
180
764
852
94
361
384
868
726
497
259
961
894
82
963
431
142
264
155
466
301
626
994
934
136
233
357
779
281
596
985
362
424
880
747
945
163
945
252
518
775
830
916
348
368
868
427
943
548
921
282
626
784
156
676
515
96
368
574
553
570
99
255
120
481
733
917
916
449
260
257
44
176
661
22
642
786
716
672
981
659
573
202
714
9
586
108
789
102
803
212
634
167
937
808
407
562
855
149
443
671
389
810
566
360
758
901
596
540
18
365
193
563
714
881
184
672
368
982
644
759
504
36
282
970
674
713
174
540
354
366
445
354
614
536
285
368
222
453
625
967
177
953
829
763
709
722
18
130
482
162
41
970
49
429
613
837
625
429
874
548
898
621
473
850
889
503
279
542
863
547
6
684
895
203
351
178
985
261
748
52
537
542
444
246
637
406
432
546
765
982
696
600
535
423
359
621
565
704
564
452
830
656
340
183
712
2
301
385
476
117
728
326
120
150
492
265
340
871
315
11
891
376
61
463
758
304
111
767
364
791
386
86
496
747
262
672
785
393
413
121
315
198
654
207
394
505
928
682
611
137
944
755
33
270
359
778
824
656
54
803
601
55
779
282
581
416
394
162
933
875
979
25
774
144
333
728
945
225
776
190
36
681
685
615
118
891
935
434
320
795
232
689
659
654
364
415
538
277
559
811
916
948
460
640
458
32
707
344
882
882
768
827
338
163
428
718
875
205
333
189
981
293
51
106
712
100
402
328
177
602
233
516
975
899
353
658
749
323
118
845
188
109
19
540
638
687
665
689
2
336
783
542
756
553
171
985
699
987
95
519
552
204
257
751
616
855
305
415
496
64
834
499
314
958
956
987
952
313
826
123
574
235
940
855
130
630
659
289
546
974
140
576
82
578
794
657
648
71
477
643
957
340
815
467
31
502
495
604
951
816
858
296
705
598
874
726
684
310
377
34
643
15
525
860
940
288
536
386
469
478
157
460
994
969
738
445
528
695
462
912
964
708
63
132
458
37
307
609
919
433
631
574
565
841
588
439
677
605
164
692
598
471
628
625
513
457
264
575
758
481
280
75
235
492
178
423
9
497
109
689
322
471
68
128
45
694
313
277
103
393
54
768
470
963
276
29
159
197
559
594
41
142
885
711
423
178
707
288
56
924
27
2
679
350
816
554
201
302
887
661
418
249
237
339
461
666
960
446
254
918
67
242
911
913
911
951
362
46
509
894
480
188
684
806
647
527
888
382
6
119
497
894
591
891
603
5
183
647
625
526
993
385
526
909
212
834
113
751
66
659
623
418
256
249
812
208
572
313
819
92
14
799
382
222
990
790
366
827
17
113
162
47
888
352
244
545
450
858
42
446
977
123
360
269
615
576
743
30
551
453
567
640
333
931
140
25
263
67
764
173
897
462
530
408
454
758
615
807
391
206
977
567
479
604
629
545
456
815
149
935
755
947
655
236
846
22
274
248
466
622
24
804
350
572
112
378
157
181
891
467
907
975
96
894
647
86
524
756
5
711
32
796
993
124
570
377
692
723
996
84
444
528
565
219
781
345
336
92
605
538
205
64
79
995
909
769
253
387
155
788
727
275
960
324
531
972
407
120
979
316
279
913
461
665
458
244
5
504
535
300
989
30
836
805
541
932
928
655
22
422
731
115
488
203
559
932
160
711
761
612
769
444
158
485
79
608
135
872
39
637
63
862
777
349
735
724
82
648
599
945
137
713
896
272
964
546
253
862
510
617
880
870
290
88
284
350
288
767
344
353
137
487
658
496
656
125
293
77
495
806
475
23
991
154
306
564
306
626
250
558
622
97
54
808
422
807
720
552
889
772
362
541
72
498
60
775
722
625
360
4
672
727
648
570
196
20
469
35
46
209
784
284
762
16
262
514
408
211
2
553
118
114
447
475
677
611
870
374
929
707
519
426
956
495
418
130
836
237
824
684
263
921
602
1000
488
274
69
782
839
698
431
426
531
27
551
230
628
306
666
566
772
16
605
201
738
316
227
912
970
887
73
931
989
919
706
481
972
625
773
885
870
431
631
284
132
633
273
998
482
895
370
973
236
436
475
527
305
121
832
855
391
975
768
329
876
806
341
691
562
758
794
609
696
576
349
969
750
324
74
438
961
68
860
557
989
790
26
597
943
426
733
935
626
440
139
538
104
807
234
405
601
619
327
528
277
775
507
982
677
402
729
261
491
686
834
873
818
793
473
497
278
437
848
727
195
419
183
530
540
181
82
79
497
988
234
531
309
884
502
671
537
967
35
70
987
824
924
560
329
246
861
366
883
404
443
210
114
759
992
65
153
893
293
977
38
303
188
606
451
954
762
665
426
52
775
458
886
68
61
95
883
493
842
794
120
233
305
834
652
779
336
400
674
534
977
535
958
737
72
861
794
456
542
558
286
16
919
339
440
54
92
785
793
116
690
480
242
336
173
820
330
283
501
257
506
486
181
992
758
520
622
808
590
772
980
843
534
176
86
548
244
267
639
15
764
887
576
130
742
744
410
727
184
826
367
41
886
347
380
255
771
516
324
888
221
918
399
96
947
698
250
674
29
83
215
746
586
970
88
615
947
456
934
261
264
219
743
302
296
593
219
25
478
51
557
253
426
532
855
414
789
734
702
158
693
61
591
263
76
369
998
373
876
54
391
330
390
300
949
454
124
503
497
169
81
982
993
789
772
100
941
96
189
809
251
628
593
489
407
168
272
628
286
60
326
551
586
357
159
942
652
737
575
324
413
340
314
28
239
398
380
441
841
581
773
460
688
492
73
180
39
633
871
783
409
456
234
504
154
841
199
318
945
438
834
692
47
850
513
341
731
526
896
437
629
626
547
122
494
781
258
510
711
892
928
560
822
618
263
366
495
161
671
410
682
353
473
301
106
791
935
336
886
942
718
16
818
750
19
268
792
235
86
717
860
991
794
828
748
282
662
96
942
641
29
777
60
504
116
818
912
412
322
758
489
763
466
381
170
910
586
794
562
648
594
445
749
782
307
296
200
517
355
12
193
859
21
563
455
104
349
60
638
734
722
19
347
736
708
493
740
442
162
659
95
458
457
534
336
175
240
466
250
629
296
902
986
203
944
763
501
775
881
403
800
426
553
761
176
764
934
803
180
240
56
771
702
586
771
68
380
630
987
830
548
313
66
373
27
683
151
733
426
11
953
461
998
928
923
690
756
685
777
230
294
195
102
125
672
530
89
666
816
908
511
326
97
58
721
468
166
992
805
955
633
896
5
996
899
820
195
648
316
301
489
399
834
879
42
193
482
700
711
28
357
65
531
30
269
798
889
511
823
812
883
48
533
69
580
93
483
447
808
935
189
657
664
116
558
475
153
559
250
17
217
728
370
701
969
113
79
819
123
222
666
376
433
32
631
939
490
577
529
787
339
892
702
565
211
101
525
967
128
805
448
747
252
258
982
456
642
39
702
908
496
69
537
279
75
841
856
152
225
680
354
580
827
717
323
388
580
972
654
575
206
655
858
594
567
322
448
758
198
13
248
759
449
878
629
532
761
82
144
308
614
964
805
691
335
550
55
65
232
476
519
432
551
358
780
43
299
381
763
820
319
685
778
624
896
685
913
879
774
53
273
923
739
487
493
741
768
787
86
390
364
967
407
529
881
323
489
949
512
444
530
886
155
97
576
222
562
846
814
350
990
2
943
649
92
221
289
974
944
666
678
540
885
140
614
890
353
16
946
374
980
115
71
729
17
885
672
884
593
392
139
74
376
642
114
736
990
725
57
377
907
86
319
855
636
13
1
14
686
88
752
687
226
887
790
398
326
730
609
963
397
634
253
340
750
912
584
751
231
61
647
60
499
681
114
862
866
158
793
554
545
768
361
895
805
682
793
215
798
55
464
484
743
24
504
901
781
989
823
543
11
962
134
870
172
152
431
561
956
180
632
257
170
498
532
241
843
651
747
21
888
978
122
49
115
257
904
540
249
554
59
458
83
254
306
266
60
836
799
944
389
453
881
142
255
825
42
40
821
211
995
676
488
511
793
990
306
628
53
874
547
301
607
804
165
524
404
443
294
531
51
782
979
97
170
940
81
533
643
775
613
347
922
801
860
11
783
769
266
641
314
419
436
703
455
570
607
36
110
703
568
577
723
646
340
213
204
778
890
34
267
430
768
147
568
782
837
879
514
638
204
863
244
896
50
23
97
388
297
903
789
73
963
176
693
190
613
362
810
111
523
7
488
90
54
604
495
10
260
512
797
536
936
33
268
789
152
573
612
753
823
507
975
184
4
968
83
678
437
296
241
907
291
282
226
774
235
655
896
383
673
500
352
246
481
413
606
159
638
237
2
483
887
165
113
389
988
858
402
763
173
943
729
83
112
980
710
532
115
476
964
52
263
81
576
797
912
403
449
702
291
221
773
442
964
49
548
133
544
89
940
514
381
636
284
191
888
899
681
781
817
27
502
415
56
837
564
117
454
388
389
57
788
75
768
500
213
355
760
582
452
570
417
693
538
592
747
347
132
156
854
899
327
846
794
370
356
646
382
938
833
853
93
366
952
952
249
751
639
721
859
487
714
448
875
288
18
649
91
422
855
68
622
63
271
90
711
805
440
880
587
945
872
733
230
86
261
122
231
980
503
900
323
313
866
936
827
288
309
243
975
474
689
297
18
343
961
834
82
351
496
861
994
187
346
23
647
46
598
732
66
377
985
673
983
605
550
386
647
711
492
642
544
429
272
232
920
40
672
610
303
376
821
553
701
723
72
632
800
756
260
822
274
503
92
22
268
616
327
615
223
882
963
425
481
22
872
627
513
280
185
203
206
234
261
520
357
528
266
495
424
969
211
586
629
506
824
548
691
174
749
480
846
967
403
215
307
978
273
495
991
851
569
698
170
758
903
120
683
648
135
919
465
490
586
885
487
588
580
139
588
806
674
706
360
741
8
663
938
445
903
236
519
297
219
766
487
14
15
960
242
600
729
202
257
235
449
10
373
719
821
891
108
112
832
955
552
626
959
672
479
683
212
33
442
256
143
218
973
289
244
592
462
27
41
478
944
539
793
694
816
605
984
273
455
384
644
157
806
965
145
888
283
995
301
487
739
54
493
790
839
349
55
466
903
604
350
833
160
719
801
376
424
902
638
552
372
481
292
84
991
550
139
423
250
913
808
501
734
543
360
193
797
925
423
131
779
186
828
654
958
881
344
710
226
680
899
456
883
946
30
172
608
401
419
841
377
631
31
424
56
193
801
404
432
468
775
681
728
215
379
240
982
981
744
335
250
145
90
96
284
386
758
599
188
795
843
391
562
694
312
434
839
435
131
211
809
143
186
461
836
372
745
657
895
132
771
878
355
598
652
136
379
85
834
612
937
544
374
482
655
926
665
178
190
247
457
6
343
76
816
9
902
481
854
843
60
167
902
227
319
656
305
208
972
885
146
97
629
522
52
421
760
620
656
658
890
998
466
830
910
851
609
267
961
663
413
968
461
448
825
35
169
714
458
584
603
302
426
407
754
445
217
392
786
969
535
371
355
539
456
667
215
258
228
22
57
735
763
37
882
922
196
487
760
663
874
95
541
898
819
441
912
899
983
685
251
755
612
695
844
543
629
986
399
290
252
610
259
871
975
748
335
435
639
314
618
855
577
299
20
907
699
961
460
617
965
182
330
277
891
525
914
95
623
538
912
390
620
866
934
497
197
598
736
290
6
50
12
320
14
900
731
104
738
173
406
10
246
86
159
543
948
166
133
536
299
397
621
946
316
325
268
451
257
240
832
54
878
552
296
230
469
417
560
930
225
554
555
943
608
900
389
697
59
466
35
549
776
257
178
41
321
669
35
382
506
90
374
623
324
757
485
616
720
103
576
858
626
918
907
763
999
666
983
711
584
205
326
503
720
973
629
448
798
432
619
406
922
180
550
527
901
697
92
333
954
114
273
25
412
753
296
579
262
437
271
313
594
732
346
44
878
356
286
881
537
946
282
7
455
269
659
490
912
761
212
278
923
928
57
92
116
787
293
789
104
14
251
177
750
855
777
935
863
219
836
484
647
542
687
194
627
198
36
242
912
210
852
852
362
13
986
376
660
818
347
862
326
928
140
354
436
978
597
145
194
666
706
588
501
3
670
898
382
493
231
576
459
936
513
680
644
748
759
218
914
787
181
358
287
669
177
958
137
485
291
195
578
641
676
699
924
262
254
632
181
229
435
661
121
477
29
573
695
591
956
606
519
105
441
217
637
167
675
99
70
382
309
743
449
721
748
752
637
350
926
391
355
126
155
597
732
280
643
747
153
497
527
43
951
227
585
278
287
528
320
71
61
186
773
428
753
156
255
605
952
600
157
806
698
916
147
228
895
211
344
286
781
587
531
677
840
476
35
63
631
8
726
783
679
55
435
960
983
169
229
785
710
98
167
546
322
943
583
199
740
323
451
862
125
69
125
667
539
122
569
803
22
252
235
445
613
184
886
460
468
494
12
487
478
376
952
974
753
21
487
270
922
861
442
696
429
404
803
805
938
702
966
718
493
770
969
503
302
440
14
54
906
176
123
822
987
373
550
47
277
539
407
869
884
532
39
776
793
728
887
392
533
601
904
542
735
672
134
823
817
247
709
710
154
607
371
310
826
623
565
472
543
822
341
908
357
14
543
322
587
519
265
358
744
871
105
305
315
648
565
126
989
726
827
331
257
830
220
632
388
717
935
110
408
732
916
838
116
719
415
505
108
515
380
632
480
312
728
360
157
197
538
672
788
84
392
95
745
73
402
623
55
996
952
625
39
530
816
961
987
807
107
409
498
887
468
767
960
794
17
661
257
114
813
194
957
249
57
45
158
551
782
522
649
500
536
392
257
974
454
989
97
447
149
248
895
652
53
812
779
832
196
291
663
217
939
85
887
759
812
932
840
504
473
467
115
176
751
648
142
687
903
853
383
330
481
832
855
347
677
432
222
412
615
240
696
329
807
829
749
900
941
306
972
496
198
244
471
320
580
894
876
753
72
764
347
434
33
283
6
948
899
281
837
67
142
437
425
511
450
691
876
93
230
853
856
953
907
281
999
281
942
552
844
579
132
519
58
32
563
1
961
33
526
626
247
201
816
22
388
543
95
643
387
532
426
990
456
963
640
900
683
412
964
867
982
999
191
67
410
960
734
880
480
208
108
215
224
664
732
881
569
654
466
558
75
71
946
703
181
317
641
808
907
268
502
57
378
634
225
312
622
128
453
771
880
773
674
403
998
578
198
417
620
506
333
639
529
364
830
639
921
802
723
850
394
56
910
722
115
495
251
175
1
278
450
203
696
639
725
523
832
413
121
587
335
422
317
105
520
250
957
449
337
747
880
1000
398
338
61
491
378
839
756
907
939
5
112
344
595
500
467
505
834
309
658
173
371
872
939
123
627
392
494
374
389
816
155
616
148
979
619
931
793
278
372
641
171
12
567
220
532
251
305
753
27
655
110
313
227
200
925
999
119
164
612
89
132
52
752
928
543
348
558
698
35
135
804
209
281
629
17
179
167
657
583
265
668
913
65
280
463
607
754
605
82
788
438
794
744
170
400
792
87
767
932
939
668
48
7
199
456
570
318
606
521
271
571
2
810
691
799
510
175
384
463
69
803
727
268
554
817
104
968
683
88
212
898
947
252
830
613
261
490
950
818
893
889
605
702
516
125
71
917
880
720
392
697
708
399
313
22
889
891
798
330
945
98
265
983
65
684
574
604
674
38
547
435
651
4
544
67
817
969
183
250
235
689
794
9
212
692
645
950
616
242
249
476
287
605
310
607
836
802
7
244
147
126
311
994
175
442
23
149
497
698
29
999
169
127
34
416
76
345
720
595
941
916
806
880
527
978
988
855
411
231
99
253
886
899
131
807
165
290
940
817
104
238
563
135
51
13
73
199
292
240
821
999
797
14
708
114
596
653
893
491
199
483
922
235
899
632
848
508
686
51
325
561
760
901
8
38
305
979
867
953
276
107
159
158
435
234
883
710
777
583
526
238
769
303
749
353
557
979
514
136
387
811
762
983
36
452
440
399
939
285
100
890
55
402
756
736
268
651
988
275
208
927
490
289
9
273
419
255
404
483
905
467
966
643
55
537
73
428
607
360
318
44
163
393
706
442
586
18
960
755
704
855
628
992
947
85
525
653
936
257
216
328
289
596
887
277
150
516
955
704
6
913
199
693
390
812
31
781
962
118
764
739
281
553
370
424
313
331
292
489
331
762
310
346
433
772
343
3
301
294
330
310
209
545
7
717
534
523
503
841
171
441
119
32
334
386
615
654
209
268
565
951
765
939
107
269
868
483
476
836
490
815
281
501
439
131
362
626
505
225
440
791
364
387
485
89
881
407
881
588
664
194
25
941
888
655
934
237
400
782
838
927
97
329
453
70
392
83
858
175
343
491
447
679
696
312
436
422
642
63
779
551
562
233
185
937
443
644
94
549
876
878
111
225
818
385
418
920
315
744
91
838
458
574
98
809
709
735
2
892
580
814
2
478
344
357
46
91
123
937
165
673
195
963
70
383
833
68
304
877
330
34
939
534
105
456
870
375
973
793
258
239
698
993
576
354
957
657
994
581
680
542
568
496
568
299
800
929
227
490
660
763
9
342
89
599
120
149
327
335
970
954
166
876
80
924
359
914
54
860
961
207
279
366
372
833
36
548
162
665
657
528
586
707
201
678
815
8
897
250
557
547
238
972
666
915
186
285
781
575
447
105
821
238
103
394
353
178
228
359
510
338
272
812
97
717
104
63
7
851
625
738
855
145
752
96
13
463
397
720
851
639
804
958
48
517
213
113
309
712
377
195
652
547
883
969
752
496
593
177
449
58
764
30
658
169
567
527
376
151
808
708
394
728
601
687
619
803
653
196
612
556
580
421
72
903
379
106
521
507
796
255
348
369
779
282
729
447
701
127
669
924
270
671
557
477
321
778
166
372
806
419
24
277
311
637
392
443
400
555
911
295
913
229
111
558
122
938
592
724
278
377
651
76
688
346
548
480
904
711
378
866
999
845
752
642
188
257
89
290
250
856
334
52
301
129
374
911
463
536
216
41
909
585
259
536
562
390
641
481
451
975
658
394
364
248
763
624
979
346
460
562
74
4
733
432
790
723
282
944
169
755
951
366
336
342
204
403
783
253
415
814
168
342
23
875
940
791
335
654
871
700
839
539
268
931
451
624
263
417
14
380
40
721
711
472
318
235
810
736
673
288
257
98
570
388
260
641
31
949
876
132
976
183
63
65
156
250
356
662
480
398
563
372
287
557
411
70
764
797
104
586
285
114
109
179
932
259
326
284
813
692
978
175
101
304
186
218
903
242
211
1
155
28
765
976
765
184
646
186
129
724
159
282
941
234
460
321
986
697
5
755
189
906
727
626
756
57
446
217
689
96
294
326
277
495
578
876
452
373
634
793
43
327
683
973
30
895
598
650
875
307
809
714
897
74
263
306
416
998
482
582
123
399
277
626
691
703
606
355
185
49
391
690
207
242
860
405
49
207
105
845
349
80
132
124
866
200
592
523
38
582
796
549
914
872
340
508
917
419
883
522
637
840
176
630
524
387
442
966
901
504
606
83
218
159
653
107
823
985
643
823
820
743
474
727
792
365
548
763
229
671
897
784
551
879
164
703
490
173
89
967
435
957
761
226
53
865
989
35
146
258
576
998
215
731
148
12
674
90
474
188
981
391
871
567
220
858
393
965
831
956
960
177
240
443
519
270
133
966
601
885
976
650
346
336
194
189
213
746
85
115
64
650
179
309
290
295
220
327
937
316
389
753
551
616
692
656
610
32
647
193
942
833
570
519
510
133
758
494
293
130
825
100
768
404
308
104
679
611
389
249
349
634
266
192
794
581
247
471
295
98
145
19
867
104
907
131
286
441
701
331
957
886
889
289
908
660
407
794
633
848
63
798
340
148
202
728
386
944
981
559
361
8
237
669
281
73
546
82
863
77
622
533
683
164
636
748
297
401
394
383
94
757
551
413
718
77
220
92
391
676
391
252
367
704
544
402
43
610
732
979
963
879
189
163
78
706
209
852
117
452
643
760
878
479
872
100
569
501
512
8
74
642
433
656
147
221
896
20
122
682
752
364
646
204
652
841
339
259
201
30
38
794
804
839
456
767
734
982
694
496
576
144
993
635
817
17
550
630
786
649
1000
198
543
893
374
691
604
337
972
231
577
748
588
134
887
957
983
462
766
102
293
515
602
324
342
658
554
333
440
227
67
751
321
111
546
760
318
263
994
394
755
607
841
751
780
720
576
522
572
216
998
476
898
12
114
985
541
467
748
219
946
981
903
400
800
764
815
376
917
378
390
818
957
108
457
554
981
411
815
904
825
464
595
392
559
327
854
885
74
351
637
22
953
220
971
801
372
491
369
295
692
539
492
809
804
601
514
178
33
995
626
583
613
650
837
964
279
816
921
60
583
171
894
187
854
580
908
58
599
465
807
391
300
49
897
542
189
764
651
142
628
750
186
546
100
699
349
931
698
228
159
34
209
647
164
865
545
191
13
200
321
794
153
283
845
11
105
3
647
991
219
700
929
271
155
929
27
741
587
714
26
335
794
274
181
891
860
786
673
125
199
445
557
873
974
16
442
586
789
69
562
560
705
331
439
530
247
914
234
86
565
711
231
815
323
902
657
198
210
364
131
85
188
726
665
982
727
982
19
501
304
844
638
39
400
479
130
194
57
875
443
445
835
854
471
378
649
650
815
76
547
69
808
346
968
457
738
133
371
102
383
797
449
242
614
951
316
543
807
198
139
774
284
406
727
408
779
150
471
68
196
536
856
38
584
954
488
558
263
171
222
249
529
839
484
814
228
680
358
113
736
555
325
805
576
157
820
25
996
298
923
984
291
630
564
938
579
160
609
722
21
119
58
928
193
568
386
841
437
637
739
463
514
430
305
290
851
458
681
43
961
916
457
212
386
231
589
83
647
118
307
937
241
780
479
199
671
11
368
658
876
671
652
287
190
452
453
825
137
868
842
41
940
149
986
506
648
75
631
796
126
825
119
255
5
586
509
858
871
28
638
243
581
725
190
691
640
284
897
676
981
214
35
636
312
575
267
774
470
45
713
25
832
317
848
816
899
694
456
859
628
323
414
45
950
754
510
430
186
442
848
423
733
319
669
541
504
837
542
530
60
704
983
206
312
103
508
116
917
335
15
997
257
696
184
73
960
881
256
400
468
358
177
856
71
974
567
860
176
520
425
607
283
89
751
378
333
869
529
525
615
414
629
827
372
550
221
223
636
810
229
375
569
701
233
120
780
161
942
647
657
282
39
113
749
737
784
545
636
410
204
63
514
360
93
848
937
644
344
866
760
487
300
994
386
942
929
115
781
528
633
701
625
234
404
637
156
981
854
297
927
828
390
417
753
219
407
924
578
99
934
675
845
11
586
8
250
176
55
133
406
109
582
622
46
571
73
712
883
477
525
663
131
973
459
212
993
9
890
966
146
651
191
717
344
798
865
761
801
181
863
760
932
304
570
112
355
448
25
516
826
1000
206
238
884
136
498
532
570
316
529
855
522
159
652
775
118
985
246
933
107
745
887
23
355
97
195
525
896
114
795
839
492
469
435
537
280
989
757
690
897
142
591
618
680
358
952
942
155
99
85
531
40
225
21
776
420
533
106
670
599
292
869
281
338
244
432
614
871
783
354
250
119
4
477
860
993
863
836
446
532
963
161
122
892
371
842
358
898
438
480
864
922
804
318
719
365
653
886
927
912
781
219
295
17
282
826
435
797
426
420
735
631
860
86
332
255
389
184
479
117
397
761
231
30
457
683
8
954
784
2
449
859
961
300
949
159
822
878
376
197
439
709
813
606
942
983
574
137
260
970
369
737
975
634
258
232
168
120
943
961
520
797
35
116
951
8
148
305
776
74
70
127
691
354
819
101
893
396
47
336
308
278
174
781
192
261
590
666
348
782
467
57
824
639
36
30
224
923
659
59
711
915
688
663
370
668
862
210
838
467
968
62
16
673
600
910
244
758
89
233
527
457
128
317
274
45
159
143
539
738
352
775
948
68
857
576
322
889
106
698
507
349
69
810
94
779
811
957
480
935
132
781
240
459
785
61
853
723
590
682
637
464
719
706
169
726
591
150
549
690
97
467
643
879
326
480
796
105
571
699
623
265
162
541
150
761
570
948
980
867
349
314
179
877
647
412
258
208
463
233
974
944
353
265
665
494
958
750
489
120
644
890
247
128
491
808
436
389
94
313
803
701
911
136
941
221
435
409
405
819
39
553
435
735
192
662
581
401
660
701
470
580
432
536
495
284
355
882
413
53
903
759
727
270
65
927
254
157
67
76
455
957
546
275
949
622
817
257
142
996
97
684
28
100
881
426
59
608
209
245
421
38
191
1
207
488
33
642
701
961
734
807
500
470
807
811
210
153
651
149
264
536
638
444
772
982
618
908
398
69
284
2
951
344
754
950
779
432
831
160
54
977
598
412
736
258
412
877
348
623
915
651
678
51
349
496
189
286
349
920
217
964
385
562
23
68
197
61
352
881
885
284
470
317
820
774
556
136
146
808
933
92
464
255
850
518
231
739
464
163
506
266
187
400
950
573
820
46
397
920
737
114
894
982
931
810
828
750
902
933
669
113
229
646
873
850
136
281
711
336
549
422
140
144
917
23
340
107
563
740
207
84
439
955
945
889
938
204
835
326
860
856
438
286
699
905
762
187
197
715
377
831
482
359
71
928
185
998
402
96
647
375
415
175
689
62
877
54
455
613
612
19
513
90
887
867
763
796
389
592
659
150
973
525
948
832
277
190
402
247
265
13
14
326
951
219
735
478
897
932
95
219
508
529
35
661
853
747
796
554
473
938
22
37
632
94
102
588
545
987
343
922
391
812
791
758
349
235
371
417
440
639
571
225
721
646
44
534
251
735
390
992
286
853
824
366
373
462
634
832
363
379
118
145
882
105
160
511
450
81
732
314
287
442
381
50
816
400
198
978
4
360
856
14
979
194
52
340
830
928
89
61
69
217
395
981
27
604
497
240
361
539
322
116
928
508
756
782
501
467
44
167
217
936
978
373
170
756
802
288
252
531
430
131
242
164
876
677
103
802
746
800
668
659
304
827
179
906
847
880
640
820
117
39
606
868
18
687
773
242
188
836
736
674
859
588
351
979
16
139
431
907
53
889
887
349
37
303
39
845
173
119
531
633
289
399
173
213
974
701
85
476
509
329
715
1
883
239
651
41
1
662
677
28
642
928
175
218
860
293
812
180
309
796
420
435
366
281
131
492
80
799
114
871
653
495
703
514
631
981
324
129
972
919
399
611
947
205
291
663
130
736
468
152
830
176
276
513
939
551
87
745
564
769
168
144
766
368
279
944
423
874
880
451
495
182
855
118
991
259
797
212
504
301
257
392
504
194
810
565
482
762
462
843
654
814
684
283
156
455
330
378
584
465
799
920
286
813
51
968
19
521
525
114
483
186
573
159
733
405
745
603
697
263
172
47
829
812
310
760
457
154
538
129
518
367
428
687
187
988
43
719
373
199
277
182
189
159
70
848
248
183
338
108
119
557
552
819
327
835
242
998
41
425
118
855
16
80
125
914
385
685
491
501
625
415
786
880
407
852
25
728
46
176
149
431
960
901
536
881
899
905
805
90
678
709
813
935
833
69
656
805
892
910
458
703
956
598
926
668
871
305
952
942
590
997
60
449
210
171
80
522
814
12
285
759
448
95
125
92
497
88
841
883
263
181
464
907
785
114
167
589
798
761
468
757
244
185
551
465
982
962
842
162
113
374
13
580
902
740
811
259
383
757
446
521
570
259
785
70
653
160
285
114
673
710
403
57
971
395
215
365
116
945
107
156
115
951
699
440
470
538
621
707
26
383
335
718
632
130
8
963
346
898
319
228
289
179
172
92
271
857
531
18
23
478
962
859
172
204
13
259
128
39
283
415
691
41
858
127
479
235
832
853
281
845
778
774
31
284
379
474
378
70
884
931
787
457
729
935
671
114
420
951
304
618
748
692
189
893
501
335
83
953
116
436
133
509
103
43
412
14
692
427
696
755
836
153
511
427
635
910
295
440
261
645
43
895
675
48
944
768
782
390
329
333
186
26
715
278
369
617
859
283
948
279
500
56
644
425
918
935
740
991
521
232
86
145
414
400
172
318
313
987
393
581
239
73
386
986
109
557
249
454
750
221
524
215
869
986
36
590
197
138
119
120
380
597
241
652
174
496
788
33
149
433
599
463
444
752
874
412
44
156
218
235
700
717
946
268
886
133
225
239
102
658
283
283
458
707
696
724
679
548
745
43
623
882
882
140
912
314
682
71
528
926
12
952
96
214
759
571
76
605
185
616
306
693
856
72
154
65
131
496
45
339
435
388
290
578
836
788
915
796
12
584
727
650
336
749
884
752
634
853
101
234
168
777
991
366
505
494
183
18
266
144
559
740
154
420
402
52
313
439
260
312
790
860
95
179
824
13
607
265
741
182
699
24
475
985
703
338
117
31
332
517
448
601
338
632
95
176
482
205
819
4
757
283
467
778
753
818
244
715
686
120
355
969
881
851
477
371
447
662
221
947
465
132
483
524
243
69
583
1000
138
628
160
556
944
920
71
129
120
966
958
1000
962
917
725
208
368
415
888
829
40
888
669
852
775
312
714
507
40
703
569
414
130
179
335
854
62
953
510
793
792
4
629
29
478
525
187
980
289
440
281
179
703
423
561
507
295
903
363
550
810
449
366
240
690
809
684
124
280
614
120
177
674
429
178
69
517
385
528
193
120
121
860
561
918
133
422
886
645
905
106
772
609
407
639
974
85
635
282
87
163
871
473
901
355
248
996
835
888
46
602
585
875
829
484
96
517
204
631
486
43
486
910
381
382
26
645
407
439
268
587
238
401
902
422
727
745
609
397
79
462
965
192
969
553
58
932
784
40
243
93
884
557
249
115
885
123
529
722
496
798
384
331
372
780
835
407
752
948
694
329
431
957
547
123
726
827
625
427
660
327
642
171
551
613
737
767
559
285
578
27
489
446
555
670
363
409
724
6
833
396
852
333
493
977
441
633
561
986
122
405
195
370
177
858
907
745
204
200
164
442
194
526
292
478
318
577
195
187
783
736
281
229
992
748
175
294
82
978
491
130
617
539
954
410
868
206
632
602
622
874
910
199
926
236
96
608
507
489
237
533
865
105
787
921
215
168
289
389
487
304
98
610
599
4
494
287
86
6
228
206
945
449
670
358
271
709
248
247
820
200
773
358
197
915
613
165
708
158
390
233
299
756
23
722
185
999
520
37
907
708
824
453
624
126
452
320
339
775
371
813
653
10
780
287
357
809
24
999
874
201
864
327
80
847
715
649
565
523
287
742
721
603
241
869
364
228
108
756
778
530
737
300
166
118
955
132
511
82
972
188
727
913
271
986
852
67
425
652
705
387
256
629
88
247
297
614
146
30
305
512
938
577
891
97
618
268
998
621
888
723
30
853
525
502
938
878
898
751
458
514
297
492
994
415
842
139
369
739
479
845
736
771
292
513
520
55
935
645
132
363
516
723
581
351
661
471
795
805
800
192
665
232
957
343
330
912
450
650
201
690
922
356
591
466
105
667
577
802
535
20
891
82
204
623
247
404
798
577
468
745
734
6
195
958
678
826
756
870
617
193
964
63
839
200
269
940
352
94
654
314
410
146
141
80
769
318
577
482
258
44
620
134
17
746
487
196
528
223
82
77
146
658
569
606
419
800
346
855
889
811
601
730
443
402
361
969
521
110
980
430
658
15
543
403
898
764
521
237
602
485
338
711
37
82
221
480
932
446
789
359
868
286
401
419
990
693
171
641
995
5
910
346
801
263
997
766
601
330
312
857
221
753
931
934
852
581
231
758
245
633
422
490
411
179
290
300
701
588
112
490
928
270
302
717
811
149
301
253
623
991
660
259
382
128
41
742
315
522
77
182
588
640
645
843
524
329
129
406
595
724
672
890
496
232
254
794
522
829
674
1000
274
188
145
263
460
690
282
65
172
953
712
169
557
364
396
477
270
997
30
704
388
444
563
915
792
330
963
224
114
711
828
781
473
122
376
748
156
771
601
116
295
280
123
65
389
405
367
79
186
350
222
161
68
696
256
314
558
415
909
926
2
168
803
797
793
865
486
349
698
473
433
987
43
192
143
650
464
394
474
374
952
206
178
63
716
181
751
736
166
308
291
229
977
489
67
711
750
724
879
395
292
442
103
500
861
837
508
891
74
582
566
784
310
17
985
580
587
744
611
200
854
594
710
242
584
93
846
936
354
859
229
101
821
883
479
304
144
251
167
951
433
670
399
344
232
115
965
586
429
20
237
821
198
679
105
493
772
983
724
167
897
145
727
15
795
838
879
224
339
35
843
440
943
890
844
859
344
196
551
723
66
333
399
786
854
89
935
802
772
455
479
171
1
284
575
705
554
699
220
861
301
280
842
921
700
342
358
317
585
61
403
722
215
838
13
573
531
23
616
414
240
59
175
822
908
174
737
706
714
982
422
440
904
744
111
666
266
576
697
548
138
607
786
968
567
920
169
426
228
156
206
378
641
802
503
386
27
519
934
707
870
349
65
908
892
278
551
661
672
423
884
138
588
63
188
318
108
833
410
81
713
686
336
180
893
610
372
60
729
697
890
1
546
876
288
281
989
506
573
858
688
80
424
590
349
482
196
170
700
605
259
737
255
643
400
617
245
33
747
753
387
870
831
169
394
574
943
247
254
750
908
683
334
441
768
732
329
478
612
777
899
175
999
282
605
434
983
932
425
207
746
128
672
352
234
28
646
162
1
12
688
204
670
790
638
683
33
382
848
218
833
818
35
792
702
763
228
649
553
190
19
57
975
885
98
221
818
823
811
81
203
396
90
365
661
66
655
96
962
255
811
658
466
212
536
663
504
114
783
111
388
912
115
759
120
296
814
186
796
666
629
773
963
189
165
708
933
883
728
168
145
129
124
36
203
189
503
842
137
126
858
176
766
952
188
447
790
996
650
698
371
231
269
196
525
741
876
611
600
609
997
918
484
251
362
607
945
603
536
382
704
673
948
291
399
627
236
169
607
13
407
313
483
697
780
595
360
816
57
536
891
357
168
476
904
3
691
637
170
505
807
728
710
184
686
789
114
98
172
97
545
56
408
314
805
939
789
525
825
691
265
451
466
993
518
921
327
809
36
636
557
954
388
361
339
369
329
943
791
999
459
986
524
57
284
567
991
968
456
119
63
501
885
511
971
390
166
360
880
299
497
856
861
89
825
696
983
189
483
269
547
319
995
880
246
947
22
638
174
631
670
609
160
840
493
980
853
932
580
262
365
719
24
20
28
446
962
225
19
83
91
76
171
528
259
69
292
700
262
158
711
544
498
97
542
610
455
414
411
271
339
42
974
591
328
321
576
522
17
917
840
440
660
271
804
959
687
300
458
617
833
439
182
291
892
577
635
117
788
81
115
331
152
894
257
628
58
653
209
598
910
856
129
323
743
405
881
439
323
234
348
861
555
334
635
863
632
203
765
424
267
643
161
561
115
873
331
889
213
107
693
801
834
145
391
442
673
981
310
168
693
153
214
242
276
353
86
353
530
809
311
947
776
81
277
443
224
226
355
197
817
706
979
422
80
46
732
379
540
2
910
848
956
919
46
257
172
30
262
896
878
682
110
300
922
869
791
244
141
981
238
794
832
395
573
488
118
375
883
61
429
772
91
63
279
181
916
374
288
532
602
863
150
583
108
403
884
406
934
25
203
775
611
257
334
282
157
575
915
152
482
482
894
952
794
911
486
834
565
568
331
529
502
302
954
14
267
820
526
689
401
889
689
937
37
655
924
125
466
877
515
494
601
679
694
857
673
881
937
726
247
107
716
303
814
631
226
741
713
366
748
242
162
493
328
825
481
964
402
73
403
522
862
759
524
956
775
12
528
985
672
619
818
588
859
116
590
580
686
564
147
950
98
288
521
799
65
404
25
724
688
655
419
141
877
944
778
354
497
950
993
136
793
392
76
225
721
823
80
387
536
338
488
679
622
184
423
81
71
83
833
956
982
16
128
686
780
328
405
379
121
267
467
781
108
502
355
381
602
735
981
233
411
242
787
201
976
90
20
176
9
796
367
316
194
414
182
494
670
372
498
972
538
920
303
776
12
695
361
361
185
737
933
942
577
302
372
306
779
900
472
994
545
336
852
512
605
949
396
608
345
858
974
736
247
783
238
522
631
955
269
441
830
647
266
918
384
158
257
776
222
416
15
269
110
936
996
960
789
562
114
343
380
290
606
406
592
447
80
338
204
723
58
157
118
834
996
340
964
89
791
482
922
780
262
566
912
104
949
702
782
268
836
103
454
538
297
576
241
268
641
98
727
347
105
842
644
82
73
604
185
278
564
735
30
142
771
534
202
707
524
560
500
646
87
448
920
731
612
671
918
677
924
106
833
793
26
413
63
702
880
15
843
338
562
878
587
597
850
415
784
300
662
551
409
581
542
414
635
408
555
170
383
723
557
225
936
603
765
403
380
899
976
729
124
80
564
145
131
353
615
794
778
714
146
547
443
251
396
76
32
905
597
81
664
882
475
264
618
103
936
250
501
385
95
948
292
531
801
750
552
163
305
604
635
884
569
187
173
368
985
371
450
10
955
664
541
103
856
598
262
860
413
834
19
241
397
357
649
211
859
242
200
999
836
385
396
937
546
38
228
663
662
159
701
853
120
405
273
113
309
56
945
393
172
262
263
38
956
822
730
646
829
99
240
982
613
788
206
520
187
5
960
633
915
545
904
50
635
238
583
970
301
47
572
125
382
903
589
191
517
331
752
144
713
581
261
555
592
325
78
388
804
994
367
522
741
447
554
106
125
22
889
859
851
941
269
597
744
674
928
585
487
182
320
813
77
825
129
911
585
380
907
233
884
819
258
565
269
407
849
50
571
262
783
151
456
697
12
925
82
581
575
429
182
432
372
832
951
196
95
671
821
460
727
768
301
370
676
477
629
667
269
340
844
81
764
699
281
748
522
504
187
499
236
376
328
585
381
972
991
885
154
811
758
701
229
62
784
17
565
190
78
481
393
3
480
449
222
394
590
123
403
970
903
209
323
887
804
536
805
366
870
757
646
836
141
625
522
121
629
277
688
845
367
681
983
34
708
651
665
962
435
834
521
409
473
690
492
841
643
762
789
529
943
451
118
208
309
140
147
722
670
721
798
29
371
501
302
36
731
15
202
23
586
501
655
808
125
648
446
406
274
767
111
631
142
725
426
25
760
799
335
494
492
137
54
266
950
638
695
123
251
884
277
384
717
238
371
773
915
304
971
146
25
771
385
13
133
60
94
945
956
305
526
255
896
942
693
755
83
571
410
59
248
837
646
596
844
774
170
478
819
434
233
393
864
656
514
961
720
504
920
365
384
262
128
589
616
839
948
359
230
130
675
657
13
166
613
758
3
840
871
879
73
650
324
852
401
154
384
728
497
776
833
843
865
186
530
687
286
733
217
847
961
314
23
424
418
601
508
561
191
798
249
168
761
939
53
475
134
295
817
799
751
608
998
783
116
752
366
422
654
892
481
380
825
355
868
456
453
278
419
599
547
516
925
486
660
450
989
569
942
95
774
416
614
346
172
353
556
307
25
688
47
352
972
250
472
37
329
584
996
967
176
911
785
505
498
873
330
526
759
160
838
498
801
346
471
804
314
668
370
618
418
979
91
586
97
874
24
264
303
768
849
546
579
793
886
293
942
486
451
995
590
611
964
572
732
906
608
353
437
214
813
882
987
225
672
411
601
27
703
879
797
744
11
722
883
840
22
58
234
49
419
703
101
486
834
949
635
227
120
279
717
524
774
979
968
872
155
148
988
336
694
726
496
920
209
4
524
257
749
507
248
564
184
300
350
659
838
518
20
778
61
374
851
109
584
976
907
218
846
36
193
17
275
974
592
521
674
933
107
402
439
6
891
270
342
279
126
684
983
367
281
137
847
791
658
628
76
881
419
993
715
894
496
865
185
678
859
983
172
547
633
595
963
960
488
848
473
260
493
406
896
975
401
11
913
137
941
322
893
653
201
196
353
25
694
492
245
602
975
600
282
110
983
165
627
441
427
883
736
525
585
829
63
657
901
506
613
826
590
685
50
450
298
175
196
388
519
820
236
282
103
420
922
84
647
753
356
72
36
569
707
807
650
226
335
250
39
646
373
675
941
394
742
140
610
959
983
999
308
815
13
348
711
388
128
355
707
866
130
153
730
668
471
325
343
503
669
66
262
149
98
754
382
484
404
51
663
844
479
600
919
478
885
86
649
746
85
702
68
676
667
42
395
717
962
68
270
818
128
72
905
440
821
485
204
778
21
979
613
224
437
563
905
89
229
259
475
674
402
525
940
72
358
787
25
489
555
335
782
442
124
343
142
927
611
988
719
557
685
443
513
676
812
58
927
689
369
174
30
186
642
816
569
963
451
3
612
698
905
517
20
873
922
748
187
520
719
683
603
496
410
186
827
291
232
460
429
823
696
998
261
279
101
383
218
830
488
2
280
956
40
137
208
200
381
893
741
399
991
136
512
832
185
936
188
257
711
10
550
530
37
327
299
325
833
326
399
526
984
176
676
987
700
134
196
722
953
317
696
41
512
160
937
796
288
404
417
694
612
727
301
580
281
1
783
720
934
757
356
329
370
623
608
76
929
400
257
803
933
932
81
482
517
160
305
290
847
546
780
734
870
572
977
966
251
176
436
773
64
776
792
244
171
30
931
787
914
563
128
997
949
713
267
845
539
737
342
809
642
62
503
857
450
854
829
639
820
635
887
860
230
694
855
553
440
799
682
912
80
30
303
403
717
645
413
104
814
532
676
623
173
154
535
473
68
894
984
503
294
360
752
813
811
508
368
619
449
433
476
685
426
265
583
286
32
912
171
112
935
326
695
201
966
530
562
754
154
937
611
648
22
349
953
569
839
621
309
936
618
160
133
238
117
331
862
937
20
342
629
863
756
389
650
888
130
658
266
717
71
309
344
845
278
683
297
63
528
820
544
434
701
815
576
309
328
673
177
789
632
96
519
20
542
79
17
833
172
274
840
560
576
834
944
281
376
840
302
376
47
495
808
24
219
972
961
198
331
158
998
782
390
614
661
681
376
690
98
165
53
134
752
242
542
491
227
551
47
267
267
129
554
119
937
408
151
319
67
980
838
356
777
975
386
805
668
401
810
551
884
419
498
17
753
315
918
326
227
894
58
197
604
128
473
964
349
125
859
293
938
959
589
78
733
412
532
490
893
462
770
374
152
213
556
986
147
10
947
613
615
689
86
713
408
262
19
81
775
854
280
958
762
375
199
164
908
235
51
95
629
394
709
853
831
176
410
889
297
569
634
267
370
184
838
69
284
645
981
521
239
967
358
132
17
368
240
518
449
52
227
592
562
746
6
513
602
124
435
112
389
829
459
502
698
495
426
253
422
15
748
806
295
331
728
773
855
177
591
394
160
545
403
692
470
106
629
807
759
486
509
587
450
51
343
745
199
839
986
811
925
377
586
659
502
357
652
602
739
608
21
932
295
338
228
290
170
370
27
469
310
982
574
48
602
7
866
795
289
28
551
908
378
900
170
972
159
305
200
989
332
735
35
943
596
113
151
153
725
264
291
107
339
550
441
532
583
313
729
236
864
202
175
648
680
61
357
32
285
834
692
78
635
859
963
947
595
971
171
864
886
117
556
55
610
520
854
135
504
10
476
96
225
826
302
643
112
41
221
995
852
804
373
170
373
718
299
459
153
46
835
17
799
876
652
470
423
44
798
21
864
398
452
760
241
922
392
828
671
373
326
607
265
327
357
352
636
945
297
526
255
373
481
654
952
380
9
683
720
772
57
670
814
117
26
131
775
563
787
527
638
834
256
182
94
71
803
377
761
774
805
508
54
997
739
963
375
880
810
794
443
776
28
388
666
486
51
39
344
610
841
777
404
592
393
822
55
810
356
791
476
1000
361
121
166
343
277
217
92
811
394
526
142
732
774
61
658
77
584
906
47
704
284
886
549
601
948
890
243
226
829
320
285
184
534
720
211
825
796
968
821
809
911
317
827
341
340
158
967
556
851
653
726
500
851
258
166
248
234
740
610
960
137
492
104
116
508
832
611
715
279
488
919
984
223
673
76
11
309
988
973
762
460
863
393
163
149
457
432
246
200
681
702
916
482
522
151
518
933
950
631
252
489
462
592
440
57
768
395
779
611
203
766
41
870
193
890
100
781
525
438
783
205
208
634
811
790
438
83
5
8
560
674
13
715
931
337
46
413
287
819
492
586
555
917
830
107
34
816
957
720
551
263
914
48
475
326
977
391
467
384
292
824
435
824
519
766
483
644
455
210
529
772
231
290
898
482
486
727
422
690
852
928
483
298
207
249
14
984
412
956
656
2
653
956
165
643
108
225
698
949
376
195
756
174
988
57
448
272
374
33
199
375
866
228
202
823
643
570
714
828
86
685
761
236
626
304
948
210
41
938
836
831
94
96
787
793
593
307
281
361
199
543
427
742
784
430
837
830
754
802
40
78
484
734
370
878
976
182
622
419
872
769
784
465
240
22
854
857
893
606
92
852
585
702
44
593
84
698
331
100
24
788
510
184
419
905
288
593
898
658
956
521
62
591
246
320
812
119
692
907
175
977
201
887
913
852
780
828
172
176
257
526
534
703
418
304
73
581
161
566
478
149
179
920
839
534
186
108
447
472
896
904
846
457
806
910
401
444
314
863
879
858
892
693
856
580
807
40
308
908
364
380
400
259
774
213
317
487
518
989
939
260
513
586
356
908
485
182
439
506
688
302
192
711
527
697
198
92
692
419
209
228
122
162
905
870
509
488
856
839
53
17
10
156
895
75
380
78
958
540
169
358
969
853
250
45
40
224
801
579
535
121
895
771
896
967
996
481
724
866
680
477
689
840
330
984
794
730
241
907
86
416
323
580
156
497
577
139
707
875
585
325
967
963
562
579
12
413
901
803
869
295
741
39
851
656
792
621
715
259
585
90
126
90
301
223
346
912
579
110
276
740
42
87
764
631
791
700
537
575
777
598
289
595
829
402
187
404
26
151
511
72
315
885
241
213
505
280
139
133
274
36
283
222
385
875
69
661
96
618
414
119
669
768
259
751
941
436
510
221
174
264
232
886
758
172
248
562
924
399
306
479
291
327
614
118
940
976
866
667
729
937
840
687
717
697
271
457
894
999
988
142
908
917
227
586
102
764
630
57
968
849
697
717
100
349
330
937
792
239
703
828
729
319
894
541
619
843
572
909
188
183
589
45
703
230
487
327
63
966
784
22
546
736
401
486
509
295
728
478
685
597
666
617
225
664
419
446
331
578
947
851
120
812
771
858
355
644
248
894
820
384
530
697
403
471
157
958
398
307
663
657
161
848
604
781
987
548
152
809
33
279
756
868
151
189
425
3
752
322
841
305
186
985
867
3
702
481
19
766
711
849
113
580
960
683
601
575
228
908
101
67
330
667
222
931
519
93
71
102
897
804
784
671
38
408
972
554
859
179
263
167
694
327
996
870
663
966
699
240
658
973
181
325
715
400
965
187
100
26
294
921
174
907
137
298
992
520
463
917
620
180
550
461
385
963
241
240
591
259
874
738
782
452
85
244
275
915
790
9
527
711
442
575
874
884
97
48
331
229
896
129
402
764
336
664
352
916
98
319
945
604
258
733
455
966
424
174
651
514
721
283
552
837
565
978
961
822
850
945
181
542
527
455
870
591
536
422
685
656
716
728
207
547
613
821
679
736
97
550
240
710
288
960
662
59
609
540
95
298
665
27
937
876
309
405
771
674
430
186
231
584
949
404
781
420
55
10
663
513
928
524
662
815
65
843
939
241
856
119
899
281
246
457
942
614
157
995
22
585
830
624
89
903
432
177
894
869
26
457
116
768
544
852
460
782
453
633
180
958
622
222
485
286
332
877
412
920
441
259
34
929
487
295
342
743
893
594
733
630
520
442
805
120
504
36
64
293
718
226
255
238
193
455
221
779
540
17
614
793
752
12
305
53
753
565
54
533
726
994
851
560
555
606
351
27
677
709
993
106
277
253
727
564
20
220
752
826
470
548
291
381
899
863
244
20
493
778
502
620
802
831
804
912
899
428
289
715
877
272
320
637
232
874
715
117
163
670
271
1000
49
191
339
538
169
479
260
815
245
675
672
144
539
257
50
868
38
960
361
369
740
784
373
811
162
827
3
275
980
908
37
535
131
72
736
634
827
94
94
819
635
60
993
158
223
936
96
311
407
806
73
561
851
97
700
144
151
714
412
361
71
433
151
726
348
330
717
615
876
276
399
522
30
722
329
2
568
129
888
862
858
352
495
938
129
247
270
88
82
553
410
637
473
845
570
582
205
973
200
314
58
937
576
486
458
605
216
925
541
15
464
149
387
253
313
155
454
88
936
622
165
566
976
555
99
796
384
736
431
983
465
6
112
596
858
565
763
221
356
953
424
263
844
341
106
159
133
64
549
182
141
92
732
226
715
250
429
182
330
588
576
672
79
224
275
893
637
371
20
327
350
19
134
865
178
926
466
698
27
141
107
938
876
301
266
549
224
290
457
606
568
718
861
294
73
813
41
351
56
984
194
835
691
326
789
204
138
736
732
709
341
178
172
995
891
851
690
641
702
673
881
65
699
535
278
893
370
241
163
388
832
925
50
991
3
976
526
383
571
231
706
721
744
212
769
866
146
734
904
488
819
71
545
909
33
177
933
416
459
163
909
579
350
367
318
785
530
839
570
799
384
21
703
687
529
712
786
819
526
172
570
4
829
333
131
40
116
671
651
68
326
222
567
173
985
603
101
625
875
675
547
969
701
648
770
965
166
15
101
20
797
707
147
320
930
223
105
359
494
333
822
915
626
117
200
849
692
761
537
254
988
507
57
603
248
613
163
545
103
8
961
918
812
546
179
334
886
429
903
467
738
419
499
745
113
908
649
735
838
772
710
921
409
243
487
933
6
657
69
539
821
64
617
883
972
145
831
499
883
797
380
618
712
35
748
172
317
576
791
667
285
580
811
797
753
547
80
284
103
285
582
903
128
225
198
96
930
56
674
872
650
839
497
917
94
281
244
995
467
834
43
702
718
617
551
645
451
963
253
902
961
547
923
426
720
639
844
683
554
15
721
403
819
474
268
770
147
664
125
798
673
185
113
884
237
508
818
742
740
285
163
30
688
67
918
957
977
242
87
106
130
283
717
484
541
27
949
585
740
744
84
816
349
233
11
250
183
46
594
42
902
181
526
228
730
319
717
889
15
695
477
796
825
236
667
741
351
476
480
721
616
41
723
32
890
242
301
101
223
403
109
601
752
63
682
955
761
156
771
887
992
567
465
47
392
210
632
74
279
949
183
691
916
186
148
540
601
945
603
507
683
597
258
240
378
210
916
389
829
591
55
875
653
769
533
150
126
584
757
958
219
469
696
609
948
329
820
149
871
602
353
76
133
210
261
472
132
141
21
505
755
820
540
262
138
242
572
782
77
130
562
981
540
956
172
892
205
786
652
240
603
316
806
962
217
347
572
661
866
237
118
400
776
506
919
426
30
887
513
639
504
596
476
642
949
468
719
209
640
946
359
872
887
585
288
129
737
862
42
450
424
611
725
866
440
303
579
446
661
752
205
333
587
553
623
393
610
705
91
683
184
425
56
137
929
114
707
867
987
813
327
422
378
232
71
218
752
638
825
80
656
466
550
522
380
481
861
932
505
749
634
339
515
466
107
771
230
879
300
550
335
188
556
28
22
295
664
367
571
736
353
3
743
926
876
298
22
112
64
749
47
64
474
806
84
595
222
4
6
429
646
651
55
862
234
747
608
848
111
148
253
900
976
280
800
226
573
830
195
21
660
920
949
747
964
266
378
524
808
672
871
452
915
4
415
819
409
509
834
657
181
890
550
39
594
106
159
848
969
247
831
466
418
147
332
17
372
656
447
305
567
571
763
581
374
318
1
615
79
366
588
333
127
247
751
447
421
781
155
91
460
777
72
481
484
59
94
969
826
114
670
730
342
64
118
454
145
937
309
95
858
407
934
705
251
272
81
829
457
944
932
761
893
136
475
212
664
750
525
569
505
686
779
988
220
937
297
25
207
856
575
357
882
929
349
437
722
737
345
582
213
54
490
100
192
163
471
514
965
574
165
899
84
268
126
567
878
506
265
122
650
983
853
969
973
855
217
903
641
715
825
324
680
122
990
974
241
710
76
787
378
191
925
656
424
815
208
406
181
972
519
259
184
648
357
437
50
406
567
310
363
402
423
668
559
693
306
307
13
779
844
68
914
859
449
900
512
782
433
301
34
30
259
691
888
370
37
917
789
15
61
69
61
192
58
254
732
75
825
767
949
909
80
374
893
980
726
49
661
833
141
556
474
723
820
730
222
869
414
182
535
498
232
418
543
2
313
27
985
823
497
696
586
815
294
289
476
892
956
127
943
784
880
888
29
549
346
297
275
327
665
840
464
476
976
291
322
849
326
763
980
469
142
299
443
274
910
810
454
914
667
260
890
808
919
578
305
821
720
739
274
902
953
796
992
40
292
445
932
674
941
850
483
504
998
78
145
266
227
433
284
637
75
426
430
883
23
877
843
266
735
883
339
490
11
972
436
670
267
825
494
417
100
316
835
609
524
514
807
357
622
495
373
474
698
448
83
492
473
659
216
890
527
348
484
737
977
271
929
407
318
196
537
342
489
104
675
138
450
5
658
340
12
766
618
449
226
246
401
575
335
321
373
76
248
106
878
305
474
790
577
270
684
5
60
614
436
606
916
846
81
47
929
121
562
291
188
242
628
329
663
726
981
940
245
947
994
288
344
381
945
292
872
924
158
510
857
122
51
436
965
875
849
671
976
860
638
476
563
484
521
544
815
648
863
677
587
972
982
246
116
440
236
914
353
601
83
149
74
555
628
461
201
982
112
128
664
353
21
434
817
301
784
75
663
849
526
426
79
817
975
862
847
262
427
141
515
268
589
163
38
727
286
80
696
22
208
820
995
674
364
574
159
104
420
688
318
593
886
720
679
456
961
107
859
187
916
16
974
45
81
465
316
153
865
749
188
677
757
491
987
63
895
440
715
640
670
228
882
101
747
885
213
529
79
853
649
637
756
607
876
877
980
770
34
874
76
764
306
443
210
654
808
61
382
804
565
280
382
367
398
3
572
441
231
942
795
927
649
871
230
726
558
448
711
957
447
532
890
284
45
855
654
281
152
898
337
7
30
565
620
601
38
33
502
759
103
731
329
429
222
1000
692
891
458
355
943
700
755
692
186
615
487
972
864
735
867
133
472
548
207
2
529
496
547
984
630
960
365
162
333
283
925
252
643
541
281
524
78
332
170
425
650
734
774
109
599
957
843
541
414
927
758
104
453
186
931
908
519
72
324
92
816
53
9
482
70
509
402
880
991
974
232
125
914
68
336
816
163
897
132
248
655
733
942
687
296
122
408
563
972
429
900
572
323
997
175
936
25
727
536
264
19
904
380
589
958
524
360
110
197
201
336
123
765
987
904
410
135
62
592
114
54
330
728
708
358
383
582
263
462
203
643
605
197
179
766
340
751
767
516
960
739
146
232
411
850
734
210
577
88
329
941
87
363
937
506
762
66
44
95
779
314
227
90
338
754
505
325
204
149
747
931
12
521
823
653
626
258
880
633
171
428
298
445
564
549
433
596
511
154
186
798
978
832
845
66
72
845
365
90
135
37
478
411
576
522
572
620
683
535
285
190
155
942
149
571
638
84
421
866
856
73
455
743
294
165
568
239
509
546
385
762
286
731
66
916
856
768
667
718
290
641
106
427
14
553
861
457
107
285
579
798
672
440
237
957
118
191
343
666
613
90
960
523
341
617
988
281
429
389
250
729
584
398
383
957
546
176
461
350
431
582
566
828
923
720
226
697
56
607
766
961
31
357
123
108
86
48
621
194
980
915
518
512
19
205
884
245
911
840
522
301
930
40
171
949
10
148
229
955
444
254
548
700
757
613
671
122
234
494
18
418
281
831
152
130
504
993
194
642
922
48
905
109
229
130
718
560
384
907
225
211
110
704
233
81
59
501
532
604
501
932
939
261
423
376
8
232
789
435
54
674
589
391
761
510
967
747
721
562
397
558
678
440
387
94
160
843
638
277
392
848
934
493
126
305
298
599
47
685
106
402
957
579
914
414
780
620
740
482
784
710
413
712
95
368
375
207
683
418
55
304
565
466
480
359
834
377
331
657
523
447
52
671
984
91
932
730
678
629
306
145
758
209
162
960
832
974
456
805
634
349
398
785
112
712
818
908
611
770
459
368
413
705
732
885
897
473
10
383
958
744
31
531
143
562
348
47
161
244
53
213
39
947
197
759
219
42
429
108
320
725
365
12
107
249
143
758
478
812
387
463
893
377
593
443
737
672
503
302
572
181
645
150
85
203
597
334
816
937
923
165
424
143
959
386
338
107
812
538
123
547
970
970
785
594
929
962
548
187
96
314
339
55
32
817
337
951
778
181
447
969
615
416
510
569
107
102
370
419
686
710
681
258
376
931
455
801
438
968
939
103
887
857
323
911
841
222
199
278
618
271
397
115
351
477
71
411
615
139
431
571
267
954
542
702
227
759
992
690
430
910
36
607
537
66
40
320
295
773
635
183
619
866
58
330
580
634
530
411
462
648
396
573
1
357
984
100
694
872
749
431
825
826
381
181
461
868
960
390
224
100
133
492
72
754
558
359
680
495
521
376
277
999
726
691
917
870
759
672
293
554
594
114
105
617
834
945
936
656
76
14
327
147
919
16
474
743
627
808
537
882
417
143
72
89
645
326
511
12
934
425
923
71
402
439
513
560
725
263
455
214
709
381
683
502
425
964
204
400
723
461
365
974
110
810
226
886
586
140
888
833
986
184
167
35
805
664
505
88
261
585
340
898
568
726
516
978
6
604
434
36
401
846
785
708
35
205
715
237
863
442
145
118
136
885
833
19
188
792
447
801
178
547
590
59
60
337
211
447
901
172
302
949
937
52
147
419
451
613
590
918
614
816
15
848
948
108
744
419
937
16
568
745
641
324
995
723
850
812
567
926
454
35
333
914
201
798
109
742
971
745
715
936
984
998
749
907
162
860
789
571
935
411
160
927
402
224
484
513
670
559
320
905
577
103
102
918
778
750
458
749
336
967
743
77
557
8
254
41
791
618
213
112
310
875
26
87
202
536
742
832
378
556
900
935
466
489
158
153
337
90
190
354
448
769
349
714
43
531
486
61
456
608
161
597
432
326
183
720
421
633
58
284
268
351
445
458
569
419
191
253
259
327
830
949
645
493
713
855
211
545
81
310
983
347
472
365
158
136
810
343
987
318
434
356
632
323
63
889
799
395
451
787
504
373
11
308
230
302
249
444
75
202
249
362
240
425
725
646
333
832
450
21
525
422
941
340
565
179
347
953
1000
605
419
992
737
855
296
726
251
409
590
916
328
956
905
985
228
543
530
934
533
33
458
131
761
655
330
512
28
716
135
265
666
585
721
768
697
684
260
420
526
543
814
996
26
947
63
349
423
799
73
594
66
646
703
387
176
702
880
559
156
822
523
162
902
129
301
916
819
870
804
170
927
683
930
752
523
626
470
482
365
224
913
733
216
304
517
110
912
572
512
255
819
733
131
790
645
451
841
623
110
593
740
216
901
20
610
895
657
637
493
979
502
569
19
307
739
64
898
746
918
200
142
389
430
534
611
433
126
596
425
207
267
521
613
404
253
191
165
336
182
949
261
961
278
338
72
491
615
342
956
641
362
291
286
940
5
921
413
99
587
102
463
104
50
371
775
582
174
747
782
980
452
233
48
279
475
79
2
291
43
114
615
56
279
421
921
505
473
198
796
351
246
908
857
106
904
734
710
245
519
876
3
783
362
491
914
979
802
915
787
409
683
351
565
442
473
387
589
975
235
536
92
391
516
520
421
853
834
138
613
428
334
381
456
54
523
940
591
2
740
334
495
356
161
717
460
957
678
802
749
461
976
479
216
392
467
418
549
568
522
364
209
857
635
899
840
2
704
138
620
150
628
224
577
816
811
505
368
241
951
945
394
475
720
695
434
83
543
717
136
50
704
19
835
339
439
378
149
545
515
366
741
287
8
159
413
264
675
838
473
432
334
864
896
352
143
986
369
580
530
83
745
914
787
350
759
410
37
798
163
355
338
258
529
801
211
934
102
825
747
102
23
438
753
716
120
926
132
537
270
469
768
889
25
77
728
308
761
232
526
147
172
164
515
678
282
310
204
353
513
391
471
647
534
458
170
375
777
463
594
425
520
142
619
628
384
497
147
873
952
735
588
644
960
312
784
855
161
624
674
263
572
987
490
722
235
754
993
273
34
832
514
373
400
375
185
574
903
166
707
615
856
15
516
210
37
553
957
758
571
946
375
844
809
381
643
672
771
668
720
503
365
933
271
755
104
166
267
694
510
347
733
515
728
978
493
198
120
106
864
728
808
338
716
139
152
953
209
380
154
895
850
166
661
376
187
850
997
814
591
808
395
63
84
29
135
239
120
357
864
952
529
357
939
421
600
848
970
803
405
958
963
3
32
971
587
407
347
346
135
255
262
1
680
836
274
410
779
262
196
66
844
392
609
621
943
340
518
356
368
124
136
688
790
203
472
82
186
80
653
99
19
645
491
282
338
679
846
270
571
760
745
800
787
846
76
255
100
969
889
25
731
806
990
219
947
370
582
217
739
691
133
132
614
188
553
498
362
331
994
402
960
337
294
857
52
903
157
387
625
366
650
728
515
311
485
5
412
313
885
997
866
451
504
897
609
227
7
495
187
749
434
847
502
388
402
330
362
626
512
415
559
489
96
634
297
778
564
1000
29
297
171
545
888
412
980
773
930
569
158
525
352
847
526
206
691
239
438
335
786
103
671
139
905
144
973
247
62
391
347
598
959
811
896
334
429
647
329
824
504
76
777
914
425
486
647
215
32
549
611
478
969
246
719
139
17
202
819
689
752
997
124
828
381
591
839
287
278
673
187
804
271
490
66
967
169
711
812
556
367
949
243
582
616
846
233
407
234
51
553
239
58
962
605
794
443
889
1
122
488
130
615
413
444
522
872
131
965
241
549
930
446
940
306
663
221
875
462
225
774
307
314
116
463
294
412
371
458
994
765
954
739
706
910
798
27
182
151
407
473
210
15
368
759
42
191
148
50
35
762
297
866
770
558
519
539
999
834
142
359
2
291
145
940
318
661
312
573
364
690
13
560
154
375
805
607
183
744
355
372
559
286
124
142
634
393
910
486
704
816
594
395
838
178
397
90
534
65
517
200
677
68
289
462
253
420
893
428
351
539
211
938
269
911
643
269
944
173
551
932
512
213
562
86
523
359
106
378
250
478
439
849
528
874
865
206
815
439
68
370
484
410
229
718
871
429
95
843
305
337
289
973
124
279
915
419
701
261
959
547
621
234
72
805
457
170
67
281
23
343
873
122
619
226
731
878
510
978
167
525
838
501
597
467
200
424
507
300
401
204
781
494
233
697
136
449
719
210
583
551
917
36
517
982
287
922
321
11
572
727
362
424
388
797
854
579
972
203
362
254
65
58
635
131
534
575
77
280
116
404
368
431
639
37
699
190
156
776
608
621
733
811
634
742
986
468
884
576
110
567
119
373
814
141
172
487
506
477
327
174
83
535
811
299
915
353
675
494
932
938
183
855
265
517
268
656
552
705
741
868
836
358
725
523
971
379
225
69
595
725
806
894
16
225
143
171
805
599
569
983
497
209
837
482
583
715
7
459
857
736
747
304
290
58
379
786
830
704
665
466
889
410
677
858
860
649
97
616
680
372
948
160
311
65
42
124
52
546
436
944
727
175
778
716
140
785
721
163
677
708
493
206
540
705
350
148
940
500
824
928
472
874
637
266
54
943
666
740
33
356
606
48
504
602
798
713
450
541
274
528
60
551
190
862
446
425
740
773
41
211
50
541
155
779
783
853
523
761
955
357
190
878
920
733
754
414
647
723
791
706
140
823
311
109
320
409
174
831
771
184
748
412
486
701
491
363
178
616
777
702
750
50
39
670
259
126
224
909
75
291
611
790
940
510
314
377
372
829
138
698
126
34
23
654
494
385
14
868
820
462
531
242
964
173
749
798
365
911
49
628
31
616
842
427
9
273
530
128
864
970
27
617
260
192
40
369
994
468
273
130
738
837
806
425
307
844
196
769
467
959
213
948
197
354
769
621
832
966
261
812
689
651
479
558
649
6
267
88
627
143
317
447
51
303
820
392
255
673
263
719
162
222
254
922
776
654
144
245
744
813
176
709
714
19
10
680
295
815
803
907
165
591
439
704
293
360
134
165
278
743
394
844
550
866
223
369
527
456
547
790
869
861
79
333
629
153
191
390
485
712
954
204
176
898
162
746
976
525
49
665
311
844
393
89
604
665
893
216
49
35
4
357
310
675
930
88
47
925
73
650
793
557
73
602
927
225
482
993
406
652
253
2
480
956
478
76
811
629
216
86
322
794
850
908
596
296
116
168
847
101
865
543
333
238
640
186
553
227
351
322
757
515
712
993
72
974
579
297
42
903
32
142
488
307
843
762
372
433
971
710
782
702
861
74
269
186
592
970
466
721
422
181
381
623
820
948
762
694
897
539
689
897
25
178
892
614
526
341
340
917
547
202
319
610
614
237
565
137
912
612
13
607
35
966
379
304
791
693
86
46
698
577
41
673
933
957
364
766
848
169
456
404
632
129
742
421
366
322
992
143
459
378
392
35
459
642
419
28
307
851
163
571
368
105
916
591
5
804
757
617
18
119
366
319
26
883
499
554
726
471
384
838
49
361
807
824
378
611
801
977
413
370
671
156
717
920
539
186
709
445
732
869
631
906
103
61
54
914
802
609
591
493
141
948
791
945
888
132
634
840
778
878
661
302
68
13
527
357
673
315
692
102
799
366
22
840
29
452
344
132
476
968
328
922
985
54
670
522
341
375
211
232
117
74
507
829
68
911
356
973
999
537
983
827
594
637
887
821
25
435
844
560
54
659
199
324
962
605
378
455
871
394
481
243
924
846
957
543
363
660
587
485
745
757
457
99
425
692
143
582
937
28
89
243
130
455
37
860
702
182
398
298
332
878
688
759
707
997
461
974
598
840
736
951
569
110
541
663
49
62
45
192
264
522
730
391
955
237
173
93
921
9
338
257
146
26
688
219
693
669
58
371
592
780
995
203
681
99
168
617
717
98
551
800
104
929
296
794
288
595
614
49
175
715
512
912
962
475
941
982
398
422
775
722
817
796
42
539
235
985
992
760
452
512
931
633
344
688
220
465
490
687
471
527
865
351
775
177
564
462
747
952
443
559
268
45
114
667
87
647
946
421
839
177
592
172
637
242
104
610
107
552
880
346
629
656
496
647
604
517
36
243
738
452
619
698
721
903
675
368
176
801
981
344
421
81
570
142
417
999
430
79
255
484
325
436
683
708
176
529
433
417
174
768
615
343
210
605
989
193
258
51
744
286
80
108
291
907
956
983
673
847
233
506
427
379
96
456
107
154
374
878
236
95
141
594
140
396
554
258
996
169
669
281
414
87
941
876
49
647
739
293
82
292
484
24
868
696
962
402
687
978
926
547
356
468
385
56
371
916
867
183
379
719
480
507
51
824
851
255
805
449
863
498
459
657
658
441
579
137
542
866
192
231
285
619
595
370
796
686
155
614
304
22
382
899
4
807
61
936
560
185
883
447
17
903
869
570
422
441
837
804
900
400
305
847
34
926
540
15
118
882
866
727
280
361
6
706
518
856
948
112
416
77
781
863
668
980
992
720
580
31
962
598
396
117
799
696
632
804
151
713
612
827
395
393
38
806
398
108
741
168
109
983
745
198
379
340
347
915
738
849
266
246
344
874
785
549
960
899
425
110
592
838
965
657
388
269
462
305
504
324
551
573
892
50
475
311
395
535
185
399
110
999
386
93
706
345
563
755
271
384
898
487
313
44
451
882
735
408
151
726
959
350
964
947
893
870
25
565
95
964
704
676
322
12
308
756
631
235
571
676
331
698
182
871
385
727
342
53
311
376
731
683
234
738
353
196
511
494
425
625
251
85
845
834
157
275
807
47
328
683
835
741
37
63
807
258
82
744
574
681
963
630
423
607
32
626
926
487
747
145
706
70
347
644
260
351
588
717
257
100
655
393
674
724
10
692
706
716
714
379
650
407
753
135
865
76
934
13
448
728
259
162
521
23
40
266
846
886
635
56
73
328
389
542
43
851
267
340
474
644
712
557
807
421
443
236
172
387
292
290
213
303
659
174
29
40
865
294
534
326
487
297
404
618
746
930
132
157
157
123
868
291
956
311
426
130
237
784
259
382
378
17
271
48
71
542
25
250
197
880
319
77
861
481
72
787
150
386
215
89
528
569
566
514
363
498
691
76
767
506
409
523
777
954
896
487
929
42
322
742
453
327
552
611
617
675
770
275
259
417
753
368
160
932
170
792
718
765
503
109
339
627
84
219
33
334
318
311
27
797
373
202
556
677
474
260
624
228
502
101
229
116
734
89
439
752
459
490
759
761
639
801
413
740
999
398
545
397
689
112
824
465
160
799
639
557
2
254
872
262
271
61
237
313
280
84
286
663
898
367
504
609
164
119
351
933
436
336
714
165
309
362
997
671
319
328
5
265
764
25
839
420
30
177
254
980
491
523
331
453
388
347
842
620
94
341
401
157
813
729
334
469
102
643
237
693
521
591
336
111
389
740
104
867
867
401
62
879
544
773
342
374
278
524
362
253
301
225
936
848
500
19
241
234
338
133
306
395
102
40
147
13
38
105
209
531
450
560
526
475
44
505
901
699
611
427
433
340
683
432
948
803
888
970
210
998
604
336
337
416
941
662
498
331
194
401
776
604
721
561
113
79
618
49
328
536
637
536
544
545
568
191
781
296
703
493
95
698
33
60
387
596
595
116
950
962
696
782
872
291
835
837
667
258
771
1
865
885
560
38
882
83
378
216
126
458
578
721
231
694
773
653
234
671
671
126
773
680
26
819
621
799
355
52
423
486
976
80
95
947
551
849
164
685
539
882
257
890
867
332
74
51
712
480
436
199
463
110
406
727
847
293
68
594
695
46
282
47
30
233
623
686
998
865
727
812
644
637
519
543
715
131
100
61
453
660
628
749
830
75
163
652
785
238
294
891
809
38
332
191
649
992
1000
634
11
487
852
126
864
675
72
834
373
866
949
29
537
41
73
336
323
753
191
404
468
238
784
404
135
78
614
534
315
83
905
958
178
374
354
199
605
854
875
24
765
309
821
297
915
439
467
101
568
985
678
673
811
965
34
343
791
743
148
710
380
277
564
760
570
460
410
484
426
864
930
834
310
581
122
521
673
110
990
251
895
363
314
479
553
982
421
661
10
89
199
282
408
503
433
646
996
218
646
529
192
646
767
321
982
726
357
203
7
491
607
241
217
118
993
13
44
778
315
549
839
854
800
887
781
200
125
529
506
168
469
442
495
63
186
998
634
535
279
468
442
176
617
208
162
253
778
730
277
68
443
186
78
903
522
642
539
923
579
692
149
645
646
609
304
817
247
210
562
623
283
90
314
146
462
657
449
936
104
687
180
333
504
735
475
931
496
800
489
202
498
96
974
808
144
657
887
619
504
750
325
755
50
775
482
256
771
396
523
133
237
137
147
616
35
590
164
416
678
649
543
649
16
939
290
903
208
673
963
604
501
735
808
418
446
685
314
963
666
717
430
499
984
367
828
567
520
872
361
813
376
671
324
310
630
468
166
779
695
666
119
9
509
728
543
649
663
217
900
307
314
834
952
516
648
788
161
734
761
177
307
8
19
937
11
277
377
37
188
647
657
288
468
81
511
110
275
110
620
34
533
144
727
569
981
877
239
280
662
110
486
575
457
18
174
769
442
541
256
415
463
94
176
794
564
255
447
698
782
411
601
340
430
625
812
281
154
129
931
780
961
924
218
854
925
943
820
639
454
98
911
350
877
344
443
261
557
566
701
624
937
687
159
413
703
932
680
56
729
555
768
123
585
687
386
17
175
160
868
320
493
308
553
374
595
777
96
55
610
325
841
453
30
425
256
375
589
254
189
138
719
316
624
133
996
485
693
32
964
781
930
295
453
499
140
865
821
681
798
545
557
30
605
555
334
533
660
231
916
24
751
615
268
836
412
964
877
524
726
827
535
346
341
406
779
828
801
356
796
277
75
67
814
541
145
727
923
674
589
138
833
395
382
355
282
444
539
691
669
923
822
539
58
779
429
761
816
378
515
93
62
970
394
143
543
498
514
66
735
832
611
939
781
976
4
188
310
254
617
150
356
758
183
5
324
586
35
881
406
527
35
849
958
870
499
948
59
987
403
92
899
145
785
939
715
809
999
342
674
310
419
29
502
355
241
519
685
303
284
111
737
542
69
979
382
553
994
20
495
461
136
119
291
974
57
933
582
604
6
127
847
972
87
212
534
837
268
820
250
199
606
268
444
446
704
731
792
69
176
232
710
909
904
874
360
235
907
486
39
222
976
869
84
549
592
363
285
915
245
345
323
227
6
546
953
118
80
807
459
212
116
3
453
277
255
376
190
966
245
462
431
399
475
96
302
194
441
773
771
933
976
722
100
221
585
671
83
650
325
170
978
26
995
767
771
130
836
52
823
159
555
797
15
735
232
974
211
36
632
449
237
163
447
521
606
347
307
301
894
957
721
107
18
572
683
689
673
581
381
112
819
832
290
534
429
924
944
986
690
570
868
453
435
346
447
246
894
806
27
681
786
629
141
533
328
940
576
628
41
450
948
168
79
354
520
98
421
230
325
873
423
296
9
496
162
488
428
589
481
781
754
547
846
41
718
559
993
510
679
355
786
690
411
112
912
23
826
824
817
227
411
814
771
602
785
776
52
906
621
919
43
639
176
279
449
709
777
292
938
464
936
17
268
53
199
231
349
887
444
736
752
773
109
861
910
909
750
70
603
516
400
35
360
379
428
303
103
892
8
902
681
555
813
858
950
9
284
585
714
822
663
577
136
246
999
629
206
50
494
76
470
385
894
163
504
336
113
745
554
456
895
929
343
112
134
176
311
916
420
625
438
858
471
82
382
23
389
223
845
916
95
1000
998
517
855
199
285
127
576
336
127
973
393
841
898
305
164
548
8
437
636
67
131
752
446
515
380
212
612
425
715
337
834
402
10
902
772
208
939
855
418
563
330
83
853
845
679
661
938
288
288
212
969
14
895
812
907
438
718
635
580
134
535
225
149
282
840
807
230
174
75
556
273
73
701
97
199
948
136
822
847
168
646
775
458
328
893
978
306
746
156
58
587
41
234
958
843
426
623
325
532
992
866
901
823
328
904
856
357
263
834
562
472
383
740
721
383
250
167
140
875
942
354
673
360
573
582
19
544
991
828
162
556
719
489
145
74
505
84
835
929
574
717
46
664
764
549
129
752
277
703
719
522
668
839
826
358
70
69
885
410
350
48
685
874
69
820
329
870
652
459
501
121
138
606
345
879
249
784
229
42
277
753
489
973
478
233
7
328
223
35
161
91
180
29
215
115
162
377
729
671
91
173
919
920
751
955
197
761
591
552
320
187
870
398
651
173
874
725
72
104
761
52
972
933
808
966
573
579
518
510
556
566
69
393
608
522
57
858
23
974
334
266
941
818
40
366
163
927
578
796
728
661
381
550
598
438
794
30
870
102
307
842
906
551
667
655
649
3
104
304
185
286
19
805
287
754
15
103
311
797
63
192
269
412
935
700
363
974
778
160
554
167
844
968
961
41
945
469
40
255
154
678
501
901
655
924
883
736
386
84
536
248
330
146
549
767
862
543
772
727
568
95
704
274
339
391
440
650
353
163
302
154
748
522
11
43
435
921
496
422
479
389
509
44
939
854
220
929
879
370
899
916
483
665
570
548
891
715
297
202
379
981
338
992
9
532
982
788
701
540
311
626
977
510
454
891
285
197
211
947
907
349
23
247
941
322
374
610
734
92
673
10
456
434
535
152
204
821
179
149
159
138
344
800
794
428
728
337
125
716
460
19
262
412
520
621
302
930
346
685
741
909
94
391
113
898
126
36
556
419
371
407
344
95
116
783
193
925
642
910
361
834
894
43
87
377
995
94
957
800
25
969
161
735
924
438
379
464
792
238
300
28
99
693
339
473
567
785
163
151
537
523
64
332
662
421
36
332
676
83
672
973
797
244
625
508
65
40
436
32
520
977
993
31
683
824
739
929
229
624
37
445
110
112
753
71
617
104
211
265
45
826
174
762
693
742
389
982
903
156
525
666
711
768
76
740
492
386
865
877
644
222
367
400
990
535
926
964
46
903
344
942
731
87
996
535
432
256
829
419
514
329
95
186
533
351
682
907
449
63
235
896
31
339
43
180
561
716
835
202
650
34
232
39
645
119
568
748
715
509
195
528
109
464
208
24
531
869
695
477
800
224
274
395
206
563
669
89
39
42
517
730
780
921
425
519
370
864
552
237
766
767
599
661
740
841
193
315
480
292
60
591
122
755
282
519
754
552
182
388
795
7
69
964
915
251
155
267
794
421
441
751
132
700
270
253
244
391
551
251
495
98
345
843
589
140
652
316
441
519
725
360
934
109
181
769
393
272
524
962
4
746
393
739
720
501
46
517
448
216
103
678
385
194
545
785
484
798
333
145
891
975
768
630
116
995
911
685
396
346
939
216
418
614
327
385
98
246
124
383
614
356
400
945
260
97
148
679
959
663
546
337
500
717
483
733
635
854
712
393
178
752
793
946
177
825
259
893
31
511
55
694
147
813
370
1000
389
359
440
508
51
15
753
107
604
66
364
929
740
68
715
448
546
736
405
9
781
664
898
30
282
235
993
643
538
820
227
743
302
247
66
222
944
570
867
714
902
359
98
272
213
102
253
244
596
814
200
79
975
608
482
901
655
837
190
474
567
361
619
621
153
664
839
251
481
805
723
874
123
684
690
925
197
652
642
243
689
321
145
779
889
282
871
996
282
574
746
414
752
944
36
480
321
330
803
256
925
548
794
419
945
874
831
732
262
42
208
448
686
219
435
60
426
671
888
469
177
162
601
874
53
618
459
661
268
207
537
135
977
804
152
210
161
743
525
31
742
864
566
124
428
141
426
830
897
575
911
678
22
638
788
888
817
246
269
347
647
177
718
277
33
845
688
297
105
578
958
723
300
882
148
776
469
698
818
834
911
320
711
968
215
472
926
804
983
25
394
166
657
969
931
66
699
538
575
331
313
874
619
589
759
169
979
367
54
30
95
785
514
710
543
709
164
933
971
228
527
257
716
39
650
332
727
639
554
930
989
223
448
329
676
859
177
509
712
797
356
606
202
746
571
243
491
583
828
704
206
216
166
366
723
275
986
469
933
889
163
82
67
59
466
77
595
27
168
38
897
623
950
276
486
753
411
562
53
119
513
746
497
719
308
174
414
922
143
705
210
719
338
148
129
256
36
182
12
921
482
142
519
34
552
576
879
702
709
169
986
478
918
410
782
270
252
419
451
367
67
421
867
548
653
713
141
980
207
377
856
16
828
602
768
76
995
275
330
475
627
376
396
491
424
806
825
930
635
523
562
182
787
226
917
67
204
374
434
799
329
48
723
8
950
988
72
122
464
180
492
321
200
522
76
944
643
411
207
481
137
617
194
223
263
387
386
241
625
572
665
600
223
482
494
625
950
308
375
600
975
187
656
487
974
421
103
116
207
938
578
866
428
808
418
982
501
505
875
567
346
674
35
749
597
347
210
697
866
901
665
964
108
581
934
94
895
78
671
561
816
450
150
882
371
703
83
181
900
439
368
577
112
312
757
501
714
439
192
475
496
580
748
916
986
592
698
273
445
644
188
150
531
721
448
125
466
173
215
623
866
487
294
591
740
957
768
661
319
666
416
195
473
34
286
884
511
191
259
539
29
624
614
352
318
853
303
177
560
383
675
290
665
809
831
727
134
760
699
496
796
291
132
900
590
469
65
744
841
147
805
423
617
333
51
772
838
140
103
55
789
53
59
693
532
108
473
153
549
632
86
898
597
416
739
502
376
502
529
790
124
327
586
355
625
609
589
938
498
182
287
897
779
987
854
470
22
550
834
590
100
575
840
789
905
729
904
103
922
311
558
963
477
245
345
789
61
766
388
337
739
248
94
910
103
836
839
231
623
950
708
70
530
267
961
790
557
486
935
560
952
29
495
322
220
867
6
585
904
805
29
698
584
893
559
559
972
123
740
663
608
189
382
939
218
897
504
127
209
755
407
306
155
388
424
767
359
664
609
640
748
871
94
533
429
819
759
9
191
514
133
875
144
900
193
114
442
243
794
792
758
902
26
413
753
614
701
15
310
909
490
765
686
960
19
920
88
992
315
819
360
334
597
996
648
386
338
585
897
9
893
957
9
333
760
912
332
576
728
820
889
231
720
818
452
881
172
540
87
4
132
885
318
342
116
26
390
804
934
172
449
408
316
635
596
480
204
362
913
179
985
452
539
421
790
83
802
458
205
962
210
689
401
630
850
750
734
932
355
588
326
529
157
992
997
586
149
46
206
662
280
10
308
413
811
475
541
898
158
992
637
183
288
987
846
449
632
495
460
999
347
125
649
400
528
739
502
486
713
486
738
124
554
232
415
420
100
904
352
537
494
969
699
407
247
58
217
398
437
754
417
428
342
685
635
121
35
382
499
332
419
755
19
787
19
732
685
620
619
280
575
339
471
17
423
90
402
646
43
142
578
721
249
183
100
597
676
378
876
994
470
106
401
290
883
985
196
516
190
69
637
44
217
88
828
113
985
218
999
692
623
139
615
625
772
92
21
671
129
211
988
822
680
684
964
253
408
165
168
354
967
453
958
549
878
644
17
43
292
849
8
201
278
92
299
1
878
193
244
883
880
269
313
368
390
1000
7
20
781
956
157
674
552
64
651
370
931
820
94
109
826
894
172
356
845
633
778
208
690
336
15
294
152
313
304
723
326
456
688
920
426
481
347
710
754
22
36
852
961
515
854
88
734
160
296
878
425
272
43
203
963
30
284
231
562
974
693
152
391
582
344
224
372
932
962
897
688
747
909
911
448
92
218
438
169
629
791
647
381
583
630
560
738
539
565
714
433
755
503
921
635
946
662
384
877
380
589
515
47
686
29
88
699
9
874
758
879
998
472
561
585
653
571
739
246
235
43
130
357
288
307
387
468
321
94
522
298
848
753
585
637
286
846
848
37
697
163
493
53
464
597
651
911
769
591
610
61
195
929
162
995
838
747
328
124
90
530
171
218
624
743
18
152
214
485
137
234
694
214
899
403
762
167
448
989
364
562
220
502
48
70
966
148
58
291
523
383
907
213
263
811
832
688
3
201
837
974
177
192
19
338
240
514
448
462
594
197
206
201
816
289
75
798
595
58
993
247
591
531
616
913
367
470
247
880
661
589
939
731
522
884
807
659
258
429
438
843
709
909
844
21
113
444
559
45
678
972
336
28
70
579
401
341
182
675
364
353
935
843
700
289
359
533
186
5
871
492
791
791
504
994
298
529
820
445
381
694
349
948
933
663
750
727
206
820
270
120
714
703
737
994
915
282
60
49
409
47
138
439
749
200
145
560
3
681
401
630
871
186
417
919
538
561
260
80
393
204
54
78
432
167
343
600
471
674
981
713
230
684
462
737
21
926
865
955
998
577
104
850
903
379
800
1000
816
520
893
617
650
48
49
31
75
947
39
29
70
242
518
115
539
681
52
177
318
577
836
9
373
414
230
372
250
653
198
47
599
995
699
401
157
25
356
534
688
785
19
986
201
308
406
331
240
558
629
715
140
558
272
536
959
686
650
30
176
266
19
468
394
606
810
51
997
595
398
345
123
790
525
288
368
717
273
363
376
727
384
558
816
365
805
78
270
634
577
635
287
959
558
282
131
903
28
452
813
925
915
792
604
511
248
899
555
73
439
826
519
881
185
512
783
129
89
905
697
946
589
620
632
816
424
430
174
380
653
726
721
59
195
394
548
260
968
201
961
215
968
875
390
629
38
569
127
410
671
256
946
707
896
950
48
369
214
330
575
735
573
444
474
334
571
738
628
695
457
527
963
956
973
397
744
386
794
748
368
241
103
844
739
598
863
273
762
952
443
692
574
383
589
95
869
52
155
599
95
637
615
940
347
56
164
438
499
508
103
183
497
420
306
597
747
351
780
320
237
313
717
576
362
220
6
799
410
395
831
309
341
149
876
257
778
460
652
897
116
685
628
472
260
58
185
660
787
442
881
564
270
464
164
698
78
637
459
273
221
599
489
383
720
861
843
330
525
776
1000
451
228
573
501
258
696
369
491
636
267
49
616
121
346
790
109
996
68
778
1000
50
201
369
523
389
613
545
193
576
435
8
525
748
521
684
27
77
921
717
940
88
871
244
171
901
229
409
998
433
390
58
431
942
444
550
560
73
746
940
815
751
154
535
849
834
863
524
648
447
169
907
572
285
508
451
240
13
815
773
579
62
568
921
885
755
892
45
456
726
758
827
210
981
604
348
702
843
684
981
149
205
70
731
369
198
502
141
43
422
234
527
327
331
597
856
660
258
252
983
535
810
18
355
135
42
705
524
972
930
608
961
112
103
196
763
117
749
34
783
597
845
189
616
120
646
196
660
303
396
153
141
75
829
693
615
499
885
347
963
10
454
327
278
630
648
837
399
521
303
834
46
237
912
565
640
168
180
316
948
942
758
560
610
49
450
63
466
507
415
619
368
177
414
739
789
262
188
47
155
569
424
127
249
390
561
270
461
186
930
895
917
868
289
432
715
115
879
92
610
58
522
276
474
651
135
322
784
240
260
921
208
150
863
819
58
588
701
339
60
824
31
860
358
370
263
637
185
855
477
242
918
389
355
467
534
474
200
766
623
931
175
138
191
910
809
945
442
745
106
278
643
344
309
383
922
817
490
112
570
261
636
542
3
970
853
707
46
856
634
852
623
540
862
745
239
375
390
358
866
675
575
666
997
544
100
386
627
992
790
270
911
481
902
907
48
650
526
101
738
729
343
583
197
71
956
189
280
308
411
675
748
861
332
2
97
936
299
298
627
672
701
668
659
801
343
702
878
54
476
817
797
544
794
563
240
535
144
612
579
331
359
465
155
479
680
806
963
175
677
56
218
465
452
913
843
890
175
561
290
226
682
812
351
325
952
627
768
407
750
377
535
780
647
694
754
668
905
964
766
731
440
364
108
891
175
824
491
284
632
456
623
527
525
801
202
974
462
721
805
334
578
863
722
828
111
417
12
45
429
327
182
822
34
193
923
714
370
846
297
131
88
10
585
777
569
486
805
815
88
34
522
94
6
495
182
843
756
720
649
484
213
566
2
584
210
541
974
527
624
707
540
175
431
70
330
655
585
27
500
406
394
373
622
804
320
32
975
8
758
913
333
130
409
260
989
503
327
434
267
584
574
332
254
1000
684
520
781
342
834
763
997
579
679
797
983
375
312
106
965
177
704
972
637
672
267
253
979
90
921
184
769
884
125
3
647
514
874
351
207
415
591
193
102
754
162
495
537
226
117
2
869
999
94
231
231
863
284
251
244
805
504
890
918
502
913
771
769
693
159
976
46
997
928
190
700
480
418
918
416
235
302
702
550
274
86
326
339
293
612
668
94
241
634
198
385
173
24
117
432
568
199
799
981
146
738
483
992
244
60
155
337
953
211
162
561
572
495
383
438
403
707
727
734
541
213
301
90
127
959
862
377
464
774
33
268
508
16
376
966
520
675
568
237
58
556
858
936
97
38
468
203
764
234
806
375
84
59
196
461
169
848
327
694
491
661
767
305
207
386
724
139
70
9
667
165
66
252
563
240
800
831
271
714
592
220
41
582
404
706
191
950
13
916
749
494
281
755
280
466
993
880
155
532
497
402
243
415
285
515
390
857
741
139
54
903
518
460
171
889
374
468
654
793
866
202
937
822
978
438
614
165
635
966
543
902
48
468
746
919
28
197
74
538
709
369
843
255
612
165
638
649
626
746
25
26
259
522
187
831
481
204
388
193
571
828
733
226
662
36
917
880
67
381
510
191
80
320
866
755
652
871
934
145
234
592
66
742
133
685
440
199
924
531
865
285
799
890
518
432
275
332
667
663
343
219
538
929
938
679
251
95
644
588
204
943
634
513
367
611
169
959
695
796
427
3
272
947
24
599
853
378
372
412
203
931
924
26
981
363
432
769
965
116
593
205
88
503
807
535
102
636
373
789
669
607
76
680
364
533
56
450
341
85
786
847
417
32
211
615
929
143
396
544
7
514
521
144
827
28
703
511
33
170
907
759
709
899
167
721
244
569
452
268
945
219
752
661
506
639
400
896
277
756
209
837
850
791
744
263
604
578
917
679
764
179
174
810
954
638
692
260
430
329
411
731
971
821
207
510
857
636
185
710
509
566
914
859
135
448
385
8
150
423
618
475
250
749
152
706
743
162
83
521
171
659
925
154
285
292
344
122
178
257
719
922
736
113
578
944
613
443
149
818
588
650
721
587
544
855
973
751
280
95
198
196
17
52
169
513
791
619
412
978
873
471
824
763
981
651
907
546
335
888
344
776
531
17
323
273
811
374
759
750
543
522
558
64
632
974
147
726
151
859
768
247
678
622
444
419
717
946
112
488
98
998
146
516
435
64
368
912
576
340
704
230
443
402
841
864
866
441
592
180
763
872
181
974
536
319
355
875
650
319
23
455
133
293
128
373
194
466
584
818
231
465
408
904
242
239
620
417
71
840
106
509
979
302
380
508
728
567
127
1000
757
939
452
746
52
47
21
788
990
643
653
301
794
899
459
386
205
6
350
998
665
8
558
624
585
805
857
192
255
160
325
893
574
370
807
269
38
990
744
961
391
609
642
971
906
240
267
158
519
303
609
959
956
554
730
990
519
535
921
298
466
319
972
474
727
360
959
787
286
257
668
754
699
89
676
304
92
800
145
785
451
788
587
598
202
439
213
154
848
873
997
207
937
575
257
321
725
889
352
416
701
588
136
844
553
866
868
447
263
118
645
382
756
838
826
286
934
794
549
525
991
408
181
846
603
913
488
763
988
461
372
372
831
778
241
128
770
393
495
279
473
718
137
327
344
469
208
835
522
3
632
399
192
170
36
374
138
154
309
219
141
648
958
969
69
377
837
373
450
648
424
722
923
128
647
230
188
508
194
121
990
23
347
243
244
111
650
116
583
595
147
795
546
886
466
864
90
643
816
125
323
239
787
299
214
139
936
149
484
10
315
957
86
959
471
217
461
836
935
744
226
899
928
116
88
516
785
556
543
738
626
855
347
763
913
941
854
318
834
52
66
927
911
214
599
894
816
957
907
584
179
716
734
229
35
423
212
81
702
133
998
181
42
368
554
411
498
54
14
770
825
536
62
26
116
196
924
959
626
599
861
461
845
960
531
636
510
911
210
866
514
266
133
548
186
455
156
823
39
821
528
154
876
794
810
61
106
255
884
660
220
64
550
921
629
805
428
700
517
322
754
695
892
461
179
420
800
795
886
198
505
765
155
942
525
826
17
188
579
673
792
456
889
577
115
496
757
171
505
415
48
783
687
976
998
553
612
586
761
108
599
648
265
559
76
933
209
910
168
638
500
776
773
579
42
456
839
778
536
998
237
327
885
900
55
990
847
452
97
493
858
561
125
804
268
83
657
18
852
313
191
631
88
309
329
112
601
130
619
652
161
935
878
921
799
96
395
441
923
145
678
943
807
420
359
675
465
737
446
186
694
262
366
550
56
57
156
315
647
425
690
776
761
273
87
262
19
204
270
246
40
935
220
47
527
951
619
750
489
999
435
797
374
156
488
357
101
722
213
200
314
89
600
313
704
127
811
877
932
305
57
578
461
948
105
422
656
577
238
360
581
232
558
85
267
34
274
263
641
36
38
355
935
569
429
912
148
875
415
900
43
823
981
166
257
871
169
644
321
280
415
281
767
749
453
926
63
287
28
646
805
142
316
17
441
43
270
939
843
841
58
453
186
861
404
830
928
954
901
947
164
252
313
591
283
118
461
849
603
630
551
222
676
210
698
403
1000
697
945
960
182
227
327
287
979
798
355
283
258
258
879
174
608
802
410
775
255
722
884
299
958
312
303
460
773
313
864
281
919
250
985
471
503
302
115
669
531
122
326
172
438
147
467
973
376
507
94
87
621
573
489
150
766
586
812
256
798
547
845
796
783
738
848
881
641
832
752
521
404
526
298
369
427
41
753
255
267
617
513
147
314
365
263
468
814
422
336
848
619
401
588
546
857
536
398
741
731
768
383
805
818
251
34
521
564
408
747
886
173
705
676
809
684
787
417
522
870
475
776
986
514
386
774
906
729
644
624
228
258
179
601
163
108
669
613
838
436
15
818
644
349
575
797
255
174
86
644
47
765
297
834
353
656
900
885
604
202
207
618
875
358
437
322
804
437
131
213
139
988
422
390
413
936
412
900
364
253
868
618
760
729
810
426
231
856
351
521
546
445
300
793
553
372
653
919
642
749
55
153
150
894
731
884
640
729
186
659
307
586
167
756
120
974
14
345
421
550
534
969
890
385
952
364
702
647
358
603
681
978
266
176
42
163
584
906
28
198
305
506
413
462
746
218
338
522
958
167
413
39
248
20
376
355
427
65
812
588
439
47
659
508
590
984
226
9
405
695
492
762
520
973
268
477
665
163
645
294
951
416
803
978
172
34
893
986
750
124
157
957
327
271
927
879
690
26
401
964
906
815
356
302
77
293
76
451
82
254
802
440
35
976
964
117
981
261
311
356
489
492
772
430
427
771
595
746
161
534
844
240
823
93
805
941
121
248
265
613
320
413
862
923
694
749
964
286
725
405
556
385
778
309
689
394
805
898
915
89
869
808
955
348
923
815
584
56
346
269
339
22
172
827
186
350
823
566
734
639
448
443
929
477
601
632
416
1
122
487
920
664
542
753
51
957
244
167
947
554
906
784
992
248
462
201
701
59
944
353
488
140
59
695
688
420
315
408
669
470
816
738
310
721
612
666
412
10
598
928
860
390
559
814
458
296
855
264
415
447
670
537
393
304
457
134
870
529
433
698
353
636
544
348
593
953
303
269
570
92
313
412
451
338
76
827
120
784
916
522
182
556
423
708
485
186
898
963
367
43
649
150
793
756
857
886
470
710
976
1000
859
38
232
661
707
11
896
832
368
370
418
267
711
909
398
533
841
620
625
424
251
769
117
720
218
559
142
428
474
454
714
544
203
801
960
887
427
135
22
728
702
428
907
828
829
585
780
914
996
707
731
871
347
977
983
652
490
545
802
432
857
468
170
623
165
568
363
162
423
64
182
907
90
974
505
76
998
558
209
400
614
557
289
83
65
549
156
696
85
541
694
873
728
814
651
30
237
118
311
367
967
553
228
97
576
844
972
182
71
281
497
850
403
276
719
835
466
371
343
584
328
500
811
619
439
540
464
915
389
444
680
375
492
781
790
464
133
123
17
620
310
513
592
341
288
207
410
715
594
979
324
752
869
554
217
61
229
140
503
323
856
610
595
504
546
616
180
959
774
816
858
420
648
409
796
331
828
416
597
189
47
456
481
317
421
315
233
996
101
261
93
979
187
871
927
198
987
142
545
919
904
779
26
677
200
848
229
72
887
437
478
919
808
577
578
296
733
428
871
755
971
660
79
325
538
33
43
980
437
423
271
912
929
895
434
301
23
16
544
265
548
253
588
333
312
204
786
85
832
372
516
581
46
413
167
803
216
72
804
637
978
530
635
840
113
502
676
28
138
243
899
979
289
545
422
440
777
931
962
178
495
510
866
262
470
373
514
395
471
993
805
665
109
806
709
282
681
66
596
667
782
84
162
807
395
174
304
897
780
981
183
141
986
393
110
10
206
879
571
407
543
947
881
964
937
388
514
100
179
111
90
614
927
650
388
276
632
921
512
328
77
350
514
840
33
313
369
588
174
711
173
507
952
595
848
773
638
982
422
280
79
394
172
598
42
193
527
514
164
481
650
891
681
205
47
908
67
102
375
695
644
302
878
8
48
723
501
872
146
875
809
36
637
335
279
692
103
940
394
155
720
698
269
95
190
525
171
477
694
182
409
592
866
192
560
407
797
105
863
16
112
214
962
157
995
689
831
567
858
173
882
506
19
53
738
866
356
1
105
142
433
874
486
984
964
739
249
170
833
618
683
634
99
521
227
603
543
476
44
993
341
564
431
951
431
409
369
867
918
180
675
193
696
942
785
148
70
76
223
768
745
605
178
764
37
465
417
361
522
156
986
598
631
759
740
618
902
994
786
66
668
860
343
84
18
399
340
314
715
318
346
963
627
491
34
254
917
883
461
533
881
57
887
874
867
208
737
289
119
646
550
548
785
734
483
157
539
558
970
296
462
23
661
346
867
646
654
198
745
52
311
695
386
53
701
425
511
251
791
560
934
297
28
588
403
291
912
617
736
333
464
368
798
895
232
121
193
501
652
630
743
205
93
487
972
487
914
479
858
450
181
250
26
715
517
966
444
953
667
755
406
792
17
399
270
748
230
140
969
909
601
468
796
307
513
469
352
350
600
641
803
170
810
69
826
495
617
536
683
481
35
422
894
956
916
230
873
710
280
193
734
763
31
704
156
71
507
215
873
709
739
894
850
414
169
519
683
292
850
40
84
609
827
753
575
856
471
303
686
680
48
542
1
857
677
848
390
230
147
662
625
381
770
859
377
909
559
67
284
318
536
178
367
949
912
137
590
829
200
543
762
40
82
706
297
4
972
622
578
59
790
711
792
863
399
299
147
431
549
546
321
77
911
926
836
132
991
448
821
72
266
487
266
612
903
498
461
396
799
896
768
145
489
72
263
504
667
871
72
396
697
821
413
354
502
102
457
205
629
511
127
446
161
665
860
862
347
314
183
220
484
888
673
404
639
368
486
938
250
132
224
689
517
699
272
456
747
183
178
273
528
829
823
526
639
227
343
364
157
663
804
525
46
603
621
358
883
478
578
755
26
796
100
747
687
91
125
698
870
372
509
402
60
557
414
899
902
825
537
503
818
960
352
332
693
525
759
649
267
138
676
430
879
237
134
894
525
423
380
149
999
920
342
754
46
727
572
723
33
744
428
436
656
557
845
1000
568
558
498
813
642
791
547
502
764
245
458
921
697
295
547
614
542
687
34
995
778
716
373
524
682
279
549
299
171
31
828
840
748
222
215
301
314
684
444
998
10
28
917
924
187
396
406
876
806
961
723
928
305
977
776
248
2
367
620
665
633
720
169
981
490
95
206
747
954
215
213
109
887
471
329
380
511
661
424
186
872
530
909
398
956
7
350
564
829
466
437
252
921
511
104
482
727
502
882
491
745
537
647
120
409
638
1000
487
184
684
430
4
714
994
278
432
122
572
265
417
121
686
8
880
614
871
532
698
819
459
224
348
790
400
96
584
397
529
488
741
434
380
527
982
574
335
778
638
280
184
514
825
641
166
942
683
333
141
555
891
544
867
476
628
763
255
319
749
789
81
612
775
171
896
266
210
581
732
942
847
274
819
400
936
889
707
83
560
328
63
274
99
351
954
103
409
812
599
595
238
197
430
715
436
198
771
60
702
626
632
464
12
846
895
266
327
293
652
403
892
325
574
834
247
853
964
986
54
713
576
77
971
720
406
180
122
683
346
858
134
482
66
26
352
409
494
478
557
637
13
138
490
610
838
718
512
576
103
876
986
274
825
398
345
999
298
192
364
869
428
62
838
177
213
371
746
77
836
650
967
748
853
171
811
374
532
288
937
956
732
89
703
987
578
530
659
531
851
746
659
43
201
695
36
617
223
628
381
947
3
136
734
432
915
678
414
305
385
583
297
585
805
463
54
933
8
887
792
227
527
916
553
751
383
820
333
455
281
890
646
621
909
752
170
656
503
9
665
425
960
358
211
710
567
551
755
933
831
685
129
220
4
364
972
264
643
211
452
216
924
37
279
990
531
763
278
986
611
828
698
182
694
385
507
977
490
77
163
953
149
543
739
927
936
104
811
294
258
270
230
668
611
810
759
260
375
111
549
268
302
500
622
793
183
988
836
432
472
633
294
757
554
348
800
358
956
512
757
960
25
196
850
446
536
140
956
228
206
899
17
562
342
732
980
832
717
846
538
764
274
631
94
811
476
353
276
673
927
595
384
2
423
406
336
919
702
718
25
817
15
122
558
334
73
456
454
73
66
31
755
805
216
501
962
435
777
538
845
995
456
497
476
250
24
200
287
318
232
828
549
845
249
647
447
879
549
969
827
580
518
301
792
277
118
143
516
207
604
217
75
468
639
264
615
336
154
683
873
104
938
411
938
61
281
446
151
16
912
320
190
46
163
652
739
786
490
627
618
615
487
889
852
568
73
858
13
663
802
936
66
592
143
403
73
422
134
77
392
16
26
950
396
386
433
102
328
73
981
143
641
963
687
353
52
659
105
420
595
620
785
428
137
822
742
298
199
616
456
413
438
791
352
576
775
580
882
740
51
508
63
201
992
522
795
55
476
807
345
779
332
47
156
693
389
682
522
983
77
847
742
630
660
325
81
332
85
759
227
23
521
841
980
80
882
936
578
704
19
835
410
218
824
952
867
243
152
280
730
808
373
862
810
430
336
359
514
153
726
546
633
311
92
194
937
532
343
871
83
120
101
638
940
486
132
474
679
739
18
565
890
911
306
223
520
530
698
329
689
418
192
653
247
671
718
311
544
727
506
923
982
346
341
737
845
62
864
104
325
411
330
201
870
796
545
846
755
387
236
547
264
832
785
715
989
913
67
54
506
458
114
766
168
1
488
94
812
664
503
146
918
724
926
688
200
156
351
769
635
184
248
637
647
568
570
383
582
889
891
153
568
589
297
562
612
890
593
165
63
14
997
434
613
303
123
731
639
950
976
186
1000
61
647
217
373
652
580
667
843
34
634
198
709
752
589
610
453
857
439
218
355
853
583
300
522
93
958
868
992
725
308
727
128
594
5
840
736
602
283
525
215
162
300
892
577
305
202
248
351
892
217
884
238
199
880
787
869
786
680
339
177
196
763
980
711
527
861
172
668
315
278
702
559
510
565
541
189
525
547
10
85
491
450
972
561
862
214
118
407
485
485
206
545
66
434
274
78
757
271
429
871
207
264
825
183
27
143
807
872
61
998
27
400
257
176
526
220
209
205
407
74
627
507
731
445
106
487
706
665
560
608
61
192
597
241
739
135
926
399
705
450
634
922
684
110
762
367
138
174
172
598
629
909
146
59
990
39
475
804
421
748
77
614
689
259
346
971
103
732
472
214
844
693
990
941
515
441
647
612
504
690
513
348
836
207
899
119
752
377
300
879
136
405
43
706
287
357
747
685
227
353
29
100
931
7
92
457
366
634
986
41
233
851
339
952
619
937
330
72
598
707
501
966
924
750
769
521
616
559
660
41
164
472
350
561
514
375
581
424
793
789
886
502
910
315
861
33
828
399
390
698
294
45
860
470
238
399
373
725
913
105
900
333
50
942
128
713
982
551
468
362
716
971
347
988
404
314
408
169
535
136
707
411
410
993
355
596
189
198
263
58
817
33
877
948
697
535
781
141
809
501
87
635
322
551
367
314
428
911
691
983
250
94
6
749
199
805
727
246
80
194
867
640
566
59
480
75
432
726
504
21
52
98
296
966
220
809
299
43
346
506
313
468
389
36
773
113
712
707
314
160
177
861
614
522
418
705
217
660
189
730
558
476
99
61
927
211
843
780
458
664
236
590
534
578
989
200
179
757
172
461
116
312
742
573
168
487
346
682
604
620
846
787
816
198
666
150
483
378
101
357
975
16
198
750
284
55
671
214
248
24
599
185
128
561
311
325
907
101
969
517
800
293
824
701
556
308
44
607
95
896
287
633
907
969
914
924
424
513
860
252
274
840
679
418
913
540
220
712
654
18
733
435
494
155
918
620
505
471
595
849
714
140
225
507
591
348
457
904
258
775
249
448
491
452
886
440
427
805
384
146
661
528
352
486
49
769
395
80
135
259
499
410
567
197
679
527
250
109
350
96
298
451
512
558
992
412
858
838
92
230
328
336
838
362
488
928
879
1
332
286
204
770
754
134
855
888
4
990
854
768
878
518
278
774
277
871
899
825
13
322
126
651
462
6
238
739
688
857
99
472
208
648
550
485
420
615
704
38
48
293
218
77
646
60
410
681
333
368
781
832
426
796
112
763
611
874
783
674
566
83
403
269
742
571
139
388
116
895
365
1000
306
529
368
950
388
987
904
149
102
133
321
350
949
672
830
267
793
870
250
527
241
263
204
903
987
486
354
329
768
399
663
420
326
336
141
641
26
695
728
774
355
18
237
64
582
439
328
262
247
616
500
800
17
282
28
516
671
142
541
637
610
133
699
262
359
998
42
169
982
713
619
608
173
550
454
664
100
480
246
892
712
144
960
199
323
880
141
338
783
136
804
984
421
125
798
74
264
789
354
996
737
961
349
240
165
96
516
333
917
140
395
242
954
871
358
925
894
533
446
400
421
704
47
502
34
115
713
515
659
578
490
954
638
254
235
127
939
268
261
491
216
41
580
485
547
827
696
235
206
583
615
484
878
753
271
145
74
500
70
119
328
670
605
422
962
57
901
182
807
591
735
780
316
653
676
272
898
120
492
235
161
618
480
340
982
153
112
302
959
528
73
319
873
911
446
750
221
489
296
603
763
410
367
305
296
109
953
386
527
671
251
940
22
102
669
134
691
265
642
665
147
733
451
717
615
35
463
940
723
577
949
957
690
54
381
121
868
274
649
629
596
175
205
569
597
253
494
167
930
735
409
340
634
638
661
604
749
260
163
569
385
765
489
512
827
243
471
976
495
58
800
973
685
336
290
102
673
177
89
824
686
526
730
212
696
686
334
730
750
140
718
969
786
664
403
824
491
753
716
298
769
990
310
952
825
333
378
79
702
244
798
787
343
204
239
563
893
444
979
328
21
662
822
650
484
61
49
566
36
326
752
434
28
31
281
312
769
547
759
651
735
719
809
489
279
475
677
928
312
36
932
379
800
594
794
980
570
169
921
611
69
828
186
141
232
643
582
902
527
534
874
884
607
643
50
829
701
972
938
219
64
838
557
136
313
86
940
111
479
139
161
367
923
668
272
323
81
105
682
821
142
249
292
309
368
961
318
120
741
291
362
80
32
425
693
894
177
515
152
155
51
806
321
360
363
449
823
22
390
81
720
816
717
517
945
727
974
903
671
308
792
273
280
510
869
756
359
11
50
588
773
611
839
702
374
67
560
887
385
656
711
439
829
922
695
762
610
254
216
615
66
420
106
548
806
720
243
623
700
176
541
687
696
43
669
307
981
994
302
969
655
509
203
315
716
363
386
975
639
631
908
37
244
279
624
313
885
252
336
338
190
933
358
469
725
2
451
553
1000
19
461
364
145
472
758
436
485
696
747
942
938
769
319
33
871
459
77
374
582
341
590
680
80
449
714
716
180
212
236
581
249
964
711
86
109
27
367
679
710
203
409
714
204
555
860
772
922
493
323
430
627
529
704
84
100
536
977
430
753
986
527
746
523
438
490
401
705
493
748
897
764
543
957
332
402
903
17
357
323
332
936
606
214
531
882
84
408
920
578
186
614
911
839
870
850
912
218
993
420
510
215
981
392
641
454
804
498
52
536
706
836
52
47
247
38
348
328
7
792
763
162
727
771
771
508
747
8
56
763
373
733
780
800
178
535
837
225
323
439
124
857
679
196
814
441
945
592
631
996
915
117
433
988
816
672
724
749
900
287
322
157
539
38
58
628
662
407
281
882
742
390
922
799
463
501
68
888
832
712
298
585
795
28
523
590
330
62
730
969
586
502
776
561
889
810
389
533
345
823
579
603
304
205
980
496
197
846
17
742
113
371
393
786
5
901
125
673
615
93
225
325
46
254
181
479
382
28
596
939
951
767
688
660
604
171
871
579
853
218
318
778
853
718
205
781
962
37
347
271
79
678
53
531
17
444
331
230
947
841
25
971
331
224
59
198
825
978
751
612
369
624
46
283
11
380
631
987
89
121
85
146
42
96
636
923
481
37
633
656
148
485
527
839
26
252
39
262
202
959
166
777
24
487
899
398
731
1000
790
58
5
916
44
447
836
850
407
761
673
72
939
92
90
459
703
450
91
306
508
78
750
566
104
808
71
279
655
707
873
32
884
125
968
215
7
608
155
776
482
798
335
924
633
584
585
934
390
286
161
818
782
578
238
103
292
175
618
410
885
80
801
786
320
299
564
42
356
505
648
395
590
82
222
823
959
349
560
433
401
524
763
16
755
181
412
711
754
519
755
365
905
764
422
722
66
417
658
100
846
856
775
520
247
17
852
608
608
495
719
739
516
407
891
3
293
819
467
594
608
336
934
93
986
720
467
994
271
36
575
475
618
877
898
117
187
676
521
748
548
987
457
72
717
870
818
84
883
219
772
501
119
915
601
646
815
218
30
241
127
684
552
581
478
186
636
406
33
358
545
596
109
860
15
506
683
408
165
336
528
426
846
464
2
516
75
62
200
676
354
636
981
353
426
365
410
952
462
220
229
396
777
911
316
687
896
635
524
199
219
436
889
586
575
770
973
812
676
506
26
752
868
177
705
252
575
755
353
304
548
611
213
220
352
613
471
295
525
496
774
477
501
738
684
972
693
199
550
567
110
658
470
682
471
231
304
797
114
360
217
979
868
709
847
664
700
801
986
729
160
733
629
155
579
594
333
262
502
505
106
576
91
351
452
873
70
326
785
862
336
421
154
229
546
822
89
529
794
11
466
470
52
22
434
694
142
932
853
70
846
144
170
845
230
454
345
747
363
201
270
277
403
9
81
973
450
799
927
387
659
733
44
898
859
736
426
228
313
83
3
721
333
257
977
29
155
17
936
823
881
93
358
573
291
480
448
200
50
634
547
644
128
171
960
11
303
865
722
934
218
849
679
282
813
905
276
114
902
653
629
67
267
286
741
980
978
170
261
622
505
322
769
852
842
257
400
388
85
183
557
656
800
839
562
837
98
543
374
355
533
178
909
478
819
902
70
672
893
348
349
581
21
964
715
264
508
913
571
409
43
672
773
774
893
34
12
20
936
759
443
456
26
498
43
930
271
946
65
269
602
416
889
196
447
128
742
644
405
565
43
715
567
184
561
331
533
617
213
789
235
252
67
8
400
748
45
261
831
601
884
577
753
359
170
771
119
452
617
331
137
903
324
928
256
367
448
401
529
49
568
457
539
62
51
172
94
677
878
619
468
769
733
592
270
443
622
448
967
500
942
543
637
896
698
615
832
828
538
711
279
392
348
969
747
54
466
616
600
291
917
45
446
869
733
743
794
170
79
106
855
870
832
941
425
55
307
506
298
556
997
516
838
886
584
431
91
649
952
695
342
732
653
322
112
876
36
390
372
474
305
523
187
551
844
436
109
942
481
957
355
588
799
718
236
770
211
888
356
805
275
889
802
426
653
60
932
621
181
572
406
171
759
768
751
527
149
247
145
939
326
666
55
932
709
241
42
366
470
351
359
247
121
489
907
462
770
37
777
328
720
2
840
663
621
865
818
637
962
218
836
254
554
644
719
731
527
651
186
392
547
79
664
952
153
525
653
234
595
796
457
415
73
315
606
886
59
690
493
677
220
367
591
189
565
421
96
686
574
27
24
550
472
105
564
877
311
960
987
328
171
478
511
531
646
569
313
509
751
124
313
760
505
704
428
650
784
523
772
720
431
88
654
341
264
11
302
941
365
116
938
661
949
918
238
858
195
983
191
386
655
461
92
921
223
287
729
910
240
179
833
904
932
557
488
145
324
963
541
260
714
362
994
865
995
981
991
645
441
943
286
254
29
57
25
974
32
533
249
621
400
291
779
621
401
794
64
546
86
985
93
624
441
52
734
930
449
160
703
12
931
246
896
687
703
236
34
619
513
773
362
78
254
650
678
985
138
655
115
906
907
488
889
228
612
702
709
84
232
411
682
987
156
595
271
294
598
441
366
795
107
70
574
733
645
399
584
511
166
627
891
193
213
48
204
660
831
431
569
941
7
243
643
803
914
348
548
166
498
639
443
292
280
272
275
954
854
752
193
36
212
191
719
50
900
437
132
125
39
644
443
879
382
66
994
439
925
515
951
583
68
974
958
602
959
321
744
41
435
959
760
883
951
447
825
126
972
897
305
929
565
965
573
683
373
774
372
421
691
5
225
958
128
670
230
30
204
819
403
486
291
519
254
287
496
986
401
652
442
672
874
214
431
422
189
432
108
589
433
855
617
124
337
41
169
186
794
47
135
831
323
488
15
650
772
54
132
15
921
259
476
784
724
933
902
882
641
635
789
154
882
733
370
319
412
368
130
614
257
898
113
948
978
715
470
4
201
491
312
723
709
61
788
63
955
87
287
737
779
621
897
868
763
466
496
178
926
959
411
339
391
460
159
595
252
315
617
628
128
568
892
907
758
976
283
424
602
203
993
836
583
176
649
483
996
685
283
677
154
274
148
940
486
343
639
591
691
183
609
188
999
337
620
846
792
301
959
396
609
68
824
672
42
429
710
943
160
284
875
675
853
406
736
341
947
254
184
961
9
467
113
427
535
604
877
417
592
540
46
900
52
707
534
814
284
991
148
472
530
712
638
663
215
537
591
216
141
598
873
991
843
339
898
886
390
847
667
473
556
478
406
277
615
618
631
594
958
343
644
918
366
516
773
760
51
635
178
644
499
335
653
540
761
998
671
867
61
384
854
461
519
503
175
569
312
253
424
39
860
473
946
341
446
138
179
961
237
404
281
10
861
89
23
602
509
944
152
651
53
792
653
298
821
186
661
43
460
747
328
59
817
766
584
859
851
959
571
633
405
488
520
159
78
503
953
110
524
478
415
962
286
576
367
489
623
104
489
971
905
900
418
878
813
137
821
732
6
589
840
262
889
915
122
798
857
844
68
1000
685
478
467
684
758
90
378
500
477
914
997
660
492
412
223
722
373
422
864
707
962
416
668
452
910
804
944
154
863
863
70
521
318
400
80
825
458
703
389
384
139
683
877
730
792
360
787
749
188
17
322
609
933
396
398
170
29
310
743
869
67
897
417
790
452
548
877
735
523
219
907
648
642
455
79
640
74
932
965
239
1000
762
916
180
85
98
139
244
827
826
694
164
343
229
248
605
322
583
665
572
653
547
986
376
606
83
949
468
529
407
974
25
728
81
433
172
566
1000
138
110
859
434
164
233
317
693
562
505
127
290
13
15
770
618
217
604
814
304
628
938
745
387
200
178
850
369
936
683
798
31
388
809
837
603
729
900
466
530
643
79
32
584
93
233
929
556
965
941
22
60
696
702
426
280
246
943
33
631
222
756
12
363
500
232
80
144
448
524
470
496
738
522
423
780
755
98
481
97
861
437
31
75
69
864
373
29
233
921
9
366
530
211
31
460
808
622
200
403
381
150
803
217
981
451
415
99
866
654
482
253
538
712
4
682
144
759
700
94
355
507
712
711
499
741
309
368
741
318
49
717
359
912
588
796
575
960
603
437
889
830
355
240
622
323
28
897
193
984
312
684
677
572
652
823
377
254
216
260
433
749
910
112
8
689
695
669
213
930
69
372
720
406
802
638
972
385
941
744
11
674
630
241
192
399
546
517
477
459
576
229
589
688
937
253
15
4
87
713
759
591
637
430
767
233
964
815
167
450
389
830
811
32
559
165
116
865
199
159
885
710
450
337
598
743
852
645
653
182
420
599
172
329
376
598
285
691
833
595
248
622
152
169
366
105
718
801
444
879
635
796
421
96
174
899
900
108
882
83
549
750
892
404
684
746
357
86
958
413
910
176
704
932
706
262
410
814
910
669
753
65
473
552
843
784
646
38
596
557
957
351
702
94
340
462
228
970
657
336
735
245
122
301
716
960
42
415
279
232
844
945
250
697
563
259
308
604
859
471
315
694
147
174
760
356
592
472
112
217
615
292
909
465
978
674
641
708
735
321
810
112
113
192
76
882
857
347
80
897
692
557
328
447
358
419
535
594
62
858
946
596
335
907
451
248
983
631
755
718
258
882
484
666
417
343
858
997
548
983
486
601
941
588
912
819
275
540
774
181
601
368
823
170
441
908
597
380
296
59
240
449
553
282
821
592
32
930
507
371
445
457
124
594
609
338
966
880
550
284
185
461
594
940
741
270
83
807
674
229
647
563
424
899
845
317
30
355
539
569
277
221
604
820
324
283
438
850
870
20
249
639
699
650
310
800
281
46
192
165
189
952
491
887
272
471
713
968
898
713
794
687
61
838
206
772
852
448
701
485
605
440
541
34
997
991
499
822
535
286
984
107
158
972
424
584
122
101
403
224
942
493
155
507
942
19
691
800
872
328
232
216
117
903
643
790
278
158
243
136
282
469
717
80
695
682
842
930
677
630
399
160
797
627
952
280
1000
753
133
565
151
966
718
167
924
732
11
817
280
905
53
982
413
76
691
868
835
422
853
98
242
422
241
264
871
421
213
761
361
154
875
541
518
799
228
414
991
51
783
570
550
976
218
817
611
152
508
854
627
687
439
576
216
240
587
5
232
91
637
948
495
648
404
900
573
498
8
23
836
290
470
244
965
251
403
671
278
112
575
536
461
594
865
834
828
364
537
667
758
537
819
56
775
405
485
653
643
57
508
348
897
928
899
228
503
157
498
755
705
803
858
284
654
602
340
243
130
969
195
417
530
372
720
754
275
28
536
36
992
138
676
570
147
487
408
800
261
314
718
317
509
814
888
358
280
473
932
246
233
742
491
635
483
201
393
646
818
481
265
146
276
660
487
499
959
786
285
83
731
444
950
746
301
33
16
167
257
492
724
776
797
754
245
487
292
149
959
997
287
278
543
832
257
638
737
608
216
432
461
243
312
520
351
932
618
460
917
784
676
928
229
926
772
587
484
750
526
641
826
723
167
917
536
831
752
276
72
337
680
572
452
939
90
173
200
871
97
261
345
707
388
755
50
863
385
701
14
889
40
427
166
613
354
565
89
157
851
307
277
627
605
886
556
21
852
343
991
521
903
85
139
872
833
612
789
5
381
57
232
379
622
862
635
819
202
990
349
736
368
584
813
724
598
836
288
485
358
184
790
907
407
618
476
919
125
26
212
433
510
993
195
285
884
434
353
583
827
749
649
295
550
921
603
214
739
163
77
669
862
214
823
482
108
395
379
698
385
872
657
563
271
340
941
81
415
546
121
217
659
618
638
501
38
183
66
322
939
633
209
704
883
722
335
729
816
858
468
39
326
90
696
66
894
798
51
731
171
537
897
340
244
284
660
349
73
628
405
455
561
36
16
216
226
421
680
19
75
667
968
758
80
652
48
34
587
559
469
11
120
966
522
352
292
271
384
794
952
496
144
997
278
431
322
277
249
348
677
718
840
260
961
927
289
779
736
401
19
174
570
86
142
139
690
174
985
130
683
648
742
854
911
349
190
645
130
599
388
21
203
544
405
660
893
379
431
404
503
612
62
681
476
331
171
887
175
221
523
874
765
711
230
681
476
227
189
19
573
992
924
841
44
170
578
536
330
476
407
888
470
539
782
974
623
414
591
593
300
641
930
656
553
158
137
212
38
206
573
404
98
60
7
744
994
86
110
515
960
121
372
989
47
656
674
425
582
613
884
473
666
789
103
714
315
183
576
530
760
509
909
411
913
150
922
107
203
698
370
738
849
16
822
75
96
450
154
755
122
396
521
102
122
965
114
546
541
880
755
404
556
59
148
904
677
557
614
900
776
693
273
671
946
184
919
588
340
99
301
160
528
244
111
194
990
391
764
350
78
386
941
382
126
764
989
753
445
969
456
86
620
638
455
164
839
721
84
766
28
381
838
681
170
729
797
630
539
447
382
705
506
263
662
131
240
68
493
824
858
170
270
282
546
843
701
761
758
817
821
604
841
852
380
823
323
835
897
735
706
146
879
512
768
143
172
26
282
741
950
231
587
991
596
655
613
461
623
261
831
15
806
69
55
259
918
432
226
538
804
807
75
872
48
170
53
608
153
995
27
926
988
832
23
507
216
78
732
849
583
524
588
723
218
570
956
211
561
814
409
627
132
895
95
356
116
15
922
334
675
607
682
429
942
974
223
490
923
535
511
172
875
536
717
979
322
671
493
100
524
109
254
781
107
831
556
913
548
7
691
473
405
412
170
267
467
494
99
108
539
773
352
263
146
712
67
462
300
57
200
265
365
911
813
895
215
502
312
916
96
660
58
298
64
534
671
458
400
962
863
876
188
202
806
723
79
461
907
756
339
751
345
416
481
141
881
654
99
382
258
537
101
228
985
81
135
511
400
68
877
182
718
855
818
55
166
284
312
992
426
862
960
578
352
299
838
170
304
357
703
312
548
720
47
140
828
242
823
384
650
506
697
933
800
103
967
786
316
412
623
376
491
960
599
883
454
618
969
190
556
996
666
522
72
416
360
688
715
726
258
43
76
63
934
976
371
375
788
726
834
164
351
854
649
423
449
495
610
201
208
836
549
577
971
919
181
64
462
953
179
648
959
812
229
709
803
288
262
74
317
983
334
296
76
399
386
79
531
943
661
423
180
58
705
699
837
604
655
325
72
998
35
177
539
291
344
140
777
573
563
450
994
601
73
616
543
521
629
723
37
925
748
871
542
244
270
376
868
661
935
58
755
298
508
677
662
450
379
64
943
998
570
49
433
958
790
594
841
331
501
881
908
17
964
265
971
593
884
113
445
177
588
557
731
427
621
89
254
969
296
753
627
195
972
417
444
422
813
217
828
849
326
824
666
646
272
625
403
732
398
233
373
525
36
28
917
990
815
575
957
824
598
834
249
508
297
48
302
252
402
93
810
562
886
825
503
302
666
693
524
596
940
450
777
892
530
324
237
810
837
404
841
134
119
330
443
490
603
583
270
756
352
814
466
238
923
680
607
4
578
600
505
541
234
695
249
56
370
923
170
361
863
84
360
249
57
958
418
648
421
262
364
689
838
556
25
978
895
462
750
19
543
785
998
726
165
193
238
412
380
163
553
454
884
760
561
91
260
672
575
443
946
623
380
910
516
936
694
535
981
542
116
821
106
164
369
726
599
783
703
258
633
721
629
170
332
842
540
744
763
455
369
535
482
453
162
282
868
125
331
865
336
844
391
315
988
549
190
409
450
499
2
313
425
345
357
46
960
898
153
297
575
366
424
280
131
989
120
830
808
194
378
944
596
364
90
296
495
317
978
57
996
394
40
505
495
837
953
506
975
792
970
933
712
830
899
479
739
367
4
139
522
731
32
819
632
929
142
169
177
331
186
739
447
610
668
993
504
280
702
553
415
67
487
270
489
187
98
374
85
320
922
12
573
689
674
928
555
211
724
915
743
105
439
931
763
713
320
447
752
527
3
696
779
589
583
954
48
482
339
894
325
135
615
369
245
499
547
649
974
989
342
303
219
224
23
390
721
256
919
577
159
924
672
138
907
429
226
494
152
509
65
154
687
844
970
404
147
421
681
118
494
662
167
359
362
17
630
274
230
616
13
913
482
298
497
210
113
5
432
362
215
108
210
200
407
682
797
988
55
154
70
284
479
12
613
81
318
469
340
518
904
60
178
827
794
183
36
57
560
468
476
326
594
706
812
7
926
783
846
318
17
690
99
219
51
219
177
406
534
398
866
451
875
77
657
819
204
308
670
570
892
337
345
42
118
111
879
728
334
132
81
827
697
425
222
680
346
116
516
422
921
865
39
671
859
948
262
42
831
321
905
572
116
393
448
899
882
559
502
188
58
765
196
331
977
509
885
916
23
712
782
839
264
852
549
167
480
575
514
78
30
778
925
252
729
811
577
106
277
5
218
633
805
217
387
436
803
456
708
727
13
947
205
700
883
175
935
691
829
553
41
970
864
367
391
852
98
549
110
34
277
668
627
725
757
225
377
192
285
2
907
778
527
707
928
353
543
652
824
379
289
498
223
498
826
396
495
597
92
989
474
806
980
823
255
793
13
678
679
992
44
208
975
154
311
89
87
658
617
529
420
623
596
621
90
710
818
519
260
884
959
818
846
141
389
850
667
324
278
815
123
731
814
819
605
170
149
911
144
461
498
141
241
197
162
552
463
696
366
722
94
713
460
175
121
440
448
522
834
718
810
676
620
205
287
869
868
433
622
473
473
306
255
835
113
623
638
417
351
621
103
551
589
375
244
29
110
129
332
552
745
276
609
805
191
765
215
536
642
151
106
575
190
400
551
140
405
796
733
164
601
1000
487
597
576
385
482
824
5
253
981
388
272
457
861
196
230
222
756
254
285
690
34
776
239
832
800
183
520
858
283
135
786
228
774
223
423
663
743
362
84
310
885
253
285
365
629
495
27
999
72
64
564
388
397
908
722
37
577
358
634
317
565
893
356
358
246
548
591
976
128
943
668
348
122
444
13
505
797
453
540
536
181
221
832
610
500
836
482
509
284
249
687
420
868
298
32
127
682
679
430
617
648
755
333
304
643
872
664
772
262
620
414
940
52
53
454
59
966
474
939
774
56
794
618
775
307
831
450
240
80
193
239
341
852
504
363
594
808
858
285
705
376
301
252
891
959
67
483
338
992
49
172
598
926
706
859
225
894
170
59
891
634
863
560
549
709
310
463
951
175
175
875
981
638
753
134
797
71
302
589
758
852
608
249
458
233
143
72
967
850
14
266
549
955
648
733
725
740
842
711
524
531
344
754
161
637
636
391
190
310
941
234
394
655
785
813
256
285
626
137
926
180
159
829
979
547
918
697
117
392
703
774
210
183
178
176
688
244
714
622
390
442
161
99
402
348
813
915
284
270
207
393
376
483
824
504
525
529
937
45
676
674
69
358
251
491
574
187
136
55
803
966
399
431
247
760
572
970
785
96
442
418
889
129
813
25
224
944
637
608
595
320
234
33
581
922
70
654
558
750
704
82
975
622
58
35
942
617
140
158
171
721
702
409
295
319
78
50
398
839
651
305
390
571
946
485
477
630
367
751
580
101
966
698
5
620
452
655
55
69
849
902
575
558
824
37
587
613
725
356
281
313
812
426
658
154
970
995
980
567
455
19
56
364
865
827
70
842
560
434
319
941
256
551
752
619
323
121
634
579
648
105
33
573
560
787
57
783
402
108
941
190
854
398
163
420
961
387
703
292
162
605
498
162
292
64
867
236
683
665
432
189
951
894
610
800
51
188
294
831
462
826
722
38
130
308
883
18
932
982
993
615
987
91
740
688
75
519
13
395
826
268
773
557
68
70
594
296
941
636
111
886
928
740
333
692
986
695
297
138
315
846
31
871
123
351
188
685
964
866
967
323
823
788
163
935
140
300
262
882
410
820
513
545
819
411
824
982
606
307
128
609
507
34
615
550
664
482
832
950
873
933
209
316
865
254
991
943
631
388
917
540
445
832
254
475
333
996
920
443
240
239
537
968
9
863
195
851
618
565
618
591
828
678
182
827
474
20
949
66
206
341
461
310
362
140
562
707
28
132
908
26
50
714
164
580
927
609
79
192
59
266
803
951
779
698
801
793
973
186
700
390
848
686
219
436
591
819
125
191
259
64
777
53
198
119
425
999
718
444
881
989
527
682
565
789
656
981
224
225
199
251
797
590
233
38
16
759
700
14
322
599
861
25
602
428
188
294
53
582
182
632
218
674
687
441
855
702
683
912
857
34
470
28
855
171
353
921
501
366
675
673
703
376
84
865
187
93
455
67
895
357
719
969
664
962
228
50
505
806
934
527
621
119
801
806
962
960
385
829
724
486
446
513
723
38
780
932
948
737
210
39
953
130
814
478
949
378
18
496
584
660
144
19
462
699
368
757
357
837
814
547
958
629
670
250
719
730
832
203
53
754
526
620
681
856
796
350
410
21
508
90
8
442
768
492
117
894
228
602
345
735
807
719
777
989
755
68
145
23
844
661
809
450
682
318
525
252
825
135
690
589
384
571
392
379
292
967
123
561
279
520
463
869
832
664
380
86
141
347
54
969
74
927
301
501
752
273
722
659
147
187
688
648
469
452
156
423
791
635
82
373
481
306
906
234
535
442
167
661
824
630
826
399
616
139
277
663
446
41
338
157
584
354
760
151
881
615
886
175
740
364
174
158
319
789
189
339
854
175
563
824
142
855
153
479
839
84
287
728
204
635
568
930
288
922
169
213
431
168
939
63
70
452
919
474
520
487
69
195
401
613
94
446
795
822
268
508
68
574
73
733
531
808
275
880
733
808
786
124
281
536
294
771
483
634
187
451
17
521
716
561
75
948
713
809
129
918
427
972
520
78
203
417
592
589
788
491
963
998
38
629
842
815
667
914
9
335
467
865
167
774
127
426
940
886
373
496
662
96
643
846
488
603
961
931
54
70
942
944
91
247
111
439
934
364
861
964
813
175
372
479
217
307
800
753
345
964
853
543
864
89
661
145
777
823
484
793
171
443
375
482
46
14
399
10
182
663
376
427
258
725
410
621
18
15
648
466
296
112
835
828
182
891
199
724
385
456
150
98
132
283
70
19
566
658
201
556
675
402
263
273
216
512
988
19
990
538
174
689
77
478
229
721
321
481
420
333
444
900
214
978
645
89
151
11
450
880
678
326
868
837
232
607
621
271
682
881
343
428
883
239
126
491
743
977
773
791
668
916
398
107
698
306
785
66
925
569
54
415
46
119
732
386
8
601
286
455
745
235
536
552
956
358
152
177
715
884
593
933
452
166
440
716
530
654
76
161
177
819
35
975
33
59
164
474
938
667
957
984
873
504
997
761
169
711
511
731
186
657
427
674
671
324
198
433
925
505
842
354
713
519
351
441
574
612
632
638
847
887
627
256
215
343
90
796
58
617
824
331
222
81
795
157
100
230
669
658
32
710
789
188
154
924
507
305
761
860
86
872
143
687
91
395
638
722
326
450
340
545
856
206
495
413
614
875
122
627
400
368
814
191
850
559
984
902
55
363
49
18
105
226
176
765
760
764
236
259
832
979
585
850
630
953
103
520
977
899
706
713
928
247
188
905
276
751
835
291
335
655
700
206
305
655
843
269
717
711
99
802
68
768
130
762
804
107
647
281
186
342
639
942
463
64
417
50
976
722
42
522
477
663
486
470
991
117
445
221
29
582
317
263
790
233
250
625
292
954
557
227
23
95
13
74
818
301
739
523
108
641
427
477
647
747
638
54
58
923
793
194
306
970
253
699
267
990
579
388
134
603
667
441
287
788
947
479
600
40
264
626
918
672
349
607
542
842
48
914
149
335
563
244
510
223
46
649
747
262
774
345
624
300
38
700
563
25
577
687
642
84
105
28
835
13
998
293
142
398
718
498
52
413
907
79
14
198
380
712
172
542
441
121
674
997
38
874
258
850
284
194
685
345
769
969
807
180
933
465
700
572
460
759
359
116
304
490
913
266
494
384
147
504
295
912
443
168
662
568
874
473
173
508
318
466
793
720
897
544
884
461
995
673
846
428
367
650
670
28
583
566
447
139
150
163
589
978
203
879
110
20
541
245
809
452
157
709
634
292
117
117
791
143
827
852
411
536
232
65
714
930
490
513
626
764
2
286
774
377
467
101
610
246
792
880
196
721
282
78
804
392
526
588
97
264
763
45
97
182
370
107
542
296
252
547
515
938
585
57
423
958
358
284
498
434
590
927
8
677
925
704
259
632
566
609
297
79
137
167
962
556
114
314
518
515
944
143
703
71
800
980
398
599
230
166
536
591
612
499
72
405
397
471
35
987
656
333
728
211
292
549
120
206
615
363
364
941
662
67
147
379
790
50
272
695
543
849
496
439
771
242
99
11
279
897
142
503
29
196
612
763
84
639
950
562
994
673
524
824
331
873
687
227
405
157
993
900
982
109
975
558
1000
558
664
180
854
267
691
253
828
958
354
686
622
937
543
706
749
252
764
480
762
668
809
701
913
751
807
114
832
969
479
785
274
83
439
970
792
7
291
551
441
985
83
389
271
191
399
389
406
793
31
724
967
109
654
452
971
748
425
722
597
512
744
857
895
408
674
870
84
319
684
401
95
787
446
607
895
838
383
308
423
27
562
545
714
662
283
770
838
699
441
88
876
952
312
306
16
51
930
99
228
60
631
213
700
805
654
514
354
696
921
620
343
318
236
30
338
105
192
922
843
195
5
285
481
949
355
609
419
684
56
158
662
870
49
757
931
447
774
84
257
910
451
715
196
513
182
543
801
284
69
733
98
529
738
95
811
178
754
575
547
605
426
631
448
550
403
373
578
370
272
712
950
138
124
239
155
42
637
152
2
118
813
421
466
610
902
240
475
143
417
2
780
462
417
240
211
700
340
425
133
23
812
72
771
999
754
359
437
262
50
306
334
852
793
676
777
121
819
874
163
250
864
560
960
224
139
142
317
590
578
15
628
428
293
235
542
764
19
289
459
63
442
761
497
566
359
999
290
933
542
325
765
120
43
948
178
410
423
484
313
293
43
936
731
218
148
30
318
296
909
59
239
711
8
755
554
923
610
278
415
762
769
80
751
157
411
280
792
559
45
204
609
69
259
883
84
921
886
662
385
245
427
532
49
947
975
438
246
183
403
630
675
84
18
26
785
367
256
738
715
952
210
83
411
986
981
909
893
502
886
574
505
489
542
679
319
338
713
548
544
448
616
472
921
296
41
941
601
425
275
462
935
591
288
46
912
811
89
136
773
141
442
562
415
829
384
98
793
875
82
336
466
175
661
866
800
124
497
229
125
990
397
699
298
417
787
715
717
128
718
708
832
276
56
137
572
926
698
783
928
819
49
744
131
927
249
95
470
286
866
914
846
276
858
197
538
788
592
209
538
729
655
5
19
884
980
145
152
498
545
148
550
804
537
831
72
378
397
496
567
405
623
877
437
866
528
851
548
200
441
198
119
235
968
94
710
23
15
623
295
763
248
292
755
181
533
451
794
568
698
547
419
167
654
344
632
782
485
598
916
260
661
201
428
983
898
445
551
611
551
922
607
126
596
526
66
622
446
181
583
411
827
198
511
734
926
627
341
802
842
562
700
914
145
143
85
149
998
883
547
467
860
64
898
127
292
138
833
963
715
492
569
444
309
452
204
404
405
114
28
25
817
452
457
916
589
153
54
133
516
799
406
596
646
360
189
631
655
416
888
307
659
182
31
836
528
199
699
522
227
506
331
691
66
205
519
553
966
616
572
189
38
605
126
727
830
275
953
270
568
921
448
369
592
51
959
643
990
304
253
645
114
307
932
249
252
881
525
618
265
476
333
301
371
446
838
94
603
538
613
136
681
2
268
78
171
826
863
311
840
930
644
946
45
566
682
669
871
812
197
639
468
789
929
314
685
155
897
476
713
512
291
724
857
569
44
424
10
339
834
433
619
132
889
882
174
862
972
18
331
994
369
342
781
519
527
319
898
464
223
485
12
803
803
122
877
117
66
557
530
953
851
750
279
682
207
102
2
545
355
269
274
735
265
387
119
599
807
275
311
456
889
96
251
128
905
459
388
989
125
133
71
242
342
411
448
155
237
605
789
225
418
374
150
548
28
330
834
223
149
894
504
281
966
439
121
427
797
588
103
905
662
919
244
911
995
474
938
262
504
160
230
515
905
578
46
298
498
856
699
405
63
769
466
108
610
832
549
228
860
38
249
726
170
635
540
981
815
663
511
433
132
957
372
12
88
990
758
598
239
246
137
777
876
757
985
336
407
69
242
262
660
200
274
478
855
55
185
210
435
372
893
649
812
525
780
546
387
395
119
454
819
107
705
641
666
603
286
50
958
953
480
326
193
774
788
620
532
359
249
771
673
920
32
528
20
890
959
660
248
328
572
161
339
338
822
275
447
825
921
730
726
86
161
398
382
457
772
566
779
724
999
180
348
56
613
654
477
988
22
358
260
386
993
445
209
359
756
476
604
842
902
212
123
903
92
1
826
888
21
458
345
182
507
471
332
713
824
161
871
326
609
86
527
798
774
864
177
586
849
373
575
353
92
889
852
958
537
818
793
839
850
180
798
709
508
625
864
14
364
568
818
889
56
979
295
240
140
451
610
147
3
468
790
970
842
175
497
461
10
555
470
659
39
636
434
584
504
245
108
529
706
863
81
307
815
343
817
906
727
608
16
864
409
945
851
93
878
212
366
64
317
55
460
967
38
264
423
976
120
483
965
773
614
830
34
263
119
401
482
824
409
253
831
472
531
219
969
45
439
825
579
896
850
666
528
589
414
812
218
805
715
217
128
969
900
637
379
155
906
275
181
421
373
217
440
95
333
738
649
449
665
734
411
851
134
848
600
759
552
353
208
828
233
478
396
48
442
670
111
7
985
234
934
344
439
887
459
967
767
35
623
856
237
9
881
124
618
46
6
552
605
562
618
1000
312
126
230
904
442
611
734
629
457
175
760
523
643
102
262
408
497
30
35
631
258
780
594
993
719
798
983
586
695
229
666
62
640
778
567
902
943
777
728
29
381
367
797
494
57
298
760
45
887
580
878
77
398
193
833
862
119
100
417
955
364
37
963
397
564
985
875
630
587
696
261
76
695
440
679
962
864
908
428
290
229
284
673
818
279
621
896
541
305
23
841
428
270
578
168
125
940
654
465
904
633
947
161
408
383
620
152
620
688
1
586
58
223
532
410
427
109
118
691
787
365
575
685
890
142
621
893
452
247
733
49
24
215
238
127
595
900
225
952
216
164
180
926
747
713
807
728
306
577
129
574
86
32
817
771
32
979
642
854
270
939
130
552
279
857
744
194
549
831
401
922
870
765
731
287
456
665
239
352
820
985
452
443
691
979
224
58
295
498
584
272
5
52
896
171
702
237
683
455
186
819
107
389
643
877
13
688
461
399
403
776
671
637
437
74
909
358
305
642
63
835
883
533
715
60
646
682
72
196
155
21
338
728
363
782
354
127
106
607
938
72
377
199
530
478
453
716
636
601
459
5
106
500
739
87
438
985
240
1
174
3
222
237
911
66
732
505
644
952
707
502
940
406
34
708
920
980
590
930
144
459
99
505
268
567
633
599
794
747
709
995
299
869
244
153
300
652
62
61
298
432
277
599
613
675
605
714
340
282
621
679
114
297
6
131
415
136
100
358
829
778
429
541
2
707
457
233
48
533
477
421
810
357
431
913
679
931
471
637
652
574
206
673
928
639
953
493
625
23
751
927
118
872
552
834
104
146
812
326
756
158
610
649
202
560
589
529
153
487
221
838
702
740
355
954
199
962
563
77
629
718
538
46
110
296
680
949
952
793
52
879
248
791
102
773
89
486
871
132
319
651
952
805
209
240
130
741
561
737
423
733
506
581
282
787
729
142
791
646
917
747
51
405
976
187
333
907
997
22
237
780
952
705
820
590
890
252
610
518
704
727
454
430
621
291
436
955
222
939
419
437
155
360
391
197
690
503
414
621
931
567
889
940
794
135
842
488
839
56
91
378
661
530
520
248
825
550
111
745
257
504
78
888
608
253
200
294
340
472
427
567
196
362
916
760
278
117
947
978
160
676
552
611
341
368
291
627
889
32
344
642
272
52
939
183
262
573
232
698
241
822
913
348
455
63
184
599
498
245
282
903
845
763
357
547
320
141
365
865
202
582
620
573
75
551
760
934
647
511
203
837
487
942
613
643
56
568
487
808
435
512
758
905
904
738
215
644
873
709
623
863
713
666
640
318
690
329
56
236
597
63
368
287
607
805
455
576
596
87
939
753
433
545
853
113
746
175
392
831
262
446
850
124
117
74
344
153
458
930
534
983
254
41
363
728
481
131
796
338
735
473
624
100
916
82
669
73
807
441
159
100
273
28
596
997
309
867
181
762
384
222
763
421
320
338
278
172
494
814
908
62
267
797
486
337
369
707
227
935
432
582
513
344
997
480
290
178
64
577
629
384
735
749
105
963
563
440
1000
417
957
583
720
943
440
169
478
556
557
830
22
889
4
464
123
449
876
467
609
454
988
661
963
220
894
343
888
245
574
188
786
770
760
927
805
612
515
814
957
481
1000
918
825
846
321
157
546
634
978
841
83
704
707
198
283
87
450
977
839
438
771
791
106
13
287
258
622
754
593
403
328
745
698
978
733
375
232
575
681
44
542
434
970
140
311
840
775
317
555
874
752
806
651
89
718
613
575
337
3
984
674
620
942
420
101
284
472
887
512
362
481
588
757
101
362
809
42
12
239
915
515
860
422
515
299
66
4
195
728
938
892
968
982
992
238
793
336
367
950
71
994
32
904
34
806
13
554
339
243
363
855
958
646
972
820
695
140
612
555
252
575
768
337
794
524
965
144
397
681
237
56
574
947
355
129
344
144
206
655
935
545
465
207
254
367
318
517
748
946
535
1000
115
583
635
727
597
916
226
716
288
284
872
714
941
707
995
9
270
39
367
454
626
313
763
550
238
551
176
363
907
90
828
93
166
18
871
280
425
446
279
39
572
142
943
182
798
560
396
780
192
357
887
536
764
335
778
332
133
124
357
415
48
48
174
42
305
356
996
786
368
388
272
368
185
322
802
608
283
865
925
19
208
599
146
644
769
769
555
966
347
913
809
112
745
160
716
96
667
943
639
594
928
578
71
527
923
436
706
829
736
440
254
854
480
186
65
291
128
328
360
849
130
743
474
699
584
629
65
376
585
909
707
850
637
223
585
554
716
361
307
421
629
189
998
420
818
994
893
629
638
732
639
631
475
790
392
911
723
780
566
957
808
323
806
991
934
973
341
593
159
219
376
5
755
983
609
566
525
143
256
562
910
391
208
740
276
175
61
893
696
563
807
202
966
615
905
477
285
238
310
45
291
593
789
796
659
790
506
815
488
32
449
107
110
355
710
147
723
814
42
380
479
307
387
346
286
224
260
786
556
754
982
959
622
7
754
406
322
52
466
573
515
623
980
13
958
502
314
390
963
519
816
122
795
726
923
329
558
519
579
654
634
401
691
680
411
648
300
893
99
319
263
582
932
980
363
622
974
980
663
845
1
344
886
565
677
176
315
876
350
956
444
557
299
271
190
743
195
336
999
69
902
127
554
635
417
55
164
983
981
902
76
244
851
183
143
770
273
156
262
834
476
491
978
459
347
983
476
20
568
753
955
43
634
128
17
528
97
721
293
219
841
289
997
447
942
623
461
598
911
64
17
752
710
239
764
796
962
254
866
116
207
913
33
31
874
469
737
273
883
63
549
139
464
257
697
462
772
37
563
131
406
205
409
716
749
385
17
715
337
714
323
9
154
887
338
403
811
423
847
549
67
909
415
103
46
467
223
717
806
936
122
351
619
41
97
430
436
349
997
568
547
975
27
954
340
776
950
985
430
270
415
419
156
620
100
136
571
809
598
577
637
569
120
69
266
699
89
552
220
191
685
646
672
945
206
623
366
936
903
612
945
423
580
281
969
124
832
295
556
353
272
118
383
766
451
95
980
726
502
274
874
279
695
171
167
399
207
500
534
450
419
932
486
812
938
80
975
204
406
275
50
534
822
148
345
43
784
674
619
92
576
157
459
195
449
533
484
796
824
531
117
851
385
452
28
513
187
763
883
33
975
286
879
600
899
472
904
946
661
154
827
447
933
211
543
898
591
783
947
343
869
16
895
101
92
844
584
625
6
988
485
958
93
154
142
299
436
420
683
654
860
918
840
623
95
233
664
134
660
370
870
319
4
753
933
805
206
496
632
403
197
85
744
540
11
696
964
828
89
611
944
823
1000
559
550
394
244
387
47
100
7
130
934
633
807
440
603
694
11
315
804
637
75
259
139
839
222
328
485
18
944
979
241
686
394
309
812
473
234
34
570
352
963
523
803
651
108
312
869
344
879
774
817
283
100
52
251
947
252
930
113
783
464
37
328
405
162
711
5
776
854
823
980
967
260
130
3
257
554
44
813
149
11
219
662
339
769
50
608
780
704
962
20
807
690
406
309
665
579
552
838
920
342
16
356
956
698
383
37
172
441
891
410
549
414
420
35
979
752
837
772
109
557
829
886
492
690
577
41
526
690
32
415
980
148
75
830
922
66
560
763
523
786
88
564
499
132
369
24
933
280
212
683
846
702
493
900
143
263
937
790
519
160
199
541
495
945
494
548
974
310
23
12
659
654
491
378
192
729
335
42
113
783
636
249
587
742
336
5
418
883
39
131
997
384
621
283
722
891
884
889
885
950
705
462
217
733
478
687
40
19
166
10
495
778
950
185
388
35
279
394
15
905
118
103
732
842
312
778
140
145
302
929
508
754
854
760
443
156
88
836
889
49
839
797
251
5
325
107
810
985
142
260
618
13
867
614
763
705
912
294
207
627
837
157
432
649
18
894
757
580
422
708
496
330
264
897
125
816
477
871
199
589
262
792
87
918
457
92
499
694
113
538
362
29
444
442
895
900
285
815
568
511
285
1
256
319
331
372
67
814
118
161
226
229
351
421
901
313
803
387
61
184
333
220
284
85
23
248
948
520
774
307
349
877
84
758
169
147
219
30
109
737
671
336
673
720
618
316
851
68
88
927
886
560
646
856
393
76
756
98
859
943
373
114
944
854
973
144
70
605
942
861
498
599
222
516
464
595
129
136
980
684
534
123
573
826
956
832
605
594
686
296
783
945
729
307
145
943
245
475
97
375
151
723
72
77
731
926
959
661
420
22
780
993
420
18
983
460
428
712
340
560
555
883
668
806
485
908
503
292
984
497
421
506
191
278
895
149
491
482
484
782
365
845
630
103
356
190
587
519
158
800
775
479
884
863
414
737
772
763
398
274
954
913
211
153
397
172
134
978
834
637
118
930
287
706
490
607
799
912
63
997
108
944
349
960
304
662
292
545
948
664
358
311
748
162
868
554
647
473
187
56
89
471
735
475
326
680
845
26
828
548
149
434
276
603
516
472
145
846
595
551
586
719
620
947
186
447
491
260
166
355
67
586
790
29
280
733
47
814
894
512
160
208
736
768
125
149
753
364
261
86
557
760
714
976
956
180
953
15
601
623
575
31
30
124
136
912
315
755
312
375
996
797
426
657
221
442
261
433
815
120
121
378
513
282
302
294
735
30
501
683
119
519
198
941
454
464
698
124
798
374
387
345
357
395
685
459
104
763
359
591
237
878
138
501
305
998
6
466
239
365
194
615
588
337
604
182
969
776
375
152
124
498
314
171
980
52
201
387
837
508
339
105
89
187
250
740
950
479
154
590
237
982
698
356
643
204
420
197
840
995
605
319
407
656
516
759
852
443
460
76
922
778
794
110
986
26
757
849
545
158
984
693
795
925
634
105
739
473
374
705
591
457
821
363
19
789
669
722
387
128
438
922
260
106
663
958
335
62
404
266
434
746
137
601
348
66
469
245
124
448
602
892
891
789
159
289
377
295
814
880
120
745
129
239
750
816
166
24
846
165
709
580
614
901
393
61
16
926
662
123
60
371
197
837
680
43
419
449
975
323
718
3
648
467
307
663
137
624
972
766
286
168
551
246
399
150
663
115
171
752
60
74
300
648
12
205
551
88
268
893
673
317
494
809
822
697
553
802
111
498
629
36
481
884
3
553
331
55
225
722
256
843
544
707
807
336
711
176
378
244
701
952
235
812
459
213
192
23
522
141
656
764
243
640
573
364
411
836
338
630
217
626
850
123
923
422
735
869
72
631
198
174
752
83
110
473
255
822
697
413
464
196
647
464
403
144
525
413
732
946
151
17
373
483
987
968
82
200
646
47
538
589
339
16
444
958
472
394
208
684
608
669
997
917
702
958
354
938
875
352
111
963
960
397
14
232
723
282
376
624
984
256
18
887
799
776
4
806
506
639
942
282
719
126
123
340
276
785
433
542
742
30
720
161
327
166
287
715
952
818
273
160
805
962
939
119
881
962
320
4
942
37
248
786
793
602
503
491
13
766
735
169
79
87
838
229
347
348
654
550
478
758
255
683
741
434
550
818
67
473
646
915
844
225
195
544
252
598
974
542
345
364
48
531
181
466
185
730
61
266
631
254
325
536
959
259
234
728
472
890
151
738
562
983
641
944
495
835
117
749
323
210
338
287
25
900
436
178
503
821
112
464
779
615
312
913
575
171
1000
918
496
303
617
103
181
71
422
581
115
861
206
524
304
412
792
346
614
421
332
312
392
220
663
871
939
313
864
302
489
197
759
579
644
15
271
466
610
52
462
963
145
997
571
176
910
170
590
561
730
664
713
299
391
417
552
223
727
793
86
346
181
140
208
518
462
163
121
168
653
652
15
402
911
288
195
941
894
762
296
520
189
440
283
425
310
144
706
733
270
385
72
739
371
605
241
752
575
497
504
130
774
537
348
990
337
194
930
490
539
125
5
982
878
861
357
592
817
88
805
5
194
680
481
303
411
26
425
745
489
64
469
241
301
659
28
138
562
591
693
629
680
513
438
733
186
642
873
334
267
860
185
208
867
149
348
315
933
949
727
886
644
143
404
993
888
840
455
376
804
14
904
249
970
394
297
696
676
669
643
74
787
209
7
493
884
15
154
80
744
554
479
219
713
428
919
371
218
619
652
394
472
155
186
524
407
607
856
287
19
806
856
645
609
485
667
661
811
377
145
755
973
440
612
431
155
465
974
993
967
342
300
335
534
612
298
366
98
765
815
16
165
952
837
44
651
361
451
86
169
581
896
429
464
646
120
74
17
334
258
492
5
498
23
342
126
884
335
120
285
907
398
350
770
351
48
452
353
794
454
876
678
842
129
443
422
938
792
54
986
587
821
158
862
316
924
348
423
620
166
518
612
402
699
818
877
158
347
489
759
243
736
302
743
115
784
967
310
329
179
362
690
428
954
825
427
600
374
124
745
113
129
875
647
105
284
365
837
237
489
736
848
132
736
457
195
220
331
829
995
861
821
48
251
152
317
7
916
825
44
570
931
52
969
546
652
753
36
959
491
233
883
490
119
571
930
184
279
211
342
583
138
635
721
463
83
827
318
288
72
476
195
260
945
514
38
620
603
628
257
449
594
873
597
779
424
317
747
238
896
1
307
838
849
86
68
732
951
229
748
958
625
638
212
237
743
212
730
871
463
453
15
672
492
526
612
627
51
992
724
709
89
230
697
837
573
515
207
491
264
28
655
901
3
834
389
54
389
996
176
961
699
548
742
806
48
20
327
563
56
548
923
688
781
392
290
274
241
862
871
863
634
219
476
734
286
124
969
70
417
595
189
890
55
233
86
980
822
693
313
388
846
983
587
189
771
203
731
375
664
739
644
696
673
810
421
192
418
439
425
997
448
619
452
692
570
482
4
129
492
705
322
183
15
309
57
316
967
225
352
224
181
709
695
40
49
757
94
769
660
171
2
686
49
801
963
390
853
825
115
100
539
601
536
574
420
763
925
682
877
738
240
332
548
808
744
877
783
146
383
603
304
22
499
179
854
498
728
193
599
503
298
10
165
118
76
246
525
277
454
80
349
862
554
469
91
330
290
108
805
627
580
614
626
83
303
998
924
435
700
949
360
869
539
848
476
243
754
704
972
194
234
398
559
928
91
735
97
853
82
780
752
102
770
895
96
187
684
691
360
705
975
843
570
44
31
340
905
525
83
285
422
230
92
792
253
102
107
888
461
516
844
570
24
658
455
346
837
491
321
626
172
14
233
348
810
819
524
46
891
634
525
423
636
694
258
102
232
255
378
915
580
549
248
513
81
751
435
560
330
319
94
34
390
180
430
423
330
806
918
724
806
171
1
159
808
949
772
523
95
87
526
862
502
50
139
988
999
640
940
968
375
256
119
302
428
878
741
969
822
847
120
929
130
725
643
907
145
135
146
523
227
497
577
907
317
15
7
945
269
73
6
220
299
484
33
520
701
637
752
523
438
661
135
879
878
186
801
463
707
127
278
12
36
209
787
685
806
615
711
391
850
221
109
824
412
378
532
274
485
90
902
211
62
754
419
551
278
304
297
271
481
756
608
760
447
637
703
864
336
725
454
117
470
864
44
37
714
341
156
686
36
467
176
947
828
563
477
45
697
495
928
933
722
274
533
68
637
14
483
967
3
701
3
683
180
823
52
997
859
901
325
715
951
347
49
887
894
871
709
188
818
905
226
973
532
68
67
686
26
762
464
454
29
410
169
646
152
644
202
118
356
47
624
695
782
648
675
122
460
450
514
391
66
718
455
850
692
626
754
981
517
112
979
41
411
508
523
45
732
538
21
720
30
822
343
130
905
883
330
637
39
970
633
752
286
715
876
220
750
755
824
357
983
979
424
276
809
968
376
130
746
559
376
923
732
162
259
742
627
649
107
503
979
152
749
419
669
84
241
450
347
47
610
925
9
80
573
367
699
858
999
345
45
43
597
780
293
990
675
759
555
378
858
331
230
168
340
189
929
478
557
379
807
590
205
419
879
312
150
257
765
368
97
558
311
290
866
670
734
554
702
464
212
335
382
976
370
297
772
371
728
328
86
331
964
938
377
366
816
368
643
944
542
93
535
544
108
501
839
928
726
21
801
985
894
862
874
477
870
830
649
889
358
401
599
377
250
329
724
508
472
615
375
65
318
557
309
715
184
959
530
741
293
311
566
342
791
877
611
270
617
219
415
639
660
608
885
852
25
145
93
467
667
210
815
711
273
991
769
102
21
469
442
279
777
198
760
740
351
622
898
625
685
483
198
94
208
64
504
112
159
630
235
665
376
475
152
512
879
365
98
585
639
36
942
88
38
640
599
112
889
656
262
359
355
861
913
164
731
400
790
548
871
858
718
495
972
522
110
954
544
663
29
380
646
805
895
724
918
380
294
913
456
109
889
775
384
715
605
299
792
320
110
854
803
948
90
737
714
119
12
961
505
413
821
761
542
242
544
641
947
779
832
165
952
170
321
871
529
684
55
848
714
413
362
532
360
528
287
227
483
817
103
715
979
466
486
53
268
572
636
333
301
909
14
751
489
843
397
783
313
85
623
664
757
210
740
659
292
451
296
781
776
320
114
734
554
21
257
851
9
459
807
714
9
898
741
959
8
938
446
491
49
570
346
959
546
493
728
899
524
763
66
357
943
107
81
196
834
906
316
512
247
946
208
762
414
514
550
274
141
321
725
766
111
27
293
416
744
859
364
767
241
917
669
478
676
304
411
515
340
107
764
880
60
635
385
407
878
11
401
423
325
410
120
370
450
734
157
537
982
525
737
139
221
240
711
901
749
807
200
165
650
545
850
272
676
123
414
662
741
218
711
671
167
921
81
510
368
760
107
258
37
390
750
15
419
648
994
533
7
654
799
757
795
103
438
704
276
689
273
18
529
879
643
362
59
869
815
532
540
623
885
799
253
344
117
535
797
611
424
603
605
647
634
363
908
907
735
377
40
223
478
79
412
244
640
715
43
810
732
877
281
189
157
775
226
828
625
238
410
371
176
80
497
221
274
90
117
853
265
408
457
418
960
447
913
914
210
866
921
342
138
276
66
828
109
547
722
642
632
577
737
407
104
343
178
572
742
910
691
384
89
807
868
198
196
866
864
924
967
164
623
849
170
206
306
816
297
836
860
5
828
679
267
149
401
97
667
24
91
729
434
523
282
717
276
405
588
602
615
91
913
714
823
502
996
586
363
988
745
573
538
868
236
362
327
946
511
543
754
654
216
714
334
145
655
885
391
736
94
87
494
601
973
170
797
501
255
728
823
643
295
8
106
468
467
393
169
282
290
801
484
162
920
872
455
509
730
402
936
923
107
804
511
850
786
781
544
577
749
537
15
696
203
66
297
142
230
5
302
239
417
571
898
995
239
871
84
37
960
680
197
171
585
425
320
537
738
682
143
735
384
963
782
82
992
954
400
384
77
655
76
216
55
62
22
716
1000
117
128
339
210
685
826
841
432
197
423
3
247
443
377
254
364
700
506
406
545
17
693
155
420
42
512
894
763
151
105
631
645
78
756
496
471
417
892
386
126
583
631
821
301
858
587
934
636
133
368
855
457
846
110
445
774
364
389
451
656
808
112
658
295
860
297
582
842
645
180
533
599
149
773
640
247
988
792
589
577
546
881
339
636
630
177
80
272
837
571
27
818
763
460
446
70
34
386
450
749
884
749
720
370
699
650
273
819
463
55
800
938
565
652
906
145
767
185
780
412
452
599
443
959
428
6
755
654
706
358
754
420
627
727
781
922
664
245
38
433
16
91
908
41
860
403
388
307
720
615
473
67
990
516
164
331
59
291
70
113
849
893
230
608
832
369
876
330
742
183
351
717
283
135
262
215
97
247
306
49
120
818
852
738
286
953
515
887
182
26
478
964
873
914
223
566
645
354
683
145
782
435
563
300
847
59
717
492
137
203
26
506
126
940
185
60
741
463
148
691
259
830
788
489
452
729
468
269
388
339
825
525
926
281
57
849
529
730
380
547
486
969
158
862
30
98
374
553
82
101
758
582
605
224
905
306
598
432
116
889
788
759
561
607
993
513
581
351
932
628
608
895
997
942
213
457
115
810
264
633
378
263
47
82
563
865
450
185
991
541
13
518
459
881
713
146
116
895
844
653
239
712
254
328
816
489
504
128
757
668
207
862
302
759
942
558
915
39
631
114
546
899
227
141
630
105
861
388
635
873
357
247
252
530
164
611
586
466
299
815
787
267
865
455
641
158
59
637
557
397
370
619
246
821
829
861
135
516
768
206
228
530
522
306
690
584
927
420
897
991
229
403
96
381
274
34
65
361
420
859
416
949
671
329
212
481
920
372
634
683
68
473
305
795
971
970
729
949
866
542
985
461
934
824
486
389
151
634
132
439
419
598
618
298
241
795
32
568
908
682
101
715
203
699
641
903
163
882
801
130
293
310
681
826
972
405
785
955
458
958
555
716
35
213
909
133
366
556
332
174
37
87
555
560
605
905
266
99
217
976
632
184
998
298
613
109
970
470
198
949
205
878
716
100
302
470
321
966
32
457
605
943
168
396
39
559
129
756
602
599
8
509
541
77
3
265
658
173
28
179
915
631
515
197
424
667
24
191
94
123
294
219
285
464
805
402
854
243
743
940
851
798
509
351
981
303
555
345
638
746
372
640
966
70
931
647
932
496
737
178
843
982
902
251
70
921
371
609
37
391
455
799
632
728
376
520
334
747
374
490
273
689
257
245
330
829
977
147
198
746
928
361
977
461
170
721
502
983
740
202
96
329
505
207
869
762
794
969
955
797
150
165
380
518
120
278
290
882
965
310
398
996
502
222
372
763
102
873
786
953
15
272
991
479
795
701
929
579
566
618
466
714
289
285
323
171
987
758
38
802
59
192
687
825
495
446
281
357
758
595
870
163
556
292
363
164
576
861
11
366
452
645
298
238
915
413
715
35
119
541
536
178
578
304
215
645
42
836
513
224
882
233
770
619
255
838
17
662
379
940
781
279
763
22
488
462
110
198
368
209
924
665
616
296
564
861
387
783
589
477
845
342
771
664
142
896
69
561
655
502
204
741
261
151
202
297
723
936
415
70
489
30
102
953
342
68
584
289
376
815
366
141
694
430
398
607
110
285
796
417
853
18
952
754
967
448
950
633
630
41
578
183
136
842
56
859
615
204
793
982
888
150
94
954
35
930
783
196
339
186
104
132
299
153
111
526
296
480
13
95
324
594
548
603
916
14
539
566
25
641
243
302
171
863
958
303
570
253
618
794
363
758
808
934
267
510
687
300
164
855
809
184
199
721
725
757
931
216
560
337
966
222
446
840
281
774
820
999
148
266
134
61
158
809
401
520
355
651
395
889
895
192
8
624
975
964
454
119
988
934
540
111
985
616
175
916
593
788
683
689
432
30
227
272
968
945
830
284
462
650
88
809
355
74
627
398
990
650
776
156
37
241
709
354
391
504
532
336
564
471
412
515
821
791
832
885
380
966
524
789
22
898
442
657
345
260
368
34
742
504
422
520
882
823
764
157
112
999
255
395
745
887
693
24
613
217
537
356
649
508
675
491
484
150
894
743
234
140
207
143
689
512
59
490
124
244
774
584
802
324
275
136
46
681
253
336
433
891
464
209
273
942
762
710
45
829
825
966
849
447
240
203
286
36
792
664
364
466
326
269
195
741
529
850
247
411
329
546
893
46
387
352
820
518
336
858
628
580
992
948
613
209
769
593
284
178
906
901
655
626
937
270
713
725
18
834
758
129
375
392
516
558
102
645
1000
760
40
912
118
67
216
414
929
962
646
886
270
397
867
515
199
49
700
160
324
394
117
396
638
219
35
162
905
182
55
716
994
115
894
132
842
27
316
816
825
207
860
378
466
368
566
716
296
522
192
384
644
181
132
107
853
476
357
858
158
44
207
30
26
841
821
42
296
573
290
221
835
117
383
877
767
101
816
304
550
816
626
851
299
765
116
308
790
439
258
606
542
379
161
206
189
161
424
651
135
745
757
436
138
495
257
743
39
304
104
609
315
454
253
785
526
247
920
867
18
978
241
316
410
518
535
584
522
654
17
924
395
311
632
387
948
982
936
165
662
993
581
685
393
730
19
824
35
576
511
178
305
122
358
594
366
133
577
42
333
900
900
508
984
819
69
752
151
517
877
705
324
366
313
752
992
985
462
369
111
224
525
423
877
143
431
905
692
722
46
66
774
377
891
706
404
898
641
841
191
42
380
84
64
905
780
887
918
122
873
181
971
116
79
70
930
894
511
980
9
346
327
62
670
609
102
702
740
813
775
721
209
462
680
211
568
750
619
971
29
381
692
232
373
806
833
633
397
386
602
482
202
626
807
929
587
554
968
29
886
263
439
604
431
852
287
476
708
310
621
876
936
354
167
800
471
902
296
676
957
621
619
913
583
974
498
875
167
259
524
298
31
434
73
468
805
917
577
286
345
125
984
909
950
263
254
823
920
743
385
63
298
682
607
778
316
88
904
480
693
747
935
170
388
302
777
943
888
697
633
847
362
984
801
506
285
472
773
490
235
329
241
473
631
58
210
994
83
688
146
21
921
169
274
579
174
183
743
440
986
526
335
202
968
286
816
174
508
264
806
98
396
494
279
142
453
231
382
552
3
507
338
32
154
196
552
208
845
536
940
527
539
243
703
518
235
656
414
680
238
860
359
146
703
334
505
880
558
508
355
429
799
529
202
125
564
664
990
209
576
14
50
565
760
644
485
621
894
811
874
499
96
688
257
682
888
884
75
317
300
104
853
749
222
478
943
60
773
472
557
178
990
765
652
582
525
196
999
785
380
670
860
502
908
904
301
908
463
45
98
413
109
476
561
190
715
562
374
56
671
727
738
381
142
987
656
409
506
993
226
762
126
721
173
900
150
162
672
21
335
761
705
212
247
906
839
654
335
454
284
363
497
137
572
223
753
725
987
52
560
961
147
75
105
636
747
437
654
637
582
318
655
442
352
843
827
331
688
167
920
538
61
79
162
661
922
978
685
929
522
329
371
321
335
550
625
132
894
829
553
294
180
540
930
649
380
781
74
431
966
51
511
395
566
214
824
398
9
756
676
747
271
747
332
292
798
104
373
90
803
463
487
407
704
472
376
12
827
349
836
956
851
327
15
544
253
14
714
741
188
730
323
86
814
632
687
54
67
778
711
913
285
332
48
332
883
795
529
410
489
470
347
316
564
379
131
430
541
519
210
763
977
611
312
408
987
509
915
953
540
27
216
147
774
232
480
524
591
180
94
402
223
677
241
407
325
868
515
663
439
391
163
872
334
368
898
782
813
731
370
959
69
256
476
341
570
203
635
814
755
638
58
896
514
365
815
700
579
887
198
510
414
973
473
698
188
205
637
190
688
360
169
373
803
603
134
161
339
223
167
921
498
121
44
82
280
296
540
569
453
378
257
629
515
610
913
245
213
782
369
75
817
298
328
790
279
976
182
759
857
146
986
231
555
365
917
606
932
354
825
878
478
789
737
66
746
216
203
283
862
689
450
140
897
664
152
302
762
343
504
380
10
900
956
810
914
997
641
996
686
553
29
812
552
988
810
484
686
91
339
994
641
173
229
409
50
426
870
957
837
262
673
232
41
924
847
679
730
876
386
341
119
284
722
960
156
423
207
664
365
990
164
868
636
107
785
519
14
280
524
467
247
671
989
599
43
865
532
335
471
695
883
218
984
830
204
648
821
532
876
233
380
436
197
850
299
216
905
278
568
779
107
169
989
926
780
203
711
519
443
518
324
831
34
865
263
113
259
523
840
407
906
662
271
292
704
731
468
552
315
463
225
718
952
229
649
81
940
821
338
20
264
233
848
438
762
612
480
701
174
386
242
701
697
500
145
579
28
799
648
213
166
875
162
754
364
102
996
430
726
148
60
289
887
24
879
804
123
555
262
67
1000
273
997
792
375
866
541
538
159
731
542
321
758
639
406
297
517
238
823
289
803
911
353
718
610
488
680
943
662
485
145
87
63
789
492
196
464
187
560
951
564
739
826
245
530
753
269
632
582
46
37
36
535
233
784
121
586
50
347
444
15
63
637
801
730
694
239
224
806
188
233
709
259
967
179
73
283
897
31
303
122
92
998
393
530
250
3
921
526
984
461
575
773
245
525
413
417
731
846
893
724
128
143
628
135
134
560
336
669
478
877
739
726
568
114
966
434
972
995
593
647
681
993
627
579
966
436
549
858
713
231
93
448
297
299
515
536
433
739
984
917
935
77
140
897
990
679
27
977
397
572
358
871
169
454
511
494
57
646
762
611
852
86
991
780
745
254
490
77
673
71
605
817
288
428
599
191
164
965
556
263
880
124
124
280
887
301
612
596
430
138
285
825
347
597
696
14
281
484
549
729
676
528
903
951
944
930
489
603
388
560
520
317
740
615
678
811
703
592
884
839
498
917
37
252
213
404
171
105
706
2
381
135
923
976
421
174
747
727
91
207
917
963
414
879
132
828
131
209
184
884
201
163
859
563
877
510
367
823
390
86
303
237
441
191
448
705
512
346
276
290
468
43
661
423
47
445
154
867
608
227
119
390
952
844
214
44
110
593
957
309
753
741
578
152
259
870
987
204
563
314
402
850
605
250
153
28
576
564
218
897
191
77
287
384
892
106
554
775
242
636
949
169
747
520
250
616
17
295
368
190
474
140
89
84
781
463
752
48
793
382
658
147
111
125
479
849
243
974
578
928
984
929
959
534
853
711
488
30
357
67
162
890
374
589
441
47
201
441
99
526
661
431
600
156
191
849
767
384
38
380
373
990
506
176
334
570
713
857
400
193
455
839
574
566
599
853
11
361
879
963
831
119
102
681
70
268
539
34
28
359
721
525
342
576
945
11
488
945
536
424
775
431
336
140
591
293
915
539
347
647
762
959
534
185
29
828
367
380
488
224
709
313
999
479
380
483
157
759
482
545
763
723
70
962
440
454
379
988
993
895
795
209
115
900
953
130
636
839
666
939
790
420
852
611
935
38
299
6
722
450
859
440
976
78
650
524
443
539
925
692
128
295
554
970
150
440
451
993
934
746
892
190
61
35
364
348
302
837
507
492
202
79
728
101
58
242
276
243
321
9
933
91
217
970
972
655
902
297
714
291
534
694
830
672
468
89
535
500
178
698
934
153
641
122
93
864
609
69
847
759
669
155
972
300
984
987
104
228
365
393
711
107
686
227
489
967
674
661
811
327
797
242
208
126
324
297
440
645
600
435
386
592
267
20
870
890
446
484
510
574
866
245
903
434
563
840
718
692
31
590
813
30
645
743
83
777
780
576
568
908
291
399
284
772
901
727
359
166
645
149
307
434
699
597
699
761
801
766
68
753
24
427
608
649
811
236
115
269
38
449
673
881
388
632
783
704
424
52
973
695
618
952
471
592
3
313
164
920
279
27
909
838
959
630
231
223
585
872
588
366
131
438
681
19
455
78
720
293
81
249
188
84
620
126
389
306
893
511
979
170
160
722
792
164
906
18
453
186
306
525
695
492
848
855
829
724
576
877
513
318
70
127
825
9
599
400
662
997
839
954
648
545
178
572
64
474
897
471
802
25
461
648
956
44
747
820
500
307
266
532
404
50
363
373
689
495
918
479
156
177
295
683
954
437
169
719
733
286
362
878
835
182
35
381
906
951
401
520
308
204
629
331
946
128
772
131
468
440
331
777
301
641
581
909
672
445
860
762
580
390
823
341
657
209
106
906
11
479
907
724
424
446
776
12
741
679
266
822
878
398
205
396
646
897
12
150
520
459
907
58
527
592
840
621
694
168
698
53
853
299
644
544
168
370
478
683
433
688
542
222
57
604
994
358
661
850
277
617
373
6
177
260
248
715
198
840
710
287
876
160
553
786
269
450
835
588
84
994
941
624
835
788
213
254
964
89
787
741
70
851
719
835
288
118
33
842
352
433
78
861
98
172
447
590
982
529
782
200
676
552
957
312
993
231
517
33
162
149
737
326
970
615
366
764
394
515
907
816
121
345
304
409
811
7
14
436
24
2
758
263
487
593
678
52
791
344
251
892
646
211
52
315
570
27
402
767
219
767
988
988
627
484
795
74
299
154
54
188
434
982
489
504
557
898
797
991
497
74
201
79
954
297
897
56
857
951
400
318
345
164
105
211
490
418
877
278
786
535
113
160
55
491
514
287
644
963
745
749
693
849
304
415
830
255
117
466
841
633
880
975
749
765
662
87
269
329
72
622
779
610
161
670
787
721
259
831
388
421
178
289
339
153
543
824
197
494
537
219
440
587
14
231
587
440
750
469
156
210
612
46
671
730
516
856
93
547
379
671
722
707
714
36
92
351
94
109
380
962
516
180
601
739
583
596
233
169
515
201
915
317
213
226
589
750
23
731
753
288
338
378
530
977
928
256
874
766
718
983
578
381
743
89
688
806
190
940
560
579
768
121
78
869
96
229
488
879
484
497
871
721
240
522
561
280
586
669
687
1000
411
346
594
727
296
497
109
940
714
90
482
745
854
305
387
997
252
420
508
792
328
97
127
345
914
892
589
974
138
330
683
513
295
812
801
960
939
946
192
615
18
661
738
226
761
565
482
945
973
610
563
981
541
34
285
891
248
955
826
398
453
747
480
446
768
491
371
8
676
411
323
762
908
153
925
367
489
195
851
521
611
462
199
365
844
424
943
89
770
579
579
787
814
249
731
700
895
13
745
996
552
977
318
158
341
291
790
839
661
970
14
797
606
144
686
146
118
307
544
673
480
995
166
444
152
617
937
254
58
809
359
729
703
779
58
66
884
616
760
431
389
392
973
57
754
233
368
916
83
207
626
653
937
11
72
158
537
949
521
747
848
640
616
423
662
185
366
117
421
323
733
98
387
185
899
1000
728
866
264
11
221
944
331
820
589
483
365
873
919
785
138
301
211
372
113
687
906
229
139
454
108
356
113
253
338
48
76
189
847
147
916
119
954
689
156
515
356
28
355
606
115
478
251
594
845
8
110
753
660
297
726
117
588
745
92
310
503
645
96
750
100
796
483
137
76
276
959
636
465
988
505
618
49
817
938
190
846
963
256
959
952
61
560
680
442
199
194
481
591
857
295
325
412
56
98
278
420
762
216
903
529
649
592
831
243
897
970
108
600
596
563
479
907
665
34
139
902
948
53
817
870
275
453
271
168
846
458
423
793
236
524
374
887
705
118
499
552
245
120
653
933
984
628
307
306
158
637
51
805
830
454
502
532
953
732
106
983
161
678
733
151
878
354
203
179
976
972
123
157
189
736
486
503
955
110
485
384
179
327
920
805
635
618
398
307
399
868
219
719
727
390
504
22
269
63
652
185
369
342
625
805
479
554
956
447
362
448
586
884
890
168
836
827
694
739
841
327
825
616
809
762
908
88
271
186
950
138
360
904
100
872
764
293
164
770
666
277
614
840
448
356
166
202
361
778
723
766
681
244
644
439
92
536
854
728
166
603
236
712
849
890
156
79
805
213
708
352
308
23
454
465
150
711
23
587
670
506
908
447
577
586
217
455
752
278
907
579
526
585
266
310
292
834
9
10
438
939
366
613
729
633
986
956
249
22
304
970
934
2
252
607
544
379
849
624
635
56
252
318
746
229
323
860
520
395
589
153
949
864
806
24
265
613
955
122
257
576
619
121
964
864
163
688
742
10
36
196
706
40
826
382
389
88
387
944
290
288
492
601
636
894
979
283
309
928
274
925
375
174
522
813
89
5
293
535
524
337
966
397
244
23
465
564
540
100
946
306
796
610
450
461
480
183
243
633
139
142
803
703
475
687
950
947
307
606
631
433
729
58
260
378
296
194
308
863
414
766
58
603
429
429
46
515
63
124
734
429
994
820
378
640
328
854
908
939
658
328
847
390
224
321
974
403
374
151
456
582
211
577
656
415
793
614
680
134
736
590
987
955
400
167
87
496
89
333
399
345
875
770
875
676
700
594
843
293
409
181
869
678
224
686
113
495
968
921
784
433
41
420
813
492
740
927
801
573
28
6
616
741
262
174
761
610
716
773
779
116
947
772
522
358
193
841
47
275
19
320
288
690
377
159
412
633
87
529
950
947
510
531
369
858
838
389
749
591
991
550
619
134
601
391
809
930
914
559
383
626
763
584
338
1
920
49
756
854
270
479
554
933
225
140
774
952
719
70
626
389
951
27
121
992
753
498
193
901
96
550
662
853
778
121
258
193
792
267
203
331
209
10
499
816
675
692
186
446
761
144
309
681
519
579
212
161
502
821
115
326
465
400
599
960
669
54
769
988
480
415
372
3
484
976
65
819
899
979
385
799
447
517
688
833
162
968
484
630
864
875
142
405
119
491
896
150
579
556
453
409
506
259
264
894
159
995
708
333
459
271
9
644
19
25
718
942
185
710
942
850
223
731
373
332
140
184
300
577
950
434
470
444
342
715
637
680
863
846
82
382
670
123
240
163
873
651
754
117
274
686
999
924
32
39
90
398
447
241
909
357
538
959
523
958
584
96
623
504
110
118
326
355
79
424
735
718
194
979
150
17
287
8
727
52
762
297
665
331
901
503
739
821
678
953
74
852
368
593
605
44
878
99
583
975
202
700
817
732
840
900
95
639
305
133
350
222
101
374
711
904
664
819
526
17
791
119
811
476
40
19
338
832
431
928
784
523
500
667
903
818
487
573
702
350
919
228
993
151
409
274
484
776
806
220
791
467
149
624
360
288
74
797
317
821
395
985
677
314
614
27
194
159
9
634
355
178
778
780
681
481
412
166
541
596
157
347
146
172
891
934
257
768
242
198
404
200
86
540
100
416
842
528
604
138
123
650
294
344
381
469
582
216
156
646
637
350
420
127
856
867
282
896
158
576
31
835
699
465
80
648
515
631
877
261
951
218
270
829
458
50
123
273
505
421
207
262
884
956
522
702
647
526
225
69
309
966
315
395
660
733
45
292
784
710
785
210
385
72
757
980
576
517
586
837
651
160
100
283
149
119
222
601
768
115
27
313
258
444
273
634
478
312
808
784
196
833
232
58
77
962
144
718
510
266
85
87
606
689
39
723
714
426
970
173
295
599
410
613
824
682
555
614
694
518
688
403
748
330
976
237
154
369
880
923
841
659
462
93
588
897
848
603
173
693
9
260
699
197
773
171
313
679
704
192
80
738
65
297
670
656
587
231
878
874
193
448
712
683
130
185
946
4
173
482
588
567
734
122
647
884
706
732
979
169
826
761
750
756
211
625
208
612
436
123
89
287
226
79
921
986
365
316
908
497
927
220
893
375
300
618
67
150
752
173
747
286
505
237
541
313
359
955
646
823
925
402
882
28
425
740
259
166
852
675
575
324
998
1
546
218
476
631
457
2
420
329
174
473
974
301
631
926
34
906
592
455
967
15
545
756
176
950
102
301
478
555
169
340
190
606
433
324
750
745
443
219
448
83
663
643
536
883
412
958
624
47
500
198
716
663
743
247
697
538
251
741
377
463
532
994
430
927
22
646
691
169
588
859
313
695
937
592
229
910
612
932
207
41
449
479
554
360
954
527
168
593
25
143
222
487
871
276
217
745
762
709
549
918
454
11
1000
387
745
657
748
286
665
102
625
38
177
944
315
228
152
250
127
674
598
754
772
910
755
908
319
746
745
708
116
238
909
802
5
173
836
630
612
137
339
267
812
328
351
179
775
555
740
331
101
274
595
950
662
74
365
782
727
791
600
862
830
282
691
652
610
946
168
919
584
299
601
839
366
226
102
681
376
92
739
821
498
518
926
23
450
492
986
661
855
441
652
4
132
38
211
777
382
808
379
956
342
55
742
164
376
227
800
86
209
607
219
39
741
129
885
212
910
216
760
113
985
722
323
439
76
504
618
945
949
653
501
862
391
129
751
83
497
397
84
638
249
685
983
953
660
635
484
997
576
451
677
709
974
150
788
35
177
118
105
482
2
4
925
357
241
920
935
755
274
17
137
917
835
785
506
810
126
820
45
628
535
413
827
463
200
997
874
576
528
429
473
524
565
89
618
919
820
995
790
722
718
483
220
811
398
532
114
14
942
443
47
914
473
453
896
523
765
817
217
357
146
32
934
526
502
183
587
198
143
826
126
226
133
449
446
738
447
280
424
257
978
187
207
261
966
414
910
118
941
213
663
39
587
737
177
11
285
181
598
675
235
782
437
779
187
219
808
121
797
905
23
898
558
870
828
954
29
248
235
745
876
856
924
741
799
1000
675
583
3
439
139
575
297
364
523
975
241
402
460
113
54
862
408
594
101
906
389
696
902
880
824
615
538
760
478
390
226
599
243
173
626
854
637
27
123
699
363
565
924
796
245
569
342
482
166
180
7
8
381
394
103
321
714
345
920
799
725
324
168
560
850
