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