7
4
5
4
6
6
7
8
10
9
8
7
6
6
4
4
5
3
6
6
7
8
7
4
6
9
10
7
6
5
2
2
2
3
7
4
4
5
6
6
10
5
5
8
13
16
18
17
14
13
13
14
15
17
19
18
18
17
14
19
17
14
6
5
8
8
7
7
10
9
7
7
8
5
7
13
14
19
17
15
18
27
30
33
44
41
34
35
29
24
19
24
24
23
23
23
23
17
21
21
21
31
37
34
36
34
44
46
31
30
22
18
19
20
20
19
18
18
18
18
19
23
26
29
32
45
44
34
36
35
38
29
24
21
19
25
23
22
22
21
21
24
23
21
22
23
34
29
27
23
20
26
43
47
46
41
24
25
25
27
27
30
26
18
22
20
20
41
31
34
26
24
24
26
26
25
22
15
20
24
21
18
23
32
23
24
18
18
16
16
19
21
33
41
41
37
30
34
36
39
38
34
37
39
37
39
41
39
37
37
37
39
47
49
39
41
40
55
50
46
40
37
43
44
46
45
45
48
43
39
44
41
38
38
44
35
39
43
43
32
33
33
34
40
38
41
51
52
52
50
47
45
42
40
41
41
40
37
36
37
38
38
38
40
56
60
62
61
87
65
59
53
44
45
43
35
35
35
38
39
41
47
40
41
41
42
42
44
44
46
48
52
45
44
45
44
45
45
49
52
50
46
46
47
49
47
52
63
71
82
82
51
53
52
55
55
61
60
60
59
60
59
59
64
66
71
69
83
80
79
81
82
83
78
102
95
82
91
93
84
90
91
92
114
124
131
134
109
100
86
86
83
80
82
92
90
99
119
118
105
111
118
122
122
122
122
124
126
128
126
166
166
177
174
172
160
156
144
152
144
148
143
129
139
162
161
167
181
192
206
229
224
238
246
249
253
260
266
255
266
279
276
271
265
267
270
273
274
276
277
285
292
308
315
304
309
327
319
336
335
332
326
326
327
329
330
332
330
343
356
359
366
375
376
377
377
372
367
362
370
362
362
382
389
395
395
395
398
403
407
379
391
402
413
424
427
445
454
458
460
464
472
477
477
481
484
495
489
454
445
449
433
422
413
423
427
417
415
408
395
384
369
369
357
363
360
353
349
349
346
350
350
354
368
381
382
383
383
377
366
363
363
363
361
359
370
361
360
362
356
359
363
344
350
353
371
375
384
389
376
376
378
378
378
369
369
379
385
374
372
368
366
366
366
366
340
331
363
384
384
382
394
392
388
381
370
369
371
372
367
374
376
361
361
361
359
362
366
369
372
372
375
375
364
359
367
365
361
367
360
384
401
402
413
423
424
422
419
428
422
412
404
412
416
415
427
389
383
385
385
390
392
392
367
361
347
343
316
348
335
344
346
323
324
313
326
328
324
322
323
326
293
294
294
294
292
292
293
295
297
295
285
290
293
285
308
304
269
278
270
275
289
277
289
300
301
291
266
269
236
237
241
250
239
254
236
225
209
203
198
191
191
183
192
195
211
213
221
227
236
241
230
223
213
211
211
202
200
212
198
192
197
188
188
188
185
166
187
184
178
147
153
152
150
147
147
144
142
142
163
169
177
155
151
152
167
155
148
139
137
138
138
142
154
154
149
145
143
143
146
150
140
137
136
126
128
128
126
125
129
160
161
165
166
142
149
147
144
140
140
140
140
139
141
150
150
163
160
149
152
147
145
141
148
156
161
162
151
146
148
157
158
159
171
175
194
204
204
217
217
226
231
231
231
232
235
250
249
251
261
261
262
271
277
273
272
273
275
280
283
286
306
307
290
288
293
298
290
280
290
296
297
300
311
320
320
316
315
316
318
317
311
305
306
302
319
312
324
337
342
344
345
350
357
361
361
384
412
414
406
387
385
379
378
381
385
390
411
420
425
422
435
421
425
430
431
432
433
402
406
411
396
400
402
402
402
412
415
426
435
442
451
474
459
464
449
443
439
444
441
445
445
441
455
451
438
439
459
477
482
462
447
447
447
452
460
473
452
449
446
455
472
478
470
459
461
467
469
503
502
502
503
498
491
494
528
528
528
523
515
499
501
501
500
496
499
505
506
508
567
541
526
556
585
596
521
520
518
533
551
554
553
552
550
553
557
561
559
559
584
588
583
578
572
566
560
558
583
579
581
586
575
571
586
593
604
607
600
598
598
588
576
588
580
573
569
569
555
552
547
554
564
554
541
530
530
527
525
523
508
508
513
502
484
499
493
488
484
478
478
478
443
444
457
446
435
424
406
402
396
391
386
403
397
389
379
377
376
375
375
375
369
378
374
372
369
372
374
368
352
353
371
378
362
359
363
367
367
364
356
347
350
327
313
313
314
315
318
319
321
316
343
335
315
317
319
320
315
310
301
304
301
294
285
281
278
278
279
277
265
245
276
276
276
294
306
310
305
298
312
311
325
299
276
273
265
258
252
247
249
259
261
263
287
291
290
294
292
275
281
268
269
271
285
288
303
301
300
300
306
318
311
298
293
302
305
308
297
307
297
295
290
290
294
303
307
312
317
322
316
308
304
303
302
296
300
314
315
316
313
324
327
327
327
337
329
333
348
354
360
364
363
363
364
363
363
359
353
352
361
365
349
335
335
331
302
303
311
324
330
330
333
331
334
330
312
316
351
349
353
368
399
385
388
397
396
391
438
438
422
412
430
435
451
453
451
421
426
434
431
446
453
466
469
473
476
476
477
479
481
484
500
529
514
536
519
510
508
504
500
543
548
550
536
527
523
546
550
542
553
566
587
587
598
602
615
615
609
615
625
626
624
635
647
652
623
624
654
650
662
661
666
673
686
687
674
689
693
694
692
707
692
694
715
722
734
739
739
751
736
736
741
748
748
765
782
785
769
796
790
794
798
822
846
838
835
842
850
859
869
875
883
883
874
867
864
879
879
890
895
898
907
924
925
930
936
940
939
941
948
952
944
973
986
980
981
984
983
987
995
1001
1006
997
996
1011
1013
1010
1013
1028
1021
1011
1026
1023
1013
1016
1019
1015
1025
1035
1042
1028
1028
1030
1029
1042
1053
1048
1046
1036
1048
1048
1047
1047
1048
1057
1037
1042
1026
1013
1022
1025
1027
1028
1025
1028
1029
1026
1043
1053
1059
1050
1038
1027
1020
1016
1020
1019
1017
1020
1003
998
987
994
991
979
975
973
975
966
960
958
969
973
971
961
991
1000
989
974
970
981
969
960
965
956
954
952
960
946
938
941
933
916
910
896
884
901
915
882
884
889
881
884
890
908
909
903
892
900
905
908
908
902
905
908
910
911
930
928
920
912
909
903
897
886
883
878
885
880
868
861
860
868
864
860
866
856
841
837
846
845
839
819
816
817
814
805
798
802
809
809
809
803
797
775
766
762
762
762
781
769
751
739
738
732
735
721
732
731
725
721
730
726
708
727
711
696
693
686
668
671
675
679
688
696
699
704
711
716
715
717
728
749
756
756
748
745
746
755
758
768
766
765
763
764
776
783
763
746
741
741
737
735
736
736
735
733
735
734
732
729
728
729
730
735
733
731
737
739
719
727
715
699
698
697
697
697
716
717
721
728
725
704
689
682
684
687
690
695
690
688
686
676
676
675
675
678
682
677
672
666
661
650
650
648
645
642
638
642
627
622
619
619
614
623
616
603
618
602
615
586
586
584
578
580
579
565
566
567
568
569
563
542
539
538
546
523
523
524
525
531
518
514
513
514
510
508
500
490
495
495
485
490
489
485
482
479
474
469
460
459
459
464
473
466
461
455
438
439
430
425
423
423
422
419
418
416
431
425
399
386
360
360
352
345
343
320
317
315
316
317
316
312
300
296
295
286
280
278
279
279
281
281
279
272
269
283
290
283
275
276
267
260
259
258
255
260
265
251
263
255
241
237
268
257
251
239
234
232
233
240
245
246
245
245
243
238
235
232
229
233
240
240
227
204
198
196
194
195
211
210
206
202
202
201
216
216
204
183
160
160
161
162
171
177
158
149
149
147
139
136
132
129
119
116
114
119
126
120
113
113
110
105
107
103
102
101
99
99
97
101
114
108
101
101
94
92
94
94
91
93
93
91
111
98
91
95
98
100
93
92
91
92
92
87
88
91
91
89
87
86
86
86
86
92
90
90
99
119
119
119
107
103
97
92
92
88
83
86
86
86
86
87
102
87
84
90
90
86
91
94
93
89
79
81
80
93
86
83
82
81
81
88
84
84
92
100
93
83
93
124
119
110
110
123
109
86
81
81
81
79
76
75
75
74
73
75
80
82
81
82
86
84
80
76
74
75
84
80
86
90
92
93
89
90
89
75
77
75
77
76
76
75
74
74
76
86
79
75
75
73
72
71
72
74
75
73
72
74
69
72
76
77
77
81
81
81
80
71
81
78
76
85
88
68
69
68
69
80
86
86
79
72
62
63
66
67
66
64
69
70
70
68
66
64
65
65
66
61
59
59
59
67
63
63
73
65
64
63
65
73
70
64
65
61
62
62
65
63
59
65
71
73
64
66
67
67
67
62
63
65
62
59
68
83
81
61
65
64
72
74
72
69
61
59
58
57
54
51
53
55
60
59
68
68
61
61
65
54
59
59
52
51
57
55
54
53
54
54
54
55
52
49
60
59
57
55
62
68
63
65
68
67
66
56
45
49
47
53
52
51
49
43
52
58
54
53
57
59
56
60
64
54
50
54
70
64
74
70
72
73
82
64
62
59
58
51
56
62
66
76
80
79
77
72
72
63
53
51
51
51
74
86
97
92
73
60
53
53
52
51
52
46
49
50
65
64
67
72
69
63
65
66
65
64
90
94
96
85
89
66
63
62
62
62
52
51
55
55
46
45
45
45
44
43
49
55
62
50
55
42
42
42
42
52
49
45
39
42
44
45
46
42
46
46
46
51
48
45
45
45
45
44
44
38
46
52
48
46
49
53
55
57
55
52
54
55
48
57
60
62
62
62
68
64
62
62
66
71
77
82
80
76
75
75
70
65
61
57
57
55
54
53
53
55
55
47
43
43
42
40
40
40
40
40
40
40
40
40
42
44
45
46
61
58
59
57
53
51
45
46
48
57
60
62
64
69
71
72
74
80
81
77
78
77
81
86
93
79
75
60
69
79
73
68
62
60
59
70
67
84
91
100
99
94
90
82
80
74
69
62
55
60
60
60
62
72
75
71
70
73
79
70
56
74
66
71
66
74
83
84
85
87
124
120
115
104
100
88
80
76
75
84
96
97
97
105
105
105
105
98
89
100
106
97
114
126
130
135
142
143
147
153
151
139
135
135
136
135
141
133
123
117
114
108
106
108
106
102
100
105
99
97
92
89
89
89
91
88
83
84
85
72
71
111
120
132
134
133
98
72
66
67
67
63
64
68
67
66
64
64
57
58
58
62
71
69
69
70
74
79
83
74
81
83
63
72
81
84
75
74
74
74
80
88
83
78
81
81
78
80
83
88
86
86
88
94
92
91
89
99
109
110
135
137
137
130
153
147
156
154
150
151
156
151
144
143
141
160
160
180
175
180
182
177
169
162
155
146
137
131
126
121
121
107
84
86
103
97
77
75
77
88
92
83
85
84
82
81
81
81
79
72
73
85
93
74
72
69
68
68
74
60
68
70
72
69
71
77
77
76
76
80
76
72
63
65
73
72
75
82
79
71
77
84
87
89
73
72
71
73
71
77
79
78
80
83
84
84
87
84
83
82
82
83
82
85
87
90
107
80
88
89
88
99
98
101
105
112
110
110
116
110
106
109
114
104
102
99
100
110
114
104
111
114
109
112
114
115
117
126
129
133
128
129
125
120
117
112
109
101
97
100
105
104
101
105
103
107
101
90
92
106
103
114
123
117
116
114
113
103
107
101
107
94
90
90
99
105
98
98
105
119
114
116
120
120
114
124
121
131
136
126
119
116
103
104
110
108
101
104
104
106
87
86
93
95
92
91
95
91
91
93
93
95
99
108
122
128
130
129
126
130
122
129
136
131
119
144
152
149
138
131
130
120
114
113
111
111
106
108
117
110
106
107
111
117
97
96
93
95
93
116
114
114
118
119
130
133
143
127
132
131
133
117
116
115
114
113
112
119
119
119
125
126
129
137
132
132
132
132
133
133
133
132
133
130
123
122
123
125
125
133
136
138
144
135
131
135
135
138
147
152
151
148
152
146
143
143
143
143
143
145
149
153
162
181
196
223
229
233
218
216
214
211
211
200
200
200
179
175
183
184
184
184
185
188
191
186
186
189
184
184
183
192
194
194
193
196
206
197
212
204
222
215
191
189
188
186
186
186
174
177
178
175
177
176
176
178
184
193
194
193
193
190
192
193
193
192
188
185
183
181
171
178
180
177
174
174
174
175
175
176
174
170
171
157
157
155
154
154
155
153
158
158
163
159
156
157
156
155
154
151
151
148
148
147
139
143
144
144
144
144
144
147
146
145
145
144
143
141
140
141
141
144
142
142
140
138
141
144
139
139
141
145
140
139
139
139
140
158
159
167
166
164
167
172
167
149
146
148
160
162
163
163
174
172
138
137
136
132
129
135
140
149
159
171
159
158
157
158
169
183
196
193
192
180
171
170
150
145
141
145
150
152
159
155
155
155
138
145
157
143
141
140
149
154
157
140
141
143
143
157
144
142
141
139
138
139
137
137
137
138
139
143
146
141
137
143
154
161
156
159
149
148
149
150
148
150
172
190
201
192
184
171
167
153
147
145
148
148
147
152
159
173
169
164
158
156
166
175
182
181
175
169
158
159
157
149
144
145
146
135
128
124
123
122
120
114
112
113
112
112
112
113
116
119
121
122
117
119
129
131
139
139
141
141
138
137
140
129
133
114
110
110
119
126
122
110
117
123
134
142
137
141
145
136
147
145
129
124
129
150
148
149
124
132
132
135
136
129
135
137
127
128
128
130
132
135
166
168
166
172
188
190
216
222
232
234
236
241
255
262
276
274
284
271
263
260
254
251
229
227
230
233
249
270
275
274
275
280
282
273
272
271
271
270
276
288
296
298
290
295
305
272
272
281
281
285
287
303
293
299
299
291
282
277
270
255
251
248
229
221
208
196
177
166
167
161
166
170
169
163
152
153
171
171
169
182
183
173
161
141
151
141
142
153
151
146
140
141
125
120
119
118
122
135
127
125
129
150
137
128
121
117
120
120
145
136
136
122
120
119
130
126
135
120
112
115
115
111
110
122
110
126
112
103
100
103
106
108
102
99
103
103
99
105
107
104
104
105
109
119
121
121
122
121
118
106
120
111
114
118
124
124
128
128
126
115
115
115
103
103
106
113
113
125
123
123
122
122
129
127
128
136
134
123
114
129
104
99
99
102
104
107
119
128
124
122
121
121
125
123
107
113
109
109
103
96
99
93
89
92
92
92
95
90
87
85
89
101
102
101
100
104
102
102
105
89
88
99
101
102
102
99
95
85
98
96
98
108
110
107
105
106
108
110
107
95
98
96
95
86
83
89
89
99
101
100
98
91
85
79
82
100
99
99
89
97
103
104
108
118
115
122
121
119
120
114
104
95
110
103
94
90
93
89
89
92
78
67
70
70
68
66
65
88
91
92
96
104
104
106
106
103
94
79
84
82
80
81
86
80
79
82
100
107
110
100
97
99
99
95
91
79
78
83
81
81
91
93
92
90
88
78
78
74
71
72
78
81
74
72
72
71
69
73
79
82
82
79
75
72
73
73
76
82
89
90
87
86
80
74
79
82
81
78
81
90
93
89
87
86
80
77
72
72
73
76
76
71
72
71
69
63
66
68
78
81
84
88
84
81
80
75
81
80
79
80
82
99
94
82
80
80
80
80
80
85
83
92
91
87
87
88
94
106
91
85
77
70
66
65
87
91
89
85
66
66
68
76
86
90
88
94
79
80
71
69
78
82
80
78
78
77
76
77
69
68
71
92
93
94
95
99
118
114
110
117
105
100
87
89
92
82
71
69
88
100
101
104
105
105
111
116
129
150
144
137
132
128
128
128
124
118
112
98
84
82
81
79
96
110
112
124
125
116
103
101
100
100
101
98
95
92
89
82
82
82
80
80
74
74
76
75
71
68
68
68
64
64
63
62
63
62
64
62
60
67
69
70
66
80
84
90
83
88
96
104
108
105
102
101
97
81
78
77
77
77
78
84
83
77
70
64
64
61
62
62
61
61
60
67
67
75
74
71
66
62
59
66
72
76
73
80
87
85
81
77
69
68
61
60
65
65
70
71
71
72
74
72
70
68
67
65
65
64
66
65
68
72
73
73
75
74
70
70
74
78
81
80
76
75
75
69
69
70
72
70
66
70
79
75
76
76
64
67
70
69
70
70
72
72
71
69
67
65
62
61
63
64
63
70
69
66
63
64
71
78
75
72
67
69
67
57
59
63
66
68
68
69
85
92
90
88
83
74
68
66
61
63
58
69
75
69
62
59
74
71
74
79
83
68
67
66
66
72
73
67
70
77
84
76
76
77
70
68
63
66
69
74
77
74
72
74
75
75
74
80
62
70
73
71
83
79
69
65
65
73
68
70
68
66
58
56
55
65
67
79
79
74
71
76
71
68
69
78
76
91
115
113
99
72
68
67
91
98
101
105
107
101
88
85
63
67
88
84
79
85
85
70
64
67
69
71
62
60
62
61
65
66
68
71
71
63
69
72
67
74
74
64
71
68
71
77
86
94
96
90
94
98
98
100
101
101
101
100
92
92
76
77
70
64
64
61
57
56
67
68
67
58
56
60
61
58
60
63
66
63
65
65
61
62
61
62
64
64
64
62
62
62
63
63
64
78
68
66
70
73
73
75
76
77
64
63
63
63
59
58
58
58
58
65
68
69
69
70
69
60
63
58
59
63
69
72
62
66
66
69
64
62
65
65
65
61
60
63
63
63
60
62
63
62
60
60
60
51
52
51
54
54
55
56
56
57
55
60
92
95
89
93
92
97
94
83
97
73
84
79
98
85
92
96
96
95
91
84
78
74
76
78
78
76
72
69
66
63
79
86
87
89
92
93
90
87
77
69
67
66
57
63
82
83
83
83
81
79
76
71
70
71
76
79
79
79
69
67
68
66
72
72
73
67
61
62
71
70
76
67
76
71
80
70
62
62
65
67
69
72
73
72
76
83
84
78
71
72
77
77
75
76
74
75
86
88
89
88
86
83
90
94
86
75
72
74
74
76
76
77
77
84
85
90
99
92
96
98
100
103
92
77
83
79
91
89
89
85
83
82
81
82
83
82
81
76
76
75
71
74
79
78
76
78
81
84
79
71
79
82
91
90
91
91
81
82
83
91
92
93
93
94
94
93
81
72
71
69
66
92
82
82
82
84
83
85
87
86
85
85
85
85
86
90
87
79
71
69
68
70
73
76
78
80
80
76
87
81
77
76
71
69
69
66
65
65
72
74
72
71
76
77
85
85
84
78
79
79
77
76
71
70
69
79
76
74
71
70
70
68
66
64
77
75
77
74
76
76
76
73
76
75
72
66
64
62
78
78
78
78
77
86
93
100
103
104
108
109
107
100
98
99
107
111
116
117
119
123
128
126
132
127
133
134
128
127
128
129
129
129
129
124
103
91
94
83
90
86
82
78
71
66
74
93
91
88
95
108
108
91
94
91
87
86
86
86
88
90
91
85
85
105
103
105
99
93
94
96
96
100
106
110
117
105
97
87
86
86
87
96
111
131
122
112
100
100
97
92
83
84
85
86
88
95
97
101
103
98
93
90
91
94
96
97
112
109
115
123
132
104
103
102
100
92
91
104
98
98
94
84
87
86
88
87
78
78
76
73
75
76
76
75
83
82
80
77
69
78
70
68
76
76
79
95
92
91
79
73
73
74
72
74
75
69
78
85
84
83
83
80
83
90
93
86
73
76
80
90
89
79
80
82
82
94
98
98
88
82
94
94
100
89
72
70
69