107
107
107
109
109
109
109
110
110
110
109
109
111
109
108
107
107
107
107
107
107
107
106
110
107
108
108
108
108
109
108
108
108
108
106
107
107
108
109
109
109
109
103
109
109
107
105
104
111
110
110
102
102
108
112
112
112
112
114
114
114
113
111
111
112
111
108
110
108
109
106
106
107
103
103
103
103
97
97
97
97
99
97
97
97
97
98
97
96
94
94
93
94
93
93
91
92
90
91
91
92
91
90
92
90
92
89
89
90
89
92
93
93
93
94
92
91
91
93
93
94
94
92
91
90
90
90
90
90
90
90
89
89
89
91
90
90
90
87
87
87
87
87
87
87
89
88
88
87
86
87
86
86
85
87
87
87
87
86
86
86
86
86
84
83
84
84
82
82
82
83
84
82
84
84
84
84
84
84
84
84
83
85
85
84
83
83
83
83
83
83
82
82
82
82
82
82
83
82
82
82
82
82
82
82
81
81
81
81
80
80
81
81
81
81
80
80
82
83
81
82
83
84
84
85
85
86
86
86
85
85
82
81
81
81
80
79
78
79
78
78
78
79
78
78
78
78
77
77
77
78
77
77
78
78
76
77
76
76
76
77
76
76
76
76
77
77
78
78
78
78
78
78
78
78
79
79
79
79
79
78
77
78
80
78
80
79
78
78
77
79
76
76
77
77
77
78
78
78
78
78
78
77
75
77
76
76
77
77
77
76
76
77
76
75
74
76
76
76
80
81
81
77
78
77
78
79
78
78
80
77
77
77
77
75
74
74
78
78
77
75
75
79
81
82
79
78
75
75
75
76
77
77
76
77
76
76
76
76
77
77
77
77
79
80
81
82
81
80
79
79
78
78
79
78
78
80
81
80
80
80
79
80
80
81
80
80
79
79
80
80
81
80
80
80
78
78
78
78
78
78
78
78
77
77
78
78
78
79
80
80
76
77
79
79
78
75
75
75
76
76
77
77
77
78
78
78
78
78
79
79
80
80
79
80
80
81
81
81
81
81
81
81
81
80
79
77
78
77
78
78
77
78
77
78
80
80
81
81
81
80
80
80
80
80
79
80
80
79
78
78
78
77
77
75
75
78
77
77
77
77
75
75
80
79
77
80
76
77
78
78
78
79
79
79
80
80
83
83
81
81
82
82
82
83
83
84
83
83
83
83
83
83
84
82
83
84
82
82
83
82
83
83
83
85
86
85
87
88
88
85
85
85
86
86
86
86
87
84
85
86
86
87
87
87
88
88
87
86
87
87
86
89
89
90
91
91
92
92
92
92
92
92
94
100
100
100
100
100
100
101
101
101
102
103
103
103
104
103
103
106
105
105
107
111
113
111
111
112
113
113
113
113
113
113
113
115
112
117
120
120
122
120
118
118
122
120
123
126
125
122
122
123
123
122
122
123
122
130
127
127
126
125
125
124
124
124
125
125
125
125
125
126
128
129
129
129
130
131
132
132
132
134
137
137
134
134
129
130
132
135
135
133
133
131
131
131
134
133
134
128
129
131
132
129
126
126
126
126
126
126
125
125
125
125
125
123
122
123
122
122
122
122
121
122
122
122
122
120
120
120
119
119
119
119
119
119
122
119
121
120
120
120
119
119
119
119
119
119
119
120
121
122
122
122
120
121
121
120
118
119
119
119
120
120
120
121
120
122
122
122
122
123
124
124
123
124
125
124
124
128
128
128
129
129
129
127
128
129
131
131
130
128
128
128
130
133
131
131
131
130
130
130
133
136
136
137
139
140
139
139
139
138
139
135
131
131
130
130
129
126
125
125
124
119
113
110
105
107
108
109
109
108
108
108
108
108
108
107
107
109
109
109
109
109
107
108
105
108
105
100
98
97
96
96
96
96
96
96
97
99
100
97
97
98
93
93
96
99
100
100
100
99
98
97
97
99
99
99
99
102
102
100
99
98
100
99
98
98
97
85
84
84
84
85
86
86
86
86
87
87
85
86
85
85
85
86
87
87
87
87
87
87
87
87
87
87
87
86
86
86
86
87
85
87
87
84
87
87
86
86
85
87
85
86
86
85
86
84
86
86
83
84
84
84
85
85
87
86
89
91
86
87
87
87
88
87
87
87
87
87
89
88
88
87
86
87
88
87
88
88
89
89
89
89
89
90
89
89
89
89
89
89
89
89
89
89
89
89
90
88
88
88
88
90
91
92
92
96
96
95
94
92
89
90
89
90
92
92
92
90
89
89
89
97
99
99
99
101
105
115
119
122
127
139
139
139
136
137
137
137
137
137
138
138
140
142
143
144
145
146
150
142
141
137
133
132
131
131
133
137
146
149
149
150
150
151
147
146
117
117
117
117
118
117
117
120
123
127
129
133
150
168
170
171
172
174
177
179
180
181
181
179
174
167
148
143
127
122
120
120
119
118
117
120
119
117
117
121
122
123
125
126
127
129
131
133
139
140
143
146
147
149
152
165
170
171
172
173
174
188
187
186
187
188
193
193
194
196
201
215
215
219
224
224
225
225
227
228
226
227
228
227
227
227
222
221
222
220
217
210
198
199
189
185
182
175
168
167
167
163
162
160
159
153
150
151
146
146
143
137
133
130
135
135
145
143
151
151
158
156
159
163
170
172
173
174
176
179
180
182
183
184
185
197
200
195
195
197
201
209
209
210
217
212
207
202
202
200
197
195
195
194
172
154
157
160
158
156
150
146
144
142
136
132
126
121
117
113
108
109
110
111
111
112
113
117
118
113
110
109
109
111
119
114
119
117
122
120
118
114
113
113
121
113
113
112
111
112
113
111
113
116
118
120
118
117
116
113
111
112
113
115
118
122
123
118
117
118
119
124
132
134
125
125
116
115
113
112
111
109
108
108
116
118
118
118
117
116
115
113
110
112
112
113
115
124
125
122
118
116
113
112
108
108
110
112
111
110
111
111
106
109
110
114
115
113
111
113
115
115
113
115
112
113
113
112
112
113
113
115
114
112
111
112
116
117
117
116
115
114
114
119
120
125
126
126
133
138
139
139
138
137
137
136
128
119
117
117
129
131
147
148
147
147
142
140
133
142
144
145
145
133
129
118
121
127
129
127
130
130
126
126
126
127
124
123
122
122
119
129
132
135
137
138
128
121
121
121
119
120
120
118
120
121
124
124
123
124
124
122
122
122
124
125
126
133
131
132
130
125
120
117
119
120
122
122
130
130
130
131
132
132
133
133
131
131
124
123
132
136
135
135
134
135
131
124
125
125
125
123
123
122
119
119
122
123
125
126
126
127
127
133
125
119
118
128
132
137
138
139
138
138
137
135
135
140
141
141
141
140
138
134
121
125
127
128
129
130
139
139
138
136
134
134
132
129
137
124
126
129
129
129
128
125
123
123
123
123
122
122
119
121
120
121
121
122
122
122
122
123
123
122
121
120
120
121
121
122
122
123
127
128
133
136
137
141
144
147
150
152
156
142
142
137
125
125
126
127
128
138
140
135
141
146
146
147
148
148
147
146
143
137
150
150
152
156
152
149
152
154
154
154
154
149
150
155
156
154
155
156
156
161
161
161
158
152
159
152
157
154
153
153
135
149
150
145
136
139
149
150
152
147
148
155
151
151
151
154
154
154
153
152
151
143
142
141
141
141
141
141
141
141
141
143
154
154
154
155
156
154
148
148
148
146
149
150
151
151
154
153
153
159
157
159
164
165
170
173
177
177
175
172
173
173
172
172
173
158
158
160
160
160
159
157
158
158
157
157
157
157
160
159
157
157
156
156
156
155
155
155
155
155
155
155
156
156
155
155
153
153
153
153
152
153
153
152
151
149
149
150
150
151
152
152
153
153
156
154
144
145
143
143
143
149
149
148
148
149
146
166
165
166
168
169
170
171
172
172
173
181
181
180
168
144
151
151
151
151
155
155
155
156
158
159
159
161
158
157
160
161
161
162
163
170
174
176
180
171
167
166
165
166
168
166
160
160
160
161
159
161
148
143
137
137
137
138
146
154
168
161
169
169
170
169
172
173
177
178
183
183
184
185
191
192
189
188
187
187
187
187
191
197
209
211
211
211
211
211
211
211
215
214
210
228
234
233
238
234
236
240
241
240
241
237
234
234
229
234
234
231
230
230
225
218
212
209
206
203
201
201
201
199
197
195
195
194
194
192
189
179
177
175
173
171
167
166
166
162
161
162
159
159
155
154
154
156
159
160
161
163
165
167
173
179
181
184
189
188
186
183
187
188
183
181
178
174
178
186
189
193
204
206
206
200
196
196
196
206
206
205
202
185
167
162
164
165
159
160
154
156
158
152
150
149
149
149
149
149
149
149
149
149
149
149
149
154
160
160
164
170
170
170
171
173
170
170
168
167
163
161
160
166
169
169
170
170
170
170
170
170
170
170
152
153
154
155
157
160
160
165
166
166
165
164
162
161
159
159
158
159
162
166
165
164
161
149
149
148
146
146
146
145
144
145
145
144
142
143
143
142
148
150
150
150
159
159
159
159
159
156
153
150
157
158
159
159
160
160
159
159
156
152
145
142
142
142
141
141
141
141
150
149
150
151
156
162
161
163
157
149
148
147
150
151
153
153
154
166
165
165
173
175
175
165
164
163
165
159
159
159
161
163
166
173
174
175
172
170
171
175
173
170
171
174
172
170
173
172
172
176
174
173
173
173
175
176
175
173
169
169
169
159
154
155
155
154
154
154
154
153
153
153
152
152
151
151
151
152
153
154
154
153
153
150
148
148
149
148
149
150
150
153
157
155
160
159
164
174
176
184
184
174
164
166
175
176
175
174
170
176
176
173
165
162
160
160
161
163
166
164
161
158
159
160
164
188
195
205
207
210
213
215
214
214
217
222
223
218
215
208
204
201
200
200
200
200
200
200
199
199
199
198
196
195
194
193
188
187
186
186
186
178
173
168
162
157
156
156
156
163
163
163
163
163
165
167
168
169
171
181
193
193
194
195
197
202
207
206
205
200
199
197
196
189
189
189
189
195
215
213
220
224
226
226
226
223
225
226
228
230
230
228
234
233
229
226
224
215
217
217
213
208
208
195
196
195
193
190
188
187
186
187
188
190
192
198
206
208
210
212
213
213
214
209
206
203
197
196
196
197
199
200
201
202
202
200
198
197
195
195
195
193
190
188
187
186
202
203
204
207
206
204
197
197
195
195
199
204
207
210
212
211
211
209
204
207
212
220
226
229
227
227
223
219
217
208
196
194
183
175
171
197
197
190
189
191
190
189
186
176
182
188
197
207
207
213
223
226
227
223
223
218
221
223
228
220
219
213
213
205
206
205
169
170
173
165
164
164
164
166
166
166
166
166
166
166
169
169
170
169
169
169
169
169
167
172
172
171
168
168
169
169
169
169
169
169
169
169
172
174
176
172
174
178
181
181
184
185
185
185
183
187
187
189
190
190
190
190
190
190
190
190
190
189
188
188
186
179
175
174
173
172
172
171
169
166
165
165
165
165
164
163
161
161
160
159
159
160
160
160
161
161
160
159
159
158
158
158
161
162
161
162
162
162
163
162
163
162
162
162
162
163
163
164
163
161
163
164
164
164
164
164
164
163
165
166
167
172
172
168
167
168
168
169
169
168
168
168
167
167
167
167
167
168
168
168
169
169
169
169
169
169
168
167
168
167
167
168
168
169
169
169
169
168
168
168
167
167
172
170
170
170
170
171
171
171
171
171
171
171
171
171
170
170
168
172
172
172
173
177
176
175
174
174
175
177
173
172
177
179
173
181
179
177
175
177
175
173
174
174
174
175
175
175
169
172
174
173
171
171
171
171
170
170
169
170
171
171
172
175
174
175
173
171
172
172
172
172
172
170
170
171
171
170
170
170
170
169
169
170
171
170
170
170
170
170
170
170
170
171
171
171
179
182
179
176
188
184
176
184
180
180
179
179
179
178
178
179
179
178
178
179
178
178
178
178
177
176
175
175
173
174
174
174
176
178
177
176
175
175
175
176
176
177
177
178
180
180
180
180
180
180
177
177
177
178
178
178
181
182
182
184
186
190
197
200
216
225
228
229
229
230
240
244
246
248
249
248
247
249
253
253
253
249
247
241
246
249
249
250
253
253
253
252
260
261
262
253
249
254
255
255
255
254
248
246
246
245
242
239
238
238
238
239
234
236
237
239
239
242
242
234
238
238
237
236
235
237
241
243
243
244
247
254
261
262
262
263
268
271
273
276
276
276
276
275
274
274
276
283
288
289
286
284
280
271
271
272
285
283
283
284
284
285
285
287
291
292
293
295
300
303
307
308
310
311
312
315
311
308
303
302
304
304
308
310
313
315
316
314
306
302
296
292
288
285
285
285
282
270
268
261
253
245
242
243
245
246
247
242
239
239
240
245
250
256
258
261
261
261
271
272
273
275
277
278
279
281
284
290
292
292
300
302
302
301
301
306
307
308
308
308
308
307
303
297
293
290
290
288
287
285
283
272
270
265
265
264
263
262
260
260
260
252
245
243
243
241
237
229
229
229
229
229
229
229
226
225
221
220
221
219
219
219
219
220
220
216
216
218
220
221
221
221
219
220
220
220
219
219
221
225
225
224
224
224
223
223
223
224
223
224
229
231
231
231
235
237
241
245
246
247
265
267
270
268
266
265
268
270
272
272
273
274
278
278
279
287
286
285
286
285
282
281
283
285
285
286
286
285
285
284
281
279
274
272
270
257
256
256
255
262
242
238
230
230
230
227
227
227
230
233
228
226
225
228
228
227
225
225
225
224
224
223
224
230
226
220
222
219
215
214
214
214
214
213
214
214
215
215
215
214
215
216
216
217
216
216
216
216
217
217
217
217
217
216
216
217
217
217
218
219
218
218
220
220
220
220
221
221
222
222
222
222
222
222
223
223
224
223
225
227
226
225
225
225
224
224
224
224
224
225
226
226
226
226
226
227
227
227
228
230
230
228
223
223
221
223
225
225
226
226
227
228
229
229
232
237
238
238
238
236
234
232
231
230
230
230
235
235
235
234
234
236
237
236
236
236
237
238
239
240
242
242
249
246
242
251
251
250
250
252
253
250
252
254
250
246
245
248
249
249
250
251
253
253
253
253
254
254
255
258
258
257
257
257
258
259
262
262
262
264
264
265
266
267
267
269
271
273
275
274
276
276
278
278
278
278
278
280
281
282
283
283
283
283
283
284
284
285
287
287
287
290
293
294
294
296
299
307
310
312
323
323
323
322
323
332
335
344
340
341
342
343
343
344
345
347
350
357
361
363
363
365
366
367
367
367
371
375
365
364
366
369
373
365
360
356
354
361
347
340
340
340
341
340
335
332
329
324
321
293
291
290
287
284
275
273
270
267
268
266
257
258
260
260
257
257
259
259
259
258
256
256
255
255
255
249
246
243
242
242
242
242
243
245
245
245
242
239
237
236
236
236
236
237
237
238
238
237
238
238
238
238
238
238
237
237
237
238
237
237
240
239
239
243
243
243
244
245
245
247
249
250
250
248
246
244
242
240
241
240
240
240
240
242
241
243
247
247
247
247
246
247
248
248
248
248
248
248
248
249
249
249
249
249
249
251
252
252
253
253
254
254
254
254
254
255
255
267
266
266
265
264
267
268
270
270
270
272
273
273
273
273
273
273
274
274
271
271
272
272
272
272
272
272
272
272
271
270
270
270
270
270
270
269
269
269
270
271
271
272
274
274
274
274
274
276
276
275
274
273
273
273
272
272
272
272
272
272
272
272
272
273
273
273
273
273
273
274
273
273
273
273
273
273
273
273
273
273
274
271
271
270
272
271
271
272
273
273
271
275
275
275
276
277
276
272
270
270
270
270
270
270
270
270
270
270
270
270
280
278
281
283
282
282
281
282
279
279
279
282
279
281
281
281
281
280
281
280
278
284
284
291
293
295
293
293
287
287
287
282
280
276
274
276
276
275
282
281
279
281
284
282
284
285
285
286
287
288
291
291
291
291
291
292
292
294
295
294
295
295
295
295
295
295
305
311
324
325
326
323
322
321
321
320
320
322
322
321
320
317
313
309
308
306
303
295
291
287
282
281
274
271
271
272
273
276
278
276
295
307
309
308
307
289
286
283
275
275
275
275
275
276
277
278
280
280
281
281
282
282
282
282
282
283
283
282
282
281
281
281
274
273
278
279
278
279
281
272
270
270
269
271
275
277
281
286
297
293
295
301
307
327
338
340
340
346
347
336
332
326
322
317
316
308
308
317
319
325
328
341
359
360
366
370
370
362
362
358
356
353
348
347
346
344
342
334
332
327
317
315
314
318
321
320
310
311
313
314
315
311
308
306
297
294
294
293
292
289
292
290
289
289
293
294
294
296
297
295
295
296
299
305
310
313
314
311
317
306
300
302
307
309
309
309
310
310
309
308
305
304
303
304
305
305
306
309
308
309
317
318
321
322
321
322
323
323
321
322
322
321
323
326
327
327
328
329
334
335
334
334
334
333
338
345
347
346
353
349
375
371
363
360
357
359
361
365
374
370
369
371
372
372
372
374
382
383
385
385
386
389
392
406
411
413
420
427
425
453
450
439
430
431
432
432
431
431
430
431
432
431
430
430
431
431
428
427
434
437
438
437
431
425
421
417
413
412
421
425
429
431
431
411
408
418
418
416
415
415
415
410
410
411
405
402
398
398
398
395
393
388
387
385
384
383
402
401
397
382
361
350
348
345
344
341
334
331
328
326
327
326
319
318
316
315
314
314
314
315
309
307
307
307
302
298
297
297
303
298
283
281
278
275
274
275
274
273
273
273
280
278
283
280
275
271
270
271
272
273
269
268
269
272
273
268
267
270
274
267
266
263
263
263
263
264
264
265
265
264
261
261
261
261
258
255
253
250
250
249
249
249
250
252
254
259
258
254
252
252
252
251
249
249
247
246
246
246
247
247
246
245
244
245
243
243
243
242
239
241
242
242
242
242
240
239
239
239
239
239
236
239
239
235
239
238
237
237
240
240
240
241
241
241
240
244
244
245
245
245
244
243
243
245
245
245
245
245
246
246
247
248
248
248
250
250
250
251
251
251
252
252
254
254
254
253
253
253
253
254
258
257
257
256
256
258
258
259
261
260
258
258
258
258
259
259
263
264
265
267
270
271
272
272
273
274
273
273
272
274
275
275
273
272
272
272
273
272
271
271
271
271
271
271
271
273
275
276
277
275
276
278
276
276
276
277
278
278
278
278
280
280
283
287
289
290
289
293
293
300
299
302
302
302
299
299
299
299
299
302
305
310
308
311
311
312
318
321
321
319
317
317
321
321
322
324
324
324
324
324
324
325
327
328
329
327
327
327
328
330
331
333
335
342
343
343
343
343
347
348
349
364
361
360
359
360
365
377
376
376
376
375
375
379
383
393
396
403
395
394
401
417
422
401
424
409
416
423
417
414
424
424
445
444
447
449
459
470
475
475
480
485
485
486
491
499
489
494
499
499
506
508
504
501
503
504
506
506
507
513
519
519
522
526
523
522
529
529
545
541
555
556
556
558
563
566
570
563
560
566
579
580
583
597
585
580
578
591
593
589
587
586
586
586
584
571
566
569
566
551
546
542
541
546
547
529
525
518
516
528
520
516
511
492
490
488
487
487
496
485
480
478
480
478
465
467
460
455
454
453
448
447
447
446
449
451
444
440
438
437
437
432
431
438
436
437
436
435
424
422
419
414
413
413
411
411
426
415
414
418
410
406
403
403
402
402
406
409
405
402
402
401
397
397
392
392
393
391
390
387
388
391
387
384
381
379
379
378
378
374
376
379
375
369
367
366
377
373
367
365
365
359
361
365
371
364
360
362
367
357
352
347
354
361
359
354
359
362
345
346
346
351
352
340
340
349
353
338
338
345
351
343
338
346
344
335
336
334
338
332
335
338
334
337
337
328
333
335
329
330
330
330
327
326
327
332
335
333
332
329
321
319
320
316
311
310
306
306
311
309
309
306
307
306
304
305
304
306
306
303
303
303
303
303
299
299
298
298
295
297
297
297
296
297
297
297
297
295
297
296
296
301
300
302
307
308
308
306
305
308
308
299
296
291
290
285
286
287
289
286
286
280
284
287
289
289
290
290
290
292
296
299
301
304
303
301
301
304
301
303
299
303
305
307
307
301
306
304
303
301
307
300
299
297
295
299
297
304
304
296
299
308
300
296
300
301
302
302
302
303
307
308
298
294
295
300
298
295
296
292
296
303
302
301
300
300
295
295
295
295
294
295
295
296
294
295
296
297
297
293
293
298
297
295
295
297
298
299
298
295
297
307
301
304
305
303
308
306
306
308
310
305
308
308
308
305
305
301
308
314
316
307
297
299
304
307
298
296
293
293
293
295
295
297
298
303
306
311
308
304
302
308
302
303
304
304
304
304
303
296
297
297
297
295
295
295
296
297
297
292
292
290
292
294
292
290
290
290
291
291
291
291
291
292
291
291
291
291
291
290
290
290
290
290
293
292
291
292
293
295
294
294
294
293
293
294
295
298
306
312
311
309
310
317
323
321
325
330
333
333
333
333
336
343
369
379
383
380
384
391
396
394
401
401
408
414
439
442
442
441
439
438
437
437
437
442
450
456
455
453
452
450
448
450
456
457
458
459
459
459
460
460
464
466
466
467
468
471
479
483
482
481
484
486
488
490
490
486
485
484
483
485
488
485
479
479
479
486
481
476
474
474
470
471
471
471
471
477
477
477
477
478
478
479
479
479
479
479
479
479
479
481
482
482
482
486
486
485
485
486
485
487
488
489
494
497
498
493
493
494
495
495
500
498
492
493
497
496
494
491
488
488
488
488
489
489
490
513
511
509
508
506
503
502
505
506
506
506
504
503
503
503
503
506
506
506
506
511
513
516
517
518
520
528
535
535
534
534
533
530
526
525
524
527
534
544
544
544
544
547
553
562
565
566
569
573
557
561
571
576
581
576
575
572
574
574
575
578
581
584
593
598
599
599
596
592
593
594
597
600
600
599
598
602
613
619
620
616
630
635
636
635
634
635
637
646
649
649
649
653
655
658
660
665
679
685
689
690
693
700
708
713
722
726
729
729
734
737
742
750
754
755
769
770
770
772
772
773
774
775
777
778
781
786
789
791
785
784
781
780
780
781
784
790
795
797
802
812
815
821
821
823
826
827
829
830
832
836
835
832
831
831
831
832
833
837
850
848
844
843
842
834
834
834
835
835
834
834
834
834
835
833
832
831
830
825
827
831
832
834
837
840
843
845
846
848
849
849
847
845
842
839
838
841
843
849
855
873
876
876
876
878
882
884
886
888
889
888
887
864
865
866
866
865
864
865
869
868
867
869
872
874
878
878
877
877
878
878
880
881
883
884
884
886
886
886
888
887
885
878
878
878
878
878
873
871
868
867
880
884
886
881
874
874
874
874
875
874
864
868
871
872
871
871
870
868
867
867
868
868
868
867
866
866
865
865
864
863
862
861
854
855
856
847
841
833
832
829
820
822
825
811
809
813
819
821
819
817
816
819
830
831
814
806
810
810
805
802
815
794
796
783
775
797
788
768
763
792
778
773
757
742
744
739
735
741
744
726
728
715
714
714
703
666
667
651
623
621
631
625
613
599
602
606
598
610
606
606
605
590
605
598
589
578
573
570
573
577
581
566
560
571
572
574
558
532
531
531
521
510
509
517
527
515
499
494
500
499
493
489
490
490
487
475
481
482
480
471
463
454
445
445
445
436
430
422
414
411
393
399
399
394
384
382
382
365
378
365
356
356
355
355
354
351
341
335
333
330
330
330
328
320
319
317
309
316
306
306
300
289
286
284
277
276
276
277
281
279
277
271
271
270
268
262
253
252
251
250
243
239
238
232
229
226
225
225
224
220
194
192
192
192
190
184
171
170
168
160
142
127
115
114
112
110
107
107
107
107
107
107
104
103
101
100
99
98
96
94
93
93
93
93
94
94
91
97
96
98
99
101
107
108
110
107
107
108
109
109
106
106
106
107
108
110
110
115
117
121
123
120
119
117
121
122
124
126
127
125
123
120
120
120
121
124
123
122
121
121
123
124
118
115
115
115
116
116
116
116
116
113
103
103
103
100
101
101
101
101
101
104
104
104
114
117
115
112
110
110
114
120
114
112
116
119
121
127
133
135
138
137
135
137
145
149
153
155
158
159
144
143
146
144
137
128
128
127
123
122
121
118
115
114
113
112
111
104
103
102
102
102
100
99
97
95
94
90
89
89
88
88
87
86
85
79
75
74
72
73
74
75
70
67
71
68
73
69
67
67
68
68
71
75
78
81
87
87
88
89
90
92
93
94
94
94
86
85
76
70
63
60
59
58
62
66
68
73
74
75
72
70
69
66
62
61
64
70
73
69
69
71
70
68
62
51
51
48
48
52
55
52
51
51
52
51
50
51
51
49
49
49
50
51
52
53
53
52
50
50
50
50
50
49
46
46
47
48
48
49
50
52
54
54
54
54
54
55
56
56
60
60
60
60
59
59
59
57
56
60
57
57
60
59
59
56
52
51
53
53
53
50
49
50
50
50
53
56
55
49
49
50
50
49
47
47
47
47
47
47
46
46
46
48
50
50
55
53
53
53
53
44
44
44
46
47
47
47
49
49
50
51
52
54
54
54
54
56
56
56
55
54
54
54
53
51
50
50
50
52
51
50
50
49
50
48
48
49
41
40
42
42
42
42
42
41
40
39
38
38
47
56
59
55
51
43
44
44
42
40
43
46
50
42
42
42
42
44
47
50
51
50
45
37
34
33
30
29
34
34
32
31
31
31
31
35
36
40
38
34
34
37
34
29
29
29
30
30
31
31
27
27
27
27
27
27
28
28
27
31
30
34
28
27
25
25
29
27
26
26
26
25
29
30
30
30
30
25
28
30
31
32
32
33
27
26
24
24
24
24
24
24
23
24
24
24
24
24
24
24
23
22
22
22
22
22
22
21
21
19
19
20
18
18
18
18
17
17
15
14
14
14
14
14
14
13
13
14
15
14
12
13
12
14
12
12
10
10
10
7
7
7
7
6
5
5
4
4
4
3
4
4
4
4
3
4
4
3
2
2
2
2
4
3
2
2
4
4
4
4
2
1
1
1
0
1
1
1
2
2
2
2
2
2
1
1
0
1
1
0
0
5
9
8
7
4
4
1
0
0
0
4
4
3
3
4
4
3
3
4
3
3
3
5
5
5
5
4
6
4
7
7
4
6
6
6
6
6
7
7
5
5
4
9
2
5
4
5
4
4
5
5
4
4
4
3
3
4
4
4
4
4
4
3
3
3
3
2
2
2
1
2
1
1
2
1
3
1
2
2
2
2
3
3
3
3
3
3
3
8
8
8
8
8
8
9
9
8
4
3
2
2
9
7
6
6
6
6
4
3
3
4
3
3
3
3
0
1
1
0
0
0
0
0
0
1
2
2
1
-1
0
1
0
0
0
2
2
2
2
-1
-2
-3
-2
0
0
-2
-3
-3
-2
-1
0
0
-4
-4
-4
-3
-2
-1
-3
-2
-2
-2
-3
-3
-3
-4
-1
-3
-3
-3
-3
-1
-2
-3
-4
-4
-4
-3
-2
-2
2
-1
-2
0
2
2
1
0
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
-1
0
0
0
0
-2
1
2
0
0
0
-4
-4
-4
0
0
0
0
0
-2
-3
-1
-2
-1
-2
0
0
0
0
-1
-1
0
0
1
1
0
0
1
0
1
0
0
2
4
5
5
2
5
3
3
5
5
8
8
8
4
4
4
2
1
3
3
2
1
0
0
0
2
0
1
0
-2
0
2
1
0
0
1
1
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
-1
0
0
-3
-2
0
1
2
0
0
0
0
0
0
0
0
-2
-1
-1
-1
-3
1
-2
-3
-2
-1
-1
-1
-1
-1
-1
-2
-2
-3
0
0
-1
-3
-4
-2
-2
-2
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
-1
-1
-2
-1
0
4
4
4
1
1
0
0
1
1
1
0
0
0
0
1
0
0
-1
-2
-2
-2
-2
-2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
2
1
1
1
1
-1
-3
-4
0
1
-2
0
4
4
1
1
1
2
2
2
1
1
2
2
5
5
5
3
3
3
1
1
1
2
2
0
1
3
2
2
2
2
1
0
0
1
-1
-1
0
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
-2
-2
-2
-1
-1
-1
-1
-1
-1
-1
-1
-3
-2
0
0
-2
-1
0
-2
-2
-2
-2
-2
-2
-2
-2
-2
-1
-2
-1
1
2
2
1
1
0
0
0
1
0
-2
-1
0
0
1
0
-1
0
0
1
1
0
-2
-2
0
1
-2
-1
-1
-2
-3
-3
0
0
-1
-2
-1
0
0
0
0
0
0
0
0
-1
-2
-1
-1
-3
-3
-3
-3
-3
-3
-3
-1
-1
-1
0
1
-1
0
0
-1
-2
-2
0
0
-1
-1
0
0
0
0
0
2
2
2
2
1
1
0
2
3
3
2
1
1
1
1
2
2
1
-2
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
2
2
3
4
2
2
2
4
2
2
3
2
4
3
2
4
2
2
2
4
4
5
4
4
3
3
3
6
6
5
2
3
4
5
5
4
5
5
4
4
7
7
6
6
6
6
6
6
7
6
6
7
7
7
7
4
6
4
3
3
3
4
3
6
6
5
6
5
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
9
9
9
10
10
10
7
8
8
8
8
9
9
9
9
9
9
9
9
8
8
8
8
9
9
9
12
10
10
10
11
11
9
9
9
9
9
9
10
9
10
10
12
12
12
11
11
11
12
12
11
11
11
11
11
11
11
11
11
11
12
9
11
11
11
12
12
12
12
12
12
12
13
13
14
15
16
17
17
17
16
15
14
13
13
12
12
13
14
14
14
14
14
14
14
13
12
12
12
12
13
13
14
14
14
14
15
14
12
11
12
14
14
15
15
14
13
13
13
12
13
16
16
14
15
16
16
16
14
14
14
14
12
13
13
12
12
12
11
11
13
12
12
11
12
12
12
11
11
13
13
15
16
12
11
12
12
12
12
12
12
12
12
14
14
14
14
14
14
13
13
14
14
15
15
15
14
14
14
14
14
14
14
11
11
11
11
11
11
12
13
12
12
12
12
12
13
13
13
13
13
14
14
12
13
13
14
14
14
14
16
16
14
15
15
15
15
14
16
16
16
16
16
17
18
19
19
19
19
19
19
15
13
13
14
13
13
14
14
15
16
15
15
13
13
13
13
13
13
13
13
13
13
18
15
13
13
15
16
16
16
18
18
18
18
18
18
18
18
18
18
14
14
14
14
14
14
14
14
14
14
14
13
14
14
14
14
16
16
16
15
15
15
17
17
19
19
19
19
19
18
18
18
18
18
18
17
17
16
16
15
14
16
17
17
18
18
19
19
21
21
21
21
21
21
17
18
18
17
16
19
19
21
20
20
20
22
23
23
23
21
21
22
22
22
22
22
22
22
21
23
22
23
24
22
23
24
25
25
23
23
23
23
23
23
23
23
23
22
22
21
20
21
22
23
23
22
23
23
22
26
28
25
23
24
23
23
25
25
24
25
24
25
25
25
24
22
22
22
21
21
21
23
23
23
23
24
25
25
23
23
24
25
25
25
25
25
25
25
22
22
21
21
21
22
24
22
25
24
22
22
22
21
19
19
19
19
17
20
20
21
22
22
21
20
20
20
22
22
22
22
24
25
24
23
21
20
20
20
16
15
15
16
17
17
20
21
21
21
21
21
20
20
21
21
21
23
22
21
21
20
20
20
22
23
23
23
22
22
22
22
22
22
25
23
23
23
23
27
28
27
26
25
25
25
25
25
25
25
26
26
27
27
25
24
24
24
24
23
24
23
23
23
23
24
25
25
26
26
27
27
27
26
25
27
29
27
26
25
25
27
27
27
26
25
25
25
25
26
24
24
23
23
22
22
23
24
22
21
22
22
22
22
23
23
24
24
24
24
26
27
27
27
26
27
28
25
24
26
26
25
25
27
26
25
22
24
24
23
25
24
26
25
24
24
24
24
28
28
25
25
24
24
25
24
23
24
20
21
22
22
23
26
27
27
28
29
28
30
26
26
28
28
28
28
29
30
29
29
29
29
28
22
25
26
23
23
25
30
29
29
29
28
32
31
33
33
33
29
29
29
29
29
29
31
30
33
33
33
33
42
35
35
35
35
38
36
37
38
38
37
35
35
35
39
38
37
38
40
43
43
42
42
42
42
40
39
43
40
41
41
40
40
40
39
38
42
44
41
41
41
41
41
41
41
41
41
41
41
42
41
39
39
40
42
42
42
43
45
45
44
44
43
42
42
43
43
43
42
42
43
43
45
45
45
45
46
43
45
46
47
46
46
46
48
49
48
46
46
46
46
46
48
48
48
48
48
49
48
48
47
51
51
51
51
51
51
51
52
50
49
48
48
48
46
46
47
47
47
48
51
51
52
55
55
52
53
53
53
54
54
54
56
54
54
54
56
55
55
55
57
60
60
59
58
57
58
58
58
58
57
58
57
55
55
58
59
60
60
55
57
55
55
57
59
59
59
57
58
57
58
56
55
56
56
56
56
57
58
61
62
63
61
60
60
65
64
66
65
64
64
64
66
69
69
69
69
70
70
70
71
71
69
69
66
69
71
71
70
70
70
70
70
69
69
69
69
69
69
70
70
68
67
68
70
68
68
67
67
67
67
68
68
69
64
65
67
67
67
67
65
70
72
77
75
74
75
77
76
77
76
76
77
76
75
75
77
77
78
79
79
78
77
80
80
79
79
79
79
80
80
80
81
81
82
82
82
82
82
82
82
81
81
81
82
81
82
80
85
82
80
80
80
82
82
78
77
77
77
77
78
79
82
82
82
81
81
82
81
80
81
80
80
81
82
82
80
83
84
84
82
81
82
82
79
83
84
83
83
87
89
89
94
94
93
94
97
95
95
95
94
94
93
93
96
96
98
98
98
99
95
95
97
98
98
98
98
98
98
99
100
100
99
99
99
99
99
99
99
99
100
100
100
100
101
101
101
101
101
102
101
101
103
103
104
104
107
108
108
107
105
106
106
107
107
105
105
106
107
108
106
106
108
107
107
107
108
109
109
109
110
110
113
113
118
117
116
117
121
119
119
120
122
123
123
123
123
121
123
123
123
130
129
128
129
130
130
131
132
136
134
134
137
142
141
142
143
143
143
143
142
142
142
143
144
144
145
149
149
150
150
150
150
149
149
152
152
153
152
152
152
152
151
151
153
153
152
152
154
154
152
153
153
153
152
153
155
157
157
157
159
158
159
159
161
162
162
162
161
159
159
159
161
158
161
159
158
158
159
162
162
163
163
163
163
163
162
162
162
162
162
161
161
161
159
159
159
160
160
160
160
160
160
160
160
156
156
156
155
155
156
157
154
155
156
156
156
156
156
156
156
156
155
153
152
152
152
152
152
152
148
148
148
148
148
147
147
148
149
146
150
148
148
147
146
146
146
146
147
144
143
143
144
144
145
146
147
146
145
146
146
146
146
146
146
149
149
146
145
145
145
145
145
145
146
146
146
146
146
146
146
146
153
150
150
150
150
150
150
150
152
152
152
151
152
155
157
159
158
159
159
160
161
162
162
164
164
163
162
164
164
164
165
165
165
166
167
171
168
169
170
170
170
170
170
170
177
176
177
179
179
179
179
179
179
179
178
178
178
177
177
178
179
179
177
177
177
177
177
178
179
179
179
179
179
179
179
180
180
182
182
182
181
181
181
180
180
180
178
178
177
178
180
180
180
184
184
184
184
184
184
184
184
184
184
182
183
184
184
185
185
185
185
185
185
185
185
185
185
185
184
185
186
187
187
187
187
187
187
188
188
189
187
187
189
194
194
195
195
195
195
195
195
198
199
199
201
201
203
204
204
204
204
204
204
204
204
202
203
203
205
205
205
206
206
211
223
220
216
212
218
226
223
225
232
235
235
235
239
239
243
243
243
243
243
244
244
244
254
261
265
265
270
270
270
271
271
272
273
273
274
275
275
276
276
278
279
279
279
282
285
287
291
291
301
301
297
297
297
297
297
303
325
314
314
314
314
315
315
315
316
316
314
312
312
312
314
314
314
314
314
314
314
316
316
321
323
323
323
323
323
324
324
331
343
344
341
336
330
325
323
322
321
316
304
316
318
323
324
324
324
324
325
326
324
324
323
320
320
320
321
317
318
322
322
322
322
322
322
323
323
324
324
327
327
327
327
327
327
327
327
328
329
329
330
333
334
335
338
338
343
343
344
344
344
344
344
355
355
351
343
342
342
342
342
341
334
334
334
333
332
331
330
331
348
346
361
363
364
365
365
366
366
370
380
401
409
408
403
403
403
408
407
404
400
400
402
403
404
405
406
390
388
388
388
389
389
390
390
391
392
392
394
395
395
394
393
391
391
391
391
392
393
395
392
391
397
397
396
396
396
396
396
396
396
400
401
402
409
409
409
410
411
420
424
427
427
428
429
429
438
444
445
446
448
443
438
434
438
430
428
432
433
429
403
398
394
389
384
373
372
370
365
354
346
346
346
346
346
345
343
342
342
341
340
340
339
340
340
340
343
343
344
340
339
343
345
346
344
343
343
342
340
339
338
338
335
333
329
329
329
329
329
329
330
332
332
332
332
332
331
331
330
318
319
323
326
330
324
325
314
314
314
310
307
305
303
301
299
299
295
295
295
296
296
287
287
287
288
289
285
279
282
277
277
284
278
285
284
280
281
281
278
274
275
277
279
284
283
279
281
281
282
282
282
283
284
284
286
287
288
283
278
278
280
279
279
279
279
279
279
279
280
282
285
270
275
278
287
278
276
277
280
285
293
302
282
290
276
275
278
274
274
274
273
273
274
275
276
276
276
276
276
276
275
275
276
274
274
274
275
275
275
275
275
280
280
280
295
295
297
276
314
287
297
301
305
298
289
310
294
286
290
295
304
293
313
292
295
325
323
315
312
306
302
305
317
324
331
325
306
294
291
290
278
275
280
284
282
280
281
272
272
278
288
289
285
290
290
291
292
288
284
286
289
290
292
294
297
309
313
314
315
316
317
317
317
317
317
317
317
317
317
320
321
324
330
332
333
332
332
331
331
331
330
327
326
328
329
334
350
354
356
371
372
373
373
373
373
376
389
390
390
390
392
392
381
376
373
370
367
369
369
368
368
357
356
361
360
360
360
358
351
344
341
338
330
327
328
334
334
328
324
317
318
318
318
318
317
317
317
318
318
318
319
319
319
323
324
324
324
325
323
323
327
328
331
332
333
334
333
338
338
358
357
354
360
363
363
371
374
371
368
366
365
364
364
364
364
364
363
374
378
387
401
399
392
398
397
407
408
405
410
411
411
412
412
410
413
417
412
412
412
412
412
412
412
413
417
419
419
419
425
427
431
433
436
437
438
443
443
447
444
442
442
445
445
443
449
450
453
464
472
475
474
475
476
479
478
480
493
510
525
537
551
554
553
558
558
557
556
556
555
553
552
551
549
550
550
550
559
559
552
571
564
556
545
540
494
477
480
478
477
438
425
428
399
399
399
399
399
399
399
399
399
401
383
383
384
384
384
384
384
376
348
347
348
354
320
325
296
294
292
281
274
274
281
274
270
265
274
278
275
274
270
258
255
254
252
251
250
245
240
223
222
215
210
211
212
222
220
212
209
213
215
215
215
216
216
219
219
220
220
220
219
227
234
234
235
236
238
249
249
248
248
248
248
248
247
245
244
241
238
230
229
227
226
226
223
224
223
223
224
224
228
228
232
232
229
229
229
232
231
231
231
231
231
231
231
232
232
232
231
230
233
231
234
235
243
242
239
239
240
240
241
242
243
246
248
248
248
248
248
248
248
246
244
240
242
243
245
242
240
240
240
240
240
240
240
240
240
240
241
242
240
241
242
243
245
247
246
246
248
249
253
254
254
266
266
266
266
270
272
269
267
267
267
266
255
257
258
257
260
259
255
252
263
257
258
257
254
260
260
261
258
260
264
264
264
263
266
264
264
265
266
266
267
269
268
270
271
270
271
271
267
267
269
274
273
277
278
278
275
274
273
277
278
276
278
283
281
281
287
290
292
292
292
292
293
293
294
293
293
293
293
294
295
307
307
307
307
307
307
299
297
297
297
297
297
297
296
296
298
298
299
298
297
297
297
297
297
298
299
300
302
303
305
305
317
313
310
310
313
313
316
317
317
320
322
323
323
323
333
331
332
334
334
333
332
334
337
338
343
344
345
343
351
347
346
345
347
348
352
355
361
362
365
368
371
373
394
391
393
396
401
401
403
407
406
404
403
416
431
427
434
444
467
467
471
460
462
467
483
482
479
479
478
478
478
477
481
483
488
493
498
520
521
519
516
515
517
519
520
528
530
541
549
561
578
582
584
583
602
606
591
588
588
592
595
595
596
597
600
600
600
600
601
603
606
607
608
613
617
618
617
617
631
631
621
637
646
644
641
659
653
647
642
642
641
640
642
643
642
644
648
650
648
656
655
653
657
667
669
685
689
705
707
713
718
720
714
710
710
710
710
710
721
724
734
739
746
751
751
752
751
750
762
786
776
757
761
776
781
778
784
806
800
798
792
791
860
925
833
840
844
831
832
855
853
849
848
852
856
861
865
877
879
880
886
891
915
911
909
907
898
903
906
908
916
951
956
955
955
954
954
954
954
947
947
949
955
968
960
947
948
950
964
965
961
959
966
973
968
968
968
968
972
969
966
975
980
976
973
977
982
978
974
973
973
976
976
976
977
977
977
978
980
981
982
986
988
988
992
993
993
994
995
998
1007
1010
1023
1015
1015
1021
1022
1031
1048
1047
1049
1061
1051
1062
1064
1064
1078
1073
1073
1073
1076
1076
1076
1081
1087
1086
1090
1099
1115
1103
1130
1128
1119
1113
1119
1117
1116
1127
1132
1137
1139
1131
1127
1132
1132
1132
1133
1137
1145
1154
1159
1161
1161
1176
1175
1186
1196
1189
1180
1205
1202
1213
1210
1234
1232
1255
1261
1267
1271
1276
1277
1278
1275
1273
1271
1268
1283
1271
1276
1280
1288
1304
1308
1315
1323
1321
1318
1341
1335
1357
1364
1367
1369
1370
1382
1387
1395
1404
1406
1401
1427
1444
1416
1464
1467
1448
1479
1479
1468
1463
1478
1482
1487
1493
1496
1498
1505
1520
1530
1518
1520
1538
1536
1536
1540
1547
1554
1559
1560
1554
1552
1567
1574
1578
1581
1582
1578
1561
1587
1579
1590
1592
1607
1612
1613
1613
1615
1616
1626
1645
1645
1646
1651
1675
1686
1688
1678
1687
1694
1713
1702
1691
1696
1723
1737
1717
1740
1775
1752
1755
1767
1797
1779
1781
1780
1779
1778
1778
1789
1819
1815
1804
1794
1850
1830
1826
1850
1861
1867
1866
1866
1877
1885
1885
1886
1890
1899
1904
1924
1926
1931
1940
1944
1944
1944
1943
1942
1941
1940
1937
1988
1986
1965
1984
1984
1984
1994
2011
2032
2053
2054
2006
2006
2014
2032
2041
2040
2018
2051
2062
2068
2075
2073
2059
2041
2055
2089
2094
2097
2086
2087
2088
2088
2099
2100
2107
2109
2109
2101
2099
2090
2086
2079
2079
2077
2076
2076
2080
2076
2071
2052
2049
2042
2030
2007
2000
1994
1981
1978
1952
1929
1923
1919
1917
1912
1911
1914
1902
1888
1880
1874
1867
1866
1869
1873
1872
1851
1832
1817
1822
1827
1820
1815
1809
1800
1782
1780
1779
1779
1778
1777
1777
1776
1775
1772
1771
1770
1770
1768
1753
1749
1754
1752
1744
1731
1729
1726
1725
1725
1705
1698
1698
1681
1689
1696
1706
1680
1680
1653
1651
1649
1636
1627
1632
1620
1618
1617
1616
1619
1617
1610
1593
1591
1589
1583
1580
1576
1566
1555
1548
1547
1547
1547
1545
1541
1536
1530
1516
1511
1511
1511
1511
1510
1508
1506
1503
1502
1502
1502
1502
1501
1484
1479
1472
1462
1455
1459
1462
1447
1452
1450
1445
1442
1440
1437
1435
1433
1433
1431
1431
1431
1432
1435
1435
1435
1434
1432
1431
1430
1435
1434
1433
1433
1432
1431
1431
1444
1438
1430
1428
1419
1406
1401
1399
1419
1472
1489
1467
1390
1381
1363
1349
1346
1344
1341
1343
1347
1345
1343
1341
1340
1347
1352
1356
1350
1347
1346
1344
1336
1333
1331
1329
1326
1324
1321
1325
1328
1330
1332
1334
1322
1317
1298
1295
1288
1289
1295
1289
1224
1226
1228
1231
1245
1244
1243
1241
1237
1226
1208
1190
1190
1190
1190
1190
1190
1190
1186
1168
1160
1155
1148
1145
1144
1141
1148
1154
1131
1130
1128
1126
1125
1107
1104
1094
1076
1074
1069
1079
1075
1071
1071
1071
1071
1071
1045
1049
1047
1043
1027
1020
1017
1000
995
988
983
983
983
980
979
979
978
978
978
978
978
978
978
979
998
999
957
953
947
946
944
943
950
944
940
934
929
927
926
923
919
909
912
935
931
915
926
919
916
923
921
917
920
923
908
912
915
917
916
909
907
900
889
884
884
884
884
884
885
885
886
886
885
885
893
893
893
892
886
875
871
864
870
865
861
858
854
856
860
861
862
851
836
829
826
820
820
824
826
826
814
809
808
809
809
807
807
807
807
807
792
786
778
808
801
778
775
773
775
779
764
747
747
735
733
733
733
735
737
727
709
706
710
715
710
708
708
709
712
713
692
702
708
740
738
729
718
709
697
697
696
695
694
694
694
686
693
687
691
685
670
665
669
662
655
647
648
647
646
645
645
645
645
642
647
652
657
660
661
665
674
664
662
660
660
659
656
653
652
650
656
660
664
674
671
668
654
640
644
648
657
668
673
661
652
651
664
669
672
669
650
640
637
637
630
629
645
663
653
626
599
607
610
611
615
625
613
606
596
594
597
599
602
602
596
592
591
586
582
575
556
542
539
536
532
526
526
527
527
527
528
528
528
527
527
526
524
523
522
520
520
519
517
514
514
517
520
521
517
514
513
518
519
527
530
531
533
527
524
516
509
512
515
520
520
518
514
524
517
520
524
536
531
531
518
517
515
516
515
515
510
508
504
505
505
502
498
499
501
493
491
495
500
494
485
490
486
483
482
484
488
487
485
481
480
480
481
480
480
481
484
485
472
474
472
471
471
470
470
468
467
467
464
464
464
464
463
460
456
454
455
456
456
458
459
462
473
472
464
482
440
454
454
452
452
452
461
462
466
468
470
474
475
475
477
484
490
490
489
492
492
492
489
489
488
488
488
488
486
484
480
479
476
475
468
468
467
465
465
463
461
461
459
458
457
455
455
453
450
449
449
447
442
439
439
438
438
437
437
436
436
436
436
436
436
436
435
434
435
435
434
434
434
434
434
435
438
443
447
446
446
450
451
451
451
464
470
475
474
473
471
464
469
475
470
466
466
468
477
488
497
505
536
536
536
536
536
536
517
436
431
433
434
435
432
432
434
590
610
572
563
544
511
513
514
520
522
522
516
509
515
531
544
554
544
531
520
501
508
527
515
511
511
540
495
479
493
523
531
487
478
472
467
460
451
453
452
447
478
470
435
441
433
431
431
431
431
431
431
431
431
431
526
450
450
489
537
561
482
456
454
454
454
457
456
457
474
478
483
479
482
493
482
485
487
507
431
471
489
498
476
503
497
468
457
455
452
451
449
445
442
440
440
440
440
439
436
437
437
437
437
437
437
437
437
437
437
437
438
438
438
438
438
439
439
439
439
440
441
440
442
442
444
444
448
449
449
450
452
454
454
454
461
461
463
464
465
465
469
470
471
471
473
474
475
478
479
481
487
490
494
502
504
511
515
518
518
519
520
521
522
523
523
524
523
525
530
530
532
545
549
549
554
556
558
560
560
560
560
560
562
566
568
571
573
574
575
573
579
581
588
587
586
589
595
591
589
589
598
602
610
598
599
602
613
616
623
624
627
641
635
626
630
644
643
646
651
653
658
663
667
655
663
670
665
670
669
667
669
670
674
676
692
704
701
692
688
692
701
703
705
706
706
723
729
725
721
718
723
725
733
733
733
733
735
742
743
745
746
746
746
753
760
761
771
770
768
768
768
783
781
780
780
775
772
774
776
777
779
780
783
794
798
796
794
806
814
809
815
831
840
853
856
859
861
865
868
869
872
875
881
882
881
891
901
906
910
913
914
914
915
916
919
934
926
925
924
923
924
924
924
924
931
931
928
926
926
926
923
919
919
918
918
922
919
924
929
928
928
929
929
928
933
936
937
929
930
934
934
920
920
918
918
918
918
918
919
917
916
917
918
920
923
921
913
910
908
908
908
906
905
903
894
891
878
877
877
836
832
831
833
834
835
834
833
831
827
827
826
829
825
825
827
832
838
839
835
834
832
829
825
822
820
819
819
820
820
810
809
806
803
793
776
770
768
769
769
765
746
738
739
740
741
742
743
744
745
745
743
745
745
742
737
731
726
731
725
723
723
714
709
711
713
715
695
689
678
667
664
653
654
664
661
660
659
650
647
644
636
633
633
633
633
632
631
631
627
623
622
618
614
610
609
609
607
605
602
600
598
597
596
595
595
594
594
593
593
595
595
594
592
591
589
587
583
578
578
574
574
574
574
573
573
573
572
570
570
568
559
552
552
550
548
547
546
546
545
536
533
526
524
523
522
522
524
526
525
522
522
521
516
515
509
511
510
505
495
490
486
483
479
477
472
466
451
447
444
445
441
426
423
412
412
411
407
407
408
411
411
410
410
411
411
411
411
410
409
412
411
408
408
415
414
412
407
407
407
407
407
411
411
411
410
410
411
410
409
409
410
414
415
409
413
409
408
414
410
410
410
410
417
419
409
410
412
416
420
420
423
421
418
425
425
416
416
413
415
416
416
416
414
414
414
414
413
411
411
411
412
413
414
413
417
426
422
421
419
417
418
418
416
412
412
409
413
414
414
413
418
410
409
411
411
409
412
415
415
415
415
417
412
413
412
413
412
415
422
422
410
411
411
412
411
410
409
411
411
410
411
410
410
407
407
409
410
412
415
415
414
413
411
411
412
410
412
411
412
413
415
407
411
413
412
409
409
415
410
410
409
408
408
410
409
410
411
411
410
409
409
411
413
417
419
411
406
407
408
407
406
408
407
407
406
413
413
408
412
415
415
415
414
414
426
428
433
426
426
426
426
443
447
447
451
453
458
463
463
464
471
473
473
479
480
490
494
494
492
491
490
494
489
489
489
490
489
490
489
489
490
483
479
480
470
464
465
465
460
454
454
454
452
452
451
447
447
450
440
441
440
437
437
436
435
434
433
432
427
425
427
426
428
429
429
428
436
436
436
436
435
435
435
435
435
437
437
437
436
437
439
438
438
438
435
436
444
445
448
449
449
452
452
453
453
455
456
455
457
460
460
460
461
464
469
494
502
504
506
504
501
497
496
496
496
496
495
493
493
497
499
497
494
494
494
496
504
509
512
514
514
519
520
528
534
533
530
531
535
535
529
525
525
525
525
525
523
518
519
519
519
516
512
508
505
505
505
503
490
488
487
485
485
486
487
487
486
478
478
480
482
484
484
488
471
476
478
476
470
474
467
476
467
454
454
456
457
456
453
454
463
450
443
444
443
440
439
436
435
433
435
434
432
432
432
432
433
436
440
440
440
441
442
443
444
444
444
444
444
444
444
444
445
446
446
446
450
450
450
453
457
455
453
454
454
455
457
455
455
455
455
456
456
456
454
454
457
456
455
455
454
455
455
458
459
459
456
457
461
461
462
464
463
461
460
461
462
466
466
469
471
472
477
478
479
478
479
480
482
481
478
472
468
468
467
466
469
468
465
463
462
468
468
465
465
458
450
449
449
449
448
448
450
449
447
446
439
431
431
428
423
421
420
420
421
425
423
424
422
421
426
425
418
419
421
421
415
415
415
415
415
415
414
414
411
408
409
409
409
409
409
409
409
411
409
407
406
405
404
404
405
406
406
406
406
402
402
402
402
402
403
405
406
409
403
402
401
400
399
397
395
394
394
394
393
393
393
392
390
390
391
391
388
388
390
390
391
391
391
391
391
393
391
392
392
396
395
396
393
393
394
393
393
392
392
398
400
401
403
404
404
404
406
408
409
410
411
410
403
406
403
403
402
398
397
401
403
404
404
405
406
407
407
407
408
411
411
410
410
411
412
412
412
412
412
412
412
414
415
415
417
419
419
420
421
428
428
429
431
429
432
433
435
441
445
440
437
435
436
437
446
445
451
466
467
472
477
488
497
505
505
510
511
541
543
544
544
544
544
544
544
544
544
568
569
569
569
569
570
569
571
575
574
572
564
566
567
568
570
571
570
562
564
567
554
552
551
549
546
544
543
540
534
529
525
508
504
494
482
477
471
468
455
447
442
440
435
434
433
432
431
430
427
424
419
417
417
417
416
403
403
402
402
402
402
402
400
398
396
396
396
396
396
396
396
397
398
399
399
399
399
398
397
397
398
398
398
398
398
398
398
399
399
400
401
402
402
402
402
400
399
399
399
399
401
405
405
405
404
404
403
403
400
400
400
399
400
400
401
401
401
401
401
401
404
403
401
399
401
405
406
408
407
407
408
408
411
412
420
420
424
423
423
421
419
419
419
419
417
418
419
422
423
424
424
425
425
426
426
426
427
428
428
428
428
428
430
431
431
430
429
428
425
412
412
412
407
402
398
397
395
393
392
392
392
392
392
392
392
392
392
392
392
392
392
393
398
397
396
398
398
398
397
397
399
401
403
411
413
414
416
418
411
422
423
423
424
425
427
431
438
440
441
441
444
445
446
446
446
444
445
447
444
444
449
453
454
452
453
454
457
459
459
458
458
458
458
458
459
459
460
460
461
462
462
459
458
460
460
460
461
463
462
461
457
452
453
453
444
445
445
439
432
431
429
428
431
424
419
418
416
418
420
415
420
419
419
425
417
427
423
420
412
410
412
408
411
411
413
418
417
414
414
414
413
412
411
411
410
409
411
415
416
416
416
416
414
413
413
414
414
415
418
418
418
418
415
414
413
412
410
408
406
406
405
405
403
401
401
401
399
398
398
398
399
401
403
400
398
398
400
398
397
397
398
399
399
400
401
403
404
405
405
406
406
407
407
406
408
407
406
407
406
412
410
409
411
413
416
416
416
419
419
417
416
416
425
419
419
417
416
416
411
411
410
414
413
411
412
412
414
414
412
410
413
417
418
418
418
417
416
416
415
413
411
409
409
409
404
404
402
402
402
402
402
402
402
400
400
399
399
399
400
400
398
396
401
404
405
400
399
403
404
409
413
414
414
413
405
401
403
406
404
404
412
410
403
401
399
408
411
410
410
412
422
428
433
431
430
427
412
410
408
407
408
407
409
410
409
409
410
411
410
411
419
418
418
419
421
421
421
420
422
430
442
447
447
450
461
466
468
469
467
469
478
479
476
472
469
467
467
468
466
466
465
462
462
458
454
460
461
446
441
442
442
442
442
450
449
455
454
457
456
452
456
453
462
458
448
451
452
452
447
447
448
460
454
479
475
468
466
468
474
471
468
467
467
467
467
467
467
468
468
471
471
473
480
480
482
486
486
489
494
497
498
502
501
500
498
500
506
520
513
513
511
509
508
508
508
510
510
511
518
521
521
521
522
527
535
540
541
542
543
543
556
551
549
543
546
546
544
533
537
541
532
532
528
532
532
533
533
533
539
539
535
537
536
535
535
537
539
538
538
539
539
535
540
540
541
544
545
545
549
551
549
547
548
548
551
550
549
546
546
546
547
552
552
554
555
557
557
556
559
560
560
559
559
559
560
571
579
586
591
591
591
591
591
591
591
591
589
600
601
602
606
606
606
606
604
603
603
605
599
597
587
580
579
577
574
575
581
583
583
583
583
596
603
598
589
589
589
590
584
584
587
590
588
589
609
606
590
589
589
594
595
597
594
595
595
596
603
604
608
624
633
635
637
640
644
644
644
653
655
656
658
662
663
664
664
663
662
662
664
664
663
665
671
676
677
677
678
679
679
679
676
675
673
673
673
673
673
674
675
679
688
688
686
682
678
691
691
691
695
701
707
706
707
707
707
707
707
707
707
706
700
698
695
694
685
685
686
687
687
687
687
686
686
686
687
687
691
693
697
694
691
694
696
699
695
693
695
698
699
710
715
719
725
732
735
734
741
774
786
796
788
781
771
764
758
760
762
760
758
756
753
750
748
738
737
730
730
730
728
727
726
722
722
723
724
720
719
718
718
718
721
719
719
719
719
716
717
718
721
722
722
721
729
724
724
726
729
730
730
730
727
726
725
724
724
728
728
727
727
731
736
735
731
730
735
734
737
737
736
739
739
739
739
739
739
739
739
740
740
740
739
741
746
748
749
750
750
751
753
756
759
762
769
771
779
777
776
774
773
774
773
780
781
786
785
792
792
790
791
793
797
798
799
799
801
802
802
811
812
814
818
819
821
824
828
829
830
832
835
835
834
839
845
847
843
844
844
853
858
864
869
874
873
873
876
877
875
874
873
875
876
876
876
876
876
875
874
874
877
877
878
882
885
889
896
899
900
898
899
901
904
923
918
914
916
919
920
919
920
917
908
899
892
891
895
896
895
893
891
890
890
895
896
896
896
895
891
892
893
893
892
889
889
889
889
889
885
885
884
884
883
882
881
880
879
875
868
860
856
855
854
848
844
840
835
823
821
821
821
822
822
823
822
820
819
817
815
810
809
805
803
800
793
793
794
796
800
794
791
791
791
790
789
789
789
789
782
778
775
772
770
769
769
769
768
767
766
765
766
767
762
757
750
748
747
749
749
748
748
748
748
748
743
740
738
735
732
737
726
724
724
714
714
711
709
709
711
711
713
713
712
702
701
704
704
701
699
698
689
684
683
682
681
681
684
684
684
684
671
672
668
666
665
667
667
669
672
674
675
675
684
686
690
690
694
695
696
696
696
699
706
710
718
713
725
734
747
738
728
732
719
712
711
713
714
723
721
724
731
737
745
746
754
757
759
765
766
780
805
806
805
805
805
806
821
838
844
845
848
850
864
869
882
873
872
872
862
860
858
862
864
860
854
852
840
832
833
829
821
820
820
812
809
803
800
793
792
788
787
782
778
776
774
774
770
780
779
777
772
762
760
767
763
762
761
755
753
750
746
743
740
743
741
741
744
744
743
739
738
738
739
735
739
736
732
730
729
726
725
725
724
723
720
718
714
716
711
714
713
714
715
716
716
717
717
717
717
717
717
718
718
714
710
710
711
707
708
708
708
707
708
709
710
711
710
708
707
707
706
706
706
707
707
710
710
710
711
713
715
715
715
714
714
715
722
725
727
729
731
733
734
734
743
749
751
744
746
749
752
755
765
768
769
767
766
765
766
768
770
770
774
778
795
783
774
771
774
781
792
785
782
779
779
779
779
780
780
780
777
776
775
775
776
777
777
782
792
797
809
814
817
820
828
838
843
839
832
833
833
839
839
836
834
843
835
835
839
841
848
856
862
863
871
878
890
885
883
880
881
883
884
886
888
890
866
867
867
863
852
847
840
836
832
822
821
819
822
825
808
798
794
789
789
784
783
783
781
781
781
776
772
772
769
769
765
761
754
753
752
747
746
746
745
747
747
747
747
748
750
752
752
750
750
750
748
748
755
750
749
743
740
742
741
744
747
749
750
749
744
739
740
738
736
734
733
733
731
727
727
727
726
726
726
726
726
726
727
727
728
728
728
728
732
731
730
729
729
732
735
738
741
742
742
744
743
745
700
743
743
746
749
748
739
729
728
731
732
735
735
733
734
734
736
738
738
739
724
724
724
721
719
719
719
723
725
733
740
742
747
750
750
751
753
753
750
749
750
744
743
739
738
738
739
740
741
739
737
735
731
723
719
719
719
718
717
717
717
719
722
722
724
729
732
732
733
735
736
736
738
742
742
742
742
742
746
750
754
759
765
764
762
762
761
759
761
762
759
756
755
757
759
765
769
771
771
772
771
770
769
769
768
766
766
770
770
770
770
773
779
781
778
778
777
776
777
779
777
775
768
766
766
762
758
748
743
739
740
743
739
737
725
723
707
706
705
700
700
700
700
694
690
683
680
675
668
663
662
662
659
658
656
654
653
653
651
649
648
647
644
644
643
641
638
632
631
650
649
627
602
599
597
597
597
593
596
596
593
590
589
590
588
589
590
590
591
592
591
591
591
592
591
590
588
588
586
586
585
585
586
584
584
583
583
583
582
582
582
582
590
598
607
583
580
580
580
577
576
576
576
575
574
574
574
573
573
573
572
571
570
570
571
572
572
570
569
569
568
569
569
569
569
569
568
568
567
567
567
567
565
564
564
563
563
564
564
564
564
565
565
564
566
564
564
563
562
562
561
561
561
561
561
560
560
558
557
557
561
561
565
563
565
565
565
566
565
565
565
566
567
567
565
567
567
558
556
559
560
560
561
563
561
559
557
560
558
558
555
555
555
554
551
552
554
557
557
555
555
556
556
556
559
558
557
558
558
558
557
557
557
560
561
562
584
585
590
579
579
579
579
578
578
579
584
591
593
608
614
617
623
627
643
652
661
665
665
666
666
666
666
667
669
670
670
670
671
676
679
675
679
685
695
694
702
741
740
737
742
738
737
736
732
723
724
722
719
715
712
704
698
696
682
682
682
675
673
673
675
677
673
667
667
666
664
664
666
670
670
667
664
662
658
657
656
652
652
651
651
653
650
646
649
649
648
648
648
648
646
646
656
658
658
660
663
659
657
656
660
666
669
667
662
661
665
668
659
656
660
658
655
654
654
650
652
648
647
642
643
641
639
642
642
642
646
645
641
640
641
637
630
630
629
626
624
627
627
628
626
625
625
627
631
621
610
604
602
598
597
597
595
595
594
594
592
592
593
593
591
590
590
590
590
589
589
589
588
588
586
585
585
585
586
586
588
588
588
588
588
588
589
590
591
593
594
594
596
597
597
601
604
606
610
612
615
626
626
635
633
633
634
636
636
635
634
636
636
636
636
634
632
640
646
640
643
645
646
647
653
652
650
648
643
638
641
637
638
636
637
643
647
648
647
634
635
637
639
623
621
620
623
627
625
624
624
616
614
613
612
610
609
607
605
605
604
603
600
599
599
597
597
595
594
589
588
590
588
587
583
580
580
582
581
579
579
575
573
573
573
573
572
571
571
568
566
568
565
564
564
563
563
564
565
569
569
568
567
569
569
568
568
568
569
570
570
571
571
571
570
571
571
569
567
567
567
568
568
565
563
564
563
564
565
560
559
558
558
555
555
557
558
554
546
550
547
546
546
549
545
547
548
546
540
538
538
539
539
539
539
539
536
537
536
536
535
531
530
528
529
529
526
525
524
525
527
528
528
524
527
527
527
526
525
524
524
525
525
524
528
524
524
522
522
522
524
525
525
525
523
523
523
523
523
525
530
528
523
522
522
522
521
522
521
520
519
519
519
518
517
518
518
519
513
515
514
509
510
511
516
517
518
519
520
520
522
522
523
524
525
525
525
526
530
531
532
532
532
533
534
536
538
535
534
534
535
535
534
534
534
530
531
533
534
531
532
530
528
530
527
527
527
528
528
528
529
528
528
528
529
530
531
532
531
531
531
532
531
531
532
534
533
536
539
539
539
540
539
540
539
539
541
543
543
542
544
544
544
545
550
547
545
548
551
557
555
556
556
552
553
553
556
557
557
556
554
553
553
552
552
552
552
552
554
553
552
553
554
554
555
555
556
555
555
556
557
557
558
556
560
562
562
563
563
562
561
563
564
561
560
559
557
559
559
559
559
559
557
559
558
557
556
556
558
558
558
558
559
560
561
562
562
562
562
562
562
562
562
562
558
559
559
557
558
561
561
569
569
575
583
585
589
590
579
579
577
572
563
561
561
564
564
560
561
563
563
563
565
565
566
571
571
571
559
560
560
561
567
568
563
560
562
563
544
536
535
533
532
532
530
532
532
532
532
533
534
533
533
531
529
527
526
525
524
525
528
527
526
528
524
521
520
521
522
525
529
528
524
526
529
528
526
526
527
524
524
525
525
525
525
526
524
526
526
524
523
528
522
522
520
520
518
528
520
517
515
520
518
513
513
513
514
517
517
517
518
517
516
515
515
509
507
507
508
509
509
510
509
509
509
511
512
513
512
512
512
512
512
511
511
511
511
517
526
527
531
532
533
535
536
535
535
534
534
533
533
532
531
534
534
534
534
534
534
534
541
539
541
543
552
554
555
559
559
561
564
567
577
579
579
581
583
582
582
580
577
585
592
585
584
593
595
597
601
611
613
613
614
621
621
621
623
615
603
603
603
609
610
613
607
610
613
616
612
613
612
590
589
589
587
587
587
584
586
585
584
581
581
581
581
581
581
580
576
573
573
573
571
570
570
569
568
559
556
555
555
554
553
553
554
553
549
550
550
547
545
544
544
544
544
551
540
540
539
539
537
537
535
529
528
527
527
527
526
526
521
521
521
520
518
516
516
516
516
513
513
513
512
512
512
508
506
506
508
507
503
502
502
502
503
503
503
509
518
523
523
524
528
529
528
528
526
529
525
524
525
523
523
523
523
521
539
547
547
544
544
550
550
546
550
543
540
527
524
522
515
508
504
502
498
496
495
500
504
520
524
524
521
517
520
525
543
548
544
544
543
530
533
504
497
499
496
494
494
494
492
492
490
487
487
487
486
463
466
465
458
464
460
456
447
445
441
441
441
434
433
433
433
433
434
429
429
430
429
427
426
425
424
421
421
421
420
419
420
421
421
421
419
421
421
420
420
420
420
420
420
420
420
421
421
422
422
420
420
419
419
419
419
419
419
419
415
416
417
417
417
417
416
416
416
418
422
422
421
424
426
424
418
417
423
423
423
417
414
417
417
416
415
411
409
404
393
390
388
388
388
388
385
384
384
382
381
381
381
381
381
381
381
381
379
382
385
392
387
383
383
383
381
379
380
381
383
384
384
384
384
379
378
378
383
383
383
383
382
381
381
380
380
379
380
381
382
383
382
381
381
380
382
382
379
379
379
379
379
380
380
380
380
382
382
382
386
386
386
386
386
387
387
386
387
389
391
391
390
391
406
402
403
404
405
404
404
405
405
405
406
405
405
405
402
402
402
402
402
402
400
400
400
400
400
402
402
400
400
399
398
396
396
397
398
398
398
398
398
397
396
396
397
397
396
396
397
397
394
385
392
394
392
388
393
401
404
406
406
406
407
405
405
406
407
406
405
405
405
404
405
405
405
395
389
388
388
387
387
387
384
385
384
389
389
382
380
376
371
371
371
370
370
370
370
369
369
366
365
363
362
363
364
359
361
368
375
379
383
380
379
375
368
365
368
385
392
385
382
383
383
384
385
385
385
385
385
385
384
384
384
384
384
384
383
376
376
376
376
376
376
373
371
369
368
367
364
361
362
359
358
354
355
354
353
366
370
367
373
372
366
365
364
364
362
366
365
366
364
358
354
351
350
347
346
345
345
346
345
344
341
340
341
341
340
340
339
341
339
341
345
346
346
346
344
343
343
344
346
340
340
343
344
344
345
343
342
340
340
341
341
344
344
346
347
348
348
348
349
349
349
349
349
352
353
353
354
356
362
364
361
365
366
360
359
360
353
360
359
359
358
358
359
357
355
355
356
357
355
354
356
354
356
357
369
371
372
370
372
370
370
369
369
369
368
366
366
366
366
365
364
364
364
363
363
363
362
362
361
359
359
360
360
360
359
359
363
362
362
362
369
369
369
362
361
359
358
359
359
358
360
359
361
357
357
355
354
355
355
356
357
358
358
358
357
357
358
362
370
376
375
377
377
376
375
377
377
377
376
373
372
371
369
366
364
362
360
358
357
357
357
357
358
358
357
356
355
354
356
358
358
358
358
358
357
357
357
359
359
359
358
357
358
359
361
362
362
362
362
361
361
362
364
364
365
365
364
367
371
378
381
381
381
382
382
382
382
382
382
379
380
383
384
381
383
381
379
376
377
378
378
379
379
380
380
382
382
383
383
383
383
385
385
385
385
386
388
388
388
390
391
391
392
392
392
392
392
393
393
393
395
396
398
401
403
400
402
403
405
406
408
410
412
415
410
421
416
422
425
433
427
424
424
427
426
427
429
429
429
437
441
444
442
441
448
450
450
464
471
479
484
492
494
495
497
498
500
500
501
503
507
523
528
531
539
541
528
515
506
494
495
485
480
474
458
447
449
454
456
457
458
458
458
460
460
461
462
463
464
466
471
472
472
470
474
473
471
470
467
460
456
455
454
454
452
451
449
447
445
441
444
445
447
453
456
458
461
465
464
463
464
464
461
458
458
462
465
466
464
462
460
460
460
460
460
454
451
448
444
443
443
443
443
443
443
443
443
443
444
444
446
447
447
446
444
439
437
421
420
420
419
418
416
415
415
417
418
419
420
422
423
422
421
431
436
435
432
436
435
434
448
448
445
446
448
450
450
451
456
457
457
458
461
462
462
462
462
462
464
470
472
474
473
475
477
479
482
483
485
485
487
492
490
488
490
492
492
493
494
495
496
496
500
499
499
499
499
499
500
502
503
503
503
509
512
510
511
513
515
518
517
517
506
507
503
503
502
501
505
509
511
518
526
529
532
534
533
533
523
519
516
505
500
497
494
487
482
473
471
464
462
459
457
452
451
450
448
444
429
428
428
427
425
422
421
423
425
425
426
425
422
416
413
407
405
404
405
405
405
403
401
402
400
399
398
397
398
398
396
395
394
393
393
390
392
393
389
388
383
382
382
382
383
383
383
379
383
379
379
380
377
377
378
375
375
374
377
372
371
370
370
369
367
366
367
367
362
364
364
364
364
364
364
361
361
361
360
361
358
358
358
356
354
353
351
349
348
347
347
347
353
353
353
350
345
345
345
345
343
345
342
340
340
337
336
336
339
334
333
331
330
330
330
330
330
330
327
327
327
327
327
327
327
327
326
345
334
329
326
325
330
321
318
318
319
319
318
318
317
318
318
316
315
317
317
312
312
314
318
319
322
329
331
334
339
340
344
346
349
352
354
354
355
369
374
360
366
366
365
367
371
363
356
355
355
353
351
352
353
366
368
369
370
362
360
334
328
327
330
323
308
308
308
307
307
303
301
300
298
298
299
299
305
301
306
307
300
299
296
295
294
294
294
294
295
294
297
300
307
308
307
306
306
304
304
306
308
312
314
315
314
309
307
306
306
312
312
311
310
309
307
306
307
308
316
325
324
322
324
326
336
349
352
352
352
353
354
347
344
340
337
334
330
321
318
319
319
319
320
321
319
317
317
319
319
319
320
320
320
319
319
318
317
317
317
317
317
316
313
313
312
311
312
312
311
310
312
312
311
311
309
309
309
309
309
310
311
311
311
311
310
308
309
311
310
308
309
310
311
309
309
307
307
307
303
304
304
301
302
302
302
301
299
297
297
297
298
298
296
296
296
297
298
298
298
297
295
296
297
294
294
295
295
295
294
295
293
287
289
286
287
285
285
286
285
283
284
284
285
282
282
282
279
279
278
277
276
278
277
275
272
272
272
273
271
269
265
267
266
262
263
263
263
264
264
264
264
263
262
263
262
262
261
261
261
259
259
257
258
261
259
256
256
257
258
258
258
257
258
258
258
258
258
257
257
254
254
254
253
252
253
254
254
253
264
265
263
263
265
267
269
272
272
273
274
274
274
274
274
268
267
267
268
269
274
276
277
277
274
272
276
281
282
273
272
282
267
261
261
256
253
251
250
250
253
252
252
250
248
251
251
250
250
250
252
253
252
251
251
250
252
251
252
252
252
251
251
251
251
251
251
250
249
248
249
246
245
243
242
242
243
245
245
244
244
245
243
244
243
243
243
243
242
241
239
242
240
242
242
241
240
239
241
241
241
240
244
241
242
240
241
241
241
241
241
242
241
237
242
243
244
243
243
243
243
243
243
243
243
243
244
244
244
244
241
243
244
244
244
243
244
244
243
242
241
241
241
242
239
239
239
239
239
239
239
239
239
239
239
238
238
237
237
238
240
240
240
240
238
239
239
241
240
239
239
239
242
242
243
243
244
243
241
241
241
242
243
243
244
243
243
243
243
243
242
241
241
241
242
242
241
241
242
241
240
241
241
241
241
240
241
241
241
241
242
242
239
239
241
240
239
241
242
246
251
260
257
248
256
250
249
244
244
244
244
242
243
244
245
246
246
245
244
244
244
244
242
242
242
243
245
242
238
237
239
239
236
236
235
235
235
237
236
236
236
239
239
239
239
239
240
240
238
238
237
240
244
262
270
262
260
259
256
254
241
240
237
234
234
234
234
236
234
234
233
235
235
237
237
236
236
236
234
232
232
233
232
233
233
233
232
232
231
231
232
230
231
236
231
229
231
225
233
234
239
240
238
234
230
227
229
230
233
239
236
244
249
238
233
231
233
235
236
238
238
237
248
253
256
248
238
242
240
248
242
247
251
236
238
236
248
263
236
233
227
227
230
243
245
239
236
236
235
235
235
235
234
231
228
230
231
231
233
233
231
229
230
227
232
235
237
228
244
244
243
241
238
232
230
235
244
245
240
236
227
227
227
229
231
236
244
243
236
234
230
233
239
230
230
233
236
234
230
227
227
227
227
227
230
228
237
235
231
227
229
231
234
235
230
227
235
243
234
227
227
227
227
227
227
227
235
264
231
227
227
227
245
253
251
248
253
247
232
227
227
227
227
227
227
227
227
230
240
229
227
233
238
244
243
239
228
232
228
227
227
227
227
227
227
227
228
232
233
235
227
227
227
230
228
228
239
235
234
234
232
232
232
235
237
228
235
232
227
229
231
231
235
239
246
232
242
242
230
232
233
234
227
226
230
247
256
224
224
223
224
225
226
222
226
226
224
224
226
227
234
238
238
247
249
257
233
252
232
235
239
239
231
226
226
226
231
229
241
242
244
242
234
231
228
228
228
228
226
226
226
226
226
224
225
228
228
224
223
221
221
221
221
223
223
220
220
222
221
218
218
218
220
222
223
222
218
233
216
227
234
219
228
218
219
219
226
229
219
232
216
214
215
214
218
218
217
217
222
222
217
214
214
211
211
214
211
215
214
213
215
211
211
223
233
214
210
225
231
227
218
217
217
217
217
213
214
214
214
224
217
216
219
218
217
217
220
219
219
220
218
218
215
214
214
213
226
226
213
217
213
214
215
215
216
218
211
222
220
217
210
223
216
213
213
217
213
214
214
214
221
220
214
208
216
215
203
203
206
209
208
208
205
215
217
209
211
208
211
215
215
215
215
215
215
215
216
218
219
219
218
218
217
216
216
216
216
225
235
244
246
247
247
248
249
250
251
253
253
253
253
253
253
253
253
254
255
255
251
249
246
244
244
231
231
227
224
223
223
223
223
223
223
226
228
231
230
216
217
219
222
226
230
232
230
227
222
221
221
219
218
217
216
216
217
220
218
218
217
221
221
221
222
222
221
222
222
221
221
222
223
224
224
224
225
226
226
228
229
229
232
233
230
235
232
236
236
241
246
245
252
251
259
263
267
254
249
249
241
238
238
238
237
235
234
234
234
235
235
235
236
237
237
237
239
239
244
243
245
245
243
243
243
242
242
243
244
244
244
244
244
244
244
244
244
244
244
244
244
243
246
248
249
247
245
245
245
245
245
245
245
245
245
245
244
244
244
245
245
244
243
245
245
246
246
246
246
246
246
246
246
246
248
247
247
249
249
249
249
249
249
249
250
265
274
276
279
280
281
283
284
285
284
284
283
284
285
284
283
288
291
291
291
289
291
294
297
299
299
300
300
303
303
305
306
307
307
307
307
306
305
303
302
302
305
303
303
300
299
298
297
300
296
295
293
292
291
287
284
285
294
276
273
272
272
272
272
272
272
272
272
272
273
274
272
272
272
272
272
272
271
269
265
263
268
268
266
266
266
266
267
267
267
267
267
267
272
276
276
277
277
277
275
276
279
273
273
274
274
274
273
272
273
282
283
285
286
289
292
294
297
298
300
294
291
278
275
274
269
267
256
254
253
253
256
262
262
262
268
263
272
269
262
264
263
258
259
261
260
259
259
257
255
254
254
249
247
243
243
243
240
235
232
232
233
233
234
234
236
236
232
233
233
233
235
233
233
235
236
237
236
237
236
235
236
237
238
240
240
241
239
238
238
238
240
243
243
244
244
244
243
243
243
243
246
251
250
248
245
246
248
246
246
258
258
258
258
257
257
256
252
251
249
249
248
249
249
250
250
250
251
254
255
255
262
266
268
272
275
274
272
267
270
276
279
280
288
290
294
292
293
294
294
294
293
291
286
287
285
283
280
279
278
280
280
276
276
273
272
271
270
268
263
253
251
246
240
239
233
231
230
229
229
229
229
228
228
227
227
225
225
225
225
229
245
253
254
253
250
248
249
249
250
254
246
246
248
245
237
238
236
235
231
236
241
245
245
245
245
245
244
242
242
242
240
239
237
236
236
236
236
236
236
236
237
238
239
239
239
242
242
245
245
245
249
254
259
257
255
254
254
254
254
254
255
258
259
260
259
258
259
259
261
261
261
262
262
263
264
265
265
264
266
267
267
267
272
275
276
279
278
277
277
282
294
288
296
295
288
286
290
292
291
291
291
291
291
291
291
293
299
300
302
302
302
304
305
303
304
305
316
314
313
313
314
316
323
327
330
332
340
345
353
360
359
381
382
385
386
388
389
389
389
375
370
368
366
364
363
366
370
379
376
371
370
368
365
357
357
358
359
357
353
345
344
344
344
344
345
345
344
343
333
332
332
332
332
333
333
331
331
330
329
328
327
325
324
324
324
321
321
320
320
319
319
317
315
314
316
315
315
315
315
311
311
310
308
307
306
304
301
300
299
299
298
297
297
295
294
294
299
298
298
298
291
291
290
290
290
289
291
291
289
288
290
288
284
288
288
286
283
283
285
290
289
285
278
275
275
274
274
277
279
280
283
288
290
291
291
290
288
286
283
291
303
299
294
299
294
293
292
292
292
298
298
296
294
300
305
306
309
319
320
321
325
328
327
327
327
328
330
336
350
344
355
368
368
362
364
367
368
362
350
344
344
332
330
330
329
327
324
322
322
321
319
318
316
313
311
302
301
301
300
298
298
299
303
302
299
297
295
291
287
287
286
282
282
279
276
276
274
273
273
272
272
272
280
266
272
268
269
273
272
273
261
251
254
251
254
254
250
246
243
241
239
238
238
239
242
241
240
235
235
234
232
229
227
226
227
228
226
226
227
227
226
225
225
224
224
222
221
221
221
219
218
217
216
211
210
209
209
207
207
208
207
205
202
200
200
200
200
199
199
201
199
199
201
203
203
195
194
192
191
191
191
191
191
190
187
189
185
184
179
179
178
177
177
176
176
176
177
179
178
178
178
178
178
178
178
178
179
178
176
176
176
176
175
176
173
171
171
171
171
171
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
172
172
172
172
172
172
172
169
169
169
170
170
169
171
171
170
170
169
167
166
166
166
166
166
166
166
166
165
167
165
165
165
165
165
165
165
165
165
165
165
165
165
164
166
164
163
163
164
165
164
164
164
164
163
163
163
164
165
165
164
163
164
168
168
168
167
167
166
166
168
169
170
171
171
171
174
175
176
176
176
176
176
176
176
176
176
176
176
185
196
198
201
201
200
201
202
203
204
205
204
203
202
202
204
205
205
203
201
201
201
202
203
203
202
201
201
201
203
202
203
203
204
204
205
205
206
206
207
208
209
211
210
210
210
210
210
210
209
217
217
218
221
230
230
227
196
184
181
178
171
167
163
163
163
162
163
163
161
161
159
159
159
158
157
157
157
157
157
157
157
157
161
162
164
163
167
166
166
166
170
170
165
165
166
161
160
160
162
163
162
162
163
163
161
162
162
163
162
162
162
165
168
167
170
171
170
164
162
161
161
158
161
162
162
164
169
170
168
167
167
167
167
167
160
160
155
154
155
157
157
156
156
156
156
156
156
155
155
155
156
157
157
156
155
155
155
155
153
152
152
152
152
154
155
152
157
157
157
157
157
160
160
162
162
164
166
164
162
157
157
158
159
158
157
155
157
168
171
168
168
175
175
178
178
179
179
179
179
179
180
180
180
180
182
180
180
180
180
178
178
179
179
178
177
176
175
175
174
175
175
176
176
174
172
172
172
170
172
169
159
156
155
146
144
145
145
144
143
140
141
144
146
145
145
146
146
145
144
146
145
145
144
144
144
142
140
136
138
137
137
137
137
137
135
134
134
135
135
134
134
133
133
134
140
141
144
152
152
154
154
156
156
156
157
155
155
155
155
151
151
151
153
157
160
159
158
157
156
152
147
142
141
139
138
137
136
136
136
130
129
129
129
127
127
126
124
127
127
127
126
126
126
125
125
125
125
126
127
127
127
127
125
125
125
125
125
126
126
123
123
123
125
125
125
125
125
125
126
126
126
125
126
126
125
127
127
127
126
127
126
125
124
124
124
124
123
121
122
123
123
123
123
121
121
121
123
123
122
123
124
124
124
123
122
121
122
123
123
121
120
120
120
121
121
122
122
121
120
119
117
120
120
118
118
118
118
118
118
118
118
118
119
120
120
120
120
120
121
121
121
120
122
121
121
121
119
120
119
119
118
118
118
119
119
119
120
120
120
120
117
117
117
118
118
119
120
118
118
118
118
117
117
117
117
115
116
119
119
119
119
118
122
123
118
118
119
116
117
118
116
115
114
115
115
115
114
121
122
116
120
120
118
114
114
113
113
113
113
111
113
112
112
112
113
113
112
112
113
112
115
113
113
113
113
113
114
114
114
114
113
113
113
113
112
113
113
112
112
112
111
114
114
112
112
113
113
114
114
114
114
115
116
116
116
115
113
111
111
112
112
111
112
111
109
111
110
110
112
111
112
111
111
111
111
111
110
110
109
109
109
110
112
111
110
110
110
111
110
110
110
110
111
112
112
111
111
107
109
111
110
110
110
111
111
113
121
121
121
117
113
113
113
113
113
113
112
112
113
114
116
116
113
113
113
115
116
116
116
116
116
116
116
114
113
113
112
113
113
113
113
112
113
114
117
116
115
115
115
115
116
114
113
117
113
114
116
114
112
110
110
111
112
110
110
112
110
111
112
110
110
115
115
113
113
113
111
112
118
117
117
118
124
125
125
122
119
122
122
123
122
121
121
121
125
125
123
122
120
121
119
116
114
120
122
122
122
121
117
117
117
119
119
120
121
121
120
119
115
115
114
113
116
118
118
117
114
114
115
116
115
115
116
114
116
116
117
113
113
113
113
113
112
112
112
112
111
112
111
111
111
111
112
113
112
109
110
110
111
112
110
109
111
108
107
108
110
111
110
111
112
110
110
111
112
109
108
109
109
109
109
106
108
109
109
110
111
109
108
106
109
113
109
109
110
109
109
110
109
109
108
107
107
107
109
108
109
107
110
110
111
110
110
112
113
113
114
115
122
122
124
126
128
126
124
128
126
121
122
122
123
123
124
125
126
126
126
126
126
127
127
126
124
124
123
122
122
123
124
125
132
132
132
132
131
128
129
130
131
131
132
134
135
135
136
134
134
134
133
133
134
133
134
135
135
133
134
135
135
136
136
136
136
132
135
137
136
136
136
136
136
136
135
136
135
134
134
138
138
137
138
138
139
140
141
143
144
145
145
146
147
149
152
156
160
162
161
161
161
164
162
162
158
163
162
164
166
160
156
173
163
160
161
161
161
161
163
163
163
163
163
167
167
163
164
169
168
170
172
170
166
167
169
170
172
175
176
182
184
188
191
193
193
193
199
198
202
208
216
216
217
222
227
231
236
242
244
247
248
257
267
268
264
261
259
261
266
253
258
256
255
248
234
228
222
200
197
195
193
194
197
206
208
209
207
209
209
209
209
211
208
215
212
209
211
208
205
205
211
214
206
199
199
197
202
198
190
187
184
181
176
155
156
162
167
173
182
201
200
199
185
183
184
183
181
179
172
156
152
151
149
149
149
149
149
149
149
150
147
151
151
150
152
161
182
176
177
160
158
156
164
165
169
169
166
162
144
139
139
141
143
146
152
151
147
141
138
136
139
135
136
140
145
145
142
139
132
144
151
153
150
155
162
164
171
173
168
167
166
164
159
161
162
166
165
164
167
163
164
178
186
193
192
192
195
199
197
197
197
197
197
196
196
196
197
198
201
200
199
197
197
192
187
180
172
172
172
172
171
170
169
168
166
163
155
156
149
149
149
150
150
150
150
151
151
151
151
151
150
150
154
155
155
154
154
153
153
153
157
156
155
149
146
146
148
149
158
161
164
174
177
180
182
182
180
178
178
171
166
166
167
159
155
152
153
151
149
147
145
144
144
144
144
144
145
145
148
148
147
145
140
141
141
141
142
142
142
142
142
141
141
140
135
135
135
136
136
137
137
145
146
147
149
149
150
151
151
156
157
158
158
158
155
155
155
156
152
151
151
154
153
148
131
116
119
125
126
128
128
125
126
126
125
122
124
126
126
126
123
123
123
123
122
121
121
121
121
121
121
121
120
120
121
112
112
113
113
113
113
113
110
109
106
107
109
106
105
107
104
103
103
102
102
102
96
103
108
112
114
114
111
108
109
109
114
113
115
115
115
115
115
115
116
116
117
114
114
115
114
113
113
113
117
117
117
119
118
117
118
120
121
118
122
120
122
121
121
123
123
123
123
125
126
125
125
125
125
124
126
128
130
130
130
137
137
138
136
135
134
130
132
132
131
131
131
131
130
130
129
129
126
125
125
125
126
126
124
125
126
127
127
126
126
127
129
130
130
130
130
126
126
124
122
123
121
121
121
120
121
120
118
122
121
120
121
124
121
121
122
122
122
121
121
123
122
122
122
121
121
122
123
125
123
123
122
122
123
123
124
124
126
127
127
127
126
126
125
125
125
127
129
131
128
129
130
132
130
131
131
131
131
132
132
132
134
135
137
137
137
138
144
143
142
142
144
143
142
141
141
142
142
144
144
144
145
142
138
139
132
134
135
136
132
131
132
132
132
132
132
132
132
132
131
130
129
127
126
126
126
127
126
125
128
132
133
136
137
138
137
137
138
137
136
133
130
134
134
136
133
131
130
130
147
146
158
164
165
168
167
163
158
142
139
139
133
130
124
114
113
109
105
103
101
101
98
95
96
95
97
95
97
97
97
97
97
97
98
96
95
95
97
95
94
93
92
92
92
91
90
91
91
93
90
92
92
90
90
89
91
89
89
89
90
89
89
90
89
89
89
90
90
89
89
90
91
94
92
90
88
87
87
87
88
87
88
87
87
87
86
86
88
88
87
88
87
88
89
86
85
85
85
85
85
86
85
87
86
86
85
85
85
85
85
85
84
84
86
86
84
85
85
84
83
83
83
83
85
86
84
82
83
83
83
84
83
83
83
83
83
85
86
86
84
84
84
84
83
80
80
80
81
81
81
81
80
81
83
80
81
80
79
79
79
78
79
81
82
82
80
79
79
80
80
80
80
80
80
79
78
79
81
81
81
81
81
81
80
80
78
84
83
84
84
84
85
87
86
85
84
83
82
82
82
82
84
82
82
83
83
82
82
84
84
83
82
84
83
83
83
83
83
83
83
83
83
80
79
79
80
78
79
78
78
78
78
78
78
79
79
79
79
81
82
82
82
82
81
82
82
81
82
82
81
79
79
82
81
81
82
81
82
84
83
83
83
83
83
81
82
83
83
82
82
82
83
83
84
83
82
82
83
83
82
82
82
83
81
81
81
82
82
82
83
82
80
83
83
83
84
86
85
86
85
83
82
82
82
80
81
81
80
80
81
80
80
80
81
82
81
81
81
81
81
81
84
82
82
81
81
81
81
82
82
83
82
83
80
82
82
82
82
83
82
81
82
82
81
83
83
83
81
81
81
84
84
83
84
83
82
83
82
83
82
83
82
84
84
84
86
85
84
83
82
82
83
83
83
83
83
83
83
83
84
82
83
84
82
84
85
84
84
82
82
84
85
83
84
83
83
83
84
84
86
83
86
86
86
86
86
86
86
85
86
85
86
87
88
87
87
86
84
84
83
83
83
83
83
83
83
83
83
83
84
83
87
87
87
87
87
87
87
87
87
87
87
87
87
87
86
86
86
85
86
83
85
85
86
86
85
87
86
86
84
84
87
86
86
86
86
87
87
87
87
86
84
87
85
87
88
88
89
90
92
92
92
91
92
91
93
93
93
93
93
92
94
93
93
92
91
90
89
90
90
96
96
92
91
92
92
92
92
92
91
91
93
93
94
94
93
91
94
94
94
95
94
94
95
95
94
93
93
94
94
94
96
95
95
95
95
95
96
96
96
96
96
97
97
97
96
96
96
96
99
100
100
99
98
98
98
97
97
98
100
98
98
98
99
99
100
102
104
105
104
104
104
103
101
101
100
101
101
101
102
103
103
103
102
105
106
105
106
108
108
108
110
110
111
111
110
113
113
113
113
113
113
113
115
112
112
113
113
115
116
121
122
122
122
121
120
120
119
118
118
118
117
117
117
116
116
116
117
118
117
118
119
119
119
119
119
121
121
120
120
119
119
119
119
120
119
120
121
121
122
122
126
130
130
130
129
128
128
128
128
129