169
168
168
168
168
168
168
168
168
168
168
168
170
170
170
170
170
170
170
166
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
166
166
166
166
167
167
167
167
166
162
162
162
161
161
161
162
162
162
162
162
162
162
162
161
161
161
161
161
161
161
161
161
161
161
161
159
159
159
159
159
159
159
158
158
158
159
159
159
159
159
159
159
159
160
160
160
161
161
163
163
163
163
163
163
163
166
169
169
167
166
162
162
162
162
163
164
164
164
164
163
163
163
162
162
161
161
161
161
161
161
161
161
161
160
160
160
160
159
159
158
157
156
156
156
156
157
158
157
156
154
154
154
154
154
154
154
155
156
156
156
156
156
156
156
156
156
154
155
155
155
155
155
155
155
155
155
155
155
155
154
154
154
154
153
153
153
153
153
153
153
153
154
154
154
155
155
155
155
156
155
155
155
155
155
155
153
153
152
151
151
151
151
152
152
154
153
153
153
153
153
156
156
156
157
157
157
157
157
157
157
157
157
157
157
157
157
157
158
158
158
159
160
162
163
164
164
164
164
164
164
166
166
165
164
164
164
162
162
162
162
162
162
162
162
162
161
160
160
160
160
160
159
158
157
157
157
157
157
157
157
157
157
157
157
157
157
157
158
158
158
158
159
160
160
160
160
160
160
162
163
164
164
164
164
165
165
165
165
165
165
165
167
167
167
167
168
168
169
168
167
166
165
164
163
164
164
165
164
164
164
164
167
170
167
169
172
176
179
182
183
182
181
179
179
179
179
179
179
179
179
179
177
177
176
175
175
174
174
173
173
173
173
172
171
171
171
171
171
172
172
172
173
176
178
180
183
191
193
194
195
195
196
197
197
197
196
193
193
192
191
191
191
191
191
191
189
185
182
181
181
181
180
180
180
180
181
182
183
185
186
187
188
189
190
191
191
188
178
175
174
173
173
173
172
172
170
170
169
167
167
167
167
167
167
167
167
167
167
168
169
169
170
172
173
174
175
178
182
185
189
190
191
192
192
192
191
191
190
190
189
178
180
181
181
180
179
178
178
183
185
187
189
190
188
185
185
183
181
178
175
175
173
172
171
170
168
167
166
166
165
165
165
163
163
163
163
162
162
161
161
161
161
161
161
161
160
160
160
160
160
160
159
159
159
159
159
159
159
159
159
159
159
160
160
160
160
160
160
160
159
159
159
159
157
156
156
156
156
156
156
155
155
154
154
154
154
156
157
157
156
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
156
156
157
158
160
161
161
163
163
164
164
164
164
165
165
164
164
163
163
163
164
164
165
166
167
168
168
168
169
169
169
169
169
169
170
167
163
162
163
165
167
170
170
172
172
172
172
171
164
164
164
165
167
167
167
167
167
167
167
167
167
164
163
163
161
161
161
159
159
160
161
162
162
162
164
168
169
172
173
173
171
171
170
169
169
168
168
168
168
168
169
169
169
169
167
166
166
165
165
165
165
165
164
162
159
158
154
154
152
151
149
148
148
147
146
146
146
147
147
147
148
150
151
152
152
154
155
163
167
169
170
170
170
170
170
169
169
168
168
167
167
168
168
169
169
170
170
170
170
170
169
168
167
162
164
165
166
168
169
167
156
154
153
151
151
151
151
151
150
150
150
149
149
149
149
150
150
150
150
150
149
149
150
158
162
159
158
156
157
158
158
161
163
160
159
155
154
153
152
152
151
151
149
148
148
148
147
146
146
145
145
145
145
145
145
146
146
146
146
146
146
145
145
145
145
145
145
144
144
144
144
144
144
144
144
144
144
144
144
144
144
143
143
141
143
143
143
145
146
147
147
147
147
147
146
146
146
146
145
145
145
143
141
140
141
143
142
140
138
136
135
135
135
135
135
135
134
133
133
134
135
135
133
134
135
135
135
136
136
137
137
138
138
138
138
138
138
138
138
138
138
139
139
139
139
139
139
139
139
139
139
138
137
137
137
137
137
137
137
137
137
137
137
137
137
135
133
133
134
134
134
134
134
131
133
134
134
134
133
133
133
133
134
134
134
135
135
135
137
138
138
138
138
138
138
138
138
138
138
138
139
139
139
139
139
139
139
139
139
140
139
137
136
135
135
132
133
133
133
133
133
133
133
133
133
135
136
136
136
135
137
137
137
137
137
136
136
136
136
136
138
139
139
139
139
139
140
141
142
143
143
144
144
145
145
145
145
145
146
148
148
148
148
148
148
147
146
145
144
144
142
141
141
141
141
140
138
136
135
135
135
135
136
136
136
136
137
137
137
137
137
137
136
136
135
134
134
133
132
131
131
131
131
131
131
131
131
131
131
131
132
132
132
132
132
132
132
132
130
130
129
129
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
125
125
125
125
125
125
125
125
125
125
125
125
125
125
124
124
123
123
123
123
123
124
126
126
126
126
123
123
123
124
124
126
129
129
129
129
128
128
128
128
127
127
127
127
127
127
124
124
124
124
124
124
124
124
123
123
122
122
122
122
122
122
122
122
122
122
122
123
123
123
123
123
122
122
121
121
121
121
120
119
119
119
120
121
122
122
122
122
122
122
122
121
121
121
121
121
123
123
126
126
126
126
124
122
122
125
125
125
125
125
126
128
128
125
124
122
120
120
117
119
122
122
122
122
122
122
120
119
119
119
119
119
119
119
119
119
119
119
119
120
120
121
121
122
122
122
120
119
116
115
113
112
112
112
112
112
112
112
111
111
111
111
111
111
112
116
116
116
116
115
115
115
114
114
114
115
115
114
114
113
116
117
116
114
113
113
113
113
113
113
114
116
117
117
117
115
114
114
114
115
115
115
117
117
119
119
119
119
119
119
119
119
118
118
117
117
117
117
117
116
116
116
116
116
116
116
116
116
116
117
117
117
117
117
117
117
117
117
117
116
116
115
114
114
114
114
115
115
115
117
117
117
117
117
118
117
117
117
115
118
121
120
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
116
117
117
117
117
117
118
118
118
119
119
119
119
119
119
117
117
117
117
117
117
117
117
117
117
118
119
118
118
117
117
117
117
118
118
118
118
117
117
116
116
116
116
117
117
117
117
117
116
116
116
116
117
117
118
118
118
118
118
118
118
118
118
118
118
118
118
118
122
122
122
122
122
122
122
122
122
122
119
118
118
119
119
119
119
124
123
120
119
120
115
120
122
122
122
122
122
122
121
121
122
121
122
122
121
121
121
121
120
120
120
120
119
119
119
119
121
121
121
121
122
123
123
123
123
123
123
123
123
123
123
123
123
123
121
120
122
123
123
124
124
124
124
124
124
123
123
120
120
121
122
123
125
125
125
125
125
125
124
123
122
122
122
122
122
123
123
123
123
123
123
122
121
120
121
121
121
121
123
123
123
123
123
123
125
124
124
123
123
125
126
126
127
127
128
128
125
125
124
125
125
127
125
124
124
125
125
125
125
124
124
124
124
125
125
125
125
125
127
127
128
128
128
128
128
128
128
127
126
128
127
127
126
126
126
126
126
128
129
129
129
129
130
123
123
123
124
126
128
128
129
129
129
129
129
129
128
128
130
130
132
132
132
132
132
133
133
133
131
133
132
132
132
133
133
133
133
133
133
133
133
134
134
134
133
133
132
132
131
132
132
133
134
134
134
133
133
133
133
133
133
133
133
133
133
133
133
131
131
131
131
130
130
130
130
130
130
130
130
131
132
133
135
139
140
141
137
140
138
141
143
143
142
141
141
141
141
141
141
141
140
140
140
140
140
138
139
137
138
138
138
137
136
136
136
136
135
135
135
135
135
135
135
135
136
136
136
137
137
137
137
134
134
134
134
134
133
133
133
133
133
133
133
133
133
133
133
134
134
137
137
138
138
137
137
136
134
133
134
135
136
136
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
138
138
138
139
139
139
139
139
139
137
137
137
137
137
137
137
137
138
136
136
137
137
138
138
138
138
138
138
137
137
137
137
137
137
139
137
137
140
140
140
141
142
141
141
137
136
136
136
137
137
137
138
138
138
139
141
141
142
143
143
146
147
147
145
141
140
140
140
140
140
139
140
141
141
142
143
146
149
149
149
150
150
151
151
152
152
152
152
152
151
151
149
147
147
147
146
146
144
144
143
143
142
142
142
142
142
142
142
142
142
142
142
142
142
141
140
139
138
139
140
141
142
143
143
143
144
144
144
143
143
140
140
140
140
140
140
140
140
140
140
139
139
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
137
137
136
136
136
135
135
135
135
135
135
136
138
140
143
141
140
141
141
141
142
142
142
142
142
142
142
141
140
140
140
140
140
141
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
141
140
142
142
142
141
141
141
146
141
141
141
141
141
144
147
146
144
143
142
142
142
142
142
143
144
145
143
143
143
143
146
144
144
144
144
142
142
142
142
142
142
142
142
145
143
144
144
143
145
145
146
147
147
147
147
148
148
148
148
148
148
149
147
146
146
146
146
147
148
150
151
151
148
148
149
149
150
151
150
150
150
150
150
150
150
148
148
149
149
150
150
149
148
148
152
152
152
153
150
150
149
150
150
151
153
153
153
153
152
152
152
152
152
153
154
152
153
153
155
154
154
154
154
154
154
154
154
154
156
155
155
155
155
155
155
157
156
155
155
156
157
158
158
158
158
156
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
154
155
155
156
156
156
156
155
156
161
162
163
163
161
156
158
158
158
158
157
158
160
161
162
162
162
162
162
162
162
162
162
161
161
161
160
160
159
159
159
158
158
160
161
161
161
161
161
161
161
161
162
161
158
156
156
156
156
157
157
157
157
157
157
160
160
161
161
161
164
167
166
166
165
164
164
164
161
165
162
163
166
170
166
164
164
164
165
166
167
167
167
167
167
163
163
163
163
167
167
166
170
170
170
170
170
170
170
171
171
173
173
173
174
175
175
175
175
175
169
169
169
169
169
169
169
170
170
170
170
170
170
170
170
170
170
170
169
169
169
169
169
168
168
168
168
168
168
168
168
168
168
168
168
168
169
169
169
169
170
170
168
168
168
168
168
169
169
169
169
169
169
169
169
169
170
170
171
171
171
171
171
170
170
170
170
170
170
171
171
170
171
171
172
172
172
172
173
173
173
173
174
174
174
174
174
173
173
173
173
173
173
173
173
173
173
173
175
176
179
179
179
179
179
178
178
178
178
178
178
180
182
182
182
182
183
184
186
187
187
188
188
188
189
189
189
190
189
186
184
183
182
181
180
177
175
173
173
173
173
174
176
175
175
175
176
179
180
180
180
181
181
183
183
184
186
186
187
187
188
190
188
188
187
187
186
185
185
185
185
185
186
186
186
187
187
187
187
187
187
187
187
187
187
187
187
187
187
188
188
188
187
186
185
183
183
182
181
181
181
181
181
181
181
180
180
180
180
180
180
180
181
181
181
180
180
179
179
179
179
179
179
179
185
187
188
189
190
190
190
188
188
188
187
187
187
187
187
186
185
184
184
184
184
184
184
183
183
183
183
183
183
184
184
184
184
184
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
184
184
184
184
184
184
184
184
183
183
185
185
185
186
187
188
188
188
188
188
188
188
188
189
189
189
195
194
194
195
196
197
197
197
197
197
197
197
197
197
200
201
202
203
202
201
201
204
208
211
217
216
216
216
217
217
217
218
219
219
222
222
222
222
222
222
223
223
223
225
225
225
225
225
225
225
225
225
231
232
235
235
235
236
236
239
239
239
239
239
239
240
241
242
243
245
245
245
245
246
247
248
249
250
251
254
257
257
258
261
261
262
262
262
262
262
263
263
263
263
262
262
262
262
262
262
263
264
265
265
265
265
264