209293 3
298
113
414
863
63
476
745
366
533
997
642
393
757
501
160
738
460
657
700
304
187
60
794
520
39
77
799
113
810
1
35
916
362
205
476
109
953
982
334
185
664
500
894
979
220
111
674
271
90
999
608
684
126
288
722
39
202
604
985
265
573
226
697
414
527
478
987
523
673
597
749
834
864
817
532
81
460
175
676
210
123
463
221
461
95
638
701
986
551
94
966
638
50
96
231
355
373
849
780
417
59
661
469
656
641
632
973
32
407
833
281
80
99
58
875
168
482
968
467
267
229
465
985
567
177
640
139
988
940
722
688
398
22
537
556
335
575
528
975
201
680
346
463
181
18
428
762
644
38
170
452
983
697
248
716
92
859
561
678
437
950
266
507
508
949
653
13
988
428
644
137
986
500
643
812
993
451
399
249
988
647
129
120
117
828
181
924
517
299
425
632
17
278
404
566
250
526
153
785
120
795
152
321
998
46
408
593
370
273
188
5
281
535
217
465
271
784
668
357
764
863
591
974
769
348
972
925
347
925
586
636
263
296
327
263
839
207
483
173
12
284
703
545
654
643
233
652
865
367
912
312
390
360
124
715
259
732
873
365
790
97
425
743
612
114
224
724
523
291
355
91
708
986
815
356
220
24
671
125
57
897
67
191
846
328
328
700
748
168
702
756
383
341
967
855
109
998
219
188
902
222
219
472
535
977
808
501
132
882
509
801
271
71
987
975
393
311
717
129
307
805
645
524
737
870
613
647
464
663
666
942
276
498
514
600
53
620
676
782
475
234
94
864
114
997
162
494
805
760
723
202
43
403
179
472
241
183
422
673
21
56
46
313
636
469
945
842
462
195
329
558
760
384
864
504
995
636
452
544
667
539
680
698
148
13
223
953
759
496
604
853
887
53
519
846
663
57
877
674
847
611
714
260
711
171
431
137
849
882
904
748
959
862
88
476
610
139
44
447
187
733
919
891
756
41
392
971
27
261
157
317
311
878
173
767
672
24
706
618
676
461
246
183
199
772
108
724
907
979
93
859
737
59
435
669
423
871
544
995
924
749
161
861
123
390
369
996
333
669
410
176
177
670
251
163
864
212
203
746
386
575
826
467
867
805
595
630
325
373
858
578
464
682
801
532
748
333
14
514
572
297
27
536
197
302
511
585
319
625
792
208
994
646
590
507
450
953
630
935
510
147
656
870
6
577
313
680
669
568
763
371
44
561
835
179
664
964
9
872
398
13
728
49
435
87
425
451
268
799
800
859
598
950
262
891
499
462
194
644
524
894
550
539
669
172
411
783
23
745
452
572
738
997
787
342
838
356
683
640
965
805
396
757
320
601
905
605
846
828
469
353
895
40
724
94
669
656
548
883
980
817
22
555
888
487
363
159
149
240
320
843
683
644
6
750
937
706
972
156
264
141
369
381
769
344
823
907
120
695
270
858
40
935
844
690
245
895
898
938
814
979
426
51
928
140
765
679
585
396
12
4
652
610
757
822
597
412
894
369
912
551
97
230
429
869
408
15
424
817
998
954
793
62
644
95
994
760
116
510
497
88
793
861
652
228
155
319
582
182
154
228
496
961
501
701
889
609
219
744
886
166
451
816
49
740
340
498
865
136
526
174
899
11
302
480
275
700
181
664
993
426
396
24
576
269
54
535
869
734
716
727
141
223
598
938
771
209
505
557
599
737
317
517
778
522
80
160
662
49
143
587
865
948
346
350
988
465
406
724
354
712
418
219
743
230
110
737
936
638
915
774
610
783
967
24
560
667
941
466
33
809
757
462
594
134
616
474
398
108
102
595
230
237
76
622
565
884
33
448
918
605
701
903
454
632
569
664
978
760
224
140
784
365
339
864
986
402
106
727
136
450
408
468
870
268
25
94
605
414
466
486
529
568
95
210
224
914
839
906
923
94
549
763
162
387
790
979
559
387
259
56
381
865
706
756
978
935
976
692
300
920
558
548
969
897
372
89
448
907
727
813
612
588
493
985
146
916
743
28
109
656
518
121
857
74
898
432
728
267
134
939
175
656
119
185
140
809
328
736
276
511
355
527
683
951
441
409
466
218
37
711
898
677
27
562
396
106
465
153
447
148
378
621
896
391
930
677
459
868
182
675
548
231
819
220
490
814
672
782
235
202
494
493
528
664
210
817
772
279
239
707
495
843
26
6
472
287
692
22
55
954
334
494
606
104
513
754
858
879
892
28
488
307
181
839
635
708
177
362
245
97
447
675
281
534
364
817
201
707
331
676
469
414
868
285
426
123
544
331
942
868
933
597
692
82
835
719
588
984
330
581
716
497
112
681
738
258
966
506
556
144
119
750
329
873
573
831
645
331
207
574
934
607
346
14
691
168
437
75
397
707
194
904
358
134
300
780
281
739
188
584
42
470
701
844
937
314
647
60
204
357
441
70
191
378
781
954
72
877
430
920
225
17
188
4
236
303
342
475
555
725
817
8
246
119
990
445
595
721
654
510
710
44
112
483
751
124
734
128
535
140
669
920
111
370
973
318
489
320
289
283
389
935
184
823
528
179
303
681
727
187
948
318
925
321
486
28
721
959
485
756
849
916
802
23
151
773
87
118
308
388
563
321
739
545
10
100
544
836
675
67
323
953
73
428
932
865
826
770
820
701
281
955
391
656
25
273
33
85
678
527
55
422
381
821
985
542
79
929
835
889
260
8
563
867
614
412
258
394
216
452
197
814
84
266
775
908
40
245
116
532
569
35
472
82
238
662
188
115
723
370
583
984
467
230
687
94
520
791
242
298
381
872
318
116
439
813
823
63
6
293
143
196
496
11
141
507
354
568
923
456
672
294
273
311
859
340
637
764
322
439
475
139
453
65
306
558
75
744
783
532
951
84
940
170
21
521
234
666
709
73
391
578
76
993
648
424
344
902
651
157
942
213
934
488
254
718
264
159
996
440
677
605
679
29
97
360
694
677
662
490
383
431
800
37
328
59
490
504
351
85
608
474
973
875
466
923
113
964
469
715
962
846
7
378
17
372
61
580
807
999
480
421
23
581
217
766
181
444
182
192
693
435
351
50
888
872
739
304
788
546
719
309
624
478
696
476
934
871
839
197
970
194
509
228
237
151
531
140
69
738
750
393
804
776
959
113
657
826
268
696
181
24
242
738
356
646
552
564
530
325
374
183
654
495
664
447
312
418
33
428
793
321
589
391
811
882
729
320
41
933
714
189
628
328
381
620
676
701
511
455
333
111
256
643
203
13
45
17
943
526
713
783
552
350
465
930
888
350
857
496
893
876
913
927
632
246
46
799
545
864
980
260
496
694
565
752
125
395
726
679
127
197
980
787
636
347
198
704
746
136
887
177
741
115
925
105
701
26
105
863
956
117
764
953
681
125
387
774
866
402
399
463
197
453
473
502
23
453
676
319
46
656
81
803
109
994
219
522
248
304
29
75
310
257
264
75
187
235
81
63
291
242
9
364
454
79
945
130
378
211
556
10
549
532
372
406
746
899
41
611
88
369
157
218
57
568
485
875
427
974
427
612
425
362
638
578
971
49
460
761
569
244
740
47
172
998
866
239
47
444
390
208
455
561
148
163
720
933
824
416
707
939
282
578
93
739
87
936
706
375
719
2
907
62
880
453
297
692
902
466
232
937
901
434
848
563
249
649
130
378
158
910
220
245
459
261
909
330
599
391
801
120
917
27
534
889
930
68
959
250
685
276
85
783
632
752
20
14
457
610
249
766
350
119
959
538
549
178
905
468
516
19
348
75
188
605
350
10
127
18
215
529
674
252
991
169
100
812
775
865
808
274
555
300
920
231
921
456
542
621
855
626
371
26
728
411
97
644
527
429
422
147
83
507
85
116
203
684
214
626
700
478
605
118
927
479
943
531
31
11
792
50
349
47
880
432
85
701
37
948
198
912
303
90
752
191
613
693
904
803
216
340
820
406
358
1000
992
640
390
302
985
106
90
415
805
983
760
469
238
272
346
300
838
733
236
222
825
368
678
542
419
541
206
178
94
431
109
480
498
164
63
233
33
854
442
498
87
736
357
696
433
798
465
781
138
631
170
505
151
300
314
991
537
14
987
452
808
668
916
464
742
790
757
610
152
962
191
443
113
385
732
880
446
565
352
359
950
37
643
312
5
26
826
757
224
695
277
749
346
500
203
265
968
763
54
583
48
125
219
900
450
325
318
156
988
684
618
33
150
875
374
523
597
50
939
591
886
283
197
251
621
657
777
149
15
167
509
12
868
384
34
574
552
338
343
159
213
746
464
451
682
46
578
519
246
739
919
842
556
737
515
408
114
277
1000
419
734
497
41
736
736
659
224
421
807
548
312
420
398
34
533
695
470
705
691
69
466
241
167
165
152
55
911
961
669
20
272
168
167
40
73
603
27
551
610
168
137
871
204
996
687
999
156
299
198
648
156
296
66
145
367
887
983
464
598
160
996
720
534
304
151
146
747
756
767
527
131
935
55
526
391
885
831
75
268
132
190
687
181
651
783
382
466
371
814
425
998
245
670
704
50
324
289
531
678
66
243
201
411
136
544
336
15
752
672
61
610
82
149
305
826
38
613
886
212
163
486
230
969
318
89
765
545
15
633
882
492
684
419
274
779
470
391
632
223
887
62
509
136
970
172
980
372
294
202
90
566
618
31
328
234
962
29
591
182
176
913
333
495
65
645
344
636
355
78
572
727
487
568
486
480
167
162
944
776
329
404
317
499
343
185
217
459
709
515
52
927
225
279
974
246
665
163
165
90
506
804
97
726
325
719
641
585
854
413
594
942
80
412
675
992
630
306
669
607
30
147
531
862
949
771
466
28
245
542
794
771
831
963
807
567
444
833
898
503
454
730
671
436
267
610
978
963
834
349
746
100
290
695
162
354
91
978
715
699
838
593
644
389
458
230
533
352
987
545
989
676
720
535
223
192
789
832
702
149
56
18
27
316
632
95
108
106
679
940
365
992
19
572
127
27
358
547
284
247
578
298
650
536
959
178
77
546
379
463
926
691
213
393
596
944
452
336
59
881
165
786
264
206
203
943
933
172
407
807
144
238
671
954
890
435
961
984
958
133
527
642
872
346
234
633
581
492
976
573
418
561
131
390
544
398
245
540
957
158
655
110
574
943
140
540
869
808
736
58
316
755
140
130
39
679
499
363
328
833
229
711
783
145
146
433
28
479
12
125
285
793
968
956
315
278
918
165
829
505
694
108
354
792
945
939
980
216
826
624
434
969
902
638
252
422
745
346
65
732
767
850
282
706
468
847
532
941
558
249
249
313
101
191
737
904
845
335
647
932
242
363
494
111
367
142
228
759
666
988
523
716
492
832
349
947
373
408
351
763
933
9
344
582
282
657
590
728
128
227
492
925
463
282
606
422
652
214
236
776
387
601
580
940
673
188
251
650
696
728
965
101
797
148
619
125
65
630
726
629
219
833
982
859
805
242
90
304
688
127
299
138
597
723
117
127
384
64
69
285
793
537
74
665
394
140
869
80
672
979
33
570
730
576
108
506
430
90
510
425
275
907
535
91
657
68
298
443
746
745
933
188
720
90
11
124
748
997
601
309
41
555
410
755
281
654
570
409
404
441
268
16
238
349
211
976
441
442
293
820
285
920
245
497
702
526
363
444
991
558
799
383
671
951
781
949
779
339
806
267
259
515
760
895
271
954
239
105
182
399
474
802
398
300
113
755
765
984
395
919
295
954
338
678
757
377
17
746
84
265
247
772
305
436
759
673
199
384
733
738
315
388
16
197
963
929
714
146
884
793
284
859
164
469
673
77
424
463
328
622
251
52
3
760
738
202
603
166
149
884
631
791
761
260
187
423
963
634
25
607
711
801
79
94
459
13
190
150
835
335
839
373
84
610
191
847
737
88
718
172
64
675
317
319
143
777
18
865
669
146
852
787
270
808
448
265
582
645
691
744
891
954
962
120
323
456
342
709
750
497
253
993
731
439
925
944
607
482
989
782
970
669
810
427
888
70
867
492
56
158
278
13
936
372
96
804
536
489
789
490
189
609
568
349
400
396
369
330
695
830
851
785
658
762
195
791
326
114
8
573
10
4
460
810
746
400
900
264
997
119
913
329
972
509
689
304
345
371
222
490
119
587
241
998
904
763
353
124
832
586
876
546
503
476
116
94
579
93
557
252
198
212
780
726
363
598
173
357
339
133
691
223
611
310
137
260
23
283
601
921
303
369
151
290
693
265
132
190
538
731
549
245
727
1000
565
777
231
354
270
945
747
386
199
8
314
139
572
69
188
604
219
237
840
70
740
963
309
205
69
171
417
186
841
366
923
301
842
69
692
136
719
145
770
980
34
380
46
322
168
790
671
789
20
409
249
404
116
683
74
397
190
240
532
757
776
25
642
592
576
193
630
279
245
333
709
911
132
352
16
498
354
904
749
8
341
906
103
630
397
856
912
786
619
530
735
191
447
438
954
9
48
725
124
204
878
149
260
289
845
928
524
53
769
56
205
957
416
955
169
126
347
401
125
197
979
231
864
48
174
228
959
910
797
61
825
159
499
967
355
403
454
182
100
335
165
565
175
165
557
755
376
383
363
657
203
61
943
982
629
801
609
550
725
263
88
864
947
349
71
279
132
243
586
347
89
59
969
2
296
247
748
186
283
477
292
152
439
881
697
510
182
781
397
17
1
436
89
780
57
866
848
841
396
109
272
62
48
120
936
993
382
419
957
287
61
144
108
716
227
703
999
758
418
268
728
796
335
227
920
154
435
873
96
478
153
646
951
174
878
404
610
399
16
895
925
727
148
402
209
863
673
221
338
215
915
827
387
355
198
89
74
599
125
853
17
318
244
536
173
955
71
196
571
932
520
745
540
365
839
70
945
44
258
326
76
711
517
907
352
261
242
601
118
746
159
558
863
772
687
673
682
625
731
845
721
767
90
235
225
768
494
23
263
743
371
562
191
163
255
590
841
104
207
468
420
37
325
46
906
162
489
789
424
219
137
515
923
534
856
661
514
651
180
429
248
50
635
977
675
739
498
481
11
543
194
923
759
596
368
627
46
302
327
14
98
70
871
219
448
916
9
109
688
97
417
303
784
972
93
770
844
126
660
72
340
400
920
207
845
855
805
269
885
218
131
308
830
84
205
625
434
969
804
559
526
131
899
608
67
722
933
868
736
333
443
68
564
986
346
276
166
215
11
560
184
396
258
383
120
17
947
796
749
131
613
311
414
830
705
757
789
839
100
504
278
851
819
946
665
80
551
218
479
276
734
718
29
913
918
39
501
864
247
968
264
688
513
289
773
545
842
302
774
255
914
155
368
558
552
626
143
131
18
960
217
832
496
982
598
390
669
372
672
470
707
135
614
586
420
194
43
949
709
909
972
237
854
599
968
19
557
407
43
631
746
50
376
89
23
600
946
301
75
736
3
203
8
746
837
210
785
948
310
295
637
40
361
285
711
367
301
745
36
916
36
510
197
667
912
965
45
535
340
892
447
239
313
281
812
365
106
251
140
13
294
305
353
570
164
549
422
942
690
65
159
713
366
280
191
704
365
399
419
961
801
78
715
384
258
995
761
55
505
56
871
968
863
215
629
686
636
302
218
464
278
796
138
189
219
649
406
859
924
888
669
646
822
952
430
929
218
196
380
219
973
902
283
705
546
694
614
141
786
35
672
141
292
147
581
430
830
100
786
853
135
58
758
299
905
609
32
235
881
913
782
25
12
335
597
404
414
884
784
598
511
852
113
909
557
312
170
416
789
705
917
210
927
772
948
907
817
836
850
930
747
140
286
84
237
481
172
595
877
68
52
150
368
522
507
837
244
200
582
667
57
792
759
327
67
798
761
277
766
317
140
928
342
827
75
538
854
192
865
604
213
919
406
963
871
150
721
650
926
861
250
451
724
676
770
231
454
963
606
960
263
788
35
84
752
493
478
776
930
401
288
902
735
399
282
452
677
376
172
60
209
305
186
725
795
535
977
698
11
748
724
51
700
444
754
943
540
602
141
900
943
388
551
205
863
274
936
808
480
873
238
526
595
67
677
498
537
272
636
188
390
198
50
159
680
548
775
742
835
318
688
831
732
744
147
986
760
408
371
237
346
698
821
670
26
758
585
62
130
274
177
416
830
792
938
641
274
168
155
256
698
65
318
246
159
768
536
86
440
730
61
402
999
276
27
302
153
841
767
306
538
708
840
120
812
92
667
912
566
893
24
491
752
405
793
97
318
982
434
905
736
940
273
74
582
509
589
189
688
21
268
701
849
796
78
436
250
165
379
314
963
842
664
300
716
978
756
660
394
956
906
880
883
826
571
497
872
398
177
628
978
797
370
123
690
936
669
18
509
727
402
109
721
47
669
817
203
597
74
865
55
158
515
709
181
558
8
663
89
447
849
967
300
648
12
639
383
349
974
596
692
323
279
296
274
688
98
400
487
721
225
524
594
675
102
159
413
979
942
649
212
347
398
326
184
184
96
762
530
131
287
214
654
214
797
362
766
992
43
516
180
472
386
642
268
5
172
268
878
783
278
921
14
850
928
335
745
847
922
214
97
749
501
853
174
751
654
346
442
724
372
904
319
89
381
919
690
961
650
438
96
334
272
443
970
227
404
569
412
792
357
27
683
728
852
505
82
983
487
516
667
277
551
225
727
669
77
151
730
598
214
415
281
499
109
587
126
581
506
537
340
508
242
538
193
867
531
888
941
658
399
205
883
397
151
338
39
683
916
486
781
197
355
584
37
984
226
521
307
364
84
395
751
748
950
411
266
886
838
752
697
112
504
97
72
155
703
767
567
199
755
214
840
510
524
265
186
5
721
662
435
106
140
186
262
78
427
79
71
974
536
86
900
157
240
44
180
567
284
8
815
19
156
30
806
149
52
952
105
641
627
567
138
795
352
6
253
394
534
558
738
407
595
295
153
108
462
176
150
727
478
26
274
309
941
102
994
810
74
265
630
287
322
923
740
420
386
150
292
996
915
481
18
618
644
166
622
642
529
972
144
800
811
997
237
16
742
162
208
288
581
875
40
969
569
294
182
955
261
46
443
704
576
673
773
861
646
331
344
398
414
289
321
252
697
298
719
843
595
565
395
262
258
189
361
196
858
473
703
520
213
384
47
950
907
655
514
640
740
134
843
719
188
5
329
282
281
163
958
279
179
740
948
677
329
88
379
721
26
547
613
119
704
900
135
182
595
544
481
967
507
285
270
974
137
345
807
4
567
29
977
211
507
424
738
96
452
418
766
39
363
445
85
442
497
420
80
448
237
902
568
40
91
866
154
964
839
315
98
221
278
104
846
970
51
775
18
661
812
336
496
987
258
29
123
109
478
750
746
278
852
974
554
426
857
522
839
785
924
473
244
154
361
708
873
584
273
103
639
140
151
920
771
268
40
122
417
967
262
240
664
754
29
945
653
604
960
879
832
710
886
762
369
392
427
148
709
808
573
564
449
186
722
477
384
288
498
913
341
833
287
630
494
454
363
167
531
857
380
780
151
357
834
361
794
560
684
803
610
92
55
626
646
249
528
321
808
997
803
726
459
576
1000
459
353
176
581
713
515
178
407
50
449
109
327
17
21
172
564
81
322
393
784
121
658
844
647
86
97
577
740
586
139
117
332
359
631
342
161
705
186
677
225
495
171
945
916
908
57
207
992
205
267
96
885
648
87
979
375
414
559
992
982
246
790
15
108
420
7
702
230
615
141
505
599
132
491
488
837
748
504
191
597
456
391
928
706
576
108
438
779
155
423
652
303
586
221
983
707
762
955
742
143
166
601
529
234
37
993
874
81
137
760
206
390
494
151
76
922
684
46
123
133
240
379
804
25
961
475
676
194
594
839
962
929
644
709
139
506
722
889
230
903
741
673
588
164
354
337
312
861
280
156
825
828
924
325
620
483
12
511
937
225
951
339
264
85
754
753
469
748
189
427
208
17
523
167
424
78
120
138
445
369
572
308
610
957
634
489
49
561
519
241
649
610
943
871
906
776
148
285
101
285
29
711
636
244
599
565
143
558
465
692
674
845
538
465
834
559
201
921
801
902
195
37
18
238
655
472
529
552
951
99
585
44
658
586
92
62
647
634
914
277
64
917
899
78
314
529
629
258
443
626
725
387
501
720
952
960
367
574
68
35
340
40
893
41
537
448
82
524
549
672
766
74
144
217
269
89
139
609
933
173
571
14
748
208
39
110
611
176
337
681
883
144
51
644
932
153
569
871
139
287
366
121
239
735
688
53
658
662
146
675
88
492
761
588
482
163
319
918
368
66
585
28
590
968
287
136
666
57
995
541
942
939
952
599
535
810
759
858
747
293
632
738
124
357
807
929
763
786
575
307
775
839
631
458
831
42
106
709
509
521
487
146
467
423
334
355
887
675
835
649
330
7
701
975
689
666
300
175
686
329
859
520
22
830
782
480
681
160
625
469
736
610
961
190
608
76
686
799
88
751
378
571
905
226
577
928
690
479
315
891
278
153
861
45
658
861
427
784
983
452
420
56
187
759
150
565
436
601
191
609
870
159
437
221
531
917
415
738
908
677
94
212
593
881
60
794
600
805
27
31
191
212
65
588
109
198
630
446
128
16
513
891
994
7
368
715
853
665
448
927
22
764
126
912
432
665
115
451
69
775
608
286
985
568
451
881
901
688
404
270
295
655
786
305
195
267
723
930
282
880
15
938
149
752
674
469
417
981
984
476
662
380
973
955
14
927
106
829
496
145
345
496
361
237
212
424
726
856
838
831
562
748
194
82
920
713
323
280
83
201
978
174
916
400
136
78
519
185
209
372
466
571
562
48
74
525
436
120
271
15
949
500
60
477
610
862
738
946
226
33
518
478
99
460
710
75
349
958
653
462
145
744
408
276
426
304
141
838
134
718
756
862
491
825
601
642
847
769
145
804
206
531
156
1
673
320
703
997
969
330
273
628
200
456
149
101
155
891
248
890
708
128
159
486
812
351
70
567
310
915
368
540
868
506
66
96
880
721
119
145
272
516
442
965
341
693
213
658
94
874
438
339
823
603
419
757
975
617
948
217
866
604
454
836
796
831
743
660
118
910
107
953
699
895
363
685
396
99
74
102
982
641
106
111
703
619
73
173
537
434
334
347
358
374
474
686
218
300
469
724
956
385
641
685
233
987
89
573
876
522
320
882
664
708
219
599
101
848
753
634
559
90
711
415
877
587
897
51
189
589
576
470
290
117
708
145
832
938
381
535
736
744
861
167
451
762
852
387
433
619
453
698
408
236
274
630
366
619
311
67
304
577
327
76
173
247
941
99
192
405
875
375
840
625
683
192
445
315
293
521
829
194
157
679
972
32
103
830
583
326
503
989
242
232
386
857
996
306
57
591
494
500
905
470
909
758
662
83
775
604
755
134
479
70
878
845
735
559
407
582
711
532
932
831
385
416
411
62
250
721
260
742
676
131
557
232
434
581
617
234
320
670
773
690
167
387
968
20
558
813
850
570
599
999
798
899
290
252
354
984
60
762
761
485
843
539
655
684
74
959
597
480
448
518
571
527
988
877
231
322
143
463
653
709
954
742
996
686
155
579
202
60
749
562
181
809
662
371
823
55
864
380
414
216
658
83
170
211
101
545
329
854
964
571
875
979
900
958
9
1
990
974
546
698
947
84
476
716
559
722
400
814
956
94
277
76
954
433
51
909
211
57
426
147
899
861
415
576
135
68
191
669
311
519
479
97
825
415
588
614
56
764
266
897
533
450
82
347
231
577
129
562
994
324
379
225
206
607
115
65
61
414
502
169
327
518
419
862
484
631
988
406
19
687
553
534
564
758
550
324
935
349
984
862
942
702
875
586
727
911
981
636
543
726
5
881
739
371
220
32
155
64
993
979
855
296
298
712
571
488
928
923
140
343
782
255
542
901
62
3
908
660
375
663
442
762
595
343
983
353
179
461
437
904
794
761
729
296
579
438
538
689
889
156
262
520
197
123
691
844
836
239
99
400
520
604
869
313
691
965
523
369
968
116
607
773
927
769
906
968
672
49
957
204
266
942
445
387
695
385
199
96
658
527
389
661
718
247
48
705
636
761
151
762
217
416
736
192
946
913
799
385
901
466
953
788
997
993
404
204
911
523
893
125
968
531
46
396
883
611
476
194
513
244
885
689
513
537
961
246
138
885
737
801
706
1000
182
190
74
375
192
429
280
802
80
800
544
132
823
657
677
857
515
762
861
60
457
635
680
26
995
201
331
508
27
308
804
73
438
503
87
257
103
574
363
448
520
783
584
109
964
724
729
45
689
929
750
239
25
45
22
253
571
892
727
47
963
218
877
276
884
391
199
259
249
387
708
303
754
602
253
944
254
486
201
181
68
138
631
494
355
184
100
869
574
209
294
365
713
350
466
32
871
782
473
992
468
548
939
57
613
480
530
3
459
222
178
612
746
971
484
108
291
99
392
669
486
479
331
866
757
653
658
471
672
140
928
611
704
3
845
259
126
984
447
723
149
389
73
524
958
997
587
295
979
855
198
206
43
391
79
522
896
378
699
283
582
886
426
522
592
152
42
195
699
768
943
784
823
699
817
266
663
875
454
605
570
400
971
85
429
701
38
837
202
828
460
583
320
541
54
682
50
804
365
17
175
494
704
785
372
910
685
115
14
299
49
756
255
291
432
131
233
111
60
513
774
99
119
666
544
717
207
434
21
32
612
902
620
868
30
637
748
659
354
193
516
110
590
974
481
970
517
496
589
311
651
233
310
496
57
330
417
886
718
927
581
850
146
556
54
884
19
81
238
966
499
505
697
745
25
871
868
834
6
630
214
281
202
600
357
700
18
282
340
138
868
351
252
787
782
308
942
420
623
898
672
826
844
636
601
904
23
813
78
395
814
220
386
136
545
979
677
659
538
595
348
734
17
24
870
99
877
23
446
256
642
506
179
301
3
722
260
237
699
753
388
293
162
510
922
780
999
546
636
842
302
23
646
193
223
456
774
662
242
244
470
888
357
206
353
488
865
298
661
759
259
798
645
721
700
840
531
109
13
704
499
878
762
598
524
912
952
868
584
857
7
206
607
734
375
922
178
350
492
952
920
641
84
963
868
867
937
432
860
423
864
114
142
764
299
881
217
257
694
503
834
793
151
335
40
247
40
808
449
640
324
117
839
129
774
985
644
7
822
83
153
307
28
821
835
618
881
755
707
419
539
67
267
540
203
120
214
528
179
71
496
751
581
825
4
791
128
78
597
91
949
232
383
218
509
270
528
454
853
930
155
40
330
223
273
359
592
796
520
790
333
811
109
751
922
698
847
579
70
111
46
192
490
291
536
859
428
984
342
623
711
739
510
330
681
541
496
181
388
269
818
224
885
337
542
499
91
384
395
754
869
940
862
7
430
690
417
909
5
809
457
254
533
830
809
860
584
554
52
563
739
409
190
806
96
42
462
656
485
482
411
766
33
632
936
933
559
655
374
490
818
493
350
5
62
687
931
583
700
961
696
490
966
426
252
451
442
220
480
348
506
521
881
682
281
521
908
155
117
928
152
213
765
17
987
371
518
576
130
899
789
441
430
213
463
770
232
299
382
766
563
220
123
362
875
678
577
852
96
873
741
802
461
713
381
973
832
213
36
515
293
885
65
611
681
495
25
187
770
46
431
429
758
215
58
791
937
607
330
509
681
287
413
569
931
893
968
369
339
285
321
885
149
902
676
615
43
294
608
785
922
218
292
719
580
797
892
575
497
420
352
302
316
143
88
515
628
483
630
876
397
221
757
233
722
704
808
665
970
998
91
149
373
717
646
635
28
976
880
586
668
174
282
255
160
294
603
457
691
587
36
316
697
684
54
288
170
969
14
498
473
515
425
778
218
984
867
218
254
724
373
650
174
430
449
605
985
445
382
565
789
470
846
25
574
495
224
256
469
874
402
153
299
779
638
797
684
871
257
10
30
930
893
720
805
852
12
859
15
218
544
884
317
369
192
488
518
392
14
180
552
266
356
298
960
384
837
788
700
174
951
882
334
610
901
697
899
500
650
852
745
698
506
680
174
406
805
964
384
511
149
439
441
385
351
502
573
762
376
796
707
115
273
287
578
25
498
501
313
606
560
58
185
40
62
627
712
136
576
401
396
651
103
969
422
802
350
223
379
448
789
340
294
744
175
97
644
976
399
316
603
334
728
138
286
520
946
858
858
487
484
850
259
658
813
502
585
147
586
197
809
88
661
742
663
521
101
859
560
805
113
759
74
37
888
649
311
419
672
336
510
120
578
578
747
20
924
726
935
605
892
458
173
489
979
859
82
702
566
269
547
591
907
364
45
315
37
575
674
805
716
429
479
463
410
465
133
382
438
611
156
301
748
29
522
153
171
131
344
930
594
260
79
429
941
632
604
387
108
986
271
362
288
589
7
5
861
132
847
401
796
733
113
757
702
579
304
198
833
833
420
59
44
52
766
111
252
139
32
385
225
858
915
615
882
698
573
190
519
330
574
723
940
335
157
989
911
878
912
302
216
133
628
738
249
552
746
25
74
138
339
938
655
13
262
255
882
765
410
715
538
161
571
847
839
850
814
168
401
800
569
117
291
543
689
860
385
572
459
275
72
596
856
286
375
563
147
645
48
744
174
480
762
588
787
326
787
543
356
821
314
994
821
460
632
451
96
711
142
865
871
193
202
149
547
183
907
910
959
782
742
653
534
389
819
489
925
945
179
64
853
268
881
700
271
442
944
187
441
538
601
294
997
956
105
175
701
771
909
657
267
185
700
476
323
333
902
442
467
187
329
883
351
271
936
193
575
722
968
617
50
551
461
247
59
755
232
176
161
301
206
424
265
843
414
791
965
388
907
942
116
9
209
550
479
92
776
46
8
104
356
683
953
37
831
960
973
664
75
519
79
619
615
720
834
861
909
525
482
258
376
474
912
27
102
367
232
606
247
734
187
659
488
947
144
413
292
855
610
100
870
641
178
445
406
11
826
350
621
75
111
906
562
861
175
496
779
765
889
433
507
170
16
530
530
955
536
940
966
175
729
277
478
532
41
920
178
285
374
931
772
783
381
619
557
509
336
150
61
644
934
36
130
847
933
754
128
996
340
56
542
6
949
354
232
995
417
948
724
750
959
455
474
585
945
864
316
855
825
614
802
585
120
283
182
338
102
497
747
848
725
278
683
747
23
682
636
178
793
124
779
503
111
802
169
55
151
517
693
320
828
113
768
312
313
906
484
968
631
410
548
479
22
65
358
68
501
503
91
104
710
977
925
584
751
207
384
406
318
525
342
837
885
268
845
559
961
270
590
72
631
934
901
870
82
101
864
423
952
55
170
9
53
732
727
965
666
200
576
405
883
727
133
403
913
531
486
83
600
285
291
75
443
652
837
372
124
164
97
458
928
463
527
967
868
238
12
233
839
817
508
413
786
136
626
487
353
784
53
135
118
784
281
582
849
22
855
781
752
150
889
808
997
381
806
853
635
102
648
212
540
819
11
415
524
404
461
247
744
696
25
72
820
60
954
931
891
695
175
502
901
638
483
866
860
261
509
824
825
32
261
644
679
477
863
467
339
266
189
993
29
742
867
41
635
844
801
41
799
220
388
315
570
387
633
793
122
1
979
613
327
78
38
856
176
18
761
560
504
772
335
600
453
170
448
71
497
504
203
981
534
935
737
750
447
719
634
679
142
637
469
211
420
937
636
666
509
477
726
29
132
222
351
166
789
606
295
341
445
713
552
84
344
865
298
279
171
424
336
483
550
148
880
458
989
754
2
466
356
928
821
85
742
204
756
711
849
417
259
107
177
9
343
778
470
859
772
910
163
97
349
984
214
44
124
198
772
573
283
572
998
3
258
325
164
391
228
705
188
122
31
753
160
475
500
691
227
558
891
803
757
482
20
287
403
893
610
557
461
860
422
386
266
882
672
804
995
942
962
715
341
788
808
427
706
610
714
452
676
169
646
453
643
288
679
373
339
212
635
936
676
94
239
907
188
822
535
825
341
896
154
151
163
178
637
174
654
407
725
873
34
918
254
492
250
743
259
172
543
81
832
757
874
786
217
327
439
284
237
540
68
917
537
98
84
91
422
44
258
691
651
840
315
4
1000
721
307
115
94
773
327
909
973
80
109
665
732
899
404
851
135
812
971
527
23
636
158
270
305
783
186
224
485
360
177
854
477
649
637
276
104
827
557
648
282
451
166
728
804
234
754
691
419
858
680
276
33
698
956
229
267
280
724
1000
834
568
273
464
895
199
470
22
200
381
474
33
569
631
254
337
170
539
940
515
288
287
425
631
751
745
575
272
818
314
528
626
793
311
305
583
528
684
768
884
510
699
730
944
204
62
326
303
890
811
540
225
974
989
497
628
263
83
562
313
370
492
330
578
486
763
706
615
688
645
573
592
280
940
717
592
265
430
493
113
417
293
923
534
323
480
498
233
534
681
388
731
721
744
60
112
802
87
591
580
142
101
646
809
338
207
818
450
37
553
436
62
449
722
901
56
323
153
848
517
812
669
294
999
480
670
264
731
299
562
297
546
132
429
406
356
961
916
717
542
916
492
222
946
333
535
312
613
655
557
982
922
735
105
338
87
205
565
576
675
438
806
21
453
10
510
742
855
619
582
960
134
217
605
715
16
961
425
606
732
203
658
269
93
954
738
157
748
298
362
225
519
449
53
64
596
428
20
72
165
687
531
276
737
43
449
387
721
636
286
28
558
715
653
964
109
677
762
6
377
356
376
764
490
192
887
238
654
138
426
342
622
440
264
696
990
496
103
229
550
765
142
937
239
958
241
71
758
231
166
171
858
922
621
463
272
869
788
415
679
96
41
477
384
410
823
654
203
11
416
522
917
740
514
945
949
585
669
358
182
937
432
405
312
143
702
717
323
733
339
418
585
736
398
990
677
533
836
814
649
715
995
257
12
904
573
82
848
278
639
579
213
221
523
772
658
641
662
800
549
819
399
209
339
223
680
604
594
472
513
877
404
521
586
942
530
611
633
904
859
604
367
638
450
357
658
375
956
237
670
484
149
643
721
171
371
682
751
154
732
498
390
432
499
750
520
276
784
872
587
444
58
380
456
689
414
758
862
39
407
606
909
6
669
834
358
274
158
871
157
744
942
421
730
155
683
437
378
311
59
957
301
85
52
956
598
753
252
699
575
746
601
603
697
751
446
97
64
926
646
768
220
389
303
987
811
708
378
362
932
610
466
293
276
82
50
576
969
491
169
249
175
475
969
588
699
340
522
390
641
715
437
148
681
153
794
588
532
423
188
541
396
342
916
795
54
953
991
99
543
442
700
914
366
449
355
216
939
993
648
341
29
398
901
930
375
387
936
716
349
188
415
768
40
274
861
696
70
465
603
791
563
776
749
98
547
769
773
951
411
698
195
483
738
349
473
883
899
137
243
884
380
948
908
149
459
306
889
135
923
193
204
680
50
566
223
464
649
647
12
527
285
43
725
5
147
428
908
176
57
638
961
453
44
689
665
99
570
260
623
181
203
150
199
225
524
831
249
185
976
563
953
427
353
507
172
692
175
938
786
852
76
654
969
437
74
712
896
300
109
541
488
340
710
424
687
833
390
290
409
123
281
927
889
52
969
9
161
253
139
100
579
410
137
375
491
858
831
229
293
874
311
328
863
683
364
620
39
144
969
942
980
409
954
210
396
15
331
108
215
994
869
665
665
269
739
577
873
928
147
872
721
318
371
497
284
796
333
421
957
979
574
575
181
239
387
934
674
889
429
475
242
126
843
542
433
614
285
697
775
267
908
586
896
122
755
691
541
921
866
125
782
352
860
338
665
420
392
692
945
169
599
371
688
758
96
135
741
488
32
595
95
219
442
132
827
580
673
279
749
647
83
791
471
38
68
18
587
406
665
840
602
152
874
96
438
195
710
223
941
960
849
804
69
394
668
606
255
218
103
565
798
449
113
8
99
376
307
756
488
239
305
685
657
526
634
290
264
331
149
349
464
449
791
322
733
199
519
660
688
723
178
887
499
259
689
667
687
129
344
736
766
727
881
350
251
432
676
465
199
703
580
898
203
24
689
911
525
594
417
696
738
205
922
620
310
967
353
371
53
496
767
40
283
329
93
418
602
936
685
962
517
428
715
887
883
209
615
599
638
701
8
579
169
395
397
175
576
314
908
632
579
952
74
950
130
179
633
253
521
927
856
180
725
484
227
665
852
690
644
815
200
517
83
831
585
76
627
861
672
860
42
346
931
451
251
867
351
13
973
165
622
153
162
668
507
743
47
115
991
400
108
28
502
470
929
487
949
96
655
254
265
901
891
303
133
615
924
812
601
10
537
623
975
108
106
968
605
865
690
737
251
931
322
184
4
332
919
112
274
978
260
328
360
580
229
992
39
3
334
3
633
964
668
593
130
616
326
422
408
977
232
633
666
836
253
368
302
475
719
959
503
960
521
440
346
4
190
456
615
768
580
118
25
672
653
70
528
706
568
802
235
861
944
469
807
562
460
910
529
670
894
515
129
822
348
360
815
931
198
242
558
370
509
339
886
865
474
54
600
468
843
531
342
620
438
691
564
308
862
259
27
814
65
238
262
675
709
587
291
521
242
957
234
156
400
178
212
102
101
140
890
566
864
162
652
11
330
431
42
303
563
540
49
401
508
341
58
974
734
509
967
28
44
490
670
213
120
599
864
10
148
718
726
115
522
624
197
80
170
551
450
513
998
891
948
94
251
853
415
261
940
525
638
445
332
654
710
730
365
301
292
571
1
24
746
941
745
348
997
852
640
442
917
730
255
20
978
794
956
283
520
327
379
307
88
285
33
951
577
765
848
963
599
767
720
932
476
369
529
792
353
688
353
536
300
903
135
803
135
753
245
28
52
285
283
373
166
876
715
628
307
81
72
746
287
65
720
245
79
8
724
797
983
65
80
397
895
511
211
496
980
755
496
637
628
422
533
915
160
964
672
9
24
287
485
604
969
589
521
190
562
754
188
15
241
185
442
793
109
829
714
814
761
6
84
172
871
95
793
880
423
710
141
570
719
231
814
712
80
851
866
443
356
588
447
276
740
550
139
485
986
704
75
377
137
801
703
801
494
849
616
436
566
746
950
470
793
260
194
791
880
295
978
108
857
280
811
7
557
775
554
701
845
602
105
149
541
338
958
350
230
394
769
844
855
265
871
490
44
21
818
307
974
612
860
421
551
3
129
80
336
269
530
783
473
256
324
464
506
857
486
998
711
668
919
927
854
43
940
649
746
682
177
862
25
592
389
380
483
523
603
776
792
87
849
958
733
549
771
505
996
709
682
2
480
552
13
54
241
740
222
252
206
727
504
864
886
294
407
571
489
128
113
124
448
759
49
941
401
505
560
387
602
636
160
772
30
989
580
555
845
158
843
263
839
553
197
199
386
770
903
724
54
629
351
398
541
738
234
883
398
844
586
54
730
644
234
708
493
774
769
983
286
704
768
873
314
201
999
137
734
90
310
363
280
772
98
117
685
137
74
772
716
415
654
807
786
725
304
437
581
597
560
705
319
247
808
184
109
930
709
954
371
327
785
810
51
366
509
990
77
581
343
229
171
557
491
802
867
190
275
461
718
369
631
255
97
705
109
315
948
794
250
788
249
454
944
431
338
78
662
893
451
974
224
497
431
814
972
841
367
904
943
891
125
731
47
158
776
556
248
877
462
103
736
322
163
428
437
703
194
432
37
89
288
1
357
326
2
747
140
61
295
901
991
194
318
290
828
673
579
402
482
662
179
850
424
511
909
706
577
351
364
451
487
58
793
717
74
176
93
194
117
312
576
74
392
994
790
749
885
518
697
887
963
318
546
1
445
872
384
989
330
309
799
981
411
365
547
39
443
585
12
355
622
661
942
967
974
764
198
928
784
178
477
167
901
534
250
788
639
469
946
141
14
361
137
958
732
127
174
975
837
94
104
886
639
510
528
846
57
180
578
383
45
792
350
231
318
825
629
35
97
740
374
519
678
288
286
857
97
411
508
668
781
872
331
111
861
893
428
830
733
702
59
707
187
143
183
762
729
55
768
452
948
224
790
299
535
417
286
273
213
10
476
81
395
961
618
350
229
832
423
866
582
322
490
414
882
601
974
258
972
606
457
305
224
501
244
310
90
393
428
965
575
758
72
251
325
871
727
658
770
983
980
39
653
300
570
617
461
675
640
741
105
812
45
892
816
623
408
916
247
974
453
28
847
449
682
369
84
726
688
178
23
59
660
921
718
181
6
67
600
771
460
262
653
1
552
148
34
253
922
15
117
572
793
549
683
51
921
40
161
527
136
363
706
723
748
355
226
433
494
135
577
814
785
736
644
893
382
898
818
393
635
916
632
683
338
920
206
608
906
958
825
743
441
591
990
942
599
468
898
340
822
954
573
35
67
297
611
35
244
694
732
349
726
553
954
208
636
640
105
962
667
424
564
236
812
29
983
850
534
201
396
161
333
930
996
667
619
577
337
818
293
714
272
319
965
858
155
554
194
742
411
450
481
40
555
26
166
580
672
521
974
637
484
549
72
440
785
233
260
970
957
98
746
938
363
36
707
19
486
901
284
320
137
424
620
482
120
870
358
109
328
652
487
484
759
613
791
529
902
343
514
148
932
9
970
954
516
829
461
406
468
53
599
974
37
361
872
272
131
407
237
543
607
112
646
750
540
723
559
985
934
586
949
811
343
585
915
815
609
899
121
471
426
436
757
879
934
214
523
674
549
713
285
383
732
207
284
940
539
990
739
408
350
86
421
211
477
640
36
698
87
855
452
382
290
871
975
2
51
762
477
101
790
426
746
479
213
556
313
570
316
110
132
735
358
77
41
327
493
459
881
582
93
976
544
463
129
327
37
549
173
197
789
813
506
754
953
140
900
746
436
379
262
134
665
40
93
573
451
773
57
210
730
528
21
109
669
777
514
479
672
357
675
115
665
944
675
169
251
642
843
737
597
898
115
820
506
303
206
446
100
466
921
474
418
124
420
544
343
662
880
116
570
123
966
127
304
243
404
817
154
769
989
844
694
723
445
840
411
991
989
351
454
815
152
962
415
755
872
956
341
64
554
81
714
400
647
806
815
954
351
760
683
416
890
157
449
855
637
766
541
976
607
358
811
216
79
864
682
274
410
464
840
26
873
666
694
749
20
84
505
928
760
599
878
600
727
759
323
414
185
997
628
505
327
579
246
657
871
319
473
894
324
282
339
571
385
738
200
998
791
209
456
917
283
660
617
191
961
549
63
517
264
764
923
507
398
423
566
3
957
997
146
226
963
318
528
5
529
552
101
923
572
962
772
237
388
804
318
717
288
178
233
346
679
471
666
406
859
30
888
327
682
39
497
877
430
532
984
910
424
333
251
423
702
38
758
468
497
734
937
579
413
762
168
595
445
65
778
875
810
358
802
810
514
321
915
294
236
744
413
561
94
117
29
855
965
896
531
768
514
65
683
552
178
390
553
744
281
689
98
460
711
737
20
672
431
151
90
53
168
30
225
26
52
433
391
490
226
704
880
521
425
520
66
992
589
478
862
205
829
222
85
667
473
873
921
414
376
483
799
569
164
892
690
818
729
651
365
789
184
346
599
380
100
578
905
801
698
580
656
13
22
718
196
773
585
309
873
391
659
338
364
828
10
162
619
962
283
481
652
344
624
444
675
661
215
862
823
427
992
785
257
137
487
695
834
228
212
223
582
894
433
104
382
304
259
675
754
170
830
228
924
120
948
305
762
108
539
516
683
349
855
532
118
284
282
149
897
165
732
618
597
86
523
752
748
6
910
62
861
940
380
460
156
917
366
416
291
655
390
275
825
554
160
878
807
289
887
918
285
965
180
113
863
721
930
143
271
646
929
535
933
958
265
443
862
843
402
829
51
113
125
579
402
539
422
558
318
189
328
618
488
689
372
506
369
320
838
861
610
228
594
2
999
615
147
732
494
371
312
10
519
868
481
391
111
75
744
575
300
204
545
700
820
381
422
36
347
782
235
781
157
89
959
686
19
686
968
957
898
562
273
349
361
880
385
710
296
24
187
856
89
872
301
716
217
582
731
581
840
869
273
527
331
262
482
398
601
262
834
121
146
797
930
342
746
946
579
544
825
881
74
204
282
803
870
986
121
72
140
338
482
44
322
9
393
18
151
407
321
39
481
812
936
329
378
376
630
471
991
444
275
175
977
270
41
344
686
128
146
40
570
998
910
990
363
900
627
465
290
942
483
936
325
354
460
871
35
933
568
816
84
561
669
622
97
321
957
731
115
823
459
335
586
414
855
70
262
322
23
562
793
647
605
740
956
442
91
442
281
484
462
91
79
87
383
195
383
107
307
518
170
588
919
800
891
799
482
3
234
451
242
218
339
815
855
804
75
552
266
427
752
596
758
938
152
288
280
898
430
928
297
978
471
929
598
442
178
183
344
118
105
602
566
40
831
658
48
486
721
549
186
892
55
962
88
599
338
234
539
662
265
822
526
452
327
185
3
382
172
958
404
361
657
775
412
798
785
908
930
248
545
33
691
25
655
281
635
956
72
341
646
927
834
815
155
442
891
216
751
104
37
692
882
799
928
441
985
587
648
837
392
120
959
653
571
618
332
862
204
446
722
583
426
701
765
22
950
540
151
228
922
653
224
208
318
806
17
926
809
798
282
83
620
821
450
112
348
718
555
45
884
432
732
282
458
564
969
260
858
497
756
194
129
441
441
46
268
262
480
448
53
262
204
902
861
162
561
592
819
853
124
124
450
667
23
320
401
431
560
744
998
496
765
33
745
391
892
937
637
241
591
736
397
614
2
985
434
754
768
660
148
432
19
686
643
361
735
390
928
985
348
885
395
850
32
278
798
615
693
228
115
372
475
712
287
922
138
204
882
167
319
255
360
911
100
312
481
127
734
250
269
789
68
334
87
650
978
52
112
51
587
663
631
720
740
822
192
25
911
197
798
355
566
29
693
681
263
939
14
934
67
298
1
199
452
976
536
336
298
551
53
576
332
237
78
447
187
413
863
665
209
262
717
898
837
901
660
663
691
814
538
410
776
708
420
711
310
653
437
872
841
828
76
846
16
562
236
621
778
251
754
162
200
210
445
647
132
734
260
179
165
744
317
567
77
597
157
471
593
64
366
573
635
4
72
930
392
168
316
341
195
880
353
171
778
133
959
22
266
979
960
113
772
888
210
128
444
472
393
85
331
773
84
11
248
709
68
59
563
956
14
769
444
486
939
586
406
242
164
428
163
717
751
242
205
469
86
325
183
372
915
157
771
405
888
104
517
100
535
605
729
915
912
925
55
865
90
277
223
821
587
116
774
299
157
503
666
900
254
801
721
168
802
258
173
985
593
276
861
98
576
90
743
17
176
162
321
222
337
468
805
340
715
423
809
482
763
61
18
270
711
388
155
298
50
285
230
326
354
130
759
629
872
144
420
645
513
331
72
887
307
262
203
73
474
99
279
109
702
133
639
56
348
980
89
199
880
485
848
287
139
308
152
127
529
586
215
436
549
33
217
646
662
918
61
33
257
972
783
537
532
927
432
803
778
494
724
776
542
681
24
5
464
934
465
234
481
515
860
294
794
578
685
502
144
33
694
460
486
658
821
521
101
244
469
878
297
968
174
898
814
4
267
388
768
312
450
536
643
130
773
754
481
179
617
570
617
935
857
443
230
145
739
836
202
528
765
525
427
616
111
548
444
874
931
95
246
271
619
643
47
877
944
327
896
384
32
179
344
599
408
924
160
780
314
777
988
1
283
951
228
516
237
296
802
179
382
522
437
434
532
418
379
119
366
334
845
223
867
77
921
634
951
897
729
968
885
503
877
962
794
520
117
465
384
147
639
12
418
835
912
793
50
311
556
563
40
788
687
626
220
271
876
270
358
442
717
325
41
428
812
630
675
563
178
921
452
593
631
799
970
200
799
638
241
146
883
755
10
202
404
852
214
597
740
894
969
997
404
122
564
595
879
311
548
97
123
785
301
436
698
5
47
134
350
556
542
68
181
969
490
355
190
579
394
79
605
962
980
619
919
481
501
439
735
915
752
775
339
32
47
434
716
334
691
311
701
262
973
80
557
960
82
391
731
40
5
35
583
161
786
509
210
210
623
248
82
380
886
163
685
187
774
295
600
160
643
405
766
476
430
480
240
841
152
685
564
801
857
798
759
303
332
485
268
442
110
349
182
966
462
606
998
662
883
948
667
502
343
102
630
76
647
645
941
37
520
956
325
97
598
400
911
27
536
825
763
702
706
916
75
66
905
116
988
598
991
969
953
944
526
996
480
27
417
717
889
958
918
852
656
241
465
685
951
724
109
516
63
131
337
326
512
848
778
879
693
472
810
490
445
663
157
586
594
667
771
452
28
432
11
265
518
191
297
838
111
561
253
113
286
574
578
840
354
132
674
182
514
720
302
319
568
265
516
751
266
173
304
521
543
932
25
383
802
129
615
560
834
695
889
795
454
39
234
766
460
126
970
156
486
922
179
315
692
816
989
571
442
375
598
119
245
707
86
986
275
73
964
247
893
564
860
805
971
511
714
261
980
140
188
104
809
886
649
692
85
270
571
465
396
308
790
727
973
823
397
460
111
702
615
648
278
635
498
65
833
435
295
889
785
442
616
773
79
338
679
293
8
412
832
918
732
632
697
459
913
418
975
723
102
601
887
94
655
758
965
592
16
343
192
8
118
823
24
852
888
458
580
82
191
766
391
555
730
777
989
560
971
140
553
102
785
968
979
921
297
556
649
722
285
202
943
553
974
336
952
225
520
393
178
966
368
892
968
796
995
404
511
473
939
643
569
386
548
260
992
940
402
88
904
294
467
527
957
676
197
254
383
746
17
155
609
926
222
907
239
951
9
199
870
975
45
417
718
212
562
154
583
926
552
510
771
278
610
343
534
338
32
962
881
264
695
757
233
885
871
146
202
361
154
129
736
706
939
852
194
939
53
181
136
784
64
590
303
352
293
22
926
970
258
416
305
838
512
188
731
986
882
798
902
50
32
762
742
93
44
547
621
828
210
965
799
850
190
371
225
170
303
733
791
694
798
71
490
751
723
445
432
421
464
798
138
417
45
215
203
755
458
953
543
378
521
958
816
372
79
635
89
422
20
240
143
325
602
672
673
7
385
544
88
769
248
854
19
65
739
147
255
363
665
982
666
570
778
120
745
153
391
826
191
636
436
963
443
278
981
340
274
505
77
202
361
232
8
974
895
699
12
418
440
131
592
858
572
115
402
341
211
677
773
2
344
879
293
5
439
972
321
939
299
989
328
335
406
413
940
455
114
657
737
607
444
472
329
215
674
693
246
714
393
141
968
842
657
270
427
324
290
475
73
703
993
939
823
271
707
886
445
812
261
324
880
655
452
363
851
592
981
399
33
657
888
274
782
346
220
378
311
921
380
260
740
557
838
506
383
536
172
340
642
256
968
393
163
437
714
220
883
60
805
277
618
118
436
123
217
744
931
786
376
570
902
189
167
89
745
277
293
79
93
115
557
203
676
233
545
371
384
562
276
205
21
41
431
904
619
341
730
433
862
131
689
710
986
354
508
971
111
597
443
704
301
259
257
258
101
4
590
854
116
46
727
40
205
274
724
886
438
421
280
89
282
858
718
157
764
967
451
616
278
704
389
605
947
558
460
223
100
764
689
26
853
760
759
687
140
179
475
112
288
860
880
999
859
411
951
309
911
98
819
262
822
515
894
199
313
668
205
60
154
127
111
435
409
359
308
102
108
129
806
324
632
178
783
249
237
16
876
477
524
72
99
309
635
305
840
664
319
646
406
769
474
489
227
564
901
529
47
404
393
396
804
148
452
446
875
302
655
718
300
164
880
439
757
773
411
494
894
227
731
468
631
97
691
842
599
112
749
258
694
541
989
805
668
461
756
352
879
494
190
206
946
610
276
78
864
75
961
468
553
127
87
525
746
606
896
165
638
264
650
82
301
709
666
794
148
256
560
770
158
376
793
531
211
447
272
314
933
776
290
977
284
962
198
421
912
34
449
714
853
754
415
538
780
382
751
333
46
188
4
832
203
315
410
266
244
870
457
33
720
397
914
385
826
640
615
112
658
907
492
36
858
779
733
323
534
431
608
94
712
586
161
747
291
520
741
862
284
630
679
484
729
147
804
127
376
389
617
524
431
959
28
428
674
141
689
229
774
997
340
372
147
744
412
374
972
267
766
994
450
1000
434
128
124
358
775
692
205
602
906
259
980
946
698
787
670
143
891
377
785
880
624
44
16
531
526
582
7
403
411
168
544
199
377
252
675
651
58
276
48
247
104
418
954
260
958
334
540
2
594
8
228
255
265
598
816
444
963
185
757
310
525
470
439
357
979
185
96
658
478
920
501
215
925
952
82
868
488
708
449
305
166
394
61
18
985
651
128
705
711
90
396
458
408
386
844
900
433
145
214
525
549
202
477
69
310
333
904
998
777
178
833
934
942
627
529
197
321
268
465
251
437
25
295
299
420
353
626
781
523
789
624
26
791
417
403
182
200
648
303
328
734
556
508
313
673
419
658
937
700
364
675
357
114
844
998
193
952
983
29
910
670
561
519
10
129
141
826
885
71
459
216
75
236
837
982
65
990
496
639
749
450
433
411
385
166
644
74
900
463
374
670
154
497
994
474
761
525
710
567
375
204
523
182
724
361
490
123
741
483
645
830
36
875
336
406
300
908
392
412
497
892
617
266
266
6
540
188
958
352
85
35
56
324
811
118
817
300
162
582
840
237
844
460
594
201
662
241
876
838
432
550
692
69
142
51
838
296
849
247
722
402
639
828
774
781
627
794
396
503
721
784
247
73
526
4
502
914
317
963
81
973
388
960
658
166
675
393
50
462
967
726
851
695
135
64
121
789
152
747
680
13
868
774
217
586
827
230
796
385
307
918
170
901
231
937
983
714
780
253
174
238
678
535
94
4
430
196
77
321
74
191
267
834
315
530
704
734
318
873
564
77
384
462
409
226
823
205
618
998
225
277
932
176
54
529
41
337
315
407
671
786
639
657
484
975
350
716
413
114
795
232
203
307
834
352
302
735
614
631
707
611
155
244
111
812
119
357
643
31
921
96
708
357
649
989
74
762
972
424
203
734
925
916
864
626
197
418
411
451
526
978
344
759
173
111
145
82
669
134
337
745
66
491
407
52
676
540
895
231
7
707
989
593
521
840
433
537
462
264
250
928
509
514
274
440
407
32
97
2
783
811
853
598
559
685
146
98
911
638
313
618
579
88
298
334
72
3
801
266
787
174
582
933
419
682
505
843
112
136
505
634
778
37
997
544
844
966
427
869
143
4
159
828
414
40
972
680
49
432
173
294
365
153
107
712
451
458
543
244
572
167
657
354
807
228
438
810
202
123
283
929
688
758
407
400
35
570
179
844
372
239
318
6
281
806
184
572
674
29
117
271
590
597
631
155
754
881
720
189
774
759
777
9
316
752
729
272
10
90
371
905
524
559
949
60
928
40
25
984
254
992
466
400
20
125
795
357
490
792
891
628
530
844
179
911
623
472
320
269
130
181
910
909
282
507
801
752
731
260
794
725
770
400
765
779
627
962
645
794
237
802
1000
527
417
482
457
485
863
354
95
300
64
891
697
842
629
790
816
111
591
88
922
590
472
81
900
818
435
609
219
139
320
103
972
657
75
623
953
448
839
164
872
386
32
281
456
664
470
124
747
204
579
282
393
434
89
353
78
683
637
568
599
869
469
263
725
598
886
851
66
102
256
114
634
177
834
87
412
870
338
822
374
402
596
883
381
907
305
986
368
690
254
484
795
629
550
638
896
550
284
896
798
210
584
116
860
319
118
737
228
663
376
621
494
219
441
279
87
738
159
555
473
668
410
668
93
146
850
668
849
412
424
264
388
610
65
53
947
888
521
113
112
739
181
267
81
611
77
183
849
489
124
892
668
178
29
740
328
191
229
719
607
686
253
848
926
156
920
882
981
73
263
877
791
388
636
306
254
918
930
382
562
54
929
960
192
949
163
131
175
161
775
107
566
327
725
796
319
833
450
598
588
94
760
356
938
594
600
218
262
835
644
665
605
406
457
874
553
709
875
712
302
840
483
369
350
198
482
349
723
669
834
951
404
314
499
406
452
554
369
318
588
665
239
495
641
346
956
654
204
218
991
7
182
289
258
520
721
243
288
326
673
998
289
913
447
756
228
73
640
700
531
953
680
472
354
197
826
39
440
864
183
663
313
595
977
631
555
144
741
549
198
383
240
522
219
988
984
848
821
385
818
912
675
782
916
67
103
527
343
26
272
749
768
217
709
92
574
333
260
478
884
399
4
169
607
311
557
806
931
848
938
714
195
894
385
785
790
873
159
611
522
546
220
599
857
694
476
352
123
914
938
529
369
996
586
686
961
499
645
497
22
532
385
683
272
516
137
568
149
740
374
336
617
328
860
150
188
37
540
946
872
558
579
803
388
513
467
720
262
477
879
1
43
57
775
189
380
784
246
656
780
803
780
752
54
929
254
661
15
707
666
287
780
764
350
969
908
929
298
777
733
51
128
864
273
238
457
547
790
191
231
155
255
197
54
563
919
299
805
395
425
184
485
946
376
568
169
668
658
216
42
805
972
950
547
196
275
317
434
699
985
326
417
670
327
404
87
115
872
589
274
496
467
158
905
725
137
857
773
396
169
431
824
410
792
536
980
835
414
830
602
917
714
804
711
979
252
42
777
527
320
488
700
647
960
965
903
160
786
620
171
428
211
639
320
347
364
676
491
318
777
926
593
310
29
194
908
513
520
1000
399
432
482
420
751
400
749
234
896
895
800
108
4
618
122
275
191
328
695
285
432
423
346
123
997
388
606
885
815
882
803
940
912
453
127
663
406
215
878
447
231
583
616
498
465
141
813
250
37
230
706
500
366
98
7
561
529
819
754
782
569
676
912
492
534
113
198
9
586
714
211
67
316
620
560
851
832
650
311
956
721
992
885
537
889
874
931
315
925
697
408
524
951
651
400
466
302
428
489
458
969
500
945
532
318
240
271
317
622
99
919
301
961
512
465
605
167
579
945
557
669
1000
103
816
88
561
393
220
732
616
888
338
329
20
811
318
279
816
248
150
864
953
11
633
333
884
480
333
17
906
384
475
202
728
192
499
100
997
570
201
844
19
919
851
817
463
794
943
897
909
228
484
553
699
306
358
50
404
728
234
750
938
458
522
485
101
357
844
538
280
497
634
238
555
946
202
914
131
826
311
64
686
565
24
793
525
496
950
628
941
408
824
99
667
99
535
772
15
833
767
988
649
759
866
601
347
265
307
147
523
787
130
466
355
836
975
221
841
606
268
147
48
971
417
414
960
946
655
415
462
800
605
827
768
396
689
650
775
500
186
613
42
888
14
157
712
630
228
182
392
672
214
555
470
462
535
886
226
644
483
990
981
475
897
633
721
614
210
544
489
464
903
457
904
585
475
668
437
256
761
117
224
518
192
133
201
819
509
338
46
940
113
408
886
825
47
820
93
985
854
168
23
520
210
935
994
206
617
210
614
772
322
502
58
161
754
404
398
469
429
875
598
755
908
644
310
346
31
981
492
880
956
152
789
65
257
416
655
799
128
780
145
673
954
183
560
679
462
611
39
110
778
227
313
903
81
168
807
313
923
902
851
683
248
884
887
504
787
472
410
299
324
686
257
339
475
389
615
501
744
727
307
877
546
481
517
898
797
841
930
795
857
307
459
996
24
147
499
964
195
876
96
694
576
848
285
972
984
402
601
866
832
654
528
134
312
336
655
497
463
376
104
214
4
270
6
590
918
666
792
739
66
27
325
311
6
713
334
967
620
609
223
789
936
689
50
21
484
654
991
701
625
468
98
786
606
715
225
645
153
401
179
294
979
738
892
598
970
879
666
684
653
131
786
961
219
543
207
783
477
999
453
715
851
787
188
277
30
77
550
454
820
829
372
249
17
378
148
64
34
821
410
374
687
631
541
379
116
369
46
12
782
493
927
795
768
591
795
819
587
844
656
897
72
50
766
172
952
856
330
418
23
4
272
166
887
964
695
955
39
111
438
630
756
564
760
209
545
336
222
600
177
229
316
86
916
400
571
530
473
943
477
607
53
338
45
717
769
106
721
185
985
822
421
295
72
211
462
330
490
43
122
745
191
790
680
818
528
573
215
165
696
460
739
353
838
735
80
942
893
775
695
678
824
556
275
164
429
978
625
976
885
640
534
849
773
626
724
579
742
674
547
908
479
931
864
629
587
610
977
687
859
980
189
720
753
788
967
411
256
864
690
335
656
420
498
210
968
190
504
56
295
140
264
512
767
689
843
325
208
603
697
67
189
245
496
334
770
148
302
356
583
391
129
527
562
427
961
594
342
231
458
268
619
929
305
497
705
259
107
52
289
359
405
512
498
269
716
541
714
529
589
914
838
346
902
727
867
616
555
412
852
714
247
598
248
860
276
247
632
131
100
179
330
54
833
445
201
755
945
368
63
755
219
582
249
391
669
676
207
154
221
33
346
868
654
183
586
209
72
780
915
675
296
584
896
274
994
899
447
644
695
992
472
636
377
114
55
350
239
322
226
107
482
468
14
568
971
771
263
868
446
244
67
70
19
994
462
564
620
444
439
111
372
806
392
968
75
399
910
387
81
895
860
507
989
198
280
669
169
181
962
490
348
708
832
582
891
690
623
722
590
142
391
851
357
754
236
984
801
141
608
627
699
442
385
527
299
100
314
268
363
542
95
109
231
690
804
469
665
841
310
526
382
116
207
688
622
565
414
476
248
629
140
479
301
645
506
45
54
347
758
334
954
878
145
162
610
302
743
741
321
580
436
119
50
643
386
228
182
488
99
842
788
948
468
874
154
612
798
434
535
534
413
528
42
765
971
164
695
936
83
34
370
240
821
217
165
985
573
589
647
575
390
815
78
446
180
715
206
595
23
940
864
967
612
72
756
692
348
237
789
274
97
575
572
613
189
648
832
81
75
593
864
69
631
912
770
536
50
348
708
867
337
385
315
799
770
609
463
637
388
991
66
466
850
475
282
579
417
150
855
545
15
774
987
298
365
933
647
763
474
544
693
891
244
374
637
89
119
648
91
109
764
362
340
147
656
174
681
630
109
228
531
58
365
979
361
834
429
432
451
786
248
982
558
612
642
549
619
364
536
85
98
268
966
315
419
268
305
696
997
505
415
325
955
94
680
332
525
899
543
933
453
266
975
411
263
747
518
875
114
68
289
581
204
577
500
777
485
874
826
128
690
439
722
712
155
929
365
959
190
394
82
968
70
384
790
244
463
744
774
680
268
671
527
309
205
22
938
460
523
13
41
961
353
371
862
134
267
878
109
810
175
853
197
607
125
790
801
442
171
423
985
101
302
221
796
773
849
523
385
99
712
234
285
144
589
281
490
548
573
662
71
151
798
95
130
429
14
200
806
182
978
183
150
281
655
154
427
345
290
280
215
212
875
365
132
387
129
584
581
149
878
156
113
156
976
550
305
793
786
437
373
890
870
741
823
481
950
593
831
423
856
523
611
513
319
257
753
743
3
128
867
922
451
607
905
84
295
740
16
308
695
805
330
560
436
490
276
529
109
80
794
500
439
767
791
990
381
276
977
242
341
976
528
418
484
298
446
286
159
680
60
317
723
627
505
2
235
183
171
787
392
727
175
397
924
957
444
576
59
939
501
407
918
2
81
242
427
4
305
453
734
907
42
257
166
380
411
915
503
411
932
282
456
384
162
123
936
177
507
20
790
707
626
420
860
321
345
584
663
238
18
892
650
179
241
281
451
829
697
702
957
451
183
729
346
798
353
733
110
228
873
842
448
708
587
18
169
640
570
637
753
905
379
565
672
448
222
167
339
10
953
216
903
393
606
676
530
334
843
984
812
548
849
629
236
990
479
148
22
557
37
171
459
918
396
694
778
52
142
892
674
652
528
455
315
954
346
691
295
38
95
544
713
194
845
732
199
950
500
750
17
253
670
640
880
91
29
622
221
904
300
924
373
901
721
947
577
633
843
173
293
3
461
449
744
787
439
82
65
946
780
63
372
450
533
487
253
87
973
383
659
153
529
520
504
721
285
696
632
59
705
255
843
833
674
768
715
907
576
152
774
30
644
428
16
859
806
164
344
392
640
818
494
667
565
655
342
248
853
266
7
966
78
341
411
181
986
116
732
777
737
500
704
600
20
63
271
482
739
387
504
494
188
217
604
718
948
404
809
913
746
148
694
943
834
541
839
330
727
130
723
519
87
28
628
411
427
764
917
528
834
827
942
476
386
945
160
77
704
740
969
628
828
638
203
609
147
702
572
606
154
544
158
869
743
990
117
142
305
295
940
979
854
253
28
396
155
264
285
990
980
4
840
364
408
680
777
461
797
384
444
265
275
41
138
3
511
126
668
333
78
902
706
579
509
998
408
904
211
191
904
373
315
933
535
247
581
628
357
611
120
576
894
675
902
773
417
437
882
220
203
384
99
912
187
600
531
368
272
544
588
265
336
835
909
530
738
487
805
653
925
730
311
196
971
406
210
283
622
475
215
23
257
700
399
392
379
957
858
386
390
931
958
656
608
586
429
815
358
697
995
766
573
294
167
366
79
915
70
293
725
798
625
417
845
236
59
65
220
585
609
759
619
513
426
968
303
677
502
269
986
250
425
993
558
978
677
532
67
975
519
299
370
906
529
18
215
271
981
567
556
877
292
175
210
681
543
890
478
775
321
128
227
30
311
866
223
994
84
571
84
37
367
412
568
867
83
972
113
15
15
326
817
154
903
500
579
464
741
969
893
828
296
635
61
704
746
770
772
159
473
470
666
154
883
78
207
986
579
282
355
255
226
363
838
648
253
953
649
388
272
710
340
750
158
143
918
722
460
869
285
921
164
849
639
147
449
366
26
219
660
497
89
454
73
622
400
284
803
535
421
949
518
630
288
18
601
768
888
124
909
132
39
394
16
343
271
452
130
213
387
547
736
666
863
329
695
773
524
860
637
687
323
833
683
928
408
267
355
176
279
404
557
212
793
919
965
894
102
82
733
759
471
290
906
705
233
228
209
221
787
624
437
864
203
923
335
331
707
639
443
874
220
804
235
144
167
772
551
63
992
804
163
527
48
803
592
498
481
572
362
835
376
579
751
374
703
21
357
69
573
897
973
224
850
637
958
519
221
997
926
414
967
314
728
528
965
185
879
429
97
187
489
673
635
699
383
126
888
158
830
928
330
126
871
547
100
571
6
796
588
793
81
312
893
934
396
33
580
912
981
580
642
76
57
392
579
824
298
993
584
763
244
36
577
909
162
179
940
51
825
952
366
986
482
147
437
344
157
791
52
216
462
220
832
54
449
740
347
382
198
437
236
906
606
948
373
542
663
263
196
944
709
207
34
759
506
925
650
71
150
886
746
562
418
255
951
777
249
515
64
26
536
755
544
907
654
97
389
494
65
639
914
635
110
317
44
936
337
126
692
852
388
821
120
599
557
792
309
529
965
443
983
435
102
822
973
505
661
810
707
231
200
248
126
286
970
827
735
481
474
24
39
790
966
716
43
442
836
552
263
128
997
549
214
65
461
263
510
726
205
609
821
492
404
462
970
52
261
469
218
344
643
99
254
153
62
140
152
914
160
777
574
323
346
247
859
357
785
888
514
45
697
318
520
334
970
355
968
109
996
984
821
766
686
810
878
612
331
889
853
741
436
355
15
152
201
542
210
28
669
694
487
37
853
947
435
146
797
332
252
236
569
71
819
569
58
183
778
537
607
146
931
700
191
575
21
34
916
124
509
376
782
617
726
995
853
706
816
197
278
498
820
687
642
892
156
484
789
733
932
931
322
640
732
939
866
611
914
411
174
577
407
64
941
45
399
599
25
894
908
975
876
283
512
357
55
538
432
299
222
768
624
221
318
739
740
434
409
128
659
961
475
530
283
358
582
314
760
560
679
88
606
453
682
619
265
445
412
367
751
37
287
84
315
522
624
871
38
495
928
164
277
176
411
3
962
958
631
454
780
961
904
779
278
829
51
798
149
177
95
143
612
215
21
342
755
577
647
911
311
979
433
502
471
424
491
724
228
487
569
464
553
232
550
847
637
837
399
218
401
630
177
151
922
710
982
318
173
991
638
737
904
687
457
694
313
689
266
34
589
281
194
316
100
744
597
323
156
57
727
984
685
82
657
150
893
510
510
498
477
802
987
787
627
846
656
430
917
985
360
233
336
852
787
657
821
842
48
475
687
273
414
602
31
769
676
913
22
559
705
579
760
350
337
179
145
19
6
60
727
924
822
183
872
341
736
161
113
137
649
112
606
329
685
641
418
945
784
578
681
236
3
355
999
835
468
787
325
441
829
436
293
902
800
788
454
564
114
142
349
926
828
468
407
691
957
244
830
818
216
806
876
406
239
962
893
397
434
114
265
877
206
515
958
567
467
145
408
958
60
374
136
730
725
752
765
562
168
390
334
554
221
479
928
79
673
494
599
699
179
373
863
950
17
177
620
344
847
776
740
473
191
258
373
715
129
972
627
248
175
83
821
506
671
452
886
76
303
192
209
76
475
495
295
527
443
632
203
444
616
995
637
773
140
926
854
569
314
390
74
617
972
811
136
179
382
465
428
67
395
307
871
534
509
708
228
262
626
359
151
75
247
788
918
137
716
950
53
552
55
394
312
611
67
722
977
392
66
466
509
860
840
268
525
368
482
428
727
297
685
151
92
153
359
733
636
980
308
514
875
578
550
579
153
680
984
543
636
131
255
400
993
889
241
151
136
396
622
597
545
822
870
40
851
129
605
750
111
197
391
250
184
120
292
656
685
747
841
876
463
834
517
873
243
178
963
341
882
344
700
233
872
818
81
660
781
464
533
722
917
274
815
49
34
3
68
568
661
760
585
227
815
205
853
726
553
680
236
493
233
776
447
116
370
237
936
442
685
506
614
661
811
697
178
498
259
78
238
782
185
904
480
294
491
434
195
849
618
327
36
111
471
466
168
71
795
307
523
140
488
161
577
171
928
301
675
576
331
748
755
685
599
679
339
265
85
942
401
632
725
535
621
205
499
503
761
557
402
724
823
166
106
999
586
989
673
5
352
389
182
819
219
211
874
509
703
628
972
858
487
805
451
657
104
328
683
8
229
391
573
501
891
366
219
77
941
943
400
264
512
553
641
168
661
676
811
259
126
626
596
33
41
867
776
343
999
481
715
85
871
626
326
414
434
879
997
330
107
332
545
363
306
749
918
305
842
216
384
534
399
881
998
558
725
278
836
186
903
235
293
528
665
533
161
485
357
518
837
276
927
242
314
813
477
970
140
695
379
191
234
98
295
134
13
641
854
187
738
665
904
614
66
3
211
507
341
557
777
397
271
41
795
139
272
70
985
439
969
378
64
157
692
357
612
813
903
315
137
478
272
113
889
940
312
287
876
718
557
735
435
307
812
262
246
885
532
846
562
635
603
619
767
273
57
900
180
988
14
445
313
717
507
344
366
32
505
808
190
672
595
454
144
798
496
811
526
10
697
630
550
439
892
962
346
139
685
429
523
417
674
948
550
921
546
79
343
809
907
557
897
835
911
976
987
950
832
963
380
595
726
423
601
758
287
698
579
167
773
665
687
866
979
869
378
220
929
454
740
590
42
983
218
726
24
299
258
754
758
539
978
902
984
775
883
581
750
494
651
278
457
344
969
200
643
720
701
478
630
161
314
752
666
754
41
230
755
878
923
609
995
757
270
220
916
606
713
728
367
440
363
842
971
588
512
194
951
537
655
945
759
368
57
455
375
990
356
971
402
883
528
256
591
896
118
579
855
661
73
423
656
85
649
677
906
538
417
578
79
653
490
258
65
961
428
718
745
99
285
366
758
323
320
926
522
297
903
991
199
728
467
106
925
67
632
831
165
950
71
201
332
128
471
34
616
718
251
504
513
649
716
330
175
25
542
270
884
472
734
605
118
194
951
607
114
457
347
304
406
67
512
463
800
713
124
331
773
332
753
653
260
246
332
437
567
6
609
406
37
573
939
666
262
510
274
544
134
208
359
810
602
341
843
829
142
693
465
510
223
883
733
401
627
187
483
152
382
157
665
901
463
733
428
815
818
454
9
771
571
811
907
725
806
574
948
485
816
55
372
189
960
745
761
286
230
410
784
711
441
91
843
188
258
799
789
845
997
611
614
876
145
44
884
606
221
199
902
65
470
172
32
389
493
334
480
844
177
188
344
859
64
558
169
439
217
626
736
515
69
884
932
283
768
49
541
353
893
14
354
373
563
97
54
817
261
63
951
781
365
750
167
430
469
616
332
148
560
801
125
810
583
516
679
344
528
244
700
13
114
790
475
191
818
696
138
85
994
437
607
377
581
185
1000
868
750
415
526
876
659
898
534
623
81
180
751
385
12
195
930
962
343
865
917
185
506
901
289
102
1
584
805
89
210
544
321
444
662
989
77
464
876
203
986
474
814
978
702
357
448
402
449
394
614
951
734
460
880
366
503
690
595
338
909
121
612
518
629
193
239
860
657
422
740
658
536
82
645
322
824
162
661
939
461
547
496
840
880
7
152
417
468
165
176
830
350
160
161
286
772
927
641
788
860
200
416
280
738
408
167
513
532
937
536
142
13
501
999
771
441
542
943
511
745
434
231
5
559
397
77
104
218
767
752
181
404
686
739
830
441
854
988
107
560
703
452
740
189
284
263
868
619
643
290
791
925
246
887
416
223
581
348
449
944
929
843
375
779
986
211
533
648
317
289
752
81
18
617
313
150
266
103
643
975
657
696
499
690
603
573
600
152
174
664
462
281
654
390
956
416
499
169
34
836
575
96
98
114
50
270
931
348
647
904
372
352
596
628
640
392
447
100
138
12
907
51
985
546
926
953
613
872
61
883
444
973
420
958
557
221
592
865
646
97
301
790
285
405
984
466
843
722
951
366
996
196
407
989
612
490
65
30
755
886
788
897
176
811
70
444
763
830
571
600
620
596
701
788
396
448
601
186
470
722
984
179
347
226
174
88
200
972
844
133
416
541
322
65
574
561
310
951
293
295
494
217
590
558
989
600
802
43
139
173
936
14
357
818
56
517
286
442
305
595
636
474
986
519
37
25
968
141
391
96
318
623
956
869
506
938
829
256
622
619
534
73
734
891
507
13
906
828
102
436
895
388
923
110
474
261
271
539
957
333
865
724
787
955
862
862
99
722
278
884
199
312
226
109
468
438
119
430
613
343
549
344
982
280
658
952
21
345
217
725
133
556
45
480
791
470
132
32
960
820
818
706
697
974
242
491
679
511
977
371
461
596
586
312
515
208
697
491
71
47
437
90
452
482
518
386
830
745
39
733
867
226
722
345
932
807
345
542
876
438
251
342
707
585
154
365
35
773
870
539
928
638
784
528
108
818
248
438
864
31
882
756
57
529
863
958
131
899
699
640
108
782
908
120
34
76
42
783
823
707
188
632
184
584
122
994
353
27
443
812
675
9
178
61
299
55
6
692
201
777
651
558
168
708
745
643
830
552
124
230
939
196
364
173
510
775
201
421
627
838
16
412
463
705
10
427
288
735
273
85
284
643
313
503
615
495
278
945
599
192
491
743
163
369
787
709
310
683
109
187
232
189
350
666
15
234
693
692
776
936
668
596
809
452
186
578
126
971
961
590
101
318
521
739
936
862
777
432
72
777
699
461
197
731
61
1
920
176
35
245
31
670
905
60
758
425
828
735
338
133
416
587
236
869
784
503
471
101
826
481
75
62
106
934
954
776
209
949
543
933
453
704
456
318
981
623
273
282
406
283
818
810
914
534
318
821
586
601
625
919
715
469
52
49
457
406
305
285
840
38
570
73
858
490
31
908
242
850
878
989
554
79
903
806
489
909
136
519
339
972
107
63
863
369
523
363
614
140
399
282
311
71
579
48
702
465
287
282
470
620
407
467
542
590
757
289
479
136
215
250
379
109
828
166
848
273
49
993
927
328
326
693
542
830
85
379
168
718
724
370
784
362
248
804
377
739
240
564
220
476
897
547
930
580
510
123
828
546
927
118
810
463
561
326
283
9
648
591
595
480
527
974
596
548
387
740
854
977
297
872
781
519
986
643
364
643
569
582
202
815
830
776
878
790
101
20
338
488
96
543
867
610
228
978
336
730
656
295
618
61
505
769
830
866
429
858
973
349
903
133
721
882
742
620
539
834
194
146
60
374
612
1000
545
56
242
926
126
426
214
102
250
303
873
739
491
293
92
18
493
35
195
460
576
493
818
932
322
939
860
807
175
785
962
346
331
323
980
570
930
75
968
244
959
654
670
536
874
594
620
430
365
581
912
589
312
806
309
274
467
71
281
846
422
828
331
828
226
105
323
62
555
357
20
426
257
456
194
150
874
966
256
577
55
569
80
344
140
887
457
117
583
154
537
959
500
848
446
831
490
36
459
475
499
355
550
963
878
140
332
755
139
709
473
855
899
859
152
994
768
924
421
11
782
445
772
572
150
18
962
387
954
225
878
319
33
745
702
242
622
82
836
30
281
725
988
423
733
958
549
531
946
63
461
981
836
749
333
587
980
330
301
909
377
510
169
665
64
976
650
499
855
932
793
820
17
298
856
806
108
116
958
226
921
699
284
299
5
429
805
143
907
559
355
736
815
368
724
995
916
262
906
283
237
835
754
766
690
410
867
441
919
145
941
873
358
679
304
499
20
574
465
894
462
605
548
228
91
470
182
886
217
820
285
477
81
726
160
987
472
115
107
618
428
484
126
250
147
176
788
720
589
930
25
176
886
726
454
494
655
63
485
120
48
815
5
39
23
887
479
636
644
483
627
336
229
257
605
483
365
887
441
857
658
521
733
121
829
462
513
133
480
931
556
835
415
190
746
77
439
856
134
691
1000
528
963
751
26
812
865
92
471
288
378
605
280
436
913
910
490
212
620
89
514
999
408
345
404
383
787
772
197
401
469
148
258
71
815
772
996
838
788
890
226
84
432
44
722
617
271
788
774
385
703
497
388
536
622
736
398
418
215
850
283
425
335
568
115
793
426
190
318
967
931
141
209
524
779
322
537
634
979
44
434
30
880
427
969
850
671
122
928
840
879
706
106
844
5
957
901
644
430
992
870
191
931
186
1
34
381
635
767
253
815
577
973
310
191
405
197
561
977
887
329
570
470
83
834
389
108
344
10
292
633
909
478
577
587
179
467
520
313
934
306
83
523
63
122
90
783
102
50
94
208
132
944
73
369
989
457
422
37
618
777
513
189
235
648
521
649
262
985
649
139
92
635
643
657
620
712
332
416
430
960
250
193
519
945
835
530
162
404
351
513
483
455
463
136
689
392
178
884
323
974
33
84
262
997
152
739
360
455
842
219
761
96
542
620
271
298
888
277
488
810
14
47
942
125
783
508
12
983
452
440
515
190
27
302
372
490
83
678
534
263
208
818
255
244
308
696
689
913
893
700
298
768
907
816
288
409
104
343
995
351
772
209
243
382
145
90
119
17
123
830
787
676
634
604
977
552
308
402
347
862
864
318
789
601
800
27
187
782
347
302
641
524
121
737
379
894
842
849
207
330
670
712
737
135
40
511
62
413
622
122
55
807
194
143
446
492
779
850
562
901
876
616
914
478
182
465
843
370
514
842
210
916
580
303
513
727
917
259
924
889
367
108
770
684
447
194
289
746
139
563
585
823
423
472
941
898
845
948
216
157
349
13
162
217
749
70
275
168
344
85
754
75
183
543
28
39
330
463
646
833
711
62
581
507
762
785
940
963
184
248
12
903
211
59
704
10
514
842
676
38
570
511
518
931
575
19
645
2
974
527
25
148
877
489
165
262
115
71
298
437
942
956
889
845
150
468
92
238
858
603
214
476
192
8
267
55
566
696
973
40
683
682
931
738
592
106
919
575
667
553
388
70
555
999
146
969
687
281
47
615
934
340
820
37
328
466
864
981
322
925
199
274
829
954
205
221
822
303
221
875
946
451
880
83
114
119
454
876
690
582
174
205
144
682
495
989
119
230
199
24
15
911
335
648
367
797
600
876
72
628
861
286
752
63
573
999
276
86
152
913
373
694
442
682
367
361
778
812
506
299
48
61
105
572
749
806
706
268
870
4
599
215
253
920
749
915
828
925
603
39
847
909
192
41
605
637
284
738
344
979
396
903
543
242
195
536
793
863
358
320
440
282
717
388
578
99
344
176
195
712
600
844
878
805
482
66
881
922
775
451
441
828
733
176
487
710
556
41
126
994
558
642
578
813
294
592
914
795
973
390
54
899
182
748
469
663
102
978
191
270
566
194
822
755
553
905
998
852
359
843
840
463
549
441
506
883
960
287
912
131
799
511
721
153
539
740
496
605
849
155
965
920
40
288
472
208
830
173
619
869
954
644
434
799
155
121
28
917
357
5
701
988
441
643
165
155
181
238
792
120
734
917
185
113
918
917
192
938
500
984
374
585
707
304
812
205
5
153
618
842
837
791
561
137
459
867
101
643
501
788
147
414
970
413
247
552
696
245
969
31
560
890
823
386
412
797
451
817
982
22
823
411
151
75
517
577
508
857
658
434
614
887
458
233
455
811
289
860
314
139
160
750
927
387
559
265
134
433
668
3
63
39
236
363
94
820
725
630
392
744
177
225
981
811
49
699
879
719
923
964
420
945
843
250
708
636
76
725
87
901
255
341
845
255
156
127
767
96
682
790
123
603
142
125
384
172
692
206
27
546
721
702
696
437
716
401
432
740
214
871
675
940
14
546
555
149
81
281
779
819
249
142
137
524
356
488
409
59
906
197
805
657
498
317
645
899
41
708
907
117
65
876
496
128
638
975
294
41
366
418
644
731
747
228
994
831
322
465
999
418
703
146
65
420
884
285
605
287
556
713
44
574
934
989
780
16
87
347
77
306
654
536
389
334
883
417
798
628
868
264
422
234
590
764
900
292
785
582
764
913
641
712
343
775
302
133
292
282
378
445
501
5
815
504
485
250
22
746
730
898
860
511
768
465
332
178
440
463
237
716
447
972
494
122
420
383
989
498
167
596
180
768
58
894
146
260
521
400
151
937
150
920
31
477
80
301
32
218
710
368
365
536
62
608
126
414
800
645
720
640
435
555
492
832
943
280
270
859
143
498
830
381
933
663
519
881
917
766
862
198
334
954
321
708
549
93
460
35
735
848
386
579
792
740
18
235
18
919
572
296
77
847
841
93
31
40
716
809
65
156
897
320
707
905
773
443
810
304
998
714
666
959
928
944
812
750
131
413
627
726
536
286
221
307
200
138
105
318
862
293
824
367
63
61
551
457
480
835
490
303
248
795
319
215
423
159
875
112
352
828
157
881
29
778
415
521
390
915
113
98
116
700
543
138
484
849
185
966
706
445
884
312
458
344
151
135
414
152
622
429
130
177
678
878
709
811
198
745
311
692
422
198
49
256
968
165
116
468
432
255
730
410
195
925
586
59
146
258
275
968
327
4
41
280
503
503
903
506
187
706
63
511
361
109
321
483
92
731
155
202
984
253
159
887
945
425
175
191
151
16
392
320
674
152
668
840
463
894
701
566
632
996
695
458
872
953
972
287
365
4
272
600
661
146
213
161
8
823
847
305
351
421
28
171
479
480
241
633
129
603
475
372
607
931
285
199
761
291
830
516
388
20
157
799
307
506
595
155
96
567
515
86
984
336
567
531
204
89
189
324
942
365
225
607
900
808
940
869
959
848
92
646
541
986
495
138
829
884
555
945
243
466
192
120
697
815
946
646
331
248
433
714
727
570
648
649
107
214
350
298
218
714
506
574
958
313
304
311
338
308
80
651
808
341
988
140
861
65
465
433
775
686
950
751
775
255
81
537
757
754
709
160
204
787
395
212
178
381
517
777
998
166
480
335
440
165
690
293
320
618
934
447
888
807
319
809
137
490
480
204
642
27
624
802
348
632
513
294
396
720
512
644
922
677
673
343
266
787
818
463
903
242
7
47
204
647
75
908
549
754
436
470
200
285
701
430
45
157
880
776
157
873
619
721
737
122
802
629
1000
960
597
249
275
94
588
228
36
193
373
197
713
924
893
60
895
410
169
956
904
130
262
868
525
593
99
348
35
69
784
343
425
48
517
105
306
118
26
136
477
447
563
907
725
412
389
722
655
180
730
785
12
210
193
336
761
42
902
918
959
971
953
348
358
663
231
768
685
365
142
994
899
405
172
925
268
121
167
733
727
614
599
941
565
984
588
640
458
125
807
741
701
61
167
496
612
375
129
784
666
634
457
640
257
213
867
614
232
193
216
919
687
665
251
966
553
636
213
714
421
468
292
836
71
732
878
166
353
770
862
509
2
794
829
725
979
497
364
725
597
212
805
152
407
401
872
885
58
2
431
329
747
316
882
1000
140
12
273
680
309
81
823
308
447
711
375
68
339
645
328
28
763
341
985
564
600
777
22
68
193
599
619
83
281
233
98
814
527
865
740
895
653
190
29
126
284
756
894
960
60
863
184
103
579
363
200
77
955
621
493
365
985
257
186
231
973
423
732
314
225
576
226
612
159
237
538
630
867
990
470
715
450
965
519
94
21
76
210
864
984
518
231
952
423
178
719
862
80
239
604
682
721
530
940
706
40
418
497
428
327
9
12
969
820
239
270
218
734
34
923
293
41
662
630
463
434
521
659
736
780
113
542
884
608
231
779
818
874
106
390
523
369
206
795
740
606
450
508
353
712
535
855
700
749
428
525
790
853
145
276
487
605
307
312
153
798
499
303
997
407
197
904
772
133
335
995
181
380
679
980
450
868
224
877
958
324
135
120
511
998
382
285
853
107
590
905
897
75
520
689
130
62
60
494
171
213
43
397
34
324
566
481
42
974
14
368
384
665
898
679
296
192
776
953
314
902
131
19
642
412
861
833
547
601
280
788
577
54
558
259
863
771
768
61
687
247
319
730
683
760
675
770
855
158
100
329
130
546
773
354
386
530
138
266
642
977
604
988
535
246
483
367
633
318
406
989
663
921
785
568
441
54
513
807
22
254
20
226
237
149
650
267
405
923
644
949
887
835
870
544
75
224
107
643
805
880
35
691
352
937
80
341
724
91
33
130
370
425
733
233
246
619
537
150
139
857
347
655
671
918
866
937
978
895
996
358
748
523
528
185
560
482
844
378
929
19
555
478
939
969
745
486
924
313
820
289
262
307
581
854
909
221
967
988
387
748
668
326
537
650
585
321
353
66
360
863
174
671
160
160
5
314
707
532
553
53
65
315
940
173
341
765
541
612
365
247
61
823
22
561
809
937
120
733
619
663
603
719
752
443
544
304
661
633
408
798
779
339
159
429
167
383
245
5
789
926
964
247
878
315
386
933
3
95
97
553
817
624
6
663
232
920
689
892
297
974
811
170
967
563
838
418
31
3
65
822
395
527
773
92
19
422
837
189
785
451
64
39
168
573
971
464
955
273
392
664
337
153
559
185
817
668
754
258
903
801
985
852
71
848
206
814
117
289
558
771
695
758
797
876
626
618
403
279
946
419
1000
836
763
158
336
294
206
316
776
152
343
698
128
763
775
321
109
113
320
573
212
775
30
591
306
692
567
978
349
105
383
253
789
108
194
225
489
830
841
81
785
295
292
204
457
817
720
950
441
200
913
80
951
829
521
837
229
531
589
867
321
356
68
75
427
572
757
11
1000
298
565
847
671
29
1
532
214
427
256
123
654
460
70
91
176
415
406
691
213
513
332
234
340
249
673
477
283
175
789
402
430
776
469
187
301
158
361
328
508
469
670
816
243
488
156
250
689
746
501
87
434
239
506
777
783
259
858
895
171
253
601
362
975
354
130
538
650
786
433
458
762
371
768
114
870
262
348
945
314
935
77
514
44
659
204
43
93
943
92
429
572
61
780
55
795
583
31
579
68
444
26
234
660
24
352
378
166
720
468
778
603
514
381
740
378
16
597
578
618
328
340
890
763
936
987
902
174
778
322
1
807
992
100
679
398
549
287
129
985
759
728
508
441
212
76
509
478
305
850
61
896
275
853
455
397
847
248
672
522
201
761
618
450
505
990
147
335
276
412
370
429
665
76
151
917
944
827
240
455
430
922
37
11
762
9
890
695
708
881
516
330
884
225
791
810
173
520
799
228
965
171
750
108
564
521
902
3
416
175
642
169
956
225
915
910
411
684
315
716
322
861
454
481
66
477
368
26
95
688
35
245
482
783
27
837
865
881
506
115
692
550
139
76
985
125
940
523
120
850
229
990
437
220
691
297
811
258
524
755
54
229
661
248
677
795
172
719
174
381
219
303
767
816
719
866
596
513
440
563
61
965
230
948
769
702
171
64
968
392
191
378
200
586
684
688
346
305
33
717
470
519
897
922
922
227
134
801
317
533
314
347
147
971
986
867
935
539
191
386
583
336
614
686
774
246
47
46
440
283
609
753
27
212
79
839
145
159
713
915
321
555
920
651
542
602
461
682
960
732
858
391
7
848
597
114
100
388
573
890
338
859
827
770
464
545
939
23
541
820
917
800
90
177
361
836
691
594
541
809
913
579
996
407
871
362
565
293
499
917
49
630
989
988
539
778
730
603
207
178
178
323
297
878
903
930
489
868
518
448
972
228
771
846
429
62
300
55
704
425
21
510
786
961
622
8
166
463
778
817
578
279
63
517
568
688
321
111
595
576
329
88
778
369
106
753
631
290
944
773
963
144
470
104
108
213
991
700
28
714
174
243
320
40
219
345
968
356
27
676
23
67
138
262
603
653
397
582
850
220
11
30
933
852
473
590
791
81
870
655
777
869
323
310
547
319
916
427
784
552
833
493
397
224
234
489
224
995
93
182
724
784
776
479
381
122
547
644
695
620
887
25
892
299
357
522
508
179
939
420
602
715
104
335
246
438
705
621
983
148
40
23
174
800
397
811
805
657
328
142
100
744
928
150
296
306
507
680
688
82
107
918
368
983
359
846
451
543
962
508
69
459
550
317
34
370
197
678
860
148
564
532
122
870
524
758
926
131
474
316
291
174
463
427
686
638
555
381
844
855
256
8
311
677
488
79
610
856
945
279
352
621
174
592
664
848
985
976
255
474
787
262
404
889
729
515
873
628
465
829
524
311
755
187
938
639
134
4
609
124
847
702
185
828
391
546
773
764
592
509
638
690
319
500
618
712
851
269
719
435
340
674
448
290
990
605
873
400
445
94
273
799
470
15
27
499
557
971
465
584
372
434
217
747
674
728
934
697
396
296
805
860
148
283
261
527
277
5
861
164
406
285
862
786
125
262
611
553
932
353
763
51
998
763
365
910
431
390
712
793
493
746
97
429
905
798
864
855
858
6
329
72
626
90
79
518
714
602
668
626
433
667
832
556
277
794
449
24
684
401
283
255
304
581
758
128
647
139
135
32
773
56
116
504
34
415
775
504
82
699
679
547
115
207
556
699
41
448
751
268
583
249
628
547
881
43
588
670
663
461
530
169
715
732
116
833
683
758
338
444
167
689
69
349
84
17
187
248
173
261
826
66
389
936
1000
747
209
807
551
116
739
284
149
37
226
268
245
378
234
767
819
736
889
81
30
325
348
340
388
3
993
543
510
200
221
570
60
546
692
154
735
921
402
985
871
181
290
576
360
983
737
745
915
171
80
323
674
507
237
881
900
588
451
144
715
272
585
201
707
725
759
609
39
191
633
739
582
634
310
32
804
429
566
475
345
379
821
604
362
155
410
244
718
766
180
58
647
235
829
409
299
319
882
166
221
710
91
17
601
420
104
247
397
165
730
946
403
750
85
42
171
959
245
662
907
181
693
166
73
228
631
752
216
620
376
272
461
541
781
737
577
371
270
356
500
209
59
680
152
798
519
421
371
843
837
561
909
67
95
693
813
477
426
698
497
938
150
878
999
104
682
190
611
71
524
966
767
913
304
361
777
106
529
929
665
540
262
822
553
277
48
460
28
264
763
424
545
739
663
796
994
660
33
953
642
51
934
207
741
346
425
751
558
867
683
727
820
882
916
364
139
635
353
733
165
287
16
485
200
886
642
102
651
148
474
500
110
831
393
983
468
484
525
333
597
303
780
269
691
75
529
795
212
743
974
8
550
654
69
604
99
112
62
297
793
152
50
918
838
30
398
325
598
560
364
845
137
389
311
44
693
253
197
185
380
650
955
727
510
468
334
243
133
480
633
236
459
621
234
275
74
793
820
253
725
614
902
914
912
41
980
425
188
192
465
318
257
445
58
322
346
197
580
688
691
514
579
405
429
197
613
456
798
101
393
391
541
501
689
564
268
789
536
529
942
211
584
207
849
444
711
526
964
113
832
455
563
912
330
193
857
569
727
795
153
925
516
76
855
454
126
746
960
229
516
311
320
629
830
471
510
747
355
111
490
47
408
174
484
773
374
433
224
581
818
849
7
78
869
57
102
563
512
939
326
592
94
290
177
46
116
502
409
398
549
947
188
96
472
777
847
145
848
804
906
706
659
726
317
371
641
823
910
202
187
2
646
370
604
911
766
760
95
773
441
5
68
624
177
471
115
37
227
731
162
669
755
109
374
530
947
864
999
496
766
472
128
81
956
748
790
118
484
838
642
801
309
624
442
467
989
38
676
625
888
564
291
516
411
395
797
306
407
665
382
229
202
852
139
813
975
477
245
608
600
71
979
133
507
290
666
613
626
544
320
785
847
970
497
637
228
104
791
591
583
391
937
39
853
893
592
370
950
140
183
703
867
348
580
442
409
5
775
297
885
287
891
397
645
159
847
887
943
230
506
710
830
654
876
40
637
375
424
789
501
424
10
194
775
246
649
829
368
510
540
366
442
666
426
297
618
486
110
399
56
569
595
642
655
364
183
338
229
731
514
451
342
62
119
880
303
146
268
83
324
829
942
80
441
956
541
619
995
930
811
903
865
561
358
135
194
274
9
848
850
149
290
960
336
23
869
365
987
935
72
737
24
983
213
591
848
879
799
169
1
479
504
119
229
297
832
816
757
123
495
942
379
829
280
884
691
535
835
250
867
246
252
938
331
422
601
205
23
430
194
106
163
931
719
786
390
826
248
122
672
774
311
982
441
327
294
887
983
538
297
43
841
6
9
671
451
564
22
810
734
943
195
872
9
526
245
48
317
308
457
393
650
806
22
68
119
1000
278
379
138
962
491
922
810
956
192
956
187
186
441
794
805
769
416
932
655
371
341
8
206
58
805
625
287
499
227
147
599
141
317
47
793
168
251
159
410
24
327
93
660
201
792
725
520
40
38
138
448
507
614
168
148
226
397
135
70
639
973
596
214
446
260
392
683
282
403
258
299
217
270
229
255
458
983
996
778
991
641
62
172
284
517
557
317
675
591
502
323
659
600
601
916
908
953
89
695
182
486
119
42
420
121
883
119
861
99
113
386
500
815
944
898
141
702
312
496
733
42
432
643
977
804
745
790
254
19
581
809
851
580
645
389
201
570
486
662
908
666
627
898
651
937
182
205
252
431
715
188
761
771
62
721
845
497
726
782
285
409
815
506
261
508
552
466
54
494
374
301
604
404
378
384
199
441
12
741
643
614
93
663
845
324
628
469
670
359
163
303
76
713
845
700
908
95
747
490
122
632
942
495
218
113
379
570
107
901
65
229
110
969
544
264
172
407
310
563
811
407
838
595
849
249
972
836
489
707
160
868
56
440
749
113
116
535
876
909
463
803
953
435
142
187
413
510
309
553
912
696
191
878
164
537
737
268
809
97
743
120
332
77
659
777
786
380
256
325
116
770
53
616
111
343
726
675
303
274
712
644
45
272
546
356
63
17
351
709
345
33
13
371
194
9
758
535
744
886
785
832
616
362
202
625
108
146
919
378
10
267
18
12
210
523
431
265
250
120
806
901
924
84
556
648
305
930
762
518
530
819
108
559
322
801
792
921
331
910
735
226
441
204
494
492
21
4
809
137
738
317
651
504
798
296
390
148
470
922
551
244
12
47
178
328
292
485
309
684
953
767
587
669
419
643
446
323
99
429
47
988
780
586
89
841
383
907
532
604
212
107
785
746
352
672
18
96
200
562
697
403
966
979
328
431
833
798
211
188
364
85
635
812
904
182
708
334
520
317
338
401
869
876
991
606
169
54
979
3
69
224
680
146
340
929
523
104
554
97
258
909
671
679
167
199
366
11
126
864
784
13
912
473
54
499
695
292
619
673
113
58
408
793
162
656
921
600
476
374
908
176
42
237
661
519
61
918
438
406
498
362
967
132
634
769
224
964
325
407
337
1
949
399
479
748
723
350
319
915
464
682
493
822
858
1000
44
769
542
997
37
91
544
744
141
960
317
413
711
1000
15
307
583
4
856
676
268
686
881
864
675
341
792
640
703
509
816
686
485
830
108
599
424
617
242
509
295
113
434
181
334
2
403
220
89
545
705
929
261
897
129
393
514
519
260
655
931
856
719
246
696
329
800
325
170
414
338
48
298
120
844
475
662
321
905
268
564
509
26
347
364
800
614
916
94
793
515
40
543
350
843
279
57
758
957
512
875
314
163
356
635
308
323
707
829
417
493
936
41
122
718
293
625
804
386
373
648
635
205
996
994
829
968
290
359
19
451
877
607
311
780
513
34
173
17
585
859
350
294
800
278
177
679
651
774
808
567
792
541
6
648
587
232
497
3
508
514
965
476
200
434
93
891
31
267
678
796
401
9
854
208
774
885
713
485
552
894
101
68
714
553
66
156
5
69
435
412
744
872
692
402
892
119
894
955
877
54
265
367
2
585
346
546
785
461
992
513
209
478
224
202
40
166
703
8
191
83
199
245
298
405
736
824
675
583
96
543
108
288
302
346
709
63
947
548
148
329
721
767
939
992
488
916
264
152
106
964
383
470
958
258
485
142
621
415
975
559
980
342
438
249
654
598
34
587
807
396
722
775
214
434
339
651
6
886
605
495
720
435
658
818
102
783
399
776
724
982
315
69
524
723
685
431
343
8
491
928
314
759
446
904
177
723
827
846
968
348
957
249
347
75
98
179
614
695
144
315
81
120
166
138
452
739
494
727
108
757
823
965
418
697
826
693
279
501
16
307
400
534
92
489
108
18
187
234
300
38
97
399
973
746
239
90
427
504
74
913
983
956
758
683
47
395
312
105
622
153
447
312
752
98
39
955
107
965
848
897
261
639
966
161
901
746
216
517
772
776
627
845
304
728
46
602
951
539
126
995
764
74
585
109
266
70
191
558
591
255
409
199
646
171
599
499
312
637
978
709
853
17
109
873
800
590
97
561
264
105
979
216
867
41
889
205
228
11
131
373
509
913
279
365
213
463
842
841
142
216
667
873
23
750
977
60
440
614
860
616
459
245
595
205
562
726
902
911
91
544
366
391
435
346
680
627
583
234
977
374
874
231
109
155
986
419
258
918
464
485
249
448
798
473
768
273
249
6
316
906
138
72
541
957
551
646
814
504
114
599
683
747
307
755
176
446
391
785
458
912
803
277
575
335
5
468
487
138
149
317
510
713
799
689
509
701
515
324
321
595
784
690
798
644
314
41
237
316
613
982
382
91
302
287
276
914
369
969
433
859
791
362
646
230
522
544
801
977
863
912
147
608
51
863
823
217
247
564
907
420
229
963
234
149
78
408
395
398
739
811
849
369
15
480
698
134
843
974
385
621
465
38
869
890
142
281
531
90
832
501
828
2
669
123
612
669
859
509
166
106
8
948
425
908
335
685
488
335
462
614
491
63
901
889
979
848
224
682
804
983
53
524
629
396
593
272
5
675
441
167
298
989
252
751
561
579
180
662
232
575
69
915
980
437
911
30
369
44
224
609
398
492
55
988
191
97
119
637
862
894
72
887
361
685
852
558
372
583
104
937
175
561
615
978
404
689
337
988
814
629
59
748
663
806
694
484
47
257
129
24
365
131
492
633
615
682
51
136
648
117
749
255
425
103
254
676
176
89
382
985
353
859
4
826
203
715
381
660
937
322
771
335
380
512
129
997
847
699
835
482
570
213
343
507
213
552
908
571
193
739
699
699
563
999
661
284
709
395
422
742
281
34
418
354
983
50
444
985
316
359
379
845
800
391
988
121
586
999
387
102
613
495
826
850
175
831
857
973
553
82
443
852
721
130
229
486
666
125
716
65
650
955
175
787
506
201
259
416
968
980
564
641
333
633
336
381
718
541
193
529
660
221
359
408
948
793
763
621
763
874
776
646
286
791
817
400
172
102
918
735
281
933
252
308
591
800
568
775
909
720
546
294
64
940
686
380
534
333
350
321
1
925
444
433
243
528
99
88
563
179
957
897
404
213
667
308
240
386
216
113
909
757
895
434
271
405
578
857
642
268
408
668
30
239
235
9
584
104
224
396
382
919
764
824
360
656
854
483
441
828
205
180
706
792
502
724
446
990
490
778
205
256
194
408
176
444
492
631
245
462
879
413
144
444
912
445
993
558
410
986
371
75
997
581
698
74
393
947
779
333
443
453
594
897
695
338
198
458
791
681
509
217
285
125
577
781
18
21
250
823
790
765
254
266
817
380
305
79
640
873
707
21
655
935
443
178
862
613
494
452
705
142
165
788
161
448
497
50
990
135
547
784
598
669
946
636
51
7
921
861
745
314
132
237
563
879
108
764
230
845
442
530
791
209
178
216
823
889
713
359
743
233
668
839
200
832
902
632
516
567
807
701
484
456
791
185
378
120
379
722
299
144
531
255
361
536
195
476
916
629
26
988
413
911
535
673
787
629
316
498
685
83
419
368
114
588
119
549
812
111
451
198
508
349
572
980
747
842
690
659
110
951
607
431
900
105
875
282
737
166
630
679
956
136
540
694
444
666
752
690
951
38
234
170
105
820
777
243
917
302
565
360
143
607
623
481
156
590
221
48
693
91
692
707
198
563
314
66
70
662
687
78
894
732
520
916
329
793
948
297
677
6
823
992
82
520
44
923
757
91
114
595
197
545
929
56
897
895
584
223
412
690
237
589
880
549
209
349
183
429
250
604
935
216
230
70
427
70
270
682
305
638
919
882
809
28
796
826
824
950
605
734
58
461
434
847
589
714
444
237
562
646
331
414
6
715
469
637
191
582
487
554
992
884
509
343
707
494
670
571
700
284
143
296
409
16
21
63
411
956
200
202
533
556
442
903
484
774
928
718
244
712
239
803
673
81
146
383
485
113
889
214
598
712
702
661
239
874
952
542
287
792
326
524
105
407
400
769
805
685
648
319
848
195
710
279
807
630
248
904
793
632
416
728
243
567
128
306
86
93
306
214
248
466
608
9
481
91
490
408
960
193
363
284
562
245
553
375
79
666
450
991
61
981
549
562
740
202
846
638
80
859
768
331
957
912
106
956
386
98
896
621
631
953
984
375
816
423
105
293
596
789
113
25
781
459
79
914
64
953
818
419
630
602
720
629
163
886
740
89
846
668
233
962
831
532
461
522
60
763
461
902
245
660
862
765
142
191
641
711
926
511
806
610
331
5
217
347
742
935
214
467
207
332
746
42
468
567
443
993
938
306
635
405
111
929
656
376
259
431
406
345
590
425
6
547
845
583
745
857
848
652
23
575
293
480
663
762
790
534
129
860
790
690
942
992
706
135
876
876
123
667
331
138
410
80
598
85
928
521
739
920
482
969
692
347
820
730
260
390
735
548
354
642
298
507
324
607
772
533
870
801
825
268
499
467
623
937
767
920
88
285
302
703
733
558
306
803
189
599
33
724
153
941
962
407
303
431
394
245
450
866
108
595
727
437
464
471
890
637
99
266
477
273
312
227
256
421
92
505
806
526
958
753
134
991
656
936
464
305
909
274
87
63
897
686
227
94
992
219
974
648
605
793
399
235
535
640
474
813
225
926
993
841
322
538
366
753
684
891
283
155
387
459
479
858
413
822
759
794
287
175
93
332
939
265
57
665
40
395
601
805
16
520
530
660
138
298
498
821
626
654
550
546
276
729
953
436
922
569
570
245
110
105
428
497
218
419
197
602
204
419
189
132
492
586
273
18
818
17
412
365
849
79
690
945
735
971
128
37
374
708
932
108
338
6
924
1000
549
744
564
243
96
200
314
914
491
235
93
921
690
289
345
852
98
930
772
680
443
759
635
310
950
875
958
989
819
382
638
882
827
572
671
187
422
278
850
151
438
783
828
173
929
499
14
735
958
584
985
651
857
597
683
387
54
342
121
716
46
731
105
920
510
865
42
642
43
264
679
649
910
236
163
114
742
563
57
960
36
215
444
227
186
940
545
177
736
919
961
831
848
870
863
987
356
786
372
340
85
672
516
184
978
301
69
534
493
999
614
169
871
732
358
852
178
670
175
706
768
32
314
817
903
820
735
639
392
890
715
359
743
891
609
405
174
768
303
541
984
217
369
198
896
226
159
238
581
66
72
930
977
635
43
403
143
157
846
689
219
846
966
146
636
96
488
582
471
915
694
474
165
336
520
68
978
980
453
664
480
144
102
683
395
990
439
776
640
427
587
742
540
750
83
597
547
670
200
377
65
130
126
518
663
759
554
844
950
969
343
581
700
645
582
245
888
712
335
940
937
658
869
648
392
583
103
849
641
885
830
700
773
786
141
368
728
503
965
845
880
536
916
468
609
992
495
615
882
501
502
693
656
816
261
672
851
734
431
336
364
525
323
251
775
637
579
860
478
415
22
669
763
683
575
339
118
301
430
798
165
434
441
535
922
433
860
644
926
181
124
863
481
799
631
669
316
548
183
610
494
417
889
758
20
701
960
645
134
313
526
450
691
614
332
81
934
126
342
387
789
462
832
694
719
981
407
106
132
919
678
910
124
656
409
156
699
570
373
824
400
925
61
853
256
840
664
396
519
948
180
726
928
958
590
811
626
581
859
372
855
413
373
306
168
962
726
304
588
555
593
349
424
302
866
848
651
961
12
969
856
697
205
729
567
787
631
214
281
812
350
630
36
305
423
759
602
788
579
42
976
820
198
610
862
989
418
648
289
431
27
370
488
253
644
110
429
20
180
219
764
730
427
9
360
775
916
830
796
244
738
733
665
79
380
148
515
714
431
720
562
654
193
12
692
332
621
686
258
973
884
589
771
153
50
323
712
639
96
276
856
735
107
12
32
550
576
918
542
413
266
816
180
924
633
62
859
546
453
970
932
183
586
878
174
798
862
914
319
507
61
789
422
490
323
219
939
680
476
613
451
741
493
228
989
362
377
608
245
356
887
706
657
524
497
753
745
984
344
924
888
108
394
100
161
816
613
293
373
506
902
155
537
530
939
131
483
477
193
760
676
261
806
974
411
122
751
195
294
443
890
875
265
500
573
343
739
50
870
328
129
471
512
86
323
877
472
112
551
940
331
797
661
809
410
200
348
155
630
450
549
885
224
574
172
272
423
287
687
746
842
673
220
960
411
507
775
561
715
236
22
805
686
675
79
555
850
10
965
930
467
57
792
887
498
270
440
361
802
40
689
624
31
892
731
864
814
710
440
883
943
372
406
652
424
840
389
369
233
392
82
373
241
376
481
771
192
428
57
725
633
201
485
77
437
404
592
325
330
184
835
293
728
366
922
897
473
115
864
782
834
847
678
695
347
260
117
357
198
387
573
288
77
611
799
70
522
947
921
483
184
48
631
298
799
727
193
199
129
374
101
335
834
894
238
540
85
728
637
574
295
851
472
767
676
519
720
620
292
616
629
915
418
598
585
671
630
973
770
420
262
783
198
371
669
732
862
718
768
658
635
456
924
993
212
247
972
662
587
540
94
981
9
67
355
872
628
540
117
975
78
647
206
545
886
611
435
230
864
95
54
985
77
711
161
909
763
885
49
915
178
126
814
469
874
703
218
676
69
234
58
487
209
613
875
71
887
73
781
378
653
624
872
308
796
424
176
801
906
62
503
52
134
856
49
199
989
880
454
119
762
854
577
306
989
37
820
746
466
219
876
642
159
603
816
635
777
264
999
412
215
467
674
418
209
172
270
24
915
961
727
740
175
139
803
202
721
866
599
806
951
47
310
416
4
780
940
910
979
372
863
346
465
988
376
509
459
943
976
749
753
619
843
931
48
66
525
248
313
393
978
969
311
686
407
120
197
406
569
881
27
152
167
547
157
241
406
494
337
642
786
251
650
696
338
525
515
19
531
770
711
486
283
896
90
701
458
186
149
713
206
572
495
307
848
159
633
990
356
926
961
988
14
664
181
7
77
480
549
605
171
688
465
779
908
660
833
901
327
705
148
509
802
887
509
532
324
346
247
993
54
705
855
188
380
528
705
321
481
800
814
310
374
863
731
458
136
455
862
589
336
174
123
635
756
662
372
505
323
272
352
245
872
540
246
803
120
458
468
843
609
884
617
554
373
28
497
223
343
484
154
99
4
61
417
602
43
306
410
127
94
149
656
834
562
62
188
662
36
84
484
85
711
221
912
643
996
503
440
436
812
858
220
891
732
138
34
787
255
205
444
589
65
52
64
100
363
656
657
736
898
416
168
606
842
835
142
1
263
905
865
563
920
118
776
712
545
883
935
573
894
196
913
851
413
522
211
457
448
96
199
210
995
148
186
579
424
524
351
981
881
536
163
765
318
906
927
766
768
821
775
641
507
555
690
425
314
235
808
821
890
661
733
735
357
9
797
365
888
707
567
52
237
565
790
961
149
186
811
518
587
179
552
96
803
924
421
744
138
295
380
860
342
885
272
168
565
606
744
465
46
553
894
853
138
188
599
250
400
29
698
931
234
995
681
881
779
402
206
638
601
995
453
548
118
877
242
295
646
174
889
59
264
7
681
865
457
72
701
54
240
157
187
440
501
714
775
805
306
482
717
886
889
307
371
366
745
598
993
441
323
134
246
677
591
677
753
410
721
667
468
121
400
156
490
58
477
995
416
118
668
157
914
729
728
412
60
798
653
859
444
133
334
327
359
368
677
327
802
963
947
410
645
578
472
880
947
536
423
501
669
748
561
240
449
4
905
38
821
172
915
569
664
392
54
946
342
845
501
232
814
364
467
103
595
458
869
63
780
823
287
133
730
680
482
925
785
708
688
336
536
551
413
838
606
685
506
321
136
453
928
773
964
552
381
987
405
499
833
443
435
412
491
419
726
536
890
758
693
289
290
483
434
788
936
688
954
374
240
312
669
265
886
492
178
297
520
686
714
132
233
467
697
317
954
533
531
985
808
693
240
184
525
350
811
78
103
13
536
160
225
288
94
736
524
172
864
59
111
351
563
765
61
317
711
940
794
452
544
551
364
163
766
150
689
746
719
18
322
946
679
63
26
126
599
323
550
2
469
326
897
271
237
986
227
449
203
861
287
567
745
253
425
981
296
544
356
673
621
42
399
967
928
320
477
856
668
180
700
941
986
909
493
431
691
351
292
162
42
263
293
644
32
553
654
523
60
900
636
677
222
712
973
220
770
567
834
197
936
338
148
277
509
973
532
792
14
483
387
358
279
47
379
939
656
669
786
777
211
215
467
7
66
851
260
385
964
281
286
262
957
374
462
834
447
743
435
420
736
616
901
686
312
67
848
400
195
174
467
423
332
617
881
786
598
844
647
125
754
409
633
9
6
56
473
536
880
394
4
113
699
171
518
665
3
37
926
107
288
105
547
677
470
485
378
620
614
773
169
681
947
315
762
347
933
358
44
580
742
232
981
866
736
759
691
493
10
717
256
107
2
584
639
411
748
526
128
584
141
185
704
765
860
546
383
513
400
730
611
630
189
195
276
213
190
314
481
587
736
247
442
841
515
190
15
461
345
209
797
205
857
317
983
391
945
605
963
767
347
678
594
759
778
961
516
705
766
18
833
745
498
690
320
180
400
960
439
409
100
144
599
253
501
708
326
980
119
573
586
911
39
588
8
26
69
990
619
764
319
668
365
352
646
3
22
840
588
643
406
122
906
932
758
601
940
970
936
664
865
603
465
172
996
439
564
865
409
960
903
870
148
101
716
579
184
631
292
560
406
36
697
810
839
197
124
429
910
420
886
752
29
212
90
424
532
158
729
947
431
281
260
589
908
282
863
229
594
552
773
198
734
427
649
314
932
24
335
801
660
118
438
4
738
19
103
646
684
640
47
442
548
821
819
615
341
675
86
125
255
524
142
393
465
476
604
298
829
603
492
755
172
10
331
811
706
360
14
818
817
534
924
531
24
721
806
168
766
948
116
691
599
876
6
661
719
601
729
195
252
169
440
903
65
612
478
184
627
92
509
812
509
683
774
538
335
502
756
751
138
826
480
708
496
129
267
793
484
811
905
103
870
255
663
347
158
760
544
278
229
734
722
326
779
10
452
352
488
968
305
634
982
405
887
21
187
832
583
280
794
52
729
349
143
348
23
581
701
585
100
475
174
973
865
874
375
630
763
176
158
853
184
833
283
157
443
716
498
488
420
893
81
915
286
914
489
114
518
618
162
436
203
116
317
680
693
287
683
497
261
434
401
877
626
265
465
533
684
757
127
670
678
92
311
282
862
322
882
635
847
388
390
419
987
17
606
951
497
156
431
792
290
994
299
891
819
547
932
308
905
773
77
963
280
319
168
945
142
819
591
420
850
648
83
994
546
247
984
790
696
852
854
725
262
2
739
868
393
47
269
931
966
533
154
654
651
570
910
792
906
466
450
890
781
829
968
446
308
399
91
749
791
998
440
751
297
258
634
644
954
86
926
254
116
340
829
44
969
926
551
595
486
889
954
574
154
61
89
548
786
342
504
813
989
250
239
866
288
347
790
484
932
209
462
578
513
587
610
236
631
620
62
980
511
192
700
200
182
605
97
976
31
988
65
251
320
474
290
955
735
978
265
949
813
393
957
836
303
618
543
258
144
403
324
810
554
172
46
960
795
445
484
949
943
301
231
655
325
430
327
398
223
747
644
635
901
821
5
929
988
895
396
19
656
318
347
647
114
687
27
34
808
539
198
117
319
91
138
243
360
826
83
924
474
229
911
963
20
372
422
569
577
677
638
815
702
772
666
451
576
30
186
777
592
448
352
746
619
717
487
432
327
814
359
628
471
618
140
785
711
801
18
797
96
932
138
767
479
145
426
697
815
498
194
666
492
617
400
286
423
982
990
310
907
766
560
148
105
986
7
586
736
213
140
351
351
79
273
562
543
825
190
273
292
518
136
238
16
267
640
656
181
737
785
215
528
339
986
677
415
946
741
957
470
105
349
981
519
155
80
681
766
868
357
770
639
14
531
990
424
331
880
875
107
153
984
855
443
590
300
537
866
672
953
955
797
213
598
362
959
228
905
544
37
140
825
718
113
730
731
434
147
409
812
666
604
867
434
751
684
958
839
580
894
170
598
997
914
144
10
66
114
61
104
260
89
820
482
356
951
948
585
934
24
537
949
116
400
559
199
349
894
870
93
35
279
171
297
948
411
915
271
607
252
545
511
96
421
80
78
628
949
684
613
322
892
67
541
314
909
799
869
422
137
405
225
52
627
688
288
145
384
449
503
650
848
735
727
223
15
983
742
431
970
879
129
999
285
730
449
531
480
923
17
199
434
594
95
494
300
449
983
102
419
380
147
132
611
249
182
332
215
747
427
65
630
279
922
971
38
818
863
13
325
79
875
615
9
609
530
870
538
879
801
137
633
425
578
890
92
616
353
315
626
444
101
245
124
432
5
308
117
679
304
544
830
903
939
318
47
540
667
626
296
219
809
127
798
678
126
788
881
21
865
469
820
469
871
160
938
169
71
242
937
632
391
797
293
202
52
983
132
74
78
126
498
260
992
745
85
479
898
258
918
547
438
759
283
796
134
153
890
864
251
332
43
813
89
879
637
920
513
376
416
747
153
841
837
83
75
806
119
616
848
14
592
866
626
894
701
12
257
192
399
232
437
67
1000
542
37
542
520
722
758
141
916
568
809
517
43
687
110
874
475
919
684
33
129
943
286
877
824
300
656
132
447
2
31
613
365
194
11
99
857
357
768
340
835
684
36
84
448
580
59
807
478
548
22
21
352
597
843
137
920
436
959
302
331
534
395
851
827
118
806
967
973
547
753
713
285
728
744
1000
974
459
286
606
780
412
909
863
95
387
820
262
503
163
769
862
813
776
502
247
553
458
725
70
556
203
445
731
392
655
173
65
881
473
667
315
120
639
781
811
970
328
591
744
931
138
327
232
462
990
295
493
90
167
730
465
98
835
729
986
74
841
705
893
551
102
17
985
175
557
635
771
295
665
967
164
657
364
523
803
904
444
601
889
642
665
998
381
704
743
465
309
144
320
982
592
662
645
569
415
129
81
236
709
534
507
633
50
609
942
183
560
853
816
208
169
567
187
571
803
606
721
106
372
916
786
590
49
307
714
24
670
528
889
674
2
832
892
597
543
591
722
359
509
840
801
448
675
279
145
208
753
174
802
311
89
3
631
415
628
452
566
416
839
599
386
872
646
494
152
764
514
485
45
182
107
263
118
422
802
672
961
418
246
258
734
442
972
655
732
843
313
572
984
432
379
639
441
169
182
947
23
735
863
825
854
735
232
941
718
982
502
559
500
207
962
299
766
911
396
869
888
1000
13
739
982
412
705
279
149
953
68
238
287
452
336
932
926
792
725
399
232
442
349
471
877
233
45
902
230
245
557
567
680
511
344
291
971
461
554
878
249
260
166
175
302
663
464
341
179
558
702
680
872
478
697
100
478
910
876
968
320
951
12
561
811
282
259
11
661
692
324
728
628
429
624
991
494
664
724
111
85
260
663
124
987
477
447
37
490
858
606
943
882
607
39
606
822
226
666
30
243
368
223
153
738
331
493
349
651
735
490
991
112
798
836
353
456
474
932
390
291
560
677
541
397
562
416
119
144
951
677
456
828
638
122
916
710
63
115
198
234
255
836
21
521
664
180
892
595
88
85
939
149
350
31
788
831
606
165
750
121
708
720
220
305
289
572
488
567
845
87
473
308
411
220
665
505
906
895
219
114
470
489
616
439
792
629
963
640
478
644
301
461
286
32
271
216
723
85
274
893
995
560
263
599
522
957
629
120
675
531
11
757
515
645
344
388
163
363
582
422
226
246
962
50
15
537
882
979
225
2
182
932
230
401
996
621
200
912
42
168
264
683
907
733
839
316
937
548
995
48
357
769
559
782
550
593
673
181
952
458
349
652
404
991
397
160
744
800
499
809
649
750
255
214
478
874
219
890
569
312
725
523
131
643
928
83
335
298
51
41
38
297
516
401
858
680
893
835
935
408
1000
907
549
599
703
363
887
522
325
457
728
890
274
187
916
542
150
977
887
680
591
348
779
337
377
760
923
825
982
429
38
234
186
670
695
33
368
553
400
429
588
662
625
353
450
287
956
588
840
939
986
835
222
547
844
801
766
938
4
901
652
80
683
943
782
735
699
12
832
320
812
943
627
412
253
469
179
237
546
792
403
675
230
172
716
15
299
230
796
252
998
743
140
680
721
474
924
677
622
219
669
359
109
436
431
322
655
346
875
697
712
108
635
243
147
340
860
182
268
983
454
888
232
521
328
90
580
349
453
859
996
584
875
972
44
815
316
241
992
404
361
135
4
785
122
752
208
146
733
959
563
883
688
95
856
457
121
231
909
797
464
56
462
189
121
281
426
917
77
965
742
316
916
897
516
728
420
277
553
918
469
113
486
857
738
262
987
707
868
768
792
332
373
208
802
778
846
819
238
74
791
969
753
147
196
52
169
615
160
109
668
908
300
240
325
558
768
446
259
928
615
190
965
219
113
989
365
970
60
147
509
652
855
330
377
797
537
112
238
435
472
419
844
564
565
960
453
482
873
186
547
866
698
715
794
194
118
655
508
470
384
541
572
475
298
54
389
892
85
852
79
761
235
458
236
582
544
31
852
576
143
40
919
493
279
986
358
207
963
745
314
309
430
122
8
39
704
648
834
734
203
723
502
439
969
273
449
618
977
906
972
874
752
16
335
658
808
271
383
712
670
378
975
568
204
851
976
878
514
978
393
473
368
613
407
417
839
62
48
224
149
479
480
502
675
877
306
965
622
295
669
290
400
559
951
502
665
311
613
514
481
615
530
347
517
987
49
247
462
217
18
862
569
478
935
879
539
563
626
114
410
751
644
894
863
966
284
370
523
488
331
555
697
50
575
585
498
483
347
161
277
555
575
270
817
936
893
517
116
109
825
194
646
628
403
845
54
436
918
569
11
742
174
99
694
48
867
236
500
933
527
648
987
193
110
103
785
302
745
258
613
458
819
423
984
928
508
823
836
209
47
905
885
317
736
667
493
33
781
590
835
524
42
587
743
503
101
934
89
730
35
593
818
638
692
849
431
87
596
377
597
352
558
719
194
845
340
353
644
461
766
358
76
116
368
490
533
619
613
230
303
733
814
375
304
172
949
73
267
624
304
214
642
725
622
796
640
325
197
896
964
489
965
94
903
682
273
25
152
692
882
345
880
789
853
285
446
482
814
750
626
721
666
35
358
18
530
846
945
759
882
892
168
216
715
344
97
124
601
231
336
463
557
121
329
75
28
11
221
828
418
647
171
525
491
531
980
884
94
662
395
649
411
590
256
858
242
731
445
645
88
378
66
828
816
567
342
373
363
590
872
181
748
784
351
673
859
156
51
271
165
684
609
297
12
590
654
624
500
823
883
869
135
239
351
944
389
553
103
276
821
204
350
27
869
597
881
888
829
365
511
868
338
868
533
779
575
582
436
311
965
476
34
74
661
267
307
740
444
760
149
869
809
531
117
80
263
261
827
545
881
335
234
945
136
631
546
604
607
334
126
919
732
79
473
459
156
695
803
297
522
552
865
407
171
126
814
970
358
425
652
50
671
54
729
639
54
683
386
723
638
435
872
722
113
520
578
816
888
85
31
745
763
882
316
924
414
411
464
490
489
315
260
749
3
881
297
70
903
119
162
510
633
168
251
886
300
673
260
359
816
657
667
912
340
89
290
17
750
173
379
726
892
764
715
794
115
790
899
325
499
166
616
475
595
640
889
870
377
9
412
69
528
54
733
634
797
500
139
123
693
752
865
395
971
881
545
573
505
152
914
679
793
918
52
321
244
685
916
145
948
174
207
183
54
38
99
628
849
681
702
856
346
253
816
578
600
501
601
909
198
344
177
135
363
544
398
169
245
803
664
618
596
422
793
880
256
692
489
451
452
771
70
363
470
213
989
817
592
306
148
396
764
723
643
21
92
842
342
57
980
726
757
547
800
648
653
62
830
255
21
300
113
144
411
815
773
6
37
136
336
637
2
175
85
46
552
338
806
819
494
702
530
264
545
298
345
75
831
527
857
922
469
167
504
438
121
287
938
990
19
193
181
990
393
970
950
158
584
275
650
85
703
561
389
523
17
540
590
759
673
716
927
849
977
945
695
776
338
740
331
751
848
761
810
271
839
856
734
820
941
179
310
42
860
686
494
797
772
180
97
16
886
176
942
102
805
108
635
51
27
370
441
600
290
429
820
878
340
434
974
933
259
270
465
563
102
361
475
241
243
387
678
55
800
26
455
312
659
961
214
687
998
22
788
578
96
99
536
206
503
491
832
4
727
84
650
362
178
555
239
872
682
194
54
495
996
862
714
298
98
211
793
855
704
222
184
400
325
353
547
400
768
739
693
350
495
209
104
21
106
900
381
465
362
204
515
155
28
652
922
752
18
30
250
318
790
565
733
56
303
533
384
482
166
643
78
491
820
572
439
271
814
408
449
629
676
960
987
128
550
611
621
428
405
998
713
563
874
648
342
194
459
762
538
117
416
89
143
373
866
826
950
553
13
627
71
443
138
646
445
585
721
329
436
234
984
862
123
847
424
258
469
569
999
292
455
800
998
823
256
45
286
749
475
325
683
543
380
385
264
401
982
614
925
726
157
986
415
766
335
607
626
219
309
593
425
885
248
647
688
171
741
517
848
414
394
354
526
418
773
652
751
544
325
107
521
357
831
36
902
375
198
715
199
719
76
479
917
250
159
65
869
486
21
541
983
537
313
285
20
827
742
87
612
194
33
590
491
722
767
316
275
481
625
134
834
462
551
626
360
187
733
608
397
891
569
872
802
357
856
782
934
603
375
525
827
595
238
816
103
285
758
139
746
455
754
352
355
481
647
153
452
391
236
440
278
648
9
733
982
145
137
484
374
194
688
278
297
566
757
626
526
108
699
352
840
458
604
960
991
559
856
381
97
422
752
356
177
908
532
572
371
873
582
382
642
247
591
116
992
854
184
358
332
363
480
317
99
863
592
337
276
346
227
110
407
265
574
848
890
696
334
63
907
12
694
126
506
104
623
71
172
687
96
588
279
18
654
662
219
812
847
992
6
727
691
858
906
645
685
5
133
313
29
518
787
321
183
394
155
443
363
452
963
201
315
897
911
289
467
249
885
983
128
533
126
746
799
596
528
481
910
79
200
291
851
91
302
657
850
443
362
769
473
118
28
440
436
310
224
973
983
234
571
472
310
175
576
601
817
288
652
627
309
342
237
520
452
740
211
674
234
777
428
463
188
497
276
837
277
773
50
250
790
512
945
674
342
110
431
393
711
847
627
395
438
501
595
508
177
525
350
198
621
38
160
574
640
414
734
253
652
355
669
454
165
192
415
300
272
938
127
111
753
821
553
117
680
291
743
24
453
595
592
474
373
577
584
502
377
834
481
808
71
754
709
300
274
46
825
419
376
842
264
206
221
804
770
138
414
510
230
28
564
184
696
798
499
357
119
381
686
236
622
985
940
922
242
133
827
873
347
234
940
871
487
74
163
647
616
196
381
360
620
583
859
575
704
512
838
175
881
15
258
952
483
196
679
58
52
829
859
42
671
78
159
993
616
185
536
981
518
594
575
202
369
937
872
609
720
504
463
437
927
928
486
113
217
165
484
889
577
345
545
525
607
450
106
327
700
49
573
884
506
666
856
227
355
481
80
521
320
286
235
801
776
793
270
937
168
171
468
453
643
11
970
68
508
44
177
452
501
442
920
992
510
171
468
535
674
35
892
826
525
876
487
280
388
839
159
142
96
777
214
831
747
133
42
304
651
313
470
382
310
350
69
967
159
379
523
620
456
806
369
397
490
839
355
698
847
705
884
527
158
789
931
86
577
951
698
921
475
236
598
541
934
749
493
540
367
454
826
288
65
969
238
938
416
298
803
663
807
535
792
432
31
227
139
563
182
666
945
787
981
825
462
39
267
765
271
837
832
401
380
700
357
617
684
477
611
314
681
454
462
430
222
861
218
414
507
898
827
919
346
323
702
29
430
465
490
149
39
383
184
957
43
856
880
434
825
535
556
749
725
861
182
817
464
903
674
393
298
554
174
65
174
436
713
554
486
624
891
745
784
944
29
931
957
824
50
668
259
160
525
614
565
322
544
572
10
997
551
269
85
333
276
768
354
42
381
843
298
637
218
595
252
657
327
474
546
166
349
658
551
109
332
576
686
852
1000
995
360
965
572
199
315
36
210
364
624
455
107
890
898
654
160
915
380
790
420
409
798
982
783
999
208
248
496
267
713
235
3
147
135
978
100
835
969
524
56
740
229
925
252
267
734
389
437
6
244
588
687
766
653
674
762
580
141
201
363
336
852
201
699
718
536
363
425
81
429
597
540
843
832
693
194
718
723
527
897
328
169
196
839
938
327
971
601
30
961
78
305
140
394
665
257
285
39
382
175
838
921
848
977
718
812
909
761
575
766
496
735
533
698
557
42
87
251
856
580
113
83
728
858
469
910
171
745
213
795
217
384
403
327
214
829
391
276
777
68
452
498
201
694
633
137
259
877
513
706
985
40
293
151
616
256
849
824
211
579
73
656
724
375
262
374
254
272
715
358
817
307
274
483
320
72
884
200
536
390
76
619
1000
686
353
783
344
339
495
225
721
544
690
175
583
115
37
283
802
261
414
312
136
950
959
738
583
144
159
994
428
52
6
381
851
254
488
497
225
239
747
867
817
337
26
317
69
146
819
742
694
658
363
219
109
627
736
571
675
536
958
802
486
90
637
369
511
733
225
751
788
795
698
603
75
885
622
146
225
321
818
207
681
403
844
471
664
117
930
845
13
746
295
332
939
906
477
735
558
629
996
234
717
187
446
172
957
544
705
676
57
835
772
178
140
254
763
244
502
575
547
472
327
271
229
884
529
849
67
876
269
2
757
756
897
403
399
275
180
410
677
114
398
81
927
602
318
629
513
419
246
17
479
607
715
518
746
89
791
159
204
728
280
307
579
517
618
305
201
123
638
838
574
398
142
311
414
116
14
760
399
567
205
914
688
723
245
497
505
582
828
378
570
971
690
347
185
473
661
324
124
323
275
401
440
816
534
651
217
856
883
878
296
173
230
589
805
99
225
966
174
327
8
366
618
523
3
444
248
626
237
548
347
962
493
880
69
290
288
990
680
489
650
408
829
841
532
65
857
998
548
593
244
622
442
764
351
86
451
660
257
294
646
898
637
668
482
102
836
322
23
643
715
919
363
206
580
1
924
53
74
215
139
711
867
734
328
961
575
476
750
59
226
299
506
537
232
607
946
158
575
249
37
91
923
65
225
885
710
663
396
953
96
388
242
823
581
512
643
480
471
861
574
474
493
545
552
162
978
636
725
308
197
747
802
931
954
425
790
259
191
625
595
427
850
155
289
902
291
972
643
103
418
940
179
824
473
726
214
294
208
28
237
384
403
143
847
292
10
49
475
29
183
431
758
168
759
52
874
236
937
621
757
889
158
857
62
692
788
904
73
801
634
889
838
788
552
898
983
660
105
631
5
754
798
96
386
446
347
904
464
898
405
525
479
30
470
217
368
926
153
862
132
145
783
35
307
329
630
958
643
607
794
855
908
203
468
294
154
991
406
324
570
303
458
561
936
910
51
136
69
177
162
625
957
680
187
643
319
790
360
283
3
252
604
377
680
954
838
651
55
598
245
814
965
5
525
876
267
285
50
891
841
637
579
36
708
781
41
364
587
462
931
803
274
665
628
284
792
726
12
838
632
409
697
338
198
150
925
675
862
443
626
352
823
902
674
315
218
622
98
934
539
166
70
149
843
772
232
665
718
461
758
116
480
757
596
519
983
386
825
214
161
704
57
432
399
691
181
298
64
694
472
82
724
552
340
7
76
221
932
943
194
599
452
910
393
22
477
329
9
792
895
57
387
722
175
124
799
239
743
540
563
891
19
482
964
772
847
881
558
683
812
51
418
368
606
514
118
880
463
730
186
425
104
616
329
921
294
76
363
131
33
512
816
787
956
184
416
785
900
409
375
836
716
127
228
489
587
773
127
881
269
746
853
144
957
300
980
579
168
468
31
788
516
478
630
544
49
581
92
532
629
90
514
984
76
934
120
973
640
860
645
891
35
202
375
34
901
201
508
507
151
732
828
883
949
194
657
499
803
706
568
810
157
155
72
845
129
305
422
747
79
632
965
782
890
775
622
743
38
201
575
927
31
285
755
291
479
298
398
202
445
691
882
889
330
924
821
311
297
327
748
510
101
724
307
16
768
747
309
833
194
38
483
671
807
12
521
426
636
919
849
147
460
235
362
834
673
961
865
277
904
272
652
493
396
73
396
914
854
776
586
193
280
795
31
787
231
179
712
210
583
335
148
541
916
416
41
88
808
997
164
38
792
848
844
811
914
458
276
578
179
154
337
246
835
566
2
555
965
111
259
760
312
628
111
424
813
759
249
641
80
579
328
632
541
137
120
160
214
434
409
512
953
528
973
364
741
238
774
298
452
684
875
314
447
782
906
311
411
498
978
786
794
925
721
856
359
229
938
961
330
929
852
196
556
169
43
350
888
579
714
858
931
364
641
585
561
174
966
735
387
876
799
510
190
935
495
988
166
179
588
65
734
757
993
881
343
924
716
232
108
850
627
847
365
687
323
122
531
990
436
826
392
427
616
800
60
267
707
755
352
141
160
176
657
786
371
994
709
616
883
606
396
89
342
204
930
170
392
47
410
747
874
697
337
690
448
878
168
929
333
711
606
165
355
155
59
113
969
806
432
24
420
14
377
481
727
575
302
292
284
214
157
43
97
80
676
60
813
291
114
585
958
246
81
268
588
488
189
504
515
202
523
413
198
210
239
692
449
567
184
710
322
764
304
861
114
70
11
326
968
119
497
169
213
824
577
384
164
620
219
145
149
371
852
713
308
143
976
963
242
945
385
934
415
388
575
19
443
680
328
800
281
645
643
119
917
293
675
706
253
407
363
493
877
608
325
429
262
857
399
674
203
356
872
698
662
820
477
746
863
856
173
803
566
17
137
633
562
87
979
898
450
553
276
134
630
833
942
270
233
917
979
120
210
591
607
727
53
5
534
40
478
46
173
674
111
153
40
77
826
952
834
532
330
753
968
232
163
60
721
668
97
722
557
815
876
740
595
32
266
918
383
243
559
103
199
928
975
80
33
372
455
359
474
913
871
134
340
174
822
428
204
736
738
978
670
649
65
855
764
451
594
55
959
393
106
18
236
48
285
160
690
580
49
395
586
518
38
805
767
74
812
960
49
746
288
671
34
699
446
662
322
204
788
420
100
27
757
241
514
910
814
459
759
252
875
172
764
781
358
331
957
859
884
372
839
820
252
40
253
251
812
424
606
443
867
484
331
899
940
366
708
735
163
719
615
818
217
689
144
336
8
650
41
443
989
347
453
598
673
586
302
459
203
845
536
566
467
754
747
402
918
384
897
596
938
429
120
890
298
912
221
948
949
125
755
950
211
530
488
628
61
703
333
892
911
831
517
56
665
115
125
355
127
526
567
617
906
295
383
782
736
477
732
824
872
454
36
716
567
860
750
197
417
243
615
456
233
172
679
763
854
571
684
869
36
32
812
833
460
640
836
290
543
416
676
279
715
297
762
525
594
756
60
250
2
71
57
553
207
951
7
169
209
549
42
363
464
930
242
283
387
801
560
177
307
48
472
1000
51
192
723
240
701
848
353
973
656
571
178
139
973
584
335
248
48
945
794
927
880
874
849
998
887
565
777
261
832
293
444
432
756
715
513
514
232
316
302
151
706
642
783
836
981
830
298
470
772
320
919
64
210
159
840
959
621
98
948
174
292
457
966
847
704
357
290
732
539
343
276
881
647
596
430
698
10
744
622
582
563
135
573
211
695
6
838
20
212
685
754
963
148
364
624
426
92
793
424
873
208
939
858
910
593
155
808
48
943
134
884
487
296
566
788
271
980
962
282
268
994
257
704
853
938
923
306
974
634
197
190
403
564
136
375
938
273
262
723
720
459
673
263
650
822
423
287
111
615
224
545
310
909
679
948
218
387
913
58
984
463
295
711
582
257
457
474
535
108
410
697
166
582
32
773
99
447
840
683
164
829
114
591
457
119
857
947
35
231
420
749
867
626
252
552
820
924
854
854
823
797
826
497
861
467
710
547
28
340
846
417
3
541
962
913
711
438
201
987
127
394
936
876
816
620
490
917
222
906
189
817
81
178
753
259
984
754
278
375
51
187
68
842
514
757
987
405
280
395
503
330
251
980
184
177
262
668
263
189
261
641
491
945
183
599
520
650
859
195
659
541
419
584
471
609
309
838
293
160
43
156
368
761
459
394
175
455
862
642
736
692
814
392
299
534
566
983
54
416
87
240
738
120
478
537
120
775
865
146
209
56
541
189
564
280
69
855
23
290
73
907
184
552
925
808
72
212
251
59
263
737
777
951
932
176
107
152
423
803
975
435
197
707
955
159
301
319
146
590
251
694
338
81
5
813
547
525
111
638
693
252
547
98
559
20
593
114
268
785
662
34
70
864
931
916
193
950
982
458
197
112
787
962
978
298
486
802
305
460
688
605
996
717
326
912
103
359
132
512
896
50
303
260
556
870
476
948
890
749
835
664
511
67
312
71
697
541
524
581
462
173
44
774
78
314
229
614
685
854
275
13
472
590
139
441
705
127
371
120
151
703
160
750
866
797
509
497
297
446
915
932
486
275
760
643
183
358
789
585
427
924
982
80
719
876
161
634
719
816
815
389
943
807
824
776
625
958
720
482
839
727
286
548
659
856
694
772
515
604
613
846
402
789
506
502
893
573
103
884
462
327
970
693
821
858
211
466
486
873
585
875
712
49
740
565
27
230
645
408
147
306
29
871
456
433
175
17
358
757
9
814
662
376
845
847
800
177
192
447
174
726
678
658
490
344
465
437
853
540
459
784
26
83
774
734
118
246
805
353
163
293
176
961
316
932
440
575
364
57
94
946
144
957
634
110
624
845
205
523
927
436
901
554
676
212
771
655
499
704
920
470
493
271
184
78
731
717
921
754
381
692
50
308
480
54
612
654
414
227
745
223
429
733
625
171
535
356
564
838
416
757
89
465
78
913
703
870
881
386
184
507
786
960
176
297
101
252
69
321
949
964
701
784
305
102
171
66
226
1
178
290
647
125
851
425
576
366
574
315
664
449
996
845
116
626
803
404
532
651
386
977
226
629
235
724
85
417
647
267
408
591
22
131
438
520
515
296
594
845
949
212
231
32
800
408
85
285
453
316
910
625
582
253
405
884
162
567
875
690
953
993
260
933
935
17
945
552
303
32
721
103
50
936
828
289
143
762
362
592
844
985
744
553
764
460
691
711
524
702
239
324
685
581
179
695
765
868
839
611
181
78
809
170
503
841
982
427
451
473
331
751
313
469
89
40
112
122
30
289
671
162
666
526
277
679
518
732
966
343
611
928
67
967
293
869
338
529
280
24
475
800
983
452
608
936
270
817
314
521
270
80
191
944
245
796
661
861
934
546
369
876
170
778
525
459
527
15
854
774
900
278
887
822
703
210
186
528
210
986
710
999
992
723
424
882
594
933
89
897
365
691
263
709
510
497
649
505
14
334
247
688
546
948
435
522
329
757
177
853
748
324
247
405
951
759
556
38
77
672
231
95
400
943
21
327
343
323
686
624
648
234
294
578
408
98
726
608
120
877
160
739
263
222
618
329
75
267
381
738
506
147
493
258
89
819
447
137
69
462
601
704
412
327
715
377
143
274
555
669
325
371
789
154
536
576
284
449
830
423
111
277
469
73
163
45
917
207
815
400
703
11
569
376
470
943
321
222
846
616
285
412
376
708
881
286
51
17
443
784
668
614
967
718
756
603
381
107
498
284
717
763
272
647
23
384
751
765
359
842
44
844
257
889
873
73
535
271
819
465
333
59
133
565
868
743
603
570
520
697
67
526
497
560
555
604
439
934
37
984
205
931
319
886
552
55
974
234
495
870
777
238
517
148
843
944
506
599
177
30
708
647
416
244
794
608
273
414
402
574
459
24
358
697
888
333
377
500
720
848
693
669
464
169
547
557
78
66
879
774
537
96
606
451
394
64
149
355
919
28
610
443
293
254
201
362
88
997
719
612
318
162
154
519
420
427
600
857
545
603
157
341
307
29
38
13
692
65
154
447
109
390
326
241
327
714
473
729
247
751
64
386
265
922
471
818
375
371
729
239
648
125
732
509
273
637
625
389
568
366
247
108
825
724
438
385
660
89
856
976
969
463
442
629
994
965
539
715
45
567
232
355
398
770
614
338
344
244
92
68
423
885
479
622
192
172
580
242
814
436
336
99
132
928
441
878
479
445
875
614
885
692
383
825
35
433
969
146
262
348
536
990
500
573
896
555
385
899
602
761
334
355
231
280
79
506
89
143
863
403
109
920
798
659
425
551
285
791
793
28
669
235
734
798
651
962
690
616
463
178
707
545
585
166
902
552
746
545
308
152
556
758
171
471
131
15
276
834
265
417
656
435
243
883
480
981
675
889
596
849
623
617
881
180
890
703
169
329
94
482
298
217
680
901
328
601
920
101
681
728
961
654
623
443
217
958
100
487
829
234
840
289
518
565
705
598
165
826
111
625
341
918
890
689
816
688
837
98
933
379
156
380
57
125
604
13
811
66
630
93
929
813
277
714
686
896
85
6
252
574
120
406
314
82
784
639
688
532
259
927
760
652
324
18
703
367
458
330
570
590
877
534
350
14
100
807
965
159
237
978
729
845
205
513
665
94
93
481
502
950
362
651
273
616
471
96
445
205
921
278
542
480
709
42
795
436
306
698
520
370
914
803
40
496
440
811
737
115
902
471
118
1000
315
912
988
709
241
344
550
951
249
1
791
111
573
784
23
454
691
733
981
225
617
819
154
849
153
107
208
145
56
383
808
433
813
122
788
206
493
233
575
820
110
41
781
222
793
305
1
608
940
190
901
504
998
497
515
460
760
865
984
279
911
37
915
781
49
619
983
435
116
761
566
982
450
801
117
135
490
282
132
987
371
370
64
594
644
748
459
127
923
953
497
294
246
85
729
307
983
531
592
827
736
242
773
633
638
536
17
138
362
369
616
53
33
41
97
465
927
480
349
262
551
611
719
78
250
312
732
936
186
33
972
264
345
412
263
997
399
623
80
396
246
404
508
842
164
147
252
715
78
215
443
231
366
308
830
793
840
149
63
749
632
390
143
495
782
190
825
380
942
943
618
172
439
520
72
580
561
113
886
564
158
10
712
738
532
105
375
390
799
916
479
513
167
459
639
978
561
501
406
970
243
97
743
270
909
447
546
18
273
779
685
331
909
562
955
315
999
745
264
376
249
623
51
293
142
944
525
287
873
354
518
496
803
443
153
943
160
917
266
351
425
160
560
58
164
952
66
345
731
973
713
84
159
210
852
380
869
113
919
386
802
5
767
704
116
532
373
600
745
658
216
660
826
261
39
710
994
612
77
371
49
91
586
851
154
641
196
320
175
184
62
26
325
883
158
304
230
504
156
155
570
413
329
72
933
297
331
700
68
990
134
691
25
356
462
173
698
72
273
575
143
486
254
586
297
366
857
615
865
211
403
946
663
14
982
964
816
899
362
686
101
309
875
716
499
632
517
156
254
171
76
117
628
483
476
620
70
798
229
892
936
193
412
895
526
608
513
979
238
677
475
543
736
380
873
714
555
772
828
286
584
914
776
570
639
283
898
683
494
791
363
803
529
634
810
950
980
654
931
605
932
624
319
664
420
501
286
863
320
490
118
973
243
442
907
590
572
698
64
127
645
616
888
372
510
275
497
269
241
556
262
279
877
388
669
908
782
467
860
676
117
736
722
131
301
688
479
17
682
105
84
155
925
79
23
978
53
470
886
921
87
703
855
576
858
544
384
459
325
294
335
439
409
326
822
300
247
861
804
238
734
725
584
901
89
332
92
958
503
458
334
733
510
49
558
247
259
449
593
437
693
260
366
112
405
942
266
993
795
416
959
884
620
998
841
759
752
253
142
881
81
91
954
733
464
205
81
797
541
799
800
686
567
600
639
20
229
785
123
411
715
892
229
8
66
948
288
606
820
924
334
917
284
525
946
891
50
745
750
669
128
371
32
253
651
805
898
961
749
452
570
586
648
716
156
366
403
624
353
135
414
908
799
658
981
638
420
339
242
55
202
883
267
618
739
403
707
268
856
237
413
405
375
273
275
150
543
938
706
850
39
562
933
674
518
966
922
391
700
757
754
437
347
726
268
354
622
941
543
720
90
706
816
468
22
359
239
587
338
945
802
234
452
528
977
600
213
130
852
818
624
690
513
457
586
54
565
858
305
903
187
180
148
1000
602
499
844
495
561
320
1000
181
591
248
908
721
816
905
847
944
200
761
206
642
568
889
491
52
226
959
216
77
400
254
956
589
670
779
598
92
762
281
630
258
407
246
527
842
386
548
882
538
744
721
530
635
601
175
455
238
999
982
102
597
900
816
148
720
42
609
740
383
877
805
705
371
839
20
179
635
795
412
61
149
918
661
639
580
624
552
340
983
862
671
439
159
175
482
994
153
744
485
18
23
127
556
717
521
662
924
826
791
596
221
71
478
368
335
750
627
529
90
381
394
881
939
846
353
834
710
669
548
218
75
420
36
745
554
350
902
76
775
793
384
571
168
553
121
376
874
349
155
59
515
708
826
239
180
141
294
792
522
544
45
261
909
75
202
128
255
83
467
308
64
703
532
962
260
20
529
796
863
369
955
90
391
498
985
70
838
608
59
260
7
886
232
779
260
332
327
37
889
910
262
173
467
98
793
202
714
330
992
598
555
789
668
799
123
71
317
505
158
841
94
290
529
155
789
357
687
742
264
998
117
761
99
712
214
583
556
790
270
340
602
631
646
223
138
607
794
689
949
607
889
289
740
761
919
16
413
910
568
972
844
585
667
764
128
585
133
857
379
38
633
177
946
90
592
655
864
945
676
765
820
272
111
538
969
855
908
709
386
421
682
6
496
816
172
434
854
264
68
114
261
256
863
448
346
556
498
743
945
16
59
282
228
630
910
722
83
426
79
546
711
798
583
417
713
869
580
811
553
915
445
408
74
604
34
941
7
670
353
674
443
156
599
158
664
912
743
688
925
712
810
871
961
677
695
458
453
641
869
751
779
170
58
312
758
587
315
179
1
151
479
502
616
78
566
600
392
346
753
780
921
257
355
540
708
31
437
631
556
846
940
935
906
71
495
994
679
164
603
310
870
72
586
256
841
34
836
570
362
882
351
331
356
750
13
274
276
178
840
20
956
444
726
294
539
176
656
378
610
123
250
224
428
128
107
537
193
157
130
618
605
614
856
873
20
578
851
742
473
736
545
266
418
373
603
300
76
995
138
39
674
267
426
185
328
758
988
20
424
229
281
781
697
444
188
706
443
587
820
755
724
742
189
128
380
936
517
768
2
831
927
204
333
629
567
39
324
550
390
678
39
687
793
766
813
703
52
408
363
532
278
391
833
339
522
54
194
820
551
96
116
996
387
243
262
330
953
860
916
594
40
972
868
9
429
145
889
365
354
404
112
867
529
618
322
577
110
952
762
251
678
681
390
78
250
778
831
629
464
372
236
491
832
121
84
947
685
752
373
684
726
997
129
472
475
401
443
169
367
222
445
45
828
648
171
200
310
934
90
977
164
732
348
497
634
177
365
893
389
318
780
158
835
119
59
21
295
596
631
502
875
286
254
677
180
7
96
453
590
715
406
444
824
113
614
211
733
670
447
597
314
647
912
326
454
812
97
376
162
765
98
290
27
113
554
377
423
810
400
247
171
879
719
377
631
543
823
444
61
495
717
639
142
435
411
529
727
752
738
333
215
967
395
331
162
776
861
217
830
851
95
496
402
78
918
247
995
881
181
935
434
93
491
788
973
24
21
289
849
763
294
831
207
700
488
489
388
160
311
950
60
354
946
212
754
327
764
457
452
636
234
653
250
922
621
246
597
78
400
360
577
353
707
663
159
45
837
908
3
24
23
522
626
500
62
656
226
703
458
91
954
108
425
424
522
226
206
358
633
8
547
400
188
980
296
758
482
296
560
87
407
622
65
921
352
736
515
716
109
491
910
362
877
553
401
183
988
868
230
975
913
422
267
157
399
657
513
791
345
86
256
67
183
214
823
192
42
788
276
370
103
862
655
482
1000
701
534
292
637
798
896
753
531
592
864
42
372
415
7
79
315
576
901
412
618
953
486
257
633
315
669
818
163
877
441
651
80
896
940
323
995
193
934
424
143
923
285
733
327
357
398
968
479
59
56
238
992
804
341
242
289
978
889
421
318
505
915
891
17
779
734
48
766
98
405
856
875
40
260
233
626
238
2
16
961
535
378
176
455
145
983
303
658
742
281
955
861
511
170
350
254
836
643
341
323
549
794
222
915
875
976
369
279
498
899
943
50
740
755
150
7
501
744
379
347
100
661
666
479
629
421
935
169
158
835
515
947
605
589
435
144
176
691
400
951
113
187
530
593
31
654
630
269
801
684
883
951
196
919
155
851
801
740
230
740
162
910
858
196
320
893
386
535
35
935
91
784
559
920
889
520
935
858
430
637
127
253
680
638
886
728
74
53
792
85
14
225
926
557
285
849
888
24
81
119
511
68
554
956
769
361
900
625
949
135
246
103
350
469
64
690
221
609
460
957
91
310
911
911
755
780
657
557
798
73
525
571
900
163
206
389
21
338
905
9
553
877
307
260
667
799
386
887
73
603
182
169
52
299
426
765
816
873
530
588
761
993
160
515
315
102
514
779
156
93
694
729
40
92
474
603
527
675
32
643
675
580
166
374
304
791
951
922
310
4
884
121
279
485
404
109
443
358
2
725
576
834
997
873
415
243
768
849
156
637
878
54
374
961
769
897
880
304
694
176
272
602
431
903
956
167
740
854
299
337
605
110
761
894
264
587
175
306
812
996
518
473
196
203
378
175
80
871
171
386
904
871
925
209
469
618
261
167
873
793
352
947
717
287
190
208
459
361
770
782
57
409
861
860
267
824
29
660
331
126
810
850
549
364
841
598
179
421
652
261
649
471
838
298
829
590
468
422
576
801
113
344
973
138
263
425
900
619
36
928
585
773
97
36
177
879
653
853
632
206
563
512
504
419
40
218
857
316
826
520
184
317
880
709
190
774
691
36
539
417
246
659
232
897
540
712
486
536
198
587
314
354
993
706
520
788
654
996
752
776
954
867
472
251
904
70
47
272
612
810
114
983
872
592
774
651
974
776
178
969
498
311
481
236
455
683
375
669
526
61
563
12
728
632
671
181
680
26
364
151
909
556
12
785
61
342
464
527
329
878
542
276
438
988
817
365
584
818
449
527
393
111
835
516
32
679
546
938
755
770
568
356
530
292
797
424
545
863
978
43
826
116
384
320
772
202
586
421
155
174
346
108
176
720
228
645
514
604
849
715
826
717
819
647
148
577
149
799
507
897
983
921
829
31
285
116
348
990
422
684
435
444
234
54
745
197
248
837
239
504
859
689
364
339
677
219
667
853
587
453
690
535
196
785
548
267
610
68
903
589
40
184
621
9
725
30
185
855
600
98
468
925
491
755
808
346
169
108
168
590
942
237
674
449
859
380
330
641
143
217
602
907
979
409
723
26
418
106
633
716
601
842
675
581
250
99
852
732
393
203
287
437
231
703
797
532
125
83
848
871
818
160
261
4
688
836
257
187
688
296
615
629
830
652
5
906
936
114
622
119
63
359
582
581
354
246
685
786
94
449
6
215
536
83
661
935
882
760
908
30
939
771
722
534
616
99
743
449
557
911
161
428
414
499
550
147
551
699
886
985
647
930
231
639
599
611
984
907
558
622
795
79
269
99
598
54
861
559
753
277
281
1
391
426
559
517
612
913
731
701
610
541
474
627
463
239
995
564
812
75
460
116
867
962
588
912
737
824
295
661
871
869
728
545
918
172
815
96
167
274
714
741
446
727
246
6
319
526
315
226
413
439
274
222
295
872
365
933
397
405
168
53
129
498
275
861
716
395
207
27
724
349
359
228
905
923
558
532
911
499
516
521
900
868
502
458
131
451
887
404
138
237
905
246
849
897
131
780
705
639
619
803
345
69
42
224
244
5
356
415
438
553
997
196
294
765
763
693
30
813
887
334
432
486
301
439
61
555
231
968
56
257
630
894
937
860
197
318
817
267
545
669
448
781
108
546
330
404
131
998
307
992
294
936
991
713
783
255
178
339
631
251
235
906
13
234
744
59
634
680
355
371
641
745
199
955
828
762
910
698
254
465
351
751
528
657
365
509
306
806
543
492
790
441
62
454
787
796
349
361
188
459
33
867
57
11
582
814
742
866
590
308
795
398
420
511
648
152
231
509
358
65
880
587
247
37
474
29
225
678
641
633
635
686
474
640
823
453
197
378
731
54
99
109
927
80
576
520
317
390
203
347
682
186
731
524
715
112
846
886
769
177
52
758
766
154
558
861
217
884
277
370
695
315
268
885
23
865
210
782
746
810
751
518
643
888
754
213
541
604
531
804
60
101
776
867
930
23
995
590
779
182
175
126
78
611
576
222
282
362
374
450
700
546
723
317
216
374
519
322
927
99
212
17
459
135
234
849
733
153
300
890
369
40
664
711
232
696
554
255
282
28
83
830
357
929
65
761
424
778
76
285
290
566
644
152
281
668
906
592
99
459
677
941
535
117
358
64
59
727
931
279
296
886
523
976
92
341
413
584
21
904
193
129
707
925
933
107
331
297
701
123
668
892
868
371
4
591
132
974
342
530
528
952
650
184
729
206
748
721
57
757
491
971
842
997
603
459
677
319
648
650
589
794
295
803
82
605
747
734
840
12
572
6
1000
384
541
933
745
648
211
666
396
59
272
412
44
516
155
513
516
450
855
119
999
333
90
767
898
691
974
60
74
235
37
295
434
337
834
785
392
312
689
884
852
430
164
719
895
210
530
365
485
499
83
569
277
467
534
107
893
513
460
588
25
876
459
768
893
356
138
258
198
967
728
220
522
200
443
812
880
38
794
415
442
890
12
505
815
586
814
373
232
510
318
316
454
347
258
767
258
378
521
875
347
124
339
337
942
6
829
54
565
533
369
548
408
369
882
237
293
859
461
60
674
907
954
309
904
400
379
583
843
682
904
942
531
568
426
108
31
605
687
326
325
727
651
915
753
224
392
87
26
42
367
77
713
272
578
163
71
880
519
244
276
999
479
310
935
406
616
231
597
243
45
56
992
221
601
310
86
305
171
489
82
365
563
391
193
145
381
223
977
820
513
795
472
456
894
174
249
593
724
239
678
34
279
2
508
519
442
746
185
221
857
189
387
64
264
347
367
836
220
859
881
947
399
804
933
380
636
385
617
896
355
589
915
230
98
122
785
286
48
80
164
509
373
907
725
259
935
427
18
776
179
48
794
960
743
910
105
674
8
37
617
659
83
99
652
57
782
556
203
828
612
274
399
775
986
201
998
334
515
798
944
644
185
27
72
734
20
190
685
359
412
929
183
279
175
999
258
273
390
561
938
350
836
221
319
342
650
116
438
520
932
174
954
445
940
37
125
610
601
833
333
193
975
894
603
715
483
918
15
775
259
471
820
898
219
614
437
208
488
519
993
753
830
525
955
464
318
89
762
976
600
488
193
257
792
582
923
327
149
378
89
953
974
465
164
907
69
707
66
125
993
251
96
453
13
446
741
139
69
203
601
823
398
395
382
113
175
620
536
279
503
819
857
525
654
1
682
434
80
508
900
114
700
239
580
671
701
408
209
658
736
244
754
212
897
509
487
717
740
400
361
374
416
235
7
194
425
513
625
953
673
602
831
52
868
408
507
574
246
90
647
932
334
460
622
323
924
722
218
425
61
150
837
902
538
861
566
698
300
957
170
212
61
254
663
388
812
958
838
852
891
257
933
953
826
43
212
727
995
732
740
696
444
916
839
400
515
454
688
194
135
496
816
543
230
31
926
309
652
327
629
692
393
343
127
127
491
633
199
622
442
465
277
64
77
891
508
322
732
209
194
325
129
453
232
893
942
313
935
642
354
558
254
35
352
756
736
43
549
477
678
282
715
535
561
495
890
834
291
241
397
897
491
428
129
473
701
572
188
717
836
794
943
76
528
955
915
235
866
380
647
671
651
9
50
639
676
234
823
781
840
644
913
541
131
957
929
923
822
264
81
89
908
890
964
732
110
850
732
815
969
801
314
25
410
525
151
281
637
357
241
653
490
789
814
611
809
536
856
650
523
446
469
329
908
935
644
94
370
690
862
382
746
458
784
888
352
575
267
431
13
584
757
462
814
101
938
780
717
112
284
88
39
786
70
492
186
343
232
87
755
928
297
753
743
924
273
949
12
626
16
360
716
956
278
855
107
530
367
701
902
524
16
688
69
999
320
39
343
783
883
920
480
14
119
363
689
253
184
746
88
89
805
439
419
581
165
713
803
249
354
83
160
988
832
21
898
278
348
934
233
955
736
520
752
92
613
656
739
45
805
724
594
864
716
979
317
371
155
463
711
634
634
258
552
590
687
609
657
505
795
969
402
526
873
452
673
599
866
881
89
369
335
238
996
39
694
375
913
355
58
233
972
433
850
416
17
18
103
779
574
40
784
921
412
759
953
343
536
3
585
648
624
773
13
99
999
717
559
624
108
891
696
607
882
175
697
12
259
184
718
255
393
67
362
312
303
913
429
10
29
765
108
523
944
734
773
298
364
732
998
866
307
838
98
900
969
10
295
499
133
402
735
882
717
468
807
361
625
455
17
788
960
322
852
285
667
953
276
654
360
141
678
557
320
125
61
916
994
729
313
532
479
340
632
708
463
233
300
846
905
259
645
445
497
842
602
862
13
33
462
941
206
815
185
369
352
802
875
244
434
769
484
940
19
671
866
670
709
731
542
711
730
879
198
968
813
504
449
752
119
478
284
754
71
525
802
47
548
303
944
418
87
581
24
875
727
686
478
179
50
654
578
61
575
519
108
631
286
246
702
325
990
932
843
595
983
897
311
779
853
684
673
228
894
983
50
258
437
261
226
162
26
930
600
483
354
135
152
323
251
320
434
889
749
377
971
879
85
543
68
621
756
784
76
929
379
290
258
485
761
209
538
767
231
422
276
873
668
437
806
25
289
799
838
535
113
862
154
912
936
370
645
784
4
879
506
688
126
36
129
768
736
365
477
680
645
730
277
780
695
880
169
658
853
825
590
846
944
12
825
441
779
45
714
938
567
411
807
529
733
91
860
589
991
820
819
199
732
995
545
906
309
710
244
881
556
906
90
765
610
877
587
623
614
289
410
260
193
219
556
319
697
558
35
863
974
560
797
351
129
49
351
301
124
368
967
954
726
210
609
255
517
613
883
382
949
630
240
620
184
499
831
996
281
473
958
642
441
304
842
280
676
81
692
421
690
957
105
598
148
620
477
482
179
561
563
820
516
572
733
244
34
975
349
3
859
843
955
273
456
554
313
832
211
536
570
769
216
234
219
337
736
975
248
516
510
184
301
124
483
518
40
293
20
766
942
22
885
77
925
950
398
565
242
668
577
111
997
281
757
557
59
344
669
416
333
622
460
328
376
28
725
409
723
380
198
235
918
793
469
36
383
481
191
320
338
313
546
625
957
54
497
659
283
57
663
320
472
869
349
292
423
425
800
436
677
798
157
933
806
815
418
715
305
503
77
395
487
336
287
572
759
610
62
445
750
437
987
908
615
962
654
667
151
654
298
101
597
93
828
279
1
985
24
346
143
786
716
633
730
286
905
130
26
153
916
133
832
552
274
301
376
498
488
343
866
947
817
359
331
873
517
696
261
652
983
464
924
494
650
958
688
267
21
509
191
96
386
478
206
652
238
791
464
477
538
905
286
391
470
819
216
153
44
398
317
314
294
744
358
120
595
898
939
798
290
178
119
227
315
531
910
649
429
298
654
368
854
800
78
757
114
364
409
847
390
768
301
659
45
175
459
145
861
58
600
256
589
520
108
973
81
677
493
333
469
419
824
350
112
407
375
52
264
926
632
949
929
148
324
112
478
224
492
658
191
716
721
756
968
670
689
831
760
743
404
654
133
350
833
199
749
401
414
609
670
928
935
874
142
250
395
559
533
764
560
969
222
572
979
295
601
80
590
144
832
101
252
59
98
117
286
947
95
856
856
464
18
449
294
818
872
354
414
630
40
552
535
909
836
454
52
152
332
759
730
860
345
225
644
469
759
604
927
868
496
287
940
832
11
503
492
588
91
753
835
145
689
856
850
195
291
231
333
601
154
88
495
316
707
262
633
759
259
34
380
202
536
690
246
144
978
617
73
90
848
278
592
42
687
328
146
765
199
288
525
863
355
510
725
190
638
801
68
573
339
890
266
208
176
446
391
939
149
247
741
645
547
220
187
315
525
602
563
682
653
826
892
757
806
773
275
798
772
279
542
516
749
942
712
288
499
144
84
70
732
612
462
70
315
458
432
308
179
479
554
340
742
495
580
993
356
236
976
427
382
137
387
592
202
293
583
215
797
153
588
294
627
989
677
610
182
987
818
312
727
528
150
923
77
569
901
67
456
301
291
144
575
657
830
281
377
527
401
530
958
542
682
295
991
833
253
868
422
776
54
983
351
572
458
80
411
57
27
862
1
367
710
946
923
79
643
826
495
538
495
93
974
246
332
544
91
949
412
763
334
252
51
668
7
287
530
533
489
250
100
248
568
43
828
513
539
316
446
974
856
643
443
315
815
619
649
260
124
355
404
245
929
849
20
308
435
457
335
268
41
840
623
566
121
76
310
913
893
489
415
772
722
574
598
156
101
681
985
740
511
507
790
513
602
655
848
928
500
452
685
864
227
422
160
245
570
645
420
876
454
358
672
944
661
43
974
383
221
188
380
697
67
276
78
595
933
813
251
722
766
614
680
990
754
602
548
444
487
849
663
233
346
817
158
98
891
517
667
293
910
701
428
531
347
706
297
664
644
902
507
854
823
642
391
554
750
223
290
678
691
847
590
913
430
146
44
751
202
892
299
19
32
239
190
938
196
981
997
993
497
746
99
837
978
678
486
795
713
382
899
512
960
928
222
544
907
960
918
710
956
68
651
965
41
565
94
595
517
547
837
572
811
987
322
499
85
659
671
199
176
183
213
536
195
340
366
994
334
851
417
506
198
402
9
525
771
341
629
373
551
301
934
629
695
400
367
748
971
273
358
801
724
746
895
50
367
51
514
985
981
93
717
158
812
950
623
749
370
724
197
802
1000
991
432
256
505
993
80
468
157
141
978
566
777
320
739
252
824
359
514
391
978
537
262
183
141
717
426
555
194
589
62
878
965
641
728
782
797
425
659
257
968
147
367
261
933
206
866
952
190
452
867
284
585
89
105
794
615
719
974
228
785
82
88
125
210
528
646
836
157
981
30
17
327
576
399
568
633
381
672
314
575
942
76
215
778
83
767
241
823
207
692
962
119
306
426
238
46
564
504
526
660
919
31
336
123
687
551
534
912
237
850
167
188
698
503
254
389
591
641
732
164
601
968
846
698
438
98
977
427
262
724
56
168
159
807
166
893
75
612
76
255
201
654
142
219
521
727
198
469
915
876
88
263
162
922
721
1
437
197
337
44
485
211
165
766
216
497
613
138
729
242
113
727
352
478
233
24
28
744
84
507
895
103
802
415
157
651
941
50
27
747
81
862
142
326
915
228
32
161
196
273
844
96
297
752
198
889
661
63
58
795
983
921
180
317
747
107
909
395
91
234
826
228
934
362
392
791
872
426
140
861
458
343
306
76
156
532
309
61
705
613
589
498
861
831
974
376
648
984
291
272
583
18
100
720
52
795
670
321
250
21
158
558
979
47
31
309
51
336
424
656
625
686
844
284
694
765
403
270
798
920
30
728
39
764
374
675
663
756
447
41
370
871
779
94
914
715
30
853
330
19
854
578
223
585
465
106
764
184
95
61
390
132
154
558
274
200
78
70
718
370
241
523
660
895
7
659
869
633
240
860
404
434
164
448
418
140
293
604
138
98
699
537
109
10
587
111
136
164
780
17
856
991
616
438
718
911
846
182
30
392
114
15
353
501
436
85
840
531
993
156
125
695
144
345
275
730
553
74
105
775
530
432
413
721
533
72
411
450
528
883
424
44
44
13
758
855
901
458
397
90
598
620
303
969
88
998
780
252
432
317
185
988
790
31
684
466
114
525
45
968
331
11
54
756
158
296
513
257
905
656
423
293
880
808
414
663
981
944
874
769
108
700
843
691
818
146
33
144
584
323
232
516
176
37
729
40
509
589
253
880
322
518
193
391
287
727
826
162
187
299
412
92
253
622
345
697
425
737
625
221
635
588
653
575
544
859
346
969
500
286
927
400
78
884
85
988
790
708
61
233
970
619
984
810
766
923
424
683
654
871
157
146
29
883
378
961
103
676
457
222
673
490
123
509
203
50
52
652
848
307
697
558
572
960
689
567
226
946
385
835
693
491
452
104
968
527
782
252
953
128
569
396
905
999
392
869
420
409
483
567
838
840
199
29
818
68
863
172
780
799
141
393
650
164
388
25
557
721
576
64
21
676
701
272
439
372
691
353
109
146
776
564
766
97
626
51
984
918
510
134
417
953
672
239
925
151
578
664
962
691
944
956
628
191
29
509
267
747
803
557
429
473
309
839
870
599
639
462
990
512
477
794
744
98
348
488
621
554
345
947
112
387
259
1
441
650
901
666
377
398
644
413
184
526
839
947
91
33
518
708
880
959
456
977
347
453
380
421
598
857
561
487
160
958
70
178
289
298
428
992
12
318
343
314
846
848
722
656
789
238
871
393
937
702
192
74
638
800
280
796
418
760
591
377
742
664
965
276
504
532
994
505
692
342
627
70
595
945
491
667
233
272
719
66
504
951
312
851
291
602
887
598
926
85
27
110
839
1
511
784
163
957
716
724
229
911
315
483
624
554
132
219
908
155
789
776
940
698
767
234
359
657
994
802
748
866
335
392
725
460
177
482
602
737
260
259
322
350
272
821
830
904
686
485
946
781
331
958
469
746
738
414
46
876
887
327
714
71
966
956
597
310
22
95
206
457
448
676
732
838
955
581
832
141
854
6
979
751
894
362
378
967
876
241
267
271
213
408
987
337
585
481
390
231
8
167
359
805
163
819
585
369
764
186
762
16
656
649
367
112
842
569
82
370
909
367
989
123
424
676
935
381
822
706
428
255
847
918
445
899
353
448
160
723
960
194
51
124
129
932
700
942
330
29
588
875
304
139
988
798
510
832
259
294
266
90
198
973
241
825
925
757
607
549
837
967
406
478
400
275
678
729
838
222
511
512
111
211
605
558
551
91
154
777
386
88
699
215
407
450
237
1000
387
972
511
164
273
403
825
195
139
475
78
973
774
363
453
666
599
271
893
949
744
495
472
970
69
506
76
76
402
89
330
365
598
645
965
733
891
338
194
251
366
37
545
795
808
663
342
571
446
943
127
765
884
189
703
694
417
11
45
882
870
181
996
553
121
133
594
969
903
478
247
70
85
669
649
267
995
645
496
448
598
436
610
491
514
337
101
561
544
921
531
139
771
343
436
901
85
522
146
276
143
527
885
102
310
884
64
434
920
307
287
6
473
598
839
364
164
43
454
514
568
207
59
625
587
513
449
586
783
173
883
471
915
430
359
314
33
423
207
960
880
581
763
357
312
583
702
367
659
378
153
501
840
692
216
608
419
150
647
958
927
107
694
419
301
850
181
191
656
829
916
849
448
285
47
173
517
951
562
419
680
986
831
537
187
20
436
401
757
671
545
186
514
399
481
684
65
963
188
170
873
151
178
578
124
187
301
273
723
101
169
570
787
191
194
901
853
59
169
416
206
939
589
936
286
711
843
212
497
648
816
686
794
853
341
927
869
366
203
458
857
820
493
114
936
214
359
311
511
963
186
92
884
605
982
620
585
400
246
408
268
812
323
82
615
869
86
266
407
698
372
983
700
445
881
106
768
410
846
155
200
308
557
844
812
850
385
436
908
380
89
568
919
835
911
53
925
202
205
541
494
544
527
398
100
531
603
655
787
827
566
905
917
974
865
321
996
300
463
779
793
817
702
548
172
3
215
802
940
193
525
196
345
75
589
84
64
815
559
52
882
517
31
594
464
309
304
512
824
991
418
985
592
209
249
329
476
248
790
264
441
138
188
970
904
818
760
38
576
206
511
175
390
495
175
674
635
630
976
39
964
234
175
16
150
214
955
764
168
271
58
708
217
702
462
169
108
932
791
630
397
860
207
900
508
344
476
8
699
925
120
75
491
679
863
554
51
835
987
710
861
992
615
21
504
485
385
348
368
612
111
618
869
549
265
462
883
565
979
238
634
807
922
644
697
152
267
58
881
62
315
746
546
216
334
837
227
552
477
901
851
373
970
913
898
619
208
522
742
804
167
408
565
114
782
193
903
795
145
887
654
39
315
313
600
408
712
781
475
462
424
313
568
996
739
428
869
540
71
824
838
43
357
100
250
686
537
898
315
276
281
646
971
33
661
935
94
84
992
158
642
359
328
508
352
193
219
21
450
899
775
189
602
631
19
633
820
204
588
792
406
522
232
874
173
993
171
750
696
839
996
941
998
925
295
428
405
36
483
875
401
956
908
966
535
485
898
737
12
757
798
892
419
655
990
397
66
999
200
510
54
868
444
835
631
515
401
291
648
86
227
14
159
153
999
267
221
479
854
294
471
103
684
607
112
260
461
473
306
443
45
486
69
397
465
869
833
742
424
619
490
765
108
152
557
331
440
389
382
791
802
823
566
718
726
194
19
983
3
751
903
179
434
211
520
140
247
821
760
407
406
375
174
397
356
514
475
610
340
993
431
937
152
671
76
38
622
437
493
562
557
106
962
398
61
24
634
657
566
792
89
452
694
395
749
321
169
107
811
76
548
598
214
700
313
24
568
511
928
328
546
650
991
207
878
504
552
216
84
679
56
930
687
332
128
916
793
668
747
918
774
725
935
869
827
641
196
958
974
859
446
895
985
305
666
257
281
641
997
315
371
254
9
516
250
255
596
476
158
690
575
571
193
246
597
634
252
538
698
999
469
921
867
406
992
209
955
537
980
112
906
470
92
573
767
816
435
27
910
649
166
818
423
922
546
978
605
506
155
396
299
895
567
269
525
756
865
391
313
761
820
523
700
931
583
808
234
503
340
356
27
704
499
200
759
418
490
878
105
278
660
967
779
740
137
674
949
263
525
549
451
683
140
985
653
938
908
347
560
631
591
546
22
128
409
975
920
741
926
705
645
895
908
837
727
933
103
781
803
919
788
822
430
430
840
211
733
512
80
75
93
127
312
587
594
242
948
485
847
109
440
183
234
847
822
322
941
815
132
456
295
192
920
920
517
535
204
335
366
98
288
15
86
132
624
156
995
451
909
18
369
885
880
441
253
566
665
491
440
867
179
125
902
715
643
521
795
228
804
662
913
141
864
483
56
422
119
199
543
965
904
889
826
211
517
25
476
246
880
233
290
168
684
475
567
888
30
526
978
935
491
265
150
749
644
893
844
948
164
159
9
483
562
704
371
378
577
915
919
476
12
517
433
444
912
509
712
107
471
774
1000
337
68
732
38
249
364
585
566
333
945
66
95
312
56
317
531
853
667
840
201
317
828
175
766
954
522
805
551
980
740
750
426
104
521
715
351
996
865
176
125
720
165
20
422
42
665
421
30
354
170
636
755
769
214
523
601
193
804
186
679
206
602
454
629
914
289
46
610
596
692
510
942
911
714
288
255
427
710
768
819
490
36
800
414
771
549
243
241
666
887
303
405
846
328
749
807
424
485
76
922
816
171
965
616
311
493
707
632
191
834
462
431
338
117
605
76
221
753
501
293
670
918
407
560
644
101
461
478
756
400
83
891
189
146
192
429
837
430
125
776
882
755
815
212
601
756
64
656
590
740
823
204
341
318
625
613
684
797
839
354
70
128
861
454
380
891
773
971
665
645
643
541
927
516
792
875
764
105
305
566
188
204
58
173
572
387
560
986
536
325
818
566
429
339
905
37
296
571
225
802
108
648
214
743
816
733
977
581
433
533
597
584
929
514
89
571
905
263
265
100
126
910
695
676
742
744
431
746
173
457
514
213
863
465
504
464
266
697
679
560
690
361
392
963
315
500
560
79
377
222
960
385
701
646
956
205
107
377
685
347
357
374
501
867
769
956
999
801
407
929
203
812
301
75
911
90
290
871
502
690
390
681
731
221
823
613
118
227
4
104
244
109
236
751
606
76
574
617
691
740
560
140
820
558
188
507
1
246
265
521
347
514
445
619
609
20
744
210
544
981
400
955
939
156
833
495
369
936
661
141
791
228
90
367
655
577
742
225
586
688
641
101
249
262
690
152
843
327
952
532
148
516
820
715
866
925
52
792
502
299
365
216
90
950
634
369
618
378
231
469
81
43
148
855
763
27
219
539
745
694
628
761
310
696
746
626
703
37
501
467
313
582
19
937
339
794
96
306
298
545
404
343
240
466
294
952
362
583
128
921
289
40
83
688
793
335
923
498
571
295
755
347
321
174
337
95
378
640
273
960
235
388
69
838
679
582
383
138
986
30
344
14
383
746
788
602
528
261
362
576
815
669
426
516
420
950
861
212
441
687
135
84
930
917
653
506
191
990
773
589
488
895
821
314
421
677
314
36
278
750
309
635
777
898
56
459
812
317
686
862
733
648
893
140
870
822
18
291
206
298
723
868
666
585
208
943
553
731
98
759
410
656
957
487
134
633
646
236
345
106
900
642
149
608
724
206
520
274
68
492
589
454
29
738
846
820
281
375
797
927
588
556
447
570
453
996
317
751
996
322
385
117
547
514
585
477
199
868
303
744
310
326
148
682
256
803
837
819
123
770
128
42
185
750
630
266
902
179
255
908
768
454
96
726
606
206
819
827
74
222
606
937
644
48
218
598
141
683
415
620
556
116
447
423
575
500
612
627
277
869
513
727
895
754
677
413
744
403
108
483
298
795
489
575
992
723
229
258
278
899
606
542
331
405
627
725
112
173
867
65
296
323
467
942
560
530
69
360
163
263
964
115
737
255
386
336
100
977
506
103
402
204
391
447
365
461
850
855
271
184
955
418
339
16
772
358
873
20
606
565
420
638
479
474
658
811
406
674
747
911
645
679
137
541
307
238
374
358
336
24
599
882
529
716
56
939
285
352
529
677
776
247
208
951
697
452
374
713
903
723
605
855
976
830
580
320
121
270
876
175
765
446
315
908
945
177
768
745
335
621
864
210
466
695
172
636
329
680
917
897
4
677
705
912
339
667
959
927
860
192
769
134
498
812
197
64
652
767
808
957
490
258
251
39
120
874
606
432
442
722
834
564
123
698
443
642
798
164
474
129
294
945
840
788
713
975
175
648
247
327
358
351
780
917
679
48
12
826
507
934
719
719
54
834
152
322
79
133
892
227
568
106
697
779
601
61
269
884
476
860
613
416
220
544
841
937
359
832
394
529
115
843
803
206
555
777
940
239
911
235
69
845
364
625
384
773
193
403
187
959
742
639
730
650
865
67
936
545
106
376
940
289
741
295
552
797
106
981
661
107
482
697
834
545
272
374
49
333
280
380
894
203
404
180
245
372
194
996
305
499
807
704
345
456
921
648
436
964
274
366
204
971
24
491
705
570
311
622
3
567
709
880
812
768
538
220
484
351
548
971
736
813
506
361
39
160
864
374
108
130
42
740
814
908
757
724
645
614
740
731
842
474
45
952
470
154
670
825
461
367
950
912
679
63
16
911
886
765
740
410
542
481
581
295
710
396
519
841
954
693
487
454
638
963
815
493
538
867
846
520
563
477
618
952
983
997
609
431
147
747
431
808
663
351
528
242
134
656
755
531
638
617
439
865
79
34
437
282
430
328
58
512
334
845
213
671
907
764
497
697
28
958
431
732
128
947
876
879
75
781
680
201
615
726
509
10
890
104
661
3
997
829
166
160
464
867
625
94
886
104
136
794
663
942
75
160
178
343
665
723
383
640
370
335
353
182
437
849
65
453
658
150
179
16
961
240
400
608
691
998
482
553
497
171
92
236
449
438
436
249
64
147
357
319
412
89
85
683
964
344
127
559
892
482
196
735
307
683
208
191
296
699
785
226
812
533
873
986
747
397
274
223
806
653
973
480
812
883
514
227
706
571
890
960
351
591
822
527
446
746
632
252
95
278
847
867
223
950
913
813
400
265
565
542
964
149
306
531
236
483
95
385
479
302
707
322
699
533
54
355
234
650
640
443
242
199
360
771
83
34
519
833
72
455
878
911
321
32
389
711
518
267
936
763
671
704
277
532
651
386
865
938
816
852
460
565
70
447
320
569
12
281
482
929
510
545
849
576
754
841
828
172
930
951
659
917
988
57
240
7
96
879
943
55
110
164
22
880
536
807
441
22
548
892
473
513
622
352
500
738
984
723
203
659
257
714
559
26
734
385
20
221
630
832
106
454
130
105
451
163
729
789
870
693
283
42
753
828
604
707
700
66
635
485
723
892
656
825
489
256
533
268
172
69
954
873
353
541
467
925
679
201
584
810
104
174
554
559
210
498
429
35
920
680
1000
255
452
697
513
961
847
452
405
385
816
714
656
503
294
415
568
10
398
901
363
549
16
451
914
307
86
528
641
153
417
45
539
501
505
753
498
542
33
387
281
757
650
969
167
301
237
389
207
11
356
642
19
382
253
540
272
991
250
894
551
950
345
560
127
358
954
884
937
75
654
450
563
35
244
905
750
717
707
974
465
184
241
788
101
134
269
980
661
726
603
568
941
404
822
587
61
894
557
201
10
939
385
327
719
645
272
290
264
663
983
641
131
708
683
873
247
172
497
266
45
442
672
485
526
135
642
792
109
387
70
695
750
532
983
773
588
698
506
299
293
318
379
105
334
740
728
936
834
537
832
282
429
363
256
252
380
644
375
520
173
304
811
497
816
31
383
514
15
777
523
469
867
204
577
357
427
216
166
282
399
85
179
656
934
72
487
186
396
276
419
872
650
511
609
816
165
146
944
921
390
223
591
752
233
416
16
940
604
45
745
592
817
788
216
205
792
208
172
252
38
255
806
750
563
11
77
500
658
148
688
737
900
805
860
223
672
853
932
677
742
27
530
679
472
323
574
742
480
629
653
367
480
409
205
901
361
864
670
563
703
948
579
796
632
33
420
911
146
346
708
734
252
965
476
456
373
419
466
635
206
246
464
804
771
362
743
194
944
713
33
856
155
887
885
409
337
819
563
670
866
401
16
288
447
924
117
568
116
967
900
310
680
799
450
959
207
590
174
799
562
309
809
443
321
995
512
852
974
568
177
881
757
242
368
251
131
404
748
886
624
221
776
187
427
810
315
375
720
491
452
929
789
163
810
422
444
914
326
439
559
286
795
854
293
905
739
718
962
102
560
293
712
931
709
75
797
855
416
786
253
660
332
169
115
488
232
83
482
208
124
454
594
48
835
740
252
339
993
605
888
673
664
204
917
473
149
677
650
900
570
159
76
235
370
418
173
754
317
815
107
636
1000
72
23
199
63
931
448
462
961
401
410
621
126
582
874
837
760
587
453
972
443
356
660
706
31
763
144
441
169
206
80
681
475
334
741
625
110
47
145
274
643
472
69
345
49
328
930
113
344
548
518
537
314
186
542
995
87
87
255
656
979
86
186
174
660
413
925
806
374
865
923
513
659
266
770
128
673
438
244
65
610
71
503
987
909
946
893
308
528
935
658
227
188
48
741
265
696
183
384
302
976
105
877
4
512
734
551
91
191
75
221
377
278
207
140
358
81
288
193
219
642
120
904
422
373
381
350
798
903
564
997
594
799
863
507
480
41
827
856
320
452
415
751
327
55
214
927
502
732
386
101
953
256
591
330
934
682
628
318
997
409
555
624
590
532
658
748
131
283
202
33
338
301
285
399
135
262
542
567
365
335
734
293
575
235
579
869
866
152
208
179
447
330
173
517
3
640
854
159
855
529
835
26
247
805
410
633
471
572
481
797
181
382
729
707
807
275
611
943
387
280
345
821
737
686
635
745
36
464
628
409
939
128
866
660
637
251
728
144
978
103
308
737
449
458
495
590
444
521
50
856
644
225
751
737
112
427
526
539
71
759
309
213
791
397
711
973
562
108
963
873
552
561
957
596
633
32
229
214
199
997
259
572
984
710
292
485
428
61
160
562
898
321
493
230
396
127
729
181
846
176
735
884
218
671
139
870
540
504
620
11
845
452
571
119
192
604
373
856
987
596
204
782
722
637
319
477
355
249
422
664
69
930
590
916
609
880
575
435
34
508
943
540
429
547
246
202
302
821
41
898
805
536
121
404
848
360
124
722
206
982
426
850
40
573
359
937
467
914
94
961
749
184
341
903
955
161
8
803
777
464
101
363
102
396
530
674
38
897
329
135
922
6
379
163
498
403
876
83
894
840
364
505
376
56
135
655
370
565
152
668
666
876
644
650
109
49
673
311
661
808
170
81
621
208
706
473
183
152
662
273
728
740
70
917
547
945
37
887
176
841
801
406
318
616
412
953
722
90
644
129
739
491
667
650
910
455
813
209
837
402
672
357
341
272
820
39
530
742
948
303
230
839
298
960
718
130
535
284
102
184
103
667
558
32
517
2
41
525
282
925
27
232
944
167
175
888
115
129
65
428
581
904
71
955
25
396
851
770
911
420
611
303
565
556
203
408
955
803
942
427
545
372
750
971
612
27
873
328
26
820
165
880
818
140
378
117
480
167
216
819
339
121
121
730
180
198
761
620
973
232
838
128
612
898
462
1
421
575
594
149
969
796
486
119
817
520
837
20
408
807
202
127
91
553
40
304
708
703
11
403
192
358
767
972
92
912
770
327
378
313
156
331
856
735
403
835
881
875
744
606
361
786
865
477
958
803
854
729
408
631
63
509
788
90
821
671
141
363
776
444
443
551
702
898
223
325
123
651
396
668
972
440
438
78
489
111
422
65
919
281
485
321
193
698
109
300
160
23
104
716
555
653
161
333
316
637
245
364
920
609
797
905
567
752
377
425
940
640
549
719
139
680
180
569
515
60
534
914
425
117
690
791
350
838
823
670
852
522
347
321
73
536
358
725
965
491
921
331
30
320
517
145
73
619
410
303
834
85
528
819
87
499
385
855
546
385
464
948
100
151
999
60
137
866
791
391
638
920
512
364
520
812
830
47
438
404
688
930
122
846
823
979
235
917
440
790
766
60
67
68
529
697
735
601
471
94
295
840
701
944
650
336
270
375
238
441
176
769
751
699
344
575
330
586
197
36
958
530
511
138
651
330
454
389
564
362
406
233
126
205
753
338
587
443
405
653
682
367
980
507
40
573
350
561
817
84
758
842
202
775
190
169
831
322
23
92
241
718
351
91
607
637
19
881
525
444
963
984
68
761
73
922
101
895
776
310
142
466
28
770
175
882
879
148
826
868
303
672
752
116
301
303
178
854
647
345
2
444
62
257
572
908
17
85
136
34
698
926
514
459
136
327
103
693
331
964
787
916
297
520
68
843
69
823
269
13
882
794
479
47
300
467
432
116
662
542
96
672
828
164
937
705
292
155
659
638
708
34
910
505
769
269
906
43
23
447
339
559
633
543
33
538
8
695
915
339
506
288
623
532
939
810
145
820
789
309
343
866
449
588
544
436
667
394
732
987
349
779
444
564
236
697
959
179
447
216
148
947
264
497
986
153
764
764
361
195
103
371
543
991
507
704
405
635
265
380
323
984
996
767
529
155
884
656
849
611
889
796
738
160
193
656
885
491
968
644
670
441
107
498
384
229
750
916
742
50
215
815
727
602
853
498
995
874
851
25
339
176
484
426
483
76
459
536
476
918
773
238
194
611
301
446
780
491
781
320
867
40
43
450
45
542
894
487
136
142
632
393
615
226
140
571
145
932
246
737
764
824
198
771
236
892
48
127
111
994
646
91
694
725
506
835
209
451
162
693
896
360
686
868
127
709
488
498
111
42
118
39
904
652
817
896
639
821
819
371
855
742
36
46
568
757
425
963
595
830
38
321
767
625
481
570
846
299
934
580
129
43
913
931
100
58
644
705
896
610
709
621
478
740
504
215
359
684
13
256
28
315
367
624
395
948
858
969
779
57
578
222
222
362
538
251
679
240
770
676
496
201
2
584
294
908
501
160
230
778
525
791
308
741
23
62
315
441
975
740
973
515
300
110
814
100
160
234
912
886
41
979
128
109
949
483
43
18
518
713
414
663
149
617
886
935
183
538
546
132
658
952
440
891
185
174
153
994
647
41
804
227
974
184
948
316
435
860
720
689
459
982
969
940
392
350
624
470
66
269
696
29
20
948
683
41
328
349
691
333
891
790
562
378
637
258
216
674
124
493
965
189
713
148
313
827
864
904
565
759
635
413
540
945
688
903
405
439
191
965
978
336
419
882
361
917
38
663
553
759
180
663
660
507
48
13
285
867
670
543
998
879
489
507
476
67
112
966
839
560
410
93
845
149
368
156
138
44
139
715
573
746
735
273
642
465
31
434
187
12
905
126
486
288
421
866
61
979
762
243
108
591
662
88
296
395
523
417
789
719
540
520
878
130
597
376
805
964
460
733
244
423
859
786
922
881
864
739
387
127
926
156
356
167
849
733
546
347
590
834
192
620
792
176
770
574
870
592
935
817
647
550
678
850
381
483
34
692
188
787
380
84
133
346
956
860
758
984
863
617
447
725
556
203
217
827
128
224
924
786
591
481
678
150
832
4
681
343
105
108
218
181
747
328
419
193
460
209
548
276
730
696
117
334
969
57
736
315
797
119
799
55
245
714
918
392
995
561
772
231
733
982
683
813
438
673
892
738
636
860
594
116
668
157
213
303
44
940
550
963
662
414
130
101
26
885
494
986
257
827
794
124
581
783
65
659
748
838
954
626
124
594
98
587
347
830
332
691
801
980
523
53
259
766
446
883
571
626
315
551
401
968
475
746
696
438
146
231
431
989
492
72
898
247
661
826
789
419
78
978
705
897
523
844
777
736
469
110
411
834
402
68
814
161
924
952
381
862
292
476
835
863
315
357
591
643
92
677
876
726
449
46
122
4
421
682
9
132
17
836
87
354
978
887
291
434
426
706
163
730
206
858
258
366
575
766
450
555
59
846
159
35
850
493
239
647
536
316
250
258
582
795
326
397
966
90
465
428
799
672
446
595
564
369
713
215
438
248
51
625
800
321
502
486
328
208
37
837
322
246
325
333
33
818
176
976
776
64
136
561
11
213
27
357
761
915
623
39
949
849
69
814
686
760
674
689
637
162
315
466
233
308
276
419
725
917
257
346
878
210
288
949
344
576
593
135
518
364
307
793
75
895
141
567
346
762
58
326
7
29
616
960
525
597
913
946
386
252
637
740
342
999
836
56
73
885
747
419
275
673
987
77
975
839
151
963
232
186
841
615
218
238
129
556
154
306
521
200
440
48
282
732
396
321
663
417
906
11
761
658
679
993
376
596
444
209
612
61
462
22
683
314
787
373
447
410
542
364
182
571
344
396
703
867
365
740
188
356
817
717
57
84
746
688
200
117
823
292
421
83
286
751
686
455
676
168
609
517
474
140
554
28
35
589
768
332
133
45
943
589
735
535
291
173
417
877
596
973
731
283
142
438
723
83
726
879
132
115
629
500
273
290
608
549
632
287
731
605
134
265
499
498
748
50
972
142
65
219
667
101
537
859
536
993
710
135
420
72
990
728
402
859
817
58
327
299
628
647
268
285
752
653
188
135
411
162
632
761
517
894
631
164
394
561
218
4
281
967
483
174
870
660
527
274
64
227
949
583
225
88
199
866
574
738
404
185
993
745
789
128
705
626
572
218
663
231
601
33
739
707
935
103
392
579
888
577
608
304
409
584
974
353
982
107
755
528
900
482
81
927
419
325
752
778
411
531
355
233
96
101
60
618
942
480
608
515
325
392
614
486
107
604
668
393
326
255
224
423
393
94
879
329
143
896
998
247
770
200
94
183
489
240
75
625
525
240
853
42
568
570
683
509
577
369
168
286
880
21
366
105
287
963
463
837
57
782
820
900
635
313
877
490
370
546
429
528
158
976
705
241
270
20
999
235
132
42
685
232
885
787
487
762
270
499
417
142
619
204
318
883
942
500
179
319
360
709
411
619
335
383
688
617
950
798
814
894
600
382
324
992
980
379
776
827
329
982
804
29
793
692
185
266
557
833
782
323
32
6
809
452
893
145
787
495
554
620
109
6
898
266
180
314
694
574
225
303
270
582
929
656
658
980
943
529
717
305
669
380
286
792
917
9
123
56
148
435
567
66
688
599
230
837
360
873
769
547
146
457
943
18
547
489
377
917
323
590
183
18
685
778
595
113
902
168
208
580
765
13
141
498
514
157
893
548
659
962
684
396
174
301
639
440
308
360
861
608
8
396
983
714
913
411
786
534
883
701
464
387
731
784
36
200
146
920
401
156
860
81
338
930
500
876
676
364
801
50
777
748
293
364
538
531
462
657
806
525
858
553
868
713
798
521
914
791
686
319
376
328
36
742
231
494
458
798
954
966
204
934
255
715
527
49
720
52
285
998
449
335
143
892
124
21
525
53
685
403
35
917
867
346
110
811
529
949
678
662
675
581
913
482
831
394
661
169
866
861
446
940
967
887
807
931
213
397
677
192
852
102
364
981
826
151
427
60
375
574
382
524
278
405
528
917
960
528
3
620
169
217
647
188
940
731
154
876
954
231
998
995
466
244
866
832
197
330
802
51
390
825
4
174
460
16
152
6
668
487
277
434
983
607
945
894
616
879
420
312
945
239
138
79
705
552
993
572
30
445
815
920
846
227
237
710
730
333
372
602
192
759
234
752
171
810
4
535
508
996
70
881
400
364
101
707
883
728
824
769
816
16
279
83
199
38
88
225
708
75
301
24
525
119
213
934
179
20
249
782
262
828
433
108
308
168
468
124
996
687
748
107
973
14
947
501
668
904
707
914
654
462
700
966
370
521
296
71
858
428
454
389
848
908
949
42
882
939
121
60
827
996
272
371
144
489
2
301
325
667
71
777
158
943
769
324
438
81
935
413
809
104
33
820
900
261
645
956
219
985
167
220
777
957
75
68
284
520
782
813
622
843
784
194
748
731
831
640
310
507
621
456
649
701
507
654
679
657
531
18
99
609
974
735
638
505
752
797
715
522
791
238
338
277
205
568
740
449
69
41
209
371
421
378
102
684
21
912
905
859
560
417
578
171
473
350
761
342
112
514
345
277
263
425
87
292
248
131
678
526
647
762
839
673
704
231
709
306
483
177
109
106
52
773
132
341
493
348
403
970
916
659
621
253
608
206
350
318
183
25
836
260
477
583
527
109
916
578
349
286
789
948
291
425
719
549
205
196
481
236
738
360
265
692
547
345
686
532
806
97
56
199
805
579
845
784
837
161
218
760
427
215
955
551
389
560
667
402
836
730
493
397
402
289
812
294
23
574
603
567
749
348
557
286
459
14
674
633
584
258
852
845
934
249
422
519
645
914
586
54
854
204
935
656
149
821
959
399
720
303
471
888
445
385
579
790
985
334
118
140
955
137
322
590
828
845
780
355
664
775
903
613
261
386
458
871
999
25
226
73
438
331
927
448
612
94
49
672
511
904
950
36
553
783
886
357
693
406
784
115
609
818
813
535
750
212
78
363
596
672
219
800
60
728
398
991
820
423
632
825
663
147
384
615
275
617
91
849
658
8
808
413
667
74
3
541
755
557
661
948
10
107
994
477
517
636
792
5
976
931
64
901
273
409
327
217
978
707
919
866
116
191
390
378
440
494
227
693
159
309
593
582
535
526
698
214
479
120
154
833
116
338
210
266
843
459
14
720
211
255
636
93
309
356
520
394
105
48
883
48
994
188
934
288
352
350
314
486
360
221
329
400
396
623
476
14
647
265
659
11
550
139
561
39
806
894
363
772
218
97
806
668
820
575
774
158
104
812
757
598
264
857
114
355
884
695
221
750
581
812
248
855
294
910
209
262
454
775
474
575
222
753
542
536
813
771
561
947
593
840
450
350
985
346
175
156
774
804
357
661
372
801
830
664
752
531
641
928
639
806
254
321
681
471
738
576
657
194
905
467
855
686
73
54
182
708
353
437
300
824
215
859
48
236
913
485
313
618
405
385
888
869
181
782
206
860
413
602
786
48
19
365
478
541
413
820
764
288
526
913
320
443
470
538
204
352
93
209
810
890
448
584
135
321
390
88
466
626
964
886
901
55
93
703
393
527
591
288
464
472
286
461
654
120
320
296
434
863
109
997
412
927
368
565
75
441
946
543
265
960
149
487
155
569
126
704
6
208
542
156
335
670
804
930
636
651
709
356
480
946
269
338
291
206
456
923
735
396
47
242
95
670
817
172
349
127
695
302
298
672
260
436
168
867
429
668
445
850
486
542
702
480
148
691
186
524
39
749
866
455
916
174
618
833
256
417
995
649
849
276
386
983
65
297
60
93
365
819
528
152
286
434
902
900
452
196
900
225
109
602
543
767
57
603
540
251
98
376
500
583
642
94
900
515
812
924
608
522
772
312
713
855
441
573
337
293
223
359
377
477
514
849
815
792
355
605
837
433
101
448
940
885
413
619
657
34
414
970
704
904
219
137
873
724
740
590
557
980
431
463
103
71
410
371
513
467
195
546
555
505
123
401
218
483
355
842
864
532
235
446
540
623
761
150
364
461
940
836
704
898
355
277
478
804
446
355
539
709
211
67
494
677
983
923
853
405
507
158
888
645
33
794
450
923
383
799
436
109
911
745
476
378
841
752
194
996
334
932
134
81
546
920
454
862
526
431
370
337
632
948
492
284
168
890
777
475
773
741
796
613
47
355
347
457
488
708
363
720
183
329
892
343
663
364
913
970
956
848
226
253
325
695
295
776
868
335
504
810
70
648
385
90
495
237
282
403
436
405
871
90
873
504
971
355
420
320
212
881
62
871
336
196
809
696
893
178
769
315
284
365
958
26
857
117
648
550
690
157
138
662
177
276
411
680
838
461
421
575
999
928
313
415
242
359
669
944
512
915
875
421
420
141
144
342
777
112
119
54
375
243
964
125
632
815
737
231
615
827
729
815
593
383
836
462
127
803
469
583
557
31
427
955
890
503
760
490
317
190
509
437
574
589
637
362
925
964
509
600
621
978
18
91
783
878
964
572
344
811
672
256
560
189
948
166
670
245
757
497
425
391
266
400
598
420
158
211
765
612
703
186
984
502
71
443
314
992
240
606
111
918
632
206
18
320
946
605
401
300
689
576
508
942
862
746
677
557
975
476
223
118
951
511
162
65
584
155
17
170
808
10
723
972
259
353
666
111
758
987
953
49
416
326
548
264
200
887
182
551
913
117
252
151
698
338
250
610
573
686
559
379
907
918
661
572
824
47
270
136
172
291
683
85
921
767
418
685
806
352
819
159
399
251
384
365
911
222
100
306
800
583
336
67
318
136
123
167
314
658
393
975
244
715
274
297
889
574
83
864
367
893
391
394
800
127
576
138
346
710
811
244
307
361
139
130
470
189
918
728
886
482
362
993
902
918
813
162
36
2
716
168
314
842
216
76
970
800
315
668
776
869
277
579
205
404
781
169
532
538
958
604
140
764
392
109
130
190
345
153
177
784
550
280
27
959
748
242
361
19
201
468
729
979
217
138
502
679
885
939
421
956
562
144
642
567
258
827
18
431
533
830
442
332
311
680
373
748
900
816
579
28
713
48
456
65
762
545
63
465
351
153
612
618
314
223
996
817
607
989
63
152
758
348
319
460
144
342
577
187
283
408
639
802
892
274
367
304
500
530
436
5
608
279
516
543
767
402
658
365
712
561
211
332
94
809
465
734
92
848
496
914
844
498
713
170
151
860
939
820
437
154
93
323
795
942
241
489
788
101
279
975
722
612
704
696
584
709
274
831
944
468
425
883
524
723
526
486
649
372
517
603
314
426
85
991
439
330
438
409
713
664
191
495
158
438
948
250
35
566
418
477
272
417
849
917
505
214
710
712
46
780
317
686
285
680
983
915
411
637
93
380
534
851
444
85
323
825
792
146
233
982
961
758
370
884
814
758
903
158
25
66
586
894
839
610
690
119
1000
122
177
868
735
58
898
528
681
416
792
575
948
349
434
908
731
258
825
10
8
591
832
911
816
270
20
29
795
773
948
694
680
409
534
876
348
41
717
462
962
771
195
367
262
882
361
46
315
37
951
105
812
548
847
825
396
611
827
189
463
577
192
962
83
183
519
231
903
447
286
25
279
675
230
141
379
688
486
166
734
243
970
971
510
601
670
528
221
587
834
123
766
285
538
507
655
387
914
575
313
176
604
360
133
258
548
826
635
678
395
450
38
441
165
284
465
947
102
49
593
526
777
287
395
348
858
326
834
809
538
489
874
210
142
126
983
211
984
534
659
298
106
468
823
610
454
478
275
598
902
363
284
207
345
8
348
106
249
376
6
442
917
142
161
231
509
814
918
137
676
649
435
469
170
389
443
586
132
277
409
867
7
732
114
969
57
495
921
295
809
594
979
583
525
295
476
458
264
270
944
71
316
937
217
739
477
836
729
54
577
522
894
530
233
367
88
141
651
229
961
369
746
932
629
1000
474
152
333
584
511
290
400
320
950
340
733
14
969
770
530
215
519
413
484
601
361
48
902
917
67
603
455
253
376
752
410
835
137
403
755
419
106
81
559
63
217
639
15
450
852
922
297
92
989
246
625
719
218
795
391
183
687
744
757
762
44
129
678
150
688
663
748
473
479
182
502
154
820
629
592
518
512
92
696
665
783
259
684
783
48
436
332
995
287
382
494
144
857
881
614
293
575
339
616
867
347
375
275
299
261
205
781
716
976
985
833
610
571
338
644
190
918
110
757
116
601
842
853
217
862
832
736
327
281
337
707
523
377
110
301
794
307
927
591
947
988
636
492
528
570
719
267
694
775
605
247
842
669
599
230
284
372
355
431
323
105
50
767
823
609
222
879
700
306
506
595
378
127
720
993
927
260
742
208
767
403
617
677
518
399
461
16
721
277
877
670
486
252
941
527
643
530
171
729
685
384
167
300
366
278
126
254
711
235
926
170
87
865
703
107
779
930
87
256
798
953
361
799
214
699
430
191
514
265
72
314
836
448
669
872
914
288
897
846
758
360
327
555
846
540
439
83
475
922
643
647
9
849
100
267
176
266
181
540
67
19
418
645
884
936
474
927
815
74
330
110
974
593
517
160
441
94
384
586
351
151
655
339
282
97
315
831
951
664
150
541
353
804
113
125
378
484
55
268
824
238
962
358
67
953
441
706
655
914
675
711
229
725
608
221
723
353
777
101
290
856
624
888
996
130
535
333
618
599
455
867
123
150
144
990
345
562
227
1000
819
96
562
6
758
950
857
532
176
759
841
899
921
786
356
147
338
362
794
843
236
323
790
991
94
149
678
609
780
258
721
868
897
346
410
417
404
444
53
388
368
729
483
483
755
262
844
207
901
145
332
98
499
77
790
887
739
327
771
932
431
50
443
696
891
555
751
593
469
964
9
643
857
845
599
389
783
95
167
993
834
366
447
408
358
925
1000
965
584
759
776
582
478
231
962
461
503
189
787
685
696
98
537
852
548
24
137
570
387
514
716
816
347
321
633
722
954
261
346
261
807
952
285
706
900
208
211
807
851
26
668
188
168
776
841
338
945
690
757
50
471
459
593
991
705
794
893
883
346
414
964
179
255
124
693
401
832
724
989
507
744
373
497
953
537
298
118
653
196
690
784
799
163
546
578
248
282
211
265
75
801
332
368
179
755
866
384
309
532
554
968
884
233
988
383
862
546
907
357
145
714
749
587
574
317
812
46
271
523
428
28
130
313
194
499
301
362
275
734
575
753
687
867
242
526
546
337
142
288
178
159
904
87
876
68
838
808
142
715
568
923
831
920
703
988
302
531
508
242
4
953
125
876
759
155
569
679
422
409
263
45
377
770
392
2
182
187
135
253
137
948
182
530
943
302
344
130
200
4
778
806
3
342
66
983
546
521
154
134
915
56
539
969
3
729
767
774
510
517
835
307
527
941
261
316
486
697
933
453
520
878
154
688
366
319
777
522
13
448
872
727
818
557
80
119
999
735
313
367
833
594
807
58
408
697
599
663
189
20
125
742
191
309
851
659
622
187
983
742
802
165
291
542
708
406
656
279
532
577
634
444
3
66
222
496
20
334
665
778
759
739
604
296
549
800
228
989
176
967
443
379
520
909
103
348
105
88
166
708
199
132
987
975
876
24
332
915
171
576
840
310
789
573
346
948
543
149
88
988
621
789
281
591
452
50
38
143
516
904
384
423
683
804
37
166
177
393
464
681
229
360
842
615
506
672
726
310
928
579
580
46
601
542
329
448
354
275
817
802
710
885
288
322
780
124
331
444
974
231
902
729
86
458
796
173
296
760
432
774
554
359
799
902
51
875
477
228
26
583
779
547
275
908
337
134
108
684
547
978
737
650
900
538
392
230
335
671
832
567
480
934
810
635
338
781
319
139
719
297
83
251
249
729
497
791
87
389
797
672
11
278
916
712
312
932
257
140
726
900
840
937
647
644
784
954
12
747
118
815
533
578
191
267
234
934
969
827
193
725
638
128
583
613
398
302
949
599
416
268
180
802
440
908
575
159
574
510
329
165
595
324
85
520
329
632
688
429
81
168
824
521
598
950
217
268
718
718
741
735
454
985
18
938
305
880
257
923
198
690
483
683
136
356
595
759
320
24
308
959
850
738
580
476
316
895
867
291
831
961
24
150
595
16
579
177
432
740
890
386
468
384
486
730
6
254
527
334
380
85
735
922
159
439
974
8
653
194
348
916
909
254
258
239
858
595
476
479
132
160
288
3
742
63
711
943
243
612
461
457
494
372
956
264
959
609
623
820
242
349
799
932
563
737
100
651
595
4
261
283
793
264
163
570
519
791
648
29
806
749
992
244
282
872
623
64
41
193
427
52
642
370
983
366
780
78
72
891
877
129
415
254
297
260
232
681
802
219
112
362
747
501
560
708
88
15
71
267
326
401
785
629
831
653
207
997
308
583
847
767
703
149
883
51
207
345
280
770
246
35
406
334
117
305
997
65
835
115
915
747
760
721
970
194
641
55
303
936
151
959
208
818
704
80
771
988
19
251
687
857
797
55
677
235
350
902
105
566
447
1000
303
527
28
895
994
105
579
78
40
780
374
51
262
946
851
13
148
936
644
734
807
678
72
771
279
287
90
964
944
252
439
272
880
786
643
952
469
604
350
380
606
60
632
26
873
367
828
41
676
877
72
333
178
652
223
86
788
709
126
527
439
834
44
264
173
396
659
117
904
957
749
668
273
380
107
963
76
948
892
917
370
181
86
43
492
293
671
702
385
784
84
732
260
579
189
288
334
26
548
533
351
82
346
797
507
191
395
831
970
892
333
408
622
128
947
873
199
863
356
141
58
860
114
519
647
540
276
368
27
12
68
25
879
503
996
568
632
891
817
715
181
13
781
90
294
615
496
770
809
58
770
166
348
606
49
950
999
334
674
220
588
913
99
460
220
450
49
126
309
927
930
376
447
593
65
440
74
989
174
551
526
338
121
55
295
119
185
467
98
742
516
871
114
9
245
536
934
24
861
957
84
429
638
220
106
835
607
877
553
382
582
667
875
713
736
970
565
679
821
747
351
763
591
330
942
614
802
10
323
969
778
483
632
36
749
926
247
183
541
425
948
473
779
374
413
839
266
42
632
593
937
938
701
129
69
995
857
493
69
721
733
283
371
708
370
255
45
490
645
995
176
40
435
989
434
366
352
135
376
697
584
937
53
239
97
305
640
962
318
403
917
336
718
418
912
234
564
168
933
620
650
554
76
862
77
164
915
620
52
939
84
27
376
780
6
746
522
433
838
253
220
476
692
757
146
791
406
22
900
396
529
96
796
112
849
371
54
258
817
178
268
729
730
240
751
682
713
547
172
337
313
682
264
904
971
806
34
49
403
14
347
737
838
622
942
910
51
694
625
713
485
315
634
165
644
24
180
738
6
744
70
969
945
715
854
941
358
829
373
811
321
273
22
564
505
479
260
221
684
838
106
963
864
967
874
231
340
333
743
756
248
967
663
897
429
781
280
319
91
778
857
760
814
168
134
975
925
381
967
132
382
856
51
605
440
117
195
557
845
780
891
5
328
998
474
391
876
680
661
749
327
55
473
279
3
30
597
930
417
295
705
504
827
405
765
406
481
226
578
39
403
172
824
900
166
560
165
361
849
994
272
203
452
206
529
878
285
621
640
920
573
184
72
576
392
788
388
808
773
645
721
553
983
616
181
480
890
432
109
574
574
627
803
612
391
204
375
269
897
321
414
898
35
526
170
557
184
328
252
152
949
696
365
652
142
225
889
852
355
103
752
895
641
399
729
870
878
255
333
573
958
293
671
75
500
265
778
132
271
779
429
564
278
67
384
948
550
415
182
932
876
815
580
139
650
433
364
204
167
562
60
79
761
179
992
91
946
740
341
793
249
179
592
662
316
926
355
283
735
215
126
298
543
451
300
286
166
783
45
703
650
329
735
277
339
309
685
527
890
513
637
293
547
962
396
693
946
169
349
677
20
888
126
502
580
601
426
340
254
575
431
268
498
1000
692
539
751
944
864
632
503
595
897
692
526
458
689
491
694
415
636
505
643
217
389
106
222
892
253
711
611
109
642
594
148
323
87
119
627
102
956
21
666
867
586
556
537
510
1
314
858
374
85
70
961
316
874
419
916
703
19
850
614
955
321
686
50
489
255
253
341
46
935
260
361
903
317
158
293
532
10
998
875
207
577
835
506
247
140
66
841
619
98
933
525
736
408
422
218
226
475
435
275
833
977
115
219
418
627
110
9
873
432
286
71
634
741
81
107
865
124
636
931
442
675
506
968
792
570
623
346
734
964
164
220
732
956
21
933
149
730
32
989
24
184
896
551
27
200
300
646
65
25
997
799
230
223
65
546
470
324
158
86
723
6
659
825
802
65
410
131
240
247
400
983
488
41
511
637
173
820
698
847
801
615
656
322
553
273
98
186
774
757
612
163
340
797
538
328
70
630
157
73
261
225
107
553
795
870
198
811
479
333
518
730
687
360
933
376
357
518
272
803
731
806
796
489
944
398
866
624
947
779
577
82
923
868
269
376
141
883
844
550
226
689
164
276
408
106
650
280
8
792
542
940
872
827
84
891
890
977
957
828
982
764
999
738
256
401
418
474
964
861
136
245
37
472
28
413
962
949
185
430
568
66
658
228
625
458
962
62
538
279
566
477
317
280
484
626
89
704
114
128
669
813
314
423
475
348
359
220
659
13
985
996
286
213
123
154
238
491
18
13
151
219
606
866
121
174
851
292
657
156
92
762
593
334
701
947
46
809
553
630
178
911
660
432
687
137
801
642
156
635
229
503
526
479
133
589
279
737
68
392
3
951
127
751
321
39
300
343
573
17
405
825
899
95
459
470
340
233
297
619
81
827
17
149
793
383
179
147
566
284
891
307
446
197
445
752
172
343
256
836
179
757
593
712
43
241
394
829
119
668
85
692
611
936
871
272
37
714
287
109
236
264
110
590
758
818
995
302
917
381
745
414
501
80
130
979
419
511
423
360
725
291
48
664
857
429
244
962
236
980
699
311
506
748
800
161
772
478
903
262
946
605
707
988
510
855
913
554
434
348
883
925
415
608
843
369
667
999
565
97
588
766
265
979
325
766
258
576
966
389
88
51
159
489
505
62
110
476
377
738
157
840
878
836
137
590
553
521
751
483
256
842
844
68
982
253
876
820
487
806
548
602
308
219
589
390
387
788
493
693
782
294
844
986
445
593
807
314
991
563
115
928
195
139
261
732
484
62
122
702
851
320
187
988
871
289
310
450
755
854
138
776
861
264
829
9
839
379
472
19
73
747
469
436
606
296
894
880
392
174
474
589
349
753
306
64
572
425
927
531
578
866
342
672
870
971
277
242
962
305
139
491
317
782
614
437
555
655
341
798
889
844
727
9
210
696
787
720
99
792
656
721
46
944
999
168
612
359
30
594
25
100
341
496
948
297
957
716
60
990
84
321
274
980
489
321
839
553
354
848
466
749
158
731
639
563
13
611
254
463
519
545
979
177
237
247
229
488
765
533
458
109
800
697
130
919
693
456
128
739
622
603
275
132
623
15
413
613
12
325
578
406
553
17
956
883
201
669
142
397
972
899
965
57
513
846
225
980
475
965
783
450
725
685
160
158
222
14
120
32
934
572
732
3
977
276
195
449
700
369
123
51
146
510
204
509
368
393
146
725
14
799
320
721
159
233
948
853
96
745
948
218
559
624
694
603
435
93
879
435
93
214
480
528
227
891
820
268
995
498
883
330
931
901
375
440
260
797
578
606
988
604
544
967
853
647
629
861
321
711
161
13
316
853
67
745
243
777
301
476
373
593
7
802
778
476
291
561
92
387
541
342
736
955
273
549
759
305
82
990
565
507
280
894
517
55
472
469
71
201
800
612
179
147
359
543
383
19
335
217
37
536
500
375
6
940
39
920
443
148
254
831
299
119
950
75
905
223
903
119
643
262
532
533
398
108
372
246
13
572
304
899
645
934
306
895
230
99
273
555
569
604
113
185
305
587
226
162
947
736
697
973
680
167
339
518
791
246
475
426
744
408
6
513
205
414
570
97
308
222
647
561
93
408
742
485
910
757
89
806
116
129
983
200
280
546
348
258
561
319
883
185
576
850
93
591
237
690
389
805
449
149
251
671
784
918
363
759
175
408
503
660
777
23
992
906
345
537
521
956
444
703
777
127
948
11
851
86
492
938
652
176
152
262
241
926
389
645
950
289
143
481
126
208
449
739
14
375
221
452
327
489
849
999
266
360
170
192
311
654
549
839
300
561
132
985
61
138
50
49
789
658
489
112
931
334
622
423
112
863
831
698
512
352
68
184
769
999
547
346
845
708
365
978
185
910
763
42
500
806
894
804
949
178
924
269
106
824
273
95
831
983
863
578
491
633
993
938
547
749
806
192
547
176
156
21
26
445
469
337
422
814
523
943
495
411
596
944
673
442
356
431
853
826
707
153
639
828
390
813
562
978
125
923
157
137
503
383
152
648
809
111
220
627
900
840
764
3
889
16
416
266
265
801
664
194
791
716
767
661
5
355
89
585
65
917
922
49
677
495
926
319
481
854
527
508
564
268
6
663
675
929
334
1
282
115
676
861
917
148
574
767
299
134
433
431
718
753
117
508
129
658
942
478
720
39
753
80
927
211
819
519
873
297
624
471
97
812
501
947
868
29
519
752
276
591
179
399
801
497
470
561
807
668
8
983
743
759
52
925
896
811
863
142
804
524
891
582
836
861
647
494
783
956
97
34
649
459
109
860
758
62
95
787
843
439
650
987
344
765
940
836
338
202
256
151
916
210
256
83
102
549
228
475
546
145
240
743
372
886
580
522
667
590
86
702
331
115
318
758
76
154
291
575
193
508
870
275
128
320
537
501
489
657
141
385
676
239
171
861
442
294
726
303
280
391
204
351
425
698
659
956
17
200
280
56
279
411
732
310
707
642
985
301
15
844
771
222
921
421
337
682
466
33
341
561
80
120
821
193
20
259
334
262
34
505
166
525
501
433
413
135
12
304
55
527
726
23
609
442
38
975
37
888
995
766
408
415
728
566
426
788
10
799
93
916
5
913
798
279
89
350
514
360
858
831
151
775
309
259
353
498
464
132
296
138
947
196
101
587
93
127
391
122
574
34
789
556
648
941
74
434
389
878
943
71
918
298
125
224
700
440
247
572
963
464
441
817
381
453
110
901
595
462
342
30
869
964
980
701
772
272
791
977
353
224
952
637
984
892
80
254
461
442
218
504
636
532
20
78
700
965
153
631
655
671
747
145
16
838
556
688
575
786
812
252
693
947
499
690
895
137
692
263
361
255
658
322
632
904
471
786
328
737
569
728
93
181
558
786
683
429
2
915
971
619
10
957
561
115
666
344
50
315
300
299
742
673
499
363
719
659
139
571
251
7
648
36
712
304
56
70
883
187
451
855
142
159
423
185
98
581
649
268
139
212
566
142
899
103
798
49
802
885
339
895
408
891
995
473
261
145
761
386
741
229
90
697
873
483
926
197
645
836
431
75
393
843
745
501
546
542
183
649
453
980
706
71
985
391
462
351
566
450
551
68
261
42
111
392
141
581
619
194
386
307
724
752
516
657
451
495
210
799
256
299
500
452
555
256
996
821
353
870
939
401
818
582
221
273
606
594
373
740
603
471
351
672
934
964
200
447
476
6
222
24
587
185
445
826
313
203
505
937
188
999
152
250
625
800
543
799
235
565
346
61
166
58
219
220
81
520
371
239
231
832
333
798
829
901
163
174
721
304
974
651
906
55
266
885
468
697
226
101
487
906
369
173
488
239
790
588
792
549
798
618
335
578
728
129
705
861
173
890
479
52
295
423
294
274
355
587
80
249
316
402
705
711
431
929
956
707
465
153
614
410
253
614
340
355
998
58
291
844
733
73
78
590
522
596
223
952
496
593
420
750
943
490
764
206
559
464
515
355
333
692
942
408
383
584
573
595
506
914
282
527
535
551
161
645
905
770
464
579
750
550
288
718
884
654
830
938
709
273
479
446
383
509
689
719
129
953
200
747
331
555
241
950
841
308
748
399
56
357
572
227
485
382
692
785
762
282
942
42
32
237
293
572
849
201
603
567
712
99
715
459
917
860
174
908
781
572
277
7
551
274
532
721
141
956
532
154
609
966
697
518
634
257
628
258
4
958
173
840
901
638
680
46
238
800
440
971
965
584
508
551
652
991
164
384
292
884
917
910
252
236
420
48
132
786
182
317
735
253
285
918
906
242
837
804
943
134
206
22
380
50
577
435
5
875
755
23
503
651
35
927
693
617
857
918
847
71
664
833
741
72
609
347
474
445
700
151
155
457
554
772
435
861
529
345
289
840
823
600
73
996
948
937
434
402
91
487
270
21
263
307
349
435
371
102
188
486
861
308
830
686
866
602
153
909
243
798
187
130
434
751
983
209
848
831
804
31
386
173
616
671
706
911
894
50
94
49
558
987
409
724
197
275
406
21
361
308
656
7
298
493
363
280
436
770
992
46
891
491
204
168
741
842
2
812
397
898
465
239
135
914
354
217
895
245
826
346
193
505
106
280
71
413
428
971
271
594
354
82
607
531
901
863
78
41
439
383
119
488
745
259
52
142
448
335
627
702
92
652
743
889
992
868
486
921
338
800
9
291
542
648
13
472
562
601
956
870
768
894
760
822
271
420
819
886
735
469
540
694
418
965
998
933
664
131
3
848
577
86
156
256
762
358
278
317
786
499
255
746
388
956
265
895
649
328
423
740
905
170
708
243
935
311
745
623
510
68
606
826
550
284
346
637
18
712
636
687
855
281
249
77
584
949
878
965
453
116
198
805
179
612
589
266
203
359
299
701
897
778
919
229
930
665
451
649
649
49
470
411
755
688
422
312
281
736
514
802
885
940
805
912
594
547
519
470
262
611
975
807
324
617
438
57
185
461
434
789
443
376
464
897
406
823
958
524
7
452
415
744
409
526
150
488
730
839
226
998
406
367
686
659
585
320
678
752
805
44
668
556
123
428
252
195
494
772
625
946
441
810
993
291
963
90
336
45
628
865
15
582
602
589
983
129
110
937
377
934
985
754
808
847
494
873
965
394
88
194
80
850
819
961
579
864
446
525
552
139
366
134
121
503
493
186
117
64
794
63
508
776
248
281
482
247
433
974
869
127
590
417
468
341
820
574
119
263
618
103
428
878
758
459
183
981
40
395
821
457
242
920
665
899
892
225
886
432
124
88
268
626
143
932
616
136
568
715
881
176
362
565
468
417
286
155
618
446
485
498
451
508
280
483
951
229
441
902
854
215
222
729
272
380
901
713
402
73
253
36
557
376
904
726
65
896
974
327
623
953
877
429
354
67
883
897
687
441
476
1
797
868
320
968
76
966
272
412
294
532
748
385
349
812
81
773
920
870
515
625
769
267
106
918
201
1
767
299
437
269
370
747
197
888
461
270
294
366
28
922
482
336
791
142
310
943
892
134
643
987
756
487
875
23
340
440
628
405
792
759
872
791
560
341
803
618
790
557
86
605
861
955
342
82
500
321
466
890
636
636
890
720
800
245
138
453
636
216
437
604
363
625
102
552
985
160
289
981
51
744
511
892
246
982
107
551
289
134
885
959
847
784
918
336
734
87
98
606
368
919
91
166
776
487
217
201
508
415
951
880
758
482
338
563
90
463
514
256
168
578
697
741
905
311
187
471
174
669
117
471
637
18
968
104
703
251
818
224
281
756
825
656
235
879
169
568
457
298
61
525
80
778
279
406
641
691
543
296
897
381
917
154
764
539
173
888
483
340
98
146
946
537
28
575
673
55
66
582
245
186
447
850
99
377
402
103
145
784
905
11
68
808
810
437
296
810
187
720
455
894
810
833
441
822
543
513
34
532
377
803
192
465
843
531
115
936
345
222
480
817
42
874
225
300
339
640
381
217
920
812
431
585
111
162
628
36
634
177
860
956
800
712
350
362
601
818
336
182
416
776
529
8
853
981
311
608
623
358
67
311
394
222
46
289
539
504
370
451
826
35
731
161
634
621
718
691
557
130
169
497
583
94
585
864
431
483
207
295
60
423
947
304
153
597
211
743
700
148
417
567
587
777
196
404
670
629
446
979
715
957
643
928
85
553
458
129
498
400
257
284
675
236
753
850
835
932
369
212
634
413
790
730
969
104
278
757
146
991
65
768
83
389
539
859
133
156
79
352
366
641
408
74
393
539
447
865
449
750
793
555
375
605
473
598
513
699
716
91
424
466
251
524
671
945
527
518
789
764
153
347
313
641
688
68
164
17
277
75
944
912
4
773
336
182
791
654
979
311
734
140
799
147
431
814
205
38
109
812
873
821
70
245
914
385
862
858
458
404
10
639
589
25
178
691
910
593
422
878
739
447
330
665
816
11
14
953
486
511
110
133
303
106
923
740
205
589
856
42
283
918
133
631
991
610
88
303
673
845
267
358
429
97
217
715
798
877
855
314
770
401
503
116
613
164
714
965
892
738
822
742
608
68
500
778
64
960
802
842
435
134
698
234
299
82
628
500
553
632
799
591
369
145
732
331
163
699
344
450
186
386
793
138
525
873
915
607
377
537
124
246
834
558
941
461
39
559
275
308
963
861
304
971
39
751
122
667
668
2
642
533
878
665
577
693
581
218
395
148
431
54
162
28
808
129
732
134
376
40
885
830
362
955
875
73
498
69
569
838
268
107
83
622
226
481
427
984
655
644
682
228
591
222
880
690
833
850
142
913
671
102
245
599
534
470
420
784
452
131
101
286
427
254
565
736
94
929
633
753
934
577
603
278
374
590
550
899
476
764
301
423
433
63
496
559
916
302
216
566
221
706
254
901
72
810
242
251
945
489
750
927
48
29
608
402
570
359
883
369
352
895
328
582
265
225
937
603
776
907
689
643
464
17
196
688
931
212
762
434
621
510
276
742
498
223
26
717
78
209
917
218
488
504
496
875
541
994
480
712
598
163
572
475
855
208
807
282
61
729
390
974
452
131
739
7
255
389
245
787
971
712
277
143
493
68
183
754
943
657
765
497
850
391
324
935
926
71
963
338
94
86
761
3
112
335
929
51
881
773
547
867
514
410
269
83
671
414
800
927
185
929
514
495
705
940
22
500
326
80
805
959
704
279
501
826
782
738
986
55
648
659
280
803
246
869
889
950
222
373
855
931
376
625
967
196
96
738
71
380
905
410
597
724
173
196
403
492
469
147
993
646
913
749
904
51
41
649
362
984
226
801
808
358
166
333
441
836
1000
411
842
830
226
105
782
94
597
877
982
679
268
885
222
322
908
911
937
280
649
274
298
291
438
913
38
102
79
32
385
830
528
409
109
490
267
309
959
587
375
710
853
308
444
119
538
182
6
702
596
680
153
626
915
304
521
325
153
67
632
287
354
974
183
873
148
785
9
516
945
876
151
182
875
82
137
513
554
931
424
114
739
784
442
383
683
665
685
974
521
880
348
75
5
89
334
280
388
597
213
760
606
863
252
565
379
568
976
935
982
665
959
15
701
417
832
660
198
859
182
734
835
336
992
522
7
480
671
253
276
458
908
892
145
931
882
892
474
477
80
526
81
102
293
271
699
432
5
843
681
502
939
566
383
319
24
926
240
61
702
902
578
728
811
445
547
410
536
295
759
952
889
309
703
944
667
823
537
279
819
48
791
179
77
688
789
447
501
905
530
966
437
496
111
329
724
916
986
49
612
12
387
365
217
283
267
991
261
169
56
772
633
43
457
960
334
710
824
701
572
185
473
32
643
93
765
472
192
482
580
749
560
502
19
536
834
865
740
603
816
940
92
656
42
948
332
555
906
80
933
764
657
892
389
922
496
401
657
828
143
956
814
435
562
143
881
256
84
612
527
787
572
278
978
691
899
291
518
139
395
384
674
711
125
331
77
24
447
371
297
551
103
974
960
891
58
190
626
163
548
728
881
530
651
941
366
206
55
255
532
280
399
752
107
561
250
477
285
525
527
104
513
279
773
53
192
489
633
152
911
981
939
760
250
778
780
612
761
354
822
634
524
331
150
377
422
770
520
417
39
389
138
608
51
195
351
625
729
706
849
520
927
963
793
747
500
842
539
749
214
953
89
48
394
257
283
972
280
809
872
630
424
922
123
575
402
864
638
370
667
768
128
273
923
779
512
447
197
615
76
895
701
300
653
244
582
79
850
696
941
267
553
380
235
422
503
902
609
662
98
673
422
586
727
504
722
278
145
974
129
630
830
581
80
325
474
751
522
308
507
916
405
529
169
866
191
85
477
423
601
9
327
905
181
767
658
556
395
60
647
863
711
995
602
301
628
318
581
862
416
12
968
646
64
924
329
9
19
131
746
212
71
172
444
659
546
895
809
14
12
389
965
106
231
137
467
999
264
25
654
304
669
1000
107
85
161
611
726
555
201
890
242
564
962
961
794
546
23
706
905
408
987
710
671
83
854
696
409
606
809
762
86
265
532
618
800
878
767
829
463
713
17
49
569
675
797
870
986
466
479
906
550
776
570
822
664
986
867
835
677
431
91
812
779
271
734
715
977
752
483
803
795
674
972
311
787
941
82
283
974
766
426
828
664
80
929
787
49
528
818
758
553
783
537
150
810
998
244
56
40
683
932
298
79
11
846
905
475
490
116
178
118
300
668
104
9
264
308
634
584
985
584
168
60
594
874
807
624
8
655
85
422
602
372
984
713
343
669
467
958
506
653
823
277
383
531
205
44
281
404
460
38
178
101
474
747
712
942
818
174
688
8
609
142
553
225
912
164
143
144
692
17
686
175
595
327
945
74
944
778
319
853
220
19
269
782
497
854
510
184
754
163
271
618
836
82
224
487
280
258
898
84
926
438
556
188
518
477
580
559
601
268
798
326
203
11
274
859
615
661
997
7
506
285
369
344
611
257
208
373
437
154
172
229
236
923
636
217
497
329
716
164
110
553
329
903
319
687
692
369
751
623
456
762
213
970
711
578
921
648
428
837
120
640
461
373
603
273
899
460
181
503
978
206
771
480
930
907
863
937
746
621
991
569
419
515
707
755
539
693
773
74
547
974
853
228
847
526
544
262
855
189
812
581
793
475
81
838
50
982
148
759
907
354
147
616
375
430
464
799
65
596
431
327
187
105
559
562
86
822
688
236
998
809
611
663
527
518
235
308
169
699
606
890
497
587
116
354
447
483
19
69
991
503
546
729
536
120
926
617
904
673
361
351
917
814
860
835
739
643
159
138
729
232
587
935
80
859
523
447
777
734
898
822
444
929
145
215
931
703
964
341
560
999
375
376
98
182
377
973
64
136
50
801
327
609
403
188
477
93
965
299
512
138
710
845
886
511
741
90
521
436
245
194
599
275
559
447
41
610
679
780
829
170
698
944
157
761
393
950
14
866
914
517
635
97
953
301
155
766
505
890
824
514
93
1
167
476
297
507
254
839
931
105
131
784
756
746
361
75
181
996
870
50
249
524
761
436
742
522
472
634
535
727
784
648
43
264
985
504
734
22
290
581
36
66
521
808
413
536
936
497
191
413
843
387
321
456
861
395
332
807
638
408
589
832
185
790
850
491
662
276
176
777
475
146
53
564
834
657
860
224
998
120
713
332
291
777
721
762
931
256
706
173
675
85
870
314
228
129
674
671
426
61
513
964
96
431
985
520
637
747
600
638
839
654
512
430
269
108
892
622
819
562
4
794
821
670
673
970
291
894
744
202
894
888
332
707
200
495
251
822
308
571
938
396
417
776
761
977
114
503
945
973
434
213
859
519
852
489
408
987
668
657
990
249
986
862
244
22
238
412
339
820
745
188
485
142
558
528
762
613
20
612
842
79
668
818
836
442
774
508
179
580
926
584
452
748
970
2
205
680
801
939
922
34
842
643
558
230
308
511
148
746
475
910
593
64
196
721
892
39
259
828
219
148
696
961
522
841
503
917
781
215
41
649
825
252
533
582
201
719
671
840
872
391
475
311
311
635
134
887
551
327
54
590
495
743
228
957
705
950
675
175
391
749
351
513
537
706
754
168
770
823
41
418
798
46
352
933
332
373
62
591
735
735
120
642
21
912
509
370
98
437
689
987
150
517
479
169
137
325
778
659
505
930
494
664
612
685
947
382
395
488
873
968
191
212
72
911
711
353
901
729
676
819
912
533
572
768
551
517
235
927
229
439
844
447
842
962
101
514
431
248
686
463
551
401
497
408
597
116
952
808
842
641
279
800
33
417
378
397
726
231
34
474
780
714
940
107
930
968
966
82
913
830
572
841
270
719
598
796
308
405
876
753
610
966
129
955
962
53
680
595
316
393
863
724
854
10
985
695
170
178
463
719
412
900
745
823
177
689
388
406
573
521
138
767
368
466
971
512
985
492
84
416
194
172
823
86
923
440
54
68
779
284
718
609
800
211
525
826
457
905
678
937
984
176
490
433
877
993
157
388
790
190
439
212
367
906
117
120
896
623
689
19
325
681
429
193
746
245
342
448
741
828
161
117
896
739
994
298
448
42
92
422
516
620
694
571
622
658
301
848
53
333
523
271
37
385
891
885
442
560
551
264
461
772
585
84
881
38
65
834
187
578
827
284
520
556
158
789
436
73
737
645
679
829
415
605
259
819
18
693
609
739
803
394
614
688
740
414
195
647
89
793
505
287
992
676
130
75
682
626
80
191
103
766
521
640
643
142
743
296
468
70
909
821
272
841
593
37
592
919
553
769
724
186
804
98
720
148
343
61
522
919
274
277
165
91
286
306
460
253
160
193
274
253
184
196
453
553
454
218
695
11
959
710
570
317
259
610
98
121
983
253
993
476
586
394
169
157
593
132
67
487
542
858
695
782
120
466
272
73
897
442
185
728
371
203
327
191
302
196
264
842
297
633
355
361
278
394
533
683
117
193
334
651
57
195
803
641
406
616
792
71
808
7
413
353
758
960
729
90
358
806
251
211
285
219
154
560
701
233
754
66
430
252
574
54
400
211
408
330
493
646
332
78
456
437
233
98
541
390
646
105
746
967
127
853
330
507
856
448
873
560
333
415
417
52
863
254
801
637
770
392
237
310
29
566
469
661
539
490
929
20
960
247
188
262
430
666
210
308
705
978
538
31
252
538
12
825
472
493
812
291
326
574
373
855
850
447
481
804
62
540
783
84
613
116
900
372
995
290
706
208
317
496
817
728
737
264
240
887
343
254
599
596
146
585
367
789
574
687
954
111
457
157
68
259
325
733
529
448
25
285
780
779
628
612
794
244
545
80
32
184
437
802
922
248
508
811
138
152
152
162
500
953
691
500
491
743
877
270
60
191
880
879
786
561
755
461
133
864
659
446
370
629
519
375
832
605
415
861
284
613
573
502
593
285
966
352
461
732
915
635
329
840
301
722
229
268
261
54
816
428
153
962
125
508
514
533
416
427
325
858
278
298
845
609
213
155
603
580
159
252
329
695
749
235
280
604
145
323
771
360
755
583
379
931
68
426
630
874
664
523
249
672
422
245
787
656
505
488
824
938
932
482
584
537
931
262
622
328
395
576
866
607
117
662
844
976
60
937
17
271
158
54
822
469
853
531
701
363
964
102
419
760
590
692
449
591
294
273
216
927
403
57
436
282
485
618
685
113
358
651
550
11
909
840
344
834
713
950
730
679
868
259
17
189
631
82
99
890
766
378
134
646
350
14
562
483
124
772
567
759
710
164
214
20
954
134
675
168
256
622
772
245
994
210
426
4
687
868
819
155
491
673
39
7
290
642
929
711
383
718
348
239
584
44
996
615
632
939
886
771
215
667
212
466
10
278
47
552
977
12
495
746
163
298
353
820
232
397
997
809
24
259
513
895
254
953
349
676
909
205
710
740
337
333
427
727
911
431
664
582
811
717
443
293
530
156
775
90
642
508
900
414
587
799
774
948
104
807
49
538
442
54
154
33
282
692
857
167
471
716
368
75
946
684
730
432
900
459
68
751
258
563
810
577
300
806
818
937
184
717
191
285
800
23
175
60
625
682
606
418
822
810
805
793
926
296
98
794
6
846
632
279
726
853
207
824
40
104
860
780
19
455
13
310
120
474
227
128
344
36
752
841
722
21
495
362
773
577
396
954
545
432
400
673
640
247
115
680
268
828
854
47
495
389
984
299
239
981
980
518
393
356
470
570
560
895
283
201
337
160
391
751
442
596
114
20
490
459
593
360
837
480
183
197
331
127
886
327
763
966
798
785
708
597
873
302
887
649
849
804
521
294
481
867
900
796
135
134
419
306
391
558
992
419
855
706
740
452
345
131
566
918
387
265
8
129
846
598
828
810
84
745
798
107
196
376
337
743
741
602
910
171
906
715
126
272
947
521
614
288
830
844
832
718
730
484
985
184
194
571
428
548
394
656
96
334
597
616
324
885
506
657
239
708
299
169
58
828
390
404
521
768
92
405
488
755
189
667
911
103
789
615
392
167
781
428
704
412
221
48
371
485
722
913
938
965
161
235
375
288
937
232
238
982
476
628
597
961
783
802
107
18
404
761
132
231
689
107
347
86
864
760
510
774
577
524
688
759
644
634
655
462
149
910
366
577
762
399
784
540
570
787
867
621
104
758
933
668
641
612
245
695
450
126
549
163
327
117
270
996
742
9
728
495
655
384
541
595
785
326
240
653
470
517
852
462
124
862
582
632
465
808
662
9
913
184
375
410
897
715
195
504
846
862
940
141
897
546
333
886
718
510
957
68
713
376
951
150
477
222
89
635
245
229
37
722
31
488
928
224
883
134
442
984
279
585
740
595
652
684
168
670
214
195
551
358
869
163
204
268
212
456
542
128
399
699
294
190
691
849
349
678
962
160
741
499
900
980
398
480
10
24
788
409
300
725
711
979
855
139
57
411
103
70
5
797
960
834
722
95
286
443
178
818
124
720
607
591
775
117
536
334
517
122
956
163
277
824
457
643
229
527
357
553
907
730
873
483
905
211
39
618
182
85
741
346
559
37
745
676
348
538
73
432
573
41
56
629
615
71
297
480
119
625
903
11
923
912
136
262
992
210
72
316
136
640
284
696
861
107
584
379
527
313
789
649
198
12
447
669
435
843
298
556
614
150
67
718
176
168
891
692
96
393
331
812
292
89
436
199
954
896
69
889
496
901
808
307
792
881
886
480
167
466
556
138
916
904
37
538
97
123
454
878
279
782
597
774
376
78
595
976
262
677
193
867
357
836
467
730
351
722
858
58
272
279
371
145
244
541
470
173
84
959
534
919
361
444
371
340
550
495
879
973
235
283
858
579
481
859
997
209
56
353
94
445
242
783
489
245
507
234
631
637
830
355
822
394
91
982
29
639
541
875
24
399
845
999
871
288
322
179
414
852
150
406
67
112
115
147
977
112
105
546
884
911
764
802
37
217
756
56
67
828
779
485
999
517
653
450
499
103
338
700
699
886
2
431
114
834
500
192
73
881
514
727
549
86
79
694
363
362
831
972
141
532
821
331
485
878
68
393
271
950
953
339
604
188
475
959
991
670
975
488
117
693
605
969
950
810
250
632
375
645
161
295
505
58
776
803
705
335
553
741
206
614
695
606
481
713
32
42
999
103
90
397
284
70
855
431
224
263
509
179
412
892
488
398
105
991
214
149
406
468
824
87
903
108
954
5
345
386
451
198
200
73
953
729
402
80
436
964
265
427
763
452
994
467
159
941
495
429
642
618
104
772
376
582
333
801
694
278
189
558
606
894
837
769
680
734
199
775
897
815
545
834
787
815
918
634
334
819
192
267
71
205
530
582
279
185
463
732
843
283
310
349
444
739
293
32
291
210
190
813
888
654
501
96
864
208
769
617
3
278
180
342
860
970
815
650
283
468
380
151
492
863
456
856
117
317
148
431
104
388
137
28
981
214
552
231
70
571
107
369
464
417
420
844
241
122
743
247
396
775
844
567
342
709
739
972
953
93
530
121
958
144
877
703
243
72
540
929
167
588
573
987
184
796
351
56
402
615
895
935
998
629
885
960
620
304
755
777
664
344
392
906
319
729
198
377
602
709
121
748
762
258
873
538
393
284
124
926
519
739
493
524
449
774
569
316
997
55
953
135
553
426
937
667
22
612
140
734
141
483
991
158
970
838
518
990
952
408
559
515
180
826
385
939
732
465
508
205
517
950
31
84
928
480
807
705
291
835
987
279
894
493
988
704
431
41
142
924
380
14
170
374
96
779
463
15
636
616
242
75
259
423
121
147
985
221
962
343
488
70
935
497
323
545
607
327
328
858
477
480
243
806
245
826
484
106
583
392
891
753
316
316
372
856
738
426
826
951
525
907
315
866
94
34
969
374
398
761
313
242
248
94
976
353
295
875
123
211
431
710
983
121
604
453
828
488
932
500
66
307
546
992
683
693
521
472
405
393
402
656
537
882
799
589
901
616
53
980
154
227
867
511
623
398
510
168
652
404
205
353
406
446
695
753
545
525
219
94
631
232
538
413
195
463
615
16
740
205
244
642
328
221
115
348
801
912
42
596
638
833
92
162
42
118
257
565
447
198
933
673
805
768
155
698
984
947
292
994
792
607
487
408
559
351
92
942
955
694
419
18
787
659
848
759
723
475
192
54
191
841
861
846
432
871
96
486
656
368
86
283
92
482
932
359
767
276
68
554
528
356
603
47
396
249
769
856
778
511
908
123
663
968
749
797
642
627
230
710
319
693
198
45
704
825
859
594
461
400
85
794
681
435
87
747
978
816
354
399
597
774
836
457
206
738
654
780
190
212
404
866
42
812
212
376
389
69
254
969
242
826
663
588
312
416
493
631
126
792
989
64
228
906
253
443
117
567
704
504
234
819
848
610
933
203
363
559
683
43
59
366
681
863
257
568
138
430
65
172
597
742
948
219
892
523
719
624
245
670
582
98
874
530
814
956
330
895
424
656
960
546
511
556
207
660
631
166
226
318
160
246
63
944
264
318
984
182
534
282
825
130
823
22
457
256
760
696
315
464
437
64
580
636
834
437
9
503
213
744
995
431
446
691
991
210
219
93
929
508
546
101
645
392
190
802
210
554
296
554
67
600
58
156
967
578
194
710
732
390
273
8
209
291
28
249
358
337
931
897
250
21
555
560
889
275
987
673
930
383
747
81
978
208
350
640
586
367
517
202
501
947
128
25
588
123
935
690
595
334
387
730
112
583
95
979
602
627
490
990
583
353
425
986
75
429
513
402
60
644
822
561
79
25
479
393
580
911
324
247
808
806
912
91
909
198
945
790
813
414
675
933
517
416
744
436
447
905
667
65
933
780
772
980
749
557
246
888
774
812
46
702
270
259
593
600
884
893
239
859
608
670
750
552
494
756
771
855
649
641
93
854
347
636
806
350
21
363
899
642
744
756
10
133
761
965
387
53
191
311
652
275
384
370
219
794
903
992
445
483
915
409
334
485
567
573
321
529
768
72
914
574
664
287
549
406
68
607
630
23
16
249
586
193
231
957
630
566
967
516
360
327
72
511
442
474
106
614
300
170
248
456
113
589
135
290
310
347
291
962
786
7
877
537
175
630
671
755
334
567
520
852
2
225
194
65
448
89
37
968
185
592
158
535
934
567
353
747
765
674
721
2
756
690
192
395
72
715
887
500
995
105
557
779
145
762
227
436
994
621
537
331
609
86
436
594
842
296
515
590
245
533
36
142
489
536
281
609
191
455
800
412
973
997
654
354
328
402
16
530
431
664
152
177
605
881
919
788
378
732
639
730
482
941
663
562
351
331
734
477
327
166
500
136
442
817
934
604
71
969
710
112
26
800
458
736
729
409
430
578
757
672
695
424
51
961
276
242
991
578
182
680
449
362
536
35
55
480
894
669
9
892
800
557
469
213
572
29
31
952
179
326
615
637
764
968
79
234
216
739
192
965
91
111
557
978
363
769
370
125
660
579
568
789
718
527
192
976
150
185
559
850
169
216
816
372
47
243
929
394
388
177
534
420
255
582
97
125
226
157
71
263
49
542
91
408
980
205
519
896
782
579
595
859
490
63
338
152
158
472
185
673
822
197
460
427
107
236
389
29
761
598
342
350
899
805
628
503
141
8
609
957
223
583
871
598
553
347
207
27
380
526
577
348
736
632
536
541
36
267
964
602
651
471
818
828
693
426
952
821
830
414
544
578
856
321
380
434
909
779
444
277
962
741
768
128
503
760
527
862
653
388
278
563
773
981
528
288
69
648
390
953
131
627
730
234
833
708
480
966
951
466
398
89
496
493
728
632
963
441
988
617
415
724
482
345
998
696
449
777
618
891
616
199
726
123
764
321
294
992
655
785
820
303
852
33
101
693
957
236
254
31
417
361
410
975
927
993
734
612
603
436
345
357
277
638
728
971
175
166
831
155
430
159
115
717
760
134
419
344
991
343
395
70
74
168
140
814
113
386
165
470
731
952
771
734
792
776
374
931
109
91
585
572
359
603
188
88
799
767
747
126
458
784
763
440
186
638
91
34
333
390
986
906
734
683
608
426
81
455
119
630
927
299
465
426
84
378
838
44
669
62
80
229
576
364
820
632
342
712
986
781
427
33
197
389
816
789
788
616
150
691
825
326
452
824
964
572
589
261
377
310
418
213
753
149
211
175
576
315
595
163
992
355
834
552
990
861
401
578
179
420
177
789
884
390
715
873
938
367
550
201
335
413
120
538
409
443
538
888
170
782
706
594
113
195
947
20
271
205
41
100
254
903
518
689
733
128
412
368
278
105
806
861
637
538
54
175
626
967
244
890
510
354
986
893
508
550
625
632
546
160
223
563
126
888
581
193
161
323
701
14
915
268
420
402
285
440
182
197
714
523
958
725
758
322
240
203
896
944
116
660
54
835
135
653
920
525
417
12
246
73
56
529
323
998
796
551
100
163
101
591
377
827
102
82
758
259
793
90
110
851
534
211
933
815
324
809
936
369
633
453
673
149
351
181
751
137
323
846
387
878
846
691
453
868
661
150
893
807
900
320
652
836
131
320
705
513
313
292
724
526
248
46
154
301
747
732
834
743
699
529
58
487
662
483
897
586
753
796
627
107
336
5
809
56
214
54
534
271
736
110
636
710
844
345
8
522
957
625
913
235
872
485
192
596
392
61
697
930
500
32
513
96
71
775
620
832
356
723
605
768
677
944
699
91
443
546
49
617
929
843
995
377
868
539
780
154
699
106
558
880
842
651
781
720
495
190
204
197
930
974
169
50
143
738
481
107
675
289
269
112
1000
563
796
519
316
240
701
327
33
799
997
787
924
779
68
195
750
754
253
592
525
754
516
153
920
461
343
985
570
312
220
530
925
604
671
704
879
688
704
160
889
667
423
848
248
699
900
335
997
607
776
880
494
473
364
566
449
645
137
89
67
54
805
540
584
852
180
304
421
937
444
858
553
796
576
399
703
555
3
466
312
836
384
277
832
349
726
758
706
460
379
660
48
322
360
165
524
408
339
682
160
91
761
586
854
17
670
73
135
356
425
276
985
526
240
371
667
769
810
892
683
101
862
90
469
687
375
709
220
350
422
915
285
863
836
260
785
584
82
851
711
246
515
662
14
159
672
299
947
825
447
543
814
967
943
286
135
661
702
628
633
466
553
483
69
134
57
268
479
225
324
651
585
776
725
959
763
375
850
444
74
596
597
706
969
47
816
810
212
365
658
773
627
851
645
760
470
261
181
11
926
934
622
300
156
107
521
204
344
948
496
370
530
134
77
260
832
803
479
567
721
723
10
805
179
211
742
519
946
293
227
546
593
645
692
461
453
348
516
707
388
216
870
784
507
199
519
472
246
751
126
97
124
856
498
941
743
514
551
566
711
359
253
876
537
565
348
216
959
883
958
116
614
167
945
904
366
216
519
477
406
407
686
888
941
939
838
161
185
984
489
214
218
480
724
297
252
169
929
387
837
594
54
179
649
362
519
316
655
500
666
269
419
680
24
451
846
513
224
518
697
547
241
541
64
815
13
425
162
689
132
376
531
136
177
424
247
397
558
697
32
751
206
869
122
490
289
890
115
23
140
93
390
222
578
211
285
289
856
428
638
789
62
667
800
839
782
435
506
742
381
851
77
886
939
543
793
956
418
200
761
55
204
63
118
657
957
512
474
705
203
347
46
54
699
153
868
653
599
82
472
746
135
449
987
266
743
884
952
852
526
303
166
154
16
600
912
407
732
38
17
749
349
855
976
385
943
957
91
563
635
15
884
636
791
103
797
524
301
888
868
393
824
370
144
305
799
75
899
982
507
611
344
828
926
553
407
627
640
522
34
792
565
628
214
264
405
144
671
74
162
801
269
455
768
227
831
1000
866
158
213
669
247
491
645
697
479
851
82
533
128
519
842
102
674
850
581
136
306
330
396
794
605
646
970
867
756
892
315
393
69
926
959
941
143
526
635
642
981
348
643
588
818
693
341
650
97
11
394
512
669
465
390
405
244
347
429
854
576
33
887
577
670
746
276
125
295
366
787
831
539
498
211
466
554
383
993
343
799
115
117
320
68
676
12
294
100
765
154
518
359
953
81
424
771
361
789
80
290
508
799
224
352
502
383
721
934
966
763
18
892
66
82
747
608
192
316
227
319
236
913
919
349
539
954
233
905
88
479
484
167
674
292
889
289
667
57
826
373
253
339
219
140
589
82
922
83
847
436
98
873
780
808
98
115
618
655
450
329
735
892
203
708
836
614
513
185
582
777
58
801
610
864
164
956
637
812
84
844
382
286
51
384
427
861
166
603
675
866
61
354
488
713
439
879
558
457
192
167
529
330
161
286
285
496
588
942
894
730
244
308
458
705
454
479
161
3
433
47
445
530
893
964
63
351
927
844
432
420
592
563
509
110
967
825
806
879
458
75
50
544
782
992
927
421
251
750
583
871
181
823
544
394
935
934
364
719
538
330
937
872
728
113
703
815
590
766
447
106
341
27
573
820
984
848
879
799
837
649
742
284
870
291
70
293
875
590
496
313
564
374
833
510
836
732
173
924
699
672
820
330
36
527
190
321
300
615
905
279
133
449
110
91
131
175
202
266
521
353
710
838
763
5
995
527
462
392
627
598
297
514
401
379
944
224
857
639
160
101
619
781
661
669
665
428
180
31
94
983
603
238
894
103
400
582
474
749
140
276
34
385
390
538
992
450
858
533
368
611
864
243
654
762
883
486
834
216
120
687
841
194
194
679
68
588
541
317
124
625
584
843
705
594
471
25
119
149
963
513
600
532
384
967
877
67
996
426
406
938
292
264
727
24
569
317
30
968
68
822
767
477
90
441
885
95
415
627
362
852
645
634
753
464
486
493
476
537
348
574
216
317
237
816
748
285
320
634
362
328
450
437
248
701
983
116
314
809
308
210
738
684
900
996
135
678
438
766
206
375
817
96
610
785
598
31
38
906
25
638
578
610
434
559
364
718
103
334
873
671
13
364
724
505
934
162
568
521
814
578
924
539
122
637
926
720
81
445
53
946
623
604
938
148
596
623
157
576
490
758
856
792
646
763
829
681
258
930
885
779
913
932
174
354
617
858
866
844
550
895
865
193
504
405
973
115
28
134
255
255
849
133
242
313
192
854
276
199
24
665
954
745
869
943
381
166
354
75
686
45
855
878
698
249
815
407
470
273
822
806
344
90
715
601
372
929
276
485
154
324
589
726
370
118
665
981
520
266
755
627
74
176
989
471
393
73
564
178
502
339
904
741
499
622
277
372
336
884
76
970
418
54
628
671
84
583
248
134
765
918
752
688
150
928
864
172
551
616
123
580
58
292
674
701
990
279
959
509
833
859
779
168
53
775
723
666
563
140
434
624
407
448
962
151
982
680
298
664
621
506
324
898
279
65
321
640
889
49
331
286
859
641
613
570
586
242
175
419
839
495
422
516
505
237
167
155
515
879
228
732
161
680
530
888
599
968
347
311
936
865
502
954
855
199
742
752
726
480
559
926
612
927
181
844
41
525
697
285
971
777
54
88
582
517
477
201
670
868
526
119
750
78
581
216
361
281
324
619
732
788
423
832
794
533
523
902
569
121
495
415
619
120
779
79
110
840
675
369
449
146
695
442
276
691
610
653
357
918
102
287
704
570
654
180
851
846
278
200
650
704
891
560
592
394
262
81
628
273
135
741
929
869
864
762
360
83
606
795
302
320
148
106
643
239
388
229
367
9
520
873
630
177
53
875
563
438
408
338
383
796
175
272
191
497
379
858
307
280
470
523
693
310
579
100
953
932
746
382
421
781
224
321
904
712
886
393
136
405
274
440
69
549
516
488
471
273
693
978
364
86
762
854
126
660
144
321
683
197
497
935
378
348
947
90
1
159
559
776
152
467
73
343
279
881
964
274
882
499
664
359
504
81
851
443
585
628
799
581
490
446
758
382
540
409
393
743
502
231
875
455
379
540
600
281
849
75
953
154
704
268
775
170
942
622
622
76
974
753
656
977
756
309
810
428
246
704
868
287
281
495
759
39
282
647
471
817
787
476
4
129
837
917
963
95
32
183
462
213
875
465
39
384
525
74
262
762
461
965
537
146
936
114
734
999
307
771
192
524
604
170
872
94
351
368
43
48
964
800
872
608
40
4
658
291
297
697
693
1000
142
554
80
984
137
176
738
368
627
65
62
357
502
303
212
616
426
17
609
720
908
446
832
941
396
726
966
272
433
688
920
336
711
104
847
898
941
985
889
256
751
494
749
532
991
882
243
1
436
482
970
642
170
104
982
578
115
261
222
526
412
221
594
663
824
371
290
420
802
868
806
793
624
268
588
254
501
758
483
859
754
693
395
713
722
691
414
993
498
501
754
312
416
939
599
986
350
909
501
994
35
856
738
638
967
772
904
856
933
146
398
324
967
124
714
973
315
291
629
531
605
577
609
218
865
100
287
661
672
968
350
580
485
925
218
53
608
120
101
954
226
930
723
397
785
490
185
188
153
331
485
747
149
581
735
439
250
579
472
219
712
632
147
37
11
529
983
171
453
742
761
934
367
828
912
350
708
53
442
963
747
468
156
945
624
652
681
913
224
302
89
34
952
914
879
917
214
889
49
896
626
382
793
282
392
560
468
109
403
49
472
513
781
824
451
915
744
287
770
475
618
710
846
583
65
962
890
528
986
470
896
486
376
671
820
178
197
948
533
669
223
464
773
756
473
538
324
737
481
246
491
926
709
461
129
389
644
26
610
395
670
167
984
319
960
652
326
947
790
113
778
279
750
548
826
133
375
212
805
547
97
491
424
380
905
413
967
800
515
516
92
262
350
928
666
426
890
703
776
551
986
533
114
171
873
11
21
101
261
891
223
157
968
592
291
135
614
832
845
812
330
654
98
952
400
325
182
204
804
658
171
797
423
420
145
767
753
663
897
196
23
91
771
694
810
976
38
229
470
215
528
978
730
250
326
526
878
8
969
611
195
295
5
8
163
940
7
286
466
372
323
732
681
26
47
496
368
430
708
585
700
613
859
320
168
392
742
413
816
652
885
452
429
733
57
519
574
966
986
918
380
882
628
934
193
674
192
809
545
899
10
10
520
245
956
4
890
941
203
338
242
310
694
966
404
646
749
133
597
240
122
78
809
340
419
948
343
356
613
499
846
145
693
763
590
813
1
933
200
948
338
413
788
864
759
314
805
710
876
749
783
454
326
426
752
712
647
832
183
923
209
828
310
599
555
746
562
666
275
835
163
820
378
627
826
480
438
407
825
760
596
582
122
133
251
139
278
494
771
350
281
96
641
188
897
794
343
173
617
602
640
311
943
238
976
396
988
209
59
905
446
607
376
562
190
628
961
45
136
523
5
288
518
425
109
775
651
172
362
16
526
751
342
634
767
99
97
148
914
87
191
773
302
822
508
539
348
535
48
847
756
908
497
409
332
497
114
10
139
718
533
600
470
825
660
477
803
932
659
433
343
966
61
314
940
178
136
478
618
964
266
603
60
450
81
499
384
562
250
621
136
263
568
968
790
749
58
877
178
405
476
717
185
146
60
42
762
301
949
789
296
106
974
754
66
673
963
987
176
359
288
445
619
830
996
63
541
325
857
792
808
571
683
335
619
233
88
756
710
429
56
715
727
454
626
155
846
281
284
939
813
611
505
831
517
948
523
939
980
987
281
717
624
600
953
293
627
591
314
478
567
465
154
666
518
466
483
922
351
21
328
999
189
53
991
651
248
24
796
173
482
116
548
407
916
855
55
401
579
82
491
245
273
996
108
454
941
120
813
398
901
617
676
181
432
268
154
856
748
869
39
133
824
625
522
170
593
239
349
37
139
806
925
413
812
110
37
114
575
965
940
855
618
703
282
464
770
304
977
629
521
951
657
162
668
935
418
190
564
951
771
566
639
178
279
814
849
543
651
840
948
666
824
330
959
320
925
73
692
46
149
370
195
289
523
75
725
863
459
55
950
104
343
3
34
430
986
60
513
330
105
753
895
88
197
765
780
282
328
532
482
805
40
270
877
620
761
279
5
359
512
337
822
432
306
168
388
535
92
208
295
879
192
999
775
650
352
777
680
487
627
382
492
664
55
133
487
282
32
257
692
31
395
441
203
251
403
723
210
829
247
507
785
531
778
431
660
743
389
703
652
969
838
71
655
679
968
208
384
908
491
872
463
293
382
657
568
327
305
424
268
517
659
956
230
565
348
212
531
764
863
452
949
287
42
586
538
160
523
790
304
526
670
639
904
138
430
624
976
910
879
783
846
108
572
107
868
606
23
323
88
189
437
453
850
865
423
444
397
24
417
29
742
355
776
69
863
10
207
114
939
285
479
970
917
946
58
229
359
760
128
324
760
473
927
474
577
639
535
491
916
194
482
876
190
451
607
179
845
528
778
158
287
689
82
286
102
690
984
524
599
475
813
980
422
668
476
550
527
765
449
103
779
722
992
427
45
512
581
743
357
938
819
381
294
763
977
41
790
84
4
136
399
430
482
236
993
887
976
486
785
298
898
531
922
449
292
287
324
273
496
852
900
204
59
564
662
45
963
921
338
16
312
355
994
98
276
929
17
776
180
239
23
562
947
202
49
98
822
347
950
88
562
534
707
993
383
69
614
921
122
785
52
180
280
562
619
354
913
359
237
239
850
757
953
214
592
867
730
379
957
705
654
525
186
447
290
196
32
304
993
957
290
401
730
660
802
160
468
389
149
484
413
753
223
828
172
117
188
899
92
535
430
198
646
344
899
961
519
9
468
537
54
513
168
350
505
946
684
38
249
668
926
331
535
911
535
878
757
576
626
780
795
251
366
701
446
849
308
561
533
51
392
469
627
368
79
626
423
38
960
304
404
984
427
980
755
174
866
960
844
540
913
765
989
371
38
60
276
927
437
552
165
851
119
681
150
538
350
22
847
29
747
144
382
563
915
375
908
624
778
432
16
639
126
161
286
929
357
881
22
553
253
688
245
813
235
554
510
623
699
833
261
367
120
243
225
535
243
312
76
23
211
992
423
917
245
256
976
427
962
159
929
555
417
235
410
207
957
769
404
70
614
321
340
237
132
615
146
689
144
294
707
999
383
297
638
798
862
22
500
748
776
419
422
741
65
781
628
682
440
555
156
388
557
731
552
845
396
270
171
77
556
651
13
61
349
963
162
666
607
632
370
154
441
728
459
577
799
444
773
711
663
433
758
683
933
514
456
341
737
267
578
119
590
871
25
233
667
75
616
306
634
849
463
956
821
882
385
931
398
810
200
651
697
228
318
598
424
676
474
876
721
805
365
452
993
521
545
937
219
41
9
872
356
162
40
129
274
571
889
492
843
285
786
769
534
878
209
639
160
553
237
458
797
22
710
446
220
852
215
81
713
437
673
913
100
618
892
406
435
675
581
881
411
869
834
156
213
768
23
915
737
766
343
295
112
363
244
459
625
844
927
769
872
817
867
14
405
518
665
224
241
973
966
169
236
395
101
777
652
188
674
728
741
826
441
869
833
858
962
38
941
762
555
981
308
501
221
749
76
991
423
901
618
172
703
187
232
187
53
486
90
941
470
920
256
641
742
667
935
860
29
912
647
455
647
106
977
139
167
371
769
950
692
889
285
672
427
448
883
101
893
789
374
687
587
511
404
96
411
218
81
605
617
595
464
287
337
173
839
643
538
556
889
258
164
213
457
648
911
56
179
124
999
571
152
917
890
570
788
507
633
702
934
515
603
312
645
108
647
336
106
496
406
299
821
998
112
34
961
253
605
278
150
292
930
237
900
630
672
574
93
695
920
689
54
889
572
958
139
487
327
616
608
560
306
776
863
506
904
642
467
795
458
297
978
620
323
983
247
991
903
158
195
388
115
200
532
346
469
886
417
394
969
13
371
188
499
982
994
104
598
328
546
738
726
138
881
361
698
748
974
990
833
161
105
509
309
713
909
662
79
761
643
537
397
682
270
437
63
963
540
328
259
347
913
716
161
806
833
354
542
339
352
510
362
337
657
55
178
512
308
137
292
723
508
623
812
156
387
714
455
990
650
690
649
361
206
661
261
98
980
920
470
573
718
803
193
227
503
169
860
712
932
116
39
134
439
924
313
426
811
805
174
584
27
62
704
869
3
141
384
190
149
435
593
261
130
483
112
549
116
894
828
231
645
319
256
954
582
228
49
3
374
634
413
38
170
980
146
808
233
310
174
444
338
506
237
900
610
791
585
219
226
290
39
1
324
566
430
636
10
853
74
404
909
42
403
756
753
265
847
774
861
713
220
440
771
440
659
63
804
915
989
632
625
301
968
10
267
358
48
4
152
491
111
795
58
579
375
47
431
992
517
280
630
906
254
940
875
628
437
415
524
691
859
242
136
291
239
545
258
551
912
971
288
592
945
847
201
783
172
35
149
633
488
59
889
285
358
949
163
54
574
933
520
131
653
110
417
219
132
416
638
235
113
813
496
673
150
771
455
780
452
691
710
140
74
615
235
476
585
470
557
653
401
898
377
796
779
245
16
538
367
620
392
103
975
20
388
669
797
861
326
999
874
576
236
468
509
432
419
572
957
666
692
598
618
971
260
704
771
418
122
602
151
825
631
521
603
841
664
266
623
696
987
349
955
339
811
166
503
626
561
763
565
259
940
427
591
895
67
328
678
503
756
827
84
328
936
341
415
269
717
711
323
973
132
845
140
853
927
771
203
442
685
536
318
423
647
89
280
694
827
47
951
903
373
280
439
780
291
974
230
123
270
597
601
734
369
880
196
657
347
682
552
650
600
934
876
573
213
661
435
347
117
558
884
283
50
337
630
302
104
45
553
832
31
184
979
653
933
646
660
7
429
745
788
96
414
673
320
575
976
874
774
865
787
822
203
846
251
709
575
533
603
821
535
924
631
868
103
546
437
532
783
658
984
164
287
8
827
524
342
935
192
63
868
24
6
905
34
612
807
552
336
397
878
534
226
544
48
751
184
592
766
95
847
981
382
134
768
296
379
41
700
244
178
485
328
741
453
281
519
847
214
510
749
282
261
839
721
598
582
846
607
530
749
982
628
745
398
722
70
575
184
346
115
61
944
335
646
673
449
609
281
130
704
909
389
622
873
296
193
662
1
822
49
627
137
838
105
576
322
858
646
685
351
428
727
687
379
180
824
812
317
974
854
711
908
344
726
124
562
205
988
408
959
489
530
133
643
120
767
678
116
591
686
298
721
160
682
748
576
952
488
812
224
125
883
720
615
525
471
834
533
564
496
588
64
43
525
146
770
681
892
720
101
47
431
542
785
951
729
156
232
482
966
390
564
737
791
680
19
464
560
399
887
735
698
679
391
621
581
879
666
248
304
38
641
543
283
611
366
393
237
626
206
229
788
996
540
881
229
145
648
123
926
200
801
712
384
898
723
597
848
275
471
450
960
250
803
588
297
911
802
12
740
891
194
646
137
131
269
169
602
34
428
251
115
364
37
635
174
48
682
309
556
679
522
987
728
884
784
95
392
488
434
198
975
152
478
693
693
910
639
369
371
671
958
93
370
811
444
266
867
336
474
255
14
176
122
365
621
743
146
630
690
299
934
806
813
860
793
469
731
362
125
182
962
609
614
993
195
750
411
685
219
206
171
502
502
395
394
257
879
433
318
302
767
805
261
250
343
283
407
763
784
667
800
367
220
543
477
423
592
168
818
843
440
899
144
405
822
821
560
902
296
215
513
250
100
444
681
138
301
290
590
477
950
790
591
80
64
796
750
435
468
813
397
488
611
100
124
38
471
556
598
886
767
341
444
158
528
757
66
917
681
587
562
292
56
247
725
774
294
94
75
358
774
939
886
392
515
135
191
758
240
578
920
264
944
426
560
553
864
370
179
491
829
587
757
87
745
635
660
490
222
173
817
667
621
125
824
287
947
12
442
822
143
948
20
887
439
951
7
518
247
405
796
631
774
843
274
497
19
638
103
577
303
701
696
813
934
814
244
523
443
847
966
471
379
672
744
126
419
485
927
721
219
644
124
955
292
391
585
175
701
902
818
263
963
908
805
543
758
99
668
11
40
473
588
29
546
660
82
104
831
84
570
198
453
472
316
641
328
51
656
67
244
286
259
301
833
670
845
382
294
299
121
391
628
259
478
562
223
816
491
464
286
211
131
607
559
85
922
179
982
379
685
107
366
940
967
810
742
704
680
971
331
682
599
132
849
324
759
235
229
283
558
252
67
805
752
708
546
519
487
49
538
370
959
915
324
282
485
52
662
789
751
998
699
565
162
660
747
630
803
372
396
627
675
490
464
252
6
735
230
91
115
860
852
945
711
706
77
688
357
539
683
591
54
178
751
550
50
60
71
531
990
947
958
301
989
861
924
568
124
587
687
248
563
745
344
305
466
170
412
274
911
690
906
53
240
877
673
503
80
305
55
282
970
521
721
883
105
391
633
395
191
190
433
840
876
837
533
557
481
308
62
532
871
841
821
415
705
224
51
49
738
905
941
440
825
468
546
233
313
728
193
800
83
386
292
64
42
479
234
89
131
701
317
508
731
873
711
53
706
841
698
446
642
592
670
308
118
331
972
805
197
840
304
515
723
263
914
13
538
794
661
75
284
892
910
262
285
323
993
392
388
745
301
709
468
781
892
277
79
29
509
387
823
816
757
678
999
199
996
494
586
925
49
188
985
521
679
170
254
178
470
208
850
785
354
418
969
370
831
83
831
13
67
437
760
563
465
460
392
113
545
887
727
36
344
822
747
447
807
269
491
167
16
511
899
929
233
956
373
562
27
819
128
353
160
470
978
35
141
808
998
38
776
774
978
345
410
85
192
931
349
822
439
982
183
716
197
935
330
200
572
891
736
433
561
266
176
599
118
661
573
245
733
962
764
500
897
783
108
248
30
938
828
523
149
909
236
651
85
940
708
33
595
768
54
541
92
673
512
476
241
538
223
388
473
152
990
993
497
207
484
331
974
751
176
739
251
610
620
688
483
907
489
315
203
21
61
609
399
715
324
46
524
689
800
979
990
770
794
340
280
778
313
128
206
124
157
510
807
820
378
443
200
668
393
115
129
358
328
541
250
114
639
916
298
712
576
387
763
984
3
916
508
458
346
11
606
636
452
432
514
955
260
286
386
487
693
136
707
995
959
124
149
988
336
478
314
975
459
803
734
459
71
775
163
680
606
588
31
517
48
195
783
199
388
795
273
952
294
721
517
52
181
710
622
330
115
155
343
711
216
768
778
524
219
279
572
61
748
805
623
211
466
661
122
925
380
427
887
86
286
469
25
713
959
591
480
294
71
200
688
195
837
483
647
748
143
378
262
941
444
951
299
260
380
350
40
799
20
949
477
939
122
774
777
375
636
33
978
216
983
245
192
860
226
650
751
381
946
636
409
797
84
165
230
430
34
699
440
82
514
623
505
749
944
170
583
521
196
378
464
958
688
888
413
530
377
316
785
90
553
221
391
652
389
309
169
606
285
3
418
528
705
540
675
14
327
511
867
480
948
285
604
563
930
47
369
532
440
190
658
220
766
546
951
42
813
752
345
683
522
699
151
607
470
607
481
114
838
71
839
205
432
393
373
365
747
313
481
169
370
956
595
382
822
217
84
237
278
966
69
313
600
1000
596
321
107
199
932
561
856
958
958
94
639
636
636
531
572
284
514
708
246
55
394
376
693
608
134
259
419
181
676
838
768
229
803
585
901
215
306
301
89
286
663
224
284
492
190
928
918
920
16
242
136
74
227
987
957
583
394
482
992
787
21
463
762
466
119
491
531
992
971
791
559
435
45
354
447
913
927
476
201
630
639
832
349
5
998
697
97
431
978
130
801
964
377
583
379
945
515
480
668
513
159
231
178
842
860
395
281
819
119
647
258
458
193
449
607
152
942
53
894
341
937
174
816
977
531
861
193
441
901
346
866
364
217
639
338
120
441
435
377
177
499
185
798
768
748
711
797
911
227
379
95
282
492
183
530
788
633
862
826
484
834
198
456
529
33
199
939
87
347
639
631
612
919
254
149
741
120
943
10
32
774
987
410
845
332
675
433
711
560
819
384
316
395
274
612
625
665
313
861
226
627
396
333
811
457
544
921
346
95
593
930
136
177
762
21
938
665
850
662
591
600
766
977
11
537
538
119
464
225
87
346
672
853
286
122
593
720
815
824
291
514
757
687
324
31
817
863
310
731
652
799
293
838
460
826
815
365
58
945
666
527
648
347
598
439
853
354
965
835
942
634
321
305
36
922
134
547
598
906
341
271
929
913
817
181
841
224
107
272
955
161
675
408
53
91
948
936
625
634
595
874
74
238
813
426
332
523
617
996
364
971
406
469
732
324
351
421
649
549
666
780
931
259
662
695
736
589
897
633
645
104
308
492
904
12
955
51
990
271
430
356
987
555
489
81
797
20
973
586
875
554
305
803
562
790
537
496
993
779
708
391
407
844
95
742
877
340
584
395
111
888
682
403
436
710
447
646
713
863
230
716
738
49
785
904
413
354
736
386
695
575
178
63
360
507
946
679
397
683
457
309
669
169
768
468
988
291
230
561
894
126
769
610
169
81
231
483
545
579
753
34
958
194
937
514
39
494
922
613
678
540
180
731
674
855
100
404
980
830
224
864
527
752
472
646
650
654
217
708
958
19
194
527
238
355
419
555
967
807
475
175
905
491
944
890
246
526
193
244
117
481
278
990
709
894
93
82
614
809
801
546
925
107
799
985
855
217
19
472
113
946
878
999
381
466
507
656
16
312
367
827
827
488
900
834
804
243
882
209
133
584
560
926
305
303
454
388
682
465
434
375
677
413
686
860
140
360
874
684
792
882
319
807
552
931
526
653
831
100
145
65
189
354
810
643
539
570
792
732
113
130
737
846
673
298
876
45
41
698
917
198
102
750
463
433
789
659
528
155
941
220
453
190
527
957
707
283
333
974
25
670
119
388
663
263
53
992
762
258
742
926
104
874
661
361
481
480
483
718
65
510
894
437
279
227
5
706
254
338
510
192
349
742
6
467
67
689
772
63
23
258
567
316
563
743
859
698
954
480
221
807
147
585
494
214
478
571
308
654
65
896
29
149
244
119
747
167
506
255
923
950
677
494
571
782
669
568
976
218
692
483
805
319
907
393
608
387
195
469
929
321
864
632
877
949
262
754
342
347
559
628
12
142
134
42
259
425
947
413
504
772
234
519
571
470
786
575
88
626
783
590
322
20
379
544
876
620
433
130
955
719
468
774
879
595
856
899
406
701
691
399
757
221
592
379
192
95
604
54
135
66
894
190
341
699
285
366
620
825
119
764
38
402
601
481
32
58
206
488
444
923
711
413
148
600
645
68
841
856
732
139
531
851
373
405
623
292
31
190
572
49
389
109
422
414
981
5
126
722
984
718
706
971
678
635
9
98
955
723
820
261
688
396
467
389
477
163
289
858
568
995
842
259
403
449
378
210
928
376
997
334
246
270
258
269
237
750
16
728
422
657
785
842
329
543
771
562
204
448
848
809
188
704
990
995
127
748
693
476
839
754
156
940
644
769
300
800
66
808
641
636
359
708
738
430
560
800
143
900
724
462
151
876
215
143
383
833
171
344
71
508
903
929
187
84
265
966
942
945
532
145
397
845
104
224
849
781
40
506
880
800
638
614
943
453
625
210
21
742
754
718
878
163
953
525
32
207
229
832
334
856
594
143
685
570
71
318
810
329
822
423
684
565
3
183
785
473
235
773
411
652
361
415
730
639
162
558
778
271
760
904
397
524
470
368
806
239
579
624
566
584
699
269
420
74
487
429
373
495
925
602
48
499
843
325
40
952
675
310
712
80
9
549
339
286
206
123
95
877
503
963
1000
597
104
376
549
694
550
741
710
582
773
683
399
177
334
369
817
983
164
995
221
725
335
329
914
826
236
537
89
680
454
645
669
639
754
213
828
657
870
752
834
319
471
909
132
519
463
230
549
861
689
273
2
939
28
10
786
56
652
927
249
585
243
249
99
248
550
963
411
121
931
284
339
567
227
767
497
169
323
830
977
885
244
864
460
453
352
123
23
776
471
955
21
848
402
684
693
306
660
897
291
742
401
341
822
790
900
62
94
914
276
630
530
73
904
400
28
582
231
709
727
147
40
27
564
973
416
778
274
905
101
474
597
892
514
231
196
776
517
360
590
335
663
876
949
272
740
202
678
410
34
728
947
483
849
874
596
82
723
55
974
261
926
856
34
471
717
976
495
315
364
505
354
886
849
610
122
95
666
51
780
789
111
211
838
197
40
665
451
348
186
616
318
575
857
57
525
381
836
689
845
3
140
424
529
971
82
10
416
432
362
25
801
45
692
67
874
143
926
290
343
328
469
814
454
643
629
520
814
915
734
481
189
513
476
518
320
819
332
613
191
508
515
14
346
922
581
46
532
292
945
851
136
340
241
709
464
764
358
272
28
234
644
933
395
226
202
927
426
886
603
814
288
406
575
22
476
468
649
448
131
103
259
831
7
705
836
438
978
23
355
417
13
427
239
826
24
342
735
529
704
53
98
784
797
794
763
54
867
284
450
769
91
510
77
419
64
161
408
561
848
351
281
437
940
61
650
616
255
716
669
179
693
94
970
540
577
960
113
490
309
240
675
233
306
415
957
750
894
151
360
866
457
822
473
111
694
144
568
77
335
232
295
132
365
231
100
856
326
935
513
787
810
908
90
615
935
700
930
803
133
798
45
598
47
158
939
962
580
118
312
797
160
707
148
134
785
921
1000
755
691
558
639
860
348
680
752
611
805
453
953
786
516
485
694
140
238
171
977
434
244
465
286
29
696
827
559
393
822
858
422
471
410
643
827
150
252
22
977
7
990
746
485
842
187
212
946
820
865
187
723
424
565
639
566
263
233
865
372
11
230
83
244
667
376
391
170
411
166
618
438
462
653
66
763
753
657
988
37
350
142
994
105
233
210
506
658
586
214
238
831
738
702
921
599
394
402
523
287
566
38
255
422
374
829
67
322
16
377
520
708
708
1
526
250
343
148
369
100
42
788
969
678
814
810
291
783
270
358
158
479
830
226
836
974
254
525
965
372
397
331
246
322
559
989
752
167
491
699
169
606
104
53
540
904
684
290
693
836
592
964
949
195
986
714
875
676
602
848
388
827
837
559
562
597
61
20
457
873
612
868
512
867
461
999
552
649
160
200
563
883
961
485
40
362
975
534
472
674
157
827
845
364
742
625
30
52
417
796
701
123
960
72
659
871
53
979
823
950
134
102
672
569
480
548
753
734
306
303
788
789
814
566
851
188
230
704
548
55
748
509
652
652
595
100
188
273
740
832
243
818
432
183
120
108
614
313
381
154
665
751
400
138
136
821
966
244
595
621
658
515
681
145
372
1000
345
992
18
487
703
170
226
115
88
664
457
713
813
85
189
719
705
757
39
975
26
282
591
495
769
272
277
669
262
255
501
278
278
819
903
766
501
46
21
297
654
405
398
325
354
257
334
136
217
391
479
308
361
754
558
564
19
956
272
869
847
921
747
438
78
660
773
549
538
950
820
412
934
358
80
719
349
363
141
577
281
533
824
162
884
306
51
626
33
197
611
567
590
795
450
795
116
397
14
51
685
706
755
313
891
907
160
541
358
914
939
390
161
733
935
477
462
671
833
720
17
481
307
156
481
39
51
907
938
312
556
443
978
117
358
731
639
110
528
709
608
968
977
346
685
436
670
884
335
801
864
551
265
861
318
760
572
631
272
766
677
242
464
165
279
14
119
502
139
670
716
568
169
286
465
547
302
547
44
916
552
164
513
839
46
568
447
527
994
89
670
947
824
537
624
322
101
593
769
756
47
913
879
251
875
473
398
242
936
664
95
192
765
283
373
374
828
618
522
702
356
940
617
853
268
388
124
687
530
992
713
351
131
937
50
6
69
166
564
101
196
325
468
187
807
695
131
464
218
189
579
866
245
792
47
898
919
801
821
134
43
623
877
882
507
841
454
36
80
358
271
568
702
541
322
209
35
783
811
507
213
33
720
56
488
618
720
438
341
973
489
522
762
114
855
248
784
844
390
120
194
141
481
458
763
475
147
860
756
392
342
143
89
920
905
359
344
171
609
960
963
801
591
140
992
173
240
439
471
557
377
956
915
893
211
893
643
734
926
197
156
606
638
189
356
51
585
776
244
388
918
736
170
724
293
518
823
513
879
165
501
936
637
783
395
468
178
634
11
985
115
925
827
948
166
758
209
548
321
187
91
58
243
509
914
233
212
759
256
997
563
729
346
978
398
433
297
751
818
954
548
790
930
158
941
731
319
284
654
980
623
903
919
987
962
11
296
42
444
366
765
619
144
851
156
565
981
210
62
685
295
576
767
765
534
111
507
843
835
618
513
353
979
149
35
518
904
913
556
734
373
335
763
895
49
43
910
393
822
696
791
243
822
854
943
377
860
819
160
80
441
33
337
754
693
195
348
578
69
291
986
72
923
40
941
517
535
493
763
942
792
290
817
419
246
958
95
970
549
123
789
22
782
23
149
524
878
419
108
948
234
495
210
761
958
841
127
722
328
151
26
31
796
187
951
120
537
10
821
807
596
741
314
765
335
486
93
771
460
160
349
121
900
361
464
746
731
132
451
538
33
233
732
813
30
902
593
719
239
515
288
705
548
35
466
385
879
260
124
169
563
81
289
339
250
457
532
179
269
996
375
342
471
369
148
785
690
455
298
483
640
130
482
295
392
444
158
319
470
961
111
166
441
910
81
530
888
754
459
23
803
694
25
841
370
117
877
944
986
225
244
370
437
593
531
793
893
23
279
865
891
182
752
36
83
326
981
626
410
379
906
779
278
672
671
847
306
966
384
772
572
165
873
859
252
75
243
767
165
738
105
48
834
685
539
810
955
647
37
17
125
424
520
827
176
594
697
694
724
220
218
759
681
499
768
127
724
659
778
439
584
644
101
295
55
968
435
533
927
886
874
265
163
489
669
415
750
500
220
736
757
209
840
386
795
494
711
725
651
367
880
18
3
956
611
198
544
111
668
803
133
143
49
215
366
162
359
930
674
272
813
874
160
76
640
544
450
421
505
575
729
683
911
455
641
977
801
18
507
921
283
731
711
63
787
538
639
677
786
77
956
475
718
202
810
887
631
553
626
65
76
465
756
276
935
729
634
682
814
917
362
272
569
386
511
46
19
604
374
642
744
481
368
823
357
10
46
206
993
302
598
895
819
209
664
427
968
798
643
782
594
63
961
227
588
750
459
970
136
187
987
666
540
445
742
900
39
467
391
916
79
167
42
977
109
911
298
376
8
177
974
222
413
359
178
236
412
679
331
172
932
817
119
450
416
474
297
306
976
184
686
607
392
53
810
645
370
460
161
297
961
735
195
669
895
751
370
984
392
988
352
9
71
578
633
92
531
996
506
985
978
413
515
751
143
515
99
190
309
500
380
101
645
775
873
924
125
176
749
198
656
882
464
2
225
597
436
526
835
724
605
963
992
800
526
350
13
7
12
158
955
142
485
74
233
655
632
506
148
775
295
57
511
238
6
230
310
766
495
487
152
926
923
918
842
20
146
346
333
828
182
429
242
245
599
547
340
972
431
636
259
799
473
224
36
838
145
217
34
330
141
26
218
875
972
535
758
741
348
907
625
423
503
169
496
126
298
200
308
658
997
697
150
596
75
511
354
94
878
38
251
554
153
500
454
783
336
318
102
667
847
548
923
665
945
95
44
520
627
46
816
162
116
914
87
898
977
794
383
337
979
27
148
454
525
996
843
527
342
887
238
939
786
947
173
215
85
346
245
925
79
479
912
203
228
540
58
884
679
461
123
533
899
679
476
117
448
468
818
953
244
948
138
260
673
895
439
242
266
472
870
83
935
338
68
449
878
661
642
154
230
655
612
551
971
382
79
103
97
921
544
168
711
428
275
247
148
631
537
685
479
823
966
280
237
192
414
551
263
694
292
832
249
753
183
932
217
354
230
263
600
935
58
51
212
821
737
559
484
943
390
632
987
731
611
732
907
503
246
890
431
209
408
900
772
343
315
910
593
853
28
712
249
10
980
147
555
21
425
762
671
529
390
623
212
194
140
228
571
730
687
308
827
647
513
641
447
617
348
421
487
231
743
603
563
608
170
102
926
38
417
710
766
468
231
954
926
973
833
657
117
253
26
184
875
5
850
568
14
869
295
747
534
869
714
657
577
474
582
675
153
632
839
266
548
242
207
39
681
527
960
560
689
964
878
716
29
566
583
839
6
920
365
278
247
11
244
13
975
76
542
373
234
731
631
192
256
956
298
816
479
744
179
20
864
831
54
877
871
925
237
940
223
369
292
101
85
122
249
385
634
264
122
848
954
17
325
569
537
918
601
178
308
471
562
405
131
45
545
729
250
778
549
563
484
790
2
212
637
41
290
719
762
36
718
877
907
585
491
436
269
468
870
164
254
381
723
406
271
709
707
987
553
957
301
798
726
901
886
852
879
359
775
114
524
930
943
321
466
81
983
522
800
819
911
434
231
543
603
745
838
614
644
503
290
907
690
584
336
172
568
765
318
870
26
242
348
306
493
614
399
256
189
164
361
60
974
858
244
37
822
730
819
466
787
605
25
71
55
880
225
602
476
358
361
133
227
676
548
153
482
619
231
367
369
878
681
313
648
636
402
498
921
998
766
822
199
133
809
716
582
26
771
94
96
290
826
515
677
892
861
689
108
373
754
168
809
215
416
474
584
283
684
189
789
771
613
862
410
478
871
649
76
987
259
556
953
948
632
764
235
117
560
107
918
78
502
860
305
259
620
165
263
54
929
474
136
938
345
205
154
304
577
786
87
421
613
553
591
534
838
682
710
836
138
643
212
789
67
875
551
393
805
200
555
450
573
194
994
887
480
441
969
861
148
980
310
524
639
891
952
658
828
193
830
782
265
413
276
588
451
801
946
254
229
28
192
183
559
182
339
629
67
16
181
91
473
243
289
973
366
242
887
289
705
207
504
409
172
292
641
1000
732
163
151
717
658
614
971
798
698
478
943
624
903
966
64
22
51
581
672
275
65
747
928
143
297
783
977
846
517
461
75
938
119
507
837
739
835
269
189
582
347
86
778
280
248
992
314
711
992
546
922
962
652
923
369
224
649
967
796
661
949
106
443
558
941
56
242
686
828
15
949
108
506
366
198
603
202
963
301
995
488
888
80
473
280
489
642
320
553
132
365
734
303
209
787
269
707
140
782
671
355
796
154
12
527
938
503
284
559
785
889
358
471
317
406
685
964
941
775
434
333
810
38
278
176
721
788
346
410
142
868
931
769
125
84
259
63
933
213
398
725
75
45
941
144
177
725
348
20
717
162
830
665
556
39
258
778
337
234
117
332
56
591
867
727
875
523
634
24
515
117
931
621
437
675
679
471
524
382
487
491
319
807
267
225
821
159
388
764
732
215
307
102
610
796
506
184
440
52
34
807
98
535
514
938
553
188
362
896
416
232
425
95
907
40
185
950
487
598
564
852
115
920
619
346
146
933
707
782
125
266
720
28
914
436
287
461
893
453
125
825
398
573
407
402
148
101
430
644
335
202
680
614
344
820
297
822
486
699
703
920
398
757
787
217
203
631
177
903
482
914
66
351
893
958
218
110
940
489
996
996
640
841
996
794
78
279
501
912
85
359
779
386
307
361
646
607
240
492
211
835
469
685
219
210
841
209
680
280
760
600
451
222
225
357
631
496
621
941
19
413
189
545
483
34
256
754
545
735
781
441
154
985
54
809
958
938
663
744
685
770
783
683
713
690
192
645
345
180
339
733
199
742
503
617
838
954
517
213
519
181
213
531
946
156
313
988
240
481
941
6
189
282
335
233
458
199
819
837
293
958
730
228
199
772
192
577
549
71
30
784
837
780
480
560
492
288
814
638
37
370
801
923
521
951
796
417
978
78
868
728
342
78
437
641
125
835
501
185
969
921
688
274
905
937
449
998
363
80
209
104
676
729
88
34
478
474
724
764
910
367
700
8
683
264
224
62
177
136
14
900
110
966
50
674
787
889
334
674
939
2
533
156
764
942
531
198
266
549
539
198
798
912
826
119
85
213
878
541
786
995
283
153
995
891
310
470
567
597
286
427
300
420
171
381
730
626
290
293
577
82
531
869
396
310
481
455
897
925
638
784
560
788
93
748
381
847
477
968
426
461
671
728
955
477
673
513
441
353
735
988
187
31
825
111
829
638
531
889
249
890
998
750
600
908
801
346
722
294
127
593
806
175
944
312
76
132
812
51
597
556
636
679
276
718
221
2
179
549
643
21
318
697
950
47
135
993
286
754
237
863
207
158
900
317
524
161
990
575
202
293
116
326
792
192
961
404
590
931
316
772
977
427
290
82
511
444
6
650
511
630
155
749
245
70
706
493
224
146
337
688
688
312
222
430
848
851
667
327
638
262
25
404
296
149
361
267
671
745
477
216
143
785
865
134
9
201
121
139
654
952
4
799
714
309
373
589
841
323
905
437
823
785
522
703
580
179
305
821
958
163
656
9
102
278
368
128
571
770
368
744
191
317
765
901
654
697
346
180
39
487
957
549
744
7
491
922
581
585
672
712
318
670
893
458
864
788
855
861
828
596
470
317
737
876
831
164
970
412
394
611
962
126
265
810
25
456
629
889
386
617
991
80
870
622
369
498
829
494
82
538
145
370
107
867
632
898
248
985
951
755
372
227
737
475
895
532
112
417
277
425
786
395
491
16
275
193
935
978
162
211
492
902
28
901
415
96
838
570
162
702
298
742
878
181
521
773
436
39
427
37
539
186
780
889
460
203
825
155
753
694
73
733
409
239
425
497
863
36
96
585
461
219
190
228
794
293
691
495
698
544
653
391
444
164
433
407
464
752
421
56
501
877
759
317
449
572
681
820
659
576
581
336
270
983
37
827
955
129
557
430
625
287
145
617
275
207
972
747
920
684
587
586
546
618
536
358
685
734
936
694
55
862
29
501
808
904
545
692
513
870
41
208
618
743
882
841
872
392
595
759
913
297
891
142
530
921
768
789
217
754
761
238
374
374
372
633
904
949
890
262
350
89
125
679
406
238
631
265
717
840
546
447
93
740
533
452
664
797
26
600
92
679
877
918
258
32
157
36
360
786
395
964
627
466
700
406
490
770
465
672
510
539
287
156
157
786
100
581
747
514
374
187
223
260
181
367
614
985
650
85
34
671
415
181
564
419
884
77
955
769
194
143
274
921
436
603
931
922
797
661
126
448
580
362
876
639
275
796
67
240
511
27
60
524
447
536
641
817
520
37
812
603
924
187
724
511
217
851
367
882
370
436
906
795
707
609
457
222
202
648
973
251
888
995
399
645
88
186
476
887
482
158
357
977
567
816
926
510
660
915
650
861
295
634
905
467
962
404
423
755
794
644
534
307
351
990
158
57
377
399
578
517
356
778
758
751
792
125
943
144
409
130
859
930
692
791
61
82
275
920
411
138
726
844
23
991
554
526
292
949
584
297
356
916
492
294
423
915
714
181
701
383
1000
847
515
716
251
450
127
664
340
513
947
54
173
631
538
380
774
691
222
979
522
402
9
480
982
105
943
781
446
927
722
110
370
793
479
830
496
414
4
795
817
329
18
824
55
995
95
403
297
22
660
506
784
620
874
206
930
12
999
73
688
393
204
253
941
689
583
731
607
50
862
373
296
832
449
241
782
126
555
961
955
960
296
743
713
535
431
253
888
77
260
273
190
312
430
654
742
32
413
843
549
727
386
143
742
5
273
86
372
997
66
384
917
325
274
36
569
785
632
265
210
855
464
264
208
910
254
848
899
426
335
815
509
37
445
732
622
988
960
555
940
444
47
224
963
852
81
979
488
444
694
482
859
984
71
696
996
52
303
41
712
535
560
699
765
761
254
244
649
62
945
82
760
897
717
409
662
102
192
172
612
746
675
152
663
454
145
674
613
415
563
445
28
34
886
166
342
209
975
204
16
230
170
863
221
953
509
403
657
637
11
75
1000
465
552
944
317
188
451
288
269
70
292
675
167
198
690
320
556
882
273
127
498
530
970
512
800
126
519
275
637
632
479
154
224
678
864
224
390
987
994
117
161
273
234
517
311
166
965
151
371
31
357
627
241
507
318
431
550
228
369
578
277
643
770
453
527
223
854
267
816
624
73
951
899
347
138
116
417
925
439
630
955
296
6
894
316
583
52
700
653
986
94
764
351
427
849
96
868
457
797
230
435
517
688
198
321
434
553
987
686
757
617
164
300
398
807
113
794
702
233
887
87
262
276
968
762
384
718
902
585
845
507
204
108
917
240
393
933
115
4
619
464
559
66
642
67
205
828
723
771
306
772
718
648
680
53
961
130
268
377
434
478
802
598
822
721
814
171
669
210
189
277
473
586
790
123
722
883
385
918
941
252
350
404
388
56
283
369
920
213
158
568
93
975
354
625
445
776
321
719
12
99
809
480
42
676
468
638
380
938
762
839
540
528
202
335
956
615
567
220
689
580
279
702
500
140
750
909
1
53
883
742
165
187
402
551
889
565
262
172
7
38
377
290
190
160
647
549
399
471
922
974
296
254
139
479
404
175
485
387
283
916
872
847
169
259
75
840
209
377
394
939
286
357
464
592
662
362
639
804
658
799
871
7
907
150
421
460
493
668
393
111
724
226
207
842
572
659
383
720
506
387
779
399
608
256
235
509
407
183
779
749
257
54
195
396
444
586
434
444
362
972
89
747
188
538
463
654
920
630
321
492
963
527
881
355
30
206
681
861
924
521
778
721
619
893
111
661
568
780
76
354
626
429
100
495
140
68
654
233
608
999
549
905
496
254
149
86
675
621
905
541
709
926
299
899
14
877
23
930
71
757
364
78
686
443
980
875
150
976
842
889
753
677
983
583
934
461
487
738
857
341
748
900
587
720
977
548
338
89
416
527
479
39
23
741
875
773
893
950
754
716
330
219
100
605
94
4
89
884
842
228
872
450
706
353
340
555
999
484
587
506
868
994
115
807
770
129
584
136
564
638
242
393
318
348
916
662
741
640
68
905
616
173
850
916
259
194
835
31
906
667
301
891
683
798
878
343
457
195
97
126
684
172
339
15
777
902
479
955
914
964
428
952
545
280
708
46
673
926
756
6
23
835
664
297
66
774
414
543
959
812
613
285
240
392
501
361
864
506
917
557
976
773
897
494
753
996
44
997
878
56
703
28
21
440
160
145
878
259
407
309
989
57
73
564
777
103
189
56
913
510
544
258
990
276
385
664
577
481
863
533
936
663
355
792
935
343
822
181
740
635
523
664
637
453
347
741
159
742
656
261
247
334
587
798
839
583
721
199
906
384
5
843
849
939
726
864
155
141
738
362
381
13
40
443
586
659
290
687
853
928
825
898
890
248
773
278
961
666
690
730
399
100
629
482
758
835
968
729
401
385
588
240
328
14
64
233
233
868
97
70
624
236
726
544
152
915
476
600
449
149
562
628
314
874
68
515
819
471
470
452
954
999
133
553
91
566
754
407
838
135
917
563
946
288
374
776
455
838
269
600
592
774
151
593
256
746
984
488
420
833
479
982
870
320
866
983
107
518
115
911
242
520
212
18
132
523
243
87
461
367
624
629
236
982
423
948
129
969
960
231
852
789
990
25
349
782
982
69
993
536
759
747
996
27
999
87
412
107
927
500
44
306
990
737
157
105
855
181
220
888
696
240
423
552
442
127
523
494
372
186
103
363
407
378
572
349
359
536
13
139
984
774
833
149
498
75
156
365
853
932
769
567
343
957
862
902
347
174
252
24
383
655
141
502
849
657
413
886
601
571
77
86
821
856
351
40
513
763
713
766
665
712
938
970
424
24
34
214
486
861
893
48
445
814
419
245
726
646
375
51
297
888
790
901
461
955
298
361
77
659
104
966
361
679
676
705
104
91
700
247
845
929
810
530
540
778
632
479
100
517
930
438
322
616
624
271
646
559
809
175
676
980
801
524
565
712
746
574
110
140
142
774
428
1
917
339
617
674
527
933
257
529
936
264
421
707
952
364
53
398
211
811
264
695
511
537
642
877
9
903
722
674
475
612
475
772
333
638
902
409
644
601
567
845
229
472
928
934
925
962
478
707
433
794
403
143
642
66
325
335
423
607
730
728
964
880
274
892
854
657
866
342
18
641
156
401
162
734
370
434
858
974
706
3
472
494
653
307
640
235
544
993
367
676
514
729
177
223
649
396
552
320
764
947
150
772
764
296
459
237
273
288
355
470
469
142
332
175
26
98
246
8
905
285
882
368
849
893
464
160
809
95
300
123
665
772
216
928
817
103
298
926
527
366
654
180
488
222
349
683
217
560
942
434
878
285
196
408
391
619
907
776
239
984
324
239
743
728
239
340
655
837
7
43
912
179
218
723
691
672
130
88
836
53
244
637
978
435
76
925
22
699
780
45
94
477
380
116
277
368
393
513
572
856
526
392
381
314
102
745
876
310
975
113
117
851
106
366
989
167
796
726
80
642
91
930
48
306
780
9
713
912
826
350
977
938
874
953
824
652
987
156
125
39
759
27
79
752
525
475
742
862
527
518
537
919
208
752
751
794
752
403
461
905
367
917
586
332
717
601
484
914
840
850
873
439
201
591
200
356
960
313
135
570
521
470
37
628
45
37
499
593
393
811
167
438
858
145
288
300
127
574
634
925
499
783
395
560
61
862
721
199
375
127
543
411
407
509
678
513
213
14
500
415
656
519
707
45
604
407
487
15
336
899
855
6
94
982
690
727
576
835
105
394
306
632
60
358
657
424
987
966
895
828
427
6
18
573
217
205
578
379
745
200
68
868
272
462
182
878
743
370
573
670
125
831
336
283
754
979
247
558
394
187
436
340
165
567
641
250
29
219
751
454
530
518
6
159
845
335
495
294
846
180
603
349
538
565
143
202
213
594
20
345
905
332
691
231
64
751
553
291
582
419
636
767
288
681
731
687
506
367
275
389
102
514
340
691
683
81
769
970
391
309
855
914
94
404
684
903
437
598
652
133
838
783
226
879
130
331
540
591
529
502
938
991
701
635
322
438
288
634
375
792
447
23
448
276
427
656
195
510
216
1
654
926
925
636
721
238
308
105
956
966
915
604
158
51
506
435
200
707
605
172
233
954
721
571
611
660
206
4
200
682
686
865
828
875
926
531
854
504
545
594
483
343
895
721
351
466
847
89
624
519
860
56
480
811
62
269
65
116
265
427
949
931
776
657
454
903
274
21
350
417
531
602
173
238
450
410
152
657
381
905
220
68
925
634
779
896
327
346
809
317
109
785
362
871
476
477
888
551
712
926
148
75
511
597
569
598
606
123
405
728
384
95
575
84
944
670
97
911
868
704
412
692
294
636
505
548
958
613
345
920
645
887
775
555
340
311
284
257
798
78
158
784
339
494
968
874
848
735
885
95
136
648
175
542
665
544
59
786
438
260
364
846
708
213
729
41
883
88
261
982
61
739
296
706
830
484
841
4
788
711
240
653
194
113
41
793
847
848
741
817
846
880
311
401
275
321
201
177
932
946
974
340
424
897
904
955
674
485
694
131
617
460
520
997
746
879
586
996
180
209
293
446
923
325
998
556
272
381
614
456
1
490
187
48
312
23
750
38
278
24
230
834
642
878
199
121
785
547
199
953
64
190
34
198
286
815
226
809
529
460
407
231
137
448
449
494
34
437
428
246
552
964
499
313
538
144
150
277
696
607
878
881
186
325
199
671
67
528
396
884
507
897
829
242
605
967
114
510
7
613
362
257
737
303
583
796
680
156
424
582
128
856
323
518
39
928
881
788
423
49
442
820
97
818
8
467
750
382
830
732
137
97
929
710
750
765
420
331
428
83
692
210
524
938
82
961
713
872
825
292
649
622
376
692
250
39
243
696
589
394
301
733
946
202
86
358
183
673
438
69
134
94
48
797
281
532
917
569
521
407
15
227
657
709
900
155
178
819
421
361
784
769
699
623
408
645
253
299
461
517
21
167
999
52
89
719
238
260
416
458
337
637
401
484
207
921
298
467
379
596
747
401
826
661
85
250
162
735
490
964
158
143
534
696
296
260
229
793
93
97
86
344
642
622
356
426
248
799
268
548
699
581
640
774
857
74
970
165
429
372
614
621
150
886
137
582
989
369
224
17
149
931
358
127
946
505
929
881
410
587
976
863
144
57
361
605
902
681
475
410
824
846
907
861
142
390
460
703
452
967
393
125
685
796
23
674
313
44
209
637
200
613
124
95
366
1
501
14
968
907
133
5
819
342
365
321
737
427
264
167
70
785
754
927
416
440
575
411
703
750
127
748
242
114
241
48
864
59
512
154
524
991
624
730
716
933
161
619
65
604
910
669
255
521
298
598
304
279
602
93
52
816
815
357
332
482
375
347
104
534
749
931
900
216
349
647
251
580
944
368
631
952
281
742
292
592
63
158
352
624
34
602
716
499
618
176
789
898
37
230
132
158
407
859
389
445
495
832
298
65
149
800
939
459
603
721
724
276
568
145
79
602
582
425
213
397
989
900
770
271
219
278
521
461
374
839
885
711
137
755
668
854
995
34
569
148
745
698
122
599
810
101
680
630
403
468
360
866
466
963
245
362
773
668
486
917
801
885
138
152
711
149
685
312
784
87
255
336
637
29
885
437
230
856
389
373
844
646
962
381
609
947
616
944
526
840
157
513
580
255
536
590
857
930
964
958
730
314
16
400
916
413
26
279
747
454
143
963
933
856
776
686
123
515
222
337
59
65
807
458
280
92
867
297
495
181
666
106
423
215
576
692
460
673
320
724
569
511
375
946
481
985
320
340
904
900
628
872
295
637
544
333
459
807
498
993
658
221
955
515
668
465
3
968
981
785
239
331
195
70
54
888
941
415
777
637
387
250
476
668
314
762
458
85
890
704
110
870
184
30
581
190
201
377
549
983
502
957
334
418
986
11
470
703
485
276
652
915
778
964
864
798
5
445
412
492
580
980
467
292
926
983
491
943
957
398
863
968
103
534
754
241
553
579
383
976
709
410
219
175
204
456
534
426
727
646
901
252
828
494
478
669
483
811
632
483
502
517
936
57
637
873
561
566
359
359
254
159
468
721
981
89
330
325
889
616
368
321
392
519
909
334
447
966
110
55
354
190
345
779
358
967
561
759
67
110
123
643
950
690
871
53
207
58
376
681
43
786
409
301
432
378
568
756
382
746
62
937
973
906
329
919
779
521
832
527
753
895
200
594
702
4
716
405
296
839
331
512
269
705
863
672
696
530
966
806
69
288
757
341
740
738
968
259
965
866
235
432
782
656
424
495
170
70
757
235
355
346
410
636
432
514
805
152
420
253
592
419
828
500
117
551
445
648
811
512
118
536
849
88
886
65
965
450
780
245
327
536
769
474
391
368
109
267
973
528
761
116
451
784
626
700
232
957
603
476
808
691
457
105
461
195
837
633
315
967
125
517
803
114
358
35
475
255
463
303
395
937
583
260
436
628
496
968
980
272
29
472
965
852
89
412
765
816
279
43
170
161
778
35
533
918
669
963
668
203
598
601
444
938
164
941
611
128
552
452
544
577
747
348
480
941
205
782
123
545
975
535
641
809
115
440
540
4
615
846
874
2
174
291
195
626
328
517
176
997
719
542
783
102
660
504
826
518
427
856
660
976
820
240
907
649
256
182
479
870
597
533
506
599
773
42
267
400
864
869
141
525
713
906
256
384
100
614
382
444
265
405
326
923
35
503
888
755
275
86
275
492
740
454
876
374
917
62
950
658
500
717
552
2
792
344
939
202
228
199
192
821
200
189
426
877
365
851
802
776
622
887
577
861
565
9
266
484
521
301
513
936
511
508
358
262
544
70
890
495
407
343
49
471
880
632
690
904
565
347
577
316
995
87
496
426
336
654
999
111
333
627
361
624
77
828
545
944
844
861
540
341
363
756
827
246
872
521
824
799
293
83
652
103
415
60
244
338
897
902
218
953
271
44
484
74
104
947
255
791
560
957
956
742
454
238
365
554
150
683
692
556
71
201
409
753
417
114
762
982
869
381
388
936
595
190
181
18
568
962
106
438
582
760
765
77
213
143
166
322
636
932
59
978
236
56
307
533
92
343
646
526
176
637
648
748
636
654
490
734
686
691
600
930
154
137
906
403
86
947
915
694
680
669
178
267
24
344
598
851
62
542
978
704
687
610
133
642
526
51
514
175
689
121
969
126
238
813
863
5
797
467
450
656
982
773
1
694
777
790
23
734
119
452
272
464
32
652
547
132
541
677
762
794
475
725
721
755
365
629
62
718
280
450
579
629
88
833
86
615
411
729
37
455
105
612
422
397
953
294
504
790
415
439
894
281
146
632
457
865
737
762
183
835
672
222
884
538
782
805
482
194
753
59
324
723
559
382
725
607
303
813
981
436
673
59
647
390
645
602
351
253
151
493
429
839
43
259
208
364
769
850
676
75
318
481
534
229
41
460
668
3
280
103
434
767
521
932
956
798
311
33
842
773
73
584
412
318
244
440
622
125
955
285
624
653
791
879
141
723
966
924
193
901
802
528
402
771
277
769
845
421
460
166
471
462
614
352
534
376
781
348
462
669
528
612
966
923
928
371
94
740
426
914
823
704
315
822
29
485
694
100
658
193
283
852
29
631
419
36
590
959
920
465
70
686
74
240
199
674
113
564
784
595
813
212
305
693
77
125
137
654
334
352
513
666
798
908
111
782
338
313
120
384
681
674
557
528
801
711
559
438
744
313
785
131
891
102
571
541
645
588
490
637
15
685
249
280
971
718
739
341
64
725
988
90
85
875
749
633
776
183
834
692
857
59
119
180
534
356
579
314
93
923
519
470
845
788
55
541
306
774
552
432
500
179
478
599
863
76
523
841
547
699
694
313
701
784
329
163
841
246
956
835
459
447
821
920
439
193
451
397
311
722
251
564
412
408
270
135
637
945
92
519
699
621
485
960
625
421
503
904
126
8
913
580
429
676
924
660
428
804
13
40
671
991
683
248
173
898
278
966
349
465
107
685
731
200
819
644
696
809
973
210
2
822
169
212
263
64
989
496
733
603
982
350
798
780
854
989
214
350
380
37
893
857
810
25
380
359
558
899
519
122
957
154
139
114
880
474
124
621
493
481
665
219
181
56
908
973
965
929
377
801
327
640
875
854
240
874
674
11
970
879
204
514
323
505
6
351
301
828
598
332
937
900
9
749
993
60
222
563
554
880
271
806
241
736
253
565
260
303
493
648
353
412
35
633
831
26
978
274
996
428
238
462
793
879
278
554
896
186
436
501
110
939
839
277
394
136
375
843
362
752
595
753
775
790
941
914
201
873
767
221
508
324
853
640
719
815
412
427
655
30
193
846
678
551
852
136
111
721
377
828
982
769
256
28
553
237
12
902
601
738
641
519
124
722
529
468
978
38
771
870
525
675
909
848
633
868
433
718
53
13
810
890
919
997
274
416
304
412
618
428
923
108
709
487
556
43
574
791
262
297
903
647
451
718
250
753
949
699
649
757
21
195
811
33
383
261
645
297
955
452
599
372
398
220
424
963
205
742
39
390
389
814
647
328
357
215
644
960
498
991
901
981
283
337
819
806
108
152
785
1000
463
271
991
666
29
149
32
529
650
198
924
43
985
282
922
831
954
511
553
570
136
662
713
290
626
363
886
360
454
388
755
57
559
249
846
352
946
500
405
922
674
632
413
928
45
690
280
203
991
51
239
906
130
668
930
567
228
967
472
267
915
883
288
610
954
350
308
212
133
168
812
41
21
244
687
320
657
377
540
916
357
976
646
39
403
105
393
492
699
883
319
720
580
353
460
294
870
243
725
722
903
539
998
992
195
785
306
196
889
727
74
400
619
510
689
614
150
542
501
986
616
13
662
276
419
326
455
170
914
179
926
372
42
655
138
799
572
689
878
896
184
196
528
469
82
657
601
54
376
775
520
539
663
300
82
426
711
195
330
904
194
982
226
772
348
441
86
814
559
135
685
380
625
584
174
783
697
73
28
652
873
741
960
705
566
718
594
714
378
840
925
266
842
832
84
282
784
916
206
795
89
406
684
834
832
181
914
785
35
476
501
533
31
126
968
857
137
627
597
968
288
664
189
332
330
161
195
600
756
231
733
584
547
144
985
118
49
675
112
501
654
560
169
309
798
253
39
565
33
372
302
179
429
832
277
941
627
474
458
707
275
977
25
164
312
739
629
276
335
88
624
976
802
473
233
712
840
171
154
6
859
377
129
5
679
30
275
468
899
620
964
920
137
839
970
239
252
242
244
969
777
144
464
434
578
183
517
226
299
436
380
674
171
556
968
799
925
432
362
506
1000
97
393
837
736
696
669
65
159
251
14
120
892
252
898
534
69
579
362
576
647
534
712
335
576
920
444
236
262
229
817
901
991
239
714
918
930
507
556
69
626
464
620
540
876
700
264
597
704
708
467
67
36
966
211
991
173
572
653
961
288
564
283
509
235
225
312
685
563
936
874
899
753
813
709
324
79
593
903
149
501
428
198
662
899
513
140
11
814
437
453
216
725
824
752
278
298
282
767
612
415
329
479
309
586
549
878
680
60
915
68
574
221
834
102
439
347
706
45
528
897
773
169
112
40
525
305
552
159
352
721
50
787
394
866
718
806
347
404
275
75
819
29
102
985
895
593
441
60
693
96
647
714
119
182
103
884
209
359
77
425
739
485
831
3
121
157
537
418
77
352
808
329
473
798
917
514
730
741
526
499
296
33
411
16
818
236
190
226
674
270
637
867
358
271
768
82
869
259
53
587
19
506
756
868
222
228
486
655
811
169
952
553
791
361
394
849
923
684
109
50
962
883
598
626
152
252
384
137
796
593
299
32
107
793
358
317
475
261
994
994
829
967
532
396
614
697
185
910
848
133
5
913
970
356
465
872
765
860
58
551
344
720
611
755
119
41
977
199
805
977
116
472
494
124
733
938
294
669
927
290
584
673
641
742
609
702
203
444
950
308
563
424
904
51
360
328
337
454
862
492
648
837
206
518
235
767
677
263
127
872
118
485
375
686
837
121
185
772
101
366
968
311
716
899
808
730
191
984
434
62
422
597
855
776
821
498
782
833
482
62
620
321
115
949
925
784
149
9
274
364
45
451
429
610
518
412
310
896
580
670
83
27
746
767
729
90
452
14
534
129
201
364
845
891
831
737
773
613
487
279
123
612
158
894
937
730
73
548
623
480
943
476
854
9
831
411
533
562
697
571
287
398
147
263
276
691
589
634
20
639
504
322
516
941
306
177
305
893
166
366
793
656
17
651
416
439
731
998
401
757
818
993
40
581
206
881
397
620
128
234
518
407
35
277
860
69
546
636
946
420
393
519
159
995
591
919
885
362
476
180
638
44
305
926
113
21
289
230
557
18
55
954
75
730
971
931
197
219
181
231
477
567
365
946
244
502
753
408
316
52
500
723
189
482
861
4
117
390
854
190
269
745
686
673
597
230
540
875
873
908
49
780
471
401
784
800
21
661
870
714
890
771
360
473
770
89
194
306
652
176
346
417
633
37
518
764
329
888
193
3
142
782
783
818
952
6
790
337
416
606
960
494
883
64
462
293
44
902
172
795
237
52
581
175
454
928
585
574
240
795
729
927
127
848
841
473
504
777
854
37
137
341
648
754
909
505
70
514
140
123
741
749
982
350
198
700
997
338
192
910
851
884
205
49
17
417
518
774
417
169
235
545
918
890
527
22
367
48
955
510
954
544
689
874
897
912
332
769
604
845
5
578
934
183
374
675
311
943
498
572
781
290
284
443
596
19
164
582
619
853
314
906
363
61
573
182
30
125
44
653
462
116
588
520
667
551
393
682
969
300
52
596
438
903
187
878
46
257
345
808
723
424
569
103
74
843
238
862
381
53
403
950
78
933
98
843
392
86
807
662
523
709
111
857
78
26
292
3
891
470
492
479
513
337
283
641
69
82
617
204
782
532
468
925
751
511
237
783
202
422
372
417
86
656
86
327
340
712
42
646
444
8
789
148
264
138
927
614
718
804
717
521
731
111
509
295
904
829
917
79
688
544
314
178
15
2
199
883
561
565
934
609
231
313
119
43
70
373
198
233
141
52
642
168
44
546
918
6
461
400
806
396
831
157
228
509
152
514
99
928
245
737
881
962
58
689
190
158
467
619
987
153
92
869
333
27
340
264
627
18
600
769
520
394
216
163
4
707
892
738
206
803
120
501
544
205
774
821
209
375
46
426
144
17
68
478
198
61
32
997
264
144
22
273
891
490
17
803
397
782
960
609
200
245
326
985
317
629
922
14
332
298
513
993
807
893
754
744
365
994
397
388
139
970
365
195
556
990
284
205
281
744
927
50
16
31
352
634
367
36
692
750
865
511
521
283
328
426
66
744
510
901
896
861
425
927
818
251
645
178
871
893
139
249
110
19
995
376
566
617
258
324
860
369
418
805
343
385
626
675
713
38
285
559
483
202
12
519
131
454
120
182
822
611
225
352
503
797
187
978
818
480
896
762
323
100
450
450
230
245
663
294
816
549
925
673
614
463
599
354
292
326
609
540
466
741
952
633
343
971
981
292
860
593
795
433
856
273
792
760
974
825
594
548
889
28
306
152
552
606
101
568
229
378
343
93
118
761
449
154
739
635
810
283
603
342
689
377
383
495
861
959
5
196
906
945
987
928
346
464
639
416
880
914
985
974
694
498
430
791
792
726
992
749
674
138
514
358
56
728
484
247
314
549
578
48
290
360
336
748
32
139
342
231
610
732
551
838
936
688
943
42
848
597
49
771
32
896
768
115
577
181
263
704
259
747
496
562
268
887
723
951
771
516
799
444
619
625
616
396
365
914
148
999
970
228
523
344
793
798
52
179
230
31
568
665
152
482
125
537
568
692
290
283
13
722
417
16
464
221
170
804
373
532
441
232
290
92
349
926
61
615
627
455
991
392
23
151
25
916
813
670
682
758
76
531
619
67
91
450
832
992
3
772
585
693
967
951
687
597
154
47
970
91
261
474
558
62
192
871
332
90
42
723
108
547
489
247
543
293
559
580
987
754
909
828
30
937
512
708
540
508
153
750
276
399
801
520
755
293
33
718
92
618
477
238
484
656
898
414
334
554
127
107
797
813
437
994
41
647
549
917
701
640
860
280
532
485
250
191
128
833
734
525
824
821
405
451
222
151
703
66
647
516
673
15
255
686
411
628
934
577
20
186
976
166
791
351
170
576
451
680
844
870
503
801
488
361
97
145
337
190
447
518
525
818
155
965
621
304
902
461
222
149
321
432
215
856
722
812
571
515
495
275
885
373
714
758
628
490
680
725
975
394
676
614
975
402
964
789
512
173
585
840
871
542
499
825
416
672
350
239
714
498
507
324
521
560
332
447
185
653
711
110
533
371
471
858
755
24
649
520
134
471
715
707
479
483
365
917
279
503
22
232
565
904
66
794
636
635
555
121
332
976
390
263
581
911
55
755
717
473
717
130
512
537
319
526
87
58
652
828
333
144
966
636
569
241
320
488
179
451
452
852
974
410
564
773
325
317
174
893
194
56
991
412
508
662
772
142
793
416
890
218
638
751
104
917
561
280
900
741
32
262
696
997
661
621
654
9
837
862
90
133
836
443
398
321
49
760
440
58
493
933
578
969
368
491
433
225
965
576
681
553
952
67
623
796
273
700
761
903
515
708
431
414
919
843
41
309
996
387
507
628
144
789
996
189
203
661
909
578
111
133
509
647
695
955
660
206
49
519
809
16
753
541
580
681
200
945
290
153
310
281
134
952
155
937
860
34
688
167
733
996
651
677
797
792
252
508
53
169
103
440
983
870
142
563
540
778
109
319
628
40
324
810
333
316
972
504
464
202
88
282
578
744
634
481
230
167
324
249
93
299
987
656
162
881
531
288
400
49
329
857
881
852
861
682
75
585
132
201
907
855
793
909
945
999
130
31
113
271
795
323
768
200
959
636
529
544
520
413
89
319
859
355
51
562
443
66
105
429
875
609
738
7
36
631
416
116
349
147
457
372
130
430
889
449
175
920
371
303
966
668
397
294
142
460
276
539
269
836
85
892
860
566
761
500
798
418
650
669
316
439
268
508
501
834
901
525
903
921
472
151
366
118
193
953
637
159
313
753
446
795
460
364
45
205
930
237
168
548
364
660
68
620
97
623
819
911
313
446
704
305
929
820
155
294
928
476
808
355
958
186
579
235
23
696
445
188
810
179
53
451
359
268
411
960
555
101
130
360
457
516
11
828
410
131
537
373
118
881
520
132
680
448
578
614
530
798
281
747
816
397
941
552
205
976
413
82
790
187
221
501
316
77
773
900
996
823
853
456
699
970
25
208
886
42
148
892
698
573
681
74
164
331
511
316
641
477
116
897
279
589
731
521
996
362
253
253
352
988
552
872
789
754
577
112
992
553
493
547
47
976
687
233
740
960
260
415
633
255
21
858
165
656
25
120
160
709
350
818
471
630
610
365
59
886
144
909
758
44
823
820
764
490
575
916
747
572
497
476
282
67
961
242
142
424
769
161
450
610
904
406
173
885
258
952
553
326
917
314
811
989
300
580
503
183
36
905
303
272
721
822
675
514
480
866
924
307
213
367
619
783
769
298
251
744
617
15
634
717
49
80
515
234
972
839
919
861
965
522
258
772
868
689
523
574
539
644
422
938
835
183
788
310
219
300
398
302
107
572
694
481
140
58
640
921
959
315
876
627
893
745
615
677
701
820
702
933
613
342
566
670
126
795
328
946
899
358
811
453
896
615
731
533
540
973
622
883
794
779
236
168
40
517
456
876
116
229
807
959
786
624
166
924
853
231
992
755
449
738
275
526
246
281
555
292
47
726
804
816
331
562
816
402
221
463
291
499
874
642
811
828
541
766
568
115
634
581
74
782
419
352
520
830
655
601
866
919
37
722
887
699
425
238
47
427
272
346
314
899
163
140
383
895
430
81
768
119
356
256
633
141
581
906
505
731
835
70
165
147
63
777
870
517
644
417
127
623
592
395
736
128
537
443
929
419
102
856
842
558
831
800
150
718
345
631
50
875
939
168
647
674
763
473
306
813
903
600
973
687
959
596
65
522
667
227
917
712
685
609
794
642
798
424
294
792
833
580
630
29
518
847
43
7
429
790
550
325
591
307
33
628
545
755
189
555
555
737
433
685
61
525
419
796
544
298
902
1000
235
342
619
407
257
34
433
114
53
904
465
127
478
60
557
652
22
218
961
453
954
166
209
42
224
172
640
443
596
753
565
96
303
509
123
793
992
183
39
653
745
842
690
392
268
562
495
616
543
457
712
99
89
624
523
688
218
325
683
567
870
25
626
615
442
190
451
417
64
847
680
139
239
986
467
101
404
430
437
812
767
849
584
605
687
821
584
427
340
701
366
29
239
184
77
574
96
102
731
26
396
501
587
822
296
568
917
94
571
956
305
109
838
205
600
202
837
755
10
334
682
579
422
939
916
166
836
449
631
366
998
65
749
175
875
198
35
193
705
163
796
341
425
788
310
411
688
415
280
758
124
984
74
337
1
548
764
960
369
796
15
536
447
551
263
727
786
490
747
674
875
710
499
48
450
516
648
744
716
474
78
417
594
688
457
156
372
296
405
756
467
662
479
291
885
273
536
192
380
983
346
461
962
840
137
430
646
610
360
495
754
839
763
844
21
479
523
764
169
490
806
113
598
449
849
364
578
68
469
465
192
326
827
419
448
627
87
646
928
105
695
149
517
819
543
729
205
201
304
355
538
454
66
440
43
258
142
772
193
592
40
27
194
332
179
79
963
987
964
71
72
234
211
141
777
940
650
534
270
364
520
657
543
957
566
562
848
560
851
156
900
271
947
588
134
938
299
711
915
790
462
782
924
814
388
900
95
613
416
686
967
742
606
113
529
11
577
1000
86
156
828
869
360
823
739
656
239
478
603
916
928
492
645
543
385
246
182
44
748
540
477
363
610
629
224
55
827
343
400
977
972
792
677
963
706
809
53
999
448
880
594
68
45
194
749
7
229
211
94
155
224
411
418
730
808
939
312
85
909
748
713
21
443
359
69
298
763
986
478
366
978
3
134
656
229
228
913
207
288
838
446
454
547
453
8
368
425
831
467
906
625
667
265
896
745
937
286
468
952
581
665
592
528
769
82
403
452
813
430
85
777
949
282
775
911
220
981
275
568
627
769
758
199
978
691
473
847
116
64
162
262
493
304
22
410
877
356
886
453
558
330
362
549
890
75
787
593
759
964
645
607
932
102
83
97
478
891
742
406
176
963
221
563
546
147
545
543
503
80
88
905
669
80
900
865
160
485
32
887
883
913
826
234
770
114
374
496
268
196
172
552
482
290
825
75
907
454
709
292
353
474
403
281
710
417
494
77
669
118
943
85
513
601
879
605
193
627
81
806
455
499
577
402
482
741
113
690
267
48
653
529
873
222
637
563
795
927
473
394
891
500
437
799
528
241
834
148
653
667
427
386
457
796
574
103
443
824
810
712
985
361
79
604
333
651
128
242
765
559
935
382
513
675
984
478
993
312
413
553
29
835
687
542
325
72
398
954
154
374
675
1
147
396
133
167
411
254
106
431
250
728
701
911
65
393
604
985
142
913
404
456
152
58
100
661
233
595
838
908
198
94
977
463
26
325
976
875
129
448
735
338
128
133
4
137
78
162
248
820
232
243
725
419
385
585
545
813
911
356
245
389
612
981
956
136
778
899
971
103
184
332
582
33
247
404
209
387
796
196
755
559
357
444
758
539
875
994
567
323
372
743
861
243
521
132
964
913
717
694
95
131
104
894
21
882
953
95
543
526
288
432
548
252
42
40
244
911
724
531
483
40
967
980
626
494
473
192
898
579
505
626
272
819
634
545
95
220
613
134
206
60
436
522
491
817
802
55
922
266
231
83
889
72
792
104
664
61
854
440
668
523
776
612
378
649
876
927
976
406
78
303
607
45
593
698
604
906
315
746
203
860
727
155
765
86
818
358
568
464
879
328
789
418
684
132
267
622
560
41
9
462
98
645
712
317
255
735
677
410
704
262
704
30
426
938
660
278
973
409
92
670
800
438
921
16
681
657
285
509
419
750
361
272
277
751
479
264
12
706
288
437
864
24
838
128
56
281
247
779
441
265
828
598
218
535
626
628
521
299
624
673
570
989
937
327
507
551
350
283
622
653
827
248
863
968
938
68
800
255
845
229
888
960
313
519
556
43
775
180
139
934
121
380
58
842
389
706
548
904
967
545
871
204
699
527
140
830
68
925
633
365
585
670
441
785
63
350
736
871
422
734
78
807
992
703
473
784
357
512
280
41
342
300
410
529
3
573
804
639
102
845
675
826
10
747
984
894
294
964
233
786
790
381
33
887
214
439
994
71
373
365
383
939
624
436
150
914
314
986
620
413
360
443
560
932
40
193
705
195
676
539
965
678
355
917
587
42
19
627
1
67
29
528
734
433
979
713
79
538
735
386
346
485
16
591
734
385
907
676
843
358
45
645
877
432
444
654
417
155
671
605
379
636
186
876
218
771
382
370
729
796
440
228
896
896
770
865
572
438
792
398
645
280
55
359
408
704
255
823
312
308
873
560
842
981
120
481
663
556
238
114
454
582
748
358
208
147
144
569
201
145
188
445
650
969
742
425
653
132
570
582
460
928
263
740
350
966
923
949
598
273
275
680
707
139
722
502
722
213
597
515
672
435
882
115
290
835
696
306
341
408
373
670
847
768
740
335
300
592
249
813
615
491
167
502
791
859
83
677
335
959
65
584
616
154
284
795
303
521
290
346
429
704
261
953
720
969
158
424
530
835
129
652
502
541
505
36
804
954
485
163
655
924
73
968
998
931
986
489
56
833
941
597
181
847
567
640
61
738
634
810
995
272
221
770
884
924
381
512
674
212
336
479
99
66
891
186
887
592
779
426
674
523
271
24
515
562
401
985
884
208
485
362
501
866
847
660
135
642
332
674
915
456
694
504
515
838
381
110
446
720
914
440
694
803
57
37
831
187
539
646
636
280
351
119
934
524
333
100
499
75
579
656
506
969
668
700
128
545
711
114
536
377
669
533
141
260
789
461
544
446
489
428
216
901
200
950
372
767
395
910
44
294
45
629
308
679
455
827
352
983
774
624
485
33
742
772
786
645
881
470
819
794
104
194
802
54
250
168
304
7
985
278
486
476
716
178
26
876
338
607
166
965
701
534
459
998
776
321
548
256
557
708
782
434
450
959
145
834
368
292
755
262
159
806
531
495
263
731
858
378
470
846
912
918
318
675
817
44
616
90
211
369
720
903
839
192
780
287
859
277
616
588
1000
794
631
594
87
508
325
453
645
725
939
761
989
292
679
411
53
734
644
40
938
388
108
957
251
645
40
657
204
715
1
449
1
150
359
24
56
138
24
245
699
48
760
93
601
292
29
917
760
170
412
596
108
899
336
75
670
114
776
856
186
439
773
192
523
636
278
861
932
384
587
922
286
804
252
866
386
205
680
26
607
622
584
888
104
224
154
942
796
45
578
939
916
924
113
324
321
201
352
542
992
963
122
370
636
403
705
714
879
193
90
260
505
640
368
724
674
68
842
456
415
334
569
819
408
232
484
644
417
35
963
231
568
362
823
428
56
778
505
135
570
384
876
358
627
455
574
61
332
939
369
93
404
955
687
816
735
687
565
111
508
416
470
418
507
316
151
348
503
189
723
533
410
223
797
776
782
232
878
449
921
233
828
578
340
204
142
376
395
879
342
434
612
528
292
304
806
464
80
963
308
369
553
804
756
548
467
813
714
624
571
237
357
126
847
979
605
901
747
434
773
839
300
652
829
490
997
617
161
248
315
27
130
135
489
422
716
269
353
327
449
393
154
393
885
373
923
339
355
876
591
451
709
536
306
476
852
898
660
584
795
804
675
892
114
542
893
780
484
328
791
270
319
760
441
350
867
22
215
687
242
95
549
897
615
92
339
731
74
167
941
267
849
217
914
920
684
778
20
222
643
835
24
494
789
67
850
77
402
740
164
383
443
629
378
249
191
568
861
299
796
964
94
501
768
180
324
646
7
335
385
137
326
462
849
414
419
210
473
221
243
644
784
63
575
862
683
238
732
356
130
780
435
55
107
619
811
526
65
133
671
235
378
960
686
397
413
47
904
124
497
803
506
806
197
369
212
604
610
692
437
145
14
879
533
739
495
578
606
660
228
456
379
432
350
339
882
893
185
720
293
324
122
326
174
833
548
690
979
40
281
720
679
946
379
907
415
862
770
379
77
649
420
643
871
252
584
783
307
286
642
173
240
546
566
631
66
887
63
882
807
12
604
942
207
64
192
512
935
279
76
863
74
678
427
713
553
493
214
841
988
697
820
727
59
65
289
376
982
409
411
250
516
303
699
256
139
257
225
731
252
414
633
936
641
843
227
778
525
281
875
461
505
507
765
676
374
721
972
790
306
902
519
631
546
287
348
200
232
213
420
612
37
607
45
634
406
743
522
421
371
530
967
912
512
615
526
301
370
909
17
816
551
879
286
207
54
807
958
784
320
379
862
388
679
245
988
215
17
914
484
75
241
710
701
139
602
473
594
125
641
867
251
6
940
945
328
608
98
928
450
252
839
774
174
377
849
190
983
398
476
798
486
749
380
951
445
404
400
370
922
56
757
466
426
375
91
136
258
70
425
986
512
289
29
36
635
873
317
487
155
679
21
427
333
874
625
616
165
443
386
619
302
408
871
431
32
700
704
271
245
866
80
436
971
799
833
610
703
87
848
168
603
855
228
249
315
432
248
26
772
314
658
341
175
373
25
359
663
751
484
99
891
393
1000
44
548
72
471
257
659
442
58
315
31
76
883
874
617
203
381
976
133
199
296
424
438
956
604
662
90
83
692
259
446
722
69
711
988
428
739
779
757
3
716
550
272
495
680
67
557
159
817
643
598
494
198
525
555
531
170
948
64
497
413
935
975
695
384
55
112
462
219
650
400
488
991
856
42
183
258
955
584
945
640
806
247
806
885
127
443
119
200
779
85
745
766
731
587
878
72
562
103
128
933
341
693
623
97
754
296
87
847
372
716
54
190
991
682
798
508
944
318
742
798
473
458
737
445
76
423
932
291
910
435
592
465
639
887
57
146
363
531
838
115
47
158
947
567
907
693
228
554
811
195
464
195
879
307
186
72
648
837
805
949
814
761
104
215
323
283
273
855
105
851
65
280
488
819
381
304
541
249
82
992
94
602
658
31
341
888
404
835
356
375
277
507
151
730
761
519
357
706
646
85
900
814
142
344
885
845
531
158
914
933
262
88
725
458
990
847
231
141
73
781
946
598
460
610
575
696
821
559
556
235
451
749
551
551
511
222
603
150
526
721
41
921
736
122
953
522
672
204
879
840
421
919
381
332
325
549
139
469
41
636
964
644
765
259
104
317
887
181
983
862
853
985
123
207
775
429
227
105
836
25
949
231
112
484
317
342
427
491
783
490
725
419
285
207
995
981
381
866
85
469
881
265
873
520
27
877
517
551
695
995
427
839
905
331
116
635
320
130
128
581
916
363
726
789
474
849
116
186
886
723
429
761
6
295
207
763
425
38
424
25
49
994
433
936
150
979
222
294
933
934
783
762
415
501
90
330
862
753
920
451
479
414
527
791
188
681
42
452
507
194
266
318
873
475
303
789
230
465
253
790
111
917
46
482
148
222
999
170
215
915
699
216
897
476
215
45
871
293
878
252
228
197
567
862
135
462
706
322
2
407
387
601
878
151
743
58
410
479
241
889
659
442
145
511
430
938
97
930
681
655
309
626
684
657
492
633
16
578
291
359
304
183
877
874
410
840
422
719
127
336
304
818
451
391
650
891
416
11
371
905
12
342
540
837
752
465
259
184
520
654
143
340
884
25
325
854
617
871
760
199
235
57
214
775
960
336
822
214
312
315
811
175
194
838
909
335
781
25
497
442
379
29
788
557
849
970
414
953
120
134
575
993
785
429
573
864
927
301
476
628
546
10
979
336
667
6
345
958
448
307
362
158
177
570
529
125
844
450
21
712
482
404
979
123
769
800
567
85
955
777
880
643
208
572
240
30
838
850
160
47
694
965
580
347
735
192
282
300
425
765
825
28
272
306
950
73
304
116
314
874
903
471
252
301
397
517
717
50
892
647
612
702
135
603
7
989
26
965
206
766
752
313
538
164
586
779
207
945
115
316
799
904
238
740
212
179
897
926
594
380
565
95
387
81
544
742
211
463
868
440
414
893
614
821
156
693
730
746
29
26
891
346
61
995
581
577
279
707
432
397
46
910
204
237
279
857
654
440
735
680
987
561
636
82
334
969
295
159
914
324
76
333
184
721
643
398
302
13
315
385
640
224
10
144
653
970
463
800
698
269
270
138
164
698
386
195
891
933
97
524
862
80
660
785
229
430
999
993
845
170
824
465
765
321
964
92
94
207
457
343
281
361
627
978
757
859
671
783
204
775
189
668
622
290
638
398
523
309
268
698
895
513
297
691
411
828
76
200
767
157
46
662
373
416
331
442
179
216
633
71
661
815
400
870
817
708
274
837
357
361
962
681
652
504
694
528
778
600
390
455
471
747
999
710
178
170
299
947
101
299
254
22
618
536
921
982
139
731
296
221
634
836
43
124
300
569
941
368
488
656
420
748
577
218
239
832
506
412
516
605
493
669
213
459
136
711
867
59
683
400
500
437
493
854
44
349
963
712
78
351
195
267
932
210
416
131
806
263
110
938
375
376
97
275
948
129
117
45
876
157
784
239
999
454
201
460
397
646
810
629
730
480
531
686
918
768
40
454
552
601
706
380
667
757
829
565
326
775
318
459
310
993
436
846
842
551
263
169
537
171
751
668
236
375
710
256
759
463
311
407
387
596
420
579
757
805
991
311
147
515
551
330
991
41
23
973
297
575
179
582
457
22
261
273
900
444
433
559
694
383
314
617
265
262
459
998
80
944
531
745
7
358
41
882
128
229
911
87
386
526
916
887
702
97
234
675
999
709
120
243
737
996
298
657
401
808
607
884
502
71
931
820
334
679
544
571
126
545
99
818
241
204
680
489
938
211
699
497
217
99
720
425
698
924
520
108
100
656
247
569
491
17
918
376
297
429
351
447
23
758
143
431
60
263
889
378
608
349
623
41
110
798
134
974
79
856
555
598
696
723
870
51
347
944
869
174
843
794
562
137
629
979
732
875
575
685
178
231
293
340
431
583
811
896
134
748
738
9
965
60
376
357
155
901
117
128
238
27
4
651
984
339
260
432
768
621
915
662
239
19
819
695
978
628
730
927
704
576
16
154
449
119
638
700
940
719
639
93
322
383
671
411
572
389
150
378
934
960
422
586
615
493
849
631
458
430
242
373
474
88
760
775
960
175
700
534
739
265
876
787
229
437
95
872
434
65
146
175
407
258
275
418
796
110
19
99
459
308
791
398
331
732
322
129
828
563
978
686
921
247
11
421
155
658
338
202
941
481
45
32
633
240
219
8
59
775
292
646
188
280
115
104
957
54
866
341
131
460
383
758
726
492
724
554
523
442
74
828
256
451
375
440
120
559
970
571
582
850
135
478
427
4
82
974
743
572
483
523
21
962
28
374
936
317
211
398
355
497
896
859
500
365
807
133
947
722
147
536
219
262
550
866
474
189
737
153
321
53
480
938
297
926
945
839
243
477
269
527
61
969
434
490
943
410
145
976
138
505
18
990
345
172
319
613
895
412
857
55
54
139
221
365
871
88
806
974
518
728
236
868
497
890
394
193
72
50
201
81
682
553
268
584
46
253
617
337
761
646
570
212
328
191
333
51
248
91
352
184
620
211
190
902
744
838
248
976
825
540
414
577
532
579
388
408
205
340
637
745
336
779
980
647
518
619
375
117
824
740
451
303
145
222
219
938
326
998
615
38
465
498
788
330
289
866
48
279
58
105
275
834
745
761
925
747
872
885
541
536
512
277
582
751
711
565
648
372
548
289
739
898
370
277
930
338
402
747
731
107
195
546
644
297
647
164
756
962
467
574
628
979
104
345
64
591
757
176
888
231
469
240
835
929
210
273
660
515
11
153
258
46
619
105
731
315
326
483
441
137
672
309
336
883
904
448
495
751
58
852
294
619
796
900
610
586
524
639
18
649
540
221
225
611
262
209
910
852
842
347
2
646
950
702
234
974
270
882
476
32
154
740
662
914
265
199
846
716
759
159
591
128
311
493
632
389
249
897
197
387
173
172
608
175
84
771
477
552
963
781
291
348
517
31
213
243
797
863
683
156
59
809
492
488
184
679
433
47
719
415
108
612
169
855
779
951
433
980
24
8
690
752
796
551
712
708
769
264
367
193
193
635
338
443
227
893
166
148
298
510
847
714
415
615
596
193
172
47
840
457
603
848
117
573
922
74
182
404
825
706
135
963
793
11
214
941
88
73
861
257
861
961
488
657
737
687
841
272
309
616
936
945
568
775
758
842
513
62
768
559
203
957
277
947
151
529
423
439
330
879
256
112
248
562
782
990
273
674
977
481
892
213
368
812
680
192
165
999
785
652
628
130
739
306
976
551
705
836
64
681
14
840
828
810
473
802
651
819
316
356
462
873
933
871
778
860
457
181
848
951
747
303
556
982
767
530
342
955
186
709
425
862
515
956
382
839
102
799
631
483
470
564
347
116
918
2
447
132
95
776
166
627
916
239
933
569
64
638
499
961
776
212
721
896
590
154
94
863
915
500
291
64
384
62
982
162
62
420
771
566
803
105
299
270
121
934
130
439
726
953
940
59
694
273
668
426
865
840
253
187
614
34
550
910
940
66
256
37
534
284
657
426
894
52
294
612
676
94
584
428
825
955
13
342
776
299
449
226
706
112
503
683
117
108
414
498
313
855
142
349
46
765
614
162
782
271
233
73
177
254
824
841
157
674
799
65
986
467
678
439
333
457
693
190
940
476
654
829
635
396
310
751
261
411
800
562
957
889
377
710
150
660
493
689
298
886
274
498
383
272
13
913
148
851
607
863
29
847
579
499
850
848
869
750
61
509
711
729
91
1000
786
316
561
3
504
209
313
892
849
257
769
488
850
183
961
902
380
85
275
651
642
181
420
659
113
998
485
174
595
28
750
844
275
672
468
604
432
4
924
919
831
586
781
858
133
70
584
451
3
157
69
609
119
687
184
916
618
205
917
168
866
362
645
539
188
568
475
289
878
535
406
3
532
318
851
632
978
217
297
237
979
184
432
301
158
417
177
694
211
102
292
837
290
529
726
776
154
925
223
107
60
780
586
286
326
346
78
85
903
153
315
446
130
756
695
575
662
862
806
858
98
369
807
865
427
614
300
382
418
772
746
729
494
482
434
871
219
683
445
946
364
480
333
101
531
579
139
580
970
971
153
906
311
884
97
459
105
724
92
863
375
653
422
171
605
690
858
393
588
736
219
58
833
465
276
838
949
910
302
418
250
697
594
455
645
682
847
685
828
668
465
383
326
80
395
964
795
375
980
841
501
117
811
970
303
517
825
602
643
830
124
495
877
111
61
973
235
388
351
424
791
858
568
870
899
298
95
352
85
245
22
550
177
516
623
270
233
151
146
455
392
513
517
424
921
773
727
240
137
46
674
108
137
311
70
945
190
439
387
61
698
94
585
995
915
964
807
132
624
327
346
108
300
765
80
849
373
764
155
984
146
352
503
366
317
145
86
803
693
104
925
711
1000
307
427
364
741
625
394
350
190
786
398
252
901
607
927
235
164
447
56
932
272
4
183
995
293
129
17
491
904
548
940
132
76
562
821
823
818
466
650
391
884
816
459
134
366
1000
938
408
270
58
118
666
377
735
518
73
167
917
686
151
101
435
296
642
14
559
803
418
330
461
903
39
944
897
446
387
281
457
743
955
932
525
223
712
745
737
783
736
364
966
655
791
147
271
675
405
415
394
398
307
564
46
12
898
985
488
327
268
182
645
966
364
658
842
155
462
964
568
309
485
492
480
279
366
909
302
327
4
303
671
56
400
591
753
291
307
992
175
992
264
194
707
492
150
983
129
298
549
389
772
41
525
752
627
128
31
227
751
780
277
868
239
114
613
832
855
473
522
766
689
803
411
615
327
203
798
982
157
914
694
457
50
911
892
628
366
729
829
16
94
144
867
105
808
167
943
982
312
152
994
222
360
355
485
854
604
602
46
556
165
971
3
950
458
954
954
636
21
336
770
811
323
10
532
782
250
497
398
767
796
837
422
296
123
286
959
842
866
691
672
852
511
503
621
48
528
613
682
138
499
602
995
53
426
630
425
762
624
720
839
922
724
931
206
49
283
946
400
928
834
159
365
330
463
630
464
473
30
552
194
68
390
57
603
867
46
324
608
937
89
500
250
431
168
170
912
303
343
793
596
206
179
254
275
270
767
411
786
226
736
185
689
889
833
751
711
264
981
459
921
775
333
178
997
15
331
841
522
819
822
208
724
222
569
280
724
996
224
898
699
229
336
48
196
522
488
284
245
92
765
499
653
837
826
35
373
497
527
367
680
516
657
929
189
680
980
268
303
347
857
909
176
367
973
893
530
118
78
538
302
161
769
387
137
787
971
675
28
826
427
149
697
177
795
598
68
531
525
608
61
85
940
659
946
443
834
217
31
802
910
990
572
883
24
533
40
17
249
650
861
401
456
344
597
432
972
973
31
185
958
855
142
856
528
472
557
224
348
436
636
444
98
95
201
34
284
567
626
370
431
95
210
514
983
704
119
736
299
547
345
34
324
488
274
763
414
1000
51
581
570
747
40
928
823
649
147
34
662
598
865
182
334
190
908
480
108
819
970
908
749
773
802
724
245
614
402
32
1000
899
6
991
617
290
277
183
34
458
422
3
186
343
692
607
492
347
839
109
650
734
956
801
93
701
608
713
101
96
615
44
553
725
565
253
88
614
103
619
134
649
265
907
243
190
410
896
31
118
180
784
504
840
511
117
278
779
277
495
18
771
647
565
775
261
652
806
302
870
334
915
867
661
113
327
883
537
610
615
628
110
605
718
605
793
768
222
184
105
601
648
412
662
115
976
806
113
339
237
558
146
192
256
828
654
268
759
101
175
670
736
990
210
350
165
461
95
898
83
52
753
939
128
666
443
298
688
916
207
398
250
14
32
845
177
334
703
896
967
744
491
455
586
748
404
702
79
566
799
132
41
655
114
332
836
745
955
426
979
163
709
208
175
541
163
495
253
580
373
182
58
983
713
22
246
79
720
768
16
288
699
905
944
594
597
360
527
204
232
548
316
138
666
428
159
361
866
46
759
717
754
292
212
355
937
632
596
532
196
9
647
968
371
87
541
269
150
696
769
707
34
214
127
378
292
832
524
898
681
600
788
850
344
350
58
211
148
410
377
845
239
958
630
450
568
613
684
298
929
486
545
324
77
115
311
563
260
212
296
188
775
662
717
587
937
801
180
466
960
118
639
254
579
914
277
818
968
387
201
90
299
113
864
908
900
524
976
809
504
68
593
911
596
593
13
446
212
983
508
222
925
387
520
586
604
560
487
482
897
395
1
711
333
412
432
398
438
400
472
76
812
676
892
212
223
549
235
981
232
579
181
615
90
246
505
96
852
115
996
66
195
273
798
622
287
888
495
546
81
747
783
206
996
434
657
132
196
298
126
205
570
969
694
153
835
7
895
686
883
437
361
252
735
671
286
899
45
934
255
569
771
537
414
874
583
538
18
955
253
537
330
480
619
160
176
209
116
460
673
15
838
175
681
183
305
209
632
379
429
795
251
565
55
333
168
966
915
63
432
815
219
772
67
701
67
842
688
527
976
857
872
742
381
742
231
363
689
853
554
338
550
149
912
453
95
289
415
352
128
893
514
493
605
946
376
207
622
507
581
952
111
306
374
253
373
188
288
911
119
496
157
444
528
358
475
568
731
141
624
532
207
750
67
208
29
594
239
321
935
728
459
10
397
837
282
812
139
665
503
536
768
854
404
943
337
601
944
959
368
964
429
288
246
749
648
893
784
598
294
456
21
473
276
159
82
373
86
260
274
213
652
97
839
22
441
803
302
718
436
242
484
788
360
332
963
348
860
737
230
158
926
893
442
567
818
499
383
921
560
271
112
490
622
355
793
456
23
420
378
147
925
282
677
449
202
42
676
766
476
704
314
637
294
546
376
262
945
781
92
95
401
353
998
492
126
50
243
259
978
20
885
257
514
300
995
303
816
9
100
11
914
944
673
986
516
568
396
722
124
327
924
359
290
909
658
196
255
260
520
928
220
804
393
502
347
171
611
27
343
80
786
527
75
821
309
576
23
598
284
78
743
860
644
148
150
774
702
423
804
690
330
100
188
253
475
949
370
356
432
796
101
952
660
338
12
121
804
163
529
906
598
331
659
956
162
137
93
776
443
946
661
170
846
356
747
515
219
886
187
229
742
498
282
302
70
57
483
339
434
152
173
71
867
665
730
679
177
384
605
853
37
742
177
184
162
138
988
176
949
203
164
680
543
604
138
439
411
104
421
779
1000
375
859
997
963
708
580
639
137
768
253
112
722
531
503
806
86
881
998
642
798
160
611
251
164
721
312
622
740
518
78
341
556
601
18
897
711
528
990
988
297
379
520
978
708
122
734
456
745
281
542
692
808
181
779
897
521
963
159
919
226
275
476
24
582
226
735
546
242
886
202
26
897
725
596
55
133
782
110
200
506
610
569
142
229
788
252
565
976
815
894
946
989
888
813
19
582
591
13
803
389
486
892
28
543
474
908
243
72
303
175
422
221
278
973
444
247
252
980
866
481
223
463
68
83
876
538
175
543
730
108
582
697
580
849
537
908
551
483
345
294
414
186
388
500
906
981
407
274
111
440
203
513
34
909
892
98
853
769
393
437
476
515
515
241
189
642
514
260
475
871
459
449
632
64
487
507
227
758
463
746
161
908
998
539
266
646
139
434
889
82
409
500
66
646
784
191
266
785
744
102
920
689
35
299
767
621
644
602
703
924
685
84
297
465
156
493
832
887
741
319
684
966
195
298
51
136
192
488
403
203
556
5
92
21
162
345
142
917
416
850
172
992
672
60
426
147
226
790
549
737
176
629
810
281
127
213
712
369
431
868
31
847
255
434
583
710
167
228
744
950
317
772
269
116
369
595
584
513
557
63
982
36
519
650
80
938
774
976
448
545
136
53
926
433
808
924
997
12
439
421
31
688
51
479
441
41
721
751
717
160
559
10
210
552
541
386
323
921
197
424
231
505
863
74
282
750
621
474
775
810
629
104
461
98
335
479
626
438
619
847
607
932
479
443
591
412
318
317
50
633
647
795
352
557
117
464
810
797
241
928
500
709
131
505
143
155
501
653
707
923
165
675
50
6
821
255
216
915
66
760
884
605
597
558
377
214
700
779
534
839
224
878
133
753
557
836
1000
943
132
616
954
523
993
260
425
234
342
604
675
317
419
653
607
660
216
823
708
377
454
614
375
794
878
757
882
781
372
853
591
486
84
180
767
430
724
62
810
740
386
511
138
746
251
360
247
211
604
999
516
467
86
900
15
853
447
661
846
281
85
73
983
806
370
649
944
190
582
807
947
768
311
634
702
767
668
652
372
414
723
955
659
835
449
284
688
504
279
817
716
177
127
76
306
382
367
223
722
249
185
73
830
633
595
976
123
57
533
226
112
631
783
736
565
62
614
111
793
477
506
941
416
68
512
703
727
454
350
421
954
99
383
180
680
785
598
319
820
303
550
145
878
112
491
710
143
389
592
275
335
259
420
492
94
217
319
820
110
375
811
399
672
936
761
844
789
959
486
196
619
815
10
103
543
23
434
697
985
67
904
98
65
944
504
415
869
666
830
156
272
581
157
255
515
241
880
134
738
202
324
644
419
596
34
119
149
634
258
628
70
495
244
369
732
398
903
570
339
847
666
395
51
37
211
98
327
516
347
256
714
812
639
623
621
433
59
45
726
326
386
806
309
611
70
723
595
182
693
369
467
502
588
548
255
602
904
393
357
434
956
963
528
855
297
770
248
144
720
329
600
616
627
645
682
735
813
932
945
164
161
31
733
667
980
786
617
154
791
26
146
861
239
347
201
500
382
198
677
967
598
180
674
344
672
758
431
97
52
641
434
402
973
200
860
425
471
996
790
418
938
488
766
333
351
592
797
50
820
81
113
703
363
277
804
402
752
83
254
281
62
588
909
255
324
288
244
608
767
444
263
194
427
241
336
487
114
150
603
605
749
533
885
585
291
892
421
435
239
981
52
625
964
76
769
786
382
735
52
716
111
314
776
789
520
848
734
282
553
694
776
885
55
893
293
700
810
413
959
140
896
89
184
596
903
686
278
69
187
762
63
589
415
794
730
302
957
669
729
920
649
982
325
519
658
547
955
584
397
826
231
170
795
213
630
798
682
914
583
636
845
357
928
817
956
651
282
492
433
34
261
870
401
613
641
662
311
422
767
129
48
535
308
670
786
721
399
584
555
515
610
888
169
801
684
735
25
580
546
799
373
344
826
872
582
309
403
119
461
862
933
661
741
244
144
627
763
793
226
627
83
831
801
349
680
806
926
143
595
934
433
384
583
868
427
963
224
446
489
767
872
216
808
243
429
604
584
978
142
81
27
798
629
184
319
31
858
336
173
729
297
832
327
157
381
8
2
172
16
579
358
567
958
616
844
628
315
885
932
322
95
236
961
645
266
966
70
619
261
453
898
875
46
896
845
121
903
965
706
851
700
440
127
930
824
47
93
422
475
840
747
565
365
110
705
232
33
704
199
697
693
680
396
778
352
403
570
411
501
145
442
361
505
281
738
499
829
559
39
612
64
944
775
741
18
821
819
930
151
199
105
489
6
60
435
320
685
620
243
110
29
42
181
503
228
847
875
627
215
211
605
449
664
579
97
401
689
603
569
680
479
162
183
261
964
444
863
517
383
337
831
279
453
8
391
234
613
619
825
216
49
356
16
444
923
935
53
332
701
92
841
173
992
734
449
881
139
218
131
360
836
254
177
112
120
787
255
602
661
735
521
420
563
698
898
366
529
94
389
837
311
367
137
722
901
697
606
281
168
942
933
978
541
780
242
628
978
325
356
84
657
519
796
620
473
267
349
757
329
340
506
849
100
208
784
448
859
923
288
788
162
131
340
758
614
561
559
997
752
319
18
135
617
770
922
659
533
951
555
822
892
816
360
628
820
590
704
438
608
128
890
880
763
570
331
906
139
470
946
515
120
587
532
39
667
148
197
740
735
294
870
697
156
815
161
567
52
221
399
871
334
354
933
992
439
917
704
723
225
639
298
930
328
933
779
936
212
370
813
145
932
724
206
52
624
806
522
686
57
842
642
580
206
393
169
750
883
531
449
740
321
194
521
501
978
233
994
402
947
31
173
414
667
571
367
951
645
376
787
993
809
340
204
743
835
768
375
420
557
995
17
875
318
309
647
729
955
750
975
929
444
148
397
188
720
626
1
212
103
305
273
538
385
18
28
579
375
702
802
959
305
18
123
233
427
519
134
978
560
150
67
48
416
317
590
454
687
902
267
905
961
479
927
460
711
479
923
133
626
439
126
733
833
445
890
730
171
657
22
38
574
984
4
731
458
303
378
175
607
584
119
611
199
490
575
811
328
587
988
814
337
266
410
936
89
234
879
153
340
773
620
114
89
59
523
620
369
290
181
822
347
511
211
120
936
348
362
979
482
814
597
341
679
226
974
210
376
12
593
625
192
90
680
278
733
64
688
344
137
949
504
26
571
64
827
340
604
869
491
148
568
722
148
436
345
716
766
803
738
228
348
8
903
269
285
833
244
148
328
347
490
745
321
505
214
735
462
647
854
655
93
886
809
82
978
838
630
525
593
652
749
102
830
819
763
110
672
443
1
292
56
998
171
549
887
217
289
919
383
535
586
9
570
514
205
510
698
282
632
644
152
593
966
198
459
410
389
883
626
973
438
315
578
274
706
910
805
130
766
339
939
773
550
519
104
890
70
628
459
120
186
71
988
461
693
263
576
817
993
415
646
955
916
279
125
545
43
40
167
542
268
458
711
356
520
431
2
32
434
525
395
587
28
731
898
66
646
666
324
38
873
946
201
907
782
245
293
886
949
619
252
116
781
669
528
723
634
975
788
480
521
425
233
810
755
341
932
657
555
955
374
63
434
308
455
157
3
357
286
601
54
172
852
804
247
761
791
35
211
470
600
188
367
66
871
770
313
168
864
457
697
405
472
784
998
436
296
389
230
333
19
433
56
583
437
265
648
166
711
374
549
757
475
285
728
110
17
130
755
277
405
420
927
299
458
66
534
181
86
736
560
48
685
988
937
212
805
313
994
976
597
343
793
403
660
79
675
899
701
877
623
761
403
870
545
25
485
319
780
955
559
758
455
625
315
47
491
351
306
219
787
44
178
902
70
565
361
44
820
921
831
119
112
557
245
508
398
469
128
670
25
726
695
607
419
832
828
986
555
932
189
506
931
143
136
411
120
98
125
686
44
58
275
558
983
485
833
390
79
194
197
464
188
727
812
108
568
96
621
931
239
73
480
927
817
955
696
475
936
21
549
482
871
546
650
574
243
86
420
476
503
412
992
194
402
559
795
932
851
944
360
866
369
244
362
105
708
478
111
659
94
719
416
418
150
474
235
736
660
939
548
9
953
339
806
408
394
792
323
884
218
488
832
745
18
344
132
713
371
629
333
526
514
991
667
583
692
561
704
800
132
24
560
127
835
554
703
88
112
479
505
229
435
945
209
206
256
874
338
786
772
310
252
413
647
484
6
174
611
865
24
872
798
288
730
455
927
455
112
52
802
461
455
142
347
840
143
422
178
456
988
661
880
152
622
913
135
231
258
937
743
1000
604
595
27
937
586
487
117
593
519
772
560
576
30
745
970
176
838
550
27
91
295
347
293
219
726
994
44
83
589
642
880
553
188
708
363
77
619
826
341
522
667
527
709
655
446
947
720
765
551
440
682
926
152
237
890
664
614
729
568
759
239
227
258
211
251
362
366
779
106
640
75
989
739
328
128
715
357
816
803
987
27
575
88
160
116
676
521
379
789
560
640
611
761
85
291
907
634
152
952
201
839
98
523
849
958
378
257
403
60
831
998
907
506
682
369
567
648
270
820
577
300
839
717
516
196
926
922
104
687
186
792
797
115
924
49
609
712
954
783
270
780
132
526
506
483
2
899
760
315
442
858
544
113
996
991
861
706
124
610
422
253
96
847
188
589
382
328
421
767
558
250
580
857
230
265
77
151
984
388
709
950
65
581
224
449
431
166
469
131
178
698
848
914
362
809
761
296
734
695
797
21
410
624
747
968
679
22
751
827
62
280
836
623
383
600
717
177
472
815
883
697
103
212
943
110
908
648
136
357
413
640
293
111
852
463
128
226
886
98
655
896
114
716
507
508
870
280
392
927
769
837
865
28
529
144
507
770
483
260
490
965
11
977
319
412
449
264
270
790
142
401
941
636
910
290
564
914
781
731
466
698
461
625
73
193
877
122
977
858
844
652
203
496
912
728
15
970
900
936
155
25
69
412
339
615
907
822
252
184
748
412
427
724
747
251
178
806
49
271
718
940
521
763
858
6
593
239
645
352
332
539
480
969
100
105
832
413
561
482
536
851
696
829
312
799
712
4
751
7
724
387
86
350
128
704
148
288
899
320
460
336
22
930
557
620
515
202
909
281
380
217
375
144
72
59
457
60
339
917
162
49
945
244
284
100
531
402
697
692
17
408
801
159
433
557
900
634
598
424
833
909
302
541
703
361
777
602
319
225
247
228
338
805
756
781
27
782
197
392
882
148
398
226
927
443
127
435
869
21
63
111
885
153
570
345
553
238
848
164
918
764
918
958
956
846
722
300
424
194
671
667
168
538
858
505
906
304
569
158
459
963
63
708
142
641
344
714
236
889
325
943
577
690
868
942
399
325
664
472
293
408
112
258
101
32
984
521
535
174
261
776
869
376
821
599
92
865
263
553
519
841
362
268
577
646
598
574
36
616
685
559
962
140
556
656
722
512
512
642
436
811
504
812
675
40
275
455
327
911
182
566
656
571
825
473
860
657
98
610
628
39
95
410
967
912
328
536
697
561
522
292
463
86
585
378
503
733
7
227
424
106
433
739
570
349
334
521
1000
26
347
672
699
309
521
908
302
857
539
733
900
437
463
46
885
724
710
654
242
235
316
498
91
212
986
497
274
400
736
780
362
677
492
463
855
494
181
232
991
424
17
50
704
366
56
159
540
991
977
702
175
117
86
609
912
171
126
774
576
824
701
986
322
174
336
8
441
175
702
262
605
400
624
480
141
951
989
583
585
627
263
731
503
315
82
665
999
224
147
652
748
393
574
27
694
992
566
702
963
566
531
524
190
991
478
870
324
506
201
101
566
768
129
130
584
569
331
807
854
432
645
138
437
627
473
78
404
680
202
569
435
914
1000
112
557
728
307
420
324
806
105
21
50
549
373
229
23
972
447
604
925
125
288
218
262
608
291
818
440
944
746
959
733
90
510
494
561
185
5
781
140
42
138
216
536
79
845
732
171
73
162
294
918
739
768
299
657
515
278
764
621
723
250
737
747
261
335
848
50
516
53
385
633
479
608
583
19
781
487
564
367
283
183
798
800
313
114
728
795
876
116
25
999
406
128
460
214
938
878
346
697
716
171
1
225
111
752
228
299
503
856
399
451
276
123
831
670
275
343
96
669
650
315
425
914
382
932
378
731
763
962
137
537
638
734
994
431
575
505
222
519
665
741
117
492
892
874
46
46
470
142
452
518
975
302
987
50
535
685
995
57
656
814
658
696
226
590
458
208
837
909
768
217
54
951
772
504
677
725
125
889
330
467
39
341
789
479
757
12
277
644
796
456
571
466
279
373
722
476
464
782
93
252
666
874
307
257
609
232
397
140
624
971
82
356
244
309
545
789
173
181
855
776
806
313
520
242
488
916
308
974
334
22
7
193
242
374
246
837
726
282
495
281
260
47
281
729
393
976
80
1
369
714
572
282
445
350
378
355
364
74
759
717
154
340
454
491
579
756
599
235
234
796
945
907
440
438
504
58
326
25
646
823
430
857
262
882
365
464
587
981
746
379
269
913
778
228
512
338
328
646
522
212
948
383
144
372
471
780
505
966
582
622
948
920
824
54
351
3
537
664
530
875
687
558
890
717
334
863
429
334
754
510
595
546
135
918
203
288
778
648
182
435
703
768
366
276
887
510
842
201
735
632
862
94
193
633
731
503
943
716
830
197
247
212
664
763
962
708
70
450
151
961
427
856
358
829
47
713
279
463
648
657
708
357
791
389
33
641
38
959
170
177
198
232
377
950
469
420
132
220
526
553
705
689
77
591
861
454
123
295
465
695
542
866
62
688
437
614
487
537
236
833
41
489
379
947
432
591
780
197
394
603
372
824
315
99
403
642
707
339
336
30
602
397
465
368
593
469
857
618
437
136
428
755
309
490
26
688
39
543
818
867
943
479
969
647
843
92
687
689
311
773
187
117
715
121
873
459
982
930
656
941
975
856
683
740
569
334
866
399
421
593
505
705
794
383
663
778
36
934
106
904
799
824
328
863
771
732
739
136
584
102
295
955
41
404
936
115
818
920
466
488
695
674
339
395
389
200
693
993
951
699
221
391
373
342
264
885
288
23
414
582
902
504
607
995
137
767
245
515
690
690
509
455
193
504
5
40
635
423
445
504
966
57
621
310
920
786
614
891
753
102
413
387
122
239
140
372
898
862
820
602
175
427
279
446
2
318
791
145
776
963
644
421
551
552
367
557
927
42
981
900
126
462
130
308
33
467
265
719
493
304
951
473
538
113
638
631
763
321
755
640
723
984
383
499
817
900
513
351
697
726
640
928
222
156
759
471
263
2
824
114
284
863
461
971
300
602
731
283
492
439
361
414
390
292
200
905
428
848
129
784
233
153
794
326
151
797
181
937
19
606
465
205
956
161
904
119
27
847
571
519
687
516
645
937
822
207
446
817
744
592
536
838
588
726
107
915
426
632
895
528
811
622
721
761
695
66
746
597
498
504
326
200
334
905
469
833
437
354
666
477
434
210
978
12
549
829
727
542
719
958
225
525
414
508
529
689
141
457
380
510
979
454
629
790
382
438
386
892
831
20
233
154
745
579
506
720
128
26
914
770
685
676
68
510
633
502
619
693
224
914
376
370
263
501
879
917
262
471
799
815
844
111
734
973
568
485
119
837
781
112
156
942
878
604
533
657
545
113
456
828
266
241
711
452
217
473
405
194
843
214
441
773
731
267
64
890
473
218
698
599
27
615
325
135
535
67
407
131
418
943
699
393
499
86
532
423
223
416
422
984
974
720
152
209
182
9
335
869
324
182
560
181
702
64
831
911
718
218
183
842
751
566
812
887
727
138
176
583
324
447
840
48
18
895
630
890
360
48
523
134
217
452
318
528
515
457
440
121
159
380
684
172
497
598
660
656
410
705
11
209
150
772
900
210
513
50
913
269
792
276
140
800
633
160
357
610
664
851
502
534
889
259
303
936
958
229
724
810
251
659
660
109
397
80
244
162
189
535
249
607
818
69
514
109
564
650
54
200
786
807
924
550
810
592
876
677
148
151
467
946
139
846
830
819
993
922
187
430
25
75
709
278
740
747
189
205
129
345
945
908
153
740
420
262
309
614
764
337
4
907
148
832
351
271
980
84
551
269
759
771
819
1
332
149
740
984
39
108
993
377
349
341
658
242
350
439
605
861
950
539
514
944
685
669
877
98
771
17
895
357
703
38
736
933
809
201
143
341
409
76
27
702
120
228
16
115
186
607
462
261
547
531
978
660
490
475
902
685
904
912
235
129
846
186
819
964
864
376
512
10
580
487
51
365
270
611
256
649
299
110
39
532
665
672
725
717
133
651
733
32
644
311
596
117
500
619
339
542
378
965
467
108
716
689
737
958
962
545
707
360
450
772
398
852
866
961
3
658
82
843
729
302
385
599
26
234
435
10
612
371
630
375
330
674
65
372
201
264
72
44
218
181
343
437
736
288
94
312
887
130
3
392
594
983
703
511
185
808
991
749
689
159
831
688
326
191
204
755
924
878
606
907
848
516
820
37
767
811
308
574
116
682
165
931
712
953
294
626
141
707
106
380
357
752
996
148
705
726
395
288
471
293
108
400
585
557
485
960
811
50
357
207
817
61
101
585
335
485
446
225
866
929
822
396
619
563
900
49
190
314
924
163
241
190
396
764
566
302
822
539
433
266
212
588
190
342
761
71
851
162
414
574
787
62
336
995
101
997
337
900
554
137
548
99
551
684
647
303
29
240
646
386
952
705
388
592
833
763
234
394
291
568
224
577
805
889
157
757
970
463
88
417
477
634
66
692
167
49
536
821
48
276
947
110
361
241
544
109
248
49
740
224
806
205
511
505
190
230
20
373
221
205
518
86
767
973
733
412
444
404
836
176
902
922
708
407
882
242
560
634
403
137
979
500
685
131
9
785
747
727
802
758
537
832
245
671
288
57
417
483
818
551
815
949
115
929
454
819
94
626
379
542
555
915
977
890
199
967
454
240
148
428
339
45
526
588
9
672
745
965
892
778
217
14
838
250
755
89
226
134
976
124
257
24
815
920
278
848
512
102
594
785
466
526
438
70
659
761
519
136
237
565
447
190
505
176
439
693
944
998
209
163
911
366
314
368
261
558
505
475
843
376
547
56
315
191
444
807
34
520
900
170
822
717
567
932
684
237
634
896
118
403
162
541
397
207
246
357
623
402
998
484
489
11
265
244
894
172
405
984
125
358
627
187
997
201
431
758
313
566
941
498
797
595
516
473
341
330
328
858
984
457
181
963
828
115
646
954
62
676
568
918
4
301
657
652
243
264
939
439
422
683
491
648
338
218
956
638
91
129
524
544
859
747
536
110
249
49
552
209
528
855
783
834
347
791
133
307
808
506
233
703
640
799
571
780
305
857
764
949
425
765
884
644
452
928
27
548
617
764
296
243
852
919
864
837
259
105
442
419
45
879
76
870
226
395
235
243
205
690
39
924
458
82
620
634
564
526
828
529
818
172
891
215
69
447
432
335
687
526
568
450
850
101
752
72
668
281
993
570
335
72
587
435
265
734
707
67
843
563
798
257
80
282
289
889
717
783
538
552
315
259
234
504
10
55
104
484
823
812
20
503
746
610
489
434
129
277
988
72
456
429
385
823
725
475
930
761
427
165
563
17
461
168
480
55
211
666
776
266
447
760
753
861
352
497
627
37
75
774
413
112
971
704
200
880
912
314
659
127
116
223
693
790
629
509
122
763
98
444
959
136
916
188
621
990
398
638
865
932
486
909
847
89
442
640
580
500
478
614
401
671
138
174
762
259
845
713
939
882
912
281
458
849
577
122
284
330
788
330
838
33
18
999
95
211
143
73
498
893
19
865
751
149
272
308
485
694
844
646
488
172
508
251
788
699
545
306
79
438
536
812
827
809
761
64
996
117
442
942
554
833
191
654
46
635
467
434
950
818
670
665
832
46
863
649
697
958
995
693
234
643
654
31
758
242
552
806
753
572
995
186
989
356
309
485
306
257
98
582
105
981
9
645
125
788
795
895
616
66
437
136
249
842
9
71
456
964
351
964
781
803
575
68
414
540
439
807
408
300
746
211
773
839
507
663
950
667
219
808
419
575
506
672
829
579
822
252
990
331
298
338
752
649
78
264
704
895
950
450
868
316
602
565
266
355
479
160
720
210
152
239
405
420
762
803
821
370
233
174
277
247
63
78
946
779
436
448
69
619
198
207
663
558
107
555
837
840
889
639
411
390
962
116
783
726
237
591
30
764
565
720
888
632
827
42
764
160
538
55
884
915
302
221
419
350
24
54
377
336
242
108
730
96
818
762
881
463
764
822
666
447
239
800
50
572
124
312
853
12
408
889
234
202
948
807
803
674
913
406
224
558
403
565
184
270
576
133
704
696
247
85
607
404
637
298
680
456
542
530
837
58
456
93
229
874
200
844
530
420
630
763
249
788
615
521
397
445
156
300
1
63
928
90
606
653
294
502
148
820
70
592
79
959
793
629
954
408
498
259
771
601
673
225
331
142
395
864
987
129
533
155
365
386
909
668
609
434
933
779
936
494
530
843
483
942
651
11
769
897
36
938
431
248
482
199
766
162
131
592
234
276
537
416
575
198
637
548
481
936
743
797
974
441
930
555
602
144
334
898
492
347
840
733
8
201
855
941
605
39
390
962
900
659
229
617
693
577
910
555
380
768
550
565
850
338
738
623
146
729
4
961
111
159
876
321
340
534
652
832
20
213
537
544
337
999
304
14
280
592
723
698
38
564
91
190
175
693
162
513
260
422
229
331
833
353
796
712
905
985
739
509
82
380
950
776
657
684
397
25
974
239
155
640
950
77
850
17
609
680
57
272
940
900
346
162
477
402
734
975
510
34
569
645
356
904
296
881
219
387
655
676
775
636
372
11
241
600
790
874
602
690
766
31
440
518
460
852
916
324
40
557
883
221
280
795
300
699
804
470
522
779
723
517
159
945
559
669
43
971
153
926
805
528
257
564
507
588
957
752
972
602
302
820
72
301
621
724
309
348
96
935
280
390
681
816
263
831
953
212
474
884
321
491
864
24
350
970
775
283
773
979
746
688
880
386
238
737
90
788
573
990
972
2
295
300
436
986
257
652
418
335
508
504
461
219
279
320
274
870
738
736
829
483
748
855
192
402
72
178
936
350
574
69
887
237
204
628
286
846
522
315
839
167
719
970
116
565
256
612
956
704
506
399
660
642
640
199
964
144
793
588
976
994
179
474
986
109
769
667
25
120
932
736
554
343
633
282
319
164
131
651
202
598
554
871
484
632
238
288
524
365
289
82
303
291
304
195
851
164
47
435
451
464
360
430
322
957
772
427
969
741
796
196
232
209
599
869
326
383
443
327
704
186
521
854
297
7
419
650
894
491
721
558
817
910
540
316
31
207
110
850
779
620
932
737
833
416
545
290
8
100
542
249
535
697
593
728
889
576
33
688
276
556
541
815
3
11
422
493
200
665
998
729
34
220
627
137
693
910
122
298
347
980
523
175
470
563
334
794
999
239
452
728
118
765
426
14
13
695
407
866
799
809
850
868
132
919
809
730
100
150
572
289
884
713
170
207
85
287
914
161
180
88
108
424
414
817
388
830
231
336
128
72
42
687
195
739
612
905
906
697
984
313
752
483
683
727
3
859
418
240
707
210
50
468
722
4
191
43
168
747
356
655
990
95
508
270
486
746
851
618
748
921
358
203
273
608
873
169
912
761
496
350
274
652
614
23
226
291
945
687
40
750
810
238
288
106
869
313
634
806
645
621
18
55
686
908
731
50
626
413
271
634
300
616
982
919
60
181
189
719
32
279
349
572
904
4
17
166
263
963
124
824
23
82
849
294
967
164
980
598
881
591
70
526
167
6
256
289
40
903
124
247
544
305
353
71
111
544
322
704
590
151
840
513
994
371
804
752
914
50
769
465
525
809
128
573
197
386
621
129
327
729
788
642
578
475
407
420
685
486
868
432
637
664
706
217
653
234
738
353
10
367
385
6
451
826
21
640
275
735
499
69
721
606
146
497
656
973
818
954
632
73
187
655
568
115
635
685
331
447
960
315
493
295
550
142
3
589
565
427
473
12
375
776
168
683
730
391
643
766
920
652
540
27
669
562
161
281
450
152
855
400
623
425
780
227
489
132
189
434
922
676
452
237
183
302
636
673
281
541
210
282
337
457
186
825
287
251
541
572
584
867
529
343
650
39
61
128
639
19
668
690
500
558
832
783
128
352
443
535
146
157
920
658
485
380
976
599
932
473
330
167
324
400
939
244
576
908
392
329
290
544
43
217
748
211
63
921
817
48
741
502
503
647
759
603
447
106
855
942
638
432
431
802
744
724
379
708
800
152
352
125
911
138
109
941
237
372
10
227
763
951
447
330
492
226
518
43
479
733
7
97
868
377
424
422
534
436
387
30
698
159
743
449
988
173
561
961
931
962
13
876
187
844
490
467
249
387
599
403
280
887
325
611
979
85
932
405
956
35
45
205
733
781
936
463
316
588
871
807
951
727
317
848
389
262
792
433
328
482
194
978
416
608
600
555
548
270
354
477
821
95
445
5
341
163
117
507
379
256
752
229
78
951
921
661
508
338
6
760
32
777
184
360
521
102
551
404
579
998
932
568
693
553
802
449
406
786
242
542
547
286
905
997
238
380
355
374
921
945
541
737
215
978
201
120
304
6
919
649
897
521
89
817
118
179
708
779
907
172
601
814
488
879
578
315
676
959
925
870
19
143
679
901
627
414
445
240
970
567
10
311
339
480
237
874
32
356
925
921
421
422
238
326
680
213
460
378
661
852
700
532
877
112
398
140
796
52
659
56
704
156
207
18
775
78
870
486
503
648
484
535
812
479
515
636
266
940
496
912
216
305
695
576
319
122
974
692
190
276
854
626
229
876
703
123
40
759
521
771
747
554
204
23
527
866
629
535
138
46
389
859
614
341
499
225
225
139
397
335
105
98
155
118
216
656
528
151
454
128
67
113
927
67
453
353
263
480
83
63
195
136
177
447
881
330
440
448
239
1000
717
857
563
128
958
101
733
754
944
315
921
222
178
105
591
632
417
151
17
995
179
120
701
159
837
461
324
342
505
864
577
359
587
856
675
332
98
369
639
796
966
867
395
666
545
389
744
789
889
98
294
130
574
480
11
807
142
672
657
493
383
834
369
840
432
286
696
562
369
104
54
626
619
596
712
310
490
826
293
173
693
283
965
420
81
21
857
968
72
604
85
210
482
732
190
386
604
142
644
933
443
843
406
85
110
322
999
541
224
989
802
10
209
87
583
614
434
11
585
909
770
946
857
770
113
440
237
903
423
167
793
247
472
586
635
323
811
398
3
635
497
852
784
684
696
714
887
997
808
562
519
28
845
30
216
497
667
916
606
13
981
798
298
96
783
450
945
309
174
383
28
515
373
999
850
328
789
591
5
438
115
99
164
858
92
842
991
456
457
596
501
483
52
604
621
576
40
615
379
690
812
807
589
620
92
72
186
761
509
421
181
355
224
180
268
995
880
882
882
796
937
816
316
273
564
392
141
729
953
580
252
983
509
66
126
100
762
908
410
915
440
108
308
657
588
676
453
715
970
906
499
263
909
325
444
925
688
329
812
722
351
870
80
256
871
658
248
703
985
328
835
270
71
340
435
465
968
814
538
506
97
659
502
403
704
261
467
589
498
901
954
121
573
896
721
18
273
832
276
533
406
869
590
237
90
645
758
322
950
517
558
666
470
561
816
49
858
279
189
852
574
254
73
597
450
510
942
717
693
542
66
587
208
677
526
804
712
317
568
639
531
601
77
984
888
698
851
621
169
28
592
833
362
836
374
294
620
316
873
351
201
765
701
867
4
784
591
26
20
709
36
318
445
402
270
93
329
424
400
127
728
686
168
241
226
270
948
713
399
933
448
753
834
620
723
59
94
217
757
20
217
562
223
907
518
553
868
840
386
142
239
907
790
485
460
470
863
645
151
657
348
526
950
892
798
719
598
588
726
75
567
104
787
73
659
700
499
921
42
170
932
940
362
76
571
445
391
232
511
862
200
107
937
416
209
554
619
387
37
704
112
747
861
711
128
863
677
413
626
617
860
705
887
762
711
272
499
817
349
77
80
664
718
17
945
15
421
963
303
620
61
879
372
736
709
241
600
528
690
965
804
199
44
529
540
648
255
904
175
199
23
561
250
442
88
739
502
803
120
503
66
989
630
520
290
538
284
202
401
733
834
607
600
537
160
125
358
475
879
909
399
275
973
396
725
395
486
853
29
686
812
80
660
825
74
139
543
331
321
969
488
983
120
379
688
47
360
631
456
271
137
706
33
943
187
253
910
892
773
644
692
143
699
886
478
909
800
848
245
213
822
12
493
895
202
113
431
119
742
802
432
926
801
722
454
544
27
800
925
917
919
194
436
47
335
730
544
493
559
826
475
866
331
956
820
940
61
97
263
391
660
218
880
370
170
856
144
371
725
423
412
977
19
592
697
837
737
155
40
582
994
625
588
779
68
456
112
954
985
200
651
128
130
106
603
831
538
227
426
135
47
81
321
563
473
453
160
767
445
624
539
727
213
263
471
961
217
385
339
58
429
971
687
792
811
282
874
792
536
806
191
392
244
543
185
921
529
648
740
69
232
201
96
507
316
462
760
13
37
555
484
751
533
915
662
278
125
347
10
187
530
883
867
792
898
741
882
565
746
562
43
314
947
582
106
107
251
505
170
698
881
805
576
695
474
270
178
130
523
14
113
638
335
672
221
509
319
106
430
505
528
149
289
968
29
503
888
352
137
526
417
464
339
202
299
640
256
274
738
278
253
272
330
228
899
991
175
682
695
591
409
898
125
211
927
374
745
948
573
896
743
522
44
47
876
105
459
54
144
890
970
546
954
674
558
349
994
271
132
223
721
974
709
98
182
164
680
111
764
336
622
699
527
847
221
723
86
534
714
195
466
652
70
841
932
333
577
275
465
282
90
248
432
373
842
957
521
991
628
729
975
51
572
411
431
363
7
912
571
46
36
117
162
187
73
416
263
278
39
827
369
934
796
843
436
247
998
731
590
853
883
636
503
256
771
174
544
811
218
864
718
98
641
724
961
569
191
166
463
509
896
160
30
134
741
640
990
317
650
888
750
93
705
602
119
80
471
927
123
477
503
272
80
963
579
840
217
89
9
880
156
501
137
30
897
924
302
451
105
832
163
224
25
607
390
362
461
55
177
334
89
246
105
601
758
247
366
91
6
164
182
923
798
938
945
838
618
813
606
440
480
12
173
242
339
843
234
554
909
785
115
256
154
865
923
36
659
324
500
147
604
97
741
970
486
696
335
585
906
574
367
63
675
378
190
757
143
61
411
714
220
920
715
115
428
493
816
587
999
976
112
107
938
297
783
28
855
698
674
196
964
607
168
665
587
580
918
928
812
818
147
182
49
30
723
749
500
879
205
529
923
204
680
606
485
251
546
87
706
750
600
906
157
435
457
694
686
426
396
337
203
318
474
787
99
353
937
186
892
493
16
279
139
810
446
975
723
763
676
444
670
530
510
877
532
465
977
830
8
493
194
869
200
318
590
928
999
564
524
159
474
629
662
499
430
151
549
92
308
689
985
561
608
733
180
642
611
158
37
705
66
624
125
669
178
58
520
40
780
454
429
963
108
892
681
794
508
700
682
789
209
53
826
118
948
253
801
132
247
346
576
995
393
813
405
235
438
670
380
748
102
869
475
178
812
336
402
756
698
281
332
408
618
154
353
115
797
214
775
920
998
191
539
750
558
358
227
84
789
16
432
521
926
753
895
740
59
84
38
153
833
38
959
317
522
255
763
444
693
290
245
816
295
468
620
129
790
858
482
750
340
140
503
918
412
740
95
164
612
674
167
602
91
453
962
263
71
197
101
831
566
550
893
325
518
483
381
277
575
639
703
573
922
632
208
275
88
485
195
277
150
474
176
546
492
874
212
961
508
424
139
593
690
642
506
700
172
845
219
457
1
366
903
400
415
674
916
491
467
792
193
231
920
173
244
729
804
640
328
585
602
256
986
389
60
736
3
400
912
567
752
537
910
402
784
258
304
969
516
639
705
124
431
624
348
925
3
510
698
136
327
523
693
324
229
559
585
277
732
595
401
303
215
192
465
807
191
469
689
543
810
106
14
367
694
311
398
5
718
99
761
745
935
287
714
294
870
190
475
718
469
927
162
66
282
723
387
40
809
760
691
592
935
620
925
98
59
788
63
288
196
858
600
394
518
797
324
419
291
394
586
535
943
409
524
622
141
908
786
955
283
582
542
620
431
554
730
389
163
645
494
392
29
228
672
868
456
640
419
140
733
990
496
120
962
650
773
88
893
474
869
760
127
43
937
674
134
725
542
487
768
270
843
654
491
794
920
8
571
406
804
335
312
459
43
136
637
649
172
438
601
296
248
597
361
24
144
686
991
180
364
503
932
761
989
359
160
525
132
135
825
903
324
790
298
954
688
427
50
346
537
187
707
844
145
605
791
150
128
714
686
321
329
760
200
530
673
426
702
356
524
409
606
304
373
715
751
922
924
645
328
859
571
452
735
698
426
499
493
843
469
355
974
586
76
683
628
39
363
887
334
623
956
650
335
395
563
142
919
484
165
756
338
120
132
512
286
577
853
421
1000
454
341
733
932
957
29
443
506
738
256
869
764
144
288
499
518
829
108
460
250
292
836
882
135
841
707
456
686
29
742
320
162
714
475
616
550
295
340
518
641
197
539
145
108
642
673
159
314
808
49
76
399
518
785
199
79
255
355
134
55
530
386
737
75
202
152
55
958
773
584
877
979
178
721
955
312
171
592
546
191
81
110
329
471
606
803
411
492
342
128
201
368
509
299
65
184
451
761
112
757
961
875
881
62
521
714
224
639
88
447
218
835
244
632
767
402
479
60
850
181
57
208
492
32
580
479
555
840
263
900
791
70
518
279
622
649
680
593
282
851
982
484
259
242
150
947
788
548
63
351
975
370
85
236
316
790
254
922
421
940
231
610
389
480
485
277
859
444
6
71
480
304
49
140
423
806
378
125
643
215
843
151
362
840
925
434
804
242
2
469
32
777
799
116
205
676
91
201
428
137
476
563
228
210
190
645
686
287
600
347
887
512
661
384
209
495
17
832
517
792
912
807
481
991
119
751
703
809
335
709
603
379
144
725
314
761
523
396
356
464
949
693
206
930
925
791
752
392
462
557
869
695
703
917
189
996
48
241
395
216
181
76
911
467
993
607
364
274
826
338
472
933
405
522
600
397
150
106
118
237
73
824
318
875
985
419
540
175
751
271
270
880
898
772
776
965
884
266
743
782
839
709
213
775
665
497
323
223
769
913
673
222
758
215
462
865
752
230
66
717
179
449
665
454
351
502
836
900
626
25
832
292
339
6
257
321
924
197
903
543
9
826
710
170
342
963
287
503
84
151
393
821
805
753
415
222
210
904
525
54
525
109
503
811
391
147
749
929
267
567
60
677
594
207
628
931
219
438
88
505
956
214
107
281
140
221
772
49
702
480
589
139
826
722
217
977
69
632
985
195
536
860
495
48
763
45
616
219
750
353
79
201
354
856
469
509
710
562
174
664
233
353
962
607
509
706
976
841
212
615
845
205
708
660
530
390
85
643
369
502
951
27
866
519
81
925
404
289
365
571
618
959
634
58
10
669
279
906
173
309
618
291
908
737
661
856
844
528
248
52
281
798
509
948
896
70
257
646
202
474
750
955
380
323
966
111
899
841
402
688
146
903
412
507
348
280
283
181
998
934
904
950
288
575
919
173
54
519
19
571
553
531
170
152
533
129
235
908
519
884
30
554
234
538
91
209
503
407
282
754
878
245
973
234
221
183
823
296
86
377
278
276
134
271
730
285
626
739
610
776
138
257
727
459
189
607
392
223
483
914
215
338
378
67
30
881
150
590
385
635
807
850
367
746
362
823
244
630
192
468
254
393
871
677
445
671
359
190
477
602
547
238
32
431
713
331
949
439
595
988
947
385
498
914
208
551
233
83
82
346
602
654
781
726
107
729
549
854
996
243
716
161
286
67
843
684
584
860
818
258
734
892
278
899
838
645
15
786
357
716
950
645
730
497
879
588
214
592
532
328
807
374
30
770
94
909
171
175
793
594
383
240
515
658
580
497
305
777
968
74
569
440
676
357
436
355
734
820
19
140
304
668
909
543
286
159
330
998
475
65
973
729
19
488
957
93
732
933
589
490
142
723
89
752
846
189
130
600
940
457
660
753
582
790
90
797
492
155
285
111
895
744
189
695
557
942
868
533
422
989
911
404
312
224
196
368
375
816
19
785
886
249
106
25
940
718
270
107
102
375
820
143
211
417
127
245
528
753
929
775
565
103
158
484
855
366
510
491
664
203
812
438
882
223
902
835
716
489
584
154
578
971
279
102
320
449
278
424
779
858
650
865
890
2
849
375
972
772
111
562
14
275
116
166
519
356
347
665
194
275
517
472
201
99
446
89
28
384
595
730
372
893
979
733
35
551
725
951
896
961
718
471
673
568
449
487
989
449
900
778
307
746
736
211
632
150
103
539
192
753
212
850
76
129
522
792
167
192
616
387
720
367
170
418
421
422
628
370
537
101
805
858
532
244
479
480
902
495
3
625
372
801
633
52
958
248
692
775
299
689
710
524
864
749
352
832
737
641
106
354
253
278
999
412
920
654
105
836
498
274
866
223
692
180
174
945
664
686
734
732
538
474
230
685
171
31
609
496
970
230
283
105
566
286
50
302
796
176
388
242
882
969
888
669
495
371
302
24
198
656
957
605
867
894
650
308
206
399
235
895
559
66
573
629
523
531
84
460
401
22
761
638
577
634
834
818
496
375
835
650
5
210
175
339
547
78
868
687
595
186
903
32
564
107
319
68
892
884
351
204
86
288
796
905
371
100
277
568
220
355
538
880
31
879
282
594
627
539
854
920
684
904
10
339
665
969
177
911
150
14
500
196
481
217
566
367
85
884
381
347
367
199
291
38
415
534
944
192
831
780
328
999
501
46
659
502
557
352
624
773
171
291
929
172
339
317
104
632
196
24
927
131
893
466
109
686
396
187
39
69
65
215
719
136
50
450
560
515
905
803
594
592
621
715
196
134
744
740
245
58
789
491
14
633
849
952
728
15
945
706
144
331
500
901
557
100
525
210
831
802
655
139
553
640
910
282
856
268
668
63
5
184
17
300
554
984
813
574
21
175
469
956
543
148
642
377
570
445
762
362
668
966
814
913
803
603
511
923
16
388
838
411
545
574
990
194
214
953
438
836
665
343
370
133
636
493
121
801
646
681
485
5
962
905
418
954
288
853
164
718
982
961
677
906
231
753
106
712
496
573
51
211
254
687
997
529
297
733
168
490
986
104
227
248
601
655
24
860
163
406
981
382
649
863
780
427
595
690
190
726
880
667
421
181
280
853
877
856
321
357
872
754
846
597
866
919
257
721
555
209
513
298
861
373
766
331
632
55
542
127
759
751
761
677
913
417
1000
638
279
817
797
93
220
715
529
448
702
786
815
147
478
198
94
910
366
89
734
419
665
512
133
948
217
1000
273
890
331
51
303
325
440
642
329
946
30
394
841
987
210
806
196
638
453
620
33
298
389
709
301
389
601
649
377
889
444
221
625
711
722
401
694
677
254
162
959
366
195
819
780
351
745
518
501
559
698
325
703
169
205
465
545
469
151
294
776
499
855
775
548
415
1000
615
957
384
889
793
456
618
572
110
508
277
760
282
199
909
171
670
149
725
800
24
876
297
45
241
364
879
17
877
521
848
712
869
288
647
486
939
9
445
796
40
667
182
758
366
372
116
462
636
582
752
282
355
202
573
409
436
619
578
735
298
371
783
500
63
589
618
55
10
210
613
896
596
20
216
23
847
804
667
186
233
901
860
593
409
921
615
680
296
772
500
453
660
924
91
135
394
858
300
401
60
396
345
832
491
705
998
640
204
847
25
915
686
397
998
616
780
475
873
812
285
930
911
405
238
663
526
936
665
315
787
722
605
787
211
787
490
768
5
449
591
45
680
218
319
361
229
85
436
820
232
481
771
405
363
912
819
207
651
434
302
392
378
350
328
346
107
576
379
889
768
904
709
580
893
221
260
553
452
336
8
869
368
626
528
722
248
525
932
587
228
874
155
175
911
753
353
525
321
393
876
691
547
460
436
473
734
104
883
112
585
193
185
643
558
184
673
568
736
545
960
972
434
385
93
221
667
981
789
603
158
195
919
486
521
54
263
940
731
136
764
293
985
113
661
272
702
861
483
691
294
856
168
311
962
865
422
902
70
739
828
540
389
285
293
405
116
623
7
533
634
438
552
615
117
477
271
820
289
932
420
402
425
272
1
347
619
756
146
380
431
235
113
375
816
468
312
116
779
312
548
554
608
879
669
346
154
601
307
81
59
96
521
161
980
578
108
95
686
159
993
945
179
62
646
33
511
70
623
887
351
653
77
472
137
108
846
205
612
604
771
846
527
893
917
222
7
357
329
91
74
520
3
448
613
544
468
451
40
873
173
921
908
343
290
352
750
999
33
715
206
31
275
838
381
81
781
699
520
559
109
470
653
655
448
149
296
642
981
273
108
878
161
469
887
39
406
615
9
354
982
237
112
429
14
945
727
634
806
961
280
764
806
179
288
405
166
68
531
794
569
243
112
26
432
924
266
588
835
170
188
338
906
896
259
207
120
672
747
378
462
57
996
819
948
996
489
796
365
182
299
765
529
645
524
234
321
886
172
278
873
836
157
610
843
260
931
157
750
936
393
550
60
411
57
211
762
305
736
954
381
486
86
471
738
539
866
383
211
290
962
227
396
501
444
894
70
653
995
960
936
309
68
679
838
795
881
810
961
614
138
65
471
190
646
167
126
558
294
739
538
96
842
960
90
811
958
820
685
930
846
620
465
228
243
659
812
506
339
830
844
211
398
623
169
923
905
558
421
374
88
100
13
472
141
657
657
367
43
356
730
299
133
475
287
909
56
778
528
158
163
604
704
162
723
1
751
244
693
602
264
677
600
404
428
415
371
152
167
280
734
955
603
237
385
577
96
924
705
531
319
39
481
463
535
217
273
671
586
714
890
898
336
800
653
63
451
805
528
453
579
572
815
628
47
68
884
193
395
461
454
342
165
206
560
777
478
653
913
639
170
225
65
524
974
380
691
94
212
611
802
374
677
799
793
495
714
806
767
369
609
997
458
236
502
979
314
749
965
205
956
66
466
185
287
601
633
537
564
980
516
42
553
946
942
77
310
203
670
444
668
576
95
730
832
200
2
476
184
808
48
773
622
855
768
606
931
75
282
226
698
309
781
463
423
48
972
517
893
204
308
310
946
490
232
564
847
968
408
552
14
158
385
301
931
233
538
378
313
279
39
909
994
864
367
594
249
184
376
906
153
184
829
814
751
70
338
82
857
714
158
558
688
444
449
238
424
14
787
782
111
497
951
855
694
382
471
321
928
816
819
864
726
551
139
806
715
486
746
514
523
449
887
678
57
488
827
165
889
582
121
917
792
526
195
633
231
140
988
104
138
510
972
282
641
325
730
892
604
788
488
873
518
545
361
701
791
526
597
859
903
195
591
783
982
829
300
377
899
556
259
19
484
457
805
756
321
188
940
814
521
489
606
553
237
936
530
223
739
811
945
732
99
334
839
560
450
261
670
141
244
915
240
172
677
598
849
59
31
424
97
767
335
342
758
841
283
911
354
55
675
648
371
875
685
677
634
738
737
656
582
22
577
912
210
391
444
169
707
377
404
217
873
834
637
69
734
335
303
823
368
250
220
376
719
886
806
168
876
326
18
449
942
823
269
584
690
443
7
253
230
280
75
133
631
178
322
351
158
819
993
438
926
33
391
231
885
208
67
525
448
782
564
523
107
78
188
518
365
441
509
839
581
102
402
894
289
206
740
408
817
434
737
554
76
717
943
584
449
883
603
935
692
163
413
988
514
486
222
755
23
477
38
602
58
279
146
148
953
757
662
219
416
361
128
424
294
923
574
175
596
379
172
443
724
26
482
583
335
741
721
359
690
800
649
257
321
852
136
415
544
18
4
461
907
549
596
422
257
1000
550
354
787
149
393
793
398
739
871
745
965
480
179
306
479
581
917
783
246
121
893
473
66
507
536
533
41
411
427
354
946
807
66
737
628
975
735
968
137
93
701
920
246
972
190
128
281
540
14
146
348
222
286
908
712
780
672
468
986
918
493
612
406
808
508
874
658
79
757
826
560
832
879
145
526
120
650
836
196
82
653
238
442
249
734
404
376
985
394
943
92
93
680
502
96
274
728
767
53
34
342
804
239
451
311
860
736
193
207
713
475
320
909
620
57
459
555
941
320
658
727
260
289
440
425
710
607
700
373
979
701
989
690
149
101
816
116
344
992
251
688
767
193
211
306
731
326
485
969
997
380
437
641
198
220
475
807
345
473
782
734
892
632
270
679
266
428
763
962
148
598
651
902
959
729
771
942
878
597
185
52
932
399
228
858
294
344
621
637
506
734
815
168
240
222
351
182
997
22
940
359
583
571
485
400
839
477
969
184
563
405
269
821
496
150
930
696
398
484
413
636
331
804
150
407
884
326
331
924
148
477
10
129
353
897
331
884
923
920
926
510
891
721
636
169
536
319
626
740
398
482
595
481
159
481
637
904
633
258
356
494
17
133
588
341
282
47
275
500
800
720
876
496
510
215
624
122
310
349
287
824
481
545
582
866
687
971
70
751
574
917
866
157
428
686
554
124
42
80
925
372
296
423
342
353
613
198
189
527
510
676
619
282
246
13
427
266
549
709
961
438
486
632
218
577
727
182
736
377
104
967
154
468
94
143
211
177
176
790
294
885
87
642
596
528
471
766
597
482
704
62
542
297
75
893
606
711
126
373
174
359
592
486
669
385
471
556
755
815
502
142
207
240
884
814
82
940
234
538
535
125
83
564
637
396
75
657
982
652
514
776
465
73
560
185
938
429
389
209
134
637
318
686
261
801
756
820
789
454
171
991
511
968
82
224
938
668
290
107
143
295
779
784
216
932
318
797
285
677
13
925
852
415
442
951
844
13
494
418
861
521
890
630
878
281
758
768
429
441
746
499
47
844
679
599
194
605
866
316
745
225
92
563
958
446
837
534
75
598
90
316
909
595
12
524
967
358
882
415
131
961
166
904
40
218
320
438
121
287
562
395
776
81
337
106
379
160
8
330
200
834
214
125
805
743
700
932
919
132
496
293
251
491
759
506
190
734
898
744
554
332
820
665
864
318
984
225
776
417
285
126
947
217
295
342
925
746
593
94
881
62
177
816
418
116
639
366
349
35
299
629
844
43
315
115
568
208
536
401
433
567
682
480
83
224
712
724
67
513
407
201
407
850
891
272
1
862
152
866
495
665
904
903
16
486
606
570
211
759
170
925
47
648
752
661
275
470
550
45
179
247
754
763
141
915
992
81
96
741
230
491
281
69
400
657
425
33
844
32
553
591
535
406
795
14
687
931
714
159
462
612
744
967
650
612
513
553
779
450
546
919
30
908
366
345
211
415
537
831
432
921
382
840
566
918
638
842
818
118
17
227
432
95
217
827
446
225
108
265
853
737
901
436
261
7
281
516
281
838
127
258
950
802
967
544
991
348
39
845
454
731
600
353
326
871
208
677
624
183
958
780
236
101
893
579
707
199
999
615
507
386
963
478
295
610
217
309
504
113
793
43
863
665
322
575
531
240
366
878
480
395
799
316
557
732
408
362
219
727
897
28
757
822
129
998
204
915
152
971
276
160
642
636
21
858
161
41
141
363
945
894
985
151
359
821
231
130
155
659
256
731
740
982
388
48
232
319
103
46
528
914
943
479
668
595
862
668
980
961
625
940
989
513
814
44
967
524
299
196
410
976
925
448
304
595
121
36
120
151
739
227
976
228
672
286
473
626
918
960
300
674
665
203
216
888
868
256
190
316
371
483
230
335
545
56
488
498
870
555
204
744
269
319
270
72
413
851
535
640
30
102
897
549
883
900
702
891
261
458
176
794
72
832
99
472
284
13
184
374
270
157
739
140
540
249
295
6
972
938
991
139
907
172
745
787
995
901
461
67
951
695
131
366
135
696
353
174
908
886
625
227
490
759
201
934
910
298
140
886
389
585
21
349
880
874
431
295
872
479
864
589
522
435
248
171
705
527
553
907
834
403
314
491
216
644
296
962
549
973
618
836
75
216
235
631
590
971
301
535
739
659
478
525
563
945
294
671
388
994
558
996
353
328
781
172
639
438
616
755
380
679
233
510
261
796
245
718
605
484
770
686
931
47
903
919
847
196
814
711
532
183
907
604
590
677
318
440
295
218
443
873
808
45
549
923
569
16
667
889
450
857
76
141
382
278
461
380
99
25
42
593
52
324
856
560
871
838
267
264
948
870
916
152
491
632
201
265
285
165
845
883
657
618
399
591
917
7
763
154
481
264
440
168
147
372
464
230
839
688
551
645
297
588
85
798
222
85
915
435
454
336
246
774
631
884
290
89
940
485
426
195
619
439
140
481
423
108
684
447
620
757
666
714
163
55
793
88
151
401
176
64
971
17
293
895
662
482
652
652
140
151
992
841
926
708
582
298
353
95
366
930
818
701
815
216
666
603
686
887
780
644
474
424
519
866
67
285
324
495
984
829
733
51
844
519
431
258
170
394
901
446
776
694
626
72
544
779
20
58
441
667
224
669
876
60
365
995
657
956
602
424
604
801
451
258
525
896
591
444
378
666
474
969
41
846
716
334
31
811
469
747
375
453
481
436
274
255
402
113
311
317
235
14
521
825
41
878
838
271
699
250
417
491
262
155
750
962
399
312
200
164
920
935
37
966
675
979
779
9
636
776
985
121
42
755
28
138
350
641
782
167
97
299
180
461
570
284
500
50
341
420
733
948
861
310
885
453
241
318
52
126
120
321
235
72
435
990
931
206
636
594
162
793
612
360
664
976
386
816
371
392
911
863
657
824
33
374
575
548
392
279
695
1
365
367
458
796
48
243
918
833
591
392
709
907
4
777
492
305
749
99
135
860
94
221
12
140
761
523
814
78
820
32
952
103
102
841
176
972
248
962
726
2
837
790
442
606
62
404
545
401
781
740
11
540
118
690
743
730
153
878
250
872
473
652
955
107
901
556
413
476
19
390
456
818
515
904
531
212
166
76
214
510
339
471
624
982
342
923
765
233
929
442
155
777
296
496
260
988
478
822
887
259
880
22
488
409
41
573
566
560
594
972
670
137
934
385
650
687
280
645
749
465
59
586
786
495
984
42
841
40
334
512
647
506
7
455
217
897
112
647
552
272
704
578
926
756
342
689
814
310
42
15
542
935
119
445
535
771
319
33
659
601
373
245
746
9
464
732
670
434
210
956
754
552
233
31
449
600
303
234
17
203
207
194
70
483
686
820
988
606
299
201
360
302
380
288
612
301
624
740
284
747
13
874
774
336
775
446
493
550
621
949
634
640
898
741
221
996
951
37
906
228
485
298
546
714
918
336
645
175
713
189
446
186
218
982
396
68
48
875
12
396
153
430
34
293
678
811
967
53
1
368
759
795
123
931
141
738
28
937
904
498
343
907
876
903
6
396
881
514
86
183
398
264
104
487
942
189
65
957
678
202
193
443
50
720
837
142
765
252
80
999
134
645
813
550
570
472
37
235
622
560
47
342
85
322
155
818
478
549
500
442
172
100
944
577
533
14
749
472
951
516
259
553
715
506
269
836
205
527
889
479
370
131
835
97
790
197
155
790
563
232
89
817
149
662
986
93
980
689
195
457
840
690
385
607
158
486
574
656
949
987
792
939
791
168
116
51
707
45
777
185
577
713
856
337
137
526
110
533
507
438
903
106
247
967
949
546
549
833
115
779
246
715
868
525
483
756
828
657
447
447
858
418
440
986
522
117
79
531
536
729
270
415
876
140
207
551
975
125
255
21
129
735
606
214
458
22
956
732
237
966
604
577
148
738
917
148
858
849
114
676
592
650
923
676
492
244
639
996
912
369
220
34
950
745
957
867
578
376
878
379
285
627
579
890
819
352
655
650
177
97
988
693
386
300
621
853
900
652
224
585
920
557
658
734
108
816
426
264
745
444
711
125
199
909
130
81
279
813
434
19
419
599
173
866
558
914
536
34
513
508
959
127
477
815
189
640
834
435
226
660
193
494
255
916
71
660
722
21
410
530
198
852
839
524
188
858
63
542
933
43
832
757
903
485
887
268
417
977
20
37
598
12
433
253
902
98
625
756
231
751
860
665
338
513
37
710
210
634
905
800
79
20
508
786
232
773
288
685
842
991
133
588
609
3
937
658
37
369
717
128
585
639
303
500
336
707
849
865
650
310
816
163
935
725
269
401
792
489
349
290
842
969
183
602
763
666
759
298
426
794
689
12
469
212
99
668
220
698
756
755
725
831
611
67
702
377
694
662
710
549
335
23
423
599
479
882
675
78
329
997
318
738
46
354
573
742
396
613
247
423
738
790
6
686
644
57
508
955
6
486
375
213
793
571
33
814
993
335
842
585
325
296
651
295
647
819
853
526
972
263
21
343
856
309
952
397
845
952
98
957
242
990
170
84
743
217
345
247
940
341
30
616
852
221
506
193
450
764
781
129
790
792
544
856
247
619
930
610
812
966
538
287
685
280
646
310
173
2
384
412
77
345
422
556
619
540
239
275
310
255
951
79
557
845
620
97
45
815
681
64
396
99
125
658
551
779
758
379
4
910
301
706
383
452
260
526
22
760
298
537
139
492
407
774
362
918
897
648
989
560
100
553
404
232
650
124
964
707
768
920
942
568
692
894
6
262
614
842
231
772
570
8
326
462
881
782
269
855
33
788
131
17
668
32
764
843
433
734
6
472
828
306
614
44
219
478
440
145
631
569
892
40
949
174
471
307
532
857
836
825
8
532
696
510
313
34
606
90
35
145
394
157
687
737
895
220
791
715
74
674
330
249
535
857
186
95
269
525
549
794
494
479
961
601
112
286
284
738
253
536
210
51
715
937
459
565
293
438
374
974
206
554
992
221
213
117
599
869
744
309
326
677
281
131
378
548
133
153
283
939
83
468
430
856
958
622
564
121
639
910
323
602
649
781
891
532
616
387
696
739
924
988
231
908
441
835
862
268
595
174
521
640
554
856
227
980
457
141
161
784
732
105
45
618
227
276
190
738
214
353
43
210
619
717
386
921
478
210
551
990
258
65
427
908
695
344
109
220
261
352
366
653
116
626
309
711
611
868
919
235
798
492
267
642
945
540
988
938
90
285
570
488
361
814
283
599
103
188
663
774
309
143
919
748
151
367
907
963
537
65
774
71
892
102
156
589
235
196
975
314
501
190
875
157
532
687
39
782
27
460
288
779
863
212
644
397
14
221
504
806
406
860
401
326
422
922
186
250
400
623
217
67
238
424
546
970
52
9
822
231
849
802
906
534
130
61
999
508
19
932
788
794
218
419
321
926
928
670
631
2
74
646
831
837
769
955
825
691
52
833
983
822
130
701
583
258
172
335
306
545
353
372
92
670
905
992
42
534
864
812
242
660
169
824
274
209
477
440
998
165
859
834
175
333
852
942
852
885
452
272
166
387
216
896
448
109
575
817
170
707
166
153
511
313
886
793
902
815
1
884
843
3
238
459
78
908
90
215
917
532
84
733
491
504
850
60
490
178
650
630
973
799
660
128
187
960
394
485
634
483
308
441
676
278
489
456
362
599
502
886
302
748
961
339
212
495
940
545
399
683
686
672
224
899
175
710
877
510
317
378
695
540
570
746
311
240
804
320
373
717
442
879
381
658
185
436
62
938
561
7
448
806
321
966
92
967
787
19
595
477
143
226
618
858
799
489
470
720
570
436
856
721
283
518
302
1000
101
310
746
165
595
861
320
591
468
2
255
235
996
950
333
900
962
939
561
724
878
227
30
390
551
310
241
99
510
96
412
361
120
58
782
639
646
821
694
821
725
29
325
547
91
776
682
457
151
131
895
958
818
876
918
2
903
204
72
680
800
985
393
522
775
791
242
543
393
91
175
26
585
904
742
327
955
25
736
943
349
395
339
235
39
559
200
29
435
727
483
656
424
925
684
516
262
309
105
716
222
517
602
280
920
322
783
310
990
486
380
361
305
480
432
756
301
46
293
101
762
411
818
167
220
27
43
864
7
195
444
502
675
108
156
441
697
921
906
337
653
595
661
336
722
77
375
309
620
605
92
467
350
814
897
167
239
795
348
669
630
24
798
646
646
467
724
134
64
327
931
864
397
116
327
435
145
447
140
535
717
901
107
482
777
815
565
652
966
112
674
803
144
138
344
653
832
12
493
68
382
954
105
604
9
657
342
523
43
392
444
779
37
9
342
600
452
132
26
665
101
628
508
710
280
455
152
71
158
99
904
832
16
274
117
475
561
777
791
199
191
908
366
193
762
703
228
988
830
912
966
967
25
276
313
532
908
820
333
879
122
650
290
676
395
222
85
755
791
827
705
32
515
466
474
608
153
699
598
772
172
964
690
326
946
268
923
263
872
328
206
324
409
129
511
341
654
802
782
997
97
443
195
87
428
292
348
374
105
245
430
846
391
596
794
992
763
821
793
459
278
259
381
372
919
161
101
549
33
152
464
143
878
680
955
246
750
757
882
22
927
462
913
284
443
749
197
838
515
234
640
783
210
649
295
883
855
754
771
552
857
846
146
754
548
648
882
484
536
896
427
122
876
651
29
589
392
152
666
3
921
954
125
779
552
958
431
917
695
363
243
221
824
408
306
844
799
370
755
715
527
88
502
635
862
466
354
292
973
701
174
19
783
535
434
119
137
720
865
593
884
133
459
292
538
345
37
512
294
312
821
331
454
640
999
300
41
389
560
785
101
82
797
747
747
709
999
150
172
481
442
995
454
423
526
162
871
659
136
534
690
674
3
524
761
307
567
61
292
454
329
390
262
694
8
608
365
785
477
279
989
687
464
753
670
932
758
934
217
544
824
827
304
73
6
505
805
453
193
882
202
6
964
588
910
895
48
261
436
814
58
547
828
994
541
432
410
766
330
567
719
208
159
907
111
698
342
700
19
81
377
258
943
476
599
110
116
419
307
131
775
495
607
837
277
286
755
903
182
176
81
924
788
739
995
753
689
846
938
354
282
630
797
820
87
345
617
868
525
432
436
469
929
256
133
789
429
185
638
307
314
397
502
862
883
472
950
305
537
632
357
200
620
117
456
163
548
143
134
725
78
295
242
714
446
9
613
931
520
193
442
487
30
726
715
377
275
245
643
968
255
740
315
461
349
122
417
215
253
699
84
1
374
329
897
457
168
737
429
830
304
31
131
80
108
399
784
916
119
12
814
139
979
687
646
468
854
991
536
828
408
756
125
419
327
468
340
993
355
798
500
380
226
633
324
587
397
500
415
104
930
630
190
31
594
177
23
973
70
331
163
410
328
328
418
447
603
530
719
933
808
353
542
94
93
366
204
74
957
408
614
548
293
283
848
989
10
187
420
214
676
630
29
786
417
761
617
482
314
714
53
778
722
349
545
76
577
305
794
878
130
309
3
183
174
341
944
514
385
783
499
225
225
762
423
606
87
935
889
435
493
369
653
138
349
867
499
82
691
842
338
931
718
836
110
616
382
181
211
104
702
763
483
78
849
256
3
149
460
329
898
9
547
974
133
462
704
683
21
13
530
385
823
374
106
654
853
203
544
537
330
664
197
81
611
555
534
805
211
429
347
443
844
688
643
331
280
382
343
874
420
525
153
997
729
9
51
1
141
749
615
606
929
317
397
976
500
594
114
118
640
326
113
936
206
763
598
197
929
827
980
240
445
523
204
417
756
222
699
801
538
295
912
745
321
800
969
878
659
351
869
209
759
797
652
145
165
827
332
407
687
286
820
727
482
612
709
642
267
770
981
343
858
376
117
891
585
197
781
492
950
545
523
614
870
568
967
254
555
715
203
38
943
48
880
939
285
331
397
706
106
356
52
619
845
760
648
77
605
805
482
56
656
886
987
468
246
825
294
485
802
456
541
268
997
454
61
315
452
30
498
665
720
36
643
504
603
244
766
495
216
545
327
341
171
869
414
822
518
553
187
492
874
37
823
705
181
649
77
265
232
875
355
922
657
754
684
96
146
901
392
690
338
524
727
782
207
293
117
912
139
989
83
516
645
942
742
739
723
642
409
293
176
794
327
288
871
489
393
70
790
353
815
349
575
913
271
983
655
453
57
744
772
792
744
597
588
67
555
753
495
318
956
778
837
392
457
871
250
804
28
958
443
140
537
412
403
676
973
662
320
140
345
808
331
583
365
177
490
657
146
180
694
742
840
711
196
395
825
563
634
745
688
15
287
880
991
691
643
656
267
928
262
301
363
461
523
463
709
328
842
572
256
803
879
98
600
827
66
843
711
425
738
589
81
64
534
868
979
621
512
351
823
71
961
522
846
742
970
103
504
543
357
630
463
621
171
601
617
470
314
822
138
933
516
606
126
242
163
122
869
695
687
452
103
259
558
224
693
68
494
552
822
125
716
228
533
692
958
516
158
541
186
976
838
213
150
373
570
475
288
540
913
962
508
252
235
283
339
526
912
784
733
799
173
861
841
466
272
294
255
10
712
886
849
164
448
493
541
509
179
706
12
132
438
568
765
327
192
37
197
856
241
341
227
949
928
753
109
608
304
588
625
365
877
259
487
458
714
184
822
42
640
331
690
128
802
878
169
151
310
95
546
51
587
249
871
335
724
574
434
670
311
110
711
895
409
138
991
342
953
909
91
341
936
109
48
859
300
165
1
373
936
130
462
900
287
751
878
434
229
49
2
633
494
359
19
138
142
242
866
441
234
435
906
623
842
378
881
239
203
717
871
176
881
32
786
406
432
280
485
237
647
213
183
166
623
800
59
272
655
958
142
108
572
623
460
338
815
547
147
165
780
641
331
797
209
537
830
794
22
250
492
419
743
126
11
921
978
176
715
666
585
42
800
753
38
582
769
310
184
766
240
111
879
907
654
40
246
264
6
519
327
173
767
166
63
65
899
477
355
147
649
197
381
59
990
612
930
564
813
113
600
83
650
136
855
942
839
936
282
863
578
803
64
606
516
784
608
55
5
853
60
750
133
254
319
494
770
615
195
317
179
784
668
597
426
387
313
254
110
557
693
503
643
46
344
879
34
774
461
291
836
529
482
629
287
416
950
804
512
4
661
966
746
229
993
883
22
579
54
60
322
308
28
483
283
63
25
911
328
128
341
831
943
972
896
740
110
985
407
353
93
591
169
950
938
709
872
576
998
865
664
552
981
396
337
274
123
720
701
895
586
89
894
901
509
558
564
470
39
352
775
885
796
383
460
572
641
564
69
570
907
171
451
794
949
323
330
674
245
159
960
464
263
132
477
462
318
149
845
680
617
360
737
533
31
164
97
326
907
76
325
119
900
23
424
564
469
674
567
656
512
347
699
900
295
524
169
285
822
980
397
927
624
456
360
950
691
261
989
924
658
116
497
965
191
776
369
65
455
194
567
898
418
337
414
257
516
953
594
901
281
704
893
655
918
508
316
343
318
832
419
668
126
756
281
845
265
316
122
798
621
387
545
428
788
679
341
575
929
747
299
997
416
697
655
450
625
484
540
361
17
317
146
673
289
754
51
721
764
402
660
856
893
884
28
114
452
982
157
455
354
517
663
720
689
565
841
247
633
546
457
630
300
226
699
159
670
6
576
782
601
531
757
577
858
956
262
851
566
32
700
928
808
505
353
561
228
998
432
388
727
922
739
776
814
606
633
13
779
578
644
51
191
539
769
210
956
539
805
152
122
569
40
709
752
358
90
684
627
435
63
886
743
448
862
774
868
863
474
737
515
537
414
827
595
99
393
464
621
563
642
693
336
798
555
942
388
850
989
948
643
581
448
157
971
491
763
28
510
905
224
133
626
218
429
581
730
466
638
621
391
945
478
693
684
859
461
42
779
571
859
538
618
532
476
786
217
816
892
712
805
720
879
407
688
475
194
112
363
200
34
804
226
58
474
513
348
219
818
92
623
268
498
285
46
808
82
632
297
814
72
816
758
767
315
576
985
292
136
304
685
629
558
564
90
736
582
643
125
212
59
25
846
957
69
759
785
393
395
955
76
92
477
931
823
857
701
63
519
631
944
717
467
944
867
622
21
813
369
958
156
577
890
640
339
619
110
182
47
64
556
268
559
834
989
705
474
32
204
612
621
884
725
95
885
985
252
403
633
20
402
248
763
662
950
118
833
470
308
249
243
292
428
320
974
755
808
306
680
227
623
936
749
901
28
892
847
292
484
861
581
277
529
417
775
703
268
570
388
125
356
772
625
784
452
733
950
997
504
457
863
612
710
949
48
769
447
763
957
894
525
350
307
956
96
618
868
733
571
408
248
988
446
334
906
481
952
750
676
960
739
260
886
886
388
908
824
328
415
418
184
501
268
956
967
159
936
254
538
852
349
622
603
417
57
418
601
207
169
433
39
915
835
835
626
373
939
253
747
383
546
154
507
65
330
830
331
155
66
849
190
425
210
112
193
960
839
988
136
965
304
310
509
817
783
401
955
357
30
87
801
338
489
595
643
624
401
385
184
716
378
521
458
908
454
726
869
712
789
466
207
610
584
92
678
192
494
347
27
486
522
867
229
280
223
59
902
215
276
809
407
286
764
340
793
785
136
953
274
510
880
961
235
911
257
111
187
866
776
664
927
749
696
774
125
556
681
162
801
144
648
754
295
462
976
702
434
753
143
765
222
355
344
51
645
113
350
708
190
17
990
394
323
872
301
970
939
819
552
817
759
272
413
562
513
148
392
699
390
384
659
571
395
313
152
747
810
831
421
607
652
601
149
519
837
149
225
625
730
577
797
774
695
413
431
637
139
836
41
171
259
185
509
825
861
329
932
746
890
617
74
23
185
552
944
612
785
492
546
155
538
910
160
441
100
948
93
725
667
759
263
641
240
70
213
367
739
242
868
616
106
691
918
303
464
874
868
820
132
253
88
810
353
820
755
718
171
321
131
305
817
757
949
274
554
207
737
126
635
807
832
620
481
533
252
413
753
615
352
852
375
460
274
836
640
228
671
274
820
966
39
896
161
334
734
410
974
760
330
917
161
549
238
356
990
310
556
181
160
527
185
658
708
866
503
718
330
461
890
444
468
107
72
292
744
108
603
40
413
27
921
126
90
803
448
193
255
408
525
815
849
151
644
120
689
313
343
123
946
303
73
783
4
135
658
442
685
354
677
546
650
810
85
346
154
51
314
143
121
478
169
811
741
262
734
138
963
87
461
267
163
896
549
668
817
676
904
566
704
164
383
955
825
502
487
583
390
816
405
880
121
591
161
1
49
670
527
330
851
551
901
296
185
926
941
563
756
244
777
441
459
232
949
433
934
697
932
676
599
343
264
432
608
110
644
408
978
845
296
993
377
884
202
662
778
661
126
734
563
695
91
988
106
846
334
283
517
612
146
536
264
433
332
777
801
424
781
672
978
987
657
191
478
934
189
691
556
721
465
45
188
598
847
30
5
858
828
83
926
711
338
51
428
601
859
886
878
807
672
865
180
873
426
624
831
294
168
633
213
877
946
228
289
987
895
353
11
46
829
492
29
978
700
685
927
78
167
895
996
833
323
513
145
513
772
792
131
760
360
127
112
996
890
946
51
377
440
423
96
695
129
996
83
554
299
209
546
2
409
970
366
584
74
757
992
745
522
86
107
898
730
165
517
698
938
597
817
262
324
90
726
158
209
293
642
445
45
625
226
419
281
775
362
988
392
680
381
849
578
377
730
77
669
630
467
327
497
449
388
312
555
844
804
429
181
70
270
551
72
554
595
210
62
171
117
114
824
23
992
57
15
461
565
186
780
771
142
672
739
180
941
716
765
264
514
889
513
841
349
710
195
128
302
233
15
647
30
631
870
362
147
241
518
585
44
371
113
967
196
618
218
573
752
619
347
579
530
971
858
982
229
763
487
238
488
5
571
758
198
856
813
629
382
218
782
691
769
544
995
814
7
705
191
657
48
911
492
717
240
448
947
871
751
944
453
300
505
269
382
464
958
703
698
351
520
263
285
416
554
821
12
16
368
261
746
106
737
449
284
809
349
239
574
151
292
790
998
166
253
251
976
826
86
643
27
90
37
575
535
462
792
716
660
969
244
763
25
528
755
711
45
228
155
335
328
474
528
17
769
465
776
830
531
910
251
991
546
891
265
34
282
119
279
912
674
352
464
185
924
259
792
679
975
539
151
639
673
154
137
932
544
230
291
295
191
382
118
178
62
396
373
994
556
668
262
702
722
381
140
217
33
956
982
77
537
494
469
971
916
430
610
908
601
494
109
245
170
994
934
993
427
384
492
918
171
431
539
636
431
986
810
183
95
754
501
586
992
618
262
902
834
746
129
255
39
208
551
650
460
790
798
803
57
669
682
156
733
759
847
245
143
796
290
856
436
639
879
89
83
875
399
301
885
662
857
525
428
840
261
438
917
879
511
266
280
256
365
448
703
737
916
421
828
895
335
53
89
299
75
809
778
308
742
871
891
715
42
539
285
629
709
181
959
740
292
857
876
533
782
730
291
824
901
122
430
737
486
309
27
163
196
664
727
735
290
933
274
611
842
122
129
651
712
238
375
64
143
626
796
245
512
864
369
556
416
968
473
784
449
265
38
553
760
471
696
713
524
720
120
453
449
698
950
394
739
454
412
552
536
58
760
665
839
72
310
398
45
311
366
613
554
992
298
792
691
969
47
203
38
290
988
376
255
266
631
853
478
320
784
672
164
783
55
961
230
604
180
253
247
633
525
571
930
317
280
137
241
127
370
567
51
959
357
52
474
736
816
345
577
331
599
490
541
621
128
414
6
819
86
101
188
547
266
605
199
704
333
116
629
872
394
76
156
757
224
502
349
186
886
892
456
253
74
776
823
308
149
561
961
60
580
863
265
659
735
16
147
681
609
513
696
81
368
470
513
748
654
396
334
322
474
263
87
879
849
30
132
827
49
544
219
591
65
472
837
2
345
512
543
14
580
423
402
235
909
217
412
849
515
715
849
144
944
856
816
776
955
661
884
831
775
664
442
60
169
472
709
807
852
174
771
34
589
873
433
517
574
146
301
544
86
829
503
316
449
625
179
191
647
28
625
425
540
4
729
566
915
649
380
340
377
200
335
89
306
972
82
769
372
7
285
806
644
169
951
185
57
96
833
106
705
150
118
554
87
844
712
156
266
26
252
106
847
686
370
387
444
585
932
898
93
131
180
289
187
826
595
322
397
263
475
849
928
985
75
776
413
730
16
666
107
407
833
293
860
310
42
653
769
169
983
499
834
683
952
14
954
380
116
263
390
374
493
681
406
795
203
866
47
805
494
460
725
850
670
578
315
520
595
762
995
838
34
200
719
490
391
374
62
996
947
8
899
516
808
742
589
906
193
950
980
167
524
287
690
538
725
459
758
654
288
308
379
719
546
272
780
330
905
232
631
723
216
33
342
111
402
833
606
810
542
987
894
73
586
650
800
148
130
224
555
899
445
64
877
877
782
886
672
800
635
130
357
509
131
810
644
753
374
622
924
15
676
6
419
406
219
869
163
553
457
835
663
107
748
784
911
33
805
851
585
36
566
672
783
51
453
698
751
51
134
237
136
839
71
706
175
585
978
591
63
318
134
770
719
591
93
885
248
130
581
252
513
462
304
451
3
647
954
977
776
426
158
974
422
838
814
749
51
529
323
968
125
924
565
877
70
461
700
530
259
763
585
139
647
60
785
750
571
963
671
149
982
796
785
266
120
979
900
938
782
452
744
163
252
761
641
267
385
885
271
254
587
320
788
393
886
983
930
50
533
656
706
295
22
850
574
553
326
726
976
129
252
841
695
981
606
625
985
56
348
48
664
239
780
651
114
959
740
979
107
314
437
758
966
109
265
843
889
37
48
861
534
677
980
138
979
176
108
695
628
789
596
421
734
810
385
457
750
729
255
761
524
626
984
8
596
203
438
116
867
653
191
323
965
993
932
936
757
818
11
313
318
931
403
623
497
938
648
419
722
831
973
846
593
607
202
433
974
394
961
395
422
663
924
487
745
16
118
72
354
925
906
629
647
723
613
55
369
270
53
215
829
212
657
73
324
759
114
831
117
541
951
932
726
413
413
529
888
452
234
782
240
884
39
818
370
499
480
952
202
793
900
313
698
658
433
556
51
646
804
803
412
373
784
432
717
108
354
257
127
386
202
644
643
178
895
448
803
581
278
529
482
269
810
822
12
27
268
952
940
604
600
516
620
184
404
372
594
737
947
867
864
905
539
22
686
104
167
28
780
51
709
272
169
294
96
783
843
576
934
170
872
525
4
436
592
729
151
143
648
4
936
491
728
995
83
679
164
470
364
959
360
107
578
645
367
339
245
670
429
299
890
536
297
421
40
153
598
636
992
810
283
2
217
967
690
134
379
393
611
873
3
293
391
487
658
62
900
571
224
56
271
97
644
440
819
506
177
608
185
858
280
295
63
613
797
750
603
301
846
865
527
669
314
903
603
760
616
918
478
325
429
52
750
391
598
213
231
851
663
943
177
390
187
86
978
976
144
805
719
579
167
334
696
453
239
519
273
5
11
949
717
258
408
450
523
223
597
684
931
787
179
414
812
267
504
476
370
165
406
325
432
299
507
772
61
565
296
876
831
703
552
133
44
286
925
677
296
217
515
974
49
932
661
335
411
394
385
350
503
426
711
60
707
719
715
82
423
104
107
269
206
6
521
409
734
94
606
8
194
868
478
691
865
257
583
998
799
161
135
682
680
703
543
937
875
795
853
808
236
802
928
702
490
328
511
814
13
157
69
214
727
349
212
768
477
979
64
681
550
217
64
821
902
820
631
446
485
502
82
524
491
330
947
604
94
307
792
423
208
882
30
584
706
746
488
315
429
461
678
921
582
733
659
694
253
590
130
626
883
672
300
718
825
49
133
405
626
582
469
369
980
773
305
725
964
964
700
837
492
599
66
313
581
200
443
562
829
946
952
993
62
241
310
487
837
799
135
713
402
413
916
285
526
965
105
423
549
705
110
845
214
976
863
745
680
57
993
41
847
350
700
42
674
960
508
728
737
510
385
719
958
358
824
75
850
926
544
811
176
492
748
877
300
667
577
308
481
833
906
233
981
5
513
865
50
504
854
422
265
715
413
118
475
551
539
949
964
922
696
634
401
400
107
804
865
421
892
426
47
416
179
198
32
981
86
832
49
840
518
199
983
591
680
832
542
721
64
935
44
68
6
23
34
251
103
945
330
441
75
795
644
361
153
382
128
902
889
327
869
1
556
472
160
847
212
742
74
138
712
910
714
990
705
888
99
684
246
316
420
888
293
944
923
776
909
997
353
610
558
327
923
171
153
981
316
225
845
795
65
819
503
862
450
371
427
182
4
559
491
790
828
783
237
527
697
998
878
508
774
26
531
886
159
344
915
776
979
470
227
214
117
727
678
777
631
777
830
300
50
865
546
147
114
306
804
118
494
521
706
968
392
395
306
358
113
857
165
499
477
788
595
80
262
548
426
644
158
31
390
426
258
781
704
358
68
671
159
98
715
423
546
862
512
588
936
318
419
925
823
780
408
383
251
904
956
861
87
310
52
726
376
808
997
704
5
294
206
12
813
724
126
346
984
180
832
252
747
538
667
159
647
136
605
389
320
986
234
319
737
739
586
390
136
72
254
233
361
53
654
493
317
301
989
435
812
554
15
329
620
560
129
883
675
235
732
508
198
759
960
406
545
113
122
327
505
554
533
10
688
680
355
583
634
552
134
767
531
653
272
304
51
930
720
337
863
524
487
166
968
983
872
708
371
739
194
373
134
175
380
734
288
456
34
519
704
648
464
555
354
765
898
692
417
897
789
567
743
751
820
32
868
798
553
782
160
601
155
297
268
699
678
928
550
361
263
676
723
441
194
379
494
574
272
541
29
915
973
685
921
596
576
460
385
349
286
540
272
6
600
414
743
288
334
468
540
934
666
758
508
827
500
623
371
247
990
469
573
435
397
775
719
840
309
113
714
736
364
126
446
104
878
40
156
407
94
427
124
253
945
913
776
133
83
201
139
566
42
518
486
786
145
378
263
102
993
257
407
590
739
876
79
983
677
78
83
447
610
697
755
745
954
637
624
406
91
669
532
432
221
298
124
391
48
9
596
331
769
6
321
200
978
215
240
879
926
247
4
49
173
696
205
744
40
532
391
743
7
51
646
620
196
53
286
124
674
966
959
481
89
773
216
17
973
636
511
171
800
706
769
460
547
236
977
928
989
198
417
842
834
557
334
253
88
960
789
804
168
957
83
132
175
357
399
898
823
349
114
613
692
733
337
298
861
376
613
553
252
814
836
222
766
816
327
360
337
138
99
74
771
239
983
728
308
224
991
922
524
66
212
119
319
36
333
263
830
91
628
35
622
187
125
597
813
481
43
384
474
319
834
927
516
397
932
494
175
744
226
183
195
45
794
613
251
520
4
215
236
339
429
309
821
247
98
446
550
544
507
758
365
826
294
365
5
418
772
167
86
610
111
152
382
689
508
945
29
782
312
457
807
569
226
518
441
381
662
410
527
576
876
982
284
762
594
780
672
915
81
494
946
848
466
989
5
425
722
377
492
766
332
168
371
752
830
176
257
423
370
145
189
285
347
92
998
310
536
484
597
837
980
648
813
537
489
944
459
33
667
302
398
732
758
309
821
343
420
389
982
839
474
962
613
338
666
780
918
421
898
415
57
415
719
879
41
672
518
401
913
665
911
797
318
811
243
39
136
444
421
140
915
433
814
953
920
166
406
642
770
666
558
510
114
559
71
980
49
146
114
778
39
862
89
347
965
231
391
546
959
20
830
111
565
206
702
852
199
668
925
458
570
328
794
494
443
975
288
296
688
342
784
46
806
781
17
243
120
261
227
240
519
664
12
866
912
958
169
674
34
871
533
812
839
510
175
737
208
16
714
274
310
290
510
508
219
149
998
923
709
658
303
180
612
861
528
751
387
151
696
606
781
765
757
804
118
650
115
933
177
888
919
759
364
682
445
570
676
366
22
493
638
888
602
875
534
857
765
998
868
846
922
940
74
120
194
263
870
635
239
202
579
739
440
578
492
515
165
414
728
814
746
141
227
639
500
363
631
808
181
549
518
499
735
127
43
745
41
901
170
311
21
613
625
539
121
827
272
548
317
74
798
432
281
549
515
84
610
807
216
111
218
25
543
781
173
202
251
71
108
147
647
512
592
407
458
498
129
643
897
477
85
419
452
511
331
709
888
119
99
910
615
913
880
790
457
252
603
287
624
533
626
976
598
19
82
147
410
658
219
119
853
100
338
555
601
248
687
236
153
363
294
695
875
736
590
185
19
719
32
874
233
651
136
721
946
786
467
775
606
565
950
698
391
537
478
60
247
490
920
477
707
575
608
965
749
345
259
788
454
793
500
321
638
50
760
527
332
26
475
689
764
543
697
122
166
369
919
608
606
371
568
888
196
110
813
265
770
307
229
350
902
882
937
795
245
155
830
492
44
858
332
788
208
9
189
537
700
384
795
352
265
541
633
101
352
293
354
196
318
921
433
433
572
875
38
188
884
919
618
892
248
726
606
746
59
856
922
80
563
445
673
684
138
178
252
261
475
776
367
471
223
713
427
295
229
145
320
274
933
518
986
346
1
473
295
105
52
965
928
460
920
152
466
282
754
817
641
292
361
776
360
952
185
287
846
844
779
601
878
50
206
396
587
891
64
226
639
291
608
735
772
421
298
506
562
322
63
456
266
340
782
376
217
131
906
161
855
661
182
466
693
332
930
21
526
785
582
305
900
329
763
782
932
982
972
411
313
823
720
553
38
473
655
801
324
783
40
644
299
506
174
752
930
539
113
688
808
195
87
272
777
446
571
308
853
957
816
549
778
793
811
110
918
788
187
182
513
486
367
656
302
68
322
125
393
443
123
764
356
490
422
958
181
627
767
228
675
916
967
908
785
269
78
916
302
545
299
266
901
31
455
666
765
899
169
391
288
301
623
196
827
672
743
633
871
160
16
849
411
979
218
168
942
217
508
928
961
421
48
762
128
284
63
358
788
634
266
258
824
206
211
739
333
696
192
398
500
417
405
91
971
783
10
187
17
878
695
480
942
205
994
966
640
347
350
850
214
462
606
134
295
935
98
124
87
676
450
755
315
140
692
607
54
662
52
247
127
184
29
545
242
991
506
312
989
498
721
713
594
315
984
572
907
792
236
22
497
38
770
303
309
357
767
302
375
252
114
56
134
149
642
345
584
544
553
573
622
688
545
657
454
331
924
271
658
321
493
534
176
325
431
727
842
677
310
825
236
855
238
971
981
963
519
875
369
648
402
280
430
731
341
373
389
954
178
8
224
574
681
859
367
196
797
877
207
101
258
561
980
906
945
331
723
907
58
323
648
717
974
593
51
66
544
783
163
571
293
379
990
637
332
54
387
350
643
960
931
414
195
79
618
742
605
943
110
505
85
425
6
891
23
714
36
53
129
374
399
82
610
701
361
809
851
410
707
452
904
335
868
930
351
152
100
54
840
743
610
640
269
520
593
121
990
597
320
580
497
273
384
901
240
913
90
872
315
970
596
660
470
569
548
205
780
787
373
199
337
123
163
888
359
537
679
787
567
359
840
831
228
787
260
31
433
27
106
125
716
648
644
175
738
198
282
835
136
368
69
59
774
852
262
582
896
729
891
304
531
777
276
326
183
940
339
721
118
983
915
994
537
809
876
704
1
539
141
152
324
936
985
459
59
68
374
113
219
795
572
776
111
545
963
143
399
419
102
661
100
42
393
808
430
906
796
528
787
356
455
571
701
743
539
850
671
798
70
911
33
37
999
620
431
268
296
192
555
163
810
304
271
95
377
919
948
472
867
437
185
566
182
792
430
249
302
656
566
911
518
570
787
816
140
697
258
573
220
299
171
432
167
475
332
716
244
361
987
302
825
520
199
229
328
641
587
495
110
186
362
377
265
996
963
857
420
164
712
553
319
920
735
752
499
484
395
2
290
86
765
883
997
717
165
472
396
582
427
134
965
752
549
536
890
884
969
323
779
675
464
974
682
385
11
756
685
935
948
969
307
159
902
10
555
890
445
256
417
744
372
467
175
42
695
358
536
691
357
918
261
125
963
647
932
960
26
259
507
812
644
363
523
690
247
908
785
852
370
208
619
25
311
819
28
168
525
289
99
229
235
669
766
298
129
737
384
863
996
709
462
1000
195
130
870
370
270
919
755
624
314
362
405
523
358
984
432
507
137
544
24
230
938
949
769
18
696
109
356
702
192
773
442
216
939
847
248
398
335
768
173
425
518
859
946
234
86
265
512
934
188
324
504
5
471
490
357
163
646
90
691
916
105
304
450
610
313
890
612
121
801
500
430
813
280
13
966
683
661
579
933
298
758
596
895
206
967
208
514
432
198
311
482
437
756
105
545
167
983
66
461
530
827
176
32
629
586
425
979
423
299
175
741
325
114
605
898
782
689
313
923
631
870
869
539
590
343
411
330
858
58
54
914
918
611
956
767
464
713
689
417
512
448
388
948
80
776
802
256
242
564
605
607
211
211
910
250
987
612
516
544
308
468
9
960
305
586
353
172
514
693
110
602
153
713
537
463
723
243
396
893
84
232
256
683
821
523
425
868
595
200
180
505
992
952
589
400
944
841
676
843
922
575
225
885
401
123
648
877
901
209
56
466
515
113
880
168
753
906
885
812
989
885
345
614
307
746
673
310
233
99
992
788
79
617
589
95
549
617
222
855
704
230
696
275
116
429
927
496
642
857
156
140
822
569
932
144
188
708
472
170
566
686
381
734
985
877
367
54
886
369
283
736
169
249
382
97
401
196
342
736
957
331
239
614
981
468
1000
324
896
696
524
269
437
11
350
658
839
393
899
326
796
723
874
214
413
757
935
229
286
587
81
145
449
22
171
978
911
766
737
777
216
456
708
682
296
801
700
38
238
306
116
433
269
617
403
865
193
717
819
348
480
204
759
47
206
841
575
264
911
189
609
73
715
872
244
576
62
870
236
520
99
427
312
413
748
856
84
300
121
603
788
918
863
154
812
351
500
144
657
734
297
57
632
116
741
350
412
380
468
817
390
374
680
645
714
273
281
837
32
528
340
928
940
108
70
692
212
336
40
93
565
768
244
819
807
502
982
77
390
350
67
98
444
508
399
546
748
636
416
366
911
770
466
982
356
662
689
285
362
540
657
841
313
926
420
947
71
683
431
992
230
82
980
747
788
544
202
901
398
885
820
623
410
951
616
781
297
760
90
643
329
158
571
520
118
377
283
740
614
251
927
836
466
42
677
749
788
223
969
49
614
128
73
803
606
857
140
89
866
169
151
649
532
247
348
332
204
319
382
696
751
457
48
511
239
177
77
581
492
152
479
376
239
248
475
563
463
51
355
275
501
676
249
546
746
804
669
702
370
716
820
302
947
786
966
10
666
964
780
835
460
106
517
32
539
436
415
985
240
885
238
636
537
608
998
503
313
18
157
523
964
989
434
406
62
280
374
837
281
371
432
805
185
398
64
488
237
938
665
989
915
349
762
383
916
341
186
981
318
188
13
999
303
161
395
366
264
312
210
425
891
802
525
153
316
715
396
524
305
467
6
22
457
369
892
263
305
175
402
701
62
349
437
803
126
733
766
459
30
806
896
124
128
376
312
980
621
341
665
286
759
604
269
382
345
586
729
628
816
947
401
194
457
797
323
287
445
283
538
429
595
971
747
212
528
351
398
479
105
120
484
530
608
506
945
537
571
975
883
407
331
932
552
60
406
831
262
415
776
686
358
172
796
118
196
582
934
490
644
91
314
996
528
712
59
233
607
856
24
990
577
315
173
632
674
568
922
591
43
956
9
526
947
170
704
324
14
939
179
501
238
576
616
50
763
93
96
222
879
477
362
162
297
582
152
317
394
889
112
788
625
918
756
686
333
273
533
882
715
275
829
587
635
602
206
175
933
523
191
41
988
661
115
898
326
517
7
694
332
157
888
716
150
98
716
801
869
661
580
711
91
191
178
53
882
279
211
662
920
593
756
609
199
295
289
45
103
260
868
419
656
211
510
167
388
763
990
792
597
293
142
855
681
610
113
822
674
18
185
680
826
867
73
728
816
641
537
482
725
318
366
989
935
672
141
261
670
902
864
840
439
560
270
283
683
91
407
1
494
368
658
452
828
97
414
573
815
829
83
289
642
617
649
183
636
225
652
596
207
455
925
986
963
181
292
842
539
770
222
858
695
970
271
412
446
470
542
195
86
147
813
741
419
158
258
262
684
662
367
192
702
196
955
402
872
876
220
376
561
586
573
286
658
704
836
893
278
721
235
727
186
163
432
782
171
28
571
197
490
257
889
135
200
400
857
552
240
772
950
54
405
144
675
498
210
67
522
439
332
831
984
760
295
900
782
165
249
57
516
908
841
961
15
814
578
741
379
883
321
519
636
294
688
667
671
474
978
243
745
163
573
900
829
624
658
408
605
465
871
639
218
875
77
413
60
683
186
745
597
101
255
11
395
350
226
214
85
404
338
142
451
717
317
75
1
264
360
621
477
550
778
460
646
345
765
499
872
738
621
539
683
332
219
320
368
172
259
462
742
522
566
644
444
466
864
177
521
118
385
676
23
517
252
782
16
130
594
672
729
886
881
290
482
87
473
677
597
873
490
717
951
22
396
214
242
10
911
798
710
430
125
233
266
338
638
176
374
993
286
936
514
305
117
349
702
323
309
52
317
7
26
407
856
944
986
920
831
639
462
630
887
67
190
422
866
754
500
747
121
244
815
22
877
706
139
952
31
309
564
685
959
910
318
389
637
619
779
265
302
586
985
366
895
46
110
607
546
650
221
44
451
269
641
766
286
363
870
666
706
353
792
664
814
131
791
6
129
176
426
353
995
575
496
747
929
832
972
259
172
743
825
805
484
358
172
203
267
37
961
653
52
779
865
561
655
548
490
265
753
912
779
779
167
496
711
360
250
339
109
109
63
267
162
404
867
955
260
46
408
663
523
621
772
502
5
727
74
677
66
415
170
822
944
978
246
32
91
892
594
214
908
714
364
830
417
803
167
83
927
668
841
173
78
548
998
697
328
83
859
229
428
616
592
505
748
692
890
505
310
339
293
938
829
485
660
322
763
86
566
815
982
943
184
594
151
878
559
255
334
87
807
381
456
202
129
317
989
137
134
720
738
118
938
792
311
725
258
43
628
219
788
328
595
332
735
841
537
402
152
123
422
331
574
51
88
58
916
454
901
431
636
936
237
664
824
127
925
220
173
631
63
482
9
446
76
18
459
924
133
871
985
770
739
772
315
431
698
81
557
241
476
507
578
583
956
761
399
119
184
661
370
426
825
529
806
344
740
927
44
146
190
867
636
144
968
60
437
144
766
362
796
831
406
110
410
665
985
465
848
830
864
264
49
601
381
34
822
569
408
832
455
335
790
994
883
250
658
617
671
143
853
546
401
323
408
868
220
457
219
124
747
644
829
388
46
196
191
43
202
308
521
489
654
867
832
53
596
136
5
694
38
406
350
174
354
790
440
551
685
241
522
247
711
555
322
513
798
452
229
568
607
239
879
802
888
481
227
779
293
19
805
471
994
537
502
324
552
212
989
782
818
708
937
325
242
730
932
807
394
84
394
751
959
541
726
636
143
889
533
27
934
459
596
70
906
724
45
609
149
883
899
459
37
922
903
392
923
662
293
750
849
933
976
252
452
764
856
853
493
170
781
680
437
267
802
890
990
970
626
161
373
928
98
988
808
953
788
282
917
131
284
30
870
681
623
82
169
994
509
678
94
292
528
5
385
342
193
104
809
140
607
50
225
655
3
808
818
727
922
480
216
896
584
990
109
541
915
351
475
643
483
132
818
540
498
448
532
81
367
727
936
946
960
826
964
921
260
923
823
604
411
340
909
850
969
446
64
845
274
687
975
178
877
832
49
534
621
545
435
36
90
854
75
658
642
276
305
849
998
448
448
890
247
362
95
700
780
342
279
24
179
755
343
861
66
633
665
945
43
951
510
393
763
821
69
643
805
390
634
575
419
95
396
24
703
339
773
745
883
513
998
990
340
642
836
357
618
824
743
187
510
207
269
482
508
552
37
9
736
744
198
62
56
474
834
758
71
471
158
92
847
357
85
981
304
614
244
557
449
873
617
671
974
330
602
374
275
839
44
886
681
682
898
862
92
539
737
404
791
819
289
588
561
387
161
286
351
344
412
812
796
313
160
484
258
581
315
991
719
309
84
351
505
95
512
281
108
909
25
195
423
132
821
864
201
960
832
609
972
121
103
240
876
199
366
67
617
643
124
83
863
29
344
513
489
268
92
858
173
32
393
593
454
512
105
124
437
755
887
414
387
324
826
408
925
490
991
379
642
914
919
791
36
880
709
50
553
162
769
659
52
148
743
279
330
154
621
199
249
688
403
833
614
461
92
302
641
339
723
191
848
317
914
721
966
965
180
213
332
626
660
788
578
342
823
556
229
571
157
525
566
966
772
962
775
689
834
650
808
826
227
684
860
219
612
827
422
54
578
170
626
69
287
613
272
617
858
357
182
260
958
458
588
877
9
335
539
661
537
416
369
603
890
878
498
777
644
693
47
649
410
152
643
982
931
567
851
641
546
198
850
739
434
276
78
749
262
672
712
121
969
32
294
905
217
25
363
141
432
448
888
796
444
438
999
625
233
133
43
771
902
37
16
269
839
267
897
345
44
15
235
629
846
898
984
305
152
99
579
437
590
198
810
500
181
49
679
14
922
771
947
53
172
780
779
948
396
4
56
571
943
118
732
407
887
781
423
841
161
10
220
326
876
34
935
886
106
320
25
818
433
566
82
997
581
850
897
645
436
786
410
692
470
339
842
162
898
722
590
461
219
541
292
26
227
616
977
393
560
157
703
569
95
515
564
394
172
182
246
642
664
999
985
101
709
762
998
572
744
867
869
97
643
744
949
985
834
239
227
537
571
586
307
864
508
704
33
903
315
63
514
363
384
323
538
382
218
164
103
468
841
376
648
91
420
44
738
36
118
859
113
868
92
741
732
161
9
680
611
173
892
583
738
144
542
302
602
167
146
226
390
255
778
907
918
330
283
620
666
873
813
610
803
141
621
100
527
557
638
267
573
130
545
170
929
721
77
348
643
85
70
26
291
603
495
77
484
655
814
898
183
584
71
594
115
947
1000
261
12
194
198
259
856
952
713
946
132
449
568
565
56
2
139
324
29
914
206
363
13
157
395
108
982
314
760
136
776
28
165
753
562
621
187
910
292
96
46
964
521
837
445
398
715
987
420
614
190
233
54
803
25
923
182
754
964
587
823
150
471
402
18
963
129
183
898
407
302
277
992
577
35
445
174
346
282
636
43
858
490
587
331
517
714
958
684
162
636
142
816
268
397
961
454
116
466
527
73
679
309
717
970
249
230
128
907
465
888
435
586
225
563
117
32
858
756
640
347
139
602
637
799
526
903
901
12
144
69
150
317
788
270
157
576
195
88
23
724
436
904
177
280
155
404
98
920
598
734
544
837
411
986
1000
567
558
284
378
550
165
207
76
220
675
435
202
438
682
298
340
485
90
426
348
540
253
493
149
910
446
979
4
728
911
463
194
37
368
172
593
536
407
446
146
633
562
989
666
494
31
145
734
429
278
730
264
835
348
886
751
208
257
985
820
205
600
811
170
572
959
889
162
280
282
760
26
662
928
459
883
53
223
633
386
180
865
864
681
128
290
374
128
978
712
432
648
288
501
471
46
387
561
701
101
709
127
434
571
366
583
1000
760
841
721
168
391
2
19
405
266
400
206
514
76
517
996
798
182
362
266
826
794
226
11
568
7
210
539
686
603
154
518
605
329
724
776
401
893
718
910
121
422
225
564
574
241
498
475
989
742
331
446
742
107
146
387
915
438
285
222
572
336
859
971
758
202
188
637
6
236
516
231
388
694
460
231
964
129
903
718
348
72
106
760
208
278
215
369
500
208
402
899
912
473
175
70
544
939
695
609
124
494
498
382
123
926
640
503
973
37
134
474
269
158
124
631
211
550
370
890
502
454
312
789
899
767
837
127
980
916
154
144
530
788
189
213
816
548
744
907
267
385
151
111
76
705
892
591
351
867
187
954
394
821
95
336
655
447
329
19
183
794
500
278
933
416
576
437
927
284
982
486
183
151
916
712
940
798
655
274
681
421
438
132
361
269
806
530
687
577
920
686
918
106
554
137
321
913
981
781
67
536
101
426
119
877
962
519
544
60
736
354
116
907
988
889
872
719
692
763
546
291
256
228
172
177
796
631
314
956
768
753
37
194
117
552
567
109
615
567
149
29
990
202
168
31
320
447
263
997
956
922
308
356
403
285
939
796
327
589
283
231
485
11
165
243
230
570
798
589
954
99
444
457
183
190
769
589
107
458
828
328
1
283
106
766
679
483
973
812
602
376
995
413
562
138
529
796
772
368
55
740
960
467
902
614
999
141
676
696
400
450
200
780
342
484
627
977
469
525
460
757
839
975
240
90
85
621
583
135
55
414
293
796
192
476
962
632
916
516
957
402
677
307
500
169
634
189
682
408
128
71
403
40
179
350
376
330
389
869
325
212
544
825
357
65
644
480
350
110
216
72
120
182
151
563
446
338
551
12
247
894
340
896
395
725
543
653
317
414
410
991
25
34
208
744
836
830
363
72
942
918
974
343
176
895
501
454
258
812
482
299
13
379
554
681
524
805
633
858
347
219
182
104
707
738
210
604
343
927
853
262
760
601
420
320
654
656
229
516
656
521
179
68
606
606
403
755
283
536
428
668
912
82
213
500
797
989
80
655
963
579
865
719
483
211
507
303
325
89
73
54
756
498
810
743
872
256
598
34
367
613
127
5
877
565
25
39
856
514
860
475
268
740
377
849
360
575
971
615
437
932
978
590
730
747
774
739
677
958
606
950
700
740
24
359
781
28
315
29
379
210
429
270
685
584
976
305
993
560
228
599
688
897
812
961
342
349
512
261
708
831
427
233
141
988
929
305
233
517
896
855
426
657
674
233
251
125
324
132
894
679
211
51
252
18
867
193
624
549
572
373
226
776
919
935
346
968
178
135
437
224
646
569
151
120
629
247
534
563
320
736
606
521
147
760
164
906
495
980
883
779
872
330
47
876
511
898
88
458
2
604
991
499
732
46
809
424
349
152
363
356
668
89
367
200
992
519
20
923
534
848
330
965
296
603
625
105
140
246
589
199
653
677
297
126
133
42
777
864
941
28
773
4
110
154
735
383
923
400
372
265
901
515
336
351
203
743
18
547
964
421
882
316
109
614
422
867
438
217
250
210
794
804
423
696
608
671
34
655
266
394
881
233
368
958
534
823
826
627
489
107
91
536
963
784
364
979
488
545
712
234
905
353
782
101
210
656
944
729
182
885
816
705
125
489
132
101
646
531
797
354
246
986
21
615
991
175
20
26
196
135
136
704
60
286
403
181
599
789
276
225
617
184
612
144
409
543
830
26
602
789
319
23
189
520
364
35
882
379
843
734
472
393
437
943
679
363
150
221
213
964
155
990
610
36
491
725
518
759
307
80
910
170
867
552
455
253
672
632
228
107
542
904
958
849
323
140
603
165
80
236
952
143
4
783
849
868
531
586
508
253
622
844
963
861
469
135
567
748
309
254
667
759
149
174
110
114
623
457
971
496
699
576
416
742
224
828
208
851
787
567
744
257
239
671
295
981
72
120
534
714
828
489
34
584
59
525
436
114
701
986
206
125
996
130
210
151
878
976
526
22
592
852
128
583
364
619
370
593
580
311
109
629
478
846
965
299
892
97
940
359
568
876
670
90
130
781
361
686
875
148
479
129
540
818
70
138
538
103
193
971
130
912
173
399
366
771
787
735
725
87
14
341
692
236
96
33
890
161
165
206
391
545
690
263
184
978
543
323
769
124
206
384
301
755
946
479
167
559
285
517
48
835
597
494
321
837
981
701
741
230
661
948
23
390
904
333
657
308
600
342
428
595
146
708
290
880
731
586
999
599
618
298
192
119
806
876
280
308
748
907
870
14
985
232
631
254
720
211
103
576
556
838
222
238
588
361
302
72
336
597
525
557
84
382
628
685
784
80
226
745
29
961
969
419
790
232
698
711
919
876
301
899
856
830
157
249
230
244
459
833
125
95
1000
312
577
225
681
258
752
258
987
866
429
115
445
439
764
579
931
168
261
624
486
676
795
504
904
829
500
908
706
925
615
312
916
417
906
947
489
138
152
226
357
243
409
721
626
793
519
197
50
182
16
463
933
470
489
219
120
218
488
536
884
107
358
327
694
88
117
947
179
379
795
197
622
932
960
61
470
518
561
771
626
112
377
981
917
916
790
460
818
351
391
134
141
472
772
667
376
301
188
395
982
523
928
312
293
198
103
737
859
432
755
135
848
46
254
373
647
616
656
372
83
527
753
968
129
626
905
501
215
260
628
45
809
550
296
218
947
921
372
308
754
197
198
798
671
510
540
184
197
35
490
669
406
492
294
868
1
616
354
918
89
86
906
343
659
1
700
723
493
29
725
844
463
152
84
382
135
816
524
842
301
462
145
909
714
372
618
978
730
812
395
201
349
975
534
53
117
20
436
299
381
680
427
910
774
105
639
273
830
255
67
394
936
57
637
715
843
208
445
799
905
527
804
431
834
865
199
74
469
769
488
656
737
691
191
817
314
818
774
835
60
395
711
323
893
532
308
274
315
332
926
552
123
10
246
495
993
461
390
794
816
941
362
795
201
377
735
204
737
717
998
944
650
592
437
704
852
571
386
855
580
575
846
244
604
799
907
615
573
802
47
601
545
584
568
204
35
65
714
296
189
76
964
786
732
423
122
659
171
868
551
537
460
247
551
47
592
830
785
844
874
902
234
480
971
179
497
345
315
400
313
983
528
462
840
647
206
697
184
355
586
944
784
783
137
248
747
989
484
402
961
397
213
383
24
780
436
872
55
390
31
473
954
525
56
977
303
809
371
967
738
20
285
626
657
261
611
70
479
410
930
706
509
916
163
573
457
267
862
541
992
711
275
347
585
504
949
971
133
164
365
841
916
412
720
315
777
283
774
371
192
173
798
298
168
388
515
440
788
163
821
372
703
979
227
311
19
297
34
852
60
673
588
662
331
312
782
243
455
436
861
250
662
858
428
529
114
515
374
667
346
365
104
386
412
318
943
537
335
756
724
528
346
533
578
925
374
445
482
144
274
682
117
858
103
664
993
811
781
759
627
661
800
603
666
946
432
530
408
567
579
554
851
709
157
826
916
851
666
404
907
417
192
433
208
278
700
777
419
525
82
867
238
190
223
331
547
384
28
88
588
668
16
916
623
796
109
382
896
208
614
231
488
689
967
229
272
94
370
223
581
472
371
172
330
761
829
118
894
554
949
860
879
932
909
69
663
187
843
890
944
149
151
22
504
673
659
281
121
890
334
959
407
399
655
959
811
966
624
56
381
626
881
548
659
17
523
179
324
153
208
144
820
35
538
916
851
817
438
841
109
989
767
160
158
936
480
171
763
86
389
404
745
211
66
859
31
243
526
626
657
428
159
927
943
121
823
673
651
564
625
814
11
190
691
353
190
960
146
555
678
4
363
909
411
487
149
518
964
813
285
36
487
513
155
246
862
141
829
830
484
957
340
176
65
960
321
341
36
180
976
183
814
452
407
659
1000
733
342
644
727
903
100
237
585
67
366
136
135
807
48
693
395
547
159
112
66
161
284
867
725
809
200
640
257
394
549
475
725
600
249
945
305
150
733
424
668
531
910
858
706
811
439
276
59
839
230
875
666
122
251
447
873
494
187
744
623
141
573
605
438
198
658
980
183
388
668
157
166
634
406
257
960
528
773
471
851
667
501
193
95
829
766
607
227
282
311
635
295
82
934
36
334
541
335
664
285
604
271
530
842
210
983
649
803
478
855
574
600
665
712
823
647
245
740
364
613
486
31
457
822
214
490
692
673
423
145
368
549
175
737
613
898
724
730
481
201
678
87
294
718
579
110
177
577
8
527
241
273
469
1000
432
610
739
302
852
458
384
34
979
659
507
96
125
51
47
701
293
80
611
355
140
477
543
176
212
887
395
262
722
580
720
871
171
780
828
174
484
610
392
284
70
966
197
996
840
921
399
470
634
396
567
462
262
255
281
886
666
672
550
183
21
219
551
457
794
947
922
266
747
960
274
847
374
114
446
307
169
355
661
606
363
569
526
153
146
617
784
390
729
75
636
346
764
92
883
447
976
696
141
787
749
549
556
378
817
587
244
76
131
237
628
120
18
798
578
728
890
292
356
419
297
207
849
260
724
627
179
607
681
434
423
854
111
629
95
154
827
209
893
167
520
407
789
655
513
190
532
733
243
253
845
691
40
864
841
98
507
848
784
555
51
273
246
498
239
912
518
856
232
735
706
825
633
28
875
485
632
614
665
454
382
362
26
313
183
698
246
523
835
468
135
578
351
497
665
362
886
540
653
223
932
306
759
940
648
121
705
391
545
166
690
655
843
183
149
784
48
457
741
59
507
701
118
182
159
532
426
673
488
101
454
331
521
298
242
131
60
129
4
102
167
319
842
901
65
469
98
553
533
918
629
521
500
260
163
40
885
614
515
92
948
722
539
921
946
687
384
699
675
38
948
118
945
196
241
895
110
426
752
209
627
955
405
25
812
548
212
984
977
520
210
493
451
172
357
533
492
914
432
761
935
775
916
470
737
529
860
795
455
611
566
532
279
909
489
602
29
21
499
894
386
396
589
554
201
202
625
452
147
796
859
904
166
800
426
422
862
515
687
311
333
241
136
502
905
237
17
916
123
369
190
622
364
407
187
372
944
292
467
520
549
41
915
357
337
978
370
111
244
88
122
334
416
603
71
501
627
818
796
216
512
851
1000
319
540
796
518
828
747
199
275
534
901
154
63
562
867
647
575
520
456
924
516
367
919
307
299
716
528
737
729
191
907
658
767
96
260
420
197
48
32
263
946
828
458
679
605
637
159
466
449
395
722
177
707
24
863
352
516
803
513
571
756
713
268
871
847
197
111
295
132
935
506
513
316
879
44
510
914
892
228
327
891
112
827
448
565
410
915
752
873
984
673
999
324
476
552
975
380
323
50
417
376
71
314
203
395
557
24
364
450
171
60
725
8
268
49
589
309
856
718
650
944
695
455
514
483
367
230
178
925
460
345
181
743
97
768
648
634
6
98
84
746
685
219
880
245
510
854
308
19
114
448
942
297
849
602
436
958
362
158
932
648
431
43
128
362
371
741
998
284
76
748
850
372
556
646
43
230
53
492
630
924
975
530
758
244
652
408
326
401
299
412
937
698
104
501
870
534
48
706
683
445
678
128
860
833
586
634
975
61
255
19
380
230
912
991
410
173
617
171
727
836
675
839
521
340
281
763
699
299
262
730
699
80
987
195
235
93
334
551
417
796
9
57
595
60
122
853
85
211
650
634
594
866
608
713
438
706
834
186
848
421
341
171
292
703
623
979
616
598
774
653
514
798
821
82
394
631
607
52
692
902
530
859
884
404
403
360
653
762
666
708
376
953
651
406
98
980
115
712
511
904
450
729
92
439
216
662
902
513
392
376
833
796
77
87
496
24
646
44
134
207
215
639
639
787
790
453
273
787
832
254
211
79
269
667
103
193
818
263
665
805
600
982
372
115
906
180
870
360
745
590
184
146
354
343
808
906
802
176
863
670
361
483
113
253
871
736
213
235
499
331
754
203
366
956
992
199
512
517
753
793
769
697
347
418
864
803
588
497
107
317
168
40
745
457
972
130
484
390
278
383
699
801
244
194
53
176
798
451
656
557
301
447
987
258
373
370
813
603
752
49
197
99
737
59
968
45
394
171
613
817
323
233
99
386
289
406
527
8
153
541
750
584
463
70
759
340
86
680
114
894
566
552
10
545
327
945
864
689
111
791
175
656
366
933
318
467
722
170
586
915
510
836
165
13
862
26
867
997
538
251
424
850
806
70
16
628
867
258
26
844
498
109
112
988
304
556
72
878
177
177
628
953
52
455
845
922
668
117
305
46
293
417
499
411
601
279
922
780
620
423
232
905
502
972
599
945
91
917
646
525
629
695
319
108
133
385
131
378
371
298
876
620
137
980
778
103
466
536
303
374
402
579
875
883
774
379
85
855
532
938
411
55
966
9
695
706
638
394
266
547
803
736
347
904
444
743
140
444
120
339
61
427
575
370
29
313
762
136
641
831
54
830
648
173
319
798
281
862
208
964
76
97
12
405
428
712
197
457
980
628
357
234
138
699
781
942
48
799
603
784
94
737
49
267
663
620
494
982
820
873
297
644
80
944
993
923
998
591
601
669
649
867
973
592
5
928
68
696
737
109
42
645
555
142
336
260
9
685
236
527
320
737
445
361
936
944
82
755
127
242
630
802
399
44
92
592
901
502
493
194
921
687
529
437
810
465
221
727
506
985
913
952
906
238
890
135
54
750
329
786
659
508
859
234
619
387
860
500
610
950
189
798
345
501
66
118
116
197
731
485
598
237
779
103
40
626
882
609
715
9
230
13
685
533
661
750
466
255
997
865
137
535
673
494
274
221
912
559
719
842
763
369
918
228
899
45
206
746
198
828
606
788
858
440
434
966
318
753
194
76
90
329
650
179
112
522
52
463
320
793
190
154
564
930
466
162
822
970
828
76
238
659
641
104
138
142
233
363
783
280
24
368
737
987
554
913
159
528
308
719
543
349
649
947
579
600
414
141
584
777
519
361
165
106
849
43
489
664
396
52
862
171
603
172
679
23
765
165
427
175
389
965
720
295
322
153
111
280
727
945
86
775
45
819
833
760
933
22
671
91
399
942
873
980
856
602
103
465
442
259
246
548
115
977
802
849
656
803
367
347
522
751
605
626
244
282
213
715
105
812
23
792
514
963
122
523
465
767
77
578
116
359
333
547
101
978
488
600
655
291
707
374
286
250
106
759
938
643
271
474
685
421
268
917
718
484
920
823
925
848
569
92
924
226
201
464
935
726
51
145
945
267
635
568
300
116
981
464
648
767
834
289
398
1
930
46
245
725
379
817
472
450
358
12
840
485
374
855
428
461
326
313
820
535
709
390
457
394
332
605
547
63
938
68
191
644
576
831
403
287
161
374
18
653
709
210
107
349
254
916
931
725
571
431
939
293
60
577
201
663
664
5
590
103
641
425
253
931
941
902
594
665
18
269
249
96
575
401
464
483
999
793
143
865
467
221
69
478
480
278
988
844
86
233
435
264
209
993
505
365
309
187
190
87
714
200
60
495
290
782
416
868
359
953
401
496
137
343
576
240
496
162
90
208
573
351
436
981
230
1
263
883
603
153
997
590
751
778
796
534
937
632
671
945
714
169
497
648
46
759
432
581
413
811
987
949
372
908
379
366
964
65
112
360
805
844
723
333
399
533
773
521
18
864
453
374
78
583
485
427
494
272
156
149
432
502
384
576
793
888
123
51
949
992
388
224
736
404
66
419
802
932
190
980
685
952
515
207
780
891
443
600
544
234
489
555
131
356
650
478
88
429
446
935
945
34
469
750
367
155
718
48
78
307
498
398
733
397
361
74
471
278
94
734
763
169
444
489
594
840
151
731
799
553
699
873
906
916
664
891
225
554
862
142
301
922
560
282
976
511
14
837
792
229
66
200
57
998
190
699
507
934
168
89
612
113
102
30
322
948
275
938
5
773
769
982
145
254
669
138
409
232
900
577
589
806
558
385
829
879
320
9
540
681
855
326
472
958
519
59
806
638
932
16
108
904
635
805
444
672
570
972
963
351
538
593
935
340
740
104
9
21
643
769
539
852
403
971
271
789
210
550
868
534
162
203
28
458
188
169
269
638
833
410
550
525
471
629
716
36
363
549
611
499
427
278
621
134
995
242
274
726
263
328
458
435
385
139
310
639
542
206
587
90
844
557
158
480
18
905
642
238
603
162
675
310
512
339
555
839
16
885
313
376
992
530
94
616
445
134
717
673
719
871
627
218
951
637
111
169
518
150
861
378
769
452
362
900
464
156
183
197
615
579
288
143
330
568
720
114
649
317
507
118
35
930
852
612
627
159
188
395
405
751
807
665
867
262
68
309
112
169
146
972
456
408
391
596
702
939
943
171
311
225
284
679
87
444
762
889
737
484
807
125
153
782
635
295
185
424
806
902
619
346
292
61
298
170
856
207
145
464
739
67
770
537
608
519
248
75
341
441
667
658
743
237
145
898
776
895
864
233
656
458
3
579
556
848
302
279
701
76
476
517
300
979
592
472
804
297
315
100
275
650
676
167
109
648
418
574
615
205
183
292
942
87
12
982
866
444
309
204
661
939
574
549
258
73
543
325
938
100
541
14
689
883
140
855
633
623
230
88
948
105
564
348
877
488
276
243
121
629
985
711
64
874
900
898
186
455
580
281
445
431
194
314
947
651
666
735
809
259
764
915
59
834
108
964
474
517
83
310
737
892
851
382
800
727
601
847
503
298
970
111
346
312
296
728
307
166
261
261
275
497
545
14
358
757
974
771
555
432
980
17
493
633
286
245
98
907
856
899
187
958
733
236
912
256
755
36
259
372
559
52
479
918
548
381
201
960
744
631
282
794
259
722
298
121
892
73
164
898
208
466
737
775
193
992
994
217
388
382
542
528
558
861
565
421
504
510
205
131
356
581
949
415
782
543
268
164
60
152
334
744
681
74
186
512
146
517
914
301
45
135
672
574
995
427
973
516
52
523
685
685
4
476
817
795
314
228
180
545
272
998
834
308
533
158
328
387
864
123
463
189
854
876
549
241
491
846
556
347
402
810
15
744
104
884
230
94
321
336
794
983
910
960
49
280
17
505
657
622
11
803
22
47
346
40
44
730
892
431
282
378
247
877
593
506
334
524
786
9
693
791
347
991
905
305
374
392
612
713
222
167
339
566
106
379
633
78
101
119
250
487
57
183
78
474
23
900
494
686
601
607
475
207
334
839
294
617
715
8
192
81
225
877
380
157
187
245
192
936
297
113
17
424
274
419
175
783
44
254
602
556
809
228
970
338
116
124
831
703
856
381
751
644
879
569
544
431
482
807
528
548
891
665
372
889
148
874
200
810
755
339
6
383
889
572
646
146
137
208
639
784
131
44
540
831
205
714
780
549
364
173
645
307
556
730
880
963
389
900
383
35
195
492
686
187
204
83
632
415
769
607
45
845
427
327
464
520
558
783
854
257
261
119
480
835
471
847
874
51
165
232
647
575
78
154
608
190
313
624
235
126
335
936
367
165
102
857
289
230
246
646
366
768
333
107
809
92
215
160
210
229
190
318
210
509
561
529
715
438
64
748
264
134
295
949
917
557
936
370
159
798
259
923
719
589
309
210
187
43
933
803
466
278
724
746
450
562
665
703
682
918
978
584
35
112
108
911
66
816
840
306
425
378
689
689
350
2
962
526
217
380
142
833
698
509
97
861
134
291
473
116
802
864
768
559
550
906
194
948
813
454
736
632
265
403
503
757
866
192
754
199
334
751
144
994
467
395
375
683
574
900
46
46
879
729
418
541
37
549
937
221
369
337
533
491
926
580
121
813
852
955
414
911
551
817
494
377
648
151
331
245
508
823
903
760
983
438
488
853
855
386
472
391
716
563
151
365
888
230
778
317
130
758
744
152
345
192
960
472
617
950
980
636
179
142
478
773
425
788
958
25
127
734
36
189
661
390
150
260
753
630
557
922
116
472
737
967
662
732
722
684
44
769
909
800
431
825
830
125
913
33
924
426
146
219
227
333
108
226
655
51
207
962
543
264
133
641
58
25
185
81
44
111
804
275
548
781
133
229
55
982
133
92
833
55
234
631
81
695
347
257
53
922
944
771
795
944
294
405
597
207
350
877
374
316
241
15
379
518
489
918
23
821
885
174
481
510
421
814
135
621
737
458
359
340
351
733
58
857
771
80
735
119
131
216
398
147
841
180
673
658
779
883
258
430
773
683
374
156
776
356
466
524
203
357
153
57
8
872
361
491
305
346
612
504
776
570
13
574
433
582
935
580
221
313
720
141
899
755
868
686
751
16
994
862
522
214
112
637
427
146
51
936
415
501
920
825
263
434
695
476
812
320
871
351
772
528
552
273
279
871
462
362
94
158
66
499
628
343
490
496
958
828
133
711
948
534
363
151
683
686
862
463
226
513
820
145
787
566
579
355
68
234
380
903
849
828
889
72
983
892
57
380
152
948
892
143
509
670
912
895
985
173
468
682
467
397
467
904
488
18
413
358
968
216
112
56
44
983
702
240
743
463
501
234
150
228
116
541
220
864
218
442
668
629
411
194
363
495
906
59
767
295
453
648
642
822
937
795
917
647
31
192
182
765
556
500
621
176
950
137
361
423
712
172
712
697
181
16
527
553
311
347
548
367
143
630
408
374
578
275
94
317
445
834
124
404
2
789
817
774
415
87
6
487
829
292
983
938
699
944
317
266
222
440
313
627
856
668
812
353
640
610
747
288
70
638
899
703
22
628
544
755
486
76
171
362
185
686
949
194
266
864
361
367
995
303
877
766
844
314
736
964
748
13
543
916
534
848
17
53
833
578
348
35
759
453
58
839
186
348
808
315
662
59
841
863
102
550
173
727
730
445
612
992
165
568
353
952
12
349
225
841
89
476
422
68
11
936
967
179
765
434
334
94
126
190
778
500
855
686
434
890
667
47
671
508
317
876
351
998
668
701
323
417
790
573
891
702
83
573
506
227
559
855
601
231
309
686
905
579
602
223
214
603
770
493
501
122
480
731
519
380
778
251
793
156
733
919
1000
41
650
74
330
426
112
862
883
875
428
905
124
284
207
444
698
802
124
457
396
765
990
845
645
178
753
784
45
771
246
542
200
517
985
412
293
150
368
59
314
490
400
701
774
983
104
839
317
686
409
853
522
606
149
699
866
803
269
633
277
979
990
560
592
80
23
58
997
874
274
413
572
507
487
394
859
588
188
981
408
365
707
36
390
570
682
136
83
763
336
393
612
692
297
597
830
114
936
343
882
780
457
954
231
448
996
73
21
257
972
8
163
471
829
479
303
846
702
10
72
12
783
4
54
221
927
177
859
686
788
430
630
155
240
128
396
690
345
129
983
766
204
789
458
940
288
57
319
63
511
986
345
174
529
602
832
799
177
522
301
888
222
836
200
121
111
809
501
544
812
169
451
192
44
967
723
165
197
859
698
690
239
857
673
256
394
575
135
788
138
704
42
129
557
43
496
618
631
343
190
87
354
380
537
861
932
805
266
766
529
963
606
691
272
600
121
823
985
354
654
951
805
426
695
578
424
167
183
598
741
796
876
903
473
178
644
540
460
281
652
806
864
272
920
636
579
224
722
392
419
64
173
741
324
960
150
371
955
539
387
714
360
983
671
282
328
374
148
432
2
762
638
954
141
284
647
466
229
375
800
502
839
686
303
724
808
548
290
545
663
845
684
163
310
223
285
875
885
897
760
769
571
532
641
678
994
507
986
368
298
21
924
898
964
498
357
921
580
23
415
482
605
110
535
233
375
143
295
868
750
410
841
341
779
351
52
41
700
583
792
846
609
681
763
769
442
110
678
95
414
741
453
880
468
767
498
180
709
652
299
838
260
515
316
873
316
477
168
257
264
85
116
445
34
720
177
209
97
433
196
38
817
443
864
51
57
208
995
489
529
366
201
12
417
367
322
587
754
515
100
647
996
417
765
551
50
249
531
308
164
16
254
49
72
670
828
397
863
119
289
898
125
778
202
826
39
785
3
126
645
851
932
720
698
921
698
232
6
394
800
980
498
834
471
549
289
551
89
769
731
476
733
787
265
432
517
732
405
503
380
81
303
282
750
658
946
338
301
342
966
185
994
534
546
828
836
883
378
315
117
570
638
121
199
677
637
915
129
944
138
975
354
77
965
686
87
295
995
338
86
347
393
122
157
665
861
241
870
983
945
937
414
963
660
566
326
268
333
332
245
733
160
652
484
324
276
905
791
67
391
492
512
407
964
746
382
54
45
538
484
322
390
931
729
36
765
91
684
798
262
368
157
254
375
54
703
553
944
576
101
167
392
520
438
296
425
138
171
659
106
369
222
559
217
58
203
138
183
751
734
212
214
556
592
153
23
120
132
466
681
325
594
99
582
673
117
122
90
902
838
302
94
514
714
313
298
970
946
131
55
277
966
25
10
663
993
347
414
804
374
649
507
911
853
986
759
541
936
264
584
261
578
263
911
939
208
36
569
137
185
797
659
245
291
82
70
702
920
891
163
164
25
8
847
953
185
254
954
957
408
581
389
985
661
778
366
344
623
819
225
504
757
746
96
439
162
665
240
600
75
950
197
306
992
156
764
522
529
79
847
502
983
240
407
919
970
151
979
11
514
288
917
477
231
232
397
313
640
196
841
920
407
972
754
260
491
913
351
605
577
747
910
760
724
218
719
714
909
667
390
506
658
853
403
301
301
814
737
564
843
873
123
129
288
886
457
881
552
193
733
748
64
457
100
74
750
716
355
572
971
734
329
294
148
27
264
105
384
968
401
102
205
273
782
643
867
513
70
176
886
438
71
759
492
534
29
57
388
748
836
475
454
599
907
208
49
654
156
470
409
35
436
179
664
214
884
663
30
581
622
771
311
602
380
751
520
844
590
390
171
111
15
453
240
665
756
622
663
954
316
214
264
173
564
917
111
24
122
205
85
636
269
168
826
459
909
4
434
946
98
270
882
913
417
154
167
124
422
219
685
346
741
814
335
74
457
224
502
355
953
714
358
869
757
276
354
495
413
845
608
770
252
872
539
545
219
279
671
984
220
78
753
995
786
655
178
580
14
412
491
213
641
551
277
962
909
511
157
237
801
984
380
223
78
673
965
330
513
713
358
737
843
291
935
649
463
358
507
166
513
362
741
948
377
271
748
544
466
459
786
462
451
49
528
852
741
437
135
989
979
963
896
264
367
587
498
425
122
111
43
897
668
958
901
661
419
923
55
360
543
858
266
461
620
123
54
604
692
491
673
893
619
620
824
408
986
465
168
981
30
632
603
972
645
701
724
123
998
897
970
976
981
9
450
289
391
817
736
110
554
951
481
987
379
562
296
38
712
785
657
262
864
822
153
922
985
974
796
809
895
343
966
557
729
223
661
761
3
160
164
993
435
839
74
167
481
456
519
903
194
732
702
749
42
22
725
204
377
604
166
450
872
92
287
666
190
693
712
175
797
418
415
551
639
948
820
109
320
89
574
669
654
911
370
650
615
442
955
569
457
526
457
828
158
255
270
502
743
33
152
156
901
288
782
220
339
321
939
420
208
902
258
260
252
137
845
928
11
94
171
810
324
74
12
988
72
691
131
592
715
78
336
690
319
511
461
953
167
910
972
120
833
490
909
943
359
7
738
359
417
85
490
196
356
872
479
941
616
761
662
378
814
94
370
893
691
875
858
483
484
147
93
145
567
152
339
930
350
526
155
147
952
655
335
796
967
196
517
827
914
169
479
308
957
646
851
779
9
24
746
778
541
514
719
613
998
98
747
361
618
738
464
668
168
201
966
343
256
549
270
127
675
976
210
376
959
681
581
665
528
261
625
319
620
43
68
759
714
808
587
790
909
80
470
857
250
82
448
863
782
41
896
91
167
354
306
614
421
593
922
471
764
998
261
858
145
410
139
261
169
840
576
226
423
280
1
124
822
615
820
663
381
602
141
525
349
515
821
215
245
19
422
393
843
729
309
618
676
976
821
571
531
709
406
494
81
743
966
411
229
671
223
221
966
486
903
37
530
865
581
440
577
369
593
93
559
892
679
844
56
250
581
624
746
155
533
544
967
471
275
797
594
816
987
228
42
200
634
136
796
823
405
631
311
520
116
991
123
209
477
663
87
47
499
147
152
700
669
853
214
729
289
358
16
502
96
85
16
732
47
767
426
311
907
415
844
405
430
160
167
62
126
683
90
341
373
983
960
843
755
759
470
49
519
88
758
867
140
939
691
851
491
984
533
461
413
124
492
925
957
660
6
966
448
60
462
705
512
966
427
239
817
468
304
643
35
181
952
610
592
538
656
699
255
91
789
815
719
508
881
655
197
962
781
175
714
93
624
690
934
187
355
353
324
81
769
362
71
472
919
80
580
495
862
63
866
702
706
724
137
119
420
721
787
179
367
464
610
55
698
558
743
221
305
427
37
766
291
253
744
285
917
112
344
315
556
689
968
578
60
94
698
981
121
608
874
433
99
691
381
665
933
131
434
60
480
691
508
905
879
417
209
526
32
860
868
894
936
926
470
513
433
338
849
557
699
212
311
349
78
551
968
440
42
236
942
924
395
971
725
359
100
65
748
393
356
146
864
511
777
54
816
620
505
672
94
362
767
20
772
236
517
58
541
835
965
980
247
745
96
753
290
35
696
549
940
706
134
836
995
352
300
1000
424
107
403
965
227
748
558
209
376
419
821
548
477
157
838
694
243
886
163
697
96
480
373
5
273
447
258
147
692
267
346
929
51
171
907
587
312
144
653
239
69
459
885
210
686
389
29
902
646
204
688
310
204
845
533
108
203
129
232
256
143
560
611
80
243
899
444
575
847
226
581
465
35
868
985
420
527
580
79
138
819
345
290
547
372
580
172
81
547
819
181
736
457
370
431
36
823
835
311
695
727
626
797
447
299
836
774
538
511
780
423
270
430
580
472
96
536
318
447
350
667
778
166
681
25
536
279
76
748
668
745
286
348
31
187
905
571
836
523
897
616
103
767
430
900
348
88
429
393
234
749
526
807
893
837
537
635
359
886
270
514
569
748
997
780
409
457
219
427
271
940
906
214
741
332
868
948
538
39
32
42
228
825
772
871
93
27
588
265
329
116
806
785
226
364
644
586
103
748
442
816
257
869
546
420
859
34
866
592
418
764
617
659
128
206
793
580
13
970
72
981
848
548
369
964
761
180
965
280
310
234
19
279
645
456
346
789
617
201
57
4
155
88
723
253
757
62
147
976
933
331
527
233
745
909
63
855
620
524
550
580
746
958
42
694
859
641
795
203
867
523
222
126
76
122
226
812
978
779
647
53
765
699
537
129
708
216
373
675
33
939
579
60
274
127
324
459
355
935
670
366
142
213
295
480
567
805
237
958
188
300
591
615
586
383
65
627
252
448
839
149
916
762
482
49
43
36
659
128
250
793
361
437
826
621
122
571
556
857
446
573
895
909
745
411
539
171
379
652
903
110
892
60
321
613
892
765
181
538
5
940
590
962
735
214
341
620
699
410
435
6
321
518
222
708
406
653
637
351
915
223
425
5
592
292
174
767
542
675
730
804
677
135
710
429
701
328
743
1
444
640
325
403
583
732
281
698
992
476
120
510
327
732
389
256
140
264
115
32
974
323
605
235
634
998
22
948
580
802
476
387
906
901
558
132
285
845
796
120
650
990
186
784
616
103
975
828
224
553
355
409
585
444
565
613
631
240
390
174
478
667
843
318
241
374
182
183
565
486
741
538
156
50
370
616
979
909
53
878
197
535
883
921
913
873
677
945
837
43
207
764
877
702
928
190
365
298
163
877
744
208
246
340
711
220
786
165
691
87
137
773
588
376
613
348
851
34
808
763
317
821
938
342
459
713
831
162
11
364
893
442
823
520
696
871
845
543
63
406
848
689
151
150
869
980
710
175
517
986
677
635
58
973
907
326
133
346
469
343
761
26
577
326
1
754
783
272
860
903
581
805
793
145
656
25
897
267
288
661
265
477
623
906
921
685
756
62
986
41
124
168
415
562
922
890
265
649
699
273
366
860
722
202
974
565
717
234
751
909
267
659
416
142
802
807
928
144
260
406
63
921
36
265
107
345
600
116
86
403
549
462
414
473
254
412
105
35
747
876
234
520
452
660
114
447
801
203
101
814
577
293
304
418
135
244
213
805
262
334
949
19
675
660
30
72
287
367
608
203
820
8
295
344
906
656
123
923
719
443
462
959
699
406
692
685
826
258
839
714
890
769
676
13
290
204
780
172
872
677
133
518
954
562
507
931
675
266
307
102
837
642
437
641
861
66
107
712
108
526
309
582
265
351
985
704
804
853
776
105
352
161
979
711
356
15
770
211
996
752
723
356
388
39
936
416
299
767
410
749
368
801
161
912
24
714
577
243
128
688
612
883
81
470
921
917
960
724
182
585
318
630
924
905
580
243
726
395
493
95
705
949
416
54
529
354
540
743
163
420
360
85
497
111
509
188
894
738
128
760
887
281
756
273
315
757
314
578
963
945
487
926
666
406
400
527
140
188
877
217
883
717
638
763
647
453
443
192
534
770
258
52
403
869
942
200
381
327
600
175
881
1
847
795
336
823
787
313
860
907
350
453
642
200
238
188
580
26
267
83
30
796
936
305
462
895
210
341
725
567
39
621
725
976
855
269
807
783
301
308
413
201
512
213
176
535
857
229
681
167
272
832
925
128
95
463
955
77
62
267
292
799
36
127
418
230
665
374
654
962
499
381
895
468
604
813
412
18
41
238
859
28
653
107
899
8
800
602
307
60
542
512
4
436
370
639
406
314
346
589
26
716
400
62
123
492
921
118
526
124
607
127
510
279
172
185
635
723
174
269
610
35
886
257
382
261
557
461
948
973
859
813
443
893
144
535
466
982
393
892
337
588
257
311
447
649
870
754
940
13
572
383
769
355
72
790
68
623
780
233
377
390
609
213
916
523
497
34
604
602
768
960
388
181
622
242
874
581
24
238
128
58
599
837
69
610
974
185
361
910
187
579
77
824
255
239
169
427
154
967
925
644
955
977
845
14
541
304
719
858
860
438
306
60
115
679
338
654
427
679
901
303
614
420
264
72
421
617
437
970
957
956
626
162
698
129
934
270
643
899
426
151
590
885
286
735
795
518
537
965
209
143
181
779
628
114
474
721
601
639
767
541
804
858
924
340
338
266
442
935
239
475
399
194
253
647
201
50
303
982
162
343
742
519
772
945
478
297
839
621
213
931
362
620
232
601
721
268
894
253
823
84
997
42
897
525
530
612
394
205
359
689
108
109
271
985
253
640
854
883
162
563
954
564
481
409
570
784
480
90
836
99
554
668
201
167
146
189
357
679
591
110
688
800
839
798
202
434
726
249
335
564
460
32
233
505
428
100
20
226
755
880
125
539
678
250
192
635
715
422
674
388
464
506
488
518
7
97
420
446
567
83
357
115
721
237
121
664
108
915
538
953
130
293
504
843
197
525
244
448
528
723
805
838
553
53
49
413
866
54
361
392
339
478
424
571
85
143
707
395
634
432
749
130
786
972
140
67
687
177
968
175
34
693
350
134
152
958
842
268
258
780
613
767
243
817
810
428
231
971
886
748
547
896
101
585
452
209
416
453
899
500
869
328
890
877
877
971
752
551
741
105
930
189
56
800
195
706
75
107
175
990
419
543
318
115
351
155
139
711
538
480
778
581
972
647
372
115
710
484
507
963
172
75
958
357
908
146
303
78
771
477
783
281
323
441
789
207
827
321
243
18
875
658
568
373
273
689
905
480
134
448
481
352
936
518
693
574
543
844
587
382
112
732
386
673
988
67
751
758
125
899
988
938
178
896
978
861
848
935
720
397
281
1
169
422
530
334
16
656
436
367
109
549
265
303
950
237
484
316
734
479
338
357
49
959
230
986
30
971
455
274
477
77
945
161
234
146
77
139
717
522
848
913
902
797
680
415
773
1000
355
9
321
90
593
200
286
90
650
292
233
845
430
149
477
838
909
851
236
509
157
796
844
884
16
56
365
138
417
321
800
898
993
402
87
993
874
954
143
189
898
546
426
254
137
874
235
707
798
385
112
893
968
980
990
186
658
672
93
802
907
122
706
382
561
298
722
212
520
160
420
360
905
729
344
707
805
453
86
313
669
334
161
331
283
602
667
464
779
557
346
409
983
30
617
310
20
478
8
579
237
463
207
866
806
98
959
512
905
643
914
943
477
847
480
201
870
17
884
214
919
520
342
988
246
250
417
915
561
527
407
179
44
175
125
97
551
842
822
204
317
108
325
809
456
8
69
17
576
867
860
734
126
430
936
414
209
652
607
342
439
633
493
39
984
34
631
116
555
81
264
332
26
880
366
471
508
305
575
603
878
779
138
6
342
176
202
128
180
345
243
90
968
300
440
595
686
358
619
541
573
497
240
228
317
643
919
215
794
369
428
187
484
492
278
998
306
172
45
768
824
401
504
879
569
325
335
622
209
802
939
204
870
914
960
155
854
792
746
839
351
939
478
403
711
413
290
112
358
935
162
863
844
139
535
309
851
681
529
309
900
372
880
164
471
920
982
943
929
134
529
123
68
905
584
365
998
884
809
791
348
489
529
969
712
887
236
305
673
33
59
778
145
452
133
168
475
216
396
699
342
976
804
456
636
216
73
636
549
274
855
790
750
126
707
505
800
129
54
415
569
501
448
48
342
61
821
124
747
799
120
727
311
41
368
404
39
921
406
804
310
899
379
88
352
65
672
332
604
514
119
640
493
395
226
424
763
642
534
122
960
735
317
233
799
213
669
135
811
87
838
732
968
858
100
73
496
159
400
241
14
778
162
668
415
400
921
631
30
26
363
259
889
555
135
640
311
648
607
916
727
374
619
754
723
783
20
173
913
11
338
944
229
203
876
465
467
769
242
338
831
962
496
572
847
515
606
973
347
580
757
743
976
9
557
997
985
523
813
988
745
814
327
392
546
663
23
435
209
969
352
551
756
974
73
993
623
901
526
828
390
677
89
53
298
836
943
267
852
468
963
239
63
348
964
952
52
660
177
501
404
250
279
964
702
706
317
830
808
913
480
211
274
85
184
641
952
630
837
222
159
295
748
563
544
420
457
301
522
950
11
561
9
168
303
469
605
971
163
129
433
846
921
712
978
480
577
437
681
742
82
708
902
798
119
351
308
618
775
143
700
962
596
158
387
150
567
268
610
280
591
111
357
342
451
508
841
747
228
76
82
607
673
41
705
425
338
929
660
947
689
315
916
923
461
168
539
156
705
261
404
194
915
891
293
338
550
25
647
282
244
210
664
273
90
878
190
207
46
464
645
778
884
75
706
681
421
263
128
107
846
60
788
561
734
817
668
177
559
948
382
538
374
728
468
448
449
491
957
956
35
98
249
525
29
48
734
394
620
456
927
597
171
646
385
702
320
570
499
392
174
136
102
516
820
104
220
562
944
244
911
179
44
737
361
249
949
570
189
223
228
108
822
204
600
886
970
329
364
716
523
188
354
325
130
706
690
340
156
55
858
879
446
798
386
208
576
475
306
649
225
453
130
927
828
334
485
812
498
135
246
603
545
718
384
195
820
51
930
950
235
641
564
305
3
307
509
810
180
22
207
631
626
246
648
30
783
571
782
106
466
999
553
529
678
148
874
875
156
905
315
215
842
628
551
850
535
192
890
924
707
461
338
976
738
917
563
265
782
130
628
957
128
655
41
599
650
746
228
685
307
717
325
918
721
204
490
216
611
463
723
344
238
286
164
884
914
46
304
375
65
558
699
442
5
302
318
639
131
486
778
874
230
246
16
17
461
261
542
523
365
214
99
29
709
132
506
131
676
875
763
233
302
780
696
611
343
274
112
649
270
9
538
495
781
518
451
78
865
927
257
15
818
10
611
881
832
560
586
311
73
185
861
540
660
428
230
587
624
805
901
466
773
477
1000
877
889
153
965
25
319
98
696
886
300
968
264
374
551
21
251
961
693
616
628
629
322
891
773
431
189
437
206
355
742
811
717
151
522
253
267
368
999
851
499
319
987
765
874
932
445
43
302
153
542
721
458
631
794
341
248
842
900
362
191
626
739
483
385
449
484
422
645
700
784
840
470
714
160
98
421
145
898
213
243
492
820
3
564
281
785
980
626
822
466
123
564
822
111
384
456
449
761
23
776
857
268
378
64
919
442
51
745
711
651
328
216
902
417
297
78
932
882
465
812
429
770
896
194
193
271
101
954
783
829
154
209
927
184
346
961
659
621
200
918
184
316
435
221
136
900
759
831
968
643
237
537
587
984
712
499
441
301
220
862
449
305
135
458
672
86
366
51
849
537
108
240
339
770
80
534
97
62
671
547
285
819
641
875
695
454
991
708
59
557
484
119
552
932
504
498
838
420
634
548
755
1
843
926
423
811
822
835
550
716
923
333
27
443
670
244
774
934
715
330
470
417
875
613
777
733
31
742
923
87
865
518
779
897
784
311
601
60
502
722
604
438
680
839
542
296
342
974
490
21
974
827
615
586
357
148
419
221
135
739
497
804
87
468
25
487
25
805
565
634
981
278
714
934
953
572
238
731
435
403
181
920
307
270
850
131
333
499
629
150
654
450
917
86
84
548
44
802
464
201
510
509
509
635
582
529
295
771
576
613
73
842
325
771
960
388
411
601
821
274
473
902
169
259
926
484
196
776
627
771
39
560
899
143
937
851
112
452
214
248
41
886
653
585
692
836
662
57
401
764
843
579
551
631
209
565
632
209
426
566
63
35
487
60
27
784
523
251
445
751
32
353
245
918
555
908
192
905
750
771
340
624
812
261
391
936
54
232
654
596
916
291
326
368
243
535
803
951
584
878
675
336
856
934
503
505
353
39
557
262
944
481
589
495
625
157
622
374
61
499
738
897
202
225
769
160
716
570
192
499
77
530
908
163
342
789
401
435
533
665
70
478
841
180
921
791
615
547
676
193
205
153
744
276
204
641
692
884
44
927
639
666
163
672
223
707
455
997
815
556
113
190
906
222
743
358
68
465
100
228
546
238
383
4
939
582
560
513
104
324
41
567
637
521
370
776
547
466
801
467
616
541
92
682
720
939
899
682
270
495
362
588
747
526
281
332
293
14
525
856
451
57
321
14
947
430
324
630
97
868
630
279
380
477
94
169
901
541
859
816
706
79
599
113
158
457
535
661
794
407
390
474
845
515
348
317
979
22
377
53
413
437
874
407
910
602
449
835
146
948
914
821
935
657
159
390
844
872
607
652
856
269
324
452
405
93
704
859
963
351
387
364
139
753
758
22
662
732
471
208
966
386
831
217
826
290
39
594
40
166
609
286
982
563
130
405
646
872
207
882
626
656
316
177
682
825
688
314
261
227
381
266
799
187
649
944
283
445
489
378
173
243
561
884
446
171
147
926
770
848
626
93
398
767
958
219
854
533
836
867
948
201
950
567
247
494
413
194
847
788
880
317
542
694
544
997
724
251
146
74
75
12
238
906
395
579
212
936
298
289
743
220
38
578
332
785
986
313
62
437
866
480
946
279
631
921
823
234
459
387
652
736
689
507
426
852
404
53
649
933
424
613
195
35
672
901
368
521
119
526
45
471
79
346
194
535
499
443
662
641
970
85
73
740
713
102
841
526
732
379
632
167
876
652
100
513
294
480
764
234
836
680
813
212
193
245
175
502
741
368
243
678
900
519
528
893
424
144
982
909
302
190
578
899
274
632
578
194
314
360
592
189
746
889
720
341
295
283
466
23
433
813
354
561
114
194
8
94
156
15
489
249
53
479
58
905
399
756
564
69
901
171
903
15
111
44
384
163
652
546
284
250
885
810
836
797
572
46
584
793
318
16
306
475
878
105
805
967
371
699
70
951
323
859
71
6
618
814
269
472
239
340
430
454
262
94
212
505
902
657
198
668
407
46
911
385
961
297
487
769
879
435
99
658
951
587
797
154
862
362
523
967
915
852
351
471
23
133
153
501
478
783
642
529
417
932
860
803
696
213
756
133
546
509
629
890
126
299
601
708
448
663
767
802
457
472
840
51
459
775
768
161
592
150
594
931
462
180
749
408
836
847
747
598
662
739
672
628
713
82
899
340
105
16
324
561
566
760
299
345
539
420
332
180
541
255
87
575
478
274
49
923
9
5
444
77
462
644
244
976
384
964
429
573
802
226
943
206
794
629
696
429
684
894
931
284
531
863
745
549
322
310
861
187
76
983
815
122
925
437
434
465
677
496
972
426
249
574
522
488
574
237
750
237
654
685
917
59
462
208
564
469
595
968
782
782
309
677
654
201
696
767
621
56
415
651
68
153
295
499
15
147
1
96
943
118
522
868
256
518
562
440
522
986
177
840
628
205
199
825
554
627
341
185
979
240
138
232
429
951
687
127
191
510
21
342
302
364
689
6
527
524
569
862
566
952
644
162
164
118
243
116
913
906
252
282
715
368
386
836
184
710
774
107
220
732
11
998
381
263
629
257
992
115
899
582
221
373
835
918
967
376
495
363
600
950
879
344
224
531
225
244
877
258
869
240
55
829
430
635
389
728
101
739
557
575
599
632
643
667
167
770
556
786
278
146
211
444
753
139
244
759
736
293
981
142
187
847
563
843
208
370
184
215
367
979
106
899
316
742
54
202
253
939
99
58
948
810
364
402
819
520
713
94
220
292
800
315
21
321
921
901
758
912
957
609
118
731
763
979
32
706
467
915
116
471
885
493
210
411
194
45
37
547
902
774
503
528
122
183
792
630
30
188
767
568
487
672
61
436
22
743
532
995
467
369
718
806
16
851
221
10
217
876
742
815
186
534
870
558
245
30
510
798
155
996
620
519
309
965
324
522
100
989
26
252
643
117
853
471
680
961
705
616
742
460
466
213
39
489
126
703
382
111
509
597
421
151
442
53
712
707
223
530
271
952
90
232
279
582
538
433
337
25
657
135
912
45
975
370
814
129
809
844
245
564
133
624
138
294
727
401
60
798
329
46
140
106
501
541
73
381
214
254
783
596
290
253
925
810
884
93
875
853
801
752
126
184
435
597
171
791
348
370
744
203
273
888
118
363
177
906
207
874
430
825
103
525
306
274
196
432
627
71
21
552
981
486
960
656
113
810
926
150
544
67
441
744
150
392
341
428
948
32
962
2
926
929
893
879
425
253
866
299
716
980
389
784
971
959
576
12
920
474
282
873
578
359
966
952
622
764
677
386
6
542
255
703
595
127
893
660
754
931
58
149
858
263
635
33
356
832
950
384
674
213
568
611
998
991
218
20
845
366
31
592
603
889
86
881
363
509
115
871
257
731
766
381
935
317
478
700
456
212
27
715
269
255
637
542
974
86
192
300
824
422
496
769
906
506
625
798
939
38
754
208
641
889
268
688
791
899
305
20
619
631
208
782
457
648
202
717
394
226
509
193
352
731
470
518
459
614
458
121
104
514
569
469
861
280
280
766
271
961
540
29
96
803
439
362
94
972
360
373
703
241
230
48
792
917
622
792
159
60
13
334
802
915
145
695
399
656
621
91
169
925
430
60
284
620
920
30
947
827
704
135
454
363
973
135
523
274
79
474
173
43
514
930
151
256
710
555
57
969
124
860
288
110
65
510
290
512
31
876
404
723
933
650
816
591
869
897
305
16
996
272
327
788
644
744
568
557
764
56
100
167
707
255
220
75
185
587
413
796
423
119
148
369
521
211
828
678
871
751
273
343
635
884
700
872
300
507
127
991
307
724
709
367
216
939
64
573
147
539
405
693
180
294
47
498
689
439
278
666
495
669
753
987
545
502
65
413
756
861
308
689
442
897
640
515
229
452
354
99
639
530
180
341
344
784
823
669
579
737
583
333
89
144
503
906
336
998
442
95
649
806
208
656
499
270
997
151
363
377
647
209
573
706
851
66
216
691
105
215
64
900
735
98
106
301
624
707
158
604
196
737
687
367
237
909
978
84
381
188
98
793
265
593
818
108
605
755
380
995
118
333
953
873
254
927
844
895
848
154
539
639
978
50
904
996
869
767
807
1
890
710
956
593
17
268
5
233
992
460
516
363
402
91
821
486
874
392
965
689
325
578
527
246
375
595
828
47
753
859
41
388
954
780
400
861
72
126
907
849
963
240
901
888
544
7
789
937
164
716
738
685
126
228
879
611
50
460
367
780
126
759
40
227
232
568
72
372
300
785
666
359
338
649
761
641
675
488
781
533
773
442
820
841
896
151
162
838
538
839
898
815
539
922
648
159
515
646
383
592
409
729
775
720
8
764
191
779
960
669
891
363
470
590
667
557
984
90
355
227
206
684
13
538
338
343
27
423
988
993
796
889
805
859
86
548
601
770
910
684
910
71
91
442
40
671
584
266
356
121
902
758
63
141
987
502
681
412
58
858
190
6
700
998
269
73
335
841
59
195
348
875
770
65
879
911
959
812
199
993
460
910
431
112
870
27
666
250
969
710
468
153
217
981
447
281
25
503
375
304
863
555
105
739
297
488
191
307
237
986
757
726
747
149
180
323
390
245
422
925
179
666
354
491
31
742
678
518
46
511
754
175
856
852
743
53
207
91
401
198
450
822
194
474
481
592
162
299
12
161
672
725
817
859
337
403
633
875
414
645
4
195
300
251
246
787
297
237
420
142
707
233
35
228
545
669
597
478
789
11
868
875
426
758
116
100
246
467
10
426
612
47
138
434
374
978
375
806
927
492
168
241
717
218
48
344
209
309
927
699
15
571
17
724
418
616
926
659
60
855
546
722
121
817
647
528
677
796
599
275
258
213
446
148
270
536
246
327
584
685
754
459
397
810
795
5
180
391
759
865
159
363
793
641
699
212
178
655
255
221
11
894
397
739
797
301
443
727
728
449
530
367
107
48
803
956
841
609
926
427
756
121
478
108
900
103
789
220
785
535
858
913
704
386
917
567
962
440
433
970
172
338
663
873
713
868
147
377
490
959
417
444
758
603
48
320
116
995
254
781
119
667
719
459
538
525
537
379
31
290
789
593
471
926
552
185
230
730
790
168
651
280
575
241
543
161
360
781
374
224
90
760
175
306
517
72
484
663
355
851
554
354
854
960
383
398
666
372
438
900
291
801
910
321
879
897
193
890
838
167
595
233
766
995
536
18
787
601
984
133
811
319
978
534
574
83
941
199
883
252
162
280
120
436
24
10
193
234
256
791
553
426
197
755
648
912
300
984
562
639
520
466
68
730
517
795
902
98
355
328
260
990
762
597
362
925
129
170
42
529
630
506
934
978
944
325
704
152
648
188
764
179
138
42
663
162
970
454
465
438
739
561
238
833
357
790
478
147
833
738
301
964
198
762
96
715
192
2
561
153
932
90
120
762
545
691
550
295
193
3
994
762
846
167
650
860
216
967
682
203
911
95
640
747
11
318
457
207
388
830
476
228
989
132
899
134
534
569
968
228
102
78
880
578
785
170
315
381
733
462
110
635
896
139
161
176
317
517
93
631
934
11
729
818
822
370
824
949
361
95
460
367
333
504
862
882
14
200
200
759
368
352
288
495
865
234
659
78
143
602
375
626
55
2
752
181
61
151
336
784
639
394
53
477
141
264
346
61
322
624
7
561
387
246
83
97
755
914
788
673
366
607
427
83
62
129
180
314
855
303
153
741
675
95
913
840
115
600
516
756
509
64
425
808
577
914
445
870
370
828
67
278
522
348
320
166
171
399
696
845
437
443
795
169
428
390
981
951
521
810
752
93
91
293
622
794
235
322
318
131
667
198
396
556
136
913
155
409
535
903
954
309
719
449
892
683
785
407
411
876
726
644
265
261
588
85
193
968
616
853
366
155
41
201
464
319
930
870
943
72
872
130
330
923
629
634
517
579
216
725
353
881
86
898
652
203
506
872
455
215
255
631
245
227
760
880
866
498
749
526
836
865
931
490
474
900
839
55
674
226
309
315
293
421
663
182
637
595
434
172
425
410
49
171
990
391
411
449
868
712
931
642
80
621
347
747
340
931
135
274
316
747
701
63
739
728
107
325
667
961
732
385
203
117
392
836
126
158
781
656
361
11
311
148
204
498
472
631
884
569
819
347
861
391
195
695
155
472
840
595
748
831
459
172
697
811
900
184
392
717
244
337
337
191
293
240
198
527
187
663
685
86
901
649
553
685
973
484
486
943
542
622
206
993
673
763
171
484
242
845
538
762
931
347
490
982
840
608
30
926
361
789
801
417
933
19
215
230
486
599
493
453
299
495
819
842
339
173
462
616
355
314
680
544
843
243
459
997
123
362
922
533
593
539
28
330
832
744
538
794
916
442
129
676
168
104
960
578
730
901
225
530
477
353
704
715
674
710
709
745
327
635
28
981
693
524
864
247
858
296
982
8
511
339
952
370
751
817
834
562
611
524
194
222
549
721
575
376
220
293
818
633
940
336
624
888
954
548
17
422
280
110
263
792
851
190
682
24
334
605
613
439
622
169
190
337
79
676
747
249
405
762
337
407
214
548
372
86
35
132
803
502
188
126
798
549
448
491
275
148
412
564
384
174
749
936
474
433
790
935
383
111
93
700
6
17
174
706
849
879
856
772
523
145
881
622
859
449
938
454
158
786
305
420
761
672
135
630
503
778
114
787
679
539
130
39
502
77
345
537
509
376
481
298
399
611
347
3
180
153
720
331
707
989
569
489
409
471
147
326
572
733
102
871
233
121
481
425
678
472
679
721
623
797
46
691
40
964
947
420
706
571
989
412
899
698
82
471
356
364
857
98
711
296
207
85
859
95
346
117
652
298
399
809
456
834
351
940
335
552
967
933
108
79
239
579
17
679
656
638
411
284
390
447
467
95
117
444
439
154
21
728
766
948
409
856
61
867
857
473
453
494
359
181
173
317
333
164
480
106
248
849
19
862
511
136
410
493
168
394
287
416
499
366
492
229
896
830
104
138
790
23
574
857
533
230
600
209
42
271
249
141
238
272
740
919
838
93
990
328
906
844
243
513
817
882
692
445
25
651
771
766
692
712
412
633
98
446
804
772
172
336
273
647
780
636
285
957
520
327
883
706
421
647
555
160
465
286
93
491
492
369
400
749
668
589
786
800
149
660
725
313
908
718
811
213
1000
761
907
61
539
688
396
706
109
710
5
108
719
877
44
468
166
96
148
123
436
673
647
123
760
827
542
143
366
489
468
267
588
837
91
642
937
13
49
460
54
382
906
455
401
526
20
734
833
344
294
478
284
426
903
383
920
75
538
77
955
604
577
712
417
883
994
203
167
505
464
358
555
800
942
311
923
422
155
454
585
762
938
273
207
246
331
870
848
889
139
54
423
627
910
503
361
990
291
821
3
692
473
629
894
356
41
398
965
981
755
147
391
78
590
859
562
980
206
249
541
954
958
810
234
370
931
267
417
928
412
320
359
868
117
324
272
148
916
909
801
868
685
493
979
897
839
71
309
122
827
694
82
774
274
629
575
422
435
220
503
487
888
460
430
611
947
680
609
591
642
604
75
149
475
150
577
605
362
716
231
58
336
141
643
154
111
112
583
745
329
153
749
497
223
922
810
348
915
191
7
666
891
844
210
475
714
741
581
665
382
644
33
812
851
885
478
333
293
266
73
414
566
561
331
154
681
43
69
420
552
936
426
5
539
104
612
127
626
715
144
907
579
535
794
159
214
283
888
964
898
814
690
293
918
675
308
19
538
353
813
990
67
144
174
832
868
559
809
825
293
428
686
475
588
670
81
30
526
30
259
920
904
798
444
488
425
885
744
358
441
181
55
168
672
170
492
702
79
533
347
827
675
535
705
889
977
316
523
7
790
165
336
560
623
406
647
910
333
463
213
943
609
120
833
297
401
202
693
808
606
497
67
378
416
372
535
984
27
954
557
667
626
928
451
760
420
660
699
880
158
958
728
597
460
638
634
92
677
968
290
242
588
154
123
141
468
630
733
407
394
38
858
36
17
447
564
924
758
471
867
968
545
726
559
51
270
10
337
964
658
712
39
229
318
755
979
977
214
552
808
598
343
506
573
581
572
370
956
463
437
517
730
377
101
118
228
881
520
575
323
117
760
939
249
605
331
761
104
904
10
855
622
40
59
258
357
329
715
505
733
673
986
568
972
475
367
759
880
966
955
710
89
930
103
870
123
664
223
972
626
544
564
69
475
137
54
715
47
159
447
643
344
641
248
555
556
740
788
379
389
799
411
309
461
454
580
262
44
577
11
777
335
173
590
614
985
713
241
7
537
139
267
206
103
457
922
215
381
249
913
80
450
446
703
551
547
544
254
934
587
671
724
597
420
4
503
723
670
981
931
822
697
412
228
237
826
269
577
991
367
154
995
242
340
361
769
739
927
776
160
956
894
618
177
581
615
436
380
753
958
847
839
481
682
554
908
823
471
288
993
97
177
995
118
822
469
997
640
222
794
507
717
505
276
658
765
153
51
75
876
449
229
341
764
819
570
623
180
116
431
38
902
598
206
665
849
941
973
952
705
696
695
649
873
508
551
425
329
360
320
6
599
445
954
67
632
943
574
862
33
182
514
966
785
293
926
653
33
314
347
470
670
684
812
186
903
125
93
721
220
962
646
713
275
428
308
468
829
651
780
777
513
835
115
980
915
86
400
766
241
324
468
935
448
123
1000
167
948
626
335
643
549
258
657
232
427
396
830
262
951
770
751
897
41
423
664
357
701
618
358
362
747
744
674
335
276
842
180
417
204
610
865
917
909
934
738
4
119
428
892
373
193
997
910
746
832
166
612
905
11
95
935
420
381
557
175
586
46
794
876
878
648
498
129
246
560
337
86
270
287
736
110
87
423
70
613
240
533
14
124
875
901
27
80
979
816
108
821
75
847
149
428
824
157
520
112
867
474
400
939
205
740
700
740
151
888
717
804
957
104
893
423
974
865
267
170
761
587
206
190
450
885
911
652
629
632
637
837
564
177
122
32
661
920
597
73
215
464
505
621
455
498
497
698
236
115
667
310
329
575
387
974
760
526
153
540
432
167
220
710
13
285
868
779
479
285
385
848
759
262
633
626
174
173
491
84
835
428
636
4
72
868
361
174
430
929
22
27
64
933
793
139
20
696
899
105
279
914
965
891
254
465
934
496
392
911
540
297
287
463
113
567
414
14
321
143
856
387
771
33
402
556
792
633
508
977
132
23
988
489
276
777
902
700
449
302
32
36
882
732
300
652
284
824
853
73
186
532
291
179
273
315
982
9
798
880
452
448
349
967
590
320
389
157
399
208
221
899
377
220
74
609
736
495
498
665
193
120
94
789
19
723
248
522
222
744
36
936
902
850
874
947
484
892
428
234
998
884
374
485
473
964
913
8
906
38
327
822
784
596
701
948
977
324
683
732
272
61
305
913
966
151
298
963
823
94
699
41
36
765
269
297
896
158
149
751
189
460
366
643
557
275
588
252
160
399
877
889
422
373
589
458
637
60
867
300
725
71
807
603
801
513
292
25
212
456
998
988
161
117
74
239
7
929
188
491
651
540
583
736
517
76
940
608
651
419
326
861
284
207
863
442
55
95
47
197
997
163
629
953
161
695
648
766
281
345
694
103
407
716
603
335
862
274
148
306
464
686
328
318
365
920
359
686
674
789
621
242
586
102
653
393
615
957
278
200
600
740
617
847
213
395
823
181
565
380
287
52
818
803
905
321
706
588
962
906
235
90
290
853
106
333
21
977
91
956
236
265
929
359
727
756
865
439
47
286
727
678
825
904
434
378
499
363
509
2
505
128
611
961
146
176
2
621
645
764
515
888
946
312
13
101
212
90
217
331
347
407
520
371
274
623
916
883
309
173
684
845
194
725
276
402
698
4
118
625
424
451
663
934
967
847
384
758
103
533
529
796
986
881
303
129
312
662
204
595
437
829
673
4
245
63
330
792
51
929
362
214
732
894
192
731
583
790
111
703
935
155
874
653
581
386
961
416
495
290
363
882
462
439
382
218
913
257
515
76
75
158
32
812
875
482
892
976
189
347
947
918
792
58
628
556
265
655
35
933
949
3
271
502
790
910
251
816
659
407
739
660
988
803
203
278
884
426
772
958
469
821
321
196
144
253
991
429
318
242
357
383
8
855
179
612
698
449
705
645
294
281
685
842
816
823
385
367
542
33
839
284
100
11
268
809
587
337
605
311
44
157
150
504
473
212
506
971
501
123
850
747
453
658
662
794
504
353
415
145
445
6
118
151
274
538
950
630
625
835
412
675
761
798
556
794
925
313
606
799
913
300
112
530
593
583
215
48
512
798
724
819
369
744
995
206
550
601
895
995
675
285
579
830
709
548
5
731
139
166
472
567
340
872
841
184
254
85
794
868
340
557
371
483
482
524
186
965
750
293
269
650
765
714
331
98
786
341
623
869
178
60
842
645
963
832
886
557
496
130
991
297
584
746
983
786
423
848
54
977
762
629
691
930
266
144
769
556
12
727
267
233
89
409
230
943
824
254
221
56
624
417
312
563
720
50
108
81
315
517
544
302
734
149
617
43
611
993
825
184
665
553
772
698
547
390
903
200
965
168
86
956
379
793
496
423
156
899
736
683
437
779
725
816
791
917
199
380
105
967
598
911
191
781
610
993
865
155
587
945
944
900
414
548
144
468
322
176
488
311
704
200
777
745
54
967
136
874
337
503
406
895
208
434
202
248
166
230
926
727
124
313
502
302
757
608
27
911
45
590
311
253
807
602
257
549
523
244
498
820
796
298
781
906
806
899
336
786
397
662
766
300
532
936
424
52
481
898
781
377
85
636
611
492
436
76
928
216
729
541
901
304
774
853
96
674
559
717
804
277
869
802
938
905
751
521
854
526
572
681
740
886
94
612
569
293
249
57
820
307
823
591
218
899
497
176
717
950
822
179
552
836
178
176
254
513
143
739
369
884
192
225
192
864
796
474
604
615
779
920
83
391
172
733
333
588
235
739
603
54
210
595
679
520
279
468
124
935
816
623
728
248
833
189
465
399
190
276
110
638
438
109
946
869
628
536
115
218
51
550
483
48
102
691
633
828
831
686
791
194
773
798
383
551
399
855
702
493
809
310
868
385
595
405
518
157
750
948
974
666
279
883
627
476
701
393
569
644
947
402
486
243
717
465
57
806
707
695
95
895
688
297
921
951
44
203
198
579
89
85
861
841
557
997
853
223
184
99
872
234
347
292
559
684
50
510
688
584
421
558
7
587
841
944
952
38
812
269
438
510
427
840
408
654
973
51
399
192
347
844
239
375
351
820
361
823
730
475
453
803
287
404
212
375
200
847
901
244
989
139
689
885
615
386
476
858
499
69
102
448
521
847
930
894
170
224
894
426
568
837
148
268
493
668
695
619
355
680
749
197
142
238
153
870
353
329
156
354
240
703
768
806
723
479
658
719
35
455
345
229
289
359
994
503
450
567
316
657
290
215
425
981
830
356
629
784
538
180
621
208
925
263
209
743
517
849
556
959
585
108
763
556
363
908
503
259
289
219
115
503
372
794
336
274
739
1000
303
14
972
347
119
890
533
711
935
996
605
403
857
7
680
430
126
525
333
994
470
726
969
724
53
927
613
670
15
456
853
536
547
615
185
358
323
250
350
211
622
707
352
991
130
950
457
947
674
796
938
78
763
884
851
995
178
478
443
471
987
258
890
639
988
704
838
269
74
837
47
873
520
460
182
416
272
800
601
751
869
413
485
799
22
191
24
719
220
10
764
845
618
981
490
366
976
342
830
463
288
426
858
700
830
26
689
852
78
189
31
45
671
797
584
455
873
644
79
758
730
803
593
859
792
45
472
821
728
905
925
401
981
51
760
163
304
147
385
260
159
846
160
744
282
495
655
252
232
919
107
593
934
484
970
569
120
134
422
295
132
683
779
828
171
921
843
466
352
372
522
487
361
776
558
527
611
393
472
160
881
721
721
596
353
871
397
112
856
386
184
733
26
124
318
301
106
622
235
461
77
694
833
644
606
809
827
457
842
271
396
733
45
180
82
192
549
603
117
982
930
683
259
138
589
688
660
421
624
383
467
630
222
476
247
271
587
946
856
984
590
811
799
345
2
378
323
444
97
131
392
3
180
11
792
278
730
920
469
783
416
994
217
605
187
773
852
193
497
820
893
808
221
483
13
366
305
171
403
115
692
531
902
341
45
180
659
101
162
443
455
592
767
28
527
679
997
674
470
472
79
766
703
691
578
865
730
12
747
923
569
540
280
837
946
587
755
505
760
988
349
238
800
25
988
628
658
32
113
893
433
590
900
410
389
336
9
743
21
114
890
863
737
403
767
172
674
309
863
101
247
391
133
215
762
164
172
83
763
359
841
220
194
599
558
552
53
253
123
574
835
526
375
757
341
311
246
961
480
44
91
904
395
244
927
838
461
750
557
338
826
529
850
778
650
887
221
97
889
505
370
697
582
752
532
953
727
316
810
72
284
648
28
266
222
360
555
637
620
301
785
621
769
648
409
960
153
957
85
307
541
443
850
807
696
867
824
857
501
27
96
799
245
141
503
515
480
335
773
711
655
715
512
299
631
818
304
758
597
849
147
738
107
826
490
47
748
914
317
77
736
698
830
146
20
610
983
443
510
413
432
778
39
191
975
476
466
172
859
245
608
550
147
335
812
238
961
488
599
438
996
300
11
633
212
144
125
630
257
168
526
294
447
23
225
209
159
552
614
319
687
5
426
668
534
531
922
198
677
391
422
299
987
826
353
339
676
232
505
237
229
170
824
500
461
91
309
865
854
40
852
329
436
602
776
508
827
24
78
458
655
125
38
463
541
437
320
840
826
724
808
540
281
726
727
77
174
214
308
506
133
891
345
812
228
528
367
836
975
264
779
63
634
882
734
334
146
693
778
220
692
561
747
74
89
828
726
784
446
159
561
348
667
397
795
205
55
185
710
856
563
567
378
470
432
747
593
438
471
175
989
795
15
541
407
971
647
481
435
341
200
537
648
186
662
339
94
595
831
914
337
549
917
9
551
758
269
211
858
973
976
720
561
541
363
43
52
730
638
97
342
149
310
44
747
760
523
862
317
738
937
414
807
3
508
469
478
522
223
381
932
299
448
581
926
283
508
201
815
422
604
967
762
186
593
45
214
667
380
325
700
348
856
63
106
82
662
434
17
229
182
207
986
75
311
488
309
545
901
285
721
711
329
72
63
924
563
64
179
766
259
399
642
674
631
714
192
820
81
531
441
224
800
940
164
144
580
180
462
316
84
840
665
562
530
922
764
199
258
156
612
440
848
276
234
106
971
559
518
191
104
529
627
959
949
883
49
610
757
794
635
268
739
628
200
153
875
731
868
433
481
419
924
819
470
447
129
975
903
187
566
134
351
435
565
385
25
364
568
474
379
457
498
364
249
840
724
163
19
52
423
159
120
829
60
469
630
534
399
503
948
565
964
568
280
522
235
267
988
770
770
649
172
844
214
299
762
4
227
854
352
351
825
941
501
805
581
690
396
563
484
367
920
946
537
854
819
550
352
249
380
865
618
16
482
907
343
273
51
894
999
600
469
363
10
383
609
785
744
724
237
476
397
442
810
601
250
726
409
625
137
685
566
20
701
9
559
263
484
674
127
127
600
860
409
690
237
39
137
926
39
361
948
773
913
540
453
748
572
92
127
606
937
835
562
913
244
307
708
862
813
921
878
140
729
297
374
783
663
63
359
425
452
448
853
827
460
431
754
509
891
8
645
942
991
439
634
974
134
305
146
184
697
187
304
359
161
258
385
137
57
753
757
725
551
452
42
52
289
972
941
69
819
831
854
118
186
949
657
715
326
251
966
276
692
974
391
255
964
383
875
84
157
283
263
617
55
149
130
27
969
482
308
791
810
303
940
844
95
264
743
898
299
867
856
430
531
40
350
303
993
533
915
47
628
290
51
952
498
338
873
161
270
373
475
629
294
373
946
107
369
518
603
138
954
189
24
822
957
885
559
297
435
603
773
781
686
981
693
198
718
13
48
250
965
524
560
914
33
35
52
967
764
134
470
617
992
841
893
847
179
240
144
20
868
753
459
616
484
717
541
439
322
568
549
11
457
313
956
837
222
606
464
322
741
706
200
670
939
251
28
776
757
466
327
250
507
647
379
733
370
130
62
259
10
354
342
440
835
511
280
126
497
130
794
629
162
33
427
70
727
79
386
563
45
917
732
868
515
735
786
840
248
1000
425
922
872
776
613
152
744
630
737
774
4
180
79
629
541
587
155
21
863
978
971
467
649
528
117
96
376
655
705
553
953
5
881
594
773
332
536
185
36
469
870
140
676
222
145
614
861
311
269
587
547
30
36
666
461
289
649
552
762
412
279
691
384
536
985
380
138
462
218
586
317
423
389
530
21
869
33
240
536
16
532
414
63
664
747
800
124
775
870
815
339
137
896
42
500
663
955
989
546
840
681
890
428
541
980
471
920
631
211
14
118
932
674
771
928
392
37
842
531
697
205
655
394
403
956
551
955
46
739
900
369
26
994
743
189
671
134
805
738
945
165
127
630
808
710
747
430
277
11
194
605
601
668
664
55
49
929
259
481
949
968
125
365
310
205
116
142
575
451
806
513
632
397
452
264
340
802
582
439
619
316
225
279
806
793
238
729
571
608
455
322
1000
418
169
88
437
810
69
830
580
618
774
502
213
271
553
170
854
219
164
947
481
614
736
208
620
560
318
724
901
157
184
748
71
240
900
579
221
136
281
611
905
114
584
112
945
933
253
838
443
518
67
680
562
788
660
414
847
219
19
27
86
144
676
553
796
638
147
555
76
981
79
796
799
834
763
892
25
497
625
9
644
435
180
97
961
876
16
250
740
568
309
78
205
668
210
368
400
55
267
29
428
853
815
444
776
594
849
155
778
252
822
875
796
318
876
56
533
424
30
210
296
650
276
951
359
788
152
455
29
57
843
296
184
855
223
389
994
10
441
158
873
633
178
192
382
523
904
296
84
591
162
356
704
991
787
221
756
31
34
203
550
351
735
451
407
903
844
842
263
316
572
61
888
232
262
431
262
416
865
833
572
530
867
624
407
636
966
903
954
127
464
28
217
186
924
357
658
2
68
898
281
989
388
942
872
316
120
661
995
835
770
949
315
294
540
534
641
729
291
86
950
215
84
35
883
675
211
773
372
247
857
88
510
217
47
487
977
578
648
855
402
164
951
364
914
448
987
518
144
471
425
992
587
464
286
433
75
828
837
77
46
581
318
296
123
463
241
138
767
345
628
746
595
419
57
885
638
121
366
796
350
822
155
229
537
9
467
945
702
84
235
750
713
955
55
562
864
173
223
891
56
726
645
943
182
234
105
817
211
299
156
810
407
969
642
577
722
116
284
204
897
218
17
267
870
868
235
733
268
773
169
979
327
99
346
748
405
820
180
27
140
234
761
424
261
488
520
544
223
849
226
223
546
36
743
857
874
816
451
562
570
237
764
188
607
431
201
659
894
554
250
627
664
181
591
414
226
410
443
102
698
410
285
408
655
796
665
511
42
915
980
9
185
944
42
882
529
424
236
350
723
614
976
211
83
840
557
637
414
782
901
903
75
100
728
879
648
701
854
190
974
90
148
215
367
230
191
292
439
225
631
96
796
17
671
475
357
46
881
590
747
545
318
568
382
695
130
222
470
653
828
520
548
859
560
172
737
222
727
477
311
983
16
995
5
812
618
363
859
343
15
161
789
406
481
833
881
681
149
294
199
251
201
900
351
869
388
405
226
53
298
975
347
623
820
322
42
323
424
353
418
918
126
447
828
556
386
479
243
435
548
862
146
59
75
346
744
96
876
784
290
439
161
338
447
784
546
656
414
851
263
863
897
306
741
584
804
194
791
805
433
865
157
52
100
681
730
51
42
858
680
799
522
955
646
973
731
504
93
464
573
76
702
712
660
324
763
3
550
803
552
856
102
556
908
600
118
610
232
724
667
20
521
205
610
967
604
305
17
392
181
29
36
636
296
609
68
160
985
384
181
568
214
648
151
911
827
664
682
668
233
112
503
9
402
385
427
844
370
810
841
167
85
279
33
764
144
668
42
357
783
216
792
448
629
541
232
373
491
832
630
125
2
305
726
426
569
544
845
984
928
850
417
879
93
982
260
248
326
650
621
997
534
221
396
605
728
450
210
252
946
487
106
706
906
783
884
319
702
882
408
350
618
504
438
974
877
499
467
97
32
14
444
730
929
789
133
217
763
481
750
660
254
600
459
256
555
860
784
873
683
506
365
52
133
826
820
754
689
299
526
891
232
176
571
104
143
755
976
852
771
972
143
337
803
750
605
526
668
977
559
247
536
295
615
815
318
512
540
912
850
72
356
852
413
691
975
254
641
962
723
463
344
173
641
495
144
630
627
491
918
150
96
959
152
100
663
746
361
229
452
946
434
413
226
41
194
572
324
38
968
39
221
403
537
334
559
231
829
502
854
558
628
875
819
49
20
400
49
433
417
161
131
410
722
88
952
138
324
813
515
792
89
34
800
526
537
432
320
48
371
528
514
486
49
761
350
532
792
895
489
444
29
139
540
787
866
807
961
994
701
878
340
42
78
772
78
383
351
818
734
178
818
638
774
141
914
788
495
720
419
124
307
79
283
148
4
612
793
633
333
927
338
605
783
707
274
285
472
866
65
211
376
234
401
365
33
345
260
614
469
85
689
668
256
311
882
932
785
198
138
883
523
809
654
885
177
506
897
925
259
2
351
224
480
157
401
605
94
336
733
191
716
586
710
668
173
305
735
940
792
905
598
151
959
316
176
320
496
947
371
5
228
81
136
704
863
444
806
978
96
268
735
321
723
875
629
779
492
816
180
587
499
382
253
460
250
590
264
288
967
732
967
477
184
219
716
924
311
229
253
721
852
86
948
944
840
657
293
491
198
376
596
453
253
728
717
287
402
50
373
910
425
115
184
735
52
927
194
884
302
531
248
925
909
755
412
792
462
71
273
809
45
119
178
832
453
878
610
116
674
885
705
638
50
209
781
261
979
632
297
753
782
814
265
137
160
180
706
928
641
802
715
874
433
762
817
242
974
544
714
982
745
848
178
421
309
253
246
507
942
946
147
213
952
503
700
31
740
881
612
746
727
434
566
23
607
984
897
612
510
681
944
908
25
903
209
232
363
339
978
855
828
41
144
889
965
179
365
688
641
921
689
705
838
277
740
742
626
952
896
810
220
608
775
873
912
848
942
695
778
208
405
991
660
851
899
32
636
683
132
733
900
691
31
518
827
598
448
107
338
169
260
271
27
658
861
843
149
687
843
613
423
895
433
462
687
239
896
826
913
277
934
770
83
650
861
12
810
764
45
129
653
289
977
627
755
872
532
967
20
577
656
800
711
11
513
960
748
52
709
788
319
136
225
888
452
256
24
517
241
167
385
536
972
133
153
769
127
22
794
498
82
252
912
687
125
152
118
877
414
520
248
153
4
925
75
54
420
139
529
224
565
513
738
759
581
120
951
541
640
593
314
919
901
983
432
455
656
513
69
62
964
873
242
217
285
456
85
907
100
249
499
365
589
732
696
471
637
494
386
798
929
247
40
904
560
536
501
922
939
927
694
693
637
300
357
193
507
912
880
201
909
936
356
890
420
62
987
393
714
862
841
357
216
708
228
388
315
710
198
48
314
905
782
194
32
628
837
26
169
62
447
529
514
15
934
194
754
546
901
401
141
38
150
821
193
633
864
661
454
159
57
906
942
428
702
170
3
752
496
789
208
574
576
66
877
65
739
680
72
357
899
189
879
519
991
39
954
482
968
606
551
851
710
161
637
694
906
8
910
520
921
168
745
87
907
536
564
351
361
692
654
202
17
599
988
525
838
493
434
133
560
310
25
634
58
995
328
869
900
722
48
860
101
219
625
955
602
62
154
983
70
871
277
180
182
198
128
82
896
89
135
452
876
605
708
549
841
244
758
3
738
326
995
805
92
98
947
508
268
980
61
738
815
842
716
691
533
59
970
668
640
883
761
478
427
984
878
687
246
553
515
862
64
620
282
437
810
317
169
682
601
109
449
531
728
703
666
82
306
913
987
967
866
568
274
278
593
759
367
257
77
150
611
833
412
763
859
187
898
471
487
150
308
843
349
593
635
102
165
928
788
349
799
345
74
329
919
244
359
222
897
795
349
691
212
970
528
514
305
622
285
638
78
902
648
827
498
499
19
659
803
260
569
723
733
481
33
776
592
473
927
80
448
40
114
787
559
57
232
707
403
472
666
796
109
823
29
862
318
43
218
91
225
990
356
738
775
670
506
66
611
5
713
171
397
127
569
420
105
152
909
960
639
454
632
270
436
237
669
730
219
923
566
648
334
263
212
747
590
32
261
816
735
622
831
694
11
909
686
407
313
244
779
782
347
284
106
905
800
978
625
940
586
359
188
631
532
615
243
243
955
675
993
457
344
651
995
401
641
759
761
913
79
813
645
970
209
777
883
666
797
334
905
233
53
218
481
503
518
885
618
335
954
993
477
186
481
529
614
491
151
822
595
920
951
775
912
176
616
296
755
210
37
788
761
653
32
710
455
247
884
691
447
525
140
493
862
359
134
432
179
957
66
68
592
487
369
558
983
804
982
730
638
130
61
146
667
482
896
908
361
785
963
334
339
388
696
995
650
780
712
47
716
685
769
139
190
257
956
485
924
301
679
721
352
693
892
654
235
774
648
206
350
905
236
122
987
338
829
772
89
566
605
618
445
435
685
551
227
460
342
755
782
567
449
117
117
42
349
208
387
721
60
505
825
380
277
207
624
746
438
567
264
959
764
650
364
181
194
658
491
672
843
640
749
229
216
508
845
268
397
599
651
884
143
922
972
826
710
286
555
329
210
228
491
639
424
613
808
226
421
724
641
901
389
972
498
656
923
297
476
411
828
948
652
258
644
724
908
423
31
454
633
724
172
258
330
402
569
264
206
275
824
455
812
783
726
311
234
915
891
189
379
333
560
240
77
469
775
592
360
55
179
921
430
716
275
665
785
825
604
730
584
30
993
548
551
17
365
909
149
160
957
67
717
994
333
519
974
837
665
348
455
399
815
82
525
856
894
422
491
354
102
144
821
816
132
3
147
505
88
196
772
756
68
74
864
230
516
605
271
395
690
465
523
865
651
462
887
484
49
118
884
897
377
827
225
250
671
680
222
440
985
763
781
869
211
424
721
240
307
840
878
184
708
85
568
502
673
393
519
706
387
152
991
446
260
644
142
969
498
563
946
416
929
669
759
982
801
830
560
259
767
511
139
737
877
556
213
808
916
636
854
593
123
539
985
199
567
227
700
26
254
985
246
329
549
310
517
287
795
273
541
320
848
181
458
22
553
409
178
67
710
285
705
788
456
269
767
863
19
674
80
299
843
110
498
99
120
67
137
604
733
848
649
261
517
929
433
87
609
300
306
95
199
565
15
664
507
614
605
919
927
583
721
561
155
30
114
880
250
513
929
660
994
732
582
996
79
662
814
872
242
645
434
455
666
111
518
54
483
95
984
428
517
951
342
25
801
804
677
516
557
726
196
907
875
475
738
663
678
704
342
122
608
728
989
197
769
232
907
646
672
388
930
308
702
964
438
69
403
100
953
290
700
460
424
537
993
257
331
165
172
788
116
306
150
402
510
51
120
263
803
992
449
719
380
435
884
935
91
410
63
971
922
441
360
42
607
177
735
329
380
732
43
793
935
674
144
143
291
579
773
123
5
697
11
65
739
482
249
722
986
32
81
648
223
274
267
668
176
135
553
878
132
434
171
502
169
423
94
256
265
867
44
640
418
339
368
480
243
762
490
640
730
549
56
224
142
39
501
87
851
356
199
959
211
112
231
452
53
163
938
826
839
891
900
221
12
174
117
390
866
939
349
491
977
955
982
863
587
417
600
639
17
352
165
371
568
900
253
363
624
188
903
388
769
412
186
890
584
861
484
580
48
5
690
834
862
928
735
589
890
543
466
90
845
76
299
953
708
152
885
968
838
644
515
501
725
414
827
285
142
90
641
171
340
207
675
240
400
601
170
3
978
804
427
309
387
399
163
435
469
660
862
33
212
159
496
459
918
828
61
563
185
733
226
635
591
415
939
981
937
482
169
851
844
121
803
26
407
925
144
419
740
161
662
133
740
555
306
960
247
823
1000
271
154
796
11
216
27
841
693
364
554
786
316
480
533
132
99
709
646
969
55
371
83
918
106
297
1
881
124
422
602
79
972
214
37
639
691
110
837
883
295
149
142
238
604
456
378
488
623
821
65
319
171
364
791
274
151
179
72
925
115
686
402
826
26
580
767
885
988
44
157
393
406
988
448
634
278
647
44
661
67
322
710
338
421
867
431
147
91
604
403
24
74
198
607
821
951
240
206
188
428
288
645
36
201
450
149
634
697
375
91
269
945
827
182
874
52
588
193
825
503
952
380
415
647
878
607
212
420
740
791
61
276
842
833
618
363
195
510
250
749
493
305
909
867
800
639
594
728
463
80
413
722
585
575
603
427
565
47
986
769
427
632
833
906
752
204
723
937
130
123
798
239
713
178
361
897
694
481
822
830
827
747
803
862
376
210
978
794
82
954
911
401
771
676
753
154
346
934
579
551
663
130
231
671
327
184
506
830
899
423
42
192
823
668
471
997
183
160
105
116
428
777
666
529
279
767
584
247
751
753
244
225
692
374
705
924
821
736
405
87
525
64
606
675
816
232
98
637
345
968
412
9
160
572
949
464
340
746
955
84
438
405
976
1000
298
911
546
616
201
588
698
54
484
819
361
627
962
152
188
622
567
851
76
40
921
164
339
864
644
130
529
782
31
609
303
271
503
227
792
301
627
103
111
769
285
240
207
904
388
634
521
247
464
928
462
321
65
793
905
235
289
172
45
90
782
743
849
258
542
39
24
965
305
874
65
733
729
304
964
864
18
646
881
507
584
192
225
688
411
281
651
321
286
102
770
945
52
220
642
907
291
673
80
317
36
28
229
923
462
352
985
872
766
477
156
372
883
464
213
383
746
143
179
400
552
545
747
542
832
553
534
427
950
596
234
197
187
692
216
239
736
265
13
613
199
369
376
759
921
273
175
423
757
54
635
310
973
847
727
383
197
979
730
428
403
299
407
647
420
987
386
280
694
270
110
425
800
617
439
379
720
525
891
828
256
309
782
90
287
821
611
50
130
91
207
335
213
175
523
458
684
447
998
330
187
316
881
866
856
460
587
463
344
689
604
712
456
579
767
618
227
923
663
829
173
443
907
283
224
692
879
331
373
185
24
545
882
998
490
730
319
467
107
639
763
372
633
348
927
274
220
602
733
16
635
929
767
125
463
63
217
183
316
162
653
536
886
847
257
50
730
618
913
373
669
769
741
612
536
751
930
64
703
763
545
127
349
557
197
366
802
158
136
659
907
2
171
455
294
138
914
860
819
237
53
442
202
896
581
920
514
774
340
821
824
193
270
261
58
727
595
955
449
289
135
390
284
796
799
710
821
244
407
410
839
129
715
217
288
600
509
445
308
882
278
940
228
550
537
199
21
674
971
765
294
411
847
94
913
880
996
947
891
599
629
668
55
843
762
914
276
308
247
266
678
867
510
480
354
615
239
729
790
966
150
206
448
228
700
404
343
899
912
353
254
228
768
822
215
881
551
83
655
936
302
1
909
364
543
574
876
397
124
501
502
491
15
353
22
548
682
447
402
914
56
526
250
380
875
182
453
682
168
603
305
392
759
195
819
200
83
966
929
488
181
847
225
679
560
167
719
707
546
54
857
959
679
492
788
22
458
290
113
758
283
760
448
854
755
253
313
669
450
327
538
685
648
949
213
51
528
237
68
76
571
873
752
378
411
840
426
32
18
376
254
956
919
18
936
869
821
792
646
170
78
534
567
280
675
626
86
802
714
971
973
383
852
563
492
603
468
182
661
870
896
450
112
703
962
603
541
218
590
164
881
8
725
795
853
79
686
704
910
174
784
852
713
445
684
631
12
196
973
709
425
240
762
525
714
250
506
681
989
66
80
591
48
380
664
726
414
135
128
519
877
280
275
44
180
562
444
345
271
48
43
757
804
508
699
441
228
841
57
12
440
53
857
111
437
354
612
170
111
81
168
717
323
842
85
332
855
682
576
486
885
662
310
134
549
67
849
356
273
290
297
517
237
620
272
563
815
771
525
609
322
858
638
887
146
223
966
427
465
116
996
272
841
138
186
469
329
363
502
48
726
552
798
384
192
155
52
885
469
738
636
319
97
693
194
448
170
378
156
839
128
302
982
964
991
772
250
854
536
370
222
940
414
119
492
134
369
482
289
35
26
776
935
839
991
539
662
411
770
466
232
859
981
566
267
682
484
860
42
371
55
369
794
34
928
663
980
631
287
625
374
134
721
938
516
659
585
183
46
328
301
345
949
520
112
543
241
244
120
239
898
449
756
816
592
461
578
567
721
386
474
910
487
714
812
829
619
966
360
980
572
696
287
966
280
467
383
514
663
63
494
986
385
918
942
582
931
404
376
143
657
508
551
958
821
643
54
236
860
532
691
863
657
979
458
382
630
465
716
375
168
656
374
142
765
389
448
710
743
49
61
399
805
27
18
409
301
828
365
887
364
617
465
577
783
359
924
402
34
924
638
235
780
21
329
773
900
420
845
297
758
786
302
722
757
504
84
607
844
871
705
173
932
610
945
456
46
729
792
923
801
547
145
710
909
623
736
660
527
241
8
197
310
538
226
758
693
404
57
929
183
659
245
671
865
904
231
874
362
341
142
831
80
822
438
561
219
449
294
458
444
288
166
69
819
681
379
712
186
318
235
984
828
687
121
485
777
751
844
691
125
346
233
87
615
162
620
714
338
820
178
499
688
114
570
694
91
390
605
344
126
873
98
55
482
718
216
860
725
52
658
604
169
230
30
682
786
399
703
732
190
957
806
770
244
982
394
898
574
958
449
253
429
175
4
250
930
541
899
921
951
108
634
85
124
737
175
76
367
837
895
375
684
155
771
761
253
499
280
150
606
933
499
85
532
38
666
784
191
149
131
2
888
616
956
980
933
373
259
386
726
872
126
402
377
831
596
770
771
355
144
144
612
921
757
836
700
107
573
554
393
333
259
864
496
46
445
79
145
712
686
990
224
105
348
500
956
423
456
704
945
310
204
886
191
524
888
398
657
642
616
645
840
227
165
885
213
611
425
378
522
794
725
935
892
300
661
94
735
89
936
91
455
752
886
311
428
194
441
45
854
809
567
924
903
247
817
943
826
827
25
452
266
397
943
931
828
848
305
622
660
521
89
501
611
442
676
300
944
6
888
630
572
555
945
939
233
519
398
349
462
974
23
444
838
509
69
616
444
839
451
24
280
617
750
95
628
997
501
85
715
539
270
299
818
420
181
655
418
427
2
622
845
359
930
324
439
830
198
356
16
849
676
785
22
132
177
742
94
184
367
626
663
419
736
138
94
227
292
636
705
634
988
962
290
158
242
900
266
326
581
552
367
305
709
229
874
3
570
507
448
138
505
13
763
353
610
94
602
564
526
154
930
969
584
156
762
169
360
379
7
425
131
471
152
911
848
677
849
192
488
885
953
74
888
80
419
446
6
990
959
483
61
224
347
178
350
696
682
879
870
152
64
557
255
413
89
88
998
849
436
172
120
673
863
113
134
58
439
580
653
294
370
780
117
386
128
947
483
102
130
564
712
977
400
327
828
541
370
321
268
161
799
184
653
196
601
434
248
829
222
104
4
633
725
900
690
833
915
359
200
683
540
404
567
161
348
955
474
28
184
261
442
514
30
517
965
491
981
147
167
362
262
950
672
15
60
298
352
96
845
338
591
349
87
129
742
952
108
376
59
219
123
387
900
246
655
555
870
847
370
979
483
379
406
710
129
887
427
643
602
401
790
897
793
87
279
274
336
169
267
101
246
757
822
763
738
762
432
573
364
535
162
97
14
26
263
675
59
187
929
303
446
89
139
701
674
339
406
763
396
922
370
448
332
564
702
760
90
665
707
333
968
465
149
88
67
402
104
459
562
509
63
804
702
602
239
282
865
807
831
969
771
499
505
579
507
789
155
503
150
189
967
514
969
34
868
63
566
271
861
483
960
467
507
838
906
831
595
399
871
161
293
938
845
397
722
546
503
759
639
542
442
828
725
649
35
614
671
467
562
595
207
770
468
855
150
545
838
50
940
824
868
662
337
182
172
571
266
845
663
711
529
822
497
593
166
163
994
187
465
42
282
47
458
173
120
11
767
383
63
655
337
21
580
289
575
417
924
727
258
388
357
776
394
598
295
827
102
676
384
814
136
487
443
447
683
180
557
800
621
60
827
378
193
834
769
579
763
786
142
988
299
300
197
193
703
785
485
174
119
975
563
670
30
990
287
970
796
355
443
472
869
328
888
840
499
199
805
723
49
566
185
197
306
633
145
493
222
777
13
632
309
421
299
67
368
910
966
120
971
43
683
666
615
698
812
380
779
795
429
340
993
235
544
774
249
716
704
389
360
49
936
61
11
847
984
979
716
73
412
578
9
588
218
50
94
285
8
131
594
184
883
668
752
506
730
823
77
552
547
309
833
657
200
620
874
777
783
737
284
159
708
901
804
289
172
830
688
222
76
804
171
789
252
983
279
349
509
829
662
629
412
210
294
550
807
820
144
718
414
23
649
86
952
650
526
412
750
805
995
301
988
278
452
80
355
932
609
163
103
852
27
620
47
871
855
525
582
51
239
346
602
376
864
244
227
52
884
741
306
609
139
367
58
929
268
969
4
911
589
544
189
168
277
862
840
447
409
360
594
646
518
138
122
430
375
417
625
424
53
828
909
644
540
348
406
68
277
43
671
972
185
692
892
49
592
2
476
832
687
286
10
851
218
87
900
788
53
362
448
564
844
907
875
922
857
830
148
427
705
912
119
726
577
1000
139
630
406
352
641
286
303
449
951
389
784
818
376
974
55
818
136
594
268
267
966
106
799
238
883
380
257
380
343
804
535
260
394
193
827
104
263
199
772
617
219
486
664
844
557
911
18
599
832
360
643
373
181
492
706
43
388
669
976
34
763
629
777
195
647
316
858
471
225
231
712
144
211
705
645
739
467
665
388
706
451
239
732
405
315
356
800
165
140
368
989
351
246
851
610
795
117
724
8
2
166
946
657
941
950
626
361
100
599
625
808
759
985
214
104
202
440
665
915
739
216
60
640
935
307
360
576
134
55
376
952
93
136
689
41
908
772
210
18
489
582
157
306
956
236
193
780
142
910
800
932
502
663
881
512
867
38
187
869
339
407
725
294
73
544
770
603
825
517
123
519
809
672
997
759
734
597
474
207
527
861
417
526
40
208
949
869
419
132
737
588
72
378
24
784
584
425
628
126
658
952
673
721
891
61
177
440
845
837
281
15
88
307
604
125
114
948
225
371
826
415
500
563
717
906
75
518
146
458
863
104
859
316
382
287
939
630
757
659
804
730
376
993
866
367
63
454
97
859
402
714
281
508
794
191
799
331
80
764
8
870
549
439
566
750
139
592
160
350
445
799
902
147
814
741
24
110
458
2
728
633
119
943
823
606
91
851
122
743
657
212
966
709
110
399
997
755
474
317
680
370
900
680
852
51
113
155
678
121
543
911
181
294
55
812
122
56
815
245
357
810
277
388
690
513
211
409
184
909
935
348
408
571
207
961
589
55
414
399
486
185
199
56
377
159
527
92
903
10
645
457
799
484
180
122
818
566
676
744
774
26
629
913
179
370
622
131
964
295
207
510
922
436
561
477
97
501
624
580
642
509
513
294
295
335
203
415
777
754
162
373
22
963
839
344
275
839
48
854
424
993
787
641
351
968
313
93
860
155
821
983
125
652
131
439
906
457
794
839
879
943
585
60
633
938
624
406
90
100
443
310
787
456
690
108
548
349
201
606
416
423
327
262
689
201
690
316
185
822
916
622
42
565
50
593
714
159
535
744
704
406
746
238
244
844
398
314
787
88
871
926
981
435
863
209
504
664
637
965
961
464
93
200
933
431
781
369
373
117
611
760
395
952
552
746
578
682
626
827
684
262
780
373
979
594
979
261
946
409
170
200
665
207
806
817
50
413
310
403
996
378
138
613
49
915
591
798
571
805
470
637
243
561
27
833
828
828
657
833
267
739
52
205
168
952
618
94
510
711
467
993
762
185
931
137
304
345
36
776
526
619
641
384
116
50
186
333
802
47
74
323
571
80
817
345
689
16
376
431
511
573
951
577
841
684
615
529
51
532
898
561
78
156
322
707
626
406
105
742
867
610
37
834
669
577
894
361
494
589
455
997
9
214
194
269
709
189
578
565
228
647
726
347
66
986
217
153
730
865
342
812
677
511
581
858
534
499
473
181
149
675
682
55
114
394
923
506
753
491
450
209
220
920
942
133
591
965
916
522
204
918
337
290
191
323
427
149
747
93
787
564
934
471
45
774
822
900
314
247
297
425
694
385
974
952
324
885
569
173
952
409
438
710
949
454
150
3
87
129
681
326
134
861
476
757
894
11
484
821
419
361
833
112
146
615
890
42
33
520
388
317
228
753
662
473
269
643
474
596
611
587
418
550
578
302
405
592
105
451
968
967
560
859
709
128
663
385
170
536
988
260
452
966
797
95
440
316
836
157
650
810
495
12
346
536
417
971
234
668
437
430
447
343
12
659
786
52
522
677
467
198
478
752
780
666
680
235
776
719
569
662
412
575
149
55
539
401
322
208
28
306
276
213
848
529
544
129
149
680
952
311
787
180
597
619
542
235
154
16
896
254
960
852
536
636
300
842
43
464
401
879
498
51
166
800
64
219
743
731
179
478
139
255
129
831
179
451
355
901
244
117
615
683
524
463
424
489
191
714
286
806
63
123
723
755
460
593
308
422
642
129
152
481
865
989
968
914
172
938
924
504
520
974
72
464
546
133
876
282
487
186
105
940
429
396
678
341
729
857
409
845
664
440
684
224
482
989
275
394
906
703
538
875
926
675
282
630
801
669
243
920
977
487
414
603
256
95
865
905
826
816
120
145
293
822
207
708
418
36
537
718
647
586
910
708
481
995
695
758
55
779
872
631
454
294
990
906
345
602
117
636
859
889
359
32
540
455
76
79
738
888
134
440
40
137
341
904
163
394
557
481
699
153
361
25
189
341
269
59
422
624
438
232
998
196
379
112
630
590
242
832
592
622
142
928
858
408
793
734
338
586
264
959
705
117
701
753
275
216
128
423
802
270
513
181
209
484
73
383
534
321
761
584
383
209
765
988
425
851
892
255
978
671
361
205
171
992
131
637
563
797
652
809
79
515
13
615
589
847
205
535
206
554
180
253
709
467
859
814
447
345
814
980
917
66
582
226
216
74
376
599
148
370
399
753
634
795
435
80
961
206
893
215
189
802
758
740
999
730
124
735
24
182
163
472
995
771
196
760
215
594
362
383
142
499
290
252
785
436
852
31
767
368
722
113
21
575
152
519
229
964
534
869
912
988
665
88
424
978
710
860
574
579
609
303
324
384
872
944
719
462
575
303
189
294
225
406
212
668
357
862
695
95
506
614
74
554
106
357
370
891
502
210
349
225
285
650
400
469
765
842
48
13
267
120
281
419
533
806
631
44
431
542
482
478
571
318
847
10
28
377
695
921
194
552
849
659
954
995
640
865
446
343
548
415
686
207
305
425
298
92
710
953
995
861
482
283
772
703
101
617
638
44
832
588
775
359
908
577
583
468
240
16
51
349
587
320
678
79
344
105
581
286
173
31
627
393
580
882
210
301
455
157
133
37
906
281
651
5
6
550
313
627
792
88
145
753
846
940
283
6
572
253
981
389
329
678
928
852
248
878
755
810
293
738
252
625
81
807
270
587
300
868
966
436
839
696
230
476
667
69
989
561
840
865
311
877
539
799
163
789
658
689
665
909
953
223
45
771
125
438
371
539
517
145
850
17
58
39
366
282
457
541
607
698
181
869
360
198
907
994
998
644
615
469
131
488
893
664
447
973
537
97
984
699
375
853
524
171
982
370
720
578
733
326
534
496
238
291
877
253
729
796
371
833
510
546
734
940
276
576
549
938
194
12
855
142
919
258
763
439
11
224
261
306
516
111
58
118
837
772
59
582
108
705
374
581
643
490
971
746
489
207
965
574
218
545
717
362
166
203
297
76
104
651
124
24
534
813
233
223
68
184
788
157
842
848
691
414
77
696
433
8
459
376
39
44
543
835
597
869
862
844
147
626
113
506
907
765
843
637
920
157
350
341
321
600
672
729
861
835
121
171
568
917
472
554
845
664
529
924
508
340
794
237
727
366
645
467
916
413
966
870
696
71
740
813
100
493
857
662
186
173
840
353
709
524
116
191
133
607
711
1000
77
437
53
377
150
145
23
74
375
934
633
569
354
237
373
506
371
637
191
50
169
440
741
624
502
70
919
948
633
319
523
153
646
460
779
943
934
668
334
13
74
144
483
633
657
425
369
939
574
341
743
396
91
298
350
468
540
787
209
174
206
647
715
749
460
13
30
616
73
35
1000
539
697
762
794
874
403
493
213
25
890
454
433
721
114
724
217
148
798
522
871
787
132
250
547
497
258
164
48
575
753
280
408
313
28
971
691
200
126
819
104
495
102
738
447
902
526
151
169
902
700
995
5
609
633
20
760
124
217
46
616
406
131
368
308
127
336
533
232
159
316
756
736
765
626
194
709
370
454
32
512
675
802
927
712
986
372
85
62
161
882
437
420
930
804
3
318
504
169
404
813
942
123
743
1000
825
797
953
845
332
462
692
530
417
54
69
32
684
896
732
847
820
540
528
897
485
584
657
734
730
128
157
296
472
946
502
299
784
220
481
39
567
565
900
284
740
698
596
616
659
744
166
156
183
827
947
974
878
887
175
878
276
901
87
929
863
175
129
281
351
101
576
969
395
832
671
979
404
787
860
631
930
979
660
55
326
408
270
222
205
286
22
894
676
693
500
920
270
260
887
187
876
849
479
347
316
389
989
567
895
167
867
49
233
717
605
284
95
525
821
114
821
84
200
604
604
448
81
220
981
450
579
568
536
209
388
285
195
125
222
552
188
694
931
20
523
680
444
406
753
484
739
575
92
525
995
577
905
771
801
229
117
328
934
961
887
905
457
788
956
727
823
792
34
603
386
626
527
444
763
577
382
236
419
709
866
104
497
589
701
62
800
587
983
47
638
263
961
819
86
366
371
724
821
754
109
20
830
948
222
466
662
422
663
45
602
330
116
124
162
119
349
857
667
283
24
723
300
9
894
582
381
36
5
961
206
976
265
684
726
554
327
402
229
401
457
666
981
827
593
744
57
433
786
791
47
467
409
979
772
107
187
922
786
482
10
437
372
329
264
886
336
61
3
463
123
602
574
728
764
490
870
130
394
513
676
305
554
609
970
391
279
896
249
894
169
451
58
664
823
292
166
968
2
272
661
320
78
508
731
300
982
572
162
73
465
192
360
694
593
789
948
165
206
587
300
496
682
561
550
261
90
203
965
436
806
632
472
546
930
875
534
962
8
103
782
676
735
209
506
635
730
308
999
264
596
622
308
845
113
571
287
896
488
212
638
93
611
439
307
158
988
418
481
777
96
662
510
347
343
771
509
240
771
853
457
980
339
345
422
179
500
351
670
166
363
990
806
686
407
145
829
62
808
549
725
314
79
620
540
698
777
946
625
919
589
662
535
881
51
509
733
184
867
386
374
968
841
660
814
375
263
412
877
140
506
611
919
389
727
300
50
96
422
24
170
968
57
168
706
918
416
331
930
919
615
636
638
329
732
458
389
568
664
799
937
988
175
710
752
413
576
105
635
798
39
542
681
639
625
132
386
49
264
495
997
749
680
273
11
173
857
844
545
65
20
734
282
732
470
501
276
346
952
31
605
706
318
35
5
993
201
118
939
669
263
342
42
590
672
305
421
616
433
967
312
373
728
418
227
25
31
682
647
45
628
888
174
91
626
829
909
626
478
441
682
1000
771
532
898
362
873
215
882
311
31
779
72
752
370
859
702
730
88
553
322
757
985
750
479
116
531
313
407
154
139
780
112
747
282
702
273
62
418
901
82
612
295
888
744
644
778
947
377
698
118
30
783
729
613
208
106
998
170
818
517
12
306
349
977
680
493
464
91
704
894
194
72
653
613
417
89
493
123
171
788
564
725
379
73
608
87
534
952
421
878
9
427
312
179
834
427
805
172
661
754
847
451
904
15
742
205
494
770
331
123
792
540
82
736
723
625
224
724
140
994
108
653
287
228
871
535
277
841
964
130
519
347
47
968
872
637
927
792
656
155
102
164
840
558
688
916
395
250
786
517
66
234
243
661
840
752
678
703
452
519
528
693
337
353
169
519
254
220
23
211
286
230
276
577
222
190
161
752
324
748
399
810
768
887
526
97
144
243
664
940
142
117
548
434
395
174
337
729
490
662
729
456
260
813
982
136
497
572
497
21
512
985
800
295
313
477
998
155
31
409
731
259
353
110
500
882
344
867
602
247
798
517
837
793
362
238
879
769
341
854
715
273
540
842
111
501
302
501
94
426
93
872
832
837
415
780
59
497
189
13
981
695
966
18
756
392
667
132
351
197
129
614
283
209
795
897
48
768
728
638
204
538
778
347
464
109
182
856
258
595
273
329
481
801
561
699
718
730
482
266
207
640
969
323
902
663
910
164
162
392
115
72
631
648
170
582
745
425
819
831
556
222
730
437
410
101
201
454
770
21
712
582
865
60
431
186
507
714
341
846
868
550
135
495
268
710
347
532
263
812
280
382
973
29
239
133
178
612
993
414
304
807
44
197
89
865
575
870
318
757
934
75
754
277
805
529
526
562
211
996
306
375
866
173
573
757
314
556
87
563
63
393
5
771
760
385
943
446
670
573
767
38
130
752
216
275
317
776
228
376
26
53
885
719
429
692
178
807
420
384
812
584
670
360
785
311
931
831
780
702
436
58
563
781
311
759
816
695
203
966
665
206
575
308
7
614
723
908
947
7
913
167
339
317
645
673
983
526
616
215
797
68
88
222
213
528
133
209
652
809
903
881
268
572
267
482
633
55
9
945
719
318
135
392
940
446
899
904
636
963
928
71
707
100
762
60
956
357
370
189
704
185
419
323
133
679
582
626
595
679
416
184
326
617
917
376
583
941
141
578
859
714
793
450
890
555
515
46
444
931
189
749
14
913
764
57
204
538
600
130
440
598
301
536
157
401
925
981
406
373
690
657
918
286
431
844
787
165
606
703
292
387
983
929
608
502
308
315
2
58
49
698
449
508
225
3
248
282
934
137
933
265
873
124
481
588
869
607
484
652
253
697
614
727
751
943
272
133
298
141
447
18
791
106
914
570
328
247
122
796
38
492
549
541
429
271
86
948
239
962
575
652
219
802
388
446
136
696
463
985
573
621
483
166
232
533
572
219
566
627
128
181
482
967
264
764
357
50
865
815
281
310
343
734
245
533
911
40
197
814
492
511
464
107
750
728
468
952
805
594
378
630
145
968
152
468
891
550
462
732
248
647
37
992
45
848
968
599
120
170
611
72
524
895
925
616
437
450
878
898
874
823
925
404
839
703
240
752
755
392
34
227
129
971
535
893
276
253
791
325
426
479
913
244
506
614
648
505
935
728
297
55
435
250
843
382
929
92
890
431
615
675
259
366
548
678
810
477
312
707
907
690
560
898
654
255
782
99
409
440
322
559
835
194
934
346
692
327
304
378
91
561
269
766
629
735
602
5
214
975
879
169
634
932
108
817
224
291
979
341
817
824
442
145
850
392
662
314
898
62
585
265
817
450
159
533
412
948
619
798
199
956
573
175
485
924
616
476
122
987
272
833
195
501
967
137
87
793
799
323
523
83
245
469
230
540
523
725
840
747
338
571
986
667
756
394
227
323
272
58
872
667
967
240
550
627
83
628
327
942
904
907
453
158
333
186
719
794
757
990
138
482
921
960
398
271
578
283
819
602
971
333
996
35
852
759
465
411
813
83
495
464
954
259
134
952
595
557
453
132
904
11
153
984
87
409
771
839
399
774
99
263
24
826
113
840
924
635
858
924
651
385
956
204
783
172
293
201
18
554
64
58
971
257
303
242
223
526
480
99
486
597
292
160
516
989
555
267
646
452
890
962
447
320
252
743
271
612
414
52
879
485
869
311
715
147
389
508
760
33
172
473
925
254
93
162
630
52
777
496
704
789
305
742
886
913
347
72
591
664
712
113
121
194
800
545
934
169
260
8
760
200
202
269
515
569
651
620
745
618
542
297
238
579
250
144
243
355
878
982
160
900
487
194
770
773
674
977
829
861
949
875
451
993
876
414
5
403
58
788
470
662
760
138
713
120
884
540
822
615
357
671
416
997
619
206
67
425
635
146
680
337
71
72
661
26
380
730
158
369
908
919
618
535
210
127
780
451
613
95
24
580
701
447
432
100
457
43
741
934
510
729
847
462
113
422
560
584
873
594
839
444
458
802
769
62
603
391
781
534
632
680
533
109
818
494
10
742
171
80
88
402
187
103
255
241
205
363
728
878
236
881
673
908
225
788
996
343
602
102
621
519
893
368
190
33
280
366
496
240
481
938
926
354
646
324
903
99
821
773
719
392
994
665
825
956
936
524
130
614
104
118
652
217
612
859
680
370
787
965
504
623
29
496
84
469
607
564
287
667
845
491
862
121
176
762
368
463
778
273
617
24
969
27
31
248
758
658
68
434
299
881
909
651
967
587
511
584
107
425
754
912
905
425
923
819
609
621
863
186
526
131
67
501
706
801
171
779
32
581
101
255
998
465
449
619
621
536
813
825
271
38
447
883
738
190
468
960
841
420
140
63
70
182
70
208
519
385
424
223
26
938
191
356
553
834
141
74
469
335
404
381
348
141
389
222
95
696
309
384
97
958
225
32
449
444
629
525
52
492
282
258
358
459
319
941
172
9
939
914
748
628
299
16
170
179
817
250
469
43
161
425
316
486
669
554
756
51
622
962
368
985
664
641
315
386
510
343
461
333
411
509
895
24
545
419
96
847
832
534
579
782
160
746
258
297
410
369
509
669
15
755
554
492
796
459
373
395
442
290
197
937
148
996
555
845
560
898
312
44
347
833
442
883
803
863
130
126
626
437
120
812
404
384
898
660
601
212
981
487
466
709
185
807
566
269
455
542
15
936
256
690
903
139
646
518
249
626
647
981
902
420
161
54
748
938
947
529
289
494
411
190
821
89
381
635
985
708
850
567
102
438
727
250
831
952
327
889
966
23
231
959
312
401
962
871
818
219
944
167
478
565
885
553
858
152
273
239
4
965
666
763
189
266
516
725
603
521
332
842
648
575
987
554
112
75
951
535
794
616
454
798
476
609
787
895
744
87
326
413
462
194
749
632
106
359
653
578
63
159
52
832
975
709
611
670
977
608
115
27
495
810
35
975
247
6
177
621
735
741
395
886
120
450
778
555
184
635
615
710
229
69
485
216
754
371
81
185
510
962
26
759
584
166
595
273
467
568
122
625
366
75
534
350
785
382
333
333
551
527
662
744
624
254
416
65
111
429
191
723
415
815
224
397
581
533
96
193
553
466
842
833
4
370
418
645
92
339
176
765
116
275
937
837
757
161
76
745
334
218
635
27
453
622
407
993
356
432
334
173
757
885
838
69
527
548
709
419
244
245
848
834
950
841
940
159
186
816
696
594
61
239
120
251
394
705
682
893
250
595
80
697
37
354
237
624
216
66
608
41
417
114
810
838
924
771
814
26
190
754
398
457
171
327
803
424
706
212
942
637
682
709
111
384
159
287
357
330
967
256
158
372
858
854
639
334
534
202
417
333
117
831
254
379
361
116
527
565
710
466
7
552
305
141
714
134
574
946
376
102
427
820
275
469
329
34
160
406
806
974
15
417
402
316
94
107
29
249
362
720
31
775
988
88
903
959
682
551
860
707
389
132
536
667
56
926
816
99
53
247
1000
255
52
996
788
330
93
471
374
882
365
57
819
39
369
985
759
728
506
969
138
361
997
15
447
390
174
493
346
572
41
824
170
391
11
582
86
318
961
727
505
935
329
43
298
588
294
567
67
813
895
81
646
791
735
125
982
749
696
708
414
708
233
844
617
42
382
787
325
190
431
23
747
356
402
537
303
927
451
394
816
603
218
887
737
701
312
489
924
396
574
555
3
740
240
851
4
829
813
690
68
420
981
68
333
732
604
382
551
158
40
873
360
485
420
274
410
174
698
310
500
346
846
578
93
789
145
689
544
648
787
845
177
448
837
359
834
628
144
485
145
27
180
75
947
600
330
659
500
750
729
919
803
482
933
598
243
689
583
980
370
819
260
116
658
520
563
490
752
337
596
237
557
445
253
112
253
984
534
718
794
173
153
110
684
671
290
792
918
524
968
935
164
743
526
84
452
979
159
798
952
751
310
440
294
689
129
279
502
49
179
362
439
686
306
958
405
604
563
654
935
627
753
505
893
341
992
60
820
421
376
994
929
635
807
402
506
614
234
541
876
8
139
722
107
248
439
382
241
108
931
468
818
419
5
320
228
854
797
47
683
986
926
521
240
88
929
90
444
664
985
735
10
647
299
853
343
744
734
113
180
702
509
942
948
494
668
924
70
222
636
964
213
324
669
384
608
994
109
777
658
269
654
532
269
650
897
186
502
682
864
553
981
233
21
80
544
559
398
191
648
495
870
74
515
662
986
663
347
810
805
646
977
743
620
765
300
58
263
939
304
951
138
871
391
63
212
654
149
258
70
675
406
600
20
515
195
326
618
65
964
820
873
98
568
417
608
276
55
275
200
817
856
534
811
830
444
481
858
54
375
544
450
711
963
799
282
81
362
464
690
594
1000
511
283
127
653
963
344
573
13
65
107
595
577
587
212
393
748
538
312
131
35
466
490
397
599
950
310
304
984
977
817
109
60
859
439
904
106
381
665
516
482
313
530
253
151
113
586
336
761
565
867
519
700
453
248
253
920
777
703
527
495
150
820
233
570
332
483
247
50
847
804
112
221
146
219
916
344
840
351
276
146
782
208
405
864
75
115
548
917
782
818
230
184
580
250
7
55
580
63
165
626
56
632
819
78
137
28
183
650
435
318
84
356
495
226
588
440
676
306
842
726
60
651
549
372
448
371
692
112
205
664
977
699
380
277
794
737
405
57
71
249
889
26
493
991
899
572
20
619
203
856
304
536
494
659
472
958
720
922
775
614
815
715
977
535
162
948
429
520
757
387
452
390
46
627
358
462
394
812
692
929
548
867
913
386
886
129
716
996
459
776
810
114
543
227
858
210
26
946
907
283
578
435
3
95
470
398
382
339
49
144
629
886
216
755
384
764
995
875
140
200
700
412
629
705
74
678
898
190
955
837
345
163
716
359
223
892
769
59
680
732
871
10
144
525
118
236
206
420
574
314
647
387
583
441
998
334
460
952
830
801
662
148
64
637
318
426
111
641
347
1000
24
849
782
304
574
443
709
329
101
761
231
802
812
453
851
191
749
853
457
212
330
575
47
557
140
541
566
703
582
249
488
452
647
433
920
145
581
206
529
238
334
615
908
960
620
914
776
603
300
968
401
276
371
418
877
484
281
184
333
605
422
915
334
409
495
119
384
830
119
852
621
20
869
498
520
192
198
894
392
79
357
245
793
184
729
64
734
228
260
86
347
442
699
596
35
549
544
149
979
958
253
535
212
404
620
962
447
538
628
528
65
507
366
504
446
301
444
305
106
619
44
717
598
414
895
963
543
212
838
347
134
984
18
144
537
400
693
21
634
944
845
88
253
962
395
347
64
304
282
242
444
763
716
416
705
755
271
427
648
453
848
895
822
925
925
282
708
297
388
956
192
628
521
20
275
926
678
396
729
536
840
506
651
352
426
682
591
154
764
160
155
142
613
849
337
661
871
664
227
279
28
675
333
645
331
909
45
303
568
328
340
533
968
98
707
746
826
388
716
298
361
72
562
334
92
797
973
918
234
124
682
646
201
39
556
988
61
232
428
731
610
159
685
184
893
994
49
321
792
278
92
219
135
116
977
943
128
645
299
91
445
968
18
140
986
133
698
847
156
169
563
809
20
324
484
249
839
477
999
775
512
505
176
239
904
342
940
145
29
4
181
77
769
304
793
944
229
60
501
729
507
778
858
202
34
127
432
792
19
323
911
373
442
403
465
188
730
508
163
257
717
938
859
225
532
951
802
753
153
123
413
967
106
548
196
696
512
761
962
288
457
500
660
875
733
2
202
941
388
936
805
733
535
716
716
377
274
158
529
122
156
184
698
644
136
85
818
717
330
282
765
661
608
89
555
117
673
490
863
838
416
283
914
528
988
97
897
999
801
105
47
883
920
420
769
983
285
826
227
771
574
885
418
1
6
147
394
867
46
930
596
1000
115
954
48
28
801
325
820
240
806
664
926
972
543
158
205
531
445
538
239
756
72
562
266
559
370
263
524
666
170
759
693
570
390
638
565
134
107
769
205
531
852
223
61
818
153
888
757
341
171
645
151
359
203
4
664
887
518
160
536
203
369
979
808
873
422
847
727
868
619
204
109
82
423
659
915
424
997
939
719
345
578
45
41
897
461
265
768
705
641
218
954
821
729
620
453
891
573
215
832
599
635
903
35
386
108
995
248
56
617
237
121
209
611
45
708
713
635
378
104
182
167
703
542
609
499
447
58
48
788
838
283
867
142
226
273
57
655
575
617
979
710
722
594
256
387
773
864
815
72
510
161
831
583
244
954
300
800
769
878
465
214
744
519
119
432
824
302
693
669
788
828
5
131
793
444
372
382
218
422
213
586
35
977
988
111
152
994
505
435
39
126
902
341
327
148
428
14
662
221
122
784
873
128
575
713
866
968
677
846
794
698
453
184
556
565
328
668
300
922
275
714
85
83
944
399
233
797
935
187
157
74
210
946
762
324
438
644
111
705
552
934
352
643
986
808
379
911
224
611
904
753
969
605
293
566
711
906
135
338
368
346
837
45
393
546
569
663
456
594
28
387
903
422
276
174
918
700
967
248
761
170
15
552
138
402
429
141
369
927
967
711
7
586
336
312
770
708
670
733
788
583
163
565
335
275
293
32
402
100
173
765
407
281
519
686
277
722
651
320
133
528
136
997
543
327
151
105
585
597
688
513
478
205
632
214
353
853
354
402
524
845
980
807
885
442
353
166
361
969
614
751
421
149
266
979
192
383
767
306
878
403
211
101
859
395
710
448
577
448
372
481
468
368
18
766
509
715
58
710
968
742
850
656
945
847
429
347
172
786
788
157
598
936
832
610
320
202
624
1
113
270
625
75
730
82
698
687
152
534
286
736
652
411
739
948
800
502
839
110
278
989
991
197
232
754
55
214
888
233
952
64
89
536
13
455
157
881
488
976
483
219
877
65
645
508
482
407
524
936
298
448
445
647
704
500
496
234
750
999
509
65
199
427
840
557
266
60
9
442
664
29
195
628
378
453
386
502
316
901
106
466
645
215
762
65
313
354
65
428
993
315
620
702
482
74
471
873
355
72
319
420
503
39
388
710
820
934
428
287
646
349
441
894
260
858
386
857
756
337
705
810
600
21
379
503
252
861
137
735
291
401
132
928
809
836
866
443
79
286
86
993
449
9
572
651
336
30
781
274
548
208
10
802
668
816
54
113
944
464
930
37
2
572
546
533
373
12
411
100
639
119
462
470
175
238
458
981
558
449
247
909
404
633
553
637
223
908
647
46
268
523
200
427
580
396
626
867
515
872
700
237
271
268
432
2
476
286
272
780
808
120
180
160
5
824
207
22
868
555
954
37
922
845
922
409
953
120
341
290
734
870
129
10
61
17
560
11
147
719
590
838
269
997
585
781
904
54
319
612
669
938
399
927
580
115
771
666
428
153
739
399
913
878
419
32
208
880
326
869
667
156
968
47
148
36
571
625
450
420
303
640
321
614
387
944
361
757
820
887
724
569
762
619
485
31
804
187
263
581
579
384
390
931
289
990
752
542
627
221
731
50
428
192
122
387
429
500
500
276
646
284
996
421
301
275
305
879
487
79
548
603
589
253
456
630
780
637
719
118
249
530
497
586
731
684
791
515
590
494
799
629
174
67
515
928
843
248
616
903
557
552
688
615
113
787
769
821
298
851
276
712
509
102
781
575
864
191
93
714
105
689
906
456
218
897
640
266
174
840
44
958
91
663
866
392
944
209
53
659
423
583
772
401
494
963
681
79
715
780
272
248
359
739
981
283
66
588
902
325
534
790
168
365
179
554
858
294
368
682
138
788
582
511
551
819
203
350
173
509
384
36
47
645
887
795
50
591
375
782
258
713
766
480
779
450
661
23
211
620
49
854
840
131
513
358
520
162
207
500
171
579
68
31
657
42
226
210
941
65
157
605
805
618
775
807
220
973
546
259
642
710
362
388
713
972
261
792
577
652
849
862
615
889
658
684
632
388
521
715
927
50
128
133
652
205
601
37
777
944
638
183
326
477
351
204
139
950
558
742
829
929
660
798
424
586
791
866
838
907
155
821
687
203
598
780
546
935
48
579
924
592
440
839
904
600
341
243
500
667
663
890
665
729
920
309
741
476
2
185
189
136
65
78
361
752
285
56
717
803
428
37
800
911
639
264
958
826
608
127
422
7
123
558
15
163
803
397
536
535
125
679
751
627
903
312
82
106
150
991
660
966
663
283
588
136
589
728
276
109
44
635
788
239
96
98
697
185
749
447
743
282
787
968
690
989
21
827
914
782
159
922
651
679
628
489
76
272
521
561
212
399
885
2
893
400
957
926
109
563
773
908
439
703
115
332
107
83
383
640
180
909
66
199
706
543
181
339
152
131
139
315
336
800
96
79
479
353
192
596
126
273
231
560
309
664
696
478
260
178
847
838
91
430
948
199
403
523
256
858
507
657
980
356
62
230
864
438
977
689
627
564
741
188
514
987
230
352
666
31
535
88
19
92
211
889
865
633
385
45
70
732
40
52
27
29
224
2
249
377
489
130
195
893
306
818
154
895
784
216
246
754
6
119
625
43
110
836
235
96
308
754
926
554
499
901
306
990
605
132
925
839
192
76
280
587
144
11
521
392
506
798
183
359
82
434
487
701
595
32
365
742
386
283
234
900
469
620
546
321
132
145
500
236
976
816
704
895
673
231
367
417
551
764
112
307
643
503
427
363
75
930
864
700
407
869
402
145
237
251
711
322
331
892
784
581
228
344
644
712
401
521
507
674
784
518
534
988
913
717
737
465
953
802
256
472
451
355
814
410
518
155
264
448
12
830
470
117
915
377
649
839
478
430
398
522
977
492
685
393
157
265
894
495
131
514
484
308
262
890
213
592
981
669
17
94
970
577
988
380
633
275
214
27
544
310
176
805
849
530
817
627
718
710
412
825
914
256
742
47
263
863
373
703
295
292
399
541
335
888
258
911
736
883
105
695
735
745
443
857
610
407
988
533
613
515
128
52
538
801
487
116
650
983
132
83
933
605
873
68
688
215
784
541
893
14
530
486
993
240
246
811
149
713
896
714
3
561
540
364
471
669
68
670
152
585
29
67
244
563
708
445
305
395
676
752
369
266
493
194
978
585
817
610
786
384
80
922
403
705
396
826
310
720
690
612
186
46
211
53
403
83
559
162
313
290
819
502
692
201
558
924
695
165
603
334
735
205
846
868
902
646
522
908
823
744
129
80
450
78
30
241
388
759
535
560
163
661
448
876
47
537
769
556
283
547
526
194
430
221
244
746
258
683
134
407
5
808
407
574
355
639
44
863
769
26
583
335
525
641
515
831
753
101
147
666
163
968
663
630
480
462
712
855
666
184
505
883
976
571
266
173
699
854
139
959
754
559
886
542
465
894
153
41
815
13
517
731
432
980
922
830
16
601
288
224
849
705
121
610
8
702
154
117
499
246
989
799
629
858
760
694
197
216
857
477
660
506
465
475
713
102
336
930
689
301
721
284
490
831
347
776
554
65
847
144
880
611
342
11
107
841
69
555
390
479
849
627
626
813
598
768
488
262
34
958
48
639
150
200
799
150
601
758
555
491
194
67
476
395
29
251
172
797
333
23
174
874
218
301
239
675
856
561
111
650
133
413
767
408
407
455
550
992
6
112
792
165
97
25
994
690
604
693
856
668
456
350
965
666
398
175
198
618
563
318
665
105
370
337
782
138
134
326
564
372
745
48
543
533
171
895
627
169
641
680
961
889
775
506
68
407
721
107
361
877
505
38
562
499
527
676
118
653
786
609
287
166
907
718
80
746
986
787
352
783
44
935
590
458
767
283
605
647
829
59
820
551
358
636
968
884
825
779
987
33
473
107
381
744
728
48
788
464
546
109
899
652
17
831
676
825
481
55
599
1
307
580
414
435
630
188
958
342
798
538
247
130
202
152
599
132
606
351
46
433
378
592
803
192
473
177
167
190
124
737
449
342
121
343
77
767
678
482
161
542
630
698
255
726
368
324
842
72
332
587
328
290
642
702
351
423
928
260
296
376
555
750
111
84
87
701
447
710
524
495
373
981
274
941
432
177
829
891
104
806
519
70
936
15
696
975
205
399
888
381
874
124
202
828
818
37
336
367
137
301
869
393
651
827
658
219
605
597
867
992
401
719
281
712
441
978
241
692
435
658
200
164
589
314
936
236
627
75
707
373
337
868
47
565
904
247
952
806
813
994
464
958
402
419
351
652
686
151
398
243
288
103
657
823
342
338
629
586
731
764
511
935
80
900
334
929
686
381
342
869
96
955
863
737
602
61
478
639
777
777
319
643
842
502
422
507
497
156
293
466
464
229
677
107
216
476
157
35
317
261
669
881
434
198
980
349
284
568
685
337
606
836
736
916
478
95
228
461
689
927
485
267
846
441
781
928
764
466
795
98
32
220
186
762
897
879
67
860
428
355
161
706
526
620
873
284
280
443
665
82
639
755
29
530
324
505
932
306
633
722
687
453
239
222
579
285
518
896
19
675
458
812
890
541
459
9
536
807
841
83
452
986
829
420
201
725
263
289
296
684
798
657
648
614
155
35
514
603
478
810
375
574
869
244
183
770
530
816
867
649
181
562
850
582
969
980
447
149
139
796
444
640
472
597
409
830
466
98
926
577
940
515
545
724
403
620
509
420
959
435
131
910
289
10
807
883
204
880
422
816
297
713
396
935
282
97
845
202
107
721
831
499
183
815
474
435
804
122
747
795
734
241
763
673
514
804
601
46
287
427
876
405
470
711
255
294
541
65
727
972
835
860
575
194
652
603
164
18
83
232
820
282
791
169
71
156
460
224
79
400
739
402
305
998
692
819
52
32
420
224
897
383
822
877
427
353
663
836
169
228
639
353
167
947
255
326
60
427
114
670
625
523
476
916
201
648
146
531
337
854
190
767
344
712
531
391
943
469
829
462
812
535
855
648
214
434
332
126
991
376
531
267
745
581
917
150
760
892
325
206
515
547
821
954
304
894
796
491
434
373
905
351
972
340
588
411
150
691
271
58
616
698
264
731
266
207
207
463
266
655
309
128
413
566
594
157
96
885
955
207
448
191
80
145
949
60
920
559
632
340
199
552
760
120
668
289
178
535
880
653
984
475
622
844
833
775
722
492
87
400
196
311
888
731
24
150
955
215
45
612
387
603
528
349
518
241
273
419
722
71
905
141
830
593
74
782
600
747
524
780
167
2
255
259
529
555
793
134
729
210
964
128
146
24
630
76
689
328
107
896
188
27
663
535
181
804
241
355
560
163
124
209
977
496
548
32
632
630
512
12
31
357
179
847
593
339
177
181
589
828
526
263
24
271
892
486
941
930
446
688
481
736
519
26
819
709
462
640
757
593
165
71
368
804
449
845
82
100
831
547
653
802
568
240
90
669
989
713
994
949
729
559
759
320
799
118
20
644
301
951
777
811
899
720
578
610
916
270
958
373
264
785
549
673
922
507
432
21
780
65
575
632
256
370
125
376
182
643
60
484
398
112
587
295
904
188
190
879
659
775
660
805
921
192
253
370
949
470
462
30
260
341
562
201
311
840
428
176
485
467
156
722
751
718
920
284
875
932
649
432
564
144
219
917
312
680
336
357
799
876
208
594
85
428
198
756
835
466
757
321
87
156
470
3
843
770
356
140
582
565
594
253
564
379
729
875
670
501
534
392
862
943
688
703
790
74
868
701
565
774
743
265
675
148
238
875
315
408
596
540
563
323
167
762
849
841
102
463
629
363
701
933
159
971
977
168
111
410
279
944
791
986
143
133
114
411
38
85
561
415
830
652
91
797
61
595
374
645
725
210
750
679
242
408
216
322
193
469
749
757
614
74
655
460
808
50
341
863
593
994
628
425
488
297
716
182
533
28
197
665
329
630
556
34
539
628
243
559
827
612
100
854
838
836
431
371
304
479
860
594
363
766
413
310
423
287
461
638
602
473
363
467
555
509
853
219
391
931
57
380
278
158
790
110
192
299
951
878
448
20
195
687
553
39
612
90
322
269
940
636
657
138
733
280
208
702
353
470
21
413
467
201
572
93
675
640
695
597
323
227
810
789
36
416
716
743
340
865
88
685
62
359
417
713
95
333
174
651
22
497
458
854
426
623
75
602
342
431
956
617
70
398
476
513
544
354
956
404
763
10
653
644
307
376
43
924
428
35
694
331
239
227
102
976
23
100
643
119
510
326
322
119
261
170
668
810
166
686
182
696
253
426
967
777
346
626
46
637
139
411
721
138
389
314
543
844
497
30
823
954
145
989
932
49
257
488
428
324
792
231
298
312
772
760
244
915
42
644
368
83
564
390
448
921
293
249
956
137
856
396
904
376
818
604
384
610
908
72
608
503
404
999
893
959
176
983
310
777
402
536
127
290
577
19
944
502
569
595
147
814
377
564
59
727
140
844
373
897
540
459
416
397
384
554
864
867
887
623
564
785
557
585
758
39
199
421
575
525
766
309
688
802
374
332
615
162
39
419
324
880
380
503
563
653
646
611
266
482
290
536
114
585
26
186
574
750
509
204
144
890
706
377
876
617
612
131
517
493
6
188
91
331
23
808
916
443
551
544
531
146
768
480
498
579
650
523
682
987
58
7
764
524
922
630
900
402
324
350
70
690
947
440
105
300
506
512
854
469
951
843
231
764
137
729
577
264
296
53
709
788
395
399
1
908
294
976
706
319
622
362
483
833
984
727
621
252
820
716
396
888
773
931
217
83
425
564
244
582
598
939
654
774
450
809
972
977
134
621
755
360
591
49
250
649
849
579
815
610
178
631
313
889
278
452
413
671
484
974
434
41
526
97
463
126
956
979
851
631
913
220
860
350
968
12
248
593
687
513
105
905
42
263
323
768
384
128
686
178
484
301
544
475
755
553
507
354
765
608
125
327
194
317
251
130
903
563
501
266
258
671
836
102
862
642
165
92
97
685
96
114
323
979
817
490
619
978
776
342
274
407
249
156
609
415
799
855
350
692
922
140
966
99
1
789
475
719
379
141
74
794
657
267
295
28
189
511
912
627
548
321
901
461
828
614
777
278
230
307
227
85
984
187
419
215
209
876
382
763
102
684
8
473
273
550
501
325
108
908
848
80
703
309
663
869
416
664
953
761
132
472
752
944
588
222
131
119
673
908
744
316
863
823
522
664
402
723
686
11
202
348
273
24
863
635
617
630
655
231
162
719
91
449
887
395
730
689
338
704
690
277
879
892
630
251
7
800
616
590
181
536
90
844
328
329
137
783
659
253
750
475
72
453
136
247
380
732
321
834
375
451
427
185
761
85
351
566
980
296
997
541
278
970
263
855
842
256
813
546
293
115
156
467
215
318
672
690
508
812
279
729
188
639
28
879
268
520
224
444
783
659
891
695
761
568
172
427
430
599
702
614
951
733
110
640
855
518
286
663
29
696
106
416
73
37
746
108
793
953
912
247
155
708
768
100
701
72
245
246
696
419
912
273
441
6
534
823
343
482
236
226
907
542
686
551
257
373
265
442
228
300
132
757
921
748
136
841
121
275
380
776
333
779
186
93
632
517
977
746
121
995
627
379
115
250
423
321
647
482
912
180
325
575
8
546
367
609
470
278
838
672
434
152
292
968
427
645
139
471
985
373
128
705
966
897
237
575
158
337
912
512
744
37
14
620
290
63
241
178
749
146
367
596
376
622
957
543
48
841
248
433
703
316
373
976
936
179
266
348
141
538
943
274
533
50
326
406
288
284
651
7
405
645
763
407
65
927
812
785
670
7
179
637
915
87
211
857
29
5
720
453
894
198
376
58
200
494
375
769
944
844
166
348
43
709
653
573
690
4
697
926
637
959
372
77
442
804
465
504
756
987
745
773
920
154
363
467
367
486
650
949
380
960
927
673
730
138
867
185
947
644
28
753
418
129
825
569
348
461
144
191
49
419
635
858
160
296
8
459
232
984
765
959
224
687
785
99
314
365
121
257
828
386
736
876
437
140
244
88
550
916
725
547
534
309
116
707
550
193
445
117
762
844
708
355
28
882
782
612
217
955
823
374
510
358
285
885
54
247
291
879
356
111
797
787
185
288
453
925
670
622
823
90
193
810
853
703
3
26
526
205
497
342
809
741
31
944
911
903
298
470
733
995
79
601
907
311
957
865
556
660
732
822
892
416
488
430
168
732
149
26
455
947
449
313
554
752
144
517
56
728
721
617
505
381
909
338
717
795
773
221
596
997
836
433
50
290
61
341
133
735
650
323
759
1
117
676
221
895
244
818
183
603
231
380
746
725
738
686
35
44
585
735
584
817
626
898
687
167
185
247
391
867
417
287
282
113
139
302
216
426
641
337
646
247
319
122
800
441
663
806
742
331
307
380
844
984
625
761
94
361
888
86
991
289
142
428
927
866
224
529
397
209
530
312
527
206
211
367
114
746
276
623
649
494
715
170
223
372
878
523
418
58
721
210
494
357
260
163
659
629
322
635
107
176
148
76
429
86
946
855
749
202
515
690
619
262
329
475
290
953
457
383
902
24
788
93
555
999
951
816
533
76
673
253
337
539
345
5
149
274
422
842
701
401
768
803
347
414
356
912
535
137
392
338
835
568
436
1000
94
347
804
754
276
327
108
982
565
225
218
841
481
56
560
452
20
544
484
964
340
949
572
63
69
776
753
592
113
828
50
969
332
65
797
280
847
958
702
490
700
331
969
288
145
957
661
642
1000
993
973
468
306
148
891
404
932
351
949
97
201
632
969
715
761
974
706
276
486
291
839
113
693
10
469
746
644
88
658
372
805
10
734
233
842
818
842
622
736
943
715
284
20
963
856
893
132
573
515
412
284
439
241
42
479
63
337
588
398
16
174
620
466
801
615
566
173
681
810
387
414
362
42
540
774
255
875
725
739
34
291
814
955
487
194
943
4
973
198
764
195
765
9
664
567
655
276
858
827
4
527
767
281
921
576
697
407
751
845
896
884
63
831
565
506
36
735
515
262
296
315
53
161
213
85
888
533
27
232
364
530
443
667
447
268
948
988
303
476
39
297
762
644
194
386
257
600
432
955
630
781
826
400
402
273
241
835
654
741
510
597
835
318
428
365
830
69
443
249
711
975
730
965
208
586
226
735
519
889
836
835
602
771
290
873
700
165
67
724
248
982
613
354
753
107
361
675
742
472
437
62
947
955
255
202
958
430
476
637
238
683
215
973
165
713
581
179
805
835
525
576
803
997
399
429
710
389
467
515
37
899
778
262
556
219
519
867
404
853
843
679
823
145
264
944
202
986
201
22
898
401
249
966
639
860
116
436
914
117
695
340
912
925
342
873
789
152
194
309
63
976
949
59
941
683
146
623
741
722
972
361
604
14
29
658
45
998
969
319
967
14
872
274
398
51
590
219
865
776
689
23
552
460
129
769
265
126
154
26
141
294
321
245
840
847
225
989
235
758
992
67
126
263
373
382
34
625
511
820
913
485
848
404
472
324
427
55
169
23
185
684
964
480
528
819
918
119
609
994
702
347
9
660
773
733
516
754
327
539
117
517
736
788
335
71
863
857
548
460
887
471
16
379
949
834
92
574
960
806
947
186
55
877
505
565
268
487
334
522
970
568
523
860
896
821
808
96
214
873
290
635
828
674
308
246
202
564
743
735
999
771
70
102
460
453
622
536
288
723
792
291
499
269
163
132
351
63
79
898
73
491
121
964
57
337
882
443
977
457
453
634
322
809
632
207
486
242
344
817
261
605
845
110
255
719
525
215
513
613
746
438
436
967
293
249
469
173
192
614
965
3
995
321
885
244
200
431
722
209
714
538
590
599
115
835
564
533
764
939
471
60
19
785
663
559
221
21
125
271
187
135
178
886
511
380
596
290
998
544
357
824
780
332
144
105
32
469
119
844
703
432
712
661
877
523
193
988
554
592
280
209
712
950
984
871
842
863
843
700
911
263
990
817
40
316
707
948
502
236
671
291
547
260
776
847
542
661
335
560
791
227
266
1000
585
560
13
442
705
636
998
651
390
650
872
18
308
927
802
573
388
263
227
144
648
480
674
824
551
171
768
356
811
321
436
709
388
705
733
174
437
332
446
813
364
628
98
914
258
252
428
826
436
637
193
981
75
840
149
10
61
631
742
523
471
578
539
247
871
744
605
760
506
39
503
240
178
853
592
33
648
296
310
947
847
347
119
14
494
714
307
985
846
28
615
8
518
688
350
283
832
413
649
705
112
678
701
785
143
275
398
231
496
715
766
242
692
357
43
344
168
625
859
815
491
906
952
498
590
799
268
502
621
692
1000
340
711
299
774
557
152
328
645
253
570
586
664
871
752
840
525
437
989
146
750
721
548
473
148
439
229
86
736
584
880
92
354
334
944
914
777
630
816
162
661
863
752
250
672
733
565
229
261
750
416
224
154
497
806
623
334
972
946
165
368
50
3
640
904
80
343
13
310
877
961
97
437
324
615
501
689
335
58
86
698
781
826
412
718
814
667
263
696
559
320
424
549
215
232
51
520
74
120
552
82
204
745
934
952
225
264
584
229
551
842
430
927
565
547
92
649
356
2
498
46
698
904
794
127
895
303
681
264
617
345
102
439
276
283
539
979
187
370
396
29
573
143
887
67
443
284
452
765
754
604
921
496
199
44
763
734
665
192
256
878
937
933
521
235
365
172
25
720
885
409
593
20
6
636
844
478
331
924
387
194
83
957
587
427
176
296
982
947
208
979
414
421
442
170
83
735
455
970
857
554
750
698
517
968
155
345
254
537
695
168
533
291
501
844
8
44
408
895
179
965
75
612
68
164
674
309
733
963
511
969
705
284
539
865
907
528
800
539
495
440
575
3
585
630
58
925
343
19
869
606
442
944
312
944
919
300
121
866
810
320
367
204
633
458
340
143
861
565
502
324
105
111
517
334
813
215
278
515
586
94
104
296
328
674
556
488
430
293
206
680
175
725
629
640
170
87
44
720
300
16
362
522
622
311
721
594
245
931
135
837
136
29
950
809
792
880
763
630
250
202
42
917
95
343
429
767
990
65
739
861
122
845
116
479
649
756
416
383
98
587
180
615
910
366
377
433
365
165
437
544
247
815
999
771
91
773
779
597
567
815
903
668
303
234
141
538
755
353
692
57
616
832
671
580
607
798
57
259
663
591
696
145
269
837
736
970
379
949
13
136
734
705
150
939
635
961
761
838
8
863
125
226
113
622
810
92
178
30
795
852
476
58
272
857
118
32
363
672
346
169
459
903
824
524
220
289
235
688
57
142
231
320
420
476
277
782
694
163
775
566
869
169
758
867
901
28
732
961
415
657
397
402
285
954
18
533
458
620
292
145
349
1000
733
548
767
834
519
137
138
711
165
768
221
164
843
265
803
768
583
956
215
159
197
264
80
766
467
811
372
712
683
158
794
365
792
360
481
974
441
467
360
420
364
504
511
406
654
32
290
700
268
57
180
572
928
540
512
448
259
102
759
520
570
560
968
229
74
68
763
8
610
539
297
449
657
570
612
663
861
354
734
59
47
451
808
772
643
185
868
605
187
181
82
827
579
343
752
154
811
947
804
760
166
341
270
533
91
828
537
968
185
964
619
392
112
393
129
996
282
472
18
681
870
170
36
233
934
959
760
18
976
748
248
150
859
78
579
125
476
569
510
132
59
785
556
880
355
677
238
151
378
432
135
794
978
111
534
374
414
232
167
242
943
74
610
87
797
950
407
498
430
218
633
596
870
811
449
970
646
726
234
475
606
439
516
818
352
686
369
610
11
260
223
509
635
719
92
75
939
396
715
401
542
903
625
255
769
306
66
750
420
353
263
536
10
53
83
571
564
326
433
679
856
628
631
843
54
132
65
788
976
409
667
5
632
659
347
836
873
324
856
67
706
619
801
326
576
405
546
147
467
334
553
350
632
948
459
229
378
280
577
791
923
573
649
819
667
669
302
373
973
985
914
730
868
434
321
284
90
612
215
211
574
918
824
680
779
4
840
685
319
87
1000
690
305
951
714
447
487
388
745
262
868
594
322
948
352
543
165
915
748
686
120
319
129
570
831
772
465
431
370
34
320
79
977
303
159
512
584
390
174
816
403
571
581
92
520
306
818
36
893
350
762
889
382
325
836
672
935
689
54
663
284
601
691
877
401
296
899
25
651
488
198
610
614
409
586
508
58
193
677
454
974
426
964
646
914
826
254
862
170
526
88
165
301
840
519
361
719
808
939
523
377
908
792
3
5
181
899
223
969
714
115
802
360
874
433
814
91
61
376
943
457
566
626
741
696
556
450
259
14
219
989
39
440
413
57
258
605
895
434
566
288
180
234
836
5
945
125
840
471
364
886
403
554
692
926
392
486
534
553
430
686
444
714
541
589
121
357
218
421
503
728
435
964
771
456
629
805
660
166
842
996
251
361
731
64
612
375
550
449
248
337
387
548
997
450
851
611
887
620
422
470
887
877
232
413
688
303
667
957
236
784
70
464
548
523
911
326
184
228
663
105
858
456
451
200
547
413
308
311
376
667
860
854
96
166
980
703
203
315
725
795
257
280
710
798
956
798
526
264
317
115
206
546
372
307
56
953
655
730
412
469
153
128
924
723
388
781
743
837
673
148
71
396
4
845
726
743
327
271
493
393
496
663
397
247
447
763
777
329
700
924
119
784
300
418
712
380
893
390
543
743
893
326
267
675
461
709
442
151
888
16
228
431
773
521
666
756
69
208
112
372
420
515
806
23
532
131
798
708
598
778
426
5
517
410
567
98
235
360
46
575
169
307
539
520
852
601
537
444
57
66
8
519
337
373
370
983
425
496
305
650
182
93
629
222
632
616
921
675
99
909
399
439
541
695
750
721
404
735
512
147
851
890
53
862
659
84
680
712
137
125
649
207
652
938
176
746
750
41
132
19
883
571
27
660
217
364
347
20
405
520
952
312
697
723
609
216
773
222
598
843
560
131
117
534
171
821
256
149
872
241
755
494
52
994
213
472
663
392
578
802
354
571
988
746
244
909
486
216
340
594
616
146
38
584
498
462
136
844
378
491
160
739
194
670
432
434
802
523
252
50
893
491
672
561
952
474
351
339
318
247
594
408
177
456
66
966
533
30
968
552
999
463
362
272
154
220
588
307
413
210
69
788
889
413
570
342
192
420
528
810
77
232
190
210
258
863
608
127
557
31
575
488
632
20
306
938
397
58
712
810
270
697
160
679
109
925
103
30
347
337
941
16
186
600
777
720
529
640
361
380
448
183
915
262
367
546
686
348
993
141
135
42
722
219
995
378
824
854
983
593
570
992
885
710
425
129
848
460
566
597
241
505
792
591
397
34
928
769
670
753
533
733
104
164
346
903
147
179
150
957
118
464
69
359
267
225
314
498
270
817
486
213
21
199
962
342
789
616
139
476
223
510
899
858
279
863
519
711
986
17
975
493
574
904
587
386
132
411
947
600
111
449
406
695
358
68
941
245
100
158
778
108
814
203
802
397
82
265
228
577
817
428
577
910
589
298
142
796
430
318
651
509
483
860
777
998
600
290
612
939
213
680
272
727
658
889
401
396
436
312
642
465
500
436
936
52
948
189
807
411
723
912
807
17
932
159
703
226
343
695
894
263
816
629
722
82
694
792
115
699
754
135
713
188
888
4
371
193
700
588
326
56
703
759
798
529
521
301
577
938
806
300
997
301
916
791
759
414
389
652
124
437
952
766
385
426
327
397
177
970
602
894
631
259
60
780
91
367
337
74
969
132
744
657
1
701
877
81
341
743
540
571
733
791
180
890
854
109
54
5
22
964
614
538
511
540
624
924
666
893
451
818
133
495
831
719
312
666
130
295
74
793
837
145
287
264
328
586
493
225
411
347
424
559
877
237
713
707
754
613
534
191
89
58
771
55
960
341
253
709
86
416
17
492
976
687
137
223
11
451
227
884
984
965
299
406
651
322
710
856
253
496
900
699
205
869
352
383
590
426
570
290
744
69
776
510
89
575
961
30
797
532
616
622
162
36
867
452
824
810
459
422
329
601
441
115
598
103
786
577
181
800
466
845
919
545
613
722
915
59
646
611
301
471
960
172
850
453
269
305
679
467
923
31
979
671
314
491
807
571
39
20
577
652
251
856
844
486
586
73
91
64
505
14
121
199
136
715
944
621
927
807
82
426
770
470
390
415
542
303
453
8
667
817
729
375
277
391
691
922
742
138
261
402
415
180
152
913
710
452
803
353
782
580
168
797
787
743
958
73
328
582
115
394
549
460
780
124
541
665
176
432
687
53
268
600
554
574
663
950
979
142
797
571
137
67
221
847
564
375
274
708
821
19
914
759
116
921
710
608
316
947
374
472
480
158
29
405
877
774
953
248
727
407
605
795
984
347
196
665
117
546
340
858
941
853
787
961
701
917
292
383
469
184
514
148
628
328
793
977
876
782
179
221
898
149
527
781
615
294
663
686
883
93
85
769
17
420
348
906
905
938
60
429
697
968
748
50
511
948
592
568
906
439
325
53
561
341
282
671
945
693
702
637
414
978
943
682
465
689
750
400
545
232
852
77
887
650
303
863
766
700
769
876
198
386
537
317
665
348
992
691
482
134
708
418
343
101
465
865
852
912
793
188
415
216
177
19
762
218
646
199
670
505
42
242
300
87
671
759
804
808
759
14
801
307
719
533
720
174
666
598
736
785
632
293
99
763
788
52
549
855
952
142
444
340
282
237
796
423
264
369
625
884
454
646
789
795
911
906
998
66
11
476
499
316
832
298
57
167
105
84
703
402
758
682
771
450
837
580
243
285
498
400
493
893
153
54
247
314
73
511
882
459
743
124
571
443
483
470
684
5
644
947
262
969
763
582
724
769
340
651
384
263
606
990
41
918
862
29
90
225
884
84
288
191
667
105
235
215
50
5
51
878
977
555
145
274
407
542
139
66
226
987
533
976
183
988
810
848
911
520
856
659
426
846
854
811
970
920
311
238
570
988
240
481
446
607
610
93
781
492
753
418
728
1
504
609
111
835
279
317
692
49
961
593
543
509
503
389
817
500
785
785
515
913
490
790
416
326
10
922
646
770
892
637
197
432
839
788
853
986
237
635
628
673
431
543
363
990
778
305
565
882
711
954
928
591
53
398
581
243
374
12
757
964
453
802
435
898
128
585
939
416
85
762
465
60
551
866
395
913
577
190
766
189
704
144
222
556
311
489
796
152
430
699
17
931
961
753
235
244
937
260
283
45
222
244
534
649
780
414
847
174
971
841
270
893
605
830
783
83
513
233
565
355
470
869
321
213
249
957
967
177
75
696
87
896
593
609
608
740
797
259
247
406
460
453
815
345
212
762
540
93
555
423
144
276
722
778
883
550
969
338
21
113
62
997
323
495
453
868
85
951
398
121
278
252
192
269
687
783
574
976
275
713
725
844
78
262
860
650
183
182
491
99
755
64
688
73
141
100
341
589
871
356
44
226
460
36
404
127
437
663
795
916
333
444
693
895
402
267
14
714
5
819
9
397
704
648
158
234
1000
667
685
46
878
623
677
551
120
224
228
869
215
178
792
622
59
280
317
903
424
518
415
913
56
903
317
383
154
799
577
226
474
33
742
119
785
801
836
934
753
314
900
446
456
228
96
206
410
228
460
872
339
298
130
105
105
520
987
684
24
40
871
910
845
464
785
956
688
971
740
456
379
428
275
585
61
128
513
746
562
594
429
163
479
67
527
846
322
696
852
598
560
490
499
117
647
297
224
334
605
91
1
285
714
259
689
824
837
891
342
113
130
701
790
955
935
516
7
101
324
584
660
532
121
734
512
798
311
132
731
620
497
494
805
413
701
707
312
655
244
307
398
562
254
720
538
17
360
952
256
606
431
154
253
621
440
598
381
156
307
904
232
304
807
135
292
585
265
111
629
667
888
441
789
752
627
173
500
892
959
970
42
286
613
439
119
393
237
189
863
406
367
958
319
838
787
917
922
873
498
99
241
233
384
961
182
849
103
335
813
613
691
831
315
156
528
957
305
574
274
259
885
980
273
139
232
127
973
440
372
602
61
103
761
286
143
155
334
516
65
538
806
705
915
719
225
171
600
371
973
943
355
179
26
542
469
832
332
117
720
828
564
138
87
144
916
201
796
290
794
285
205
378
813
931
612
316
648
745
772
947
836
433
113
181
829
464
340
620
15
278
980
940
432
850
745
128
865
1000
937
663
481
50
3
430
373
230
400
488
840
384
462
485
198
851
644
259
851
49
865
184
180
627
267
839
97
967
35
908
147
765
955
722
856
408
167
996
565
884
161
399
130
763
478
378
103
140
665
238
875
990
71
621
331
229
44
461
845
822
686
305
82
221
219
406
15
3
589
313
40
282
76
286
772
312
509
649
314
503
860
466
917
263
461
965
858
11
626
26
921
546
868
882
478
100
922
775
739
928
709
913
747
505
730
934
833
532
574
224
109
493
80
57
627
731
74
804
495
813
297
580
473
338
30
883
311
848
73
859
27
760
823
799
505
14
545
701
915
257
171
690
932
539
834
621
678
544
58
822
978
759
438
380
990
200
229
561
672
877
37
108
644
897
222
334
155
319
103
531
129
955
689
323
825
853
273
147
291
363
585
366
193
639
440
560
685
772
927
450
711
842
5
571
918
818
374
429
840
506
461
874
850
676
883
179
766
817
226
387
653
216
270
870
55
359
843
539
64
8
372
946
230
521
75
105
243
589
824
808
735
849
681
105
82
599
195
749
512
207
58
652
349
692
520
886
230
758
857
998
497
235
431
273
810
739
84
352
181
239
339
2
835
691
559
547
469
648
498
994
491
492
645
55
379
992
287
840
589
455
989
118
127
213
807
166
350
763
914
771
427
682
850
947
816
563
62
540
952
296
314
622
822
188
718
422
167
286
302
567
238
224
302
131
636
583
838
167
274
301
125
271
705
855
316
536
476
491
63
619
12
968
60
184
763
393
474
482
229
263
811
355
390
127
222
934
260
495
433
449
431
580
962
522
141
315
432
204
632
90
87
543
685
527
874
549
488
419
873
324
939
57
990
950
59
603
381
830
511
104
8
184
576
506
459
13
954
218
556
528
402
206
606
22
544
871
772
189
967
934
100
325
21
913
307
613
778
121
299
541
143
920
882
393
134
820
152
699
502
244
960
32
781
655
852
553
944
598
513
523
870
532
256
653
200
668
710
181
513
504
961
481
564
120
260
580
453
368
790
780
167
937
667
428
162
792
359
958
317
584
394
350
12
37
130
314
508
869
588
540
982
241
566
278
505
28
340
860
266
662
481
854
136
942
774
584
117
781
949
300
271
886
634
721
701
218
472
468
858
996
924
580
644
441
159
721
102
128
776
350
492
262
490
293
584
199
627
647
925
663
5
61
27
258
158
166
49
784
815
260
66
580
535
184
431
713
323
615
722
162
975
995
104
351
111
667
255
259
828
959
346
725
36
636
23
560
643
584
177
696
877
800
714
816
278
331
392
256
143
984
347
24
839
97
982
762
240
742
347
860
809
396
262
631
711
625
457
705
902
995
7
346
987
813
416
256
950
100
78
596
21
421
529
523
675
528
415
417
473
255
939
395
55
929
578
644
591
867
501
82
4
6
92
414
521
713
725
984
304
96
72
595
602
920
896
250
386
719
482
212
984
206
409
685
589
191
564
667
976
782
736
589
936
254
515
122
248
447
348
269
343
722
222
991
660
633
830
241
576
911
230
394
222
483
560
758
789
722
771
997
305
580
834
947
472
452
785
971
620
520
987
400
102
208
562
406
845
614
980
679
995
875
506
711
415
925
386
710
30
231
793
822
46
695
42
818
310
818
674
572
749
289
488
472
816
97
655
547
928
300
10
738
924
554
568
705
832
374
635
991
59
255
819
1000
815
844
284
442
425
781
967
475
639
109
526
293
60
700
685
256
440
936
686
573
629
240
59
823
40
511
910
412
857
582
338
920
415
391
672
933
726
310
389
563
32
767
438
80
878
180
800
701
38
458
159
302
407
579
60
749
738
529
251
354
45
100
397
914
230
195
938
740
853
864
167
18
966
15
655
775
942
100
358
243
493
339
800
582
960
327
210
85
650
242
827
897
793
112
310
73
478
706
78
333
110
697
770
678
924
356
561
358
706
577
335
796
397
931
349
595
695
838
402
838
680
789
728
577
169
345
49
397
840
495
355
203
690
607
548
687
566
651
946
644
123
653
286
380
146
473
493
905
67
540
410
240
22
268
969
986
727
4
172
724
196
808
93
815
737
878
589
960
334
772
845
330
640
96
986
869
303
778
358
63
9
832
404
419
249
922
711
515
47
259
574
968
782
496
25
846
728
734
683
247
530
542
986
411
298
566
466
256
441
502
987
643
717
441
63
931
358
184
89
943
737
521
672
241
11
675
969
859
419
335
489
643
470
510
682
757
856
907
815
379
481
797
725
24
371
169
694
520
60
350
649
357
992
503
914
370
771
972
417
400
362
919
578
598
7
155
653
330
848
264
884
823
958
799
809
183
159
330
764
220
640
819
950
605
980
820
914
713
1000
3
119
425
333
34
779
370
136
380
208
293
362
775
389
888
811
860
342
948
282
975
236
380
361
626
874
541
747
28
800
245
355
524
647
934
785
696
424
389
42
544
834
310
39
811
647
159
880
847
701
637
659
759
466
792
580
795
198
91
967
868
481
426
368
185
74
824
197
743
158
459
702
381
717
191
336
384
754
130
780
267
177
838
873
388
772
105
725
975
524
144
120
723
62
429
970
311
998
637
309
12
250
469
765
230
864
615
464
693
699
885
392
110
194
880
946
49
198
224
549
528
617
683
340
648
86
919
219
773
889
669
880
1000
423
709
924
306
446
689
87
121
479
460
452
203
748
173
394
893
509
423
732
540
887
529
9
603
566
833
877
791
342
45
250
114
746
488
181
640
284
161
200
102
848
491
319
455
173
477
776
16
180
632
440
566
348
145
673
179
208
918
302
179
917
925
505
709
363
176
293
40
20
821
545
763
553
931
637
414
116
953
609
294
431
670
371
80
824
175
568
619
827
477
130
293
38
699
152
746
779
279
121
932
957
238
472
826
14
577
772
803
815
545
570
208
584
946
896
471
173
796
296
718
431
973
818
749
346
720
44
659
236
780
420
772
810
564
378
42
601
733
921
887
279
152
538
42
15
529
967
181
20
948
367
888
766
838
582
593
238
247
720
494
48
584
656
134
934
875
746
370
739
412
468
939
856
844
214
78
68
255
564
511
499
674
650
139
525
933
685
746
575
560
902
382
150
784
309
127
474
894
827
741
840
454
405
380
479
222
549
206
858
705
640
837
106
1
92
510
51
562
118
392
200
941
41
454
177
775
138
944
410
265
798
967
541
397
89
886
448
741
71
422
233
960
634
250
793
884
514
385
333
876
607
885
986
179
296
623
902
346
630
327
270
686
387
836
548
63
662
373
429
481
227
502
867
652
950
82
742
361
4
691
876
856
839
807
555
97
456
161
15
602
959
589
630
667
901
478
945
224
568
91
415
867
924
921
870
369
137
625
298
732
405
432
898
372
143
63
339
364
533
202
894
170
495
144
161
204
646
830
1000
576
845
599
972
8
275
497
550
186
880
709
774
36
35
903
964
327
990
748
795
722
438
326
85
200
412
720
402
883
796
222
369
878
580
864
969
432
21
801
8
83
696
299
740
126
196
201
969
204
128
85
461
655
389
368
768
475
325
961
410
234
431
552
154
727
724
895
446
459
122
776
308
833
948
780
665
626
97
271
510
461
861
346
742
234
682
890
695
124
247
373
580
898
638
8
624
694
336
987
9
53
221
952
828
448
379
507
644
107
463
214
302
566
206
234
704
446
157
368
810
528
395
516
577
143
729
880
460
433
112
624
615
24
39
344
2
85
463
339
663
1000
202
54
590
777
278
585
522
187
405
50
601
456
63
851
733
661
357
218
630
104
456
947
964
798
554
805
850
809
600
270
419
937
600
36
485
999
317
955
194
886
983
533
280
547
69
198
13
467
619
921
714
541
526
710
950
409
514
585
93
788
206
648
826
593
351
930
17
538
908
635
611
881
918
504
482
869
222
94
425
120
402
136
780
402
790
133
745
673
483
962
306
34
654
512
336
192
937
623
875
939
418
768
837
839
782
732
287
416
280
842
999
932
284
604
100
101
541
21
596
947
654
295
734
205
562
164
738
989
923
333
848
480
403
935
345
432
216
650
666
915
196
284
892
764
696
480
273
721
142
124
596
660
6
84
227
921
476
55
867
986
797
419
611
993
819
962
442
433
359
355
986
110
206
85
962
860
755
791
417
757
916
404
964
602
185
754
522
568
568
807
543
249
70
537
809
9
976
248
893
452
948
158
94
128
156
629
649
970
299
758
481
728
904
763
586
731
294
682
947
915
704
731
221
870
125
52
951
763
968
504
363
382
329
465
172
87
708
821
650
866
157
758
971
748
395
769
646
940
245
166
975
315
814
198
416
792
608
333
905
790
126
425
383
861
1
56
494
401
677
188
251
712
705
993
917
110
11
70
389
786
320
791
269
115
820
808
33
561
608
806
597
820
261
627
54
604
692
857
702
925
865
708
745
770
988
976
305
861
648
379
504
551
109
916
801
753
390
215
197
729
670
998
166
893
233
13
316
462
878
399
836
447
220
138
929
448
39
781
723
67
678
168
945
897
747
482
56
615
604
49
126
869
790
263
803
239
594
736
313
108
916
734
448
629
460
359
406
957
466
578
514
982
391
490
780
97
962
901
651
88
461
597
793
173
518
626
40
730
654
626
432
366
967
514
307
562
289
790
186
804
207
862
509
528
58
767
939
86
753
473
891
676
312
551
857
823
108
226
286
476
748
617
275
289
19
252
174
145
401
602
204
809
369
31
611
339
885
142
451
826
911
797
65
650
615
47
285
794
206
421
853
14
383
227
785
112
466
284
618
457
490
16
488
143
248
369
377
64
232
686
125
92
914
260
670
583
869
883
829
514
310
705
944
182
797
148
45
414
165
134
580
342
989
239
392
539
9
429
808
110
552
215
955
7
469
687
197
472
237
98
589
40
832
53
303
893
738
57
85
388
986
288
759
193
586
874
962
164
175
386
300
157
263
790
925
630
860
408
986
392
408
120
2
567
559
416
941
727
493
655
743
555
347
545
763
508
542
876
886
913
387
44
743
951
791
1
473
741
843
798
631
482
495
808
168
587
596
344
730
178
593
846
48
632
533
240
12
181
317
923
626
980
30
854
867
209
514
435
428
430
476
11
704
349
407
737
1
460
208
903
36
33
394
659
618
564
480
21
649
629
290
850
854
340
293
535
60
920
244
534
940
499
884
680
385
530
35
105
617
607
35
266
514
394
628
64
559
249
520
881
932
258
272
748
82
336
496
566
339
71
314
353
211
930
209
975
620
452
856
809
310
465
202
973
381
653
373
257
305
977
530
799
650
6
215
215
490
514
489
667
550
488
516
57
325
668
543
411
750
841
901
22
315
470
440
987
633
241
467
622
881
33
708
632
985
728
82
531
121
77
223
384
424
888
386
939
548
437
350
236
837
35
118
616
400
286
806
431
268
266
637
594
428
874
300
924
940
937
362
890
487
334
424
719
685
637
284
694
225
564
794
314
398
626
692
643
632
254
742
606
38
469
598
366
921
882
862
157
494
243
609
266
674
587
220
557
497
509
782
243
449
334
592
349
475
898
486
719
289
434
602
116
306
283
597
757
716
890
455
266
119
12
576
462
283
744
391
864
199
761
880
503
541
999
77
11
882
41
878
516
598
167
364
173
175
378
50
86
817
400
692
264
34
105
713
396
185
982
453
310
213
883
573
880
712
704
739
724
736
707
315
45
161
954
256
979
179
554
809
512
583
118
228
983
498
752
535
461
542
781
955
403
985
443
732
831
815
894
678
560
912
644
696
486
345
50
796
479
387
246
751
208
862
338
285
351
851
334
774
70
251
590
143
38
998
34
368
977
633
459
667
719
331
52
409
507
677
194
707
632
431
336
88
47
650
20
825
380
118
178
34
26
534
87
637
247
214
754
397
879
645
847
920
535
638
222
464
135
347
819
577
188
765
360
797
494
734
955
955
886
569
17
590
840
276
576
270
785
56
168
831
54
547
81
423
599
419
167
163
21
976
54
816
775
430
288
437
801
234
480
567
766
448
239
7
440
264
981
743
377
54
909
438
285
274
634
897
320
990
322
587
238
878
655
601
94
867
433
464
402
194
839
511
707
243
619
26
402
233
534
694
963
550
538
379
947
240
93
996
139
132
333
701
978
635
421
636
213
819
159
930
420
22
515
968
20
564
236
927
829
135
152
626
232
943
934
668
698
450
912
347
783
117
344
222
564
123
483
303
805
793
801
186
616
30
887
364
698
297
231
463
80
747
327
307
928
625
410
112
316
148
227
641
307
639
79
364
772
30
155
23
202
393
533
222
130
607
796
293
367
274
884
60
88
954
435
187
307
146
935
897
235
498
534
980
306
828
202
359
678
230
247
782
231
65
534
313
728
344
496
114
454
883
436
279
498
951
771
794
468
535
207
788
942
579
272
529
531
919
150
192
193
802
446
861
567
287
831
827
938
804
626
299
435
937
979
696
796
915
125
534
786
660
137
854
831
16
671
523
873
685
523
55
665
461
270
495
326
412
423
734
425
936
362
301
494
672
612
298
710
403
501
308
804
745
718
136
1
575
159
990
959
130
239
84
583
706
927
100
281
422
318
450
531
431
998
380
357
91
414
139
49
317
144
661
339
917
29
535
163
84
134
497
845
128
269
864
813
570
840
191
37
461
838
62
903
767
684
172
714
577
468
716
522
763
556
769
667
846
713
577
253
376
731
123
54
970
390
535
900
946
195
209
698
550
100
463
426
828
474
364
435
323
334
978
868
936
992
767
151
202
447
341
106
699
883
569
659
995
622
124
745
204
725
87
145
826
95
504
817
218
708
511
294
237
695
162
299
753
471
822
890
549
752
497
636
460
849
373
951
915
731
25
985
99
885
14
319
851
478
499
832
2
603
169
619
662
285
363
263
764
903
844
300
71
709
912
637
618
594
849
456
549
672
957
105
242
960
881
385
705
393
854
797
690
579
891
915
515
659
698
848
523
276
209
958
880
283
333
306
888
651
459
39
173
88
389
226
230
222
806
153
134
740
262
864
278
444
38
164
339
520
464
998
286
855
366
450
2
396
886
283
910
864
526
529
681
472
17
693
292
62
889
923
919
351
215
295
669
727
273
762
141
892
541
641
10
549
569
812
488
970
990
821
475
544
472
711
618
865
875
779
501
789
501
928
760
308
394
821
697
554
862
735
183
406
509
429
738
210
46
195
20
140
475
974
54
336
941
987
814
584
98
250
167
720
545
945
988
367
841
229
64
128
158
431
680
964
580
216
366
785
232
823
748
495
752
750
173
829
967
295
645
383
166
104
437
39
275
778
940
203
978
226
521
237
633
417
871
581
987
775
547
771
79
100
707
667
33
672
295
578
62
13
860
893
990
285
720
447
272
887
292
288
481
504
882
81
569
124
844
345
282
231
252
687
453
890
289
112
456
883
888
717
31
553
565
555
388
664
978
245
193
833
972
26
634
329
460
233
105
496
147
553
611
677
727
263
160
661
213
705
880
622
214
305
197
261
359
231
439
709
110
721
488
138
878
794
39
467
797
413
314
935
797
351
188
911
884
339
426
198
323
444
986
482
757
697
830
238
742
422
769
598
770
797
474
808
330
73
572
737
714
205
480
262
61
442
855
655
950
621
628
653
925
796
80
430
879
145
109
876
533
134
34
283
82
993
644
943
817
288
566
848
122
36
146
767
739
864
993
681
712
496
842
823
619
133
883
122
954
661
847
184
512
203
715
303
447
221
145
57
962
453
746
827
125
887
806
442
233
62
722
854
249
464
980
890
774
178
172
76
203
2
139
317
383
731
7
143
178
453
754
831
621
599
718
371
596
468
817
302
47
879
879
222
173
481
596
856
47
361
949
239
730
839
488
100
776
419
227
562
175
524
883
43
668
925
32
275
105
19
592
272
575
146
725
936
392
36
828
13
343
235
755
487
111
456
555
756
430
137
436
289
807
323
966
994
750
27
555
917
898
147
677
337
755
661
971
744
23
829
413
305
62
622
177
279
70
894
598
643
809
972
754
693
820
227
300
694
846
207
348
8
30
415
458
532
535
730
371
829
232
319
578
698
460
146
856
567
312
118
958
175
134
826
304
489
823
440
283
770
181
406
411
779
239
366
495
65
664
470
815
562
79
746
535
528
364
283
829
550
772
97
435
726
691
831
34
419
627
861
261
139
960
328
362
606
548
528
569
981
697
696
89
387
736
601
801
447
487
772
115
588
103
633
390
687
287
284
931
163
503
409
837
935
713
522
517
662
882
701
688
654
589
319
546
526
938
49
434
911
667
237
765
237
738
572
537
595
287
133
222
339
865
944
950
473
972
507
57
340
203
772
606
695
240
663
366
460
538
64
911
937
925
716
703
773
67
982
693
426
877
367
961
188
112
587
142
840
821
98
252
820
835
236
451
803
654
310
930
745
804
751
49
199
209
27
353
400
411
812
729
254
281
784
351
552
487
762
428
277
251
857
989
667
329
622
831
979
200
663
817
166
154
442
585
57
150
786
996
408
257
958
177
987
960
109
183
300
704
763
415
230
648
255
466
178
556
696
322
121
168
767
125
881
979
581
32
268
135
990
102
922
709
809
990
736
132
541
858
502
266
276
404
981
109
245
186
531
734
276
263
566
298
580
375
449
610
926
248
197
387
587
671
110
273
894
182
136
526
573
353
452
888
622
695
778
122
947
706
475
791
485
419
203
191
357
561
277
308
389
649
539
954
724
975
702
50
333
248
302
375
815
345
962
61
868
920
42
817
722
903
836
885
562
92
151
539
151
379
403
177
1000
654
577
762
917
460
749
172
583
182
772
577
223
884
262
87
998
838
443
254
55
209
779
917
333
192
115
733
615
46
204
807
524
39
940
773
713
247
376
831
683
244
123
238
927
801
280
1
231
483
806
853
755
647
170
352
531
263
790
426
946
910
280
66
411
727
76
753
890
890
891
255
489
842
518
211
350
640
425
43
432
824
76
876
651
53
788
660
265
819
972
79
972
367
210
299
78
918
391
591
884
150
137
303
6
205
962
617
308
814
898
263
684
626
336
488
594
847
54
488
247
17
82
390
810
527
292
296
26
583
632
678
358
479
437
28
87
632
678
673
418
359
502
892
795
502
420
500
195
688
624
694
247
788
364
577
504
969
4
795
963
805
107
941
975
435
342
677
632
68
933
525
773
662
710
239
211
117
570
39
324
664
259
952
409
790
644
854
313
956
903
645
501
974
142
46
980
216
772
17
833
769
945
531
199
128
448
850
292
8
153
545
299
328
489
216
718
808
850
504
534
765
987
583
880
254
199
35
59
361
263
245
536
407
181
731
870
1
313
287
183
444
202
129
418
977
886
423
154
572
408
511
395
103
878
290
613
267
26
367
140
241
184
647
629
455
515
999
935
372
937
681
892
364
778
450
529
256
522
484
132
750
167
609
707
305
446
849
722
511
681
784
21
351
569
14
275
458
855
233
713
813
604
349
949
104
500
927
467
641
876
618
180
285
794
741
505
878
748
69
619
791
75
108
633
274
77
610
50
395
571
283
706
400
31
288
332
869
613
537
299
331
926
55
443
468
360
940
368
121
16
686
489
688
93
985
944
720
446
684
997
512
353
87
663
405
571
779
582
435
454
100
257
545
751
930
931
929
393
837
65
162
341
389
770
924
485
719
546
722
44
614
213
963
148
57
850
629
911
622
530
550
11
140
11
918
365
349
763
980
262
306
834
909
492
895
38
58
730
592
970
211
252
354
480
65
182
142
116
878
900
273
95
48
613
703
706
100
976
524
393
811
398
742
930
206
442
616
404
687
90
97
609
309
473
9
620
279
433
784
544
125
926
656
956
322
897
70
929
528
975
605
41
656
799
40
773
776
701
823
33
216
793
229
294
94
901
41
143
296
572
309
366
388
616
764
506
879
669
346
354
777
758
921
196
873
210
241
824
660
642
794
741
99
499
586
656
649
708
118
761
964
723
996
123
41
618
212
412
646
844
4
197
492
615
815
396
276
959
702
205
358
73
736
103
50
402
207
306
585
662
81
239
647
982
876
425
702
4
386
286
899
247
701
329
509
949
463
33
95
837
656
300
13
104
766
268
747
657
687
107
780
832
394
556
407
540
416
845
814
852
286
9
799
176
746
487
786
432
593
967
94
872
812
387
832
243
41
524
16
875
373
225
773
667
394
217
731
471
656
662
101
873
755
133
255
141
545
447
744
899
341
375
853
841
987
417
234
692
936
908
323
277
495
506
662
995
673
898
874
903
842
112
979
508
431
847
172
897
979
620
944
32
800
420
960
178
521
354
445
267
930
655
644
451
654
785
160
483
75
421
59
307
14
833
184
148
76
367
300
903
603
904
380
567
48
628
895
454
980
531
760
117
603
275
574
361
106
578
507
410
988
131
62
873
344
819
737
298
693
220
624
267
6
447
341
679
772
184
664
940
749
887
94
622
452
753
540
651
902
868
269
106
687
288
620
982
331
120
171
507
630
726
941
497
977
167
370
79
824
557
751
533
797
118
734
563
429
674
270
140
678
138
598
398
845
331
631
513
366
249
599
938
17
159
264
310
775
145
236
402
383
686
170
308
794
332
313
60
765
17
956
991
119
67
164
409
93
125
767
918
569
327
330
451
301
255
427
543
658
557
716
206
546
703
266
192
902
290
569
833
153
148
670
12
389
820
282
82
859
799
648
607
545
456
881
807
332
817
419
157
975
609
467
655
563
636
79
583
953
383
390
38
182
797
908
889
641
62
448
641
447
731
779
106
218
654
850
416
455
427
585
188
380
75
799
212
274
533
547
846
937
967
256
164
125
571
958
592
534
829
480
697
450
403
617
790
13
337
864
211
785
163
173
829
421
783
673
791
366
110
136
581
331
761
839
560
193
545
899
998
621
317
260
101
174
500
868
780
81
443
374
745
789
342
68
819
319
245
351
47
398
100
717
193
940
305
203
831
971
346
217
804
923
690
250
355
783
574
717
403
623
872
181
716
912
559
653
319
573
147
965
711
780
52
561
333
43
39
216
992
545
36
872
444
561
945
389
538
956
243
757
337
741
836
789
222
13
540
504
391
504
853
566
290
228
552
887
787
646
729
311
280
327
2
406
808
206
925
816
622
370
331
489
136
569
67
597
360
72
878
701
866
564
697
20
938
804
137
772
887
107
165
340
613
759
107
492
119
379
393
109
689
678
890
187
88
590
950
708
290
998
314
580
75
299
513
703
685
224
689
39
166
541
604
345
305
926
988
371
602
671
933
276
210
431
802
938
782
280
201
651
278
829
444
701
637
186
984
212
820
859
857
387
484
373
929
941
820
130
38
164
369
59
912
902
974
701
762
292
190
198
708
172
208
46
364
584
226
226
867
448
294
180
206
916
567
804
557
658
229
193
618
656
356
95
31
871
85
59
846
745
944
402
685
923
623
399
25
587
18
847
857
727
429
365
798
609
508
348
827
147
791
197
38
338
444
503
653
51
677
608
593
582
390
217
814
75
597
276
626
440
46
818
651
375
256
815
982
577
232
978
491
296
86
653
534
722
721
867
282
775
493
343
630
463
684
732
887
837
973
442
826
597
88
368
719
682
260
946
380
679
193
591
15
875
384
544
458
69
242
64
739
316
262
587
14
544
466
483
6
155
911
370
83
914
648
637
414
858
570
406
18
397
343
575
137
297
259
198
697
675
926
620
98
857
174
715
122
975
816
154
238
233
476
719
170
125
575
161
982
485
145
37
411
291
412
951
709
949
776
779
385
26
73
451
706
976
116
33
824
247
624
143
27
817
473
32
135
198
271
60
437
765
229
671
540
304
800
1000
289
135
572
309
476
218
693
393
854
505
411
903
633
75
55
346
417
751
303
487
203
603
822
449
467
528
415
826
157
169
684
693
546
739
932
807
877
653
201
792
81
547
495
307
500
666
304
574
982
971
848
88
905
840
165
566
779
85
226
720
6
382
901
642
187
391
616
986
69
849
611
119
28
520
888
291
99
214
197
467
418
507
103
311
69
580
824
625
155
427
719
524
959
596
609
712
203
73
623
412
903
394
580
268
405
741
792
924
514
730
444
251
480
91
323
879
271
275
841
841
4
52
756
952
935
37
390
225
978
877
181
697
780
829
337
936
839
817
932
355
680
454
917
58
360
800
505
230
819
640
469
536
361
980
190
940
736
97
197
247
495
87
900
459
579
81
884
288
256
496
148
610
111
514
107
877
502
662
996
148
337
192
190
923
950
130
343
439
342
758
812
969
864
502
842
891
108
261
240
122
145
842
51
809
873
865
653
899
727
439
295
588
695
236
789
702
948
992
198
200
866
712
626
856
320
704
849
909
43
67
572
270
954
556
538
194
20
587
716
269
994
595
901
340
205
493
156
250
144
605
389
860
527
974
379
341
310
728
370
826
580
821
683
665
461
957
776
268
69
180
662
346
581
888
91
846
856
75
334
157
345
195
232
940
75
146
381
266
209
992
662
328
302
24
541
188
79
383
972
814
142
309
144
624
962
706
99
355
653
277
937
241
123
377
658
709
362
41
203
528
345
362
204
475
37
700
890
18
528
390
511
31
478
221
491
446
858
44
565
139
321
578
321
895
529
389
510
240
564
896
682
714
554
929
929
213
653
907
505
886
802
491
83
431
740
733
351
286
588
895
610
480
514
660
877
681
557
925
460
899
686
30
196
178
403
562
548
374
990
831
932
529
23
927
28
688
873
586
464
494
58
605
452
408
412
513
496
20
123
546
501
275
515
617
296
340
797
648
884
274
724
700
395
856
209
448
944
298
623
10
132
416
352
761
344
306
598
134
486
257
471
582
84
316
495
592
860
108
367
595
110
152
254
641
248
37
966
631
784
502
420
754
292
400
679
877
105
799
512
38
173
957
502
604
991
741
218
58
883
837
832
43
180
52
418
249
399
70
941
309
888
549
970
552
94
539
673
448
271
55
334
287
522
564
49
250
24
325
279
201
501
431
467
189
121
947
558
671
777
302
476
149
562
511
423
344
836
545
102
834
790
725
685
382
821
45
410
463
793
636
314
743
370
405
724
116
370
623
914
417
129
391
475
850
975
670
602
777
919
520
673
577
305
838
793
233
170
510
499
244
313
343
731
563
480
677
219
920
470
989
234
58
204
57
448
557
739
531
506
237
781
560
599
829
960
658
752
559
531
446
519
551
29
320
599
913
279
944
286
414
354
528
709
281
352
958
678
178
404
688
176
273
855
927
107
715
7
41
143
977
411
165
827
519
84
123
786
850
599
67
629
48
633
970
436
828
531
998
448
277
646
936
434
892
798
846
912
563
746
37
272
908
469
217
484
811
537
526
778
106
383
471
881
503
363
7
541
25
364
73
28
735
413
34
900
970
620
725
177
544
644
854
526
486
956
306
743
293
805
209
236
397
898
458
935
783
96
210
390
758
600
438
820
128
200
409
165
234
795
792
177
123
237
548
946
238
464
538
116
453
495
566
526
744
471
554
268
241
2
403
613
123
42
872
746
672
681
107
585
615
864
880
408
411
191
676
752
126
514
487
64
592
387
77
337
354
94
14
759
424
611
136
922
991
714
236
96
544
963
194
835
257
12
185
17
594
260
754
86
846
246
592
433
157
375
816
814
150
233
960
393
949
37
491
714
610
807
82
996
329
874
159
274
347
286
4
162
323
56
818
84
466
215
588
816
466
442
74
252
81
353
273
812
62
121
507
426
397
910
42
133
346
305
63
968
807
785
644
98
913
61
491
426
865
932
230
598
996
969
742
264
515
43
765
828
843
584
789
974
117
207
767
217
445
61
585
408
209
296
954
199
700
128
768
290
755
264
976
832
671
204
741
317
702
968
279
123
15
323
669
679
814
94
605
263
508
704
164
829
40
24
284
1000
672
122
127
63
531
369
693
460
964
974
802
755
41
730
517
963
131
693
277
706
703
369
41
79
631
893
821
796
925
225
731
393
648
788
70
153
497
379
547
161
499
875
5
489
483
581
95
448
154
776
299
614
451
683
259
978
74
47
610
664
992
363
978
419
294
498
160
533
47
141
781
987
803
676
482
874
92
841
3
345
680
475
287
883
292
983
865
191
767
526
333
976
540
394
854
870
414
374
798
328
300
817
660
99
987
395
398
815
996
94
174
269
145
283
432
9
421
296
2
677
889
51
852
292
163
733
749
111
952
668
246
35
49
904
495
353
69
756
245
834
91
847
71
73
687
851
187
825
23
941
239
41
728
432
51
815
85
144
715
180
208
920
1
858
769
232
317
258
165
5
479
329
966
303
58
241
966
967
558
741
54
22
476
811
917
961
176
163
38
87
582
339
81
803
797
495
911
227
306
904
16
868
628
846
505
745
95
684
196
169
723
247
671
547
383
456
460
389
35
327
742
438
341
495
647
735
334
362
731
4
400
328
278
283
335
147
337
74
871
814
920
21
843
17
931
214
198
798
360
526
573
732
936
600
859
953
850
905
877
147
648
311
449
253
759
24
548
950
904
168
735
944
725
898
100
176
845
939
133
653
904
368
161
378
117
681
38
171
90
225
538
456
540
973
796
749
851
526
548
732
509
974
365
851
273
283
996
331
262
817
938
690
729
691
5
170
853
708
30
134
741
976
414
127
311
314
189
688
392
811
874
919
204
204
551
384
326
658
885
4
50
299
432
591
805
481
932
122
504
767
693
413
907
684
676
841
813
19
13
622
58
799
377
786
294
423
206
731
576
389
987
516
142
407
533
746
481
121
462
4
977
646
719
295
835
386
492
147
251
709
638
320
362
199
671
250
79
406
787
523
224
263
104
8
587
535
792
839
907
199
552
217
192
26
799
914
344
845
802
257
700
455
158
457
976
658
248
364
143
168
306
956
535
943
37
624
988
337
486
176
854
220
425
807
82
289
808
295
524
798
119
253
105
998
278
871
864
518
823
194
207
770
653
143
541
162
601
949
951
574
739
451
804
433
246
112
321
642
569
395
903
602
766
765
2
970
198
801
998
875
203
611
523
658
632
689
610
690
682
387
827
55
375
433
489
72
687
908
287
751
570
254
111
362
59
508
16
472
406
939
936
460
942
24
4
952
939
963
939
711
339
579
73
461
242
937
373
585
793
613
293
976
426
191
664
611
280
962
213
947
108
816
221
357
202
352
316
314
236
479
53
405
733
33
371
22
236
520
667
432
552
177
720
134
725
194
731
192
934
974
674
779
51
144
549
42
973
424
582
338
372
717
541
335
11
710
327
554
293
606
637
973
391
416
492
137
401
924
981
860
765
173
352
145
136
104
250
718
865
807
778
115
604
273
559
780
390
935
554
991
757
953
206
909
337
313
24
967
959
614
346
247
235
156
268
478
638
612
193
965
389
568
403
679
83
371
345
535
929
133
987
187
797
451
953
723
343
459
371
249
228
875
491
731
739
855
76
582
952
324
744
725
589
511
430
837
262
213
773
10
918
383
285
884
822
766
144
310
652
402
714
607
129
741
560
176
835
972
123
350
462
640
28
3
908
979
753
976
137
32
19
545
407
557
949
373
139
426
695
822
708
906
889
740
917
20
671
539
916
616
426
584
61
512
730
927
612
25
67
903
781
35
805
570
362
309
706
324
111
953
379
774
224
708
983
458
125
873
151
466
204
901
418
543
855
876
799
608
95
352
222
75
113
622
450
500
506
895
95
196
237
741
588
521
817
369
117
907
55
356
344
351
268
690
945
999
645
90
955
976
630
165
930
903
939
157
320
659
366
542
99
777
464
103
185
156
322
288
515
546
14
343
625
435
310
685
903
716
984
871
25
965
518
440
852
723
585
770
663
68
505
173
685
968
502
786
919
269
917
693
396
837
442
698
389
928
33
273
248
651
508
898
971
31
591
901
564
681
625
262
913
464
291
978
873
75
189
373
86
168
308
223
382
772
798
889
30
64
466
620
951
746
379
206
114
804
320
438
515
429
517
112
665
498
248
729
323
848
977
18
35
431
169
655
561
713
16
88
25
654
342
917
697
19
539
144
931
464
655
84
822
388
399
750
737
691
534
997
929
123
712
701
154
523
809
36
988
622
130
117
246
624
345
801
147
667
312
26
58
305
705
749
828
52
102
22
959
879
602
240
243
769
837
958
459
782
917
800
331
821
246
878
537
696
823
971
889
590
911
307
418
874
362
259
197
727
932
423
556
566
204
204
653
196
330
918
46
946
850
470
553
921
983
434
225
486
117
151
855
421
525
634
154
650
158
210
841
698
219
101
888
740
443
690
100
355
261
285
959
443
48
664
789
744
407
791
238
117
118
564
622
336
522
453
955
115
3
930
754
78
20
380
615
622
856
761
132
412
421
299
843
73
130
694
100
668
792
775
529
799
204
509
475
294
213
998
198
83
552
230
453
263
379
568
585
652
999
841
955
682
146
756
253
489
287
626
214
167
163
840
430
699
496
88
957
781
934
660
637
365
493
95
33
390
735
678
327
665
469
936
417
568
778
348
945
401
285
995
976
941
852
354
757
958
637
68
731
608
35
659
732
830
578
777
286
646
774
464
263
488
62
151
13
684
192
911
901
84
585
845
227
745
304
322
350
989
119
89
696
811
886
523
161
414
126
881
833
471
718
353
112
970
980
838
458
44
216
137
332
129
455
622
424
600
589
789
899
596
927
426
771
20
962
255
85
275
36
598
704
20
573
923
369
698
841
362
506
603
467
185
263
638
144
658
663
951
788
73
85
886
832
258
749
359
730
887
696
284
267
758
809
436
859
67
879
405
92
899
350
156
39
207
121
968
553
269
787
483
176
782
611
369
177
282
526
575
356
56
625
295
117
132
992
582
330
438
96
486
621
902
407
485
432
300
764
751
817
963
669
544
838
327
325
55
604
849
654
742
292
499
560
992
342
840
349
772
347
704
638
822
226
254
832
757
986
777
745
716
290
46
580
888
549
92
507
676
122
892
598
616
168
661
116
788
436
531
707
609
796
85
532
263
693
712
66
664
891
595
745
491
795
533
984
120
612
905
317
435
981
347
59
412
190
758
690
298
940
404
407
700
432
524
771
682
580
129
83
386
417
799
890
719
987
701
643
464
543
26
388
250
861
461
180
665
827
862
343
332
643
494
478
275
519
294
605
306
307
778
686
581
662
75
233
597
932
663
462
443
692
541
16
34
944
195
768
321
676
395
701
631
339
229
587
145
510
373
904
741
27
175
418
585
185
482
874
977
601
401
239
793
877
93
906
603
784
632
271
679
371
661
740
630
307
301
529
625
635
925
448
111
818
927
168
952
84
538
995
518
269
759
438
985
552
913
853
754
217
96
332
821
405
919
996
710
551
752
762
995
929
55
309
453
305
282
215
476
760
274
739
643
126
952
598
193
576
336
531
761
976
806
915
146
357
172
994
889
809
461
715
322
49
477
803
313
57
170
250
81
587
341
751
519
706
330
277
311
630
373
959
194
237
372
59
439
450
854
527
501
251
132
178
669
238
632
623
137
646
533
701
903
5
524
374
851
146
375
510
859
248
339
232
784
400
961
517
329
400
71
692
303
14
150
883
28
722
578
948
731
599
398
269
153
79
279
636
773
713
382
298
266
741
392
42
889
319
403
784
386
178
575
906
278
734
511
61
660
824
602
42
553
554
738
6
203
372
417
450
56
187
149
550
202
30
803
425
538
489
322
611
947
995
676
209
631
533
740
694
57
817
995
472
135
799
559
925
19
867
733
193
673
944
127
617
292
6
943
145
563
763
552
883
142
595
30
780
16
690
656
107
277
499
907
841
479
786
264
691
213
377
628
134
36
751
701
34
16
752
909
711
565
648
818
704
566
844
203
922
43
123
810
922
774
480
612
867
787
461
540
618
997
752
44
654
859
663
696
890
277
752
700
922
802
412
391
338
509
300
976
789
94
351
188
761
153
540
324
718
905
861
315
304
288
890
129
789
315
440
338
631
428
229
190
446
491
136
459
989
559
30
564
958
517
39
981
40
637
858
936
470
735
978
300
436
928
113
699
503
914
991
960
115
924
385
881
603
814
116
907
77
146
32
257
715
163
495
893
949
598
470
215
399
379
571
897
886
986
174
22
758
220
258
344
656
233
1
635
499
535
883
753
346
485
580
265
548
430
238
529
601
801
821
727
314
835
618
510
399
531
537
661
607
841
920
664
161
530
613
828
98
205
535
281
47
24
459
378
302
377
829
114
963
482
87
947
100
974
617
514
243
953
262
652
659
355
637
862
107
420
643
176
493
545
468
680
135
953
642
298
881
217
754
981
187
863
272
69
792
303
190
826
402
446
298
107
610
531
996
121
296
696
818
689
781
860
981
467
118
735
219
905
311
174
709
417
729
133
707
454
358
686
285
451
406
425
414
404
761
689
647
321
853
791
175
687
308
999
313
281
8
879
310
513
375
482
541
798
518
554
60
809
701
668
374
687
311
144
574
510
123
208
995
206
249
123
825
833
820
538
365
46
710
332
643
958
651
833
809
358
807
499
828
621
649
38
94
388
936
551
632
618
657
327
10
4
501
995
168
992
586
407
634
295
390
245
914
253
919
353
120
558
195
735
924
203
538
713
242
677
20
862
217
474
801
123
606
764
821
265
966
376
79
756
936
424
422
565
968
222
184
39
809
392
114
794
976
488
35
388
92
640
889
763
60
350
735
61
507
292
943
775
175
204
87
592
426
205
977
494
888
859
191
776
870
683
344
786
7
63
751
719
364
927
939
593
640
59
110
244
584
109
163
461
863
968
644
936
127
132
582
529
904
724
606
605
143
345
712
726
341
603
824
998
723
54
69
974
720
251
682
455
984
267
114
747
58
936
498
365
303
635
887
205
977
9
138
142
418
124
783
398
966
75
408
934
202
516
171
32
945
789
483
770
967
564
639
381
599
826
874
853
509
963
371
250
781
103
380
421
484
494
927
700
937
10
561
720
417
156
829
269
484
792
421
402
329
302
746
790
383
666
961
819
823
721
365
455
529
10
698
348
835
27
700
49
881
609
179
585
542
421
698
231
469
256
340
855
240
335
670
515
688
401
631
786
293
327
996
147
569
933
768
294
696
433
522
924
32
65
865
384
436
597
227
141
923
274
662
584
718
502
986
306
563
414
637
121
772
689
613
811
104
745
578
483
454
689
362
601
279
999
948
523
836
904
157
551
848
43
350
420
817
685
895
693
134
854
418
32
495
15
316
129
828
859
250
702
599
903
931
990
780
896
876
796
371
56
978
641
198
336
652
287
847
117
97
943
501
778
944
636
807
902
127
871
789
455
893
285
410
739
516
458
533
888
780
505
36
143
637
413
89
699
526
859
71
677
833
219
744
605
582
539
90
966
93
950
59
143
103
527
307
5
168
372
150
746
915
732
814
259
612
719
57
342
888
561
606
501
883
118
173
2
500
438
321
225
510
707
686
204
692
625
153
580
817
662
48
22
931
979
53
99
535
472
389
264
413
909
402
857
975
590
138
977
150
917
971
874
783
565
224
726
757
196
461
86
637
283
865
625
512
244
826
527
574
230
655
138
860
470
969
533
542
680
460
949
164
942
193
535
377
44
617
706
214
627
555
980
517
408
379
231
449
454
791
701
889
242
865
338
554
423
148
572
620
851
362
902
170
429
684
254
366
465
647
205
254
817
683
597
330
907
38
16
262
259
495
140
986
482
92
492
815
320
668
211
437
147
51
554
609
25
200
383
799
854
636
276
484
544
131
654
311
25
132
377
584
374
889
650
238
147
555
987
255
780
977
7
439
975
122
721
854
324
949
381
801
791
3
406
113
478
686
786
212
134
582
128
33
30
270
502
126
78
998
923
888
349
145
7
783
284
3
967
488
850
300
267
327
321
554
505
808
863
669
898
851
401
755
798
456
453
643
715
970
199
526
542
576
848
712
10
952
767
500
976
846
11
657
564
955
186
31
391
673
302
879
602
347
656
368
193
903
342
753
978
42
909
36
66
895
616
225
101
586
359
557
145
57
719
862
224
227
885
384
677
44
78
651
423
280
242
443
338
204
93
814
727
177
671
627
992
119
956
598
874
900
482
147
184
104
293
327
985
63
626
336
992
454
772
42
689
852
490
825
84
234
854
4
339
147
938
485
114
839
377
499
392
804
71
847
257
358
856
51
107
737
28
247
31
332
743
904
558
205
496
409
757
990
452
46
166
731
481
462
260
714
691
747
451
626
984
549
858
133
207
96
117
155
913
632
575
128
707
847
284
179
229
895
752
598
359
134
983
771
45
133
378
346
893
850
39
892
4
450
410
563
90
693
498
361
411
209
509
766
488
1000
635
768
304
835
239
323
726
722
318
414
551
790
282
680
302
528
570
175
906
536
98
974
991
368
80
150
292
980
927
872
934
723
361
378
914
10
475
831
505
314
437
557
54
755
291
509
794
793
420
846
14
110
901
375
79
834
690
398
258
716
129
80
23
662
791
353
239
22
17
867
832
615
382
871
410
710
868
281
227
286
328
538
914
888
613
786
880
308
649
443
834
735
269
6
184
756
573
896
283
388
146
764
764
97
439
999
60
576
164
485
366
311
221
259
17
1000
142
194
379
401
652
605
771
998
751
375
996
401
856
723
85
949
596
877
714
463
571
819
511
772
363
761
783
414
679
132
554
449
59
151
742
406
379
240
234
789
53
22
268
266
698
164
440
974
337
20
178
393
744
299
261
426
420
146
384
892
803
806
163
818
122
722
381
229
765
864
261
917
601
279
328
445
996
345
670
297
601
654
245
348
51
681
828
672
564
626
432
896
136
519
231
526
429
955
412
72
918
963
265
687
464
669
295
362
350
150
446
276
602
161
740
262
615
890
939
307
939
442
891
343
901
536
139
324
310
244
749
102
755
928
908
706
22
247
215
186
153
570
446
801
84
96
640
985
113
315
996
356
537
164
740
709
458
151
265
996
841
608
797
909
537
354
344
393
628
768
475
60
131
523
492
271
534
878
65
733
783
99
164
589
516
66
449
664
664
237
128
261
760
964
119
96
11
646
88
965
356
596
902
844
776
123
201
662
122
165
460
558
201
175
787
28
582
41
147
603
641
638
570
658
243
984
299
874
907
983
922
447
566
991
468
796
333
595
173
524
268
69
63
270
896
721
733
494
734
641
619
947
371
306
742
78
144
204
263
253
185
841
886
196
651
291
913
884
99
335
12
754
68
360
366
114
2
315
295
392
213
588
420
832
471
670
550
536
61
131
175
928
703
343
769
51
609
21
918
314
809
871
797
401
543
110
123
849
517
241
501
145
985
407
950
343
59
489
866
107
962
652
293
568
929
438
631
28
612
376
897
914
615
903
923
885
273
163
648
755
998
147
625
839
388
825
352
301
80
74
116
53
305
778
425
770
911
120
168
798
716
278
33
770
6
970
375
186
505
476
795
803
534
191
226
585
835
946
151
577
212
90
231
163
137
392
996
651
839
918
626
545
189
514
959
785
491
668
667
24
29
373
267
338
874
29
390
662
246
599
627
322
600
204
75
828
130
150
232
474
45
673
541
890
388
443
339
643
940
462
377
170
36
797
573
824
550
775
757
830
584
23
586
932
159
998
951
424
716
958
76
402
191
981
237
963
823
657
310
124
174
921
465
676
597
482
441
913
679
943
3
111
36
735
814
120
976
902
160
549
545
450
252
760
164
216
387
838
237
732
951
950
73
149
125
883
618
755
678
227
33
773
506
11
948
794
547
751
463
224
530
124
994
594
607
503
502
128
751
3
126
66
130
670
836
77
559
37
240
439
789
913
619
27
221
744
204
655
173
344
357
909
761
423
337
3
748
557
650
513
638
960
212
433
54
591
278
198
168
370
741
37
135
231
384
649
87
143
806
368
713
791
439
917
490
847
903
581
282
247
229
776
425
281
359
165
836
229
446
671
523
583
527
111
408
896
417
521
641
587
202
297
876
636
422
941
661
399
783
940
952
644
1000
476
695
33
358
855
821
164
160
733
113
321
859
146
753
517
729
925
864
921
298
530
816
202
748
147
733
104
749
642
44
133
227
166
396
175
467
368
814
486
615
227
222
81
928
467
711
56
312
454
330
657
45
544
217
125
635
256
725
471
380
239
526
22
966
745
921
617
34
338
788
521
528
444
972
270
555
396
964
137
892
620
475
242
488
417
422
944
912
922
920
613
666
1000
963
356
347
719
107
646
385
354
683
762
308
485
505
249
408
768
744
108
898
676
282
461
67
646
142
376
803
623
980
521
2
377
858
959
434
975
330
568
157
208
49
560
785
646
209
579
603
558
970
428
197
526
351
573
811
173
512
726
410
496
817
656
386
121
709
362
532
440
334
143
230
736
272
248
424
886
274
952
824
952
965
623
548
511
118
506
440
447
930
320
939
289
370
76
506
611
306
578
613
535
587
709
602
614
418
403
53
425
362
134
526
973
651
761
456
354
584
850
135
765
486
191
878
484
156
712
397
845
244
571
614
725
323
792
301
504
742
193
366
973
88
123
28
459
521
23
80
519
135
658
139
28
219
293
615
252
61
92
74
960
567
380
132
609
705
350
853
803
952
468
174
27
583
257
464
336
198
716
92
112
815
395
658
404
73
410
230
795
786
256
38
242
696
37
624
767
400
868
17
561
687
766
179
291
887
876
866
985
783
936
708
844
248
191
16
787
132
90
904
108
599
305
742
666
310
50
415
639
739
438
264
184
902
292
121
808
432
66
52
715
7
341
803
656
627
63
723
779
21
59
499
781
619
783
562
410
104
772
895
908
369
166
818
998
78
811
792
314
57
974
652
203
863
450
184
788
625
934
971
155
43
952
77
626
930
864
950
256
294
919
609
484
937
234
555
528
538
426
7
656
866
633
891
267
722
633
341
223
778
915
641
584
698
815
738
53
80
480
461
555
346
921
435
165
565
302
746
287
182
170
691
190
79
247
465
89
39
247
35
430
889
785
464
596
602
15
542
284
586
829
914
284
291
582
71
975
726
681
533
600
432
552
988
879
60
505
643
677
300
524
506
285
578
913
519
829
650
444
489
247
283
618
463
808
147
869
301
802
594
406
846
692
381
217
229
707
7
708
933
481
679
76
33
730
880
914
323
21
28
131
486
569
451
464
989
984
111
964
717
84
352
560
168
714
109
266
886
443
733
999
476
471
302
277
304
369
544
813
611
231
306
936
1000
131
143
632
344
890
607
753
314
794
635
789
484
812
346
991
526
288
586
690
397
957
25
705
616
411
641
750
449
760
606
238
939
486
74
735
225
495
552
660
366
911
532
521
932
517
340
482
303
994
275
138
86
728
60
916
944
525
675
861
415
747
223
942
639
729
541
980
755
74
715
430
552
542
174
246
867
528
148
605
499
895
513
823
662
527
824
257
550
848
643
398
269
933
918
513
860
819
491
449
961
868
655
494
301
84
515
324
588
686
75
75
374
627
319
598
464
422
852
378
999
525
938
326
103
50
481
81
21
416
198
920
62
901
23
282
346
526
566
862
735
682
473
365
744
620
518
58
433
359
353
809
605
360
85
389
459
164
875
17
576
630
578
74
168
101
890
51
48
764
795
334
920
7
7
982
488
396
886
269
672
253
579
354
814
329
218
841
828
356
244
145
125
302
605
980
173
365
554
67
280
882
871
465
523
819
572
47
223
365
154
129
105
982
312
469
65
141
920
312
234
901
574
209
978
731
103
348
406
499
961
565
365
561
816
68
833
9
370
368
958
408
232
313
345
910
415
138
838
649
410
301
857
898
21
718
361
657
67
931
319
640
582
221
583
970
714
253
865
247
603
174
726
793
74
544
748
559
805
649
890
397
711
255
20
718
291
930
220
181
805
570
365
558
384
405
255
620
157
943
575
802
379
802
905
724
585
17
103
82
553
894
409
539
9
597
384
567
39
767
393
613
489
647
795
549
476
405
524
875
979
171
971
83
121
442
132
134
26
542
158
495
537
533
497
511
604
589
74
315
946
325
921
6
839
897
78
270
615
783
962
883
191
663
841
767
436
604
535
573
296
817
151
1
466
319
159
923
122
622
780
589
222
300
863
615
239
936
494
535
102
235
519
413
847
266
843
789
468
536
77
17
272
273
11
538
437
757
91
888
455
139
456
38
83
291
318
624
679
676
217
62
314
648
217
563
879
489
456
319
387
149
98
884
666
93
90
113
997
205
281
221
313
536
98
970
210
72
199
807
621
866
548
137
991
854
868
874
747
375
360
110
443
243
858
52
504
159
634
622
145
196
62
909
282
900
343
486
361
286
370
243
702
877
707
697
599
639
724
212
624
942
898
151
848
833
343
34
68
596
901
780
348
653
142
431
952
497
709
96
597
603
985
776
809
634
897
907
690
772
710
457
611
794
240
299
431
948
110
836
121
938
492
550
693
708
414
695
30
921
823
678
152
900
311
735
190
365
870
71
958
495
131
393
196
598
472
473
964
288
627
953
842
377
746
854
61
988
131
307
681
727
888
321
601
147
17
27
243
990
160
325
525
911
629
648
539
538
599
576
409
323
319
140
323
731
785
479
121
255
262
69
264
634
966
312
343
887
225
107
186
820
229
149
538
35
921
277
264
757
940
956
339
772
66
175
669
131
338
559
415
379
762
810
618
452
536
8
90
466
203
23
623
995
801
862
481
104
303
501
78
480
495
111
888
999
331
60
862
268
156
953
199
186
137
887
396
629
456
551
314
810
117
604
550
683
525
615
987
334
287
729
238
462
242
488
490
719
665
382
72
458
241
247
395
394
479
272
652
901
112
186
966
171
293
265
126
812
788
295
514
604
675
18
75
367
153
752
438
757
948
525
272
419
921
611
993
478
926
174
119
462
14
77
250
861
151
709
763
323
487
482
470
335
311
158
365
616
904
294
757
35
40
390
77
960
767
957
65
606
593
946
759
93
415
129
355
393
616
666
955
569
626
629
373
116
58
620
977
864
518
629
226
14
656
59
241
736
445
31
114
997
118
376
757
939
406
244
853
955
262
148
897
749
921
741
449
693
79
735
948
433
760
552
795
163
533
359
527
665
11
817
363
383
964
719
815
300
860
209
43
291
223
37
666
962
855
587
195
106
851
584
946
658
76
55
774
816
11
440
946
591
503
209
825
706
363
974
372
217
687
700
123
150
885
301
72
758
476
825
674
912
87
126
704
770
406
8
34
924
125
410
561
927
965
157
957
129
249
360
461
621
465
640
188
464
12
671
875
702
288
730
83
46
639
306
402
912
564
992
696
460
771
426
970
130
945
958
1
506
559
862
949
629
347
586
224
49
181
26
910
839
33
117
345
916
852
724
128
642
963
924
384
994
922
386
545
284
174
804
837
903
976
102
530
986
715
1000
799
665
818
803
74
775
413
838
966
817
978
807
557
198
76
108
982
740
262
535
634
8
934
447
875
700
612
515
266
989
821
86
946
368
206
958
511
262
24
492
871
362
210
907
241
811
59
800
183
754
841
5
451
480
889
48
258
728
627
697
691
821
93
472
659
256
878
940
438
954
405
132
833
911
684
213
529
876
721
916
425
855
655
691
546
902
405
998
677
937
191
468
739
613
812
747
830
516
355
932
54
426
887
424
677
103
322
279
558
651
718
171
750
298
555
340
19
532
253
290
196
556
977
331
136
52
490
307
420
57
482
588
638
777
483
334
247
300
380
535
916
800
641
138
490
358
642
784
295
566
479
14
817
311
81
884
703
935
299
385
678
665
775
541
484
820
308
351
638
601
790
559
553
597
932
251
407
120
433
124
966
142
382
783
205
819
680
761
499
349
554
976
577
830
840
464
303
102
988
971
391
705
71
77
461
474
244
897
374
443
288
22
271
264
960
428
728
939
496
49
931
615
522
829
366
195
223
88
548
980
128
140
142
573
883
560
310
984
820
96
629
684
477
205
165
842
147
896
173
181
135
120
305
380
653
824
805
596
932
567
675
693
306
113
44
276
701
409
552
481
689
569
718
527
603
79
999
592
869
179
2
356
815
198
324
885
183
913
159
195
4
155
880
548
406
19
950
858
161
832
310
260
727
425
995
628
74
982
257
967
175
788
790
400
169
200
492
419
632
143
950
45
359
942
127
113
337
425
878
782
92
21
673
306
260
811
959
391
206
886
114
934
759
176
259
502
888
733
836
686
577
433
261
469
825
399
205
935
24
340
956
753
188
650
823
95
533
40
9
805
373
563
754
634
990
890
12
264
819
163
437
619
39
277
594
485
818
890
81
85
267
758
558
902
84
270
189
366
150
534
517
686
56
800
77
352
318
837
246
280
222
700
832
549
324
476
718
392
627
318
229
186
354
870
431
940
360
930
951
831
802
59
264
656
103
425
436
436
138
198
993
798
373
614
659
308
50
611
416
740
880
389
750
819
812
143
630
91
887
579
351
72
120
195
525
838
46
478
940
491
769
42
511
822
418
23
512
769
63
686
816
342
902
731
496
585
513
133
350
538
294
973
797
136
696
942
835
199
404
840
818
417
602
82
573
695
763
71
662
892
891
10
553
82
959
382
428
48
864
926
628
988
522
561
439
847
157
624
892
388
169
432
288
889
434
854
678
735
133
229
495
15
594
819
774
877
212
577
519
725
661
822
726
667
170
628
48
124
60
361
34
101
153
104
552
438
601
251
520
550
654
830
813
345
926
966
455
442
572
616
785
450
155
648
772
26
417
978
462
301
36
634
723
965
27
807
41
219
295
605
237
231
499
743
866
256
384
122
51
204
554
546
701
500
815
278
221
166
932
222
200
193
8
668
606
770
742
570
776
399
481
127
92
169
918
574
36
742
497
43
398
845
511
834
194
928
496
397
503
592
576
892
754
109
102
113
869
388
726
836
221
905
954
539
285
7
499
708
550
751
17
273
946
343
577
139
580
46
373
387
729
375
241
902
192
137
26
669
927
16
851
976
29
712
602
181
298
171
422
358
724
617
534
958
738
357
162
823
924
884
987
846
615
533
330
437
233
713
275
415
520
411
462
787
366
833
295
232
844
601
778
319
495
314
759
561
979
999
87
811
242
462
921
385
840
483
172
328
593
919
129
704
267
294
833
128
682
190
431
162
73
820
440
372
153
915
993
274
835
451
135
533
222
498
311
599
276
844
725
17
545
130
301
625
337
499
141
446
206
669
744
516
858
747
630
195
232
796
980
44
184
509
30
598
887
783
275
295
966
730
407
152
440
764
458
396
4
587
253
575
725
429
732
636
617
276
405
397
679
975
969
619
679
110
969
210
219
721
998
316
966
371
843
504
696
350
802
803
877
122
883
337
310
804
796
927
597
299
565
622
425
447
804
609
336
762
840
502
944
984
931
247
702
320
800
798
309
342
117
924
102
450
49
41
604
915
441
856
187
586
943
212
430
182
579
443
170
471
746
893
530
546
311
453
338
239
712
213
503
542
715
973
418
351
378
309
355
596
457
770
720
312
129
148
70
602
131
449
68
941
671
222
245
845
373
941
787
695
973
54
637
110
60
778
824
993
369
842
500
544
319
533
38
977
451
35
600
928
50
268
598
507
130
136
598
495
207
303
478
496
306
354
34
859
408
241
400
721
419
690
480
21
762
894
91
963
495
932
619
745
23
323
968
743
241
101
446
824
997
999
156
18
535
241
793
413
875
226
891
674
191
321
302
174
169
302
708
85
812
662
261
299
56
202
381
892
936
268
971
234
474
587
705
660
564
178
944
969
740
354
250
684
259
777
220
192
554
286
302
227
829
20
316
869
65
508
21
587
720
743
474
964
413
247
921
537
929
684
192
386
359
737
385
112
270
196
857
330
112
987
461
22
742
804
310
210
16
512
578
408
783
231
339
581
950
912
117
489
436
413
942
976
544
110
89
93
837
557
964
459
966
862
259
578
283
454
906
496
334
357
332
770
291
469
174
586
983
313
749
571
640
386
49
105
865
408
987
439
175
873
530
681
374
245
675
488
559
37
494
373
272
969
157
365
960
55
847
978
855
455
144
589
837
965
108
213
55
874
442
941
217
261
912
515
210
703
332
586
185
732
732
19
451
965
911
619
305
158
970
88
243
300
667
177
504
958
62
452
884
994
825
770
353
474
135
173
928
675
645
400
809
750
865
557
118
315
288
513
957
509
677
164
47
752
708
648
311
857
754
798
146
219
892
487
802
587
883
919
53
964
291
853
556
567
342
850
592
896
829
657
253
532
413
941
788
475
253
333
771
194
541
521
752
491
537
748
751
164
344
200
428
772
713
747
3
230
204
160
770
475
349
767
965
365
845
329
184
907
134
392
883
112
355
153
368
682
933
433
524
190
411
551
123
997
440
705
899
263
259
118
317
362
427
458
449
584
288
649
826
146
721
868
46
686
934
663
197
820
36
597
847
19
918
865
821
51
665
810
515
237
781
44
877
645
279
81
533
819
285
786
343
147
733
338
740
45
997
452
428
428
834
447
377
416
15
640
325
805
535
957
21
310
708
658
591
570
603
324
984
88
981
611
661
861
505
608
147
868
112
28
690
424
594
168
463
563
489
292
397
510
296
697
311
118
138
49
118
754
520
367
410
822
399
62
50
344
146
209
581
527
570
63
569
751
735
710
574
298
205
758
414
371
377
141
897
115
381
212
724
228
623
658
664
618
590
369
893
781
408
296
299
973
310
363
700
5
510
259
866
666
909
127
181
607
725
693
683
914
403
346
688
441
219
205
89
700
941
360
214
142
885
880
782
449
463
393
219
533
952
518
10
440
483
358
334
971
53
872
949
43
765
572
290
898
992
403
235
385
460
890
624
594
827
662
528
482
928
290
211
790
619
849
831
679
614
938
915
4
313
774
589
960
88
256
202
526
773
274
237
738
714
427
884
349
730
726
736
686
501
941
68
957
447
86
201
181
575
223
84
169
651
36
620
737
255
903
986
612
806
287
707
729
421
919
398
405
974
989
883
205
287
859
798
453
566
447
523
130
584
692
475
324
592
178
33
159
600
815
469
371
357
385
834
212
500
451
218
373
609
459
176
626
230
981
141
372
88
515
939
230
619
408
342
967
93
478
767
936
519
828
849
454
440
351
612
770
368
846
961
291
272
389
42
112
129
876
266
721
486
598
800
677
912
798
643
368
414
360
369
594
50
979
654
776
497
188
927
519
26
757
353
845
139
448
818
455
442
254
569
655
418
802
873
17
464
322
961
333
325
130
712
101
820
337
651
66
425
399
265
263
765
732
905
693
752
3
586
44
20
591
808
716
662
710
609
5
933
70
826
234
847
51
793
633
516
939
141
254
627
847
76
792
766
2
561
755
750
104
926
422
261
228
338
840
340
907
680
659
198
489
205
666
554
836
371
713
777
582
427
859
81
669
509
125
612
227
393
924
214
154
165
443
175
370
635
611
823
335
211
990
127
21
779
217
662
50
491
512
969
786
754
220
62
563
951
691
776
487
50
456
88
907
371
781
296
153
640
53
234
35
314
560
252
688
770
43
372
900
259
415
677
712
665
278
911
678
741
795
385
765
466
499
355
307
88
703
251
747
382
985
905
419
812
274
698
94
69
644
565
939
272
572
746
907
488
496
918
695
661
33
347
611
333
307
161
179
307
828
840
495
437
659
653
510
931
463
760
746
855
144
686
62
967
302
39
40
35
172
134
28
573
773
717
928
286
215
807
907
322
373
606
461
260
312
278
842
306
307
110
592
872
393
413
19
847
61
878
789
895
361
257
34
741
281
460
118
939
651
883
942
12
91
966
181
243
287
28
440
804
89
598
701
191
653
376
542
570
566
887
390
939
702
544
805
230
849
271
31
547
738
968
333
124
519
299
275
754
421
901
532
228
354
194
829
396
879
125
165
775
310
985
999
420
400
998
424
531
977
869
363
759
888
689
308
501
694
576
17
881
612
440
914
198
482
493
551
99
806
63
219
977
403
674
82
933
246
383
542
812
258
37
352
526
70
947
362
57
691
423
20
747
412
137
557
777
983
424
423
57
407
982
143
683
225
278
939
626
491
715
666
312
519
38
707
525
708
199
764
529
581
619
194
992
76
98
219
427
119
575
365
202
780
206
390
47
31
935
565
882
549
453
16
383
614
367
60
96
651
93
753
327
743
33
802
897
236
953
83
494
674
216
639
678
644
793
387
543
485
753
75
476
661
471
948
799
823
26
496
6
241
624
416
340
506
126
987
647
634
840
3
825
475
834
285
981
589
972
48
86
916
533
537
580
27
345
113
237
309
35
985
977
322
858
697
402
644
870
923
330
612
71
897
846
622
828
224
601
416
107
444
66
898
796
464
72
821
266
970
999
429
941
870
679
8
824
866
910
663
118
412
468
930
882
718
768
199
277
367
834
951
469
126
383
842
977
150
298
373
475
217
762
23
824
689
251
119
58
590
321
623
288
798
842
676
457
232
987
676
322
892
695
969
765
33
426
88
220
749
49
522
551
350
291
473
653
457
169
561
944
100
416
358
286
113
600
148
489
841
335
823
183
835
615
42
740
131
42
789
379
568
225
572
632
759
299
414
212
81
170
185
142
779
982
927
121
713
906
578
372
364
849
583
715
877
379
755
147
664
78
483
576
668
420
802
923
778
918
797
894
17
544
41
821
714
878
215
84
162
939
681
831
74
277
217
587
920
798
1
816
203
74
294
479
656
487
713
745
375
180
707
409
743
671
138
618
128
955
214
597
952
453
787
991
766
38
157
358
96
43
872
590
389
889
417
127
35
706
121
726
201
807
746
659
235
793
93
643
737
201
821
14
886
689
983
71
747
348
515
512
112
744
703
133
138
380
962
214
355
108
592
19
96
396
537
719
847
854
24
515
646
149
775
628
722
360
554
869
202
127
546
973
718
383
484
406
617
80
899
670
285
829
284
415
8
476
542
907
448
456
589
648
2
656
218
319
844
10
780
766
54
320
125
98
268
165
806
121
234
893
713
642
576
80
98
591
585
500
641
128
212
256
133
424
410
220
921
998
407
114
423
910
960
299
448
371
808
428
805
728
825
38
558
727
319
845
274
206
965
751
240
821
333
342
823
326
484
565
590
274
777
627
990
393
281
152
621
118
811
969
168
822
477
742
539
417
214
895
28
535
604
870
353
30
621
827
894
471
986
326
378
50
507
464
996
334
42
520
599
591
801
438
713
701
491
332
216
530
537
191
267
337
613
988
646
6
14
929
254
471
245
636
955
400
391
268
158
160
32
296
484
173
650
231
645
469
186
352
692
306
12
745
159
527
645
765
876
903
612
602
871
979
134
833
449
91
852
929
951
692
248
71
397
575
130
984
625
320
358
27
448
800
860
428
735
965
725
80
148
364
515
165
495
891
673
143
430
919
238
20
610
840
418
723
827
618
777
741
260
825
394
992
488
537
102
897
750
636
42
44
966
720
660
679
355
90
373
293
853
342
69
383
590
986
744
754
541
704
577
126
875
209
391
747
578
201
21
671
681
965
59
83
823
841
466
601
501
839
496
366
545
526
683
964
454
483
718
544
995
315
784
115
546
206
146
276
325
821
18
477
642
937
514
840
941
984
236
422
141
190
238
806
252
516
73
91
705
225
432
643
398
673
917
39
843
151
949
38
637
797
654
1
393
19
681
688
464
904
140
843
596
274
154
552
466
764
854
601
658
500
968
978
695
658
471
330
769
377
350
848
995
187
407
145
589
12
346
837
890
358
140
610
538
160
75
662
456
642
186
737
198
31
476
314
277
621
815
1000
638
302
437
650
726
928
12
335
917
533
953
169
89
519
294
274
189
675
462
188
494
456
535
288
118
625
689
173
211
30
959
568
334
423
451
822
821
413
112
79
580
456
932
347
189
881
670
9
604
144
633
493
611
466
671
947
666
796
425
877
979
948
311
895
278
600
107
489
946
655
810
534
612
493
955
815
88
64
50
211
316
455
682
112
576
480
923
170
247
65
645
168
335
372
53
494
249
913
982
696
761
467
455
872
965
747
726
203
664
861
496
799
537
290
620
621
755
236
533
299
799
189
432
411
716
776
642
1000
734
210
18
764
822
227
385
139
767
455
263
643
16
428
384
974
172
455
887
91
791
709
58
887
973
853
154
301
602
673
84
410
818
545
702
242
152
35
42
252
267
698
714
295
949
705
573
763
460
455
344
533
46
24
150
643
70
567
558
291
178
460
30
650
663
319
822
798
789
583
290
602
892
202
103
296
493
763
164
748
264
27
286
776
222
170
754
572
859
683
977
828
190
346
938
287
215
676
640
902
625
232
433
956
958
310
724
437
273
616
644
761
280
367
122
937
286
816
537
537
673
317
552
446
724
975
217
748
653
967
464
868
833
820
374
145
698
94
316
146
752
469
551
22
784
615
636
203
128
246
171
738
899
252
271
937
196
347
52
993
570
804
683
779
39
458
64
904
699
143
554
595
741
311
546
779
895
154
137
188
635
600
151
328
511
322
264
102
583
859
378
957
234
762
126
63
606
659
30
601
181
278
567
101
372
348
793
545
843
552
850
857
982
872
562
617
933
931
71
557
551
310
505
68
558
553
913
312
136
438
908
758
3
287
387
119
890
124
258
540
888
594
757
92
513
794
964
476
420
991
547
107
697
263
489
817
498
226
82
384
421
751
608
275
888
156
903
179
794
860
252
293
944
898
262
883
189
185
37
778
142
468
264
121
889
953
538
940
186
329
531
396
947
581
984
549
335
95
391
562
359
502
94
586
84
104
986
95
456
743
321
694
188
685
250
971
987
451
947
753
64
900
370
34
808
819
608
335
706
137
696
579
760
176
664
370
434
100
649
561
40
299
968
826
495
138
349
591
260
396
605
274
336
999
342
173
677
764
826
815
809
476
959
197
348
831
438
859
650
56
64
140
749
648
593
219
1
675
756
297
528
962
691
562
371
624
992
72
390
919
66
572
626
24
285
859
531
11
610
915
648
950
32
321
921
116
551
126
143
903
428
236
549
302
300
207
762
848
359
885
415
702
507
122
452
842
441
642
917
714
238
834
791
453
248
97
392
627
958
17
441
22
213
765
694
121
417
954
631
493
618
330
729
441
215
421
232
704
547
922
183
973
902
694
213
831
595
174
200
493
655
276
297
143
329
540
247
955
463
144
685
754
47
433
547
757
930
461
394
676
366
491
386
821
508
658
624
652
897
235
107
475
711
61
117
760
748
362
427
216
899
342
306
441
939
408
927
439
409
361
607
492
540
138
705
825
58
256
827
32
18
149
729
784
450
106
472
431
630
774
30
718
268
652
232
12
411
56
859
979
101
672
838
616
99
458
376
436
17
778
280
908
365
180
898
759
377
822
959
184
140
156
904
681
499
255
568
806
83
606
957
824
443
75
897
679
690
862
975
631
297
66
562
17
695
988
835
274
318
32
54
278
923
591
961
895
926
930
765
948
507
381
337
433
599
38
448
684
592
782
609
19
814
512
529
245
877
229
957
716
728
375
597
823
263
374
751
22
938
519
937
12
540
303
418
630
634
974
581
988
206
296
459
105
658
606
653
658
502
455
214
812
329
909
419
144
761
990
742
371
621
623
850
858
172
26
73
621
657
971
979
937
596
903
577
304
463
461
29
683
246
174
706
462
455
494
768
662
743
765
293
776
381
257
542
288
733
881
432
968
75
960
740
385
972
692
388
391
921
733
110
551
698
375
319
540
16
856
749
809
647
837
351
525
587
700
675
603
84
687
409
317
10
131
374
332
606
536
480
572
13
321
443
350
22
367
999
471
448
417
72
308
950
937
832
778
948
450
19
268
831
704
561
93
284
33
352
12
724
456
163
643
335
514
381
619
937
502
82
843
556
127
212
431
488
335
854
229
337
498
326
332
263
119
908
78
793
935
624
497
760
667
65
878
151
670
234
42
581
923
983
654
327
189
890
90
448
136
869
383
331
718
976
97
89
595
324
758
943
183
720
794
982
13
595
480
697
82
472
899
912
395
504
783
625
435
908
691
58
269
798
864
168
798
144
855
205
534
631
369
181
213
868
161
390
662
952
672
145
413
296
884
486
489
726
644
544
436
147
336
783
815
469
842
161
622
948
285
42
203
989
9
797
439
540
54
822
914
694
287
508
532
940
574
609
583
741
307
322
17
476
528
213
590
580
570
179
566
51
524
707
944
480
956
857
603
113
110
232
672
859
4
690
722
85
991
241
66
968
919
369
163
665
128
804
114
481
960
140
888
576
600
905
417
866
153
469
224
413
236
418
228
818
322
312
469
219
968
169
248
732
106
739
743
105
46
277
56
866
949
35
96
509
352
867
944
437
803
560
93
602
226
557
232
208
787
42
478
719
714
251
989
478
895
574
162
433
847
109
454
606
189
75
855
851
502
901
726
798
97
901
563
401
19
332
982
472
570
601
721
146
237
403
884
915
271
125
633
150
875
2
493
864
266
809
912
493
253
683
321
798
359
403
883
868
616
74
65
665
674
395
161
892
542
309
161
375
546
164
153
91
367
639
507
900
77
120
8
778
76
496
860
939
896
811
743
564
506
66
192
140
476
242
381
954
930
900
455
212
624
331
60
734
952
468
585
386
537
292
990
573
833
394
96
494
4
25
268
372
737
566
514
927
126
407
678
546
85
849
720
498
593
635
679
867
943
312
312
433
941
610
201
259
768
5
47
920
516
705
819
180
546
962
246
6
561
819
612
194
488
688
788
492
813
232
800
487
42
320
675
64
778
990
675
577
577
185
36
748
768
152
190
128
747
127
289
421
68
898
960
348
189
380
968
727
936
933
46
457
69
580
647
910
571
235
920
862
490
543
258
480
172
985
950
603
648
410
543
595
294
899
837
575
62
468
748
880
436
648
282
502
956
438
487
353
797
263
1000
1000
314
287
760
851
92
694
495
257
720
818
265
429
682
811
233
760
924
154
845
993
481
4
897
115
772
439
640
443
724
877
668
187
1000
362
430
145
327
884
523
950
30
25
672
658
982
839
349
230
986
350
943
405
378
21
356
850
120
832
941
964
96
245
905
971
439
347
963
553
858
602
793
30
323
591
338
734
719
548
68
287
533
476
715
646
2
109
873
768
495
199
138
532
27
765
444
330
684
984
911
947
546
268
82
957
933
549
43
299
388
558
597
523
736
36
794
735
924
297
132
347
151
740
186
248
61
653
451
612
183
603
398
434
405
833
749
562
37
115
130
531
908
57
298
881
494
622
304
241
627
758
45
118
313
960
208
686
594
378
234
245
655
40
799
10
661
710
200
248
566
566
606
952
172
883
387
741
745
469
754
335
820
789
258
356
808
59
937
308
35
670
633
251
865
935
770
596
24
230
33
846
584
222
793
83
833
517
263
339
48
296
579
249
449
963
266
133
75
297
289
56
701
160
369
110
672
444
375
274
404
911
175
624
160
221
171
89
435
900
432
145
681
148
263
1
725
889
122
914
88
597
2
895
298
730
123
714
377
408
218
652
551
605
827
862
802
781
16
802
747
366
51
63
422
100
497
452
411
609
212
247
724
195
675
648
17
814
378
573
511
121
452
127
711
652
991
172
988
459
750
843
531
646
499
366
18
478
94
668
527
465
221
469
106
480
420
271
100
424
832
939
482
301
486
596
362
669
123
220
636
208
678
343
673
346
524
479
698
603
575
224
459
445
821
432
223
548
426
381
200
457
880
815
248
551
826
250
827
674
413
183
627
531
109
601
969
229
758
570
443
286
282
342
955
517
666
899
827
470
959
807
826
693
732
839
937
284
784
998
646
367
283
974
888
967
524
722
312
497
992
335
951
297
907
830
488
973
269
681
456
962
625
71
82
140
854
678
187
531
825
752
277
190
368
391
593
492
362
126
312
714
76
754
182
71
464
793
626
967
696
957
647
827
27
607
703
733
247
845
327
192
651
179
76
687
204
269
333
99
687
984
497
603
887
634
307
259
521
815
963
424
79
250
703
7
809
881
314
616
890
869
242
828
925
850
386
382
772
309
513
745
988
219
330
649
846
889
755
257
244
670
333
245
459
187
315
939
437
684
853
855
756
405
175
22
97
829
522
521
606
774
751
952
311
551
389
950
653
179
231
142
180
906
643
35
128
946
382
750
233
338
540
456
519
825
233
692
51
714
561
312
488
899
920
755
135
213
450
210
628
389
12
558
876
221
756
131
208
384
6
418
289
29
984
517
767
638
307
182
91
996
558
879
842
777
962
294
465
972
584
743
801
675
188
213
140
798
354
516
848
845
319
124
534
286
607
188
134
544
560
189
107
505
437
674
504
862
116
465
610
140
587
245
477
678
187
184
318
859
648
653
672
981
718
133
554
381
623
341
707
158
29
206
356
602
856
257
24
374
610
391
463
329
159
896
39
364
578
586
78
261
722
245
231
778
456
703
462
928
817
504
854
568
261
945
353
925
393
284
860
42
848
978
103
311
222
972
539
816
294
229
377
986
72
401
470
205
791
837
770
680
140
910
828
957
534
134
372
9
633
883
28
367
462
801
426
162
378
152
115
514
114
581
443
91
439
672
555
945
96
329
620
752
489
622
346
133
486
14
341
749
841
982
156
240
863
632
594
613
5
672
529
850
514
400
984
240
440
673
844
637
727
695
916
364
904
892
559
558
808
575
701
344
448
497
963
760
142
949
878
825
932
867
30
894
825
481
920
403
637
411
49
27
295
119
770
756
325
760
324
915
7
170
721
776
586
820
382
378
410
534
435
665
683
264
25
701
958
381
732
63
152
150
186
375
587
208
545
934
554
572
29
977
399
93
929
377
794
67
449
798
29
146
857
847
471
957
382
820
719
709
398
357
464
505
643
843
690
122
125
632
97
771
696
495
272
716
800
457
688
225
863
423
614
455
457
847
478
638
203
366
54
145
354
250
527
281
541
873
234
925
509
970
899
453
62
988
900
711
252
991
8
415
301
422
158
200
433
358
388
587
991
254
164
966
901
370
483
597
358
529
190
161
815
66
58
385
296
397
958
211
976
928
966
652
97
18
873
254
120
343
675
207
80
309
115
855
273
936
862
979
999
765
427
435
436
566
712
574
645
881
430
626
473
48
563
791
347
765
169
758
132
116
157
674
693
559
541
387
778
180
189
374
726
779
504
998
552
819
391
684
952
271
916
211
969
527
774
156
329
370
405
576
327
114
73
530
536
867
761
41
447
777
248
164
271
654
864
761
6
685
395
526
812
21
916
432
799
966
906
267
626
27
129
866
116
188
404
147
60
564
170
962
28
174
370
81
520
115
559
798
609
289
765
982
401
285
999
845
970
342
957
678
278
200
529
606
119
423
266
571
403
17
571
249
363
544
543
822
169
870
14
809
935
915
47
514
815
305
929
518
896
659
866
75
14
581
226
421
217
54
996
143
955
505
767
540
326
865
689
885
521
871
739
382
237
882
643
597
526
79
437
733
159
765
704
915
617
804
796
981
222
899
228
858
379
262
525
192
532
910
785
869
934
676
898
157
204
883
33
652
6
825
167
706
396
610
309
1
480
439
467
898
308
314
771
732
324
236
948
508
875
108
483
212
778
205
384
993
937
338
197
129
97
188
603
275
202
347
492
878
758
164
210
405
952
575
664
81
817
606
531
941
271
549
831
880
956
225
44
927
87
137
942
513
316
162
126
930
642
642
305
45
297
84
964
272
16
232
286
426
553
757
635
940
971
153
529
764
836
415
507
553
109
635
861
306
213
472
554
125
757
953
515
999
980
53
123
825
449
370
109
978
266
530
252
444
431
526
955
72
106
46
851
593
694
603
941
2
185
806
702
974
228
659
431
645
718
608
144
336
590
369
832
763
881
855
83
754
183
812
433
174
307
225
960
33
556
815
57
75
49
3
671
325
196
297
483
363
552
209
1000
215
608
526
375
482
652
680
392
762
155
855
204
666
29
220
739
37
695
823
48
946
256
229
384
691
591
707
847
593
844
908
805
587
653
952
361
845
815
114
793
149
71
246
928
442
813
822
144
182
1000
819
182
658
475
703
95
601
211
285
458
946
572
562
93
298
344
35
374
262
836
428
63
700
345
881
320
710
914
810
74
994
805
319
821
244
978
649
485
257
990
256
979
452
408
736
217
443
816
752
770
452
79
756
692
69
284
156
905
372
616
167
601
380
4
971
310
259
584
86
850
204
191
423
104
78
244
15
689
658
705
409
385
322
355
861
482
48
55
37
707
454
887
831
148
782
114
266
635
720
851
701
315
153
109
46
913
618
693
717
293
666
186
341
279
458
729
581
372
558
24
220
725
195
755
585
767
793
421
879
776
224
334
905
824
187
859
417
529
882
524
144
876
225
965
81
950
533
253
76
313
842
742
8
141
33
633
932
712
4
16
448
864
537
216
903
971
195
971
210
710
578
224
551
802
773
253
939
177
109
497
919
816
296
22
173
716
431
874
952
354
64
945
320
630
484
931
342
914
103
796
445
475
752
792
263
858
551
947
662
37
914
513
409
72
788
196
404
107
69
861
760
946
339
649
130
8
758
983
234
280
443
115
285
595
916
119
225
718
386
684
837
385
35
989
751
752
99
516
478
522
573
38
928
999
47
404
972
125
27
392
262
907
609
166
905
147
480
782
97
608
685
825
777
747
2
663
899
176
551
319
265
311
665
222
789
269
182
984
80
991
344
212
414
501
706
255
739
195
598
992
481
153
699
277
37
494
382
54
384
521
469
220
299
155
762
971
432
738
850
769
846
501
726
624
262
891
122
294
472
856
795
350
915
698
246
791
826
615
517
509
958
51
119
60
964
573
410
182
24
551
52
323
979
373
501
646
392
779
759
311
200
404
257
571
488
934
147
485
905
670
637
820
934
494
162
483
930
880
265
767
162
108
290
620
535
75
166
230
144
832
383
43
460
294
801
791
526
754
283
661
699
558
278
908
183
610
736
251
19
373
557
410
70
687
43
635
468
959
639
667
722
505
72
750
835
124
70
416
352
572
477
427
495
49
596
934
335
27
834
693
336
482
204
318
127
698
600
862
158
868
183
635
82
762
144
98
267
918
534
23
805
994
197
872
750
213
161
657
856
786
317
51
405
748
817
917
317
68
223
471
117
965
182
734
358
405
591
192
87
774
641
150
658
14
733
810
364
427
299
17
619
548
712
775
404
949
43
914
512
958
434
141
631
738
779
971
43
866
938
493
639
637
478
581
47
649
85
588
146
95
926
958
414
421
296
498
925
524
885
434
785
839
961
853
165
682
422
513
335
762
281
311
1
403
783
592
565
358
377
299
623
297
212
130
504
255
475
807
62
257
799
4
326
435
454
949
554
206
174
386
465
973
685
771
385
212
617
616
395
258
308
823
648
365
957
292
411
134
91
712
525
403
61
478
185
269
430
333
337
157
867
199
545
28
179
880
932
998
662
167
74
158
821
282
690
704
268
142
433
477
86
764
696
352
272
279
656
530
285
245
377
653
89
885
750
42
835
993
398
475
949
885
951
173
511
808
218
232
410
437
138
851
354
751
131
496
953
854
2
193
736
486
183
179
856
506
913
245
719
116
844
213
412
493
607
2
607
68
623
763
23
305
921
699
959
383
163
402
915
234
763
943
568
435
876
607
932
799
815
635
713
1000
944
126
537
19
876
558
377
53
21
704
340
623
949
411
279
283
859
999
301
862
28
478
448
731
171
716
494
482
535
354
992
466
946
981
147
971
853
811
262
315
947
306
732
406
827
769
581
309
876
876
28
972
29
120
472
863
148
965
536
79
501
706
202
476
800
352
775
655
489
772
602
49
576
824
931
79
243
955
75
472
859
275
68
910
253
688
369
68
830
600
239
390
799
444
174
270
357
3
642
105
798
626
128
981
640
598
814
288
408
839
556
811
160
305
296
847
684
965
422
458
707
138
874
480
462
787
603
891
772
978
359
168
120
256
822
82
306
760
24
472
481
618
835
178
169
951
967
919
545
250
19
677
948
453
828
616
483
487
601
611
399
295
527
372
959
826
782
256
395
66
101
132
920
73
110
400
27
611
735
809
435
704
838
841
227
361
784
416
339
603
45
317
89
370
124
373
187
76
832
72
374
851
990
528
942
740
861
494
723
567
658
123
377
80
861
22
489
589
963
841
825
429
27
770
753
800
483
520
269
700
477
885
607
30
238
426
921
715
949
991
920
848
380
340
69
504
895
395
43
569
960
286
892
492
975
663
748
660
955
473
229
16
692
709
587
658
569
421
472
526
424
213
570
907
729
896
317
342
649
508
491
71
224
848
80
571
644
108
186
691
143
101
222
618
390
240
110
195
962
628
248
317
806
389
691
941
968
598
71
861
116
530
916
711
768
813
692
709
169
552
47
140
600
47
243
686
755
382
359
797
772
865
708
551
943
272
765
693
207
761
400
454
846
495
857
635
251
237
540
838
769
914
175
775
269
71
197
420
192
949
798
491
490
179
300
343
872
54
778
731
815
428
914
757
682
999
159
765
115
871
647
636
703
28
715
16
560
487
146
527
516
146
794
725
246
278
72
861
662
912
993
779
808
583
653
224
884
429
802
21
914
594
310
58
268
44
610
705
175
906
667
665
666
814
252
454
990
432
526
803
920
764
718
919
183
749
979
974
470
827
909
621
477
531
917
558
698
711
649
994
505
435
629
987
640
915
416
254
503
189
229
436
83
871
439
815
810
495
340
433
195
494
946
495
215
386
980
890
839
433
530
58
118
74
128
131
35
88
239
538
974
204
339
526
208
934
461
822
799
818
911
269
109
285
522
717
524
758
705
34
441
116
682
746
937
867
249
922
874
818
860
769
27
108
541
868
528
443
861
786
309
285
388
975
577
961
847
170
966
899
886
74
202
723
22
98
735
913
131
829
554
520
425
317
677
859
155
579
781
85
895
170
917
126
608
876
749
574
985
654
643
692
515
363
14
446
554
111
507
645
976
697
634
6
152
277
607
399
671
568
756
664
935
767
430
688
319
916
900
160
636
842
612
406
997
651
224
396
116
475
788
287
664
293
112
627
352
210
23
898
576
35
613
210
802
839
705
367
554
635
39
882
155
182
231
898
772
314
908
520
554
237
717
931
48
406
957
778
487
549
38
80
775
166
622
881
479
594
167
896
422
257
692
198
32
849
363
825
997
851
11
719
685
37
623
581
951
96
135
95
729
683
287
290
795
382
477
730
23
107
72
225
869
31
424
930
348
392
141
60
843
248
768
228
74
348
338
84
679
193
936
902
319
95
430
786
36
498
248
513
868
829
121
618
523
425
822
45
921
242
284
337
765
528
273
632
473
281
627
793
73
150
913
231
995
293
134
167
854
35
555
84
509
58
955
149
147
883
976
705
178
245
629
89
888
552
136
180
659
832
149
227
870
876
629
648
495
964
817
893
789
3
515
692
613
992
455
924
836
877
511
125
769
118
717
381
98
612
966
116
639
39
660
730
625
526
184
60
230
872
315
160
718
796
924
717
329
694
942
873
644
584
823
402
97
64
603
63
498
719
772
239
998
193
405
891
12
58
102
962
3
288
214
357
878
582
199
939
585
945
480
599
833
594
145
483
720
528
296
704
786
463
111
927
891
985
24
442
344
987
3
966
213
483
541
4
403
771
150
670
105
817
636
856
749
353
626
573
352
623
188
913
807
322
80
579
430
836
876
287
124
133
583
520
836
601
976
902
854
34
196
321
35
655
278
512
768
392
672
915
238
811
219
988
309
722
662
659
744
714
428
175
156
418
703
179
808
385
156
179
295
684
240
151
138
366
407
775
812
778
660
178
926
817
295
536
423
525
801
461
88
824
201
559
371
692
194
743
60
843
353
306
705
964
889
451
530
44
551
530
189
116
400
879
880
200
268
712
717
419
409
841
601
507
605
460
983
854
100
169
881
416
257
275
434
381
161
258
5
504
584
285
178
717
571
712
26
153
150
562
510
660
392
308
148
656
765
824
835
865
82
271
193
844
406
464
653
344
800
87
163
265
692
877
810
778
411
256
981
494
980
258
895
192
527
691
544
586
757
583
229
292
48
570
52
337
330
110
689
529
168
643
700
343
670
252
82
638
586
340
215
924
837
347
539
734
717
130
910
437
374
153
587
772
544
45
351
11
272
253
612
672
764
714
740
140
325
621
549
845
677
942
439
532
816
85
465
176
113
92
875
718
498
657
963
753
215
19
65
570
939
481
584
457
598
908
454
761
152
369
937
43
845
589
807
821
103
163
765
494
602
834
258
515
631
941
764
647
850
414
658
32
73
451
91
145
223
758
353
405
96
532
130
951
549
379
945
266
982
984
521
710
626
588
718
590
690
153
286
827
373
24
766
628
131
433
842
344
90
45
42
898
182
26
882
454
704
185
450
241
667
330
57
6
371
923
172
433
367
967
548
525
987
654
905
385
864
414
746
67
229
16
294
658
814
152
942
738
620
166
465
715
729
111
886
438
180
231
65
449
251
533
755
454
786
715
842
554
65
151
662
475
944
99
944
195
969
118
502
952
400
193
888
130
347
896
504
118
712
190
501
831
988
662
918
574
278
560
959
38
510
765
737
852
499
812
482
468
431
913
485
55
984
151
780
232
498
535
959
834
371
666
577
264
191
903
427
524
856
828
946
688
927
936
386
125
159
50
33
357
306
602
602
849
94
618
134
215
348
632
482
48
856
110
34
795
134
497
344
16
805
362
524
322
308
752
50
859
712
838
164
215
448
764
336
774
494
133
669
29
347
348
232
586
134
75
205
726
700
464
384
462
44
378
703
273
747
749
118
286
219
990
193
997
920
490
562
463
894
817
632
863
874
348
200
531
260
423
637
857
769
611
431
474
347
498
837
780
431
437
773
660
227
525
220
319
349
96
604
432
564
879
100
404
717
904
583
28
550
926
740
913
414
56
208
477
422
878
235
82
745
441
786
357
434
661
367
753
250
234
450
880
764
354
1000
401
716
612
987
679
816
811
706
596
497
110
126
682
861
949
421
177
115
804
974
565
555
329
289
125
693
640
512
857
534
19
185
75
3
36
49
147
858
152
60
348
18
431
388
920
522
746
328
465
712
287
107
433
407
64
30
568
510
385
924
863
166
588
530
725
937
213
555
881
854
899
357
380
322
263
982
274
421
525
369
341
508
373
966
599
217
917
124
337
692
707
618
60
775
752
520
913
961
210
382
859
355
364
817
10
779
364
567
606
303
545
540
587
7
825
441
174
935
282
560
43
685
657
72
409
78
904
614
331
928
642
451
183
224
98
619
704
185
642
886
615
147
717
448
295
406
486
532
50
436
146
515
364
191
789
76
68
201
514
580
567
666
874
531
117
134
644
366
517
816
501
598
319
222
137
271
961
678
973
916
565
545
386
565
443
185
235
715
465
283
713
91
366
321
364
787
381
43
483
104
287
299
552
286
699
44
18
427
151
931
281
259
92
468
875
697
54
482
722
48
136
422
11
518
989
208
180
344
654
51
18
132
873
19
503
657
482
746
560
97
543
690
769
900
777
199
131
497
251
927
257
845
998
157
547
780
654
452
157
558
591
768
889
913
111
943
24
349
37
256
962
685
312
154
886
591
796
358
334
549
66
475
825
147
780
962
869
999
138
313
937
432
285
971
646
670
180
768
632
290
912
432
78
4
468
746
543
641
293
420
108
988
536
159
877
526
328
517
605
398
852
868
955
270
958
750
970
818
916
754
228
740
431
354
18
275
702
224
848
250
547
71
405
332
738
118
182
192
421
551
84
300
944
746
782
252
529
420
104
421
369
454
728
33
269
867
839
384
570
392
940
564
104
524
409
179
105
800
80
952
382
220
221
344
634
292
849
36
748
913
527
10
893
831
908
489
309
11
858
900
72
883
210
854
378
850
648
734
556
14
787
186
756
589
186
331
356
149
220
403
717
196
665
88
184
483
879
186
892
151
226
898
881
569
38
194
891
201
658
787
922
162
544
195
775
117
6
560
533
685
803
525
963
729
814
485
189
539
668
532
637
588
526
225
407
278
614
437
145
576
608
366
232
328
510
17
700
711
379
100
327
377
9
470
785
718
606
602
641
508
443
718
888
676
346
87
477
702
636
757
202
7
804
435
541
740
821
19
858
421
436
60
382
33
808
210
293
896
432
968
8
787
767
528
618
825
459
970
364
808
270
460
279
162
604
82
180
777
186
402
950
522
751
42
838
489
522
661
644
662
993
992
817
637
985
58
522
959
760
871
479
526
887
844
453
66
361
953
176
737
85
367
484
523
232
238
130
894
928
920
96
148
193
620
601
101
460
102
92
180
415
499
358
938
845
49
698
362
797
689
301
140
127
849
778
627
444
728
114
9
860
815
189
108
726
746
237
501
600
689
729
74
377
803
776
191
831
288
305
135
23
737
357
988
666
872
766
871
18
437
954
964
783
600
694
204
668
438
486
700
446
53
540
944
402
341
40
273
102
783
844
704
816
617
917
988
357
666
718
829
671
502
293
405
649
47
84
41
978
13
382
875
724
599
932
255
126
476
722
462
265
149
813
727
44
965
414
720
62
654
330
321
886
853
398
471
897
496
844
320
663
186
408
570
891
620
171
852
20
565
588
143
104
885
481
149
417
378
615
444
38
812
523
600
203
861
966
499
797
418
403
62
396
33
6
622
430
242
372
184
458
393
727
836
833
71
130
631
476
509
592
717
585
158
375
117
772
130
686
580
178
506
24
347
99
333
409
120
344
615
262
234
234
996
117
588
609
215
347
138
160
826
803
502
963
687
986
646
978
706
147
416
962
890
42
23
433
701
533
759
312
836
281
232
112
768
853
968
44
910
528
143
998
717
724
257
158
447
38
558
941
805
127
790
64
970
714
735
853
965
697
480
470
990
821
17
79
130
387
37
204
68
111
703
688
910
352
893
335
29
8
966
823
427
977
480
598
829
838
208
298
197
26
256
1
816
15
316
409
83
274
228
818
556
437
551
925
763
345
498
652
850
896
440
837
985
364
692
376
813
457
274
43
528
326
665
670
846
576
396
522
149
8
651
748
499
728
198
107
540
553
370
127
447
974
441
694
792
676
498
139
747
564
584
193
860
445
536
594
470
561
880
49
122
683
632
781
828
353
760
341
646
660
166
32
720
802
393
150
841
475
330
784
208
525
201
102
953
719
93
88
634
401
907
595
439
255
953
522
644
663
491
77
436
371
815
484
269
462
900
535
580
910
873
472
764
293
465
320
67
377
581
781
74
736
632
686
190
208
582
517
113
302
773
132
955
893
859
861
859
521
898
402
881
613
705
330
268
576
775
617
766
177
177
652
678
814
562
932
1000
285
254
691
195
934
508
993
730
377
112
76
324
703
387
668
534
612
428
176
592
157
569
27
238
22
77
238
341
561
401
528
995
876
486
232
694
386
463
373
755
342
256
799
538
78
909
318
590
447
965
15
283
983
874
74
9
705
269
17
665
267
287
604
506
921
208
848
47
655
27
63
933
324
152
783
832
921
622
959
126
987
707
515
925
107
809
778
401
625
518
458
819
263
299
362
783
706
679
901
866
457
119
396
516
491
325
561
456
933
513
198
539
919
470
883
892
999
275
467
191
345
555
85
383
334
276
519
961
865
705
627
234
524
457
74
294
742
876
534
687
902
203
638
860
479
230
354
115
779
218
164
69
136
570
55
788
894
433
190
567
33
157
228
243
464
107
568
347
207
420
383
671
144
324
796
380
795
843
845
262
647
886
114
348
808
799
255
83
409
442
492
698
367
855
827
318
16
155
921
68
57
506
639
106
188
620
864
909
982
198
392
675
473
319
134
640
542
968
604
578
335
861
779
286
49
479
171
942
849
260
280
826
534
638
62
439
143
43
859
787
212
516
568
611
2
812
783
520
487
145
416
767
849
487
464
133
430
413
679
651
746
528
10
644
822
780
688
257
747
38
518
247
509
170
282
112
553
54
279
914
963
453
886
825
186
446
19
852
313
485
642
215
137
987
22
532
423
612
312
330
228
973
191
356
4
418
413
990
903
215
755
373
249
57
999
561
906
866
680
688
977
396
552
361
274
754
949
270
358
740
706
538
980
517
938
443
449
7
229
547
629
769
322
307
870
289
970
125
295
455
683
745
796
867
285
997
2
418
834
383
179
236
153
848
899
642
889
525
186
107
934
319
250
559
1
918
501
489
247
836
425
607
307
792
794
878
572
604
106
536
983
509
444
40
793
977
360
6
610
49
297
658
504
93
764
697
948
157
952
314
159
564
180
48
616
413
221
280
18
619
35
797
49
329
234
773
116
463
816
266
801
788
732
697
952
875
824
852
488
520
152
744
274
448
57
628
14
866
795
500
310
177
684
970
125
405
532
496
718
74
371
462
423
526
439
789
800
452
459
597
975
694
802
729
722
557
732
192
803
814
373
392
591
74
350
393
897
774
591
12
864
914
960
483
792
42
300
702
695
78
641
95
847
36
710
362
282
407
660
396
528
649
201
183
403
726
92
232
74
446
601
726
567
764
202
389
468
83
388
154
698
503
589
679
349
387
529
489
204
679
940
50
437
701
704
400
822
582
727
251
674
650
461
759
764
233
729
250
141
957
91
769
334
664
149
823
141
515
286
327
690
263
191
623
31
182
275
633
541
945
943
272
488
519
470
255
532
840
894
218
585
634
724
783
978
353
981
726
661
171
909
660
103
873
793
775
824
41
608
43
962
1000
692
745
562
969
309
607
104
763
680
544
857
82
752
955
656
89
51
735
936
538
501
656
133
839
574
62
541
747
323
209
751
852
285
133
887
806
281
814
244
435
29
892
183
940
838
794
87
43
184
946
839
868
534
871
286
827
276
43
676
27
531
382
788
815
924
769
517
511
512
546
622
695
80
627
777
935
164
345
477
24
316
172
815
579
368
947
950
600
919
676
917
621
489
945
86
115
366
140
469
485
642
788
57
674
572
575
6
956
399
208
764
668
456
726
911
128
190
861
175
375
61
755
433
927
471
84
697
273
304
51
571
776
741
107
339
623
732
10
217
892
681
96
608
442
590
707
217
515
183
358
137
199
259
961
576
93
241
440
977
358
663
766
51
189
290
824
73
543
281
992
566
806
248
463
356
638
218
578
96
475
594
948
698
405
527
423
184
119
536
99
603
922
279
339
88
927
851
833
906
662
705
502
844
885
119
456
82
46
589
259
597
995
527
345
650
318
527
761
45
746
314
182
476
713
377
489
989
724
647
230
49
8
26
557
682
352
708
519
32
1
83
244
162
807
606
421
620
528
870
452
403
176
317
613
941
686
946
836
682
85
891
347
719
419
693
654
332
207
946
403
162
390
666
191
587
540
87
477
576
82
567
654
107
321
615
92
169
965
846
770
373
862
633
255
845
119
173
10
592
913
107
433
683
640
100
777
657
44
584
665
825
126
964
517
678
164
54
741
58
40
134
752
868
601
855
291
143
564
389
984
925
965
51
786
989
486
956
233
106
818
1000
851
450
28
762
452
330
539
338
456
972
926
996
121
999
90
739
200
426
629
354
838
33
606
716
608
867
359
739
614
623
104
560
734
115
503
910
743
267
609
385
9
176
187
159
388
952
904
673
888
287
430
904
940
369
600
683
390
96
45
864
193
89
300
856
638
994
671
684
798
693
301
296
419
317
385
603
354
245
844
270
102
77
787
477
246
836
366
714
765
530
799
524
428
120
123
116
860
17
730
289
995
680
813
957
775
568
165
356
778
329
838
545
247
895
607
85
804
130
837
748
31
61
97
72
276
104
731
120
124
934
241
190
556
289
757
910
196
633
306
626
681
664
959
723
85
749
417
706
811
956
457
265
684
259
777
334
95
551
944
703
976
899
188
400
76
763
274
399
351
325
975
766
152
515
58
564
870
367
108
627
87
596
789
873
432
62
953
886
973
710
357
985
612
989
785
539
215
604
643
258
493
964
931
746
915
687
995
929
48
421
200
851
477
955
387
554
453
569
492
838
103
853
911
213
571
49
180
735
270
954
109
536
728
742
21
504
218
999
240
909
957
144
743
746
30
692
153
658
660
860
527
988
736
816
931
687
806
863
601
400
558
638
617
915
983
85
73
948
746
203
542
821
518
162
823
247
831
648
845
655
762
634
411
598
385
876
984
880
864
70
108
975
136
690
647
866
649
690
337
720
452
960
191
215
56
223
68
272
497
278
58
417
115
982
233
295
685
869
205
638
855
730
35
38
327
675
99
212
3
624
723
842
322
724
816
888
764
323
545
188
573
989
44
526
311
449
778
975
803
555
270
34
237
474
336
945
427
250
236
323
216
365
372
25
253
49
991
841
17
746
371
629
250
375
137
508
38
612
52
979
459
928
142
189
352
339
573
799
763
481
724
694
601
371
179
457
903
482
144
536
212
894
2
20
685
586
402
787
91
734
651
66
754
944
99
173
279
936
249
668
341
544
942
650
837
803
703
714
679
773
90
143
40
617
714
793
447
836
778
340
207
366
627
12
970
12
939
911
504
350
525
785
798
16
179
803
17
477
524
858
599
946
888
238
912
30
2
193
746
575
309
794
531
378
764
620
939
170
533
502
254
619
648
24
420
362
284
64
845
522
846
675
611
732
986
835
58
601
638
906
62
418
140
448
884
89
556
358
619
517
111
142
673
488
608
240
124
267
962
914
471
909
648
300
664
343
317
27
434
261
938
435
311
964
122
183
166
332
491
441
288
240
928
962
842
218
286
437
344
444
266
133
751
515
321
219
445
973
861
467
398
381
498
27
892
114
399
108
456
669
784
796
70
470
581
884
913
410
377
293
395
122
285
902
123
156
705
956
831
819
993
962
771
883
343
597
754
875
939
586
80
853
228
527
757
128
974
588
32
135
198
698
204
727
716
373
996
735
129
685
9
192
81
977
956
963
780
503
983
251
19
968
486
596
943
480
717
313
649
852
86
330
3
908
528
629
586
763
618
194
924
712
705
45
984
680
142
86
909
521
709
292
859
922
320
649
172
891
844
594
367
629
338
533
774
777
500
476
784
554
879
155
498
809
248
791
295
41
227
696
294
853
323
81
289
915
846
881
24
193
598
801
634
72
416
847
398
42
482
518
210
596
715
358
728
226
406
678
962
736
667
556
632
375
604
134
776
398
4
319
817
86
308
486
312
936
62
379
533
934
692
743
228
627
549
645
24
437
77
920
582
208
904
651
329
398
753
670
76
977
20
340
481
912
439
418
744
479
138
242
1000
359
357
252
894
594
454
883
76
12
533
329
317
527
491
494
912
113
501
123
584
972
381
901
696
258
235
971
910
791
680
298
585
240
976
886
556
650
782
995
757
63
487
122
981
641
318
989
787
297
930
11
823
30
744
655
511
59
262
812
364
645
858
687
558
128
160
400
553
63
626
197
232
916
357
754
367
262
903
68
968
375
442
917
216
878
328
929
724
76
498
339
225
233
708
960
963
810
403
272
646
189
833
948
349
514
356
323
371
581
76
174
155
655
831
519
568
929
60
990
80
293
493
239
662
138
736
264
34
707
112
923
86
184
638
684
63
750
762
466
655
553
386
231
577
410
2
589
251
826
958
450
306
598
888
836
752
405
241
966
85
454
793
499
355
383
416
4
68
701
611
914
829
76
197
740
526
417
801
148
994
956
290
250
817
291
269
980
245
800
695
534
463
323
348
985
348
465
100
957
798
270
992
281
380
157
74
431
324
271
463
258
253
39
505
490
576
485
761
1
943
698
771
941
553
846
555
55
464
917
88
383
850
843
319
233
200
307
617
521
60
713
619
912
879
418
51
553
188
772
770
185
572
214
758
752
408
291
832
303
376
868
189
882
498
61
163
500
722
796
612
888
507
937
551
336
343
464
48
26
443
1000
904
336
975
859
242
937
931
162
500
199
349
403
990
216
59
887
768
986
972
12
586
840
674
280
928
733
999
548
986
880
243
543
400
469
994
455
481
716
500
217
169
70
484
462
756
724
815
144
733
385
872
999
309
621
765
299
55
461
323
845
235
563
713
469
623
649
929
992
467
454
763
310
393
75
236
979
523
851
582
842
93
594
839
474
191
53
195
99
845
781
441
594
873
42
555
565
391
617
753
69
859
256
554
921
888
995
42
379
697
243
746
826
401
100
782
703
24
417
892
972
791
134
773
605
331
122
23
486
732
891
571
214
430
905
775
644
894
237
872
566
732
551
736
585
569
684
784
419
304
333
877
649
707
381
168
614
439
912
171
836
67
474
741
924
174
837
253
160
265
872
361
592
607
936
523
865
602
292
158
36
192
751
869
567
56
802
717
26
675
743
334
740
974
660
979
148
548
55
628
51
518
798
220
391
187
711
554
803
576
712
324
758
724
976
629
56
386
817
329
865
115
433
465
549
312
287
992
890
72
807
32
380
671
440
450
667
475
924
635
16
247
586
688
77
851
813
377
88
732
156
102
84
366
68
540
941
783
93
977
646
352
927
982
444
633
927
269
618
251
664
177
61
550
785
94
637
492
58
23
35
860
178
550
434
216
951
357
642
592
723
968
265
71
839
266
644
342
397
691
690
282
418
394
765
405
179
771
376
85
205
501
536
23
762
93
45
879
199
343
68
769
880
405
402
37
228
198
921
664
412
125
727
856
429
817
916
947
155
431
103
52
218
317
698
516
857
583
86
175
465
283
607
392
126
38
185
167
904
710
918
691
224
344
761
994
245
888
454
919
671
25
21
709
223
716
733
74
680
439
142
719
403
286
984
378
146
29
140
714
482
970
659
299
981
246
197
483
343
639
50
830
301
694
81
54
772
810
618
540
725
426
768
256
692
592
973
391
422
518
280
280
926
256
484
820
539
643
61
506
907
193
28
293
846
840
50
199
399
881
745
651
173
439
26
756
228
698
612
234
76
105
934
114
696
770
283
280
893
887
43
246
694
85
202
759
571
181
108
297
3
471
665
731
963
808
575
111
878
92
711
30
506
421
953
798
535
614
470
990
80
562
82
932
887
498
76
580
441
920
73
735
397
750
315
271
605
13
716
274
611
803
678
268
636
89
102
303
347
383
950
59
283
156
393
625
452
770
839
78
778
477
578
397
597
443
594
899
774
601
207
640
98
176
947
94
348
291
884
896
736
260
798
724
421
395
8
732
171
889
301
741
519
669
75
717
210
687
246
720
765
216
403
990
582
883
480
598
308
105
116
372
72
768
787
596
750
837
775
328
662
998
833
859
781
11
950
878
557
786
650
36
785
580
253
39
532
83
390
414
826
547
622
632
928
680
384
563
403
34
843
662
147
952
90
160
774
635
271
441
634
920
958
233
195
991
168
360
576
796
643
758
644
5
436
837
809
515
108
594
25
758
950
149
91
362
375
981
112
804
508
297
31
518
219
198
340
131
699
259
410
616
640
141
493
431
559
952
749
469
792
423
840
763
868
143
179
928
783
105
41
881
715
985
589
965
38
753
757
114
42
677
970
994
273
946
287
372
883
668
161
317
851
924
831
350
329
939
908
703
756
299
105
373
139
725
646
373
544
47
124
133
596
356
599
850
467
696
299
36
671
130
153
885
782
648
413
826
856
483
891
835
411
137
813
501
608
647
643
882
117
207
464
41
945
68
879
228
552
335
543
82
142
923
4
382
501
176
492
340
15
623
905
316
47
255
891
487
104
204
149
660
805
973
492
544
345
418
64
995
189
826
110
116
105
371
477
248
480
136
525
162
362
418
374
409
224
647
116
653
675
331
290
518
805
832
889
656
369
271
308
617
281
56
656
890
1000
847
137
218
66
291
103
211
429
31
411
984
867
563
95
177
922
254
124
240
91
992
468
373
287
282
50
937
563
852
824
835
919
299
629
683
489
335
594
342
708
58
660
458
628
409
604
296
663
305
263
796
753
301
499
50
809
113
708
936
400
899
231
103
258
460
977
605
574
511
187
614
141
530
276
555
727
523
816
509
949
641
876
173
260
362
61
956
331
737
869
488
101
265
468
596
270
340
192
755
952
328
182
428
580
587
864
747
278
95
101
112
27
680
740
694
223
432
21
329
299
467
214
451
844
606
929
325
84
761
385
744
130
116
531
758
330
361
531
898
111
70
301
933
658
149
221
954
532
609
700
981
114
64
445
874
432
900
379
492
912
625
543
663
561
509
442
427
555
452
807
120
101
396
936
551
826
772
562
430
711
755
749
523
562
83
941
95
707
332
496
48
829
916
315
507
750
984
389
663
173
140
934
356
130
525
134
157
942
709
458
405
982
958
147
571
125
87
568
870
980
780
421
752
323
307
887
514
237
684
503
381
658
480
414
850
72
419
195
237
330
610
837
460
948
222
542
172
2
884
115
314
990
626
376
486
604
357
786
760
953
336
623
569
315
988
246
855
732
610
587
485
802
665
102
45
808
84
249
596
763
712
47
920
653
11
349
14
893
629
306
656
806
106
399
798
652
303
962
441
875
522
963
418
888
682
286
4
455
800
242
670
628
920
817
206
460
226
15
869
506
764
574
865
654
980
682
970
872
909
732
687
182
900
514
662
480
591
864
297
477
577
477
447
623
96
727
145
199
599
908
832
547
657
571
736
488
471
763
326
844
867
425
132
338
662
955
338
828
457
997
421
688
170
455
680
416
552
611
550
927
117
750
43
701
966
980
142
193
253
54
133
387
311
587
26
127
962
962
994
642
596
484
856
341
823
874
164
154
922
937
55
785
93
191
547
499
577
831
489
641
899
787
841
20
853
566
836
263
751
62
220
451
321
725
614
495
456
8
942
244
94
12
369
816
327
839
74
621
6
487
540
154
933
683
329
660
599
63
777
257
124
859
825
396
191
992
120
86
628
66
507
491
743
480
698
788
442
215
826
229
389
950
907
146
805
51
65
642
115
651
776
313
368
977
255
588
503
884
118
773
70
951
543
181
648
416
827
428
140
826
162
220
996
684
387
43
836
635
295
858
543
48
119
35
832
110
857
352
53
999
757
201
635
201
716
553
103
248
858
589
16
703
552
796
883
175
393
293
373
933
993
760
566
76
200
693
290
899
23
566
228
844
43
884
975
917
373
481
751
242
567
992
871
665
129
577
762
423
449
395
532
948
117
231
29
344
442
628
854
98
142
383
138
372
233
26
378
284
737
363
244
326
528
848
481
118
673
458
312
523
655
178
742
423
867
505
399
634
349
677
314
607
942
678
984
177
216
2
976
703
624
26
151
909
541
814
734
607
81
850
349
595
633
195
370
604
605
783
63
683
848
893
402
687
956
261
884
124
525
267
996
968
96
138
866
765
75
824
579
94
607
74
854
312
356
504
338
227
952
256
658
30
664
510
84
91
224
788
261
574
423
612
816
727
967
296
882
162
29
453
121
528
415
576
267
791
854
472
474
732
193
315
108
185
957
229
18
487
284
829
140
61
497
87
404
637
947
621
155
810
343
585
419
792
696
426
603
822
62
429
257
869
538
85
474
710
73
255
97
612
118
579
786
56
355
409
392
391
302
281
614
411
501
106
643
877
483
756
750
714
777
364
949
115
585
809
662
298
564
772
247
864
78
566
925
717
201
900
133
568
249
683
283
42
960
350
718
164
538
412
518
152
309
628
7
213
697
574
731
431
802
885
593
571
210
611
768
168
496
968
626
914
530
77
423
15
878
175
127
850
723
331
913
732
98
20
327
839
47
549
773
187
265
858
302
323
508
609
766
295
718
301
665
258
990
181
751
355
698
250
318
902
242
366
400
451
576
935
422
13
927
470
772
780
463
339
332
665
540
814
2
259
776
537
87
224
162
147
379
436
958
186
466
238
746
992
58
984
480
440
866
24
51
121
79
143
530
457
223
629
11
478
843
341
675
529
853
40
476
138
192
169
297
766
490
921
40
1
858
788
41
771
636
841
337
375
753
974
701
63
885
324
583
449
717
439
710
545
626
591
718
447
555
55
352
183
121
899
837
202
471
434
526
618
306
745
546
615
907
705
741
857
789
103
653
383
738
604
468
209
624
13
238
21
76
829
502
517
980
424
842
744
814
872
353
341
875
310
226
504
242
3
773
550
925
593
560
874
230
355
908
396
399
902
838
3
919
501
711
503
87
796
316
127
684
253
548
932
145
977
49
794
440
875
181
81
183
968
399
591
634
219
448
927
871
502
776
744
258
920
603
391
358
758
912
599
37
282
665
699
658
746
305
159
866
994
390
619
562
677
649
663
849
213
475
418
358
801
862
201
606
721
94
806
338
720
241
445
83
500
858
90
743
940
202
502
650
444
228
707
852
690
279
750
664
260
909
253
650
733
501
40
564
828
420
921
700
762
291
441
782
849
118
101
632
970
333
851
475
670
595
828
963
460
917
466
346
433
824
415
987
714
146
699
328
347
111
350
170
20
953
362
921
407
799
461
805
159
523
642
396
464
795
91
721
774
504
388
839
485
264
67
502
837
980
756
770
127
782
286
977
204
259
747
12
565
196
973
121
334
280
662
309
988
595
830
176
106
44
544
975
520
655
289
526
260
458
896
705
880
369
882
64
669
319
952
93
551
937
832
422
612
550
532
529
765
235
901
723
567
917
312
893
445
196
464
527
838
870
408
834
426
296
505
48
292
903
1000
746
968
360
696
933
851
832
317
785
444
665
602
95
176
955
932
899
112
922
752
130
869
72
316
405
768
850
715
262
492
35
150
839
384
47
145
322
845
425
577
456
762
751
87
26
487
149
684
808
561
51
313
807
290
597
27
568
518
609
392
339
509
313
781
395
843
642
178
603
932
542
243
750
392
247
807
707
714
845
657
816
588
495
682
978
50
10
138
688
186
133
421
51
839
330
654
547
496
289
600
935
552
822
241
639
334
213
841
960
397
981
79
330
622
870
81
14
121
633
577
182
270
22
883
460
64
506
671
510
326
695
627
747
976
607
124
27
889
49
554
224
991
153
139
926
732
116
468
44
720
233
759
964
403
755
862
740
667
749
563
645
740
550
569
672
940
705
754
401
316
31
134
877
729
286
578
716
575
736
202
968
376
451
397
583
523
535
7
753
115
732
274
735
856
634
523
191
533
810
557
548
912
719
594
218
547
409
20
348
204
370
108
4
117
384
683
848
337
547
928
342
852
162
660
166
191
696
465
433
57
343
488
483
816
165
563
938
554
288
937
785
464
969
335
489
351
446
50
359
404
810
174
374
925
794
492
707
139
713
801
625
815
285
244
630
856
459
518
261
277
976
218
613
306
216
427
464
468
450
802
764
980
469
683
772
81
704
151
160
248
437
489
185
425
212
711
141
698
573
741
621
978
531
523
771
947
813
269
317
24
107
240
765
634
558
442
232
418
70
637
35
26
209
600
933
608
134
321
632
102
614
247
709
645
751
501
200
456
848
931
751
378
119
124
110
415
666
395
464
534
701
237
344
858
885
493
254
291
517
425
673
131
64
162
36
340
127
45
569
302
817
463
402
669
810
410
157
920
820
650
227
561
678
629
491
851
141
269
969
54
561
813
863
901
928
288
817
441
233
365
294
922
774
232
982
990
470
429
685
845
960
657
557
468
164
750
288
251
392
976
139
962
515
581
731
67
907
506
963
311
109
455
391
471
841
951
48
294
214
744
668
482
728
528
826
689
901
991
621
751
350
528
987
293
231
266
169
364
241
746
187
135
666
151
781
673
39
867
413
28
946
965
148
154
332
168
258
202
147
897
539
698
388
54
571
380
25
554
857
946
964
146
589
467
149
908
177
976
778
140
429
40
646
856
654
655
858
248
647
14
423
778
185
583
836
472
966
590
995
699
515
441
785
332
530
821
726
20
73
184
934
894
258
988
848
309
47
882
163
623
292
616
902
604
182
305
975
860
862
798
395
223
803
462
238
790
346
817
306
235
369
390
887
395
512
534
752
180
342
189
108
531
414
673
771
679
205
659
12
370
369
880
268
510
238
567
731
515
800
82
621
947
706
160
365
115
696
761
372
83
923
553
216
84
223
355
808
772
143
908
25
114
106
1000
142
45
953
686
111
326
928
925
8
308
368
297
163
64
306
52
230
669
189
489
577
725
469
814
943
430
893
457
739
285
194
113
736
36
5
542
210
293
612
85
584
102
39
103
965
963
837
146
282
853
51
833
108
925
287
473
763
968
680
976
212
76
33
772
119
553
177
405
333
792
822
175
519
433
33
785
982
493
953
230
132
59
910
626
57
815
937
943
350
188
499
188
512
454
411
870
377
922
613
805
837
915
337
982
441
184
21
234
645
601
671
558
837
882
317
60
598
141
392
334
299
103
549
108
798
792
128
258
38
468
571
344
710
662
490
812
772
904
392
308
669
709
458
597
193
485
299
671
658
707
50
493
931
39
929
323
693
491
910
129
217
531
839
831
378
456
411
566
466
951
175
965
911
468
899
110
159
318
489
377
778
939
453
177
753
28
426
432
434
389
140
877
869
339
720
666
307
684
298
503
913
91
367
628
461
309
855
768
722
357
672
356
50
578
578
409
19
339
648
959
900
411
164
160
213
978
678
389
243
151
872
172
86
359
247
256
576
620
17
699
190
590
561
157
297
134
663
663
993
772
990
848
966
634
538
428
944
499
804
139
141
691
612
804
233
942
504
113
442
634
359
897
9
651
468
492
952
22
155
915
745
721
879
886
869
217
304
778
320
309
529
830
146
492
65
443
30
445
737
740
341
82
401
602
297
503
648
178
147
49
409
269
638
329
385
951
835
810
857
518
260
342
588
362
553
574
994
783
321
669
939
999
293
676
836
318
601
633
188
674
481
641
331
255
843
75
112
973
741
301
856
955
258
555
313
293
22
310
55
555
96
803
66
573
667
419
941
144
234
100
201
267
906
467
188
35
365
451
795
909
552
133
454
15
422
509
537
220
54
881
579
937
81
361
691
615
246
602
330
381
488
747
670
109
352
816
838
696
303
966
494
793
812
96
251
580
278
759
622
796
846
978
594
927
737
617
506
534
671
902
58
967
923
339
588
105
878
286
408
888
138
376
381
992
61
390
646
831
851
907
842
224
862
162
145
342
49
568
405
598
539
382
369
578
237
147
396
624
838
126
857
710
863
896
769
889
997
622
384
678
821
765
971
457
940
887
60
310
816
445
529
594
248
578
635
496
343
653
121
861
527
745
95
965
353
390
557
188
178
25
189
620
238
435
298
286
97
804
466
154
321
133
810
255
908
347
436
960
511
17
236
442
557
187
798
364
451
666
110
713
327
589
668
573
528
703
620
940
939
500
927
368
389
854
865
532
650
961
421
230
986
483
238
444
186
165
509
294
16
121
870
90
256
946
979
913
538
538
858
148
313
275
210
831
268
429
714
351
23
173
310
208
424
212
139
128
190
87
25
919
90
994
265
322
204
505
514
683
602
162
614
440
400
266
817
832
524
875
106
331
605
768
575
215
660
570
852
365
573
239
423
884
62
600
265
984
150
3
585
161
414
92
621
697
402
506
56
654
287
785
331
242
69
754
985
948
611
653
821
334
886
396
144
367
439
111
605
259
595
132
779
453
258
918
318
180
384
378
806
204
856
855
277
742
101
657
290
146
185
348
251
671
554
185
900
898
286
363
898
495
437
432
350
749
226
161
676
609
301
253
998
688
519
295
13
82
528
163
762
321
15
49
201
49
984
75
374
784
592
917
906
865
695
718
194
731
623
690
737
52
686
764
955
296
146
689
899
505
897
56
254
724
600
294
139
800
716
482
692
616
626
145
211
615
954
134
763
329
645
617
494
665
931
511
928
449
911
359
856
486
732
921
628
393
574
206
252
754
250
679
916
633
840
515
712
844
827
154
560
52
760
237
663
550
657
766
563
232
868
803
249
468
800
358
700
249
865
895
458
455
768
796
984
60
935
142
404
745
218
968
974
292
884
787
975
186
749
428
36
354
524
746
504
927
222
501
406
769
712
295
18
769
764
606
251
817
212
674
196
643
143
866
378
183
519
900
222
651
682
531
692
318
283
766
430
34
725
163
66
646
876
996
674
916
340
617
680
214
362
905
115
154
683
986
686
60
12
747
487
425
945
679
812
929
209
378
678
330
768
542
407
974
401
707
20
609
606
34
503
182
996
937
224
945
764
375
434
596
829
149
322
928
360
401
762
256
351
368
236
534
900
301
901
874
673
321
123
674
513
355
718
271
24
21
341
721
254
533
650
895
750
895
304
694
863
878
165
489
963
659
309
288
977
7
461
806
737
4
648
675
455
361
378
762
170
175
775
912
144
100
555
442
419
904
544
645
537
981
270
269
376
536
185
9
439
406
109
279
78
95
888
555
387
494
945
805
491
280
214
537
214
827
596
548
429
726
413
47
997
833
790
415
75
726
679
850
376
135
921
78
352
294
6
73
935
313
799
91
483
36
618
487
272
763
295
567
153
262
259
944
997
300
340
605
87
748
60
387
553
532
285
930
635
836
333
63
620
513
127
591
1
85
148
454
982
909
211
227
65
763
786
250
980
272
872
885
935
629
218
395
940
676
614
208
418
372
594
921
571
208
90
288
355
851
477
341
508
965
309
619
364
196
435
346
847
236
16
676
147
592
443
991
169
434
364
233
186
949
932
611
10
425
108
347
31
731
12
861
157
957
248
74
460
92
464
921
476
339
841
33
828
848
592
232
703
428
880
642
712
546
978
802
859
25
396
352
161
858
205
522
46
902
779
836
809
308
335
95
825
461
970
423
63
736
213
445
330
453
636
424
87
642
452
462
854
237
263
307
659
557
933
79
138
986
889
194
915
265
203
379
699
281
140
728
890
289
623
836
613
882
684
64
386
930
311
719
309
504
956
837
250
533
245
107
947
147
450
822
325
237
487
940
808
772
897
503
877
11
556
430
717
862
941
788
719
716
466
716
197
603
504
952
262
851
437
416
225
157
710
140
248
820
973
826
790
171
701
444
108
907
577
939
73
100
381
998
184
292
941
327
717
511
460
695
520
720
432
738
139
516
479
11
731
464
535
739
400
870
784
875
338
20
705
340
305
560
438
445
982
296
7
7
204
30
278
776
72
333
490
198
494
751
195
4
53
747
15
202
694
890
167
508
184
360
779
891
416
902
744
552
534
515
38
343
432
549
252
854
322
336
26
499
376
864
925
387
901
666
911
433
211
838
830
460
805
935
675
441
951
728
182
36
100
4
204
808
609
431
95
139
3
340
633
335
778
740
672
259
955
515
825
834
532
785
147
850
777
528
80
308
42
33
563
470
126
821
318
340
140
513
282
679
167
893
943
113
590
967
231
491
527
677
270
93
947
490
599
108
672
440
34
815
351
354
660
719
530
161
509
233
239
743
846
810
587
201
907
773
920
676
230
270
986
668
340
795
59
109
771
690
866
146
419
985
685
84
318
357
662
769
234
231
818
675
11
237
650
150
835
20
195
366
571
245
115
277
304
656
525
292
569
678
563
15
491
201
133
340
801
357
209
401
514
655
863
984
532
515
373
198
925
288
770
123
176
907
2
410
375
219
333
734
297
823
990
248
469
2
562
704
973
370
429
312
270
32
137
804
353
44
973
788
859
95
404
464
301
430
977
770
985
914
159
617
325
387
629
528
635
110
803
650
830
896
572
658
766
599
772
879
73
546
567
963
77
176
767
536
16
546
576
138
758
877
227
230
664
998
234
733
616
34
555
850
357
298
962
851
46
332
387
805
351
643
55
635
393
218
608
711
707
28
237
673
864
673
640
481
846
628
896
535
230
979
861
452
588
910
566
270
85
513
909
288
157
540
118
364
574
232
450
821
584
346
117
101
788
210
886
750
535
731
116
343
426
448
643
364
180
529
513
304
865
927
537
813
753
823
389
309
796
705
260
722
357
976
707
591
557
697
595
252
22
646
257
454
756
911
76
641
153
999
767
780
87
63
555
677
879
782
334
581
204
416
675
178
684
138
164
92
235
943
181
155
114
429
110
974
946
827
346
869
670
485
264
207
890
395
907
430
486
321
784
497
975
54
132
310
714
595
615
673
892
821
6
765
457
953
260
389
209
40
753
744
442
837
10
345
332
692
502
204
739
236
28
547
807
600
225
203
434
52
983
911
847
223
247
612
704
949
325
135
462
393
411
821
607
854
212
14
164
78
211
803
787
55
143
821
864
599
604
706
561
264
240
100
23
58
633
436
529
118
151
951
840
488
642
410
185
119
175
949
713
371
308
740
74
238
357
879
512
498
313
164
106
528
607
778
139
151
642
620
982
362
90
148
296
647
705
673
513
95
970
448
49
394
5
236
545
389
344
295
924
271
859
225
834
770
224
135
378
874
920
436
282
535
354
299
91
293
999
585
828
960
734
181
683
507
549
47
906
549
237
887
417
11
536
348
730
880
494
984
572
320
430
525
965
868
122
261
346
134
121
11
317
550
596
644
41
967
61
322
467
562
959
294
25
399
982
83
419
996
564
813
489
215
592
766
787
559
731
65
484
230
82
688
623
848
253
835
294
748
430
169
772
175
339
406
625
168
884
21
273
725
911
255
88
242
721
650
587
120
797
403
235
585
969
659
208
132
791
15
676
701
622
222
419
476
710
886
895
933
148
215
28
195
250
560
544
414
773
233
244
399
530
910
656
557
144
197
561
836
48
826
226
546
951
400
475
59
812
919
522
125
788
349
861
210
320
162
172
845
969
866
178
111
299
768
836
323
874
681
451
454
234
160
212
585
625
571
821
663
731
362
821
729
160
997
451
375
57
710
481
118
521
296
979
615
376
864
321
570
527
384
654
834
944
559
64
475
278
412
345
252
761
605
334
178
882
9
633
269
223
261
414
74
445
901
382
644
148
642
616
162
569
337
54
643
57
992
757
177
85
701
723
642
795
591
870
954
738
209
694
84
27
965
777
318
636
453
244
158
975
759
24
406
715
723
559
892
380
531
757
69
150
324
654
748
320
340
743
495
63
371
69
188
885
56
464
75
624
759
711
147
994
623
59
403
843
920
290
98
123
978
104
99
583
637
571
262
847
686
54
865
433
194
377
60
814
300
615
429
728
280
95
146
338
429
352
388
620
462
632
731
381
826
562
32
602
372
480
468
145
962
835
941
841
698
478
142
922
427
234
85
683
538
38
208
605
952
426
699
936
655
13
998
882
181
706
299
55
485
110
893
993
249
754
338
168
4
698
815
981
833
757
714
228
815
824
797
153
334
596
188
194
325
301
885
310
97
604
78
376
653
87
78
212
30
905
262
94
554
266
921
169
885
406
677
324
523
594
531
268
244
313
399
637
340
684
129
246
564
592
401
566
403
692
162
72
675
818
236
411
606
264
358
46
76
551
749
77
751
479
459
307
421
872
530
284
910
926
986
115
136
550
570
60
654
264
824
163
640
107
805
730
692
729
907
893
998
803
865
888
390
921
834
339
239
785
959
361
427
224
325
49
960
550
918
105
392
885
133
761
279
821
934
756
598
796
308
725
329
793
869
990
157
277
736
975
18
658
591
868
488
786
889
465
403
771
480
646
276
606
815
257
706
209
859
484
356
782
606
398
359
789
159
102
664
280
895
560
523
464
630
140
407
435
780
482
9
858
651
244
686
363
650
189
280
728
922
316
619
328
370
6
663
111
278
662
16
181
295
223
962
273
849
217
669
320
359
555
74
306
832
81
923
261
9
36
896
658
316
427
132
445
969
916
446
770
80
803
970
619
252
991
936
711
717
928
423
298
425
381
246
104
222
397
70
649
778
544
576
527
525
91
781
971
337
305
426
302
984
40
741
254
79
793
181
662
441
485
704
685
342
751
556
321
652
849
250
606
147
760
510
810
976
692
636
497
338
521
603
433
937
922
476
257
433
159
599
671
995
46
11
465
477
247
823
982
582
660
581
978
8
593
133
246
460
788
47
993
213
198
57
898
911
182
357
144
83
832
176
388
623
670
478
107
49
827
486
845
853
434
646
793
340
938
550
335
115
70
457
651
340
977
99
434
381
380
639
708
71
108
679
511
320
371
478
458
34
52
29
552
765
409
55
116
548
504
940
422
894
861
233
810
228
684
636
274
877
79
363
463
834
11
194
593
892
585
381
144
862
798
676
568
149
164
842
346
91
357
1
688
206
691
653
161
18
461
914
940
895
477
394
280
566
409
192
188
955
542
667
958
605
739
637
289
950
886
548
413
222
827
897
190
31
131
595
801
480
640
355
298
407
803
4
334
595
29
593
812
932
277
255
437
928
105
340
721
7
829
133
469
471
173
806
461
225
729
364
696
946
708
507
273
543
468
426
904
637
603
890
801
846
851
71
433
96
695
194
605
654
664
848
790
299
441
195
611
931
199
996
565
61
318
813
239
573
580
356
171
907
352
877
923
581
856
205
905
40
150
43
365
895
564
422
246
228
246
322
292
448
445
112
116
648
359
432
717
666
759
666
93
378
452
598
533
250
535
409
96
636
461
270
195
447
351
974
272
346
692
349
991
211
734
682
858
420
357
831
593
546
811
687
397
988
209
602
760
41
812
997
672
378
68
471
852
509
300
47
556
753
371
203
984
483
872
987
970
207
989
688
354
860
156
703
310
839
506
70
717
782
79
283
107
174
951
495
369
619
737
783
389
709
750
919
814
359
374
977
497
85
237
982
47
73
255
663
95
986
524
951
688
879
805
53
527
135
837
30
655
75
501
726
247
48
896
692
119
62
407
865
293
881
926
41
309
584
1
511
630
929
794
687
628
471
501
647
726
332
618
943
282
175
72
450
840
834
4
747
549
833
1000
597
121
8
345
761
967
617
555
986
622
30
845
868
287
44
36
318
204
179
230
11
59
376
932
757
189
572
926
601
32
383
772
195
345
25
114
27
587
655
870
431
846
989
362
585
228
883
996
320
286
666
434
562
4
768
217
454
868
71
729
46
149
186
971
539
384
217
269
610
654
872
351
934
183
977
22
313
503
187
937
663
306
683
29
370
958
522
123
21
396
556
506
603
773
871
626
870
526
371
719
58
661
579
70
85
456
457
885
83
342
429
794
841
575
795
730
76
524
55
356
479
338
906
46
82
82
65
776
758
491
950
325
557
401
379
281
885
93
979
24
95
637
766
313
145
814
466
862
816
452
119
210
555
37
657
679
868
797
732
94
235
305
535
864
292
93
283
552
286
111
262
506
852
806
156
287
594
809
910
323
812
56
608
407
940
554
200
482
234
491
299
649
375
201
3
205
351
990
550
630
452
67
551
845
7
194
839
827
466
994
657
320
687
755
318
747
253
583
979
290
608
19
466
477
456
968
88
591
923
928
752
910
345
498
158
275
616
51
842
284
766
155
943
991
597
37
230
567
65
270
641
578
576
719
392
821
962
113
120
591
14
629
75
671
627
303
942
41
165
287
566
556
997
676
132
442
177
856
441
556
79
779
393
436
873
110
708
717
562
980
26
876
810
596
816
651
845
905
794
919
191
983
208
836
833
560
182
846
236
335
432
95
318
830
114
625
346
634
527
224
310
977
646
639
430
395
157
685
368
623
14
389
756
588
673
97
292
538
44
893
690
439
506
702
788
256
353
391
331
83
492
220
268
955
910
928
458
683
110
897
503
955
335
156
839
380
873
636
377
992
946
364
233
184
807
277
82
812
651
136
243
146
786
673
171
256
835
123
479
257
489
632
838
728
784
442
709
765
241
624
894
631
98
885
575
605
952
753
933
484
591
576
453
990
775
743
924
187
92
814
927
270
458
561
823
333
363
8
704
399
829
897
900
549
273
744
658
666
482
262
951
749
826
609
631
251
778
43
514
191
891
487
961
11
573
351
658
318
248
445
749
873
447
993
634
574
851
886
604
707
629
737
188
818
531
801
150
360
353
306
437
462
21
403
526
848
582
319
493
511
869
854
414
400
514
259
527
106
146
715
526
882
152
558
203
630
774
91
854
920
939
212
643
279
968
994
847
852
604
201
248
860
712
348
918
476
533
786
618
506
690
388
172
49
378
649
727
75
155
293
699
87
116
714
678
114
410
462
10
105
253
248
975
776
821
912
522
7
613
249
54
957
419
282
269
565
939
206
938
72
822
812
349
777
391
840
649
797
871
148
517
950
143
653
285
663
281
372
334
170
903
911
13
608
277
933
853
977
468
872
242
977
379
363
281
757
144
884
340
924
991
222
246
191
939
678
95
191
305
890
392
492
989
102
774
469
14
814
231
146
427
192
122
967
254
813
852
379
96
12
253
581
535
564
833
733
252
857
43
78
306
792
475
434
124
99
745
508
135
601
319
121
53
908
539
646
391
105
472
404
81
307
764
40
713
363
178
919
260
731
995
728
471
326
583
434
754
775
776
331
14
551
264
583
87
931
296
386
152
640
797
719
995
190
525
909
703
198
49
150
895
874
579
918
299
451
62
583
178
690
513
79
831
978
600
450
523
457
582
150
179
903
543
743
13
875
195
334
481
483
50
593
308
100
81
419
566
307
57
82
980
318
263
729
199
587
507
546
761
701
11
350
539
562
833
975
292
703
252
768
47
277
868
333
178
266
783
874
799
190
876
577
605
714
515
367
57
577
284
752
987
927
137
685
989
679
525
911
777
368
622
777
507
587
406
40
390
886
336
541
405
807
131
601
416
434
395
656
841
868
285
733
669
154
840
669
496
840
991
770
914
734
583
689
583
985
730
890
129
37
13
538
744
967
696
801
799
264
114
889
412
72
9
987
251
202
250
81
153
374
166
727
411
36
295
675
950
630
713
593
496
108
822
279
344
979
438
302
743
555
285
117
335
370
249
110
114
281
504
907
102
171
711
220
45
648
171
909
439
871
724
348
373
612
342
887
837
634
291
54
56
550
563
358
207
395
138
131
395
478
679
937
680
609
466
319
529
974
193
174
447
475
491
984
65
531
791
785
605
525
743
436
552
199
175
28
322
95
854
372
756
426
65
990
86
936
415
284
953
108
460
805
986
841
346
377
286
932
847
438
873
83
403
117
962
188
945
865
675
871
729
512
779
894
241
780
558
442
845
574
800
668
985
634
698
36
82
536
315
414
492
350
702
827
736
699
464
157
327
872
639
446
382
143
638
865
256
125
210
592
420
397
609
638
31
820
364
100
938
886
124
921
761
321
524
673
443
14
493
986
59
573
265
650
107
858
304
451
510
552
194
24
90
630
572
821
96
634
606
706
75
650
337
774
286
556
328
500
166
497
730
435
94
916
175
505
325
115
64
192
340
205
781
676
346
677
890
51
991
257
455
289
259
301
784
189
242
967
915
571
36
154
728
8
22
856
409
410
793
674
500
900
705
311
926
872
260
653
846
398
373
900
695
386
781
45
49
792
840
76
873
810
330
800
29
667
147
188
693
401
305
869
358
689
978
506
752
106
734
869
678
981
75
138
661
345
68
147
42
284
119
996
855
276
70
725
258
72
946
514
479
752
854
272
303
349
557
820
904
162
556
579
797
284
359
396
279
370
451
225
863
5
277
937
329
242
659
519
842
279
519
228
5
966
106
847
3
861
556
198
47
553
872
937
499
355
24
626
148
576
997
219
587
332
466
71
434
146
461
932
449
941
710
334
77
156
178
112
77
382
555
302
533
326
862
904
225
697
752
516
627
271
785
574
250
439
425
8
304
669
173
38
357
187
516
866
5
523
683
777
868
42
770
570
252
795
170
160
960
629
506
541
20
769
278
12
721
175
253
667
159
829
120
358
722
307
517
803
891
599
83
667
695
638
223
743
479
555
777
364
621
377
220
474
173
381
81
633
260
590
423
241
448
87
423
46
534
85
944
445
214
139
689
681
118
698
224
308
650
750
844
329
200
105
187
682
892
434
742
871
519
999
808
712
343
235
505
961
910
892
429
2
866
135
775
359
696
410
712
520
142
958
829
173
193
131
253
351
467
391
484
817
300
305
448
282
247
955
427
971
214
552
879
76
89
476
991
870
109
539
912
821
589
132
8
249
922
94
982
570
879
663
313
443
863
413
348
15
940
421
442
190
113
438
386
5
190
195
203
853
336
480
924
294
398
409
40
742
715
631
524
328
566
819
457
776
550
194
506
383
33
141
429
149
927
191
664
249
767
311
327
842
846
20
202
228
101
585
449
998
398
130
494
506
595
745
924
995
338
541
297
297
262
178
136
211
92
410
547
734
272
952
811
439
520
285
865
514
418
477
183
29
375
206
768
681
540
278
766
277
650
722
308
838
990
678
331
101
96
832
733
462
122
369
223
818
737
198
263
314
789
794
479
328
336
995
289
372
810
39
331
644
681
615
564
652
529
998
810
711
183
627
519
786
27
332
4
761
237
420
612
107
17
830
917
899
751
566
599
836
519
867
984
187
949
603
457
761
82
272
243
913
455
339
209
734
468
644
335
318
562
617
795
466
826
784
475
34
627
724
377
840
227
870
441
423
642
810
629
117
694
575
98
75
255
106
735
615
695
473
558
192
786
770
637
66
635
15
50
296
68
854
297
934
311
669
566
580
235
414
422
352
387
978
8
945
495
656
381
6
736
11
249
532
737
34
163
266
758
617
592
248
766
908
106
261
218
644
45
5
716
37
714
572
915
351
394
665
527
49
419
685
785
98
645
134
868
329
294
601
817
895
826
310
714
957
888
74
495
555
82
453
90
770
471
181
709
724
646
928
267
479
75
29
239
10
819
160
278
992
396
760
385
336
466
366
850
719
296
178
25
891
353
807
902
64
725
115
900
206
507
788
646
649
724
709
972
305
236
984
337
475
792
25
913
822
411
652
511
805
909
613
154
771
707
321
936
994
987
492
667
273
364
646
376
979
517
177
638
710
798
242
617
806
416
447
33
680
182
959
311
837
7
676
373
802
372
272
408
791
391
104
489
866
516
989
987
265
248
879
352
501
734
642
627
666
427
491
489
809
547
176
873
84
642
958
709
22
499
126
699
848
641
199
706
440
734
707
826
351
481
154
188
719
177
697
849
746
110
862
234
648
380
280
714
874
778
320
79
425
1000
556
255
256
774
697
98
914
527
827
409
131
635
436
162
160
690
981
7
476
136
235
636
3
165
498
760
879
556
601
230
471
36
993
303
798
643
884
296
225
241
751
966
518
267
672
520
980
955
581
730
103
548
21
676
870
963
266
955
535
245
522
538
77
148
693
378
305
40
906
38
227
962
42
563
439
89
520
136
408
445
142
304
635
588
554
345
312
936
74
83
124
227
92
495
101
943
975
58
393
32
109
875
747
55
31
670
608
723
161
996
808
365
51
872
886
933
810
816
532
496
987
286
587
230
786
589
971
446
681
195
619
71
628
374
972
424
740
697
429
714
436
770
98
897
906
201
297
234
539
353
507
423
861
438
321
776
783
332
581
846
658
180
516
57
55
81
848
949
54
823
492
503
645
931
914
619
649
64
128
197
695
321
833
822
772
411
428
997
29
826
689
709
44
114
792
61
674
560
306
570
578
556
10
829
343
434
554
240
357
927
939
594
982
436
769
946
785
987
533
448
657
280
663
979
816
592
901
496
943
354
951
654
380
106
667
200
357
335
61
295
417
841
768
341
24
996
555
890
988
256
833
755
476
475
52
511
164
509
177
508
36
805
761
361
984
537
664
940
227
302
645
410
16
599
700
576
154
109
113
131
14
371
584
118
330
297
305
888
852
851
249
793
155
607
795
586
699
954
663
834
315
315
229
254
542
353
285
100
550
943
896
802
426
333
553
943
729
872
262
769
962
830
195
511
82
624
379
187
258
241
308
234
389
674
422
462
928
118
721
886
479
655
280
293
688
964
50
951
825
331
571
912
563
868
925
862
288
404
348
858
786
901
575
728
335
602
991
575
395
262
81
262
95
675
990
561
647
591
431
46
293
972
425
746
837
719
335
76
7
202
230
576
673
139
139
827
863
713
179
602
506
829
283
121
41
936
860
70
491
274
538
420
529
336
352
625
674
171
770
827
628
110
772
488
835
608
929
42
402
954
293
413
548
752
819
412
786
599
794
994
732
67
836
770
631
118
185
734
980
587
87
539
984
156
346
544
516
539
21
734
325
549
422
448
350
693
799
421
547
846
769
70
797
243
678
785
170
907
913
84
369
138
244
27
36
500
170
411
563
829
111
369
919
966
841
421
948
410
252
722
934
626
474
361
475
997
662
682
922
251
17
241
501
63
668
685
269
728
883
726
214
425
12
728
971
670
413
24
374
278
392
842
809
550
530
106
7
315
838
87
241
494
637
389
873
967
703
289
706
696
650
976
236
441
884
974
221
471
582
337
788
535
499
34
688
857
655
504
427
402
954
634
623
766
647
338
813
941
623
682
747
203
621
521
340
926
966
873
409
568
431
811
158
135
876
894
23
645
672
273
323
46
569
325
388
349
350
858
189
902
473
258
141
671
213
918
249
26
444
689
626
471
672
578
756
361
34
472
379
542
305
798
980
432
486
547
451
571
22
134
602
31
165
953
358
451
179
496
243
475
365
812
312
646
165
232
636
137
24
867
889
966
302
793
289
592
363
936
797
229
348
693
474
298
300
244
438
651
811
32
654
236
523
837
270
122
104
868
810
469
278
192
363
226
997
83
606
354
597
505
461
32
247
1
10
870
961
912
75
230
285
460
738
486
256
737
800
733
412
188
27
885
518
883
287
84
555
203
465
971
864
829
882
237
219
637
711
481
572
823
408
408
154
731
578
495
274
989
538
212
159
366
631
487
787
48
922
939
612
399
731
865
389
866
300
27
46
661
929
902
589
470
872
58
483
660
999
237
380
192
193
134
699
201
909
135
148
895
576
365
618
867
738
790
40
960
42
157
591
222
326
707
595
257
889
83
321
864
975
534
92
47
65
651
464
600
310
165
196
596
191
48
211
133
504
906
877
877
683
447
153
684
977
148
96
714
412
995
270
466
331
899
943
775
422
621
749
504
321
202
452
696
407
73
95
253
432
889
331
899
972
163
386
215
784
880
715
722
604
788
166
105
671
474
462
788
405
868
301
992
269
831
829
361
279
255
51
46
40
805
662
491
82
767
805
333
221
256
804
188
897
618
452
940
976
699
765
729
587
381
495
733
408
324
643
407
260
363
508
481
92
539
2
60
415
612
536
644
934
551
259
684
878
972
175
457
498
415
16
928
488
511
148
866
644
810
514
589
74
911
660
987
387
948
444
313
153
931
213
752
739
616
955
927
209
899
235
379
543
203
184
112
805
546
226
663
832
492
484
156
171
963
146
885
579
783
118
26
185
603
184
370
456
994
396
119
205
323
326
446
959
406
239
588
341
863
137
782
761
807
607
341
864
870
555
2
44
238
512
160
636
45
392
714
343
702
481
14
172
491
196
273
993
855
335
771
908
591
540
78
668
45
188
979
621
678
725
457
786
113
516
304
633
271
726
506
249
154
962
455
852
191
506
657
733
730
297
803
453
74
764
827
987
357
350
859
307
388
830
337
858
45
581
540
690
636
223
906
588
36
964
763
737
113
406
377
999
224
571
140
755
820
793
324
883
955
624
301
455
716
746
804
788
647
590
438
964
433
331
28
11
440
645
374
381
883
204
586
675
241
826
986
259
938
798
608
567
554
398
499
20
173
935
182
865
406
962
177
418
503
177
513
600
329
168
105
402
786
494
854
23
709
358
655
509
516
504
644
320
897
236
883
258
29
664
116
964
790
486
978
197
321
625
373
835
500
562
310
530
387
177
92
512
953
500
809
74
777
471
299
604
297
697
640
929
821
609
476
826
426
145
953
867
610
917
376
940
161
291
994
306
116
970
942
612
663
234
722
658
174
74
3
240
5
288
875
420
922
518
789
110
786
422
903
434
772
458
225
515
727
186
764
918
801
826
671
705
651
102
76
675
70
772
735
853
767
402
240
906
40
55
503
138
28
985
898
240
297
266
261
991
11
969
172
380
46
146
260
692
1
470
103
995
311
208
38
781
17
737
628
824
377
175
508
651
594
371
932
493
379
248
738
924
533
316
159
705
130
254
671
800
342
835
251
892
631
940
163
954
545
353
151
784
914
550
987
264
379
916
995
502
149
954
983
897
77
861
862
153
944
238
334
765
250
325
144
297
611
713
236
24
450
776
547
184
258
694
960
267
582
421
83
739
247
747
374
834
34
720
17
804
159
37
967
877
97
197
455
341
780
230
290
27
431
558
50
402
91
583
577
518
889
346
433
898
697
270
841
175
756
55
188
901
956
975
767
792
153
729
99
448
145
349
925
40
184
176
481
992
363
263
503
586
656
263
497
398
21
267
692
968
980
518
337
997
437
910
460
549
308
235
691
974
491
460
220
180
637
715
536
702
383
780
425
72
314
397
362
748
316
504
485
410
675
814
278
888
753
540
714
125
435
581
278
621
273
599
753
324
726
734
292
40
512
69
90
225
430
422
192
926
609
522
199
879
222
592
949
798
21
28
389
547
975
804
156
323
491
811
395
761
599
243
324
6
838
904
709
731
170
106
306
106
337
194
893
35
574
471
560
607
485
288
750
630
772
911
62
280
890
190
692
545
800
977
652
861
906
331
353
529
592
920
491
246
572
739
94
529
454
99
574
750
112
32
340
566
124
592
79
373
985
914
82
75
213
943
430
421
464
30
276
584
895
529
939
441
384
841
677
996
786
30
906
842
743
775
932
573
691
104
560
503
523
895
110
721
119
483
360
853
380
428
270
787
137
884
492
27
411
184
376
850
741
383
406
226
276
488
608
241
931
81
728
209
772
973
352
638
636
123
351
759
724
917
153
162
734
658
540
779
730
59
78
136
822
598
590
10
721
764
703
269
81
212
777
374
498
442
908
475
962
97
493
778
149
39
487
453
101
31
698
631
96
870
948
806
387
19
929
851
491
865
505
65
4
943
710
309
888
635
59
985
487
370
789
884
884
137
66
332
806
63
330
599
369
356
42
925
835
409
301
172
505
641
459
987
523
121
770
464
507
438
259
487
400
70
699
548
108
499
319
506
377
957
900
310
331
289
193
501
321
506
910
352
362
56
964
546
926
284
183
151
193
929
181
828
225
410
424
604
554
156
226
340
710
611
101
97
768
384
658
109
856
10
542
795
222
386
339
735
345
316
504
152
948
528
970
236
354
806
573
885
816
235
799
689
39
861
370
690
689
921
209
939
632
790
573
397
460
648
354
360
623
964
792
438
290
245
412
642
833
549
374
748
138
364
855
769
729
442
930
102
467
775
921
976
281
733
770
703
464
435
357
8
546
482
937
425
514
209
589
55
125
381
834
305
374
90
216
160
759
669
528
486
541
681
114
40
856
794
818
199
702
831
564
973
560
73
373
627
641
509
137
864
85
222
130
873
78
322
730
622
309
380
854
651
782
242
991
10
491
399
143
640
555
622
331
140
202
448
349
503
631
111
695
716
268
551
908
760
407
577
926
628
976
296
344
82
787
108
152
195
556
118
47
111
942
432
500
911
889
163
820
352
252
59
350
980
206
565
345
813
199
434
82
280
910
52
496
364
952
381
754
446
513
680
712
950
442
631
928
950
439
149
73
29
276
364
56
451
188
5
957
918
512
976
496
777
654
92
380
106
349
640
681
847
717
233
144
640
588
63
97
543
733
161
354
796
507
769
366
847
545
845
232
924
661
621
114
503
824
902
836
56
13
22
922
853
522
840
776
555
839
36
236
211
629
90
822
225
801
579
745
805
40
602
117
428
292
412
593
80
631
297
481
597
779
205
412
460
818
104
784
791
267
436
415
912
588
821
222
811
453
298
945
587
457
303
117
292
114
19
954
785
270
400
793
956
795
208
451
175
447
199
754
5
11
808
126
782
99
380
828
958
274
423
173
58
931
635
301
175
889
329
755
179
457
268
75
870
207
244
591
317
299
929
179
416
613
10
201
81
711
399
791
150
86
924
712
851
563
774
327
174
514
162
21
541
383
732
533
906
644
225
420
173
463
586
797
708
621
185
644
776
261
869
706
100
540
860
489
648
176
357
725
961
945
213
951
593
985
854
913
243
266
213
458
425
509
762
298
741
865
275
402
481
442
893
478
547
77
223
484
104
614
850
325
907
544
35
626
509
125
370
750
752
385
219
974
756
686
44
744
347
640
364
315
553
244
498
688
489
681
871
197
920
572
110
960
204
760
689
745
707
451
435
203
240
660
79
642
534
278
552
460
43
110
734
821
661
530
136
614
610
224
727
530
899
722
434
709
332
774
642
782
295
635
275
691
115
969
329
771
603
88
249
656
150
249
50
206
752
351
563
527
223
211
601
513
562
918
950
871
806
981
57
477
584
996
759
170
51
346
27
856
206
296
636
57
992
746
883
230
467
744
251
23
53
9
843
341
159
391
773
734
646
879
14
668
286
884
136
649
560
506
815
764
10
650
524
901
153
324
622
867
641
629
43
500
113
448
376
683
381
710
262
601
869
436
390
217
736
576
528
6
61
68
906
707
328
976
741
561
754
48
975
55
345
979
929
615
977
530
894
74
680
821
625
288
634
79
82
793
367
907
488
302
699
242
391
11
933
491
753
78
302
391
239
418
24
250
256
821
597
945
164
974
167
166
732
726
55
523
126
161
948
959
576
571
557
522
634
713
837
57
205
537
40
936
174
122
987
938
818
426
270
517
173
19
199
818
170
733
191
660
53
74
406
868
358
136
447
784
265
593
250
644
154
793
666
914
473
378
927
302
780
23
855
569
370
961
856
119
67
211
613
556
609
574
246
248
503
325
215
835
524
977
701
364
470
803
610
812
25
142
157
577
885
396
676
139
232
184
927
954
136
932
517
579
707
475
247
716
789
515
781
852
929
283
585
505
1
911
964
585
447
391
976
972
366
636
408
578
25
345
803
385
9
611
571
874
835
335
958
563
30
50
249
54
726
653
254
585
34
205
76
713
983
601
11
557
269
359
198
854
945
925
961
935
9
251
521
478
448
281
253
140
640
958
144
565
105
216
879
606
762
659
718
973
544
409
645
582
544
310
715
850
179
167
448
765
986
528
853
458
428
57
893
363
389
333
603
868
644
863
895
804
603
607
594
890
914
699
722
420
575
705
609
766
857
683
315
455
923
711
67
939
65
505
634
860
737
280
736
726
571
480
737
202
555
919
647
602
432
566
599
613
705
116
116
944
380
153
45
292
790
537
74
97
848
246
604
729
318
455
199
590
898
737
14
70
316
682
634
77
186
671
953
765
922
68
148
532
881
922
117
617
827
842
920
90
311
676
478
353
49
853
826
820
644
330
3
414
681
44
596
45
633
24
52
803
293
346
477
305
869
40
337
240
982
733
390
874
678
376
247
871
466
210
835
657
586
849
123
164
838
723
796
478
729
668
740
783
235
52
554
441
508
842
854
654
166
17
238
455
136
848
558
323
141
572
838
922
163
532
25
157
986
989
962
997
847
516
841
545
242
678
683
690
452
738
725
805
539
168
814
517
812
939
284
678
342
436
921
774
277
364
533
853
306
149
1
140
589
508
690
153
803
140
148
91
574
865
469
777
870
625
306
373
986
766
330
284
357
343
208
542
563
224
586
479
788
669
750
263
480
805
162
325
95
706
995
801
136
702
480
608
700
540
437
746
827
539
302
604
536
309
149
28
420
27
11
917
146
619
346
984
60
136
659
111
261
171
375
858
370
731
228
513
446
429
477
462
23
330
170
602
637
287
684
89
788
488
379
700
524
609
489
277
613
285
687
570
737
966
699
273
958
875
364
317
628
389
228
627
866
398
912
912
947
907
890
70
37
86
184
97
353
82
11
803
845
60
995
571
250
825
248
343
879
506
350
547
154
740
243
343
745
386
475
998
422
305
47
953
948
170
378
202
156
602
97
917
578
146
936
846
327
920
746
620
508
144
711
987
886
569
138
844
273
873
548
137
291
180
524
239
285
887
592
603
409
257
43
341
800
36
813
313
807
953
440
977
939
759
907
880
799
352
635
530
832
75
64
70
249
33
823
904
80
229
405
39
899
957
813
421
661
517
58
645
151
141
301
785
948
654
671
824
744
361
340
381
924
817
117
396
860
908
36
668
476
995
715
390
946
973
795
522
364
307
983
30
760
218
320
458
405
358
151
429
662
743
256
79
542
778
860
309
36
957
747
730
3
813
531
49
465
525
727
645
703
153
256
534
622
781
593
999
554
778
209
255
36
518
875
166
764
543
346
657
468
897
433
190
430
712
643
805
669
20
847
804
738
519
650
361
899
200
553
313
478
266
128
228
348
542
794
47
138
798
462
866
860
332
445
952
43
619
594
20
537
641
3
185
83
58
527
178
434
394
920
415
899
978
158
475
950
629
391
28
94
922
110
860
756
762
329
377
799
419
270
499
16
995
376
126
118
645
747
342
537
197
864
633
45
865
312
212
97
513
99
638
958
52
603
881
608
690
832
950
62
496
646
283
239
997
955
986
665
370
506
563
802
643
505
741
108
94
786
29
232
18
147
229
680
294
369
483
614
872
832
544
549
114
818
169
336
568
232
125
579
744
568
333
344
759
548
741
565
523
741
613
858
846
328
170
756
244
678
37
770
772
909
294
223
787
824
851
624
742
551
922
758
214
188
960
834
453
201
643
178
414
794
833
684
981
848
405
427
279
21
302
347
857
106
633
48
481
595
666
304
525
340
911
239
350
244
149
525
932
898
372
979
468
210
692
450
334
44
416
488
446
843
846
486
750
890
789
54
21
655
146
110
297
50
694
305
749
867
577
76
124
440
472
522
222
519
750
565
395
520
734
61
994
835
727
515
133
236
797
316
371
270
653
39
431
87
156
768
603
146
252
620
877
834
936
650
827
34
443
647
534
352
855
810
585
642
995
947
886
412
837
364
913
351
786
720
456
305
507
228
716
93
106
367
500
107
484
318
338
954
210
617
983
841
740
769
677
142
145
132
902
469
435
410
281
245
451
816
391
388
275
426
144
531
398
24
38
690
226
642
138
728
319
47
103
177
751
55
666
112
362
737
170
885
539
441
569
429
276
946
597
424
253
505
91
897
812
500
622
331
198
596
570
100
49
343
181
68
560
204
224
736
561
649
304
551
91
767
392
420
237
906
64
783
628
950
220
187
73
797
988
928
644
488
396
945
103
599
694
957
367
33
843
187
201
572
73
66
365
154
707
135
952
934
648
109
520
160
473
644
209
346
241
802
672
12
471
16
527
299
252
792
444
696
791
661
959
649
718
349
75
444
317
301
992
454
410
740
938
408
345
116
5
439
171
594
128
176
330
807
255
81
155
802
583
651
920
25
257
524
313
278
822
863
446
631
405
487
730
6
804
790
325
88
527
741
401
504
636
852
490
564
67
712
879
34
380
538
541
583
585
667
185
783
809
267
364
974
162
223
55
755
249
359
176
807
646
557
481
716
171
610
708
706
805
898
254
866
917
586
36
765
940
665
442
870
402
51
340
713
455
69
766
976
727
634
138
567
745
114
638
464
718
299
247
648
492
594
857
520
29
741
163
370
793
615
535
212
284
140
662
43
355
854
5
898
471
649
397
3
338
411
867
695
47
600
99
778
773
817
636
889
543
48
868
789
486
330
406
37
912
152
25
636
674
664
444
33
822
708
438
662
721
129
17
359
903
869
642
805
343
767
220
448
365
387
343
497
759
924
849
930
245
384
380
528
757
684
848
887
362
395
456
203
256
234
165
934
925
883
998
716
790
847
928
426
839
194
793
789
841
784
191
817
156
486
970
403
209
414
844
529
940
775
270
948
245
192
261
772
82
299
899
404
911
490
925
518
483
571
783
178
92
198
140
138
883
683
574
167
332
30
384
596
551
785
159
483
103
190
79
400
942
620
237
438
179
870
357
63
274
133
765
280
750
969
578
657
193
124
883
370
851
679
957
505
164
239
577
793
400
539
920
484
646
807
674
14
211
288
259
663
592
265
920
803
985
244
444
259
244
989
609
674
955
135
13
5
164
923
172
299
839
4
383
59
243
828
641
549
747
172
250
449
526
353
371
55
869
197
987
818
705
519
340
613
817
116
170
345
207
106
520
437
617
879
823
365
14
441
423
241
585
476
420
641
179
643
357
802
38
412
618
13
88
618
778
399
196
317
90
24
467
446
89
113
568
449
588
404
740
539
560
502
299
609
289
57
254
12
497
880
9
449
10
18
76
149
758
387
581
480
75
914
97
980
103
867
868
686
613
817
73
132
19
489
639
262
166
437
914
607
323
516
425
396
195
962
491
146
599
413
487
657
278
741
407
215
603
28
463
249
778
315
654
354
828
823
425
186
14
958
872
37
240
410
120
440
790
819
384
551
858
311
597
818
693
424
326
923
206
151
389
987
157
553
884
264
422
234
238
395
993
926
75
910
297
537
958
848
665
285
507
105
724
814
346
822
463
581
705
732
951
149
944
950
665
449
511
704
881
81
249
341
667
896
411
501
192
661
300
825
923
515
403
824
342
465
790
153
67
486
309
962
46
48
419
228
756
964
300
446
355
847
26
834
527
995
158
873
86
40
188
313
544
995
794
90
949
726
323
541
629
129
129
416
994
99
876
813
373
438
87
512
744
670
615
858
359
673
115
136
847
270
1000
870
295
777
491
896
265
912
785
12
965
909
461
968
200
76
991
873
264
165
270
800
25
390
451
408
238
60
773
959
652
45
914
591
693
67
700
854
741
969
692
268
431
306
220
675
373
436
218
799
503
535
581
701
79
398
340
38
889
123
492
716
936
933
571
293
416
83
822
222
724
534
625
725
903
979
170
730
424
884
677
553
214
265
397
982
653
228
349
63
686
10
274
418
308
368
214
62
234
276
849
841
736
134
500
553
996
165
246
545
864
162
856
226
458
583
70
353
265
757
483
711
492
389
637
249
78
918
456
329
532
999
106
372
196
595
768
460
702
778
653
994
580
367
65
594
685
506
578
385
590
25
471
317
315
984
170
521
99
603
151
951
36
344
33
106
534
616
410
103
475
375
877
909
652
556
789
157
240
847
840
327
362
901
305
946
81
399
913
97
257
382
480
601
895
991
274
380
64
151
364
727
812
865
287
346
721
708
332
410
717
918
609
300
913
109
756
576
37
186
878
708
53
604
686
815
791
130
12
36
922
874
533
558
733
264
9
931
720
304
44
526
576
86
552
633
913
260
980
56
237
460
288
575
484
285
830
983
508
392
957
718
830
491
626
135
875
657
66
681
318
145
84
352
936
738
743
329
737
121
881
255
862
65
532
977
80
288
407
851
587
766
783
582
177
776
540
707
296
675
64
454
696
327
657
585
825
345
584
347
439
343
893
507
101
276
712
999
771
569
513
267
446
226
843
432
965
537
287
299
518
368
245
391
188
586
923
403
219
942
863
229
971
77
871
906
137
909
436
412
634
171
825
911
286
707
910
615
271
869
466
185
696
184
319
104
988
896
891
668
109
576
58
532
700
115
759
44
922
509
810
661
559
890
495
98
825
324
37
961
201
403
524
104
189
552
560
283
226
217
651
893
175
971
955
571
402
738
565
158
857
869
348
187
318
457
797
530
669
99
785
190
975
914
860
996
300
279
474
359
257
768
825
217
180
518
543
418
932
293
564
398
892
955
598
271
879
408
578
852
268
732
14
809
239
706
688
683
772
458
999
272
752
11
761
633
568
420
427
181
39
476
540
760
435
647
59
779
89
215
887
346
539
417
572
540
380
852
703
261
904
304
960
685
761
933
109
628
376
716
999
801
597
7
579
590
93
314
302
853
80
541
351
67
81
289
937
85
935
248
354
378
152
838
58
18
343
500
10
937
793
319
571
715
174
545
199
13
38
227
992
682
963
532
5
7
746
95
785
331
337
467
872
433
840
977
204
846
887
752
560
707
558
105
576
427
130
25
145
751
781
369
923
940
401
61
490
512
535
517
254
999
548
750
519
270
35
315
882
330
652
927
79
315
967
427
792
724
897
501
939
904
318
98
170
824
799
189
807
888
618
848
655
391
936
291
662
421
264
828
891
268
833
338
624
783
522
473
187
267
994
574
103
883
228
917
257
441
15
168
966
375
359
404
317
139
395
877
950
153
647
230
159
213
843
215
618
158
755
340
500
40
40
440
107
163
968
709
156
958
509
687
745
119
17
734
512
477
441
354
149
65
739
114
273
466
18
259
783
845
255
965
265
928
467
371
851
351
894
872
365
430
215
860
71
4
857
725
91
188
814
734
368
530
228
255
794
852
140
647
399
892
879
647
542
661
491
664
677
324
512
358
390
998
801
965
811
824
288
69
89
258
881
906
272
312
749
386
68
813
782
291
501
452
521
716
331
828
981
317
605
742
936
382
243
831
382
677
717
971
19
384
320
759
458
213
280
765
695
749
135
513
290
46
352
513
777
50
16
723
335
97
220
291
584
800
558
43
908
670
484
869
51
989
458
982
59
119
744
405
411
521
523
525
309
117
502
613
557
179
478
58
291
127
498
231
184
288
489
155
54
384
413
675
324
614
718
364
369
134
983
623
632
878
31
591
193
83
575
913
395
843
132
137
905
206
743
719
640
940
611
738
12
463
177
448
504
933
747
150
833
986
921
14
301
613
22
426
902
967
769
553
893
218
971
106
497
165
168
497
416
491
842
937
88
723
582
33
918
180
147
832
383
991
421
342
189
181
228
370
983
960
294
320
773
749
882
372
270
904
964
48
326
37
465
462
949
453
127
359
807
884
192
570
488
720
188
238
219
964
243
476
140
631
577
98
30
148
389
604
431
29
365
554
752
784
611
790
382
300
469
941
287
657
561
640
987
317
741
187
357
470
573
94
891
902
566
249
525
479
332
751
621
720
988
758
856
924
953
383
121
298
215
843
672
578
620
651
973
623
442
976
630
569
720
294
480
957
212
401
438
174
563
275
155
521
844
556
565
929
46
484
782
320
60
201
724
81
350
909
151
914
707
998
87
640
913
111
95
977
812
869
947
331
95
577
945
525
13
35
14
331
252
470
905
655
952
845
953
179
953
349
374
758
625
761
889
717
979
961
270
275
842
13
879
963
356
366
482
175
410
533
311
221
605
775
230
442
30
927
664
348
766
837
586
587
957
206
604
453
687
126
228
584
947
69
332
380
209
308
376
562
752
517
233
11
613
207
44
870
422
218
194
378
698
400
420
401
959
763
993
470
656
359
45
338
756
830
737
480
870
248
842
595
575
227
621
368
470
228
827
238
317
43
227
715
553
997
90
873
87
982
296
671
815
587
514
647
723
957
798
96
107
520
739
115
697
347
325
441
73
550
816
230
765
518
989
513
608
331
741
946
630
628
261
779
400
576
19
158
559
193
232
385
692
864
560
453
173
37
79
325
677
11
843
995
566
709
885
755
602
921
730
76
431
209
98
889
346
842
120
602
50
254
349
938
160
33
306
817
304
777
894
293
651
628
431
663
706
469
609
460
698
197
125
809
125
365
771
799
960
436
104
48
658
83
265
425
266
339
95
143
557
215
241
739
348
126
728
306
654
326
858
906
973
544
727
382
716
183
235
728
560
352
202
608
310
650
599
887
463
916
76
115
837
484
89
96
42
329
864
190
198
750
5
746
259
587
567
150
633
239
632
473
676
787
886
907
258
160
548
957
152
400
86
91
874
570
569
955
443
859
281
185
52
409
985
330
226
107
506
250
365
536
450
593
662
975
931
306
414
947
310
799
654
341
879
886
66
158
909
6
97
905
170
349
754
653
992
92
52
310
198
240
994
696
101
404
778
842
297
514
114
933
506
36
74
438
545
807
951
853
559
470
728
118
831
11
964
566
992
674
844
273
892
303
41
434
780
170
857
882
713
863
484
78
701
990
171
13
86
728
517
21
419
73
563
890
832
880
551
82
142
859
158
149
180
558
829
911
553
227
766
337
340
582
29
913
984
185
791
787
726
193
574
992
778
390
468
396
554
929
628
919
775
482
192
288
924
991
554
836
873
12
365
427
819
963
609
270
661
176
839
826
427
656
504
678
956
73
951
411
633
865
937
581
26
507
815
751
265
165
746
992
759
57
645
572
370
604
423
509
933
197
644
249
814
62
972
35
418
670
600
825
841
202
78
296
196
442
694
780
693
400
4
5
842
194
26
118
477
994
304
642
928
315
369
349
971
877
911
337
60
574
546
135
56
739
963
268
621
601
172
987
663
481
346
980
414
816
822
976
696
655
897
967
659
201
922
216
162
349
714
48
214
144
116
989
411
577
235
276
830
148
203
919
26
905
541
124
789
142
740
518
494
918
175
584
271
892
435
359
455
230
558
280
115
211
567
250
219
51
887
611
366
678
235
123
73
818
430
429
885
187
796
577
943
772
758
204
588
348
651
698
408
467
759
988
458
828
833
922
47
767
572
25
968
753
797
870
434
904
501
539
631
395
595
691
503
660
519
919
870
984
161
738
438
754
562
237
808
720
546
592
292
487
897
76
262
142
552
87
110
600
211
974
753
708
744
261
799
910
49
608
252
221
318
113
367
871
834
577
577
402
831
707
68
165
383
255
318
334
399
431
966
411
478
486
128
167
776
685
142
964
708
177
32
156
395
764
913
667
762
83
564
321
727
362
804
361
495
69
808
698
783
626
994
944
207
213
24
307
277
407
849
726
756
126
761
371
917
997
349
406
697
712
884
999
679
501
59
898
300
123
285
407
173
396
66
347
550
938
626
597
683
627
368
79
82
567
478
688
875
183
163
165
803
526
807
761
802
170
576
328
36
503
111
413
738
727
792
166
810
607
579
892
345
185
825
825
954
180
893
412
178
79
870
134
822
566
11
536
440
602
446
806
211
613
557
490
756
377
966
54
57
509
297
114
233
997
421
301
529
178
135
144
832
745
79
292
463
452
385
201
441
53
592
584
445
989
489
219
696
516
732
186
221
513
327
371
913
143
177
296
261
258
203
971
263
159
326
470
504
865
333
614
269
316
74
809
5
429
6
412
286
330
969
647
42
268
148
833
56
166
781
223
67
541
232
116
347
772
843
73
716
79
58
343
715
427
615
645
89
86
261
840
250
251
837
272
894
458
727
636
882
659
557
730
578
577
746
67
232
211
553
213
39
434
392
909
947
45
297
374
487
504
128
852
183
303
687
202
556
498
286
843
122
927
286
525
396
59
717
989
973
857
571
46
531
765
780
742
207
309
687
758
694
964
482
469
75
23
26
154
683
565
885
565
589
86
21
773
406
771
342
272
416
955
89
300
325
319
274
950
246
729
576
918
65
847
260
321
494
871
55
814
130
593
373
270
200
781
840
157
472
83
491
893
70
880
257
59
697
892
396
684
838
80
296
443
540
384
37
180
930
360
965
227
447
702
642
215
288
510
348
339
365
995
440
390
268
932
680
56
490
63
369
764
91
557
15
30
892
51
489
272
294
674
877
472
392
776
44
634
725
299
274
657
132
874
40
388
417
127
180
396
163
505
72
837
605
987
676
185
367
148
264
506
430
70
967
451
133
490
246
884
715
290
338
716
668
27
417
595
759
36
662
415
962
580
8
16
263
878
862
871
334
141
195
650
940
350
613
779
422
36
453
772
156
815
63
413
439
839
795
982
356
839
116
241
292
359
11
66
995
611
271
604
950
925
574
128
76
22
229
715
754
651
506
553
612
597
573
845
596
410
404
665
557
940
99
918
959
739
556
814
959
425
656
919
208
746
167
687
735
375
350
841
276
687
676
578
836
417
253
741
123
464
852
288
566
755
563
740
159
729
468
775
817
826
172
687
166
798
61
31
867
618
380
337
277
520
548
803
542
345
661
560
236
991
570
230
967
172
849
71
572
352
943
468
809
617
398
420
683
852
471
483
399
114
265
467
403
33
496
463
771
280
850
293
50
413
555
807
220
948
865
852
599
738
935
444
642
278
83
526
294
448
58
155
428
343
930
271
618
546
531
266
254
527
692
174
285
145
20
841
328
260
662
694
614
247
144
438
737
177
868
190
34
904
623
443
567
297
41
722
7
770
576
652
866
986
583
560
888
40
883
615
432
354
305
303
900
589
863
486
15
787
806
179
521
264
798
489
959
280
240
645
958
387
194
206
391
795
813
756
940
406
340
782
975
125
518
550
182
227
971
238
983
497
295
334
215
228
129
763
914
269
213
584
243
841
369
626
247
870
536
565
482
953
83
782
40
854
841
770
575
678
277
869
337
866
511
341
597
897
790
617
445
792
813
149
917
884
842
770
290
334
283
319
84
50
108
365
255
607
157
378
999
503
44
970
135
769
642
450
559
705
464
941
75
546
343
138
555
292
675
56
140
175
721
289
48
739
302
736
144
884
368
976
838
332
495
108
142
192
596
971
916
26
527
228
173
995
582
777
734
960
760
267
83
434
853
499
905
867
191
416
989
427
120
176
581
308
404
968
405
630
303
36
345
655
538
450
171
788
278
281
169
906
194
646
574
456
386
330
695
761
348
854
997
688
676
664
517
170
977
267
518
168
167
823
25
729
795
620
269
759
559
563
860
74
696
221
971
126
19
798
761
243
430
630
250
273
726
805
728
117
434
19
527
839
6
905
630
996
714
471
976
978
795
941
358
79
241
644
654
335
698
775
865
611
416
816
348
5
217
535
901
11
976
977
479
33
218
422
480
307
83
768
653
411
877
305
366
199
853
212
290
87
924
43
986
204
424
797
539
457
395
536
203
307
218
142
566
89
814
425
390
647
997
333
336
377
332
538
584
629
409
359
950
156
679
940
903
434
216
286
195
730
41
341
661
919
863
602
270
42
645
851
89
371
313
857
714
898
689
476
363
940
603
357
148
381
558
601
29
695
367
48
445
115
73
324
460
459
542
362
491
879
375
313
953
871
590
105
490
698
338
8
338
646
579
451
213
977
151
702
748
760
353
781
339
197
667
196
244
593
973
406
940
509
654
316
953
554
79
259
769
434
518
683
577
348
119
686
120
412
275
137
399
49
253
767
382
700
901
359
899
554
124
171
185
273
739
642
384
477
166
86
717
993
176
759
586
265
133
685
211
327
141
489
364
374
87
840
635
461
46
613
445
981
167
536
171
757
1
915
907
19
296
757
783
130
696
618
105
545
306
112
721
975
257
408
988
367
858
316
543
9
533
899
684
324
643
156
317
521
897
246
703
996
281
672
710
805
611
925
323
556
288
844
571
778
663
165
990
714
349
674
439
723
392
842
247
493
565
883
345
364
804
943
760
49
226
162
796
960
308
772
829
650
771
972
558
645
221
682
162
14
585
637
674
545
745
548
970
711
993
291
824
124
618
716
140
936
751
448
981
924
826
884
724
528
163
527
262
79
172
682
141
346
811
809
451
191
409
366
64
791
165
37
344
733
304
71
893
547
906
12
209
577
527
89
391
153
585
238
607
576
89
653
806
527
644
623
248
973
539
430
554
310
619
415
801
683
873
72
119
778
242
811
851
707
124
909
417
890
311
908
177
579
263
922
199
751
259
290
355
15
770
814
118
828
815
740
71
120
32
322
307
442
289
353
564
85
302
21
237
474
736
815
794
126
60
877
255
973
718
698
603
258
752
627
799
243
554
502
591
198
642
483
530
509
200
868
211
896
185
213
577
898
99
778
582
11
26
236
594
721
845
207
487
392
927
982
893
187
493
741
942
613
476
206
86
238
600
977
346
71
74
528
3
62
927
393
401
669
753
429
477
834
160
707
964
507
842
171
757
8
519
927
253
700
594
834
97
143
622
844
636
459
471
705
789
533
314
52
792
146
587
261
392
822
812
348
262
654
408
920
383
155
316
514
672
995
671
423
408
389
500
804
2
395
581
81
362
819
890
388
908
562
94
728
877
7
419
986
732
162
601
112
414
955
705
114
556
249
981
182
317
94
724
755
506
330
380
234
906
381
437
15
557
592
677
183
270
616
919
352
406
571
815
371
318
540
530
420
535
253
193
861
430
523
515
438
732
90
188
8
698
996
759
365
395
191
261
89
175
766
567
282
221
55
29
590
29
853
702
848
830
375
604
426
137
658
748
395
603
436
244
782
714
641
781
706
538
329
137
222
904
895
980
412
697
951
113
553
646
614
356
496
288
401
626
472
548
589
723
918
296
61
933
972
623
674
296
470
145
178
382
173
620
878
808
562
969
293
761
976
575
791
622
511
810
493
591
28
404
15
404
494
102
855
835
767
530
555
810
738
67
462
645
948
241
907
11
434
275
415
697
293
520
739
509
180
936
2
240
445
524
26
891
359
401
309
169
155
978
530
30
890
382
107
132
235
342
22
165
911
877
844
951
783
315
30
357
725
731
95
79
86
70
543
470
73
284
348
647
9
250
636
137
900
674
129
112
53
906
172
592
618
563
954
978
515
922
828
214
921
102
977
273
310
612
461
859
947
665
179
617
610
181
92
508
972
230
336
323
873
86
343
198
765
609
746
324
884
272
606
452
966
676
77
69
847
320
642
856
379
84
206
752
116
120
133
714
758
563
174
382
550
517
608
773
502
918
581
78
805
268
752
412
180
807
723
599
76
510
864
412
795
436
456
99
742
364
474
18
17
94
732
471
889
378
431
957
819
150
469
698
7
800
360
602
265
760
752
147
408
735
271
684
77
405
453
951
836
856
542
838
783
185
398
837
272
327
518
78
666
784
631
856
190
221
345
255
731
250
333
607
990
889
372
502
402
866
255
587
168
492
523
857
871
873
571
632
51
611
433
37
913
851
514
636
82
731
46
612
982
655
118
303
888
663
189
398
903
136
714
821
190
655
984
989
43
295
997
144
8
228
798
835
427
738
254
887
650
686
630
670
563
852
680
653
802
826
827
915
860
232
624
120
521
720
110
688
444
710
999
717
587
828
899
192
992
983
79
811
376
507
867
100
523
242
631
564
813
885
36
552
550
648
449
818
794
240
563
733
47
831
878
23
736
891
178
452
966
975
888
999
131
608
904
187
781
800
901
363
477
40
76
304
63
277
767
475
206
338
503
614
139
472
323
778
62
74
503
368
289
661
816
811
806
681
809
278
564
858
108
403
624
77
352
825
97
991
527
147
782
592
160
206
391
972
108
714
472
104
753
982
994
121
212
319
858
295
396
80
806
584
862
175
89
102
421
219
363
260
362
143
357
902
698
82
41
817
139
159
591
571
49
376
382
395
736
103
155
786
507
894
752
111
589
891
695
526
389
33
991
526
212
175
184
432
744
801
621
86
351
416
818
208
163
88
958
818
848
60
344
725
396
870
718
430
319
865
63
431
469
724
830
536
557
160
222
325
379
827
792
350
745
117
875
822
12
524
441
651
126
743
713
476
937
10
790
325
303
133
475
680
719
342
78
361
48
841
904
79
448
88
609
725
117
581
696
664
811
166
558
606
32
501
673
587
366
104
724
19
942
872
606
735
227
531
279
884
993
129
17
26
349
887
189
4
194
80
760
39
1000
317
650
245
878
770
589
397
140
940
376
420
636
505
409
316
104
13
723
518
256
403
657
159
347
167
212
701
361
426
740
894
833
243
577
236
604
913
473
467
574
719
303
181
642
125
429
23
952
943
368
360
133
356
34
421
717
891
475
913
961
65
703
679
888
403
423
690
431
366
851
686
805
173
569
84
310
660
466
759
747
715
83
704
65
229
611
552
59
769
85
801
190
139
476
963
928
960
103
296
250
266
69
926
516
738
573
726
434
212
70
989
848
748
231
40
275
897
306
161
293
707
961
591
442
816
845
794
881
705
80
726
961
177
642
471
982
405
776
743
645
12
355
714
659
534
237
552
328
572
642
865
310
980
985
547
441
369
186
483
980
550
690
682
150
270
764
276
155
403
997
649
94
163
426
59
909
807
442
740
845
561
643
62
1
585
520
861
704
16
450
571
145
696
431
505
543
169
737
397
363
226
597
758
423
490
571
705
305
604
456
12
284
102
436
99
230
779
679
156
189
415
375
995
915
329
911
476
711
464
596
466
671
449
756
322
125
498
668
587
15
61
699
119
163
257
954
668
954
269
75
872
945
970
518
672
221
200
884
675
397
944
912
764
676
150
450
611
235
901
530
245
374
751
975
998
939
85
971
342
124
10
132
146
130
775
853
943
104
657
219
113
284
943
127
41
770
580
251
154
236
95
296
136
897
78
314
582
218
456
58
879
604
172
531
714
23
512
220
802
504
180
562
692
477
816
652
271
510
682
680
153
58
661
482
25
813
467
374
577
638
171
965
567
639
574
549
406
765
800
91
124
455
1000
601
90
70
195
757
393
275
410
906
964
248
669
703
975
680
880
350
244
131
939
851
743
871
258
854
435
219
858
550
965
721
5
533
273
988
479
180
345
497
54
653
799
747
917
251
403
647
948
564
292
586
691
755
756
411
225
154
215
235
362
282
229
460
671
840
162
484
973
27
323
128
730
367
872
556
657
202
756
719
90
930
296
110
271
886
991
48
509
318
364
793
132
817
71
988
71
370
698
980
158
752
478
939
461
719
791
529
458
730
14
105
336
970
339
302
489
435
829
819
174
662
978
896
861
590
475
47
357
176
426
580
378
536
220
659
776
266
419
964
895
5
704
652
757
667
458
589
47
705
644
969
530
235
885
686
991
676
151
830
26
253
970
40
191
292
833
44
550
327
75
569
230
786
203
296
832
649
901
745
936
704
372
225
885
866
820
30
48
822
442
305
169
573
808
453
645
848
439
500
8
179
444
87
616
720
763
580
550
369
397
235
216
529
350
824
540
970
146
607
560
459
231
667
935
482
942
905
561
859
545
908
406
530
302
274
212
574
813
638
339
981
473
119
473
331
1000
878
395
114
660
446
171
666
258
362
47
755
168
884
887
837
390
707
504
556
448
491
469
695
570
812
973
945
937
112
68
906
898
82
140
955
882
30
343
601
231
942
137
87
291
413
893
735
153
711
616
682
429
255
89
217
78
148
476
175
993
953
314
693
524
890
815
503
725
174
551
859
168
635
707
162
404
761
983
524
308
959
466
563
597
638
357
692
75
297
719
605
367
815
932
570
301
5
409
32
124
56
467
244
961
306
197
768
420
637
335
57
597
564
842
1000
868
400
872
947
804
64
840
611
433
434
718
304
373
844
389
418
890
984
67
250
972
39
907
786
534
373
344
797
810
364
687
626
11
260
881
602
371
750
671
66
386
957
576
303
48
293
802
223
370
571
494
102
141
301
317
529
758
924
16
848
682
648
735
421
527
814
502
165
731
198
843
869
307
352
30
414
87
943
400
466
733
899
665
664
435
988
991
193
172
495
926
140
479
623
757
901
269
429
516
2
354
902
95
261
830
213
826
235
511
604
271
24
583
577
432
687
307
826
211
476
204
17
86
51
52
183
548
193
593
14
388
368
675
670
591
891
565
925
450
595
665
661
929
230
306
451
450
378
29
97
37
679
537
198
443
548
889
229
912
383
189
5
333
993
151
716
952
751
602
692
711
309
939
783
306
507
461
315
461
647
321
880
625
88
649
49
223
359
496
85
921
740
817
199
816
197
747
215
451
520
309
951
403
624
657
254
782
511
2
125
534
771
915
121
843
62
737
340
216
213
192
987
194
304
122
749
779
393
232
852
665
158
590
907
117
655
420
213
882
970
599
306
86
611
611
849
438
425
15
656
392
797
31
193
431
760
780
659
357
494
467
450
149
100
580
216
788
934
609
89
799
376
22
601
540
923
193
624
156
491
659
84
691
71
580
551
152
333
280
630
849
918
430
346
268
198
393
651
598
524
29
28
694
907
445
34
444
874
727
414
625
509
73
46
911
196
745
16
150
424
583
848
191
843
227
40
829
874
462
986
211
970
139
461
376
481
816
852
643
803
69
485
744
736
257
764
462
909
697
857
876
247
116
686
395
136
47
250
244
391
632
347
144
182
944
295
156
30
616
93
76
130
469
918
804
362
521
879
19
658
380
618
816
465
183
166
897
240
449
42
403
528
302
673
783
924
914
272
474
656
939
428
501
852
766
186
710
217
699
361
740
308
238
984
900
95
662
665
934
146
777
435
750
526
187
535
361
727
2
53
658
718
346
350
910
863
134
998
712
369
241
678
246
901
905
630
776
891
119
548
676
536
664
791
305
18
518
856
913
824
720
162
742
174
902
903
747
864
427
934
567
295
139
556
656
757
91
573
769
518
231
268
942
868
930
223
175
513
414
310
735
361
293
327
559
298
857
987
699
660
478
494
365
475
92
202
737
744
750
313
876
36
76
144
276
518
109
390
316
116
189
787
565
931
77
308
53
945
511
92
477
561
812
543
411
680
218
154
36
69
926
86
658
120
106
936
978
469
425
496
332
946
630
361
849
719
842
26
847
370
215
770
857
784
106
218
784
629
868
152
742
767
703
118
548
241
555
377
810
894
240
55
653
353
462
429
76
554
851
101
75
360
444
385
799
153
489
920
94
477
245
498
322
428
733
843
662
871
278
919
145
970
316
985
791
171
18
741
381
563
3
35
284
392
248
882
893
261
819
89
440
559
125
920
201
633
26
553
83
776
554
575
435
812
387
661
318
84
736
122
779
635
917
760
896
55
716
801
50
144
795
956
128
704
878
386
70
432
819
161
571
933
938
103
455
319
956
756
463
622
761
197
695
891
482
557
83
660
743
81
722
835
169
719
340
847
331
823
825
290
81
760
315
512
807
497
13
146
437
575
710
870
399
436
831
103
256
207
51
207
479
20
646
40
912
47
708
460
803
648
763
460
594
61
654
206
507
509
705
257
248
225
449
367
480
470
480
671
793
767
912
732
683
41
914
770
203
65
269
534
230
166
464
240
736
893
512
577
335
345
479
934
931
346
35
205
252
698
807
377
1
56
468
844
956
908
221
44
887
812
330
319
1000
311
771
664
204
55
351
575
375
598
757
907
307
604
634
974
441
561
31
299
329
885
531
869
44
486
9
50
141
39
312
888
311
520
154
401
223
62
215
627
314
668
697
267
360
727
638
189
743
944
229
175
734
321
279
588
573
576
578
929
14
400
634
579
343
888
725
860
888
528
986
786
509
290
78
734
299
996
863
131
655
224
642
662
906
570
583
596
942
799
703
618
657
112
23
46
924
218
143
475
759
440
451
309
612
696
475
572
656
823
439
851
793
412
290
907
870
353
863
603
741
40
951
13
943
537
488
222
70
286
567
388
192
657
266
105
851
621
763
613
72
811
824
112
432
965
436
138
1000
790
908
69
510
867
916
448
833
415
287
498
906
455
197
440
604
872
687
288
995
22
544
105
934
992
942
754
114
229
320
514
4
193
53
733
962
38
205
267
944
451
22
707
154
748
386
292
33
211
23
911
309
495
690
647
800
471
328
546
385
851
824
279
648
745
425
235
862
832
113
473
155
958
633
442
532
255
937
198
464
95
136
981
649
121
954
626
32
404
361
878
516
989
481
92
818
990
932
162
843
567
799
118
61
31
420
143
839
281
966
496
626
296
727
452
975
367
149
860
808
201
65
412
257
323
570
193
289
50
643
64
780
530
193
511
873
47
396
647
15
524
545
150
214
792
147
345
608
238
344
411
434
387
612
202
15
582
83
72
596
261
233
338
87
76
473
536
704
631
574
71
314
850
796
147
913
597
944
829
293
390
378
498
475
781
650
312
586
860
107
39
28
789
47
200
173
340
65
602
907
25
533
510
833
612
790
641
112
839
654
990
764
576
353
434
583
583
938
167
429
395
404
358
109
305
747
780
998
610
175
160
270
239
145
11
776
719
813
759
808
190
877
111
284
542
233
13
344
334
985
5
166
106
392
344
674
155
597
633
745
710
24
431
364
102
869
350
742
957
497
541
833
852
10
490
210
204
131
347
43
160
753
904
853
663
624
894
629
195
751
403
957
895
774
648
252
639
326
415
587
960
480
559
878
691
562
578
865
593
575
787
638
687
488
346
882
384
405
751
523
604
207
305
554
608
830
1000
784
699
699
303
961
606
410
825
105
678
891
494
68
395
124
469
440
744
184
279
293
213
158
240
263
862
819
191
293
309
463
379
994
154
261
442
38
954
442
763
987
946
998
714
166
85
701
272
318
192
569
427
92
214
298
213
910
2
854
286
840
359
333
634
265
96
82
56
42
990
641
595
751
915
87
165
688
454
612
251
720
366
66
575
868
35
383
632
374
377
139
842
716
298
921
379
163
500
848
523
256
269
540
769
66
377
470
16
973
413
291
456
404
729
874
309
605
711
845
175
501
213
118
52
175
851
821
715
544
112
181
448
590
739
85
22
369
766
300
324
340
442
713
271
519
716
556
388
20
846
896
679
842
794
495
626
740
962
604
110
520
741
319
648
528
629
999
758
462
844
141
911
229
499
812
446
985
474
302
568
164
395
620
386
249
977
404
290
531
878
873
654
344
177
543
375
290
449
344
585
193
377
175
12
999
591
377
706
124
839
155
802
833
843
628
494
859
566
529
623
98
586
852
297
439
514
244
808
190
609
527
926
76
392
564
744
616
343
231
553
763
940
113
20
311
361
214
822
221
219
85
586
924
204
518
376
571
531
183
346
625
419
884
575
941
936
714
714
86
445
933
783
643
801
392
976
304
397
105
547
880
327
71
160
726
141
671
102
820
543
384
688
109
653
726
7
398
719
840
524
261
994
465
103
884
957
661
218
313
281
890
1000
927
889
333
886
779
853
892
982
824
338
825
933
951
731
577
39
184
775
691
103
372
289
214
970
55
652
730
995
499
508
14
377
464
228
419
656
120
193
628
147
199
790
134
850
323
756
785
555
183
779
229
908
181
883
836
46
810
102
932
884
691
968
387
280
52
799
393
552
415
621
887
502
429
497
268
557
600
129
47
823
472
702
931
947
776
199
394
973
890
984
844
895
615
859
42
914
687
593
232
131
854
774
584
422
236
663
676
497
797
418
484
544
788
245
799
643
33
919
486
90
786
888
149
932
689
117
619
824
960
880
855
945
864
244
646
61
141
191
295
736
726
806
666
957
338
933
761
161
80
517
232
311
16
587
785
212
445
56
709
336
342
475
752
317
481
498
37
850
279
916
281
66
772
304
263
440
983
86
518
280
382
262
435
66
364
738
939
505
340
503
70
990
427
476
899
534
656
522
759
706
665
121
302
67
741
202
803
33
956
955
647
708
184
118
412
650
597
900
691
329
643
735
331
711
752
381
778
790
459
459
200
599
836
850
556
285
660
557
879
683
459
244
122
879
457
539
491
787
838
685
554
767
984
793
990
455
97
635
312
73
421
319
475
520
264
850
425
793
600
399
421
661
49
184
399
590
426
716
736
898
221
962
451
279
269
372
353
110
800
699
415
505
783
937
183
853
135
432
491
175
697
521
756
378
85
908
465
215
527
779
279
306
565
168
174
533
736
283
738
175
643
298
743
97
782
236
917
580
232
807
257
476
972
850
392
615
10
543
455
631
838
646
746
654
40
774
103
162
717
22
344
538
542
768
717
239
230
137
887
990
45
368
901
54
313
541
141
403
960
825
310
121
811
585
569
855
554
440
608
600
599
481
577
659
677
225
141
739
825
434
25
712
170
254
852
815
750
744
80
987
28
323
553
304
606
713
644
635
278
481
254
901
109
653
413
352
322
835
629
795
502
777
273
676
951
661
475
752
218
329
57
101
837
29
949
804
184
312
873
759
620
528
339
33
884
182
400
682
352
203
971
586
104
176
696
446
254
16
548
504
755
283
420
100
143
642
366
458
300
90
216
346
51
404
3
124
782
915
430
6
213
532
363
871
278
128
174
232
642
464
357
810
884
392
732
778
103
462
34
137
635
779
236
385
305
728
369
440
333
650
763
868
269
616
977
903
618
93
772
43
232
39
468
931
269
768
46
164
1
565
700
224
818
961
328
769
367
625
531
836
324
432
143
63
638
980
47
645
990
319
628
1000
485
218
667
927
759
855
793
134
786
403
404
925
793
143
752
467
477
987
257
877
808
398
159
722
559
707
773
538
585
275
947
962
447
967
890
849
931
610
476
945
660
700
831
988
524
204
582
603
955
2
855
496
618
30
275
334
307
711
79
441
168
98
15
411
948
241
111
308
444
747
103
29
783
819
819
590
360
955
642
533
271
666
41
892
20
774
211
85
379
940
96
483
816
595
961
988
817
69
865
154
913
774
888
895
460
696
413
475
645
896
303
989
941
27
615
925
804
586
863
850
555
387
262
914
597
884
522
879
850
319
593
594
476
574
943
542
227
762
732
307
559
472
753
46
45
191
278
222
999
468
866
682
297
462
697
351
739
707
524
74
864
726
989
730
619
647
259
131
871
665
728
194
815
265
112
935
797
281
767
999
204
767
741
101
683
490
632
108
895
411
866
355
692
190
534
85
967
144
311
206
662
503
876
607
276
415
710
206
524
409
256
127
702
717
228
17
254
601
135
894
346
757
592
736
902
431
717
272
173
409
192
362
22
531
74
221
338
57
271
248
522
20
485
646
112
566
581
542
677
638
891
566
786
234
110
467
295
345
825
125
139
571
497
496
891
259
856
6
851
708
78
128
367
785
893
717
283
739
214
701
23
382
730
971
443
748
320
42
730
426
479
14
981
887
689
446
606
524
765
802
800
928
396
984
812
757
261
261
501
71
891
529
264
731
479
561
256
524
190
321
845
719
647
256
477
772
25
109
339
579
631
484
241
462
927
921
936
271
199
350
660
315
186
673
751
645
273
737
933
398
689
480
867
468
868
582
318
44
782
415
695
188
187
518
751
12
288
573
313
724
42
20
489
416
126
57
440
149
602
944
248
851
79
306
344
452
244
742
329
255
736
307
980
396
467
162
326
71
116
211
999
133
947
3
181
656
479
623
56
998
333
987
925
749
569
594
408
515
237
228
202
680
337
930
136
485
435
514
593
896
774
835
117
449
407
575
912
939
764
687
742
736
565
506
243
984
237
937
246
844
899
581
485
497
541
37
701
856
542
682
958
939
60
656
433
586
946
222
496
225
205
523
292
983
658
29
543
136
238
589
174
773
959
946
446
263
588
954
867
367
280
945
396
512
146
931
155
179
255
242
953
405
746
615
792
913
393
661
303
226
574
882
377
278
268
417
18
272
770
981
61
554
395
891
523
809
498
676
263
871
596
379
894
138
727
944
972
648
276
657
758
815
739
414
431
740
368
848
176
477
276
786
560
543
910
609
649
317
483
665
741
947
98
100
83
16
775
878
832
897
222
423
194
983
19
115
295
283
62
220
756
280
306
606
655
259
308
6
498
234
617
421
768
727
949
207
212
887
993
61
413
615
322
594
167
628
339
14
318
500
214
336
954
645
186
38
108
540
826
509
1000
294
344
305
696
569
533
611
596
743
395
644
714
263
991
651
313
230
406
390
261
463
539
568
391
317
171
641
202
529
1000
325
975
546
30
9
283
284
70
129
92
873
101
138
88
735
314
677
507
758
676
482
34
92
661
599
981
259
506
202
91
124
169
380
278
281
970
95
793
791
567
777
910
458
434
236
724
377
512
505
178
126
209
590
63
678
477
370
187
916
865
3
541
522
623
801
557
25
57
792
147
781
401
131
54
6
486
46
280
327
457
229
79
582
895
172
797
778
957
434
753
823
464
980
555
783
121
706
159
620
977
335
408
891
826
539
657
656
968
24
968
999
88
684
156
687
738
642
547
270
102
103
760
156
954
433
793
389
59
933
892
431
148
225
798
837
443
120
162
110
489
757
61
925
874
566
893
3
583
123
39
295
23
229
285
267
827
299
892
563
129
509
538
434
470
950
68
619
396
376
172
48
519
980
115
545
881
597
501
122
476
547
717
239
951
572
277
445
989
26
34
66
966
569
938
28
68
137
953
140
946
256
351
462
241
817
265
500
495
641
180
516
171
683
679
997
496
467
97
178
328
429
305
621
404
593
250
927
364
157
371
766
701
353
652
193
651
854
14
113
346
274
376
571
470
590
426
804
210
619
537
37
691
779
182
814
612
7
689
692
678
95
930
938
901
773
767
990
601
46
778
910
521
846
695
974
175
512
49
458
780
371
981
598
157
89
530
132
230
18
861
15
276
101
560
351
825
232
806
613
150
674
190
112
800
676
726
155
43
927
348
233
193
593
959
219
656
909
288
504
812
263
453
402
693
350
272
726
223
997
311
737
398
538
633
741
613
581
522
859
590
874
102
276
977
322
500
74
365
578
750
47
503
911
989
436
851
449
27
200
21
446
531
436
980
708
684
459
286
530
546
296
969
411
180
98
500
374
509
22
219
753
473
384
107
725
149
187
3
212
960
54
83
330
410
686
351
818
277
650
810
101
522
791
701
557
265
180
682
527
39
397
741
78
149
776
681
298
174
388
375
214
709
302
190
976
650
252
986
712
499
474
598
98
900
58
692
685
42
922
277
645
312
911
427
659
141
954
296
773
391
472
938
118
660
115
833
296
523
406
680
171
832
289
406
989
423
122
258
716
266
700
568
639
726
979
690
782
344
5
320
936
842
418
756
141
925
448
429
210
508
789
72
832
983
606
655
642
986
11
918
468
808
385
259
198
199
203
722
398
30
372
392
129
903
10
21
186
283
697
611
165
593
893
543
581
444
751
982
705
157
123
633
315
659
577
658
193
891
847
405
86
130
327
116
677
72
382
49
251
298
578
137
541
176
992
503
597
520
417
367
384
772
33
558
665
985
964
358
88
837
400
83
299
504
888
528
842
160
167
370
345
444
50
436
123
196
282
823
672
589
377
505
464
145
175
219
941
220
468
870
992
537
217
141
106
551
76
579
219
921
476
333
713
501
594
35
20
742
195
215
95
240
712
36
925
200
251
798
646
831
744
566
302
372
976
932
401
272
216
370
436
578
734
607
902
710
469
69
551
385
561
313
156
531
565
340
150
819
673
92
139
331
667
368
376
887
284
872
312
882
178
707
929
562
882
447
501
373
967
954
102
781
626
449
532
709
528
560
992
453
599
997
443
495
854
84
620
796
237
791
128
94
178
694
285
827
667
823
166
118
287
796
468
763
663
695
354
396
509
110
816
667
280
137
725
692
922
298
237
96
616
237
930
676
233
837
75
355
142
56
849
735
516
285
450
961
404
843
460
336
305
759
452
294
636
600
969
189
1000
591
47
927
71
604
922
240
207
355
473
548
629
341
629
278
812
1
572
396
534
379
531
664
330
164
221
603
327
782
322
53
79
626
124
837
565
727
783
170
612
992
646
320
488
434
608
955
224
388
629
342
866
763
742
136
599
156
762
567
837
727
292
357
264
560
229
282
359
762
799
987
610
570
544
803
223
895
201
210
713
476
761
17
698
596
807
850
923
732
612
314
550
669
697
147
958
887
675
384
519
878
424
38
604
194
167
259
978
982
865
482
348
231
232
133
259
602
758
164
356
247
762
794
865
240
991
613
41
964
283
407
4
681
563
46
632
796
960
259
151
155
653
264
241
993
869
203
761
527
329
844
345
722
413
79
109
46
543
624
650
219
981
82
694
669
256
673
378
814
721
122
173
368
786
818
780
733
657
928
976
387
20
571
4
540
741
520
416
922
574
401
145
50
9
362
355
101
761
929
604
394
430
532
922
544
728
33
920
692
681
271
361
277
657
100
637
309
332
820
997
722
259
464
87
952
41
457
392
533
282
466
649
562
419
728
386
724
29
30
596
740
730
576
40
567
564
496
291
588
912
730
945
215
663
488
899
505
613
970
107
849
807
525
282
981
357
577
273
834
952
327
434
442
859
847
560
41
50
421
890
953
873
565
537
168
64
485
137
687
345
607
337
370
527
695
783
996
466
437
508
495
296
697
870
398
868
330
887
664
587
687
769
98
587
432
794
512
592
83
922
645
817
247
380
685
550
335
591
267
840
387
90
665
404
675
218
579
520
274
187
845
796
33
436
967
626
430
726
656
617
418
46
227
361
450
181
491
301
209
93
442
161
467
934
641
623
414
314
728
618
782
157
731
605
735
242
652
472
437
485
895
382
874
580
481
917
743
550
272
209
388
908
702
962
875
514
861
139
749
469
493
994
348
751
752
121
767
365
539
254
87
101
889
73
500
228
777
997
236
594
616
280
557
778
87
928
121
90
951
755
863
580
668
507
556
962
164
254
165
195
897
50
919
595
588
172
122
500
547
432
766
87
44
62
983
808
805
457
68
216
884
455
271
136
436
722
354
436
823
926
7
851
977
461
737
238
658
377
497
43
152
262
383
721
746
664
146
477
714
354
231
98
423
897
132
43
165
620
568
974
77
203
309
884
173
161
705
283
160
791
683
864
243
755
331
398
62
768
234
849
760
966
724
881
668
68
132
910
258
588
165
777
314
233
38
896
325
525
521
782
127
24
983
740
563
277
915
469
149
288
959
546
884
836
45
380
424
139
516
844
935
886
511
808
949
582
662
678
658
891
912
593
773
806
921
326
956
635
511
995
136
276
575
454
605
123
130
464
902
350
480
60
925
375
641
317
707
423
117
106
737
917
680
975
897
86
164
739
579
568
614
650
864
379
67
824
424
984
659
804
365
972
532
807
18
375
998
690
183
197
242
954
495
293
769
71
911
846
422
299
62
533
42
593
513
148
611
909
28
296
403
40
290
520
92
796
768
780
487
431
668
937
326
912
174
895
278
651
773
29
690
512
703
442
311
653
845
880
236
490
414
560
767
277
566
600
323
606
8
88
594
741
477
571
464
782
983
380
30
261
704
290
66
607
670
244
427
522
414
919
147
864
273
557
367
176
803
532
472
337
555
421
570
652
729
982
116
69
693
767
242
114
709
672
95
174
323
928
874
772
24
960
22
192
211
5
109
279
506
323
88
237
296
129
319
278
73
349
264
661
679
877
703
681
986
384
142
306
932
65
777
406
824
763
300
760
545
786
909
939
647
751
97
493
739
640
641
165
490
530
27
699
345
288
827
185
789
651
894
910
912
665
446
684
621
606
269
251
165
747
539
865
603
939
307
219
220
955
6
872
301
563
862
611
206
700
874
553
696
135
120
892
267
891
639
228
984
774
483
669
361
988
415
157
151
736
270
756
902
433
764
430
32
619
388
851
934
571
75
379
87
692
924
445
764
796
166
256
873
236
191
116
414
765
531
513
320
39
603
167
4
719
166
819
944
548
521
327
442
853
790
436
732
918
436
609
689
535
666
707
747
207
481
618
979
866
116
847
11
558
740
465
135
842
945
646
67
39
132
721
841
707
700
589
626
225
7
304
84
37
595
454
940
545
708
11
85
869
801
891
64
242
868
636
741
475
997
661
359
80
586
796
75
329
842
613
233
113
334
162
373
81
663
690
509
448
252
319
207
422
154
121
789
5
530
98
675
905
779
185
90
449
532
840
910
286
442
681
544
321
538
173
713
872
696
421
710
769
640
793
59
628
85
734
973
579
90
699
829
476
658
778
465
379
918
789
434
297
157
663
389
596
103
970
912
417
300
409
90
84
701
729
742
285
160
712
802
390
289
652
267
337
936
719
349
824
465
218
431
740
32
893
102
270
404
56
122
327
857
754
187
542
207
585
655
169
26
600
598
37
652
946
711
860
949
259
159
276
427
27
563
911
868
545
796
54
375
401
318
341
968
616
296
828
755
875
935
920
828
280
165
729
143
511
355
407
184
377
587
202
858
583
823
45
595
631
959
72
639
765
445
197
625
168
89
864
925
316
678
713
309
785
792
880
626
545
2
859
522
90
34
79
808
717
419
711
225
264
246
24
531
532
421
845
131
913
403
472
692
913
501
443
46
138
825
52
931
321
809
277
756
94
452
889
416
638
373
708
40
412
41
674
600
914
751
38
988
687
938
900
74
893
990
250
109
959
932
542
501
860
725
363
639
511
905
742
161
171
875
229
77
870
27
243
829
202
182
574
536
663
754
885
375
539
538
116
383
42
495
923
825
919
47
650
673
336
877
740
902
199
575
735
118
309
361
472
260
250
991
677
945
572
143
238
854
702
82
315
16
884
704
598
392
296
438
470
692
406
925
723
585
276
330
636
606
950
999
474
143
650
751
785
336
385
958
278
973
772
702
574
968
273
120
81
122
857
636
168
55
581
351
65
412
16
455
167
546
597
264
853
170
799
140
643
759
593
285
888
379
439
404
410
625
86
178
184
1
334
576
501
334
65
608
622
628
533
971
177
567
357
913
969
14
834
256
30
305
820
616
392
347
402
260
136
30
105
420
802
191
252
955
867
391
814
354
615
552
844
1
764
771
775
505
731
458
432
802
154
646
555
516
891
643
509
262
960
245
195
574
578
222
180
805
313
486
293
167
623
836
984
550
40
35
40
220
612
316
275
750
842
813
557
420
311
27
360
335
57
789
833
27
864
101
909
56
616
318
379
661
994
507
557
887
945
774
516
433
116
7
470
852
865
33
520
357
771
757
730
42
579
355
419
963
962
385
798
552
414
903
898
653
867
523
433
555
391
796
266
973
132
179
955
438
141
31
550
676
11
285
553
383
151
51
197
449
994
163
256
494
554
509
851
837
802
550
413
462
424
534
983
30
598
161
755
647
124
566
94
660
968
237
880
958
965
883
115
434
66
832
187
970
721
364
361
309
587
802
386
612
257
102
803
196
450
924
755
573
406
917
674
828
642
163
180
972
941
788
296
157
693
168
632
154
586
616
627
787
402
591
451
977
339
818
99
114
262
811
450
171
758
952
10
982
760
661
612
852
930
519
221
450
853
700
268
621
211
740
109
217
734
710
683
28
230
180
568
882
707
721
94
110
892
587
502
688
883
533
479
114
464
42
76
858
257
162
459
876
222
232
472
182
686
192
663
683
333
658
640
642
790
336
804
321
383
81
674
675
462
592
808
236
369
288
841
611
160
784
183
128
574
61
266
841
968
134
268
915
610
994
327
167
742
183
551
517
811
596
18
298
796
801
906
719
624
233
316
520
223
793
751
556
493
959
82
700
121
453
672
232
820
227
343
102
447
734
53
857
554
521
613
153
951
597
389
565
203
899
313
150
606
194
189
620
409
618
400
365
926
387
100
400
40
696
776
498
850
298
642
439
795
479
486
621
536
671
562
176
34
792
913
355
500
36
468
677
451
873
478
297
191
864
173
843
544
105
692
709
908
8
690
729
916
92
442
95
358
439
670
303
310
338
928
827
208
739
577
272
827
260
494
90
306
441
251
48
507
580
577
905
753
864
906
880
551
38
999
825
23
917
422
806
709
735
761
821
126
559
65
747
78
816
964
822
672
242
751
698
126
850
950
169
492
940
959
963
501
44
606
297
256
138
476
86
110
159
528
761
772
1000
57
423
504
908
129
728
201
294
792
978
573
142
433
132
39
174
302
312
442
226
657
527
453
918
891
13
524
29
501
50
153
230
976
831
824
150
368
913
258
824
922
348
873
748
788
875
957
473
446
366
459
137
13
229
14
605
501
817
989
917
954
507
696
327
58
619
935
364
824
48
998
536
775
841
581
900
350
190
52
753
489
153
458
850
162
589
243
861
829
538
841
887
826
882
661
874
970
417
884
180
669
330
539
692
992
382
101
880
596
563
20
21
568
777
238
15
570
700
292
332
864
408
122
707
59
751
517
318
155
713
966
449
253
709
379
593
877
143
354
763
667
278
891
744
206
896
499
456
314
101
59
122
892
291
895
270
640
697
215
779
170
50
34
840
291
415
774
291
529
917
222
554
62
620
78
55
544
165
260
624
959
956
871
596
247
439
283
667
114
59
87
132
544
428
899
150
346
821
397
598
64
436
418
277
1
714
445
628
390
827
220
281
681
957
45
548
461
608
179
103
315
186
873
684
120
216
428
437
512
341
402
357
352
952
814
2
239
702
962
656
464
267
407
488
107
907
294
953
384
28
519
544
40
209
196
727
249
387
805
329
699
682
399
802
865
376
420
53
240
211
952
927
9
227
256
352
362
791
57
672
5
113
37
179
901
708
719
626
309
960
394
438
560
181
932
488
502
129
674
662
555
303
326
813
134
530
466
691
803
287
485
278
108
181
874
295
184
171
382
242
548
677
274
392
535
220
685
260
765
918
360
223
870
942
299
399
135
998
534
84
889
601
154
197
822
93
138
90
440
989
219
836
799
115
960
291
708
356
378
816
518
189
80
593
16
948
430
199
6
812
505
380
809
485
690
816
524
135
881
234
181
646
241
700
766
939
221
605
180
825
515
828
906
446
492
683
575
123
319
857
107
594
778
704
269
778
71
328
100
216
20
885
783
165
953
327
391
371
95
10
845
490
817
820
823
21
42
621
917
636
504
791
414
62
470
376
789
722
581
733
924
611
385
864
99
519
457
615
460
649
436
952
654
262
733
240
399
387
52
893
227
489
244
488
551
697
143
747
123
548
261
988
873
963
221
373
931
777
637
727
210
10
464
598
275
208
608
410
188
31
539
219
908
555
582
18
349
392
377
207
289
277
479
459
990
888
263
949
349
268
900
861
682
941
102
904
476
179
676
378
98
386
576
569
153
721
723
514
263
998
417
519
107
171
192
376
787
860
797
213
328
304
778
169
104
17
940
49
672
54
940
781
545
160
842
662
448
515
871
820
354
671
895
577
370
592
188
738
118
966
684
678
606
629
306
52
284
262
510
464
859
133
899
566
811
899
656
252
879
433
128
102
653
577
419
350
979
548
209
210
308
400
517
996
589
714
715
673
857
912
87
641
733
118
853
12
460
155
58
545
203
239
157
744
84
849
174
865
139
699
242
944
51
129
358
930
513
532
438
448
722
777
27
300
954
923
439
478
637
412
789
869
586
140
309
803
552
661
388
951
48
184
893
187
585
606
634
202
656
806
894
666
832
111
321
462
435
823
644
115
781
274
84
199
812
330
243
82
558
723
856
381
857
654
209
362
466
538
606
972
883
426
906
950
120
252
431
618
376
481
224
776
51
865
770
472
420
29
928
492
456
880
765
436
432
46
174
698
687
532
775
193
402
642
426
600
207
926
431
629
207
161
740
685
528
93
465
821
22
985
893
114
860
496
286
51
687
685
253
68
129
727
801
601
711
313
795
770
882
529
935
249
636
736
312
115
882
303
633
645
449
458
629
720
742
935
334
518
300
636
102
678
499
952
949
634
79
731
506
996
145
39
98
35
839
340
900
6
650
188
297
114
690
716
92
604
662
667
97
293
968
30
520
969
420
789
704
822
778
697
548
823
325
6
107
487
275
892
334
245
234
786
824
992
964
579
497
926
858
371
48
930
759
225
664
274
557
99
390
92
716
607
109
842
845
31
345
832
192
431
207
800
767
607
203
994
463
143
471
505
371
807
309
508
662
392
282
47
520
812
699
107
410
702
654
661
261
928
675
376
158
653
824
227
277
638
72
65
79
703
737
27
53
580
939
545
941
254
420
495
647
812
600
641
652
385
916
643
507
393
865
844
124
894
230
908
369
911
242
140
578
213
726
614
185
638
722
949
115
616
235
481
851
265
93
971
423
910
486
175
651
280
308
624
13
169
737
588
403
517
524
618
888
42
128
710
366
426
975
268
738
273
288
559
51
390
112
564
771
884
770
729
17
816
397
8
131
600
399
969
785
403
37
803
719
706
939
641
500
335
279
579
297
844
944
676
935
841
195
476
101
158
241
744
310
28
837
996
498
388
548
510
666
886
189
777
708
953
433
167
101
867
957
400
998
979
437
969
843
735
33
388
861
760
702
152
458
947
741
870
758
332
689
634
896
914
53
285
398
813
481
770
672
197
721
867
830
597
582
760
443
308
730
887
306
985
403
346
488
264
245
165
891
729
693
341
49
700
379
510
719
588
608
76
455
370
799
664
108
660
915
138
504
8
251
81
950
179
844
717
514
163
7
687
693
782
960
720
27
711
166
361
890
172
866
65
424
297
297
433
881
404
466
564
130
78
70
671
231
779
279
874
433
494
755
608
526
140
632
185
146
453
23
529
850
34
927
265
848
51
948
781
317
953
912
475
384
399
905
242
534
549
717
890
197
531
290
955
706
762
667
873
581
237
556
233
178
786
653
782
445
911
228
611
603
337
899
390
424
772
473
380
477
912
352
790
347
878
741
153
69
469
739
455
543
312
857
182
274
673
494
342
843
520
978
235
605
248
339
243
875
995
483
265
482
239
382
534
291
10
417
413
327
961
486
369
306
881
927
28
859
42
673
251
643
588
140
26
804
956
885
237
861
270
297
583
861
446
205
250
482
827
971
121
992
505
280
465
850
607
236
730
867
809
352
63
531
692
336
877
863
517
681
328
246
683
197
882
985
289
765
663
450
136
663
529
186
851
798
772
148
823
768
575
735
433
391
367
795
580
665
803
935
776
405
690
112
221
803
940
83
787
473
848
963
56
914
149
223
177
358
403
288
957
599
939
264
42
729
685
857
346
588
782
176
697
535
471
43
8
707
31
638
84
999
830
151
238
53
877
144
535
745
580
826
162
552
160
15
424
768
58
68
382
308
716
901
401
889
995
481
260
265
288
279
889
403
468
398
703
349
607
795
872
486
854
51
721
714
698
292
324
430
706
520
880
571
445
751
707
362
700
55
525
71
288
382
189
578
192
836
153
158
121
354
969
848
697
153
807
460
130
885
889
567
944
361
321
542
742
913
957
524
941
514
893
998
176
910
266
30
219
145
245
487
609
229
958
418
76
725
878
708
647
981
527
91
177
1000
781
461
371
362
235
273
759
246
778
25
18
918
440
798
701
499
208
498
223
541
899
809
381
104
283
452
330
381
898
345
850
434
685
996
362
109
352
447
760
880
593
648
583
924
729
963
127
22
702
508
731
650
921
287
833
299
773
171
542
919
275
579
755
312
994
26
989
444
351
708
557
581
754
479
336
208
329
890
913
546
523
680
105
435
394
629
158
582
424
175
786
90
811
229
469
515
76
288
726
659
694
851
538
31
817
995
215
598
332
519
597
786
946
235
903
881
225
18
176
639
444
214
873
593
133
773
804
802
168
501
56
71
971
432
562
511
127
744
308
455
65
910
554
143
491
164
678
566
606
923
147
456
915
5
313
307
87
443
259
114
22
275
615
442
367
503
323
121
683
176
566
656
949
845
777
956
863
123
25
297
194
365
685
562
831
674
437
747
966
959
719
648
268
459
174
272
895
908
694
310
924
117
464
433
152
842
534
748
397
543
504
800
105
110
313
599
734
235
934
271
213
78
412
490
813
462
769
905
827
874
8
556
502
268
395
937
695
532
938
95
71
907
738
395
627
196
272
330
446
502
156
950
656
583
759
619
317
754
18
45
839
470
669
78
191
181
382
172
926
300
612
448
868
580
369
573
941
474
83
576
116
352
3
557
448
510
762
615
804
708
256
954
79
935
744
278
402
250
723
709
990
216
231
304
1
856
661
684
247
406
447
727
637
999
576
332
97
261
696
119
161
745
619
100
348
374
218
773
801
727
872
345
851
577
244
830
611
265
881
328
258
202
630
46
449
442
807
640
888
878
972
925
918
602
607
8
946
547
756
673
624
970
571
686
613
242
60
706
85
829
452
102
26
356
920
936
752
396
894
447
364
996
266
339
713
874
549
837
30
762
790
711
162
567
430
144
721
769
626
174
410
484
711
173
20
496
88
229
830
508
985
333
418
346
948
445
997
666
267
742
955
742
207
1
185
931
299
617
770
465
931
149
764
279
122
718
636
567
212
626
943
447
394
950
255
930
532
936
641
269
361
440
499
304
661
883
272
892
913
988
885
327
996
799
470
203
128
47
434
1000
525
803
390
917
710
491
744
322
210
67
299
761
939
13
113
940
978
92
435
506
955
258
191
65
312
569
383
143
668
307
422
167
40
98
232
977
185
177
6
296
67
360
635
181
125
895
989
408
753
675
38
802
639
859
48
371
20
289
747
575
445
544
202
737
127
48
448
43
678
489
373
951
86
24
3
140
299
321
600
826
635
265
52
781
578
902
923
167
284
163
761
123
864
552
329
515
477
750
229
280
766
269
559
305
78
31
375
858
826
679
625
692
480
39
271
79
572
846
440
370
743
280
324
70
61
577
659
371
91
10
955
717
955
77
103
902
240
275
563
767
463
720
982
842
658
379
376
4
177
780
386
663
654
568
995
308
988
122
403
45
994
897
10
954
170
95
227
893
536
87
706
897
737
731
22
691
392
16
445
916
27
861
576
166
382
184
326
658
891
836
767
431
482
18
148
995
129
457
168
919
930
27
203
317
105
970
373
887
507
990
981
666
482
17
762
190
969
397
338
733
754
233
792
947
224
41
643
101
349
576
823
389
54
415
355
761
316
714
657
643
765
71
323
292
249
646
156
216
917
804
375
184
176
537
581
855
607
987
751
665
363
862
737
559
919
410
111
477
406
36
965
371
69
903
85
471
716
760
365
172
92
398
497
325
16
94
319
122
468
206
328
845
495
775
588
610
893
944
344
683
561
342
128
966
142
140
369
581
783
785
346
950
787
63
961
597
524
651
218
155
163
612
832
237
658
713
790
948
413
919
184
421
724
334
30
805
49
47
180
266
342
572
633
466
487
152
784
95
223
676
307
288
737
565
31
331
658
338
973
535
509
924
649
960
623
443
203
745
831
129
460
707
536
435
367
678
948
373
757
874
17
908
655
333
944
170
913
291
281
125
759
831
132
270
202
480
260
822
946
767
183
341
338
276
864
279
488
803
494
198
198
379
954
325
230
502
601
433
920
5
672
873
318
808
913
904
539
878
378
719
630
484
904
697
607
475
418
82
256
914
780
265
199
903
895
429
183
442
475
722
640
683
493
925
234
775
909
37
277
429
470
931
107
333
813
523
353
229
262
292
932
151
122
48
579
91
920
808
834
633
36
612
508
337
442
89
380
653
283
130
951
486
867
820
424
894
87
701
399
503
448
413
36
978
352
128
635
476
342
341
983
629
611
263
98
545
837
896
586
490
625
662
246
287
341
229
909
6
485
618
627
685
683
845
957
744
486
750
792
971
144
574
848
983
874
623
867
436
96
928
54
961
321
745
162
455
107
832
279
240
715
78
31
355
123
673
470
917
198
394
733
550
463
966
677
319
305
569
327
274
549
781
250
374
992
393
488
816
634
810
810
872
348
918
806
634
720
142
437
394
910
579
214
755
501
100
4
742
208
285
129
904
810
615
346
67
826
845
51
406
742
559
773
499
966
295
818
79
847
890
11
978
181
983
346
457
850
231
451
347
294
491
554
759
652
705
227
87
690
658
775
717
8
483
674
171
585
244
70
48
831
658
238
805
304
869
35
605
383
169
677
599
439
239
690
36
298
370
664
381
125
831
961
80
69
944
246
163
283
940
76
454
572
215
782
337
211
246
660
298
856
659
984
192
907
523
908
768
315
701
392
216
713
696
746
97
673
613
149
838
356
167
412
694
889
697
140
848
744
700
60
323
863
462
748
431
6
718
349
3
393
74
537
733
707
734
322
109
590
132
24
592
305
315
644
93
222
75
642
24
619
140
217
183
691
818
675
783
398
980
478
913
414
979
964
651
746
578
727
168
281
374
887
893
611
495
452
80
898
699
604
428
593
66
764
964
595
515
823
30
287
880
655
828
779
535
352
568
737
665
268
846
279
690
323
319
48
75
315
738
774
245
878
816
913
732
104
424
127
967
711
971
248
368
188
123
647
77
348
574
850
954
970
94
407
847
240
409
320
348
506
872
808
281
275
665
19
539
414
101
744
459
992
614
925
426
1
67
900
499
511
719
81
618
517
609
259
152
994
987
742
837
160
478
998
169
63
792
554
589
128
314
93
463
908
262
794
144
631
699
684
450
485
848
480
647
103
687
620
5
793
167
978
91
864
144
370
960
233
230
891
158
255
415
697
827
181
657
895
107
951
694
886
155
927
351
224
819
110
232
205
695
818
700
262
898
19
855
587
526
696
832
554
553
124
518
901
444
74
542
664
305
85
943
895
298
890
773
29
391
339
862
155
201
177
409
751
693
966
990
347
110
805
315
950
857
757
614
28
128
339
500
27
240
623
282
848
459
343
273
253
756
71
850
548
145
963
144
326
718
494
454
645
689
112
918
691
118
517
948
148
537
92
194
917
671
187
463
845
207
341
330
186
175
936
301
827
857
301
913
79
752
465
433
426
166
13
824
950
407
848
45
414
998
79
181
375
642
31
214
62
311
528
267
271
997
850
676
27
864
982
29
462
100
383
405
957
484
2
68
249
625
626
177
555
729
76
373
623
297
92
163
120
941
81
209
816
940
941
1000
313
63
444
852
124
432
537
254
18
832
611
377
275
658
105
298
54
70
485
24
565
643
596
277
80
276
167
563
400
619
755
334
804
72
745
742
322
433
953
786
178
79
754
604
946
660
407
983
758
998
762
578
74
495
991
464
252
400
93
640
390
538
635
653
220
139
491
504
429
191
569
118
954
405
317
418
956
336
328
765
806
406
340
713
158
163
693
52
257
172
761
950
172
503
757
39
457
20
665
19
301
280
191
727
503
110
116
361
836
36
396
384
146
786
429
640
956
626
538
22
717
332
439
486
370
351
350
69
509
459
739
182
15
140
460
595
266
124
922
275
226
611
661
566
323
48
534
686
679
166
954
987
835
734
444
397
420
248
762
192
439
752
415
360
397
471
749
999
985
24
724
239
311
308
738
928
380
730
890
84
856
407
964
157
819
693
961
859
239
594
212
715
161
679
261
608
580
268
567
325
846
191
758
550
136
768
792
217
319
161
604
243
786
828
748
466
510
878
278
558
493
558
127
681
219
174
226
111
897
395
861
914
238
649
153
83
786
162
589
499
79
270
931
877
170
841
396
572
862
274
922
323
967
593
887
877
785
93
54
225
832
266
756
900
364
506
995
636
271
489
331
804
162
457
967
874
737
624
978
485
622
392
95
154
195
895
709
899
515
490
282
503
131
882
778
8
837
987
184
338
868
517
33
201
90
774
148
964
607
432
48
277
164
967
689
267
239
765
610
35
184
720
228
356
952
218
449
240
292
475
337
940
981
669
552
427
857
911
377
940
961
479
936
713
398
114
311
142
812
514
720
830
452
781
637
231
209
601
748
522
728
341
535
427
681
544
480
284
456
638
222
152
738
581
858
276
862
765
3
39
288
420
304
638
691
754
828
355
939
81
534
335
810
204
906
425
921
881
500
117
71
84
82
465
133
767
641
878
533
310
909
483
656
372
545
430
974
729
277
525
997
540
824
281
144
772
106
882
958
236
920
650
830
754
201
195
758
346
93
589
911
923
867
112
255
561
119
686
262
815
327
324
219
338
454
890
347
4
18
395
546
298
293
157
873
240
352
753
916
497
530
798
892
950
492
889
779
901
775
82
247
493
190
203
762
519
310
273
870
288
338
108
328
862
723
909
511
861
332
27
838
30
27
617
134
67
704
256
759
480
134
108
510
20
356
932
478
75
393
609
208
603
515
604
755
472
525
910
845
192
319
157
164
175
567
522
368
267
126
784
26
473
602
719
951
360
152
133
918
291
814
235
835
819
883
453
590
790
109
52
558
938
394
806
918
649
707
995
872
460
27
806
915
130
974
770
592
544
22
897
914
866
404
563
982
93
247
659
63
208
55
180
175
899
178
671
437
311
289
338
436
206
200
942
830
241
14
598
451
745
973
69
219
906
721
997
822
16
903
843
677
397
274
446
72
774
652
212
111
103
702
691
658
687
925
434
106
394
366
115
248
648
946
369
289
373
244
519
558
78
533
740
305
470
507
902
365
44
888
808
121
826
824
605
78
457
176
121
641
859
409
815
13
504
289
308
880
820
314
767
301
800
295
335
196
732
324
141
979
481
212
99
842
331
115
492
916
206
959
728
960
870
745
453
400
587
941
657
978
601
453
229
894
390
567
770
497
451
485
845
935
970
815
105
578
629
411
409
866
814
967
563
306
702
676
560
551
326
378
416
307
125
958
319
990
99
140
74
226
707
991
846
584
344
485
200
788
931
843
227
318
627
799
207
336
604
480
9
896
844
3
190
270
384
609
634
397
27
850
33
890
97
423
813
656
491
91
179
673
603
424
387
412
852
83
376
43
949
97
725
459
365
28
956
640
730
702
671
699
632
642
933
384
903
67
860
205
555
878
78
307
393
303
189
199
249
330
796
248
117
518
105
754
383
304
207
222
748
782
432
407
815
578
540
257
343
181
658
317
826
936
453
548
1
888
485
932
177
456
33
282
715
603
182
284
574
124
530
256
17
859
447
363
518
88
196
434
567
170
415
488
867
506
988
296
429
735
887
180
626
597
665
654
573
206
954
653
709
709
886
711
723
742
860
187
705
239
389
529
197
590
578
794
277
242
28
758
426
154
681
847
217
734
783
843
651
939
4
588
917
856
305
502
689
590
443
397
967
711
603
950
410
991
982
51
230
94
792
252
836
451
179
311
489
434
745
406
965
668
449
337
301
587
451
777
21
226
763
555
320
931
639
614
665
137
87
68
600
960
208
78
125
326
168
894
681
782
750
741
507
903
81
151
148
656
953
31
137
360
776
197
550
824
346
269
622
75
856
451
317
494
577
322
263
416
454
997
144
98
807
14
791
82
517
407
983
245
570
891
790
981
201
146
169
501
305
58
94
115
381
644
965
291
59
333
25
263
70
881
441
507
200
975
292
141
1
555
472
166
470
418
754
599
972
659
815
795
309
933
565
114
896
214
650
613
385
815
242
553
527
578
63
733
220
43
626
690
6
544
327
30
330
315
928
590
641
203
387
970
197
326
782
216
88
628
757
834
238
416
804
865
987
428
29
332
221
263
891
76
470
443
810
70
968
211
474
775
574
575
953
577
238
86
475
474
477
737
522
518
477
19
375
173
194
531
829
712
57
908
785
180
485
307
468
305
226
775
314
868
960
760
504
895
473
491
774
868
78
146
315
103
797
589
204
727
3
739
572
516
532
595
156
416
696
284
240
586
903
410
985
162
820
71
363
364
588
805
573
633
688
637
767
584
653
365
836
850
469
921
710
442
558
25
566
93
692
821
183
333
447
860
511
646
899
928
911
597
350
315
422
222
329
285
150
936
675
467
864
974
719
915
88
447
378
278
537
369
15
390
175
444
365
267
992
584
632
279
581
980
706
456
673
138
801
96
395
534
399
453
67
473
374
336
649
421
176
791
528
475
255
928
134
96
766
405
211
562
857
66
453
577
363
559
252
506
425
576
196
701
251
609
607
755
506
80
290
293
331
61
412
147
793
429
604
539
441
528
866
946
659
550
132
290
646
99
913
206
26
405
188
64
723
147
510
43
962
950
989
955
949
906
139
863
622
17
907
244
261
917
340
877
12
371
420
587
185
537
358
801
511
44
815
964
190
411
305
333
602
76
199
10
439
741
484
312
570
101
684
257
849
526
908
559
522
55
888
667
935
339
477
746
74
295
674
322
881
490
892
88
732
124
190
142
775
842
27
975
19
998
335
854
191
784
869
449
223
623
285
239
849
108
809
623
757
781
689
611
341
378
212
836
417
198
643
442
771
523
342
532
418
88
249
455
678
266
193
308
419
637
729
766
861
700
353
155
750
795
762
382
683
413
513
919
355
345
773
643
399
833
515
509
190
722
488
145
926
881
826
170
149
46
603
781
748
38
926
555
704
463
702
415
891
708
621
331
624
815
981
400
984
124
34
634
983
584
268
589
677
230
87
193
689
846
986
408
380
409
542
604
442
804
131
831
946
541
428
117
274
176
281
952
203
897
609
648
219
282
682
310
502
429
56
20
387
592
349
314
255
448
917
590
99
245
555
695
527
650
452
458
965
30
588
561
922
420
462
901
966
432
376
353
187
458
954
280
775
831
57
770
23
293
321
509
530
853
608
47
343
786
181
47
902
658
926
433
473
471
942
73
369
993
431
992
164
283
469
148
196
586
891
648
71
73
51
757
791
357
915
847
52
653
228
779
671
911
368
85
292
67
196
164
866
404
937
157
711
353
892
181
829
736
461
4
86
324
65
905
747
960
887
980
686
446
438
111
946
951
293
340
962
685
918
465
277
677
652
72
436
8
994
841
622
130
781
160
371
975
845
756
613
534
47
79
670
808
321
935
653
388
185
377
982
816
745
253
389
616
82
706
303
207
437
128
274
654
653
230
578
319
966
92
153
757
441
945
217
134
746
835
93
944
43
467
990
462
763
606
327
909
620
524
126
600
881
34
951
887
937
977
439
822
874
747
732
794
565
277
515
926
827
572
739
984
728
745
216
47
439
564
34
58
395
178
341
906
576
116
865
294
797
266
624
433
91
631
831
222
992
88
832
774
233
390
320
689
389
877
194
260
705
760
426
322
250
445
827
542
107
307
476
641
424
922
528
668
743
107
844
103
368
298
155
707
361
876
515
577
414
63
970
374
512
6
814
774
400
680
729
145
766
664
987
339
821
345
851
139
852
374
531
40
289
222
518
971
578
35
154
165
908
101
364
495
401
129
11
152
33
298
441
112
984
934
996
538
153
386
735
3
944
846
209
484
755
102
57
837
542
173
576
189
638
510
236
148
531
645
980
171
97
202
832
259
496
396
607
988
682
716
846
261
837
321
597
63
72
642
163
61
748
719
816
140
205
960
633
241
130
171
876
818
552
629
970
891
576
770
777
445
443
401
85
819
962
687
562
909
968
61
936
749
423
118
814
330
163
8
12
611
411
839
875
943
148
290
819
204
828
377
897
302
701
641
930
106
462
896
923
523
294
809
657
326
637
720
576
852
591
141
548
475
796
311
138
232
5
567
318
463
134
7
622
987
576
984
981
362
915
606
621
345
627
79
452
185
425
277
709
92
6
467
800
843
262
861
423
783
876
637
225
467
797
24
199
229
158
278
55
99
445
948
149
375
969
590
553
246
298
648
693
262
741
498
113
457
183
180
998
781
424
549
99
574
128
267
63
358
689
331
428
501
747
437
800
186
80
574
211
510
437
377
444
540
357
945
225
238
134
780
640
989
170
253
284
834
654
568
401
672
486
896
957
244
1
139
966
93
247
346
320
622
15
626
98
139
194
661
258
991
246
124
726
622
820
648
413
661
942
374
852
995
184
139
12
830
716
60
452
899
191
210
892
210
996
177
922
539
565
804
557
81
347
43
545
585
901
364
219
415
529
446
222
406
410
347
893
660
343
715
662
75
168
368
281
901
775
89
617
270
117
423
774
244
796
729
537
783
723
82
804
990
882
276
708
170
291
50
199
493
879
417
668
762
905
637
954
958
98
796
613
351
178
232
924
878
705
703
654
78
437
949
270
902
714
583
101
621
894
313
256
775
936
855
283
469
199
788
416
739
459
977
901
578
168
462
931
908
879
517
636
140
780
551
414
636
483
851
703
753
621
226
984
31
247
436
335
801
58
937
90
137
444
251
358
991
682
535
303
230
332
828
675
153
379
908
25
52
517
706
3
262
182
629
816
216
682
961
445
809
189
687
170
437
514
823
571
134
357
174
822
656
746
98
780
14
593
370
412
444
28
603
339
306
934
136
347
399
304
45
564
234
292
783
722
486
760
723
444
206
564
536
70
15
893
243
802
297
642
951
36
823
290
815
980
35
63
269
989
880
113
531
762
909
499
598
787
701
701
427
715
238
115
637
408
815
845
92
503
27
481
447
359
567
475
330
41
531
614
742
407
701
959
350
604
546
744
143
80
176
873
75
59
366
461
632
157
581
944
653
562
61
984
944
413
293
854
404
448
249
418
435
604
578
310
651
245
894
111
604
180
501
139
143
714
494
77
441
587
505
232
441
382
297
869
625
298
406
999
875
439
178
405
143
862
751
323
876
966
785
664
655
613
516
292
716
174
805
795
522
598
766
722
168
796
187
568
894
84
452
985
394
303
752
215
188
387
184
910
305
627
328
269
278
112
375
651
902
163
305
151
421
78
585
135
9
990
667
799
444
405
973
396
143
237
6
163
966
615
592
779
607
763
825
356
496
905
540
148
685
198
194
645
931
263
40
696
619
413
634
107
802
605
780
592
301
157
647
667
105
549
338
294
297
675
902
347
899
435
319
954
413
19
97
41
784
181
695
133
286
786
624
781
62
706
325
563
911
486
516
689
533
851
644
120
912
903
659
907
18
492
367
618
130
78
343
200
649
360
277
99
754
144
973
828
202
382
153
286
90
116
37
6
683
998
570
95
330
648
809
620
815
744
483
452
232
816
558
507
85
649
256
186
723
835
814
929
149
330
832
821
69
220
798
761
852
989
813
156
53
401
34
407
503
591
671
685
120
280
485
949
505
894
865
730
553
138
42
210
363
271
191
548
93
403
825
152
937
633
228
915
605
931
957
198
94
923
703
598
672
968
560
280
299
258
747
831
399
693
199
16
239
997
260
249
187
461
409
916
504
272
212
974
926
976
559
743
930
813
371
376
496
46
982
286
666
659
735
121
729
834
176
472
686
502
868
474
523
251
694
315
491
3
80
498
108
78
445
889
292
486
845
529
698
709
512
787
763
805
770
668
175
871
510
350
688
953
19
20
360
377
905
29
510
984
276
279
496
134
73
159
902
762
183
364
885
83
388
428
670
908
296
587
260
645
957
297
159
63
30
481
650
693
201
567
86
321
93
709
517
686
104
114
264
645
290
338
977
147
64
467
474
481
506
845
156
255
265
893
960
29
990
433
115
971
686
548
866
954
719
394
17
922
304
698
668
683
208
35
412
642
16
368
678
299
763
473
470
821
493
897
136
64
13
97
175
317
21
856
859
79
516
79
653
575
994
875
189
770
112
482
871
354
444
507
262
904
946
506
888
409
682
706
431
258
148
797
243
114
144
627
260
174
34
628
519
960
416
787
591
950
901
245
453
379
500
429
39
454
616
173
985
733
686
935
514
460
504
614
602
433
617
645
971
867
717
881
300
998
619
343
444
339
118
936
727
99
930
237
81
468
13
814
282
394
257
361
39
194
593
812
666
296
467
166
187
197
890
725
780
948
123
525
860
910
721
765
76
99
138
328
52
256
491
361
124
871
191
362
68
321
513
797
526
450
383
983
226
906
824
428
754
313
164
123
28
764
245
55
344
388
754
754
236
784
529
314
230
60
704
88
777
566
783
976
974
132
167
640
418
707
153
786
740
607
516
83
332
661
705
256
459
671
34
764
888
983
682
22
901
213
303
496
930
831
392
43
139
982
900
882
51
29
473
125
468
950
259
755
333
231
997
632
866
440
925
137
576
965
55
34
952
582
688
940
660
78
266
659
811
113
201
906
997
188
258
988
784
457
557
139
361
337
994
246
700
639
227
189
480
770
729
367
62
589
628
806
644
806
946
731
964
238
737
732
371
229
730
409
109
613
471
512
860
670
36
177
526
369
951
514
639
864
345
167
226
244
232
925
691
560
808
708
549
894
132
663
99
179
885
587
22
327
632
59
303
837
881
396
396
281
935
21
14
945
851
83
722
744
322
681
569
415
947
478
260
892
748
360
296
176
728
860
134
988
176
209
486
512
266
189
753
217
954
890
146
466
946
262
781
592
351
299
155
317
524
661
163
203
47
720
88
229
160
1
846
394
162
343
423
973
429
228
809
969
131
248
436
255
756
355
657
524
540
897
870
72
785
327
24
243
308
406
100
423
319
979
94
761
400
266
673
349
393
498
212
884
505
326
183
975
272
923
661
209
247
304
880
401
666
109
628
83
508
726
495
174
476
751
655
661
231
301
848
228
715
182
806
207
6
76
124
151
977
254
251
357
797
675
655
433
571
467
726
347
588
218
831
542
900
419
883
857
794
858
104
735
528
564
634
696
609
1000
964
527
696
785
759
437
632
534
123
870
250
839
78
242
659
91
973
992
925
106
800
999
126
659
415
464
519
892
547
376
473
802
457
330
625
149
474
517
201
108
407
321
994
571
77
731
901
991
370
61
2
843
535
152
34
208
894
505
423
469
579
319
996
818
35
721
170
724
879
593
167
909
305
181
804
410
275
285
962
858
732
602
814
549
301
708
702
25
745
143
748
203
870
531
973
969
51
561
130
95
95
851
706
985
381
528
38
801
331
800
478
9
230
680
740
226
8
61
867
366
710
449
741
59
878
836
981
990
987
556
950
431
612
895
731
984
715
619
646
25
878
163
127
662
519
4
550
862
51
990
211
81
153
391
762
781
986
685
752
606
423
923
821
392
164
485
685
895
781
665
307
62
628
538
341
661
864
342
641
126
63
530
733
615
302
196
996
786
334
75
309
367
815
620
118
46
463
370
656
388
41
473
596
794
879
513
495
215
567
377
599
751
194
999
111
643
288
232
447
193
223
290
985
999
138
151
509
742
727
978
80
707
501
682
251
915
802
629
324
329
157
708
57
717
443
907
76
831
456
198
291
672
945
503
676
579
660
900
695
288
946
470
623
325
898
491
109
622
7
207
297
512
136
488
119
47
349
33
71
150
72
53
771
687
680
574
471
936
283
922
858
638
394
744
213
493
351
11
160
334
884
674
306
36
102
257
892
414
417
496
695
952
783
406
937
427
862
891
1
985
510
930
805
37
695
898
620
957
863
611
924
562
907
928
936
627
970
162
962
987
923
764
338
225
949
464
973
807
32
507
799
47
879
988
666
506
559
813
327
359
489
88
111
570
892
49
972
491
122
364
126
81
641
418
731
870
191
136
107
986
256
66
402
752
284
443
786
877
343
790
538
821
327
792
237
949
145
872
611
985
230
481
706
991
852
581
441
180
837
378
51
992
777
341
40
674
67
747
603
128
651
823
753
542
249
8
52
5
118
217
245
312
448
871
773
168
414
702
443
853
133
793
859
665
959
994
204
105
532
639
736
963
863
929
422
247
531
355
774
723
294
815
591
90
240
287
949
296
389
382
863
102
615
209
652
838
821
801
65
418
957
667
247
699
832
785
499
515
838
127
602
726
684
132
988
201
588
545
920
785
222
321
832
881
204
294
330
128
835
751
971
261
241
134
726
542
904
879
979
752
453
495
235
734
630
657
346
856
797
341
950
693
330
896
30
528
25
88
136
961
67
201
205
104
917
401
587
690
845
232
91
717
651
947
875
15
212
695
418
310
466
652
716
854
720
456
225
327
327
256
976
403
644
690
309
40
886
433
806
783
52
581
924
380
226
743
905
308
531
748
760
430
293
348
195
445
24
173
280
79
415
133
168
467
725
154
189
49
375
971
594
663
142
551
919
558
206
943
845
44
807
162
232
13
250
650
660
596
985
734
883
313
472
31
296
799
443
324
533
338
894
59
924
261
280
643
267
549
785
568
799
157
199
872
470
164
203
507
816
118
257
578
748
7
933
720
992
577
124
233
256
114
643
934
948
9
638
310
476
154
683
541
482
955
350
858
345
946
769
867
270
682
576
314
954
877
577
136
453
713
845
324
154
66
915
546
462
531
712
740
349
692
818
965
453
499
763
863
542
469
571
861
872
889
399
1000
284
835
240
712
17
876
539
876
54
210
664
682
247
7
943
414
486
992
659
624
765
105
66
699
998
147
105
274
162
870
731
882
871
773
289
168
139
655
816
788
997
622
758
823
358
513
937
884
496
144
117
663
340
624
734
112
728
869
785
902
962
49
928
446
718
925
524
993
281
491
265
79
525
216
419
352
942
546
707
815
6
984
254
562
295
297
971
945
685
497
370
195
494
349
296
897
947
429
779
763
113
1
599
937
972
816
813
191
559
480
806
402
814
618
70
31
74
587
209
582
991
221
631
673
881
84
802
260
935
1
248
843
748
82
209
441
672
232
453
607
27
202
61
767
166
854
556
2
83
967
755
124
865
331
662
416
352
911
872
842
588
983
275
340
709
815
56
203
280
6
401
39
187
340
689
325
181
894
620
958
908
715
346
289
781
190
851
102
89
715
543
232
785
507
373
38
420
719
590
860
692
235
126
891
82
267
481
251
961
90
841
467
898
633
866
701
422
71
662
78
634
883
860
537
135
708
765
960
603
374
53
722
545
508
790
995
790
347
15
365
533
133
285
123
457
597
434
142
856
211
623
616
540
656
854
506
701
544
979
591
357
459
987
450
575
429
796
941
453
571
468
894
699
145
915
121
182
810
489
340
750
203
574
233
364
564
829
454
913
435
618
382
219
482
784
549
129
437
718
645
577
107
865
70
257
210
537
305
745
901
963
499
9
582
78
245
644
137
287
217
917
52
185
691
990
668
176
529
620
174
668
359
327
873
121
923
861
507
217
719
598
709
674
805
464
261
235
183
72
938
588
942
927
856
566
949
392
547
193
834
96
573
636
549
850
922
816
219
649
839
360
150
773
900
224
180
446
701
830
710
990
779
861
246
283
988
523
527
39
765
92
313
535
560
567
52
729
538
669
305
278
292
629
133
407
341
287
246
636
495
295
390
961
136
6
982
777
865
507
686
971
716
660
493
381
891
593
577
747
881
336
481
284
651
400
122
771
12
38
970
947
861
537
345
119
836
518
12
247
270
945
44
647
997
109
448
49
388
715
826
409
483
964
864
978
54
944
451
214
84
34
65
888
768
145
968
298
75
542
737
221
674
936
402
124
12
637
644
411
670
134
3
659
742
234
68
804
682
455
576
944
452
301
512
86
522
433
747
260
556
32
771
61
798
336
517
26
782
934
265
476
762
481
136
911
1000
255
354
937
807
243
481
605
328
288
241
772
546
575
569
343
790
407
692
181
304
711
630
521
737
761
118
321
204
18
437
698
655
332
890
632
34
672
673
696
647
706
472
681
987
248
896
92
726
82
482
686
752
19
24
348
366
289
433
65
144
392
915
211
258
740
106
748
427
614
213
724
174
120
145
649
513
463
964
695
763
39
990
397
559
263
283
942
359
983
452
612
350
944
793
133
636
787
578
483
814
423
820
457
927
832
53
851
561
144
480
966
701
797
296
653
949
791
941
384
906
459
576
910
745
979
329
816
533
274
385
648
649
685
866
161
732
651
826
23
276
836
699
988
140
552
735
193
944
743
490
753
402
229
899
777
353
763
114
114
994
483
38
561
758
536
965
788
235
439
278
646
282
62
629
979
565
457
931
42
694
436
276
431
998
510
250
565
963
427
471
927
857
372
502
957
653
383
772
834
521
857
464
606
54
135
612
703
128
693
294
169
764
888
571
769
860
479
77
105
82
27
494
242
349
831
502
66
777
692
990
58
547
351
324
663
290
376
104
504
107
874
905
262
855
836
717
459
341
881
352
795
248
523
508
742
990
575
452
923
317
433
830
9
128
580
671
244
966
970
305
854
366
972
223
662
169
395
421
960
122
61
617
489
219
822
817
227
349
132
417
682
483
392
33
537
449
862
351
395
594
359
921
509
444
616
533
971
543
708
342
611
184
718
694
853
275
837
525
246
259
988
770
67
135
713
396
448
142
981
691
965
713
850
422
660
405
246
704
459
74
425
330
956
901
616
822
969
803
576
35
209
684
47
235
473
292
371
410
380
137
685
79
755
886
470
230
865
337
792
864
960
202
853
109
590
713
813
95
244
937
612
889
248
250
135
959
545
199
878
619
536
978
648
180
952
725
444
90
941
806
897
216
374
808
561
721
971
176
484
577
209
429
153
68
487
511
449
158
272
93
740
700
642
214
760
423
297
578
314
5
948
243
831
757
131
716
91
933
719
805
873
994
979
857
688
303
297
557
530
56
683
788
595
50
853
437
951
875
128
449
547
916
812
864
685
47
788
67
469
852
440
603
547
403
161
595
824
609
121
245
619
828
947
82
149
36
33
303
301
289
62
523
44
633
689
350
60
881
335
540
493
618
888
685
958
489
901
811
74
77
872
280
244
611
613
452
529
906
695
364
675
648
511
215
122
652
225
762
615
918
915
851
874
634
844
104
243
112
658
28
276
897
491
490
171
727
929
350
757
790
526
601
631
558
985
288
437
832
711
144
867
132
276
143
1000
147
928
943
493
917
224
895
901
430
723
1000
884
179
165
667
9
166
929
326
247
862
286
912
707
895
295
136
334
500
763
386
751
598
662
245
93
445
11
690
756
690
733
377
150
655
276
233
25
118
277
135
69
626
317
60
136
725
20
722
226
115
337
230
268
757
453
645
371
97
871
834
150
925
39
466
894
856
232
758
574
394
262
744
891
323
546
814
584
367
775
49
156
263
320
308
198
931
106
27
817
137
357
182
712
94
207
558
790
818
58
338
46
383
953
411
891
89
774
718
647
525
56
558
327
3
403
236
380
612
417
484
545
324
34
114
153
741
727
148
442
779
183
516
654
864
202
642
311
228
284
508
237
922
397
431
76
784
898
262
30
785
687
803
106
927
832
833
168
246
880
587
245
123
974
648
632
345
423
226
64
318
432
610
987
252
546
821
883
822
591
566
815
718
783
198
63
141
210
372
76
730
392
513
103
914
207
977
334
431
492
991
894
564
637
608
25
981
805
461
893
456
867
990
187
284
171
3
663
681
169
624
995
316
834
646
61
571
175
152
824
316
414
746
118
191
90
987
303
995
653
643
875
90
659
125
78
326
834
947
174
218
707
842
437
595
225
836
481
333
29
514
234
692
795
323
782
189
665
650
723
554
942
843
134
570
627
705
773
743
56
529
164
90
977
696
814
725
181
283
172
920
581
858
634
460
429
776
561
798
713
974
819
682
666
646
813
862
498
942
156
149
149
66
573
280
40
492
726
570
296
383
712
172
640
824
301
204
166
672
870
500
232
262
509
855
610
84
45
339
498
242
900
403
170
250
252
496
792
906
290
720
868
5
480
441
672
180
174
424
47
719
48
133
714
748
781
599
349
174
593
244
933
336
910
229
668
278
433
203
363
262
653
953
509
774
288
194
419
373
615
271
513
178
323
610
672
551
538
812
562
638
284
733
763
968
869
859
446
557
983
334
794
542
652
633
270
391
789
113
785
780
652
191
388
748
464
501
14
416
801
35
306
481
766
782
618
142
362
420
359
156
567
291
381
351
291
72
314
629
346
74
678
623
495
153
533
832
448
260
353
690
106
958
101
729
110
519
83
252
171
387
422
795
66
635
487
248
958
430
257
815
83
871
900
281
177
702
32
573
992
937
123
956
170
526
298
24
941
639
600
217
398
634
674
129
570
483
227
373
325
481
52
548
157
363
269
430
368
747
447
589
739
880
986
645
283
448
263
716
680
669
789
591
328
83
713
507
222
132
973
969
13
238
453
587
644
105
903
794
537
393
174
814
738
130
664
466
703
905
894
389
812
786
467
204
450
319
24
490
588
702
532
45
822
558
523
466
79
971
401
451
452
895
220
106
554
390
249
954
901
443
531
533
863
4
261
281
920
999
827
920
916
993
392
374
239
614
84
786
742
342
147
28
125
959
244
133
967
174
777
203
52
697
153
49
242
29
974
374
531
911
50
958
114
553
927
152
557
994
946
331
26
496
968
375
823
13
492
199
203
35
666
823
456
95
140
618
351
612
973
767
129
676
152
526
85
42
801
570
71
874
379
185
546
958
924
740
572
912
740
353
189
922
332
939
978
1
752
337
878
504
502
178
905
139
191
442
744
109
783
895
845
871
143
485
859
340
588
435
652
701
752
996
798
397
333
416
202
190
326
67
416
482
521
345
160
917
746
206
89
87
349
501
58
685
624
510
889
501
323
590
188
805
261
407
628
929
705
241
990
528
158
956
270
358
959
561
100
839
971
849
872
900
248
78
47
921
639
734
494
423
254
316
117
488
475
419
421
841
77
607
301
886
466
525
380
623
933
26
292
454
633
69
693
458
934
585
972
464
945
998
745
884
638
93
923
422
333
896
641
247
525
393
575
397
993
667
342
499
993
312
654
527
72
320
15
206
633
899
239
805
423
488
705
979
488
829
577
946
814
905
383
269
591
571
319
75
827
218
314
68
671
478
652
276
575
886
921
812
329
637
946
898
240
76
982
82
404
280
377
799
852
23
836
778
387
116
419
120
331
310
907
414
456
126
681
135
54
394
300
169
639
587
1000
719
735
6
518
564
236
755
970
751
934
807
960
282
193
194
178
505
723
157
52
446
412
417
691
806
368
795
813
324
565
781
423
765
702
629
649
282
773
805
179
858
903
203
438
669
114
597
68
81
319
710
206
376
545
13
705
59
597
453
970
303
442
306
468
751
223
464
221
168
549
944
94
742
202
853
100
375
587
680
607
602
390
432
998
579
253
903
347
316
269
539
588
336
750
282
590
920
340
14
257
256
443
306
306
200
322
385
335
845
771
929
389
885
707
499
201
688
721
35
579
121
514
75
631
322
102
268
297
819
419
448
12
649
411
549
495
243
177
95
694
707
595
267
55
925
81
91
749
844
600
901
689
484
824
182
156
918
580
450
27
785
826
376
583
525
783
391
465
513
643
970
138
478
185
363
499
612
703
1
17
620
499
424
138
745
534
117
391
311
406
903
834
627
41
221
78
398
522
710
248
819
589
741
626
157
206
890
90
180
711
805
675
379
923
339
636
514
75
87
77
476
619
564
852
248
125
217
363
360
571
859
686
734
89
751
777
976
514
593
977
352
472
278
175
434
873
27
803
349
220
897
122
857
62
247
898
116
216
601
230
957
541
728
164
746
910
734
13
598
317
855
465
700
555
75
36
577
786
298
233
309
94
129
373
776
193
906
473
584
972
621
387
866
913
246
781
913
739
178
228
621
185
230
457
988
860
526
996
994
259
572
184
880
459
582
951
104
477
739
237
325
455
201
546
654
510
823
923
95
864
479
636
304
470
800
399
906
678
312
329
244
765
375
809
870
718
811
732
810
237
39
428
943
971
807
853
97
155
668
1000
652
463
838
817
220
746
373
249
655
782
312
288
184
324
562
229
493
158
948
163
981
961
213
998
6
50
32
595
225
252
311
450
814
662
855
881
262
947
374
698
728
95
139
14
337
868
944
996
285
571
143
110
114
137
813
414
220
497
138
508
348
280
762
569
418
62
536
912
543
195
785
607
330
894
397
335
810
991
598
19
358
104
936
410
797
318
232
849
786
263
500
407
579
182
976
92
889
825
201
660
570
453
276
951
199
865
862
979
917
704
622
396
344
931
801
858
971
197
504
536
470
82
819
897
901
126
533
983
939
635
395
188
117
612
104
919
762
715
905
287
6
833
506
676
903
931
775
57
764
78
887
169
591
62
196
2
140
896
567
400
628
64
872
994
9
172
665
185
49
980
382
300
438
561
365
395
437
692
500
256
396
22
269
484
615
484
697
188
624
165
539
783
32
770
327
172
245
829
713
739
109
734
38
189
725
75
458
184
6
126
518
307
448
34
593
32
604
497
997
429
244
791
980
995
85
548
822
269
760
574
723
146
766
176
87
515
718
707
410
462
268
513
801
402
147
193
755
609
547
651
599
321
233
124
250
369
109
245
79
845
677
907
765
690
231
587
314
953
711
185
100
832
160
846
718
845
465
933
776
555
318
466
995
303
399
902
93
741
283
188
838
911
820
436
227
564
896
20
197
384
255
468
522
331
416
118
810
342
99
875
618
90
799
166
323
578
552
1
731
489
796
204
966
186
921
348
932
195
331
535
605
349
241
798
640
837
635
282
182
593
351
644
98
857
907
286
184
706
783
875
723
284
720
137
322
248
126
44
598
914
321
412
783
908
450
825
328
811
131
345
598
483
626
520
76
256
738
222
598
832
96
534
886
643
867
925
418
162
71
265
314
657
989
546
376
330
799
979
752
817
364
809
16
634
635
892
86
907
98
125
517
219
395
133
821
96
782
976
724
445
15
475
798
609
490
534
655
471
986
349
107
13
681
732
390
703
389
563
90
387
789
246
255
5
705
688
262
984
361
23
700
126
374
239
285
321
851
34
841
793
824
622
535
345
665
801
694
441
304
245
32
481
577
809
604
668
794
339
779
722
757
857
691
241
609
691
782
880
437
81
968
284
623
210
9
246
187
365
218
928
874
602
555
424
919
781
932
432
893
737
416
448
558
568
751
692
871
551
898
316
543
400
77
503
418
676
200
222
778
882
969
629
603
358
775
23
815
363
336
402
600
764
774
996
639
421
284
150
597
775
64
391
902
893
761
11
82
267
965
307
491
991
445
843
551
534
132
175
323
692
472
859
913
958
129
450
933
449
513
410
828
995
477
733
312
28
734
229
995
850
481
538
337
849
439
601
992
429
568
917
877
457
15
598
622
863
867
254
394
1000
301
421
260
711
514
244
483
187
798
755
603
80
545
128
315
408
388
411
29
591
332
109
554
173
760
129
686
147
315
818
736
146
718
422
397
937
269
934
497
908
187
474
841
114
820
965
991
164
407
731
555
809
829
606
182
477
239
652
580
812
218
201
276
926
360
173
910
344
158
716
857
927
492
306
43
233
438
750
430
252
285
636
899
871
92
906
845
560
421
123
212
386
141
824
750
557
529
145
495
281
194
246
760
255
264
758
275
434
382
658
456
521
502
993
628
46
583
77
191
354
252
943
575
583
672
642
972
634
234
798
468
453
417
287
410
728
810
5
314
192
135
972
324
951
849
306
762
497
200
662
477
33
696
141
179
547
341
5
749
746
994
243
777
486
530
959
657
413
157
395
38
968
434
440
186
822
8
185
462
270
627
564
293
159
725
283
923
5
583
202
59
155
998
604
412
741
477
885
266
619
796
229
666
237
770
463
305
967
738
286
181
826
611
220
707
83
477
721
951
9
299
919
453
565
153
145
576
17
122
304
684
115
440
927
664
355
889
718
188
795
540
450
224
177
234
778
11
800
808
865
745
104
640
823
346
390
300
33
615
816
627
292
29
854
476
686
522
146
468
743
3
610
154
191
764
384
194
404
564
680
654
565
710
31
494
68
374
473
842
683
148
242
94
770
124
533
552
715
695
820
785
714
113
330
643
669
661
965
121
463
281
144
186
552
259
294
926
654
986
782
240
611
440
272
51
411
613
391
102
545
646
103
77
64
377
924
839
32
175
537
58
865
837
449
995
461
860
791
819
785
310
431
302
700
538
702
733
718
145
634
946
732
148
797
452
835
250
256
839
156
108
197
646
317
671
809
74
450
557
74
336
494
340
554
848
415
481
953
920
230
222
479
611
949
152
818
198
906
376
409
564
664
310
258
285
178
755
890
498
223
448
343
367
684
203
294
452
833
673
69
388
866
911
352
680
794
26
262
209
619
963
46
480
31
862
891
33
658
41
820
823
326
734
252
367
744
800
778
815
799
111
388
689
629
508
838
767
508
533
179
14
940
210
618
585
263
232
627
83
58
7
834
112
819
962
948
975
898
859
809
942
507
194
127
729
636
875
159
888
349
153
758
527
595
532
269
465
474
981
496
822
796
555
195
233
907
857
78
364
155
411
58
654
526
285
279
821
630
426
938
486
445
709
721
176
19
760
335
3
462
755
709
697
232
904
373
344
205
380
952
298
261
784
327
437
946
941
377
742
840
585
737
819
389
529
782
353
356
203
101
896
736
153
427
892
106
861
806
288
766
167
277
389
651
716
922
990
594
618
863
97
872
393
372
984
625
234
398
532
325
234
633
393
655
490
75
464
490
451
265
224
180
767
782
364
986
346
534
387
283
449
630
783
730
763
403
973
210
99
853
988
917
867
622
197
274
783
460
845
227
232
33
251
615
271
392
61
909
584
905
740
479
487
59
277
934
460
476
712
96
384
175
177
763
424
928
174
494
356
934
193
965
109
163
742
516
756
33
358
577
619
488
848
854
324
509
204
165
664
18
966
494
799
313
99
730
118
930
779
30
859
797
971
605
725
829
521
7
737
518
333
220
671
66
403
545
877
875
154
321
637
878
161
123
311
881
474
251
887
160
625
902
94
186
657
139
989
629
875
572
4
996
790
186
137
999
650
162
193
270
725
988
118
781
417
404
987
852
275
788
978
999
302
321
458
150
746
114
730
568
104
919
334
268
208
760
996
794
990
667
585
680
401
182
323
777
834
731
766
786
230
219
492
801
971
783
289
447
817
580
352
704
47
780
207
304
915
896
823
602
12
153
297
120
325
439
954
420
163
556
513
411
480
527
580
571
378
687
874
117
958
663
337
849
601
744
462
617
193
762
612
426
164
937
815
836
467
877
11
847
874
693
179
434
926
830
390
637
372
671
931
538
128
138
79
360
692
41
353
90
175
828
181
52
293
324
597
706
222
177
944
674
215
795
161
449
400
358
956
469
337
152
351
879
800
591
916
595
144
133
67
226
458
532
951
924
750
643
63
933
685
308
331
936
641
833
631
664
827
111
568
833
630
259
990
970
78
865
45
817
310
125
843
425
18
783
874
905
753
664
289
1000
163
674
445
726
672
221
557
618
404
355
190
594
844
59
460
542
438
709
199
496
22
700
767
768
618
972
982
917
847
435
262
660
593
758
397
208
508
87
919
132
968
94
643
134
483
121
790
724
825
347
778
933
184
717
186
506
363
963
986
125
481
698
599
249
582
183
833
913
206
784
875
28
41
369
496
829
408
31
234
905
143
915
597
603
387
293
910
799
929
406
411
912
833
545
185
672
953
883
201
844
808
911
232
104
239
414
345
886
938
525
983
208
725
816
241
390
517
834
133
201
191
106
166
580
141
808
388
227
564
505
106
899
286
665
170
536
376
401
412
555
646
498
762
830
650
182
982
409
906
918
973
124
411
15
178
25
959
718
436
311
734
954
709
440
833
709
236
451
292
203
434
950
15
434
299
797
476
765
773
833
468
621
4
244
19
320
133
901
558
266
683
176
347
841
953
348
210
515
838
342
178
738
748
742
325
353
624
865
984
455
382
261
284
378
22
876
223
628
619
49
587
771
556
864
699
821
976
482
22
809
994
776
290
713
84
456
121
293
409
5
9
566
705
583
849
728
355
476
330
453
363
791
213
140
416
268
419
255
44
817
174
159
45
818
230
280
712
700
39
301
110
678
594
156
85
88
279
812
631
218
514
563
350
939
276
746
316
357
326
510
207
420
614
396
820
369
344
805
396
733
375
809
318
873
878
827
344
40
910
598
902
44
592
21
74
406
460
855
942
825
229
597
621
53
578
10
728
644
86
213
728
688
952
149
646
329
678
455
738
916
111
254
722
979
952
642
355
86
467
422
562
526
378
517
125
425
11
892
974
422
580
764
147
576
834
377
173
313
35
824
317
108
204
165
103
922
744
992
208
135
961
650
593
535
28
656
334
553
47
443
572
552
157
306
742
129
585
703
415
398
842
770
26
189
571
826
971
450
275
201
292
565
229
558
926
26
289
891
142
821
209
811
224
754
16
926
307
629
113
438
603
138
832
736
181
205
944
918
336
558
628
256
300
924
603
664
971
522
165
43
252
82
522
890
219
103
480
819
834
136
145
716
702
664
926
635
736
771
877
820
926
172
392
358
903
500
163
538
671
549
313
467
81
923
830
918
825
589
740
546
860
195
120
755
236
566
921
628
589
542
973
403
155
317
572
181
67
272
262
353
921
380
356
749
427
209
538
517
556
582
409
475
130
394
476
572
613
214
468
757
912
619
1000
477
752
118
255
313
604
199
873
282
458
348
664
11
290
647
94
959
359
219
134
131
289
664
51
145
4
532
667
26
216
994
73
383
658
767
853
97
772
272
252
799
648
421
849
202
887
541
345
952
679
516
532
400
96
310
490
727
354
449
143
23
583
764
685
5
21
398
491
488
341
882
507
492
739
333
463
121
637
239
944
416
48
377
469
366
905
396
501
655
486
578
477
941
608
656
97
540
907
392
392
621
292
622
148
939
723
303
10
216
742
569
652
334
72
165
462
705
601
173
562
553
706
773
442
799
812
421
604
946
650
474
383
920
705
633
317
789
287
921
664
209
48
131
793
532
700
987
477
877
487
729
805
933
110
120
271
353
367
410
134
399
356
960
15
272
649
455
401
721
162
163
63
853
143
162
300
428
485
15
170
445
728
327
885
354
177
897
329
379
241
207
366
269
897
149
273
112
279
208
734
888
862
332
876
766
197
232
540
317
661
282
298
349
804
935
992
903
921
776
158
812
174
357
382
62
739
370
3
622
527
266
163
999
800
712
237
841
341
374
952
400
626
710
183
674
837
585
956
502
84
424
141
554
178
610
871
52
936
977
973
22
32
945
608
653
223
563
731
503
218
840
668
718
956
559
261
500
434
591
316
334
384
372
81
646
136
324
172
989
266
455
89
802
844
310
675
777
767
292
448
768
948
849
643
789
884
794
150
850
292
625
605
993
444
782
159
727
450
597
604
929
285
119
138
497
216
588
106
498
639
945
178
612
463
561
95
232
24
356
207
517
655
373
353
336
483
468
727
734
594
458
359
938
356
473
123
886
887
143
859
508
991
325
962
677
118
332
170
514
748
355
663
496
553
426
577
844
379
123
374
841
937
341
152
645
935
944
324
739
279
794
885
652
808
333
408
196
776
323
705
164
217
689
14
952
96
261
685
890
828
240
355
613
605
895
744
927
78
673
429
19
458
98
62
246
293
148
391
567
736
796
454
247
141
372
148
172
650
839
933
348
75
40
332
551
127
269
527
692
899
675
321
233
566
270
589
437
859
140
880
1000
638
796
22
531
965
170
873
117
249
126
636
432
400
166
255
955
649
414
931
336
776
384
277
176
489
279
998
70
280
795
104
451
287
979
153
645
551
525
307
455
467
337
994
891
11
651
152
519
379
848
317
572
321
548
542
427
693
28
987
419
781
675
194
820
887
11
587
178
736
440
564
686
440
958
337
362
25
960
693
958
478
483
995
612
182
128
252
740
315
982
872
164
61
625
563
432
167
631
877
394
443
876
747
956
548
880
307
446
784
425
937
768
22
194
553
462
179
784
569
455
277
922
264
222
760
393
515
296
532
652
403
929
128
373
236
749
485
799
64
255
361
250
165
42
714
806
33
42
753
48
508
846
385
347
389
395
207
532
952
392
554
781
159
218
191
763
906
349
746
442
14
932
547
401
846
566
892
682
254
118
128
197
230
660
222
854
339
321
606
337
90
82
578
852
528
377
979
325
24
162
271
110
18
757
42
687
601
18
309
682
478
375
989
543
318
950
743
690
411
767
52
512
181
445
486
60
867
816
833
622
41
331
709
24
811
394
938
530
651
876
173
604
507
829
391
235
955
38
607
695
92
249
547
792
260
337
222
781
198
843
824
769
831
626
624
720
288
798
297
146
58
221
397
934
526
620
994
892
581
95
23
99
702
359
915
582
518
180
895
590
8
594
115
537
123
378
166
855
406
802
829
124
228
228
952
253
896
815
808
716
527
608
16
233
238
509
373
968
982
945
460
443
771
755
499
391
226
262
102
926
594
507
924
169
839
390
167
1
616
495
629
781
407
999
320
642
22
257
445
888
740
472
492
846
611
595
571
339
294
12
14
526
886
769
871
820
643
584
990
979
582
458
394
575
653
673
176
530
434
517
264
303
992
252
383
615
579
42
49
771
183
938
612
556
166
881
484
548
840
672
29
273
282
296
311
157
960
815
394
609
844
607
577
397
473
34
80
742
771
15
646
946
246
796
965
12
229
928
930
392
985
188
283
94
870
194
828
238
323
262
125
122
4
423
304
915
564
685
231
835
227
67
22
235
502
481
543
989
863
840
168
126
456
730
594
808
873
412
107
88
600
588
426
671
160
65
949
95
791
707
639
540
841
694
341
530
767
821
22
252
233
498
236
417
475
858
819
642
378
532
160
299
495
280
316
452
734
497
693
275
415
272
732
783
628
308
401
97
145
909
96
228
881
985
455
870
134
652
481
71
634
551
332
681
494
185
478
373
455
377
417
481
285
564
985
253
458
849
551
952
958
289
82
717
738
641
391
953
666
753
118
757
964
330
257
909
11
802
70
65
919
552
210
224
964
924
863
928
620
641
89
476
345
180
42
214
953
278
729
825
443
993
459
202
813
886
999
652
673
223
469
524
214
991
87
141
796
463
753
362
286
608
632
997
37
322
767
690
755
451
203
211
71
424
349
21
216
170
601
147
126
306
724
265
76
26
844
168
891
137
347
831
576
711
59
288
134
165
455
980
541
829
935
533
226
475
650
505
300
473
147
400
143
402
411
392
205
159
274
136
856
313
373
606
16
395
932
886
493
510
197
746
543
345
874
955
902
588
688
804
864
482
252
251
615
6
677
312
209
974
80
679
320
355
620
225
623
324
529
912
729
580
366
230
981
705
546
416
453
248
913
358
587
639
767
185
454
19
604
166
380
746
786
685
373
509
407
653
720
792
21
90
314
388
321
117
625
493
668
952
411
419
225
493
113
569
869
237
792
854
79
44
804
856
388
348
853
801
703
228
679
829
326
701
732
986
652
733
410
708
723
116
596
461
431
536
861
192
690
242
53
69
147
951
973
990
106
405
357
693
92
506
443
748
558
524
740
616
124
773
118
624
629
54
274
361
402
572
988
244
329
798
510
861
676
573
10
437
100
486
203
657
568
578
746
163
669
702
686
909
144
366
772
174
853
478
567
127
964
728
394
658
638
709
645
26
9
358
801
533
197
706
397
436
521
722
532
653
991
786
357
799
354
943
99
731
20
986
526
614
453
275
324
100
107
21
833
988
248
122
691
33
247
812
942
278
69
400
781
713
516
982
123
611
889
390
701
754
428
311
961
205
535
929
678
9
355
675
557
114
334
41
299
262
124
995
144
122
457
936
133
784
122
402
528
130
298
542
664
309
10
150
659
964
153
880
1000
976
896
509
722
661
154
940
692
739
926
521
745
426
780
310
947
120
997
558
235
195
584
590
545
268
227
929
537
89
208
273
178
298
358
458
953
868
944
349
556
650
687
528
958
35
125
484
402
753
526
85
271
941
197
513
332
560
701
271
340
200
227
266
22
722
240
71
990
641
932
262
419
926
842
499
779
208
305
189
492
558
880
586
257
573
663
575
565
304
20
764
778
958
673
267
20
152
645
258
253
234
162
233
14
732
382
453
37
115
106
166
2
394
887
624
350
996
31
167
695
561
560
760
381
337
96
250
470
417
701
41
621
47
946
350
943
487
754
514
33
510
498
644
162
395
196
398
834
903
201
954
756
26
883
10
815
74
537
944
256
927
920
837
87
382
844
121
923
915
606
366
218
236
402
839
527
452
33
548
923
359
592
414
722
698
630
487
717
681
231
15
303
197
700
156
548
126
864
480
325
326
225
337
668
536
280
960
581
391
431
41
897
268
148
221
28
111
499
342
477
555
176
707
40
588
486
212
474
849
869
301
157
354
425
744
308
981
253
127
798
345
994
503
71
802
738
636
481
976
776
68
419
265
218
254
425
831
447
16
324
124
494
449
912
824
228
225
408
661
967
360
577
20
107
554
354
860
921
750
856
723
441
396
155
106
485
388
662
138
500
531
734
776
502
589
675
160
633
291
639
617
248
658
639
957
444
807
972
408
366
797
84
41
895
62
694
140
197
539
713
966
459
208
809
919
789
419
95
251
657
88
352
887
139
207
79
893
907
119
243
110
166
848
851
787
602
231
187
667
523
833
735
178
503
51
131
527
557
572
264
109
913
698
965
132
340
829
634
279
901
209
235
154
458
106
103
893
477
528
185
165
22
553
965
540
11
646
277
160
307
423
96
497
548
696
909
572
392
183
375
896
8
409
742
592
287
894
705
819
856
625
448
713
182
630
643
727
529
739
600
553
544
419
403
178
310
954
536
906
375
210
927
271
279
540
46
704
521
497
870
51
424
195
239
637
423
864
112
16
23
937
410
123
61
246
714
296
439
962
399
807
571
232
532
806
365
378
625
109
414
459
981
327
445
753
381
793
893
965
463
359
75
96
844
607
61
408
930
763
707
395
126
602
103
135
936
560
767
5
577
899
404
775
235
913
615
138
982
400
893
18
691
35
700
96
644
168
528
920
55
307
82
362
28
676
505
533
743
392
470
795
555
381
518
745
906
460
694
720
261
764
66
871
481
174
717
490
57
797
355
977
429
356
422
450
414
651
648
598
873
724
854
630
102
95
221
77
840
360
426
564
802
462
185
478
612
676
219
641
10
869
200
638
726
552
402
509
419
385
398
110
391
931
970
7
980
944
899
444
227
673
671
561
971
405
964
299
714
808
189
418
125
121
4
399
304
652
718
99
221
825
220
333
316
965
348
805
550
290
989
195
415
222
401
155
796
861
681
132
565
280
189
296
651
281
659
871
28
279
506
647
466
132
603
295
860
872
177
754
386
971
538
893
890
276
156
494
533
169
827
899
832
943
762
93
863
987
886
799
221
753
146
498
619
596
591
326
741
635
367
231
639
226
551
927
840
355
516
371
334
972
259
744
339
146
537
646
909
161
480
606
39
737
374
766
677
183
586
500
557
292
196
596
859
846
253
289
425
964
631
841
552
291
140
311
739
103
683
330
18
886
732
349
150
901
249
824
223
756
9
303
561
72
905
641
331
167
452
631
455
524
435
545
278
874
33
198
117
336
577
712
109
428
284
219
844
94
625
781
397
649
443
288
618
614
944
516
393
936
922
106
130
996
932
903
511
893
201
956
488
805
588
985
726
693
163
919
286
255
487
427
845
973
313
443
476
172
610
378
471
308
280
907
137
951
726
316
203
82
750
986
419
3
953
402
482
746
315
9
854
290
987
688
249
548
715
755
221
851
788
254
574
906
132
618
218
94
353
228
257
413
859
296
179
819
590
2
230
154
839
420
925
59
300
977
130
123
98
312
716
742
219
673
312
759
386
131
729
699
1000
846
569
947
377
158
917
32
432
520
212
312
634
756
698
320
155
120
138
917
158
73
210
298
930
269
815
230
737
996
960
199
403
193
38
1
270
857
132
364
968
566
268
87
808
785
305
838
97
404
702
666
342
12
299
444
347
356
413
834
434
839
955
372
522
791
843
428
702
355
231
391
655
907
261
199
783
857
383
636
214
44
69
559
185
439
464
538
428
525
530
801
191
832
268
291
21
154
65
45
574
277
466
362
99
181
492
449
621
953
662
116
689
397
717
201
62
524
883
367
570
260
268
751
543
973
704
300
948
361
671
930
198
40
72
301
219
999
454
574
801
342
647
257
300
354
435
436
385
940
923
826
784
487
484
441
413
303
683
45
201
577
718
679
17
545
551
556
147
932
515
311
276
676
326
288
129
338
338
130
803
26
989
385
85
454
6
573
581
888
237
172
292
801
211
524
846
606
786
166
149
281
687
65
228
295
468
544
293
860
451
340
590
846
34
611
76
457
280
599
826
113
821
251
50
324
913
199
694
154
276
945
666
136
432
580
978
951
902
8
105
546
503
737
465
941
44
687
93
118
513
491
773
651
898
685
130
281
63
75
594
264
50
791
40
912
689
64
24
667
45
691
819
434
594
912
118
638
593
440
764
350
411
615
101
64
414
61
372
264
891
382
601
833
714
187
226
250
398
950
697
150
801
994
659
80
444
218
740
275
999
723
436
980
179
642
140
859
316
144
733
762
685
423
325
45
890
531
718
311
210
321
688
31
126
755
898
214
657
770
302
978
389
333
100
650
7
485
859
301
674
12
510
6
761
254
235
762
335
396
61
506
31
279
264
582
50
845
721
553
511
975
836
443
773
485
966
587
823
823
540
307
22
52
75
928
495
264
260
828
272
79
992
701
875
806
776
49
799
823
510
245
858
449
931
550
862
883
231
878
662
182
965
977
316
258
919
915
210
670
151
55
89
807
75
200
47
1000
921
192
353
584
707
21
367
877
896
295
998
636
273
645
312
20
68
871
868
387
289
135
489
941
814
879
378
853
268
182
934
983
132
212
954
891
443
528
204
995
226
82
321
798
489
653
904
176
290
170
655
428
756
52
292
991
309
748
381
270
134
34
987
126
697
328
931
952
435
214
625
798
163
882
435
38
973
661
720
639
718
94
621
258
848
466
8
176
50
263
793
996
939
682
103
888
649
239
10
839
216
892
823
712
389
616
582
382
838
514
426
638
677
757
292
802
956
451
27
970
794
438
26
709
17
263
936
21
377
965
94
558
474
455
146
502
114
87
299
487
922
96
474
599
160
537
398
121
850
57
513
179
889
45
728
138
118
53
775
960
438
394
488
44
802
296
932
969
992
590
926
33
7
579
791
117
67
111
471
870
986
106
165
63
651
445
292
350
313
69
642
250
233
655
95
276
968
449
63
729
926
101
462
912
561
124
932
659
272
635
13
68
284
507
277
845
446
598
350
639
396
37
738
692
95
352
155
58
862
330
704
936
267
791
85
337
92
712
322
282
379
664
562
364
658
562
466
84
224
735
122
676
48
776
557
377
318
840
984
111
234
749
270
401
349
360
315
821
769
628
797
190
935
958
227
621
257
272
218
655
491
546
794
327
549
537
985
229
198
864
242
566
611
836
670
514
558
186
867
119
966
485
425
513
961
684
867
781
115
187
652
406
534
587
195
5
215
858
868
772
533
105
470
616
374
728
982
912
126
778
430
684
295
5
742
694
434
814
691
469
975
605
371
719
974
836
204
504
368
450
101
258
27
987
525
768
989
454
64
383
716
451
272
897
240
981
258
736
446
9
671
859
313
927
9
340
963
186
863
460
293
139
438
640
852
522
77
266
537
196
828
320
266
441
437
471
261
807
456
895
830
887
234
417
536
324
998
558
399
560
459
413
213
174
149
161
372
892
821
519
746
502
570
28
940
171
297
358
815
445
754
596
94
779
654
132
266
874
73
39
943
472
529
283
965
369
383
735
7
485
768
39
993
699
77
191
244
779
443
186
423
897
517
850
698
112
783
166
596
505
688
291
156
628
438
479
839
790
700
764
521
140
594
127
359
460
912
887
713
786
545
700
970
671
595
633
93
320
737
441
888
415
920
765
645
925
472
519
671
879
211
853
882
698
944
13
713
964
109
646
54
264
93
960
558
738
77
945
445
231
45
625
930
992
221
354
795
202
842
691
795
856
884
570
804
175
286
526
532
184
956
461
98
663
288
757
788
774
669
919
26
604
473
502
352
213
259
183
41
930
771
994
177
516
316
798
64
308
871
665
279
371
872
547
737
647
178
353
159
773
95
695
913
600
360
914
108
882
840
982
390
397
319
218
391
690
969
279
110
476
592
934
258
257
527
104
190
810
976
907
47
686
399
897
24
422
508
773
472
934
20
880
659
530
209
58
904
752
773
555
104
955
817
90
759
490
678
314
173
974
936
972
731
500
49
133
555
995
341
739
136
641
55
617
748
643
810
514
541
992
729
747
418
270
114
161
526
174
621
336
283
773
450
1
549
853
811
147
428
720
529
224
682
309
344
798
643
255
740
653
977
754
205
265
361
251
570
575
911
594
769
179
443
234
892
443
929
211
446
293
388
770
560
769
518
661
667
363
790
585
543
921
96
908
968
79
606
864
769
655
837
881
241
102
459
163
695
424
241
81
913
561
535
859
536
369
701
517
442
185
311
370
275
506
316
493
562
775
219
769
235
922
179
724
475
813
25
559
415
743
196
647
498
923
448
401
72
278
229
508
132
939
653
687
791
274
302
408
657
231
449
445
300
976
666
243
342
654
27
242
275
370
420
590
973
350
836
778
446
842
430
218
359
900
759
724
398
485
317
432
674
842
245
614
254
313
859
990
909
713
986
616
965
947
153
511
453
758
62
126
172
675
580
253
566
661
803
233
844
773
681
135
884
732
900
109
756
454
315
742
136
687
630
751
841
611
916
502
196
903
47
230
253
262
936
335
341
670
922
927
902
22
568
784
434
393
266
117
745
959
401
29
922
47
987
198
871
581
394
990
462
225
627
110
809
851
2
91
590
595
836
68
967
75
358
895
697
542
259
836
264
575
774
400
140
562
660
52
292
852
818
215
786
617
81
764
659
674
992
283
877
935
343
47
536
486
974
75
861
35
579
78
907
539
294
10
927
322
350
434
550
458
436
730
114
426
725
403
173
846
626
165
644
90
296
915
534
183
44
988
862
886
793
63
183
655
974
159
849
658
836
304
784
80
288
16
621
911
923
241
69
193
659
354
708
460
733
511
952
622
191
105
937
816
611
441
218
360
432
748
838
961
773
499
867
15
40
122
402
100
123
852
577
322
984
221
808
241
433
44
590
577
654
765
426
993
667
498
571
592
238
627
974
969
347
702
439
307
321
536
618
378
198
804
621
246
259
209
256
791
56
176
143
116
298
68
615
496
308
987
467
645
304
470
434
226
846
804
729
744
215
203
113
374
46
389
47
6
943
2
273
38
54
943
130
13
154
313
285
866
174
624
592
66
779
242
978
869
391
454
809
178
31
654
563
646
65
414
964
720
724
917
482
851
88
591
384
864
645
955
770
784
17
694
679
829
634
673
465
381
37
819
650
85
692
349
478
812
47
621
147
921
782
257
552
698
794
612
207
482
5
299
629
826
125
686
103
976
94
673
815
12
544
282
816
47
559
344
547
8
563
724
594
931
597
186
162
226
196
127
283
161
859
532
12
214
428
91
144
829
848
387
419
181
477
746
139
482
149
148
118
748
285
598
532
421
786
663
592
26
127
803
439
200
752
207
565
736
510
818
705
216
838
193
359
12
841
925
888
749
584
932
342
559
775
700
72
170
755
319
452
957
341
158
522
895
231
458
76
430
886
98
117
893
67
228
549
650
902
955
828
52
752
606
29
353
32
832
477
891
731
264
38
457
670
545
346
885
163
343
71
728
339
918
206
255
151
791
594
374
755
633
288
175
148
742
176
656
582
610
157
767
258
762
32
559
809
935
367
849
498
83
316
584
638
903
448
375
762
344
379
419
562
808
416
136
243
788
114
391
979
155
125
643
851
917
981
91
483
633
597
255
886
1000
700
529
84
831
104
880
976
791
908
841
652
311
530
693
241
347
612
118
213
358
378
238
964
487
891
179
839
683
292
769
944
763
738
184
164
667
279
884
129
763
878
678
661
786
231
716
140
192
460
649
150
638
297
944
910
201
215
74
782
379
734
359
648
25
685
157
398
398
553
787
401
272
180
117
890
545
230
613
387
617
3
897
405
161
104
644
630
353
776
460
635
144
657
938
918
966
67
467
96
805
153
806
202
908
566
48
333
958
40
301
817
249
430
154
12
417
585
525
581
709
589
359
1
338
381
411
926
459
119
60
119
251
525
171
649
282
457
277
299
387
784
766
411
505
376
142
878
941
418
469
492
459
957
67
938
417
832
190
235
940
616
929
892
909
765
292
694
983
7
947
718
503
145
187
801
984
292
229
149
997
307
918
975
151
64
133
642
161
40
500
352
293
910
408
620
321
307
254
724
313
186
959
216
388
760
352
358
553
965
965
161
748
577
836
877
962
396
135
661
770
388
695
208
557
446
137
766
625
712
307
678
724
851
619
907
137
275
435
680
156
995
914
699
893
332
101
716
341
490
505
92
574
144
228
375
684
117
148
365
183
656
115
7
707
718
403
559
142
668
624
797
998
352
546
95
134
877
290
633
557
5
403
246
245
293
594
609
371
156
385
598
947
563
937
359
457
295
375
351
258
808
733
630
650
730
15
328
114
922
769
641
828
123
528
885
74
389
734
150
509
674
27
625
502
542
630
693
170
97
397
625
254
569
539
628
448
923
608
450
849
20
301
507
111
563
343
12
886
176
57
802
237
744
60
970
970
30
786
94
341
892
46
925
632
580
864
565
267
512
124
351
920
477
993
606
103
762
76
740
696
708
963
360
555
770
407
361
875
876
190
775
387
424
746
877
815
359
193
462
932
406
713
209
908
789
853
402
823
462
329
944
888
344
72
662
594
263
508
260
491
387
200
653
213
795
230
878
826
428
488
302
662
792
672
719
762
643
844
226
677
813
563
717
883
455
637
857
207
149
60
382
933
906
243
817
137
288
774
348
837
556
98
403
647
226
859
315
69
259
552
221
605
569
100
368
296
465
594
642
500
975
879
347
553
387
262
548
902
505
25
392
659
975
912
407
639
474
502
738
632
891
560
34
50
200
168
526
548
430
662
102
541
627
692
11
616
197
618
893
478
901
501
862
366
957
565
890
98
853
636
113
450
128
793
112
86
990
928
427
884
144
495
704
759
334
668
407
161
617
603
822
488
604
1
681
33
835
401
97
720
168
959
738
79
709
337
823
152
44
822
892
490
807
551
981
613
553
49
763
866
189
712
61
452
903
316
632
704
538
787
156
491
381
375
893
466
1000
202
151
748
991
410
315
937
980
180
196
672
629
18
761
390
101
138
393
490
230
630
219
489
823
191
961
373
40
347
214
222
324
688
578
702
468
454
156
343
439
536
894
946
672
19
632
735
842
467
60
52
70
91
121
471
165
326
154
875
855
870
958
588
790
188
759
235
391
344
969
988
873
814
986
860
435
707
229
447
236
557
978
469
393
640
130
32
331
641
259
245
175
257
272
252
43
654
336
168
829
764
495
339
640
476
56
562
641
873
502
479
915
105
851
872
950
727
386
996
157
274
154
643
194
883
338
549
128
765
788
159
511
774
723
109
880
327
53
819
656
384
16
103
308
39
500
762
91
959
312
635
629
306
333
563
665
60
377
530
330
523
55
203
103
910
155
31
366
70
616
740
510
90
241
736
69
115
877
824
898
985
810
871
420
699
533
824
632
836
136
169
382
341
218
927
459
287
494
674
518
649
139
876
933
931
10
692
272
365
703
534
409
618
93
930
356
846
754
196
960
437
221
304
353
576
684
626
485
439
459
382
186
102
828
705
545
813
133
359
856
898
891
804
435
238
582
940
477
917
922
575
274
865
365
452
717
135
603
433
77
849
766
93
128
399
918
593
659
671
693
435
443
27
783
491
797
885
183
214
518
372
947
918
818
404
330
641
496
312
866
505
585
417
11
670
281
685
972
27
300
449
460
325
37
290
95
183
738
897
135
362
349
814
843
694
326
658
940
366
912
200
10
419
1
31
961
770
158
158
746
797
582
138
803
293
851
98
833
584
993
56
962
877
204
28
458
203
98
504
135
391
682
933
105
299
730
765
416
340
591
57
544
41
637
538
566
401
132
604
897
721
792
480
470
99
667
814
860
707
813
354
509
999
386
989
33
115
190
98
482
81
37
837
771
191
70
799
751
698
547
227
293
662
377
174
717
129
147
758
187
324
13
545
327
252
877
212
463
309
606
33
24
333
252
746
150
653
85
208
779
643
606
294
293
751
579
985
395
550
415
759
440
553
746
491
588
973
397
256
190
351
324
915
232
256
711
899
788
411
316
231
835
807
732
412
768
876
456
766
614
108
221
91
861
894
299
673
285
177
40
348
535
876
752
125
538
36
211
320
967
628
570
59
966
428
519
950
853
667
912
633
942
545
484
16
335
628
831
853
372
823
74
86
786
96
627
460
482
680
501
902
304
832
739
918
72
361
299
591
109
846
307
282
17
447
905
721
767
750
791
105
219
94
420
955
687
779
418
47
902
873
540
629
657
209
957
303
23
42
411
608
321
803
566
317
527
99
166
905
362
310
733
450
316
154
148
300
378
749
365
585
874
834
647
714
106
540
330
505
152
561
588
973
880
984
278
3
49
212
841
874
81
473
48
183
590
661
523
831
614
688
351
404
745
675
847
854
746
894
306
123
671
994
509
19
812
651
458
59
413
6
766
400
833
558
923
299
815
122
796
65
425
710
593
449
381
611
860
628
468
881
59
616
881
931
893
342
771
973
558
270
752
777
386
760
594
870
941
698
620
786
861
61
710
361
389
689
72
805
710
667
784
714
995
818
607
412
374
364
639
459
465
271
690
182
360
823
326
412
216
909
776
683
710
868
372
378
489
508
831
497
699
478
61
188
927
711
263
648
49
728
111
382
209
513
319
672
404
706
356
888
93
467
764
341
56
839
454
516
862
495
995
222
511
603
205
737
585
561
111
566
404
647
323
116
769
266
822
709
164
811
731
920
890
674
384
165
643
577
601
221
493
758
197
74
941
761
63
871
731
311
317
659
794
521
160
212
75
325
940
530
87
612
205
571
728
695
148
44
363
40
220
813
254
888
551
765
336
145
999
712
211
408
392
382
785
297
644
94
652
597
552
271
97
774
845
887
700
429
162
633
823
156
481
264
561
606
126
499
355
447
668
699
551
425
407
365
740
696
377
923
691
90
20
2
339
79
460
92
967
464
22
771
287
218
205
408
722
197
347
338
977
714
438
960
340
2
227
762
291
713
712
450
377
643
179
519
981
965
207
354
179
530
607
958
462
116
890
719
972
905
370
63
336
778
742
465
926
726
274
223
371
823
187
838
801
989
748
1000
639
382
983
732
498
997
359
147
657
715
369
737
308
727
588
241
992
174
215
212
100
131
869
215
725
53
993
823
403
758
210
585
629
103
615
786
79
189
361
844
651
750
479
776
727
792
752
657
176
385
794
994
749
932
481
348
118
702
771
791
773
497
749
235
594
208
4
186
241
927
672
32
177
510
236
596
247
152
936
419
301
684
467
991
109
277
676
779
666
944
133
831
825
809
929
967
213
312
56
968
493
806
93
236
504
929
409
728
144
785
760
914
471
628
878
437
17
454
199
58
646
158
544
705
126
735
354
197
146
470
548
575
298
455
363
249
267
656
408
709
688
964
599
483
105
376
562
936
810
574
19
270
23
438
663
571
794
289
719
941
480
521
295
693
803
521
749
157
347
270
718
278
315
408
400
947
616
149
398
763
442
234
659
714
442
779
430
103
497
312
88
975
753
175
241
178
232
388
128
864
863
29
891
768
786
377
898
888
434
216
910
745
64
274
825
423
800
216
36
394
62
470
707
73
448
117
233
202
260
991
893
996
831
254
110
459
178
23
984
448
355
979
610
170
535
984
456
73
129
893
645
303
610
952
451
600
825
142
342
874
30
389
456
4
422
887
612
324
826
227
205
794
531
660
831
70
620
823
991
411
561
418
933
555
557
36
756
16
293
34
936
778
911
607
711
512
507
902
443
451
382
794
86
476
227
95
463
970
409
601
311
33
135
923
554
581
941
841
84
22
69
930
433
193
183
533
835
478
110
460
937
85
781
580
470
649
651
400
652
995
199
229
917
366
439
126
224
632
176
438
835
735
634
762
156
313
275
599
575
288
666
45
16
171
309
401
426
377
91
982
804
610
508
527
468
821
454
341
307
373
262
317
426
388
730
783
420
134
829
599
224
433
837
744
945
683
465
988
584
431
710
829
679
257
491
572
670
685
386
520
367
687
434
818
235
12
399
345
396
207
201
784
234
748
325
896
145
903
498
904
47
587
509
778
526
625
904
335
669
77
221
203
974
466
523
555
932
439
663
418
564
177
580
768
232
891
366
336
154
10
362
528
524
308
698
485
582
554
827
899
575
877
681
980
947
189
484
293
607
355
892
467
491
947
427
827
15
703
251
24
473
132
446
567
284
35
549
280
430
359
533
425
403
629
308
931
498
489
907
660
467
249
523
868
422
210
268
723
272
859
111
174
71
786
354
683
30
949
20
741
807
61
812
100
641
600
897
734
141
712
624
609
928
610
355
272
172
355
942
541
933
83
386
553
664
680
725
665
719
521
413
785
655
675
739
397
352
123
822
473
854
667
589
701
228
224
884
983
879
596
15
571
110
444
923
616
724
49
778
697
176
988
559
810
159
245
17
665
609
374
283
420
976
675
681
843
768
588
20
419
70
115
832
507
687
612
591
963
629
496
9
103
374
484
479
134
146
84
299
393
474
843
710
104
531
388
911
290
131
110
464
929
442
831
169
585
181
663
507
603
323
119
431
341
142
94
434
698
149
655
69
294
257
99
229
3
201
480
766
696
895
449
282
512
624
393
948
604
244
113
360
755
272
736
9
293
208
817
371
232
631
443
784
576
678
977
491
607
700
976
529
214
238
665
748
894
596
182
359
688
140
195
128
58
511
350
49
279
611
981
274
257
927
483
397
898
681
458
409
828
526
34
789
722
192
402
431
606
323
494
714
853
540
365
907
446
266
961
286
843
512
126
594
692
844
367
785
9
101
160
627
875
891
573
933
32
27
685
924
432
945
705
355
109
356
775
681
563
849
612
708
639
536
515
804
444
376
623
586
613
236
383
51
313
443
399
410
195
275
403
866
827
128
176
370
484
137
21
886
385
968
728
997
192
293
898
454
583
101
462
690
140
608
786
824
579
596
185
847
111
446
877
139
813
704
665
886
400
220
416
502
927
752
617
744
976
224
793
251
692
907
834
790
14
487
406
719
769
690
862
130
637
937
804
553
962
4
491
421
259
925
484
270
571
277
860
254
260
76
885
669
307
771
661
184
54
816
177
667
433
780
301
197
483
529
534
608
917
514
786
760
786
89
989
504
910
15
458
9
715
889
426
3
924
564
439
69
853
264
327
893
948
366
34
868
134
217
646
310
916
978
71
173
977
898
518
621
952
624
488
599
844
615
660
258
130
551
845
58
740
833
229
699
652
618
719
30
326
135
553
1
625
700
101
535
905
751
670
843
234
796
657
451
496
314
100
509
67
579
94
262
432
530
27
368
464
228
214
491
400
715
489
493
17
9
386
325
296
944
900
208
494
304
813
265
415
718
292
916
521
432
166
78
684
975
751
949
964
934
26
349
217
625
649
614
614
109
80
385
532
309
168
985
608
856
656
708
838
535
892
558
216
1000
805
931
997
194
32
336
181
934
810
192
560
382
982
327
877
641
17
589
143
217
69
819
184
441
337
648
838
590
875
119
647
294
989
707
356
899
146
955
749
667
646
851
471
978
748
773
679
509
98
868
563
855
903
884
742
294
147
278
928
58
443
510
784
956
815
689
978
279
306
469
647
189
109
441
849
64
263
505
87
636
337
615
958
134
591
58
413
170
373
18
307
504
467
819
732
955
858
717
41
149
499
302
587
552
651
844
267
958
632
183
351
346
894
114
334
705
772
254
473
579
674
547
749
594
469
438
768
150
32
647
816
378
348
501
42
971
353
516
623
876
64
679
783
378
606
648
828
128
657
350
919
535
334
333
475
112
957
265
449
2
533
6
520
941
545
738
397
718
419
60
33
198
812
9
517
707
364
626
835
708
435
249
311
86
173
734
884
416
495
863
136
659
973
335
175
558
719
228
566
894
994
323
179
195
122
37
475
647
874
995
280
381
736
7
565
130
192
146
525
93
489
119
327
860
538
505
251
64
149
936
52
346
712
901
295
162
96
905
682
557
645
918
178
463
403
502
966
332
122
219
951
784
304
312
847
523
276
976
173
86
629
772
781
119
495
717
960
145
475
418
404
664
448
650
853
474
975
791
181
960
273
682
56
381
198
648
765
106
839
187
262
61
913
81
307
123
370
504
235
124
484
957
398
757
989
217
75
158
622
419
399
796
958
461
984
522
363
158
969
430
234
384
353
235
269
367
526
959
587
708
919
579
418
925
726
576
941
651
921
116
57
236
455
129
37
850
455
532
705
353
440
174
253
827
14
208
530
754
912
307
628
998
997
563
875
384
741
774
60
488
655
387
621
303
211
650
210
964
992
235
434
721
222
343
154
653
886
240
891
337
366
137
388
518
637
429
806
405
401
196
313
457
368
270
401
346
969
824
822
788
722
228
756
618
157
134
523
282
430
341
502
797
171
828
273
255
515
545
853
607
815
682
16
320
445
736
440
945
352
215
242
324
529
850
2
890
975
836
3
515
633
497
785
393
538
724
963
700
861
283
739
338
605
819
277
481
17
463
276
96
462
256
561
978
861
300
868
672
943
434
942
26
721
516
569
508
617
835
791
874
770
666
949
196
561
832
611
427
704
262
846
674
168
701
850
668
380
622
998
91
192
651
303
564
770
531
630
151
224
942
929
99
596
682
179
597
769
616
638
713
975
356
136
211
948
594
438
20
539
417
265
911
833
435
451
838
209
828
353
576
685
101
44
47
500
976
480
971
834
799
952
344
391
564
838
861
834
742
453
738
359
539
951
94
590
506
895
14
891
479
923
316
306
328
89
471
777
958
282
441
254
535
974
51
952
899
623
97
460
841
481
38
651
111
194
465
294
2
685
344
632
826
672
401
89
87
561
903
907
439
110
665
874
43
944
439
184
983
507
785
581
898
238
113
579
207
632
15
761
370
508
107
471
785
212
376
45
226
881
115
161
729
19
760
297
177
548
530
263
886
489
876
780
652
5
774
522
529
793
786
668
513
90
712
507
935
161
237
914
496
241
6
408
312
977
188
694
231
768
158
237
390
668
196
344
443
906
487
813
893
636
921
146
271
334
373
626
184
896
545
559
443
23
118
203
66
358
844
200
139
374
552
182
143
227
383
152
766
359
579
450
630
414
78
136
475
500
204
363
911
817
787
81
531
122
661
943
673
171
415
751
552
96
917
95
926
732
362
571
5
289
827
56
350
40
750
636
784
391
721
947
936
167
107
587
983
653
476
734
605
527
521
345
124
741
883
709
270
619
766
311
747
73
3
788
225
158
447
767
37
250
28
394
20
953
420
917
799
360
156
266
863
850
735
76
777
332
905
775
879
853
675
308
813
269
333
982
269
751
983
149
572
967
791
720
119
658
519
220
803
445
538
330
387
585
957
605
445
713
909
303
676
555
97
31
976
21
907
35
227
569
554
737
592
122
612
290
803
459
664
772
421
153
396
112
531
757
975
507
685
890
247
141
352
878
784
573
438
198
746
6
141
855
897
812
540
220
587
40
944
86
478
150
790
691
852
841
907
869
230
962
790
840
395
249
669
895
498
847
346
157
426
600
474
528
953
912
654
929
928
586
275
749
263
304
536
83
995
716
490
420
107
545
329
173
824
754
308
954
345
267
702
867
16
435
694
926
527
269
937
557
27
237
573
278
260
389
70
815
672
37
288
132
918
471
785
468
416
702
323
452
737
313
27
260
827
222
558
287
577
374
559
815
602
812
24
115
833
27
730
669
978
624
784
460
166
920
171
464
892
736
41
568
338
941
936
791
479
304
504
298
347
350
563
971
58
654
414
152
976
782
765
546
730
598
504
74
447
523
685
416
473
251
911
712
618
503
674
853
961
862
566
320
800
749
191
93
740
369
295
623
137
211
287
177
682
668
495
734
12
521
896
164
567
740
973
850
542
686
193
514
337
462
366
691
937
738
205
106
264
954
579
832
271
639
338
422
422
618
350
806
105
214
819
687
38
648
282
848
392
815
945
725
560
210
345
718
735
221
936
154
614
521
567
845
661
817
983
814
746
461
640
121
13
210
467
461
604
577
366
879
812
908
239
139
987
696
738
859
798
525
770
577
549
325
206
763
810
774
41
202
776
831
737
556
24
634
755
797
725
520
771
134
430
795
823
426
103
772
90
846
947
458
64
738
892
23
909
702
568
895
197
226
931
403
95
169
382
321
357
285
282
197
449
192
628
803
688
762
345
132
102
707
74
231
978
161
649
57
366
27
760
609
920
628
495
602
861
75
5
770
400
881
467
675
737
640
336
976
291
297
936
901
937
982
690
760
649
178
411
927
986
983
61
533
84
796
670
928
168
976
595
650
883
832
12
768
808
494
747
594
301
574
65
798
942
49
989
135
316
821
2
429
607
377
167
494
73
104
60
610
307
602
712
433
785
72
347
793
919
162
399
846
207
193
517
962
600
893
199
363
195
103
756
248
815
746
799
726
310
242
339
342
307
13
764
392
728
615
482
171
59
994
691
861
219
288
779
854
391
176
101
494
397
391
982
611
848
925
934
174
991
877
716
737
496
615
132
944
73
775
868
211
854
881
856
706
541
821
371
859
643
483
430
58
438
364
987
667
526
483
743
581
725
958
51
828
441
671
1000
487
997
253
278
752
109
90
217
167
833
513
642
844
411
753
377
242
514
48
664
85
196
257
439
337
36
356
459
545
400
734
204
202
926
745
814
477
674
115
227
340
172
651
466
23
650
633
99
225
564
665
495
242
452
834
337
464
378
642
150
647
322
261
804
806
630
339
748
133
638
995
665
485
454
448
204
704
696
535
540
872
815
320
750
89
430
914
648
63
662
340
261
230
797
183
799
662
673
335
886
270
429
34
474
622
928
83
759
446
379
574
101
602
24
227
387
544
283
511
343
248
512
754
196
673
845
777
255
35
919
85
965
779
947
38
771
854
981
98
950
923
803
322
845
865
343
387
774
112
727
273
946
859
616
797
781
912
76
817
83
92
731
652
721
181
695
605
55
951
249
599
32
977
208
505
314
317
854
33
11
964
748
695
696
392
469
222
537
476
574
937
800
656
180
954
792
453
292
810
377
872
831
7
446
94
657
887
858
608
161
63
826
711
470
468
562
415
289
345
287
631
14
323
461
563
557
635
514
434
803
104
558
634
440
133
200
778
833
386
656
806
443
430
479
378
54
17
872
934
997
803
173
140
314
312
49
167
736
66
442
347
770
87
592
338
620
750
706
54
634
686
715
841
665
748
131
779
702
34
343
670
114
538
427
945
809
627
873
87
521
142
786
339
196
465
351
324
938
138
411
364
257
177
867
710
339
30
262
473
999
626
642
615
169
814
430
138
796
848
612
51
624
658
94
521
772
526
269
618
99
532
607
898
31
166
58
676
638
732
918
664
497
58
156
260
44
421
808
202
473
602
99
496
369
807
585
985
166
111
297
465
480
520
362
948
607
650
877
342
327
765
144
561
248
360
562
597
920
917
925
931
401
743
249
158
327
686
179
391
717
845
444
49
195
141
13
979
744
198
313
360
695
302
510
878
897
179
557
722
393
653
342
956
680
590
533
175
523
560
99
56
938
266
20
213
354
677
540
208
194
52
335
819
803
695
81
295
428
349
132
446
729
740
376
338
940
834
188
636
588
544
891
727
166
471
726
708
680
283
106
697
734
151
197
516
56
563
631
63
837
786
737
871
282
831
31
442
719
358
847
43
873
523
275
167
715
644
384
445
793
462
986
54
226
976
687
351
407
600
541
586
309
326
695
322
236
762
188
766
605
721
807
402
429
10
457
344
396
375
446
842
16
781
824
13
502
620
98
966
299
226
869
308
187
815
659
630
281
583
842
199
706
340
928
91
155
407
358
656
32
765
271
550
382
461
925
589
975
820
6
736
436
79
869
289
350
831
235
352
256
671
469
745
880
15
22
764
709
402
489
764
259
295
303
580
868
80
163
697
991
374
686
195
737
101
55
558
85
397
276
275
895
676
719
871
36
612
360
216
452
109
484
100
992
552
42
45
3
847
82
439
4
543
420
118
909
80
915
637
724
880
936
458
440
69
516
13
331
712
303
851
729
191
272
880
577
482
35
310
677
790
875
566
865
922
424
221
590
387
870
121
482
63
390
452
484
515
209
126
987
504
856
199
301
589
676
181
730
676
711
269
490
568
29
395
402
135
662
10
312
420
258
985
651
961
611
641
380
875
117
250
882
773
843
907
664
876
640
277
462
678
959
82
633
2
628
859
45
134
498
162
27
622
605
460
458
380
35
811
436
107
90
173
55
693
507
206
986
747
125
221
240
394
467
642
887
688
208
746
661
295
736
876
979
944
927
330
937
987
497
531
941
743
289
102
607
737
341
140
144
330
896
61
176
494
636
25
992
816
313
334
485
908
769
623
464
826
948
8
337
121
194
576
279
358
583
754
44
204
375
399
211
420
840
613
906
238
788
977
58
578
6
428
194
438
835
69
718
620
886
292
58
412
933
158
5
827
222
379
988
580
56
334
979
4
797
722
227
576
783
631
235
325
493
599
638
194
398
60
670
842
156
207
460
39
829
895
801
55
851
573
185
958
683
276
749
668
221
433
568
656
355
150
187
534
474
328
728
390
922
193
937
958
404
173
110
241
675
620
422
817
973
898
101
707
701
472
763
47
304
360
130
281
32
725
592
735
946
871
367
444
16
641
277
292
590
934
246
232
747
686
680
566
875
668
325
503
360
469
1
902
588
48
812
547
533
334
100
350
415
48
262
795
582
437
643
672
340
551
868
293
472
876
555
949
310
438
301
254
152
86
341
684
338
87
662
957
183
678
394
674
214
562
339
387
79
849
773
795
981
665
635
284
768
717
898
880
483
211
485
781
140
860
280
34
801
1000
963
711
908
715
992
570
435
335
677
489
215
504
362
187
506
920
373
346
480
146
27
85
492
448
294
919
237
387
764
27
33
446
35
750
887
403
224
842
818
728
522
241
697
782
657
82
378
213
888
117
590
852
824
508
347
409
131
238
851
691
191
154
655
143
756
168
231
168
822
632
548
593
878
106
281
573
124
363
488
362
242
363
644
807
531
977
669
552
37
332
935
623
192
339
988
277
473
773
457
997
382
620
112
598
771
852
962
783
56
20
25
710
992
752
688
888
450
177
534
32
916
397
794
158
345
348
609
832
572
752
700
338
835
84
101
91
686
14
588
410
510
355
720
755
59
842
336
945
452
433
852
143
776
495
700
653
321
374
801
942
581
774
550
889
450
109
785
286
452
387
1000
653
247
271
590
95
126
622
720
7
636
787
357
661
940
294
415
929
681
414
854
760
46
267
169
611
929
57
216
882
836
746
887
941
567
937
214
739
321
989
970
217
65
755
395
1
756
838
457
171
887
859
272
98
584
771
634
292
272
604
251
980
682
468
80
597
10
980
663
917
118
180
596
346
647
272
312
176
704
352
384
555
867
26
920
649
816
907
873
140
438
704
470
891
479
788
808
619
355
26
225
317
413
106
269
535
177
963
815
135
414
108
840
242
712
108
594
333
112
63
365
599
973
12
952
618
162
198
968
266
38
938
985
854
623
785
465
937
773
910
2
229
576
899
791
970
546
976
19
934
368
41
653
486
72
492
477
126
11
162
406
266
143
347
715
638
750
557
241
922
668
43
611
642
393
515
368
643
704
956
559
591
441
939
197
741
926
232
648
411
239
637
680
44
231
373
259
245
657
440
91
79
596
966
484
651
517
458
307
611
530
219
687
423
140
641
920
526
2
306
674
916
806
162
75
350
188
96
176
777
509
48
148
268
102
877
800
461
434
372
145
458
560
901
440
917
519
320
543
429
777
444
582
417
267
771
114
948
781
528
569
87
427
185
717
817
124
875
382
363
325
833
77
927
182
136
542
256
186
105
465
310
185
313
31
244
449
806
929
809
566
868
893
832
505
948
706
159
41
356
986
282
973
774
397
460
924
40
634
369
460
563
210
349
995
701
844
553
926
353
55
968
5
793
599
948
472
593
669
13
615
917
886
301
19
810
314
988
303
419
262
369
624
112
183
784
401
892
676
238
93
907
328
123
521
656
963
327
724
409
477
90
449
521
840
127
970
235
198
319
462
704
643
631
428
764
77
686
11
116
850
969
388
294
818
20
721
292
598
962
581
285
941
816
648
185
66
69
305
968
836
706
593
930
477
306
543
679
84
190
10
701
729
199
197
103
472
292
426
213
770
907
98
261
692
849
435
24
817
695
750
427
579
969
93
373
33
904
137
202
18
231
241
951
963
532
368
492
792
60
622
461
11
277
939
302
585
836
25
99
731
799
867
114
882
98
335
941
244
228
323
290
73
39
137
863
855
724
965
96
26
34
36
583
493
775
683
393
582
581
790
514
762
214
207
498
536
710
212
405
463
379
293
284
379
826
894
736
153
5
838
223
182
993
897
771
852
728
88
473
948
412
319
684
757
543
337
983
339
510
70
75
273
867
567
888
973
432
613
236
521
830
673
418
892
127
72
755
948
582
675
294
457
589
45
352
958
123
915
964
569
763
938
821
226
798
936
970
369
494
278
327
423
162
740
664
887
784
732
373
323
514
155
651
993
722
674
885
808
62
905
500
551
805
40
615
29
479
871
424
938
270
236
866
573
422
233
65
362
332
923
263
242
835
384
473
246
804
998
482
5
62
814
887
234
337
525
830
875
861
799
773
625
1
921
784
393
224
559
714
246
693
687
497
666
321
726
794
715
742
558
119
872
178
951
230
740
177
780
404
554
512
892
557
458
920
711
575
230
751
77
993
391
826
940
809
984
867
487
709
385
850
47
129
294
378
978
296
660
998
866
190
425
105
501
887
842
801
716
547
715
507
659
644
31
351
906
31
242
431
444
191
541
311
974
327
117
808
313
473
758
561
366
548
42
891
728
446
36
344
666
964
966
556
913
380
948
817
40
313
944
390
446
454
239
182
218
699
164
811
632
494
181
583
58
937
298
28
438
503
146
138
297
676
263
472
983
10
196
331
474
818
824
426
374
299
554
18
887
957
635
239
567
796
105
179
749
840
386
270
850
961
6
798
172
103
763
63
242
186
766
384
950
741
848
771
678
183
91
508
595
545
705
435
848
372
563
664
104
964
574
1000
466
171
419
395
690
960
497
302
317
90
451
132
106
207
999
738
659
645
940
331
954
166
46
542
227
54
353
235
603
590
133
488
480
87
686
727
351
999
61
284
626
258
939
613
123
603
676
738
966
108
913
183
965
664
916
366
254
562
527
197
518
4
657
242
26
314
593
921
892
227
205
50
499
245
739
926
80
29
47
941
306
719
36
443
500
941
170
702
43
644
903
970
298
998
323
584
549
414
245
873
497
244
662
989
282
950
714
412
245
318
841
469
416
98
613
254
694
43
808
226
323
847
650
286
909
791
395
686
232
287
23
4
321
189
860
644
374
693
487
458
731
791
695
381
878
465
177
420
804
655
956
911
884
249
403
788
758
832
463
606
187
78
334
540
538
129
171
190
691
790
950
887
983
949
819
354
35
222
193
643
741
215
460
768
173
994
237
138
195
211
249
230
94
872
181
948
327
721
346
900
813
472
878
479
827
594
260
990
966
863
400
10
468
328
301
635
254
633
108
62
369
39
952
613
583
217
471
220
38
200
8
92
325
29
728
17
874
371
269
359
746
282
850
493
746
235
98
878
578
523
934
846
391
368
930
635
431
611
136
420
191
361
932
331
268
865
469
988
296
303
216
254
475
497
839
356
376
882
334
930
2
766
227
763
574
708
135
170
790
481
8
889
388
640
886
818
520
140
244
174
230
702
775
486
739
760
356
134
383
608
614
993
906
979
910
878
42
743
244
310
240
167
390
335
369
774
683
254
211
717
139
176
502
41
950
886
112
857
404
263
529
762
224
894
841
59
426
744
81
19
836
210
212
778
364
931
123
597
631
201
325
569
10
424
259
574
512
855
12
865
247
237
820
456
578
485
718
253
130
564
758
360
454
382
354
223
649
457
146
577
889
945
473
51
609
807
406
132
430
592
436
820
722
59
683
778
597
996
620
768
93
231
241
564
87
981
688
174
775
132
411
984
216
3
533
199
628
886
813
241
926
191
572
44
510
58
429
442
268
553
969
756
52
826
424
705
710
776
23
719
433
140
601
715
930
696
374
160
957
157
891
323
155
770
248
4
519
888
332
621
526
263
778
556
643
40
857
652
472
324
386
559
550
846
890
55
674
586
98
880
81
345
754
869
346
735
252
80
382
747
616
400
510
736
794
474
227
263
879
257
2
407
757
887
584
337
561
964
280
707
172
537
38
824
637
563
415
400
429
290
416
150
96
253
544
813
983
355
340
623
63
102
63
271
886
464
219
285
678
752
512
291
332
463
7
345
797
573
533
94
483
472
639
812
246
373
686
522
133
235
547
583
957
704
46
137
32
245
558
910
449
213
290
716
186
431
67
23
305
130
681
213
238
62
561
924
984
416
559
10
406
130
437
46
515
115
260
461
43
633
266
686
992
818
875
721
486
701
883
890
951
419
577
582
99
618
211
685
145
444
373
558
807
96
747
247
780
83
777
688
519
197
415
380
534
443
168
753
22
166
976
69
637
56
762
969
481
567
408
292
843
341
657
185
952
222
440
610
202
670
155
437
364
49
635
547
68
908
867
264
774
96
637
265
439
601
347
415
185
839
275
427
538
241
657
114
61
282
357
2
573
267
979
418
472
658
30
246
76
117
279
915
398
677
722
812
941
648
331
89
355
759
392
89
178
666
215
427
359
414
788
754
522
498
130
312
279
564
538
828
766
632
839
961
280
14
581
261
619
173
281
320
604
742
361
373
113
390
779
431
561
779
393
273
219
735
743
550
530
912
428
314
839
78
346
910
889
511
35
589
974
999
514
401
959
729
576
313
647
69
331
71
974
517
171
948
383
176
893
685
99
625
136
263
91
784
885
430
245
817
419
428
226
510
221
731
469
950
956
920
217
642
164
782
98
59
867
932
289
173
12
826
494
856
318
977
561
826
256
167
906
884
952
175
322
152
378
536
83
735
977
713
453
768
133
217
373
397
336
399
82
205
67
72
139
793
142
970
822
134
146
385
206
785
422
345
176
33
761
780
187
330
373
200
289
513
686
693
37
198
588
104
71
873
460
613
562
875
123
704
626
509
428
337
263
866
25
89
598
470
901
760
293
442
48
680
829
332
341
586
642
780
940
405
917
142
404
870
477
531
250
355
330
914
550
440
589
661
460
80
70
117
438
675
654
464
349
23
617
430
673
717
501
453
962
354
482
409
434
937
164
492
406
728
811
482
904
818
838
725
597
606
249
839
326
264
16
90
527
523
73
265
949
761
359
600
306
437
322
135
308
603
261
923
38
627
53
789
278
465
389
555
54
725
637
132
725
410
953
840
556
928
383
198
837
466
38
14
5
289
292
362
259
838
161
398
572
447
640
916
922
639
191
812
86
262
161
972
589
281
329
339
604
643
782
125
977
67
161
41
166
640
425
268
128
311
759
133
75
406
397
955
648
785
290
708
595
689
938
867
664
228
449
830
367
474
433
172
635
142
426
738
38
842
129
351
410
27
343
45
594
744
959
737
210
883
505
242
292
209
691
453
625
618
343
374
913
525
266
962
268
276
686
76
476
641
629
214
897
93
311
791
418
433
506
444
476
153
838
587
775
365
762
79
955
263
21
731
535
705
432
171
524
976
355
2
395
604
421
107
841
648
924
159
564
650
590
10
50
530
117
218
735
49
900
877
89
531
45
522
945
636
182
840
691
320
419
829
460
432
108
668
201
129
337
134
488
272
905
972
215
244
814
809
991
944
942
791
223
593
708
923
478
614
951
171
743
762
812
98
899
1000
115
26
22
195
488
380
265
430
237
800
707
492
681
282
616
85
216
798
684
125
552
246
245
409
41
176
245
441
492
438
750
643
314
779
52
669
121
646
967
333
814
584
772
488
536
369
800
378
590
855
381
547
787
958
909
785
292
472
490
857
229
184
516
969
596
418
809
566
918
541
811
604
912
530
906
649
816
246
253
468
750
8
691
899
394
240
329
549
837
52
47
494
348
52
341
674
276
417
644
299
159
305
58
606
25
911
692
246
964
117
387
425
60
359
61
734
930
288
176
915
384
314
89
518
781
852
160
990
490
886
642
475
402
47
905
605
911
92
415
676
525
673
292
416
560
826
452
979
9
533
717
434
935
261
491
163
253
556
566
146
967
645
337
385
785
228
121
884
7
653
150
234
767
974
717
316
487
836
497
182
337
283
654
630
151
701
109
194
186
915
190
106
944
77
226
205
746
874
545
746
107
668
297
842
924
655
941
40
210
759
832
141
898
369
284
70
388
930
448
236
424
317
930
679
918
990
717
329
558
724
170
432
751
998
340
15
735
426
518
298
35
312
789
643
232
693
225
476
503
618
741
634
397
526
140
391
695
275
999
611
808
817
391
751
137
994
533
666
241
130
352
189
711
166
41
945
204
514
3
939
820
951
431
284
278
830
661
410
670
226
746
212
75
639
667
206
873
731
959
357
513
802
489
303
967
258
310
570
7
927
762
337
80
826
404
307
849
693
851
366
655
322
796
959
844
254
486
474
111
902
379
850
929
789
207
804
711
331
521
750
980
881
899
564
129
744
541
251
638
241
248
563
858
704
772
358
273
831
817
760
847
623
218
672
671
468
638
472
505
596
141
19
738
773
727
442
769
935
174
525
223
589
838
392
682
400
449
531
8
835
382
643
160
624
463
296
304
895
987
765
191
648
554
131
198
372
493
226
451
507
802
294
589
24
916
906
545
345
194
289
960
38
467
641
296
480
351
405
359
45
221
541
40
775
260
357
594
512
404
280
773
39
522
461
628
91
447
432
735
777
759
928
722
938
799
113
559
778
314
950
953
558
18
449
241
146
131
490
912
787
665
155
598
268
504
37
914
711
147
516
197
138
580
625
790
970
565
157
710
859
345
376
589
980
423
616
835
978
94
174
316
162
322
243
964
5
798
264
946
27
288
426
440
854
500
260
615
419
396
459
980
878
153
182
196
622
773
299
864
222
779
593
635
372
824
410
43
338
137
532
867
239
4
819
540
924
573
84
784
920
826
627
668
850
585
854
204
933
798
916
90
258
629
101
30
961
21
615
512
685
522
733
464
418
984
956
718
513
112
589
57
742
814
447
7
561
781
128
117
110
105
737
287
92
521
807
39
715
370
727
511
277
54
55
455
502
318
680
547
776
587
824
745
102
518
313
666
106
452
131
869
72
352
62
669
375
849
463
285
926
186
970
345
270
569
584
949
852
559
106
367
359
465
449
517
390
691
637
485
490
262
996
162
116
249
691
486
50
760
799
413
270
428
904
305
560
257
392
987
719
939
946
537
139
746
439
748
184
972
403
359
429
716
577
424
458
852
207
606
902
279
220
159
613
456
445
206
932
597
987
876
506
70
358
778
57
168
870
232
909
456
250
585
464
49
986
828
958
293
994
648
783
196
279
287
314
976
680
786
254
116
748
147
33
83
513
670
29
576
309
889
868
765
261
966
192
42
3
216
373
241
343
836
984
263
789
4
59
260
137
41
950
187
357
588
924
551
187
435
318
985
978
937
919
788
691
361
232
923
314
869
375
637
63
769
819
439
199
728
775
756
855
870
255
542
240
531
293
938
624
816
931
328
176
121
187
520
610
782
695
169
208
483
944
964
399
703
959
869
812
153
882
202
703
967
608
290
865
398
358
630
438
960
976
378
958
814
403
524
464
561
180
807
682
143
544
11
55
51
406
206
810
213
659
220
454
992
978
239
876
570
13
777
47
973
20
182
158
595
526
79
827
395
858
917
830
285
43
557
620
610
225
464
167
18
688
382
235
637
831
484
392
448
998
505
327
430
842
924
788
18
252
15
702
621
37
609
413
233
978
702
10
191
612
77
502
959
245
308
546
654
645
719
19
446
993
47
703
272
705
768
682
598
233
127
625
723
642
62
649
252
371
208
856
235
228
463
830
696
291
942
528
483
774
489
94
234
804
75
764
908
886
309
928
529
745
87
758
486
842
370
832
664
148
11
66
649
640
723
61
555
932
522
151
573
181
473
267
24
77
125
864
205
729
15
22
370
196
973
13
316
498
532
950
24
759
151
156
416
185
467
34
552
487
750
473
81
452
383
387
715
866
906
122
113
877
707
546
838
659
665
289
129
573
783
634
27
839
594
118
758
592
171
222
620
20
923
897
421
17
702
212
386
261
521
505
683
853
340
366
653
612
710
127
1
946
708
318
100
546
496
311
652
269
167
494
543
365
729
157
594
175
742
702
179
900
557
856
984
40
332
945
902
223
592
718
561
616
662
363
990
129
142
858
705
676
528
454
261
346
386
647
473
175
523
930
157
370
76
307
520
585
126
995
371
334
687
651
49
117
473
403
497
219
746
81
907
398
485
798
148
651
830
632
705
931
688
676
154
777
189
24
198
95
151
964
575
602
686
760
514
18
75
289
43
225
106
804
47
233
49
134
93
694
274
744
694
879
243
158
92
227
439
842
69
845
120
62
608
721
666
227
473
374
965
836
41
740
80
303
595
168
80
113
77
290
484
455
495
618
117
566
971
344
720
966
932
456
187
990
681
898
802
738
701
459
281
610
914
367
175
175
86
468
393
191
175
578
454
965
616
520
230
951
249
209
916
663
596
639
555
463
82
202
639
743
583
844
921
410
851
716
400
88
372
243
759
823
818
561
975
765
236
429
264
322
766
145
972
690
676
892
993
882
928
177
161
295
548
452
919
757
923
704
958
701
347
360
619
391
129
448
372
926
311
869
769
898
598
597
14
279
448
810
953
513
899
439
655
661
304
453
130
182
476
633
534
120
250
168
497
864
337
240
939
854
624
832
56
803
17
974
60
196
431
559
673
678
759
429
919
684
779
892
440
972
492
121
437
249
834
584
830
471
364
412
689
356
984
273
849
526
561
992
968
287
158
208
22
442
837
340
854
192
588
459
221
846
597
105
524
503
594
58
212
852
838
134
102
752
372
379
721
980
889
313
303
294
969
693
581
663
92
236
434
41
653
117
477
236
696
242
393
153
972
302
957
734
441
515
836
288
228
241
676
446
460
967
954
446
624
548
144
159
608
207
123
346
187
842
259
515
710
657
834
119
142
601
926
183
225
834
270
950
710
671
988
459
314
671
491
157
520
139
949
914
177
278
614
345
74
439
922
224
102
451
809
537
188
862
557
268
320
668
699
912
168
189
761
320
152
313
454
413
658
824
347
216
86
842
952
147
669
575
549
768
426
697
395
146
664
40
796
496
214
543
345
595
624
541
776
234
595
860
643
830
174
137
231
312
185
14
38
183
216
277
701
595
926
595
68
826
844
744
658
785
36
884
189
640
533
308
326
14
103
231
711
525
571
944
325
332
811
42
588
55
722
454
371
853
831
791
365
383
536
686
351
884
580
954
429
519
743
413
736
525
576
81
832
113
809
908
124
535
582
145
584
454
225
895
275
315
124
346
463
744
83
907
60
974
917
939
89
431
853
654
936
445
755
620
210
831
194
31
153
574
247
874
747
562
884
853
226
593
342
767
405
962
571
851
212
509
978
415
428
907
640
331
177
863
785
902
754
879
424
633
897
505
856
880
926
844
807
589
988
354
375
858
952
611
320
484
439
299
768
992
588
646
564
950
800
135
940
905
375
78
290
984
166
305
666
326
940
581
968
570
964
803
199
920
388
211
970
983
130
863
62
962
293
498
743
698
733
682
450
458
708
455
822
759
206
862
114
590
794
204
982
225
399
761
53
481
196
59
772
463
895
68
933
474
586
546
77
183
564
775
574
510
889
731
465
658
805
106
791
447
284
118
809
584
93
94
842
539
225
17
928
234
647
15
399
220
191
793
928
71
311
783
464
570
204
132
726
253
591
338
765
389
783
971
568
520
367
580
522
900
698
384
705
479
660
935
143
437
959
853
755
189
922
664
131
95
253
261
195
853
163
488
341
139
285
930
635
445
920
546
388
981
51
864
460
276
409
25
404
169
435
717
492
905
635
273
700
509
195
400
591
372
901
692
569
442
208
272
863
691
301
620
720
679
893
366
1
980
895
523
625
267
584
69
958
710
703
53
448
314
772
862
796
472
487
407
388
573
612
103
523
627
370
782
547
750
149
59
663
378
675
375
477
267
878
900
183
521
983
221
598
132
432
754
807
945
996
529
318
849
786
56
199
219
193
296
774
569
563
639
840
920
767
209
126
46
580
659
634
745
357
297
126
774
858
143
565
973
620
780
917
991
883
339
889
610
945
954
34
764
507
902
445
646
921
705
895
447
353
423
955
849
118
74
714
927
930
796
148
180
78
317
444
798
259
439
506
451
273
123
318
444
487
123
775
584
841
733
626
666
492
94
930
238
738
600
848
223
114
88
387
510
933
564
372
633
580
877
366
449
628
893
55
177
175
254
398
886
812
943
347
370
473
398
641
100
404
199
764
946
80
692
983
220
742
541
179
467
984
946
10
637
72
66
639
442
816
724
656
24
589
644
544
599
571
777
143
27
609
785
540
683
338
905
191
21
533
775
964
700
117
703
495
825
69
7
607
103
255
716
543
678
716
605
55
398
703
844
379
312
693
381
364
459
60
370
941
359
147
803
710
935
887
453
690
608
890
104
702
844
614
133
233
877
889
859
450
548
754
341
527
654
392
880
73
905
509
346
507
201
902
798
860
265
449
948
217
269
185
722
109
164
7
576
123
291
367
872
575
321
8
439
986
488
256
117
52
334
630
429
781
544
290
838
180
588
565
403
77
222
757
918
256
331
805
374
696
109
287
283
15
192
302
978
856
799
943
875
117
562
549
315
239
144
153
101
775
345
849
754
823
778
585
863
640
695
897
786
986
581
868
809
834
257
430
76
67
651
290
351
831
554
578
33
889
595
165
6
865
746
632
423
613
432
202
859
902
608
618
573
908
44
41
757
43
70
703
202
900
99
700
119
900
499
914
524
326
49
922
171
305
812
117
624
103
424
357
495
849
950
657
812
348
163
924
350
797
546
148
885
42
51
933
216
288
820
838
483
680
576
625
39
851
935
662
749
250
625
414
697
559
530
635
724
723
486
447
669
578
241
316
376
291
524
564
648
309
336
981
999
692
689
342
838
730
444
924
194
228
376
809
540
508
886
13
536
941
49
434
817
855
309
873
293
166
103
744
248
985
737
818
252
912
321
860
866
864
19
417
105
780
384
558
357
449
441
150
999
484
580
311
568
313
756
701
823
283
983
790
98
167
347
947
855
332
589
774
883
450
129
78
408
401
692
314
125
758
815
317
189
320
892
490
602
142
31
429
472
165
483
734
772
861
187
993
348
196
802
629
649
2
556
685
403
191
558
111
53
243
561
971
177
6
235
999
63
397
266
151
193
239
503
404
335
140
572
116
550
919
341
889
205
498
562
644
265
515
215
186
444
119
534
322
481
409
296
792
658
927
752
53
701
804
496
486
812
53
733
453
953
268
227
592
467
738
911
718
483
865
258
996
36
20
694
839
703
184
354
315
211
127
277
644
405
12
336
520
985
814
276
919
308
365
736
93
37
216
924
515
784
669
853
627
180
395
814
931
220
475
78
23
694
249
628
549
622
121
705
365
975
943
373
302
709
874
612
734
980
336
130
960
295
588
554
556
641
931
439
711
965
815
916
222
355
644
89
197
770
895
40
848
199
178
353
177
498
203
257
926
489
684
608
557
487
607
262
218
206
600
59
267
60
381
842
95
513
7
456
336
830
868
424
9
242
875
29
239
90
991
22
480
706
112
286
66
604
316
602
757
786
153
624
821
836
464
584
730
888
231
611
750
768
794
776
177
722
253
656
988
783
193
187
970
15
265
227
925
753
509
304
805
119
590
826
781
523
31
263
923
249
479
37
451
334
506
333
309
450
348
127
466
46
903
754
344
897
467
543
654
135
97
284
152
453
148
897
41
66
76
268
653
703
911
348
337
117
894
928
426
258
951
576
826
321
661
241
58
73
967
871
671
603
400
11
982
219
553
613
946
125
334
332
136
409
849
422
270
245
169
301
775
213
377
796
623
864
674
946
453
918
284
728
99
371
409
404
838
798
73
506
852
959
291
781
579
842
771
986
205
73
595
365
21
556
84
948
777
818
574
565
329
694
549
992
114
728
798
428
400
65
418
770
839
246
184
956
484
243
522
597
565
266
976
308
530
214
567
968
391
396
291
432
730
696
893
393
581
404
768
357
160
291
557
829
749
129
336
502
750
229
674
330
509
81
629
723
139
925
926
655
441
810
199
319
903
351
531
576
349
37
665
568
89
995
292
910
241
858
805
594
350
59
238
758
154
84
177
389
430
305
116
637
461
936
752
200
348
314
606
709
266
974
484
885
846
192
21
62
349
343
935
509
924
97
458
613
463
617
790
372
722
55
444
117
192
723
946
348
69
155
579
918
189
973
225
626
983
868
313
153
215
752
540
751
867
952
688
160
175
229
365
52
15
743
252
171
798
853
939
250
815
816
214
876
200
21
74
500
449
182
674
225
373
550
435
362
445
314
676
311
602
584
288
12
293
501
518
125
66
368
640
90
153
352
270
192
653
461
618
630
367
31
294
376
966
171
631
576
904
788
120
205
27
837
288
442
581
42
234
69
162
241
726
993
938
935
945
568
722
872
19
233
753
553
998
232
870
675
84
222
91
463
27
307
360
392
284
290
576
173
268
820
372
973
603
332
870
387
38
627
440
963
526
727
112
271
958
409
342
469
12
665
648
475
524
981
720
327
330
538
622
875
252
432
630
815
239
663
431
731
457
330
678
955
158
143
619
601
197
369
921
833
174
823
967
545
413
712
471
731
779
590
763
74
342
806
540
102
529
630
460
830
103
986
545
489
653
394
715
208
594
194
452
302
253
241
656
220
648
108
388
955
423
887
731
935
68
141
918
894
834
87
760
665
142
915
107
440
805
349
910
645
684
359
744
761
663
13
365
442
783
9
355
441
531
556
815
15
364
766
353
571
629
898
126
751
523
160
784
606
167
325
932
687
848
991
163
406
935
891
639
442
278
873
303
475
485
110
943
287
270
401
330
202
989
241
733
154
236
396
552
680
723
599
860
505
89
276
600
441
204
281
932
13
874
634
793
747
2
778
575
379
127
22
228
624
660
270
286
156
488
425
753
991
256
740
871
435
483
247
588
192
462
144
284
927
512
193
472
484
477
136
171
538
385
258
741
558
207
481
567
110
878
867
945
508
838
958
859
591
827
412
111
964
671
890
698
214
880
475
524
643
858
144
891
62
569
881
912
645
330
620
104
434
30
490
724
702
737
146
535
632
574
953
1
549
938
840
487
347
470
402
699
10
392
804
325
728
404
40
88
31
66
464
725
761
768
206
195
295
705
353
122
722
166
461
909
294
476
674
555
324
565
153
41
842
73
363
939
260
384
47
836
697
192
967
935
671
967
927
996
538
734
226
900
7
735
846
254
488
975
731
43
110
797
364
496
822
343
334
247
476
52
902
303
127
801
42
642
461
603
79
964
144
982
920
648
212
995
641
247
998
418
802
282
398
882
672
20
172
586
222
292
958
979
474
1000
802
826
949
285
317
646
261
504
705
823
798
549
375
809
528
890
138
7
666
704
557
891
476
686
637
296
596
405
692
823
231
536
747
968
917
259
55
347
622
864
365
651
359
489
727
999
703
78
549
382
671
508
17
797
246
415
590
804
392
280
943
933
659
489
133
488
894
122
926
628
804
123
157
990
508
485
415
709
177
30
742
343
258
25
982
623
288
742
948
48
993
777
528
473
444
171
649
402
1
628
340
589
544
847
660
40
237
712
797
956
907
526
767
127
748
860
956
810
670
508
627
172
372
344
868
210
966
705
462
763
767
609
413
898
19
488
344
398
712
240
619
698
972
117
660
650
837
947
382
716
871
376
723
880
827
410
180
850
234
710
199
531
54
836
957
745
997
908
285
559
723
234
375
955
579
968
419
33
644
748
171
354
501
857
868
650
723
429
473
198
582
29
713
816
162
86
981
525
162
355
211
355
920
843
243
211
729
161
927
82
20
812
374
740
141
471
980
556
557
854
305
79
642
155
61
505
955
807
47
529
880
234
228
711
525
417
513
271
441
865
555
43
701
64
740
111
676
443
675
504
202
138
799
868
870
45
792
630
135
201
76
898
256
887
307
838
39
696
343
199
511
227
471
930
675
5
929
554
183
36
321
1000
917
332
954
601
695
425
559
274
347
11
165
920
466
210
707
390
116
374
911
488
571
896
52
395
203
601
300
936
185
262
607
638
897
935
974
293
901
579
50
377
562
632
604
161
302
31
527
436
994
378
715
872
966
996
27
946
728
545
406
39
103
530
738
352
898
967
51
148
617
113
750
934
167
240
266
839
920
828
344
1000
505
866
720
937
377
552
437
202
370
675
707
825
674
786
280
111
765
680
243
98
723
158
600
928
28
337
921
558
695
256
79
373
757
367
150
792
262
650
984
404
741
938
791
927
856
134
69
583
594
543
396
632
949
858
409
250
245
939
454
932
876
982
509
79
164
799
466
534
100
731
89
986
793
558
940
353
622
495
432
963
110
675
462
446
23
206
305
72
760
281
734
759
511
680
775
716
315
387
732
795
339
915
86
193
170
49
368
220
765
365
239
927
292
186
307
478
568
406
162
566
177
756
223
451
134
661
792
880
242
66
608
495
806
335
600
107
809
846
926
130
838
65
567
520
931
8
983
654
687
389
742
19
339
954
798
117
314
567
368
250
422
871
205
229
23
963
718
883
196
59
108
728
614
11
251
734
529
187
73
648
783
156
101
373
739
741
118
173
384
654
618
129
968
469
73
543
534
819
842
349
245
406
242
701
860
225
240
174
488
408
104
597
404
744
834
481
876
291
566
71
824
497
505
744
254
340
581
952
38
99
854
937
377
265
831
591
623
622
341
30
210
88
974
546
687
656
148
266
384
877
663
475
15
61
297
338
955
835
503
176
171
816
323
676
869
868
822
352
672
503
362
555
467
36
139
887
892
560
421
171
421
711
537
482
494
207
489
351
374
973
716
880
478
617
355
979
291
196
317
738
281
918
554
553
271
136
797
557
355
458
364
498
55
79
400
341
203
515
644
319
629
255
169
733
18
101
517
340
309
458
237
192
867
634
182
468
318
79
233
420
797
419
591
208
806
446
522
997
177
763
66
560
944
735
388
520
401
214
251
203
176
634
629
733
349
177
733
206
620
79
836
107
65
260
376
587
978
994
844
800
453
59
504
838
175
550
486
66
103
889
909
76
370
964
822
677
911
246
805
873
619
559
282
365
592
140
470
247
812
801
758
502
381
21
702
571
48
675
15
794
237
960
334
708
784
979
446
237
64
871
224
634
390
864
537
180
941
144
812
296
443
728
545
552
925
752
281
474
191
478
668
944
976
784
531
216
688
333
333
760
23
40
270
834
431
470
47
429
117
654
43
147
843
153
664
779
294
581
558
669
983
912
727
732
499
302
235
897
235
790
811
609
154
329
377
646
478
605
308
529
560
717
99
902
115
507
258
650
73
825
627
468
748
658
491
173
288
134
641
701
425
765
300
407
854
95
370
949
135
425
871
656
196
704
462
53
392
965
440
900
271
262
78
73
95
528
116
214
271
239
248
896
605
501
521
982
846
742
513
151
332
623
114
363
57
452
737
105
706
488
265
151
960
979
387
486
358
529
670
309
53
197
927
542
840
228
420
421
470
198
963
786
117
451
214
788
579
229
506
54
984
897
351
202
788
134
481
95
659
263
42
556
397
659
370
257
738
73
561
512
934
535
175
413
763
928
838
956
934
599
694
984
492
473
290
942
229
48
562
25
845
5
281
450
441
98
936
859
745
591
962
643
492
991
214
200
363
286
90
936
505
628
995
582
551
866
981
580
718
720
919
837
369
844
421
966
882
262
935
209
682
892
733
429
839
400
726
522
398
21
922
293
182
483
999
947
759
18
344
275
53
514
835
112
991
633
217
569
966
802
377
720
566
55
541
159
360
106
896
206
871
173
929
383
748
805
683
727
11
82
528
577
89
764
888
104
763
528
42
184
871
310
401
362
94
746
201
685
495
333
431
58
851
972
112
939
728
936
839
773
844
213
927
618
560
282
518
943
512
402
897
414
419
973
940
7
554
27
922
940
81
515
275
346
473
697
330
21
588
185
947
761
139
621
149
438
99
419
701
966
492
303
454
421
875
38
341
778
906
759
469
479
989
43
444
303
195
518
688
776
294
309
947
468
407
110
651
856
241
660
416
539
694
541
491
832
304
720
491
4
904
756
413
581
899
716
874
756
689
134
242
387
13
63
588
600
781
659
754
527
98
255
393
643
116
147
129
116
395
357
273
739
870
185
885
840
524
429
491
207
683
618
893
125
417
213
732
557
838
662
794
781
324
225
764
165
891
448
55
39
434
175
914
477
115
675
796
441
217
644
388
652
226
587
528
578
581
626
176
774
913
338
903
313
33
380
126
796
31
952
925
413
569
297
264
551
248
405
942
437
394
66
314
555
208
999
510
496
15
453
616
637
904
51
6
51
157
589
726
660
551
667
907
660
759
444
789
53
751
213
840
138
577
309
934
358
589
580
981
688
821
294
43
920
571
517
865
748
544
495
934
73
808
605
890
255
362
178
238
789
839
525
949
645
461
298
486
75
820
180
298
205
272
546
336
787
721
324
116
493
95
364
957
669
835
168
746
89
876
926
899
323
357
271
968
559
839
780
937
718
379
27
612
267
317
598
322
38
520
370
572
66
774
26
9
388
422
974
499
211
250
74
856
969
339
763
358
955
865
239
558
37
674
444
278
895
582
94
198
282
551
607
976
451
397
132
903
466
649
812
735
21
207
60
505
591
656
882
997
262
350
689
258
532
118
22
710
493
525
462
232
33
149
205
699
920
111
371
912
267
329
83
982
533
151
499
206
588
478
245
35
615
431
600
213
782
934
447
98
552
629
798
155
770
733
336
430
751
629
79
142
24
920
71
873
77
856
725
620
576
465
704
148
130
820
346
878
270
328
431
492
78
102
118
484
42
761
734
773
222
722
623
987
760
805
482
980
543
980
37
959
122
833
586
910
235
708
386
149
339
1000
998
883
753
716
986
885
487
226
742
131
101
393
233
908
683
372
687
192
132
832
763
433
760
605
911
94
128
663
275
264
680
240
459
85
446
983
337
70
444
434
139
800
562
50
826
533
927
666
103
635
630
173
625
389
656
871
395
107
660
463
32
871
724
133
497
80
497
265
989
607
695
621
494
547
271
213
927
645
577
517
574
279
966
242
984
438
686
412
559
249
110
655
160
341
460
784
626
652
623
222
162
484
755
560
454
715
222
1
974
57
357
53
645
383
117
126
906
426
167
850
87
80
356
44
275
345
444
472
54
532
344
669
148
53
155
378
9
354
726
796
390
810
402
588
178
565
675
808
159
838
776
611
349
162
393
684
612
826
117
236
222
7
919
81
840
904
75
300
826
246
837
60
123
817
935
739
719
281
239
974
673
73
450
992
563
839
462
803
915
152
624
549
605
363
555
701
396
369
870
836
620
884
484
780
251
561
803
475
225
563
794
415
984
225
873
272
406
771
357
178
80
832
243
790
160
828
257
366
644
26
559
954
85
476
176
289
762
934
730
409
350
396
424
152
874
120
258
207
880
751
152
199
508
362
539
569
141
622
254
730
264
574
327
761
335
971
629
369
997
866
756
84
84
593
117
732
490
445
951
161
188
581
105
846
621
726
65
893
420
297
242
834
815
100
280
644
676
853
16
977
838
490
587
517
141
135
353
764
512
940
136
692
5
564
100
1000
448
468
656
93
389
306
738
408
688
830
697
896
832
669
206
217
532
660
284
938
894
971
78
905
769
556
524
707
289
843
118
614
408
137
411
347
220
711
384
943
406
434
390
109
201
28
509
859
819
324
838
958
721
465
52
785
517
919
787
737
479
196
38
502
659
320
211
616
369
291
979
96
651
642
828
459
875
611
377
634
381
656
699
881
854
200
899
461
4
309
247
456
194
771
643
762
405
338
739
486
463
481
95
979
371
587
533
468
338
55
953
715
243
14
610
942
541
611
216
516
268
189
560
43
769
477
258
524
734
621
664
986
85
152
596
931
84
211
590
669
111
996
546
517
886
994
712
367
609
12
822
960
935
344
291
751
223
309
240
300
278
638
344
57
861
477
624
764
677
947
975
151
952
441
150
421
398
191
716
385
307
638
543
226
617
121
339
420
268
816
225
455
874
727
220
323
752
938
394
316
306
718
666
761
874
246
5
222
531
352
385
332
391
881
416
438
863
782
918
361
586
841
930
642
315
762
990
992
780
740
832
306
368
171
55
806
81
736
838
655
185
581
218
613
11
768
497
768
874
904
92
99
510
809
201
559
557
556
362
620
265
769
675
796
748
183
661
845
893
494
781
276
921
562
245
640
250
600
260
102
321
495
40
70
31
815
416
490
481
587
486
192
9
353
992
266
309
47
58
671
773
248
330
975
408
665
668
149
126
88
973
914
712
413
397
52
968
713
542
753
234
970
481
94
163
347
16
21
310
757
727
525
542
980
901
415
117
884
615
67
626
519
915
712
456
843
689
257
331
90
731
64
148
196
611
607
202
218
31
331
618
77
524
447
206
384
763
193
995
232
717
383
604
7
418
862
780
446
291
78
199
358
56
558
333
536
217
674
634
251
916
198
819
320
34
702
848
790
211
549
376
307
708
828
601
415
454
99
952
304
836
307
16
222
347
878
533
849
97
860
801
320
799
571
265
904
571
14
572
16
500
626
39
956
463
445
68
647
435
810
680
923
573
617
489
809
486
673
261
735
122
809
712
977
913
532
763
273
360
190
650
135
314
818
83
58
147
723
942
225
617
633
270
178
408
564
722
923
927
7
883
674
742
581
17
971
646
433
592
556
352
90
18
770
277
225
611
342
223
746
308
386
863
876
259
779
341
592
600
600
917
157
972
727
755
567
465
734
929
324
952
737
528
117
839
649
817
629
738
734
903
487
739
912
976
720
86
224
967
978
736
868
665
263
816
734
199
675
290
188
755
140
7
891
167
206
400
300
599
932
864
830
621
305
210
836
250
821
530
85
494
288
718
75
580
128
883
377
725
324
699
716
336
892
282
476
117
623
288
713
635
939
104
563
442
680
375
332
603
267
728
291
903
367
325
368
291
951
907
498
79
125
146
360
844
161
711
244
912
742
678
146
212
464
300
236
7
606
326
780
511
855
210
113
730
931
283
554
703
475
361
648
899
387
956
842
254
744
312
492
373
862
325
184
103
206
15
873
246
662
935
240
715
16
916
224
818
936
467
136
560
490
363
428
612
742
586
892
34
184
994
656
765
448
436
94
143
46
911
409
366
557
846
320
929
508
65
844
584
642
549
706
935
781
365
835
624
628
968
880
941
343
138
386
149
472
800
588
313
413
524
676
87
539
37
50
43
983
973
402
305
18
302
335
242
654
890
739
407
449
749
326
374
469
404
614
876
331
872
494
254
389
156
347
335
618
465
828
840
543
72
326
91
331
626
771
85
676
544
206
828
37
581
462
207
15
811
332
796
478
344
69
207
277
161
387
925
303
802
503
785
591
55
418
492
252
32
781
877
210
230
711
315
353
270
856
636
118
562
810
770
681
213
805
879
323
367
303
509
891
872
86
821
883
184
484
105
419
627
233
704
323
539
82
100
676
231
780
946
351
730
621
959
586
277
682
621
876
352
315
114
210
408
385
26
597
913
901
243
456
565
771
617
242
567
91
784
61
607
803
151
1000
410
901
330
827
439
10
925
567
729
47
738
244
221
115
564
686
431
963
709
383
466
377
417
773
315
438
272
720
277
576
261
825
465
87
860
265
506
371
680
595
137
999
16
904
669
687
519
89
584
767
465
872
642
582
26
108
752
82
985
65
555
282
516
322
956
220
275
226
792
111
827
862
524
868
313
5
334
182
417
575
245
6
125
529
996
532
185
727
187
238
519
231
33
447
256
597
572
870
370
74
666
358
162
981
945
233
971
883
644
302
106
269
275
882
500
941
953
864
511
128
291
676
238
29
359
310
932
542
622
714
516
630
334
151
815
659
709
574
291
841
617
70
735
669
754
550
650
947
159
251
74
180
97
630
546
884
324
421
249
251
240
604
332
358
71
508
172
555
148
843
313
4
865
856
438
524
787
292
210
789
204
797
260
649
205
12
833
744
676
481
1000
897
979
836
69
110
67
738
65
857
142
569
291
395
711
78
365
721
803
209
500
927
584
192
829
682
531
193
124
750
737
75
989
854
605
139
661
483
183
217
815
473
725
454
257
143
255
341
267
555
226
397
408
811
960
177
798
827
144
751
296
929
349
162
843
424
896
307
211
846
256
412
221
226
942
494
990
77
825
316
738
265
820
479
757
593
233
238
877
693
912
780
462
666
748
541
256
984
995
233
282
75
197
178
715
844
773
246
268
508
972
336
665
967
779
902
327
188
628
450
870
282
887
274
146
464
924
5
949
359
998
806
793
191
704
362
69
725
594
795
269
131
48
378
729
347
350
831
103
126
726
877
997
718
823
317
244
908
687
528
515
143
570
750
259
344
681
146
788
615
340
743
275
811
960
784
158
243
62
35
565
842
396
589
975
176
285
172
396
874
342
93
874
455
846
224
832
585
656
610
314
386
406
714
454
330
691
501
755
60
867
292
736
567
400
632
49
886
531
676
952
302
110
662
867
723
331
161
967
747
946
935
260
666
63
33
412
138
89
163
15
182
383
72
474
422
311
682
330
770
669
737
681
161
284
86
259
57
576
576
734
939
503
445
360
473
458
264
426
852
309
781
392
202
775
646
52
858
988
588
66
919
633
422
697
471
675
749
26
928
949
254
824
106
887
523
964
464
775
904
316
609
471
949
912
329
680
928
462
704
313
165
742
504
427
942
479
404
891
169
906
660
197
171
494
199
435
527
932
817
267
838
102
448
238
900
921
50
724
430
375
672
273
685
780
613
891
807
353
382
293
410
668
259
669
786
634
763
668
420
910
292
932
222
800
103
409
138
610
569
160
256
992
81
19
441
87
505
561
252
54
892
12
529
605
951
11
810
649
753
502
228
801
37
866
607
968
790
552
68
684
127
927
494
665
223
335
541
634
961
371
182
576
594
906
849
402
437
446
122
501
953
899
943
733
608
843
772
755
595
397
208
378
43
362
748
353
760
95
634
624
13
970
545
918
99
724
463
793
69
441
278
859
529
593
919
140
909
781
715
651
590
6
606
613
376
697
934
542
872
607
335
322
265
686
151
314
131
951
128
874
404
823
837
858
716
837
201
122
967
329
862
854
76
994
61
122
315
485
908
694
241
142
219
808
934
819
952
127
56
456
736
165
758
262
487
990
352
780
710
746
317
68
738
831
719
575
55
414
267
573
171
773
713
626
635
671
771
16
300
81
553
563
445
968
917
593
800
311
885
512
839
261
883
380
332
147
734
794
85
985
642
32
14
835
113
823
831
279
374
170
495
969
729
823
448
426
793
330
483
43
324
587
272
152
752
959
29
657
986
172
739
436
562
173
834
499
72
331
996
559
580
779
619
7
138
715
291
633
877
99
607
617
873
768
894
547
510
172
205
879
949
580
521
72
340
7
462
173
558
121
865
582
969
236
433
223
769
601
661
80
108
198
49
193
601
922
635
916
821
572
420
904
532
417
801
583
949
533
295
317
727
939
316
928
147
593
967
806
328
975
630
403
467
871
614
783
632
883
549
402
484
88
454
604
346
166
486
298
471
86
69
976
504
686
632
176
293
347
576
255
733
398
788
451
954
623
686
610
955
284
518
959
371
563
384
95
843
275
837
776
355
114
689
832
858
175
644
636
650
890
887
983
717
504
640
145
522
923
847
630
168
719
836
770
830
944
342
920
138
726
923
81
640
181
707
484
863
739
720
489
263
595
335
988
764
747
937
523
288
773
229
187
634
106
731
440
984
124
429
896
831
584
559
583
829
951
310
898
786
521
968
653
510
841
261
895
130
131
662
1000
214
644
287
570
338
562
115
342
9
904
913
657
120
120
428
247
986
710
432
865
454
987
311
899
497
371
886
329
959
916
658
537
230
653
553
305
897
360
205
607
557
883
565
154
892
243
886
140
648
81
378
797
424
467
407
732
639
857
496
941
637
242
222
42
219
770
641
516
902
465
995
794
25
819
966
642
501
427
76
772
806
532
168
484
957
3
980
83
304
526
653
467
284
412
401
752
466
624
910
771
756
154
566
766
175
241
447
524
814
608
949
214
53
886
655
779
270
897
336
443
378
679
535
585
715
513
494
933
288
476
805
543
327
806
774
448
291
843
296
974
492
896
768
429
18
760
391
278
322
829
694
253
845
821
539
216
252
95
638
105
203
848
430
828
731
810
197
281
804
970
817
278
913
660
908
526
925
593
157
186
809
961
900
5
321
74
247
118
931
622
632
984
291
954
307
192
809
941
562
713
474
946
517
141
623
791
401
995
380
163
403
962
404
160
102
668
823
671
696
534
704
215
499
557
563
695
467
992
302
711
616
732
732
770
97
483
477
748
612
911
68
48
772
990
95
759
792
102
219
607
493
60
910
301
113
296
610
494
690
705
819
411
85
575
844
4
869
466
425
429
607
156
843
448
899
137
122
522
597
241
185
998
625
134
304
73
471
607
378
703
330
404
686
508
321
542
16
245
103
582
38
5
577
7
579
316
983
918
298
348
787
88
938
663
19
787
735
809
309
200
4
564
929
741
34
301
416
114
53
608
192
492
648
946
589
431
670
157
428
95
349
98
409
290
918
878
238
29
348
767
441
942
204
791
68
808
12
880
989
350
449
778
982
459
421
88
640
513
890
489
259
411
516
121
17
122
63
302
942
514
530
130
850
74
817
912
603
317
84
204
61
285
901
819
526
75
375
363
364
831
141
566
787
835
341
119
229
255
636
461
691
793
528
106
791
583
454
573
185
560
390
830
498
367
671
919
248
288
75
981
844
48
464
659
221
597
566
723
864
48
224
754
79
318
48
750
846
62
494
509
443
813
229
910
60
761
771
352
286
935
366
76
149
667
94
194
133
38
907
732
700
263
522
794
48
45
258
919
246
638
690
493
467
786
267
9
319
864
386
756
328
248
429
449
505
617
466
666
382
36
679
29
465
521
400
417
566
46
832
884
761
15
455
713
357
477
956
643
760
581
65
347
678
956
607
815
127
686
881
11
971
549
404
789
151
615
263
474
61
889
751
195
634
78
401
49
1000
52
898
62
305
213
338
514
596
163
377
408
770
2
68
950
404
484
76
504
392
345
47
462
500
687
304
253
801
486
495
537
962
662
360
361
411
913
647
750
172
552
607
393
525
983
713
295
621
794
813
443
477
639
238
211
493
52
161
824
129
472
627
149
241
801
847
966
609
764
995
749
944
611
426
170
774
271
26
461
877
647
165
492
23
426
637
622
953
431
412
661
705
581
147
236
613
403
958
396
990
54
755
964
140
87
157
832
805
479
944
968
474
879
634
900
467
163
753
882
629
669
136
707
500
950
420
501
505
934
533
258
640
234
457
803
283
686
339
990
680
86
485
540
237
602
904
121
233
797
954
134
783
866
661
385
930
457
809
505
549
830
192
609
683
855
613
168
537
943
757
324
871
405
925
913
380
431
805
335
850
252
319
747
509
635
5
729
517
71
814
534
327
607
683
78
403
134
820
831
664
7
244
686
657
202
8
465
556
600
906
429
467
752
278
960
501
707
163
52
551
769
110
134
179
143
717
769
196
566
823
501
952
146
780
178
861
98
351
622
60
622
975
151
901
754
13
785
761
504
908
774
423
534
746
768
989
257
104
764
39
558
750
301
364
739
300
112
159
681
67
251
312
311
771
874
170
394
533
111
129
387
238
708
206
896
906
165
478
532
963
516
34
502
854
700
835
37
869
991
901
241
987
243
836
360
527
400
621
124
455
740
702
628
768
710
502
476
784
452
112
98
185
797
449
86
423
518
437
103
861
814
940
240
730
853
945
316
179
673
639
845
439
713
576
803
732
159
544
786
540
798
437
232
576
652
611
391
243
291
198
157
507
447
381
613
743
686
871
508
592
815
630
817
983
977
936
648
129
997
33
120
588
172
991
787
291
43
80
175
557
324
86
147
570
567
717
801
119
916
556
648
361
191
288
311
193
945
428
782
868
721
476
869
143
725
582
753
68
825
598
223
901
892
956
901
811
337
167
773
45
698
810
173
160
471
265
925
634
161
628
644
598
282
178
836
294
109
127
347
652
229
966
900
148
910
933
243
104
454
558
92
795
309
858
403
374
738
974
888
730
451
466
843
201
174
158
62
212
586
510
294
660
253
627
621
467
403
175
585
128
620
382
838
614
791
518
337
110
845
727
522
884
799
22
92
939
786
145
386
674
401
623
998
701
460
161
651
895
489
221
884
63
937
170
312
202
772
372
59
357
479
100
825
681
25
300
599
83
213
699
85
897
761
374
113
149
542
563
313
113
330
331
757
724
495
660
669
465
684
120
515
71
65
746
895
692
647
374
481
500
418
889
410
120
506
819
526
68
830
657
736
971
660
409
93
574
582
989
115
550
839
795
504
721
33
32
144
719
251
310
644
5
432
863
235
592
745
927
403
313
642
236
596
342
334
917
282
694
700
314
96
719
992
53
211
345
78
94
206
303
584
272
906
988
615
317
615
88
882
201
571
869
343
339
931
89
53
601
713
994
654
685
916
551
166
784
486
287
722
551
503
426
432
557
985
419
888
159
571
224
270
151
336
788
239
769
834
210
726
521
785
91
512
125
852
301
124
564
781
778
577
70
782
471
776
887
196
219
649
602
526
316
173
44
143
907
649
858
598
685
463
67
109
230
32
747
921
345
838
396
405
422
303
782
748
843
204
740
844
711
425
869
499
807
270
912
225
812
527
240
939
85
139
923
909
136
483
51
937
490
766
912
897
698
414
80
463
29
978
888
125
292
591
543
929
82
858
600
725
659
485
992
648
235
593
645
976
399
679
118
370
777
86
413
457
198
213
519
274
866
936
921
789
755
33
682
740
231
980
264
929
447
170
695
859
823
924
353
463
542
935
433
47
229
933
402
856
161
537
89
62
131
509
123
594
68
186
957
758
574
901
372
628
215
303
190
725
221
868
796
885
892
383
555
681
363
442
475
642
863
326
956
781
245
377
750
621
147
419
42
483
488
27
65
65
960
113
533
950
21
618
536
828
942
564
954
279
813
786
611
108
743
334
739
444
213
579
33
969
687
458
474
212
896
586
849
851
109
929
509
978
575
368
574
383
605
824
993
559
21
27
832
606
954
248
276
139
149
491
249
576
937
318
135
981
612
309
298
596
360
901
619
43
138
281
908
705
67
185
286
788
719
882
417
397
909
195
456
773
481
872
877
762
967
572
843
417
756
890
554
310
196
824
477
712
429
350
156
263
657
634
118
27
6
636
897
725
990
425
84
461
289
696
895
675
302
407
292
146
928
244
473
608
603
951
650
263
543
564
531
817
762
10
133
778
999
529
91
755
258
418
642
317
828
756
750
577
388
315
505
968
249
944
885
1000
295
254
489
925
679
400
903
453
158
937
547
130
126
167
829
167
622
628
847
751
422
648
608
338
635
763
152
35
841
151
603
460
975
994
176
598
128
699
242
968
311
741
52
515
775
957
756
75
794
586
625
607
723
667
688
733
677
62
507
470
920
979
213
745
960
924
75
596
696
964
924
366
316
222
132
116
514
801
508
674
943
23
446
772
509
785
20
615
585
153
851
150
298
875
204
764
362
599
108
303
653
947
861
224
740
99
513
382
923
208
110
454
204
476
422
373
969
816
984
669
361
479
933
496
532
536
488
505
996
925
567
299
150
347
79
259
707
50
687
523
229
20
255
444
707
657
416
942
212
849
286
914
428
948
274
258
819
958
728
38
365
685
929
22
91
89
571
333
888
612
326
787
879
291
687
681
864
72
505
867
499
607
643
690
197
295
42
243
692
74
316
405
99
855
46
749
944
12
834
125
524
752
749
971
890
754
902
282
317
478
906
90
671
422
134
791
792
902
190
824
335
89
104
261
510
348
78
943
447
290
801
774
633
867
999
648
710
60
112
256
38
229
923
477
793
124
573
689
942
569
738
382
1
918
207
633
962
178
708
773
790
270
633
35
904
596
326
453
972
727
174
534
206
723
788
686
919
219
556
784
46
30
395
827
819
433
49
790
845
991
766
251
494
631
616
479
556
753
443
709
909
96
848
81
981
131
413
638
931
566
606
988
13
379
502
40
22
806
8
100
773
630
126
234
401
824
575
274
845
79
503
605
296
198
646
528
745
832
754
687
185
823
596
419
260
679
849
992
424
405
174
238
605
255
869
67
124
145
787
260
946
55
542
313
689
60
970
634
645
442
4
400
656
882
145
49
610
28
297
775
653
449
745
264
630
747
144
435
81
811
904
999
224
379
202
451
194
649
653
951
235
471
272
584
528
254
902
467
459
623
330
359
54
978
953
593
930
149
509
346
183
667
181
985
861
657
827
775
159
484
230
527
98
981
531
545
541
99
493
190
758
638
933
731
594
873
485
852
183
269
501
419
771
987
66
703
373
66
203
45
281
987
812
410
164
35
757
582
824
355
17
415
999
401
43
614
627
386
655
823
275
549
567
796
186
313
353
959
336
322
633
830
806
369
90
801
801
441
281
621
457
734
424
445
905
574
915
126
93
580
637
970
31
477
184
943
933
22
119
348
513
665
408
99
19
630
86
108
552
934
684
207
337
332
485
355
691
440
794
263
11
544
371
742
991
739
273
613
110
56
552
164
564
4
517
5
774
831
788
28
679
81
611
340
333
443
278
208
895
666
509
734
578
579
137
359
999
813
590
110
663
699
113
140
204
478
829
784
393
274
968
758
664
503
135
886
152
764
895
940
256
940
957
837
360
111
576
291
220
122
585
314
1000
787
871
495
475
668
26
245
559
897
16
203
261
74
671
123
124
40
780
898
829
106
208
597
519
191
539
205
885
419
719
879
84
624
908
534
421
330
586
467
829
939
798
910
999
952
575
667
882
745
260
691
745
762
996
482
350
276
986
300
436
27
322
557
901
649
199
242
569
637
201
313
849
238
110
239
168
812
978
411
864
410
374
3
714
917
904
808
482
718
234
721
119
364
558
465
612
703
257
971
392
759
232
913
983
798
67
817
963
637
26
700
735
576
196
928
529
688
608
146
928
658
779
657
179
870
988
34
401
586
184
143
444
404
768
25
209
718
557
660
716
125
138
13
799
476
455
305
669
509
585
825
863
94
877
53
24
475
14
643
240
496
214
440
869
858
634
315
395
852
755
217
865
689
178
105
548
105
971
653
824
850
298
508
759
249
17
922
672
267
118
397
232
911
608
875
688
368
664
138
837
425
411
164
675
972
238
195
568
213
277
810
361
240
925
817
182
965
165
10
888
797
464
966
576
295
226
411
730
407
376
370
213
949
590
313
923
309
223
341
663
863
432
666
230
909
1000
802
509
323
94
871
988
917
455
314
751
70
348
426
123
342
649
654
655
43
359
480
976
804
214
42
130
970
351
712
169
245
625
872
267
614
338
873
528
352
638
588
927
560
893
239
245
41
453
538
643
461
398
382
241
416
602
160
881
338
830
982
760
781
6
68
540
613
13
96
632
49
160
69
462
64
992
550
717
722
639
295
963
229
770
569
73
435
393
431
19
712
165
522
366
865
912
861
603
488
750
384
78
343
743
850
525
982
131
690
578
176
737
448
61
309
108
698
710
430
951
469
135
49
261
958
373
370
629
866
49
472
529
513
44
104
360
156
884
869
308
120
21
581
297
209
772
735
118
525
802
42
375
589
831
866
388
301
377
851
765
481
906
801
423
503
609
28
754
852
266
480
386
764
473
51
201
438
104
467
441
842
218
335
548
111
814
149
622
169
853
446
81
958
717
389
622
578
989
274
63
775
796
812
292
125
276
558
679
310
446
453
221
169
869
370
867
57
749
814
756
901
665
350
610
894
442
176
624
272
345
627
304
833
425
938
862
831
198
317
311
687
432
928
386
641
722
309
394
732
675
12
1
468
762
561
207
880
796
991
759
774
917
530
551
352
620
922
733
705
288
194
302
390
767
207
470
933
228
945
854
428
868
556
319
538
401
369
341
884
312
723
253
437
300
294
982
838
306
155
97
382
508
537
237
760
445
167
891
111
270
229
729
868
961
601
560
150
3
382
976
694
568
101
228
349
228
12
887
482
96
962
393
716
479
74
597
622
593
186
451
704
475
338
867
779
497
653
179
8
465
580
647
115
827
939
21
618
674
809
726
701
290
189
48
921
55
22
122
107
657
412
202
185
147
258
34
562
816
717
183
210
947
91
467
275
919
223
952
210
582
272
994
465
733
849
482
855
350
86
862
2
161
91
596
982
617
262
552
778
979
751
33
662
950
383
175
83
372
577
420
862
253
882
613
915
738
266
634
545
569
507
140
554
845
769
112
767
425
510
84
430
226
39
219
292
333
684
30
191
881
513
586
299
905
546
142
683
945
691
158
696
916
371
331
358
970
685
611
620
933
480
590
706
925
96
130
176
41
334
150
855
571
195
799
646
316
707
319
91
829
914
585
825
963
890
54
712
487
404
953
846
258
962
620
336
455
246
645
42
252
446
61
613
960
311
832
995
573
559
669
138
324
615
217
701
617
16
480
376
30
798
744
970
960
971
314
408
288
575
812
282
152
903
422
740
881
272
23
944
527
420
533
510
365
218
759
208
738
569
383
902
575
450
344
772
176
756
650
549
204
585
498
503
691
996
674
383
400
647
760
444
981
560
468
481
825
203
128
443
17
247
251
173
574
64
494
88
887
226
133
501
502
311
735
519
281
101
99
925
510
588
820
865
183
327
842
673
978
987
410
700
176
921
915
369
814
959
12
280
557
228
905
987
569
131
505
399
339
424
664
172
689
276
746
598
346
755
427
289
564
332
678
203
972
755
158
67
533
275
753
645
397
30
479
804
337
981
4
36
493
495
524
230
18
985
866
454
70
898
628
446
417
219
910
417
885
857
871
936
474
918
775
722
502
64
613
942
958
614
812
631
964
346
16
242
249
377
18
749
459
635
607
389
284
771
935
754
467
970
446
908
715
555
133
750
985
622
180
789
586
871
596
302
498
317
996
902
702
344
122
688
254
44
276
892
27
142
44
123
797
361
84
222
587
413
440
235
394
54
227
877
57
90
154
418
361
101
25
606
906
142
698
515
2
342
569
77
486
9
242
413
374
286
930
204
191
801
113
375
482
797
714
45
972
31
257
353
155
260
988
4
522
419
494
425
368
574
260
525
502
238
667
246
165
869
448
311
464
45
714
111
586
198
873
299
44
214
562
329
138
223
907
55
188
864
666
488
12
767
947
348
388
877
915
412
188
171
626
451
198
890
953
486
34
377
513
79
340
272
610
758
342
454
698
150
99
331
924
877
808
118
117
679
843
703
234
848
850
355
88
252
986
616
286
556
605
456
642
627
383
241
328
551
78
894
881
957
283
800
891
344
848
49
462
323
723
826
987
841
883
305
777
741
795
182
154
76
1
301
850
50
244
382
134
27
350
549
219
444
145
888
304
263
389
264
996
842
108
368
878
73
788
442
92
490
287
354
295
36
176
861
609
667
451
575
800
220
311
679
561
298
168
695
601
547
65
471
766
509
582
268
328
353
620
276
961
247
165
594
695
660
233
535
830
637
182
720
1000
535
530
266
624
98
624
516
399
854
126
307
936
673
250
946
128
786
4
475
900
894
929
543
676
230
678
111
282
463
888
330
443
595
442
809
103
966
709
606
964
371
258
206
491
73
998
898
166
503
77
930
663
655
370
675
267
915
881
313
615
672
345
188
150
145
733
7
166
766
503
682
389
140
592
876
970
118
883
210
937
629
398
608
184
816
529
113
451
430
699
279
30
944
91
470
481
491
861
302
784
112
211
423
509
417
194
762
122
397
676
212
161
130
661
8
727
635
972
907
486
395
290
226
685
433
735
285
547
205
946
47
659
525
264
214
102
189
921
597
813
715
473
651
349
99
228
182
199
971
347
761
31
572
534
13
939
271
97
109
865
758
856
688
49
560
887
80
946
302
495
931
495
80
81
93
726
529
231
607
893
555
847
261
593
940
640
878
970
450
739
19
884
937
457
193
534
724
984
247
893
164
971
2
207
618
324
944
545
297
900
161
274
416
452
838
572
407
918
116
20
779
89
414
990
177
146
742
590
600
977
213
347
629
632
588
843
757
900
305
602
410
807
433
171
559
819
6
144
346
283
838
286
783
151
195
743
159
810
865
683
169
717
212
964
41
763
235
435
675
947
921
798
21
270
199
808
840
458
375
218
290
965
869
364
288
201
537
770
416
931
142
376
326
634
159
179
505
196
599
474
652
162
372
888
252
362
51
859
849
392
795
331
230
824
461
276
15
742
551
324
542
628
870
514
651
661
684
617
108
438
651
222
18
251
436
88
226
574
46
414
841
946
198
759
520
724
411
80
742
972
53
637
233
364
912
952
374
252
45
101
979
865
45
344
516
900
532
773
518
540
812
677
781
352
431
908
983
915
704
114
321
446
87
256
877
332
844
903
559
294
488
418
485
726
663
147
83
397
178
447
520
173
369
829
957
522
333
835
801
278
238
252
645
659
14
745
903
558
347
416
343
148
808
938
435
838
11
176
360
187
906
823
774
675
436
545
301
313
426
112
599
987
126
754
797
414
265
542
553
557
936
42
868
289
580
422
344
297
972
485
637
31
236
186
27
595
287
789
137
505
862
802
99
405
599
914
102
726
424
326
417
528
670
487
264
438
30
629
73
59
104
844
626
919
595
194
693
263
278
946
622
187
726
541
865
897
999
893
192
536
316
989
948
649
948
8
519
622
626
808
484
210
64
305
839
224
941
526
359
954
191
323
375
821
699
297
656
220
755
593
310
874
985
264
747
812
663
339
320
970
554
451
293
117
91
423
502
653
402
2
392
942
540
640
334
67
496
599
95
657
308
970
145
626
488
158
798
36
56
548
518
931
77
776
764
980
814
287
791
484
475
472
382
439
982
180
29
541
32
174
473
509
917
644
729
755
558
411
725
242
561
923
208
379
237
138
672
674
785
884
12
429
130
161
458
962
496
334
392
660
206
432
463
265
773
238
98
235
853
879
987
668
632
830
852
761
924
633
992
424
299
924
756
488
165
804
720
753
916
253
167
11
609
902
818
472
2
144
623
891
126
377
145
879
910
204
466
250
578
728
760
193
246
782
37
473
905
645
704
582
348
572
26
536
850
263
944
204
234
752
395
760
404
991
926
387
600
414
252
738
310
84
256
862
56
69
686
298
581
568
468
375
406
496
991
969
732
438
670
88
744
815
747
887
960
920
958
830
577
839
406
689
434
588
992
963
903
918
387
904
370
59
831
609
50
441
476
968
534
950
640
122
806
584
254
490
763
942
208
912
802
204
763
721
799
847
162
922
968
561
375
819
942
392
514
375
449
968
820
655
510
994
304
941
691
107
253
121
154
788
486
29
604
101
767
160
614
636
150
204
875
528
391
2
748
368
567
7
575
243
208
5
16
315
566
391
13
22
59
497
590
580
387
432
858
918
891
160
803
245
280
142
362
967
402
905
316
788
345
445
695
699
137
318
123
948
658
741
581
129
192
899
850
982
310
670
788
297
722
473
948
28
179
71
62
204
993
360
374
885
229
838
603
614
207
922
207
444
743
296
412
108
15
651
595
531
977
678
531
586
770
270
497
376
420
241
440
127
396
349
85
217
590
876
519
923
995
702
967
952
111
261
701
767
61
81
377
53
310
378
755
45
392
408
671
174
593
102
734
328
75
959
848
272
903
91
358
770
712
241
482
88
572
863
411
527
97
684
419
458
804
474
494
140
186
295
951
963
88
233
609
472
702
335
111
305
516
62
323
676
400
453
695
746
798
374
59
950
838
593
952
268
761
463
388
145
508
689
553
177
336
495
94
553
719
480
18
424
690
96
948
122
345
306
227
553
825
922
64
339
160
807
829
663
58
697
885
410
469
194
292
560
940
556
622
367
269
271
531
125
96
887
218
641
873
662
373
901
270
68
723
346
45
101
441
595
139
27
522
574
201
282
567
3
553
263
692
997
141
330
682
195
340
94
341
796
579
321
784
308
970
797
335
853
189
786
997
923
238
666
204
728
624
210
113
45
820
33
166
364
28
50
96
652
918
38
757
472
113
56
305
4
322
566
519
958
763
494
23
271
980
272
302
171
815
117
753
943
396
641
741
229
374
859
293
946
916
900
80
841
923
292
911
932
806
728
169
727
389
409
417
180
770
12
645
318
995
287
746
61
501
574
164
287
966
461
212
748
77
494
855
548
25
562
641
241
293
377
838
512
364
136
746
491
270
290
349
79
831
769
150
612
502
205
822
247
439
667
839
739
763
329
874
313
36
913
999
19
811
872
924
526
805
212
37
334
616
476
745
988
380
759
317
387
81
523
96
838
715
254
297
331
627
383
457
708
432
419
517
977
287
498
841
602
153
869
564
632
273
855
745
403
796
599
894
436
11
70
22
742
752
578
226
661
294
256
970
560
14
145
172
347
749
749
131
6
427
449
139
725
351
331
15
52
612
987
383
301
688
478
608
258
911
842
282
33
796
475
163
986
477
680
110
376
176
106
523
795
125
282
87
771
671
259
709
272
19
891
648
138
367
958
982
593
208
190
865
51
174
383
386
698
51
932
34
1
536
347
398
278
54
707
652
82
592
163
281
541
398
192
650
923
169
722
713
76
190
134
149
254
597
625
325
508
193
427
329
23
69
829
519
99
432
867
896
836
499
501
913
145
228
216
477
666
873
140
423
901
505
421
222
776
884
457
822
924
596
191
250
65
664
973
808
746
712
983
656
928
503
170
531
909
940
856
783
412
781
171
157
293
79
239
674
565
616
439
731
256
818
797
487
373
361
722
110
530
222
430
441
328
823
902
140
13
89
556
268
761
659
366
705
561
273
676
909
115
44
405
566
160
584
447
653
644
74
541
514
651
425
837
907
329
978
84
721
582
399
656
964
820
382
453
868
728
107
786
394
6
515
740
394
259
311
173
32
218
950
826
928
488
697
941
651
923
313
245
509
202
459
266
461
723
921
288
74
168
117
688
808
369
362
172
840
596
461
136
992
89
816
328
178
559
92
957
983
610
663
44
954
414
53
990
131
250
701
548
216
254
239
130
695
415
376
782
525
269
109
749
593
387
567
555
827
413
243
223
488
646
996
667
274
947
635
250
407
588
463
976
978
755
135
702
592
925
228
765
705
229
205
856
766
777
744
642
608
958
67
616
177
674
810
647
958
923
64
659
142
608
810
121
53
775
83
676
991
365
950
513
913
65
880
207
780
358
15
377
975
853
57
15
175
51
926
421
674
75
396
621
742
131
753
583
6
789
890
253
673
597
405
199
889
824
38
219
888
310
267
702
776
237
932
441
822
700
983
718
646
600
398
774
900
870
862
252
404
205
609
160
193
418
483
947
834
781
795
229
666
235
985
683
815
8
547
34
602
196
176
608
992
688
735
181
792
459
896
635
408
866
546
619
802
510
645
970
180
692
821
833
566
231
702
626
866
998
504
839
455
37
662
1000
257
375
876
681
230
130
895
961
694
83
131
842
64
537
750
250
794
449
423
390
236
664
370
983
983
960
600
383
652
120
323
420
775
742
361
778
405
63
325
845
431
23
995
932
945
864
407
441
854
33
265
578
852
421
154
2
502
154
667
176
894
63
902
652
4
900
299
124
184
103
928
423
555
950
448
88
775
213
262
988
695
355
752
625
535
195
780
375
197
215
431
839
776
29
76
230
145
615
682
185
18
450
41
286
214
171
83
324
597
910
181
907
68
331
816
395
648
775
963
696
839
557
336
704
185
629
930
244
596
30
562
95
343
883
337
78
911
465
236
923
517
422
374
867
547
185
324
508
490
360
852
304
523
443
715
126
887
608
823
4
567
330
560
3
127
628
592
32
628
668
955
285
265
760
418
913
529
171
755
913
973
497
618
974
524
586
390
86
895
459
476
312
600
238
578
318
591
836
547
404
569
56
722
428
788
880
213
678
706
253
894
575
865
298
877
595
305
526
853
286
328
280
446
183
706
757
349
783
578
872
28
710
466
856
80
252
886
281
945
932
901
713
591
703
5
715
289
473
704
713
744
893
891
765
340
865
553
593
165
845
94
819
713
422
875
459
93
258
732
673
890
359
906
434
748
129
247
944
5
248
909
495
840
456
542
641
502
592
195
417
400
94
7
626
572
269
187
514
935
266
747
121
483
410
602
797
390
68
621
207
360
992
545
885
465
147
84
717
713
547
155
195
727
311
315
302
842
348
677
841
989
28
789
402
661
8
614
831
3
202
247
714
807
730
365
614
179
957
154
4
130
78
933
718
753
183
703
737
332
403
555
435
787
90
395
701
844
851
715
643
27
333
168
357
722
203
893
914
748
942
423
148
236
178
155
619
106
521
714
111
191
98
897
403
629
574
499
812
834
661
147
794
839
728
461
963
968
518
332
918
655
280
768
320
520
7
836
998
586
383
13
327
615
638
241
964
488
126
684
849
233
939
498
134
777
674
427
1000
353
697
283
407
124
565
516
100
696
870
44
809
720
836
437
780
524
446
836
115
458
784
325
695
338
978
81
355
454
716
376
831
1000
541
762
952
108
749
255
463
383
518
118
11
501
892
706
998
201
93
832
654
985
857
823
73
559
568
416
870
213
497
52
773
909
544
142
191
461
926
483
304
488
714
429
689
834
383
666
769
562
879
11
996
354
261
560
101
611
951
33
515
175
376
831
652
327
103
298
513
597
877
208
1
217
827
965
237
217
830
440
828
942
867
567
59
730
67
931
481
300
588
161
508
199
764
924
709
397
219
415
709
536
155
73
937
24
335
193
586
612
402
851
131
111
571
363
791
414
586
303
238
893
334
660
894
218
227
587
635
203
382
167
355
221
442
211
936
418
628
287
201
341
978
674
442
766
806
650
54
540
433
522
618
937
344
907
343
791
723
838
914
867
918
463
890
265
419
917
548
914
312
500
70
540
134
739
273
837
64
483
416
418
438
266
93
713
954
118
393
775
801
622
796
882
596
877
498
360
786
667
998
955
916
237
625
40
65
93
310
721
590
136
575
305
554
306
679
537
873
464
687
703
842
303
473
376
731
540
750
579
251
462
684
184
586
930
822
952
978
798
662
188
288
428
646
905
913
849
413
30
324
223
364
88
550
839
245
790
716
526
721
998
578
318
947
334
642
471
354
667
534
68
805
936
780
6
140
808
113
976
444
908
960
688
644
451
89
785
718
767
103
102
561
245
261
300
729
12
756
925
675
560
900
632
706
153
328
437
966
683
821
747
154
81
852
898
308
712
631
745
985
125
635
571
638
310
276
250
370
735
265
869
668
563
585
73
9
234
229
995
248
347
264
744
871
837
459
659
224
170
770
899
873
428
599
228
888
648
777
964
206
567
447
229
642
40
373
587
992
64
81
834
766
533
520
504
904
566
739
466
232
623
671
330
81
869
885
729
135
285
385
721
802
307
989
132
951
731
550
444
282
646
308
527
117
488
563
895
233
103
316
917
127
919
232
470
797
69
911
540
618
882
232
301
169
208
788
964
793
431
622
20
347
492
801
846
276
611
52
647
514
878
289
948
957
185
561
875
234
341
780
598
674
36
38
637
849
585
431
67
92
584
912
690
832
163
223
292
661
164
208
789
616
173
164
557
77
40
618
700
488
502
61
485
499
214
489
858
491
960
189
684
11
510
836
935
918
205
408
85
189
847
314
524
735
627
745
157
530
647
732
661
50
400
547
804
51
762
152
376
719
793
581
162
132
569
715
995
314
253
746
548
695
641
157
174
358
821
125
171
713
133
161
769
1
840
710
667
442
282
449
697
811
298
994
343
917
780
759
423
77
827
743
304
770
89
868
236
994
40
760
673
240
547
955
928
48
155
897
215
582
983
926
544
718
793
941
896
413
514
38
655
192
505
686
302
583
295
108
352
987
533
220
528
610
248
686
871
49
376
525
117
536
41
295
821
431
545
314
437
793
111
633
992
153
699
950
274
921
403
377
621
212
971
467
235
546
85
302
454
317
78
316
655
727
520
977
807
240
765
592
14
3
862
989
55
744
794
933
256
720
260
890
604
273
523
719
118
698
992
839
22
995
62
369
48
860
812
347
48
302
764
491
354
914
417
146
616
313
621
893
947
293
704
26
316
625
297
272
431
268
716
736
250
463
416
546
536
990
256
658
904
734
123
369
918
480
393
241
274
532
146
583
416
625
207
395
292
934
694
258
41
355
41
618
479
317
577
307
170
565
832
273
463
788
268
387
860
932
369
579
135
398
921
674
684
589
801
145
748
853
690
887
273
79
467
363
228
652
924
581
17
451
398
324
587
534
139
337
204
722
331
522
507
731
825
988
397
397
677
703
767
650
78
947
710
353
292
717
296
373
112
951
504
151
331
95
646
160
609
659
320
251
755
240
38
282
748
638
474
247
894
690
560
400
880
868
325
985
413
759
407
299
172
348
510
924
189
185
725
984
250
875
769
470
89
294
247
899
673
666
1
272
176
407
426
388
310
520
115
842
52
813
97
247
792
198
384
677
401
155
630
524
221
699
996
650
759
290
824
876
853
642
664
618
517
911
468
953
889
685
30
933
178
412
570
197
163
398
892
250
716
603
287
354
648
661
263
621
838
408
766
858
705
335
104
639
792
931
948
282
827
307
261
550
510
844
547
525
139
337
857
391
902
929
166
244
956
168
171
676
96
120
377
505
127
692
5
849
4
195
106
191
499
484
521
63
501
362
426
633
696
326
194
512
350
198
321
822
204
816
629
562
113
827
693
254
982
412
303
156
125
458
533
585
8
243
585
512
347
722
674
490
437
943
784
645
858
803
34
478
844
777
509
32
376
935
90
357
64
506
610
684
447
975
125
641
677
161
267
792
955
956
38
741
887
163
684
611
879
523
771
336
569
768
659
139
890
352
910
343
14
14
815
470
550
818
406
849
634
863
151
913
27
5
80
322
957
306
274
913
264
877
47
104
146
1
292
887
112
533
21
181
173
320
944
241
632
883
475
526
377
433
130
480
483
908
682
673
871
293
631
17
927
972
681
86
256
137
809
498
892
846
404
275
366
716
317
124
229
174
322
58
658
220
504
276
978
106
371
72
84
912
334
207
433
292
668
990
608
195
493
712
166
862
860
34
663
684
970
138
147
328
547
891
646
318
709
793
618
921
668
87
83
150
87
494
603
162
11
741
464
998
888
86
815
703
33
303
504
359
751
738
808
14
20
18
551
700
303
409
590
426
378
561
160
536
338
891
388
890
532
341
899
945
773
679
88
591
950
410
906
547
285
793
600
968
853
480
433
440
342
599
540
885
687
801
939
877
380
88
325
397
688
15
787
641
146
238
540
817
696
560
991
33
763
433
145
343
246
828
572
236
971
813
569
902
657
338
453
551
368
842
739
671
22
107
649
405
157
650
398
510
306
259
903
206
993
255
982
447
823
642
15
294
756
143
201
451
17
722
765
651
459
931
400
275
836
995
975
11
511
738
176
173
839
729
878
360
19
587
162
972
692
484
615
414
240
123
338
551
125
389
378
462
38
946
902
839
333
798
67
170
695
948
435
136
624
274
687
508
659
31
427
932
817
321
748
842
732
180
496
436
422
794
964
308
440
572
487
866
889
365
26
125
644
234
260
798
520
871
439
705
65
721
513
744
79
872
543
208
95
438
61
526
251
464
165
38
48
266
455
492
491
367
374
65
34
136
583
960
503
661
155
662
999
659
165
98
324
366
406
220
830
735
994
41
507
238
848
90
47
681
502
884
655
294
67
728
563
867
518
879
999
928
664
807
838
713
754
821
483
725
934
223
479
639
390
580
966
815
489
853
229
433
66
940
10
964
378
418
231
875
49
585
19
901
338
733
165
114
504
133
413
115
629
773
25
437
657
215
385
931
284
190
609
271
726
644
916
566
898
55
568
400
736
689
555
696
296
982
64
587
740
298
810
303
891
960
243
839
532
809
466
169
957
730
713
835
786
340
28
125
885
463
269
11
151
807
534
416
224
566
839
494
911
49
468
199
421
336
775
189
616
375
719
271
248
419
773
276
442
972
961
287
766
72
887
525
651
89
471
713
461
311
134
539
967
475
418
946
945
940
64
206
389
562
148
75
761
7
92
24
932
640
244
396
763
536
162
486
741
447
320
414
746
344
735
996
717
595
966
526
366
501
800
691
860
748
273
615
102
966
254
946
778
820
833
114
973
249
397
123
938
565
700
495
958
186
306
37
333
630
960
602
989
1
680
390
283
772
71
861
738
740
233
413
512
370
972
705
501
580
545
526
999
940
810
794
329
879
382
825
360
244
568
919
446
367
794
859
615
793
537
228
786
177
1000
637
471
506
59
972
796
448
438
877
842
58
501
924
706
702
930
498
999
345
669
647
209
296
88
175
314
424
315
326
669
650
422
742
45
357
995
315
672
954
850
892
522
991
533
657
55
701
163
548
650
964
800
666
336
434
937
758
762
156
631
756
981
547
911
856
10
111
462
827
987
960
775
966
336
632
54
267
784
937
362
402
358
580
770
953
626
265
844
157
400
526
905
984
300
749
86
519
621
193
829
361
947
551
891
826
790
620
304
313
794
297
29
82
302
934
948
84
368
983
779
425
54
995
677
546
581
966
499
679
557
981
951
692
498
423
178
700
90
635
415
983
54
847
292
414
416
368
637
499
819
301
403
122
680
159
895
880
353
434
842
645
747
527
236
897
856
474
786
758
468
684
378
113
951
935
651
493
340
831
836
128
215
68
887
7
954
509
887
858
342
949
159
313
457
473
214
50
983
676
329
590
145
665
412
214
813
617
593
793
448
278
717
874
400
144
173
666
509
798
283
252
927
911
922
484
750
217
688
987
702
737
519
994
314
689
558
766
863
399
875
953
572
541
501
478
75
614
83
709
398
212
975
752
702
898
700
7
999
87
343
504
499
340
664
511
229
37
278
13
522
933
647
285
786
78
156
63
637
115
114
931
419
63
760
446
154
271
134
275
817
904
257
501
84
307
786
880
777
161
935
684
323
170
391
854
823
9
143
871
549
901
778
403
795
194
1
209
843
755
483
142
457
562
327
317
199
314
379
596
544
338
566
176
52
189
870
574
887
672
8
954
449
762
86
355
556
570
796
614
853
297
172
196
827
432
688
282
698
500
299
428
353
833
996
703
929
941
238
924
688
689
821
399
826
671
641
659
144
896
701
978
254
569
945
360
757
406
123
870
534
26
803
863
651
624
306
843
585
815
741
904
940
165
529
72
550
626
737
620
46
524
237
472
468
304
458
157
540
93
200
128
276
959
129
198
787
916
539
406
904
651
937
908
822
608
960
720
303
409
464
4
164
971
347
169
869
294
67
127
309
646
827
439
396
541
522
32
610
719
8
44
543
118
394
367
886
362
994
654
561
207
666
123
782
938
42
192
171
717
303
461
468
661
983
653
452
242
420
415
986
137
278
917
921
682
288
430
344
6
60
814
547
801
939
572
424
163
350
411
78
83
292
994
548
731
793
497
114
993
750
489
574
658
381
988
956
563
6
468
195
81
517
454
290
496
993
419
475
30
984
220
986
391
16
862
898
763
631
707
168
812
292
262
34
196
681
47
780
222
813
307
992
223
79
99
532
204
686
208
709
456
58
286
760
315
549
489
37
112
394
610
626
316
465
397
439
632
4
574
557
948
278
852
406
218
996
194
447
792
733
95
316
180
443
418
758
465
277
798
635
222
542
818
693
194
38
634
481
161
873
376
295
20
930
729
520
967
656
967
533
239
30
95
873
116
528
455
289
798
300
885
23
726
204
133
607
946
427
742
261
951
398
955
508
245
925
450
784
945
833
350
958
265
628
987
71
106
717
124
442
181
403
886
265
925
84
631
902
406
966
149
982
840
971
235
8
686
188
306
75
658
19
27
299
711
246
874
596
594
353
962
448
168
232
181
589
881
607
191
590
181
265
173
741
718
215
254
141
71
879
44
91
469
719
650
709
30
745
183
776
533
21
709
223
410
192
382
462
410
723
577
419
651
96
355
97
249
825
276
709
537
907
187
247
617
796
640
1000
753
28
821
335
238
779
521
359
513
661
748
807
683
164
596
137
904
568
473
911
419
625
577
678
82
906
171
270
44
31
128
720
27
395
493
465
699
300
158
754
935
651
732
321
841
547
254
55
605
596
455
753
930
723
564
162
114
399
30
479
501
792
865
508
987
972
310
504
294
780
763
426
690
487
635
997
155
955
292
537
923
30
340
711
837
661
762
557
834
449
112
888
994
813
270
781
50
578
254
506
663
782
717
691
230
727
199
956
422
316
634
149
951
542
806
75
312
856
140
917
787
371
758
882
816
56
876
249
505
835
728
797
380
117
980
468
762
725
344
917
794
828
907
205
596
354
877
400
702
784
417
234
258
40
703
706
124
361
785
275
654
226
804
274
299
284
314
482
659
331
992
255
513
204
847
800
955
117
181
671
199
548
929
93
649
450
991
639
502
456
470
757
45
990
721
425
921
88
359
698
861
685
574
521
406
532
642
637
79
171
818
668
235
237
943
500
936
461
986
662
103
253
956
873
688
321
207
7
803
702
849
926
152
966
802
911
400
432
200
710
214
95
186
633
172
844
510
259
977
768
558
374
140
124
530
997
545
379
174
285
735
618
782
433
492
517
98
678
259
713
50
352
443
998
884
639
314
797
175
374
614
125
688
56
662
207
350
759
121
815
665
461
558
354
978
305
52
312
641
803
930
436
999
843
664
185
229
507
120
124
119
201
200
818
552
719
661
737
229
370
31
607
469
566
176
669
765
914
729
294
284
667
805
990
751
930
665
172
596
71
667
235
171
51
755
804
827
284
571
677
345
776
111
878
294
634
312
962
176
826
495
811
749
617
858
432
588
643
441
731
605
717
739
223
436
225
734
659
831
375
759
285
3
460
675
342
812
401
424
840
351
520
103
868
204
885
361
714
994
989
587
680
999
278
443
329
275
471
403
697
652
642
587
66
782
981
448
165
880
256
719
105
974
488
830
127
660
245
780
343
624
252
810
774
618
953
5
216
52
671
959
766
769
741
78
48
27
543
719
470
607
112
567
335
93
335
279
977
222
357
454
641
972
876
827
20
372
102
756
126
228
19
716
326
911
840
404
713
460
129
745
963
860
425
905
227
686
613
690
267
594
602
394
991
189
813
192
195
530
708
994
113
370
553
989
264
831
1000
803
616
842
194
792
71
851
52
473
397
782
847
189
393
102
347
508
481
967
20
575
455
497
385
637
833
495
196
39
325
460
510
325
364
83
742
849
537
992
526
15
104
338
288
400
917
233
372
474
723
445
240
353
995
561
990
633
207
366
752
866
964
708
14
664
903
951
262
8
190
148
599
214
109
494
833
303
413
267
468
567
108
875
117
979
700
569
962
598
200
899
801
858
756
810
446
432
240
843
176
252
148
110
871
561
572
207
916
827
237
984
989
502
656
134
732
897
541
422
283
707
821
48
506
437
177
921
316
715
682
921
2
715
597
472
219
514
436
671
137
550
277
960
123
171
162
448
799
215
157
766
56
673
890
243
786
378
411
58
242
479
856
494
847
206
967
136
999
914
46
443
573
498
231
175
338
736
823
133
423
363
874
215
440
318
102
535
1
390
807
646
464
122
772
178
20
965
611
169
970
646
474
786
613
447
640
20
665
44
662
339
999
582
702
847
165
937
375
337
623
722
241
452
588
311
219
25
457
944
70
512
499
610
989
52
449
695
357
67
518
482
452
300
185
635
168
946
438
455
763
242
615
283
288
853
571
911
624
138
301
668
674
82
435
60
351
146
720
644
339
391
921
874
942
845
226
25
332
675
783
48
975
242
292
918
743
488
291
630
286
969
135
745
798
59
691
881
868
371
199
678
781
361
70
569
934
37
107
565
828
188
605
112
492
993
1
112
497
861
291
430
2
108
558
64
746
232
603
682
238
265
551
931
967
721
50
358
140
239
880
591
253
994
643
187
535
66
444
480
721
811
787
562
716
824
640
313
12
410
791
23
111
235
921
931
721
362
548
678
739
448
510
490
983
119
733
414
264
493
743
383
600
587
141
196
379
850
871
646
71
792
510
152
337
815
867
907
952
946
565
893
156
269
235
485
611
375
152
217
906
916
137
159
477
162
306
789
825
935
217
302
104
971
286
48
928
616
639
229
727
568
845
160
752
545
120
185
668
331
221
946
25
429
942
545
172
201
377
68
737
45
969
962
937
859
569
312
803
542
890
197
366
556
763
475
227
802
123
97
321
331
222
907
288
499
190
84
871
284
122
683
95
753
684
99
149
411
334
819
776
72
784
954
630
602
417
910
738
236
42
104
278
343
497
874
729
407
291
61
544
63
258
70
324
121
696
454
556
885
583
64
796
27
753
164
329
442
76
973
108
973
162
137
139
683
266
392
36
116
633
916
721
606
865
183
504
993
219
12
704
678
221
281
640
465
147
517
772
221
769
102
711
967
940
457
394
356
581
363
241
992
942
881
432
968
717
432
346
101
828
529
209
239
706
885
619
887
734
230
23
427
624
724
329
71
709
912
486
873
136
759
568
453
201
573
186
269
549
879
282
750
839
300
409
389
195
977
968
887
21
280
912
727
427
690
710
525
449
554
596
71
232
782
89
156
613
779
803
846
229
883
96
489
738
812
224
499
226
243
818
852
16
561
15
448
882
729
320
34
168
146
87
468
465
980
723
388
636
927
865
43
744
505
805
808
445
238
401
795
379
119
377
421
541
550
742
408
228
581
989
946
419
10
531
226
541
750
322
929
853
66
909
302
567
504
105
487
497
444
436
881
833
499
85
31
326
283
449
319
820
78
165
360
332
197
783
753
828
284
2
194
746
826
625
860
416
564
178
404
169
526
455
90
598
483
154
765
581
896
636
91
676
948
932
596
404
17
996
356
737
470
586
105
38
771
66
889
547
342
533
561
948
269
109
804
249
364
752
124
528
985
546
36
692
500
419
580
35
804
251
435
185
364
374
354
622
656
856
22
50
696
670
338
500
446
849
663
362
587
285
738
489
996
936
235
740
668
665
956
800
537
436
264
670
497
895
147
236
498
264
402
904
370
951
913
86
189
231
556
82
600
937
776
237
904
296
825
747
821
975
305
644
270
910
320
799
205
131
741
218
942
269
103
82
910
674
410
88
177
553
396
577
348
607
411
675
76
275
807
789
679
763
274
377
367
654
350
491
963
680
803
78
28
161
214
966
966
878
252
698
744
804
743
391
572
211
861
887
4
163
39
411
509
790
69
849
136
559
925
851
194
34
642
27
642
788
539
222
368
79
51
564
552
219
348
567
960
858
681
686
302
516
646
340
943
815
716
487
17
892
904
456
658
535
259
