100000
967
376
435
454
461
980
121
133
616
258
207
105
128
511
843
328
547
189
709
36
429
773
568
415
37
193
941
448
753
303
461
155
812
527
326
271
750
623
828
216
639
539
19
731
130
384
478
221
670
139
14
165
736
179
337
771
488
851
1000
769
438
989
829
846
393
550
817
901
721
538
605
299
25
963
168
179
36
528
752
103
293
358
418
939
461
780
662
145
996
772
51
368
378
928
84
91
118
197
338
633
256
107
273
829
107
169
907
663
145
49
731
1
128
868
14
655
638
941
296
8
333
849
537
263
183
363
815
460
232
654
343
459
158
982
679
714
701
411
452
933
696
954
603
77
417
83
748
973
727
732
813
141
845
928
986
876
752
56
978
350
291
407
7
486
365
828
509
752
512
568
167
182
614
62
417
336
537
928
231
654
944
267
242
501
930
647
965
943
917
328
734
433
598
466
68
657
969
579
503
707
356
807
266
574
739
256
860
511
994
226
536
279
976
939
384
198
244
629
894
860
550
489
83
657
562
688
195
45
396
341
229
660
326
391
924
436
295
677
728
275
613
140
39
936
233
466
63
366
326
350
421
804
445
241
61
788
71
487
918
949
841
409
929
121
401
853
741
578
516
745
729
885
209
501
950
526
697
313
680
559
950
89
269
909
59
713
473
454
565
215
241
462
675
585
74
435
851
938
690
724
262
573
602
14
828
113
919
179
643
884
255
572
449
402
556
118
579
847
675
480
405
193
898
707
65
697
321
611
82
402
233
123
796
38
19
916
253
417
525
57
673
152
916
338
150
938
82
309
195
648
574
561
554
113
135
261
279
770
202
557
376
251
846
222
22
77
503
12
377
263
39
859
465
326
860
90
593
206
640
248
358
611
98
78
945
492
311
317
15
437
450
142
24
469
849
952
175
892
963
282
92
428
227
741
300
966
506
619
148
569
381
689
56
772
488
368
535
435
96
554
828
111
595
137
584
993
222
139
479
441
618
4
435
96
947
502
915
87
541
71
498
87
659
981
86
309
521
699
262
766
803
553
793
404
674
289
454
526
468
431
625
591
941
308
688
532
249
183
935
922
146
994
472
936
550
216
141
73
870
738
415
182
474
997
312
540
694
845
324
539
132
598
313
981
346
627
396
994
893
689
564
682
322
785
734
352
61
463
898
462
896
894
632
146
228
441
13
994
174
371
63
675
651
199
275
430
313
190
532
184
318
99
959
342
917
322
110
612
196
261
939
829
807
126
801
949
548
152
216
186
995
861
450
346
692
598
253
200
609
130
231
883
431
85
85
572
44
161
108
482
362
394
913
832
567
119
827
658
579
54
468
508
896
58
447
989
319
646
946
96
508
280
737
545
997
395
997
25
512
258
841
139
430
69
953
365
584
655
804
570
420
869
259
888
590
377
161
351
344
599
592
651
465
512
610
822
361
600
409
889
908
56
540
84
678
687
25
52
434
496
155
813
277
140
74
290
5
204
824
669
801
551
769
11
951
226
291
867
555
151
147
223
602
240
397
196
738
305
472
423
402
24
537
164
652
841
247
936
545
657
328
742
705
951
471
922
329
58
422
484
92
864
363
563
398
466
447
164
415
900
594
831
952
609
860
317
289
374
89
572
782
9
34
100
84
736
464
274
243
528
293
227
805
260
693
212
313
736
312
765
662
416
82
29
465
627
700
611
612
39
159
711
677
599
180
62
138
750
507
869
776
828
226
859
116
791
660
50
285
927
710
823
885
913
173
751
161
869
217
443
996
846
725
601
895
101
135
131
955
474
741
290
680
334
708
653
980
227
470
645
894
106
190
251
532
165
219
546
435
399
49
616
566
851
792
572
486
714
757
466
831
225
91
385
186
270
871
399
796
309
481
47
932
855
374
620
698
324
328
622
23
457
851
168
171
277
763
637
510
602
415
690
621
434
853
54
654
225
582
361
537
262
389
786
571
999
916
500
998
483
759
77
76
115
659
917
293
423
311
939
983
672
873
65
650
439
800
980
873
438
728
402
554
416
582
942
982
660
20
511
644
717
963
514
372
403
815
484
754
884
986
460
836
455
959
231
234
66
441
475
241
647
278
863
828
85
9
149
11
409
985
276
400
50
872
817
706
202
322
646
238
278
219
790
767
731
626
798
562
875
429
188
538
382
512
322
499
183
927
259
380
996
455
177
829
611
167
268
370
949
89
275
556
490
160
678
868
660
130
648
22
424
569
216
335
163
947
468
634
711
377
941
75
157
818
404
164
554
606
800
8
46
999
739
117
323
321
229
214
126
93
459
778
432
785
287
576
736
519
602
519
227
228
162
617
769
260
247
822
404
9
607
471
8
718
774
782
979
581
549
305
262
140
832
787
989
674
197
929
83
369
763
838
79
500
610
516
974
540
571
652
67
807
953
796
939
307
401
557
380
589
545
946
22
898
439
246
839
90
479
250
4
70
671
742
392
21
424
78
54
752
155
430
411
230
100
182
312
356
679
84
438
510
267
760
547
870
43
234
955
919
341
725
151
349
701
310
321
892
58
785
736
430
469
323
655
876
960
931
542
191
169
975
847
793
683
505
29
340
735
875
426
305
696
392
303
136
439
779
385
925
838
624
391
23
426
479
817
51
427
768
915
443
571
287
362
292
236
332
727
784
729
389
376
781
425
334
262
174
709
972
663
711
998
129
544
657
124
583
964
513
655
403
800
614
747
687
582
36
830
488
792
465
502
756
229
552
747
106
982
397
940
442
287
273
921
598
681
48
500
197
655
759
654
289
487
36
998
483
604
243
573
522
877
132
222
749
372
702
815
334
442
57
470
655
317
428
501
252
926
265
105
652
40
330
998
445
550
325
184
268
76
387
826
260
323
345
137
870
745
840
359
689
598
353
558
289
40
857
903
747
747
431
599
27
658
18
100
936
443
867
864
497
467
42
817
623
493
829
735
355
341
211
531
515
138
615
256
84
420
842
664
300
540
738
947
64
149
446
601
487
319
608
225
15
647
726
233
908
906
69
174
453
192
485
198
697
949
505
941
225
806
144
690
468
306
765
947
153
620
690
685
764
961
649
541
351
885
628
688
257
282
119
811
762
759
693
692
908
602
127
536
658
581
286
394
621
609
674
377
832
837
89
140
243
450
926
508
783
463
606
474
185
313
272
615
362
180
946
560
930
822
805
542
372
733
743
398
882
240
669
688
766
643
915
739
273
659
767
158
527
421
783
91
89
933
451
55
246
935
959
152
58
294
246
353
588
277
388
118
586
769
990
451
357
30
868
898
259
568
188
41
878
711
221
47
694
624
861
132
344
564
941
538
351
938
293
111
830
824
728
973
710
546
949
813
644
846
574
987
301
494
692
156
635
45
980
706
791
629
111
491
500
861
356
891
493
559
365
337
998
785
941
575
631
16
890
597
526
797
760
728
652
116
582
778
964
840
10
266
44
34
469
965
415
845
641
443
119
288
600
439
505
124
897
675
836
759
304
419
440
928
657
498
212
868
752
280
72
642
231
301
272
514
275
873
754
274
891
645
62
242
718
875
73
203
270
263
701
452
542
858
904
97
114
327
848
990
749
911
463
181
449
792
939
295
346
18
203
748
207
119
127
818
351
118
191
718
840
643
218
759
999
914
969
100
451
796
733
830
607
57
912
118
794
992
688
426
718
787
993
31
467
641
53
693
403
245
370
766
429
125
129
241
353
5
770
124
873
758
457
851
823
844
792
384
378
820
502
305
117
409
760
793
271
546
211
398
147
564
1
526
674
558
778
225
210
998
28
72
405
507
682
931
19
260
22
604
348
774
887
164
444
779
444
463
566
873
953
87
803
137
936
84
7
340
967
136
925
633
553
974
883
870
582
492
78
447
893
256
526
490
596
644
935
116
954
257
109
592
69
606
868
593
228
572
424
960
992
563
334
606
390
931
684
200
559
396
436
1000
381
590
409
458
96
125
161
605
145
238
915
914
108
888
167
410
686
706
694
491
385
75
690
154
868
826
321
219
817
409
985
68
141
772
811
233
824
715
839
380
662
680
8
43
63
516
865
254
683
578
750
864
495
118
517
614
775
548
939
262
231
179
999
436
319
55
288
874
510
933
626
870
288
68
667
969
357
379
340
406
809
199
778
272
139
157
307
805
56
340
404
925
574
350
346
209
217
995
524
693
616
74
799
268
82
901
745
482
813
788
473
825
191
576
557
440
498
396
296
381
804
507
656
849
46
627
225
499
354
447
892
326
666
755
366
462
896
419
657
360
290
47
228
146
386
721
696
788
628
487
177
490
120
120
675
222
522
685
909
814
935
325
129
504
503
922
219
234
609
816
88
512
84
682
988
161
553
602
40
969
340
977
395
268
120
312
629
214
200
244
789
133
361
408
84
832
125
905
914
676
734
925
18
423
431
326
347
771
8
519
95
164
776
1
637
688
224
320
445
396
349
582
18
676
498
100
464
517
543
83
786
47
557
659
936
720
915
119
699
291
79
76
635
668
162
387
472
443
908
702
251
76
142
292
119
302
525
352
939
676
949
494
699
895
903
573
255
715
381
890
1000
619
115
158
985
317
820
138
262
93
655
88
180
887
165
658
765
78
418
929
192
912
224
67
140
143
653
396
147
677
11
861
850
146
570
789
433
493
518
577
376
43
22
945
703
327
379
993
394
50
351
826
392
453
683
747
244
139
14
561
14
826
272
28
579
972
181
25
880
262
612
660
254
579
356
108
396
272
180
257
547
632
762
763
308
354
262
488
643
169
606
311
724
212
898
737
510
256
276
328
164
752
327
173
712
349
664
287
967
908
212
255
70
534
999
750
543
501
186
60
493
696
381
894
195
561
321
980
857
665
74
962
523
739
442
999
990
313
662
388
357
148
588
1000
638
433
170
427
709
608
609
426
852
288
702
778
816
424
636
543
635
308
215
647
872
780
239
967
610
235
168
735
794
799
105
248
878
953
755
213
56
231
897
977
456
288
686
505
334
233
626
901
933
154
145
606
907
408
618
87
257
891
78
25
414
439
556
693
693
892
9
414
138
864
585
64
601
202
527
931
231
542
329
230
540
930
541
647
152
792
515
304
332
690
780
590
632
713
600
913
484
278
663
944
33
256
863
77
788
380
459
830
68
491
577
548
799
281
986
46
53
975
473
114
630
532
620
25
697
945
780
205
332
274
411
96
471
363
86
829
741
451
639
912
35
421
768
38
325
763
444
858
888
483
484
205
680
209
913
901
443
365
788
431
348
799
447
121
910
728
645
196
829
979
944
986
146
67
501
631
64
719
763
232
722
786
145
17
349
652
261
662
180
323
862
284
21
497
570
26
828
206
522
923
238
484
325
321
212
513
902
643
460
174
662
644
786
477
661
910
455
15
357
819
121
26
666
890
250
200
801
171
220
251
919
590
358
111
988
679
636
580
442
876
285
858
624
98
350
332
716
569
495
294
701
135
588
38
503
392
170
94
979
261
560
26
573
767
797
158
863
335
755
407
180
721
469
753
849
389
985
644
955
70
760
591
509
651
785
593
75
28
845
430
494
952
613
103
322
10
549
986
94
543
319
302
554
912
459
791
527
817
271
812
277
990
27
756
652
507
16
397
870
351
259
206
853
486
741
846
634
438
440
207
136
355
858
794
674
840
978
932
346
976
2
412
174
842
993
330
311
949
703
966
473
248
41
737
223
213
331
704
187
603
423
850
190
995
551
982
648
196
972
439
442
174
168
968
254
41
155
203
65
73
302
435
745
808
614
333
166
71
176
381
320
203
292
747
404
478
129
187
799
179
573
53
90
101
452
240
899
352
477
838
380
780
208
497
937
276
905
478
856
397
484
954
16
635
435
127
811
221
610
632
810
766
393
509
419
186
219
620
144
726
295
901
961
54
183
721
552
967
459
756
498
61
928
542
779
289
160
569
127
663
871
766
789
522
659
921
123
408
869
118
297
422
312
895
301
93
799
525
68
505
744
945
997
440
392
556
785
601
746
283
952
408
305
99
579
553
261
474
375
848
389
991
867
329
85
248
552
641
272
150
986
410
287
95
910
172
48
799
203
573
669
856
980
347
89
885
125
275
186
718
263
673
744
724
319
252
838
953
608
318
244
730
516
739
428
216
866
524
822
872
532
230
865
881
314
257
71
696
453
420
692
704
901
491
925
487
497
980
411
917
951
269
707
753
227
899
600
254
182
973
192
19
731
24
66
142
819
449
885
825
423
215
300
253
581
939
880
781
54
3
548
435
22
468
396
43
350
957
101
656
473
304
778
690
521
137
357
955
531
712
325
994
400
607
427
494
578
245
57
201
843
490
65
621
752
254
709
453
252
775
2
938
205
29
942
50
444
504
996
670
280
357
301
826
127
836
924
914
949
635
101
87
422
834
528
948
825
870
25
150
537
47
423
906
789
999
94
120
877
814
416
427
462
354
385
570
888
133
53
337
415
179
224
335
138
757
457
113
972
58
954
212
89
692
118
980
760
981
733
629
785
546
576
6
127
775
244
614
142
1
816
363
345
470
612
939
572
81
139
899
998
241
491
28
493
220
155
552
383
77
132
9
364
995
493
914
946
394
224
639
545
714
254
602
573
557
780
132
164
582
668
271
289
574
259
903
188
891
932
166
846
954
934
415
20
985
899
8
840
50
562
677
308
805
401
600
753
487
779
122
294
985
310
690
930
423
453
930
590
572
197
750
40
467
29
992
920
921
94
779
272
823
426
470
483
218
114
393
15
550
499
453
802
899
627
153
475
887
140
426
948
386
217
357
265
471
22
635
103
500
840
910
922
92
112
631
548
899
957
461
672
486
971
460
894
645
874
245
561
142
944
286
225
999
531
190
266
445
626
565
343
393
449
923
929
344
631
545
998
173
190
496
261
357
759
13
279
62
463
939
153
435
898
188
53
83
820
223
86
139
854
134
439
278
830
651
591
826
326
426
986
180
369
325
35
348
465
608
115
369
728
256
436
566
584
364
431
32
753
512
371
359
529
325
733
97
98
998
382
618
493
491
672
607
754
779
652
990
804
8
400
65
558
248
483
551
929
625
491
165
73
334
241
214
669
104
226
730
787
893
782
455
532
494
773
194
229
252
835
569
464
332
624
481
176
521
386
704
38
57
26
370
544
203
303
85
558
120
988
579
871
126
988
650
755
945
657
83
980
206
372
975
80
159
563
89
161
437
41
105
618
987
928
639
975
991
286
321
690
679
340
470
588
793
690
607
386
162
67
306
44
419
819
315
524
706
732
311
259
890
128
164
909
55
349
42
377
738
904
369
731
166
216
921
62
6
662
575
551
277
303
256
477
382
281
376
258
685
964
932
79
410
26
744
187
331
965
292
569
948
847
552
474
292
735
149
620
416
235
205
437
12
681
556
658
401
213
340
843
307
766
243
834
67
707
649
585
674
223
24
570
164
162
620
240
350
992
331
17
459
375
345
417
946
303
379
29
589
577
643
529
357
600
690
66
150
105
913
532
215
121
601
132
592
880
361
352
413
142
683
544
593
494
882
994
126
161
626
217
800
926
865
368
966
902
46
365
259
894
299
319
372
891
908
692
606
956
593
975
26
295
983
851
356
418
327
327
551
340
113
36
454
268
955
742
582
759
836
75
436
415
73
158
490
342
711
73
846
430
990
169
435
789
969
242
623
112
443
704
36
635
912
718
424
275
69
9
706
802
758
731
99
250
989
186
797
393
723
445
184
39
940
633
419
428
590
203
424
874
447
438
41
752
677
137
102
600
94
907
558
943
45
295
533
32
281
541
800
341
451
775
824
485
941
693
275
640
233
483
772
830
915
163
781
774
305
328
345
608
936
157
802
887
101
374
573
551
185
543
975
607
363
292
895
919
579
595
853
789
925
604
255
102
796
701
1
608
889
964
490
436
493
60
254
469
517
783
895
931
375
80
752
746
841
92
946
874
22
76
462
691
730
215
869
487
769
279
326
301
801
464
510
496
392
559
52
163
340
755
519
277
563
59
962
53
645
347
595
488
100
65
843
8
869
333
521
124
195
745
149
238
451
936
256
969
263
95
74
46
446
251
863
243
589
452
566
847
739
644
730
629
901
860
394
310
677
835
904
303
183
15
483
850
725
67
829
747
679
961
728
782
264
121
692
695
818
543
304
97
278
482
743
433
868
936
213
840
338
309
719
453
881
754
577
375
562
745
632
378
265
381
331
842
335
595
684
368
869
547
738
481
659
411
917
394
62
878
374
778
706
638
644
897
130
44
712
646
293
208
969
546
479
412
300
305
660
647
80
52
984
279
960
788
302
236
659
38
613
230
102
188
531
649
670
640
359
1000
254
657
935
791
826
650
68
665
704
685
600
768
587
922
128
391
17
139
648
489
531
440
46
39
913
953
652
331
883
380
47
406
656
7
564
676
834
267
665
978
466
211
662
397
517
500
347
832
977
420
53
158
24
957
458
526
996
846
393
621
817
355
88
969
401
274
386
336
488
384
931
631
175
493
990
545
604
937
618
781
632
239
626
179
603
514
666
957
499
277
702
279
364
867
478
613
468
889
496
936
633
602
105
677
113
813
143
362
745
651
592
611
306
249
593
157
157
941
585
928
451
898
798
928
567
830
8
962
216
650
43
685
818
804
728
710
829
729
656
849
607
311
384
730
691
330
253
330
984
561
418
680
922
90
959
465
302
179
333
269
80
540
449
444
602
413
870
926
887
740
720
502
199
856
734
317
385
180
65
524
431
435
123
86
9
731
142
809
361
799
381
921
803
998
235
934
386
636
957
951
121
52
388
179
734
642
248
547
463
107
406
564
660
790
132
438
824
447
444
448
56
646
999
45
87
121
581
656
206
800
399
615
413
482
985
945
223
638
575
817
838
504
258
424
803
869
519
409
540
657
558
147
678
864
441
777
434
144
256
722
397
11
107
427
170
901
730
842
47
750
921
28
428
154
156
398
19
746
624
637
407
538
421
976
930
116
405
541
774
201
18
175
324
85
189
669
285
471
154
671
938
622
414
500
908
60
655
676
149
152
64
835
364
345
130
624
1000
160
116
872
609
619
449
14
952
172
467
860
146
655
90
723
768
689
479
936
734
841
205
545
805
18
241
851
557
939
201
65
549
39
748
212
237
748
516
422
177
517
932
637
161
54
916
100
88
762
1
524
544
107
392
363
908
496
789
587
412
851
409
392
693
245
586
243
124
466
193
8
178
831
944
783
829
192
313
117
53
356
805
603
603
304
203
594
315
992
375
296
549
534
730
433
730
837
628
279
800
265
613
138
29
674
979
179
755
621
86
636
761
165
349
996
445
810
698
171
779
54
480
928
49
52
333
738
323
579
553
651
121
418
882
779
501
94
115
770
525
28
753
294
940
685
151
871
840
149
520
134
518
430
560
563
970
225
258
176
900
252
344
441
229
653
168
21
660
236
270
280
528
159
367
217
261
747
322
644
356
207
418
871
984
585
49
765
886
358
638
360
189
708
95
282
891
895
931
859
541
93
728
568
865
735
645
64
638
514
402
573
163
271
573
771
569
417
493
821
18
324
749
925
20
418
349
462
862
660
511
833
395
512
782
671
245
511
388
751
89
564
806
43
427
518
587
5
786
228
752
907
933
509
90
817
336
351
236
947
227
563
905
38
210
668
717
481
904
224
249
448
819
252
843
645
752
765
735
390
972
258
770
267
554
581
504
620
298
380
84
607
706
186
916
900
401
471
728
409
745
880
637
604
84
624
720
668
903
188
223
567
974
355
818
234
683
990
515
878
168
572
432
829
782
605
353
351
465
578
856
475
791
689
465
758
832
946
249
957
918
140
416
617
136
399
592
529
294
387
393
368
580
29
988
810
688
675
314
156
126
571
183
551
931
163
507
6
15
190
661
854
28
400
341
846
944
413
867
164
677
62
212
678
990
146
627
68
410
13
246
532
701
457
997
225
259
259
376
205
285
940
808
766
164
775
884
286
839
22
269
141
912
150
23
661
958
884
95
274
306
849
303
48
178
6
97
818
946
947
648
192
934
675
771
289
480
764
424
940
285
415
966
347
711
838
902
57
339
83
793
46
287
971
625
614
956
429
516
185
992
96
1000
506
846
100
976
976
784
949
436
910
619
957
686
151
448
421
25
255
840
313
676
275
352
40
386
543
631
519
491
491
517
169
261
22
918
466
927
207
870
40
529
905
165
600
425
194
930
771
790
882
53
968
183
55
905
396
696
987
223
691
163
19
688
97
286
561
407
339
4
631
701
324
273
614
107
122
699
651
903
613
183
333
798
29
67
269
869
710
528
623
161
897
557
453
409
946
558
317
845
802
71
911
495
540
531
480
547
718
833
145
29
69
262
319
40
6
899
838
657
431
318
397
299
153
971
643
232
315
205
870
948
884
53
895
530
996
157
433
445
880
670
621
118
82
528
689
693
501
725
8
239
886
191
152
640
795
504
795
438
757
1
6
538
353
917
219
939
701
245
165
820
390
717
235
411
651
357
615
135
527
702
570
1000
114
350
513
749
814
556
312
93
894
19
651
177
259
73
139
986
102
8
244
39
132
864
947
392
997
628
624
335
952
241
37
936
211
421
618
908
800
173
264
562
645
607
92
749
380
879
495
545
446
285
436
391
81
160
225
777
417
720
855
311
276
349
266
266
342
933
979
110
830
753
457
541
887
768
553
148
215
736
579
56
981
169
789
245
716
429
84
831
438
988
20
486
145
428
462
691
255
755
545
408
929
818
383
207
143
392
937
683
243
497
563
617
140
554
830
764
84
296
349
317
862
469
682
143
727
374
833
444
30
527
56
455
524
860
869
321
14
289
671
167
252
129
736
857
942
920
914
614
28
143
348
732
589
982
116
789
546
294
229
105
919
79
17
291
947
6
488
671
605
899
668
540
341
299
51
730
268
849
245
621
98
106
988
29
243
354
385
419
590
789
137
446
613
606
59
326
135
875
45
789
398
387
344
195
388
647
600
753
990
302
848
307
108
748
40
380
395
696
959
886
100
930
864
982
97
310
36
936
194
806
891
617
675
488
736
236
72
624
617
272
107
316
743
156
409
808
527
284
347
797
519
379
821
571
379
921
764
914
723
747
132
164
532
393
8
652
577
281
664
192
388
506
435
64
978
927
719
893
209
993
199
361
632
609
728
47
790
133
820
175
486
724
252
21
333
179
156
742
37
66
473
764
446
512
315
83
192
920
60
17
636
851
94
763
322
170
208
174
732
536
244
751
467
175
334
49
656
282
15
553
66
620
88
477
527
405
367
712
10
221
994
765
581
848
487
892
30
800
342
991
238
867
997
30
993
142
767
509
264
730
911
225
563
930
859
4
888
678
956
603
919
183
736
383
574
428
504
750
688
939
142
63
122
372
396
333
13
112
163
633
768
210
513
777
171
470
932
615
174
682
234
423
846
545
727
772
612
877
472
277
972
153
847
710
918
223
102
47
854
979
980
198
776
690
51
490
4
89
939
333
400
785
877
976
633
928
705
1
607
798
915
67
960
628
328
376
592
762
729
121
934
634
767
540
382
172
930
117
300
659
997
920
112
322
665
251
515
339
568
532
218
667
464
945
821
842
646
108
928
740
969
408
978
896
782
811
121
279
887
753
626
828
94
836
262
197
613
899
340
470
691
619
279
64
320
676
12
76
889
27
898
952
100
314
772
352
377
633
351
152
598
384
581
556
545
739
833
203
50
813
202
5
363
882
933
74
585
353
673
538
948
179
63
781
484
264
186
443
147
367
665
651
191
539
589
840
542
560
353
426
86
964
141
755
917
569
149
487
240
618
684
177
555
968
251
143
245
303
344
677
48
872
989
660
873
52
368
794
182
482
719
175
756
214
110
451
936
264
535
787
542
938
764
578
482
612
173
362
639
480
886
719
231
920
145
900
782
793
826
661
742
715
905
776
783
418
974
127
847
922
43
415
853
424
772
109
426
537
266
223
69
408
142
259
696
799
711
989
55
369
626
71
311
90
288
532
890
237
145
195
736
603
222
673
730
315
246
41
697
141
767
58
540
555
803
571
324
884
532
194
192
904
491
384
709
563
398
830
60
76
752
459
992
151
549
113
815
958
805
437
120
201
189
114
98
601
796
462
364
722
420
499
954
62
129
332
927
622
134
432
120
640
236
648
784
647
857
721
467
843
428
799
260
220
894
606
744
137
65
63
165
239
590
848
12
313
778
625
105
695
393
832
612
876
186
67
964
877
779
930
473
952
11
377
968
375
69
476
36
544
420
283
596
176
778
940
90
831
315
962
211
206
563
444
842
5
993
732
974
685
455
872
771
885
907
122
313
739
416
148
824
927
541
630
156
462
378
249
507
217
323
728
263
303
766
591
43
799
413
208
612
273
527
386
357
834
774
803
203
510
915
433
19
145
772
771
459
605
525
308
949
925
977
875
462
938
488
945
512
933
119
425
884
115
865
401
519
401
95
170
306
238
428
690
1
314
192
437
71
594
191
457
612
28
110
836
489
165
192
969
220
356
889
878
409
507
830
572
609
537
234
720
79
164
254
241
540
944
498
119
802
449
759
577
363
672
212
688
276
568
60
41
661
736
486
754
429
606
161
886
884
291
408
871
599
612
512
484
854
919
552
208
232
811
473
954
902
299
104
373
918
682
299
51
684
877
993
724
750
927
542
998
709
94
143
340
427
227
623
24
531
50
553
466
344
296
166
925
540
578
802
185
532
267
92
902
244
811
174
845
264
433
910
297
406
464
569
818
613
653
838
221
102
53
731
702
697
58
916
774
84
867
646
332
639
720
568
375
81
62
924
382
750
880
620
4
20
37
532
339
802
899
399
866
874
355
379
668
715
881
82
913
274
461
998
785
206
31
221
273
862
33
44
519
650
546
555
111
56
508
822
888
425
631
156
267
67
943
990
761
381
51
640
520
891
115
129
56
28
538
822
335
842
731
977
184
122
539
932
292
339
303
619
396
140
425
58
911
523
992
402
602
445
731
686
800
526
924
893
780
234
697
222
294
359
165
257
585
501
823
695
39
77
858
597
938
807
146
982
223
131
258
453
617
9
389
56
240
675
677
166
438
122
824
641
172
140
880
382
221
518
871
804
81
929
985
819
975
850
93
886
569
553
308
319
920
898
826
724
677
805
260
902
428
864
68
905
706
677
605
759
502
183
751
610
942
732
1000
567
944
58
875
342
823
992
747
350
896
858
413
716
414
845
7
655
289
138
643
714
25
447
650
751
503
842
665
932
167
685
208
406
239
545
549
320
92
800
251
424
20
208
918
793
867
131
312
514
930
321
868
816
406
964
673
882
764
805
42
858
449
652
54
305
525
952
711
91
685
976
400
785
936
725
237
645
189
261
545
454
785
707
355
218
626
742
814
629
720
58
866
544
212
130
453
251
422
497
221
470
553
491
351
122
132
44
666
146
175
92
427
734
554
192
970
386
459
521
248
434
894
553
278
464
791
723
814
417
492
263
387
886
373
530
199
14
751
138
78
865
587
343
867
931
82
609
438
483
892
959
228
916
627
602
508
669
966
832
775
964
124
801
217
263
69
126
784
406
85
799
443
330
535
962
297
202
430
539
307
316
840
321
299
844
21
992
430
433
73
33
585
510
490
825
92
522
736
133
133
526
904
127
409
551
335
413
914
757
293
363
62
287
652
386
864
706
747
591
751
666
177
639
46
712
297
329
257
593
216
690
15
178
548
862
338
855
554
558
581
68
943
726
399
353
226
403
917
417
984
374
743
144
371
635
543
375
226
107
908
732
130
144
323
745
209
270
119
545
828
888
4
10
33
775
378
3
727
232
763
58
447
730
277
359
572
266
765
485
651
958
543
482
855
878
325
203
30
445
395
939
234
1000
497
883
488
875
324
976
847
364
839
968
725
182
341
69
693
534
756
776
80
511
588
624
251
473
220
168
314
600
909
618
327
523
21
715
242
979
458
282
416
701
30
792
759
158
765
926
552
450
828
902
29
602
550
846
669
458
296
703
79
539
496
86
345
345
572
50
638
550
463
468
167
223
423
964
151
372
340
677
484
508
761
937
68
596
278
225
34
758
80
356
617
516
130
870
206
892
445
12
55
887
351
439
919
217
312
460
263
747
71
762
997
376
914
737
985
910
29
984
761
637
329
707
419
390
944
893
263
24
829
311
726
695
641
852
627
767
808
371
21
925
760
591
173
596
610
157
429
84
792
90
609
604
286
765
306
900
921
579
117
907
336
117
99
634
262
168
203
286
641
586
228
831
892
527
233
178
206
876
876
420
596
213
86
174
292
756
621
241
706
71
317
935
686
699
304
725
988
854
786
663
458
874
810
57
924
250
642
110
477
401
353
805
911
492
753
520
23
777
977
398
654
659
816
854
12
993
926
649
584
330
815
486
82
53
265
350
543
893
501
813
462
538
666
595
351
948
530
549
21
729
412
130
320
489
986
13
701
316
750
30
376
272
921
317
1
940
828
953
728
560
542
261
535
440
517
293
904
222
348
374
700
892
952
461
523
670
230
158
912
48
627
551
628
229
788
370
544
689
558
991
248
417
291
23
831
433
148
875
236
467
587
648
804
75
759
614
740
327
19
536
272
81
338
796
625
157
486
698
674
936
86
139
879
104
31
927
794
308
328
539
832
426
196
655
34
762
227
646
609
542
716
914
69
880
817
339
684
23
839
55
262
186
189
194
492
485
860
733
761
820
938
813
407
276
979
945
13
435
476
576
395
53
149
162
640
373
154
724
690
513
372
59
463
62
242
862
50
561
754
606
656
44
216
346
411
458
207
945
689
162
576
18
601
87
494
960
184
431
92
544
94
554
839
596
317
564
41
196
886
461
108
406
746
823
312
418
396
816
677
451
88
927
330
576
278
894
223
465
357
761
359
769
983
640
306
563
551
950
406
174
207
540
791
375
89
83
948
589
715
522
278
704
345
111
968
834
197
462
948
704
629
761
13
12
357
874
890
611
937
421
761
568
52
932
176
944
240
779
145
613
930
356
53
214
231
598
419
870
593
433
482
802
426
72
812
443
97
185
236
165
154
900
865
801
855
256
470
31
4
892
407
500
602
536
500
907
832
327
772
556
651
764
35
597
492
659
920
706
304
320
752
622
726
232
432
518
335
932
943
760
822
753
670
65
953
29
476
174
498
229
60
698
218
829
82
472
814
131
267
748
840
608
899
226
292
657
662
240
416
752
136
745
20
209
784
519
902
617
366
220
780
39
463
399
367
621
754
951
943
923
520
534
391
138
541
779
300
988
679
923
835
728
999
981
465
957
436
798
292
477
632
290
393
665
936
656
263
223
422
220
423
503
528
317
29
679
754
776
356
100
98
910
331
213
510
430
796
857
737
984
781
653
270
431
671
211
418
97
352
541
87
531
71
60
796
267
426
338
274
684
142
324
22
237
425
153
304
184
105
434
569
921
375
599
836
680
33
973
884
709
655
292
630
520
711
413
716
892
313
994
963
460
228
876
128
584
941
132
698
33
60
638
123
711
435
995
9
659
894
247
867
88
173
599
663
208
245
603
618
4
782
202
747
703
204
878
618
133
526
375
342
260
573
821
77
946
834
987
295
909
230
250
727
698
837
469
426
881
343
623
986
127
890
200
566
854
919
72
736
48
210
248
339
147
363
254
559
39
850
578
719
284
651
282
670
724
664
809
529
757
577
100
862
873
346
727
750
957
356
594
525
901
415
186
213
854
653
501
990
997
255
342
460
392
994
991
217
688
577
176
407
280
356
997
822
798
419
983
996
656
883
83
426
622
449
679
591
344
740
458
171
963
645
540
427
318
166
885
759
712
321
854
258
81
782
545
407
797
812
165
242
307
934
942
502
748
853
263
456
863
903
725
925
341
514
147
690
118
465
32
200
695
905
688
503
25
304
636
25
745
860
299
159
779
299
964
484
733
880
611
691
740
964
978
158
591
255
992
369
561
392
203
69
528
858
184
675
460
265
56
951
729
815
520
44
646
918
740
744
614
957
311
229
337
966
965
754
612
720
871
430
929
650
625
53
265
76
881
58
470
47
318
137
482
322
218
986
796
817
448
104
447
637
26
626
967
452
617
190
257
261
315
855
935
696
87
952
99
998
769
789
99
804
473
86
32
30
345
810
628
450
377
967
7
258
986
182
692
7
966
827
116
365
776
509
184
160
808
582
910
788
817
302
812
628
911
103
156
914
231
684
309
676
963
998
583
579
815
257
817
552
361
7
41
959
329
150
452
432
210
206
40
213
945
154
947
781
23
621
332
364
201
579
948
492
571
128
236
229
859
933
307
512
62
668
573
689
464
929
575
925
381
392
122
322
247
188
603
755
876
900
890
704
645
828
181
992
715
935
759
388
260
782
230
349
618
996
651
218
253
455
408
732
912
509
988
955
562
255
487
477
560
444
590
135
647
314
214
656
709
612
801
562
59
117
311
154
502
231
760
305
77
885
717
966
811
910
939
163
306
339
570
14
547
844
713
32
607
125
163
697
772
753
540
686
869
643
931
584
795
798
652
803
138
433
929
298
71
841
791
169
186
879
899
894
500
911
307
122
15
237
877
237
276
619
424
377
688
813
814
351
535
830
970
82
71
949
922
801
314
718
197
971
599
626
285
338
201
921
156
21
748
230
288
60
127
889
108
804
773
241
447
890
468
29
168
945
604
461
843
554
13
70
494
892
433
302
60
576
650
378
730
417
152
708
838
103
17
950
387
162
496
586
194
903
523
827
618
553
522
478
100
385
660
224
19
464
22
485
464
865
925
987
289
189
188
907
801
329
100
847
46
527
743
680
532
701
652
509
740
530
930
930
229
468
164
187
106
673
726
858
485
350
824
228
78
791
277
805
480
678
52
929
415
527
407
967
480
971
436
830
139
846
761
722
659
470
12
865
49
423
702
931
139
827
160
362
597
679
369
353
397
351
735
5
335
464
247
933
958
219
45
688
915
390
673
960
592
255
125
364
103
400
345
333
243
587
890
388
154
287
533
486
67
317
950
692
441
788
489
146
861
962
564
454
994
67
416
145
370
436
947
477
170
522
493
394
603
995
462
442
178
465
174
51
260
622
133
903
996
564
854
831
994
389
749
652
47
900
694
361
73
554
793
10
246
342
841
27
60
875
733
835
681
981
579
843
88
488
867
839
788
916
475
169
93
151
382
952
184
375
890
412
9
166
489
242
245
225
311
392
232
306
996
442
482
482
894
540
529
465
494
600
530
197
220
455
598
152
809
247
793
202
904
353
140
705
901
41
66
188
454
110
764
325
390
952
538
844
58
158
883
978
310
705
506
340
659
64
229
312
977
88
554
843
228
515
415
833
118
730
139
691
549
881
872
679
783
733
13
141
728
458
876
218
853
63
117
129
365
595
461
746
207
701
626
784
86
863
809
772
605
202
642
90
577
70
503
533
501
531
192
836
185
579
935
223
616
729
750
408
321
704
393
849
852
421
144
32
546
463
118
32
868
488
523
569
41
637
736
240
38
29
375
721
51
799
712
304
562
428
401
521
439
140
801
271
547
608
74
694
116
842
317
170
307
816
303
8
438
770
439
814
606
358
313
771
609
722
99
757
945
117
998
248
830
350
840
593
392
320
157
380
86
961
222
470
787
656
154
769
853
974
939
433
170
516
235
516
182
387
626
389
511
266
21
728
3
607
361
523
180
294
948
227
378
981
315
905
480
905
33
546
547
93
275
629
399
302
478
547
729
539
315
860
689
52
792
250
475
121
333
699
104
968
583
543
61
48
953
404
386
129
154
688
323
529
490
417
750
85
473
373
585
19
215
784
915
530
561
333
601
550
418
373
994
178
446
617
369
969
693
91
696
501
96
38
18
202
874
264
868
572
150
390
310
281
909
845
191
413
923
485
799
87
861
760
59
551
532
590
297
886
620
370
479
931
332
36
881
512
759
879
736
445
974
539
764
836
385
563
297
518
350
676
306
882
750
606
93
189
687
483
753
219
754
543
570
353
93
438
489
329
795
286
581
273
640
132
936
758
154
103
727
828
916
888
436
958
944
805
139
709
408
196
942
410
118
601
747
651
311
325
73
941
384
242
915
822
816
142
296
190
454
24
685
407
480
620
970
527
641
490
808
803
452
516
230
138
1000
201
153
165
485
483
394
751
365
684
828
614
850
318
211
926
978
684
954
468
871
807
514
147
887
670
139
163
376
398
12
378
533
807
915
711
168
753
470
159
361
292
961
710
73
242
535
48
616
112
884
229
816
833
10
569
275
620
413
978
766
571
339
544
702
233
561
841
52
678
468
17
215
697
138
697
912
149
720
424
315
173
198
182
576
829
175
786
979
531
294
731
39
278
604
51
520
738
903
614
549
540
898
644
907
948
943
816
77
415
710
432
976
968
777
85
724
427
43
685
853
451
542
506
905
493
48
707
878
337
649
386
476
565
6
21
363
417
129
437
675
258
403
532
860
998
118
333
837
643
559
933
458
162
960
683
936
607
747
920
682
115
458
988
965
374
198
177
484
511
529
213
769
401
467
296
636
791
957
759
327
657
137
842
131
886
242
972
619
1
703
55
521
868
813
831
78
478
768
725
587
198
628
346
613
207
20
549
556
931
84
625
235
355
707
759
972
753
511
14
781
410
71
127
861
654
905
212
211
818
422
994
542
202
552
431
510
106
450
791
754
721
704
475
743
653
870
467
798
495
747
527
826
175
210
640
759
662
738
823
738
909
913
379
797
10
935
410
16
473
417
261
327
269
913
732
993
135
525
499
202
796
598
17
268
627
813
39
436
97
716
840
151
297
234
768
711
756
654
477
96
948
74
478
660
897
875
907
703
687
552
109
792
265
59
259
156
299
610
579
724
948
503
560
474
614
453
860
940
931
565
231
537
34
453
717
52
637
598
801
108
584
730
860
184
76
997
144
229
300
674
156
172
717
819
931
780
536
925
578
171
230
64
76
306
561
559
905
540
717
207
338
514
983
305
446
6
23
964
350
180
558
997
545
509
64
790
952
848
474
683
986
508
594
604
764
578
316
174
433
304
795
741
440
203
968
799
114
833
947
458
803
966
497
969
494
686
378
209
573
920
10
884
79
588
281
292
411
703
277
280
693
270
77
524
603
470
891
328
52
173
801
167
814
849
399
454
842
121
259
140
706
175
52
421
585
76
829
990
357
469
876
228
710
657
445
862
377
965
901
122
127
628
255
669
255
898
500
566
887
671
202
601
142
297
592
424
102
197
341
805
397
403
413
464
601
109
346
69
290
352
560
900
190
692
348
208
892
462
107
521
5
860
370
626
716
267
581
737
503
255
213
745
593
599
516
163
111
957
295
39
318
945
89
969
442
608
880
811
141
50
251
237
581
126
542
224
454
839
987
415
962
957
527
284
398
230
954
316
326
968
629
420
850
824
120
869
790
866
609
753
150
424
423
769
625
286
91
430
55
174
3
282
921
283
860
227
610
782
579
570
558
584
623
914
795
46
899
744
667
778
314
625
968
598
275
720
557
276
571
101
568
938
199
815
286
545
995
350
775
916
453
588
226
961
762
580
868
452
352
619
306
834
642
335
845
110
238
331
743
996
724
844
610
451
327
268
776
179
716
666
738
716
399
484
882
255
224
326
219
992
127
450
451
507
646
39
394
101
96
709
512
713
718
823
829
287
147
667
115
434
947
296
630
220
318
905
859
189
633
776
542
245
95
47
172
884
914
718
722
258
10
636
355
440
197
301
772
894
595
83
498
131
397
696
127
692
304
900
850
64
863
699
825
158
492
736
955
25
711
596
995
657
294
694
744
444
681
77
361
459
816
573
802
425
577
211
376
101
809
464
411
89
325
5
74
366
503
739
279
842
903
756
367
561
323
31
957
766
42
724
69
921
391
245
302
162
146
100
146
130
694
985
407
211
624
1
871
235
569
332
337
530
846
91
101
7
216
452
658
903
156
407
214
625
299
201
908
922
898
441
327
262
72
703
116
778
240
76
337
837
753
908
321
311
984
524
680
686
626
362
527
767
465
294
814
694
239
831
380
227
318
498
222
147
868
894
922
416
753
381
145
693
739
568
721
222
22
938
836
930
699
519
667
247
825
100
326
152
498
136
739
437
520
504
392
44
636
929
837
458
871
386
599
175
769
855
475
377
767
477
675
980
943
957
1000
199
692
590
279
139
358
168
640
527
321
142
949
961
782
815
79
333
352
257
152
382
225
596
51
721
34
567
934
416
916
301
388
79
432
542
757
211
261
624
230
210
643
607
82
365
422
998
554
127
959
326
967
596
519
541
68
718
254
856
35
949
725
444
537
328
898
493
22
8
916
240
860
90
528
34
634
317
114
569
706
781
351
44
880
565
85
374
435
827
420
857
352
106
758
38
611
339
124
975
32
619
550
531
59
819
188
339
175
140
229
97
964
831
71
232
683
666
759
22
839
559
931
550
344
874
822
21
948
908
256
173
988
522
741
117
43
900
955
671
380
540
363
633
964
795
794
429
241
12
428
151
644
477
284
26
933
806
480
177
304
826
142
884
323
794
585
935
775
576
945
860
337
741
742
555
373
965
421
497
403
773
262
877
551
652
438
545
950
693
632
424
526
782
824
178
902
233
76
521
725
762
831
587
243
659
153
135
954
516
127
714
255
913
52
5
54
550
291
814
38
620
349
275
502
706
79
80
206
491
452
5
230
800
922
862
41
632
883
790
875
699
974
239
402
958
632
334
322
684
83
556
442
256
393
794
541
588
597
127
315
855
531
821
185
953
429
867
990
695
69
848
419
231
541
212
893
11
573
419
932
41
706
869
660
989
3
339
730
996
913
66
561
481
438
645
972
19
824
612
955
617
324
394
346
307
793
434
577
40
938
763
613
134
19
713
535
996
362
365
842
625
480
579
726
616
53
84
418
664
836
607
290
949
694
926
947
279
262
761
636
586
234
947
809
877
581
372
851
660
606
770
537
716
862
644
38
218
83
317
95
117
633
1000
297
431
22
17
58
269
69
455
209
827
371
873
163
422
801
27
2
784
926
846
450
488
595
743
725
454
638
258
90
909
536
352
294
991
261
652
574
101
120
400
411
434
559
750
545
456
443
301
104
176
438
357
965
816
44
219
292
387
118
378
140
307
945
358
912
213
800
509
95
715
830
869
484
920
829
213
671
156
112
519
306
878
839
463
912
342
451
552
800
249
712
979
121
245
770
194
188
141
713
689
113
375
144
210
534
935
939
142
589
760
665
72
332
562
89
160
386
810
639
739
432
988
889
181
841
481
274
494
901
698
73
242
442
215
519
927
54
232
199
190
170
794
517
56
288
859
66
67
103
141
70
916
766
176
721
998
250
980
1
753
663
461
432
745
642
172
695
938
65
197
979
752
849
922
35
755
435
925
46
16
539
472
436
962
197
178
774
317
222
187
405
234
204
767
918
267
226
976
749
122
232
556
536
405
142
840
702
57
503
28
32
690
630
978
571
39
258
795
163
152
271
918
797
585
232
185
384
800
707
713
551
534
63
714
911
231
682
606
623
121
664
667
661
979
850
68
50
838
313
218
866
913
778
838
78
4
565
322
937
711
940
547
197
565
973
776
258
939
341
684
397
396
25
31
672
846
708
270
154
240
260
151
772
673
844
752
51
615
941
503
279
439
804
664
732
243
567
45
258
225
89
653
505
483
959
748
930
181
388
863
209
240
706
474
932
217
783
679
554
488
79
591
671
709
439
676
389
65
101
733
648
915
482
267
376
519
405
828
227
665
666
414
884
392
555
258
856
645
85
141
455
352
367
824
260
955
111
129
248
978
342
852
252
386
594
585
705
736
719
607
970
231
362
971
316
794
853
269
844
447
599
140
887
442
858
367
355
504
858
315
982
773
502
148
435
407
760
323
192
672
826
552
609
770
107
772
917
627
383
277
375
294
311
329
468
753
705
182
867
832
545
98
287
63
715
44
281
226
812
974
844
336
351
155
898
967
910
832
720
55
978
596
938
275
114
99
954
703
854
927
603
367
816
368
692
57
349
821
676
456
499
188
599
175
983
646
748
790
206
356
898
410
111
792
194
652
80
640
102
939
440
118
755
25
985
601
515
865
401
722
149
148
594
618
470
113
600
850
359
709
84
773
46
143
806
385
415
28
109
958
55
82
236
171
529
295
838
420
87
210
463
649
967
777
201
901
356
65
104
830
852
847
266
956
533
751
112
852
533
64
157
203
244
739
376
620
836
890
388
811
447
71
451
713
128
463
976
994
626
906
806
383
396
652
91
90
997
724
244
38
540
565
75
625
233
620
101
794
866
289
335
491
241
342
447
383
558
911
746
574
870
657
966
197
260
563
570
579
898
283
776
421
360
812
205
561
243
649
870
646
633
862
801
983
586
184
362
109
686
231
906
529
137
247
506
158
862
408
320
624
701
982
663
685
164
174
790
774
235
969
17
191
32
98
986
884
982
784
543
652
99
187
378
308
410
163
838
367
247
600
657
6
695
250
918
787
273
432
163
268
380
673
196
385
640
762
914
898
447
394
496
701
197
695
500
28
230
705
888
457
39
846
233
540
32
59
422
222
653
120
305
573
409
11
214
240
444
196
668
888
417
873
985
491
598
442
467
709
644
825
88
726
792
741
856
895
773
65
455
538
592
475
466
436
600
731
626
229
290
724
79
81
729
348
391
527
693
282
228
396
952
989
650
602
956
633
779
401
537
673
198
805
295
567
112
587
985
335
433
321
125
929
722
197
468
778
778
504
690
431
951
237
379
170
424
501
471
867
347
281
91
568
1
656
604
190
167
613
828
750
210
104
156
98
957
340
370
271
549
756
932
818
879
978
206
142
378
156
6
330
463
888
567
16
93
620
969
743
373
993
241
369
565
247
937
139
422
546
36
108
912
272
164
837
330
309
233
72
668
979
267
999
111
572
277
959
734
757
793
987
667
54
209
797
954
971
29
315
223
204
22
684
842
852
981
594
632
742
2
104
502
597
142
467
366
347
268
93
541
177
231
788
561
419
284
586
307
691
288
148
56
927
512
863
61
81
175
816
664
724
848
827
645
764
821
131
637
916
17
703
477
966
931
974
949
785
445
877
883
107
864
446
417
75
95
419
666
906
451
746
537
514
273
676
288
536
414
755
679
449
124
452
840
694
206
43
233
644
533
60
990
709
299
221
481
422
419
975
487
412
228
246
592
986
742
896
563
1
391
644
161
533
365
909
746
547
765
941
747
373
453
306
985
707
958
575
576
951
91
882
346
362
71
738
916
692
557
604
881
78
703
805
485
984
439
661
358
971
387
241
410
678
472
392
115
93
929
565
989
7
483
1
311
221
620
953
455
730
651
415
618
141
851
315
515
810
365
853
88
644
384
906
671
521
629
524
141
703
80
387
990
370
876
586
803
434
705
200
706
284
626
190
909
724
685
149
78
548
579
47
206
725
426
619
472
107
459
521
54
18
801
585
339
77
520
502
953
420
555
691
284
348
308
522
652
604
90
651
942
591
438
46
738
104
399
215
618
126
172
370
60
114
84
814
319
936
981
474
763
936
750
584
820
169
966
292
461
808
988
23
998
968
181
306
56
353
712
446
584
995
563
537
225
470
821
12
846
630
164
9
119
145
135
862
593
617
236
703
449
938
784
748
845
726
428
8
519
773
963
682
269
891
923
655
420
654
251
990
19
119
588
942
603
974
575
204
960
963
283
796
568
14
61
740
471
784
640
662
994
584
116
995
770
6
412
236
837
216
81
484
312
25
358
256
374
704
905
274
171
232
90
221
993
638
328
213
174
251
566
785
814
66
286
648
648
743
819
485
117
924
466
786
40
3
175
381
186
964
255
131
734
404
649
157
349
726
904
663
865
617
695
251
841
892
563
253
724
822
515
668
239
794
301
576
897
39
702
814
236
346
143
925
270
477
465
480
616
146
753
23
318
914
403
272
365
931
124
619
960
487
551
806
627
879
755
411
463
272
600
784
257
199
292
851
40
104
124
932
599
909
1000
444
925
524
979
851
133
334
625
484
304
50
794
44
989
868
565
595
343
177
150
781
923
860
927
13
810
722
75
434
529
254
189
325
545
475
957
717
424
92
518
618
399
253
668
104
442
495
563
686
902
526
223
283
759
155
979
924
529
234
236
865
297
243
915
666
12
239
4
201
930
430
716
280
572
220
315
946
501
928
169
65
618
120
440
181
331
799
394
971
769
474
767
396
361
58
433
466
309
629
619
920
289
908
271
933
797
301
281
564
3
561
133
316
633
202
561
660
608
22
194
391
187
213
513
476
283
242
973
144
113
331
609
491
770
509
355
850
71
978
642
278
788
129
453
332
516
248
361
997
271
344
163
123
526
10
230
185
387
740
879
394
740
213
857
418
229
870
722
915
537
188
812
184
951
334
68
419
823
26
553
517
423
940
112
619
71
730
449
147
710
208
626
626
384
562
5
393
417
488
155
805
115
550
490
440
624
728
292
82
526
263
79
375
757
134
957
186
110
732
972
911
373
781
999
698
332
322
682
476
297
762
483
657
788
700
502
802
942
656
335
539
749
531
446
184
588
360
573
673
417
657
668
486
290
31
839
895
353
88
878
971
313
887
812
562
424
71
720
538
377
269
589
214
182
690
493
212
371
3
146
90
793
842
164
190
6
917
499
800
882
976
824
27
618
534
428
904
794
385
450
331
369
523
903
676
667
724
756
854
394
266
548
265
95
160
917
457
715
168
42
640
203
192
812
93
117
577
682
746
235
681
995
41
336
739
382
530
73
24
928
444
336
680
645
763
453
641
917
145
489
741
959
358
12
512
14
650
441
520
753
156
751
841
313
963
958
411
225
686
896
634
878
980
511
543
317
721
261
898
420
36
588
450
183
410
319
548
198
254
501
960
536
192
902
142
77
388
272
183
453
349
759
895
375
548
131
457
21
905
779
871
345
765
480
834
662
775
460
203
347
600
75
935
852
943
752
367
413
31
870
795
883
231
569
286
51
263
307
402
944
768
500
387
28
972
733
471
268
461
57
147
285
183
28
838
701
933
315
340
174
227
998
729
127
934
730
158
427
39
241
827
779
118
392
336
532
698
124
805
472
48
171
54
771
600
321
69
677
731
946
198
382
528
235
705
833
329
270
564
408
183
223
945
7
523
271
483
227
434
306
276
591
956
467
664
281
885
194
37
347
388
985
898
242
393
151
785
427
842
960
392
101
968
993
330
870
624
938
167
910
752
197
122
1
882
669
76
696
538
33
429
663
897
723
122
514
367
426
430
59
176
178
952
803
85
32
891
937
166
505
307
270
263
713
567
580
667
553
948
32
275
979
697
664
909
158
961
667
693
268
106
857
718
272
484
767
945
106
218
975
303
268
44
634
278
680
723
336
823
618
453
346
173
639
104
619
211
174
112
44
969
75
744
43
598
211
575
272
70
569
731
36
769
169
886
139
691
151
50
328
365
129
116
62
952
202
978
979
113
850
166
458
152
483
343
395
555
106
236
750
128
627
679
615
761
595
970
426
369
916
720
427
366
400
80
275
93
449
377
721
112
586
78
814
939
443
584
200
960
384
471
484
284
626
319
632
856
688
111
970
496
905
714
746
207
42
63
818
962
615
100
503
601
48
458
57
301
62
586
488
20
241
247
690
289
837
191
425
371
998
698
904
229
680
523
67
327
309
481
725
723
666
757
814
248
46
789
333
570
942
549
933
716
83
398
305
362
662
412
47
366
76
545
497
414
312
254
577
854
528
509
624
461
483
310
736
821
8
621
164
958
283
965
690
728
386
214
621
844
664
415
842
931
553
990
595
179
211
509
71
962
159
827
413
170
128
798
29
393
530
504
525
954
522
699
626
893
26
967
360
344
432
93
412
682
957
629
882
824
874
53
668
314
46
784
514
478
715
556
437
121
502
951
306
102
116
286
564
335
303
553
167
467
746
42
534
31
418
163
203
831
780
33
558
759
265
721
337
981
842
115
15
995
633
378
281
650
773
782
549
944
774
131
445
678
454
304
446
220
310
730
364
56
4
93
22
382
774
793
769
599
285
230
417
335
7
649
389
144
241
447
117
460
387
360
732
280
650
278
320
328
219
181
85
358
721
169
521
950
653
18
231
693
306
984
715
935
555
622
759
77
416
557
114
131
643
113
634
731
191
541
419
686
857
821
436
903
945
263
191
751
562
255
56
29
894
210
428
304
769
369
670
767
426
298
670
581
209
996
841
869
151
5
997
932
582
372
165
126
672
972
981
453
500
932
222
679
483
300
64
621
907
240
144
769
482
801
534
740
673
445
541
496
826
665
781
147
724
31
434
637
541
805
702
329
179
144
217
720
743
863
218
946
304
659
670
347
499
12
494
583
518
297
735
197
106
649
555
196
162
428
433
652
396
864
649
514
370
56
17
787
504
64
886
320
662
104
660
711
76
373
587
973
420
307
621
31
717
828
340
712
363
764
107
952
617
604
294
885
905
598
191
463
669
292
176
316
953
37
268
89
455
80
670
151
796
197
379
170
234
401
16
586
372
789
430
21
676
592
850
503
273
864
513
665
89
253
539
163
855
634
711
808
155
224
282
547
347
818
439
146
367
249
706
531
874
805
196
383
481
943
691
672
637
314
486
894
23
386
918
219
898
372
814
89
887
212
172
965
349
910
233
789
662
425
826
107
728
506
678
633
458
568
191
171
987
881
802
66
776
569
106
20
789
767
315
717
212
142
923
358
208
673
644
168
591
243
234
762
846
436
517
959
458
194
30
452
280
20
61
336
21
64
410
577
773
235
453
883
734
643
487
599
329
451
663
978
520
134
299
742
516
32
570
173
314
762
732
522
880
605
464
578
10
130
830
537
931
14
113
811
916
884
265
956
134
468
744
347
102
598
823
436
875
411
151
816
768
529
471
29
80
6
196
117
311
482
478
876
901
127
55
363
247
325
45
61
895
806
100
878
722
260
51
161
898
33
418
921
369
659
899
807
15
605
310
974
719
724
930
489
470
891
216
259
919
323
112
978
301
288
299
300
592
757
465
385
762
593
744
48
728
123
831
844
949
794
356
393
964
729
470
159
15
740
729
560
122
738
855
798
788
590
744
688
150
80
389
68
41
565
502
985
251
384
305
465
218
294
83
923
994
81
244
323
432
636
236
379
560
86
831
435
421
922
839
866
388
152
397
228
806
957
234
185
412
96
116
812
74
577
390
228
858
156
585
83
864
38
815
76
681
658
490
550
182
320
94
145
264
646
654
700
772
260
773
72
495
485
537
914
866
914
369
854
905
515
546
207
813
568
773
776
828
713
459
100
319
342
566
635
898
437
500
330
774
695
184
413
951
219
405
693
672
348
789
978
306
681
915
128
902
653
734
885
790
520
916
544
663
518
261
139
528
301
253
787
482
784
919
561
335
49
475
168
20
775
562
905
669
949
7
803
135
490
612
752
212
886
425
869
773
924
614
499
234
159
573
161
137
688
209
361
170
640
767
849
912
977
892
503
321
692
264
555
241
951
984
294
181
190
808
685
100
66
733
553
175
781
922
435
471
218
118
525
587
49
919
488
319
113
154
563
980
992
177
749
619
54
935
359
382
810
148
816
846
55
505
985
275
970
49
555
514
963
169
185
32
397
926
133
435
146
236
151
998
480
723
189
861
538
134
500
569
189
933
375
570
813
363
657
100
273
620
745
746
572
845
166
554
788
539
577
470
392
924
675
772
117
618
560
93
296
266
772
289
614
728
49
443
693
661
937
621
685
535
750
961
676
474
492
593
6
871
452
778
364
47
497
102
804
27
665
871
268
213
445
621
845
315
128
95
354
522
503
782
330
698
963
347
298
825
462
40
721
812
489
418
454
215
764
421
344
118
297
714
862
212
982
739
264
194
112
859
7
307
1
946
981
665
324
98
85
327
551
578
348
105
686
105
552
780
228
740
549
611
538
895
39
380
807
711
749
517
723
225
605
504
515
344
741
74
81
638
639
44
545
153
318
908
882
324
605
511
43
26
327
575
455
976
62
906
25
716
192
982
581
969
739
702
353
132
539
498
44
357
855
673
175
475
554
844
478
781
974
183
408
600
843
702
671
157
824
226
289
307
727
493
859
229
716
595
940
754
782
949
749
960
552
427
504
441
875
575
366
64
485
66
633
972
309
988
57
382
213
85
941
991
427
898
448
551
599
863
258
571
708
211
412
896
797
444
697
851
915
445
519
187
256
133
4
157
304
488
723
565
524
290
818
497
35
174
450
32
82
854
125
494
823
41
584
458
560
818
866
967
688
115
131
180
631
799
858
953
618
38
495
251
388
807
408
955
803
139
676
868
596
696
483
923
226
88
700
661
599
802
998
608
977
427
520
251
187
580
926
873
546
899
780
119
774
756
761
480
525
383
37
353
249
14
456
409
455
664
196
67
904
960
995
761
595
5
812
269
388
965
979
681
888
761
741
852
907
138
866
521
95
839
843
19
299
318
739
534
902
738
772
778
5
986
643
398
916
112
941
27
280
810
358
774
770
400
236
410
34
120
550
363
624
80
38
398
856
580
744
928
514
996
795
514
627
850
706
518
283
782
491
184
621
679
814
599
781
741
91
740
48
508
958
844
776
588
511
791
343
112
88
608
591
356
95
516
483
346
179
374
658
945
405
273
296
532
694
643
790
255
282
892
254
579
371
913
295
155
366
60
371
433
9
411
442
416
687
132
712
48
596
55
938
560
61
638
311
566
922
362
913
765
436
85
480
551
418
343
494
157
526
560
616
230
366
785
268
46
253
111
294
40
378
386
594
310
465
968
114
583
2
849
25
336
262
111
10
360
214
721
804
440
495
921
22
474
921
826
980
882
434
173
286
908
897
390
602
699
966
309
188
345
356
314
974
250
882
290
377
970
390
647
436
445
804
711
959
787
109
895
997
263
963
527
386
900
795
199
255
136
461
286
37
226
981
341
852
622
160
307
249
982
354
732
789
268
62
728
485
145
589
375
635
208
39
218
910
682
178
833
282
681
646
976
920
773
822
820
535
517
490
634
756
984
936
139
641
718
834
609
322
640
854
130
522
770
197
431
784
766
114
784
728
122
254
202
704
97
471
352
178
104
372
564
885
242
350
338
246
209
788
585
150
264
243
599
864
788
233
866
139
394
388
605
784
287
879
822
519
265
800
880
955
84
361
217
533
75
591
795
259
589
215
30
980
800
660
668
335
94
435
893
86
889
869
576
542
900
520
189
321
857
851
662
238
479
947
448
611
72
243
660
271
800
198
74
779
598
481
253
196
936
496
625
517
568
419
416
399
888
606
267
111
531
138
207
584
198
709
226
349
162
179
400
845
105
3
31
362
109
963
774
851
314
914
837
80
120
218
106
938
551
49
69
663
457
690
892
601
922
233
462
811
448
30
181
228
438
790
90
959
290
936
847
102
853
342
116
541
313
49
380
661
870
804
464
649
50
905
843
588
216
898
124
685
944
652
688
51
745
397
690
406
98
666
67
953
556
154
808
104
544
68
518
95
886
730
435
744
87
463
677
491
910
244
411
618
405
927
818
482
942
669
850
440
2
828
331
853
192
341
194
591
639
749
831
581
723
676
285
645
156
245
804
234
630
751
432
498
313
805
374
106
891
955
281
714
295
950
879
24
664
571
56
135
383
768
800
13
660
162
960
765
22
123
59
81
342
636
765
743
374
190
75
491
355
865
354
988
479
194
248
673
723
559
803
628
161
300
119
680
866
434
701
965
766
485
588
438
575
173
989
437
548
199
1
542
129
207
895
330
176
982
879
468
944
171
361
999
590
436
221
511
631
917
95
472
58
391
847
910
648
441
762
208
565
970
59
3
945
1000
204
346
22
147
171
91
695
625
863
920
39
385
393
456
351
700
942
619
996
897
548
32
714
680
721
849
120
641
102
273
398
74
489
178
467
589
918
390
71
513
483
107
135
97
618
180
401
402
970
442
933
815
291
211
47
408
157
458
720
123
870
37
555
912
441
177
361
752
133
722
706
573
563
821
871
651
596
384
94
773
616
508
751
973
406
227
891
705
387
25
510
27
478
163
867
453
289
700
862
32
117
556
532
247
946
71
125
544
39
674
86
870
962
147
939
518
212
701
181
605
587
253
555
666
856
893
779
350
104
500
125
1000
780
49
368
815
379
212
986
950
853
135
85
531
134
598
768
842
435
48
154
878
926
798
635
484
684
704
645
107
142
955
831
666
784
761
281
836
842
39
889
299
139
63
16
361
786
283
852
700
674
558
233
949
449
666
587
438
122
638
271
670
82
779
144
858
2
249
855
920
75
78
481
394
298
669
227
135
25
534
734
852
905
91
200
798
340
867
476
175
142
71
44
523
917
364
763
743
344
599
645
68
34
262
240
952
330
792
896
27
637
800
153
393
771
583
827
104
982
859
294
722
934
463
90
939
685
20
22
779
323
354
752
873
598
350
905
206
493
987
873
682
198
797
898
279
305
356
289
970
264
168
561
932
438
437
477
476
371
321
425
975
372
621
704
509
210
542
735
821
780
375
750
82
107
171
587
51
727
250
941
836
82
365
437
817
567
478
492
418
74
687
17
467
321
692
284
304
548
671
685
811
201
58
197
496
74
952
596
519
620
187
625
562
930
621
576
619
717
513
502
556
218
831
869
991
788
257
750
632
812
613
898
876
532
848
103
740
747
927
473
492
262
365
176
392
223
520
582
580
225
870
66
510
277
177
332
558
266
469
853
802
354
325
539
718
408
413
768
902
39
724
659
995
539
814
805
515
479
91
2
854
855
780
196
468
31
908
83
950
989
202
112
586
893
225
79
259
944
78
650
135
76
269
266
567
526
373
911
116
108
120
200
170
811
408
265
15
589
551
520
513
152
532
632
988
725
730
32
19
219
244
471
975
445
242
255
466
145
209
45
531
14
352
868
388
645
954
276
231
446
786
800
239
190
447
956
79
253
244
115
305
360
116
374
371
505
774
893
165
571
601
744
902
5
884
539
844
395
755
570
254
137
161
640
383
857
1
202
954
519
70
268
971
979
398
128
318
389
117
641
352
777
900
84
217
289
646
760
679
624
932
605
489
212
522
636
31
530
255
70
183
246
950
821
770
524
883
360
232
479
130
873
560
546
811
175
528
205
166
190
300
681
669
596
892
768
346
675
634
112
643
976
334
617
305
566
246
220
852
754
185
802
907
732
108
494
189
3
917
387
219
330
562
765
293
370
985
150
770
488
839
823
647
923
382
334
802
360
660
336
622
372
688
768
243
204
22
302
481
508
836
933
2
500
139
17
719
440
345
400
746
643
475
886
971
698
968
272
104
323
894
2
659
856
957
446
846
148
788
560
526
37
856
909
999
747
212
292
499
290
140
856
249
820
486
703
991
819
633
13
703
143
669
968
162
947
712
507
224
987
1
764
953
191
603
370
120
878
13
775
793
984
219
256
690
264
309
693
18
560
83
451
89
343
797
474
852
544
964
587
997
982
822
505
742
910
777
60
226
959
646
205
881
89
888
735
378
636
14
260
96
235
949
262
975
866
872
687
963
233
219
622
944
961
678
574
898
755
47
672
128
207
130
256
815
416
605
52
448
357
117
546
707
417
698
155
363
187
986
920
793
954
928
340
958
943
39
936
812
590
694
299
390
531
392
116
51
561
363
950
561
304
480
280
53
719
670
91
162
243
547
18
502
262
85
790
42
452
876
474
931
59
46
642
676
65
802
174
481
298
124
868
282
74
325
248
696
771
541
905
797
86
653
899
811
53
194
918
748
932
551
99
743
405
93
832
892
98
567
956
155
529
654
882
450
302
811
581
986
523
74
760
839
785
852
932
14
564
801
672
264
325
147
271
419
171
261
457
766
37
192
287
345
710
678
810
263
161
835
416
76
292
302
511
233
81
788
253
928
493
771
337
232
504
664
928
323
39
408
399
924
985
317
262
782
242
849
337
818
445
185
603
763
222
287
910
356
393
429
966
106
924
473
552
18
671
317
631
651
803
259
550
742
10
890
771
869
765
839
347
205
20
786
48
732
361
40
760
807
138
679
775
669
753
575
628
383
525
99
459
581
922
793
175
669
997
312
139
297
974
673
963
465
20
235
187
245
194
122
213
898
218
225
400
520
262
627
812
611
757
805
111
292
329
536
967
540
22
797
831
982
344
142
347
250
456
632
908
11
311
861
487
572
182
699
720
905
234
169
357
44
566
837
618
545
88
942
992
758
234
384
505
58
344
787
315
638
624
336
11
611
177
554
660
616
9
412
979
452
219
232
209
664
44
734
468
244
926
694
567
410
396
344
513
150
449
27
155
681
54
118
679
291
802
286
933
480
870
334
858
668
274
416
652
914
545
493
391
486
822
845
528
438
32
15
706
743
289
549
651
179
632
229
798
272
396
644
142
76
247
49
229
319
271
726
404
254
346
326
500
430
114
107
905
240
966
550
681
390
615
794
397
590
634
895
835
405
792
437
356
690
715
302
821
951
541
994
304
895
527
833
45
598
75
996
122
44
973
654
316
750
727
161
645
624
197
340
304
21
369
934
822
784
47
214
703
237
978
90
183
776
271
265
107
497
236
984
398
786
631
850
546
952
871
417
906
198
102
409
140
450
478
150
206
953
823
330
706
350
15
262
469
920
352
299
192
399
364
494
255
687
117
664
238
973
5
757
951
247
680
934
303
840
557
172
492
207
252
209
227
510
669
989
549
451
560
646
851
655
62
629
804
622
696
706
670
590
752
224
394
558
729
961
38
860
397
726
371
524
161
130
594
792
535
69
343
702
572
510
227
626
4
775
558
485
277
711
267
736
658
431
423
708
806
841
305
991
204
159
69
498
961
841
590
113
1000
741
465
808
254
239
177
559
308
129
111
758
441
263
896
691
84
858
508
633
203
232
811
754
531
634
582
482
622
298
128
472
681
314
223
459
406
180
728
954
139
197
585
805
337
965
3
945
365
490
257
726
636
473
844
695
592
138
870
839
100
746
569
335
240
586
137
218
217
614
866
456
399
728
342
901
459
673
704
632
115
588
467
85
396
281
817
383
880
596
156
763
335
860
736
145
353
797
837
224
723
207
999
629
103
481
67
45
604
576
211
234
376
191
373
359
338
897
251
245
833
470
996
496
331
472
828
341
204
463
843
407
582
515
315
757
565
117
811
62
945
270
228
618
638
953
875
174
769
954
758
666
245
220
700
487
414
363
663
105
454
430
509
568
548
431
273
348
293
842
205
351
7
973
72
126
54
709
842
997
972
180
746
509
664
681
238
15
56
834
592
24
827
463
364
627
960
74
555
248
981
193
916
181
521
306
954
503
648
230
709
934
925
710
681
980
586
956
683
170
955
24
709
314
54
519
884
985
737
81
930
252
171
15
484
23
966
734
509
262
261
754
140
401
301
347
268
241
919
201
741
516
127
536
319
250
406
742
598
51
967
241
425
889
779
202
983
930
84
549
398
476
952
608
38
861
411
69
1000
137
351
595
831
461
567
121
759
183
372
631
80
808
72
796
820
944
568
169
273
7
595
996
638
774
1
808
151
708
61
202
188
548
8
845
915
274
210
193
30
488
73
202
18
226
12
637
837
259
10
857
661
846
323
131
102
831
790
154
214
24
632
370
650
911
931
979
846
425
360
293
220
934
910
338
32
870
105
127
846
572
495
295
95
872
911
133
846
132
408
446
427
742
540
594
397
945
223
962
24
827
262
840
403
999
403
744
838
867
950
692
956
866
229
667
633
747
937
472
412
682
866
818
93
483
868
173
729
354
679
639
511
884
150
449
334
806
203
132
456
208
325
373
979
64
127
928
352
872
970
261
162
580
781
178
407
92
317
158
773
92
905
96
962
523
246
708
104
120
221
566
829
40
278
72
914
974
654
465
97
758
886
286
734
856
126
612
328
28
565
706
663
322
549
469
759
70
308
69
916
106
86
46
447
204
912
940
397
556
801
177
824
664
773
250
662
856
377
316
967
113
596
956
41
795
485
833
472
824
70
547
501
670
251
11
613
48
643
284
955
450
13
291
394
137
106
273
737
657
648
455
44
969
759
117
949
663
3
160
315
985
365
990
387
454
448
279
538
495
840
568
949
928
948
181
976
280
172
537
984
876
731
545
746
552
821
89
472
559
454
141
989
141
587
79
17
712
601
675
992
84
247
407
970
994
803
808
760
462
381
710
558
149
561
399
303
724
365
638
647
434
446
869
756
168
991
761
362
14
319
377
387
623
474
542
313
859
444
883
21
833
283
132
61
924
790
58
208
819
304
148
473
10
681
356
847
292
731
620
864
933
329
352
3
446
817
543
845
375
931
486
215
208
213
643
118
446
350
915
162
557
353
997
374
756
181
348
497
597
209
109
1000
849
298
677
753
578
800
25
985
91
309
799
978
287
818
342
173
311
17
141
672
601
587
428
433
550
190
666
1
1
571
979
684
479
887
619
526
936
999
534
482
18
533
998
689
24
978
599
706
240
168
954
863
371
785
617
443
436
452
526
588
927
185
94
899
659
976
725
615
849
904
646
189
255
332
610
241
338
371
260
274
214
797
832
712
671
428
916
340
989
89
920
253
595
109
238
606
687
278
970
791
792
51
618
902
600
510
858
93
325
178
380
337
585
206
842
402
33
548
791
597
935
789
801
380
332
53
204
504
477
994
389
711
57
94
220
242
580
499
619
623
955
351
717
171
449
865
551
494
540
491
35
502
480
364
503
326
725
28
269
312
612
743
579
753
161
986
295
679
187
14
162
21
838
101
68
671
63
547
244
302
879
719
430
750
464
314
327
243
503
283
854
357
587
154
577
76
583
890
344
208
214
925
942
337
662
548
213
492
819
638
870
318
752
814
631
112
606
652
769
766
958
731
429
196
657
513
372
218
957
19
715
602
314
90
554
915
617
743
324
27
779
884
864
527
20
818
445
821
580
708
915
397
330
105
317
545
31
775
670
688
745
996
920
58
290
50
922
663
418
573
217
17
4
168
744
229
534
117
653
660
890
922
565
505
933
284
656
674
711
899
529
820
35
200
380
155
639
455
495
978
72
191
317
498
118
615
697
38
414
948
12
397
519
718
798
438
258
871
128
747
6
406
657
944
528
171
855
974
794
414
391
817
420
637
823
734
913
984
299
769
642
185
816
220
789
962
857
37
710
290
470
826
627
406
651
613
34
340
528
529
204
615
278
320
431
666
916
20
951
414
342
20
711
259
495
879
849
723
926
225
66
380
848
619
418
491
58
823
939
672
964
811
120
367
829
944
990
348
500
634
550
131
882
907
487
133
799
269
709
216
421
392
42
973
337
43
488
476
672
416
605
65
534
671
155
298
534
311
79
104
473
926
688
892
10
913
467
493
789
792
443
40
265
791
661
466
460
211
285
694
860
260
931
249
969
707
565
105
161
769
872
235
447
207
410
964
249
410
206
644
157
107
152
119
862
427
875
987
633
947
425
256
767
894
305
529
440
761
600
494
252
825
7
933
373
894
920
478
820
689
914
254
299
697
969
173
181
562
749
965
829
872
347
208
846
674
937
296
308
215
221
366
246
72
740
48
724
311
24
280
240
434
826
865
94
566
661
396
231
574
611
442
4
816
569
901
474
22
34
993
543
958
264
857
395
73
905
573
500
700
299
463
137
529
489
509
938
323
445
20
171
541
865
425
722
569
682
985
186
113
912
660
752
702
273
232
612
216
786
58
426
956
160
640
764
334
169
300
633
669
606
18
678
610
154
126
600
630
693
663
367
571
513
615
318
710
841
509
969
411
927
271
213
345
69
664
426
167
376
981
243
794
861
409
350
634
267
831
860
104
427
97
704
882
646
283
861
128
335
106
571
804
748
444
875
470
896
183
238
156
70
175
144
125
51
782
58
816
930
230
623
284
839
949
473
679
547
590
217
284
509
692
922
429
689
176
348
572
431
410
91
901
433
970
387
757
86
516
388
722
931
297
250
373
394
515
904
739
647
224
569
95
142
607
895
684
846
586
569
259
643
458
253
294
379
400
157
301
226
644
303
470
430
245
631
506
930
33
366
932
223
132
382
964
902
997
328
4
512
772
116
57
795
957
433
323
571
78
14
924
641
162
642
995
596
318
523
42
347
744
773
930
477
464
691
146
476
83
949
526
758
401
36
696
824
214
716
325
398
887
443
888
27
567
205
577
415
693
778
689
811
397
250
705
573
969
752
900
159
331
253
708
921
409
471
505
399
892
475
895
677
880
841
364
711
429
464
694
172
167
549
725
658
78
589
979
140
233
31
302
100
773
1
979
991
326
357
67
687
529
157
195
78
663
45
382
167
411
100
490
950
928
274
660
967
923
695
841
44
65
18
698
592
347
998
611
471
110
470
968
433
500
915
946
974
352
591
256
52
286
71
213
580
743
770
584
352
497
180
751
666
449
387
397
578
475
62
43
171
33
126
14
756
919
416
829
370
472
414
606
438
195
194
813
685
814
804
981
46
676
903
512
471
938
491
924
638
489
181
362
954
782
163
82
270
612
762
31
492
810
338
178
642
602
11
505
173
611
842
53
505
520
742
611
749
241
536
824
320
768
429
628
249
257
521
481
18
339
638
333
45
134
39
832
95
32
818
390
745
732
995
556
506
149
434
45
850
438
964
643
872
15
826
639
534
385
903
676
945
171
693
750
366
429
366
329
836
169
903
665
587
452
582
486
681
597
666
975
583
164
608
473
331
764
183
282
185
823
986
867
303
5
747
575
326
328
800
839
977
784
649
692
379
153
275
195
141
335
406
898
847
581
736
207
676
643
881
70
934
492
337
393
936
388
349
382
89
32
7
512
73
181
370
391
31
989
59
696
210
599
927
558
92
522
522
153
251
378
509
530
650
940
827
973
978
904
737
58
497
538
296
967
344
934
335
484
949
195
568
237
468
588
434
759
522
650
858
569
449
395
967
422
314
517
289
692
932
257
843
28
659
657
365
842
224
478
203
608
919
438
397
67
512
877
469
568
742
238
397
650
234
720
136
693
120
902
430
501
702
637
852
789
986
39
943
881
657
391
508
200
311
571
230
458
950
851
622
631
624
209
163
241
380
373
84
643
705
378
453
307
774
563
943
492
363
546
179
576
524
689
452
943
739
489
300
308
444
374
38
374
649
572
413
466
871
153
164
555
535
799
467
657
14
634
721
709
277
76
265
359
398
961
381
261
935
781
890
660
176
903
955
480
549
483
74
766
504
128
435
437
806
551
868
874
402
985
566
625
604
775
298
704
371
58
480
546
538
801
781
6
319
483
896
265
642
97
940
78
183
871
476
652
402
483
259
997
893
994
467
858
54
920
558
199
572
996
830
886
138
227
14
183
352
111
405
406
824
126
693
464
40
248
442
135
524
944
732
813
636
143
800
220
676
361
770
368
951
742
447
405
406
290
454
494
673
665
725
393
837
760
156
762
294
734
965
189
472
392
188
275
471
575
946
525
471
833
334
405
916
184
30
600
631
130
699
767
9
297
993
505
161
409
780
766
230
305
519
727
831
403
445
163
202
145
844
521
409
373
1
235
9
377
447
876
341
239
619
399
708
143
707
236
362
457
773
805
620
784
652
337
490
512
178
387
826
895
73
663
719
523
952
79
180
905
267
149
91
2
741
187
595
310
14
317
49
405
198
124
63
810
900
346
1000
982
192
721
799
631
565
175
618
128
341
952
921
23
227
377
224
445
816
517
572
400
243
509
383
923
1000
62
190
704
68
193
720
244
549
609
914
56
368
506
187
437
741
373
466
527
460
518
541
247
334
145
935
464
161
307
57
58
723
158
10
918
533
576
135
126
737
607
459
436
178
469
33
859
356
529
158
763
934
323
135
478
306
368
506
879
770
625
745
393
963
981
613
956
775
579
548
595
340
130
858
663
876
402
704
417
484
731
499
988
496
299
283
421
899
411
595
401
565
695
197
302
217
765
356
165
107
452
695
687
666
421
250
174
977
906
162
54
551
958
787
789
907
719
722
455
332
364
814
766
497
832
770
104
374
569
650
3
781
677
952
33
8
618
424
419
865
141
430
171
615
123
800
860
36
914
914
208
929
543
749
580
816
393
984
733
829
634
301
912
568
918
455
930
874
582
439
257
865
72
151
388
975
883
130
60
457
744
16
10
374
391
299
664
522
629
26
437
672
685
661
501
326
440
241
518
169
543
168
106
794
339
415
691
783
760
13
243
125
174
971
849
999
741
129
996
37
944
790
5
451
149
888
144
812
508
509
430
562
931
714
523
599
127
293
847
636
380
79
79
397
972
873
946
784
850
525
677
505
288
23
340
372
601
637
501
617
454
783
711
783
601
967
197
866
599
267
189
91
698
578
539
85
819
336
930
141
696
946
119
256
97
799
839
272
636
336
688
527
747
207
454
790
825
248
552
395
29
297
6
785
522
604
131
513
961
220
835
624
217
283
517
768
6
269
928
502
992
821
336
801
732
378
89
888
65
30
126
348
621
577
281
269
61
682
411
435
154
138
829
572
955
224
511
26
572
609
195
489
922
50
380
38
504
787
776
407
273
980
199
574
249
858
233
98
524
177
143
911
57
766
234
542
339
809
662
27
334
823
339
218
663
679
918
528
213
109
811
574
496
11
117
47
145
471
541
638
764
936
448
391
863
493
954
80
447
105
357
280
727
606
900
61
317
5
272
554
464
124
835
559
910
856
993
281
881
201
653
781
812
330
837
229
510
60
760
785
829
242
979
318
982
262
292
879
616
400
161
191
895
672
861
858
783
364
915
159
557
585
363
178
908
80
879
112
712
645
854
789
703
918
643
310
429
649
859
91
767
426
412
514
920
719
897
41
217
851
114
515
15
730
503
107
47
676
683
896
654
296
415
520
954
176
896
421
214
862
758
412
868
371
386
971
163
650
636
342
516
67
406
535
697
592
897
100
859
958
535
925
244
479
145
286
771
367
916
557
210
838
952
861
301
829
886
279
646
756
530
197
469
156
697
838
588
323
444
566
468
312
874
104
832
575
650
868
57
635
251
784
512
446
404
214
203
341
514
93
936
27
1
807
881
623
302
681
757
953
841
553
93
489
499
694
944
698
801
246
264
830
482
653
271
84
489
697
8
571
406
924
798
861
69
909
984
266
786
831
876
836
935
944
316
848
176
951
891
534
975
292
702
57
438
954
959
689
547
602
702
131
167
11
466
118
172
128
325
256
14
718
638
920
21
468
150
266
964
396
408
95
737
84
444
559
329
817
523
440
802
450
832
296
795
377
176
429
253
746
687
692
91
449
501
597
548
645
532
886
824
419
841
469
192
448
46
755
831
245
248
862
231
986
592
732
391
148
819
628
103
127
966
317
347
108
602
154
417
554
728
577
384
498
836
166
209
258
934
561
465
639
411
71
267
193
676
51
298
709
441
846
513
138
480
152
79
609
610
996
269
791
298
848
880
65
330
928
895
459
873
579
258
137
943
312
709
487
452
55
952
70
510
417
813
62
226
579
23
418
572
136
911
116
418
813
798
728
809
519
563
615
586
901
547
101
313
673
525
690
105
692
852
918
509
290
347
698
466
562
96
521
806
603
135
507
509
381
776
745
100
793
173
564
353
723
830
575
660
210
238
459
550
817
778
581
50
536
48
343
9
662
797
127
727
184
134
627
986
835
68
349
725
960
838
809
212
821
475
739
527
676
891
713
171
301
747
17
739
68
917
541
458
204
507
181
118
957
971
74
172
469
179
798
429
538
180
721
443
674
283
490
599
202
283
237
456
805
717
912
453
513
17
118
509
508
949
911
652
270
295
632
487
586
759
634
166
15
638
942
614
493
344
163
970
345
530
826
367
265
620
537
332
477
606
803
516
840
414
808
654
469
138
91
150
453
627
168
616
59
986
106
874
364
242
560
360
241
615
16
657
645
306
576
163
638
704
237
323
479
553
948
390
309
629
433
636
146
423
946
203
116
392
838
452
447
290
502
14
259
936
690
380
598
532
616
400
997
673
664
340
797
34
721
742
25
174
274
549
308
815
211
995
451
866
207
816
377
754
781
56
676
502
185
177
722
806
653
654
409
393
144
733
668
493
323
59
481
461
348
405
195
914
902
160
180
931
324
576
279
453
123
801
636
809
58
296
370
470
639
60
10
167
731
990
777
223
423
672
499
838
967
304
328
336
231
483
446
914
900
765
363
688
26
464
443
9
434
211
357
838
731
149
128
279
432
646
596
57
272
886
550
421
669
754
450
109
904
222
208
149
560
76
286
915
607
22
150
524
280
796
356
396
946
402
160
951
291
4
857
130
508
929
130
112
427
392
947
859
173
341
119
528
527
457
322
559
319
95
68
111
962
831
79
897
369
156
62
778
603
445
68
496
426
317
158
518
808
643
568
304
152
131
387
62
79
61
137
794
359
2
460
83
562
480
954
598
362
520
934
909
573
479
771
602
1
936
676
956
8
902
438
349
704
284
715
273
631
705
893
274
14
48
176
78
911
271
726
547
826
988
307
124
896
117
917
259
332
377
12
900
904
262
101
283
574
960
572
36
35
556
389
560
239
541
769
833
683
615
621
598
391
694
382
958
308
983
618
413
862
896
21
668
79
909
168
246
190
362
197
20
962
260
165
43
325
797
362
22
244
652
698
748
294
160
911
544
24
366
278
205
923
204
80
991
769
74
740
539
785
574
61
353
95
824
238
214
290
732
954
769
394
188
773
320
445
248
169
853
716
877
475
527
990
47
700
443
739
717
671
492
737
620
778
562
344
984
956
191
632
143
440
578
234
578
721
75
596
728
89
329
621
554
171
709
853
75
450
54
933
315
212
478
409
153
471
216
946
817
810
958
829
944
566
931
416
829
60
453
264
295
208
887
565
38
835
231
716
550
686
445
557
132
418
450
449
48
996
295
309
138
867
263
481
881
775
652
696
869
346
57
752
606
749
581
269
280
920
749
936
867
120
622
605
207
264
914
280
795
710
25
953
521
647
205
174
65
635
121
948
986
20
957
929
409
41
137
514
523
730
111
79
638
943
509
671
334
831
11
735
538
723
205
458
651
520
334
235
143
851
758
148
604
290
481
507
217
956
125
846
658
394
286
716
503
638
2
77
647
180
638
378
381
211
49
604
774
326
568
938
855
958
698
550
846
651
7
110
161
491
723
354
956
185
862
429
289
766
402
548
105
976
26
3
31
831
519
849
51
416
779
957
602
748
190
713
286
84
262
891
735
513
134
367
390
858
403
671
500
587
291
493
431
203
103
650
404
519
631
655
42
350
361
229
591
829
940
576
437
477
680
231
564
600
534
968
511
455
574
16
755
117
320
187
141
748
185
461
441
405
847
509
290
824
342
831
916
497
847
92
487
341
251
545
306
904
961
814
121
517
344
571
144
541
913
786
204
222
8
531
239
531
267
403
261
680
483
743
88
784
361
1000
877
854
70
574
462
444
381
586
166
264
761
821
120
877
321
344
151
969
760
642
128
136
362
200
804
503
299
965
429
794
507
916
2
73
824
949
665
134
494
274
109
950
48
821
778
48
370
396
681
908
398
754
504
226
517
635
496
810
245
705
758
78
312
264
161
324
620
472
268
573
602
901
216
488
297
546
902
466
706
491
171
46
726
222
427
767
818
600
632
191
823
405
994
657
801
376
895
734
675
272
123
742
214
755
660
737
703
98
799
540
301
647
87
387
811
372
893
664
491
450
540
820
462
106
880
302
694
139
336
319
501
41
979
760
933
805
691
350
971
998
57
994
774
261
677
831
612
357
230
260
200
754
272
565
52
156
743
124
457
594
608
222
656
164
817
720
999
416
362
151
65
6
296
170
592
526
175
226
980
105
372
835
830
153
473
989
307
867
169
951
777
415
900
966
602
483
251
690
302
145
680
986
536
719
987
68
918
555
223
7
660
303
926
565
78
272
519
330
829
1000
278
530
700
807
951
745
508
664
725
156
662
708
52
266
415
575
243
392
797
558
364
383
381
836
49
524
485
313
305
798
358
344
1
299
951
736
694
43
870
524
700
438
412
242
913
980
670
58
59
816
92
4
857
965
77
564
712
678
14
263
386
97
347
305
475
993
506
244
778
425
496
397
562
163
768
90
908
987
49
986
907
436
883
876
423
542
302
242
688
255
405
107
750
422
312
825
64
592
556
380
13
120
807
97
37
493
703
544
465
758
776
239
570
123
878
380
877
204
522
687
225
661
535
725
766
425
124
11
224
680
135
427
988
100
377
988
655
197
480
409
346
900
174
235
679
228
461
509
721
484
445
520
980
831
540
648
698
593
48
169
40
717
512
367
901
590
807
715
761
79
343
465
288
347
673
438
490
51
630
623
802
744
659
729
365
507
478
304
718
604
880
807
770
719
323
526
579
139
940
872
705
523
720
559
100
864
641
633
209
700
298
9
490
59
781
157
319
590
297
129
144
198
519
285
284
517
120
41
515
966
933
621
308
453
322
978
677
732
608
335
744
268
227
499
739
109
802
99
880
159
112
366
851
405
31
938
549
483
16
674
666
337
577
924
733
623
418
547
156
45
269
542
391
770
225
326
444
348
980
46
134
337
463
805
576
55
128
821
228
53
558
757
843
300
409
966
764
96
900
934
532
85
792
134
579
940
994
286
749
223
236
527
876
656
143
232
263
237
671
93
271
928
697
404
311
483
133
743
821
882
202
488
33
410
457
943
596
659
623
888
204
145
170
111
563
684
356
217
150
402
596
410
345
802
410
291
812
519
127
643
996
802
396
201
433
763
327
500
880
593
241
162
940
175
537
145
579
754
227
441
884
83
619
582
19
360
745
549
975
220
547
631
487
385
446
221
225
969
713
184
846
176
317
370
794
362
153
365
13
520
628
599
395
256
233
130
340
575
39
425
783
156
824
981
142
633
452
493
142
867
816
357
495
544
31
143
668
37
600
640
185
670
742
852
821
669
800
635
427
667
23
162
381
863
421
140
286
348
54
285
842
144
475
361
918
181
428
779
314
374
774
976
7
709
465
256
978
858
782
166
648
93
872
518
529
904
789
439
662
595
439
887
824
211
181
823
199
54
336
211
35
904
443
54
331
116
910
941
881
972
861
351
488
706
304
524
676
342
534
137
514
373
500
795
857
802
208
755
664
571
213
356
302
360
137
631
257
398
609
724
179
643
20
835
959
490
971
998
274
518
576
628
552
427
964
717
791
373
217
870
275
815
292
425
283
494
81
340
299
921
690
694
690
417
328
310
265
387
639
360
685
872
900
37
131
586
689
693
290
921
624
385
903
256
604
126
163
27
69
451
325
396
147
730
828
388
651
641
675
829
492
725
207
455
43
529
751
446
159
827
78
754
617
497
129
870
28
595
147
690
274
310
626
381
129
639
630
799
504
420
17
254
537
789
296
568
470
734
554
224
785
162
46
727
751
926
233
987
875
977
551
659
509
745
368
454
247
692
511
477
635
808
827
368
821
31
956
178
477
742
87
800
879
855
714
84
139
306
716
153
117
132
209
171
115
837
103
676
76
151
136
534
279
133
793
646
615
979
64
971
827
374
633
71
173
281
427
408
437
683
331
342
211
798
88
85
662
856
36
676
659
969
168
907
473
341
690
593
939
486
557
460
870
799
772
600
968
713
514
711
416
10
467
276
102
528
4
332
174
887
429
546
200
109
57
670
366
608
906
160
999
285
434
888
447
408
582
343
750
161
681
19
585
458
619
281
975
834
800
115
720
511
179
7
813
365
774
99
336
391
13
796
264
981
334
221
911
490
130
18
677
486
453
973
789
854
383
217
569
390
828
436
746
902
499
847
122
250
157
373
90
8
662
568
980
160
759
505
435
973
278
490
75
354
17
408
980
247
18
984
215
129
921
625
616
242
48
821
110
360
120
28
586
966
207
297
321
29
212
869
622
709
779
386
349
541
960
699
237
948
939
213
889
657
255
306
555
224
493
512
567
38
710
879
416
167
790
28
88
514
319
684
735
565
327
36
360
338
851
347
68
69
835
227
715
629
425
73
841
936
327
107
662
767
652
550
166
54
234
605
801
24
719
175
777
762
339
435
44
379
904
607
776
13
916
151
955
123
497
460
706
510
64
97
414
395
219
552
751
756
190
361
242
528
600
604
97
999
826
620
549
906
839
166
557
243
675
787
439
612
104
975
772
709
362
166
484
690
620
705
916
664
309
542
26
10
77
63
556
136
162
469
935
323
203
116
825
105
844
488
657
837
323
112
407
474
321
727
119
731
696
605
77
541
930
451
484
223
701
54
411
385
787
830
677
579
859
17
365
812
629
544
73
358
957
942
324
550
546
712
403
861
161
389
423
951
684
712
798
203
355
660
932
670
95
578
3
115
870
791
358
479
915
90
225
55
505
656
841
177
386
415
39
675
213
238
812
993
329
494
769
301
129
269
276
962
56
627
482
38
111
381
120
335
102
751
326
934
399
466
358
468
250
507
15
996
799
445
391
546
118
395
908
989
469
905
566
216
456
688
935
55
817
425
972
975
745
175
145
600
849
512
286
465
740
577
407
49
797
698
715
211
355
698
16
762
156
622
178
800
222
857
967
820
59
534
350
83
275
905
865
745
5
961
434
514
385
626
56
328
996
15
293
872
648
187
833
9
684
268
13
174
503
933
977
434
253
585
232
579
410
541
307
328
341
724
623
958
191
390
403
37
467
643
815
636
380
180
939
784
238
925
41
986
922
481
978
269
68
664
79
829
424
468
997
566
183
384
560
30
604
36
225
609
878
313
640
808
36
912
899
517
104
682
646
698
457
919
408
692
730
356
187
303
640
274
373
684
200
562
171
897
235
532
308
527
252
60
165
512
20
458
663
803
678
655
943
721
565
728
336
624
185
364
186
592
881
637
157
382
526
843
4
313
85
863
314
299
637
238
276
863
326
329
171
7
79
105
414
422
66
552
209
130
612
153
666
392
844
682
714
861
624
758
872
322
565
731
788
709
482
523
101
884
703
710
298
678
284
117
361
502
294
139
705
337
160
911
560
862
118
517
832
186
614
713
155
462
975
11
424
780
56
667
404
224
664
322
9
417
603
955
447
271
317
121
118
819
611
433
389
378
685
180
256
849
419
581
158
357
226
19
997
678
767
486
873
17
433
655
204
140
212
631
970
362
431
565
227
132
696
498
956
702
971
518
50
822
449
42
574
953
675
697
707
442
526
293
911
45
282
716
637
67
160
463
975
574
650
395
917
529
781
566
626
787
636
49
598
690
250
389
204
844
451
899
591
668
925
203
109
136
233
295
370
253
819
659
440
45
208
71
812
342
233
615
262
890
737
965
968
1000
286
229
559
874
781
542
187
355
192
371
381
625
601
815
628
362
92
36
389
778
380
759
642
901
893
796
711
486
276
869
444
373
515
950
811
651
243
471
436
755
386
943
605
376
446
303
203
342
500
303
374
760
640
274
789
289
324
86
294
113
332
332
796
772
150
921
20
573
458
664
181
566
704
675
109
954
846
52
695
213
62
335
811
984
667
128
209
483
480
782
507
23
457
963
314
999
958
960
264
695
754
326
965
184
593
556
179
779
806
703
909
845
143
690
191
306
671
881
259
437
257
161
168
74
545
119
327
610
316
753
560
294
240
33
361
352
340
447
447
944
201
569
400
160
19
727
803
590
587
259
515
657
679
781
951
753
633
407
929
331
888
642
700
663
336
716
925
706
767
207
840
854
192
220
395
256
253
790
780
632
642
713
54
201
748
760
418
103
995
320
183
278
588
375
396
964
924
179
943
362
554
431
385
878
676
530
734
662
47
231
560
114
86
734
577
506
36
354
730
996
82
26
480
933
789
923
895
88
888
570
786
467
638
947
526
59
229
578
220
865
597
479
687
897
666
347
736
516
940
328
729
778
678
514
147
459
546
892
531
503
966
129
188
906
174
29
958
189
501
465
793
944
190
578
68
187
447
746
178
814
890
446
732
80
618
251
830
868
980
100
687
323
330
292
723
365
118
447
608
305
518
121
520
183
484
837
372
625
779
612
772
321
849
773
359
23
46
829
133
174
336
552
806
956
62
47
421
536
724
110
189
477
902
609
52
506
850
634
309
643
199
418
894
344
680
349
493
790
26
740
425
276
346
738
882
913
975
581
918
67
709
298
817
533
7
632
60
449
824
640
663
314
845
794
223
937
959
604
565
474
673
616
709
982
779
336
787
130
805
846
382
531
999
865
842
61
577
900
892
193
805
968
819
390
872
264
726
727
852
872
702
81
774
610
242
397
705
128
699
293
789
423
522
885
229
910
830
883
132
96
323
512
648
749
837
519
48
8
355
486
163
709
666
560
693
309
115
300
451
795
529
484
249
183
634
44
975
579
871
787
78
180
44
649
675
189
175
250
182
755
938
308
140
202
873
347
178
84
636
82
909
75
830
74
661
222
841
539
868
550
137
857
319
343
43
78
758
595
736
384
953
642
566
392
929
355
622
368
964
498
942
896
405
799
612
605
411
351
277
39
195
685
974
648
285
952
449
903
641
592
964
284
59
155
546
916
341
647
850
932
834
184
719
23
797
705
308
571
582
700
973
158
136
580
18
325
843
467
955
376
274
202
333
279
155
568
655
526
519
60
192
555
612
951
723
131
425
799
234
279
232
121
443
741
890
310
105
242
555
396
197
16
188
426
901
899
725
20
847
423
683
266
803
911
665
652
276
6
132
624
106
998
248
579
101
769
275
366
685
863
166
618
146
916
237
697
968
672
502
505
761
863
636
514
742
517
779
960
246
835
38
522
173
629
331
386
927
442
129
518
942
381
471
460
355
938
47
919
834
273
452
22
688
377
62
98
743
994
325
723
952
291
951
718
419
655
630
855
220
312
874
749
469
273
943
989
901
440
481
372
16
523
727
508
123
747
617
429
378
331
213
200
439
147
419
214
491
983
244
544
337
504
217
606
425
563
320
397
572
940
617
81
847
496
368
49
41
181
713
45
907
700
976
694
114
479
842
105
791
339
964
900
777
293
213
245
762
332
277
276
595
685
661
998
858
57
646
170
427
651
65
41
40
360
750
483
544
693
323
201
255
610
307
390
504
549
997
36
41
356
356
85
959
669
74
761
23
592
825
411
87
188
639
155
568
559
136
904
974
634
818
174
714
272
323
170
998
125
725
600
604
730
752
458
142
963
725
883
892
73
303
244
254
307
124
79
722
199
56
776
159
465
763
961
982
694
586
913
522
72
301
579
912
355
600
132
685
779
295
309
981
844
460
489
151
377
509
149
156
258
572
291
28
834
349
35
629
346
328
854
177
868
502
848
185
375
890
164
437
943
339
713
783
422
583
968
4
4
896
351
337
236
744
507
902
882
839
868
849
157
722
415
572
925
276
435
965
790
401
94
851
638
563
75
18
231
890
730
784
863
903
511
587
355
949
340
731
709
674
358
562
837
930
565
756
444
739
269
584
465
40
173
852
673
390
782
530
562
148
97
842
926
720
814
252
484
160
38
819
61
146
589
454
151
838
875
177
239
354
887
125
637
828
147
664
463
607
724
725
90
531
562
56
611
760
794
595
81
731
629
256
651
932
268
702
592
435
680
517
134
117
385
877
984
806
347
708
224
67
929
400
402
688
376
740
447
304
617
638
147
283
99
977
550
352
600
118
115
678
342
140
962
591
961
456
265
681
278
937
584
683
565
277
411
951
161
33
825
494
9
78
499
937
57
187
831
791
344
676
19
187
602
109
74
583
312
994
614
818
331
663
357
630
888
977
672
993
329
310
144
978
547
427
276
888
725
207
108
929
546
217
759
521
171
541
225
42
241
109
812
927
823
325
263
356
67
677
208
5
46
70
203
184
335
713
225
764
197
423
180
487
298
433
683
803
513
622
826
851
159
672
687
398
103
547
779
792
671
319
798
367
932
950
591
571
794
562
687
101
938
699
777
568
76
31
756
797
810
939
261
352
56
853
488
622
75
830
596
896
515
437
878
953
35
481
881
330
75
165
276
716
774
858
523
296
460
159
630
249
853
333
579
309
147
665
472
564
48
50
743
736
992
792
675
816
490
240
985
149
817
912
332
565
582
813
322
444
586
318
245
148
752
531
146
437
378
594
351
927
854
504
761
765
731
671
860
671
422
793
781
789
143
724
442
502
421
301
124
838
510
275
563
123
943
362
952
321
610
164
312
465
231
697
360
86
63
402
376
407
307
260
975
99
653
623
322
28
526
445
739
938
158
367
168
61
50
920
856
436
29
937
972
741
70
416
920
451
258
38
8
993
891
341
991
496
462
340
959
881
744
166
3
637
756
828
492
735
367
818
639
292
905
62
95
81
986
88
187
674
322
136
598
659
663
25
583
361
575
485
19
503
414
853
106
168
297
209
990
603
567
768
301
795
265
10
803
837
186
813
615
316
858
388
106
699
183
332
309
604
732
609
813
647
155
632
402
309
911
936
848
910
644
990
329
420
314
395
980
967
653
878
379
573
648
364
141
426
590
863
340
563
177
742
822
370
279
334
876
232
92
999
269
630
728
941
124
259
413
990
786
672
509
157
380
330
826
888
664
394
272
172
984
139
655
421
969
55
352
889
109
679
593
689
752
865
404
522
319
928
378
326
630
806
242
130
830
529
21
393
113
829
239
224
640
591
884
90
863
922
381
113
742
402
261
241
949
429
967
883
438
338
485
305
604
272
300
381
420
68
883
751
899
339
632
948
292
138
888
620
960
626
372
934
558
822
472
781
601
852
147
691
834
260
575
368
145
54
245
116
862
187
49
438
382
102
383
380
227
252
353
617
659
900
393
608
821
346
420
639
677
6
758
930
658
877
313
88
884
664
710
488
881
639
250
206
324
676
614
918
647
473
906
945
373
344
264
207
381
413
715
186
366
966
154
492
389
431
389
721
750
385
900
985
587
264
276
495
748
11
438
915
107
408
338
418
933
413
511
278
943
914
893
920
85
230
734
538
41
787
563
881
107
599
802
415
378
196
486
862
185
693
991
986
499
741
274
33
108
541
757
1000
16
251
17
645
907
11
131
723
673
284
159
714
380
202
914
580
602
158
82
274
411
343
800
209
319
144
155
565
97
62
207
984
902
617
359
11
861
948
951
947
290
396
877
464
991
875
375
191
305
386
749
131
549
752
631
350
502
859
362
686
731
828
64
482
770
865
798
277
919
414
468
35
747
824
23
518
164
651
913
352
819
2
18
493
984
973
198
116
96
974
374
872
44
25
436
916
115
968
343
262
487
250
945
330
257
862
895
852
411
271
195
894
279
374
140
782
304
853
262
704
962
212
259
341
535
83
192
6
82
341
337
848
107
739
164
78
28
590
623
779
466
596
945
669
948
47
553
404
961
585
841
488
919
369
456
388
26
612
432
712
601
551
217
744
950
220
827
414
508
717
831
517
729
20
109
686
986
841
375
890
110
20
479
41
450
662
892
826
867
331
629
76
310
213
776
718
758
52
506
638
292
720
296
926
985
465
76
563
758
809
541
293
912
939
575
735
896
87
143
145
110
180
537
384
197
398
258
835
831
753
252
637
181
944
672
552
112
658
985
898
782
942
657
762
112
856
530
414
473
417
255
894
765
812
581
68
439
929
632
77
617
635
191
6
348
88
818
489
764
348
424
967
706
613
66
883
980
749
276
806
180
317
531
810
828
390
869
135
161
661
417
491
840
512
497
390
522
452
507
853
19
941
853
84
240
153
704
668
788
106
162
264
877
123
393
878
251
472
699
426
309
57
660
27
681
415
599
845
713
661
332
830
724
774
412
667
572
726
493
630
828
343
233
99
858
467
822
697
924
120
421
333
142
776
450
437
470
183
232
715
288
270
211
216
209
208
342
189
481
131
887
747
732
227
61
818
938
15
294
174
509
268
68
565
640
991
159
374
492
287
787
752
357
355
547
158
760
944
781
694
393
532
695
255
556
717
98
591
237
861
391
951
29
858
794
451
772
264
849
997
24
402
851
15
546
978
58
50
657
157
187
20
838
248
709
279
268
963
192
872
666
736
766
71
241
433
270
135
57
876
685
916
864
13
947
899
657
428
588
725
844
808
954
486
233
697
38
218
169
582
703
67
186
112
443
264
528
669
663
84
345
437
454
2
117
702
143
521
534
739
35
374
618
732
603
446
714
142
970
786
140
49
292
44
303
743
248
55
60
218
553
82
105
726
957
301
937
488
956
771
764
227
595
356
485
957
15
157
547
290
132
768
108
11
428
552
679
320
208
605
677
733
820
632
197
861
528
710
71
251
873
909
118
381
885
564
195
84
179
901
149
925
289
199
872
77
329
668
766
457
993
12
492
983
930
391
691
874
297
860
142
138
458
31
676
128
927
241
252
491
543
654
285
485
651
439
249
593
726
312
834
476
804
818
877
431
589
978
542
113
868
511
302
789
126
610
461
775
936
380
82
308
121
195
885
93
109
448
1000
804
841
755
878
962
924
509
434
861
51
137
118
406
152
96
269
425
680
384
95
24
546
912
881
298
20
607
716
410
206
32
960
686
692
613
397
279
813
403
513
903
530
440
171
869
189
420
777
647
857
884
152
126
315
869
145
552
270
338
123
456
376
846
994
998
651
936
665
285
447
879
826
593
805
501
698
610
410
383
380
220
591
545
877
777
461
660
769
968
881
58
532
636
350
373
135
971
755
872
540
821
883
632
796
874
765
672
878
830
967
614
76
633
422
116
660
436
805
313
181
70
531
113
741
399
911
607
937
409
912
229
284
463
464
208
127
261
723
691
33
720
477
390
758
177
852
906
699
154
593
913
632
863
667
358
681
895
822
213
498
859
154
742
948
988
191
403
982
936
838
151
507
337
899
547
47
282
243
540
882
76
250
480
592
476
511
962
832
927
974
836
644
463
858
381
9
710
885
721
598
687
344
166
893
999
503
667
489
572
234
276
164
916
648
318
432
88
108
155
311
59
818
560
311
384
125
543
325
549
791
545
621
783
131
607
921
387
535
595
211
165
59
64
142
378
591
682
34
803
239
848
416
161
917
124
219
342
657
291
624
581
745
38
727
778
541
47
264
66
369
720
935
97
322
732
223
245
28
820
639
417
940
358
327
37
8
294
916
388
497
395
677
724
650
309
25
878
738
502
422
396
405
192
660
294
38
564
111
248
54
855
999
564
712
132
43
598
25
867
129
404
33
552
467
69
941
558
289
354
54
960
692
930
537
616
120
234
46
756
188
869
98
621
36
909
274
179
922
247
616
920
267
862
814
811
468
202
442
645
444
617
671
794
129
945
986
940
824
145
261
975
637
148
385
626
827
289
586
331
408
10
139
243
80
349
445
541
458
403
944
764
41
776
570
306
746
348
326
523
846
446
449
703
535
481
13
374
457
668
532
977
876
365
182
38
652
371
936
976
774
131
548
360
354
376
761
615
980
92
610
483
660
338
110
610
911
406
877
992
998
491
130
789
59
315
79
531
691
812
454
392
547
947
762
962
571
815
126
642
172
657
810
29
991
803
807
492
277
539
641
650
604
737
590
600
293
547
186
77
671
753
108
239
287
990
314
132
146
377
274
31
920
331
467
730
304
975
963
258
109
15
104
837
328
485
390
240
118
914
61
977
240
569
890
410
641
455
896
931
517
613
598
915
445
815
415
296
919
819
967
615
774
370
990
581
558
105
885
615
390
135
409
68
986
353
597
455
315
221
280
269
599
634
500
563
851
456
443
151
667
46
232
155
230
49
495
68
786
505
416
929
72
231
313
181
236
460
229
762
393
612
183
495
245
380
593
54
792
346
624
776
595
669
415
171
98
726
107
198
961
765
541
950
851
902
404
121
974
316
648
83
664
515
819
621
926
493
534
346
619
570
672
445
308
670
865
834
152
912
951
697
349
227
950
811
948
886
961
231
735
825
446
853
184
283
595
748
216
261
645
92
844
226
245
503
943
485
521
127
132
222
343
742
723
25
798
357
398
964
72
956
611
852
205
743
90
763
991
902
31
97
97
947
13
495
284
728
359
293
864
117
521
735
59
7
317
230
892
772
547
924
145
387
446
159
992
455
620
844
239
273
355
711
918
240
964
869
596
808
478
357
410
943
852
153
860
327
187
268
238
993
81
142
109
980
863
486
201
796
75
243
423
367
554
563
468
325
999
300
810
427
131
431
256
652
502
108
845
582
34
30
862
345
373
829
284
301
562
744
890
802
491
700
513
74
597
290
841
473
891
36
55
925
567
615
583
194
340
462
319
516
363
642
246
988
563
690
546
127
553
438
819
667
933
416
360
552
871
421
627
474
599
972
204
823
898
192
295
978
905
841
996
946
903
283
826
894
246
624
824
412
525
313
482
52
631
380
791
968
315
541
63
380
787
297
811
838
681
547
588
696
981
883
239
787
210
863
105
227
152
273
770
436
96
721
533
107
770
193
456
261
3
397
831
435
820
352
482
973
731
852
387
747
523
824
758
174
653
350
360
12
629
420
86
886
399
609
877
36
747
897
142
110
15
779
12
991
478
551
195
961
179
838
946
446
523
633
697
640
879
177
207
222
181
120
388
316
907
490
786
978
539
300
459
80
494
698
324
497
746
138
423
980
289
639
368
971
892
32
935
485
309
84
393
465
570
993
986
835
105
830
893
688
304
239
685
416
15
1000
604
960
846
665
225
898
471
318
784
485
391
702
923
526
895
163
629
70
367
981
495
901
847
408
831
47
914
135
452
547
817
212
744
72
89
893
653
564
751
789
739
758
539
291
754
566
136
111
640
586
936
256
196
872
13
626
741
536
641
868
403
269
426
448
653
106
34
709
354
744
888
788
690
493
710
120
693
568
698
486
813
100
317
72
955
739
946
372
587
125
49
290
696
904
104
997
501
825
396
785
39
912
51
874
337
356
277
728
417
504
756
136
783
690
43
305
595
360
795
670
122
270
253
321
482
374
609
587
133
257
821
598
31
237
341
136
670
290
667
706
540
901
923
726
509
413
667
869
156
650
940
84
199
823
846
721
143
421
212
384
109
615
917
661
280
261
577
22
445
506
801
354
801
477
253
360
849
800
151
972
675
66
483
346
903
452
488
901
717
195
97
142
42
665
861
295
247
827
495
5
979
800
660
155
968
866
922
922
348
273
561
368
148
323
968
932
323
663
224
826
482
501
400
476
498
293
37
263
591
825
912
858
832
589
71
392
219
343
62
170
347
321
653
589
252
285
959
670
109
925
670
369
133
699
485
795
569
739
991
584
705
219
971
331
462
989
388
691
44
544
456
64
575
308
363
508
364
792
953
95
246
503
771
987
852
297
380
388
473
726
998
482
373
444
214
778
812
918
969
62
723
54
374
140
406
213
235
968
850
727
17
54
28
925
202
870
777
662
111
656
966
640
312
128
264
348
262
672
318
664
860
510
298
115
95
551
752
337
481
445
818
37
857
633
853
305
864
464
321
331
586
571
756
197
608
102
959
650
328
967
837
125
508
50
565
86
636
992
141
665
504
393
457
839
842
957
547
252
233
859
298
99
135
635
345
312
656
871
497
999
719
954
564
650
539
309
310
753
446
670
958
360
686
163
506
942
572
68
873
497
799
451
624
927
123
599
87
761
895
446
962
793
279
783
312
884
553
414
207
994
795
548
38
454
667
745
668
43
125
668
292
915
350
452
684
986
423
495
774
701
399
757
170
125
729
423
252
432
580
250
733
733
518
914
810
806
869
701
594
946
291
916
198
192
896
870
101
556
37
484
869
50
185
689
211
4
706
291
668
378
820
232
476
728
244
842
191
310
428
135
453
591
765
452
3
174
957
1000
118
552
937
48
725
424
455
235
346
976
363
835
375
375
639
925
982
300
50
63
734
207
682
947
885
466
172
396
525
889
708
438
980
507
780
260
298
765
359
991
842
130
633
51
650
200
325
145
829
682
108
158
700
380
289
187
921
121
482
590
637
654
374
842
970
113
369
943
915
23
849
659
185
364
817
668
218
548
89
543
442
644
4
609
715
201
410
817
450
482
674
234
177
254
628
337
655
793
417
531
602
235
151
874
818
411
505
447
903
729
495
260
225
903
809
154
775
773
47
661
845
86
727
784
622
480
490
198
350
164
966
980
758
563
430
840
936
570
81
532
675
120
641
984
174
123
823
277
499
887
482
833
39
809
508
887
228
287
279
256
671
152
830
125
993
336
591
980
418
546
336
763
454
955
405
731
485
648
953
561
201
538
451
817
157
853
646
873
862
892
928
302
836
863
955
364
359
526
198
308
154
511
95
479
675
604
34
999
500
850
321
669
277
675
898
611
536
529
790
59
497
422
672
877
358
847
722
409
426
290
475
236
400
240
665
906
980
597
240
386
838
398
389
39
48
632
499
649
529
757
100
759
898
25
919
546
138
599
92
238
612
513
31
901
467
821
1000
209
808
675
687
73
394
787
435
941
565
132
784
520
345
434
33
212
458
505
102
750
440
279
865
687
852
862
907
607
506
888
659
259
756
877
87
487
982
382
182
369
722
996
229
484
657
275
650
470
266
807
492
763
522
20
291
166
960
852
889
147
42
108
238
330
229
222
115
850
890
3
300
147
866
853
435
736
901
760
182
854
204
77
578
448
70
669
990
316
717
954
777
623
349
674
382
607
472
842
169
362
368
944
612
449
528
53
640
615
550
69
25
94
376
344
321
532
774
153
234
39
222
580
740
94
933
212
760
899
529
155
221
216
372
12
647
678
913
404
544
964
410
785
878
792
373
920
838
409
156
758
416
749
423
359
591
726
928
496
667
278
957
111
509
709
625
15
353
746
879
883
338
514
828
345
349
418
903
111
426
244
764
19
50
903
694
33
547
56
943
362
601
123
368
745
468
902
956
794
635
15
358
126
937
441
17
198
582
352
974
88
175
326
567
204
276
483
550
504
724
335
39
249
485
567
533
199
784
722
274
52
169
553
809
957
429
320
801
210
934
826
891
49
459
463
358
436
285
373
274
557
402
555
847
765
383
371
354
943
829
766
277
909
528
366
414
184
214
837
835
942
747
457
686
273
517
661
861
176
848
979
193
616
658
100
540
1000
821
345
150
476
869
882
320
927
280
537
849
751
437
907
34
640
559
996
780
749
197
883
19
751
357
139
253
744
375
998
574
769
357
70
282
114
531
796
690
643
10
98
34
494
198
528
657
633
546
708
405
304
857
615
922
669
125
795
406
910
265
796
891
568
929
557
756
1000
336
831
11
270
690
11
625
11
54
359
268
582
83
312
725
63
780
936
386
640
771
680
681
447
29
765
104
327
482
523
853
673
747
60
228
913
459
239
971
207
232
720
405
247
60
98
385
759
356
757
436
966
688
764
187
221
884
845
256
701
836
415
499
709
165
547
630
172
180
538
506
971
198
385
434
470
512
813
40
678
319
994
267
708
271
570
352
909
651
864
257
355
935
319
149
356
903
691
558
369
827
116
237
653
63
802
445
933
40
771
703
806
741
794
155
520
33
4
438
299
15
208
928
212
830
711
493
157
669
948
176
768
987
37
45
856
156
844
631
272
681
359
210
488
625
979
783
949
904
437
229
8
300
121
244
266
723
554
939
829
607
343
693
547
370
159
514
502
832
288
781
450
57
932
280
605
464
841
387
613
154
306
469
400
491
969
366
702
702
548
353
885
534
333
468
57
850
143
223
625
61
984
179
857
902
571
764
94
849
862
57
58
107
350
783
724
383
201
439
375
554
636
434
369
939
622
887
726
184
225
880
641
771
744
769
844
24
676
648
241
734
568
940
542
471
954
988
996
792
997
266
989
377
46
59
315
353
763
546
525
447
855
150
24
458
302
11
334
697
948
280
484
398
618
802
468
981
500
472
385
822
764
32
600
470
88
575
475
614
362
680
93
564
173
261
762
517
229
257
691
322
766
156
266
854
638
956
770
669
564
650
312
787
481
492
749
990
185
901
644
784
283
19
576
803
701
984
628
562
14
756
420
474
393
567
459
802
1000
974
240
181
102
49
354
143
614
866
833
889
927
221
619
567
149
468
232
760
743
494
328
679
155
500
805
897
189
923
854
132
752
369
801
614
114
593
396
412
941
820
687
290
739
516
532
523
526
882
247
233
618
580
44
902
14
788
496
321
771
664
858
376
997
549
871
124
788
904
708
228
972
510
388
943
373
816
732
597
190
408
441
937
431
982
53
555
625
468
721
437
809
362
411
830
90
282
247
41
661
281
593
980
496
173
710
231
442
986
766
608
581
133
797
555
442
643
37
562
37
658
229
553
699
668
415
871
949
576
229
680
738
6
297
288
786
1000
209
995
869
904
755
337
396
448
924
768
850
949
173
845
720
879
494
977
943
628
275
575
863
543
618
643
975
439
76
453
616
886
44
877
441
656
67
988
347
41
907
911
462
258
172
631
757
177
274
454
930
830
646
954
475
286
911
557
571
435
338
349
618
931
796
35
737
534
813
246
574
605
926
738
728
486
226
267
205
723
451
291
393
576
537
207
70
545
649
630
795
403
531
308
55
220
37
843
639
818
650
517
257
520
193
122
397
404
301
561
690
125
85
988
114
792
459
387
440
205
828
705
128
717
712
308
151
621
609
473
522
364
411
494
359
4
230
933
125
737
695
321
859
281
108
868
573
894
3
642
734
718
654
585
660
708
225
26
723
521
850
877
370
889
579
867
112
33
536
631
197
876
340
39
526
756
553
653
813
459
640
383
451
638
938
419
580
688
606
134
470
812
30
237
966
443
647
626
438
19
726
260
631
825
208
382
186
276
497
762
664
811
666
478
985
924
568
425
619
295
909
741
360
687
646
992
783
913
15
470
601
926
252
175
823
850
590
252
418
49
216
311
821
663
489
433
221
401
50
564
228
744
215
467
689
377
84
660
26
539
5
788
947
918
188
801
522
811
66
492
247
481
619
898
618
625
157
114
391
894
177
573
992
908
401
97
705
189
246
177
737
687
767
62
906
297
230
837
719
478
615
805
433
539
697
543
17
412
183
260
374
308
142
993
281
912
376
800
791
541
201
515
889
528
587
368
614
265
339
292
910
912
318
190
916
164
987
477
313
157
304
525
378
670
739
892
367
93
534
601
800
839
550
66
913
496
89
650
450
545
933
270
787
559
263
965
447
115
483
888
77
255
80
3
542
252
870
161
660
329
265
199
215
607
683
36
660
568
937
205
912
84
284
920
539
887
308
510
272
655
772
921
632
742
743
482
254
728
617
842
137
433
207
575
341
36
873
451
533
229
282
40
40
596
435
587
567
532
266
123
503
536
443
409
609
615
948
708
107
969
710
181
444
289
250
632
586
647
246
408
162
536
451
438
640
922
133
293
426
65
522
343
292
112
462
781
157
949
334
880
519
646
364
304
676
473
341
677
91
965
274
623
615
555
199
281
269
728
315
647
655
827
805
477
294
362
220
535
993
304
660
846
880
488
200
478
381
151
355
553
115
943
568
354
953
375
324
910
314
417
717
758
38
245
354
607
43
875
576
342
920
32
418
961
449
213
337
838
684
445
601
428
447
192
401
832
706
56
490
95
654
468
212
580
27
716
493
352
592
975
654
909
970
374
783
302
726
720
569
56
728
347
534
384
234
248
477
567
887
72
945
64
251
130
461
495
677
542
980
720
149
926
646
235
672
256
789
726
900
364
835
402
28
310
416
667
333
18
688
15
972
289
336
550
261
476
807
426
686
708
778
575
211
97
764
818
905
714
355
923
324
867
507
829
625
45
578
374
888
847
831
252
577
17
688
355
628
689
874
910
870
218
805
620
377
152
816
631
459
192
136
896
879
965
883
913
921
546
401
716
82
890
857
724
730
504
835
848
236
985
699
930
676
194
595
956
247
68
762
172
506
711
657
558
290
722
227
749
249
252
581
456
343
857
678
428
531
226
779
370
908
781
591
462
315
947
423
749
569
428
885
81
960
934
745
339
641
291
149
780
773
143
746
77
441
832
399
989
917
667
157
74
143
879
593
146
716
80
159
705
625
34
384
189
330
212
846
533
641
305
669
987
295
724
843
582
660
471
116
554
334
657
21
378
855
878
10
23
329
802
795
417
341
779
782
112
413
628
783
910
350
639
371
310
201
523
19
666
328
749
366
575
230
481
639
973
454
237
693
789
812
689
921
849
585
450
346
274
920
962
281
418
950
739
103
452
310
329
202
157
707
543
66
999
755
619
404
645
273
797
589
192
917
867
208
609
602
983
562
608
639
667
454
650
894
787
689
148
58
928
375
463
781
483
421
221
67
804
217
430
28
660
124
433
232
71
32
376
580
13
525
258
179
343
516
915
909
456
274
260
98
997
65
727
99
172
22
450
786
301
84
487
939
10
439
196
956
816
458
105
298
703
849
542
901
18
18
639
774
538
854
905
457
947
658
995
367
952
313
568
46
12
726
489
948
469
749
653
694
966
590
107
215
920
15
856
601
523
619
983
569
323
510
626
387
209
124
598
416
974
274
532
620
301
83
664
239
408
612
901
76
729
699
883
898
80
272
114
556
870
899
414
10
703
961
82
544
556
818
724
486
919
155
114
800
320
427
490
439
369
990
603
550
184
264
543
24
98
292
985
856
313
627
800
839
755
660
131
347
326
41
908
740
641
244
602
50
101
315
965
452
962
691
385
221
671
813
142
42
340
747
292
607
276
220
24
684
779
91
632
642
803
376
197
183
829
854
653
888
299
145
974
936
438
315
546
492
467
568
822
308
870
266
106
847
720
724
123
28
367
790
575
594
368
686
853
176
328
114
346
653
319
640
825
730
106
184
140
129
610
398
60
963
69
482
132
631
363
840
197
83
411
958
212
940
825
181
325
672
428
939
787
384
849
897
910
511
693
139
194
671
779
783
967
923
188
410
555
806
944
855
740
425
82
268
893
805
420
892
794
761
383
764
811
77
813
500
159
358
451
881
103
35
57
542
647
905
455
121
491
132
403
451
136
276
824
827
356
619
611
560
30
93
681
838
310
613
950
786
729
311
856
776
668
279
919
659
772
865
899
878
695
885
331
762
498
479
773
679
787
185
392
895
599
635
924
600
362
922
254
942
900
212
895
137
857
934
285
501
572
713
780
595
816
872
20
277
806
15
720
434
775
319
434
475
869
158
141
257
232
130
977
265
251
560
372
911
59
454
175
776
363
268
29
104
578
856
88
668
770
301
403
222
474
92
56
307
350
776
214
620
218
470
844
498
496
819
284
430
138
648
296
196
616
819
570
248
603
285
408
222
394
203
843
48
246
763
104
322
389
550
770
997
847
454
548
21
386
791
624
441
810
729
217
570
345
193
796
636
35
233
679
455
775
688
641
759
701
958
591
762
23
841
421
445
348
2
416
677
466
233
418
672
593
36
706
393
323
512
53
993
189
750
481
756
44
391
217
632
869
941
602
336
97
947
802
629
825
907
703
229
839
195
340
353
525
409
283
186
449
323
343
877
688
807
445
100
191
373
844
945
300
26
105
933
103
683
758
845
756
870
24
555
628
129
400
151
800
133
81
964
143
171
506
855
119
252
675
50
985
496
581
736
669
432
950
547
879
623
819
117
854
897
604
485
893
291
638
690
325
690
796
988
875
237
295
848
198
284
127
753
843
820
790
268
639
468
135
442
512
502
585
273
16
15
837
422
867
391
561
432
79
330
996
694
637
357
402
653
263
566
321
442
645
329
245
589
474
74
955
324
735
531
26
819
651
828
172
731
841
212
505
327
7
347
109
993
894
330
560
464
214
49
86
232
846
270
947
840
731
485
839
965
458
874
527
366
345
128
858
967
413
134
299
438
483
425
114
696
384
301
237
338
426
285
256
648
35
192
259
46
628
279
169
956
349
345
464
134
275
795
538
348
370
825
800
153
765
69
663
747
119
11
491
434
766
609
653
627
397
589
838
813
486
356
311
586
812
657
634
249
337
41
444
819
798
778
989
88
359
79
373
608
746
289
183
383
69
611
809
553
854
462
707
274
229
403
237
708
522
292
153
608
786
202
940
251
19
527
498
799
329
732
91
910
298
930
978
876
118
286
633
354
83
651
280
289
265
867
173
431
576
459
728
312
138
472
649
616
82
615
875
903
450
221
319
961
66
166
830
933
177
437
336
605
111
68
141
934
85
26
106
560
833
661
235
883
35
560
636
782
509
258
392
239
834
200
286
834
456
295
277
16
153
507
437
485
537
452
835
606
867
842
712
141
794
406
456
345
973
431
24
311
560
269
888
777
551
692
944
953
948
464
847
717
394
204
299
992
754
349
211
177
569
101
679
483
216
527
560
552
712
330
531
400
367
116
665
750
345
852
437
196
363
70
846
488
61
151
158
744
774
588
328
483
227
871
902
504
823
847
101
493
856
317
548
945
446
791
57
804
412
748
895
371
545
237
956
883
804
321
885
149
82
377
212
16
261
826
64
998
473
764
929
981
275
442
365
128
785
926
798
875
702
93
398
898
275
716
864
991
25
359
368
869
999
495
299
17
586
457
593
119
857
952
696
120
144
245
511
432
407
769
579
735
841
552
622
671
310
717
368
389
552
913
780
700
670
806
551
955
982
904
833
552
320
203
70
452
973
531
812
480
934
57
824
497
874
448
918
567
620
86
297
531
935
276
987
391
566
379
623
666
999
826
565
49
862
930
951
403
837
654
552
379
987
212
238
19
468
900
734
428
650
684
748
505
431
107
914
120
106
124
422
701
771
614
220
108
108
158
816
649
107
629
598
57
935
489
148
808
238
737
331
825
855
674
639
100
794
323
292
60
605
690
775
464
510
11
373
930
216
343
674
132
115
65
426
53
282
31
139
266
596
883
782
793
432
997
361
264
25
285
14
399
409
474
675
599
417
350
533
907
389
928
370
715
220
515
717
957
658
671
661
103
654
200
160
176
952
254
376
971
586
777
290
465
64
966
980
758
84
447
905
804
92
765
197
502
219
957
331
875
743
562
794
478
7
394
320
501
811
206
25
638
744
747
615
403
189
908
764
133
709
549
172
217
660
566
965
580
465
469
2
417
728
959
906
102
886
520
132
133
877
670
848
271
794
526
779
996
947
433
362
279
508
61
756
660
410
440
368
215
117
424
69
671
40
490
269
742
887
895
815
923
881
430
489
435
908
777
448
944
881
766
453
625
326
818
63
923
259
412
175
258
754
575
709
953
772
655
346
629
547
176
222
244
975
69
717
775
978
553
780
293
655
131
66
732
759
107
926
68
14
637
589
732
269
234
142
817
221
318
230
690
128
420
929
782
277
535
232
157
591
521
580
894
657
880
80
523
432
433
985
525
852
866
143
276
51
702
24
313
680
741
860
106
529
195
718
46
905
480
869
848
889
836
938
81
850
807
330
577
552
787
362
365
464
840
411
586
608
371
450
427
641
400
87
249
467
722
557
272
160
553
695
977
147
306
407
431
721
410
852
920
896
232
655
575
330
271
534
953
870
298
192
673
255
403
903
345
465
203
866
30
542
412
100
895
977
259
885
406
126
196
51
658
699
770
362
38
697
2
931
78
211
762
262
984
355
977
270
620
572
526
643
997
748
759
533
910
840
127
425
158
373
558
547
480
86
461
740
424
905
104
17
969
623
804
49
498
34
167
826
861
300
205
909
848
103
155
922
912
37
191
185
168
893
584
517
708
160
44
46
963
798
886
431
48
721
722
897
283
451
438
100
552
666
101
356
638
718
610
448
357
463
430
729
516
238
683
77
317
854
414
378
800
373
723
846
490
526
471
695
388
724
384
456
67
609
689
414
559
161
638
516
323
373
193
441
252
429
111
338
313
801
798
573
35
787
638
217
548
29
497
500
975
304
841
877
856
286
495
764
555
962
642
523
194
977
73
668
855
41
471
721
901
159
925
271
224
962
410
687
59
918
400
849
188
455
44
943
716
722
739
927
827
409
362
584
393
822
900
439
846
40
4
970
401
768
303
289
264
915
266
23
286
280
484
986
192
378
358
13
142
954
670
515
118
172
176
840
668
2
468
15
99
228
965
715
211
710
7
309
852
514
636
442
17
109
984
100
904
930
619
206
273
396
81
111
725
107
979
403
613
986
791
867
717
970
579
789
177
186
91
57
693
363
460
503
824
862
152
458
10
265
974
124
920
369
521
380
99
214
942
569
16
765
884
36
863
146
122
963
716
577
154
509
828
56
241
575
575
117
182
227
377
203
713
889
10
68
964
238
396
464
746
858
792
892
764
593
613
644
444
211
390
607
612
842
873
193
483
256
747
143
316
798
758
889
965
558
299
472
522
344
751
1000
312
166
283
357
887
46
999
597
862
150
910
140
49
643
234
21
777
70
655
662
917
713
496
466
493
642
646
233
878
468
970
964
828
414
889
680
825
83
828
188
824
991
941
648
199
717
664
816
346
218
698
21
196
248
296
378
426
315
657
101
191
501
54
601
21
835
612
63
395
65
49
671
449
648
918
878
780
169
590
4
27
529
51
418
866
152
334
75
251
74
610
150
232
388
856
404
113
471
218
276
113
827
303
919
526
404
131
236
40
253
254
297
935
811
206
61
341
424
376
569
573
776
247
952
926
893
291
25
1
365
334
414
675
360
459
762
712
600
366
112
719
538
485
437
999
943
152
722
552
425
556
708
200
270
349
255
433
640
399
225
932
526
919
757
446
979
868
127
863
321
366
698
460
44
368
941
88
890
337
346
875
264
667
950
71
413
510
532
576
348
637
203
981
182
573
994
636
230
218
882
669
49
844
694
471
472
653
377
306
931
52
314
251
709
666
805
921
735
666
830
581
827
165
156
120
276
643
843
75
677
193
900
805
798
475
219
420
215
852
934
782
201
308
694
567
507
752
810
665
285
238
171
644
902
970
582
365
2
796
496
70
65
865
884
679
887
353
514
433
772
45
753
450
455
68
773
717
432
704
33
415
142
300
943
889
386
554
475
610
40
651
479
9
210
334
979
115
155
725
433
134
234
331
636
600
364
960
236
271
240
698
602
218
318
881
400
242
851
404
141
371
415
461
110
937
104
674
636
92
623
819
8
492
316
800
399
595
158
582
309
108
435
197
343
719
688
202
15
770
779
689
135
93
498
79
249
355
299
32
640
854
801
632
196
996
60
130
122
662
218
907
446
500
116
366
404
6
51
402
542
253
864
125
454
984
848
991
560
192
23
611
381
233
937
713
101
159
603
898
190
414
973
241
653
982
133
252
489
183
275
851
149
86
345
822
156
189
495
740
478
848
196
411
511
758
671
382
646
847
648
469
557
453
25
880
475
679
393
570
930
632
721
466
708
933
273
11
784
694
970
524
479
326
287
696
791
453
595
803
692
581
997
624
863
234
856
171
941
897
315
570
651
241
419
980
763
362
915
332
94
806
794
978
158
384
133
853
504
878
916
248
915
796
701
271
511
205
583
529
957
246
603
986
248
643
416
297
346
309
170
888
367
715
747
994
474
836
523
99
632
986
657
376
974
480
469
224
657
542
212
275
785
397
440
558
227
407
648
407
494
8
261
543
255
814
976
21
452
951
664
196
70
553
454
440
371
588
609
521
174
521
495
795
490
714
842
825
223
935
595
959
137
576
645
62
37
888
86
930
195
457
708
660
104
269
768
72
488
255
666
635
332
244
747
99
305
432
613
896
418
717
478
982
820
886
901
789
31
15
906
424
863
655
945
397
511
595
155
494
519
578
420
964
267
706
525
510
36
664
588
635
830
988
918
155
774
275
951
825
806
232
333
707
98
641
236
165
741
396
271
637
614
979
69
262
357
998
320
29
517
851
476
917
846
455
496
909
61
135
522
408
714
441
984
110
612
823
141
199
911
304
756
554
786
663
532
795
199
656
581
715
47
583
48
541
508
741
270
897
677
885
561
68
427
265
884
116
910
407
156
983
535
599
806
777
74
326
172
475
312
873
686
263
238
807
13
959
999
912
623
546
278
699
525
638
950
710
99
681
795
300
982
274
8
578
819
910
453
522
469
369
300
369
897
180
189
893
443
849
331
753
875
636
241
660
35
654
983
88
875
303
560
321
424
615
756
662
208
16
147
416
49
556
427
849
523
956
963
648
453
509
402
635
329
762
25
593
816
427
909
924
667
508
844
956
94
576
740
934
350
817
522
293
804
908
613
557
159
232
972
487
430
983
204
462
928
903
209
110
710
84
611
828
61
556
925
786
826
469
744
427
874
875
944
767
72
275
137
74
950
459
275
775
718
29
993
146
162
942
83
999
478
513
771
408
620
522
205
607
517
136
338
939
569
199
381
826
852
183
201
921
172
870
554
199
597
87
253
735
112
191
916
944
294
146
22
995
918
575
409
405
700
127
356
65
500
91
544
219
571
740
962
773
544
461
912
285
201
608
814
705
39
768
449
936
16
486
671
851
840
418
7
655
6
81
390
829
748
571
453
949
952
319
470
440
972
87
199
727
393
309
18
388
150
731
754
204
55
24
218
749
48
148
60
86
283
330
399
51
973
793
646
945
385
962
323
58
571
859
493
90
369
50
21
181
118
690
117
53
735
350
155
451
845
662
486
986
123
33
210
304
889
913
537
698
226
893
152
652
631
743
967
34
416
59
949
165
317
340
412
903
656
494
832
308
402
48
449
547
710
990
78
957
759
23
135
266
797
825
868
549
980
512
747
572
488
195
971
547
334
751
155
470
391
5
200
187
517
241
150
825
563
541
335
601
765
360
733
979
191
806
936
826
929
137
718
602
729
798
144
47
953
551
568
328
770
177
498
346
477
36
847
690
660
980
239
442
333
697
424
825
330
154
770
278
437
979
617
882
88
277
704
888
893
751
899
331
850
848
95
671
651
800
841
441
88
839
557
117
243
751
785
720
357
823
193
118
961
469
648
845
997
248
24
382
654
496
37
773
750
304
225
252
615
463
277
824
286
255
843
242
832
193
946
773
652
804
676
68
824
729
776
772
201
485
593
319
844
392
853
282
546
424
812
50
87
231
679
602
526
201
973
541
829
657
382
118
425
273
699
781
779
21
51
491
68
806
165
933
196
762
29
322
180
333
925
980
301
583
976
556
987
814
939
982
917
625
263
432
925
703
985
821
142
636
989
477
42
333
861
885
908
655
507
744
194
355
304
709
485
830
75
35
81
911
146
232
821
398
146
108
863
80
412
831
385
613
604
557
453
542
277
177
259
700
543
541
959
411
331
530
445
160
257
745
273
604
443
283
571
865
714
308
510
763
979
718
790
323
658
811
784
491
933
481
697
642
907
507
67
147
587
967
234
295
404
141
485
614
83
958
382
393
509
6
712
464
269
928
479
303
121
960
209
611
52
333
368
300
913
84
537
189
185
661
1000
911
949
890
822
793
522
852
430
535
305
466
399
252
111
581
115
609
965
851
279
473
785
322
227
412
427
291
804
603
850
803
771
429
773
57
472
322
291
887
4
178
285
50
82
80
310
61
620
806
623
327
214
730
668
725
612
683
651
29
535
53
174
539
333
734
57
925
944
820
92
29
844
585
122
602
436
706
103
380
610
667
626
406
17
73
194
440
90
803
419
444
785
4
189
673
651
896
710
298
137
305
309
649
507
803
1000
840
872
614
716
677
464
928
508
337
731
314
740
330
384
982
908
757
583
352
142
387
75
187
806
149
768
779
206
906
936
916
723
50
671
82
358
665
743
109
314
980
998
207
717
962
582
992
473
457
7
345
337
494
49
287
576
9
944
685
439
517
351
372
202
958
71
578
720
991
161
227
712
152
986
249
184
405
927
8
763
666
557
331
448
387
675
382
532
438
681
476
736
523
759
725
171
922
370
171
38
713
784
240
737
427
344
839
557
304
522
453
926
16
987
876
818
612
497
722
466
707
390
519
534
318
327
141
338
88
992
648
972
132
125
426
556
60
343
346
580
609
889
701
195
387
338
147
672
274
584
544
774
263
842
13
458
892
183
106
840
144
636
124
887
821
855
522
249
993
731
5
879
329
373
719
332
339
981
296
102
291
116
114
23
361
453
155
254
514
260
374
331
870
960
962
535
919
659
538
457
328
53
688
189
706
471
186
893
995
312
972
804
291
689
425
92
743
963
235
23
844
106
857
417
547
295
529
577
896
807
588
566
646
581
329
979
94
350
698
530
368
142
636
910
261
34
959
425
257
301
556
42
679
991
156
75
41
508
287
100
507
866
84
541
717
881
618
131
897
274
362
633
424
78
641
691
941
119
537
313
92
621
811
520
932
622
773
145
484
714
40
808
595
550
895
756
484
809
465
664
564
812
762
69
595
46
367
977
187
535
456
599
60
194
302
714
891
966
897
932
286
164
227
555
293
245
6
857
391
200
223
545
887
873
391
283
616
688
816
880
841
436
954
391
106
127
854
197
156
802
695
348
125
93
304
377
206
931
476
694
418
557
600
517
859
570
397
686
788
424
883
929
420
814
890
474
694
679
915
549
425
474
844
316
18
269
489
273
973
731
639
814
976
460
486
661
92
88
474
764
657
549
315
737
453
171
627
54
305
946
528
799
983
544
194
262
222
318
420
630
552
565
835
802
426
752
812
309
316
394
511
193
171
25
922
110
36
642
938
419
922
449
475
681
792
807
916
440
998
358
884
820
852
419
376
79
1000
72
733
761
595
478
842
583
623
242
466
443
466
487
697
903
696
931
24
367
743
693
446
916
656
367
94
839
301
664
443
85
77
255
398
750
750
223
790
386
812
672
357
246
491
912
325
697
297
706
903
302
375
858
73
986
874
884
462
339
529
212
315
263
294
84
850
950
879
7
199
594
903
15
680
616
147
257
770
86
483
278
910
223
560
909
280
426
631
84
782
811
295
412
880
459
968
790
273
722
258
277
101
520
563
519
540
43
217
463
533
885
835
305
181
788
739
96
776
824
845
905
904
393
783
677
296
100
418
841
452
780
47
898
699
289
674
244
440
169
665
798
553
53
448
202
132
469
180
536
981
664
189
58
92
524
513
851
932
565
286
224
756
799
278
629
986
162
565
63
817
846
332
364
335
803
397
331
189
201
64
305
599
25
489
973
157
871
215
556
935
273
178
31
898
203
979
637
944
814
4
293
827
786
233
457
332
329
645
398
581
20
871
269
939
588
775
961
736
813
997
911
742
414
140
227
65
199
685
173
412
228
351
514
649
588
718
193
556
565
60
344
368
840
821
55
746
430
779
22
998
928
377
103
40
731
221
623
280
606
335
711
860
772
96
156
786
520
207
979
312
766
494
591
227
559
56
681
102
58
593
930
621
300
503
576
579
53
929
190
436
41
809
362
147
672
465
803
193
992
738
711
145
437
122
438
376
726
20
337
248
367
605
169
351
994
579
756
826
477
196
210
774
632
12
470
87
208
302
120
575
123
486
923
943
897
181
948
197
370
612
336
201
424
937
717
653
159
169
571
889
915
725
290
1000
786
860
885
227
655
458
901
991
43
256
25
504
158
1000
11
517
603
65
936
956
129
916
847
767
659
879
671
101
991
199
307
150
991
695
448
908
150
578
997
694
919
525
490
580
539
208
282
345
702
784
957
239
36
133
219
176
641
217
466
771
712
159
182
642
124
91
134
46
553
338
419
42
425
581
730
542
230
889
260
476
101
55
718
292
445
169
668
424
939
498
210
697
658
638
84
487
274
807
748
904
52
743
318
682
778
22
919
405
871
133
881
322
901
727
524
822
983
236
849
918
831
808
447
829
77
756
317
119
640
937
764
841
241
576
314
69
291
973
242
398
839
585
976
261
826
2
65
6
925
8
672
177
471
843
954
511
507
962
998
725
107
890
972
374
434
139
624
579
660
494
653
582
216
241
910
295
247
767
342
875
286
997
314
209
159
886
880
512
800
750
6
473
716
693
614
796
354
86
711
734
438
484
425
632
893
497
256
111
158
532
99
927
793
661
958
484
732
528
29
65
514
985
820
987
980
820
644
505
443
156
872
198
748
105
319
89
888
459
1
443
31
485
826
532
308
961
218
326
433
664
490
614
210
895
118
359
536
289
220
918
36
730
612
570
323
148
371
292
39
518
96
670
883
732
293
990
527
680
124
326
51
445
81
847
302
156
534
174
978
594
458
20
409
786
313
478
797
554
469
462
161
120
773
928
843
679
199
875
28
954
946
24
450
710
90
144
741
795
575
213
833
534
755
566
172
452
165
744
402
870
796
595
925
413
410
953
399
928
748
982
708
530
452
86
468
858
893
508
800
35
866
374
780
916
857
692
936
812
744
379
498
514
448
850
971
273
881
929
646
139
508
747
610
298
932
708
930
542
935
740
646
534
797
997
102
403
324
423
999
86
986
730
680
777
68
277
233
62
824
924
266
42
569
718
569
682
614
824
164
663
612
146
772
594
173
578
510
201
567
448
792
339
208
955
780
314
499
118
262
971
189
445
840
500
657
787
976
353
330
289
692
109
145
292
754
233
962
354
778
665
520
225
143
483
888
252
552
751
225
289
551
936
202
794
42
961
528
806
171
24
152
354
369
121
591
913
797
752
856
301
729
599
297
192
600
208
108
255
235
444
154
938
672
442
263
366
723
838
468
695
61
515
575
800
821
644
967
488
741
13
423
800
236
276
199
332
547
264
217
888
485
904
698
785
417
801
853
104
835
791
267
131
274
41
870
141
146
717
670
896
76
964
246
684
714
834
39
107
571
431
952
233
273
502
209
716
280
593
209
811
481
734
374
591
303
769
847
96
888
653
557
889
189
596
641
108
687
692
55
315
270
453
636
323
442
154
436
440
490
673
604
119
826
588
583
556
88
141
439
821
203
265
550
374
129
219
515
368
237
242
249
122
870
492
605
328
158
535
142
842
347
436
785
388
853
942
797
767
194
410
852
302
599
80
83
40
245
707
313
74
4
114
643
984
238
806
179
503
253
330
257
63
457
663
905
946
184
163
524
853
783
849
571
539
376
388
551
718
852
317
780
402
524
724
474
861
925
94
398
349
541
400
950
723
214
149
73
784
245
465
973
905
912
385
728
369
146
974
188
185
823
605
832
575
653
135
179
700
230
530
546
414
697
762
5
338
83
636
98
471
942
730
584
847
659
281
939
266
13
662
403
248
719
352
563
28
989
555
17
113
720
349
801
700
546
137
953
201
716
276
297
198
934
906
416
779
799
956
90
899
628
537
341
579
675
379
490
627
156
229
948
366
417
555
469
77
988
412
854
916
866
506
176
56
171
228
219
517
441
600
143
177
764
215
268
144
814
659
888
623
947
826
103
781
969
42
199
509
595
136
837
270
177
444
157
705
649
471
758
136
899
637
888
951
114
725
6
604
863
38
554
466
58
595
235
332
902
149
693
157
162
476
817
763
851
211
763
983
954
647
56
142
265
246
309
752
769
120
464
392
779
824
810
612
970
294
882
78
223
293
537
899
977
667
970
554
922
484
88
91
982
287
406
251
152
992
134
55
111
40
578
574
328
459
450
155
576
897
340
83
152
366
929
942
387
332
593
694
484
38
356
536
697
922
298
806
239
52
402
142
27
346
421
311
637
238
126
870
296
350
224
816
370
100
936
517
435
204
464
724
996
416
194
282
67
570
265
62
633
389
571
442
151
363
366
286
969
596
129
809
867
399
726
655
676
372
426
150
1
513
495
792
384
995
954
71
840
778
1
136
161
676
693
217
348
735
596
782
667
290
602
263
677
6
578
938
590
210
129
881
986
365
24
481
988
989
724
379
368
575
1
662
155
255
172
709
616
600
240
671
123
856
911
184
497
436
461
651
206
652
639
491
819
498
43
883
725
350
67
915
621
795
585
183
579
972
12
997
239
895
934
788
923
751
584
51
101
974
553
541
541
993
792
39
266
534
118
358
392
606
99
149
182
611
755
915
111
100
483
743
212
493
870
524
41
724
830
24
11
435
939
700
352
145
208
375
652
657
503
540
838
833
44
93
319
731
997
54
74
422
331
431
41
255
404
303
160
165
707
13
405
121
1000
961
771
801
717
72
789
245
907
847
227
556
464
871
211
498
742
426
362
768
875
683
360
317
169
761
417
179
498
849
883
558
490
855
820
314
91
848
184
648
601
335
965
935
35
1000
219
763
409
997
267
346
745
270
769
632
858
80
413
448
259
860
367
257
981
812
88
406
148
523
234
578
267
366
573
888
1000
880
27
984
184
101
690
208
548
706
695
392
782
952
144
465
599
404
553
134
698
836
236
843
638
9
324
484
21
872
640
768
46
815
289
745
397
70
374
442
263
939
677
571
271
717
29
631
66
480
811
289
486
157
903
828
522
617
450
281
74
521
561
679
48
933
793
93
934
865
458
721
946
569
857
789
834
874
574
375
477
489
939
608
800
409
124
215
71
786
197
310
836
98
739
646
574
667
150
438
925
82
236
551
895
468
150
528
707
981
607
776
950
658
221
758
330
137
155
924
462
854
94
828
369
646
956
839
439
555
298
919
894
373
55
808
822
84
286
903
429
197
338
313
931
129
325
25
589
583
300
591
648
621
711
348
333
469
848
875
856
668
133
256
937
931
938
907
53
106
124
103
640
104
521
630
830
411
6
816
995
444
415
735
348
583
572
193
154
893
807
456
505
932
341
738
226
541
126
173
627
973
743
212
37
188
192
366
771
837
814
32
243
318
370
185
341
773
862
1000
911
825
948
313
881
2
470
247
372
218
413
240
24
134
598
137
349
59
5
970
386
660
605
829
493
204
105
872
898
856
120
967
259
859
909
367
367
518
694
467
653
821
123
807
656
129
733
693
193
364
460
789
811
418
716
917
535
8
189
743
674
323
825
873
569
155
469
990
925
21
822
985
464
84
714
702
155
460
779
883
354
681
788
115
653
563
959
81
826
205
910
100
716
949
626
863
669
903
532
624
593
969
386
841
730
873
797
405
326
581
983
449
521
27
200
732
653
429
364
617
690
121
650
276
736
389
661
518
683
190
938
964
652
921
51
944
634
767
24
81
337
797
545
457
601
835
751
236
215
462
799
933
883
323
673
301
829
814
172
92
331
902
89
954
289
870
159
910
466
849
884
375
859
599
341
319
399
127
582
468
238
257
760
414
723
645
207
43
940
466
70
339
822
279
236
809
425
563
563
63
57
243
885
498
343
937
66
306
435
44
832
834
160
759
820
175
334
640
129
957
580
208
694
906
930
541
429
968
378
581
78
291
34
849
544
383
66
120
800
565
298
376
60
942
484
238
590
762
803
371
431
845
34
540
495
932
933
155
276
762
383
155
738
450
797
428
433
438
628
1
945
404
795
740
780
410
69
428
698
416
514
778
58
861
399
463
431
693
856
978
588
297
647
579
901
714
332
666
485
880
735
466
43
47
109
420
704
768
595
97
910
151
310
120
462
66
470
783
170
580
909
595
918
360
739
189
936
276
250
966
515
325
485
108
89
344
953
736
979
837
437
295
775
808
514
971
998
584
857
882
700
802
407
107
7
219
623
278
754
165
28
441
850
495
788
322
949
346
727
989
75
934
656
99
281
584
695
178
438
13
830
663
300
643
464
841
611
640
853
849
588
199
962
674
948
662
291
236
207
442
101
944
167
677
34
973
221
860
548
408
783
894
884
786
48
606
906
779
87
613
406
76
381
385
242
504
660
181
779
758
137
656
638
777
826
564
994
497
396
307
823
181
601
468
396
43
266
258
347
1000
927
564
143
752
352
43
656
791
153
95
976
645
321
469
563
9
826
689
77
762
657
371
413
638
887
828
189
550
30
165
641
22
178
179
558
495
244
381
955
945
941
167
376
759
113
422
436
393
672
143
119
252
796
377
997
55
400
377
484
999
58
869
338
537
803
744
512
986
624
572
962
383
770
594
905
748
273
240
238
993
396
434
488
825
263
595
584
612
743
719
507
388
494
825
537
797
708
550
802
470
230
342
336
479
35
175
437
586
921
325
639
50
966
986
696
592
157
87
504
570
792
738
103
841
306
74
120
141
692
574
865
209
918
648
152
752
412
870
464
141
459
321
249
108
303
517
637
23
590
352
164
483
786
975
768
726
664
839
820
359
46
665
734
293
343
404
781
422
609
822
576
344
288
372
744
754
51
598
91
375
729
534
941
73
461
525
559
4
852
833
625
123
420
22
65
26
608
657
197
586
368
571
91
635
548
39
806
681
917
685
415
589
361
552
444
363
564
771
706
143
619
584
422
711
787
360
208
896
28
621
535
167
824
596
19
127
226
84
100
754
271
30
882
836
4
296
512
567
512
938
897
705
830
538
478
582
729
535
259
778
246
544
609
882
403
261
763
709
283
300
658
907
813
965
58
317
749
317
301
643
420
286
397
757
910
737
480
982
142
737
110
927
227
216
737
694
210
729
33
742
378
208
184
264
530
812
855
318
423
711
755
417
643
924
970
657
776
546
132
271
948
151
25
641
845
978
921
992
771
522
648
420
171
392
373
18
517
816
831
118
166
73
605
206
110
623
408
911
176
426
664
132
272
297
672
678
417
189
646
95
437
387
880
371
832
580
290
991
749
197
624
253
225
286
186
739
188
876
933
401
980
88
933
709
925
444
463
584
979
207
444
64
384
242
834
661
892
878
920
393
825
285
617
356
542
405
499
926
975
688
190
491
473
542
634
151
983
218
167
88
526
997
821
177
13
931
1000
847
133
789
374
559
832
734
507
431
242
742
189
329
405
691
806
699
293
582
167
800
920
106
663
478
99
526
291
927
655
836
294
99
847
728
961
200
357
447
789
984
416
454
155
384
183
803
109
696
894
498
409
835
334
761
349
602
92
11
354
497
620
142
306
552
284
760
474
35
423
834
342
397
845
687
53
545
557
425
816
771
910
200
969
156
308
475
24
157
545
446
307
16
16
995
859
78
348
507
810
531
184
809
169
612
702
204
752
534
678
467
91
496
249
549
241
742
333
185
741
715
190
619
578
468
248
347
546
171
263
255
201
801
903
615
863
418
261
857
829
518
507
24
162
146
790
721
358
591
128
305
811
613
973
299
825
894
789
677
563
721
706
333
426
260
647
758
541
123
58
241
145
817
513
256
260
797
30
617
688
848
661
236
480
596
953
293
600
23
274
837
167
95
721
516
243
400
471
674
35
686
241
403
552
889
695
735
101
708
62
588
764
448
160
57
350
98
40
593
960
346
799
607
413
241
778
797
414
303
407
931
610
595
836
384
664
485
488
430
426
451
190
808
527
185
789
405
575
523
235
371
70
290
219
614
94
458
703
230
132
443
10
390
643
857
64
908
41
176
44
421
320
291
397
467
42
615
321
570
188
643
802
625
543
779
644
888
294
207
515
556
277
734
714
663
362
593
244
22
391
712
184
803
193
571
842
858
5
954
527
40
641
598
358
675
739
398
697
690
440
945
959
469
387
216
14
374
137
643
412
227
379
209
623
13
586
380
164
762
677
364
40
206
471
762
321
838
136
834
656
816
486
699
162
737
927
122
891
65
732
581
514
852
820
100
870
959
277
996
268
308
153
696
939
867
93
86
935
671
855
59
283
401
467
844
639
383
399
90
955
390
802
87
487
659
221
55
706
719
122
442
745
387
979
991
13
666
78
725
291
78
423
886
585
601
475
935
121
337
441
930
12
29
382
706
478
395
673
937
118
587
52
753
117
484
20
83
213
45
627
368
80
817
524
274
432
506
990
380
391
733
144
152
955
32
303
990
967
774
761
980
392
364
184
551
835
754
97
694
674
964
482
997
451
128
934
406
317
822
790
286
764
35
566
877
634
412
433
372
546
884
620
345
970
155
792
782
477
793
19
555
840
295
644
702
199
410
831
81
959
617
786
355
404
396
860
355
806
976
431
40
119
503
334
566
230
248
995
524
393
997
627
900
502
702
910
818
755
94
861
505
427
63
983
866
829
925
207
481
237
588
790
788
86
120
245
551
323
450
70
534
166
709
836
231
902
960
432
839
606
505
803
27
445
94
210
598
97
106
837
297
345
698
31
882
622
399
208
155
950
988
770
821
207
179
637
455
38
972
129
38
609
40
819
664
569
828
553
282
480
688
393
849
244
604
661
775
288
996
876
50
373
495
844
32
286
761
191
793
576
624
3
937
355
781
990
863
204
661
50
292
401
700
798
28
70
491
957
257
865
172
911
790
419
852
72
912
978
442
328
416
958
515
581
117
620
102
51
299
58
489
930
441
185
386
398
17
479
765
570
242
20
889
215
390
873
401
352
936
927
287
571
723
302
229
1
888
578
342
330
58
901
232
545
232
350
903
553
808
296
460
69
155
223
645
69
885
739
132
324
486
984
79
487
349
701
333
876
112
815
605
712
698
168
620
562
91
623
653
881
980
116
556
309
794
736
500
678
278
822
599
694
393
88
727
599
427
89
357
841
640
52
144
984
224
19
866
887
528
939
567
451
814
525
268
4
342
266
240
232
341
736
332
894
982
609
761
681
202
386
231
73
608
699
379
20
143
118
954
833
579
248
500
226
841
346
791
649
881
304
5
341
178
460
518
841
689
394
739
277
670
323
705
292
323
24
419
645
283
637
732
624
68
78
723
338
840
128
143
56
265
771
997
620
782
377
369
867
444
967
620
169
523
435
880
931
681
162
299
196
290
368
231
267
549
464
153
921
774
712
482
838
744
220
84
703
404
718
851
773
530
629
529
136
276
938
716
913
658
818
651
252
282
443
849
982
944
677
448
663
43
777
242
170
4
949
913
227
405
25
973
966
120
884
336
623
963
324
627
80
467
370
429
391
226
750
797
332
378
381
602
351
50
507
18
785
903
199
712
856
607
628
347
661
951
658
230
88
377
406
968
122
433
403
161
629
744
174
669
97
547
387
743
495
872
477
657
26
578
625
482
406
959
942
824
865
319
635
797
546
34
340
404
730
755
604
503
365
174
262
790
873
153
868
570
867
143
739
59
444
412
728
96
792
605
488
641
497
244
188
573
946
479
326
158
31
827
912
933
949
327
451
904
657
767
617
633
829
400
993
657
520
738
422
288
14
496
256
465
631
275
400
72
3
912
447
548
250
518
437
859
229
398
665
67
37
357
465
629
838
661
36
160
26
438
369
235
640
930
731
542
440
819
574
242
392
296
615
773
701
580
385
767
871
227
363
502
402
199
842
905
427
573
98
964
956
333
306
501
968
238
493
418
230
547
605
540
334
679
327
663
983
48
170
38
214
548
602
350
209
131
746
248
785
956
663
295
218
970
344
148
971
217
724
573
585
515
111
774
370
69
157
123
501
37
84
316
388
458
195
502
404
41
961
372
270
304
183
442
538
55
126
343
344
326
974
956
799
911
445
466
961
450
614
144
905
13
212
755
967
139
210
537
406
978
973
111
612
506
324
534
816
603
66
194
11
750
536
236
253
249
993
953
465
660
680
553
319
662
85
100
44
348
76
543
51
637
40
653
504
807
585
730
837
319
848
78
789
265
724
549
349
575
423
633
271
765
192
364
299
837
674
119
471
808
431
253
174
801
267
436
393
175
844
999
512
145
899
98
842
271
729
723
425
332
983
124
288
321
248
553
9
819
639
236
852
222
393
743
601
416
349
716
248
425
895
771
288
849
953
195
66
283
25
889
197
526
934
738
229
935
455
781
42
649
29
782
123
215
40
913
369
825
730
467
80
349
81
242
61
369
296
543
555
620
170
849
352
900
207
537
982
98
445
53
850
517
328
547
10
208
450
607
132
39
24
187
563
254
166
112
53
467
472
811
744
753
400
380
968
680
96
719
576
819
653
628
800
949
922
376
919
951
321
626
94
966
645
513
936
776
926
379
55
473
759
653
266
513
155
577
731
987
306
840
160
866
550
500
980
693
766
603
960
692
11
55
489
670
46
330
847
48
931
308
483
318
201
310
142
915
547
488
726
463
305
373
22
37
958
547
699
903
418
511
67
233
296
608
173
44
226
651
864
892
403
698
763
855
13
739
450
920
714
80
967
448
776
696
79
865
934
245
880
88
350
34
104
521
775
996
276
371
371
686
418
239
641
15
858
937
727
836
675
874
619
778
629
221
105
157
753
448
640
828
718
376
983
96
539
330
703
956
610
373
430
705
364
189
273
875
566
972
25
327
27
275
534
721
931
550
878
269
971
178
551
147
535
813
676
134
973
721
547
737
451
198
109
869
461
353
714
105
860
772
606
337
760
888
535
590
335
132
536
19
421
880
498
943
95
480
328
162
288
457
135
778
244
63
640
369
857
661
765
702
747
159
519
235
175
451
695
221
166
276
900
433
544
797
282
221
289
760
419
272
986
323
444
180
80
589
978
718
287
143
781
303
816
951
623
901
718
971
935
436
698
281
609
964
367
88
607
826
124
325
28
968
729
57
341
160
534
377
565
886
862
797
890
206
690
896
975
408
596
891
956
367
22
865
986
290
85
950
684
34
384
587
628
213
938
305
739
467
964
112
910
949
438
419
92
10
22
979
433
999
490
792
589
194
231
447
371
888
413
334
589
721
507
604
77
917
235
377
92
780
437
286
784
765
463
564
126
762
950
437
73
403
995
251
238
640
819
503
997
919
707
985
414
138
689
819
336
165
687
852
735
658
4
851
1000
691
111
513
488
719
641
561
844
505
970
129
150
951
650
673
563
147
754
91
941
832
565
581
130
952
232
866
783
178
685
21
168
698
167
250
984
91
76
66
340
346
183
511
249
988
566
510
336
242
264
54
836
644
968
330
331
746
98
794
930
597
276
192
465
111
34
385
231
725
798
620
447
917
92
876
38
730
806
217
692
810
52
455
771
178
940
552
99
297
797
276
566
696
144
820
87
402
459
715
722
757
989
281
900
772
342
754
133
783
834
623
730
18
824
476
723
561
900
820
750
361
320
864
151
252
735
482
794
67
727
177
232
768
209
719
283
25
129
720
924
376
157
419
908
956
190
808
991
731
474
354
713
575
211
557
478
12
825
177
144
710
438
122
247
706
636
506
281
196
184
334
809
567
859
185
895
960
936
859
739
798
980
872
875
675
619
501
635
888
943
324
826
816
583
865
625
622
419
954
39
836
392
287
398
224
677
172
246
266
356
467
897
78
609
794
844
214
590
310
102
197
253
882
342
111
78
189
525
495
324
967
344
298
103
858
292
771
674
962
632
932
927
739
722
465
237
457
471
651
508
272
475
914
264
251
496
182
87
451
73
530
571
17
430
38
285
383
34
571
701
545
232
424
734
125
241
697
584
501
360
98
698
792
46
908
891
176
838
26
615
483
562
653
687
51
170
252
759
611
523
353
300
654
699
889
247
878
200
222
777
393
318
827
745
950
4
766
944
600
150
530
421
195
943
951
14
464
370
541
577
683
267
751
236
531
351
123
851
960
517
111
465
17
700
136
862
542
55
433
622
697
876
796
822
851
423
948
645
977
77
610
937
183
774
847
660
326
437
931
533
802
115
534
183
809
630
184
542
240
867
625
803
229
41
972
839
107
371
630
79
806
527
830
754
390
127
233
22
52
140
827
113
891
678
427
649
114
341
695
799
410
302
199
533
847
504
788
849
159
461
93
806
529
124
481
737
596
114
843
391
486
228
529
179
561
767
184
316
144
443
485
342
351
430
924
529
494
308
607
408
616
650
491
81
601
245
932
676
351
344
530
272
187
590
220
29
891
295
691
509
658
311
678
766
221
48
630
486
386
947
194
814
635
458
608
497
986
827
725
831
66
769
815
391
638
904
7
244
772
860
398
830
391
181
707
574
468
120
555
58
414
419
438
165
527
716
660
102
66
338
757
241
101
165
28
788
518
431
14
200
578
780
626
900
719
646
492
330
629
707
540
201
300
418
396
785
594
252
360
739
39
421
857
714
297
93
481
45
142
777
743
749
57
236
288
191
324
166
59
730
871
647
955
306
227
365
470
910
391
877
343
188
337
260
735
782
872
893
4
437
579
569
639
654
628
471
925
924
630
568
381
535
556
662
820
944
360
472
410
187
463
588
430
797
354
50
459
282
345
815
860
185
596
776
871
368
729
59
678
342
136
901
304
375
958
397
457
438
570
569
236
496
659
828
477
274
900
635
364
606
245
404
977
652
147
859
495
934
9
30
667
757
210
803
185
409
330
521
171
659
237
237
470
869
829
328
684
727
528
970
467
270
334
532
603
418
87
810
763
99
388
570
737
8
862
980
8
14
617
725
202
28
742
685
20
403
988
832
277
941
942
348
864
890
222
634
994
599
463
485
436
301
519
488
508
897
387
663
270
323
699
452
662
131
373
886
995
44
802
764
234
963
963
465
135
881
882
641
471
421
49
697
410
320
509
802
661
602
850
759
660
8
317
848
57
356
370
354
648
912
973
505
112
631
193
622
49
834
352
466
135
837
659
739
27
939
61
134
807
109
885
433
581
899
759
449
822
489
432
896
891
182
297
353
164
506
565
959
368
252
970
810
821
917
907
193
999
194
848
916
405
728
679
590
754
46
807
224
144
913
511
126
405
935
564
562
991
612
341
883
430
613
396
68
393
233
909
330
259
811
485
995
817
447
174
303
996
175
807
971
389
861
439
731
178
815
438
244
328
290
53
863
410
910
878
314
471
436
658
980
377
1000
6
584
797
899
142
671
519
738
873
212
391
696
850
928
54
743
153
632
204
346
45
423
664
173
504
652
145
885
974
855
670
336
382
408
925
12
372
280
292
220
97
861
589
485
141
50
949
793
953
390
754
755
921
7
163
136
824
326
539
451
105
94
295
80
333
230
736
222
220
237
734
198
798
637
465
709
370
569
273
151
926
598
756
846
920
885
274
532
655
524
365
993
805
134
924
854
100
530
428
217
857
252
484
994
119
582
254
959
562
773
854
347
182
495
760
496
115
574
239
488
210
409
228
762
776
357
356
69
898
637
158
685
659
105
701
560
1
648
523
753
147
71
2
231
185
774
822
103
167
424
294
691
187
854
950
809
839
571
764
996
331
157
142
294
77
760
225
58
412
834
467
287
554
490
807
475
531
869
245
451
436
94
552
508
165
644
405
509
199
237
811
455
241
794
899
467
786
147
531
340
239
881
730
363
378
81
602
150
984
658
210
662
14
325
670
50
574
795
386
653
123
451
409
544
502
641
673
403
435
713
525
543
358
205
223
200
802
633
738
897
753
587
313
161
874
146
485
951
172
67
784
516
629
556
221
277
228
382
306
524
404
516
253
456
859
151
634
171
962
416
356
398
467
328
992
912
436
681
968
868
664
553
369
670
563
578
784
228
992
649
443
522
482
793
342
116
834
295
823
706
914
708
351
990
766
187
178
16
128
86
145
188
633
785
808
510
165
390
815
361
824
198
43
268
804
990
700
73
316
379
314
782
754
965
781
775
860
455
856
592
415
516
694
810
830
215
534
2
562
477
405
618
764
683
834
955
112
844
416
708
740
616
967
802
618
264
956
294
12
890
262
764
229
987
153
819
780
113
358
117
263
197
483
254
458
37
537
798
153
520
650
5
450
838
715
2
916
328
914
392
114
999
5
536
714
347
348
911
354
607
482
592
212
140
48
11
879
984
807
965
633
991
659
608
990
581
974
169
602
67
711
1000
340
742
302
890
777
57
772
136
413
208
787
622
983
469
187
571
997
439
878
279
169
716
424
23
808
745
44
20
345
106
232
501
115
243
319
70
667
424
471
916
558
900
214
352
375
68
372
243
689
930
616
216
167
982
115
455
16
388
12
241
598
30
367
842
95
978
943
127
553
926
945
432
160
398
290
670
91
345
556
442
37
898
137
67
133
906
584
396
101
192
270
830
719
936
370
934
395
615
794
208
518
590
440
66
709
802
28
17
449
534
989
530
883
466
170
685
1000
225
975
400
875
887
957
892
967
958
344
502
797
338
188
597
624
900
139
544
379
453
340
701
385
84
408
995
81
888
945
226
557
724
798
136
36
326
550
909
534
121
225
522
370
154
124
238
602
535
111
346
797
531
598
198
299
920
63
528
308
476
900
554
99
294
491
523
469
930
428
950
944
55
743
525
268
888
329
167
647
186
494
249
18
79
408
720
224
755
332
207
440
731
606
959
568
977
125
501
72
218
948
207
827
447
302
728
993
715
73
601
198
91
721
846
659
895
14
286
261
283
719
35
242
805
76
116
937
299
243
270
461
809
529
108
854
458
73
686
874
845
354
364
270
962
682
535
437
852
702
345
988
145
233
919
117
482
350
386
186
336
227
717
229
950
8
889
913
244
1000
131
818
876
987
450
937
58
126
723
46
303
511
121
848
507
377
786
348
671
529
244
427
473
603
661
753
339
48
1000
298
108
506
254
756
23
145
544
536
369
944
157
652
782
863
794
863
189
633
341
374
150
205
591
807
144
634
837
853
97
235
236
619
538
666
110
810
182
717
521
591
198
787
538
235
365
99
164
493
983
444
903
494
980
915
319
329
651
610
784
455
247
770
39
404
798
186
594
475
315
868
959
342
856
743
676
226
24
755
394
891
538
898
369
321
73
309
45
112
670
520
943
105
327
316
837
393
19
378
570
216
234
894
44
418
743
599
96
937
562
350
152
459
779
46
219
594
593
197
642
852
918
773
613
775
635
132
774
640
114
804
596
70
868
475
951
567
345
911
983
766
700
5
417
63
819
960
265
861
774
352
498
64
143
80
641
214
869
264
183
12
634
446
156
299
493
792
782
635
680
476
321
458
800
51
44
480
304
402
718
485
103
445
881
564
175
139
376
828
828
80
292
230
34
673
743
144
408
476
147
651
952
488
451
616
801
428
508
373
66
73
783
317
249
572
67
456
185
578
174
979
151
593
137
717
372
910
46
185
874
117
494
447
992
961
414
745
769
581
915
312
992
634
700
859
994
79
494
506
693
923
637
748
93
615
367
772
525
972
765
12
927
851
200
882
538
772
219
327
251
382
979
776
511
257
106
571
591
282
182
23
898
644
651
566
273
449
931
866
206
355
230
719
684
718
689
623
494
946
978
745
967
918
226
281
915
547
562
263
625
42
335
436
505
430
311
84
925
84
994
214
112
669
408
217
639
527
607
436
31
647
671
466
822
502
401
279
292
72
483
708
69
995
836
757
534
652
610
191
504
833
557
873
461
953
856
412
532
115
868
282
982
84
314
763
152
471
59
429
451
738
739
831
948
635
330
748
169
351
599
751
707
305
519
467
832
777
468
866
59
12
813
189
215
447
976
375
588
922
444
44
935
181
1000
953
824
941
915
935
105
541
819
656
844
551
396
337
76
685
790
895
691
107
421
942
959
388
381
765
110
487
597
804
926
689
919
767
609
234
972
733
504
338
4
295
349
465
824
129
989
429
502
869
235
576
776
537
508
963
633
565
886
381
103
204
38
513
502
103
304
698
36
716
684
617
723
438
798
686
931
785
265
73
771
305
757
778
812
959
466
255
280
733
45
19
121
678
825
119
27
195
558
480
942
768
641
398
347
351
342
752
684
409
945
859
622
868
632
129
299
231
483
453
287
976
640
55
933
161
843
369
630
327
429
508
35
191
501
437
681
162
871
700
348
544
801
843
911
879
93
626
142
292
537
324
673
601
463
79
136
699
300
345
337
862
710
637
147
849
762
837
29
30
913
66
274
263
73
932
855
220
408
234
533
664
305
458
391
749
633
671
245
534
566
223
575
436
259
318
671
26
384
360
800
343
365
204
641
343
131
198
258
82
159
440
236
979
864
185
437
578
313
676
896
238
980
77
475
779
259
774
970
815
346
200
716
32
176
105
284
602
357
161
796
791
990
268
558
119
783
267
596
338
956
61
697
437
773
949
139
993
931
823
221
644
514
889
61
61
393
611
193
776
955
900
367
165
37
826
884
142
391
677
141
907
741
725
422
778
643
888
331
970
313
269
854
636
16
593
6
410
735
651
473
270
608
371
332
2
755
448
873
548
873
285
516
438
97
890
183
469
741
1
473
817
526
129
977
553
387
77
196
566
134
717
745
290
747
138
145
716
4
441
273
149
859
675
81
248
168
431
715
761
501
222
914
486
213
269
463
929
812
756
661
757
241
881
787
702
94
781
927
803
198
373
132
88
875
449
891
768
193
950
73
307
113
789
889
647
711
336
100
961
778
291
235
635
74
427
642
669
996
188
735
58
892
475
617
75
119
621
297
335
506
812
896
517
355
989
359
961
903
219
532
286
836
574
40
543
425
704
7
716
763
223
186
216
381
562
331
497
885
340
431
917
569
25
311
69
598
281
181
863
252
429
785
244
968
682
627
833
640
25
967
832
528
889
640
198
247
157
235
841
441
467
283
123
249
99
627
78
163
582
193
178
636
208
451
462
205
75
340
483
670
473
239
110
326
400
870
618
548
317
450
363
57
132
568
824
948
413
161
271
819
326
531
168
688
585
943
439
568
773
741
237
787
964
103
838
482
356
913
709
498
263
131
200
251
193
816
259
459
991
46
228
585
671
344
354
843
487
351
403
209
971
616
668
452
70
478
20
125
207
724
691
879
595
381
269
527
387
377
232
305
760
470
305
393
399
722
220
429
647
852
466
302
535
693
798
862
755
194
680
107
72
736
265
854
829
812
77
134
200
991
145
656
342
462
67
934
46
936
669
497
147
135
707
529
447
594
973
332
417
653
488
814
991
347
837
735
837
711
912
920
531
904
166
69
984
943
910
503
340
750
426
968
12
332
390
66
883
337
870
418
487
226
360
806
426
310
783
601
414
255
585
9
272
144
91
336
143
714
854
281
945
48
579
748
587
468
522
678
79
447
924
657
797
839
772
639
687
888
829
697
382
791
134
916
420
849
697
243
117
110
134
927
570
566
520
905
315
807
217
260
640
248
559
641
842
960
948
588
516
718
131
804
610
148
428
660
587
484
50
424
339
778
2
955
562
577
688
765
100
158
367
826
863
161
937
889
651
534
927
993
846
604
499
53
991
310
378
759
403
854
879
917
605
955
58
532
221
759
589
140
419
315
840
296
652
889
420
972
64
639
663
147
682
872
466
985
123
271
729
850
281
397
375
394
586
329
240
491
161
322
597
498
501
217
996
802
813
189
336
709
269
133
820
728
575
18
85
927
725
284
3
410
320
70
611
450
771
397
678
845
869
977
480
200
643
934
504
309
468
344
638
91
708
968
261
983
458
958
102
44
521
863
241
477
577
669
875
381
131
231
830
380
608
266
734
108
807
971
736
54
299
806
882
436
933
803
452
502
320
192
831
347
986
496
143
734
103
112
479
30
307
155
493
632
836
322
677
828
699
801
521
533
932
920
899
43
308
303
89
759
289
605
67
750
210
523
824
769
733
846
186
54
345
436
198
399
634
279
860
64
343
756
909
171
591
741
946
766
43
824
747
944
918
376
380
744
81
551
305
263
911
91
892
940
243
707
266
398
384
154
63
778
232
763
90
664
853
540
19
194
921
816
813
7
615
988
955
60
676
177
139
373
756
610
929
489
325
17
308
830
918
33
138
578
708
624
446
929
7
746
123
178
749
705
807
700
304
287
309
687
106
322
669
422
825
566
196
83
807
858
774
943
791
663
983
463
170
254
705
794
258
121
661
399
497
412
734
252
436
915
898
458
119
703
434
374
433
122
354
128
530
77
241
316
384
495
823
670
590
219
916
979
500
874
782
658
493
889
776
106
919
67
405
789
271
634
206
187
505
341
85
401
297
417
697
148
653
851
950
714
756
787
666
540
269
56
375
696
599
314
47
469
803
147
55
356
656
371
474
886
178
87
805
572
874
680
482
3
293
441
392
42
262
760
454
873
60
330
638
379
251
805
953
150
446
658
532
942
627
280
579
484
521
239
169
464
548
327
568
725
694
299
571
836
681
357
343
403
336
915
810
818
336
660
217
991
685
235
926
279
659
167
536
622
245
646
196
660
730
889
476
677
591
503
598
996
987
34
178
676
73
283
58
505
791
682
529
971
94
581
81
886
962
549
900
711
437
996
346
616
167
182
21
311
845
193
735
980
537
894
361
428
907
235
984
935
700
588
607
302
293
394
953
688
801
939
364
899
196
364
736
990
335
80
692
545
309
525
95
36
701
562
47
481
76
44
967
597
626
639
868
584
439
872
442
791
116
721
368
792
389
202
213
629
481
392
197
384
281
683
368
939
482
740
154
661
455
456
380
104
58
283
83
618
758
804
269
771
656
135
679
542
628
386
469
755
419
758
893
665
719
88
147
556
763
490
3
528
144
252
438
210
512
327
981
623
553
223
386
829
894
936
255
4
606
964
883
825
383
857
464
862
506
125
657
764
129
122
247
98
288
672
263
357
348
221
119
297
791
627
864
907
652
800
141
164
462
616
864
728
146
19
571
576
452
912
759
487
853
741
274
336
839
575
338
916
382
325
307
460
693
722
511
584
204
410
971
309
500
86
368
256
918
930
667
834
184
419
156
653
605
11
62
552
16
250
391
306
130
301
973
724
920
994
23
338
874
886
183
965
719
373
981
847
838
206
456
697
372
559
288
421
721
411
158
443
457
939
799
276
982
766
958
550
787
63
872
902
997
823
615
38
476
718
532
938
739
82
32
609
354
539
419
645
176
192
531
991
351
815
230
173
164
110
757
782
691
339
230
805
913
4
576
462
162
687
133
35
507
327
790
186
914
76
593
37
871
405
738
794
114
852
900
837
752
699
255
548
107
101
373
90
9
565
156
42
796
434
541
725
215
656
292
379
626
734
653
756
988
993
729
387
141
907
380
73
822
43
590
667
64
185
857
102
468
968
556
332
732
36
344
176
543
568
564
265
317
445
936
620
925
454
466
902
147
263
223
57
927
454
569
472
928
666
106
437
543
812
818
465
43
209
999
838
341
418
734
678
992
381
400
63
886
402
573
97
227
403
163
95
217
198
100
899
450
517
198
116
580
732
443
24
1000
816
965
580
991
81
912
844
612
706
515
715
409
796
742
568
78
284
866
941
797
706
652
19
192
941
473
410
57
98
78
785
730
678
714
80
770
667
397
451
386
903
570
212
600
388
438
738
394
234
578
434
702
626
834
928
948
657
227
640
820
727
860
836
715
928
536
881
165
210
376
344
381
932
114
235
23
352
849
661
270
9
734
426
21
192
491
754
742
604
52
622
673
321
282
234
974
678
349
915
658
153
920
599
573
221
934
698
195
31
6
891
9
579
233
409
553
262
57
280
254
754
299
816
204
916
78
748
568
952
326
695
476
929
949
894
45
964
338
673
521
32
680
211
95
273
808
960
628
270
858
62
821
723
450
334
939
133
861
778
188
617
602
455
225
369
40
97
410
179
347
556
532
744
388
614
175
351
687
939
945
511
966
496
998
353
81
433
446
43
76
373
660
883
74
915
732
678
248
354
196
846
568
388
723
546
861
840
394
354
971
796
479
533
53
605
854
722
965
465
1000
496
109
30
695
857
34
518
50
954
591
541
604
655
336
201
995
213
814
352
263
783
343
506
363
408
942
420
510
685
220
55
276
684
786
790
774
626
431
472
337
224
787
470
584
931
778
93
870
472
418
757
716
664
380
183
262
240
941
28
501
610
265
261
748
611
747
103
312
41
1
508
149
777
758
527
55
18
441
852
143
439
178
469
356
132
417
949
234
594
816
428
950
296
268
765
812
270
901
820
693
482
51
138
312
315
282
951
102
279
540
660
118
730
981
84
812
175
398
338
225
911
801
957
26
850
177
430
868
718
150
850
144
141
249
595
436
383
441
369
747
430
390
383
108
502
607
937
210
803
864
963
588
311
72
521
507
272
870
112
268
192
785
584
477
502
168
201
208
780
173
971
656
737
293
109
246
976
941
669
771
393
51
32
970
205
737
816
697
83
376
86
425
484
181
733
569
652
261
46
14
670
405
267
294
38
311
208
940
924
733
659
744
193
556
856
475
188
947
968
136
597
640
72
74
493
197
222
430
30
64
980
116
109
816
105
846
808
584
857
535
476
879
418
386
664
348
266
691
339
819
629
878
240
992
536
595
817
490
974
648
764
240
773
278
169
598
700
288
958
792
446
178
373
230
184
36
509
189
84
138
813
799
625
478
944
32
711
957
300
272
389
579
7
279
845
53
16
965
76
184
858
711
448
328
741
173
806
903
433
351
897
99
497
230
991
834
917
914
29
46
254
343
812
116
135
625
458
249
887
570
649
622
75
582
549
48
14
766
763
85
538
246
105
33
542
511
682
369
607
706
477
991
693
252
299
203
658
316
478
715
957
302
471
49
843
507
68
826
518
60
902
253
733
323
510
59
606
694
984
371
808
657
124
766
558
297
562
605
804
194
536
985
412
46
85
793
56
648
688
102
984
471
529
352
64
713
198
34
191
370
423
199
690
962
239
36
646
873
310
357
134
93
130
154
86
287
891
236
340
165
276
308
252
443
761
413
624
582
832
250
321
185
79
957
531
86
133
225
204
919
659
437
67
641
531
805
920
723
130
565
425
800
484
868
995
127
838
389
524
953
327
970
398
867
614
966
148
664
703
131
274
226
763
146
46
920
472
908
812
706
698
97
895
321
775
722
237
799
935
970
273
976
689
588
124
113
33
215
443
232
230
584
274
98
167
574
614
353
530
283
906
261
119
815
497
341
72
702
501
223
177
226
101
792
793
812
837
45
527
98
904
388
96
582
319
418
64
68
738
307
188
678
161
225
637
739
617
384
602
886
421
661
947
852
240
744
646
107
616
387
872
723
430
139
400
758
85
916
720
892
526
77
589
519
210
603
175
25
604
377
359
671
344
595
403
195
348
584
391
269
166
740
967
943
774
644
131
338
309
831
390
556
553
231
284
794
719
429
42
252
83
25
685
911
120
704
979
398
255
854
481
508
492
800
75
157
393
503
759
676
558
758
955
533
16
843
727
418
58
464
797
884
813
239
213
908
480
395
922
766
999
439
251
390
219
279
874
924
645
455
678
945
131
476
355
933
108
285
295
603
109
101
391
809
460
363
696
717
905
501
186
437
614
79
573
962
460
868
828
388
577
109
101
129
546
66
316
92
955
549
167
897
945
892
678
207
996
626
703
697
39
64
360
424
164
510
894
487
680
144
515
472
330
239
222
992
860
736
767
748
860
969
810
165
402
558
863
50
828
509
177
727
448
915
306
727
134
9
163
536
352
552
140
591
18
175
56
215
707
977
210
817
451
13
278
100
71
193
851
624
7
693
982
364
859
352
895
752
544
113
349
885
624
407
236
692
614
502
933
950
795
463
493
913
746
599
893
796
928
531
151
639
351
112
463
567
758
506
91
226
288
667
929
64
679
740
142
899
350
211
488
706
221
885
903
511
181
470
270
174
870
278
832
988
891
581
68
515
852
754
21
181
263
721
895
483
68
965
397
671
521
208
450
221
594
764
221
791
585
632
397
674
117
368
138
817
720
13
397
171
466
941
147
179
164
69
78
227
812
299
985
229
297
402
751
310
751
145
900
876
898
622
661
420
297
947
41
505
131
632
676
497
768
920
643
740
782
576
888
905
467
460
752
515
23
420
197
868
857
736
935
383
671
210
656
753
201
684
876
192
107
691
558
404
496
499
867
30
306
652
880
715
20
322
864
281
829
665
678
863
96
340
597
684
441
517
749
328
629
111
170
169
854
276
499
907
434
427
763
392
394
267
865
41
434
584
579
238
878
598
436
433
902
245
198
344
767
45
161
619
689
148
205
566
621
6
729
682
824
258
863
64
757
368
508
126
405
374
872
689
119
630
941
32
780
453
820
391
310
333
534
350
315
111
239
342
773
125
843
624
778
28
917
527
271
115
562
88
906
751
430
301
881
641
327
722
842
84
704
229
268
186
950
75
677
541
886
289
795
915
477
886
299
506
394
715
323
1
452
986
434
126
26
212
427
176
399
308
709
28
936
489
277
647
86
478
876
75
429
572
147
194
676
28
193
604
423
931
208
795
479
353
95
58
888
351
258
25
971
943
109
622
847
673
467
807
503
955
695
131
799
279
944
92
23
756
853
827
909
396
16
745
34
352
527
54
244
188
77
162
518
865
307
701
735
58
869
754
533
733
198
748
637
940
854
696
732
38
659
895
913
610
57
567
230
937
748
631
302
980
44
20
866
911
789
576
486
474
669
410
781
77
607
968
504
361
457
46
115
303
627
31
916
675
959
362
71
403
857
400
206
337
406
868
563
719
996
257
430
966
861
901
547
712
252
602
909
119
586
176
256
157
936
824
570
894
929
501
380
955
335
903
295
491
272
299
40
391
86
727
369
892
381
533
379
599
534
199
650
372
318
730
208
560
473
306
796
610
682
902
174
745
66
904
723
323
359
379
811
157
406
238
986
729
290
103
618
251
317
695
839
163
570
939
696
139
320
635
717
760
6
816
93
215
665
405
375
502
193
365
199
24
352
335
25
185
116
471
986
995
609
666
284
994
514
125
1
4
51
953
417
822
791
302
320
280
475
686
6
325
896
831
569
801
229
451
206
139
982
617
110
673
806
149
74
331
973
97
408
596
607
994
737
503
945
11
1
80
192
694
161
390
744
711
404
414
268
629
431
883
912
444
64
990
339
38
503
805
917
181
205
557
561
226
389
279
87
433
158
193
962
244
556
454
102
578
643
31
975
348
576
391
434
169
213
684
201
167
479
483
22
780
474
347
162
523
969
83
340
900
324
305
424
874
640
505
173
547
198
867
815
18
694
35
624
728
921
516
309
238
288
70
625
175
910
125
551
4
236
826
784
822
16
514
436
606
219
656
449
273
822
139
773
963
478
603
571
944
111
599
39
594
23
274
774
363
43
870
703
274
939
779
546
964
9
43
962
102
397
334
394
719
526
976
778
636
255
186
845
861
663
669
719
254
263
263
195
362
95
938
462
604
790
134
128
476
355
186
656
515
179
660
816
816
909
62
44
873
254
477
903
169
308
673
319
600
452
447
107
207
807
988
608
85
697
930
390
275
744
101
195
929
88
521
983
293
749
225
726
549
430
952
102
963
700
803
219
892
641
571
786
468
50
715
409
995
633
829
132
322
584
224
708
609
133
218
45
579
345
675
839
419
768
393
62
689
210
40
669
649
588
426
666
87
251
588
591
805
423
318
30
247
370
680
168
661
644
428
73
671
72
633
33
507
469
249
79
241
186
28
139
465
875
740
914
460
27
954
414
466
858
756
823
403
25
406
63
52
892
201
154
602
62
131
227
380
245
126
290
707
307
561
972
993
947
303
809
312
949
579
793
850
25
723
750
152
442
242
763
424
78
75
817
828
373
200
16
375
389
289
344
667
35
621
967
756
689
410
543
752
720
253
808
539
314
632
763
658
505
897
729
334
336
238
548
527
929
149
873
21
146
308
838
92
650
934
790
88
180
497
215
947
628
515
572
764
383
954
927
120
825
522
770
502
261
613
552
608
991
739
360
89
326
499
264
314
939
821
973
345
426
386
986
712
744
31
804
741
658
182
257
546
322
944
32
888
760
573
626
813
448
701
673
835
873
927
911
877
374
686
58
222
585
7
869
932
56
701
703
336
934
229
271
136
634
946
735
476
936
337
762
196
222
919
529
180
974
228
721
784
403
682
453
138
713
846
967
12
310
413
518
717
90
881
391
266
966
385
76
742
310
894
661
584
745
484
558
366
288
1
178
581
193
458
998
991
980
220
456
231
391
508
606
493
67
965
559
233
786
473
87
37
982
500
456
400
881
602
162
595
429
53
102
451
909
244
41
130
883
805
861
805
153
982
398
956
737
153
820
509
433
725
865
418
289
810
679
50
894
445
324
665
805
992
599
181
336
826
936
110
179
38
668
268
508
82
468
52
586
962
644
511
633
647
1
272
890
553
920
346
795
603
924
734
357
408
352
312
976
573
930
774
768
386
359
122
131
319
78
872
645
812
575
773
895
345
468
960
255
81
720
32
585
979
591
286
295
825
802
467
384
846
976
467
559
921
624
385
742
595
796
324
922
618
402
776
873
698
568
585
155
923
343
648
937
679
704
657
679
26
878
344
707
50
590
804
718
404
425
963
469
325
279
981
153
830
113
858
522
520
836
192
197
692
556
545
912
601
318
527
794
895
431
714
716
426
825
418
637
821
745
950
323
995
741
972
318
561
937
291
42
160
670
3
197
729
671
931
480
600
227
890
718
525
371
337
35
618
598
895
975
388
492
403
810
44
998
402
296
569
502
564
215
34
252
321
135
286
371
174
49
465
942
685
942
491
373
85
902
326
98
427
355
687
957
554
291
948
13
7
735
990
434
93
109
707
602
274
342
297
211
161
178
459
900
806
919
402
410
561
885
42
89
423
57
164
185
491
360
482
544
910
464
666
220
183
746
10
504
990
283
322
448
282
837
284
795
102
999
981
516
774
837
686
379
713
663
70
738
89
26
614
612
984
918
956
828
654
418
960
597
694
268
626
340
485
992
52
864
205
846
164
996
446
767
243
888
273
600
806
515
762
575
410
177
627
131
79
136
990
316
456
897
619
244
424
670
420
192
457
796
836
548
84
397
219
464
616
562
923
633
815
655
14
435
903
809
92
209
762
915
6
378
441
881
149
947
825
960
639
122
983
137
770
120
95
989
130
77
216
248
631
471
259
785
259
884
441
855
451
773
368
918
818
20
420
986
391
921
807
743
735
718
934
340
532
83
844
956
865
839
919
735
426
907
909
448
184
513
725
305
199
903
543
579
383
110
606
995
599
603
777
536
569
500
703
156
510
344
593
284
556
46
17
861
998
868
762
802
278
235
257
868
537
986
975
852
514
891
737
159
912
602
394
30
188
82
691
619
367
730
224
6
22
260
258
873
33
989
183
679
74
680
648
894
683
970
822
935
453
467
453
898
771
965
806
17
19
376
458
158
222
617
211
860
171
764
186
483
147
584
846
868
336
99
232
871
974
969
624
787
76
14
527
283
748
355
368
64
218
901
179
742
502
117
703
389
160
372
988
577
533
918
867
756
193
650
47
279
830
443
841
622
703
416
867
504
957
849
761
919
470
257
775
535
273
756
716
598
917
714
805
23
708
203
696
6
7
765
526
197
817
255
327
631
804
47
159
98
140
223
377
549
765
624
769
689
1
670
471
318
77
366
191
630
864
432
255
351
767
111
965
999
560
361
616
560
505
451
935
695
28
971
833
846
94
897
676
935
359
491
498
725
609
126
354
171
842
278
500
236
405
978
806
123
78
332
864
738
493
212
59
721
659
564
299
51
175
37
821
589
517
431
867
417
728
755
500
872
779
514
570
646
341
694
729
53
381
764
102
487
345
824
296
695
578
978
554
162
720
571
328
882
112
409
719
379
720
899
898
310
157
448
91
809
127
682
992
445
211
751
406
20
494
767
412
653
143
763
438
17
826
104
879
41
629
504
866
708
85
501
791
256
522
113
17
19
655
873
849
579
10
112
40
857
792
759
360
628
483
437
423
685
164
394
649
135
223
557
29
579
862
597
358
416
308
501
823
361
263
595
791
393
306
377
763
788
718
105
303
402
771
811
417
605
593
594
167
728
362
181
549
774
894
350
555
412
489
929
535
537
59
513
672
788
390
745
859
271
673
665
345
106
57
603
511
748
418
355
634
953
669
200
73
844
714
785
826
177
629
297
58
830
118
955
246
507
959
881
985
412
832
915
15
920
459
535
10
661
916
576
148
693
233
402
55
404
567
812
152
925
312
946
758
335
60
828
659
177
518
954
464
679
968
598
476
895
555
17
479
625
169
800
883
41
73
631
590
713
576
200
457
729
365
319
725
480
530
732
606
397
496
90
589
838
922
930
170
368
862
889
612
210
498
817
538
98
335
503
331
283
378
767
497
670
349
424
769
263
785
817
680
907
826
8
337
917
845
940
302
7
758
306
878
298
637
625
981
717
986
628
967
959
922
736
285
135
875
462
222
421
105
559
39
331
948
183
554
247
605
575
41
62
197
258
710
740
884
996
597
438
855
820
915
44
486
334
672
764
268
159
732
659
6
958
762
247
100
493
590
607
226
850
625
744
791
880
188
920
389
321
255
552
923
952
274
843
294
324
645
445
863
70
133
118
397
486
436
422
506
568
250
934
457
715
561
253
614
713
414
602
242
357
96
16
233
975
430
35
704
865
532
970
413
430
333
566
120
438
88
353
348
399
959
536
510
795
770
932
264
268
261
315
244
904
606
553
260
185
99
485
388
782
971
33
807
162
565
680
241
515
538
642
109
777
180
771
400
910
288
225
733
451
205
526
625
298
271
291
525
455
335
983
717
610
906
562
890
91
893
274
777
217
50
287
416
648
596
858
703
36
605
871
629
553
714
138
377
801
601
278
465
491
783
168
775
278
372
51
961
913
76
291
434
378
651
513
499
910
468
226
548
892
965
418
443
327
26
978
832
318
675
116
760
849
168
535
161
152
400
774
816
996
171
59
59
276
16
595
114
514
507
193
365
975
64
566
453
671
580
252
735
457
699
876
415
625
448
192
515
623
618
141
955
382
349
517
738
206
744
979
713
825
412
147
332
170
383
182
24
519
136
133
17
705
559
18
285
495
336
387
483
276
233
745
956
381
858
414
540
528
64
83
777
123
266
706
242
4
871
764
313
867
529
693
526
150
450
240
786
583
630
703
272
14
57
271
481
206
244
365
636
549
86
8
584
437
762
469
594
895
146
732
716
571
894
905
443
987
507
693
348
983
691
180
166
276
467
55
47
363
817
655
480
64
19
112
632
865
141
918
875
906
129
177
596
372
317
489
666
426
323
977
963
527
856
294
689
629
12
915
274
118
229
602
765
995
471
578
782
561
678
250
753
359
698
425
458
18
535
988
32
820
749
706
20
304
849
237
551
78
595
445
313
510
13
251
981
752
555
549
758
122
899
976
286
52
884
568
666
174
764
165
973
864
384
95
316
28
119
341
83
913
183
285
497
906
109
760
191
793
520
636
292
617
384
658
715
535
994
168
827
588
34
708
192
612
343
410
756
487
499
620
688
145
9
648
579
944
949
480
406
126
953
297
708
77
522
956
970
36
761
398
344
735
768
387
928
801
294
616
959
433
358
981
105
592
705
406
436
446
822
697
621
331
16
569
77
172
212
955
728
641
94
215
992
955
968
588
579
55
707
91
584
391
404
830
67
803
374
446
1000
882
628
399
839
865
823
617
457
34
768
443
212
736
976
916
379
580
510
902
399
833
447
900
657
749
679
932
489
909
971
191
677
18
710
724
897
650
242
359
951
408
564
794
270
605
864
471
361
747
45
230
645
584
43
618
47
795
805
253
421
953
590
294
665
855
894
560
585
705
280
964
806
699
986
159
669
717
160
369
940
728
267
685
221
415
812
65
159
725
841
204
667
406
110
780
970
246
295
933
324
355
41
88
227
649
795
761
854
24
66
517
244
442
887
195
170
39
886
323
74
106
265
40
805
120
683
309
715
686
686
736
849
98
323
886
536
807
343
540
221
763
154
451
690
154
330
758
323
133
411
4
752
864
534
232
256
534
259
638
332
33
161
985
778
801
961
387
326
306
793
612
76
219
754
534
366
498
565
680
962
259
827
815
14
943
566
51
465
851
528
960
766
823
380
869
599
3
70
619
902
464
70
969
254
801
746
614
716
985
515
294
828
409
352
85
683
369
706
880
107
81
470
451
893
351
201
147
268
458
486
917
89
340
263
81
97
796
977
116
868
846
905
305
625
598
220
414
442
901
393
267
86
964
199
350
405
877
888
228
289
20
919
671
450
665
814
899
905
564
768
531
538
81
913
590
170
304
28
13
734
472
843
153
934
857
897
149
542
132
924
337
678
845
637
217
72
422
913
794
586
694
52
383
921
12
13
970
847
361
249
520
379
681
108
873
9
38
772
69
695
848
586
731
622
851
690
895
761
147
665
68
956
618
394
33
296
54
377
377
575
280
659
973
730
99
349
653
258
925
2
613
170
542
386
176
736
399
908
546
185
193
415
598
787
672
947
629
809
834
286
182
314
488
207
1
787
612
464
274
551
461
905
308
757
13
864
403
405
785
464
573
561
206
704
470
341
78
869
542
700
358
891
965
450
461
793
523
717
509
461
680
922
496
16
136
167
373
856
111
808
219
715
156
74
976
995
362
425
675
151
193
599
66
784
268
774
697
619
621
60
624
528
766
552
668
930
256
745
306
776
161
393
73
531
767
169
571
907
85
100
761
9
968
883
563
783
717
823
406
803
944
224
870
448
273
978
38
338
145
508
454
242
685
506
126
37
265
555
310
7
89
332
788
471
75
997
722
640
772
668
607
362
591
392
40
329
887
742
740
358
666
25
174
577
843
281
277
118
103
498
59
808
271
509
126
776
216
710
832
770
33
999
402
109
525
712
166
34
880
895
518
989
665
616
641
652
15
841
341
516
671
155
274
581
682
471
400
408
624
245
529
719
800
387
374
386
522
624
52
638
40
291
138
954
126
703
811
492
975
316
615
801
374
9
904
880
994
997
730
711
255
254
331
638
60
5
33
135
991
482
711
222
40
480
250
692
426
971
700
330
951
768
477
647
573
483
706
408
812
316
433
786
517
98
438
577
84
407
705
849
798
850
403
362
498
857
391
520
394
831
936
696
984
972
412
44
298
388
288
255
565
812
454
620
675
331
540
214
162
331
416
361
428
614
114
902
847
535
174
128
404
214
82
814
103
784
382
811
414
505
918
521
862
241
799
859
961
500
631
874
710
557
906
558
21
678
215
618
587
633
755
38
797
67
780
818
312
406
177
770
675
35
977
629
33
957
295
887
31
658
969
46
524
855
216
231
535
553
194
435
520
124
436
97
21
687
470
664
660
703
183
717
992
235
106
793
513
821
721
308
70
635
421
237
638
615
297
387
121
489
678
944
137
334
599
700
497
718
852
211
822
437
478
521
296
624
761
890
287
558
414
265
254
332
124
360
510
253
419
327
457
809
551
486
486
100
119
567
313
908
324
238
861
90
246
900
922
589
190
568
857
115
279
933
446
468
46
616
309
524
90
391
934
791
231
400
26
287
860
765
484
66
916
490
500
10
417
53
730
568
111
827
668
799
777
387
528
174
318
24
293
379
513
372
216
55
459
806
5
508
968
160
78
511
116
711
450
824
355
255
231
291
314
431
141
598
791
974
149
567
465
747
725
747
128
906
272
261
366
135
262
85
290
111
216
573
896
989
688
762
962
162
536
609
240
921
929
893
353
434
901
315
787
379
105
78
17
853
945
428
637
889
304
718
924
992
572
531
423
947
733
921
226
73
639
123
790
919
921
615
994
233
766
221
917
257
845
216
800
801
738
24
731
612
780
483
990
526
436
237
245
381
459
649
858
857
433
788
970
717
696
51
733
950
771
840
103
51
144
83
191
976
818
952
804
259
960
935
867
437
635
207
189
223
170
319
957
898
920
25
691
463
534
386
207
744
306
587
897
516
877
695
390
440
255
571
879
308
507
961
487
63
56
263
870
372
633
74
612
322
659
281
788
47
177
967
230
158
381
821
743
254
121
54
349
24
154
218
390
692
304
860
736
161
318
851
941
527
679
59
480
296
90
21
316
804
650
673
612
289
682
935
439
923
937
752
573
950
319
724
717
424
861
277
721
617
580
714
91
503
331
494
962
572
202
335
221
487
16
480
734
552
136
675
421
952
512
323
564
521
342
492
293
125
650
543
876
937
918
192
292
140
57
157
453
220
683
708
460
134
716
746
239
905
425
37
935
587
911
32
110
921
816
148
331
303
887
981
943
571
85
896
215
80
967
201
224
243
387
949
147
287
985
938
749
838
87
640
320
280
422
344
272
929
802
205
72
891
167
589
681
797
271
43
436
160
890
216
647
474
740
465
648
894
289
534
772
446
310
136
866
852
149
473
734
97
25
979
515
721
901
438
702
291
275
731
980
961
541
571
567
799
213
927
229
615
653
996
269
660
536
186
202
513
702
217
236
29
200
896
688
148
262
509
174
903
715
98
457
667
192
229
954
141
79
396
569
660
783
658
74
417
723
835
607
958
500
798
350
182
406
553
562
774
459
83
757
632
270
940
179
656
116
99
787
955
738
661
118
490
751
237
517
361
818
280
875
856
928
288
70
473
788
937
129
874
479
416
665
819
212
715
344
227
932
26
983
354
640
103
479
673
584
263
208
75
361
69
707
762
708
40
565
295
149
755
431
745
85
605
663
158
349
180
661
567
354
508
705
801
565
234
699
565
19
965
630
275
196
898
941
279
512
760
163
243
153
989
689
483
690
826
744
969
363
1000
535
318
490
799
958
470
829
431
459
187
20
740
845
754
902
590
555
882
485
265
301
600
562
641
484
307
530
302
953
961
727
592
413
426
183
919
760
618
547
887
143
696
317
17
105
850
768
2
776
151
732
168
960
410
355
22
657
221
388
158
194
956
57
805
935
421
275
781
199
221
231
124
392
402
530
442
897
32
287
945
836
643
610
151
713
428
580
544
314
86
861
107
272
315
290
673
563
41
840
668
507
940
333
17
456
304
286
623
717
384
268
822
370
88
42
580
431
559
444
501
764
130
925
537
937
677
567
605
511
236
975
473
28
895
386
870
845
922
756
31
898
264
487
99
810
993
224
357
630
567
310
659
509
759
764
277
692
963
848
242
196
430
629
210
603
464
280
655
413
181
509
698
247
540
619
834
896
606
203
802
734
805
625
791
367
591
540
133
294
239
84
626
755
836
924
176
124
757
751
528
207
211
663
536
484
913
253
900
250
124
150
228
92
194
888
986
59
71
481
459
520
689
862
771
855
192
757
670
144
701
255
525
827
524
131
865
799
200
259
660
220
90
922
49
38
828
590
639
210
697
712
921
748
466
10
695
859
116
601
136
979
256
376
284
516
14
581
778
620
816
156
34
286
827
711
167
863
874
176
950
504
220
629
713
134
149
38
153
794
219
400
113
284
810
161
641
825
962
789
601
502
281
378
600
134
309
55
476
259
381
192
722
222
710
87
908
475
62
896
900
316
671
643
328
67
969
291
780
163
645
855
428
431
175
825
215
47
887
971
82
851
105
544
643
420
943
388
817
123
320
485
84
542
308
828
152
888
588
686
231
661
363
769
777
154
55
944
947
729
141
601
663
882
288
47
995
270
587
932
17
225
618
420
755
612
692
958
376
118
686
872
777
203
571
645
642
351
327
145
196
53
444
417
163
98
228
58
656
949
537
389
19
425
66
350
864
654
171
495
964
17
124
948
1
742
986
273
306
663
568
725
565
416
81
828
699
318
677
799
476
330
852
938
822
105
681
837
338
709
531
859
161
660
79
867
560
513
524
589
241
836
652
726
386
553
106
593
525
154
478
308
841
737
291
798
699
416
63
942
423
568
480
203
237
462
596
559
922
354
472
54
815
54
94
783
139
968
411
596
125
363
163
832
344
313
863
232
450
232
815
984
944
908
902
304
282
855
207
899
261
60
917
132
337
39
645
319
627
949
33
490
147
412
396
259
122
834
300
674
662
836
933
356
729
767
400
454
243
728
510
498
735
757
923
63
125
924
129
562
64
309
449
527
752
702
153
987
885
344
349
590
574
336
590
18
359
992
371
85
979
238
973
625
698
907
785
416
290
286
412
578
278
362
22
379
267
386
913
350
891
581
43
685
135
976
548
407
215
743
487
359
811
517
234
605
815
649
561
783
375
683
17
344
462
684
437
80
615
945
438
259
100
429
782
472
550
420
137
554
590
773
844
763
877
259
50
384
811
951
493
103
511
82
427
682
721
668
280
6
89
188
405
491
410
522
690
97
496
417
37
127
208
196
987
4
175
562
498
407
87
700
701
643
986
967
314
366
782
274
230
192
751
874
16
20
493
700
224
553
657
497
829
753
893
801
486
188
820
578
156
347
417
448
918
310
12
894
242
284
918
156
392
228
135
962
964
330
703
986
832
224
123
645
27
716
778
550
316
72
698
336
356
437
741
868
747
934
913
669
505
57
52
872
89
165
832
908
297
744
533
42
563
364
752
860
758
957
479
822
662
291
703
622
69
722
927
333
150
341
623
280
345
501
137
616
328
942
144
474
208
309
14
545
936
473
248
505
377
231
691
140
209
567
916
922
345
199
126
891
799
365
757
236
364
56
120
871
926
614
556
532
462
352
503
181
715
747
611
424
500
158
452
730
908
513
386
130
144
70
244
229
126
72
684
23
347
546
715
33
26
884
358
86
804
166
884
955
360
573
488
545
809
23
820
6
809
295
92
440
809
154
722
85
823
114
436
892
38
955
467
676
408
290
25
674
43
492
908
657
795
41
604
146
747
418
19
231
797
107
482
519
152
117
46
902
816
839
266
548
632
589
585
45
935
805
614
705
601
958
629
751
607
495
203
565
406
644
612
301
139
219
156
767
164
773
909
29
853
60
548
165
566
791
443
649
847
379
766
428
953
126
53
550
495
42
25
269
308
597
530
866
421
940
634
97
690
100
530
84
445
574
449
339
95
312
96
523
159
303
380
201
21
258
728
742
250
185
4
838
77
269
731
197
534
341
323
467
427
299
606
980
959
198
611
432
128
641
94
3
555
668
192
553
173
355
420
844
797
535
265
234
699
538
166
90
614
726
827
46
515
277
977
988
388
79
56
355
585
475
542
961
952
702
58
92
543
535
947
473
293
414
596
412
980
660
120
754
901
659
523
890
628
696
122
538
511
602
385
43
715
78
40
849
949
244
130
854
163
595
840
939
845
633
446
469
864
251
694
403
677
389
457
390
808
569
941
664
720
876
283
779
754
670
251
279
35
263
719
427
772
49
640
723
252
652
229
683
652
642
325
994
169
647
356
787
795
810
182
128
42
879
42
603
179
322
50
202
939
891
976
99
1
180
22
366
303
138
398
322
992
715
746
109
536
215
788
267
997
592
60
463
912
125
329
31
950
458
847
265
712
369
74
64
400
751
832
844
182
32
659
342
593
593
878
620
590
813
869
128
446
584
687
193
191
383
701
594
480
156
111
617
295
136
551
475
811
222
268
504
61
253
223
42
871
542
123
596
134
905
502
755
169
727
882
900
857
515
756
657
168
316
690
464
667
864
483
770
933
847
236
818
840
23
734
380
686
351
913
735
963
572
405
401
701
547
999
276
637
803
533
552
153
483
383
442
839
77
417
752
866
368
194
446
122
372
606
220
840
852
908
46
865
335
202
776
550
196
283
361
876
477
680
645
212
776
229
293
480
201
71
523
801
334
40
54
539
741
405
805
962
686
242
449
134
227
865
321
465
743
694
94
417
311
148
953
512
342
173
453
694
350
597
230
329
785
838
397
600
722
143
140
121
28
304
355
213
754
80
156
268
451
608
955
913
689
445
522
594
422
699
443
575
200
41
671
423
917
595
326
860
424
125
310
826
336
818
631
547
600
271
629
819
871
612
734
792
245
30
576
775
471
436
526
420
208
837
505
554
725
932
926
808
91
961
518
996
986
499
202
944
659
298
230
735
243
955
675
499
430
630
781
818
70
974
810
115
515
809
983
238
758
677
541
401
583
680
114
906
950
568
169
196
425
561
516
216
365
688
88
451
826
800
552
429
908
312
134
880
653
584
627
775
672
383
116
477
601
343
350
54
310
694
354
288
780
427
916
854
795
340
115
991
397
822
720
898
154
810
70
201
464
717
94
372
888
993
728
961
835
417
530
170
759
591
484
541
707
844
437
589
389
650
947
66
755
785
490
677
55
596
809
621
897
530
249
542
720
646
4
220
306
52
113
758
558
247
494
414
412
284
96
486
510
646
928
102
816
799
697
283
494
885
501
364
406
612
611
953
880
10
848
500
153
866
266
184
348
167
148
232
981
410
643
175
707
202
798
411
132
996
346
465
869
145
876
693
230
547
315
923
189
852
124
967
344
801
252
402
320
838
141
577
305
35
745
724
997
391
929
941
154
306
122
472
154
772
739
395
180
699
9
968
807
944
764
573
561
142
206
175
374
413
415
812
157
922
874
348
911
474
427
975
502
777
428
75
804
371
395
874
862
648
932
975
807
609
340
190
616
681
805
486
981
277
306
931
646
929
673
219
791
525
135
135
223
869
539
79
325
59
711
184
57
330
504
370
167
568
342
583
408
321
572
820
460
928
223
304
948
574
620
507
705
491
200
816
138
161
76
821
930
126
58
13
498
339
831
969
556
299
634
647
955
233
909
209
664
275
794
308
109
984
584
907
490
702
189
34
377
907
789
22
148
523
6
247
281
372
416
731
131
481
242
736
145
282
373
793
427
132
469
649
926
735
848
109
504
453
605
960
514
420
682
168
419
853
889
599
886
604
851
855
488
734
804
645
461
323
960
160
856
272
420
360
624
235
992
938
535
947
262
553
837
344
432
987
291
400
361
843
948
460
935
317
616
173
39
18
516
53
831
900
371
991
696
174
529
419
11
840
147
888
499
811
63
288
461
560
149
968
165
769
58
691
498
129
55
205
19
884
397
761
836
51
349
77
795
830
678
623
738
927
492
65
99
918
697
753
559
403
251
739
307
809
926
294
624
993
398
196
59
312
456
735
876
960
474
502
426
194
576
764
547
917
506
143
308
646
49
929
703
4
865
374
74
250
337
955
653
557
758
865
879
789
415
559
786
994
274
503
752
123
811
138
775
785
624
326
149
259
319
672
285
593
1000
823
411
587
84
990
939
602
467
562
752
818
257
836
126
151
336
804
360
128
774
226
444
571
999
938
398
762
52
688
784
568
699
911
178
583
90
679
375
241
185
560
565
468
458
659
367
85
775
502
29
666
179
440
165
582
366
288
461
555
508
501
972
203
384
596
275
978
362
669
997
66
931
579
823
618
188
421
991
286
275
582
815
930
369
396
450
952
827
939
15
994
396
762
514
154
91
521
841
416
722
902
261
669
352
380
727
612
709
969
621
148
705
138
783
28
403
255
890
567
590
763
169
611
114
178
278
480
985
664
479
323
346
948
713
647
95
680
208
142
102
597
215
876
172
22
126
162
756
224
975
9
756
670
752
283
911
660
166
653
54
176
203
856
725
923
363
554
977
851
347
601
146
949
312
685
525
794
152
242
571
663
591
399
685
676
358
445
398
494
323
552
39
179
791
172
985
249
768
396
582
147
73
584
720
738
763
276
987
526
893
196
941
560
831
80
963
894
118
850
777
721
949
581
447
484
439
771
40
732
131
186
670
556
741
405
194
441
485
884
155
3
738
92
77
495
922
111
875
173
308
797
409
395
333
757
936
521
533
507
44
373
440
325
88
187
564
302
663
381
96
556
640
142
261
50
718
171
951
307
402
840
565
248
766
560
451
876
131
582
717
973
250
36
44
906
221
396
326
762
450
39
163
673
2
833
591
781
150
707
633
159
869
15
601
310
347
612
506
241
477
242
105
485
783
356
805
164
577
461
745
189
753
190
223
105
824
288
480
88
353
498
943
414
638
577
500
891
813
196
325
22
519
748
937
682
780
315
99
342
781
577
101
905
620
275
182
720
771
506
290
740
312
486
313
391
720
594
658
968
733
142
89
285
325
670
349
121
904
751
663
500
909
555
679
591
945
191
791
56
326
498
762
33
883
646
66
346
145
495
102
455
822
491
22
365
394
665
833
366
551
630
649
905
298
69
115
94
901
130
271
153
326
27
820
219
821
938
377
76
948
802
345
504
993
732
376
480
192
261
934
330
293
899
464
733
481
364
385
983
485
926
755
183
868
474
288
993
463
248
265
651
795
666
70
394
264
785
144
399
968
820
942
415
846
588
861
193
731
228
868
479
708
213
911
524
276
685
64
485
220
214
63
389
225
591
303
888
437
554
27
979
592
430
463
512
483
307
861
876
616
380
167
417
476
364
952
798
473
455
309
466
831
561
867
110
3
304
872
477
722
28
960
294
558
666
666
604
814
973
430
81
924
538
643
11
753
253
940
658
897
759
614
78
190
312
352
748
154
933
361
423
721
18
798
229
595
267
397
668
872
175
799
236
880
920
710
349
808
23
957
293
114
196
575
279
351
493
513
780
430
697
616
460
899
718
175
652
494
190
665
149
752
409
32
428
815
911
547
44
707
531
408
453
78
97
760
414
21
636
869
249
165
569
329
551
355
514
864
632
58
996
685
969
727
71
527
34
76
180
899
239
226
849
975
260
991
525
156
604
521
941
540
951
354
97
731
665
13
142
977
445
473
495
694
495
257
153
109
624
119
746
22
140
118
631
506
212
499
805
51
351
249
911
1000
186
695
63
230
96
448
968
248
221
680
407
65
893
12
241
101
329
897
319
308
11
782
880
338
928
472
185
291
281
714
674
92
474
351
145
441
282
51
724
718
522
931
726
875
724
382
826
217
803
264
899
643
699
333
82
822
904
848
747
229
341
408
587
380
186
394
731
124
483
337
152
866
9
5
144
385
824
525
838
10
273
92
729
915
916
659
450
173
889
964
324
687
201
751
433
218
877
382
824
544
982
312
331
9
46
537
439
388
787
768
649
717
266
882
150
595
934
305
294
662
577
434
353
388
122
47
970
544
460
710
432
8
734
708
739
721
289
308
903
70
453
874
536
507
491
531
212
35
802
728
383
465
709
924
543
757
988
698
870
853
757
585
919
117
583
888
300
571
292
165
408
929
305
611
504
645
474
607
147
686
987
910
30
315
220
662
952
151
185
949
356
119
274
465
828
615
633
473
908
588
961
511
971
808
12
961
80
965
921
836
589
606
287
601
481
483
93
92
936
326
426
701
315
809
586
223
570
70
625
239
860
939
721
384
591
674
63
341
249
97
702
88
587
864
53
779
422
691
715
860
779
59
675
471
833
936
550
465
98
582
674
578
934
142
31
894
676
889
662
122
575
977
336
238
620
891
401
676
641
292
950
241
284
998
98
198
70
621
765
786
392
340
422
54
607
242
547
136
513
78
816
151
474
718
469
186
390
214
780
321
1000
339
179
243
326
486
320
965
247
204
910
698
427
633
292
417
367
727
365
302
756
752
30
941
759
301
30
794
254
982
586
763
681
860
992
299
418
7
902
977
383
391
7
962
184
152
185
217
874
343
602
865
705
828
833
381
774
180
765
379
392
423
41
247
980
668
296
95
701
972
100
287
988
538
845
801
934
335
608
309
587
859
322
315
949
518
70
826
795
102
287
738
970
503
798
381
210
296
396
806
258
59
984
672
204
764
945
645
769
229
977
167
979
858
727
561
827
140
13
805
941
194
842
502
182
766
889
21
807
151
642
757
127
41
668
966
76
309
365
171
653
966
417
511
100
496
74
663
275
303
585
294
379
644
86
499
684
794
797
148
733
504
107
62
109
288
532
991
653
385
451
341
836
24
556
106
76
3
496
969
680
192
228
717
453
56
879
411
132
336
175
731
614
203
816
971
390
319
110
593
452
871
435
315
802
775
191
885
738
762
937
235
441
382
302
189
76
262
608
855
970
369
165
149
406
954
151
423
176
745
542
400
619
113
774
653
647
151
333
583
721
344
43
260
898
570
993
718
638
750
468
874
622
511
480
734
349
59
277
300
64
916
211
933
153
893
458
522
478
838
667
710
278
615
382
652
389
493
949
861
475
851
242
580
500
523
279
689
548
190
360
811
910
442
208
279
142
226
426
884
96
4
432
45
140
844
232
441
360
581
389
657
754
834
376
34
279
241
671
580
633
611
888
726
797
891
799
898
732
708
105
297
730
555
580
119
671
341
10
33
873
295
713
172
972
723
17
322
198
111
567
312
567
879
869
842
940
70
303
970
932
805
480
147
462
611
369
283
482
138
520
336
363
184
817
393
573
989
6
4
824
372
863
659
671
516
689
334
221
430
89
137
668
157
639
815
820
897
374
738
467
254
52
332
578
181
228
716
140
41
787
581
547
70
89
435
878
926
512
314
987
647
583
997
455
384
619
332
594
963
358
976
498
296
669
647
900
478
708
981
982
564
702
794
911
458
228
981
731
429
578
668
490
146
245
290
761
887
849
721
115
867
721
156
571
972
59
863
336
640
521
548
205
246
143
24
2
483
208
889
748
385
39
990
189
16
712
36
144
402
43
950
270
893
974
399
969
297
113
188
876
109
747
744
382
860
203
926
251
889
373
842
261
403
708
857
700
752
387
863
927
189
93
145
974
266
822
376
515
531
417
217
693
781
535
92
641
722
157
780
281
482
539
819
943
408
788
808
995
226
451
11
89
494
335
644
989
545
229
150
390
156
56
670
437
914
252
466
898
47
780
81
843
123
72
199
980
508
551
906
295
111
172
398
287
90
403
530
480
894
726
712
776
194
868
478
707
32
129
879
907
789
615
122
293
798
168
226
375
208
491
804
320
697
14
2
773
491
327
21
496
892
233
347
494
49
350
171
960
223
882
405
60
295
214
310
551
290
959
464
765
238
229
862
335
512
746
471
835
943
342
20
724
744
916
226
581
183
338
877
710
847
925
509
738
152
990
722
592
542
625
77
636
859
572
868
276
725
892
894
392
523
61
406
135
753
190
723
191
433
191
301
22
486
812
520
455
435
39
166
411
447
364
353
921
719
734
994
19
244
899
216
423
723
504
634
924
952
363
443
818
166
581
847
825
53
268
655
502
485
414
364
459
643
29
264
218
776
7
27
724
653
385
542
660
798
889
173
310
398
273
173
254
373
45
399
88
475
677
633
700
782
483
605
135
952
976
483
165
802
986
300
497
65
440
507
731
589
879
246
658
791
449
451
688
545
624
157
731
943
94
440
525
755
286
757
518
677
987
903
372
254
469
524
313
779
948
180
293
873
756
134
385
238
887
118
97
779
145
330
735
864
757
591
819
357
362
487
783
651
242
191
181
215
91
439
850
669
337
998
242
488
148
353
983
903
519
923
490
351
744
67
175
993
495
313
703
98
769
40
643
273
834
79
878
837
569
555
965
492
987
570
383
15
338
520
549
703
497
701
611
704
217
174
428
777
967
351
602
963
356
538
519
682
850
986
768
25
714
161
273
344
212
793
664
647
583
219
661
707
169
201
361
443
931
792
980
632
810
324
995
430
308
191
225
657
402
973
845
443
34
285
877
808
824
608
593
462
423
339
157
715
540
897
714
328
700
988
995
897
952
605
873
720
286
440
433
604
820
548
520
100
65
203
782
368
86
316
827
518
580
348
218
699
270
642
713
267
615
265
217
485
909
335
164
202
944
302
255
907
159
335
490
617
113
690
799
611
716
787
390
592
619
125
49
19
63
268
848
548
878
567
889
896
829
352
839
166
25
38
225
352
132
834
409
3
571
382
954
585
452
774
497
148
411
206
980
841
211
54
96
633
659
350
695
344
86
939
281
517
608
680
11
403
313
720
70
79
971
816
760
317
670
209
813
953
213
324
944
251
690
126
342
402
892
172
806
600
653
912
91
692
519
271
508
882
536
801
532
652
457
678
878
764
253
516
512
885
585
179
241
852
920
552
293
333
835
815
728
700
535
192
798
179
506
313
594
45
451
839
630
591
861
7
974
629
142
473
294
244
485
669
448
334
788
120
858
740
462
625
662
378
825
938
476
763
107
79
326
187
621
599
142
785
466
799
389
324
120
274
236
877
598
469
967
348
839
175
455
398
991
595
382
283
971
928
329
239
630
598
935
533
506
365
566
696
167
629
332
790
937
871
134
521
172
53
121
575
930
566
562
656
272
80
403
580
894
797
180
447
554
133
517
70
380
862
280
738
472
238
967
426
485
257
971
391
495
660
926
635
347
180
41
496
232
663
810
931
575
671
90
889
619
965
919
474
114
740
950
808
225
943
748
962
552
331
612
516
930
260
760
527
739
967
75
477
869
774
339
296
785
958
123
897
183
428
833
981
489
236
330
793
571
624
845
363
161
709
714
353
245
179
945
260
635
429
422
415
77
807
55
303
738
359
181
551
73
163
538
259
366
413
412
860
174
193
443
990
600
467
518
484
716
969
106
288
892
624
23
666
73
710
414
124
777
909
17
997
975
381
286
38
270
886
570
580
337
533
460
161
269
401
769
784
386
311
357
628
78
921
212
544
750
785
447
622
737
260
961
907
175
724
756
656
314
559
149
813
979
529
521
359
952
423
134
768
684
91
281
593
825
861
947
276
782
27
998
739
231
283
794
266
762
458
888
369
904
99
389
603
162
30
686
130
703
298
91
510
41
741
502
678
261
124
718
324
278
898
867
266
691
245
376
999
11
707
371
696
465
763
303
97
625
116
952
198
954
762
955
151
295
749
649
673
558
967
132
207
691
927
743
654
691
359
887
445
311
489
873
259
22
68
477
3
521
269
323
658
520
783
822
324
501
186
119
541
389
560
442
15
455
603
909
264
853
637
356
426
941
32
522
908
796
857
131
590
35
199
776
329
38
873
342
567
38
672
725
82
474
117
275
816
857
961
999
532
902
768
919
194
710
90
676
422
880
566
934
734
184
366
653
874
444
561
195
899
332
473
531
153
832
92
266
966
961
572
948
304
62
54
649
788
84
563
761
179
550
479
460
96
300
157
24
120
425
695
790
997
764
266
299
630
212
385
978
683
175
581
10
878
125
759
879
21
350
895
479
192
943
419
229
718
711
697
440
136
338
733
572
767
137
513
950
256
769
866
859
873
19
160
977
687
191
601
410
984
135
210
234
642
500
800
544
79
105
138
438
16
911
29
182
516
652
354
436
91
501
287
388
229
67
602
655
2
824
394
409
52
819
676
753
593
475
842
76
80
796
441
254
823
721
721
239
160
485
651
818
619
794
263
188
866
343
245
980
193
161
354
729
933
75
570
818
421
573
866
489
383
978
194
455
391
378
211
770
202
576
245
94
429
267
177
701
937
272
962
95
905
244
970
350
396
393
973
5
983
968
57
157
346
655
654
806
230
738
803
631
340
311
288
719
527
175
824
365
312
566
751
401
192
57
355
14
76
177
68
730
721
385
453
913
345
583
936
441
964
5
40
465
862
847
370
210
726
871
192
724
282
853
304
759
876
759
455
832
461
417
43
289
26
930
270
922
94
752
649
617
399
183
765
514
53
55
227
382
591
912
249
377
231
371
788
59
33
300
914
963
760
438
737
505
355
644
802
152
879
149
119
932
52
576
186
511
173
641
855
413
117
76
869
849
243
276
569
281
269
30
518
509
541
128
787
884
977
875
274
78
250
536
615
141
597
62
150
857
434
758
211
926
724
918
39
890
928
123
410
650
967
598
967
543
842
698
102
594
950
492
6
627
976
597
957
854
670
962
23
160
131
332
190
318
457
436
416
667
547
394
110
736
435
787
96
128
800
852
450
234
261
616
85
759
783
714
423
694
467
794
219
794
604
497
770
609
378
973
228
110
151
548
768
368
772
73
325
962
428
777
635
514
787
777
895
416
365
635
285
824
418
103
429
226
576
510
76
865
96
729
492
834
123
627
838
796
652
809
635
909
221
602
423
187
426
135
876
627
177
592
462
694
148
634
461
141
106
247
157
84
507
260
857
609
996
883
509
677
323
628
176
699
480
730
970
878
607
262
948
383
852
757
157
604
1
520
801
732
577
381
875
598
429
735
36
872
931
5
616
151
18
227
42
813
13
636
613
805
645
256
458
311
991
865
934
55
956
473
664
226
742
113
250
401
898
51
644
740
520
12
915
450
138
287
233
769
955
307
797
824
165
792
254
26
823
984
23
894
682
506
113
137
366
65
949
119
270
781
180
624
751
717
759
295
40
821
869
787
160
17
103
26
204
951
93
29
323
587
604
794
118
142
304
394
214
228
554
397
868
572
488
918
64
50
257
130
346
435
515
708
154
594
987
937
205
178
235
834
694
548
344
776
796
934
602
967
813
104
604
314
906
27
807
766
645
85
457
234
686
539
861
969
724
47
888
656
203
612
844
35
313
127
558
501
91
945
44
296
157
825
513
591
485
756
365
535
146
885
221
666
210
966
18
456
106
553
426
859
707
653
375
365
23
670
458
338
406
199
634
589
439
482
101
910
955
587
635
932
821
248
519
678
415
75
284
910
187
121
908
337
970
574
954
610
544
125
721
437
820
552
289
747
657
92
200
390
93
388
887
352
754
159
96
22
988
296
267
721
814
50
748
959
529
869
885
630
673
272
646
251
301
158
386
273
927
732
27
732
241
635
678
596
362
57
806
974
511
457
234
72
916
632
419
535
499
243
345
87
572
250
692
280
345
668
970
946
470
824
240
67
120
230
483
351
165
50
471
192
57
639
8
705
241
331
712
220
809
68
951
230
290
804
392
595
215
150
904
813
662
626
738
112
869
528
934
230
68
933
651
510
716
531
277
579
266
737
429
387
618
776
44
135
5
938
309
26
620
353
705
26
418
780
718
106
365
993
187
173
219
417
444
360
322
977
298
510
924
990
133
484
480
67
878
679
675
349
808
491
38
11
940
333
956
35
786
277
385
565
754
741
31
830
316
370
28
282
848
398
36
134
956
560
48
552
506
493
401
255
437
244
654
270
124
913
962
321
888
138
54
547
1000
741
643
999
287
328
1000
386
794
780
705
430
549
833
341
912
542
370
213
47
379
779
904
416
143
985
854
638
46
537
519
826
738
139
581
31
214
990
783
899
713
683
362
379
472
738
163
655
159
491
873
364
353
152
741
260
598
657
28
955
240
126
562
85
534
902
898
599
173
251
911
826
40
311
589
848
628
38
925
631
753
571
376
859
700
959
930
9
787
121
868
975
819
875
513
343
950
735
986
334
7
724
384
237
368
861
135
425
336
322
447
506
360
942
293
433
906
501
678
293
813
92
311
846
492
993
638
543
141
498
397
375
219
304
395
128
463
270
363
57
623
352
270
547
130
776
22
738
492
4
438
752
681
823
44
908
775
419
585
10
703
766
616
1000
761
534
763
652
593
531
783
343
780
916
629
740
268
308
683
532
589
996
497
655
752
839
443
525
683
123
314
866
461
494
273
844
803
887
9
766
586
439
726
648
314
94
906
233
932
660
902
93
904
642
767
801
267
199
40
275
49
627
636
862
779
157
285
693
203
131
677
886
889
587
988
325
731
657
654
438
509
18
604
441
351
904
604
821
235
189
348
698
328
982
416
172
587
746
262
730
760
719
917
118
803
345
363
516
884
598
144
755
624
90
28
749
798
802
831
798
939
34
634
993
576
18
148
300
742
816
486
603
811
699
854
852
956
923
618
439
401
738
801
943
216
323
689
478
900
638
207
826
141
151
174
876
461
199
703
960
457
618
359
538
113
782
87
970
105
288
669
19
194
838
192
361
34
610
657
256
946
352
952
133
811
3
245
393
881
713
404
858
352
916
448
725
447
840
310
599
696
573
866
780
547
845
329
195
320
458
276
600
581
410
428
945
217
513
59
632
969
396
86
627
723
103
678
424
154
315
438
932
928
55
97
33
198
912
845
976
230
741
714
679
380
716
156
652
149
877
721
747
80
120
579
156
751
799
933
498
469
944
640
788
750
409
307
324
430
638
266
42
230
274
189
564
493
140
689
692
902
414
611
221
396
586
817
696
47
540
406
469
640
789
126
775
800
160
612
936
166
495
400
126
885
853
762
617
521
405
24
784
252
131
788
60
396
461
693
600
491
826
75
96
198
80
512
891
364
558
66
961
722
202
543
881
227
829
655
557
481
80
889
190
206
360
202
329
886
928
83
239
614
634
50
426
297
857
921
664
479
75
487
139
747
708
480
540
877
186
429
543
52
386
532
762
931
500
154
299
31
35
718
264
244
259
94
263
768
105
566
693
751
72
484
796
279
54
248
354
665
79
550
195
468
143
165
525
984
364
752
150
135
359
838
129
799
38
176
199
46
490
757
640
371
647
199
536
872
866
889
155
297
951
466
551
40
597
319
498
710
481
337
153
411
151
390
818
156
169
955
150
787
716
757
344
790
395
143
31
55
608
925
889
82
801
288
854
870
326
26
22
649
627
803
781
849
889
101
72
320
541
735
994
305
380
393
605
683
461
117
556
766
948
91
903
869
744
421
687
106
771
336
450
926
375
860
303
139
358
779
330
793
35
288
26
864
154
980
34
457
594
417
778
587
436
476
146
620
444
233
305
267
450
374
915
299
20
929
619
688
344
970
627
380
616
301
483
33
549
45
961
706
377
349
661
281
206
527
573
397
342
770
417
48
926
782
597
44
658
849
175
881
543
312
940
533
644
24
874
848
47
897
685
613
257
776
304
847
526
896
743
365
374
951
832
891
518
459
962
618
461
48
197
584
140
651
742
584
973
876
217
628
647
460
390
567
122
247
531
69
171
829
687
130
136
625
841
627
449
200
486
541
170
294
70
627
619
726
992
872
666
3
49
802
803
794
608
236
306
953
688
508
172
785
580
973
167
347
998
650
183
888
390
316
423
792
519
693
542
527
245
8
322
250
543
879
761
639
102
204
848
798
498
835
724
704
188
866
965
351
34
651
177
73
9
258
472
696
369
361
493
248
637
901
10
200
940
204
703
975
612
436
674
271
769
173
477
158
362
766
966
825
543
742
824
949
684
835
193
802
162
987
221
559
918
875
214
87
389
887
507
921
355
3
88
777
192
186
138
999
957
244
133
570
967
574
167
302
408
792
441
580
741
946
905
474
796
83
191
112
16
149
890
575
278
957
243
19
565
541
303
608
43
396
481
264
62
935
384
149
976
387
447
254
962
897
353
23
367
120
91
920
816
697
471
489
58
404
681
340
213
890
590
185
144
692
586
232
948
705
813
84
489
752
763
815
907
544
362
651
758
605
624
236
687
204
601
23
840
293
572
538
691
652
898
412
476
423
401
84
196
736
625
260
518
237
784
655
961
109
483
779
311
396
100
397
850
420
446
512
551
143
345
266
56
591
739
672
261
989
399
91
90
287
877
203
866
887
695
965
866
346
429
439
317
665
658
938
27
998
612
65
325
164
87
498
486
126
801
631
338
187
961
550
266
254
629
669
491
478
83
52
109
678
377
337
144
345
424
228
287
161
590
212
165
422
417
169
637
708
61
257
607
513
431
753
962
773
411
112
287
745
862
16
290
500
442
168
33
95
667
387
815
197
451
501
694
242
47
360
988
812
278
519
932
257
392
717
106
631
543
44
825
975
585
107
721
406
327
902
962
87
570
130
9
127
448
384
485
865
271
493
951
125
172
797
697
457
464
977
735
559
950
357
580
960
418
868
590
353
700
471
233
825
875
886
578
875
36
885
970
627
102
444
73
793
951
14
71
875
412
906
701
185
177
603
530
121
847
721
275
198
745
705
955
253
361
450
28
21
220
159
453
289
176
51
428
405
322
173
448
432
601
730
704
800
277
392
4
499
688
912
13
476
437
556
239
581
277
80
812
334
626
23
649
986
818
267
292
102
341
830
382
815
194
179
87
522
502
798
818
123
44
93
13
845
461
842
270
676
768
576
516
251
669
423
300
334
162
658
430
434
863
317
136
94
335
391
786
524
689
760
895
833
278
517
571
692
122
331
305
527
360
224
209
355
475
360
173
340
858
597
641
929
966
916
730
498
193
394
448
441
428
948
431
577
399
881
443
372
541
418
552
240
823
214
78
106
79
390
961
863
359
697
893
140
136
913
225
822
731
61
632
438
146
689
527
844
397
708
263
539
997
27
648
86
461
978
742
166
335
905
838
149
20
781
545
509
978
554
409
223
41
287
10
49
381
541
966
617
662
607
203
165
582
632
890
717
17
417
33
564
568
953
710
462
292
253
114
289
712
496
824
378
363
347
367
924
860
384
131
735
976
571
309
659
532
860
379
992
608
505
332
715
680
262
198
699
480
89
999
869
181
586
965
842
611
106
696
869
48
970
728
793
29
237
434
523
303
349
298
876
830
698
949
646
147
49
730
303
255
178
34
552
411
547
925
381
759
299
793
299
643
460
66
994
386
443
2
161
608
973
902
909
444
429
927
301
722
653
724
538
922
95
947
693
274
183
395
946
699
388
532
651
546
364
240
819
883
842
477
233
269
624
505
8
699
993
942
990
915
55
439
96
266
201
80
728
550
416
660
623
894
103
687
519
826
825
879
617
79
279
761
437
869
36
16
245
650
555
490
144
832
455
220
770
782
801
841
408
954
334
707
540
475
738
905
961
428
773
715
387
700
742
787
997
506
97
326
618
74
250
95
391
159
834
625
14
909
458
75
906
809
979
713
823
190
235
707
353
324
121
851
451
324
502
381
864
596
223
441
282
773
630
120
879
646
344
949
857
895
262
149
685
670
685
418
95
319
974
298
682
306
275
406
583
709
124
70
367
258
69
960
347
268
817
124
232
552
285
430
237
124
478
810
428
975
445
848
275
32
184
937
526
801
435
894
460
128
605
503
530
57
135
438
842
913
634
856
403
764
331
623
879
196
75
560
280
453
535
851
665
511
306
292
141
963
60
366
496
864
45
74
635
40
506
489
15
957
713
947
998
939
838
868
133
53
949
229
819
417
301
30
541
668
515
867
335
45
670
163
176
341
444
85
64
316
574
127
218
60
415
429
747
814
958
812
603
231
810
581
321
909
250
951
197
420
393
795
542
303
697
377
202
513
638
334
952
221
558
40
686
886
733
262
217
461
33
19
599
53
602
98
158
206
229
756
857
135
880
40
346
685
649
630
198
256
675
239
815
375
526
192
127
470
961
262
301
112
80
403
429
593
897
98
501
227
721
460
686
582
45
955
348
415
255
113
761
62
228
616
364
482
822
570
596
821
270
197
116
613
493
274
388
215
617
150
461
852
32
811
482
326
131
346
45
250
825
768
387
818
77
473
67
253
486
351
111
146
606
855
429
852
517
20
914
473
549
272
505
674
800
589
455
452
560
667
694
953
253
123
761
557
276
131
548
850
504
572
552
970
146
266
659
681
926
373
399
960
942
514
822
995
701
725
324
756
268
100
998
606
266
686
340
751
859
128
292
111
907
873
116
887
426
545
694
131
735
178
8
585
927
161
764
538
844
198
839
103
1
63
739
859
88
353
340
795
593
596
571
634
562
789
444
927
935
49
453
790
458
339
701
307
49
66
788
396
149
413
275
269
290
656
320
944
54
989
402
934
24
219
98
748
137
416
282
65
326
31
766
374
294
927
339
797
507
403
314
763
797
806
404
810
11
343
281
557
160
690
574
530
99
307
80
622
192
684
241
867
599
647
41
243
711
84
125
944
669
874
359
679
18
589
102
789
449
393
29
841
945
373
128
952
525
770
678
738
752
50
826
830
616
232
840
222
651
688
78
247
334
825
522
950
230
959
420
593
162
373
715
938
104
240
590
383
97
387
598
564
522
436
45
666
831
180
324
945
769
850
888
477
802
782
960
915
918
350
985
353
422
352
358
509
830
192
219
449
641
396
480
167
334
885
38
316
923
706
127
638
312
171
860
493
501
449
614
153
388
732
234
527
175
998
331
573
642
614
851
424
287
297
303
695
361
5
981
441
390
582
48
550
243
136
741
822
624
675
163
70
505
898
35
478
751
355
359
41
740
52
730
424
755
788
298
595
531
993
721
328
676
1000
415
510
331
797
832
125
749
9
83
438
868
2
216
879
593
448
461
715
640
615
638
563
586
331
347
344
675
631
815
52
797
508
106
488
464
749
790
973
451
7
691
648
343
345
254
847
337
466
926
421
368
92
471
234
404
766
431
362
765
184
797
308
947
35
747
658
123
484
450
128
270
437
798
376
701
45
764
690
885
329
964
993
35
996
596
133
373
928
901
885
95
377
653
942
999
263
477
805
900
166
87
225
827
59
388
984
289
630
711
859
906
692
624
743
772
632
122
112
43
737
809
56
815
205
270
713
700
389
560
313
581
742
134
157
174
738
758
839
817
686
755
39
757
626
609
999
424
392
960
237
201
682
571
161
565
886
470
607
72
241
740
782
74
728
767
575
797
877
234
394
356
766
286
938
257
365
95
359
785
284
723
290
656
619
822
896
57
349
965
599
162
809
624
467
167
433
318
752
947
653
492
617
219
810
674
451
349
164
885
20
834
333
747
872
315
237
508
677
491
655
906
279
697
423
939
617
28
887
148
362
534
73
93
269
917
965
495
121
521
84
517
741
600
464
605
253
650
327
943
556
1000
202
863
835
314
941
485
748
341
556
179
746
567
388
297
936
248
529
797
991
741
140
426
408
589
185
184
108
875
262
274
860
536
29
22
238
343
752
829
515
970
706
767
194
354
829
119
271
369
595
725
70
997
217
820
536
964
770
812
454
401
648
325
763
536
664
169
408
604
167
891
379
937
621
492
614
13
981
270
949
346
650
439
853
456
75
341
76
876
184
14
598
565
364
539
187
492
498
750
895
600
446
103
140
628
85
773
957
576
101
19
845
886
671
17
894
645
978
303
468
288
14
79
843
926
62
444
296
715
209
344
649
184
781
104
805
50
347
691
728
773
636
438
355
769
36
82
209
753
408
632
126
928
384
662
525
677
67
502
979
602
437
480
616
396
173
480
746
125
98
555
627
126
366
618
15
915
593
226
585
132
530
996
463
625
355
369
968
410
201
496
652
484
80
67
756
794
610
579
51
93
291
714
9
858
674
657
786
20
729
403
303
610
313
135
626
143
309
521
49
360
442
211
311
406
317
919
661
18
394
803
441
480
23
327
984
708
347
664
621
574
721
181
248
881
57
122
516
901
811
814
204
269
464
795
665
935
950
54
204
142
531
395
791
17
305
815
862
851
118
72
715
766
853
189
182
482
347
408
465
718
582
285
728
908
560
99
318
805
170
342
648
472
213
74
833
659
308
618
367
418
902
243
765
927
416
330
361
804
783
677
74
546
180
267
620
328
707
704
277
901
176
739
180
107
688
462
177
84
366
237
760
453
800
150
210
318
976
464
465
147
128
11
496
51
106
1000
349
618
737
712
323
896
501
762
614
85
118
548
384
329
921
192
982
30
906
446
107
91
754
70
20
620
939
698
749
593
1
945
673
265
545
952
766
164
603
243
467
607
649
163
261
144
179
576
986
329
616
504
86
880
433
486
94
462
681
352
604
293
636
452
640
866
992
806
204
368
63
27
295
959
499
636
321
395
801
812
462
367
860
526
5
568
889
232
105
272
755
207
48
635
710
38
190
895
791
149
981
119
280
935
350
192
132
133
694
179
161
968
443
827
727
842
234
216
380
958
294
151
56
590
634
909
345
895
953
60
343
117
906
222
41
638
275
15
426
517
521
153
85
394
662
74
95
271
37
49
337
18
806
959
672
227
869
987
155
607
853
2
227
621
580
629
150
555
223
317
265
384
731
567
648
424
431
127
29
845
571
542
538
248
589
294
569
570
197
608
495
17
323
798
430
910
941
613
484
499
179
786
837
586
33
654
197
346
838
277
312
320
936
709
730
520
470
707
826
191
70
516
477
366
735
729
694
168
164
563
400
200
405
571
822
398
650
136
557
532
12
568
571
179
620
456
967
986
548
935
974
421
141
685
85
889
508
237
856
579
521
668
538
543
67
227
114
654
433
263
831
242
863
970
883
991
363
610
177
689
540
437
621
908
922
715
933
573
301
1
535
941
747
680
917
659
328
331
866
7
884
272
624
170
125
677
623
322
271
420
421
183
161
709
662
620
655
973
656
527
772
391
228
810
92
199
285
14
472
743
118
695
720
735
5
858
261
56
865
300
687
214
794
290
923
312
498
51
747
654
905
419
95
350
262
869
979
450
45
736
420
853
253
48
757
427
112
28
258
85
486
398
227
800
850
243
965
292
279
175
519
48
334
948
969
610
778
648
71
586
717
778
440
869
167
412
483
126
772
765
943
536
661
983
312
877
427
759
584
7
114
279
589
292
621
37
196
934
50
807
857
266
269
555
500
842
956
234
425
961
542
704
946
598
400
653
355
154
968
811
761
9
547
889
211
686
680
852
354
393
769
772
448
617
731
880
746
687
296
829
954
383
356
964
121
33
449
937
230
958
58
863
833
840
481
475
293
335
751
172
200
356
877
458
541
419
294
750
561
259
789
246
899
810
107
957
143
464
155
51
588
576
4
22
551
935
679
582
741
848
676
407
152
370
424
844
859
494
681
687
367
191
303
551
631
984
655
710
703
874
491
362
600
268
253
218
630
899
846
326
836
455
227
412
345
896
839
803
89
433
423
821
618
830
719
106
326
872
694
43
116
616
259
838
455
468
895
135
548
109
193
305
53
549
295
528
392
505
284
722
343
143
471
344
814
765
357
386
335
873
21
735
400
53
492
71
403
558
224
72
133
210
579
394
171
207
368
811
719
341
604
342
763
863
561
961
275
810
357
245
197
197
446
630
218
728
169
102
551
260
866
570
122
778
229
434
294
628
134
231
890
575
929
319
998
147
848
433
597
821
320
276
555
790
63
696
458
297
491
163
689
714
752
581
284
68
106
974
879
58
765
84
972
589
573
315
422
967
262
831
763
198
937
22
884
33
327
162
703
592
778
107
579
277
180
724
991
955
950
730
629
450
613
552
640
46
704
573
658
844
488
716
214
622
124
819
282
84
333
632
635
425
953
628
517
105
283
397
993
245
932
219
959
938
76
179
742
285
886
222
309
67
560
90
81
477
756
403
451
180
345
83
587
73
453
750
506
816
745
608
824
940
449
333
900
451
735
794
676
749
615
311
416
630
499
96
678
495
669
19
933
949
42
120
227
123
504
865
754
962
158
675
508
593
613
477
958
756
545
471
90
910
9
404
521
12
665
756
474
610
769
17
633
630
799
62
653
744
985
323
503
658
274
274
430
608
781
786
805
335
52
280
572
759
721
234
727
78
63
992
138
640
201
887
352
741
444
727
235
87
732
906
228
806
400
815
669
283
517
294
502
266
574
228
711
298
747
577
695
825
268
300
376
29
190
887
231
650
151
410
509
945
540
130
896
36
271
258
666
195
359
946
320
544
228
279
80
705
809
431
910
595
512
617
853
322
954
468
367
179
541
590
208
286
765
396
825
531
550
263
503
58
788
587
547
575
750
977
278
569
157
609
59
219
795
197
913
162
429
222
857
79
129
862
141
843
979
277
69
647
816
879
981
320
593
183
710
582
279
47
463
254
49
994
356
961
614
177
260
612
43
877
738
601
570
30
747
413
230
722
777
953
737
551
622
78
606
682
514
846
34
786
900
140
571
863
563
731
677
265
66
615
2
108
643
100
81
667
744
608
299
205
187
7
528
18
251
118
332
929
330
520
449
488
2
600
774
51
633
592
151
5
273
141
782
36
182
525
764
486
951
132
84
21
226
723
927
221
107
432
140
21
143
297
155
400
961
248
726
884
322
266
644
606
7
552
902
415
189
430
777
983
890
673
166
675
403
278
250
70
36
800
339
618
244
842
195
580
346
338
352
828
132
370
331
518
217
454
43
253
232
896
482
326
913
937
728
567
359
208
559
178
191
410
299
342
411
431
842
686
566
405
624
291
81
466
809
868
873
174
143
303
174
424
368
684
768
50
264
210
564
330
160
112
646
857
234
866
141
546
572
980
522
346
257
855
472
702
710
358
53
139
877
318
681
211
589
600
737
926
872
364
467
339
217
909
651
408
342
543
353
814
681
311
708
673
207
781
79
991
536
215
842
267
736
730
180
622
839
535
618
647
84
26
546
338
134
200
398
625
609
848
393
479
51
906
830
149
94
356
880
1
339
546
289
666
291
358
23
835
1000
866
41
679
905
591
551
141
80
730
746
189
638
293
249
200
764
975
130
294
210
555
783
239
482
686
452
691
2
288
817
511
389
904
726
289
44
866
906
943
609
701
24
459
203
879
873
728
235
522
859
554
151
487
257
566
646
587
185
720
972
979
506
93
308
18
603
4
574
425
535
635
721
718
861
743
731
896
990
906
700
355
518
158
915
754
447
125
279
744
757
644
432
536
262
912
139
851
681
309
558
960
793
82
331
659
218
78
378
271
919
348
66
623
127
267
47
879
80
234
190
159
858
944
706
462
537
182
248
307
195
271
831
667
581
19
487
713
566
507
412
334
156
454
329
577
12
289
410
208
206
910
677
812
112
5
255
972
836
513
429
641
293
419
60
847
951
546
886
510
17
825
942
708
648
768
545
906
169
925
669
352
631
130
579
621
281
848
959
790
256
160
343
972
540
736
83
299
861
981
146
367
15
542
342
445
586
285
471
527
955
972
542
397
575
38
31
339
110
233
968
926
491
392
619
417
947
682
569
143
961
175
556
275
123
78
838
444
67
442
19
199
662
983
693
296
110
333
403
946
84
528
885
649
883
244
606
983
975
501
818
97
654
919
176
163
223
769
372
3
855
764
886
441
909
874
124
891
261
866
738
494
402
973
370
331
140
801
297
153
503
998
393
299
380
435
827
30
877
404
422
247
565
422
679
347
279
376
396
841
296
557
130
107
496
123
270
748
684
267
651
314
629
892
498
969
288
904
120
984
206
929
831
118
677
441
726
770
985
982
717
198
228
332
952
850
916
312
901
525
991
193
157
932
541
950
848
487
488
527
914
426
713
847
822
72
172
229
57
673
694
414
216
269
674
852
422
973
396
163
145
564
34
173
374
1
979
373
896
731
839
551
593
967
884
215
171
693
683
178
185
658
664
491
69
445
252
642
561
864
631
836
429
42
498
824
811
192
634
891
311
158
571
383
612
662
425
821
632
916
341
161
603
912
638
400
731
778
1
177
85
805
760
559
601
945
86
885
868
294
908
616
450
855
366
137
941
612
166
120
97
73
620
507
468
823
39
129
725
239
368
693
292
759
81
953
84
923
737
298
401
483
125
905
215
840
557
463
678
24
336
746
605
532
467
250
166
795
751
115
873
316
361
176
799
546
785
625
16
480
538
136
899
45
3
59
860
297
666
724
912
560
473
99
320
581
123
17
55
34
588
170
675
953
713
312
548
200
448
715
141
252
328
139
525
523
97
390
635
637
925
338
653
22
462
303
253
158
52
309
575
842
104
578
765
59
989
705
110
988
611
68
789
971
392
913
719
998
999
607
831
791
797
967
807
800
250
104
750
512
182
565
327
953
148
379
919
600
37
275
113
964
738
653
810
833
576
181
474
649
317
635
291
304
726
803
606
710
611
761
323
385
39
397
377
447
448
69
433
74
276
897
63
616
496
224
395
597
529
631
81
448
307
540
62
398
584
859
239
325
451
356
60
272
803
179
833
872
955
808
565
487
291
690
954
276
389
481
306
95
200
542
769
837
975
593
933
900
199
998
815
498
388
83
408
168
997
158
810
857
856
294
459
658
834
164
905
89
380
734
836
844
230
467
133
255
354
459
925
439
220
421
325
461
531
292
311
306
84
519
126
835
278
802
757
941
415
544
458
911
882
915
493
747
328
83
533
890
562
536
969
40
208
897
184
778
298
911
144
12
467
730
148
243
585
177
775
183
111
595
882
920
459
448
437
223
157
875
178
51
958
272
199
410
438
601
278
62
87
685
16
185
877
267
107
299
611
456
152
561
268
935
737
810
446
1
934
397
405
901
54
266
284
750
807
316
354
158
667
787
873
758
280
879
497
708
62
693
304
728
761
770
245
550
291
40
393
277
722
182
506
822
497
986
803
834
24
307
56
925
113
214
752
625
936
357
857
928
800
652
996
832
231
728
83
430
9
257
294
550
503
636
595
128
496
162
263
641
788
780
899
709
192
216
478
537
762
291
15
113
825
908
295
284
909
287
80
179
574
570
905
318
119
250
236
855
316
958
511
735
250
359
449
975
591
496
923
965
631
324
795
302
511
395
262
138
263
458
535
433
645
996
338
216
898
165
392
961
661
154
863
171
476
40
503
438
444
84
433
914
448
900
455
367
3
296
536
809
623
575
818
308
341
563
462
789
209
761
242
873
481
46
748
675
41
48
483
697
221
967
174
806
508
635
398
339
748
887
408
134
511
375
853
938
53
737
553
819
523
217
983
566
496
163
959
885
339
429
443
373
994
200
569
173
776
882
645
572
806
710
510
121
949
111
642
568
150
376
418
150
636
763
175
91
865
792
351
644
191
725
753
896
730
911
233
614
338
897
894
106
86
401
484
275
256
219
193
542
426
822
982
325
115
760
676
578
976
13
778
941
606
81
500
468
409
229
369
637
872
485
563
496
149
235
814
312
926
805
966
636
983
250
506
442
541
107
556
236
880
433
957
909
98
428
448
484
937
624
427
144
909
480
779
74
950
108
325
419
884
918
781
214
560
998
179
591
633
435
636
171
204
908
809
318
210
514
724
116
98
215
776
762
921
848
312
735
898
619
359
154
353
755
791
725
284
791
175
464
771
857
592
437
839
698
57
507
861
742
542
707
439
709
294
895
604
594
168
535
685
373
630
720
319
729
386
706
578
361
561
734
505
847
135
661
446
88
919
200
577
430
927
114
685
560
500
643
269
850
131
728
133
373
146
363
733
598
384
479
851
733
396
733
719
305
339
171
158
719
992
976
838
474
675
79
311
238
147
224
303
290
188
843
180
637
609
633
761
347
668
375
752
941
440
336
813
910
467
569
764
148
607
970
798
465
529
172
40
916
365
103
828
367
711
347
965
982
758
81
598
903
558
733
113
435
347
580
482
843
434
32
695
433
158
13
627
988
505
585
6
295
871
408
805
63
935
435
810
878
603
199
408
564
689
783
421
886
464
562
299
425
192
136
168
746
427
78
278
522
411
862
138
775
715
867
620
922
345
893
853
585
658
914
495
250
784
276
915
39
36
69
993
1000
335
172
794
2
453
723
350
246
834
946
475
110
962
894
977
673
325
312
509
494
149
241
784
290
476
11
583
390
651
602
125
77
640
682
114
192
171
876
231
66
869
906
43
867
267
607
522
231
271
254
440
594
894
384
215
911
802
824
25
339
251
788
540
10
368
669
894
326
44
626
978
438
262
431
865
840
45
479
766
192
318
361
121
577
353
857
620
399
620
135
619
284
888
430
289
329
729
396
67
674
376
879
507
809
647
601
860
747
377
235
200
96
226
848
296
514
431
816
999
841
789
470
732
112
118
975
339
557
975
273
51
412
468
141
68
85
943
967
71
482
72
768
643
49
107
674
254
858
8
254
945
661
79
74
356
141
115
63
64
916
428
275
966
409
5
103
578
730
52
792
463
921
685
141
453
474
172
97
316
502
141
89
691
424
181
903
323
778
962
408
606
185
344
347
433
824
762
640
826
379
386
110
922
57
331
901
494
949
171
749
64
760
928
489
131
362
713
351
237
579
356
887
608
557
709
526
806
807
434
215
895
338
988
240
158
775
514
107
610
888
345
109
646
602
946
55
191
981
625
705
404
531
15
439
904
482
195
462
499
465
640
995
160
510
644
597
350
749
23
393
984
510
979
440
37
326
919
756
642
391
606
681
101
494
984
627
479
323
664
812
839
82
712
247
655
632
744
810
188
852
97
175
893
554
616
693
417
507
832
744
511
727
77
998
4
26
986
952
234
829
922
410
816
415
727
267
963
568
162
746
385
994
877
196
993
381
902
112
909
253
409
621
905
902
80
669
295
837
441
243
949
998
397
438
21
656
585
209
170
201
891
200
604
302
68
792
201
990
689
770
503
89
305
426
408
285
26
132
657
568
565
330
507
215
97
824
170
927
982
768
656
737
346
932
423
42
519
708
904
40
73
618
295
403
302
968
610
668
933
483
1000
249
457
611
713
357
89
516
242
698
742
294
597
2
820
675
16
561
306
768
584
613
795
621
993
2
55
968
580
852
353
851
544
3
497
570
741
766
521
153
910
124
871
629
400
358
950
412
586
197
687
968
572
67
129
78
181
129
779
204
600
841
722
915
183
208
263
733
573
991
814
669
825
941
204
988
495
567
947
477
405
621
883
295
663
444
832
763
682
395
361
222
244
24
433
823
964
571
88
486
145
138
932
281
940
315
623
806
398
23
640
141
46
846
976
338
344
425
457
97
246
628
721
180
52
101
945
568
815
612
288
126
524
354
336
327
806
46
40
148
969
638
267
633
333
417
554
324
953
441
460
476
628
125
258
301
740
47
506
638
686
820
766
693
121
579
877
612
55
123
749
73
367
637
245
904
617
247
180
842
49
58
573
791
460
275
482
174
236
922
190
714
895
817
983
458
667
226
52
823
308
104
619
390
673
55
824
801
626
218
604
71
771
429
10
989
111
111
613
953
751
511
917
386
134
781
485
85
953
42
619
574
22
793
764
299
954
941
104
712
59
939
518
707
471
280
868
144
82
13
343
605
4
521
472
788
493
972
999
404
562
835
540
58
555
746
279
255
536
862
536
613
469
772
992
159
113
11
543
794
726
517
457
225
850
592
897
957
519
18
934
407
715
928
336
830
534
408
970
23
106
987
241
476
759
973
780
44
815
699
497
152
970
728
439
673
646
112
614
301
467
468
665
524
592
714
183
186
29
239
613
144
743
754
788
378
312
375
879
179
841
322
393
661
698
898
463
748
687
888
825
465
574
504
733
530
421
661
443
64
676
455
770
109
913
133
735
613
79
621
520
447
378
606
919
605
138
237
950
930
472
792
194
806
552
41
13
259
502
344
679
625
322
314
726
405
632
6
763
812
139
413
678
248
605
983
254
141
662
848
108
129
499
380
432
817
679
601
663
600
774
262
278
510
97
983
556
583
23
472
364
396
823
128
794
780
258
219
452
128
517
328
976
746
743
493
779
72
996
345
151
934
92
492
315
352
500
733
311
154
899
594
386
20
589
763
967
836
467
613
310
331
126
938
684
40
87
431
320
840
657
112
636
571
269
266
225
543
741
706
915
657
554
46
382
622
419
721
820
384
657
886
430
908
346
510
480
454
716
405
176
159
651
52
989
813
142
96
649
672
594
828
880
146
913
843
475
777
346
212
764
67
236
698
617
728
884
567
967
591
677
675
246
728
105
93
967
373
39
390
276
379
184
97
313
21
820
396
574
719
767
603
139
81
883
64
563
567
73
308
981
39
56
158
80
207
12
527
842
343
784
451
610
962
937
200
597
143
604
794
344
18
686
69
694
809
851
357
136
395
148
930
341
690
319
860
142
598
520
941
712
605
191
904
327
384
557
710
726
453
910
567
588
789
807
137
7
458
591
404
236
215
473
645
457
975
945
392
720
448
138
113
21
186
947
225
987
639
431
694
87
721
226
554
455
258
39
770
284
538
817
855
967
481
14
30
814
373
625
467
399
504
580
536
811
152
585
445
932
796
959
324
525
929
965
749
56
796
670
313
838
461
439
570
388
601
223
6
807
653
328
495
530
699
77
211
414
693
732
791
705
619
963
779
518
862
671
896
244
19
654
390
971
556
776
469
672
409
370
142
939
143
302
554
160
582
943
677
845
208
899
160
721
377
6
428
618
140
146
272
889
373
195
836
945
523
61
341
580
539
483
21
725
244
663
341
968
298
50
61
648
432
535
39
798
32
80
141
734
635
538
825
286
751
345
414
697
87
88
11
103
22
486
944
696
407
176
957
537
896
244
957
265
927
983
548
554
506
890
54
299
751
811
677
675
515
160
806
759
861
940
529
126
869
814
503
969
812
10
386
42
255
44
801
683
462
722
843
971
593
796
687
13
71
849
675
302
837
129
921
301
981
749
474
631
1
166
13
622
355
852
987
113
555
116
118
614
514
329
819
351
888
685
360
306
892
455
537
608
913
506
765
846
33
483
730
582
312
48
391
892
998
15
514
21
520
324
865
480
967
579
493
468
841
140
729
496
122
554
498
360
959
684
238
722
661
307
368
446
863
868
39
196
537
577
981
130
55
96
49
592
588
231
189
97
574
485
807
291
683
174
934
352
446
18
391
571
260
283
454
962
358
190
437
635
433
451
132
898
366
652
801
249
719
965
376
235
871
537
390
935
376
464
154
168
787
203
597
531
957
288
645
177
134
579
806
328
210
545
607
415
368
122
606
773
634
303
400
274
587
918
711
166
838
996
65
966
870
307
813
875
112
857
320
808
115
502
891
494
992
310
567
999
808
369
190
956
63
228
720
487
779
264
204
586
813
932
80
847
596
966
117
926
700
723
916
545
20
641
866
550
78
516
356
728
298
250
944
507
395
899
884
269
302
546
714
270
338
981
672
344
299
131
200
820
40
464
934
612
704
899
744
507
15
209
997
95
156
155
597
901
518
823
668
359
452
628
449
636
378
449
779
504
528
879
192
621
983
277
835
284
811
643
34
672
456
846
73
37
162
928
909
161
786
557
401
819
965
744
925
78
625
967
497
704
523
781
679
264
229
229
400
924
309
398
952
476
303
248
826
212
315
418
602
682
305
407
176
944
572
844
83
401
934
906
837
9
737
610
490
297
36
552
48
866
217
898
42
750
942
454
608
787
330
199
79
380
856
150
351
287
952
54
858
756
672
498
921
924
189
679
963
445
127
556
416
110
455
213
978
209
989
762
938
980
453
858
563
415
724
424
83
828
341
29
557
38
485
216
428
807
456
456
241
132
68
224
398
952
917
262
518
975
211
214
559
531
817
962
333
798
133
186
865
96
270
976
585
4
29
368
289
944
936
434
137
754
868
232
197
432
647
34
854
640
162
35
77
820
626
601
339
235
85
36
844
330
149
545
428
596
777
360
557
669
339
996
642
561
166
845
84
754
768
123
361
429
468
170
398
590
126
856
662
580
653
609
666
218
145
737
752
176
909
158
40
392
962
391
185
164
294
64
274
434
163
95
391
460
486
677
85
152
562
290
98
444
526
820
542
889
337
444
98
990
396
422
138
229
270
45
497
748
622
853
307
550
546
297
810
290
91
858
236
666
522
624
49
28
335
280
360
917
567
158
455
605
713
875
293
435
346
655
726
717
28
812
226
163
606
186
82
6
457
360
658
368
450
508
212
58
31
449
731
626
601
180
930
827
698
704
865
906
32
501
168
611
986
698
543
833
99
177
520
153
734
787
803
721
707
874
330
203
807
516
207
250
487
407
408
159
380
490
505
417
653
494
806
713
441
939
86
792
738
694
864
708
764
557
161
582
853
579
937
387
246
44
168
63
167
885
83
398
389
728
524
211
260
534
972
177
403
619
766
431
110
96
177
976
602
541
798
74
53
551
103
295
131
749
180
639
792
412
875
835
815
360
61
780
249
410
676
769
108
31
744
614
878
378
47
880
892
294
73
358
671
237
30
793
971
105
191
914
509
779
335
108
255
260
946
350
163
454
734
376
659
285
689
405
654
297
602
225
527
744
222
299
98
210
888
418
184
866
916
891
234
510
760
224
701
432
427
411
963
627
181
822
949
418
265
917
667
151
433
865
830
470
685
841
146
594
203
168
874
625
911
371
698
795
977
62
980
579
437
315
774
175
977
925
472
818
234
711
235
429
720
166
771
244
731
233
820
314
825
546
878
257
814
114
638
153
447
441
597
104
900
418
947
364
90
700
721
108
832
673
34
115
241
936
702
300
95
439
556
399
104
706
281
237
792
580
632
763
389
477
505
267
364
306
502
660
962
834
628
545
419
387
679
331
440
886
842
243
115
972
547
717
351
113
164
183
67
976
394
930
276
176
612
664
211
963
47
985
980
516
493
495
559
620
172
405
288
257
205
738
400
310
512
583
627
656
783
57
818
314
169
733
597
330
405
280
660
629
830
431
283
930
436
922
722
367
627
824
202
772
196
157
648
878
181
176
301
719
296
746
268
472
791
237
828
730
377
211
607
8
373
700
158
890
673
42
940
406
20
273
941
984
864
757
746
978
55
59
448
573
466
181
141
761
618
290
135
565
190
41
58
868
999
955
745
723
832
391
96
808
145
265
33
673
182
253
317
91
624
883
749
176
815
149
774
639
412
920
500
135
139
569
681
61
35
199
193
862
531
833
660
7
837
879
577
774
511
770
269
116
601
195
44
103
390
489
421
838
876
678
257
951
209
365
782
225
32
727
340
764
526
259
783
820
65
728
173
645
694
904
46
893
510
750
573
782
128
387
19
425
365
448
479
810
920
569
893
704
710
422
610
84
86
737
55
660
247
162
619
306
793
214
442
278
225
695
475
430
599
68
795
644
903
377
921
528
421
616
898
174
808
173
651
735
548
574
563
609
847
294
884
416
524
243
629
587
307
61
10
769
841
666
886
933
745
516
707
223
350
266
212
365
233
318
863
901
929
677
110
998
912
644
978
562
294
6
42
264
442
757
938
613
512
231
171
1000
985
125
836
852
109
202
850
867
766
46
704
873
443
796
180
470
43
981
746
955
67
848
112
531
159
85
67
959
551
641
801
185
689
614
769
487
750
50
214
522
383
551
391
2
261
493
336
371
159
834
716
435
776
214
810
661
442
747
632
865
110
668
102
502
740
363
116
468
357
134
602
296
45
454
62
63
557
281
436
773
876
808
361
507
703
483
62
487
429
856
124
696
734
481
485
724
956
666
365
749
903
417
691
493
570
739
184
933
534
952
59
634
175
142
527
494
333
407
457
350
788
71
25
662
36
199
204
502
439
742
271
178
484
990
597
232
478
268
269
870
713
831
106
158
163
454
519
637
25
556
479
615
591
937
602
29
315
597
225
742
773
517
513
677
572
389
946
150
370
840
633
124
292
557
462
568
362
626
801
284
865
556
411
339
842
448
606
367
716
592
902
489
538
440
440
681
714
147
902
763
783
388
981
764
537
451
373
939
27
572
922
511
629
14
762
172
53
461
795
223
561
837
577
836
731
776
354
69
922
134
210
626
685
689
243
830
529
313
309
963
375
315
243
570
74
501
439
175
52
571
211
810
553
805
363
821
767
53
938
289
602
617
715
119
621
217
941
889
921
437
1000
309
196
786
719
706
414
209
996
838
411
196
283
122
374
886
533
529
125
499
816
30
934
726
409
232
913
345
483
209
833
456
129
734
48
584
110
177
568
165
4
988
915
116
58
556
557
185
121
508
179
172
199
416
429
936
45
597
958
559
80
667
158
523
357
269
20
173
763
315
250
647
399
350
14
987
445
25
604
205
690
257
424
882
407
910
226
252
704
63
182
984
815
603
540
871
77
318
617
707
990
257
558
168
992
617
619
228
452
336
856
245
124
321
515
381
272
791
426
445
61
968
361
32
213
380
160
241
694
966
611
682
561
502
853
445
655
405
677
863
567
57
297
2
490
324
408
617
970
657
165
715
411
512
144
86
676
852
197
57
376
558
304
960
559
151
69
635
796
697
532
459
412
848
434
972
217
434
754
313
911
779
658
80
558
229
190
981
324
799
743
505
397
407
178
543
924
28
614
879
519
79
755
477
258
758
312
87
509
639
625
415
462
716
613
654
969
316
595
335
106
982
250
112
613
770
595
591
690
578
752
498
33
8
805
982
30
537
75
58
855
752
784
130
507
439
520
384
637
234
453
779
923
604
561
839
814
501
808
852
268
252
168
657
844
26
357
697
313
92
235
524
394
738
512
991
798
477
198
977
375
250
612
998
179
716
482
219
991
946
926
20
549
37
260
752
720
320
594
601
643
814
983
803
370
136
36
621
355
879
784
354
325
413
751
50
286
19
76
169
187
520
100
579
741
857
924
686
280
968
884
812
407
724
206
537
299
100
563
124
667
233
616
572
159
233
118
899
727
116
251
27
447
809
46
227
206
691
553
454
162
432
163
793
347
300
406
362
468
133
314
938
834
397
942
642
985
193
528
244
146
239
591
280
182
37
122
60
708
769
678
578
479
892
258
123
94
851
16
733
455
616
312
98
90
604
764
760
396
670
377
744
490
300
49
91
812
156
437
620
418
714
2
379
208
168
697
412
347
482
481
161
749
438
795
306
763
755
798
983
390
276
236
763
267
183
68
772
491
30
96
855
551
819
107
185
15
708
120
26
372
576
894
283
486
997
646
806
947
252
650
655
228
880
822
793
815
497
374
335
438
730
37
574
676
321
46
385
548
973
98
920
659
686
429
56
723
131
337
218
178
449
172
6
339
105
432
128
791
542
707
790
989
690
719
599
532
109
921
713
983
300
716
658
478
564
424
151
21
329
527
829
792
118
995
749
952
919
136
928
882
380
922
958
107
783
863
556
942
889
109
706
802
417
520
771
945
126
426
485
800
346
375
327
936
616
753
561
44
44
325
763
880
562
887
719
444
263
857
901
981
500
658
458
72
988
511
726
810
799
100
297
534
940
765
132
7
633
942
540
747
511
516
926
712
119
740
604
341
481
909
973
21
979
486
316
425
91
13
536
998
507
700
852
747
661
733
86
807
735
4
111
383
819
533
950
558
78
864
922
33
676
48
17
706
974
674
32
398
539
870
670
804
911
532
583
18
361
289
514
587
90
69
585
155
627
731
13
146
150
659
971
709
601
52
356
268
290
582
849
310
160
496
648
179
946
305
375
261
108
941
426
801
88
310
891
211
227
678
880
902
940
255
976
879
723
144
503
622
288
87
345
593
201
642
177
729
873
381
350
829
892
16
106
591
168
952
720
729
214
315
87
23
129
151
966
222
921
479
543
725
709
848
108
277
614
461
48
732
579
197
396
980
351
532
342
88
733
442
180
41
731
254
422
890
824
221
672
913
201
401
117
345
947
552
158
458
64
581
252
227
199
129
905
635
960
996
167
674
406
924
110
124
32
634
623
676
486
620
818
909
106
841
556
962
642
101
307
214
848
797
359
9
930
532
967
86
129
951
830
261
8
248
496
33
989
418
529
799
555
794
846
768
619
614
320
30
619
813
620
633
574
228
777
397
80
750
913
758
944
479
854
925
403
266
229
545
846
165
817
924
348
362
551
345
680
852
444
185
454
818
652
544
173
740
453
670
657
540
539
970
474
136
305
775
773
85
731
396
103
475
630
261
462
476
336
512
136
139
667
158
769
545
48
705
829
825
710
568
403
966
507
108
791
285
952
378
71
510
183
869
870
875
699
856
337
689
225
527
559
97
182
302
301
635
720
300
81
116
608
154
570
788
653
915
773
720
864
680
4
94
361
52
871
388
212
729
134
315
940
280
966
847
863
551
473
378
524
959
353
271
49
562
95
905
113
882
572
916
815
243
443
243
267
409
538
747
675
186
118
992
761
44
621
955
486
237
286
588
703
434
552
826
825
690
305
413
102
790
452
988
412
97
848
509
617
626
682
906
811
991
82
655
369
94
437
38
131
89
160
774
906
878
48
799
612
772
355
437
92
144
92
205
580
883
883
711
470
780
252
46
421
339
480
790
634
307
820
768
127
560
379
15
824
161
859
841
567
472
598
825
529
613
334
498
285
424
420
309
120
281
161
749
48
186
416
337
361
252
708
439
981
748
513
339
77
834
347
590
492
225
67
201
359
539
757
874
374
692
34
588
398
360
986
790
165
803
693
163
966
707
597
895
15
463
511
177
592
315
817
388
303
218
606
538
510
887
344
217
612
22
791
540
963
435
230
887
406
626
114
986
376
440
996
401
444
663
297
829
66
929
558
591
804
766
81
572
108
500
530
223
195
654
604
21
136
103
706
632
969
144
663
359
331
256
449
129
749
774
399
967
471
881
332
62
967
868
218
805
317
383
563
905
928
975
760
166
215
504
432
271
808
536
581
919
859
541
598
552
565
109
609
959
712
109
311
990
250
308
417
621
28
171
151
684
116
237
683
287
947
180
284
979
796
408
724
936
901
582
190
190
752
326
105
939
104
966
547
790
372
412
299
616
559
956
392
459
801
165
395
670
199
7
707
325
823
476
949
342
166
103
543
889
745
657
229
467
799
214
114
355
28
546
882
171
924
645
636
367
158
821
654
948
200
851
577
402
273
940
717
424
425
966
772
166
912
164
618
614
795
730
455
378
606
304
725
466
145
366
580
443
712
978
378
91
938
936
488
809
589
491
534
553
644
515
430
717
381
818
200
421
457
554
898
643
345
256
524
866
276
492
363
56
24
453
854
121
817
850
876
932
680
915
518
699
948
696
172
667
356
434
200
106
155
424
395
243
244
76
120
934
37
741
195
877
562
100
480
496
434
602
955
446
340
841
313
140
198
430
869
699
660
265
412
126
301
463
609
177
470
431
833
123
343
650
301
153
169
907
608
418
634
891
153
593
288
55
122
454
163
360
924
628
199
605
413
509
189
14
966
832
997
986
521
702
727
752
729
574
271
701
164
821
821
517
928
865
127
481
862
156
937
590
42
707
62
184
130
660
841
376
166
825
197
9
245
668
646
524
887
710
492
625
450
142
859
906
546
532
337
507
184
594
225
303
510
914
949
820
522
784
889
420
957
491
575
194
747
770
491
613
575
723
739
867
293
667
895
52
504
695
644
630
102
612
275
666
618
539
30
390
189
163
291
899
888
903
683
442
750
796
794
629
36
986
852
911
53
912
889
328
620
616
735
180
505
469
473
504
833
889
904
11
350
533
912
395
552
524
858
913
500
341
12
971
534
464
465
260
69
148
320
697
67
856
312
425
22
924
837
556
190
83
11
419
88
460
271
443
890
269
126
605
408
52
945
334
41
685
726
718
816
649
716
982
773
12
36
822
129
133
250
671
854
445
537
730
94
23
348
604
287
278
625
899
892
80
876
978
10
202
283
714
59
143
592
698
631
867
419
143
369
936
264
446
631
798
120
942
20
555
624
942
390
531
366
679
422
225
195
381
157
429
58
844
635
432
239
541
574
95
362
973
523
311
984
14
954
518
272
609
411
285
83
302
92
642
259
309
553
838
203
792
792
864
85
993
572
821
667
124
65
450
822
153
434
840
545
981
95
808
201
651
945
907
545
397
890
217
261
945
76
787
759
346
474
757
328
695
354
275
429
733
809
758
272
769
801
307
557
102
381
735
259
517
768
456
775
702
391
800
686
474
260
275
183
901
890
858
967
930
785
321
857
404
583
115
229
886
660
645
388
372
206
725
212
869
177
985
873
725
294
193
343
848
633
880
658
593
64
802
98
31
993
860
813
35
521
229
465
955
382
383
140
807
51
737
159
134
815
637
406
557
251
646
200
905
370
637
790
48
64
850
550
49
970
5
905
924
511
212
889
950
389
558
6
328
404
328
30
723
31
259
376
322
61
478
226
225
359
266
835
376
15
659
288
986
26
973
242
528
667
831
740
849
666
431
362
393
271
40
332
984
123
141
403
501
616
371
903
412
725
626
660
219
399
435
719
999
599
384
773
436
208
356
337
683
593
67
421
739
448
723
503
14
214
743
479
352
41
21
670
8
46
471
221
278
398
441
183
126
726
229
103
838
860
623
372
275
340
881
412
131
473
509
425
947
473
576
998
580
711
449
705
949
569
146
982
786
940
719
422
953
908
894
414
161
477
804
411
657
780
22
165
11
973
365
4
297
276
660
200
444
439
934
624
837
451
76
18
353
249
561
759
60
701
48
895
491
612
703
630
604
956
734
767
865
645
627
629
63
732
532
670
997
605
778
476
832
972
890
685
383
444
685
63
346
703
153
208
230
119
748
828
588
251
199
634
944
887
257
665
827
457
528
397
316
267
704
630
880
685
775
128
406
438
580
604
34
645
533
526
14
957
924
481
466
252
175
580
27
530
589
52
164
131
768
877
575
358
323
45
758
480
641
274
825
35
167
992
30
384
372
925
416
530
566
646
390
625
642
479
60
597
988
385
67
658
775
20
44
619
378
118
872
455
631
347
450
415
723
892
248
148
613
286
10
483
704
2
401
713
404
391
474
940
644
536
533
224
56
974
431
897
25
18
7
239
982
49
115
333
139
510
831
559
959
392
936
937
354
976
316
637
502
594
227
636
353
909
690
911
836
676
930
244
97
714
202
990
615
50
866
896
389
687
46
110
799
571
417
791
179
194
653
767
477
803
540
338
499
455
487
77
959
304
874
634
265
276
48
755
304
389
218
818
78
62
398
385
987
92
143
323
185
995
655
494
277
893
181
413
41
159
219
827
433
512
866
655
570
560
986
23
592
117
411
843
648
779
149
849
831
131
657
550
32
108
397
423
829
979
535
13
31
167
159
16
644
934
652
428
144
629
276
920
639
78
643
73
179
929
471
83
958
269
810
550
842
959
648
840
874
245
920
537
861
408
174
715
232
823
229
94
307
315
657
905
319
575
262
46
168
484
890
17
263
710
35
798
301
600
199
574
317
257
652
462
823
741
953
436
121
320
679
196
110
888
737
236
174
858
512
169
655
869
381
810
510
276
479
433
107
85
953
640
507
831
95
361
581
992
503
798
694
683
224
34
685
232
570
264
232
617
201
438
558
201
921
549
839
80
924
606
930
225
573
896
739
173
230
94
193
115
309
831
205
835
775
651
703
395
682
628
598
553
295
797
694
381
376
625
875
551
452
919
135
532
599
686
538
98
316
117
397
39
147
618
500
297
566
419
592
182
258
822
118
290
409
94
715
648
148
280
481
668
333
520
117
36
945
182
45
74
970
730
287
848
563
582
57
775
375
197
829
349
68
294
315
765
924
903
139
237
909
924
582
852
655
267
124
164
397
596
22
99
427
994
182
524
171
739
95
988
156
170
267
462
400
741
343
916
22
696
9
930
901
356
701
542
93
701
137
29
113
625
65
181
171
29
917
402
648
635
391
166
17
444
84
903
115
182
368
525
664
590
483
536
46
388
505
944
788
135
959
954
693
639
207
120
536
262
988
338
479
139
891
176
393
817
218
22
497
163
447
168
991
5
696
311
765
650
504
914
223
496
974
568
677
917
375
129
368
750
896
682
70
61
893
611
809
525
128
914
830
630
771
690
757
789
819
802
585
852
254
780
641
207
287
384
466
486
470
814
982
675
293
35
210
788
2
361
255
36
550
895
458
345
754
791
700
503
802
597
587
402
762
819
540
396
741
432
130
389
238
653
384
170
925
45
148
820
673
192
67
37
710
582
886
167
333
939
435
970
842
26
250
691
818
31
222
297
141
210
701
777
579
136
700
43
127
748
444
601
936
423
52
809
361
522
389
299
621
761
667
128
445
277
534
54
982
417
313
421
590
161
11
495
129
217
428
412
566
308
951
190
107
920
853
869
685
122
980
365
905
940
459
318
691
370
733
166
520
360
344
377
1
949
634
113
999
60
298
831
472
97
779
598
42
973
235
189
591
853
713
461
912
422
630
590
732
934
528
588
943
459
802
778
623
917
913
96
917
668
443
227
639
582
764
622
40
80
255
620
397
665
886
37
613
573
101
113
486
248
907
183
959
529
483
374
403
136
120
359
159
214
278
455
435
188
555
88
353
933
603
638
804
578
760
420
424
11
995
370
384
510
381
495
908
356
761
341
3
643
335
46
316
938
900
858
122
903
739
40
919
911
831
968
615
418
888
19
689
660
738
570
688
303
910
899
328
800
496
581
734
911
52
384
337
163
919
187
594
735
664
948
302
656
445
12
467
174
8
763
923
468
129
444
181
185
470
600
377
962
544
906
672
347
701
429
793
26
850
608
454
627
139
132
242
690
550
92
626
867
449
54
723
816
17
796
95
651
418
256
225
881
256
718
200
813
269
849
315
663
990
890
537
367
814
537
851
550
415
79
563
281
211
800
879
802
537
735
679
306
790
835
830
345
199
377
131
237
709
89
821
220
237
863
467
444
907
979
836
461
459
209
806
604
880
672
598
826
466
60
720
604
670
65
271
731
671
66
330
990
491
338
111
833
419
528
860
540
46
259
971
346
155
78
155
61
565
522
182
847
240
979
611
994
701
362
681
20
44
741
218
790
448
559
912
707
796
300
731
253
412
659
704
938
542
979
40
310
538
556
874
881
207
800
839
588
283
891
583
350
15
991
243
632
240
88
113
706
808
288
752
499
53
450
939
741
431
193
435
430
536
234
932
778
950
385
34
224
433
426
680
834
730
704
726
652
200
165
356
935
995
34
36
821
610
561
411
718
178
319
568
438
186
96
710
786
517
762
725
596
279
82
936
440
65
696
244
46
667
862
920
316
470
585
41
340
337
442
341
999
615
979
920
256
143
497
933
680
692
852
927
420
553
611
881
524
562
865
467
577
264
494
741
632
735
983
822
327
815
687
525
875
108
423
189
740
512
771
624
919
644
474
484
302
914
635
462
322
613
414
455
104
814
993
595
394
249
655
1
868
373
479
682
890
977
299
436
593
959
908
524
199
263
633
172
816
510
375
804
392
460
194
98
230
193
156
526
448
315
564
982
907
86
417
675
46
918
635
488
412
936
305
726
198
957
762
7
334
859
693
47
488
32
821
371
843
166
820
554
739
93
620
275
462
994
756
298
230
972
812
231
435
285
753
125
957
777
879
523
335
818
22
86
554
209
878
113
940
412
705
635
599
170
102
240
624
866
381
536
886
291
364
789
50
673
797
330
684
141
868
349
513
541
168
264
926
590
524
720
185
371
557
272
648
573
626
83
691
399
777
975
619
316
389
38
628
613
169
340
270
378
806
9
162
215
840
763
439
373
18
226
83
782
31
262
936
433
15
518
28
182
667
771
382
549
993
471
456
842
242
494
712
47
515
10
464
19
94
70
701
288
314
697
792
439
140
183
198
384
590
119
934
637
511
646
226
99
122
941
373
928
94
4
639
531
228
216
228
863
167
980
440
536
543
372
210
132
894
437
514
408
538
492
806
730
820
534
484
759
917
269
758
174
452
356
29
21
701
670
727
317
219
907
516
7
203
793
730
447
168
885
732
775
621
120
978
291
892
301
786
564
659
868
703
266
133
476
55
162
189
817
448
611
690
248
172
191
680
222
944
690
548
488
740
682
972
589
317
288
816
848
540
966
189
507
575
180
158
6
19
974
638
61
594
968
353
855
377
496
531
599
645
365
330
624
123
972
423
774
830
441
351
461
403
711
206
317
32
763
559
578
352
45
120
671
878
88
524
67
437
732
693
36
282
354
258
844
263
723
452
629
58
53
365
81
796
526
611
931
524
891
234
687
41
882
333
424
805
3
716
962
891
579
990
348
980
36
482
984
598
547
133
294
283
772
157
590
551
647
145
567
442
122
461
265
503
475
573
806
819
676
359
664
376
699
466
182
839
736
441
168
363
424
682
928
144
254
575
151
846
78
452
964
880
363
492
561
677
963
891
372
633
141
455
541
35
930
337
157
392
513
81
471
770
582
17
246
622
592
243
86
24
699
413
533
106
897
434
866
993
403
498
549
366
76
30
756
3
569
313
557
102
488
563
645
377
19
990
270
847
831
450
581
121
785
996
641
931
200
287
103
727
63
141
123
990
576
933
184
572
772
361
884
275
190
90
363
664
953
791
901
531
382
951
786
931
414
867
116
932
351
36
296
722
594
529
182
320
598
285
11
633
813
967
215
347
763
781
417
324
644
381
824
453
703
482
663
509
332
747
930
636
535
899
3
119
149
935
135
818
349
615
594
529
541
8
291
11
238
573
947
676
909
698
357
481
251
854
907
415
6
42
690
438
42
884
160
857
281
849
615
77
120
771
551
119
525
191
898
880
560
768
112
431
621
113
911
591
893
271
301
153
322
356
332
889
929
840
61
720
175
423
573
753
421
30
202
375
366
305
902
993
245
25
471
989
805
711
741
817
169
327
90
815
596
915
914
49
569
45
997
586
303
343
985
333
442
609
595
636
687
504
724
371
602
189
748
585
998
150
625
287
145
693
390
22
131
220
786
248
770
367
898
557
342
239
743
217
89
583
183
941
299
538
951
92
101
769
245
80
531
794
741
432
215
224
843
377
48
409
703
346
541
83
26
123
618
898
744
723
965
707
614
436
413
109
776
545
804
459
19
53
445
570
470
373
874
168
425
162
670
631
901
314
794
114
510
113
764
52
594
97
952
743
809
9
800
574
305
481
313
74
575
544
389
803
555
197
575
414
972
225
640
353
407
818
90
843
110
315
294
350
481
636
853
5
71
622
124
122
168
314
528
110
758
20
724
949
17
238
836
931
693
195
128
69
238
886
374
890
805
483
902
4
842
738
147
531
975
725
644
810
554
86
755
645
194
382
517
545
837
820
451
555
344
310
809
938
712
664
69
304
133
414
42
105
243
801
582
233
462
821
445
732
509
704
337
101
24
36
479
227
504
1
725
464
184
449
198
548
455
986
901
959
378
227
32
375
355
267
330
538
665
906
715
969
539
956
442
431
389
95
470
840
272
536
929
71
41
459
284
39
876
922
794
980
941
96
318
269
195
830
923
758
871
938
145
619
160
844
216
442
308
510
658
194
235
283
135
280
29
718
836
562
69
836
426
785
205
256
366
245
424
771
721
530
947
540
396
709
787
538
163
531
164
390
558
628
393
647
801
85
454
603
526
791
472
665
287
635
577
929
178
898
473
533
73
982
322
84
862
256
994
218
955
865
240
581
335
97
56
632
822
370
725
141
700
358
149
116
220
670
804
804
346
331
417
873
875
243
138
200
217
905
414
994
921
641
409
612
354
438
808
417
597
517
770
334
299
305
732
197
388
27
320
968
994
994
424
553
35
657
363
983
558
862
876
426
275
989
436
894
414
272
493
674
386
827
617
17
297
109
158
157
655
106
848
333
845
833
682
492
483
678
219
728
812
652
211
391
639
795
580
523
931
444
766
591
403
390
933
112
14
115
891
563
417
545
328
611
746
232
788
956
895
203
272
677
613
896
34
60
622
78
379
797
931
76
592
359
430
709
718
412
668
859
285
876
706
197
394
133
148
766
647
253
51
390
6
613
694
80
164
432
939
433
559
384
750
729
661
113
849
364
91
979
161
66
238
545
112
801
315
569
788
454
778
185
55
855
394
598
126
816
757
411
317
923
125
325
751
447
506
703
256
619
664
243
424
970
379
324
239
307
586
616
538
325
498
768
718
214
302
963
550
887
614
398
426
515
961
483
216
692
716
532
276
731
617
199
885
988
705
832
314
843
892
280
636
96
287
237
81
640
160
415
627
286
942
164
54
96
433
244
118
31
402
94
891
790
417
704
353
393
406
991
698
801
336
532
350
982
575
147
182
276
576
845
850
371
876
663
451
344
623
510
778
326
155
562
484
121
440
615
288
13
742
432
299
677
673
15
183
895
204
70
512
122
764
325
173
555
105
334
79
860
48
49
1000
550
761
969
295
247
189
92
937
243
744
919
646
152
314
517
256
787
723
208
962
365
859
885
715
55
73
795
73
511
962
218
55
467
476
180
920
433
265
823
574
388
191
924
138
422
405
278
368
20
456
694
620
910
800
403
945
956
448
762
366
845
562
950
259
89
181
315
295
326
126
336
981
773
213
917
596
670
624
372
506
638
121
616
770
528
360
982
965
692
908
751
178
611
263
433
507
768
520
427
780
894
362
153
435
913
972
956
1
875
818
104
244
311
38
429
483
33
571
102
265
651
832
693
968
452
300
960
740
379
682
52
670
289
536
396
271
28
206
525
42
779
582
840
861
161
829
459
976
478
221
18
695
87
770
852
562
462
866
448
434
374
941
728
954
523
141
456
730
547
691
160
934
668
796
576
355
905
197
72
802
460
377
230
473
337
239
292
8
724
813
361
784
152
499
54
962
230
467
1
833
454
680
180
851
809
227
609
809
478
558
996
448
365
595
71
121
422
668
195
244
401
786
879
214
852
20
285
985
388
442
900
585
789
146
364
598
807
857
581
523
277
931
228
65
785
683
79
695
380
256
758
379
612
145
174
472
254
322
293
106
576
398
974
179
885
470
883
773
707
282
84
42
95
190
80
46
902
73
159
795
476
344
574
945
235
87
837
343
602
627
969
323
865
5
478
698
773
537
921
170
562
600
544
991
185
675
390
407
156
350
435
772
658
563
598
707
220
880
997
42
826
799
742
920
49
106
139
463
759
465
997
563
793
240
202
242
478
626
251
431
303
888
416
529
625
827
955
525
77
602
11
100
668
916
720
692
386
49
502
870
308
136
100
589
167
144
500
691
921
495
969
789
384
927
188
649
669
697
175
123
991
287
169
30
50
412
238
801
379
264
911
139
784
633
2
433
76
210
479
754
703
75
436
133
969
732
478
646
601
240
742
246
440
934
540
198
928
312
393
782
420
316
159
726
279
388
434
141
170
971
827
230
511
825
403
420
931
686
544
128
696
29
454
279
415
303
619
364
14
324
764
160
69
192
380
574
44
740
296
748
453
253
926
615
867
878
715
241
763
78
312
944
799
604
263
694
454
298
507
561
419
32
330
163
545
618
792
64
467
340
438
660
568
862
967
751
334
719
173
996
280
63
146
439
297
428
591
414
722
768
634
649
597
633
669
809
342
416
186
311
326
628
97
533
784
631
468
729
119
126
507
152
777
57
854
139
898
885
696
490
339
541
245
853
869
352
445
9
503
53
246
362
329
369
582
941
733
705
561
317
128
261
800
590
466
121
121
308
634
612
50
44
939
546
57
86
468
379
173
820
648
521
61
141
531
338
845
251
382
843
632
68
962
833
56
752
307
46
142
223
506
929
267
344
958
619
823
367
942
449
946
681
547
888
831
794
445
968
171
168
957
782
631
751
457
50
744
220
414
139
31
881
712
406
159
516
198
235
562
658
60
650
677
168
567
122
5
731
515
790
363
583
135
906
211
348
17
440
856
218
814
44
497
120
931
925
980
54
978
953
690
144
851
820
116
69
98
158
432
488
121
257
529
872
669
251
197
205
406
252
651
808
202
226
653
402
770
38
624
682
336
174
630
191
241
259
856
577
619
48
355
633
753
233
732
201
229
451
740
324
320
607
616
293
725
554
827
989
204
847
3
801
237
403
285
409
763
123
958
196
490
975
847
691
849
546
396
60
978
452
25
630
299
735
310
159
440
431
175
279
510
885
705
840
675
470
359
570
979
38
336
318
681
190
592
134
980
384
87
906
855
955
598
671
765
449
937
359
382
594
856
408
756
913
946
892
465
158
836
588
416
412
574
322
770
217
533
41
386
732
790
58
472
356
590
423
859
46
660
515
761
283
750
821
667
252
38
343
259
468
95
36
394
125
503
924
318
461
474
489
155
227
696
855
448
968
660
205
963
989
457
500
105
785
248
275
74
824
805
385
473
868
453
705
200
75
941
536
305
794
86
741
185
517
244
30
664
340
262
85
435
397
112
418
369
393
36
134
722
655
343
574
747
293
854
424
666
948
845
360
301
204
93
994
210
118
31
807
332
635
973
729
96
498
388
245
54
494
120
125
422
173
533
765
1000
889
252
285
758
725
727
971
462
321
813
7
449
466
978
876
20
304
192
921
694
442
710
399
735
572
31
655
238
907
90
31
440
463
832
711
451
378
120
447
396
280
663
691
57
9
877
391
34
768
407
505
333
398
369
147
81
272
160
901
226
908
323
834
249
272
467
93
266
352
968
162
921
646
228
899
96
919
708
490
514
533
327
368
187
300
483
40
74
167
113
914
515
237
142
890
946
20
239
272
457
73
437
208
315
833
872
851
1
458
52
888
990
794
791
727
407
95
988
75
823
564
223
594
210
521
186
565
842
571
560
59
280
625
912
12
380
730
27
158
914
887
819
23
328
329
811
484
913
945
453
150
581
777
557
547
4
560
398
777
825
896
350
245
132
10
260
809
721
501
569
442
987
270
83
889
610
196
837
230
704
201
758
404
637
278
200
440
838
837
228
852
271
750
789
185
284
147
281
784
522
638
432
612
317
579
296
548
962
142
931
917
394
382
10
137
242
19
899
354
426
474
563
527
557
79
272
998
303
869
177
311
628
209
648
501
92
141
13
113
446
482
548
242
209
576
810
907
974
841
791
986
3
137
458
331
37
797
585
761
314
635
829
824
197
574
343
886
199
577
54
799
896
293
949
233
86
323
517
123
772
715
880
721
431
981
221
833
722
820
353
945
908
636
721
669
241
168
195
334
572
770
895
242
982
222
101
584
839
631
847
985
279
830
742
872
588
219
740
105
459
157
467
431
971
483
636
172
943
676
47
950
409
595
480
233
457
449
206
860
992
653
601
588
986
111
200
514
177
309
337
482
339
35
381
355
950
998
486
879
338
564
836
296
47
843
350
44
192
609
387
562
691
347
476
138
965
868
91
322
188
713
62
305
90
212
298
768
127
391
727
617
293
339
882
915
709
278
383
335
619
969
887
356
182
756
974
912
983
29
848
698
805
845
73
472
759
199
802
955
555
661
429
735
702
284
16
600
350
698
980
586
668
981
15
181
137
323
470
996
907
116
39
371
462
976
482
137
887
219
233
563
468
669
89
190
360
784
99
776
345
268
979
253
555
640
594
622
864
101
796
812
961
110
634
105
487
196
454
465
837
230
695
909
261
308
878
988
405
434
952
835
454
238
840
894
56
61
127
832
820
219
551
758
197
382
921
660
140
670
40
43
765
18
797
732
3
861
31
815
862
273
812
557
174
186
120
255
760
530
739
52
87
130
120
340
816
650
409
934
832
243
387
582
863
19
196
206
763
971
573
120
453
710
391
659
914
820
723
243
955
186
994
967
259
871
565
606
522
557
379
271
98
659
422
322
384
111
585
794
713
833
858
652
642
594
479
647
118
794
671
914
304
17
705
298
515
199
864
529
405
124
707
863
730
847
347
42
458
922
96
381
285
632
818
138
225
430
587
749
558
238
740
595
182
794
85
811
143
492
804
91
199
106
441
675
100
933
342
999
320
796
191
361
161
550
75
222
760
708
873
410
574
490
244
993
466
143
842
542
683
558
685
511
363
227
644
850
33
45
744
632
439
163
121
297
777
691
58
508
530
395
877
865
17
89
328
450
306
591
459
678
231
653
450
608
664
790
728
691
751
64
545
29
20
347
610
561
26
873
425
774
732
889
424
899
989
61
103
422
717
929
614
40
219
586
331
431
884
152
354
105
164
856
643
441
30
645
226
605
802
220
86
132
427
367
169
502
570
474
446
572
133
55
714
19
193
581
143
431
748
578
579
529
286
80
968
452
887
949
984
644
284
948
566
492
95
71
922
374
930
261
259
411
216
46
919
423
772
647
568
34
123
142
627
949
418
168
265
375
44
215
687
993
591
478
150
393
310
74
133
564
94
866
805
349
103
507
274
994
344
77
240
88
357
70
487
778
545
913
1000
770
889
152
83
668
626
121
456
844
920
612
320
871
114
923
814
839
835
417
415
14
312
301
147
455
582
155
93
898
1
758
500
494
768
769
633
670
122
559
937
239
151
48
615
291
487
346
514
921
921
34
845
793
229
760
613
293
919
811
79
581
748
282
760
273
572
776
527
854
98
622
952
42
300
985
505
630
976
583
148
475
790
835
175
756
235
500
771
928
264
182
220
418
145
972
438
374
9
477
790
206
498
970
840
32
3
519
989
103
444
523
201
579
408
102
688
601
138
702
963
918
719
38
448
213
110
655
667
906
845
113
295
441
721
932
925
47
195
572
223
877
592
168
333
609
127
525
523
517
859
275
476
435
17
852
302
734
146
443
354
892
369
125
344
697
337
687
129
3
516
763
222
728
81
568
329
334
438
476
209
463
956
90
351
855
864
275
226
251
323
975
413
407
382
460
421
73
519
425
900
426
652
243
828
618
206
23
663
939
702
224
587
232
561
869
12
955
809
870
773
84
654
855
111
518
390
196
827
358
656
85
937
677
483
467
65
982
555
396
975
437
389
366
928
87
754
303
235
600
38
877
877
331
68
923
852
730
858
240
939
188
380
409
341
95
984
24
453
907
62
414
769
257
82
845
91
191
675
226
801
789
363
231
542
223
171
109
46
42
113
225
965
37
68
6
504
855
821
391
325
65
552
935
414
118
540
932
268
45
76
711
525
744
935
662
929
727
250
888
771
591
767
832
773
170
131
786
386
775
201
452
851
952
517
79
238
292
373
286
409
155
170
991
331
430
757
413
139
550
718
623
368
308
314
749
263
936
62
98
117
338
313
583
333
900
452
927
969
831
176
716
633
423
670
932
580
160
432
653
960
973
421
875
61
188
941
664
423
762
523
47
444
1
257
611
375
620
358
212
604
274
546
688
724
295
86
519
340
385
631
802
342
651
619
759
707
762
830
348
760
503
281
604
218
203
870
196
20
766
479
725
327
725
835
393
1
267
28
846
524
568
508
400
855
18
150
618
530
288
484
229
847
401
981
968
296
750
572
923
106
823
893
26
161
545
366
308
682
912
728
995
164
595
40
197
625
184
821
80
456
178
580
814
307
313
287
212
281
479
379
498
578
189
251
247
140
950
661
526
709
450
562
925
832
878
189
384
226
709
665
569
479
598
941
709
266
274
776
208
720
227
297
78
235
585
697
479
342
587
678
644
357
199
415
841
792
748
654
397
215
923
317
774
523
682
433
427
492
761
79
177
883
798
115
567
863
591
787
467
879
577
479
745
138
511
162
324
321
480
278
148
180
779
751
36
629
341
943
106
48
948
148
381
929
713
166
39
806
393
348
214
613
738
220
117
132
85
940
556
382
360
496
908
432
691
841
114
714
556
766
519
8
330
235
846
52
39
990
749
532
354
644
705
639
242
430
13
69
346
510
906
517
755
464
785
490
163
209
3
80
352
621
228
839
755
184
668
89
298
661
628
920
561
920
313
6
1000
837
591
890
853
807
42
753
209
432
580
935
725
304
51
277
694
260
171
222
378
543
852
754
869
134
451
359
254
250
348
68
165
473
343
545
847
331
635
316
166
635
229
812
959
794
909
110
550
434
373
657
680
698
922
459
799
661
965
131
667
511
889
984
607
512
796
745
268
864
929
554
282
462
290
298
145
593
462
724
474
16
862
382
767
882
624
899
115
694
946
668
575
118
597
363
985
549
57
574
685
886
222
307
910
3
602
728
134
12
96
287
774
172
530
313
146
966
523
604
650
881
489
418
787
465
733
980
819
392
713
184
912
495
741
107
738
788
338
230
779
32
562
411
483
186
680
354
298
40
596
246
642
255
298
357
155
803
437
586
550
525
700
768
15
409
864
483
21
600
200
919
897
905
306
689
864
627
289
911
259
997
948
304
185
303
727
80
496
609
811
497
115
471
912
974
271
782
386
283
250
211
914
83
861
269
248
72
146
238
168
862
491
391
855
411
194
885
288
786
223
653
870
873
328
476
972
750
853
911
908
761
892
249
711
43
936
647
736
383
89
923
167
281
159
215
526
89
261
219
392
998
93
98
522
87
838
68
612
544
614
104
478
956
432
689
328
302
677
278
814
187
320
707
192
211
530
25
423
89
159
590
842
307
150
919
61
206
151
421
825
786
551
759
759
306
468
479
420
871
953
256
212
834
259
348
496
281
818
516
717
173
217
503
964
215
716
662
229
448
540
125
554
61
316
413
587
152
19
495
712
806
604
410
633
313
971
881
427
228
205
789
212
789
968
625
582
363
547
336
441
810
15
474
439
307
561
837
650
716
442
685
501
643
412
739
545
673
298
925
590
893
502
820
501
624
149
225
711
856
335
706
72
123
76
217
992
778
359
144
664
98
463
336
13
437
755
550
628
119
442
135
359
269
881
333
757
425
229
521
999
42
183
278
476
717
655
740
969
748
173
697
544
438
595
126
517
41
405
37
813
949
27
367
569
115
923
993
731
619
952
904
952
170
794
697
92
882
603
311
162
596
753
971
969
43
376
826
424
210
546
387
699
135
572
163
842
844
263
430
512
1
216
503
894
278
143
568
462
284
284
335
844
681
407
414
183
806
316
436
452
95
555
91
328
764
266
523
764
709
725
715
199
465
554
823
677
127
765
72
282
792
427
751
438
436
988
562
598
782
905
986
802
113
455
162
173
685
433
567
108
320
590
64
139
969
610
848
922
540
47
554
583
238
948
475
481
623
39
843
763
864
95
763
361
877
562
47
46
11
937
757
747
332
308
433
729
370
269
34
354
588
462
710
405
790
396
338
757
379
985
206
43
142
386
392
756
83
947
269
410
865
984
739
339
471
128
365
541
139
661
233
469
357
530
318
58
353
472
624
903
135
538
965
42
293
967
755
262
152
453
2
761
506
253
879
55
323
444
28
343
597
678
138
34
567
435
379
515
772
602
787
602
105
586
381
564
27
603
205
811
151
273
249
194
85
964
192
964
236
444
597
517
607
918
537
594
432
240
949
790
24
831
335
724
678
705
125
420
649
313
891
664
865
399
670
266
893
694
764
39
580
675
446
216
612
687
35
700
106
104
168
772
759
683
199
466
359
642
895
691
374
886
730
859
301
813
587
230
840
99
698
612
101
765
481
987
800
482
247
143
32
8
98
149
1
919
227
406
50
758
141
129
298
863
818
812
976
332
992
521
262
426
982
320
579
8
337
137
122
64
407
849
781
573
957
58
583
459
609
307
109
2
791
745
675
102
320
817
671
43
362
529
247
113
304
805
878
1
24
656
862
29
565
534
185
609
98
166
796
669
685
804
350
351
858
338
853
457
529
221
91
855
856
280
148
392
957
271
697
416
315
741
379
526
127
905
513
29
118
534
279
614
874
585
28
557
560
501
296
597
304
336
887
168
516
978
919
111
679
374
348
290
352
873
562
185
932
15
70
10
548
715
78
151
202
220
871
869
528
613
312
584
597
491
83
492
208
709
259
970
222
887
997
108
491
322
313
120
326
865
506
111
477
712
391
780
134
706
800
415
794
457
455
661
372
283
339
820
940
827
994
39
156
264
854
388
247
649
517
64
419
279
294
191
762
178
395
170
444
105
424
355
514
985
755
149
911
621
213
888
797
16
441
988
775
12
958
534
449
554
738
869
988
45
574
827
459
68
296
804
155
739
734
167
644
525
578
38
348
812
724
786
361
801
749
56
832
279
845
128
630
972
561
63
799
703
270
750
794
817
610
422
585
209
333
695
574
607
257
943
773
157
153
132
838
655
838
999
249
733
785
413
86
830
352
224
528
661
283
386
117
275
402
671
512
397
733
628
24
609
407
876
805
631
109
490
745
194
198
274
121
526
274
421
343
896
934
343
161
889
600
151
320
565
443
224
598
471
543
881
610
131
698
39
140
474
659
848
268
497
765
128
898
152
99
1000
576
563
563
585
823
565
316
266
573
352
567
434
762
161
333
384
396
475
180
696
209
837
418
778
744
99
272
84
249
105
299
208
260
357
539
45
842
961
470
409
623
947
465
210
14
348
279
144
675
60
688
1
377
833
109
726
437
523
931
862
697
11
927
605
698
804
594
32
698
653
84
921
962
533
716
88
667
127
125
399
744
734
247
406
209
638
279
36
24
533
888
385
451
749
467
292
502
574
354
870
638
599
731
18
610
436
556
240
975
558
67
374
580
962
975
152
52
770
210
374
571
135
749
981
154
350
404
276
565
997
195
573
641
406
48
286
396
679
115
490
480
92
484
243
838
84
679
844
357
721
857
56
935
526
550
839
990
59
829
712
63
527
164
485
35
128
640
323
578
257
286
845
299
93
778
155
339
150
676
224
277
929
320
368
31
687
193
921
542
377
495
847
183
881
13
287
629
316
434
595
362
699
186
659
212
210
793
694
862
825
890
37
416
352
874
101
483
609
503
376
171
630
181
468
823
289
471
759
932
422
942
348
931
280
470
501
865
286
5
432
278
278
408
282
198
341
440
58
167
436
222
57
630
791
111
652
467
825
605
153
404
869
105
978
662
423
379
23
16
930
603
429
562
750
71
506
664
324
949
717
161
246
185
203
810
56
371
957
429
205
571
299
623
781
906
323
161
787
52
431
163
83
83
902
726
126
31
355
854
973
373
627
92
538
836
131
559
173
756
707
908
892
303
156
654
951
723
987
738
744
130
672
465
842
320
697
400
846
996
227
360
360
10
365
172
758
12
631
964
554
190
411
668
944
55
765
736
221
891
125
927
704
178
354
88
976
844
155
514
154
187
907
654
760
756
296
498
469
428
562
493
841
648
811
506
728
395
750
832
665
505
493
933
415
467
66
684
322
598
872
189
746
81
26
8
374
134
437
127
489
72
330
794
756
396
519
79
767
394
738
118
720
377
944
330
804
166
18
61
23
641
56
496
816
908
794
200
102
45
955
502
333
321
844
728
412
715
764
904
492
814
588
432
458
991
869
66
364
587
121
443
748
858
351
709
504
458
366
251
706
354
649
85
360
950
975
432
36
879
529
284
743
1
531
362
150
582
12
876
763
82
923
558
715
132
221
675
484
262
396
653
352
722
511
990
701
563
635
118
765
6
79
25
776
27
333
213
75
67
271
128
770
651
232
196
106
874
478
413
66
873
208
234
651
789
246
918
208
516
714
859
667
241
75
153
909
22
563
74
650
113
887
626
998
619
680
186
580
630
850
175
26
845
858
462
70
729
143
967
219
359
928
212
895
869
716
504
453
351
541
564
752
477
142
49
287
126
796
250
809
491
730
492
802
384
969
657
324
106
172
203
123
1000
987
365
365
197
699
713
337
668
587
548
96
764
211
738
466
127
383
196
279
319
886
216
521
86
806
434
841
47
997
713
624
135
59
268
33
482
336
382
290
334
766
622
887
898
332
870
315
51
814
157
667
949
445
680
818
942
813
453
275
299
840
215
841
555
873
786
803
761
258
343
507
47
478
431
988
381
643
338
889
552
770
986
39
467
700
656
345
808
988
953
73
586
797
605
550
195
827
877
398
970
406
335
784
69
751
485
128
843
887
739
155
285
879
225
664
978
369
662
334
347
845
583
172
185
429
149
5
425
948
376
156
480
730
143
212
361
50
161
439
317
916
388
164
639
946
91
29
68
924
245
564
106
9
877
183
169
976
556
73
295
300
66
316
383
948
643
772
334
858
748
543
419
214
38
18
955
614
725
17
515
351
253
400
571
919
614
750
451
642
676
459
860
833
152
184
318
615
361
232
124
936
980
798
3
371
574
517
782
15
709
556
779
230
538
467
477
555
210
546
982
318
56
995
593
420
933
181
489
300
280
881
917
757
124
324
81
780
124
400
399
606
742
352
298
184
401
204
215
582
56
795
991
87
780
946
327
322
917
321
450
465
517
10
280
119
295
436
463
438
31
324
170
738
635
283
584
74
528
114
360
126
861
274
483
308
230
809
587
183
456
694
146
666
685
246
478
510
378
562
474
457
441
338
172
739
459
15
299
800
867
150
41
440
613
331
372
382
218
348
217
316
987
660
705
592
494
82
973
487
813
966
832
768
427
235
817
277
579
304
128
984
147
909
229
54
37
934
300
192
550
63
179
625
345
100
946
96
701
714
196
278
387
46
408
815
802
814
866
220
540
438
588
819
34
858
123
676
141
471
805
64
320
814
412
672
358
658
347
583
50
969
978
18
156
407
56
4
348
155
416
179
282
525
601
113
294
23
379
280
200
547
202
863
81
945
777
622
367
928
846
683
403
863
279
516
215
309
666
426
558
739
294
117
348
649
32
764
825
810
246
133
438
915
177
771
270
535
27
879
227
765
748
780
651
37
83
578
710
858
823
662
480
883
213
325
417
150
849
804
155
874
310
773
882
462
512
743
699
271
371
130
396
408
125
398
174
115
8
79
984
946
189
556
159
118
491
187
334
602
593
176
658
925
737
672
680
963
990
410
539
748
618
507
677
820
826
569
513
680
70
271
531
629
374
445
747
170
226
339
878
582
481
460
138
634
436
262
704
134
691
824
197
113
381
306
544
719
878
496
689
448
438
508
190
193
666
976
53
969
48
927
609
197
766
641
518
755
940
174
274
513
503
17
387
106
578
93
657
235
383
495
467
547
252
332
843
485
410
616
580
456
929
837
984
705
402
207
150
13
351
538
960
200
809
901
180
377
689
441
942
215
714
463
631
156
730
288
531
664
423
933
172
927
418
861
747
845
895
673
54
558
17
234
683
238
75
648
299
461
103
41
561
160
943
716
363
895
995
325
643
65
832
916
829
219
987
516
82
4
765
229
983
953
279
845
946
144
23
78
411
758
515
970
555
430
512
958
620
970
821
91
275
421
319
70
167
154
740
120
466
337
548
761
768
349
657
891
488
415
924
769
74
299
307
63
455
611
159
379
361
772
551
22
369
723
304
135
578
759
632
182
145
164
172
824
590
790
882
991
146
811
266
7
99
461
363
491
223
184
698
359
426
570
264
168
134
107
483
754
896
786
553
691
155
304
976
374
327
651
460
964
410
61
565
328
75
166
42
307
488
382
239
368
436
844
668
715
509
865
915
836
788
347
106
376
88
438
417
641
739
843
7
205
162
706
603
792
41
179
377
143
280
538
612
652
33
541
965
435
904
491
548
164
661
156
459
44
863
981
279
899
319
133
657
7
345
205
693
960
222
33
165
237
574
802
368
966
448
327
184
274
693
435
628
40
799
617
20
884
363
926
669
130
639
410
860
713
477
571
25
89
887
592
676
47
57
441
573
605
858
913
100
975
673
312
885
549
211
259
876
568
445
822
608
957
220
776
227
300
998
278
623
327
314
279
618
32
562
434
267
189
348
258
375
749
584
87
958
331
464
361
153
803
388
338
201
309
153
977
279
898
344
577
921
860
254
58
847
803
189
550
924
545
203
867
602
944
109
973
112
207
284
433
30
70
638
577
565
1
22
209
462
47
861
364
214
296
771
1000
751
868
432
672
90
685
221
121
278
53
315
204
141
383
627
48
835
753
257
299
987
161
310
643
844
653
417
603
106
59
82
258
534
408
792
955
973
403
316
559
264
547
892
269
791
110
706
189
478
976
507
942
224
37
798
411
602
169
539
190
771
369
807
157
63
864
634
910
813
75
423
997
160
878
763
100
433
165
319
316
722
812
488
567
793
358
587
828
653
123
498
179
193
37
805
353
371
488
14
625
488
472
671
315
749
379
169
602
220
190
991
809
983
996
1
2
568
964
786
398
26
931
318
396
651
455
848
771
764
166
993
532
962
726
792
374
200
332
212
797
454
627
690
813
597
522
557
952
583
517
182
55
15
766
171
630
638
181
469
371
291
691
205
900
155
361
821
438
729
195
51
269
817
945
521
197
226
655
555
458
30
747
483
892
92
146
92
635
120
483
11
503
707
679
802
27
601
585
904
105
445
731
469
505
920
392
260
13
190
479
935
531
754
483
399
556
299
672
120
77
947
340
831
174
257
975
391
187
189
348
394
554
637
650
226
843
794
27
888
837
50
629
855
183
99
322
516
171
666
208
236
298
7
953
137
872
152
988
704
707
308
271
650
579
323
78
416
838
373
790
526
994
96
205
649
780
107
687
85
341
675
794
399
573
14
55
359
536
980
530
160
723
674
847
997
13
619
955
220
540
369
167
913
644
267
244
897
922
630
176
412
530
237
806
340
616
496
640
853
499
864
134
998
590
6
337
71
390
323
561
231
701
403
563
60
431
457
223
740
133
177
739
227
913
517
868
356
891
114
946
529
289
334
489
694
576
960
701
580
151
727
735
633
790
965
498
61
436
970
425
7
592
171
412
424
992
161
834
637
145
343
921
440
328
961
548
359
516
432
667
924
734
118
3
23
960
711
468
775
731
793
509
39
721
934
61
246
657
468
947
161
751
647
605
955
904
857
386
617
137
974
228
461
790
982
543
841
731
220
31
711
97
456
110
882
435
421
424
851
231
997
643
278
20
481
264
394
263
665
541
65
516
12
673
611
674
148
307
171
303
419
18
139
425
201
522
641
449
774
8
168
760
888
783
979
89
194
182
299
77
897
756
209
268
317
539
314
970
346
704
178
560
647
343
929
289
988
540
300
143
830
342
7
90
303
980
178
852
42
44
547
527
256
370
490
21
311
932
631
77
454
846
23
856
556
975
852
962
536
678
541
919
624
273
942
991
886
632
124
934
255
456
736
955
485
213
642
101
467
421
777
45
301
15
76
982
763
598
966
720
665
416
187
429
322
689
654
149
952
568
208
947
785
565
207
106
63
415
4
156
652
802
157
636
741
487
25
13
226
598
226
807
40
967
977
650
907
807
356
397
2
638
332
747
240
106
852
931
360
969
146
315
697
318
872
658
146
70
759
6
358
610
289
111
534
163
587
461
97
472
18
925
203
682
505
189
630
570
432
359
933
779
479
254
707
273
119
908
382
948
39
549
340
467
94
271
728
33
836
649
409
38
921
969
361
520
986
79
919
886
16
847
505
424
159
603
520
228
532
992
54
522
281
353
140
347
441
470
207
727
464
313
65
931
45
854
827
518
887
629
823
345
947
910
709
447
101
562
173
492
310
92
881
751
735
766
9
720
103
460
968
23
161
397
757
412
309
123
849
159
459
381
478
326
704
251
997
854
870
984
26
648
177
983
129
605
534
728
126
37
691
158
42
716
442
299
523
498
470
152
617
920
386
259
562
751
494
836
103
91
58
650
638
230
781
418
207
865
148
119
618
376
502
598
954
788
437
74
847
165
357
457
666
58
301
490
96
832
967
150
164
363
338
853
979
430
938
463
658
369
853
663
620
466
678
725
126
337
727
702
924
220
401
996
664
250
72
48
104
676
24
956
347
247
11
451
582
404
11
747
686
480
786
320
866
920
263
2
557
995
808
425
688
186
40
801
495
698
689
765
17
978
791
50
749
649
419
868
223
296
352
504
897
668
336
971
339
691
24
695
107
750
309
593
714
93
501
328
746
263
60
513
300
273
852
560
15
723
986
228
799
973
492
682
306
249
842
954
919
339
260
661
169
813
148
663
282
453
188
501
597
24
373
597
634
274
974
123
216
977
765
141
818
339
825
614
410
244
228
690
181
639
118
239
164
893
580
713
980
437
561
69
566
26
932
372
929
765
217
739
286
903
564
790
840
608
388
90
17
947
215
778
994
62
852
990
931
737
37
165
454
654
704
10
121
944
195
343
860
614
628
375
198
399
902
618
544
489
118
311
765
597
209
345
613
457
993
712
14
557
570
161
97
341
73
633
267
857
944
857
446
388
71
636
473
91
411
425
321
550
144
441
285
175
603
94
9
838
42
228
514
137
279
665
795
696
868
837
618
162
770
46
834
849
55
358
763
935
328
580
677
190
92
328
745
355
918
421
142
788
213
712
688
474
93
892
326
574
516
326
433
655
490
346
774
411
573
804
784
908
295
372
529
507
695
625
334
566
421
222
322
990
68
369
436
937
339
531
584
62
153
533
685
876
320
102
582
817
158
799
733
824
987
188
631
280
36
619
430
637
289
529
14
391
641
236
820
678
629
770
790
156
125
870
562
37
885
959
958
814
981
988
115
461
713
363
91
22
544
201
634
948
695
506
755
709
294
506
299
527
741
721
923
536
105
137
129
938
118
684
222
77
254
178
933
511
682
769
124
501
406
233
108
911
455
100
970
970
266
189
842
435
185
943
730
225
672
896
104
73
948
680
581
490
163
877
619
890
919
332
814
529
807
724
268
300
239
479
719
892
883
981
366
110
95
645
304
861
48
640
941
299
507
88
257
253
913
278
305
356
776
24
766
909
104
828
147
729
106
412
508
605
852
970
626
516
289
16
286
464
591
795
632
935
361
623
793
658
998
958
99
599
602
337
710
48
967
477
338
446
771
723
447
197
324
681
195
651
822
953
846
921
652
743
938
900
421
744
997
908
936
444
1
52
422
901
15
131
367
518
222
846
10
625
77
925
803
759
808
965
895
579
471
871
358
398
986
553
796
301
553
781
948
819
588
275
535
619
471
629
875
265
953
196
791
928
455
255
820
119
953
381
710
390
157
175
292
947
673
564
241
862
308
450
164
476
156
834
903
261
595
383
405
86
422
416
488
996
307
152
826
761
245
655
274
704
250
32
532
598
389
952
67
637
846
18
815
499
701
964
937
442
239
422
949
721
691
312
519
346
119
961
357
303
125
212
494
312
475
309
673
998
839
699
987
880
310
14
223
696
108
679
362
814
102
798
770
756
804
822
855
479
602
830
95
907
551
172
362
30
400
24
460
743
504
227
851
947
129
289
961
934
434
647
723
535
731
400
172
261
786
805
822
557
353
378
590
883
337
754
795
257
828
116
851
167
504
475
548
386
10
264
415
578
638
67
355
59
365
392
319
577
24
641
598
519
537
250
723
814
686
206
239
385
662
348
16
780
156
958
588
549
579
129
13
39
289
387
493
287
947
610
717
791
146
808
938
746
754
82
121
417
941
451
974
337
22
756
219
936
802
448
31
967
377
750
705
412
417
719
484
712
749
652
287
712
506
837
316
69
32
512
409
945
340
507
576
770
83
634
174
226
171
705
710
48
873
648
379
944
650
319
325
21
292
786
259
865
235
165
889
825
503
82
245
989
817
884
766
358
248
367
218
919
132
66
74
116
503
536
937
141
124
796
409
663
12
990
485
977
182
251
431
120
380
717
365
895
756
570
387
125
799
605
536
696
984
253
941
707
983
284
373
289
358
236
890
718
174
120
514
887
64
424
811
245
364
228
539
534
724
905
749
353
27
689
427
253
936
514
970
789
284
240
117
855
65
385
524
261
900
320
427
657
344
934
863
337
103
814
248
121
121
144
714
188
68
192
593
222
993
521
116
276
134
479
935
562
288
752
515
538
967
638
992
421
858
496
333
8
765
666
505
891
911
651
759
52
963
913
231
432
581
329
535
933
193
288
213
463
778
171
63
936
708
405
744
89
161
48
360
762
656
625
663
341
927
143
803
803
481
127
967
470
166
907
165
109
477
651
963
918
704
73
652
845
814
705
599
749
307
647
259
404
890
564
477
469
159
256
865
589
767
696
583
534
811
873
181
369
573
621
479
731
638
250
449
538
544
338
152
494
230
301
781
781
703
206
135
852
708
594
589
558
644
516
914
319
667
948
299
779
610
576
844
102
873
741
652
560
703
366
774
529
284
909
570
99
663
706
391
184
995
456
964
483
612
130
486
775
314
252
133
185
784
360
466
604
346
214
314
738
458
473
891
922
987
834
863
922
475
989
831
674
136
847
847
683
880
980
739
54
520
499
888
837
278
153
239
724
875
592
251
473
205
66
781
939
693
855
741
305
162
653
180
98
291
468
393
332
152
796
854
745
844
395
831
167
188
486
855
866
419
713
62
365
304
167
576
268
138
337
201
671
357
296
382
611
859
539
211
767
237
31
917
52
142
298
452
301
357
925
911
249
71
163
175
190
256
138
284
323
443
453
861
625
54
332
126
91
785
427
637
918
388
617
987
68
769
264
640
253
440
758
594
794
686
692
438
887
233
536
335
311
706
537
474
939
72
390
147
362
864
969
253
207
262
719
801
762
335
685
202
300
86
841
351
986
522
796
60
935
51
952
680
699
111
454
672
560
723
839
77
885
603
39
509
338
513
430
3
880
114
556
444
497
549
170
841
858
316
757
698
48
376
155
156
568
503
228
79
209
479
305
347
38
244
97
493
977
55
445
478
513
799
586
448
553
891
85
938
454
167
721
942
793
263
579
804
384
929
831
751
702
730
922
279
406
583
287
81
799
114
271
604
294
35
598
778
549
751
862
85
70
771
70
393
298
806
872
818
569
346
830
960
973
105
497
742
818
325
381
822
394
136
546
127
28
797
735
673
541
420
939
728
287
637
673
573
670
795
929
810
502
21
144
348
438
462
479
346
785
657
236
751
934
7
860
181
100
829
490
629
620
711
958
804
454
194
289
103
213
358
777
542
474
385
330
992
51
935
877
441
143
33
95
599
494
70
199
735
76
890
92
10
711
508
532
898
313
189
976
846
372
945
625
225
722
561
603
482
166
517
922
433
597
190
88
4
149
709
302
712
509
429
603
191
553
944
865
19
367
446
834
4
607
171
186
79
304
650
510
467
83
670
457
521
465
952
556
868
20
167
542
549
465
634
684
708
585
992
761
898
441
753
771
154
652
637
244
918
724
29
635
727
293
533
251
45
185
850
397
254
252
277
253
185
169
606
434
673
568
971
972
936
858
344
776
360
888
106
267
289
354
693
308
893
49
546
767
319
23
645
927
693
763
441
367
44
265
861
138
727
885
42
332
371
685
437
409
499
665
39
783
364
58
531
115
570
122
391
468
377
212
653
555
954
54
411
81
605
702
927
969
393
816
345
410
871
21
265
976
445
42
748
642
119
203
448
70
423
889
333
294
123
167
659
891
548
764
392
454
803
958
688
39
107
144
815
783
813
249
286
940
767
580
207
376
888
91
736
5
710
773
912
21
249
409
485
391
197
979
793
355
270
724
364
804
734
210
497
328
731
335
666
572
888
359
995
166
142
231
787
256
851
482
615
167
475
980
620
101
727
883
40
469
700
440
404
951
208
977
77
478
311
309
636
456
594
501
729
721
662
263
106
297
58
376
758
442
982
269
168
602
83
656
617
158
71
10
926
452
395
401
191
607
822
460
918
223
373
252
336
430
123
541
768
191
794
946
129
58
391
910
609
314
917
624
393
481
933
933
635
696
169
49
638
720
459
605
527
891
133
334
785
420
706
282
9
435
185
922
567
999
347
176
289
778
942
413
175
958
857
30
662
868
697
325
442
215
187
772
331
953
502
517
845
954
945
285
357
746
583
449
166
392
68
821
204
258
336
357
465
30
820
224
957
229
617
363
671
113
733
527
695
104
461
729
347
926
891
456
131
560
178
544
682
576
760
296
600
331
424
825
774
142
13
619
300
539
508
483
473
911
698
605
970
833
88
598
806
384
764
859
335
295
181
597
414
613
823
899
83
501
616
379
7
626
222
124
336
144
804
960
256
574
479
89
132
647
154
900
44
516
78
724
381
567
734
25
636
159
116
811
833
738
879
904
392
867
183
622
128
970
786
934
103
565
908
129
84
200
220
72
207
959
400
200
690
24
174
358
883
169
42
790
150
991
850
179
127
806
333
246
635
976
707
448
5
827
131
746
632
789
544
250
675
100
991
581
615
568
391
913
12
235
524
207
221
255
13
617
411
40
749
767
824
320
984
51
426
329
447
235
761
661
237
215
621
65
934
283
80
684
180
35
461
777
80
50
908
217
933
255
42
312
664
657
650
947
992
744
808
370
379
450
7
708
730
664
129
898
753
83
48
986
219
280
524
995
143
705
43
757
382
710
426
316
362
649
379
97
39
312
675
948
586
500
372
595
242
608
549
558
801
259
673
256
371
456
600
85
980
476
477
546
796
785
825
456
968
569
771
969
910
627
781
832
391
214
524
9
833
548
259
504
991
815
28
685
128
205
41
880
746
534
648
179
150
822
101
970
692
30
529
376
946
658
764
176
594
446
884
275
922
92
873
564
954
89
175
983
251
166
814
261
987
576
454
912
330
66
823
807
899
420
44
117
419
262
606
354
84
437
309
692
184
474
513
480
139
124
650
566
364
558
78
231
593
598
936
741
883
265
355
155
832
794
19
73
386
699
848
816
495
467
600
94
211
576
787
466
243
928
880
939
724
938
46
241
924
564
804
280
109
318
905
715
203
167
733
121
526
568
495
400
785
895
347
866
911
815
182
493
344
888
325
349
198
359
587
456
507
785
272
507
512
824
164
492
499
233
992
748
284
696
393
953
763
480
574
815
213
168
587
642
194
225
869
38
432
731
31
872
868
617
132
560
469
174
849
849
386
975
673
685
610
156
52
929
890
730
914
299
979
331
851
192
724
244
309
199
389
551
365
957
346
13
479
729
43
749
613
963
998
937
951
131
416
119
790
421
977
792
835
487
919
609
655
225
366
784
610
564
511
847
738
793
640
825
633
668
933
487
144
969
933
106
588
619
320
5
765
50
60
75
356
671
899
145
126
131
515
619
852
510
905
865
17
482
717
648
549
400
331
80
307
47
913
1
134
39
452
458
586
210
386
364
289
119
371
618
288
829
910
664
10
707
940
411
999
424
431
374
831
61
428
432
554
432
759
52
557
948
183
943
188
423
566
973
355
399
83
648
981
966
482
770
825
371
246
337
200
915
449
734
604
715
887
350
64
152
597
646
198
403
342
574
145
945
194
3
253
420
122
73
118
839
150
395
971
585
253
376
701
720
272
757
306
696
255
539
878
577
501
78
826
223
22
996
985
479
57
991
513
82
530
326
751
76
806
238
295
295
999
1000
971
879
519
527
271
883
584
87
568
369
474
347
623
87
697
41
316
100
976
330
147
737
781
49
923
696
258
934
527
501
339
489
649
979
130
517
991
728
290
674
916
167
562
334
859
343
737
594
620
512
709
925
704
660
183
593
448
646
632
541
755
197
183
429
627
612
971
930
292
3
379
53
828
989
562
551
533
414
628
684
682
202
952
381
433
548
857
581
147
693
670
620
359
944
666
786
884
969
476
300
422
347
386
60
113
529
446
562
130
75
158
629
64
771
489
526
790
775
89
331
394
290
16
91
647
215
700
189
105
595
125
55
984
2
814
826
841
877
224
687
65
767
592
550
460
677
572
994
27
214
67
870
507
358
142
321
582
898
248
41
72
765
513
540
480
30
424
48
614
565
424
655
9
106
392
703
272
308
154
640
993
737
136
178
45
733
350
450
223
216
598
465
424
884
561
200
424
803
217
973
501
398
286
67
661
848
433
304
384
650
588
164
939
569
250
475
280
301
439
350
861
755
965
300
666
194
229
825
187
795
688
695
459
43
336
29
94
29
786
237
214
683
135
674
34
831
76
117
28
789
139
337
241
174
53
228
37
168
449
548
554
131
263
646
393
965
892
522
630
404
431
99
136
535
54
508
97
20
388
23
999
339
518
473
701
496
973
145
574
55
1
96
142
713
275
159
332
882
913
503
409
661
873
510
1000
956
459
298
22
463
936
681
428
371
204
423
741
451
722
291
505
767
563
119
525
217
521
167
368
400
519
298
404
143
776
215
325
799
816
187
531
398
764
210
561
307
292
916
988
897
727
710
521
737
192
753
414
656
81
378
481
757
254
993
888
752
303
895
580
985
35
122
476
319
676
750
15
873
810
641
700
169
194
915
645
737
316
972
999
203
976
204
90
385
212
644
860
821
538
549
876
866
958
20
197
870
352
184
437
924
756
783
936
361
981
951
825
806
820
172
611
75
828
131
313
777
267
148
471
487
518
788
626
170
336
996
859
685
919
956
386
120
960
480
741
668
539
625
481
823
479
748
892
175
173
159
125
523
369
109
501
348
140
136
440
856
74
133
89
604
71
765
588
10
72
697
400
989
914
273
474
740
892
301
215
160
86
120
129
17
945
655
126
590
86
6
705
162
519
593
643
226
824
446
580
307
652
207
462
284
563
227
802
621
681
144
614
620
469
876
972
216
901
543
675
54
911
371
48
384
767
963
612
439
446
840
348
419
696
797
706
938
474
562
232
849
54
211
834
728
283
209
661
31
98
969
835
152
277
777
249
524
385
308
48
248
295
446
211
660
243
255
624
360
757
781
551
446
473
418
149
396
827
981
544
869
189
303
564
930
893
400
595
34
5
374
790
415
21
72
688
903
476
690
610
706
497
137
849
395
178
562
246
912
729
628
880
124
24
558
312
516
307
348
995
867
246
883
117
926
219
698
787
65
780
844
695
346
460
999
797
50
478
849
380
400
953
452
669
670
940
910
753
87
369
586
826
857
412
310
924
308
137
709
919
584
125
263
730
401
517
528
530
563
153
691
252
400
400
953
251
134
922
886
636
932
763
406
710
827
720
184
522
544
833
513
574
575
981
801
436
215
208
39
375
78
596
997
385
900
56
805
188
952
336
466
961
803
399
923
243
205
64
203
853
717
404
464
307
595
177
148
243
228
765
539
72
209
506
815
714
337
593
709
459
418
602
788
922
317
96
627
674
933
404
872
833
489
488
168
723
14
561
913
306
893
45
581
854
964
92
780
745
799
645
766
650
301
897
317
349
496
265
937
766
774
715
111
642
281
105
122
793
971
985
130
200
97
662
530
943
507
733
711
449
829
274
599
190
452
224
561
931
607
979
385
19
418
395
96
329
463
485
391
295
200
186
469
518
261
334
496
591
376
855
907
870
454
906
771
666
354
543
824
673
405
595
150
21
785
595
938
914
26
397
514
339
78
983
358
730
198
744
125
879
455
464
545
868
128
991
849
329
764
337
97
659
191
164
534
462
131
32
580
856
357
238
849
228
819
889
317
977
803
558
263
861
298
707
932
284
233
109
701
535
669
956
953
621
339
475
55
328
494
489
754
167
445
562
612
781
359
792
699
560
456
216
939
458
549
590
488
578
272
893
136
263
194
562
613
851
229
224
247
156
740
727
949
611
828
72
572
474
210
837
20
56
860
192
769
937
565
537
862
968
312
555
547
200
525
782
325
550
407
779
7
156
4
217
778
288
391
343
905
651
526
28
967
338
820
806
65
305
109
956
338
137
398
888
775
949
793
208
643
314
159
123
388
900
768
453
655
747
175
652
427
21
23
447
302
393
94
739
363
482
259
64
874
766
541
628
105
898
572
159
290
112
380
703
666
203
733
317
744
83
647
151
494
155
880
128
259
821
503
116
981
262
65
306
712
329
350
578
984
906
457
350
448
892
149
336
884
578
878
381
975
62
878
188
1
173
228
535
306
386
174
776
427
722
106
941
499
318
333
530
738
419
711
197
401
121
814
388
699
496
630
962
787
671
849
716
209
655
786
436
225
650
834
812
835
348
312
551
774
538
363
824
897
802
99
856
123
931
712
960
595
989
537
75
548
144
828
136
921
991
33
922
579
908
211
973
496
777
619
334
525
29
101
241
485
127
781
6
863
742
21
986
277
980
501
389
226
236
239
183
685
631
741
127
812
222
643
27
282
78
172
166
614
1
419
66
95
707
938
937
982
656
849
295
496
301
596
497
207
859
28
964
51
847
140
273
947
816
854
311
535
28
844
891
145
413
330
521
217
267
312
250
494
911
682
268
395
109
496
926
60
59
40
386
494
458
894
278
416
856
559
375
906
823
268
466
110
75
653
944
697
234
372
39
518
607
656
815
439
687
478
296
73
45
509
174
592
677
845
216
918
295
598
124
404
442
704
273
972
836
469
292
130
72
552
967
838
170
558
392
645
364
150
1000
442
78
601
822
486
604
181
951
398
726
115
125
803
899
834
779
371
267
652
958
773
876
791
917
584
658
543
257
670
908
349
425
918
475
931
439
671
553
818
483
568
952
971
754
721
290
437
67
379
747
192
35
994
917
787
415
299
645
336
200
194
912
418
978
697
57
899
895
954
875
747
978
567
54
846
426
672
791
52
319
989
169
60
492
767
893
845
507
191
914
191
66
544
286
70
46
183
853
174
40
655
218
280
738
703
140
974
950
194
948
430
585
246
823
173
475
139
906
649
858
914
526
888
622
320
380
823
569
834
253
293
589
611
127
374
896
695
384
697
259
588
11
924
300
597
386
556
889
761
866
5
217
9
803
100
87
567
706
21
323
868
880
448
129
561
524
427
832
384
126
664
156
102
955
465
276
645
221
974
275
615
381
923
239
872
298
317
291
511
859
222
447
190
820
33
547
503
67
627
489
973
261
483
36
609
644
740
414
549
833
521
781
841
527
5
476
377
381
527
292
482
396
451
654
701
786
700
701
738
366
408
392
551
682
324
14
920
254
913
824
29
346
667
305
71
51
594
692
72
568
513
184
103
753
349
766
893
714
549
725
698
676
247
913
486
347
599
507
585
918
197
910
240
340
763
329
162
178
537
648
980
448
883
499
538
486
614
471
939
758
763
547
215
198
267
719
797
707
133
523
999
902
472
743
875
378
896
368
327
45
362
238
490
53
435
344
218
690
779
187
202
547
709
821
237
181
107
194
465
898
160
800
164
430
478
280
18
886
277
200
38
616
856
945
707
758
485
612
103
631
771
953
713
624
136
852
847
105
260
852
231
85
657
750
293
752
12
506
185
295
175
265
918
922
211
822
758
767
45
285
863
871
420
340
11
890
77
437
977
570
505
700
175
897
826
557
269
141
414
915
525
836
542
498
588
32
642
560
810
657
631
667
105
95
175
437
106
287
34
557
630
982
598
214
215
844
873
464
311
446
236
651
394
95
168
942
640
187
594
557
363
203
370
555
850
433
675
663
531
509
43
264
780
189
76
549
961
107
902
159
365
423
131
621
365
463
857
724
948
343
440
772
656
963
467
804
85
839
637
205
135
255
783
300
958
355
903
196
500
473
674
312
14
663
238
129
123
862
797
437
570
655
581
770
146
228
74
522
44
466
656
762
262
512
466
123
562
342
26
975
831
345
187
861
60
820
765
589
243
260
701
630
321
596
969
154
562
347
833
829
633
421
906
623
840
576
571
186
692
939
439
973
49
984
727
241
51
979
754
171
886
685
838
770
429
692
581
640
232
766
163
219
764
362
394
65
126
399
834
245
827
624
979
567
923
131
839
624
794
812
841
873
132
772
247
975
891
532
878
26
790
248
614
32
309
251
774
979
132
904
338
374
882
962
240
572
466
828
832
414
531
972
45
43
633
589
931
253
793
282
699
332
128
482
202
139
661
369
471
120
343
216
332
620
358
329
727
245
869
848
760
969
960
618
959
980
107
414
821
994
644
843
865
489
828
770
409
463
801
79
211
495
953
632
519
103
339
855
405
893
835
553
295
789
24
161
453
89
792
440
550
577
801
277
32
730
856
141
390
920
476
960
28
256
681
68
995
3
85
935
644
735
853
531
905
841
363
608
761
287
175
746
331
592
269
332
233
21
702
909
713
625
778
218
547
667
643
179
518
982
368
831
111
785
590
722
444
135
277
481
51
757
868
946
858
553
423
821
202
755
935
754
139
729
258
92
806
168
265
948
866
175
321
455
535
631
715
776
742
280
761
565
507
205
762
11
343
359
952
799
653
592
876
28
462
842
321
110
976
367
204
456
240
675
392
787
588
986
40
583
825
109
333
844
914
889
817
80
368
639
976
872
863
942
447
336
524
618
938
610
823
342
608
985
410
371
731
774
392
606
338
181
312
691
291
866
525
483
470
929
425
557
207
188
975
867
12
939
566
785
460
45
761
964
446
563
848
481
494
415
693
473
974
665
661
973
303
454
185
397
147
287
488
698
261
765
927
89
450
489
728
602
785
917
35
832
37
668
912
466
471
498
503
526
40
970
417
483
702
194
804
357
177
497
500
995
300
28
333
183
193
766
9
446
497
220
762
940
428
319
674
139
686
736
755
846
164
551
780
831
345
100
948
789
395
195
957
579
541
605
186
821
121
979
334
347
225
331
680
943
750
946
42
62
788
486
57
336
600
917
232
755
485
978
507
804
372
576
488
525
824
886
833
940
421
476
12
779
279
853
636
657
688
945
646
447
610
16
537
904
381
38
837
498
540
648
903
863
20
588
618
469
683
521
320
886
374
653
842
890
763
940
977
292
732
327
880
667
106
89
601
686
896
862
752
172
10
371
405
600
102
159
287
13
32
311
17
832
630
108
885
836
797
126
901
470
698
272
449
158
39
587
438
807
971
734
831
22
54
983
230
68
66
788
41
477
408
600
166
960
927
689
598
919
125
300
824
661
391
835
839
232
488
90
897
965
221
354
448
422
719
967
960
146
13
674
655
330
787
954
773
825
183
657
368
496
228
584
334
436
897
820
465
891
517
587
776
350
290
37
888
654
663
756
642
369
147
589
102
909
509
998
596
186
154
779
560
59
779
519
677
811
893
625
586
532
958
245
953
69
721
66
87
996
973
39
466
800
214
412
296
373
932
724
890
268
559
720
392
75
862
701
82
157
947
549
202
792
310
994
644
309
974
595
542
261
3
318
985
316
89
526
381
569
774
496
762
830
42
482
312
349
134
810
276
565
551
671
72
580
755
476
362
249
846
11
331
401
562
130
605
682
417
677
569
831
488
823
572
56
619
670
474
210
186
462
946
338
558
333
967
616
254
576
129
877
959
596
851
212
226
965
233
922
462
877
736
826
656
468
460
56
707
656
89
212
779
419
946
254
356
333
261
414
852
106
348
383
730
828
11
848
324
815
783
173
18
964
799
907
45
842
67
503
297
444
881
181
153
576
231
979
980
880
782
633
562
380
973
600
607
900
507
100
42
212
236
799
410
728
373
821
558
956
472
749
16
616
664
803
8
575
681
207
533
708
718
642
199
638
502
72
821
765
782
564
968
578
984
282
450
467
384
758
31
303
855
686
902
356
646
815
969
875
962
894
247
924
955
569
700
257
973
327
421
619
600
31
68
827
743
309
335
891
337
855
211
765
336
173
763
738
275
284
146
349
602
254
981
410
956
639
539
685
122
327
34
91
101
300
490
208
338
639
756
414
821
976
349
496
360
945
560
743
325
348
130
665
56
497
882
245
914
302
537
974
886
783
503
991
755
589
663
692
536
837
788
611
946
934
655
983
830
995
445
224
38
109
60
914
617
731
490
769
387
878
139
593
866
996
998
630
256
139
10
461
61
199
41
520
510
605
966
304
497
305
865
958
671
805
738
870
84
874
254
541
404
329
461
718
625
325
670
546
156
502
571
554
886
760
825
536
27
210
714
101
237
973
130
583
996
844
550
174
547
301
948
779
574
57
707
425
83
265
80
289
340
549
854
375
608
759
520
31
95
853
378
175
316
291
493
831
102
501
401
288
538
619
836
541
41
899
202
103
234
532
991
344
65
292
972
709
660
810
408
880
210
147
160
374
534
663
733
839
149
532
456
546
305
267
402
284
569
441
459
872
986
489
840
307
809
576
101
528
395
440
633
4
155
667
32
557
787
710
992
799
519
217
775
414
446
865
689
122
304
268
756
347
23
565
482
219
408
436
316
981
71
733
957
587
433
688
362
206
987
268
28
697
530
996
247
281
115
253
446
540
204
171
162
466
46
437
942
550
770
104
260
168
811
960
844
162
637
730
929
431
808
221
786
623
40
336
601
299
642
738
533
701
236
570
522
793
758
609
295
224
682
270
129
803
594
836
313
915
348
673
473
892
122
82
192
206
171
139
402
73
414
827
94
894
226
226
218
197
175
773
941
179
607
130
363
34
642
946
69
836
643
538
597
216
697
229
463
3
219
239
990
653
886
653
819
760
992
805
186
528
915
176
1000
502
279
576
399
521
895
148
52
226
868
725
748
511
198
253
15
874
49
126
40
995
328
34
125
420
397
270
851
351
545
534
253
576
11
376
301
522
589
229
648
217
10
330
42
899
14
926
292
89
971
663
69
402
389
780
20
401
663
707
114
817
1
825
667
986
586
993
24
607
675
552
143
72
229
868
717
770
931
150
752
35
373
263
76
399
623
628
524
199
148
767
280
196
62
85
610
265
284
759
384
820
171
359
921
960
748
734
440
708
148
151
322
327
794
308
760
720
84
365
477
701
646
831
157
796
77
434
8
73
351
800
190
601
173
337
110
580
43
393
351
783
156
533
536
165
231
771
32
57
348
99
353
405
205
544
195
811
204
860
583
299
903
518
276
404
174
230
848
447
771
934
90
565
215
601
251
961
299
417
93
7
180
333
677
198
500
684
148
516
17
860
731
97
787
431
895
614
524
695
831
570
635
123
288
836
219
982
256
824
180
42
176
656
971
939
577
193
788
610
356
677
522
220
468
838
591
516
560
518
750
866
419
410
245
526
186
415
673
395
982
369
91
900
323
745
974
811
60
578
759
571
9
276
956
154
710
268
178
679
219
946
851
248
925
102
920
487
390
652
808
378
777
306
215
782
225
854
67
608
464
817
822
135
158
951
292
32
933
800
802
369
355
990
37
129
616
945
60
126
718
282
780
430
895
419
25
787
370
306
150
376
934
559
514
271
755
915
892
886
947
937
356
449
83
948
461
534
531
460
68
309
813
360
911
888
823
149
640
133
887
271
125
178
333
815
844
806
86
921
961
857
917
662
405
79
173
36
30
76
911
944
966
387
843
789
999
488
72
461
289
508
141
575
36
773
688
183
483
315
801
145
407
417
784
487
283
67
957
238
530
958
694
24
378
904
704
671
795
973
423
291
603
617
862
590
580
846
477
929
656
275
61
60
750
596
817
677
25
237
65
721
977
794
463
820
474
609
750
309
670
47
520
620
571
276
489
12
928
767
268
822
127
440
102
967
485
966
930
290
399
323
547
434
52
757
259
679
637
838
81
847
263
658
569
79
201
35
487
680
679
585
852
456
732
766
890
312
194
443
784
572
681
341
480
731
91
792
98
380
548
155
453
443
538
401
721
725
966
214
159
770
414
355
207
202
523
224
105
990
538
237
657
570
558
352
938
131
628
341
770
589
492
531
798
427
693
67
94
313
506
9
240
660
901
141
205
885
51
660
926
644
92
927
905
714
767
889
869
83
754
355
284
554
409
403
144
354
575
691
86
945
505
285
837
7
362
883
268
471
531
196
918
389
202
293
964
607
757
769
917
834
333
623
843
193
676
434
231
132
217
738
608
841
605
357
964
490
215
678
773
725
957
691
590
452
950
759
50
180
212
611
408
912
577
634
749
729
702
914
432
178
102
498
335
869
793
168
314
508
105
957
984
604
832
47
412
571
185
751
868
261
350
792
690
153
997
206
556
886
744
383
158
160
448
102
820
385
831
105
307
531
935
49
97
973
44
523
423
460
657
411
463
231
983
661
63
665
200
533
336
530
482
654
483
984
655
352
682
248
318
719
306
42
465
568
252
994
767
108
768
238
754
29
740
562
910
480
196
427
372
181
348
884
528
90
575
12
367
726
156
623
548
961
401
443
281
831
422
442
6
431
749
556
740
308
635
452
786
390
69
774
762
12
522
386
196
597
337
899
421
37
722
86
954
256
412
868
44
7
237
401
24
224
606
106
402
154
966
420
791
543
379
954
537
784
578
766
169
826
282
620
318
559
574
555
761
112
473
49
964
316
834
675
49
594
103
678
543
335
494
483
413
13
296
974
17
163
705
414
662
190
274
392
936
456
227
523
662
293
152
1
240
199
818
886
268
817
357
746
894
267
209
934
11
383
107
193
18
749
747
644
836
330
539
587
31
650
392
176
129
379
59
63
378
89
681
756
645
941
393
553
109
258
544
544
545
850
338
431
286
829
128
318
846
322
43
324
704
267
818
229
427
118
909
387
926
63
378
802
842
567
390
839
747
152
68
335
495
880
694
389
510
114
335
482
739
853
168
296
772
762
527
773
386
479
721
665
597
941
412
504
9
438
894
2
671
476
118
967
43
149
275
39
318
572
408
832
457
656
643
46
386
534
182
810
41
353
381
535
399
883
575
296
670
860
906
1000
817
500
399
888
662
256
326
995
716
197
784
531
948
806
484
213
808
205
754
478
146
123
287
417
680
127
939
929
75
505
452
493
528
27
694
444
974
11
519
936
481
820
628
476
883
271
598
57
579
368
471
994
673
795
630
284
678
80
238
289
729
829
951
940
558
680
805
557
880
229
841
166
933
84
792
192
846
747
551
806
510
240
711
871
488
900
486
952
371
856
508
365
266
616
788
452
747
256
944
907
357
74
534
938
776
56
370
931
724
345
698
667
16
838
186
952
510
514
353
58
795
943
998
147
67
25
812
923
624
953
239
336
466
305
565
556
292
374
108
450
819
537
517
114
153
930
364
146
942
311
486
962
475
896
525
941
801
218
253
151
545
442
584
867
317
990
678
768
56
146
937
156
321
589
122
413
921
68
957
286
803
58
411
477
205
332
222
848
143
237
503
185
134
698
123
574
112
146
25
497
702
808
794
415
762
910
917
46
756
386
974
934
433
772
11
451
511
468
311
828
45
915
361
847
678
220
831
210
684
639
684
121
822
439
840
680
765
306
897
546
212
531
524
547
662
374
51
985
900
574
458
672
605
312
52
595
478
280
507
911
122
983
259
133
981
200
416
926
419
207
719
774
986
21
56
754
264
484
797
970
914
989
400
139
210
361
41
830
115
785
33
265
82
478
846
320
684
936
797
22
63
114
539
475
918
918
106
28
218
833
845
691
534
220
220
724
490
867
194
567
583
485
551
789
811
175
580
314
161
376
636
969
715
660
503
688
401
7
419
347
265
769
710
414
908
329
618
684
290
679
3
486
138
799
853
394
746
516
855
52
911
527
878
144
543
186
894
161
497
878
513
919
307
312
621
338
707
38
404
823
357
590
991
484
800
760
104
949
468
52
535
333
638
424
96
717
112
970
161
95
439
878
613
165
444
91
169
723
176
779
836
151
74
368
786
393
65
745
558
891
918
809
558
155
202
102
756
218
767
102
99
343
855
774
820
578
854
975
26
777
889
136
210
882
3
291
862
391
923
784
704
810
653
609
409
547
175
355
396
967
842
814
91
663
25
271
249
363
34
695
276
463
391
107
983
926
479
602
902
28
598
185
216
126
128
780
191
679
5
998
102
496
61
315
83
891
452
665
179
913
268
12
804
20
713
254
514
97
280
221
130
571
523
632
849
686
60
345
179
585
798
123
913
607
668
604
989
903
892
855
542
408
371
892
508
954
181
589
498
498
442
831
516
155
703
495
347
56
126
379
620
889
915
743
343
650
314
529
713
62
660
408
105
173
205
141
669
900
435
115
131
972
815
347
592
311
703
676
762
24
603
193
865
439
848
83
317
735
790
959
685
856
783
617
666
82
509
897
248
147
406
776
577
152
376
25
277
650
755
982
622
963
531
140
129
697
637
487
112
407
763
521
830
448
415
383
207
31
133
149
271
940
529
637
196
858
695
865
796
840
484
782
895
845
907
4
846
186
777
132
766
898
370
981
167
177
503
666
938
11
530
623
664
796
814
865
72
40
861
778
594
212
15
845
947
414
806
510
825
963
249
761
233
381
731
26
98
423
392
791
214
388
850
80
635
809
247
235
516
675
946
797
110
946
884
196
388
299
12
2
674
908
5
118
142
548
380
386
303
858
963
630
846
999
950
904
539
647
920
252
659
651
761
967
594
65
160
487
202
20
964
930
976
877
520
17
108
451
660
334
264
856
966
566
740
568
854
338
513
644
141
524
160
93
377
777
604
247
904
255
287
263
612
312
810
788
579
986
638
565
210
18
32
279
96
751
775
313
440
596
926
186
807
384
970
248
194
770
40
195
512
169
716
149
235
383
109
605
131
318
701
972
430
597
605
981
114
588
519
649
748
60
404
763
465
656
716
346
79
541
535
1000
521
964
79
361
12
144
561
531
613
735
587
732
242
810
622
567
539
663
955
767
706
361
742
713
368
888
539
609
498
194
853
921
215
575
633
40
415
329
416
108
860
504
713
818
162
853
957
486
955
207
709
569
775
98
427
217
855
851
757
421
304
844
700
743
731
238
119
171
672
934
338
667
149
549
903
463
525
957
712
601
921
570
947
58
304
452
4
607
490
104
26
810
706
429
443
686
801
938
637
47
256
410
298
996
907
932
228
617
857
279
266
953
185
229
854
910
857
305
351
347
511
505
378
542
321
116
59
756
81
213
492
251
788
150
850
800
297
123
785
828
242
95
914
595
835
311
607
893
864
54
128
564
624
936
554
113
146
955
918
305
361
885
523
504
704
144
606
295
680
109
355
119
239
302
368
964
647
973
749
10
319
887
861
254
172
866
648
579
911
280
710
9
476
315
917
14
335
637
909
609
586
626
527
418
459
285
732
963
141
128
908
532
785
216
297
601
347
2
308
651
920
299
74
539
819
598
155
778
575
397
226
486
518
890
913
769
367
306
437
626
234
73
575
111
608
274
704
77
580
678
420
573
24
292
108
661
527
848
891
280
995
637
14
295
948
9
80
101
579
371
830
69
869
419
356
877
249
51
167
432
853
173
552
630
423
445
839
875
244
237
168
174
64
734
869
738
614
139
335
567
295
684
543
944
281
878
779
747
695
42
924
642
55
57
21
454
756
914
914
58
931
572
512
34
49
56
580
444
241
405
734
209
840
301
165
352
86
488
195
709
205
918
679
559
637
630
787
532
299
268
671
140
92
788
627
734
324
268
838
856
298
555
932
374
479
101
72
799
560
115
21
995
6
143
467
657
843
994
375
159
737
237
730
716
981
710
557
959
982
711
573
394
14
949
106
990
47
292
654
736
522
422
124
784
683
424
383
96
557
545
731
502
526
542
223
552
644
209
883
806
775
975
739
391
338
821
653
595
773
978
636
861
345
232
812
866
92
331
892
996
124
398
100
840
670
665
578
775
423
941
756
357
274
498
738
732
817
338
237
429
678
566
243
835
192
849
530
963
455
398
264
262
117
356
524
314
556
29
336
151
25
310
435
518
181
474
609
174
672
271
500
44
259
648
789
846
449
144
632
902
644
497
43
199
612
904
625
295
756
380
852
146
977
883
904
93
982
479
140
958
928
725
928
451
197
840
92
398
9
856
5
230
889
678
844
540
747
673
125
438
660
446
76
813
376
643
553
979
102
772
659
283
401
270
401
696
79
971
229
611
649
76
480
214
259
455
481
135
378
52
269
700
868
870
50
15
448
197
678
683
578
726
118
744
264
419
375
5
436
51
62
936
227
618
999
891
470
92
800
188
77
930
282
230
553
399
926
232
304
887
123
891
307
542
708
238
143
898
505
612
583
448
712
997
904
468
423
628
222
136
709
479
408
862
737
720
92
938
104
474
18
148
282
167
505
736
828
979
932
955
282
56
831
227
545
637
256
963
662
563
334
705
133
951
454
912
929
386
701
477
307
746
338
273
620
263
147
283
685
209
614
698
339
614
17
14
620
875
478
834
204
603
492
134
574
355
492
835
944
688
385
356
203
319
985
575
39
685
132
458
355
637
909
39
706
854
380
712
275
630
442
952
184
115
819
451
175
77
718
178
444
779
581
177
397
393
60
740
376
345
130
460
82
275
225
529
487
922
555
200
118
881
629
846
544
567
654
613
760
748
45
618
141
845
48
721
31
196
449
643
37
799
950
271
138
329
10
115
825
261
187
913
804
812
616
147
669
160
78
645
911
957
649
646
980
991
524
777
559
809
726
746
841
462
819
745
65
301
195
696
286
483
546
415
595
447
567
727
878
382
778
152
856
805
378
359
736
682
504
368
269
72
415
77
455
933
179
214
15
8
749
462
443
867
156
893
77
852
390
147
858
951
614
190
369
37
880
84
535
881
807
818
254
107
562
708
908
695
218
829
442
596
115
298
551
698
236
619
127
3
818
109
576
431
434
611
135
221
249
813
31
182
194
526
500
455
320
259
254
724
371
899
962
802
637
58
21
654
323
712
387
319
876
672
153
495
202
889
129
790
577
594
268
801
856
686
958
446
151
669
402
306
295
761
607
332
240
638
504
284
473
960
517
537
230
66
841
364
446
666
302
510
138
198
999
191
455
993
166
785
217
836
588
384
66
571
334
923
529
904
20
642
867
436
455
581
166
501
101
190
290
705
820
516
735
369
94
511
829
527
951
809
98
419
357
565
821
298
804
383
422
984
169
458
483
772
496
593
287
721
14
669
789
164
432
828
670
235
789
726
182
793
175
421
44
304
518
569
401
179
4
800
60
427
90
567
966
313
863
890
236
7
45
501
275
474
840
286
189
99
207
697
715
78
144
992
887
549
376
371
624
876
751
243
232
347
411
192
11
839
684
177
625
43
950
966
134
893
828
206
176
889
616
1000
558
338
302
417
315
160
817
891
723
650
580
338
354
277
789
987
452
293
954
529
585
807
788
488
159
262
233
945
84
698
259
22
310
775
259
538
987
855
362
415
874
209
819
325
253
570
228
23
165
679
900
681
190
459
489
806
97
746
21
359
688
168
378
561
580
549
606
607
620
412
250
263
911
493
822
439
525
626
662
334
449
836
551
834
253
416
597
482
678
463
15
445
185
520
835
704
708
115
945
573
192
530
466
733
552
916
758
283
326
591
447
230
554
821
289
317
212
570
171
706
655
785
965
102
289
161
6
39
17
432
859
81
834
924
551
911
945
355
470
377
716
929
608
123
536
324
692
665
764
22
288
941
525
145
45
257
74
909
794
845
486
550
684
814
675
808
171
101
480
322
897
155
690
14
641
682
784
639
791
647
494
790
991
133
495
600
256
59
573
401
4
128
566
224
303
34
521
411
514
468
863
840
835
842
658
498
583
186
329
475
317
729
704
275
969
718
669
469
915
700
279
43
889
992
127
143
13
451
277
86
545
42
550
504
102
42
195
51
927
237
242
430
221
580
369
369
486
81
842
964
24
558
762
791
758
541
24
778
762
204
881
146
986
549
929
336
329
507
500
397
727
132
893
704
287
751
923
242
479
702
118
150
851
44
212
952
869
48
799
47
366
59
965
623
359
454
421
117
387
613
931
825
252
461
835
240
914
748
765
550
284
726
296
176
951
504
52
952
496
442
265
539
203
975
839
130
931
672
166
754
459
341
808
474
293
622
995
86
834
351
264
763
364
355
856
471
17
634
46
323
847
495
34
387
498
468
947
411
771
129
929
364
672
690
669
445
770
207
854
78
653
953
379
801
915
2
411
30
327
535
255
823
351
421
306
236
431
156
887
64
280
451
45
218
212
693
103
294
119
196
696
57
999
307
149
550
863
257
122
3
65
237
677
449
933
224
879
555
371
858
920
140
607
591
596
645
154
165
873
495
53
320
89
120
351
76
298
679
191
272
528
345
822
982
697
386
88
9
713
961
631
67
445
123
645
81
97
741
418
470
127
333
103
226
317
761
89
510
33
944
700
300
60
921
790
539
578
116
581
436
380
481
936
162
326
521
655
981
193
640
400
402
113
234
387
442
28
33
436
573
345
196
182
201
279
722
648
149
706
249
960
733
60
309
659
889
699
789
118
784
718
482
110
4
881
160
962
466
630
858
872
372
781
583
513
408
760
636
501
887
127
899
28
489
187
544
692
772
219
687
796
617
262
945
444
840
619
99
601
875
32
714
381
667
474
932
579
205
440
684
611
520
726
958
972
211
184
901
972
316
526
925
130
968
844
824
701
887
628
393
792
333
875
479
483
976
806
378
878
777
774
367
188
454
493
163
849
431
422
83
244
560
540
612
911
473
330
508
351
731
67
97
136
288
870
125
447
541
455
2
784
37
295
986
344
70
134
728
47
559
655
229
758
72
633
396
251
318
339
641
362
798
815
679
710
50
637
666
282
188
430
693
979
439
392
334
152
989
430
289
607
844
209
762
743
130
661
515
132
149
781
700
108
218
403
651
232
195
145
71
141
445
149
32
376
190
832
641
589
272
774
543
381
599
33
646
412
35
151
119
65
778
823
13
745
559
104
746
265
17
27
337
818
869
992
612
760
504
198
83
11
584
543
642
742
840
311
625
955
891
812
631
813
709
796
136
124
558
794
434
362
917
583
557
481
398
78
92
679
2
886
302
126
17
179
564
845
665
760
832
459
401
287
629
266
318
712
263
441
503
466
987
69
560
294
605
476
702
438
259
851
580
82
325
853
11
231
500
692
984
349
182
829
84
493
254
504
999
798
132
608
216
209
854
370
778
888
935
530
527
636
890
503
499
999
428
256
153
938
825
837
666
744
825
200
567
437
805
288
792
924
829
563
35
674
40
806
686
869
784
476
370
650
691
4
12
402
896
415
36
220
105
377
132
875
567
836
109
752
303
241
559
282
184
537
594
959
958
428
808
135
252
611
659
7
776
873
992
507
315
4
690
776
548
701
713
865
542
874
526
731
347
608
824
45
487
129
311
170
739
637
460
87
299
292
949
656
431
710
457
309
285
782
165
825
946
514
137
86
88
886
46
981
310
857
585
60
63
856
769
124
508
674
12
12
811
486
954
298
212
770
167
52
178
76
998
652
840
299
640
843
964
951
850
59
811
604
29
555
932
368
126
510
234
360
434
613
972
371
566
721
525
920
772
30
301
764
940
747
225
950
89
557
768
774
62
861
812
335
976
245
417
178
572
687
103
968
570
534
753
615
702
971
341
470
851
808
415
657
669
88
758
486
752
771
558
45
969
34
919
243
757
957
844
154
972
255
188
649
177
766
458
998
286
610
984
532
663
45
777
164
145
581
757
628
295
617
397
132
888
142
352
716
896
354
648
420
785
573
456
504
345
845
372
250
375
417
996
409
509
316
354
755
83
536
422
282
234
576
79
826
750
179
455
597
234
240
255
264
167
707
332
753
609
781
886
189
200
779
382
632
69
283
998
621
388
207
343
526
246
953
286
707
269
142
8
335
188
158
759
360
328
746
55
487
279
728
529
217
183
26
916
425
321
496
779
231
696
796
135
848
773
797
435
166
210
494
305
400
174
199
969
111
432
845
211
804
268
358
672
703
515
881
341
532
451
531
244
475
746
316
237
55
822
257
81
90
458
741
118
971
362
263
700
453
671
150
625
393
595
422
194
635
487
22
127
27
206
345
492
850
312
513
234
739
766
935
879
984
647
590
339
42
792
571
629
940
157
120
977
743
212
358
474
509
622
608
756
795
55
107
12
853
877
287
212
648
711
701
303
122
175
58
857
182
850
227
252
846
704
803
726
392
563
633
99
278
118
957
873
184
700
610
78
749
211
850
866
528
143
765
249
141
828
15
340
429
576
959
458
712
211
208
590
491
918
836
363
688
26
67
128
579
293
787
950
104
576
967
399
247
272
195
913
510
466
664
330
584
635
950
745
937
672
226
797
170
738
940
77
438
174
620
874
246
282
828
908
255
362
407
796
647
547
845
229
46
545
443
282
655
478
516
746
553
105
250
411
970
611
238
633
20
727
906
780
551
98
220
567
299
845
724
842
716
518
441
549
926
770
402
379
27
740
891
729
154
806
561
907
515
335
797
238
250
76
606
547
967
834
186
543
77
230
122
236
538
283
865
371
757
352
485
741
979
251
370
250
559
763
502
839
795
957
571
611
911
200
23
891
689
442
528
307
184
274
343
998
621
601
840
986
66
531
853
564
538
258
872
830
180
584
319
362
27
860
379
474
883
474
356
608
470
785
993
833
75
771
378
499
154
902
317
296
121
364
295
646
930
456
963
87
282
16
378
395
127
941
892
284
121
222
418
320
352
983
500
546
198
684
871
10
806
979
582
633
240
304
883
625
788
98
340
182
936
175
250
310
638
607
752
756
200
242
974
25
368
486
251
271
765
313
460
333
557
769
243
149
575
172
203
811
453
488
590
27
437
460
252
397
850
724
256
450
552
117
119
890
40
842
657
344
835
945
180
861
132
509
801
489
226
800
544
1000
503
12
461
111
374
264
319
205
777
149
490
723
438
625
224
184
46
580
754
424
268
801
811
275
316
5
898
451
403
387
601
381
371
693
45
423
100
63
370
487
980
11
633
501
277
520
740
104
222
348
977
20
428
728
381
663
358
237
704
364
876
945
644
554
590
395
660
524
377
354
199
514
56
806
295
522
308
892
899
597
758
884
494
418
373
639
72
136
856
964
320
759
950
958
679
743
895
846
844
233
248
840
906
332
138
376
105
26
646
345
111
84
553
884
2
298
352
638
905
197
997
405
890
636
394
929
585
729
661
631
47
306
505
16
814
787
995
187
427
335
12
874
40
488
544
287
130
400
801
711
627
483
285
431
616
223
264
176
513
59
309
510
990
139
890
267
212
518
7
425
192
58
307
696
776
512
149
286
55
561
1
645
561
653
987
236
883
223
40
631
676
821
117
116
115
307
974
930
409
672
411
792
246
283
722
416
490
450
532
150
868
139
491
358
129
167
269
777
764
106
968
778
337
145
799
696
943
122
932
495
300
969
615
931
578
361
603
861
510
392
499
265
998
237
942
633
984
721
850
340
259
851
597
982
524
337
128
266
352
355
737
976
321
292
186
709
899
353
56
466
877
86
91
400
57
363
495
733
391
86
906
978
937
804
242
793
967
110
607
470
783
549
814
633
328
376
399
644
863
131
731
955
167
717
430
890
41
913
987
992
203
31
346
326
132
958
818
825
949
420
481
57
230
553
863
291
592
902
719
957
688
206
885
415
678
382
895
932
863
149
533
293
319
142
914
102
91
669
304
580
493
925
751
26
513
938
597
76
515
854
981
443
290
925
857
562
898
801
179
551
706
421
840
944
592
814
183
135
660
920
61
578
507
937
293
446
615
2
58
906
47
88
443
504
397
197
927
409
488
64
548
213
308
339
393
32
646
605
353
317
647
918
313
681
318
761
272
771
464
949
665
198
801
478
869
446
858
313
694
404
74
557
129
570
232
624
851
453
924
629
22
874
680
349
690
15
314
600
992
549
332
171
738
768
624
749
377
92
21
13
180
638
226
57
416
247
349
618
590
434
436
370
263
569
701
522
145
14
816
388
496
126
781
902
100
92
563
553
742
740
283
191
241
817
185
701
323
718
573
69
775
292
123
199
250
65
503
937
513
524
942
751
24
724
947
830
510
64
487
496
741
389
164
855
430
604
244
71
716
23
654
24
770
583
617
511
29
254
105
10
815
720
434
596
186
973
495
667
88
470
224
926
63
985
565
200
502
851
537
636
547
675
147
832
264
239
150
582
744
784
656
116
924
801
647
866
258
523
210
86
545
378
406
161
118
374
513
827
28
231
420
522
190
789
629
475
785
319
686
450
803
790
772
337
251
929
537
637
4
373
126
507
156
770
914
8
965
660
772
976
383
408
183
386
413
773
719
696
774
150
465
98
390
855
987
644
848
25
802
299
540
597
605
30
401
657
249
738
353
519
849
836
105
114
743
648
257
649
812
555
50
800
614
463
845
192
471
830
812
953
167
398
780
791
765
368
425
17
255
2
471
795
567
334
608
991
370
63
405
592
843
58
937
478
567
559
464
645
638
121
633
445
14
286
43
76
713
867
915
692
379
611
775
91
131
268
29
346
978
88
156
935
884
264
216
452
614
144
979
506
761
281
568
763
9
298
939
323
696
957
298
367
13
342
635
19
57
313
49
160
948
150
568
759
379
287
161
988
661
863
684
963
893
677
475
222
805
109
375
885
49
444
162
937
839
544
438
867
891
826
560
596
642
600
755
784
219
164
962
506
921
751
355
75
970
740
665
757
367
912
453
621
141
174
963
212
656
296
73
626
948
681
656
318
244
429
144
522
361
196
754
544
11
848
101
401
686
702
481
120
73
840
485
723
169
535
484
791
281
858
66
98
782
316
67
63
129
442
956
912
645
512
455
189
890
217
330
274
599
107
949
254
720
734
828
267
601
251
954
338
234
892
799
750
340
5
609
320
881
907
788
40
887
186
328
44
369
214
950
397
344
984
603
402
661
897
408
899
927
621
548
857
761
634
871
584
215
745
461
918
192
533
731
170
182
784
164
96
178
6
7
618
472
768
553
99
896
638
883
586
588
854
658
873
688
216
329
503
1
931
990
838
422
771
245
436
491
421
743
745
395
292
387
523
48
11
813
300
621
815
735
892
864
349
910
251
446
388
680
722
845
711
405
839
69
789
215
235
803
581
185
411
757
630
580
404
994
161
303
940
946
685
481
761
258
712
182
502
709
61
116
832
131
605
571
802
226
930
892
420
720
815
917
7
832
25
818
380
869
47
470
135
678
11
770
562
753
762
699
338
794
423
51
19
624
426
519
480
64
603
948
367
723
403
955
341
122
554
496
394
294
449
359
129
671
863
72
519
860
247
113
287
212
319
152
774
172
443
677
388
956
669
853
526
992
517
391
14
357
120
906
110
710
147
190
20
802
483
991
778
975
77
522
764
178
287
428
7
811
621
760
790
797
14
425
447
200
884
92
692
701
538
122
581
270
965
959
283
36
556
314
453
913
746
361
794
329
652
905
910
2
890
341
498
66
948
592
873
942
162
160
22
126
890
936
690
612
200
944
622
795
872
807
507
433
30
159
306
713
284
958
685
934
600
324
970
158
472
842
26
757
159
919
172
629
447
37
293
672
718
327
728
338
174
255
674
31
825
926
808
779
540
350
264
960
857
69
634
124
468
287
649
741
346
537
253
330
738
132
571
715
145
947
323
388
432
977
822
401
751
298
121
15
990
500
338
540
932
115
465
153
764
848
349
591
723
821
47
902
705
446
44
468
241
684
802
458
924
605
9
843
179
167
438
535
308
801
230
232
537
96
127
101
236
87
448
972
153
492
259
127
856
460
259
853
598
189
186
495
810
689
591
523
724
506
346
178
817
102
784
585
894
513
671
67
930
788
235
726
358
293
882
724
434
444
782
216
62
117
824
891
603
919
503
987
250
159
46
162
149
469
990
852
955
273
88
330
457
535
56
509
203
589
31
709
226
146
424
68
422
99
242
424
302
672
257
874
994
319
977
588
228
181
636
597
629
885
663
881
292
986
701
397
716
960
865
655
103
75
183
66
484
790
181
321
332
874
229
500
398
187
262
395
687
317
565
85
491
211
222
598
572
641
622
597
280
292
749
969
131
252
899
451
852
932
564
979
307
596
122
543
417
120
600
850
894
748
863
96
993
469
143
354
705
35
688
249
222
818
740
206
709
941
460
193
981
684
591
789
194
934
53
99
263
719
806
790
418
81
497
868
986
376
812
401
13
209
548
292
967
123
743
128
539
282
291
900
651
860
517
266
176
851
842
612
560
351
343
967
623
743
768
887
405
184
661
37
683
671
788
130
632
880
106
875
145
80
100
304
641
278
471
207
919
366
736
459
367
694
167
443
556
593
457
845
969
477
92
574
88
75
662
357
16
575
183
636
568
803
594
153
999
852
533
751
20
49
693
97
71
995
545
240
764
172
555
69
155
466
554
904
200
572
827
846
773
376
800
357
532
729
951
582
241
439
50
450
296
723
153
377
227
536
604
862
111
877
775
984
632
610
343
316
568
184
550
418
99
399
891
559
94
491
308
407
485
143
731
689
670
312
231
360
745
989
133
909
150
713
319
184
428
440
70
239
709
459
220
418
962
783
276
572
112
955
877
169
866
194
450
988
680
525
344
604
859
946
652
538
599
852
272
185
317
821
173
477
465
437
747
869
259
237
228
929
826
939
68
353
589
159
525
113
195
400
164
963
835
26
43
980
528
865
236
662
721
802
20
541
963
814
348
434
80
275
146
428
585
489
591
872
743
182
297
901
732
654
108
311
53
696
314
974
519
69
943
383
762
944
660
852
958
303
890
354
1000
735
248
554
248
225
494
74
893
942
501
230
305
680
447
717
678
951
45
255
949
152
80
565
749
149
104
680
163
280
263
833
17
832
227
87
391
952
31
988
592
492
374
871
426
424
406
781
173
48
59
701
772
86
774
436
578
498
20
502
542
974
700
410
633
396
994
998
314
139
338
593
16
989
159
849
495
635
250
508
499
620
204
572
690
509
294
521
234
781
797
796
882
840
697
843
590
418
235
477
996
305
970
250
652
326
170
337
379
828
14
287
596
127
831
826
818
128
804
996
80
446
220
97
124
469
410
142
307
656
380
781
231
915
20
998
885
599
448
704
624
262
784
764
933
37
750
765
173
121
527
636
221
796
734
269
9
245
329
134
779
901
309
218
271
332
593
119
429
18
456
329
691
247
321
461
782
642
102
96
881
52
514
163
148
180
453
162
921
171
232
272
76
577
918
459
406
596
427
689
800
314
777
173
926
864
158
554
60
861
854
112
898
66
655
544
575
419
162
610
894
301
987
981
224
804
740
64
314
528
133
495
269
517
483
885
766
844
425
964
992
285
817
573
146
92
256
203
112
361
96
930
996
425
970
384
182
205
389
798
283
468
862
581
666
511
566
819
606
226
604
531
234
298
188
898
599
773
309
343
463
69
848
954
662
577
598
488
771
268
22
625
81
586
784
623
852
993
838
957
414
388
593
26
772
536
232
485
428
734
543
828
934
590
398
612
614
742
822
55
96
204
775
131
23
696
91
564
657
750
853
513
582
26
662
858
376
82
915
895
483
552
858
364
382
841
826
650
884
650
967
842
271
321
315
79
472
824
278
573
438
681
132
277
698
488
722
25
67
589
551
437
823
993
380
280
383
639
229
155
367
940
814
506
347
417
195
289
847
869
306
727
561
210
909
243
332
677
87
211
949
547
660
325
370
77
370
374
431
306
373
984
182
956
764
398
174
100
783
247
518
194
814
230
16
598
374
269
320
411
136
146
94
268
574
632
503
788
917
239
507
708
192
827
816
283
6
69
197
516
389
817
608
87
88
139
831
678
520
482
183
469
588
947
402
802
790
291
809
236
64
99
169
556
504
879
971
633
119
37
622
728
772
343
139
916
365
555
474
163
619
194
492
713
996
131
565
773
841
835
674
315
148
849
836
219
897
271
69
108
992
308
669
727
31
208
987
780
194
613
575
445
1000
88
422
331
9
769
40
255
167
314
872
779
613
469
882
426
941
976
775
844
952
482
241
385
27
739
362
721
695
241
180
826
362
203
969
461
108
214
713
344
950
681
613
915
299
723
324
527
584
978
572
579
727
466
324
659
168
93
146
955
704
445
85
412
448
273
549
277
725
767
971
512
310
543
57
591
243
58
841
420
870
963
461
849
526
292
575
2
651
218
910
305
42
161
22
986
760
159
967
463
478
534
291
440
494
369
664
747
360
268
558
646
583
91
766
521
93
825
870
951
628
457
254
163
494
21
104
927
948
890
517
227
915
207
191
920
991
963
342
785
954
261
375
1
68
299
942
461
771
185
941
903
446
35
797
657
717
596
587
995
704
512
77
417
839
797
74
510
52
408
562
176
770
418
577
179
699
152
736
206
906
517
283
706
878
691
266
317
965
581
171
972
604
769
782
267
133
330
731
270
318
300
94
74
573
206
994
425
831
924
48
70
817
732
164
374
528
12
186
849
825
889
184
885
463
565
990
507
278
471
15
163
724
893
909
588
382
590
58
68
1000
826
242
271
883
939
595
213
278
685
346
201
539
439
252
114
816
587
84
282
208
22
381
107
903
344
653
249
265
909
268
42
553
498
481
537
782
87
919
913
539
9
767
896
881
536
670
382
932
81
137
47
169
76
495
958
685
441
829
587
691
637
888
210
781
822
842
113
745
321
355
567
394
466
413
45
237
2
169
938
922
421
111
212
787
850
307
538
701
402
84
333
135
926
493
411
569
348
298
470
282
762
782
539
142
35
87
838
760
32
807
129
237
437
417
810
147
533
247
164
613
123
369
615
693
464
970
699
232
271
580
931
519
323
834
117
949
9
357
943
906
664
767
384
855
420
233
968
876
938
433
391
997
902
760
475
930
648
177
232
227
790
606
891
666
183
808
682
405
237
97
385
458
438
230
715
237
451
474
25
214
849
27
360
166
927
204
386
601
404
716
832
520
382
972
36
199
109
452
735
868
494
759
432
4
336
409
860
844
773
161
486
23
963
986
942
271
640
983
75
142
326
379
592
770
446
63
518
827
351
913
983
122
809
561
975
611
23
913
745
546
976
823
558
29
315
617
111
431
846
403
966
882
994
522
131
275
722
968
120
49
993
447
966
247
844
442
18
382
636
586
172
665
212
927
196
899
972
505
704
935
704
506
873
825
414
543
259
968
21
971
78
697
411
176
367
145
283
627
460
857
359
214
337
145
324
879
98
577
375
468
864
937
459
871
571
155
281
858
181
814
739
659
655
243
87
637
186
909
229
818
609
154
169
389
863
814
261
536
265
178
842
99
380
323
497
231
909
702
583
946
484
922
422
545
233
348
170
195
607
508
664
667
248
831
260
548
960
797
833
724
58
484
810
893
985
234
715
923
998
757
172
862
491
938
486
401
578
763
368
202
450
43
807
939
325
869
851
799
547
78
168
866
170
837
202
341
87
474
456
73
346
390
513
968
703
705
832
754
877
326
923
638
895
326
626
15
100
601
828
492
982
360
328
152
911
746
753
927
174
803
760
278
911
277
920
520
494
259
765
822
861
384
756
57
671
221
19
8
970
999
882
863
243
761
32
525
496
367
845
719
526
999
88
284
76
562
758
589
196
36
325
166
678
375
265
263
784
727
112
947
197
264
862
434
463
132
575
875
461
402
119
169
735
908
957
890
112
578
885
84
830
56
678
918
634
169
276
430
92
780
209
315
928
116
127
99
479
792
321
260
795
678
777
476
703
123
805
904
193
721
847
251
316
850
623
170
152
539
35
287
598
962
372
157
932
20
338
640
7
28
116
826
282
187
108
75
514
94
219
147
243
795
894
135
670
980
653
483
244
202
111
479
436
599
40
682
901
23
765
541
735
87
940
792
324
535
936
941
408
887
181
334
660
387
337
158
644
967
535
457
377
32
424
982
211
433
237
958
541
666
440
447
143
499
425
790
569
632
636
812
625
447
216
376
183
934
967
907
553
152
765
930
733
301
475
819
27
513
926
930
108
713
954
946
370
499
359
313
606
316
871
59
990
146
452
485
569
87
992
275
524
643
238
152
323
476
598
180
774
480
947
255
482
489
416
273
609
277
38
189
415
287
647
847
824
404
111
970
700
242
936
180
458
353
654
797
481
749
537
175
737
311
499
834
105
949
801
528
525
297
635
941
877
737
321
262
25
27
614
159
528
173
871
555
886
256
669
612
708
762
493
107
618
555
411
405
316
693
165
791
257
397
95
15
234
476
942
722
402
622
89
507
150
904
700
302
584
14
930
857
345
343
276
554
849
160
946
859
576
879
728
941
435
900
459
540
72
23
990
818
587
859
960
387
663
847
569
717
935
420
729
625
730
456
493
651
679
147
332
318
509
457
20
660
137
824
578
972
164
620
165
726
700
214
972
271
956
988
497
682
480
251
454
368
90
151
834
280
523
997
213
622
479
575
633
778
905
454
106
44
229
511
196
332
687
480
769
369
207
956
264
100
865
228
361
523
581
760
346
528
466
466
511
779
682
576
948
761
186
827
916
7
596
788
935
76
354
747
989
137
410
255
172
382
412
368
775
161
256
537
457
722
414
275
26
249
474
907
192
981
832
796
82
853
548
632
816
478
416
350
462
924
178
218
919
923
170
999
228
226
881
359
69
283
388
28
154
615
134
930
611
961
211
665
164
994
913
473
610
820
738
480
264
692
999
913
279
129
587
754
143
349
394
418
495
32
961
213
86
249
396
327
477
363
794
376
639
334
854
862
46
284
172
731
375
973
788
116
95
736
419
253
718
945
172
142
273
550
491
368
47
694
221
93
395
189
781
312
472
654
991
594
250
757
40
633
765
700
233
988
87
392
157
19
824
371
284
109
156
109
205
477
80
104
607
473
700
676
739
573
828
578
318
178
465
372
97
831
136
510
983
714
399
23
884
294
867
167
569
532
711
290
771
9
426
397
342
278
726
371
716
920
46
456
59
876
137
124
791
143
373
890
552
161
553
778
232
908
907
657
801
385
283
390
641
739
4
761
706
674
607
775
53
409
390
807
142
388
925
445
209
826
221
975
228
653
907
650
343
124
654
699
235
170
290
795
579
948
940
582
919
603
147
694
677
700
146
579
62
168
567
478
986
392
393
755
242
423
271
332
929
343
700
278
121
291
545
462
336
236
550
867
193
11
830
927
789
495
426
109
58
153
872
912
209
601
842
612
445
58
888
285
856
391
435
418
281
676
182
43
133
987
834
582
838
440
64
648
182
778
441
641
734
12
328
44
50
911
957
689
963
240
265
806
320
932
269
950
386
720
989
212
398
342
36
416
670
295
675
673
16
859
521
432
311
55
702
464
439
971
297
187
383
778
449
223
478
840
158
538
121
137
804
69
525
132
797
562
675
674
971
502
785
192
904
400
891
114
908
245
343
20
410
954
900
988
460
164
932
123
742
550
634
511
511
785
152
431
205
393
658
727
469
895
879
1000
781
460
681
74
71
855
304
254
154
952
668
383
739
912
63
328
899
421
374
684
890
972
8
634
51
285
276
176
389
42
499
606
978
632
686
543
261
314
856
580
345
561
430
800
435
481
359
283
251
347
990
14
802
651
262
943
177
656
243
887
322
936
384
956
819
31
302
9
379
225
190
509
997
127
265
371
99
965
142
397
618
487
637
447
821
834
839
436
425
751
172
346
59
370
896
274
655
325
21
230
663
127
603
554
319
93
809
712
584
823
959
145
854
606
276
751
852
541
185
623
107
248
710
871
99
337
717
364
439
81
421
858
43
496
473
115
369
284
948
461
683
884
708
944
113
283
331
284
705
917
124
239
53
83
57
81
933
957
552
57
711
1
615
490
851
704
184
756
85
811
681
520
710
628
581
664
844
599
362
877
70
401
698
907
236
758
600
928
549
539
880
712
27
484
887
984
17
102
922
514
926
289
258
839
958
807
327
779
932
222
7
111
12
316
271
475
55
145
956
311
306
449
379
461
927
599
645
285
174
311
30
694
299
302
117
278
491
329
270
227
763
22
134
925
572
437
136
751
973
683
145
459
251
401
191
807
879
809
206
580
803
235
657
891
132
939
536
918
160
406
459
136
134
487
298
795
555
245
960
144
826
480
107
750
524
791
639
484
561
777
223
889
504
785
458
578
583
781
400
533
222
500
747
758
59
941
788
64
928
5
749
30
564
94
591
888
899
934
702
366
249
46
590
278
434
298
334
594
865
587
561
954
553
854
750
103
588
253
521
126
867
381
675
11
471
896
750
584
466
97
818
878
367
54
625
576
360
689
221
354
998
964
828
944
305
998
224
999
378
304
52
557
491
151
84
704
909
689
268
876
689
428
825
864
196
267
127
740
654
895
818
39
78
40
833
500
228
477
785
742
435
977
612
674
670
920
875
832
471
228
282
43
548
695
669
1000
904
643
783
952
37
777
265
599
10
124
104
267
474
912
526
338
709
79
635
831
964
530
642
730
391
364
882
528
940
854
682
428
177
151
943
244
427
197
119
203
185
273
809
200
185
818
689
813
201
635
398
671
412
250
262
720
725
716
676
921
962
729
440
9
406
638
716
879
748
38
270
458
703
848
491
152
770
10
530
718
188
459
155
446
577
477
287
772
127
947
785
929
491
347
956
549
432
157
295
268
999
312
797
973
288
514
48
479
60
866
990
214
716
83
432
309
103
747
84
760
835
545
929
46
675
187
652
748
647
867
143
751
67
774
424
768
295
651
209
246
768
687
31
727
1
751
949
6
893
145
635
854
619
531
30
876
969
407
424
114
860
545
273
608
219
146
169
125
572
788
839
458
583
993
624
625
170
432
254
492
538
839
163
850
191
594
903
881
104
14
494
130
129
17
170
684
636
701
575
948
589
547
578
646
691
967
683
545
377
589
808
644
468
294
420
293
810
991
998
726
867
474
166
590
226
594
554
510
669
905
238
639
645
876
906
142
135
448
286
144
944
990
270
30
656
31
892
86
148
130
94
151
516
912
915
931
127
448
894
605
446
317
284
818
133
796
971
820
349
267
260
255
296
360
812
20
831
241
796
656
947
684
895
565
278
434
675
302
359
962
907
929
868
607
280
701
475
828
241
396
649
796
938
155
639
827
997
963
750
824
946
419
182
805
189
262
432
516
965
506
595
206
496
610
377
328
423
541
855
549
15
920
248
18
42
453
923
561
170
486
830
183
682
178
626
140
309
175
885
826
989
519
111
718
297
319
109
578
626
435
175
205
840
77
703
216
111
399
181
275
106
314
40
791
952
100
600
197
805
316
152
91
715
350
652
409
738
43
135
683
193
310
693
443
64
496
470
358
715
53
731
849
958
971
189
830
723
120
149
724
738
986
535
208
660
723
910
290
131
718
133
913
55
542
948
80
143
234
769
976
1000
498
533
327
54
722
37
391
174
836
49
615
383
748
708
488
589
852
576
853
741
973
988
415
968
560
538
903
121
296
887
328
245
252
481
330
106
329
857
894
196
792
310
727
804
345
484
106
419
341
407
275
415
935
139
173
536
786
999
131
133
363
3
689
148
584
90
778
757
246
966
993
76
613
816
239
887
982
948
602
156
573
533
231
501
591
505
119
156
746
375
325
144
667
220
874
449
35
231
343
385
249
294
457
767
873
77
360
436
631
340
438
360
506
677
352
933
802
360
527
958
824
868
391
584
982
136
157
501
993
604
31
922
955
853
968
999
575
620
991
498
28
598
432
166
767
169
891
572
968
924
868
428
770
793
56
7
465
981
203
557
122
237
651
297
566
620
488
560
683
917
715
330
392
45
163
1000
275
897
746
512
363
324
187
40
186
122
236
248
623
68
687
990
540
363
274
379
653
42
207
992
389
906
752
671
842
148
871
248
194
955
745
315
119
693
712
102
472
303
876
566
725
903
894
276
790
716
814
804
491
316
180
515
49
775
685
275
648
810
955
720
214
369
432
125
58
536
191
978
529
1
919
335
677
140
881
326
915
552
598
313
235
789
728
393
942
169
434
265
944
785
581
872
479
380
768
28
61
138
910
140
832
185
715
582
987
126
101
26
7
587
578
653
165
477
781
888
787
187
6
953
632
294
588
283
226
130
815
924
254
504
772
214
296
773
73
282
657
158
740
701
107
448
522
143
237
942
725
702
490
578
966
165
236
508
803
615
426
942
911
719
210
513
41
254
234
940
228
441
535
928
884
442
701
684
348
121
635
7
502
266
873
724
634
681
621
375
801
94
946
975
575
300
178
104
591
734
259
888
997
332
700
905
46
729
266
193
172
736
122
423
667
273
32
69
673
733
748
393
188
978
192
750
886
329
595
542
546
620
280
369
88
262
687
398
813
451
471
999
465
653
860
538
819
332
959
639
730
569
871
984
186
632
75
39
344
831
188
135
18
338
826
561
118
244
603
302
631
696
612
1
564
429
914
758
922
502
946
723
362
445
684
685
534
5
787
315
493
34
450
946
602
537
270
161
965
286
775
143
324
950
89
797
12
79
1
312
731
979
683
192
427
172
545
779
245
516
249
648
801
84
548
609
213
794
418
681
61
322
142
290
724
24
82
619
861
882
372
53
679
276
73
699
458
264
99
12
897
945
424
95
589
967
601
205
139
144
563
465
719
971
852
567
679
433
418
895
432
541
893
251
233
636
301
530
693
854
720
153
41
171
44
596
770
68
382
281
748
460
618
221
628
104
524
285
911
497
972
91
775
334
317
900
740
976
906
11
394
246
295
64
83
720
107
957
671
798
633
599
410
128
794
772
376
31
711
367
234
953
44
734
572
234
825
809
324
107
114
243
112
488
235
425
927
292
429
858
753
870
775
457
773
775
892
419
612
263
692
539
301
231
258
36
58
189
924
10
639
323
190
661
543
656
188
614
300
203
219
722
322
266
251
775
207
379
221
446
215
411
41
424
692
38
402
143
28
303
700
642
685
43
131
580
608
718
994
560
297
820
199
639
31
349
176
276
489
944
325
329
422
360
467
453
146
497
695
466
44
906
636
52
952
157
954
132
97
613
615
358
918
49
513
450
40
379
301
240
991
373
218
583
514
818
56
537
95
208
259
850
547
903
975
902
905
231
468
614
418
577
490
965
716
988
922
12
471
113
978
706
146
178
125
826
457
683
442
266
78
77
439
937
586
223
863
700
224
792
231
873
371
242
883
245
878
546
853
461
22
577
193
959
211
757
953
734
117
510
787
783
23
245
597
636
600
525
324
62
252
610
160
939
567
472
150
928
395
194
269
581
632
123
115
498
751
577
150
659
170
833
280
620
751
471
985
627
961
701
284
114
787
623
693
216
44
330
198
52
153
414
889
231
726
536
552
713
11
448
143
701
913
342
33
458
95
709
5
365
346
772
163
439
705
333
671
218
440
290
489
929
441
790
940
366
427
762
672
478
61
899
134
396
50
646
25
305
647
758
150
788
776
137
880
705
177
885
277
577
363
102
768
709
996
244
369
422
587
29
333
46
332
191
300
324
171
736
130
493
534
344
276
740
357
113
591
779
982
542
954
134
21
905
151
138
210
317
904
434
275
675
624
888
259
864
181
513
260
950
244
28
731
474
44
427
473
912
428
118
825
447
861
906
183
921
327
565
15
359
962
183
316
191
464
536
300
70
331
775
989
170
934
555
389
435
984
796
957
956
62
152
778
184
454
187
985
844
222
515
208
823
684
950
641
538
488
813
617
452
358
269
836
676
933
352
135
111
23
989
888
319
92
41
66
612
337
581
904
34
215
771
573
502
834
143
202
974
471
362
498
341
847
221
386
883
916
650
509
934
135
430
821
504
853
233
954
980
205
510
534
775
559
577
578
59
570
209
887
878
741
80
692
877
308
137
917
705
313
744
8
773
317
233
766
432
704
821
906
20
962
898
668
94
725
963
889
273
480
280
265
3
250
998
879
531
743
144
277
989
273
500
450
925
519
778
281
302
793
819
61
202
251
14
740
914
12
33
728
303
556
905
123
271
767
97
769
309
964
710
86
742
973
551
566
731
514
809
636
719
599
664
410
706
216
202
199
766
41
448
530
40
118
126
397
444
43
680
350
827
870
97
999
664
352
538
781
739
805
89
533
769
88
665
17
330
678
469
719
487
53
328
902
84
129
755
993
3
50
786
491
903
273
311
398
973
844
970
695
631
999
439
648
675
381
277
824
438
439
633
237
554
934
571
30
698
908
421
446
783
278
378
833
106
436
313
133
938
816
612
232
465
68
514
831
843
731
252
369
421
336
57
249
867
739
189
991
699
190
541
885
304
72
730
922
292
645
991
808
992
902
441
275
199
516
161
898
704
439
566
979
181
113
159
276
341
436
788
531
858
303
553
814
305
575
354
466
825
501
104
587
242
487
170
599
850
786
509
585
685
110
854
127
493
545
35
359
681
441
590
342
66
741
182
231
209
284
241
199
941
335
175
836
534
479
996
679
592
969
930
934
902
150
559
206
732
547
965
655
694
228
72
420
687
535
182
244
668
688
685
208
157
216
559
611
684
620
324
230
915
138
138
412
16
691
822
54
393
265
941
868
703
726
646
632
663
125
410
39
353
529
824
774
775
364
655
607
40
171
664
954
368
564
393
80
301
351
177
607
800
472
17
358
793
794
220
708
319
835
47
233
500
392
513
895
54
309
207
818
885
73
977
330
831
968
615
160
662
814
355
595
985
430
216
802
603
845
827
407
725
844
371
439
938
510
142
412
501
266
597
670
636
127
631
720
933
531
428
493
236
154
508
475
803
979
370
204
758
813
353
470
416
792
576
341
716
974
333
803
109
607
350
123
262
123
254
907
434
741
472
575
293
158
215
711
816
108
677
790
570
437
369
75
445
475
833
514
912
614
145
59
964
643
171
601
925
414
363
945
867
863
51
240
751
84
446
412
454
745
980
76
459
671
200
764
352
650
837
790
270
867
821
415
642
329
756
783
702
509
970
282
57
687
407
264
896
871
843
865
496
404
676
725
842
688
80
545
305
692
626
534
673
512
121
727
899
837
848
280
641
26
975
7
250
178
794
986
272
235
347
554
35
790
285
51
779
685
623
717
896
319
287
845
591
911
898
255
453
292
154
382
359
713
468
875
621
596
459
285
678
671
951
656
73
439
650
768
619
238
433
147
161
278
83
366
10
67
747
769
183
424
459
998
289
264
450
196
632
419
566
474
561
27
315
132
869
854
526
784
533
694
939
927
558
881
748
3
553
19
900
566
679
605
763
548
773
376
210
866
774
483
814
694
762
753
935
774
102
528
287
822
629
499
321
615
71
778
69
39
503
234
21
88
667
317
643
584
938
678
659
971
634
717
32
409
876
814
492
533
278
650
806
232
534
601
506
666
270
999
149
149
305
687
890
492
23
574
1
597
359
698
514
920
535
742
706
648
796
586
427
591
759
811
941
627
334
125
363
274
19
139
94
678
277
594
671
577
242
153
69
796
901
869
441
257
834
715
514
835
175
412
385
352
15
155
48
147
834
200
827
175
283
631
46
782
19
21
567
229
2
244
445
339
996
865
91
985
808
880
491
460
939
251
269
741
762
926
816
833
593
76
181
315
248
332
690
568
804
311
411
885
836
970
571
584
843
638
423
794
500
249
677
406
49
237
270
370
51
84
652
26
504
975
287
226
926
931
134
494
512
591
711
1000
155
566
246
654
752
20
549
81
691
83
317
597
378
160
10
357
592
42
667
21
832
26
461
847
781
306
213
879
828
57
381
691
998
684
2
350
457
112
195
410
618
494
825
694
884
41
948
125
810
82
561
89
355
478
93
752
523
617
62
887
881
416
99
762
432
751
491
602
275
825
735
422
321
958
339
334
33
526
605
381
768
645
122
521
258
22
460
119
118
961
451
567
724
947
966
704
827
219
284
527
336
456
828
564
273
295
821
517
840
344
89
233
40
181
212
197
974
533
145
79
207
28
394
479
604
796
947
733
435
818
381
439
85
193
931
83
489
881
960
896
115
415
578
262
837
18
750
158
647
289
521
751
993
791
250
744
572
165
869
475
695
931
738
921
563
970
62
696
563
713
219
560
643
647
583
677
509
790
985
567
553
594
934
393
640
309
571
480
304
121
425
447
521
404
434
244
887
413
608
718
874
814
42
386
73
602
452
159
886
195
544
944
604
569
269
799
690
88
84
258
51
408
359
394
893
171
748
243
414
807
638
702
680
233
123
718
281
971
220
942
24
307
986
641
345
806
286
131
31
792
962
212
638
249
41
812
790
270
914
210
379
514
503
184
254
780
274
214
254
673
763
575
396
503
337
806
595
932
358
138
180
792
548
3
714
999
700
676
452
143
928
982
808
475
602
440
849
351
111
15
539
382
951
435
198
613
331
967
545
172
269
368
298
440
49
186
445
4
315
85
634
964
110
691
904
14
644
222
337
795
428
350
391
475
998
306
126
954
988
861
257
616
875
172
828
162
734
445
876
500
923
434
461
568
902
990
69
557
555
849
981
252
542
201
311
715
717
913
799
402
15
958
54
280
813
337
350
80
34
255
889
219
377
486
383
431
182
689
344
194
972
441
6
886
68
817
273
637
691
776
223
913
858
526
828
779
362
538
884
119
188
924
757
984
599
705
299
21
41
92
83
878
100
652
961
919
275
623
886
506
150
565
750
367
510
527
427
770
139
584
975
299
576
889
499
511
720
56
257
493
328
554
715
893
351
199
485
351
503
960
488
725
351
943
122
154
736
626
192
581
796
486
621
147
588
481
217
726
275
404
70
646
574
360
679
780
154
232
294
578
997
552
797
346
262
768
759
54
51
974
350
264
440
328
739
567
72
189
458
683
921
183
45
671
842
645
966
536
939
683
217
9
910
825
261
41
884
257
230
883
395
882
94
424
914
718
385
1000
801
970
328
605
799
531
241
254
324
949
189
418
439
802
614
308
684
110
621
572
192
816
725
329
451
904
254
523
473
699
888
564
103
467
147
856
592
791
489
961
900
382
463
626
274
488
948
428
302
502
617
420
778
745
521
491
56
948
342
648
400
826
581
730
383
57
257
921
100
528
896
763
967
549
428
175
738
386
266
914
507
521
129
479
613
136
171
964
19
499
639
781
379
143
179
197
914
300
467
253
685
357
915
217
218
42
739
533
75
587
548
750
363
678
210
718
73
507
539
358
605
434
657
429
778
73
44
246
750
852
14
462
162
307
954
303
741
656
627
978
498
742
717
855
929
726
141
218
808
404
839
958
641
457
658
770
838
916
434
110
189
963
372
440
397
444
14
605
925
725
885
219
79
115
845
116
658
411
834
555
563
102
522
456
958
27
951
942
612
963
265
193
130
22
855
478
108
129
278
252
365
578
838
642
791
974
660
477
981
422
240
666
705
712
736
514
916
3
699
347
801
863
860
984
422
215
975
994
440
644
205
735
391
270
641
721
122
184
167
627
312
672
743
377
330
944
269
409
95
721
88
67
421
962
311
651
915
202
960
306
114
162
786
195
442
412
445
461
65
399
1000
29
999
338
513
932
114
291
433
460
941
60
826
649
103
484
344
431
317
418
525
609
633
459
704
263
775
75
488
455
763
156
692
865
601
306
731
377
357
552
642
786
161
903
298
794
431
753
397
401
401
288
218
515
429
866
508
995
647
696
940
191
492
367
415
438
580
386
63
541
813
151
760
2
231
533
83
486
562
191
219
364
979
45
348
544
527
454
628
596
548
7
591
519
781
508
148
816
88
350
139
647
692
780
479
8
452
916
532
968
749
291
273
27
518
126
730
840
677
706
488
611
26
969
679
580
805
877
159
276
64
770
739
449
973
759
757
978
613
622
578
441
166
213
395
778
768
575
903
62
219
94
163
368
819
973
228
578
53
910
405
328
889
655
747
736
604
64
274
431
855
3
998
884
543
188
918
487
48
510
84
358
531
403
396
733
918
113
470
365
213
845
187
927
740
894
217
362
277
531
83
863
549
907
855
942
652
925
744
535
679
225
590
792
511
117
733
45
122
12
797
555
620
440
990
814
681
292
420
945
707
15
204
376
578
260
223
276
562
320
958
731
432
858
736
739
363
720
68
595
457
123
733
218
101
875
847
308
60
984
863
784
64
494
128
802
804
256
918
471
782
982
787
216
50
892
753
185
428
834
212
19
356
926
58
869
797
119
930
500
833
670
132
448
284
428
884
6
541
10
294
486
121
951
658
814
18
195
932
205
713
971
947
59
905
74
308
916
986
597
203
987
216
99
221
436
850
917
987
715
445
737
146
491
668
395
793
617
145
858
627
996
884
679
207
232
229
668
782
496
826
185
100
579
443
491
463
386
626
771
420
728
887
868
685
60
636
344
539
892
245
935
32
980
927
986
550
333
132
475
837
14
975
930
309
982
938
400
649
174
728
323
569
625
938
210
38
773
386
334
728
89
672
108
64
215
989
506
265
946
567
143
530
162
305
665
319
968
870
881
685
32
5
81
378
877
760
471
590
662
9
329
878
722
175
243
413
999
88
6
491
184
152
261
325
994
231
958
835
968
2
133
549
844
214
86
65
633
680
227
222
45
718
231
200
161
409
920
705
754
661
577
503
529
304
958
915
582
562
811
886
154
617
60
925
462
157
3
157
879
544
918
906
285
638
812
907
115
388
614
648
819
293
541
65
963
902
43
675
167
945
928
807
623
694
90
690
146
481
398
904
685
248
704
50
643
453
611
914
357
762
372
910
12
724
343
527
268
978
469
75
472
855
970
480
401
997
519
219
513
38
314
668
744
52
988
996
272
734
880
444
140
227
985
883
745
958
621
345
958
126
630
502
572
366
328
646
360
336
351
964
322
128
886
750
371
871
231
28
803
285
207
499
606
426
223
920
764
361
482
99
746
804
378
676
198
829
707
178
854
500
679
819
675
810
278
863
558
218
874
716
420
762
889
965
900
594
517
697
321
853
957
527
117
397
985
394
48
28
102
135
757
65
950
407
276
194
19
470
617
549
242
289
705
594
110
246
53
530
519
811
726
723
558
877
427
1
949
177
855
954
32
998
855
733
954
616
772
474
337
931
147
199
699
237
452
344
768
685
707
693
939
824
980
992
995
256
109
9
454
317
655
883
382
894
816
965
64
329
42
234
292
794
922
73
987
17
982
545
765
164
317
537
292
202
902
921
12
80
463
537
866
787
414
135
653
879
334
320
617
729
294
176
513
559
360
309
298
666
420
887
417
737
774
727
976
830
474
296
187
86
452
263
1
776
126
774
703
384
454
129
376
393
139
906
560
502
252
686
381
791
733
329
261
859
411
620
174
381
92
323
791
448
374
109
410
251
31
225
773
73
47
84
880
8
355
701
116
112
490
77
700
985
770
113
960
575
572
289
608
917
236
762
233
525
420
660
471
955
465
933
157
7
452
859
589
216
416
894
204
545
691
889
202
703
978
383
721
254
800
787
591
685
672
512
153
394
758
952
741
756
662
619
212
893
277
162
52
970
544
422
132
909
23
245
338
415
566
778
349
154
359
644
270
634
675
342
23
291
479
994
669
598
526
634
682
40
634
405
496
246
530
390
343
14
908
944
200
144
2
319
297
407
659
56
32
71
377
947
836
125
452
361
971
52
621
637
958
879
52
796
348
95
389
732
662
745
635
425
548
746
196
721
452
910
722
450
243
114
318
460
185
231
101
930
788
814
966
39
871
345
710
953
350
64
875
57
219
905
64
999
154
147
495
670
919
639
484
324
647
742
733
560
285
846
186
313
287
384
93
10
412
902
38
447
437
72
342
82
496
607
514
224
533
90
977
823
352
278
318
285
35
621
784
375
516
500
105
680
876
365
108
153
123
633
484
762
646
754
68
104
59
495
864
28
637
601
980
850
787
79
798
504
328
285
253
910
96
625
230
714
102
538
891
637
251
300
35
998
167
491
703
719
530
624
977
782
377
26
793
229
562
922
261
612
452
344
28
754
617
762
201
86
900
365
594
721
971
553
457
799
905
352
690
105
924
760
973
7
208
870
512
840
601
71
698
45
268
336
862
649
256
721
986
756
522
917
730
696
820
240
929
428
275
594
552
477
899
447
482
913
919
539
306
18
459
773
560
347
229
673
456
409
149
417
359
741
390
870
998
293
908
553
839
789
397
733
273
917
465
650
780
262
221
302
983
941
718
550
560
428
301
885
201
957
840
730
755
7
996
473
421
845
771
931
583
785
192
76
313
616
133
440
413
383
893
688
12
40
275
110
36
176
335
401
618
557
449
589
949
654
56
948
274
280
653
197
680
711
501
155
334
307
481
659
968
302
849
744
788
341
170
61
849
321
172
962
117
103
907
280
593
153
778
415
607
901
623
943
182
13
333
819
910
522
175
609
206
766
354
512
145
313
567
588
468
600
338
684
403
625
392
716
756
133
141
860
973
212
977
660
384
884
668
933
994
402
61
636
608
794
960
901
310
791
57
118
701
53
684
767
819
526
387
327
529
832
339
523
13
956
380
551
572
291
108
795
629
693
597
911
7
542
981
261
795
384
341
522
724
861
561
426
863
466
622
962
431
164
736
615
383
348
349
730
510
192
372
610
98
514
412
861
662
49
172
48
333
675
531
80
682
626
260
450
27
290
928
614
433
327
212
690
13
87
338
684
836
827
938
978
952
923
275
342
868
751
110
900
52
912
1
243
356
573
882
366
656
2
810
691
581
359
728
484
825
52
949
429
267
572
394
10
238
655
58
336
38
140
837
866
176
274
690
43
759
712
995
805
566
79
397
771
968
381
234
272
975
459
190
217
509
891
205
937
538
416
863
194
846
713
987
758
550
42
843
147
286
507
436
388
712
270
450
385
782
948
962
269
189
632
34
437
135
470
184
716
804
331
743
638
775
941
892
251
495
76
421
488
913
862
951
191
283
896
869
278
691
645
633
364
711
833
884
71
698
437
582
601
337
591
956
88
250
463
855
86
869
267
193
357
629
813
181
25
808
340
9
742
328
923
8
377
772
685
199
346
426
119
142
499
79
809
226
737
382
105
501
129
128
446
178
505
950
320
778
911
149
217
16
84
141
145
320
819
520
729
953
864
92
346
73
368
40
70
445
780
723
307
984
696
837
290
313
952
317
937
190
839
193
785
952
961
143
805
960
476
607
621
665
881
722
884
239
860
595
668
765
708
799
957
861
192
900
299
694
314
193
970
123
762
774
766
389
591
4
854
395
653
264
590
186
905
268
619
770
308
103
953
384
87
14
696
551
432
811
493
152
537
499
538
834
224
251
467
343
659
940
741
79
791
824
652
731
872
598
923
307
795
870
980
189
490
467
912
52
840
905
690
3
565
620
341
648
401
850
376
163
714
305
114
3
368
975
260
988
735
288
274
710
604
954
100
947
42
506
215
190
879
760
76
798
832
591
584
674
869
726
753
51
540
172
268
423
525
147
60
741
26
947
971
584
953
902
113
138
212
130
109
805
149
115
758
304
222
376
223
756
43
768
770
645
616
400
391
107
757
835
114
532
2
276
637
688
240
97
640
342
398
957
47
156
191
158
284
746
411
496
354
967
108
858
355
581
651
21
888
153
842
321
850
897
186
228
347
658
402
695
820
308
592
775
38
373
345
818
305
486
983
317
523
321
801
715
407
375
275
182
951
106
669
856
110
384
22
815
394
271
877
21
163
965
833
491
824
294
606
932
334
781
129
185
105
440
177
180
347
630
896
596
716
450
41
314
49
33
175
910
763
760
91
431
547
654
488
157
557
522
758
788
307
462
592
112
337
38
110
379
801
39
205
39
122
922
81
939
641
514
63
620
725
558
963
358
942
224
322
748
627
550
867
102
183
105
766
190
17
560
601
857
470
26
933
618
486
446
448
805
295
85
473
102
521
622
146
37
649
971
841
54
962
968
872
533
675
810
362
149
918
67
469
571
378
822
681
324
825
117
557
751
867
324
870
719
663
233
663
960
782
693
244
907
112
935
679
689
485
34
741
750
852
448
587
289
464
964
217
935
535
437
417
556
258
256
545
42
304
754
85
356
523
841
953
960
634
383
917
305
751
928
374
46
339
762
640
128
687
197
273
92
847
963
257
623
35
590
31
422
284
240
572
584
337
1000
811
597
569
9
673
204
59
660
782
243
490
500
782
895
377
907
607
802
73
304
887
457
727
377
610
205
975
87
545
159
168
107
945
597
266
531
302
596
709
269
376
508
381
324
317
869
638
871
998
343
532
472
582
202
849
312
648
88
831
89
105
820
660
864
954
429
484
304
703
802
873
139
545
948
884
69
789
512
713
746
153
811
617
101
378
123
826
524
125
185
49
449
308
184
289
243
122
631
980
55
269
254
143
359
967
250
474
961
277
422
447
818
395
122
884
277
802
937
684
929
503
319
935
105
74
432
806
762
697
816
816
652
323
280
96
492
385
759
906
787
456
573
107
704
433
921
59
513
493
563
955
312
32
445
868
908
320
834
959
416
590
828
229
419
969
650
246
283
427
567
322
135
410
956
229
60
959
618
680
466
728
361
212
596
966
253
800
740
689
614
110
30
890
52
922
413
383
950
129
957
133
435
792
311
69
613
629
373
577
676
749
2
9
250
435
935
913
41
824
918
682
696
869
203
250
256
348
127
873
249
581
436
851
784
947
394
737
822
483
624
259
270
810
928
922
641
629
862
805
981
536
98
59
536
142
648
942
193
308
313
245
302
252
920
172
271
551
365
656
1
543
496
282
922
541
456
764
600
30
64
390
599
352
490
736
312
541
952
707
484
910
573
989
838
660
943
738
416
829
537
450
568
359
511
11
285
18
34
93
223
711
381
815
77
110
465
228
886
904
175
295
418
828
245
591
629
285
776
216
883
28
107
342
861
202
938
396
626
237
662
976
549
310
258
107
267
609
668
838
925
906
593
929
68
997
247
594
184
55
801
232
274
926
775
935
309
456
863
843
718
210
282
358
575
451
390
15
843
707
580
730
821
387
963
557
602
614
917
869
389
626
451
439
974
802
778
92
964
899
893
129
864
144
695
716
805
633
502
589
910
101
63
762
321
980
411
223
412
286
426
977
87
934
900
600
199
825
486
433
427
625
193
433
319
63
893
235
365
23
331
854
20
78
199
442
177
325
771
74
163
525
345
512
896
892
413
416
648
730
401
969
605
647
477
384
443
951
152
125
832
20
279
396
554
524
765
397
458
498
220
26
729
799
423
683
966
784
560
788
567
828
694
940
605
938
140
769
293
956
926
349
295
709
734
833
70
335
416
42
506
819
383
844
591
848
86
216
199
257
596
824
317
376
768
225
876
802
192
44
20
309
379
27
962
895
229
329
854
21
118
970
553
45
482
418
617
474
237
304
384
375
793
373
474
823
875
510
248
835
478
665
531
951
823
249
915
144
653
614
369
54
24
203
874
294
32
956
653
672
283
580
929
474
418
696
384
180
780
864
27
937
266
536
18
573
243
1000
558
999
144
142
842
334
394
169
392
245
808
755
576
664
415
868
377
638
170
646
326
655
323
634
251
494
737
205
681
168
451
27
5
145
767
205
605
578
950
330
168
544
120
649
451
523
820
142
356
552
82
185
837
570
379
23
175
867
365
990
540
249
87
801
389
699
833
289
102
132
987
652
55
31
677
421
874
205
929
246
312
658
988
811
476
108
810
462
546
680
94
40
872
276
971
681
53
263
180
274
28
86
846
247
471
186
122
944
269
457
777
404
695
516
924
665
860
475
862
929
109
393
647
874
176
269
725
983
40
879
634
540
318
730
948
307
798
698
382
731
879
231
871
150
368
96
861
80
715
839
523
67
821
530
899
514
217
493
414
587
117
560
374
220
931
294
212
421
39
728
59
645
142
922
385
307
696
798
220
225
43
70
238
987
883
365
204
422
810
757
636
755
481
225
280
689
956
920
774
125
720
118
249
322
506
215
437
450
226
902
998
385
851
386
795
480
409
779
310
765
654
203
92
241
925
889
728
794
900
946
940
855
11
180
546
516
241
840
226
475
472
993
317
838
691
662
666
156
642
92
146
487
370
571
103
327
18
32
291
273
363
319
842
994
988
632
928
661
37
334
902
969
405
628
795
655
11
610
629
18
871
425
996
490
151
686
613
1000
884
455
369
943
656
312
301
430
72
780
864
830
860
607
401
5
386
862
600
466
472
285
232
161
606
763
885
932
57
487
854
619
734
662
561
359
315
990
526
443
881
962
352
507
901
303
454
940
176
231
834
596
141
565
277
60
917
332
947
256
582
114
374
126
953
683
728
661
291
578
789
173
768
331
871
826
166
736
294
599
373
259
170
131
661
192
451
485
797
534
944
516
893
919
23
110
953
672
546
443
45
575
487
3
1000
13
216
491
431
437
638
532
279
599
244
573
347
61
119
685
655
872
82
801
355
987
14
713
611
881
641
661
841
331
101
649
86
975
698
602
478
471
614
568
64
880
363
117
258
496
620
695
955
414
356
617
796
70
159
885
805
635
362
665
661
131
737
646
676
785
176
423
36
321
398
988
856
757
37
646
62
708
988
906
488
267
35
292
510
454
453
756
42
775
952
113
446
413
616
609
190
690
221
344
995
428
667
247
860
611
433
196
993
332
810
859
147
466
950
833
806
860
953
377
267
390
370
264
26
808
715
498
551
383
729
131
2
429
777
402
795
292
12
558
874
458
704
570
681
824
654
294
790
567
735
788
279
866
769
651
713
894
137
45
39
341
914
500
575
917
982
166
745
660
780
552
232
300
755
821
459
310
648
486
409
878
934
415
864
585
42
715
188
179
77
995
521
835
795
599
724
300
277
286
467
332
865
436
871
97
519
569
905
778
904
366
407
701
828
26
833
62
454
453
278
877
635
620
932
347
287
290
574
405
58
627
782
963
610
231
33
981
100
337
362
157
52
410
488
163
507
780
545
525
683
738
562
650
113
452
914
948
160
359
411
764
775
687
81
912
544
11
726
571
703
456
148
72
357
370
364
894
829
620
968
290
76
661
380
407
584
803
529
264
705
723
729
610
855
227
220
393
319
986
803
908
958
836
256
659
763
669
675
443
589
263
837
237
182
359
544
881
271
552
935
369
813
839
149
486
480
239
364
651
880
109
555
308
262
212
767
303
417
947
724
557
971
19
498
574
380
130
7
524
956
932
198
800
740
44
365
396
170
431
255
670
370
23
985
201
39
168
427
709
285
238
506
408
796
928
744
179
115
676
690
428
135
103
567
564
26
509
560
767
781
434
713
561
602
968
485
283
318
292
691
643
989
785
435
919
990
683
519
805
957
697
807
327
123
728
262
372
309
46
420
638
486
138
358
62
192
407
108
106
398
721
380
105
768
832
89
391
431
495
676
525
386
280
999
218
271
938
872
454
168
297
53
422
474
230
404
951
932
27
210
638
510
373
631
834
539
140
791
221
339
962
604
880
238
625
673
939
903
569
542
214
110
433
426
377
63
548
163
46
240
366
969
778
224
384
234
457
83
571
97
939
784
32
973
360
347
686
131
955
677
452
713
152
982
694
198
348
453
42
859
962
380
523
763
871
10
898
326
558
46
390
459
520
714
350
908
132
932
753
152
460
263
515
649
18
169
450
987
893
992
620
808
221
721
247
650
685
594
772
285
472
26
337
403
238
920
706
499
439
279
252
28
149
741
179
621
349
421
339
314
112
82
957
528
485
94
37
29
625
898
184
370
448
363
378
497
218
577
524
797
647
21
444
312
148
72
181
796
113
511
181
836
584
939
4
121
763
548
645
443
915
695
872
17
113
731
37
237
425
436
329
807
659
356
892
479
947
313
845
659
788
801
128
46
498
813
42
771
294
670
82
777
442
964
974
816
823
589
773
712
455
131
37
707
285
849
888
927
691
445
499
931
37
750
856
468
389
233
494
865
31
326
623
810
357
584
586
19
5
831
589
372
112
572
764
717
149
672
153
883
476
443
24
793
856
49
581
426
432
520
156
611
228
764
176
583
794
786
417
291
376
664
78
350
941
757
254
11
808
724
721
972
110
424
862
336
269
566
667
69
521
28
228
750
402
80
450
455
99
733
935
440
161
170
243
338
664
700
827
144
780
785
857
944
449
743
292
357
978
706
408
572
656
156
759
995
172
254
859
327
814
657
101
626
992
430
573
379
616
234
838
818
89
795
682
193
931
574
282
946
14
603
939
867
685
27
388
230
246
797
11
253
562
401
423
986
86
522
503
210
383
886
637
404
300
86
139
204
549
312
96
1000
26
27
841
483
187
103
843
865
563
54
189
804
815
556
664
747
882
556
69
495
889
110
116
405
68
757
435
107
788
984
664
738
856
26
727
126
696
714
498
955
889
666
708
53
71
684
759
472
993
639
789
557
449
819
236
183
298
300
857
840
616
942
286
82
314
224
960
583
423
733
771
978
567
339
985
646
18
34
940
9
720
847
300
276
73
464
311
485
391
629
980
92
342
558
54
41
975
128
762
316
577
979
93
774
219
898
153
152
804
192
127
216
515
739
280
476
379
554
168
645
361
103
893
628
850
779
419
514
240
889
217
420
224
24
657
185
476
154
983
878
894
712
201
744
80
665
626
315
944
912
900
267
669
873
192
351
249
717
697
884
18
361
64
729
220
491
353
576
931
287
409
260
620
222
365
539
289
673
451
290
140
367
353
85
38
732
644
830
584
137
999
634
863
772
304
885
362
528
442
401
534
114
772
445
700
475
975
957
632
124
358
898
782
724
147
272
799
892
679
785
191
799
482
140
629
434
780
941
422
168
743
361
208
306
941
748
932
688
451
892
54
6
434
566
478
144
522
999
830
909
431
62
227
27
798
433
372
865
825
990
425
644
563
189
625
830
75
336
258
381
140
297
226
879
410
434
473
403
292
901
29
89
795
981
753
935
520
551
993
545
682
41
567
906
17
52
998
101
31
232
147
267
772
564
913
977
563
58
247
592
33
28
482
936
757
696
702
934
229
509
847
973
442
760
970
812
474
871
344
987
764
332
163
209
151
269
894
959
520
482
215
930
46
125
831
388
868
543
210
809
623
84
522
28
517
926
401
202
844
815
662
50
911
396
45
746
466
369
972
561
822
566
783
154
78
866
589
535
460
440
179
767
133
14
246
588
76
815
524
785
688
229
587
409
31
545
919
702
27
429
724
100
826
508
503
154
972
43
36
294
133
65
886
472
308
438
173
644
606
964
505
263
777
931
358
64
913
329
359
856
434
684
334
757
18
197
690
444
493
95
630
998
235
879
153
733
546
239
23
1
211
544
682
991
635
436
534
174
883
30
887
386
375
577
344
664
103
458
875
949
427
302
936
987
968
581
679
634
379
356
980
296
735
236
452
775
99
698
649
800
839
707
36
251
202
868
474
992
232
949
19
996
937
536
734
76
563
971
34
122
80
952
715
1
630
662
234
537
229
151
130
919
954
344
882
65
343
381
296
281
31
669
358
396
674
369
387
680
637
596
447
281
171
49
510
753
926
812
197
699
858
588
469
115
368
57
795
327
922
571
374
782
269
223
64
381
568
814
344
29
201
739
491
97
178
804
321
779
807
589
434
754
212
512
794
896
40
553
390
507
965
342
291
135
194
955
279
93
148
894
720
79
617
98
892
979
476
414
698
867
795
434
165
162
426
879
763
743
682
631
651
48
971
928
883
559
793
132
142
968
572
490
147
257
2
706
244
342
473
113
757
837
224
36
403
97
591
854
418
912
494
520
366
165
544
265
215
501
884
849
39
401
972
460
347
803
810
271
811
509
923
512
230
844
706
157
579
636
480
506
776
187
52
460
397
210
876
948
292
388
842
152
627
759
736
223
278
30
635
137
366
790
188
210
588
975
978
61
92
759
655
17
611
843
529
32
32
610
495
350
711
398
489
329
366
821
647
445
982
761
787
377
733
208
562
60
459
869
256
573
281
227
376
904
124
127
483
500
733
244
772
720
287
53
298
10
722
837
556
423
510
160
458
169
197
837
73
19
645
198
107
898
143
303
344
661
540
350
746
728
689
928
815
300
458
428
829
548
707
853
275
55
188
926
873
800
261
587
629
600
894
926
440
127
599
580
878
997
338
716
258
917
738
20
913
32
59
126
819
472
728
902
24
466
309
894
62
186
405
368
614
132
855
527
448
259
540
420
480
645
842
960
189
153
370
11
725
388
501
112
988
543
135
747
704
133
261
258
192
527
437
152
690
160
131
955
617
968
615
341
963
821
997
453
280
761
391
815
576
904
470
21
825
216
551
105
737
160
884
990
741
655
71
459
941
342
471
856
344
83
182
160
456
648
274
705
538
806
114
120
212
199
136
946
733
874
544
814
598
534
404
645
536
516
4
352
71
576
875
361
301
653
506
976
912
775
25
19
361
751
738
389
837
139
670
527
547
994
225
202
176
45
678
490
67
609
970
918
71
130
489
86
242
788
92
548
750
551
110
473
430
151
422
32
516
347
469
304
270
32
21
128
515
538
226
617
252
793
913
780
952
730
277
497
284
67
111
530
807
176
282
816
677
503
272
582
122
642
951
152
995
202
185
807
209
318
33
988
313
406
662
884
792
477
873
121
449
127
62
60
117
434
708
250
181
255
693
857
310
799
866
903
996
319
843
455
978
908
179
386
632
607
666
159
477
532
989
279
966
752
850
123
810
158
162
740
495
502
452
150
179
53
202
562
289
19
193
28
775
122
667
46
522
662
906
825
576
843
186
822
941
650
405
357
663
268
624
131
533
912
39
377
840
723
128
620
204
254
149
458
607
724
119
325
458
163
730
61
98
169
25
656
49
30
848
633
690
609
593
574
220
340
645
553
216
569
609
299
634
108
131
122
85
766
470
756
375
373
528
744
278
815
249
160
339
637
283
894
55
170
146
299
195
787
793
329
228
911
600
758
804
720
844
159
224
770
151
787
447
289
381
252
320
995
520
117
532
134
861
862
580
84
7
172
829
664
474
655
26
499
797
255
30
996
168
660
987
109
522
588
232
524
566
70
794
857
671
215
785
3
240
73
555
181
223
50
820
586
284
982
765
464
469
922
713
438
732
893
17
732
737
559
861
564
462
754
769
356
416
963
422
832
617
630
112
524
855
821
594
277
929
949
48
552
816
793
257
534
747
904
938
352
447
705
266
180
766
643
59
959
747
15
697
479
391
111
338
491
223
820
407
485
337
340
203
540
65
214
108
506
487
712
644
937
482
395
512
84
217
115
867
117
504
989
335
968
709
555
641
629
563
682
584
98
914
456
628
523
229
308
458
501
228
615
661
356
411
20
985
661
828
874
311
3
924
936
499
603
723
572
151
674
286
908
853
452
917
314
74
582
427
319
956
445
96
495
138
516
254
948
366
176
712
575
208
705
888
544
735
769
598
277
876
361
761
672
59
3
730
270
868
224
550
170
815
811
840
966
700
851
330
42
309
692
558
949
617
781
561
758
109
262
896
17
175
477
738
662
546
989
979
349
601
653
280
973
324
303
261
531
285
591
608
255
855
803
983
169
449
35
935
639
102
565
259
111
857
910
852
810
613
876
730
420
842
722
643
324
948
189
127
778
784
615
93
162
718
311
640
489
201
437
364
944
373
638
496
732
620
864
698
377
937
256
381
74
799
216
746
360
240
962
418
123
802
259
799
813
660
554
684
538
547
753
630
142
733
244
884
806
939
718
960
284
804
977
168
500
146
895
1
64
446
823
42
768
402
412
173
482
866
370
503
822
493
563
740
7
216
183
926
704
808
207
579
255
543
130
47
646
385
398
471
70
215
909
37
915
696
487
682
892
406
342
651
128
787
281
801
598
227
163
351
283
802
103
810
501
919
620
648
329
532
221
661
728
498
848
207
555
670
320
293
24
9
567
419
9
137
312
369
267
184
368
739
609
730
521
469
825
201
813
80
475
370
574
535
718
880
178
771
211
713
794
827
612
268
871
959
938
675
332
594
29
393
163
408
779
591
402
832
861
642
585
280
412
47
239
85
166
179
21
30
432
392
224
753
626
561
16
427
326
384
880
794
65
806
51
106
900
226
632
943
429
86
216
885
875
247
769
559
331
98
569
835
901
923
256
34
34
585
921
877
827
384
967
381
962
194
32
95
733
785
642
692
116
536
806
48
839
163
676
282
621
448
200
890
149
62
804
172
591
295
844
332
287
537
880
959
666
116
608
531
667
292
719
921
244
482
148
319
242
255
181
608
541
46
461
971
244
411
515
583
624
628
812
953
939
439
536
212
941
544
969
5
265
135
133
451
747
681
646
42
292
47
706
710
80
838
511
756
64
290
207
303
820
574
83
617
531
94
502
804
502
326
798
565
211
18
788
969
829
385
112
437
256
91
881
593
443
85
520
327
912
324
908
401
461
381
283
160
728
730
59
703
226
467
309
39
9
357
766
203
723
455
158
482
724
257
449
7
953
423
187
49
611
135
226
999
457
152
462
847
51
276
599
779
35
599
862
469
246
446
329
427
130
67
29
629
290
606
128
375
277
946
646
61
824
269
166
384
844
256
734
440
114
87
777
397
461
75
761
716
797
78
460
806
689
527
61
155
733
435
557
343
735
105
15
287
309
159
725
53
843
270
191
896
677
541
576
341
614
1
395
640
210
972
205
760
616
90
987
41
615
979
364
985
367
182
833
352
524
892
288
270
929
202
553
939
371
321
421
819
366
924
933
524
371
218
418
835
429
742
289
887
814
429
318
365
260
606
974
882
480
407
598
498
45
943
530
945
62
53
736
294
998
317
965
112
592
498
238
846
748
948
645
986
413
983
819
612
826
51
550
985
966
334
928
298
528
288
924
212
801
158
186
804
70
76
844
131
876
133
926
563
541
9
325
772
880
248
292
742
917
399
942
67
328
424
389
624
187
52
982
698
310
156
347
815
479
203
793
66
763
201
448
359
329
760
752
636
462
349
813
616
616
621
116
940
837
410
346
138
920
546
287
195
531
910
714
934
485
942
912
380
488
325
565
391
755
275
223
837
42
280
59
179
803
371
50
901
473
247
340
789
356
694
407
445
492
990
704
254
212
258
751
640
671
280
64
638
927
660
899
258
792
841
599
741
822
833
98
67
160
416
941
676
719
59
183
408
283
265
703
563
547
456
11
38
699
332
332
421
819
125
511
33
317
907
337
650
427
716
440
273
628
394
219
376
196
617
651
236
933
766
247
900
416
368
405
896
853
854
443
392
592
731
597
222
450
867
767
274
977
819
46
807
845
580
704
729
484
504
8
419
715
233
934
563
533
328
59
85
492
298
573
859
290
278
996
876
58
649
477
862
784
708
861
187
447
844
175
332
682
431
183
217
335
336
638
750
420
765
92
657
663
680
99
304
180
776
9
860
342
674
826
690
714
24
35
442
291
140
146
393
324
511
907
976
802
464
161
720
593
358
856
177
678
613
601
973
462
526
878
558
205
946
505
424
488
532
585
935
289
960
627
90
95
315
894
268
110
58
586
938
359
734
872
265
601
683
736
261
674
642
239
650
544
626
197
24
427
159
974
745
364
101
860
819
852
502
402
706
926
244
859
690
795
714
992
432
664
423
212
949
981
924
392
805
922
735
290
806
15
258
140
659
161
978
978
560
807
496
162
371
420
446
930
37
743
83
248
656
760
764
669
541
717
387
848
367
134
431
833
399
887
243
856
1
965
800
299
3
909
333
731
41
700
964
652
129
790
265
608
665
939
611
828
916
381
805
828
872
426
783
901
457
800
759
818
292
698
860
102
586
117
668
946
349
186
755
492
640
353
612
661
512
820
917
258
866
136
69
456
817
199
634
31
232
624
545
638
18
872
838
156
431
995
80
99
548
817
936
13
736
767
443
215
385
626
573
362
293
820
741
179
894
768
377
948
447
579
771
682
221
628
513
956
958
229
420
3
278
302
223
834
604
394
440
773
3
759
546
232
862
172
467
903
461
176
352
283
755
406
535
861
256
448
291
83
251
406
353
31
749
523
680
391
722
908
752
537
450
364
47
811
952
601
102
780
876
268
18
455
555
978
280
442
221
319
211
305
644
761
976
448
233
67
362
88
474
312
874
427
992
511
738
780
312
514
697
44
842
412
752
330
948
409
86
464
464
657
232
271
621
979
754
551
416
48
859
376
641
973
883
37
668
275
693
351
538
336
854
437
921
911
441
529
864
148
530
403
724
815
486
666
69
779
101
235
95
951
156
218
519
931
912
189
795
439
605
157
962
98
677
861
92
943
124
952
401
779
741
505
361
514
743
462
396
467
460
694
315
863
765
846
480
575
753
834
864
470
198
87
846
132
891
249
409
465
396
271
500
741
145
430
341
159
185
965
916
948
328
541
209
842
548
573
516
157
990
585
764
280
72
587
458
425
10
586
407
911
156
930
91
404
454
965
248
239
693
219
976
111
585
273
903
385
208
551
786
213
815
259
714
40
713
531
219
580
153
38
786
629
589
645
487
555
525
512
961
823
584
422
840
673
906
157
88
228
656
773
69
252
154
787
327
802
133
229
896
232
122
583
963
265
576
519
932
727
679
457
754
766
944
589
928
257
793
220
243
541
806
926
596
919
632
507
464
425
503
740
395
326
584
106
994
758
518
498
805
224
920
404
582
541
630
750
783
347
478
581
655
857
181
994
933
703
375
213
647
975
15
465
397
435
411
335
253
201
242
698
921
545
343
389
785
735
98
174
839
687
280
492
308
408
299
131
570
18
909
850
499
80
890
917
147
959
38
664
230
456
238
414
686
131
31
304
1
365
752
588
133
507
20
384
39
763
217
989
220
168
458
998
177
672
231
826
9
639
476
878
981
527
900
982
256
253
254
189
417
196
283
895
163
621
232
172
582
759
54
943
496
726
841
361
568
812
847
231
566
778
502
450
883
901
445
896
727
716
200
175
882
187
982
906
743
378
812
405
425
737
310
844
201
674
417
470
910
55
784
685
264
538
903
32
266
499
543
797
496
831
38
497
42
821
107
317
293
863
497
26
919
581
605
671
679
438
157
398
894
144
869
266
14
304
72
330
193
307
265
611
828
65
789
282
850
841
822
650
487
111
388
579
531
13
211
740
214
646
122
732
253
571
359
73
464
749
335
938
121
958
890
912
622
925
994
149
114
584
732
922
90
804
614
360
309
16
720
22
151
793
505
656
270
687
464
845
507
986
664
86
65
232
366
167
636
840
559
514
842
761
514
147
683
54
892
315
320
554
512
148
724
480
596
223
556
385
368
957
371
965
898
587
68
400
107
498
256
192
772
177
637
960
446
630
698
337
13
50
178
305
138
897
733
430
930
559
950
864
777
829
316
976
341
60
622
534
808
656
251
473
717
97
995
514
963
651
459
245
180
671
312
646
302
279
878
646
831
475
414
818
614
61
120
938
216
814
112
258
723
947
730
88
704
157
737
403
70
498
943
88
141
148
858
856
122
459
449
863
849
839
692
757
930
462
922
935
323
91
359
107
867
247
355
200
688
291
882
543
418
714
150
381
748
209
310
235
741
886
213
767
893
500
681
62
871
176
567
315
38
734
984
552
269
567
300
475
411
805
745
30
345
706
437
321
638
114
415
619
174
89
187
716
732
45
673
13
223
399
254
722
244
261
415
909
863
943
567
194
689
741
179
401
491
708
956
605
343
16
908
424
993
909
30
828
307
512
779
197
45
171
869
408
398
610
419
806
985
855
994
186
890
963
614
624
85
94
694
642
412
666
571
981
119
192
586
954
83
860
20
307
850
792
332
883
6
983
259
961
869
831
364
327
135
600
686
725
558
827
693
566
37
694
491
882
1
339
684
225
77
412
171
910
707
55
769
169
531
453
683
194
446
337
874
350
812
210
74
857
303
652
846
413
274
130
269
139
27
587
733
822
837
649
247
525
719
899
193
585
97
287
853
459
940
969
544
260
250
421
312
564
52
368
71
842
860
246
626
546
601
510
674
153
246
851
334
235
285
692
272
627
161
99
731
620
987
971
865
652
996
178
165
25
674
594
738
52
767
964
591
275
671
133
945
234
403
862
930
58
488
969
377
230
752
307
48
888
967
675
389
965
672
880
258
777
917
337
814
327
645
727
175
990
363
275
326
944
161
995
580
205
82
279
498
951
566
318
9
813
428
311
567
287
608
591
83
515
591
874
829
944
936
707
712
908
523
901
192
316
85
859
90
18
493
561
534
903
451
757
767
104
530
183
9
739
672
615
378
311
513
763
26
771
556
305
537
623
776
133
467
991
7
926
618
847
174
348
327
435
6
8
91
470
324
562
884
358
349
145
429
89
585
196
637
613
653
429
285
69
108
119
916
926
560
699
564
890
741
31
924
613
631
598
417
81
951
436
614
8
418
804
822
621
241
736
643
754
807
253
631
562
999
224
772
987
752
85
162
732
819
185
787
53
223
631
704
888
34
220
905
110
278
356
91
956
586
37
933
211
787
978
881
812
720
416
315
790
718
162
284
282
512
286
386
96
167
529
591
975
96
643
494
325
318
972
301
933
181
529
101
273
772
683
743
778
7
580
966
207
793
814
978
260
539
864
51
940
569
234
812
132
516
213
25
706
345
656
438
388
731
46
466
746
161
792
194
994
411
561
908
852
947
568
299
580
208
994
998
494
652
154
306
208
63
48
462
955
885
374
976
929
475
964
81
105
118
283
429
615
51
427
774
348
81
827
698
732
492
687
73
313
84
484
458
736
92
726
224
40
868
138
744
702
542
709
634
821
630
102
360
728
838
361
396
880
136
299
487
927
45
895
823
49
655
708
149
707
751
168
93
249
789
721
187
361
509
461
654
163
111
100
422
878
343
620
864
340
881
844
459
612
853
499
671
192
846
723
828
852
60
299
501
359
866
468
602
891
151
412
83
940
580
115
835
724
528
948
260
995
88
751
4
382
133
383
247
839
670
388
603
19
488
938
146
456
116
475
129
429
533
481
638
716
950
335
618
586
45
740
835
16
444
633
951
975
572
860
211
457
963
140
209
576
323
924
506
632
927
183
157
185
694
338
59
933
261
168
699
677
966
443
803
34
37
454
286
518
432
631
30
262
173
856
377
166
535
670
533
512
670
218
131
11
595
274
300
803
414
880
73
133
74
706
316
113
3
816
674
540
797
605
646
896
371
573
274
624
380
429
704
44
145
795
868
682
681
86
743
79
371
187
81
892
322
910
964
670
652
922
602
560
326
247
425
168
327
508
699
199
656
367
524
125
439
501
65
63
909
523
205
577
561
987
998
915
889
71
931
797
200
339
199
362
633
628
478
499
285
908
131
527
946
198
794
847
19
843
326
113
429
895
179
109
625
220
889
839
394
509
21
658
719
490
942
107
938
556
403
557
240
824
422
348
632
566
597
987
511
22
818
128
161
467
52
440
720
261
483
154
893
274
713
739
243
382
172
123
927
901
752
690
63
702
257
783
363
27
500
444
521
559
744
991
481
985
763
54
227
358
827
637
897
358
888
121
33
767
103
100
724
809
153
840
47
459
754
79
263
493
899
318
45
722
217
671
485
395
372
181
363
884
327
452
329
248
598
93
984
131
641
247
152
258
52
441
330
967
207
772
691
897
869
814
577
738
680
908
12
218
903
200
632
578
121
602
481
725
467
318
930
796
954
698
996
182
931
857
265
716
526
118
154
246
466
385
868
597
728
879
510
716
192
882
865
849
16
86
256
508
838
956
261
863
799
219
389
220
674
230
57
178
572
627
794
50
340
338
305
801
609
74
846
250
596
544
30
832
443
160
424
839
353
725
200
935
580
214
424
554
89
742
178
621
175
695
287
784
291
785
520
918
408
357
715
300
944
168
154
19
169
371
194
512
57
676
536
407
822
651
771
127
496
251
519
511
671
72
240
255
483
351
33
608
548
663
958
977
819
302
490
829
728
719
103
505
374
327
436
110
492
102
850
975
906
780
781
738
813
897
908
285
561
446
215
60
456
710
628
307
264
264
51
281
344
663
972
318
986
116
141
859
313
668
626
968
728
667
579
477
79
863
690
524
761
392
536
293
744
735
3
176
265
511
90
943
990
413
750
130
386
317
231
774
472
412
465
297
450
64
728
203
581
815
628
662
984
637
334
175
396
449
742
902
848
282
121
614
363
91
141
665
450
341
947
932
93
846
123
287
472
53
371
967
581
930
962
8
629
881
856
217
208
697
74
307
152
950
93
107
491
465
228
920
325
752
838
492
773
593
51
35
226
592
856
877
448
258
73
204
576
852
973
391
169
871
587
955
815
679
112
89
174
189
214
35
674
89
50
624
811
518
962
4
351
809
559
986
125
49
757
466
799
471
265
800
993
343
24
236
30
51
952
190
632
870
908
612
764
756
897
186
777
724
267
633
530
988
924
9
474
72
139
457
841
109
289
977
76
447
618
198
722
4
377
926
320
864
925
7
106
959
708
382
977
877
235
891
786
173
165
839
808
225
307
926
88
546
728
731
502
665
245
688
770
714
709
330
917
364
198
298
525
14
89
143
488
32
418
169
86
938
225
320
370
45
212
410
274
917
814
347
549
519
975
813
67
168
862
77
536
610
612
799
250
49
132
650
11
946
29
142
45
209
729
716
161
260
322
333
208
297
976
24
817
264
530
317
224
488
31
566
225
146
623
468
961
916
725
576
557
150
655
329
922
398
829
836
499
965
831
796
960
121
575
494
18
672
247
892
230
242
104
522
368
96
640
662
137
329
830
935
97
822
683
203
577
897
998
575
455
921
300
719
734
416
234
352
637
136
535
339
838
434
677
272
927
266
637
789
105
28
810
524
336
701
982
86
978
847
39
9
304
841
204
431
532
27
599
363
55
960
720
86
739
862
164
428
656
195
602
222
849
43
563
637
150
252
207
638
736
72
582
41
130
108
994
602
666
962
615
44
803
364
154
475
962
190
550
984
40
551
973
924
382
886
900
67
812
844
707
429
575
209
200
341
738
752
408
843
891
967
559
140
50
131
641
651
545
594
177
191
643
668
868
592
468
512
827
560
508
475
448
623
382
349
36
401
645
246
51
380
969
645
649
409
967
496
153
971
176
895
692
695
162
509
490
277
814
769
616
902
117
622
166
804
870
180
76
863
559
492
81
992
483
253
749
467
840
257
51
309
766
50
292
736
840
221
495
825
527
836
334
794
498
596
455
518
288
835
547
216
985
310
998
285
387
130
448
85
218
750
63
404
481
416
395
623
146
490
125
498
969
65
578
121
621
668
93
632
655
936
523
433
313
969
976
310
953
99
318
392
793
867
129
641
578
279
632
220
940
594
548
614
687
635
678
219
774
910
262
183
136
299
47
947
546
190
488
852
856
636
94
600
569
326
357
115
762
691
830
204
500
260
683
731
689
497
262
699
814
359
1
412
544
36
21
128
857
73
682
490
529
447
102
857
352
331
265
420
952
692
704
748
977
940
611
44
54
765
975
766
579
959
148
886
966
156
132
196
98
928
691
886
502
837
94
978
800
70
283
972
832
130
659
228
478
912
584
564
18
271
272
695
972
96
884
790
607
230
213
821
655
999
194
433
400
843
579
643
785
314
783
242
555
425
552
38
920
373
652
708
58
697
750
607
59
391
967
257
193
69
682
954
620
189
947
317
648
523
1
838
754
857
119
247
609
934
672
715
650
729
165
533
666
120
216
424
839
682
636
737
161
574
130
450
151
971
496
661
498
244
553
190
412
937
907
707
741
340
530
396
636
853
226
21
34
824
431
41
914
115
467
799
795
367
623
71
798
422
395
59
478
24
713
625
615
360
63
529
495
785
502
869
93
351
669
926
468
617
618
80
202
935
931
471
400
965
793
603
87
313
758
483
165
581
537
797
157
457
712
208
630
39
869
791
552
736
150
487
355
943
893
377
207
842
719
691
826
307
595
831
47
358
590
599
177
305
181
253
181
449
815
397
939
378
619
711
687
592
291
609
183
463
641
485
513
246
672
698
644
920
708
894
511
476
591
662
830
268
407
932
397
333
275
311
183
186
654
857
282
147
125
208
589
315
548
447
609
522
16
176
827
499
243
978
733
827
58
33
771
730
113
1
243
891
23
679
102
634
580
5
782
527
509
444
58
888
271
687
802
636
704
277
186
707
923
611
316
401
615
9
725
768
41
639
303
53
626
940
352
226
682
554
668
844
374
832
467
27
47
287
196
291
745
599
266
914
594
896
56
791
955
45
567
632
223
37
884
996
573
1000
402
89
817
47
343
448
40
211
845
362
804
608
71
156
363
627
950
631
47
384
833
156
178
347
453
459
990
867
541
245
461
408
620
338
980
164
340
802
952
282
494
730
718
627
565
813
396
251
407
465
119
251
591
486
485
701
808
73
287
928
744
277
682
522
600
116
816
43
393
384
523
673
782
680
376
911
37
231
170
541
115
801
29
370
205
329
4
342
4
21
792
363
645
794
460
609
993
894
234
782
837
945
618
307
854
184
562
311
935
527
593
365
206
228
431
324
955
91
611
698
954
392
779
855
707
767
866
988
275
444
390
965
633
26
618
924
552
440
795
788
304
9
102
912
747
830
847
84
403
599
403
840
77
876
188
274
579
271
807
630
464
715
918
583
95
544
433
78
564
769
446
883
99
746
406
891
318
958
698
737
186
838
690
481
264
147
692
576
151
955
770
540
963
483
85
412
592
54
146
849
68
517
171
321
780
393
942
701
317
842
560
387
990
767
240
372
672
448
473
909
62
964
233
877
512
172
17
661
305
46
597
635
810
29
662
625
499
289
432
531
572
58
692
599
744
971
46
704
546
654
716
390
570
401
47
415
563
751
217
359
150
151
131
467
86
642
905
119
516
298
184
424
27
937
16
916
739
558
664
904
294
765
807
91
444
680
72
230
626
51
683
908
197
359
722
847
900
945
104
899
175
195
969
140
362
135
595
124
655
72
654
316
906
147
435
386
659
69
580
384
773
852
672
34
751
109
91
193
977
619
2
245
63
732
584
80
749
530
188
463
714
212
560
529
820
165
371
247
901
964
111
874
199
167
928
992
876
803
315
477
493
542
453
812
783
691
65
636
785
714
486
81
872
353
337
90
870
60
198
771
398
612
609
540
2
721
432
75
673
456
390
152
43
256
401
501
45
982
135
860
731
158
76
310
318
661
486
826
789
799
782
551
264
595
974
638
890
966
663
133
284
548
368
305
153
473
979
519
138
148
22
6
879
328
223
115
769
485
641
698
459
981
970
632
389
334
801
192
259
62
342
947
419
915
989
301
401
610
23
253
734
780
594
665
465
29
256
447
37
658
755
253
160
540
253
492
941
828
606
147
956
827
565
693
559
555
843
817
107
545
102
768
856
27
577
772
912
344
963
719
402
37
399
8
566
532
155
765
401
405
299
769
511
759
234
458
797
225
391
789
329
199
393
977
197
619
175
181
842
916
533
9
330
503
298
651
803
634
509
12
457
673
319
73
665
942
727
390
940
51
696
685
851
732
497
465
96
239
434
266
199
285
847
683
65
43
638
517
746
51
156
876
512
135
484
800
53
586
425
319
424
572
717
662
387
182
16
872
189
664
542
241
298
978
950
176
574
167
535
604
273
957
884
952
329
39
619
402
865
811
574
300
244
465
914
421
493
221
585
587
622
92
704
663
245
666
239
273
366
229
203
63
302
145
4
80
309
953
91
562
114
717
245
490
907
81
984
884
95
397
124
420
702
255
575
590
697
507
259
196
51
752
769
634
327
731
127
64
363
349
936
884
168
162
981
834
199
387
404
73
49
746
156
753
882
380
7
375
874
82
426
893
342
890
122
978
738
539
472
183
565
958
147
878
986
429
808
832
881
310
943
321
950
285
402
352
582
11
6
56
145
89
528
370
647
95
869
520
507
535
306
728
504
529
45
789
783
996
211
515
785
870
321
566
895
817
18
521
285
651
687
973
308
182
579
706
6
644
795
854
267
246
749
165
185
888
13
225
637
110
73
982
513
973
794
355
683
867
982
916
839
981
346
538
33
67
445
661
140
721
947
110
252
228
537
554
60
829
468
105
896
714
23
117
699
710
532
988
749
41
543
954
409
98
283
374
614
620
820
87
878
401
148
888
377
28
323
29
967
383
891
925
348
933
993
961
792
123
358
54
818
426
983
252
756
286
698
179
304
850
369
594
547
393
475
308
104
254
337
610
269
840
264
529
863
664
880
498
121
814
876
561
58
664
451
609
516
827
93
857
973
929
842
662
31
509
917
520
352
949
282
3
124
715
442
955
940
691
544
473
527
241
317
437
735
20
424
177
642
234
269
507
59
198
118
762
69
521
696
811
878
212
18
137
751
662
48
520
186
791
533
13
91
394
36
38
554
746
507
960
196
709
893
852
865
231
887
299
459
65
936
987
711
725
410
673
61
261
603
800
148
32
169
727
423
748
197
684
607
848
452
948
26
442
226
308
168
507
472
352
78
54
239
84
162
132
179
396
177
767
21
752
352
101
795
913
455
713
559
237
577
463
275
941
830
759
793
120
282
234
837
523
301
345
176
692
304
694
407
58
498
871
601
383
641
375
432
633
258
839
474
383
943
217
636
592
31
12
355
359
251
971
344
833
631
609
748
101
389
563
394
64
802
361
406
781
616
184
332
945
291
148
890
918
755
907
800
355
365
348
937
542
585
495
664
180
554
992
221
270
892
1000
366
967
911
755
207
263
892
986
58
632
138
445
133
351
158
33
353
323
950
384
267
215
560
862
546
71
61
15
684
539
77
176
697
584
691
925
338
147
693
367
699
495
243
351
881
211
693
935
401
487
211
630
799
245
734
505
569
199
296
82
626
500
324
465
339
386
660
476
729
318
429
460
810
847
197
165
534
913
511
93
64
500
543
86
443
623
415
218
795
135
639
110
640
379
993
767
241
94
286
866
858
823
416
81
435
876
103
897
927
698
564
120
364
333
384
134
946
789
483
75
451
654
526
853
338
952
253
725
349
806
359
670
43
667
481
607
751
807
439
408
958
742
127
946
252
609
309
389
978
882
53
62
940
49
237
157
179
461
269
919
130
783
530
19
822
697
465
645
851
879
248
219
309
784
381
575
629
540
899
68
945
225
887
880
762
277
298
77
759
523
796
372
351
908
57
144
572
900
554
730
854
740
914
761
658
332
482
823
520
470
62
634
77
597
422
109
145
486
499
961
815
859
815
814
556
22
371
526
178
647
790
100
859
280
199
221
206
621
388
937
542
589
212
745
574
686
694
654
745
402
964
242
322
301
302
579
200
535
212
709
945
305
516
236
549
888
42
800
989
617
30
582
353
362
134
525
661
43
589
661
154
473
262
91
655
518
809
569
598
313
873
708
157
803
941
36
851
856
203
702
5
950
824
985
489
953
350
541
858
301
153
845
438
608
887
67
319
112
242
400
818
167
201
18
970
372
721
88
995
402
397
494
866
556
106
764
536
926
142
107
6
125
999
779
903
722
85
272
960
921
534
728
740
101
56
848
161
655
545
224
667
126
356
695
744
90
441
652
966
89
666
954
249
2
988
322
786
765
83
71
270
462
684
943
824
658
868
272
937
243
963
933
774
97
887
81
630
21
113
922
418
667
202
606
105
378
10
251
796
618
762
166
122
21
937
235
372
884
95
284
884
731
939
248
232
374
975
714
894
857
647
467
614
942
4
121
278
986
418
724
476
883
788
803
243
509
896
12
261
74
168
160
21
971
662
259
703
13
296
911
431
834
127
770
275
771
268
710
248
262
120
140
626
537
266
656
411
681
777
886
215
326
509
65
463
764
249
436
935
555
16
511
550
113
827
754
789
734
868
462
836
902
350
242
484
557
160
6
199
866
984
462
461
790
862
254
161
912
420
349
868
318
601
269
582
590
287
60
917
242
877
960
169
363
521
667
615
101
972
989
252
270
691
939
186
732
115
930
423
92
546
113
435
812
488
109
834
528
287
614
438
559
798
816
53
95
806
773
985
585
546
460
309
636
761
594
45
142
960
593
133
128
233
364
575
563
213
638
597
865
644
553
20
729
339
587
7
414
359
780
594
913
811
57
77
446
952
251
519
633
317
768
854
643
978
171
904
663
975
448
864
43
438
611
596
123
410
758
196
94
803
991
640
36
623
606
317
746
18
210
108
358
557
783
736
523
973
709
718
48
865
575
272
741
993
971
653
814
712
957
525
249
755
383
729
680
532
287
142
396
600
701
767
37
974
713
741
116
455
262
923
476
293
719
9
224
110
489
776
75
877
967
475
704
191
539
422
22
52
488
871
326
607
338
137
353
861
592
856
654
912
333
768
191
241
524
367
433
673
189
908
864
89
835
510
167
213
814
852
601
619
330
148
173
288
655
632
477
438
650
49
571
715
739
423
179
375
203
103
931
535
81
735
983
17
64
711
997
852
482
192
514
810
914
836
556
359
409
898
994
732
230
269
971
687
262
846
753
843
67
76
29
98
182
927
988
174
811
505
414
256
627
375
299
885
51
451
507
165
610
530
481
431
487
474
361
277
631
664
409
969
21
544
588
657
346
634
972
614
483
836
905
182
680
85
22
816
61
646
547
701
71
894
422
856
561
203
444
555
222
735
120
982
489
62
925
734
251
652
167
352
733
817
25
253
596
767
610
31
859
175
313
526
766
417
719
270
504
337
48
555
11
973
995
594
13
996
914
346
652
178
782
766
118
107
75
658
629
344
432
326
403
346
597
266
757
637
497
590
822
677
570
422
558
503
350
875
238
381
859
704
445
111
337
24
943
139
730
438
663
648
427
455
433
336
927
786
143
30
774
228
288
422
664
780
917
471
401
388
798
404
363
601
669
385
188
684
555
135
914
766
448
599
87
235
634
81
726
332
254
959
274
736
248
30
753
768
165
978
948
291
21
678
8
480
911
702
469
953
608
137
536
791
18
713
629
365
256
19
678
383
886
143
932
209
372
452
259
130
769
153
328
254
725
242
185
637
435
514
282
476
717
337
905
679
661
721
146
287
325
834
286
41
621
329
549
673
834
952
808
515
159
770
458
408
345
426
92
631
528
673
741
10
523
52
791
250
413
451
969
42
625
973
815
221
642
341
930
199
299
507
893
845
392
527
556
929
828
880
199
892
201
139
740
988
848
777
701
620
705
669
385
710
588
996
652
502
646
992
259
972
723
704
529
393
376
551
774
314
157
890
133
144
783
543
608
63
275
758
856
938
844
499
886
110
814
39
491
885
203
35
888
186
940
732
408
5
398
963
539
881
87
392
148
269
57
421
181
328
221
39
385
944
362
425
993
428
511
880
322
949
999
762
168
301
128
209
648
163
502
184
492
540
538
329
950
282
620
651
305
815
725
674
503
493
395
62
182
613
712
616
519
751
90
706
714
879
488
740
361
542
768
382
472
842
202
696
320
759
190
652
642
772
650
393
276
252
724
623
419
148
111
759
972
215
957
471
935
825
309
773
789
336
903
277
16
258
283
998
659
472
873
292
505
437
628
806
628
109
730
226
58
125
664
660
28
715
901
360
270
475
679
525
27
19
39
939
522
231
249
595
622
31
932
994
142
265
300
809
435
837
572
949
61
101
867
327
562
358
151
671
884
295
875
438
307
159
150
450
295
597
433
199
543
387
238
531
896
224
179
236
637
980
905
19
486
607
715
631
372
867
752
840
718
593
354
150
174
471
596
853
408
86
36
793
853
19
751
917
474
282
802
802
527
700
189
656
761
220
88
88
641
344
698
806
95
765
335
817
904
927
301
632
102
94
279
537
730
488
683
581
623
660
302
982
350
610
748
714
85
589
877
927
942
366
319
685
266
330
115
619
978
755
575
75
239
9
881
505
32
906
601
330
884
398
330
707
133
968
851
998
624
710
240
738
157
916
362
450
348
192
811
700
29
134
568
754
457
16
946
574
563
862
381
976
883
415
771
918
305
958
606
960
545
303
434
122
623
810
642
73
960
94
624
536
859
2
634
736
637
600
426
944
244
107
475
327
562
673
449
21
277
713
893
532
180
674
469
304
488
931
651
555
18
476
290
605
163
89
811
496
409
349
532
341
221
861
822
222
571
886
449
775
658
571
300
608
406
916
283
214
687
216
765
170
560
347
770
184
143
620
467
246
914
358
883
331
791
556
449
420
589
694
961
14
798
611
831
540
130
615
717
27
442
216
707
264
215
335
22
551
244
638
856
859
251
428
220
769
10
430
863
140
509
795
560
197
424
15
159
816
416
261
940
1
229
734
439
665
556
88
255
337
806
969
968
374
802
851
293
645
19
132
32
841
117
183
145
182
281
874
48
507
36
683
625
153
922
487
235
974
820
900
587
850
706
459
815
242
740
893
562
880
641
947
456
643
28
516
731
525
949
638
218
205
242
632
885
358
271
694
340
503
924
760
222
128
981
766
617
793
686
926
8
257
437
37
757
468
705
551
998
427
55
588
223
454
173
646
637
75
562
533
899
283
494
295
50
407
104
375
815
178
736
599
668
128
955
641
76
201
187
705
76
249
766
885
947
287
21
608
114
658
703
131
550
438
325
360
83
726
235
408
655
926
935
329
930
394
755
596
836
958
347
522
563
264
721
668
232
877
33
372
687
262
820
532
710
89
412
28
115
962
712
277
353
640
419
327
29
817
373
927
222
767
17
817
826
938
625
397
46
855
24
667
102
349
713
684
961
863
247
393
817
574
972
652
597
401
518
51
620
113
408
316
559
815
809
702
282
485
315
843
477
933
654
497
635
638
157
565
112
189
860
613
705
555
929
759
483
662
372
29
506
991
838
97
456
304
334
561
841
690
865
494
455
468
300
303
969
451
45
507
64
328
866
989
873
942
897
238
787
497
780
910
911
840
864
110
659
785
912
496
981
266
481
593
62
515
280
690
4
435
878
971
673
242
709
869
631
787
672
932
170
246
638
165
107
798
993
850
792
571
924
302
673
162
592
541
100
335
473
810
639
86
179
792
196
453
250
776
697
414
36
360
611
32
966
344
966
242
274
916
179
847
1000
444
483
671
379
139
516
580
539
647
83
229
510
124
371
599
675
875
102
156
126
237
2
499
803
794
51
55
403
802
32
861
322
653
542
854
832
247
595
869
864
187
440
665
127
948
725
131
640
180
322
252
212
647
898
869
529
352
920
500
768
575
312
812
961
71
938
13
855
312
933
816
89
782
844
590
512
719
59
218
33
406
811
527
649
490
970
487
881
570
258
579
114
559
575
692
506
344
941
829
581
213
445
912
750
443
852
530
353
502
629
560
324
185
382
355
929
710
590
881
939
815
220
691
324
64
251
874
109
259
481
721
356
885
27
750
503
323
631
359
485
639
941
965
315
290
265
32
150
54
182
346
360
664
804
596
652
759
238
990
660
264
595
37
408
898
970
534
781
421
15
338
63
480
161
954
643
319
495
151
559
396
109
872
319
288
54
695
61
333
875
596
319
85
638
862
980
930
942
782
232
439
656
747
22
444
209
908
428
115
364
823
882
736
429
561
279
983
216
576
798
103
36
764
66
292
963
692
793
329
166
985
142
882
242
192
571
406
696
941
985
845
675
982
838
499
568
97
7
441
58
414
334
420
453
791
399
491
500
589
813
376
607
489
221
224
659
237
401
671
490
314
995
711
803
512
435
634
239
798
269
674
454
27
300
358
701
81
402
832
27
801
851
655
974
504
44
576
433
766
376
897
939
350
491
384
58
387
976
400
893
184
295
571
958
348
729
257
526
603
714
712
175
320
153
668
691
334
947
807
951
39
690
612
392
290
501
797
840
45
502
496
618
48
78
58
597
974
118
198
987
983
241
281
456
50
443
202
663
820
90
167
402
532
433
53
970
997
356
826
666
561
181
423
169
183
384
185
694
950
52
827
347
578
985
867
732
146
538
998
872
527
165
740
262
452
217
770
87
133
135
837
618
377
472
170
999
561
136
339
855
401
587
883
915
473
604
527
800
530
663
942
686
645
247
659
403
239
186
877
84
275
466
605
749
406
286
29
652
159
489
754
1
778
652
854
957
984
358
654
903
392
629
549
279
476
275
448
212
740
226
202
159
63
320
682
482
879
815
29
503
480
65
1
966
25
327
572
404
394
766
222
614
852
239
843
362
206
17
420
799
400
921
167
278
406
906
188
115
319
3
84
445
540
808
694
167
454
172
163
470
853
369
616
141
797
498
90
826
654
31
332
276
85
885
239
831
255
6
403
8
624
923
222
28
825
307
103
510
382
133
183
581
261
60
957
497
352
951
417
653
417
173
761
917
34
667
731
340
194
510
848
510
432
638
393
97
557
140
272
21
606
740
678
860
482
170
788
768
446
216
234
200
861
534
785
312
540
270
287
249
954
819
990
222
256
65
110
617
540
682
483
887
70
27
148
587
752
804
561
605
291
501
290
535
526
569
111
685
856
975
790
958
717
804
946
112
899
263
444
490
820
634
294
130
324
658
130
692
405
444
630
692
652
113
187
700
388
174
195
922
69
453
966
713
967
611
128
367
57
983
28
17
53
80
200
124
8
728
592
484
692
732
294
572
287
810
598
936
743
7
228
771
868
483
123
77
713
522
484
382
906
31
295
458
700
834
802
168
370
214
606
49
179
577
779
852
826
526
458
425
611
46
1
894
826
671
897
204
514
139
456
226
566
497
569
798
690
383
183
74
44
508
493
619
587
557
690
718
398
930
170
35
770
212
761
386
936
437
837
86
828
401
575
251
529
960
845
635
777
394
907
457
675
211
852
636
946
484
440
443
94
706
242
516
352
277
833
891
912
612
490
934
732
244
215
431
989
942
788
345
889
719
992
948
403
834
542
202
740
7
847
318
904
456
770
135
986
310
209
408
390
468
968
557
313
56
501
286
889
21
559
984
648
906
879
137
323
681
445
851
646
302
395
13
968
686
69
510
126
109
870
337
195
516
797
662
944
10
589
189
955
117
340
69
767
392
124
652
571
676
507
533
982
880
208
663
534
756
224
694
319
303
710
690
605
674
421
963
893
972
389
984
170
15
36
434
818
910
837
395
128
2
815
712
44
138
672
496
925
841
448
636
759
11
395
903
940
807
795
263
863
346
264
603
880
990
820
874
458
827
372
424
354
151
944
940
880
815
528
660
345
396
906
658
482
211
600
733
589
952
736
92
562
935
534
472
99
246
832
64
252
643
643
224
134
464
138
753
431
266
80
763
299
765
747
298
470
877
512
274
643
715
199
715
728
687
317
229
230
641
108
640
370
224
741
8
136
300
650
635
676
694
477
212
348
452
690
949
629
432
802
653
159
794
326
273
707
650
225
801
251
416
363
132
885
543
980
99
406
34
899
53
100
436
256
660
335
367
504
749
132
79
903
688
647
23
747
180
311
675
619
560
465
901
455
165
535
976
541
817
81
195
368
472
545
697
882
455
866
451
424
912
108
378
470
773
713
645
706
701
830
719
924
105
349
181
90
956
938
688
601
891
248
627
902
72
23
268
335
626
75
662
454
218
199
274
540
679
94
195
184
964
236
313
830
321
997
504
383
529
574
604
843
178
738
386
88
503
324
999
573
327
661
241
137
317
161
171
496
313
460
123
616
921
363
992
563
520
80
409
348
581
896
539
105
218
754
221
609
836
432
794
172
691
485
619
341
471
58
304
593
750
505
569
412
38
796
369
818
336
313
69
371
212
998
376
142
624
800
441
824
833
179
886
220
102
133
535
99
507
398
907
704
233
583
688
24
683
335
179
185
893
30
760
642
771
563
316
719
592
148
559
96
376
324
33
333
970
489
997
516
579
786
43
305
343
56
527
80
201
53
542
316
702
477
257
42
550
979
495
855
483
910
939
741
125
218
167
811
186
778
108
543
596
546
622
728
239
451
86
51
996
856
393
68
721
142
179
299
308
601
38
511
95
502
525
575
134
458
411
138
427
815
692
383
607
687
52
246
8
479
269
691
344
18
928
704
512
832
152
376
82
176
634
309
75
874
220
975
954
683
179
402
211
806
878
282
587
655
184
268
274
29
664
663
175
53
140
318
165
787
34
247
262
694
244
543
861
466
700
312
900
965
48
919
486
414
560
14
163
224
116
802
732
396
925
929
288
438
99
191
768
577
23
146
140
470
319
291
588
356
774
871
113
422
622
537
911
220
239
281
27
672
66
559
265
655
523
734
274
201
145
715
816
362
818
386
599
574
131
479
818
887
632
267
146
766
546
917
258
351
930
451
508
703
73
147
310
468
58
434
269
657
130
993
415
669
876
35
171
398
748
935
84
595
344
208
58
520
834
182
707
632
407
714
287
583
153
136
78
560
24
641
762
223
193
37
820
365
712
980
659
387
982
833
733
652
302
907
995
348
80
396
383
325
318
122
268
623
904
836
924
836
111
145
199
657
385
999
363
130
974
680
277
185
451
945
928
603
143
219
30
525
921
188
922
422
742
169
853
413
133
38
458
852
907
738
578
373
726
213
69
95
188
927
693
621
123
895
916
628
437
414
829
109
133
329
948
248
64
281
138
486
731
822
576
301
692
572
540
811
409
531
461
143
379
166
639
254
812
537
206
496
993
887
545
27
483
672
689
863
565
779
392
685
913
797
360
376
2
69
795
474
462
246
78
520
238
919
296
662
29
705
83
678
763
83
84
88
935
514
434
465
665
872
938
26
675
887
711
504
485
738
790
899
383
750
406
542
816
963
741
797
806
228
109
891
131
166
19
216
684
322
236
70
82
59
323
432
843
22
565
766
552
553
364
981
230
113
613
134
22
241
424
173
225
567
941
604
428
289
510
286
308
693
468
181
770
392
865
822
145
970
767
559
260
588
438
109
910
252
235
707
164
695
311
42
301
762
94
575
923
252
574
593
461
838
168
924
922
884
575
345
909
129
66
356
620
470
727
304
254
86
218
545
532
498
906
628
639
108
894
596
304
699
117
722
169
2
554
982
339
935
50
70
338
493
500
978
302
852
175
159
948
639
831
188
395
327
847
197
869
759
975
519
17
7
945
43
401
605
399
880
778
653
262
117
75
734
7
512
802
178
444
763
510
532
103
447
171
266
776
441
428
978
282
241
554
349
155
929
275
823
168
836
974
312
240
848
776
667
155
744
335
743
842
488
697
918
925
611
112
354
577
485
401
797
407
910
893
604
510
462
777
802
87
931
408
804
893
921
601
115
360
275
349
220
753
537
124
238
16
785
246
758
691
822
928
967
918
868
11
948
546
251
366
11
638
823
408
405
537
322
45
625
839
135
727
766
482
897
434
117
405
62
331
480
579
935
694
290
281
486
721
946
275
235
152
681
143
173
694
169
352
1
897
232
963
419
521
665
981
415
648
886
901
606
409
599
758
965
595
562
773
873
610
633
916
301
948
199
419
800
445
309
381
898
796
200
409
982
489
995
104
845
309
935
269
49
327
693
393
522
429
823
874
990
597
978
178
41
872
372
159
411
303
353
344
557
409
945
634
496
10
791
773
976
537
109
512
283
203
864
906
75
604
439
550
33
914
386
755
803
359
274
726
280
191
382
388
273
561
3
46
515
412
561
287
236
566
220
457
938
175
812
123
691
863
234
666
681
831
1000
913
394
821
609
977
37
805
571
302
744
658
286
835
340
57
459
421
192
10
528
295
232
132
142
703
724
587
484
911
554
857
49
295
322
485
135
314
572
837
213
640
940
253
648
562
8
569
481
948
368
334
865
603
632
868
103
920
175
533
265
889
646
756
126
770
143
442
881
85
693
121
883
662
680
461
585
254
874
248
928
490
7
578
756
72
570
396
250
381
533
550
92
437
361
793
593
552
493
335
871
90
199
619
80
2
974
789
36
560
437
956
671
572
512
318
800
784
990
872
969
999
751
245
11
614
617
128
96
402
868
16
367
533
744
335
815
76
23
759
778
305
386
717
855
481
273
489
860
524
797
841
37
577
64
838
174
47
770
939
275
636
229
572
770
99
328
552
954
705
874
562
460
135
109
342
203
825
392
620
757
731
909
182
374
38
702
768
49
363
633
735
958
57
986
448
433
889
463
387
873
133
522
200
975
773
60
535
146
218
844
646
326
709
59
898
360
391
378
843
546
155
152
148
482
509
966
575
834
654
629
811
279
853
711
571
305
768
100
821
512
955
908
948
658
760
280
539
182
767
335
832
138
398
196
183
995
198
996
909
589
180
513
575
419
485
121
574
280
695
524
586
154
456
807
669
519
569
567
898
903
617
406
293
615
512
633
501
764
112
736
768
144
49
11
437
734
633
101
491
850
264
687
768
27
201
561
274
155
984
224
366
869
370
572
905
767
273
62
97
516
722
999
521
472
724
9
491
294
561
748
887
235
147
179
991
848
355
791
62
325
316
799
94
926
698
232
243
474
793
879
109
963
285
724
860
60
761
119
440
801
570
931
439
498
371
759
860
957
337
621
308
300
195
925
937
854
398
962
720
535
799
505
954
838
921
57
279
263
218
270
234
234
738
115
716
437
395
658
969
835
941
649
614
688
594
256
137
630
1
329
344
414
4
559
690
292
655
648
766
638
833
956
558
962
932
985
565
274
975
741
744
607
241
659
405
328
797
772
420
306
555
429
11
236
978
255
631
86
887
38
290
298
700
581
38
953
945
325
642
724
841
365
189
523
491
721
380
13
807
523
189
64
94
869
258
341
181
588
261
102
244
54
126
482
777
953
355
661
177
86
741
957
337
662
146
742
63
678
373
262
703
579
216
607
584
994
918
420
589
61
701
213
962
623
333
595
140
117
386
562
599
767
159
661
425
116
725
119
140
639
605
862
104
804
986
864
160
893
141
590
413
634
989
95
373
279
239
230
779
171
85
197
933
979
713
911
274
618
521
468
831
190
855
778
272
670
848
4
266
55
53
675
10
573
622
983
106
43
460
421
167
896
561
399
337
769
180
627
308
216
64
690
630
1
409
923
26
535
862
843
298
868
551
442
906
497
513
113
279
29
611
37
215
885
238
48
198
862
976
801
906
962
129
467
872
782
237
912
482
74
960
586
412
22
653
158
624
760
99
608
585
464
978
465
697
2
286
794
627
655
653
273
660
665
350
80
539
165
965
992
83
208
363
791
837
916
749
520
746
858
214
243
822
994
979
437
840
477
99
555
346
846
128
238
245
206
12
813
305
28
952
974
268
41
609
681
398
599
781
912
309
268
765
998
568
744
34
387
127
839
951
282
231
278
741
290
769
713
51
778
226
289
758
604
389
555
962
731
223
994
411
203
331
517
672
765
114
851
581
290
467
514
976
894
388
419
631
459
297
799
712
89
55
903
872
790
600
626
360
807
317
861
979
642
771
367
381
794
734
330
147
737
786
39
831
415
295
216
378
207
715
511
688
899
905
557
971
967
993
677
956
767
833
468
522
771
799
412
549
455
987
331
161
581
675
272
758
997
695
360
946
101
874
560
132
255
850
661
930
658
243
904
9
768
911
411
383
130
372
967
289
258
138
620
348
73
810
280
423
845
30
269
83
675
529
649
647
360
24
676
279
872
388
56
478
828
718
199
752
675
420
548
496
771
343
745
797
99
695
491
342
572
294
129
996
553
224
305
663
192
860
177
279
233
866
463
975
101
365
904
537
505
433
302
872
500
821
898
511
667
815
827
492
94
987
611
261
751
444
67
441
59
329
12
2
694
848
97
710
803
747
54
875
736
313
616
892
662
861
400
796
25
788
909
756
124
997
616
436
389
431
990
105
979
784
207
206
946
554
875
214
847
904
823
750
789
716
904
807
230
376
948
699
711
816
707
25
373
502
237
839
106
46
102
839
757
528
648
339
112
131
255
187
816
651
824
528
97
917
461
836
662
154
861
611
737
399
253
828
980
637
124
678
150
348
171
99
771
975
19
131
969
534
804
992
848
612
44
306
447
217
259
14
66
372
874
150
105
90
942
942
276
354
239
395
236
374
761
130
682
652
801
664
378
211
41
806
309
503
913
119
369
179
206
625
424
426
303
673
426
912
197
141
414
739
832
224
709
270
891
171
138
493
803
880
339
218
800
8
910
235
145
218
260
308
636
670
654
574
194
945
450
576
294
587
233
410
833
379
264
365
593
538
669
676
137
417
89
51
699
86
903
159
97
984
14
647
287
69
65
438
916
884
510
718
700
413
590
392
394
497
381
568
86
338
353
418
290
73
339
752
229
258
707
424
725
72
697
580
616
714
970
359
491
964
161
727
954
663
388
99
665
513
30
295
135
341
386
576
728
959
969
243
803
893
393
702
391
693
152
960
785
938
174
382
955
62
470
727
97
387
546
471
261
271
459
8
316
698
661
132
372
886
786
896
811
830
575
368
642
482
176
896
250
338
994
262
959
916
473
967
956
197
761
851
546
895
487
151
446
178
986
50
221
515
74
454
671
370
581
14
528
982
420
293
588
63
819
714
202
222
449
444
593
210
375
971
275
308
901
616
755
860
99
704
611
571
493
273
242
451
662
263
898
689
695
669
354
714
594
906
487
406
806
651
125
483
837
425
328
164
384
72
59
295
779
842
708
730
634
315
967
833
779
520
410
390
862
786
285
280
550
829
9
967
117
458
379
474
651
813
65
187
713
232
910
799
818
865
24
389
124
478
275
650
570
827
380
581
958
652
83
797
197
883
33
453
893
690
418
246
39
146
207
623
753
302
218
692
801
604
468
661
593
528
911
617
749
179
192
302
817
336
550
407
60
541
291
181
709
478
442
802
590
302
649
349
220
800
289
300
29
46
363
785
344
294
810
710
151
624
258
540
883
866
717
211
415
765
647
715
731
729
521
366
512
479
947
662
351
103
458
603
357
1
615
11
341
552
939
925
908
431
427
479
378
343
770
120
669
239
911
907
779
255
487
4
594
587
991
328
561
188
419
382
495
712
264
227
511
943
966
500
277
36
506
270
168
757
611
734
726
606
305
318
845
992
617
658
673
678
547
749
50
142
221
549
590
456
209
324
525
538
481
622
180
579
681
842
581
672
658
434
390
811
445
885
551
360
876
872
240
995
862
148
750
11
602
95
647
740
511
380
470
904
646
591
582
51
212
206
823
661
423
225
899
629
308
455
64
842
453
206
793
376
143
934
521
240
251
985
305
965
19
975
622
368
677
208
947
392
397
535
633
457
364
474
109
431
920
487
978
938
485
730
999
490
209
72
522
403
801
373
555
683
43
824
906
358
338
691
506
147
662
775
351
330
107
262
971
390
901
775
54
8
900
367
204
104
99
242
184
577
278
271
511
970
846
47
529
952
699
340
174
640
114
681
468
893
269
271
465
342
311
668
1000
9
946
110
921
281
522
242
48
797
402
533
411
161
651
358
731
235
262
119
461
732
768
900
492
798
533
681
233
745
24
157
776
460
220
964
573
525
36
401
576
71
994
103
893
137
573
883
153
388
460
802
337
743
91
845
618
266
904
287
284
789
754
152
896
106
577
891
116
152
502
461
515
908
186
509
105
723
266
682
355
185
490
874
581
55
443
311
625
989
635
305
841
970
709
753
993
175
222
440
782
592
405
748
997
295
947
996
533
479
275
762
197
716
936
71
201
674
767
930
884
231
464
826
646
89
852
649
619
35
653
267
321
545
677
879
658
906
122
509
100
549
487
286
635
927
271
691
298
642
332
874
970
886
591
634
314
55
375
626
291
698
254
958
657
29
336
129
925
931
133
35
155
183
574
33
332
295
650
762
354
135
41
315
437
776
862
311
177
365
78
893
976
6
80
324
773
123
762
945
633
193
690
453
410
2
464
343
56
680
524
876
578
312
607
834
80
607
47
732
95
153
661
37
556
569
199
521
628
579
324
648
594
911
860
73
811
223
180
131
250
530
686
390
785
363
316
83
831
500
213
792
65
178
747
376
33
230
705
247
43
861
215
469
279
688
836
111
624
904
716
33
901
435
566
130
926
494
379
22
104
509
277
581
420
996
474
53
387
260
855
747
288
856
683
262
415
66
728
766
724
235
615
432
728
55
763
320
574
973
478
936
375
657
619
122
353
942
307
690
567
430
128
694
312
810
507
158
292
895
770
683
985
380
312
583
850
782
984
741
402
240
334
223
271
82
939
123
208
20
825
38
499
264
598
327
982
614
69
79
811
366
563
966
175
404
447
323
16
571
486
653
793
176
916
290
520
191
373
675
274
700
122
60
514
479
590
37
840
350
521
296
887
320
294
804
426
194
897
881
742
979
314
601
432
179
441
334
833
242
385
593
605
488
43
238
604
735
488
395
325
729
81
383
496
621
595
654
662
476
306
69
719
377
526
171
235
570
978
4
56
590
903
59
644
729
222
87
247
959
533
464
144
245
307
857
679
139
666
792
362
382
187
97
265
908
564
299
402
484
3
764
952
772
374
528
147
783
91
695
615
532
365
309
837
391
345
252
147
403
313
83
797
176
776
556
997
364
996
737
326
426
104
515
65
355
861
27
934
54
592
203
523
6
762
876
832
943
262
918
332
649
166
352
236
667
54
915
644
175
870
15
617
594
714
64
110
702
365
91
267
547
196
312
153
54
109
721
194
176
229
483
888
917
826
685
851
484
20
93
888
210
659
7
337
630
3
319
94
917
974
760
274
710
902
307
400
52
97
212
147
890
828
559
212
337
809
71
924
403
255
887
655
815
951
210
187
50
128
538
465
214
305
72
57
337
968
654
275
718
683
623
896
347
762
788
746
664
143
509
963
769
509
340
548
821
998
363
235
241
933
412
159
747
191
427
106
701
516
569
633
400
196
279
836
376
713
705
814
138
425
311
172
791
732
174
14
596
414
471
96
496
23
597
336
319
525
313
919
945
55
874
732
489
231
491
502
807
594
919
516
897
315
45
803
75
407
34
97
574
797
609
726
252
110
560
685
872
889
506
544
670
102
912
962
123
999
298
452
325
907
850
898
385
368
386
141
588
910
92
936
385
742
831
629
882
584
932
748
323
177
564
638
776
47
203
784
798
575
711
975
128
314
459
956
998
807
306
140
68
913
220
833
945
115
817
435
477
895
399
457
211
