14
13
13
13
8
8
8
6
4
3
3
2
2
1
1
1
1
1
1
1
2
3
4
4
5
6
7
7
8
8
9
8
7
6
6
6
6
6
6
6
7
7
10
10
9
8
8
8
14
14
14
14
17
20
19
18
15
14
14
13
12
11
11
11
11
10
10
10
10
10
10
10
9
9
9
8
6
5
7
7
8
9
13
13
12
8
11
13
13
10
10
8
8
7
4
5
5
5
6
6
6
7
7
7
8
8
8
8
8
8
6
6
5
4
4
3
3
3
3
3
3
3
3
3
3
3
3
10
10
11
13
15
17
18
20
21
22
22
23
26
28
26
24
24
22
22
22
21
21
21
21
21
21
21
21
21
23
24
30
32
33
33
35
36
37
36
36
35
34
33
31
30
28
27
26
24
22
22
25
26
28
30
31
31
31
31
35
35
34
34
34
33
32
31
30
29
28
20
21
21
21
22
22
23
23
23
23
23
23
23
22
21
21
20
18
17
17
17
17
17
17
17
17
17
19
20
20
21
22
22
23
27
27
27
29
21
20
20
18
17
9
10
11
12
12
12
12
12
12
12
12
13
13
13
13
14
14
14
15
16
16
17
19
21
22
25
30
32
33
35
35
34
33
33
33
34
36
37
37
37
37
37
37
38
38
41
42
42
43
44
45
47
47
47
47
47
47
47
47
47
47
47
47
47
47
50
51
49
48
47
47
43
45
45
41
39
35
35
39
40
42
44
44
45
45
45
43
41
39
38
38
38
38
38
38
38
38
38
38
37
30
30
29
29
27
23
20
19
19
18
17
16
15
13
13
13
13
13
13
13
13
13
15
15
15
16
16
17
17
16
16
16
18
19
18
17
17
17
16
16
16
16
16
16
14
13
13
13
13
12
11
11
11
11
15
16
16
16
17
18
25
26
26
27
27
28
28
29
29
29
31
33
36
37
40
43
53
60
63
64
64
67
70
72
75
77
79
79
79
79
79
79
79
82
85
88
93
100
105
106
107
108
109
114
120
125
128
128
126
125
123
119
113
107
101
103
106
109
112
112
112
111
103
93
92
91
91
91
90
93
94
94
94
94
94
94
94
94
96
98
100
100
101
100
98
95
92
87
88
88
87
85
83
83
81
77
76
74
73
73
74
76
77
77
76
75
74
74
78
81
82
85
88
90
93
98
102
104
105
113
113
113
119
119
119
119
117
117
114
114
113
114
111
99
92
89
90
89
86
84
84
84
85
89
93
96
96
95
88
86
90
92
96
100
103
103
103
108
114
115
117
121
121
121
122
122
122
123
125
127
129
134
135
139
149
154
154
154
156
156
157
159
160
162
164
165
165
165
164
165
172
173
206
213
217
239
244
250
251
251
252
247
243
238
237
238
239
236
230
221
216
215
214
220
232
242
235
230
224
212
201
198
197
207
216
239
249
259
261
265
268
272
272
272
272
269
266
263
251
242
242
235
222
213
209
206
210
214
219
223
225
221
219
215
213
212
207
207
207
206
206
205
204
205
206
207
207
209
210
211
211
218
221
224
225
227
229
230
232
232
233
233
234
237
238
240
240
241
242
243
242
239
236
230
227
228
230
232
235
234
228
225
220
219
219
218
218
218
218
218
218
218
218
218
218
218
217
209
203
200
204
205
207
209
210
213
215
220
222
221
221
220
219
217
214
211
206
204
203
201
200
198
196
191
186
174
165
156
149
149
149
149
149
149
149
161
166
169
175
178
181
183
183
182
180
180
179
178
177
175
172
170
168
165
160
148
148
148
147
147
147
145
142
139
137
135
133
131
130
128
124
120
118
113
111
110
109
106
105
103
101
100
100
100
99
99
97
96
95
101
106
111
120
123
127
131
131
129
127
126
122
113
112
113
114
114
115
125
129
135
140
143
145
148
154
157
159
161
162
165
167
168
170
181
186
182
168
165
161
163
164
177
181
181
181
179
171
167
158
154
152
151
149
147
147
151
155
159
183
174
174
190
194
198
202
198
199
200
215
232
243
249
254
257
253
250
245
241
233
232
236
240
244
252
260
263
263
262
262
262
261
261
261
263
263
264
264
265
265
265
265
265
278
285
293
301
308
307
306
305
302
303
304
305
306
306
307
307
309
312
315
318
321
335
336
335
333
332
331
330
329
328
327
325
323
330
335
338
341
344
347
351
353
350
347
347
348
349
350
351
351
351
352
361
350
349
346
342
342
342
342
342
334
328
326
324
321
319
320
321
323
323
324
326
326
326
327
327
328
327
327
323
323
322
320
318
317
316
315
315
315
316
314
312
312
317
315
315
319
335
333
331
329
326
312
307
304
303
300
280
274
270
266
265
264
262
260
262
262
263
263
263
240
233
228
220
211
205
201
202
204
205
207
212
219
217
213
211
210
209
208
203
192
185
180
176
174
173
173
174
175
176
180
201
202
203
204
203
199
190
183
178
181
183
187
191
195
197
200
201
205
209
215
213
215
219
229
232
235
237
239
247
252
255
256
243
239
233
228
227
226
233
236
238
243
246
253
267
272
272
272
272
272
272
273
278
283
286
290
291
293
293
293
291
290
290
290
290
290
290
268
265
262
254
252
250
265
269
280
281
281
282
283
284
295
300
323
327
326
325
324
323
322
322
321
314
301
293
285
289
295
302
308
314
286
273
268
256
215
208
206
202
202
219
224
231
236
254
259
258
257
256
253
253
253
253
253
253
256
258
263
266
266
268
268
269
249
251
252
254
254
257
243
242
241
239
238
237
237
235
224
225
231
231
228
227
225
223
222
224
231
232
232
232
232
232
232
232
232
234
213
205
197
194
193
186
183
178
172
168
159
158
159
159
160
161
161
161
161
161
161
160
160
160
160
157
155
153
151
149
144
141
142
142
142
142
142
141
140
139
135
135
134
134
134
135
135
136
138
140
140
141
141
142
142
142
143
143
142
142
141
140
140
140
141
142
143
145
146
146
147
148
150
152
153
155
157
161
163
165
165
166
168
166
164
162
159
155
153
153
152
151
149
147
147
147
148
148
148
149
155
162
168
170
171
172
175
175
176
180
184
186
191
193
194
194
195
195
196
197
196
194
191
189
189
188
185
183
181
180
179
179
178
175
173
172
171
169
166
166
166
166
166
165
163
162
160
159
157
156
130
99
92
91
94
98
105
109
116
118
119
122
124
126
127
129
127
126
125
121
118
117
117
126
130
137
141
144
160
162
161
157
146
136
141
145
146
147
152
153
155
158
167
175
178
181
185
188
196
195
193
192
191
190
187
162
156
156
156
156
156
156
155
153
143
140
140
139
138
137
137
137
138
139
141
142
144
146
151
149
146
141
139
137
137
138
139
140
136
122
118
112
106
104
103
101
98
116
118
122
127
130
130
130
130
130
130
130
130
130
130
129
129
124
119
118
118
116
112
109
111
113
115
116
119
120
122
121
120
119
119
117
117
116
114
113
112
111
110
110
108
108
107
107
107
106
104
103
102
100
99
98
95
93
93
99
101
102
102
101
101
100
100
100
102
106
107
110
113
114
116
116
115
114
112
111
111
111
124
127
133
135
137
139
150
154
157
159
162
166
179
182
184
182
182
181
181
180
181
186
190
192
194
197
198
200
202
206
220
220
222
223
223
222
222
221
221
220
222
225
229
231
232
234
236
238
238
236
235
232
230
229
226
220
222
223
225
226
227
229
231
234
238
243
245
252
255
255
253
252
250
249
247
245
243
244
246
247
248
250
251
256
259
262
267
283
285
287
288
288
290
291
292
293
295
296
296
297
298
298
300
300
300
287
277
276
272
272
275
278
285
285
285
285
285
285
285
282
277
275
272
270
267
263
260
255
254
252
250
246
242
241
254
260
264
267
270
281
285
288
301
305
309
307
304
294
291
288
286
284
281
285
289
293
297
298
296
295
294
292
291
286
285
284
284
282
281
280
280
280
280
280
280
280
280
280
281
284
285
285
286
287
288
291
293
296
298
299
299
300
303
311
313
315
319
319
318
316
312
311
310
309
314
316
319
321
322
323
322
320
310
307
305
300
298
304
306
309
311
313
316
313
312
310
307
305
304
302
300
300
300
300
298
298
298
295
290
288
287
285
290
292
295
308
310
322
325
325
326
327
330
334
335
336
338
340
350
352
353
360
362
365
368
368
367
367
367
368
369
369
370
370
371
376
379
380
380
382
383
383
383
383
385
390
397
403
407
409
411
412
413
415
419
420
421
423
423
432
437
441
443
445
448
451
449
448
447
445
441
440
439
439
440
442
446
448
449
454
454
454
454
454
454
454
455
457
457
458
460
461
461
462
463
465
467
467
469
470
470
471
473
474
475
478
482
481
481
481
480
480
480
479
477
477
490
492
493
494
495
497
497
497
498
498
499
499
499
499
499
500
500
500
500
500
500
500
500
500
500
499
499
498
498
497
497
497
497
498
499
499
504
504
504
504
501
500
487
486
485
482
472
470
470
465
465
465
466
467
468
466
466
465
465
464
463
462
458
456
455
446
444
443
441
440
437
437
434
428
423
422
420
417
415
413
410
407
405
405
405
406
407
407
407
407
407
406
397
397
396
393
389
388
387
387
387
387
387
387
386
385
381
380
379
381
381
380
373
369
363
364
366
366
366
369
370
371
371
372
374
377
378
379
379
381
381
400
422
424
426
426
424
423
420
419
411
406
399
398
396
395
394
393
393
392
392
391
393
395
397
404
399
395
386
382
377
372
370
370
372
376
380
381
385
384
379
374
366
364
364
371
371
378
377
375
372
371
369
366
366
365
364
360
358
354
351
350
350
349
347
346
345
347
348
348
349
349
351
351
351
351
346
340
339
336
336
335
335
335
335
335
335
334
333
333
330
327
326
322
311
311
305
302
300
300
298
299
299
290
289
289
289
291
291
292
289
289
288
286
284
282
279
266
263
260
258
255
254
253
252
252
251
249
246
242
239
237
234
229
216
214
213
211
208
207
206
203
204
205
205
206
207
208
208
207
205
199
195
194
194
193
191
190
189
189
188
190
191
192
193
191
190
186
184
180
171
159
157
154
151
149
147
144
127
123
125
128
131
134
134
137
138
139
141
143
144
145
146
145
141
135
131
126
120
124
127
130
133
140
142
141
140
137
136
132
127
125
124
126
130
133
134
137
139
141
141
137
137
138
140
145
147
157
160
163
166
168
168
168
169
169
170
170
170
170
170
171
172
176
178
179
180
180
176
175
175
174
171
170
166
166
165
156
155
155
156
156
157
157
157
155
155
154
151
150
149
148
151
152
154
152
152
151
150
145
144
140
138
136
135
135
134
124
124
123
123
122
122
121
120
119
118
118
119
127
128
130
132
132
132
132
131
131
131
130
129
128
128
127
127
126
126
125
125
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
121
120
119
115
109
106
102
101
101
102
104
105
106
107
105
104
102
100
96
99
108
110
112
116
118
120
124
125
125
125
125
125
125
125
125
125
126
127
128
128
127
126
126
124
124
126
131
136
138
140
152
154
156
154
151
150
148
146
146
144
143
142
143
144
146
151
152
153
161
163
163
163
163
163
164
166
167
167
168
169
170
170
171
172
172
171
171
170
170
172
174
175
176
176
178
178
179
181
181
181
180
180
178
178
180
187
189
195
200
207
206
205
204
202
199
200
202
204
205
207
214
215
216
217
218
219
225
229
229
229
229
222
221
220
217
216
212
209
204
201
196
193
194
194
195
195
196
196
197
197
197
196
194
194
193
190
187
184
182
182
181
181
181
180
180
179
179
177
175
175
175
170
168
167
166
165
164
161
160
159
159
158
157
156
152
152
152
152
150
150
149
148
148
149
149
149
150
150
150
150
150
150
150
148
145
142
140
134
137
141
143
150
151
152
153
153
151
150
142
139
133
130
128
126
122
117
117
114
113
111
106
106
106
105
104
103
103
103
104
105
106
106
108
108
108
108
108
106
106
105
97
95
91
88
84
81
79
78
77
77
73
70
64
64
65
72
74
75
77
80
79
76
74
69
67
65
59
57
55
54
53
53
53
54
54
54
55
55
57
57
56
55
55
55
55
54
54
54
52
47
46
45
44
43
41
41
41
39
39
34
34
32
31
22
22
21
21
21
21
21
21
20
20
19
13
12
12
11
11
10
9
9
9
9
9
9
9
9
11
22
24
27
27
35
36
38
44
45
46
46
47
50
50
50
51
51
51
52
50
49
49
48
47
50
52
60
62
64
65
67
69
70
71
73
80
83
84
86
88
89
90
94
98
98
98
98
98
101
102
103
104
105
108
108
108
108
107
107
107
107
107
106
106
113
115
118
121
119
119
118
118
120
128
134
137
139
144
147
149
149
154
156
157
158
158
160
160
162
162
163
163
164
166
167
169
169
170
172
176
180
192
192
195
201
201
201
201
204
207
211
213
219
220
221
222
223
226
226
226
226
226
227
231
232
238
241
243
245
248
249
251
253
256
257
257
258
258
259
259
260
260
261
261
263
263
264
265
266
271
274
278
281
282
282
283
284
284
284
284
285
286
286
297
308
310
314
317
318
329
326
325
324
324
323
323
323
324
325
338
340
341
343
351
365
380
397
397
420
421
421
421
420
418
417
413
411
410
407
397
392
392
393
394
397
400
401
401
405
408
407
403
382
383
384
385
386
386
387
387
388
388
387
387
387
387
389
390
390
391
395
397
398
399
400
404
408
410
412
414
416
420
421
421
421
421
421
421
420
419
415
413
411
410
409
408
408
406
406
405
403
403
403
402
401
401
400
398
396
390
381
377
375
368
364
363
362
354
346
344
342
341
340
339
337
335
332
327
323
318
312
310
309
307
307
303
302
301
299
299
298
297
296
295
294
293
289
289
285
283
282
282
282
282
282
280
279
277
276
274
273
273
272
272
271
271
271
272
274
274
275
275
277
277
280
275
272
267
262
259
254
250
244
242
240
238
230
227
225
220
218
216
214
212
211
206
204
200
197
195
193
188
185
183
179
176
172
170
169
168
166
164
164
161
159
156
154
154
153
152
151
151
150
149
149
148
147
147
146
146
146
146
146
146
146
149
150
150
151
155
156
157
157
159
161
162
163
164
167
169
181
184
190
192
197
201
202
203
209
212
213
215
216
222
224
226
230
234
237
240
243
246
249
251
252
255
259
263
266
274
279
288
289
294
303
311
318
322
324
327
329
332
330
328
327
326
325
325
325
323
322
322
321
323
324
325
326
331
332
336
336
339
340
345
346
347
348
350
352
353
354
357
358
358
359
361
367
371
373
375
377
379
382
382
385
386
387
389
391
392
389
387
384
379
377
375
369
362
349
348
344
329
328
326
326
324
322
321
316
314
312
308
306
304
300
292
287
284
276
271
255
250
249
240
238
226
218
212
194
187
184
168
156
157
158
159
161
163
164
167
169
169
170
170
171
172
173
176
179
180
182
182
179
177
174
171
167
163
156
143
110
100
99
97
96
93
92
88
86
83
85
88
89
93
99
104
108
108
108
108
108
109
109
109
109
109
109
109
108
106
103
103
100
98
95
93
91
91
91
91
91
91
90
89
88
87
86
86
85
84
83
83
83
83
84
84
84
83
81
80
78
76
71
69
72
76
79
87
92
104
107
108
109
111
111
110
108
107
107
106
106
105
104
104
105
107
109
112
115
121
117
114
105
101
109
111
112
124
130
136
121
116
107
100
94
91
89
87
83
80
78
75
71
69
64
60
59
57
55
50
45
43
41
30
22
19
15
13
12
11
11
10
10
9
8
7
6
6
5
4
3
6
12
15
19
22
17
14
11
8
6
7
7
14
14
14
14
13
13
12
12
12
14
16
17
19
21
25
26
27
28
27
25
24
20
20
19
21
22
24
28
29
30
30
31
32
33
38
41
49
52
54
58
79
95
100
105
117
123
130
137
137
137
138
139
139
140
140
140
140
140
140
140
140
140
141
142
144
144
145
145
147
148
150
152
172
179
182
186
204
207
205
201
198
187
183
173
168
166
164
163
161
165
167
163
162
157
156
153
151
147
143
144
145
146
147
150
152
164
166
174
173
172
165
164
163
162
162
162
163
166
170
171
172
174
178
179
179
180
180
180
181
191
196
199
205
208
210
213
212
210
209
205
205
202
201
198
192
189
186
183
176
174
175
176
178
182
183
183
178
177
174
172
166
159
156
156
156
156
156
156
156
158
161
163
165
166
168
178
174
174
172
168
161
159
157
155
152
149
148
143
142
138
133
124
119
123
137
139
141
142
144
150
153
154
156
161
160
149
149
146
145
133
131
128
129
136
138
145
149
149
149
143
131
129
122
137
148
159
168
172
175
178
182
185
189
190
190
191
191
191
192
193
194
201
205
210
212
213
214
221
223
232
232
235
237
238
238
238
238
238
240
241
242
243
246
247
248
248
249
254
256
266
267
267
267
267
272
279
279
283
296
295
294
300
302
304
308
317
322
324
325
334
335
336
337
338
340
341
342
344
344
347
348
349
349
351
353
353
354
356
364
365
366
367
371
369
369
368
367
366
365
364
368
373
377
407
415
416
413
409
406
404
403
401
400
397
387
388
401
404
404
405
406
406
407
415
415
415
415
415
415
414
413
412
411
411
410
410
409
408
404
403
403
403
402
400
400
400
400
401
402
402
403
403
407
412
412
413
416
418
434
448
462
471
471
478
485
487
489
491
495
501
508
530
535
539
542
543
542
542
541
541
540
540
539
538
537
537
536
536
535
534
534
534
534
536
539
550
559
563
570
572
574
575
576
577
580
583
585
587
588
590
610
610
610
610
609
598
592
591
589
585
585
585
585
585
585
586
587
588
588
588
589
589
589
589
589
590
590
590
590
590
591
591
591
591
592
592
595
597
598
599
600
601
603
616
617
617
617
617
618
618
618
618
618
618
626
630
633
635
636
652
653
653
653
653
653
653
653
653
653
653
653
653
653
654
654
654
654
655
656
656
657
657
657
657
657
658
658
659
659
660
663
669
671
687
688
688
694
700
712
714
719
722
723
723
722
721
720
719
718
718
715
715
713
711
711
710
708
708
705
703
701
699
698
693
692
691
690
690
688
684
682
680
686
690
695
697
700
703
704
698
695
690
688
687
685
685
686
688
692
691
690
688
687
685
684
679
676
674
671
663
659
652
650
646
644
642
640
620
621
622
623
624
630
629
627
626
619
615
611
602
598
596
593
590
576
570
559
556
548
546
546
546
548
559
562
562
561
559
558
555
553
552
550
548
545
546
546
546
548
553
554
555
555
555
556
556
557
557
558
543
538
522
520
517
512
512
512
512
513
514
515
524
530
537
535
534
531
530
530
531
538
539
540
541
542
543
543
546
548
551
554
556
561
573
576
578
583
589
590
591
592
594
596
596
590
576
573
571
567
558
556
555
554
551
550
549
544
541
541
540
540
539
541
552
555
555
541
537
530
524
531
532
537
542
543
540
538
532
530
531
532
533
534
534
536
544
547
550
551
553
556
557
558
558
559
562
581
584
588
607
607
605
604
604
604
603
603
603
603
603
603
603
603
603
603
604
604
604
604
605
605
615
617
617
618
621
624
632
632
632
631
629
629
629
630
630
630
629
627
626
626
624
624
623
622
621
619
617
617
617
617
617
617
617
617
618
618
622
624
625
626
630
633
634
635
635
635
635
636
637
638
640
639
637
632
631
630
631
633
643
644
648
651
653
657
656
655
652
653
654
655
657
658
660
661
669
671
672
673
674
675
676
677
679
679
679
679
674
651
644
642
642
642
642
642
642
642
649
650
659
660
663
662
661
659
658
654
652
650
647
644
642
638
636
636
636
635
635
634
633
632
629
627
626
626
621
619
616
614
609
593
590
583
576
575
574
570
568
567
566
566
565
562
561
559
563
567
569
571
572
576
577
579
580
579
579
578
577
577
576
573
572
567
564
561
560
558
557
560
563
560
559
556
552
550
549
547
542
537
533
521
515
509
504
504
504
504
504
503
503
503
503
503
502
502
497
497
496
491
491
491
491
491
491
490
490
481
482
481
480
479
479
477
475
472
465
458
447
440
435
427
419
415
412
411
410
410
407
405
406
406
407
408
409
410
413
416
423
424
425
427
429
427
423
420
418
417
417
416
415
414
412
411
411
411
410
410
410
410
410
408
407
406
405
404
403
401
393
392
391
388
388
388
388
388
388
388
388
388
388
387
387
386
386
386
386
385
385
384
383
382
381
381
381
380
380
380
380
380
380
380
380
380
379
378
378
377
375
372
371
371
370
369
367
366
361
360
360
360
360
361
363
363
363
363
365
365
365
365
364
364
363
363
357
355
352
349
344
344
340
338
338
338
337
337
337
334
334
334
333
333
333
332
332
332
328
327
325
325
323
323
322
322
323
325
325
339
339
339
339
340
340
340
340
340
340
340
340
342
342
342
343
343
344
344
344
343
341
336
333
326
325
322
324
326
328
329
330
329
328
328
328
329
329
329
330
330
331
331
334
341
342
343
343
343
343
342
342
340
340
339
337
337
336
335
335
334
334
333
333
332
332
332
332
330
330
329
329
327
326
325
318
322
325
329
333
336
337
337
338
338
340
340
341
342
343
344
344
344
345
346
346
346
347
347
347
347
348
349
349
349
349
348
348
348
348
348
348
348
349
350
355
356
357
358
360
361
361
362
367
368
375
381
385
399
402
402
402
402
402
402
402
402
402
402
402
402
402
402
408
413
419
421
423
424
425
426
430
430
434
442
446
446
447
448
451
452
453
454
454
456
459
461
466
467
467
468
474
480
481
481
481
484
488
491
492
496
496
497
498
498
497
497
496
496
494
494
493
493
490
488
487
487
492
496
498
499
502
510
513
518
526
535
539
545
556
559
568
577
567
558
545
531
518
519
520
521
521
522
524
524
525
525
525
525
525
528
531
534
537
539
541
542
543
549
552
555
556
556
559
561
563
566
569
569
570
570
571
571
570
568
568
567
566
565
558
550
544
538
535
526
523
513
510
497
493
488
480
475
472
480
490
510
513
518
505
490
487
485
483
479
465
458
446
446
446
446
445
445
445
445
445
445
445
445
445
445
444