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