139
138
138
138
137
137
135
135
134
131
127
126
125
124
122
120
119
118
116
116
115
113
112
109
109
109
111
115
118
122
118
117
116
116
115
115
113
112
110
109
106
104
101
94
95
91
83
90
91
84
83
81
81
78
90
89
88
87
90
90
91
94
93
92
92
92
97
99
100
100
95
95
95
95
96
98
98
99
99
99
99
99
99
100
100
101
101
101
101
101
101
101
105
111
113
113
113
113
113
113
113
116
118
120
120
121
121
126
126
125
123
122
122
122
122
121
121
120
120
121
122
125
125
131
133
134
135
137
139
141
141
141
142
143
143
143
144
144
144
144
144
145
146
147
148
151
160
161
161
163
164
164
163
163
163
165
166
166
166
165
165
165
164
164
163
162
160
158
157
157
159
161
157
156
152
152
152
152
152
153
153
153
152
151
150
149
149
150
150
150
150
150
148
147
147
147
146
146
146
146
147
147
148
151
150
150
150
150
150
151
151
151
152
152
152
151
150
149
151
153
158
158
160
157
156
156
158
159
162
164
166
166
166
166
166
166
166
166
165
164
163
163
162
162
162
162
163
164
164
164
164
165
166
166
167
168
170
181
181
181
182
182
185
186
195
197
203
204
207
209
211
211
212
213
214
215
217
218
218
219
219
219
217
213
212
208
206
206
206
206
206
206
205
203
199
194
193
194
195
197
197
197
197
198
199
199
199
208
209
210
210
210
209
204
200
198
198
197
195
193
191
189
187
183
179
177
176
176
176
176
176
175
174
173
173
171
169
166
165
163
163
163
163
162
162
162
162
162
162
162
163
165
166
166
168
179
182
185
189
189
191
191
191
191
191
191
191
192
194
195
198
200
200
200
200
200
200
200
200
200
200
203
216
228
229
230
233
234
238
235
230
228
221
216
214
222
230
247
249
256
257
257
257
258
258
258
257
256
255
255
255
255
255
255
256
258
258
259
263
266
277
285
289
291
292
292
292
292
292
292
296
299
303
304
304
304
307
307
307
308
311
313
314
315
337
339
357
359
364
366
366
365
365
364
363
363
363
362
362
362
363
363
364
364
365
366
371
373
374
377
379
384
395
398
400
402
411
411
413
414
414
414
411
410
402
401
401
400
400
400
400
402
403
403
402
401
400
404
408
409
410
411
423
422
421
421
421
420
419
417
416
416
416
418
419
421
425
432
434
439
440
441
446
453
453
455
456
457
466
469
471
474
479
477
475
473
464
465
465
470
471
472
472
473
473
470
466
465
465
465
480
484
488
493
502
512
519
529
539
539
462
451
447
441
410
416
421
428
448
473
488
494
493
493
492
490
490
487
483
472
469
472
474
476
477
480
486
488
506
507
507
508
508
508
507
505
501
496
494
493
492
491
493
509
510
511
512
513
517
515
508
507
504
504
505
506
513
521
521
522
523
524
526
527
527
528
528
529
537
540
541
543
550
552
555
557
566
588
591
589
588
588
588
589
589
590
593
593
594
594
594
593
589
587
578
578
576
576
576
576
576
576
575
575
572
571
570
570
569
566
565
562
561
560
560
560
560
561
568
571
573
580
581
583
585
587
589
594
596
599
617
627
632
630
624
621
616
613
616
618
621
625
636
642
652
656
659
665
667
666
664
661
660
658
656
655
653
650
648
646
645
643
641
641
637
637
641
642
642
645
651
653
656
659
669
680
680
680
680
678
666
664
659
657
655
653
652
651
645
645
646
647
648
649
650
651
631
632
633
637
638
640
642
643
647
646
645
644
644
640
639
638
631
631
631
631
631
632
632
630
629
625
621
620
619
617
617
617
617
617
617
620
621
622
622
623
623
624
625
626
626
627
628
628
630
629
627
627
627
629
628
628
624
622
620
619
619
618
617
612
607
606
602
602
602
602
602
602
602
602
602
602
602
602
603
604
606
607
607
608
608
609
593
550
543
544
545
549
550
551
551
549
544
541
538
535
533
531
531
531
531
532
533
534
536
535
535
533
533
533
539
542
543
548
551
550
548
534
538
542
544
547
549
550
551
557
561
562
563
566
568
570
573
581
585
586
588
579
574
571
564
561
558
556
554
551
549
548
547
541
537
535
533
532
528
519
516
518
521
523
525
529
538
538
537
537
536
535
535
513
508
512
522
526
535
538
540
542
543
546
547
549
557
557
547
545
543
541
539
538
538
538
538
541
543
553
552
552
552
551
549
548
548
547
547
545
545
545
544
543
542
544
546
547
549
560
584
589
609
614
622
624
625
627
626
622
620
617
613
616
620
624
661
666
670
671
672
677
678
678
678
679
680
681
681
679
678
677
676
674
674
673
673
673
675
686
698
705
707
702
701
699
698
694
691
686
688
688
689
690
691
691
694
698
706
708
708
709
710
710
710
711
711
712
712
713
713
714
715
716
719
722
723
721
720
720
719
718
717
716
714
711
701
689
689
688
687
671
656
656
655
655
654
654
654
654
654
653
653
653
653
653
652
652
652
651
651
651
651
651
649
644
643
640
638
635
633
631
629
627
625
622
618
618
618
617
617
617
617
617
614
612
609
599
597
596
595
594
591
591
591
591
591
591
592
592
592
588
583
580
579
576
576
575
573
566
565
563
562
560
559
563
566
568
571
580
594
595
595
596
597
598
598
599
601
604
611
611
611
611
611
589
585
582
577
571
558
547
542
539
537
534
531
523
520
524
527
536
538
540
541
542
544
546
548
551
551
550
550
548
546
545
544
544
537
531
520
492
487
482
475
455
450
446
443
440
438
436
430
419
414
410
409
409
408
408
408
407
405
404
404
404
403
402
401
399
399
399
399
399
399
399
399
401
402
403
404
405
405
407
408
413
414
415
419
421
409
405
405
405
405
405
404
402
396
398
410
412
413
414
415
414
412
408
401
399
398
386
369
369
370
372
372
373
374
374
374
372
370
362
361
360
358
346
341
340
338
335
328
328
329
330
336
337
339
337
322
322
322
322
322
322
322
322
320
311
312
312
310
307
298
280
276
265
265
265
264
263
261
254
253
249
241
239
238
238
238
238
238
238
238
238
238
236
227
225
223
221
219
217
204
201
196
196
195
194
191
190
165
157
145
143
139
136
133
130
126
115
114
116
118
120
121
126
132
137
150
145
144
135
129
130
136
137
143
145
148
149
157
158
161
162
157
152
147
125
125
125
125
126
126
126
126
127
127
127
125
121
118
118
122
123
125
125
121
116
114
111
107
106
106
103
100
99
98
97
94
93
91
90
86
80
83
85
87
90
104
106
108
109
110
110
109
107
104
97
95
93
92
91
89
87
87
87
87
87
87
85
71
59
56
48
38
24
8
5
4
4
5
5
6
6
7
7
8
13
14
16
18
28
29
29
30
32
35
37
42
51
56
57
58
58
58
59
73
78
81
82
88
88
88
88
88
90
91
92
94
95
96
101
103
110
105
102
100
99
97
96
94
92
81
82
84
85
87
93
97
99
100
101
104
104
105
107
109
112
113
114
117
119
120
125
121
121
118
117
116
123
126
128
127
127
126
126
126
126
128
135
139
143
163
167
155
155
152
151
142
140
137
135
129
128
134
138
145
147
143
135
121
115
115
125
129
132
135
139
142
153
156
159
162
165
169
171
183
185
192
193
196
198
200
201
208
211
224
226
228
230
231
233
238
238
238
238
238
238
238
239
239
240
245
246
254
258
259
265
265
265
265
266
266
290
293
304
311
311
311
311
311
322
322
322
322
322
322
323
324
325
338
337
332
331
333
335
336
338
345
348
349
351
356
366
368
370
371
373
373
372
372
371
371
370
369
372
374
375
397
408
409
411
410
408
406
405
404
404
402
401
396
396
404
403
403
403
403
403
402
417
412
410
406
405
403
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
401
405
406
408
408
408
408
408
410
411
412
412
412
412
417
423
427
441
449
451
453
456
459
463
471
503
510
516
520
540
542
543
549
549
550
551
547
543
542
540
538
535
533
530
529
528
527
525
522
526
532
539
543
552
555
558
560
563
569
577
586
591
596
599
603
611
611
611
611
611
599
597
596
596
595
594
594
584
581
578
564
558
560
563
566
570
572
574
575
577
579
586
587
589
589
592
592
592
592
591
591
590
590
589
589
589
589
589
604
605
606
607
609
617
617
617
617
617
618
618
618
618
618
620
635
638
639
642
643
645
647
650
651
651
651
651
651
651
652
653
653
653
654
654
655
655
655
655
656
656
656
656
656
657
657
657
658
658
682
688
689
696
698
711
717
718
719
720
721
722
723
723
723
720
718
716
713
712
712
712
711
711
710
710
709
705
704
703
702
701
700
694
692
690
688
687
686
685
685
693
699
702
707
707
705
702
694
692
684
673
676
676
677
677
678
678
681
682
682
681
679
677
676
675
674
674
673
673
660
654
648
644
615
616
617
618
623
626
627
624
621
619
618
616
615
606
598
576
572
554
543
541
541
541
544
545
547
547
548
548
550
550
551
551
552
553
551
551
550
547
539
541
541
542
542
543
546
549
570
574
578
582
592
594
598
608
607
605
604
603
601
600
599
598
600
609
610
611
613
699
701
704
706
695
690
687
731
739
732
729
727
719
708
698
679
680
680
681
655
663
661
657
651
646
636
634
633
630
624
624
624
624
628
630
631
632
642
645
647
648
649
649
650
652
652
657
659
659
662
662
662
664
666
667
668
669
671
673
676
679
679
682
683
684
684
689
690
692
694
707
709
710
714
715
715
722
736
755
756
756
760
764
766
767
768
775
778
780
781
782
789
789
791
791
792
794
769
767
764
766
769
773
777
785
793
815
823
832
839
867
872
877
882
888
894
897
877
867
854
851
850
850
849
844
842
834
831
831
833
835
858
860
864
865
869
870
872
883
884
893
896
896
892
891
892
915
918
916
920
922
942
949
956
960
966
812
813
814
815
822
814
790
788
790
791
791
794
798
804
808
811
818
820
828
831
832
833
834
835
835
834
833
833
833
830
825
823
822
814
812
811
809
809
809
809
809
810
810
811
811
809
801
797
777
774
768
761
738
736
735
733
731
725
724
722
720
719
712
690
688
686
685
685
685
686
686
686
696
699
701
705
710
714
718
722
727
730
730
729
716
713
710
704
703
702
702
702
701
700
700
699
699
679
678
676
673
672
670
670
670
671
671
673
674
675
674
673
665
662
655
652
649
646
634
633
615
611
583
582
582
607
610
626
633
616
613
605
603
570
565
562
560
549
549
549
549
549
548
546
545
539
534
529
532
536
538
539
542
545
561
563
564
564
567
564
556
560
563
563
567
566
551
551
527
523
520
509
507
506
504
503
500
487
485
482
478
476
473
476
478
479
480
481
483
484
487
487
472
469
463
455
439
433
431
428
426
431
433
440
436
434
429
426
409
403
397
395
395
394
392
391
391
393
394
397
398
399
401
402
404
413
413
410
409
408
406
405
387
387
389
391
392
390
387
383
383
382
379
378
378
378
379
379
404
410
416
419
426
424
424
421
414
408
392
386
352
343
340
342
344
345
346
338
336
335
333
331
328
327
323
321
312
301
299
298
297
283
281
278
275
274
273
272
267
265
263
263
263
263
263
263
263
263
263
263
263
263
263
264
266
266
265
264
261
260
249
248
248
247
243
241
240
228
225
223
221
219
198
197
196
195
194
194
196
197
197
199
199
200
191
188
186
184
182
180
179
178
176
171
170
169
165
154
154
155
155
156
157
157
157
155
154
154
153
152
149
149
147
147
146
145
144
143
140
139
138
137
137
135
135
134
132
132
131
131
131
130
126
124
122
119
117
116
115
114
114
113
111
111
111
110
109
109
109
108
107
106
103
100
99
99
97
94
92
90
89
86
84
83
81
79
79
79
79
79
79
79
82
83
83
84
87
88
89
93
93
93
94
95
96
96
96
97
93
92
90
87
86
84
80
78
76
75
74
73
73
72
72
69
69
69
66
64
63
61
60
60
57
57
55
54
51
49
49
49
48
47
47
47
45
44
43
41
40
39
38
37
37
37
37
36
35
35
35
34
36
38
40
40
39
37
37
37
37
38
39
39
40
40
40
41
41
41
42
42
46
48
54
55
56
57
57
63
63
63
63
64
64
64
64
64
68
70
73
76
79
82
86
90
91
95
95
95
96
97
99
103
109
108
108
108
113
123
125
131
140
142
143
151
154
154
155
155
155
153
152
150
147
146
160
172
176
179
183
184
184
182
191
201
209
212
216
229
226
222
222
221
218
218
217
216
216
215
211
204
201
200
199
198
197
197
202
205
207
208
211
219
219
220
220
224
225
225
226
229
230
236
238
241
255
253
252
252
251
250
239
236
239
239
240
243
245
246
245
244
244
244
243
243
243
248
249
251
251
251
251
251
251
251
251
253
263
269
273
274
277
295
308
319
322
322
322
322
322
322
322
328
329
329
330
330
332
335
330
330
329
329
328
327
324
323
324
325
326
331
333
336
335
332
331
331
330
330
328
324
324
325
326
326
328
330
335
340
343
345
345
345
345
345
345
345
345
345
345
346
346
347
347
348
353
356
370
373
390
393
392
392
391
391
390
382
379
379
381
382
383
384
389
391
397
396
396
395
394
394
393
393
393
392
392
395
401
401
402
403
404
411
416
417
417
417
417
417
417
417
417
417
417
417
417
417
418
421
421
422
422
429
433
434
435
437
464
464
463
462
461
457
455
454
453
452
451
450
450
454
454
454
454
454
455
455
456
456
456
456
456
456
462
462
463
463
463
468
470
470
471
471
471
468
468
468
468
468
474
475
476
477
478
481
483
484
495
496
510
508
508
507
503
501
497
494
492
491
491
491
491
488
486
483
479
479
478
478
477
474
474
475
476
476
476
477
477
477
478
478
478
478
477
475
471
470
469
467
466
466
465
465
464
464
463
462
462
462
461
461
461
460
459
458
457
457
457
457
455
453
453
451
448
447
445
444
442
441
441
441
441
441
442
444
443
443
442
441
435
434
434
433
432
420
420
419
418
415
415
415
416
416
416
416
416
416
412
411
410
409
409
404
394
394
394
394
394
393
393
392
392
392
390
389
389
389
389
389
389
389
389
390
385
384
374
373
373
373
370
370
369
369
369
370
370
370
370
372
371
367
363
359
356
353
349
338
338
338
337
337
337
337
337
337
337
337
337
340
340
340
334
333
333
332
332
329
329
323
323
323
316
315
313
312
312
309
309
309
305
302
293
293
293
293
293
293
293
288
287
284
283
282
282
281
271
271
271
270
270
270
269
269
269
268
268
268
267
267
267
265
265
263
258
257
256
256
255
253
251
250
249
249
249
248
247
247
246
229
228
222
203
202
201
196
193
191
189
187
186
177
187
190
192
196
196
196
196
196
196
196
196
186
186
186
186
187
189
189
191
199
201
204
206
207
210
212
214
217
211
211
202
193
193
186
185
159
159
158
144
132
129
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
131
129
129
133
143
135
135
136
134
131
127
124
126
125
125
126
128
128
129
132
132
131
132
129
128
127
126
125
128
132
132
132
131
131
131
131
131
131
131
132
132
132
132
130
129
129
129
129
129
129
129
129
128
128
129
129
130
130
130
130
130
130
129
129
129
129
130
130
130
130
130
130
129
129
129
129
127
126
126
123
123
123
123
123
123
123
123
123
121
122
123
123
123
123
123
123
122
122
122
122
122
122
121
122
122
122
122
123
124
124
124
124
124
124
124
124
126
127
127
126
126
125
126
126
126
125
125
125
125
124
123
124
123
122
122
122
121
121
120
119
119
116
115
115
114
114
113
112
112
112
112
113
114
116
116
115
109
108
108
107
106
105
104
102
102
102
102
102
102
102
102
102
102
102
102
102
100
100
100
98
98
98
94
90
88
88
88
90
96
105
111
114
114
114
114
112
111
110
108
107
106
106
106
101
101
102
102
100
101
101
102
102
102
97
97
98
98
100
99
99
98
98
97
97
97
96
92
89
87
87
85
83
83
83
83
84
83
89
89
90
92
92
93
94
94
95
99
105
104
103
105
112
124
125
132
135
139
143
147
153
157
171
179
179
177
178
181
180
173
165
149
143
134
134
134
137
137
140
140
141
142
142
142
141
141
141
140
140
139
139
139
139
138