12
12
12
12
12
12
12
12
12
12
12
11
11
11
10
10
8
6
3
2
1
0
0
0
0
1
1
2
2
3
3
3
4
4
4
4
5
7
8
9
10
10
10
10
10
10
10
9
9
9
9
9
9
9
9
10
11
11
12
13
14
14
14
15
15
15
15
15
15
14
14
14
13
13
13
13
12
12
12
12
12
12
13
13
13
13
13
13
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
12
12
12
12
12
12
12
12
12
11
11
11
11
11
10
10
9
9
8
8
7
7
7
6
6
5
5
4
4
4
5
5
6
6
7
7
8
8
9
9
10
10
10
10
10
9
9
8
8
7
7
7
7
7
7
7
7
7
7
7
8
8
8
9
9
9
9
9
9
9
9
9
8
8
8
8
7
7
7
7
7
7
7
7
7
7
7
7
7
6
6
6
6
6
5
5
5
5
5
5
5
6
7
7
8
9
10
10
11
11
11
12
12
12
12
12
12
12
12
12
11
11
10
9
9
8
8
8
9
9
9
10
10
11
12
12
13
14
14
15
15
15
15
15
15
14
14
14
13
13
13
13
13
13
14
14
14
14
13
12
11
10
9
8
7
6
5
5
4
4
4
4
4
4
4
4
5
6
6
7
7
7
6
6
5
5
5
5
5
5
5
5
6
7
7
8
9
10
11
11
11
12
12
12
12
13
14
15
16
17
18
18
18
17
17
16
16
16
16
16
16
16
16
14
13
11
10
9
7
7
7
6
6
6
6
6
7
8
8
9
9
10
10
10
10
10
10
11
11
11
12
12
12
12
12
12
12
11
11
11
11
12
13
15
16
17
18
17
16
15
13
12
11
11
12
13
14
14
15
15
15
14
13
13
12
12
12
12
12
12
12
12
11
11
10
10
9
9
9
9
9
9
9
9
9
8
7
7
6
6
5
5
5
6
7
7
8
8
9
10
11
12
13
14
14
15
16
16
17
17
18
18
19
19
20
20
20
20
20
20
20
20
21
21
21
21
22
22
22
22
21
20
19
18
17
17
17
17
18
18
18
19
19
19
19
19
20
20
20
20
21
21
21
21
21
22
22
22
22
22
22
22
22
21
20
20
19
19
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
19
19
18
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
20
22
23
27
31
33
35
38
40
42
44
45
45
46
46
47
47
48
48
49
49
47
47
46
45
45
44
42
43
43
45
46
47
49
51
51
51
51
50
50
50
49
49
48
48
48
48
49
49
50
50
51
51
52
52
53
53
54
55
56
57
57
58
59
60
61
62
63
63
64
66
68
71
72
74
76
77
79
80
81
83
84
86
87
88
89
90
91
92
94
95
96
96
96
96
96
96
96
96
96
96
96
96
96
96
97
98
98
99
101
102
103
104
104
104
104
104
104
104
104
104
104
104
104
104
105
106
107
108
109
110
110
111
112
113
114
114
115
116
117
117
118
119
121
122
123
125
122
117
110
103
112
122
133
133
123
112
110
118
124
125
116
107
98
94
91
88
83
72
62
50
49
48
47
46
44
42
40
39
38
39
41
42
43
44
44
44
43
42
42
41
41
40
40
40
40
40
40
40
39
39
39
38
38
37
37
36
36
36
36
36
36
36
36
36
36
37
37
37
37
37
37
36
36
35
34
34
33
33
33
32
32
32
32
32
33
34
35
35
36
37
37
37
38
38
38
38
38
38
38
37
37
37
37
37
37
38
38
39
39
40
40
41
41
42
43
43
44
45
45
46
47
47
48
49
50
51
51
52
52
52
53
53
54
55
57
59
61
63
65
67
70
72
69
66
63
61
61
59
58
57
56
55
54
55
57
59
61
63
65
67
69
71
73
75
77
79
79
79
79
79
79
79
79
79
79
79
77
74
72
70
69
68
66
64
62
61
59
58
55
53
52
50
49
49
48
47
47
46
45
44
44
44
44
44
45
45
45
45
46
46
46
47
47
47
48
48
48
48
49
49
50
50
50
50
51
51
51
52
52
53
53
53
57
62
66
70
75
81
83
84
85
87
88
89
91
93
94
96
97
98
99
101
102
103
105
106
107
109
110
112
113
114
109
104
99
95
91
85
81
79
77
74
72
69
67
65
65
65
66
66
66
67
67
68
69
71
72
74
75
77
78
80
82
84
86
88
90
92
93
91
90
89
88
87
87
86
87
89
91
94
96
99
101
104
106
102
100
96
91
86
81
78
75
72
73
74
75
75
76
77
78
78
80
85
87
90
92
89
84
79
76
73
70
67
64
63
61
60
58
57
55
53
52
51
51
51
51
51
51
51
51
51
51
51
50
50
49
49
49
48
48
49
49
50
50
50
49
49
48
48
48
47
47
47
47
47
47
47
47
47
47
47
48
48
48
49
49
49
49
50
50
51
52
53
53
54
55
55
55
55
54
54
54
53
53
53
52
51
50
49
49
48
47
47
47
47
47
47
47
47
47
47
47
47
47
48
49
49
50
50
51
52
52
52
53
53
54
54
54
54
54
53
53
52
52
51
51
51
50
50
50
49
49
49
49
49
48
48
48
48
48
48
49
50
51
52
53
54
55
55
55
55
54
54
54
53
53
53
53
54
54
55
56
57
58
59
60
61
62
64
65
67
69
71
73
75
77
78
80
82
84
85
84
83
82
81
80
79
78
78
79
80
82
83
84
85
87
88
90
91
93
94
93
87
85
83
81
77
76
72
68
66
66
66
66
67
67
68
68
68
69
69
69
70
70
71
71
71
72
72
73
73
74
74
75
75
75
75
74
74
73
72
71
70
70
70
72
74
77
79
81
83
85
86
85
84
82
81
80
78
76
76
75
74
74
73
73
72
72
71
71
70
70
70
69
69
68
68
67
66
65
63
62
60
59
60
62
65
67
67
67
68
68
68
68
67
66
65
65
66
68
69
70
71
72
75
76
79
81
84
86
89
90
90
90
91
91
91
91
90
89
88
87
87
85
85
84
82
81
80
80
80
81
81
82
82
82
80
78
77
75
74
74
74
73
73
73
73
73
73
73
73
73
73
72
71
70
69
68
67
67
67
67
67
68
68
68
69
69
69
69
69
69
69
70
71
71
72
72
73
74
74
75
75
76
76
77
77
78
78
79
80
80
80
81
81
82
82
82
81
80
78
77
82
86
91
95
101
106
110
113
117
121
124
128
131
134
138
143
147
152
153
151
150
147
144
141
137
135
134
133
132
132
130
127
124
121
117
113
110
107
104
102
99
97
96
96
97
98
98
99
99
100
100
100
100
99
98
97
97
96
96
95
94
93
93
92
91
91
91
91
91
91
91
90
90
90
90
90
90
89
89
88
88
87
86
86
85
84
83
83
82
82
83
84
85
86
87
88
88
89
90
91
92
93
93
93
92
91
91
90
89
89
88
88
87
87
86
86
86
86
86
86
86
85
85
85
85
85
85
85
87
88
90
91
92
94
96
98
99
101
102
103
105
106
106
106
105
105
104
104
104
103
103
102
102
102
101
100
100
100
99
99
99
98
98
98
98
97
97
97
97
97
98
98
99
100
101
101
102
103
103
104
105
106
107
108
109
110
112
113
114
116
117
118
119
120
120
120
120
120
120
120
120
120
120
120
120
120
120
121
125
129
134
139
143
148
152
156
160
163
164
165
166
167
167
168
169
170
170
171
171
171
170
170
169
168
168
167
166
165
164
164
163
162
161
160
158
157
155
151
146
140
135
129
128
132
136
141
145
142
140
137
135
133
133
133
134
134
135
135
135
136
137
138
139
140
140
140
140
138
134
130
126
129
136
144
152
147
141
135
135
138
140
151
168
185
202
198
194
189
186
189
193
196
199
200
186
174
163
153
143
136
133
131
128
126
124
121
120
121
121
122
123
123
124
125
125
125
125
125
125
125
125
125
125
124
124
124
124
124
124
124
124
124
124
124
125
125
126
126
127
128
128
129
129
129
132
134
137
139
141
143
145
147
148
150
151
153
154
154
154
154
154
154
155
155
155
155
155
155
153
150
148
146
144
139
136
132
130
127
124
122
120
120
119
119
118
118
118
117
117
116
116
117
118
121
123
124
126
128
129
131
132
133
135
139
141
143
145
148
151
154
156
159
162
165
167
169
169
168
168
167
167
166
166
165
164
164
163
162
161
159
156
153
150
146
143
144
145
146
147
147
146
144
143
142
141
140
138
136
134
133
131
129
128
126
125
123
123
123
125
126
127
128
152
152
152
152
153
155
156
158
160
161
163
165
166
170
174
180
186
192
198
204
210
216
218
219
221
222
224
225
226
227
224
222
219
217
215
213
212
211
210
211
212
213
215
216
218
219
220
221
221
221
221
221
221
221
221
221
222
222
224
225
226
226
227
228
229
241
243
244
246
249
251
254
257
260
263
265
266
268
269
270
271
271
270
269
269
268
267
267
267
267
268
269
269
270
270
271
271
272
272
272
272
272
272
272
272
272
275
282
286
291
294
294
290
288
286
284
282
280
272
259
246
235
230
227
224
219
214
213
212
211
213
222
231
240
250
258
264
271
278
284
290
289
288
287
286
285
273
262
252
240
232
223
217
211
209
209
208
208
206
204
203
202
202
203
205
206
208
210
211
212
215
218
220
223
226
228
229
232
235
236
238
240
242
244
245
245
244
244
243
243
242
241
240
242
243
244
246
249
252
255
257
259
262
264
264
266
267
267
268
269
272
275
277
279
281
284
286
288
290
293
295
297
300
303
306
304
301
298
295
289
285
278
273
267
262
256
257
259
260
262
264
264
263
263
262
262
262
262
262
262
262
262
264
270
274
278
283
287
287
284
279
275
271
269
270
271
272
274
274
272
271
269
267
266
269
271
274
277
281
284
288
292
296
300
304
308
311
314
316
318
321
323
323
316
308
300
293
286
280
276
274
271
268
265
262
262
264
267
270
273
276
278
279
280
281
282
283
283
284
285
285
287
290
293
296
299
302
305
309
314
320
325
325
324
323
322
321
319
318
317
314
310
306
301
297
294
290
288
287
286
285
284
283
282
281
281
280
279
279
281
283
284
286
288
290
292
293
295
297
298
300
301
301
302
302
302
303
303
303
304
304
305
305
306
306
308
309
310
312
313
314
316
317
318
319
321
322
320
316
313
310
307
304
301
297
294
290
288
285
283
280
278
276
274
273
270
268
266
264
262
260
258
256
255
253
258
263
267
271
275
285
289
294
299
304
308
313
319
324
328
331
334
338
340
343
346
349
352
355
357
360
360
361
362
363
364
365
366
367
368
369
370
371
373
374
375
376
377
378
379
380
381
382
383
384
383
380
377
375
372
369
367
364
362
360
357
355
353
351
350
349
348
347
346
346
345
344
343
342
341
340
340
340
342
344
345
347
348
350
352
353
355
358
360
361
362
364
365
366
367
368
369
370
371
372
373
376
380
383
387
391
393
395
400
403
407
408
409
409
410
412
413
415
418
421
424
426
429
431
434
439
443
446
450
455
461
464
464
463
462
462
462
461
461
458
456
452
449
445
440
438
441
443
445
447
449
451
452
453
454
454
455
456
457
457
458
458
459
459
458
457
456
455
454
454
453
452
451
450
450
449
449
448
448
448
448
447
447
447
446
446
446
445
445
445
448
451
453
458
462
465
468
471
475
481
487
482
477
473
475
479
483
485
486
490
492
493