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