4
4
4
4
5
6
6
7
7
6
3
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
3
3
3
3
3
2
2
2
2
3
4
4
4
1
1
1
1
1
2
2
2
2
4
4
5
6
6
6
6
6
6
6
6
5
5
5
4
4
4
4
4
4
4
5
5
5
4
4
4
4
4
4
4
4
5
6
6
6
7
7
8
8
8
7
7
7
7
8
8
8
8
8
8
8
8
8
8
9
10
10
10
11
11
11
11
11
11
12
13
13
13
14
14
14
14
14
14
15
17
18
18
18
18
18
18
18
18
18
18
18
19
20
21
21
21
22
23
24
26
27
27
28
29
29
29
29
33
33
33
33
33
33
32
30
29
35
36
37
38
39
40
40
40
40
40
41
46
47
48
49
50
52
53
53
55
55
55
54
54
54
55
55
55
55
56
56
56
57
58
59
62
63
63
65
70
73
75
77
79
79
79
80
81
81
81
82
83
83
86
88
91
92
92
92
93
93
93
94
96
96
103
109
116
117
117
118
118
121
121
121
122
122
122
123
123
123
123
123
123
123
123
123
123
123
122
122
122
122
122
122
122
123
124
124
124
124
124
124
124
124
124
124
124
123
122
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
121
121
122
123
124
126
129
130
130
131
131
133
134
135
140
140
140
140
140
140
140
140
140
140
140
141
142
142
143
143
144
144
144
144
144
145
145
145
147
147
147
148
148
148
148
148
148
148
148
148
148
150
150
150
151
153
154
154
158
158
159
159
159
159
159
159
159
159
159
159
159
159
160
160
160
160
160
160
160
160
160
160
160
160
162
163
167
168
169
170
174
175
176
177
178
179
179
180
180
180
180
181
181
181
182
183
188
196
200
213
216
217
218
217
218
218
218
218
218
218
218
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
221
226
225
225
224
223
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
221
221
222
222
223
224
224
225
225
225
226
226
226
227
227
227
228
228
228
228
228
228
228
228
229
229
229
229
229
229
230
230
230
230
230
231
231
231
234
235
235
235
235
235
237
237
238
238
238
237
237
237
236
235
235
233
232
231
230
229
229
228
228
227
227
227
227
227
226
226
225
225
225
225
225
226
227
227
227
229
230
231
231
231
231
231
231
231
231
231
231
231
229
227
227
228
229
229
229
229
228
228
227
227
227
228
228
230
228
227
225
225
223
221
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
219
218
218
217
216
216
214
206
204
198
196
195
193
191
189
185
182
181
180
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
181
182
184
184
184
184
184
184
184
184
184
183
182
180
179
179
179
178
176
176
173
172
168
164
162
161
160
159
159
159
159
159
158
158
155
154
153
153
151
149
148
148
148
149
150
151
151
152
152
153
154
154
155
155
155
155
156
158
159
159
159
159
159
159
159
160
160
161
161
161
162
162
172
178
180
180
180
180
180
180
180
180
180
180
180
180
180
181
182
182
183
183
183
183
183
183
183
184
184
185
186
187
187
189
189
190
192
194
196
196
196
198
199
199
199
199
200
202
204
206
208
208
207
205
203
200
199
201
202
202
199
199
199
199
199
199
199
199
199
199
199
200
200
200
200
202
202
203
207
210
214
216
209
202
200
199
198
196
192
192
190
184
177
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
158
158
158
158
158
160
160
162
164
165
165
165
165
161
159
159
164
166
166
167
168
168
169
170
174
175
178
178
182
183
185
186
188
189
190
190
191
192
192
193
194
194
194
194
194
192
191
190
189
187
185
183
181
181
179
179
179
179
179
181
183
185
186
187
189
190
190
183
181
179
176
167
161
160
159
158
158
159
161
163
163
163
162
161
160
160
139
137
136
135
135
135
132
130
130
130
130
130
131
132
132
132
132
132
133
133
133
134
134
134
135
135
136
138
140
141
141
142
142
142
143
143
143
144
144
146
149
149
151
152
152
155
157
158
160
163
164
166
167
168
170
170
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
181
181
182
182
182
183
183
183
184
187
189
189
189
189
190
190
190
190
190
191
191
192
192
192
192
192
192
192
192
192
192
191
191
190
190
189
189
189
189
189
189
190
190
190
190
190
188
187
185
185
184
183
182
182
182
182
182
182
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
182
182
182
182
182
183
183
184
184
184
184
183
183
183
183
182
182
181
181
180
180
180
179
179
179
179
178
177
175
173
170
169
168
168
167
163
162
161
160
160
160
160
160
160
161
161
161
160
160
160
160
160
160
160
160
160
160
160
159
157
157
155
153
151
150
150
149
148
148
148
147
147
146
146
146
146
146
146
147
148
148
149
150
150
152
153
153
153
153
153
153
153
153
154
154
155
155
156
156
157
157
158
160
160
160
160
160
160
162
166
168
170
174
175
167
166
166
164
162
161
160
160
160
160
160
166
166
173
175
176
177
177
177
178
179
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
183
184
184
190
191
192
194
196
196
198
199
200
201
202
202
204
204
204
204
204
204
204
205
206
206
206
207
208
209
209
209
213
213
214
215
216
218
219
221
222
226
227
228
229
230
231
232
233
234
234
234
236
239
239
240
241
242
244
245
247
247
246
245
244
243
242
241
239
238
237
237
236
236
236
237
237
238
240
240
240
240
240
240
240
240
242
243
247
249
258
259
263
282
283
285
287
289
291
290
288
287
287
286
286
290
292
294
299
301
302
302
302
302
302
301
301
300
300
299
298
297
297
298
299
300
301
301
301
301
301
301
301
301
302
304
305
306
308
315
316
318
318
319
319
320
321
324
332
333
334
335
342
347
352
355
357
364
370
372
373
375
384
389
395
399
401
412
432
453
451
451
451
449
447
446
444
443
443
443
443
444
444
445
446
447
449
450
450
450
449
448
445
444
441
440
440
440
440
440
440
440
440
442
443
443
443
444
444
446
447
447
447
448
449
452
453
455
465
466
467
468
471
472
472
472
472
473
473
476
477
478
479
479
482
482
483
484
487
488
496
497
499
499
499
499
499
499
504
508
508
508
508
508
508
505
505
504
504
504
503
503
502
502
501
501
500
497
495
491
489
486
484
483
472
471
469
468
466
465
464
461
459
459
459
458
457
457
457
456
453
453
452
452
450
451
452
452
453
455
456
458
461
461
461
461
458
457
456
451
447
445
445
444
444
443
442
441
439
435
431
428
427
421
412
408
401
399
395
391
388
386
385
384
384
384
384
382
381
373
371
369
367
366
364
362
359
357
355
351
350
348
346
343
335
334
335
336
336
337
336
335
334
333
333
332
331
322
289
284
281
280
280
280
280
280
280
280
280
279
278
276
273
271
255
252
245
244
243
242
241
240
240
240
240
242
242
242
242
242
241
241
241
241
239
234
234
234
234
233
233
233
233
231
228
227
226
223
222
222
221
219
219
219
218
218
217
217
217
217
217
216
216
216
216
216
216
215
215
215
214
214
214
215
215
215
215
215
215
215
216
217
218
219
221
221
221
220
224
225
223
226
227
227
225
223
221
220
220
221
221
221
220
220
220
220
220
220
219
219
219
219
217
217
217
217
217
216
216
216
216
216
216
216
216
216
217
219
219
219
220
220
222
223
225
231
232
233
237
239
239
240
240
240
240
240
240
241
243
243
244
244
246
247
248
248
248
247
246
246
244
244
242
241
240
239
239
239
239
239
239
239
239
239
239
239
239
240
242
243
243
243
244
247
248
248
249
249
249
249
249
250
250
250
250
250
250
250
250
251
251
251
251
251
251
251
251
251
251
250
250
250
250
249
248
248
243
242
241
240
240
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
240
240
240
243
245
247
248
248
248
248
248
248
245
244
242
242
241
239
239
239
239
239
239
239
240
240
240
240
241
244
245
243
242
239
236
236
236
236
233
233
234
235
235
235
235
235
237
237
237
235
233
225
224
223
223
223
223
223
223
223
224
228
228
227
225
223
222
222
221
221
221
221
220
220
219
216
218
218
218
218
213
212
212
207
207
206
205
205
205
205
203
203
202
200
199
197
195
193
193
194
195
190
189
188
187
187
187
187
187
187
187
187
187
186
185
185
185
186
186
186
186
186
185
184
184
184
184
184
184
184
184
184
184
184
185
186
186
187
189
189
190
191
192
194
195
195
196
197
197
197
196
195
195
195
197
197
197
197
197
197
197
197
198
198
198
198
198
198
198
198
198
198
198
198
198
199
199
199
199
199
199
199
200
200
200
200
200
200
201
201
201
201
202
202
202
203
204
205
206
206
207
208
208
209
211
211
215
217
218
218
219
220
221
222
223
229
229
233
233
237
238
238
237
236
236
235
234
234
232
232
230
228
227
227
227
225
225
223
222
221
219
218
218
217
216
215
215
215
215
215
215
215
215
215
215
215
214
214
214
214
213
213
212
210
210
210
211
212
210
209
207
207
207
207
207
207
207
207
207
206
206
206
206
206
206
206
206
206
206
206
205
204
203
202
201
200
200
200
200
200
200
200
200
200
200
200
199
198
198
198
198
198
198
198
198
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
198
198
198
198
199
199
199
199
199
198
198
198
198
198
198
198
198
198
198
198
199
199
199
200
201
203
206
208
210
212
214
216
219
220
220
220
220
221
226
230
236
237
238
239
239
239
238
238
238
238
238
238
237
237
237
236
236
229
228
225
224
220
220
220
219
218
213
214
216
216
213
212
208
205
200
200
200
200
200
200
200
200
200
200
199
199
199
200
200
200
200
200
200
199
198
197
197
197
197
196
196
196
195
195
195
195
195
195
195
195
195
195
195
195
196
195
195
195
195
195
195
195
195
195
195
195
195
196
196
196
196
197
197
204
204
204
203
203
202
202
201
201
201
201
201
201
200
200
200
200
200
200
200
200
201
203
206
207
207
207
208
208
208
208
209
210
211
211
212
213
215
217
218
219
220
220
220
220
220
220
220
220
220
220
220
220
221
221
221
222
222
223
223
224
224
224
225
228
228
230
234
231
230
229
228
229
230
230
233
233
237
238
238
239
239
239
239
239
239
239
239
239
239
238
238
238
238
238
238
239
239
241
248
249
245
243
241
239
237
236
235
234
230
230
230
229
229
226
225
225
225
224
223
223
222
222
221
221
220
220
220
220
220
220
220
220
220
220
220
220
220
220
225
226
226
225
224
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
219
218
218
218
218
218
218
217
217
217
217
214
208
204
200
199
185
182
179
179
179
179
179
178
178
178
177
176
176
175
174
169
168
167
166
162
162
161
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
159
159
159
158
157
157
153
153
151
150
150
150
149
149
148
148
148
148
148
148
148
148
148
148
146
144
144
143
143
143
143
143
143
143
143
142
142
141
140
140
140
140
140
140
140
140
140
140
140
139
139
139
133
132
130
130
128
127
125
124
122
122
122
121
121
121
121
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
119
119
119
119
119
119
119
120
120
120
121
121
121
122
123
123
123
123
123
123
122
122
122
122
122
122
122
122
122
122
122
122
122
122
123
123
123
123
124
124
124
123
123
123
122
122
122
122
122
122
122
122
121
121
121
121
121
121
121
120
119
117
115
115
114
114
105
101
100
96
93
92
92
92
91
91
90
87
86
81
80
80
79
79
78
78
77
77
74
72
71
68
62
61
61
60
57
56
55
55
55
55
55
54
54
54
54
54
54
54
54
51
50
50
49
48
47
46
45
40
39
39
39
39
39
39
36
36
36
36
35
29
30
30
28
26
24
23
21
20
20
19
19
19
19
18
18
18
18
18
18
18
18
18
17
17
17
17
16
15
14
14
14
14
13
12
12
12
12
12
11
10
9
9
9
9
9
9
8
8
8
8
8
8
8
8
8
8
8
9
9
8
8
7
7
7
8
9
7
6
6
6
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
7
7
8
8
10
10
10
11
12
12
12
12
13
13
14
15
15
16
17
17
18
18
18
19
19
19
19
19
19
18
18
18
18
18
15
14
14
14
13
12
11
10
9
8
5
4
4
4
3
2
2
2
2
2
2
2
2
2
2