4
4
4
4
4
5
5
5
5
5
4
4
3
3
3
3
3
3
4
5
5
5
5
5
5
5
5
6
6
6
7
8
8
8
8
8
7
7
7
7
6
6
6
6
6
6
6
7
7
7
7
5
4
4
4
3
3
2
2
2
2
9
9
9
9
9
9
9
9
9
10
10
11
11
11
11
11
11
11
9
8
8
7
7
7
7
8
9
12
14
15
15
15
15
14
13
12
11
10
9
8
7
7
7
6
6
5
4
3
3
3
3
3
4
5
4
3
1
1
1
1
1
2
3
5
7
7
7
10
16
17
19
21
21
21
20
18
18
18
18
18
18
18
18
18
19
19
18
18
18
17
17
17
17
18
19
20
20
20
25
35
36
32
30
29
28
28
26
26
25
25
25
25
23
23
23
15
15
14
15
15
17
19
20
21
24
29
31
31
32
35
37
38
39
41
42
43
45
45
46
46
50
51
52
56
57
58
60
62
59
58
56
56
56
55
53
53
53
52
52
52
51
49
48
47
47
46
46
46
45
41
41
41
40
39
39
36
36
35
35
34
34
33
29
29
28
27
27
26
23
23
18
18
18
18
18
18
17
15
15
15
14
14
13
12
11
11
13
15
18
21
19
12
12
11
12
13
13
13
13
13
13
13
13
13
12
12
11
11
11
11
12
12
12
13
13
13
13
13
13
13
15
16
17
17
17
16
16
15
15
15
15
15
16
16
16
17
16
16
16
16
16
16
16
16
16
16
16
16
16
19
20
21
21
17
17
17
17
21
22
22
24
25
25
23
23
23
25
26
27
27
27
21
21
22
23
23
23
23
23
23
23
22
20
15
14
14
14
14
14
17
19
21
22
23
24
23
21
20
20
22
23
22
21
21
20
19
18
18
19
20
20
20
20
19
18
18
17
15
15
14
14
12
12
12
13
13
13
13
13
11
10
11
11
10
13
14
16
22
25
28
33
34
35
37
38
39
39
39
40
41
41
42
42
42
44
44
44
44
44
44
44
44
45
46
54
57
61
63
64
70
71
72
74
75
76
77
77
78
79
86
91
93
94
95
96
100
103
103
104
104
105
105
107
108
108
109
109
109
116
119
120
121
123
125
127
134
138
139
141
143
143
143
143
142
141
141
141
141
141
141
141
142
143
143
148
149
142
142
142
142
141
139
137
137
136
132
122
121
120
120
117
115
114
113
112
104
103
102
98
96
95
94
91
87
87
86
83
83
82
80
77
76
76
74
71
68
66
66
65
64
59
57
56
55
54
53
53
52
51
50
50
49
47
39
30
28
25
24
24
22
22
22
21
20
20
19
18
17
15
15
19
22
24
25
25
24
24
23
23
22
22
21
15
15
15
14
14
14
14
15
15
15
15
16
16
16
16
16
16
17
17
17
18
18
18
19
19
19
19
17
14
14
15
16
17
18
17
16
13
13
13
14
14
14
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
12
12
12
12
12
12
12
12
13
13
13
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
15
15
17
16
16
16
16
17
17
17
17
17
17
17
15
15
15
15
15
16
16
15
15
15
15
15
15
16
17
15
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
19
19
19
18
18
18
17
17
17
17
17
17
17
17
17
17
17
17
17
18
20
15
15
15
15
15
15
16
17
17
17
19
20
21
26
29
30
32
38
42
46
48
50
55
55
56
58
62
64
65
66
67
67
69
69
70
72
74
77
79
79
81
83
86
87
89
91
94
96
98
99
99
100
106
116
120
124
128
131
137
141
143
150
152
155
163
166
170
172
174
176
190
199
205
210
217
222
224
225
226
228
230
233
236
246
261
261
262
263
265
266
268
268
269
270
273
274
276
277
278
280
280
281
281
284
284
285
286
286
287
290
291
293
294
294
296
297
300
301
302
303
304
305
306
307
309
310
311
318
320
324
327
328
329
331
334
334
334
334
332
330
327
328
329
330
335
336
338
340
341
345
350
352
353
354
355
359
362
367
369
369
367
366
365
364
363
361
358
357
356
356
358
358
357
355
355
355
356
356
357
357
358
358
359
358
357
356
356
355
352
350
349
347
344
342
340
339
338
335
333
332
332
330
329
328
327
326
326
326
327
328
332
340
344
346
347
347
353
355
356
366
367
368
370
372
373
375
378
379
381
381
382
380
378
376
372
368
368
369
369
369
369
369
369
369
369
368
368
368
368
369
370
370
371
371
371
365
364
363
362
360
360
360
360
358
357
356
352
354
355
356
358
358
361
366
368
372
372
374
374
374
372
371
370
369
369
369
370
370
371
371
372
372
373
373
372
372
368
364
364
368
369
370
373
375
379
381
386
389
390
391
388
381
380
379
378
378
378
377
377
376
376
376
376
376
377
376
376
368
361
360
359
359
359
359
358
357
357
356
356
353
351
350
339
336
329
327
326
326
326
326
326
326
323
320
318
318
315
312
310
308
304
300
297
291
285
280
277
276
275
270
268
267
265
259
258
256
253
250
248
247
247
246
240
236
236
234
230
221
212
196
188
189
189
188
177
175
172
170
168
166
164
161
137
131
124
122
116
115
113
111
108
106
104
104
104
103
98
96
92
83
78
73
70
66
64
56
54
49
48
46
45
45
44
42
41
41
39
39
38
37
37
37
37
37
41
41
41
41
41
42
42
44
44
44
44
44
43
43
43
43
43
43
43
43
43
43
43
43
44
45
45
45
45
45
46
46
48
48
49
53
59
64
69
71
73
74
78
79
83
84
84
82
75
75
77
77
77
77
78
80
86
86
87
88
89
90
90
90
89
90
92
94
95
97
102
104
105
107
114
118
119
119
119
120
121
121
122
124
125
126
132
133
139
141
146
149
150
152
154
162
163
165
167
168
170
171
174
177
180
182
182
183
185
194
196
197
199
201
203
205
206
211
212
213
215
216
219
219
220
220
221
221
221
223
224
224
223
222
222
222
225
229
232
236
239
240
243
245
244
243
242
242
239
239
239
239
241
245
247
248
248
247
247
247
247
247
247
246
245
244
244
244
245
246
247
250
252
250
248
246
243
242
242
242
242
237
235
232
231
230
228
226
223
223
223
222
222
221
221
221
221
218
217
215
214
214
214
214
214
214
205
199
198
197
194
192
191
190
188
182
175
174
173
171
170
169
164
162
161
156
156
156
156
157
160
160
160
160
160
161
161
161
160
160
160
160
160
160
159
157
154
155
157
159
160
160
158
157
156
153
152
151
151
152
153
154
157
157
156
155
154
152
152
151
151
151
152
153
153
153
153
152
151
150
150
149
149
146
147
151
153
148
148
147
146
146
146
144
144
148
148
148
148
148
148
148
148
149
151
152
154
152
150
148
140
137
134
133
131
129
128
126
119
118
115
114
113
113
113
113
113
111
110
110
107
104
104
106
107
108
110
110
110
109
108
106
102
99
93
91
89
85
84
82
79
76
74
73
72
70
68
68
68
68
66
65
62
60
59
55
54
51
51
50
45
44
44
44
40
38
38
38
36
35
35
33
31
30
29
28
27
24
24
24
24
24
30
30
30
31
31
31
30
29
27
26
26
26
26
26
26
26
27
27
28
28
28
28
28
28
28
28
29
29
30
30
31
31
37
41
42
44
47
49
50
53
66
69
76
79
83
86
92
95
98
100
101
103
103
105
105
106
110
117
121
124
133
136
141
142
143
144
146
147
147
148
148
149
149
149
150
152
153
155
157
165
170
172
174
176
174
173
175
177
180
181
183
191
193
195
198
200
207
209
209
208
208
208
208
209
210
211
212
214
216
217
217
222
228
235
241
243
247
248
254
256
258
261
261
261
262
262
263
264
266
267
267
269
272
275
278
284
285
288
288
289
291
291
291
291
291
291
291
291
291
291
292
292
291
290
289
289
290
291
292
292
293
294
294
294
294
295
297
298
315
317
322
323
324
324
325
325
326
326
326
326
326
325
325
324
324
324
324
325
325
326
326
327
327
328
328
328
327
325
325
323
317
313
314
320
326
330
331
334
334
336
337
337
338
337
336
336
337
337
339
339
335
334
333
331
328
326
322
317
314
310
306
304
297
296
294
292
292
292
292
290
285
275
257
250
246
240
228
226
222
221
221
218
217
215
212
205
200
195
195
195
195
195
195
195
195
189
187
185
169
168
166
155
145
130
124
114
111
104
101
100
98
94
87
85
78
77
76
74
74
73
72
71
67
66
61
56
55
51
50
50
50
49
49
48
47
44
41
35
28
24
24
24
27
27
27
26
25
25
25
26
28
29
29
29
29
29
29
30
32
32
32
30
30
29
29
29
30
30
31
30
28
26
25
25
25
28
33
36
38
42
44
44
44
44
44
45
48
50
52
54
56
57
60
62
64
66
73
75
78
81
83
88
90
93
95
96
98
102
105
110
116
119
121
123
127
128
130
132
134
143
148
154
164
182
186
186
187
190
192
193
194
195
197
199
199
199
199
200
201
202
202
203
204
205
207
209
213
215
225
226
228
229
231
236
242
252
257
259
266
271
273
277
283
288
292
296
302
306
308
308
308
309
309
309
312
314
316
322
325
333
346
350
356
355
355
354
354
356
357
358
359
360
361
361
362
360
359
357
356
355
354
354
355
356
357
358
360
364
367
369
371
376
377
381
381
381
384
387
389
392
394
395
395
396
398
399
400
401
402
403
404
404
406
406
407
407
408
408
410
411
412
413
414
419
425
428
429
429
419
417
415
415
415
413
411
408
407
407
406
406
405
405
405
406
406
403
399
397
395
393
392
391
390
388
388
388
387
387
387
387
386
386
386
386
386
386
387
387
387
386
385
384
383
382
381
380
379
377
374
372
369
366
365
363
363
363
362
362
361
361
360
360
359
358
358
358
358
358
358
358
358
358
358
358
358
357
356
354
354
353
352
348
347
346
345
343
341
334
333
332
329
327
322
319
315
314
313
312
310
310
309
306
296
292
288
286
285
285
284
284
283
283
282
282
281
280
279
279
279
278
277
277
276
275
273
271
270
270
269
268
266
266
264
262
262
262
264
272
276
281
284
284
285
285
285
285
285
285
285
285
285
285
285
287
287
288
288
287
277
273
270
266
262
256
254
253
252
252
251
243
237
229
223
222
221
220
217
210
208
207
207
205
193
190
188
183
182
181
180
177
177
172
171
170
168
166
164
159
156
150
147
134
132
129
126
124
122
120
116
102
100
98
96
95
89
86
86
86
83
78
74
72
70
69
69
69
69
69
68
68
68
68
69
70
71
72
73
74
78
85
86
86
87
88
90
93
94
97
99
101
105
108
114
115
121
126
129
129
129
129
133
137
139
144
146
147
148
151
157
157
157
158
159
160
161
158
158
156
156
156
156
156
157
158
160
160
160
164
166
167
167
167
167
167
162
162
160
159
158
157
156
155
150
149
149
145
142
143
147
149
152
149
148
147
146
145
134
132
131
131
131
131
131
131
130
129
128
126
124
124
119
117
112
108
104
102
98
95
89
88
86
84
84
83
80
73
71
57
51
48
47
47
46
43
41
40
38
35
32
31
30
30
26
18
17
17
16
16
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
14
14
14
14
14
13
13
13
11
12
12
12
12
13
12
11
13
13
13
12
13
12
13
12
12
15
13
11
12
12
12
12
13
13
13
13
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
12
12
12
12
12
12
12
12
11
11
11
11
11
11
11
10
10
10
11
11
12
11
11
11
11
11
11
11
11
11
10
10
10
10
10
10
10
10
10
10
9
10
11
11
11
11
11
10
10
10
9
9
9
9
10
10
11
11
12
11
10
11
11
11
11
11
11
11
11
11
14
16
16
16
16
16
16
16
16
16
17
18
21
22
23
23
23
23
23
25
25
25
25
30
31
34
35
39
41
49
53
56
60
62
64
66
66
67
68
72
74
74
74
75
75
75
75
76
77
79
81
85
87
88
89
90
90
91
91
92
92
92
93
99
101
104
106
107
107
111
111
112
112
112
114
115
118
121
123
123
123
123
123
125
126
127
127
128
128
130
131
132
132
132
132
132
132
132
129
129
128
127
126
126
125
123
123
123
122
121
122
123
125
125
126
126
132
135
139
141
142
143
146
147
147
151
153
162
164
166
175
181
183
187
189
191
195
196
197
198
201
201
203
203
204
206
208
208
209
210
216
218
222
222
226
227
228
229
230
230
229
227
226
226
226
226
226
226
226
226
228
231
232
235
239
240
241
242
243
247
249
250
250
250
250
250
250
250
250
251
253
258
262
263
264
264
265
265
265
267
267
267
268
269
269
269
269
270
271
272
273
274
274
276
277
280
281
281
280
279
279
289
290
289
289
289
290
290
291
293
293
293
293
293
294
295
295
296
298
299
298
297
296
296
294
291
289
286
285
281
281
279
279
278
278
277
277
276
274
271
266
259
247
246
245
243
241
237
235
229
225
218
215
206
205
204
199
198
197
195
194
191
190
189
189
191
192
194
194
195
195
196
196
195
194
193
191
191
190
188
188
188
187
187
186
181
178
168
165
165
164
163
163
163
162
160
157
155
154
148
147
145
144
143
141
138
135
134
128
127
127
126
125
123
122
121
121
120
117
117
117
116
116
115
115
115
114
114
114
115
115
115
115
115
115
114
114
114
114
115
115
116
115
114
114
112
111
108
108
106
104
102
98
95
91
86
82
81
79
77
75
71
70
69
67
61
58
57
55
48
45
35
31
29
24
24
24
23
23
22
21
21
21
19
19
19
19
18
17
15
13
13
13
13
13
13
12
12
10
11
9
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
8
8
9
9
8
8
8
7
7
7
7
7
7
7
8
8
9
9
9
9
8
8
8
8
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
6
6
6
6
7
9
11
10
10
9
9
9
8
8
8
8
8
8
9
8
8
8
9
8
9
9
9
9
9
9
9
9
9
9
10
10
10
11
14
14
13
13
13
12
12
11
11
11
11
11
11
11
12
12
12
12
12
13
14
14
16
15
13
12
10
9
9
9
9
9
9
13
14
14
14
15
15
16
16
16
16
15
13
12
11
7
5
5
5
5
5
5
6
5
5
6
7
8
12
12
12
11
11
10
7
6
6
6
5
5
5
5
5
5
5
5
5
6
6
6
6
5