173
178
182
171
179
186
191
195
197
185
191
197
203
208
210
213
213
213
212
210
207
204
210
221
224
225
227
227
226
224
221
218
211
202
228
232
235
237
238
238
237
236
234
231
224
215
205
228
234
239
242
245
247
248
249
249
248
245
241
236
227
217
205
189
221
230
237
243
246
248
250
252
253
255
255
255
255
251
246
238
228
217
202
183
199
211
221
232
238
243
246
248
250
252
254
255
255
255
255
255
255
255
249
238
225
211
192
194
207
221
231
239
242
245
247
249
252
253
255
255
255
255
255
255
255
255
255
247
234
220
201
178
201
216
227
236
241
243
246
248
251
253
254
255
255
255
255
255
255
255
255
255
255
240
225
207
185
208
221
233
239
242
244
247
249
251
253
255
255
255
255
255
255
255
255
255
255
255
245
229
211
189
212
226
236
239
242
245
247
250
252
254
255
255
255
255
255
255
255
255
255
255
255
248
230
213
191
63
62
62
62
63
68
213
228
235
240
243
245
248
250
252
254
255
255
255
255
255
255
255
255
255
255
255
246
229
213
192
62
62
62
62
63
75
95
110
125
137
194
189
182
173
162
150
137
123
213
226
237
240
243
245
248
250
252
254
255
255
255
255
255
255
255
255
255
255
255
241
226
209
188
62
62
62
62
63
73
95
113
129
143
155
166
177
185
193
219
219
218
215
209
202
193
184
171
156
142
124
210
225
234
240
243
245
248
250
252
254
255
255
255
255
255
255
255
255
255
255
250
236
220
203
62
62
62
62
68
91
111
129
145
159
170
181
191
201
210
217
222
226
230
233
234
234
234
232
229
226
221
212
201
190
174
159
142
122
191
206
220
231
238
243
245
247
250
252
253
255
255
255
255
255
255
255
255
255
254
241
227
212
196
62
62
62
66
85
106
125
144
159
172
184
195
207
216
222
230
237
241
244
246
248
248
247
246
244
239
235
227
217
208
192
175
157
138
184
200
213
224
232
240
243
247
249
251
253
255
255
255
255
255
255
255
255
251
243
230
216
203
62
62
62
77
99
118
139
155
170
183
195
208
218
227
235
240
244
248
250
252
253
255
255
255
255
255
248
241
232
220
207
190
169
151
131
175
190
204
215
225
233
239
245
247
250
252
254
255
255
255
255
255
254
246
239
230
218
206
62
62
66
87
109
131
149
164
180
193
207
219
229
237
242
246
248
250
252
254
255
255
255
255
255
255
255
254
244
232
218
202
182
162
142
163
180
193
205
215
222
229
236
240
244
246
249
251
250
251
248
244
240
234
227
216
204
192
62
62
69
95
119
140
158
174
189
204
217
228
236
242
244
247
249
251
253
255
255
255
255
255
255
255
255
255
254
242
229
212
193
171
150
128
149
165
181
192
203
212
218
223
228
232
234
237
238
237
236
234
231
227
219
210
200
189
178
62
62
74
103
128
146
164
181
195
211
224
234
240
243
246
248
250
252
254
255
255
255
255
255
255
255
255
255
255
250
235
219
199
179
155
135
134
149
164
176
187
196
205
210
216
219
222
224
224
224
222
219
216
210
201
195
185
176
160
62
79
110
131
150
169
187
202
216
228
238
241
244
246
248
251
253
254
255
255
255
255
255
255
255
255
255
255
255
239
224
205
181
160
139
112
117
132
146
158
171
179
187
194
200
204
207
208
208
208
204
202
197
193
184
177
168
155
139
62
79
112
133
153
172
191
205
219
232
239
242
244
247
249
251
253
255
255
255
255
255
255
255
255
255
255
255
255
242
226
207
183
162
141
114
111
126
138
151
159
168
175
180
185
189
190
190
190
187
183
179
174
166
156
144
130
114
81
115
134
153
174
191
205
220
233
239
242
245
247
249
251
253
255
255
255
255
255
255
255
255
255
255
255
255
240
224
205
183
162
141
111
118
128
137
146
153
158
162
166
167
167
167
165
161
156
149
141
82
112
132
152
173
190
204
220
232
239
242
245
247
249
251
253
255
255
255
255
255
255
255
255
255
255
255
251
236
219
201
181
160
138
108
109
130
150
170
188
203
217
229
238
242
244
247
249
251
253
255
255
255
255
255
255
255
255
255
255
255
244
229
213
197
178
155
132
102
124
144
164
182
196
211
223
234
240
244
247
249
251
253
255
255
255
255
255
255
255
255
255
255
250
235
222
208
190
168
147
125
92
118
136
156
174
190
204
217
226
234
242
246
248
251
252
254
255
255
255
255
255
255
255
255
251
239
226
211
198
180
158
139
115
128
146
164
181
195
207
219
226
234
239
245
249
251
253
255
255
255
255
255
255
253
245
238
228
215
204
189
171
149
128
134
152
167
184
196
208
217
224
230
236
240
243
247
249
251
251
251
250
247
242
235
227
216
205
192
178
161
140
139
154
169
183
194
204
212
219
224
229
232
235
239
240
240
239
238
234
230
222
214
206
195
182
165
154
167
180
188
198
205
211
215
220
222
224
227
227
227
226
223
217
209
203
194
181
167
149
161
171
181
188
195
201
205
209
212
213
213
214
212
209
203
197
190
180
169
152
160
168
176
183
189
191
196
198
198
198
196
194
189
183
174
234
238
240
242
155
160
163
230
235
239
242
243
245
247
248
250
251
152
160
164
168
236
239
241
243
245
247
249
250
251
253
254
255
255
255
252
233
187
157
149
156
163
167
172
223
230
233
235
238
240
243
244
246
248
250
251
253
254
255
255
255
255
255
255
246
203
158
152
150
146
144
152
159
165
171
182
186
189
190
192
192
190
187
183
175
212
225
228
231
234
237
239
241
244
246
247
249
251
252
254
255
255
255
255
255
255
255
255
252
207
157
146
142
139
147
154
161
170
174
180
187
192
194
197
197
197
196
191
186
180
173
214
223
226
230
232
235
238
240
242
244
246
248
250
251
253
254
255
255
255
255
255
255
255
255
255
252
197
146
139
138
165
170
178
185
191
195
200
200
200
201
199
195
189
184
176
167
210
220
224
227
230
233
236
238
241
243
245
247
249
250
252
253
255
255
255
255
255
255
255
255
255
255
255
244
169
138
138
166
174
181
188
195
200
203
204
205
204
202
198
193
186
178
171
160
148
205
218
222
225
228
231
234
237
239
241
243
245
247
249
251
252
254
255
255
255
255
255
255
255
255
255
255
255
255
217
143
138
161
168
175
182
192
200
204
207
207
208
209
204
201
195
187
181
172
161
149
140
132
215
219
222
226
229
232
234
237
239
241
244
246
247
249
251
252
254
255
255
255
255
255
255
255
255
255
255
255
255
250
170
156
162
169
176
184
192
201
206
208
211
210
209
206
203
196
189
182
174
162
151
140
132
125
209
216
219
223
226
229
232
235
237
239
242
244
246
248
249
251
252
254
255
255
255
255
255
255
255
255
255
255
255
255
255
203
150
158
165
172
177
184
192
201
205
209
212
211
211
208
203
196
190
182
172
163
152
140
131
124
212
216
220
223
227
229
232
235
237
239
242
244
246
247
249
251
252
254
255
255
255
255
255
255
255
255
255
255
255
255
255
144
151
159
166
173
178
184
193
200
206
209
211
211
209
207
204
196
190
182
173
164
152
140
131
124
204
213
217
220
224
227
229
232
235
237
239
242
244
245
247
249
251
252
254
255
255
255
255
255
255
255
255
255
255
255
255
255
146
153
161
169
174
180
184
193
200
205
208
210
211
208
207
202
196
189
183
173
164
152
139
130
121
208
213
217
220
223
226
229
232
235
237
239
241
243
245
247
249
250
252
253
255
255
255
255
255
255
255
255
255
255
255
255
138
146
153
164
169
176
180
186
194
200
205
207
210
211
207
205
200
194
189
180
173
163
152
139
128
119
209
213
217
220
223
226
229
232
234
237
239
241
243
245
247
248
250
252
253
255
255
255
255
255
255
255
255
255
255
255
255
140
146
154
165
171
177
182
187
194
201
205
207
209
208
206
203
199
193
187
180
172
163
150
137
126
116
196
209
213
216
220
223
226
229
231
234
236
238
241
243
244
246
248
250
251
253
254
255
255
255
255
255
255
255
255
255
255
255
127
140
147
155
165
172
179
183
188
196
201
206
208
209
207
206
201
198
191
186
178
170
161
149
136
124
114
197
209
212
216
219
223
225
228
231
233
236
238
240
242
244
246
247
249
251
252
254
255
255
255
255
255
255
255
255
255
255
125
140
147
155
165
173
180
183
189
196
202
207
208
210
207
205
199
195
189
182
176
168
160
147
133
121
198
208
212
216
219
222
225
228
230
233
235
237
239
241
243
245
247
249
250
252
253
254
255
255
255
255
255
255
255
255
255
255
121
138
147
155
166
173
181
185
191
198
203
209
211
209
206
204
198
193
187
181
174
165
157
143
131
117
195
207
211
215
218
221
224
227
230
232
234
237
239
241
243
244
246
248
249
251
252
254
255
255
255
255
255
255
255
255
255
255
121
137
147
154
165
172
181
185
192
198
204
209
213
210
206
201
197
191
185
178
171
164
153
140
127
114
188
207
211
214
217
221
223
226
229
231
234
236
238
240
242
244
245
247
249
250
252
253
254
255
255
255
255
255
255
255
255
255
118
133
145
153
162
173
180
185
192
197
204
209
212
210
206
199
193
190
181
175
168
160
150
137
122
110
177
206
210
213
217
220
223
225
228
230
233
235
237
239
241
243
245
246
248
249
251
252
253
255
255
255
255
255
255
255
255
255
130
143
152
160
170
179
185
190
196
204
209
210
208
203
197
191
186
179
171
165
156
146
132
115
154
202
209
212
216
219
222
224
227
230
232
234
236
238
240
242
244
245
247
248
250
251
253
254
255
255
255
255
255
255
255
249
125
138
150
158
168
176
184
189
195
200
205
205
203
200
194
188
182
175
167
160
153
143
127
111
121
189
208
211
215
218
221
223
226
228
231
233
235
237
239
241
243
244
246
248
249
250
252
253
254
255
255
255
255
255
255
207
134
146
155
164
173
181
187
192
195
200
200
199
193
189
185
179
170
165
156
148
137
122
110
93
160
203
210
213
216
219
222
225
227
230
232
234
236
238
240
242
243
245
247
248
249
251
252
253
254
255
255
255
255
226
137
127
141
151
160
169
176
181
189
190
193
194
192
188
183
180
174
167
160
152
144
132
119
115
182
207
212
215
218
221
224
226
229
231
233
235
237
239
241
242
244
245
247
248
250
251
252
253
254
255
255
232
155
86
135
145
154
164
171
177
182
185
187
188
185
182
178
176
170
162
155
147
139
127
113
84
133
191
209
214
217
220
222
225
227
230
232
234
236
238
239
241
243
244
246
247
248
250
251
252
253
252
228
160
89
82
138
148
157
165
170
177
181
182
181
178
177
174
170
165
157
150
143
134
121
88
139
192
212
215
218
221
223
226
228
230
232
234
236
238
240
241
243
244
246
247
248
250
251
247
219
151
82
82
82
142
149
157
161
166
171
173
173
141
149
157
163
168
171
174
172
171
171
169
166
158
151
143
137
126
115
134
186
210
217
219
222
224
227
229
231
233
235
237
238
240
242
243
245
246
247
247
235
199
132
85
82
82
82
140
147
155
160
166
172
179
180
182
181
179
175
141
149
154
159
163
166
166
166
164
162
156
151
143
137
129
119
227
230
232
234
235
237
239
240
242
243
241
233
206
158
104
82
82
82
82
136
145
151
159
166
173
179
184
189
190
187
187
183
177
169
140
145
150
152
154
155
156
154
152
147
142
136
129
121
116
194
153
109
82
82
82
82
82
133
142
147
155
162
170
178
186
193
195
197
197
192
189
183
176
167
158
136
140
145
146
146
146
145
143
137
131
124
116
136
143
150
158
166
173
182
191
198
203
204
201
200
193
188
181
172
163
152
140
137
137
136
136
132
124
111
109
131
139
146
153
160
167
176
184
194
202
206
207
206
202
199
193
185
177
166
156
146
131
133
141
148
157
163
170
177
184
195
202
206
208
209
204
201
195
189
178
172
160
149
138
121
136
144
150
159
166
172
178
186
196
201
206
208
209
207
203
198
192
182
174
163
152
142
125
106
137
144
152
161
168
174
179
186
196
202
205
208
209
208
204
199
193
184
175
166
154
143
128
108
139
146
154
164
170
176
180
187
195
200
204
206
209
209
204
199
193
185
177
166
156
146
131
111
102
140
146
157
165
172
178
182
189
196
200
204
207
208
208
203
200
194
186
177
167
158
146
131
114
103
140
147
157
166
174
178
183
190
196
200
204
206
207
207
203
199
192
185
176
167
157
146
134
114
103
141
148
157
167
175
180
185
191
197
202
205
207
207
206
202
198
192
184
176
166
157
148
131
114
103
105
141
149
157
167
176
181
186
192
199
203
207
209
208
206
201
197
190
183
174
165
157
146
131
114
104
105
149
157
167
178
182
188
192
199
204
209
210
208
206
200
195
189
181
171
163
156
145
130
112
104
105
148
156
167
175
183
188
194
200
205
209
212
209
205
198
193
187
178
170
162
154
144
127
109
104
146
155
166
174
182
187
194
201
206
210
214
209
203
197
189
184
175
168
160
152
140
124
108
104
145
154
163
172
181
187
193
198
205
210
211
208
200
194
187
182
173
165
157
148
137
121
107
104
151
159
170
179
186
190
197
202
206
204
201
198
190
185
178
169
161
154
144
132
116
104
104
146
157
166
175
183
188
191
198
200
199
196
190
186
182
173
165
158
150
141
128
111
104
151
161
170
176
183
189
191
192
192
189
185
181
175
169
160
154
145
135
123
107
102
156
163
171
176
182
185
186
186
182
178
175
170
163
156
147
140
131
116
105
157
163
171
175
177
179
176
175
172
170
165
157
150
141
134
123
109
221
227
230
233
240
243
245
247
248
250
252
253
254
255
160
165
170
171
170
168
167
164
157
150
142
135
127
113
221
225
228
231
234
237
239
241
243
245
247
249
251
252
254
255
255
255
255
255
255
158
160
160
159
157
154
149
141
135
125
117
105
222
226
229
232
235
237
240
242
244
246
248
250
251
253
254
255
255
255
255
255
255
255
255
149
146
142
138
129
124
116
220
223
227
230
233
235
238
240
242
244
246
248
250
252
253
254
255
255
255
255
255
255
255
255
255
255
220
224
227
230
233
236
238
240
242
245
247
248
250
252
253
255
255
255
255
255
255
255
255
255
255
255
255
255
217
221
225
228
231
233
236
238
240
243
245
247
248
250
252
253
255
255
255
255
255
255
255
255
255
255
255
255
255
246
218
221
225
228
231
233
236
238
240
243
245
247
248
250
252
253
255
255
255
255
255
255
255
255
255
255
255
255
255
255
218
222
225
228
231
233
236
238
240
242
244
246
248
250
251
253
254
255
255
255
255
255
255
255
255
255
255
255
255
255
196
214
218
222
225
228
230
233
236
238
240
242
244
246
248
250
251
253
254
255
255
255
255
255
255
255
255
255
255
255
255
255
204
214
218
221
225
227
230
233
235
238
240
242
244
246
248
249
251
252
254
255
255
255
255
255
255
255
255
255
255
255
255
255
205
214
218
221
224
227
230
232
235
237
239
241
243
245
247
249
250
252
253
255
255
255
255
255
255
255
255
255
255
255
255
255
196
214
217
221
224
227
229
232
234
237
239
241
243
245
246
248
250
251
253
254
255
255
255
255
255
255
255
255
255
255
255
255
209
213
217
220
223
226
229
231
234
236
238
240
242
244
246
248
249
251
252
254
255
255
255
255
255
255
255
255
255
255
255
209
213
216
219
222
225
228
231
233
235
238
240
241
243
245
247
248
250
252
253
254
255
255
255
255
255
255
255
255
255
208
212
215
219
222
225
227
230
232
235
237
239
241
243
244
246
248
249
251
252
253
255
255
255
255
255
255
255
255
255
207
211
214
218
221
224
226
229
231
234
236
238
240
242
244
245
247
248
250
251
253
254
255
255
255
255
255
255
255
202
210
213
217
220
223
225
228
230
233
235
237
239
241
243
244
246
248
249
250
252
253
254
255
255
255
255
255
255
244
185
208
212
216
219
222
224
227
229
232
234
236
238
240
242
243
245
247
248
249
251
252
253
254
255
255
255
255
250
203
153
199
211
214
217
220
223
226
228
230
233
235
237
239
241
242
244
246
247
248
250
251
252
253
254
255
255
252
214
136
106
168
203
213
216
219
222
224
227
229
231
234
236
238
239
241
243
244
246
247
249
250
251
252
253
254
250
215
145
85
82
117
173
205
215
218
220
223
226
228
230
232
234
236
238
240
242
243
245
246
248
249
250
251
252
243
207
139
86
82
79
81
114
168
202
214
219
222
224
227
229
231
233
235
237
239
240
242
243
245
246
248
249
247
229
189
127
83
82
82
77
77
102
150
189
210
218
223
225
227
230
232
234
235
237
239
241
242
244
245
242
230
203
156
99
81
82
82
81
209
218
224
228
230
232
234
236
236
238
237
232
219
196
158
113
84
82
82
82
82
203
204
206
205
203
199
194
188
180
175
184
191
198
204
210
213
217
219
221
222
219
216
211
203
195
185
177
187
196
203
211
217
223
226
230
231
232
232
230
228
223
218
209
199
186
172
167
179
188
197
207
215
222
228
233
237
241
242
243
243
241
239
234
227
219
209
198
184
167
177
186
196
207
216
225
231
237
242
245
249
252
252
253
251
247
242
237
228
218
207
193
175
183
194
205
215
224
231
237
244
248
250
251
252
253
253
253
253
250
244
236
225
212
199
183
167
189
200
211
221
230
236
243
244
247
248
249
250
251
251
252
252
252
248
240
229
217
203
188
171
205
217
226
234
240
242
243
245
246
247
248
249
249
249
250
249
249
240
230
220
206
189
173
197
210
220
228
235
238
240
241
243
244
245
246
246
247
247
247
247
247
241
231
218
206
189
173
201
212
221
229
234
236
237
239
240
241
242
243
244
244
245
245
245
244
236
228
216
203
188
172
190
201
212
222
228
231
233
234
236
237
239
240
241
241
242
242
242
241
240
232
223
211
198
186
190
199
211
220
226
228
230
231
233
234
236
237
237
238
239
239
239
238
234
227
217
206
195
180
197
209
217
221
225
227
228
230
231
232
233
234
235
235
235
235
232
226
219
209
199
188
193
205
211
217
221
223
225
226
228
229
230
231
231
232
231
230
225
219
211
200
191
199
206
212
215
219
221
222
224
225
226
227
227
227
224
220
216
210
201
193
199
204
210
212
216
217
219
220
221
221
220
217
214
212
206
199
197
201
204
208
210
212
211
211
213
210
209
205
202
195
199
202
203
204
204
202
201
