300000
128
114
111
145
103
136
102
133
146
137
107
139
119
115
126
128
125
133
141
131
129
140
115
103
141
130
143
130
102
131
123
140
124
120
108
141
114
142
149
105
120
126
106
111
134
121
129
146
125
136
133
140
137
110
139
149
103
120
111
149
131
115
148
127
118
106
115
143
129
102
115
150
144
103
108
114
112
142
137
135
111
112
122
105
115
116
111
121
150
120
104
134
115
143
102
120
104
142
125
103
109
102
112
150
137
112
145
126
104
112
105
141
113
116
149
124
118
132
142
101
146
115
118
117
132
143
150
138
101
104
122
117
100
118
138
132
101
148
112
128
138
118
149
121
120
129
138
146
135
102
104
120
119
118
116
128
117
148
101
134
115
135
112
146
132
108
129
102
144
146
124
214
218
151
214
130
121
189
183
145
167
178
201
206
130
160
212
138
145
204
157
191
120
124
151
126
185
135
193
196
127
211
139
188
129
155
212
139
180
168
195
182
203
210
186
123
122
202
157
154
131
123
125
167
153
190
195
189
205
198
135
134
137
195
208
123
172
169
182
203
219
203
169
157
192
144
210
215
142
183
181
201
209
195
168
126
125
218
170
196
195
165
124
181
218
213
154
158
140
177
165
164
204
134
192
211
122
162
172
151
189
190
171
161
199
152
123
203
124
140
135
147
171
207
211
137
142
160
141
180
211
145
207
133
125
171
125
148
101
149
143
144
133
128
104
143
120
123
121
125
112
140
120
134
112
144
100
138
104
103
141
143
101
126
109
118
103
142
107
149
141
150
123
106
142
128
126
119
111
136
103
130
109
142
122
147
120
105
104
109
110
136
133
103
118
100
100
101
129
132
117
130
125
112
103
103
140
132
102
124
149
131
148
116
132
122
103
114
113
127
137
135
125
148
125
143
142
112
103
103
146
138
140
125
150
145
141
130
114
115
104
119
131
105
135
108
121
150
124
128
115
146
130
120
146
135
137
146
143
133
102
123
115
109
147
114
130
123
147
119
135
141
122
132
123
129
119
148
127
150
147
139
108
112
133
138
110
124
130
101
104
141
126
141
126
113
147
116
142
108
122
134
111
107
101
135
145
146
149
118
145
106
219
166
153
214
150
169
125
195
210
197
177
190
134
162
163
197
206
188
160
189
213
211
210
121
216
120
216
213
219
148
137
196
166
214
154
172
131
121
177
157
120
199
141
197
201
134
199
203
134
155
182
194
179
144
183
138
146
129
166
163
161
139
173
153
174
188
150
127
147
175
133
148
135
170
207
163
192
184
219
192
216
167
128
122
199
157
206
172
216
181
206
135
208
157
195
178
143
195
168
160
182
218
161
165
186
125
122
205
192
181
200
123
161
142
151
127
125
202
203
151
214
168
141
138
156
134
210
217
125
149
151
173
120
203
216
121
172
168
210
176
199
142
165
153
195
188
190
135
126
135
139
141
148
116
111
149
110
112
102
125
130
147
120
122
133
147
135
129
115
145
129
106
114
142
146
135
127
138
109
125
143
120
139
117
128
144
127
134
111
118
106
148
100
150
118
125
149
105
118
103
113
123
110
126
129
127
126
111
141
113
124
135
145
112
134
109
106
134
115
116
132
148
116
130
117
140
101
105
145
111
123
104
150
103
115
119
132
129
123
110
101
124
138
134
107
134
107
131
134
105
146
121
106
130
141
109
112
106
145
124
104
121
102
120
134
126
144
107
134
139
140
139
148
131
112
134
102
113
139
145
109
137
149
118
129
156
123
159
196
146
189
141
127
152
211
183
165
170
175
180
147
165
187
170
211
180
216
127
148
143
144
163
219
170
182
148
215
124
189
136
218
218
142
137
185
194
199
137
149
140
202
212
162
213
123
144
126
187
217
142
219
185
188
156
173
152
130
154
153
187
151
207
124
129
147
142
200
192
134
189
137
186
213
194
127
159
158
196
213
201
155
161
206
199
150
193
130
213
186
194
159
143
145
188
177
147
144
175
162
139
217
196
139
145
190
141
220
143
141
215
139
138
179
131
135
164
139
218
207
141
205
141
193
143
205
127
142
125
149
114
111
144
133
136
147
131
117
144
114
136
137
110
116
150
119
144
117
124
133
116
143
128
147
142
133
127
147
118
100
106
136
119
126
110
121
103
108
116
142
134
113
104
144
104
114
148
108
136
131
116
125
140
111
142
134
106
148
131
133
134
119
133
107
104
142
111
147
132
117
130
140
123
122
116
113
130
127
139
133
104
148
113
132
129
109
146
137
106
139
123
148
118
127
144
124
112
100
132
107
149
140
116
103
128
115
111
121
150
106
104
145
117
148
108
128
146
127
123
110
130
110
147
143
140
138
128
111
101
116
114
117
109
119
112
128
107
104
136
101
134
124
138
113
130
142
104
137
121
127
137
101
122
124
167
171
128
160
124
128
123
176
120
121
161
204
162
122
175
213
215
219
122
213
210
149
146
171
152
152
154
199
200
141
178
209
150
214
145
181
120
182
157
162
143
218
184
126
164
127
129
171
179
194
207
149
178
134
168
163
127
160
131
156
160
169
167
167
139
125
130
170
154
211
171
205
170
218
128
154
160
179
132
155
182
180
199
156
194
196
170
199
131
145
134
214
135
192
136
204
158
151
133
156
164
148
219
123
161
122
181
175
153
196
134
208
140
188
220
132
149
156
175
144
191
151
182
155
120
166
158
180
189
175
151
210
142
128
194
217
193
154
179
144
172
211
177
217
169
159
171
187
128
132
111
129
125
147
142
108
120
136
117
125
108
147
105
136
128
100
134
124
108
131
125
137
146
148
140
113
117
130
147
139
115
140
129
110
145
143
141
131
142
136
133
118
149
115
146
108
137
135
110
115
110
100
130
118
136
107
134
118
103
142
130
113
126
134
144
118
114
120
100
125
113
125
114
115
105
124
132
107
127
147
107
140
115
140
103
102
118
137
137
116
110
138
136
140
136
117
130
109
141
131
130
121
118
130
100
142
144
139
149
111
120
112
120
130
140
118
136
118
101
129
102
118
117
149
102
118
132
135
103
132
113
136
109
121
102
145
150
128
134
119
124
111
102
139
113
127
150
133
113
144
150
112
147
164
205
146
216
177
167
185
195
149
126
132
198
122
185
208
176
208
147
154
210
212
157
166
140
204
220
136
210
130
141
207
153
130
130
213
164
193
125
161
171
149
208
125
159
129
217
190
161
204
213
122
212
125
170
219
139
158
128
187
220
121
170
153
160
127
208
129
196
128
170
128
131
189
207
170
165
220
179
172
211
170
164
213
129
203
138
183
180
130
139
136
169
155
209
176
136
154
187
157
192
172
166
172
213
155
193
130
175
181
153
127
121
194
163
159
208
172
166
139
182
123
219
201
141
182
157
173
185
148
187
126
209
166
157
128
130
105
132
108
125
110
110
118
142
133
150
118
112
100
119
136
138
146
113
138
136
116
115
141
149
126
107
120
138
145
141
123
102
143
108
107
149
146
150
123
111
124
139
107
114
115
103
120
106
109
124
136
119
124
149
120
127
130
142
139
126
128
115
126
147
107
133
137
136
121
123
122
128
148
103
142
133
115
121
133
116
150
110
120
139
101
139
138
145
101
137
112
133
107
117
106
102
147
124
149
117
102
148
117
140
141
130
116
103
133
119
108
145
124
109
110
135
119
126
113
137
117
115
114
107
122
108
104
101
139
148
100
124
192
213
136
171
183
202
150
161
175
184
152
164
159
124
205
175
137
201
160
159
216
218
139
133
219
187
126
209
199
177
166
133
176
154
187
158
172
165
125
138
150
140
145
214
138
145
208
217
124
156
163
146
216
177
132
198
137
147
152
207
169
197
140
164
170
172
128
166
151
202
201
156
217
197
194
213
140
178
145
191
165
180
143
143
204
200
122
215
160
206
132
146
210
200
214
158
218
195
125
140
204
200
195
149
220
124
210
217
142
121
154
147
157
162
182
196
157
200
190
166
216
212
149
120
191
177
200
124
156
136
183
209
216
126
140
190
146
198
135
220
180
174
133
139
136
140
103
132
122
102
136
125
115
100
103
108
105
140
139
132
143
114
112
115
145
108
147
142
133
146
120
105
121
101
100
125
141
126
123
114
126
135
122
140
102
120
109
111
105
100
144
139
108
136
144
130
119
119
126
145
115
113
135
135
150
103
135
119
145
113
101
117
139
101
127
142
133
125
124
114
137
106
103
128
135
138
139
116
147
119
106
113
149
142
101
147
117
145
131
117
122
112
118
133
113
144
102
102
145
108
102
103
117
107
115
115
131
121
121
141
145
114
102
147
102
147
101
112
134
107
138
112
137
144
144
139
112
141
115
140
143
141
133
112
143
128
146
105
115
134
143
148
111
106
144
149
133
124
102
114
134
117
120
143
111
115
135
107
106
108
115
111
119
110
141
129
114
145
171
127
205
165
142
158
216
141
187
179
129
173
145
151
218
146
136
138
204
141
189
132
170
126
123
159
200
154
142
175
196
136
199
191
120
130
145
167
172
135
201
209
136
140
122
179
168
185
123
177
164
121
161
170
130
176
133
196
183
195
173
194
144
164
202
152
156
132
161
186
204
212
217
185
154
174
205
159
154
158
220
202
188
160
168
124
210
130
208
135
176
196
153
199
184
122
150
194
131
158
167
161
201
179
135
166
198
156
181
165
216
150
191
196
152
193
170
176
184
202
165
128
202
125
153
146
158
133
142
187
141
205
201
184
147
122
107
141
147
133
138
119
130
127
111
128
101
105
113
113
141
118
131
146
116
136
144
119
141
101
139
114
142
129
133
113
104
141
138
100
128
125
114
141
122
134
103
117
135
134
142
147
138
139
140
112
103
112
109
146
106
133
111
111
132
118
140
109
114
146
113
121
142
110
117
139
135
109
138
104
143
138
138
141
125
127
123
146
101
148
106
148
124
129
118
102
111
105
118
100
136
131
102
138
144
112
114
119
140
107
122
127
149
144
121
147
117
119
115
104
133
121
132
139
114
128
109
146
124
101
105
100
108
146
130
107
100
107
148
111
130
138
125
140
131
108
127
135
100
148
136
131
135
115
136
143
133
128
127
135
120
116
149
141
100
109
202
198
211
125
145
156
158
128
197
153
189
170
122
145
196
157
142
175
164
145
139
127
146
123
120
129
207
179
220
138
206
183
192
187
143
140
126
134
145
134
150
122
205
216
206
157
187
143
209
167
188
126
150
182
193
162
172
220
138
138
172
205
188
195
132
165
200
216
212
205
147
195
193
136
149
138
208
131
143
160
133
210
187
157
161
167
142
200
128
136
188
138
133
160
138
137
183
177
219
199
217
195
155
140
148
193
121
207
220
151
210
125
177
180
156
183
136
161
168
211
158
215
205
158
187
147
183
124
166
197
141
214
206
197
135
183
133
176
131
160
160
197
181
161
131
171
181
219
146
135
163
154
168
149
173
183
130
161
157
178
207
200
211
169
159
217
202
195
134
104
107
142
150
135
122
129
119
109
102
105
134
114
137
127
138
117
112
102
112
140
118
126
126
107
101
107
121
109
104
122
146
102
124
130
123
102
120
137
113
123
117
124
148
107
139
137
125
121
142
125
139
147
143
139
126
112
138
123
110
104
123
134
145
141
138
133
105
112
123
109
110
109
140
137
141
117
142
100
133
123
143
100
135
109
142
139
107
141
127
109
109
114
135
145
112
148
133
137
118
138
105
127
119
102
149
114
117
144
113
125
111
139
145
142
142
131
134
114
117
149
127
124
124
150
112
124
147
129
132
208
184
128
127
177
197
213
173
147
145
162
163
187
137
190
190
163
143
125
142
211
138
162
159
134
124
171
207
149
177
131
193
140
125
215
135
175
213
124
208
220
168
195
140
147
211
158
170
202
135
121
120
197
144
220
144
165
148
172
168
121
219
195
121
134
166
151
125
195
121
132
200
185
216
169
203
178
210
211
135
129
220
120
212
212
169
183
168
127
153
167
189
151
198
123
211
220
156
199
121
178
158
151
210
121
191
191
199
120
129
181
174
190
202
205
142
178
160
137
205
220
147
208
213
198
128
137
204
122
219
188
210
194
147
128
137
178
157
204
200
136
204
156
207
214
215
149
147
149
134
128
126
135
147
133
112
111
111
137
137
141
140
133
148
136
129
136
145
129
116
138
129
119
114
135
119
123
103
149
122
107
107
105
108
118
141
140
134
147
105
103
149
125
130
146
103
107
119
121
115
125
109
112
106
125
128
106
113
111
126
145
140
124
139
115
123
119
108
139
132
130
148
136
124
104
118
105
110
130
146
146
140
122
136
132
109
100
121
126
125
113
107
145
150
147
125
136
135
148
100
112
148
125
121
113
118
147
146
126
118
101
103
147
119
144
138
104
142
127
107
100
112
129
119
104
149
109
145
140
140
138
142
119
134
104
146
140
207
208
157
194
137
152
134
151
189
124
220
158
200
157
209
175
188
180
141
122
139
132
129
147
127
129
185
178
172
136
151
159
158
149
123
148
163
217
148
182
213
158
184
193
171
133
186
121
139
193
131
215
190
167
125
160
219
205
191
156
149
178
157
184
194
180
190
216
139
140
158
171
192
194
135
180
135
182
130
148
141
149
195
213
174
135
216
159
191
124
161
191
139
193
155
139
165
144
153
183
128
123
127
200
193
173
190
216
146
143
183
163
200
168
161
167
176
154
162
157
154
214
135
208
168
197
133
198
200
105
119
127
138
113
109
111
106
106
118
123
121
144
117
148
131
145
120
146
100
140
109
130
103
124
141
142
145
139
142
140
104
118
127
109
101
132
130
104
102
113
122
136
107
143
110
145
137
108
132
121
138
141
103
140
110
149
101
116
109
112
124
101
150
133
103
140
131
127
126
105
122
105
110
106
110
117
124
108
145
127
100
114
148
106
132
106
132
110
117
107
103
144
125
139
136
127
109
128
113
146
123
124
144
139
101
104
122
100
121
104
141
127
118
145
126
121
107
122
128
131
133
104
101
150
144
118
120
123
117
127
105
139
100
149
104
145
131
109
110
112
109
108
147
128
129
150
121
135
143
147
121
102
136
118
150
118
111
127
129
144
196
138
187
206
130
152
160
180
147
209
139
120
132
175
163
189
174
180
213
166
169
178
167
200
145
187
173
181
132
167
214
205
153
139
143
131
213
151
179
193
154
137
172
156
128
213
187
215
145
141
218
130
216
128
158
211
200
164
197
177
161
163
170
181
209
138
139
193
162
138
141
219
166
158
159
185
136
148
145
185
201
155
198
203
179
158
213
178
128
126
180
127
177
152
166
218
155
192
135
120
207
154
153
125
137
204
183
199
146
146
212
155
143
122
150
154
185
190
152
141
164
189
152
126
139
144
168
197
147
174
150
137
145
143
130
100
111
109
101
137
112
145
131
125
135
100
121
100
118
107
116
104
125
128
109
149
117
133
114
135
137
139
112
144
124
145
118
100
104
140
129
145
111
122
112
113
148
134
118
115
146
110
121
102
125
126
129
119
123
144
108
109
120
136
134
126
117
138
105
134
148
141
126
109
101
129
144
133
144
118
104
142
129
114
130
103
148
132
143
130
145
117
125
130
137
110
147
108
100
135
145
108
122
123
125
114
123
140
150
118
111
107
120
106
119
137
122
122
150
135
101
148
109
120
107
133
130
112
104
110
104
100
112
103
125
133
150
115
122
112
118
149
145
145
119
126
112
101
128
136
129
170
155
141
215
168
179
185
182
139
142
154
136
207
210
181
139
184
127
190
199
187
179
190
147
175
179
219
134
153
200
210
164
143
207
190
131
214
141
149
211
174
180
217
137
212
209
209
206
203
219
215
218
198
147
192
161
128
167
144
205
204
218
162
203
146
148
196
193
183
203
124
126
165
196
181
197
137
125
122
219
149
166
192
157
188
219
150
210
186
122
169
162
179
133
175
159
126
216
198
171
183
196
158
220
137
162
124
184
155
199
173
131
132
167
195
216
170
144
192
136
140
134
135
184
126
186
132
159
173
124
151
177
180
211
141
186
197
149
141
201
176
206
187
140
127
150
143
192
182
120
140
154
174
194
191
186
129
103
128
147
126
149
133
141
106
119
110
136
128
105
105
119
128
108
120
131
118
150
101
129
150
141
143
126
150
124
147
130
129
115
113
146
119
119
102
147
149
113
124
142
103
117
149
134
102
119
111
126
102
103
137
122
142
137
148
114
142
141
129
110
101
112
142
141
130
113
140
107
117
145
128
145
144
129
142
127
101
132
134
119
132
114
148
127
104
109
101
149
150
139
118
144
102
132
139
150
120
135
127
109
129
124
142
113
104
143
118
101
103
137
133
107
120
125
106
132
134
123
111
149
150
101
126
137
142
120
140
112
101
133
124
102
140
107
145
101
104
147
103
104
149
122
146
120
110
109
114
116
114
128
114
136
106
112
142
120
100
119
120
101
128
185
205
135
156
211
174
128
166
178
132
213
137
174
199
161
207
169
208
159
162
179
132
153
194
174
201
169
183
210
129
154
196
168
158
164
200
154
179
126
179
165
133
208
163
130
187
162
200
159
128
137
185
181
162
159
148
163
120
133
195
208
155
148
130
205
150
168
122
202
210
125
193
126
161
197
146
190
156
143
195
125
188
198
134
206
146
127
214
165
210
161
210
153
206
153
183
163
167
161
195
185
220
153
145
125
203
216
189
208
200
156
175
220
207
219
195
214
167
202
179
189
169
186
139
180
220
128
184
173
159
153
158
188
190
144
192
217
194
207
204
127
185
173
199
188
157
171
121
123
127
142
115
142
110
133
101
134
147
125
127
103
110
114
128
135
119
138
115
118
112
132
116
128
134
106
117
135
139
108
138
128
102
109
122
134
133
104
125
145
143
150
111
137
120
138
123
109
140
117
120
127
135
130
135
102
138
110
121
119
149
123
130
118
110
112
134
148
103
103
104
102
120
137
134
150
144
146
100
148
131
127
150
139
133
125
142
135
104
142
130
140
150
145
102
106
144
140
101
114
102
107
109
129
106
121
107
149
137
138
102
129
122
148
111
117
117
138
114
118
144
131
111
139
122
112
123
140
139
215
141
152
158
121
149
148
181
219
175
133
190
201
173
193
165
158
128
131
190
183
201
161
188
210
199
218
142
199
147
215
182
136
191
146
170
194
150
186
217
218
124
177
153
190
132
154
175
136
210
156
132
129
161
172
122
198
149
127
147
141
162
121
186
144
162
171
145
185
148
196
217
150
191
195
127
168
147
171
199
190
164
123
202
153
128
219
186
157
141
220
161
166
162
199
155
213
190
147
159
177
220
159
186
199
131
181
213
141
184
164
169
125
199
142
155
191
140
176
212
164
142
192
201
204
124
188
167
153
202
184
167
217
128
138
218
137
126
149
173
173
213
163
172
130
145
197
211
162
219
189
175
162
161
158
179
219
147
122
110
148
146
125
113
134
112
113
133
109
102
112
141
104
124
111
111
101
140
122
127
114
113
126
140
108
145
134
144
145
105
131
124
101
101
100
149
121
148
147
120
142
140
128
142
110
149
106
109
103
107
111
116
132
107
137
144
141
127
117
144
119
112
120
113
114
139
100
142
147
111
134
146
101
102
104
107
114
126
150
139
107
103
119
118
148
119
138
113
107
100
132
123
101
133
113
134
144
102
143
131
139
119
112
117
132
132
130
148
135
117
111
141
119
108
135
122
120
101
134
135
143
148
137
112
114
205
120
195
194
124
127
159
160
199
171
210
152
153
187
182
193
160
120
158
150
176
147
139
214
150
138
180
210
134
154
154
178
136
122
168
130
138
153
214
136
138
123
157
129
186
159
212
180
204
133
198
197
159
128
155
218
129
192
214
203
132
135
175
152
124
199
139
141
124
120
169
152
137
138
216
123
172
149
181
208
209
176
187
210
144
135
177
210
132
178
158
142
159
170
197
189
196
206
198
207
135
206
137
183
214
216
132
178
160
148
130
169
165
193
213
165
210
145
152
163
209
124
184
136
189
121
177
149
162
149
146
124
148
191
219
204
214
139
128
177
213
196
133
211
200
220
188
206
206
154
192
212
183
133
167
207
168
208
136
205
185
149
163
194
208
171
125
205
157
162
109
135
122
119
134
116
121
131
133
144
144
138
132
104
132
136
130
102
122
135
110
104
103
149
144
126
120
118
121
126
112
121
134
143
129
147
144
135
100
139
132
104
144
101
137
122
126
131
149
132
144
101
131
124
129
144
137
109
136
135
100
109
140
135
102
115
128
115
141
120
107
106
120
149
138
105
143
119
127
106
101
148
101
149
105
141
115
131
134
114
107
105
105
144
134
138
104
106
107
110
117
108
120
113
121
121
128
119
111
133
138
101
102
134
111
132
146
150
112
123
121
106
134
118
133
138
147
108
103
125
105
147
113
102
117
131
102
139
110
144
114
143
103
122
128
136
219
203
219
198
151
203
139
131
188
166
191
152
202
144
154
209
213
137
201
160
177
134
155
120
204
144
124
188
159
218
120
217
173
132
120
156
124
209
189
174
147
154
210
189
204
160
183
194
124
176
164
175
173
124
161
147
186
155
217
155
159
154
121
123
173
207
203
213
145
184
139
154
129
194
187
158
152
180
175
153
144
135
167
198
141
155
168
169
164
172
170
162
176
199
149
191
136
184
206
152
199
172
186
143
197
172
212
136
213
135
174
170
192
215
192
209
218
155
145
133
147
135
213
123
218
130
156
155
159
202
175
164
152
203
172
159
202
120
187
199
134
117
100
122
149
138
136
104
110
103
118
150
141
144
119
147
128
107
149
109
112
137
139
128
142
115
123
149
130
129
101
133
123
113
128
147
138
121
130
136
143
122
130
131
127
133
109
123
136
130
103
117
103
142
129
131
142
148
101
129
137
102
109
103
139
131
136
113
133
145
107
127
109
111
129
148
122
120
115
142
124
128
107
146
110
120
147
149
138
142
130
110
109
118
103
131
142
140
110
104
120
108
102
116
111
128
146
131
115
149
107
115
141
116
149
106
114
128
108
137
142
122
105
149
141
145
115
131
133
122
104
149
107
141
144
141
128
105
120
150
108
102
134
149
120
106
127
117
101
140
133
143
137
140
117
112
118
132
122
130
130
135
150
124
136
100
105
102
109
127
141
131
142
216
173
190
137
159
163
141
189
162
153
138
192
213
154
172
194
130
127
186
213
168
201
126
214
168
150
144
205
120
179
215
193
210
125
127
215
172
124
164
162
134
122
207
202
191
185
158
199
127
161
183
206
206
123
160
191
208
133
147
177
146
206
178
121
158
195
148
159
215
206
184
194
201
187
168
142
171
137
133
168
172
166
187
147
209
126
197
153
134
205
219
159
147
154
131
163
172
127
218
206
188
192
121
214
123
172
162
154
145
151
131
174
191
132
188
217
183
190
140
205
157
132
207
186
169
136
214
154
135
145
179
128
195
211
184
206
131
153
173
212
181
211
213
204
145
125
168
181
211
168
205
183
184
138
219
135
124
201
197
193
195
201
126
137
168
215
180
157
191
153
196
201
124
112
108
121
146
114
142
101
131
123
110
140
128
142
127
129
146
125
139
138
147
120
101
109
110
104
126
117
118
111
138
138
105
101
116
107
141
101
137
122
126
146
115
115
111
137
105
133
138
145
148
145
140
107
110
135
114
135
150
123
123
108
127
113
123
137
113
141
114
142
139
129
113
147
126
116
117
103
124
142
116
137
114
111
100
146
113
117
104
106
143
128
126
122
108
108
102
121
148
103
133
105
129
144
105
102
106
102
137
108
146
104
145
113
115
146
142
129
130
107
112
147
106
131
125
106
122
119
120
111
136
140
123
103
113
129
136
142
126
111
149
137
145
121
146
145
122
116
125
141
128
124
103
115
148
135
115
140
122
108
134
127
139
142
148
127
138
120
210
143
144
219
214
216
140
137
169
135
158
191
195
195
202
216
182
142
152
144
149
197
158
123
188
124
150
174
191
133
143
132
152
125
200
155
122
202
124
123
125
120
191
138
121
215
178
195
180
199
150
161
192
120
199
152
216
170
179
193
186
175
182
217
181
182
132
122
160
216
176
179
159
161
219
177
217
153
170
126
195
171
214
132
198
216
139
172
134
143
132
181
207
152
194
144
147
182
177
212
193
197
188
122
217
146
141
125
140
185
128
185
198
170
166
159
151
144
133
170
155
128
160
168
138
133
148
198
165
153
198
198
215
154
169
177
201
212
158
210
200
215
216
151
193
132
121
150
120
106
148
113
105
115
139
136
107
105
136
103
149
111
139
122
104
130
121
103
106
100
128
135
120
124
124
135
138
113
131
100
117
135
105
126
102
106
129
147
121
148
122
132
100
130
120
130
103
131
147
107
146
103
123
128
131
149
145
107
113
148
133
144
131
147
123
130
143
110
122
136
139
147
111
141
150
104
130
117
130
129
132
134
149
107
129
135
103
130
103
109
149
111
119
140
131
116
111
119
110
116
129
108
130
127
113
143
127
145
138
128
111
132
134
107
139
121
105
100
107
136
143
127
117
125
138
106
117
139
148
109
102
115
111
118
114
101
112
143
139
136
119
122
144
103
111
127
120
131
117
117
138
100
148
131
101
100
149
102
135
199
197
200
143
169
127
151
175
132
178
184
139
161
155
126
214
137
160
131
168
183
150
195
124
131
213
153
217
196
194
171
189
186
156
189
134
210
193
137
218
194
175
219
187
158
196
174
134
132
202
181
130
186
193
171
140
193
162
127
197
161
142
204
201
172
202
167
127
158
213
195
152
152
184
157
190
161
187
133
194
193
167
216
134
172
145
176
193
123
191
197
162
141
185
169
131
157
171
137
183
178
187
127
215
203
196
164
175
219
171
125
203
171
156
137
214
209
179
161
174
144
211
204
196
151
215
145
148
124
218
142
204
198
193
167
139
216
135
217
134
121
172
183
161
148
169
131
146
112
144
149
142
131
136
122
130
105
132
116
137
140
137
106
120
125
131
130
143
103
147
117
134
118
123
127
107
128
110
107
116
115
132
108
125
127
139
101
148
107
117
141
111
126
121
119
125
109
100
119
141
137
150
131
117
106
139
102
125
105
106
124
150
111
127
115
142
100
131
113
111
112
134
104
100
118
146
138
107
127
134
112
111
105
127
121
136
120
126
105
102
125
140
121
101
117
143
132
104
125
132
142
118
111
103
100
123
114
102
128
150
122
126
143
127
104
105
129
130
136
106
103
136
145
147
134
120
140
120
116
111
129
118
122
136
129
132
144
142
125
107
103
106
123
146
156
175
159
217
159
157
182
194
212
123
177
191
170
132
216
132
158
183
168
184
173
164
167
215
159
138
158
204
218
145
134
164
152
218
156
193
170
213
120
157
207
128
181
129
215
168
198
149
140
184
149
182
180
120
187
218
192
166
144
149
159
124
188
217
127
173
199
129
144
195
207
172
183
139
206
156
220
202
211
187
210
150
120
170
186
185
206
153
174
146
178
123
180
120
151
176
186
140
205
125
147
156
172
144
174
142
186
202
147
146
198
130
136
157
162
187
143
185
146
134
203
129
169
148
138
140
141
196
159
213
210
141
191
168
118
148
102
127
144
128
139
150
100
115
119
130
137
139
119
110
149
118
117
101
133
136
117
104
109
110
112
126
125
131
119
123
102
106
136
150
125
104
100
102
146
114
122
116
140
136
142
135
128
119
126
119
110
121
121
117
100
131
104
134
104
117
144
124
120
102
139
118
102
109
129
102
103
110
149
147
116
140
130
143
131
138
105
116
103
126
118
147
122
135
132
110
125
149
122
147
123
101
118
106
112
115
146
148
117
140
144
141
124
123
133
130
150
107
137
123
112
115
102
145
125
112
140
125
136
128
149
140
119
107
136
127
148
146
145
146
108
135
137
132
127
109
122
150
146
125
117
123
108
200
128
174
203
162
163
140
156
147
139
151
201
188
208
182
140
217
159
163
175
175
185
143
138
141
205
214
203
171
124
193
138
123
129
199
186
205
195
208
212
128
170
171
175
154
213
203
206
146
183
159
132
188
142
215
147
212
197
213
209
163
162
128
178
194
121
159
178
165
133
169
126
128
217
173
216
204
136
148
126
156
212
155
177
129
166
132
206
207
201
159
136
188
178
170
177
209
184
171
157
161
201
122
204
218
207
158
194
175
130
192
136
158
155
185
130
177
125
160
139
161
126
219
151
140
212
158
132
154
126
100
132
148
131
104
125
149
106
113
121
114
112
100
123
107
117
109
147
126
143
110
148
149
133
148
118
101
139
105
128
116
131
147
130
134
142
117
129
108
130
106
137
117
140
133
116
141
118
133
130
118
140
150
115
142
125
143
128
119
117
146
120
127
116
131
135
141
120
148
147
114
131
149
137
133
121
108
148
131
150
149
145
134
130
130
118
123
126
146
139
118
129
103
137
114
123
123
137
110
143
134
150
130
132
131
129
116
109
126
102
128
120
115
102
115
107
115
101
148
135
141
137
131
102
112
110
122
121
116
128
136
131
129
112
122
129
125
146
134
101
124
104
150
104
102
142
135
149
139
139
123
127
140
144
133
138
132
144
149
114
149
124
142
113
105
143
136
102
133
118
137
208
186
174
148
122
142
220
182
213
193
133
151
191
171
151
130
203
154
159
189
136
140
178
216
165
167
165
124
188
178
161
175
172
164
209
157
164
184
156
211
127
185
127
210
168
149
152
197
202
125
212
146
218
146
174
145
183
208
154
159
166
165
175
178
174
198
216
131
218
208
170
121
196
199
195
165
165
208
193
132
196
216
123
159
136
205
141
180
161
141
214
209
207
131
176
131
177
209
147
195
194
185
156
202
139
198
168
121
219
160
191
191
205
217
206
181
184
160
216
166
200
204
186
211
140
192
159
201
208
160
136
169
127
129
127
179
182
133
141
137
138
166
183
194
168
220
191
191
126
214
155
102
143
115
122
142
110
150
135
125
110
104
102
134
103
149
130
125
123
148
131
102
145
142
141
124
139
142
129
134
129
135
132
133
120
126
148
103
119
110
101
137
111
127
120
127
105
138
128
132
104
100
145
134
112
119
104
146
135
118
145
113
136
149
145
126
122
124
124
102
135
135
138
109
147
108
122
147
104
146
146
128
149
149
127
100
133
111
134
128
136
146
105
131
105
112
121
130
126
133
104
122
127
100
103
107
115
123
136
120
114
144
111
121
132
104
141
139
100
112
109
140
148
123
130
107
113
118
122
127
125
148
163
130
164
154
139
126
198
175
138
172
195
191
204
165
170
152
169
195
195
180
124
138
192
148
155
180
164
219
194
211
200
144
148
173
216
159
193
132
172
160
158
129
180
217
134
179
215
199
160
145
120
174
123
198
140
198
217
174
151
189
196
128
123
210
209
171
178
153
122
179
160
136
163
160
128
168
144
154
190
128
194
217
151
129
157
152
153
213
220
199
147
177
139
121
216
175
213
125
195
191
212
124
135
209
136
126
130
128
212
177
163
189
174
149
124
177
171
168
205
177
129
153
164
201
138
179
138
210
159
197
218
130
164
146
210
125
134
147
185
179
196
139
191
154
196
184
168
121
128
131
117
113
112
132
101
146
101
145
124
106
149
122
118
143
114
144
101
139
123
141
103
103
144
112
105
114
113
122
111
113
121
116
127
117
134
100
140
101
101
104
127
116
122
120
149
107
137
112
128
116
148
138
121
100
130
118
108
123
130
124
118
145
150
146
100
138
139
108
136
143
140
147
144
132
147
105
143
118
148
120
132
136
137
135
150
104
111
108
150
104
101
128
130
133
124
122
118
100
111
139
141
142
139
109
110
102
139
125
125
135
133
144
119
112
100
144
137
124
132
112
116
133
148
122
146
102
120
136
112
135
102
120
135
147
118
137
105
123
107
110
140
140
133
115
114
104
123
125
100
149
126
125
103
137
101
142
148
139
128
173
146
199
211
193
220
144
206
183
204
195
171
205
166
203
123
127
212
159
206
163
213
199
173
130
129
130
177
174
186
196
121
192
183
144
136
137
130
143
206
208
166
150
143
198
177
217
184
181
157
186
155
125
133
169
163
164
187
209
212
137
186
142
198
186
214
143
220
142
194
154
204
159
195
195
146
129
162
136
152
187
170
193
148
153
176
171
178
220
186
206
208
126
207
181
123
210
161
130
187
205
217
205
134
195
189
149
146
134
196
205
207
191
180
207
143
209
124
183
182
196
133
149
121
182
143
185
182
177
163
129
158
211
170
202
201
190
163
130
139
211
136
183
159
131
164
122
219
203
180
193
135
171
201
168
144
126
188
151
142
135
129
130
150
166
162
220
179
169
152
130
187
208
113
124
100
136
105
149
105
120
130
146
150
116
135
139
117
138
124
115
102
104
107
144
133
123
116
109
105
115
127
132
133
102
118
145
142
106
113
145
119
136
147
144
145
137
111
119
136
115
142
108
107
107
119
148
119
103
144
142
148
126
102
131
139
111
109
124
123
100
133
127
132
112
100
144
106
131
126
105
117
130
101
116
142
120
123
100
148
110
144
144
130
139
139
146
120
126
111
150
114
144
136
102
147
125
105
141
133
129
107
149
106
132
144
130
131
147
120
113
117
144
148
110
104
114
132
112
143
108
138
150
145
108
104
138
120
142
113
136
115
137
105
119
147
124
120
123
128
135
118
122
114
142
104
108
191
130
161
200
202
155
159
127
211
189
147
195
170
199
130
182
138
213
147
161
220
201
217
162
122
205
208
152
142
131
153
143
158
220
142
175
150
150
171
162
124
158
193
195
148
163
191
174
204
148
183
186
151
121
143
176
174
180
159
131
147
218
158
184
144
136
164
129
121
151
131
161
131
189
124
215
219
217
204
143
195
130
125
191
130
194
203
190
183
133
124
170
157
165
184
145
123
144
198
160
157
140
220
148
200
153
123
131
182
142
186
165
167
176
199
202
196
155
129
127
178
191
216
132
191
141
195
205
135
218
185
182
195
184
153
129
161
160
176
184
155
149
201
181
174
143
146
101
106
121
121
113
134
140
124
107
112
128
119
119
115
144
134
102
117
108
123
115
147
120
102
146
118
119
106
138
104
109
109
107
134
148
139
149
104
132
137
146
134
111
145
137
118
140
121
136
126
107
129
126
130
146
113
115
128
136
119
147
104
130
103
118
130
101
104
131
102
115
142
118
128
108
144
123
125
114
115
126
112
103
143
118
118
103
129
140
104
137
107
140
140
126
136
113
138
140
132
129
132
148
119
116
134
126
146
131
101
144
115
133
124
124
146
108
104
134
131
140
100
113
150
122
121
110
116
134
108
102
133
124
121
145
118
124
135
122
173
128
185
190
181
181
122
160
175
211
132
155
171
216
190
199
126
173
217
212
164
152
187
168
171
128
162
168
189
150
202
180
161
159
194
195
213
202
140
200
211
127
165
171
203
148
192
192
133
168
129
200
185
185
205
167
133
122
201
182
137
213
159
193
137
177
148
126
207
162
125
158
135
189
151
217
198
169
143
187
165
149
204
122
204
220
174
186
182
139
185
155
122
177
161
187
123
146
140
220
187
132
130
168
201
176
212
138
142
173
219
196
124
200
155
145
154
206
141
145
214
130
178
169
151
193
217
181
142
135
177
124
209
157
197
150
129
197
125
160
140
186
194
218
161
200
206
136
109
116
143
142
127
110
110
101
115
130
129
126
142
101
150
112
108
117
104
116
144
115
128
141
122
105
127
105
123
125
143
109
108
147
136
107
142
126
112
135
138
139
145
122
104
106
131
136
105
130
116
111
138
103
101
120
142
128
142
149
113
149
102
142
101
135
130
120
131
149
105
150
125
143
149
112
130
140
148
122
142
101
133
144
135
150
129
145
122
113
117
147
110
117
122
132
142
119
114
121
115
103
104
138
149
145
126
116
131
116
111
140
131
150
136
146
140
130
143
129
134
111
113
139
135
103
140
107
120
105
123
100
130
101
149
115
137
117
109
127
101
126
149
147
148
108
137
134
133
142
115
128
107
105
135
110
120
117
125
101
123
124
104
118
142
127
146
105
136
123
148
188
203
148
125
159
157
190
176
152
157
165
169
180
185
190
218
214
144
185
178
152
144
161
195
217
176
153
125
164
173
192
135
173
159
121
197
127
212
170
126
208
142
170
198
170
210
125
147
191
129
121
181
186
130
163
218
195
177
149
139
145
176
193
144
164
189
174
184
129
180
185
194
142
133
191
182
160
206
192
174
150
198
154
180
139
165
173
135
121
206
177
124
175
187
186
174
166
127
195
199
172
177
167
187
168
175
125
157
194
133
156
129
175
131
138
208
123
184
202
148
153
208
121
153
216
208
158
122
203
197
150
171
203
203
179
158
169
205
149
190
143
142
207
220
203
163
129
157
120
185
188
155
194
201
180
218
210
144
178
207
134
215
123
133
103
124
102
133
105
104
125
138
113
128
125
130
140
147
111
115
120
119
127
135
102
126
111
147
111
135
141
120
116
134
109
136
120
131
131
147
103
144
146
130
143
125
135
102
131
107
104
142
145
121
105
136
101
137
133
144
136
100
141
142
134
136
144
139
109
107
107
143
150
137
124
122
138
121
132
119
138
130
120
115
139
119
117
109
109
125
124
136
121
105
134
100
132
107
137
113
112
129
136
123
134
145
104
118
143
108
118
119
111
110
149
149
138
105
128
139
131
120
105
142
104
141
140
101
126
115
101
217
135
139
215
212
155
182
149
145
175
140
132
143
148
175
184
167
193
139
164
122
178
213
200
167
204
128
123
134
219
215
155
136
209
189
199
132
140
198
151
199
183
177
193
137
142
195
134
205
140
204
219
179
203
219
155
194
196
123
171
135
203
144
147
200
128
156
188
175
217
131
202
164
206
134
200
147
145
179
165
209
208
132
159
190
190
187
180
170
185
140
171
178
220
177
147
141
166
205
138
158
184
200
127
159
174
180
191
153
143
196
178
148
177
131
188
175
175
156
196
154
167
131
184
215
120
136
213
189
137
127
154
130
197
126
135
146
141
134
119
146
146
142
142
122
100
116
117
147
102
131
121
110
138
129
145
109
104
141
135
107
133
148
131
101
101
126
144
128
116
147
109
142
121
104
120
121
148
110
132
105
138
150
114
125
106
146
147
104
129
100
120
122
110
121
148
112
141
148
113
140
127
128
137
123
147
133
150
139
135
142
131
104
111
140
114
125
102
133
149
144
112
130
143
135
115
124
147
117
140
125
106
110
138
136
110
126
147
133
117
107
127
131
103
146
118
129
102
118
141
115
135
134
134
126
112
128
140
121
119
133
128
124
110
125
102
138
103
150
134
141
144
120
117
141
112
141
114
106
147
150
126
109
146
105
116
147
150
138
109
144
122
124
130
127
109
133
193
122
178
120
140
198
134
145
201
217
122
126
207
145
130
133
198
182
158
121
127
152
159
203
136
149
168
180
211
156
139
127
154
180
160
201
154
162
214
192
192
154
162
216
121
163
146
175
216
173
189
182
147
216
150
183
157
203
184
176
204
217
172
195
150
163
149
217
156
186
203
193
154
213
170
130
214
135
174
146
177
153
200
188
203
178
201
219
143
193
184
153
186
125
126
132
138
216
170
165
127
174
123
127
219
165
209
179
165
197
174
128
204
166
139
164
183
186
180
178
199
122
147
137
151
133
198
195
215
123
189
219
218
123
215
159
139
167
186
191
210
187
196
141
175
137
138
163
192
199
128
186
217
123
194
213
208
120
181
191
152
186
199
141
204
136
171
120
105
147
113
138
108
149
122
149
113
124
120
147
143
150
120
123
125
139
111
146
150
141
143
111
102
130
147
124
119
143
121
133
117
122
139
135
129
134
121
132
133
122
122
129
147
136
143
146
126
106
138
126
129
141
147
130
150
118
127
126
115
134
127
148
101
140
109
116
112
113
150
106
132
107
140
116
121
118
134
150
120
147
145
129
103
150
104
138
110
126
132
137
105
149
134
143
147
133
126
109
145
134
119
132
119
110
142
134
140
132
126
148
103
114
138
106
143
116
140
127
113
140
138
145
119
124
102
137
111
129
122
128
117
132
128
102
116
110
132
132
105
124
126
144
136
149
118
170
167
157
216
145
203
139
184
202
128
215
215
168
185
164
189
158
142
148
168
129
155
135
191
160
156
149
205
145
206
212
198
145
189
150
184
220
162
168
184
190
123
186
176
172
121
192
148
121
215
167
185
144
171
125
209
191
198
146
219
163
195
174
186
216
122
220
149
209
184
144
148
205
177
121
196
142
200
155
196
185
170
219
145
139
147
153
138
185
193
157
183
191
124
130
161
192
180
136
122
124
211
191
122
213
197
142
198
203
172
214
174
220
189
165
142
216
201
205
182
176
192
157
198
181
196
132
133
144
218
137
167
187
166
210
180
193
139
160
145
204
135
181
178
142
148
201
142
184
158
163
190
200
143
142
129
149
135
179
186
188
154
136
113
130
142
110
115
109
134
122
142
150
106
116
130
141
135
143
122
139
142
100
115
145
113
150
116
102
146
123
132
102
104
112
127
106
103
132
123
129
117
128
116
103
144
102
147
111
120
140
118
114
146
109
143
105
120
150
117
111
122
144
120
129
115
130
133
144
138
133
118
123
150
133
127
115
135
118
144
130
136
129
110
116
113
100
109
148
110
105
123
139
107
104
132
131
123
126
105
146
120
133
105
103
132
115
150
140
127
136
141
131
114
140
124
108
126
130
124
119
102
126
149
147
134
134
141
108
137
140
142
129
144
115
137
133
117
118
109
146
114
130
128
105
175
166
176
206
211
165
122
187
162
128
205
175
161
155
212
153
210
188
125
142
207
159
175
128
132
150
199
149
197
134
160
124
208
175
183
196
210
159
156
217
215
171
220
189
127
170
124
121
212
177
185
218
121
207
220
143
137
139
202
217
194
138
203
173
160
187
215
220
121
182
181
176
161
216
144
185
196
151
220
125
211
209
205
158
163
171
215
172
170
153
198
159
133
203
191
122
174
155
179
189
189
144
144
158
185
137
129
214
136
202
149
208
150
150
138
133
180
125
155
190
155
205
183
128
220
167
159
127
121
142
165
142
180
202
209
169
220
155
206
212
192
168
153
132
148
191
120
189
134
180
190
179
172
184
128
184
155
121
205
128
141
198
177
168
153
219
138
175
130
120
124
183
122
118
127
119
116
116
136
131
101
114
144
120
129
136
114
124
145
102
142
146
113
127
107
126
113
100
130
107
115
136
130
143
143
141
144
118
149
110
140
114
146
102
146
144
120
145
146
104
143
147
143
122
133
122
145
126
134
105
135
115
140
119
115
130
147
122
121
105
106
101
150
140
114
127
109
143
100
119
147
134
101
119
126
129
135
108
101
100
131
127
122
150
123
107
105
137
147
127
109
111
139
109
129
104
144
104
108
145
144
109
150
128
104
111
150
133
134
100
113
139
135
124
105
125
109
126
139
146
111
126
146
101
115
136
130
131
142
122
110
122
148
104
147
200
168
168
188
212
192
131
155
162
220
200
163
165
202
129
168
198
126
122
145
154
163
214
161
163
157
160
162
135
170
170
151
160
202
161
213
196
141
209
137
171
168
182
208
130
199
192
193
192
184
161
214
156
183
185
125
196
143
183
203
205
166
209
178
200
139
185
216
188
145
144
219
177
138
165
158
139
147
158
199
149
137
156
132
194
183
137
157
186
142
167
149
137
152
142
131
135
200
176
122
197
185
131
129
200
164
134
163
149
171
199
163
157
190
205
204
160
197
193
133
185
189
142
187
196
185
150
131
145
220
148
137
201
153
163
197
120
166
172
168
173
214
143
205
159
179
207
165
202
123
218
137
217
157
138
163
126
136
185
130
110
108
148
116
139
118
143
100
116
135
130
120
141
129
131
138
135
134
107
147
136
123
119
106
104
126
150
148
122
105
108
102
138
142
133
130
150
149
123
140
124
109
138
105
143
147
106
126
106
133
100
124
127
135
106
111
130
137
122
149
102
105
108
145
118
142
115
140
132
132
149
120
141
131
112
116
148
129
103
146
127
147
132
147
138
110
132
148
137
126
118
101
102
147
128
148
119
122
115
141
129
129
107
111
123
149
131
138
140
116
120
116
104
124
123
124
118
129
138
136
105
108
127
109
100
142
142
102
146
117
137
139
130
150
116
122
131
144
134
116
133
127
147
139
126
146
133
135
133
139
193
195
208
219
172
213
121
139
161
161
214
126
139
162
153
176
144
191
199
164
121
199
157
130
128
217
122
193
203
184
189
188
157
184
124
142
211
194
139
187
148
157
140
159
188
151
174
148
128
182
208
203
169
172
200
172
207
184
123
185
128
133
187
127
122
168
201
165
192
210
193
169
124
162
146
120
209
167
141
175
199
134
151
196
195
186
150
148
169
196
210
202
200
190
121
121
183
161
175
165
184
151
188
184
160
198
151
205
218
218
156
187
179
125
199
190
150
181
149
132
149
139
169
171
187
168
140
133
208
141
130
192
165
194
218
161
201
178
128
148
145
174
172
122
145
169
184
134
124
145
115
110
122
139
109
107
103
143
131
139
133
150
116
149
108
119
125
107
145
110
146
132
138
116
112
107
148
134
102
101
115
119
148
137
100
122
148
148
143
145
101
145
149
106
144
118
140
115
100
103
105
147
111
134
123
140
127
127
137
124
126
106
112
116
123
133
130
144
107
128
135
144
119
117
109
148
112
103
144
121
146
105
138
126
103
131
123
149
106
145
138
149
146
140
150
119
102
131
103
120
121
143
125
112
131
150
146
134
126
113
109
121
103
106
108
127
105
146
131
133
146
128
109
127
101
132
125
103
131
124
101
149
141
105
104
146
112
144
119
113
104
115
138
120
101
122
130
113
145
137
105
120
110
119
115
194
130
153
122
211
120
220
152
150
207
166
121
220
145
196
153
198
220
209
135
199
129
203
183
137
196
142
195
138
138
124
215
125
189
180
182
190
164
201
159
167
183
129
176
185
185
200
155
155
124
131
217
219
217
143
153
191
220
126
168
144
167
165
189
217
204
188
139
218
195
134
160
169
136
144
214
213
182
129
139
120
144
182
179
151
134
148
169
164
137
216
164
163
166
199
211
205
217
195
147
189
184
187
161
136
166
141
191
145
145
185
150
121
145
159
146
160
211
172
132
163
175
199
190
141
186
152
128
145
199
142
199
158
135
182
177
137
157
193
163
153
199
216
141
219
142
147
186
170
190
200
187
129
149
122
106
110
144
128
112
125
142
108
118
147
125
117
113
106
117
148
118
114
119
105
136
119
148
108
111
119
139
135
136
103
137
101
145
118
145
111
141
114
107
147
148
119
104
113
125
132
140
103
125
135
122
133
132
115
114
115
141
144
128
135
124
117
106
115
104
130
131
148
145
114
122
124
127
114
124
122
144
111
128
125
134
131
140
120
149
143
142
119
118
147
140
144
104
113
130
103
126
117
107
119
114
114
104
144
118
113
121
118
122
106
132
106
132
136
140
145
150
125
138
115
102
116
142
138
128
141
109
194
214
120
198
137
202
147
195
191
156
194
128
159
160
210
162
174
130
212
174
211
209
218
161
181
209
135
173
195
162
142
155
190
201
149
133
156
134
185
181
179
161
200
125
162
133
172
166
136
212
168
126
132
207
155
213
198
154
153
166
155
217
205
215
168
205
171
197
180
173
129
187
140
152
155
170
164
177
129
201
165
164
213
205
169
193
123
153
144
151
143
146
189
142
149
159
121
155
220
210
149
145
144
195
215
209
132
192
138
155
141
164
191
198
157
183
184
127
211
169
219
218
199
151
153
134
211
151
169
213
160
125
122
196
141
196
160
195
181
171
145
163
208
168
169
162
125
151
123
140
214
118
138
122
124
140
121
133
113
141
130
102
136
107
140
136
141
123
102
144
127
102
122
137
149
141
141
125
120
130
114
138
139
106
149
143
121
135
106
141
100
110
136
100
145
132
121
124
100
113
141
132
146
128
101
136
148
147
111
142
108
132
127
100
105
125
124
132
129
112
106
131
108
101
138
115
113
120
118
110
111
111
114
118
144
105
144
150
115
120
123
143
133
139
142
104
135
114
144
140
131
104
131
105
109
102
132
146
105
148
130
142
109
130
105
107
148
116
107
121
120
134
120
101
140
102
108
105
110
131
139
131
104
143
206
131
199
181
215
129
169
175
209
143
139
129
143
178
178
141
194
174
205
164
191
184
173
151
182
162
186
187
203
169
129
169
175
167
212
204
156
186
168
136
153
176
134
195
162
154
150
166
190
216
210
217
136
151
171
141
172
202
203
153
189
183
203
188
135
152
123
186
185
135
164
214
123
164
173
213
168
167
219
167
189
190
121
172
203
196
198
164
123
210
216
210
130
136
191
173
219
212
127
191
179
214
155
151
208
154
123
183
165
139
129
217
171
183
142
153
217
136
172
135
122
130
193
198
174
164
149
171
164
207
196
168
156
137
120
140
176
147
123
136
121
185
207
151
156
151
130
188
220
183
205
125
146
196
161
177
123
173
120
196
189
125
126
159
172
132
144
158
155
206
185
128
168
126
117
109
146
112
141
106
101
122
133
109
122
137
117
150
134
125
127
126
142
142
102
138
132
149
144
104
137
125
100
112
113
114
116
132
125
101
107
141
150
132
131
140
145
120
130
145
122
111
105
119
127
142
137
124
122
110
133
147
104
111
142
122
143
150
122
106
144
131
107
116
130
117
114
104
109
122
130
109
109
116
124
120
139
109
132
146
104
140
113
139
102
122
104
101
148
141
102
138
145
102
138
133
110
148
104
125
118
134
126
118
118
139
134
147
133
126
101
107
101
128
131
102
110
137
102
126
139
100
133
116
119
122
137
112
134
121
126
137
118
136
114
150
133
104
137
131
123
105
105
118
117
138
100
131
142
108
220
183
210
157
146
168
150
147
158
172
142
214
187
131
191
170
188
120
212
149
143
203
201
200
135
172
208
136
131
194
125
149
129
177
202
142
201
214
136
213
178
186
153
180
208
159
170
181
177
193
195
197
196
195
188
140
200
131
160
158
166
195
180
144
206
166
169
173
159
142
184
183
165
178
167
129
161
190
155
210
197
186
145
212
156
156
123
136
184
164
132
143
213
196
153
122
191
159
175
170
130
160
179
139
178
209
164
127
182
152
181
172
148
148
209
141
191
123
218
163
205
171
166
152
169
129
216
135
140
182
194
155
200
158
145
147
178
164
169
122
197
140
205
144
142
130
132
100
145
138
122
138
118
118
129
142
109
139
123
109
108
120
147
146
116
121
141
136
130
134
121
147
150
132
103
108
110
119
139
120
126
150
108
108
103
109
110
112
132
105
102
130
139
146
127
108
149
136
136
144
126
103
114
135
121
113
142
121
108
114
149
133
143
111
101
110
133
111
111
137
139
133
128
111
146
146
123
148
107
126
142
108
125
120
148
110
102
101
121
125
116
138
142
116
114
106
132
101
130
144
113
117
123
118
144
141
120
134
142
134
120
100
132
100
115
135
104
117
110
119
135
113
125
135
111
146
149
149
130
100
138
125
120
116
112
186
213
198
189
147
155
186
154
155
159
197
137
140
121
162
180
135
140
136
189
195
211
128
187
202
124
184
148
211
146
133
196
166
209
132
193
169
151
187
140
166
193
124
172
142
165
192
125
194
149
178
178
138
211
219
206
132
174
171
144
147
142
206
120
182
144
203
190
191
182
197
143
208
169
191
217
131
219
166
213
197
194
173
148
197
177
140
209
129
155
169
145
198
158
169
140
162
198
125
140
158
166
208
180
157
188
155
149
126
127
144
158
155
126
153
153
204
194
184
134
213
193
129
179
182
219
211
202
206
166
126
127
185
193
214
219
127
168
180
137
189
172
201
141
208
126
125
129
203
146
163
219
144
171
145
164
181
200
146
172
121
163
123
219
204
128
158
148
165
144
136
127
122
127
128
101
119
140
112
147
122
139
121
129
149
147
103
119
139
120
104
143
104
110
142
116
108
127
137
119
113
117
125
102
114
102
122
146
116
131
122
131
104
127
103
145
132
118
135
124
101
102
100
136
107
115
134
134
108
140
110
112
113
115
122
131
127
141
123
131
107
148
112
105
126
137
142
117
144
106
122
108
116
149
118
148
107
108
145
138
146
126
117
134
102
137
149
107
121
132
134
109
121
144
101
122
133
109
139
130
117
122
119
144
109
136
126
122
122
120
101
143
101
135
111
122
144
150
147
148
138
120
167
217
160
204
147
148
136
205
127
179
123
163
128
174
195
135
205
129
218
150
142
146
170
161
182
214
196
189
211
168
213
174
209
133
135
151
173
158
129
201
219
200
181
185
147
206
182
207
158
123
159
206
207
199
205
176
189
193
129
123
199
148
217
160
184
163
188
168
164
172
144
173
197
122
188
220
134
194
187
160
170
151
130
161
147
160
193
123
201
142
154
194
181
182
161
120
197
125
131
178
158
123
121
202
190
136
193
134
198
197
136
207
159
210
190
132
141
124
121
197
147
155
209
189
147
157
210
200
206
137
212
215
175
167
208
130
144
160
169
198
138
149
163
203
185
181
160
134
185
165
180
180
141
168
144
138
105
139
146
114
145
101
121
101
130
144
105
150
130
118
115
144
123
150
142
150
131
142
126
113
118
124
119
137
141
131
149
150
112
121
111
132
100
125
109
105
124
149
128
130
113
141
134
149
130
115
101
129
145
130
125
132
146
122
103
109
122
109
133
137
146
115
149
111
101
113
104
112
136
138
107
104
110
136
105
150
106
133
114
145
100
103
103
118
105
121
123
132
117
112
136
130
134
122
147
140
109
112
148
140
122
132
135
137
148
122
100
144
121
142
132
111
148
100
106
130
128
102
100
106
147
125
112
134
138
133
140
122
135
136
107
113
134
119
149
130
133
134
107
132
143
100
143
117
104
147
122
144
144
146
119
121
196
158
165
175
145
163
214
157
177
216
122
187
132
168
219
192
163
130
136
204
218
139
151
200
174
173
182
128
133
189
148
209
133
213
147
150
202
154
126
201
187
186
139
201
159
184
157
206
156
143
206
161
170
182
130
165
176
202
146
209
146
123
135
216
193
190
159
130
134
135
145
146
130
184
173
201
145
202
151
207
218
156
181
127
217
166
163
178
175
204
180
186
134
159
176
156
169
141
195
143
164
193
197
204
128
185
157
138
166
172
176
177
145
142
182
194
185
134
169
147
188
197
179
185
182
195
213
182
153
181
190
212
207
189
167
212
177
148
177
151
192
158
200
220
218
141
172
163
190
220
208
195
211
159
132
184
156
145
193
120
204
216
124
128
173
215
169
132
202
160
147
189
128
146
134
104
115
131
116
108
142
150
137
148
115
150
149
131
121
109
123
109
145
143
106
105
123
130
150
128
102
137
147
114
107
117
105
104
112
149
114
113
122
135
135
133
147
107
132
139
149
101
148
143
112
127
140
120
130
106
128
132
131
128
117
150
113
127
101
107
126
127
118
149
130
135
138
121
139
128
115
139
145
150
102
134
131
142
126
123
137
134
126
117
142
129
105
129
144
112
144
109
149
131
118
126
131
101
139
116
144
113
122
114
137
112
150
106
107
126
119
106
122
138
114
125
128
139
103
150
138
150
143
104
115
138
103
117
108
147
130
145
121
150
132
139
146
126
147
140
123
118
119
105
117
135
125
142
103
114
126
138
132
149
130
140
143
148
146
140
120
170
208
124
192
141
160
122
132
216
219
148
215
176
173
177
162
167
178
134
186
143
155
172
130
198
141
175
197
128
156
173
216
220
122
160
146
216
196
121
177
153
207
186
160
186
203
218
194
217
130
143
168
192
124
123
165
164
212
129
138
196
178
148
220
183
204
174
150
185
196
153
134
157
195
164
124
138
187
142
158
162
152
120
124
211
191
172
151
201
124
218
178
203
168
123
197
123
206
152
193
174
217
135
184
149
122
154
146
126
141
211
149
213
218
177
158
206
186
138
132
144
203
204
176
183
199
137
180
141
127
139
138
140
197
169
210
145
151
142
128
156
189
139
205
217
161
154
153
141
159
176
172
201
164
151
160
180
184
143
210
181
174
200
173
187
176
145
143
130
114
110
137
105
106
111
107
146
132
118
147
149
128
127
122
132
140
147
100
112
119
122
132
135
144
150
105
133
137
121
129
104
139
102
139
133
115
110
111
107
122
127
114
121
112
128
110
149
106
143
134
108
129
133
103
124
137
145
120
103
116
107
106
104
103
104
148
125
150
108
148
120
135
149
144
103
132
146
140
149
137
102
140
101
108
148
104
111
140
110
137
147
115
119
120
100
129
100
111
124
138
145
107
139
136
115
109
127
138
106
101
129
109
111
118
147
100
109
109
127
150
113
131
142
121
112
149
132
137
104
124
103
130
145
111
118
128
129
104
130
121
122
139
152
196
209
191
144
205
212
173
169
182
166
157
149
163
144
125
137
130
120
151
193
179
148
142
172
202
176
186
155
210
206
182
145
194
126
219
152
189
220
205
128
167
199
162
148
172
134
168
189
120
148
208
152
174
174
195
131
180
170
162
210
129
134
191
142
130
159
129
128
210
120
212
121
165
175
187
161
154
186
172
178
195
125
186
192
131
171
181
186
201
137
167
185
184
197
195
210
155
127
172
155
188
131
219
214
142
176
175
172
148
129
213
174
131
150
133
214
211
122
209
136
121
201
180
134
178
163
158
199
174
125
193
176
199
154
220
126
213
175
202
146
212
214
214
204
165
148
135
150
207
125
195
189
219
182
168
153
125
198
127
189
175
192
201
176
200
158
149
215
137
130
140
123
150
110
117
135
111
103
122
134
114
114
106
146
144
130
105
149
107
131
116
125
123
139
102
119
150
115
134
126
150
146
107
112
143
123
122
143
143
101
108
104
111
144
146
106
149
109
104
111
122
101
111
144
140
102
116
145
150
123
123
124
123
127
150
104
136
131
106
125
116
141
128
127
119
102
102
124
106
116
105
108
145
143
117
104
105
136
125
124
144
145
126
112
141
145
121
126
106
130
106
124
118
146
117
108
141
129
136
129
142
101
110
113
105
141
141
132
118
110
146
100
144
143
107
128
135
124
128
148
110
106
135
102
100
124
106
131
146
105
140
136
134
138
211
215
190
166
204
207
165
125
158
216
138
212
127
189
184
198
138
158
216
180
154
216
137
147
207
210
152
167
138
126
147
167
196
168
156
194
209
185
217
143
163
122
188
188
215
144
176
142
145
153
159
217
130
150
122
209
200
135
172
205
127
157
199
130
127
174
128
142
194
217
123
183
208
209
207
170
146
129
144
201
168
195
133
127
151
130
160
132
171
149
146
216
164
132
140
169
218
178
196
192
159
200
128
158
144
123
145
220
164
165
179
133
162
175
155
135
122
135
193
134
154
133
191
170
178
179
189
205
187
133
188
157
219
186
212
202
161
187
207
167
155
181
163
143
120
213
202
189
132
184
138
186
184
188
139
129
178
187
197
202
128
122
129
149
104
122
104
127
142
110
113
148
127
139
102
138
117
104
147
118
136
111
108
102
119
138
150
106
144
111
145
138
139
115
105
133
117
142
118
132
111
112
113
115
144
147
147
109
142
129
147
121
123
100
114
121
132
100
111
139
103
125
124
134
110
100
131
128
149
103
101
102
118
108
112
104
103
125
116
107
121
109
138
148
130
133
119
140
131
131
132
110
122
117
108
109
148
150
113
131
127
148
110
116
111
105
139
101
128
133
111
136
112
103
109
117
147
139
117
140
123
115
108
150
105
139
106
123
111
111
101
102
103
131
131
136
102
133
138
122
133
149
133
107
138
103
101
119
113
116
191
220
174
210
147
126
169
184
210
120
142
202
156
191
156
205
153
161
181
188
176
123
204
175
144
184
178
154
137
164
129
130
182
188
181
199
164
207
178
127
152
195
210
190
220
154
209
122
212
190
193
183
182
189
202
184
206
120
219
146
129
215
124
144
161
133
176
125
204
127
187
212
156
134
180
185
167
158
153
158
175
143
200
153
134
219
144
180
179
135
200
157
203
192
153
202
124
213
143
154
211
161
174
192
123
170
208
177
127
173
127
123
175
144
196
219
138
165
165
164
189
160
218
189
128
196
199
197
198
181
146
121
126
168
187
214
173
178
133
156
134
145
211
156
177
195
143
130
130
104
116
120
117
144
131
144
133
103
127
103
147
107
136
128
124
132
146
133
130
144
141
140
148
111
130
148
109
106
105
134
120
136
121
101
113
113
115
150
103
121
117
146
144
130
124
129
143
107
100
110
134
122
149
101
140
104
128
123
132
147
121
140
131
111
133
127
126
128
147
148
144
126
117
110
101
115
148
103
123
150
149
133
104
114
118
110
137
128
108
137
115
127
111
138
138
119
135
135
125
107
132
148
132
113
113
137
112
148
128
127
140
148
145
122
126
117
145
131
140
139
115
126
139
149
133
120
106
150
123
130
103
101
103
121
111
101
112
108
106
131
131
109
100
141
132
111
133
128
143
107
121
142
140
138
129
139
107
140
104
134
116
104
141
127
102
145
108
105
102
188
120
145
144
219
220
198
172
151
219
136
178
200
219
161
137
168
134
196
153
186
170
197
163
206
195
122
198
184
202
164
217
162
184
140
149
147
144
206
123
124
193
185
162
139
130
138
143
212
203
203
205
207
219
172
214
207
170
214
209
146
200
135
184
206
158
219
149
120
134
215
150
163
181
200
177
205
159
167
205
212
213
212
211
219
207
210
151
189
209
146
153
190
130
122
165
169
143
198
127
205
151
184
184
126
171
218
141
214
152
219
198
219
208
176
138
164
153
151
158
148
217
215
186
148
166
129
121
145
136
182
151
187
148
172
157
209
152
136
170
211
122
181
206
132
172
138
206
146
199
209
159
220
179
187
197
136
138
181
179
167
130
188
196
154
161
121
136
135
145
129
128
143
147
118
131
107
146
149
103
126
126
139
122
112
117
148
105
146
109
113
105
150
109
102
110
135
107
149
104
134
135
148
134
127
131
132
113
106
121
149
106
128
125
142
146
120
139
119
121
146
140
146
137
146
145
124
140
103
115
126
108
105
100
104
125
125
145
131
121
116
123
130
119
119
148
105
113
132
150
137
103
119
148
131
135
148
148
150
146
106
108
119
104
106
127
105
145
146
118
104
106
126
128
135
105
111
137
135
112
128
130
109
121
126
105
117
133
145
129
105
126
124
144
110
142
103
112
138
117
112
136
114
128
145
120
144
150
121
145
147
126
134
134
143
124
103
138
100
123
133
124
123
150
138
141
139
143
141
123
149
118
142
113
139
171
164
215
142
157
169
170
155
203
132
214
170
206
168
185
126
173
190
133
123
169
147
152
166
144
148
172
180
192
187
182
207
138
159
158
164
183
150
177
179
209
147
207
174
213
192
148
175
152
187
194
154
165
207
190
156
200
171
214
145
164
179
149
164
180
215
151
137
159
187
141
142
166
133
126
141
206
170
199
185
188
183
157
147
173
194
196
129
141
178
128
213
206
158
138
134
215
140
209
159
169
185
121
190
203
162
179
188
199
137
177
166
162
200
185
180
197
132
168
141
133
182
191
170
181
171
210
154
219
171
205
192
220
152
136
142
178
191
172
206
194
126
196
127
159
215
188
149
216
176
169
210
128
153
137
171
212
163
209
167
178
175
145
149
102
148
102
127
126
123
148
104
132
109
145
106
121
136
139
115
106
104
142
137
136
147
142
150
102
115
144
103
101
143
122
131
142
102
109
117
129
129
102
132
111
137
107
122
129
118
131
103
114
103
135
133
148
101
107
100
101
112
103
120
130
115
134
142
119
130
129
104
109
124
142
104
142
117
125
106
125
110
110
136
146
133
101
107
139
126
150
132
145
117
146
135
135
114
150
132
139
130
106
104
109
150
145
107
102
104
107
124
140
123
148
127
148
129
134
114
111
113
125
101
115
105
114
124
129
117
122
145
111
113
130
118
134
113
139
103
143
118
143
117
124
144
130
149
139
131
112
131
107
138
126
101
150
124
142
149
102
118
125
105
125
124
150
138
123
117
146
142
147
119
103
108
142
141
115
191
187
209
177
164
163
209
145
216
121
129
189
152
161
124
158
171
205
194
219
148
162
188
166
133
201
152
161
183
176
182
175
155
132
148
143
182
130
130
190
168
188
206
172
143
201
174
159
130
177
200
184
201
180
144
128
189
142
193
184
175
185
146
171
196
167
153
187
185
160
161
197
131
180
151
129
207
208
191
200
210
130
204
161
213
154
146
147
145
126
200
219
146
158
171
157
178
171
208
167
188
143
213
165
210
139
130
171
145
166
151
121
125
142
164
164
186
155
150
184
137
122
185
173
166
143
153
123
107
114
129
109
123
123
124
150
103
107
147
101
146
126
132
119
110
117
123
148
130
104
130
150
132
109
135
122
108
109
100
105
143
117
135
134
102
148
124
106
104
149
101
148
118
116
104
115
117
146
121
112
122
137
127
142
119
144
132
104
118
106
140
116
114
110
146
122
140
112
142
109
115
133
139
140
108
148
137
124
105
146
110
148
107
116
102
131
147
125
116
141
148
121
130
121
132
105
106
103
125
106
124
109
139
128
144
113
131
129
118
133
101
134
129
129
123
106
120
146
133
102
122
148
121
117
125
134
126
139
148
123
123
111
213
201
209
178
135
123
205
203
180
127
209
214
207
169
198
202
178
180
122
162
162
127
149
219
218
159
203
171
139
168
164
191
213
134
152
216
220
135
209
199
213
169
193
192
162
131
203
186
147
180
208
154
207
208
166
147
212
207
209
217
157
149
181
129
156
151
150
132
196
183
150
196
166
153
185
171
146
190
136
178
195
122
137
185
213
170
124
187
187
209
149
166
152
174
122
142
194
136
120
185
157
168
157
170
138
133
175
183
180
181
160
163
179
187
148
217
148
125
176
194
190
144
154
163
145
174
215
146
157
184
200
164
132
201
122
108
112
125
128
110
141
144
117
110
146
147
117
143
103
140
102
140
144
137
136
144
147
117
142
110
108
123
133
109
115
111
111
142
145
108
142
112
136
104
138
107
117
129
147
120
136
120
104
101
131
144
131
114
129
108
140
138
104
144
110
145
103
129
110
116
109
140
141
101
135
128
113
107
142
118
137
129
128
100
116
149
133
126
138
121
135
111
123
141
109
104
108
107
126
126
150
107
132
130
131
140
101
148
111
126
125
130
108
111
135
134
120
129
144
121
131
112
124
120
103
101
111
117
103
106
111
122
135
135
140
103
116
125
115
129
126
112
126
116
103
103
124
144
130
120
115
105
135
123
142
108
124
156
180
198
120
208
168
189
192
135
207
182
156
149
167
184
156
167
203
154
134
180
122
209
220
169
179
123
145
147
124
148
130
134
191
159
196
157
212
213
157
169
169
220
154
139
186
203
179
171
207
165
123
197
166
204
182
143
186
204
180
213
151
145
120
151
140
211
123
178
159
122
180
167
180
219
215
155
155
218
168
131
201
203
219
147
151
189
122
148
122
165
208
176
179
184
139
168
152
220
172
143
131
215
167
160
136
125
158
155
213
128
148
192
138
192
186
122
212
187
196
143
216
127
129
162
207
146
190
126
100
115
130
131
101
131
117
128
127
109
127
111
111
149
111
136
115
131
118
126
135
100
137
104
149
116
149
108
135
149
140
103
104
101
107
109
101
130
116
110
139
124
111
137
144
108
125
132
106
106
136
101
113
138
147
138
143
109
119
109
106
102
143
100
117
141
109
135
101
115
145
141
143
112
149
118
146
119
119
112
145
115
115
124
106
137
109
148
141
107
119
104
114
143
121
142
108
106
102
149
113
144
135
133
103
111
145
132
102
103
113
111
141
139
138
100
122
114
130
124
139
114
103
124
149
144
142
126
139
145
135
130
122
123
103
130
101
128
143
133
183
136
131
136
139
202
137
129
177
209
127
147
213
122
121
204
192
219
131
176
185
164
218
172
129
176
131
196
182
210
140
139
158
143
149
152
136
172
146
186
219
215
210
178
143
148
140
211
122
152
181
204
124
218
192
206
153
189
214
130
161
147
218
139
143
195
203
150
149
128
141
173
150
176
179
213
172
141
163
124
174
159
120
200
148
189
141
127
207
166
191
148
177
204
139
151
175
135
169
192
179
135
182
197
220
213
207
131
151
175
126
143
125
134
187
122
121
197
168
160
139
172
181
121
147
121
126
141
167
120
214
170
208
141
174
180
160
186
141
161
185
125
130
150
209
182
189
172
169
127
131
196
157
144
154
181
197
198
166
123
155
133
151
126
139
191
159
154
219
194
138
104
135
136
145
146
145
140
105
148
119
122
144
148
107
150
101
129
145
136
104
137
148
144
143
108
129
143
126
136
116
146
115
148
122
120
115
138
115
131
134
122
144
103
143
143
110
123
139
123
142
101
112
131
144
140
105
108
150
112
147
146
118
117
124
123
112
139
147
131
128
139
136
146
117
128
141
117
125
119
101
146
138
135
100
136
140
149
103
147
100
140
130
148
130
101
138
131
148
123
149
137
118
104
145
136
137
107
127
132
107
127
110
102
126
138
128
137
141
149
135
116
106
121
120
122
103
138
122
138
143
145
106
125
149
120
122
119
121
102
143
144
135
144
124
145
107
131
141
179
127
176
199
220
179
207
146
198
176
156
127
200
120
123
208
166
210
162
203
132
130
203
183
140
196
129
128
186
162
202
196
209
189
218
189
188
156
204
202
148
190
217
192
209
131
180
181
124
146
208
209
124
138
137
177
151
191
184
170
191
158
160
150
135
211
133
214
129
137
179
163
169
199
153
121
212
130
197
126
144
163
203
220
211
201
149
146
202
201
210
198
143
186
184
121
155
131
219
132
181
176
177
197
173
126
175
152
174
150
132
206
186
198
218
143
127
199
127
120
202
157
153
137
192
216
208
127
196
194
138
128
193
201
194
175
201
168
154
152
159
192
164
126
212
165
156
120
132
200
149
170
188
127
123
145
113
132
149
106
136
143
143
127
141
109
100
113
138
140
113
131
148
110
110
109
112
145
134
123
101
147
141
109
110
136
124
104
106
110
149
116
108
125
118
112
149
120
126
117
134
143
104
131
107
117
137
122
114
102
130
120
126
100
122
136
127
125
130
147
117
132
136
129
143
123
107
128
119
142
128
123
112
123
124
134
113
114
147
107
119
115
136
149
144
146
123
127
109
125
104
110
110
150
106
149
141
110
144
123
135
106
126
139
107
103
103
115
106
143
117
138
136
123
119
138
121
112
125
147
108
109
128
123
103
145
116
104
123
118
143
132
148
100
116
106
110
148
110
119
128
125
130
132
140
126
105
123
140
196
218
200
205
217
121
210
164
150
195
132
167
188
182
213
220
202
180
121
142
219
158
217
133
182
159
174
208
214
174
212
194
128
171
147
163
204
158
165
122
219
130
152
185
197
173
127
206
128
154
160
140
177
217
124
178
156
181
140
181
201
168
199
184
217
133
194
127
203
127
204
123
145
170
127
172
127
161
171
124
141
203
129
120
203
140
154
194
192
200
208
152
185
164
173
168
144
172
181
218
140
217
199
134
136
165
175
128
182
178
160
165
146
134
157
200
194
191
212
171
147
128
191
179
183
212
216
220
218
123
184
129
136
210
190
127
122
202
135
147
174
141
136
139
207
184
181
137
103
120
149
106
122
101
149
104
125
149
119
121
109
111
141
110
121
140
150
121
121
135
117
141
130
117
103
135
126
131
106
144
100
133
127
140
109
106
137
119
124
134
145
112
121
102
143
129
108
144
147
103
133
106
138
105
131
149
144
132
126
141
125
101
127
107
113
144
143
108
129
105
130
117
137
114
149
125
102
121
145
149
107
128
103
123
125
101
145
149
100
115
107
136
146
150
111
117
149
110
139
104
119
101
150
120
135
125
113
106
146
114
106
124
119
141
116
123
112
150
126
126
144
149
115
105
102
146
132
139
103
115
147
111
145
197
167
124
163
167
185
124
174
165
193
201
127
193
198
129
184
197
208
217
171
202
217
179
212
182
120
194
160
127
130
126
220
206
191
148
210
140
132
199
154
215
137
190
123
186
181
199
124
186
171
184
195
219
142
120
138
199
167
133
212
219
181
181
146
157
184
211
203
182
122
154
133
140
210
149
154
211
128
203
199
129
125
189
123
165
164
217
165
207
161
173
175
203
200
167
148
148
140
137
174
129
176
180
169
220
147
163
207
154
215
212
134
188
174
219
133
159
183
140
148
150
190
146
160
199
147
202
190
153
219
148
200
197
148
133
195
213
128
144
206
218
211
191
213
155
137
173
218
174
170
189
207
130
215
142
134
138
148
123
138
122
118
125
129
138
131
149
149
125
105
117
134
131
113
100
107
143
138
137
144
114
134
145
149
103
136
126
135
125
150
118
109
103
121
146
108
131
124
146
118
115
111
106
125
110
107
116
140
125
125
123
118
104
113
118
103
125
106
128
143
118
116
132
136
104
103
126
141
116
100
119
105
129
122
136
115
111
131
120
144
141
110
149
122
117
122
148
143
145
100
118
130
117
123
123
114
121
144
123
111
139
106
134
143
107
109
149
150
139
148
103
147
140
117
123
143
148
103
124
100
140
102
112
142
147
128
141
127
124
143
114
131
112
127
104
123
146
134
140
109
148
107
139
124
122
122
125
141
114
111
136
115
136
148
132
130
134
217
153
148
217
155
185
129
213
132
134
206
171
172
177
171
184
147
162
154
208
181
196
187
157
141
154
209
204
168
140
195
190
155
157
141
138
170
197
180
159
192
167
129
143
201
169
153
219
186
162
218
129
188
194
219
149
134
188
218
203
123
199
134
130
134
147
137
187
212
153
135
196
209
193
186
218
160
131
199
171
152
177
185
167
193
220
134
204
164
148
142
129
212
195
184
137
160
165
145
162
196
217
190
156
182
156
122
211
164
175
141
153
212
202
185
185
151
137
215
220
162
219
220
190
192
125
179
121
173
165
164
135
215
120
206
191
199
146
188
208
207
150
195
143
130
175
215
208
192
156
126
202
132
137
147
134
128
119
123
100
105
108
127
132
123
127
136
115
107
118
111
144
144
126
102
127
123
119
125
126
126
109
120
121
128
103
144
126
100
146
128
146
136
122
126
149
106
136
103
132
117
130
109
101
133
115
109
107
135
104
124
116
149
131
114
102
113
147
110
119
108
148
111
147
110
113
146
118
113
107
140
138
139
129
105
140
123
105
109
106
105
134
105
137
150
116
148
104
136
100
135
150
114
115
108
130
149
103
118
123
146
144
144
128
111
135
149
122
139
146
112
149
113
148
105
127
102
143
116
136
142
134
132
146
127
106
142
102
139
135
141
107
102
132
131
139
135
116
114
150
126
143
111
109
146
126
107
119
131
106
143
127
114
102
121
102
101
136
139
153
154
131
174
132
163
202
196
127
146
151
194
146
140
155
205
179
209
200
176
133
214
142
206
177
161
202
172
205
209
187
195
136
133
220
151
191
127
192
176
153
203
213
179
205
185
148
158
188
121
209
146
187
149
167
168
175
133
185
150
164
211
160
213
168
186
170
162
207
220
141
136
192
198
156
183
216
128
127
194
133
197
204
195
142
190
187
219
161
137
173
208
132
155
167
167
137
155
168
126
129
175
201
219
154
215
168
174
149
181
199
127
164
142
202
164
134
196
137
153
162
209
138
163
178
187
201
169
129
156
159
162
215
176
219
154
126
196
138
113
131
139
138
147
117
136
117
134
125
145
103
103
109
142
102
148
149
111
126
116
120
141
102
149
100
112
125
115
113
130
120
120
110
116
114
149
138
149
135
134
107
148
101
143
106
104
101
150
138
101
121
125
122
108
112
115
130
139
117
114
109
122
100
133
103
132
149
118
149
107
144
128
149
134
103
118
143
107
105
112
111
124
144
117
114
109
149
106
128
104
100
118
117
129
141
114
142
110
121
116
100
108
141
149
139
133
100
117
112
118
144
105
108
133
121
131
149
104
132
118
136
103
139
115
104
124
128
142
103
149
133
101
147
114
113
119
129
113
137
110
129
110
120
105
100
121
100
113
131
106
109
147
135
131
131
131
136
139
109
149
107
117
165
216
184
121
166
219
124
218
152
183
219
129
220
216
141
148
170
127
211
173
212
185
214
135
207
168
214
162
197
191
178
201
167
216
139
167
175
174
156
211
173
142
170
156
139
219
136
205
146
134
218
143
176
203
197
173
209
125
214
130
189
168
158
169
190
220
200
207
135
201
210
149
145
124
150
218
193
194
170
213
160
155
154
203
200
201
126
122
188
144
189
178
178
177
146
220
149
144
182
191
162
165
151
161
157
185
161
172
193
183
134
143
193
162
139
185
144
143
129
216
176
175
204
217
132
172
214
177
174
203
165
180
218
190
194
173
208
215
211
172
166
203
151
216
126
201
121
207
113
109
129
130
116
128
120
120
149
128
104
144
146
118
102
138
140
116
137
139
121
130
111
123
100
115
138
146
138
116
124
139
140
122
107
143
117
143
115
118
132
108
109
141
144
101
143
150
150
146
102
138
128
146
101
141
129
105
128
102
116
100
149
133
115
129
119
123
111
149
113
139
137
110
139
107
143
138
135
100
150
122
100
122
122
120
116
147
120
141
103
149
145
138
115
118
132
149
105
104
148
121
127
132
109
102
118
130
108
118
127
140
136
100
149
134
130
127
103
100
148
136
103
129
110
129
116
120
107
139
121
153
126
214
127
182
193
180
140
152
186
147
157
179
133
129
206
193
178
185
215
161
120
159
207
140
203
128
190
156
195
157
124
212
198
138
178
212
122
132
138
152
206
124
192
166
137
218
213
133
148
124
176
144
214
185
166
175
136
209
204
154
172
185
130
171
136
184
142
173
155
137
208
195
211
155
187
220
205
177
139
201
157
157
149
203
150
220
121
165
179
162
181
125
185
154
186
138
191
134
198
178
201
148
213
200
139
153
165
142
163
169
120
189
190
208
174
147
120
173
121
153
139
210
145
123
180
206
129
125
195
154
172
171
131
157
131
170
127
128
138
123
204
188
178
187
136
158
211
135
150
121
148
147
102
116
128
112
125
115
123
136
122
115
101
107
145
102
123
120
130
128
102
144
135
125
140
131
149
145
111
135
122
108
117
145
138
112
135
142
131
105
112
101
133
144
102
141
123
129
132
102
142
145
107
134
112
102
123
146
126
137
127
148
139
107
114
111
116
141
147
133
114
124
147
116
114
118
148
121
117
117
125
103
135
149
146
139
120
142
143
109
100
101
113
128
100
126
112
100
101
124
117
139
131
135
125
118
132
110
114
145
104
135
117
139
141
133
118
112
103
139
124
123
128
131
130
134
140
133
127
116
146
124
143
126
126
142
175
174
159
158
184
123
156
203
195
131
214
166
132
170
167
167
198
145
137
146
189
218
188
205
136
197
189
211
202
126
122
191
146
173
125
210
155
126
174
162
211
182
163
216
158
203
183
120
169
170
134
147
148
199
165
218
209
155
205
201
158
199
167
121
178
142
167
122
218
194
180
186
207
168
187
130
174
175
197
220
159
128
151
173
166
168
169
215
164
135
127
121
148
211
207
141
160
185
125
201
189
144
173
176
199
160
173
199
156
215
209
123
195
184
148
165
128
154
166
165
164
187
188
212
190
149
203
205
199
193
134
194
130
150
173
145
135
163
158
146
134
157
189
156
135
126
132
160
154
164
184
146
127
149
138
102
141
150
141
138
107
124
108
140
148
143
107
134
148
147
104
138
135
121
105
122
104
139
113
123
104
119
148
149
111
133
135
120
149
147
115
105
106
144
102
122
107
102
120
113
145
141
127
104
135
150
113
115
113
145
117
129
131
105
108
124
122
150
130
135
107
109
150
137
124
129
148
124
105
129
106
144
125
101
110
123
109
143
111
111
109
142
110
133
142
130
150
130
107
108
103
140
109
118
124
143
118
126
116
121
136
137
145
106
130
116
113
111
127
150
118
107
102
148
124
114
100
110
149
103
108
149
113
127
125
112
102
133
116
145
144
106
129
127
150
131
117
137
141
147
145
127
102
102
115
140
128
103
125
124
112
135
127
147
142
123
101
126
146
199
206
172
141
131
199
138
187
125
161
121
208
162
156
196
209
140
178
137
190
132
157
172
156
167
133
161
220
168
208
178
178
138
168
157
168
218
165
187
180
189
166
130
203
179
186
207
141
182
193
170
181
209
158
157
153
186
123
200
169
122
206
140
189
193
161
196
129
141
182
136
132
153
217
135
174
194
212
194
184
157
167
218
200
148
212
138
133
120
214
178
134
143
136
176
202
205
123
160
133
179
179
218
199
208
205
123
145
192
212
194
220
186
214
190
147
202
188
200
187
188
215
207
197
121
155
154
220
217
220
201
160
199
210
138
149
139
208
137
104
114
119
127
119
136
114
142
149
112
107
134
109
110
121
130
135
119
144
123
149
140
111
126
108
120
114
139
145
125
147
101
135
136
119
118
101
105
109
138
138
106
143
119
146
147
144
107
116
143
101
146
142
127
139
108
140
107
149
135
115
144
102
136
114
118
104
119
141
128
140
127
122
143
102
145
114
131
122
104
103
130
142
128
106
119
126
124
143
126
131
138
148
123
115
126
137
139
101
115
138
100
104
127
106
134
109
122
100
146
118
123
147
105
102
130
150
140
134
116
122
130
146
112
110
123
142
132
133
150
112
129
108
126
106
117
138
138
108
101
114
128
121
109
147
132
125
116
109
125
128
134
106
115
127
100
129
143
127
120
127
118
130
141
150
121
140
154
194
135
212
218
207
188
180
152
149
167
145
138
155
135
185
152
198
151
198
192
134
172
186
158
217
158
179
187
182
144
178
144
141
174
173
174
137
161
171
205
172
173
154
148
198
213
146
185
205
162
195
157
120
150
160
153
179
186
194
164
150
122
142
195
157
173
165
126
176
216
199
157
158
178
147
178
209
207
219
202
134
152
218
212
182
134
189
208
180
130
124
172
163
159
150
195
126
207
217
145
212
134
204
129
184
175
136
129
136
152
169
185
125
162
160
213
167
180
198
126
127
130
139
193
158
122
127
175
157
202
157
208
173
174
207
132
209
146
128
131
122
130
195
140
138
105
140
149
137
119
110
100
139
132
149
101
127
148
128
110
122
144
128
149
100
146
132
148
109
116
150
101
139
125
122
149
109
102
147
145
106
124
128
140
112
101
132
138
119
131
148
148
145
150
140
140
125
141
119
131
100
147
118
124
100
114
131
103
136
146
131
128
130
114
116
136
136
134
113
107
142
133
130
127
143
121
140
108
149
150
112
146
135
139
142
103
113
120
144
103
131
115
100
142
148
100
105
120
115
150
107
149
121
105
150
100
114
142
141
110
131
116
144
109
114
107
135
105
146
148
137
140
118
120
116
100
116
126
148
148
145
107
104
130
129
130
147
149
121
142
119
105
115
146
107
117
118
140
118
138
183
211
199
167
186
123
140
167
124
210
152
176
179
192
208
215
123
132
163
130
135
209
133
150
164
188
210
167
181
210
134
155
155
191
146
161
197
131
142
134
196
200
144
203
202
149
176
198
120
218
126
133
163
153
151
202
194
139
208
160
171
152
146
151
201
207
200
150
133
161
203
164
157
205
184
174
172
161
185
149
160
132
157
124
186
210
183
149
135
208
218
147
125
180
180
122
190
218
175
174
191
177
127
201
210
148
123
148
149
197
124
140
197
171
132
200
147
213
150
186
130
145
138
182
121
205
211
182
214
205
138
132
150
178
210
143
219
212
161
156
168
163
130
197
125
103
141
124
124
118
107
134
122
137
102
132
120
116
101
120
101
126
104
109
112
107
145
133
127
133
122
106
133
131
114
118
135
119
149
140
100
112
146
145
136
117
113
141
134
133
130
108
109
121
110
123
131
135
134
112
121
143
148
140
110
135
127
108
150
125
104
108
137
126
143
103
131
100
105
137
133
117
127
103
118
119
101
128
117
109
100
100
101
148
133
136
108
141
106
137
113
103
115
135
117
150
108
124
119
134
146
110
118
149
140
104
112
103
116
134
131
118
107
131
128
130
143
131
114
117
130
122
121
108
142
109
115
204
162
167
188
138
142
182
176
132
194
137
181
163
142
194
180
196
163
195
124
125
133
128
176
140
183
196
197
162
134
207
153
128
193
194
176
151
192
166
204
191
201
137
165
156
124
159
176
207
210
131
174
139
138
206
184
163
153
192
217
158
188
132
139
198
165
213
194
173
189
207
137
218
124
150
195
181
184
219
196
155
167
139
126
182
192
159
203
164
136
217
193
215
132
190
216
132
183
168
182
184
188
160
215
185
141
190
178
182
212
156
188
152
182
135
127
137
193
141
197
181
173
185
219
169
194
174
185
125
198
155
140
185
143
141
212
168
193
209
177
121
172
189
149
188
214
144
129
190
128
149
188
204
190
202
181
125
149
159
159
180
209
167
201
156
197
116
113
114
123
137
101
110
118
135
113
144
102
107
125
117
119
137
133
114
126
137
126
102
114
109
132
133
103
105
114
106
113
129
131
130
131
147
105
134
127
137
125
144
104
119
124
138
134
105
146
106
126
101
112
143
144
135
139
105
118
135
108
149
120
148
137
131
144
133
105
148
144
101
139
133
103
143
115
136
148
110
139
108
145
148
148
103
124
118
137
145
115
130
139
107
131
141
109
138
109
141
121
143
102
116
150
125
116
118
141
138
148
141
149
122
110
131
104
129
110
147
131
131
100
126
144
122
134
142
132
136
129
105
102
143
123
104
140
106
108
105
138
100
124
105
113
100
124
141
107
105
111
119
133
132
150
102
146
125
117
144
110
121
184
137
214
146
157
176
153
220
213
178
219
131
172
155
194
158
168
154
215
125
164
126
133
165
122
141
168
146
132
206
125
169
166
212
173
184
142
143
136
203
173
211
202
121
122
156
164
192
208
181
216
169
175
211
143
196
217
132
154
158
199
181
155
122
147
132
188
148
142
178
174
166
217
136
146
216
187
123
121
206
127
200
204
178
187
123
169
123
125
127
186
180
218
199
172
213
215
157
144
213
217
171
220
190
137
184
136
212
166
132
152
151
213
158
193
198
158
161
216
139
168
168
130
181
185
206
143
126
211
136
186
178
196
132
170
213
146
143
126
141
132
115
115
121
125
120
112
111
150
140
139
143
115
122
125
104
109
107
145
130
149
117
135
112
110
144
116
141
107
143
108
127
115
120
147
133
138
124
123
124
117
146
124
137
116
146
137
120
116
136
112
139
143
106
108
129
100
100
125
130
135
147
141
110
150
132
135
149
109
142
132
144
148
114
116
133
128
127
144
108
110
133
122
109
115
103
142
114
105
101
112
115
105
145
116
131
107
144
103
144
147
103
134
110
114
100
146
101
148
133
102
128
125
132
122
118
137
133
124
102
142
150
144
147
129
118
150
118
114
122
114
113
149
150
133
141
109
129
137
124
134
110
134
129
124
124
139
130
140
115
149
118
109
125
130
147
100
150
117
150
102
144
125
108
104
100
194
154
156
202
125
137
149
140
203
130
170
126
203
175
154
145
197
172
151
137
196
148
146
168
154
190
145
220
126
162
212
161
220
217
185
122
184
203
171
166
134
192
186
220
126
193
211
214
218
163
167
197
172
142
126
126
190
209
149
215
153
196
141
123
220
188
172
148
178
137
126
160
138
162
160
142
188
160
152
183
170
206
217
164
190
165
196
216
189
144
212
139
194
158
174
203
144
149
124
162
145
170
148
196
188
216
211
156
184
132
195
138
190
124
125
151
137
152
157
126
136
152
121
207
155
213
198
194
218
167
126
163
128
158
129
147
219
217
174
164
157
186
177
150
100
148
104
123
140
104
108
116
136
126
143
138
116
106
105
141
137
123
104
145
125
102
130
100
114
150
114
128
124
134
108
135
100
129
114
104
136
100
140
133
104
118
147
108
112
144
135
146
110
134
146
128
116
141
124
104
134
117
118
135
133
147
148
138
120
110
148
117
121
134
150
111
131
147
148
125
119
119
126
105
128
145
148
146
141
124
129
123
140
132
139
133
130
134
129
107
123
123
120
133
136
135
123
118
122
104
140
123
116
136
137
131
122
106
128
147
103
112
116
129
118
143
122
118
126
146
106
103
136
120
136
114
113
101
123
109
102
120
141
103
136
107
146
118
136
144
127
103
116
136
130
120
107
100
140
149
103
115
133
120
146
154
206
122
129
213
144
158
186
209
177
150
151
132
184
144
205
178
148
165
183
170
151
139
173
168
211
127
179
218
162
155
166
196
201
215
134
171
127
172
124
189
122
125
144
122
209
203
193
208
215
148
179
150
167
124
125
135
166
197
149
130
209
164
213
156
133
192
217
212
132
130
177
171
142
206
172
123
158
140
170
127
133
165
166
213
124
143
187
167
122
165
141
178
123
193
176
129
140
121
213
172
148
219
155
181
197
135
218
145
196
202
155
128
192
177
140
150
136
184
135
124
171
170
211
220
154
198
152
172
131
214
194
185
157
135
133
128
131
163
166
163
188
135
167
161
110
150
142
124
147
117
143
110
139
122
123
140
109
139
126
127
150
100
137
125
118
113
105
105
125
108
116
144
117
143
133
132
106
134
150
106
148
109
125
110
114
125
134
123
106
101
147
139
139
125
119
117
143
136
141
106
115
130
122
142
136
125
127
136
106
146
110
134
118
106
111
136
118
128
126
134
149
109
121
135
140
145
123
146
150
146
139
135
143
128
145
100
136
140
118
101
115
115
103
123
126
108
139
125
117
116
106
126
113
144
132
109
136
125
136
145
146
115
131
138
123
122
101
144
143
108
135
146
128
123
149
143
108
117
118
117
109
123
106
110
131
112
129
136
104
103
104
125
128
131
111
123
156
186
155
153
218
120
120
152
191
172
174
137
195
180
149
184
159
193
125
210
197
157
127
188
125
148
183
194
210
197
131
181
201
135
211
125
125
123
183
150
157
190
175
173
215
192
154
134
201
197
131
157
121
158
202
207
163
133
177
126
210
150
152
220
139
184
130
140
127
175
128
158
126
218
127
180
181
217
214
177
213
155
205
124
190
214
142
165
191
204
123
169
137
129
185
203
211
166
181
186
194
175
199
145
212
165
133
143
157
177
125
200
151
151
191
219
214
205
190
207
185
129
195
219
157
214
166
174
157
180
206
122
195
157
191
110
105
133
147
116
147
123
134
117
125
138
102
136
107
134
123
100
146
142
142
123
146
103
134
110
122
125
105
125
135
148
123
132
129
135
116
104
133
141
120
140
138
115
111
130
108
110
144
138
127
114
124
107
145
114
146
130
126
117
121
148
130
113
114
147
125
127
117
141
150
140
135
137
149
107
144
138
101
115
141
105
106
107
113
113
138
135
125
113
129
100
145
127
103
106
121
106
115
133
121
106
137
130
130
124
109
105
138
117
145
137
142
136
140
107
127
122
114
131
123
104
104
131
148
106
123
125
141
136
103
140
129
112
111
144
118
110
104
135
119
131
143
111
136
127
117
100
119
143
109
122
123
139
108
133
107
131
137
108
128
104
106
102
135
205
198
209
192
167
122
206
141
172
126
145
172
197
209
219
213
174
210
183
216
196
171
136
192
159
154
150
158
170
156
156
185
129
199
143
147
154
188
140
136
164
213
220
200
190
220
150
120
181
131
138
199
138
130
134
144
213
136
163
128
168
128
184
210
196
194
121
133
219
211
185
210
215
158
130
142
149
140
134
142
182
213
138
204
149
217
141
169
176
135
132
202
165
165
135
183
135
140
217
199
191
155
160
147
215
153
153
185
155
122
149
173
172
135
153
214
168
204
155
120
169
200
150
181
144
192
207
196
137
199
122
130
190
136
130
145
146
195
180
135
164
171
208
174
173
205
186
155
132
218
166
143
219
123
131
149
208
146
142
121
140
182
149
216
127
171
174
134
143
137
136
111
133
112
101
146
134
134
133
119
112
107
125
149
145
102
150
119
136
111
120
115
117
114
123
103
107
144
147
127
144
127
129
140
116
129
124
100
138
142
139
102
117
104
129
114
145
101
133
119
105
148
114
128
106
107
111
136
115
132
124
140
132
129
136
126
136
132
136
140
134
101
104
135
107
101
120
120
101
149
142
141
127
134
124
128
113
137
112
141
121
129
121
136
114
146
117
137
109
106
110
114
116
129
106
108
130
106
140
122
103
100
143
103
125
136
137
127
131
141
142
120
139
126
108
143
142
138
121
141
150
131
123
118
147
104
137
116
119
137
108
101
115
139
142
121
142
132
149
216
186
164
123
174
122
179
171
133
210
189
192
159
170
190
194
215
162
180
168
159
217
161
139
213
217
128
181
125
135
153
128
201
140
143
195
144
215
139
185
169
173
211
192
138
212
122
130
158
196
186
141
194
180
141
138
132
123
123
132
159
169
166
211
134
185
148
202
206
191
212
140
193
208
207
220
173
181
120
148
146
205
182
177
123
170
156
127
120
156
175
214
165
219
184
140
122
124
135
149
135
173
135
193
153
192
139
130
172
165
207
210
130
193
148
163
157
177
154
215
130
177
186
178
192
122
197
120
164
205
169
132
203
135
185
180
208
167
182
147
158
120
204
171
162
188
164
129
160
216
104
106
113
116
104
103
149
144
124
139
115
124
118
127
138
128
111
102
132
104
146
133
106
137
133
148
139
130
124
131
127
126
139
139
132
146
102
104
121
109
102
140
128
138
138
111
108
125
121
129
101
134
106
109
133
114
143
111
150
112
132
101
112
124
142
118
120
128
118
135
117
116
140
146
128
149
105
105
141
117
146
133
147
108
134
103
129
135
113
125
118
137
142
114
148
109
132
117
144
110
137
142
109
147
142
138
115
133
121
122
116
116
107
136
108
108
145
149
104
131
131
119
135
114
145
110
127
125
123
172
149
210
220
189
193
203
189
156
157
142
129
177
144
184
166
214
120
151
182
173
129
183
176
162
125
127
148
144
199
218
183
159
203
192
168
143
171
127
137
205
212
165
135
165
170
205
157
172
166
139
164
213
165
121
196
189
131
157
128
198
214
215
215
148
168
145
190
139
145
191
150
181
185
148
163
218
129
146
184
195
157
172
160
158
189
131
137
169
123
150
124
153
198
169
193
208
157
124
219
156
168
219
214
132
201
156
155
167
164
156
187
156
200
178
203
127
162
131
181
135
204
124
145
123
154
141
160
198
176
174
150
130
182
155
191
194
164
171
141
197
213
137
124
143
177
175
182
169
196
184
191
173
139
106
116
146
117
115
145
101
146
118
126
130
100
106
122
141
132
105
122
115
117
131
128
111
119
123
128
140
124
117
111
120
133
140
128
137
106
119
116
112
122
121
117
107
128
142
139
120
148
150
145
134
132
137
112
105
106
133
119
130
129
105
118
144
148
110
136
117
110
118
106
117
146
112
142
109
143
144
138
145
116
109
125
111
143
138
120
146
107
107
130
104
144
128
113
111
149
149
118
112
118
100
127
136
128
104
146
135
150
126
150
114
144
119
138
111
125
122
120
123
111
124
138
134
100
120
147
118
135
140
119
110
145
125
103
132
111
144
121
134
148
149
218
124
173
148
158
160
132
194
131
206
134
151
196
194
190
164
205
139
179
142
131
156
155
136
182
163
131
139
202
198
149
129
140
130
170
136
203
217
122
180
146
149
180
219
120
220
159
129
186
200
216
175
219
138
175
163
125
144
208
141
175
171
197
183
176
212
210
144
128
183
204
132
184
219
181
152
202
216
171
152
137
158
137
155
122
139
155
179
183
126
216
179
147
130
128
132
214
207
168
194
185
151
217
171
158
158
152
186
152
220
130
193
214
168
125
155
161
185
215
135
147
183
126
177
164
196
120
123
202
121
183
137
131
209
168
153
148
145
171
215
177
179
157
168
197
147
146
120
124
150
121
123
108
138
136
126
147
114
133
109
145
102
136
105
147
108
130
105
104
117
148
119
136
125
149
100
118
109
103
124
148
117
137
129
147
144
148
138
112
145
106
115
109
125
150
106
116
131
145
129
112
102
141
118
150
110
138
127
102
128
148
105
141
122
110
139
120
103
128
138
144
141
147
100
114
146
137
120
118
109
119
125
122
127
131
150
137
132
150
143
147
150
145
139
109
108
100
130
124
143
103
136
138
111
117
132
109
113
129
105
115
132
113
118
132
137
109
103
121
105
124
129
106
106
128
110
111
132
126
145
138
124
140
132
139
100
139
111
134
102
149
142
101
112
145
126
119
202
220
159
218
217
162
162
209
147
130
206
205
122
216
122
122
157
198
143
157
120
134
164
165
207
145
148
198
197
141
141
208
181
155
135
165
219
129
166
132
126
175
189
131
192
142
206
200
188
183
123
203
134
156
172
128
133
132
132
212
184
184
194
128
129
187
166
167
194
138
187
152
159
171
157
190
134
128
136
202
125
148
192
159
121
129
185
208
178
219
180
183
142
156
209
220
213
170
208
179
154
193
139
159
217
203
214
172
165
125
135
128
129
133
129
185
145
214
168
160
148
126
184
213
137
125
182
174
120
141
150
134
162
202
148
185
187
204
183
162
124
219
213
162
173
170
151
128
198
192
186
179
198
154
142
156
218
204
142
179
152
177
149
147
180
153
154
158
202
192
153
169
161
121
102
115
126
136
132
126
143
125
127
110
116
145
118
138
136
123
115
132
133
137
141
136
140
123
133
116
145
101
131
129
126
134
109
135
130
126
140
144
120
112
133
105
141
129
129
143
139
144
150
145
125
114
147
150
100
150
101
141
122
113
111
116
136
126
100
142
104
118
133
114
129
136
112
126
110
138
139
125
128
146
141
126
117
106
120
150
123
113
117
101
123
126
149
100
126
102
127
110
111
140
130
136
142
143
149
139
138
146
118
108
134
103
142
138
137
120
144
116
107
121
126
104
131
146
102
132
110
125
107
126
138
122
133
100
128
111
136
174
126
190
121
182
150
139
142
210
184
159
198
165
199
191
185
205
150
202
181
172
155
167
172
218
165
216
129
179
196
215
198
143
170
171
139
197
193
124
211
126
137
142
149
189
199
137
143
135
194
206
132
176
185
209
200
201
188
122
218
134
207
211
179
136
148
197
152
147
139
186
150
191
168
208
213
142
153
204
204
129
193
125
170
130
201
129
155
133
141
125
198
144
172
129
175
148
145
194
194
170
155
146
130
216
208
197
192
219
147
186
165
136
198
212
195
163
182
197
178
170
177
132
160
208
134
193
170
144
151
186
217
158
138
214
185
188
214
159
125
136
139
197
133
208
164
201
190
126
183
141
180
141
185
135
120
142
146
104
117
135
123
140
115
111
122
122
103
128
109
119
148
143
119
109
116
140
118
111
123
133
143
145
128
108
138
127
139
139
142
126
136
115
135
120
149
137
144
109
130
143
113
124
108
142
102
100
145
135
139
121
117
139
139
118
141
115
133
124
106
135
135
113
132
126
120
115
150
121
134
102
143
112
124
106
112
141
104
115
145
106
136
146
137
116
102
113
115
131
113
129
146
146
111
126
136
135
143
120
124
111
115
141
122
132
108
140
149
107
116
101
134
112
101
141
105
106
146
107
135
126
117
142
145
145
139
111
127
144
103
113
129
147
100
146
113
125
126
124
121
125
145
137
135
134
116
101
143
111
136
104
108
110
138
142
139
123
106
106
215
219
171
134
144
130
130
157
139
219
183
216
219
140
206
129
199
123
200
220
197
142
166
203
206
143
124
215
168
198
169
138
205
192
174
165
220
139
217
189
140
185
146
160
122
212
126
191
200
208
142
150
140
143
186
207
178
185
165
167
211
146
199
160
165
151
173
209
121
150
146
153
131
194
176
144
175
148
155
141
155
145
130
180
185
216
207
125
211
132
151
185
204
171
135
180
165
128
169
146
183
143
168
154
206
189
164
193
158
173
161
216
150
146
131
134
186
206
132
210
149
179
167
120
180
175
185
169
166
215
210
130
107
144
148
109
141
117
108
129
134
109
101
117
102
143
127
148
120
106
111
115
135
118
113
149
150
128
102
106
117
104
135
126
129
126
147
150
114
137
147
108
130
129
133
125
132
115
102
115
125
111
117
111
121
117
147
103
125
101
108
120
109
121
121
112
136
111
149
103
100
144
131
142
108
112
113
149
109
147
117
150
106
109
118
125
124
136
104
103
123
131
138
125
126
100
119
135
113
121
130
120
112
116
129
142
140
105
107
144
107
127
127
126
120
130
102
135
123
147
126
110
130
147
121
118
120
108
145
101
146
141
112
100
122
132
145
130
146
101
124
119
139
142
112
118
131
107
121
139
145
101
101
125
100
102
125
148
111
149
143
148
134
103
145
125
148
113
133
129
136
120
110
124
213
212
162
170
174
177
184
207
150
182
173
185
128
208
196
126
199
159
173
154
190
175
154
155
205
179
128
128
146
136
195
130
205
134
125
201
133
124
190
164
158
169
153
211
176
140
210
187
204
195
195
189
146
200
135
179
126
139
155
152
130
148
165
148
131
181
125
200
142
141
156
187
129
168
193
121
150
138
178
157
159
189
218
192
203
181
200
182
191
196
144
184
167
211
192
126
123
139
135
209
158
163
186
205
130
133
164
149
214
142
218
202
212
153
186
169
187
166
168
143
145
195
127
122
200
183
124
187
169
198
143
130
214
142
138
176
135
188
208
162
158
176
146
203
146
139
139
155
217
134
131
130
118
100
106
131
146
136
121
142
104
132
122
139
140
143
128
107
109
105
127
132
125
130
120
111
126
147
129
113
143
140
119
133
148
101
122
115
118
100
129
114
112
137
129
137
149
118
135
148
140
137
133
137
132
111
137
106
111
134
142
110
138
145
147
133
139
123
113
110
142
134
106
122
131
113
130
105
108
150
146
102
141
127
117
110
144
115
126
128
105
146
140
140
112
143
121
146
139
133
136
108
130
138
116
139
116
111
138
150
133
112
100
135
137
117
106
147
103
147
120
108
122
118
102
110
147
150
112
112
101
118
124
114
139
100
111
134
133
105
129
142
108
121
147
149
148
104
110
134
110
106
102
147
125
115
138
141
128
112
147
124
145
136
130
147
132
127
119
149
200
211
160
215
203
154
177
218
147
194
192
199
145
196
121
189
195
197
157
148
216
130
122
141
135
204
207
151
202
198
178
173
161
163
187
142
214
205
220
123
189
193
142
178
213
164
153
172
138
151
189
149
123
141
169
190
164
217
178
219
142
159
126
149
129
123
217
148
202
173
158
187
213
176
166
163
149
135
165
203
143
196
179
212
126
213
128
208
198
168
202
127
196
168
211
167
150
211
131
176
217
142
126
126
128
167
209
190
124
173
155
157
216
202
182
204
148
168
204
188
199
190
153
193
187
152
158
144
189
162
215
179
179
133
194
133
154
143
170
147
144
164
133
135
195
179
200
170
173
138
213
171
152
173
177
172
217
156
173
189
220
143
210
114
116
146
140
106
122
125
117
133
143
111
104
102
114
142
106
119
119
102
118
127
124
123
107
128
132
129
108
103
133
118
132
133
122
144
125
115
144
110
132
125
143
119
107
101
129
106
110
102
115
138
100
128
134
121
137
118
113
138
142
139
112
117
115
101
118
134
122
133
136
139
138
115
134
132
147
141
146
135
141
107
121
134
103
122
149
114
122
112
126
126
108
119
110
121
145
127
124
149
130
124
127
112
106
131
144
113
108
108
113
115
101
135
115
145
129
108
143
139
130
140
150
115
121
134
137
131
135
140
131
103
121
131
119
136
113
120
102
146
133
122
139
110
102
138
149
115
129
139
123
117
104
117
150
107
116
109
108
147
127
111
128
137
135
114
139
123
132
132
203
156
201
215
200
156
177
210
202
161
175
141
186
191
148
157
153
175
127
142
202
161
157
145
210
157
141
188
213
174
155
174
136
127
199
192
141
181
203
219
175
187
171
188
208
180
199
135
129
141
212
131
126
122
127
207
138
147
128
186
149
174
196
124
196
167
193
177
217
167
173
128
128
145
167
218
155
129
175
186
174
182
180
202
193
127
131
120
200
132
149
219
207
162
188
128
218
217
193
209
207
134
204
175
157
214
132
136
172
130
199
163
181
158
211
128
179
184
160
152
169
133
168
181
131
122
163
131
217
130
197
204
194
198
198
168
210
124
186
163
148
122
219
202
125
168
185
141
128
136
120
134
147
136
181
171
185
160
155
150
199
122
160
108
139
103
123
114
109
132
107
106
131
129
119
101
114
146
123
124
123
145
129
118
117
132
136
112
130
102
134
109
100
102
133
146
126
116
103
147
131
113
140
149
130
146
104
139
139
133
130
131
104
134
123
122
135
103
133
110
137
136
144
125
106
133
140
101
124
122
148
114
145
143
139
129
133
144
134
138
106
137
118
141
129
139
121
109
121
116
113
122
147
137
149
107
133
127
115
105
131
123
143
105
143
118
127
141
127
137
122
106
134
104
133
119
139
141
106
111
133
101
132
108
132
131
109
149
125
134
149
122
116
147
132
144
150
124
138
123
135
128
144
137
108
113
135
104
147
130
137
102
146
110
120
142
125
121
150
133
110
138
142
143
148
124
141
168
131
135
168
152
192
163
127
138
144
140
183
132
182
195
198
149
205
152
136
197
204
184
207
173
199
133
202
126
174
131
148
185
185
178
178
161
195
192
196
183
153
206
208
180
202
141
137
151
203
211
169
151
181
193
212
164
128
177
211
177
162
195
127
135
158
197
168
149
175
178
175
167
125
151
216
214
188
124
137
173
145
166
121
165
152
215
144
150
215
179
184
170
124
200
179
121
198
192
212
164
219
164
189
178
128
203
205
171
137
150
185
174
204
151
140
177
133
193
146
182
165
124
170
201
189
197
145
195
127
199
186
208
178
208
145
190
165
217
179
193
128
204
130
164
188
132
216
143
165
201
121
203
175
186
167
163
145
129
190
169
170
129
205
194
212
142
167
154
145
123
101
113
145
111
130
145
143
133
104
150
108
129
144
127
141
138
125
138
108
150
122
118
111
100
147
116
104
138
126
115
134
106
121
140
136
102
145
122
124
129
121
124
116
107
146
131
150
141
122
110
130
120
110
105
141
120
140
116
149
135
100
128
113
106
130
145
148
110
118
115
107
116
120
118
131
113
138
149
123
139
142
116
110
132
141
145
150
117
113
104
145
121
138
106
148
106
117
131
100
131
108
110
126
149
115
125
135
134
136
109
117
114
126
146
140
126
136
132
120
115
134
103
132
149
110
103
100
124
104
143
141
124
146
115
147
114
101
140
101
142
127
142
121
104
112
145
138
132
121
132
128
137
146
133
149
132
139
121
106
130
128
122
138
116
137
112
128
176
210
186
177
162
143
121
149
165
142
198
210
173
158
208
121
124
120
152
136
198
159
163
153
185
181
147
137
163
130
220
212
186
152
143
186
128
159
192
137
148
158
207
184
212
152
173
200
159
128
198
207
217
164
199
194
217
133
207
126
145
173
137
155
143
166
209
147
148
175
177
184
121
193
131
203
152
153
163
121
141
129
197
133
214
129
209
145
190
191
183
188
133
210
165
124
155
218
212
159
148
188
157
174
135
220
174
195
194
121
122
210
215
151
215
165
161
127
144
213
164
124
148
155
186
152
158
157
149
142
145
213
217
194
217
185
211
183
121
140
213
189
151
150
218
148
200
144
219
197
212
125
219
214
115
137
143
148
108
150
136
136
125
135
105
134
120
100
149
102
131
120
108
107
107
112
101
100
104
111
146
126
120
106
140
112
142
135
102
113
147
126
138
149
103
123
120
113
108
139
103
117
143
146
137
125
147
136
128
109
144
108
120
129
115
133
105
139
124
104
149
120
147
119
137
101
138
129
139
130
149
112
138
120
117
121
135
101
146
134
139
130
137
141
147
106
125
136
144
121
130
144
138
100
148
139
139
146
123
143
116
150
132
148
126
106
102
131
120
137
104
108
143
145
130
130
144
147
150
139
123
148
126
117
118
131
112
115
113
118
122
147
130
116
136
103
109
146
142
137
125
110
105
101
116
135
139
120
124
131
137
107
103
102
119
143
201
130
141
200
160
122
139
210
140
184
122
146
130
125
165
133
121
169
137
194
159
213
220
138
165
179
206
151
198
122
127
159
127
220
220
180
166
155
167
152
120
209
209
207
122
157
134
200
219
193
168
199
167
193
184
193
143
190
128
144
165
123
133
195
213
153
180
161
134
172
153
191
155
125
214
171
213
174
147
186
205
218
158
164
144
150
219
192
177
127
206
192
189
159
220
172
189
167
135
167
153
154
195
120
148
140
172
154
149
198
186
149
121
189
124
138
191
211
122
185
144
196
198
210
206
180
133
156
188
125
195
167
204
213
175
160
215
166
179
160
128
143
142
147
120
150
122
148
149
108
115
119
124
119
148
128
104
107
135
147
142
120
147
150
141
142
130
129
109
149
102
141
148
148
124
114
116
103
147
113
137
101
120
123
100
130
121
113
134
138
144
136
127
109
131
136
124
131
103
128
112
106
111
137
121
150
142
130
124
136
134
112
121
122
147
142
150
107
102
147
103
137
122
106
132
139
107
126
136
116
110
150
129
129
147
144
122
119
123
127
131
130
150
108
149
107
129
115
102
109
112
150
134
133
109
132
135
132
126
149
132
124
124
141
132
114
117
124
106
106
114
134
115
146
119
122
142
105
146
100
143
124
125
105
131
123
126
114
103
136
116
114
106
113
125
106
135
103
110
139
114
108
142
147
131
121
110
100
112
123
122
114
122
145
185
203
121
200
158
171
121
160
131
177
121
135
168
196
208
170
136
203
137
220
124
159
129
212
212
126
174
218
173
140
121
209
176
129
214
138
141
191
170
215
193
133
159
200
143
186
121
163
189
141
125
141
146
164
182
178
139
163
189
201
142
129
151
167
182
185
178
173
174
181
184
120
145
188
161
181
126
192
191
141
193
174
213
213
145
120
144
214
151
175
125
171
138
169
134
209
153
156
174
157
188
139
144
144
220
131
190
142
172
159
188
168
220
187
143
210
182
128
126
146
127
203
151
124
195
205
173
171
150
184
214
122
176
186
177
201
141
166
188
178
144
138
126
124
126
154
146
187
133
146
190
190
166
195
166
122
139
148
121
110
120
123
101
105
140
107
101
128
101
118
106
138
124
122
150
145
110
134
113
146
145
116
144
144
119
104
117
140
140
116
138
101
126
117
121
117
142
135
115
131
147
112
115
132
122
116
132
111
140
132
150
112
137
120
114
106
147
144
126
144
142
106
100
133
134
117
150
101
100
123
125
111
102
103
102
135
138
146
128
118
111
120
117
100
144
116
101
138
131
126
126
139
107
117
121
128
137
144
142
134
107
110
146
116
124
136
102
135
148
123
150
121
148
100
136
121
119
117
114
118
114
117
149
142
111
101
150
128
107
111
150
135
101
113
114
126
148
109
148
101
130
126
107
113
140
123
100
149
133
133
127
145
119
142
100
103
119
138
106
125
127
120
129
140
137
127
140
145
110
106
146
139
192
158
166
173
130
154
177
139
156
165
161
130
172
135
170
184
132
152
184
120
139
188
136
141
151
212
141
143
157
140
217
142
215
183
158
200
200
217
133
187
156
212
192
209
140
203
153
135
133
176
193
154
134
151
210
135
141
217
196
161
147
133
192
157
212
172
209
127
151
167
177
184
175
199
181
143
169
144
193
211
139
121
206
214
156
137
127
216
172
164
188
215
198
174
192
209
131
160
204
144
176
213
178
137
199
136
183
167
173
134
179
143
123
126
216
141
131
187
195
174
145
170
155
133
143
215
215
146
140
131
130
150
174
185
160
179
198
153
155
120
133
151
182
217
188
183
208
190
179
208
152
158
120
144
122
200
123
133
192
175
186
165
203
134
119
104
111
109
129
135
103
135
104
101
136
143
107
103
129
135
107
103
127
100
103
147
122
106
150
118
134
108
133
128
111
135
149
113
118
105
126
110
127
114
117
137
149
116
138
140
102
122
116
128
128
108
105
115
140
116
125
139
122
131
102
145
143
101
138
120
106
100
101
140
104
141
102
147
121
148
143
138
141
101
150
100
113
142
119
131
149
112
127
147
109
129
121
106
144
119
107
147
139
104
118
148
134
127
132
116
103
113
149
150
123
121
120
115
112
116
148
148
129
112
114
121
139
125
141
111
141
119
118
118
141
126
138
115
130
107
144
104
138
130
115
141
111
125
198
156
176
177
175
146
138
156
176
189
202
213
133
201
176
162
182
193
202
174
159
129
205
214
206
184
182
214
160
147
135
127
128
186
218
167
211
179
209
142
140
164
215
166
193
186
187
169
205
192
167
149
173
196
193
157
143
203
159
194
208
165
130
128
214
165
218
128
172
169
120
134
165
150
206
181
183
134
141
214
203
143
178
133
194
188
171
143
120
123
149
149
173
129
131
179
132
147
204
127
135
140
188
151
177
137
206
161
213
149
137
185
138
164
202
130
193
213
149
146
209
148
150
148
174
195
168
164
189
196
134
218
173
219
187
147
157
182
120
167
187
183
187
129
153
176
131
156
169
186
141
205
178
167
157
170
200
163
212
200
166
104
140
102
146
114
124
147
139
146
110
134
110
116
149
148
104
106
141
131
129
108
119
129
145
124
101
119
126
143
149
111
116
108
137
101
128
124
112
147
111
127
121
119
100
149
138
102
101
128
114
149
150
111
110
126
122
102
129
145
129
143
117
126
145
141
147
138
133
110
103
110
134
142
125
147
122
136
149
108
115
144
125
147
130
126
118
113
145
128
100
112
124
125
123
106
146
144
109
129
106
127
118
132
121
122
144
106
110
140
124
142
128
111
127
128
129
106
138
120
102
123
102
135
135
137
114
147
140
115
109
140
143
131
115
119
140
144
148
111
107
135
109
101
147
138
102
129
149
122
135
107
172
138
193
121
152
162
187
215
171
168
122
193
193
165
186
197
144
219
145
183
214
136
165
193
159
184
210
148
158
161
195
174
213
164
209
142
154
134
162
144
129
124
147
155
171
179
133
137
125
163
206
188
141
168
140
137
146
189
144
176
127
219
155
185
165
137
154
220
175
164
170
165
158
160
145
162
195
155
214
128
158
182
128
197
213
193
134
195
161
144
182
192
178
146
135
220
206
144
217
148
139
125
174
162
216
186
191
127
147
159
175
210
145
126
171
177
202
148
121
149
211
147
170
128
141
209
185
195
131
187
145
145
183
211
120
195
154
139
124
157
190
144
199
146
147
151
196
201
208
136
185
214
178
148
174
199
188
140
198
211
119
140
126
116
146
110
113
128
121
135
130
141
136
107
138
148
101
132
125
120
124
136
121
127
150
124
143
103
142
145
131
128
130
149
125
142
123
146
132
134
139
139
124
111
110
150
114
140
115
146
125
147
100
102
106
150
150
103
123
145
118
121
131
143
147
150
150
125
137
147
137
126
101
124
142
103
104
149
116
105
131
106
110
122
113
136
118
126
147
149
118
138
111
140
138
126
141
147
145
130
120
106
115
137
105
130
128
135
132
123
140
141
127
108
135
142
125
104
150
130
104
136
115
108
146
124
105
112
106
123
102
100
106
140
104
128
172
213
140
145
196
137
175
209
133
123
193
191
131
132
213
197
196
190
120
129
174
188
132
172
135
169
152
183
203
199
164
205
136
181
183
210
160
213
186
199
169
178
167
176
173
144
220
154
165
146
189
166
185
201
180
168
133
201
151
152
165
147
187
168
126
185
183
126
147
156
172
205
212
201
187
204
174
199
209
169
213
184
188
172
126
186
148
220
159
179
159
199
171
185
148
177
155
217
131
132
204
129
174
198
197
204
220
181
193
132
165
184
131
134
130
201
209
173
129
170
144
137
196
164
174
191
127
191
210
156
205
150
220
179
216
162
133
201
121
198
131
175
159
190
159
178
142
105
105
134
134
124
128
122
132
118
115
132
117
113
103
104
119
126
149
102
143
129
113
121
132
145
101
136
104
107
111
112
128
139
145
122
132
108
114
128
142
116
115
140
131
120
150
148
143
101
111
136
134
118
123
107
114
130
129
150
113
126
104
148
111
147
114
121
121
132
130
105
104
106
133
102
108
150
139
141
121
135
111
124
124
134
100
116
146
118
133
103
103
117
148
135
132
143
108
134
134
144
138
121
124
141
137
105
136
114
106
100
122
134
132
133
127
106
108
126
105
105
122
112
130
129
135
117
117
147
109
150
138
115
148
147
144
179
201
168
146
179
153
186
185
140
214
212
184
197
199
189
121
163
127
171
171
203
186
174
167
124
151
152
155
150
208
125
125
212
200
144
193
186
174
157
127
121
126
201
129
132
147
185
126
199
141
122
151
136
157
136
206
209
206
189
155
158
171
201
138
192
159
147
123
149
131
179
189
126
158
219
186
152
144
155
177
220
128
203
127
199
190
213
168
206
220
198
214
122
142
131
124
190
174
205
193
216
198
125
165
127
203
124
181
189
173
154
153
213
164
134
185
130
172
198
211
194
198
210
172
183
220
208
157
167
154
207
177
219
159
203
156
157
148
158
157
138
193
147
157
172
215
134
211
129
100
129
121
110
118
124
127
124
132
101
144
147
117
101
103
117
117
129
125
109
117
111
119
121
128
123
150
147
150
136
150
124
120
107
107
144
145
116
120
132
113
141
115
138
140
140
115
116
149
123
144
145
128
131
136
132
125
114
110
112
112
147
113
118
148
112
103
119
127
140
105
111
106
148
106
116
115
144
114
118
106
101
122
130
101
113
146
129
119
135
139
111
108
134
122
143
112
119
101
117
115
121
126
107
108
100
120
127
135
110
109
103
139
123
108
114
110
106
112
130
140
130
136
114
117
149
139
103
125
135
117
115
119
127
126
141
105
119
144
128
108
110
150
136
143
123
113
137
146
105
100
119
130
123
106
104
112
126
147
111
117
109
146
106
177
218
144
161
143
210
183
129
173
206
161
173
177
177
129
180
215
132
135
172
155
202
212
191
213
122
182
199
135
150
189
134
219
181
203
138
166
136
144
203
220
142
148
162
198
166
152
135
199
208
152
133
130
153
215
120
120
179
141
180
132
138
180
174
202
124
210
154
188
220
144
193
124
209
183
167
218
136
153
158
135
191
195
143
219
188
134
142
196
168
183
194
200
130
139
209
160
138
134
125
121
216
212
212
198
154
134
158
127
165
218
139
214
176
168
128
151
187
199
184
219
154
127
129
181
125
217
121
192
160
124
141
143
179
134
159
191
201
199
132
173
188
185
126
136
213
128
138
182
207
184
135
142
219
148
158
188
176
127
145
112
116
124
144
137
132
115
147
142
129
123
131
104
134
106
144
120
113
100
137
119
128
104
111
129
142
129
140
107
147
142
101
135
128
122
146
130
144
117
140
144
148
129
143
133
148
147
134
109
114
142
124
129
125
134
135
116
113
122
126
150
133
109
142
132
130
140
118
143
100
122
106
149
106
100
119
142
128
129
113
125
117
146
108
128
100
132
107
119
107
129
125
122
139
132
106
119
105
145
109
116
121
102
124
114
115
107
116
127
144
129
125
133
137
112
105
129
104
143
119
109
111
142
114
139
134
145
147
108
120
126
100
146
107
116
114
128
217
172
183
202
219
145
182
171
193
185
136
134
217
155
191
134
139
165
180
156
142
184
198
196
155
210
123
153
169
200
166
124
216
156
140
121
159
122
184
212
193
200
212
186
132
197
135
185
144
145
185
174
176
147
202
126
201
125
191
129
202
164
193
148
200
206
214
124
122
193
145
212
216
192
144
181
172
122
161
125
208
133
176
210
169
189
160
203
201
140
212
156
132
209
178
156
171
174
191
181
131
154
200
132
220
193
131
191
145
148
200
167
210
160
211
181
208
136
175
135
142
191
195
185
172
157
152
132
193
217
177
215
139
117
115
140
112
110
143
115
145
113
138
141
104
139
128
104
142
104
136
117
136
142
114
131
106
137
145
110
130
127
148
110
138
109
102
118
149
127
129
138
113
136
121
106
139
147
145
139
137
138
134
128
139
123
122
101
132
103
123
138
100
145
145
123
133
100
112
105
116
101
133
103
113
150
119
105
107
149
105
132
113
116
139
124
122
110
131
140
100
132
115
108
148
115
117
149
127
138
127
113
105
126
108
138
134
117
121
129
143
136
112
148
105
146
137
103
127
103
117
115
143
145
111
107
121
135
136
133
145
145
139
150
136
105
100
116
121
103
149
115
105
101
108
107
147
131
131
124
109
112
118
144
136
118
128
107
121
128
148
131
128
135
157
161
202
170
173
132
197
203
210
142
212
193
156
214
180
141
208
191
159
176
130
212
218
128
202
148
191
177
194
131
186
210
123
125
182
134
123
146
173
154
138
159
195
182
200
186
147
187
197
216
176
213
215
186
186
134
190
162
195
207
160
130
157
147
135
130
197
130
125
150
140
140
128
139
179
157
159
186
170
192
140
181
199
180
191
218
204
145
186
138
125
205
212
213
152
203
187
159
142
133
201
138
130
147
216
150
211
163
150
139
181
170
219
143
188
220
192
165
148
151
176
145
218
219
213
136
130
205
150
150
123
184
162
176
137
126
164
187
136
159
169
203
128
130
128
140
120
176
162
204
183
218
215
130
214
170
120
209
140
211
120
154
136
174
195
167
119
129
148
139
144
134
112
121
116
108
135
133
106
106
106
110
134
116
126
114
149
117
148
109
109
107
129
147
139
133
109
122
130
124
122
126
105
124
100
114
103
102
105
135
133
149
125
133
135
123
108
110
106
112
150
110
147
108
100
129
133
138
126
112
143
128
115
114
112
124
105
145
146
143
147
118
150
113
102
127
137
103
112
100
100
126
107
124
122
115
101
142
108
135
139
130
102
103
129
108
131
107
138
128
118
143
128
150
149
100
122
120
143
120
142
101
118
109
148
142
126
127
134
118
118
116
134
102
109
142
131
128
139
113
111
150
106
124
131
112
104
129
115
120
114
149
107
116
103
151
123
121
167
121
204
200
169
137
177
218
177
206
155
187
155
152
160
213
185
158
199
170
140
176
145
133
175
122
165
195
166
176
122
121
137
124
191
202
173
150
175
203
217
160
125
166
206
181
150
201
182
207
127
176
177
198
194
220
204
194
198
207
189
196
190
197
134
153
157
214
146
197
197
154
205
173
209
162
165
139
136
212
215
152
139
131
206
130
174
166
210
151
197
193
193
174
185
123
162
214
197
166
211
176
167
128
185
172
127
166
131
163
155
146
162
141
137
130
178
211
176
124
135
147
147
143
170
158
161
198
215
126
164
159
203
181
175
129
176
193
162
130
124
180
178
181
203
123
137
214
143
148
142
106
142
135
112
147
100
119
123
107
110
113
106
121
102
126
149
121
125
134
125
127
101
133
128
133
131
126
146
129
117
108
122
119
148
117
129
101
101
140
114
124
138
141
140
117
131
136
147
131
116
105
132
104
120
117
150
134
147
142
103
124
133
112
149
117
128
108
125
107
104
116
133
133
115
106
148
127
113
148
121
139
145
146
114
133
146
134
104
146
106
102
101
129
138
134
101
145
146
120
121
138
105
116
132
137
142
134
102
136
131
100
114
134
109
136
104
114
111
110
139
119
144
111
112
123
124
136
140
127
106
190
150
214
128
207
208
164
209
132
133
155
181
150
185
188
163
220
219
121
158
162
128
216
146
200
172
156
176
157
209
160
205
163
127
213
213
169
189
158
154
215
190
159
170
127
133
157
182
179
184
133
213
177
189
159
211
165
213
140
214
197
181
125
195
143
201
169
205
156
191
165
127
153
177
168
216
173
153
205
184
216
169
133
140
143
164
216
186
195
182
163
208
177
172
215
150
189
151
161
208
216
211
210
190
181
161
122
126
162
179
138
178
157
160
176
177
195
214
180
205
208
193
121
172
128
123
201
155
155
147
151
146
148
196
156
185
127
139
157
181
211
178
122
197
165
190
217
156
145
183
188
190
143
110
103
101
133
112
105
131
137
137
106
136
143
113
138
106
110
137
143
147
104
127
123
126
147
131
113
140
141
107
119
110
149
137
121
104
143
108
105
123
112
130
129
111
127
133
136
107
135
142
132
119
126
106
112
147
117
115
113
109
131
116
150
107
122
109
134
101
111
130
141
111
135
109
136
105
113
126
110
143
127
101
105
107
146
118
107
108
113
134
125
120
113
129
143
146
118
106
100
104
126
116
144
108
127
118
116
138
120
104
124
109
138
117
105
125
131
111
150
109
103
135
145
122
115
141
146
121
125
129
119
139
121
108
116
126
149
147
115
110
134
112
123
149
119
116
136
145
122
113
143
150
146
102
120
128
120
150
104
105
112
107
141
147
125
102
139
189
122
122
141
194
146
181
139
179
132
131
193
197
177
183
214
120
149
128
138
139
141
128
168
131
213
146
143
124
125
162
180
157
163
169
137
150
219
147
144
220
166
220
140
149
152
163
177
219
150
121
150
185
123
164
134
138
182
149
180
218
210
160
166
145
150
134
157
169
150
205
192
200
120
175
166
155
206
153
207
142
206
155
173
134
206
181
168
210
139
185
200
220
149
151
194
193
135
132
218
193
190
220
199
201
197
158
153
146
203
131
184
167
120
165
205
194
125
185
140
181
214
194
157
130
136
194
155
163
121
174
219
137
142
145
141
127
150
131
111
103
137
137
122
115
142
115
107
133
111
113
126
124
109
148
107
146
105
143
107
104
146
141
101
148
132
125
124
141
115
132
140
139
109
117
121
102
114
124
149
121
120
144
144
117
126
105
104
120
138
101
146
104
132
120
111
106
122
113
149
115
112
123
133
149
125
145
105
118
147
107
140
142
109
103
127
124
150
103
131
133
123
104
120
116
111
128
146
138
149
144
143
118
125
128
141
133
117
119
140
126
123
143
101
122
129
108
133
130
102
109
108
106
117
139
150
141
128
127
104
149
145
143
121
103
119
100
141
194
157
189
172
216
207
215
171
165
188
155
159
203
128
171
124
182
150
193
143
130
134
178
213
134
195
199
129
214
140
188
128
185
139
166
164
206
180
130
125
215
171
209
158
140
193
130
134
177
212
198
172
181
172
213
167
143
132
141
144
179
131
156
164
135
185
169
200
142
217
186
145
145
211
131
137
140
130
150
161
174
135
135
133
156
199
189
214
139
128
205
194
158
195
120
184
209
165
190
215
146
160
161
137
191
200
180
123
153
187
219
167
165
164
208
120
156
213
178
151
192
187
141
131
149
147
150
187
172
177
211
180
148
148
129
166
128
123
149
145
158
131
176
135
137
159
183
198
181
131
197
180
147
161
182
213
219
186
133
184
120
140
148
139
104
141
108
141
139
103
142
108
120
104
119
115
128
125
141
135
141
138
149
140
109
110
113
111
104
134
122
129
102
109
137
117
125
140
123
143
139
148
103
123
144
113
120
148
125
119
149
104
143
126
136
137
105
136
147
132
137
136
131
101
102
116
107
144
146
101
146
106
144
131
132
141
127
134
139
115
143
130
101
107
122
126
101
136
132
147
116
104
142
107
127
138
129
125
114
122
131
115
141
111
117
102
137
115
146
139
137
104
127
149
128
109
135
130
132
118
126
123
117
133
103
130
143
120
102
127
139
125
134
143
124
142
149
119
137
149
134
100
100
115
144
120
141
118
112
107
138
123
125
115
126
128
110
145
143
104
105
106
113
104
100
138
123
130
143
109
146
137
134
138
143
197
168
165
153
196
158
123
194
166
167
162
170
144
120
126
181
154
153
174
158
184
176
181
145
122
163
149
216
160
186
153
162
142
213
128
158
127
121
133
190
125
153
210
181
192
134
125
206
151
212
220
189
164
158
150
122
180
157
207
168
149
138
175
145
204
189
127
122
135
201
165
205
150
185
186
140
208
134
183
166
216
213
145
181
191
187
207
193
131
181
165
217
184
131
188
157
142
159
137
169
176
179
217
212
205
144
197
185
123
164
153
209
142
166
205
156
147
170
164
177
140
174
182
172
210
129
176
181
202
210
190
190
136
205
200
198
219
206
191
156
196
189
172
199
157
142
218
142
192
160
208
131
180
170
196
198
156
202
190
205
128
122
128
160
140
140
125
128
149
122
143
124
134
149
130
100
112
109
109
118
135
125
132
123
127
138
142
119
113
101
143
144
124
140
120
148
107
134
127
137
146
111
113
102
135
132
149
133
114
123
132
140
116
114
137
142
131
124
131
126
142
134
139
147
128
110
120
112
149
123
148
139
108
137
119
136
120
144
110
146
131
128
147
118
147
121
139
127
134
149
128
148
132
120
127
106
103
147
101
108
104
107
139
124
122
145
127
123
109
109
124
125
104
102
144
146
144
129
148
150
126
134
125
131
141
104
100
132
116
138
108
109
148
124
138
145
149
131
107
141
107
108
137
107
100
110
126
113
134
137
150
141
145
184
124
169
218
130
174
141
155
217
190
132
141
207
134
191
133
133
138
198
169
169
158
209
139
205
195
211
171
125
159
187
164
128
146
129
129
166
197
157
208
174
181
182
121
218
197
145
191
121
139
216
157
190
122
149
205
138
135
204
181
201
143
126
206
175
207
145
135
162
178
129
156
164
214
213
137
211
204
173
139
124
151
166
217
174
205
176
181
133
161
154
144
203
182
189
128
163
200
146
128
136
184
204
178
130
197
138
136
161
203
130
124
185
148
163
143
199
138
145
170
127
196
181
199
198
177
154
181
163
195
207
170
214
153
147
144
119
148
121
139
116
115
113
148
143
112
141
127
107
122
123
116
123
135
135
107
103
139
135
126
109
125
141
110
136
103
128
135
134
123
130
117
135
145
113
144
118
126
147
124
103
150
144
150
110
149
104
141
102
124
141
119
150
108
102
126
146
138
132
106
109
126
129
133
114
146
149
143
115
149
103
129
129
138
109
113
143
110
110
106
111
118
116
102
147
115
139
125
143
118
121
127
137
127
122
137
142
142
127
117
104
111
102
134
119
121
118
133
134
115
124
111
136
123
149
100
142
138
134
122
117
117
115
134
103
109
135
132
137
105
115
136
104
140
132
113
127
101
107
100
137
148
121
129
108
105
105
144
127
129
127
137
104
146
145
133
185
150
146
128
194
145
174
188
132
177
152
123
129
179
162
135
145
139
143
162
199
125
162
198
144
120
189
184
159
138
147
124
177
150
146
156
128
172
165
140
204
217
171
200
131
158
142
128
184
143
156
196
173
144
155
173
218
186
132
211
204
200
143
184
214
214
159
155
171
126
139
208
174
200
136
143
140
173
173
175
122
212
154
144
121
148
130
123
132
212
210
175
160
122
137
182
182
207
152
214
142
190
122
218
195
202
141
182
127
143
167
189
120
173
183
197
207
140
156
197
154
149
126
191
127
153
120
190
173
203
131
179
121
217
129
147
151
182
169
182
123
140
142
133
213
168
179
188
220
206
182
140
210
149
211
124
188
155
215
205
144
139
170
210
159
164
181
166
143
136
107
145
142
147
105
146
147
111
144
113
143
144
119
112
112
139
148
142
144
120
101
123
110
137
117
150
140
130
139
116
122
121
100
147
110
133
144
109
120
111
141
135
102
147
143
117
140
121
110
116
125
149
107
126
126
112
104
118
141
108
145
119
104
123
109
112
150
140
143
109
126
136
127
149
116
121
116
147
137
124
132
112
140
117
133
143
123
127
123
118
145
123
138
128
116
101
138
112
147
119
118
117
134
104
101
103
136
139
148
137
117
146
143
149
131
147
130
111
121
117
102
132
140
141
104
149
130
131
101
113
122
128
104
150
130
130
148
146
103
137
124
119
127
137
148
140
120
104
135
130
139
144
119
121
139
150
104
115
150
147
109
115
136
116
148
114
123
129
129
100
178
155
191
137
139
194
131
134
153
191
166
187
156
171
198
202
130
195
195
174
147
169
173
151
210
189
201
168
130
190
195
141
183
124
125
167
190
194
195
120
214
162
137
191
123
185
139
123
187
200
162
156
136
194
128
164
174
213
146
207
156
216
127
172
145
158
212
169
160
198
214
169
173
204
152
209
149
215
194
137
201
145
180
189
122
130
146
169
133
211
167
134
207
198
139
193
152
190
199
173
135
137
180
150
198
220
151
121
209
178
192
160
158
179
187
219
189
202
170
138
190
130
146
135
162
159
181
155
198
135
140
160
130
163
185
154
193
128
195
148
159
205
212
192
130
210
219
196
139
192
150
122
139
165
181
142
150
199
159
193
137
140
123
147
136
129
117
127
119
139
128
111
106
141
123
145
117
122
118
148
150
116
117
132
146
142
109
137
104
106
149
106
115
114
141
149
119
144
113
132
119
140
128
100
117
135
121
135
147
141
150
129
142
129
123
128
105
104
102
136
122
123
104
130
143
150
144
100
129
139
140
150
148
124
146
150
122
143
146
137
106
122
126
131
102
130
107
119
150
141
121
118
132
146
143
103
150
145
115
149
105
132
104
123
109
118
122
117
129
110
150
113
136
120
122
146
135
104
126
125
119
110
130
131
127
139
111
105
101
140
107
109
108
127
135
140
191
216
124
162
134
191
130
193
169
181
170
155
203
127
177
186
147
184
200
168
170
196
192
174
179
122
133
133
166
146
174
154
127
131
172
146
142
195
135
135
170
136
201
188
178
212
212
156
188
165
148
184
184
122
142
139
142
161
177
156
126
149
218
177
212
212
175
122
159
139
183
140
178
193
175
144
130
158
126
180
183
180
178
215
121
177
141
194
135
125
213
128
207
215
169
201
133
220
161
121
219
155
211
164
163
193
145
157
174
156
160
135
121
208
165
151
162
174
122
159
215
203
211
159
182
199
214
215
153
190
176
197
209
126
216
206
136
190
144
148
156
198
171
134
162
184
106
113
146
119
124
134
111
107
128
142
116
128
105
149
129
150
104
146
100
144
116
141
101
102
112
101
110
138
111
117
115
138
149
121
102
145
132
128
108
149
117
136
102
107
117
132
130
139
102
141
100
149
107
141
148
149
109
141
102
135
132
138
107
128
108
139
100
134
141
120
145
122
106
149
111
104
114
149
137
112
116
118
112
136
138
106
132
123
133
126
135
143
114
146
120
140
109
149
127
130
147
133
140
121
113
117
121
132
116
128
147
116
109
100
130
114
109
109
102
120
123
118
133
136
132
124
142
135
150
110
100
191
143
130
160
176
165
219
128
200
214
159
164
197
164
218
212
156
140
151
122
128
215
176
145
191
210
172
149
199
190
183
156
161
147
145
127
174
171
132
139
121
140
128
220
202
187
212
217
186
175
203
142
173
154
175
199
142
173
153
193
186
217
157
201
136
198
216
190
149
130
123
180
139
126
181
145
219
196
149
158
168
143
124
213
200
218
201
216
136
174
201
190
211
201
194
121
159
166
220
163
189
220
199
219
200
127
220
159
157
148
219
216
189
202
176
206
172
208
197
161
160
218
124
210
163
181
207
216
216
116
126
147
129
103
109
137
127
114
138
109
150
131
125
150
119
108
109
125
106
124
150
127
125
101
142
113
116
128
131
133
111
135
113
137
120
105
127
102
111
138
148
112
110
146
124
143
130
131
111
129
113
147
101
142
130
140
130
102
107
132
143
108
126
104
107
128
105
110
101
125
104
111
131
146
108
106
131
139
102
125
116
131
143
109
144
122
146
100
148
117
118
145
143
119
114
127
118
124
137
122
123
105
141
131
138
137
115
115
146
129
132
123
143
127
140
100
115
125
148
122
128
137
141
129
135
140
106
146
100
132
102
139
138
110
149
122
103
145
130
104
102
113
123
149
133
118
145
104
130
112
141
109
103
103
143
143
109
100
126
136
119
111
103
114
130
122
217
209
137
134
200
198
195
196
180
141
128
149
129
175
133
147
198
133
192
161
143
195
171
161
157
214
165
199
125
202
167
140
152
176
182
129
191
203
181
195
135
170
204
150
202
151
198
120
156
201
126
165
186
188
141
125
203
152
189
216
170
130
141
181
220
184
161
170
211
217
167
183
141
140
178
130
190
138
155
172
157
171
157
139
149
140
213
202
220
127
153
129
195
191
205
140
125
149
156
137
158
134
143
167
209
193
214
145
184
162
137
215
143
120
186
192
182
211
200
213
168
128
180
177
208
216
217
124
215
165
156
167
165
214
207
209
124
187
168
180
215
182
152
168
220
137
196
195
136
131
113
116
107
130
137
143
137
143
127
126
136
103
131
112
133
118
142
147
148
100
116
130
136
135
124
139
104
119
116
104
132
120
135
141
111
123
149
109
101
142
106
129
145
131
146
110
150
112
114
103
135
141
131
146
124
127
118
125
121
114
129
142
101
117
147
115
100
108
136
147
121
113
131
144
121
110
132
112
144
125
101
126
101
128
108
124
100
130
123
102
107
100
109
135
107
111
147
113
110
111
147
131
104
139
133
118
145
134
101
139
112
142
103
108
132
139
139
148
108
123
136
110
133
118
120
124
135
115
119
126
121
119
128
114
101
106
124
134
143
103
140
130
205
124
156
128
170
128
160
154
131
198
192
126
159
197
196
205
129
147
152
213
133
161
173
197
142
210
193
201
138
128
202
219
197
149
165
195
145
145
182
154
168
146
151
166
131
213
187
148
130
125
183
132
188
169
158
159
148
191
186
177
153
188
135
207
158
151
136
122
163
179
154
164
143
174
185
212
156
212
208
165
206
205
214
172
156
165
128
165
134
217
134
189
153
173
162
163
196
215
207
220
169
160
177
166
189
179
176
211
166
200
164
172
159
126
141
191
160
154
155
138
145
217
137
184
144
168
210
201
158
184
135
127
141
215
135
173
127
150
198
145
192
144
149
205
147
133
168
163
210
213
120
206
196
137
208
199
182
147
196
201
125
161
113
130
122
101
101
126
117
113
107
113
119
127
146
112
123
142
118
140
131
126
147
150
134
103
118
108
138
141
123
134
121
113
128
137
104
143
115
135
148
148
119
149
145
116
118
140
104
148
116
108
116
141
144
113
114
145
117
106
112
117
114
148
126
132
119
103
129
114
101
132
122
138
100
138
118
121
133
128
131
105
135
106
117
103
101
146
140
147
146
123
139
121
118
103
141
135
108
103
132
146
141
110
125
128
141
110
111
126
146
122
126
112
105
126
122
138
114
125
144
139
100
102
125
134
101
131
126
128
126
116
124
134
145
103
132
117
145
113
101
108
111
128
125
143
138
118
126
148
144
102
124
138
152
204
201
190
163
125
138
141
135
152
127
176
210
202
162
145
169
149
146
135
177
128
215
182
210
216
163
207
212
122
139
207
173
142
198
187
172
167
209
186
164
124
173
213
203
121
184
199
182
139
180
219
207
204
122
146
173
131
166
184
191
173
220
132
172
144
129
183
218
206
140
202
123
150
207
215
165
142
165
203
212
148
208
144
144
134
211
165
161
148
128
212
162
197
126
146
124
134
123
187
123
130
122
187
209
134
181
175
126
158
203
136
187
212
120
200
215
125
219
164
150
147
212
130
182
136
199
204
132
182
132
170
215
138
197
220
192
183
133
219
135
145
215
158
157
161
156
163
219
204
181
201
214
129
131
174
172
165
167
166
167
134
154
145
127
135
158
207
127
157
143
145
116
141
137
138
115
116
111
138
143
138
139
126
112
107
137
134
120
134
149
106
109
114
116
109
112
148
141
143
137
117
131
105
105
129
102
107
125
115
120
116
133
115
140
145
102
117
150
127
131
144
127
130
130
121
123
148
103
109
100
147
150
139
127
117
123
117
109
127
124
144
145
116
139
139
119
129
138
114
114
131
145
150
137
138
139
141
114
120
135
142
101
115
107
112
148
121
119
100
138
141
143
109
118
139
144
142
140
141
105
128
134
121
149
137
114
119
138
112
142
149
131
133
111
132
103
101
113
106
107
142
111
101
103
167
121
188
134
141
214
154
159
185
207
175
190
216
140
190
219
196
154
210
143
200
155
198
140
181
170
121
137
152
216
174
207
181
187
121
177
175
179
159
154
218
133
161
158
142
155
153
183
165
138
190
186
148
172
213
142
150
181
198
215
156
178
162
151
123
131
186
126
204
191
198
156
164
134
164
198
130
188
197
212
153
136
219
143
178
127
146
138
195
179
173
147
147
172
129
160
157
178
207
211
212
171
206
198
161
202
186
206
154
161
196
149
169
183
183
129
143
147
191
183
192
220
176
181
216
197
196
106
115
108
101
148
138
128
102
139
147
118
103
122
103
140
144
136
114
101
123
129
142
122
124
144
140
144
100
147
150
126
104
122
122
137
138
106
111
126
117
142
149
115
113
109
138
127
118
138
130
126
108
135
141
120
126
124
112
105
105
141
111
108
120
112
131
125
129
136
126
103
103
125
142
120
128
104
144
143
114
136
133
118
102
122
131
146
115
139
150
122
123
118
123
112
102
139
105
117
145
134
114
131
103
149
143
110
136
117
100
128
116
147
142
148
149
134
104
120
109
146
106
121
117
123
103
106
148
105
116
119
146
128
127
107
115
113
134
119
107
145
145
136
148
128
117
101
139
133
136
113
134
143
138
131
102
173
153
157
192
206
193
203
204
128
202
211
200
143
189
132
189
160
190
129
146
162
181
137
183
179
176
176
135
207
136
141
154
129
213
157
185
129
156
183
140
153
165
165
214
211
154
171
159
180
145
205
155
205
174
121
121
210
184
186
158
208
161
210
198
147
142
123
202
158
157
131
201
137
178
183
200
150
189
171
196
206
157
217
200
182
167
133
131
123
162
213
198
122
214
197
220
148
184
144
192
125
181
130
210
209
163
187
192
161
189
127
138
170
199
132
156
155
184
216
205
138
219
144
149
127
152
160
215
145
189
175
163
206
200
127
212
183
191
133
148
125
126
214
157
189
142
167
145
132
199
220
168
205
153
144
214
138
206
220
184
134
156
178
215
213
138
206
156
203
177
218
121
142
138
145
126
112
149
129
109
150
136
132
138
119
100
135
129
115
137
143
124
147
106
119
102
105
119
105
122
112
119
148
112
117
113
146
127
100
104
136
146
144
113
141
109
119
116
128
117
125
134
140
135
142
122
115
102
117
137
138
104
125
122
122
113
114
119
132
132
110
114
120
105
107
145
124
102
120
138
138
102
142
133
102
109
110
136
122
107
133
121
103
137
132
144
136
117
121
108
136
129
128
132
137
103
129
138
103
104
144
104
127
107
120
131
149
106
118
128
137
149
139
129
117
119
131
133
104
106
139
129
120
129
120
112
130
146
130
146
132
148
118
129
140
123
119
134
118
144
129
118
110
123
115
130
149
138
128
144
149
103
131
121
117
110
148
164
137
216
126
210
155
127
163
137
210
178
153
206
187
147
219
163
163
148
189
191
213
189
183
147
151
207
160
158
143
184
166
192
150
177
124
179
127
161
170
129
200
186
219
155
151
192
157
164
172
206
185
146
169
196
216
178
215
203
191
156
194
208
133
198
180
168
145
146
162
162
135
191
169
155
207
215
182
171
178
219
167
170
137
190
171
217
204
125
170
193
186
210
207
148
150
212
220
121
169
135
145
174
218
157
184
146
188
205
126
130
182
156
209
142
149
197
198
135
131
219
205
121
190
203
201
130
206
143
127
217
156
218
145
141
179
170
169
148
148
152
127
192
217
121
127
191
169
171
220
147
169
145
136
130
181
175
129
136
147
135
141
105
112
138
102
142
110
113
108
110
120
138
100
119
128
106
100
131
140
104
130
125
113
141
135
141
123
148
117
108
133
137
134
121
115
129
109
127
102
136
145
106
128
148
140
135
108
148
115
130
105
117
110
145
110
137
121
134
104
135
114
107
109
122
108
149
129
111
148
111
125
131
109
147
149
120
117
114
126
125
143
145
126
147
107
125
145
110
146
104
109
108
121
105
116
111
116
116
135
118
147
107
115
129
115
147
118
120
119
148
138
113
133
115
138
130
141
128
145
148
127
130
136
112
114
124
131
101
103
145
113
143
155
175
161
193
188
180
199
130
198
196
169
168
191
151
168
138
197
139
143
159
218
165
161
157
209
200
209
135
183
127
189
217
198
194
148
157
128
166
185
181
134
130
174
181
187
217
206
205
183
144
133
146
193
176
205
135
207
194
209
137
134
175
134
128
193
203
181
172
129
128
214
156
201
148
158
213
167
189
155
131
206
156
159
212
125
173
121
184
141
191
195
121
164
164
122
171
195
160
219
150
126
161
183
120
156
167
199
183
155
120
139
128
158
204
215
174
210
121
192
164
163
189
179
128
204
141
170
160
217
174
157
210
150
204
181
211
109
126
137
126
140
107
102
106
123
128
111
120
119
121
113
134
141
129
103
125
105
123
149
109
122
141
129
126
120
139
150
145
107
115
126
134
121
106
141
137
144
115
139
146
123
116
126
145
139
114
141
123
135
117
124
146
105
139
137
144
123
110
149
111
127
111
125
112
148
131
106
111
100
123
113
109
120
135
111
101
116
126
111
105
132
122
117
136
143
123
105
134
119
137
133
127
105
134
117
127
119
135
116
144
148
104
116
150
143
134
139
107
137
145
108
112
113
119
141
104
119
126
100
125
119
104
134
100
100
105
100
136
117
107
124
121
120
104
122
102
103
126
126
115
103
123
149
132
107
131
103
123
140
137
115
107
118
132
144
150
213
204
189
124
171
159
154
180
197
191
179
218
124
151
199
219
120
169
169
157
163
208
144
147
124
181
187
126
186
139
125
143
153
217
197
167
205
161
210
132
211
180
205
148
177
123
156
146
192
180
215
137
120
220
182
179
155
126
141
190
123
139
126
133
198
125
182
195
171
138
210
164
142
140
148
137
168
213
189
188
175
147
217
200
183
122
187
205
139
207
185
135
171
216
189
185
196
151
202
201
175
160
144
127
160
217
201
138
176
147
179
130
142
149
200
208
166
217
144
151
189
149
181
173
121
197
145
136
220
206
158
171
219
172
220
192
122
174
121
135
172
158
130
219
213
190
158
215
196
204
193
194
175
178
137
206
125
120
189
143
155
144
193
146
214
205
148
161
220
129
126
148
124
140
143
144
146
146
145
136
111
122
145
114
125
102
108
107
137
138
101
118
117
134
113
126
137
105
147
102
142
144
117
137
109
140
108
144
135
103
129
132
146
115
110
148
111
105
120
121
134
122
150
123
142
119
118
128
140
135
142
137
150
125
116
142
132
109
135
105
132
148
147
116
112
121
118
149
117
142
105
114
142
132
101
129
114
114
112
116
130
130
144
133
114
134
112
104
100
110
137
115
139
112
144
149
141
149
131
139
126
113
113
144
116
135
140
144
142
129
119
106
114
116
125
118
114
112
111
122
165
159
193
134
132
166
135
165
178
150
216
181
207
158
124
204
156
192
162
156
215
145
195
159
158
200
165
216
197
174
220
187
140
133
152
153
169
184
142
152
197
133
213
171
192
143
179
210
121
142
129
186
156
173
153
133
170
165
184
199
164
189
211
123
139
151
177
125
138
211
129
125
167
177
155
174
195
175
193
120
140
124
208
146
185
144
168
128
137
182
173
203
132
193
139
192
120
179
152
184
164
132
190
189
173
190
171
156
199
197
190
173
165
146
203
214
197
176
134
121
200
184
127
178
143
187
210
161
164
196
144
217
164
140
204
177
195
173
132
135
203
155
169
121
195
143
201
123
104
140
121
129
140
123
121
103
132
133
135
118
127
103
134
130
104
118
114
142
103
110
124
136
146
109
113
113
124
126
141
135
105
143
123
132
150
125
109
101
113
106
113
128
147
126
106
144
128
107
118
149
150
120
131
140
115
136
131
104
101
122
144
139
129
109
139
123
138
125
135
113
145
122
100
141
131
126
117
131
128
115
128
137
136
128
123
125
129
139
111
129
104
130
143
104
103
127
132
140
129
150
137
131
135
141
117
147
123
104
121
125
108
120
110
111
115
146
106
118
112
137
106
141
104
125
102
132
148
131
140
125
120
137
127
111
131
139
108
111
120
124
137
129
128
114
110
149
119
139
135
109
146
119
148
130
135
141
107
139
131
129
135
137
104
132
108
119
150
116
109
127
114
147
203
218
156
192
139
197
202
193
149
177
138
155
160
170
194
160
189
161
214
120
131
204
192
188
202
150
135
161
191
182
183
190
162
207
210
127
150
182
187
123
180
210
174
151
141
196
207
146
208
207
180
167
198
210
150
188
156
164
144
168
186
133
191
212
150
208
199
157
176
137
184
130
154
158
182
120
167
132
172
164
125
128
199
185
166
158
179
173
195
128
138
202
129
146
197
211
200
203
148
180
148
187
169
213
189
179
200
192
176
134
182
209
192
149
145
127
156
137
146
180
120
133
167
162
135
147
140
185
140
138
146
198
123
196
121
192
187
144
129
106
119
146
113
150
144
138
116
135
100
144
119
123
101
107
116
129
141
127
131
107
102
140
115
116
147
150
129
132
103
115
128
136
120
146
122
113
128
133
115
112
119
133
102
148
118
112
101
100
125
120
123
132
144
118
147
107
115
103
139
113
128
142
117
131
144
143
124
120
129
124
129
111
145
139
138
147
135
149
134
117
141
108
101
122
107
145
111
107
148
134
139
110
138
124
146
108
133
126
120
121
146
133
116
130
147
113
140
122
108
126
138
120
145
135
150
116
101
121
121
123
133
134
103
132
219
126
196
190
207
189
167
206
124
170
216
171
199
157
197
182
206
185
164
206
214
194
201
129
169
149
148
192
192
150
211
173
171
146
143
152
205
188
134
132
189
191
124
178
171
146
178
129
196
209
126
153
161
137
191
131
210
142
144
121
165
149
139
141
149
139
152
180
144
173
164
171
124
164
128
192
186
191
212
123
220
126
177
126
145
151
209
191
155
176
219
169
154
126
201
214
178
157
153
215
185
178
137
177
217
203
215
167
191
161
209
120
162
122
180
219
168
151
157
185
122
179
184
166
197
169
136
133
213
215
206
192
150
107
104
102
143
149
146
139
124
117
149
116
131
117
150
115
110
117
140
142
101
116
113
150
132
132
106
114
119
106
133
129
149
101
112
150
138
126
125
110
102
101
131
134
128
115
147
133
149
107
128
137
114
111
140
101
130
118
148
110
113
111
135
139
120
119
126
120
111
145
107
101
113
118
126
123
147
132
117
146
148
143
116
136
140
124
138
131
150
132
119
130
142
146
139
111
115
115
141
110
130
133
113
130
147
125
103
146
125
108
120
139
134
144
127
133
103
107
127
122
118
145
130
106
122
100
123
148
122
106
148
144
106
100
126
115
116
110
108
129
123
108
117
169
216
213
144
213
185
123
183
170
182
216
129
207
183
212
173
195
187
152
175
133
200
192
189
135
162
176
199
210
212
192
158
142
207
156
162
161
133
169
199
124
126
182
136
145
178
192
146
134
120
144
149
168
153
121
196
219
183
174
193
138
139
196
200
180
194
160
132
200
151
188
185
191
163
122
189
196
212
179
198
165
202
194
178
169
163
175
187
121
159
185
197
206
180
151
186
121
217
196
177
180
207
176
141
184
154
155
205
209
159
150
173
202
159
130
186
204
170
127
152
204
171
163
181
177
171
144
179
122
214
142
130
135
130
213
212
200
196
182
167
133
156
158
154
170
196
136
171
169
167
132
218
189
157
193
201
179
127
212
159
136
166
204
121
203
124
162
141
197
117
144
100
149
115
107
150
131
143
132
147
138
123
108
141
125
113
144
101
109
140
129
122
145
123
123
138
126
138
141
136
115
133
114
142
106
116
127
142
103
142
124
115
125
129
121
100
130
104
146
111
121
149
115
123
140
136
137
104
115
100
120
109
130
137
110
121
120
105
113
122
124
108
148
125
107
130
125
117
135
124
143
131
119
102
108
120
145
108
100
112
108
101
111
144
148
102
124
147
148
138
115
127
124
103
107
136
142
137
134
122
129
139
147
126
129
101
117
107
130
102
146
148
111
149
118
134
126
148
105
134
117
113
128
116
143
106
126
147
120
135
143
131
103
115
106
109
128
104
121
148
136
125
175
203
153
171
160
182
168
204
135
176
141
157
209
181
194
214
122
168
220
168
177
207
163
142
125
131
133
161
189
142
164
129
138
147
176
131
184
122
121
157
190
219
189
202
211
196
172
165
209
176
185
142
174
206
172
187
173
208
183
213
122
219
126
127
209
176
138
202
151
171
142
174
215
140
121
125
211
175
121
216
215
140
200
179
201
139
152
161
162
131
213
175
144
208
182
145
159
218
200
193
173
220
207
203
138
156
136
124
179
204
138
160
123
130
124
163
213
142
193
143
161
185
203
194
216
187
158
177
186
206
182
211
174
137
208
174
147
122
170
129
149
193
122
198
138
182
194
203
179
197
152
209
213
146
155
124
138
171
146
169
215
188
198
217
178
134
209
124
189
136
148
131
119
116
128
147
137
147
137
106
127
146
141
127
141
137
114
126
132
115
132
120
121
134
117
145
100
102
139
150
106
122
136
138
140
134
121
124
107
123
124
104
108
121
141
135
114
120
115
122
124
148
112
121
147
102
144
100
121
118
113
108
122
118
113
128
147
130
109
144
131
138
124
103
141
126
134
123
106
114
147
141
122
106
132
107
114
127
147
139
104
113
150
148
106
136
123
145
148
148
110
124
103
142
146
120
128
104
106
109
120
122
144
141
102
144
107
117
100
111
143
145
114
106
138
141
117
150
116
125
123
119
109
131
147
106
150
144
146
111
148
138
101
114
137
119
147
158
167
185
210
196
127
130
195
143
152
129
214
217
188
181
216
199
193
184
202
183
213
198
187
171
192
214
154
179
190
208
206
204
152
199
151
201
128
219
158
153
149
213
214
132
218
197
158
176
170
170
168
149
218
195
198
164
120
146
150
199
189
154
140
126
213
197
126
148
210
154
172
177
143
140
178
143
148
166
122
220
178
213
148
134
161
173
176
196
209
211
142
215
212
153
205
205
120
170
175
172
126
157
142
171
163
165
197
130
166
196
122
143
212
146
153
149
155
193
128
121
220
191
165
131
180
184
197
196
189
208
126
181
186
203
132
197
171
164
171
173
156
189
148
220
174
205
184
203
180
134
149
180
164
148
204
156
160
153
174
152
194
145
168
194
199
189
200
101
113
148
147
131
124
133
109
122
149
104
132
108
106
113
140
138
129
120
143
131
134
121
115
107
122
121
131
132
108
137
135
142
129
148
144
104
148
108
144
131
138
134
116
122
116
104
140
136
125
120
142
102
148
127
110
134
103
130
148
146
113
124
141
124
109
145
120
146
150
149
113
137
108
102
132
127
146
143
125
133
119
113
125
112
149
125
139
140
115
114
144
144
134
128
123
122
141
109
102
101
111
128
143
142
100
117
113
120
132
106
120
112
112
139
126
101
142
107
107
142
111
101
117
149
142
140
149
110
133
143
111
113
111
148
105
145
165
127
191
208
161
131
184
141
122
168
123
220
186
178
129
138
131
135
163
128
179
164
132
157
132
218
176
189
145
180
186
213
216
190
157
149
125
168
123
164
181
127
201
210
144
158
143
164
122
207
183
136
203
219
144
130
199
200
160
161
208
161
204
160
161
219
205
164
133
148
169
176
124
143
184
190
212
192
196
133
134
125
207
207
197
191
189
175
166
120
177
190
175
171
124
179
171
134
204
186
198
127
191
178
170
178
173
208
210
143
146
186
135
179
186
209
189
141
125
126
132
155
219
192
178
120
218
158
140
151
143
211
185
128
217
130
187
214
140
140
208
161
156
169
135
146
196
196
153
170
155
195
179
140
159
185
159
218
205
131
131
113
134
124
120
128
116
128
109
100
141
121
119
101
137
109
104
143
108
120
150
140
103
148
129
119
107
118
150
127
114
136
134
107
128
145
136
123
101
117
104
122
150
133
150
150
122
112
127
139
107
107
104
122
104
110
119
125
119
145
117
137
123
139
146
119
107
145
142
117
122
149
140
120
116
108
123
142
110
141
136
128
120
114
127
116
139
126
106
111
141
141
131
145
113
133
102
139
137
122
107
130
134
110
118
137
111
120
128
141
142
131
145
113
111
117
126
112
110
149
122
120
122
134
127
146
114
140
114
131
116
126
120
102
123
132
108
135
103
107
142
127
134
130
125
148
142
105
142
150
143
200
162
177
193
155
138
197
218
155
186
123
210
158
165
219
121
150
133
205
149
208
209
185
170
194
181
159
216
137
207
167
138
177
178
193
170
196
141
154
164
155
198
180
214
173
199
154
165
207
206
125
216
148
139
163
170
200
215
145
129
217
215
151
216
150
172
156
203
195
164
211
169
156
164
125
135
148
197
141
182
158
150
219
208
160
152
204
197
155
169
120
122
122
122
151
214
154
209
181
180
131
132
214
184
203
180
123
158
167
180
134
148
212
208
120
208
192
134
162
202
133
137
162
187
180
133
214
187
175
136
187
166
146
140
204
200
195
165
140
128
207
120
186
168
218
187
172
186
134
171
197
219
161
169
201
193
121
183
143
132
138
107
113
113
149
126
130
102
127
121
111
132
106
107
141
150
145
124
105
101
126
141
132
111
136
134
147
144
145
144
104
100
123
103
112
103
137
147
119
119
114
131
131
145
103
113
110
119
123
124
118
136
142
137
144
132
149
117
141
124
114
111
148
118
118
143
146
138
138
114
115
131
143
125
147
146
126
148
120
128
111
131
102
108
114
129
135
100
142
114
148
124
109
101
118
118
125
100
124
131
128
111
140
112
148
112
112
144
108
126
108
104
112
129
117
146
114
144
123
100
125
113
104
122
149
115
138
125
120
126
106
133
114
111
132
105
103
143
143
110
133
135
135
126
126
144
129
101
107
104
133
102
105
107
104
141
140
115
143
123
110
125
109
117
143
159
186
183
170
123
211
142
189
124
164
163
147
139
144
126
173
178
176
143
173
214
162
200
158
122
142
137
184
163
190
135
205
127
203
127
154
134
215
170
130
122
179
196
175
184
151
126
137
160
122
210
181
135
172
137
153
170
196
174
153
137
128
121
194
170
185
172
126
149
187
121
181
159
217
159
170
144
186
212
201
218
212
157
141
175
120
212
138
131
176
204
171
206
185
162
192
177
213
181
142
184
204
203
214
128
132
162
196
151
133
138
212
178
143
126
198
156
213
190
185
136
179
141
152
175
218
202
208
176
125
188
175
212
144
122
178
197
175
126
153
120
135
172
177
211
184
182
125
155
130
157
169
110
110
143
138
138
134
124
136
107
138
130
125
143
107
121
111
120
115
132
118
101
133
124
117
120
111
137
105
129
129
123
144
142
141
142
148
112
142
109
109
145
115
105
138
136
125
144
127
115
140
122
140
106
129
140
109
143
134
127
145
115
108
103
128
149
116
113
126
130
112
119
121
150
101
109
150
145
108
122
146
131
149
111
110
131
110
146
109
119
145
115
144
120
119
103
139
143
119
110
117
108
124
129
110
100
122
131
102
139
138
150
121
123
132
144
135
130
147
105
107
140
110
148
125
118
104
132
120
110
147
113
139
143
150
113
120
142
141
129
146
118
107
131
121
139
112
102
150
109
124
126
131
120
126
123
117
114
142
143
128
133
113
103
143
204
182
208
165
177
134
157
175
210
207
164
123
187
177
206
205
133
124
127
135
207
178
203
220
151
199
137
165
133
133
154
217
146
187
163
183
128
212
218
204
198
212
202
140
146
203
197
217
163
195
173
214
126
123
148
128
161
188
127
210
149
199
137
197
142
208
134
144
215
212
142
220
217
154
137
126
200
127
132
151
220
158
212
158
133
206
160
127
133
144
150
120
159
121
194
173
142
173
175
147
146
139
134
191
203
212
215
127
180
142
158
205
126
160
207
206
214
125
176
202
197
152
164
197
152
131
198
133
179
192
194
199
211
144
159
192
173
146
125
199
195
168
201
203
192
134
209
123
149
202
209
132
214
190
159
164
147
131
195
207
197
181
202
194
153
208
120
130
116
118
101
148
108
150
105
110
108
150
126
107
106
125
124
114
133
102
113
111
136
129
136
129
109
110
140
108
145
126
149
110
123
131
130
114
107
113
106
144
131
132
106
134
112
124
132
144
136
113
113
150
133
112
107
145
100
137
124
132
133
117
147
143
102
114
107
111
111
114
117
110
113
113
105
139
119
122
107
122
144
124
101
133
113
123
106
131
149
133
105
139
103
121
110
135
119
144
106
142
126
149
107
132
119
118
103
110
121
149
149
125
118
148
145
116
140
130
122
146
145
134
144
120
130
146
114
142
101
120
142
111
148
110
120
102
119
145
113
148
130
104
100
137
101
123
139
140
102
119
110
160
197
217
179
150
191
126
181
133
134
151
123
141
125
162
196
137
218
132
187
214
152
201
174
210
168
127
172
193
209
146
208
195
206
171
184
129
143
216
174
210
139
180
144
168
188
126
163
203
158
207
147
140
165
168
211
160
125
191
146
180
213
214
220
186
199
217
147
142
198
120
179
194
214
216
151
140
181
153
147
218
132
171
159
217
179
121
188
181
212
140
160
180
151
155
217
139
157
121
164
133
180
182
121
164
146
174
158
175
124
149
133
136
205
122
150
120
145
193
213
147
172
185
141
196
143
124
134
109
118
147
102
106
101
135
126
131
144
109
133
125
143
116
118
139
118
137
138
137
103
101
126
136
135
132
137
115
113
119
142
137
150
132
114
122
112
122
127
110
146
106
122
112
116
131
115
138
116
133
147
125
147
125
109
108
136
137
111
147
120
144
147
132
144
118
114
149
117
150
123
150
149
103
138
136
122
149
138
134
118
142
115
100
113
113
132
105
108
137
132
147
122
119
146
102
112
112
114
126
121
137
120
112
145
107
129
105
138
149
136
139
118
141
146
104
114
107
109
115
135
118
139
110
134
100
133
136
114
146
110
119
141
126
104
117
150
130
150
127
115
114
117
113
129
148
107
100
145
126
132
128
110
105
117
114
120
104
118
129
148
113
117
121
148
146
143
138
137
143
218
156
133
171
216
211
158
181
151
143
213
146
153
159
156
169
139
151
141
138
183
140
136
145
128
141
160
157
199
132
184
140
213
140
160
177
200
165
196
187
125
176
126
125
155
207
171
152
146
194
188
138
153
192
213
137
194
133
204
185
211
207
142
182
154
122
192
213
175
209
188
182
184
145
201
217
147
218
178
211
130
195
166
206
170
210
210
211
134
213
192
154
122
152
188
193
164
195
151
140
134
150
151
197
202
190
166
127
122
127
219
201
204
190
215
168
142
198
204
174
161
169
139
193
140
148
125
219
177
204
143
219
131
129
138
115
138
132
128
134
143
121
100
144
125
133
132
127
103
116
139
111
106
117
111
147
133
130
111
104
136
108
121
107
125
131
138
144
118
139
139
127
121
107
129
115
115
114
112
100
131
133
137
134
149
145
147
148
121
111
112
118
118
135
114
101
101
113
120
123
105
142
115
141
139
143
129
126
116
106
112
144
132
120
139
103
124
143
117
105
119
145
103
130
141
111
113
142
143
125
121
111
113
112
148
127
108
130
138
148
107
110
124
126
141
120
114
110
113
100
145
146
126
126
138
138
148
127
143
141
105
117
133
109
107
130
146
102
129
105
118
125
120
111
141
125
143
128
103
103
119
135
102
114
112
123
142
104
110
122
102
114
119
101
124
150
109
140
134
140
120
114
203
163
181
204
152
143
219
216
201
185
175
216
182
138
162
139
180
209
182
126
155
158
139
166
152
124
187
192
124
211
144
196
177
135
148
125
183
122
180
157
146
203
173
175
180
206
134
138
142
168
199
164
175
144
124
199
153
134
182
123
218
179
164
191
135
196
198
177
145
160
197
155
208
145
219
215
206
120
208
202
172
152
136
210
200
151
133
138
123
186
127
176
152
152
204
145
212
138
135
216
146
167
129
205
183
134
214
143
134
151
169
162
208
163
174
121
151
132
159
177
172
216
142
210
166
212
208
121
143
184
151
219
154
122
197
173
181
207
212
168
122
168
218
192
197
167
186
208
195
205
180
140
140
196
164
124
108
104
112
123
104
104
111
134
150
141
114
148
124
146
103
128
140
103
135
143
121
107
140
148
141
147
134
105
132
132
106
122
100
128
106
132
134
121
121
131
120
137
111
111
150
150
124
103
105
142
137
112
136
123
134
115
135
106
146
130
143
105
141
123
122
134
106
125
116
134
149
122
145
113
109
125
135
139
105
133
129
126
107
115
144
113
127
150
147
121
109
117
141
103
119
126
148
145
103
102
118
120
126
132
105
132
119
138
149
124
119
116
105
101
110
139
103
141
105
114
145
149
145
125
117
129
104
149
140
114
123
136
128
122
136
104
144
129
111
132
101
102
111
105
116
133
137
136
122
134
120
114
142
108
141
117
100
152
147
126
183
128
120
177
206
138
186
197
190
213
145
185
150
202
148
203
146
189
186
135
202
199
137
143
130
204
200
135
212
201
163
207
213
174
209
152
168
207
196
120
202
135
206
126
218
219
152
128
162
218
213
123
186
185
140
172
160
129
200
212
124
209
188
203
135
188
132
194
150
211
206
157
169
196
177
175
137
126
127
189
164
159
193
179
182
216
183
154
122
152
166
147
198
168
196
180
211
184
126
198
160
156
137
170
124
145
157
161
156
219
121
140
191
177
203
131
215
124
202
188
205
206
127
173
196
145
164
200
122
158
127
187
178
150
190
121
151
194
220
128
157
162
120
186
142
129
120
173
206
162
174
191
147
217
171
203
201
148
186
177
213
220
204
138
123
173
121
171
201
141
135
151
106
136
120
128
113
141
149
146
145
107
130
138
133
113
146
118
120
108
124
150
107
119
107
101
104
146
127
129
113
128
140
128
141
108
113
144
122
106
133
129
122
140
132
138
104
121
118
106
130
124
121
117
102
140
103
147
117
141
142
117
135
123
143
128
119
118
131
136
145
107
132
136
106
134
133
142
107
115
120
125
150
116
122
116
140
142
137
120
131
102
137
114
120
144
113
144
133
136
119
102
129
108
121
102
136
125
124
103
131
138
122
143
104
119
131
108
121
142
112
111
138
135
100
127
124
136
138
119
124
115
137
142
147
129
134
174
160
191
217
177
176
177
199
206
207
169
207
148
152
163
151
165
144
163
151
160
198
217
208
216
149
129
134
136
170
128
138
175
159
129
194
128
134
216
200
207
152
166
184
167
194
122
171
135
123
154
183
205
154
188
214
161
184
152
218
134
187
204
193
189
127
171
152
144
188
207
199
120
158
174
145
218
156
166
187
193
135
192
189
189
122
126
160
192
215
139
184
209
204
145
201
157
169
159
206
193
166
130
167
143
216
169
218
134
139
208
154
206
171
192
157
131
145
217
187
212
173
154
132
188
213
155
144
175
125
140
143
149
188
162
151
148
142
161
187
170
145
121
132
131
137
123
219
173
173
187
176
208
100
116
137
130
112
120
127
140
110
148
120
117
112
109
124
109
126
128
131
143
110
145
109
135
118
150
130
150
118
100
135
115
149
112
108
103
114
135
133
125
128
128
119
150
114
140
140
124
131
139
146
133
136
120
132
109
123
107
130
113
118
107
113
150
104
101
103
148
138
143
120
100
144
147
149
140
111
105
113
140
126
148
127
150
102
102
120
129
100
119
131
107
139
121
131
103
106
122
143
109
105
126
105
103
138
113
111
107
129
125
113
101
131
141
107
112
121
106
106
148
122
143
104
148
120
106
114
141
147
103
103
139
129
130
134
102
122
108
186
218
120
200
206
196
154
193
199
122
202
208
155
164
179
134
182
165
127
160
192
126
158
123
138
189
138
129
126
134
194
164
124
209
141
173
176
172
154
181
120
158
189
215
207
123
181
154
121
139
190
183
159
132
150
210
154
210
140
196
174
175
177
219
213
178
188
120
148
172
217
214
165
160
145
140
177
171
150
184
152
127
204
130
173
207
169
130
132
152
219
190
135
177
181
136
185
127
153
205
164
187
176
216
145
185
187
181
167
187
210
197
140
128
152
172
128
181
146
164
216
170
141
184
211
180
152
149
179
152
162
135
200
151
201
168
220
147
140
220
164
155
215
122
196
177
161
131
182
145
186
177
133
158
201
179
171
153
185
187
189
150
214
148
149
124
100
146
150
114
146
144
102
102
103
113
105
147
134
102
117
109
113
127
113
102
105
115
126
117
138
108
109
140
139
123
146
150
145
143
106
138
119
132
115
116
140
116
150
102
140
118
129
114
146
148
131
130
119
126
127
116
115
139
129
103
108
104
126
146
122
137
143
101
109
150
127
100
128
144
107
134
113
149
119
132
111
119
129
150
135
103
145
112
121
105
141
132
121
126
141
112
132
134
120
117
123
128
137
119
115
119
115
107
144
118
105
104
130
144
121
124
117
130
149
115
103
102
138
102
101
125
114
149
112
123
100
129
112
129
127
102
108
124
126
119
125
140
109
144
121
145
135
109
121
109
103
136
199
188
163
147
165
177
210
205
191
123
180
205
161
149
195
205
147
138
197
163
133
156
143
209
158
155
181
171
193
153
188
157
191
210
211
192
190
199
215
157
132
120
218
140
191
155
172
190
205
175
120
126
209
197
140
139
165
153
176
141
142
213
123
131
139
182
152
167
153
193
170
185
166
159
157
201
177
128
126
199
160
196
216
220
214
187
127
131
155
185
160
178
122
219
174
179
177
126
144
133
140
147
211
156
150
174
208
125
148
132
144
189
159
202
186
191
124
183
183
134
134
187
207
189
134
145
148
160
177
214
190
185
151
207
184
129
204
214
131
187
211
136
186
213
161
169
207
175
144
112
104
111
134
113
137
130
137
132
104
101
140
102
100
117
112
108
129
110
141
143
113
147
125
119
134
145
148
101
135
126
116
123
135
120
115
109
105
116
140
126
139
104
122
113
140
128
149
106
106
102
117
105
141
136
135
120
132
143
101
140
108
139
111
102
137
121
117
134
120
107
135
101
103
117
116
121
141
111
137
147
123
110
107
108
138
134
117
146
123
114
114
104
129
144
105
139
150
122
146
117
101
106
149
139
130
132
110
142
108
120
136
144
140
120
101
134
149
133
107
109
107
143
107
120
139
141
126
119
212
187
181
156
121
143
217
144
130
150
145
178
217
142
212
166
127
218
123
189
149
195
174
154
207
214
146
125
169
183
211
163
181
217
123
120
216
127
201
166
216
214
174
177
179
213
185
202
158
176
129
217
200
193
166
204
133
121
168
120
161
200
164
177
213
125
211
184
164
135
177
163
204
199
205
141
198
121
201
132
194
214
167
149
134
149
162
128
129
136
179
132
195
128
218
190
145
207
180
180
166
131
173
156
152
163
201
135
215
162
121
125
219
142
170
139
183
204
172
150
182
177
219
162
145
160
211
215
216
159
202
167
219
194
133
127
146
147
113
135
118
138
124
104
139
124
100
134
103
100
105
113
118
138
129
136
140
100
142
111
117
140
148
120
137
105
137
103
110
106
136
130
103
100
150
120
116
136
122
110
101
147
143
103
112
111
135
127
103
129
100
106
121
114
116
117
134
119
105
136
123
106
106
116
120
138
138
114
112
107
134
145
100
105
135
114
144
140
124
149
135
150
107
120
141
120
136
100
117
142
100
130
116
133
130
127
114
132
114
102
108
115
133
141
103
120
101
107
119
104
104
123
116
124
103
116
118
125
115
115
141
100
103
116
132
136
100
114
120
124
121
144
142
105
118
125
128
114
108
114
186
143
141
130
203
162
193
184
189
197
134
139
160
183
206
121
153
191
178
205
208
130
181
197
137
174
135
211
144
173
137
174
140
196
187
207
130
205
151
168
124
132
151
216
193
216
121
125
190
176
123
163
158
215
138
135
166
192
206
184
132
152
204
212
147
168
177
161
154
145
137
141
135
179
168
198
120
122
166
216
215
189
124
164
195
218
190
126
207
209
198
195
157
149
158
175
147
196
123
148
175
130
149
181
143
145
135
189
131
162
205
213
215
192
196
203
146
194
156
183
195
163
133
175
146
138
190
195
132
121
178
125
121
147
113
130
122
135
103
111
122
117
128
139
104
103
145
122
146
123
137
143
126
114
101
105
149
133
119
104
121
108
138
101
149
103
115
115
148
132
128
136
118
100
142
144
147
140
126
146
101
102
115
147
133
136
128
104
104
120
128
145
112
131
122
125
144
115
101
141
115
122
109
120
142
120
114
133
126
140
127
114
105
129
142
114
141
135
101
100
114
142
148
131
135
107
125
113
123
134
142
138
131
120
117
147
117
149
134
134
150
127
141
106
125
131
121
147
130
149
100
119
104
105
126
150
130
112
103
129
127
104
127
109
146
124
112
126
128
121
142
108
131
149
100
126
140
128
104
116
104
144
107
103
149
148
110
106
101
140
140
187
199
150
196
213
213
124
175
199
204
141
214
150
188
204
171
212
150
127
131
166
171
169
202
127
194
143
181
160
208
121
165
146
142
160
168
196
170
131
198
120
189
207
133
217
189
125
124
153
165
204
203
147
201
199
130
210
160
193
160
138
140
210
202
206
121
166
215
191
178
147
165
145
156
170
140
164
129
195
180
184
173
166
140
134
130
173
167
129
173
180
170
159
137
181
150
135
197
127
213
168
219
158
164
152
179
144
151
159
210
170
192
197
151
164
207
120
159
207
164
210
189
204
153
170
148
177
151
196
192
149
194
154
163
212
180
180
177
189
141
148
146
108
110
130
130
121
125
128
120
135
108
134
144
116
107
109
150
143
142
104
138
118
123
149
139
131
118
112
133
150
104
104
114
114
100
143
105
131
123
131
148
132
122
127
131
115
122
108
126
110
130
129
130
143
119
140
118
108
125
113
107
122
143
114
122
118
136
116
115
103
107
130
144
119
136
149
125
115
105
141
121
145
140
135
130
122
145
123
120
112
107
112
135
117
107
125
123
143
101
145
134
125
126
107
132
129
101
131
112
116
146
106
146
118
140
148
113
115
108
150
143
140
122
139
127
102
109
147
128
143
129
127
102
104
123
141
118
112
112
100
136
146
146
101
131
146
126
121
108
148
127
146
141
127
122
101
123
177
205
137
201
185
149
132
201
146
123
191
133
202
158
136
170
216
170
191
146
192
210
148
204
169
160
206
126
184
141
212
131
145
203
207
126
203
129
137
161
215
181
133
154
173
157
145
158
191
137
139
207
217
197
187
126
220
135
171
151
134
133
181
126
183
149
189
218
126
208
172
135
139
149
166
139
192
123
169
126
151
212
168
154
120
184
130
134
135
176
129
204
172
185
162
218
205
214
127
148
164
125
160
178
181
153
196
210
204
196
207
164
206
169
187
184
126
210
151
124
128
169
204
201
176
142
194
122
176
148
216
202
198
136
183
170
208
174
189
145
125
169
201
131
197
211
132
166
122
146
145
128
146
145
139
125
107
114
142
135
148
126
143
149
147
101
106
116
141
104
109
106
124
115
137
146
126
137
110
129
105
123
102
138
117
148
108
100
119
104
147
150
131
131
125
137
132
147
145
130
144
101
136
142
111
123
142
145
135
129
126
107
132
103
129
144
106
105
118
149
128
146
129
116
102
118
109
135
106
118
148
127
114
107
112
124
149
110
102
107
117
104
128
107
108
107
150
146
128
127
136
119
141
115
119
117
123
142
141
136
121
145
128
134
135
104
146
149
103
106
141
117
108
139
121
114
142
103
119
119
120
148
126
136
111
121
131
172
174
186
129
155
174
147
220
180
215
201
213
139
124
215
194
120
176
185
206
159
212
212
197
178
173
173
120
180
127
156
182
191
136
174
187
143
123
168
185
173
137
191
146
207
192
153
137
196
138
191
147
145
126
187
138
206
129
187
204
185
160
194
211
143
156
145
159
187
220
183
213
155
192
164
206
154
174
126
133
142
203
128
149
140
178
143
174
181
173
132
149
147
165
135
140
152
216
146
147
170
204
153
175
159
218
204
207
192
129
144
184
177
180
177
176
176
121
169
219
130
219
195
125
209
140
187
170
180
156
153
157
126
117
135
125
107
138
120
126
110
139
111
148
129
125
104
139
148
112
146
130
111
142
127
148
103
102
123
134
130
114
101
126
121
108
127
115
142
134
134
143
139
142
109
142
122
100
138
147
106
103
149
107
134
147
111
138
132
143
100
108
101
108
124
127
129
126
101
127
143
104
130
135
112
135
142
143
143
135
115
125
140
141
134
118
103
136
111
147
140
150
114
139
100
119
147
141
129
144
139
118
120
131
129
138
112
145
149
131
132
130
111
114
125
112
143
148
104
127
118
125
137
137
112
111
120
121
149
122
125
125
111
141
114
145
105
118
138
147
110
144
121
107
141
103
123
108
147
127
142
137
131
115
108
121
127
139
108
174
132
123
172
140
135
130
219
156
171
192
207
121
140
180
201
161
196
169
120
136
176
158
174
140
220
212
155
163
179
158
135
142
167
131
205
145
132
180
152
134
198
144
155
156
192
178
181
123
141
152
154
125
140
164
158
209
182
124
148
154
168
213
215
123
205
158
120
219
203
217
181
188
135
199
146
186
213
178
154
197
198
199
172
191
206
159
145
171
133
126
138
181
205
138
152
123
149
141
133
203
162
217
205
205
202
139
126
161
207
191
217
183
185
216
136
179
156
138
155
219
215
190
163
141
164
206
150
181
186
165
176
175
156
147
198
134
132
181
136
125
106
127
134
100
115
112
115
119
145
100
104
127
142
101
104
128
115
104
104
116
136
144
102
119
112
144
137
129
121
150
142
135
104
132
147
122
128
144
129
109
135
111
146
103
127
115
137
126
149
112
133
148
100
102
101
145
143
117
138
130
122
134
113
115
138
139
133
112
138
113
146
125
138
129
150
114
148
102
129
140
136
149
105
121
111
145
143
147
143
123
118
136
150
114
130
144
107
106
120
116
130
103
124
111
142
127
122
121
123
145
130
122
121
146
131
132
104
133
110
106
111
124
147
129
122
135
104
128
149
110
143
115
139
150
126
118
112
107
111
132
126
115
148
116
106
139
139
126
136
105
102
112
101
115
129
122
121
141
147
209
188
163
132
212
151
141
161
189
160
215
186
137
220
121
194
198
122
156
192
123
135
194
164
152
169
145
157
168
167
195
208
169
140
134
160
135
140
127
121
125
174
199
143
215
143
172
150
172
129
155
172
204
148
122
120
200
188
154
213
204
122
202
121
128
179
172
125
156
174
179
131
207
185
191
157
125
122
168
166
196
218
121
191
152
137
153
154
122
193
133
167
168
190
127
176
143
155
176
131
139
150
159
133
164
121
156
142
187
137
208
170
161
185
212
159
175
159
177
142
190
122
126
158
137
202
167
207
122
129
187
213
198
146
216
176
159
166
208
211
197
165
165
161
216
192
167
108
130
125
100
127
107
111
134
110
100
125
134
109
101
146
108
147
143
101
112
131
146
129
125
122
112
101
137
119
102
134
121
102
118
126
139
136
136
105
123
116
111
103
113
148
124
120
132
125
135
144
122
117
119
105
122
100
145
118
149
138
149
122
124
102
131
115
126
147
143
126
139
140
113
122
141
129
110
135
148
124
130
133
145
129
118
150
132
113
123
109
124
145
113
136
108
121
109
122
126
104
132
131
105
150
122
149
128
109
107
103
109
122
114
127
134
117
102
111
102
146
116
124
131
100
105
101
109
135
119
135
145
107
148
125
123
168
143
142
178
129
148
144
187
154
145
122
167
195
130
182
138
215
145
122
140
149
206
153
165
219
158
138
211
213
187
150
218
153
146
215
120
208
153
130
141
126
214
158
169
154
188
156
182
125
213
188
124
191
218
147
183
192
169
165
150
213
181
191
185
177
136
155
215
217
201
120
157
176
160
134
129
189
212
179
174
215
210
158
155
150
196
217
203
178
196
154
152
158
154
208
154
217
147
201
177
200
172
177
159
154
210
217
218
200
150
124
206
207
146
181
123
181
184
180
175
161
160
131
146
202
174
143
171
201
218
145
120
202
138
177
130
164
220
125
194
180
100
110
133
119
113
102
111
137
111
119
113
141
106
116
115
112
114
116
122
129
112
132
119
126
124
117
122
116
124
120
111
117
147
132
111
115
139
105
113
146
118
102
142
114
136
117
143
123
122
134
133
119
108
110
118
117
136
146
115
130
142
113
138
114
108
144
150
121
103
141
145
144
126
146
118
140
137
142
131
113
110
132
114
114
142
131
139
139
149
150
110
109
124
117
141
107
113
131
136
150
105
113
142
111
123
133
117
103
133
106
123
109
133
116
105
126
110
144
130
129
118
122
129
139
112
148
121
124
117
138
128
138
102
117
142
114
118
112
144
106
136
121
118
147
128
123
100
106
177
147
152
188
124
163
204
161
182
132
129
125
120
158
140
142
189
152
197
179
205
135
190
128
219
178
186
162
122
155
128
208
132
207
126
216
199
121
177
136
174
122
143
205
176
209
150
192
185
171
207
167
148
176
188
198
170
211
176
132
218
198
207
201
167
179
132
210
162
151
212
172
178
198
129
215
177
194
192
170
165
133
146
153
128
190
144
188
168
207
128
174
187
129
130
194
155
149
201
208
199
217
203
161
127
174
182
127
176
191
173
121
142
181
193
131
151
220
175
125
175
187
185
190
132
189
195
143
176
181
139
149
169
181
217
124
184
181
220
124
199
161
179
131
209
217
133
154
160
136
196
214
209
127
172
194
166
211
162
163
180
133
139
143
143
140
115
119
101
113
116
114
149
147
120
132
104
112
111
105
124
136
139
150
140
147
107
136
145
147
115
126
112
130
105
114
150
150
107
138
146
118
127
147
134
148
120
140
137
134
133
128
134
135
113
149
125
130
115
110
145
140
142
149
113
134
142
150
137
110
110
126
117
145
118
144
110
117
130
131
150
135
132
143
102
137
122
112
117
123
112
114
133
131
140
105
144
125
138
128
108
146
140
147
101
125
108
133
138
138
129
132
135
106
136
113
133
105
142
125
111
117
148
131
141
125
113
110
150
112
130
109
145
127
205
202
171
144
183
122
147
151
218
154
202
190
147
196
123
219
135
205
170
145
213
145
127
138
183
174
179
169
140
198
146
125
137
161
167
197
137
151
175
178
189
186
184
145
188
149
212
120
130
128
196
121
154
123
179
130
203
138
165
216
175
151
206
171
142
212
167
156
131
167
172
167
146
158
124
161
182
204
154
132
152
218
154
134
200
142
145
130
165
168
164
204
136
212
169
121
156
180
149
187
134
160
216
197
173
149
211
185
187
215
120
186
179
192
210
166
121
171
131
139
190
199
171
133
172
178
130
167
209
127
135
135
136
202
145
203
201
134
183
174
215
147
122
206
164
121
163
175
205
139
122
212
209
217
204
144
135
135
147
159
120
195
155
190
186
173
194
177
166
219
203
127
134
147
147
141
112
125
137
107
127
127
119
104
135
114
133
122
134
146
116
135
111
133
129
148
123
102
105
134
129
137
106
149
149
122
142
109
110
130
143
111
150
101
128
149
124
136
148
146
100
110
117
117
138
132
123
108
118
143
150
104
104
135
120
112
119
142
103
136
129
127
123
128
110
101
149
125
100
128
125
116
100
132
145
114
148
116
125
129
103
104
126
109
148
114
126
121
132
131
104
140
132
105
133
118
135
104
120
137
130
126
117
103
138
136
100
113
121
138
121
114
143
142
111
110
122
122
137
139
109
141
133
120
124
107
143
124
116
144
114
108
141
105
114
137
115
112
129
124
118
119
114
108
104
109
101
135
137
110
128
149
117
137
119
169
179
216
155
211
203
158
138
212
208
135
131
195
134
147
157
145
212
159
166
125
144
160
157
152
126
166
145
171
172
213
212
175
193
164
209
124
157
187
126
179
136
173
175
210
141
121
152
148
200
130
156
184
178
212
129
198
156
127
219
213
129
205
201
156
155
169
213
199
201
179
127
177
201
213
183
203
147
136
212
187
164
207
139
162
177
162
122
131
164
181
186
196
206
188
177
219
219
143
124
169
185
183
205
203
154
128
124
219
158
169
120
184
215
181
181
196
200
138
144
198
195
184
131
132
154
130
156
166
184
216
145
129
134
195
176
140
208
133
133
214
151
150
111
150
128
143
131
133
138
109
141
108
127
114
111
140
134
131
123
139
102
113
118
109
130
116
138
118
132
114
128
140
146
111
119
130
117
118
133
119
116
143
113
117
117
150
148
148
129
127
122
141
139
109
113
130
125
150
146
140
127
127
113
106
146
135
106
130
123
125
124
101
135
110
113
101
115
101
113
127
108
143
128
136
130
112
137
114
104
139
129
112
121
123
103
125
100
138
102
150
100
146
103
100
132
142
101
129
102
122
120
138
104
140
146
109
147
131
131
143
132
112
110
100
107
122
134
136
108
137
142
101
101
120
143
120
113
110
101
118
128
104
105
131
102
119
129
112
108
122
117
145
136
126
136
147
119
120
104
150
137
107
113
109
100
102
109
128
145
124
125
177
211
206
173
168
128
179
197
123
158
163
209
153
121
183
203
130
152
205
157
151
130
160
181
209
211
164
131
204
135
124
145
160
175
187
210
168
129
189
145
201
147
197
136
149
171
163
209
134
163
130
165
219
160
148
131
215
191
131
169
141
128
173
215
168
172
200
130
183
217
123
125
120
148
191
170
122
207
194
154
187
196
214
159
133
209
177
200
173
154
132
160
127
128
120
192
191
176
166
214
167
194
121
139
152
185
174
136
181
151
219
204
205
130
195
188
123
183
141
179
149
208
145
190
155
120
177
141
116
119
146
113
148
123
116
126
109
116
121
128
140
135
145
114
133
136
137
118
150
141
133
106
116
143
146
138
143
127
106
130
131
105
113
129
133
135
140
123
115
139
113
141
135
113
131
143
145
136
135
126
115
122
141
142
107
104
136
140
141
107
117
108
128
115
136
145
107
144
115
121
122
112
111
132
124
115
148
138
137
146
144
123
108
140
119
102
112
122
116
125
128
120
136
108
130
107
124
118
131
109
142
125
108
100
126
113
127
117
122
130
133
147
150
143
107
106
134
114
113
119
141
147
119
126
139
167
153
194
120
154
162
140
184
167
148
202
162
135
130
209
150
165
129
194
184
185
157
141
182
179
127
193
202
204
216
172
182
120
201
184
139
137
210
197
203
213
197
130
186
205
208
216
202
162
218
159
214
185
205
147
217
131
195
199
197
126
138
120
158
164
157
138
184
182
125
120
207
178
184
132
206
148
120
160
202
218
184
136
183
145
131
186
189
152
184
141
156
190
198
198
196
201
188
141
153
219
165
189
218
141
164
177
142
211
171
151
128
128
149
141
181
150
181
136
167
196
130
138
141
132
141
206
217
203
144
191
154
176
219
159
197
207
165
186
207
149
213
157
207
201
101
142
120
126
141
141
132
113
143
116
112
106
145
149
104
117
142
118
131
137
120
107
123
109
147
138
109
137
136
149
104
141
132
135
143
106
142
150
143
114
101
126
109
141
116
136
117
102
107
126
148
136
111
106
147
113
106
133
140
129
144
124
131
148
150
138
121
127
130
134
131
111
134
148
124
132
132
130
111
125
127
100
119
109
137
128
138
146
101
110
139
138
147
121
147
150
107
147
131
136
145
145
138
129
116
129
121
109
100
132
124
120
112
134
132
142
142
121
126
124
117
147
148
123
101
129
150
112
132
137
129
139
142
134
118
133
141
131
123
109
141
143
149
115
140
104
137
109
122
116
112
138
100
167
148
176
145
214
195
140
174
162
130
181
147
201
125
145
150
184
128
184
219
214
172
176
152
151
198
184
202
158
193
159
128
204
145
209
218
175
210
162
124
196
205
188
162
208
195
169
193
212
204
203
220
151
206
185
166
142
138
125
140
183
159
170
187
164
207
150
173
132
143
149
174
140
141
212
124
208
145
151
185
180
132
203
136
192
151
198
162
155
190
194
153
187
123
166
205
218
171
178
140
220
209
205
178
192
196
159
180
207
185
124
161
185
215
154
193
161
187
199
193
192
198
163
187
202
124
198
136
210
191
165
190
161
153
135
203
179
217
193
180
147
138
155
175
141
134
146
149
161
184
181
200
163
198
167
194
195
220
148
151
160
137
124
145
137
140
134
145
136
128
137
104
142
121
100
106
135
105
140
140
115
112
124
111
105
146
146
122
135
136
125
122
110
120
130
127
109
111
102
105
137
131
127
107
120
133
137
100
138
118
112
125
144
100
132
115
133
146
104
139
140
128
104
136
140
146
105
145
117
121
116
100
131
142
114
141
148
128
130
115
127
110
104
135
139
145
145
123
147
124
136
135
101
125
124
118
100
147
120
125
148
115
145
105
143
141
109
147
134
150
115
149
115
141
112
105
135
114
100
141
135
139
102
122
131
135
123
111
119
103
133
111
135
150
110
143
104
103
137
146
212
127
209
125
175
129
192
204
124
192
220
179
152
201
183
201
145
215
163
184
171
185
139
159
146
192
166
149
139
150
133
177
195
152
169
163
123
189
165
154
181
147
157
145
168
216
201
171
147
153
186
188
158
158
147
213
129
123
125
124
156
145
203
167
171
147
171
215
152
142
123
219
150
153
155
217
209
220
154
154
163
219
189
158
220
124
152
161
146
160
159
173
157
143
132
212
220
202
179
148
149
150
167
199
214
166
150
159
207
190
131
172
169
151
183
174
139
153
168
209
151
155
206
205
163
208
121
120
190
150
156
201
208
214
173
162
209
192
210
209
207
202
196
188
170
187
146
134
130
205
161
171
145
219
166
195
157
209
123
138
174
185
187
147
134
115
106
111
107
132
101
132
110
104
124
114
115
138
134
106
115
139
144
137
119
128
100
108
123
113
124
136
139
112
148
102
145
102
113
101
111
122
132
105
149
107
110
143
146
139
115
129
119
111
115
107
104
123
130
112
110
104
107
145
106
133
112
139
141
136
147
104
111
101
114
106
124
111
133
146
145
114
114
149
125
145
115
127
148
141
119
143
144
132
111
120
103
112
108
126
115
124
114
106
111
127
105
132
131
115
121
122
142
133
117
104
117
105
137
110
124
123
124
130
147
115
115
101
119
102
105
147
123
127
116
140
149
117
113
116
137
125
215
133
177
202
145
196
151
194
187
125
190
174
183
188
162
153
132
153
219
151
202
124
208
143
151
185
185
185
160
186
128
198
212
178
180
134
132
122
181
148
146
145
133
162
153
213
163
205
163
140
167
141
131
150
120
160
210
195
145
161
200
184
129
153
184
205
189
217
200
154
211
207
201
166
133
187
210
195
131
127
145
191
213
195
137
197
145
162
171
183
188
131
202
145
200
126
197
167
178
182
157
208
200
142
153
174
195
202
170
190
216
169
150
124
178
163
133
173
179
203
129
190
152
139
154
201
144
213
198
179
178
188
136
181
125
164
179
206
124
128
198
186
218
162
207
187
200
181
166
207
134
125
178
207
203
207
210
205
201
156
202
141
146
181
132
127
133
135
146
143
101
140
102
105
138
103
107
139
143
111
146
136
121
112
106
142
119
115
108
122
141
113
137
136
132
141
129
120
114
129
118
138
137
118
131
114
142
101
119
107
106
127
129
104
130
131
111
107
105
112
150
136
145
147
109
128
150
139
105
145
109
137
137
138
121
146
110
125
128
148
122
143
136
104
122
113
147
129
128
103
124
150
103
103
111
129
136
143
109
142
126
130
117
135
116
126
129
121
138
135
142
115
150
136
121
106
122
110
124
123
105
126
105
150
105
109
128
135
143
121
119
148
123
143
141
137
105
107
118
111
136
111
118
106
123
102
108
111
116
130
147
119
119
113
125
115
106
129
109
131
102
149
124
140
136
136
129
130
139
135
218
185
169
192
173
185
152
204
196
205
128
143
127
146
148
218
123
178
144
137
135
173
209
209
139
125
127
218
160
141
213
203
140
212
152
201
181
189
198
176
189
215
186
166
163
219
191
169
217
144
141
191
216
120
196
160
125
180
158
153
145
205
218
127
168
138
169
220
159
146
215
158
190
129
148
165
157
215
193
157
190
179
153
176
179
130
151
159
220
134
153
198
165
180
219
191
156
125
161
187
151
185
162
124
144
180
194
139
210
210
191
157
215
197
126
173
182
137
210
150
205
161
191
123
166
166
175
141
167
175
167
191
176
144
113
121
138
106
131
118
113
140
119
128
101
139
142
115
101
143
107
149
116
127
141
139
100
131
136
110
113
124
125
121
127
110
118
131
144
130
146
116
128
125
147
118
112
104
133
134
146
104
113
103
140
143
118
119
134
124
107
148
110
128
147
118
137
142
103
119
134
132
114
124
108
108
138
147
119
144
125
103
101
136
116
120
143
139
117
100
144
104
149
105
141
106
142
149
119
114
126
113
121
108
126
116
126
131
136
148
119
114
113
125
131
112
104
125
125
113
100
131
130
105
123
147
121
110
122
123
150
139
119
117
132
108
118
131
123
125
141
134
142
126
110
199
217
212
125
129
171
153
183
205
182
181
211
133
181
126
185
189
143
158
198
192
187
189
181
159
198
141
169
174
123
184
146
167
144
215
143
153
214
134
145
140
146
163
193
197
136
170
126
190
208
137
137
126
182
189
209
211
204
217
160
121
173
140
155
201
137
143
181
152
169
126
134
128
188
191
179
165
162
211
218
164
175
171
139
182
132
142
191
132
155
134
207
213
131
125
201
126
153
203
212
149
208
127
123
174
210
163
178
198
198
134
170
135
185
143
149
124
203
184
203
220
204
203
136
152
143
185
155
211
195
173
145
169
146
178
188
190
125
154
200
190
163
161
120
152
187
122
137
164
133
133
140
164
183
151
165
217
211
203
134
169
130
130
138
101
108
148
108
143
107
112
149
117
128
137
104
136
105
146
115
131
132
105
142
103
106
131
149
100
128
102
111
128
107
115
103
143
136
125
147
135
148
150
117
145
109
101
121
149
114
114
105
108
104
136
120
102
117
134
135
100
107
121
117
125
105
110
105
134
120
113
116
109
111
149
110
130
130
108
135
118
146
132
115
143
137
119
131
113
148
104
122
103
129
136
116
135
108
150
112
137
134
140
120
120
117
106
122
100
105
122
131
138
136
149
127
135
133
141
102
134
134
101
119
114
123
147
103
132
139
134
117
115
143
102
144
131
122
139
114
121
210
220
188
204
164
183
203
194
198
127
146
195
136
155
170
165
140
218
120
149
184
126
217
120
147
202
185
193
155
220
167
166
127
173
174
213
201
186
142
197
164
157
162
165
175
216
139
173
150
217
142
198
163
131
199
181
207
214
145
136
133
172
212
153
170
166
135
142
142
194
180
168
215
179
128
195
179
134
205
184
199
123
167
143
192
219
218
203
121
123
161
157
195
139
129
165
180
182
157
163
146
133
179
125
217
121
139
120
150
122
132
208
184
208
184
136
120
193
184
166
195
124
176
217
197
213
181
164
175
181
142
138
203
207
139
155
157
137
186
121
185
215
127
139
211
173
176
168
156
188
178
199
145
181
148
162
183
144
204
146
198
175
194
156
142
146
135
103
147
133
136
110
142
112
142
138
139
141
135
105
132
118
147
109
135
146
125
137
105
144
102
100
123
145
104
144
137
118
106
143
113
131
141
124
149
121
134
101
142
118
107
123
121
145
140
119
116
148
114
144
111
109
103
124
128
103
112
149
116
118
128
146
124
113
124
145
140
148
131
125
140
110
120
109
105
110
147
118
100
122
128
141
125
128
109
118
143
122
113
105
127
146
112
119
111
136
100
124
149
130
112
133
116
143
105
112
146
110
107
144
123
121
125
124
136
145
122
105
125
144
140
142
145
122
130
105
139
110
121
102
138
134
126
124
119
130
141
112
117
126
117
128
138
107
147
130
132
140
146
138
131
107
100
104
168
156
205
198
184
177
138
145
189
215
197
172
199
169
202
172
123
200
217
164
155
146
173
169
182
151
126
204
129
187
206
150
218
185
161
157
192
179
140
169
210
216
212
136
156
178
164
144
152
123
198
192
200
204
197
188
214
144
183
170
212
194
146
158
199
148
153
182
124
211
147
192
177
176
183
150
219
169
178
218
215
167
194
219
189
186
149
176
121
143
123
152
184
121
129
207
175
215
137
144
216
210
215
179
137
220
195
144
186
195
121
193
159
131
132
182
129
220
207
215
211
169
197
190
184
156
129
132
214
141
204
197
165
139
122
133
212
208
162
154
136
165
207
191
181
154
153
136
152
122
125
153
205
170
207
103
145
110
100
138
144
142
121
129
116
126
121
105
108
148
111
132
132
144
104
101
144
106
114
120
107
145
102
138
118
129
121
125
123
105
129
111
138
106
147
134
134
117
111
145
145
141
108
134
130
122
101
104
108
137
107
122
147
117
111
113
100
117
128
129
134
130
119
105
140
138
101
137
148
146
127
108
107
127
114
104
108
132
128
118
110
136
122
121
117
112
113
134
111
113
130
115
131
128
121
109
134
111
134
102
136
137
139
125
104
149
109
128
125
114
103
135
102
144
142
104
137
109
112
148
146
129
115
122
109
122
121
110
135
126
140
115
102
112
114
106
149
143
150
142
173
220
172
129
195
214
149
170
201
160
150
174
183
192
166
196
184
213
186
155
187
146
206
211
178
220
140
135
128
136
170
132
161
158
179
127
156
179
167
174
210
174
159
214
220
201
124
204
212
215
212
130
141
178
182
176
137
187
149
171
187
143
155
185
196
136
128
123
146
168
124
192
120
165
190
160
195
173
175
131
139
212
215
197
178
161
189
128
191
194
129
146
212
180
133
156
174
132
138
147
144
165
154
189
148
156
156
122
202
140
210
174
202
164
194
161
133
133
163
214
184
138
184
138
203
202
204
186
142
178
184
146
214
138
151
219
190
205
194
143
120
206
208
206
125
142
104
110
138
135
106
141
147
127
137
147
109
150
125
140
140
108
141
135
138
114
120
115
122
105
136
149
147
132
141
109
124
128
125
149
113
132
106
115
116
133
105
103
145
138
137
141
118
129
128
100
110
110
114
129
102
134
136
116
116
145
150
138
145
125
107
143
140
118
102
138
120
106
141
143
126
124
147
137
110
111
140
102
131
112
145
115
143
133
146
107
132
143
118
120
100
149
105
122
125
138
119
140
106
121
116
125
138
119
132
124
117
145
138
106
109
150
108
134
126
148
150
144
133
107
139
116
115
103
150
142
142
115
139
137
126
150
113
145
117
148
129
142
133
139
116
138
116
114
106
123
156
219
122
194
170
161
161
174
192
156
217
183
142
164
170
216
164
124
141
182
136
158
178
204
180
130
144
146
170
170
182
189
164
129
152
148
171
143
190
159
121
170
209
167
136
203
154
168
216
207
120
130
215
143
160
134
134
144
215
199
176
159
127
163
198
209
213
127
189
201
160
129
146
216
152
149
175
198
183
160
218
175
144
173
210
173
142
147
141
176
202
166
145
155
197
135
127
126
125
145
153
199
200
201
174
170
167
210
133
215
142
187
147
208
128
209
132
127
215
143
130
155
147
131
217
165
178
219
212
190
161
166
154
150
161
123
165
183
147
145
151
176
140
182
126
188
202
212
206
183
175
136
216
174
180
157
179
159
190
143
158
208
153
215
136
218
126
126
188
138
143
200
146
137
130
122
150
140
147
111
120
112
108
106
148
146
114
129
110
109
106
140
122
141
126
133
136
115
146
136
116
138
121
118
125
109
150
119
134
116
125
116
105
132
133
122
133
125
131
123
125
121
133
111
117
131
117
114
147
112
149
144
127
111
120
130
149
112
129
108
135
135
127
149
139
105
131
113
116
145
134
134
129
117
131
138
102
135
106
133
116
110
109
106
130
145
122
133
143
117
146
144
128
116
149
145
137
119
142
142
149
137
134
114
133
149
146
126
115
102
118
108
128
114
139
148
142
113
142
102
132
145
118
133
107
100
137
114
112
103
133
144
106
143
146
120
133
107
127
118
116
129
110
115
115
126
131
163
217
201
127
135
155
165
147
150
164
183
136
142
139
139
135
189
178
209
132
162
192
182
146
220
183
155
136
181
212
213
182
177
204
164
146
129
122
176
136
194
151
125
135
188
156
214
209
200
156
182
172
204
171
183
201
157
155
173
123
210
192
192
153
143
122
133
157
134
154
130
165
159
177
135
144
171
157
132
160
131
190
179
180
124
167
206
166
166
146
157
147
201
142
165
209
182
191
211
211
151
123
190
135
157
161
193
194
158
174
194
181
216
178
196
201
124
130
129
201
146
170
122
159
131
140
144
155
200
149
176
189
169
203
181
211
142
186
218
135
168
138
131
195
133
218
182
219
214
203
208
217
219
183
206
124
139
189
135
142
144
109
121
124
140
116
109
131
138
148
100
141
147
122
113
136
110
121
107
122
138
135
149
103
118
139
122
114
121
117
108
132
106
131
112
108
114
111
131
143
112
148
146
102
106
126
107
128
128
141
134
104
118
144
126
150
109
108
112
107
121
114
113
109
119
107
100
143
115
147
120
145
115
120
126
134
101
128
143
133
105
126
124
142
136
131
135
115
148
147
110
137
149
129
115
120
149
124
118
143
111
134
119
130
145
150
126
129
108
130
120
128
132
101
105
126
123
123
104
116
100
102
140
147
110
106
135
113
145
124
146
109
136
138
148
128
138
127
140
124
140
128
134
146
132
124
144
141
116
130
111
140
127
130
146
146
136
124
120
148
138
130
127
110
130
145
117
124
136
106
122
100
105
153
188
153
164
129
160
173
154
160
167
171
157
217
141
201
151
136
210
169
151
142
217
169
199
200
143
200
198
206
205
141
172
200
190
141
175
161
176
129
205
149
220
129
179
214
166
136
131
162
206
203
140
201
190
197
182
165
122
214
217
151
136
167
133
123
142
133
144
123
130
213
147
157
219
170
145
177
129
139
142
156
216
213
191
148
204
215
169
180
161
158
163
170
170
196
138
212
193
121
194
130
133
123
219
191
161
204
216
152
174
184
140
180
198
197
201
162
140
128
220
122
128
144
204
217
139
136
163
127
199
130
159
213
178
190
203
124
180
127
129
127
136
159
125
195
215
198
199
206
219
169
181
166
174
123
165
203
199
122
181
123
148
198
192
142
124
106
139
144
110
141
144
136
117
114
129
118
146
123
142
137
103
133
134
113
123
108
114
131
109
102
127
108
114
109
128
148
146
103
137
128
144
120
101
119
138
127
124
138
123
102
125
115
140
118
121
114
122
134
102
101
133
145
142
128
146
143
109
136
139
105
141
132
118
114
123
121
133
130
124
119
112
121
123
147
121
115
106
133
102
134
129
137
118
132
121
121
131
130
112
148
126
150
144
141
118
149
122
126
128
102
124
126
116
107
140
113
145
135
111
116
100
129
122
116
147
120
148
132
148
106
100
136
141
123
102
103
141
147
133
115
145
107
144
124
140
129
105
118
131
127
101
121
117
143
155
168
165
199
187
204
152
200
194
162
170
146
182
215
129
202
213
128
157
165
179
134
215
203
179
189
212
202
174
154
128
212
210
132
200
135
209
173
132
210
199
188
163
162
150
130
211
203
208
149
125
139
184
217
130
199
130
191
133
173
201
217
150
161
188
122
186
144
162
183
171
212
142
166
206
155
174
198
204
179
137
151
185
125
170
174
143
121
162
148
205
199
169
183
175
213
217
208
197
173
203
140
160
131
152
138
138
195
128
185
168
216
141
178
212
137
151
147
201
131
127
171
145
145
149
187
154
177
176
143
201
209
131
206
192
204
217
151
133
124
170
133
212
129
136
172
147
171
209
198
168
186
203
173
170
131
207
120
144
111
115
138
130
146
124
111
113
139
149
114
143
116
136
111
114
141
109
135
117
143
102
125
119
117
101
134
133
112
120
139
132
116
143
133
135
146
150
138
124
128
146
113
131
116
120
102
111
128
114
139
142
148
123
135
150
128
109
121
108
133
145
102
108
103
100
107
106
119
144
113
131
139
113
139
142
109
110
125
150
133
131
136
127
128
138
104
128
120
125
144
130
104
132
148
109
127
150
111
141
132
108
106
132
120
138
116
122
119
112
123
101
146
127
145
149
132
113
115
113
137
129
114
131
108
112
118
128
103
143
146
116
138
106
107
110
150
194
158
205
198
209
154
159
147
198
130
191
171
132
141
219
196
145
168
142
202
195
192
155
173
176
164
197
143
215
197
203
171
177
177
204
194
195
187
217
158
206
161
213
180
125
153
219
173
213
194
219
169
136
185
146
121
220
208
168
201
192
137
179
137
176
177
154
184
130
190
198
147
131
192
167
148
146
204
131
139
121
177
121
168
139
168
206
120
173
181
178
191
156
150
206
123
139
134
139
188
195
138
142
126
183
131
192
205
165
177
188
165
187
163
149
202
181
133
192
165
189
213
158
140
192
188
200
164
180
143
179
154
212
175
181
216
144
135
170
206
185
220
162
196
169
199
136
162
204
207
124
171
192
220
131
165
120
216
145
153
135
193
131
145
126
194
121
204
191
120
140
141
104
112
132
127
106
130
130
126
150
139
117
101
112
108
134
136
147
143
108
103
121
133
103
118
136
131
106
115
144
116
148
100
102
116
138
137
139
148
137
134
102
124
126
140
103
112
112
137
123
113
109
147
109
147
143
131
142
140
121
106
126
138
137
142
111
131
138
139
102
113
150
149
119
102
108
107
145
123
111
134
125
106
148
134
103
123
106
118
124
142
110
106
140
135
129
105
107
117
120
149
107
142
147
129
121
128
113
123
114
138
119
150
147
141
145
143
144
133
131
133
121
122
133
102
119
117
126
114
120
106
139
140
107
100
146
134
108
124
114
117
122
130
100
107
106
141
117
114
131
113
111
123
100
131
132
116
121
124
142
127
103
125
140
123
100
141
108
119
172
186
170
200
204
132
146
151
149
125
185
206
163
179
210
164
183
209
183
201
190
218
154
188
217
203
210
129
195
220
124
195
166
194
189
135
135
176
165
181
142
141
197
166
127
206
186
149
211
168
219
196
166
216
166
173
179
157
170
169
125
160
137
123
121
207
213
125
122
159
131
136
193
201
182
126
164
159
189
136
158
192
165
184
200
130
196
184
170
159
134
159
151
124
152
158
133
159
133
122
160
216
208
121
203
182
180
127
173
158
173
213
170
175
129
173
173
186
207
188
126
187
136
140
154
158
211
199
217
172
183
175
181
188
189
138
120
156
125
130
188
124
191
102
125
131
120
147
126
146
126
108
150
139
127
115
106
108
122
107
143
121
123
146
135
113
137
133
125
121
105
105
125
142
126
139
139
140
100
118
150
143
142
112
116
127
121
118
114
103
146
108
137
130
125
144
119
149
119
146
119
148
127
115
127
143
138
105
143
142
128
112
149
126
137
142
122
112
122
149
102
139
150
148
140
143
109
103
102
144
132
121
108
134
138
133
128
140
140
148
141
121
118
120
147
124
101
148
141
127
124
141
142
108
135
112
136
138
106
130
138
136
143
103
114
144
114
143
138
118
111
142
126
125
149
100
116
103
123
127
115
119
119
135
115
144
150
141
142
124
138
127
104
138
104
137
100
136
122
128
147
114
116
146
126
105
144
133
114
125
162
174
183
167
201
184
137
187
170
136
216
142
122
130
144
120
134
126
193
170
205
185
200
209
140
139
124
157
136
124
133
152
181
155
183
169
205
214
135
194
192
189
197
218
165
173
169
169
121
165
190
135
126
200
132
151
135
121
186
210
188
205
182
155
161
205
158
187
201
161
195
176
129
139
134
218
164
125
130
134
165
160
200
153
216
172
198
196
146
194
171
130
140
133
170
176
193
177
171
190
162
148
172
192
214
209
135
120
165
163
128
203
184
154
158
188
141
140
220
175
212
197
207
122
179
137
129
217
209
182
215
156
137
143
124
126
204
192
128
144
112
143
144
136
117
131
149
146
113
138
146
122
147
132
136
109
128
135
108
118
112
149
136
125
115
127
128
146
126
127
115
121
105
127
110
129
100
137
106
110
135
148
144
121
100
124
101
128
134
125
104
139
139
123
145
111
142
110
137
137
114
122
132
101
128
138
114
149
100
131
111
141
147
131
124
123
124
131
114
101
143
122
118
114
144
134
147
131
142
121
145
149
101
114
121
130
124
119
142
112
138
132
106
106
110
120
119
135
119
150
118
118
125
133
105
140
145
104
107
128
103
114
146
125
108
139
104
132
141
145
104
147
148
106
143
160
209
174
203
220
150
218
208
186
130
159
181
156
179
219
191
120
139
137
138
215
161
139
145
204
120
212
185
123
204
145
160
156
151
138
209
162
208
209
190
192
183
164
195
159
125
199
180
136
189
136
127
145
207
189
178
149
207
138
188
179
143
194
138
137
157
186
206
134
151
123
138
143
218
187
219
143
219
172
184
128
144
133
216
133
220
141
126
201
138
134
164
158
163
191
129
173
174
161
147
194
206
153
128
161
142
126
126
127
175
197
122
219
120
177
193
214
213
187
196
203
187
214
135
192
131
216
124
147
163
149
193
171
167
134
193
208
174
188
171
154
125
136
115
131
145
102
120
145
127
133
111
135
118
119
122
132
123
107
141
131
112
113
104
109
101
116
146
136
128
133
117
128
106
127
121
106
106
149
125
111
135
127
129
110
121
141
147
145
125
106
118
129
111
144
118
122
105
131
119
135
104
133
111
138
146
138
114
100
118
111
132
136
124
106
122
124
139
114
132
102
123
136
135
124
106
111
102
133
109
142
114
105
105
117
129
134
126
106
108
106
139
135
105
111
139
146
107
141
136
114
146
125
121
106
134
144
124
143
125
148
110
121
123
144
104
139
127
131
134
220
187
154
153
204
153
179
217
143
208
186
122
148
162
177
179
219
179
140
186
130
162
212
200
204
133
150
148
179
182
144
143
158
179
156
159
197
200
179
179
147
196
208
202
134
192
144
182
136
188
162
121
184
178
126
168
121
188
126
200
214
139
212
134
193
175
181
147
125
186
135
218
193
189
173
167
190
175
151
194
152
218
200
129
182
173
176
196
186
187
128
129
188
138
194
138
159
127
151
205
211
168
145
204
154
160
213
136
166
167
177
140
146
132
159
128
203
156
210
155
203
170
199
133
179
218
158
185
138
200
190
143
159
203
194
182
172
199
211
175
130
161
180
154
181
132
174
157
155
164
210
199
207
178
153
121
209
200
182
176
217
141
211
177
216
125
189
136
112
120
129
140
113
138
147
145
145
103
112
142
133
101
140
106
118
144
124
119
106
109
126
108
128
111
140
143
105
141
139
104
103
105
118
113
132
117
144
102
131
118
127
115
124
106
125
124
144
131
147
103
109
150
126
106
103
102
101
131
102
134
111
104
114
116
136
132
129
101
143
121
125
142
105
148
109
141
136
103
130
132
132
149
132
130
124
108
130
136
129
121
119
120
144
118
131
103
117
106
118
146
113
104
120
106
129
134
101
107
143
120
118
101
150
144
111
133
137
134
137
105
117
132
133
120
140
106
129
147
102
134
128
124
147
140
112
149
132
113
114
106
128
109
141
136
138
124
123
141
101
126
134
143
135
128
107
184
217
176
124
207
164
216
173
181
120
200
212
133
123
151
121
185
152
126
182
205
150
209
142
151
146
167
150
195
164
145
213
166
213
196
189
139
125
160
202
141
144
191
120
133
171
148
145
169
179
190
166
198
168
129
160
181
135
168
218
190
195
153
140
174
159
183
165
150
179
153
181
149
146
149
143
133
178
184
123
181
190
140
188
128
152
211
205
178
146
201
199
177
128
214
123
172
198
217
190
183
124
188
174
153
147
146
210
193
179
190
178
185
158
168
181
150
157
153
213
211
165
195
159
181
180
166
147
195
126
198
155
145
124
214
147
200
125
139
170
205
211
186
147
167
145
157
215
200
154
211
153
206
157
220
214
167
220
208
190
135
215
196
136
125
133
104
129
148
148
123
126
124
137
130
101
110
106
112
122
137
112
124
128
150
117
140
113
106
125
116
140
102
108
135
107
148
113
128
137
126
112
103
122
128
143
137
131
128
133
123
140
102
112
115
114
146
141
135
121
102
148
107
137
142
133
142
148
149
108
128
128
150
149
100
126
125
125
145
142
133
132
115
149
147
120
143
145
140
144
127
106
110
146
116
112
136
130
111
124
106
116
140
100
111
143
137
121
123
118
109
122
138
113
127
130
141
143
110
110
108
140
121
144
100
141
121
106
101
146
145
114
139
114
116
104
148
143
136
137
126
147
113
143
134
149
121
135
136
148
102
148
109
128
119
122
114
100
139
115
146
127
161
137
150
156
183
190
185
192
187
168
173
193
183
198
185
188
128
191
198
203
215
120
173
193
204
179
130
183
155
195
124
150
161
183
197
154
144
165
129
153
177
205
160
195
167
200
186
167
194
178
194
200
145
186
198
213
132
149
203
164
127
129
204
177
142
163
184
212
188
190
195
148
193
160
130
219
141
129
148
140
174
159
148
177
210
149
157
188
123
129
162
131
180
211
214
173
149
209
120
202
144
162
130
162
182
140
166
130
189
202
171
131
164
137
125
131
179
162
199
206
158
196
129
220
163
185
198
133
206
136
143
197
186
148
190
162
122
126
189
145
200
168
202
214
141
134
150
103
127
120
146
103
133
116
143
113
136
126
110
105
114
144
103
122
104
136
138
118
117
104
110
131
119
111
105
149
122
112
105
104
126
101
122
123
109
143
146
126
112
121
127
141
134
123
118
143
136
100
113
105
147
147
120
108
135
146
113
128
145
123
113
112
111
126
101
138
129
148
117
147
105
136
129
100
106
150
134
131
130
140
144
133
113
118
100
121
112
147
128
117
143
136
148
114
149
111
109
121
113
146
150
106
106
115
101
115
108
101
145
122
125
109
149
135
137
135
143
119
121
109
129
127
125
122
112
105
138
133
125
118
107
140
119
213
147
192
170
166
195
196
135
165
182
132
207
170
154
212
207
140
148
200
167
207
202
202
162
136
128
160
143
122
184
205
172
122
153
174
145
178
121
191
132
156
158
130
172
164
133
125
161
129
120
174
170
217
185
194
138
174
158
143
175
211
208
137
182
120
219
135
157
171
132
191
180
127
191
191
193
155
150
205
156
169
199
218
177
141
209
192
186
164
205
141
170
193
178
126
153
179
211
196
218
144
132
162
216
185
214
158
199
141
156
194
159
204
173
187
198
180
179
120
196
212
194
187
208
210
150
154
197
180
217
201
175
179
155
207
182
189
191
154
140
123
139
103
148
139
102
118
137
132
143
138
122
102
138
107
128
103
121
137
129
108
135
117
146
138
112
142
111
104
125
140
113
125
140
122
105
131
101
125
138
138
122
120
103
130
114
146
124
140
141
121
106
124
116
121
100
146
133
113
114
126
143
118
118
116
121
133
147
112
145
137
120
125
103
147
126
123
147
127
108
138
124
126
144
106
102
112
121
108
111
141
116
140
134
102
101
111
121
132
140
131
142
129
111
126
129
126
101
118
115
107
109
118
141
126
123
125
144
124
102
113
121
128
112
126
104
150
126
131
126
127
104
139
104
148
141
147
130
141
150
127
140
136
123
129
102
113
109
147
136
146
111
143
118
145
146
130
108
138
108
128
149
107
128
193
143
196
210
139
195
126
161
170
182
141
158
140
150
124
132
143
169
134
121
182
216
160
178
153
123
128
156
172
190
183
132
167
213
141
178
179
214
138
191
146
121
213
121
216
163
186
151
161
214
160
208
126
180
146
195
214
187
198
182
174
162
137
179
163
146
133
176
215
195
131
165
178
129
173
130
151
132
189
210
166
148
211
151
188
151
133
130
161
181
214
197
171
216
171
220
155
183
136
156
189
135
140
176
202
219
170
184
168
147
170
211
175
165
136
160
150
172
137
144
191
161
153
171
189
198
213
142
208
202
175
198
163
182
137
183
160
147
120
131
199
193
155
184
182
214
149
105
142
143
115
101
130
132
142
102
140
150
133
127
108
150
144
133
146
142
142
144
128
104
128
124
107
148
144
145
131
120
107
149
102
128
116
116
129
132
146
147
104
143
141
149
133
132
127
102
129
127
113
132
125
130
133
118
110
109
144
131
145
138
150
109
116
138
150
100
135
149
121
146
113
122
121
119
132
134
104
123
110
139
102
124
107
120
102
132
143
120
131
149
106
105
119
137
104
111
103
128
133
131
108
100
120
139
121
137
130
115
123
139
125
117
109
131
115
100
130
119
147
107
120
103
141
149
148
116
143
121
121
103
112
102
110
138
124
128
127
118
146
141
118
114
120
109
130
102
133
140
140
126
127
141
126
128
149
118
148
201
209
169
173
121
167
147
195
170
127
205
156
140
147
144
199
175
189
130
150
157
199
164
173
163
177
210
183
213
168
215
218
150
150
195
206
201
154
167
170
161
123
175
210
134
143
195
125
215
179
195
200
181
194
129
121
175
173
204
209
196
213
170
189
203
163
130
168
174
156
194
189
126
198
175
173
128
201
142
122
191
143
150
197
125
142
219
169
211
176
151
204
176
168
145
169
177
165
196
132
176
206
205
153
188
186
185
128
122
217
198
189
202
163
125
176
165
181
198
220
208
127
193
204
157
210
208
181
220
130
149
171
203
211
148
150
193
202
176
124
200
157
129
139
191
181
170
162
216
190
168
189
175
183
185
125
145
160
149
124
125
169
158
141
146
143
114
140
102
113
135
112
137
131
144
129
141
114
146
122
136
145
107
106
112
141
131
112
122
129
148
110
104
148
112
115
132
111
124
137
105
141
106
148
115
144
105
101
130
132
133
101
113
119
124
131
137
146
118
138
139
100
102
102
136
116
111
120
136
142
148
107
116
102
119
107
108
128
137
139
126
111
111
103
104
143
145
110
148
128
121
125
135
146
115
110
134
133
128
122
134
116
149
129
146
127
131
134
133
149
105
103
146
104
104
149
109
150
133
124
141
107
138
115
102
112
106
108
115
107
127
121
127
138
111
146
150
137
100
113
130
141
106
136
106
131
111
112
110
117
144
143
136
113
121
117
122
125
130
143
114
141
146
140
138
126
173
123
194
170
126
152
147
162
185
170
180
137
201
157
156
156
158
220
170
151
202
152
137
137
160
210
212
174
161
180
150
179
178
123
198
153
212
201
131
130
212
175
188
143
152
174
188
120
184
167
135
164
129
187
220
172
159
203
200
158
175
125
168
187
188
194
192
140
151
126
194
182
125
184
176
179
192
145
154
171
165
203
174
182
155
154
176
185
158
198
138
201
185
212
194
141
145
127
158
125
205
165
162
177
181
177
199
124
176
192
209
163
207
158
196
196
213
190
216
154
156
161
132
214
204
133
191
195
158
179
174
219
187
205
220
194
135
163
214
156
194
120
219
126
133
111
129
111
117
118
143
130
103
149
103
138
125
127
139
142
115
149
112
133
104
120
132
146
106
117
119
105
120
143
113
136
103
124
143
142
140
142
121
118
127
130
116
112
114
102
107
108
131
148
126
121
150
126
120
149
119
132
118
107
103
138
105
137
134
105
128
105
129
101
117
131
143
129
133
149
126
114
147
146
130
106
131
144
112
124
133
116
143
120
101
138
148
137
129
145
140
100
147
124
124
118
115
142
120
107
113
113
113
136
111
130
144
125
124
126
124
133
104
150
117
118
106
142
127
142
112
123
138
135
138
127
120
124
105
150
123
146
128
122
115
111
108
140
168
193
163
144
217
191
189
154
160
184
130
180
210
151
202
199
148
122
124
129
171
142
176
220
189
124
173
140
193
145
154
211
189
214
161
184
120
209
162
155
183
148
141
165
218
156
135
125
177
200
219
208
138
196
189
197
177
154
175
168
190
141
197
121
138
158
191
180
140
192
136
126
134
120
212
159
193
161
171
169
205
152
127
199
197
175
199
215
193
146
216
150
194
146
185
122
134
147
151
182
197
208
171
126
163
213
210
196
167
194
145
122
160
125
147
124
211
220
170
123
155
177
150
161
201
145
215
218
198
191
120
135
170
201
214
173
199
134
169
142
149
123
126
144
130
140
152
153
136
171
209
128
130
211
181
133
152
121
204
137
200
218
169
204
180
219
197
179
206
148
116
147
147
112
145
123
124
120
104
108
136
137
144
114
120
116
139
133
133
146
115
144
150
137
101
143
128
140
141
146
100
116
120
141
101
132
146
116
143
146
103
131
121
121
120
117
130
150
148
102
135
103
150
137
129
113
130
147
121
134
110
131
113
148
115
117
140
125
125
102
131
150
137
130
131
140
110
138
134
122
127
136
137
116
102
125
106
142
115
128
123
124
118
105
142
132
116
101
107
136
116
123
110
133
101
126
103
112
132
100
116
116
124
143
107
140
146
136
116
100
121
147
105
120
109
146
114
129
109
122
148
101
144
131
127
108
120
136
122
140
146
143
133
117
145
143
159
151
129
167
148
195
204
205
188
146
197
205
129
180
202
150
174
145
198
165
137
211
138
124
167
180
213
197
200
188
134
139
217
192
136
158
121
174
172
136
130
134
169
166
152
198
157
182
177
184
181
174
203
152
219
180
192
150
177
212
152
195
198
193
137
171
217
209
133
131
202
123
133
162
179
176
148
182
216
132
191
217
156
194
167
149
213
209
195
200
211
201
177
218
133
220
165
128
140
164
195
140
160
128
219
188
157
166
167
124
137
220
142
203
149
127
193
203
139
122
171
212
153
198
169
210
180
176
165
148
176
168
218
196
208
167
177
152
208
196
137
204
183
140
213
146
163
136
147
213
158
188
137
159
155
198
184
160
211
128
185
124
147
110
127
107
103
139
137
147
149
100
120
129
114
120
127
107
130
140
132
142
101
117
111
112
147
126
116
130
147
133
149
141
142
122
118
106
137
106
150
132
102
108
106
125
133
135
119
146
146
115
127
122
104
147
108
114
116
116
139
110
127
115
113
139
105
111
134
131
118
129
126
141
120
132
118
103
106
123
125
139
134
127
147
124
120
107
104
140
104
130
133
137
138
113
117
107
144
112
104
140
150
106
134
117
100
102
123
141
129
136
121
129
126
101
109
128
138
133
121
110
104
109
149
136
144
111
124
105
134
115
143
127
110
117
114
112
121
133
128
146
115
104
103
104
130
104
145
118
115
135
101
126
136
133
105
139
137
147
134
128
214
197
156
164
170
196
181
210
158
197
199
195
194
178
123
130
174
159
212
140
205
218
220
150
122
143
150
195
191
170
192
141
134
155
180
197
187
210
202
213
120
123
195
132
187
144
152
197
220
161
147
201
121
178
201
155
164
194
148
147
126
132
194
181
126
163
167
184
148
177
195
170
123
199
194
208
154
127
174
181
129
148
183
188
209
158
202
175
165
166
167
146
182
195
190
156
192
179
133
216
209
159
136
128
161
206
171
210
129
165
198
185
209
159
123
166
181
151
135
193
170
211
198
179
214
170
169
165
158
183
128
125
160
156
199
200
132
196
217
141
125
177
157
167
218
124
172
144
144
209
191
125
219
127
141
141
133
183
175
201
157
164
137
187
144
204
210
176
208
171
108
147
148
148
113
110
141
123
116
124
140
144
128
144
124
149
146
138
117
118
112
133
133
145
130
100
113
135
120
141
132
122
140
145
111
103
110
101
142
122
110
124
116
139
136
138
114
131
137
130
134
120
123
117
101
113
124
135
118
101
139
132
149
102
148
110
125
118
146
110
120
131
133
143
131
149
145
145
130
143
109
147
118
134
144
145
149
145
128
142
102
117
108
111
116
119
111
141
132
102
132
105
139
141
102
140
140
149
134
148
127
130
146
130
135
115
148
129
120
112
101
106
149
118
135
131
102
103
124
145
131
107
126
145
117
107
129
186
178
139
192
168
145
205
157
129
213
145
151
171
189
194
174
120
206
201
134
158
159
120
217
215
196
124
199
218
164
209
213
204
122
125
154
121
203
196
169
215
123
214
190
193
180
152
155
191
209
160
193
164
153
140
160
127
213
165
216
176
144
155
163
204
166
203
188
134
165
160
147
168
192
184
209
169
196
127
171
191
134
138
126
143
211
177
183
166
182
206
144
122
154
152
206
167
174
200
165
217
167
121
148
162
199
215
178
136
184
167
155
198
167
205
163
204
189
141
120
149
130
196
200
152
199
122
209
158
220
213
154
146
175
139
126
148
115
111
144
140
133
142
133
123
118
117
114
138
121
100
134
128
103
135
117
124
100
143
116
131
131
125
135
140
147
111
120
121
129
116
128
132
130
108
122
129
134
129
150
105
111
134
130
121
125
118
112
117
129
126
119
100
137
129
126
134
122
128
121
111
103
102
147
146
130
135
146
101
101
132
143
101
123
113
141
115
113
101
148
124
141
145
128
103
113
140
150
122
122
148
105
125
142
107
143
143
122
130
102
110
103
149
107
118
127
100
110
104
139
139
145
138
129
124
118
101
140
118
104
131
139
146
134
146
135
141
105
112
121
119
125
111
105
146
143
126
103
114
114
102
124
108
140
130
143
174
135
155
135
129
188
143
171
166
134
148
124
154
125
120
202
220
205
124
162
198
163
161
218
213
160
177
167
195
189
159
185
217
195
203
207
175
163
192
204
211
162
217
180
169
195
206
122
180
190
167
164
165
154
150
137
120
144
141
152
183
161
189
210
197
169
212
142
140
209
203
192
137
178
195
189
208
184
195
154
160
209
122
135
140
157
199
213
152
148
215
140
216
220
137
165
203
128
214
209
144
209
132
169
214
167
215
199
216
214
157
212
172
134
153
178
202
199
150
184
176
185
220
218
215
153
141
131
216
143
175
126
171
121
184
120
164
127
109
105
122
123
106
120
133
128
130
126
119
149
123
116
105
114
137
104
121
132
142
103
126
129
137
147
132
103
111
118
106
127
132
140
101
136
111
142
100
127
101
145
109
115
134
102
109
116
113
143
117
131
111
120
148
109
100
140
128
109
136
102
117
114
110
146
104
128
100
110
142
148
119
120
148
113
146
149
133
130
117
135
119
149
139
107
146
125
109
114
136
115
116
101
110
140
110
115
110
114
110
123
126
138
141
117
110
132
133
102
110
103
113
106
133
144
115
142
147
141
107
137
103
129
137
122
114
103
127
130
148
120
128
143
144
141
124
139
214
201
146
169
145
207
170
127
202
120
142
148
170
148
185
129
210
143
151
162
139
219
189
199
186
131
138
211
134
174
140
187
175
192
149
173
206
176
202
200
173
131
184
194
191
127
217
173
182
154
200
171
189
153
189
178
168
149
219
200
217
122
145
126
139
170
175
147
134
164
139
203
185
219
214
143
190
167
165
172
143
162
169
215
128
163
160
209
176
219
167
190
145
188
127
141
190
129
168
158
192
209
142
144
216
121
180
164
198
190
144
190
215
160
138
132
198
145
164
149
154
210
146
197
209
160
214
214
194
201
127
130
139
218
202
131
180
200
173
192
168
152
134
213
196
207
220
143
211
208
185
134
155
160
143
203
207
204
152
174
203
178
192
182
181
218
178
193
199
218
133
147
111
149
147
107
146
145
104
127
140
112
105
120
141
145
148
136
106
116
124
150
131
105
122
113
116
120
121
112
103
104
110
108
143
134
120
106
112
112
113
144
129
140
100
140
149
109
137
100
114
113
129
108
149
124
107
126
132
148
113
116
146
144
137
123
135
100
124
115
113
145
117
123
100
104
136
128
127
126
118
150
134
103
102
138
127
106
129
114
108
120
145
106
113
123
101
101
130
102
131
130
100
119
100
101
115
127
107
116
120
105
104
132
130
129
137
127
141
147
104
143
108
110
109
140
131
146
104
132
135
131
136
102
114
115
118
111
140
120
133
106
107
100
126
133
131
144
107
102
128
117
103
120
123
106
100
113
140
106
114
141
130
105
143
104
142
102
197
186
144
140
216
209
129
216
148
211
215
185
208
177
169
199
146
152
176
213
130
177
178
199
141
143
190
127
131
160
173
163
212
190
175
209
154
173
179
125
168
134
203
188
198
164
156
144
161
193
162
173
188
177
122
150
215
140
219
130
148
161
158
126
134
191
215
121
219
180
185
156
164
211
171
125
209
143
122
207
182
199
166
141
207
185
215
120
162
125
123
201
187
211
171
140
179
211
170
214
161
163
136
144
203
134
148
159
212
164
132
174
134
146
151
209
217
206
181
135
148
133
212
183
129
175
180
140
191
212
151
134
217
137
125
215
218
157
153
154
191
159
155
155
163
118
134
114
143
110
116
149
146
114
117
144
128
116
107
102
100
113
145
102
150
110
114
139
118
120
119
112
108
140
116
116
134
129
100
132
140
121
119
139
125
111
101
139
144
107
139
132
111
142
149
108
118
121
138
105
148
117
123
130
140
131
147
143
120
150
129
150
140
114
149
140
100
143
127
139
120
146
118
123
146
141
108
142
115
102
106
131
107
134
133
111
145
139
121
126
144
124
144
127
102
110
112
140
144
132
120
140
115
142
128
126
149
119
102
112
115
106
148
143
139
107
134
148
118
117
135
144
102
110
134
113
114
109
120
108
103
126
144
135
134
138
144
114
136
104
131
110
117
105
135
112
110
145
122
129
109
117
145
125
125
146
116
127
108
122
132
115
192
191
186
156
161
159
181
198
202
168
197
189
201
188
165
219
146
177
125
138
216
161
189
187
214
139
168
201
185
185
184
204
153
146
163
201
138
217
152
192
201
206
129
176
211
170
199
178
159
134
207
141
122
134
197
153
153
128
165
151
191
216
145
126
179
217
151
204
179
140
202
157
133
193
209
157
183
124
160
168
132
218
194
132
152
155
153
158
154
165
122
167
161
140
170
204
121
169
141
208
136
174
134
130
152
182
146
138
174
206
201
124
137
157
155
199
123
174
201
128
157
133
143
165
181
172
137
204
217
159
127
160
153
155
126
183
134
188
203
144
158
121
132
138
137
174
135
143
122
109
144
140
108
132
150
127
132
128
128
114
107
136
136
150
104
115
132
101
126
142
102
102
101
138
117
135
115
104
131
111
109
101
126
136
148
102
114
119
109
146
144
135
145
103
141
140
135
130
114
139
111
128
147
143
100
120
109
113
135
114
129
143
102
146
148
103
133
131
103
104
123
143
128
143
137
107
107
101
127
149
102
111
115
144
101
108
101
139
115
109
110
106
105
107
131
143
143
132
122
135
146
121
125
121
127
147
142
150
105
128
117
125
106
141
136
112
104
146
149
146
103
137
147
109
139
143
102
122
135
149
140
148
130
118
107
123
141
140
136
109
135
109
108
114
147
147
110
104
133
115
113
149
138
108
119
148
135
147
132
116
123
127
100
135
208
152
160
164
147
209
188
209
142
172
133
167
129
156
205
179
159
178
177
129
167
144
209
201
132
149
134
138
172
201
214
193
175
217
187
181
219
193
171
140
184
126
174
192
201
180
142
162
151
141
168
142
177
133
133
216
135
178
120
187
198
125
165
148
176
163
167
134
154
145
154
166
174
165
147
153
183
120
213
180
186
193
204
202
143
212
214
133
198
174
150
197
189
206
218
125
155
179
177
198
167
135
132
204
160
150
138
219
206
208
184
132
217
175
208
152
217
124
167
215
166
220
206
150
190
140
163
131
186
160
216
156
187
159
135
125
207
141
126
220
195
164
154
167
192
120
148
206
181
123
147
134
216
202
166
154
170
147
201
129
150
206
130
166
135
130
173
119
113
137
114
137
149
139
111
150
135
126
149
142
123
147
132
142
127
136
125
106
101
131
138
110
112
127
113
112
126
122
121
104
135
105
104
127
123
124
111
124
138
136
116
100
107
115
127
101
149
109
123
126
130
145
108
132
133
101
135
144
149
116
140
144
129
135
117
124
131
116
136
126
101
136
120
120
136
145
115
140
102
132
115
113
123
108
135
118
144
127
130
102
101
109
147
108
127
142
134
111
137
136
100
139
113
111
121
149
121
108
100
131
123
103
134
123
108
137
134
109
101
130
105
131
133
140
115
139
113
141
133
100
141
122
134
104
138
200
184
158
179
179
120
158
136
125
166
152
180
210
126
121
125
207
168
180
199
135
184
125
171
204
174
154
192
197
210
153
154
182
126
157
220
164
162
206
179
203
192
122
138
125
170
126
176
121
165
167
206
149
149
141
194
146
212
181
127
157
218
188
201
191
137
123
169
123
143
162
220
167
184
192
207
188
159
160
214
184
150
191
181
172
199
155
193
162
210
166
124
162
214
190
195
181
172
124
181
173
198
133
176
193
194
147
152
149
209
174
147
146
171
144
143
148
143
185
161
130
147
169
136
201
150
167
122
161
175
219
195
190
154
141
166
158
202
148
157
153
197
145
177
184
178
190
201
129
189
135
198
150
139
209
194
107
104
142
138
105
144
129
125
120
137
103
100
147
143
119
116
130
100
107
108
143
147
140
137
135
137
144
143
117
122
149
114
109
139
104
144
136
103
146
128
149
115
149
102
106
133
104
127
119
136
106
135
147
115
129
102
145
133
124
127
114
115
114
150
106
149
145
134
104
137
117
100
150
150
110
133
139
107
147
132
121
131
146
120
140
132
146
129
120
127
120
139
128
114
150
132
117
101
142
142
147
139
131
134
109
120
100
108
121
134
125
120
120
135
150
108
121
129
137
127
104
136
105
106
142
136
110
109
106
140
106
109
116
145
125
186
209
207
153
186
190
139
186
135
199
184
168
121
164
196
194
213
146
120
150
147
130
202
131
147
195
205
210
209
196
136
172
176
211
165
184
160
205
212
193
190
199
180
204
152
146
122
132
176
181
184
178
210
217
158
176
168
166
208
204
143
204
164
217
214
187
163
206
197
124
195
192
182
172
220
125
169
169
173
215
205
150
173
167
217
134
211
163
159
215
210
220
180
166
193
186
209
214
170
170
165
218
219
196
133
155
219
139
160
122
134
181
197
145
214
136
191
210
214
127
156
141
177
192
131
127
173
169
208
165
175
153
198
141
150
133
117
101
136
142
138
123
146
134
104
149
110
112
136
110
127
147
124
104
123
133
131
109
102
117
115
147
140
110
101
101
135
141
142
117
123
111
113
115
134
107
142
126
147
143
112
120
103
124
135
105
119
139
135
102
139
136
125
121
142
111
118
139
112
105
114
108
146
105
115
149
100
143
138
107
113
134
136
101
126
133
146
114
144
149
110
148
135
150
144
144
129
117
103
108
118
114
101
133
117
127
102
118
112
134
114
144
122
146
146
106
110
117
105
106
140
130
143
119
100
132
119
107
136
113
107
136
119
125
122
123
107
150
116
135
110
146
120
114
150
140
139
126
111
116
140
121
110
105
135
116
141
145
143
139
146
109
131
129
143
147
107
142
112
127
143
121
102
119
107
108
122
154
204
138
174
204
149
212
214
123
167
165
183
199
163
133
146
152
187
173
158
179
201
175
210
182
214
195
153
181
212
129
153
146
176
162
187
165
124
147
121
129
157
183
122
220
199
195
166
208
170
142
216
190
137
141
212
153
148
132
205
171
214
168
151
219
163
197
176
183
131
173
167
166
215
198
179
161
191
191
187
187
189
174
198
155
183
124
189
217
211
151
142
163
163
151
162
175
173
194
167
128
212
166
201
122
147
214
187
132
152
141
183
211
136
146
133
208
123
191
207
138
143
210
196
136
155
139
136
123
178
134
214
220
180
173
205
199
211
151
147
139
204
186
122
144
214
162
125
150
147
139
125
139
150
114
109
115
109
109
103
139
140
144
141
115
128
117
149
145
108
107
119
107
134
112
133
112
109
142
103
141
121
145
101
143
132
119
100
130
104
130
111
121
142
114
105
103
103
133
129
147
139
102
110
144
102
101
108
118
102
150
101
146
144
135
110
100
116
105
136
150
127
125
129
112
103
105
101
111
127
141
128
104
100
119
114
137
123
136
108
121
106
134
140
141
120
125
143
142
118
111
128
149
110
149
106
137
126
139
110
121
110
104
108
102
141
106
107
119
133
148
111
100
105
121
129
137
102
146
111
146
168
208
139
188
176
188
133
197
177
219
177
204
214
212
123
135
184
143
134
196
134
131
136
181
189
169
165
215
152
190
167
200
182
144
176
194
172
122
163
171
121
136
210
198
133
216
176
154
153
219
211
219
188
135
159
201
194
201
143
210
206
182
186
137
168
149
126
132
149
183
165
189
209
127
125
139
198
156
200
185
145
120
175
214
219
220
180
212
186
139
203
134
162
187
168
167
142
122
201
127
129
133
186
137
170
171
153
151
210
198
182
191
139
217
139
168
188
128
174
209
136
133
161
148
202
190
136
160
142
149
117
132
141
102
139
142
121
108
133
123
141
126
134
104
143
115
120
133
140
103
132
124
136
115
127
101
108
119
118
118
124
150
135
128
106
108
102
116
106
148
138
101
119
129
112
147
127
108
131
124
143
127
142
118
145
122
103
104
128
134
126
145
132
102
116
126
120
103
138
121
142
107
113
118
138
104
141
143
110
105
144
130
108
137
142
107
131
145
135
135
117
111
111
124
148
122
146
112
138
134
105
143
140
101
137
108
124
118
114
133
138
100
109
108
102
119
116
117
136
128
128
100
133
120
116
112
112
146
143
127
119
144
107
165
142
160
211
202
162
159
123
211
126
165
206
128
141
187
196
214
154
128
144
210
210
217
180
187
172
158
149
152
122
202
158
182
197
185
194
177
137
215
200
177
161
213
163
174
126
142
220
154
123
204
202
190
139
147
171
171
186
211
205
129
217
150
188
161
189
126
173
219
136
143
161
218
220
168
213
157
140
180
140
145
162
152
165
193
162
122
214
191
218
142
156
123
181
130
133
131
147
147
186
131
215
203
124
181
132
186
183
211
141
153
145
219
156
126
210
128
135
144
197
211
120
192
136
163
155
148
205
207
203
208
206
194
211
160
207
150
171
134
146
141
193
152
163
122
180
147
218
195
142
198
142
174
181
126
176
204
181
122
211
145
126
129
164
178
126
135
210
206
184
216
106
104
112
137
122
125
131
144
121
138
137
127
122
141
108
104
128
133
101
118
144
131
139
149
119
104
116
111
140
120
104
149
122
149
112
103
127
146
135
107
128
119
109
107
103
122
107
112
109
127
115
125
119
118
147
131
145
137
102
122
110
114
109
133
102
136
144
101
125
149
101
139
139
126
140
149
142
120
116
147
145
102
117
140
126
149
148
109
102
128
143
104
124
100
143
102
128
142
106
140
124
105
107
103
149
124
116
124
102
124
136
118
129
114
137
106
145
109
110
104
139
129
105
108
107
117
107
130
122
134
134
100
106
146
108
122
120
144
101
128
101
138
145
108
132
128
110
150
134
102
117
159
133
188
161
167
202
120
158
126
131
127
142
141
197
197
141
188
211
219
196
132
196
160
173
161
171
136
162
145
163
162
143
217
148
127
214
160
181
198
159
197
181
143
134
137
215
200
214
169
181
128
208
135
200
201
211
210
127
160
170
186
204
129
138
212
180
162
186
220
142
179
188
190
177
200
194
195
186
192
197
202
166
178
201
199
205
161
125
169
126
154
187
173
129
191
176
209
166
211
185
213
167
141
145
209
162
207
128
123
217
156
165
218
220
205
172
123
158
172
125
181
201
199
129
187
177
203
150
199
162
127
186
202
170
177
171
191
201
144
157
123
159
158
162
204
134
123
145
186
147
199
153
135
153
125
198
206
125
140
216
182
180
172
127
122
121
139
137
132
134
132
143
141
112
123
147
104
114
116
136
105
106
140
114
118
130
120
108
147
142
114
127
144
145
141
149
142
144
144
122
127
112
116
150
133
133
145
114
128
137
127
120
134
112
110
143
144
108
141
101
131
103
125
131
105
133
146
126
127
148
146
100
105
131
116
136
126
110
132
148
144
137
144
149
147
117
142
136
124
129
119
126
113
117
128
100
112
132
118
100
137
118
111
143
123
117
138
145
119
103
126
146
112
134
105
138
143
112
125
129
144
126
103
134
147
141
116
104
123
125
131
129
143
115
137
146
129
145
113
138
121
141
112
126
111
121
112
106
134
108
113
120
141
144
135
139
146
146
108
122
143
109
122
135
118
142
102
106
105
124
129
106
141
112
147
158
210
214
121
145
143
131
209
124
124
196
216
186
144
140
127
155
153
168
139
195
177
121
153
200
151
157
120
122
205
167
187
136
136
141
128
123
175
204
167
196
201
208
188
218
198
133
137
136
140
172
144
144
144
124
186
203
141
194
201
171
167
140
161
185
163
124
206
176
150
189
173
209
131
219
184
188
164
189
213
187
201
143
214
205
218
133
160
142
178
181
166
186
190
209
195
126
186
194
196
195
142
125
203
138
204
150
193
214
126
148
129
141
126
162
198
149
159
176
163
142
123
129
140
171
192
198
192
165
174
185
204
166
197
196
211
133
163
156
130
194
126
144
174
169
167
120
157
148
155
136
165
178
208
201
133
187
216
186
145
167
177
157
124
129
176
183
191
191
129
169
136
144
107
145
132
116
100
142
143
100
129
101
134
113
121
141
125
104
127
123
142
147
147
118
136
120
121
105
103
146
141
133
137
112
120
127
145
148
118
122
147
110
144
150
107
113
144
138
112
146
106
126
146
139
143
145
145
139
111
117
142
138
120
135
129
150
121
137
130
110
132
121
138
102
148
146
119
114
138
148
102
143
128
144
135
144
117
103
145
136
120
144
131
101
116
136
105
109
135
101
141
106
131
149
143
150
144
103
133
142
140
139
109
100
119
132
138
127
104
101
128
127
103
103
135
142
123
137
113
131
106
134
114
140
117
149
139
111
148
116
140
124
146
143
146
125
172
202
126
168
172
199
141
220
147
210
194
130
196
159
120
191
150
169
179
160
143
201
173
134
192
175
172
190
132
204
199
213
178
146
212
125
136
211
140
219
130
198
202
168
210
133
146
172
188
152
163
148
187
199
120
199
125
180
132
161
121
175
134
145
144
156
174
166
190
178
128
142
167
215
123
211
153
164
143
163
136
160
194
181
187
129
163
176
212
156
158
148
176
131
220
197
216
194
199
162
164
195
135
179
203
218
211
124
136
171
211
191
209
162
162
132
132
187
130
125
218
202
156
174
152
201
137
161
121
195
121
188
123
155
126
215
139
107
147
107
138
118
136
122
113
135
102
126
133
127
144
129
142
125
100
102
125
114
133
134
135
110
130
123
109
109
104
121
139
114
117
142
119
137
123
120
139
100
119
131
138
132
135
102
137
122
108
135
136
119
123
141
150
120
104
140
148
139
127
133
140
103
115
113
111
134
136
135
135
114
131
110
103
145
125
122
114
132
140
144
136
132
106
127
148
108
107
131
116
117
106
146
124
103
119
149
119
138
142
123
109
106
143
131
114
128
138
107
112
131
111
106
127
139
107
109
100
142
135
128
131
113
111
124
150
118
138
108
130
134
131
133
132
137
119
170
147
123
198
194
190
154
129
189
204
210
201
160
155
196
147
183
219
160
178
157
203
215
168
206
180
191
137
145
210
178
181
144
168
180
199
186
213
218
129
210
188
184
204
131
145
163
207
172
139
165
154
188
185
126
136
167
220
182
182
198
150
155
219
184
217
120
135
165
213
120
192
151
185
131
140
192
163
202
150
169
181
189
162
194
155
205
212
139
171
214
177
220
123
145
208
151
143
161
136
145
145
212
121
194
217
158
220
133
190
168
206
202
138
136
147
140
198
147
187
124
204
187
186
176
155
197
219
163
184
121
153
131
135
205
139
125
168
210
187
217
173
134
204
200
162
130
150
191
144
159
177
171
122
203
138
210
143
218
126
131
201
182
161
198
185
135
175
183
125
195
199
156
105
144
125
112
110
114
111
108
111
114
134
112
147
150
134
130
101
137
145
101
110
146
138
119
100
140
148
125
127
132
137
125
132
139
105
102
117
102
129
110
119
138
140
130
107
125
100
110
107
105
114
102
113
121
144
130
150
124
129
120
149
138
108
126
128
135
113
132
118
108
101
131
138
102
107
125
149
112
109
131
125
112
103
135
104
109
101
110
131
117
108
116
136
138
101
104
115
120
102
136
133
141
101
132
132
146
105
104
107
114
112
122
118
116
113
143
143
125
128
131
117
129
137
113
114
126
136
115
143
101
125
145
124
110
103
126
125
132
142
142
104
123
109
121
112
148
123
124
149
114
110
107
118
113
106
123
132
136
118
131
114
128
104
134
170
140
171
165
139
158
220
208
152
208
205
120
155
187
188
200
209
170
154
142
168
165
216
220
211
156
125
208
170
154
149
162
141
145
133
177
132
158
168
208
205
218
121
133
141
186
124
129
220
196
136
213
183
166
123
180
152
132
202
160
136
197
121
146
137
220
120
197
176
144
184
197
175
150
165
163
128
192
181
142
169
135
165
173
199
158
188
135
137
218
182
193
158
153
145
173
205
174
126
189
191
153
174
214
130
130
189
204
183
197
219
153
183
164
185
197
165
146
152
187
138
216
200
213
186
128
132
151
191
133
205
206
216
193
165
156
214
142
210
157
184
200
187
207
181
201
189
146
137
198
170
139
219
195
147
111
107
108
118
140
107
135
102
117
137
149
100
103
127
121
100
126
112
129
137
140
119
132
103
150
115
137
102
148
135
142
107
104
120
109
113
101
127
104
109
137
100
115
115
139
121
141
124
144
146
146
139
149
130
120
119
139
134
144
126
124
101
150
113
136
134
110
120
133
103
149
150
106
106
145
104
114
141
139
138
116
145
130
125
136
122
101
150
120
141
140
133
122
112
113
147
129
131
113
110
118
132
138
143
123
140
117
126
127
132
133
139
110
143
132
103
128
145
120
107
122
120
149
142
107
119
106
139
146
144
145
119
131
102
149
133
111
150
102
103
133
127
119
127
132
116
111
116
118
116
215
155
142
211
128
173
201
186
143
193
174
217
202
131
136
203
186
164
167
161
139
200
217
141
166
132
151
208
220
121
133
190
174
197
155
122
150
136
145
158
167
193
217
176
171
122
151
187
196
192
145
140
217
164
215
178
125
159
210
139
147
146
204
186
175
128
157
156
158
171
182
191
159
167
151
125
213
133
136
211
132
195
145
211
148
202
211
141
204
186
186
190
164
207
128
156
189
192
132
208
199
185
125
182
197
151
212
160
125
161
182
166
186
138
147
143
206
141
156
199
199
175
147
130
218
151
167
181
140
216
133
193
184
183
199
187
213
202
196
180
113
105
131
106
142
142
148
121
145
117
118
145
119
146
113
107
149
138
125
107
141
116
112
112
133
103
144
150
135
105
135
106
143
124
144
142
145
102
135
113
147
143
139
145
146
114
108
114
128
143
118
101
132
118
105
108
142
108
146
120
142
133
144
128
132
130
125
101
142
108
127
140
149
144
107
141
111
150
134
125
103
100
149
133
125
120
143
119
136
110
147
103
111
109
120
115
120
118
101
112
136
131
105
149
141
108
115
122
107
107
128
120
101
128
130
137
107
147
112
138
102
100
113
118
118
130
120
138
100
126
114
125
137
145
138
121
140
130
149
145
108
132
117
149
135
107
132
120
144
135
117
113
120
107
103
109
131
136
135
135
134
136
120
133
108
149
121
141
146
139
127
136
130
123
219
196
181
171
162
123
155
146
122
174
166
167
162
199
124
129
208
197
173
187
167
149
184
175
120
206
144
163
123
122
172
155
156
212
217
197
160
220
200
132
166
139
154
200
143
154
167
138
134
178
136
210
174
147
126
206
131
207
141
206
138
192
169
158
131
134
122
156
169
178
198
183
199
133
195
128
127
209
131
175
147
130
170
143
165
187
207
149
126
214
173
202
131
208
154
219
206
152
121
186
146
125
195
152
160
122
144
210
203
121
214
157
218
144
207
183
155
169
165
130
175
186
180
164
138
203
139
202
191
172
132
189
186
187
135
127
190
205
208
126
132
132
103
124
101
144
100
115
131
146
139
150
133
143
118
127
114
149
145
108
150
143
115
121
147
150
136
126
128
139
141
150
134
137
146
143
137
135
113
101
132
106
122
119
114
139
130
109
122
101
131
101
112
124
108
132
132
102
121
137
142
110
131
114
107
100
123
134
132
106
112
136
139
101
150
109
118
115
121
150
108
116
133
135
138
102
130
109
131
149
143
104
111
110
144
114
124
139
117
128
105
132
141
132
111
134
142
106
115
119
125
127
148
136
120
140
108
129
130
147
124
148
107
120
144
134
142
130
146
103
131
143
119
135
105
100
100
104
127
101
149
120
129
124
140
123
144
149
149
128
103
149
130
148
148
140
102
137
140
136
110
117
107
140
121
141
116
131
101
109
125
123
176
210
185
176
192
138
159
121
207
158
210
155
174
177
152
202
178
185
195
141
138
198
216
198
217
130
197
161
190
149
127
211
157
154
145
190
216
161
205
120
173
128
122
153
218
195
147
124
153
196
145
191
166
218
192
168
132
208
124
180
141
158
144
210
210
156
175
217
179
151
136
166
144
199
129
127
135
181
188
137
188
220
135
166
127
123
121
148
218
185
146
174
182
182
217
140
140
134
149
184
189
177
217
160
163
136
133
171
184
164
134
216
146
218
166
124
162
176
190
206
201
175
156
204
168
144
208
185
126
158
122
133
181
207
158
123
133
173
129
187
182
140
149
148
117
108
120
103
115
143
111
112
122
123
118
136
124
116
130
147
123
134
140
120
135
130
102
108
118
121
139
125
101
121
147
148
139
109
146
125
117
109
105
133
128
117
125
107
121
128
121
117
102
111
142
104
122
143
131
101
124
147
105
104
106
141
131
116
104
143
139
130
140
135
138
134
147
117
105
122
134
132
146
119
135
137
109
129
134
137
133
121
107
116
102
130
104
116
112
117
110
119
124
119
114
132
106
107
138
149
101
128
102
150
114
146
125
135
106
104
142
141
143
127
144
110
146
132
109
120
118
134
105
134
146
184
127
120
161
216
161
182
182
204
179
180
174
159
151
123
189
187
176
151
162
207
189
145
197
204
165
170
185
123
126
190
170
185
143
189
197
136
149
148
154
173
143
184
130
189
133
182
137
137
154
203
171
176
172
200
189
200
153
216
123
165
160
214
164
142
178
121
171
142
199
210
180
203
203
151
196
187
172
159
188
197
154
218
132
198
143
158
208
129
208
215
135
165
149
219
172
200
182
216
128
186
151
177
209
216
181
139
166
141
179
122
156
214
133
214
151
215
184
132
133
124
138
155
181
171
149
191
193
146
119
146
130
145
115
124
102
115
106
139
139
132
141
105
106
109
128
102
100
112
133
141
122
108
122
134
121
138
105
137
123
130
104
144
143
133
101
141
136
148
109
115
142
115
139
118
104
129
131
142
115
144
132
133
128
119
120
138
125
124
115
139
103
146
142
148
125
114
143
100
148
113
111
105
128
145
123
115
130
130
129
104
121
125
143
143
124
142
121
127
139
108
143
130
143
101
141
116
118
117
121
120
124
113
139
120
112
138
130
129
115
144
135
115
123
110
115
140
143
143
139
129
102
129
116
108
144
144
128
106
148
146
150
138
150
151
138
126
161
202
158
162
141
142
196
146
208
209
216
208
203
148
212
199
123
214
137
182
196
135
199
146
124
211
131
163
201
163
218
219
183
187
156
161
173
180
199
195
184
126
220
213
139
159
166
145
122
181
170
137
175
169
128
167
179
146
143
142
164
162
195
147
215
197
166
152
133
161
191
215
134
184
213
211
129
145
216
197
204
181
173
141
163
219
191
162
123
200
182
164
210
158
151
140
183
144
175
153
129
175
185
126
139
148
141
169
135
210
189
124
197
196
157
128
187
207
169
123
135
204
129
194
219
127
184
154
171
178
206
195
176
178
126
181
215
192
211
212
139
205
124
212
125
220
143
205
138
205
168
191
211
140
124
162
186
196
125
144
165
211
186
124
147
111
134
117
131
125
149
124
138
118
113
133
129
138
107
140
107
123
130
139
121
124
141
106
146
103
116
102
100
116
115
106
128
110
150
122
117
109
129
110
107
139
127
135
134
121
127
128
144
138
104
150
127
129
146
118
105
140
109
143
109
120
138
119
111
102
150
127
144
139
136
105
150
126
104
139
146
104
142
123
101
125
119
107
111
125
116
114
119
140
107
131
113
127
145
109
120
145
111
125
148
138
105
149
140
123
112
103
108
136
128
110
111
129
106
119
140
100
123
112
147
126
145
144
123
103
109
105
108
132
107
106
104
143
130
114
112
122
134
116
118
148
108
121
112
135
121
110
146
128
125
119
125
211
150
206
170
166
199
182
167
147
171
182
128
155
148
182
159
160
207
141
123
128
184
181
220
153
164
142
165
127
135
208
153
206
147
173
152
174
166
220
131
157
182
125
144
178
214
162
163
220
194
153
143
187
171
122
168
127
189
166
139
134
188
175
196
144
130
187
129
171
158
126
130
152
183
125
162
220
142
167
206
123
135
182
218
152
198
123
142
121
188
170
144
173
211
185
173
156
135
173
149
185
174
186
175
203
144
159
152
122
154
183
220
124
149
213
214
180
206
216
158
131
130
218
121
217
156
193
162
168
169
167
104
126
104
122
137
123
118
105
133
111
139
123
133
148
134
100
125
148
116
147
142
107
133
115
103
142
123
116
103
137
146
112
146
125
140
140
123
141
107
115
137
129
121
135
105
122
116
141
110
111
143
136
138
121
142
141
143
116
132
128
147
142
118
112
132
137
125
131
108
100
150
133
118
110
124
142
133
100
107
132
102
143
146
129
113
122
101
128
145
102
110
136
130
129
132
142
102
133
114
118
113
145
129
127
142
116
150
147
131
127
129
114
148
142
120
125
105
106
136
144
137
134
125
116
141
100
114
143
132
126
181
135
142
218
194
210
149
127
153
183
214
213
173
139
163
137
129
187
121
217
201
141
138
200
148
204
130
216
209
211
173
206
194
170
136
141
171
125
136
161
141
168
160
141
178
156
145
123
135
162
183
188
194
144
176
146
177
204
175
140
136
148
147
204
206
138
155
200
167
169
186
212
210
211
191
179
168
147
176
183
174
178
216
220
178
127
129
140
140
162
217
145
171
195
193
212
212
198
162
124
187
160
210
129
137
159
162
169
160
125
185
190
157
120
186
164
158
159
193
160
153
212
205
186
154
173
154
206
218
163
187
208
165
170
219
178
146
147
100
134
122
133
112
116
130
105
123
114
118
111
122
137
124
136
109
118
116
132
121
145
135
143
137
122
143
140
118
107
133
100
135
125
114
127
145
100
119
130
107
102
145
149
145
116
142
136
127
127
125
102
148
150
132
107
100
116
147
132
106
134
100
144
149
105
114
139
107
102
120
137
148
139
119
143
107
115
133
126
128
119
121
144
141
141
115
142
134
121
136
115
150
113
118
115
119
124
140
102
110
123
118
105
144
127
104
137
101
136
136
116
117
112
107
138
129
125
111
131
108
147
142
122
147
130
142
109
149
100
105
103
117
117
109
107
146
115
102
140
150
134
119
144
123
108
114
118
116
149
190
163
137
179
212
179
161
158
168
151
154
180
130
186
170
138
187
124
125
127
155
194
177
133
123
153
201
196
194
140
193
151
168
130
172
163
131
182
122
217
195
180
124
175
200
211
211
200
220
121
149
185
216
209
164
161
190
177
210
184
212
143
156
171
142
132
154
154
192
125
214
121
213
218
161
158
155
208
205
205
147
201
128
152
197
185
176
192
131
212
177
190
212
172
121
195
217
187
193
185
139
211
121
181
123
210
192
217
177
200
211
174
130
170
212
196
134
135
165
205
189
207
208
146
178
189
167
190
150
124
144
124
128
112
100
107
133
122
118
109
133
149
135
117
103
128
123
116
106
124
125
128
132
106
115
126
111
115
104
102
141
136
133
125
104
132
111
129
147
150
135
128
126
111
120
130
125
104
134
128
139
104
135
137
110
134
128
144
141
121
133
142
117
134
114
142
112
128
141
129
120
128
105
101
129
106
133
110
141
114
140
104
107
135
142
112
118
107
126
139
131
127
135
132
128
143
124
148
109
128
116
139
135
131
132
140
132
147
122
124
125
108
132
147
119
145
150
116
127
108
146
112
133
110
139
123
145
123
111
105
145
133
137
145
147
119
129
101
115
127
105
139
133
136
122
144
135
114
142
138
133
143
136
108
102
115
108
111
129
148
150
104
111
186
150
133
197
201
156
129
202
163
177
207
168
159
146
135
147
157
213
206
157
148
170
219
148
137
164
200
143
184
212
131
130
147
128
167
156
182
200
184
148
179
164
201
209
140
155
133
121
148
199
196
203
202
173
161
181
177
140
193
193
122
191
166
166
151
162
157
206
167
132
163
148
144
133
168
161
145
167
176
178
173
132
215
153
166
153
142
189
193
126
204
199
149
141
200
149
208
120
175
199
148
122
171
211
208
216
194
198
137
138
196
211
124
197
139
212
214
209
217
139
193
173
175
199
131
160
202
186
150
118
127
142
105
146
149
144
122
108
128
119
134
106
124
116
101
131
144
129
135
131
132
132
106
107
149
132
142
117
123
106
111
114
108
125
113
137
122
112
147
131
135
144
135
150
141
103
101
136
114
144
106
107
100
119
116
136
142
127
106
113
149
109
133
102
106
132
108
124
137
117
105
106
100
149
149
109
114
112
128
118
129
116
106
100
127
136
147
112
112
139
132
104
140
145
108
128
101
150
138
102
132
109
134
114
143
133
109
135
121
102
147
137
139
137
146
140
134
124
103
114
134
105
149
124
112
128
133
145
107
120
140
109
108
148
104
140
108
150
114
101
139
134
119
116
101
130
142
113
124
101
127
147
122
146
110
133
147
146
201
209
139
210
155
220
134
151
132
213
156
164
134
194
121
144
179
185
154
166
190
166
177
141
136
220
212
218
173
200
149
127
130
191
142
131
150
177
148
157
177
127
147
144
158
163
188
120
169
215
200
157
210
218
186
193
159
137
203
213
136
218
138
163
125
176
158
217
163
143
164
184
210
124
166
203
120
143
133
213
122
210
212
162
136
186
123
141
177
218
135
209
194
187
210
166
131
126
125
165
150
209
137
193
166
128
187
204
136
209
180
149
151
208
183
156
219
189
171
146
163
137
170
192
171
163
151
207
208
121
144
220
155
205
136
187
132
147
201
125
146
154
156
207
149
137
104
139
109
107
137
149
104
134
144
104
123
141
136
118
103
100
114
132
135
132
126
100
120
132
140
142
106
117
104
120
150
102
136
130
115
121
140
103
107
135
131
134
138
142
116
138
102
113
125
105
103
108
107
117
149
150
101
136
122
140
114
140
134
134
100
146
101
126
144
101
120
108
142
116
107
143
107
111
112
140
120
115
107
146
130
111
142
109
100
135
101
122
111
146
141
120
129
123
122
104
150
148
127
139
137
106
127
141
143
132
116
149
123
109
132
130
117
147
102
136
143
109
138
111
130
139
111
143
103
128
108
146
108
122
101
101
100
138
114
143
110
120
124
135
137
129
139
138
131
141
139
120
146
139
145
128
127
102
136
112
148
102
119
115
121
151
181
184
210
126
133
159
183
211
201
183
183
139
142
162
199
217
131
205
125
173
202
205
120
193
177
128
125
180
199
136
135
207
211
136
123
200
169
122
123
160
129
204
217
139
120
161
172
183
214
216
191
205
208
172
145
158
160
200
206
191
170
179
184
218
128
134
157
208
155
170
151
198
139
161
216
143
215
215
217
122
192
145
142
150
203
165
189
199
165
159
179
190
188
167
220
194
141
136
171
172
219
210
158
205
147
168
194
219
124
205
147
165
143
175
188
169
215
125
210
186
199
135
152
138
151
139
200
126
195
215
175
203
211
145
214
133
209
168
136
156
141
146
210
188
185
206
127
209
152
164
137
220
173
209
205
151
163
205
165
132
135
101
137
104
113
105
149
129
135
111
109
118
128
108
120
117
146
110
116
107
127
120
105
135
136
127
133
113
130
105
132
116
144
121
101
114
142
104
105
103
103
139
112
146
103
107
135
137
108
140
148
132
148
144
129
143
134
110
149
103
101
118
122
132
109
138
117
147
143
129
124
137
140
104
112
144
144
110
135
124
137
134
135
147
141
123
115
142
104
111
109
134
111
113
135
108
145
137
130
148
134
100
134
120
147
129
132
141
148
136
150
125
138
150
130
136
146
112
140
126
137
113
106
125
138
135
133
105
102
111
139
135
110
134
120
143
125
142
131
145
102
123
144
148
114
129
149
123
139
123
116
136
110
102
126
191
178
130
212
145
162
144
124
148
164
194
210
142
170
166
166
203
158
149
135
159
199
151
136
151
207
187
174
161
189
129
181
173
207
166
212
159
146
210
127
140
180
133
183
208
164
200
139
136
191
173
129
197
169
201
209
135
128
131
129
160
162
174
217
181
209
215
197
208
130
173
213
159
184
123
149
127
154
194
148
210
217
147
157
126
155
131
127
210
128
141
146
175
148
136
199
177
148
197
146
174
185
168
122
143
218
137
145
144
220
216
128
148
186
145
169
218
203
175
148
137
152
150
152
200
186
190
149
165
185
150
179
209
134
183
135
179
154
210
122
197
207
207
205
158
203
192
129
197
204
206
181
169
143
141
127
101
129
128
119
121
108
135
148
140
100
124
120
131
135
105
116
118
137
128
135
142
133
134
115
143
142
107
121
138
147
102
144
142
141
150
148
130
120
100
103
144
111
118
106
146
113
124
120
135
127
124
144
138
137
138
118
139
143
145
105
121
141
127
113
146
134
133
103
110
145
121
146
122
131
141
120
146
103
118
106
135
139
136
135
145
136
112
142
148
144
141
142
114
107
130
108
112
147
126
116
102
100
137
133
126
149
130
134
123
123
136
133
108
117
110
117
142
137
138
139
100
129
102
137
104
136
111
111
126
106
116
149
111
112
147
146
114
134
103
119
147
145
145
129
135
135
135
149
122
103
168
160
156
126
130
188
216
145
124
206
143
211
132
163
206
220
216
127
211
197
175
161
153
220
189
197
171
122
195
128
195
157
120
126
167
147
161
157
212
215
203
215
150
125
154
130
185
136
202
220
170
160
168
145
180
177
153
136
133
171
218
125
141
153
210
169
145
216
171
133
184
170
136
189
186
214
157
197
151
145
212
204
211
169
162
198
144
219
143
198
182
136
141
190
161
151
205
212
152
163
141
172
156
203
173
186
214
180
160
158
217
163
192
150
210
149
171
186
187
139
216
219
158
218
197
203
190
147
136
165
200
129
120
213
200
189
188
169
207
132
115
121
119
140
124
128
121
110
147
130
103
121
136
150
123
139
134
130
144
139
124
127
130
114
136
144
114
121
114
135
135
110
104
132
139
113
118
114
121
113
130
105
115
109
124
135
150
121
107
116
142
124
120
129
142
126
147
130
143
104
149
113
137
117
124
114
130
118
134
109
145
148
131
124
110
134
101
135
125
129
127
112
147
103
107
149
147
107
100
114
140
118
106
122
110
147
100
106
114
135
120
112
120
125
137
113
129
131
139
140
137
120
129
134
112
122
146
147
135
104
119
112
115
146
132
109
110
128
131
145
107
137
135
148
116
134
119
105
112
110
105
109
127
131
131
107
138
119
113
133
133
140
143
121
116
114
127
150
147
101
102
105
145
158
129
134
144
160
129
156
125
191
208
158
177
130
135
181
121
212
182
148
204
202
210
165
141
121
217
156
139
152
217
207
140
162
207
160
175
169
183
143
122
208
134
126
177
183
149
186
172
130
186
218
139
187
199
208
163
131
181
207
178
214
120
152
151
193
214
121
122
120
199
127
182
214
126
197
152
166
155
203
198
183
160
163
126
198
156
213
195
202
136
149
169
164
202
188
132
129
138
139
144
164
153
152
125
138
209
152
208
152
203
137
152
146
177
199
125
159
200
120
172
182
126
171
174
121
213
203
123
152
211
200
190
203
136
137
131
126
204
202
190
185
219
195
137
138
167
120
147
185
121
141
128
169
136
183
199
147
120
215
219
155
173
121
134
134
107
132
102
110
105
135
138
145
112
107
121
130
102
133
146
114
143
148
130
142
113
123
126
142
138
139
148
150
109
146
123
136
127
134
145
145
107
117
140
134
132
103
132
133
109
110
133
145
119
140
140
149
136
106
148
116
132
112
146
124
114
116
143
134
139
137
117
127
137
114
136
143
114
110
115
138
136
116
130
132
107
141
120
145
130
105
123
146
150
150
113
129
142
106
125
134
145
146
118
120
107
139
130
117
120
148
121
114
101
118
124
123
128
141
115
101
150
141
118
123
114
119
104
148
116
103
124
125
141
106
126
105
120
108
147
108
129
104
148
180
142
211
138
214
147
181
184
220
130
204
211
122
212
128
154
200
181
159
145
172
133
178
159
143
127
212
214
185
181
215
166
153
155
173
170
120
201
191
137
211
178
189
218
142
153
152
156
136
207
186
196
189
125
138
190
149
185
134
212
162
156
160
124
144
175
120
193
142
127
164
177
158
200
167
215
198
194
195
163
148
154
128
173
173
215
161
180
173
178
193
158
125
201
149
182
161
154
202
165
141
194
198
200
148
135
135
134
201
213
154
139
170
171
192
164
190
181
145
162
149
178
164
134
131
164
180
123
137
177
139
114
114
102
110
137
109
126
108
108
102
124
143
104
101
150
104
113
139
100
143
135
141
148
132
143
143
116
138
114
125
148
110
129
121
108
131
141
132
115
149
147
138
119
109
131
120
132
118
131
144
108
139
126
130
150
108
142
124
146
111
150
119
136
121
116
145
132
100
108
140
119
145
108
146
111
127
113
138
104
134
101
144
112
134
150
102
105
129
143
133
119
109
106
110
105
124
110
138
104
144
125
136
120
125
142
107
119
147
110
139
120
141
133
128
102
138
102
104
147
107
102
133
107
147
138
121
125
125
113
109
100
143
109
144
138
107
147
126
110
112
100
134
144
126
117
123
130
126
132
187
188
121
209
131
180
179
182
149
185
165
195
155
158
145
180
205
122
205
178
134
197
125
180
215
183
131
166
152
151
159
198
161
192
203
122
195
200
201
166
162
200
144
143
138
220
142
164
169
154
180
146
129
173
134
182
130
211
181
203
121
141
180
123
202
142
212
206
195
121
140
161
140
135
178
133
207
153
149
216
131
129
179
128
168
174
167
150
187
173
217
170
161
192
189
196
141
159
130
142
173
198
152
154
125
188
125
176
214
134
217
189
172
144
208
123
200
171
206
140
205
147
218
216
145
207
184
123
168
174
124
145
169
203
179
157
217
176
170
208
191
135
169
188
145
155
211
196
162
176
198
133
205
147
127
147
184
135
124
156
162
131
139
101
132
140
136
136
102
122
113
136
123
109
119
134
121
143
114
147
121
145
143
150
134
123
116
139
131
108
148
102
131
116
145
135
141
146
106
117
120
126
140
104
115
107
132
121
145
122
134
125
120
120
102
111
108
135
145
125
140
102
142
104
119
122
134
104
137
143
105
120
116
139
125
108
149
134
134
123
121
141
124
149
117
143
117
104
118
136
106
142
138
134
103
140
145
102
143
144
127
133
135
103
110
107
140
108
136
124
112
133
147
102
142
119
136
141
103
147
121
116
138
150
126
147
127
110
109
119
116
120
124
149
147
141
128
109
147
125
117
131
125
217
161
211
159
184
151
173
128
186
186
206
185
121
166
190
175
120
199
148
147
190
203
148
218
193
123
186
211
204
199
198
122
169
135
137
205
210
166
161
150
192
179
157
177
124
165
143
160
131
151
155
145
138
151
130
143
218
143
205
126
167
142
193
187
195
125
208
202
185
186
197
188
124
152
215
184
215
122
202
161
220
146
203
143
122
166
147
216
150
193
151
169
212
166
145
165
175
178
127
212
214
136
168
171
164
160
151
128
139
139
154
177
156
140
182
170
196
160
133
206
138
169
162
179
151
199
138
197
148
153
213
154
195
134
212
183
121
159
126
127
183
189
173
211
143
145
201
159
147
169
186
215
203
218
167
164
212
185
212
153
170
194
121
142
158
144
127
199
128
159
143
164
216
180
122
100
119
114
142
146
119
138
100
109
129
137
145
135
124
115
148
107
107
135
150
122
126
125
150
137
101
123
127
134
108
106
102
104
145
102
125
104
115
144
149
120
138
109
102
136
121
135
111
100
121
149
127
109
116
122
100
110
108
107
105
140
150
147
129
115
119
127
138
119
111
117
145
130
135
131
105
136
112
141
123
146
112
107
109
127
144
133
111
103
132
103
123
120
100
116
123
128
107
120
144
144
107
132
114
108
149
139
106
117
148
129
135
114
126
135
107
111
106
123
129
150
129
111
104
125
115
142
140
105
134
143
200
159
135
170
168
176
174
218
220
160
166
166
160
196
206
127
179
194
174
155
166
195
195
191
139
139
188
145
144
191
183
211
166
202
120
123
196
197
132
154
133
202
203
175
183
176
189
146
124
125
121
130
149
124
146
214
142
140
191
149
152
213
192
140
136
195
125
147
200
216
133
134
145
203
128
178
167
188
142
166
138
144
165
134
176
156
142
198
125
138
142
196
136
211
176
134
170
198
187
124
125
120
194
183
177
134
121
206
216
170
157
150
197
131
120
182
154
204
212
163
128
181
137
218
181
144
193
219
136
101
133
144
137
102
144
130
113
149
141
123
120
100
131
136
147
133
142
113
131
121
144
129
124
104
121
136
102
126
107
100
134
128
149
100
130
127
110
125
146
110
139
119
144
110
121
142
108
109
116
131
125
132
117
144
141
136
113
128
111
140
130
124
135
128
100
148
118
117
130
104
105
110
117
140
127
109
106
106
133
104
115
101
116
121
127
130
147
106
148
150
113
135
132
138
119
128
146
112
117
132
105
135
114
129
125
147
130
143
136
141
116
133
116
122
100
106
121
105
114
115
118
129
110
105
131
117
104
118
127
148
130
118
173
194
126
145
197
200
161
209
200
191
198
159
132
141
214
133
145
214
148
174
195
132
183
181
186
153
196
192
168
169
174
145
176
192
188
132
132
220
209
121
211
152
198
176
150
209
181
191
176
190
184
147
128
145
171
126
167
143
205
168
215
157
122
182
170
184
157
208
217
146
208
133
154
212
146
190
178
161
202
219
132
177
194
144
173
220
143
199
151
133
208
188
131
176
191
210
128
214
218
158
151
166
159
217
175
167
130
220
193
177
201
123
122
205
155
164
178
149
197
164
187
197
125
155
175
172
201
127
151
128
142
129
150
213
173
204
190
144
196
202
168
148
135
146
118
116
115
113
125
103
113
121
131
137
120
125
138
105
113
133
145
118
148
103
144
128
134
116
127
130
118
112
104
104
108
118
143
139
135
142
136
123
141
103
105
100
139
120
129
106
137
132
145
146
110
126
110
134
133
118
134
102
145
137
129
103
102
131
107
114
135
115
141
147
126
115
107
139
124
137
137
130
118
114
126
101
145
112
138
132
127
146
122
129
105
132
139
100
145
133
149
123
112
146
139
140
126
120
138
111
142
133
150
109
124
133
126
137
146
150
143
143
141
127
143
112
149
114
150
146
101
131
124
147
133
125
144
139
113
115
117
131
136
133
112
128
106
126
124
106
141
146
114
135
125
108
144
141
113
105
119
127
126
145
118
104
134
100
138
116
147
122
114
136
164
160
181
130
142
189
212
156
215
148
145
217
168
196
182
144
155
128
184
167
183
214
220
212
162
147
208
218
188
163
141
214
194
142
133
163
166
211
209
208
131
196
150
142
133
211
142
151
163
122
148
165
203
188
120
134
122
128
191
149
163
205
123
195
132
182
160
210
152
130
163
168
187
138
131
192
196
205
197
129
168
213
186
171
184
187
190
219
149
150
196
145
178
169
189
160
153
172
214
150
174
208
175
202
121
219
172
128
187
161
149
163
164
120
148
167
159
196
165
167
158
195
147
140
130
210
175
151
219
163
178
144
162
132
128
200
153
153
219
197
160
159
171
156
174
219
215
163
211
201
199
146
121
167
136
135
149
111
131
125
136
143
142
126
124
146
137
135
140
144
140
148
136
118
106
112
127
103
137
143
139
127
112
140
138
117
136
129
119
139
114
101
117
142
100
140
146
140
139
135
129
126
144
108
121
135
117
142
121
137
113
125
123
146
143
126
146
101
140
149
101
124
114
112
138
105
128
105
136
104
102
124
133
124
131
101
143
123
130
111
132
124
123
132
148
146
128
121
121
132
101
104
140
133
110
127
132
140
148
135
101
109
126
127
117
147
117
150
150
110
150
111
119
149
117
116
105
101
105
104
109
136
132
111
107
202
121
189
170
165
218
179
164
166
156
161
125
179
168
156
186
184
209
220
198
126
159
199
126
202
189
155
166
132
203
172
141
133
182
199
127
209
205
220
181
133
154
167
206
170
192
165
143
188
147
173
207
180
193
164
178
139
205
161
147
122
152
209
176
186
213
172
195
188
203
165
182
162
127
121
205
180
181
181
187
164
136
128
181
120
146
194
198
122
167
154
133
152
210
142
145
157
152
181
151
155
207
154
212
202
218
183
191
160
196
214
175
194
147
150
209
144
132
151
148
146
191
164
146
164
124
151
140
175
146
205
218
206
204
164
208
188
148
131
158
203
123
183
208
192
186
167
151
161
120
145
170
139
145
129
145
120
137
133
112
106
118
116
107
122
111
100
112
143
128
106
138
112
138
100
118
125
102
144
135
115
129
139
113
134
147
131
104
138
122
117
116
117
107
133
130
101
111
104
132
125
122
141
115
118
119
130
136
149
112
121
136
148
148
101
142
122
105
140
129
146
135
145
105
139
106
140
142
133
112
108
118
147
147
107
122
105
131
105
142
135
137
131
132
124
124
118
140
106
100
114
103
116
124
128
111
116
128
112
149
113
109
143
106
112
128
140
126
110
120
100
141
144
133
103
102
131
122
147
117
118
144
203
213
134
132
214
168
220
149
200
144
143
175
141
158
159
134
164
157
191
176
214
207
192
205
127
144
181
197
140
197
122
159
169
143
188
181
203
206
125
123
122
182
175
155
143
153
157
170
120
191
159
212
148
219
216
134
148
147
205
210
198
143
143
201
164
207
198
180
173
142
144
185
161
146
179
193
151
141
141
138
183
164
220
146
137
218
184
204
208
123
139
186
170
158
198
135
165
198
127
183
208
134
206
200
160
172
136
192
169
216
198
213
212
145
204
193
154
165
205
131
193
157
139
173
194
157
166
141
139
170
133
160
164
130
213
204
147
151
178
168
160
179
158
211
206
130
206
175
150
164
217
198
165
206
148
165
155
168
149
164
211
153
163
207
169
198
150
104
111
134
137
132
105
124
108
105
109
139
128
124
123
108
105
129
112
101
132
107
107
115
106
147
105
118
110
150
128
105
117
116
119
104
150
119
141
101
104
113
142
119
123
132
148
143
139
133
128
130
131
129
120
114
124
113
140
148
121
131
108
136
130
146
114
119
130
124
128
119
108
121
122
140
111
126
125
139
107
108
112
109
122
111
108
101
125
118
138
130
126
105
141
147
111
116
125
136
129
122
124
102
140
127
140
143
140
110
136
114
130
127
122
146
120
112
150
127
147
127
102
104
128
110
146
107
125
122
109
133
147
139
144
119
102
110
133
118
112
144
147
132
136
150
130
204
219
124
155
166
184
218
171
165
187
214
147
217
161
156
197
158
186
164
182
166
208
199
124
129
151
190
198
138
155
133
193
158
129
153
173
145
153
208
174
151
140
181
129
176
136
197
162
167
138
164
127
201
124
126
201
134
124
134
216
208
124
142
200
137
196
139
136
130
203
128
138
169
129
153
147
178
212
155
169
172
141
213
161
184
121
142
208
207
177
210
219
215
122
197
174
184
189
121
188
164
188
130
122
215
163
166
135
207
208
176
171
120
177
203
129
181
192
123
142
196
200
180
134
212
154
187
198
157
197
149
105
133
118
115
101
150
132
148
110
105
137
100
112
108
134
128
132
113
111
127
112
140
136
148
107
140
122
137
103
126
116
128
125
120
127
144
117
108
148
144
127
123
128
109
113
126
147
108
117
116
112
149
145
124
135
147
125
133
136
135
144
116
113
117
109
113
107
116
142
110
135
147
106
100
143
113
118
150
116
147
119
120
128
147
110
149
117
106
103
120
106
112
131
127
143
118
111
143
149
145
140
110
126
126
150
148
115
146
115
145
109
131
118
107
123
107
144
115
111
115
110
111
147
141
148
133
102
116
150
130
124
120
106
146
104
109
123
127
114
116
213
205
135
151
209
124
169
220
158
160
125
199
134
133
197
218
184
177
132
204
127
220
197
201
141
219
175
172
169
207
142
195
127
125
158
179
158
214
196
141
201
125
170
213
139
180
185
171
199
165
220
154
153
199
140
141
179
173
166
166
196
176
202
180
216
166
199
153
131
174
169
173
191
155
178
121
217
125
216
163
155
142
138
167
120
147
202
204
149
126
181
220
206
211
207
169
161
178
123
140
207
127
138
159
213
161
153
187
197
131
132
194
125
184
141
154
181
195
131
156
135
196
214
144
216
183
200
187
219
146
173
163
161
147
220
174
181
172
211
124
173
158
144
187
162
152
184
170
121
143
208
158
155
205
174
130
173
185
197
149
102
134
149
138
135
126
136
140
120
105
100
145
104
107
122
134
106
132
107
120
142
130
120
130
100
115
118
100
122
123
121
113
126
136
127
145
121
108
109
129
126
128
144
112
117
101
120
150
147
150
101
118
131
136
143
120
141
118
148
128
131
118
112
132
146
100
112
141
114
150
100
105
137
112
141
128
109
131
112
134
146
135
111
139
137
126
127
109
123
130
150
100
141
144
114
144
123
104
129
107
129
111
125
107
149
104
137
129
101
115
150
103
144
147
122
135
116
146
113
141
119
135
103
125
130
103
149
114
126
128
116
135
110
146
147
118
109
149
138
124
127
149
101
126
150
136
118
135
136
142
100
109
108
143
207
160
139
192
205
155
136
176
216
165
185
122
131
200
149
210
215
183
213
129
127
164
141
127
138
149
120
191
201
199
154
133
193
217
138
148
126
194
163
178
131
124
191
185
127
156
157
166
129
155
141
181
181
129
197
192
123
195
168
172
124
211
220
213
165
172
219
157
177
201
195
153
201
188
209
198
187
135
182
196
207
200
141
149
215
168
198
125
203
164
147
144
202
200
142
212
137
123
178
186
172
198
150
128
163
208
164
176
180
220
127
122
180
125
171
209
212
140
183
140
206
136
207
144
206
210
121
141
134
191
126
161
156
124
180
145
138
198
183
217
154
150
126
150
140
164
205
204
174
195
124
113
139
137
142
144
131
117
120
126
103
127
100
149
114
127
106
140
141
120
132
108
113
108
135
108
135
144
109
126
122
143
126
115
134
150
120
134
137
107
127
105
129
148
105
128
124
133
114
130
121
114
119
142
103
128
145
124
123
110
106
145
150
114
129
105
103
129
130
140
123
110
124
119
120
128
144
146
129
139
109
103
106
125
131
132
137
112
137
105
124
114
101
108
102
130
115
106
122
100
110
133
104
149
118
103
132
120
146
121
141
108
112
138
103
150
150
113
102
139
111
130
137
105
135
146
117
145
144
105
138
111
148
104
135
109
144
136
116
130
145
133
143
147
131
107
102
120
118
127
118
136
149
126
127
148
104
111
100
113
131
126
124
108
111
122
208
172
200
162
173
205
190
151
200
130
164
155
219
146
136
205
205
155
219
173
164
206
180
121
143
181
197
176
132
129
133
172
159
129
161
157
220
191
176
196
121
186
126
220
165
142
170
201
153
124
193
152
123
167
128
191
168
189
168
196
217
135
136
121
136
178
147
219
157
152
135
126
214
138
181
220
208
218
181
187
162
220
162
162
143
202
144
130
191
139
127
213
199
175
210
201
183
140
168
190
164
157
178
126
143
151
186
173
152
134
158
129
141
168
203
165
186
210
192
220
163
161
147
142
167
185
147
217
199
172
197
123
199
196
164
190
206
199
188
131
124
219
199
170
184
120
127
127
117
125
100
137
124
102
141
147
105
130
142
108
135
139
129
113
111
106
103
126
130
107
139
112
136
150
140
134
133
125
131
122
136
115
121
134
139
136
121
121
140
126
110
142
140
126
133
137
120
100
126
124
112
119
117
105
117
122
116
113
132
111
115
117
130
137
120
113
114
100
114
133
122
108
136
110
112
150
145
137
125
133
123
120
122
134
133
106
126
106
136
120
104
130
133
103
134
127
124
129
110
111
125
133
104
125
115
120
135
105
142
144
138
146
150
139
143
129
107
108
116
142
111
141
112
112
119
136
139
140
102
131
150
105
137
134
147
111
110
123
126
115
115
219
160
193
197
165
194
213
187
141
155
132
176
204
186
165
145
132
130
179
175
173
163
142
121
144
200
122
197
195
155
184
146
191
149
132
135
173
132
130
210
161
159
205
195
131
131
179
166
134
220
177
153
126
146
161
121
178
172
146
135
196
204
172
201
170
187
131
213
190
201
170
138
125
134
208
150
124
135
170
169
197
121
128
167
172
200
132
135
206
153
192
172
217
167
200
200
170
153
210
164
178
148
171
161
203
206
148
154
171
177
150
196
129
183
172
157
174
212
148
192
213
211
214
135
220
166
192
205
169
148
121
215
158
193
210
195
143
218
158
195
216
206
127
123
131
220
155
137
132
149
126
150
135
150
130
116
116
109
108
146
108
111
105
112
121
100
102
150
111
109
128
147
120
111
114
111
122
118
141
131
108
138
106
105
119
141
138
116
100
125
131
124
116
117
136
100
117
150
104
113
107
135
136
139
124
138
127
131
149
101
127
109
128
145
149
136
103
123
119
142
120
146
144
135
140
105
143
109
148
101
147
142
141
149
113
108
127
103
116
113
107
148
118
106
114
109
138
122
104
102
131
105
105
144
114
130
126
127
100
138
121
115
134
109
114
133
120
136
105
115
134
139
141
115
133
127
142
123
103
120
133
102
213
219
171
165
121
183
125
136
151
219
191
205
194
192
193
163
150
203
219
198
163
124
165
191
210
122
207
202
214
187
140
217
129
191
220
199
190
158
194
200
177
121
202
162
184
123
133
204
125
180
158
160
180
172
132
141
142
130
146
149
159
169
189
179
138
194
134
201
184
156
167
182
165
150
128
170
207
197
171
145
175
172
124
141
152
211
148
183
169
157
199
220
211
191
171
154
132
217
145
175
156
146
213
216
189
159
153
201
124
203
154
190
140
129
178
144
142
161
203
201
183
158
193
175
199
141
170
141
179
220
177
218
213
121
132
114
150
126
131
103
107
118
125
139
132
135
136
148
113
115
127
109
141
110
136
126
129
142
110
104
124
140
115
138
138
131
124
147
145
144
133
119
108
118
145
112
100
136
115
125
147
129
120
140
138
123
150
121
146
118
118
104
118
112
100
123
108
102
142
124
115
148
143
105
110
105
139
105
126
120
110
133
138
144
109
149
149
118
135
137
137
139
141
131
134
119
106
146
101
136
136
135
117
147
139
117
122
101
131
100
145
117
125
139
103
111
146
137
150
121
111
122
105
141
131
127
141
108
147
127
144
114
138
141
162
207
150
220
211
207
130
181
185
158
193
171
173
150
216
120
151
219
219
124
220
200
214
213
137
211
150
180
180
131
198
176
179
181
197
139
178
153
124
164
127
146
195
178
159
166
120
186
140
176
131
156
139
179
193
132
127
156
129
155
219
186
200
141
154
156
188
182
208
183
131
142
168
196
178
200
161
144
146
202
190
175
136
127
196
127
180
204
121
190
216
197
188
148
211
189
133
161
150
218
149
144
193
189
152
214
146
159
174
181
213
209
133
218
201
191
203
209
196
217
127
205
145
137
190
130
216
197
201
138
182
188
127
139
161
164
182
204
137
124
181
134
180
146
168
123
129
191
178
154
187
124
156
138
157
197
181
206
203
201
185
105
149
128
119
124
147
149
133
103
131
131
141
137
140
129
115
107
105
125
123
116
122
125
124
136
131
125
115
148
138
126
109
113
122
150
135
123
123
121
146
145
144
136
140
140
108
124
142
134
143
150
120
114
128
126
124
115
130
114
148
129
110
132
132
140
140
141
132
109
129
144
105
133
108
147
106
138
126
120
140
105
133
129
101
133
120
117
120
150
116
129
131
108
110
127
103
110
124
114
133
112
114
100
109
101
109
104
108
135
108
107
115
110
131
140
140
128
109
139
138
142
123
109
136
139
125
115
137
143
115
123
128
105
104
111
146
126
140
107
119
132
109
145
104
130
101
120
150
104
133
122
133
106
114
105
121
142
116
143
104
146
128
121
120
157
137
196
207
188
122
143
180
152
201
144
167
172
181
192
162
155
126
121
136
180
183
197
203
176
171
126
126
205
126
152
154
196
125
149
155
177
137
176
180
133
186
184
205
192
193
139
207
128
212
167
190
210
152
197
178
145
135
176
207
200
156
211
143
219
174
136
197
181
163
216
173
181
168
133
121
163
147
217
214
160
157
202
162
133
184
159
139
122
140
207
126
135
204
203
166
155
126
124
149
186
183
189
186
185
163
127
196
186
214
165
151
155
204
131
139
127
174
204
219
194
184
219
203
123
147
153
166
174
121
114
132
108
117
133
108
130
136
106
123
142
142
126
139
138
123
125
144
113
129
109
127
107
140
100
102
140
129
125
121
114
118
150
142
131
115
139
139
127
124
149
131
121
101
114
110
102
109
104
124
123
117
102
147
122
107
133
130
132
148
145
112
138
136
148
105
140
117
118
114
110
145
147
149
101
145
148
130
135
123
107
132
132
147
128
101
128
105
127
114
138
135
110
104
135
149
116
117
113
111
130
136
101
108
103
105
137
126
119
105
120
137
118
145
138
145
103
120
136
128
116
145
118
121
116
121
125
131
119
112
129
122
100
121
147
135
118
145
133
123
121
129
147
130
119
142
103
107
139
145
141
123
101
100
150
117
107
141
110
112
107
138
105
104
132
102
131
101
129
140
108
101
106
134
209
195
178
126
172
151
195
196
200
155
170
200
148
167
177
218
139
133
187
190
150
194
172
181
138
157
161
181
207
138
216
177
216
182
179
184
201
144
126
185
172
202
142
121
155
179
121
195
125
150
140
145
208
141
153
140
203
146
208
150
167
145
189
161
203
149
137
179
219
157
205
120
199
187
159
167
148
183
197
186
179
166
215
148
167
160
205
144
186
197
164
176
190
203
193
167
183
122
190
216
192
145
138
125
170
179
164
130
179
125
188
139
143
173
161
148
150
160
144
142
154
200
151
206
141
158
171
183
219
175
154
124
124
218
187
168
152
181
195
184
177
157
173
172
188
154
175
122
218
127
163
204
152
207
161
169
199
164
137
194
180
126
220
137
207
162
130
155
212
154
155
128
130
204
133
129
112
101
121
116
108
131
111
124
133
143
147
126
111
111
121
131
113
149
112
145
125
123
126
110
112
147
128
108
142
126
120
114
106
109
140
120
141
132
143
117
116
105
141
111
135
126
123
121
117
133
110
105
140
130
125
101
127
104
114
101
105
134
105
112
133
128
111
107
145
120
142
134
102
124
123
142
112
150
130
141
135
142
116
149
135
112
104
107
137
149
127
124
112
132
111
115
128
139
102
133
103
150
115
128
136
141
102
109
126
126
126
149
133
144
148
150
101
124
127
149
117
128
118
113
125
118
131
118
139
136
100
109
113
119
134
130
130
117
129
112
106
113
110
100
128
146
108
147
150
169
126
199
185
159
184
189
167
136
177
206
156
126
201
155
138
195
147
126
144
190
180
182
205
154
130
211
150
125
150
127
212
164
181
175
144
152
176
128
180
193
131
165
141
204
158
156
160
165
177
205
171
190
181
183
142
186
210
189
181
199
181
158
195
153
134
173
128
211
214
212
148
124
192
213
156
189
140
204
217
198
125
136
185
125
220
181
172
199
141
217
213
161
134
175
168
186
214
195
170
129
205
193
155
206
141
150
195
122
190
203
156
149
134
219
163
182
153
132
187
164
125
134
141
126
144
160
220
212
137
158
123
217
196
134
186
132
181
156
119
144
105
135
105
117
130
146
136
132
136
118
137
107
120
100
124
148
121
121
101
130
119
137
104
132
140
116
117
138
144
131
112
107
148
146
135
125
108
146
115
132
147
120
120
146
143
104
139
102
104
118
119
145
101
104
134
112
145
143
124
113
109
109
111
119
126
145
108
128
144
119
119
141
112
145
131
121
109
127
149
129
135
135
109
123
118
108
134
103
105
119
148
143
146
119
110
122
120
112
104
140
140
143
145
131
118
101
117
146
104
102
120
104
114
101
143
112
134
140
116
142
135
135
146
139
104
102
113
114
115
129
128
101
121
100
139
112
135
109
100
115
129
140
141
110
148
117
123
147
135
109
128
108
106
103
100
117
133
132
108
214
155
126
185
213
201
162
199
218
192
217
164
122
167
181
205
209
156
211
122
199
123
178
144
151
200
195
206
121
218
188
208
149
146
124
202
163
136
132
170
168
167
139
153
183
136
168
204
207
157
169
129
179
122
183
148
132
204
139
159
206
154
188
218
151
202
213
128
126
131
217
200
181
124
140
132
162
174
179
211
138
131
157
159
211
197
216
190
209
174
214
182
152
134
137
128
160
126
210
197
155
179
178
129
173
179
211
140
120
126
194
174
189
182
134
129
120
209
177
173
205
197
132
213
166
134
134
159
147
214
131
115
150
102
143
109
108
108
106
140
113
128
136
141
132
138
146
111
143
125
103
117
110
143
126
125
128
139
127
147
137
141
106
141
118
144
131
119
119
141
147
103
132
133
138
141
119
138
141
131
129
135
103
124
101
116
112
112
117
145
103
140
135
149
124
122
127
124
113
150
130
144
148
119
106
110
150
115
101
130
114
130
132
100
110
137
123
136
148
131
112
107
113
122
136
146
123
129
124
114
144
138
127
101
114
119
123
125
114
133
147
115
146
149
146
120
113
132
128
103
112
136
145
119
108
106
137
140
113
149
124
129
115
118
129
104
148
108
139
103
106
106
126
117
123
117
134
111
106
107
106
127
150
101
101
103
121
124
109
142
139
105
150
185
202
128
138
201
195
213
215
134
196
188
200
143
181
171
123
128
149
179
167
141
151
130
141
213
204
138
190
201
144
211
167
124
172
139
202
195
151
195
168
188
156
147
142
180
220
151
124
177
179
146
217
130
157
181
156
162
212
120
153
175
155
170
162
147
168
192
137
120
157
170
130
177
204
153
131
180
192
122
171
220
169
173
216
139
200
165
141
179
199
137
133
128
137
158
173
142
173
133
155
159
142
173
165
157
173
134
185
160
217
170
146
167
204
212
213
151
131
203
201
133
209
162
172
183
179
185
170
207
147
143
128
135
212
178
184
133
138
194
171
139
180
165
135
155
176
134
208
213
197
202
126
170
152
204
163
179
212
205
174
137
120
134
136
200
216
180
170
142
106
110
128
149
102
149
137
112
105
119
131
111
144
128
131
148
123
101
141
120
126
149
115
131
150
113
125
119
143
141
110
112
117
134
142
139
139
149
124
129
139
150
102
121
115
107
100
123
133
147
146
149
130
144
135
112
120
117
107
139
110
104
112
139
141
110
105
139
149
111
107
113
140
105
103
149
137
135
123
122
113
136
128
111
145
142
115
120
109
103
148
106
146
104
132
128
101
133
102
146
144
114
101
148
119
134
124
110
137
106
112
139
144
150
100
130
120
144
148
125
110
147
137
102
150
141
104
115
105
137
136
116
132
121
143
154
158
122
152
171
165
176
148
155
203
180
140
140
163
139
203
177
127
193
173
200
189
199
148
192
128
133
123
195
168
130
196
123
195
152
123
206
145
170
216
127
181
160
206
212
160
154
183
133
166
131
137
127
179
199
132
174
151
209
134
170
132
172
128
186
183
147
202
205
174
129
125
140
172
180
138
143
172
142
129
209
201
149
174
178
203
208
211
131
198
140
130
155
138
198
156
180
153
180
132
134
150
212
201
169
159
207
148
133
209
180
215
173
195
198
141
178
149
139
158
123
151
186
196
218
169
168
204
171
128
100
146
122
133
128
132
148
144
148
108
123
101
116
140
144
104
100
137
101
108
105
123
112
130
118
109
148
107
139
115
144
145
149
116
114
144
125
129
121
127
150
100
136
109
105
112
102
138
149
112
105
129
113
138
135
107
122
102
115
134
114
109
104
108
137
146
124
110
141
102
139
114
125
106
100
126
142
121
113
126
124
106
118
102
148
115
116
140
135
122
110
106
115
113
149
106
132
146
142
134
145
146
110
139
109
104
138
121
144
128
147
133
114
131
138
101
122
132
117
137
122
135
149
101
104
101
116
136
125
136
129
142
101
132
104
109
107
136
134
116
126
132
113
129
112
129
141
107
101
117
117
126
110
150
139
144
123
183
190
187
168
214
127
194
204
217
211
185
176
150
194
208
158
215
164
190
167
128
144
135
171
142
214
207
185
145
136
201
196
165
151
207
197
168
212
209
136
144
130
188
194
163
198
163
201
178
198
120
183
139
147
217
212
137
195
195
189
152
205
198
188
166
191
186
144
168
215
151
220
201
144
194
193
193
188
128
183
166
208
145
122
161
125
164
124
132
181
175
139
201
121
181
179
185
160
220
203
152
133
140
219
123
178
191
129
159
182
194
218
184
220
132
193
171
217
200
129
197
126
196
132
201
201
115
121
116
114
140
110
143
106
108
145
113
121
143
142
127
104
108
114
142
142
104
100
116
140
133
100
131
117
102
103
109
143
130
124
139
142
139
113
131
103
142
134
123
133
128
123
144
103
121
129
140
115
142
106
100
109
116
144
111
108
150
142
144
127
133
111
109
140
135
147
148
103
103
123
103
111
146
137
134
113
118
146
128
136
128
139
134
126
150
142
106
103
103
105
104
133
114
124
117
114
129
121
109
122
142
118
115
112
110
127
111
126
106
122
103
109
140
148
149
132
102
128
128
130
113
145
123
149
100
147
125
100
107
148
122
148
139
136
106
135
115
121
100
136
131
130
110
139
100
124
133
136
157
137
122
127
197
200
220
141
164
120
123
129
153
125
194
215
178
162
172
188
199
161
209
154
192
131
187
220
122
160
188
150
172
166
164
165
134
120
185
125
153
165
218
146
134
186
178
143
165
133
131
134
211
160
122
145
174
214
171
181
126
130
138
172
198
195
138
213
171
189
180
160
198
172
206
191
157
145
158
217
165
215
179
158
185
124
214
194
132
209
206
178
213
125
151
174
189
160
123
205
122
162
179
175
147
195
146
206
170
150
136
201
140
126
201
177
124
142
138
122
169
180
142
155
124
139
198
144
135
145
103
143
135
142
120
118
120
110
125
142
140
132
113
106
146
149
130
108
126
121
102
135
148
106
131
136
127
136
103
102
124
133
113
140
126
144
118
133
112
135
106
107
116
147
108
111
150
100
145
133
150
140
146
134
136
132
115
143
131
107
146
111
113
119
116
135
123
119
120
103
116
115
104
138
150
135
117
130
142
107
138
132
128
109
116
113
135
124
146
126
114
125
116
121
148
145
129
129
132
123
135
115
103
146
119
118
146
113
129
126
130
122
124
143
108
121
148
150
139
133
131
106
100
131
108
123
135
148
109
142
118
102
124
112
131
123
149
109
139
119
119
102
147
103
126
147
114
106
115
149
111
115
148
132
149
117
117
129
138
129
148
145
137
145
210
165
124
159
151
124
205
202
215
156
205
141
171
141
180
154
121
210
173
139
194
148
151
128
150
145
196
185
146
193
178
186
121
120
168
166
181
157
189
220
206
202
156
124
161
192
122
143
199
162
144
180
146
188
137
194
210
147
212
199
167
152
155
158
170
210
151
214
144
124
138
220
152
142
204
150
144
206
166
153
153
205
150
220
187
173
170
201
120
153
171
197
133
187
190
197
179
155
152
160
128
148
200
178
213
213
185
175
214
135
214
134
154
220
131
136
209
196
186
172
180
134
160
190
159
209
211
171
183
134
176
134
165
187
124
165
176
164
140
127
175
194
151
210
157
153
126
162
219
211
188
174
169
191
157
218
203
220
164
139
170
192
152
177
215
164
163
121
123
114
111
122
104
119
122
143
106
105
116
120
102
149
135
130
101
121
122
108
104
124
116
134
116
141
150
132
102
139
135
133
139
131
143
124
119
105
132
135
143
101
105
117
118
114
102
144
147
114
139
118
134
146
149
114
102
127
112
136
136
134
122
108
103
136
133
110
135
109
135
107
134
101
113
120
150
132
116
143
112
105
112
106
148
116
139
110
107
109
103
141
125
142
121
118
129
145
147
106
127
130
133
129
105
121
113
121
114
100
117
108
111
123
147
119
115
115
109
121
107
130
133
139
116
127
145
107
124
120
130
126
112
121
114
131
100
121
103
121
116
113
101
141
122
144
107
133
140
108
101
129
135
220
175
134
131
172
179
152
149
152
186
182
191
143
190
199
138
151
191
186
202
179
125
157
169
141
167
177
206
157
131
162
196
191
211
166
145
193
184
181
161
175
124
183
183
121
131
184
202
198
151
212
197
219
188
202
170
158
184
129
127
146
164
168
200
135
166
182
133
166
159
215
142
197
174
157
214
135
165
142
162
219
196
215
205
135
164
191
216
167
185
135
152
217
213
136
142
154
194
191
175
145
199
198
202
129
135
153
146
189
201
192
164
169
168
216
156
148
123
160
135
134
214
207
216
181
204
157
220
204
191
194
133
148
147
116
118
127
149
149
142
139
140
118
137
149
145
142
125
110
115
147
113
147
100
144
117
129
120
114
150
137
117
117
144
101
124
105
110
117
143
118
143
110
140
144
133
113
135
107
117
139
110
128
121
105
104
144
107
106
105
133
111
103
149
111
116
142
115
104
116
130
127
109
150
101
107
132
131
125
129
146
129
100
120
131
135
122
149
127
106
145
144
119
102
108
100
144
132
141
127
144
129
110
120
117
131
136
103
145
135
102
114
105
104
147
139
117
129
116
121
120
130
136
112
111
129
108
110
131
106
133
117
118
140
131
131
149
143
149
125
115
130
137
139
104
143
118
112
144
104
132
122
106
138
150
116
111
113
145
112
120
100
120
109
117
187
159
135
120
146
154
127
178
191
191
195
131
219
206
154
192
139
135
198
209
187
184
179
209
214
129
150
207
163
154
142
210
212
165
201
218
146
206
195
213
166
172
131
216
161
129
217
207
192
203
199
188
180
169
130
128
133
183
126
206
156
205
142
140
212
217
175
145
208
216
178
179
213
144
202
121
206
178
126
159
188
214
158
121
150
209
217
181
209
163
192
122
141
196
169
194
170
177
165
165
203
137
191
201
211
199
167
191
127
152
164
201
198
195
196
170
213
184
166
218
185
173
158
197
211
181
160
199
173
122
199
181
182
212
150
181
139
171
208
209
194
192
195
170
120
129
173
215
177
216
194
147
219
173
130
146
200
202
161
207
205
193
163
183
204
134
101
137
134
140
138
111
116
138
124
127
131
132
103
148
150
104
104
145
127
139
147
125
144
146
136
106
135
127
138
135
150
107
131
107
121
114
103
107
111
110
114
127
101
140
113
133
127
142
130
134
112
144
104
146
148
114
133
122
138
103
107
145
103
103
116
107
103
106
136
115
127
127
108
148
115
123
143
143
127
119
127
144
128
139
105
147
128
112
125
143
143
116
131
108
111
119
140
131
123
130
127
123
147
142
103
133
148
127
132
148
149
120
126
125
119
133
110
147
100
149
101
140
143
145
103
104
114
140
108
115
118
111
147
147
124
111
138
130
147
102
101
171
216
218
163
120
142
146
149
211
148
182
195
122
144
200
126
168
137
148
182
128
130
178
204
186
156
153
165
138
165
178
196
172
199
172
154
173
191
153
213
183
194
217
185
182
171
158
126
143
217
129
138
211
208
149
122
128
206
131
131
139
204
153
180
220
173
218
176
130
156
188
137
182
190
199
144
155
196
121
174
126
146
172
217
148
217
120
177
153
199
170
215
192
155
211
154
193
127
177
140
189
202
157
180
142
200
168
179
189
189
186
121
140
217
192
161
144
206
143
196
134
175
175
123
138
153
219
121
150
149
150
144
150
122
102
137
114
118
145
113
117
106
136
129
144
149
116
104
113
121
139
109
125
105
142
150
128
103
116
117
138
127
137
106
104
130
120
147
145
145
146
115
112
129
115
128
134
125
139
127
111
127
138
110
148
131
104
135
131
127
150
131
120
109
106
120
120
116
112
132
123
138
135
142
149
141
110
114
114
133
150
114
140
147
143
117
134
137
123
134
137
142
136
129
146
148
137
125
118
148
134
105
100
150
147
102
141
144
130
138
103
127
105
144
107
130
113
119
133
100
141
104
108
149
127
127
138
121
145
137
109
130
112
134
110
124
101
143
140
147
130
144
144
126
149
110
146
141
161
128
158
131
216
210
120
123
137
120
139
159
150
196
143
188
184
204
138
166
156
189
168
146
146
150
172
213
182
191
124
177
160
176
135
152
163
212
169
176
148
134
125
183
128
135
128
185
170
152
142
186
151
201
211
135
146
146
163
174
198
194
136
140
171
145
147
216
215
152
179
135
178
166
124
170
187
182
176
140
216
185
179
127
125
187
124
194
176
203
208
150
189
121
190
205
180
209
120
146
210
120
210
197
199
201
125
128
144
198
143
153
145
194
146
203
213
198
170
199
159
152
174
125
158
200
125
171
186
122
208
186
125
131
183
197
129
193
176
184
151
128
167
178
216
136
199
190
163
195
179
124
175
185
177
141
149
160
181
206
190
125
133
106
141
122
124
133
142
126
146
140
129
133
136
110
114
126
134
113
108
128
142
119
105
136
145
150
113
105
133
117
110
143
142
112
128
125
142
143
106
135
128
110
106
112
134
141
115
119
145
145
102
112
127
113
117
103
144
128
114
119
113
112
126
144
125
149
102
118
117
144
127
113
118
113
118
116
121
148
136
121
118
148
107
124
137
118
138
121
102
101
130
114
140
138
142
146
134
142
124
110
144
149
131
121
128
106
110
147
119
120
141
144
102
132
106
129
137
105
106
123
135
108
150
102
148
137
149
117
109
131
106
110
137
135
114
124
116
149
121
114
122
150
124
101
145
103
135
148
107
105
150
119
114
116
121
108
122
101
110
144
144
120
122
139
136
108
144
133
213
186
213
200
185
151
121
124
150
218
188
216
168
198
120
153
149
189
166
193
150
131
198
122
158
180
220
128
172
208
166
196
188
210
171
219
130
136
131
150
174
138
152
173
131
132
126
140
219
201
203
128
141
167
173
186
159
137
148
168
161
148
172
214
184
171
183
199
178
202
125
175
147
128
131
151
182
183
172
162
180
151
205
157
135
152
210
131
177
182
189
192
201
122
152
139
141
141
188
135
155
140
154
149
152
190
171
141
203
206
153
131
134
129
199
200
160
125
127
141
149
161
156
131
160
217
198
133
177
217
193
150
131
158
208
152
157
166
196
203
128
142
164
168
220
208
143
199
185
209
154
153
131
167
204
132
216
142
200
134
174
140
144
165
124
136
197
216
187
165
166
213
141
106
127
137
130
110
111
109
119
115
133
136
135
116
105
141
103
116
148
132
102
116
139
115
141
128
150
118
137
139
121
127
138
124
106
130
149
118
112
102
122
110
129
142
105
131
132
106
112
122
133
135
127
109
133
109
139
100
128
147
145
105
132
113
120
134
102
125
119
150
127
105
131
106
111
103
127
142
119
129
105
112
145
136
125
139
103
110
103
103
100
142
111
120
148
106
112
148
140
125
144
148
127
136
145
114
141
117
109
143
138
141
147
141
107
121
142
125
122
109
108
137
103
120
110
134
148
149
148
142
125
136
148
123
112
149
135
119
109
149
101
107
137
102
127
140
117
120
100
103
135
127
117
129
104
150
140
113
128
110
180
170
124
219
197
198
191
200
183
152
149
213
213
215
178
189
163
203
190
138
157
177
217
152
159
183
194
189
147
179
139
186
160
125
158
133
185
205
126
151
175
132
129
184
162
162
129
128
161
206
120
162
213
168
163
152
188
194
199
206
211
155
176
207
133
205
171
152
154
214
196
124
200
143
197
170
216
162
156
150
191
132
199
164
179
204
165
131
168
214
207
131
144
126
195
145
202
208
200
154
210
207
130
128
171
143
132
214
194
185
168
191
178
204
167
127
197
172
173
171
182
153
153
181
179
164
163
219
155
149
104
104
102
122
131
114
125
106
101
124
130
102
122
109
118
126
144
131
123
116
145
102
132
120
111
105
142
104
133
105
116
128
100
104
121
103
131
135
118
100
133
143
106
137
122
146
107
110
103
105
133
114
143
135
104
148
101
107
108
138
122
106
135
126
125
136
150
143
146
132
125
150
105
146
135
112
131
111
146
113
121
147
107
139
144
124
129
109
136
137
148
134
118
142
108
124
107
103
117
109
103
125
143
122
123
108
146
119
142
135
137
110
123
127
138
130
132
100
129
117
144
134
122
107
146
146
126
117
108
139
143
100
148
138
113
134
105
141
104
122
147
129
110
146
108
134
110
107
100
127
131
121
137
121
106
154
200
199
214
206
150
203
155
185
204
148
176
140
185
143
192
136
172
145
125
191
143
168
142
161
202
151
214
205
190
160
144
133
152
219
196
165
146
180
163
209
211
121
173
218
212
208
137
153
182
190
179
212
208
143
143
133
123
201
145
135
219
199
125
170
155
182
136
132
155
124
141
139
154
215
202
148
130
194
148
180
220
178
215
217
139
139
146
157
133
197
192
142
193
138
193
209
122
152
152
199
125
198
162
202
220
202
152
152
183
200
121
209
150
176
135
197
205
185
148
191
152
164
123
180
211
170
186
188
180
144
143
136
216
140
144
136
197
153
133
126
198
142
210
161
133
148
109
114
101
146
127
101
117
150
106
142
106
123
144
142
141
125
106
121
106
106
106
112
133
136
113
132
143
109
133
120
119
118
145
146
123
144
122
147
106
145
108
127
102
144
104
146
150
128
112
149
149
130
108
110
133
150
117
111
130
123
136
140
125
129
122
103
104
127
148
107
110
117
144
144
101
102
116
141
114
119
114
132
113
149
145
123
120
140
133
104
104
141
120
139
122
148
106
140
106
148
141
112
147
108
140
144
123
144
147
132
118
115
134
129
114
135
136
102
110
147
126
109
133
101
102
110
148
102
124
113
145
137
128
111
120
103
123
142
120
105
106
137
128
110
128
135
126
106
129
148
149
119
133
135
141
118
141
117
110
146
116
143
109
179
174
142
128
150
184
178
148
136
151
163
203
126
211
122
181
217
189
220
159
218
132
214
152
205
197
190
133
137
122
142
188
219
165
190
210
210
168
144
200
208
188
182
157
133
144
195
152
211
143
204
138
206
187
201
182
143
127
200
211
126
215
170
206
202
122
150
136
201
157
152
148
201
180
185
126
131
132
144
120
181
208
209
193
184
121
169
138
196
122
215
214
208
146
188
217
145
194
141
134
195
129
171
157
215
179
131
193
195
121
134
148
166
201
160
122
176
125
185
155
191
165
156
206
174
198
179
212
206
197
174
137
175
122
164
187
206
217
148
137
215
157
125
171
218
219
127
175
191
190
201
206
183
163
212
171
191
153
176
125
142
120
148
116
126
103
140
143
105
149
130
136
115
107
112
102
143
135
138
142
147
140
123
126
146
110
138
129
131
131
144
121
144
108
142
125
132
114
140
125
115
107
138
108
143
149
149
106
136
105
102
120
143
111
138
121
112
121
118
149
100
121
114
120
136
120
122
102
149
115
119
106
115
105
110
104
105
150
144
149
135
129
111
111
105
132
130
111
108
150
109
130
134
112
144
128
149
116
148
137
137
135
143
139
150
113
123
135
100
123
107
140
146
128
143
143
102
119
134
100
126
144
128
116
147
145
143
105
129
111
142
133
144
115
143
128
147
101
145
111
124
115
150
131
141
136
112
143
129
101
103
130
108
106
134
104
149
125
148
114
144
112
119
161
165
133
147
121
193
185
219
185
153
190
131
131
210
123
159
206
185
180
200
190
205
208
210
184
196
140
162
154
200
129
219
214
202
152
214
172
212
188
156
149
172
158
208
212
206
145
210
220
156
179
155
214
198
136
182
178
216
126
171
128
201
191
157
214
210
184
130
219
127
181
196
214
149
170
219
190
162
135
130
144
144
136
152
185
174
126
170
213
209
177
162
153
126
171
120
155
142
182
219
164
173
144
165
180
144
212
192
161
130
173
189
179
159
124
184
133
163
171
213
210
186
133
181
216
212
130
131
210
156
179
126
171
164
164
204
122
116
129
134
114
147
138
117
105
107
147
121
139
141
125
134
133
143
140
108
108
111
128
112
140
124
111
108
119
125
139
149
134
118
145
107
113
101
114
148
106
146
137
136
148
150
124
127
112
150
144
140
114
109
100
137
135
121
110
146
138
114
117
120
132
146
116
126
145
111
125
108
100
130
113
137
132
131
141
100
105
134
112
124
116
138
120
125
127
108
134
147
137
131
137
129
150
150
114
111
141
146
122
101
137
107
134
128
100
124
141
127
137
133
143
105
109
146
113
102
118
148
132
120
106
150
136
149
180
207
204
206
182
130
130
125
206
216
158
130
214
136
171
185
179
156
203
137
213
133
208
174
122
183
215
219
219
218
163
174
194
143
139
139
199
144
171
135
157
151
167
178
187
150
121
178
217
201
135
217
213
201
143
215
205
143
169
173
207
125
206
212
135
152
203
151
215
152
203
220
186
143
121
128
220
214
170
202
125
190
199
141
209
217
178
188
162
163
210
185
192
154
194
210
128
131
121
191
183
214
130
156
136
163
207
167
182
146
218
140
132
174
122
144
141
194
212
145
208
140
128
142
177
145
208
216
181
157
171
153
148
158
153
129
146
184
180
152
215
171
202
201
125
183
156
213
165
144
189
199
194
174
170
203
138
145
178
200
146
100
143
124
127
148
126
144
117
107
128
122
122
127
113
129
128
143
114
145
100
101
142
121
100
107
118
144
128
102
133
105
106
138
120
125
101
109
149
114
133
129
145
113
136
143
115
141
103
141
143
103
109
140
129
133
150
125
119
150
122
125
107
117
118
150
114
137
108
123
142
120
100
122
147
134
120
102
104
136
124
123
112
126
102
116
114
145
110
105
101
132
123
103
135
105
142
130
108
137
102
117
124
125
126
136
144
111
136
119
147
148
113
147
144
126
135
116
139
101
109
142
136
120
149
120
128
148
104
120
143
144
144
106
127
143
136
114
124
134
133
123
131
135
142
125
130
106
140
107
124
114
209
133
179
133
160
151
154
136
121
168
205
174
190
188
213
124
123
153
185
187
212
214
189
133
200
181
134
165
133
187
123
146
132
133
171
139
193
210
129
175
215
169
207
186
211
199
196
219
130
180
149
125
162
170
150
191
202
146
194
190
148
140
188
193
173
131
195
195
142
159
213
155
196
189
215
216
150
173
198
120
189
194
204
165
159
124
145
146
125
137
179
208
178
209
210
157
160
189
189
161
161
135
120
142
186
127
144
123
128
135
167
197
149
157
214
166
165
193
188
147
147
201
218
143
161
131
128
140
191
216
127
208
184
200
203
203
183
204
140
143
143
124
101
109
118
117
137
105
100
133
143
114
138
140
136
150
111
150
110
116
108
101
140
126
134
137
124
103
124
100
113
136
140
139
143
143
105
110
150
136
141
128
130
148
129
129
131
104
147
106
109
103
124
114
141
110
141
120
108
114
120
100
105
107
113
129
132
133
146
125
108
150
149
121
135
149
123
105
110
135
139
130
146
142
109
132
112
123
106
137
101
109
114
132
119
122
133
129
143
121
123
104
137
141
110
125
129
107
105
149
105
135
135
129
130
103
131
109
135
117
117
149
103
138
104
117
111
111
132
124
110
102
141
125
102
116
116
141
130
149
101
136
129
117
129
133
130
139
137
108
123
142
122
130
147
146
217
134
140
168
204
157
130
215
142
167
142
120
187
163
167
174
140
159
187
164
130
145
169
204
148
211
155
179
129
155
185
177
189
152
209
199
147
130
185
165
154
128
214
194
126
192
209
213
184
120
148
163
212
168
132
176
184
209
156
166
218
145
155
153
206
206
172
182
135
197
170
157
144
151
208
166
144
220
173
218
122
145
144
201
167
167
182
150
203
197
120
129
193
141
136
120
208
174
146
162
202
189
120
202
143
155
205
202
157
143
189
159
161
209
143
188
210
143
136
201
139
203
183
214
183
133
150
201
162
142
160
150
207
210
220
154
130
193
125
218
145
211
159
132
194
135
192
203
144
182
125
126
143
155
218
138
173
181
151
217
157
168
126
160
175
192
131
144
138
131
111
102
102
124
131
107
104
124
106
122
141
131
144
108
142
139
149
127
115
137
144
119
104
147
135
102
102
115
124
104
148
109
121
133
102
127
111
146
111
100
148
138
113
108
138
118
145
125
139
108
140
113
145
107
139
132
113
134
148
138
135
124
103
127
123
142
102
127
106
115
139
120
107
125
117
150
100
131
134
135
125
111
147
146
127
117
109
141
124
141
106
150
146
125
102
139
108
117
115
144
108
131
136
150
115
112
147
146
142
107
136
150
150
142
125
135
150
106
124
122
141
110
114
133
131
144
116
128
134
118
105
121
109
101
106
102
128
149
108
133
145
145
147
135
102
130
124
217
195
214
201
167
150
168
216
183
184
158
161
168
169
180
201
141
215
167
202
203
196
177
204
164
183
121
184
146
212
136
124
202
167
137
141
140
158
140
191
207
145
196
208
207
174
204
135
163
197
121
191
201
157
196
148
145
198
202
145
203
218
160
183
214
192
172
193
168
148
194
157
184
183
170
147
171
201
174
140
214
181
147
142
165
176
122
190
210
205
170
197
128
157
156
190
177
194
125
207
122
202
210
181
131
171
139
141
120
174
126
168
189
133
124
203
160
218
158
197
121
152
130
128
156
133
175
147
212
177
164
137
163
195
209
172
121
152
200
151
167
200
197
133
172
159
134
137
143
199
204
220
182
163
146
197
158
136
128
132
139
160
131
137
141
120
139
200
150
164
132
112
101
103
127
139
146
141
150
101
102
131
144
139
100
140
150
112
107
126
139
143
118
139
123
128
132
119
140
111
149
133
102
102
148
145
141
127
127
143
111
115
112
119
135
103
150
143
103
106
123
109
143
100
138
136
103
124
105
118
137
123
143
132
144
135
122
140
136
104
143
110
118
127
102
120
119
146
147
144
133
106
109
146
131
138
141
144
116
125
131
102
145
114
137
134
136
104
100
104
130
148
109
133
123
109
118
125
103
128
142
150
108
148
144
107
139
129
128
139
150
105
134
110
134
105
135
123
120
124
103
112
109
142
104
135
124
124
125
109
135
138
110
115
134
114
105
122
125
122
141
103
114
125
124
129
112
127
119
150
100
116
113
115
139
130
100
109
148
134
142
208
133
139
220
197
128
167
124
212
121
211
201
189
181
207
197
157
189
145
129
190
201
185
161
144
150
172
169
144
197
147
131
151
181
141
156
170
200
193
183
159
183
205
220
219
133
207
160
128
182
124
171
185
158
160
189
128
148
187
152
196
192
220
217
141
144
122
217
131
211
216
143
121
212
136
160
120
159
186
203
220
200
168
154
135
177
197
142
187
218
206
127
219
214
125
172
187
201
122
156
124
216
158
170
135
208
191
194
140
187
212
208
208
184
193
196
150
188
196
153
162
215
182
216
196
128
159
199
194
166
130
143
214
165
195
163
133
135
130
121
114
125
127
148
132
134
106
108
100
139
105
107
113
101
139
107
109
108
150
116
138
131
111
111
111
139
147
109
150
111
149
128
134
102
109
127
130
150
118
113
133
118
134
131
117
150
139
150
143
124
102
148
129
102
114
124
146
146
146
133
116
132
109
100
146
146
146
127
139
135
124
112
121
116
134
135
134
126
139
150
123
128
127
131
140
150
110
131
106
150
127
126
118
148
145
101
140
102
144
138
120
140
123
146
113
148
150
119
117
110
115
145
126
105
118
110
134
146
121
140
113
135
147
144
120
104
144
126
117
134
137
116
123
141
129
102
145
187
160
212
153
186
188
212
190
165
195
215
169
203
124
186
128
163
155
190
199
133
196
167
130
120
220
150
136
169
170
199
167
199
148
176
160
177
196
132
129
131
168
122
143
205
142
205
148
214
163
122
137
207
209
163
214
141
159
185
174
124
179
184
142
170
139
206
187
213
205
137
148
134
197
124
171
170
169
218
179
178
129
171
183
211
199
160
157
167
121
184
156
139
150
164
172
141
164
150
166
161
181
214
181
134
155
176
143
130
215
131
190
218
189
192
197
151
218
190
175
131
132
212
120
120
149
211
128
132
156
164
135
180
217
132
121
133
126
145
133
137
111
150
138
120
150
105
112
138
139
147
123
105
117
132
110
140
103
143
125
138
104
139
112
137
121
144
127
133
103
146
120
126
100
121
138
131
127
126
104
130
122
133
100
120
130
121
150
143
146
102
129
143
146
125
105
150
100
128
131
143
118
103
106
137
114
148
136
115
112
144
147
116
117
146
119
114
133
141
129
148
111
126
145
146
131
125
137
136
139
128
135
125
128
134
129
125
126
135
149
100
132
123
117
126
141
110
132
124
120
130
139
135
110
101
109
146
100
138
101
148
123
137
119
109
148
183
159
173
205
180
218
152
197
219
145
134
138
215
214
156
176
193
162
169
163
212
138
207
208
206
139
140
161
140
126
141
198
210
208
214
132
198
217
153
121
141
220
181
168
214
142
132
177
177
183
181
148
161
165
123
175
213
219
151
152
209
173
137
186
203
152
126
173
182
201
139
137
176
122
141
139
141
138
120
214
196
127
205
176
135
141
212
204
161
162
147
217
198
160
125
173
156
124
182
137
131
194
182
147
195
125
143
183
124
218
120
168
173
131
186
146
144
181
158
210
220
211
129
127
153
168
171
163
219
188
193
179
213
124
208
176
175
168
140
150
192
137
213
192
187
191
143
161
203
162
147
136
113
132
113
120
150
119
148
136
131
134
109
119
120
119
109
149
118
124
121
127
135
147
136
135
117
117
135
144
135
141
148
146
109
148
129
108
106
112
108
148
147
123
122
134
120
136
146
118
110
136
105
122
122
128
113
141
135
135
145
123
134
140
148
143
131
150
111
116
134
107
106
115
104
144
112
121
106
101
122
131
127
118
121
143
123
119
125
106
128
121
114
129
117
117
110
119
134
150
141
111
111
144
130
107
128
115
123
132
125
102
124
118
113
118
108
140
140
138
111
146
131
105
139
108
123
113
113
124
126
118
127
130
124
107
109
119
134
136
135
118
101
103
109
124
128
181
176
154
204
192
197
128
213
207
174
157
146
194
211
152
158
166
150
180
192
135
218
165
152
180
207
205
172
133
149
131
156
204
135
197
192
135
164
124
170
216
182
198
212
143
156
158
169
215
187
173
214
210
135
164
200
125
133
148
184
179
128
152
166
219
206
193
205
203
158
208
172
129
190
124
196
213
157
142
146
170
178
122
214
129
128
196
141
192
155
217
157
136
217
206
174
172
131
212
186
185
153
125
143
138
153
172
189
128
172
127
148
183
149
196
202
135
141
190
179
151
198
161
121
220
154
158
161
139
220
202
151
198
194
120
139
126
151
218
219
159
128
200
205
137
179
133
180
204
207
209
179
144
126
153
160
157
183
196
139
191
149
159
188
168
149
165
180
154
183
176
106
129
109
115
106
149
122
120
132
108
109
111
136
136
147
149
100
146
137
122
114
134
113
112
101
116
116
148
137
109
114
135
140
133
101
101
142
118
129
148
140
123
123
140
104
148
139
123
125
127
138
105
142
114
149
132
106
113
111
119
134
106
112
141
145
144
106
104
130
138
107
144
103
146
121
100
104
108
110
145
142
103
105
120
131
130
126
102
107
150
120
145
122
133
115
144
139
135
141
100
104
101
120
103
119
135
118
141
112
103
148
142
119
150
127
143
143
104
117
142
139
105
129
138
139
119
146
122
100
106
116
105
146
122
102
102
133
105
112
112
139
146
114
107
139
112
128
115
112
125
139
211
152
123
175
205
132
167
175
211
140
132
169
128
124
146
207
197
201
161
126
142
213
197
142
201
213
200
212
142
163
172
143
211
144
178
128
213
207
134
201
182
135
202
153
132
184
206
153
195
211
152
125
184
199
187
190
160
196
188
216
155
176
217
180
172
185
176
126
176
141
175
179
142
182
120
163
176
174
168
204
209
156
149
209
207
174
216
157
139
144
157
120
196
166
187
133
173
188
157
120
190
170
164
215
170
144
135
203
163
148
168
181
129
164
176
207
208
151
204
138
195
156
148
162
198
185
134
197
205
156
168
121
142
183
150
208
174
195
151
172
186
194
208
207
131
135
140
154
153
210
182
125
217
172
146
215
155
191
201
195
158
171
124
139
141
101
115
116
114
119
112
102
135
131
135
114
136
122
142
106
121
141
126
142
110
148
123
100
124
109
133
119
126
122
138
140
146
141
126
142
138
102
139
137
122
150
134
140
116
123
102
122
113
145
132
140
115
118
135
146
116
122
133
113
122
137
134
136
114
120
132
140
138
119
120
126
104
124
150
150
140
145
128
143
103
149
121
146
147
116
118
143
102
139
126
143
150
124
146
150
102
150
123
105
135
120
148
136
110
128
121
140
148
136
108
125
119
131
112
148
107
143
150
102
117
122
107
101
135
104
143
114
107
115
129
148
126
131
132
137
116
115
145
126
130
126
128
113
102
125
129
120
150
146
142
143
125
118
142
112
110
125
103
117
104
122
107
196
151
213
131
186
159
161
182
137
171
164
190
124
122
183
182
189
136
164
173
126
170
140
196
215
200
203
136
219
215
208
143
156
213
136
204
202
152
140
178
174
152
131
170
203
214
167
150
144
166
205
168
136
156
161
192
199
191
211
180
192
198
177
132
159
206
209
204
213
138
219
191
161
180
207
201
126
165
219
180
195
193
151
212
174
159
192
204
185
204
138
207
206
134
187
137
150
182
138
209
219
121
159
171
196
176
164
144
138
138
141
122
146
200
217
220
185
145
177
164
163
208
217
149
157
146
122
152
131
127
119
107
110
117
100
124
111
144
105
104
124
138
112
106
133
122
138
131
108
113
114
147
101
102
136
145
124
146
104
123
118
126
112
125
129
116
135
135
145
121
115
121
145
109
147
113
145
114
131
105
128
118
117
147
114
128
145
144
108
150
108
140
140
131
126
124
126
131
102
104
125
129
113
100
146
134
122
108
132
146
136
142
100
103
132
129
101
134
108
133
107
122
140
128
137
103
103
110
138
114
121
115
112
121
146
108
126
129
107
116
107
119
140
139
113
116
136
149
118
124
118
127
142
106
132
143
145
115
115
105
138
106
148
108
118
141
121
119
141
150
108
150
144
126
142
115
118
121
120
112
123
137
100
129
120
144
110
203
219
146
129
159
187
160
206
215
133
142
121
202
219
143
205
167
184
156
157
122
160
167
167
190
183
138
121
198
158
141
135
161
175
157
148
188
125
141
162
196
139
156
136
220
211
188
213
173
213
184
199
193
194
151
218
157
214
178
158
181
149
143
174
152
172
194
216
133
160
186
120
165
175
157
216
196
132
128
181
181
170
181
144
132
171
185
184
217
153
138
190
149
207
158
172
144
177
214
200
184
145
175
214
206
173
154
142
159
174
200
205
130
163
129
160
179
122
147
138
177
157
185
147
161
125
205
167
198
127
134
217
176
192
178
167
172
134
132
147
148
134
131
135
134
103
133
138
135
100
113
116
118
131
122
100
102
139
128
121
119
111
104
114
127
124
148
129
126
122
112
149
119
100
144
105
117
136
113
147
139
135
132
111
103
150
144
148
142
103
140
102
144
138
148
131
130
118
129
106
138
143
139
132
114
132
133
112
119
115
111
109
145
105
121
110
108
119
125
115
100
148
115
109
112
150
132
102
128
146
115
132
113
134
132
144
109
149
117
130
119
129
136
131
138
138
108
131
109
107
147
114
126
130
109
107
122
111
114
124
108
150
117
104
135
118
134
106
119
128
149
134
143
147
123
141
140
116
141
149
101
113
103
142
112
123
114
145
130
101
131
127
107
120
126
102
117
102
117
118
135
143
124
117
117
105
170
169
173
201
127
123
205
201
164
194
219
206
128
135
219
219
156
215
220
219
217
216
216
192
138
136
185
193
126
151
179
152
171
129
184
150
205
120
191
150
169
217
177
216
193
195
160
141
147
168
160
138
168
165
141
123
143
195
171
204
211
135
169
211
216
159
214
165
179
141
176
158
150
183
194
185
215
165
153
142
195
189
140
151
168
219
135
173
210
150
137
163
191
153
162
219
195
140
180
206
197
196
172
181
126
120
214
215
172
126
218
195
180
168
217
164
140
202
205
193
152
202
132
194
203
220
156
145
209
170
189
158
182
187
136
196
171
180
200
170
128
184
155
218
213
137
141
188
185
137
218
145
166
199
205
123
153
195
188
189
152
143
140
127
118
121
130
112
121
122
120
113
117
116
117
119
142
124
145
115
107
148
142
101
101
144
110
104
105
149
146
104
104
125
112
145
107
109
133
123
102
114
141
103
105
150
133
138
129
140
132
119
119
109
100
103
129
120
110
101
121
123
147
124
121
122
145
138
104
129
149
100
145
109
141
135
138
122
118
126
148
131
105
103
116
129
143
138
125
121
134
150
127
107
118
112
127
149
140
124
142
114
113
133
131
121
146
135
101
130
131
142
115
120
139
113
110
149
101
148
146
137
127
129
111
133
113
100
127
148
150
111
114
120
115
142
140
122
136
126
139
147
122
124
119
138
131
104
150
108
111
146
108
149
115
120
111
171
173
174
126
179
211
140
127
189
152
134
161
159
150
181
166
163
181
133
177
162
132
173
131
131
206
171
164
167
148
126
148
133
123
152
150
131
161
155
194
157
212
176
146
157
145
200
186
178
139
202
155
146
122
179
139
148
199
143
147
141
175
128
160
128
178
183
202
211
155
182
181
137
204
155
217
155
201
212
124
162
216
142
156
200
173
187
194
183
150
175
207
176
180
197
134
209
194
192
156
209
161
148
139
218
213
146
140
175
205
208
161
199
157
172
184
162
156
148
163
196
218
159
145
163
140
174
194
138
148
202
156
129
133
128
182
149
121
141
152
152
196
126
138
171
185
133
159
152
152
170
179
135
136
165
207
172
187
214
199
104
141
115
133
122
107
150
135
121
105
122
137
131
123
145
103
106
149
125
121
121
128
121
109
127
111
136
134
150
142
133
108
109
128
118
103
140
112
124
128
131
137
132
118
123
115
135
123
115
133
150
146
137
129
107
142
137
143
105
140
135
121
127
150
143
129
137
139
143
136
133
113
122
109
132
130
137
106
145
149
135
102
114
125
121
149
104
133
121
113
135
104
142
136
101
100
109
126
143
110
150
130
119
131
116
114
122
138
112
119
121
110
134
114
121
101
102
101
129
103
102
120
121
136
135
133
116
143
135
148
136
133
117
108
120
125
108
141
128
107
114
107
109
114
125
125
130
126
100
141
126
121
121
119
104
101
115
105
125
108
125
145
126
148
170
155
161
213
136
146
134
189
216
120
146
207
159
158
175
177
166
161
130
171
139
146
204
212
179
176
142
186
182
140
178
172
136
182
203
129
121
190
200
209
137
154
137
151
163
127
162
195
125
190
186
170
176
198
168
158
168
140
128
143
146
137
208
122
186
180
171
170
206
167
206
156
190
129
210
163
183
214
199
168
204
140
143
170
188
175
162
148
170
176
136
218
206
186
174
130
157
170
139
201
193
156
192
180
187
128
166
194
189
135
220
141
140
124
192
201
122
134
126
170
166
208
196
143
175
168
165
144
142
140
102
150
111
135
100
103
150
147
130
116
142
125
112
120
134
128
112
119
139
130
115
112
120
124
109
106
144
115
149
116
150
140
149
112
108
118
118
125
133
103
145
149
123
105
121
147
115
108
106
130
126
145
126
136
119
125
106
141
120
109
105
126
135
145
122
139
140
103
130
146
115
101
125
147
117
114
125
125
138
145
119
107
117
119
104
100
108
150
121
132
138
125
104
146
101
123
125
126
139
148
125
116
137
125
137
143
101
128
128
102
105
112
129
103
123
139
147
107
138
149
142
111
137
143
102
105
101
123
122
140
146
142
112
141
129
141
124
130
158
205
151
208
179
148
155
189
138
151
140
121
203
211
123
139
143
214
193
152
176
217
179
193
172
212
194
163
165
128
146
198
185
141
204
166
199
149
167
139
136
152
193
127
124
215
191
145
130
177
217
152
152
152
182
149
186
178
192
184
146
167
219
209
185
201
183
187
129
163
203
193
199
202
204
176
125
133
124
202
131
155
166
143
214
133
121
168
218
178
170
133
216
145
182
173
196
148
196
186
146
167
163
137
150
153
203
197
220
141
130
199
129
148
199
211
164
168
206
161
191
125
213
161
175
154
149
146
153
189
133
129
130
142
133
165
185
195
122
179
141
179
148
132
168
207
144
193
130
214
146
208
152
165
130
108
122
116
119
138
148
103
137
103
120
120
110
134
150
140
114
128
132
106
134
130
106
107
144
150
119
147
125
135
114
120
114
145
108
132
119
113
104
120
133
138
103
145
137
126
125
136
132
100
137
145
143
134
122
101
108
106
103
110
112
136
105
111
106
143
144
146
100
134
123
115
113
126
114
118
140
125
111
118
112
145
128
126
138
132
135
112
104
143
129
105
114
128
129
144
102
119
115
146
122
107
132
149
110
129
111
142
129
143
133
144
148
143
125
102
149
119
121
119
122
135
132
111
105
141
131
121
139
128
113
119
132
135
143
121
131
147
133
118
138
143
138
113
144
107
114
142
118
217
185
205
169
132
185
176
135
147
181
165
161
184
215
128
126
175
212
199
176
218
137
165
177
185
149
167
202
161
178
132
215
188
142
159
122
188
164
125
218
218
149
148
164
200
128
172
136
130
128
168
189
143
185
209
189
205
200
213
202
139
150
204
165
131
207
130
120
210
171
206
137
209
211
186
144
158
218
219
208
129
138
155
166
141
127
133
163
125
184
194
121
205
200
185
128
195
169
144
211
197
129
144
124
190
187
202
197
135
138
190
120
187
186
208
189
206
216
136
166
219
193
155
166
173
175
199
179
199
157
204
175
196
140
144
159
136
204
121
147
183
143
192
164
211
200
142
137
184
166
122
172
155
158
128
208
133
198
132
214
122
161
158
146
147
153
207
159
218
212
207
181
117
147
149
141
125
131
104
108
110
132
125
114
114
128
141
101
146
105
149
142
104
102
146
149
144
149
127
100
125
132
101
134
112
108
145
141
116
115
112
101
145
125
101
122
115
122
132
123
100
142
147
102
127
141
124
111
103
123
109
116
124
103
115
110
141
103
107
131
130
122
112
114
119
126
149
140
116
138
128
119
146
111
134
103
101
136
128
120
145
115
136
128
140
108
135
119
109
145
107
147
141
139
131
135
133
106
109
132
112
138
108
131
113
149
115
115
150
132
131
149
121
115
132
142
149
104
149
103
143
105
148
121
116
146
108
139
118
134
119
127
146
103
128
100
137
205
169
141
213
158
164
172
183
203
219
166
204
212
189
138
162
146
131
164
187
149
200
126
216
170
144
172
147
170
187
165
122
174
160
164
217
200
202
158
219
140
192
182
202
126
149
205
212
129
209
127
176
183
139
180
219
163
127
172
219
174
204
160
213
135
150
127
121
148
198
178
175
215
122
161
193
128
130
162
169
203
189
203
127
123
149
209
174
137
178
188
220
144
185
197
198
172
126
217
149
169
166
131
159
202
150
140
171
149
163
186
134
162
132
127
184
188
201
200
167
154
158
182
142
131
170
127
218
130
172
102
127
102
136
129
131
146
117
131
109
101
142
149
102
105
139
138
132
135
139
150
127
117
142
146
109
132
141
146
113
126
148
136
146
115
117
142
113
107
119
129
103
123
124
149
143
121
120
115
103
109
139
108
137
105
141
108
136
107
143
141
105
127
133
124
122
147
102
133
100
123
103
125
150
142
114
130
140
130
130
100
104
120
118
111
127
139
106
114
120
103
106
127
138
112
120
132
142
103
142
139
143
149
128
144
149
129
142
121
116
119
145
139
140
125
146
102
101
140
102
130
133
119
117
103
107
117
144
121
128
126
113
123
103
115
119
138
105
103
147
107
112
127
121
105
102
104
110
102
149
134
126
139
102
120
106
131
137
151
164
172
153
139
132
202
120
169
219
146
120
162
215
197
120
196
217
133
154
203
125
176
123
147
200
172
181
196
194
215
171
151
195
139
123
205
132
194
190
217
195
189
213
124
125
159
160
187
121
179
202
181
205
175
151
130
215
184
189
159
208
122
183
180
216
144
197
142
144
206
121
147
129
143
182
170
212
140
202
171
134
216
143
165
133
213
132
187
183
122
187
185
194
142
199
204
145
220
148
163
124
173
151
128
142
215
210
140
178
129
158
182
147
122
158
217
217
166
214
211
198
192
212
218
121
198
211
174
168
160
164
191
201
159
192
218
137
214
164
130
109
126
119
100
142
135
111
118
129
129
104
104
140
113
129
134
134
120
120
118
139
111
125
123
100
104
148
150
108
121
130
140
135
134
107
109
141
135
149
140
104
142
111
108
110
140
123
129
144
117
136
126
113
140
144
142
121
122
136
112
110
142
105
147
124
147
106
142
131
136
104
147
132
102
139
101
111
125
111
114
119
150
145
114
138
113
149
140
127
131
129
139
123
114
131
144
116
114
137
110
113
150
126
142
104
107
145
106
131
134
132
121
118
148
133
143
119
115
115
126
130
144
130
143
148
115
116
147
131
100
105
148
103
133
115
136
132
116
139
118
144
125
129
144
102
108
173
195
174
173
155
203
162
166
202
181
134
218
206
183
214
121
161
178
160
145
205
178
219
144
167
182
139
173
135
122
175
206
213
187
214
152
135
140
143
199
178
152
164
205
142
175
184
123
165
129
151
147
193
162
201
142
177
140
214
200
181
135
209
190
176
163
207
212
131
183
130
145
156
184
139
171
153
120
131
189
159
177
203
180
148
147
141
206
127
169
127
209
205
172
148
160
135
209
214
185
128
194
131
159
126
207
154
188
187
141
194
152
158
210
143
185
195
128
130
190
167
184
206
214
159
210
166
183
198
203
202
152
211
153
179
152
170
138
141
127
195
150
218
201
174
187
140
132
122
132
169
105
114
130
113
103
142
142
105
100
141
132
150
129
104
134
119
139
114
100
117
147
105
117
137
144
131
133
105
101
148
101
136
108
150
107
119
100
134
112
110
133
106
145
138
121
149
142
101
125
131
119
124
112
103
147
148
109
130
100
128
145
120
120
105
129
120
136
132
144
139
118
129
118
124
135
100
103
119
132
108
124
146
106
112
128
110
142
110
100
128
145
115
118
105
114
116
102
139
115
138
108
120
124
102
127
126
105
139
146
138
142
115
113
113
137
135
128
123
115
126
150
140
115
100
131
129
120
105
128
146
145
104
122
149
137
119
114
144
110
143
108
103
131
134
117
127
130
110
120
174
203
171
139
181
149
156
171
133
215
174
128
201
132
159
176
161
156
132
127
190
219
201
179
182
148
131
145
125
167
192
166
149
139
120
200
218
168
168
121
213
151
189
198
157
152
126
150
145
218
121
181
183
210
216
152
133
214
148
125
207
209
129
157
139
144
165
168
177
122
173
204
125
148
183
207
136
211
201
201
121
183
191
161
198
139
138
127
196
129
130
147
148
132
206
143
205
185
189
212
151
130
137
177
152
198
147
203
184
171
159
163
162
190
147
132
132
203
148
213
133
150
152
192
197
120
154
176
185
189
205
197
203
180
157
142
202
218
199
147
197
128
131
200
209
169
136
150
215
200
151
218
172
210
127
155
218
185
193
168
216
197
169
118
116
122
107
114
121
147
124
119
120
136
107
138
105
104
117
140
132
127
139
128
134
147
108
145
117
105
105
146
142
129
132
121
132
121
130
137
114
130
148
102
109
114
120
118
113
144
125
114
124
133
120
133
103
107
101
122
129
122
102
106
130
146
126
128
148
150
140
150
116
103
117
135
125
114
125
142
129
106
122
103
140
106
116
103
111
123
121
138
116
133
133
104
121
141
114
104
109
108
109
146
141
118
142
144
142
109
116
122
110
150
138
101
142
123
105
132
124
111
146
137
141
111
118
127
134
134
135
118
114
150
139
104
128
126
116
102
120
142
108
112
130
117
126
114
130
109
150
134
122
113
137
116
122
136
110
144
137
101
113
129
113
135
109
124
102
118
117
109
132
190
146
187
139
170
195
172
185
168
153
127
146
151
130
127
195
209
175
205
157
148
174
146
152
163
190
172
160
139
134
177
166
200
169
192
189
165
200
196
200
207
205
151
157
212
153
159
158
189
123
202
141
196
132
135
215
175
189
191
152
144
192
187
197
175
151
217
126
178
178
152
132
152
153
129
134
198
216
152
186
126
204
199
125
158
140
162
143
144
136
179
196
203
122
182
134
149
169
140
177
176
219
165
143
168
125
146
193
157
164
155
196
151
170
218
181
129
127
184
206
172
215
141
210
135
218
194
153
191
155
151
217
193
184
142
188
191
162
195
128
218
183
179
120
184
132
218
175
157
162
183
208
191
193
199
167
130
200
166
155
134
202
193
219
182
136
131
132
138
101
100
116
144
144
143
146
141
142
134
131
122
131
133
139
106
119
132
121
150
107
123
118
121
118
109
145
113
129
127
150
141
114
128
140
108
127
144
150
137
126
139
131
148
107
122
134
128
143
109
117
126
143
132
139
120
148
101
133
132
100
114
135
146
127
114
107
106
137
133
132
120
137
141
106
132
135
115
122
122
107
131
133
134
131
145
120
134
135
101
136
129
108
146
111
126
101
105
142
135
136
138
140
122
116
113
119
118
115
122
138
118
139
134
133
125
110
130
130
132
129
113
125
130
123
135
146
102
149
150
135
107
126
135
127
150
143
130
137
106
140
113
124
146
129
145
102
107
146
140
145
105
108
128
114
137
136
143
139
126
147
134
114
149
130
114
133
121
180
178
214
208
179
190
160
188
211
157
149
151
169
206
206
165
181
120
155
152
124
128
176
210
136
207
159
184
188
219
182
167
137
124
122
180
201
187
185
215
155
146
130
181
132
164
148
159
134
139
188
120
174
176
130
136
170
125
207
146
165
155
207
217
220
137
218
217
121
171
138
164
209
178
201
129
179
170
203
192
191
205
139
208
159
200
157
216
184
179
172
161
130
198
152
122
126
217
206
203
145
137
220
173
200
220
177
210
154
214
169
159
125
124
145
219
137
214
120
122
184
194
208
202
207
148
199
173
158
215
179
140
124
178
155
161
163
142
185
167
176
125
182
174
213
121
171
139
144
209
159
193
135
204
166
157
143
119
116
108
149
124
121
117
103
129
120
143
123
109
116
127
126
105
104
119
123
136
105
117
127
115
142
106
118
106
129
113
132
126
132
132
115
118
115
127
115
122
140
143
130
117
148
100
118
105
140
121
104
103
120
147
100
113
130
120
147
126
140
136
143
110
107
118
101
142
131
111
111
122
150
146
103
122
150
114
102
127
127
106
132
111
115
135
110
103
116
116
139
116
107
115
150
115
123
128
147
148
133
149
142
117
109
143
113
104
106
129
126
136
124
144
108
104
130
128
142
106
108
127
102
124
108
103
121
135
144
131
135
135
109
126
115
143
145
117
107
143
109
120
149
211
176
169
204
159
206
162
198
196
144
210
170
142
122
220
185
186
121
149
215
169
209
162
209
129
165
158
183
133
214
160
120
135
178
149
172
190
177
161
159
151
174
214
135
210
145
213
173
194
205
161
120
189
166
131
155
162
196
143
208
188
220
153
132
150
157
196
154
138
198
212
124
173
161
214
163
123
147
177
205
215
195
155
206
192
210
126
190
147
175
168
153
213
129
216
162
216
138
212
162
175
185
163
152
159
126
135
127
198
158
210
136
142
210
156
163
196
165
164
190
161
121
121
220
147
215
146
208
136
208
215
185
140
144
202
105
106
137
138
108
149
126
103
132
117
145
141
129
107
119
100
144
110
127
119
101
137
120
135
149
132
128
142
104
124
141
115
115
122
116
126
117
137
140
104
139
139
142
147
146
114
135
125
100
145
133
109
122
116
104
113
127
146
103
109
147
134
144
112
129
144
103
147
105
127
123
139
111
141
150
128
104
131
139
111
103
148
138
131
116
120
127
125
118
129
125
111
100
142
146
126
136
140
103
115
125
121
147
102
140
107
131
144
102
135
141
136
142
111
146
100
120
147
140
101
130
121
138
142
107
136
140
100
142
114
136
120
132
143
109
127
127
100
111
132
111
135
129
110
123
110
106
112
121
133
141
112
144
101
135
111
111
106
135
108
115
121
150
146
135
110
127
116
157
191
183
138
196
125
220
218
145
178
217
169
144
194
170
205
171
143
219
162
177
172
181
166
176
147
153
170
124
209
192
169
145
160
175
120
201
215
167
206
151
149
153
216
217
186
129
171
197
159
139
138
160
121
124
171
130
171
181
170
218
206
201
205
122
208
131
210
172
217
136
196
133
199
203
187
150
166
182
181
194
171
202
163
154
145
169
184
178
196
148
185
142
184
206
192
150
154
136
185
174
195
199
125
202
173
147
206
156
218
178
147
157
181
184
164
206
219
150
170
158
192
120
212
211
190
120
214
158
155
150
171
143
212
190
176
163
143
208
220
209
166
200
150
145
172
146
159
146
219
210
178
154
220
198
162
139
101
118
138
123
139
146
129
115
115
140
102
144
117
111
137
100
130
104
116
133
107
148
149
110
108
141
113
134
101
141
106
103
102
130
125
139
124
123
142
130
107
146
138
134
132
143
117
128
121
134
149
125
130
103
142
118
133
135
117
108
146
145
111
114
106
134
149
121
122
146
104
102
142
103
123
139
108
147
140
103
142
150
105
128
148
101
143
112
140
105
107
111
148
114
136
107
142
134
110
127
141
107
138
118
135
125
119
131
130
129
112
145
111
135
128
117
111
120
142
121
125
135
117
128
100
119
140
143
107
118
107
142
179
160
217
171
142
179
144
177
153
189
145
198
204
123
218
178
172
120
167
194
126
204
130
164
195
172
213
170
129
219
146
175
137
198
205
210
178
122
200
144
122
122
193
162
148
202
187
184
165
190
214
211
192
186
177
174
176
134
194
163
128
139
207
171
162
127
129
161
171
199
170
188
157
207
152
164
125
182
169
209
182
121
216
135
217
146
126
204
175
128
138
208
159
204
180
206
206
164
166
198
189
126
141
196
209
183
217
215
127
205
199
128
177
218
150
193
162
158
193
140
129
189
207
181
181
176
201
151
149
125
200
200
185
140
184
183
152
157
198
209
190
132
196
152
178
192
196
214
149
151
204
169
138
152
206
183
132
135
139
182
181
125
107
137
104
136
100
113
100
125
149
133
120
122
109
138
115
116
127
147
100
144
141
124
115
105
135
133
102
142
105
143
118
129
138
127
141
124
141
135
108
144
149
111
125
117
117
109
147
100
137
104
143
114
134
118
108
129
135
116
106
132
134
112
137
129
119
131
109
114
139
137
142
117
116
114
141
115
130
111
150
131
104
112
111
147
145
130
141
145
101
109
146
148
148
108
111
107
107
137
126
132
122
136
133
131
102
128
125
143
149
117
143
138
104
129
121
112
111
150
117
124
131
148
138
150
149
123
110
117
146
149
120
124
121
133
141
109
101
106
150
127
143
220
219
141
220
212
149
175
171
161
181
132
192
166
148
203
220
220
205
156
206
148
168
201
214
163
145
121
148
157
205
207
126
203
147
163
167
216
218
123
215
128
140
211
123
174
144
198
128
205
155
176
146
171
134
168
199
197
195
147
130
156
133
193
177
120
176
201
211
202
220
131
218
198
158
159
174
138
127
166
134
192
188
203
133
165
217
181
183
158
195
170
197
208
174
182
217
134
210
159
139
138
146
170
204
138
220
154
181
201
156
152
178
136
169
195
173
169
187
176
159
212
154
161
182
162
145
205
186
146
120
201
219
149
216
201
171
132
213
184
166
169
159
140
112
123
133
108
137
127
143
114
129
124
113
126
124
146
143
133
114
120
127
102
135
117
131
115
142
143
114
129
121
108
107
142
100
124
131
129
126
107
131
132
137
138
109
127
113
100
137
142
125
112
133
119
145
150
107
142
121
142
148
131
147
121
100
146
130
131
100
119
150
131
140
136
150
103
104
107
112
128
102
115
150
123
125
124
102
118
146
110
137
105
126
101
125
117
146
150
115
100
108
128
136
127
112
133
122
103
131
132
125
115
125
143
120
112
130
121
129
143
133
106
121
146
119
108
110
130
139
132
105
103
116
146
126
129
140
121
113
119
107
136
144
145
144
140
142
122
115
136
108
140
119
122
123
132
119
142
147
106
117
114
147
139
127
126
118
117
112
104
106
122
196
168
125
214
138
130
127
182
129
185
134
168
152
182
171
183
165
219
169
158
140
150
206
188
210
144
170
170
159
163
157
137
127
189
205
152
181
130
124
128
142
126
156
170
137
131
201
172
189
139
160
156
122
151
180
219
160
185
207
139
171
157
134
125
184
124
179
191
181
125
136
205
161
153
199
178
171
158
208
186
129
139
153
187
174
160
190
153
202
187
122
174
169
141
153
216
188
198
198
216
176
173
196
130
130
154
211
174
122
147
145
163
189
193
145
198
157
178
194
195
140
124
212
132
201
139
170
192
137
141
196
128
159
171
195
120
189
175
161
124
187
205
150
176
206
173
125
176
136
214
189
205
127
217
195
174
198
180
185
143
131
138
141
136
121
121
150
103
147
148
143
129
148
141
106
147
143
104
126
120
136
144
145
130
129
101
120
137
126
150
121
110
133
118
119
129
148
130
135
125
111
101
127
105
130
141
116
103
103
135
134
143
137
118
114
147
149
125
127
128
104
136
137
128
100
132
150
118
145
115
119
113
136
120
131
118
138
104
103
131
115
107
134
149
130
110
138
126
120
135
121
129
147
123
107
105
125
102
122
122
112
111
135
146
104
101
148
143
114
106
133
112
142
133
100
149
101
102
134
107
118
100
147
126
144
133
119
108
111
110
119
117
124
130
112
150
113
119
147
130
122
145
113
140
140
141
111
121
131
193
160
193
171
140
197
171
126
159
208
120
131
220
182
174
134
149
136
131
202
205
169
168
192
156
128
181
200
188
200
130
144
193
176
187
154
216
213
202
163
199
193
151
184
197
158
161
183
172
206
197
196
197
201
131
152
184
210
131
137
204
188
166
175
145
169
156
187
160
180
133
140
142
180
167
209
203
184
127
160
159
184
139
196
177
178
202
179
214
217
140
165
180
189
189
162
126
184
151
134
131
124
176
205
179
190
129
216
129
203
216
211
134
188
124
169
206
197
139
184
148
202
207
215
124
171
174
124
186
205
207
124
178
132
139
184
210
168
150
168
177
141
143
146
197
193
167
193
180
156
156
197
204
141
172
218
152
153
196
184
154
139
117
103
137
135
103
100
128
114
137
117
143
107
135
100
118
143
106
132
145
128
141
140
110
114
144
110
107
112
133
146
141
100
122
130
138
120
150
142
144
115
141
117
133
122
120
107
133
125
116
114
137
138
121
108
132
133
122
123
146
117
135
138
116
123
118
125
129
117
147
108
147
150
103
126
107
111
115
150
149
147
128
122
126
147
136
141
126
131
105
116
104
106
150
114
146
148
126
107
135
131
143
145
131
141
111
127
117
102
102
100
120
102
106
111
115
114
107
140
121
147
120
132
145
134
140
140
142
136
124
128
111
143
144
150
107
119
135
126
132
149
113
149
133
138
120
114
146
108
144
100
131
148
150
113
110
136
124
145
140
111
103
147
110
129
111
136
126
126
128
100
106
165
153
201
149
151
211
200
142
191
147
197
210
187
146
212
180
136
132
125
127
139
122
155
152
194
217
163
217
203
184
165
130
176
211
146
141
215
218
158
142
155
143
219
181
121
195
188
148
161
193
167
199
167
210
143
187
168
173
165
134
132
177
153
194
147
153
147
155
141
216
186
187
154
158
195
198
127
142
138
177
153
179
146
200
208
173
156
198
186
139
190
148
150
168
191
166
186
155
142
131
189
135
123
134
210
207
215
123
150
141
183
181
190
177
196
164
194
193
148
202
169
161
163
207
180
173
217
169
157
155
187
214
148
179
163
144
124
166
199
149
161
214
198
152
158
155
181
112
118
115
142
123
150
139
118
127
147
137
130
117
115
136
123
136
127
143
110
124
136
137
143
106
135
136
110
132
132
123
141
127
126
138
109
118
143
108
123
128
126
102
124
103
137
120
123
115
123
147
121
130
101
144
110
115
145
111
144
148
103
148
106
114
118
103
137
142
105
141
149
140
102
134
134
136
107
124
108
140
141
106
111
146
121
142
124
131
150
128
149
136
113
104
121
125
100
105
146
118
127
106
134
143
140
113
146
113
105
110
125
127
118
129
135
125
135
136
133
127
145
121
121
130
132
134
135
118
101
107
133
143
101
114
130
102
106
120
150
132
146
103
102
138
140
108
127
131
143
139
136
101
123
123
128
128
134
104
193
127
175
136
200
138
173
125
155
208
191
190
216
156
192
126
138
172
166
158
173
153
151
150
217
146
219
217
217
134
177
121
195
139
162
186
213
190
168
126
158
179
198
181
206
169
142
206
201
190
216
152
145
142
198
214
179
180
120
129
121
159
150
157
149
190
154
164
219
170
137
120
194
196
189
211
144
215
137
144
150
130
141
203
193
146
133
121
131
123
121
147
164
122
164
150
170
166
138
191
143
177
165
150
177
214
175
141
189
179
133
140
155
165
125
121
165
169
163
183
128
202
218
206
216
125
163
215
169
127
205
145
128
140
122
184
139
128
200
211
150
182
175
202
213
206
212
183
120
178
181
161
126
155
181
174
136
166
196
173
197
190
103
106
136
122
131
118
128
118
101
109
137
143
127
137
143
117
113
114
120
143
100
144
138
135
144
105
118
118
110
132
116
109
102
109
107
135
133
150
113
117
120
130
139
134
106
114
115
134
116
127
105
148
127
142
148
112
146
112
129
143
118
121
118
100
140
146
117
126
149
101
138
135
120
106
150
136
114
121
102
124
110
109
127
109
126
106
138
137
112
109
124
119
123
121
124
124
146
132
133
133
122
114
100
119
105
116
136
122
141
125
131
142
119
123
137
113
142
106
104
111
106
130
115
138
112
131
135
127
128
104
148
149
135
107
138
115
131
137
101
143
104
131
146
136
130
131
145
122
123
140
122
118
149
118
106
103
105
130
122
112
106
138
145
101
118
103
114
150
123
149
141
137
151
214
157
189
175
179
172
215
161
191
186
195
166
168
193
186
189
194
132
206
134
200
151
194
142
220
129
141
162
157
182
125
158
198
189
189
129
145
141
150
177
170
210
199
146
192
153
215
203
124
174
204
177
206
173
167
159
173
206
211
179
200
164
211
160
143
153
153
190
149
205
188
174
177
204
174
195
164
193
213
162
143
159
213
202
186
216
143
146
139
152
144
148
159
219
126
176
167
140
157
155
205
211
209
192
202
177
195
207
125
122
207
159
134
128
153
128
190
148
202
133
122
218
203
186
200
144
158
176
196
179
120
214
192
217
151
135
220
212
186
121
215
193
153
181
211
168
174
185
166
148
187
152
199
141
209
180
211
124
201
185
133
131
137
142
137
115
148
131
132
141
101
134
146
103
148
105
129
105
108
146
105
107
108
118
123
105
145
149
125
128
105
108
131
113
149
115
106
109
142
124
102
149
107
104
141
102
140
150
145
127
110
121
134
143
145
119
146
133
113
101
122
122
100
126
138
112
122
128
128
119
118
137
106
113
142
128
104
137
117
102
149
109
136
123
128
103
141
120
101
126
100
123
100
107
126
136
121
114
126
126
105
126
137
131
135
111
144
129
126
129
130
144
115
100
113
106
126
144
118
100
128
106
124
132
122
148
150
136
124
143
107
132
148
106
146
134
129
135
130
143
135
125
107
113
133
123
128
115
110
148
122
106
117
144
147
128
113
134
111
108
119
104
162
196
136
187
128
159
147
162
156
121
180
213
183
209
165
198
129
153
155
138
130
207
137
186
165
197
151
137
155
192
122
204
202
182
164
154
178
150
187
217
185
197
182
174
124
145
173
154
197
142
161
140
143
187
160
121
161
199
220
125
209
132
197
195
165
165
204
155
140
161
153
218
136
177
134
153
206
207
205
137
154
205
155
127
170
160
197
147
133
139
183
128
214
124
148
120
121
129
187
210
171
150
204
211
216
212
144
199
185
130
132
129
153
216
127
173
157
213
166
181
203
190
135
146
121
217
202
121
117
125
145
123
124
120
132
109
109
119
144
105
150
101
108
113
146
107
142
116
102
106
148
137
128
143
135
116
146
113
117
115
139
109
108
100
117
100
150
130
102
111
117
100
100
114
107
104
111
141
120
110
117
119
104
149
144
105
100
149
138
121
128
125
110
108
132
133
120
103
135
117
146
107
131
150
101
126
142
109
127
135
120
108
109
119
146
129
105
140
110
107
107
113
124
117
103
137
121
123
142
122
121
141
111
126
145
148
106
112
130
142
119
140
145
118
134
128
146
113
124
137
147
149
104
124
119
137
199
199
131
214
199
179
131
191
133
133
146
158
202
139
183
211
194
141
164
197
158
174
131
142
145
190
217
154
207
171
156
164
150
177
128
145
196
124
196
120
158
146
176
211
151
186
153
172
141
150
140
142
187
148
217
206
209
163
169
153
144
124
197
207
171
187
167
206
205
217
168
201
147
184
143
190
186
164
136
133
142
132
190
217
126
195
145
132
199
155
204
209
212
206
208
133
132
215
207
158
201
173
143
146
128
190
175
138
158
214
198
197
163
132
211
126
141
165
123
169
155
199
124
139
177
152
198
133
216
207
175
186
217
177
191
199
197
200
125
167
130
160
129
208
205
183
150
180
135
136
208
208
167
179
131
158
166
175
126
128
114
129
141
149
125
121
102
102
140
120
102
100
107
139
122
130
114
108
136
148
114
105
140
123
124
103
120
142
136
140
101
150
129
136
141
130
115
133
138
122
133
142
103
148
101
148
113
119
127
119
129
105
135
110
122
118
148
112
132
104
101
144
109
100
118
130
101
113
104
119
107
134
118
150
147
105
129
142
105
143
124
145
118
121
110
100
111
149
133
125
133
105
102
143
132
108
138
131
120
145
124
146
119
112
114
100
104
127
129
101
148
111
124
137
130
126
131
137
104
115
117
139
113
102
104
134
123
113
130
114
122
111
100
125
152
161
210
123
150
173
217
141
145
200
210
127
123
197
120
177
120
174
194
195
210
137
122
185
163
173
143
148
212
146
176
211
137
129
181
202
120
126
185
177
164
203
161
154
199
127
174
194
172
185
203
198
147
178
124
213
185
175
163
164
188
200
142
120
126
184
154
154
137
167
148
210
211
121
136
220
140
163
179
139
136
198
123
187
186
203
172
174
129
174
176
127
158
180
181
213
185
214
152
169
160
207
191
173
158
185
124
166
154
125
168
200
218
211
137
135
120
179
164
165
179
220
170
198
159
145
128
200
184
152
214
214
188
120
213
162
219
191
158
156
120
142
199
143
210
138
133
125
132
143
138
117
129
134
134
105
117
118
128
124
104
110
100
127
121
108
127
106
141
105
129
145
142
124
112
145
109
116
141
144
106
114
108
113
119
137
139
127
131
118
109
117
120
149
120
101
124
124
137
126
147
148
111
100
131
113
120
117
123
149
124
110
105
149
124
120
127
138
121
117
104
116
150
138
142
141
131
107
131
102
115
125
116
137
149
111
120
144
137
113
105
148
131
136
113
131
136
108
117
144
100
100
111
108
109
150
114
111
117
141
106
129
115
100
123
109
138
119
134
130
131
105
131
104
118
137
142
137
145
126
137
137
133
188
127
187
164
128
190
146
146
215
218
210
190
204
189
147
171
216
161
205
143
191
166
214
177
193
121
122
213
123
214
121
139
125
211
181
177
140
194
143
194
167
161
138
187
203
132
189
140
144
156
211
203
165
120
215
136
138
190
147
191
193
200
198
206
201
165
138
209
173
216
125
199
147
172
198
180
214
190
164
132
168
181
199
123
192
131
204
210
212
189
148
220
157
158
151
201
148
160
131
175
181
149
142
216
204
154
150
145
198
169
193
130
128
158
170
177
190
183
136
136
203
218
187
129
197
120
183
194
158
220
204
124
143
124
129
138
116
117
122
134
134
140
149
118
100
142
120
137
135
131
123
147
149
145
123
101
124
148
137
107
136
101
146
141
122
114
133
117
117
100
106
131
135
134
131
139
106
111
107
108
101
117
150
100
133
109
115
119
108
137
110
107
141
141
132
129
128
129
104
122
138
105
123
124
114
142
103
148
137
113
107
138
112
141
106
126
134
137
147
112
127
140
113
141
134
140
139
127
114
123
110
113
103
100
140
136
100
118
119
108
126
124
141
102
110
138
144
122
126
121
120
137
115
142
143
142
134
129
113
104
135
109
106
127
147
138
146
118
108
117
116
112
104
123
113
115
150
109
150
115
122
123
201
182
201
216
126
146
156
203
215
138
168
152
198
130
136
187
185
195
211
167
157
126
159
220
156
138
202
131
153
202
131
190
165
126
173
161
188
213
153
187
203
129
206
168
155
198
215
153
204
181
132
212
166
200
195
157
204
216
155
204
127
217
198
178
120
214
133
166
164
128
215
144
191
175
124
184
181
164
144
140
158
164
122
206
173
210
130
137
132
185
142
160
201
184
214
131
159
120
169
213
154
203
137
212
175
121
183
158
127
204
137
182
166
167
193
167
208
177
125
213
218
212
141
181
173
124
181
164
212
207
197
143
197
166
213
196
126
112
115
108
141
134
121
149
138
139
118
129
146
122
150
110
114
116
129
114
146
145
140
119
150
145
107
103
138
150
141
129
126
112
111
143
107
126
126
103
126
140
135
108
124
137
147
110
106
113
123
114
125
130
138
148
129
116
112
112
127
135
129
106
104
148
138
142
118
119
132
120
127
144
148
100
113
139
114
108
108
107
111
128
146
147
129
123
105
141
146
102
127
125
111
136
113
144
101
136
119
112
126
120
119
134
100
102
143
141
106
149
127
116
139
105
127
127
109
148
130
132
117
149
136
135
150
115
122
112
130
106
144
115
109
135
140
103
126
144
145
147
118
110
142
132
107
141
106
123
121
106
150
149
104
128
142
138
129
177
186
154
128
163
145
135
218
130
189
146
145
156
130
161
174
176
179
131
142
184
134
129
185
166
180
139
123
175
125
141
193
142
219
219
181
193
210
185
123
164
172
146
214
144
130
124
135
170
203
163
147
159
121
157
206
218
122
219
171
158
121
208
147
135
166
126
183
190
178
206
171
199
153
213
188
133
165
175
218
155
162
168
141
208
190
197
162
167
174
156
158
143
149
195
219
183
158
171
131
150
138
215
175
213
214
166
141
173
214
175
123
204
149
178
193
148
152
143
172
213
127
150
124
210
146
220
181
156
131
158
135
147
123
172
198
189
213
135
138
145
198
148
213
216
149
122
125
214
174
176
138
142
213
116
105
133
102
136
134
127
121
150
129
126
150
149
134
136
104
103
121
149
121
138
113
103
115
127
142
144
104
142
121
109
109
109
144
142
127
100
149
125
109
122
120
119
125
100
119
109
124
148
104
126
104
124
123
126
108
121
113
138
125
106
145
145
128
133
146
144
145
140
143
112
118
139
132
115
105
138
113
135
144
132
101
115
143
149
121
107
117
113
131
143
135
119
115
135
148
132
124
119
109
133
136
124
102
146
137
100
109
127
148
116
119
109
140
135
113
121
117
125
100
111
129
124
135
105
133
136
107
133
150
133
126
127
101
123
131
140
130
127
146
111
170
122
220
191
169
209
164
183
140
140
201
186
150
204
131
176
147
171
155
207
159
145
206
142
182
126
190
220
179
122
120
145
151
125
186
184
129
124
142
134
151
162
217
205
196
194
144
184
191
142
161
131
141
204
129
191
135
120
123
124
203
184
158
151
204
206
176
145
128
161
192
161
212
136
213
195
182
131
198
155
128
192
160
146
132
165
124
152
161
138
185
214
199
181
160
199
131
175
142
131
192
137
130
159
173
170
136
220
122
215
193
133
157
198
167
156
134
132
146
140
121
153
132
165
189
134
158
148
204
190
144
182
182
168
121
147
132
104
113
134
137
130
136
136
146
105
110
130
111
120
126
127
120
125
143
101
115
120
101
112
114
143
133
138
109
139
120
135
113
149
123
119
146
123
132
101
105
101
104
137
126
128
106
118
145
106
131
130
147
112
114
104
133
132
100
145
141
131
103
147
109
114
105
144
131
131
110
117
135
108
104
102
135
101
104
103
103
139
108
113
134
106
113
139
122
149
135
110
146
150
129
149
120
132
131
137
121
129
148
120
145
139
139
141
102
129
146
148
105
102
147
139
150
140
123
107
141
115
100
133
127
102
111
118
131
134
138
141
114
140
111
108
113
111
119
130
131
101
142
141
122
108
134
140
110
139
125
136
133
103
134
149
103
147
142
141
101
117
106
104
126
162
125
128
171
130
148
143
164
125
214
136
212
170
166
198
205
146
190
190
183
156
154
214
201
144
127
184
168
143
145
120
152
169
194
214
160
192
122
128
133
136
180
121
196
179
175
173
201
182
151
191
123
172
209
122
142
214
217
208
218
150
209
131
147
157
170
141
177
192
154
206
213
181
175
151
148
163
155
186
144
194
200
160
144
144
189
166
192
200
217
153
144
189
193
167
188
190
201
166
150
160
210
168
171
188
127
157
136
185
210
197
132
147
139
202
181
155
160
171
197
120
126
214
220
121
125
174
138
195
127
135
137
185
205
216
208
214
133
103
100
150
125
142
100
134
148
104
144
110
131
128
115
133
140
116
148
102
112
122
136
147
104
144
120
108
127
148
144
136
107
117
105
128
106
116
134
124
105
101
149
140
107
125
141
130
107
114
112
122
149
108
100
129
112
133
104
102
118
137
147
124
145
116
136
103
121
122
106
103
111
123
110
110
148
101
138
135
108
113
140
100
140
109
144
125
100
143
122
125
148
134
129
116
135
101
102
133
147
132
134
111
128
120
136
123
113
147
115
144
108
150
102
118
128
140
113
122
131
123
100
149
119
149
112
101
107
142
119
124
141
118
144
103
119
145
125
115
108
108
138
126
109
118
107
112
145
132
101
125
104
114
147
128
119
130
127
134
155
155
197
187
212
189
201
166
195
155
148
124
141
203
159
132
217
192
156
160
128
145
131
215
155
120
200
198
166
212
187
199
183
211
177
176
177
189
170
157
191
122
157
197
189
185
203
219
158
203
123
153
141
197
125
197
153
177
134
153
128
146
161
216
168
144
153
120
129
172
209
127
204
145
190
145
162
162
206
138
180
192
172
219
154
120
149
214
168
157
155
180
196
134
129
141
165
217
141
130
214
189
210
152
183
162
130
164
121
144
193
187
138
200
192
150
168
189
175
140
150
140
178
158
168
144
183
210
148
188
177
162
198
121
139
193
124
207
125
164
178
152
129
149
142
122
171
126
159
143
164
208
158
122
124
113
140
128
143
104
127
123
148
139
134
141
110
143
145
150
126
113
100
116
147
130
112
150
138
117
129
113
117
116
122
138
108
115
139
122
134
122
146
101
107
129
126
108
112
103
117
124
146
121
135
114
111
108
111
116
145
124
123
114
117
105
134
148
143
133
133
115
101
114
133
105
113
116
125
123
150
140
142
116
114
133
133
146
140
134
124
129
130
110
146
142
139
121
108
128
121
117
123
138
114
117
101
100
132
132
127
106
147
122
126
139
107
132
122
133
124
116
139
106
123
102
106
138
115
141
108
112
106
114
102
132
134
139
103
110
128
143
138
124
123
127
136
125
132
100
101
115
101
128
146
145
148
104
151
130
181
132
170
125
158
196
179
157
170
159
202
216
174
197
164
135
214
161
153
188
180
144
202
133
153
149
172
205
141
204
139
181
159
217
193
219
132
128
147
203
172
157
187
158
160
195
160
206
185
185
137
152
150
156
215
147
120
157
170
134
137
213
183
196
140
172
215
186
189
158
175
175
144
201
153
207
178
154
206
189
130
180
154
154
126
165
132
206
213
213
171
145
161
211
127
128
192
154
160
124
197
153
126
143
159
220
146
142
207
135
131
193
191
154
141
185
130
220
171
204
152
139
176
153
133
160
142
148
132
168
183
168
164
209
151
125
155
202
203
168
177
122
172
192
138
199
158
128
182
123
217
211
133
181
134
164
128
188
168
132
153
199
187
138
107
119
142
114
114
129
116
139
142
118
123
148
147
120
109
103
150
106
102
139
126
104
135
101
111
116
116
133
141
125
143
101
135
139
128
149
115
126
113
119
119
137
128
137
131
132
128
103
142
134
118
136
112
104
131
110
113
110
113
116
135
142
115
131
150
127
105
137
109
147
113
100
119
108
137
138
114
135
102
114
139
141
100
133
115
136
126
128
129
142
105
132
116
105
103
140
117
130
115
128
136
143
114
145
125
145
136
104
129
129
106
122
148
137
122
105
131
127
139
143
113
148
134
143
106
104
136
140
130
115
130
166
150
160
167
157
121
212
134
124
212
173
193
187
128
165
204
163
143
127
152
198
156
216
162
161
186
160
153
212
159
215
184
126
123
143
206
211
149
176
139
195
148
191
144
190
217
178
215
164
148
180
166
154
187
200
209
198
137
137
215
177
197
180
173
216
213
213
188
198
146
181
150
198
172
205
141
192
171
122
188
142
217
136
169
121
209
195
192
217
175
137
212
214
210
149
160
212
130
198
207
160
177
120
175
144
161
177
200
166
161
156
138
125
203
182
122
172
189
171
181
129
162
138
215
220
121
207
199
203
189
170
131
167
207
121
179
124
122
206
160
215
158
178
139
162
123
183
152
210
116
108
131
106
107
100
103
123
108
125
125
122
101
148
130
106
118
119
132
105
147
142
132
118
113
125
114
101
134
144
110
146
105
131
143
142
118
144
126
130
126
136
136
100
116
148
139
106
104
116
120
112
123
113
102
135
116
127
119
118
136
140
105
150
107
141
135
115
141
141
126
115
113
141
141
145
112
137
108
130
102
140
129
126
102
117
101
131
104
107
131
102
138
128
105
101
146
126
112
137
125
143
126
114
123
142
115
120
124
123
141
135
106
127
125
124
145
145
133
116
117
135
124
146
105
112
137
104
102
102
109
100
120
128
151
187
173
216
220
220
195
213
208
123
210
122
120
166
148
206
205
187
186
201
157
214
145
135
193
142
217
183
210
120
144
140
205
150
123
150
160
145
188
172
140
136
204
132
121
203
186
186
194
206
206
171
152
167
125
151
214
129
150
218
203
191
143
172
188
197
219
187
206
191
155
161
176
201
150
177
130
202
216
209
135
173
167
147
137
207
214
216
202
159
154
199
204
124
164
192
205
219
190
154
140
132
127
149
216
218
184
165
195
220
196
132
192
198
202
164
205
188
129
201
206
166
187
181
123
144
217
158
202
163
220
203
152
212
161
123
165
197
132
193
153
195
213
204
219
149
140
212
201
203
180
156
193
148
132
143
121
131
128
114
115
103
118
103
120
105
146
130
149
104
150
116
137
138
115
129
118
148
145
135
112
139
104
146
136
114
142
127
123
120
131
127
136
123
103
140
102
123
124
146
142
118
128
103
118
124
114
113
135
150
146
117
135
132
120
146
115
115
124
104
144
118
149
136
130
149
130
145
120
129
147
119
132
145
138
142
107
104
106
145
127
132
112
134
133
101
101
138
141
131
133
127
106
116
116
150
142
110
105
144
149
126
129
116
145
117
137
105
139
133
117
147
113
133
108
115
116
112
139
149
110
132
113
118
124
148
105
121
108
149
128
113
117
105
127
105
149
141
143
129
114
112
119
103
145
101
102
155
148
142
163
217
220
170
123
158
209
165
141
189
180
219
158
192
161
145
199
167
175
173
165
175
214
209
204
178
148
173
220
176
135
196
203
198
165
173
186
194
220
164
124
126
201
167
169
205
207
136
146
188
130
146
202
214
123
169
169
132
209
187
164
192
152
132
180
217
189
149
148
175
196
200
133
180
176
217
218
142
170
184
208
195
137
160
145
187
172
198
205
214
175
123
131
185
154
205
178
214
183
133
194
209
213
135
131
207
141
133
178
162
167
171
132
161
120
144
166
171
212
141
187
200
129
187
203
207
209
177
151
156
197
169
206
210
147
152
160
126
143
112
137
101
145
105
145
147
134
115
124
127
125
145
107
120
104
112
102
107
144
107
102
134
112
142
131
119
102
133
146
141
103
145
145
140
108
101
142
135
142
102
104
147
136
113
108
115
109
139
100
147
105
105
120
114
100
104
115
146
122
135
144
126
133
131
143
115
137
116
138
100
125
123
144
128
145
135
117
148
138
118
138
146
121
128
110
139
132
149
112
138
150
100
110
128
143
113
146
136
107
136
134
107
109
144
100
128
102
126
116
147
129
110
110
116
134
114
109
117
105
150
135
104
141
123
110
140
120
118
108
133
102
148
130
115
127
165
148
198
156
174
131
138
169
125
183
153
160
121
197
205
210
178
160
217
127
180
154
132
149
134
128
126
161
212
189
159
136
157
153
173
142
187
207
148
211
128
169
175
152
205
213
130
175
216
172
153
209
144
202
186
216
121
203
186
175
141
196
201
146
161
140
218
209
129
130
146
131
166
151
123
161
151
153
169
182
160
157
125
170
151
123
128
216
166
179
177
164
166
179
218
138
148
162
220
152
155
139
199
201
138
147
186
169
188
205
192
187
150
137
206
123
177
202
181
169
218
175
184
135
120
134
187
180
120
211
136
166
208
177
160
215
173
191
130
193
192
157
172
168
209
139
120
162
157
185
165
201
192
189
137
181
151
153
214
135
134
122
105
131
123
119
129
115
127
133
134
119
114
103
123
117
106
116
131
142
107
127
143
115
144
120
107
127
136
112
128
125
129
136
148
112
123
102
128
116
116
126
137
103
126
131
134
121
127
113
148
145
111
141
101
149
109
120
107
150
119
115
121
149
141
139
120
132
119
149
140
125
105
130
143
141
108
147
131
106
123
126
114
149
142
105
150
133
123
142
131
141
141
117
148
115
140
114
111
110
101
100
117
102
120
127
115
145
149
146
103
112
121
140
104
144
121
122
112
137
118
111
117
138
101
130
148
133
124
100
184
177
169
130
191
132
196
124
127
180
167
151
145
149
124
156
171
149
195
150
164
186
220
166
218
170
126
177
208
218
162
158
133
162
207
181
142
210
193
186
160
121
202
160
122
188
204
120
160
200
213
188
195
167
142
219
130
169
162
210
124
204
182
182
208
175
184
204
152
193
158
169
151
174
124
200
177
204
187
213
185
212
166
220
220
140
176
178
164
124
157
198
154
193
188
139
208
139
155
180
148
208
188
203
172
186
204
130
196
189
184
138
191
157
203
175
127
122
158
156
161
176
212
122
149
124
134
142
147
146
125
174
155
210
219
186
133
209
158
100
148
121
107
121
137
121
138
128
118
110
107
106
111
114
145
139
127
106
105
128
137
111
134
138
107
122
106
112
128
141
109
112
110
117
117
113
144
145
120
137
144
114
104
112
145
119
125
134
124
116
129
104
114
115
134
137
129
130
125
124
100
107
115
142
120
133
127
111
131
115
102
123
102
141
131
111
105
106
105
143
140
103
144
110
132
124
149
106
102
126
122
128
104
110
137
129
122
122
124
130
132
101
113
127
101
114
134
111
138
100
118
108
132
120
103
118
131
108
146
140
121
113
149
117
128
129
107
107
134
120
138
139
143
102
135
137
139
101
149
144
125
115
124
110
149
164
139
132
129
150
161
185
215
128
124
184
201
146
139
193
170
177
120
198
178
142
162
201
130
176
192
146
179
157
153
186
174
169
200
145
200
208
202
182
128
128
218
149
127
132
130
194
131
128
149
157
172
199
161
203
204
191
157
176
139
120
181
176
189
166
169
179
186
151
133
123
174
171
145
148
206
125
159
151
215
122
198
199
174
137
120
184
142
192
143
180
125
180
167
143
155
165
137
190
190
148
154
145
197
159
160
204
184
163
215
141
164
200
129
122
181
129
215
128
125
216
198
188
175
216
205
131
176
128
139
163
175
186
193
208
191
174
170
187
173
197
209
213
215
165
184
152
149
155
212
152
188
130
215
152
176
159
134
133
193
133
137
159
148
196
155
163
166
189
173
216
219
127
207
131
116
128
114
127
102
146
129
141
144
112
107
110
115
130
110
145
128
137
149
150
134
107
107
149
112
127
100
117
123
147
136
149
147
113
111
107
108
104
130
123
139
102
124
141
110
117
132
140
124
147
149
149
120
136
116
119
107
142
100
101
101
133
135
111
114
109
132
106
147
114
114
117
101
135
103
127
105
106
133
118
144
141
144
104
112
141
102
108
131
133
148
146
142
140
142
149
149
127
111
141
123
112
110
147
136
112
127
134
123
149
134
150
107
127
148
141
129
130
136
142
140
127
139
110
109
143
144
120
134
149
112
133
121
128
118
138
104
145
104
125
145
107
145
128
101
115
123
134
134
118
111
120
110
112
131
133
107
136
100
114
105
145
122
135
124
107
119
162
215
136
127
158
179
187
219
172
208
129
196
213
198
141
199
215
218
189
156
146
138
169
121
156
144
164
159
170
141
137
187
185
144
168
139
153
189
205
195
187
126
124
140
177
154
160
156
174
132
127
177
175
152
146
214
127
171
187
148
202
181
204
206
147
208
163
212
155
185
140
167
151
152
128
137
187
219
205
127
171
183
139
218
215
185
177
193
203
219
174
186
171
155
120
158
190
165
122
205
206
188
212
194
182
187
171
209
174
178
155
209
121
185
145
191
163
208
173
142
145
186
153
132
195
166
140
144
154
122
141
147
187
214
150
216
210
219
187
178
162
128
170
177
108
127
115
121
123
106
113
134
144
126
145
126
125
124
108
137
141
111
139
119
139
149
120
109
101
133
110
138
147
126
107
142
142
146
118
102
111
125
143
122
110
137
142
138
113
123
140
131
116
128
134
111
140
109
124
137
124
121
135
135
144
122
107
120
106
149
134
105
136
142
101
101
108
112
150
129
116
137
122
104
148
127
103
103
119
131
124
117
149
102
118
102
139
117
132
138
121
124
132
137
134
150
125
141
128
129
134
107
121
133
125
149
122
149
136
140
149
148
137
108
110
138
127
146
150
109
120
130
130
139
139
145
134
146
148
131
128
100
137
140
148
106
131
117
126
138
154
192
122
214
186
158
211
205
135
148
125
196
135
164
146
212
149
181
214
123
151
129
200
187
151
181
161
157
126
206
215
150
173
135
128
190
175
219
212
200
122
139
218
186
142
215
125
202
136
151
182
202
130
161
206
144
139
139
215
170
138
182
219
212
131
170
180
174
214
121
190
206
131
173
165
130
189
207
124
203
183
163
140
169
206
135
154
134
217
136
210
142
138
122
133
206
152
125
214
216
155
219
167
152
176
156
208
175
141
152
172
189
160
123
171
140
160
165
170
122
189
122
155
162
214
123
212
175
156
161
153
141
131
102
133
105
124
115
147
124
115
100
127
125
146
129
113
131
145
112
140
136
145
100
104
133
109
133
119
116
144
142
106
111
117
100
127
131
142
148
118
101
134
143
118
136
150
125
132
143
130
129
111
106
149
122
114
146
147
140
110
128
102
145
113
144
107
149
110
148
111
104
148
126
130
146
145
117
126
121
128
118
134
148
103
105
142
126
127
129
128
139
150
107
115
141
126
105
145
111
109
135
118
139
132
118
109
140
147
100
121
143
127
112
127
142
116
115
114
143
127
109
108
124
114
111
130
143
134
125
120
111
127
121
142
143
132
162
123
193
168
218
213
120
140
167
147
165
164
219
126
147
145
187
120
207
201
128
215
166
138
188
219
136
190
143
195
171
210
170
217
149
171
141
184
124
217
128
196
151
158
130
196
210
132
205
187
156
132
194
142
216
196
155
220
120
203
210
167
190
220
218
136
164
154
176
129
142
202
137
131
220
169
208
156
157
128
206
181
175
148
204
212
214
131
220
151
203
148
210
204
165
142
126
139
152
171
141
209
140
138
129
190
152
149
207
159
179
193
151
131
135
192
179
165
139
188
138
164
192
218
194
193
220
161
202
132
217
161
154
146
149
179
164
181
134
171
206
157
203
151
123
176
157
195
121
120
198
195
205
191
133
132
122
121
168
147
209
153
135
128
101
113
102
138
146
139
126
113
129
111
138
129
111
128
144
124
105
116
108
131
102
102
118
115
133
141
139
141
136
121
145
119
135
147
149
122
124
142
142
111
150
143
144
150
110
138
115
116
144
143
122
132
133
148
127
108
136
102
131
112
135
108
137
123
106
133
125
142
140
102
112
124
113
126
122
102
144
134
148
101
109
120
111
111
145
129
103
124
137
148
133
123
107
127
145
141
110
108
107
131
125
112
101
148
145
134
134
124
130
102
130
139
128
136
119
126
101
110
113
142
101
113
102
114
148
126
137
108
128
104
102
127
104
106
138
119
133
145
196
199
197
128
188
186
188
126
156
205
155
220
140
156
201
205
128
146
211
155
152
160
215
150
123
184
213
165
129
153
129
170
180
219
132
140
145
211
198
188
129
140
182
154
140
198
159
147
186
196
213
158
158
218
201
181
210
187
196
122
150
176
173
145
121
129
181
218
127
182
219
214
207
174
169
189
203
192
134
147
132
141
207
151
200
124
210
177
186
174
129
153
187
170
160
219
148
211
194
149
172
157
133
203
123
137
192
157
178
176
186
166
198
197
203
184
215
138
176
147
146
166
184
200
186
215
173
153
213
129
117
146
111
108
100
115
108
142
128
149
100
122
112
142
104
131
129
105
123
114
127
148
138
108
147
132
145
101
147
145
115
135
129
101
118
116
143
128
101
104
105
107
124
150
116
131
139
143
144
127
127
117
104
124
116
135
125
129
118
138
102
133
120
149
111
144
120
108
105
113
107
115
142
126
143
100
148
142
123
138
111
143
142
125
148
140
118
121
101
139
144
124
109
108
120
124
143
143
137
143
101
146
135
137
126
131
119
149
110
121
127
145
121
144
138
146
136
132
112
113
142
121
144
147
102
102
129
105
142
135
108
141
136
104
110
129
130
119
129
108
128
108
137
140
103
101
147
140
139
114
128
101
124
135
121
132
147
108
120
128
118
138
105
131
105
125
214
145
196
166
131
165
175
169
163
162
166
132
172
172
174
138
209
140
208
133
144
144
181
152
179
176
160
176
120
152
152
219
123
134
127
170
198
153
133
134
208
145
207
208
213
184
205
211
184
212
220
178
218
198
217
156
147
147
175
216
220
146
172
187
216
217
150
173
210
203
215
203
211
204
138
203
147
158
170
144
195
187
158
136
127
174
176
186
161
214
123
152
148
197
168
184
134
171
160
161
144
220
182
121
211
202
209
181
151
161
136
208
159
183
128
128
176
145
210
136
128
192
131
156
184
191
166
130
164
181
174
154
179
187
188
158
176
124
208
171
120
172
185
144
121
148
183
215
197
157
134
204
134
212
163
196
188
138
149
125
100
112
150
148
149
136
128
102
102
103
128
132
142
114
140
132
144
110
129
121
134
112
130
136
115
111
117
148
135
141
132
105
109
119
124
102
110
118
130
124
108
122
131
136
137
113
110
139
115
148
119
100
128
116
103
114
101
125
126
121
130
115
106
124
124
147
122
146
119
105
139
118
123
137
130
131
148
117
123
149
127
147
101
118
132
130
122
149
120
111
105
118
144
102
141
127
147
106
132
126
112
118
131
115
147
102
129
105
127
134
115
150
120
145
124
120
149
105
141
105
131
138
113
107
148
104
123
179
212
128
194
148
137
168
177
144
169
202
137
171
204
202
166
174
194
139
149
127
171
175
142
177
121
207
148
124
205
174
204
181
122
215
152
152
185
197
189
149
146
174
208
160
173
145
217
204
143
205
146
166
166
218
165
175
171
187
135
130
122
123
137
183
152
149
121
203
136
124
196
131
215
157
169
165
140
212
121
208
120
189
190
121
169
198
138
208
149
154
141
168
170
193
162
149
152
219
188
163
138
179
134
145
220
187
138
206
211
120
194
174
162
203
197
218
179
217
155
154
193
184
165
146
136
181
175
152
153
134
204
197
192
176
210
146
157
145
212
211
141
142
154
198
168
177
133
187
175
197
185
194
125
213
194
122
144
138
130
122
144
120
131
109
137
148
134
117
114
136
147
105
140
100
135
112
141
139
146
117
106
111
149
132
102
106
112
134
128
133
125
120
131
129
135
149
143
109
125
137
109
139
143
132
107
105
118
123
128
104
110
104
124
121
111
118
147
143
100
117
110
128
133
148
142
149
102
143
131
141
135
133
135
128
129
101
142
143
143
103
130
110
120
139
100
112
140
108
133
132
114
137
114
123
104
133
111
138
137
129
134
144
118
142
131
105
150
129
112
139
133
133
136
142
100
100
123
147
138
128
110
118
105
141
119
131
139
110
125
145
144
108
106
100
103
117
144
129
105
108
118
141
103
114
134
112
132
102
145
106
130
126
111
118
109
128
120
211
170
206
155
132
203
161
130
150
215
184
138
168
212
203
204
144
151
135
175
220
128
203
186
196
136
170
196
214
186
123
164
148
138
177
219
190
196
141
124
153
129
172
172
212
189
161
137
167
196
192
163
197
212
158
183
130
139
205
139
152
142
144
177
139
172
207
218
134
187
202
159
207
170
156
175
167
148
160
171
188
188
158
192
217
212
215
178
185
146
141
214
217
179
213
157
212
189
215
145
145
184
144
171
196
212
160
145
121
155
189
198
150
205
138
149
210
176
208
136
149
130
196
209
160
214
209
142
190
121
121
204
157
197
129
196
179
198
146
125
216
156
129
166
202
175
126
111
141
123
120
107
126
122
131
143
150
112
141
106
112
137
146
104
103
119
116
109
141
122
104
148
124
136
110
111
147
110
108
148
131
130
100
101
107
110
148
126
128
149
121
148
131
102
103
122
143
102
114
106
133
125
147
124
117
122
136
115
139
134
129
137
148
136
109
139
132
125
109
136
148
144
143
110
124
133
126
122
127
128
109
127
122
128
114
134
135
124
131
140
131
144
140
147
149
135
113
120
106
135
102
119
109
129
138
123
117
109
113
113
150
144
131
125
108
128
120
119
135
119
110
143
147
101
130
103
101
120
141
100
167
129
133
145
130
167
201
144
174
137
189
128
146
154
157
156
125
179
190
153
161
145
175
212
164
208
140
199
153
133
131
192
125
179
176
138
171
124
185
212
128
174
144
123
166
182
165
125
159
194
200
166
189
209
150
198
205
151
212
192
164
156
125
128
140
194
167
202
210
199
168
202
149
162
182
179
204
143
191
168
194
158
201
168
129
204
208
134
177
213
197
185
154
122
215
137
203
214
129
197
190
121
172
217
206
129
207
145
159
208
135
200
154
165
136
178
158
121
214
204
135
133
202
153
120
174
135
200
152
150
151
175
181
120
103
111
111
125
107
131
142
145
108
122
102
121
129
114
100
130
111
133
118
116
101
135
115
109
104
141
117
103
127
128
126
129
130
102
121
103
100
143
126
131
121
108
131
138
110
102
125
113
130
140
149
134
110
116
149
129
127
111
132
106
147
100
135
144
106
101
106
135
118
103
109
121
122
143
145
150
133
149
138
133
127
122
130
104
137
120
115
109
150
123
108
101
136
122
125
111
125
119
103
103
134
118
116
127
110
116
150
142
111
133
140
113
104
124
122
137
110
146
109
142
142
136
127
137
127
127
118
127
137
121
146
104
147
105
118
119
134
104
122
108
130
133
136
112
131
146
118
119
219
167
201
147
189
206
142
156
172
208
127
148
127
167
186
197
158
206
172
181
152
174
207
147
185
194
174
198
124
147
193
181
214
148
164
134
171
140
148
211
136
152
199
142
160
162
145
203
180
143
199
130
170
199
127
182
121
191
150
191
149
191
152
181
220
219
135
217
206
168
201
153
218
158
183
201
131
188
185
218
211
128
213
131
193
162
145
134
171
152
214
140
137
162
134
186
218
152
164
150
141
179
174
212
198
136
138
134
172
194
130
203
209
214
200
188
164
144
151
220
163
210
154
198
187
193
182
172
163
158
183
216
202
188
139
152
206
159
137
218
171
137
215
131
205
134
166
160
182
142
212
178
145
134
160
209
200
146
189
129
132
142
140
165
211
151
148
159
199
208
133
158
131
128
127
146
127
124
110
125
119
147
123
147
131
144
145
129
131
109
143
107
112
119
113
102
137
122
112
140
127
129
119
106
123
137
111
115
139
123
124
139
148
127
148
145
136
113
142
149
123
147
141
138
125
137
141
150
125
143
100
116
105
132
139
101
135
102
132
147
150
121
100
132
104
135
133
123
107
114
111
141
115
132
141
139
128
135
126
109
126
106
120
114
102
127
124
133
147
138
119
124
134
110
140
119
109
140
143
150
131
133
145
140
117
134
142
144
124
130
140
117
121
124
118
111
100
103
114
129
110
116
147
138
119
127
146
132
108
115
134
128
134
127
130
121
124
134
134
118
148
116
125
100
137
103
139
109
146
106
126
123
103
143
138
124
120
150
118
208
159
210
206
187
187
201
164
137
202
173
218
173
202
211
130
191
203
139
187
214
170
193
152
200
217
179
141
170
171
179
188
140
194
213
191
141
140
156
151
193
180
151
176
158
205
138
220
146
199
165
130
196
145
139
214
157
152
202
154
184
180
120
153
187
152
142
187
181
165
171
148
157
167
122
125
179
145
202
161
149
138
155
199
185
216
127
203
151
191
192
213
193
136
161
171
164
219
151
207
217
132
199
136
126
208
145
215
208
129
152
127
207
144
134
149
151
186
188
179
210
124
134
168
127
122
155
220
169
127
190
189
166
190
163
134
131
219
173
150
209
135
151
176
176
165
157
137
172
125
208
122
211
133
196
126
150
199
171
218
133
132
119
119
142
116
100
148
131
124
149
104
121
102
150
128
140
137
142
135
101
134
143
111
101
142
115
122
116
118
118
131
117
138
133
149
102
137
101
109
102
140
126
134
102
111
125
104
122
141
113
103
150
116
143
121
120
128
105
119
138
134
113
145
101
128
112
111
117
128
140
146
136
129
138
143
122
129
133
149
147
150
120
141
150
112
124
146
125
124
103
114
145
105
146
149
117
122
122
116
102
115
145
136
119
148
103
107
103
108
146
121
134
140
103
136
124
114
112
126
114
135
122
110
140
149
129
137
123
104
136
142
110
104
122
141
115
117
149
117
129
147
114
107
113
134
141
132
108
105
140
115
110
122
133
138
104
117
149
142
158
164
121
150
219
133
205
187
128
173
164
179
201
190
199
203
164
192
163
147
153
214
121
158
165
201
186
161
144
213
157
148
164
192
172
149
151
147
188
172
194
122
214
175
156
160
211
152
182
154
162
151
151
203
126
217
160
191
127
186
133
174
161
175
141
163
168
194
167
123
140
139
206
209
182
138
125
130
207
216
154
214
178
188
207
168
168
201
147
166
152
201
176
127
213
125
151
129
190
177
172
201
188
165
220
218
143
185
121
186
146
183
180
204
123
208
136
211
161
179
139
127
167
195
185
124
177
184
199
172
216
198
126
168
203
195
192
142
131
197
203
153
180
144
144
212
144
123
211
147
208
164
202
197
194
121
132
140
131
114
106
149
125
129
141
130
126
113
101
110
105
102
140
109
129
115
129
141
133
127
106
127
130
121
101
149
120
141
113
124
141
118
128
124
129
103
103
117
118
139
105
145
104
110
115
135
133
143
143
115
140
108
141
119
136
134
110
102
117
128
119
131
144
112
102
149
116
118
108
122
106
123
133
142
149
136
144
134
149
147
145
107
140
114
146
106
144
146
122
127
114
128
103
110
111
116
117
101
110
145
120
113
101
145
143
123
105
131
109
129
136
115
102
117
150
118
136
111
129
128
136
137
113
105
121
114
136
130
107
104
144
110
137
109
148
116
148
138
138
170
184
126
149
184
195
159
127
168
132
139
190
169
193
129
209
169
152
208
173
129
135
208
182
167
193
127
193
124
149
178
143
149
201
180
153
170
127
122
169
201
172
195
166
185
144
135
131
180
162
144
177
211
144
136
178
189
165
121
144
198
175
173
178
165
219
209
195
156
154
193
123
172
206
218
145
208
141
201
169
189
162
211
126
199
200
216
129
190
178
136
143
190
204
161
124
203
196
148
139
204
210
218
186
218
207
220
190
210
160
156
126
171
164
120
178
173
123
122
157
148
147
213
207
203
128
158
131
210
167
208
134
165
216
159
131
205
123
154
156
200
122
215
148
220
135
139
143
170
193
199
162
160
182
143
131
205
188
181
175
122
172
133
165
100
132
123
101
118
148
101
143
127
119
136
133
138
126
120
141
116
146
115
145
130
100
119
112
124
147
149
117
106
104
145
131
143
125
112
146
108
139
115
133
137
125
140
114
146
150
100
122
132
122
103
119
144
116
125
115
121
124
113
118
105
109
111
113
134
125
118
139
134
149
102
106
103
114
127
101
133
131
135
129
110
134
142
101
150
120
138
120
117
131
103
146
107
110
108
117
142
128
136
118
110
140
106
136
112
128
117
139
143
132
135
114
149
134
149
115
136
138
124
112
145
114
150
144
109
135
119
118
113
110
108
116
143
142
116
129
139
124
149
103
105
112
101
110
147
127
114
112
146
105
146
120
126
105
107
121
105
128
135
103
145
126
114
128
217
213
152
148
132
143
126
155
153
174
138
147
167
147
169
190
144
139
186
219
213
161
175
217
182
206
212
190
215
194
184
162
213
192
206
152
126
137
174
122
124
183
215
132
151
128
138
181
195
183
146
141
173
182
122
207
210
143
217
125
167
210
152
182
164
200
208
197
192
194
180
130
154
206
210
205
203
130
141
156
217
171
127
167
127
141
157
192
219
123
142
198
159
179
164
176
141
130
121
184
165
195
135
125
139
122
187
124
206
160
197
128
195
150
124
182
147
203
179
148
161
187
169
188
153
160
186
146
145
194
213
205
128
136
169
186
156
149
120
188
218
142
162
158
158
127
161
142
141
146
126
111
129
115
135
150
121
139
137
139
130
133
129
127
118
123
124
119
127
119
142
133
142
145
123
130
143
119
140
133
122
144
106
100
132
104
109
122
132
115
138
104
147
130
129
150
126
148
148
140
125
124
148
144
136
142
103
110
119
130
118
115
136
138
109
124
144
131
114
127
131
132
142
101
113
137
103
123
103
149
146
123
121
138
138
115
109
139
102
150
146
138
123
146
123
103
120
130
113
127
103
115
126
135
119
103
116
118
110
124
104
120
127
129
117
120
143
125
109
145
131
116
138
146
101
108
130
130
124
121
124
135
102
108
100
105
131
127
116
117
138
124
125
135
133
109
140
104
129
119
111
116
136
143
115
130
111
148
114
130
101
116
123
110
127
119
132
146
194
204
143
204
122
180
214
157
155
128
171
121
121
204
178
122
122
162
183
139
200
173
202
213
131
163
211
213
164
138
120
123
220
193
208
169
206
127
120
203
208
155
158
176
153
173
122
134
179
197
190
180
160
173
167
126
175
148
124
158
139
183
174
151
176
170
158
146
162
134
157
125
219
179
203
129
203
141
123
145
198
209
143
153
184
156
185
125
128
189
138
169
216
209
218
180
180
133
156
193
164
196
201
178
209
149
136
124
170
159
127
199
220
169
172
133
132
164
153
191
190
185
202
186
174
182
201
159
175
210
183
209
130
192
181
122
178
192
151
155
134
199
120
134
208
184
210
214
144
148
215
177
136
168
156
187
163
199
192
199
172
132
136
121
100
131
118
112
120
124
128
100
142
121
144
113
101
113
115
135
105
143
149
115
121
120
123
148
116
124
108
102
136
143
120
149
132
115
143
103
125
129
101
131
120
102
123
139
101
101
129
120
150
103
141
147
104
116
134
117
127
147
138
133
142
121
134
132
107
150
115
118
106
111
102
122
100
112
119
129
121
145
124
143
123
119
122
138
109
107
142
124
131
117
142
122
111
101
126
127
133
116
118
144
126
146
110
129
129
106
149
107
104
125
141
115
138
114
137
117
122
120
119
100
132
104
150
116
127
117
124
103
131
112
133
104
110
139
138
130
147
149
137
118
137
103
133
138
132
105
120
135
109
119
138
149
108
102
150
104
131
147
101
117
128
117
134
111
132
130
103
120
114
123
149
141
148
165
136
197
153
184
209
155
175
163
180
206
153
193
156
156
178
177
152
152
155
182
134
193
148
155
198
165
210
212
203
123
143
146
205
132
134
175
180
128
120
132
216
197
194
210
169
217
188
133
180
199
196
185
171
154
129
182
182
127
180
180
127
208
140
198
166
185
145
218
140
175
143
136
180
133
144
123
139
193
180
212
215
140
152
208
190
141
149
145
149
212
125
173
162
173
127
131
173
144
176
168
214
181
206
167
211
202
168
152
195
131
171
216
210
148
141
210
196
179
129
197
153
210
182
201
171
149
135
161
204
171
155
145
195
189
192
191
137
149
104
148
118
115
147
108
126
149
102
138
144
145
102
139
132
103
112
139
117
118
134
102
139
111
138
105
132
118
136
139
113
121
134
141
143
128
118
118
101
145
144
120
119
146
148
108
149
101
116
136
107
109
121
117
102
142
108
108
125
141
136
123
141
106
145
136
118
130
131
137
148
143
137
100
118
121
109
129
135
127
126
120
146
125
141
107
107
131
106
114
106
135
110
134
115
134
108
137
100
113
117
118
103
122
136
105
149
113
100
107
115
143
128
103
112
101
131
149
116
140
126
113
141
106
148
132
133
130
123
133
116
125
105
115
120
135
134
110
111
122
147
123
142
139
136
143
106
141
121
138
129
118
122
112
124
108
121
118
103
150
118
120
121
106
148
124
136
206
165
153
146
209
209
147
161
174
179
159
161
170
189
208
169
198
122
195
173
151
156
192
169
211
163
192
144
171
143
138
191
177
168
157
201
125
207
148
124
136
129
206
134
131
212
155
177
188
122
217
132
179
187
151
180
209
215
209
153
125
196
188
131
131
203
206
211
153
133
126
216
198
188
121
211
153
156
194
174
158
212
211
151
138
171
203
145
173
176
190
162
201
160
160
141
198
171
156
204
158
193
180
176
159
125
187
200
218
151
145
185
178
218
172
142
181
196
140
161
188
207
154
209
155
136
175
192
149
136
127
143
165
198
171
187
203
157
141
144
208
175
121
135
140
202
194
167
201
123
122
189
132
152
220
176
213
198
196
147
220
205
120
209
142
199
112
106
132
121
116
133
140
132
110
150
118
130
108
148
132
138
136
148
120
134
103
141
120
134
112
135
139
117
103
113
138
146
106
111
104
107
120
149
130
102
109
121
143
140
101
148
112
132
147
100
115
143
120
141
138
131
131
144
101
145
139
105
122
125
142
149
124
135
145
101
112
129
150
141
111
127
117
124
146
133
145
146
111
122
113
123
133
127
120
145
104
130
121
117
119
130
119
122
132
100
102
119
111
142
107
138
149
104
104
102
109
128
141
150
137
116
134
129
122
122
131
104
108
122
130
147
126
106
119
139
117
145
132
100
142
104
109
109
106
108
105
132
137
130
150
131
119
190
127
173
127
154
124
142
176
182
162
142
213
164
151
214
158
123
206
144
159
137
199
206
136
200
175
132
136
187
156
153
172
164
137
206
187
140
175
163
135
190
144
172
187
137
196
157
174
137
198
205
150
130
182
217
192
175
133
190
199
129
126
169
217
125
141
129
168
142
180
121
146
212
121
200
122
131
137
142
132
172
135
187
214
148
156
210
124
190
166
121
138
173
179
156
150
190
200
196
161
130
179
189
192
200
171
127
183
156
141
124
156
123
124
210
131
140
211
138
123
180
212
153
157
143
132
155
153
137
190
193
162
215
209
186
165
205
162
165
128
155
162
120
169
191
214
137
151
121
193
122
141
146
104
117
105
139
124
102
129
112
150
120
147
119
141
108
144
121
111
143
102
122
104
136
138
102
113
107
110
101
144
149
111
146
123
114
100
108
150
138
136
134
121
114
137
121
141
149
113
138
128
119
117
135
119
141
131
141
114
123
125
110
112
100
140
117
145
141
119
125
115
124
128
134
139
123
139
147
111
105
129
140
137
134
128
102
104
112
100
104
110
111
144
134
102
107
140
111
107
111
131
140
130
126
138
141
110
134
122
109
148
112
113
135
105
111
100
103
138
107
127
145
147
121
121
132
112
132
103
117
100
119
118
146
128
124
106
122
104
116
136
100
123
109
108
128
142
103
111
113
120
111
133
138
143
116
103
115
138
100
136
113
120
106
133
119
123
130
183
132
177
148
204
206
188
220
179
170
149
160
189
181
184
160
154
156
191
172
130
210
162
168
207
158
209
159
132
124
173
145
160
157
189
199
177
179
133
150
186
145
214
159
184
137
124
208
144
133
124
220
199
149
179
203
139
164
206
201
135
125
125
199
207
167
169
134
166
199
132
211
178
165
214
169
131
160
211
130
167
151
202
150
164
133
124
172
147
171
209
155
123
164
145
210
189
138
129
139
169
208
190
192
168
138
212
146
214
136
215
179
123
123
137
182
151
204
127
171
176
185
136
127
216
196
189
216
157
177
188
165
145
155
121
139
192
137
136
129
158
140
182
193
215
206
209
157
139
191
179
209
133
219
163
198
201
172
121
143
135
129
127
103
150
129
150
111
143
112
143
110
143
143
126
148
123
129
139
127
140
145
125
128
121
110
102
129
142
134
112
130
103
121
138
112
129
101
117
111
114
127
127
141
118
115
107
138
122
148
145
111
141
146
117
143
116
116
144
148
139
109
139
104
133
104
130
133
126
106
146
129
118
142
144
131
110
142
138
105
107
105
116
147
121
144
110
133
140
128
102
149
104
114
123
140
113
137
140
106
114
101
129
123
132
127
137
149
128
145
127
127
105
138
109
144
135
112
119
107
111
148
126
105
124
105
107
123
126
115
210
154
165
176
145
214
167
131
121
218
168
129
161
208
204
128
135
186
134
157
156
160
218
175
195
165
173
120
127
166
193
143
167
153
191
161
123
160
151
192
134
152
136
196
163
149
130
164
159
179
218
194
219
176
170
211
180
144
165
149
187
137
126
187
177
199
151
151
156
150
142
187
168
151
188
168
159
204
173
137
132
216
198
160
215
200
195
145
198
185
175
166
127
161
129
171
199
212
120
197
153
162
201
125
153
154
160
159
145
193
179
183
188
213
126
140
162
133
218
129
190
148
141
194
145
185
128
141
209
190
217
211
214
144
128
140
206
162
142
211
179
182
214
172
163
209
144
196
145
117
135
129
114
148
123
138
122
139
114
130
114
110
137
104
135
114
126
121
116
117
108
101
127
111
120
102
109
133
113
134
118
141
113
124
103
108
146
146
117
104
149
117
135
137
113
107
108
141
119
124
144
144
138
128
119
133
124
107
119
139
147
150
100
144
143
150
123
138
112
135
123
139
111
105
104
121
134
122
128
114
131
140
116
122
142
111
105
141
102
141
121
108
134
119
143
131
147
138
108
113
140
118
110
100
141
124
146
129
108
141
143
119
129
117
143
120
108
121
137
132
102
149
126
150
118
146
148
118
115
125
126
115
115
150
110
128
138
148
108
149
137
142
142
144
194
203
130
184
219
174
124
120
125
184
177
134
211
208
208
182
139
209
194
206
194
175
166
212
182
220
154
128
137
159
123
176
190
181
180
162
136
175
167
140
211
138
172
165
215
165
154
171
154
182
121
120
130
164
142
205
164
203
151
142
134
165
141
191
160
199
170
165
156
176
157
136
210
165
150
171
192
165
213
191
216
120
167
162
186
173
152
180
126
193
158
211
189
126
140
178
153
181
214
159
166
135
208
131
152
126
147
212
213
138
129
196
146
197
193
175
193
218
218
137
205
141
153
184
130
145
205
154
189
142
184
214
199
190
171
211
184
145
213
163
177
173
166
218
194
142
146
199
102
126
113
108
107
104
149
133
109
133
126
111
110
114
104
133
130
120
105
113
148
105
149
112
142
113
145
140
102
109
102
121
108
119
102
146
109
102
103
120
114
141
141
142
119
130
135
125
125
104
145
149
120
103
127
125
131
100
107
106
124
134
136
126
102
121
115
123
126
150
116
122
134
137
129
120
110
104
120
108
129
139
146
103
139
103
108
111
105
130
103
128
136
124
142
118
103
132
109
116
116
105
147
130
100
148
119
122
131
122
130
111
149
100
122
114
116
145
144
107
123
129
132
140
101
110
131
124
110
135
128
127
140
116
121
113
123
129
151
181
196
218
198
200
123
123
209
190
125
149
171
184
172
169
161
214
201
214
129
214
219
197
183
150
180
138
206
134
184
200
216
143
206
153
136
134
136
153
180
156
150
207
134
196
155
181
219
129
134
214
214
138
172
174
215
148
218
166
188
145
122
214
155
123
219
207
141
199
211
217
150
147
201
194
176
218
198
147
163
178
142
130
220
159
154
142
184
183
155
219
199
155
193
177
134
155
172
217
181
168
218
154
177
216
126
136
121
175
179
164
196
165
122
146
127
187
167
132
190
120
156
182
207
164
188
147
203
137
195
143
161
140
197
206
186
168
201
179
199
144
212
210
126
214
182
155
172
208
200
163
134
135
203
161
217
219
137
159
140
212
120
129
170
135
193
130
122
151
150
145
121
139
146
147
150
106
130
141
128
148
121
106
110
116
101
138
115
131
147
127
109
124
134
141
141
127
117
138
123
112
131
146
115
132
139
139
129
147
100
136
101
113
112
143
127
130
116
122
131
143
144
116
102
108
147
113
138
111
100
145
104
111
109
138
147
150
147
103
144
142
119
137
136
119
141
137
103
149
115
102
137
111
144
116
134
144
126
105
121
148
122
108
145
144
137
140
149
123
118
147
138
109
143
116
104
120
149
115
130
141
111
133
138
135
120
107
116
105
117
104
101
122
150
121
103
100
118
116
133
150
100
148
124
121
144
143
117
136
138
133
102
123
104
129
137
136
144
133
132
146
110
118
115
117
131
129
108
101
131
102
103
110
123
149
113
148
114
101
112
139
135
149
174
202
191
160
199
140
218
187
154
172
191
181
214
134
202
148
207
207
141
129
133
165
213
213
186
220
132
204
188
157
211
208
127
127
189
166
171
149
158
129
125
181
177
200
136
203
173
208
122
176
177
149
210
158
152
171
191
205
170
133
218
160
193
167
146
176
166
219
201
183
220
143
156
157
166
153
201
188
143
169
157
134
209
185
173
148
135
215
138
162
153
145
180
196
132
181
135
193
208
190
162
157
142
176
141
132
212
202
152
153
190
216
141
160
197
219
208
176
166
209
136
156
196
207
167
161
193
120
138
189
204
185
135
213
178
126
194
153
195
204
146
195
175
183
162
167
136
210
173
214
190
138
215
196
160
154
193
130
157
175
139
192
182
157
212
138
116
106
135
127
149
150
148
121
138
100
105
137
114
105
150
145
140
115
136
118
133
103
145
142
145
113
137
134
121
108
104
117
141
115
145
116
124
134
128
123
110
129
101
130
150
101
127
137
142
131
130
117
127
123
145
150
117
103
109
135
112
122
119
105
148
139
127
107
141
115
147
136
130
149
120
118
102
103
150
121
118
107
142
107
105
113
102
122
111
140
105
127
131
100
138
145
143
107
141
105
121
111
150
146
132
110
145
138
126
112
139
125
106
118
132
109
118
147
124
115
103
148
149
148
145
147
139
150
112
106
108
106
143
107
119
150
126
147
104
133
103
130
131
115
142
148
120
148
121
141
108
106
113
133
112
137
131
132
127
141
123
107
116
100
126
107
119
137
111
103
105
129
138
125
191
141
144
155
194
122
130
183
173
136
126
130
159
134
220
151
136
141
204
141
195
126
158
123
184
124
188
183
185
141
187
193
159
131
149
137
195
164
151
165
127
148
200
134
139
210
146
209
164
156
217
136
126
153
213
214
136
134
127
194
218
158
165
212
125
209
138
207
145
156
211
188
156
190
189
178
206
153
187
130
136
215
212
184
205
132
140
143
213
151
147
172
218
187
198
174
169
152
184
122
135
157
125
202
219
143
188
165
196
200
219
132
122
173
130
187
163
184
184
199
220
135
127
146
160
158
156
177
157
146
206
187
205
144
193
218
127
148
137
195
136
101
129
144
129
120
120
128
127
146
148
129
137
125
114
130
108
119
149
133
127
107
149
128
105
133
137
135
146
137
102
107
132
148
132
102
116
129
147
136
113
141
121
149
118
139
124
127
105
108
100
112
103
125
136
137
109
141
137
148
105
103
137
123
118
104
121
127
117
105
142
131
107
108
107
109
114
128
133
102
107
129
122
141
130
147
146
100
117
100
146
115
105
114
102
102
131
117
109
126
122
108
104
102
103
133
126
105
112
149
122
137
116
126
100
138
140
134
129
107
123
117
123
129
138
138
117
114
108
104
131
118
127
177
204
150
217
201
136
129
179
149
217
183
158
162
220
189
211
150
188
136
173
195
153
163
144
121
169
165
157
167
124
206
138
178
203
209
147
163
209
132
179
157
140
168
199
164
203
185
144
157
197
122
148
210
182
216
140
179
181
204
208
164
165
159
185
140
148
123
161
141
178
127
213
177
163
137
142
140
182
192
131
162
184
211
153
175
182
220
142
206
198
130
121
134
150
126
207
135
199
209
130
188
135
164
206
208
184
213
126
203
167
201
160
211
215
127
126
165
138
122
183
167
164
163
164
191
181
130
173
175
131
202
124
135
188
194
136
129
149
132
220
166
158
148
214
188
205
220
205
137
137
174
217
174
186
198
136
186
190
157
192
207
217
154
158
188
177
212
109
109
123
130
141
135
120
111
137
111
148
135
101
101
123
112
102
133
141
141
143
106
136
145
129
133
124
128
111
139
117
149
139
144
148
132
105
127
102
139
129
102
108
126
126
128
143
121
108
150
111
117
108
132
121
111
139
106
133
140
143
125
121
100
103
144
120
102
109
128
117
127
136
125
100
143
126
141
145
112
102
126
128
126
117
119
144
142
137
150
145
148
120
116
112
107
118
135
127
118
119
140
150
144
127
105
117
120
140
145
115
144
126
101
139
113
118
130
100
115
141
123
136
115
128
140
133
110
101
130
135
118
101
144
112
138
165
128
198
158
129
219
158
195
128
215
164
204
201
140
163
130
195
211
128
172
120
146
149
206
209
191
147
189
182
199
186
145
144
137
128
134
220
125
131
159
192
165
212
143
177
165
157
154
164
188
201
186
205
178
205
129
211
216
130
184
151
170
183
124
160
173
217
133
191
176
148
179
208
204
203
182
181
120
182
142
142
185
130
172
160
200
195
148
166
213
187
210
202
177
185
212
208
209
214
143
154
202
144
151
177
132
178
150
170
132
147
210
197
138
124
133
176
182
198
166
152
193
179
129
204
214
188
202
182
187
198
138
185
139
188
136
124
160
137
198
154
114
116
138
149
107
142
105
103
138
125
138
103
112
150
142
147
136
144
116
108
120
105
119
103
139
119
105
112
120
102
146
130
118
108
105
150
148
142
119
110
144
129
122
110
142
111
131
104
106
131
118
135
107
101
148
126
120
109
112
105
113
144
117
133
120
116
104
118
102
150
135
111
129
102
133
121
130
130
123
143
146
124
132
130
102
109
130
130
120
108
116
107
111
132
104
148
117
105
113
113
110
135
113
129
125
130
123
146
109
106
131
119
133
126
150
128
101
148
101
133
113
144
127
150
109
122
122
103
149
115
145
112
145
131
111
105
130
150
133
144
100
146
128
145
103
132
128
104
140
109
147
137
140
121
149
116
126
122
117
120
155
205
217
219
164
168
143
213
208
151
137
136
209
128
155
182
149
122
220
182
205
157
204
150
180
202
159
179
189
187
168
154
213
219
147
142
200
148
204
148
208
156
213
130
131
136
217
129
173
141
194
177
166
192
168
133
142
189
201
139
153
160
131
133
218
166
196
192
168
201
155
125
180
137
172
200
208
121
178
193
147
199
160
166
212
190
127
185
157
121
209
191
147
135
191
179
157
134
206
156
218
161
206
210
174
182
144
126
142
157
170
178
142
214
214
219
179
219
174
154
120
178
213
201
154
184
181
151
158
166
143
135
132
207
179
159
215
204
198
211
141
209
133
196
151
150
217
181
130
214
171
137
177
125
136
146
162
128
202
139
190
218
160
136
164
180
146
206
130
156
131
134
107
106
101
116
116
132
142
117
107
136
126
145
120
123
121
131
106
145
105
114
113
138
149
133
109
114
149
141
124
139
122
121
107
130
100
123
105
101
115
104
125
104
137
106
145
129
129
111
143
128
141
133
111
145
140
128
116
141
149
139
120
127
111
117
143
119
144
150
106
110
114
102
108
100
134
132
105
125
106
140
137
100
130
148
130
100
131
129
127
110
150
150
102
104
129
103
119
108
100
134
138
148
131
126
101
130
110
140
108
142
144
123
123
117
124
106
116
120
109
106
102
143
106
147
132
128
144
112
149
116
106
130
128
126
194
208
144
123
135
157
149
172
155
214
134
145
197
187
218
151
178
199
130
215
152
141
171
153
205
127
139
199
127
166
175
158
210
187
210
149
163
128
155
207
141
163
161
187
213
123
122
140
163
173
124
159
130
203
157
133
167
172
203
169
174
150
139
157
181
191
207
217
177
218
151
199
194
136
199
198
191
219
198
165
172
194
187
149
198
208
175
216
214
200
129
179
155
168
135
198
212
146
179
191
167
180
161
131
204
208
184
173
213
163
218
155
169
209
214
183
213
214
192
122
218
144
189
148
213
208
102
106
122
107
108
102
147
141
108
149
138
101
144
118
112
106
130
144
108
148
127
135
150
107
146
148
138
133
129
143
129
146
114
132
134
133
146
139
142
126
105
113
132
122
124
116
128
128
106
141
109
100
109
107
145
128
145
107
134
137
150
110
119
102
133
121
122
133
117
147
136
104
102
148
141
119
119
127
108
126
141
130
101
135
142
125
144
101
109
131
145
119
100
115
110
114
110
110
112
143
103
116
108
144
129
146
139
149
132
142
135
143
148
149
135
140
115
128
125
116
133
125
112
104
104
109
119
146
120
102
119
130
143
103
116
112
109
136
139
105
102
128
125
124
102
138
134
212
174
166
187
148
204
192
196
137
128
220
128
165
151
186
188
218
126
143
210
219
187
201
134
133
126
215
219
173
170
135
176
165
153
179
181
208
178
162
172
188
220
218
141
155
201
142
200
190
186
203
173
187
191
183
150
133
198
201
126
159
204
184
137
205
134
207
125
171
147
134
204
120
201
197
196
129
151
198
195
125
177
172
127
138
217
153
160
126
120
220
134
170
125
141
219
212
163
145
161
141
213
193
154
173
136
177
217
132
155
161
175
161
218
131
158
179
124
141
127
159
201
204
159
155
163
192
140
169
193
123
126
179
212
158
169
181
126
190
122
127
149
121
123
130
150
150
118
116
128
105
122
107
137
105
111
113
101
100
100
136
133
145
143
120
140
105
109
137
124
102
149
144
149
145
122
110
119
132
117
124
106
141
126
125
133
101
106
125
130
101
147
140
137
144
112
113
150
134
143
145
133
116
137
107
114
138
131
133
125
132
120
145
125
116
138
145
114
140
138
108
111
137
132
109
113
137
126
115
114
132
128
134
142
146
100
130
100
110
141
129
100
115
142
114
122
140
103
103
115
125
100
125
146
109
136
127
141
136
132
111
109
137
128
116
112
149
149
142
100
122
109
125
128
124
104
110
121
134
108
147
138
125
104
131
135
143
128
128
106
122
127
153
131
217
162
149
160
217
217
192
208
146
158
210
165
144
170
182
165
140
151
127
137
153
171
167
209
144
157
141
146
134
152
181
192
215
174
127
198
148
121
205
121
181
203
128
144
168
212
182
157
135
201
138
214
156
166
130
158
179
170
144
142
196
171
207
165
130
142
128
202
218
201
190
156
134
177
124
166
169
191
156
188
189
184
191
166
200
161
144
177
200
178
196
200
141
182
147
201
174
206
142
212
195
124
193
189
185
192
171
172
129
138
211
205
196
217
166
180
160
216
152
192
175
219
132
136
145
159
144
212
153
121
149
106
138
133
106
101
104
121
125
111
112
100
125
116
111
138
100
149
147
104
126
116
100
121
128
129
110
136
136
147
111
101
113
114
111
139
122
109
104
149
101
149
116
121
138
119
125
107
133
108
130
137
148
146
133
147
121
113
137
141
138
139
141
139
116
122
105
148
119
119
105
113
116
106
135
108
103
137
111
101
121
135
123
127
133
117
101
113
150
131
117
134
130
103
149
146
147
141
113
139
127
122
141
100
119
122
130
103
142
128
107
137
123
100
117
125
140
112
137
115
149
145
109
119
124
148
129
114
109
126
140
109
117
109
119
121
145
130
115
114
120
112
112
140
112
126
127
144
138
150
137
105
108
142
170
208
149
162
126
187
219
121
126
192
174
209
161
188
182
208
187
137
196
180
131
154
210
183
166
217
148
165
209
133
151
156
209
147
185
173
127
189
187
205
181
121
157
127
123
157
166
208
200
164
215
161
171
209
128
148
120
143
176
189
135
120
190
123
198
192
152
127
167
141
211
211
137
131
156
152
137
146
129
139
187
155
133
182
161
153
126
158
130
124
207
157
168
201
149
207
202
199
161
178
159
126
134
141
149
136
210
171
133
157
135
124
131
173
216
178
164
164
215
129
168
145
191
187
143
188
124
159
161
190
152
122
210
149
213
144
137
132
175
132
169
155
134
169
210
200
194
151
120
209
159
179
189
148
203
173
159
139
195
124
162
197
167
178
184
150
133
138
126
149
119
111
145
136
137
111
150
122
137
142
125
100
100
135
129
116
124
102
143
145
119
102
141
129
145
112
111
127
126
111
135
149
150
137
140
141
145
103
135
124
124
125
134
105
111
131
142
149
130
122
140
113
115
141
142
147
127
127
149
140
102
136
109
120
111
112
138
144
125
108
110
143
135
101
146
106
131
109
113
115
131
106
115
140
135
137
103
128
133
114
115
141
118
148
120
129
106
105
117
128
137
131
139
106
102
143
104
106
149
144
149
113
124
140
149
126
116
139
116
106
122
103
102
136
106
113
122
109
111
133
139
109
120
135
134
114
143
108
118
116
135
132
149
133
119
101
104
129
142
102
125
135
133
150
142
108
141
101
143
142
137
120
146
104
172
175
161
208
155
190
167
170
200
153
131
216
154
203
182
209
161
197
125
214
169
124
135
152
159
129
142
128
124
141
164
197
197
150
189
209
127
180
135
180
160
139
164
192
203
125
191
208
210
171
154
128
203
189
209
140
153
203
167
152
169
200
156
152
140
198
153
200
166
194
141
147
143
196
139
145
136
137
156
166
211
188
171
204
208
180
120
176
159
192
193
120
135
190
163
125
124
196
204
207
152
171
143
189
176
156
131
185
210
147
178
123
196
203
136
165
201
140
164
168
215
200
151
130
177
186
136
142
199
215
186
186
208
178
202
216
189
183
196
129
143
175
155
164
181
199
137
100
128
130
114
127
107
120
125
137
127
108
144
109
122
103
134
144
105
134
148
128
130
143
109
105
121
104
120
138
144
112
127
124
142
138
114
125
116
105
130
103
131
124
144
129
134
120
147
108
104
130
139
149
127
128
114
102
144
101
125
126
117
130
132
115
116
136
130
109
113
126
143
113
119
124
145
107
127
121
148
144
120
122
119
135
104
149
128
130
126
109
135
148
121
109
130
129
111
134
112
149
133
132
150
148
137
142
136
131
109
136
114
107
141
115
101
107
109
140
146
141
121
136
132
112
101
132
115
137
147
103
106
106
146
118
121
116
125
169
152
181
132
185
205
134
156
145
199
165
121
183
125
195
148
165
177
137
130
216
183
129
135
184
183
187
160
137
174
181
166
134
132
127
165
194
211
139
140
205
139
172
130
198
189
175
160
219
144
184
133
126
140
167
179
206
185
168
155
120
141
137
132
194
144
148
188
131
146
203
143
219
168
132
217
154
179
167
130
211
152
153
120
215
181
214
201
182
170
214
125
129
206
210
145
150
206
124
162
146
220
157
187
184
200
208
162
188
141
219
195
213
155
184
186
142
148
191
152
212
170
165
125
214
172
213
169
126
130
133
194
141
159
207
134
161
151
198
153
201
205
191
173
152
149
160
220
132
120
168
165
145
141
124
161
163
158
170
201
150
216
133
178
155
180
184
199
209
123
168
144
100
106
140
108
121
101
118
116
143
137
108
118
116
121
106
144
127
146
102
123
132
134
149
110
100
108
112
100
131
139
104
101
140
119
122
121
112
111
125
114
126
103
146
128
101
104
120
133
128
106
102
133
110
142
101
137
146
127
148
130
148
101
121
144
115
112
100
115
108
141
113
111
116
148
144
107
143
133
100
127
107
139
141
144
114
125
140
107
108
136
100
117
107
107
120
102
111
102
120
126
139
150
137
143
136
110
143
113
140
139
138
105
103
120
137
141
132
127
112
116
140
143
133
133
111
150
115
118
106
147
124
150
141
135
106
131
130
125
108
129
139
126
130
134
106
108
119
110
122
135
106
101
100
143
148
107
107
103
149
150
150
122
195
135
181
147
148
165
204
192
216
208
120
186
178
182
184
175
120
218
161
146
167
201
172
124
215
197
219
126
137
124
178
184
166
206
141
140
143
125
133
133
188
182
141
218
152
207
205
163
216
139
123
148
148
218
205
158
167
129
162
179
157
213
196
201
162
213
134
157
168
206
178
164
130
217
197
217
128
164
131
149
179
165
193
144
176
129
204
198
127
192
187
143
153
182
151
193
123
183
124
149
209
186
219
196
194
207
142
121
144
152
203
201
137
184
201
164
184
169
194
218
132
121
145
175
159
180
207
194
188
181
159
144
214
174
133
209
192
210
208
198
185
202
126
101
110
145
109
140
125
132
133
111
140
110
122
140
143
113
129
109
145
119
149
113
124
143
140
130
107
114
122
116
137
148
145
108
134
122
134
107
121
113
125
117
115
108
149
141
117
109
130
119
121
135
116
142
131
150
137
112
113
134
130
105
149
140
143
136
126
139
143
133
135
103
141
106
138
141
119
115
122
114
111
118
108
109
150
130
137
144
102
114
124
116
130
114
101
144
134
130
128
115
130
125
101
108
117
134
148
114
150
140
105
133
145
114
146
107
146
144
106
133
141
119
100
136
104
123
126
136
100
148
131
129
117
109
104
141
144
125
105
145
122
142
106
106
147
118
148
114
145
111
148
150
101
150
107
120
118
138
133
185
140
161
170
156
219
162
155
174
152
164
195
192
212
212
155
175
214
152
189
206
134
124
158
189
212
136
213
193
130
179
193
189
154
162
135
170
171
185
195
138
200
171
185
127
177
186
124
141
185
208
157
128
167
175
126
137
213
166
167
182
173
156
163
179
157
138
169
137
181
137
130
188
136
187
129
172
124
217
161
131
146
178
201
132
126
201
132
206
218
159
145
149
151
141
213
164
136
120
160
169
194
168
163
138
173
133
199
194
171
131
130
146
190
188
140
161
176
131
185
198
204
122
189
154
135
204
209
205
193
172
190
210
124
183
218
158
201
203
133
202
150
200
164
140
129
146
170
182
122
220
146
165
151
219
159
200
219
194
197
137
129
130
123
102
100
139
104
148
120
119
132
119
117
112
123
135
133
134
119
141
125
124
111
122
140
135
147
144
139
150
135
103
115
130
136
139
123
131
100
140
113
147
135
133
112
106
134
102
132
131
102
140
139
119
133
127
136
131
130
131
100
139
137
130
126
148
113
143
121
112
138
109
131
136
128
140
118
108
136
133
147
149
140
145
132
112
119
116
136
102
149
113
105
116
149
101
149
115
106
142
106
119
131
109
109
106
101
106
135
150
110
141
143
102
124
123
141
132
133
126
124
131
104
144
107
100
101
150
102
107
138
107
139
114
126
117
138
102
119
109
130
140
144
139
129
109
123
121
100
148
103
128
100
108
141
124
177
215
178
189
177
143
202
121
186
154
152
193
210
137
131
209
121
120
125
184
156
139
195
138
174
207
183
138
190
193
126
180
154
182
180
120
177
129
190
202
210
175
189
145
184
152
120
219
154
157
131
151
174
209
176
183
129
208
145
134
192
194
120
210
138
159
135
161
176
133
143
220
166
138
163
151
193
158
165
144
153
184
163
175
126
166
183
136
206
124
208
216
152
130
206
146
176
155
153
125
182
212
136
219
126
210
161
219
183
179
202
165
176
162
134
133
194
178
178
136
195
195
122
141
183
209
165
159
121
163
220
208
133
179
214
141
216
149
125
170
190
185
199
153
217
145
121
197
140
107
149
133
102
109
130
144
126
118
109
109
107
113
103
145
114
106
150
149
111
140
143
122
106
111
116
112
126
119
133
102
102
132
130
118
128
126
129
124
142
114
117
122
103
123
133
126
134
126
134
103
101
123
117
150
140
107
129
124
105
121
139
100
127
141
120
106
150
121
144
115
125
130
118
142
150
147
123
104
115
118
142
126
126
130
110
133
137
149
112
126
111
115
141
143
107
100
131
110
146
143
112
134
110
116
146
124
123
143
143
150
148
137
124
125
112
139
115
110
119
108
138
144
147
150
134
137
104
131
125
137
114
115
130
141
114
140
144
124
119
129
150
117
111
122
107
125
119
111
113
137
114
144
149
112
129
128
133
110
199
198
131
138
141
131
220
199
158
143
210
124
149
154
150
173
130
144
204
134
176
204
124
220
161
162
127
197
143
164
186
180
137
182
216
131
139
199
136
176
182
201
202
180
184
126
153
135
159
178
141
169
149
179
122
214
169
141
174
205
198
164
196
213
149
126
199
151
140
210
150
143
177
191
195
152
126
139
133
163
184
176
194
197
220
133
171
168
207
198
207
178
178
164
172
203
173
176
156
172
190
201
174
158
159
159
177
125
149
199
145
208
212
145
122
214
121
204
212
148
202
136
167
156
126
193
169
199
155
191
149
120
220
132
145
128
170
153
170
177
165
198
130
140
167
207
184
182
122
215
220
130
192
207
132
192
187
131
103
146
112
100
126
129
143
135
126
144
107
149
107
108
120
117
135
139
125
115
144
107
140
144
113
113
119
136
118
139
142
103
124
110
119
144
136
141
143
124
105
111
123
145
102
105
116
127
113
126
131
135
136
133
100
150
133
145
148
110
103
120
131
113
147
140
119
149
106
116
132
108
105
150
141
117
123
134
133
107
128
126
112
130
126
143
110
100
143
100
144
116
114
128
111
133
149
127
128
138
124
122
102
135
123
140
114
125
127
142
118
106
136
140
116
118
123
140
130
110
139
103
127
135
110
113
148
131
125
137
147
109
142
139
125
134
141
126
137
149
131
105
148
128
147
105
142
135
150
137
130
122
148
140
131
139
105
125
114
199
139
129
166
150
219
152
187
132
179
163
206
172
120
143
194
218
150
183
120
126
204
203
126
169
183
203
216
183
164
170
147
175
143
181
215
120
189
175
128
174
148
141
219
123
196
183
135
168
172
137
152
134
198
220
156
188
153
131
189
206
132
173
146
189
123
121
170
171
157
213
161
174
179
201
168
218
121
177
186
130
150
141
201
178
147
209
131
146
187
186
154
167
192
161
176
186
195
213
215
203
160
185
216
144
211
152
166
168
200
174
152
163
126
188
199
145
128
177
143
175
177
157
192
217
186
216
120
220
205
203
216
161
125
172
152
146
155
163
207
159
147
196
197
168
190
208
148
219
160
125
120
103
146
146
101
129
144
133
112
143
114
130
129
108
119
143
137
112
127
108
136
119
136
121
114
111
149
101
139
121
123
128
107
133
134
135
146
137
126
130
143
122
118
122
125
136
144
138
127
124
132
131
144
111
118
106
101
146
138
126
134
142
114
137
127
144
106
123
145
126
106
133
127
131
149
108
144
115
122
120
112
101
101
124
108
134
137
101
111
105
103
103
137
116
133
143
106
135
103
115
135
136
109
134
116
101
145
149
101
124
134
109
136
120
142
126
117
102
104
148
143
130
108
123
114
142
134
144
113
103
115
147
118
113
109
125
136
103
144
145
129
115
130
126
118
111
129
138
123
102
113
146
114
122
125
100
140
148
122
101
103
115
102
132
136
127
133
141
157
153
159
202
193
146
144
185
197
213
139
120
210
133
220
187
182
208
196
125
198
203
185
151
208
192
156
214
216
141
166
152
216
212
209
151
212
211
182
212
214
182
168
187
210
135
179
154
214
126
180
148
192
141
147
205
152
164
191
188
137
204
150
210
171
145
203
162
136
155
208
185
218
174
186
192
149
144
180
207
186
214
217
188
151
198
171
129
171
210
151
177
217
152
133
181
216
204
150
216
128
164
144
200
155
196
204
205
173
198
195
181
147
153
212
166
196
157
162
199
161
159
202
185
208
152
133
144
118
117
116
150
150
150
105
123
143
101
143
103
147
109
143
129
144
126
120
111
140
126
147
106
119
111
150
142
126
124
139
138
124
116
126
131
115
137
133
138
133
110
150
144
116
133
119
148
122
144
108
143
137
118
114
129
117
118
110
122
144
111
113
104
132
105
111
125
126
148
126
122
111
118
104
106
147
150
109
139
147
149
120
137
133
118
141
145
110
123
140
117
150
137
115
135
127
124
148
130
116
149
145
112
141
101
110
143
150
124
110
147
114
122
145
142
137
123
112
134
131
101
145
125
139
140
138
105
111
105
116
127
103
109
114
115
117
102
143
123
138
102
137
108
119
117
148
136
140
146
111
119
121
110
111
100
149
133
130
118
122
140
132
169
201
127
184
140
191
188
148
171
142
130
133
121
121
149
212
159
213
177
152
128
168
160
167
136
202
177
200
177
174
151
178
184
156
137
181
138
211
204
169
180
133
149
209
180
177
178
160
173
200
213
124
146
197
153
121
193
138
180
193
172
181
157
171
148
133
125
141
149
203
193
133
146
172
131
179
203
134
168
190
145
168
207
143
177
173
173
167
211
181
189
133
178
204
127
141
127
148
123
139
174
209
211
154
123
174
174
147
183
169
124
147
212
189
177
130
145
217
207
192
163
129
197
168
128
196
184
148
192
191
198
141
162
134
132
179
129
198
197
130
109
133
145
118
122
131
110
110
108
119
143
110
119
119
149
101
120
112
110
137
140
132
113
134
124
113
129
120
106
104
131
130
102
101
123
114
128
147
112
142
127
134
107
136
123
110
126
110
132
140
122
133
110
123
145
136
115
119
140
130
143
130
105
117
145
145
122
135
145
119
135
100
100
118
127
124
140
124
113
150
139
126
133
104
110
148
126
140
133
128
144
117
105
134
133
101
138
134
104
120
126
108
130
150
135
137
117
138
129
149
149
117
107
133
147
123
101
147
149
138
110
129
146
149
118
100
121
136
108
112
126
115
110
142
113
149
105
102
135
128
110
114
121
113
101
153
161
132
138
133
129
141
194
175
154
123
164
192
138
137
212
186
211
142
220
120
142
183
214
156
123
209
125
134
137
156
121
218
144
214
211
200
215
158
205
134
174
199
203
164
207
155
191
218
190
199
122
153
129
196
185
149
138
156
169
168
216
213
132
194
169
141
153
144
146
154
187
161
135
140
215
167
219
124
212
150
187
173
214
143
213
172
121
127
189
201
191
209
167
146
136
149
192
216
168
155
122
178
209
193
148
172
209
220
179
159
135
160
182
174
159
136
131
131
217
216
190
220
202
189
138
218
128
214
211
146
203
190
138
135
195
127
182
204
166
147
161
212
189
177
154
184
160
205
175
164
180
172
158
212
161
181
199
131
150
180
175
217
183
187
183
184
174
126
186
140
152
160
197
206
115
125
144
105
138
136
103
118
113
140
123
105
117
103
136
131
147
118
109
121
132
137
145
145
134
116
121
112
149
150
119
121
112
100
104
110
129
101
132
131
109
124
150
143
135
122
133
106
149
120
109
134
121
108
143
128
110
127
109
138
113
122
107
132
123
148
106
130
117
146
138
110
129
146
138
118
106
141
123
114
101
130
144
138
146
110
142
114
107
107
104
111
113
112
128
131
101
117
143
133
134
122
134
131
112
100
149
142
106
125
104
149
140
148
109
122
135
109
143
142
143
105
138
102
141
142
142
147
110
145
128
142
137
180
187
138
121
216
211
207
159
158
145
153
144
162
143
156
215
202
210
193
121
194
185
140
220
168
171
125
128
206
189
210
213
124
153
200
160
219
136
132
144
173
163
187
177
193
147
191
178
153
161
147
220
153
131
217
208
197
191
155
151
173
207
129
203
123
157
121
178
218
181
176
129
198
138
160
216
132
192
162
151
206
213
132
152
143
201
189
195
199
152
127
219
178
150
126
174
172
121
147
171
162
121
186
123
137
202
162
198
144
205
122
160
146
213
165
208
162
215
188
135
210
177
122
126
130
220
139
190
203
208
129
159
124
149
202
213
140
154
197
182
164
179
167
183
200
216
138
174
202
163
190
165
193
134
170
181
135
102
149
105
125
102
104
124
140
120
130
149
141
103
126
101
115
100
114
107
138
135
139
125
119
113
125
106
143
131
115
107
102
124
110
137
135
103
121
134
114
145
142
113
123
147
135
146
110
113
112
148
136
135
101
149
105
108
105
116
136
134
147
135
147
131
133
145
126
114
112
130
128
108
117
134
111
128
135
136
131
129
122
124
101
121
147
127
103
124
123
139
120
108
140
130
134
112
111
118
122
144
112
116
101
126
104
120
109
150
146
127
103
111
115
131
114
137
119
140
149
106
146
114
124
120
138
119
106
106
110
115
103
101
144
117
132
144
144
131
103
136
126
134
132
137
106
123
134
216
121
211
203
148
183
133
166
140
212
176
153
131
191
170
141
183
127
182
220
171
139
171
195
126
127
211
159
153
220
166
151
147
148
184
199
198
155
146
178
180
148
153
134
165
197
218
164
165
161
165
216
123
209
160
210
199
186
210
164
196
188
200
208
155
120
199
151
210
194
213
169
146
130
188
187
186
142
164
179
160
162
136
138
219
160
121
218
184
136
120
217
217
171
140
133
185
201
202
199
214
203
165
152
175
142
170
153
175
201
177
178
212
190
149
153
133
180
169
217
128
146
202
128
182
217
182
167
158
178
211
131
170
124
127
210
157
126
200
179
195
144
166
145
218
172
139
135
205
122
218
147
140
213
186
183
165
220
139
215
195
217
143
163
190
140
135
125
129
117
108
146
148
109
128
141
125
122
129
122
144
115
103
144
127
129
140
117
131
128
147
150
110
126
108
110
145
112
102
134
131
114
139
128
135
110
138
142
136
113
132
113
140
106
149
148
129
136
131
130
110
143
118
130
110
140
105
120
129
111
139
130
126
145
123
115
103
122
149
131
125
150
150
128
134
134
140
109
144
111
121
128
135
114
107
129
144
150
139
137
144
122
129
100
140
147
115
149
137
127
150
115
126
123
148
124
102
119
138
116
105
123
150
136
115
127
126
142
107
126
110
105
144
120
108
145
136
102
111
149
146
143
125
121
137
101
148
148
120
108
102
102
118
101
140
119
126
119
108
121
142
113
106
150
121
137
140
149
119
126
138
124
124
130
123
125
124
205
142
166
126
142
145
191
167
196
200
170
187
133
159
163
201
185
196
206
179
163
143
216
193
167
219
202
210
173
169
172
151
177
134
193
141
182
147
212
121
182
211
181
206
193
163
203
163
145
136
210
200
148
142
212
180
215
169
211
124
213
201
219
200
216
203
203
156
135
180
186
180
200
144
206
183
145
176
209
202
211
120
120
128
147
143
133
149
129
213
130
149
159
130
158
155
152
181
193
196
148
155
131
207
173
146
139
197
202
143
144
217
146
130
129
171
192
187
192
219
144
130
122
120
182
183
208
187
157
215
197
208
135
130
156
195
128
209
181
138
192
128
152
168
123
136
123
126
149
140
124
143
148
122
119
121
102
110
103
149
133
121
149
130
142
149
131
137
131
144
104
112
111
112
114
128
112
117
113
100
119
128
148
116
125
122
117
115
123
116
127
102
126
146
118
135
142
103
121
105
125
110
144
146
149
101
131
101
105
138
112
134
115
148
119
113
112
124
142
104
149
148
140
139
110
144
120
120
100
125
136
115
135
109
133
127
140
119
104
125
126
143
121
141
132
143
127
134
148
146
134
130
120
112
143
150
127
138
139
144
139
103
117
133
141
135
133
144
106
146
110
136
135
143
149
178
147
171
132
186
154
126
161
134
130
140
164
184
197
197
190
215
120
176
178
135
120
156
146
194
141
180
207
184
194
144
138
178
140
180
165
167
195
204
196
210
213
126
154
175
145
144
211
164
212
215
124
152
212
177
145
121
171
199
145
211
217
144
138
155
122
171
160
199
133
181
187
155
173
154
148
217
155
163
168
209
167
134
135
122
137
216
182
203
134
188
147
139
152
158
210
199
179
146
133
194
201
174
140
147
145
146
182
138
166
129
121
171
144
147
171
208
164
124
149
142
140
130
148
173
206
156
210
134
193
156
169
206
139
156
125
109
127
101
144
114
122
140
109
111
125
139
135
133
108
137
130
146
102
140
108
144
128
139
150
101
118
149
146
140
150
123
132
104
133
110
130
146
117
136
147
105
130
137
150
133
100
125
138
109
134
103
102
143
103
129
104
139
133
142
124
137
137
115
126
109
145
127
136
132
135
113
132
128
117
147
103
135
111
104
148
118
123
100
112
110
121
146
122
141
109
104
126
147
135
118
141
142
124
104
111
113
137
104
143
145
141
140
150
122
103
140
101
123
127
149
100
108
129
114
108
139
118
114
138
148
115
105
125
150
103
119
116
133
136
111
141
147
141
119
145
109
133
100
143
149
126
150
150
104
135
115
126
122
148
118
150
142
141
106
140
150
103
128
133
107
189
196
129
176
213
122
162
178
153
125
176
144
183
160
191
220
165
156
134
138
153
139
122
194
143
152
172
191
182
151
220
164
125
151
187
179
143
204
125
201
194
219
160
216
157
191
203
195
165
168
203
182
168
142
155
134
130
132
154
127
122
215
207
200
202
133
162
189
163
210
135
140
198
123
172
137
134
177
171
182
184
191
200
198
187
185
185
203
160
165
179
175
204
217
178
173
125
149
132
205
160
154
193
157
197
165
153
204
159
136
165
194
181
123
152
177
169
147
133
140
191
173
198
133
193
153
150
217
143
169
208
187
217
154
135
142
167
181
177
192
218
127
138
186
161
155
208
176
124
178
149
133
140
193
145
121
120
140
123
145
148
112
104
150
131
138
103
112
129
139
107
104
147
120
136
111
101
118
116
119
113
141
113
147
126
126
143
148
108
106
137
122
129
116
102
133
104
128
146
118
131
118
134
149
123
149
150
107
127
129
100
132
106
109
137
140
128
134
130
149
137
150
126
127
116
112
130
112
148
133
121
138
126
134
150
113
108
101
138
140
103
105
150
118
103
139
130
133
138
117
116
115
114
146
118
100
131
120
133
145
150
138
131
150
129
137
111
100
105
105
130
137
101
109
102
102
105
111
107
140
125
133
136
147
106
119
108
148
101
124
127
147
126
132
111
108
136
141
117
139
116
180
194
218
167
207
167
187
172
154
183
128
158
140
129
136
139
172
163
124
171
126
145
173
156
178
159
190
166
127
165
179
122
133
199
148
216
140
186
143
187
177
171
165
197
179
142
134
133
190
201
183
216
144
156
194
126
200
186
195
126
151
207
129
200
209
214
203
132
183
134
127
172
182
213
162
140
212
190
175
127
158
134
129
153
176
212
184
200
203
201
143
198
187
199
128
155
142
211
194
218
159
180
147
151
146
159
160
192
164
187
170
148
171
166
139
168
185
122
181
210
141
200
163
122
156
176
190
140
214
171
190
135
123
143
207
217
142
186
141
184
185
166
167
126
152
185
130
162
192
186
219
171
209
186
132
169
166
140
158
142
116
130
134
145
107
111
136
119
109
117
120
116
105
129
143
120
109
113
102
133
125
104
137
140
119
133
105
129
129
108
121
103
126
135
136
123
134
107
109
139
118
131
127
120
108
129
129
123
135
147
145
114
135
112
120
140
127
105
144
131
134
150
104
140
144
145
137
139
147
136
123
133
122
144
122
105
123
140
117
119
149
101
140
106
102
129
133
113
136
117
129
111
125
140
101
138
147
118
102
139
106
144
130
115
117
141
102
113
109
119
113
135
121
124
120
119
106
149
147
125
150
114
147
146
150
126
125
116
110
140
134
136
109
108
138
112
148
115
121
141
141
137
120
116
139
216
193
121
139
219
149
159
170
218
138
217
170
130
123
190
206
131
153
210
161
160
166
129
162
158
160
162
216
172
144
126
211
142
207
195
215
198
211
145
192
166
145
127
184
127
180
150
192
123
182
193
130
145
162
153
220
177
172
209
195
127
130
220
122
214
210
143
203
177
153
167
216
216
195
149
122
202
155
195
215
214
209
175
125
172
122
150
187
147
169
214
213
143
179
125
128
197
187
130
138
190
217
167
193
169
182
206
146
205
205
163
176
147
128
188
141
189
169
166
210
124
191
188
201
204
190
140
139
201
153
124
174
141
148
183
175
192
151
145
201
196
182
203
206
201
129
135
185
191
220
177
148
121
208
197
185
145
122
141
136
121
100
149
150
139
107
141
112
139
146
109
131
120
105
131
137
114
129
131
127
106
102
134
144
120
131
104
149
124
133
116
130
101
121
145
145
107
117
112
134
138
149
104
104
121
102
115
149
139
140
116
147
106
104
130
140
137
109
143
118
112
147
113
128
144
105
140
125
146
130
150
115
107
132
106
110
117
106
122
139
135
110
117
107
104
131
119
106
147
123
135
145
102
122
112
102
143
149
124
103
131
115
130
127
136
106
126
114
144
135
124
102
119
139
115
148
120
128
106
112
105
121
130
107
148
110
103
104
101
105
139
126
149
122
137
108
104
120
150
117
146
113
126
135
109
113
100
138
140
146
135
108
104
149
125
122
149
211
146
155
189
158
129
168
130
179
122
139
125
169
183
171
130
129
126
182
155
204
218
184
127
214
154
134
135
192
174
213
197
173
122
168
184
123
208
149
157
147
158
157
219
128
209
169
160
140
156
174
172
180
215
206
209
211
205
178
154
215
137
124
196
173
179
218
173
179
130
145
195
212
191
125
219
177
212
167
120
200
181
215
152
148
194
188
122
147
123
174
172
165
184
208
175
135
187
131
205
220
208
124
155
128
178
148
205
200
168
135
212
163
206
178
189
159
197
216
220
207
210
140
152
160
125
170
171
136
171
187
203
149
110
140
136
145
117
103
131
115
109
147
112
126
122
144
106
139
114
120
139
108
130
109
144
101
112
138
126
148
116
112
122
111
140
120
119
147
113
114
137
121
130
139
142
124
110
121
102
138
144
123
110
130
114
147
132
123
143
114
125
114
116
127
142
135
126
134
123
117
114
123
117
143
148
103
104
140
148
111
112
120
105
135
148
133
106
101
145
134
111
149
115
122
134
138
125
140
121
123
104
103
150
125
114
127
112
137
119
143
149
138
105
102
128
110
140
112
110
108
118
147
150
123
116
147
136
124
139
149
121
134
112
114
130
120
130
134
105
122
125
136
144
111
117
122
135
134
121
121
105
121
131
104
131
106
106
122
129
116
100
102
137
136
134
119
131
128
128
106
128
139
127
121
117
124
206
126
158
186
194
200
216
158
189
128
207
201
165
126
184
124
219
206
184
215
139
198
212
167
144
150
219
197
193
180
140
205
146
211
129
207
217
208
217
136
140
140
121
144
214
188
220
156
121
153
154
205
218
172
209
180
128
161
207
169
163
188
134
201
152
142
166
128
212
206
141
183
154
138
186
138
182
126
195
201
195
152
219
141
181
156
149
209
181
188
203
184
134
208
130
147
136
185
139
198
126
193
173
204
138
169
163
135
142
206
180
178
216
151
152
141
192
146
149
217
209
159
168
173
164
142
138
145
166
185
200
135
179
196
218
147
171
197
195
216
198
173
152
217
191
168
110
132
141
131
149
146
144
107
148
140
118
145
136
133
145
113
149
125
118
123
149
147
134
100
132
143
143
124
101
113
133
104
128
114
105
103
125
116
110
150
117
130
102
114
102
111
128
107
105
117
110
115
114
150
137
127
143
113
127
143
115
131
136
120
104
141
124
137
121
129
111
136
137
117
123
147
148
137
110
105
131
147
100
138
141
149
136
102
142
122
117
150
102
135
142
111
102
121
126
106
134
131
135
100
117
122
108
111
124
147
146
142
107
142
117
100
118
123
102
141
105
143
104
141
111
137
135
138
149
115
104
117
107
125
198
189
156
180
144
210
153
196
144
128
136
133
163
133
217
162
161
176
125
155
198
186
170
190
180
200
181
194
199
146
142
164
134
163
135
133
217
173
181
142
133
206
216
160
176
190
129
146
211
138
149
164
151
121
179
161
130
161
174
177
122
193
129
212
179
137
153
126
167
141
146
195
190
208
190
215
180
160
182
167
215
190
190
195
157
143
133
195
156
158
156
163
171
165
206
162
154
195
212
175
153
210
155
144
154
165
136
178
149
128
174
195
158
153
202
183
155
208
133
150
187
161
218
128
157
180
202
212
157
141
172
125
213
209
194
168
197
187
197
183
211
203
176
142
181
174
138
145
206
181
173
151
207
129
124
144
168
137
183
169
162
188
140
175
133
161
175
125
136
139
143
110
132
132
106
150
127
137
100
114
102
107
132
133
120
141
114
150
121
115
147
137
101
124
108
132
123
124
142
121
108
134
140
117
105
143
132
144
124
134
106
107
146
141
117
109
146
113
144
128
111
129
138
101
150
111
129
146
113
143
130
127
132
113
106
146
104
146
145
144
134
127
114
105
100
120
143
140
148
136
143
126
129
149
127
128
138
104
102
128
113
104
106
100
128
122
118
134
135
116
105
142
116
149
110
148
102
131
149
150
131
112
121
111
141
142
105
122
118
116
101
114
135
113
130
112
129
136
114
149
104
114
109
129
150
121
120
117
115
141
130
126
145
118
115
102
109
129
132
124
113
105
116
138
138
148
101
123
117
119
106
132
132
100
120
110
103
157
134
161
131
178
127
217
133
152
204
169
183
218
197
191
183
176
162
151
199
174
202
146
159
139
137
185
172
201
162
129
213
195
144
147
145
216
191
158
178
184
136
213
158
195
139
195
213
169
146
197
157
168
160
130
130
120
168
211
175
188
123
123
155
192
187
200
203
206
206
125
216
169
165
218
202
141
131
171
121
133
126
138
172
214
151
209
190
149
169
162
157
134
218
141
159
155
183
195
136
171
146
138
193
160
174
179
188
182
148
214
219
204
205
164
126
145
190
205
180
182
190
123
191
198
220
161
166
150
111
116
129
113
140
143
109
115
139
120
143
113
104
112
129
120
106
122
123
138
140
105
112
137
142
123
150
127
130
110
111
133
148
141
146
135
147
108
132
129
129
140
120
100
117
116
102
123
133
112
148
107
133
133
122
127
101
131
105
129
150
129
142
150
117
150
107
128
117
147
140
147
149
150
106
119
104
146
104
118
118
115
134
128
149
118
146
125
110
107
121
113
110
129
103
102
117
114
100
143
111
148
114
120
142
139
115
138
105
109
109
128
104
123
133
135
113
147
145
105
103
117
145
108
134
101
100
135
113
123
108
136
110
114
112
134
136
110
116
140
129
123
139
145
144
103
112
141
138
122
140
139
128
118
114
149
143
141
181
161
192
184
174
150
178
149
141
167
174
176
218
131
151
135
136
204
204
126
209
161
150
157
135
137
217
175
204
190
178
170
213
192
209
158
210
211
175
209
127
195
158
214
126
182
206
160
131
167
211
128
125
149
152
120
169
171
204
148
128
142
164
212
175
172
160
216
134
193
167
209
207
123
163
199
166
170
186
158
122
213
188
153
160
120
130
202
179
134
174
190
178
212
139
159
176
197
213
149
205
175
191
125
196
167
197
140
163
220
154
151
134
157
157
193
197
198
177
139
218
153
129
164
187
167
194
218
162
164
141
124
125
134
151
159
152
180
179
182
218
177
177
206
200
203
140
196
182
209
144
120
168
215
209
129
142
168
216
102
129
114
121
103
129
130
100
113
147
145
111
126
131
150
103
146
111
110
110
107
100
120
113
113
124
130
145
125
115
134
137
129
144
113
108
132
132
119
140
138
111
137
138
133
134
137
104
108
133
126
128
149
142
100
112
102
125
111
111
146
110
121
140
100
114
145
147
114
122
121
115
124
105
116
110
128
144
103
110
117
105
116
144
111
125
111
144
135
134
136
132
108
150
133
116
111
144
148
141
135
134
101
115
127
140
103
101
138
126
133
108
130
142
130
115
106
124
124
105
135
130
117
144
143
103
110
133
135
119
125
117
126
142
144
144
120
127
113
121
123
127
134
123
140
138
150
116
104
142
194
195
142
172
176
177
182
132
140
194
134
185
180
165
155
177
148
134
178
205
134
149
175
189
211
123
162
184
148
197
189
191
130
204
159
133
167
147
141
208
123
182
180
217
144
201
160
182
131
147
210
147
120
150
199
138
126
145
134
128
208
149
146
126
169
159
220
185
161
169
185
131
166
216
190
162
201
196
210
214
174
158
191
201
134
167
199
120
182
164
195
207
218
187
154
169
201
142
162
184
215
200
194
181
128
140
196
156
191
191
120
219
152
150
183
122
144
133
178
192
153
196
199
124
204
153
204
140
125
213
191
185
199
211
140
120
135
130
166
185
144
125
136
160
182
213
158
207
176
173
210
168
142
197
167
211
131
203
160
189
168
194
209
181
112
107
115
117
111
102
101
102
150
134
108
143
116
118
144
136
115
107
121
138
106
146
122
106
107
107
147
140
136
120
116
142
149
133
139
106
126
104
100
115
148
114
115
116
110
131
144
148
133
100
142
145
114
113
101
108
116
112
119
133
108
143
101
145
137
147
105
137
106
111
143
112
140
106
145
128
128
109
100
136
142
102
133
114
102
105
144
137
139
146
134
128
100
145
120
100
109
138
131
150
122
100
102
113
145
125
138
103
138
118
113
124
145
137
148
117
107
141
135
149
110
149
130
137
125
136
149
121
131
109
123
104
141
122
129
134
133
174
126
168
147
170
186
160
208
188
157
133
145
187
204
147
137
183
208
191
213
140
207
157
207
158
161
161
146
206
132
143
154
152
140
213
153
139
164
151
163
122
184
125
152
148
141
140
211
180
195
146
184
129
132
183
208
170
125
134
181
214
143
209
201
220
137
189
131
159
176
164
200
210
203
175
215
216
149
133
175
169
127
196
146
144
171
133
219
175
178
205
196
207
211
126
211
189
199
175
164
217
140
207
174
167
181
143
178
187
195
175
192
190
129
128
220
124
180
212
149
201
172
201
132
154
149
185
200
145
203
140
200
197
206
198
212
179
129
137
198
220
146
204
169
136
197
207
145
147
126
196
187
195
168
117
112
112
109
130
115
150
150
144
128
127
138
126
110
133
102
135
110
141
124
138
118
145
116
100
104
120
114
119
102
122
107
146
149
104
129
124
125
136
132
138
121
125
113
121
119
138
117
132
116
123
142
147
128
100
149
103
150
108
128
136
132
143
132
100
132
122
128
125
132
129
127
111
132
103
133
138
105
109
105
137
108
102
138
128
150
127
143
141
139
104
114
102
149
137
122
105
140
143
132
146
108
140
103
133
113
134
114
149
120
128
115
103
106
135
115
136
113
105
143
130
148
114
114
131
131
131
116
109
148
113
103
100
136
112
103
139
130
148
113
130
118
102
122
101
119
118
122
125
121
130
128
103
105
100
110
126
119
144
120
147
137
138
129
133
130
139
148
189
171
205
146
189
178
183
161
145
127
150
184
184
201
127
152
188
151
143
167
172
127
172
216
192
130
194
172
165
174
123
210
151
169
141
201
171
212
210
185
168
175
123
132
192
209
220
161
175
164
172
215
154
127
160
196
182
182
127
209
189
128
142
212
130
140
183
147
208
143
120
206
160
187
213
150
158
136
162
200
213
200
199
185
154
143
164
153
202
191
132
153
167
192
183
194
197
120
157
147
184
194
173
187
143
124
219
172
129
203
203
199
148
191
193
197
135
154
176
135
218
184
198
182
193
161
150
183
168
133
196
149
186
125
107
110
122
134
139
130
118
129
101
109
123
145
124
128
124
133
120
128
150
100
109
128
137
131
137
137
150
141
140
129
102
145
103
147
114
134
121
120
136
125
109
113
144
142
102
143
102
134
150
148
125
144
127
108
101
144
146
133
108
125
104
133
145
116
110
118
119
131
115
124
125
147
150
117
142
121
108
117
136
118
124
134
113
150
117
126
146
141
114
146
102
100
117
115
120
117
120
132
112
105
121
150
130
122
140
129
115
142
117
100
110
108
123
133
125
137
134
146
122
109
132
106
128
147
149
107
135
108
145
142
112
113
103
134
115
136
129
105
112
138
131
130
142
131
140
117
128
145
130
184
201
157
165
177
200
127
185
177
173
144
160
163
171
211
124
201
180
196
174
204
123
207
179
174
191
162
136
141
194
191
167
153
194
161
168
219
219
202
194
121
163
177
167
137
215
204
188
130
124
155
165
122
216
179
215
188
177
146
153
215
201
152
122
196
182
182
218
192
207
203
182
220
183
200
201
192
168
192
162
135
195
175
124
175
120
152
206
199
135
216
127
220
200
142
155
139
143
127
211
122
216
178
182
143
144
172
210
138
179
192
196
176
128
209
131
218
159
136
125
199
184
151
143
219
174
204
183
134
120
165
157
144
135
197
165
164
170
214
170
155
217
142
152
127
154
214
121
180
202
207
163
211
187
190
178
165
179
134
186
145
205
144
199
166
189
142
195
163
152
125
186
123
219
153
123
132
126
112
108
149
133
116
109
108
106
143
118
127
149
135
109
111
143
120
107
144
113
121
144
115
126
148
137
119
112
125
116
109
135
114
111
136
127
145
117
103
113
144
140
130
149
139
140
122
120
109
117
130
145
142
144
141
112
131
147
136
148
121
130
135
128
122
127
144
127
106
122
130
104
132
137
125
146
120
112
109
136
124
131
149
119
110
148
137
126
142
119
107
125
132
144
118
143
117
128
119
129
124
104
101
147
104
118
147
133
103
146
105
111
112
141
145
132
144
109
114
109
132
134
116
108
100
132
126
122
123
101
130
114
108
137
120
130
143
100
107
109
120
100
108
148
100
131
105
133
119
127
120
112
130
139
138
134
207
211
168
125
209
178
163
174
141
124
170
173
178
202
173
150
156
161
138
137
165
177
207
140
124
178
121
164
185
185
169
189
149
149
217
141
133
207
170
183
150
204
154
200
206
184
213
164
204
133
217
169
218
175
179
153
176
124
217
220
215
169
197
180
163
173
138
137
204
133
177
188
149
169
160
144
159
143
205
141
196
135
131
140
189
168
164
131
201
193
207
167
189
154
184
191
169
170
123
200
127
175
144
162
174
127
159
173
122
152
175
122
155
205
162
175
137
200
209
121
166
212
164
220
169
177
136
191
216
167
122
196
128
188
125
182
214
164
180
211
140
147
144
129
127
162
148
130
175
179
215
188
177
197
208
127
159
139
127
181
178
184
163
120
139
154
164
179
147
139
123
124
139
141
120
108
106
139
135
102
117
145
113
108
133
103
123
125
130
145
106
103
115
134
131
118
122
141
109
140
108
149
133
118
135
118
136
141
111
125
129
139
150
131
140
130
123
143
135
102
128
150
150
108
120
114
131
125
130
126
105
116
128
110
135
134
145
106
119
148
121
123
103
114
150
135
145
149
129
134
138
146
121
110
142
101
103
143
143
131
120
131
116
102
132
111
126
123
124
130
136
145
121
131
110
142
141
132
144
112
141
122
132
134
133
108
119
108
127
125
139
105
117
141
149
150
105
124
147
118
112
102
108
136
112
146
125
106
131
122
131
199
199
208
182
217
190
201
148
205
159
166
171
146
174
209
194
136
172
178
129
129
126
124
182
175
171
200
194
158
174
218
140
135
181
193
176
130
157
209
204
173
141
145
216
216
130
148
196
160
188
140
120
190
152
219
220
156
209
199
158
207
140
187
154
206
142
135
206
140
127
172
159
135
215
140
213
155
178
130
153
165
211
170
207
210
203
208
136
204
159
216
192
165
159
186
178
184
151
169
196
162
214
145
210
207
147
138
209
146
151
202
177
165
167
125
162
128
203
167
166
217
156
128
155
173
206
163
157
178
185
193
121
113
119
144
127
122
132
131
102
141
105
146
144
132
147
109
102
141
104
109
107
100
124
125
106
143
134
115
104
134
137
100
113
123
148
137
122
130
127
144
108
117
147
117
144
146
150
106
145
141
124
107
145
124
101
144
133
121
135
144
118
102
102
138
147
138
109
100
110
102
135
118
130
125
146
123
121
124
103
127
119
119
137
148
106
107
101
114
108
109
114
131
109
112
105
138
147
133
140
135
105
134
136
130
109
147
113
135
110
129
150
127
113
135
119
105
109
138
128
123
128
124
139
126
128
134
109
132
105
127
135
133
123
136
147
111
121
133
104
147
148
123
111
114
120
120
146
141
113
132
130
120
140
104
146
117
120
147
122
103
103
121
127
138
124
120
132
123
104
145
137
101
179
120
156
121
196
206
143
175
153
184
220
200
145
172
195
159
161
212
175
182
132
146
177
174
131
151
220
202
191
181
162
130
165
148
209
170
217
197
170
147
165
124
170
141
215
178
217
198
182
208
204
141
157
170
161
138
140
197
185
184
214
206
130
138
163
122
151
135
191
214
157
217
218
157
203
120
195
202
151
205
167
143
214
172
130
144
170
211
157
163
133
146
194
205
181
160
162
193
201
220
161
157
191
152
131
123
142
208
150
144
177
185
210
204
214
148
220
156
217
135
189
218
143
177
193
144
129
196
156
172
129
111
133
116
112
142
114
146
132
110
148
138
143
108
141
106
115
146
126
122
123
107
110
148
128
145
125
149
132
104
117
143
136
107
149
130
120
132
140
115
137
145
135
123
105
137
144
122
147
124
150
144
109
135
103
104
115
116
118
131
106
100
110
131
120
132
137
117
141
106
131
130
137
138
102
120
114
103
144
149
137
139
124
117
127
142
109
140
138
132
146
137
139
136
127
135
120
103
147
135
117
133
121
107
113
141
115
103
137
108
101
143
112
133
124
144
123
141
136
147
149
139
120
136
142
103
123
100
143
130
130
113
140
129
135
113
144
124
150
124
125
118
108
175
191
188
178
210
137
123
214
188
190
188
215
177
157
195
139
129
166
159
143
131
211
129
201
150
138
199
135
151
126
193
168
202
123
198
195
156
200
196
196
123
181
216
190
178
173
156
137
218
187
133
171
162
130
217
199
161
179
203
121
142
172
138
172
142
213
198
164
127
214
122
156
215
136
178
204
163
191
133
184
186
141
138
183
185
138
215
137
121
213
180
158
158
137
132
188
190
181
173
201
164
155
204
188
196
211
143
154
167
172
216
203
150
195
180
216
182
151
178
121
143
168
131
166
141
194
164
185
154
165
218
158
202
181
157
188
139
127
156
152
132
140
157
118
130
138
108
110
112
150
100
113
122
122
115
126
119
110
103
141
109
130
140
110
101
146
102
147
141
118
125
113
111
145
112
120
134
139
135
149
142
139
138
103
119
112
120
122
137
150
127
106
125
114
106
102
140
148
144
107
118
112
135
112
123
136
119
102
139
102
100
132
112
114
100
145
140
111
143
133
124
140
149
140
129
130
129
100
120
146
143
122
136
114
147
137
112
146
110
125
109
139
125
148
125
120
136
101
147
116
136
123
108
112
147
145
122
120
117
147
144
113
133
128
103
140
126
147
107
105
102
143
103
107
112
115
146
101
133
106
111
183
215
179
178
156
125
170
179
195
194
187
137
149
136
130
207
141
130
209
165
145
130
188
136
137
151
131
165
151
180
158
186
191
214
212
123
218
159
205
141
145
152
200
202
196
145
174
172
146
202
136
134
188
165
170
219
139
146
187
131
207
193
176
195
135
206
165
179
212
216
204
172
211
216
197
157
216
173
143
149
141
199
137
175
191
166
183
219
133
128
121
154
180
193
151
139
152
219
166
211
183
153
192
219
128
124
199
167
137
184
183
201
153
197
156
169
201
148
139
188
171
195
218
191
133
120
193
149
189
137
185
162
153
209
120
190
185
166
175
174
180
166
138
137
129
127
174
203
120
171
128
179
128
142
139
144
116
115
134
143
131
101
137
111
132
145
100
110
106
107
107
112
100
141
104
122
116
146
135
126
125
124
131
113
114
141
149
110
106
119
127
115
139
143
125
103
100
118
134
106
137
122
119
119
128
141
146
112
127
110
138
127
142
127
140
104
125
136
108
123
135
113
141
125
102
116
117
137
150
128
128
135
144
108
136
149
126
143
127
113
130
103
109
121
123
108
132
132
138
130
150
144
131
118
146
128
150
112
106
147
102
137
139
148
105
124
138
139
149
124
110
111
102
102
124
103
120
106
136
143
149
107
146
109
136
110
128
141
124
133
208
162
192
211
133
167
145
204
191
177
162
211
186
205
162
209
206
177
169
165
199
200
179
185
187
208
210
156
151
143
210
207
154
211
131
211
210
131
215
219
136
175
216
212
204
201
179
124
143
204
204
144
130
165
185
157
156
171
135
188
128
120
131
121
219
143
146
177
124
168
131
121
157
134
215
163
191
168
209
128
194
123
210
173
220
130
215
191
161
169
208
169
173
150
145
192
153
220
161
132
210
210
192
209
143
156
137
144
121
130
175
175
130
205
201
206
156
147
198
210
122
174
120
146
160
164
182
147
121
185
148
175
161
206
207
156
143
184
120
126
198
176
172
144
120
197
120
141
138
194
183
131
133
121
146
123
136
133
134
121
121
107
124
114
133
145
132
114
105
111
100
122
117
103
150
114
126
127
117
140
104
105
136
115
104
103
132
118
150
144
114
136
113
108
108
128
114
125
118
139
144
113
102
101
145
135
117
120
122
117
105
145
127
101
111
130
129
136
123
136
147
117
111
132
134
128
138
125
144
101
130
103
121
120
108
100
105
132
106
100
137
143
118
108
145
123
120
100
117
135
138
124
122
144
135
129
108
135
119
135
107
121
120
140
111
118
131
137
143
104
128
140
103
103
139
147
130
127
113
123
101
131
129
107
149
128
110
101
114
141
109
145
144
150
140
127
134
132
136
100
136
138
127
132
144
138
110
104
144
150
143
120
119
118
117
150
143
112
119
125
130
101
147
136
122
216
189
167
193
140
155
158
120
197
191
162
130
121
154
150
201
201
145
198
150
174
133
193
167
166
173
176
193
143
140
122
177
166
160
153
135
172
192
130
130
183
164
188
120
219
142
121
123
196
209
203
211
157
143
146
142
161
220
181
157
158
135
136
131
128
172
146
148
180
203
146
180
157
152
193
173
186
141
145
166
144
151
140
203
176
207
145
197
145
121
173
189
132
175
217
161
164
186
213
138
130
199
180
122
145
140
220
136
128
185
215
122
125
163
190
179
164
195
120
132
217
200
164
142
156
174
198
204
124
140
184
123
158
182
131
176
150
151
120
192
162
131
193
179
215
121
157
126
209
213
212
147
175
191
126
158
165
138
177
191
156
200
188
168
192
148
129
109
134
146
113
143
118
149
140
128
128
119
110
108
145
113
105
135
109
129
133
102
146
128
114
108
138
140
137
131
129
113
102
101
110
107
123
105
102
132
149
115
131
125
104
131
123
115
111
115
100
149
109
126
122
146
143
115
146
132
138
122
143
107
112
115
111
111
133
143
136
116
147
109
136
110
143
133
125
133
145
129
139
133
114
118
114
125
137
106
150
118
149
149
113
104
148
128
129
132
130
147
123
112
104
129
102
107
143
120
134
100
149
139
129
137
143
111
134
140
112
121
115
115
110
141
124
108
104
113
113
146
144
156
198
149
125
155
137
172
122
188
205
136
128
175
192
192
190
214
133
128
212
136
179
142
163
135
186
213
181
140
190
191
167
139
175
157
138
195
183
137
128
207
124
206
157
127
172
217
180
170
202
186
133
208
220
201
204
157
216
210
155
182
129
157
171
120
207
167
181
187
161
158
180
176
200
158
199
178
155
154
205
186
205
219
210
169
214
179
174
157
187
154
168
131
179
191
216
196
120
170
141
132
132
131
211
156
175
148
163
161
125
136
217
160
204
153
181
209
141
170
189
152
192
128
144
155
158
199
186
218
210
172
205
198
211
218
191
200
134
137
185
137
169
209
212
141
154
145
192
170
177
167
132
132
121
125
147
114
142
141
100
117
136
124
112
145
114
145
138
137
129
114
100
104
105
130
104
123
109
118
123
141
124
104
108
144
104
122
148
115
103
122
143
143
142
108
110
100
138
104
109
105
144
112
142
146
145
114
147
108
144
109
134
101
126
141
100
115
118
120
104
109
105
140
108
105
127
109
122
145
126
148
141
101
129
126
104
127
131
117
135
140
122
143
125
149
149
142
105
125
101
137
105
114
144
105
111
100
104
146
117
138
139
141
130
125
126
121
145
149
113
119
120
103
102
122
108
104
100
123
103
127
107
107
108
121
145
145
119
131
125
129
126
120
138
129
138
104
140
123
141
142
144
109
124
148
114
197
154
187
164
126
168
148
206
163
196
183
168
165
201
211
197
190
168
147
167
163
167
176
137
149
199
191
182
143
143
220
120
181
204
170
191
218
175
186
199
160
126
148
143
126
124
200
131
220
176
219
194
202
174
136
147
174
172
123
121
136
151
146
193
204
149
176
167
170
129
123
146
168
216
212
156
146
210
199
208
136
149
143
219
136
168
143
125
201
204
149
126
147
193
139
131
148
180
166
211
207
211
194
158
171
150
190
188
156
209
190
197
148
220
137
180
173
120
173
220
161
150
184
187
133
120
177
160
164
162
143
182
146
199
187
212
129
136
168
180
136
113
123
105
121
122
127
112
109
101
110
121
146
150
112
120
124
129
115
117
143
139
112
104
146
108
140
110
139
110
132
142
122
141
147
116
115
122
144
104
132
108
126
126
147
121
128
116
140
131
148
120
135
139
125
127
104
118
122
102
144
106
114
130
138
136
129
100
121
122
121
132
118
117
118
129
135
150
144
118
107
119
134
123
116
114
100
100
106
138
110
128
116
115
127
102
134
103
112
126
112
136
105
147
128
101
135
118
111
123
122
150
136
146
118
112
117
147
112
123
140
128
126
116
123
144
116
110
121
150
139
143
142
111
150
106
103
130
134
118
114
104
107
139
103
119
133
135
136
105
117
122
102
141
102
126
145
105
116
150
129
131
112
128
139
110
116
151
182
151
208
156
205
174
184
175
156
163
202
207
168
149
131
205
150
137
201
172
123
209
199
128
142
126
160
181
178
207
186
139
136
130
213
175
158
206
161
195
133
168
179
134
176
154
203
146
183
137
193
197
174
149
195
210
200
162
151
146
124
193
168
128
206
178
198
189
178
147
214
132
148
161
215
140
216
167
202
177
144
123
158
154
188
201
154
167
172
150
209
133
184
141
145
148
134
179
124
181
206
129
218
220
170
190
199
165
203
127
205
129
191
178
123
202
161
195
146
156
169
149
121
167
140
171
127
132
150
175
180
157
203
131
164
193
148
156
121
143
147
188
122
206
196
170
116
135
127
133
131
108
100
109
149
124
117
134
129
130
106
137
121
102
137
109
145
139
136
107
124
123
135
125
133
107
129
136
150
133
109
139
110
142
114
150
134
134
138
128
146
145
112
132
105
106
114
131
100
147
107
148
105
106
144
105
108
126
139
124
148
118
128
149
104
148
131
120
113
113
101
125
143
149
116
112
120
106
122
122
148
129
135
145
107
124
101
133
110
104
120
141
125
101
114
127
105
127
119
131
139
138
141
132
124
107
144
139
128
105
129
104
142
103
138
131
122
110
148
120
130
115
148
112
111
128
111
131
119
146
217
205
208
169
185
218
211
143
182
134
121
137
211
139
155
147
181
215
165
175
166
153
136
153
201
183
169
138
134
122
136
165
198
172
205
219
122
184
177
197
216
169
144
183
132
127
195
160
174
166
133
190
158
169
215
173
216
174
134
170
153
218
183
156
170
196
176
133
167
213
220
146
135
220
130
150
169
159
175
129
138
155
145
172
153
201
178
167
186
157
155
171
137
210
217
142
160
202
142
123
197
122
164
167
173
198
138
135
195
214
143
144
203
210
154
213
182
144
132
185
216
131
148
168
121
139
153
213
128
150
191
157
172
217
127
136
140
129
177
173
104
130
126
105
101
106
118
108
102
111
120
112
109
109
101
103
102
139
147
111
138
137
107
139
131
139
145
131
149
124
109
105
109
118
134
108
121
128
128
112
130
136
104
142
100
118
145
146
111
144
142
148
135
124
101
130
124
102
104
121
138
105
122
107
115
100
104
130
108
141
122
130
131
144
126
146
124
138
120
116
130
134
132
147
145
127
107
143
127
116
107
117
137
105
127
144
144
150
136
140
139
128
120
118
133
148
115
119
120
137
122
144
121
104
101
136
103
125
106
125
126
111
129
102
115
100
128
122
141
142
108
127
138
116
115
147
131
134
110
125
135
143
140
110
144
105
116
126
128
100
146
103
108
132
140
138
132
144
102
121
129
136
128
103
123
115
150
130
140
178
141
179
168
217
205
196
214
146
130
155
173
156
157
178
217
205
211
177
167
164
123
122
188
196
148
173
163
149
127
163
175
159
212
208
172
128
159
137
205
152
164
210
206
205
209
126
153
153
135
191
208
155
177
192
132
156
132
191
219
171
212
148
210
219
141
172
136
206
174
185
126
149
169
163
139
161
207
187
129
135
214
130
195
185
220
171
139
176
190
164
190
203
138
169
122
138
143
151
127
139
156
207
172
197
128
217
139
157
139
134
196
205
144
209
188
157
156
185
187
120
211
136
120
211
192
137
154
144
149
205
190
177
206
207
215
135
213
200
214
194
131
177
182
139
198
187
140
133
123
119
118
104
131
114
132
107
123
147
148
137
113
144
144
148
120
147
130
112
132
125
149
148
130
107
136
102
135
143
123
115
112
143
103
101
150
125
131
141
149
112
112
120
117
121
100
139
107
101
102
114
118
138
105
138
133
117
132
102
120
133
129
144
145
106
119
145
143
140
119
141
138
148
120
109
137
134
140
129
139
130
130
126
145
134
121
122
131
142
133
110
150
115
125
128
123
147
124
112
143
119
117
127
112
140
150
127
109
117
118
114
140
126
115
142
130
124
117
146
140
148
107
138
108
132
134
146
149
110
146
102
104
218
124
128
164
179
179
159
133
137
215
188
142
155
200
212
213
177
144
167
183
162
165
163
175
165
143
128
205
136
141
155
150
139
211
160
134
173
160
218
156
160
155
158
130
126
162
152
139
182
140
121
172
154
180
172
199
178
133
220
154
135
206
121
178
148
176
122
154
161
143
136
184
210
144
143
173
122
123
159
128
218
179
149
135
189
193
200
147
120
203
200
146
168
191
174
192
131
159
158
130
149
135
190
120
126
198
155
153
137
174
159
165
212
188
128
144
190
170
208
220
152
166
213
209
180
218
218
138
169
124
127
117
136
146
100
109
122
117
121
145
132
142
108
143
105
144
109
139
144
109
119
131
116
120
147
139
117
139
113
122
142
147
150
136
126
146
100
107
107
106
108
140
133
149
109
150
100
148
131
145
123
104
133
132
112
132
105
139
133
112
103
103
109
137
137
104
121
146
122
131
143
116
135
124
142
146
113
129
147
108
123
140
139
102
108
139
101
145
140
103
114
137
147
100
129
117
114
140
107
101
123
149
118
114
148
122
126
143
100
147
150
121
141
135
127
121
150
101
101
141
113
134
140
104
145
117
131
113
141
102
103
106
145
111
126
129
150
129
127
125
138
115
101
118
141
122
132
109
108
142
105
108
107
104
141
126
107
141
134
115
195
158
175
169
214
162
181
123
171
130
161
139
201
208
168
128
186
170
170
205
197
134
121
201
165
150
164
204
211
123
212
130
211
128
136
128
140
215
131
170
139
183
172
132
170
155
217
220
178
169
154
146
216
213
212
214
137
153
209
174
220
157
216
201
146
170
174
171
196
219
180
180
198
124
144
142
202
140
129
187
128
195
157
148
220
135
125
200
211
219
148
159
132
213
220
127
196
216
188
211
206
179
197
140
130
161
151
219
167
168
128
195
155
205
164
184
198
162
208
135
218
134
148
127
177
148
143
138
191
194
148
181
120
189
213
186
213
120
143
213
152
131
144
214
184
167
146
214
169
171
180
219
144
180
200
195
127
144
207
176
181
202
154
128
140
145
118
116
107
145
149
140
121
148
128
107
114
102
134
106
122
115
145
135
145
147
101
130
137
109
133
114
148
113
132
109
110
100
130
103
123
116
108
117
115
101
132
143
108
101
138
135
107
100
131
110
122
132
131
113
144
135
145
129
135
105
139
114
114
109
125
118
110
117
147
111
128
133
149
148
129
132
144
140
120
133
120
131
117
125
142
110
106
124
122
120
139
124
107
148
108
135
124
125
144
148
121
141
110
131
134
134
102
113
150
139
122
104
123
140
144
132
118
131
121
101
133
149
138
116
199
209
173
171
123
164
213
192
206
131
191
147
211
137
190
169
163
168
150
136
209
157
213
187
203
195
173
213
162
158
120
203
206
187
191
166
211
187
195
141
135
175
150
120
125
180
149
131
165
176
122
178
178
120
209
214
204
215
135
162
194
181
151
183
207
202
122
152
144
151
179
174
162
172
154
150
192
200
162
136
214
212
184
122
163
152
120
124
154
141
210
164
196
137
129
135
133
182
183
170
187
154
188
206
202
136
190
218
126
208
209
211
206
135
161
202
146
155
120
150
206
135
189
142
210
148
193
192
127
220
206
180
149
196
170
174
220
134
126
125
188
214
134
192
158
189
131
211
123
156
121
142
180
176
133
199
129
150
179
209
214
195
191
132
153
199
133
190
207
207
126
217
216
186
130
118
136
116
130
134
118
148
139
108
143
101
139
135
134
138
130
113
150
115
128
117
137
107
150
104
144
112
139
139
143
111
103
141
130
145
131
117
148
142
124
108
135
110
105
132
138
105
116
115
115
149
118
101
103
135
100
149
120
126
147
118
104
124
137
143
134
138
140
100
117
136
148
118
149
106
128
120
134
143
111
148
122
127
116
108
133
138
118
123
113
141
101
123
125
123
120
109
105
107
119
150
105
105
117
141
124
114
140
107
144
110
133
107
137
135
146
121
119
128
147
121
149
112
136
135
105
124
101
112
112
145
108
131
120
146
107
133
150
114
128
147
118
124
106
149
149
114
137
127
139
132
101
125
103
137
150
144
136
117
142
102
145
133
129
113
145
145
129
135
124
141
107
162
200
139
122
218
152
125
217
126
130
155
190
137
129
147
120
166
203
208
205
142
152
215
153
195
178
127
189
137
146
219
193
163
144
124
194
153
190
158
220
131
150
217
120
212
186
209
138
130
199
172
214
188
199
138
164
160
176
184
146
126
219
163
166
182
120
205
130
163
154
177
168
186
195
131
206
200
141
162
178
191
161
164
159
211
174
170
172
138
218
135
151
122
171
152
197
150
203
209
179
132
212
126
120
163
170
151
164
152
158
215
216
141
166
182
130
180
200
180
188
177
164
216
183
185
124
167
210
124
120
133
111
145
121
137
114
109
131
141
128
135
138
133
149
118
127
105
147
122
143
123
117
144
111
110
111
132
123
149
143
144
100
150
137
103
115
109
100
130
143
138
117
150
138
107
112
110
145
117
141
118
133
145
146
107
119
133
114
117
142
118
106
128
130
103
150
149
136
147
149
113
142
118
111
150
136
124
120
126
145
143
104
147
119
110
102
103
139
125
122
138
141
136
120
100
137
109
117
135
147
129
103
103
109
123
144
147
102
112
114
112
141
122
137
127
108
118
138
126
116
116
104
130
139
150
141
136
147
116
130
107
127
117
133
110
125
132
110
136
104
144
118
134
131
127
141
136
104
104
150
111
141
106
110
147
129
196
175
155
179
200
123
160
209
160
220
206
126
153
135
172
135
125
216
206
123
214
203
202
124
177
156
211
129
125
147
189
129
184
203
170
175
174
144
140
211
120
203
167
200
183
142
203
198
137
198
195
160
158
132
127
145
167
182
178
149
144
148
167
188
216
175
204
135
145
128
215
131
193
213
137
202
163
190
183
166
170
133
127
200
172
154
217
206
147
162
133
190
141
194
185
139
169
137
217
120
157
186
181
180
217
139
182
202
155
200
205
172
205
120
210
141
171
120
139
202
146
211
205
152
214
217
127
159
121
213
150
139
153
215
127
170
195
171
187
162
153
149
137
213
132
151
132
216
195
177
182
131
198
192
140
176
157
150
151
156
122
183
138
140
128
176
191
154
206
181
110
128
124
140
123
119
111
147
124
119
126
129
110
121
119
136
142
139
115
133
145
111
132
147
137
119
146
118
129
117
144
107
104
149
147
134
123
147
130
140
136
143
135
128
137
130
123
104
112
116
113
100
110
147
114
128
115
122
114
147
117
128
120
107
130
109
124
147
129
136
125
130
122
131
144
146
101
123
111
130
138
106
107
144
149
142
113
126
108
103
106
138
136
132
101
108
100
118
138
126
114
118
148
138
141
125
101
133
132
102
125
116
146
112
121
132
127
131
100
145
125
142
139
146
102
125
148
111
132
137
107
107
111
117
129
150
148
126
110
117
114
109
104
115
142
143
213
217
177
147
165
141
153
183
131
139
148
175
123
135
203
129
174
200
125
216
175
217
155
173
136
152
154
145
179
178
176
124
183
216
129
219
200
156
132
141
170
170
210
168
216
180
162
143
147
153
195
143
201
208
183
142
198
218
155
210
124
178
143
149
189
131
132
146
127
201
187
168
160
172
156
173
143
141
165
203
141
163
139
130
151
149
210
143
136
215
176
144
174
125
162
169
144
130
129
209
171
162
146
203
127
127
125
152
217
156
151
149
127
218
125
135
142
195
174
180
190
206
142
144
220
147
173
124
213
161
220
150
136
184
141
176
155
139
156
120
121
171
175
187
211
189
166
194
197
170
150
164
190
135
209
177
201
152
191
187
141
162
215
153
217
213
186
175
185
126
134
116
100
129
136
119
118
143
129
113
117
114
149
146
104
109
112
121
110
133
118
134
133
141
101
125
147
132
107
145
145
123
134
142
111
146
119
130
124
141
140
144
102
138
123
108
146
109
124
121
127
104
137
125
109
120
125
111
104
119
110
118
104
117
141
105
128
136
114
142
113
102
125
127
135
134
143
121
148
149
121
139
113
122
102
118
105
112
137
145
122
129
138
150
129
109
102
112
139
139
139
141
105
150
122
145
139
149
115
133
113
141
104
126
113
108
146
128
139
132
113
143
137
112
131
105
100
150
112
116
133
125
148
100
144
150
114
102
102
128
111
111
106
138
111
106
135
144
101
142
124
100
102
119
133
145
138
132
107
117
126
111
130
112
111
109
101
140
109
148
134
141
142
108
145
202
170
163
209
155
219
149
183
160
127
192
200
137
216
136
163
132
132
177
153
184
212
204
190
131
182
206
153
195
192
138
163
144
152
164
132
167
145
173
198
121
181
175
171
166
218
164
167
142
185
133
184
210
219
211
176
157
171
141
123
196
197
143
186
215
162
151
133
192
163
203
173
158
164
123
201
157
153
149
161
179
157
129
177
120
139
219
194
122
173
160
125
124
155
168
128
207
166
131
220
139
120
141
152
214
198
189
197
132
167
216
198
178
168
142
125
196
174
197
212
160
179
210
140
205
198
119
147
132
130
126
128
104
118
115
131
147
117
108
137
123
135
138
135
112
125
127
100
128
126
119
138
111
134
140
110
123
108
130
146
101
135
123
104
141
120
123
137
127
139
124
103
144
108
120
123
110
133
114
116
105
133
138
146
119
109
107
114
125
117
133
144
131
120
136
107
148
147
120
111
116
107
144
133
141
130
119
126
144
147
126
149
114
124
136
111
150
108
134
114
106
120
135
105
114
117
117
147
138
147
118
132
117
112
109
126
131
124
131
111
114
142
139
120
149
149
130
105
105
107
148
149
121
145
129
105
137
134
107
126
149
102
150
102
106
150
129
105
137
120
137
125
126
132
123
119
134
104
137
145
134
115
142
127
150
111
109
104
163
192
188
188
167
130
183
163
204
207
169
198
127
169
150
178
203
137
134
214
186
165
212
170
179
201
178
212
143
194
133
174
133
129
149
127
163
184
146
146
187
179
207
187
216
154
213
173
218
147
196
196
209
145
199
138
138
166
211
202
146
163
163
121
200
129
120
163
133
205
170
178
202
122
197
197
151
184
186
134
137
212
214
163
121
134
201
143
192
197
210
206
129
148
152
182
195
168
180
170
175
190
168
149
145
170
170
127
212
174
158
179
210
173
160
133
217
193
127
182
205
120
181
129
183
190
123
201
130
210
200
210
180
158
182
153
197
159
137
205
217
216
132
124
101
144
136
107
138
115
120
131
120
111
102
109
134
107
135
149
125
137
130
141
109
146
142
118
109
132
104
135
139
121
111
139
144
115
150
107
108
135
103
105
112
125
129
129
120
101
120
115
122
127
119
126
104
120
106
122
102
100
139
149
144
150
108
106
113
118
137
106
126
108
105
117
101
141
114
102
148
118
119
133
127
149
128
124
148
122
126
138
101
134
126
100
111
117
131
108
124
129
105
135
121
105
111
104
101
138
110
130
144
146
111
126
113
106
149
106
109
107
123
103
110
108
111
136
100
123
116
138
117
103
133
126
134
146
106
147
148
119
116
142
117
110
108
107
157
163
195
151
169
174
122
167
203
178
164
144
146
198
214
208
186
193
187
156
160
198
173
202
120
145
196
166
120
154
130
205
139
157
150
177
180
213
122
154
134
156
121
181
174
187
176
195
215
127
199
127
134
151
184
175
131
162
146
198
203
173
156
128
159
165
161
166
140
140
193
166
217
168
195
139
143
175
171
128
196
130
171
196
146
193
217
166
176
148
178
217
199
152
215
154
215
216
143
141
204
203
210
202
155
217
155
169
201
190
176
120
207
171
211
137
155
171
158
219
177
164
147
167
146
199
138
213
171
195
151
142
219
192
125
118
131
118
103
118
106
109
119
109
116
123
104
130
130
141
104
147
146
105
123
125
143
100
132
126
113
113
130
110
144
116
150
140
121
134
123
118
134
145
126
115
119
106
112
111
120
102
129
116
124
147
105
120
105
109
123
124
105
115
142
138
110
146
137
119
104
106
121
131
133
150
112
147
114
142
139
122
131
108
132
134
107
119
146
100
126
113
140
143
107
136
117
100
105
133
139
148
143
104
115
125
125
143
109
124
142
103
150
134
148
141
122
130
132
102
107
142
108
104
143
133
147
100
109
102
118
113
120
109
136
141
121
193
139
158
151
161
203
122
161
162
141
194
199
214
132
127
142
201
174
127
146
203
151
125
192
193
164
200
156
156
122
137
202
219
187
152
154
198
177
218
130
126
158
136
145
192
205
151
184
204
204
157
138
130
147
173
125
213
143
182
213
133
127
186
190
142
192
213
141
210
176
132
201
132
160
198
192
133
193
130
129
181
123
147
181
216
185
191
214
146
166
137
183
146
218
210
178
199
205
211
147
219
208
146
183
204
148
153
174
120
156
166
187
172
217
213
133
140
120
184
215
173
205
128
197
131
200
105
116
135
116
138
113
106
144
118
113
150
100
143
104
148
126
128
148
113
100
103
145
138
140
119
136
106
116
139
101
107
148
149
104
122
111
101
137
120
109
120
121
100
138
147
124
126
140
128
130
115
109
108
139
130
138
133
122
123
108
112
146
135
122
105
145
122
107
112
118
102
125
107
105
146
130
147
126
108
139
138
131
111
137
137
134
107
149
141
100
118
136
134
117
119
116
100
133
150
112
150
124
126
128
115
132
121
148
146
139
115
135
136
117
105
106
142
117
143
100
140
122
115
150
105
122
133
149
150
148
121
132
124
128
117
127
157
177
120
124
135
122
219
185
173
149
146
133
140
174
121
138
144
216
214
152
191
123
216
197
216
155
155
167
194
199
178
211
139
156
156
177
145
125
200
157
137
199
122
139
156
183
186
218
218
173
177
139
189
195
198
154
163
208
151
165
181
212
214
193
136
200
187
143
173
180
134
185
147
125
155
140
146
124
132
186
121
180
130
202
174
145
172
213
202
123
134
155
187
122
203
157
177
175
147
176
141
142
154
220
128
125
126
120
141
131
189
142
213
214
148
197
120
188
177
151
156
202
136
150
199
177
133
194
139
117
133
134
126
134
136
123
140
139
143
108
120
144
146
113
137
106
132
113
112
139
135
132
145
104
100
103
140
121
102
129
128
140
127
120
104
143
103
104
115
137
101
135
110
119
112
129
112
132
142
109
146
117
125
132
145
105
140
150
105
105
102
127
125
146
150
138
133
125
108
107
149
131
141
122
127
119
135
116
129
126
143
110
132
136
137
124
105
141
126
135
121
107
147
106
142
114
141
136
116
144
146
150
142
147
129
135
111
126
106
149
114
143
138
137
139
110
116
125
117
110
114
137
134
138
122
110
107
146
112
145
131
107
146
146
150
113
100
108
100
114
118
117
137
150
109
141
127
108
112
121
140
112
150
208
191
183
206
151
120
137
206
190
211
194
212
175
220
202
168
204
156
203
203
151
122
169
143
162
136
176
137
150
162
130
207
165
151
158
212
140
212
173
180
193
134
155
139
141
140
135
176
216
128
168
153
134
150
199
123
174
193
155
131
158
140
166
153
214
129
155
144
160
139
135
219
175
207
190
185
203
160
169
204
142
139
195
135
213
130
182
170
124
203
151
126
128
219
166
125
170
190
193
120
174
146
141
141
198
138
161
202
153
187
200
163
205
182
147
146
136
130
205
179
208
145
131
195
161
175
126
140
214
158
208
128
137
177
127
110
107
146
142
138
142
115
123
141
140
100
145
107
141
145
141
133
123
126
136
122
125
143
117
122
116
149
115
126
114
104
125
135
142
123
135
105
132
112
120
103
147
126
140
122
130
150
112
120
129
112
139
105
141
111
102
141
112
132
143
140
146
148
140
141
142
120
101
137
136
136
141
111
105
108
111
134
131
118
149
148
111
135
117
130
143
126
118
139
101
147
134
113
100
128
144
148
143
100
132
113
149
123
114
121
116
109
145
100
119
114
135
143
148
109
143
102
101
136
121
108
125
141
150
112
143
117
114
115
143
140
147
118
137
128
106
125
115
129
147
115
134
112
101
112
103
128
133
132
146
150
117
144
104
109
110
111
144
129
103
132
117
122
124
122
130
135
116
179
144
158
213
176
164
123
134
145
182
131
214
200
122
204
126
216
203
169
182
170
219
165
140
195
174
151
189
177
162
195
121
182
181
151
127
213
180
199
161
200
123
218
164
134
186
161
125
189
185
138
169
186
172
197
194
126
218
196
218
200
212
156
157
132
164
162
197
167
135
147
153
189
194
165
197
166
153
152
179
196
140
192
185
181
177
140
184
209
189
130
218
193
148
163
199
181
129
137
168
172
194
188
197
211
190
148
194
159
124
200
167
187
167
210
206
175
153
209
144
129
183
169
198
207
160
176
144
171
111
116
112
100
123
114
148
119
122
117
110
100
136
112
108
116
123
109
103
103
131
119
118
131
127
133
141
127
101
115
116
100
132
123
115
125
147
120
122
115
114
121
141
106
106
118
132
112
131
140
127
113
106
148
111
112
148
117
149
145
136
143
105
115
140
139
130
145
141
101
147
142
136
113
121
106
100
112
107
132
135
110
104
144
125
113
120
103
117
103
100
108
147
103
149
110
139
147
121
143
104
132
112
123
121
110
120
142
118
137
106
135
111
142
125
148
110
149
150
138
148
137
150
140
125
109
139
121
125
142
144
105
130
146
102
144
122
139
112
116
104
130
105
133
107
136
145
103
122
138
145
136
129
140
128
211
152
165
164
190
166
138
197
190
123
205
207
184
141
218
149
175
162
128
194
216
155
198
184
149
152
191
207
196
196
204
208
217
218
131
146
154
171
140
141
141
123
165
153
124
135
164
143
142
186
154
208
171
208
218
147
211
189
163
162
136
212
209
205
148
173
185
155
205
135
138
174
215
134
126
190
173
136
163
220
194
132
156
152
206
217
174
212
138
179
168
151
214
199
155
145
163
166
131
160
129
154
208
206
148
135
126
159
174
126
212
181
148
120
196
161
130
129
196
176
163
138
206
168
139
149
178
177
122
168
148
191
132
131
124
145
205
185
173
210
180
200
160
189
147
218
204
143
205
179
207
166
129
188
167
124
199
169
199
207
177
136
106
123
124
145
137
141
131
147
138
142
145
141
145
120
135
119
129
144
121
131
139
145
141
129
145
134
132
122
125
128
130
112
107
146
143
147
145
139
123
128
133
114
109
122
103
135
118
111
123
103
118
118
106
137
102
134
101
143
141
103
107
111
141
148
100
135
117
144
116
141
117
108
129
143
144
135
124
134
125
118
125
135
139
111
142
141
114
108
113
105
126
124
150
123
136
103
106
108
112
129
110
143
114
134
150
149
138
124
137
102
146
130
126
117
120
110
121
122
138
148
145
143
138
111
132
141
125
137
138
123
118
146
136
108
110
116
101
115
126
128
142
141
144
137
134
148
118
119
119
134
106
175
170
213
158
146
193
140
167
187
172
167
198
123
198
196
166
120
135
164
201
170
128
215
180
176
124
187
155
189
213
192
150
146
192
156
156
149
140
161
183
179
123
131
185
196
200
123
190
130
134
219
174
195
203
142
179
197
191
136
196
123
166
206
202
217
179
124
149
120
171
209
212
186
148
165
134
210
206
217
140
151
167
190
152
181
152
219
181
136
217
139
145
121
194
201
206
181
198
188
137
158
149
212
207
146
200
160
129
136
173
142
141
137
163
214
132
190
212
157
165
159
189
208
142
214
124
206
137
219
197
207
127
196
120
216
123
195
143
144
137
186
158
180
147
131
100
116
149
127
149
106
124
135
136
142
113
146
116
113
115
136
119
138
125
107
133
140
102
102
120
120
147
130
140
111
145
133
107
103
145
119
106
102
131
109
137
106
131
118
103
105
136
104
149
140
108
108
113
103
142
102
117
148
113
148
118
135
119
147
108
103
130
132
135
124
139
130
126
142
121
124
140
105
129
115
131
110
127
137
137
148
148
136
123
100
130
111
102
137
126
132
116
126
126
121
110
118
116
145
123
110
145
100
138
105
143
145
114
140
137
128
105
127
144
139
129
140
143
140
119
103
117
125
108
107
150
104
109
145
128
137
161
152
131
146
210
133
144
202
186
185
125
168
157
156
134
202
155
175
171
187
178
178
160
215
192
154
120
151
176
180
153
198
171
198
220
199
189
182
121
208
202
177
125
216
149
163
126
151
164
123
164
142
207
149
138
216
178
158
219
171
151
182
177
148
166
149
210
127
146
142
218
132
136
144
170
190
219
179
180
200
174
159
209
162
169
167
123
205
199
149
165
139
194
205
190
172
202
217
159
216
151
174
141
212
199
148
173
143
169
166
182
165
142
141
204
187
212
122
200
136
212
140
152
219
133
131
120
132
167
206
191
200
201
145
133
168
194
126
158
201
193
174
144
199
140
182
153
171
168
203
214
128
185
145
210
140
173
167
137
185
201
198
125
184
204
160
121
138
169
201
135
157
199
138
124
140
116
114
149
113
139
103
128
103
128
116
123
119
101
100
116
100
122
121
115
124
105
126
143
131
140
132
132
134
103
112
124
109
132
144
103
107
129
105
148
103
136
115
132
139
104
115
104
129
106
143
106
121
119
146
113
137
120
133
127
132
134
129
142
143
130
134
142
145
102
142
131
147
144
110
148
102
146
113
113
114
111
117
145
126
125
114
145
130
121
116
109
114
114
141
109
126
126
132
102
114
107
120
112
132
108
139
149
134
111
103
102
105
133
125
126
108
119
126
118
111
111
132
106
101
115
145
110
119
179
182
143
215
136
169
158
196
186
170
158
125
134
212
173
199
206
159
185
121
123
139
213
182
161
163
171
147
160
170
120
200
168
158
196
189
128
197
167
208
127
206
148
187
148
214
123
144
201
220
154
215
152
207
133
144
170
210
150
170
202
198
203
130
153
148
209
165
156
160
167
205
125
191
121
135
154
131
200
127
205
154
219
129
190
216
187
155
124
157
183
171
207
137
184
190
152
149
142
211
179
145
198
152
156
175
195
181
148
146
138
188
205
139
165
206
127
183
158
123
191
123
150
147
141
205
126
159
135
157
121
164
157
137
198
153
193
207
161
129
127
184
133
156
183
149
128
143
105
111
150
102
141
150
132
143
106
127
138
141
104
126
133
141
114
147
116
132
127
143
100
127
110
111
139
108
136
101
129
134
106
148
112
103
118
123
120
148
109
126
141
141
115
110
102
109
116
144
107
122
137
125
130
125
113
117
126
144
124
108
120
142
138
132
121
104
104
128
120
110
110
117
125
144
105
117
108
121
128
135
147
133
141
120
108
126
109
131
128
105
142
135
137
117
107
139
136
140
113
131
143
100
102
145
112
137
145
113
111
132
127
129
105
127
114
150
132
135
121
150
112
130
144
147
122
123
144
125
142
100
124
129
100
108
123
105
110
125
104
113
109
115
126
124
138
100
111
124
139
100
127
197
135
210
177
123
191
133
133
172
160
127
208
212
142
194
171
193
154
170
142
188
178
149
187
177
204
212
170
139
140
135
191
148
220
185
190
125
123
140
154
214
138
124
208
128
129
196
156
129
171
123
179
124
149
214
180
122
171
214
219
142
212
121
178
181
133
173
186
190
139
190
174
146
167
200
142
130
213
177
147
165
163
190
167
176
165
162
168
216
218
211
151
203
151
151
155
123
198
149
162
126
160
214
144
204
150
179
211
172
199
151
198
218
183
120
183
173
174
123
200
148
214
129
179
168
186
211
151
209
179
142
157
200
169
197
213
220
169
186
152
136
136
127
180
149
217
203
148
180
147
124
138
211
131
213
185
191
206
200
147
170
144
126
149
212
150
183
131
122
141
158
108
135
112
144
128
148
129
147
147
114
130
101
144
106
126
104
136
118
137
147
109
133
137
103
136
137
117
101
142
112
134
117
121
118
126
135
148
134
135
131
134
100
142
100
101
126
143
109
100
112
102
116
139
114
101
129
106
148
150
137
102
116
117
135
123
119
114
128
117
146
133
119
148
141
130
117
148
119
106
105
121
123
148
122
109
130
119
141
140
144
125
100
127
147
133
135
130
145
141
125
143
119
108
148
138
116
112
109
142
126
146
134
114
144
110
112
110
122
132
134
120
139
145
103
141
130
128
102
103
137
139
122
100
135
137
116
123
142
146
100
103
138
113
111
136
105
108
103
124
117
121
131
119
130
132
126
132
134
105
144
122
117
126
124
106
108
178
206
170
153
134
151
205
138
218
216
156
218
184
212
149
193
122
145
170
207
122
197
193
179
148
132
207
208
141
173
149
127
191
212
132
168
173
195
126
158
209
140
150
180
156
199
124
205
159
175
121
217
215
157
149
205
215
165
183
175
138
168
198
207
121
165
192
143
162
171
200
199
174
121
212
204
138
220
142
152
190
146
181
166
134
142
147
192
167
132
143
213
197
194
127
175
137
189
219
202
181
202
204
178
186
130
206
147
191
132
148
165
142
168
197
141
216
146
172
138
125
140
192
192
164
123
135
203
187
206
166
170
154
193
185
137
146
137
206
206
220
217
172
177
111
126
127
124
134
137
144
134
143
120
128
132
119
113
133
118
111
146
108
128
127
101
117
107
139
116
146
132
124
125
136
131
136
139
120
143
131
103
142
116
115
149
122
149
138
140
137
108
140
114
142
124
147
150
116
141
144
131
111
140
116
131
112
109
134
101
126
148
100
127
137
123
118
105
113
114
110
119
102
109
142
105
139
117
141
128
124
101
125
128
121
141
141
149
124
138
141
143
118
114
137
101
128
121
120
121
139
128
144
122
144
118
103
125
101
106
125
121
134
111
121
119
139
110
143
110
115
105
112
109
134
138
118
106
111
103
101
121
129
139
123
134
138
142
140
128
211
176
129
187
192
122
182
134
182
171
208
220
196
158
211
215
207
171
154
171
177
136
151
121
182
128
165
181
210
154
216
164
184
173
190
125
195
148
143
165
164
159
194
161
200
125
138
145
152
204
219
174
128
163
132
120
145
136
209
190
155
176
172
147
155
155
123
213
200
155
165
192
135
131
196
135
170
131
209
199
160
200
120
195
219
215
218
132
192
190
214
166
131
204
180
151
195
135
211
137
220
201
156
167
171
183
157
186
147
129
155
220
138
144
168
162
166
120
140
123
203
216
216
197
179
197
207
194
194
201
137
176
190
150
133
171
128
128
193
216
208
177
142
204
194
206
183
203
171
169
211
143
195
158
207
190
218
127
108
104
123
117
125
106
124
125
124
146
118
112
141
138
145
141
129
114
104
132
101
115
116
144
142
142
145
141
128
137
106
105
145
134
113
117
123
119
125
102
137
111
133
123
112
108
129
126
145
119
106
102
122
104
137
119
118
120
113
108
128
131
128
145
124
108
123
100
124
124
113
107
127
107
105
127
131
123
135
143
138
146
145
110
146
120
136
120
103
141
143
143
127
120
126
116
103
104
116
139
117
125
119
112
102
109
111
126
106
136
132
103
128
136
130
146
139
108
139
143
146
106
104
120
116
116
148
120
102
125
149
122
111
128
139
118
146
118
101
137
146
126
133
134
105
111
112
114
135
120
146
128
111
115
126
133
117
113
110
117
195
140
212
164
150
182
161
146
142
141
120
182
135
141
129
171
182
155
166
154
204
163
219
201
154
220
178
163
121
174
193
144
191
213
130
131
161
179
126
207
163
162
192
178
139
127
145
150
198
192
158
217
166
171
175
138
208
175
157
164
120
196
217
155
171
212
159
150
133
134
149
210
135
161
205
161
165
213
213
139
169
162
121
139
140
167
160
214
124
206
172
122
187
204
213
200
121
198
180
191
217
208
129
144
152
198
163
183
165
175
220
160
211
130
152
158
157
189
211
158
152
201
177
217
167
155
177
121
112
128
102
117
116
125
117
128
129
116
137
118
101
115
144
128
126
136
147
137
100
150
113
125
104
137
139
101
112
150
107
111
140
132
149
122
118
114
125
129
129
108
111
109
125
101
141
119
142
126
130
122
122
137
122
150
146
105
139
142
106
137
106
148
104
112
122
102
101
145
127
138
118
110
132
108
135
119
146
100
139
150
141
123
100
137
129
142
127
114
116
126
137
137
108
138
113
137
119
149
101
146
127
138
134
112
140
118
112
134
141
136
130
105
119
126
122
135
141
147
148
120
128
125
121
148
203
168
121
219
199
128
143
182
180
209
157
193
209
144
140
176
220
180
175
165
127
124
210
171
161
203
170
186
220
120
170
158
211
212
206
192
133
130
199
183
209
200
137
189
194
146
211
188
175
157
182
146
191
148
124
181
179
134
130
180
168
167
149
175
171
179
183
220
171
158
161
174
185
214
209
141
199
159
171
216
129
188
209
168
213
121
149
215
168
209
186
142
140
202
182
176
195
168
171
142
144
211
148
219
125
151
186
159
211
189
191
129
216
219
181
218
207
121
170
121
173
133
166
123
140
175
147
148
156
146
170
213
129
149
191
165
161
171
192
129
136
154
206
129
151
149
126
132
192
133
215
207
137
182
206
192
169
187
122
162
181
201
142
111
128
124
116
123
107
137
128
108
138
111
124
142
133
124
107
136
112
150
131
131
143
102
110
146
126
112
118
131
118
101
109
106
105
136
126
142
137
133
146
141
136
102
119
147
101
102
144
136
136
138
145
136
120
104
140
120
128
128
127
106
105
117
104
147
140
121
130
104
121
133
111
102
150
108
115
111
133
111
138
142
138
111
145
149
133
137
133
120
102
142
127
126
135
105
134
134
103
107
131
132
100
129
136
137
102
135
109
142
130
113
127
140
143
139
138
141
126
140
128
134
143
121
119
109
108
126
122
133
111
131
102
134
136
119
119
119
100
117
126
137
106
106
125
133
109
123
127
121
138
185
137
176
167
131
173
175
134
192
218
192
154
125
209
124
197
135
127
208
202
174
154
162
177
192
211
128
216
134
216
182
159
180
127
152
199
126
129
123
178
168
159
148
130
131
168
163
200
210
200
159
214
191
214
181
167
146
144
178
153
210
185
133
202
121
211
135
197
200
139
130
208
204
136
158
218
189
213
184
206
150
149
132
183
159
123
191
210
205
188
161
198
135
171
151
215
201
155
183
175
148
187
121
201
133
149
160
175
156
204
207
151
160
168
179
128
165
139
219
154
146
130
192
219
213
125
187
218
139
152
146
127
122
153
181
156
165
204
167
126
191
170
131
156
220
136
157
138
168
156
123
187
189
198
133
122
139
150
127
125
100
142
110
100
120
107
106
127
119
104
148
125
137
134
145
135
131
113
130
115
126
149
111
104
107
146
122
138
111
116
128
133
102
145
128
118
100
101
106
134
106
116
106
140
150
141
123
119
150
109
119
110
134
136
100
119
126
129
120
120
107
147
117
100
128
148
116
140
122
134
108
118
139
148
135
130
111
150
100
143
134
145
139
125
140
150
112
104
110
117
108
117
127
149
116
106
114
124
103
105
147
115
129
142
111
126
147
141
129
114
145
117
130
118
125
143
109
129
117
105
120
130
107
132
129
138
130
116
131
101
125
145
116
135
141
125
132
108
141
122
109
105
138
174
142
173
124
217
125
130
125
154
218
216
153
161
129
158
201
155
142
220
157
214
169
144
162
163
215
145
195
138
196
148
161
151
165
175
220
129
142
215
123
142
130
159
169
148
206
206
134
150
199
172
196
168
214
176
151
159
178
194
181
201
173
204
218
146
153
133
156
184
182
165
187
197
198
218
147
147
175
146
135
181
126
171
140
198
154
140
152
209
139
122
145
136
127
163
130
125
146
123
177
128
182
194
123
206
189
151
211
145
185
171
121
216
194
219
145
210
130
132
191
211
190
201
202
169
135
180
216
215
172
198
130
184
178
134
134
110
138
100
121
102
102
104
149
101
141
111
141
149
115
139
140
105
107
108
136
143
137
141
104
128
108
111
150
114
138
147
125
135
119
135
132
141
115
106
119
139
134
103
127
139
127
116
123
115
100
124
108
130
104
124
147
108
110
132
112
117
136
133
136
110
113
149
115
149
136
128
118
102
101
139
101
118
149
140
126
106
142
117
121
143
134
111
129
140
127
134
141
104
109
114
122
128
141
131
109
119
100
130
113
117
137
101
118
121
122
130
118
123
108
111
114
116
132
119
103
108
111
102
115
128
150
136
128
126
101
150
144
112
125
106
141
123
116
135
103
126
137
115
105
150
135
117
103
147
139
108
100
107
104
148
110
169
126
197
173
213
159
187
155
189
175
173
134
192
163
168
125
159
136
129
139
129
158
160
215
130
137
207
146
169
152
205
192
169
151
168
164
120
132
146
184
163
217
220
146
202
203
198
133
175
202
157
123
138
155
133
211
176
217
202
218
219
176
173
219
170
163
158
206
146
138
198
192
219
206
183
149
144
193
180
200
158
165
219
177
198
212
196
179
172
120
168
210
201
205
151
188
217
159
198
132
195
120
174
125
132
144
209
124
195
149
183
213
215
204
205
217
206
158
170
146
172
137
154
196
140
159
142
146
165
166
144
183
172
147
176
183
130
154
207
138
209
125
207
140
171
128
183
173
133
210
186
138
127
170
124
191
174
149
126
113
131
119
103
143
109
125
114
122
110
114
110
107
100
127
101
113
127
144
110
119
147
105
113
114
112
139
116
124
106
136
143
112
124
120
145
143
145
107
121
114
144
121
119
144
134
120
103
107
126
106
148
142
140
110
128
107
117
118
117
101
150
150
110
105
150
123
120
103
126
119
103
137
147
148
114
113
133
142
138
148
134
132
120
129
114
111
104
145
110
129
116
112
111
103
125
138
110
136
143
103
143
133
117
106
135
101
102
148
133
142
147
128
112
144
131
126
128
145
121
144
129
136
135
113
136
102
109
112
133
122
148
110
112
144
123
104
127
137
101
117
147
109
123
150
144
101
105
119
102
125
116
138
141
142
129
102
116
202
162
202
194
176
130
121
132
138
192
211
170
186
150
216
135
147
161
153
135
204
164
164
178
159
191
174
188
122
174
151
188
135
126
207
212
183
144
185
155
153
141
187
128
201
205
133
189
176
187
175
195
126
163
150
145
211
142
218
169
144
147
212
195
128
215
146
212
212
123
166
218
212
191
182
195
144
185
137
196
158
181
129
215
190
125
134
201
209
130
122
168
208
170
169
153
162
216
149
216
147
216
147
132
129
144
142
197
162
178
210
200
181
190
209
190
180
130
176
177
197
159
184
178
182
202
213
170
120
135
166
192
199
121
175
180
169
119
129
143
150
114
119
104
136
128
135
102
138
112
137
143
148
126
148
106
124
143
103
117
143
145
138
121
138
130
136
103
110
131
136
121
120
141
145
126
114
131
127
122
139
150
133
135
128
145
130
113
119
146
124
135
129
137
100
114
106
149
113
133
112
136
126
108
108
141
145
140
109
140
139
128
138
109
115
100
138
120
150
128
105
107
108
141
122
129
117
128
149
140
110
126
133
128
120
125
147
119
142
114
148
119
116
146
117
114
121
127
145
118
140
102
118
148
140
136
104
132
128
110
149
142
132
118
135
130
118
141
220
193
160
183
139
166
131
218
188
169
217
139
186
122
205
171
182
151
181
127
147
164
185
150
163
219
220
194
203
131
190
174
150
145
123
153
123
214
173
170
157
132
202
190
138
134
142
152
164
141
120
131
156
156
207
186
134
126
123
126
164
147
132
186
201
126
162
139
142
220
130
178
161
217
155
207
144
213
168
211
120
169
174
120
147
158
136
159
134
150
166
205
155
174
141
192
178
179
163
158
147
175
198
128
167
196
188
129
143
211
163
132
140
161
137
218
184
139
204
204
207
167
179
211
166
180
156
124
140
131
189
125
137
151
128
111
130
113
114
107
137
147
127
146
114
112
128
147
139
111
122
116
120
112
138
113
114
107
133
129
141
142
138
132
140
100
134
126
109
110
109
129
137
108
119
117
111
103
108
150
113
118
102
145
137
107
135
116
128
100
118
125
118
109
138
133
122
117
133
106
122
145
103
146
143
131
139
114
146
131
142
144
115
145
149
104
134
100
117
108
101
146
126
131
142
136
134
140
115
128
121
123
103
135
114
100
133
111
116
107
110
126
148
139
135
133
128
122
126
102
142
133
122
150
105
149
128
147
105
104
123
117
112
106
119
147
146
131
144
150
150
103
105
125
144
140
134
112
129
161
185
198
194
127
134
147
196
166
159
145
177
152
177
154
198
155
217
179
159
176
141
153
131
185
159
126
147
177
213
127
172
122
133
179
191
198
155
166
182
183
152
123
201
160
143
193
187
202
159
218
163
160
179
196
196
171
184
198
146
164
153
137
131
144
143
143
141
184
120
209
120
135
173
199
160
132
140
192
121
147
135
192
134
206
151
210
142
207
197
215
174
218
160
215
201
208
180
176
219
149
175
220
217
203
120
185
180
122
154
185
211
140
174
145
196
155
128
156
142
204
141
169
158
215
125
216
216
192
207
201
163
131
176
200
123
179
193
218
193
190
132
220
139
191
146
125
220
211
130
163
179
192
123
200
194
161
190
101
145
108
130
110
111
136
144
149
136
129
137
126
147
145
145
129
140
128
116
128
113
127
119
135
125
120
150
105
109
104
119
121
109
117
116
125
126
143
115
109
122
149
115
132
114
111
115
148
129
127
139
141
140
107
138
140
148
118
139
120
127
147
111
144
109
130
142
134
103
115
107
102
136
106
103
146
150
124
116
124
121
145
145
122
123
138
138
125
104
143
135
113
144
124
148
101
130
122
131
111
139
115
100
142
111
104
126
105
107
128
108
134
131
115
117
122
121
120
146
129
107
134
105
107
128
140
114
143
109
127
106
148
109
107
150
105
115
101
118
121
138
104
117
117
123
188
120
193
137
200
205
180
122
175
214
157
120
173
193
202
154
124
126
187
199
181
128
135
215
190
205
144
153
163
191
196
134
212
149
146
145
209
200
125
185
180
182
172
149
220
128
140
153
165
199
132
209
163
181
180
188
121
136
125
214
193
152
149
167
212
179
126
164
133
184
212
181
158
137
162
219
217
134
133
152
169
151
120
166
204
204
220
120
124
125
214
176
132
138
158
142
152
164
208
169
216
156
147
199
153
198
204
204
201
125
148
143
203
188
180
210
217
164
152
163
134
150
120
168
189
133
201
128
205
126
213
143
216
143
180
159
198
183
159
216
134
198
197
218
137
136
166
215
131
212
198
219
210
213
167
152
153
197
120
217
193
110
112
148
124
150
144
108
102
102
123
111
103
142
136
119
123
117
125
100
135
135
145
119
113
128
126
136
116
116
137
113
117
116
118
121
115
134
122
143
104
110
143
103
110
146
138
103
117
141
106
132
128
126
120
101
122
110
101
109
124
106
103
106
145
103
136
129
147
114
125
118
150
113
134
103
117
110
136
102
133
101
103
102
104
147
113
117
132
100
132
102
131
131
127
140
136
104
117
130
114
124
101
136
132
102
101
109
116
146
137
120
124
141
117
141
135
128
136
133
112
106
137
145
133
130
150
100
109
104
136
134
137
119
140
141
108
104
101
125
146
139
116
145
146
127
111
104
110
146
202
204
165
125
174
169
138
213
179
145
155
149
144
183
126
179
168
219
210
190
161
134
178
168
131
164
132
152
203
193
140
158
124
192
131
214
194
166
205
185
206
191
196
127
196
140
140
165
175
175
137
215
160
154
181
144
145
185
129
174
136
167
173
177
183
189
188
207
189
138
122
139
132
162
200
189
120
198
205
186
172
135
144
156
124
184
185
217
193
211
176
125
157
128
122
169
126
154
138
179
173
164
183
185
130
195
209
219
188
217
164
121
179
216
152
166
192
198
160
145
177
120
125
160
124
166
122
139
179
173
185
123
154
122
218
179
172
120
191
162
147
172
148
102
133
109
105
115
106
136
147
105
128
127
120
138
127
144
109
121
123
106
145
128
132
109
130
145
143
129
130
134
136
104
135
124
109
125
148
123
140
129
131
103
150
140
120
122
102
145
142
149
128
128
139
115
144
134
121
146
127
124
130
149
133
134
117
144
133
127
141
133
118
140
120
120
138
111
141
130
108
117
101
135
127
136
138
123
129
145
118
115
146
110
144
126
112
119
104
132
144
139
120
110
129
105
125
113
102
150
136
138
108
100
123
131
146
118
146
100
131
142
123
129
124
133
136
137
115
108
149
140
105
106
143
133
111
135
103
110
140
142
111
144
199
143
158
143
172
216
160
207
186
201
202
149
200
146
215
217
174
164
153
149
172
178
174
145
135
168
157
179
205
183
189
174
135
201
177
183
183
154
200
175
159
178
220
206
149
201
145
171
177
170
189
145
165
212
159
129
174
165
154
155
191
208
161
181
208
193
213
172
191
141
162
164
201
136
185
159
162
123
188
139
190
180
160
191
208
154
122
155
190
142
176
218
171
122
198
194
219
174
142
140
208
124
138
207
168
209
144
148
174
210
162
126
181
167
209
161
125
154
173
196
206
200
132
189
132
138
163
123
135
141
128
219
153
195
178
149
207
122
218
187
180
147
154
197
192
184
120
214
193
218
132
133
201
202
202
195
164
198
110
142
113
106
110
140
102
110
136
130
101
127
149
149
149
106
131
148
112
113
120
130
101
119
110
143
112
120
141
138
131
101
142
122
137
125
103
101
128
106
123
109
138
126
110
132
105
115
145
105
120
137
110
107
140
104
106
116
106
125
109
109
113
127
101
121
110
133
146
146
105
108
135
150
149
150
146
143
101
128
129
110
107
122
105
132
130
124
135
125
104
124
129
111
143
143
106
131
101
138
104
115
106
106
114
143
142
147
108
116
144
148
135
113
101
113
145
148
107
104
126
113
150
115
103
136
115
112
126
111
124
118
137
104
119
126
126
134
139
166
143
194
196
186
189
141
168
195
163
174
196
127
181
149
191
210
151
168
178
137
149
168
143
155
197
177
180
149
120
164
160
169
194
159
200
128
130
154
184
167
206
186
214
120
155
160
199
179
170
122
127
125
142
189
157
169
122
159
151
168
151
211
219
140
144
149
182
171
123
135
126
183
156
160
214
149
210
178
153
219
131
200
211
188
184
127
136
140
180
128
211
165
217
213
192
187
198
133
171
205
217
213
135
169
219
206
211
138
170
155
189
126
176
198
169
166
155
192
130
193
189
196
135
201
139
140
216
143
175
179
164
168
192
139
161
158
218
193
206
169
191
204
162
181
156
165
220
156
145
192
191
176
129
123
137
119
110
125
136
103
106
103
102
134
141
109
127
112
123
131
134
103
140
112
117
147
131
101
122
140
128
142
105
125
119
147
104
132
105
122
138
112
141
108
149
113
125
102
147
115
122
124
118
137
101
144
141
106
126
101
135
121
129
108
106
115
141
125
101
106
115
130
131
100
147
126
100
103
119
116
122
127
143
123
109
150
110
114
122
137
119
123
133
117
143
129
134
135
134
148
142
144
107
145
106
144
118
114
113
116
119
132
132
145
113
141
126
108
103
148
105
128
142
147
150
131
145
114
129
107
121
108
126
103
100
118
146
132
137
126
145
134
123
131
124
133
123
102
127
113
136
115
149
129
147
137
111
122
131
131
112
129
123
149
135
219
194
158
135
193
204
195
157
121
182
202
142
179
127
180
147
205
122
138
195
176
212
210
218
200
211
186
132
129
146
127
206
148
147
122
201
138
128
220
136
181
146
190
147
219
129
167
121
220
159
152
220
195
122
156
144
122
174
203
158
136
144
177
166
162
160
145
211
135
217
134
144
186
132
145
163
167
215
134
215
184
179
139
196
162
124
181
203
120
174
132
177
198
175
194
122
164
176
164
207
181
209
174
155
168
149
206
215
203
185
218
165
212
174
192
138
134
200
139
154
138
166
209
198
168
135
143
201
127
189
180
144
210
116
134
113
139
121
146
113
143
142
130
138
144
130
122
114
115
120
150
114
115
115
148
145
111
139
100
111
110
132
117
136
113
100
110
148
132
116
100
139
140
109
114
113
148
134
136
145
101
108
142
121
103
148
141
123
109
129
121
125
110
111
146
124
115
112
136
149
103
124
146
139
120
146
126
121
109
139
103
129
126
100
128
112
112
122
125
106
126
132
146
119
126
145
134
136
126
122
134
113
113
150
101
125
109
136
140
101
113
106
101
102
102
112
123
136
142
100
108
136
120
138
139
130
149
106
138
117
106
142
140
112
112
137
117
138
133
110
147
132
127
132
144
149
190
129
187
191
156
164
185
165
174
187
209
177
124
166
184
208
155
182
127
212
197
121
212
208
150
216
134
216
164
138
157
135
176
140
131
154
200
168
153
150
123
191
121
195
199
141
181
164
145
163
145
139
145
206
183
163
122
198
163
168
129
141
168
176
120
202
151
203
186
201
211
185
201
214
170
181
194
186
158
216
162
130
174
158
151
169
202
146
185
203
157
135
142
187
130
170
129
216
200
187
124
126
136
145
146
165
158
172
157
200
144
170
136
190
157
130
200
170
220
138
127
137
151
132
190
213
172
161
164
209
211
172
126
193
190
152
149
166
127
208
216
167
176
200
175
156
190
129
214
172
209
215
202
182
133
216
123
128
163
186
216
182
214
170
136
193
120
197
145
145
120
126
129
110
141
127
130
117
119
134
124
105
145
147
132
116
142
108
111
127
130
144
123
105
107
112
103
112
114
128
148
113
128
120
123
145
116
125
104
148
120
105
115
109
144
126
122
136
127
104
103
135
134
137
106
150
100
149
101
100
110
150
142
135
122
116
132
135
108
129
115
102
140
101
114
134
143
101
139
107
119
107
127
126
107
103
133
130
142
102
102
148
100
101
112
121
113
100
102
118
147
102
107
105
100
139
114
137
138
101
114
118
105
144
124
136
100
121
146
149
117
145
100
118
149
127
135
108
128
129
125
123
127
132
146
121
143
147
123
135
137
134
137
150
108
113
120
146
127
133
103
114
138
144
117
103
148
142
101
102
138
101
132
114
104
137
107
124
105
107
121
140
128
193
142
194
176
142
130
182
129
200
197
180
183
154
203
216
162
127
126
144
218
149
178
166
181
132
193
136
162
151
169
149
151
183
142
129
208
147
133
201
219
165
202
127
202
181
195
189
187
149
127
193
137
138
144
215
180
220
179
165
218
125
208
129
177
138
165
201
149
192
214
170
210
137
146
170
205
195
184
179
192
144
120
151
174
181
161
159
160
194
186
155
137
172
162
209
162
175
203
215
206
210
122
124
203
205
181
139
200
191
166
189
159
179
137
154
213
185
191
130
213
151
167
127
216
187
203
125
189
131
197
151
174
147
206
138
160
173
132
138
207
150
129
178
172
212
162
142
129
108
117
106
109
117
138
127
104
139
111
121
124
129
139
130
106
107
124
108
128
120
132
120
127
125
134
140
145
144
129
130
106
124
127
139
122
120
141
132
108
141
107
150
124
109
150
127
141
100
125
109
138
112
109
123
108
121
116
147
145
140
139
115
121
146
143
143
109
136
133
148
115
143
120
140
110
115
107
123
107
136
142
130
122
101
120
123
103
103
106
150
127
149
109
107
150
112
123
123
103
137
146
132
124
150
122
141
143
140
125
113
113
141
105
128
134
104
137
122
108
117
145
120
136
140
103
145
106
140
126
126
104
146
113
122
140
134
105
135
105
102
137
193
149
213
135
158
191
165
145
191
218
179
213
149
173
189
181
141
145
170
139
121
144
156
181
158
176
157
146
209
214
190
192
178
123
163
177
139
183
154
170
209
130
150
172
176
203
163
122
129
121
214
169
139
203
145
174
215
138
159
147
192
188
137
142
161
185
211
178
122
123
141
140
121
136
173
144
217
144
195
161
157
123
132
131
168
193
190
184
168
138
165
171
183
216
197
175
123
186
135
172
189
169
148
200
188
209
195
186
180
212
217
219
136
143
161
218
168
147
220
151
204
207
157
145
192
215
199
186
150
178
217
170
128
137
130
185
188
149
124
162
134
202
141
207
197
209
135
104
130
100
117
122
143
122
127
103
111
120
138
113
141
129
117
133
142
113
100
137
135
132
135
132
149
101
104
134
149
150
118
122
109
127
110
128
140
117
106
107
143
101
125
100
105
118
126
133
120
124
111
118
141
125
129
108
146
150
118
135
149
136
106
144
101
101
114
117
147
146
117
134
139
113
122
120
136
108
114
140
149
134
134
150
142
113
119
126
111
121
117
108
132
106
124
126
147
143
113
147
111
127
100
118
137
149
129
105
142
118
140
148
122
123
114
107
140
121
107
113
133
125
147
107
150
147
102
133
111
213
209
195
181
185
127
170
188
126
186
121
182
195
168
130
144
163
168
207
214
154
136
162
168
120
218
122
175
130
197
137
131
138
207
180
168
151
130
187
178
220
213
216
178
120
131
133
184
198
148
139
129
172
190
208
142
162
156
149
156
213
217
171
197
125
213
154
159
198
198
218
177
179
151
153
147
183
175
139
212
144
212
130
168
195
219
141
164
171
135
212
189
182
203
176
187
142
133
126
161
184
142
201
163
211
192
185
202
220
212
198
145
151
149
206
122
188
181
187
217
155
122
135
208
159
144
165
145
184
159
212
126
196
173
213
122
188
124
159
154
219
206
168
164
200
166
144
128
136
102
139
121
103
128
131
126
134
147
130
102
103
124
127
129
120
150
141
111
105
118
150
143
121
129
123
133
125
134
104
134
137
135
106
140
146
131
146
146
149
112
139
103
120
137
130
135
147
129
109
134
149
100
127
109
122
121
143
115
137
128
138
110
114
119
110
138
101
107
131
126
107
124
117
124
140
109
115
121
149
113
142
106
141
124
134
115
120
131
104
112
130
144
150
148
136
115
133
108
106
124
129
141
100
136
132
143
138
102
126
123
121
106
127
106
106
146
106
134
108
102
120
123
121
114
121
139
141
124
122
138
106
150
133
146
142
137
115
147
116
105
123
124
114
100
110
115
150
102
150
112
130
140
148
113
169
158
142
196
125
185
164
129
192
218
134
127
129
140
189
205
146
186
175
124
136
171
220
190
161
200
148
152
131
150
170
123
129
182
130
155
167
167
156
133
142
178
199
173
194
130
220
188
217
168
165
120
193
162
205
204
211
128
175
134
194
122
136
138
169
217
137
179
140
196
130
134
204
183
212
215
174
210
159
149
178
148
191
184
208
169
203
163
208
175
219
182
215
214
163
152
174
127
138
192
156
201
161
219
146
208
132
150
173
210
209
141
185
154
138
161
121
147
129
130
130
124
143
192
154
194
137
195
144
159
161
156
120
157
149
165
158
209
127
124
157
166
136
175
199
207
153
149
207
181
208
162
202
144
212
125
135
100
134
109
126
133
107
108
101
140
106
133
127
135
128
121
123
146
145
112
129
148
134
132
127
106
145
138
139
149
132
134
111
136
141
122
117
118
103
104
146
143
130
129
108
123
148
127
111
141
149
125
121
128
101
110
115
143
126
118
118
105
102
130
142
142
116
106
147
143
148
110
134
110
127
139
100
148
135
101
129
150
125
112
149
126
128
133
123
144
131
117
129
117
132
118
101
111
136
102
133
120
134
137
100
148
103
112
143
131
138
103
140
125
121
134
140
147
150
129
134
123
114
126
111
140
118
141
100
144
131
101
115
104
124
126
130
118
105
131
119
133
129
139
109
120
100
104
143
128
126
110
142
120
103
121
143
130
116
113
133
103
121
128
149
118
116
100
125
108
118
139
105
195
139
193
210
199
127
199
134
208
148
155
139
188
174
177
153
144
198
143
199
121
172
120
217
202
123
198
124
166
179
203
127
131
127
189
209
167
192
204
134
151
219
150
129
121
136
213
219
202
214
185
206
130
199
154
167
141
157
172
175
161
143
203
183
210
161
216
166
132
182
213
128
141
176
127
209
214
187
208
171
176
150
206
164
175
195
141
205
154
147
166
194
180
151
129
183
133
196
142
139
148
214
219
123
188
139
128
206
209
194
215
129
172
178
194
123
152
148
209
199
146
173
167
166
125
203
155
149
195
152
135
140
166
123
166
174
142
170
150
128
195
178
172
167
218
138
179
128
150
151
143
196
209
125
200
170
129
140
192
157
128
209
136
204
214
216
199
155
128
133
120
109
107
140
124
117
134
133
114
146
148
140
125
127
139
129
128
127
103
142
129
117
125
150
104
143
143
135
149
118
140
118
132
129
102
150
125
116
134
117
146
118
137
136
119
112
130
115
120
117
125
145
106
107
149
123
115
112
140
115
126
142
139
148
115
106
143
109
113
110
123
124
123
149
115
150
141
138
116
116
132
103
109
123
122
104
132
138
139
119
117
137
121
122
115
116
122
107
119
116
132
102
106
118
130
108
123
128
113
148
107
140
143
139
122
105
131
137
108
104
131
145
124
145
135
118
108
117
139
214
219
141
125
126
132
203
210
144
161
169
167
204
129
191
197
191
190
157
175
220
200
128
124
220
179
122
184
138
159
174
175
191
178
158
157
175
144
196
217
158
195
173
179
158
187
213
210
162
145
195
144
170
158
201
158
170
190
210
173
126
165
150
186
181
139
122
207
139
189
129
143
166
197
195
147
138
197
147
213
200
125
178
148
203
135
131
183
134
178
216
211
187
138
209
170
183
120
196
185
188
202
161
178
206
160
186
140
153
153
177
203
162
194
162
137
198
133
179
212
152
174
210
136
163
159
212
208
125
122
126
156
160
205
215
155
214
189
216
182
217
124
162
133
195
174
171
167
165
137
133
210
215
215
145
151
159
176
217
195
171
120
140
121
177
130
209
156
151
198
213
135
204
190
114
129
107
116
110
118
122
115
134
150
119
110
113
149
107
135
150
117
128
115
106
136
113
106
122
106
114
113
117
143
142
128
117
150
132
127
127
146
104
120
138
100
116
127
117
105
139
125
127
126
138
113
144
104
108
110
105
103
117
138
108
119
108
118
134
116
142
120
120
100
138
148
126
136
147
126
140
108
102
129
121
105
102
128
108
107
114
128
124
131
143
113
149
144
149
130
100
117
116
109
127
111
135
113
106
124
116
101
131
112
130
125
149
108
148
126
107
113
116
141
100
111
136
133
126
145
136
150
104
102
104
117
131
142
119
144
106
117
117
144
182
151
172
198
186
142
185
210
136
138
163
190
145
154
187
144
121
120
196
173
209
168
136
165
184
167
214
181
215
186
208
206
169
170
170
218
192
205
136
155
203
150
159
183
193
164
177
202
147
169
140
145
191
165
194
179
170
142
138
188
157
202
220
136
134
209
137
189
154
145
128
171
143
163
206
192
129
166
212
178
133
147
133
170
125
199
182
156
214
206
162
194
129
181
148
142
144
132
220
152
134
162
172
169
147
157
166
138
165
205
181
214
199
174
172
149
176
220
220
185
192
209
176
140
138
209
143
152
144
144
192
120
180
198
167
153
157
191
145
183
163
154
217
216
141
163
194
185
180
129
113
108
105
112
140
145
146
136
140
138
150
103
133
130
129
116
129
101
136
115
136
120
114
130
147
128
123
124
112
105
140
108
142
127
113
123
150
130
136
110
148
105
129
119
117
105
137
140
137
130
147
123
101
123
109
125
122
109
113
140
106
128
139
112
127
143
119
103
145
114
124
141
135
120
136
147
134
121
131
122
109
111
150
109
126
136
120
149
114
119
105
136
112
142
121
115
148
120
132
108
134
126
110
111
145
122
134
106
116
116
111
129
111
115
132
100
116
139
149
125
140
120
117
138
100
101
145
125
116
116
124
147
108
133
120
147
118
101
144
128
128
111
112
106
125
146
116
114
138
127
133
130
209
213
156
165
174
205
150
214
220
174
129
197
121
185
154
132
170
177
132
124
191
189
183
141
193
211
213
165
162
160
175
140
149
141
185
176
217
185
166
152
197
201
171
218
145
158
123
145
197
208
143
178
202
165
166
213
138
210
124
149
172
212
214
213
198
135
196
195
138
190
147
209
188
192
199
163
186
194
155
182
209
167
211
163
215
177
160
146
173
200
152
190
134
129
216
186
178
210
127
134
161
120
219
216
175
159
133
176
196
210
125
164
213
185
127
183
123
128
216
184
213
166
137
199
175
152
136
134
193
139
149
150
181
120
164
160
175
166
125
215
213
157
147
189
131
147
189
191
197
196
172
143
158
164
162
126
180
134
175
139
156
125
104
141
140
117
117
118
105
114
134
142
105
140
114
104
145
122
132
133
150
126
102
101
139
122
141
100
103
139
138
112
109
103
144
134
128
112
106
134
132
115
133
123
124
123
143
105
136
124
129
104
105
146
149
129
134
148
150
129
102
139
108
148
136
140
101
131
133
138
147
147
134
119
148
129
105
101
112
117
104
115
136
122
105
120
120
149
106
140
111
144
109
114
129
103
102
150
145
111
128
128
113
119
125
113
126
128
116
127
123
145
103
137
113
100
144
147
144
108
101
145
116
121
130
133
109
134
145
100
128
104
136
100
122
115
140
122
130
119
136
145
114
103
112
148
132
105
143
144
119
119
125
130
107
123
109
133
112
119
150
134
101
119
141
102
145
110
134
104
135
120
122
113
209
204
174
184
220
191
126
200
127
185
183
125
174
195
216
210
167
129
168
132
178
156
205
197
134
218
160
217
198
216
142
127
124
208
206
163
212
205
147
200
199
120
215
143
208
206
178
122
185
214
133
220
159
159
212
196
195
165
140
188
189
185
147
189
151
179
130
179
151
201
165
144
200
130
187
182
138
133
184
152
151
173
183
152
205
135
158
204
134
155
134
193
140
191
185
202
165
183
179
158
217
179
176
121
203
122
219
175
135
130
217
162
132
192
179
215
157
120
133
194
144
188
206
136
155
141
196
149
144
142
192
185
217
152
184
131
191
122
219
173
216
164
121
130
176
164
171
127
146
207
139
139
129
214
196
164
199
191
125
135
139
176
190
171
141
117
143
118
143
106
107
105
111
114
124
139
141
109
123
124
105
130
120
129
117
149
137
146
139
132
116
138
129
100
138
113
118
148
111
104
123
139
128
148
135
120
117
132
147
111
115
110
131
139
138
101
101
103
126
118
148
106
110
104
123
119
129
145
136
104
132
112
100
124
135
106
101
139
123
100
113
116
104
117
118
105
141
142
104
129
128
119
119
141
142
104
128
110
120
146
133
138
147
121
128
149
125
103
140
124
144
118
137
148
115
116
127
141
130
149
105
142
107
148
127
139
137
141
110
104
107
137
107
116
143
109
148
118
106
101
141
113
148
116
112
117
121
127
147
146
136
137
135
138
106
119
133
103
113
132
105
124
147
108
130
140
142
145
123
141
148
198
215
157
165
212
121
205
184
210
219
167
213
180
169
192
180
219
217
122
185
204
190
128
162
199
166
164
139
186
179
172
213
218
146
176
214
135
191
121
180
177
184
149
190
166
168
186
174
164
126
141
137
192
187
159
128
136
149
193
181
167
129
129
128
139
134
193
138
141
133
214
200
192
213
127
213
207
197
192
142
153
194
202
122
204
125
215
138
122
129
211
196
200
165
156
121
150
162
143
181
201
177
134
157
123
147
141
215
177
174
136
148
205
163
145
211
170
150
179
175
205
218
204
212
176
137
120
136
205
136
186
211
177
186
130
144
137
165
218
216
150
121
106
122
119
128
148
139
130
143
146
135
134
121
115
108
111
128
120
144
148
116
135
132
116
120
149
145
103
139
147
128
106
128
139
100
141
131
136
120
114
141
150
113
147
137
139
132
126
140
145
123
118
101
141
106
149
101
106
129
117
109
148
102
143
100
124
108
134
100
106
131
108
142
144
102
130
125
142
102
134
144
145
103
142
133
138
149
128
145
144
105
123
111
107
135
106
147
109
106
130
103
113
122
150
142
141
101
140
126
126
134
112
102
150
107
112
112
145
103
102
115
145
113
117
108
102
104
126
117
121
126
112
135
103
107
119
141
140
120
140
148
123
110
117
115
130
137
122
110
142
112
122
134
144
108
111
100
121
106
135
123
150
122
162
146
186
130
177
136
153
213
180
181
208
214
211
153
194
167
204
200
188
206
210
172
219
175
143
161
122
213
120
124
158
134
194
149
163
203
212
176
161
188
168
209
201
121
120
120
197
134
205
171
162
143
122
191
216
153
165
145
194
166
173
181
155
180
164
192
215
206
156
187
187
159
187
220
160
190
161
193
142
149
195
180
210
203
164
154
162
188
173
215
134
125
122
149
194
210
171
148
177
203
152
169
153
169
120
125
123
173
200
192
213
205
126
220
213
144
148
155
208
130
183
182
189
187
205
160
132
175
153
160
142
213
188
166
178
149
161
122
203
162
152
189
194
131
149
168
210
147
128
159
206
216
197
209
186
191
138
204
159
191
139
131
186
182
151
135
143
141
124
147
143
145
107
135
150
105
119
141
113
111
144
104
124
138
125
104
149
105
146
100
126
148
108
105
102
110
119
132
130
115
142
130
146
133
146
102
101
144
119
115
103
126
140
118
126
129
113
149
106
150
105
106
135
146
123
111
150
109
103
129
128
110
107
150
133
102
125
136
123
132
108
137
139
138
110
147
143
102
150
120
112
119
143
110
143
142
108
125
133
147
121
149
148
139
108
115
115
102
148
123
137
119
145
127
108
132
106
118
112
136
150
141
137
142
146
104
125
129
101
116
107
140
126
107
125
147
100
133
120
131
128
102
109
101
126
148
150
111
141
105
150
133
106
105
115
112
130
149
123
115
138
100
172
181
164
147
193
211
166
189
152
178
149
214
130
215
201
169
138
148
178
195
131
207
206
189
190
211
162
176
144
218
185
153
153
162
123
211
144
142
156
125
177
149
135
148
180
175
140
131
120
155
136
154
130
177
165
152
218
199
207
172
138
141
161
156
191
202
121
134
195
147
185
193
144
161
151
218
146
212
125
168
148
145
146
165
125
194
138
170
147
183
189
182
144
210
202
190
210
200
214
179
204
155
209
154
146
177
164
144
136
181
196
157
193
216
181
180
215
153
154
178
218
220
135
152
162
204
176
147
130
126
165
148
159
182
161
199
196
126
142
151
165
153
124
196
212
163
145
100
147
144
142
120
142
117
118
122
114
100
107
116
110
145
111
114
138
129
137
136
109
144
128
124
141
150
132
138
134
140
102
102
126
131
126
123
109
105
103
102
141
135
117
114
100
149
101
138
101
120
149
105
122
127
144
131
100
135
143
139
130
109
148
101
136
110
132
149
101
117
141
105
137
109
130
129
104
150
150
140
142
125
130
117
142
130
146
136
123
148
124
106
118
132
144
133
117
128
150
115
141
115
113
140
128
106
114
110
112
123
129
107
111
109
103
134
119
140
148
131
137
108
147
143
129
122
121
160
126
141
162
144
121
200
165
196
203
122
158
168
157
180
138
135
122
188
172
159
188
143
185
208
183
137
129
140
162
193
188
141
134
214
196
220
212
195
170
160
170
184
137
191
182
183
172
149
191
162
128
188
154
183
205
176
204
123
131
155
184
165
187
196
151
132
151
211
135
157
216
180
155
163
212
198
124
175
156
207
171
165
186
201
132
161
152
171
211
131
183
210
122
207
180
166
172
219
139
145
209
182
216
136
175
143
175
132
151
211
193
137
123
147
142
188
193
214
152
130
182
219
208
183
209
133
127
123
145
128
125
125
132
137
141
101
144
150
130
104
118
111
108
126
122
105
133
109
150
105
126
104
142
150
142
118
132
117
119
120
127
142
111
101
102
114
140
131
113
125
132
127
114
145
120
147
103
148
138
150
106
121
126
137
112
103
115
124
109
112
111
117
127
117
101
104
113
148
140
132
124
143
148
120
144
133
133
101
145
142
106
134
110
139
134
130
107
119
149
142
140
149
115
112
123
126
139
138
116
122
144
100
100
132
147
125
144
101
131
136
100
121
126
102
120
141
140
140
114
102
116
112
137
104
146
129
103
113
143
150
113
102
170
163
176
194
130
204
154
148
122
211
155
148
126
122
149
160
151
210
196
166
205
150
123
184
208
160
189
161
141
179
160
151
161
129
206
183
142
196
164
212
206
170
172
140
142
192
179
211
174
155
155
132
170
218
152
214
142
220
171
199
162
164
184
199
166
193
125
191
213
215
198
204
213
209
184
202
179
176
144
197
132
148
220
183
140
154
180
186
174
125
140
138
169
209
177
173
163
130
206
181
128
166
134
205
133
147
186
121
219
200
160
209
181
193
143
140
197
145
210
125
217
217
146
163
219
133
210
196
120
216
168
180
175
199
174
204
220
180
122
147
173
210
144
131
128
130
105
126
109
137
111
106
129
118
105
132
140
139
113
137
104
106
128
117
103
119
104
137
125
103
110
118
104
116
121
128
121
148
114
105
146
115
109
130
135
139
108
110
107
121
148
102
141
142
133
126
132
113
116
138
108
131
103
134
117
121
146
140
128
116
121
146
138
144
121
102
136
104
133
125
113
102
132
100
130
102
133
123
145
118
130
129
110
145
116
103
117
131
135
103
131
103
114
118
137
140
111
118
111
118
150
128
124
129
127
132
142
103
107
109
120
126
131
103
137
120
109
103
137
120
125
105
120
128
102
128
106
147
211
130
129
147
159
210
175
164
148
205
126
134
214
167
146
139
216
190
130
181
214
183
146
193
205
171
177
201
169
175
165
142
178
169
181
131
134
213
169
186
178
160
137
195
159
142
168
162
128
174
160
150
201
218
199
199
154
164
136
126
128
148
140
172
195
189
208
153
134
216
147
211
153
163
185
213
220
175
205
200
193
128
154
156
142
141
181
169
186
161
153
160
159
121
202
153
183
120
199
137
199
149
123
132
215
184
185
166
212
172
145
186
144
176
204
128
215
129
201
210
180
189
149
193
127
126
173
159
179
149
129
124
215
214
170
170
181
159
215
205
216
204
152
170
147
206
181
218
147
215
215
121
133
118
113
117
135
115
147
136
123
150
120
148
104
126
100
138
131
122
127
124
138
114
121
103
119
117
111
121
117
117
126
130
139
140
127
100
138
115
132
115
139
127
112
111
115
114
126
133
116
109
102
148
110
132
146
144
140
107
125
114
139
145
118
147
144
138
127
136
128
146
147
130
113
117
108
139
138
136
118
113
109
113
114
108
108
104
101
130
123
134
109
109
106
101
120
140
124
138
149
107
114
114
127
111
134
145
137
102
100
146
135
118
109
143
127
104
132
141
129
110
146
125
129
135
135
139
103
125
115
137
142
120
135
138
134
182
205
123
121
211
175
193
149
170
181
214
142
179
212
132
207
138
149
126
149
133
152
189
135
181
149
193
122
149
120
124
139
143
205
162
157
160
178
161
174
201
122
172
203
183
126
157
126
155
185
176
198
167
156
179
157
189
179
144
126
173
135
129
202
214
215
151
214
203
146
172
121
156
174
154
184
126
211
204
177
168
159
124
179
206
187
126
199
220
138
160
167
157
143
214
162
164
160
155
180
184
146
133
127
124
217
172
161
220
166
188
154
174
195
165
155
190
131
135
158
132
161
167
201
202
214
201
205
206
132
153
156
209
162
201
174
138
202
187
185
178
202
207
197
133
159
191
148
158
176
214
196
210
166
211
195
176
200
180
168
192
121
147
184
199
169
130
119
108
147
148
141
142
123
129
136
119
149
130
133
131
109
147
140
128
121
113
127
107
101
104
145
120
112
116
118
123
150
130
128
107
111
126
120
141
105
131
141
106
123
128
143
134
136
115
112
140
144
144
150
148
131
108
144
122
119
135
107
130
110
121
135
104
113
143
145
115
138
127
114
148
148
149
133
101
116
119
149
140
119
118
132
120
122
132
146
149
113
111
111
135
135
107
113
132
140
140
138
105
148
142
120
104
130
133
118
126
129
126
108
123
141
127
129
107
113
119
117
105
124
119
120
139
106
117
123
107
134
109
129
136
120
144
130
122
119
103
149
131
121
141
101
109
101
150
148
122
150
127
150
123
107
150
117
101
131
107
102
145
148
146
121
132
141
135
149
100
216
145
156
182
193
172
120
199
165
190
144
121
130
148
149
165
165
211
172
138
180
162
174
189
149
140
179
136
182
218
154
140
201
175
186
141
195
186
164
203
159
155
127
120
139
211
173
219
146
197
196
174
165
155
136
163
167
189
191
175
201
181
176
127
155
158
131
195
129
162
195
142
149
198
166
131
189
149
125
142
200
123
200
172
174
200
217
158
182
143
159
209
176
124
170
190
130
207
133
171
175
198
203
141
211
197
201
125
158
214
148
176
130
153
177
201
148
180
125
122
148
128
195
179
139
182
139
164
123
190
204
150
166
218
197
161
128
136
164
130
155
184
207
181
194
195
149
163
199
197
208
199
219
219
162
179
160
202
194
125
131
113
123
109
139
145
148
131
139
136
105
123
117
134
124
129
104
135
143
143
137
143
117
108
113
129
125
126
109
140
131
109
109
127
141
112
118
112
103
150
118
102
132
128
109
104
125
149
146
100
135
145
114
124
121
133
146
122
116
104
141
113
120
143
136
117
111
109
123
148
136
117
122
138
134
122
140
105
131
124
115
112
113
148
109
101
110
105
104
115
131
116
124
148
133
119
116
103
122
103
114
115
100
118
101
139
135
123
101
102
122
120
137
149
125
137
128
136
112
115
101
121
144
108
111
150
104
142
114
105
122
145
216
151
172
129
157
129
218
196
199
145
170
142
172
155
151
126
173
133
205
199
166
184
212
204
168
172
208
128
167
201
124
126
176
183
168
143
145
127
134
199
140
217
197
214
123
208
139
182
189
217
178
178
139
152
184
182
121
217
152
205
174
204
167
131
152
197
199
199
174
179
214
195
175
181
126
137
203
186
200
208
135
120
216
155
167
135
162
130
136
180
206
180
167
171
215
153
179
122
135
172
148
200
180
197
140
160
149
208
197
153
130
199
173
180
144
192
164
178
218
214
174
123
186
200
186
177
160
198
148
193
122
140
209
136
133
183
191
220
215
131
214
145
139
144
174
216
128
172
152
183
187
160
147
215
126
135
179
201
200
139
164
130
145
187
208
148
200
164
195
219
162
178
218
143
102
103
117
109
106
121
113
107
104
149
140
102
141
118
110
138
123
111
128
149
123
115
126
118
124
132
125
132
120
133
138
145
117
148
127
132
148
104
148
140
107
127
146
123
133
103
129
109
112
147
142
127
148
122
114
146
138
147
119
144
139
100
133
110
104
131
107
119
125
123
147
131
144
125
112
131
131
135
149
138
122
147
137
150
134
116
107
143
115
135
123
111
128
139
105
150
122
114
138
131
150
100
128
107
144
105
136
120
100
136
110
102
138
107
145
150
100
138
120
144
140
104
143
125
101
133
113
104
148
116
111
120
137
136
103
128
125
115
146
128
131
139
111
128
149
205
202
160
206
164
169
121
157
184
159
192
158
175
194
143
154
189
156
172
150
201
136
135
127
139
206
125
189
213
174
179
128
214
125
151
214
165
164
205
141
184
186
137
207
190
137
122
172
175
173
171
134
213
172
155
144
174
120
139
143
123
218
213
197
170
163
197
215
219
167
214
187
216
154
209
195
168
125
201
192
190
144
217
204
178
217
181
214
203
176
190
122
179
215
164
161
193
140
167
164
140
156
202
128
140
199
177
121
159
149
149
142
174
132
156
162
137
190
200
211
214
204
189
205
187
132
147
100
113
114
112
138
120
146
129
110
135
116
123
125
138
141
106
118
111
140
111
110
113
140
108
124
138
139
115
103
137
116
105
147
150
125
110
149
107
113
108
146
130
142
150
150
130
104
123
148
123
120
142
101
119
114
136
103
127
130
114
100
101
124
103
127
137
139
128
106
117
143
142
111
106
116
119
111
149
119
119
124
144
130
114
147
100
137
136
109
138
103
118
122
141
144
133
132
143
139
129
114
133
120
104
119
138
119
139
136
144
135
143
129
108
149
102
145
117
131
133
129
107
148
145
129
140
110
147
121
117
102
215
160
212
215
132
211
123
197
139
157
126
124
171
159
191
134
124
166
132
211
181
190
194
126
144
214
191
185
174
164
189
155
147
194
211
168
213
208
142
158
212
202
146
220
193
200
126
121
190
188
202
201
165
196
215
219
121
127
174
198
164
184
178
126
121
209
203
155
178
187
161
193
190
187
207
208
216
175
131
148
133
206
121
178
191
186
189
219
153
220
193
123
185
135
152
207
160
148
182
162
147
192
180
181
134
131
173
120
186
218
204
214
203
192
165
142
127
149
192
182
187
173
157
178
219
190
169
143
197
146
135
142
106
150
121
114
140
144
108
118
121
118
135
119
107
134
130
114
133
106
135
147
116
117
138
120
146
114
100
150
118
107
131
119
104
117
114
149
131
110
148
131
134
149
117
103
144
103
128
107
131
131
100
120
146
106
139
141
128
124
141
146
113
141
134
113
106
140
101
143
103
117
109
125
104
110
105
123
109
139
141
116
116
121
109
124
126
107
132
150
145
106
108
112
138
110
118
124
107
140
114
102
127
100
105
147
109
132
150
119
142
140
125
138
110
135
117
104
120
103
131
135
116
137
139
149
130
113
131
102
115
132
142
115
118
111
129
100
101
112
124
122
129
104
148
137
134
145
131
132
135
149
107
106
115
148
138
136
116
125
123
110
123
142
116
125
126
117
112
141
129
137
209
195
200
127
128
188
216
143
129
154
194
134
171
167
136
151
210
171
154
218
197
196
212
131
154
128
208
215
159
154
121
141
178
165
135
193
138
209
200
178
167
174
204
176
155
146
191
196
123
157
149
132
191
152
200
175
182
155
140
141
122
140
175
166
198
174
197
175
142
137
139
216
170
213
165
170
125
166
197
139
159
190
131
152
137
218
143
166
188
169
133
207
167
209
213
165
146
188
212
139
200
203
218
179
187
211
146
217
215
217
182
165
201
210
187
139
203
184
194
131
191
149
209
208
191
199
202
205
148
176
152
158
158
190
195
192
138
127
151
167
189
194
182
200
191
199
143
169
178
160
122
169
159
160
195
127
204
165
217
128
103
140
121
112
120
127
147
112
102
109
130
116
143
148
125
104
107
122
142
125
101
143
115
132
109
150
146
132
140
103
126
135
127
133
110
141
104
123
102
124
130
140
135
150
106
144
101
114
113
126
142
128
143
130
133
110
140
116
124
116
109
146
104
150
134
134
128
101
126
129
112
123
114
128
136
150
119
122
134
100
122
110
135
109
128
140
105
148
136
129
102
108
104
135
117
132
134
144
117
138
109
146
125
105
149
141
147
127
141
134
132
144
149
147
104
108
115
100
111
111
116
115
111
110
105
106
141
117
102
137
122
140
120
104
129
144
133
148
130
128
115
122
149
114
109
111
138
120
135
137
131
148
142
103
134
142
149
129
121
145
172
218
182
193
123
175
159
149
212
197
215
207
162
168
218
212
212
132
133
177
159
179
141
203
167
127
133
166
204
173
175
168
185
153
164
154
212
153
141
141
203
206
200
192
209
212
186
196
202
187
218
187
139
212
120
204
218
201
185
141
212
216
171
139
166
169
210
133
165
189
176
201
203
210
166
210
209
129
163
165
171
162
123
161
210
165
203
187
148
178
169
179
133
133
173
193
144
195
211
166
212
139
196
160
180
144
133
137
198
152
209
208
146
179
158
200
183
130
148
137
194
128
178
130
183
167
210
163
135
203
120
149
121
146
137
145
107
147
138
120
147
134
128
112
137
126
119
119
126
146
104
102
102
114
136
141
105
138
106
109
119
144
120
127
114
139
126
122
131
129
126
134
131
137
146
122
105
110
109
104
118
100
108
100
110
133
103
125
120
113
114
130
108
101
123
131
108
121
131
146
115
133
134
136
117
100
102
133
121
146
139
106
124
133
138
144
116
110
133
130
105
137
135
123
121
148
102
150
121
100
115
125
111
140
116
121
101
128
137
120
136
102
121
144
142
106
141
135
141
148
124
134
103
123
125
136
116
103
134
102
135
143
140
144
147
125
115
131
136
144
142
100
182
138
147
129
196
132
158
164
128
168
182
203
175
142
185
183
186
164
191
123
127
186
206
195
140
199
145
144
164
204
176
154
187
150
189
164
131
166
214
132
192
157
219
165
211
144
160
201
182
204
147
180
217
207
179
130
204
173
212
130
152
187
120
208
188
207
132
132
199
216
170
161
191
204
184
211
167
137
125
142
123
219
150
197
158
220
141
144
174
151
145
130
199
125
214
159
160
215
120
139
193
160
180
176
174
197
163
127
203
163
178
162
215
172
214
134
205
173
148
151
161
174
137
198
126
174
208
206
135
153
160
150
174
191
120
191
122
185
126
147
103
114
150
148
122
137
123
108
109
135
128
100
123
100
141
140
141
108
134
137
147
142
122
137
118
150
110
104
102
113
150
146
110
142
109
120
138
140
118
116
126
121
141
103
133
134
126
112
103
149
102
130
139
101
136
150
135
112
141
145
100
133
125
108
137
112
122
150
126
137
127
138
110
138
134
133
106
141
116
150
118
141
142
115
103
132
140
117
127
130
112
145
130
117
135
103
114
130
116
105
148
150
148
120
128
148
137
104
105
134
106
119
136
129
133
102
139
117
133
104
116
123
117
146
111
111
112
122
132
114
111
134
104
129
108
147
140
138
132
131
117
113
132
145
141
146
137
119
121
137
123
109
113
111
138
145
111
147
120
194
206
137
124
142
127
195
181
194
180
175
120
178
180
217
127
120
133
207
208
126
173
185
194
174
176
144
210
203
205
214
189
151
212
200
190
220
125
170
195
183
168
142
149
195
218
176
140
209
211
152
143
126
188
186
183
215
176
191
140
180
136
130
153
152
178
199
178
129
177
134
189
123
140
152
144
196
132
184
179
172
123
178
129
199
167
203
155
187
158
167
123
181
196
199
165
127
154
204
165
140
154
220
183
165
197
171
182
147
217
208
193
163
153
141
211
174
189
167
204
125
171
194
204
125
201
219
220
174
152
158
132
157
141
207
130
202
164
124
156
155
185
213
179
148
138
125
165
121
206
182
209
160
197
208
120
166
179
176
193
200
220
160
170
162
190
125
131
126
123
148
110
108
141
125
108
144
118
125
139
137
142
150
102
131
143
134
112
140
142
108
101
101
122
111
102
130
126
124
146
103
113
112
111
103
104
119
146
109
133
123
105
127
112
146
109
130
145
120
141
126
120
138
109
145
112
139
149
107
135
146
125
137
112
123
108
123
126
141
100
101
114
107
123
101
123
131
106
121
122
146
108
104
104
122
125
147
101
150
136
102
118
113
109
141
107
137
135
141
141
132
144
102
118
116
133
105
142
136
145
119
144
133
119
107
122
128
144
101
127
129
124
150
110
139
134
115
118
117
106
114
100
132
147
130
121
121
130
128
138
103
114
102
100
114
148
119
144
118
122
123
146
133
112
127
145
132
150
137
206
210
186
137
159
189
125
133
191
192
182
189
219
216
154
151
165
203
155
196
170
188
149
135
210
130
156
124
126
146
173
210
133
130
187
124
171
147
187
169
202
171
143
168
169
162
153
165
129
132
203
183
144
143
184
182
172
131
151
125
132
137
152
161
215
214
142
220
205
185
158
143
163
188
180
214
192
174
214
128
185
216
136
161
149
184
198
195
211
192
124
139
161
168
125
166
142
158
128
182
158
212
157
177
166
165
183
218
176
160
199
188
121
213
148
200
192
206
168
153
193
211
186
140
138
173
208
191
168
189
164
213
145
219
140
220
128
147
167
123
155
177
196
220
134
196
175
124
145
196
140
183
215
182
144
142
161
148
121
144
146
140
123
135
126
133
103
120
114
142
143
133
100
110
103
125
104
129
111
144
108
131
146
118
124
149
129
104
133
108
123
126
137
143
136
107
111
122
114
125
117
114
102
129
123
137
143
101
102
142
137
140
137
149
129
147
137
113
114
111
103
137
133
106
138
142
122
147
123
139
108
144
132
104
136
127
112
115
101
137
101
149
145
141
128
150
120
103
148
140
129
113
124
111
112
103
150
101
147
138
121
139
118
119
108
131
130
104
110
112
121
126
102
147
113
120
144
124
137
109
137
141
104
126
142
125
110
141
137
103
138
114
102
102
134
110
109
123
132
102
109
107
125
118
142
143
113
121
128
123
164
144
150
147
168
122
153
218
206
137
153
148
177
184
211
123
200
219
124
159
165
196
192
218
197
151
172
155
141
149
150
200
151
173
123
151
203
199
183
202
180
158
200
171
159
194
157
141
161
214
185
190
203
158
131
181
197
159
122
128
142
150
188
131
145
133
167
140
176
159
133
167
203
173
166
146
143
124
192
205
205
164
137
198
190
190
213
134
160
188
133
146
175
170
158
192
213
139
157
140
144
220
154
183
142
198
142
160
159
211
131
214
129
153
165
134
163
206
161
153
126
217
144
133
138
125
171
121
133
137
116
127
122
112
126
124
134
110
125
134
114
121
119
122
135
125
119
114
112
121
102
116
127
107
145
126
124
109
148
126
143
136
126
141
136
121
102
132
100
120
130
144
148
122
102
134
100
136
134
104
118
140
103
136
115
123
112
113
113
105
145
130
115
104
115
114
103
134
107
140
131
150
113
108
140
144
149
122
136
149
103
146
137
110
111
114
148
107
114
124
109
133
126
102
146
108
138
117
102
136
131
132
123
124
133
129
109
120
142
138
132
123
104
135
149
122
135
142
136
112
134
149
135
129
134
120
132
133
129
130
113
129
131
119
135
139
129
147
122
143
130
132
133
121
114
116
124
108
122
137
129
145
101
120
128
135
135
177
193
173
194
160
219
187
217
167
132
205
183
149
199
179
154
210
207
201
156
151
201
157
152
128
217
173
160
140
169
184
186
180
173
146
122
165
178
138
139
174
160
215
135
120
212
124
124
142
136
171
214
150
211
156
204
121
209
128
132
156
210
123
188
139
157
151
126
167
219
199
200
187
131
133
178
162
181
167
188
133
123
209
203
199
195
218
171
218
155
148
130
171
188
161
208
213
176
173
145
182
190
153
191
150
135
157
123
163
190
126
178
156
152
177
132
202
179
178
143
180
135
133
135
145
205
196
134
208
133
201
145
171
125
126
127
121
166
131
186
207
216
140
171
163
179
144
151
167
218
187
128
190
197
144
209
135
126
195
136
179
146
211
147
178
124
134
146
138
124
131
129
128
128
128
116
150
115
103
136
113
111
103
103
149
131
130
115
120
121
143
101
137
112
111
132
108
136
149
145
139
137
110
141
113
139
105
150
131
147
103
108
126
127
128
129
150
101
139
116
121
147
101
144
149
115
140
104
130
107
123
136
138
129
141
143
137
135
121
123
117
100
113
131
149
115
133
136
131
106
129
138
131
134
122
118
146
107
149
136
104
108
127
119
119
112
138
125
103
115
132
118
137
115
119
124
131
141
146
119
116
126
112
114
115
138
144
148
141
133
113
105
145
101
146
142
144
144
106
132
101
115
113
143
106
128
127
106
132
145
117
101
100
119
121
104
118
128
134
110
144
108
143
215
158
130
162
164
139
124
148
131
129
134
129
137
159
178
174
190
169
128
137
159
172
190
153
185
123
151
127
192
174
171
129
123
142
155
201
178
165
145
140
133
129
181
171
138
195
137
153
172
190
218
186
159
154
178
206
166
199
142
207
206
122
207
143
201
196
182
153
148
137
215
208
213
220
151
185
142
161
120
141
204
217
206
175
162
177
183
126
197
165
170
123
168
162
144
125
149
156
137
172
132
148
132
129
141
190
168
144
131
142
142
196
151
210
167
155
137
191
217
144
163
150
183
156
176
144
153
154
126
136
106
129
148
136
129
103
135
149
117
101
128
117
124
122
126
104
101
145
124
104
105
126
107
101
131
142
146
130
139
115
130
111
141
125
148
120
111
127
100
110
107
104
122
102
128
150
145
135
128
126
115
124
112
101
108
144
127
138
134
145
132
107
110
131
106
110
132
138
125
122
117
116
133
101
120
126
137
140
126
137
124
148
137
106
135
146
150
119
147
142
119
113
106
100
112
111
126
101
102
127
110
129
150
143
104
110
131
103
138
121
118
147
103
125
118
122
146
101
144
141
141
129
108
108
118
149
146
114
112
121
130
105
144
163
218
140
191
139
153
128
144
148
171
149
204
142
151
191
135
136
154
220
133
192
129
186
126
148
141
121
134
167
166
186
189
139
157
144
126
167
135
129
219
143
174
169
142
150
176
134
126
173
180
125
128
190
189
219
212
124
134
176
197
192
147
122
165
155
123
198
129
134
181
197
133
213
179
137
147
174
179
130
177
138
147
196
181
160
158
197
138
175
150
148
131
150
189
123
183
155
161
162
187
181
201
177
185
212
206
159
146
169
173
142
192
168
161
140
120
206
140
174
191
200
135
179
156
156
173
188
161
204
201
161
112
109
115
114
130
136
111
111
137
146
140
130
131
142
112
126
133
135
110
138
139
115
111
137
143
114
114
120
131
148
111
101
112
118
109
139
132
123
123
110
111
102
150
119
122
112
149
104
150
118
122
104
145
143
100
134
110
106
141
126
108
126
117
150
125
140
102
129
121
118
101
134
127
122
129
120
115
109
135
122
106
126
124
112
141
126
140
135
150
109
101
132
132
118
102
147
108
121
149
123
112
135
143
108
144
127
127
133
131
148
143
138
131
133
130
146
141
112
145
119
129
144
140
133
123
125
147
145
145
146
134
115
129
101
120
125
118
145
122
110
100
138
134
136
104
138
150
109
131
139
142
154
175
187
151
120
132
174
162
136
148
134
148
129
154
196
199
175
201
152
133
176
205
220
215
172
192
157
131
131
211
191
160
196
122
184
189
220
140
199
159
218
215
189
145
170
132
128
214
196
123
188
194
208
170
148
205
145
215
171
184
170
141
120
140
215
214
133
135
167
161
183
206
192
204
196
166
129
136
174
142
204
124
185
137
203
201
200
149
203
157
208
155
176
162
187
211
190
132
154
122
152
177
190
201
131
124
123
131
152
124
166
158
161
196
198
122
198
121
122
182
191
145
194
164
197
212
142
172
152
141
204
158
196
185
122
120
121
180
213
168
194
187
194
197
125
219
123
101
102
131
131
132
109
150
123
128
119
117
147
134
121
121
108
108
145
129
145
136
130
113
117
112
139
104
134
147
116
140
122
123
117
146
148
121
141
126
136
120
106
117
150
144
124
138
141
107
107
123
121
111
144
130
133
124
127
143
115
114
133
131
104
134
133
142
147
130
128
124
138
122
106
120
144
148
108
134
149
110
146
130
102
117
132
131
114
120
144
143
145
122
146
131
126
107
100
120
135
115
102
127
102
118
140
132
145
114
125
112
146
102
129
146
110
122
115
146
118
146
128
139
125
105
107
109
135
124
133
106
127
129
135
118
149
106
142
145
139
117
116
135
143
104
126
126
129
109
142
127
144
119
103
143
153
170
142
219
190
144
197
138
219
143
136
153
181
179
189
172
144
196
149
131
201
175
167
201
164
216
130
216
183
123
209
188
124
123
160
151
181
149
199
127
200
182
166
137
188
166
186
135
137
197
170
199
156
192
121
138
200
159
172
186
203
220
126
214
209
176
130
159
141
187
158
192
148
185
123
218
185
157
164
174
123
155
174
181
211
198
130
215
173
151
135
160
163
124
139
124
136
213
171
173
191
143
185
176
210
142
169
147
132
192
204
180
163
197
186
191
137
146
180
152
187
187
164
200
136
131
212
167
168
169
131
201
173
174
183
144
197
213
147
129
145
145
132
185
191
171
199
183
185
172
140
194
179
213
186
176
200
181
168
143
172
158
147
116
140
101
136
100
137
100
136
115
127
125
117
149
141
140
137
143
136
118
147
114
128
126
145
106
139
144
137
103
107
125
107
105
133
107
140
145
117
121
100
139
147
150
106
105
128
122
147
138
104
125
112
127
103
131
123
119
123
113
133
132
131
142
106
141
102
104
133
138
131
102
124
139
114
146
119
102
130
122
116
101
139
134
135
111
121
147
137
112
120
128
142
143
101
130
111
141
137
133
102
123
143
143
145
111
148
113
148
143
123
143
127
121
110
112
122
111
139
131
130
132
148
103
107
124
144
130
110
107
132
112
138
112
100
149
130
126
139
133
141
106
139
127
140
136
142
134
137
131
107
129
109
107
108
137
135
113
148
117
103
147
130
127
143
142
202
181
182
217
154
217
182
129
156
152
182
155
168
126
121
212
181
146
189
143
175
150
120
179
129
138
180
156
127
180
134
167
123
153
201
184
137
170
182
197
216
173
151
206
189
127
124
182
122
136
206
155
210
217
172
134
194
204
164
169
196
145
163
154
209
199
202
133
202
153
214
121
162
170
212
167
189
191
124
139
182
128
189
207
207
159
128
180
199
193
140
162
220
165
208
220
195
165
192
141
140
133
129
147
135
154
204
211
150
132
153
140
183
191
213
155
210
172
173
162
155
187
191
203
218
152
128
177
130
171
164
135
217
149
191
180
170
142
160
137
205
119
148
105
147
130
128
103
103
119
145
143
115
148
108
121
141
150
106
140
121
144
145
108
144
138
116
112
144
148
114
118
117
125
100
135
106
150
109
106
103
123
109
106
143
131
112
109
130
144
127
112
100
144
106
143
117
138
115
124
149
109
106
102
106
131
132
102
145
105
140
110
130
117
112
112
123
138
118
118
150
115
123
105
100
108
123
128
139
131
142
136
137
121
102
147
131
129
123
126
111
124
105
144
145
122
134
101
140
139
146
125
129
134
143
107
136
117
100
142
110
144
120
119
122
135
146
140
138
111
103
134
132
104
112
150
111
132
133
146
127
108
121
113
145
131
136
139
118
131
130
107
102
114
134
136
208
207
218
122
147
214
175
139
149
202
147
138
216
147
172
209
132
194
217
168
159
159
174
164
131
176
210
132
139
191
211
211
190
168
133
186
205
154
161
127
136
163
153
206
159
159
159
178
135
154
213
169
199
165
142
164
213
170
145
197
216
142
176
212
151
176
205
159
134
145
142
219
133
126
139
193
142
138
163
121
213
175
216
164
152
143
161
207
149
192
137
217
157
186
213
187
193
147
158
123
185
180
188
178
212
155
187
205
129
210
173
145
174
138
208
141
203
216
207
214
195
184
154
150
172
156
202
147
130
116
111
112
143
102
145
108
125
126
124
110
133
149
100
104
128
132
131
145
150
114
136
119
112
106
104
141
134
142
112
111
115
143
112
112
128
109
127
129
113
140
136
107
143
146
123
141
106
118
108
133
101
118
117
141
117
134
132
120
109
135
123
129
142
102
117
135
132
119
131
123
102
108
129
140
120
115
102
131
148
129
126
106
126
118
130
122
120
137
149
107
103
124
105
130
119
123
114
140
108
145
131
141
142
110
116
138
114
133
138
144
109
104
129
126
125
142
144
137
148
141
118
132
133
142
104
102
128
116
110
130
131
137
138
128
120
120
105
110
146
110
104
121
126
157
218
128
213
162
135
181
199
218
136
220
141
158
204
204
174
131
128
200
151
209
131
168
209
121
185
169
187
198
147
127
167
159
136
156
195
155
199
195
193
175
150
125
190
121
188
178
179
125
165
129
183
177
148
215
130
178
133
120
125
120
195
151
201
127
147
183
178
175
173
149
187
190
183
214
195
126
211
166
147
183
148
204
211
151
215
193
201
176
177
164
220
187
166
202
181
124
126
157
200
131
177
178
206
141
121
148
123
175
144
217
122
163
135
213
208
144
170
189
131
132
126
167
130
191
216
195
132
120
189
121
158
137
192
154
143
210
196
177
154
121
215
122
180
139
133
136
218
132
154
169
165
153
125
145
134
124
158
211
185
148
188
156
144
123
194
201
177
140
169
198
127
137
118
109
135
111
120
115
132
129
100
147
109
144
137
105
149
132
146
141
109
141
145
146
149
105
106
117
148
123
140
146
134
108
139
147
149
150
107
119
142
146
113
131
137
101
100
126
146
135
130
108
111
114
123
100
139
122
149
146
122
125
112
117
110
116
139
109
140
105
103
133
147
132
136
124
121
100
134
130
122
114
148
104
134
145
101
133
145
115
126
142
147
112
138
120
126
145
143
124
108
145
126
105
105
125
140
125
125
135
140
119
116
115
143
129
102
118
123
139
130
124
124
113
144
136
137
121
116
101
128
131
150
144
133
107
129
136
108
145
114
116
141
142
111
108
103
105
122
112
131
145
127
142
113
119
137
106
150
136
131
109
109
146
143
134
121
126
128
100
105
131
144
114
180
172
182
183
155
152
148
212
120
149
153
179
171
172
178
212
143
184
153
139
172
202
218
164
191
147
130
123
153
196
211
159
215
213
126
135
199
141
181
186
137
142
199
195
188
161
205
159
123
171
145
189
170
128
204
193
126
187
171
167
178
205
189
156
128
164
203
190
217
123
211
168
199
133
158
215
207
168
177
121
173
169
191
215
175
208
220
175
208
220
144
158
172
185
153
157
146
126
195
185
132
207
184
156
218
168
141
210
170
167
159
171
173
210
186
123
175
212
153
146
134
161
203
136
202
176
121
205
125
214
149
140
210
124
218
130
138
183
204
210
131
120
125
144
153
138
197
179
109
116
141
108
138
132
130
118
120
128
138
121
118
141
102
138
122
102
149
133
103
103
146
115
129
121
127
131
127
122
148
136
130
140
128
111
136
134
102
117
130
131
122
133
123
128
120
129
106
125
134
148
131
124
140
145
105
125
140
117
109
136
115
123
146
118
122
146
103
126
110
117
138
129
135
115
126
149
144
107
110
137
145
117
112
117
112
134
102
112
110
141
137
121
100
131
139
115
116
121
124
136
140
147
120
109
104
143
107
149
130
121
122
138
123
105
118
110
107
116
106
103
126
126
139
150
149
129
139
150
144
109
103
120
139
111
108
141
129
144
162
168
211
176
183
139
177
173
128
124
185
195
141
140
125
179
199
184
202
138
130
121
125
139
159
215
160
153
205
164
194
201
178
159
212
205
219
127
158
194
191
120
124
153
196
151
196
141
121
166
185
144
176
176
181
199
133
128
207
128
152
165
217
131
144
183
166
168
123
129
205
213
134
140
196
133
193
182
217
215
121
174
137
156
133
181
155
218
127
167
178
197
165
204
216
212
207
174
216
170
203
136
135
156
215
147
182
161
151
158
209
161
184
203
121
145
146
171
213
206
211
127
165
174
173
212
114
144
142
109
123
139
131
135
116
113
136
125
129
103
138
131
105
135
113
133
123
105
101
130
108
143
132
129
105
121
147
118
106
121
125
113
126
137
137
119
107
140
126
142
148
140
138
115
121
116
139
143
133
139
143
134
113
123
147
121
141
125
136
107
100
126
149
129
132
127
116
111
139
110
127
107
113
124
136
134
148
139
110
136
126
148
128
122
113
143
142
112
115
116
149
114
122
103
121
103
107
131
106
101
124
120
135
127
127
109
106
140
118
122
128
133
105
141
112
133
147
149
135
116
115
113
131
133
134
103
127
100
119
117
105
128
129
105
116
141
132
138
138
149
101
122
133
139
126
121
150
111
134
142
144
145
142
123
188
204
198
144
181
124
130
205
125
195
129
207
188
137
191
206
160
149
197
120
170
200
185
120
173
158
158
181
123
139
161
168
145
154
170
144
195
176
178
132
128
135
145
204
124
153
132
177
208
214
162
160
152
155
213
121
153
206
183
163
215
210
155
172
156
200
175
149
212
144
172
128
204
159
210
165
187
208
152
151
186
138
205
149
183
147
143
176
148
143
186
148
177
182
209
157
170
192
214
217
210
205
142
132
184
176
162
121
205
142
145
187
172
136
197
127
192
120
147
203
134
124
184
201
186
194
184
159
145
166
179
155
174
160
190
209
175
189
215
195
123
184
219
162
126
144
128
202
220
209
211
126
126
109
103
135
133
150
129
111
125
129
115
114
106
109
109
126
116
109
122
121
131
133
140
124
144
121
115
113
136
101
146
119
148
125
109
116
116
147
128
128
106
105
116
111
122
121
144
146
133
149
132
109
119
121
133
100
131
102
120
138
138
121
111
129
138
127
146
140
126
102
115
116
107
118
118
149
127
134
144
124
117
119
114
115
148
120
133
147
144
135
140
133
133
140
125
118
116
129
109
109
112
113
119
131
145
136
150
117
102
104
132
103
130
143
105
107
108
109
135
115
121
145
150
100
101
138
134
107
123
108
127
114
144
152
197
125
190
134
159
167
120
206
170
129
139
127
209
124
207
201
218
151
187
133
153
204
182
191
174
209
134
213
212
154
163
175
212
196
193
213
160
180
193
184
135
199
215
129
185
135
127
137
179
177
207
149
146
186
203
131
204
143
193
166
121
199
182
147
185
183
156
170
180
141
138
163
179
203
181
181
138
121
150
215
214
191
198
126
196
207
199
171
189
134
176
134
177
199
188
135
210
127
158
202
185
219
194
190
159
168
183
194
169
150
204
154
166
147
188
162
178
179
182
168
123
183
159
203
174
200
136
137
215
179
201
120
220
181
158
138
114
145
120
148
125
106
118
110
113
118
134
136
138
108
129
127
138
145
135
116
111
102
115
109
100
105
146
136
104
130
136
130
127
110
148
117
117
135
101
119
142
146
129
147
134
112
145
132
144
148
125
122
131
142
107
117
123
110
124
111
143
146
108
130
112
137
117
107
148
147
103
149
104
107
112
109
113
130
137
105
102
146
102
126
117
102
135
100
104
107
134
131
115
111
130
113
135
138
143
136
132
116
105
149
116
100
126
144
128
115
113
129
131
145
142
102
134
140
102
132
111
121
147
145
116
131
147
108
118
104
137
133
104
111
139
139
117
124
111
105
101
101
125
150
109
125
106
126
126
139
131
118
120
145
138
141
139
127
132
145
118
106
128
115
140
104
118
133
123
141
154
175
136
120
133
202
142
165
184
168
195
139
189
158
175
147
180
220
132
136
188
194
163
175
142
179
165
203
188
151
161
154
148
141
160
192
172
200
157
174
134
151
153
182
142
120
192
155
126
121
122
179
144
163
144
160
167
160
188
188
175
145
195
161
206
194
193
207
121
126
208
190
151
187
220
173
186
163
167
205
176
189
178
155
175
155
211
125
188
196
171
134
194
192
141
208
220
195
191
122
210
171
159
144
147
132
220
220
155
189
193
130
126
129
191
132
155
141
160
182
197
214
149
212
210
197
140
188
197
198
149
153
122
145
174
141
136
214
171
184
182
178
220
186
189
149
210
168
209
140
217
216
213
210
137
128
104
108
129
107
115
117
142
143
136
104
145
142
141
150
129
105
136
112
106
136
141
138
144
147
133
145
147
115
125
141
103
117
138
114
132
128
131
128
134
102
142
125
122
101
129
105
135
107
124
114
134
140
146
100
139
147
126
113
112
111
138
123
125
116
104
135
144
141
114
114
109
143
120
109
108
116
105
136
128
117
149
107
103
144
140
114
138
135
127
146
129
149
125
108
138
111
127
148
149
140
143
123
129
135
111
113
131
104
137
142
110
127
138
101
146
129
146
133
132
107
137
116
106
146
136
109
127
101
123
145
140
142
121
117
119
135
143
142
122
104
131
147
108
105
127
143
115
117
126
126
100
146
200
215
204
148
140
126
143
160
194
219
205
152
162
212
205
194
131
208
183
160
205
120
123
133
184
176
191
219
220
194
192
139
180
123
185
125
176
122
148
151
215
161
175
147
177
128
218
185
124
152
202
200
148
172
216
144
157
150
172
191
168
190
123
216
135
219
157
211
168
125
125
192
216
138
150
128
211
164
192
131
171
181
207
167
175
192
200
150
214
206
203
169
213
159
159
212
198
153
191
165
176
166
132
181
151
134
140
126
132
126
195
214
158
133
198
152
177
156
131
183
180
160
128
207
174
128
145
203
169
176
142
147
131
137
114
119
150
143
135
135
113
106
106
146
146
109
132
123
124
136
110
117
116
150
115
103
148
107
102
105
150
148
146
145
137
115
126
132
121
142
115
100
125
130
117
110
108
109
118
134
136
146
127
121
118
132
106
146
142
128
112
141
106
144
117
126
108
119
121
119
125
147
104
101
108
140
137
113
115
132
143
139
113
114
102
107
104
109
111
130
131
122
141
113
122
135
135
130
147
106
129
135
145
130
114
127
139
148
106
142
129
132
119
140
146
108
100
120
131
119
126
139
126
129
133
103
109
130
118
133
111
145
117
125
120
112
114
110
109
118
118
121
107
133
144
166
200
209
174
152
166
136
154
145
129
122
124
144
137
164
212
154
129
146
194
214
179
141
151
218
157
131
152
163
183
169
180
217
194
138
181
202
189
149
190
182
124
178
138
162
218
138
214
128
131
159
152
176
143
120
163
174
205
183
124
204
171
147
177
135
215
141
174
219
213
206
145
189
155
198
170
195
139
137
163
168
166
191
146
158
142
155
194
216
175
122
143
156
151
214
161
202
177
205
194
156
178
159
214
181
167
171
177
212
203
195
214
157
126
164
170
155
168
161
220
149
170
188
166
204
167
209
168
198
149
135
154
123
206
152
192
193
201
166
198
135
162
193
170
217
195
179
186
134
112
131
132
140
146
143
106
109
127
146
131
150
113
132
148
145
149
141
147
134
141
105
109
115
135
102
134
145
107
123
100
150
120
146
107
139
112
137
100
136
135
147
106
106
103
101
118
103
117
135
139
128
150
119
147
144
123
126
116
110
110
142
150
100
128
130
111
112
127
144
119
114
109
131
120
130
116
103
125
124
108
106
124
104
102
116
114
104
105
136
130
122
109
125
125
120
125
128
115
137
148
115
132
100
133
108
135
104
139
128
100
130
124
144
131
120
109
100
126
137
136
129
101
146
115
117
148
147
121
127
143
142
100
147
150
127
115
116
129
144
143
124
135
115
103
117
147
133
131
125
103
104
115
118
133
129
108
128
140
147
138
130
116
146
108
131
113
103
117
139
205
176
169
175
153
199
171
129
180
183
140
178
189
129
135
126
184
124
218
142
161
152
219
186
190
173
178
199
207
172
147
216
199
174
156
121
131
158
212
220
125
215
198
210
184
182
150
178
137
145
151
201
192
210
127
212
132
121
135
135
190
136
202
184
144
172
197
126
163
122
122
193
160
210
219
199
178
183
151
130
174
192
207
219
163
124
123
141
218
147
216
198
217
128
143
140
148
194
194
210
139
205
120
190
169
131
122
140
208
140
176
191
180
198
191
121
215
135
169
186
172
135
145
207
176
195
132
200
145
196
145
198
123
127
149
140
217
214
196
125
147
153
216
163
157
147
173
155
160
202
124
160
136
169
135
138
168
209
135
131
120
145
133
147
218
210
177
188
182
168
169
119
115
105
117
139
148
110
127
109
115
118
103
104
130
123
111
137
106
126
110
118
149
128
119
108
147
125
146
123
109
118
104
122
144
137
146
119
132
133
133
111
132
116
110
117
121
104
145
135
121
109
123
124
132
141
146
100
109
128
143
100
120
145
105
146
136
127
137
103
112
118
135
118
141
134
142
143
127
115
105
106
125
102
116
149
128
124
104
139
139
113
128
147
113
105
141
131
112
130
122
145
130
117
126
109
148
146
136
101
104
144
107
139
112
147
129
146
130
140
139
122
112
121
126
139
112
126
133
102
110
144
115
150
118
110
121
107
120
130
115
127
136
135
142
122
143
144
102
142
138
107
134
106
131
128
199
152
131
135
188
128
136
148
188
163
214
183
129
141
134
186
177
193
187
206
172
167
159
176
166
138
197
216
155
149
129
206
214
188
121
202
127
131
210
135
185
193
215
179
217
144
193
181
141
179
177
147
182
217
174
202
172
120
195
196
130
144
169
144
197
153
127
133
139
134
206
215
135
125
191
159
212
143
162
150
134
194
148
141
149
174
195
207
153
128
124
175
216
180
194
184
160
172
163
129
201
125
198
149
173
152
128
192
186
161
136
220
195
199
120
137
203
120
207
194
152
156
139
138
122
138
149
145
191
150
104
117
148
114
121
126
120
121
119
117
105
118
115
100
102
105
138
124
111
113
131
144
142
124
135
104
108
144
119
109
109
126
150
150
113
132
120
141
101
108
123
133
123
109
108
146
141
123
101
138
120
125
129
120
114
143
111
107
135
140
137
143
124
149
144
113
150
144
150
122
149
114
135
121
136
147
117
120
116
127
101
100
116
147
144
123
143
124
139
111
149
120
142
150
132
130
144
100
116
115
113
148
130
117
135
103
102
132
150
129
111
133
102
123
120
139
129
143
142
100
109
115
140
137
139
111
142
110
106
101
110
114
122
118
115
149
139
120
111
133
117
159
213
178
125
150
215
170
210
205
190
198
134
200
215
204
165
214
176
139
190
134
214
128
145
176
200
164
147
218
168
166
153
158
211
157
173
207
175
209
165
143
132
167
215
142
218
133
142
142
139
185
155
209
168
172
205
179
123
203
188
122
129
136
218
128
176
133
141
200
130
162
192
200
189
178
196
201
128
166
136
122
124
158
188
205
210
139
184
204
141
133
177
208
148
164
198
160
209
188
171
158
151
161
139
120
157
218
134
211
217
165
139
128
162
211
220
163
131
216
204
149
206
169
144
123
167
219
142
180
181
209
170
200
200
162
131
147
150
123
139
134
137
152
167
187
171
209
179
202
158
123
153
207
122
180
219
214
220
218
138
208
134
206
209
177
120
102
103
146
108
141
110
142
117
113
115
124
101
136
116
101
150
140
120
120
150
103
131
144
109
111
100
113
115
115
119
107
113
119
105
136
140
145
124
106
129
124
107
109
147
109
148
132
131
111
150
129
126
130
147
128
123
106
121
147
110
150
113
108
121
123
102
106
115
124
115
119
111
128
107
119
146
113
149
104
105
147
131
116
128
101
138
107
119
124
148
124
116
100
139
131
133
104
128
117
121
115
147
101
143
148
147
102
105
120
108
108
123
109
105
120
136
102
123
129
135
105
137
128
135
124
100
106
140
138
123
144
118
125
139
127
129
140
133
144
123
140
118
106
116
135
127
139
104
123
147
111
215
206
163
204
216
160
150
191
195
136
209
138
164
193
150
218
129
186
181
150
167
192
165
216
172
163
135
169
205
186
123
152
139
143
195
145
157
157
145
120
141
202
142
217
211
207
218
120
177
157
190
214
172
143
169
181
206
158
144
121
184
138
211
140
146
124
213
217
137
219
173
189
201
190
152
182
186
185
162
121
142
146
169
122
122
135
131
149
204
129
153
149
219
200
131
169
132
150
185
151
211
197
200
128
195
142
168
217
148
183
147
216
123
128
176
136
158
125
159
194
209
196
157
203
180
187
166
150
179
142
177
142
137
157
189
205
215
165
166
209
220
138
134
146
197
195
123
160
132
182
172
166
158
146
168
189
144
174
125
164
210
159
203
211
198
174
164
219
164
144
149
130
169
179
130
102
145
123
104
108
103
143
144
142
128
131
147
135
122
103
117
140
110
129
146
126
109
102
128
139
108
107
130
136
118
110
146
109
120
141
109
147
112
138
125
133
113
115
116
135
113
145
110
132
139
126
104
138
133
104
108
129
109
120
112
130
150
120
149
150
120
124
112
112
127
145
113
138
143
119
104
113
127
134
119
144
135
113
138
148
111
140
129
137
149
100
104
123
111
104
143
127
101
109
119
150
138
123
102
124
117
126
125
116
107
147
130
150
132
123
105
104
108
137
134
127
137
107
100
146
100
140
101
150
137
131
120
119
140
149
165
167
176
159
199
216
180
161
190
163
154
120
181
206
177
167
174
131
190
168
168
165
145
178
144
140
212
199
129
136
140
197
196
131
154
186
127
212
189
220
166
217
193
217
218
148
143
130
181
207
145
147
129
186
185
196
148
199
142
136
164
215
155
170
187
141
150
205
164
218
199
217
201
177
166
136
216
162
147
134
216
193
145
156
188
123
132
207
201
135
124
180
206
125
126
151
171
160
218
165
201
186
218
157
150
213
217
198
175
219
209
148
220
209
141
156
213
123
188
135
173
176
215
153
142
143
129
175
130
117
136
140
114
136
142
112
131
136
125
115
146
105
102
112
102
113
138
147
134
122
128
131
148
137
139
145
150
119
145
131
123
102
104
126
143
109
108
132
144
111
124
139
129
100
148
113
148
136
115
103
126
132
115
142
103
116
120
145
112
139
120
106
143
144
134
143
105
132
136
100
102
111
123
121
133
110
100
134
150
110
105
123
117
131
135
102
129
139
136
108
146
150
132
126
118
113
122
109
136
112
141
138
135
111
120
106
146
129
117
143
135
138
120
146
121
111
122
132
102
138
141
100
150
141
111
120
136
125
101
173
147
212
189
198
170
185
168
210
144
171
126
155
139
126
184
185
217
189
134
202
184
214
190
146
157
201
174
156
175
120
141
125
162
180
187
203
181
193
131
212
174
174
220
185
156
202
171
173
178
140
144
199
156
202
209
166
125
190
218
150
183
208
161
141
135
217
174
202
220
212
199
186
171
148
210
176
127
168
205
146
189
171
138
190
188
168
120
137
143
140
184
177
147
133
207
168
210
181
130
126
210
152
159
149
204
147
171
205
180
127
186
192
185
143
215
166
135
173
143
164
197
170
215
182
170
211
197
209
197
153
208
197
149
212
166
135
154
158
148
113
149
149
115
121
109
127
132
148
106
148
146
113
117
140
135
109
148
138
145
117
130
126
107
114
129
125
147
122
128
126
130
115
122
118
114
112
137
144
104
132
129
101
129
106
127
101
121
125
106
146
119
107
121
119
105
116
130
110
106
132
119
102
136
146
138
134
150
135
107
105
104
105
115
131
120
101
131
130
150
135
124
102
103
140
107
111
101
123
143
112
144
117
145
124
116
117
141
128
105
116
135
125
129
145
136
145
136
113
130
104
132
130
138
141
121
100
134
108
100
122
125
132
125
123
150
143
106
126
150
115
173
145
192
163
168
150
185
120
170
123
136
172
156
182
207
173
217
153
140
187
195
191
190
208
129
172
159
168
122
155
181
127
140
161
183
212
171
204
162
140
127
122
186
163
123
214
147
143
132
156
186
174
161
122
192
126
205
201
205
165
120
142
145
139
130
215
186
162
165
177
178
208
167
132
130
136
158
219
156
137
181
218
157
210
209
136
158
205
143
174
145
132
170
218
151
142
144
182
147
174
183
218
205
190
196
189
193
185
164
134
202
135
128
199
136
200
177
193
138
151
191
195
208
160
135
206
180
190
126
176
175
141
155
195
207
180
202
158
211
180
139
151
176
220
136
189
139
118
126
105
149
135
139
111
103
108
127
107
148
150
105
125
123
100
129
109
133
141
123
141
102
139
143
142
114
143
106
104
138
140
111
112
104
101
117
118
145
100
100
121
126
146
137
108
142
123
141
145
122
145
149
128
138
148
110
122
149
142
138
150
134
102
109
103
141
147
137
129
124
147
105
145
108
121
124
118
126
133
120
131
125
141
144
141
103
137
124
126
127
134
120
113
108
143
137
150
113
102
119
115
107
121
146
133
115
129
141
103
112
148
118
112
145
126
112
149
121
119
123
130
105
128
118
116
112
146
112
126
124
150
123
112
139
105
128
140
119
146
131
116
122
122
121
150
106
100
144
108
128
117
120
144
119
106
133
101
116
116
149
121
150
138
143
123
159
128
143
161
141
129
162
211
128
132
124
203
153
213
194
193
141
137
184
192
201
139
193
216
157
124
146
183
163
144
165
131
172
131
156
144
194
161
170
198
181
175
168
198
213
152
154
154
165
130
182
178
209
203
200
203
154
202
208
147
136
216
174
120
154
192
219
168
149
211
162
194
201
200
195
170
140
213
217
206
214
217
198
126
140
198
137
173
124
193
131
152
162
141
194
214
173
200
170
203
130
125
182
147
170
187
144
204
180
145
213
147
141
183
144
218
217
209
194
136
176
154
153
134
150
123
204
153
192
162
200
202
160
195
122
181
133
209
186
173
187
193
146
138
210
144
151
123
136
188
122
128
132
149
137
126
139
127
140
106
141
118
131
141
117
126
136
129
118
104
129
122
109
140
106
120
105
114
115
104
121
134
102
102
112
122
114
108
104
143
126
111
116
128
133
131
106
142
117
113
143
131
101
120
105
108
111
145
119
110
139
131
109
124
132
150
121
127
140
102
118
107
146
101
150
123
102
119
141
123
140
122
129
120
143
131
122
147
135
120
106
109
109
126
122
136
107
138
123
141
136
133
141
143
147
120
116
130
113
105
135
109
140
148
100
108
129
105
112
147
120
144
146
116
120
137
115
132
132
137
138
124
120
118
141
125
123
141
150
105
126
143
136
104
139
149
107
102
107
132
110
145
105
142
132
133
109
120
116
137
126
110
135
145
146
216
154
149
170
151
173
169
187
158
132
154
166
220
155
136
156
171
173
133
161
132
161
122
163
220
125
141
137
185
137
200
179
200
184
219
190
160
180
130
177
161
122
188
188
151
132
130
191
170
219
201
187
167
164
126
218
219
204
211
169
167
135
144
166
155
144
174
174
166
157
174
201
128
166
180
154
138
172
164
148
170
190
167
142
139
183
191
132
157
204
192
212
216
178
196
185
146
200
120
164
197
193
171
192
199
166
120
217
142
220
147
181
142
174
173
199
146
152
173
128
128
181
205
220
173
123
152
157
129
184
201
206
169
209
202
137
139
213
125
186
215
194
166
159
194
126
165
199
201
130
156
121
139
180
195
130
178
168
185
143
108
127
149
127
145
103
150
139
120
135
126
122
138
141
124
116
137
111
106
112
108
121
130
149
112
132
144
122
125
146
142
113
107
135
117
140
102
143
104
102
141
106
102
134
142
138
132
109
106
148
143
143
121
111
150
145
111
118
129
148
126
114
128
141
115
137
116
146
124
132
105
110
106
150
104
104
121
140
108
145
148
100
138
136
134
131
122
110
120
139
101
107
126
137
146
136
104
149
123
137
126
113
122
130
127
146
135
128
148
113
117
138
107
121
138
130
131
117
139
105
134
103
112
147
114
114
128
103
144
122
107
143
141
126
131
114
145
119
103
126
142
109
115
150
110
131
207
155
142
196
138
190
126
135
124
208
147
162
211
144
183
208
143
159
142
162
133
164
122
145
196
197
187
201
172
199
164
144
157
131
166
187
194
126
206
150
195
216
139
160
181
133
129
124
198
150
165
190
199
161
169
203
170
157
201
193
192
195
200
168
197
190
211
179
205
201
165
160
206
215
187
122
204
216
192
147
151
211
169
160
173
132
184
197
213
131
177
215
137
173
138
199
131
161
138
152
125
139
198
123
210
204
160
200
206
150
186
212
191
120
216
129
174
128
182
122
124
184
130
193
193
212
124
173
215
208
200
135
146
182
220
128
169
133
150
144
212
189
214
140
155
193
174
201
142
196
154
181
133
132
137
195
188
180
177
171
149
120
124
122
146
126
142
144
139
136
118
111
138
111
143
108
144
103
108
106
129
127
136
110
135
138
147
144
137
104
140
143
124
100
135
143
107
106
139
112
147
106
119
100
117
124
131
132
143
134
111
100
116
122
122
105
102
115
127
103
102
107
108
127
140
127
117
124
126
131
130
146
127
150
113
109
102
135
102
125
105
143
101
145
150
107
122
136
146
146
101
112
114
140
138
109
110
128
138
110
132
120
116
142
104
103
106
134
146
121
146
128
119
145
119
108
111
130
125
126
132
139
115
132
108
133
103
130
113
134
137
145
146
120
137
149
147
102
117
111
141
100
140
163
156
176
162
210
211
128
191
176
155
206
192
198
134
130
200
219
155
139
176
170
136
200
183
213
193
175
177
172
195
211
154
164
144
205
158
133
176
143
156
144
183
129
146
197
172
173
123
165
184
186
130
124
192
133
169
195
196
148
159
186
123
183
126
176
123
203
185
143
216
153
151
205
169
125
136
215
150
150
172
208
138
166
122
191
153
172
213
150
161
128
220
185
217
170
165
129
130
130
218
123
122
176
214
180
133
214
145
218
134
158
141
166
161
220
186
211
218
145
155
180
124
212
204
213
195
130
128
205
203
185
207
139
171
130
196
163
149
121
127
106
102
101
121
140
111
106
127
127
127
139
111
109
140
127
137
110
114
139
112
110
145
126
133
147
124
133
134
134
104
124
101
136
111
140
116
122
129
124
140
128
102
121
102
111
140
106
130
116
132
119
143
102
147
125
117
115
133
101
124
106
112
105
105
115
139
116
100
101
114
133
143
111
137
129
112
143
106
103
121
148
150
143
145
130
142
143
134
102
139
125
137
126
137
145
148
126
128
133
125
105
123
129
137
124
121
141
106
128
124
115
118
147
108
111
136
144
130
138
107
126
110
145
112
140
119
112
112
143
141
148
114
130
127
139
131
126
126
133
112
127
102
147
136
116
115
128
123
146
119
103
107
145
107
123
139
147
145
173
183
206
155
180
184
184
191
204
172
143
136
149
205
165
185
183
131
135
120
175
156
218
162
132
136
149
183
192
215
180
148
153
144
203
182
154
169
121
157
191
154
179
194
211
150
165
149
174
220
180
139
205
133
183
151
205
181
208
190
133
171
197
153
187
142
211
210
204
181
194
151
163
122
187
178
164
124
189
155
213
177
172
180
158
163
139
145
155
159
125
135
149
169
219
190
134
172
216
147
186
216
175
157
186
140
216
213
143
180
157
143
215
141
216
190
186
136
153
207
163
124
129
208
129
133
200
156
126
120
129
150
115
135
103
111
127
103
102
118
132
124
124
121
148
127
145
133
119
129
139
101
139
138
134
105
113
129
106
140
144
150
143
140
121
127
104
140
123
140
128
144
129
105
148
111
117
101
110
130
149
131
138
141
120
133
130
122
147
109
101
145
104
108
117
129
129
146
141
114
126
146
133
115
146
134
140
113
108
103
141
121
134
117
109
118
129
117
139
132
113
124
120
122
107
135
105
141
144
130
125
128
111
142
119
135
129
106
119
120
142
130
128
119
129
127
134
148
143
141
147
129
108
103
106
114
116
142
138
118
113
103
139
123
141
148
100
100
113
126
133
110
127
130
140
100
139
147
146
116
114
149
111
127
125
133
100
119
117
135
129
141
127
116
191
169
174
140
164
129
171
194
205
193
173
187
173
177
200
148
208
185
212
132
174
219
182
127
197
187
142
138
168
154
170
207
179
135
187
187
159
155
194
156
171
120
195
143
125
134
214
209
145
209
204
134
173
212
212
197
160
139
191
162
164
163
184
165
192
193
144
180
206
130
155
179
128
123
202
122
147
199
168
145
217
208
215
178
158
179
202
205
176
206
196
208
206
179
209
121
127
162
128
164
166
179
126
183
136
186
156
177
124
188
142
153
136
182
163
152
134
184
198
163
170
143
121
210
172
149
146
156
197
196
183
206
207
149
176
135
187
218
179
120
128
171
204
151
213
124
136
165
144
155
122
214
168
101
123
143
141
101
129
117
100
138
150
100
138
122
108
112
139
150
118
149
147
123
100
147
102
128
121
115
101
126
127
122
110
134
106
132
108
115
116
115
112
143
125
122
122
104
113
144
113
148
115
105
123
138
128
120
114
134
130
116
112
138
141
136
108
129
132
111
135
146
120
137
143
137
142
142
140
112
148
150
135
126
129
112
125
102
145
129
137
120
108
135
118
100
150
142
122
118
123
132
135
124
136
141
104
127
127
145
134
119
104
121
112
138
110
137
137
109
101
147
114
108
130
119
134
101
135
139
108
105
112
136
139
143
118
111
142
111
138
120
148
121
134
149
150
132
143
144
138
101
119
121
149
147
133
118
134
121
135
139
119
134
118
140
121
171
220
125
139
181
149
209
161
198
171
147
186
129
195
128
166
124
134
165
161
173
170
138
129
163
144
156
191
146
209
188
154
172
203
179
218
179
154
154
148
136
173
146
216
159
206
190
210
176
123
218
191
186
170
205
153
161
184
203
126
168
134
121
195
136
155
167
151
130
179
124
167
206
172
205
152
151
155
203
205
156
182
147
144
160
216
126
173
123
172
209
120
162
186
214
132
124
210
194
183
182
166
179
198
212
195
140
150
164
198
151
206
151
198
128
164
174
135
172
151
203
123
138
129
220
150
213
153
141
196
177
169
171
155
196
215
173
122
220
176
215
122
149
180
149
126
135
151
146
179
149
137
189
149
187
142
166
135
144
139
173
124
156
208
169
199
121
153
144
208
130
144
138
118
127
150
139
101
128
138
125
109
110
136
133
127
121
122
108
108
138
104
138
146
101
133
143
100
127
126
119
101
147
138
140
133
134
134
132
134
121
115
106
120
121
101
148
121
124
101
145
150
116
140
133
111
135
139
134
150
142
100
131
133
147
143
117
132
101
138
126
147
118
129
100
148
141
100
116
128
116
115
136
101
137
123
123
102
129
130
141
113
125
117
149
148
115
126
134
135
147
108
149
110
120
103
102
139
149
139
119
135
134
110
119
101
136
105
148
124
131
127
125
122
138
124
123
141
126
133
125
120
164
127
122
142
181
161
181
186
186
163
190
157
144
193
168
189
136
186
178
140
167
148
183
147
140
172
209
196
199
154
178
157
133
131
214
210
217
203
220
192
158
141
168
134
160
160
169
138
155
167
125
215
141
127
138
205
187
202
166
191
198
138
217
158
176
131
194
209
123
134
187
126
210
158
162
124
212
181
133
194
132
141
140
172
211
206
128
195
121
160
154
132
140
133
134
161
130
210
127
122
149
145
144
205
215
186
174
143
188
219
193
132
130
123
168
123
135
178
161
147
128
208
179
201
161
212
173
218
173
189
189
156
200
141
186
144
206
136
216
126
103
150
135
114
150
147
150
107
105
149
108
150
117
126
116
128
125
107
140
120
139
124
113
124
130
137
130
109
129
147
137
114
112
113
129
139
100
100
150
141
134
149
118
102
117
108
124
139
144
113
124
121
142
105
147
148
132
125
148
150
146
128
134
136
147
148
137
134
129
137
139
110
141
132
147
138
115
136
110
142
120
143
140
123
120
114
135
140
138
124
117
114
141
118
128
146
140
128
124
103
101
131
116
106
122
120
109
119
133
101
116
134
101
112
101
117
123
125
149
134
150
139
148
124
118
113
130
118
122
145
138
127
147
101
149
133
129
141
172
189
217
214
202
156
210
199
155
132
155
162
134
180
163
120
144
178
166
163
215
212
132
130
190
175
198
124
125
205
213
135
204
135
145
197
209
165
203
134
133
166
217
166
166
144
181
216
189
194
198
178
151
163
180
144
144
169
143
151
175
152
123
203
211
171
123
134
212
201
178
211
142
130
154
143
126
122
150
192
208
218
214
147
133
219
176
220
120
147
140
165
193
134
131
134
173
175
214
195
147
166
190
122
136
199
208
173
161
134
207
155
200
141
212
138
175
166
142
204
142
185
159
185
124
124
199
129
187
163
187
122
100
135
107
121
149
144
102
149
109
109
114
144
110
144
133
115
108
102
101
117
120
145
100
109
115
146
102
100
138
117
120
110
124
145
104
128
147
129
107
127
110
111
104
129
110
102
144
135
137
148
102
135
102
123
111
104
122
119
114
135
115
134
140
124
112
133
123
127
141
109
115
103
144
133
128
143
135
132
150
111
126
115
108
149
127
104
127
146
139
129
137
105
105
104
125
141
131
113
131
124
126
139
109
144
102
107
110
119
143
122
103
108
130
109
135
119
134
104
109
130
107
125
127
120
147
114
139
139
135
148
133
131
116
146
119
116
124
115
130
125
149
106
112
114
144
107
130
107
145
142
121
149
147
147
171
173
183
191
154
207
192
214
176
182
157
181
219
203
198
137
204
211
139
209
164
196
214
157
206
121
143
155
121
187
190
185
124
185
163
127
188
192
200
174
168
199
138
123
194
219
197
190
161
200
166
145
133
197
207
160
216
148
217
216
191
177
202
133
163
217
196
193
210
140
188
139
220
164
143
213
165
214
134
203
196
155
206
145
211
145
192
144
182
134
154
192
219
211
181
173
172
130
162
187
164
149
124
178
141
186
134
189
140
166
190
190
187
208
143
197
149
211
128
140
180
212
205
164
141
174
126
183
209
167
216
123
196
201
148
206
173
120
141
128
116
144
117
108
102
126
111
148
127
117
132
130
114
106
121
112
146
147
137
113
126
124
100
145
150
103
125
100
142
141
141
122
103
126
126
136
126
134
102
117
127
138
109
106
132
124
126
123
144
102
116
103
136
142
138
117
122
131
105
141
138
107
123
143
117
122
148
123
115
116
134
140
129
137
104
135
139
119
112
129
110
124
149
137
146
116
135
121
133
149
112
116
113
147
142
104
148
100
144
135
147
134
101
137
136
145
144
134
149
114
105
103
142
142
102
129
115
120
139
139
143
148
126
137
135
141
143
143
148
137
106
129
102
127
116
146
110
150
120
117
111
124
105
106
105
107
137
142
146
108
142
106
111
131
120
137
104
142
111
116
108
142
125
119
150
120
145
126
193
142
150
211
164
149
128
151
215
208
215
149
198
198
203
195
185
177
148
151
158
130
186
146
212
178
211
190
157
173
126
202
127
220
153
173
155
156
187
120
220
177
149
174
154
146
128
184
128
213
126
152
175
171
212
203
212
196
175
146
158
136
192
150
205
214
137
155
125
157
160
204
179
141
171
160
186
179
120
197
146
202
205
174
155
186
179
162
220
165
206
185
211
183
188
184
131
218
137
156
123
176
196
198
123
196
139
142
204
181
196
140
200
124
185
122
125
195
135
148
178
175
214
169
184
163
124
173
132
204
183
123
176
142
126
133
158
165
202
191
132
125
182
156
161
132
131
124
121
165
184
165
199
215
188
131
113
129
142
140
120
122
145
118
119
129
146
110
135
149
115
135
123
148
125
108
134
143
145
140
118
126
146
100
116
143
126
138
110
144
128
131
146
116
107
113
118
106
113
131
117
118
141
144
139
120
101
140
127
100
100
143
144
102
140
119
120
104
139
117
136
139
119
138
145
123
149
145
107
136
107
112
108
103
135
112
100
103
148
117
129
127
104
133
130
122
112
122
133
117
117
118
137
121
147
137
100
115
133
121
149
109
106
131
133
113
110
105
141
136
100
100
101
107
115
149
127
135
122
110
110
104
136
147
132
146
148
114
109
112
132
121
149
142
143
119
136
118
115
126
116
162
195
214
147
195
206
209
214
126
208
185
200
131
201
192
161
129
138
132
189
167
200
150
213
210
203
126
217
191
202
215
144
177
144
191
156
161
202
208
197
197
188
205
200
126
142
160
140
135
179
130
163
169
151
125
137
211
212
130
217
159
135
142
120
170
126
158
132
145
220
210
149
220
200
167
128
178
165
205
151
205
203
146
176
143
202
137
208
125
175
131
199
178
220
150
144
147
156
159
156
190
216
164
210
149
217
148
174
135
214
206
193
164
134
180
181
199
170
218
208
166
141
211
152
146
208
125
207
121
134
132
147
203
175
217
193
208
134
184
195
198
139
158
216
125
116
116
146
112
123
106
107
129
121
143
145
107
118
111
149
142
132
139
147
131
106
149
122
133
108
125
147
133
127
106
103
143
105
105
146
118
134
117
143
134
139
127
124
104
112
132
101
148
106
140
130
110
113
130
122
148
100
124
108
124
131
147
135
146
121
141
132
126
136
103
118
120
116
141
150
146
109
114
142
131
123
118
100
128
127
133
128
144
113
148
108
119
123
100
119
141
108
147
127
110
146
115
119
137
142
110
133
109
124
112
129
114
103
119
130
134
107
115
133
150
131
103
102
149
103
119
135
121
108
116
124
123
111
129
140
142
119
145
128
120
106
144
120
105
104
146
123
125
128
146
116
132
113
141
123
116
137
110
130
144
116
150
129
138
131
115
131
139
131
103
145
100
113
134
118
211
144
171
188
155
157
145
154
179
152
195
145
144
196
139
170
128
137
208
174
154
125
141
181
188
204
154
175
194
121
131
213
147
194
187
171
161
201
175
203
150
213
154
165
130
169
190
154
139
220
126
139
196
132
201
196
204
186
140
208
177
202
122
208
204
157
138
126
184
191
130
140
179
218
161
122
177
147
188
148
203
167
178
163
156
133
183
129
129
130
211
196
132
209
178
208
175
120
159
175
124
156
215
130
162
187
133
188
188
138
131
135
183
205
152
160
162
162
162
140
200
136
190
172
178
173
123
175
121
184
151
155
219
188
208
182
212
213
167
120
198
178
139
182
154
179
178
171
209
210
207
191
180
218
218
201
122
156
127
145
134
215
183
127
128
134
127
138
119
134
130
118
130
105
137
128
132
101
114
111
101
103
102
104
140
145
127
116
149
138
115
129
124
143
144
143
122
128
145
137
104
106
132
119
145
101
105
103
103
128
147
144
111
101
146
136
106
114
129
123
121
130
103
123
144
128
147
107
105
109
128
107
147
123
107
138
128
142
107
112
123
131
145
143
100
148
109
123
119
124
116
111
128
138
110
125
135
126
130
115
114
112
131
130
101
123
112
105
138
147
147
101
123
141
133
108
133
107
101
113
149
109
101
150
130
106
132
131
131
142
126
149
143
143
144
111
102
121
143
106
148
121
132
134
129
139
121
118
118
148
103
130
105
106
109
124
148
105
138
138
107
125
131
141
101
121
110
123
124
117
114
207
168
152
122
213
177
220
134
172
205
192
219
160
153
215
172
198
121
194
207
134
149
213
125
208
154
149
155
197
133
181
213
198
184
211
144
214
205
173
141
166
121
132
133
171
191
120
163
154
151
128
215
130
127
157
180
199
141
127
194
200
172
136
178
213
131
184
216
202
121
174
202
124
146
143
196
186
199
166
156
181
172
122
130
206
124
184
161
129
169
144
129
170
169
204
217
205
131
128
153
182
161
190
144
204
165
157
146
160
124
130
207
183
128
126
163
136
177
198
170
162
199
132
144
153
123
199
165
153
192
200
215
164
196
177
130
181
210
173
134
125
150
127
125
109
116
118
125
136
100
126
121
126
149
133
135
132
103
108
142
140
137
134
138
125
102
101
122
143
102
122
116
129
103
129
114
135
112
140
149
148
130
111
107
112
122
106
138
121
123
113
100
129
118
101
140
120
139
112
111
126
146
109
124
126
133
145
121
127
123
103
128
136
148
114
126
121
137
117
132
119
116
148
133
116
135
150
136
137
102
129
133
108
148
109
102
121
149
110
112
111
100
133
119
123
144
122
139
111
110
100
134
127
114
120
133
124
146
130
113
123
128
148
116
118
147
129
129
127
116
116
129
100
139
150
113
100
143
120
108
134
101
143
140
117
138
149
155
130
142
214
169
201
166
122
138
207
213
185
169
198
198
220
127
213
188
181
209
138
138
179
122
145
190
127
219
120
159
215
176
136
120
152
217
198
146
124
167
145
130
125
190
197
215
192
146
203
206
171
148
209
202
145
179
199
159
186
134
127
126
123
171
167
197
176
197
161
165
127
131
134
133
127
205
194
161
214
144
205
147
180
164
124
120
152
168
219
199
133
129
206
201
160
184
196
127
180
142
120
156
156
164
130
196
137
158
189
166
126
124
169
159
155
219
193
124
122
164
138
139
189
199
209
164
212
218
169
131
198
181
209
200
135
182
175
123
211
212
158
172
134
130
202
142
101
142
139
119
112
129
132
125
120
114
101
122
132
104
111
112
127
148
128
101
106
118
125
129
123
133
122
105
121
113
128
103
136
103
107
121
128
133
124
127
133
142
138
146
107
121
132
137
148
109
141
145
134
120
119
122
107
113
103
117
144
126
104
141
107
107
150
107
141
104
127
148
110
144
102
117
122
148
135
146
120
114
120
142
132
101
100
126
122
127
111
128
120
116
109
150
140
129
119
150
116
132
126
141
106
125
113
100
110
141
131
136
108
116
106
106
146
110
106
111
119
117
129
103
102
107
125
117
141
105
135
142
141
120
129
139
136
112
107
105
119
102
139
148
143
116
107
122
126
138
115
106
218
129
163
189
165
148
173
132
185
126
195
182
144
199
155
190
196
184
164
163
120
151
143
185
176
130
131
175
202
155
168
166
215
185
169
143
200
155
183
191
217
215
219
153
207
195
153
144
215
179
186
194
137
163
147
134
167
197
186
153
161
206
173
205
195
220
147
121
147
148
200
133
141
128
159
140
172
179
156
146
201
128
134
144
181
202
132
185
196
213
159
180
143
145
132
161
136
162
198
153
120
150
143
199
182
121
160
152
143
197
166
149
133
124
198
167
187
135
166
185
134
151
167
207
185
172
186
201
139
215
175
176
198
129
216
125
142
191
148
160
189
216
205
186
138
128
166
144
186
160
120
121
213
205
167
141
220
115
107
119
144
123
127
146
121
100
148
144
135
106
117
131
115
107
110
117
118
103
135
128
103
149
149
114
113
130
145
100
130
141
124
130
137
129
142
136
128
135
121
101
135
124
138
140
103
103
118
136
128
120
116
140
120
118
131
133
105
133
123
131
103
128
113
114
149
103
103
132
113
119
124
125
101
105
105
131
125
135
139
118
137
131
103
122
133
131
123
106
113
122
113
124
100
147
107
117
121
104
129
130
140
141
141
126
142
137
136
107
112
126
128
150
135
147
131
109
142
139
117
120
114
149
106
139
128
110
128
107
142
121
123
138
137
109
122
114
119
119
105
140
123
102
102
145
149
108
136
103
146
110
143
102
140
145
124
127
119
116
115
141
106
110
112
114
125
101
149
135
142
106
147
218
220
134
210
142
152
135
133
164
203
123
176
125
215
154
128
153
155
182
147
129
130
156
209
202
120
175
190
156
166
172
201
188
129
161
198
179
181
204
143
142
122
147
180
165
169
121
214
152
159
190
188
181
194
120
133
195
178
157
158
153
216
174
181
214
159
185
135
208
185
162
151
214
186
189
145
179
139
197
163
183
156
210
182
129
193
182
130
134
155
215
216
203
145
179
203
157
129
155
130
135
161
181
208
163
165
124
177
158
210
138
219
163
162
198
139
220
130
215
139
191
157
188
183
217
158
185
162
214
186
190
146
162
188
186
134
136
183
154
160
208
149
204
192
204
169
130
212
173
200
201
120
100
107
137
138
148
136
137
136
120
141
121
130
128
135
112
129
123
107
138
114
108
147
132
149
123
103
103
144
149
126
148
126
127
131
117
147
104
149
150
119
106
146
148
103
107
107
146
104
150
140
130
124
127
109
137
100
148
146
111
140
136
142
123
126
103
126
108
121
149
146
142
109
103
101
122
113
100
101
138
142
125
128
129
124
130
141
101
119
102
122
112
105
105
141
121
138
145
137
131
115
132
100
140
150
111
106
143
103
117
130
123
117
143
122
138
122
124
147
130
102
113
132
124
127
120
130
129
114
144
139
141
131
138
105
130
144
148
140
111
111
126
103
138
101
148
149
119
129
121
116
135
123
105
104
139
105
144
141
123
126
146
126
118
120
136
116
148
110
192
200
169
129
207
200
212
127
209
187
124
142
127
141
217
158
143
203
140
131
162
190
159
216
196
181
131
155
120
168
150
194
215
207
152
183
148
214
134
212
197
160
128
139
132
191
168
152
194
196
211
127
167
195
135
120
188
182
156
123
218
157
179
128
142
165
154
125
200
177
183
218
201
167
173
181
206
189
173
157
162
150
136
166
163
215
124
141
158
190
123
138
173
194
195
174
155
176
129
142
131
151
191
121
151
186
126
146
173
147
124
151
147
155
177
217
193
129
208
196
189
144
157
197
217
175
146
155
149
127
190
201
146
120
220
173
206
210
154
212
203
146
129
126
133
156
170
161
152
174
135
133
217
154
214
136
208
177
182
133
142
182
183
135
186
158
151
170
205
144
123
150
100
125
129
138
118
129
111
114
148
144
106
113
124
125
129
121
117
134
148
144
137
148
129
138
137
119
144
124
114
125
126
149
141
134
145
102
113
100
125
129
110
126
103
122
110
149
135
123
106
131
103
113
114
120
129
128
116
104
140
103
111
118
113
124
119
122
108
149
139
102
126
107
149
125
136
111
118
122
125
122
105
101
140
115
131
111
113
122
118
117
119
130
143
128
128
118
112
128
126
116
133
132
115
101
143
102
137
146
103
120
134
144
126
115
125
111
107
103
104
104
116
133
109
126
119
109
117
141
102
141
126
132
116
141
118
144
143
129
101
130
137
147
135
111
106
102
150
109
122
136
100
116
138
110
106
131
109
142
150
134
133
178
173
147
204
219
173
183
175
153
187
208
149
173
169
157
211
164
133
146
200
133
129
136
133
164
205
189
170
154
177
153
120
190
147
172
188
187
123
182
129
214
121
156
165
220
163
204
191
192
213
150
212
160
131
182
165
123
181
181
176
202
164
123
146
206
190
141
219
205
188
169
147
158
121
218
216
186
170
161
135
212
172
138
146
139
158
163
174
217
180
143
122
176
160
169
131
144
189
180
199
142
209
217
220
162
209
212
142
203
155
166
195
147
197
206
218
182
129
211
197
193
144
152
164
142
175
174
147
142
202
144
208
121
188
133
180
132
133
218
138
137
145
139
139
106
103
121
123
133
131
116
113
107
119
133
111
116
150
102
102
102
109
124
124
146
136
137
134
140
122
121
130
124
108
102
125
136
120
133
118
143
124
100
119
150
130
136
124
109
119
122
127
101
134
118
123
106
138
129
110
126
140
145
101
104
148
144
149
119
118
136
123
130
111
135
146
114
143
117
112
124
119
127
101
124
145
119
110
145
101
111
113
102
105
101
101
103
127
100
112
139
104
118
148
130
121
136
132
111
135
146
105
111
107
132
147
139
122
149
142
108
144
110
118
135
131
126
104
135
110
150
121
133
140
128
107
140
133
144
105
137
128
138
133
106
135
123
140
109
128
115
144
122
114
143
122
125
125
145
124
171
175
162
204
139
176
155
185
125
187
195
183
194
134
150
199
217
146
163
136
168
209
197
151
172
166
134
168
158
187
147
183
171
203
211
128
146
161
143
161
211
171
132
217
137
180
152
126
181
123
135
216
123
126
151
175
138
130
191
208
212
197
170
195
144
185
167
164
192
148
123
163
186
191
134
182
133
219
206
129
123
161
193
198
212
201
144
166
209
196
199
154
120
200
154
128
167
178
207
124
121
127
205
184
150
160
150
219
204
156
188
197
140
183
180
184
177
142
195
145
169
164
169
153
208
140
213
192
171
147
172
122
201
141
200
169
203
146
203
197
134
208
208
216
133
186
146
132
127
217
130
175
142
135
109
147
103
119
104
118
138
136
104
147
138
133
144
121
130
136
121
148
142
106
118
138
147
145
143
114
109
141
137
112
115
125
129
121
148
116
135
101
150
143
121
137
117
147
135
139
100
129
117
144
112
115
102
142
103
146
136
148
121
141
108
143
149
123
126
116
131
101
102
135
101
143
117
144
113
121
127
106
111
115
103
146
149
126
102
138
104
117
104
130
115
114
110
129
124
107
133
138
148
137
143
147
135
125
104
134
124
111
131
129
113
126
146
116
112
128
106
118
115
119
137
130
138
122
133
140
130
139
116
128
115
217
189
176
212
135
184
178
160
191
159
159
158
191
178
200
172
130
170
185
172
181
196
165
185
150
214
158
146
197
136
134
158
159
176
192
181
204
193
135
139
151
149
175
173
128
141
188
149
132
197
185
149
206
147
134
162
137
124
123
143
121
184
182
208
206
177
199
149
210
166
139
174
122
217
127
195
194
191
216
169
141
215
134
215
181
149
175
167
127
145
173
130
208
158
126
176
124
154
151
154
173
175
202
195
125
148
120
127
191
158
189
137
178
162
179
174
176
147
130
220
147
172
202
122
132
191
203
192
179
161
211
129
184
197
164
173
185
148
122
217
187
212
131
167
126
141
117
135
116
141
147
130
108
114
149
121
105
104
111
131
116
126
102
107
145
118
116
109
105
134
131
110
122
115
145
149
118
123
133
118
135
101
111
116
105
110
124
112
147
144
127
147
102
135
114
126
102
131
107
120
116
123
131
120
117
134
115
115
147
148
121
104
121
127
122
110
139
105
107
146
129
137
131
113
132
131
147
136
139
107
143
128
133
120
138
134
150
131
135
145
100
141
102
102
146
131
132
135
110
121
132
143
122
137
105
117
116
107
114
114
137
135
120
101
111
136
116
103
134
143
100
119
122
143
147
112
132
101
119
148
106
118
111
141
136
150
133
117
138
136
100
129
127
119
113
146
126
136
130
129
124
137
129
124
104
102
125
146
139
150
106
101
143
202
126
183
146
174
211
182
173
214
122
174
176
149
162
166
154
174
139
149
134
122
128
146
200
178
178
181
144
205
175
134
195
190
121
158
206
196
164
135
215
121
151
154
136
138
133
203
214
220
137
123
150
133
120
182
131
203
180
143
189
218
199
197
206
139
126
159
140
188
138
173
127
158
174
204
148
173
128
188
138
162
180
208
153
219
144
214
178
219
141
177
170
199
145
145
149
217
178
135
177
161
149
198
199
146
186
163
136
154
199
190
199
169
204
151
196
150
154
131
169
127
220
195
219
218
158
145
191
141
152
161
157
181
131
141
154
134
139
138
203
130
122
142
195
177
140
180
156
167
143
150
113
150
135
139
134
106
150
136
112
108
129
132
111
121
102
112
110
117
115
136
122
111
103
101
145
113
139
130
116
134
122
121
139
120
104
143
104
148
124
129
142
137
115
145
117
101
127
134
136
118
109
112
148
128
109
148
124
140
109
130
115
146
131
129
142
116
138
132
105
108
122
136
100
136
144
104
126
144
129
124
127
124
127
122
109
121
129
108
135
141
127
135
102
145
140
130
135
115
104
150
118
121
119
105
125
136
117
122
110
137
104
122
123
131
132
143
114
101
119
142
142
134
120
124
136
122
133
131
102
121
213
134
166
140
132
120
149
138
144
200
142
173
167
191
160
190
148
120
205
215
148
168
121
136
220
146
212
136
166
122
183
203
129
182
174
162
125
121
139
167
150
207
131
149
126
182
198
185
197
142
209
188
204
211
151
158
159
193
176
158
214
146
123
163
138
166
170
144
180
170
190
186
145
142
147
121
188
130
215
132
174
135
146
196
142
209
211
169
218
155
173
137
144
144
141
144
215
185
171
190
169
148
122
121
141
138
179
211
142
127
167
190
155
198
164
195
190
148
182
156
167
155
209
155
165
162
176
126
185
168
199
200
179
150
173
218
167
152
165
207
180
142
206
196
129
177
150
181
159
142
182
182
194
168
175
152
171
143
133
218
194
124
122
123
145
116
125
126
128
135
133
146
100
146
150
142
112
110
140
129
127
149
113
109
131
121
100
145
145
110
113
139
110
105
146
137
150
130
119
150
100
131
124
109
132
120
109
139
150
111
118
130
138
147
109
106
139
136
139
114
130
124
147
125
115
146
118
111
128
123
105
113
118
123
135
138
130
118
146
103
147
100
143
131
116
106
120
148
123
124
113
112
104
112
107
112
129
114
139
130
137
116
137
113
131
119
105
104
143
136
150
117
102
139
108
115
100
147
133
126
103
138
105
129
135
104
130
125
141
106
113
122
116
107
121
140
132
120
119
105
115
120
138
101
131
118
115
115
135
123
142
147
130
131
150
108
116
109
144
135
136
111
125
138
121
145
147
142
116
142
138
128
208
173
164
188
147
194
220
181
182
166
125
170
180
166
136
177
167
188
215
122
187
207
162
180
193
160
219
218
157
208
180
194
151
205
136
150
175
137
183
171
182
147
171
170
123
139
163
200
214
213
161
177
150
136
136
149
153
170
204
123
121
170
178
167
195
125
168
191
163
164
202
188
198
170
173
167
167
146
125
212
189
200
174
182
128
200
214
141
125
142
202
142
181
148
203
123
158
137
214
172
138
162
177
128
143
155
128
170
144
172
132
202
162
189
130
190
147
172
206
127
147
154
157
189
145
167
203
173
193
164
216
148
211
187
193
139
150
157
196
175
130
189
181
205
131
174
192
207
166
169
196
161
209
156
217
205
207
122
191
199
208
217
144
186
161
166
162
188
123
126
127
146
116
136
100
142
115
129
106
126
131
119
119
112
102
122
123
141
105
132
147
108
126
102
113
112
124
144
106
150
143
139
130
116
113
108
139
137
125
148
128
120
109
147
111
101
132
101
102
119
103
132
116
127
133
104
143
122
119
116
135
117
103
119
110
146
117
140
141
149
138
150
113
149
132
134
104
117
129
126
120
122
125
116
138
132
124
106
110
147
143
121
129
101
117
131
142
133
106
144
150
114
117
127
146
148
101
115
112
108
150
127
127
113
135
130
114
138
109
113
139
118
125
141
142
117
102
123
126
140
130
120
140
132
132
125
138
136
119
150
107
112
113
100
103
127
145
132
138
145
148
124
135
175
168
199
155
209
206
182
186
196
207
151
138
156
156
140
168
134
125
178
181
140
207
141
138
188
142
130
154
136
173
146
148
208
168
159
153
120
159
156
204
220
127
220
205
127
186
126
163
213
162
182
184
171
155
180
143
195
156
167
145
204
211
120
147
207
168
196
187
188
166
177
178
217
174
133
175
193
210
214
209
160
152
168
171
163
161
151
144
153
121
219
152
126
182
193
136
147
173
126
178
132
203
174
212
133
172
141
153
139
189
195
179
160
210
207
174
121
212
155
205
150
135
129
209
124
158
133
160
137
210
206
164
141
147
167
169
184
162
157
196
112
100
120
136
117
128
108
140
143
129
150
142
104
134
112
105
121
104
101
124
106
118
149
147
120
117
119
126
140
141
147
117
129
127
122
135
106
142
105
101
101
134
135
110
143
141
103
115
147
113
127
145
131
146
142
143
133
113
130
119
115
105
105
127
128
113
145
149
134
107
109
114
116
110
133
141
104
129
104
137
101
110
113
148
116
105
118
146
110
150
112
131
102
114
115
101
133
146
127
120
148
101
115
105
109
113
118
132
146
124
125
129
134
122
136
150
129
136
109
110
134
112
106
130
146
110
136
127
124
150
112
126
125
149
142
105
147
148
114
108
138
135
119
140
150
115
146
134
106
141
144
134
126
147
113
136
121
105
118
121
129
200
131
214
204
124
178
212
189
120
132
169
169
122
157
165
191
173
152
154
183
196
194
172
205
182
188
127
172
170
182
208
206
215
215
167
178
158
173
129
165
159
142
178
168
155
180
154
146
204
142
146
197
156
201
195
147
177
161
170
123
154
151
214
214
154
131
146
143
131
215
129
197
216
124
200
133
164
180
131
203
148
128
177
185
149
170
219
161
138
156
196
168
161
184
211
191
159
215
218
154
187
211
162
214
191
207
157
143
143
133
144
168
156
199
182
219
200
178
130
140
150
169
162
172
152
201
136
182
137
127
191
196
196
178
195
170
122
144
206
174
171
193
142
145
192
218
151
216
190
177
155
149
217
184
218
208
190
198
195
132
206
219
124
203
168
120
143
121
115
106
142
149
112
128
144
131
127
108
109
140
135
102
108
122
138
110
101
127
143
124
121
103
131
121
101
150
124
101
118
128
123
144
116
118
146
111
103
109
149
104
133
122
113
150
104
124
130
118
108
123
101
107
123
132
128
104
105
129
139
115
150
117
141
102
150
142
134
131
121
120
115
108
114
117
147
104
125
132
149
146
111
113
107
106
105
150
108
107
123
137
138
145
108
129
104
100
115
144
107
146
117
125
138
109
116
138
123
150
138
135
135
122
119
148
133
120
133
110
120
120
126
123
150
150
132
177
135
155
200
131
148
154
168
137
209
134
205
183
188
161
215
210
189
139
182
151
202
153
193
148
185
216
171
162
141
172
189
178
178
156
129
142
149
159
218
195
177
192
183
202
217
193
206
186
167
165
182
160
146
136
129
184
187
196
172
164
135
191
181
214
158
137
191
202
215
137
213
165
190
203
209
121
152
218
126
127
194
126
126
199
156
192
168
127
216
193
168
143
171
166
210
161
164
182
159
180
198
214
190
162
175
187
209
201
190
201
215
125
140
133
135
174
152
149
185
201
209
157
186
177
154
157
169
128
153
198
220
201
150
208
122
103
116
128
133
121
139
101
130
148
105
133
145
142
127
122
145
142
113
137
108
148
126
142
138
102
149
113
148
150
101
115
146
137
113
138
104
125
114
118
126
119
126
109
132
136
113
110
136
101
142
110
124
101
106
119
100
129
149
115
119
146
140
116
125
143
149
106
131
107
145
148
122
108
127
104
100
133
122
125
107
123
111
118
102
116
103
122
126
138
144
149
138
135
108
139
103
148
136
124
118
122
136
141
113
103
123
115
125
130
110
113
120
104
149
141
132
112
112
106
119
109
147
126
120
121
122
116
140
108
118
107
129
107
141
108
123
138
100
132
111
140
131
116
138
142
123
124
109
145
142
112
125
141
145
136
124
109
180
150
170
125
212
166
178
157
182
153
161
170
203
201
141
194
188
135
120
164
196
211
142
211
139
156
154
171
185
141
197
183
167
167
190
191
131
168
210
157
160
127
192
131
179
215
152
147
184
200
124
206
124
192
138
194
190
201
195
210
219
146
216
178
196
206
189
121
165
175
179
134
188
141
206
183
201
163
172
209
196
211
196
190
161
139
148
159
143
157
174
194
123
163
216
211
177
211
182
154
170
131
219
212
161
199
220
139
189
155
184
146
168
207
136
184
130
127
186
198
148
140
127
220
196
199
196
177
211
158
195
179
174
208
201
219
183
159
199
130
151
158
191
147
216
175
214
205
180
158
120
208
135
115
140
132
148
120
102
150
116
107
123
112
109
140
100
119
147
150
143
148
100
127
124
108
147
114
114
140
120
125
140
136
148
143
121
133
138
146
149
113
109
103
127
114
104
100
131
139
110
102
133
104
107
139
108
117
115
114
138
150
145
109
144
129
140
117
105
135
147
148
113
124
111
136
144
143
150
148
148
120
113
132
136
149
102
117
100
133
105
108
123
120
104
109
146
101
117
128
139
105
141
132
101
104
135
119
135
144
118
103
101
111
134
106
143
141
144
114
106
118
123
146
136
101
116
109
133
128
106
167
135
189
174
167
217
153
200
216
184
161
170
143
122
169
146
134
165
136
154
178
150
146
156
168
190
145
188
129
193
157
138
205
210
129
174
209
152
123
152
137
215
182
172
142
121
219
163
167
197
208
178
129
150
173
127
220
188
140
124
198
170
140
137
175
182
187
129
164
128
166
148
157
160
215
138
157
195
141
169
150
170
182
203
172
215
132
143
144
170
140
201
167
164
151
158
219
213
156
186
193
220
214
137
165
189
165
133
183
198
196
209
158
191
203
166
201
176
207
121
209
170
182
190
120
194
156
167
124
138
174
176
144
148
165
206
187
153
132
126
176
157
195
165
212
159
119
125
111
147
127
129
124
125
141
139
126
114
133
149
146
112
126
145
136
137
119
104
148
100
117
112
149
148
114
114
139
132
126
104
115
111
149
140
108
122
119
120
125
110
145
148
123
124
109
113
118
133
144
100
102
129
103
100
111
136
131
142
136
124
103
129
128
141
128
143
128
135
131
112
134
147
150
139
145
148
103
142
150
109
147
144
114
134
116
107
119
115
137
150
117
146
141
135
104
145
149
134
103
131
104
101
128
118
110
150
121
120
125
127
133
139
137
142
131
136
107
111
125
146
119
116
117
140
128
113
137
126
129
101
112
130
112
123
133
130
149
125
111
100
116
113
129
111
108
143
113
148
129
125
140
116
132
150
138
136
130
107
120
147
149
212
150
177
178
178
197
173
197
154
121
172
163
187
156
190
129
203
217
152
169
156
129
199
120
147
192
197
200
126
122
201
162
206
177
172
186
177
213
197
193
152
220
156
129
206
167
172
219
134
196
121
212
215
134
138
150
200
148
218
181
155
146
124
191
179
180
170
150
208
169
122
122
165
196
215
134
217
135
158
152
199
174
218
124
187
177
161
162
170
198
215
159
133
125
206
204
210
177
184
169
180
149
129
201
150
121
162
132
149
144
168
141
185
123
171
144
174
196
136
120
127
206
142
152
136
210
190
190
165
163
144
140
212
140
141
107
131
121
136
122
119
124
128
131
116
146
120
146
133
120
131
142
102
137
120
140
124
116
116
100
143
103
105
120
108
129
142
130
148
143
102
144
143
126
143
106
105
144
132
143
118
109
140
104
125
142
102
145
129
132
103
121
147
126
140
123
138
133
148
136
100
119
101
146
115
150
137
130
125
148
130
137
110
150
111
123
112
124
142
129
133
135
109
100
138
148
104
110
116
148
108
150
137
105
127
150
109
112
119
110
110
150
119
144
150
130
146
104
126
119
116
145
143
112
104
142
121
149
143
125
107
102
126
213
157
167
120
183
178
211
197
199
203
151
129
208
160
213
126
164
177
201
210
209
180
182
206
219
140
216
143
120
141
189
201
137
156
183
218
132
170
176
131
203
163
152
129
190
157
140
121
198
123
180
205
168
186
121
124
217
174
143
186
120
140
161
211
122
123
199
192
145
147
165
208
141
206
198
143
133
187
140
184
204
158
151
220
129
177
172
204
207
172
128
210
138
138
198
178
212
132
123
179
215
168
162
218
192
206
129
175
146
212
170
190
203
146
122
202
171
182
181
201
189
123
213
215
195
190
154
161
122
205
123
177
124
140
209
139
155
122
181
166
203
159
136
154
191
192
186
131
193
179
191
183
126
127
169
204
152
201
127
194
202
192
209
128
129
214
170
146
128
171
111
150
147
120
130
104
138
116
112
137
109
125
120
129
136
114
106
141
137
122
130
100
106
139
106
146
136
106
118
131
102
128
106
144
140
136
150
149
147
124
136
149
115
106
117
131
134
105
102
103
134
100
107
129
127
139
139
144
128
132
127
111
130
116
127
126
148
130
114
133
140
106
107
126
141
100
120
127
112
122
120
137
139
148
115
137
116
132
142
108
145
115
104
147
134
135
106
103
125
147
120
150
133
137
142
113
124
150
147
138
145
138
137
136
128
127
147
121
142
146
141
124
119
104
100
125
113
119
147
142
134
112
115
106
127
114
101
133
127
147
117
111
100
107
134
150
103
139
106
146
117
125
102
137
145
112
109
102
107
109
106
126
117
113
111
130
143
148
112
139
116
142
150
111
115
155
177
127
122
138
168
123
181
188
150
216
165
172
192
180
128
155
157
134
131
177
202
172
206
139
192
188
177
161
163
194
206
153
213
180
146
203
162
165
172
210
197
176
144
184
155
133
208
132
200
199
146
153
165
201
194
155
141
204
149
148
152
146
131
166
203
161
214
218
153
123
202
219
176
180
186
184
178
167
218
166
156
127
209
183
184
132
185
201
184
199
196
142
120
167
122
218
152
145
211
219
183
141
159
177
170
188
179
144
181
213
157
120
162
196
213
192
145
178
197
175
211
214
202
153
183
186
192
188
189
125
134
150
131
201
121
194
196
148
181
134
168
199
173
160
200
173
212
174
183
204
203
161
147
206
179
125
170
152
170
201
198
128
115
132
105
104
123
136
144
114
112
137
131
128
105
108
100
111
117
137
127
138
108
118
148
104
128
133
102
104
140
107
100
130
141
141
131
124
126
104
111
147
135
106
141
113
101
124
137
145
134
107
105
106
145
100
146
141
147
133
136
141
103
147
118
137
123
133
112
102
145
126
133
144
133
143
127
114
123
103
120
114
125
147
139
108
115
150
113
129
107
103
140
126
145
143
139
111
119
139
139
108
111
141
106
140
143
126
130
144
115
135
139
128
119
139
123
128
101
106
117
126
113
121
148
115
119
140
113
119
106
119
102
109
140
121
144
115
114
130
137
101
137
137
148
111
110
101
114
112
140
109
118
138
142
112
131
133
126
137
110
132
133
126
148
100
105
120
121
182
161
201
122
151
195
174
145
153
141
126
189
204
164
136
203
183
202
213
195
199
188
141
201
188
210
129
175
156
160
120
185
214
168
215
160
184
121
153
149
185
215
172
144
206
179
167
166
178
139
216
123
182
170
167
139
166
149
203
142
139
130
162
169
136
132
177
165
219
215
146
180
187
165
191
197
121
164
192
124
215
204
190
136
169
215
135
180
188
151
136
162
141
144
205
140
204
194
178
120
195
191
196
192
211
128
135
137
191
142
210
211
176
190
213
161
188
207
169
134
191
173
205
141
165
154
155
176
209
177
164
132
140
215
167
206
146
135
189
163
201
128
152
168
156
220
220
138
140
173
216
168
137
141
171
197
163
220
182
218
187
124
134
131
107
124
107
103
134
104
100
126
131
129
126
128
127
113
100
121
149
142
130
100
106
107
131
114
148
137
110
123
106
115
127
117
100
109
104
125
131
102
109
140
105
104
142
124
144
104
103
116
110
111
124
101
107
149
101
134
110
118
121
132
147
132
109
106
114
108
118
101
136
141
146
143
128
134
109
139
124
141
142
120
100
134
120
142
118
119
122
100
131
134
140
127
110
147
109
127
140
133
150
111
137
144
118
103
124
135
141
150
128
109
115
130
147
113
120
148
148
125
113
106
141
139
113
101
127
116
148
107
149
114
128
119
118
134
103
145
102
118
132
125
137
106
127
119
109
130
115
105
100
108
140
114
130
147
135
127
129
127
169
166
202
203
127
158
194
153
149
131
164
219
207
175
144
207
125
177
144
213
122
188
140
193
184
215
160
163
136
123
147
199
120
158
150
202
125
130
195
211
212
194
191
133
217
215
216
171
160
152
159
159
135
185
218
142
128
144
192
155
191
206
192
191
167
207
149
144
208
167
209
195
218
125
144
155
165
214
214
170
188
174
143
135
213
145
166
196
137
180
192
184
202
196
203
137
175
174
149
120
181
137
213
127
180
184
212
204
200
200
193
175
138
157
194
210
196
139
132
128
169
211
172
120
145
166
132
141
128
161
138
183
125
210
195
136
168
135
193
133
128
152
169
202
199
132
196
203
187
189
185
210
127
114
147
127
123
143
110
119
138
107
121
123
108
128
148
109
100
150
116
117
100
125
137
104
144
100
110
140
116
144
128
130
130
116
106
103
101
141
105
141
127
101
115
147
116
147
150
130
148
138
121
141
126
131
116
141
147
124
131
109
137
103
132
141
116
144
129
134
123
134
100
115
101
140
116
116
120
110
138
105
106
143
123
132
133
145
132
117
113
129
123
109
111
115
144
147
114
148
149
103
141
102
126
146
145
114
114
107
113
100
120
128
114
107
120
144
125
102
149
140
106
113
139
142
103
120
132
110
135
112
141
135
112
104
149
133
139
135
116
126
140
143
122
197
172
160
145
173
168
192
202
137
163
146
169
175
180
149
180
128
176
160
200
212
128
197
126
218
161
176
216
152
126
172
210
169
210
155
196
155
169
188
150
175
175
210
162
163
154
184
138
182
197
213
155
135
186
179
184
213
143
189
126
145
131
167
129
154
195
172
134
171
201
150
125
156
180
171
160
209
135
173
185
188
174
133
190
160
200
199
146
197
184
164
147
207
162
184
164
184
180
215
159
129
183
206
168
123
152
158
123
170
132
180
193
202
154
172
193
139
198
124
163
209
177
134
126
179
212
214
191
136
197
217
155
142
190
210
151
128
199
142
152
162
150
138
209
135
136
154
187
185
202
208
199
124
155
216
220
131
139
211
149
190
134
131
166
155
214
161
179
102
123
141
107
130
146
145
134
113
142
144
130
137
138
134
120
124
148
125
126
128
108
107
134
136
119
120
106
122
143
137
112
106
111
123
123
128
113
143
137
123
136
107
150
136
136
118
128
139
136
100
138
117
142
118
115
128
125
131
144
130
135
137
119
108
145
145
119
149
148
107
107
115
116
115
138
119
122
136
111
103
105
128
104
105
110
130
120
117
100
117
127
147
145
149
127
133
132
146
115
142
124
104
103
107
144
102
130
137
128
144
131
131
141
102
105
134
105
114
116
108
109
105
140
116
110
142
107
125
111
110
135
148
112
104
128
149
106
106
102
138
142
137
147
148
130
149
144
131
129
118
134
141
150
132
117
150
126
104
116
134
153
196
173
152
137
172
192
216
185
137
201
194
171
159
139
202
141
191
200
156
219
220
150
157
132
176
158
198
123
150
219
191
145
193
177
126
208
170
199
137
198
145
132
214
214
207
208
198
151
127
120
170
135
210
215
149
136
177
182
149
177
187
191
178
136
139
211
213
148
165
195
195
193
186
160
155
218
124
180
166
160
170
162
187
197
163
193
154
142
164
142
149
165
148
128
126
181
126
140
220
137
130
179
144
185
182
214
157
145
209
190
120
165
170
173
158
215
167
182
160
167
199
156
203
173
176
181
188
215
161
130
183
179
158
149
132
141
133
162
152
207
179
199
113
140
129
131
112
140
128
137
123
117
122
147
124
124
102
102
150
133
145
136
133
120
146
129
112
124
134
113
124
136
126
132
141
108
132
149
103
118
141
105
139
128
147
138
132
136
136
140
112
135
122
110
135
102
125
140
118
105
137
126
126
138
107
112
120
112
100
148
148
114
138
127
125
149
106
117
109
143
101
149
125
104
131
118
132
102
108
149
135
145
133
103
145
138
125
123
139
137
115
122
130
119
102
128
121
134
121
138
135
118
119
109
130
127
100
101
138
109
117
141
130
119
135
104
105
121
108
148
137
125
123
133
117
113
109
105
131
107
109
104
145
125
120
126
100
148
140
126
142
116
148
125
100
149
135
106
140
128
128
120
139
137
112
140
127
149
137
135
177
147
156
132
193
180
166
126
129
157
202
210
141
178
187
194
121
127
175
203
198
181
219
189
188
198
213
139
131
138
148
187
124
183
212
206
177
176
210
210
158
220
187
198
138
178
158
148
148
157
152
141
179
167
156
216
211
193
148
156
161
212
168
182
195
214
187
122
208
198
134
212
133
150
213
148
212
177
129
202
186
134
201
145
175
218
212
139
208
152
132
127
219
208
181
210
135
209
155
132
189
198
126
181
132
178
141
197
139
197
186
161
128
123
138
120
156
206
218
200
195
127
145
138
201
195
131
132
149
195
204
129
118
130
144
138
125
144
126
118
139
115
124
127
101
147
104
131
141
121
103
116
118
126
134
138
101
133
149
102
111
130
140
139
130
108
139
127
142
110
112
128
113
130
148
101
105
131
136
149
101
127
128
147
107
112
100
100
103
133
134
126
135
116
135
135
128
121
114
140
138
104
116
137
140
141
119
129
149
108
102
126
128
114
105
145
116
126
105
133
136
101
117
133
140
104
136
145
142
112
119
141
147
135
113
133
132
127
131
114
135
121
128
123
140
116
144
122
140
137
119
117
125
142
129
140
121
115
106
129
120
114
136
125
138
125
179
218
216
195
205
124
217
217
155
205
148
126
188
154
169
218
149
145
204
176
169
173
183
151
170
127
137
127
142
122
206
208
219
132
199
167
138
176
160
162
122
181
194
202
217
174
209
131
179
184
163
128
173
198
141
174
159
134
182
210
133
146
133
133
171
146
173
122
220
169
128
188
166
215
163
155
162
137
156
162
183
123
214
216
143
151
200
142
127
201
185
131
157
196
213
194
151
180
147
196
128
208
185
190
169
201
154
178
156
187
141
156
211
177
214
186
155
146
199
122
199
144
157
168
172
159
192
185
181
215
196
201
182
144
138
208
154
192
213
153
192
134
183
146
189
187
196
183
177
168
163
143
158
180
185
189
184
139
204
122
165
134
188
190
202
150
154
185
220
185
123
172
195
128
178
103
121
138
114
144
122
101
128
105
116
116
110
118
146
130
108
146
116
145
148
103
102
141
146
141
122
140
108
149
136
148
111
146
115
103
123
127
109
121
118
124
137
120
149
135
108
134
137
126
136
150
127
143
115
144
115
150
115
108
101
143
113
148
120
138
144
141
144
134
109
127
135
134
108
149
101
142
148
121
108
109
127
133
134
101
135
106
136
126
133
127
119
117
138
106
128
117
138
107
149
104
137
116
147
133
106
135
112
120
111
106
106
101
137
108
144
138
120
124
113
135
114
113
149
103
117
130
142
110
158
148
132
146
189
135
150
147
159
139
210
197
200
174
209
127
170
185
132
200
150
205
172
168
194
165
209
149
186
140
144
180
197
174
157
121
205
156
131
157
135
215
120
121
199
199
215
130
204
136
210
172
175
211
215
210
202
134
156
202
179
169
220
131
123
162
179
177
120
198
134
172
157
210
141
203
198
216
183
197
160
195
204
153
135
131
173
129
160
158
193
135
212
212
130
198
182
208
213
174
175
121
151
212
170
153
132
133
219
186
162
140
185
141
201
210
162
192
208
129
198
165
137
122
200
183
177
128
134
154
187
135
180
203
131
188
218
137
149
195
145
162
154
184
142
169
213
183
198
153
204
164
214
144
135
131
108
110
101
127
130
148
139
108
110
139
148
117
107
120
128
119
125
116
124
117
102
117
118
121
135
143
114
150
128
108
134
120
125
119
111
110
140
112
105
124
109
119
103
112
109
113
135
141
148
115
148
149
129
101
129
104
143
116
122
133
122
129
145
101
143
150
102
120
149
119
130
103
128
134
123
107
143
133
130
139
149
148
123
120
109
106
117
126
103
118
105
148
120
139
107
110
148
149
112
141
127
121
105
102
139
110
143
100
120
102
124
139
143
115
102
131
137
146
108
130
102
118
109
129
137
130
140
101
125
121
118
122
119
150
102
148
117
140
150
120
129
110
146
149
112
102
123
132
122
143
139
102
126
137
142
124
104
139
117
101
125
195
216
130
167
143
220
209
214
211
184
184
163
121
144
139
164
169
132
152
219
143
189
208
194
189
131
190
194
170
180
157
174
138
129
122
175
170
196
175
159
126
167
219
198
145
185
148
214
146
144
215
143
162
171
153
212
218
184
201
170
147
152
161
183
207
140
202
195
198
170
183
194
176
168
198
214
216
136
199
136
181
212
175
189
121
127
211
178
147
197
134
136
121
180
203
153
174
127
201
174
215
131
165
190
141
149
142
177
151
164
216
121
167
183
197
203
164
184
163
146
138
150
148
216
194
211
209
200
120
136
205
149
204
178
215
140
210
139
196
174
161
183
151
144
158
153
133
191
158
174
134
136
138
130
198
198
150
183
181
132
139
128
135
129
103
145
126
143
123
109
123
136
103
118
143
108
137
121
143
117
143
133
126
138
134
123
126
133
104
104
144
137
142
129
141
103
148
100
135
137
107
100
142
130
148
114
133
127
110
121
147
135
104
137
116
129
115
100
100
103
132
119
109
141
113
135
145
106
112
135
124
109
131
100
106
147
126
138
111
150
133
124
128
128
107
127
106
137
137
126
122
113
131
115
114
123
150
140
129
149
149
101
116
148
122
129
131
137
148
133
117
127
148
102
129
141
129
120
122
111
142
130
148
103
145
140
121
132
115
128
120
127
148
134
133
140
114
136
141
112
103
142
125
120
101
114
128
123
145
127
124
133
150
110
142
110
121
119
133
128
120
158
140
162
123
206
175
201
170
166
176
208
218
136
210
185
146
138
205
128
146
142
174
181
210
146
208
197
218
126
163
218
194
181
135
200
184
218
181
154
200
178
215
191
127
128
195
162
212
200
199
217
140
168
120
144
128
142
202
163
174
171
171
136
127
218
195
124
206
167
165
182
175
211
204
159
124
192
163
214
189
126
204
167
157
132
212
135
127
162
217
155
161
190
146
132
213
186
205
136
137
137
128
188
169
137
154
152
187
141
175
192
148
180
162
139
207
161
140
129
141
208
162
149
123
204
130
141
180
141
206
187
134
187
139
173
126
173
208
168
212
157
197
156
202
215
187
171
210
127
137
179
134
215
169
139
172
219
141
183
150
121
131
145
125
118
149
143
129
115
149
128
124
117
135
139
121
106
149
115
121
101
127
116
103
108
140
116
130
133
128
128
139
101
107
116
108
121
131
146
130
135
113
104
104
122
127
123
108
128
113
132
137
111
126
146
117
123
141
126
140
125
123
120
117
115
108
119
136
139
144
101
113
145
114
114
141
132
141
129
124
128
146
108
110
134
127
144
108
138
101
117
150
115
147
118
142
142
138
110
115
133
135
137
141
132
120
142
130
100
111
112
122
109
100
105
115
142
150
106
101
127
141
140
129
121
117
149
114
124
128
122
125
104
111
125
150
105
131
112
124
140
126
109
125
129
125
138
130
130
150
159
174
220
170
213
198
143
189
191
207
163
205
162
215
210
139
129
135
173
127
125
202
156
190
132
194
193
196
145
121
169
216
160
214
219
202
174
217
202
146
203
201
188
155
169
200
192
158
188
127
217
219
153
120
177
137
155
217
147
123
165
183
195
216
171
208
159
135
189
154
151
163
155
147
197
133
140
190
202
168
190
209
205
187
208
134
153
157
184
213
148
178
132
220
203
142
219
132
174
196
158
217
141
203
203
147
182
183
133
190
144
144
146
196
163
194
185
149
201
168
132
129
144
170
173
189
139
139
214
165
148
123
120
159
206
125
149
206
198
169
178
220
207
172
214
219
168
162
174
122
149
137
102
102
133
126
124
126
121
138
148
139
112
123
146
116
150
100
135
145
127
141
140
143
123
100
150
111
140
102
139
135
112
148
101
140
132
115
139
130
109
137
107
110
150
112
107
113
103
132
126
109
146
118
132
107
104
119
142
112
130
140
120
143
131
136
139
148
126
100
111
115
143
112
130
134
111
103
119
120
119
149
120
147
103
104
132
138
102
121
145
134
150
150
140
126
109
108
123
113
138
117
121
137
112
147
123
134
123
115
122
117
148
136
136
141
126
143
123
104
136
104
113
141
136
121
113
101
134
118
118
103
102
115
122
135
128
131
119
139
142
141
122
109
110
102
129
106
128
110
105
129
130
145
129
122
134
115
126
138
115
143
120
120
118
102
100
133
117
100
147
147
120
123
150
175
135
208
153
136
163
187
121
143
177
211
136
170
137
138
160
147
220
149
198
163
130
156
153
168
183
200
209
134
207
202
194
120
219
219
213
196
132
209
193
132
171
129
204
139
126
170
220
186
120
145
138
210
198
136
148
164
129
171
169
220
192
196
219
194
142
194
169
208
168
192
180
147
135
217
199
207
160
125
142
125
219
138
134
127
144
185
214
215
154
197
183
166
212
141
138
191
144
176
169
191
150
159
206
187
138
219
165
147
149
134
198
157
177
164
196
133
197
122
148
127
198
123
172
194
164
155
159
150
177
153
133
207
213
210
130
208
152
182
134
156
204
150
163
190
139
185
120
173
176
164
181
191
206
212
123
169
164
192
177
174
158
142
131
174
171
182
162
166
187
182
113
126
134
138
131
101
125
117
137
117
129
107
150
127
144
136
138
145
111
147
108
104
109
149
117
106
112
128
106
117
119
133
128
107
126
118
129
119
143
103
146
139
104
111
132
115
129
150
132
132
119
116
101
130
138
108
109
102
101
110
109
116
104
134
139
101
141
119
124
106
135
121
102
141
119
104
142
132
104
107
134
101
121
119
128
116
100
119
132
106
112
136
126
121
138
110
136
106
130
124
118
147
111
129
113
137
143
135
114
111
120
119
132
116
106
128
135
133
122
128
130
120
124
108
146
103
104
127
177
145
164
207
174
195
130
193
131
216
189
154
179
145
173
215
186
126
130
197
219
186
199
178
189
150
136
189
139
168
196
209
129
162
157
152
135
126
187
201
145
159
150
203
200
202
213
211
207
178
160
188
160
177
216
139
129
212
127
140
171
181
214
209
173
173
194
213
171
208
122
150
153
216
134
195
180
171
209
194
169
169
209
186
130
212
191
181
124
215
209
198
201
168
203
139
121
140
210
184
142
158
139
134
142
158
152
144
164
140
136
177
210
170
217
135
165
181
136
179
159
142
183
208
163
207
163
188
140
146
194
148
185
193
197
120
212
194
133
200
114
125
101
110
102
121
130
119
116
138
117
113
129
114
108
138
121
127
120
145
146
106
131
101
141
126
143
136
143
117
132
120
149
119
107
111
145
109
118
144
142
132
142
138
128
148
112
134
147
126
131
108
126
139
143
137
122
147
137
145
116
132
121
106
110
106
129
128
113
136
149
109
144
127
146
123
124
143
133
143
150
109
106
104
124
125
100
143
148
106
142
127
136
146
131
137
129
142
108
107
142
123
131
139
101
104
120
111
150
112
142
145
100
116
133
101
148
127
115
108
150
136
119
102
123
112
134
123
101
111
110
128
116
146
103
126
106
107
136
105
101
132
102
138
107
135
118
119
104
147
117
134
106
105
134
131
120
141
148
118
106
137
139
139
103
115
124
139
182
137
134
168
195
217
174
195
212
218
208
153
124
130
172
151
217
199
185
194
153
123
153
158
194
137
175
165
200
146
127
202
136
138
164
183
206
158
203
142
129
170
132
129
149
168
165
177
185
160
128
220
142
163
187
191
193
166
167
169
123
164
211
148
200
172
199
217
211
190
182
149
211
157
216
159
189
130
176
151
214
182
152
129
173
161
220
220
166
126
148
136
195
185
123
213
150
154
208
209
151
125
122
128
151
165
161
175
183
183
178
213
145
193
180
205
175
156
131
170
217
126
123
147
178
170
200
151
129
141
137
138
161
195
122
134
169
193
167
178
157
161
156
161
124
160
161
161
182
193
185
147
192
202
120
125
141
109
116
108
149
107
130
122
102
129
109
126
145
129
103
142
143
149
135
126
120
140
142
139
104
148
115
102
127
122
119
143
116
122
147
106
117
110
147
135
142
122
132
114
118
123
124
112
136
108
104
135
105
133
114
106
107
115
140
141
143
121
130
148
115
112
106
104
113
127
137
146
106
146
127
111
124
146
118
133
100
107
128
111
112
121
137
111
146
123
149
146
130
145
146
100
131
109
130
127
125
105
114
108
144
141
138
103
106
122
123
115
145
122
148
138
149
133
137
147
127
149
132
113
134
135
103
124
134
155
132
131
123
140
142
127
165
185
164
187
162
120
188
174
135
203
199
196
138
208
180
187
186
160
216
147
134
192
180
217
215
123
124
146
199
151
139
193
146
145
134
168
156
141
168
154
178
163
128
182
175
194
166
138
165
191
214
121
144
182
173
179
134
171
213
143
196
184
192
198
149
171
210
138
176
137
187
193
203
156
176
123
220
150
120
155
146
122
211
217
151
125
192
177
189
174
189
174
190
123
160
167
149
121
129
169
171
126
199
140
152
196
148
196
150
146
147
187
215
217
126
213
159
190
145
191
120
138
163
134
198
165
150
218
215
217
219
141
142
175
156
201
175
202
207
144
150
176
100
124
126
117
133
113
138
106
115
150
150
129
106
150
111
115
128
124
137
106
127
105
125
148
143
125
120
105
132
106
111
116
111
118
101
138
128
112
127
134
122
120
127
117
101
148
110
147
120
145
119
141
106
128
148
139
146
148
138
100
123
121
117
138
140
114
145
133
136
131
115
116
101
114
129
120
147
108
135
127
132
120
108
148
100
103
106
112
128
100
111
109
120
105
138
132
143
149
125
136
135
102
116
144
116
104
150
127
103
146
141
130
130
131
138
137
120
125
125
140
139
141
122
133
131
135
103
117
109
127
124
100
128
108
113
124
109
129
105
110
122
107
104
141
136
150
123
138
129
108
117
147
114
111
110
135
118
141
110
114
101
129
149
132
105
103
133
139
113
104
128
114
214
208
195
148
164
198
213
175
175
130
126
207
217
199
132
176
193
176
190
153
209
171
214
214
133
121
143
152
153
141
144
193
203
198
200
198
155
166
128
179
139
219
145
186
134
121
152
183
137
150
155
189
124
186
193
202
214
201
187
164
210
152
201
126
166
172
145
154
121
156
192
143
191
138
213
137
161
186
180
213
146
153
177
169
205
132
211
207
156
184
145
124
167
130
218
190
124
198
139
140
129
212
164
145
142
141
213
176
139
148
183
129
187
150
121
159
157
165
209
133
219
192
205
204
126
136
189
213
215
202
138
152
195
120
141
185
137
210
195
208
147
139
180
183
134
203
132
214
165
129
128
158
213
183
190
193
180
188
189
130
149
108
104
146
104
105
122
144
130
116
113
105
146
119
144
102
147
106
125
130
135
123
103
142
100
110
103
118
136
100
118
150
101
148
128
102
118
124
124
150
132
102
133
112
103
114
117
135
107
107
142
133
139
129
134
125
136
110
140
129
114
149
130
101
143
102
112
139
122
112
134
148
127
141
105
144
112
103
132
149
120
114
110
116
150
134
144
135
106
121
138
129
116
147
145
112
148
134
141
120
140
143
103
116
100
141
108
112
129
141
115
115
123
142
150
100
104
125
114
115
132
128
114
140
107
146
125
137
139
148
134
148
135
133
126
140
109
127
114
115
139
126
123
147
141
107
154
129
156
141
208
129
183
179
171
207
132
220
165
145
132
200
177
214
184
205
217
180
161
188
182
148
216
199
204
144
156
129
141
220
156
218
152
216
139
211
194
149
136
215
126
124
182
179
200
155
157
179
213
151
144
135
124
194
212
200
134
164
153
154
161
177
150
135
142
131
188
189
204
163
190
215
192
177
185
153
185
186
210
169
157
220
158
149
147
214
211
162
178
152
128
180
168
197
220
178
196
181
149
166
170
193
137
160
179
174
123
219
214
162
195
129
201
155
220
147
134
163
193
154
206
209
166
215
122
178
164
161
148
161
169
217
154
146
202
147
193
179
135
187
167
215
196
170
180
169
183
188
138
127
135
109
140
137
133
148
110
126
119
120
122
108
143
100
117
150
131
115
134
103
131
126
107
110
138
126
150
147
125
120
139
139
147
130
128
110
133
141
100
115
117
132
125
131
134
138
106
137
148
148
108
103
121
143
142
139
133
115
125
149
131
123
113
126
102
138
122
132
134
130
105
125
148
100
103
104
138
116
123
102
110
130
141
142
140
111
115
111
135
126
113
142
133
101
104
102
121
145
112
115
140
125
140
110
131
125
118
135
146
145
116
134
130
136
147
134
115
141
134
149
127
116
125
127
108
107
146
129
138
150
113
193
179
131
153
176
153
166
167
144
186
147
159
148
152
147
167
178
129
190
198
144
156
174
135
185
121
164
172
210
187
164
120
189
166
202
209
175
146
186
173
173
187
213
219
152
198
209
143
135
178
127
155
166
162
211
196
206
180
157
218
164
137
212
182
142
192
182
140
138
186
159
203
152
137
164
203
135
144
144
132
196
179
135
131
220
188
186
187
147
165
122
154
142
194
212
209
191
176
121
128
216
137
128
132
192
142
159
220
162
130
183
154
145
136
208
188
125
219
169
131
168
162
190
204
218
137
210
195
184
203
186
213
187
211
191
154
194
141
191
126
139
124
214
166
213
136
197
190
189
121
127
101
122
110
136
105
134
126
112
110
104
117
142
114
114
126
101
131
125
147
127
105
103
146
102
131
112
129
130
111
125
131
118
103
149
106
149
147
132
135
125
129
122
127
130
115
117
104
119
143
139
105
103
121
107
136
133
125
107
107
149
110
123
113
115
122
147
104
107
147
144
127
110
126
149
145
122
111
123
131
114
102
124
104
138
121
141
108
128
126
119
102
115
128
124
127
150
115
123
141
139
135
123
138
138
136
106
107
106
150
115
147
130
132
149
137
147
112
125
144
106
115
138
140
121
136
109
110
128
150
127
105
114
104
103
100
188
146
202
134
140
120
194
158
141
160
218
208
148
153
120
190
169
142
199
164
139
190
173
208
120
215
183
123
153
183
162
132
135
220
217
216
144
206
184
130
194
207
182
220
212
141
150
180
213
186
199
182
182
182
138
169
144
130
158
162
178
140
139
159
170
131
179
154
166
137
170
218
124
215
212
155
160
199
193
220
146
161
175
142
176
127
206
196
123
183
210
220
176
163
156
211
182
203
162
155
164
149
139
202
212
220
128
120
176
208
132
165
173
199
205
150
126
207
165
141
146
173
125
138
141
122
143
168
145
217
174
186
146
128
182
196
150
126
138
108
146
112
130
139
104
108
103
121
110
131
126
101
120
150
111
102
100
112
112
100
112
114
121
134
124
140
112
115
129
143
102
140
108
138
121
121
103
114
127
123
101
117
140
149
129
125
141
124
127
145
129
141
124
139
146
102
134
133
127
100
136
103
147
136
117
130
125
141
144
146
147
115
136
119
104
142
132
143
138
120
137
116
107
102
109
147
144
139
126
122
117
116
133
134
139
121
105
134
143
134
117
126
112
126
142
114
141
136
111
126
126
147
117
100
115
112
130
128
121
129
125
135
117
118
136
106
101
132
122
119
150
136
121
140
142
213
159
202
129
154
191
182
162
198
194
126
192
126
194
120
192
140
186
193
140
190
144
155
172
181
157
141
220
198
174
163
121
152
164
183
138
180
150
144
209
132
183
165
151
144
147
155
177
125
173
120
162
140
169
161
168
135
161
159
198
151
194
180
144
215
168
211
199
203
150
197
193
217
161
123
173
213
169
130
126
166
220
131
192
127
129
179
144
156
133
167
131
186
217
187
124
191
135
214
188
144
173
218
124
209
123
144
179
147
194
146
186
137
159
152
141
215
220
128
192
198
202
183
136
210
169
206
203
161
185
177
188
172
210
164
136
186
148
159
123
156
138
160
179
183
190
145
102
144
147
111
107
132
122
120
109
127
126
113
108
117
140
101
115
137
127
143
111
140
108
109
117
144
130
140
137
100
149
105
145
103
115
133
114
120
119
116
124
146
126
127
118
136
147
137
121
149
119
102
142
119
148
142
130
101
108
108
101
117
134
134
122
116
131
117
149
128
130
102
115
128
122
150
106
148
112
106
132
117
112
134
129
119
103
110
102
136
122
136
126
137
116
107
130
109
126
134
117
133
124
146
138
145
132
147
122
102
149
119
143
138
122
114
113
123
100
142
143
122
113
100
135
121
144
119
123
146
126
112
129
134
123
194
172
214
218
183
175
130
155
139
133
203
148
154
172
130
201
142
178
137
128
187
180
167
190
157
151
204
156
165
175
198
186
215
156
160
123
151
195
174
194
213
177
159
132
195
167
142
146
142
204
151
206
198
160
126
192
143
131
198
158
198
131
124
188
220
186
159
173
144
134
205
218
131
148
135
218
153
150
128
130
141
143
148
161
206
150
143
156
162
205
132
152
181
196
195
150
197
201
198
157
179
155
201
136
212
146
149
125
192
130
169
166
125
216
123
130
174
120
200
194
142
132
135
191
179
211
135
174
124
187
213
188
197
190
146
129
154
177
207
123
103
138
147
132
104
102
132
130
107
126
113
146
114
135
117
134
142
111
104
101
149
126
122
102
102
109
150
128
142
145
133
139
110
140
148
115
138
145
102
145
134
129
126
132
106
144
112
133
126
129
116
108
100
143
127
117
103
123
107
145
143
125
131
127
104
136
121
106
132
112
133
127
115
130
148
104
106
144
148
127
145
132
147
142
100
150
108
116
122
120
113
109
147
109
148
112
100
116
111
121
112
103
123
132
105
100
119
138
124
142
145
149
135
146
100
127
131
113
123
126
144
111
141
105
134
136
138
150
136
108
103
129
121
100
100
143
122
120
123
113
105
122
126
128
139
136
110
137
141
131
117
118
121
106
133
173
216
182
136
151
179
216
187
143
200
182
201
211
178
199
127
155
169
138
157
209
163
217
167
209
140
164
216
181
131
136
167
189
137
191
216
192
211
197
211
218
210
185
170
121
140
195
182
179
125
166
208
140
151
158
130
192
199
143
146
185
183
145
156
202
129
220
130
160
198
190
131
184
124
153
201
167
123
148
195
171
153
141
142
182
198
191
125
123
155
216
171
214
193
190
196
197
122
139
166
191
126
176
184
167
216
217
178
204
157
155
127
122
180
191
213
158
177
122
216
193
123
192
138
125
216
150
123
168
150
196
172
215
169
151
204
158
181
160
216
135
131
158
136
136
193
200
199
209
181
199
205
183
144
182
158
146
178
164
196
198
133
189
129
144
107
141
101
102
134
136
124
111
150
112
114
110
141
126
134
120
150
149
112
117
116
101
116
146
102
132
103
141
101
129
106
102
119
144
131
148
111
144
132
126
135
106
150
119
129
136
101
136
120
128
138
142
146
105
107
132
141
128
120
144
109
123
104
123
121
114
129
140
137
135
140
106
100
138
135
148
107
136
131
148
149
143
113
140
145
134
146
145
145
120
107
106
140
101
146
149
149
146
120
145
108
127
100
104
134
130
115
144
135
120
142
100
103
136
135
143
109
147
128
121
147
103
148
125
131
113
111
100
109
103
108
112
126
112
136
133
128
124
131
134
115
128
107
115
126
175
210
161
124
129
127
150
176
200
131
161
152
204
164
121
164
203
132
185
167
155
132
148
154
159
155
167
129
190
188
214
145
165
201
187
148
175
203
134
180
120
169
171
131
188
122
167
176
183
206
192
127
169
194
156
160
216
158
175
126
150
145
134
190
185
134
191
182
140
177
212
162
200
125
129
202
182
153
134
129
168
177
126
120
144
193
153
128
205
153
157
147
147
179
132
121
179
189
158
214
194
182
203
192
136
139
187
220
178
213
145
141
129
143
143
161
198
175
130
139
132
159
189
203
158
180
216
175
149
210
145
135
176
195
121
220
195
160
194
155
188
132
113
132
131
112
109
113
140
140
132
118
109
115
127
132
122
122
126
103
118
126
143
143
134
125
110
137
146
113
109
107
128
143
114
129
104
142
102
144
110
108
116
149
132
134
109
107
143
107
136
127
148
111
119
122
109
148
124
144
117
123
140
103
122
121
117
142
128
129
119
112
114
108
129
149
105
144
104
121
115
118
135
129
140
137
113
148
141
146
113
119
101
140
106
128
105
145
138
146
124
109
123
120
137
134
144
126
104
112
106
125
106
140
100
115
144
136
141
111
131
144
126
125
139
141
114
118
133
108
113
104
135
125
104
134
113
119
130
125
134
141
105
122
142
132
143
119
108
129
122
137
136
143
129
118
115
150
145
113
116
135
118
114
214
128
193
141
214
129
128
130
191
164
212
198
175
137
208
153
151
174
193
121
208
165
215
179
182
134
162
156
130
212
141
204
197
152
211
157
153
169
184
201
141
183
120
169
210
173
163
161
169
177
197
169
183
134
177
121
207
132
200
183
175
141
126
177
172
215
214
201
211
203
186
181
196
185
172
136
207
167
189
146
176
205
155
193
198
166
159
192
140
189
145
198
152
147
196
214
203
124
144
200
143
215
171
141
121
213
152
134
203
178
171
129
177
167
169
201
189
162
128
152
197
141
154
150
187
155
181
211
124
219
169
130
120
136
126
130
168
152
196
134
175
190
160
141
163
218
174
207
120
133
102
139
136
132
138
108
122
125
111
133
132
130
109
111
146
142
133
133
122
145
113
133
105
114
105
116
147
124
145
149
124
117
100
133
113
100
120
107
115
121
113
118
136
143
143
112
127
143
135
109
130
116
112
119
135
116
101
150
150
101
111
122
141
132
148
113
142
132
147
117
100
149
104
148
125
107
137
111
117
123
118
104
106
129
135
135
115
132
149
103
114
148
107
104
131
136
148
108
111
110
141
130
140
107
111
134
134
144
131
107
132
102
147
103
145
130
101
114
115
124
130
126
114
102
106
117
136
108
115
103
112
118
136
210
193
125
201
174
150
168
185
149
194
143
205
178
182
178
131
205
215
170
168
198
133
184
174
203
133
131
133
141
205
204
154
219
153
133
139
193
198
137
138
200
174
204
182
133
182
145
136
134
143
153
206
159
133
167
155
166
210
120
166
156
159
125
143
168
144
189
180
167
123
149
133
142
194
160
138
148
120
173
153
122
215
151
173
199
216
191
198
156
220
166
217
129
121
128
200
172
161
219
175
211
140
188
189
189
145
213
199
167
176
175
128
203
154
194
159
202
174
148
176
153
173
149
131
170
218
160
210
214
200
141
170
218
173
134
167
167
196
133
124
212
129
211
165
135
200
192
127
142
182
195
165
130
211
217
170
148
110
131
110
125
144
110
106
119
147
115
141
136
117
136
108
144
103
101
100
118
132
135
109
124
112
135
119
136
117
104
112
113
136
127
129
140
105
127
132
138
131
133
128
145
111
134
147
102
116
102
126
122
141
106
136
125
150
122
110
144
103
147
114
106
117
121
128
138
138
141
138
140
107
112
114
116
118
137
112
121
138
117
101
102
136
108
126
149
137
122
103
118
127
120
104
137
109
102
149
108
125
130
110
114
103
101
133
123
110
144
138
116
108
130
142
110
133
141
141
105
127
118
146
104
108
141
116
136
136
110
132
117
146
133
138
140
127
147
110
129
129
120
141
118
144
128
112
139
122
126
138
149
138
130
150
144
121
133
148
101
109
133
137
144
122
143
123
148
123
171
135
152
164
154
208
200
161
169
138
141
207
143
121
203
193
151
146
153
202
166
120
199
134
199
163
189
144
174
168
209
180
203
162
145
184
182
122
201
205
203
129
158
204
134
170
173
133
169
157
219
131
169
125
120
133
206
193
203
162
153
194
212
158
213
135
211
129
137
212
136
137
138
139
181
193
156
176
182
141
161
209
137
133
188
209
130
182
177
190
197
217
164
151
163
166
198
219
211
143
120
212
172
187
206
192
152
142
203
144
124
130
190
143
167
172
190
166
215
159
188
144
120
211
173
159
203
219
134
135
183
208
192
207
220
136
179
126
119
132
145
124
148
107
125
146
128
115
109
113
111
106
123
123
119
121
113
142
130
124
112
112
101
106
118
138
102
110
110
137
115
104
119
123
148
131
110
146
137
131
143
117
143
107
104
126
119
133
100
127
149
117
119
115
142
139
125
133
122
117
123
136
113
108
107
124
125
109
111
149
129
126
117
144
107
109
125
109
141
118
142
136
114
145
142
118
125
129
102
136
144
103
101
115
128
114
133
147
102
126
150
150
121
135
131
104
117
147
102
107
132
111
141
148
146
129
126
122
118
128
126
107
149
102
114
129
132
125
126
138
143
113
136
143
141
133
148
130
134
137
104
110
101
125
122
148
104
103
120
142
129
137
120
109
147
140
116
146
126
125
122
147
120
114
118
134
207
122
173
122
193
122
193
135
217
191
187
162
194
187
125
125
157
171
171
141
145
170
147
210
210
133
142
134
183
189
191
207
121
195
186
134
142
170
143
191
142
206
190
158
178
159
135
159
141
152
125
138
160
157
212
133
200
173
194
174
133
146
182
215
146
130
132
166
162
136
152
193
156
145
212
145
173
156
191
189
215
145
186
209
206
186
206
124
127
136
184
183
179
129
211
200
156
194
192
196
171
126
126
141
220
173
143
146
186
191
161
200
176
203
140
128
123
140
147
122
176
174
165
197
166
180
206
205
150
198
176
220
187
198
146
210
132
174
155
159
178
180
205
166
166
184
213
127
129
172
215
218
158
120
107
113
105
147
108
104
104
113
150
100
146
147
148
119
135
106
116
142
112
137
126
108
112
136
108
134
118
108
143
135
132
144
123
146
103
114
100
120
129
148
150
123
148
142
103
104
130
134
141
119
115
111
136
146
122
101
127
147
133
111
144
133
130
141
126
141
135
124
120
105
127
142
119
110
111
119
104
128
112
102
139
118
107
121
126
115
125
116
137
136
132
139
118
116
116
121
108
116
139
116
102
125
135
150
127
147
135
134
103
136
137
115
115
142
112
143
115
150
107
118
136
128
129
144
124
110
107
108
109
141
141
130
109
110
134
160
144
213
168
199
165
146
218
203
122
162
143
177
202
216
215
150
219
219
137
142
218
162
178
143
179
201
189
205
141
214
145
206
183
142
151
174
186
218
204
148
135
210
143
153
209
162
188
127
121
186
179
163
215
159
155
207
215
155
206
156
186
216
132
127
137
203
157
173
209
155
218
206
215
207
156
156
154
144
123
174
207
120
154
177
132
213
140
139
173
184
168
185
167
220
126
220
174
198
121
181
182
148
201
156
214
170
215
163
218
139
182
139
149
138
217
132
124
164
139
181
159
167
203
133
195
212
170
175
209
146
154
213
137
126
203
169
200
188
128
205
175
169
171
208
130
152
206
173
180
206
149
191
202
125
179
216
166
185
156
152
171
184
216
192
147
146
157
214
176
186
144
177
159
137
143
131
146
150
134
136
119
132
148
118
115
101
104
102
102
117
100
139
100
102
109
116
104
107
101
131
136
146
117
135
147
117
131
119
119
103
132
115
125
103
128
143
144
124
118
112
127
122
146
101
111
147
142
150
112
121
149
106
104
133
100
136
123
139
128
142
150
149
150
126
136
126
103
114
147
140
119
102
149
143
117
111
111
147
131
130
114
114
112
121
133
117
110
132
138
123
138
142
144
135
126
127
133
120
104
148
140
126
126
107
114
133
105
143
138
134
123
114
100
135
122
101
100
126
106
109
108
142
146
149
147
130
128
109
107
140
124
131
133
112
149
114
131
101
135
133
133
149
178
120
143
148
205
122
181
143
167
176
161
183
189
155
143
161
181
216
180
133
153
193
213
179
197
174
141
133
215
216
151
171
154
124
141
135
201
169
217
170
144
206
137
171
156
124
131
173
167
157
195
173
164
197
146
140
146
122
214
202
132
168
180
212
185
175
219
217
162
203
133
153
168
185
123
208
191
173
216
121
142
171
175
219
195
147
152
216
210
146
201
120
200
164
169
196
148
166
198
214
163
120
148
171
141
151
189
161
216
146
201
172
201
126
214
157
213
208
127
210
214
132
133
199
164
152
150
219
179
189
112
114
102
132
145
120
123
117
116
121
125
140
147
134
125
145
143
102
137
107
116
130
117
132
119
141
129
100
119
140
142
102
132
128
130
107
121
135
132
127
122
125
128
131
144
126
131
136
126
140
141
132
127
100
132
109
113
104
139
114
139
137
118
100
131
131
149
113
111
121
101
109
101
137
117
114
147
139
113
123
115
118
147
122
131
124
117
130
104
100
140
113
127
131
146
104
101
127
127
135
135
114
143
131
127
132
134
145
128
121
145
109
118
119
128
130
106
117
109
138
105
130
131
142
145
127
137
104
135
138
146
104
128
104
150
105
117
144
139
121
125
127
125
146
184
204
173
185
213
196
203
195
178
185
212
214
166
158
184
124
145
175
150
152
140
205
154
201
176
147
151
187
163
206
195
120
202
202
148
197
216
182
158
153
190
214
187
213
168
203
121
152
166
201
198
156
209
203
194
188
193
172
124
208
171
164
195
189
139
177
193
143
155
120
194
213
137
197
126
149
161
211
173
146
152
156
162
154
138
160
207
181
161
152
123
185
140
143
214
122
121
123
136
185
178
217
163
187
187
159
205
197
193
201
212
135
163
216
182
138
209
150
168
173
183
169
191
196
175
139
113
120
147
144
126
118
120
142
148
106
130
111
111
143
141
127
104
143
104
124
120
139
120
129
115
112
118
125
114
112
111
116
113
110
132
141
109
105
128
114
148
119
123
118
133
135
126
139
133
126
138
120
132
103
140
112
130
102
100
101
124
125
129
129
133
117
122
116
107
128
139
149
139
123
127
118
126
100
110
124
150
146
115
127
136
123
135
130
131
127
128
120
134
127
140
126
121
144
100
133
134
148
133
117
115
143
109
123
110
118
142
127
138
149
139
107
146
135
144
116
100
100
103
124
129
136
117
145
150
127
116
138
143
141
139
103
149
108
109
103
147
149
102
125
105
106
145
105
113
121
126
137
115
141
138
123
112
103
101
150
120
103
112
144
134
134
100
102
125
148
131
107
110
204
189
207
154
208
181
187
200
191
147
195
191
148
154
183
177
139
209
156
186
122
174
151
204
136
216
177
143
135
204
180
171
151
148
207
168
175
120
220
144
136
160
184
178
168
213
192
184
129
164
196
220
189
195
220
196
183
204
137
220
209
157
139
176
217
190
132
137
179
135
173
159
139
154
204
158
149
169
198
147
183
134
198
199
123
122
214
219
203
217
177
148
199
157
176
197
211
186
217
140
153
208
128
170
144
168
146
188
156
138
132
217
207
211
207
208
132
196
163
151
125
148
128
183
216
172
195
173
156
210
153
210
178
169
138
152
184
145
140
191
170
183
132
122
213
145
128
128
133
204
198
193
194
191
213
192
145
125
209
148
130
192
197
166
183
139
151
162
187
132
143
153
135
150
122
143
112
118
105
108
121
123
126
100
111
131
141
102
114
144
124
139
103
144
136
103
129
147
108
147
138
146
135
120
111
135
128
121
147
140
124
129
134
133
116
110
103
102
135
107
107
146
145
111
116
125
137
139
141
107
126
130
130
109
100
118
109
108
140
101
138
106
136
118
127
107
113
131
125
131
116
129
145
101
141
149
115
149
115
141
137
140
129
140
124
141
135
103
101
118
149
135
132
103
109
111
117
146
128
115
101
112
139
148
134
107
148
106
104
135
123
146
126
132
115
124
119
149
105
116
149
181
211
123
201
176
191
151
125
200
146
188
142
166
194
120
142
141
135
211
137
177
189
186
191
164
218
157
124
149
180
120
138
156
144
190
148
149
168
213
122
132
200
208
215
204
142
158
204
200
149
201
133
133
181
207
168
193
139
200
194
168
167
178
193
166
163
191
149
208
172
129
169
137
188
126
135
183
123
177
146
144
167
176
138
137
192
125
193
126
206
169
193
192
184
153
182
151
165
192
155
204
168
136
195
152
214
132
210
120
124
189
145
140
158
143
194
188
166
152
204
198
124
171
151
154
158
130
180
220
142
173
196
190
193
149
161
133
130
135
128
190
216
147
210
176
205
147
152
129
182
173
146
189
219
197
210
220
203
164
184
147
204
126
181
196
119
133
120
130
102
105
128
121
118
133
135
104
136
134
121
102
144
143
138
125
143
146
123
135
133
137
101
101
133
107
147
120
105
113
121
112
135
129
104
118
112
143
121
126
132
128
127
119
149
150
131
111
111
125
137
119
146
107
141
143
116
127
145
103
113
104
128
125
118
115
102
109
112
126
124
144
117
142
142
143
105
134
115
110
124
121
120
104
101
106
111
147
138
117
126
103
118
101
129
122
148
105
144
125
146
122
116
101
118
138
110
149
110
103
125
120
136
141
103
110
142
139
128
126
105
107
104
141
127
147
136
121
146
120
136
131
143
135
112
104
131
105
100
140
130
107
128
150
107
110
112
124
103
100
113
134
136
130
104
126
145
111
127
146
128
141
194
135
159
210
122
180
123
167
132
220
124
201
166
187
204
153
220
132
125
137
211
195
178
121
215
164
161
177
207
165
134
209
131
121
220
138
162
192
128
156
143
193
198
214
195
149
140
131
149
143
179
188
209
161
210
154
153
168
159
144
203
182
162
183
208
195
155
139
211
156
135
157
215
178
218
195
164
195
198
220
185
140
200
205
162
171
199
185
180
155
123
137
125
214
160
207
142
150
156
179
178
139
200
209
173
154
147
177
190
152
176
183
154
217
155
203
154
150
197
132
153
128
140
204
145
153
168
127
185
194
174
123
218
125
147
126
195
165
166
102
125
118
140
116
135
117
109
121
140
146
112
119
106
139
107
116
128
125
127
115
148
136
150
115
124
105
108
117
121
135
150
139
136
133
115
103
123
127
131
103
113
132
150
138
124
141
103
131
103
130
135
108
100
147
122
107
108
136
146
103
112
135
125
145
137
129
105
111
110
125
104
132
150
114
150
131
129
142
100
116
102
128
103
106
111
113
141
146
105
100
103
146
128
138
141
118
138
133
131
142
134
120
142
137
120
120
136
110
123
133
115
112
124
133
121
108
137
120
107
125
101
144
138
137
149
105
149
130
116
145
143
112
143
139
147
104
114
112
111
112
148
134
122
145
110
122
130
142
126
137
113
106
131
133
142
174
133
179
193
216
208
170
149
143
183
219
143
163
213
123
135
210
201
220
185
181
135
139
219
166
217
209
154
219
211
126
123
153
152
192
179
162
130
145
169
121
139
189
166
120
194
171
179
180
120
187
200
151
177
130
164
157
188
178
123
144
191
124
148
204
187
175
206
193
167
186
194
164
219
178
201
193
138
187
176
213
162
209
126
135
209
200
146
182
123
178
198
204
140
165
179
130
134
172
176
163
159
140
161
203
188
122
167
158
176
204
182
176
146
160
121
160
183
127
143
185
214
164
134
144
217
206
145
138
217
180
218
168
133
214
182
159
166
141
108
148
148
123
102
133
147
132
120
125
119
104
117
119
111
125
114
130
144
103
119
147
109
138
106
148
101
107
143
124
134
144
106
119
135
142
109
110
137
149
128
121
145
104
134
126
135
129
100
136
105
109
138
129
145
148
139
133
135
113
105
127
136
139
139
111
133
108
110
144
131
106
122
108
137
135
137
143
149
140
141
144
131
113
124
145
114
123
126
137
114
150
143
136
132
102
123
134
141
117
133
148
122
135
150
133
139
132
146
131
140
148
108
102
124
123
109
148
146
110
139
135
106
136
127
102
119
110
150
138
116
104
148
113
112
114
116
142
119
135
132
118
102
129
143
141
104
106
102
144
106
134
133
133
150
137
139
133
141
130
105
103
112
113
144
142
112
144
125
130
125
140
207
216
192
155
134
154
120
177
213
147
174
129
206
121
212
185
216
176
165
203
168
177
206
199
146
138
185
156
203
143
124
137
172
142
194
210
182
174
121
153
195
140
175
190
187
161
211
178
175
148
122
161
132
191
173
185
158
164
168
162
160
178
193
122
133
173
141
171
186
140
178
187
156
209
128
164
150
204
214
176
145
203
129
191
207
174
160
138
148
183
154
179
126
134
136
134
155
138
164
196
191
214
185
126
185
138
147
173
195
140
163
205
187
196
143
207
193
184
166
200
145
120
214
151
137
180
189
184
184
122
131
112
147
102
146
106
107
117
102
120
150
114
100
115
107
119
113
134
132
114
140
109
148
104
123
127
106
113
101
108
137
115
100
121
103
126
120
100
147
110
141
141
103
127
126
135
119
123
141
148
109
111
105
124
144
134
121
130
100
146
106
124
145
134
146
125
150
150
145
105
150
143
129
150
135
126
137
139
148
140
136
149
101
144
107
135
114
113
108
135
144
111
128
110
147
112
124
100
149
148
134
117
139
140
116
132
109
141
147
125
130
124
148
100
132
117
106
113
117
136
135
114
109
149
130
127
148
145
140
109
148
122
115
140
119
105
142
103
118
124
100
129
115
131
113
106
150
136
104
101
140
101
107
111
140
147
135
130
128
118
131
139
116
114
104
101
105
120
144
133
205
212
181
154
180
142
183
215
163
213
129
144
193
159
184
127
195
210
129
189
145
151
211
165
199
206
163
146
132
136
205
186
125
193
219
211
208
160
168
159
170
188
167
172
181
136
177
143
200
152
199
154
213
139
130
213
202
162
134
146
169
191
180
202
176
161
192
164
136
205
201
198
187
133
199
180
171
204
220
152
214
127
200
177
138
210
155
178
197
148
218
176
169
139
181
218
185
206
174
202
145
137
193
187
124
215
172
128
146
209
206
123
144
198
173
166
184
219
131
124
163
208
171
152
167
154
198
135
189
173
195
190
186
220
130
169
145
103
124
135
115
137
124
100
143
138
149
130
109
135
117
110
134
110
125
102
100
135
143
116
135
135
119
115
111
114
129
116
144
140
122
143
135
121
126
128
147
148
111
129
123
137
111
112
104
134
118
115
139
129
111
138
144
107
147
118
138
134
137
110
117
126
148
121
132
103
131
123
124
103
118
141
134
107
150
105
137
120
112
122
139
131
134
138
133
141
147
131
108
146
108
124
103
114
131
131
141
117
148
144
146
107
145
129
124
110
100
146
136
116
132
118
127
106
128
140
130
117
141
117
150
110
147
121
135
127
143
148
143
103
131
129
142
141
121
145
120
136
103
136
106
130
145
132
119
143
135
136
114
137
132
114
130
135
104
116
119
101
148
139
189
145
195
180
177
195
173
129
131
128
163
173
208
186
178
174
202
203
188
171
209
199
174
129
155
139
184
181
133
172
121
139
149
126
148
127
216
127
122
173
197
168
177
133
206
182
134
167
141
127
181
176
153
143
146
131
172
210
184
169
205
132
214
177
153
218
188
186
202
140
169
124
145
155
120
124
213
147
173
121
214
219
162
146
144
134
178
206
165
126
193
155
150
203
181
135
126
145
175
187
136
180
217
219
217
144
166
148
123
177
198
154
219
132
190
202
145
189
210
200
177
218
177
216
202
206
219
120
148
203
133
180
147
204
180
218
161
176
138
106
145
129
114
135
108
129
135
141
115
149
108
114
132
124
147
124
113
110
108
103
142
131
143
145
101
101
122
145
108
131
116
137
110
109
122
111
139
146
111
115
143
147
110
115
118
124
101
128
142
103
111
141
109
146
101
115
120
105
114
109
129
125
102
107
119
128
118
125
144
116
138
139
137
118
145
134
105
130
145
102
141
135
124
142
149
128
145
150
142
107
147
100
109
110
150
143
103
102
111
126
146
141
120
133
137
104
135
115
129
142
133
106
137
100
122
150
116
149
139
150
141
150
111
108
121
107
101
115
126
100
146
116
125
134
148
108
119
139
135
137
127
104
117
100
105
119
111
122
119
140
144
168
211
147
144
219
153
169
143
140
152
193
146
161
195
131
189
183
139
194
140
148
218
207
219
130
141
182
213
220
189
128
153
123
152
136
189
179
161
137
171
144
191
218
127
186
172
153
155
128
150
216
174
149
145
126
185
169
154
207
130
172
216
181
220
144
176
120
138
120
152
175
183
167
145
171
154
144
174
131
220
122
189
169
202
138
150
176
190
170
133
151
134
167
216
206
136
136
158
179
126
207
177
211
124
210
160
154
207
140
147
148
202
204
170
165
145
204
212
159
162
132
153
159
176
173
213
207
172
201
178
129
158
151
146
183
206
200
128
151
128
145
130
135
150
177
178
162
156
189
124
182
216
200
157
210
192
138
203
133
220
179
128
151
178
179
171
139
109
130
115
127
143
101
138
128
121
127
147
120
147
115
120
115
125
140
112
123
104
130
130
141
146
127
126
121
102
108
134
132
110
117
143
149
120
132
131
145
138
120
123
134
115
131
102
113
116
126
119
143
112
111
144
115
118
109
146
114
116
149
112
110
139
146
105
142
143
106
103
136
103
132
146
103
147
108
142
136
137
132
114
131
110
115
145
124
115
112
108
125
118
121
127
144
106
109
143
117
130
141
150
132
101
115
115
117
121
124
108
106
125
117
140
116
107
133
142
115
100
129
124
130
106
129
119
116
120
124
144
118
107
120
133
129
141
147
126
101
100
124
106
107
113
131
117
126
141
110
134
147
143
119
130
133
126
137
126
111
114
128
132
107
146
143
139
146
130
113
215
122
178
207
172
181
187
124
161
169
201
159
178
203
157
196
141
214
197
161
160
137
187
160
220
128
122
181
150
182
217
143
220
208
210
129
183
179
159
181
165
197
219
151
135
174
161
143
151
178
220
201
135
153
199
161
220
129
178
175
150
149
135
217
124
128
126
162
143
191
153
145
182
147
173
206
205
180
144
120
192
138
127
138
203
121
123
156
155
130
186
217
156
177
139
121
218
194
202
202
120
212
191
146
123
166
211
179
216
203
211
128
193
161
130
171
197
209
150
214
140
205
185
146
127
189
197
122
184
193
138
121
220
169
193
181
199
176
136
147
177
152
214
131
205
175
210
121
165
133
166
170
211
173
203
133
208
158
155
108
140
113
128
121
122
133
131
122
104
145
108
113
146
131
143
147
104
129
106
142
112
101
148
104
135
148
117
113
133
137
130
125
108
116
125
142
147
121
103
111
112
115
103
121
123
128
135
119
140
100
107
124
142
137
135
142
141
108
115
138
136
117
133
112
128
138
109
115
148
104
138
115
139
124
150
142
150
119
150
135
109
121
107
115
105
115
125
136
134
133
133
103
111
113
113
145
127
112
148
135
102
101
139
128
125
100
148
109
127
122
119
105
115
105
107
147
119
100
148
137
149
125
150
144
148
122
115
129
100
100
150
150
116
100
132
128
140
105
132
120
117
118
107
150
141
104
119
100
100
107
106
122
135
141
130
110
128
145
129
113
123
135
219
137
191
175
207
204
183
190
220
133
144
125
126
218
212
128
142
192
127
200
129
193
158
125
141
167
128
186
177
139
182
143
196
211
154
184
121
183
128
214
194
165
185
125
150
125
138
157
195
176
210
153
150
125
177
189
211
126
167
202
132
177
161
152
124
145
153
143
211
149
145
180
162
153
121
120
173
193
126
172
219
132
188
180
131
139
180
181
197
202
177
211
165
161
206
135
220
173
128
216
184
178
146
151
218
173
194
188
201
210
190
215
158
151
157
127
177
220
176
123
141
136
212
175
142
146
218
123
154
150
135
127
168
147
189
180
166
185
156
123
147
193
179
161
130
194
100
106
146
135
120
128
114
106
102
113
103
132
147
143
108
111
112
131
116
101
117
133
115
106
141
118
140
133
127
116
104
145
125
144
141
132
139
116
140
145
122
108
128
107
104
142
133
120
131
116
132
105
147
125
117
143
148
123
124
134
134
144
142
138
117
141
141
138
133
107
142
114
126
135
119
142
121
108
119
116
124
121
121
128
140
140
117
140
143
132
121
115
122
118
112
103
145
109
103
110
125
150
148
123
108
100
138
119
113
119
103
101
126
114
145
138
150
128
148
138
125
111
115
137
150
109
145
121
148
143
132
125
134
148
136
141
145
103
162
178
198
194
149
186
143
123
161
203
166
190
202
143
123
218
150
157
195
215
193
205
180
142
159
164
164
142
173
176
202
150
133
157
126
181
165
145
193
129
138
162
173
181
185
156
184
215
130
175
196
123
152
132
206
210
158
184
173
168
180
200
181
201
129
214
157
147
165
182
210
219
217
174
188
148
182
153
155
147
216
156
172
127
189
121
148
200
157
171
169
167
161
219
205
153
189
163
174
194
214
130
161
145
220
208
162
189
135
163
175
135
126
195
121
160
214
162
157
209
121
157
132
201
203
142
160
158
189
127
214
141
177
170
159
130
172
144
150
150
193
135
129
196
160
199
189
125
165
132
131
197
143
172
120
151
209
125
129
149
205
164
202
153
132
198
203
178
215
117
108
142
119
145
110
131
143
127
101
109
136
117
122
129
124
111
111
107
140
140
133
110
144
128
119
108
125
139
122
131
110
141
115
131
148
128
122
128
130
147
103
108
119
131
142
146
129
112
146
127
135
119
145
105
132
110
133
100
144
131
148
122
133
148
130
111
100
138
143
143
112
111
128
102
119
150
119
125
119
137
141
135
106
119
129
114
113
106
121
123
102
114
103
110
118
100
119
135
123
130
138
118
126
120
117
105
118
113
138
150
142
121
125
101
131
109
132
125
126
112
132
150
128
145
131
140
108
117
103
101
148
131
150
137
142
125
133
130
101
103
130
125
141
128
139
139
113
142
120
149
117
118
114
110
143
105
109
147
126
148
108
128
105
127
109
109
104
103
176
210
194
134
184
168
163
176
176
157
182
159
178
189
125
206
180
136
153
188
123
159
173
205
186
131
213
124
156
192
213
144
121
143
163
218
202
193
178
123
208
171
137
165
150
161
159
180
200
130
163
194
167
215
194
209
142
143
160
145
190
183
203
163
203
121
121
187
120
202
213
157
159
210
136
220
180
181
148
175
209
202
175
154
129
143
214
134
159
206
157
146
170
195
163
120
131
198
164
172
183
180
147
171
177
212
132
180
140
163
201
192
164
196
149
208
181
199
153
192
186
202
192
163
177
146
129
200
188
166
172
203
122
175
162
137
174
216
143
124
200
214
176
156
213
154
113
140
136
106
123
143
115
133
142
117
138
130
114
135
146
149
109
116
141
114
112
114
146
141
132
103
121
122
132
124
118
121
124
123
148
121
145
114
148
109
141
139
101
142
108
109
135
106
113
139
120
145
135
141
124
125
101
138
136
102
135
147
141
133
122
120
141
143
121
109
120
118
138
123
140
122
123
129
125
137
124
121
103
126
115
103
149
146
129
142
132
132
117
144
112
142
123
100
134
126
121
138
133
132
109
116
105
128
105
145
129
130
116
127
136
147
145
140
124
139
133
144
145
131
113
104
105
134
129
106
129
118
113
100
113
142
136
104
112
119
131
119
110
103
114
144
213
212
167
212
174
207
168
213
150
217
189
175
193
122
127
185
142
200
189
219
150
169
167
188
143
219
167
171
181
149
203
165
132
152
181
129
165
175
121
214
204
220
190
175
178
159
165
162
182
128
199
194
189
148
201
175
121
123
179
219
143
130
130
185
191
179
162
157
157
139
174
220
162
169
220
130
128
204
171
216
177
209
173
164
126
148
129
143
216
186
179
200
123
210
192
168
207
215
164
128
152
174
151
124
183
127
151
145
185
137
210
188
139
172
126
197
169
120
140
219
211
179
160
218
141
146
170
125
178
201
147
193
165
161
162
142
193
137
125
179
131
210
166
147
199
150
181
168
216
135
137
191
156
136
171
205
206
216
142
177
183
124
183
126
193
154
158
158
139
214
166
191
148
127
122
100
128
130
129
140
134
137
134
102
104
121
118
125
127
143
144
104
131
127
143
119
148
124
109
124
114
109
102
108
133
105
119
132
126
125
101
136
108
101
130
145
136
127
104
128
112
113
121
113
150
121
108
119
123
118
115
123
102
139
149
105
108
119
111
102
135
144
135
131
122
116
110
145
145
117
130
110
136
128
143
148
100
145
119
108
102
100
112
126
123
120
100
126
136
120
128
102
126
143
114
108
138
144
121
140
144
111
149
141
135
122
145
108
108
139
138
101
105
111
113
144
150
100
123
130
117
130
137
141
128
134
143
110
100
117
139
144
195
137
161
140
209
196
124
189
185
122
167
187
190
178
128
177
167
145
143
203
161
143
172
201
202
121
172
199
214
177
207
184
194
195
123
134
141
194
147
161
177
161
134
186
160
201
205
195
209
198
144
192
175
188
150
123
158
210
168
143
167
217
170
138
135
125
129
159
199
217
204
212
160
149
219
137
183
129
138
165
136
154
201
202
127
183
158
174
172
182
171
153
165
138
198
200
210
161
177
140
187
184
190
170
196
168
182
187
136
143
174
170
206
135
206
212
163
188
120
201
131
181
219
174
134
205
189
165
192
186
147
213
204
190
217
115
144
110
118
110
115
136
118
125
113
120
138
123
146
117
128
125
119
116
106
107
107
109
139
108
116
116
117
119
103
150
131
104
141
121
134
110
100
115
104
144
141
104
149
117
113
114
140
114
131
102
131
117
113
122
130
121
126
123
110
147
106
118
110
120
126
113
107
119
147
124
104
143
117
129
144
150
146
112
108
103
133
123
143
105
134
124
112
139
104
126
132
101
122
105
150
104
115
146
114
140
137
112
136
122
138
124
114
139
107
147
116
107
143
117
137
106
126
141
131
120
131
143
102
141
119
122
116
103
118
133
136
115
204
174
217
125
128
171
143
197
145
210
152
206
155
191
167
148
142
151
125
208
149
213
207
198
133
190
174
130
178
201
175
170
198
133
202
183
140
184
203
134
123
169
172
196
145
193
184
212
192
120
181
144
220
129
138
195
140
180
179
159
140
174
157
179
186
150
160
201
173
199
120
150
195
208
191
157
195
131
155
190
139
218
146
140
177
219
143
186
204
158
165
198
140
131
131
189
181
123
123
142
201
147
191
157
129
123
210
135
187
188
219
205
135
123
125
168
193
165
218
215
124
173
211
161
120
178
126
197
196
215
164
157
157
132
114
144
131
138
114
124
146
117
127
112
107
110
145
114
100
139
142
121
146
142
129
144
147
117
132
132
138
130
140
117
109
119
111
150
117
110
136
129
106
132
150
111
145
148
123
117
144
145
122
139
111
143
121
118
145
133
141
137
112
136
122
115
121
106
148
108
144
136
137
141
128
120
119
123
130
106
145
115
131
139
125
105
125
110
108
135
125
142
112
103
110
148
120
109
106
110
118
137
104
114
123
103
118
111
107
102
130
117
115
101
101
150
112
107
133
147
141
139
148
103
106
117
143
118
138
109
134
130
115
124
120
125
134
145
127
133
220
196
217
218
170
208
189
220
198
174
213
212
166
183
169
207
191
153
168
207
195
170
213
123
129
173
178
216
154
206
214
212
144
153
192
145
215
176
198
191
169
210
135
185
138
195
219
161
150
196
152
152
183
203
169
220
160
177
144
168
194
146
209
190
161
198
179
126
174
151
171
153
173
174
192
170
180
212
129
157
195
203
144
165
202
186
184
158
213
135
212
217
124
197
172
189
169
127
155
156
159
208
128
202
129
188
209
143
166
140
203
220
144
144
182
169
205
166
176
171
161
210
191
123
121
139
131
149
154
157
133
146
162
120
195
139
201
209
198
145
204
161
204
207
166
183
161
120
126
137
131
114
117
124
115
130
123
100
148
107
148
112
119
105
115
133
112
121
114
114
128
144
148
108
132
125
112
138
103
124
135
112
150
117
108
106
113
146
143
124
141
149
148
111
117
107
130
138
122
135
123
125
133
129
144
129
150
149
121
125
105
144
128
111
148
114
116
147
143
128
102
148
113
126
144
142
116
114
120
144
144
143
125
123
120
120
111
104
142
110
115
131
103
117
133
120
124
150
105
132
129
146
102
112
111
118
122
149
100
118
115
133
140
119
125
114
122
103
145
136
127
140
118
125
100
130
128
128
106
107
150
140
136
121
118
111
150
143
101
106
115
118
141
130
113
109
124
130
182
188
194
207
145
159
211
184
164
176
155
143
200
140
201
204
151
130
218
219
129
191
219
156
219
154
217
215
151
121
171
163
169
163
168
153
181
132
199
145
140
203
167
146
182
150
167
219
178
125
152
187
197
154
204
173
186
172
135
217
169
167
130
203
165
191
186
185
208
182
128
163
126
198
137
177
168
198
206
132
150
143
130
182
185
218
210
123
133
187
199
192
162
206
220
134
182
127
140
199
126
179
190
127
206
150
215
130
142
189
135
198
197
209
149
150
206
121
181
185
216
185
200
176
204
203
128
159
197
215
140
177
179
122
132
164
208
175
133
187
213
203
126
145
134
103
130
128
133
131
111
116
117
140
102
140
134
104
136
141
116
147
109
122
127
117
103
147
150
110
104
122
149
119
100
102
131
130
109
130
112
117
124
137
119
102
110
150
101
110
108
146
142
115
143
136
145
147
125
130
108
109
132
118
121
103
133
141
102
124
150
145
143
110
122
147
117
143
143
147
112
142
125
135
111
129
132
100
150
114
111
115
140
119
113
134
136
147
147
105
143
122
133
133
146
129
150
129
112
108
111
106
136
125
137
125
140
140
122
147
118
108
124
112
136
144
129
130
149
148
101
138
135
142
103
117
143
146
112
145
138
150
128
134
127
128
102
134
106
145
106
114
120
148
120
107
105
106
116
104
103
150
115
139
132
131
132
146
132
142
122
118
122
147
151
151
159
198
150
141
167
125
166
161
120
210
210
171
194
159
210
174
160
165
149
170
171
217
201
126
162
179
182
150
185
166
209
209
183
217
150
174
169
130
199
175
142
188
192
205
141
204
127
186
171
213
144
186
124
174
213
183
125
146
191
175
173
205
175
151
126
164
145
173
127
187
179
183
172
198
194
194
120
132
151
181
176
154
128
206
187
198
129
211
178
126
137
152
129
143
169
188
141
167
211
207
211
130
142
208
146
142
172
184
213
180
155
120
176
150
153
206
197
220
204
151
160
161
155
138
211
135
144
122
177
219
205
132
198
135
172
156
135
218
186
147
201
216
190
141
198
209
193
137
162
171
206
163
197
137
196
170
113
141
144
141
117
143
110
143
132
128
133
144
147
115
112
139
131
137
130
145
108
127
125
104
102
113
149
129
144
100
108
111
142
124
146
129
121
128
100
138
146
110
108
107
126
130
150
124
138
101
103
120
135
141
125
129
130
136
115
150
100
133
137
117
119
128
104
114
137
114
119
144
126
103
112
113
143
147
117
130
128
109
101
125
123
121
121
103
128
130
136
140
113
126
121
109
140
143
108
134
145
139
144
119
144
118
145
135
128
105
150
131
129
113
150
111
111
150
138
125
124
128
120
124
113
105
148
110
147
141
134
171
171
182
185
126
206
169
195
153
134
206
164
134
122
157
170
165
157
178
130
140
185
133
164
195
193
205
164
120
180
148
125
201
203
155
192
164
150
199
127
207
150
171
138
154
132
162
192
132
172
133
151
157
199
122
138
125
165
216
175
171
141
122
134
148
145
163
183
211
187
184
147
215
184
207
179
200
204
182
216
186
207
132
133
138
127
196
126
131
170
172
206
155
159
215
198
172
180
204
197
204
132
145
167
149
165
189
128
124
218
126
121
134
202
128
167
196
143
165
126
199
181
203
198
201
185
141
124
124
199
156
163
199
184
145
191
132
130
173
136
176
158
183
162
145
194
211
183
158
134
201
148
150
158
212
206
174
142
210
148
162
211
139
171
157
142
113
135
149
119
143
114
111
130
111
150
133
120
137
117
125
142
110
121
103
105
116
127
115
121
133
145
126
101
118
143
140
141
147
116
130
118
109
103
109
112
105
140
127
130
144
127
125
104
102
122
136
111
138
129
110
114
114
121
101
102
137
139
122
146
135
113
129
130
148
141
119
114
129
129
126
104
109
119
140
114
105
103
116
121
117
102
100
116
133
132
102
107
100
124
119
125
148
138
139
138
132
111
134
130
141
112
144
134
141
102
125
140
133
131
104
140
146
142
144
140
109
133
102
118
118
149
145
135
144
129
118
118
122
130
146
146
135
116
145
114
150
130
145
125
117
130
141
112
102
177
177
150
181
211
220
194
217
156
213
136
128
127
127
216
189
170
122
206
182
120
172
144
179
155
168
194
192
173
141
173
183
136
171
133
200
167
135
173
136
147
131
203
213
218
146
146
164
214
209
203
169
154
167
125
214
176
194
184
130
156
194
189
158
122
126
154
188
160
143
128
156
185
138
186
204
187
178
121
137
187
220
137
187
122
162
220
121
186
213
189
201
132
163
126
160
207
150
150
142
164
149
123
169
179
162
162
146
199
122
206
198
198
180
187
124
200
217
183
169
172
137
143
144
170
164
131
206
146
190
173
203
198
139
210
190
168
136
175
154
171
132
196
166
202
211
208
128
131
153
210
209
150
205
208
139
132
187
161
147
201
169
112
112
131
146
132
149
127
144
122
128
115
127
148
117
110
118
102
111
120
114
121
135
126
123
141
143
138
130
107
147
121
105
109
112
107
142
150
123
136
137
144
124
150
123
106
149
139
146
108
123
113
106
127
107
108
119
105
102
108
108
144
122
113
108
137
129
131
107
146
112
132
121
121
121
139
106
116
132
111
144
114
135
131
109
131
120
106
144
109
106
140
100
141
146
149
129
150
114
127
144
132
106
143
144
128
108
134
124
110
149
130
122
135
147
106
137
138
130
150
130
125
101
146
139
110
101
116
140
110
129
132
110
101
111
127
104
132
110
135
143
114
143
120
126
120
124
144
113
101
145
146
109
135
121
137
116
137
103
125
208
192
177
144
198
182
210
170
195
154
128
170
123
159
150
215
204
161
161
213
141
186
163
211
132
150
188
138
220
138
128
205
192
213
155
202
180
134
187
177
205
171
120
178
211
144
159
208
141
161
212
157
145
161
138
145
155
194
199
186
202
122
141
171
206
146
195
208
140
154
143
194
155
125
175
215
156
201
209
148
199
211
216
136
148
214
192
209
162
161
140
210
123
146
126
126
132
177
151
129
176
161
153
180
174
136
165
211
208
170
172
128
134
218
143
200
213
138
124
161
197
215
185
138
127
186
202
178
184
174
201
214
143
128
191
122
209
189
216
210
130
180
155
170
213
143
169
139
159
182
181
214
172
143
169
191
211
199
184
180
202
187
166
204
188
165
219
204
138
201
136
147
128
133
127
113
127
129
133
128
131
140
105
150
150
145
100
103
109
107
116
103
145
124
129
109
122
149
124
119
134
126
122
124
146
115
102
147
105
115
142
117
142
114
125
134
117
126
109
143
147
144
140
105
143
126
112
107
133
134
148
100
114
131
134
123
148
131
109
131
150
124
131
106
149
102
100
127
120
122
148
132
132
130
149
104
103
143
105
115
105
145
116
150
136
150
103
135
147
108
120
101
106
110
101
120
114
121
144
125
129
147
134
105
140
145
132
129
102
114
131
119
143
147
136
118
115
135
163
172
189
128
160
157
151
219
120
187
174
185
165
198
210
203
192
176
188
161
136
130
165
219
199
210
197
170
213
220
137
215
178
130
216
172
189
207
148
172
128
201
180
167
128
198
177
171
157
211
150
172
201
136
155
170
154
156
168
135
214
127
219
182
124
125
209
143
186
195
198
187
198
156
200
176
191
218
131
202
201
120
188
126
168
204
155
198
207
184
169
138
125
121
182
199
184
158
155
217
134
148
138
187
122
152
206
144
219
151
132
208
194
146
167
194
184
192
175
167
120
149
198
170
137
122
149
196
199
183
152
219
193
154
213
206
188
104
107
122
112
114
130
117
145
127
120
141
137
147
100
140
146
133
121
124
138
115
128
135
123
110
107
109
148
143
106
138
105
104
147
125
129
117
148
114
127
125
136
109
116
121
102
123
129
135
138
120
106
144
146
111
147
144
105
126
126
118
112
111
123
130
111
148
115
100
106
133
126
134
127
145
106
145
117
120
101
115
145
148
121
128
130
129
133
119
110
127
133
142
140
126
141
134
133
104
111
125
113
104
114
102
107
144
116
127
147
133
122
105
131
103
139
138
150
146
143
122
103
117
135
127
105
137
120
108
148
102
137
127
133
123
142
144
104
122
128
138
114
135
102
104
141
118
111
100
134
132
136
161
208
195
213
127
150
136
176
171
164
160
194
128
127
150
163
133
141
193
153
143
160
136
167
176
171
153
205
137
175
123
189
168
209
173
148
136
139
164
197
141
211
174
203
125
181
220
194
146
185
124
201
168
124
142
147
162
185
152
169
191
209
216
205
161
123
194
208
187
192
139
218
154
197
186
191
210
154
186
188
173
159
214
199
206
214
175
190
161
160
214
206
202
206
180
137
125
169
197
141
151
167
138
213
122
166
217
147
202
147
178
180
175
178
136
178
133
204
196
180
176
166
199
180
204
159
187
126
148
134
143
134
177
124
216
134
208
211
167
197
151
133
136
170
164
128
216
129
150
110
125
110
119
129
113
133
111
121
116
132
149
125
147
138
100
148
121
148
149
111
113
146
140
150
102
118
122
146
131
110
126
129
144
109
138
132
141
122
147
112
115
136
144
108
114
101
140
140
112
114
144
108
136
105
102
139
130
105
100
120
110
111
107
130
115
126
145
109
119
148
103
121
134
110
126
113
115
104
124
148
146
121
107
144
135
118
101
108
150
107
134
118
144
116
129
101
100
121
134
117
139
124
150
147
142
140
126
145
108
125
106
120
139
122
122
130
111
107
150
113
134
130
114
118
141
105
113
137
103
120
148
133
112
148
144
120
114
135
119
140
131
100
104
110
116
130
104
167
135
172
215
162
124
180
154
203
153
123
123
182
155
158
141
160
131
188
159
170
190
220
122
172
211
150
179
152
150
120
208
139
195
136
137
154
172
178
206
202
132
203
191
144
186
155
154
199
179
154
215
215
142
149
192
129
183
219
139
212
132
160
133
142
161
121
147
215
183
178
135
125
161
166
189
128
219
159
143
128
150
134
207
146
154
148
182
177
212
124
187
210
135
203
139
198
215
160
153
141
130
209
130
218
177
149
123
205
200
219
125
181
178
133
163
131
178
210
145
210
185
121
137
121
161
136
170
142
106
137
110
104
126
141
104
107
104
101
119
121
128
128
148
149
132
101
100
137
119
117
104
130
122
114
141
117
100
136
101
130
126
138
142
149
149
114
121
105
122
110
100
148
106
135
127
145
108
146
131
119
119
139
150
100
100
133
111
142
146
127
106
116
105
132
109
112
106
123
121
147
148
107
134
143
104
139
134
121
134
144
122
146
102
118
140
104
133
137
125
144
131
149
112
144
129
103
136
134
119
140
108
114
123
138
116
118
142
104
117
105
112
122
137
120
126
109
123
141
132
124
117
129
132
141
131
143
150
107
130
125
122
127
159
195
139
185
180
162
171
198
209
124
174
184
139
144
140
184
172
192
140
126
133
186
183
123
168
144
151
133
157
181
198
128
167
204
130
215
218
166
173
132
145
187
196
130
193
170
171
152
219
200
218
180
162
170
160
129
218
128
130
182
170
123
208
190
183
192
125
181
183
212
197
147
189
198
178
147
181
173
210
137
142
195
218
128
133
150
128
208
186
196
212
123
196
156
123
122
220
200
146
123
213
174
205
213
152
185
207
171
157
157
170
215
131
211
211
206
138
158
133
185
206
131
153
209
179
154
213
150
160
203
130
162
169
151
207
203
197
184
176
201
149
173
130
193
138
143
183
177
198
135
188
170
152
144
139
150
163
172
215
125
131
134
113
123
106
118
123
122
147
110
122
145
121
150
126
137
115
150
149
102
148
121
121
113
137
112
142
147
123
101
136
118
103
144
115
110
131
132
141
145
143
106
134
104
111
136
105
116
131
110
117
125
110
101
100
145
150
141
128
136
132
139
101
134
111
103
101
147
115
101
112
123
100
136
131
128
146
115
100
148
144
110
114
123
109
119
141
101
143
112
137
101
138
102
147
131
132
111
133
104
123
137
118
100
148
143
148
123
150
103
124
133
150
105
110
145
139
109
147
106
121
131
150
144
145
114
123
116
136
113
135
107
146
127
111
100
117
129
150
114
110
119
126
121
134
109
131
126
130
125
146
149
140
177
172
149
165
159
164
147
146
173
156
125
179
144
207
124
154
192
175
146
154
133
146
159
146
201
196
219
197
162
160
195
215
133
120
156
193
198
172
133
120
135
169
122
185
123
122
215
205
220
204
192
120
139
188
174
199
150
176
139
203
189
183
165
210
120
188
171
176
183
186
163
191
121
183
171
216
197
206
130
185
185
151
182
184
166
204
145
191
146
159
197
209
192
190
124
131
141
181
132
132
163
151
153
144
126
161
179
151
151
130
207
121
189
174
185
191
204
181
199
143
202
208
165
220
157
145
131
156
194
134
186
133
120
126
156
132
205
181
130
129
175
127
155
120
169
127
112
106
135
128
140
106
146
112
124
112
130
122
113
138
103
100
103
108
142
114
138
129
103
124
114
128
124
120
111
100
149
120
150
117
126
119
108
108
118
117
124
133
109
104
131
143
120
123
123
113
136
144
126
149
111
105
138
142
100
134
118
118
141
144
124
148
142
114
122
133
102
100
116
150
107
137
129
123
109
130
113
128
123
117
121
150
102
117
133
138
148
123
146
105
149
138
118
113
108
136
101
124
116
120
144
131
149
111
137
150
116
128
101
136
144
144
129
110
145
144
134
112
134
127
142
108
106
115
120
109
139
120
118
126
146
137
109
109
138
109
139
124
142
102
127
115
122
158
216
214
143
130
207
146
211
171
129
145
182
154
143
210
163
149
153
202
218
124
181
193
195
170
203
125
203
149
219
137
205
151
174
131
150
198
138
156
217
172
197
165
143
157
212
121
135
162
168
205
135
149
152
176
140
178
182
120
194
131
125
155
204
176
182
141
138
198
204
191
213
214
129
143
205
154
130
180
179
197
159
125
134
205
123
124
122
208
162
145
200
186
192
198
186
153
175
201
190
219
163
186
161
194
132
154
129
154
219
208
165
170
173
152
163
169
160
157
187
159
198
142
217
162
207
158
212
127
160
194
143
188
132
200
145
193
131
149
132
172
144
146
174
152
169
214
149
144
168
193
194
176
184
189
169
166
184
211
217
158
186
187
131
190
142
130
182
168
172
128
106
150
124
140
136
137
116
144
113
115
149
135
106
108
113
111
144
132
118
137
106
107
134
137
120
142
145
126
132
140
129
104
133
108
129
141
127
137
120
150
132
128
135
138
144
139
110
125
150
126
113
139
125
124
125
127
111
139
119
146
106
120
101
142
132
130
107
134
118
120
118
134
143
148
118
122
147
143
121
130
143
117
146
116
132
100
126
116
108
128
128
114
102
123
126
123
116
100
143
141
133
107
126
124
119
124
100
137
137
137
115
135
106
142
117
129
149
113
135
113
121
143
130
103
139
109
144
146
125
208
185
220
149
210
212
122
157
165
193
147
149
143
151
131
215
185
154
201
196
141
162
209
203
196
179
219
186
196
180
183
129
215
128
131
204
209
169
149
184
163
125
189
166
132
186
217
163
146
134
179
145
217
195
194
140
144
161
195
186
206
188
182
152
212
162
148
220
202
190
183
164
139
122
142
162
143
196
145
175
168
130
127
168
184
178
177
209
193
204
217
158
124
159
178
208
174
155
161
214
199
220
146
122
179
150
133
148
178
213
220
170
201
217
123
219
173
135
176
136
208
152
154
134
167
175
138
123
105
148
117
150
148
102
135
119
115
139
117
128
100
100
148
149
115
105
147
111
135
140
109
140
130
126
115
115
144
117
126
145
103
118
103
126
140
123
115
134
149
150
138
103
111
134
104
118
120
135
144
109
121
141
134
145
148
114
137
136
121
144
126
101
103
140
130
105
147
112
141
147
138
121
147
138
141
122
106
134
131
118
114
129
149
106
149
143
132
105
115
133
114
109
105
150
103
141
130
102
127
103
131
116
146
143
143
100
146
103
125
113
147
123
108
141
114
118
150
100
136
146
139
149
108
132
120
110
109
128
111
147
120
134
121
117
117
144
131
149
134
115
143
105
141
146
109
110
135
148
139
112
134
130
112
131
123
124
140
111
125
129
142
117
108
113
101
135
129
122
160
164
148
124
219
196
170
149
183
139
211
195
149
214
168
214
185
151
146
160
183
126
214
184
171
214
216
218
185
170
133
126
196
184
184
127
155
202
149
218
193
194
172
164
147
147
145
165
128
196
169
149
166
170
209
155
142
179
198
165
141
220
131
122
156
147
197
172
171
160
140
187
134
212
142
130
183
199
169
220
131
169
188
122
172
179
203
171
131
196
159
164
156
181
136
157
182
189
201
202
157
183
156
143
152
129
202
169
196
189
134
203
187
195
207
178
143
128
123
206
129
182
201
163
219
216
153
136
159
146
211
166
183
164
153
202
149
185
204
138
150
139
184
128
131
141
144
177
124
217
213
147
200
125
102
145
115
132
133
127
136
143
138
124
109
123
126
122
107
133
128
142
145
135
120
106
130
127
135
105
100
116
127
110
119
120
139
116
130
136
110
107
107
113
103
100
135
101
112
119
101
113
134
111
129
130
140
144
115
115
143
142
109
133
124
102
101
137
100
131
136
132
141
139
105
130
122
140
149
114
132
146
106
102
109
106
137
138
100
122
126
142
135
119
111
140
141
108
138
148
145
142
136
106
107
149
132
122
149
109
121
125
122
123
135
120
118
105
103
150
122
116
111
121
125
144
150
147
148
126
105
123
102
110
148
105
131
117
140
134
112
135
133
120
102
133
123
117
127
116
103
128
108
115
143
103
145
128
125
141
143
119
147
143
128
100
129
106
115
125
131
208
124
174
189
161
152
200
202
156
137
146
210
154
185
199
165
194
196
149
165
181
213
149
166
214
163
166
183
208
131
154
170
156
138
163
123
163
202
205
163
183
173
167
125
123
172
138
153
214
127
214
188
188
167
140
120
148
167
202
173
200
126
139
163
161
213
129
136
175
144
151
191
220
174
163
180
169
198
204
147
141
131
155
154
120
148
181
149
214
209
190
176
169
123
193
171
196
197
163
206
189
147
173
210
173
192
164
186
184
125
194
191
144
156
158
169
207
133
209
167
132
149
158
158
163
161
146
191
102
120
116
101
131
110
137
107
147
111
131
128
121
133
102
137
102
112
108
140
144
103
142
147
110
120
150
107
123
102
119
144
110
129
115
148
113
102
103
130
118
115
125
107
143
103
143
106
114
114
108
124
132
105
112
120
120
119
109
134
102
142
125
140
110
137
100
102
135
144
148
133
123
125
133
149
149
148
132
134
145
100
110
106
140
116
149
118
146
130
145
136
128
109
148
131
135
128
103
110
103
111
134
126
145
115
131
133
121
122
111
121
117
113
114
114
110
132
106
110
126
118
122
124
122
119
100
117
125
120
131
115
124
121
108
130
172
153
127
157
209
214
165
176
163
150
163
148
217
137
196
190
142
168
208
192
122
139
181
170
164
123
164
218
192
147
141
153
203
132
184
214
151
181
164
138
172
199
176
158
164
209
170
209
178
187
218
179
200
170
141
210
161
212
201
188
220
186
195
173
198
143
132
163
186
202
173
132
130
218
157
148
166
217
174
122
174
149
125
195
190
122
179
207
154
168
164
220
151
159
212
139
219
191
137
147
136
179
154
128
172
181
138
131
175
196
135
213
169
129
195
201
125
184
202
144
122
215
178
194
220
127
124
148
136
142
148
116
125
134
143
106
109
106
111
126
122
113
140
106
104
147
113
122
120
124
113
100
106
106
114
145
126
120
111
124
103
133
133
129
102
144
138
103
133
122
128
133
120
135
142
104
135
117
127
110
101
118
102
109
128
117
108
138
133
124
106
130
101
120
137
115
115
120
140
104
142
104
134
105
122
131
147
116
147
140
150
150
145
118
110
102
136
150
146
103
114
135
143
132
134
147
108
112
130
131
134
106
145
110
124
113
137
141
129
101
135
139
149
130
103
113
126
108
107
117
115
132
126
111
141
129
123
149
116
118
135
147
127
113
115
124
142
118
109
114
122
119
135
143
146
135
119
136
110
127
147
144
119
139
164
203
133
134
120
179
210
124
140
130
147
139
200
130
198
192
133
120
200
205
193
137
183
155
190
191
204
220
139
162
168
169
196
215
137
163
217
213
122
149
211
210
121
173
182
140
207
132
215
187
127
192
141
198
142
180
181
158
134
131
191
174
130
127
141
172
187
193
136
140
141
122
216
164
206
159
152
148
175
219
195
160
212
159
185
172
211
181
193
215
219
202
172
188
213
220
146
145
209
135
216
161
166
195
142
151
159
199
129
133
168
191
163
159
156
148
197
173
196
158
181
190
210
192
154
207
168
148
195
204
156
198
154
145
186
190
194
187
194
171
145
201
195
129
160
148
145
179
182
217
202
168
216
175
139
155
144
149
102
142
101
123
105
129
145
108
119
138
149
144
111
107
130
148
130
139
145
101
125
117
138
146
106
108
112
126
126
105
126
132
135
142
140
107
100
115
108
100
104
140
150
100
136
112
104
131
114
122
111
119
121
112
146
108
117
145
122
100
138
131
113
100
137
106
101
119
138
148
102
136
150
100
119
140
110
137
148
110
122
126
140
120
144
149
120
142
122
145
142
100
139
138
133
149
118
138
121
147
110
108
148
118
109
124
141
121
141
111
128
127
111
123
103
107
150
129
125
145
122
108
120
141
110
122
119
131
133
119
108
148
101
113
149
132
141
113
149
117
145
106
105
131
112
119
150
134
142
130
117
140
150
116
138
147
104
104
143
136
112
130
127
144
122
178
163
128
164
163
219
156
148
131
219
213
165
170
205
182
128
220
206
122
124
183
189
174
184
154
162
168
135
205
184
124
202
125
154
120
135
174
183
190
182
214
218
194
157
129
177
207
202
206
187
176
219
121
206
127
184
144
137
120
132
219
151
180
219
217
156
163
125
154
161
132
146
187
145
194
205
188
158
196
130
220
195
154
192
144
204
165
159
165
216
145
209
131
210
134
126
153
171
151
209
191
207
193
122
212
154
200
196
122
124
122
198
134
182
162
147
160
139
200
143
124
213
198
207
161
200
187
135
163
155
130
100
133
106
139
141
133
127
142
107
105
143
115
107
100
142
135
135
138
131
102
117
118
127
110
118
145
132
135
120
108
115
114
146
145
118
117
135
126
126
118
109
108
102
133
103
109
119
143
114
100
140
137
107
116
132
141
133
141
146
144
115
136
110
149
129
147
118
144
132
148
132
144
132
108
127
128
121
131
115
139
132
139
114
110
129
136
108
125
147
106
112
133
143
102
124
139
124
124
103
102
120
128
122
148
146
129
144
138
115
109
133
101
143
128
124
112
127
122
138
145
138
133
127
138
103
144
117
145
110
112
141
118
136
128
129
124
145
145
143
124
104
150
105
118
105
131
104
141
143
104
140
132
140
119
148
117
117
128
124
122
143
141
144
141
134
149
140
100
175
186
139
212
205
162
164
136
170
175
152
195
220
214
163
169
145
122
180
178
126
173
140
196
154
141
195
155
134
162
157
159
123
125
124
201
168
217
195
180
157
151
124
125
219
207
188
131
181
216
146
187
166
169
132
189
166
197
167
187
203
186
137
175
130
133
164
195
150
165
140
170
153
128
214
203
203
162
141
149
130
130
134
173
209
184
220
158
209
213
204
127
179
216
189
219
140
214
178
127
135
198
199
192
127
194
128
150
133
132
148
134
150
143
214
199
148
169
164
164
197
175
145
121
168
145
147
147
151
209
130
181
139
170
159
167
209
213
123
139
208
140
163
190
152
163
192
178
178
181
189
137
169
197
164
147
200
208
147
138
197
130
129
146
113
140
150
149
116
142
103
106
100
127
111
119
116
133
108
116
143
111
129
127
132
135
148
142
127
123
135
107
132
114
100
108
104
146
114
113
104
124
137
101
144
114
139
145
125
146
135
105
104
116
121
131
105
143
139
100
146
115
126
129
111
135
108
136
108
111
126
108
124
135
113
125
109
132
110
144
138
118
126
135
127
118
124
109
106
144
147
137
110
150
115
141
135
143
117
149
137
145
110
109
107
117
115
139
147
126
109
129
101
144
145
109
123
131
112
140
134
132
118
122
133
137
124
120
131
103
136
126
141
162
154
190
218
138
124
212
140
130
128
126
203
195
177
206
204
191
185
215
163
208
132
178
137
162
191
177
192
194
172
164
161
153
183
149
195
217
164
211
204
210
143
179
192
177
158
208
129
124
139
164
148
217
174
196
146
191
192
120
159
128
121
137
195
189
149
204
175
188
171
157
211
166
172
139
189
162
126
153
217
175
206
182
216
158
172
185
144
217
201
216
171
194
199
211
184
171
136
162
183
206
213
134
140
172
217
141
197
217
153
178
220
186
137
147
159
148
182
195
183
178
155
130
197
128
185
143
182
160
124
172
165
183
134
215
204
199
218
183
215
154
218
149
128
147
145
127
150
117
147
136
111
126
144
139
109
112
126
110
122
124
118
144
144
131
123
137
115
111
118
117
114
145
140
111
100
100
140
149
119
104
101
118
116
143
149
147
100
149
126
139
150
121
130
103
146
117
149
140
133
131
138
116
132
104
116
118
117
143
140
144
122
110
100
124
106
107
140
114
102
138
131
132
110
110
115
100
132
126
149
117
129
139
124
123
131
120
132
126
143
107
127
128
142
116
134
108
119
127
146
132
128
123
107
147
129
137
145
142
110
125
102
118
111
103
134
133
102
131
146
117
131
133
105
104
121
142
103
109
149
145
150
132
109
110
126
139
145
112
132
105
143
131
106
114
124
108
128
110
118
117
104
101
144
139
154
144
205
162
182
186
206
206
209
191
151
131
169
152
184
146
170
145
124
214
177
172
195
138
132
158
161
137
202
131
162
132
176
207
184
210
173
180
160
125
172
151
172
152
177
124
163
192
174
218
188
216
181
133
181
173
203
183
175
197
208
206
163
203
154
190
193
166
144
130
146
134
208
136
127
140
177
148
177
151
165
218
200
218
159
214
194
126
205
129
139
192
216
167
181
184
211
192
177
130
143
175
137
140
162
127
206
213
153
141
166
218
187
164
146
144
177
150
172
142
160
189
182
144
190
211
208
145
196
200
200
176
165
201
189
197
185
211
200
136
169
169
193
166
126
115
136
144
105
143
108
110
123
107
105
144
145
147
150
110
114
109
142
108
146
129
104
125
142
140
136
119
134
129
127
126
145
148
120
131
146
107
137
108
103
130
115
138
120
115
117
113
104
147
150
126
120
124
143
131
149
149
148
102
133
128
147
104
118
143
132
138
115
126
143
108
117
100
115
135
134
114
149
147
140
125
135
145
147
136
114
104
112
113
145
105
144
132
114
129
125
147
136
132
123
135
129
115
131
139
119
120
107
123
107
143
134
121
120
105
103
108
149
129
128
104
134
143
148
130
114
150
114
136
107
137
142
126
138
133
141
127
110
128
124
122
134
123
133
119
121
125
147
205
205
184
166
170
199
212
219
156
215
161
189
126
164
206
145
191
147
135
201
219
126
181
208
213
184
188
212
143
167
129
193
126
185
204
169
179
150
148
141
158
186
127
141
121
167
143
149
151
138
183
140
129
185
173
156
150
192
121
191
185
207
159
200
131
188
180
179
200
150
149
208
148
153
186
124
172
209
182
193
154
158
209
207
148
143
187
173
184
213
184
148
196
208
212
216
149
169
173
218
188
162
142
158
207
130
134
198
204
208
189
213
154
128
154
159
174
137
207
193
210
125
188
146
148
127
183
218
178
154
126
154
134
199
205
140
215
127
133
197
199
168
122
206
164
198
213
195
171
173
129
163
134
158
133
128
134
172
163
215
152
192
142
163
134
211
126
141
133
136
148
137
142
140
135
115
112
119
101
143
125
116
117
112
104
110
124
138
124
121
100
138
101
130
108
112
107
123
101
149
104
111
102
100
140
145
118
127
111
117
138
103
112
110
112
140
136
138
145
113
118
106
146
142
101
119
117
120
107
113
102
133
101
116
107
129
129
126
121
110
112
135
102
124
123
106
147
125
102
130
116
112
143
149
147
144
148
139
105
101
116
104
122
128
109
121
105
128
133
117
122
106
150
108
141
109
109
112
114
108
100
115
111
132
134
145
143
124
136
150
141
127
105
144
143
110
138
144
145
129
128
101
103
113
104
137
123
116
147
119
118
146
103
102
115
113
113
135
148
114
140
113
138
114
137
118
147
120
150
119
119
136
138
140
132
121
112
134
120
150
123
163
138
185
174
120
135
129
150
181
179
191
147
179
157
166
120
191
143
192
150
183
152
124
147
145
198
196
176
122
135
142
217
220
182
148
187
220
120
182
160
136
145
167
123
161
124
192
146
121
190
193
198
219
201
171
211
201
195
123
182
138
168
138
145
182
204
164
173
200
172
184
207
179
183
209
161
128
159
172
162
137
163
128
148
214
169
140
121
164
125
165
143
165
187
209
211
145
208
136
183
154
192
139
202
191
155
128
163
191
190
210
177
192
168
163
140
216
138
209
130
131
161
218
166
140
215
186
185
199
152
132
201
167
202
150
168
196
207
219
180
142
186
210
151
178
177
179
182
196
134
177
220
191
158
213
126
141
169
152
133
152
153
177
131
103
123
147
124
139
116
115
105
146
148
103
128
149
125
115
121
136
102
112
119
129
121
105
144
110
135
149
142
102
113
120
113
138
118
148
140
119
145
143
129
104
145
115
106
104
122
100
114
116
107
125
127
105
133
130
125
104
140
111
117
148
126
123
132
116
127
115
123
142
121
129
117
109
112
113
106
107
108
131
133
108
147
118
143
125
144
126
124
148
100
148
150
111
110
124
128
125
111
109
103
120
101
104
103
120
148
106
126
126
139
115
130
134
148
140
136
126
147
142
109
143
106
127
101
114
113
134
121
130
101
107
112
106
148
112
114
147
139
137
145
128
128
103
110
142
109
123
131
139
124
146
109
133
104
129
122
121
115
144
147
135
139
103
111
125
116
110
121
121
210
139
177
166
190
167
157
129
126
161
178
199
173
167
131
148
160
136
155
212
160
154
173
203
144
220
174
203
175
172
207
150
162
146
146
191
204
210
165
211
145
169
220
125
153
186
200
159
201
144
188
198
161
210
137
160
178
170
142
138
204
213
178
162
211
146
137
178
220
199
152
159
157
207
174
166
139
161
176
200
142
138
135
194
164
173
208
206
186
158
184
191
207
203
122
176
133
211
180
208
156
121
158
213
216
120
168
157
214
179
136
143
176
123
155
174
167
175
208
185
166
125
182
188
208
196
144
141
133
151
144
128
111
116
150
111
121
150
140
128
114
140
120
143
100
118
105
101
138
127
101
133
117
141
108
131
139
126
132
138
114
141
120
116
145
131
121
103
102
108
108
140
133
121
111
111
117
101
138
144
142
104
137
120
104
100
132
135
113
145
102
119
104
104
124
103
120
117
113
101
141
110
108
123
132
120
122
104
134
134
133
116
113
142
124
111
143
117
108
108
138
128
115
106
110
132
102
117
126
128
108
141
139
102
117
102
113
118
122
122
114
140
102
126
143
140
144
103
104
120
141
101
150
132
116
129
134
118
101
106
118
142
135
149
135
135
107
124
102
119
127
136
146
125
120
138
138
105
105
103
110
115
143
139
150
125
100
211
195
217
186
139
171
162
170
164
149
134
125
146
147
216
143
194
197
138
167
163
155
152
186
198
136
173
211
183
151
155
121
186
168
152
200
163
195
203
121
152
194
167
196
155
137
157
160
125
141
218
159
188
181
177
218
161
172
121
172
162
206
131
148
135
129
185
205
170
160
129
186
163
152
121
198
152
196
152
165
212
169
185
201
120
167
166
198
216
162
146
128
186
210
169
210
204
132
219
186
138
177
215
140
140
193
154
156
131
153
171
132
193
149
183
162
127
166
211
181
196
177
172
210
128
176
131
175
144
150
154
202
159
161
210
198
153
203
212
161
167
194
130
127
101
141
113
129
139
132
102
131
105
127
133
114
135
146
103
124
123
126
128
136
144
101
128
140
129
126
143
136
125
138
142
115
132
108
144
138
101
137
140
122
149
126
142
115
141
103
126
142
111
129
108
130
134
149
125
144
102
133
137
109
139
146
136
140
127
125
123
136
129
141
141
147
128
143
102
112
148
117
113
147
121
145
109
123
120
121
148
137
138
102
101
114
149
113
135
136
148
104
133
102
117
137
108
150
140
103
126
130
143
130
132
129
107
126
118
137
117
105
149
120
103
132
125
121
126
140
196
185
130
181
129
219
182
163
125
218
151
206
159
184
145
203
130
173
144
183
183
159
135
192
180
150
197
194
146
213
133
140
166
176
130
219
149
138
177
173
210
149
213
171
169
164
135
197
198
194
179
194
218
217
154
191
125
211
162
128
131
147
166
146
132
164
219
138
121
156
180
203
218
198
169
154
200
210
133
176
131
126
150
198
157
138
207
162
175
216
140
191
146
199
122
194
197
146
128
130
209
157
184
220
134
194
180
211
187
126
219
123
162
140
146
193
164
128
217
213
194
192
120
133
120
146
162
143
189
123
136
128
175
213
169
186
196
198
217
146
128
144
122
151
188
141
141
179
213
217
203
130
181
193
181
188
161
180
155
130
169
120
144
149
124
104
110
124
146
126
110
118
126
105
108
118
123
116
121
117
148
128
145
133
106
148
116
137
146
141
121
122
125
112
117
138
149
111
131
142
126
149
139
131
116
106
130
131
149
115
134
144
145
135
128
105
121
103
129
149
148
136
125
134
134
150
137
126
118
136
101
148
115
136
141
148
121
112
144
149
101
118
117
145
146
130
133
145
123
104
113
109
139
114
134
132
115
150
102
147
124
114
137
107
110
117
128
121
111
111
110
127
136
146
124
124
133
108
106
144
146
120
113
138
117
134
110
134
144
121
101
112
100
121
127
102
119
145
132
122
105
111
127
105
138
121
104
113
134
144
118
145
128
138
124
117
149
140
105
117
133
137
124
139
128
118
111
121
150
142
119
138
130
184
219
184
133
130
202
196
156
165
125
212
194
192
197
171
151
162
161
151
141
162
126
182
144
120
162
197
191
195
141
134
200
189
215
140
200
205
132
133
130
187
202
156
157
197
160
124
206
180
134
170
152
139
159
129
185
120
217
146
123
211
198
126
181
152
215
157
177
186
183
166
207
146
159
139
203
168
194
127
166
139
201
130
157
133
133
166
162
211
194
142
181
153
136
120
173
162
181
183
165
177
208
134
144
208
153
148
208
205
159
195
130
167
179
164
183
178
211
127
160
142
163
159
184
173
211
203
185
196
164
188
127
197
179
213
215
175
161
215
142
164
206
188
127
113
134
133
120
110
139
112
120
107
144
122
100
141
121
111
140
124
104
141
147
135
121
126
115
144
143
139
125
135
127
137
110
144
121
120
130
143
122
118
108
100
115
131
129
114
148
144
140
128
129
107
123
126
131
111
117
146
131
143
108
143
106
111
112
147
145
102
121
135
117
124
139
147
133
150
100
104
139
130
124
122
114
105
106
101
141
122
139
117
119
136
142
143
115
142
141
109
104
139
144
146
112
118
122
110
128
121
136
129
143
114
107
127
120
148
138
123
147
105
133
147
141
110
116
110
125
115
100
104
175
205
159
201
138
140
127
175
194
157
152
168
168
135
132
150
134
175
196
218
142
132
197
188
204
139
167
137
192
132
172
142
159
137
143
140
165
187
129
134
162
128
150
121
184
138
148
153
196
190
150
170
195
218
188
192
167
148
193
152
184
219
218
178
218
177
212
182
122
157
143
196
153
126
143
210
183
167
167
192
205
191
173
185
130
184
206
142
174
157
144
156
167
178
180
167
180
201
172
125
130
197
193
134
171
127
187
122
162
158
200
213
211
188
199
188
121
182
205
127
157
162
120
165
217
219
132
178
210
192
210
178
160
187
161
134
156
166
122
166
172
145
152
126
126
205
214
165
141
209
182
136
181
124
164
149
131
210
151
166
122
128
125
158
164
139
149
182
170
178
176
170
138
168
123
121
148
112
114
105
134
130
102
116
130
144
145
100
106
114
117
123
139
101
101
128
111
132
139
103
123
123
112
111
120
119
105
128
113
150
138
147
113
130
107
124
102
135
137
138
102
125
121
121
134
121
143
142
115
146
128
142
144
131
130
132
128
136
108
140
133
138
106
102
120
122
149
134
137
109
139
143
117
120
114
100
147
139
144
100
123
129
105
143
133
126
108
101
140
139
112
127
144
142
122
123
139
139
138
143
121
146
104
117
109
150
123
148
143
127
148
130
149
107
142
111
118
129
119
132
110
116
126
142
115
101
125
130
132
130
136
149
109
112
121
116
112
118
102
103
129
148
145
127
108
120
144
127
142
139
117
135
124
108
146
135
115
126
148
102
142
103
130
113
125
124
195
188
186
210
124
167
138
195
170
140
180
218
214
213
173
142
131
145
217
218
149
197
179
169
195
121
217
153
190
204
124
203
170
137
220
155
204
147
185
164
157
173
211
174
124
163
151
122
215
136
191
198
132
200
193
131
191
197
199
214
177
171
168
123
201
186
167
185
183
133
205
154
149
120
188
164
123
164
187
149
142
121
202
205
201
218
135
213
165
177
210
184
137
182
151
139
167
164
203
202
159
162
136
125
211
144
193
196
164
141
162
191
125
198
154
122
178
207
159
151
202
182
217
186
153
170
219
101
126
106
120
142
109
125
102
132
135
102
102
107
136
140
147
128
119
136
108
148
105
117
100
106
146
115
120
130
124
101
121
112
126
107
112
128
116
120
105
130
149
143
141
104
150
128
116
103
100
117
107
150
109
150
116
123
121
145
102
123
107
125
144
112
147
111
123
125
109
106
133
110
102
105
109
130
105
148
117
136
130
113
142
104
113
129
135
115
143
139
132
112
135
138
119
123
131
128
149
142
127
131
133
146
149
117
123
150
125
134
122
116
137
100
116
120
111
133
124
108
120
142
150
107
147
138
116
105
131
119
137
108
112
107
146
120
125
110
135
121
162
150
125
206
208
148
200
170
145
188
168
195
195
137
131
213
165
184
153
169
188
146
203
120
190
205
178
178
214
189
153
208
205
197
134
136
129
202
129
148
205
208
138
214
190
146
200
169
120
220
137
143
192
128
216
127
186
174
178
179
134
134
218
135
132
183
220
132
213
215
178
199
189
211
188
146
214
168
211
121
151
178
220
171
133
142
136
171
120
204
155
141
174
204
197
140
166
164
189
157
167
187
204
134
213
121
125
209
218
130
179
134
145
212
194
140
211
214
149
181
209
164
179
131
160
191
200
128
175
211
206
145
189
133
192
205
193
165
215
200
155
149
132
159
170
214
188
177
189
131
207
132
183
137
163
214
217
149
154
149
150
166
161
185
112
102
124
101
100
116
129
108
130
133
131
112
118
123
107
116
118
122
142
120
138
141
124
100
133
140
111
131
136
116
105
150
129
107
150
136
137
118
123
106
116
112
144
104
142
117
150
145
142
105
132
126
102
125
137
101
109
146
105
130
117
129
128
149
119
127
150
131
105
133
129
107
122
100
102
144
143
137
128
142
114
120
114
116
128
144
100
137
134
104
149
134
126
147
126
146
135
111
110
126
137
107
122
137
147
102
123
132
144
139
133
128
123
117
115
104
129
110
136
147
146
141
112
116
144
119
131
108
135
125
111
109
129
122
139
114
101
143
136
129
114
121
138
150
220
140
152
124
191
192
151
213
139
161
153
134
176
216
135
144
131
196
189
174
200
220
140
157
140
172
120
159
132
150
161
128
211
120
134
174
130
215
154
147
215
182
175
160
161
152
219
190
170
148
131
216
128
207
198
156
176
141
151
165
122
166
179
186
124
176
163
173
133
198
168
191
163
158
188
173
143
122
158
218
203
215
139
216
161
169
188
155
150
140
185
191
157
159
199
122
174
161
174
187
125
178
194
217
126
215
121
220
143
138
161
186
148
192
151
173
180
173
150
168
198
200
182
141
185
170
191
133
166
164
180
151
124
124
178
152
188
177
187
147
168
215
220
219
190
174
202
202
140
193
143
155
144
146
201
191
210
141
158
196
167
180
195
219
206
204
217
122
112
137
109
117
118
126
120
131
147
124
100
102
139
128
107
121
100
117
109
101
148
149
106
147
138
149
129
112
133
131
103
120
117
119
109
113
143
100
148
136
128
107
129
140
118
100
116
128
113
114
128
115
116
100
109
147
121
131
145
135
115
114
148
141
146
137
148
141
133
139
110
104
122
132
101
136
148
124
144
140
114
116
137
147
145
130
146
141
139
143
113
126
142
102
107
112
136
109
133
112
123
129
117
119
106
143
148
107
148
146
126
110
122
124
121
112
106
128
149
101
122
149
116
137
115
141
118
107
105
120
127
104
112
110
150
111
147
142
112
120
119
150
150
142
152
161
207
160
130
133
184
164
135
160
176
182
152
173
198
199
207
146
205
139
214
173
148
155
212
148
147
188
161
194
188
139
160
135
173
187
148
173
165
177
124
148
131
162
180
185
210
204
192
215
214
140
188
125
191
149
148
159
217
187
198
204
142
164
155
131
186
183
158
182
182
210
189
198
212
213
169
159
196
216
131
210
172
218
177
129
167
181
200
134
217
129
157
200
219
208
210
215
134
141
176
211
216
164
181
164
199
126
168
185
148
204
177
164
204
127
185
155
157
155
176
147
196
136
206
157
139
123
181
217
132
162
201
120
131
181
135
220
144
182
137
196
122
134
176
214
216
167
205
186
199
154
205
138
186
205
200
142
166
179
155
181
218
170
167
167
216
215
188
130
152
191
106
127
113
110
105
109
145
135
144
112
103
141
123
140
131
123
102
127
105
105
138
100
104
113
130
147
145
140
137
100
119
129
120
101
114
142
148
111
143
139
133
123
122
106
132
121
143
132
134
118
100
129
130
141
105
139
122
114
105
108
137
122
106
125
110
100
127
148
118
133
112
102
123
124
123
127
139
120
149
121
124
141
136
149
136
134
119
109
141
128
123
122
139
127
130
125
116
102
120
133
124
112
149
112
118
116
143
111
121
141
149
138
106
123
148
119
140
116
119
104
141
126
145
148
113
138
144
119
112
125
123
126
150
108
118
141
138
113
120
211
159
166
185
191
180
127
178
122
167
152
141
146
153
199
133
140
167
146
173
145
170
185
206
170
185
184
160
143
208
181
178
133
210
212
206
155
157
155
162
120
132
132
132
210
122
194
178
132
189
209
183
121
143
123
179
159
172
161
203
122
164
174
121
217
175
204
191
163
155
153
132
209
176
176
139
196
177
135
154
134
207
121
148
204
164
172
175
197
190
158
184
203
153
163
206
165
220
197
189
131
135
171
191
150
196
133
155
138
148
143
195
155
213
174
186
188
160
191
146
120
144
196
187
186
189
184
157
151
217
158
135
138
137
140
113
144
119
105
114
106
124
100
147
101
143
133
110
144
139
117
143
123
112
131
121
109
106
149
110
142
111
113
112
102
142
148
119
117
139
142
131
148
113
145
125
108
116
100
147
107
125
132
130
119
111
111
124
129
105
141
115
122
129
137
109
109
137
105
112
148
132
141
108
141
118
128
114
110
121
104
126
128
142
121
122
142
144
127
141
116
139
131
107
107
131
123
117
133
142
101
139
143
143
104
107
118
144
123
143
136
142
105
149
101
119
131
141
121
110
115
113
136
144
104
147
110
115
121
149
146
149
104
120
119
111
104
110
134
147
137
114
112
129
143
121
142
148
105
125
124
124
148
127
128
119
101
103
130
101
114
129
120
143
102
124
107
143
104
129
126
103
130
146
148
149
136
181
176
133
158
202
162
210
145
169
171
120
180
169
206
143
142
152
153
179
216
206
198
155
130
180
143
204
179
128
207
219
147
176
122
193
194
151
157
160
160
143
158
201
160
146
124
159
205
215
181
184
174
197
168
163
145
186
137
168
157
162
161
159
149
187
131
133
218
196
135
127
190
218
191
183
152
153
186
202
146
135
136
166
153
209
207
198
203
164
160
124
198
179
164
155
126
126
163
205
218
120
194
176
183
187
219
197
169
215
170
219
163
164
166
136
218
171
126
218
143
146
183
138
188
184
217
195
207
154
180
138
200
180
206
131
192
144
123
163
124
132
184
212
183
142
202
121
141
100
123
101
129
132
109
114
110
145
134
148
147
102
107
138
120
145
150
122
113
144
102
105
126
116
133
109
105
114
125
107
111
129
111
140
118
106
102
109
145
123
102
136
119
125
127
135
147
101
117
142
116
114
150
138
116
138
121
144
130
134
125
142
149
146
125
101
131
149
123
131
142
107
130
145
106
123
100
103
102
132
110
119
115
144
110
120
125
103
150
108
107
100
115
126
126
147
125
121
107
120
108
148
129
144
138
142
130
118
131
118
139
103
135
126
119
133
143
102
148
123
114
127
125
141
110
134
106
143
130
118
121
110
146
140
144
116
133
116
115
106
104
118
139
142
117
106
118
133
107
103
144
111
129
127
129
144
121
141
124
102
126
138
127
107
134
135
125
126
179
144
138
183
171
202
129
156
212
133
202
175
130
128
142
189
211
197
196
149
182
129
214
213
139
156
196
200
219
123
191
198
151
135
219
123
178
120
131
156
125
199
188
148
178
145
173
169
191
219
185
156
125
210
132
153
203
179
176
216
175
177
184
182
163
180
151
206
186
212
154
202
217
170
194
167
140
122
189
168
184
163
155
148
156
126
123
139
186
164
144
150
220
155
168
211
209
220
138
157
220
212
125
202
138
170
154
153
170
188
164
171
123
207
196
160
201
125
180
133
169
209
184
191
122
210
120
133
146
213
216
168
177
146
177
205
141
116
118
100
144
124
150
126
128
113
136
108
108
122
101
144
143
100
150
130
117
108
141
103
107
116
118
104
131
111
130
115
147
130
127
107
105
142
143
109
133
141
119
103
138
107
106
135
147
138
134
127
102
128
132
129
104
122
111
111
141
130
118
137
131
136
114
126
100
123
130
122
115
132
124
123
131
120
105
100
133
130
124
102
113
143
130
141
102
148
144
125
111
120
124
124
107
112
113
107
143
110
109
107
129
132
150
138
144
123
141
106
114
107
149
147
135
149
113
150
109
141
100
103
126
147
113
101
147
101
149
122
109
119
104
117
144
136
142
108
139
140
110
134
103
115
148
137
112
136
132
134
106
124
123
134
117
126
127
139
104
156
181
136
142
174
193
122
148
149
185
138
181
200
153
165
144
149
210
136
137
171
163
207
127
158
184
126
126
210
192
166
179
203
153
190
217
207
123
165
125
141
140
192
205
134
123
187
138
191
152
214
144
158
192
200
216
138
214
144
191
156
153
161
178
214
163
165
176
190
189
184
152
176
158
218
182
135
178
169
145
208
188
151
192
194
214
158
189
135
135
165
140
214
158
157
141
209
214
201
129
120
204
145
185
203
209
176
138
152
142
151
179
153
176
192
126
169
211
178
121
188
138
214
123
131
126
166
145
220
220
128
189
199
171
129
160
196
188
132
138
136
174
203
191
126
133
121
178
124
142
195
122
184
126
140
148
101
116
122
130
108
118
114
117
103
149
102
119
150
101
127
130
150
108
117
111
146
121
112
111
144
102
121
101
113
114
136
135
118
144
146
144
107
100
139
147
105
133
125
108
100
125
127
114
144
108
141
105
126
114
100
127
133
102
101
143
147
127
127
145
116
119
142
134
128
100
123
137
111
125
131
132
118
136
140
127
132
139
149
101
144
144
133
126
147
121
123
106
126
148
134
103
143
126
128
135
108
141
134
148
132
130
145
142
121
148
128
147
136
109
120
148
101
126
145
134
104
136
103
143
108
118
101
141
139
115
131
102
105
138
212
123
160
175
199
218
134
158
145
167
213
192
161
191
201
133
194
203
215
204
121
120
203
196
202
219
190
212
220
139
171
203
203
181
170
174
205
172
215
193
160
131
188
143
151
153
127
196
166
155
214
180
131
129
144
170
155
167
146
132
122
204
158
200
146
197
162
182
151
210
203
204
144
201
139
150
171
121
122
171
142
196
210
128
138
140
159
144
165
149
217
123
170
207
158
202
132
212
165
156
190
149
216
207
179
153
155
168
130
167
123
168
137
213
204
174
155
174
189
205
198
203
185
181
163
171
213
208
183
158
109
143
147
144
105
111
100
104
130
136
148
125
135
143
105
101
121
109
111
117
102
150
119
104
101
122
132
101
142
109
132
114
146
131
124
101
128
111
150
149
131
134
147
132
132
102
114
116
120
117
116
102
117
135
123
110
103
149
100
115
103
119
109
110
146
142
101
125
120
124
148
112
147
121
145
112
126
121
105
137
123
117
125
124
110
132
113
113
121
119
109
118
124
145
125
146
125
111
102
120
126
134
115
135
139
146
110
113
127
112
148
150
125
147
104
101
150
105
117
124
104
135
146
140
142
146
141
145
120
140
134
132
109
130
139
107
113
120
138
108
122
150
144
121
129
105
129
137
102
104
118
150
123
149
103
113
120
133
106
113
107
108
112
127
211
181
147
176
148
216
129
185
183
189
165
191
168
189
159
181
214
167
140
147
193
147
156
144
207
213
207
143
179
143
149
146
195
145
175
129
122
125
146
178
217
175
182
214
206
220
144
211
191
137
129
124
133
193
185
216
177
169
219
185
170
150
162
216
183
124
218
142
157
201
139
155
154
218
131
168
219
123
141
143
155
217
175
159
141
181
120
154
163
202
197
124
132
198
167
134
143
147
199
168
198
187
125
135
142
209
209
189
171
156
218
161
148
138
164
186
123
142
123
175
123
162
177
146
202
201
145
141
131
140
184
171
174
126
167
147
166
175
162
130
206
137
171
129
156
209
168
149
149
117
108
149
143
121
133
136
115
137
110
143
102
141
101
136
120
130
138
100
147
144
115
125
111
113
135
149
129
146
130
124
140
122
147
107
130
108
110
104
105
120
115
149
127
120
143
110
149
131
106
119
124
144
105
126
112
136
119
150
124
150
121
128
135
123
134
127
133
107
126
107
138
136
149
122
130
135
117
103
110
115
137
142
133
139
112
136
140
126
109
117
125
141
129
136
143
110
139
113
110
130
107
104
119
147
105
128
115
106
122
150
120
120
101
110
133
124
117
107
120
127
107
105
146
117
109
116
143
143
142
140
141
118
149
202
128
213
165
207
192
220
206
201
196
211
210
123
210
167
157
163
201
219
186
176
143
182
181
200
204
156
151
148
194
128
168
172
145
178
204
203
208
181
120
126
156
126
211
163
120
144
156
192
158
193
211
121
201
193
214
137
159
121
173
201
211
122
154
162
174
216
207
206
183
189
155
192
158
214
214
131
159
147
179
199
133
190
206
171
212
152
171
152
162
126
149
128
145
189
161
196
194
202
179
157
198
146
132
124
198
129
168
148
125
197
169
154
121
138
197
146
219
205
201
193
220
214
175
216
122
207
198
177
152
193
151
121
140
152
147
211
122
147
180
140
120
137
186
210
214
162
216
139
190
121
124
148
213
203
137
203
158
211
138
126
155
125
179
145
219
120
127
126
108
132
102
139
126
121
125
116
150
121
139
102
142
121
128
147
145
127
124
123
127
104
102
111
115
137
115
125
113
131
150
136
120
114
146
111
137
140
132
145
118
147
115
117
124
111
145
130
135
109
118
147
101
108
102
122
117
140
111
127
110
116
149
102
130
117
128
119
114
146
147
135
110
117
139
112
131
119
150
117
101
132
120
148
108
130
140
106
116
133
125
149
122
141
118
103
103
128
133
119
134
139
132
126
140
109
103
136
144
141
102
122
108
140
118
150
124
133
144
119
139
143
104
134
112
105
119
138
142
102
111
141
126
128
120
134
129
105
107
139
117
130
148
145
107
216
156
194
120
164
132
154
131
143
196
142
207
132
174
136
176
152
208
153
215
157
194
125
151
153
170
160
199
204
167
202
199
152
160
175
169
189
141
162
148
141
184
181
213
205
157
169
153
176
146
203
187
173
219
166
209
212
155
208
152
122
147
211
177
178
177
135
205
183
161
145
134
189
130
199
216
130
171
133
168
121
176
151
182
140
156
203
140
133
220
170
199
209
200
154
140
192
167
146
181
153
169
203
138
154
148
185
175
194
124
162
137
137
129
202
212
129
193
167
143
146
175
177
181
146
200
196
186
186
175
168
181
151
135
199
130
211
165
138
209
208
212
116
149
114
129
105
102
102
111
113
119
107
107
119
143
100
147
137
145
135
132
114
133
149
136
120
115
111
141
129
113
141
125
146
101
126
130
134
115
143
145
107
123
109
128
112
126
103
141
118
100
135
101
135
123
119
133
126
138
144
133
103
140
107
139
109
110
103
145
105
119
102
125
109
135
134
116
114
128
129
112
138
115
149
148
121
105
112
126
115
137
107
136
137
113
124
128
149
134
135
132
115
100
100
115
101
121
112
123
107
149
127
120
136
109
148
115
131
113
112
134
136
111
121
112
121
117
145
146
132
119
102
145
126
104
123
146
107
112
114
144
135
125
109
119
139
141
105
128
137
112
135
148
116
128
111
150
126
115
108
122
125
126
103
146
115
100
132
102
121
107
135
197
157
203
148
212
133
159
201
212
179
217
214
140
205
148
178
162
200
144
166
171
181
217
128
143
146
199
163
125
120
135
164
190
179
167
129
189
159
216
190
132
159
159
186
196
162
197
218
161
142
153
127
216
136
160
196
122
136
176
158
148
192
142
179
194
177
142
209
207
122
159
162
145
154
127
206
128
182
181
124
162
169
146
154
126
214
127
143
134
206
208
218
220
179
123
163
172
130
209
177
155
194
205
213
210
150
137
147
186
164
161
172
134
134
129
190
192
155
141
195
196
145
153
155
171
206
165
185
163
128
198
134
200
125
192
197
159
187
155
166
173
198
219
208
186
183
184
125
182
124
138
140
183
136
132
176
161
176
125
190
129
128
146
185
131
137
101
148
111
122
110
147
108
101
117
127
136
123
102
133
108
136
121
124
114
133
117
111
108
108
126
118
145
132
113
150
134
126
102
145
138
128
129
139
127
105
128
129
144
127
139
125
133
100
147
122
138
135
122
116
144
104
137
101
145
132
101
124
112
121
128
124
111
124
124
110
115
123
145
106
142
120
121
148
113
131
146
137
123
138
112
101
100
105
127
121
114
148
150
119
123
140
100
133
114
136
116
145
148
106
112
110
137
116
138
130
109
131
101
127
147
124
114
102
104
134
104
133
143
132
114
136
114
133
117
123
115
105
107
143
102
132
119
120
132
141
132
121
105
139
119
147
116
123
132
146
200
215
174
148
137
219
136
147
133
149
124
201
156
135
126
168
214
210
220
159
168
138
182
170
120
182
197
182
165
135
122
196
146
175
133
208
181
192
174
155
163
156
146
191
177
130
138
155
131
131
129
207
142
121
216
168
216
211
130
158
148
182
211
182
210
197
126
162
200
165
127
173
177
167
180
156
139
158
154
188
121
177
165
128
174
163
220
162
163
201
211
217
202
145
196
124
132
213
169
193
208
184
121
150
208
174
187
207
185
168
198
174
220
164
179
144
207
160
180
132
205
173
185
216
195
166
134
183
124
197
154
181
204
174
126
120
143
138
148
121
123
113
110
121
139
134
140
142
112
127
110
124
144
132
141
143
143
120
140
108
147
113
144
136
121
141
109
116
109
117
134
141
129
110
112
141
144
124
135
150
108
141
126
118
136
137
107
122
102
136
138
140
145
133
137
108
102
117
134
148
120
143
112
110
125
114
144
128
126
112
101
100
145
117
144
142
146
141
109
130
123
116
148
131
107
124
134
138
118
123
135
132
112
145
113
142
130
128
119
121
106
124
144
117
135
135
115
121
142
145
139
120
110
106
115
133
134
124
150
138
118
127
114
125
135
100
101
138
119
119
127
105
128
115
135
201
130
177
193
155
178
146
189
166
202
188
146
207
146
126
177
171
190
134
127
193
135
211
176
155
194
160
202
193
197
142
146
204
211
153
123
213
185
183
207
151
137
153
144
123
166
208
136
126
126
162
206
178
193
122
125
122
124
215
160
161
134
124
199
186
181
184
145
160
148
140
203
210
134
138
191
219
176
207
219
169
157
181
180
174
125
142
147
125
152
186
189
154
212
154
120
158
138
183
188
159
149
144
210
199
180
128
168
188
198
137
134
210
176
198
136
208
147
154
177
151
140
191
181
219
139
179
120
141
121
167
206
155
158
165
174
166
182
141
179
162
132
131
171
175
164
143
165
177
132
148
123
110
139
128
112
129
122
128
110
130
101
126
138
141
137
127
126
124
150
116
121
132
100
118
146
121
138
142
136
104
118
125
129
131
140
130
124
135
149
123
100
125
112
147
148
141
116
133
113
142
134
145
122
129
144
112
126
102
112
147
130
115
105
101
144
100
150
100
119
141
132
113
132
104
131
130
113
109
128
137
131
118
110
128
141
111
130
114
109
111
127
100
150
123
143
131
131
114
115
131
125
140
107
148
113
131
117
134
148
143
148
119
112
103
145
119
117
134
148
150
128
100
123
126
113
128
120
141
146
136
109
112
114
128
120
135
139
123
141
111
120
133
114
134
108
122
132
140
119
141
136
150
119
144
142
126
149
119
124
101
129
117
116
142
142
140
115
105
132
155
121
168
131
182
184
165
122
136
128
132
175
124
195
194
145
185
220
183
161
176
181
133
191
200
146
195
161
163
177
216
186
159
209
131
200
181
204
204
196
156
187
128
147
129
170
199
166
197
150
157
163
160
204
201
216
189
175
175
131
130
165
135
179
177
176
185
154
131
122
187
219
204
142
182
151
213
208
177
191
187
198
123
177
211
128
160
209
138
135
186
196
177
196
150
151
121
218
190
178
153
189
128
200
211
201
165
155
127
130
205
162
155
208
184
152
209
202
212
177
206
136
152
145
139
175
165
153
219
186
166
121
214
173
203
198
159
120
124
150
121
144
195
113
135
128
132
140
126
102
138
114
123
123
113
117
130
116
127
102
139
121
143
141
133
114
144
140
107
124
106
124
116
142
126
101
128
149
130
114
117
124
137
109
131
134
144
117
144
107
130
105
103
134
138
142
100
138
105
104
126
131
131
102
139
119
123
122
133
129
131
110
110
129
131
148
150
119
111
127
106
122
104
118
124
112
149
121
146
114
131
103
117
134
124
147
137
120
125
112
123
129
118
115
102
113
148
145
134
114
148
127
139
113
119
126
150
141
137
133
140
114
134
122
108
141
138
123
110
111
144
111
146
144
112
134
122
136
112
137
113
121
125
147
105
126
207
150
196
169
140
122
182
188
159
126
159
201
174
135
174
158
165
211
135
181
153
150
133
182
207
136
207
128
193
218
132
166
138
183
199
151
214
172
185
137
203
216
217
158
182
159
142
211
191
143
178
138
205
142
132
191
217
199
218
159
130
159
186
179
217
150
188
179
199
130
141
199
206
215
121
194
209
193
197
217
121
139
131
167
128
167
170
133
156
167
162
136
124
120
168
135
146
202
206
206
168
196
197
186
153
208
171
150
158
133
194
134
131
173
210
176
162
140
214
207
145
205
171
155
166
165
144
178
143
215
202
191
211
125
126
156
157
132
139
123
144
153
152
121
207
125
193
205
103
129
120
119
142
140
131
140
124
126
103
118
106
109
113
138
122
131
107
133
124
129
102
147
123
133
137
149
115
108
121
103
144
135
137
112
100
110
141
143
120
122
108
147
115
126
141
106
141
127
115
131
123
104
128
116
116
141
138
142
131
108
135
101
101
117
118
150
129
108
114
132
100
135
140
119
100
128
149
140
128
117
143
123
149
104
145
134
121
147
105
139
144
146
102
118
140
133
118
110
104
127
128
117
120
132
134
128
148
139
104
142
105
112
107
117
136
121
132
143
108
114
123
117
141
110
101
101
104
108
124
106
134
126
109
100
126
142
125
140
148
125
147
130
150
162
200
143
167
214
177
135
189
194
138
166
186
209
174
129
151
128
147
159
186
188
199
198
170
139
216
179
155
218
149
205
162
198
189
214
201
175
158
154
211
125
152
123
195
192
127
196
209
178
161
197
140
125
197
192
124
138
167
143
152
211
162
126
156
145
167
132
180
150
206
127
141
211
155
168
208
211
206
137
125
161
152
208
127
124
180
123
125
127
207
122
121
182
143
151
157
214
201
204
136
122
176
175
127
204
132
135
147
147
146
150
186
152
180
142
126
161
177
145
197
191
202
207
166
199
184
139
214
141
189
150
174
196
146
172
151
203
180
185
217
148
142
151
148
128
213
194
193
133
177
213
188
194
181
219
172
146
134
127
114
121
101
122
139
112
112
118
149
117
112
123
134
105
148
108
129
129
134
140
126
134
103
126
106
119
109
134
102
132
100
133
124
128
137
113
109
109
147
149
145
136
134
128
105
118
107
116
107
140
115
135
102
115
148
103
100
143
131
102
131
147
150
115
136
122
129
136
137
123
124
138
149
132
130
120
101
100
128
117
110
118
133
144
117
108
138
140
143
108
150
105
130
147
105
128
113
143
122
121
127
120
149
125
114
108
148
128
132
112
129
116
110
114
114
131
135
138
144
103
112
129
140
102
115
135
147
201
182
203
205
171
183
160
176
177
154
134
211
133
159
167
180
213
186
184
154
184
197
209
177
121
204
210
174
193
201
189
141
183
196
192
128
137
140
129
139
137
219
186
211
184
189
201
148
154
195
219
197
176
153
135
203
169
131
201
215
177
207
164
203
209
151
167
193
157
133
159
216
143
123
178
152
170
209
160
168
196
172
125
159
194
186
167
136
172
177
187
153
161
172
182
180
180
163
130
179
148
197
144
154
149
164
136
189
171
159
195
184
187
191
208
142
204
191
205
190
201
216
204
157
202
173
147
150
210
165
120
146
124
137
136
209
202
131
189
147
179
193
184
128
148
123
220
138
100
138
126
137
117
146
142
111
123
100
150
138
143
116
120
103
124
136
132
148
120
104
112
138
108
135
104
133
109
146
150
117
119
114
138
100
103
115
130
132
132
118
104
127
134
111
105
107
111
101
116
144
140
142
140
113
119
142
131
144
112
101
146
104
145
139
128
102
144
143
146
127
121
142
113
122
126
129
124
114
101
104
128
118
130
141
141
110
109
132
117
125
106
123
112
106
128
114
110
114
147
111
136
129
138
133
143
139
114
118
150
106
108
145
102
103
150
123
144
138
145
120
132
135
123
144
100
108
101
147
128
148
145
120
217
207
206
196
142
155
139
196
210
161
203
163
160
192
146
176
140
128
168
204
177
138
194
137
174
190
199
145
161
206
134
174
154
132
160
168
138
161
143
177
182
210
125
166
149
220
184
126
162
155
126
202
198
200
181
168
134
196
209
150
157
207
132
192
137
137
187
214
211
186
140
154
147
212
153
160
132
125
158
193
151
167
171
219
164
198
193
219
142
182
219
199
192
164
187
151
218
132
186
144
128
158
198
154
219
213
187
158
158
178
208
133
213
209
150
125
185
215
204
192
179
141
138
130
165
168
181
145
171
161
172
206
183
135
148
123
120
211
163
137
134
121
104
143
144
147
148
135
133
128
139
135
106
134
109
149
108
133
103
140
145
149
136
106
103
117
115
128
121
117
115
139
125
119
138
139
103
127
134
146
113
148
117
146
122
115
138
106
105
124
132
127
110
148
137
121
103
139
117
113
101
106
142
150
139
133
116
122
146
106
141
130
114
104
142
139
118
114
112
142
134
137
140
117
109
114
116
112
109
113
138
137
147
119
142
111
121
140
100
149
131
147
136
115
127
122
140
110
107
141
150
107
118
148
112
102
145
103
112
137
133
109
117
121
150
125
140
133
113
132
130
115
122
140
100
147
124
134
109
121
131
116
101
120
150
135
110
140
148
105
126
110
100
113
212
183
137
205
200
134
164
203
209
133
212
198
197
127
179
173
157
160
125
129
147
156
156
156
197
139
189
139
143
131
217
128
135
155
185
203
162
193
128
153
208
197
175
200
174
158
160
126
136
212
136
129
201
163
165
199
168
213
161
158
145
220
167
130
139
173
122
162
123
173
131
172
121
176
173
206
153
197
217
213
216
197
194
178
126
211
136
125
209
197
136
155
124
181
190
197
194
220
218
163
194
144
148
136
168
214
174
135
179
204
136
182
146
153
173
142
192
208
205
173
201
134
207
162
198
215
173
180
125
175
215
184
209
145
151
178
204
191
197
184
188
216
156
133
156
106
129
113
109
125
124
113
138
116
133
135
148
146
107
108
100
129
110
135
121
103
115
113
104
118
122
100
131
121
127
130
110
138
145
130
104
124
130
139
127
110
108
132
131
136
135
126
110
123
105
148
104
109
138
110
146
129
128
114
133
132
111
109
117
143
139
115
136
146
106
108
150
128
104
116
138
142
101
114
120
142
117
144
108
149
130
142
141
121
139
136
133
123
127
127
114
128
129
110
118
103
100
107
134
135
128
106
100
148
128
139
134
145
141
112
103
149
109
125
106
124
125
148
119
112
122
147
140
112
105
141
132
130
149
110
111
143
126
116
119
118
146
140
124
115
116
131
117
124
129
165
152
205
127
158
186
195
152
137
151
163
176
131
216
178
217
135
212
121
173
206
200
171
202
136
211
172
147
186
125
181
150
203
220
140
156
152
147
156
177
211
157
161
197
134
122
151
159
124
208
137
171
178
204
189
158
192
131
122
200
200
175
209
145
178
196
201
153
135
192
201
178
134
172
151
208
154
169
158
130
162
165
204
153
165
212
161
213
214
186
207
199
170
189
170
130
151
180
157
142
188
126
122
149
135
159
137
143
130
184
164
151
209
133
170
144
165
141
159
129
126
183
208
153
151
140
123
196
198
173
143
133
130
216
124
139
189
185
140
170
173
123
193
125
170
121
220
173
217
156
106
131
103
106
136
133
128
142
124
131
104
124
128
147
132
137
150
102
135
126
150
138
110
132
148
136
113
123
128
120
150
136
111
134
116
128
108
123
138
150
119
112
138
130
149
126
138
149
109
126
119
145
138
104
137
104
126
121
101
132
127
115
127
141
139
140
100
126
135
141
133
103
125
145
140
106
143
130
112
147
147
110
129
141
133
131
132
129
113
108
125
149
118
119
144
133
118
136
140
109
130
102
122
149
109
133
118
100
110
137
114
104
101
139
113
111
102
136
142
101
141
141
132
114
143
137
140
117
102
101
121
144
130
107
117
110
114
217
194
173
186
203
129
176
127
175
181
188
159
121
200
147
170
188
171
171
124
153
174
153
123
167
139
138
157
179
162
152
201
167
198
195
138
176
164
191
150
165
193
146
174
206
201
139
209
174
204
142
217
143
122
216
128
123
126
181
193
124
218
161
214
133
195
194
166
213
214
179
171
153
208
160
131
135
166
184
157
127
191
122
179
143
198
183
214
184
204
196
132
174
169
148
213
160
216
217
217
165
131
176
169
136
170
132
220
149
206
167
157
172
182
177
125
200
170
175
174
151
141
135
146
138
203
219
214
129
159
183
141
140
156
173
130
184
161
160
196
191
141
171
182
180
127
154
173
168
126
154
142
176
158
142
147
171
159
166
175
186
196
149
100
149
129
117
146
129
109
142
129
125
121
102
128
130
123
149
107
138
145
112
117
144
103
111
144
137
141
147
108
115
118
130
134
107
143
132
111
120
145
121
106
149
107
146
103
102
121
103
128
124
140
132
111
101
130
108
130
145
146
125
101
136
116
144
105
145
113
125
135
129
117
121
148
141
132
132
106
137
143
109
122
111
129
125
135
116
146
137
105
127
129
149
150
112
113
102
132
102
107
138
108
133
136
114
131
104
145
116
103
123
114
127
142
121
131
147
113
103
133
114
127
149
125
122
136
134
134
113
140
137
115
137
138
147
101
117
150
139
131
119
145
117
122
102
143
130
126
123
118
144
136
105
110
113
104
116
134
125
112
141
127
141
115
119
133
122
129
130
134
146
155
204
151
217
210
177
142
199
156
189
176
136
191
213
125
137
184
158
200
121
124
157
201
210
188
220
140
177
180
161
129
136
136
159
127
214
149
174
198
150
157
171
120
205
180
210
185
153
164
182
153
161
132
203
191
128
170
218
155
186
129
128
136
218
172
170
190
168
180
216
180
209
170
171
162
163
214
184
203
141
216
121
175
177
188
202
214
198
170
147
148
169
210
185
196
147
176
121
206
187
170
140
173
213
195
190
213
136
166
208
198
181
131
133
169
135
160
182
213
218
130
203
218
166
157
165
144
218
126
117
147
122
113
107
132
126
123
121
104
150
124
146
145
102
150
106
114
134
110
147
133
135
130
139
123
119
113
114
102
137
112
130
125
146
147
147
105
105
118
131
140
103
105
121
137
117
120
147
125
146
100
120
148
135
122
127
126
130
122
105
110
126
124
147
131
133
133
131
148
141
144
120
117
126
110
144
119
148
150
149
149
145
111
104
136
114
140
120
150
142
134
138
125
114
121
139
148
145
147
137
142
148
124
103
148
125
143
125
101
101
113
137
142
119
102
107
148
123
115
105
150
131
137
103
108
121
118
121
141
142
146
105
114
148
146
114
147
141
149
210
206
160
133
174
212
131
219
170
172
189
202
220
146
121
128
124
144
181
183
202
129
143
198
154
160
120
163
132
134
149
182
205
121
219
179
176
198
191
210
179
207
207
160
174
176
163
129
204
158
185
165
165
152
207
142
157
167
213
203
129
151
220
192
210
150
165
181
186
156
195
168
165
124
157
210
202
167
123
172
195
126
157
189
137
151
152
178
181
122
163
219
178
124
132
173
123
165
211
194
176
170
145
209
181
167
211
154
197
147
179
175
190
137
130
138
191
190
207
190
171
182
211
195
128
161
129
170
140
120
142
160
150
203
166
166
217
127
127
132
136
144
101
125
141
102
120
119
119
136
137
125
103
118
125
102
114
115
132
144
113
118
122
102
141
120
129
128
141
119
131
136
118
136
130
102
122
115
141
142
113
112
125
106
134
132
146
102
130
127
115
130
108
140
119
105
131
112
148
130
101
139
130
150
108
119
119
150
140
122
146
125
114
113
114
142
150
134
102
120
128
135
103
131
130
144
115
114
108
103
108
143
101
124
111
137
135
106
143
129
117
142
119
104
149
115
136
136
106
117
116
132
149
118
106
144
139
108
134
149
129
136
147
111
126
134
141
104
130
102
150
122
149
143
115
131
133
117
120
123
148
150
133
101
138
107
116
146
147
146
140
101
124
131
124
111
116
116
131
149
148
122
128
129
135
103
109
146
141
214
202
152
180
127
125
188
194
145
207
134
204
167
133
163
197
186
191
195
211
201
132
172
180
220
172
210
144
169
214
134
173
207
182
181
206
214
180
135
129
135
193
143
201
141
170
142
198
161
219
191
217
182
143
144
140
131
129
200
207
123
193
136
213
180
165
123
216
128
127
190
215
206
145
182
207
176
203
174
122
169
162
122
121
152
179
182
184
201
170
211
210
156
187
127
131
168
193
181
120
161
154
201
176
183
133
195
124
153
137
121
165
205
124
158
139
127
208
174
201
167
208
204
155
196
192
144
198
163
190
209
131
131
136
212
157
123
203
159
204
179
207
191
184
136
109
145
140
104
144
145
113
130
118
113
120
119
126
125
121
113
111
134
148
127
143
124
135
119
106
100
145
148
107
132
100
110
121
123
133
142
105
100
146
132
128
142
134
133
144
100
140
134
130
143
122
136
130
126
139
115
118
107
138
124
147
143
140
149
127
141
102
123
126
142
135
140
115
121
134
148
102
110
140
131
143
111
109
150
109
109
102
102
120
125
116
147
137
144
126
136
125
104
126
137
108
130
118
150
126
134
146
128
121
126
113
112
114
110
107
100
133
103
102
115
150
114
132
149
108
136
124
104
121
152
164
133
148
191
215
139
200
171
182
217
195
211
185
135
150
162
215
209
188
148
152
191
130
190
190
137
140
167
133
147
207
186
145
211
202
174
162
217
169
219
198
170
125
214
219
175
177
125
201
176
203
127
167
126
147
211
199
175
181
200
151
206
185
202
188
126
124
210
124
140
162
196
215
189
132
149
158
217
147
212
153
215
151
129
184
204
143
198
153
131
142
180
160
155
194
184
165
127
188
158
153
218
205
150
171
186
128
157
202
156
147
214
148
150
183
121
193
209
154
166
212
206
193
126
159
145
146
177
175
142
117
123
106
120
139
120
145
142
113
145
110
147
130
145
122
138
138
133
123
119
117
112
122
111
132
118
148
105
141
147
112
136
143
106
125
122
121
102
134
125
118
110
113
143
134
114
116
105
150
100
100
145
139
143
117
143
101
147
149
109
139
120
130
147
147
130
110
133
145
149
143
104
106
105
105
144
141
107
121
118
137
104
126
123
125
108
149
122
136
128
144
138
107
117
126
137
123
126
124
100
113
124
124
141
105
107
111
129
146
108
149
101
133
128
131
138
114
142
138
106
146
144
139
143
136
117
127
115
115
128
145
111
104
127
147
131
147
117
130
119
139
116
106
185
127
155
199
121
124
145
161
218
164
216
166
121
146
167
152
204
149
195
174
204
150
176
215
138
189
138
194
204
120
187
131
204
127
218
130
214
171
158
134
167
203
198
203
208
152
196
128
172
192
205
148
155
218
167
170
177
156
149
139
159
178
215
136
127
155
124
175
183
151
204
153
144
161
133
187
165
183
129
155
184
146
158
166
176
182
122
166
207
127
214
145
185
208
200
120
182
199
178
206
144
173
188
174
133
135
208
207
193
168
134
176
120
166
210
186
121
197
177
152
146
175
145
151
204
123
211
160
121
183
186
209
186
143
172
158
186
123
155
138
210
213
145
209
139
216
165
215
216
188
178
129
157
202
212
147
178
219
214
191
197
176
177
170
124
212
167
126
147
145
143
123
111
140
123
116
126
124
104
137
132
134
133
103
131
133
150
145
110
115
117
145
140
114
137
149
124
133
105
113
114
119
139
112
125
103
146
125
116
132
107
146
125
126
140
101
104
114
120
114
130
140
124
131
129
115
101
137
112
147
133
138
121
132
118
146
135
126
131
109
119
130
140
143
142
133
141
139
111
140
120
119
146
130
134
128
130
117
100
107
106
112
117
100
105
118
124
107
129
127
138
145
118
110
148
147
110
104
110
137
116
108
111
116
116
135
113
147
118
150
109
112
137
131
150
125
148
138
131
129
102
100
136
111
123
111
127
125
147
145
144
139
112
113
149
133
100
136
115
108
128
104
101
104
146
127
131
144
140
171
145
152
141
167
184
142
172
215
154
122
192
171
156
191
213
154
166
140
121
171
193
172
208
219
169
168
181
182
141
212
211
217
165
158
133
169
156
134
151
167
188
170
153
205
158
146
160
184
127
149
182
149
171
200
168
127
218
132
173
164
186
207
161
167
157
166
130
135
158
162
191
149
134
138
184
133
120
123
160
203
220
147
195
159
191
184
152
218
123
188
137
126
180
156
199
153
185
133
160
202
124
198
173
152
185
158
132
209
133
164
214
208
126
130
206
188
170
163
142
175
148
178
201
212
177
147
172
166
198
150
140
218
141
155
156
165
168
202
154
206
166
168
196
155
192
101
110
123
128
127
119
124
140
123
106
139
109
120
139
140
118
144
131
108
140
140
103
118
149
118
114
150
140
119
138
105
149
135
122
112
123
123
147
145
114
130
143
148
127
127
119
104
121
150
134
150
120
103
101
120
137
133
109
118
112
150
104
125
130
141
105
136
104
143
116
119
150
132
150
143
108
121
138
140
107
141
143
132
133
132
122
138
109
115
143
108
136
113
124
126
150
102
121
116
131
145
140
131
139
122
140
102
119
148
121
111
109
102
140
120
128
100
109
123
106
111
112
131
146
149
120
105
141
146
110
145
107
130
121
135
148
127
133
122
151
182
157
161
218
206
202
198
154
143
147
160
212
207
130
199
123
217
171
179
122
194
125
216
170
200
166
151
182
182
204
157
172
124
151
141
215
181
209
132
132
213
125
207
163
148
132
173
170
125
203
207
161
155
137
158
168
143
188
217
152
173
190
132
217
168
165
150
186
166
170
128
167
127
142
186
220
197
142
153
165
201
188
134
124
193
209
132
125
123
179
141
131
121
205
151
151
183
220
141
183
213
172
147
200
176
215
182
130
217
212
219
122
220
218
215
145
195
211
177
175
172
205
142
121
187
113
112
147
135
131
122
107
131
116
103
142
144
141
121
137
132
117
130
133
116
134
108
145
143
107
114
113
135
127
139
147
132
133
121
127
105
135
138
124
146
145
144
108
150
142
136
103
115
112
103
128
112
103
118
140
140
105
107
118
116
141
147
108
112
147
115
142
105
140
100
112
114
119
119
142
129
103
132
104
117
102
146
118
104
130
114
149
139
143
132
141
102
139
104
144
100
122
124
145
107
137
149
121
111
114
113
119
130
131
131
104
134
114
131
122
105
102
145
103
100
134
150
113
116
110
122
117
115
134
133
123
134
108
110
133
109
148
113
104
145
107
138
130
114
108
137
115
111
142
100
213
149
164
128
170
178
144
151
191
216
183
182
148
190
135
174
207
153
124
213
201
147
169
191
158
217
199
215
188
194
153
190
212
126
181
145
211
196
152
137
122
124
199
202
147
128
205
167
187
201
124
195
143
151
176
165
215
149
121
139
192
120
124
148
203
163
188
171
124
197
171
194
142
141
151
185
130
156
120
141
201
196
168
139
208
131
184
172
212
210
171
213
162
190
157
210
202
200
127
160
220
212
145
188
197
125
199
157
153
126
195
207
189
140
189
169
218
192
209
172
181
125
131
207
164
138
175
184
132
136
135
149
103
102
148
135
138
142
142
122
150
102
128
138
112
110
114
108
136
100
116
139
150
127
121
111
131
129
129
118
146
103
142
137
100
114
138
145
149
136
110
111
129
149
132
146
130
144
124
133
133
137
130
132
145
146
117
123
131
105
122
118
123
129
108
120
149
129
111
109
134
124
121
137
122
139
116
128
110
123
140
108
107
126
122
112
101
148
138
101
118
112
100
101
133
124
139
147
132
142
100
133
100
143
117
108
125
117
101
148
146
141
129
147
148
111
123
116
124
122
131
140
125
114
127
127
138
133
125
112
138
146
104
127
137
147
108
124
127
149
138
128
115
118
140
121
103
120
101
179
163
209
220
172
129
145
210
139
151
190
199
205
191
210
133
161
160
140
211
128
163
176
133
159
165
139
173
175
159
210
121
216
215
178
149
158
201
126
192
205
183
130
169
124
204
126
195
146
120
211
189
165
188
213
199
157
154
152
212
199
146
220
186
212
179
164
212
150
160
212
134
189
216
154
205
188
191
124
162
132
138
216
150
138
179
144
157
181
165
133
170
187
191
196
185
201
175
124
216
154
138
159
207
193
120
128
126
211
191
199
209
195
126
190
136
129
120
185
141
187
147
168
200
193
142
183
149
180
126
205
175
159
182
137
157
202
176
159
126
171
122
156
145
194
216
161
204
208
189
196
196
153
169
176
177
139
121
113
110
144
112
120
141
128
150
123
112
128
143
138
149
122
129
138
127
106
107
145
149
130
133
124
111
111
123
145
120
104
125
120
136
112
116
125
104
132
106
125
100
141
122
130
101
108
126
103
114
137
128
120
101
145
121
128
101
149
138
100
123
122
113
116
144
131
118
101
133
123
132
128
119
123
121
130
109
122
126
147
149
129
148
102
125
118
144
109
141
102
132
109
103
128
108
141
103
145
147
107
115
131
128
127
143
112
144
109
124
138
142
107
123
136
102
130
139
129
121
135
147
144
124
104
109
122
147
147
126
130
124
102
131
123
120
141
132
105
110
103
122
117
130
201
120
143
133
150
216
147
155
202
129
145
136
132
202
126
149
209
174
167
196
208
153
142
171
153
126
210
220
161
213
140
154
198
214
216
155
178
161
153
210
133
174
151
184
154
132
189
191
195
183
157
213
191
172
184
186
142
158
196
197
129
173
148
191
151
148
199
168
123
173
127
161
204
190
140
175
153
215
180
164
142
203
172
132
192
212
173
210
215
209
197
135
126
129
182
165
211
181
176
209
132
180
205
202
155
216
156
166
147
166
182
178
133
187
160
140
185
176
143
130
123
145
183
132
187
197
157
170
151
159
192
162
175
203
195
201
182
125
118
138
125
137
104
101
135
149
119
113
137
106
101
103
118
129
100
100
135
103
150
105
127
119
150
124
130
129
146
114
146
135
132
141
149
108
122
110
111
133
126
135
125
115
126
104
128
116
122
147
103
137
145
122
128
136
100
133
145
113
137
140
125
130
130
125
100
119
142
126
137
140
144
111
137
116
100
123
131
147
131
131
119
150
123
107
112
132
140
131
143
114
111
144
121
112
150
104
121
125
148
121
111
103
112
105
107
129
127
103
109
124
120
126
148
115
144
110
141
101
111
139
117
150
144
103
128
115
133
137
127
112
110
138
109
148
136
145
133
103
106
124
136
199
191
204
161
134
149
147
148
164
159
205
204
125
123
179
130
138
126
144
174
134
159
131
186
170
216
157
143
211
193
214
192
198
162
160
142
154
211
200
162
192
213
142
178
183
150
160
162
151
183
212
132
212
199
163
188
163
127
212
218
150
190
214
160
196
173
129
179
129
135
179
193
144
190
157
135
211
178
219
130
143
121
180
159
188
150
146
163
164
175
166
140
164
195
155
169
207
151
142
161
163
127
129
151
144
151
215
215
132
218
218
218
121
140
208
165
194
165
206
186
156
162
174
213
198
204
132
132
216
166
140
173
154
213
149
217
194
219
146
195
166
217
178
142
123
185
130
130
133
189
127
127
131
207
205
212
140
126
205
141
220
133
158
153
163
152
148
204
140
179
137
130
101
118
127
109
133
110
139
103
138
148
117
105
149
103
105
120
148
106
111
125
129
130
104
131
148
116
139
129
149
143
118
121
107
129
121
108
100
141
115
123
141
122
133
126
108
121
101
102
134
142
121
117
100
109
106
133
125
118
119
115
122
113
114
141
104
149
124
131
100
129
118
138
101
120
134
113
108
108
149
120
140
127
139
110
149
126
107
108
144
117
116
117
146
107
129
118
137
112
108
106
103
121
129
146
142
106
105
142
102
140
131
124
108
115
110
118
102
119
133
114
108
147
115
129
130
131
142
108
119
135
122
103
100
139
102
100
120
139
101
107
133
119
122
119
126
113
150
129
204
124
181
186
122
153
218
132
163
136
188
150
168
174
153
172
220
125
208
196
147
148
175
199
144
193
165
191
134
129
126
202
187
144
216
182
194
140
167
141
147
158
181
157
132
195
172
200
209
211
193
145
199
198
216
157
161
132
122
141
197
203
150
156
138
219
140
150
194
198
204
184
206
163
169
176
201
143
120
155
164
184
197
201
181
190
148
148
196
179
137
155
209
142
137
150
205
181
193
170
170
131
146
135
133
121
155
203
187
182
195
164
204
159
200
194
217
168
213
199
142
195
179
140
214
169
210
177
180
204
139
143
183
209
182
147
136
112
148
113
145
138
112
121
130
106
124
150
134
112
122
101
106
148
124
102
127
136
135
128
111
128
126
146
142
107
123
140
122
146
134
109
116
144
117
103
133
113
117
121
105
102
118
129
105
150
123
135
108
122
115
131
124
135
126
147
120
104
131
121
114
114
118
120
138
129
106
118
101
101
109
111
104
150
108
132
110
150
102
121
101
115
123
115
127
112
132
128
105
107
100
142
116
137
108
125
136
109
143
121
112
103
132
150
113
128
149
113
134
124
112
122
137
113
126
125
148
106
108
143
125
140
145
117
123
100
133
107
149
123
103
113
148
148
103
149
105
108
124
133
144
148
140
150
102
115
123
150
110
134
147
112
124
181
217
132
214
215
197
144
172
172
159
122
120
132
210
141
185
191
208
128
156
184
212
120
169
157
152
124
215
132
122
198
174
148
197
181
157
206
121
142
181
134
167
187
129
146
180
122
170
127
193
184
155
191
183
200
185
193
204
169
164
120
125
195
123
169
142
163
189
188
220
120
135
126
173
167
141
219
200
197
156
139
130
158
205
210
203
219
175
212
162
125
173
182
200
171
214
208
159
134
218
120
213
132
135
125
192
151
192
174
209
148
205
135
142
150
200
184
166
186
132
158
200
125
219
169
206
149
155
171
135
185
191
131
141
120
215
150
137
137
163
148
197
177
216
194
181
146
146
134
108
138
120
127
117
125
124
130
146
122
129
118
111
108
103
140
110
129
115
138
142
141
145
150
126
129
147
111
134
149
113
127
148
110
148
141
141
137
109
134
150
140
125
107
121
145
110
149
148
115
110
118
148
118
142
134
125
107
116
128
125
121
103
109
114
144
115
131
117
141
122
110
146
135
138
129
102
148
101
146
110
146
118
137
113
140
112
105
127
128
137
132
143
115
105
146
110
119
136
100
141
139
105
117
120
135
125
134
150
134
141
149
141
149
140
132
129
105
150
125
120
148
148
101
100
124
118
104
104
100
120
119
147
120
130
106
126
134
120
131
149
128
132
126
116
144
123
126
183
162
133
160
150
214
128
139
175
145
191
200
151
189
147
138
154
159
152
212
172
154
184
129
181
184
218
194
219
217
212
220
168
143
132
182
203
133
146
130
137
185
136
180
127
131
187
157
217
214
205
160
157
159
210
160
199
135
175
179
215
161
214
126
175
201
149
205
155
122
195
198
125
196
202
193
204
198
149
218
134
218
219
151
178
172
168
181
157
209
155
188
218
204
217
170
120
143
144
140
130
160
121
180
136
141
156
201
169
153
204
205
154
121
210
179
209
206
163
216
215
139
189
177
161
171
194
135
190
185
183
169
203
178
176
207
124
171
121
200
220
173
167
124
122
191
184
158
194
137
210
164
154
120
146
126
126
143
150
138
137
100
109
100
121
130
149
150
144
131
125
148
128
133
119
119
121
126
128
147
109
142
146
106
112
103
122
121
123
105
116
116
129
105
140
131
149
137
147
125
138
130
127
113
117
143
115
111
149
106
130
135
128
130
130
112
147
105
114
141
113
103
110
116
117
112
122
117
146
135
101
113
107
145
138
139
131
140
126
110
106
115
100
108
130
132
140
114
122
135
100
143
100
135
111
143
109
102
148
118
145
144
138
101
138
146
105
117
119
139
126
147
112
129
135
114
144
135
149
109
149
125
133
100
134
133
101
107
135
134
114
119
124
120
136
145
109
112
126
127
135
122
115
147
145
119
137
133
100
126
144
130
116
102
111
125
124
127
149
118
120
135
129
128
112
138
158
144
140
195
166
135
162
163
204
197
166
149
212
207
190
153
179
149
130
182
156
184
170
168
127
170
160
171
202
220
182
132
128
193
203
188
140
129
202
123
220
149
182
159
194
130
134
133
211
202
188
220
180
134
208
155
134
169
181
189
131
123
185
211
199
180
120
185
165
199
213
174
134
164
176
214
217
171
135
176
150
169
187
125
139
153
154
216
200
165
207
135
211
131
175
189
161
180
166
138
126
140
146
137
181
163
137
172
175
188
212
128
160
123
144
168
195
177
180
200
217
125
175
202
146
205
162
159
190
190
210
164
183
176
216
203
137
121
204
184
200
216
137
198
214
162
136
145
178
213
194
136
147
187
132
179
177
144
165
202
142
166
171
145
121
145
135
129
111
124
132
133
100
130
131
134
150
104
129
106
147
114
149
110
116
104
112
113
130
118
115
119
115
126
142
105
113
117
114
125
110
103
114
113
144
133
139
140
117
122
119
113
131
107
131
100
138
129
110
119
109
118
107
138
105
121
106
116
122
149
116
150
127
108
133
113
131
108
127
101
142
124
112
134
129
136
128
129
113
110
103
144
124
148
111
114
129
123
146
134
104
125
128
150
105
103
101
111
147
104
125
115
131
147
123
126
103
108
118
116
133
100
119
147
125
130
111
112
102
105
104
141
127
126
137
129
134
111
106
148
121
113
126
126
150
141
145
134
122
130
123
146
143
100
134
122
100
101
113
137
114
124
212
183
211
220
190
187
201
175
140
180
171
133
158
165
132
193
147
183
160
165
156
170
158
200
180
127
140
187
145
203
127
196
122
137
138
120
145
139
182
187
172
210
181
122
145
122
209
147
163
139
138
152
179
205
130
195
174
201
219
193
206
184
212
151
137
184
138
195
122
203
218
191
134
158
159
149
179
134
133
196
154
204
127
212
197
208
189
202
143
205
124
141
126
191
126
154
187
185
196
193
147
143
177
153
201
151
187
174
173
165
165
219
204
170
210
173
137
190
145
202
169
174
161
129
158
139
193
173
194
183
212
201
184
176
139
213
188
150
173
219
141
120
158
138
190
165
132
184
161
219
139
128
147
140
119
132
114
114
109
128
119
120
128
143
112
101
130
127
134
142
132
139
146
122
149
146
101
138
117
100
129
120
129
133
146
123
102
137
144
129
129
140
126
125
143
121
112
118
106
125
111
132
135
112
100
106
112
142
138
150
136
123
100
105
145
122
113
150
144
130
139
126
133
111
144
116
118
113
123
120
103
103
103
111
147
109
135
146
137
139
105
110
113
117
134
118
111
132
112
137
132
102
117
130
145
114
134
133
105
133
126
143
112
141
141
146
139
124
110
138
145
107
130
128
101
103
147
100
141
104
111
109
101
135
124
124
125
127
108
126
140
135
101
111
132
101
141
165
218
206
154
219
159
167
147
145
211
165
212
187
131
165
170
159
189
159
143
177
137
219
164
141
180
176
180
214
190
189
182
156
207
169
153
154
172
144
182
156
186
193
210
167
199
190
179
220
128
156
130
129
185
201
133
198
155
130
202
129
195
146
150
169
219
136
174
124
200
196
136
219
125
200
182
188
120
127
206
185
165
220
217
135
143
191
151
131
208
157
142
220
166
150
213
184
188
210
186
122
142
156
123
168
197
159
136
157
157
159
174
171
144
160
219
213
212
163
196
177
188
203
185
149
122
127
167
209
126
143
200
162
218
135
121
164
177
153
176
179
178
202
125
193
183
120
134
117
113
111
120
147
107
111
147
122
112
148
107
102
144
117
124
145
138
130
112
142
149
131
121
117
119
137
107
148
135
137
113
113
146
128
138
119
103
114
145
126
113
104
125
140
134
148
111
124
150
120
122
145
110
101
126
122
103
137
129
137
120
133
138
107
111
107
139
128
137
107
101
147
134
148
119
100
116
109
135
136
120
147
143
122
124
102
118
113
121
129
141
134
117
147
132
112
115
145
143
101
130
149
131
109
108
139
122
116
139
139
117
113
130
146
149
112
100
123
129
141
102
134
124
119
146
110
133
112
134
130
103
150
148
103
143
123
140
144
133
126
107
138
114
149
149
135
100
127
117
125
130
102
137
106
120
107
146
131
140
117
115
126
147
113
103
135
100
127
117
146
187
130
176
190
172
172
189
203
195
204
128
192
213
205
160
167
195
144
121
193
209
162
125
194
157
188
140
149
123
168
185
181
209
150
195
132
134
180
192
153
167
138
133
194
155
135
170
186
169
182
145
155
173
131
126
201
171
120
146
186
127
170
168
139
140
190
196
131
193
215
174
149
188
157
120
196
124
171
200
149
153
177
149
177
209
206
148
164
144
129
154
138
146
131
209
120
166
197
146
156
210
199
120
127
173
213
185
161
156
172
174
194
180
167
165
136
148
147
154
174
183
179
174
161
160
123
184
127
115
104
113
120
121
113
106
114
139
137
114
112
102
109
134
114
103
150
116
103
140
102
114
128
100
143
110
127
110
106
111
138
113
143
108
119
115
136
125
112
111
140
129
120
111
110
131
121
149
100
113
128
132
120
102
140
129
103
138
145
142
107
108
135
120
129
124
106
146
141
107
117
100
132
117
140
127
124
134
141
114
145
137
112
132
100
104
105
134
140
120
111
106
134
142
136
111
129
121
107
122
147
127
142
132
131
145
146
139
113
116
121
145
126
101
138
146
108
137
102
150
120
136
136
119
139
121
118
106
124
109
111
127
119
195
201
167
175
201
204
210
155
186
173
120
160
174
175
187
146
158
122
131
150
185
175
216
170
130
156
184
153
131
204
191
137
189
219
211
148
140
123
137
194
212
133
220
136
135
145
201
149
151
190
182
136
165
190
166
169
184
148
184
202
146
190
189
214
155
143
163
186
208
199
143
147
123
144
128
199
132
142
122
187
147
146
123
136
138
218
199
177
150
125
198
136
219
131
146
136
200
193
201
162
208
173
202
166
160
163
197
139
140
170
160
144
170
176
167
139
196
171
179
168
175
185
173
217
182
142
154
176
192
170
185
180
161
100
105
134
100
127
109
126
105
142
144
102
116
136
125
101
123
122
108
147
142
137
145
143
126
136
148
107
150
106
116
122
104
130
146
121
140
134
121
127
125
112
123
118
122
131
112
118
120
138
121
117
137
136
103
146
143
140
145
110
106
118
131
105
139
135
132
112
111
123
143
147
115
128
118
144
124
136
112
107
116
143
138
120
104
113
133
113
122
145
132
119
149
106
111
111
120
133
140
117
116
116
115
143
108
110
104
126
125
133
109
140
137
112
125
144
113
139
129
101
137
142
138
130
120
106
128
127
148
150
130
112
102
133
134
139
121
108
133
114
108
150
139
100
142
101
107
137
111
100
147
125
133
146
113
149
105
129
123
153
149
210
123
202
156
162
131
178
193
124
143
217
157
195
164
198
176
198
205
184
195
201
162
158
165
165
147
169
205
178
158
184
208
185
201
203
127
212
184
219
152
220
144
137
124
172
203
129
183
198
194
206
141
154
151
164
132
137
132
163
187
155
165
123
181
190
189
211
190
149
177
133
181
198
157
211
149
204
124
124
189
209
155
188
186
196
132
212
134
121
133
124
210
157
218
174
138
151
170
197
177
195
198
219
219
169
134
134
187
170
202
176
208
162
132
122
167
126
177
220
173
190
157
166
200
192
168
145
145
204
209
161
158
164
166
149
140
170
127
187
219
194
154
123
203
146
156
114
131
130
144
122
118
138
127
142
119
107
126
125
115
132
128
143
105
103
143
126
128
123
130
128
148
124
131
149
132
118
109
142
120
124
114
122
135
114
136
112
112
129
130
142
142
143
134
131
131
138
125
126
147
111
111
104
146
148
121
132
118
132
108
126
150
117
148
103
138
150
119
131
114
121
104
119
131
116
121
111
128
141
132
131
123
121
121
112
145
113
104
123
119
110
110
138
141
124
114
112
110
103
146
150
103
112
130
112
103
143
131
147
149
135
142
111
112
124
127
101
119
134
127
124
142
150
112
106
111
102
121
109
137
130
103
146
114
112
146
137
100
105
127
146
127
100
131
123
145
131
102
145
116
133
135
159
191
219
137
212
125
146
153
137
198
128
187
134
124
165
212
193
140
213
175
188
135
177
151
186
125
125
212
156
171
148
210
172
127
126
199
163
175
168
191
195
153
150
194
169
124
165
182
133
156
145
191
134
166
193
145
137
135
171
164
153
129
154
218
125
173
216
121
146
142
201
208
188
135
211
186
191
144
122
157
157
185
157
175
156
162
141
215
209
174
151
175
190
217
138
168
135
130
129
160
124
157
131
152
182
189
139
150
165
174
162
160
168
216
145
188
166
181
170
215
159
141
166
179
147
134
171
190
186
193
144
154
201
172
170
194
190
137
217
167
158
217
136
173
120
172
197
219
201
209
137
147
173
127
170
142
128
162
180
173
177
167
125
149
157
178
179
148
215
219
153
218
166
161
218
144
136
146
110
116
102
110
108
116
136
126
146
146
116
134
120
109
120
122
128
150
106
114
115
142
118
114
107
143
150
119
131
148
131
107
118
125
111
117
128
124
112
144
105
129
130
103
110
141
113
142
114
110
112
129
120
131
137
136
129
128
109
147
129
127
131
133
118
104
113
135
100
102
115
135
126
105
132
101
126
138
135
119
147
120
116
104
141
143
111
126
102
124
114
135
135
136
146
140
121
143
127
146
125
110
131
139
100
126
129
126
141
105
128
150
127
135
119
142
107
120
130
143
146
104
135
106
147
113
101
120
118
127
104
134
113
128
134
116
147
107
119
149
112
112
112
149
144
124
110
103
120
150
123
126
127
140
133
142
134
147
134
146
113
182
136
155
188
163
183
132
162
173
169
179
176
198
143
147
163
146
151
140
139
182
172
159
139
135
138
212
154
164
137
187
124
170
147
193
172
138
164
150
135
213
170
209
135
196
219
207
156
158
146
131
146
149
167
144
173
130
164
198
171
192
195
178
128
146
175
146
135
135
195
188
157
144
141
121
140
131
164
186
132
180
143
214
143
197
147
182
195
129
169
188
216
207
155
145
189
143
208
144
192
160
124
200
154
170
181
209
182
131
131
168
123
211
145
144
216
135
167
174
215
167
172
205
133
153
160
187
217
147
146
217
142
121
133
214
214
140
218
214
153
135
134
215
125
126
203
137
148
198
126
210
191
165
167
173
175
171
126
135
157
145
114
148
119
101
109
127
139
125
108
119
119
104
141
111
128
141
104
125
105
136
142
141
115
138
102
134
124
141
108
137
139
141
109
126
149
127
141
139
123
126
124
127
105
114
124
149
117
141
107
108
123
147
110
103
100
124
149
115
122
126
111
125
108
132
101
123
120
126
149
106
120
114
141
113
105
131
102
101
144
108
145
101
138
127
103
121
116
119
141
120
110
137
132
114
118
102
139
125
123
134
118
149
145
118
142
132
103
136
127
148
104
128
125
104
122
137
148
135
140
132
149
111
150
123
110
150
114
124
180
157
211
145
150
216
202
177
199
166
170
139
172
150
201
174
167
181
143
125
169
135
179
139
198
126
125
166
206
148
195
167
185
188
195
216
190
125
138
159
143
143
134
152
175
190
166
217
139
219
201
123
149
188
206
127
220
170
213
191
185
161
185
177
154
162
155
207
152
144
215
142
151
211
158
198
188
219
147
177
176
181
190
159
152
165
189
192
149
131
209
205
199
153
154
143
218
216
127
163
210
214
214
154
139
132
156
166
180
176
197
165
162
199
127
193
139
141
204
121
210
162
210
138
191
183
176
165
157
182
159
159
212
150
140
195
211
156
143
139
157
209
127
219
123
146
150
135
168
126
150
116
108
135
149
114
110
104
132
132
122
123
104
104
110
104
111
107
133
111
105
146
134
141
116
125
129
103
112
142
119
145
127
148
122
105
129
143
123
144
150
109
131
109
113
137
124
148
127
149
134
117
128
131
123
140
120
140
133
123
127
120
125
116
131
136
150
118
116
102
144
112
113
148
101
134
134
119
142
141
102
138
127
148
132
132
107
142
126
146
145
105
121
116
127
119
142
122
106
136
137
103
146
149
112
122
138
148
116
119
109
120
132
119
142
141
117
124
147
140
121
135
106
121
133
132
134
149
103
111
146
117
107
148
130
111
108
150
143
102
148
135
139
147
119
107
144
145
110
125
119
135
168
130
204
164
217
195
154
202
133
132
207
190
165
171
143
154
144
191
202
122
191
159
145
171
157
174
145
212
170
129
134
140
180
144
167
212
146
169
198
162
212
200
208
156
134
165
206
143
211
187
142
219
211
163
189
178
174
123
189
159
184
173
184
154
128
124
220
176
171
217
148
143
136
159
140
191
193
177
124
219
217
178
205
198
133
218
211
189
177
200
167
151
125
146
144
184
189
190
125
131
194
215
160
187
219
139
185
192
120
177
180
125
157
206
156
162
166
201
152
186
184
162
185
170
136
173
207
186
170
186
213
214
172
216
135
203
201
204
177
200
209
182
216
199
173
214
167
121
175
137
178
120
152
219
127
103
135
119
142
148
134
138
107
125
150
112
115
140
108
110
132
150
105
100
107
150
147
143
102
147
142
113
119
112
100
106
113
131
147
108
107
124
147
139
124
147
140
101
115
139
110
142
106
135
133
122
112
106
149
100
149
149
103
101
150
102
107
113
138
110
114
113
114
122
130
130
107
111
104
136
110
140
128
129
108
150
113
131
115
118
121
128
106
109
107
137
103
106
118
109
139
108
133
103
107
132
117
102
112
147
107
133
150
138
128
134
130
126
126
102
149
109
109
131
136
126
140
104
133
108
102
141
113
127
101
123
123
112
125
108
141
117
122
109
146
133
115
180
167
191
197
199
136
211
125
212
216
148
163
148
138
143
154
170
139
127
120
200
206
123
172
217
191
176
179
160
172
177
164
178
189
146
175
167
174
186
160
195
188
158
197
191
135
208
136
174
173
160
178
133
125
200
168
153
144
215
140
208
191
163
161
199
212
183
175
196
220
213
207
135
191
172
214
175
174
125
199
198
148
127
138
120
131
182
134
121
134
182
178
167
176
191
219
155
186
203
170
128
190
172
212
211
147
141
207
144
191
150
148
166
176
175
219
132
203
179
180
202
172
188
217
123
187
179
131
146
151
207
188
126
144
143
131
187
195
179
195
164
181
144
152
208
197
186
164
166
198
130
152
204
209
140
169
121
133
180
130
195
146
142
127
130
128
102
139
101
127
104
132
101
102
134
132
132
109
137
132
134
118
115
115
131
101
141
128
146
131
141
113
118
150
104
148
114
124
104
121
138
104
138
144
112
143
110
112
145
131
124
117
128
124
120
106
134
133
150
146
144
124
139
142
147
132
112
113
122
128
136
103
117
147
114
145
109
136
140
136
112
118
131
104
114
133
145
129
126
101
124
145
141
133
106
114
112
138
135
133
129
138
149
124
136
147
112
147
114
130
100
147
144
114
138
132
137
135
107
126
146
122
149
120
109
110
139
119
127
150
137
135
105
116
118
116
145
105
136
114
117
121
111
137
104
136
147
106
148
105
148
148
111
126
113
130
137
112
110
121
104
132
120
104
114
115
124
125
150
122
114
126
176
215
205
168
144
190
184
208
150
181
184
208
199
130
121
150
210
140
177
152
164
201
180
191
191
212
154
218
215
172
192
138
195
124
209
138
169
146
180
185
124
170
218
183
126
186
135
160
204
186
144
219
162
180
186
180
139
152
121
196
182
133
219
143
212
136
182
213
177
164
218
157
195
136
204
120
124
218
181
168
186
195
159
209
181
124
168
166
187
131
128
160
183
135
155
212
219
175
136
219
202
127
164
207
146
210
151
167
182
210
186
156
173
124
196
158
210
132
144
143
198
216
166
132
141
214
219
185
181
147
157
152
133
194
149
163
186
205
189
165
216
150
182
163
149
156
180
169
184
192
206
179
124
123
210
128
218
210
166
145
199
147
125
133
137
112
148
148
131
146
118
100
138
132
133
121
128
112
125
100
116
101
132
140
148
120
101
127
139
121
119
147
123
134
106
102
121
139
127
111
102
127
122
139
115
142
143
135
138
115
130
119
100
101
125
127
101
150
109
104
112
132
122
110
110
124
140
106
134
139
134
147
135
146
144
112
101
119
144
143
114
113
116
100
136
143
149
139
126
146
104
131
147
104
125
133
124
149
133
145
140
140
117
125
135
120
104
118
114
143
113
112
115
132
118
132
115
112
133
147
139
107
117
129
145
121
130
123
118
141
100
139
111
124
107
135
107
106
142
113
147
137
113
106
139
120
146
143
127
146
128
108
136
142
140
125
133
218
131
143
165
176
177
134
128
204
198
180
173
177
134
163
131
172
193
130
166
204
163
201
150
153
209
125
187
123
215
203
165
196
187
171
124
204
166
138
180
208
149
169
134
182
203
148
190
155
189
183
182
186
158
149
140
129
163
163
142
211
219
146
189
203
131
182
140
177
160
160
197
154
220
187
210
181
169
173
139
148
141
182
170
150
199
204
190
213
188
205
124
121
168
168
182
138
220
152
160
176
150
192
169
200
191
173
178
217
192
206
149
141
201
124
210
159
172
131
210
173
154
214
201
175
179
162
187
138
180
202
184
220
195
149
127
181
203
178
127
169
161
165
199
132
217
164
174
157
127
156
182
136
175
205
181
148
118
147
100
127
103
112
108
137
140
147
125
120
114
133
140
122
102
110
133
147
108
109
103
116
101
113
124
135
122
120
143
126
113
107
109
123
136
141
117
144
109
143
113
149
142
115
114
105
147
144
110
136
141
125
125
132
116
123
136
126
124
131
133
110
148
128
107
102
147
142
136
122
103
132
134
122
142
131
121
115
143
147
131
134
120
105
127
127
118
127
144
121
112
129
109
138
136
124
101
118
105
114
148
121
107
129
150
137
120
140
115
122
128
136
105
123
144
101
150
137
117
130
115
116
130
125
130
120
136
103
142
125
138
113
107
141
102
144
119
173
211
203
186
120
123
179
201
204
179
131
168
206
140
187
123
185
201
155
148
125
219
144
141
181
197
192
212
153
149
214
141
126
145
156
176
149
165
214
166
139
158
123
200
121
177
139
199
153
174
165
166
154
197
177
122
169
199
128
217
132
196
192
190
176
147
141
156
150
217
137
195
195
135
127
164
212
158
220
204
145
218
126
152
219
176
169
216
143
206
135
148
178
187
120
149
170
203
122
166
190
195
171
207
189
158
175
186
172
181
211
125
189
154
214
199
186
146
161
199
197
137
168
201
219
131
171
144
135
154
190
203
109
127
116
110
126
138
131
137
133
129
115
145
106
126
123
139
139
115
114
127
136
138
115
113
119
137
117
112
147
117
102
126
140
149
117
112
145
141
107
104
104
102
117
120
132
111
130
127
142
132
141
102
142
130
127
136
123
122
148
135
121
128
132
128
116
105
100
105
122
101
137
130
127
126
135
144
133
118
135
132
102
108
107
122
149
130
134
121
134
123
129
138
113
124
112
128
123
136
136
138
136
111
107
133
134
128
145
121
135
139
134
116
143
112
145
128
121
127
125
115
115
112
129
131
144
144
136
105
150
128
139
100
117
119
143
108
103
107
101
124
118
131
124
104
147
120
119
150
183
189
153
195
136
198
209
156
172
133
136
217
180
140
213
126
126
195
218
149
193
189
155
177
204
215
210
151
136
127
215
150
135
152
190
192
155
205
206
153
170
210
128
146
132
216
205
194
153
129
205
143
190
204
213
214
141
202
171
159
155
164
151
194
164
204
125
199
156
173
163
183
128
149
180
189
133
187
181
139
122
163
141
149
186
203
218
176
131
150
205
148
129
167
165
138
184
198
166
126
158
156
162
128
182
181
140
196
130
122
208
218
198
206
156
179
188
220
178
155
178
130
181
142
121
145
210
124
158
213
136
148
166
195
157
211
103
127
133
140
132
130
106
119
114
116
116
114
131
141
129
137
125
138
112
116
122
141
102
108
142
118
148
143
104
137
121
122
147
145
115
101
120
148
128
135
126
122
132
142
122
130
132
130
144
126
118
128
115
147
104
118
147
139
131
136
102
144
130
118
137
102
140
126
134
117
131
104
110
100
114
113
116
139
140
127
117
148
107
121
143
105
138
112
136
142
133
150
104
127
147
145
150
145
123
123
100
131
105
119
140
109
111
134
140
117
148
130
110
144
146
115
104
123
114
102
112
111
110
146
143
120
108
112
119
141
129
139
105
129
153
149
199
167
178
161
148
134
164
170
130
160
211
178
125
143
192
142
144
144
203
136
156
205
220
123
148
167
160
146
185
149
150
214
197
149
177
152
202
192
192
216
186
147
193
180
173
166
183
129
176
180
163
136
139
183
202
179
160
137
123
145
183
203
175
207
194
165
141
150
121
180
126
185
198
178
127
144
146
127
218
163
162
168
218
123
219
170
210
131
209
153
191
140
134
167
163
146
156
141
167
124
151
202
149
183
132
173
166
148
178
212
217
155
194
123
219
169
124
140
213
122
218
208
202
133
147
172
190
126
202
126
220
127
172
185
144
174
180
129
148
188
203
178
206
154
215
123
124
123
143
100
149
140
128
102
134
136
110
101
116
136
150
139
131
130
140
121
123
101
103
146
125
103
120
150
124
143
147
128
127
144
116
126
115
147
150
124
144
144
132
108
120
106
150
104
128
111
139
143
121
143
129
126
109
129
132
103
110
141
146
120
111
107
140
116
126
150
134
115
104
107
133
143
120
137
115
131
122
107
140
132
144
127
124
136
112
102
145
116
135
113
143
108
118
113
137
138
115
104
133
135
138
140
131
123
103
147
114
111
138
107
119
114
120
146
124
141
115
131
103
136
124
124
137
113
115
150
143
125
121
137
114
135
139
117
138
124
120
136
148
143
135
149
127
125
104
103
104
104
106
131
101
106
120
146
132
150
127
131
125
128
110
110
119
131
129
167
217
146
124
215
123
213
208
137
176
212
195
129
146
216
158
175
137
216
165
200
140
185
214
219
137
202
164
217
139
140
195
161
129
174
146
121
124
135
142
131
138
123
184
199
147
154
138
197
182
148
204
169
178
125
205
157
160
199
210
202
147
139
144
167
173
212
148
215
166
216
183
211
176
137
187
167
203
131
157
197
151
126
127
149
201
195
219
170
214
217
202
147
137
217
125
215
196
204
144
131
126
127
213
160
219
159
129
202
192
145
157
140
194
177
197
147
148
135
131
198
125
208
208
175
168
155
120
125
177
218
163
144
121
192
139
154
153
210
180
167
147
100
105
133
121
109
130
104
138
133
132
125
116
149
101
147
144
132
150
149
115
118
137
114
137
122
145
136
138
138
143
108
102
120
132
141
149
124
118
140
104
111
113
148
131
126
121
150
139
144
114
137
117
142
143
140
133
139
106
109
126
135
122
129
120
137
113
135
150
150
135
126
142
140
132
121
147
127
145
118
124
133
149
134
138
141
148
126
102
122
103
132
114
141
145
118
104
127
112
145
130
150
128
112
128
141
106
125
139
103
106
122
112
101
129
149
104
110
125
139
115
140
114
107
148
111
107
141
127
106
149
147
137
143
139
117
119
127
160
185
209
155
160
210
154
208
189
150
151
202
178
181
159
141
147
219
143
175
184
167
145
170
207
147
187
149
140
150
156
214
183
202
142
134
148
211
200
199
207
145
214
121
124
180
207
187
216
209
167
185
185
120
175
197
184
127
136
145
138
192
129
159
190
158
194
161
162
213
140
170
212
182
217
167
184
183
209
144
175
121
167
159
148
133
189
218
156
218
153
188
164
161
207
144
156
129
165
128
154
187
183
143
177
127
121
163
127
172
199
147
177
158
148
187
185
195
198
133
135
171
218
129
195
144
220
148
183
131
196
193
218
144
155
181
190
216
159
128
207
220
179
196
207
138
218
157
162
156
150
199
207
210
169
139
140
199
148
170
201
188
186
194
136
124
192
191
144
139
139
109
130
103
121
149
111
115
113
103
104
104
134
118
101
120
123
136
141
138
138
102
109
111
129
120
146
103
143
121
150
117
135
133
120
122
118
139
129
140
121
146
112
126
144
130
112
140
107
142
147
126
147
115
149
145
150
147
108
107
114
147
124
106
138
121
103
122
132
122
118
125
114
118
139
130
115
103
127
108
138
132
125
109
130
144
121
118
117
102
123
134
108
121
105
140
138
107
140
106
113
118
120
145
100
138
142
107
119
143
130
125
127
129
133
133
132
131
119
100
141
137
150
141
143
105
114
131
131
177
211
192
168
206
183
141
120
169
213
189
208
131
189
213
140
172
188
198
158
170
183
209
121
216
144
133
129
216
213
210
219
137
150
145
157
192
123
173
192
167
197
201
144
195
156
124
138
158
128
213
195
152
202
120
162
126
199
132
128
214
183
137
131
209
201
199
145
135
199
143
169
138
202
212
138
173
132
125
202
210
162
172
147
127
206
133
176
218
215
201
174
160
141
187
188
121
184
174
170
183
137
164
132
210
169
180
139
185
134
170
200
135
159
149
193
181
168
145
203
146
171
185
158
219
199
195
165
186
198
202
131
122
143
195
168
214
212
158
129
190
204
132
214
126
186
138
177
186
154
130
149
210
187
179
120
161
130
170
215
194
140
181
138
210
209
155
173
124
214
121
134
106
110
101
139
148
142
145
128
143
131
125
144
136
134
116
139
136
138
129
142
123
139
114
119
133
117
146
150
132
113
108
135
109
139
149
124
125
117
141
131
107
119
117
133
144
129
136
149
141
124
113
133
128
101
125
145
147
130
133
123
131
142
132
129
111
133
142
137
130
100
147
122
123
125
136
108
147
129
129
140
108
146
137
136
116
100
114
124
142
121
140
100
100
123
131
121
118
106
145
145
119
111
130
129
145
115
104
102
136
114
113
100
147
136
120
126
132
100
109
113
112
118
113
146
114
148
150
141
108
136
126
127
128
134
135
124
118
148
109
119
115
134
144
131
141
144
121
131
143
150
143
144
143
101
127
100
127
125
113
117
132
125
105
119
118
138
117
129
114
126
108
211
146
159
128
143
139
183
217
169
206
220
211
159
217
194
194
175
138
175
129
150
125
126
166
211
150
213
172
169
129
140
146
129
183
195
134
149
151
178
217
167
155
174
120
163
160
133
188
132
203
142
140
182
159
165
205
208
131
127
207
202
215
185
147
191
167
172
145
130
144
165
207
197
176
207
216
165
220
136
164
204
202
188
217
132
157
206
187
163
187
144
156
218
142
183
171
168
217
171
154
151
139
165
157
135
205
134
126
135
149
163
130
190
208
176
179
120
155
167
122
180
189
195
121
143
146
134
135
134
102
114
134
109
104
118
127
150
145
145
150
124
129
123
128
121
127
114
146
142
147
145
101
103
137
109
146
108
105
105
131
102
148
107
134
143
107
121
102
113
110
147
101
108
127
128
136
129
123
115
116
125
114
128
123
134
144
135
149
133
100
103
119
132
130
105
145
136
132
138
124
126
104
107
140
136
128
111
137
105
134
136
142
121
102
132
127
109
124
106
105
121
103
134
106
128
110
136
128
135
135
111
148
123
133
124
114
119
115
112
144
147
112
143
119
104
123
119
150
118
102
129
101
150
136
104
135
145
134
130
140
115
110
103
110
134
120
130
144
102
110
108
124
125
109
108
172
134
176
126
171
198
146
157
182
198
163
180
122
134
151
218
204
190
175
125
162
208
200
120
208
178
208
211
212
207
197
154
170
125
171
144
141
158
178
160
165
149
159
141
193
158
212
159
202
129
192
141
175
208
139
195
141
198
198
180
142
157
159
186
175
134
170
142
156
122
137
137
170
214
180
151
204
217
125
197
185
130
157
136
158
166
173
203
175
150
203
146
195
170
173
184
214
124
198
140
152
144
149
211
141
154
186
126
158
158
161
139
128
149
129
147
150
158
120
163
130
135
162
212
137
205
142
159
154
179
214
211
133
134
158
123
126
185
213
121
136
140
218
125
183
202
112
149
103
109
131
116
112
110
134
108
101
106
128
138
145
140
133
123
120
143
128
139
103
143
139
108
129
134
148
104
149
110
134
109
101
102
115
135
131
122
123
110
131
128
123
124
107
113
104
118
142
115
140
106
107
143
138
126
147
132
107
117
147
121
129
121
125
102
121
109
149
126
116
101
122
150
122
103
138
145
124
125
116
117
135
117
102
145
143
139
116
130
137
142
126
132
103
119
146
140
138
101
116
121
113
107
129
109
144
126
109
117
134
145
138
141
108
141
143
115
126
144
145
123
142
148
130
144
102
142
140
120
144
133
143
133
115
125
215
194
164
212
205
213
151
194
204
203
155
195
217
184
150
164
196
208
212
133
215
163
128
148
120
203
182
131
121
181
196
209
180
191
136
200
120
191
171
151
178
141
142
217
151
120
205
179
140
122
177
121
172
126
125
131
134
185
179
157
144
208
195
167
182
201
164
191
212
141
148
166
204
151
187
183
142
170
214
178
191
162
133
211
185
202
138
138
186
196
213
217
124
157
161
126
159
198
153
190
197
185
132
128
131
185
127
144
168
187
163
132
121
209
167
145
130
211
145
219
163
163
219
125
140
181
217
171
154
150
207
207
143
184
130
174
122
171
199
207
217
184
120
167
209
160
104
148
130
101
103
128
120
136
115
115
121
127
134
136
107
140
108
117
132
107
131
139
144
116
120
149
148
115
135
100
141
124
112
135
134
148
101
148
106
136
124
104
111
136
125
128
137
140
126
110
119
115
109
127
117
119
108
138
150
145
149
140
105
140
128
106
113
118
110
114
101
128
101
128
147
135
124
138
106
105
125
142
148
143
138
119
140
122
143
150
147
108
109
140
103
132
115
139
133
145
109
115
149
123
125
124
136
146
104
112
112
130
150
128
101
125
106
135
131
119
124
122
135
131
136
136
103
107
125
126
133
129
102
142
137
149
115
141
115
135
145
101
122
112
137
143
127
101
146
133
137
120
112
139
147
170
220
215
189
204
216
168
199
163
206
209
140
208
187
139
213
120
135
131
140
204
190
163
202
174
172
188
198
162
141
171
130
198
197
167
207
173
202
174
127
211
155
135
176
178
201
138
162
146
131
216
125
131
139
186
180
186
163
206
153
200
144
128
165
150
181
220
200
170
147
213
129
157
128
190
171
194
186
139
164
219
215
129
136
136
139
140
126
216
209
167
138
184
167
167
198
122
217
120
128
175
165
150
168
133
129
147
147
170
163
172
169
206
171
146
211
205
141
161
139
152
210
184
201
182
204
144
135
145
141
147
137
166
170
208
129
181
160
184
210
156
179
209
148
130
115
127
105
130
141
118
101
124
111
146
130
105
147
126
121
118
113
133
112
116
117
112
133
106
132
128
116
113
122
110
128
123
110
136
124
114
113
107
140
124
134
114
104
122
100
120
137
132
110
135
101
116
132
109
140
131
120
146
131
104
120
131
140
128
100
101
148
108
145
148
150
100
146
116
112
101
109
134
120
100
112
115
119
142
140
102
131
106
110
109
110
119
100
135
118
136
128
114
127
132
103
130
143
138
108
106
129
150
120
144
136
147
107
135
109
127
126
138
127
126
150
133
144
137
104
137
145
130
108
143
104
108
142
144
119
129
110
127
119
147
118
124
130
137
128
115
139
101
140
144
147
149
138
147
105
123
119
105
136
149
141
143
110
126
218
173
155
130
130
203
159
178
166
215
204
196
152
198
127
214
176
127
131
166
140
196
143
164
151
165
181
207
151
147
134
160
151
206
186
172
210
121
127
130
219
164
184
123
139
156
136
137
189
147
145
217
216
181
160
165
163
136
193
184
216
131
182
122
172
215
182
175
219
125
164
174
150
204
204
155
165
182
195
148
139
138
169
129
156
182
126
207
182
174
121
216
199
205
137
137
141
168
213
217
179
139
152
219
220
122
215
127
149
179
173
121
175
144
140
214
120
133
189
175
132
214
194
144
142
168
199
202
199
156
190
209
137
180
220
196
188
170
184
175
212
172
134
198
122
147
204
152
183
214
168
188
164
170
141
159
220
182
156
134
147
112
119
116
150
112
141
126
142
149
109
143
126
103
110
101
101
116
149
112
149
103
134
103
127
105
108
144
126
150
137
145
114
110
132
142
144
131
116
141
113
148
139
145
107
102
125
109
114
110
100
143
135
141
121
106
119
104
123
106
142
150
123
150
134
139
127
112
119
142
137
142
126
117
133
109
146
144
148
123
104
109
105
122
119
123
148
120
125
108
144
150
107
145
118
128
131
119
111
103
109
143
135
144
112
124
127
141
121
110
143
116
120
142
129
108
125
147
125
145
143
119
110
142
142
142
119
131
148
138
112
124
128
100
112
117
150
200
179
196
179
165
208
191
142
185
147
121
128
179
129
176
147
130
204
219
188
125
170
126
215
189
178
167
135
169
181
211
171
130
217
153
206
123
200
155
149
167
125
137
135
133
197
158
164
174
184
156
208
123
181
148
203
160
123
167
127
190
150
217
212
178
184
123
203
194
124
216
133
139
177
190
210
188
147
170
152
217
122
194
167
192
127
162
152
184
150
137
203
201
170
219
216
123
160
180
137
208
124
138
137
212
132
215
126
208
131
187
208
120
140
171
175
200
146
183
189
182
159
207
166
175
173
173
130
134
172
205
133
182
189
200
162
148
137
185
127
121
158
165
161
182
218
182
181
163
165
157
142
198
129
143
154
210
190
120
219
180
199
152
172
161
167
166
188
184
133
183
210
219
167
200
100
119
107
110
132
124
125
132
141
112
128
105
147
128
141
142
124
131
144
107
104
101
111
136
129
115
134
141
127
150
113
112
130
112
147
111
133
122
149
102
112
141
129
125
129
150
111
144
108
142
142
122
116
111
148
127
107
143
138
135
114
101
146
105
119
105
133
118
142
145
118
114
143
144
136
114
103
106
123
128
107
100
145
139
132
132
136
146
113
121
100
147
110
142
133
100
133
120
111
138
139
101
137
140
149
116
111
128
133
131
146
135
118
138
133
122
148
125
124
136
141
110
138
111
123
106
141
115
123
120
116
104
150
111
124
135
106
116
128
120
107
140
141
137
103
103
144
106
167
209
218
201
135
136
188
160
168
172
155
178
122
141
120
172
198
172
129
125
212
139
135
189
132
190
136
144
130
181
153
133
207
210
164
148
134
135
170
218
178
219
134
151
210
180
152
161
150
150
189
192
174
212
127
134
166
173
133
130
163
132
216
127
180
201
146
136
129
132
123
122
216
125
177
173
166
145
172
139
132
150
143
133
160
163
131
166
208
132
198
169
185
143
220
139
182
175
171
165
144
151
161
185
158
211
211
140
129
184
173
180
126
159
123
180
195
189
146
209
155
153
191
153
149
199
158
154
155
183
172
200
126
172
151
121
179
155
152
175
134
202
162
197
142
127
161
207
126
125
156
120
215
203
128
215
217
172
173
147
141
178
216
219
157
159
198
153
179
184
202
139
137
133
117
100
106
148
133
130
149
115
109
118
120
149
119
134
122
147
101
126
117
120
104
140
108
117
141
125
113
100
142
105
111
143
131
111
142
105
115
111
117
113
106
131
109
133
149
115
142
104
117
119
150
147
113
113
109
150
148
132
108
148
138
130
121
142
147
127
103
147
124
107
137
122
136
135
135
106
104
126
147
134
120
135
145
123
144
126
104
140
127
140
102
129
100
122
147
132
112
145
142
114
124
127
103
101
104
124
107
130
116
110
104
142
110
119
143
139
103
117
102
142
129
120
135
149
135
103
124
114
123
115
137
118
134
146
127
105
109
113
121
147
123
146
129
126
131
108
132
125
112
134
132
114
148
119
143
145
127
116
132
135
128
103
146
149
140
148
106
113
139
135
105
134
142
188
159
176
133
178
195
169
131
183
130
140
141
207
167
200
127
144
189
146
210
189
142
194
197
162
169
202
137
142
172
139
213
129
128
152
201
124
127
184
131
210
128
165
144
161
186
160
156
218
143
177
135
165
155
153
140
140
198
169
124
128
140
216
167
202
155
181
216
155
208
181
153
154
189
137
153
151
159
217
159
132
199
213
164
171
210
206
127
163
210
178
191
217
201
147
173
162
149
203
196
162
150
148
197
211
194
211
152
216
220
131
170
195
185
181
139
167
164
155
145
155
203
210
135
193
146
207
155
131
143
178
136
176
169
185
220
211
180
162
190
140
198
123
213
220
217
187
133
209
147
169
198
204
192
118
140
122
145
133
145
126
136
135
148
105
140
122
143
147
139
116
131
110
134
141
108
104
141
133
123
104
123
132
119
109
132
140
125
139
141
133
139
109
133
148
149
139
121
139
110
113
121
131
112
125
121
128
127
105
120
123
147
140
122
101
122
134
100
140
122
127
103
135
133
113
139
134
115
145
129
150
141
119
134
141
104
145
135
120
139
110
131
138
113
150
116
150
110
105
100
118
127
125
141
114
150
115
149
122
128
109
101
140
118
133
112
137
133
100
131
124
149
133
142
126
122
121
110
137
130
143
120
116
124
128
108
127
115
122
150
143
111
139
128
130
138
101
104
112
140
100
116
144
144
140
111
111
100
150
107
149
131
128
148
112
125
177
146
144
182
130
152
202
158
146
180
166
206
182
147
152
153
207
169
177
204
220
167
208
153
199
164
144
122
146
142
174
141
187
176
210
198
165
128
211
200
168
219
127
126
188
213
129
178
179
175
205
199
173
164
191
150
207
142
146
214
138
151
144
188
149
199
163
206
135
139
205
126
132
203
176
215
187
209
212
216
138
129
129
177
138
138
195
219
149
213
134
154
207
160
160
189
178
216
206
215
134
161
182
132
125
139
198
191
182
162
145
144
120
219
156
185
204
175
183
124
129
206
152
153
220
175
174
188
209
184
216
174
155
150
127
141
151
142
153
143
196
169
209
192
202
183
146
147
142
185
172
213
168
172
141
131
146
137
128
124
119
112
125
106
102
127
107
129
115
143
111
124
118
106
144
120
127
107
129
143
147
103
129
123
142
114
134
113
134
146
100
130
134
101
106
121
137
139
132
145
123
100
110
101
144
111
115
111
136
143
111
123
106
134
140
131
116
136
124
120
131
131
110
102
112
124
106
125
128
131
137
132
115
107
118
112
128
113
116
120
132
102
128
144
126
102
119
100
117
143
141
126
136
102
137
116
135
113
102
122
143
116
129
135
132
128
113
136
138
102
126
109
145
142
121
121
123
142
112
100
144
115
103
140
126
135
145
127
182
182
216
130
141
158
153
152
171
170
171
174
158
149
206
202
142
213
161
218
180
191
210
220
197
155
125
212
183
125
196
220
208
125
139
219
172
210
147
210
182
129
188
188
155
174
180
120
138
167
146
188
145
151
153
135
197
161
185
181
168
129
154
220
141
132
150
219
206
220
176
212
150
164
176
138
150
160
212
216
182
125
211
165
164
179
132
146
215
139
173
209
212
197
135
196
196
184
180
213
192
184
135
175
145
179
138
160
194
173
162
140
164
203
157
178
123
217
121
168
151
189
160
209
160
184
182
148
167
188
134
126
150
127
129
147
121
135
127
130
148
107
124
105
118
146
140
142
125
125
113
119
106
127
118
125
117
146
123
100
119
103
147
113
132
115
128
106
122
135
148
106
109
109
131
116
135
136
150
104
109
107
118
112
141
141
101
133
136
142
129
127
120
149
143
137
136
121
123
136
142
127
125
126
131
133
122
141
102
102
122
117
116
114
121
124
103
110
103
128
131
140
115
101
138
143
112
148
128
101
142
145
122
118
128
105
150
149
135
138
102
145
100
150
139
124
137
122
102
117
107
130
143
147
122
123
144
131
145
110
119
122
128
134
120
134
146
122
109
137
147
102
120
136
138
149
131
205
175
217
137
206
187
148
184
197
169
154
160
195
132
191
196
180
200
195
144
209
148
205
183
183
163
163
166
214
125
139
196
127
166
204
192
213
198
199
169
174
141
151
213
155
192
139
186
128
210
136
157
138
120
190
195
199
190
160
157
210
195
204
195
189
139
136
142
189
217
137
156
154
171
140
139
162
189
143
142
136
192
131
120
158
196
168
212
214
127
137
133
210
181
140
151
170
179
120
169
129
172
210
200
203
207
215
142
211
202
219
175
121
177
136
148
162
208
123
220
148
217
131
132
135
122
201
206
213
179
125
153
184
190
126
150
154
171
210
116
122
136
118
135
140
116
112
103
139
148
145
133
118
147
142
109
119
125
114
150
115
138
105
129
139
144
111
108
143
114
147
106
136
110
107
112
119
116
119
107
126
147
142
111
137
128
144
145
139
111
125
105
142
113
128
103
124
122
116
111
138
140
114
140
139
104
104
147
120
117
129
120
130
127
120
130
134
135
105
123
148
119
149
119
108
100
104
141
110
148
137
120
140
117
103
137
134
104
128
149
135
121
107
142
126
120
143
105
136
124
121
137
125
136
118
132
139
143
150
102
138
104
144
121
134
142
132
114
126
141
135
129
114
101
141
107
202
164
217
127
127
186
186
212
168
196
181
197
167
186
140
189
203
208
189
140
128
138
190
212
136
209
190
211
214
152
167
215
120
211
220
165
170
190
121
163
189
178
142
214
161
134
220
203
163
155
176
196
167
200
181
204
147
203
198
172
211
132
172
141
180
153
139
144
135
139
128
132
124
174
190
191
141
132
182
178
131
154
190
155
135
134
129
160
217
170
143
120
164
188
162
216
215
123
121
148
151
181
148
132
210
185
205
166
196
131
199
209
155
194
169
175
216
191
147
202
211
183
217
193
213
220
191
157
196
160
159
196
132
208
122
147
164
126
170
145
180
155
138
175
137
190
217
177
204
187
202
137
177
220
210
211
212
171
197
176
220
217
207
203
157
213
217
138
190
159
116
134
134
125
132
114
119
138
109
141
138
118
112
114
131
138
112
140
149
131
146
111
143
136
135
125
117
113
144
100
147
128
119
112
124
116
122
114
120
127
119
142
123
136
125
114
136
131
135
110
102
144
123
134
110
129
100
115
143
145
127
115
134
121
148
125
124
122
121
117
124
115
113
103
135
110
140
136
139
130
103
119
131
116
141
140
131
111
118
104
120
119
118
115
142
131
149
121
108
127
102
146
129
101
101
133
101
100
139
130
115
123
105
125
105
132
114
138
135
123
130
149
144
114
128
121
138
118
105
132
138
145
112
105
146
133
128
126
132
143
146
103
145
120
103
126
112
116
102
116
145
140
126
116
133
150
127
173
124
128
120
211
143
171
156
215
154
131
133
216
217
172
178
203
131
166
136
182
205
132
120
154
129
190
215
146
189
135
216
125
153
215
155
200
217
146
187
186
196
189
131
178
190
143
128
216
173
197
153
150
130
157
140
202
196
185
129
177
184
157
178
155
174
192
184
188
168
215
181
132
183
177
209
140
202
189
125
127
123
173
187
132
150
143
140
141
184
132
140
121
200
175
182
125
144
141
209
132
202
199
186
204
164
170
202
198
149
145
174
132
212
217
155
207
218
214
188
127
162
138
182
177
174
166
126
202
172
210
178
127
176
127
142
156
208
137
198
151
140
133
216
149
139
155
215
198
195
129
156
143
171
189
215
154
172
157
203
196
136
212
151
178
135
143
150
126
196
163
196
131
210
114
120
117
150
108
150
129
126
144
145
115
107
127
139
124
109
143
128
146
100
150
144
141
126
133
142
122
150
108
124
118
104
116
136
114
102
118
143
116
131
147
109
124
106
124
140
108
114
103
138
110
148
141
105
143
110
122
100
126
100
100
107
114
145
141
111
129
141
127
143
121
125
131
132
120
134
127
113
118
113
122
117
111
111
144
128
113
142
113
126
141
122
142
115
150
145
112
142
135
126
146
134
149
135
130
144
119
147
137
114
131
103
126
114
110
120
138
123
104
111
103
140
126
100
125
135
122
134
116
147
100
115
112
211
142
187
125
178
159
127
199
141
128
165
170
192
182
196
157
151
134
170
208
142
186
168
131
175
214
184
191
155
170
152
180
215
126
204
140
177
131
215
170
192
131
171
147
198
166
187
196
123
148
192
144
121
152
215
166
152
151
137
132
140
208
182
192
200
190
203
145
129
171
138
151
206
187
197
133
148
212
135
191
217
185
214
127
152
202
132
189
122
148
189
176
160
176
207
206
163
165
148
215
205
200
157
161
167
150
147
168
219
151
130
191
191
141
153
162
155
142
214
218
193
138
147
134
131
154
151
187
215
140
155
160
169
186
146
150
101
100
127
123
147
136
126
130
144
126
114
148
150
139
149
103
108
143
115
150
127
149
150
116
115
120
131
109
102
113
109
110
138
139
118
115
112
111
134
139
102
130
118
127
142
102
104
132
148
128
128
147
150
122
123
148
144
142
145
140
111
124
131
141
112
120
136
149
129
139
135
104
121
107
106
131
107
132
113
132
117
116
105
142
117
145
105
137
142
118
101
118
145
115
110
107
131
139
138
126
135
104
142
120
142
117
113
108
142
111
104
133
132
123
140
125
136
116
127
131
142
101
126
128
109
123
110
138
146
133
106
134
107
128
124
106
106
146
134
108
104
143
107
125
118
115
119
119
140
139
113
117
102
117
142
125
116
115
129
118
131
122
145
126
122
121
112
144
122
141
102
123
147
189
172
215
215
213
135
187
134
125
182
205
203
208
192
207
157
208
220
131
123
203
187
189
163
149
219
199
139
160
195
147
211
152
198
159
156
151
126
163
139
188
126
198
153
195
175
161
139
143
148
194
128
158
160
210
189
138
176
204
196
198
190
136
185
178
185
176
120
192
160
189
158
206
206
142
125
158
141
123
209
194
158
181
173
125
144
219
179
185
152
170
137
210
139
219
179
178
158
168
136
191
196
162
133
125
210
183
176
199
185
128
138
131
125
184
211
147
173
122
140
168
147
137
197
200
164
199
172
165
187
167
158
191
147
136
189
209
180
149
161
173
127
153
155
214
219
196
131
190
196
189
145
127
205
208
132
140
144
131
125
134
108
126
143
113
121
132
119
134
107
104
147
139
138
116
118
131
145
143
145
142
136
126
145
111
147
101
140
120
128
145
145
114
129
144
116
106
102
102
112
130
147
104
109
107
120
118
122
108
147
102
126
140
132
113
139
122
116
122
107
133
126
108
114
125
116
122
145
111
122
119
104
138
148
144
110
115
136
118
101
117
148
117
107
143
134
115
136
127
145
127
142
128
140
119
121
115
140
106
123
108
107
136
129
149
145
114
131
127
147
145
123
111
126
139
126
144
109
128
117
142
107
126
132
124
124
118
128
124
147
136
138
132
122
112
100
104
128
101
109
100
119
105
126
133
145
118
124
120
154
217
146
187
212
206
191
203
196
197
218
127
122
193
135
160
207
217
121
172
141
139
173
180
196
189
163
132
216
130
183
122
189
145
130
161
219
197
198
182
195
197
188
203
151
200
184
212
162
210
166
210
213
188
180
124
168
200
160
171
208
162
219
189
121
210
132
211
132
158
198
218
142
143
185
131
203
159
140
218
165
191
194
168
177
160
175
218
215
182
172
121
166
202
171
193
169
123
147
220
210
174
128
160
211
176
137
144
216
151
218
200
152
204
170
199
160
152
133
164
211
193
124
182
177
173
149
198
219
217
215
167
152
179
213
172
158
136
141
198
208
175
131
131
106
135
112
135
145
103
117
116
119
121
107
141
143
145
123
121
116
143
131
110
129
114
115
118
130
109
106
134
125
113
140
142
122
101
143
125
146
111
150
124
129
125
107
120
133
121
102
133
113
144
108
105
118
111
104
106
144
131
147
119
116
122
126
107
137
136
140
143
121
125
141
142
121
100
127
141
107
104
120
148
132
130
121
110
146
147
147
118
106
145
130
137
114
111
147
121
121
111
106
118
109
117
117
144
111
136
103
124
150
119
101
119
140
107
144
108
115
140
103
135
106
100
136
135
129
144
125
104
100
146
102
109
146
143
104
107
130
137
112
143
115
135
135
124
114
104
121
109
117
135
121
118
142
111
105
145
220
145
198
219
215
189
159
187
219
168
179
155
157
155
127
127
190
192
187
129
205
128
193
191
185
138
186
137
168
205
149
154
188
189
183
181
150
190
201
141
220
187
141
167
176
197
176
155
209
140
133
213
176
124
126
170
187
123
195
157
158
159
151
135
217
161
206
165
213
161
173
158
122
153
145
204
147
135
169
210
137
126
181
190
220
130
167
216
127
181
183
136
155
181
211
202
218
142
158
177
160
196
123
203
196
184
188
214
217
157
131
179
189
152
188
179
140
149
136
172
188
170
121
214
183
190
162
214
158
162
151
196
210
177
182
154
126
189
136
207
213
198
190
220
132
170
207
202
134
177
136
181
199
156
200
201
217
215
150
115
105
112
129
139
120
150
146
105
110
111
116
112
135
123
139
130
147
109
142
136
141
127
107
135
116
100
106
126
148
130
129
121
144
116
114
124
117
112
150
141
126
130
130
109
145
104
105
120
144
133
122
104
145
149
112
144
100
117
103
110
112
112
147
146
129
133
129
150
131
136
106
115
117
109
111
138
148
109
113
138
148
139
109
126
132
139
107
112
142
134
108
149
110
104
124
138
125
148
144
104
103
124
131
128
107
128
117
125
120
128
109
118
117
128
116
106
120
150
147
107
133
141
116
117
114
119
135
132
110
139
136
148
109
146
147
172
130
195
126
218
198
167
200
186
207
172
192
149
163
140
216
161
214
166
205
137
204
195
126
125
212
182
141
199
181
122
207
177
203
176
194
211
131
193
179
220
215
126
204
123
199
167
174
184
143
180
198
136
194
206
120
180
209
206
139
154
137
141
125
194
211
141
198
178
194
182
146
162
165
198
167
155
148
124
149
213
195
134
135
172
177
220
122
198
199
134
174
135
139
121
122
198
191
184
201
215
212
193
180
129
128
157
170
181
145
170
157
177
143
125
217
170
121
161
167
214
166
208
180
148
154
180
121
174
146
204
175
203
212
166
169
161
151
158
220
185
196
136
158
133
195
163
204
192
160
176
145
122
170
201
148
122
127
142
123
115
123
121
104
136
126
144
143
131
100
134
126
129
122
150
125
139
119
122
147
113
142
107
143
118
141
133
103
145
111
131
150
114
142
124
144
122
145
138
128
100
107
112
149
112
114
122
114
118
131
104
131
107
149
140
104
140
138
132
149
121
124
141
128
133
138
133
118
114
118
135
122
106
132
133
104
139
140
149
106
140
119
130
108
146
148
125
119
141
131
118
115
123
139
133
134
121
145
140
145
124
110
140
118
148
119
113
128
138
142
121
150
114
131
123
107
143
150
112
105
111
143
127
101
148
142
134
100
129
134
113
112
104
129
138
119
101
149
132
116
146
118
131
125
131
101
149
125
143
122
115
146
119
109
101
143
147
120
106
147
131
143
131
130
134
143
128
144
141
169
181
215
122
130
135
157
184
183
171
188
199
182
165
171
185
126
189
144
124
137
215
211
160
182
186
204
166
179
130
183
133
193
176
196
214
172
159
168
178
202
162
128
157
215
135
132
160
132
138
188
187
187
191
128
178
137
154
195
200
200
127
143
149
120
207
159
186
214
155
186
179
218
142
138
201
127
180
133
168
161
154
197
150
211
121
203
166
170
160
150
150
122
208
183
170
213
175
196
216
128
187
120
149
144
188
135
141
198
207
154
136
154
121
157
161
154
185
207
151
202
168
180
147
150
212
218
157
197
141
159
194
167
198
168
185
217
173
127
132
215
137
140
133
188
185
210
209
153
195
199
209
219
210
131
160
136
130
213
187
142
145
124
110
132
125
110
114
133
109
143
139
110
136
133
123
143
113
122
111
123
117
148
109
103
134
131
111
111
104
149
135
107
108
123
119
110
149
120
116
117
122
127
114
109
113
136
137
132
111
123
126
142
117
138
139
103
140
125
123
148
115
140
114
127
145
134
120
115
136
137
122
148
123
110
128
128
120
142
145
107
150
122
139
106
136
123
123
138
145
108
125
140
113
124
130
122
102
103
139
139
150
150
133
128
123
113
119
127
111
149
133
137
106
142
134
126
112
140
102
139
141
140
120
105
105
113
119
106
107
144
128
146
118
132
142
139
100
138
147
132
103
119
104
136
127
108
107
150
113
138
139
131
107
139
128
162
189
165
136
198
162
212
160
186
203
129
171
219
210
146
134
188
164
202
178
163
125
205
208
214
125
138
211
164
188
139
137
199
170
161
171
166
188
144
188
216
187
161
131
183
150
164
135
132
163
133
163
144
214
192
177
139
208
204
124
158
162
214
153
150
197
163
190
143
178
199
145
124
135
191
160
130
174
196
124
206
148
216
147
203
196
165
191
122
131
201
168
134
142
121
160
133
152
127
200
124
151
147
202
196
125
135
189
144
131
213
139
148
153
186
152
216
182
127
171
127
182
145
137
179
172
152
133
103
149
100
135
127
135
109
106
119
142
108
129
119
133
115
107
136
119
102
139
129
107
137
144
139
140
134
143
113
148
107
110
100
148
133
148
138
144
122
106
150
115
149
109
142
108
118
150
123
127
126
109
147
140
144
109
107
131
123
131
129
101
114
133
147
149
118
137
103
104
147
130
124
100
130
150
129
117
118
107
141
118
138
112
121
125
128
100
127
114
136
135
111
109
146
113
130
135
116
146
139
126
137
103
131
142
107
133
128
118
122
106
135
113
142
104
140
144
121
136
149
115
134
131
107
133
115
133
105
103
143
135
119
124
100
143
127
129
127
112
143
144
111
149
142
140
113
109
104
118
100
111
118
135
105
142
132
116
111
127
126
111
116
126
120
121
123
107
144
131
135
181
168
165
181
122
143
141
184
219
217
143
177
198
199
181
134
177
204
146
171
151
189
136
202
208
194
188
159
209
152
121
142
133
188
164
120
143
210
193
195
167
145
202
175
138
184
202
169
194
182
171
177
130
218
187
206
173
205
213
159
160
150
193
170
143
210
190
172
211
173
136
121
167
171
216
220
209
157
153
121
177
219
147
185
199
163
171
196
200
123
146
144
203
177
211
137
195
133
150
215
213
196
152
198
150
176
143
152
156
200
127
171
179
166
154
179
125
155
172
206
184
132
166
134
140
161
204
151
218
120
140
176
210
215
176
177
201
218
185
208
127
157
120
188
126
117
144
141
123
138
128
146
105
117
125
148
123
134
131
120
111
104
147
106
117
127
125
116
144
131
130
131
108
126
120
107
107
150
134
124
131
116
103
138
132
142
132
147
108
127
146
117
146
105
104
100
129
147
109
138
150
145
102
134
125
100
149
139
141
126
126
129
120
118
109
108
118
129
137
100
127
150
127
128
100
103
121
127
137
130
112
111
101
110
127
136
112
133
140
127
130
146
111
144
143
132
104
105
112
146
117
125
133
148
150
108
147
100
104
110
122
140
142
123
103
119
110
126
124
134
136
116
150
108
140
108
147
125
100
137
131
105
120
115
110
150
120
128
136
139
135
137
123
106
114
103
133
125
142
118
130
123
134
199
125
209
156
130
154
194
120
216
172
206
219
128
147
162
122
159
161
120
162
123
180
196
161
159
204
149
122
205
150
122
194
125
124
150
187
144
131
144
152
212
160
131
181
207
191
206
154
214
130
212
186
125
160
191
123
133
132
188
202
148
211
174
206
154
195
173
123
170
154
208
180
200
209
120
181
149
201
180
218
143
215
181
191
188
146
188
158
213
199
210
179
120
219
143
209
139
145
152
135
155
171
129
186
139
123
160
195
196
193
208
186
183
181
157
134
194
138
181
155
132
129
132
185
162
121
129
141
139
123
197
169
165
130
124
195
124
102
118
143
144
140
145
118
111
112
108
133
141
121
120
113
118
103
141
117
106
116
125
132
140
116
149
113
115
129
149
141
126
149
102
146
134
119
124
142
144
135
133
101
140
115
140
126
104
137
148
112
138
139
140
109
106
104
137
135
122
133
104
142
106
144
117
101
130
119
104
119
132
130
108
134
100
134
105
147
148
131
103
115
101
143
135
124
116
133
146
122
118
118
124
109
130
143
121
100
134
147
114
113
147
116
113
106
113
120
134
124
113
107
138
113
139
137
149
123
131
149
138
139
102
107
146
136
141
108
125
140
110
123
114
141
139
141
102
122
147
107
109
124
112
108
120
128
143
145
118
101
100
118
136
170
193
216
157
204
170
203
132
210
131
141
142
139
157
139
158
157
144
217
137
185
209
121
187
204
169
139
146
150
167
138
138
216
148
145
197
159
143
148
136
220
199
137
191
126
202
146
165
169
134
120
189
176
138
134
182
173
160
165
140
207
169
143
189
159
178
129
204
220
153
158
204
203
131
134
131
184
208
150
201
166
135
148
141
134
127
183
120
158
130
127
150
133
127
160
195
179
213
211
124
177
220
179
128
193
159
154
157
192
190
166
200
214
213
136
125
184
170
143
219
179
190
155
122
175
205
204
123
142
130
133
220
176
203
187
126
209
211
168
212
140
143
162
168
150
206
142
140
204
217
129
122
102
106
104
150
150
103
145
120
109
115
123
111
116
121
105
110
115
107
121
117
142
131
100
150
111
145
131
104
100
130
115
150
132
149
117
128
126
126
107
128
116
139
134
127
142
126
124
126
123
135
135
124
122
130
112
117
128
106
137
147
140
118
138
137
141
149
135
118
129
105
127
128
108
129
125
126
104
121
150
147
133
134
132
104
148
121
131
114
133
122
101
130
138
119
137
128
115
144
150
146
103
105
108
121
116
110
132
142
110
122
140
118
139
123
117
140
146
123
126
129
131
132
149
133
118
111
133
216
149
183
160
120
176
178
214
132
189
152
134
153
168
190
149
132
138
174
157
147
177
202
193
216
188
186
156
171
153
159
137
169
200
208
204
175
195
198
163
149
170
209
146
195
186
136
209
161
156
175
140
173
194
181
181
128
131
128
158
212
179
160
177
157
133
135
120
197
218
182
185
157
209
125
190
161
184
145
139
145
214
162
206
217
185
217
139
209
204
194
202
219
131
169
167
193
207
195
146
128
176
184
126
143
168
133
134
135
149
125
173
145
220
207
180
215
220
205
205
174
210
216
196
217
120
204
168
161
182
151
136
210
216
199
152
142
207
125
206
149
177
190
178
122
185
168
198
130
201
174
135
179
157
136
180
197
171
137
196
186
193
127
150
125
141
127
123
106
105
146
136
116
127
141
116
139
120
139
135
108
102
140
150
130
149
114
100
143
124
138
101
131
106
129
105
103
114
121
129
143
145
121
144
118
102
110
124
119
102
127
115
114
110
113
126
137
101
121
149
135
117
138
142
146
104
103
121
132
145
112
145
128
138
121
112
127
126
136
148
128
106
148
149
106
144
114
144
119
119
116
113
127
133
147
113
105
147
136
108
148
105
137
100
100
116
146
127
150
118
100
135
106
119
129
130
136
139
114
113
131
121
101
139
102
143
136
139
136
134
142
102
116
112
126
140
131
126
148
141
132
140
124
128
127
124
144
150
103
137
107
107
146
106
119
136
102
100
102
138
132
109
121
129
104
100
141
116
158
155
176
175
144
208
179
154
187
156
197
124
192
167
177
182
120
158
160
198
168
127
145
193
164
208
198
218
152
125
176
132
199
192
202
179
171
200
212
206
190
138
181
154
175
193
176
165
182
128
184
152
202
137
153
147
193
198
167
148
176
156
125
189
137
143
156
215
180
207
164
160
211
161
218
165
126
214
200
173
154
207
126
137
187
215
145
201
151
155
200
207
196
121
152
177
207
185
175
209
189
165
194
155
167
135
136
139
149
217
140
160
219
212
158
204
219
154
187
220
125
193
175
169
165
122
162
201
127
187
147
125
190
192
210
187
182
214
187
196
160
186
153
144
206
164
200
133
142
193
151
139
189
121
183
159
170
121
132
122
209
183
178
193
178
159
154
204
164
216
139
109
146
107
123
136
106
149
113
128
141
110
101
146
123
116
130
129
117
147
147
139
130
135
116
117
132
123
129
138
147
149
142
143
138
144
109
118
139
147
110
141
120
118
141
125
123
136
106
101
113
136
120
114
110
133
149
142
113
106
124
114
143
149
131
104
104
122
120
111
118
110
107
130
141
136
122
107
120
145
140
104
105
144
119
137
107
140
139
150
108
147
126
128
102
145
120
131
113
111
146
147
106
142
134
136
105
139
112
114
142
139
104
131
132
104
150
121
137
131
140
140
126
123
127
113
133
115
126
140
149
133
126
121
131
122
104
101
138
201
144
205
145
201
205
173
121
200
179
151
122
144
183
146
216
200
190
166
143
209
142
204
217
156
159
181
178
158
168
164
187
196
135
123
183
219
133
152
218
178
149
123
166
133
120
139
142
152
187
179
124
193
138
157
180
164
153
150
126
144
126
217
211
145
185
151
166
172
152
169
197
142
202
209
199
217
192
216
218
191
178
217
172
178
192
168
131
199
196
122
131
196
201
213
186
198
202
153
220
156
201
179
167
121
147
177
198
198
210
170
122
138
211
134
209
136
145
188
133
185
192
164
219
156
169
204
203
217
190
142
166
211
204
162
171
214
122
190
220
161
168
146
188
185
135
172
143
166
154
182
175
139
137
185
128
208
195
122
127
182
193
138
200
123
195
140
177
149
115
116
137
100
120
106
132
148
121
150
100
118
123
118
113
103
114
127
131
131
136
135
118
128
146
103
104
128
113
118
136
126
138
148
130
113
133
116
128
114
139
143
112
110
130
149
121
100
149
128
135
139
103
148
131
117
107
121
140
113
121
104
108
130
119
144
139
144
141
115
119
104
102
133
105
132
104
140
110
143
110
103
140
119
144
128
109
109
141
109
129
104
129
148
146
141
105
105
129
105
125
117
127
128
150
102
134
140
140
134
144
142
117
129
108
114
129
133
112
131
105
145
123
143
105
111
108
139
132
100
150
100
117
142
109
137
108
118
138
143
146
127
146
134
130
114
111
141
112
115
131
132
101
129
135
114
134
179
212
154
183
201
196
217
127
139
201
211
171
180
127
163
173
156
150
150
205
203
131
154
126
133
202
215
218
211
171
189
182
135
134
144
145
213
192
197
186
159
131
215
158
121
216
146
211
168
137
185
207
122
178
127
165
186
188
161
173
151
141
137
153
128
171
167
159
148
180
199
211
137
121
200
173
167
120
198
123
146
202
152
134
174
159
183
201
138
210
172
201
216
168
170
128
184
196
180
132
145
216
150
147
156
164
198
127
135
217
206
161
120
182
153
140
208
171
177
161
158
191
206
149
167
187
148
179
150
145
195
192
148
129
138
142
137
124
125
116
126
101
135
123
114
148
111
132
110
101
139
123
101
109
109
139
136
117
102
121
117
129
116
103
114
126
142
112
148
124
132
148
116
140
142
102
126
114
138
119
100
120
118
144
142
109
122
131
149
106
125
100
109
124
135
132
107
101
138
130
130
114
109
143
148
125
107
130
146
150
123
145
145
105
139
105
133
117
101
127
105
139
138
126
133
144
139
136
122
108
138
130
139
131
101
118
140
150
127
103
104
100
149
133
132
149
101
112
105
116
142
104
100
108
119
103
127
112
123
117
147
116
138
150
129
104
110
143
124
141
121
123
107
121
137
147
118
146
102
112
109
126
138
133
150
120
134
106
103
122
116
113
141
139
146
197
173
206
198
147
158
131
196
165
133
193
214
146
142
122
130
156
196
219
145
172
144
207
120
164
160
144
175
157
205
143
187
168
137
149
151
133
206
175
204
208
163
178
142
213
185
131
213
183
202
162
171
141
189
143
125
217
177
179
192
180
160
160
126
183
174
204
201
175
198
186
163
127
193
211
130
184
165
212
216
161
156
189
201
202
134
149
216
165
217
127
134
206
196
154
180
154
208
211
145
194
135
218
154
212
138
163
132
202
140
205
140
168
219
156
201
144
188
152
123
166
120
143
194
194
207
181
215
203
216
163
126
168
209
134
124
214
156
215
220
162
145
139
183
217
150
200
189
203
216
176
158
183
219
188
170
129
155
125
134
145
196
138
168
212
201
209
114
127
133
107
110
136
100
139
106
143
114
131
134
120
123
132
143
138
120
147
122
130
137
100
131
112
139
107
136
131
130
119
116
124
127
108
120
119
119
111
133
134
122
125
146
108
117
125
115
144
126
138
141
137
142
147
149
129
149
103
119
136
116
122
121
116
132
110
121
147
127
131
102
149
134
101
147
121
131
125
140
136
132
117
103
138
136
135
127
116
117
137
150
127
109
106
110
115
111
112
104
150
124
141
132
105
148
142
149
100
112
116
147
111
135
121
119
139
131
134
103
133
113
129
135
120
146
196
150
196
189
202
203
177
132
150
178
130
121
210
211
210
154
162
200
158
182
145
179
144
154
122
219
205
133
165
152
158
183
132
201
177
217
202
122
158
155
145
134
185
128
141
149
202
146
124
163
210
153
172
140
121
206
144
155
174
204
213
204
164
132
151
127
185
197
145
163
190
141
208
165
150
167
189
166
130
144
201
200
188
169
131
139
159
122
218
162
136
147
184
125
168
151
160
137
175
143
139
173
139
173
164
205
195
206
156
179
157
196
136
202
220
140
200
150
193
181
209
163
203
154
147
195
185
196
183
219
217
180
217
220
129
203
156
165
122
141
161
123
174
193
164
172
148
144
152
133
220
200
125
198
202
169
149
122
157
205
203
150
206
179
180
173
161
126
159
132
185
167
181
187
125
134
117
119
139
122
126
130
122
131
127
113
142
147
134
117
138
139
107
144
118
123
101
129
123
117
139
149
119
118
112
147
133
124
124
135
104
146
103
118
117
140
110
146
119
137
136
130
135
127
126
105
121
149
104
119
124
108
139
115
108
138
138
146
138
149
120
131
114
149
123
117
129
106
119
138
104
143
149
143
145
140
150
124
106
113
139
115
109
125
124
105
127
139
126
133
146
100
144
105
128
102
144
132
148
141
145
104
117
146
143
112
112
126
124
149
109
101
144
132
142
147
102
113
118
102
116
116
147
104
148
115
150
116
100
129
101
144
126
129
153
167
129
173
189
139
215
184
219
197
198
149
214
191
172
219
155
189
204
137
159
137
214
148
143
150
156
200
198
174
163
149
212
167
124
217
177
126
158
160
162
130
175
165
152
220
218
142
187
168
199
189
139
142
176
162
213
220
189
203
187
151
161
157
135
125
201
128
160
180
170
153
141
137
189
164
197
126
166
170
195
131
176
186
152
158
164
207
128
184
206
212
133
206
158
136
162
195
191
211
156
160
120
127
147
131
158
131
121
200
201
202
166
131
158
194
171
196
150
216
155
131
180
198
199
130
217
166
178
170
124
214
176
172
177
160
164
121
157
141
120
190
162
211
164
164
127
174
194
198
204
144
122
199
188
122
200
149
149
177
211
161
210
177
187
189
175
175
193
201
149
214
148
113
100
112
145
136
133
131
138
109
132
130
107
140
116
117
111
143
124
131
108
115
146
141
122
142
140
150
116
143
131
104
148
144
142
107
109
119
104
116
100
141
101
109
147
109
127
150
140
146
123
139
111
102
122
114
143
107
116
122
116
145
109
119
117
122
119
139
104
117
112
126
132
104
106
114
145
116
125
142
110
145
122
111
133
140
105
129
108
106
109
133
140
115
128
147
116
105
120
117
101
117
128
150
128
143
122
125
118
148
106
109
115
110
131
123
142
117
119
118
106
121
118
134
134
134
107
142
220
184
184
176
141
203
122
128
214
168
130
140
209
133
178
162
161
126
175
138
190
189
130
185
161
157
156
164
147
124
191
184
167
125
167
139
206
182
201
184
167
211
208
198
133
168
124
178
198
203
146
158
183
142
213
127
164
145
174
163
209
186
169
134
201
205
204
217
220
135
135
185
165
164
148
164
137
181
212
146
134
195
201
165
134
218
194
166
154
185
209
150
158
202
210
165
167
198
146
133
162
211
139
220
218
193
125
207
128
196
159
169
131
213
149
156
168
120
217
198
134
185
149
207
144
162
143
133
149
142
218
129
132
177
204
174
121
142
134
109
102
138
104
102
136
139
139
135
130
124
107
107
133
122
139
144
149
120
111
116
120
108
106
131
111
144
119
121
126
112
117
148
119
109
129
106
137
123
108
120
137
141
125
147
103
119
124
144
137
147
131
119
131
102
118
149
106
106
122
112
147
126
136
141
120
125
107
147
145
142
128
132
133
133
121
134
133
146
147
147
101
145
121
133
140
115
136
102
120
142
110
109
116
147
121
125
142
136
115
107
139
114
127
106
104
106
149
128
136
125
138
112
102
104
109
120
120
120
142
109
131
109
142
143
106
125
102
136
166
120
186
209
161
195
214
133
164
158
205
191
187
149
167
186
142
206
177
155
158
135
120
121
173
136
183
202
147
169
171
158
161
173
208
133
121
203
121
220
160
172
173
125
131
196
149
199
122
134
135
138
200
170
187
166
166
202
207
134
144
152
208
217
134
131
123
212
193
158
172
166
201
141
143
198
183
152
141
127
130
195
173
175
201
219
173
220
177
216
132
148
201
206
121
167
200
176
133
212
122
191
144
201
129
200
159
207
137
174
168
177
200
193
123
201
148
136
184
165
147
157
122
189
138
198
219
183
146
196
175
184
199
140
166
220
171
214
123
158
127
183
161
170
153
123
206
135
132
140
137
137
113
126
137
131
133
118
121
146
136
133
123
109
123
133
100
107
110
105
103
127
118
125
102
101
123
107
142
126
125
109
110
111
101
127
125
109
119
123
100
106
144
126
133
104
128
123
148
150
126
145
127
145
113
132
145
129
145
100
134
149
127
128
143
142
142
132
121
141
111
111
108
142
149
134
129
137
149
134
141
119
125
134
110
139
125
147
125
114
104
103
101
112
134
119
114
128
135
141
127
142
133
100
143
131
101
136
135
121
143
143
144
135
131
110
129
114
137
102
119
131
115
130
117
150
108
121
120
104
102
129
117
140
126
143
114
129
114
138
119
110
148
115
132
126
135
113
191
151
169
197
160
162
177
211
199
208
154
198
149
190
146
207
147
188
198
124
171
178
202
194
202
151
126
179
203
204
123
169
123
162
138
150
195
198
214
186
172
194
218
129
138
123
136
144
176
169
159
128
142
135
170
140
156
187
133
180
187
133
178
171
122
173
137
212
180
186
189
164
213
204
182
160
161
126
220
205
187
193
143
211
166
125
183
172
192
172
176
153
187
181
127
170
202
208
153
146
133
135
191
171
195
178
155
188
143
155
162
137
148
175
120
196
142
157
155
210
132
131
218
175
182
149
163
123
155
146
148
124
148
142
175
143
137
144
124
101
149
135
116
110
105
145
106
120
120
132
100
101
107
106
141
120
129
102
123
144
122
119
104
116
132
132
103
131
108
120
130
146
143
145
111
120
100
102
124
109
110
111
144
119
125
143
113
136
122
125
149
115
104
101
144
101
111
117
103
150
100
127
145
109
102
126
132
105
102
140
117
130
108
126
113
145
150
134
106
116
134
136
120
142
111
139
108
124
140
113
108
149
112
104
119
143
114
117
122
110
106
130
100
106
100
126
114
133
113
108
139
120
136
128
127
117
133
142
138
126
147
136
119
115
133
125
144
109
107
108
131
116
129
176
166
195
174
142
130
158
141
185
205
187
180
192
133
187
170
198
166
167
178
171
206
200
142
150
202
134
157
145
156
168
120
204
145
211
215
193
192
190
213
139
206
178
154
176
129
159
216
127
163
156
156
133
193
146
126
203
200
209
166
156
215
182
203
176
214
143
203
195
191
212
160
165
184
183
138
197
121
162
179
194
203
202
132
202
130
189
202
145
195
206
220
139
162
189
199
162
182
166
125
167
191
184
172
162
147
137
195
186
189
159
154
150
182
150
219
120
179
146
122
212
197
189
190
182
143
207
215
218
121
127
124
193
205
209
161
174
177
189
128
217
121
203
135
175
214
191
215
155
180
183
125
151
188
133
212
163
197
122
150
216
144
120
104
124
102
139
150
112
128
101
102
110
136
122
120
140
150
132
124
146
103
115
146
105
144
149
111
112
111
125
112
135
101
102
120
104
109
127
147
104
101
132
101
117
109
123
113
140
105
131
104
118
141
116
134
129
115
113
122
134
126
114
128
106
148
150
102
107
118
105
122
110
107
131
106
139
102
141
110
123
103
145
128
106
124
149
133
120
142
140
129
117
101
112
115
137
112
100
146
147
116
123
108
139
126
149
117
124
133
113
100
111
129
112
126
117
141
117
137
128
148
105
139
102
122
120
103
106
105
137
126
121
128
104
104
142
140
148
131
110
143
126
150
113
144
102
123
109
132
139
131
109
117
143
122
132
148
139
125
122
107
132
204
146
131
129
123
131
214
151
218
134
167
182
189
133
139
128
156
200
208
162
158
160
213
139
196
172
145
163
134
178
159
132
216
159
127
150
121
141
141
195
167
147
159
183
134
191
145
213
196
198
160
140
141
188
144
208
138
161
147
162
123
147
127
157
215
128
125
149
130
201
219
153
145
209
180
148
187
146
129
184
211
149
212
138
178
185
206
201
139
182
191
199
177
181
190
181
202
131
213
143
142
201
208
138
149
134
125
151
218
207
188
193
219
217
218
170
167
186
137
156
139
138
198
209
181
134
218
123
130
198
123
202
123
159
164
184
179
134
200
154
123
210
128
216
195
218
196
182
141
182
190
126
130
135
165
168
149
153
184
179
163
125
127
148
150
127
106
148
102
125
104
145
109
118
129
105
142
117
132
120
133
140
110
109
129
142
138
102
122
131
102
117
148
119
117
147
126
129
106
114
147
139
135
119
121
132
143
136
115
149
103
149
133
125
106
144
111
122
148
110
121
125
113
150
148
124
139
115
140
135
122
145
115
119
114
127
150
135
109
133
119
146
123
133
147
108
100
131
125
118
113
145
110
143
130
102
123
131
116
117
126
132
124
112
139
138
121
132
106
119
107
147
100
133
142
123
118
124
113
107
132
110
112
116
131
140
144
115
130
126
132
113
131
102
142
139
139
117
142
102
149
117
101
146
117
135
132
119
104
148
110
100
142
119
133
109
139
115
134
123
108
143
136
147
124
121
147
108
136
124
120
168
165
205
135
125
168
213
190
158
162
180
215
135
146
152
164
220
137
173
121
170
169
134
158
143
134
140
219
169
187
127
146
143
124
199
133
196
191
137
182
217
141
217
218
155
121
214
209
192
218
134
122
163
162
149
173
203
120
137
157
211
181
220
148
202
214
126
182
130
209
123
136
120
172
170
166
191
219
176
211
159
211
219
219
156
121
164
150
150
158
158
155
208
127
166
206
203
202
175
128
187
121
189
134
214
159
141
204
185
145
137
177
208
170
139
175
199
167
218
159
133
190
138
131
207
121
205
163
213
136
133
139
192
190
204
190
172
212
175
219
126
135
159
220
146
125
214
140
146
150
108
129
111
119
134
104
133
109
137
147
100
147
137
114
100
145
131
106
132
100
114
123
104
140
120
135
136
132
114
126
103
136
113
146
142
143
103
130
125
137
101
102
107
147
118
147
132
104
104
150
147
111
116
121
121
118
134
115
110
127
100
121
116
118
145
103
145
114
142
149
132
130
147
149
119
131
150
136
136
107
144
134
111
139
119
107
141
111
117
143
126
125
113
137
145
122
136
118
107
103
120
107
138
111
133
103
119
137
106
124
125
125
119
114
105
147
130
130
109
120
102
141
132
119
104
124
163
131
166
187
158
168
200
129
168
153
130
138
212
166
138
176
147
177
120
132
120
190
168
124
154
143
176
212
220
161
155
147
123
163
156
168
166
160
151
164
210
207
154
153
136
143
218
163
185
154
191
136
200
157
189
147
147
193
161
125
194
191
217
145
135
143
140
173
218
150
208
136
214
194
125
120
124
186
178
130
176
219
158
158
189
192
142
155
150
147
198
217
206
204
220
174
129
135
154
168
185
124
176
204
146
140
124
197
143
169
179
152
135
142
176
215
173
200
198
194
207
184
186
204
139
143
197
175
164
159
129
198
181
134
155
132
186
189
203
181
170
132
213
183
160
182
140
128
130
105
140
105
126
108
112
100
104
106
138
135
129
122
110
131
134
145
139
136
149
149
149
118
145
110
124
123
103
107
119
120
150
143
114
118
128
114
103
107
136
126
129
112
141
102
129
139
145
139
143
122
133
135
111
129
139
149
120
137
107
123
103
113
106
130
105
129
112
118
105
120
135
107
133
124
118
150
112
105
134
102
142
105
101
133
142
110
145
134
103
139
129
149
125
134
101
100
150
149
124
133
132
149
133
135
129
148
141
146
101
103
105
134
137
139
124
123
107
150
118
120
132
146
117
136
137
145
111
149
149
133
148
124
136
116
118
148
126
122
124
112
123
142
171
134
152
176
179
143
197
179
165
128
170
164
170
132
193
165
184
194
137
134
159
147
186
190
153
217
170
186
138
134
147
126
122
214
174
137
197
178
174
161
202
217
160
163
178
208
195
142
141
157
177
132
143
125
161
209
121
215
211
154
170
145
155
177
216
187
138
137
212
158
207
121
145
140
220
197
185
130
127
150
183
210
184
132
177
208
186
193
133
178
153
144
191
216
171
143
160
183
176
184
127
141
218
160
219
189
195
156
123
203
208
194
132
136
149
201
147
142
132
179
143
154
161
181
180
209
215
175
184
187
199
184
202
144
146
104
149
116
107
149
130
113
147
104
140
109
141
136
126
130
119
147
116
112
131
127
106
142
135
132
120
100
118
115
127
145
122
129
124
109
111
111
143
114
113
145
131
110
124
115
150
139
123
128
127
118
113
130
142
137
106
123
126
134
114
124
149
114
127
133
146
100
120
117
139
109
118
135
118
101
139
130
132
118
149
135
137
129
140
119
124
139
140
150
110
138
112
133
121
114
103
117
123
103
144
108
125
143
105
100
125
120
137
141
131
110
142
137
136
111
128
132
105
133
105
103
110
129
113
116
136
102
140
126
102
138
115
137
123
126
115
115
116
112
111
119
107
147
115
100
141
125
148
149
188
160
194
173
152
124
174
168
124
157
192
121
204
201
196
142
120
203
120
135
192
149
126
183
124
131
185
148
143
171
190
214
213
202
201
199
176
144
212
142
182
202
203
138
156
169
134
180
175
178
155
125
122
138
198
130
211
195
141
150
134
167
153
217
168
171
196
193
146
189
216
176
199
141
144
173
157
175
173
153
127
172
136
141
174
164
214
128
129
189
179
200
181
135
194
191
189
190
150
123
135
196
134
178
184
214
130
199
143
157
165
215
215
211
129
172
165
173
193
207
133
159
159
213
220
124
159
218
155
180
174
179
152
156
220
212
152
161
218
218
152
186
206
139
185
195
134
198
185
153
144
197
201
171
169
139
158
138
163
216
122
192
193
169
190
220
139
208
179
158
168
170
120
217
111
107
132
120
109
145
143
136
129
120
115
125
140
132
118
111
136
136
105
107
129
100
125
115
126
134
100
143
120
145
102
119
131
137
135
130
140
138
134
118
119
146
147
105
119
117
108
116
132
132
143
125
108
109
126
130
149
125
147
137
107
146
134
126
124
101
109
112
105
148
101
114
105
108
119
106
139
146
121
104
123
101
128
132
110
131
137
149
112
135
137
135
117
111
129
106
120
110
120
150
140
112
132
114
107
135
127
130
120
118
101
134
141
115
137
110
114
117
121
114
150
121
135
139
127
125
106
186
149
133
220
132
159
143
122
181
133
192
197
140
139
130
189
147
184
194
210
160
181
135
218
154
150
161
167
126
147
180
204
135
145
201
160
207
156
146
175
171
134
211
141
205
128
172
159
125
164
174
212
202
151
199
203
132
147
202
219
169
127
204
199
152
132
159
204
215
149
158
186
156
196
189
170
153
140
166
217
218
141
166
126
135
185
209
207
215
168
133
155
184
193
201
162
218
160
143
213
121
155
205
121
144
163
161
182
150
186
141
142
138
153
163
129
215
194
132
220
130
209
180
200
136
128
159
152
157
216
195
171
210
157
146
108
125
123
113
150
106
123
136
119
108
134
112
106
117
110
140
122
141
138
105
112
121
100
140
105
111
107
121
133
116
137
145
101
124
145
106
117
144
125
100
113
147
140
150
109
121
110
149
148
128
104
149
127
127
142
121
143
111
107
112
111
138
124
100
133
126
131
103
120
150
134
131
134
128
110
134
102
101
113
106
130
132
134
138
129
132
148
133
142
145
121
144
132
137
119
103
148
125
115
134
135
145
114
107
105
126
145
143
123
125
112
129
135
141
103
130
108
143
149
138
133
136
130
107
114
123
139
110
102
144
144
104
106
124
126
131
115
126
127
125
141
125
130
125
100
105
105
150
150
132
118
122
139
122
111
132
149
102
114
147
143
124
145
100
112
142
115
120
107
181
137
120
191
212
143
154
202
203
195
219
169
124
197
200
185
198
208
151
206
200
130
213
204
162
211
188
214
158
210
120
145
165
218
188
182
148
197
161
192
126
192
214
190
188
218
168
200
173
146
147
127
181
200
189
176
160
131
158
176
204
170
175
142
193
194
124
193
168
131
147
132
165
219
207
164
195
207
166
159
120
206
156
146
130
182
159
201
198
129
215
202
141
150
127
191
134
143
125
210
128
121
183
149
162
212
132
181
140
180
145
133
132
154
187
189
193
139
138
128
126
162
158
201
148
211
179
128
141
189
170
214
186
157
192
212
131
193
141
173
158
182
190
196
192
165
154
147
123
130
211
162
133
175
218
187
173
160
140
123
172
134
151
216
135
184
169
166
142
142
188
169
140
195
105
123
126
135
115
125
150
135
102
142
101
137
118
124
132
137
147
113
127
132
125
141
143
117
116
133
120
119
103
105
109
114
145
109
125
101
108
113
131
118
102
112
107
122
118
133
143
149
135
149
141
134
126
147
146
148
112
134
141
147
131
105
142
136
114
103
133
126
122
106
123
143
107
100
120
122
120
104
137
101
137
122
106
150
109
130
137
114
102
135
106
144
114
100
145
100
132
140
149
128
138
103
121
144
114
100
104
135
104
111
126
103
101
132
113
145
141
136
143
130
141
144
130
140
109
145
107
103
119
104
111
138
144
196
187
181
123
207
145
210
176
164
161
186
205
186
196
139
180
176
143
140
170
159
194
217
218
186
183
153
149
174
170
123
208
181
181
133
211
196
125
199
130
212
165
146
132
177
135
189
186
201
140
170
134
204
147
187
195
220
153
198
170
177
198
220
162
214
186
212
146
167
162
138
212
194
188
187
153
125
206
183
145
215
161
200
185
189
140
172
171
212
146
200
122
135
180
212
165
148
144
139
196
160
173
167
161
211
169
205
171
186
189
168
176
200
125
204
198
122
144
203
195
160
181
192
162
161
173
147
161
160
197
184
203
203
194
147
161
157
206
131
200
205
140
136
120
102
138
139
128
143
128
132
120
146
147
143
123
142
103
116
119
100
106
138
102
118
119
102
118
118
110
109
112
142
132
120
133
140
114
122
149
110
119
130
120
144
123
147
101
141
148
130
143
131
142
134
142
142
107
149
117
148
144
102
134
125
128
106
137
145
115
105
125
103
140
144
100
123
123
116
134
115
117
136
116
114
146
129
126
107
141
106
147
101
137
124
136
106
134
137
107
146
123
106
127
139
148
113
110
129
136
134
146
131
131
107
126
112
120
114
130
110
143
105
124
126
136
138
102
121
143
128
116
145
128
126
135
122
185
134
218
153
124
202
204
151
209
125
144
123
177
145
188
157
202
151
204
172
130
129
187
132
211
166
135
133
124
127
185
218
161
147
148
147
161
180
192
209
167
167
173
146
136
197
184
207
145
195
133
192
180
142
128
175
204
203
171
134
191
209
121
147
195
130
170
168
128
178
126
168
129
158
127
170
146
143
220
209
122
168
197
194
167
137
196
135
193
168
133
184
218
156
164
184
195
201
166
183
190
165
142
185
175
139
200
128
217
124
174
193
217
197
151
195
143
183
149
136
127
188
150
169
198
169
206
162
173
190
136
219
144
187
129
160
151
162
154
163
155
185
163
167
133
171
220
149
124
109
101
133
141
113
100
106
131
142
136
122
149
150
101
112
102
141
119
110
111
106
117
143
140
102
103
146
126
128
136
114
138
100
142
111
126
135
136
115
126
130
119
105
147
130
144
134
135
119
106
106
139
136
104
105
100
138
140
144
102
150
136
103
147
148
117
106
112
115
104
132
136
108
149
127
144
125
114
105
106
109
121
111
138
146
132
103
132
103
111
150
117
139
118
145
128
121
144
136
123
142
139
147
119
128
106
134
123
128
111
109
103
139
127
133
119
132
109
111
136
112
137
148
127
121
129
118
143
113
130
104
120
115
100
111
104
108
136
129
128
117
145
104
125
135
107
112
135
138
140
139
136
120
165
200
171
176
121
153
177
175
214
143
166
140
173
165
203
202
208
138
168
202
143
173
175
207
168
193
177
153
218
128
208
212
166
184
211
197
209
157
156
219
128
151
208
156
191
205
189
190
171
210
213
141
171
158
156
120
135
163
140
162
171
152
216
160
205
212
169
201
220
147
149
195
213
160
201
168
171
149
148
212
195
154
201
135
153
145
152
158
171
162
145
189
120
151
205
137
211
153
195
203
186
178
125
215
126
199
215
177
143
214
199
151
163
132
137
186
193
214
124
193
129
182
163
129
136
198
217
128
218
183
170
163
157
156
216
194
160
212
146
190
120
103
101
139
132
119
110
128
116
144
104
128
140
125
115
115
121
116
128
129
124
132
124
115
116
118
104
106
146
108
120
101
137
146
111
124
122
144
134
109
145
117
106
141
139
135
131
133
100
130
121
110
149
114
101
101
149
107
124
116
143
109
100
114
140
105
107
148
102
123
119
150
104
135
143
150
149
136
127
109
101
116
110
147
149
130
127
150
136
120
110
135
144
122
117
118
137
129
125
122
147
100
104
121
113
101
145
133
134
123
116
106
120
109
142
125
100
112
115
102
108
101
145
150
121
123
106
129
108
149
150
121
106
132
150
141
165
162
206
160
206
192
136
150
181
135
203
160
138
193
148
173
145
202
220
203
190
214
212
185
178
133
137
120
149
147
195
195
209
184
176
141
175
140
197
210
216
124
162
148
195
204
220
214
164
144
156
146
179
192
186
185
127
164
215
180
157
186
209
157
163
192
129
187
217
183
185
184
188
165
152
151
123
159
146
128
213
184
148
126
147
135
122
166
180
148
161
170
149
120
220
138
209
200
166
202
164
135
178
155
134
154
203
135
208
194
134
216
200
177
194
154
203
182
130
199
218
163
136
170
185
178
183
176
207
150
141
220
166
206
184
143
119
130
111
149
136
142
139
140
103
138
128
110
133
146
131
145
102
111
123
117
118
102
128
111
146
134
128
145
133
147
109
128
115
120
110
130
101
130
136
123
134
116
127
131
128
108
140
144
145
108
127
132
104
121
136
112
130
100
120
115
106
143
104
128
148
105
135
136
107
129
145
129
125
104
150
126
131
125
129
101
123
126
140
146
132
111
132
147
104
124
136
141
102
108
121
134
100
120
137
138
111
138
130
117
142
118
145
105
144
119
118
112
137
104
102
110
109
140
123
105
112
119
111
127
118
112
114
121
147
128
144
120
100
120
102
131
123
107
135
103
150
150
112
143
136
114
101
112
101
143
148
192
168
199
217
202
186
199
122
204
155
152
172
216
169
138
206
179
120
176
217
209
214
126
129
205
211
188
159
139
142
127
136
209
152
156
219
156
219
192
137
197
180
131
199
207
213
149
138
139
125
145
144
174
127
177
204
132
188
123
186
150
154
163
143
133
132
122
177
207
183
120
213
204
165
182
219
154
211
145
126
201
190
165
195
121
152
174
152
120
182
157
187
165
146
201
138
129
157
155
154
211
219
165
144
121
144
220
216
125
140
218
170
218
160
137
193
190
220
210
208
147
150
133
175
159
207
164
191
186
123
166
186
135
147
139
212
134
185
191
124
132
134
196
124
165
213
193
163
131
159
172
124
187
143
129
145
102
114
127
135
138
110
137
117
109
137
117
122
115
104
124
101
112
116
148
136
138
106
131
126
128
119
146
138
150
124
106
129
145
126
126
146
120
144
121
135
133
113
141
143
110
100
131
115
146
122
149
124
129
126
101
132
144
150
146
134
106
108
133
122
126
110
141
130
119
126
138
139
139
116
123
148
121
102
122
114
111
138
126
103
105
109
150
134
142
108
126
129
147
148
111
110
148
150
136
101
116
136
132
135
139
127
114
109
121
134
144
134
131
112
125
109
147
150
112
130
130
124
104
120
141
128
142
111
126
129
142
127
133
118
112
110
109
121
143
142
114
112
140
167
137
181
157
195
199
185
201
208
195
200
153
181
156
205
121
156
192
145
129
163
217
138
183
132
185
218
122
145
194
167
190
124
130
133
186
192
141
128
173
205
145
131
187
139
184
182
133
188
149
217
145
188
130
166
201
183
194
121
143
177
196
220
195
220
211
200
217
167
162
145
148
186
218
190
137
182
207
167
199
141
202
200
171
164
180
152
190
131
165
192
220
200
152
125
141
127
142
152
197
201
160
159
209
135
169
178
161
193
140
181
141
167
208
173
126
138
132
120
169
135
171
180
143
193
199
143
173
147
209
187
144
152
143
136
144
183
200
123
100
113
145
123
132
115
120
106
149
118
104
139
124
115
141
135
116
129
127
141
148
130
119
119
145
132
137
101
113
121
107
123
112
106
102
118
100
124
136
124
127
126
116
143
133
100
116
128
136
136
120
137
146
137
147
110
112
143
101
111
110
148
145
138
121
111
122
125
117
110
139
112
135
138
101
137
150
140
101
102
126
103
106
142
141
103
144
119
122
116
127
104
135
107
150
121
128
149
101
106
113
146
117
108
116
104
130
144
127
117
117
141
136
147
116
132
108
138
112
134
126
106
125
128
144
108
101
119
101
106
108
137
138
147
172
121
199
135
215
154
139
130
189
175
197
212
163
204
157
200
135
189
213
189
220
189
153
177
207
168
181
172
193
187
172
171
204
187
210
184
177
202
205
193
171
180
133
191
125
193
171
186
215
174
168
179
175
132
157
130
126
200
215
142
220
208
218
200
192
184
159
189
197
194
151
174
136
195
143
198
185
156
212
142
131
148
138
161
180
176
180
133
131
198
214
212
163
137
205
208
207
124
170
217
163
182
152
142
212
213
220
137
159
159
136
153
122
163
122
123
175
158
175
159
138
145
126
220
129
149
186
155
142
125
139
198
171
200
130
124
162
160
204
173
176
159
190
201
177
189
196
192
194
162
182
192
190
189
127
134
128
187
127
127
195
127
200
124
133
150
111
114
125
144
140
133
144
113
102
135
142
131
138
122
120
145
130
130
119
109
140
106
149
150
121
133
109
104
103
117
108
128
134
113
103
132
129
116
113
119
123
129
144
120
134
125
115
120
135
125
102
141
137
111
125
149
144
142
124
107
126
127
150
148
139
121
132
132
138
124
113
134
100
124
134
109
107
104
119
132
107
134
107
110
105
149
127
125
104
134
134
124
101
138
148
133
102
121
145
142
121
122
121
109
134
138
115
131
146
144
141
132
138
105
126
115
102
122
139
141
115
134
129
123
128
125
119
106
145
121
126
145
140
129
107
127
104
113
103
119
111
105
126
106
148
136
107
139
132
103
124
133
166
132
129
216
188
207
176
128
137
198
148
161
142
155
150
173
182
145
187
198
171
171
144
208
140
215
147
219
157
198
178
197
135
141
131
177
178
212
216
207
220
190
179
137
180
219
187
205
187
185
183
205
180
132
178
121
146
160
183
164
159
197
138
185
203
201
189
165
183
171
163
136
140
145
215
206
168
152
135
200
205
122
220
179
126
146
188
136
212
212
188
149
218
188
193
216
212
209
178
154
204
188
177
185
154
205
145
141
201
199
180
196
157
188
194
183
127
207
139
176
149
170
182
152
152
184
205
127
123
122
159
153
162
169
220
122
156
123
189
137
176
169
145
172
120
112
138
122
136
106
149
129
145
119
148
104
134
128
149
147
111
117
123
150
116
143
103
139
108
112
127
141
127
125
119
148
135
105
130
141
112
119
143
131
132
110
121
126
142
131
130
125
140
146
134
116
120
110
115
124
149
121
113
122
123
142
109
141
150
126
140
146
139
104
112
129
131
138
147
138
146
134
147
140
100
136
149
103
132
118
125
134
102
102
132
127
122
123
106
114
122
131
118
129
139
107
142
136
147
108
138
143
114
141
118
102
136
122
145
123
102
143
145
102
118
110
107
141
101
130
119
150
148
114
127
141
140
111
125
147
128
148
118
101
136
124
137
129
138
105
131
100
110
116
117
110
124
100
157
168
189
124
161
137
142
193
153
194
191
146
156
185
204
220
213
120
210
147
149
213
194
175
195
187
166
181
167
197
177
172
185
173
185
208
132
167
178
208
127
185
147
164
174
148
150
169
141
193
218
134
151
210
207
206
150
125
127
194
162
181
159
189
151
201
205
148
154
163
210
141
149
177
158
129
183
155
210
121
144
220
217
212
145
184
189
134
144
189
141
151
143
167
133
136
133
165
153
136
183
176
170
129
144
219
138
120
160
177
182
201
177
202
153
124
184
186
150
123
125
180
120
138
195
168
176
188
132
214
143
153
130
164
180
203
213
126
157
167
175
163
191
215
174
194
197
139
192
197
199
181
184
180
201
172
216
196
174
138
145
171
214
137
191
142
128
179
220
205
210
165
159
153
203
145
130
143
122
107
115
100
127
135
103
110
125
147
129
110
121
141
131
150
148
106
116
122
109
125
136
150
111
150
115
133
126
116
115
139
130
123
121
130
132
142
119
102
140
107
150
137
116
131
137
108
115
111
119
123
123
101
142
126
110
136
105
144
142
127
145
117
132
150
100
128
137
135
101
135
109
124
103
148
126
140
129
150
143
143
109
148
137
119
142
114
139
126
146
150
111
115
124
144
121
146
135
137
133
145
123
150
109
131
135
139
147
106
103
143
137
118
114
103
150
105
102
142
118
121
124
100
135
123
145
123
137
102
101
104
130
137
122
115
139
139
119
102
112
103
100
129
109
122
146
110
132
119
141
105
120
108
111
102
149
128
145
150
115
143
147
138
112
124
121
122
120
156
153
212
145
183
172
140
211
160
133
166
143
179
127
184
209
210
147
167
197
182
128
200
212
134
150
173
216
151
130
188
182
148
209
146
134
148
209
155
183
215
180
215
135
173
204
137
219
150
176
139
138
210
134
157
171
123
205
208
203
125
122
130
152
138
137
172
175
192
123
139
185
209
176
132
191
132
134
175
128
121
178
180
196
138
148
135
191
135
179
143
122
126
167
189
179
206
206
147
182
150
124
218
215
178
128
206
207
214
212
200
175
163
188
213
123
181
127
159
198
132
193
131
179
190
205
218
147
147
132
173
207
202
149
127
123
168
215
134
131
121
215
194
197
150
156
128
141
204
170
206
183
161
106
105
109
149
148
103
104
131
129
134
126
103
120
133
104
108
140
131
145
101
123
112
115
132
144
100
110
145
127
117
139
116
104
136
105
140
150
137
120
108
147
122
126
148
100
108
106
150
132
132
135
115
101
149
108
111
132
101
135
146
103
118
132
112
114
139
130
130
135
123
119
101
127
144
135
131
101
110
139
140
120
127
118
116
116
139
150
146
126
135
134
133
141
116
119
147
129
149
114
146
134
126
138
136
149
106
118
127
103
116
126
144
116
100
104
144
129
104
142
110
131
125
111
148
149
150
132
104
144
107
131
116
122
149
139
148
106
136
103
117
110
113
146
137
125
106
150
104
116
109
131
117
120
103
111
129
125
213
183
175
166
201
201
162
163
149
197
142
167
211
123
219
204
213
214
143
201
162
156
198
203
208
194
215
159
190
181
138
130
187
182
205
206
161
144
130
138
203
203
201
171
145
180
139
138
135
132
128
135
136
146
137
142
191
120
165
181
124
162
175
134
126
207
184
134
141
146
201
147
211
211
193
159
145
212
212
160
183
190
188
213
145
201
194
217
134
120
206
121
147
122
125
136
182
177
130
186
219
219
126
207
150
149
211
157
203
177
216
191
158
220
180
170
162
141
185
184
136
184
156
191
172
148
181
125
148
165
146
180
155
125
136
125
171
142
125
128
146
152
178
200
175
202
172
160
174
141
154
154
128
124
139
184
216
151
121
143
123
186
136
121
116
145
147
133
140
127
130
134
137
127
126
129
147
123
121
124
147
123
149
123
150
108
129
130
130
116
121
130
135
137
138
135
107
150
104
113
104
134
150
125
141
112
112
112
127
114
107
126
148
123
132
102
111
126
137
147
103
109
109
129
148
107
132
141
131
149
123
117
123
100
114
134
115
147
105
140
104
131
132
112
150
121
121
115
129
102
125
140
133
103
124
117
141
143
122
145
148
129
102
139
139
118
100
124
134
144
103
105
130
150
133
111
145
140
129
123
127
103
144
133
115
115
102
115
130
105
137
134
144
144
112
111
146
132
138
139
133
122
150
136
144
133
109
120
122
132
102
101
124
128
135
139
133
113
127
104
107
132
101
141
148
206
166
175
147
177
127
147
124
219
214
129
175
128
150
130
189
161
214
133
164
134
217
216
220
177
154
181
198
141
202
166
210
180
215
189
200
150
137
130
152
138
219
134
152
178
182
160
165
172
175
134
145
134
180
125
137
190
162
179
213
148
125
198
213
184
205
205
121
214
180
152
181
194
152
185
178
159
177
123
184
149
174
205
190
133
155
131
134
158
214
204
175
130
134
164
199
167
209
126
146
166
189
196
171
121
207
148
129
160
145
205
209
122
218
182
190
131
148
147
186
176
199
152
178
136
210
128
174
178
134
158
142
173
127
215
171
181
177
137
179
125
166
145
220
145
198
125
196
195
187
120
136
128
177
121
181
177
139
173
132
197
156
130
190
213
157
145
211
132
117
101
133
150
133
107
149
147
131
112
109
150
117
120
114
129
114
102
126
106
148
120
131
111
128
149
125
110
146
116
107
144
148
106
126
150
117
146
124
129
119
149
103
134
146
125
150
117
143
116
115
118
127
128
136
138
108
104
122
102
134
108
129
116
120
148
113
137
146
139
124
150
103
143
107
146
119
140
134
104
129
148
111
148
113
138
114
102
120
129
138
112
137
121
127
110
137
139
101
101
131
126
133
138
113
120
137
118
121
138
134
100
108
105
125
133
103
146
127
130
103
101
113
103
135
127
144
125
118
124
110
121
112
150
145
100
120
144
148
146
142
100
143
139
113
110
107
142
127
110
112
112
104
114
106
126
112
142
116
109
142
119
101
130
112
153
179
192
212
131
157
199
187
169
214
175
201
120
185
175
207
132
157
139
212
128
135
158
144
218
188
135
139
205
147
161
162
193
217
144
126
219
149
220
203
140
139
173
144
137
139
177
180
149
161
120
202
177
179
161
140
206
131
165
131
158
135
152
152
156
188
159
151
142
138
154
144
171
212
135
206
158
162
212
154
189
126
203
158
128
150
135
154
174
191
135
208
171
198
151
150
132
184
150
122
195
170
166
136
148
179
138
131
196
126
142
140
175
191
192
199
207
219
200
127
133
121
126
123
129
162
196
139
146
147
182
202
209
124
184
157
207
178
157
135
122
180
151
141
165
217
170
178
166
134
175
137
177
210
220
208
167
133
214
215
163
219
214
193
210
210
159
155
151
130
164
134
177
137
106
130
133
126
125
143
109
118
125
143
100
108
113
104
146
100
121
127
125
109
120
141
100
112
118
111
132
112
123
124
102
112
134
121
136
141
124
126
103
127
103
130
136
130
131
145
103
127
133
148
118
136
122
128
133
121
114
126
113
109
104
118
130
142
111
129
149
129
147
116
106
135
105
118
143
121
123
101
120
113
116
110
144
121
131
139
118
105
113
127
109
146
103
123
110
135
127
116
131
140
147
108
142
108
126
109
108
115
135
124
113
102
146
147
136
144
130
115
126
109
110
103
104
140
149
114
121
127
134
126
111
113
131
133
101
122
103
108
143
116
114
129
132
100
137
147
115
146
139
142
122
135
141
134
142
104
126
144
121
139
128
116
157
210
142
216
124
218
160
125
141
168
201
165
173
167
169
163
153
217
139
217
157
203
149
197
213
145
167
150
158
135
219
215
181
128
176
134
187
146
210
213
211
205
149
141
122
194
202
201
148
157
179
159
138
147
173
185
209
181
131
141
212
121
160
170
130
128
182
211
215
188
217
164
199
123
192
214
137
130
207
210
191
210
176
189
202
187
134
138
122
207
187
149
212
160
136
146
204
192
135
173
210
201
175
182
124
126
146
165
200
129
190
169
189
160
120
162
158
151
178
159
147
186
146
186
139
153
198
136
130
125
119
116
119
122
147
132
117
136
134
106
120
120
101
104
128
107
146
103
123
113
133
108
123
100
113
100
117
137
113
128
108
130
119
145
115
144
141
111
136
113
130
118
116
116
104
137
123
133
112
123
124
107
146
126
109
114
107
140
104
106
104
114
138
132
143
130
117
150
123
100
147
134
147
115
118
125
116
114
122
117
143
114
112
116
125
119
142
114
110
106
140
133
149
100
118
108
112
121
114
100
130
115
105
131
109
149
101
114
145
147
110
147
129
134
146
117
137
149
123
100
108
146
113
140
150
105
132
128
129
137
106
115
119
116
125
143
148
111
105
109
111
142
147
147
138
100
140
134
130
136
109
136
124
137
137
130
121
132
123
119
117
129
147
107
148
130
126
149
106
150
148
108
118
166
197
194
179
158
220
164
199
133
175
147
138
165
217
132
147
185
146
145
164
164
187
121
146
166
199
201
147
122
131
176
174
203
137
157
138
194
142
141
121
205
220
189
146
154
159
167
162
138
192
147
205
205
200
219
133
164
204
179
209
123
138
214
197
220
144
125
159
210
143
147
176
140
148
206
206
171
163
152
134
186
215
120
178
220
189
139
172
161
197
175
137
146
175
168
131
129
126
218
198
164
189
208
177
128
147
170
141
148
131
188
162
186
192
160
210
185
190
217
168
137
205
125
137
125
215
210
132
158
160
216
136
166
134
211
181
199
151
220
219
157
213
217
213
198
195
145
122
165
210
193
141
219
156
199
155
150
186
125
133
200
152
177
172
161
217
150
127
111
100
102
132
136
123
135
143
109
130
131
147
105
111
103
110
103
110
100
145
137
118
139
111
125
120
132
144
104
124
112
101
114
150
133
144
128
133
150
145
128
106
140
140
137
120
139
117
130
115
107
106
126
119
107
106
145
106
127
108
129
144
136
143
103
132
137
106
113
119
115
107
107
146
146
118
123
103
115
145
109
124
113
126
101
132
123
128
135
132
102
124
144
143
113
128
133
111
130
130
134
101
117
120
122
119
145
127
130
114
105
111
101
148
110
145
114
119
106
113
134
139
122
123
131
118
114
109
110
140
137
132
124
102
100
101
199
170
168
147
183
167
204
142
154
151
142
121
186
197
154
136
186
201
189
155
156
153
196
216
135
142
173
132
181
143
151
211
129
147
207
200
215
131
174
192
180
176
216
201
202
220
126
139
213
212
130
202
143
156
194
125
135
216
157
200
211
145
161
153
159
213
217
187
130
170
185
216
165
199
193
163
182
151
147
146
144
186
185
134
172
127
181
141
176
166
170
203
126
139
206
147
168
188
177
211
120
160
161
189
136
219
134
180
154
139
121
123
131
202
190
206
128
158
198
123
207
200
182
177
200
123
157
156
216
217
189
120
174
148
185
198
135
200
157
168
139
108
141
129
140
108
122
134
114
123
147
103
100
107
111
127
110
114
121
108
142
131
110
145
137
145
110
104
107
123
136
142
143
101
146
133
143
150
121
116
108
128
130
145
126
127
123
136
121
138
134
100
122
138
117
125
150
103
106
141
145
139
125
122
102
136
133
105
106
108
150
119
141
142
146
113
120
103
113
113
126
122
104
110
134
104
131
139
138
109
115
108
132
123
101
139
108
113
101
111
103
116
125
129
120
137
117
147
120
137
136
146
101
118
146
144
124
119
111
114
111
132
150
104
113
114
119
106
141
104
130
105
130
143
106
150
135
132
101
115
135
114
102
136
140
135
215
169
190
136
193
200
161
210
198
201
165
206
210
158
184
136
171
200
174
144
130
156
130
172
145
188
212
216
183
162
183
167
202
149
188
205
214
175
216
218
182
206
179
175
198
128
159
165
121
174
137
146
174
132
163
203
181
191
150
165
144
157
171
208
186
200
148
121
196
208
194
148
173
196
174
131
131
189
186
120
183
196
127
184
197
212
154
128
188
148
155
160
180
206
159
152
136
217
155
136
130
126
178
133
150
192
158
185
194
219
197
170
123
121
169
150
152
203
192
198
146
127
198
198
125
138
160
183
213
168
189
146
201
212
194
168
138
204
193
151
149
164
141
200
153
176
217
168
128
120
206
217
204
208
131
122
105
138
128
132
127
100
139
138
139
150
146
101
110
145
136
111
107
142
110
107
145
105
131
104
103
148
124
139
112
122
127
150
110
117
133
108
123
132
126
127
149
144
118
150
119
148
127
135
109
108
122
102
134
124
140
117
145
100
150
145
146
101
125
106
121
111
138
125
150
126
119
127
103
112
122
104
144
119
149
146
135
126
146
136
147
116
134
113
138
129
100
110
139
109
131
115
114
133
127
146
104
119
118
133
136
148
139
110
132
142
135
140
107
149
141
124
119
146
112
102
103
124
115
143
117
140
134
150
148
148
123
133
109
145
132
146
121
123
106
124
118
102
139
113
144
123
110
136
124
145
107
141
133
111
125
123
116
119
126
148
107
114
125
140
207
129
151
121
205
158
147
135
162
195
212
189
163
166
220
149
186
192
217
179
179
139
150
120
208
121
167
197
210
169
215
183
149
212
154
195
181
158
176
136
191
165
131
183
192
209
136
162
129
217
165
176
199
177
181
149
120
179
158
125
179
190
178
151
134
188
130
166
188
183
141
153
184
182
191
203
194
203
154
153
190
132
202
167
147
129
139
162
201
197
197
178
128
122
148
138
123
154
143
184
214
202
140
192
123
126
200
140
178
129
148
220
125
120
134
192
174
141
201
143
220
129
214
166
162
212
137
180
158
121
174
157
193
132
141
156
192
163
189
138
215
190
134
200
131
146
165
208
140
162
190
136
116
113
118
143
136
118
146
133
109
134
106
126
107
144
132
142
109
138
101
101
142
147
103
112
150
128
127
109
111
122
118
103
140
129
107
139
110
137
100
110
142
113
104
131
139
109
122
140
119
142
135
113
133
109
123
115
123
140
109
107
137
118
126
146
120
105
133
117
138
120
142
130
112
108
119
117
103
128
100
106
133
101
139
123
103
133
127
129
127
117
129
129
144
105
131
102
143
132
115
148
145
141
136
133
147
140
119
136
139
131
107
107
111
131
145
139
140
141
132
117
140
118
116
103
146
107
125
139
118
119
121
144
116
150
112
137
109
150
148
149
120
128
140
118
104
116
144
119
100
111
140
100
119
147
127
130
119
121
123
120
115
117
118
126
136
116
126
112
107
148
204
125
121
213
197
173
186
138
206
203
190
125
159
137
157
195
131
145
144
210
217
134
172
159
214
203
179
172
180
163
139
163
202
166
151
144
187
175
176
185
199
200
220
120
175
200
195
212
193
140
199
135
203
122
121
178
190
167
171
209
186
207
147
172
188
184
136
153
140
210
151
209
166
172
174
168
190
174
202
151
121
138
193
195
178
146
170
156
187
167
172
218
212
178
196
128
161
212
176
161
156
181
174
188
217
219
136
209
187
166
134
132
197
137
182
165
217
209
169
192
139
140
169
214
131
134
180
200
210
159
151
195
211
155
174
165
147
217
162
132
172
128
192
183
146
164
160
125
125
125
129
145
170
219
218
214
210
171
124
194
175
176
191
160
135
167
120
209
113
122
131
141
101
123
124
120
138
143
135
119
146
145
150
148
124
128
144
116
131
103
102
114
116
110
120
137
120
117
103
133
150
140
145
105
107
135
140
128
148
140
128
141
122
134
145
132
114
101
110
143
133
139
135
127
115
103
149
101
117
115
121
147
133
132
100
103
121
107
149
122
121
146
133
134
137
108
137
141
121
150
105
112
127
136
146
140
136
110
114
112
112
144
100
135
137
126
108
149
117
107
116
137
134
146
109
133
139
137
118
124
117
120
118
134
104
138
128
110
150
119
148
135
102
124
131
103
128
120
133
120
136
106
145
135
114
145
108
130
127
143
138
102
134
127
107
139
119
139
107
139
133
117
113
124
140
106
122
143
115
101
138
105
120
113
143
137
139
184
166
144
204
173
129
206
202
126
150
173
180
132
134
156
215
155
160
190
146
153
121
159
180
203
162
199
163
186
211
188
138
124
173
140
173
194
137
129
150
186
171
165
175
194
209
134
160
213
179
121
130
206
160
157
124
166
208
188
183
130
211
168
151
148
147
164
158
219
125
193
220
139
143
146
209
206
192
188
211
123
176
129
193
182
143
184
123
155
175
187
151
192
205
124
185
187
174
176
156
168
125
144
152
151
157
199
172
129
195
152
140
128
170
178
195
208
193
152
187
167
152
169
146
139
214
122
188
158
174
135
144
177
145
141
147
217
192
136
204
140
136
123
216
165
195
194
165
210
215
207
214
172
169
183
163
172
152
193
216
110
133
103
109
101
114
113
150
101
140
138
119
148
119
106
105
101
109
116
114
125
141
125
116
103
129
116
120
142
114
113
143
105
138
147
102
143
105
108
143
113
145
113
148
141
119
114
128
109
121
148
107
119
139
116
107
148
112
115
141
101
108
143
111
138
114
134
145
150
108
118
120
146
107
148
112
115
150
114
118
130
150
138
108
130
128
147
115
138
126
114
125
114
125
135
101
137
127
103
146
113
107
150
111
101
140
108
109
106
122
103
134
109
128
135
145
143
101
132
150
115
106
138
114
118
130
114
109
111
136
137
131
130
133
100
126
113
115
100
131
110
115
117
126
105
131
137
103
108
109
101
135
143
142
109
113
146
141
178
182
203
193
209
156
199
150
161
154
215
154
130
220
168
170
164
136
154
166
213
191
167
194
180
214
213
185
184
170
143
168
197
155
200
198
190
170
172
191
124
134
136
179
154
203
124
154
192
175
123
127
156
215
133
189
139
134
216
202
159
155
134
155
193
143
147
151
138
148
219
157
215
151
132
173
202
143
196
137
133
194
143
179
206
139
157
206
143
138
209
168
184
184
168
217
139
166
154
154
180
219
220
145
207
136
171
174
170
208
180
189
157
181
162
190
156
143
151
147
172
192
136
198
176
159
147
187
152
137
219
184
165
180
167
160
121
120
131
141
196
122
198
200
185
157
214
185
216
152
141
147
160
176
217
205
199
141
183
135
141
122
125
141
214
137
118
113
143
136
104
135
135
106
109
134
126
123
101
149
124
111
129
125
100
109
116
117
128
139
117
116
123
138
150
124
146
100
147
129
125
100
150
134
102
106
142
119
133
133
138
135
117
127
115
112
113
101
117
129
135
103
118
112
118
142
104
143
134
147
114
128
148
107
140
136
106
101
108
103
105
143
140
105
126
141
123
108
115
147
126
123
104
141
101
121
103
120
100
138
135
105
136
134
122
143
105
101
139
112
146
127
119
110
114
126
119
114
112
125
146
126
118
105
106
127
134
114
142
111
148
128
127
139
106
104
129
126
110
128
139
142
136
197
159
179
127
138
132
217
127
128
195
207
215
124
189
126
140
156
183
147
173
128
203
174
141
207
220
188
205
219
183
150
197
218
206
138
213
168
134
184
123
130
149
123
172
176
213
184
128
166
211
126
131
137
175
197
210
172
145
155
172
163
218
208
194
198
184
170
165
172
144
169
193
157
211
191
220
146
202
154
122
137
150
148
159
173
190
219
129
165
171
191
212
133
138
179
169
147
155
136
209
213
144
206
218
166
195
213
132
153
176
204
213
124
166
184
173
185
214
146
169
165
200
166
143
211
203
124
191
196
147
186
203
151
167
215
200
193
176
124
196
196
142
208
130
127
132
144
160
101
105
109
148
103
117
106
104
101
116
142
126
139
126
114
134
130
149
137
100
141
115
148
106
123
134
150
115
128
106
114
133
108
137
137
139
146
105
131
101
103
127
139
123
103
104
141
114
135
150
145
121
140
114
144
133
119
141
118
125
106
138
107
122
118
148
120
136
128
148
134
132
115
110
127
131
144
108
105
111
106
146
126
116
140
120
111
102
109
119
138
104
145
127
145
148
140
109
124
115
134
113
141
113
116
114
118
103
147
113
111
138
118
106
131
106
108
121
120
108
108
136
133
129
139
101
113
130
131
141
119
112
136
102
122
119
100
100
133
121
148
132
100
149
129
138
134
127
149
138
139
105
150
148
132
150
150
113
118
148
135
134
141
149
104
124
133
139
109
144
119
142
128
202
201
178
154
219
138
163
182
171
205
196
206
158
178
126
164
206
216
144
149
196
219
204
220
128
124
214
142
209
180
177
149
126
157
185
217
181
123
131
188
169
141
132
212
189
192
142
192
198
166
140
216
209
149
184
210
160
124
187
158
151
220
136
165
176
197
197
171
211
147
138
144
220
168
129
160
216
189
200
195
192
190
211
207
140
141
140
135
172
210
185
139
148
123
215
204
200
194
175
202
179
137
136
212
170
216
139
165
211
171
136
150
154
139
126
210
130
135
146
160
133
130
160
212
192
209
134
204
191
139
130
199
142
186
144
209
130
161
200
219
127
128
127
142
135
218
161
200
167
217
147
181
137
197
140
204
128
171
157
127
164
148
175
171
132
143
118
132
129
142
114
137
137
103
133
134
123
142
117
132
140
139
130
110
144
114
103
122
122
130
121
134
129
132
121
134
137
123
113
139
126
138
145
125
114
144
135
148
122
142
148
114
100
147
101
144
135
124
127
132
105
119
127
122
129
105
104
110
115
119
110
112
120
121
105
105
131
126
145
144
133
147
117
116
107
103
134
118
119
116
140
144
102
108
108
116
148
131
110
124
101
108
112
115
121
126
139
131
136
129
144
138
107
118
125
119
103
136
148
108
101
141
124
135
123
140
126
142
125
120
124
147
136
124
114
113
102
108
146
149
150
142
129
100
136
147
135
102
145
134
100
138
110
136
101
149
135
119
132
143
145
127
141
116
148
130
133
138
131
137
131
100
105
119
148
119
100
212
218
140
219
204
196
144
202
135
129
168
120
160
216
159
142
133
207
181
163
185
174
140
176
219
185
150
195
205
179
168
188
162
164
166
190
173
158
151
127
122
207
193
192
166
132
121
197
136
217
159
136
175
183
189
206
134
170
156
123
206
201
138
135
156
171
142
208
175
185
147
219
206
134
208
201
138
207
154
173
181
215
184
215
167
189
201
193
175
183
210
121
220
171
198
133
219
211
199
181
198
195
199
151
208
220
218
195
190
171
129
153
214
159
188
155
129
120
176
163
213
193
169
170
176
132
216
195
197
125
145
127
193
124
121
119
116
147
134
109
118
110
146
109
121
104
142
147
141
131
138
145
109
136
105
121
108
102
127
146
144
131
134
132
128
121
126
147
126
121
150
141
145
136
108
118
144
113
148
107
119
140
147
105
108
128
103
113
117
104
134
113
125
143
146
116
129
101
136
137
111
143
121
122
147
129
131
144
130
119
126
149
115
110
141
127
140
102
147
105
114
133
122
140
100
118
120
142
108
131
108
109
128
116
138
149
146
144
147
105
106
102
115
128
107
124
135
118
138
117
149
133
125
141
110
129
146
122
140
138
126
118
103
127
133
103
113
103
114
103
122
129
124
124
121
148
219
206
147
126
198
126
174
137
162
211
177
217
216
137
179
193
140
142
202
196
166
149
178
176
203
189
155
141
141
192
184
203
202
178
153
176
159
166
174
209
133
199
122
188
183
154
130
179
198
199
154
141
141
156
217
219
174
135
161
157
187
184
194
182
220
180
208
131
145
127
198
192
198
213
157
190
180
157
197
174
152
173
213
148
135
187
203
160
178
123
182
133
172
133
139
169
218
176
128
179
200
145
121
124
154
120
153
161
201
153
189
125
144
209
150
210
196
167
127
216
192
194
173
140
162
213
127
186
167
206
220
125
203
132
181
157
136
159
150
169
174
218
147
136
204
132
204
187
148
146
199
207
175
151
162
214
170
126
142
124
185
181
212
141
121
140
119
105
146
148
105
110
125
116
145
117
113
143
142
101
123
126
106
128
111
143
106
104
103
130
119
131
146
123
136
100
146
110
126
105
133
121
140
101
146
114
122
106
134
100
111
147
148
149
123
117
103
127
124
106
138
140
118
134
110
144
126
126
113
146
117
111
129
106
132
144
139
108
100
128
104
131
100
140
148
130
149
131
146
124
149
132
124
113
132
115
104
143
113
107
101
148
123
121
119
115
113
122
134
115
123
114
117
120
118
120
127
109
110
119
134
135
144
134
108
101
135
133
119
149
149
130
147
125
123
136
140
144
107
129
130
127
146
120
136
144
129
143
144
120
205
175
168
179
170
193
191
192
203
218
159
197
133
220
207
160
183
200
135
182
148
196
128
158
151
174
173
165
177
211
121
167
164
159
173
150
140
205
168
219
188
190
177
143
126
176
205
152
127
208
154
133
152
214
204
204
182
173
199
211
217
213
134
157
202
163
198
166
127
183
172
136
194
174
205
190
153
216
157
158
176
126
125
144
160
161
213
169
190
199
180
176
164
120
166
206
160
155
179
191
171
126
187
173
152
123
183
120
171
204
178
142
202
199
212
212
195
172
197
184
144
145
217
194
156
137
151
211
135
175
194
145
160
189
147
132
120
197
135
140
215
218
134
169
135
154
136
209
132
131
149
154
176
155
160
151
130
141
174
141
212
138
188
148
129
105
110
123
107
140
121
104
132
116
129
126
127
139
118
143
108
146
113
122
143
140
150
142
144
148
146
143
132
145
110
125
120
139
146
146
145
100
137
148
134
131
141
106
147
127
146
145
143
120
113
113
136
145
123
116
118
142
107
128
112
141
123
118
148
135
103
118
141
102
123
118
118
117
118
141
143
145
140
150
148
142
101
149
136
136
103
132
134
100
106
150
147
107
120
122
116
103
140
136
132
122
109
107
120
104
145
124
140
129
113
131
133
147
106
117
134
143
101
107
131
100
133
117
142
150
101
103
119
175
152
176
201
152
124
147
155
182
186
182
207
189
140
138
178
155
129
195
172
163
183
217
179
140
156
172
181
190
161
176
139
208
197
178
171
138
187
170
202
138
212
132
149
144
216
147
123
135
181
186
197
200
184
205
131
148
158
144
201
212
146
125
137
193
149
157
218
194
152
181
166
165
204
141
167
194
183
198
214
127
120
178
129
216
137
190
154
182
190
185
171
191
200
142
219
156
208
188
203
184
190
131
205
205
200
199
185
174
127
143
220
151
174
216
220
183
162
149
124
208
140
156
139
193
206
185
168
162
214
151
153
146
136
126
218
174
161
215
147
151
192
153
163
162
208
165
203
198
192
198
140
205
140
155
202
121
124
130
132
133
104
148
142
100
106
107
136
125
148
123
120
121
123
123
100
138
108
125
128
122
110
145
126
101
147
133
137
150
147
147
141
119
142
142
137
124
104
129
102
139
136
136
124
122
140
114
139
111
125
149
108
146
116
135
125
131
135
149
125
147
130
104
148
129
114
132
112
102
113
132
106
115
138
144
127
111
117
102
141
126
146
148
127
110
141
124
126
109
146
133
130
139
120
121
150
112
121
110
139
135
117
135
101
136
124
133
115
123
103
108
120
127
124
108
114
131
111
105
116
114
100
144
144
149
116
145
121
101
145
116
120
124
127
110
134
123
129
127
127
101
137
116
208
139
136
161
127
122
142
210
199
187
187
197
143
201
185
213
207
126
190
165
160
220
208
175
154
152
140
153
186
188
144
212
128
181
169
156
139
183
177
136
143
131
203
133
121
209
158
123
180
169
193
217
189
134
128
146
213
121
139
125
201
182
124
139
189
123
129
150
153
183
188
190
182
179
202
161
166
177
125
179
219
195
144
130
144
151
218
141
142
145
214
166
156
159
132
196
178
172
183
195
128
190
174
162
193
203
171
178
138
163
184
136
149
161
201
152
211
178
122
191
145
189
200
141
157
130
123
205
157
124
127
177
157
169
159
183
179
220
155
120
120
138
197
131
145
178
160
123
151
200
172
171
146
180
202
162
169
151
150
124
116
113
138
124
124
114
101
119
127
124
107
102
133
115
114
132
106
118
148
132
107
128
110
105
145
141
143
116
135
109
132
111
112
118
143
131
115
142
135
144
121
121
131
105
111
109
121
127
131
121
147
102
115
118
114
115
102
105
134
132
150
141
131
140
112
140
119
107
145
115
136
109
116
141
116
113
109
131
105
145
116
129
126
128
137
130
101
100
140
135
102
116
130
133
131
150
127
127
134
126
146
131
109
102
114
147
133
109
140
125
122
100
126
103
115
124
121
131
138
121
150
107
128
140
140
127
126
120
116
116
119
144
116
132
102
139
135
101
144
149
124
130
135
121
101
123
119
148
126
133
126
105
109
133
117
103
130
106
217
152
194
212
195
204
122
136
210
194
195
189
218
153
184
154
160
150
164
196
146
183
214
212
179
205
150
152
168
216
148
165
208
212
148
173
190
152
125
149
207
205
133
172
150
209
181
181
190
199
190
170
149
134
208
175
171
199
147
134
212
176
188
155
208
165
204
163
162
162
205
189
180
123
151
174
200
212
143
146
179
207
189
182
157
154
124
136
147
152
165
155
181
209
170
170
158
209
178
154
213
124
161
207
198
199
163
186
133
158
195
166
197
206
134
120
135
126
182
130
162
162
152
148
140
132
170
207
146
129
122
211
146
168
158
146
147
104
148
109
113
105
129
100
106
100
115
129
106
103
112
117
103
102
146
141
125
135
111
108
128
108
145
120
112
140
139
126
136
132
138
122
116
144
112
124
122
112
100
123
141
128
101
120
109
124
145
131
121
123
145
145
122
141
130
148
128
109
100
131
117
103
127
142
101
108
130
119
118
111
126
109
113
103
139
131
119
137
143
105
120
105
111
125
145
116
116
124
129
145
139
103
102
145
141
105
126
132
137
110
138
116
146
143
136
100
107
148
121
142
147
114
112
103
141
148
110
150
132
109
124
136
106
113
131
135
105
101
136
128
133
163
155
201
123
192
213
211
216
135
190
197
190
155
130
179
208
162
183
205
151
181
126
217
140
135
192
210
166
220
189
219
161
181
171
200
186
144
120
172
164
153
137
132
145
132
220
171
185
192
120
142
126
220
157
133
203
166
146
131
151
130
181
168
202
175
131
186
130
152
159
134
172
209
220
217
207
167
189
128
161
196
220
201
157
216
217
214
131
133
171
129
181
219
211
219
164
207
179
156
215
178
215
153
219
207
143
165
173
133
204
196
163
138
212
154
156
163
154
149
157
193
199
147
209
131
207
196
216
182
188
174
127
187
209
189
153
164
133
131
133
123
118
105
123
121
129
112
137
110
118
142
105
140
101
129
133
136
134
112
139
138
140
109
129
107
103
111
100
139
122
129
126
148
135
112
121
147
109
129
149
148
112
146
143
136
114
126
118
150
150
100
121
126
132
140
109
136
133
130
132
149
114
120
128
112
143
114
127
124
105
129
143
146
118
114
148
106
139
110
119
105
127
150
141
120
121
137
114
135
103
147
110
133
106
102
129
103
141
114
143
101
102
121
120
143
144
139
129
141
139
143
129
117
113
118
130
106
138
148
109
113
122
109
144
131
129
130
140
127
110
137
115
103
130
127
109
106
136
132
149
122
126
139
146
106
136
114
120
100
115
105
139
121
118
140
109
111
117
140
127
126
117
130
124
116
143
198
180
125
130
164
209
145
121
125
217
146
190
204
149
194
169
171
155
126
145
209
209
176
162
164
133
220
143
181
174
154
182
214
197
206
218
154
144
180
167
202
187
165
124
159
183
120
193
147
123
208
180
218
169
179
144
122
145
187
185
179
180
177
175
187
125
135
218
164
154
150
132
201
145
143
152
145
198
217
201
149
131
193
130
125
130
128
174
134
189
184
168
135
127
133
189
121
192
142
162
216
216
207
162
191
187
122
201
212
140
176
219
123
142
186
122
140
123
169
143
147
155
169
140
190
181
167
207
185
125
107
128
108
143
135
142
109
110
137
132
100
107
100
106
117
138
142
148
135
133
128
130
101
112
102
104
126
107
149
148
148
133
133
116
136
110
137
129
146
138
130
146
138
138
111
149
150
124
127
143
142
138
117
111
129
143
119
122
148
143
135
113
124
146
124
137
139
119
105
131
138
140
125
123
132
126
116
103
114
136
145
101
101
122
143
116
121
129
130
123
146
102
123
132
118
109
139
121
131
101
119
117
118
115
144
136
109
131
123
102
146
115
146
101
100
132
146
142
128
122
102
119
148
137
137
121
145
130
136
135
130
105
107
105
108
102
125
128
149
105
124
148
142
126
125
123
137
137
116
121
146
104
113
100
211
207
199
125
202
141
139
177
151
171
206
153
190
155
177
127
200
182
167
171
202
205
192
146
191
199
126
127
127
149
201
173
193
200
202
203
190
158
123
144
124
193
161
154
146
151
151
142
199
209
215
171
148
201
140
172
173
188
212
197
203
183
163
217
125
145
157
145
191
132
123
135
170
122
161
149
164
195
122
153
191
214
142
174
186
202
153
152
164
162
143
173
147
128
203
143
161
121
123
179
132
171
123
170
209
197
218
214
132
206
180
139
142
214
147
128
127
173
176
177
137
161
183
133
163
181
163
174
129
120
137
173
167
141
195
142
190
191
155
145
156
127
200
144
203
151
189
127
197
130
124
131
131
131
142
118
127
111
111
144
134
121
148
111
142
138
130
126
122
135
119
100
142
131
144
138
118
111
115
131
127
107
115
112
135
101
138
148
130
107
146
131
150
134
147
111
114
114
111
146
138
124
131
112
141
140
148
101
149
145
135
125
110
130
141
136
128
100
119
116
116
134
134
102
137
128
147
135
121
132
122
135
110
127
148
131
125
109
106
140
143
138
135
114
148
139
108
141
116
131
144
142
115
112
124
117
147
148
141
107
101
141
132
147
120
123
150
111
131
149
122
104
148
148
106
135
103
129
123
133
108
150
137
122
123
139
105
120
114
131
113
147
142
125
102
139
104
104
116
114
145
144
140
141
106
143
117
144
112
101
128
112
113
112
131
101
109
148
133
115
115
129
134
132
108
150
172
186
172
145
213
164
130
209
219
190
155
201
181
143
169
199
138
132
194
163
170
178
182
158
143
167
127
158
183
175
121
208
173
154
217
179
161
138
192
144
153
168
161
158
210
170
147
219
173
219
123
179
195
139
196
175
145
204
160
181
190
206
149
219
196
210
202
196
167
145
126
186
220
212
205
120
189
220
147
121
145
121
214
188
182
219
175
159
209
182
200
178
137
209
179
220
175
140
162
129
178
206
214
156
169
178
157
165
161
196
213
132
189
131
138
166
170
202
130
203
130
172
181
155
161
173
144
123
150
176
189
142
124
141
190
175
193
191
159
161
216
138
137
186
129
204
164
165
213
209
199
212
182
143
109
150
114
146
107
133
107
109
132
134
103
126
149
109
109
117
115
108
121
144
112
120
145
109
112
119
145
144
137
114
130
102
100
117
124
140
130
145
108
131
105
112
105
128
128
146
110
125
119
120
126
118
145
135
139
131
107
131
108
124
140
122
117
120
109
109
122
127
136
131
137
133
100
108
126
146
106
141
142
107
136
129
103
130
126
121
127
150
107
109
138
117
108
124
129
144
132
149
126
136
123
100
134
138
128
104
113
148
128
104
149
120
140
129
108
142
121
116
137
121
112
149
122
148
133
146
135
145
127
142
102
146
141
128
102
111
139
102
150
115
108
137
130
110
121
100
132
113
107
102
114
104
130
109
111
109
126
132
116
135
150
104
148
136
131
112
146
133
110
102
100
132
135
126
188
164
204
218
143
191
144
166
200
147
189
216
134
165
162
174
212
144
175
179
207
175
187
165
178
192
125
216
197
150
127
218
159
172
193
211
159
157
186
164
172
172
219
128
145
215
161
218
185
187
155
137
141
195
174
196
154
195
207
130
185
216
197
146
137
130
125
182
208
151
180
195
215
218
143
181
125
216
120
213
131
135
181
218
170
215
220
198
166
145
177
171
164
157
206
201
152
161
192
121
176
181
220
132
189
144
206
153
153
202
198
195
195
124
134
179
134
181
130
123
168
127
160
125
169
203
162
129
146
199
164
156
135
134
133
193
171
189
129
203
123
127
176
213
161
198
146
122
191
180
167
162
143
143
180
204
206
178
144
100
133
111
137
143
115
136
127
145
112
131
115
131
148
134
128
109
131
146
141
146
134
109
112
129
109
103
115
130
109
144
145
145
109
139
121
147
105
148
116
148
126
102
121
134
133
121
150
118
139
110
105
106
109
123
146
130
136
140
109
126
150
113
111
144
118
129
146
117
150
115
108
111
125
108
148
149
138
119
127
100
134
145
103
139
130
131
134
149
105
146
104
148
137
117
127
111
111
137
135
110
110
138
137
105
111
133
116
113
122
116
150
129
122
140
106
136
109
127
133
131
119
127
121
140
137
105
144
112
138
135
118
127
140
149
137
105
114
112
139
124
139
140
146
104
113
124
101
131
116
109
131
125
117
103
150
117
138
130
109
111
102
149
107
115
144
129
107
132
143
215
124
197
138
213
154
195
128
170
193
173
126
215
151
148
180
120
128
128
138
148
134
188
190
161
212
166
167
143
217
158
207
135
210
163
147
129
192
140
134
156
153
135
213
122
129
211
213
135
130
211
130
196
200
161
146
153
189
134
156
129
123
129
189
177
206
122
183
209
122
208
160
125
181
180
201
173
200
176
190
150
160
169
193
156
132
195
136
207
181
168
146
172
190
189
181
207
162
205
188
146
191
160
172
213
206
164
202
180
185
215
134
144
180
166
148
149
147
150
172
191
199
204
208
168
139
166
132
143
140
210
211
153
183
174
157
130
131
189
194
169
154
155
193
120
181
190
176
177
204
137
161
172
128
202
130
179
204
125
138
202
173
205
179
200
165
185
148
133
199
143
135
137
129
143
104
122
135
147
110
121
125
104
109
124
150
118
139
142
129
100
131
148
116
135
148
139
121
129
130
137
137
143
121
109
118
136
134
127
116
150
141
104
122
109
127
143
100
150
130
124
126
141
149
103
133
100
121
111
134
104
120
113
123
137
142
137
127
141
107
108
136
105
109
148
140
131
122
100
101
126
150
141
130
103
129
130
138
107
119
137
106
140
106
139
135
148
130
141
100
113
124
138
146
133
125
130
120
112
100
123
123
149
136
107
113
108
100
137
103
105
142
136
107
116
126
150
148
146
122
125
121
144
136
135
106
143
137
112
133
123
142
142
110
112
146
141
139
149
120
139
142
112
136
134
125
118
106
101
124
120
111
147
107
178
162
131
179
210
150
151
215
219
162
146
211
185
208
185
147
214
125
186
206
174
213
150
142
207
179
220
159
188
139
170
195
200
210
185
146
174
130
154
126
172
170
144
199
164
149
192
160
177
164
161
205
154
135
152
142
125
166
179
141
159
216
149
184
172
126
139
134
174
175
149
171
174
187
178
165
143
184
214
188
129
125
212
203
123
151
206
209
197
186
182
198
138
154
177
193
173
134
121
202
133
190
180
171
160
170
183
186
201
180
158
139
211
219
208
167
151
121
128
158
128
195
165
139
149
152
197
186
216
121
138
161
181
165
160
216
184
125
183
129
205
151
154
165
180
207
173
135
188
161
146
191
124
213
153
196
186
179
131
120
127
135
205
132
138
138
115
107
134
143
131
114
125
138
107
109
143
139
129
110
143
117
135
131
116
150
121
100
127
124
142
131
127
104
102
135
124
137
148
117
123
116
109
134
122
108
117
109
119
104
107
126
117
124
137
144
106
125
142
100
119
135
115
108
135
141
109
110
122
104
129
101
107
133
116
133
147
104
104
140
126
106
134
110
115
128
144
143
149
128
107
138
142
123
107
114
150
102
130
119
120
148
141
120
105
134
143
102
102
104
139
106
139
129
117
119
144
138
148
121
109
122
106
128
123
132
137
122
125
101
112
126
113
118
103
115
148
125
136
148
138
140
143
135
128
112
111
150
145
130
174
198
208
146
174
137
162
138
155
207
120
120
134
188
186
211
203
136
198
216
160
208
138
127
166
203
166
190
171
217
160
139
149
145
140
211
179
162
190
175
189
122
184
181
202
157
165
165
158
157
160
179
174
145
158
147
190
207
210
166
171
151
204
138
166
204
157
169
192
180
212
131
210
156
186
216
198
210
175
134
173
207
208
163
182
123
163
197
167
147
204
180
120
148
161
123
156
141
162
150
198
208
202
152
143
121
212
168
161
175
210
123
163
150
207
174
158
125
197
177
178
155
124
159
196
133
198
190
172
137
171
138
157
196
138
152
151
172
120
134
178
205
117
127
129
140
116
111
109
131
131
107
137
129
141
103
141
108
125
113
112
127
143
128
113
137
150
133
124
125
116
119
123
126
138
124
141
129
121
136
101
139
103
145
122
118
110
144
134
110
101
121
132
148
143
109
127
103
141
141
116
119
110
110
146
141
126
115
139
101
127
128
143
129
116
118
133
106
141
148
133
104
133
139
134
136
149
120
141
100
101
141
123
119
100
124
103
122
122
140
135
138
146
119
145
113
129
140
123
143
143
147
138
104
148
126
106
147
107
107
125
123
106
117
141
142
148
113
101
101
101
142
113
131
107
137
110
149
113
139
105
122
129
122
139
147
143
107
139
145
133
150
112
113
128
147
119
131
109
116
116
150
103
138
130
104
103
110
123
125
156
214
142
184
199
178
141
135
146
156
155
157
207
138
179
151
157
181
133
190
125
128
200
211
213
190
122
163
135
176
139
122
125
211
160
191
157
132
167
190
193
193
191
174
169
212
166
150
131
136
155
157
136
142
136
142
218
182
184
177
202
198
209
154
121
185
183
199
121
192
143
188
121
206
215
175
189
206
161
133
220
120
157
181
192
120
189
175
158
189
192
207
147
143
166
178
213
146
219
129
181
159
195
126
137
217
173
145
215
155
195
180
158
200
195
158
129
165
198
145
141
150
198
164
169
168
183
205
195
160
177
136
211
172
142
202
214
195
152
178
197
209
210
170
129
207
207
111
131
118
141
137
126
101
149
134
149
138
134
146
123
103
131
120
120
113
145
145
133
147
124
121
126
148
133
100
116
141
119
149
112
128
128
139
146
146
110
121
136
132
104
147
123
111
105
106
143
100
121
122
147
105
100
132
111
135
134
115
116
142
117
145
102
150
101
138
119
101
120
117
117
145
110
113
122
100
114
105
113
132
101
144
122
126
118
144
101
111
112
147
116
106
104
127
146
105
145
148
123
108
122
135
109
132
148
112
106
107
127
119
100
127
127
128
116
135
125
145
132
135
143
106
125
119
145
110
147
140
124
150
116
144
107
109
104
124
136
126
145
102
123
114
131
135
128
107
131
133
105
120
142
119
108
129
111
138
106
117
139
109
126
207
208
174
162
142
192
215
215
134
135
200
139
158
157
181
120
194
211
155
214
155
199
127
195
147
198
155
132
183
209
134
180
171
153
169
191
144
167
122
156
202
132
178
202
198
180
180
219
213
158
131
136
195
215
145
205
177
208
161
131
172
210
141
174
190
213
137
151
188
182
205
191
207
174
123
135
126
199
145
198
188
172
200
148
200
134
169
217
153
133
199
144
203
122
138
168
145
155
160
161
191
179
147
131
132
146
170
169
213
120
173
125
166
127
141
218
198
189
216
150
194
202
215
171
214
137
146
164
211
160
122
133
151
146
219
162
156
170
182
143
193
203
151
133
141
129
207
217
220
213
147
137
177
203
130
126
123
132
204
171
130
128
123
131
117
105
144
146
112
110
141
122
115
120
106
104
148
139
114
105
138
106
126
121
142
150
101
130
125
136
109
137
113
135
101
107
144
139
101
119
118
110
126
119
146
119
127
150
112
105
107
120
126
121
144
142
104
133
128
118
137
117
116
142
121
100
131
108
113
110
123
125
131
138
101
119
111
123
122
133
122
140
138
140
147
137
125
110
119
143
138
143
116
117
141
115
104
104
123
105
129
108
128
123
111
101
126
136
149
141
125
123
116
150
119
107
127
125
141
118
113
112
125
108
109
127
149
124
137
101
147
106
130
132
123
150
111
147
140
147
146
109
126
145
129
116
150
111
103
133
137
143
147
121
148
116
132
127
139
137
126
138
143
110
133
139
129
125
149
208
141
137
204
172
160
180
205
160
192
142
202
141
208
171
153
184
186
153
193
138
167
208
206
183
149
171
145
146
145
124
163
142
171
185
201
158
185
123
148
208
121
210
190
128
188
167
174
147
185
152
123
151
219
171
218
208
193
207
130
133
137
136
184
202
217
127
154
123
165
123
152
205
209
160
132
135
208
199
130
126
185
131
201
154
184
128
127
166
188
193
204
180
139
184
188
173
183
197
162
147
211
121
174
175
130
171
164
151
167
144
138
123
142
208
195
210
165
146
122
172
198
131
187
160
209
131
129
210
181
205
213
150
210
176
210
120
110
109
130
150
148
105
143
100
127
141
130
134
104
107
148
143
139
119
141
120
110
148
119
113
143
146
120
111
138
131
132
113
136
112
123
102
128
138
116
116
117
112
126
106
116
123
144
121
118
100
118
136
121
104
136
105
139
104
100
125
146
131
143
142
102
128
146
109
122
141
145
124
101
109
125
133
134
150
116
146
127
150
127
149
123
126
104
146
128
116
146
137
142
124
135
145
147
110
128
137
128
136
125
120
127
131
134
117
129
112
121
129
139
150
114
119
143
102
114
127
107
133
122
119
103
134
120
149
124
119
103
144
116
128
111
148
133
112
129
111
134
101
127
149
147
145
128
163
199
210
161
160
162
150
207
178
167
203
219
213
181
132
131
187
120
135
220
150
138
134
143
200
137
219
167
183
208
132
138
214
197
192
152
179
205
131
195
215
133
214
158
167
150
170
152
176
190
220
181
147
204
127
186
134
177
217
158
139
138
163
198
171
196
191
123
184
150
133
129
168
121
195
145
144
156
162
173
191
157
194
146
181
131
187
170
137
189
176
205
180
164
136
169
121
127
177
201
161
147
201
132
184
167
212
121
165
171
188
199
161
139
177
133
201
174
139
215
213
120
186
213
161
163
155
146
156
183
127
180
218
140
202
120
193
158
121
177
133
195
132
200
157
164
198
215
191
120
203
178
110
148
139
147
143
106
128
119
115
126
135
118
149
116
136
125
130
126
118
133
115
102
114
138
107
104
150
124
134
124
112
131
141
125
111
119
147
149
107
117
114
114
107
116
147
126
147
111
124
130
119
105
117
139
148
149
119
102
118
142
127
140
115
131
126
109
120
112
106
150
138
102
116
146
144
114
146
122
139
147
109
147
134
123
147
103
140
132
122
149
117
127
107
138
105
111
133
106
118
100
127
121
123
119
127
136
130
133
101
116
106
114
128
114
103
105
141
128
137
133
115
103
103
111
148
141
135
120
115
125
100
108
140
134
122
107
130
114
109
123
119
169
219
137
134
148
195
157
179
146
120
219
168
206
137
172
207
120
124
206
191
165
216
172
143
206
120
211
170
177
164
137
156
128
191
130
158
171
179
199
180
139
168
202
138
183
147
185
124
152
175
181
199
138
208
218
127
188
201
137
149
149
142
183
134
179
152
199
155
201
178
186
137
202
191
188
139
128
174
215
147
219
212
220
163
185
132
179
162
192
124
182
191
200
152
197
188
190
167
138
191
165
181
185
149
143
170
175
126
157
211
215
137
140
122
208
183
143
143
200
126
132
164
190
191
188
214
135
150
217
196
212
184
161
111
140
147
116
102
147
135
139
148
101
103
145
137
109
110
118
118
143
136
105
148
127
111
105
112
111
105
131
107
117
145
142
110
101
137
134
129
116
105
131
109
114
145
110
144
127
118
127
105
121
148
148
114
122
132
131
134
129
129
138
121
139
129
104
111
117
138
150
101
139
115
134
100
102
101
116
116
147
119
133
141
117
125
111
105
148
144
142
139
112
122
114
123
129
116
126
116
115
117
107
133
107
146
104
139
103
148
146
138
112
110
149
115
115
144
115
147
117
125
140
113
125
126
108
142
145
138
105
148
149
128
110
146
126
148
105
102
123
116
147
147
121
125
108
119
131
145
115
141
110
122
182
177
161
170
217
151
174
207
187
168
180
124
176
159
151
195
127
128
148
181
147
179
213
149
132
193
218
165
199
201
143
134
161
123
164
216
200
124
198
162
174
142
163
209
187
130
139
168
173
214
177
147
164
124
147
189
159
210
206
143
151
193
219
209
130
174
197
178
149
159
178
169
140
205
218
166
174
175
121
166
216
173
121
184
150
198
129
140
202
178
193
218
150
211
143
122
164
164
183
124
186
187
136
124
152
201
148
168
169
144
176
150
197
175
164
212
198
208
163
171
160
124
124
151
187
131
135
220
130
207
174
171
138
190
179
133
140
201
175
158
159
201
149
159
182
136
208
149
128
207
196
153
214
150
147
214
195
210
133
209
196
211
139
191
166
129
206
204
165
204
121
123
114
132
125
111
146
110
116
107
136
125
117
110
142
144
120
105
149
135
129
118
108
121
123
145
101
146
103
117
117
103
110
109
129
106
131
113
149
140
143
132
104
130
146
130
145
130
146
119
138
110
115
145
135
135
145
136
103
126
140
141
108
105
125
134
127
140
138
107
133
143
137
133
146
134
131
138
125
111
116
138
124
106
143
116
121
135
119
150
118
127
108
139
102
147
118
118
121
140
119
149
133
132
124
142
137
108
129
127
122
111
117
122
126
143
102
140
133
110
111
127
109
145
103
138
127
111
126
214
200
128
120
143
203
183
154
161
134
192
155
200
220
186
157
184
136
170
196
146
159
169
132
163
162
219
142
186
147
162
176
184
131
178
126
170
143
159
175
147
210
170
138
132
190
166
127
175
202
151
155
172
146
129
200
125
183
152
122
196
131
163
145
198
142
176
124
134
220
201
190
167
216
172
198
201
139
149
176
183
187
127
155
166
121
124
155
141
171
208
172
201
129
204
210
184
198
173
187
139
185
141
217
128
121
214
218
176
124
171
163
173
214
138
143
120
162
122
164
135
199
187
200
181
174
177
217
145
145
176
124
172
185
190
216
186
219
181
139
213
154
138
206
122
112
133
143
108
129
148
115
105
113
109
107
105
103
137
131
114
101
111
133
138
149
145
104
124
105
117
114
131
132
149
133
106
144
129
121
131
109
150
136
137
129
126
113
125
146
139
101
125
145
102
126
115
148
140
150
136
120
113
105
114
106
139
127
144
101
133
112
106
134
147
114
107
147
110
145
135
110
121
131
105
119
101
109
140
109
146
130
100
106
143
132
113
103
121
149
119
101
134
130
125
119
120
142
126
148
128
138
120
126
115
128
145
108
102
117
111
114
144
110
135
115
100
108
124
118
136
103
138
116
120
101
142
133
106
123
105
141
116
132
140
126
137
105
140
124
137
141
114
138
113
177
204
202
125
143
197
180
197
207
178
166
145
146
155
219
201
151
214
139
181
149
185
130
180
156
152
174
161
157
144
173
155
198
158
141
213
145
200
188
217
182
170
145
220
170
171
196
177
209
145
130
149
176
173
184
134
175
173
179
139
152
164
156
139
200
206
153
217
203
220
176
171
197
164
219
152
129
124
157
155
172
130
158
220
122
146
209
183
148
138
181
205
177
215
198
154
121
152
125
214
217
156
203
187
212
189
123
166
120
120
126
171
176
200
130
200
149
132
178
159
185
163
143
188
201
211
177
209
130
183
143
179
128
193
144
193
138
163
164
181
125
216
191
169
150
198
202
205
175
198
210
149
124
210
217
185
177
125
169
217
187
198
139
199
211
176
121
131
128
217
140
142
178
193
191
144
111
149
126
134
129
114
140
101
108
122
112
129
139
126
133
136
149
139
146
127
148
121
130
115
149
148
124
129
132
111
121
146
107
112
150
126
101
135
131
108
140
143
112
118
127
141
138
150
147
100
127
120
126
141
112
113
121
137
107
106
145
103
101
113
139
121
103
145
131
121
143
143
130
106
136
108
125
113
119
112
131
101
121
145
107
131
128
105
133
147
130
116
144
110
126
116
116
143
125
103
100
124
148
126
147
146
142
119
110
141
100
127
123
131
140
115
123
141
107
145
106
146
141
134
106
144
103
106
138
104
112
124
101
123
134
114
130
125
107
142
144
130
134
111
125
100
123
135
109
142
138
131
125
105
150
122
123
131
156
211
123
208
190
218
179
180
125
165
123
182
131
192
160
210
148
131
130
219
196
173
153
135
171
220
167
171
175
165
126
192
199
175
152
186
217
156
218
121
209
140
169
216
178
211
173
123
183
151
191
148
169
190
217
139
180
152
200
153
203
141
184
142
196
125
178
197
158
130
198
220
198
139
179
200
199
169
143
122
217
197
128
137
214
213
145
153
188
193
211
150
203
193
134
135
188
164
193
134
175
151
205
194
152
218
219
165
164
131
121
134
195
191
140
201
146
142
191
193
129
193
186
151
151
169
154
152
188
177
211
145
202
122
136
150
137
207
195
205
130
131
111
146
113
132
141
105
112
146
116
116
115
114
147
119
138
138
134
109
120
114
111
121
108
127
119
108
142
109
117
147
144
106
124
101
146
100
131
126
116
122
114
133
139
138
146
138
122
117
115
134
107
124
119
101
143
123
109
112
135
124
101
125
117
105
117
145
113
103
135
110
100
142
127
119
100
126
147
149
100
114
133
124
123
132
146
134
139
109
140
132
117
124
116
106
113
128
106
122
105
100
106
143
150
117
123
139
106
120
131
111
128
131
121
122
105
104
104
150
108
116
125
110
149
111
110
123
122
118
111
136
139
129
141
121
134
136
105
125
119
117
110
129
106
118
128
127
103
107
146
115
143
115
108
142
127
150
129
120
125
138
117
139
216
136
175
207
178
186
188
121
175
219
199
147
217
185
165
188
208
140
145
158
161
202
200
165
128
198
180
190
166
122
200
152
126
125
159
139
140
134
132
220
156
134
126
164
148
178
138
139
189
167
204
201
179
195
177
155
158
168
187
196
214
185
150
207
184
160
182
138
174
127
148
175
204
188
150
186
217
203
149
207
151
182
218
194
157
219
182
201
194
162
121
201
127
135
209
188
205
194
158
175
189
129
199
128
188
171
154
135
138
212
133
215
209
219
170
138
183
176
167
180
162
208
195
200
205
148
153
197
120
211
143
194
140
167
145
123
169
173
162
209
134
183
165
168
156
182
162
129
174
136
215
106
100
102
132
114
142
141
120
119
113
101
102
144
100
108
135
146
114
118
106
108
142
132
111
144
140
107
118
107
105
117
116
136
112
103
130
145
148
143
145
102
119
126
106
110
117
143
128
127
150
101
135
102
108
149
137
132
110
133
108
128
148
104
110
108
105
149
104
138
100
146
121
128
132
122
139
106
103
115
102
114
113
130
102
116
105
119
146
128
119
149
129
148
118
140
136
134
136
112
150
118
132
134
109
142
112
106
104
134
131
123
102
125
129
102
128
105
102
105
124
133
102
122
129
104
110
144
150
131
112
118
111
141
129
106
134
142
104
124
147
143
108
134
135
135
139
132
112
145
113
110
114
110
108
130
141
127
140
125
125
176
121
121
218
136
146
187
165
129
168
172
214
157
151
125
185
131
209
214
144
206
149
168
169
214
200
135
123
169
128
131
125
152
161
216
148
138
212
216
196
159
144
199
151
187
148
197
193
167
195
129
193
171
212
132
166
124
186
124
137
206
190
150
205
192
213
219
133
193
205
151
141
207
134
217
197
191
138
141
153
171
127
126
153
216
214
144
210
128
144
134
197
180
172
145
132
145
192
128
158
192
201
179
186
172
183
184
136
140
198
126
208
209
211
152
145
153
162
177
183
156
188
216
151
142
127
132
159
166
202
174
125
166
218
186
121
212
180
199
210
147
207
211
201
195
199
103
134
145
116
141
101
146
119
131
143
120
130
143
131
146
119
111
149
104
102
122
118
126
113
147
100
112
136
105
132
130
131
116
107
140
134
110
139
117
106
144
108
113
146
115
121
102
139
150
127
136
131
135
126
123
146
130
148
107
116
124
144
143
131
145
110
115
131
127
101
139
129
149
106
150
118
148
140
129
148
136
100
140
147
100
111
117
129
107
128
130
105
106
125
133
109
141
149
132
124
132
150
150
128
143
124
130
131
131
136
134
101
117
133
146
122
102
132
111
137
119
132
112
137
103
146
122
129
129
184
146
145
203
125
163
131
215
131
197
137
186
175
143
138
132
213
170
218
129
195
144
180
198
193
136
131
127
157
167
189
125
167
199
209
165
142
210
220
141
197
184
166
124
153
121
126
137
147
181
163
137
196
168
130
155
152
179
162
216
163
206
122
165
167
155
132
194
130
127
193
184
191
155
215
162
163
188
124
196
127
160
217
134
191
154
141
194
143
186
170
167
206
220
189
195
140
189
203
191
196
169
198
167
176
193
123
172
204
183
179
158
191
210
165
140
161
186
202
185
200
142
167
189
132
131
131
156
150
172
162
215
201
211
198
156
219
215
147
161
152
172
134
202
121
137
148
195
200
192
141
199
215
163
185
122
155
178
125
161
125
152
153
145
170
149
138
118
118
138
125
115
134
145
144
137
122
150
142
141
133
139
127
126
149
144
132
121
141
114
105
109
132
117
113
118
119
120
100
107
130
103
100
115
103
130
147
109
121
121
111
142
110
137
141
124
113
117
150
119
146
133
132
141
119
100
119
150
127
148
124
143
127
147
127
104
149
123
101
140
149
103
122
134
100
144
145
119
147
112
118
107
120
150
137
117
130
107
128
122
108
148
103
108
114
145
144
102
150
125
110
112
120
112
135
135
111
135
113
100
129
112
134
148
112
104
147
124
111
122
149
114
142
119
111
107
100
104
147
108
136
122
144
143
141
144
141
134
111
111
130
133
103
119
113
118
150
144
101
135
131
136
219
187
135
183
206
148
158
192
189
162
174
186
133
168
185
215
159
127
147
193
217
155
166
149
196
147
134
189
191
190
159
183
146
121
145
205
197
162
209
165
170
156
180
146
148
124
199
169
142
133
124
155
129
194
169
146
206
214
205
161
220
202
193
164
144
139
146
193
151
122
213
153
220
155
195
128
142
148
161
217
149
179
184
129
120
175
130
125
213
172
175
173
131
220
191
132
203
153
200
163
214
212
155
169
173
199
167
155
196
147
161
194
183
196
166
121
197
133
170
123
200
219
145
151
203
164
137
122
190
145
206
183
132
176
177
174
187
143
114
120
135
113
139
139
129
100
137
135
139
131
104
134
127
112
115
104
135
108
100
145
124
102
143
106
131
119
124
150
108
148
127
103
104
116
144
118
104
130
147
150
149
119
103
145
110
124
147
142
122
125
145
141
106
148
131
101
133
134
116
142
140
129
116
118
128
141
110
118
130
107
136
143
120
123
107
129
139
146
104
100
139
112
129
106
105
121
150
112
111
120
137
104
141
121
105
131
129
128
121
117
140
145
146
141
141
149
144
137
132
144
126
103
120
117
105
123
104
128
143
103
137
113
112
131
138
110
118
110
105
107
138
148
190
217
170
188
177
167
215
216
180
183
202
196
159
161
151
141
147
147
132
205
171
147
164
137
143
196
184
186
152
170
149
178
150
217
182
133
168
179
168
120
183
172
213
128
134
203
151
157
158
210
153
214
186
192
189
186
136
194
182
158
143
195
157
151
176
196
144
143
218
206
216
199
217
127
164
214
157
123
211
126
158
189
141
148
163
149
180
137
212
217
123
189
162
213
218
134
210
120
157
204
182
157
172
179
167
169
188
213
217
167
125
137
167
152
146
194
153
129
188
174
216
163
161
200
201
168
209
171
168
171
150
115
128
126
117
146
111
150
139
134
106
145
130
116
117
126
127
120
115
101
142
143
107
134
149
139
124
110
119
103
120
134
150
108
148
127
118
117
117
111
114
148
119
119
144
140
145
135
132
100
131
130
124
128
127
130
132
142
121
116
148
132
119
126
100
138
101
134
116
131
102
119
133
105
147
128
130
133
118
109
133
126
126
137
149
127
102
105
127
131
132
145
137
109
126
112
103
107
126
134
122
109
106
126
144
117
100
100
146
108
143
111
135
125
131
141
130
103
142
106
150
125
107
106
118
125
116
119
141
139
141
112
140
131
102
111
118
119
143
140
135
116
148
117
127
134
149
107
116
106
115
145
121
134
218
161
173
150
212
141
165
213
120
179
128
208
183
175
161
190
149
189
130
200
137
171
178
189
135
173
213
159
190
181
179
190
135
148
137
144
123
161
141
133
220
142
161
133
183
174
166
209
135
194
144
140
220
172
205
164
142
132
174
121
155
212
182
184
149
217
170
152
136
209
145
200
166
217
200
219
180
218
189
211
126
175
140
196
202
202
193
146
192
204
211
173
132
167
163
201
151
152
196
186
126
174
151
218
177
137
214
170
135
200
186
196
178
177
132
209
218
217
178
155
130
215
207
170
150
188
144
162
155
164
169
148
208
139
159
130
213
178
144
163
143
161
210
146
209
167
202
175
160
203
188
129
178
208
203
141
183
159
136
135
157
200
123
107
106
127
139
126
150
112
128
127
150
129
114
120
123
117
130
144
127
120
146
142
130
126
100
149
149
130
149
115
147
123
138
147
136
150
138
114
115
133
138
126
137
103
134
101
103
124
127
133
141
135
125
107
148
102
122
132
123
150
147
108
148
114
125
145
107
139
142
142
105
130
138
141
145
104
113
142
101
127
150
147
141
117
105
122
119
145
146
117
128
144
118
123
136
109
143
143
108
127
118
123
142
107
145
121
117
138
113
108
100
110
115
101
140
105
133
130
110
115
105
146
118
135
127
101
128
125
149
140
105
109
125
140
139
108
145
106
104
125
136
122
133
112
107
148
137
141
131
148
161
163
169
132
164
143
172
192
207
170
217
162
146
188
195
175
164
150
140
155
133
130
178
133
134
217
194
181
126
147
170
208
144
121
167
137
184
149
125
201
191
182
132
213
204
158
172
135
190
177
126
154
190
189
162
174
180
218
206
165
187
175
200
147
202
137
216
123
216
212
121
131
157
172
186
136
170
192
219
140
120
147
213
148
198
131
202
158
161
192
198
202
172
207
154
173
195
141
206
189
158
155
161
161
166
155
123
197
216
149
180
132
208
186
120
135
140
133
137
205
213
130
202
175
207
122
199
160
197
174
183
126
199
180
163
170
133
140
137
200
170
135
170
126
155
156
136
147
141
211
155
145
131
143
156
185
174
210
151
159
123
135
206
151
219
208
199
150
196
122
133
105
124
141
139
116
122
105
141
140
147
131
115
133
130
134
147
117
135
113
120
110
118
116
107
112
118
103
146
122
134
114
105
127
141
103
149
124
102
118
100
122
119
100
112
127
138
112
141
128
124
133
128
118
115
113
147
103
127
119
110
136
133
137
122
105
133
107
111
139
103
102
123
143
127
124
104
102
126
150
105
129
139
105
149
128
112
131
114
108
115
113
101
112
146
105
137
135
124
148
149
103
120
112
105
100
106
128
104
131
130
123
106
116
128
111
112
147
117
113
121
109
124
107
146
138
143
110
129
123
148
143
108
147
149
139
102
122
132
131
123
109
128
126
171
215
165
186
185
144
168
207
153
202
201
205
182
155
139
153
199
120
179
181
132
209
138
164
199
198
173
211
187
142
212
140
213
140
164
121
154
144
162
125
191
173
160
125
175
167
156
187
214
199
196
199
215
145
159
140
205
128
132
199
216
130
174
202
169
173
164
186
156
207
167
149
211
209
196
159
202
189
161
154
121
127
207
213
145
188
175
156
205
192
198
122
150
143
152
154
120
132
198
217
129
199
182
131
208
184
122
143
191
159
180
120
156
160
198
157
203
174
130
139
208
164
188
207
219
164
195
193
199
220
217
175
184
195
129
133
219
207
208
175
220
168
162
217
170
199
144
138
159
197
147
127
123
185
138
196
148
145
175
162
191
217
131
120
150
145
145
150
144
104
102
105
128
135
112
141
120
128
127
145
116
133
124
111
144
125
106
131
115
149
141
145
139
140
121
110
114
139
105
104
121
116
146
144
121
116
100
123
106
103
146
136
143
125
135
110
126
150
137
131
144
126
109
106
105
103
110
121
130
131
101
146
100
142
148
144
131
108
106
144
121
134
128
148
123
138
120
148
121
130
130
148
108
129
117
149
101
130
122
116
128
104
145
106
128
100
107
130
137
118
124
147
125
113
150
141
147
136
117
101
104
102
133
137
113
138
128
141
117
122
120
117
145
114
150
149
129
135
127
220
196
132
208
211
122
127
164
220
148
178
175
183
135
140
187
122
149
135
125
182
166
134
213
135
133
188
204
170
193
196
161
158
147
178
122
202
183
139
145
209
168
214
167
173
148
132
148
177
139
211
151
184
123
135
189
134
145
215
199
153
140
202
156
150
145
154
208
132
134
158
192
213
180
137
220
159
148
134
121
179
125
161
219
155
220
126
216
126
202
131
195
216
205
150
134
219
141
217
146
163
199
122
180
167
194
215
187
129
184
122
123
160
124
193
161
130
194
174
219
135
199
141
201
205
152
129
148
155
136
159
168
155
150
168
149
169
150
203
217
145
193
178
212
140
206
174
175
158
182
153
124
123
109
115
143
120
144
113
106
103
111
123
141
115
137
124
125
123
108
121
146
126
105
110
120
101
111
137
103
128
116
102
127
115
118
110
136
149
133
106
147
149
122
121
128
120
102
108
141
107
134
138
128
131
144
120
100
134
103
129
150
114
102
116
105
125
121
113
121
138
104
118
135
136
128
107
130
105
133
148
118
131
114
102
104
130
123
113
107
140
139
145
110
113
133
102
106
124
134
124
107
130
145
132
142
146
148
110
145
128
131
145
150
112
135
133
141
110
140
142
117
122
130
124
114
110
140
118
114
145
123
103
141
118
115
138
135
128
101
132
113
124
124
136
119
143
115
136
114
105
138
108
130
112
113
122
147
112
115
121
127
150
101
140
135
114
144
177
187
146
150
207
128
163
150
191
125
191
208
140
214
174
195
206
185
123
188
184
188
195
125
144
155
204
205
219
220
173
172
131
145
172
127
137
128
162
220
132
147
169
138
210
179
213
210
211
151
164
181
126
149
183
151
174
172
182
160
163
147
195
146
203
214
196
131
156
182
138
203
135
147
219
219
122
161
121
133
130
129
180
158
199
181
150
145
155
134
218
218
158
220
146
155
129
190
182
164
140
177
153
212
204
172
182
129
174
138
152
143
204
211
195
176
187
134
213
201
190
145
195
141
184
153
173
216
137
127
193
159
158
186
136
144
218
180
213
135
159
128
147
214
154
202
174
196
174
197
177
178
158
187
186
172
182
191
194
166
154
192
177
189
208
216
124
208
160
164
171
108
127
100
146
149
122
130
140
150
135
121
110
115
123
104
107
138
138
147
117
118
138
105
148
119
102
101
122
146
114
114
102
115
133
138
100
104
135
136
134
129
101
139
100
150
117
102
113
120
119
116
142
130
108
124
128
137
106
147
105
123
147
107
123
126
131
124
107
144
134
100
131
147
106
113
126
116
124
107
126
145
101
139
106
129
114
111
119
145
106
143
136
113
109
116
142
132
140
112
133
146
143
129
135
104
113
142
117
137
129
140
103
138
131
138
118
150
109
150
120
113
116
127
132
128
142
137
101
100
149
135
148
121
100
130
124
142
100
122
138
123
107
101
150
135
145
103
126
134
145
103
134
100
110
126
141
112
126
189
167
121
186
140
191
209
218
156
218
186
214
172
174
219
148
126
145
167
208
128
183
172
127
174
148
211
154
189
220
165
127
176
144
181
136
184
178
206
126
168
189
154
181
201
218
202
215
196
138
211
146
128
180
136
193
208
135
140
129
161
124
213
219
171
123
126
185
214
188
176
179
166
147
138
198
175
212
188
180
209
150
178
145
152
191
184
193
135
161
122
193
185
153
151
207
123
183
220
203
204
180
187
211
139
195
208
167
184
209
139
209
181
209
207
167
120
194
138
194
151
139
169
140
133
167
166
173
138
192
122
187
128
194
179
218
120
131
132
194
218
189
124
157
156
132
158
207
151
132
126
178
134
220
159
197
131
139
117
122
101
143
127
149
118
121
118
111
104
116
107
129
149
116
137
105
137
134
118
130
122
118
148
145
138
109
123
106
123
111
134
121
126
124
111
144
103
114
120
119
134
123
123
104
150
109
141
131
110
133
132
103
103
147
145
121
144
114
100
129
127
110
131
141
137
126
113
103
112
132
131
113
144
115
124
148
110
120
148
142
106
124
101
150
132
119
101
116
107
101
149
150
126
131
118
147
114
124
147
148
122
142
115
109
132
140
127
139
102
149
109
143
112
148
145
133
133
150
138
139
145
142
150
122
129
116
114
148
100
144
147
112
103
104
119
141
148
119
112
125
178
143
143
135
159
153
208
143
174
130
195
198
122
149
219
178
208
175
208
163
160
190
174
151
126
188
138
220
154
142
206
195
122
160
121
199
139
136
123
220
198
205
207
187
214
158
174
171
122
157
202
205
155
149
166
149
182
140
175
188
190
177
163
180
150
142
181
126
200
193
140
149
213
124
194
128
169
216
212
138
192
156
152
219
203
137
164
155
179
138
175
210
180
156
161
182
171
155
177
185
172
197
121
176
128
214
189
142
160
137
191
148
214
192
189
171
167
214
176
180
139
129
141
200
215
199
176
191
145
182
169
196
115
104
126
115
149
111
144
141
112
122
124
111
123
111
140
112
149
123
117
128
105
123
100
123
149
141
121
101
104
122
128
127
143
118
100
111
137
113
148
122
110
129
135
128
100
106
136
130
130
105
105
116
124
123
102
121
122
108
141
123
101
117
136
128
146
139
146
105
141
108
130
144
150
107
110
126
104
120
132
118
131
148
114
119
125
139
135
111
106
127
140
147
115
112
148
143
106
123
137
108
145
144
126
142
100
112
139
101
109
116
146
115
132
134
141
110
128
148
122
145
149
101
113
137
133
102
100
128
104
100
110
138
131
103
109
108
122
141
138
143
139
113
106
124
120
133
144
146
118
128
123
150
120
100
113
132
144
142
146
140
210
207
149
218
178
166
201
202
195
195
141
156
154
201
175
121
150
159
150
185
133
150
151
122
220
133
152
131
173
198
146
219
187
136
155
183
142
218
190
161
206
194
193
176
133
189
124
138
216
135
162
198
211
194
122
218
144
216
161
169
214
175
170
216
172
219
180
173
213
141
124
198
210
132
219
134
160
202
125
174
202
170
148
163
181
180
177
200
183
215
199
152
211
219
203
200
145
209
140
215
177
148
187
193
153
207
215
176
167
121
220
177
168
162
136
144
219
192
184
128
176
146
151
211
125
212
126
101
119
135
117
117
108
112
117
122
116
143
149
150
118
131
120
143
134
118
123
149
119
128
126
139
124
114
116
121
138
149
108
150
150
127
127
148
135
118
132
123
109
103
128
129
144
112
110
138
106
115
149
124
129
129
138
134
102
108
129
125
127
120
126
149
143
104
112
130
103
139
106
137
142
128
148
132
101
146
128
111
132
112
145
107
132
112
108
136
119
106
146
101
103
107
116
107
114
104
122
101
104
110
116
112
124
108
106
122
109
144
134
127
132
113
121
122
124
134
111
119
100
149
140
117
141
138
103
112
114
103
108
119
104
148
130
136
136
100
125
150
142
121
110
147
130
149
131
126
153
190
217
159
203
197
165
161
191
177
121
153
200
130
125
156
150
188
186
201
125
184
156
153
143
179
160
149
206
203
173
171
134
133
135
125
162
214
216
128
194
180
198
145
185
141
158
193
206
184
166
140
160
131
219
192
206
188
206
198
156
127
149
167
193
195
154
129
206
169
183
141
215
136
133
213
137
132
200
187
206
159
133
216
219
124
139
204
169
182
191
190
121
137
137
185
174
137
132
207
194
124
189
167
140
146
220
157
202
134
168
143
137
203
200
153
205
195
194
219
125
189
162
130
194
153
126
209
185
220
179
156
125
145
170
210
174
111
125
130
125
139
131
104
104
100
144
148
127
144
100
102
145
139
122
101
149
128
106
140
108
142
125
142
150
131
115
140
139
102
137
148
142
148
110
125
123
128
132
107
103
116
104
139
114
148
122
129
149
139
144
110
131
140
112
126
145
110
123
128
116
112
131
138
129
144
117
106
112
146
143
148
133
100
119
145
102
111
148
143
113
103
150
117
149
108
115
128
120
122
136
106
139
119
135
129
137
117
120
136
129
144
140
141
142
129
110
141
112
110
125
119
124
145
140
138
111
107
133
142
112
110
120
126
125
110
129
102
122
149
121
120
121
109
127
107
102
107
146
115
100
115
145
102
142
104
103
138
142
146
111
119
117
129
114
143
135
106
135
122
114
133
109
138
129
192
206
167
188
190
171
140
146
129
150
170
164
156
207
214
132
216
128
193
138
139
172
147
154
158
212
199
173
219
155
172
186
157
171
171
211
125
197
184
179
154
215
134
213
158
172
209
210
125
162
126
145
185
147
133
124
134
176
189
179
132
171
159
127
163
135
214
171
186
196
123
173
208
156
218
162
157
216
184
170
153
203
156
170
159
170
121
174
141
142
123
122
219
184
181
203
161
192
179
140
139
159
191
200
143
212
161
182
121
131
192
183
151
137
129
165
129
213
151
131
199
148
182
187
160
177
134
128
215
132
154
220
126
158
156
169
194
139
209
130
124
113
104
149
120
139
143
127
122
124
128
140
126
148
109
114
123
118
146
138
125
102
137
110
109
115
102
144
122
124
128
135
132
133
125
104
150
149
129
114
111
133
124
135
103
101
129
115
140
115
125
130
131
119
134
122
147
125
129
110
103
150
126
140
140
144
133
136
147
106
121
110
139
100
121
136
126
122
117
132
107
101
141
147
116
105
147
124
124
122
105
138
147
114
131
108
131
127
101
112
101
133
127
121
141
118
121
143
141
147
108
108
100
111
124
115
149
113
122
116
116
133
146
143
126
117
100
103
111
101
140
112
129
140
148
110
131
130
115
129
120
121
134
146
141
111
113
122
118
144
114
102
138
101
135
147
109
139
121
126
112
132
111
100
116
118
107
130
142
195
195
216
124
141
196
161
178
162
196
172
183
178
185
137
123
205
173
201
137
173
179
133
212
165
199
154
153
178
217
194
171
212
203
161
129
218
220
124
159
183
130
130
218
134
169
138
190
204
177
192
140
187
134
191
197
191
147
220
176
120
173
192
164
135
170
122
220
138
174
123
162
170
154
178
123
151
204
174
202
154
183
138
205
151
156
121
181
120
185
157
213
217
220
207
198
160
179
167
156
200
177
199
164
177
149
204
155
136
186
122
133
175
177
124
135
138
135
189
153
218
188
194
148
161
154
161
139
155
174
195
209
144
143
153
199
161
141
113
145
143
106
142
120
103
100
135
102
107
145
111
110
134
137
128
128
117
110
125
124
118
138
150
145
103
105
125
113
106
130
120
140
146
115
104
116
115
113
136
119
101
142
141
148
119
104
143
129
131
102
119
150
144
126
106
140
135
132
100
122
135
122
117
132
123
102
105
125
130
120
112
108
117
147
140
113
146
145
143
104
113
110
124
144
129
113
110
108
149
122
121
114
122
106
119
150
120
116
128
124
143
131
130
143
110
124
104
134
146
108
114
145
100
131
118
145
125
133
142
135
136
108
124
104
117
100
114
102
127
127
108
174
187
159
183
171
210
137
194
163
164
193
174
161
125
141
146
144
152
209
204
201
200
174
148
127
136
210
220
180
201
188
218
176
158
129
214
212
169
125
172
142
167
171
144
191
165
182
180
183
193
215
180
125
122
140
200
169
192
211
205
123
185
217
158
177
210
175
204
160
193
123
188
177
217
145
182
213
169
210
165
158
159
151
216
125
192
140
184
170
167
159
162
212
199
173
181
162
185
174
165
166
146
166
188
173
217
200
196
194
189
171
212
212
202
148
144
159
133
205
134
181
129
181
165
218
182
168
138
199
176
156
160
198
191
189
134
192
177
176
144
148
205
144
186
192
147
211
186
174
167
182
178
217
127
207
202
100
114
100
120
125
107
100
103
118
134
150
104
113
110
126
100
130
110
114
115
105
125
126
114
101
142
118
132
150
148
141
128
123
121
115
130
101
141
147
141
125
141
117
116
105
141
114
111
129
113
124
114
141
128
108
125
147
138
129
125
120
106
110
148
139
148
101
145
131
132
109
108
100
132
115
142
145
132
131
119
118
142
144
130
150
134
102
150
100
122
129
135
123
141
122
101
134
113
141
124
123
132
148
121
149
127
105
131
134
140
126
100
114
107
128
135
150
150
116
115
121
147
111
106
101
107
103
117
126
143
122
100
116
133
117
144
104
136
127
120
108
105
138
147
104
132
103
119
136
140
130
129
138
130
139
150
139
136
136
108
148
143
143
149
125
118
139
216
155
134
167
172
214
140
168
141
148
197
140
203
161
131
146
187
214
126
163
126
220
211
189
177
154
182
179
170
133
167
138
127
131
174
162
196
161
138
184
178
209
133
186
194
187
122
193
213
150
121
129
211
132
143
157
127
166
205
134
122
205
143
184
175
129
209
120
136
127
172
219
158
200
127
190
148
138
214
167
142
156
209
162
139
206
174
203
198
194
202
144
155
149
195
158
132
156
121
215
171
198
183
174
174
136
207
158
191
179
206
154
157
151
207
125
191
205
167
180
211
129
170
124
198
156
196
198
173
188
212
207
141
121
208
189
210
169
158
139
198
133
150
128
218
120
148
212
181
145
206
143
181
200
208
219
181
200
218
127
187
129
184
174
218
169
214
137
187
204
212
112
146
122
118
128
145
111
145
122
107
139
141
144
113
114
148
150
130
142
121
148
123
127
118
145
135
119
147
105
141
106
103
100
124
136
127
129
146
112
122
100
143
118
140
128
107
100
100
143
100
112
149
142
101
103
123
148
143
130
148
120
134
147
143
127
134
119
136
127
126
130
104
111
130
106
105
137
150
112
140
135
106
114
125
140
123
112
118
115
104
135
112
142
146
111
103
104
135
141
129
126
114
115
130
106
134
150
131
142
108
123
110
135
125
124
136
126
114
122
119
148
126
150
114
124
120
109
115
120
136
101
112
137
100
149
123
101
140
146
132
117
107
150
150
141
140
122
150
147
131
138
118
137
132
148
134
124
131
128
131
217
160
124
130
144
206
152
149
142
147
176
148
215
178
126
187
218
126
134
192
173
156
153
199
205
174
136
125
215
183
124
145
140
192
167
127
193
188
204
200
210
142
211
161
143
213
120
220
169
206
205
120
176
191
186
164
169
149
204
150
199
167
139
195
168
169
159
186
182
141
217
197
187
121
187
137
126
131
139
144
211
154
159
200
193
219
202
171
171
134
145
141
188
126
203
211
135
179
187
177
211
202
182
139
168
146
176
192
122
156
158
150
190
133
158
204
152
201
194
134
208
172
140
138
139
207
218
163
171
196
142
130
161
128
135
166
134
125
151
213
217
202
125
193
161
129
125
214
139
205
215
121
104
115
121
112
135
109
123
150
106
143
109
119
119
108
132
114
105
116
106
129
130
123
145
122
124
112
109
103
150
131
134
120
112
130
123
147
126
101
114
132
100
135
135
114
109
108
143
131
113
124
121
146
126
136
148
134
135
112
150
138
148
136
140
125
110
130
101
101
128
130
118
134
118
111
149
145
121
126
126
131
139
101
145
139
124
137
122
141
145
122
137
146
140
107
142
108
138
141
110
104
119
114
130
148
148
113
139
127
118
134
146
136
138
111
130
133
134
150
150
108
137
141
112
105
115
124
118
141
129
139
116
128
135
107
109
110
127
107
125
141
139
111
135
147
110
147
119
116
126
113
149
138
142
216
205
218
146
182
180
131
210
138
174
207
180
139
171
206
199
203
208
213
173
165
198
218
212
203
176
199
140
188
155
156
141
129
167
142
175
137
123
157
198
147
185
154
187
133
183
137
146
212
136
120
164
204
142
175
205
164
218
158
166
203
158
213
187
177
201
212
186
175
167
171
201
170
176
139
132
157
123
195
151
120
134
185
139
125
152
165
175
198
208
185
127
195
129
158
138
139
181
152
203
170
144
120
152
143
131
188
163
163
217
217
139
158
164
214
218
204
180
203
141
181
156
159
182
177
219
164
168
216
127
216
123
170
151
220
137
216
173
199
122
141
177
155
141
153
210
137
214
145
190
182
193
129
220
186
198
163
166
141
135
192
173
142
156
192
173
171
218
125
185
198
165
124
140
114
129
131
138
126
106
100
104
103
110
107
114
146
117
127
104
118
121
109
149
101
124
114
124
143
141
131
124
137
125
126
129
126
122
142
107
120
124
142
132
145
149
130
126
149
147
143
103
146
102
142
124
148
150
124
127
147
107
110
129
121
119
125
123
124
108
120
107
145
104
149
144
127
136
109
133
144
148
105
106
137
135
124
127
133
150
122
108
109
138
143
135
101
113
115
120
131
144
141
114
116
139
147
103
132
120
112
133
134
107
134
124
132
134
121
135
144
120
106
150
133
149
121
105
149
114
100
133
104
105
136
147
139
109
150
110
132
109
144
128
138
109
130
141
141
144
194
182
129
167
205
142
192
131
211
191
139
132
136
150
212
208
211
216
120
127
126
207
156
190
142
178
184
213
209
201
213
152
183
192
215
157
176
164
193
161
207
211
149
213
176
179
189
184
150
180
152
216
144
200
210
186
148
212
155
149
166
138
169
201
134
188
132
213
161
205
146
143
145
181
189
195
165
197
123
143
164
140
219
167
218
198
178
158
141
158
129
197
133
205
149
197
220
164
213
186
129
216
188
129
141
218
192
207
159
200
172
140
145
219
206
161
140
195
173
126
216
187
161
215
151
196
202
172
197
148
139
188
178
136
114
105
112
102
144
105
106
138
145
136
119
108
146
146
143
125
116
124
111
116
121
121
148
115
108
117
131
145
112
134
102
104
141
140
102
115
114
110
106
106
138
116
120
137
140
134
106
119
149
101
149
119
129
108
116
108
143
100
149
149
144
146
120
103
100
142
131
125
138
136
143
149
150
129
140
139
112
124
150
114
136
141
137
115
108
133
124
106
141
136
126
103
130
115
109
147
148
145
126
110
112
134
132
136
136
120
110
124
149
115
117
108
102
100
101
120
150
139
123
111
100
138
110
128
102
147
135
102
150
142
143
112
139
149
148
143
131
129
109
133
108
112
139
135
103
119
132
147
128
141
104
103
142
110
125
113
148
142
109
146
116
122
150
140
104
135
120
146
116
124
203
209
192
156
183
160
167
216
159
198
121
126
174
131
183
125
168
166
198
182
150
129
151
120
218
219
138
177
183
142
167
185
185
120
168
207
164
203
172
177
125
133
163
199
191
185
124
123
128
176
165
213
142
143
220
199
140
204
193
184
176
159
220
172
129
138
213
204
178
169
180
165
142
210
143
138
134
216
141
201
134
192
134
170
198
126
183
173
156
205
173
184
134
207
196
161
211
132
165
162
206
178
130
145
125
167
173
139
136
140
202
182
175
182
198
122
159
188
147
183
203
211
163
205
204
156
145
163
212
173
125
170
164
174
147
181
199
188
193
172
213
181
211
158
191
192
143
172
181
136
128
184
152
202
120
197
120
203
201
212
126
215
219
218
119
104
143
118
124
129
118
132
143
145
102
107
127
100
125
104
133
111
140
111
135
107
140
109
142
127
142
124
119
127
101
144
129
143
139
137
125
112
136
149
104
132
128
140
134
121
137
117
135
138
137
141
119
150
107
115
142
113
150
120
107
128
108
103
150
107
130
141
114
127
124
108
101
104
121
118
124
129
124
101
101
104
113
143
135
113
134
113
120
101
143
128
148
119
143
126
125
127
110
114
123
129
111
144
136
150
136
118
111
129
147
136
110
126
103
117
143
138
133
122
143
124
139
117
112
128
150
114
118
132
123
113
138
138
122
137
216
191
131
218
152
169
138
130
187
135
145
141
213
156
141
173
206
141
180
133
170
188
165
172
169
137
168
123
214
175
193
163
210
217
148
219
207
197
171
173
144
148
158
181
180
195
213
163
123
196
217
165
148
207
168
123
158
182
211
155
187
133
186
217
205
137
183
161
171
155
134
149
170
192
204
167
167
127
164
135
145
149
168
214
132
132
125
161
144
208
185
189
125
143
217
177
197
154
191
171
122
157
157
184
219
121
159
158
159
194
190
212
145
125
199
128
123
154
133
182
204
195
141
132
136
119
147
128
121
126
101
145
104
133
142
146
125
128
150
123
147
113
146
102
115
131
115
147
130
123
121
138
109
121
130
100
139
117
142
140
101
108
124
115
126
114
125
108
127
146
121
150
124
101
140
145
107
100
135
131
135
138
108
113
130
111
146
107
104
132
121
128
150
107
115
144
134
114
107
136
112
105
126
132
113
114
119
100
142
145
138
113
138
108
141
142
107
123
100
150
101
103
101
114
112
108
129
142
105
122
144
119
130
140
130
103
149
100
140
145
114
138
132
130
146
127
127
130
104
113
130
150
102
111
120
111
139
104
119
145
116
148
170
160
168
154
194
159
147
183
152
157
158
183
190
129
121
177
138
154
124
170
157
196
146
196
202
211
147
208
125
144
167
210
184
215
201
166
168
143
120
143
196
155
171
208
150
144
142
180
174
157
127
171
138
206
144
220
184
172
216
156
160
218
203
150
150
177
168
151
160
134
142
198
128
147
129
184
159
155
158
217
209
121
156
189
135
184
151
159
135
137
187
220
153
174
218
218
180
162
183
190
132
124
140
163
151
191
153
162
213
192
155
219
160
167
215
215
216
177
182
205
180
147
161
134
161
153
206
166
139
194
162
124
183
189
123
213
206
140
132
190
154
129
144
203
132
197
183
139
171
141
182
170
130
207
155
143
184
186
204
148
144
140
137
116
133
106
100
138
113
127
118
126
131
111
142
139
146
116
134
101
108
120
127
118
146
121
126
114
134
133
141
112
139
144
116
141
131
105
122
127
130
104
114
137
137
101
110
104
103
110
122
100
125
145
150
128
146
139
124
142
127
134
117
113
139
127
113
103
142
115
109
107
130
110
147
118
129
147
148
100
138
104
100
102
150
141
129
101
102
110
102
102
138
127
143
149
126
132
111
120
144
128
116
111
118
139
109
146
135
121
149
124
120
142
100
143
104
126
124
112
121
121
140
146
149
139
117
143
110
104
194
186
137
125
174
170
165
129
121
174
215
130
145
135
212
153
200
120
195
194
125
191
153
154
157
185
120
194
170
178
206
165
156
155
179
160
190
191
195
144
176
143
158
133
131
123
207
137
158
197
201
219
139
176
216
154
180
163
125
217
193
203
131
140
173
206
201
211
173
215
146
127
120
138
207
177
151
182
207
149
189
131
126
200
155
214
194
166
169
200
140
178
145
220
176
206
212
193
159
194
160
122
155
169
174
180
186
146
210
185
123
151
138
177
148
148
181
183
168
201
172
151
166
162
190
202
185
174
182
175
146
181
168
121
155
160
181
175
144
137
216
188
180
176
171
130
133
210
200
194
184
220
142
195
163
195
176
127
132
150
146
159
192
193
215
111
135
127
102
149
124
125
149
141
138
121
113
136
128
103
104
102
123
133
125
107
137
135
107
130
116
104
104
146
105
127
114
137
150
140
135
129
124
144
143
111
149
136
118
149
146
106
117
115
113
120
130
110
101
150
141
128
122
106
129
124
136
117
145
138
141
113
133
132
141
135
117
112
109
112
101
145
148
103
136
125
148
110
130
126
135
136
132
131
128
109
111
139
138
118
139
130
106
128
110
104
110
104
135
119
129
100
123
139
129
134
140
148
107
124
147
146
113
107
143
138
100
135
114
137
119
115
100
113
148
124
129
148
141
137
115
142
120
111
128
128
146
146
140
111
126
127
108
144
101
108
100
139
137
165
176
161
171
162
142
210
191
199
144
202
125
154
198
138
186
124
122
156
196
123
196
122
210
212
124
194
176
216
128
203
160
180
194
126
167
183
146
166
198
195
171
202
124
184
199
192
148
201
155
176
143
184
129
154
219
166
142
155
147
166
172
189
128
156
140
125
204
149
217
166
198
150
213
126
136
176
166
152
193
198
197
190
220
182
175
218
147
164
143
166
191
204
211
184
218
127
142
207
219
172
137
177
123
153
198
161
131
140
177
190
196
192
162
182
196
162
171
199
140
129
174
141
173
189
202
121
131
176
142
208
145
147
186
215
193
152
175
153
135
217
158
158
120
170
178
185
149
124
136
124
153
187
214
121
145
145
157
125
176
182
198
169
199
127
144
117
134
150
101
144
145
137
121
105
126
140
139
125
114
139
130
117
143
120
150
133
128
132
129
128
104
103
108
111
107
150
106
117
146
121
116
146
142
125
108
150
126
141
123
125
138
118
101
136
126
123
122
102
102
123
135
142
146
124
130
135
147
147
109
126
126
110
144
110
133
145
108
110
107
129
100
101
124
101
116
103
137
129
140
119
130
112
106
101
117
125
126
145
114
118
100
104
132
115
147
125
123
123
125
149
141
122
127
137
114
107
142
150
142
116
100
119
122
104
107
148
142
141
129
130
131
141
139
145
106
147
118
130
133
110
140
144
135
121
144
143
133
103
135
119
129
102
133
128
145
114
133
207
194
144
208
186
166
205
172
163
144
159
202
195
218
150
151
161
215
141
201
190
183
219
122
179
177
184
164
153
130
170
146
159
207
150
202
181
211
183
211
146
186
153
172
193
179
121
167
159
158
204
144
144
165
129
166
189
172
133
157
161
145
160
166
217
188
199
197
142
124
206
149
132
177
216
187
193
160
156
121
200
194
174
143
219
135
158
129
218
145
155
215
199
156
121
189
128
158
207
129
157
200
149
217
206
144
128
194
180
207
211
168
202
188
167
198
215
216
188
218
191
203
175
179
122
132
203
201
219
121
176
141
168
150
105
119
107
146
109
150
116
142
145
112
101
103
103
148
109
100
140
102
118
124
117
144
131
134
100
114
102
115
133
140
114
110
150
148
144
136
131
100
101
142
136
144
127
129
116
122
120
132
102
118
105
125
133
142
106
122
137
139
132
119
142
123
118
111
119
146
123
128
130
136
129
137
126
141
120
119
138
134
130
119
118
141
141
110
139
117
111
109
106
112
108
143
123
148
150
107
107
137
120
147
104
141
122
126
115
126
118
111
102
105
138
126
120
126
107
123
132
136
107
103
114
101
145
119
145
106
143
131
106
145
134
114
112
119
134
140
122
136
140
109
106
118
100
112
105
129
114
121
105
105
117
127
102
143
116
124
110
143
101
108
131
110
108
118
114
149
113
161
154
143
203
175
217
203
204
171
172
203
218
146
125
219
151
142
172
200
185
201
156
174
123
120
141
147
197
191
218
120
205
208
194
201
209
153
170
161
133
183
126
215
192
169
138
205
215
156
173
206
191
189
183
195
200
219
195
198
161
197
212
120
215
209
149
155
189
132
186
166
143
136
168
132
133
153
203
174
188
124
177
182
202
165
192
157
152
189
215
194
140
141
143
153
160
174
182
133
120
195
173
199
218
206
215
150
202
197
209
129
183
155
148
163
191
189
136
205
174
177
172
145
134
216
187
121
134
155
170
194
200
168
126
172
199
191
162
165
137
142
126
145
128
122
124
146
135
142
104
100
144
101
142
108
136
142
102
131
126
113
118
126
102
138
106
133
100
150
134
144
133
130
144
124
122
120
148
100
116
138
126
135
101
110
114
114
119
122
103
105
138
147
112
129
150
101
101
105
106
148
116
146
150
128
109
145
142
128
118
103
122
149
105
148
148
120
137
100
100
121
145
113
149
100
119
148
138
138
138
141
115
126
103
138
127
112
124
129
101
120
136
144
132
117
144
150
134
115
103
142
115
148
144
116
129
106
112
101
147
116
114
142
146
126
136
119
129
120
126
101
119
142
146
129
132
109
107
101
141
127
135
116
129
144
110
118
107
117
135
135
118
147
144
105
124
126
113
108
135
120
123
141
130
119
109
157
159
175
127
208
159
164
168
160
184
155
127
122
199
122
156
129
182
176
207
157
208
164
150
149
176
198
137
170
205
133
173
182
179
126
137
177
164
220
133
120
148
196
175
184
146
124
146
210
192
167
133
165
175
216
164
135
185
192
132
193
165
197
172
124
178
207
154
169
133
146
214
135
217
191
123
179
123
187
195
146
139
151
190
125
168
159
145
196
216
199
143
203
188
156
216
214
132
171
219
202
213
160
203
158
183
187
131
197
201
129
193
141
165
207
181
146
204
203
163
177
136
184
219
211
176
143
215
184
132
203
185
134
147
218
196
187
140
209
121
150
152
175
180
162
203
128
165
161
143
172
159
152
128
151
184
155
212
156
175
150
188
137
195
185
213
206
191
162
139
155
196
129
170
126
139
130
107
107
138
125
150
128
147
136
138
107
107
143
138
122
128
106
102
146
130
107
148
149
126
109
122
148
118
120
104
122
141
103
144
107
128
148
119
129
124
144
135
141
134
100
126
140
141
133
143
121
136
135
116
136
127
145
127
130
102
124
114
121
110
109
115
120
147
129
119
138
139
120
109
149
122
134
122
149
113
144
128
100
137
126
104
138
112
143
133
124
130
104
135
124
138
121
124
121
101
111
125
103
125
120
118
139
148
129
105
139
107
107
134
114
131
140
110
112
145
111
123
116
107
105
119
112
135
147
117
104
129
102
136
144
109
147
108
135
119
150
113
115
136
111
135
111
115
138
147
125
100
144
125
116
141
146
119
128
107
150
148
131
122
128
123
104
114
211
131
189
124
202
193
129
180
135
184
156
125
186
141
203
201
199
163
137
123
189
178
164
186
193
192
151
145
152
122
150
136
122
158
170
212
174
138
194
149
141
171
130
209
202
156
140
204
147
180
207
188
166
154
197
142
144
142
122
182
214
170
209
176
180
139
174
170
205
177
124
148
135
156
219
131
207
167
153
131
132
204
161
176
168
145
156
166
212
175
203
205
196
173
212
133
219
125
128
163
175
145
133
150
179
168
190
162
121
120
128
134
150
139
173
134
190
124
125
162
217
131
179
129
193
182
139
150
196
213
192
210
137
139
111
124
108
104
111
119
135
114
109
126
146
124
140
117
133
106
124
133
128
106
141
103
128
114
144
112
147
125
133
139
142
133
128
112
104
119
107
130
100
131
129
100
129
123
103
148
134
142
140
120
125
126
130
126
141
101
100
128
148
122
150
117
119
113
103
130
104
133
117
148
116
137
115
139
117
113
149
128
124
143
133
108
133
128
111
112
127
107
102
125
123
147
135
112
120
130
130
123
143
146
104
117
143
135
124
141
101
144
138
107
102
145
123
117
121
101
110
149
114
138
100
128
128
140
126
107
118
135
123
102
124
171
218
182
194
199
120
133
153
185
176
185
201
168
216
145
166
182
152
216
220
214
201
131
211
181
167
185
138
215
200
122
181
206
193
135
202
158
166
130
204
220
202
148
163
190
132
206
134
168
126
126
138
185
175
208
188
135
152
168
176
142
210
211
125
149
189
165
197
157
214
163
202
135
142
195
191
176
151
220
135
194
157
204
209
189
160
157
120
148
180
189
183
159
196
216
138
163
154
194
138
211
121
139
219
197
156
170
206
164
134
155
210
179
211
143
169
207
171
167
156
158
205
175
195
206
145
154
184
154
137
203
215
208
139
195
126
208
118
116
138
139
105
139
135
133
119
148
130
130
112
150
150
133
137
119
149
100
144
110
120
140
140
140
123
119
120
137
147
122
142
105
141
125
122
137
115
145
147
102
116
104
148
122
143
126
130
126
141
110
123
145
103
116
131
145
137
143
149
106
116
109
115
139
139
112
141
124
131
113
100
138
112
100
116
110
143
102
119
132
131
109
123
112
139
124
136
141
133
108
150
127
118
101
119
102
142
132
108
104
133
112
134
101
150
143
101
115
143
130
109
100
114
129
115
103
148
150
101
144
109
124
137
134
124
138
148
132
118
106
148
134
117
130
137
146
119
100
137
121
100
113
135
133
138
131
137
111
103
148
128
118
120
120
143
134
118
111
104
147
108
112
137
142
145
103
141
108
107
121
176
184
121
153
206
187
194
209
160
214
194
172
207
124
143
164
124
147
211
161
120
120
214
220
147
132
209
133
196
181
200
209
180
120
220
141
220
196
150
127
155
153
183
169
123
166
130
191
137
176
179
206
135
207
151
124
135
125
211
200
174
145
201
219
123
205
121
160
190
148
128
126
207
151
169
138
203
211
126
182
120
177
148
216
157
184
196
144
165
181
216
129
201
202
123
137
128
155
157
144
183
135
164
196
188
211
121
180
185
208
158
218
137
146
141
132
208
199
197
197
202
153
217
213
126
207
168
185
136
198
201
182
172
152
180
150
154
161
138
125
124
196
137
125
210
207
198
208
156
161
186
152
195
208
215
209
138
117
143
137
132
112
110
144
135
148
100
123
145
124
115
143
101
102
114
132
118
121
119
120
121
142
105
110
130
104
149
122
104
134
118
124
130
106
139
123
112
126
132
135
138
126
141
130
144
136
137
109
112
138
142
148
146
148
113
147
125
140
148
104
121
104
140
142
113
102
113
137
126
146
123
147
119
130
143
101
113
105
115
123
149
126
142
131
114
148
131
143
113
137
144
108
134
117
116
132
115
119
101
110
150
133
123
103
102
135
104
109
126
119
116
143
114
108
106
126
142
104
103
137
125
129
122
149
127
112
145
121
135
134
131
121
102
136
101
135
114
105
114
116
134
119
130
128
118
130
124
145
129
103
118
121
146
126
123
145
137
137
139
138
136
140
131
133
206
153
162
197
204
142
125
148
169
201
145
179
173
145
192
215
196
184
139
170
179
143
184
212
173
156
187
124
210
134
132
122
149
206
216
190
171
177
210
201
148
167
152
163
132
210
135
177
153
173
166
151
131
164
136
146
146
220
219
185
188
166
135
170
208
200
205
220
202
151
204
194
202
158
208
196
212
131
211
130
133
156
162
126
160
168
124
133
142
184
189
199
192
129
183
143
135
199
130
128
152
171
177
171
220
181
200
190
147
201
177
214
127
169
192
123
128
214
145
135
199
133
166
128
207
171
174
200
128
188
148
171
178
122
161
202
139
187
127
162
213
162
139
135
209
125
158
169
181
172
199
178
129
162
204
156
191
203
104
138
100
129
123
117
145
149
130
129
147
126
123
104
127
128
103
141
124
116
145
133
113
127
106
102
130
110
116
131
119
142
136
115
142
124
125
123
102
146
146
122
118
137
144
115
148
107
123
138
132
119
124
122
120
112
148
130
149
125
146
148
146
125
104
149
116
124
113
143
145
108
113
149
128
128
110
145
101
140
129
131
112
121
131
122
138
122
116
140
132
107
139
142
105
131
103
117
114
139
135
105
131
130
127
119
107
147
121
134
102
145
137
113
120
133
140
124
111
114
142
135
113
141
130
130
138
145
112
134
118
136
150
143
136
107
101
144
142
145
120
114
112
119
127
109
149
138
133
110
143
111
110
131
108
129
171
160
141
179
164
151
182
152
151
157
189
177
154
120
135
180
217
167
147
208
154
163
160
157
125
189
139
202
148
156
179
157
163
195
197
186
169
156
179
129
214
199
136
122
178
158
169
205
148
213
163
169
185
183
208
180
127
123
173
172
202
155
184
146
177
128
133
190
217
158
123
156
200
214
179
133
210
130
201
187
139
218
178
131
129
173
139
121
175
152
190
174
168
155
186
133
155
197
159
217
213
177
217
147
184
193
217
150
144
135
144
146
124
199
179
146
179
219
136
125
181
165
166
180
158
147
166
203
210
187
212
203
113
134
100
105
147
104
114
121
114
138
134
134
133
100
108
131
137
130
130
127
133
129
103
121
149
125
126
129
149
144
127
102
126
111
132
126
141
109
108
140
108
139
114
142
119
121
135
121
144
123
135
115
131
114
132
108
115
132
100
111
113
133
148
104
145
112
103
104
140
105
142
143
101
146
150
136
105
108
130
100
140
142
111
120
143
118
103
149
106
111
147
125
136
148
134
120
126
130
106
133
132
125
144
112
117
108
120
113
116
120
113
120
140
122
133
136
105
117
145
145
109
145
106
108
133
124
127
138
133
131
125
217
194
126
185
133
132
154
151
137
142
134
187
133
152
158
128
172
123
176
186
191
129
197
202
217
169
164
142
128
160
167
219
174
129
154
159
207
167
128
189
167
212
122
163
132
129
188
136
150
197
175
165
186
164
137
147
143
159
188
134
126
170
136
161
214
156
121
194
129
125
172
195
214
204
220
176
202
183
166
216
218
120
141
192
188
141
171
210
121
220
205
130
128
153
162
158
181
130
161
135
210
178
140
153
149
134
146
211
210
151
180
140
187
145
121
196
163
192
148
195
218
177
147
169
130
185
148
161
178
130
136
218
203
199
181
217
129
137
211
166
199
146
175
171
189
150
162
144
138
143
160
157
120
220
150
220
200
139
165
197
187
176
200
198
130
145
197
129
154
146
213
133
117
139
149
107
147
115
128
109
133
116
118
124
114
129
119
132
130
146
105
141
136
109
144
114
108
135
120
115
129
101
105
136
128
146
150
105
119
136
142
125
107
150
133
149
150
128
116
130
102
133
101
112
128
107
103
149
125
118
129
103
126
124
127
112
120
135
104
131
150
117
135
117
144
100
134
134
103
100
142
141
146
150
140
104
128
127
113
136
121
130
105
129
107
100
117
101
100
116
119
103
109
118
150
101
100
146
101
150
101
139
130
109
123
148
138
139
108
127
112
125
120
149
131
117
123
132
140
124
105
133
112
139
107
141
110
135
139
138
111
109
115
119
141
130
111
141
114
100
145
150
121
111
103
101
106
135
138
121
129
114
117
108
130
107
144
116
121
200
203
216
199
184
152
183
135
135
124
175
152
187
213
129
210
203
170
219
214
216
135
201
145
175
209
162
124
135
209
162
215
139
148
145
201
125
125
137
136
197
198
170
162
173
178
135
128
126
219
174
194
171
186
176
120
182
120
120
123
178
173
151
141
169
129
216
198
136
193
140
136
211
177
200
138
203
138
204
159
171
167
195
190
188
201
164
131
134
182
146
159
159
211
158
210
187
184
149
200
172
206
186
175
122
188
159
216
175
158
199
168
207
155
177
195
128
146
170
211
200
138
145
162
184
134
201
126
147
108
113
149
125
117
106
100
115
141
126
123
142
136
129
142
100
144
102
147
124
101
127
117
117
146
126
143
126
132
101
142
115
124
114
133
122
119
143
144
127
131
119
113
119
111
107
132
146
132
105
100
139
112
132
114
133
108
142
131
124
108
138
106
115
123
115
129
144
108
127
123
145
140
146
116
120
109
113
135
131
139
115
130
108
112
115
127
142
132
105
128
129
147
145
130
142
135
125
133
116
131
110
110
115
127
146
143
148
120
109
102
141
117
103
112
123
136
148
130
117
132
145
135
146
118
117
138
148
133
129
128
144
125
140
109
108
100
108
110
106
106
113
129
105
113
150
122
183
195
198
188
143
137
175
199
215
204
202
203
156
142
131
184
154
192
130
191
149
195
216
191
148
141
186
217
200
122
159
125
155
169
188
165
180
208
203
195
132
179
167
152
159
192
167
203
201
138
194
212
202
172
174
195
173
130
193
185
162
210
201
143
188
207
134
193
179
195
127
145
173
186
166
127
120
220
180
129
121
164
220
138
173
190
162
168
131
135
136
168
170
133
197
199
149
136
195
121
177
182
213
200
143
135
168
192
201
207
183
163
129
197
219
188
189
185
126
121
150
206
147
124
141
171
121
137
202
184
138
180
144
125
210
196
150
147
145
140
130
129
117
129
128
147
115
108
106
112
101
106
145
142
118
138
114
120
126
101
107
130
142
109
126
100
141
138
124
135
128
114
138
142
118
134
146
102
129
116
135
101
142
123
142
150
116
127
135
104
103
130
105
128
120
108
148
149
112
145
118
137
126
104
115
104
109
127
128
143
123
144
127
116
103
150
150
150
144
149
130
148
131
146
135
130
126
119
120
121
126
106
145
121
112
112
112
137
111
103
132
135
123
118
119
144
111
149
108
112
108
106
109
149
117
136
137
110
127
134
149
124
127
148
106
141
118
117
129
131
133
128
127
111
122
127
115
150
130
135
133
146
144
115
130
101
130
128
134
125
112
137
114
108
128
143
106
140
200
148
192
145
176
123
151
166
203
171
135
154
218
187
217
173
202
139
205
196
171
204
168
135
161
147
171
170
211
210
209
125
132
209
131
176
218
158
190
211
182
156
182
218
141
171
179
131
203
122
187
189
160
206
137
158
145
127
167
177
148
195
199
151
184
173
215
220
183
122
128
132
171
154
164
155
182
153
197
203
220
140
198
196
216
178
177
142
159
143
215
144
123
153
132
219
156
123
188
169
193
172
147
126
195
120
204
169
175
196
199
127
214
187
123
173
150
202
188
142
174
180
121
161
178
181
213
160
214
138
125
178
179
165
197
206
200
182
189
168
154
201
198
215
206
128
156
122
177
145
146
172
179
152
164
156
174
128
193
192
197
185
183
203
146
119
101
107
133
127
127
117
150
124
100
116
116
143
114
123
102
136
108
132
123
107
123
119
111
142
115
102
123
144
141
122
145
110
119
112
140
124
100
141
131
130
118
105
142
139
147
147
146
147
137
144
141
125
132
147
126
139
143
133
105
123
142
102
102
145
141
102
135
142
117
136
113
140
115
125
101
108
149
129
127
111
146
132
129
140
145
128
123
111
125
120
117
102
132
123
109
145
150
127
150
103
106
127
147
114
105
143
117
115
131
134
108
122
111
100
115
112
133
121
108
103
119
111
112
141
117
146
115
104
144
132
130
105
122
206
141
149
124
134
217
220
216
127
188
158
172
173
193
150
154
196
162
189
125
219
205
220
171
162
129
200
139
218
215
128
153
178
216
186
132
170
180
136
144
207
160
170
125
134
166
176
143
123
159
200
158
175
169
130
213
169
163
171
176
158
151
123
200
148
158
160
196
172
158
203
125
177
155
123
166
149
168
150
170
214
202
174
132
157
187
182
204
190
176
172
120
129
154
163
137
195
169
201
182
146
147
220
196
202
151
213
143
188
208
138
185
203
173
196
135
127
166
198
170
214
120
208
156
144
208
169
199
125
186
121
167
181
218
176
200
142
201
178
204
165
201
187
168
220
126
142
170
184
142
140
173
121
171
190
191
180
187
161
204
201
186
172
164
214
145
190
141
183
218
191
174
123
120
126
147
116
138
117
141
145
100
133
108
108
143
135
106
128
143
111
125
115
120
102
133
108
103
139
127
126
129
148
116
137
118
116
127
103
124
114
123
144
112
134
120
133
104
122
134
149
110
133
150
116
123
130
150
127
121
123
104
110
148
113
105
102
143
106
126
133
104
135
127
128
137
136
129
122
111
113
145
147
133
114
103
129
140
141
137
101
120
142
148
117
130
126
141
115
136
111
108
116
148
120
112
131
100
113
129
118
144
100
137
105
129
107
148
146
145
129
134
138
132
125
104
102
132
117
145
104
102
122
118
120
109
150
148
106
130
103
103
154
148
190
191
171
169
196
155
181
164
127
205
187
162
120
134
143
128
173
206
209
121
161
156
182
216
135
173
196
170
207
170
220
133
151
121
219
151
130
173
133
191
168
213
183
216
220
214
172
179
171
168
160
180
161
200
155
201
194
194
210
158
177
151
181
188
196
213
140
149
193
202
164
180
126
160
198
132
133
190
142
169
187
178
144
168
128
214
137
138
199
123
207
202
152
161
195
174
146
162
171
177
122
138
216
158
210
217
167
192
120
163
144
149
219
155
140
216
207
178
216
206
176
167
200
204
135
198
207
194
141
212
151
195
210
214
213
143
178
211
174
174
179
128
143
123
156
144
162
167
133
163
184
214
194
176
157
210
137
128
145
144
107
134
140
107
122
149
122
143
131
149
135
104
113
126
129
121
100
136
108
149
131
120
117
149
117
120
125
147
132
142
125
100
132
109
106
102
123
138
119
118
137
110
130
103
141
131
116
106
145
128
145
128
130
105
104
124
106
149
137
126
100
105
125
105
133
146
105
121
148
109
135
114
117
131
114
123
115
129
133
112
116
123
132
100
119
128
109
121
145
146
107
115
143
130
119
135
119
101
138
121
144
100
145
137
130
150
133
132
132
125
108
149
106
124
140
130
103
103
117
128
131
111
128
180
135
131
167
149
130
146
132
157
162
205
151
166
124
139
213
210
203
132
151
163
140
142
163
155
127
203
179
157
216
120
163
166
188
135
141
167
126
217
198
175
199
145
123
125
195
161
191
194
133
130
165
210
193
207
220
154
124
177
192
195
147
181
171
194
126
210
154
213
173
124
209
189
202
166
129
220
145
141
128
208
161
138
149
156
200
178
151
198
182
172
164
136
149
219
188
208
203
213
200
214
199
202
185
218
148
136
153
152
145
128
182
205
157
159
165
188
201
201
162
140
189
190
209
158
142
128
179
141
217
162
174
128
173
136
127
149
174
176
135
213
136
213
177
154
178
143
120
127
118
139
145
120
125
146
139
128
104
121
130
142
129
134
132
121
117
144
144
138
115
142
110
104
120
143
148
146
109
132
112
141
131
143
145
121
144
134
102
149
116
106
113
119
118
141
141
104
127
134
133
149
128
118
143
112
136
111
113
122
111
108
116
124
113
103
101
143
132
130
110
136
132
131
108
141
141
115
107
107
130
106
106
146
112
107
144
149
102
126
102
135
148
115
150
120
116
145
135
128
139
119
118
115
126
112
112
102
141
146
117
133
107
118
128
124
146
100
112
107
118
130
128
105
145
106
141
103
114
115
109
111
129
112
149
126
130
114
116
115
110
101
105
108
103
116
131
131
137
113
141
124
105
109
125
136
123
114
102
120
116
129
121
118
125
100
105
144
101
120
113
130
146
210
165
134
196
207
120
175
182
123
148
164
137
220
183
199
200
170
177
183
157
218
167
183
153
208
199
203
154
192
125
209
218
163
199
147
145
208
168
141
144
202
192
141
132
158
164
137
140
141
167
140
120
190
120
193
177
163
208
154
143
208
138
175
120
177
207
164
183
217
161
122
165
174
204
147
198
201
207
165
214
215
135
183
173
138
203
144
208
154
200
175
197
175
180
197
181
179
207
174
188
205
206
133
125
212
163
148
199
148
203
190
186
123
192
218
215
190
192
144
204
187
214
215
202
206
182
165
159
159
126
201
132
131
147
101
107
138
101
127
123
147
126
112
105
114
140
105
110
139
148
130
138
129
132
103
148
112
112
126
113
145
146
108
135
139
114
105
149
117
146
148
129
146
150
145
109
148
106
144
123
101
123
104
114
109
119
102
112
137
138
148
129
146
129
102
116
141
150
107
150
133
134
129
141
124
147
134
107
100
148
125
141
106
104
146
138
115
115
117
150
110
123
136
111
123
141
109
134
122
134
146
108
114
107
134
135
102
100
133
130
102
141
122
141
129
103
109
109
140
140
145
135
139
137
108
122
106
100
132
126
113
112
115
110
131
120
103
123
113
111
143
154
125
144
128
205
204
127
157
140
208
154
198
181
205
159
146
155
217
162
164
135
178
134
189
120
157
152
155
205
136
196
128
151
214
123
177
161
187
187
155
161
149
193
154
146
166
190
199
220
206
121
187
137
195
217
143
186
137
197
139
183
191
157
150
203
219
191
204
166
212
125
128
133
184
138
171
194
129
192
157
179
185
218
166
149
143
123
214
180
126
171
169
164
166
210
192
192
157
145
145
189
144
219
201
151
220
123
205
159
156
121
152
159
183
127
186
213
130
200
183
131
212
195
126
147
217
170
208
199
219
180
124
205
203
184
194
149
121
169
179
186
214
203
166
142
187
199
148
159
188
166
122
150
193
209
175
129
210
160
162
190
172
134
165
172
177
145
131
167
165
218
160
190
182
121
141
105
112
140
130
144
141
111
112
109
101
150
145
144
127
102
126
130
134
111
107
132
102
104
132
100
146
135
115
121
101
130
102
149
110
149
126
117
148
117
101
129
148
107
107
111
133
102
131
109
111
111
120
114
133
127
101
107
118
129
141
109
106
101
141
119
116
103
112
147
119
145
104
133
108
126
134
104
123
134
145
150
112
100
134
110
100
130
144
140
111
146
122
137
122
112
121
142
106
140
121
122
108
107
114
108
111
120
143
127
142
119
147
111
124
138
120
145
138
132
134
106
124
105
101
113
106
141
143
129
115
118
114
145
134
119
131
119
145
126
150
148
149
123
128
119
106
216
150
154
170
160
183
138
163
142
187
189
132
175
148
180
168
213
180
173
124
167
144
194
178
170
154
211
139
181
202
178
193
154
210
208
142
154
217
141
139
188
164
121
163
168
133
192
180
199
173
159
127
121
153
193
162
153
163
143
192
170
141
136
150
159
141
196
146
130
183
146
196
163
209
202
185
207
191
219
174
134
193
157
157
214
143
201
172
148
177
127
159
126
120
212
204
205
189
188
219
200
210
189
153
139
134
152
203
195
152
219
198
218
123
171
209
176
170
181
182
218
200
162
194
127
169
214
129
193
219
150
153
212
124
155
145
131
188
178
130
144
199
150
175
219
120
194
139
147
202
217
170
120
209
156
166
161
204
145
176
216
184
205
103
141
122
124
149
143
135
123
119
139
115
115
134
127
111
115
109
138
135
139
102
117
102
127
119
127
129
103
121
101
147
135
127
141
107
116
111
101
118
147
113
137
133
126
100
123
149
136
121
103
118
109
115
127
120
105
147
136
111
142
107
100
131
115
143
120
113
146
129
100
128
124
121
131
100
117
137
109
119
109
131
145
107
148
108
111
138
136
107
147
144
107
127
127
146
142
120
148
106
141
122
129
139
116
117
139
132
117
133
104
139
141
142
108
127
127
118
112
119
112
125
146
139
128
104
112
130
127
116
129
123
120
145
132
110
106
102
108
113
124
126
142
131
137
146
133
122
116
115
123
135
202
136
122
201
188
161
170
128
151
151
220
156
156
218
174
146
209
201
162
210
212
175
124
217
184
181
186
148
185
163
140
177
203
176
204
208
219
120
219
180
219
130
137
220
182
133
189
125
176
192
173
170
202
132
220
122
200
123
126
155
133
212
200
146
153
171
198
193
217
216
179
216
171
137
125
165
147
164
215
213
189
220
151
143
213
133
211
171
157
131
187
171
163
187
180
214
123
128
196
135
136
125
168
207
157
182
121
146
202
174
205
153
146
195
216
170
194
218
149
188
127
122
159
206
183
145
115
110
140
137
133
149
114
140
145
137
117
131
110
108
139
120
104
150
145
131
131
136
126
115
113
126
118
128
144
112
115
123
106
105
115
129
131
140
103
141
121
116
138
114
124
112
102
130
137
128
106
130
135
149
148
140
122
133
148
125
104
125
107
148
142
103
130
138
108
125
147
130
108
124
114
129
102
140
148
104
106
119
122
141
119
133
118
108
140
118
127
115
127
120
128
131
125
123
112
108
107
124
150
100
109
130
107
150
149
107
109
115
138
132
101
132
107
122
104
109
144
107
121
142
139
108
107
125
120
105
111
148
104
141
104
108
199
140
172
185
215
180
120
121
214
200
182
188
130
149
213
128
173
127
198
174
214
201
150
142
207
152
123
189
199
136
189
128
145
125
133
149
136
140
126
190
129
167
135
174
141
178
142
132
160
142
185
142
198
140
124
196
159
175
151
175
171
144
121
149
137
170
182
137
145
213
169
181
161
192
171
196
216
218
217
219
169
150
162
146
198
140
185
136
185
158
153
160
157
215
164
182
141
122
197
127
202
195
133
146
197
184
122
129
160
163
130
208
165
211
145
143
141
121
127
124
160
197
209
140
188
209
206
209
153
186
207
199
183
181
215
168
217
217
149
220
187
130
216
179
174
202
160
201
117
141
146
112
145
117
120
133
140
128
123
121
130
120
141
114
113
131
111
125
137
132
129
104
137
129
106
100
137
149
141
139
146
127
148
104
106
104
123
102
133
112
118
139
126
100
133
130
146
150
141
125
120
148
138
131
144
128
109
103
149
146
121
134
115
135
149
116
132
121
139
149
146
113
107
101
121
118
104
116
112
120
123
138
119
105
142
131
116
131
130
135
143
114
105
116
115
121
119
147
109
126
106
121
102
139
105
123
100
100
133
107
148
134
137
113
113
102
148
146
120
123
125
112
116
119
108
104
124
119
143
128
108
110
140
148
116
147
140
104
119
120
115
138
115
142
134
132
149
144
112
129
146
125
118
106
144
142
112
107
142
140
144
130
211
149
135
172
148
172
127
165
187
138
171
135
196
181
200
166
151
131
194
217
172
199
213
152
169
172
177
163
187
179
181
134
125
129
155
126
217
176
214
172
189
137
189
140
131
215
142
136
158
157
205
142
121
179
147
212
187
149
190
174
168
220
142
177
220
138
178
209
166
179
207
208
193
130
160
173
189
217
157
186
193
219
197
151
153
218
125
184
175
219
128
135
189
133
176
129
152
122
190
149
215
215
173
121
171
185
159
177
127
188
204
156
139
220
170
130
193
203
156
152
185
215
195
194
138
130
195
214
137
149
142
174
166
215
160
173
134
170
175
121
132
118
102
149
111
122
121
112
111
122
128
105
124
121
121
121
128
138
112
125
110
137
141
150
131
118
138
121
106
138
130
144
103
104
130
131
125
139
147
136
108
107
144
131
137
106
119
132
109
122
149
119
139
115
125
150
136
136
119
118
135
116
128
122
112
108
111
142
108
147
104
129
135
122
141
147
149
117
114
139
105
114
126
149
145
127
150
133
120
111
121
128
128
146
111
131
128
135
124
111
125
142
115
130
111
109
100
119
110
140
132
127
102
147
140
126
112
127
103
143
121
109
110
113
141
146
119
145
141
103
144
112
140
135
116
142
120
125
116
103
105
127
111
144
109
113
147
109
136
110
105
162
220
128
123
207
198
185
205
208
151
202
141
194
197
134
143
147
127
130
126
143
158
175
202
159
202
213
205
205
201
153
168
215
160
165
151
142
196
155
153
134
146
179
138
159
175
161
200
217
170
213
167
188
177
202
213
134
191
187
145
195
200
180
208
215
195
199
220
123
121
142
219
175
158
183
192
154
198
134
127
137
178
197
165
193
125
206
159
158
218
206
219
133
121
154
197
134
177
191
196
216
136
167
157
147
156
209
161
189
160
137
205
198
161
181
185
140
170
166
215
200
120
125
139
208
205
166
122
139
181
161
180
198
184
157
129
201
204
177
195
123
136
171
216
137
163
209
160
148
187
174
204
136
216
175
144
150
134
131
141
121
125
145
102
122
108
114
139
126
135
150
119
150
143
108
145
101
146
105
120
100
109
131
111
113
126
103
134
129
144
138
106
148
103
120
136
112
121
131
103
124
126
148
134
115
148
132
144
133
105
115
107
146
144
100
112
141
107
110
107
122
110
123
137
109
120
116
130
132
114
119
101
110
144
125
107
116
116
144
101
125
127
149
107
114
108
150
138
124
103
133
129
109
133
103
120
126
147
149
116
139
150
132
120
105
130
150
113
130
124
150
100
106
143
149
133
107
127
129
102
129
104
105
136
120
117
107
149
129
149
149
139
137
138
117
117
110
128
120
131
144
147
132
117
101
146
114
127
131
130
113
118
116
110
140
149
142
189
126
190
188
124
144
210
183
153
192
165
160
196
158
133
193
126
160
205
159
148
216
190
218
138
140
120
211
134
163
180
160
191
210
128
158
150
178
151
218
157
142
148
140
181
189
137
145
196
198
174
212
136
129
178
155
176
183
220
204
194
157
169
169
122
159
175
153
120
160
169
194
187
161
151
139
151
147
182
188
197
194
179
216
203
123
125
161
200
202
193
219
131
209
149
190
175
202
196
164
202
130
146
136
209
165
214
216
170
135
179
159
161
143
130
185
164
211
148
170
164
188
194
191
137
154
133
168
124
135
124
133
187
183
183
160
137
163
149
170
163
136
220
161
173
178
139
178
122
138
191
200
130
162
121
174
130
203
189
205
140
151
174
122
145
116
105
123
106
120
142
125
128
140
128
109
105
105
106
122
103
102
150
132
124
121
149
142
121
118
116
126
140
104
118
133
128
103
114
103
135
147
123
144
133
118
130
125
124
133
125
140
145
114
103
119
133
119
148
127
142
144
118
141
112
118
107
108
137
125
105
137
130
141
118
116
100
128
141
114
103
148
119
119
115
143
135
138
127
100
104
133
102
149
134
128
118
101
135
116
132
100
108
106
150
139
102
150
123
149
138
144
142
113
133
118
147
123
137
138
122
103
109
125
141
106
110
100
106
125
102
107
146
113
138
136
117
137
104
121
114
119
121
150
123
114
120
131
127
150
111
119
129
119
136
111
129
108
119
130
143
204
146
194
191
163
218
190
152
185
188
201
208
176
196
200
195
157
199
126
188
215
209
198
181
151
196
194
125
141
147
184
134
129
131
188
148
160
168
156
139
213
206
169
189
184
185
169
202
171
127
188
143
201
208
180
151
168
152
124
208
218
174
143
123
209
176
195
202
163
203
139
199
137
132
195
201
153
192
195
194
177
126
120
208
159
214
195
165
218
185
198
157
133
145
125
184
147
126
188
135
193
122
161
204
194
149
183
193
137
135
125
121
123
165
136
164
153
203
183
164
219
152
181
155
121
169
189
145
148
178
148
116
133
120
102
149
133
111
105
121
111
148
105
113
117
115
144
131
108
103
119
119
149
129
101
120
119
129
114
103
113
147
137
150
119
142
120
114
101
103
125
141
101
112
113
131
145
132
105
140
118
123
102
130
150
137
120
102
129
144
112
121
113
142
103
114
125
135
116
103
147
124
132
137
127
146
104
147
140
103
110
107
140
104
118
116
107
124
130
145
131
118
134
137
126
137
119
119
117
101
143
130
150
108
132
113
144
142
100
116
132
126
149
110
108
131
146
149
132
145
130
100
101
112
141
136
103
111
137
117
127
140
123
122
100
114
147
140
127
134
108
139
127
120
104
109
108
139
146
100
143
148
128
125
117
109
130
113
140
103
139
104
102
145
133
127
121
126
122
145
113
139
148
145
151
163
176
171
164
163
167
188
122
145
219
199
120
155
143
165
191
177
172
198
136
176
143
122
188
126
166
185
193
210
194
149
198
181
166
120
144
137
205
200
181
129
201
171
207
137
122
217
193
152
180
203
153
183
147
167
168
173
167
161
214
170
205
196
164
219
159
204
126
192
136
202
130
137
176
189
140
193
218
145
121
182
167
211
123
184
169
162
186
182
150
156
201
158
179
218
169
213
145
144
128
127
193
126
135
179
220
146
196
126
218
133
186
167
176
137
124
165
179
120
167
125
145
130
147
145
204
216
141
203
189
166
193
216
195
155
192
121
215
142
207
170
204
151
131
167
205
199
220
156
191
203
136
138
177
202
211
220
145
113
138
129
143
133
109
101
124
106
108
144
117
139
137
136
145
104
135
140
142
106
144
125
144
131
150
126
137
102
125
112
123
134
124
131
141
120
144
149
111
139
149
116
106
111
120
101
135
128
103
121
100
106
133
124
123
135
134
142
145
143
150
113
147
101
146
131
143
130
148
115
101
128
119
131
118
137
106
128
138
115
101
138
143
119
143
134
140
140
125
118
123
121
102
135
107
104
119
137
104
146
147
104
148
106
117
119
106
103
102
143
134
141
109
132
139
138
117
116
103
107
129
126
107
116
105
137
139
141
145
115
140
120
128
139
114
101
123
127
120
110
135
147
141
100
103
131
137
109
150
148
113
114
149
150
115
143
148
120
136
108
104
126
102
113
125
115
135
127
131
105
141
128
148
220
144
158
178
201
193
159
176
149
148
175
196
197
172
208
146
171
136
210
164
154
182
125
199
144
170
128
129
172
174
169
184
171
142
183
186
182
177
212
210
146
178
126
133
183
127
187
142
192
169
201
201
203
205
134
139
146
133
183
207
197
177
144
156
180
159
179
219
130
197
154
134
174
173
176
176
192
123
125
169
189
133
127
162
178
140
136
182
153
197
154
215
178
150
163
216
157
179
202
130
137
136
144
206
166
134
163
149
164
187
173
167
199
164
201
152
197
138
193
153
201
178
173
217
215
184
215
158
124
136
134
145
207
174
196
134
215
157
173
134
162
198
153
156
156
195
197
123
206
178
170
150
186
198
146
203
135
123
152
191
123
219
214
199
177
167
146
213
188
209
150
124
138
119
120
104
141
126
149
122
124
113
135
123
131
131
118
113
113
135
131
150
126
117
114
142
135
148
119
117
107
122
117
141
112
135
125
142
126
126
129
147
146
100
127
120
121
145
142
111
149
132
102
106
129
138
139
135
144
141
101
112
133
119
140
136
119
103
129
113
117
135
108
139
147
144
149
128
133
102
120
140
121
116
132
145
147
118
144
143
100
101
108
145
146
108
117
140
105
142
112
144
106
120
123
108
140
122
113
131
139
143
148
109
127
117
110
134
121
116
130
128
109
144
119
132
130
100
108
105
133
131
148
142
111
115
134
126
116
108
137
125
112
106
110
109
135
146
101
146
138
113
123
135
127
101
204
143
181
162
189
178
217
135
168
180
177
193
121
126
190
148
183
137
183
196
140
215
165
208
197
177
207
151
189
186
142
152
170
158
120
151
131
150
159
191
217
196
205
175
156
164
161
178
154
192
125
143
214
164
129
156
131
142
136
177
152
136
214
154
142
207
176
169
125
196
190
126
176
188
160
174
195
158
135
132
204
121
160
203
193
211
157
142
189
139
156
183
183
149
191
177
129
170
127
199
183
159
141
200
166
156
200
168
139
133
169
198
121
175
152
146
177
196
165
191
193
186
174
151
170
127
133
192
148
114
118
146
142
142
133
140
134
107
131
144
110
111
121
136
148
146
103
118
104
118
116
111
108
112
127
117
115
107
101
133
103
130
107
117
140
129
149
129
136
103
128
123
127
108
145
142
143
114
147
120
120
108
114
108
136
107
128
129
102
116
126
136
144
101
128
110
111
137
138
124
150
118
131
109
114
110
119
105
121
104
124
122
108
137
150
141
140
141
128
127
122
132
149
107
125
115
131
103
146
122
110
142
118
114
144
103
134
135
116
150
108
113
118
125
103
117
145
138
106
104
116
122
124
119
109
131
127
128
147
104
114
109
102
122
150
181
163
149
187
130
171
137
206
202
197
155
129
192
156
137
204
182
167
211
184
136
206
135
145
132
219
139
220
170
199
184
150
128
144
201
196
211
170
167
212
196
161
197
206
165
126
168
163
138
164
186
152
138
206
135
137
120
168
135
161
166
212
219
126
121
182
153
216
209
181
151
135
128
137
120
195
195
154
196
220
182
194
205
170
197
128
152
199
139
129
201
196
174
193
212
153
130
157
130
187
172
130
216
176
132
178
130
127
137
181
215
137
141
183
184
190
202
180
158
203
209
175
202
134
201
160
168
174
180
134
178
175
149
145
172
199
159
218
138
148
218
158
206
143
200
214
156
146
163
197
113
123
122
119
108
120
106
127
136
113
100
132
118
110
110
128
120
122
147
137
138
150
105
135
116
150
106
139
100
104
119
117
100
130
112
104
137
144
123
120
102
150
133
108
134
112
114
106
118
129
123
105
134
141
103
127
143
124
119
110
135
114
142
136
130
140
129
127
100
129
139
109
131
146
116
103
110
129
132
139
144
131
132
106
105
128
132
122
150
146
126
146
107
127
147
104
148
114
136
116
120
109
124
145
141
145
150
126
149
136
110
111
107
126
113
130
133
111
112
142
147
136
107
106
129
131
111
137
138
100
148
142
139
121
139
127
133
135
135
143
136
100
104
115
102
106
148
131
105
110
110
109
124
131
136
139
110
108
103
130
122
105
118
102
114
135
130
142
117
142
106
107
150
118
116
154
204
124
182
216
156
145
162
220
175
162
146
200
137
145
166
150
150
172
138
206
144
180
193
121
149
132
155
183
149
160
140
147
167
147
131
220
133
177
188
134
142
198
130
167
144
189
141
189
147
160
171
144
209
193
120
177
182
212
179
212
132
164
196
205
219
213
210
148
213
170
171
191
181
193
131
124
220
147
218
209
193
211
164
134
207
167
140
159
156
220
180
219
180
180
219
180
201
181
143
149
121
132
146
126
186
157
122
177
198
149
131
176
191
202
191
204
186
150
157
186
125
167
165
217
132
175
207
144
146
158
184
157
156
199
168
171
150
194
197
161
189
193
144
122
129
143
146
127
115
145
139
139
111
108
118
114
118
109
134
112
120
106
141
106
109
140
109
114
112
137
126
140
116
122
139
118
111
129
125
129
140
104
145
105
124
130
122
103
120
100
133
143
105
147
126
141
106
131
146
119
109
138
129
109
103
120
120
121
123
118
138
115
132
124
116
123
119
116
138
115
149
111
126
139
145
112
106
106
114
131
125
117
108
147
147
111
107
113
127
140
144
132
147
106
107
115
115
148
109
109
145
113
130
133
101
144
134
100
135
105
128
129
125
141
127
124
124
114
110
123
116
143
149
109
118
128
212
194
121
149
158
140
172
218
205
187
213
187
203
206
209
202
210
204
150
129
205
158
140
138
183
145
142
171
214
204
213
218
147
209
127
201
207
186
169
162
158
216
201
214
123
185
206
176
130
179
184
192
211
143
180
179
140
175
177
151
142
161
175
132
129
152
165
179
207
164
211
194
204
198
136
214
186
150
159
147
204
148
169
161
148
166
208
188
145
204
191
157
137
177
196
133
148
183
151
173
159
212
202
163
180
196
192
183
203
216
175
144
196
165
139
156
135
216
219
184
158
184
162
121
137
187
156
170
149
115
129
123
133
149
140
136
140
139
111
122
108
102
117
134
146
107
146
147
115
127
128
131
115
149
116
144
128
138
146
111
106
146
142
118
137
132
107
114
144
104
146
148
114
119
113
133
124
124
106
115
138
141
144
111
100
131
110
148
131
104
134
131
130
111
145
106
117
115
111
111
129
149
112
133
123
100
124
143
145
148
122
112
130
115
128
120
148
128
133
109
100
135
143
138
147
117
106
136
101
116
145
124
134
130
137
142
113
115
128
128
137
101
113
109
121
129
144
106
140
111
142
103
128
114
105
142
150
142
102
100
141
136
129
131
129
149
148
113
135
124
140
101
119
140
122
137
113
128
123
150
102
121
128
142
108
143
130
150
123
139
182
139
219
184
188
164
153
192
212
170
122
132
191
160
162
123
189
193
184
151
214
128
173
168
174
124
130
200
140
144
174
150
204
214
145
174
220
136
133
182
205
215
209
171
171
129
198
206
200
163
159
127
121
201
180
139
164
132
139
217
141
126
165
124
147
164
178
202
181
177
130
203
173
134
196
151
200
160
162
195
218
145
124
152
204
176
184
142
137
157
157
181
187
139
199
155
183
126
174
156
150
220
172
122
124
192
194
130
208
217
150
128
163
167
215
143
173
172
175
198
120
153
149
197
158
190
142
201
177
147
166
144
142
208
192
198
135
218
183
174
186
181
217
145
177
144
149
216
200
192
157
179
171
187
197
166
205
173
121
139
160
146
169
188
176
140
129
155
144
182
160
138
124
122
139
122
150
114
146
118
103
120
127
141
142
137
121
121
123
106
103
109
137
125
106
138
116
125
127
150
150
120
123
100
137
146
121
142
136
126
135
141
105
107
145
113
148
139
140
133
103
103
138
133
109
105
112
104
139
125
100
146
146
117
117
111
104
130
142
145
119
116
103
109
136
116
141
150
121
128
136
129
105
132
142
131
100
104
114
148
141
100
122
106
127
134
130
102
109
121
114
139
124
144
100
142
138
112
139
112
117
126
129
142
124
105
108
133
146
130
106
121
126
111
148
139
122
141
144
147
149
172
190
171
136
186
121
180
177
198
153
142
163
131
177
144
179
185
220
136
158
190
207
164
217
141
219
203
195
220
207
158
220
208
220
197
175
214
149
160
150
135
190
186
220
173
186
164
174
137
200
212
136
203
182
215
154
174
133
178
137
212
157
125
146
128
130
157
150
212
139
179
141
188
179
163
190
198
164
130
215
169
187
167
186
188
178
200
161
182
149
140
217
172
186
150
182
179
206
202
189
161
140
215
172
177
167
155
170
204
158
209
163
210
129
183
199
153
199
139
162
193
126
201
171
180
212
188
124
125
189
188
168
174
125
200
175
138
174
128
194
178
197
209
134
183
164
138
165
166
181
163
132
165
188
206
188
139
174
161
114
108
135
112
115
106
135
127
105
100
131
139
114
115
150
111
124
122
135
126
127
131
137
136
115
103
132
121
127
118
130
102
135
120
124
107
119
126
127
117
128
132
105
138
116
100
118
147
119
144
127
107
114
113
119
134
117
116
147
117
132
127
131
134
103
130
146
110
135
103
150
128
148
121
112
124
131
121
140
101
130
138
113
113
143
141
139
137
136
149
148
113
118
149
149
120
115
131
116
121
140
116
131
117
124
123
114
134
115
136
137
137
118
107
111
109
123
100
143
120
127
111
117
112
136
114
101
131
137
100
102
139
107
147
119
150
144
122
147
145
143
129
133
127
124
127
131
129
118
101
135
134
132
110
100
120
121
206
140
148
147
160
220
153
130
216
168
128
216
199
208
176
185
211
166
127
174
189
196
209
169
195
198
165
198
178
169
179
218
138
151
154
152
191
217
138
199
153
211
132
170
138
187
155
196
171
201
215
201
207
138
148
160
153
141
124
151
120
185
187
220
165
214
196
218
177
161
156
191
198
136
204
162
175
156
126
128
141
182
155
171
214
146
207
191
216
172
185
170
186
194
121
127
127
178
195
183
205
150
199
163
161
197
216
165
176
182
181
125
205
146
196
196
210
152
146
177
174
128
170
152
204
197
137
137
213
164
142
183
122
190
167
162
155
134
213
147
138
170
161
195
185
188
171
175
209
210
200
173
163
137
173
176
117
119
142
109
106
129
120
118
148
119
104
128
117
130
139
110
103
123
112
120
117
107
139
135
105
121
137
147
125
101
101
145
147
126
126
119
134
136
105
137
128
116
126
103
139
136
111
146
130
144
129
102
101
136
120
135
105
148
115
108
113
110
109
115
148
106
146
109
119
126
126
148
118
107
118
136
149
108
118
130
101
131
106
110
140
131
117
128
131
132
117
112
149
128
107
103
146
114
102
121
143
123
142
113
144
124
121
129
132
144
123
116
116
110
106
145
150
115
122
108
103
101
107
121
106
146
139
134
133
146
109
101
122
101
100
150
128
132
142
103
124
104
135
122
103
149
111
140
123
114
111
138
122
131
148
127
101
131
118
103
141
146
120
105
149
148
116
119
118
129
145
131
114
116
117
189
219
147
165
176
197
150
143
163
176
199
219
127
206
167
156
154
201
195
205
130
171
183
130
169
220
123
161
219
158
219
179
123
140
210
169
155
130
147
200
203
130
182
161
147
126
132
168
182
196
171
148
126
170
130
160
165
207
164
191
132
143
207
146
136
198
142
169
218
187
201
142
122
156
198
219
158
176
204
151
138
177
142
171
177
160
168
161
181
125
203
193
192
120
146
160
193
195
213
140
190
186
166
211
183
143
176
121
195
194
160
166
205
127
132
130
210
176
177
214
147
199
188
179
155
185
132
203
128
168
143
162
217
175
220
125
121
165
121
135
204
193
135
206
207
122
170
160
216
137
151
206
196
196
124
173
156
177
142
150
177
175
122
165
149
149
204
163
189
139
212
151
127
177
141
102
122
146
128
145
106
109
134
138
133
124
131
139
111
142
137
111
113
126
150
139
135
143
130
137
150
129
107
139
149
141
132
148
136
134
149
132
105
148
120
123
142
148
133
122
110
141
143
118
146
135
135
129
127
114
111
138
116
115
137
133
109
106
111
149
105
123
147
108
102
124
121
121
117
116
133
145
130
132
138
110
136
131
125
110
101
150
145
102
113
113
125
124
111
100
120
107
128
114
127
128
118
114
143
146
141
128
113
103
144
105
136
120
121
102
110
136
130
122
134
131
133
144
149
105
113
150
145
149
105
105
145
137
118
146
148
111
104
103
102
127
141
132
111
100
126
123
112
110
118
118
128
126
138
143
118
127
101
149
111
131
113
150
107
102
148
125
147
215
156
153
153
190
189
159
192
179
134
165
209
124
139
220
148
205
213
168
122
163
183
180
186
135
209
156
215
184
160
217
158
210
155
187
168
189
172
195
160
147
122
140
154
148
209
189
124
191
195
209
202
120
220
220
200
179
131
165
220
183
189
210
131
170
217
144
148
154
148
212
161
217
125
139
129
152
160
200
156
157
191
162
177
183
186
178
169
170
208
146
148
132
137
209
133
180
220
149
203
197
147
155
161
192
196
198
158
219
122
170
170
135
155
140
194
120
128
166
141
216
194
137
127
121
157
196
184
175
186
172
142
187
159
147
152
186
168
148
149
152
205
162
145
158
183
194
151
182
185
193
179
201
159
197
150
143
180
191
131
124
126
166
204
159
185
217
147
151
194
164
142
169
101
105
135
146
137
105
102
130
131
110
125
150
113
107
118
116
118
144
102
134
121
150
131
116
126
135
130
147
124
145
147
106
121
117
133
127
125
103
134
120
131
143
143
112
102
142
106
143
109
115
133
137
109
105
114
130
102
129
122
101
141
118
109
131
135
149
138
106
139
112
105
101
107
111
127
124
118
101
135
146
133
131
127
134
136
108
135
150
123
126
131
131
139
118
128
110
108
108
103
139
120
120
144
103
135
108
114
143
149
150
122
113
103
100
133
116
135
102
110
103
110
144
137
117
136
139
139
113
148
145
101
117
116
118
117
101
134
147
142
137
120
147
209
143
171
175
208
126
218
148
138
169
150
136
195
145
201
211
127
206
131
184
161
214
202
202
217
135
153
216
215
133
162
208
212
151
176
188
146
210
198
125
133
205
154
127
164
179
176
161
208
149
210
151
204
202
121
123
162
185
169
195
151
148
175
175
171
161
214
219
123
219
186
206
210
186
159
162
156
194
150
205
219
184
218
152
120
208
177
183
180
174
166
153
141
141
160
149
121
215
147
149
190
136
174
202
197
165
145
198
139
211
192
158
140
160
159
125
164
169
184
131
174
178
219
214
183
171
172
127
214
177
218
165
120
207
213
161
145
138
167
199
158
192
140
124
151
181
195
137
157
188
162
178
115
143
104
114
146
147
145
110
125
101
139
141
108
139
100
111
111
126
136
137
116
118
143
114
109
100
125
115
148
104
137
131
122
145
142
128
119
112
121
128
137
114
124
137
104
136
125
127
117
137
111
130
130
143
122
121
141
138
137
130
104
116
126
109
143
106
144
115
147
138
145
140
139
120
128
115
121
112
107
135
140
135
126
147
144
135
148
132
143
111
148
100
117
100
103
101
118
133
118
135
135
101
136
109
111
104
135
132
130
121
120
112
143
145
150
109
126
122
120
147
127
103
112
129
122
149
137
150
121
144
133
105
146
113
133
103
139
117
108
139
115
146
106
142
124
139
106
118
110
111
142
109
118
109
118
106
100
139
129
141
144
110
111
105
137
145
208
169
185
171
166
122
176
188
128
216
147
181
196
133
205
171
209
192
174
183
188
200
128
136
131
153
216
129
192
124
215
173
123
191
136
141
165
200
193
208
210
219
192
133
207
122
143
168
181
208
140
189
127
152
125
157
153
177
180
201
212
139
214
189
185
127
138
191
198
128
183
204
199
211
184
201
208
194
182
144
217
134
179
210
155
139
152
208
134
171
209
168
129
164
220
215
183
207
162
178
134
158
191
128
203
184
189
209
141
181
163
218
136
199
175
207
146
161
166
198
177
133
186
219
180
123
142
148
165
208
178
179
177
161
165
173
145
209
208
177
172
129
196
160
212
149
149
126
113
130
117
145
103
116
147
146
129
106
139
142
139
140
136
142
146
143
150
132
111
115
150
127
125
125
111
134
123
103
102
104
115
112
125
104
125
128
106
131
126
128
134
138
108
126
121
136
138
122
114
146
100
115
143
121
118
117
143
136
123
138
103
105
102
136
145
150
144
145
114
131
134
104
147
147
147
144
125
147
144
123
101
119
136
114
104
128
109
127
110
129
119
127
107
130
136
120
150
141
126
121
120
150
125
137
110
143
113
113
133
120
129
105
131
136
127
143
106
104
140
111
150
100
112
127
103
149
107
135
126
141
114
147
106
110
138
138
171
173
204
220
218
122
154
171
204
211
218
154
147
131
189
145
148
196
193
146
130
216
122
194
137
146
194
123
176
192
193
208
180
149
126
203
163
128
151
215
157
188
161
122
216
156
215
194
197
206
151
120
187
164
164
161
164
131
132
187
188
201
217
125
179
185
174
208
144
163
163
124
130
147
195
192
152
156
139
132
121
150
199
219
172
154
150
141
178
214
159
129
159
176
137
212
123
212
179
150
154
187
198
125
165
156
197
187
175
210
137
188
135
213
164
193
200
186
158
132
206
166
157
129
208
152
156
174
144
197
214
144
135
182
149
200
188
218
163
112
141
133
146
143
135
124
147
147
127
118
137
117
110
107
105
128
108
128
146
147
101
110
122
121
125
112
135
108
142
102
149
123
150
127
137
138
122
118
143
120
104
111
143
116
124
108
140
132
122
110
115
100
140
129
126
125
108
102
111
121
116
149
109
122
134
117
134
141
141
125
134
110
137
128
126
131
124
101
103
135
143
125
119
101
149
113
144
100
108
112
106
111
128
134
133
142
106
148
134
103
133
119
135
124
103
130
146
124
146
145
108
121
102
127
119
103
138
101
140
124
135
134
134
136
118
135
135
141
146
114
125
135
133
121
120
112
122
104
134
132
147
148
143
147
116
138
135
110
124
148
118
131
150
131
109
120
148
114
130
115
128
118
108
146
135
121
134
124
130
140
187
188
147
217
125
193
179
176
177
165
217
165
177
155
212
165
214
151
121
214
147
157
138
154
128
146
160
200
203
186
127
203
197
164
211
200
142
145
199
149
147
194
155
209
152
174
147
191
182
182
141
180
192
181
120
148
169
167
131
153
141
120
188
203
181
212
217
139
206
187
140
202
208
180
166
148
167
216
177
220
150
210
176
210
183
173
148
142
166
175
128
156
196
142
159
155
172
183
149
137
220
216
166
190
127
157
127
136
192
163
213
195
191
179
185
152
157
157
219
144
191
193
143
134
178
139
137
219
188
198
138
159
153
148
168
164
123
195
155
219
166
162
196
210
152
155
161
162
184
142
200
128
171
179
162
169
191
134
171
205
135
148
208
188
190
143
172
169
102
123
134
122
133
116
137
126
135
141
147
102
128
121
146
147
120
129
103
105
113
148
144
134
118
117
149
135
110
118
131
146
113
143
130
149
105
113
144
120
134
114
137
128
129
144
135
138
110
104
133
101
138
125
116
119
111
130
126
145
131
105
103
123
144
125
100
108
148
114
122
108
115
150
143
111
128
121
118
144
130
138
122
148
147
120
127
107
134
115
109
107
129
102
147
105
130
145
140
102
139
149
125
100
146
133
124
144
116
122
107
140
122
131
129
105
137
117
110
131
134
114
114
150
103
113
126
147
118
146
125
146
142
127
123
150
126
149
147
139
118
150
125
132
177
196
216
137
153
167
148
135
216
140
185
177
194
207
198
141
209
121
124
158
123
150
215
135
216
213
206
215
172
159
205
176
125
131
198
150
181
203
186
191
180
144
172
166
201
154
211
192
141
196
157
217
194
202
197
190
202
176
197
167
151
202
154
209
154
190
196
214
131
171
121
204
139
193
184
168
165
153
144
178
149
160
209
214
206
167
189
164
156
175
127
125
151
167
187
123
163
188
145
174
199
170
190
174
141
202
203
125
124
138
182
185
140
146
126
195
211
143
195
168
147
126
123
141
213
216
153
206
162
181
130
181
209
126
190
191
142
192
220
134
139
143
149
109
105
143
141
100
150
127
129
107
120
104
150
144
138
150
111
114
132
103
150
104
116
107
126
112
106
132
146
132
111
110
122
110
137
124
125
148
108
148
116
124
115
121
137
111
148
148
116
128
126
147
148
146
120
148
126
150
122
113
134
122
108
128
118
146
103
136
104
148
103
107
108
139
119
112
106
111
114
101
111
102
101
130
127
150
122
108
103
118
129
138
126
110
147
104
110
150
134
128
147
100
102
149
145
117
131
129
108
142
108
128
143
142
117
134
130
115
136
148
123
122
126
140
128
142
133
113
112
139
134
114
125
171
126
169
144
164
159
173
154
183
193
209
184
211
138
172
194
164
122
137
176
207
191
138
155
153
126
198
217
159
125
154
174
192
139
146
190
189
123
198
217
191
169
165
177
149
147
211
147
182
199
183
164
160
144
173
183
213
205
156
162
129
209
174
205
160
183
131
197
167
139
134
178
211
169
136
220
162
196
127
141
161
174
214
150
128
179
150
176
125
171
120
219
193
138
220
219
147
210
137
211
186
167
187
196
155
158
187
184
142
192
171
122
214
169
199
134
148
125
133
124
151
220
121
162
136
129
210
186
143
206
161
219
125
111
100
125
130
149
141
140
118
120
103
150
146
135
133
104
132
126
125
142
139
103
102
111
115
132
109
113
104
150
108
141
101
136
103
110
137
121
114
102
145
120
141
100
106
100
148
103
119
144
105
143
117
139
147
126
100
120
106
103
111
102
113
125
118
130
118
103
130
132
108
104
134
121
147
107
101
125
123
145
123
141
133
147
150
133
139
145
129
133
129
137
111
136
114
122
137
129
144
126
148
118
131
144
128
110
109
101
122
122
141
144
126
140
128
117
149
108
146
126
126
136
138
116
115
146
134
122
124
131
149
104
125
119
115
128
101
117
140
146
139
129
126
135
144
103
131
144
133
115
101
147
142
131
195
198
151
189
124
200
195
214
159
122
214
131
128
139
184
127
153
122
177
190
155
203
195
196
213
143
217
185
211
192
128
179
167
194
174
219
170
160
165
160
148
130
179
192
150
162
121
206
122
206
134
145
213
180
174
129
196
164
182
175
182
125
187
161
153
167
164
165
152
217
179
182
129
180
166
186
135
146
152
140
161
133
168
182
184
213
141
200
176
139
129
141
147
135
167
151
124
155
154
178
177
191
204
126
138
169
130
192
212
187
201
142
185
170
163
130
134
163
134
165
186
185
208
214
169
220
125
210
124
203
152
134
212
138
190
132
198
176
220
200
122
120
184
171
176
213
147
160
170
153
201
140
193
131
137
184
202
138
173
181
186
147
124
105
145
122
136
107
116
103
102
101
113
148
109
142
134
124
143
112
141
143
122
128
142
119
105
115
122
100
144
148
126
147
101
140
116
117
100
132
126
106
148
105
115
145
117
123
143
140
146
106
143
105
149
123
108
142
144
134
121
127
146
117
125
109
119
127
136
106
101
100
124
106
116
100
106
125
124
133
131
148
139
120
136
108
104
110
123
103
119
106
120
105
108
145
137
117
138
110
136
137
108
128
137
101
119
103
144
103
125
148
121
139
150
121
135
116
147
128
122
101
110
128
116
108
115
129
149
109
119
110
106
134
147
136
116
144
107
115
125
149
108
107
117
102
150
194
131
146
191
138
140
181
166
165
217
127
203
175
166
131
219
215
206
137
215
169
174
195
132
215
196
129
144
209
138
187
167
220
147
178
121
129
154
124
162
147
135
218
217
204
215
160
134
145
139
159
136
147
212
176
220
203
122
173
145
125
174
176
177
164
147
203
153
215
140
170
181
143
158
178
196
216
169
178
208
152
173
170
156
182
187
216
141
188
182
164
153
147
213
150
128
209
168
194
205
159
122
192
201
190
141
173
127
189
146
135
219
152
166
157
130
153
197
127
141
157
205
165
198
177
166
220
187
162
137
164
141
195
188
216
170
142
214
138
131
120
126
176
152
219
182
198
202
163
218
141
147
147
203
131
180
132
123
183
172
160
173
149
215
185
113
124
120
102
140
110
134
126
104
145
111
105
147
113
111
119
101
138
122
138
133
127
143
124
126
110
111
111
146
147
130
113
133
106
135
126
147
104
101
126
148
114
105
107
149
142
141
105
107
110
118
142
114
116
150
105
135
131
150
121
116
121
143
135
147
105
129
104
126
145
142
147
121
100
111
117
147
108
122
124
103
102
112
146
134
126
148
132
148
133
101
123
130
116
116
120
119
142
126
143
104
130
101
103
102
135
135
129
111
149
121
121
119
124
136
123
130
122
113
138
116
123
141
138
116
102
143
112
129
111
148
134
135
100
136
133
129
121
147
108
129
111
108
130
110
119
101
116
147
106
124
147
123
110
119
148
121
147
216
124
163
121
144
156
218
147
139
165
148
151
160
154
163
203
171
169
208
182
122
173
124
186
148
134
160
140
125
167
194
174
169
214
126
156
197
215
127
184
198
142
212
143
191
156
121
131
216
148
183
209
121
125
136
129
182
196
161
219
129
173
176
183
140
184
210
209
175
195
121
133
140
124
156
163
197
187
178
187
120
193
140
128
148
191
178
164
193
188
177
177
218
130
140
207
211
130
210
150
141
138
162
143
152
134
156
174
188
154
159
165
188
120
139
169
143
169
161
176
125
185
163
126
124
120
170
203
219
130
148
136
123
168
204
219
130
205
130
141
131
130
190
128
167
209
182
211
133
167
165
214
178
219
200
184
152
151
124
184
126
193
206
141
148
130
189
161
202
128
141
113
142
135
124
106
134
101
113
118
109
144
117
124
102
100
120
143
126
146
125
107
120
139
115
131
145
150
136
114
148
134
145
110
123
117
141
116
135
141
119
134
138
134
131
126
115
135
111
138
132
148
144
130
128
104
125
142
144
137
107
139
100
106
141
139
121
143
134
149
117
111
104
127
146
134
112
138
109
133
133
112
119
139
136
122
140
136
119
106
130
123
146
127
144
124
133
105
123
113
128
100
143
108
145
123
144
113
119
141
119
136
106
112
147
134
136
107
141
138
117
126
123
116
132
131
147
120
127
141
178
127
160
146
139
213
158
124
133
213
146
216
202
133
153
187
188
123
160
172
170
124
143
212
160
163
217
159
184
153
156
140
147
143
139
159
178
165
191
167
164
217
193
151
193
120
123
198
210
171
154
212
164
153
136
189
179
155
180
190
217
126
184
132
155
176
125
167
157
197
213
184
184
195
169
220
145
173
214
209
165
157
144
173
125
191
207
178
178
152
175
208
172
131
164
219
163
219
173
189
179
211
184
190
178
208
192
164
128
163
213
181
195
166
171
136
196
127
192
152
176
128
208
127
146
176
208
141
210
140
128
137
175
162
123
150
129
133
155
199
154
124
134
175
132
153
218
191
155
143
111
119
136
113
140
150
148
126
116
127
148
105
146
107
134
133
119
136
111
134
124
112
120
112
134
134
100
116
117
132
119
125
127
101
115
100
104
130
116
137
123
113
122
136
109
107
128
119
118
119
124
148
118
124
130
135
128
125
144
115
100
129
119
108
139
107
107
150
109
121
149
118
111
148
116
127
109
135
132
118
133
131
111
141
119
129
149
103
120
148
149
116
119
111
150
123
106
104
126
124
112
148
150
142
106
100
122
123
131
131
117
124
103
117
147
142
118
117
114
150
118
108
137
137
134
135
116
135
149
112
103
116
104
128
125
112
112
125
104
104
139
140
139
146
142
106
109
145
144
109
123
113
136
106
138
124
140
143
120
112
139
134
137
120
130
142
128
126
134
148
117
137
184
186
177
172
197
158
174
141
204
185
199
163
184
212
168
163
202
189
198
147
171
201
196
159
198
213
122
197
178
140
165
207
121
150
215
177
153
133
165
205
157
201
153
147
182
172
131
181
174
137
207
142
131
212
203
132
133
180
211
137
153
164
170
167
185
157
141
145
191
131
139
146
186
149
145
128
220
167
220
152
143
139
200
128
183
196
163
156
198
160
120
190
143
128
207
188
187
166
125
121
136
177
219
168
139
207
170
129
173
156
174
153
181
163
217
122
206
134
134
200
204
171
178
212
153
186
181
213
166
120
189
190
152
134
142
173
181
173
127
135
214
151
195
134
186
204
189
157
210
157
125
137
144
164
133
215
199
170
132
166
217
159
130
169
210
122
214
136
156
138
107
108
110
125
137
130
131
123
107
149
104
101
104
108
146
108
116
136
124
143
130
114
130
120
111
127
121
126
133
143
133
110
113
111
147
134
134
130
139
136
105
106
135
138
136
116
142
106
136
147
129
115
101
136
149
114
138
117
140
141
128
140
133
119
111
142
121
113
135
113
122
142
120
119
147
103
130
130
103
101
139
126
106
150
102
102
102
104
116
106
101
120
147
143
109
148
114
114
127
101
100
130
117
148
137
112
123
106
138
100
115
105
128
109
108
110
136
130
100
125
104
147
108
113
109
128
123
139
103
112
132
119
132
103
101
148
143
142
137
121
161
215
124
201
120
153
192
127
130
133
140
214
177
150
144
200
173
210
174
206
197
178
149
154
162
198
211
151
203
133
208
180
184
139
120
146
131
159
152
145
190
187
171
181
124
172
210
211
145
177
216
141
211
204
142
128
143
173
154
167
191
185
213
126
142
166
196
220
176
126
128
217
123
181
173
200
203
184
214
198
168
183
135
170
174
128
199
131
219
178
149
208
139
177
187
134
210
125
197
121
205
213
211
134
185
202
124
205
179
135
213
202
182
207
202
142
190
201
189
129
217
149
160
220
175
126
120
180
219
126
172
209
164
194
195
159
122
187
176
123
220
203
166
182
207
218
200
209
177
135
210
143
120
100
127
105
132
105
134
146
141
123
119
125
108
143
129
147
114
113
109
128
101
126
150
136
109
118
112
120
111
147
106
128
145
128
112
117
115
147
131
120
103
141
103
122
144
113
122
106
140
104
122
110
130
102
135
118
100
105
125
138
131
138
140
133
143
131
137
128
111
137
100
141
115
119
123
103
138
124
132
123
128
101
123
117
141
138
143
113
140
131
137
115
133
112
113
102
145
114
129
144
133
114
146
110
128
149
145
144
131
145
118
120
121
116
119
110
124
125
149
133
119
111
128
140
116
137
139
121
138
124
127
108
108
107
134
102
112
100
127
120
144
148
101
101
118
103
101
133
131
204
171
194
213
160
122
177
142
147
132
171
152
192
190
128
121
145
139
168
187
215
133
197
180
153
165
165
187
171
131
124
153
166
131
159
140
123
177
170
218
159
153
155
204
211
203
198
145
213
164
149
201
220
144
198
169
194
179
216
121
214
122
138
133
200
190
155
164
197
139
179
215
142
161
213
164
201
210
175
208
162
139
213
202
138
172
177
217
134
127
215
177
170
160
187
183
174
154
151
140
195
191
155
137
146
151
218
123
197
208
215
150
220
192
136
157
177
143
213
166
147
210
156
214
197
139
205
142
131
178
163
133
162
146
201
220
139
137
182
156
125
212
129
185
172
172
204
141
198
141
135
140
177
124
131
114
119
143
118
103
103
135
127
123
100
137
118
113
138
113
145
131
106
146
126
100
126
124
102
147
132
108
112
103
137
122
121
141
135
147
115
120
131
147
128
105
138
122
121
145
125
137
111
125
119
135
140
101
110
119
118
140
117
141
103
149
139
125
141
109
103
103
141
128
100
123
134
150
102
112
128
112
135
141
148
106
145
131
125
149
122
130
121
120
115
147
147
139
114
110
104
112
135
148
139
119
114
112
143
120
126
136
111
132
127
108
125
108
141
138
115
121
143
110
136
115
132
100
125
125
101
134
119
123
118
115
106
142
134
142
119
144
109
107
106
101
128
118
115
130
132
131
149
103
149
143
120
142
104
141
138
143
106
108
101
127
107
126
146
118
146
187
132
126
126
166
201
205
202
191
158
203
199
176
191
196
146
167
159
121
216
147
153
176
134
137
172
195
194
151
175
146
196
215
165
147
121
121
142
219
174
215
195
154
215
159
131
154
185
217
167
203
153
138
163
184
145
169
165
197
191
132
197
146
202
161
173
124
201
208
179
178
143
137
142
139
199
141
159
121
122
190
175
173
149
159
129
122
137
144
212
138
150
123
195
149
143
187
169
120
186
130
146
217
139
189
175
141
187
160
195
124
135
209
160
205
149
197
157
137
134
168
178
145
173
199
200
205
154
214
104
135
110
103
143
110
109
143
147
115
104
139
148
133
134
105
107
108
121
120
145
119
127
118
142
122
108
137
128
136
132
124
106
121
134
137
121
140
140
144
111
103
114
102
103
106
107
113
114
105
118
140
114
108
100
128
137
102
110
122
130
101
142
138
105
107
126
140
135
101
108
130
125
121
117
131
139
135
101
122
106
131
138
126
107
114
132
129
116
132
138
102
129
144
107
147
135
101
143
113
101
132
150
148
126
139
124
129
115
119
121
119
121
125
141
125
105
116
112
133
103
129
124
121
116
104
143
103
130
136
139
107
126
103
102
123
140
137
146
109
135
131
154
150
203
187
146
213
205
151
173
152
139
185
134
123
146
127
203
214
161
163
201
153
195
196
184
169
218
179
209
151
201
195
123
143
180
127
153
141
173
144
161
199
143
146
206
123
184
192
193
169
156
135
218
129
169
205
214
157
207
160
121
178
120
172
131
177
152
161
141
122
193
186
154
124
191
147
133
190
135
164
142
168
191
220
144
206
154
149
205
138
134
176
192
195
187
196
163
182
120
129
159
160
132
191
183
165
220
157
167
179
146
153
129
208
218
200
122
145
127
189
129
139
165
155
163
152
220
137
164
149
122
124
201
138
169
158
133
186
198
195
216
195
136
143
218
143
176
149
143
123
161
185
188
178
133
130
111
140
117
132
123
125
104
104
109
112
139
138
130
135
126
150
137
144
108
133
109
122
129
118
129
112
128
117
127
105
139
120
110
127
144
146
149
121
126
144
142
134
120
104
119
128
127
150
150
126
121
106
144
150
125
143
146
126
128
123
127
125
109
117
102
110
112
118
114
110
119
135
143
139
129
113
127
125
123
101
109
137
109
103
100
144
104
101
120
120
121
135
111
103
134
116
131
106
131
150
146
118
111
128
102
134
131
136
141
119
127
133
126
108
109
101
117
104
116
131
121
101
144
103
144
146
102
113
100
149
112
117
118
140
123
136
144
127
105
124
105
103
141
146
142
127
130
133
122
149
136
101
144
141
134
105
114
139
130
113
114
102
174
144
217
173
120
166
178
194
162
123
200
213
133
152
147
200
182
201
208
185
174
180
156
157
187
160
168
180
121
193
148
122
127
142
172
205
144
150
169
159
153
213
168
196
166
196
202
175
162
142
212
134
137
177
203
150
216
140
177
144
168
145
193
140
214
154
201
218
153
174
186
127
149
199
182
218
195
174
152
171
178
173
180
158
129
188
149
159
211
165
179
138
180
128
201
211
132
182
213
165
180
166
213
124
148
185
152
219
185
204
154
181
166
135
218
208
220
120
133
204
173
215
180
132
125
129
204
185
216
195
134
182
192
170
192
122
149
214
134
206
184
193
184
158
158
207
178
205
146
124
162
127
147
182
220
150
180
151
155
198
149
153
220
136
126
122
164
213
148
200
125
174
198
127
190
104
116
143
120
142
146
134
123
123
130
146
147
116
113
143
103
105
126
124
108
104
100
118
102
100
132
108
147
108
134
130
150
139
138
148
131
149
107
105
105
118
133
137
144
127
125
125
138
127
111
144
135
131
134
114
117
111
131
144
132
125
100
137
113
126
148
105
137
116
133
147
125
110
105
150
128
133
141
146
115
101
144
149
134
144
123
106
127
150
102
105
124
144
138
142
135
110
118
133
126
131
106
117
135
144
134
140
113
115
129
133
104
149
113
135
149
146
147
120
114
120
117
150
140
113
111
134
132
123
131
134
138
103
123
148
125
124
127
105
144
142
118
136
138
140
218
202
158
129
131
143
167
205
161
190
150
166
172
189
174
173
124
216
219
193
194
127
189
207
129
141
196
213
196
180
191
147
130
134
163
140
149
196
160
161
140
200
188
217
135
200
170
140
186
176
175
131
141
207
181
214
154
195
126
162
194
125
160
120
150
163
142
132
121
132
203
210
161
163
189
198
202
143
143
179
186
165
220
145
160
182
149
216
171
207
125
217
200
163
174
125
174
165
167
167
156
135
163
199
213
136
195
212
177
137
192
147
130
132
220
156
120
157
147
211
135
142
152
138
177
203
136
163
129
184
142
122
180
156
214
214
201
127
139
111
145
137
116
118
123
148
108
131
147
139
121
121
108
104
121
108
130
105
100
126
147
139
140
120
101
133
147
122
142
123
119
142
100
143
114
113
124
112
147
143
130
121
112
132
140
107
122
119
103
126
120
141
118
136
144
107
109
141
130
109
115
106
137
100
112
111
114
145
103
148
128
113
148
102
125
132
129
118
122
126
133
141
147
102
145
149
104
136
114
141
145
146
122
128
117
144
121
115
111
101
133
133
111
115
137
148
140
133
134
106
150
112
126
129
127
103
114
112
113
120
124
115
102
127
143
111
118
106
147
126
144
120
116
125
132
105
132
131
148
134
110
146
119
134
108
109
105
133
118
148
143
137
133
160
179
207
136
195
129
196
158
130
133
158
193
196
206
120
165
220
125
216
144
208
206
204
186
137
129
123
180
202
167
185
187
185
209
156
207
205
172
129
173
146
131
157
167
125
173
180
135
120
145
195
192
147
200
195
143
181
128
204
130
218
198
206
149
153
189
201
213
135
159
147
165
180
163
147
158
220
219
137
137
137
162
188
162
153
131
198
150
121
165
179
123
182
186
127
144
184
211
196
179
198
216
197
192
182
168
173
129
172
188
131
208
186
188
153
177
197
167
133
202
139
218
134
151
162
191
131
178
194
143
199
195
133
135
190
186
147
203
128
112
143
144
143
136
102
137
103
110
114
127
146
101
108
148
147
129
102
119
112
146
148
134
143
138
116
103
113
105
141
146
117
106
100
136
114
121
110
118
150
103
101
118
149
122
109
144
124
111
106
118
121
121
141
101
105
108
138
112
129
117
127
109
134
134
141
147
112
150
124
106
127
113
143
150
102
146
102
121
134
107
144
110
108
137
133
116
147
121
138
129
104
113
140
104
145
137
136
115
145
109
120
101
109
106
120
131
136
123
149
100
130
130
142
144
125
121
136
114
142
103
143
115
149
123
142
117
134
201
185
168
216
201
193
171
154
184
122
164
155
200
154
168
164
130
194
162
138
135
129
189
152
212
166
121
122
168
191
187
154
163
208
181
193
141
162
134
131
159
185
217
153
197
203
205
156
170
166
155
129
137
207
133
191
166
192
154
170
176
150
187
192
141
173
149
175
154
164
137
170
149
129
136
142
154
172
208
165
130
140
177
205
199
207
208
208
176
140
176
127
178
195
133
214
175
174
160
204
157
184
163
174
159
147
145
178
166
125
171
177
159
209
200
181
122
211
135
189
174
129
132
142
151
147
182
196
179
184
182
123
152
179
184
152
146
170
193
153
216
120
153
162
160
216
188
188
216
120
140
212
135
214
176
109
141
106
113
146
130
106
150
141
149
121
120
115
147
102
145
146
130
118
127
114
136
147
115
126
120
102
131
100
124
109
146
114
126
108
126
131
109
122
107
130
101
142
149
115
102
139
121
137
109
101
120
100
130
146
119
111
101
149
121
149
120
143
125
145
127
109
106
119
147
140
125
108
124
118
145
137
107
100
110
136
139
114
149
114
139
108
147
103
131
138
147
133
144
104
112
110
147
101
125
122
128
132
143
113
139
136
125
150
104
132
140
106
121
100
139
141
118
136
101
100
132
117
116
119
117
142
127
149
152
164
218
205
181
202
123
120
196
122
220
160
206
157
154
139
121
122
136
212
121
146
171
150
172
184
152
188
163
203
191
140
207
171
177
196
215
196
172
203
147
126
161
174
218
209
177
218
166
141
198
162
147
120
204
122
127
215
147
149
181
123
164
150
207
122
146
172
137
181
209
189
169
213
159
166
204
182
127
211
180
162
212
207
219
161
132
143
208
194
149
186
217
183
165
138
140
159
125
175
174
204
163
197
200
183
134
145
172
153
201
141
140
164
183
154
123
195
204
206
187
216
201
187
136
138
206
207
108
102
118
136
123
149
106
103
100
119
140
130
137
112
127
143
120
149
147
144
130
108
148
120
116
136
127
106
112
129
141
104
138
144
108
121
127
137
105
113
107
104
124
103
112
125
107
102
127
134
121
128
149
137
134
138
120
118
123
124
106
115
143
148
123
104
145
141
111
133
128
148
140
131
136
137
123
111
117
143
125
143
102
101
136
108
122
126
104
103
131
138
136
120
118
119
107
102
144
135
101
108
145
139
105
133
147
143
119
150
127
131
125
105
148
114
138
134
100
101
128
103
106
134
106
149
122
106
110
112
142
146
133
102
109
147
139
115
100
137
147
115
105
143
146
138
123
105
155
162
138
167
132
216
189
126
212
140
203
164
150
215
199
142
154
158
166
189
211
209
149
178
193
163
122
163
170
209
156
164
201
198
122
205
158
160
174
127
178
172
174
137
171
141
183
187
178
144
157
213
193
215
167
183
215
134
188
202
126
192
173
181
146
185
185
184
189
217
219
180
146
172
210
157
176
126
197
199
146
181
211
174
210
179
168
185
185
135
154
210
149
123
195
145
183
134
220
213
200
168
190
157
195
216
210
187
210
195
167
173
172
214
154
166
157
183
137
180
167
185
214
138
132
209
156
168
167
213
191
133
171
214
206
212
190
188
167
208
134
204
151
132
158
135
191
220
195
132
137
170
110
146
140
115
120
139
106
109
109
115
104
114
119
150
108
102
141
101
108
115
139
112
142
121
115
138
135
131
110
100
115
138
144
149
150
101
141
119
147
131
119
141
118
111
143
104
145
134
130
104
129
148
105
117
124
133
107
118
133
107
104
135
121
122
108
123
110
110
114
129
148
135
141
137
110
143
143
110
117
115
134
147
121
133
120
147
124
147
139
127
150
134
110
140
122
128
135
116
142
137
139
123
140
148
113
128
135
123
117
104
118
123
101
143
106
103
148
125
128
106
104
110
139
109
150
104
118
141
117
107
119
127
127
135
120
107
141
111
113
112
121
121
129
113
109
147
118
132
130
141
105
186
176
166
182
208
204
186
128
197
141
126
190
177
181
202
120
211
200
168
171
206
138
133
207
202
135
129
170
179
152
194
126
191
153
198
169
163
135
135
212
188
208
156
189
132
125
175
209
151
157
179
202
126
202
127
205
174
124
173
167
126
131
130
189
214
163
169
187
130
188
202
134
120
199
145
150
177
207
190
220
131
196
142
209
153
161
140
170
183
171
174
133
122
157
178
142
150
191
136
150
122
165
151
131
208
177
201
219
194
204
167
145
185
149
124
147
192
129
138
144
130
158
175
215
130
207
177
209
148
164
204
123
124
214
173
210
199
147
128
133
191
173
144
147
212
148
198
144
195
157
153
123
177
121
128
129
169
186
144
174
189
177
203
175
162
159
200
173
132
160
131
137
101
104
138
146
149
135
127
130
105
104
106
122
111
145
111
100
150
108
125
147
150
100
112
139
138
132
133
116
101
100
102
134
120
105
116
104
147
122
144
112
107
140
149
131
107
125
106
142
146
121
118
128
134
135
131
109
126
105
133
131
119
141
120
116
112
121
141
130
114
131
138
141
108
123
133
127
101
113
115
100
129
102
137
138
113
124
131
142
118
105
141
139
138
109
117
114
135
138
101
145
109
114
111
144
142
114
112
134
130
104
109
138
118
125
128
116
107
126
128
106
141
142
147
113
104
122
122
121
106
107
125
143
142
114
112
137
138
143
103
113
110
107
126
117
118
138
130
148
102
118
117
108
145
111
106
135
130
124
107
130
136
140
123
208
171
212
197
205
168
212
157
173
190
134
149
195
216
186
190
182
166
165
178
158
173
177
162
204
130
197
209
160
126
143
200
127
147
120
136
206
141
197
205
213
209
135
209
150
127
211
174
160
195
165
202
173
121
167
125
220
212
163
197
176
166
127
219
153
129
131
152
148
209
220
130
179
133
198
149
213
171
164
206
146
211
158
203
140
202
212
133
141
165
155
124
180
146
138
141
187
213
156
185
179
122
189
207
164
184
202
197
162
175
219
217
193
150
136
157
193
210
194
183
165
160
157
155
168
139
135
144
133
127
126
188
212
138
168
173
169
157
173
159
164
214
173
167
204
191
216
202
165
131
192
193
196
194
143
210
154
202
134
122
175
213
153
168
158
195
135
212
122
128
123
138
137
134
135
133
136
123
140
122
120
149
118
128
140
124
141
150
148
137
107
141
141
134
121
128
113
101
107
117
134
121
114
123
128
133
114
109
108
136
101
140
114
119
104
112
108
119
144
144
104
133
121
144
141
149
150
126
115
120
120
118
135
103
105
111
118
136
136
131
136
114
125
134
106
119
146
119
134
111
130
149
115
110
149
131
102
144
109
143
140
100
136
111
137
100
106
119
140
150
117
113
105
106
108
125
129
121
136
143
133
133
149
102
143
116
107
107
104
138
100
146
115
130
126
107
100
142
112
135
150
111
124
147
126
127
120
126
137
129
140
104
133
138
109
139
110
104
140
123
110
145
142
181
122
174
135
196
127
135
212
182
140
214
179
170
199
143
187
202
134
176
189
155
196
200
125
206
205
217
212
149
179
127
180
174
170
173
160
148
131
135
166
186
129
190
159
202
129
135
174
138
160
202
183
157
205
132
124
195
165
180
161
216
141
137
185
177
130
123
145
133
162
211
148
132
167
129
136
205
155
196
151
133
155
194
139
155
136
163
139
164
173
136
204
163
204
124
183
140
171
122
126
186
167
128
195
161
178
147
202
144
134
141
176
214
197
190
177
131
164
158
168
190
174
125
213
145
170
185
179
139
188
205
207
157
183
220
140
157
194
149
135
105
133
148
133
123
108
150
148
130
141
127
132
105
111
106
126
120
112
134
103
118
143
100
105
132
140
132
146
113
143
140
102
120
113
107
111
137
106
137
134
140
119
131
147
117
105
146
147
100
150
113
134
103
119
101
120
129
116
130
149
119
123
149
100
117
133
102
102
126
104
105
127
116
128
128
101
136
145
104
106
143
126
117
119
145
150
106
107
119
115
102
137
125
113
131
125
110
137
124
110
135
134
142
127
144
104
114
150
131
130
137
119
131
106
105
106
134
109
125
140
145
119
104
137
102
103
150
129
102
144
141
135
119
115
100
134
106
125
118
150
109
120
136
148
103
130
117
108
114
144
122
127
110
138
149
141
139
143
147
127
106
135
216
203
124
161
170
196
149
132
156
122
122
161
189
143
145
220
153
188
125
139
132
141
170
170
205
138
128
134
136
198
148
218
192
161
151
195
142
207
209
211
208
174
151
173
218
127
126
139
184
132
161
200
132
189
215
125
170
179
164
140
169
136
199
160
168
156
159
160
200
145
216
148
145
140
188
199
133
137
122
213
206
178
153
158
144
169
152
133
150
207
164
191
149
158
184
165
175
120
197
184
204
188
164
147
203
179
212
191
159
121
129
168
212
130
165
212
126
144
205
169
139
151
160
140
202
156
173
173
160
169
182
183
201
214
202
194
140
130
165
169
200
190
186
155
141
209
185
122
163
165
216
148
212
124
154
205
214
150
129
218
124
121
126
132
100
143
145
105
122
149
109
111
135
136
149
146
112
141
120
129
141
149
150
102
116
147
103
101
126
150
142
143
111
100
112
136
104
110
107
122
124
133
115
116
117
145
134
100
140
113
111
143
107
135
112
143
150
126
115
132
131
132
101
131
144
129
125
133
111
101
115
141
131
138
142
150
149
107
128
104
142
147
142
137
114
133
142
132
110
122
148
129
101
129
101
145
120
141
133
124
139
149
141
107
132
129
119
147
140
103
108
106
125
111
132
141
102
119
127
145
149
141
142
117
141
104
103
101
109
146
122
113
122
100
122
135
169
192
158
152
148
202
212
195
136
215
150
187
150
190
208
197
214
189
188
128
175
128
186
170
184
159
185
134
152
160
212
190
153
145
163
144
164
151
171
209
196
159
201
190
122
143
160
153
214
126
158
126
140
147
133
204
185
208
215
158
162
190
175
198
178
178
144
140
143
133
164
185
199
164
202
160
168
216
199
127
200
183
213
209
197
159
211
193
147
170
201
127
187
126
165
150
205
164
127
178
194
199
135
141
123
136
154
124
132
166
191
182
207
132
173
146
144
183
145
126
140
142
185
214
130
167
209
207
190
199
206
167
189
157
165
128
174
173
217
172
159
190
144
123
145
115
105
143
147
137
109
111
114
148
132
114
143
114
139
113
101
142
109
143
137
149
118
124
144
145
134
123
121
120
140
137
134
114
100
107
109
107
134
145
149
112
133
119
109
147
133
108
123
121
118
133
143
127
124
100
129
140
138
126
121
121
144
140
105
110
110
100
141
114
125
101
131
150
142
108
118
136
102
109
136
129
101
145
146
148
147
120
108
130
147
102
130
143
133
127
126
132
125
123
142
133
144
126
125
112
102
102
101
135
131
117
125
126
106
124
132
113
137
124
100
107
110
125
110
104
114
106
141
111
120
149
138
114
114
128
121
149
119
110
134
122
141
104
105
125
115
147
119
148
101
108
126
145
134
134
123
121
122
114
108
145
128
124
127
147
117
126
117
107
127
214
172
195
189
120
211
182
122
167
124
142
122
132
130
168
195
133
190
165
140
206
139
165
169
213
170
149
136
172
154
188
131
184
145
121
188
179
163
192
210
179
153
171
136
210
162
148
194
212
124
158
192
155
132
199
178
140
164
204
180
209
144
120
180
182
203
161
195
164
210
124
168
135
132
213
146
195
156
157
212
160
168
143
197
150
159
137
199
219
195
185
139
201
181
199
184
140
122
121
171
206
123
206
144
145
199
155
200
139
168
122
143
167
205
169
200
129
161
157
156
135
137
162
205
195
141
163
149
137
144
128
138
102
120
107
141
122
148
148
142
109
130
102
123
149
140
126
100
122
105
110
106
142
134
126
113
115
144
136
110
127
106
109
105
122
138
149
103
104
141
139
116
141
102
124
109
118
104
106
141
102
148
121
140
131
111
122
106
140
135
119
149
112
137
121
102
148
132
141
119
126
125
131
111
138
101
148
116
125
143
107
133
104
123
148
148
138
146
111
149
145
131
137
126
123
108
127
103
148
145
131
114
134
112
135
142
124
128
108
141
124
150
133
110
144
100
124
100
108
101
111
113
136
140
148
139
125
102
124
101
131
113
126
135
104
108
149
111
117
119
124
142
107
134
101
113
112
109
142
123
108
133
162
171
152
194
213
202
210
127
140
191
203
195
185
129
204
123
173
129
219
173
168
171
184
216
181
148
193
167
141
205
185
168
206
166
195
141
216
180
159
211
167
220
145
127
208
144
137
169
144
212
210
220
213
166
174
184
147
208
139
186
199
160
177
135
153
177
140
179
160
145
206
193
172
129
213
152
216
183
124
154
121
176
184
174
201
155
195
218
184
186
200
174
217
209
177
207
189
207
198
140
165
195
155
188
210
170
142
189
174
124
162
183
155
198
172
194
155
167
129
196
170
161
170
201
159
133
178
166
137
159
141
184
151
146
132
120
129
113
126
119
132
146
136
106
113
138
100
104
110
112
106
106
129
101
120
101
108
125
103
144
136
101
115
137
140
100
131
120
132
136
124
119
146
124
103
111
146
135
110
120
128
142
127
124
141
129
128
121
126
115
119
149
112
118
126
139
129
142
105
135
116
135
113
118
107
111
144
121
131
124
138
145
106
109
148
138
115
112
106
137
136
141
123
108
136
103
119
144
106
119
137
131
111
101
114
128
111
137
108
131
130
119
109
134
109
107
144
105
139
140
130
113
105
120
107
103
110
114
105
113
123
104
117
139
150
109
113
134
111
122
150
135
127
138
133
117
114
127
150
145
130
138
107
149
109
134
169
203
129
172
213
196
216
147
139
130
128
194
163
169
126
155
181
124
213
152
142
129
217
201
169
185
149
196
200
139
173
219
134
174
213
172
128
172
201
126
214
178
125
175
197
180
181
204
132
163
192
166
212
132
165
126
186
144
159
147
178
158
192
150
136
178
130
152
194
220
168
152
125
156
149
164
158
141
130
178
192
170
136
146
165
171
144
218
128
196
205
168
121
138
138
128
136
170
151
159
146
156
150
213
208
168
205
129
215
122
134
187
214
190
144
129
207
175
170
155
220
202
178
200
141
198
161
104
145
147
145
127
103
140
133
134
132
139
101
134
128
106
146
131
110
134
105
112
132
125
141
145
130
129
148
143
128
124
128
135
129
116
146
117
106
125
126
111
113
142
121
107
104
116
136
100
103
102
128
136
127
109
133
142
110
127
110
123
124
142
123
117
138
134
104
128
145
131
123
126
132
111
140
123
143
131
147
107
142
133
143
136
139
136
133
139
118
133
112
128
147
145
122
138
122
143
103
135
137
129
148
104
111
130
135
143
104
146
104
145
101
110
147
144
139
128
149
145
126
120
102
110
132
124
110
145
147
119
121
145
104
141
135
119
109
127
106
109
134
125
108
137
143
145
108
119
107
123
137
101
104
127
109
126
121
110
107
112
115
127
211
150
121
214
212
146
180
163
176
195
196
158
121
166
215
159
122
165
214
182
211
152
190
215
207
131
125
135
212
180
123
162
187
159
217
199
167
164
195
195
144
160
204
213
156
171
136
171
146
153
174
220
129
190
150
173
210
171
200
204
131
163
147
136
180
133
155
127
152
186
171
159
120
191
165
211
150
154
208
199
139
206
164
178
161
185
217
196
148
132
130
190
151
215
168
171
149
120
173
216
162
205
153
180
164
149
201
173
192
120
123
160
121
186
189
180
207
125
184
164
144
197
204
213
178
126
200
137
144
154
175
167
137
171
145
200
197
154
210
171
146
124
209
173
213
132
168
121
178
114
133
106
108
133
102
103
150
139
110
129
114
125
141
122
124
125
148
113
121
103
141
148
104
120
134
150
121
125
131
115
110
147
114
136
128
110
137
135
137
125
101
108
126
125
114
136
112
149
127
118
109
129
105
141
138
132
102
117
105
103
124
122
122
114
109
113
133
104
146
100
102
128
126
102
106
148
133
144
150
133
100
117
102
112
119
132
147
142
142
144
134
113
114
108
139
106
112
112
101
109
129
122
133
141
123
124
122
145
123
101
147
107
100
133
146
109
109
149
118
139
147
148
137
105
118
131
131
119
127
139
139
122
138
111
127
114
105
119
134
128
115
135
120
148
190
195
199
145
145
128
219
187
200
138
208
182
132
169
157
125
219
198
124
128
196
129
218
163
179
209
213
162
170
151
204
163
205
142
218
214
130
202
135
188
149
185
208
156
207
155
132
164
186
197
205
138
121
185
129
206
214
139
214
152
214
159
161
188
142
135
140
168
181
190
152
183
153
213
208
185
181
128
134
151
145
209
148
132
206
140
133
121
176
126
154
177
207
194
140
171
137
216
121
128
176
220
193
179
156
142
212
151
181
145
122
210
151
130
174
215
160
131
159
133
122
198
219
134
138
139
144
140
169
191
195
209
192
149
145
197
183
201
202
127
146
190
152
171
199
214
188
148
122
132
114
135
108
107
139
122
144
132
111
100
103
112
119
113
127
107
130
109
111
108
121
108
100
102
101
114
103
149
125
118
110
103
123
113
114
110
140
127
134
131
128
124
139
150
101
136
139
142
107
141
102
123
147
113
139
113
144
149
148
104
122
106
101
119
113
105
136
132
149
128
110
102
139
147
109
129
104
106
145
101
111
127
104
111
103
149
115
139
133
113
139
101
145
140
116
135
118
105
148
135
121
128
146
128
113
112
103
148
110
114
101
118
143
136
126
128
137
129
141
149
121
109
115
148
133
120
124
139
123
126
126
104
144
150
142
101
109
122
140
115
141
117
144
203
138
190
126
160
142
131
210
143
189
144
123
212
211
192
136
189
164
192
142
167
150
123
188
192
129
131
134
199
195
176
172
207
125
183
182
154
170
205
209
156
187
123
138
127
163
173
143
131
181
124
166
178
121
147
180
152
212
148
190
156
124
133
182
220
130
174
220
165
200
143
218
217
147
125
194
141
148
185
156
203
156
212
199
139
127
173
128
172
219
205
155
142
165
186
211
129
127
208
207
202
131
203
197
213
147
208
132
220
126
157
190
160
156
138
162
120
131
131
175
194
146
192
172
200
169
210
212
220
183
155
122
191
140
186
164
211
163
196
211
155
207
178
152
155
217
192
153
140
210
183
170
216
130
153
210
186
183
141
118
103
116
132
138
130
146
109
119
113
112
103
121
146
144
115
143
110
144
109
144
104
106
115
116
109
114
146
118
103
135
149
122
109
128
115
128
116
107
120
145
132
118
106
116
119
132
146
103
131
119
137
106
122
148
103
105
133
130
140
120
122
116
128
130
137
129
118
136
119
126
112
110
102
116
136
143
120
145
117
147
125
141
120
110
149
134
115
134
131
112
145
140
135
116
124
119
111
134
133
112
103
114
126
104
121
125
130
106
119
123
144
110
121
121
144
132
112
146
113
108
125
136
134
145
120
127
133
125
136
130
123
139
111
138
104
126
111
127
144
149
102
114
125
126
146
212
214
133
161
211
174
141
147
204
196
150
139
160
153
199
204
125
131
142
205
203
181
139
213
157
220
128
217
156
165
205
156
153
196
145
171
210
210
219
127
202
165
200
139
172
166
160
220
146
164
194
165
210
163
129
194
149
159
218
195
211
151
143
199
175
136
161
171
220
178
132
148
184
128
190
141
144
204
180
153
201
151
212
217
168
154
122
160
153
139
184
218
207
148
213
194
151
207
172
144
200
133
170
126
218
171
160
181
176
120
143
217
151
208
220
194
215
190
198
149
189
168
200
130
143
132
136
154
167
183
190
185
165
209
215
200
118
138
135
108
118
103
144
118
146
104
147
108
104
102
139
101
140
150
103
139
110
102
108
111
142
146
114
141
127
133
117
132
109
148
131
138
134
117
144
133
120
145
102
146
117
143
125
150
133
119
142
116
128
137
149
111
114
111
128
144
106
148
122
129
100
116
123
101
136
110
122
122
143
119
107
146
139
120
145
113
105
130
122
100
110
147
121
148
116
141
135
130
145
145
100
106
139
108
121
142
108
147
125
141
112
112
135
133
145
143
132
137
130
101
103
124
118
149
101
120
122
126
143
135
125
117
129
150
144
148
122
109
115
143
150
135
103
116
147
121
146
140
182
207
155
187
218
123
165
160
170
177
164
146
181
165
150
146
177
202
130
127
199
146
220
199
184
208
185
159
122
174
203
217
178
130
201
216
172
180
155
140
142
124
198
130
143
140
124
219
133
204
142
144
213
177
168
182
143
170
172
195
204
144
143
205
127
169
172
191
127
136
181
141
165
188
140
206
200
167
126
206
154
213
163
180
215
138
161
125
185
179
209
167
145
168
219
136
196
196
166
146
168
151
166
197
185
156
194
200
167
144
170
186
189
167
140
181
145
176
206
170
172
164
191
121
145
209
206
191
175
170
185
213
205
199
203
171
198
139
150
209
176
158
167
141
156
138
157
134
153
174
216
175
174
174
130
176
202
150
213
206
121
140
126
141
187
204
126
124
176
108
133
142
113
118
101
120
145
146
145
148
137
109
112
107
109
123
138
102
117
111
102
104
103
100
120
110
104
131
104
124
119
143
113
144
113
141
115
104
143
136
107
115
147
125
101
141
136
135
123
132
150
134
120
134
143
146
117
119
100
131
148
122
120
111
107
113
119
138
131
124
121
107
115
136
108
133
132
100
133
112
113
123
104
127
100
100
103
111
148
145
111
149
102
115
139
143
131
147
135
145
145
134
150
108
123
148
142
124
102
148
145
127
129
111
104
102
139
139
111
138
108
115
124
128
115
127
136
130
101
104
119
149
144
116
139
114
108
125
115
107
108
124
143
142
119
131
149
105
114
115
148
121
120
121
112
142
135
120
126
130
101
116
131
140
142
148
105
144
207
137
160
206
152
161
133
135
139
191
138
191
169
188
130
206
126
137
154
186
173
179
218
123
149
138
124
214
207
196
154
149
159
219
154
120
202
151
142
135
182
213
217
126
216
169
142
186
129
139
139
176
153
130
207
150
209
210
155
189
206
132
190
219
128
175
159
182
142
136
168
143
138
198
206
138
202
166
124
131
174
180
164
121
128
173
192
147
157
141
203
193
151
145
217
141
137
202
209
154
158
144
129
146
203
167
139
120
197
173
121
209
183
157
138
211
140
147
202
216
137
208
217
202
141
133
122
210
146
174
121
186
183
195
197
148
199
146
180
188
174
151
180
134
193
203
100
126
126
138
102
142
110
113
133
132
107
111
145
112
126
109
110
117
125
140
108
130
127
147
125
148
105
144
134
141
127
141
137
123
150
110
124
105
107
101
130
117
137
123
129
141
137
123
135
138
102
150
127
140
134
138
136
123
108
145
140
137
134
146
111
136
140
109
107
108
105
149
126
108
102
138
145
131
128
129
133
108
132
137
131
129
127
112
118
125
125
121
130
106
129
114
139
150
108
140
125
143
139
135
126
119
115
132
144
138
134
105
101
121
146
121
138
103
140
119
125
126
123
147
140
136
130
109
111
106
139
148
139
149
137
103
140
116
150
212
127
193
128
125
135
162
190
122
216
173
149
131
156
180
138
140
147
153
197
160
156
174
141
204
159
143
211
196
218
173
161
192
127
141
217
139
212
128
179
169
202
212
211
211
156
207
182
155
130
212
164
215
194
212
147
201
130
145
198
122
162
125
205
121
220
216
172
159
141
193
196
141
214
138
184
121
187
175
154
191
139
203
123
121
149
216
129
205
142
135
197
157
201
160
189
144
152
204
217
177
147
138
216
176
201
167
198
200
220
219
204
204
146
211
206
171
207
168
177
193
160
135
205
130
219
180
177
201
173
190
194
143
132
126
154
124
171
166
123
137
166
192
154
193
163
191
157
175
171
181
176
159
163
189
189
196
140
124
148
140
129
107
108
113
130
119
111
111
141
117
112
126
107
128
131
146
108
142
140
148
137
147
106
150
131
101
119
117
145
135
124
136
116
127
104
134
102
149
117
144
100
139
137
141
117
128
124
147
102
137
127
127
149
102
100
125
100
127
120
141
100
149
138
106
145
121
117
141
131
101
145
144
143
149
108
146
144
139
108
144
107
105
146
117
113
142
137
108
121
110
149
114
126
113
107
134
131
126
124
149
105
140
127
102
109
114
142
103
109
139
114
137
119
136
129
138
104
105
110
128
128
135
121
120
102
112
120
122
126
114
121
119
148
144
142
118
107
111
120
101
122
150
137
115
164
172
172
200
173
165
128
166
191
175
174
145
199
126
150
187
211
194
207
160
174
145
182
190
152
168
182
136
199
180
146
180
180
213
140
133
143
124
141
188
161
142
174
138
198
213
145
177
152
123
145
157
188
198
219
147
180
162
145
164
196
148
183
172
208
156
162
165
193
164
185
205
204
125
151
180
178
126
152
131
193
135
179
164
198
150
132
144
191
206
218
134
181
142
152
134
149
187
122
218
123
183
173
162
159
171
212
157
122
144
181
212
200
173
193
128
212
121
171
120
126
211
121
143
171
152
168
163
169
199
136
195
136
159
127
212
133
194
127
186
154
168
187
154
215
220
127
138
158
218
121
142
142
203
167
178
159
135
192
134
212
152
181
196
213
128
121
148
116
136
133
147
144
132
110
149
132
109
138
135
146
150
121
106
104
111
119
104
139
119
118
113
145
137
104
138
109
106
149
136
149
136
109
146
118
128
130
102
147
113
137
118
122
132
140
123
144
123
148
134
139
107
144
107
136
137
124
117
139
101
146
103
126
102
141
117
142
139
132
143
127
139
148
101
138
106
113
114
115
100
109
129
134
133
103
117
111
143
122
120
127
135
127
147
129
109
130
110
120
116
131
107
120
144
115
130
140
127
126
126
127
100
150
110
126
141
109
119
104
136
130
113
128
128
121
141
141
108
148
128
133
114
119
114
124
108
109
144
148
143
118
110
128
128
216
204
178
192
134
214
162
183
162
185
202
175
161
219
197
216
193
125
207
121
182
199
173
174
131
192
134
186
189
197
159
180
152
135
220
162
207
201
220
206
157
218
163
159
192
172
152
183
180
190
153
165
208
130
138
178
181
122
189
172
144
159
188
176
123
157
197
200
208
199
186
152
155
145
212
210
156
202
157
134
173
172
162
196
185
198
217
144
172
198
163
135
132
155
127
148
218
198
179
193
220
124
156
165
137
137
209
155
143
152
132
182
123
163
135
124
157
200
176
209
123
126
155
190
143
217
123
183
153
212
122
123
202
160
120
125
154
185
121
149
207
164
190
133
191
146
121
172
141
191
136
220
180
201
206
147
164
130
137
147
195
180
167
187
151
154
188
149
167
159
124
165
141
130
141
108
141
131
122
145
127
128
138
135
105
148
140
149
140
146
125
104
133
128
122
132
131
135
142
149
113
137
132
129
102
140
142
149
118
107
109
116
115
137
102
127
116
124
146
150
106
148
123
124
119
144
106
128
101
136
121
106
133
101
120
107
143
124
123
125
137
115
125
126
105
118
124
119
143
132
122
133
110
126
129
122
143
143
107
145
100
101
127
117
111
126
140
126
126
127
115
133
110
127
125
118
149
129
108
125
139
116
135
111
104
120
134
108
131
127
138
100
102
104
109
106
134
111
103
130
133
128
147
115
105
129
121
149
128
111
120
146
116
144
140
120
105
149
121
100
113
105
125
118
113
150
106
124
112
140
123
117
134
191
143
203
184
124
184
197
135
179
125
148
175
206
131
141
156
159
137
209
220
198
153
123
172
200
190
125
157
212
135
189
161
156
132
204
151
205
134
207
154
218
196
195
175
153
135
179
199
146
194
188
124
142
181
194
192
200
129
174
141
170
131
214
187
144
180
174
201
190
153
135
208
182
178
176
150
217
180
187
155
168
207
193
178
181
143
192
149
201
153
179
155
209
155
219
192
123
132
210
154
214
142
165
125
137
135
138
148
192
173
185
164
169
216
203
152
156
190
149
175
126
208
161
136
215
136
133
205
120
181
204
186
169
219
174
143
203
146
125
135
212
182
127
173
195
210
130
199
170
160
162
202
154
135
213
202
178
127
125
125
201
156
189
136
121
214
197
217
162
191
135
166
149
166
197
145
118
104
139
120
117
102
143
145
124
144
119
126
121
124
136
123
133
109
125
129
105
138
148
145
112
108
102
122
139
144
107
123
101
111
119
136
124
108
141
120
116
105
117
126
105
150
145
146
143
140
136
139
143
148
109
111
138
124
140
140
148
129
118
126
117
119
138
139
126
126
122
112
121
114
114
124
110
117
124
125
122
112
108
115
107
107
118
100
125
122
135
100
140
112
139
134
146
100
104
100
134
114
108
103
125
104
123
107
105
146
137
111
130
127
113
125
130
120
150
100
100
121
137
134
117
119
103
113
116
120
147
145
127
118
137
103
100
131
112
138
109
102
142
119
113
104
101
109
146
172
207
181
161
171
144
195
188
198
219
146
147
136
145
210
166
205
153
127
182
126
141
215
143
140
148
183
196
145
210
128
157
131
158
191
156
159
211
172
154
166
202
129
154
187
186
212
138
184
190
205
213
162
146
141
160
177
154
148
219
151
165
156
217
151
206
185
161
219
126
163
168
207
208
220
189
209
171
209
204
134
132
210
191
132
154
198
214
191
159
195
169
147
152
176
134
158
155
187
208
219
141
197
152
142
121
178
195
136
168
170
196
185
126
150
151
184
149
190
135
196
143
123
213
201
158
148
123
167
154
140
161
132
208
129
124
169
173
186
184
214
206
161
141
131
191
136
179
189
198
159
162
133
127
147
127
125
126
113
107
121
139
138
121
150
129
115
105
137
125
134
149
133
143
135
125
108
111
129
149
110
138
136
117
111
108
145
110
129
147
121
124
110
140
102
100
131
128
125
127
101
117
137
111
138
109
134
112
128
148
149
120
136
107
144
143
137
107
145
150
135
111
143
135
135
124
135
129
138
138
114
116
147
120
116
136
117
142
106
114
110
136
111
140
132
144
105
104
117
124
120
133
118
121
146
133
127
146
138
124
141
111
122
131
133
117
134
123
111
140
137
135
121
138
113
126
117
123
115
125
122
145
107
102
128
118
115
121
117
122
141
136
119
118
124
102
147
119
150
146
103
149
136
121
110
136
116
147
113
143
117
101
145
114
108
104
134
108
112
125
106
150
101
120
101
122
147
216
200
126
191
180
219
155
176
182
194
122
162
193
172
125
131
209
156
145
194
139
148
150
171
139
187
206
195
162
173
128
125
187
190
197
189
161
187
198
167
195
176
144
133
201
120
188
167
194
176
214
212
182
166
165
141
128
177
151
185
130
212
212
152
152
163
148
212
217
181
139
133
149
146
195
192
164
193
130
206
161
183
133
201
141
155
193
130
134
170
142
149
220
216
135
178
131
184
120
174
137
148
190
211
166
125
139
132
185
171
125
135
191
176
135
206
171
201
137
211
166
192
137
202
137
140
168
203
189
142
171
130
155
166
137
135
206
184
165
142
197
192
121
200
179
190
116
109
121
142
124
127
142
149
136
112
119
135
138
141
116
124
101
119
137
116
145
130
141
103
118
121
112
114
109
133
146
120
129
146
132
112
126
127
112
111
149
130
135
142
129
133
150
134
104
105
137
135
112
140
106
139
128
107
131
133
105
111
114
122
114
130
122
105
109
142
145
107
140
106
118
130
106
105
118
147
148
130
143
141
105
131
142
138
144
125
104
119
137
134
141
147
113
132
111
134
127
139
129
144
108
134
110
140
137
102
102
116
127
104
110
143
115
141
132
104
144
133
143
138
148
115
150
199
163
127
203
122
159
190
133
129
126
183
168
163
208
131
141
126
208
207
162
194
120
154
139
163
163
162
186
127
130
127
199
136
139
187
195
120
207
182
139
210
141
120
144
136
132
190
195
174
207
212
168
183
159
165
153
156
191
125
218
212
127
199
197
188
150
163
217
151
203
132
195
217
164
123
199
158
155
214
183
126
166
128
198
192
198
125
123
195
178
182
218
126
182
134
201
165
212
135
180
147
215
139
182
190
140
188
165
152
128
181
166
208
194
126
214
124
187
149
145
145
172
202
187
138
147
143
219
188
181
122
204
204
124
146
130
144
181
184
171
137
211
158
161
143
198
157
160
199
124
113
122
100
127
139
124
130
148
118
127
126
125
115
144
137
116
120
111
123
120
125
101
133
145
137
100
110
104
140
109
130
113
142
114
137
132
115
117
130
125
145
138
109
136
136
100
112
142
134
113
132
109
126
122
111
135
138
142
146
103
120
107
112
137
144
112
121
113
147
144
103
126
111
119
133
118
115
129
142
131
122
139
114
120
132
119
116
118
115
113
109
148
108
110
137
121
124
126
144
110
132
107
138
125
142
117
118
122
106
150
102
100
126
108
101
150
101
122
108
131
146
135
110
106
135
119
127
141
133
143
133
115
104
119
105
108
138
149
133
111
137
110
143
111
114
111
191
146
179
196
219
183
202
130
169
214
188
141
213
128
175
181
191
120
153
142
148
179
159
180
183
174
127
122
171
123
178
121
130
159
146
123
145
148
220
148
210
208
133
168
156
180
201
162
172
125
197
169
203
151
220
198
197
148
168
195
178
185
124
149
138
126
155
204
183
137
188
202
194
132
163
218
142
149
169
137
216
178
182
143
157
217
219
140
123
176
133
170
152
141
137
176
143
215
140
211
206
140
155
218
206
135
122
211
123
185
193
211
192
141
169
134
136
184
148
129
170
199
177
131
178
213
172
191
209
128
176
124
173
130
168
132
127
132
183
190
177
187
198
162
189
200
136
167
165
153
220
217
132
156
212
151
198
145
215
202
125
204
210
126
200
145
150
109
135
138
150
139
145
121
123
111
116
124
111
117
140
129
119
148
149
101
114
140
126
102
132
126
101
126
145
135
115
113
130
102
135
105
137
146
120
115
118
133
113
123
141
129
143
138
119
104
111
133
126
113
139
104
103
118
133
127
116
136
117
141
136
131
131
137
100
110
109
108
105
125
121
113
132
124
108
114
147
116
139
110
147
115
127
129
102
141
117
102
142
126
129
120
112
115
129
150
137
111
120
144
113
135
139
144
128
119
126
139
142
120
133
118
102
126
129
113
125
119
118
133
123
147
103
123
118
148
112
102
111
127
137
130
111
106
144
111
136
108
117
147
123
108
144
131
130
148
120
119
135
105
144
123
141
102
144
146
113
135
137
141
107
127
124
130
150
184
128
173
193
219
174
192
149
219
135
220
142
180
209
217
151
213
174
162
170
168
197
157
191
137
120
218
148
178
136
183
154
202
187
191
170
153
197
199
200
214
172
156
141
216
209
204
147
162
172
180
138
165
140
203
129
220
130
146
182
202
160
124
213
141
180
140
155
176
136
156
159
183
157
142
126
209
181
152
168
212
193
146
129
169
213
131
120
121
168
180
156
167
147
147
138
173
201
216
175
196
172
121
185
199
172
163
127
121
213
143
167
124
172
175
148
173
160
200
153
179
133
133
185
158
199
140
125
213
197
167
150
143
205
124
172
209
149
141
193
213
199
166
218
210
143
130
189
149
139
126
153
122
177
201
158
126
157
148
181
157
180
207
185
181
135
146
155
161
132
145
135
100
132
122
115
104
124
143
122
150
128
133
103
136
110
129
115
142
100
122
150
113
121
139
137
125
138
131
129
100
124
101
110
107
104
111
115
145
138
117
137
131
130
133
106
123
130
128
119
105
115
116
121
112
108
116
118
137
136
121
149
120
147
101
124
119
149
117
114
119
104
141
148
136
114
128
131
140
109
140
109
139
131
137
100
120
141
140
139
111
127
136
140
147
104
119
118
141
129
119
112
131
117
116
120
116
128
145
101
140
106
141
120
121
113
141
105
101
118
139
118
133
126
110
100
111
134
123
141
142
127
129
117
145
140
140
147
147
102
138
219
182
214
153
167
123
149
170
201
145
183
150
138
198
216
206
125
138
200
193
144
145
197
147
217
138
130
123
122
219
168
178
182
193
198
151
126
210
185
155
140
161
152
158
166
200
148
164
189
130
123
169
203
185
128
216
209
174
123
204
199
210
146
197
132
143
154
202
203
176
177
182
125
206
213
120
139
184
162
172
163
162
134
203
191
123
130
158
149
209
217
165
168
219
204
141
166
218
142
181
190
140
192
187
122
202
184
148
167
169
123
212
194
151
184
181
189
216
134
132
142
138
166
205
130
220
164
125
199
198
141
134
153
168
176
217
166
166
128
210
152
205
206
120
153
144
152
140
136
205
100
116
116
111
100
104
140
123
140
118
113
127
136
105
130
106
107
138
142
131
104
105
145
102
128
139
142
137
104
120
123
134
106
111
109
106
107
111
112
135
135
111
101
141
127
123
139
150
137
125
135
129
107
108
105
128
110
118
138
124
136
145
123
149
100
113
106
113
133
129
148
114
140
144
123
124
130
110
125
107
145
127
143
100
112
136
140
121
134
131
101
125
110
148
100
132
104
116
132
118
116
148
112
142
113
140
135
147
104
139
112
144
149
126
140
135
102
103
139
145
121
107
148
121
150
148
136
138
118
138
125
146
176
197
153
212
216
168
164
151
207
191
133
220
139
139
140
165
151
201
140
158
158
174
206
182
208
174
177
171
136
168
129
121
138
153
217
141
213
194
143
138
164
207
212
214
124
213
193
213
182
179
137
190
220
177
140
188
129
184
195
190
176
150
169
190
204
174
149
203
139
209
204
161
133
192
192
184
172
188
219
211
216
207
142
121
219
133
124
214
157
207
140
164
172
137
160
195
202
186
203
168
132
158
154
169
202
219
154
137
179
172
213
169
211
172
141
216
177
161
213
166
181
134
200
167
189
216
135
178
133
150
145
178
164
195
213
181
144
127
144
149
116
141
121
126
139
103
131
147
106
128
108
103
145
111
102
120
119
112
144
135
110
107
129
133
109
102
146
149
143
148
106
101
104
123
126
140
108
110
149
145
118
141
109
129
108
138
146
117
144
102
116
128
119
133
110
135
127
145
117
101
104
114
132
106
118
147
106
124
121
148
148
111
103
115
129
113
147
130
121
123
105
137
112
113
109
112
127
125
115
108
105
138
121
148
148
101
115
127
116
124
110
121
119
135
123
126
132
114
105
107
121
138
116
140
142
101
132
149
131
148
144
131
120
108
124
122
146
135
137
145
114
119
140
113
119
118
133
104
120
102
130
132
142
143
107
123
135
144
105
108
123
106
104
107
129
131
138
136
133
191
134
206
188
120
188
163
213
134
172
125
182
218
145
129
135
135
168
136
156
158
203
204
140
199
208
145
134
210
167
135
139
204
162
164
165
127
197
146
150
157
217
171
135
185
147
145
123
205
142
157
190
146
150
199
219
184
159
164
128
203
197
130
127
151
185
148
137
150
183
176
128
197
162
184
138
159
218
217
220
203
156
179
164
156
191
215
159
172
177
134
129
122
207
180
194
208
143
124
130
138
200
135
176
121
123
166
199
181
184
185
148
191
186
168
131
139
210
144
216
196
210
189
123
203
215
218
202
166
141
170
127
143
186
159
209
173
206
196
164
211
203
132
190
137
154
153
126
205
213
192
220
188
212
145
156
134
177
157
158
125
131
191
196
197
124
180
197
178
186
149
210
219
103
141
137
108
109
148
120
117
121
141
132
125
119
145
150
103
105
119
102
108
146
141
114
102
114
149
113
109
109
112
116
137
115
100
105
120
118
132
110
144
140
116
130
117
121
112
149
149
136
136
120
101
130
107
130
135
129
146
123
138
125
101
138
146
113
113
138
145
144
135
130
105
144
105
107
129
131
132
130
106
104
146
108
109
102
102
109
123
114
117
136
150
116
127
146
113
135
123
122
102
148
126
150
136
144
111
140
147
135
110
139
121
113
114
115
118
136
101
119
148
138
101
148
142
103
108
117
139
130
144
119
117
139
147
116
137
101
120
150
138
149
149
102
202
122
153
207
212
215
148
168
206
186
154
183
168
145
169
123
164
131
145
182
213
182
166
171
141
157
125
180
206
156
122
201
148
176
168
122
125
121
185
151
192
172
121
189
204
212
182
147
140
219
185
190
216
166
160
149
122
143
180
145
161
122
138
149
219
164
202
186
120
147
138
205
215
194
196
213
177
145
148
149
188
166
218
143
155
144
172
157
127
217
153
171
137
134
144
176
185
139
212
140
210
152
217
159
152
201
178
158
209
164
217
196
203
151
220
143
195
206
148
214
168
159
144
149
153
160
157
134
177
136
129
130
147
182
195
131
125
121
164
154
107
147
103
114
112
134
122
110
102
132
143
113
142
133
110
126
105
116
147
136
111
110
123
115
127
112
145
125
109
117
113
105
100
104
113
139
128
101
105
112
135
110
108
116
118
136
138
109
114
144
130
109
132
146
101
145
129
149
123
100
114
115
139
117
101
120
104
100
119
132
129
125
124
147
107
110
146
101
104
120
130
106
125
120
133
141
129
139
148
131
121
118
115
129
113
143
117
138
121
127
117
145
126
115
108
103
113
111
111
134
138
142
148
112
138
119
131
111
119
144
146
101
102
114
147
125
105
113
122
123
130
145
100
111
100
105
150
100
118
136
112
107
108
109
109
123
145
148
126
135
125
125
101
126
107
140
134
139
139
132
117
123
138
114
135
171
199
127
136
154
128
130
197
170
192
187
138
208
216
205
153
143
201
124
136
180
215
190
143
175
129
193
200
139
141
216
206
178
170
193
205
167
142
189
126
193
122
120
122
217
183
168
161
159
144
164
185
150
128
147
146
158
148
199
183
126
220
166
213
179
126
138
198
130
135
199
207
132
146
207
126
132
135
134
199
160
167
158
188
169
145
213
209
135
182
178
200
167
180
166
175
189
202
161
140
122
141
124
168
144
201
134
212
196
207
135
218
134
173
142
186
172
144
142
131
201
186
122
163
126
163
199
103
139
134
100
106
117
135
113
117
142
122
104
124
126
106
150
115
147
121
105
121
128
121
140
149
130
109
106
114
111
116
140
101
128
127
125
105
112
134
125
139
132
114
123
135
138
106
142
137
147
132
105
107
127
132
115
136
127
104
112
143
130
119
144
129
133
147
139
120
123
150
110
140
138
115
136
111
116
126
132
108
149
132
142
120
142
123
103
101
119
129
149
120
145
108
111
116
133
131
134
150
134
106
120
148
135
121
140
105
127
104
131
106
118
126
120
121
139
132
142
104
111
146
119
146
138
112
140
118
107
159
155
128
203
122
174
160
165
122
175
136
126
178
195
173
208
157
176
185
206
198
181
187
163
164
211
181
162
209
139
206
174
206
134
158
209
209
155
173
210
167
126
139
147
184
215
168
136
164
132
125
176
214
148
196
179
154
147
163
133
194
193
196
120
154
142
174
129
215
163
153
193
168
196
168
182
145
203
209
154
158
138
162
193
184
144
154
169
177
207
205
147
207
144
184
144
137
171
174
134
184
157
202
133
176
154
161
209
131
132
216
155
216
208
177
138
204
220
210
171
161
183
157
218
189
143
150
164
168
194
198
127
140
150
143
105
144
105
117
145
101
106
123
140
125
145
149
149
126
131
116
103
126
150
149
148
123
114
121
120
134
132
111
110
149
105
146
133
150
101
120
148
113
122
118
142
137
125
143
149
142
103
124
124
106
147
104
126
121
130
145
107
150
101
119
121
106
142
128
142
139
103
103
139
144
104
111
107
105
149
143
139
133
120
147
134
140
128
126
139
148
107
138
124
125
108
141
103
141
112
115
116
129
139
108
118
121
125
118
111
147
104
116
116
137
127
132
149
114
145
136
128
141
110
111
113
131
103
147
146
142
117
112
108
130
115
146
104
132
104
139
131
118
124
108
112
101
146
150
131
122
200
209
198
203
146
169
188
162
213
205
212
184
168
215
203
215
174
162
122
134
186
207
147
143
183
148
132
213
194
206
210
167
137
153
150
178
203
202
144
184
201
198
182
178
121
196
152
167
161
196
131
205
186
214
122
191
124
181
194
173
213
219
122
164
163
182
158
162
185
122
202
131
147
135
136
206
170
217
191
133
170
120
167
179
198
144
136
138
205
212
170
126
199
180
175
216
170
143
216
187
167
132
192
153
129
147
195
182
201
136
202
152
204
209
144
178
180
140
195
127
218
124
199
131
158
194
195
170
146
192
176
167
126
213
175
154
182
219
177
160
173
175
197
175
203
122
109
122
143
102
150
138
109
111
146
135
141
124
148
102
143
146
105
103
139
114
142
148
116
130
115
140
100
121
102
133
142
108
144
145
104
107
144
111
112
150
121
138
130
113
105
124
108
130
104
144
113
125
117
101
147
107
107
129
146
103
148
122
120
105
133
123
117
123
136
126
135
132
148
140
118
136
144
119
140
120
121
125
127
122
138
139
123
148
147
105
124
143
127
146
129
127
116
138
122
128
126
121
144
128
138
145
126
110
113
130
104
122
112
148
103
148
134
103
138
121
131
106
100
109
134
130
140
120
148
123
144
122
146
120
131
101
111
104
103
132
116
139
136
100
119
129
142
134
129
112
101
111
104
120
100
143
148
142
111
193
195
181
121
191
137
154
150
146
207
200
218
174
120
215
172
172
170
199
131
212
138
217
123
192
159
150
171
129
140
207
154
212
153
200
173
197
208
203
122
200
167
122
192
126
177
187
208
120
132
200
181
192
135
120
163
161
212
168
219
142
201
197
145
174
198
166
128
187
199
143
177
150
161
188
121
125
171
158
133
134
176
135
180
218
169
213
204
184
158
168
136
137
174
162
168
122
160
179
161
129
121
195
210
172
175
131
191
207
188
190
167
190
132
139
195
165
219
135
125
127
151
153
192
184
129
129
140
152
127
212
147
126
125
137
137
111
125
135
129
108
124
137
130
105
114
143
119
106
143
107
147
118
149
118
109
108
112
112
112
113
141
139
141
110
141
134
129
120
122
114
120
133
127
124
124
144
110
134
121
128
101
100
129
115
103
149
138
135
147
117
100
102
114
108
132
141
112
129
110
127
126
132
116
148
149
132
111
141
114
120
117
124
132
112
130
146
107
120
149
128
116
111
135
124
116
110
149
123
142
134
144
106
114
135
104
120
115
148
127
116
141
133
113
138
140
137
108
148
144
105
107
105
117
137
124
123
148
150
138
122
115
120
136
134
129
124
102
147
142
100
150
108
135
117
107
117
135
101
147
129
105
127
149
110
190
204
173
154
198
125
124
153
183
158
120
220
190
122
201
143
195
178
207
170
182
162
132
186
209
188
155
149
123
217
171
194
160
218
159
184
177
197
121
129
217
127
186
153
133
178
174
198
178
146
155
131
191
197
209
156
216
146
158
202
216
131
210
164
154
127
191
190
206
196
141
143
143
123
143
176
135
189
137
220
185
185
145
178
184
200
165
144
136
219
172
193
147
134
151
128
158
172
173
169
132
190
204
217
150
125
205
186
199
170
122
121
197
142
179
189
140
120
217
125
155
121
187
120
202
120
138
167
208
123
132
164
170
120
150
140
112
111
125
140
126
147
108
118
142
122
127
110
115
126
120
133
117
101
149
135
107
137
106
120
122
138
149
107
131
102
148
148
132
103
122
144
128
120
113
118
109
124
120
126
140
136
113
147
126
127
120
119
112
140
128
140
124
110
124
110
119
117
120
108
135
106
139
124
124
109
106
122
130
132
115
150
114
110
101
122
124
117
119
128
126
129
145
132
125
118
101
145
119
103
115
110
103
134
125
122
111
149
129
114
127
103
114
102
112
142
141
140
137
126
106
142
137
114
102
102
105
104
113
143
135
196
195
191
182
168
193
218
183
131
179
203
161
220
123
134
208
161
195
140
200
190
161
220
208
156
166
140
184
157
214
197
160
178
139
124
125
204
208
152
138
198
215
215
193
138
153
180
174
205
120
146
160
142
214
124
209
180
215
183
196
135
147
164
131
139
143
207
140
177
177
157
182
186
214
215
179
165
215
184
134
143
220
157
157
196
170
141
121
202
145
149
214
124
181
143
135
175
159
166
183
186
141
149
182
210
176
157
211
120
166
189
177
220
126
147
189
202
165
120
182
123
193
197
197
168
209
158
150
145
169
181
188
126
166
201
209
101
105
111
138
145
119
119
127
133
150
111
141
106
119
147
137
140
133
139
128
129
100
138
126
138
110
126
106
112
122
146
142
111
139
144
128
130
120
139
112
130
108
124
123
145
106
105
108
102
123
107
139
149
140
100
125
140
124
123
125
136
134
132
142
116
131
150
122
130
150
137
113
134
122
127
116
139
119
128
134
144
105
143
134
105
145
103
132
142
141
130
142
107
141
115
111
121
124
103
131
113
124
130
138
136
122
124
145
111
117
101
102
138
130
119
138
142
125
130
109
131
139
122
114
100
133
117
105
102
143
141
123
100
105
130
147
128
134
119
103
138
125
103
100
136
124
159
122
129
147
205
184
191
205
178
169
144
202
163
219
164
155
199
132
170
121
202
184
189
140
184
193
210
146
192
168
126
153
142
175
196
173
199
154
158
219
154
213
126
120
220
181
202
164
181
176
131
169
216
151
120
125
212
144
126
140
189
132
130
166
176
179
136
209
193
181
220
185
205
137
148
124
142
190
156
126
181
126
195
158
126
134
183
147
196
202
128
149
214
142
180
172
200
178
166
127
142
187
200
192
217
179
167
168
186
184
156
150
162
175
195
141
205
132
209
149
144
127
191
131
127
160
125
185
136
181
208
130
133
127
159
197
206
178
127
213
218
162
210
141
141
202
181
170
203
192
123
168
184
199
161
173
190
200
162
140
181
129
106
118
146
150
150
145
145
124
150
122
106
127
121
123
129
150
130
142
100
119
116
131
118
136
120
139
136
113
137
134
132
117
132
128
101
105
122
137
119
105
135
113
136
105
116
139
116
102
133
135
116
136
128
144
121
138
135
127
106
123
150
130
119
135
122
113
110
102
137
102
103
148
136
118
120
118
134
149
150
129
146
141
122
103
145
110
102
112
104
145
142
125
130
101
125
106
103
121
144
101
124
132
133
106
122
122
114
140
109
102
113
117
128
111
139
107
138
138
119
132
100
126
148
143
124
131
132
103
136
110
126
128
145
137
134
127
100
122
111
137
177
219
134
208
197
206
220
158
207
124
134
195
213
205
121
188
153
182
140
166
169
199
148
160
125
145
212
165
141
216
173
182
136
171
162
187
128
131
160
183
154
175
124
135
174
135
219
131
171
134
156
180
164
207
187
121
130
209
127
144
209
154
215
179
121
133
174
158
142
213
155
210
172
171
127
157
149
173
185
121
194
179
192
219
131
189
147
138
172
199
140
207
145
135
190
131
148
207
219
205
135
155
160
211
150
170
186
149
165
122
160
135
161
147
190
209
205
158
126
216
134
169
204
132
164
148
179
125
130
176
121
213
176
131
204
140
145
161
153
192
162
143
214
147
145
175
165
175
217
154
148
126
140
217
115
132
124
130
119
124
104
149
101
106
138
111
149
144
122
108
101
135
130
103
117
142
122
120
120
106
111
116
142
115
116
119
129
132
146
144
134
140
132
133
150
115
109
108
136
102
130
113
144
122
143
124
108
126
123
126
144
149
101
124
112
149
144
126
127
100
137
108
146
100
137
110
118
107
114
118
109
117
144
119
133
140
143
143
149
132
109
119
130
129
105
126
140
108
102
114
134
120
112
135
132
102
124
139
125
124
140
128
130
141
139
145
116
139
134
140
107
134
115
113
125
113
110
107
142
140
122
128
121
129
116
119
142
189
193
194
183
180
213
122
177
192
173
142
181
219
146
166
195
152
162
121
193
155
140
163
139
204
128
130
212
202
149
140
153
200
132
138
166
181
220
150
192
185
184
148
167
139
157
136
216
130
209
153
123
200
154
194
199
149
153
127
142
186
142
140
176
175
125
206
124
168
184
201
134
167
123
197
177
191
168
185
185
216
126
145
151
167
202
213
146
201
156
171
215
160
140
135
163
163
199
201
207
176
176
181
120
197
122
188
124
220
149
216
185
122
182
157
165
143
124
163
202
193
205
219
187
135
139
169
170
120
151
151
217
126
218
124
157
220
191
141
142
148
188
180
156
150
150
169
200
178
202
211
164
137
138
149
206
194
211
173
198
150
134
131
178
193
215
203
124
160
145
142
213
155
124
131
143
126
130
106
102
145
123
148
140
145
105
105
104
133
104
128
119
125
121
147
149
134
133
124
102
101
126
128
129
140
131
137
126
141
124
116
132
131
126
109
147
149
115
100
114
115
100
123
142
124
126
142
100
108
140
149
150
130
116
117
126
131
130
104
144
103
122
139
119
148
130
136
130
100
147
143
147
138
130
138
133
141
140
148
143
103
109
139
126
132
130
120
102
133
139
119
100
142
129
132
131
139
111
149
135
139
108
115
114
127
137
104
141
124
146
134
125
133
125
142
106
133
142
138
115
127
107
125
117
135
112
129
104
118
114
143
119
125
105
104
112
137
146
103
105
128
138
141
149
105
107
140
132
135
104
144
131
145
137
107
139
103
138
128
102
113
104
101
145
128
103
121
142
160
130
218
152
135
162
139
146
141
166
151
183
209
210
125
165
150
214
144
143
142
207
162
141
184
162
186
156
147
167
135
122
201
189
163
153
162
134
200
159
212
133
147
121
140
213
216
167
183
196
188
128
202
202
152
160
181
176
125
120
220
129
211
140
148
134
124
169
126
166
177
191
207
161
122
154
166
162
151
165
126
186
157
209
177
130
154
135
120
126
147
129
147
196
194
184
144
209
142
211
157
125
200
161
217
207
172
149
131
210
143
208
211
190
127
140
120
199
215
176
175
208
131
121
128
197
195
140
135
195
182
152
187
156
162
202
214
121
191
162
195
151
131
127
178
204
135
165
190
175
187
198
178
186
170
129
166
172
214
144
200
177
151
175
154
151
190
125
214
149
132
100
144
109
132
124
110
110
127
132
105
148
146
122
103
129
136
147
103
107
102
143
136
117
136
138
105
118
126
121
148
113
113
145
114
141
116
150
137
105
119
131
116
107
146
138
113
126
114
131
143
143
115
116
104
143
101
123
123
149
124
135
142
120
124
137
150
123
132
118
150
131
111
144
113
150
124
140
113
138
131
128
102
103
123
122
109
116
106
113
103
121
146
105
139
126
105
138
108
148
128
121
118
135
104
135
133
111
150
147
119
131
121
135
125
130
136
140
147
123
143
126
103
131
124
142
131
108
122
103
127
129
130
127
120
145
113
126
131
146
176
122
182
206
138
169
146
171
182
155
216
131
145
122
154
215
215
142
138
199
120
218
158
218
124
220
135
211
123
163
162
131
159
188
163
163
154
194
179
208
123
208
122
197
126
199
141
200
204
132
182
144
126
206
171
195
168
139
154
158
191
145
215
199
200
181
204
163
185
167
137
202
138
216
209
147
192
150
168
125
160
218
216
125
195
146
184
168
194
122
148
187
158
151
188
193
131
190
217
124
124
174
207
152
183
150
186
196
214
210
216
177
138
216
148
148
153
209
153
120
212
165
149
145
166
138
204
174
151
185
155
131
128
140
146
132
138
116
125
112
142
138
133
129
148
129
147
147
130
126
141
148
121
133
129
133
112
115
140
148
115
122
103
122
143
120
138
120
135
106
150
121
141
105
117
131
121
129
136
136
134
142
136
121
119
148
108
123
121
106
119
135
125
124
125
121
112
115
119
104
127
120
119
140
117
112
127
111
117
109
126
110
146
135
124
120
101
132
107
146
113
123
119
115
101
141
135
145
104
118
114
126
105
146
102
118
131
146
132
145
141
140
112
136
109
137
141
105
120
146
115
117
135
122
115
110
131
121
131
142
144
112
115
122
139
121
114
121
126
140
111
104
131
114
108
144
163
148
171
183
147
187
183
150
220
180
200
168
188
140
136
157
134
213
196
175
210
203
122
211
197
121
148
158
205
166
149
197
150
173
199
183
214
184
207
120
172
135
174
218
141
148
145
173
169
217
175
142
208
193
153
138
165
154
201
168
120
170
131
218
131
173
163
165
171
169
124
191
172
164
167
190
197
205
212
178
142
194
130
189
172
151
164
181
154
147
212
189
208
197
193
217
181
170
171
208
127
159
171
127
166
132
129
156
175
120
123
192
159
143
128
214
120
204
180
128
191
180
200
128
124
183
174
142
153
208
153
187
185
149
121
113
115
149
122
110
140
108
137
132
148
128
134
134
133
122
147
110
141
144
147
141
138
142
139
120
136
142
118
117
126
106
107
104
147
123
142
131
116
126
142
137
142
114
131
123
135
114
108
123
146
101
116
135
149
145
113
101
131
119
138
110
116
140
132
145
144
127
103
118
105
145
101
108
124
130
110
147
110
120
123
124
149
105
114
123
101
132
134
147
138
133
126
103
104
129
140
100
121
135
118
117
126
105
121
121
128
102
110
114
130
101
110
109
114
127
105
131
146
104
128
121
132
115
124
121
131
146
110
114
149
108
102
120
100
117
108
108
127
105
119
121
111
123
110
105
140
131
137
145
121
143
109
130
148
141
120
130
115
127
149
149
132
140
131
141
120
117
101
113
144
136
100
180
182
188
206
183
199
193
181
220
135
179
185
208
194
141
204
138
208
212
203
145
187
212
129
180
218
184
163
182
152
159
142
176
181
184
172
127
177
203
218
132
158
198
195
185
188
200
213
153
158
123
191
209
127
129
163
197
189
184
218
122
174
179
166
179
191
218
182
139
219
145
203
162
176
155
214
203
120
153
139
124
153
154
219
183
182
132
137
142
202
219
123
120
207
158
216
138
180
215
190
215
149
220
181
147
140
164
141
180
201
171
127
195
120
168
125
190
217
214
194
172
139
148
139
140
177
122
198
199
138
174
212
183
115
133
126
120
121
109
142
113
122
110
106
116
146
116
127
132
108
104
141
121
145
145
133
129
143
113
134
118
131
148
143
117
127
101
118
102
145
102
131
103
147
133
137
113
139
144
126
110
120
135
108
130
121
138
148
112
139
109
137
115
133
110
143
133
106
108
102
144
150
149
118
145
150
121
113
134
136
134
136
110
142
141
142
100
149
114
115
146
145
108
111
114
131
128
147
112
130
104
106
107
110
131
113
115
136
103
123
140
136
107
117
101
145
123
105
132
110
139
137
105
139
103
141
113
149
124
108
146
137
180
128
126
212
130
136
201
148
217
209
212
214
151
212
198
141
128
216
138
136
205
193
131
136
147
176
186
217
175
154
185
187
172
167
200
176
200
215
173
132
193
156
204
124
212
158
196
206
187
151
189
210
215
207
129
155
183
196
145
125
210
175
143
162
177
151
211
210
174
138
219
168
174
136
215
174
139
165
140
162
120
153
164
212
161
172
200
188
205
143
202
126
162
208
205
141
212
218
215
176
219
138
149
133
138
167
207
199
207
176
202
170
197
216
130
217
158
138
155
138
180
202
187
153
133
137
185
132
196
194
160
127
166
155
164
214
147
155
182
122
140
192
144
157
193
144
171
177
210
195
197
219
144
137
180
142
215
199
185
138
152
210
137
155
212
137
195
213
209
128
171
201
106
104
113
108
104
119
149
148
116
137
121
127
102
119
124
111
140
124
139
130
113
130
109
102
150
105
142
117
117
125
115
142
135
105
103
115
133
143
127
146
131
146
130
143
131
128
147
141
114
105
108
130
112
145
125
118
135
141
112
130
105
148
105
146
111
137
102
118
147
132
143
123
107
128
100
148
117
137
145
125
117
127
145
108
105
144
126
134
130
125
128
141
146
150
101
120
130
142
145
132
111
107
147
100
126
141
148
150
141
129
119
119
131
103
135
116
108
133
147
125
102
133
141
136
131
135
115
164
125
208
140
180
132
165
147
173
165
125
198
193
209
209
121
182
184
144
144
199
136
182
157
126
179
143
179
195
162
132
185
153
184
172
188
200
158
124
189
209
125
128
168
202
144
140
204
183
155
168
187
181
190
124
154
191
185
219
127
152
180
157
169
154
195
137
137
188
128
170
170
168
166
206
173
215
129
194
159
158
215
142
136
190
179
184
142
176
164
204
206
179
218
188
195
173
165
148
176
215
164
131
167
220
190
121
156
183
123
190
197
173
129
211
133
142
129
158
187
182
217
198
211
158
202
202
170
143
212
206
194
127
217
150
143
131
100
136
144
142
100
112
108
140
146
140
105
114
136
110
124
145
126
126
109
105
148
103
102
119
126
113
120
150
121
105
103
139
146
148
143
125
113
119
128
143
102
133
118
133
123
149
102
127
136
128
104
110
128
146
133
113
105
147
149
131
104
139
115
105
147
124
109
110
100
115
145
141
132
115
126
115
108
150
126
146
121
121
138
128
150
107
142
130
133
100
122
111
130
148
100
133
105
140
132
143
113
108
143
125
101
136
145
134
141
130
140
115
109
105
121
143
118
128
144
118
106
143
118
130
105
101
116
125
143
144
131
119
145
122
148
121
110
111
125
141
139
202
124
160
211
130
136
204
195
186
149
186
166
209
190
186
135
187
209
161
132
186
206
134
152
158
156
169
160
176
146
150
151
197
144
182
195
142
149
151
145
135
184
156
209
133
210
172
147
216
152
147
130
209
197
145
186
196
144
208
197
186
185
192
204
215
197
204
139
206
180
166
202
131
140
190
136
175
171
160
189
149
191
130
130
139
144
170
170
181
128
190
209
167
139
128
219
207
150
189
139
140
134
179
173
213
218
203
172
153
220
146
192
139
138
188
161
129
172
196
179
216
219
180
149
146
179
162
168
218
168
145
157
213
135
140
148
145
143
165
140
107
128
130
112
124
120
117
125
148
120
109
132
145
108
122
138
117
103
146
115
110
115
140
144
117
103
105
139
113
108
119
118
109
149
127
120
124
146
118
112
115
150
150
125
127
115
133
147
109
144
104
144
112
138
139
131
145
101
147
150
138
108
117
140
109
133
125
140
102
145
145
149
137
132
129
116
123
139
149
149
116
101
130
141
102
143
137
101
120
116
130
102
143
131
123
143
128
110
144
143
131
134
148
146
142
121
127
132
129
116
118
121
146
117
143
145
145
133
139
111
108
121
141
116
111
150
140
128
135
101
133
118
140
111
118
187
150
146
148
131
156
156
211
144
176
188
178
217
128
187
126
210
211
138
161
164
125
142
214
172
160
120
166
201
122
202
128
218
201
121
170
176
137
206
171
215
129
207
156
208
160
181
124
155
122
176
179
131
181
137
213
156
131
144
189
156
135
193
150
170
149
173
126
153
162
149
199
140
136
173
190
141
131
175
150
184
154
152
185
194
198
218
127
202
127
193
206
145
138
129
134
130
123
162
210
185
132
128
209
220
142
146
216
175
140
188
154
191
193
218
152
175
147
167
126
162
125
123
203
136
131
160
217
211
141
204
121
195
140
156
132
172
133
160
178
170
203
194
195
170
172
142
203
142
213
145
127
148
139
106
134
147
135
119
123
149
131
108
114
144
109
114
124
144
133
101
100
135
109
123
106
125
134
110
147
120
140
133
104
119
136
126
136
107
103
116
121
137
112
135
122
107
140
132
113
142
141
105
110
143
114
129
115
122
131
148
150
147
126
140
135
124
128
150
100
146
111
135
114
107
117
134
135
100
139
135
108
112
133
124
141
150
125
100
103
127
144
136
112
115
116
131
148
145
129
140
115
108
133
126
120
124
108
113
148
142
144
121
139
150
124
150
115
112
118
143
113
106
145
146
131
142
149
142
129
135
120
101
143
149
195
184
175
130
183
176
193
156
143
205
180
180
176
123
138
137
159
160
180
130
130
166
172
161
180
180
193
194
195
192
218
188
120
127
191
193
177
177
208
159
169
198
166
193
149
155
138
166
144
195
120
179
171
130
127
216
217
209
151
198
197
166
187
205
186
208
170
189
155
186
130
178
127
214
173
210
205
142
214
195
148
135
177
155
199
216
175
132
128
186
220
128
202
143
124
198
202
181
218
153
210
132
142
135
196
123
137
158
186
132
123
216
151
132
142
168
150
139
215
159
203
218
201
145
181
204
188
124
155
195
154
151
204
177
120
199
151
158
196
144
152
134
220
171
181
206
125
103
127
110
145
136
115
118
143
147
140
149
115
142
118
129
125
149
125
147
137
110
113
123
111
142
134
132
104
138
145
150
101
102
144
131
104
106
140
140
143
122
116
128
124
148
115
121
146
150
142
104
105
142
136
100
135
130
107
118
149
132
133
111
139
109
126
130
122
120
116
135
121
122
133
114
128
150
145
147
138
138
139
114
138
113
123
130
136
149
133
146
146
103
110
119
115
117
118
102
116
135
101
145
141
102
142
114
110
148
139
133
145
108
107
133
150
137
130
138
136
124
136
150
129
133
140
150
137
142
202
138
193
199
135
155
170
190
217
121
214
169
158
195
124
169
167
206
162
140
189
156
174
201
220
136
196
136
207
121
132
178
196
134
126
178
203
158
128
201
185
150
161
125
145
198
167
122
161
182
211
139
207
146
123
194
163
165
201
171
120
171
135
206
193
219
142
212
122
179
164
125
148
158
195
195
128
161
170
180
155
165
123
126
202
191
151
218
204
186
215
178
201
173
220
188
218
216
181
199
219
215
206
148
139
180
220
211
177
182
128
177
126
220
125
164
217
214
131
137
151
151
182
212
195
137
145
186
141
144
120
146
115
125
141
106
132
147
130
127
117
128
136
147
117
108
104
128
102
109
105
129
109
122
125
136
126
100
145
148
137
116
125
107
138
125
136
136
106
132
106
135
131
137
107
140
101
139
138
105
141
122
130
122
135
106
122
132
136
105
104
132
104
128
126
110
106
105
117
109
119
121
109
116
146
109
143
102
150
137
142
142
100
104
125
118
139
139
123
140
104
139
104
116
137
102
150
118
110
136
142
130
104
122
145
134
119
134
124
110
122
133
113
136
127
119
116
139
122
133
134
114
132
150
115
132
131
138
128
130
132
139
105
124
214
177
141
197
121
132
178
123
151
124
193
147
155
139
147
147
155
173
178
178
215
188
140
218
172
173
219
209
174
166
158
150
178
130
202
176
169
124
217
152
126
201
193
213
161
196
193
124
213
219
168
133
208
182
192
179
160
171
212
212
151
123
213
145
128
203
172
201
212
161
206
148
123
189
140
123
160
183
206
185
190
132
189
151
174
208
140
192
220
164
126
172
211
157
200
203
201
140
136
163
210
210
170
190
126
158
204
180
213
193
162
145
202
185
159
127
144
124
184
132
135
189
196
160
123
142
191
156
147
135
192
163
157
189
123
203
185
154
176
174
144
207
145
167
129
183
209
142
111
121
145
145
140
101
124
117
115
123
115
141
115
130
101
136
146
134
106
126
135
113
108
130
131
101
122
119
101
139
108
118
121
138
111
130
109
103
147
141
143
120
110
103
118
129
112
145
125
120
108
109
115
109
127
124
134
143
135
136
137
100
145
150
144
117
143
149
144
127
111
133
144
128
102
120
133
116
135
113
146
112
119
142
116
118
112
133
142
150
148
115
127
130
110
137
102
130
104
143
108
135
132
130
144
150
136
115
108
136
133
126
121
120
123
116
128
129
128
145
145
137
103
108
136
144
116
116
145
143
143
109
117
142
135
128
102
109
147
100
116
100
146
143
116
139
108
150
114
148
144
133
140
104
125
115
113
105
125
136
144
179
197
151
204
176
130
150
146
145
186
211
136
150
159
156
136
210
148
204
146
151
158
125
183
194
154
203
210
147
149
171
164
135
194
189
158
199
161
184
122
120
201
167
127
213
184
179
150
135
161
124
127
215
212
169
170
147
158
171
195
185
169
189
150
145
130
216
218
181
202
138
122
132
136
189
218
153
189
137
165
220
175
132
131
157
171
199
198
168
140
181
208
159
194
140
203
205
132
191
152
208
129
126
134
151
141
136
210
132
153
197
152
147
176
138
164
165
172
127
173
211
166
165
147
134
141
156
195
204
159
135
200
195
133
138
119
105
140
131
135
137
137
117
119
136
123
137
119
128
139
105
116
118
139
114
139
110
140
105
120
135
149
128
119
103
105
124
122
121
147
129
150
132
100
118
108
109
129
129
147
114
149
118
143
126
134
105
122
117
139
117
114
103
146
128
118
105
123
105
123
132
107
120
117
119
137
131
109
116
108
146
115
141
127
106
111
139
127
111
108
148
111
150
135
104
124
146
119
149
111
138
129
139
107
107
135
130
123
148
150
133
147
117
123
118
135
109
149
109
117
129
145
133
144
123
105
104
141
141
125
135
119
193
166
211
129
165
154
204
214
131
128
151
218
133
155
217
212
188
123
183
159
197
125
177
128
164
182
196
162
157
175
149
156
209
218
219
184
219
218
206
134
162
163
130
213
181
189
200
194
179
217
164
171
180
120
219
179
158
189
175
217
209
133
159
138
139
120
215
154
205
131
163
219
151
142
176
160
132
152
126
131
150
129
142
148
127
135
171
197
179
216
208
208
167
153
185
125
179
150
144
159
209
142
153
142
220
196
219
149
201
217
215
196
187
120
175
152
210
211
154
140
170
183
138
170
199
172
169
150
200
202
183
171
135
215
165
186
172
137
120
168
207
214
197
210
217
220
160
190
208
160
131
168
139
193
215
125
163
122
215
194
164
169
179
165
196
175
175
137
200
209
129
126
138
117
123
136
142
149
117
110
148
136
139
130
108
100
105
131
150
100
120
131
119
105
131
121
104
125
132
124
115
130
121
131
149
127
103
141
109
133
104
145
124
108
135
120
120
112
137
107
137
124
138
134
131
145
116
142
135
144
116
103
102
131
118
142
114
124
104
103
137
137
147
138
113
108
130
141
134
143
116
109
112
142
129
148
132
131
134
112
146
129
103
142
131
131
124
141
122
132
131
120
134
113
111
146
100
119
136
108
134
136
135
124
139
100
104
138
106
150
114
115
117
141
124
127
107
145
122
140
149
117
128
144
120
126
123
143
103
113
110
131
117
145
136
140
110
110
102
107
123
107
131
103
125
149
115
103
108
148
137
124
108
129
128
120
180
146
196
179
212
177
157
154
140
182
197
130
145
218
213
192
131
148
190
131
163
194
197
163
191
136
219
167
155
205
151
122
195
188
159
161
151
218
190
144
193
182
203
147
150
194
206
120
200
195
211
141
176
157
186
176
160
214
148
142
200
160
155
193
144
220
176
210
184
129
121
131
205
160
129
201
186
152
161
201
146
131
147
202
198
206
157
205
176
195
137
124
166
167
157
203
147
188
134
176
192
208
130
131
133
139
147
195
142
214
137
216
144
208
155
208
129
166
212
123
220
174
133
216
146
199
135
156
208
151
167
220
168
144
190
120
220
143
170
182
217
211
198
216
180
165
172
204
176
120
203
208
122
116
101
131
114
115
139
106
146
115
108
104
102
133
133
125
116
111
119
100
121
119
110
102
124
122
106
137
121
137
136
112
145
104
112
140
110
124
140
140
102
150
116
140
143
127
150
101
142
136
108
105
141
105
124
132
107
119
130
146
131
100
135
139
100
128
126
139
137
121
141
148
118
103
119
145
147
137
146
135
120
130
108
138
135
106
146
138
135
106
140
139
111
117
137
129
142
133
102
121
120
147
113
100
129
101
100
137
144
121
114
143
112
105
103
114
130
124
132
138
101
107
122
116
119
113
140
104
135
129
114
148
168
165
155
192
136
203
186
183
142
153
165
195
167
140
137
205
171
191
210
136
203
148
169
141
122
209
190
149
125
152
162
120
120
211
122
198
198
167
121
216
214
213
169
187
149
177
126
167
139
209
210
213
151
189
133
210
217
128
144
203
174
160
181
206
143
121
128
164
208
149
174
134
154
159
207
218
159
210
150
182
190
145
204
151
193
203
165
220
199
132
148
178
210
151
184
125
148
205
142
190
163
168
198
141
154
168
132
159
172
172
175
220
141
160
181
123
139
207
144
205
121
158
211
125
166
220
124
159
170
146
205
186
204
149
150
197
125
198
177
156
213
140
150
185
207
176
128
181
163
122
157
106
118
146
116
104
120
109
145
126
106
119
139
141
132
132
142
120
144
139
133
102
118
129
105
136
116
130
129
130
146
138
110
114
103
130
118
117
136
114
115
117
120
146
110
107
127
150
113
126
148
128
124
118
150
139
121
103
131
140
136
114
123
132
134
134
126
116
113
139
112
136
129
118
109
118
104
115
124
101
118
147
138
121
142
105
102
101
140
105
101
130
100
115
119
119
127
107
134
126
149
131
138
106
114
101
104
140
103
133
103
145
124
142
124
134
147
101
109
118
147
130
116
137
102
116
149
128
147
136
134
119
101
107
127
140
116
137
124
140
111
114
122
141
137
219
212
127
179
189
177
143
169
212
126
131
125
180
179
164
188
167
177
182
220
185
156
187
148
165
154
174
121
163
209
188
184
204
147
148
126
127
158
167
144
150
200
204
178
172
140
128
175
171
203
142
211
122
179
162
178
207
181
181
149
193
159
128
153
134
161
200
180
163
156
198
131
181
200
217
211
145
185
219
210
166
195
178
178
127
202
128
192
186
211
208
198
161
166
146
161
157
134
121
204
136
214
145
140
195
132
131
203
194
170
168
135
165
209
212
202
172
136
123
154
186
218
133
187
147
182
120
120
124
106
105
112
143
137
114
128
136
146
141
116
135
148
115
143
135
131
139
139
123
108
148
141
120
148
131
117
102
120
149
133
122
127
143
140
104
134
102
117
123
120
129
124
147
148
143
109
116
128
108
149
145
108
118
105
136
139
125
124
106
148
120
110
137
107
114
111
114
138
117
142
115
147
150
140
106
111
106
147
138
109
110
139
109
107
109
127
144
124
146
142
143
139
109
100
144
130
150
128
105
108
142
126
114
101
138
109
134
136
108
148
110
144
128
101
116
142
148
108
132
148
109
142
105
102
129
128
109
111
119
145
136
125
114
109
129
112
122
115
138
104
121
105
121
131
115
138
114
137
125
111
116
147
147
112
103
141
129
150
116
123
149
126
106
110
106
216
136
130
217
219
124
125
178
201
138
127
217
196
201
155
212
142
181
130
182
149
150
120
133
181
199
137
185
198
162
191
188
155
165
213
144
126
205
168
123
195
162
190
186
129
206
167
202
157
122
160
122
177
188
125
138
215
191
206
169
174
217
164
175
164
125
174
193
151
168
172
165
197
136
153
126
155
146
203
131
163
190
194
184
214
122
134
164
128
139
201
219
199
178
129
216
198
211
208
127
219
189
122
138
193
200
197
163
132
200
204
182
173
131
166
216
182
150
129
220
195
176
145
126
213
166
168
159
207
166
169
127
140
131
123
110
107
116
149
123
132
115
136
117
115
135
122
150
132
143
134
103
133
131
135
145
122
111
112
147
122
112
142
102
132
102
115
120
134
149
110
115
124
148
103
107
148
146
114
142
109
147
101
121
120
133
150
107
105
124
136
135
141
124
130
119
122
142
126
124
105
121
130
142
113
129
121
128
130
125
126
150
124
149
118
147
128
148
146
110
118
138
149
121
104
142
101
105
118
104
150
135
131
109
133
111
125
147
100
105
100
150
132
135
129
140
140
125
136
130
140
140
128
101
136
145
142
108
138
103
137
110
147
134
140
142
138
127
107
103
144
133
115
112
103
137
117
148
107
119
101
132
103
139
148
119
131
108
136
122
136
146
124
191
202
133
136
217
128
143
193
140
180
203
197
141
162
188
139
205
155
130
215
153
140
207
173
146
207
140
204
205
184
215
203
134
172
138
193
150
216
121
124
203
134
160
141
209
162
127
131
204
160
214
219
217
205
219
135
194
153
200
187
146
197
140
211
181
212
172
220
135
176
166
179
177
138
162
184
148
148
135
198
177
190
189
194
163
171
184
210
121
208
196
174
159
124
179
188
122
148
159
220
171
167
207
145
196
182
145
213
155
125
194
143
137
218
155
139
130
188
209
144
157
218
220
138
142
155
194
170
123
205
190
189
195
191
138
215
177
142
202
202
213
186
151
153
168
121
141
185
170
125
150
155
183
185
176
139
219
121
127
150
101
102
112
150
103
125
138
118
140
113
113
121
121
146
121
106
147
105
146
114
136
108
110
133
114
113
115
123
132
132
145
138
123
104
127
103
103
106
116
127
100
105
107
138
112
107
121
102
107
137
138
127
136
128
147
127
119
104
142
110
128
113
116
121
109
146
119
106
118
106
111
126
100
149
117
116
126
122
141
137
126
128
135
143
143
100
140
125
123
127
130
141
109
146
141
134
124
109
113
149
112
108
137
119
118
111
119
130
111
147
103
136
111
146
110
117
113
120
118
112
110
137
139
149
122
124
108
103
101
117
146
122
142
128
112
107
143
117
129
115
147
123
105
122
103
150
121
148
143
132
101
140
138
119
141
129
129
126
143
171
167
157
139
123
171
160
197
132
174
176
167
151
182
171
128
220
128
171
174
186
174
180
132
120
166
154
131
133
183
141
151
216
182
154
198
202
191
188
125
216
139
128
148
139
173
126
177
219
197
190
213
155
191
195
210
176
167
213
203
134
200
138
157
162
189
203
180
134
168
178
205
174
176
196
147
187
207
144
168
176
170
126
135
170
121
204
170
203
130
197
139
129
141
142
170
179
191
203
135
122
211
156
207
207
170
153
214
136
152
212
194
200
214
128
170
124
206
146
215
153
182
206
131
154
154
176
157
148
158
185
218
137
123
174
135
176
194
218
191
177
217
164
220
200
143
219
164
147
138
163
167
168
138
176
128
138
146
129
107
139
117
135
134
100
128
113
145
123
103
149
150
123
144
128
102
139
121
145
113
112
128
135
146
112
124
120
148
133
105
135
115
104
110
145
120
114
138
114
110
132
118
113
124
143
108
114
134
103
131
147
136
130
141
139
122
141
132
149
109
126
105
120
114
120
130
147
139
135
117
103
126
150
117
125
135
133
128
117
141
143
110
140
139
136
126
138
110
146
105
130
119
121
105
104
138
124
132
125
125
115
128
113
134
112
135
136
138
111
110
147
107
149
116
104
105
105
147
103
143
147
132
101
101
130
129
106
113
150
117
104
105
105
121
141
141
103
202
205
130
166
134
178
150
211
194
196
128
196
179
165
163
169
125
159
185
174
150
133
122
135
207
190
159
162
131
144
157
122
149
202
214
207
177
212
130
121
206
141
156
158
129
184
137
207
215
137
128
124
193
176
157
169
124
132
133
132
189
132
124
209
179
144
127
124
209
129
162
124
212
157
215
138
203
170
192
160
172
201
178
160
197
205
175
162
148
159
205
178
203
175
195
148
134
160
184
154
205
159
214
154
201
139
137
177
186
158
198
187
154
142
163
150
179
135
203
124
125
147
183
202
130
176
170
186
140
120
201
186
126
156
150
122
177
134
136
151
194
164
133
168
128
156
205
200
210
145
203
194
205
128
150
183
174
190
123
129
107
146
127
108
113
132
141
106
115
108
105
134
102
124
125
139
104
133
108
140
141
116
142
133
140
139
136
120
140
111
135
135
118
107
106
138
117
138
149
149
145
114
117
121
118
125
145
131
121
149
106
111
138
142
100
134
145
125
109
134
111
134
137
100
133
110
116
137
117
135
140
146
131
129
100
108
147
124
121
119
142
127
117
113
124
134
132
149
132
118
130
116
129
127
118
126
108
113
100
139
114
113
109
102
125
130
139
134
132
147
108
113
125
102
114
119
145
124
131
112
138
116
148
136
140
147
146
118
126
109
124
104
115
114
104
147
119
101
109
112
127
115
139
119
122
123
112
106
122
126
128
107
180
203
124
210
120
142
197
197
141
127
176
193
155
171
198
125
135
215
155
217
198
158
164
170
173
170
142
148
140
213
188
126
165
128
146
155
149
168
199
187
152
186
173
215
162
193
185
170
218
160
201
158
191
202
209
132
152
132
179
145
217
197
155
130
188
192
154
155
125
128
206
195
158
219
208
160
162
191
150
155
154
201
213
159
210
120
145
217
173
134
169
143
139
163
168
143
146
122
147
212
196
177
140
152
136
208
196
141
194
206
145
125
170
210
140
186
132
184
149
200
140
133
128
125
182
211
193
123
126
124
211
174
130
218
173
145
151
196
211
182
135
122
108
106
135
101
132
104
121
124
120
120
147
117
103
101
101
123
112
119
142
122
139
110
104
126
138
111
117
134
119
149
134
147
111
129
137
106
118
127
103
108
104
108
141
139
108
148
104
131
130
105
127
143
141
130
128
100
114
136
102
124
106
104
111
138
124
124
131
138
142
137
105
131
100
105
109
126
139
137
117
106
119
132
113
145
108
138
142
133
147
122
138
123
120
150
101
114
104
100
141
104
126
129
112
120
144
100
130
123
104
119
103
145
112
114
117
132
111
101
120
115
133
150
105
122
100
138
138
119
130
123
144
131
146
183
213
179
162
200
162
162
171
150
189
189
183
140
182
164
178
166
180
139
202
190
154
209
164
195
126
133
200
149
149
127
142
164
162
158
208
218
127
218
124
187
166
189
195
156
155
159
137
188
155
182
134
177
146
126
168
140
149
163
189
174
212
159
170
166
157
142
150
145
209
130
138
200
140
148
195
191
214
170
203
220
210
129
168
149
172
191
169
177
132
209
213
151
149
170
134
147
153
213
180
143
182
135
143
150
161
127
148
166
185
218
154
176
170
120
166
204
170
143
192
120
208
147
203
220
205
191
156
173
150
125
200
158
141
212
194
176
142
174
195
149
190
130
201
195
162
170
124
125
158
156
150
177
163
151
184
142
219
193
186
125
209
216
131
143
141
111
129
138
108
104
106
117
122
118
137
134
104
144
134
127
149
108
121
112
124
106
104
132
134
105
139
150
135
120
124
108
105
105
103
140
104
130
133
120
106
105
141
132
132
127
114
132
139
115
132
144
126
135
118
150
132
113
133
147
143
102
120
150
107
108
136
110
120
143
116
146
101
103
149
109
127
109
146
106
101
107
123
141
149
103
140
134
120
128
104
107
114
118
136
105
145
140
123
136
104
139
135
149
134
126
144
100
142
127
108
113
145
120
126
145
149
105
143
112
105
144
125
120
149
139
124
103
102
135
109
138
107
123
131
130
120
177
217
121
180
149
216
179
202
126
130
186
185
132
191
123
170
208
196
126
197
156
211
173
196
181
215
127
144
157
179
203
175
168
160
133
195
178
204
142
186
143
216
191
144
143
169
157
214
173
207
147
139
138
217
155
140
151
121
166
141
124
182
166
165
129
144
184
140
208
210
176
198
157
159
161
206
194
167
160
176
144
154
179
189
140
159
197
128
205
147
134
148
185
150
171
121
146
204
177
198
147
195
138
177
217
120
200
145
161
193
203
151
206
211
139
215
140
161
133
164
174
194
169
143
134
219
146
152
152
152
113
124
118
118
101
105
123
129
142
130
131
113
137
126
111
139
113
115
143
138
149
122
114
134
117
131
105
139
135
125
121
149
136
100
146
102
110
107
141
148
103
129
144
145
136
113
140
101
124
104
102
149
147
104
128
107
124
122
108
130
143
130
118
145
102
139
143
114
140
128
121
132
138
137
149
134
109
144
134
132
101
137
110
150
150
146
141
121
100
119
108
143
137
125
141
108
126
119
130
149
127
147
124
113
107
102
107
115
128
121
122
137
115
133
116
144
129
135
129
106
127
137
130
130
113
111
128
131
116
120
100
128
136
121
119
129
124
135
112
127
133
195
124
212
184
157
164
137
153
163
174
122
128
146
139
162
173
127
125
208
172
137
219
125
150
185
176
123
190
177
208
136
134
217
190
206
130
207
185
185
136
200
161
146
134
160
155
166
154
136
186
219
147
147
129
207
133
125
200
156
208
131
136
202
138
174
192
160
188
211
159
131
196
139
159
177
192
130
168
165
139
121
216
205
201
190
153
189
120
146
207
206
218
192
179
165
207
177
217
192
131
167
142
174
145
140
206
216
150
152
173
208
162
155
180
217
160
149
153
134
193
175
173
165
153
152
126
162
123
121
173
184
158
185
140
133
156
154
177
158
174
130
169
214
169
164
135
146
140
181
133
158
154
209
144
151
134
170
143
206
164
171
215
181
130
209
124
158
208
155
139
207
157
139
139
148
107
100
122
139
125
125
102
143
144
121
136
103
128
146
133
136
119
144
126
103
128
145
135
123
129
149
115
100
108
108
139
125
106
138
120
109
112
109
136
143
113
124
126
106
113
130
114
104
137
112
141
149
123
115
124
130
114
115
133
106
125
118
120
139
104
149
125
109
136
102
133
135
103
132
121
147
142
144
146
108
146
136
111
109
107
142
103
127
146
128
139
125
127
128
122
107
129
111
104
120
115
109
111
136
126
126
126
140
114
118
139
139
110
113
144
139
131
111
104
135
121
101
149
137
100
107
143
147
135
101
100
115
135
123
128
111
137
132
121
128
102
133
136
107
149
127
137
114
126
110
110
113
142
100
130
135
149
208
220
125
173
185
164
185
152
154
123
139
213
194
187
180
203
162
148
179
139
210
144
201
133
169
207
176
189
130
204
153
213
189
128
142
194
206
171
134
138
186
144
181
167
138
158
127
208
147
216
197
206
196
154
208
165
159
214
183
159
133
161
217
188
124
192
159
134
130
187
193
205
216
124
206
218
140
220
154
196
171
164
192
211
130
190
207
144
184
144
153
172
129
152
218
157
173
200
130
208
208
169
145
146
171
215
181
123
152
183
212
198
120
167
132
163
160
204
133
126
191
152
166
151
151
198
212
163
133
168
191
189
106
100
149
120
138
140
117
129
111
112
110
112
118
105
149
106
106
120
117
134
150
124
134
120
122
101
106
100
134
137
128
142
129
119
101
141
124
107
109
136
123
131
103
142
136
119
139
124
148
106
137
108
136
138
108
132
127
117
101
114
113
139
140
133
137
102
150
117
115
131
133
144
113
102
106
103
120
112
119
101
148
109
138
118
102
134
105
120
124
118
137
146
136
115
147
145
143
133
114
149
111
102
133
114
107
115
138
126
148
144
116
138
123
147
141
102
139
146
131
106
104
122
131
135
122
112
144
138
117
135
114
136
195
124
179
121
159
199
121
216
195
153
149
211
208
121
170
196
220
140
195
218
191
185
125
206
204
178
158
121
150
203
164
212
180
214
203
176
169
198
149
219
177
216
137
189
146
169
181
186
193
216
160
170
173
164
186
207
206
135
124
180
185
161
164
141
132
177
205
199
204
201
146
159
218
186
213
158
161
186
202
131
206
204
148
191
143
191
195
188
122
152
179
162
216
149
178
124
169
180
144
213
175
197
170
213
160
185
161
126
172
217
169
184
204
191
127
137
210
218
217
185
156
122
204
176
206
146
160
139
170
122
177
184
137
219
181
148
166
139
184
212
151
192
125
187
198
171
176
217
159
146
210
163
153
171
161
174
151
166
188
162
218
194
201
215
128
128
105
116
137
102
108
118
103
109
139
109
137
143
149
137
143
100
146
149
100
118
103
114
144
112
146
115
114
106
102
140
101
149
145
107
129
106
107
128
132
104
115
127
133
140
110
134
123
103
140
131
116
118
108
111
132
125
125
128
114
126
126
135
142
110
149
147
103
115
139
117
113
137
138
111
136
149
107
124
124
123
134
141
124
134
138
119
107
123
131
129
118
147
137
139
126
117
150
118
146
110
139
115
124
135
132
129
103
143
146
142
123
140
139
133
108
143
142
147
140
127
137
110
123
132
104
141
110
188
134
144
187
128
130
216
215
144
140
130
156
216
165
175
159
158
142
213
172
216
170
172
164
156
157
209
198
152
207
177
194
200
124
132
171
130
122
138
194
122
176
132
169
153
168
220
162
170
156
167
220
144
129
182
163
218
189
204
175
170
147
214
151
200
165
200
126
201
166
211
213
148
211
209
181
125
188
137
148
216
220
126
204
195
176
178
130
188
154
122
148
177
193
201
192
132
126
211
127
215
201
171
125
215
169
135
211
182
170
216
121
167
120
217
140
151
212
178
147
220
182
133
216
184
121
130
122
213
130
211
196
189
167
145
122
122
188
203
160
185
131
132
199
160
124
175
197
169
217
209
142
201
124
120
185
123
157
167
200
127
205
128
199
143
214
182
215
169
197
193
141
121
203
111
148
128
127
104
121
134
110
118
120
111
142
117
146
137
146
149
120
120
112
142
130
115
105
135
119
143
145
126
125
112
113
135
113
134
107
116
126
111
111
128
146
109
127
147
143
129
116
103
141
114
137
119
117
119
127
119
104
105
116
139
102
109
147
140
144
143
125
122
115
139
147
131
118
132
135
146
126
117
124
148
145
119
142
100
149
148
124
104
132
138
113
125
110
145
134
116
129
137
138
100
112
110
134
107
126
108
103
139
144
102
140
109
131
104
121
150
106
134
148
130
149
131
131
150
106
148
129
126
193
139
208
161
144
130
191
218
210
132
120
185
217
170
174
148
215
152
187
135
163
148
170
128
181
217
183
142
204
188
156
217
201
157
133
134
217
219
216
172
132
182
122
154
145
131
173
206
157
142
183
132
171
147
189
202
141
219
165
131
175
210
131
202
179
211
143
190
205
127
147
163
129
181
122
190
147
201
205
185
185
194
128
173
208
130
121
124
149
191
161
205
175
149
180
128
146
160
154
149
203
146
145
152
174
199
149
155
192
204
157
185
205
138
120
135
173
209
149
197
128
185
141
173
208
190
175
129
147
185
131
137
121
110
145
144
149
147
129
116
134
122
134
105
119
128
136
134
150
124
102
135
141
137
145
124
137
144
135
106
123
150
117
147
110
107
147
122
144
125
124
105
120
134
139
126
140
124
121
103
104
119
138
133
112
145
133
122
108
129
135
148
108
150
115
123
146
147
132
120
130
110
118
147
147
124
129
145
125
109
149
135
150
143
135
107
142
125
147
105
143
101
149
128
105
109
142
113
102
119
121
147
102
140
103
125
145
115
138
131
128
141
150
136
108
102
119
126
126
150
149
106
143
130
107
129
125
149
105
150
103
143
147
105
107
129
144
150
117
100
127
147
120
103
124
127
104
140
117
111
140
146
129
116
141
120
147
109
119
145
114
104
110
100
136
102
115
120
121
147
102
108
111
104
128
220
138
129
158
219
130
159
198
136
156
154
178
120
136
176
160
199
203
220
215
190
207
220
198
131
165
139
154
220
122
149
210
145
186
139
220
158
185
163
128
220
183
218
214
158
164
190
163
150
163
190
214
140
120
165
123
128
183
157
216
131
181
211
215
142
129
187
120
170
197
131
195
188
204
186
129
157
150
181
192
123
156
120
186
207
138
140
174
124
136
216
140
148
204
143
135
146
121
182
133
194
167
201
174
162
182
154
160
133
144
185
168
133
219
209
151
209
154
211
195
175
124
172
135
156
200
186
172
187
162
138
137
121
144
194
182
158
181
220
184
163
154
153
167
214
165
138
205
195
149
152
140
125
109
131
132
125
113
128
144
100
108
142
117
108
104
101
125
120
136
102
117
110
146
119
109
126
127
143
146
108
120
126
102
104
112
108
141
141
126
106
138
119
119
121
117
106
103
143
101
116
107
120
138
140
128
134
150
142
102
150
130
126
144
148
130
129
103
112
127
139
114
113
122
140
134
102
105
104
131
103
120
104
121
100
119
117
129
128
148
130
102
122
133
109
125
127
114
118
134
113
133
114
102
127
108
120
131
108
123
136
150
111
141
110
117
105
107
111
131
147
131
144
137
103
107
119
111
115
148
120
111
126
119
109
133
143
138
135
115
140
136
124
108
105
110
116
138
126
117
129
142
124
121
101
100
123
166
149
215
157
121
197
129
155
131
131
139
171
133
120
202
129
129
200
131
143
121
140
179
203
195
120
142
212
137
217
213
205
191
206
209
152
158
187
187
157
210
186
195
157
189
137
185
132
184
213
160
147
213
171
191
170
143
216
128
126
160
138
182
131
121
198
157
217
135
171
212
186
185
181
140
197
185
137
189
182
185
198
140
178
181
140
200
163
198
165
198
177
171
176
182
196
140
152
214
146
210
209
176
203
182
193
207
219
167
151
210
121
175
198
190
176
194
161
156
196
176
191
126
179
170
122
137
135
144
138
184
130
195
142
185
157
139
131
214
141
206
169
217
150
131
196
132
160
127
206
155
153
194
190
194
145
141
175
183
156
197
157
169
117
100
111
146
116
114
128
115
122
120
128
110
138
146
150
108
130
142
140
120
139
115
143
142
146
147
126
111
132
106
122
143
115
130
119
143
114
109
115
120
147
121
131
105
143
137
116
135
135
148
124
150
149
144
103
121
108
145
136
127
128
145
142
140
137
105
105
104
149
126
119
101
133
122
102
143
100
132
134
132
123
115
104
148
140
138
116
143
120
149
133
130
149
120
134
109
116
119
108
104
127
137
143
128
128
128
103
132
108
128
131
113
133
113
110
118
108
115
126
120
139
149
124
130
139
114
105
143
131
121
213
207
197
130
123
179
188
163
218
179
198
211
180
137
160
178
179
172
127
156
130
217
185
138
203
150
204
203
146
163
217
129
145
129
156
145
199
157
217
155
207
136
135
184
185
158
160
146
172
134
154
172
164
139
160
165
130
175
139
134
164
153
142
160
193
189
151
211
203
171
201
184
130
150
202
146
121
148
142
138
153
189
177
164
178
171
195
215
170
201
190
215
146
167
126
149
163
130
120
193
164
120
210
198
151
209
196
160
179
177
179
218
179
204
141
152
131
157
164
159
193
219
155
124
166
185
217
217
156
159
135
184
182
165
153
183
201
137
199
120
121
128
113
139
103
149
146
115
118
148
111
150
119
122
112
149
104
122
114
118
112
148
150
119
100
106
117
148
130
123
102
138
128
136
136
118
119
122
100
110
131
125
112
150
149
104
142
121
139
128
131
134
150
130
107
145
115
117
106
129
133
137
116
142
101
100
124
138
125
133
142
118
110
123
105
140
110
146
118
147
127
106
132
134
127
132
126
132
149
101
121
128
128
108
116
101
116
101
110
129
139
145
144
149
109
117
114
114
108
140
109
131
129
138
125
105
118
107
141
138
128
113
150
127
128
138
138
134
142
133
132
144
101
121
122
202
172
205
151
122
171
192
134
131
121
199
173
147
131
212
127
147
166
196
122
130
180
183
155
164
167
162
135
212
204
189
165
178
157
216
205
213
197
198
176
213
157
190
136
183
158
126
139
157
174
180
174
153
147
133
123
169
190
181
193
169
122
141
121
194
165
212
216
209
156
192
125
212
176
120
152
202
217
167
201
157
187
198
204
213
135
220
139
197
166
202
205
218
167
127
121
192
131
209
218
151
189
131
141
151
167
201
213
159
197
187
125
216
193
173
187
191
200
121
196
162
217
175
152
146
214
193
135
186
171
154
174
183
135
173
139
152
122
178
136
133
147
197
133
159
149
125
138
182
173
207
187
160
166
132
120
219
149
125
188
123
162
142
160
160
149
204
187
133
215
143
151
179
156
128
129
136
148
122
147
142
124
147
102
116
102
103
108
126
111
110
147
146
107
150
129
106
141
130
116
117
100
128
124
120
117
112
103
131
145
129
144
117
149
128
143
113
134
114
134
109
105
130
118
122
127
144
149
115
105
137
147
146
112
103
117
121
109
118
107
112
145
112
113
132
108
140
117
142
105
131
130
139
106
146
109
113
125
101
113
142
103
137
147
143
109
146
110
115
114
140
143
116
119
117
112
127
142
101
143
114
104
111
144
140
148
131
114
109
139
125
145
115
148
121
121
106
148
117
125
104
106
134
180
204
151
174
209
121
150
157
193
173
153
172
171
179
146
182
169
190
154
195
197
167
207
146
137
133
206
171
197
198
155
193
144
177
159
127
143
124
213
127
215
181
206
208
156
155
153
140
196
186
193
143
187
174
200
165
174
135
186
130
123
137
182
139
120
134
182
170
138
179
166
151
203
194
190
189
129
194
193
203
168
160
167
163
179
164
164
202
164
122
120
180
148
204
122
164
132
161
204
204
134
121
164
126
126
202
140
161
132
123
161
213
197
186
220
146
127
141
134
218
206
193
209
198
176
153
208
205
204
170
203
200
167
173
209
190
110
135
109
150
101
146
132
116
144
147
112
144
103
119
104
122
117
138
112
123
113
143
131
117
107
121
126
105
141
106
123
112
130
107
143
143
105
131
108
119
103
131
131
124
128
124
146
131
134
139
105
103
142
120
115
127
147
149
113
147
128
135
100
111
133
144
138
110
110
144
101
148
117
143
123
145
137
120
110
116
118
141
127
146
142
104
143
121
126
123
102
126
129
117
104
126
136
129
134
141
145
142
121
143
141
127
142
131
147
140
117
120
117
100
103
103
122
123
117
145
138
108
106
138
130
102
137
150
115
124
115
143
139
135
139
137
113
148
107
124
114
121
109
102
139
146
133
124
126
144
124
108
121
138
132
140
131
132
117
107
115
120
118
114
117
144
119
130
150
135
131
126
123
130
123
190
163
169
213
144
171
165
200
146
138
178
196
121
123
141
204
178
183
176
136
170
168
141
176
137
200
197
137
213
156
217
218
182
138
182
127
141
135
141
212
194
147
190
150
128
158
131
124
181
123
177
124
193
145
150
207
156
164
205
159
213
166
170
176
156
204
214
147
212
194
217
134
185
169
192
142
217
134
141
137
187
216
167
126
121
128
140
185
127
205
187
161
214
124
160
210
202
217
122
152
148
169
133
150
219
167
219
126
168
146
179
198
162
159
215
159
187
201
123
160
187
128
166
184
190
145
201
201
123
142
163
176
191
186
144
168
145
143
201
213
218
193
186
183
146
102
105
108
132
146
115
116
100
104
130
117
107
147
121
107
118
103
116
144
143
111
118
104
120
122
103
150
134
107
120
139
105
102
150
135
115
106
141
145
134
106
119
118
107
125
106
133
119
122
112
118
108
103
121
116
135
125
136
115
144
142
118
141
143
146
108
126
150
121
104
100
124
104
130
140
102
120
136
107
105
150
150
124
102
129
103
107
117
139
112
139
129
124
150
115
146
115
122
149
124
122
101
149
132
110
142
147
149
135
124
146
122
114
107
111
140
108
142
110
136
141
139
148
116
130
131
107
102
150
147
128
112
119
117
109
120
133
145
110
138
125
118
123
137
119
143
133
129
117
105
121
147
101
103
123
122
144
145
129
113
139
136
109
146
128
138
124
112
129
125
219
177
129
125
192
132
127
148
182
167
215
151
162
151
167
161
134
193
151
170
195
143
161
166
123
166
143
189
198
154
143
173
140
159
152
125
196
165
139
185
124
149
168
180
201
130
124
207
180
184
148
120
173
204
170
142
218
123
193
163
164
211
217
180
154
155
196
204
169
122
199
202
120
200
138
141
219
198
181
187
191
187
140
140
184
157
209
181
126
181
175
209
201
144
164
135
180
189
204
211
143
162
176
165
163
169
198
177
208
203
140
144
181
202
217
124
155
194
188
128
187
139
151
210
147
134
214
210
197
135
124
162
208
207
213
179
207
123
202
139
120
181
169
181
125
189
190
129
148
218
124
134
168
149
214
179
130
106
103
120
105
101
138
110
130
102
129
100
142
107
129
118
147
143
140
135
140
111
111
117
130
143
116
131
137
125
113
102
138
105
115
135
144
108
145
124
140
144
130
112
101
107
126
120
101
111
126
142
123
137
141
114
107
126
127
101
125
116
125
134
147
118
103
149
149
115
109
132
137
118
105
106
137
115
109
100
124
141
108
134
140
107
113
146
101
136
108
100
132
100
117
101
114
134
140
122
109
107
105
131
129
143
121
117
137
103
112
138
127
102
101
119
107
149
116
137
140
132
133
115
107
127
136
103
125
121
112
139
149
134
116
113
125
129
136
132
130
116
139
135
106
124
134
138
139
150
146
102
100
113
127
133
124
106
109
106
125
134
104
149
219
202
176
161
196
138
148
199
128
158
150
136
210
218
187
217
199
156
217
125
204
192
167
175
193
123
140
123
140
125
133
168
192
131
187
199
151
184
164
137
201
208
135
132
173
125
133
135
181
203
189
190
168
191
134
144
137
157
181
148
202
161
217
218
214
156
126
174
214
213
127
179
147
172
125
183
173
161
150
126
136
164
190
172
158
211
200
134
174
178
169
192
139
152
162
200
150
159
144
196
182
205
177
141
212
213
200
137
159
211
174
196
125
133
135
220
192
162
214
188
192
160
176
185
160
152
123
148
145
184
152
127
177
202
133
119
123
113
110
150
129
133
124
123
147
133
114
140
145
104
128
130
142
143
103
128
135
132
126
110
127
139
117
102
106
146
108
124
108
126
115
145
116
143
115
147
133
103
145
128
122
102
100
105
142
122
103
130
145
147
113
127
104
110
132
119
127
116
141
117
146
113
144
143
102
118
125
120
114
105
120
113
113
139
148
107
122
104
150
145
118
144
114
129
135
108
135
150
111
127
137
135
136
105
129
146
112
149
106
147
112
103
102
103
144
147
133
115
121
101
132
139
115
104
110
128
130
100
101
144
110
120
115
148
110
136
110
138
116
128
114
106
133
127
127
125
140
114
146
113
117
144
107
102
137
116
110
118
100
115
137
125
133
108
112
101
128
124
130
118
148
132
191
205
120
137
130
146
204
125
218
160
156
123
198
146
167
142
121
189
148
130
179
120
155
134
149
162
168
142
150
202
219
188
162
150
179
190
148
197
143
143
186
187
178
132
137
128
134
142
193
153
181
186
194
180
174
134
198
166
133
152
150
180
213
181
171
127
128
152
182
122
192
175
162
195
171
145
164
203
169
159
215
217
174
175
184
144
167
137
162
145
214
219
208
182
169
195
131
212
190
173
128
179
207
192
200
214
199
135
176
152
170
211
137
207
140
218
181
204
183
167
148
207
165
191
172
193
203
211
121
214
200
131
120
153
192
180
211
124
162
187
216
135
156
212
143
131
219
160
182
146
120
120
192
199
217
215
215
139
214
217
157
162
174
212
131
174
195
164
134
192
163
211
128
115
140
107
133
114
125
142
116
150
132
131
107
110
104
144
142
149
123
148
131
128
124
127
130
149
115
127
110
139
133
128
111
133
137
101
125
126
125
136
108
113
127
145
124
100
103
148
123
145
128
107
136
149
125
120
110
106
118
126
147
137
149
115
106
148
110
107
114
147
114
147
112
128
132
146
135
126
132
118
110
137
141
133
107
146
109
111
135
129
133
113
106
133
117
104
115
100
119
104
106
138
144
145
147
146
147
137
144
140
123
148
145
117
103
143
107
123
131
120
139
117
143
107
112
110
106
130
140
149
104
117
142
110
143
126
112
135
131
106
150
111
103
136
120
107
150
111
139
114
146
113
108
132
106
105
103
130
108
143
101
132
148
126
126
211
204
212
220
134
142
183
171
172
187
164
178
215
209
214
130
151
183
210
143
145
202
178
189
199
149
164
140
191
195
163
135
211
203
176
169
196
125
162
140
167
204
211
176
150
142
127
183
176
166
139
195
203
180
185
211
121
179
189
209
144
208
203
167
137
133
188
214
122
195
160
172
173
134
215
151
204
140
183
196
218
128
199
200
129
215
169
149
211
129
127
127
132
205
149
216
126
219
179
157
177
153
143
194
207
180
201
172
191
186
204
200
205
188
133
183
150
146
150
179
186
130
200
167
192
156
127
217
154
128
158
154
122
195
214
207
135
151
158
164
187
191
192
149
207
218
174
197
202
215
153
183
184
213
184
167
155
200
184
135
160
198
144
127
148
115
107
126
124
106
126
145
111
115
124
105
143
135
115
117
110
104
127
102
105
143
113
139
123
128
112
132
147
121
103
112
144
134
129
119
145
145
121
132
117
121
121
130
104
112
119
113
131
116
131
108
139
114
135
141
133
102
117
135
129
115
123
125
148
142
124
144
102
140
149
121
140
140
139
149
103
124
107
150
100
133
109
149
124
128
103
121
137
106
124
141
113
128
136
102
134
127
121
144
141
140
117
108
149
132
106
103
129
118
134
108
117
143
132
122
129
147
120
105
136
147
121
142
103
105
113
114
112
146
116
103
139
145
130
125
119
108
141
145
124
140
141
103
132
127
140
217
152
204
187
217
151
155
219
205
141
125
220
196
134
173
178
189
139
139
194
182
195
205
153
189
151
161
161
162
157
178
217
220
147
146
144
214
131
123
155
211
123
199
137
168
176
214
163
219
129
166
197
127
211
132
129
161
202
218
171
199
200
133
200
129
207
122
183
174
124
162
197
148
177
209
145
217
134
152
216
155
189
179
196
134
189
143
206
164
202
174
203
179
144
141
198
187
171
145
143
167
163
203
137
120
141
183
143
157
188
190
203
198
136
125
188
194
149
163
188
129
158
120
142
123
174
188
211
220
206
202
123
149
215
216
141
125
154
144
120
146
153
199
218
123
125
213
146
140
147
125
125
143
136
125
145
143
133
124
150
147
135
135
135
146
150
117
147
119
111
136
142
143
132
136
143
143
124
147
124
141
122
103
139
125
105
144
130
141
112
121
137
132
114
104
128
123
110
143
117
126
122
113
140
111
126
140
140
102
126
113
147
141
136
110
100
131
139
138
104
134
124
123
125
113
113
133
124
111
104
114
110
150
114
121
130
102
133
148
121
125
111
143
106
135
133
133
116
119
125
118
133
101
131
130
146
146
136
150
130
127
121
145
145
141
123
149
119
123
107
112
100
140
119
111
104
108
118
118
125
149
141
145
120
145
142
139
139
105
149
142
122
107
127
100
108
146
112
135
114
139
107
109
108
176
210
186
139
208
148
129
158
145
149
150
145
132
176
160
191
187
192
192
143
176
130
189
206
141
206
195
140
148
167
180
200
200
157
157
192
207
179
210
132
134
172
189
189
195
163
154
183
197
170
174
207
180
136
122
176
151
192
181
220
200
169
180
120
124
206
135
143
144
167
179
127
199
138
193
134
134
215
213
135
122
202
166
164
175
174
170
176
182
174
197
215
126
127
132
144
203
211
187
202
200
214
167
190
130
139
131
219
199
214
182
191
196
133
129
203
151
178
130
181
209
165
159
128
135
173
141
193
210
126
143
114
106
135
128
108
141
110
103
117
133
130
109
104
141
142
106
122
112
106
117
130
137
144
133
140
109
105
126
141
123
113
122
107
122
106
122
113
144
105
100
123
146
126
131
147
105
148
138
141
124
129
101
120
133
102
115
104
142
108
131
125
145
126
141
126
121
118
109
122
121
146
137
103
141
105
149
130
132
147
122
104
122
142
109
146
114
141
140
148
100
145
117
125
133
122
106
111
122
138
125
126
147
121
146
138
117
133
134
107
117
123
128
104
148
101
140
148
131
105
101
128
119
114
130
126
109
112
143
107
133
117
127
128
117
120
136
100
150
112
145
131
216
195
131
155
197
203
214
211
169
190
199
194
138
140
207
175
158
156
177
184
151
138
186
167
147
141
121
207
158
168
205
179
197
178
156
141
164
130
194
203
189
157
162
139
153
149
193
175
199
194
201
136
178
199
220
195
124
168
143
160
142
191
145
131
159
166
155
216
164
217
135
187
133
219
184
171
120
124
131
142
146
140
139
216
153
125
181
185
145
196
144
199
172
183
170
176
182
151
174
210
123
132
176
168
151
138
206
158
131
214
123
158
170
137
142
159
215
215
214
164
190
173
191
204
133
126
206
148
173
201
197
209
145
212
152
176
165
189
134
153
159
120
127
186
139
136
178
184
151
166
140
178
191
200
185
208
170
189
120
124
159
169
202
147
139
125
198
115
104
135
126
106
150
126
109
103
130
124
133
120
129
149
112
112
114
117
131
147
101
110
145
145
118
118
118
134
150
150
102
126
107
129
134
124
140
132
103
104
128
107
147
148
147
125
132
107
125
116
137
117
150
134
140
134
121
115
143
114
131
107
148
148
107
148
129
138
110
126
137
129
149
108
142
110
123
135
134
133
146
145
133
140
143
122
124
101
110
109
135
111
140
141
102
104
129
137
112
130
134
111
127
142
120
129
139
120
145
106
144
105
119
102
134
131
124
137
103
137
142
120
121
147
101
115
106
113
131
146
150
125
100
150
122
126
140
137
112
124
120
124
116
101
142
135
115
141
114
133
138
114
133
129
133
132
100
146
141
130
204
206
163
199
129
148
179
197
175
124
204
155
176
127
177
125
197
126
217
138
170
215
140
172
180
181
141
135
142
148
172
201
205
218
180
213
175
201
194
149
165
145
126
134
184
135
127
174
209
144
218
220
177
159
150
131
202
168
187
172
145
125
141
150
129
175
139
159
204
161
132
158
204
151
144
209
194
169
145
218
194
194
142
183
176
172
207
167
145
153
207
206
165
121
130
183
121
171
194
138
166
196
143
125
122
152
180
128
193
178
122
128
179
162
199
183
174
175
136
203
146
142
171
209
157
194
172
175
114
127
125
109
102
126
148
102
123
109
142
150
149
106
110
125
129
133
113
119
124
146
130
106
114
100
109
144
116
149
124
133
131
133
144
116
120
144
120
115
122
137
126
149
130
130
136
109
123
117
100
139
148
145
107
106
124
133
143
122
111
101
140
120
129
135
122
106
137
137
121
140
147
127
139
117
136
110
122
150
125
146
149
149
116
147
131
102
135
130
135
113
117
101
128
100
103
146
137
111
125
144
146
123
114
118
150
113
130
132
119
140
106
144
117
113
132
148
148
109
130
119
139
102
108
116
130
135
143
127
107
123
132
112
127
138
131
139
116
105
107
110
117
138
128
111
102
138
120
141
143
141
143
116
136
149
140
116
123
133
100
148
131
131
131
129
165
186
164
207
188
213
213
220
155
130
163
155
184
152
122
180
179
157
143
153
176
127
216
183
156
156
202
186
155
161
210
202
157
169
199
220
131
218
130
204
183
126
208
150
159
157
155
184
138
207
156
199
147
148
138
182
201
164
158
183
121
175
138
155
220
179
171
220
177
173
137
138
168
190
184
202
161
152
128
152
148
220
174
220
172
184
174
179
202
199
132
143
121
182
164
217
138
120
209
150
191
138
178
153
169
172
197
172
199
123
207
182
156
124
126
217
167
161
182
201
173
158
170
145
135
170
217
126
169
208
199
137
175
121
138
111
104
130
105
149
107
112
124
115
116
142
132
150
134
110
130
148
101
141
105
136
114
123
101
122
136
125
134
105
133
103
125
139
124
117
144
125
109
101
139
112
106
145
144
138
138
102
103
146
104
104
121
132
119
105
112
150
116
106
133
125
149
121
115
102
131
124
134
122
124
128
118
113
125
140
132
109
150
109
114
146
114
135
123
145
117
137
113
138
149
120
149
112
133
107
134
130
123
121
124
139
106
108
101
103
102
121
125
127
104
141
113
129
101
145
115
146
115
110
119
133
139
117
113
125
147
145
101
147
126
140
146
120
111
133
101
129
132
114
128
118
148
122
109
145
128
116
109
144
191
188
138
218
127
209
216
163
199
180
216
196
165
191
128
189
182
136
186
176
124
198
127
189
131
134
202
147
141
201
176
178
169
150
209
220
138
160
198
137
141
202
203
147
157
184
162
185
121
126
153
130
183
192
131
171
139
195
168
163
209
168
209
197
155
197
214
186
210
161
159
217
219
157
148
135
158
205
206
156
140
154
150
132
157
130
214
126
141
121
179
154
180
130
140
188
201
167
182
204
137
210
172
155
127
178
135
120
170
150
180
129
204
164
150
193
163
217
138
163
197
164
214
144
218
154
191
150
209
171
176
153
146
211
195
140
130
130
135
127
177
191
138
193
158
127
175
125
148
120
137
128
139
138
133
146
150
123
147
104
107
128
130
122
118
105
150
133
117
107
109
139
106
105
124
133
136
147
137
131
138
103
107
143
121
125
139
148
122
136
132
112
143
129
101
141
107
101
135
141
122
150
141
111
117
125
132
150
104
118
128
146
144
131
119
135
107
146
149
149
121
124
113
108
134
113
150
120
132
109
113
116
103
123
125
125
120
150
142
141
134
125
122
125
145
113
139
144
125
122
144
125
139
150
129
108
133
123
139
116
149
144
146
133
122
150
108
132
146
144
111
145
119
121
107
125
123
121
146
145
100
101
103
148
141
132
123
144
120
139
116
109
109
139
130
115
131
133
114
119
104
117
148
147
133
131
133
147
105
139
132
117
147
110
131
146
133
141
149
125
126
112
150
168
151
166
133
120
188
217
203
202
211
142
130
125
125
173
158
162
127
214
143
189
205
190
190
185
213
184
162
217
183
168
123
217
186
205
208
174
139
206
213
165
144
155
180
195
177
201
183
136
121
125
120
122
176
213
133
150
196
154
142
196
187
198
184
179
211
127
179
144
123
192
141
141
199
194
204
127
156
214
134
204
131
195
161
133
157
151
178
208
157
172
182
213
200
194
133
161
165
166
168
153
138
162
204
190
140
123
198
122
148
129
148
138
198
220
120
163
135
163
176
175
209
188
153
178
129
201
142
140
144
100
100
115
114
106
150
149
122
131
143
105
150
110
129
146
143
115
108
115
144
133
118
143
143
117
117
123
114
107
107
111
142
101
149
109
115
102
103
119
133
119
120
142
125
111
134
111
101
130
149
104
139
143
123
101
112
142
140
133
100
147
115
105
142
132
147
105
106
107
125
124
103
116
110
147
103
140
135
147
140
134
131
120
112
105
111
125
145
149
124
118
135
121
110
147
144
123
132
148
118
117
129
140
106
137
110
110
141
138
146
121
117
114
122
105
147
108
108
126
134
115
132
126
121
109
115
100
103
112
140
122
144
183
156
217
136
170
197
216
175
142
216
150
130
173
207
148
189
172
137
168
180
182
207
167
149
205
130
204
215
174
156
163
147
206
150
159
128
190
197
169
185
123
129
217
135
143
215
195
204
179
210
169
212
215
181
166
143
148
208
218
140
140
136
152
215
203
191
122
161
202
135
210
162
156
131
145
163
198
183
211
168
174
163
144
184
196
183
148
151
185
201
191
218
120
213
125
200
220
172
220
146
165
211
138
144
168
191
210
155
162
131
188
199
145
152
217
192
191
120
220
179
175
183
163
195
205
181
209
195
200
166
155
216
148
190
174
215
131
198
213
155
197
215
139
123
142
150
102
111
113
144
122
123
108
150
127
132
116
115
100
103
146
122
125
125
102
140
108
120
135
149
114
124
114
107
138
128
126
103
112
132
103
123
104
100
125
133
148
143
138
128
104
134
111
110
141
124
144
138
110
144
136
147
139
144
112
110
118
134
100
142
129
145
111
116
143
148
148
111
112
111
122
144
120
113
121
106
140
113
107
139
116
147
104
117
110
135
118
113
127
105
130
102
136
147
103
121
130
136
142
105
126
113
134
116
143
121
123
137
143
128
127
110
126
107
139
120
145
132
139
118
123
132
118
105
101
108
115
100
119
138
129
101
118
123
111
108
149
109
124
112
128
123
107
108
122
129
133
100
164
219
186
121
136
126
129
215
206
180
188
146
156
126
127
179
166
176
121
209
146
144
147
160
144
158
128
206
193
178
172
197
215
176
146
188
142
127
212
171
154
188
209
210
132
160
139
173
134
194
198
122
130
176
154
156
148
146
177
167
164
122
140
202
183
136
138
208
181
160
129
147
197
208
203
181
173
209
157
217
124
174
216
218
212
164
129
217
135
176
139
186
128
219
161
219
166
193
123
161
206
199
191
147
163
139
158
197
199
188
197
217
130
144
212
198
134
160
195
154
121
184
138
177
179
133
141
191
139
148
132
197
206
132
154
190
104
115
120
134
142
136
100
118
146
115
101
143
141
134
107
104
100
129
110
123
148
123
150
141
146
126
142
119
107
146
125
146
117
118
136
104
145
122
125
138
144
114
136
147
128
119
107
119
110
128
109
129
142
127
114
110
109
103
111
102
140
136
140
135
102
123
127
126
140
113
106
107
149
143
140
109
130
122
121
142
119
121
119
101
113
111
125
121
116
150
146
129
114
139
134
138
123
103
133
100
133
124
104
135
123
112
121
130
102
140
138
127
136
147
126
116
126
135
101
116
140
118
134
149
132
108
140
103
121
120
120
106
139
170
161
219
178
204
121
134
146
209
198
131
130
152
153
185
128
130
214
122
124
178
160
174
144
194
210
173
208
155
168
183
139
206
182
220
138
143
139
186
193
220
220
170
134
150
167
151
158
162
196
210
206
139
137
155
175
146
206
153
147
214
124
166
159
188
167
166
178
178
133
181
183
150
200
180
138
176
133
170
203
204
120
201
167
218
124
211
136
194
183
139
121
181
192
202
203
161
149
146
196
219
162
208
175
147
177
183
183
171
182
204
196
179
129
219
183
219
178
215
142
163
192
184
134
136
201
160
197
137
205
211
134
116
146
147
130
148
128
103
107
135
125
142
144
103
111
126
130
136
119
133
138
103
136
125
120
110
105
102
109
149
125
119
108
128
124
135
111
100
107
104
137
117
148
128
129
142
116
119
121
100
141
124
139
140
113
125
104
137
120
122
131
121
113
118
103
106
106
134
128
128
136
139
130
117
112
123
112
116
121
114
113
135
106
110
114
109
103
136
116
125
138
109
115
147
123
113
100
106
143
105
150
117
130
150
115
112
135
107
107
144
125
126
128
143
110
123
107
118
114
140
119
115
111
114
132
127
138
126
125
100
137
128
136
145
127
107
190
177
200
215
127
133
197
213
156
148
147
179
204
143
174
211
207
176
142
196
161
168
121
199
188
203
156
170
220
188
158
139
174
180
120
179
188
165
178
154
129
212
144
157
127
164
125
204
188
167
204
169
156
165
160
186
183
135
192
170
150
195
176
205
131
177
141
207
202
188
189
186
129
182
174
157
124
217
173
206
145
167
185
185
166
151
143
132
171
183
148
138
208
187
199
194
146
213
203
172
165
175
153
208
218
208
161
173
165
204
208
211
182
122
129
213
188
145
206
212
121
155
134
190
131
214
194
176
205
169
133
148
205
217
176
161
126
127
178
172
158
215
202
182
166
191
143
207
217
207
129
172
199
200
182
203
216
140
186
192
200
112
102
102
128
146
141
126
119
144
111
107
100
141
120
110
143
130
137
131
133
144
106
116
149
118
140
117
107
116
123
119
124
100
107
124
135
136
129
112
124
118
126
147
148
142
115
119
130
141
123
146
147
145
116
122
128
120
112
130
115
104
107
113
125
148
118
134
117
119
122
129
102
147
102
131
137
138
129
143
116
117
146
111
111
135
116
146
129
113
143
131
147
120
115
119
121
140
123
123
109
132
147
115
148
115
131
112
143
134
125
143
136
120
126
149
128
140
101
123
140
114
149
133
132
108
113
117
126
107
147
121
147
138
116
126
120
142
148
117
109
104
111
116
130
111
133
150
139
141
127
118
143
140
129
115
125
113
179
137
208
193
207
120
124
189
191
124
128
156
130
202
167
133
214
171
150
193
132
125
213
156
125
179
184
138
125
217
175
178
209
186
153
141
147
156
158
139
181
202
214
155
208
134
131
193
209
208
170
220
149
178
167
151
160
159
157
194
188
179
135
144
210
205
203
134
122
172
187
126
127
174
190
201
216
124
189
128
185
200
174
127
197
150
143
181
125
205
132
123
214
180
156
152
143
198
188
123
135
177
216
183
176
121
150
175
155
213
143
149
217
165
215
179
135
186
144
164
212
162
133
121
148
191
126
207
191
183
136
196
195
220
167
198
211
176
215
212
177
211
211
124
218
151
216
152
163
197
182
179
183
162
151
186
195
201
211
154
128
120
217
133
129
103
131
132
134
109
128
121
117
131
115
103
120
113
142
111
114
131
117
136
131
110
149
108
141
102
131
113
118
137
100
108
105
130
123
100
144
148
116
126
114
102
144
120
121
130
141
112
100
123
132
133
147
102
103
145
127
109
146
135
143
132
109
118
121
109
115
117
114
131
147
124
122
122
126
145
107
125
132
102
125
141
142
126
123
128
140
140
142
137
133
138
131
110
105
147
129
129
114
145
101
130
111
120
141
103
128
120
123
106
145
130
110
111
129
122
150
112
142
112
106
119
104
107
105
102
113
132
103
103
137
137
112
118
124
124
122
134
121
147
135
142
107
117
115
145
139
103
131
101
115
103
146
106
105
113
123
143
126
149
138
112
123
143
204
129
143
162
145
141
164
216
150
173
211
193
177
128
200
178
198
181
211
160
219
123
136
187
147
180
132
147
145
171
197
178
134
211
179
147
167
208
121
140
123
177
121
154
133
132
161
164
155
138
194
184
166
145
158
177
196
189
171
151
130
220
201
149
204
183
213
208
152
150
198
149
163
181
125
216
145
141
176
173
126
188
194
193
160
190
209
199
123
123
204
166
206
155
152
144
205
120
147
211
169
166
146
144
189
206
200
195
139
191
125
196
139
199
181
174
162
195
171
144
124
179
121
210
128
173
172
190
166
125
202
177
129
124
141
119
106
143
139
109
117
111
138
118
118
135
118
125
130
147
136
126
113
135
139
106
123
106
118
101
129
143
132
150
123
117
106
110
100
149
125
128
147
128
107
122
135
104
117
101
145
136
149
126
119
145
141
125
110
118
103
119
137
102
103
115
100
143
142
128
143
119
100
130
120
109
102
136
136
135
107
138
137
102
121
143
147
116
134
104
147
150
104
104
139
145
103
140
148
127
146
142
138
123
121
108
120
104
131
140
149
114
109
147
118
134
120
119
126
100
132
109
141
141
120
111
132
123
117
128
126
135
124
122
144
126
134
115
140
149
101
141
105
104
129
124
147
119
142
137
130
109
113
130
149
120
124
135
131
124
121
135
116
131
131
116
139
119
103
145
125
145
146
201
138
141
134
145
203
202
172
193
209
146
191
209
138
190
149
122
187
150
198
176
189
151
183
218
132
135
215
173
131
183
181
132
165
128
192
220
188
128
138
192
153
159
163
186
174
199
153
129
171
157
136
211
214
121
154
195
160
210
218
124
136
146
157
171
174
156
172
139
149
197
220
200
125
149
129
136
180
169
194
127
134
198
207
129
196
148
207
187
165
217
165
181
145
146
184
189
146
143
128
210
188
145
170
197
219
139
160
164
196
155
195
128
140
167
134
149
179
185
141
190
215
125
218
158
191
158
173
139
149
162
152
195
160
208
204
179
193
124
144
154
168
135
171
128
140
175
130
167
126
148
104
104
133
134
135
148
135
130
101
122
113
114
109
118
143
100
132
124
116
130
146
115
105
148
115
140
134
111
115
145
101
135
104
139
131
140
128
149
102
103
149
114
111
141
141
130
112
147
104
109
100
101
117
111
124
144
144
130
137
126
119
130
107
142
132
150
109
147
136
144
105
136
112
148
106
119
105
119
105
105
110
133
149
127
121
148
115
145
101
147
125
131
111
123
101
145
150
103
148
135
127
139
150
110
107
116
112
124
113
131
101
102
100
111
115
123
119
119
113
110
133
148
122
118
145
135
108
121
145
123
130
114
127
101
109
120
100
103
128
128
118
117
113
100
133
140
113
138
110
117
146
101
182
184
185
159
165
218
209
204
182
218
204
140
141
121
139
175
155
179
189
183
197
150
209
214
210
167
171
144
190
132
204
143
217
190
176
131
149
142
127
219
166
122
131
210
202
163
172
122
206
139
171
121
174
144
212
194
126
182
146
174
153
129
199
210
210
176
213
156
209
158
157
166
145
161
194
169
206
206
199
220
189
193
141
209
194
215
149
175
182
174
191
193
142
189
150
142
207
182
141
201
122
212
175
175
143
210
129
179
182
147
170
160
146
181
176
194
186
145
156
208
219
219
174
134
198
216
128
179
131
161
185
135
168
124
129
207
145
146
137
131
153
133
121
129
123
126
125
106
138
120
133
131
128
102
108
136
106
137
140
128
126
104
132
129
106
127
107
133
124
125
118
106
127
134
139
118
139
134
136
111
124
111
124
143
112
108
121
114
119
137
111
123
149
115
141
119
104
115
130
123
130
144
144
109
126
101
122
116
128
130
116
148
147
144
106
146
150
141
102
135
141
129
131
124
125
105
103
131
144
118
123
102
101
146
146
148
146
128
142
126
143
145
126
133
142
115
108
150
128
136
150
134
144
141
119
112
117
106
102
121
137
115
115
126
103
103
136
148
141
137
128
141
136
160
199
185
193
167
176
175
133
191
214
190
182
159
143
203
178
150
196
211
132
146
146
154
122
172
203
163
161
145
153
185
150
158
147
144
173
187
193
159
213
210
177
209
183
164
201
175
137
167
156
138
125
165
138
196
200
170
172
179
132
151
216
189
147
203
136
154
161
123
165
140
122
163
147
163
170
138
218
165
157
161
200
120
179
137
167
184
201
188
194
139
202
199
205
204
201
143
155
157
146
190
186
163
169
150
220
193
142
147
197
120
126
177
152
204
146
167
174
194
218
166
161
197
210
144
217
212
130
123
150
146
172
172
125
210
205
167
172
156
192
202
132
155
183
212
201
138
192
179
127
165
124
184
142
184
184
128
146
118
105
114
112
115
103
100
104
122
131
129
142
115
138
115
121
100
102
145
124
116
132
147
147
134
133
112
113
105
119
135
115
122
145
139
146
106
126
112
137
108
137
111
127
110
118
113
125
150
125
146
132
140
139
138
119
131
102
124
128
137
108
131
108
145
137
147
110
150
140
114
104
126
130
110
112
143
102
141
136
144
149
101
104
138
115
101
101
134
138
142
107
146
119
125
125
145
126
115
149
114
133
100
106
106
123
120
132
127
145
137
115
145
146
108
128
127
133
107
101
127
126
104
119
112
143
111
143
101
133
127
115
108
107
177
215
191
136
188
174
132
151
196
165
173
191
212
215
215
185
198
130
147
204
122
215
182
144
141
181
184
126
129
171
174
195
206
120
194
190
147
123
176
183
183
208
178
197
186
142
149
157
135
126
153
129
125
194
186
179
174
173
204
151
138
122
184
161
131
175
217
130
208
174
121
154
192
206
190
202
134
120
132
159
154
180
189
155
185
167
206
213
141
149
164
181
190
214
158
158
219
134
203
154
156
210
208
141
208
134
186
169
161
126
122
196
129
151
137
136
160
184
215
151
172
210
137
206
175
194
159
101
103
106
148
134
139
118
138
128
147
103
113
131
141
116
149
125
116
113
116
112
122
137
125
133
138
112
119
134
148
108
118
144
128
146
104
116
149
138
144
124
148
122
144
142
148
110
121
114
101
119
111
117
146
137
140
127
109
114
115
126
128
107
146
118
144
126
118
133
128
120
143
123
114
134
137
143
132
133
121
114
109
126
102
139
148
127
113
119
132
137
130
117
145
100
119
128
147
116
115
118
130
149
120
110
107
119
123
100
123
107
150
143
114
110
100
126
125
117
120
139
129
104
142
112
117
100
118
121
129
150
134
109
114
126
103
130
106
131
150
141
133
198
134
168
176
218
179
152
160
196
131
157
132
209
147
136
178
213
201
175
137
149
214
158
188
161
203
148
150
166
172
194
120
188
132
214
141
173
162
167
201
174
180
178
161
185
133
125
154
209
199
182
141
185
215
169
187
164
181
182
173
194
179
140
144
140
199
155
136
183
163
182
197
161
128
158
170
162
146
175
127
212
180
124
161
148
215
165
180
204
126
212
212
159
207
147
174
186
125
147
177
134
135
122
203
166
135
155
202
207
219
162
200
172
126
172
198
137
187
189
147
179
186
209
158
196
178
155
148
152
135
138
174
190
189
195
137
174
162
143
163
168
169
213
127
128
130
165
120
159
158
189
179
213
214
125
213
202
176
187
186
153
135
134
136
124
146
138
145
131
149
119
113
111
142
142
136
103
110
118
104
119
129
106
114
119
123
111
133
150
149
116
118
107
127
129
125
132
117
100
146
100
148
142
123
132
105
123
128
123
120
143
105
135
118
147
124
112
123
107
102
148
144
125
137
102
102
146
139
110
119
121
145
103
102
104
109
143
117
104
118
118
126
143
146
134
115
126
126
106
115
123
120
121
111
120
109
144
104
144
122
127
123
111
111
135
132
125
121
140
147
105
104
100
103
131
102
114
100
106
114
132
100
132
117
107
113
139
107
172
204
154
166
154
121
183
196
146
205
179
218
138
159
165
213
137
215
121
214
144
127
177
196
219
125
128
150
126
137
169
156
185
126
149
216
202
128
172
137
187
133
172
203
139
173
159
185
163
137
175
207
144
126
173
211
175
217
123
163
121
188
129
219
122
140
141
161
186
139
156
188
209
207
183
216
215
160
148
220
135
126
132
121
199
145
193
127
174
143
164
132
156
148
214
144
216
170
160
181
148
173
206
137
211
132
188
168
208
133
203
127
209
218
165
205
173
183
180
212
183
152
167
147
181
123
194
187
123
153
159
132
159
149
112
125
110
147
134
122
148
107
150
111
140
123
137
147
112
105
148
149
126
145
117
129
102
140
105
144
145
113
146
116
126
135
117
129
103
132
150
133
146
116
119
135
128
130
147
118
110
135
111
137
138
106
141
144
121
108
104
148
108
124
145
144
120
138
149
106
147
144
144
104
110
125
105
138
111
119
122
118
116
113
124
132
116
101
138
125
145
103
106
139
119
104
105
150
110
112
136
101
130
131
139
123
131
118
132
136
116
124
150
143
122
145
116
123
146
131
144
144
108
147
106
145
138
103
140
139
127
123
129
103
104
129
110
120
135
130
127
114
120
106
119
143
141
123
129
145
164
212
129
144
171
181
196
198
185
155
129
135
151
181
125
212
219
208
175
148
159
201
144
203
217
143
142
152
207
189
167
125
148
193
190
211
177
128
212
207
136
175
194
163
143
183
219
141
220
166
209
177
217
162
163
186
207
157
156
155
213
134
220
136
160
183
165
129
204
171
147
172
170
154
149
122
218
139
171
191
206
175
128
200
209
181
124
177
149
180
201
204
139
193
142
203
141
199
133
138
151
125
166
148
136
127
212
142
168
170
141
145
219
195
204
210
182
163
196
181
215
161
145
138
131
165
205
123
177
213
161
180
123
213
184
146
172
193
164
209
207
190
187
160
148
127
140
129
132
141
216
167
219
204
154
179
139
192
126
132
146
102
122
129
138
125
123
111
135
126
144
135
121
106
150
149
123
145
137
117
100
127
145
127
147
111
124
149
133
118
114
117
104
139
124
111
138
112
144
150
147
106
106
120
142
122
133
132
105
126
122
139
104
143
120
136
115
124
108
106
150
142
128
132
141
129
127
140
124
150
112
118
118
145
129
140
125
127
140
110
132
124
118
103
125
129
131
142
144
126
103
130
115
137
136
143
117
117
142
132
145
146
121
150
128
113
129
137
137
127
140
118
113
132
140
132
127
103
107
124
110
118
127
104
124
133
109
137
110
136
138
106
136
126
148
145
110
130
114
110
119
105
102
116
113
138
102
144
111
172
206
176
190
131
144
170
204
174
125
151
143
132
170
121
217
200
120
186
174
121
187
120
127
149
147
208
134
193
182
174
168
186
182
120
204
130
124
208
215
187
196
138
154
160
148
209
174
163
215
166
206
201
159
194
218
187
216
134
184
181
174
210
219
203
139
157
210
162
150
132
148
120
176
151
124
194
179
147
163
163
208
156
123
202
165
122
131
176
143
179
195
208
132
150
185
202
148
128
158
199
206
165
200
184
157
149
188
152
219
160
122
139
178
172
191
204
218
122
137
220
168
144
191
202
148
151
159
134
180
164
158
152
216
152
120
187
106
134
136
107
136
118
108
110
139
133
143
144
113
124
138
137
123
142
107
122
103
139
112
112
121
117
103
104
136
118
107
139
121
130
136
101
106
118
147
146
128
139
105
124
123
111
107
110
150
121
144
112
141
123
139
123
126
142
144
130
102
104
122
105
112
113
115
141
150
141
113
124
123
138
106
142
114
113
107
116
144
138
105
111
102
131
111
122
113
106
127
140
103
118
107
122
150
130
115
121
129
117
114
106
147
146
113
134
140
142
119
106
129
136
143
112
122
104
132
100
139
143
148
145
126
114
108
113
114
122
100
214
150
212
129
168
148
125
147
204
137
174
158
137
163
164
166
121
124
205
157
164
185
138
134
165
217
184
124
179
120
140
189
120
135
197
205
216
218
122
219
193
186
139
219
162
166
139
152
134
216
139
131
168
133
213
208
141
138
152
133
212
168
215
198
175
136
152
177
137
120
193
151
203
154
164
176
146
212
179
163
180
209
219
200
162
211
180
185
203
187
124
155
215
151
120
162
201
220
182
130
139
146
144
151
204
192
185
208
142
179
147
211
153
156
158
156
208
208
193
150
170
137
129
158
141
149
203
152
210
206
178
128
200
178
219
158
214
153
161
130
151
192
151
210
130
207
148
164
217
213
208
176
122
153
160
142
172
187
164
169
215
153
151
216
175
204
158
207
130
165
172
208
102
135
103
150
148
135
101
150
102
101
130
105
140
130
110
138
118
143
112
131
139
150
100
111
127
103
145
104
127
118
121
143
134
103
106
112
147
117
122
105
103
150
138
121
137
110
123
143
135
113
119
105
117
101
114
122
112
113
133
141
136
118
114
143
130
132
109
111
102
108
102
125
149
119
140
137
147
111
100
109
127
126
149
133
147
135
103
117
146
100
129
144
122
121
119
111
111
143
112
129
119
124
110
128
116
139
143
118
107
150
148
100
104
136
129
132
148
149
114
129
133
128
131
117
132
142
107
129
121
132
139
123
150
134
114
104
123
108
122
126
147
148
101
136
143
124
110
143
111
126
188
186
208
148
184
157
150
122
159
218
182
163
152
168
200
202
157
215
192
133
125
207
172
205
205
164
190
205
153
167
146
180
128
208
217
176
141
129
121
212
202
137
190
191
181
194
161
121
125
139
144
158
169
189
212
217
137
200
135
151
199
216
206
123
184
133
132
200
173
177
174
177
202
140
159
198
192
191
120
197
145
139
149
179
145
175
171
206
141
204
170
210
182
155
143
129
184
129
190
183
171
135
188
187
209
170
202
201
203
180
220
207
199
163
153
169
190
154
176
146
160
163
173
185
178
206
204
141
189
154
157
177
151
134
189
194
168
153
205
165
193
154
166
167
174
155
158
187
124
191
126
146
184
181
179
103
133
138
118
137
118
114
102
100
110
133
109
131
141
117
136
117
127
142
121
130
142
143
111
138
138
129
123
119
143
106
149
127
102
114
114
131
139
118
131
145
126
131
138
132
135
114
121
116
150
128
120
106
150
117
101
148
115
137
101
104
134
130
150
118
147
135
120
103
113
130
137
109
134
135
140
119
147
102
118
121
109
139
124
113
142
127
132
100
126
125
110
148
142
140
115
140
115
130
119
131
114
114
108
112
145
109
119
103
140
115
102
148
115
114
139
129
117
131
113
101
104
101
142
144
126
117
100
122
129
174
188
199
174
128
124
158
150
168
181
220
177
202
151
128
214
127
157
127
127
139
152
191
133
151
187
123
171
160
188
191
159
162
120
146
123
158
192
196
190
137
122
197
197
214
155
123
150
138
161
147
123
155
121
214
122
217
201
160
180
163
138
199
168
219
151
148
218
167
134
177
168
168
124
151
130
125
205
173
192
130
129
179
135
131
215
199
210
212
195
164
184
150
130
183
146
168
154
126
151
194
167
171
159
179
189
178
128
200
130
170
142
197
173
215
172
191
211
196
171
168
157
123
174
205
160
154
198
208
195
175
169
186
186
138
131
200
147
197
210
152
185
159
120
169
197
216
202
197
126
193
181
152
218
209
198
219
125
113
138
137
114
127
148
146
129
129
111
120
102
108
149
129
134
138
126
132
140
114
119
143
131
105
101
116
135
117
138
135
130
112
137
117
137
128
132
130
134
126
148
100
129
129
141
120
113
132
113
121
113
147
111
142
149
120
101
133
113
132
115
139
100
105
104
103
137
102
123
138
149
134
114
122
149
111
132
141
119
147
109
148
129
130
145
142
116
106
133
102
102
148
105
126
139
133
146
121
111
117
148
118
115
124
103
140
109
130
136
130
130
136
106
145
110
144
108
109
139
105
133
116
107
101
101
135
101
100
107
113
145
118
132
114
113
136
103
140
107
203
161
163
175
184
144
131
174
191
122
217
126
197
215
156
208
123
216
142
191
199
122
178
151
142
195
186
127
182
157
175
185
139
213
187
191
197
133
133
179
143
199
195
213
133
145
169
164
216
185
202
209
197
172
185
187
158
203
202
211
132
178
200
183
185
121
214
197
196
168
145
149
210
153
140
132
187
188
164
163
129
131
218
191
210
151
173
143
211
141
145
204
140
215
138
179
212
184
127
161
215
141
195
188
166
158
163
151
169
196
159
188
178
180
215
133
125
169
189
220
144
134
201
181
152
200
170
160
164
213
216
176
132
194
168
205
191
129
203
211
181
179
178
157
193
192
169
204
173
184
199
133
204
202
205
138
162
219
194
193
159
205
179
218
110
117
126
149
134
102
143
118
113
109
107
119
106
130
116
124
133
118
149
136
145
135
140
102
110
150
114
129
146
109
101
143
119
129
123
130
144
143
112
104
107
140
114
130
149
131
132
146
116
117
121
143
118
111
126
117
133
131
128
105
113
135
104
146
121
126
129
120
106
129
118
103
100
102
110
140
149
138
119
142
142
125
120
135
130
130
127
113
126
129
149
108
104
124
149
121
105
113
144
138
131
129
137
136
134
134
109
145
123
147
128
147
139
143
148
139
124
115
131
136
102
111
135
113
144
101
149
135
140
146
113
147
114
122
106
124
137
191
184
200
123
145
131
154
175
169
122
143
131
129
157
206
126
185
194
204
141
206
167
208
209
149
157
155
144
148
130
128
206
173
213
151
143
219
152
151
169
133
187
199
188
123
166
120
141
196
208
157
211
164
144
174
205
156
150
125
194
185
178
186
125
190
123
185
211
220
143
173
130
132
150
220
161
138
188
217
124
155
168
152
145
208
130
172
198
162
213
179
212
124
161
189
120
170
203
197
212
136
126
198
156
206
189
195
160
216
176
188
155
182
153
174
194
124
142
135
180
143
204
155
141
158
200
172
147
172
192
154
178
124
213
122
127
123
161
155
191
129
131
140
184
164
213
195
182
153
191
143
208
156
200
154
130
137
204
193
148
206
213
172
164
206
138
179
149
144
110
129
114
120
101
145
138
103
126
136
108
122
112
115
114
109
132
132
126
107
139
118
122
145
112
125
124
125
100
112
141
111
107
140
135
139
131
104
121
119
104
142
110
116
101
101
113
119
112
134
131
149
113
125
111
126
112
111
139
124
120
117
110
121
107
137
111
118
127
147
142
141
145
140
130
101
139
132
119
144
112
143
135
115
115
113
136
124
119
136
115
109
128
109
144
105
140
124
136
107
146
115
106
103
148
129
109
142
131
146
107
130
120
104
147
117
143
104
122
139
150
149
135
113
125
129
105
115
115
145
114
110
116
105
103
135
137
102
103
107
112
103
134
147
127
141
140
116
100
119
102
193
148
202
208
177
218
181
207
125
147
213
203
219
124
185
129
176
216
214
214
166
216
142
174
127
212
120
135
196
219
133
195
153
165
160
163
179
174
136
191
155
211
194
166
167
176
177
149
142
167
208
135
175
178
189
139
127
203
192
150
208
150
203
130
175
179
130
186
194
129
209
165
160
179
124
151
206
201
154
195
165
143
183
168
215
198
163
122
157
142
134
129
185
128
140
215
180
145
190
158
194
122
150
186
153
203
145
131
195
172
123
185
160
209
213
133
192
147
195
143
188
219
204
127
142
183
200
143
136
163
192
163
169
171
182
219
181
156
163
190
152
134
142
140
137
124
125
132
110
105
111
117
100
150
144
121
147
135
101
133
135
115
144
136
104
128
120
100
128
145
111
126
138
101
137
118
136
101
111
127
133
137
146
139
137
130
106
108
133
135
131
120
130
124
123
114
150
148
106
141
121
103
110
121
122
104
111
119
108
122
106
101
115
115
145
129
120
110
147
141
115
139
127
107
135
131
105
139
142
112
138
128
132
129
130
138
133
130
111
130
141
116
132
102
114
146
116
123
112
104
135
115
147
105
103
114
111
117
116
128
123
114
118
130
133
137
141
137
101
146
105
102
103
138
121
118
134
114
148
132
119
144
112
112
138
120
109
102
103
115
147
121
136
142
129
132
133
142
128
149
196
186
152
181
177
191
186
213
151
166
184
161
204
167
124
214
174
214
139
199
127
160
142
168
164
145
176
155
175
212
167
181
171
177
182
155
148
179
148
161
188
180
138
172
135
137
123
158
177
219
206
210
130
149
200
127
125
204
205
124
190
161
180
150
139
198
153
137
176
151
179
217
198
216
186
132
126
180
207
173
162
167
135
131
160
155
200
182
125
165
156
174
212
146
178
208
170
215
130
151
205
140
123
144
181
218
139
169
153
122
196
218
149
219
131
120
168
151
172
146
181
154
154
166
206
178
168
186
187
207
208
132
195
154
177
167
187
218
173
139
201
184
178
150
147
136
152
210
135
180
187
165
153
185
160
131
135
143
200
136
197
150
113
125
148
130
122
100
122
149
140
149
130
128
141
127
136
111
134
131
143
120
102
114
119
149
126
106
127
140
146
120
135
139
125
104
140
122
150
103
114
124
130
140
104
129
101
121
104
111
135
132
105
133
108
110
136
103
141
150
104
130
102
147
145
101
129
150
106
125
121
134
139
106
142
110
119
121
102
113
149
133
137
103
108
120
120
124
138
114
144
117
120
102
141
124
143
131
111
135
143
125
125
142
120
141
145
131
137
130
147
140
147
102
108
144
107
139
106
108
145
132
108
142
136
150
133
119
126
107
104
116
140
136
118
121
112
101
117
122
143
121
114
129
114
125
144
150
111
116
122
150
134
138
120
120
138
138
146
109
116
104
135
113
147
165
165
209
153
216
168
188
135
210
213
167
175
213
205
135
140
165
160
197
186
203
148
129
177
131
150
202
185
185
169
204
161
184
170
125
157
152
192
201
176
189
177
195
165
179
220
160
184
129
133
189
202
154
145
130
132
121
168
145
181
216
205
121
126
180
124
130
140
145
190
147
164
147
140
131
177
219
154
171
183
204
126
201
128
204
166
178
151
185
152
161
201
186
163
143
206
201
123
170
192
139
127
192
189
162
157
206
187
164
208
120
140
208
147
166
121
142
188
132
148
166
143
150
200
204
147
174
153
181
210
167
166
151
217
147
217
171
160
170
201
185
215
197
153
158
169
206
138
214
150
174
172
196
128
183
132
189
131
161
168
172
134
141
113
112
139
145
118
129
146
150
147
123
114
147
145
128
120
135
141
137
148
106
108
134
120
130
144
121
150
147
107
103
134
124
141
148
130
128
120
138
134
120
134
123
133
104
145
109
147
100
108
107
111
138
109
132
113
107
115
123
149
109
103
101
104
130
107
121
102
126
122
109
126
104
139
100
106
103
139
129
147
115
107
127
115
127
129
112
133
120
132
126
143
147
134
119
147
141
120
101
138
110
104
148
132
134
146
125
135
137
142
140
107
148
116
144
124
133
118
138
143
119
103
148
150
114
121
138
132
124
113
108
119
143
120
119
145
130
146
122
148
100
136
138
143
138
143
126
108
149
135
115
143
137
139
108
112
114
142
124
136
125
149
101
101
142
124
146
123
141
174
126
191
160
143
210
180
195
181
186
218
120
179
162
209
138
195
211
216
147
169
181
142
199
133
208
191
158
139
205
177
190
152
193
199
200
121
214
151
192
218
187
155
214
214
179
197
122
174
178
194
142
192
212
156
207
140
193
171
216
184
140
172
165
179
181
165
182
191
167
167
214
166
121
205
132
210
176
192
220
188
150
132
212
178
185
178
152
125
220
141
145
148
147
177
173
207
146
133
177
124
203
138
131
131
211
133
145
205
130
166
216
137
142
139
153
181
165
216
217
148
183
211
170
149
176
143
166
213
123
124
119
133
135
119
110
105
108
147
118
138
147
125
106
146
100
149
128
143
137
145
115
143
118
109
149
150
123
150
143
124
127
137
117
108
125
131
120
122
104
149
126
136
141
140
131
136
101
132
122
110
121
136
141
102
134
140
124
116
120
118
121
100
110
102
141
124
140
135
133
101
129
130
129
130
142
150
141
133
119
106
109
148
135
141
143
103
134
142
104
120
147
115
118
146
145
102
113
103
141
111
113
150
101
139
111
129
146
110
109
136
112
108
135
145
138
100
126
124
114
150
113
140
132
110
148
108
123
146
118
130
136
129
140
138
140
134
116
149
136
149
136
110
173
146
185
160
191
121
121
208
204
143
212
209
177
158
189
175
187
200
220
211
199
149
184
133
169
147
218
140
182
216
163
197
182
151
184
206
192
160
202
198
164
120
124
137
158
128
211
175
177
217
209
205
183
191
186
182
164
197
205
121
136
144
153
216
186
136
202
186
196
209
130
166
159
182
145
153
193
166
147
151
168
185
132
151
181
186
132
184
213
171
196
179
184
127
168
159
143
191
130
187
128
135
193
201
142
196
191
137
212
121
216
181
217
154
215
153
208
179
143
206
176
172
167
161
185
186
192
156
183
211
185
194
207
101
119
125
112
119
134
144
126
102
100
105
132
100
140
124
135
107
108
102
141
125
146
147
101
102
106
116
101
128
140
149
115
104
124
114
103
134
134
110
140
121
116
103
123
124
112
126
101
141
111
147
112
108
121
130
121
118
124
106
139
116
116
124
136
113
142
120
138
150
138
137
142
109
112
120
148
112
136
113
144
144
142
143
106
142
117
102
103
117
116
132
112
149
136
148
138
124
129
101
118
103
110
128
143
100
135
111
121
126
119
133
127
123
123
108
145
133
139
128
139
125
126
146
118
141
136
143
112
126
109
120
135
107
122
150
109
107
139
112
140
147
138
115
116
142
150
143
139
124
109
113
105
132
131
120
150
121
131
141
121
123
190
158
172
142
163
196
168
129
130
215
195
189
193
217
181
153
127
142
150
138
174
206
137
217
168
220
134
150
157
139
183
198
161
187
168
203
160
217
147
170
196
121
180
218
120
186
128
141
209
214
142
204
164
169
210
176
164
129
160
200
171
189
158
146
155
153
183
126
124
215
145
122
220
137
167
211
165
182
164
152
214
158
182
176
128
133
121
171
185
152
189
124
203
153
134
125
122
129
160
134
169
217
125
122
139
194
125
184
180
147
172
213
187
189
121
143
133
220
158
129
120
153
220
187
203
158
181
145
133
120
163
220
180
140
149
197
159
160
180
132
186
203
143
175
146
173
208
144
173
167
189
207
179
187
131
132
155
126
146
148
220
148
183
176
207
207
149
123
167
136
179
102
143
112
149
121
140
114
100
123
124
102
122
129
121
134
140
135
102
113
139
127
100
107
120
126
143
124
103
128
106
131
137
149
118
113
116
125
117
108
124
111
109
138
121
117
128
141
149
111
141
122
111
114
143
104
125
124
134
106
126
107
102
135
119
133
136
100
131
129
128
113
105
128
136
145
103
142
103
142
126
137
113
142
104
131
105
104
135
131
123
145
117
102
123
125
142
134
115
139
116
120
149
135
129
149
110
119
117
112
111
140
114
101
118
101
135
125
109
143
147
117
108
133
100
108
147
109
149
104
136
133
130
131
124
120
146
142
133
132
108
113
137
105
109
127
134
114
135
114
105
109
114
141
111
145
119
142
119
111
114
110
132
111
105
147
146
111
142
135
133
135
160
166
150
127
135
215
196
134
130
154
173
164
184
179
176
143
182
184
164
154
152
175
220
204
178
158
214
220
161
172
191
217
163
162
146
215
177
158
172
123
135
171
208
164
130
177
152
161
173
165
182
128
122
213
161
125
141
147
161
214
127
137
150
161
149
154
134
196
150
137
134
194
201
210
130
149
129
144
139
192
199
218
197
168
196
164
186
123
142
130
180
147
172
214
131
152
148
220
188
124
157
211
143
146
217
181
201
189
133
136
137
212
175
131
185
141
161
125
190
202
131
198
148
145
188
188
143
126
184
120
199
139
130
121
142
210
179
216
107
141
127
106
118
118
125
136
145
138
123
125
135
142
122
144
128
124
121
150
132
139
100
115
131
148
106
121
109
149
147
139
107
146
119
127
136
134
104
134
112
130
141
141
109
145
141
129
149
112
141
102
129
100
129
128
112
133
142
102
130
136
119
113
136
129
137
141
112
142
105
109
140
136
115
143
111
133
148
103
106
118
109
115
129
130
107
117
138
132
102
132
149
104
144
120
133
131
127
131
112
148
124
133
144
150
136
134
150
111
112
139
136
141
136
148
143
101
138
134
115
139
121
134
102
116
126
120
125
145
125
127
150
113
112
123
124
121
110
105
148
102
117
139
105
135
113
121
101
103
128
130
136
125
110
124
130
141
186
173
136
180
214
122
191
214
171
214
127
168
160
213
135
166
159
220
169
171
158
139
122
168
206
149
156
171
128
176
131
163
204
131
170
202
145
200
187
215
194
124
179
211
133
164
138
172
189
174
151
200
211
125
139
146
207
140
140
170
163
132
127
152
212
144
196
206
128
121
171
167
128
197
176
160
121
129
151
188
194
189
192
168
135
169
157
178
170
163
196
136
178
141
144
132
156
200
137
125
154
192
167
145
194
169
134
172
192
191
120
164
123
136
153
186
210
192
220
201
124
214
180
165
189
141
145
170
124
213
155
126
121
189
125
136
149
136
216
146
146
183
170
218
133
156
198
197
190
151
111
124
119
149
106
126
101
122
145
132
150
120
144
107
148
141
131
133
116
120
144
120
128
111
115
119
113
115
104
114
132
139
144
136
124
109
122
124
118
146
145
150
109
115
137
104
111
114
135
145
129
132
126
117
149
105
117
107
137
137
119
142
138
101
150
126
133
117
149
115
147
112
146
129
126
115
120
115
130
150
109
139
114
108
140
144
119
139
137
105
135
105
141
108
125
126
114
141
141
101
133
123
133
113
122
135
125
135
106
116
105
112
127
126
114
129
105
146
130
118
146
103
128
117
111
107
132
161
140
153
141
203
131
141
120
198
176
196
213
134
198
198
160
168
174
180
149
195
150
144
210
190
155
206
193
127
212
130
128
153
139
120
210
134
202
150
207
205
139
145
173
198
138
132
200
121
214
209
209
154
172
139
212
120
121
185
121
134
165
202
198
195
131
137
160
153
147
209
215
196
154
148
188
162
158
212
135
172
218
144
154
170
177
169
152
128
145
136
186
204
140
200
215
185
190
169
144
127
195
215
204
145
205
137
175
167
217
163
144
188
185
190
197
175
191
197
178
182
203
123
212
120
193
201
187
198
193
129
201
154
186
177
134
201
131
165
214
124
153
180
218
200
129
142
211
218
172
160
206
146
155
207
191
203
128
161
161
125
157
127
132
129
113
119
149
138
100
134
119
117
130
124
107
106
141
121
104
130
143
114
127
125
132
103
129
150
117
138
120
115
150
122
142
117
148
123
114
115
146
101
148
148
141
105
124
149
129
105
118
136
102
112
147
129
128
115
129
130
105
122
102
131
125
146
102
116
131
149
101
150
148
142
118
126
114
134
141
112
141
148
104
109
148
130
105
115
114
109
106
137
100
120
136
142
136
127
137
115
133
106
107
124
133
109
137
106
116
137
132
141
135
115
141
103
118
111
105
148
119
113
118
116
122
122
114
149
120
136
116
117
121
114
102
140
124
133
150
113
111
105
117
139
214
216
179
141
219
213
146
209
183
207
138
168
137
184
142
154
131
173
187
182
204
209
217
126
174
180
214
204
161
214
191
133
175
178
152
125
218
124
211
143
124
138
220
215
196
122
170
194
155
197
150
186
125
147
185
179
171
136
202
181
135
128
195
181
163
158
159
120
165
195
127
218
136
170
121
143
149
211
219
125
206
188
185
219
203
214
186
178
191
170
139
198
187
158
125
148
216
216
204
220
183
194
139
151
127
138
136
128
155
173
193
158
169
210
207
126
175
127
194
179
129
134
199
171
134
168
136
129
188
124
131
203
120
166
209
185
211
168
194
194
151
159
198
173
175
145
152
211
174
141
210
206
216
163
128
178
182
169
180
149
218
213
182
134
206
191
149
122
150
126
110
133
146
123
101
132
110
129
101
147
140
124
143
111
110
112
103
121
130
119
140
132
115
116
147
134
135
133
112
131
126
138
106
129
114
130
125
143
102
131
108
145
108
150
143
150
145
132
142
131
115
114
138
133
111
144
109
105
132
117
128
103
107
145
137
133
123
145
132
140
143
131
103
139
147
127
114
109
105
123
135
143
105
124
106
144
123
104
129
118
108
138
142
132
101
124
149
114
136
108
129
113
132
141
127
139
139
120
100
126
102
124
144
130
134
100
119
120
139
126
104
146
145
124
116
100
125
149
128
109
126
144
177
142
150
199
179
191
193
146
180
150
192
148
217
218
179
155
156
200
183
204
134
158
175
172
186
121
213
156
149
185
192
203
155
163
209
126
181
214
146
214
130
199
184
162
171
200
122
184
162
190
160
191
142
140
180
138
133
185
122
188
207
122
220
164
195
208
198
142
153
194
131
122
176
134
165
198
173
154
200
156
132
127
175
159
150
141
215
212
139
171
183
142
202
201
139
166
177
171
147
176
141
217
185
196
127
140
168
155
213
191
159
181
182
155
129
153
150
204
120
131
188
139
145
217
206
137
183
209
191
201
173
206
218
147
147
113
147
142
136
128
104
142
114
132
147
105
111
111
126
124
139
131
130
123
114
104
130
107
133
126
100
135
145
126
119
118
137
100
101
143
131
123
134
122
101
107
124
149
119
114
130
144
104
137
123
125
107
114
135
119
121
109
148
102
141
136
149
110
145
118
125
144
102
132
117
126
110
110
105
106
109
131
120
141
130
146
101
118
110
146
119
138
113
120
116
137
124
119
136
139
136
108
112
118
124
142
123
135
145
122
129
110
123
104
110
112
147
139
149
147
106
131
131
117
102
112
130
101
111
115
148
106
141
139
146
101
122
127
105
107
103
139
103
123
132
163
187
217
134
192
159
148
134
145
152
205
140
179
210
158
191
213
133
184
212
123
182
157
128
130
153
159
160
209
153
132
189
121
168
162
125
214
180
152
174
191
173
196
205
155
212
204
155
152
198
197
181
189
175
208
142
184
165
214
171
145
202
187
183
140
220
142
146
124
162
147
132
200
155
194
200
144
181
139
124
212
183
208
194
152
160
126
163
179
148
163
217
166
124
141
161
219
153
205
208
178
138
220
217
192
173
201
153
123
135
168
171
175
203
157
188
187
206
180
202
164
189
133
141
193
206
121
214
194
133
218
188
157
216
175
145
198
203
158
181
142
198
150
108
140
113
138
138
144
119
104
118
108
115
125
112
138
134
121
147
107
141
101
106
145
131
149
133
107
107
115
126
124
149
101
104
134
114
135
115
142
112
121
112
134
123
102
109
112
130
125
106
128
141
131
113
116
100
109
128
142
136
109
125
121
148
143
144
142
141
104
109
125
128
142
128
149
135
120
101
121
146
129
118
145
105
110
145
105
133
143
127
113
145
112
110
126
108
123
128
147
112
114
150
127
134
101
123
144
135
101
100
116
105
136
130
107
140
115
125
110
109
102
137
127
140
140
123
146
100
120
110
132
106
108
134
125
132
146
142
140
103
197
157
159
188
188
218
207
129
202
173
126
133
144
200
142
191
169
196
219
189
129
167
210
189
219
189
152
186
150
146
124
186
138
169
192
126
181
202
191
174
172
200
142
131
148
185
156
207
146
214
135
122
173
148
170
202
205
124
195
125
165
192
179
194
210
150
177
201
142
150
159
150
187
201
148
165
182
137
216
143
195
154
216
202
163
204
131
142
130
156
144
161
200
155
177
202
156
219
146
128
159
158
168
128
161
139
201
146
132
190
146
151
153
179
140
154
154
130
133
127
154
197
175
199
193
143
128
131
216
151
113
113
109
128
108
115
104
145
147
107
146
106
139
146
122
129
109
110
115
146
108
114
130
126
136
141
137
131
126
115
138
117
122
100
110
145
106
147
123
129
120
105
131
101
132
148
145
123
146
144
109
134
139
147
122
110
150
147
140
111
147
123
119
101
101
136
149
141
124
136
118
137
106
130
138
121
129
117
124
148
139
144
149
127
137
147
112
100
126
135
105
127
140
120
121
142
142
132
121
137
119
116
122
122
130
145
144
132
142
146
126
123
132
128
129
111
108
131
140
132
117
122
146
132
150
111
120
145
118
119
103
113
134
104
128
135
138
111
128
138
112
118
107
148
144
121
102
123
105
139
123
102
115
118
111
120
149
102
132
135
109
125
149
106
115
145
101
126
133
127
124
103
103
141
123
124
190
137
151
145
167
206
135
215
156
160
141
172
196
213
149
178
124
166
192
177
155
163
209
182
209
129
125
158
130
142
208
208
172
157
126
171
137
175
169
137
123
143
213
134
168
128
162
211
121
207
160
190
152
145
120
141
212
178
166
190
196
167
169
156
207
137
175
176
181
165
182
183
207
187
146
123
138
197
163
128
197
147
161
168
176
148
191
128
205
181
135
175
127
170
178
140
171
167
208
216
182
123
193
132
195
188
152
187
142
121
215
182
132
191
155
126
211
182
188
128
167
153
186
187
159
147
177
175
160
163
209
159
120
201
127
123
156
169
183
202
160
167
166
205
209
102
118
119
129
119
117
114
128
134
149
138
112
110
128
122
138
102
126
124
119
114
109
124
125
124
148
110
143
104
123
125
143
148
126
114
124
135
148
100
124
122
109
119
140
104
117
147
128
118
114
110
133
148
121
141
115
101
109
101
132
132
122
109
130
141
113
114
124
127
142
134
114
103
141
130
126
142
121
140
136
126
108
145
113
116
131
125
137
100
112
110
135
147
140
131
131
138
133
128
143
109
135
111
138
140
110
109
107
150
149
141
118
107
142
138
107
119
111
144
104
114
127
143
109
119
150
127
144
107
148
128
130
116
112
133
147
144
126
176
196
124
204
155
127
214
163
171
202
159
123
157
152
185
180
190
143
167
210
139
203
203
207
143
171
220
180
178
139
204
217
162
196
188
190
173
215
145
208
208
185
189
170
161
144
186
134
140
134
158
136
220
167
148
143
144
149
129
152
215
184
148
194
135
126
191
159
182
206
172
126
135
214
200
210
138
151
158
161
219
150
209
154
168
129
191
215
122
177
162
122
209
191
155
146
159
209
181
124
137
215
191
164
186
174
179
207
183
219
133
133
199
149
152
124
155
185
188
139
128
205
206
129
215
202
153
170
183
207
146
164
210
130
112
117
144
114
148
150
125
132
138
134
118
134
125
132
100
117
120
119
123
131
136
130
147
148
134
127
121
104
146
145
137
104
116
124
144
105
139
121
142
137
141
121
119
109
141
141
139
113
106
124
148
106
143
129
136
107
115
110
116
121
136
138
108
125
148
107
150
112
120
150
106
133
144
125
124
145
138
121
134
100
150
140
104
118
147
106
127
145
112
136
116
139
108
148
140
131
102
126
116
144
119
101
112
116
120
139
145
114
123
100
127
133
103
147
128
112
134
130
119
144
106
135
114
148
109
103
140
102
112
127
118
123
129
107
149
113
146
172
199
188
141
186
211
192
216
133
193
216
142
164
120
202
171
134
162
202
199
191
170
188
187
160
206
154
143
214
218
186
190
180
178
156
157
130
193
194
169
214
167
136
151
184
214
199
209
204
199
208
174
179
189
160
175
162
126
139
214
214
135
158
160
219
120
188
181
169
163
159
199
154
158
122
174
148
185
171
188
138
135
209
157
181
188
176
144
142
144
187
162
148
150
206
126
160
126
180
161
216
213
218
172
151
144
217
159
155
140
183
213
140
125
148
148
172
177
220
212
135
158
168
141
120
129
150
138
188
210
124
214
194
194
200
182
134
146
136
139
186
217
128
191
151
179
160
134
181
210
199
122
167
207
149
137
194
159
126
124
144
190
219
209
220
161
211
107
108
122
113
147
140
141
134
116
148
130
100
128
135
135
127
116
146
123
141
141
146
118
121
117
148
128
114
120
149
131
131
128
107
118
107
129
125
107
116
134
124
146
101
125
147
120
118
144
110
104
121
150
115
117
135
125
126
106
149
145
119
119
106
100
109
133
138
129
140
109
137
115
104
102
124
109
107
146
118
127
105
134
109
138
145
108
107
126
119
114
125
128
124
147
140
121
105
106
104
108
106
113
142
117
123
116
116
102
150
133
138
114
113
138
129
122
130
110
115
107
110
121
123
119
120
119
125
123
108
140
150
121
109
129
121
103
105
133
119
113
109
143
136
103
150
146
103
104
129
126
147
133
137
136
139
123
114
146
146
130
112
148
150
126
133
211
168
123
154
206
206
155
217
126
136
208
203
125
216
179
198
161
128
142
150
156
198
220
202
182
197
182
181
141
160
168
210
122
194
182
127
147
195
157
217
140
146
209
160
150
206
172
183
168
198
187
175
193
182
214
130
194
185
202
171
128
123
182
162
178
169
151
214
202
164
166
143
156
207
125
216
133
213
188
203
143
167
175
205
176
124
198
145
152
215
130
133
166
132
151
187
122
135
172
185
212
205
123
203
121
144
202
161
195
140
125
171
172
150
123
212
149
181
197
145
165
158
183
179
217
204
147
171
169
131
182
173
160
198
140
172
190
188
144
217
193
138
166
197
189
151
145
197
159
120
182
181
211
143
132
163
132
120
137
149
188
182
133
121
213
166
206
182
200
173
213
124
140
184
138
130
135
137
115
125
110
123
136
146
136
146
126
130
142
102
103
114
111
129
133
103
128
107
133
107
144
125
108
101
131
128
114
144
143
123
106
105
134
131
136
148
104
124
142
104
121
114
127
147
130
119
109
141
149
115
108
130
114
106
150
101
134
109
125
127
138
104
118
126
144
111
140
143
137
141
113
145
112
133
119
131
149
131
110
139
144
111
112
133
138
149
111
105
109
150
147
135
103
121
122
128
148
108
128
131
113
140
107
131
126
100
147
127
125
146
129
113
106
139
124
127
115
146
141
135
134
137
117
105
110
108
147
147
119
144
100
123
145
141
102
114
109
142
106
117
109
122
123
126
133
125
143
136
100
124
133
142
145
136
147
146
161
168
130
158
174
176
196
147
121
133
151
192
211
127
198
202
183
139
195
149
205
198
193
157
155
172
132
197
143
213
185
201
196
214
130
180
212
155
184
146
212
170
163
206
139
174
146
199
206
152
201
152
140
137
208
196
211
147
140
131
151
214
129
140
216
128
124
207
159
188
218
131
171
166
128
211
176
212
125
153
179
187
209
151
136
201
175
158
162
158
170
175
130
162
134
122
201
185
136
155
143
177
177
155
126
198
182
197
204
178
138
138
124
171
179
151
128
209
159
127
125
188
145
142
133
124
193
208
194
165
145
218
212
134
135
218
162
132
191
173
192
214
167
145
158
128
152
209
125
171
189
217
211
136
199
147
211
138
110
121
133
139
133
114
144
141
149
136
111
140
134
133
109
135
133
123
133
141
126
133
136
104
132
118
112
143
115
134
108
107
127
109
145
104
101
136
116
127
100
108
122
131
131
123
150
112
111
120
134
121
132
109
109
111
100
118
122
114
103
133
144
145
142
136
134
145
124
107
143
143
145
101
113
100
128
128
121
108
147
143
139
100
123
111
141
127
101
135
119
133
137
109
142
128
139
122
112
145
132
144
144
105
132
130
106
121
138
110
148
133
140
149
130
116
115
104
119
131
123
137
110
109
144
139
111
134
107
103
104
106
128
143
138
104
110
149
123
134
143
128
114
123
133
129
143
128
111
129
126
103
111
126
138
142
137
137
139
146
139
135
133
147
111
130
103
134
173
182
155
218
146
212
136
160
152
155
205
170
146
139
178
139
161
202
194
187
157
138
181
217
128
158
148
179
162
146
171
161
172
211
188
205
134
150
205
178
208
166
120
165
205
134
161
139
148
178
185
218
215
169
130
210
189
131
151
143
138
139
154
129
184
142
209
163
176
211
174
123
168
182
213
130
181
188
158
210
175
187
165
170
154
133
140
208
211
140
162
208
175
219
176
139
125
176
216
202
218
166
193
185
183
126
178
137
217
191
172
188
162
189
130
196
215
199
217
213
155
142
128
193
201
173
187
151
188
149
137
212
198
178
183
187
187
168
163
159
178
216
177
165
152
166
129
210
150
214
135
170
140
164
186
145
192
171
124
158
206
175
184
169
215
186
131
121
180
123
217
138
131
100
133
139
106
122
108
102
148
133
101
136
139
135
133
129
125
100
109
146
134
140
142
100
112
133
110
102
114
149
136
133
136
133
108
107
138
125
123
139
108
134
130
119
144
133
112
120
108
107
105
102
145
119
111
125
150
120
127
138
131
109
110
144
105
139
116
142
134
113
116
141
130
100
100
115
148
123
144
114
108
129
133
138
132
107
138
114
100
120
111
134
141
148
135
142
129
147
139
103
138
136
108
117
118
106
143
144
129
102
110
143
111
127
111
120
128
136
134
105
134
129
118
117
133
131
144
119
116
114
105
133
105
132
136
110
141
148
129
119
146
146
119
147
144
138
145
117
131
142
144
115
109
137
148
105
110
119
112
149
125
184
120
192
188
133
172
179
201
154
165
188
202
170
173
173
126
147
155
206
138
122
164
131
212
173
180
215
216
135
174
156
121
132
147
130
126
186
133
218
158
181
212
147
181
162
218
220
159
219
155
150
171
211
196
166
196
142
199
167
138
161
151
187
196
175
200
157
190
136
185
218
130
176
210
178
194
146
220
173
193
216
208
173
138
151
141
193
182
210
143
154
167
137
183
141
197
196
191
171
207
122
212
148
179
215
158
210
141
140
129
174
134
171
207
152
150
151
182
202
160
179
138
195
129
172
177
197
171
146
207
168
152
194
210
141
175
105
147
110
136
150
124
109
137
147
139
100
134
131
115
128
130
142
131
122
141
125
129
107
105
126
142
124
107
107
124
136
140
127
143
118
105
141
114
135
128
123
109
108
114
149
112
106
133
104
112
147
108
124
150
140
107
113
121
101
119
124
147
146
121
140
126
115
102
147
104
121
139
125
143
100
128
143
124
129
134
122
121
140
109
119
139
130
112
104
142
127
127
132
118
130
124
130
111
120
149
137
107
144
129
105
106
101
123
142
140
129
121
142
102
138
114
130
141
134
113
146
145
113
102
110
116
133
114
150
100
108
129
146
150
133
175
177
131
184
172
162
189
121
159
192
202
130
194
169
185
157
197
140
138
172
128
188
132
160
206
138
122
215
124
164
150
136
121
158
122
167
127
172
130
122
202
190
138
167
159
150
187
163
121
201
215
146
179
172
183
181
186
134
140
135
168
138
176
177
203
163
217
201
196
217
145
196
191
180
199
149
195
174
168
175
193
201
191
184
181
195
188
191
203
146
208
201
127
198
153
152
209
122
220
147
175
127
196
191
205
197
152
181
174
165
217
164
131
191
139
204
194
150
220
192
136
154
132
164
156
220
202
158
156
151
198
151
186
171
214
130
192
173
215
184
150
131
104
132
115
145
114
148
129
106
136
115
116
120
149
144
149
120
109
112
132
111
101
118
100
134
129
139
121
134
102
125
148
120
115
129
118
140
136
127
126
146
119
110
123
132
123
105
110
123
124
122
139
117
105
114
140
137
115
102
126
112
144
130
114
126
100
143
146
137
150
109
137
117
135
134
133
135
147
128
108
113
150
100
129
147
123
136
149
125
149
141
126
149
134
119
115
150
111
142
140
145
130
107
123
121
122
122
127
119
126
112
112
134
110
120
108
110
140
139
111
143
116
145
101
108
139
117
123
140
134
148
114
101
121
133
102
123
138
119
103
109
132
119
167
216
167
151
209
123
191
174
155
145
143
131
155
131
157
164
180
172
147
122
158
172
142
159
214
134
183
158
206
213
130
195
209
145
175
194
167
217
193
122
122
188
154
125
179
163
206
180
193
146
138
132
144
182
209
150
160
190
161
203
148
212
205
166
130
184
144
206
220
181
203
123
202
140
216
182
172
194
217
185
125
147
150
123
123
167
210
150
182
194
195
187
122
123
161
144
145
146
200
218
175
190
203
217
206
125
148
135
181
146
181
123
143
143
153
157
151
188
125
213
164
150
208
172
138
157
181
198
182
219
151
172
176
186
180
209
152
194
213
162
192
128
145
217
137
166
169
166
203
192
169
207
214
145
162
205
190
185
218
170
127
183
176
168
192
205
185
217
131
123
111
123
122
114
125
109
101
148
105
139
102
112
142
133
101
147
149
130
129
139
107
129
116
116
133
145
120
147
131
135
148
124
111
149
111
117
119
101
100
122
116
129
103
105
112
129
131
138
130
147
115
123
103
146
142
140
101
149
118
114
130
143
112
126
130
150
136
142
146
131
124
130
146
149
135
130
127
119
120
135
142
146
118
105
150
141
102
130
123
140
131
137
121
112
115
149
109
109
106
104
116
110
131
119
140
123
116
124
138
113
116
104
137
103
115
141
114
102
107
150
148
147
115
121
136
121
112
117
136
102
139
121
138
142
130
114
132
124
102
146
155
185
147
180
131
212
188
217
220
183
211
206
121
181
130
123
155
169
133
137
194
146
125
213
122
137
172
139
186
151
220
124
154
150
127
200
210
179
212
152
121
193
196
152
183
179
159
149
156
184
216
165
131
127
198
185
171
171
143
144
154
121
180
172
120
176
164
179
184
172
165
214
176
153
151
215
125
213
205
166
170
213
185
128
152
218
185
194
175
123
165
212
120
142
130
215
176
174
144
166
194
189
220
214
189
123
216
150
137
149
193
126
134
159
181
135
153
214
148
128
200
180
181
139
153
124
185
149
139
139
131
140
107
114
134
112
105
141
108
138
134
108
138
126
142
141
138
136
108
148
106
118
104
131
146
132
137
129
114
108
134
136
120
121
101
139
141
128
148
149
127
111
130
128
114
137
131
147
128
132
129
142
140
109
106
125
121
140
148
116
142
116
140
129
125
132
122
127
101
124
142
110
120
108
122
130
121
116
144
139
143
120
105
141
103
147
150
100
134
110
134
128
133
143
122
101
116
120
117
149
105
138
133
109
123
147
105
143
141
120
141
106
128
149
104
117
106
127
100
125
145
141
136
130
125
109
147
120
104
105
108
121
209
126
186
140
167
162
209
209
170
185
170
195
148
214
216
138
138
213
210
153
122
193
128
207
141
123
177
190
177
168
192
199
220
149
130
179
190
154
144
196
121
182
190
193
200
204
121
137
169
160
178
211
191
153
165
133
213
151
191
198
151
151
156
201
180
188
170
163
150
198
216
149
147
156
176
187
212
130
203
189
192
141
196
196
169
185
163
129
178
142
167
219
120
169
150
127
124
141
132
200
207
156
181
155
125
220
144
160
123
144
178
174
184
164
209
158
125
208
201
120
139
122
201
149
134
162
158
183
128
175
170
200
216
175
154
130
146
159
143
121
108
104
112
103
113
114
118
101
138
111
123
129
134
103
128
109
113
135
140
127
108
120
126
116
148
126
126
129
146
102
102
143
139
145
119
122
101
102
118
106
121
101
118
103
117
127
126
130
115
105
133
124
143
142
150
131
111
118
132
106
143
120
103
125
112
104
118
138
124
109
111
115
122
109
108
147
106
108
124
115
100
139
137
104
117
120
135
102
134
100
140
128
121
137
115
111
140
124
106
131
149
150
115
105
122
126
142
136
114
108
123
140
107
104
114
145
143
142
118
141
123
150
145
106
135
135
128
107
141
120
141
102
123
108
143
120
142
124
137
145
105
103
145
141
137
107
105
144
128
121
142
121
116
108
130
117
140
126
104
126
142
118
120
119
134
134
176
121
128
192
189
166
127
166
131
195
151
137
208
127
202
129
195
129
194
166
154
175
212
199
128
183
148
130
162
154
217
152
186
146
191
124
213
201
203
124
167
204
161
199
151
136
152
215
186
171
210
182
196
217
198
151
122
195
127
195
177
135
152
177
138
124
150
190
193
189
140
127
138
201
213
141
213
134
220
158
165
156
189
213
121
135
156
195
167
207
168
140
146
200
203
213
160
206
165
160
209
150
150
120
216
132
166
137
166
141
213
167
138
167
169
126
155
185
212
209
189
131
132
196
125
196
154
191
197
185
121
130
108
142
113
128
120
143
109
100
148
136
150
102
106
109
100
104
101
140
107
110
113
140
101
143
130
106
100
110
129
121
107
114
136
150
130
124
127
109
117
137
140
149
129
120
106
141
138
117
114
102
128
122
134
109
132
100
107
145
141
133
127
104
107
115
136
131
113
124
126
101
131
145
130
113
108
111
129
134
107
144
147
143
107
129
119
139
145
128
108
143
124
115
130
111
139
101
117
135
128
134
141
122
150
105
102
121
113
120
120
127
142
130
124
112
132
141
150
129
124
112
145
121
116
146
102
112
124
130
109
196
193
189
143
197
166
195
183
168
167
203
169
134
121
149
158
126
177
220
191
169
162
161
151
187
212
144
171
179
140
206
184
183
190
219
180
139
125
185
156
165
203
214
162
123
195
147
126
212
189
143
192
133
123
141
215
163
219
166
164
178
163
141
185
183
161
195
163
153
165
133
162
168
218
211
156
141
141
148
206
218
218
208
203
190
186
190
184
173
181
171
162
148
152
131
171
135
127
152
143
200
143
174
126
203
126
167
166
177
171
156
180
172
159
127
172
181
137
133
199
138
136
215
198
171
142
177
167
190
208
140
209
157
162
204
182
143
149
105
107
124
100
129
131
144
144
144
135
125
118
107
106
101
132
128
117
128
137
126
124
117
114
131
105
134
130
137
140
126
137
118
149
115
126
147
102
134
107
130
147
127
115
115
146
109
125
115
140
139
115
147
125
100
116
110
135
132
149
134
115
133
126
128
123
115
122
114
122
115
134
113
132
130
113
129
148
102
133
124
137
106
131
144
111
113
144
124
145
103
133
115
118
107
116
111
138
143
128
127
135
143
113
123
145
135
113
106
113
139
124
123
105
140
120
116
114
113
132
111
145
100
120
127
105
106
114
143
150
141
136
100
108
105
133
145
115
105
146
118
110
107
128
100
118
143
111
137
105
128
148
131
127
121
129
149
135
148
122
114
113
196
168
148
159
198
201
184
213
220
144
180
149
175
219
207
162
174
122
156
120
158
195
134
169
143
181
218
164
198
215
200
211
176
201
190
195
135
160
216
196
176
163
189
121
218
171
156
166
186
160
123
182
125
175
185
180
179
149
122
164
216
213
164
205
216
178
171
213
129
178
128
145
132
132
217
126
212
199
219
201
122
132
161
212
139
128
149
206
218
176
142
136
167
181
205
149
120
176
218
140
188
151
170
213
215
201
177
197
147
207
192
130
211
203
192
208
220
135
148
139
182
204
144
142
122
200
161
122
189
171
130
190
121
155
165
184
141
219
169
169
159
212
187
148
157
214
196
169
157
140
121
165
185
176
212
211
215
170
175
198
143
144
125
143
109
149
102
143
137
113
114
112
113
150
117
109
131
110
147
119
142
126
130
121
104
100
127
122
132
135
126
117
130
131
130
116
113
128
132
102
119
105
140
100
118
141
135
147
140
138
106
119
133
150
115
123
141
149
122
141
111
140
100
105
149
141
113
122
104
136
104
124
106
122
115
110
105
107
111
107
148
122
129
115
115
123
142
143
144
125
136
137
124
111
132
146
143
117
146
104
150
123
114
114
108
112
137
130
110
120
149
137
143
148
130
149
106
138
146
131
118
111
124
112
148
117
144
140
106
124
154
218
129
133
157
198
151
210
128
161
175
143
177
198
186
151
212
159
157
134
176
143
203
214
195
143
160
179
124
171
216
202
200
172
163
155
157
127
186
178
128
206
177
150
138
158
130
220
192
124
166
219
213
189
158
191
142
167
181
145
171
176
126
159
158
123
195
167
206
204
185
144
168
216
207
134
169
128
171
178
204
215
196
145
133
160
137
174
172
185
215
204
173
195
126
214
218
206
184
152
211
168
127
148
127
171
211
136
182
200
216
182
167
186
202
179
210
187
185
206
159
191
171
206
196
148
152
156
170
142
178
219
126
124
128
130
165
188
216
133
136
194
124
143
129
204
148
130
122
152
145
147
147
131
150
154
156
131
173
208
138
129
210
179
145
145
207
135
176
161
133
185
136
124
150
121
122
148
146
112
105
103
129
143
114
110
142
124
127
129
132
129
123
124
135
146
140
118
140
114
130
133
120
122
101
120
121
136
137
123
125
150
120
126
111
141
141
147
114
116
145
131
116
144
125
114
123
121
106
148
138
107
135
140
140
139
135
126
125
140
147
148
122
116
110
141
128
139
106
140
116
116
136
100
113
116
120
123
121
133
108
121
147
107
104
108
104
103
108
122
148
127
108
103
148
106
122
138
128
147
118
124
123
149
107
121
118
117
133
150
147
134
132
118
114
136
116
132
110
105
100
142
150
109
137
142
120
125
140
118
142
130
135
116
101
140
110
149
146
144
104
112
114
149
117
129
120
117
130
100
134
130
125
110
143
139
137
125
115
145
144
108
132
185
155
145
136
128
215
128
150
180
166
127
205
185
149
129
124
197
144
143
153
133
195
172
206
125
187
129
151
209
200
168
155
185
199
133
122
134
133
198
152
148
200
156
191
217
162
162
210
155
136
162
198
146
128
165
143
126
213
193
148
124
167
147
217
126
167
213
203
155
157
219
191
185
171
151
199
144
200
128
134
158
141
185
141
135
167
207
140
141
162
197
179
216
209
220
155
219
143
149
202
202
215
188
156
205
167
138
144
209
220
190
195
160
142
200
206
170
173
199
185
143
122
195
141
190
138
123
207
147
215
152
201
139
213
206
204
164
205
121
190
138
177
215
197
137
172
122
130
173
143
191
146
207
167
193
130
176
196
143
178
161
147
159
183
124
175
135
144
111
119
121
141
133
116
141
103
113
141
149
124
106
126
102
137
110
113
115
124
101
114
141
138
122
129
117
145
123
121
125
124
103
149
144
150
124
130
102
141
102
132
106
146
118
125
108
139
148
140
144
132
133
138
121
122
120
115
142
107
140
114
139
129
137
132
141
139
119
117
147
115
146
150
144
135
112
108
118
111
139
142
149
125
100
125
109
142
127
126
117
140
134
126
118
127
103
115
136
149
140
150
111
130
114
120
136
109
103
150
150
149
127
108
104
104
105
125
140
107
104
130
107
146
105
102
135
148
111
143
120
135
121
124
137
146
102
119
116
131
136
105
128
103
100
119
137
146
109
103
104
129
107
119
126
106
101
117
122
140
204
208
200
153
209
159
167
194
129
216
164
174
156
201
172
210
181
121
162
210
196
161
194
122
136
212
133
208
154
158
157
129
198
127
178
163
162
185
152
204
164
207
183
169
175
157
137
217
192
129
219
214
187
149
195
185
136
212
120
122
161
200
131
207
195
164
164
174
177
127
166
144
139
176
126
173
159
122
152
157
165
123
156
214
130
216
192
156
216
186
147
168
205
208
139
142
210
149
172
139
151
186
127
175
198
158
195
200
171
201
169
155
149
157
213
161
192
177
124
145
172
209
192
206
128
162
133
219
124
126
143
146
186
132
146
138
151
160
220
182
123
140
154
176
183
199
175
125
136
218
141
208
152
205
153
178
150
210
126
105
104
125
145
124
125
129
101
140
135
109
148
111
118
124
132
121
113
115
145
130
141
104
137
147
123
136
132
114
131
144
145
150
127
147
135
115
115
109
114
132
125
146
116
146
123
113
118
126
104
123
143
141
132
126
141
130
116
113
103
126
144
149
106
126
146
123
131
121
127
137
137
105
112
134
142
121
150
139
132
124
130
150
132
100
114
130
113
133
122
145
125
148
110
114
141
126
128
102
131
116
144
147
109
148
134
117
145
120
141
121
137
112
129
138
128
114
117
111
150
128
116
112
107
121
102
118
149
134
107
127
150
143
105
119
102
124
128
105
131
106
115
115
114
146
146
137
114
143
135
105
118
141
123
144
101
115
142
109
146
122
149
138
105
144
139
164
200
192
128
206
152
205
214
159
146
126
148
213
201
131
219
166
192
212
151
121
177
196
187
135
218
204
159
189
168
167
181
145
213
173
188
212
178
218
192
173
207
121
153
205
195
188
185
170
140
170
212
211
159
181
129
197
161
198
166
143
217
150
184
205
207
212
169
187
152
220
151
122
171
138
198
212
146
124
122
134
145
127
165
145
208
177
165
164
209
206
146
207
146
123
163
194
177
159
209
186
142
218
129
140
174
187
180
160
185
160
176
180
177
172
209
168
212
213
158
150
179
191
174
136
182
149
213
214
214
203
190
197
177
193
154
171
196
127
128
140
144
171
197
175
147
129
218
188
161
133
137
139
129
142
112
133
134
107
101
101
116
106
149
103
142
122
145
100
136
147
141
140
100
101
126
133
147
131
101
144
117
132
111
137
143
125
106
141
111
123
137
121
133
104
142
134
149
149
130
133
104
121
140
130
141
135
104
124
100
123
124
126
102
133
138
146
132
141
142
132
103
119
146
149
100
111
103
106
135
146
127
127
138
147
139
100
103
123
105
147
148
147
148
125
111
123
146
120
143
150
148
117
110
101
137
112
142
116
139
117
111
142
126
122
136
123
119
149
129
141
120
105
125
134
120
116
109
146
106
146
104
124
129
115
144
210
173
152
174
214
176
198
120
198
150
152
198
120
213
149
219
200
170
151
160
196
158
191
207
142
179
133
160
170
208
155
174
122
142
145
179
130
171
183
156
145
212
173
206
213
211
217
160
160
194
134
122
146
158
126
202
154
207
197
214
199
192
180
133
130
139
194
166
188
212
164
141
211
174
184
193
168
172
147
141
122
199
141
174
184
124
165
135
163
178
195
170
201
137
168
129
159
127
214
133
168
190
210
192
153
163
184
171
208
197
211
211
126
128
154
207
170
191
157
197
173
175
163
191
160
176
145
180
163
191
194
150
134
174
214
181
142
181
142
115
137
102
149
136
130
117
141
147
124
127
147
150
137
114
109
137
108
139
133
108
131
114
150
132
137
103
111
100
117
109
131
143
135
137
134
115
109
133
139
136
123
149
137
127
104
118
145
141
128
149
148
115
150
117
120
112
101
113
127
120
123
138
100
117
138
143
123
131
118
124
103
144
130
118
148
110
105
123
135
139
110
139
132
137
139
128
142
122
145
146
131
146
100
105
119
116
112
132
127
101
135
144
113
135
113
116
127
108
140
113
119
131
134
125
147
136
127
141
136
128
123
118
134
116
142
148
149
132
150
101
105
120
133
116
100
143
133
132
129
143
117
145
134
161
130
207
186
171
138
172
140
210
209
184
220
182
129
193
138
188
204
153
209
174
121
150
193
126
189
142
215
125
148
143
170
192
192
121
164
152
131
215
133
199
148
169
189
188
194
207
181
203
126
160
188
161
154
164
161
153
184
168
148
126
203
162
187
168
199
177
201
206
191
136
204
211
171
177
206
195
178
188
215
181
205
145
133
192
214
170
214
138
175
140
200
147
132
151
170
173
183
166
177
150
149
203
139
132
121
175
155
120
182
164
123
210
215
195
130
120
209
136
209
195
209
153
136
153
184
155
207
133
192
218
192
126
127
156
158
104
109
122
128
120
132
141
109
126
150
141
126
142
114
100
144
126
128
110
118
145
123
125
150
125
122
136
129
120
133
100
107
145
145
150
141
120
106
126
123
122
146
126
115
107
101
123
131
112
137
103
145
131
139
119
102
105
102
132
145
118
105
129
136
101
129
141
102
118
125
134
149
127
108
125
117
129
109
100
147
107
140
114
126
133
130
133
104
146
142
129
126
112
111
139
144
146
143
119
106
101
120
112
100
111
102
108
149
146
129
122
118
102
110
110
117
106
117
128
120
131
107
126
111
141
147
127
141
130
142
137
119
132
120
116
124
132
121
133
110
150
106
121
133
106
113
144
150
138
109
121
119
147
119
100
117
115
103
112
148
123
131
167
141
154
136
120
129
185
183
159
209
219
164
208
192
159
166
174
198
157
129
177
220
186
160
158
150
183
206
183
123
180
197
169
131
144
184
164
208
190
194
181
214
208
210
165
156
187
159
130
125
191
129
174
163
180
137
155
203
121
169
182
131
120
208
172
199
174
213
177
204
205
191
180
191
150
166
141
197
183
147
129
163
124
167
190
210
139
218
138
139
214
137
169
188
158
159
210
155
137
129
213
142
120
206
191
131
189
186
137
208
142
218
165
160
149
210
121
138
128
187
132
199
148
167
190
197
188
217
191
145
191
176
170
209
161
177
144
190
132
214
124
219
162
129
218
160
195
151
203
131
122
147
179
115
112
128
131
111
104
113
110
113
119
126
140
133
143
146
133
149
108
144
106
103
124
145
138
122
144
124
116
149
148
144
100
125
116
125
143
115
140
136
111
145
121
110
129
138
102
112
127
107
119
122
107
118
119
103
129
112
117
133
138
102
141
132
134
130
131
146
124
113
113
131
141
109
123
133
110
142
124
102
119
134
111
138
115
112
102
149
122
112
109
125
145
108
101
129
139
102
123
123
108
100
103
125
133
121
118
122
109
122
117
148
138
128
138
109
106
111
114
138
102
131
110
110
140
142
108
116
135
119
115
126
124
136
133
139
138
130
121
124
135
119
133
145
100
149
116
113
123
107
148
114
148
110
107
134
135
129
120
109
107
120
134
111
112
194
213
134
203
214
134
125
124
143
167
179
162
189
207
134
198
203
130
156
152
181
155
217
195
190
179
190
152
178
212
200
216
126
162
131
206
128
165
132
152
160
128
137
139
161
220
174
166
166
166
191
144
207
146
131
200
176
163
180
153
178
181
131
182
198
162
212
143
183
129
202
185
128
134
124
199
147
190
161
127
121
194
215
124
210
139
163
126
133
132
169
134
128
184
130
178
170
200
202
149
146
206
173
182
146
132
123
198
167
140
200
179
127
175
126
139
163
171
120
189
141
196
126
165
207
198
141
171
206
206
206
188
125
133
123
110
106
103
133
143
109
145
100
147
136
150
127
124
122
148
120
104
117
129
118
105
117
146
148
142
138
138
150
102
120
130
121
138
130
122
110
110
127
112
117
112
111
117
100
139
112
121
143
146
112
123
107
113
125
120
120
149
142
125
109
110
103
137
136
148
124
121
150
132
103
112
103
142
124
127
123
118
134
125
128
127
109
110
132
102
108
116
145
144
114
145
101
117
147
126
145
102
144
117
104
135
108
106
100
114
129
108
130
120
123
130
105
147
144
107
111
120
113
150
107
149
127
119
140
109
123
142
140
113
131
104
144
116
120
126
147
129
100
115
138
106
134
145
127
106
147
118
130
131
112
146
112
129
133
123
132
116
105
107
107
138
122
142
133
115
134
147
143
118
136
131
149
191
126
145
213
197
170
130
178
140
170
210
186
196
185
175
148
136
203
186
129
197
209
197
135
219
219
214
159
216
142
218
204
207
209
186
148
141
178
126
127
177
131
173
214
196
214
211
212
170
169
176
127
185
205
159
185
120
142
201
142
158
188
154
187
128
193
193
136
216
137
154
149
121
123
154
196
214
136
142
211
122
203
153
171
144
178
204
173
163
213
197
130
170
154
168
138
120
217
122
218
219
157
134
186
125
132
131
181
195
167
126
191
188
172
192
191
214
188
205
130
137
170
165
153
105
113
107
139
127
109
145
114
115
115
127
126
110
131
149
132
136
106
137
111
144
125
126
109
137
112
121
141
130
137
106
115
114
124
116
130
108
132
131
137
101
114
149
129
132
118
126
130
114
139
104
136
118
111
121
135
138
100
146
119
130
137
110
148
109
104
139
100
119
103
111
135
147
149
114
105
103
124
108
146
123
122
115
128
101
146
132
128
125
139
125
115
108
131
121
112
135
102
132
111
133
131
103
143
130
117
109
145
138
147
128
117
123
132
128
138
147
122
102
103
146
120
148
149
125
123
127
131
100
106
150
133
102
135
103
119
117
102
108
122
127
132
114
126
138
102
125
124
116
134
124
100
117
125
194
174
177
192
188
187
169
129
133
208
175
125
136
167
197
200
200
138
163
159
182
194
199
162
187
196
206
143
211
204
192
142
176
136
197
127
164
134
180
211
170
220
188
172
195
127
124
165
198
217
179
180
156
216
210
220
185
122
177
168
171
122
120
121
184
194
166
133
183
160
183
218
162
120
164
200
184
181
124
210
121
183
168
151
218
193
173
143
131
159
197
215
150
197
160
185
125
193
131
199
150
186
217
120
218
187
164
172
132
176
127
132
128
123
152
169
126
185
128
202
125
128
128
199
209
168
170
144
134
132
157
198
178
120
212
121
126
135
206
127
157
198
160
140
123
138
207
130
219
189
127
170
217
174
121
211
120
167
174
134
168
163
170
155
210
198
196
174
188
139
217
205
139
167
149
127
128
104
126
120
100
111
112
124
112
138
121
113
111
137
145
118
142
103
139
108
132
145
117
106
124
148
117
148
104
128
123
118
112
134
101
128
145
135
139
118
130
103
105
144
121
108
107
144
112
107
146
146
109
140
134
141
144
143
115
120
145
147
148
124
108
106
128
139
145
129
133
134
117
119
128
120
134
131
101
147
146
129
144
133
134
105
103
146
124
139
143
129
109
133
109
145
110
146
123
110
139
129
141
127
106
121
141
100
102
147
121
144
114
116
147
147
146
142
146
147
121
141
107
142
123
129
114
131
137
139
102
108
124
111
129
137
100
178
132
151
161
140
160
188
126
209
127
176
201
205
151
139
144
183
134
160
202
120
120
159
144
183
131
151
151
176
207
164
163
139
120
155
159
136
133
173
121
188
219
190
146
159
151
130
171
149
183
131
187
210
162
149
217
141
133
187
132
181
136
164
155
182
190
191
179
184
154
164
143
196
134
170
173
131
125
190
139
202
159
125
144
144
175
152
162
130
177
214
170
191
137
166
120
182
130
180
140
121
191
200
198
214
127
208
213
183
199
179
178
175
205
202
195
170
142
129
172
217
157
124
202
182
134
150
133
158
209
192
213
139
154
213
211
184
203
161
198
166
213
161
152
187
218
150
197
121
177
153
153
131
131
217
172
159
129
188
149
182
146
118
121
142
143
134
129
132
128
122
137
135
100
137
139
100
105
114
124
126
119
143
110
132
122
104
104
106
138
139
112
126
106
130
129
115
121
120
118
101
102
145
102
125
140
134
115
126
137
127
114
100
116
105
128
124
130
102
111
143
133
131
112
141
111
145
141
124
113
142
142
113
100
107
133
109
138
130
115
144
111
128
143
122
129
126
130
125
146
149
121
108
100
110
129
146
106
119
111
113
129
120
115
117
132
133
108
111
105
144
133
147
145
101
134
148
137
110
137
145
135
146
146
148
108
150
106
119
125
108
100
104
112
119
106
133
126
112
130
136
114
105
145
147
109
116
117
105
110
105
135
135
144
109
137
132
131
127
127
116
114
179
206
167
134
122
159
148
173
180
163
153
120
191
218
212
150
173
182
145
195
152
152
143
207
176
165
172
217
210
185
175
202
218
165
177
181
201
144
201
131
208
146
186
143
166
194
160
161
145
171
137
175
156
202
205
138
194
165
124
193
142
132
187
158
215
192
210
131
203
178
161
184
173
141
127
121
193
186
121
211
190
195
164
194
126
188
173
181
121
194
147
126
193
189
133
165
154
165
165
200
181
138
139
153
153
144
204
161
185
202
173
148
145
130
124
191
160
214
148
139
182
128
214
159
136
133
176
198
160
202
146
127
180
171
155
189
151
123
126
165
149
218
140
145
219
198
128
210
177
121
192
134
191
160
175
138
101
102
134
142
138
104
142
148
100
113
116
124
114
119
106
114
144
112
128
114
150
115
139
138
120
103
124
114
135
116
133
118
133
127
149
146
118
102
144
144
122
148
136
146
131
114
106
120
116
149
100
103
114
101
105
100
122
100
125
131
108
107
143
119
114
143
133
131
135
133
130
106
104
136
110
145
126
125
115
141
148
121
104
138
108
149
139
124
126
102
121
143
121
127
138
144
104
124
104
111
115
126
105
105
150
119
135
111
145
117
140
130
113
109
150
112
122
136
101
127
148
125
109
147
144
120
136
110
147
114
138
176
151
166
144
216
127
219
131
122
132
165
215
124
146
213
196
170
184
219
204
212
203
174
141
157
131
193
130
186
142
151
209
166
172
176
202
201
146
200
216
185
201
140
135
156
175
161
204
165
159
120
121
136
196
206
170
219
170
205
143
173
135
125
173
120
155
197
161
200
197
193
174
120
129
136
220
211
182
143
175
132
142
157
159
175
160
155
180
182
186
214
181
181
204
173
151
157
184
208
120
171
139
216
156
161
202
220
149
150
122
162
139
213
213
212
130
166
139
184
203
179
170
193
141
212
120
203
148
176
155
159
121
140
136
200
115
133
142
126
105
122
126
141
133
149
137
101
147
100
130
129
137
110
150
147
139
134
117
136
148
119
104
129
136
109
112
105
150
122
128
105
108
115
106
119
129
123
106
137
135
108
120
144
143
104
120
132
139
132
118
109
132
109
112
137
119
115
135
113
150
141
127
110
127
129
101
145
123
120
119
130
122
100
100
134
114
141
111
142
105
114
124
112
112
100
119
100
116
135
135
120
134
108
106
101
142
114
144
112
121
140
116
123
124
104
122
118
134
104
121
110
103
113
139
114
109
144
125
100
134
144
100
101
130
105
137
127
110
129
108
111
113
111
100
130
147
106
116
147
147
150
109
114
218
203
168
144
183
212
191
176
188
143
190
159
208
207
129
163
132
177
167
154
151
194
146
202
156
132
129
135
179
121
123
214
151
141
185
126
201
191
126
173
137
192
166
188
171
176
220
136
215
153
215
201
184
132
217
202
167
129
211
190
174
120
219
201
197
175
160
148
138
214
143
129
217
182
166
219
157
212
148
210
198
191
172
149
198
150
165
175
216
127
165
199
204
195
158
216
126
124
125
178
133
122
151
207
147
207
146
155
185
153
142
134
170
120
144
161
150
167
141
199
188
171
168
210
167
209
158
132
123
206
125
161
195
167
188
134
214
192
193
170
151
192
218
140
196
155
214
156
139
186
148
143
124
177
194
172
212
181
194
179
197
207
139
206
123
203
182
130
190
192
203
199
150
112
113
113
139
132
132
131
118
137
134
111
129
126
143
140
136
136
105
141
130
134
110
138
144
142
146
109
118
141
100
142
125
145
146
147
116
150
102
116
139
125
112
136
117
133
117
143
137
145
135
140
126
115
147
114
117
119
140
136
100
103
129
145
123
124
108
150
126
148
128
111
138
109
120
126
103
147
130
145
100
119
123
109
139
107
116
124
148
109
122
148
123
110
108
119
110
148
123
124
121
148
125
100
134
138
125
128
144
120
110
150
106
142
105
118
115
127
136
120
109
147
147
120
148
132
128
110
129
102
115
117
139
126
117
101
116
122
122
138
144
147
147
100
141
141
120
112
137
134
100
130
113
120
135
107
107
128
103
198
133
152
164
146
166
207
171
129
142
199
160
179
190
148
178
179
197
127
200
186
153
212
212
180
128
162
197
154
201
180
131
187
122
214
170
147
220
161
193
209
168
146
191
217
152
166
130
188
121
181
199
145
143
141
126
184
160
158
125
130
200
182
167
162
216
161
120
147
137
140
162
192
149
146
163
178
202
146
220
166
150
187
171
198
202
159
213
189
184
190
153
191
192
198
181
120
156
141
210
209
178
199
191
132
134
199
157
152
168
148
171
186
127
148
153
204
175
139
214
195
122
211
207
151
215
162
184
193
194
132
172
164
171
147
156
156
152
152
181
160
199
121
214
144
204
138
126
202
145
167
175
202
165
213
212
151
159
171
120
182
183
126
185
176
165
123
194
142
212
209
220
170
148
106
134
117
121
108
131
126
115
118
132
141
148
120
104
110
104
125
140
137
113
129
106
102
131
106
117
147
118
100
143
116
102
143
101
123
100
107
134
104
108
134
136
141
126
149
144
143
134
149
136
143
146
150
118
146
120
138
111
100
145
111
115
109
148
103
112
140
111
101
107
121
102
124
130
133
114
142
116
101
131
103
119
100
128
144
116
142
141
143
101
114
110
144
103
135
136
140
121
127
112
137
147
105
126
133
142
146
116
100
124
143
110
142
118
121
103
100
134
125
113
126
138
102
121
119
127
136
133
122
143
113
113
113
111
123
147
118
105
107
121
112
207
142
204
122
123
182
137
142
187
170
130
154
171
171
148
123
158
214
150
201
164
143
163
212
122
155
220
181
209
120
136
138
172
180
219
131
125
197
195
218
164
187
165
142
197
132
139
136
215
144
161
121
174
210
193
147
152
197
195
177
163
201
136
216
147
148
179
123
175
202
125
181
140
162
126
168
174
192
217
207
200
146
120
187
202
140
141
205
180
199
195
185
220
204
175
217
137
141
130
128
121
138
197
181
209
170
176
136
134
159
148
187
165
169
124
175
214
213
212
144
138
181
173
207
168
126
155
213
131
182
143
141
204
173
162
170
151
138
179
132
192
128
198
140
141
164
173
129
203
131
187
144
123
158
133
170
139
128
108
137
138
110
111
129
139
109
127
120
102
132
127
130
132
126
134
104
138
109
126
106
141
101
139
100
144
107
110
128
101
137
118
114
130
144
109
103
123
133
111
100
135
143
138
123
150
107
131
128
102
110
116
111
130
148
129
142
145
101
149
118
109
118
127
133
112
145
140
144
133
100
149
148
107
133
105
124
120
122
138
121
109
111
147
134
100
124
145
110
121
126
120
109
107
136
101
124
141
102
102
125
120
115
105
133
148
116
101
142
109
146
133
120
106
107
136
137
133
122
107
145
147
112
114
137
135
136
136
109
117
110
148
138
104
145
132
126
180
215
212
190
203
197
184
132
135
140
121
214
146
166
176
129
126
122
185
172
144
155
123
185
162
212
187
130
219
143
144
200
147
120
184
193
172
196
149
161
133
164
137
122
181
196
159
142
213
206
140
208
175
125
207
180
209
195
195
157
217
193
199
171
148
219
163
218
216
166
213
142
120
180
174
155
126
130
137
190
200
170
199
161
176
208
134
161
138
162
143
181
189
144
209
134
219
128
127
127
129
211
171
141
154
185
176
170
189
123
141
139
124
152
158
184
175
139
127
188
142
127
173
172
168
151
160
189
206
220
199
151
218
152
177
162
139
122
163
126
175
179
219
121
161
212
148
204
201
213
134
191
194
149
160
220
124
206
170
158
196
121
133
209
143
126
130
136
144
199
161
181
220
105
100
140
104
102
128
112
101
101
104
124
113
145
150
135
111
128
105
111
117
117
111
144
146
117
120
130
133
104
150
119
137
122
148
140
134
131
107
105
138
118
114
145
122
140
122
149
136
118
118
111
135
106
104
130
102
128
106
144
116
118
128
130
122
107
134
119
147
116
114
135
112
147
134
118
140
120
124
101
118
103
103
101
128
141
105
105
104
137
119
101
113
105
110
119
131
108
136
111
106
145
119
126
121
111
108
104
106
148
130
136
119
117
148
120
123
131
115
141
105
122
137
134
106
128
137
102
117
115
126
104
114
145
143
104
125
112
218
157
132
168
135
122
208
149
139
162
170
205
152
165
183
208
184
189
215
194
135
136
136
160
204
211
207
142
161
202
209
212
148
138
195
121
148
157
147
211
193
154
190
178
131
184
205
121
163
131
215
151
146
151
161
186
178
130
131
189
206
152
143
181
155
211
162
210
129
151
123
141
123
217
210
202
160
197
145
123
158
157
187
135
158
120
126
176
121
129
213
180
130
141
209
159
178
176
165
215
216
140
121
210
210
133
218
167
182
164
218
152
218
168
178
166
174
159
170
181
159
212
178
126
190
170
190
151
149
154
182
126
214
188
156
129
157
133
193
167
169
209
165
211
167
183
213
125
123
212
195
194
166
198
133
201
145
128
147
157
125
137
205
165
161
136
119
106
112
124
138
126
142
116
121
125
121
117
150
142
138
109
133
141
117
101
134
110
127
108
134
105
103
126
112
139
132
150
150
115
130
111
127
135
127
109
113
121
133
108
130
133
122
149
127
124
107
121
109
122
134
126
105
116
143
135
107
139
139
105
101
117
143
149
140
128
105
116
131
104
133
123
104
121
122
122
148
102
115
102
127
140
146
142
126
116
105
120
103
104
101
111
110
115
104
107
128
123
103
124
149
107
117
127
140
150
115
122
110
111
149
109
136
113
125
104
118
101
130
111
138
141
135
117
105
105
123
137
117
138
149
124
138
149
134
128
201
140
130
132
128
162
193
132
149
175
130
139
172
156
203
185
187
173
187
205
158
188
131
206
141
155
187
209
202
152
210
152
137
206
179
141
134
189
186
205
152
153
146
185
168
214
127
199
208
138
166
210
171
147
159
171
196
161
127
209
152
148
203
187
200
141
163
213
134
189
168
215
193
172
202
190
148
123
126
215
178
139
167
163
127
128
145
218
150
129
176
167
170
198
189
130
207
137
174
211
216
125
174
180
196
144
198
134
157
147
157
142
169
161
167
142
217
147
203
180
186
210
123
208
158
145
133
192
218
184
216
166
202
183
207
189
164
219
140
132
133
178
213
220
151
120
101
131
110
104
133
120
113
111
106
111
128
132
126
144
111
103
150
135
100
133
103
109
141
120
127
149
119
113
125
143
144
132
110
148
105
118
135
120
143
105
141
127
141
150
110
135
111
116
105
104
120
133
120
103
133
119
113
141
135
110
130
128
127
101
140
106
111
125
100
146
118
118
124
104
150
109
147
149
100
118
143
108
147
137
120
101
117
118
115
146
148
147
141
129
119
131
136
119
106
107
143
112
135
123
100
138
141
137
110
146
117
133
110
145
103
135
116
100
116
113
111
110
133
139
103
109
106
110
144
120
136
129
108
133
147
117
114
144
116
116
137
146
150
127
123
128
130
145
107
107
142
122
143
115
120
133
102
147
117
145
141
106
102
135
111
207
192
180
186
172
148
167
209
173
195
121
206
141
189
154
152
165
151
144
140
157
181
147
126
210
125
211
187
197
197
158
169
172
173
153
133
160
155
149
137
186
195
214
157
151
209
196
217
150
176
203
156
202
146
184
216
191
155
165
130
178
183
210
177
140
176
218
184
186
163
141
147
149
202
139
197
217
216
158
146
206
149
168
211
198
204
204
202
133
151
195
142
206
149
216
217
186
141
205
212
147
122
189
206
218
206
220
147
145
120
191
149
213
182
181
203
154
142
190
190
188
121
171
131
208
145
204
150
136
211
179
203
165
195
186
179
137
217
208
216
151
179
113
101
105
128
145
136
128
140
147
105
121
118
100
102
147
137
147
106
118
135
138
126
139
100
144
121
135
103
124
148
125
150
135
114
109
148
109
114
148
115
103
127
106
146
129
140
105
128
141
142
114
115
114
138
147
108
105
149
118
110
140
131
133
113
127
130
134
136
113
129
150
100
142
135
121
122
149
142
112
112
132
144
137
129
116
102
142
121
102
149
103
115
102
128
138
110
110
136
114
101
143
139
112
147
145
121
120
127
100
114
113
128
125
118
106
104
102
142
116
121
147
107
129
125
122
142
112
102
121
124
124
116
151
186
188
172
139
133
150
130
139
171
194
203
138
175
149
218
219
218
157
214
141
219
210
208
186
201
217
146
176
204
139
171
122
176
130
131
153
194
208
129
154
160
196
132
188
127
156
191
150
219
138
195
122
185
200
150
201
134
166
204
127
182
151
194
213
138
205
175
147
168
189
200
157
165
157
182
133
212
205
160
122
155
179
128
149
194
155
162
170
147
205
196
189
140
210
212
138
161
175
219
202
131
160
187
149
196
129
127
191
179
194
216
194
156
183
172
144
165
177
130
167
143
139
167
157
160
214
213
195
143
163
165
172
155
175
201
201
176
136
188
123
143
141
139
189
187
197
168
218
148
198
164
135
164
146
156
161
134
167
200
172
204
146
179
144
109
141
118
122
113
106
141
130
110
144
107
106
105
115
107
148
100
106
133
135
148
142
101
111
100
120
138
135
127
120
135
116
128
140
131
103
143
117
136
147
114
132
136
149
108
132
146
138
104
142
106
149
146
104
119
101
140
148
137
126
134
148
131
125
115
101
127
116
110
126
145
122
118
139
138
116
134
100
110
147
141
120
149
135
104
137
141
124
142
149
115
104
124
109
146
140
134
123
144
120
150
100
134
148
132
140
119
111
134
115
128
112
146
108
110
113
118
106
116
120
133
116
114
113
120
132
105
115
109
116
134
105
121
145
142
134
115
102
145
110
111
101
149
109
101
145
105
144
147
106
106
142
111
144
135
143
133
132
128
122
115
115
110
110
108
139
134
146
108
148
126
143
144
143
212
215
169
162
201
157
185
180
204
217
213
148
147
147
144
202
138
135
191
165
150
197
176
162
160
190
175
176
181
145
129
168
203
137
181
163
187
182
184
175
154
194
130
191
137
164
179
177
136
120
133
139
158
144
184
186
157
156
200
133
219
169
200
220
173
120
120
167
129
198
162
196
150
144
156
160
154
151
166
133
182
170
185
132
154
176
129
175
216
148
218
124
202
165
169
162
210
157
196
137
179
213
166
216
195
194
142
205
163
147
152
173
130
198
157
200
204
150
164
169
138
212
136
209
210
167
128
120
159
136
187
190
191
193
129
146
146
166
211
204
139
202
166
149
140
184
196
118
113
135
102
148
120
142
141
132
129
119
144
114
110
111
103
113
133
144
101
109
131
104
105
104
126
126
113
127
132
105
149
138
118
122
144
145
119
144
126
114
129
136
148
116
107
104
135
107
129
126
131
148
120
111
148
137
148
140
100
102
127
111
133
128
112
128
135
112
117
143
110
148
150
129
122
142
150
105
117
127
105
115
141
141
107
124
108
131
106
116
128
139
132
113
130
147
145
108
125
117
142
120
148
113
137
122
101
128
123
104
146
100
108
102
118
134
131
132
123
143
137
143
134
123
102
148
142
139
114
127
125
117
107
106
107
116
146
122
125
112
115
130
142
135
111
137
111
109
138
129
115
121
145
146
135
132
101
134
143
117
112
125
108
150
146
142
170
168
143
170
139
167
130
205
160
207
159
135
200
132
128
135
147
142
144
146
175
143
198
144
158
217
127
147
124
219
138
188
130
184
134
216
180
176
135
141
191
210
219
137
149
140
182
182
173
171
197
177
121
217
124
143
189
202
141
166
142
151
209
135
172
134
189
220
173
124
180
138
202
129
121
190
215
128
192
170
199
218
186
201
194
173
210
185
206
195
215
213
212
209
190
198
173
214
171
195
194
156
150
163
149
179
205
215
208
135
172
203
148
176
181
212
183
178
213
173
162
175
208
141
154
218
206
145
156
191
154
218
168
136
186
143
179
133
207
129
147
148
191
194
205
150
205
151
216
128
174
163
203
144
132
159
211
149
148
111
142
137
143
111
112
114
108
131
149
130
119
117
140
135
116
113
100
114
122
134
107
112
101
107
140
110
150
107
122
145
107
148
113
139
114
113
116
123
124
130
106
127
122
102
116
120
137
136
139
139
108
111
101
130
100
111
137
150
141
136
116
140
137
134
100
111
116
135
129
142
105
129
141
128
119
116
143
122
138
111
101
114
147
131
129
128
123
135
112
137
117
128
111
133
119
148
141
140
110
149
142
138
144
133
140
148
141
126
100
125
121
136
118
111
111
111
106
144
123
135
144
148
135
129
136
115
116
111
123
110
101
148
101
136
146
134
141
206
214
124
191
125
193
192
170
139
137
138
173
211
205
216
185
209
124
172
147
198
203
208
124
134
186
205
122
156
208
182
215
161
162
205
163
145
127
172
220
151
141
167
172
193
135
157
191
125
207
202
194
186
217
207
173
208
155
220
198
129
124
159
214
124
172
154
217
214
198
176
122
165
121
125
134
129
135
216
175
164
124
124
166
211
128
134
183
150
127
164
180
182
154
155
192
146
128
162
140
154
201
168
143
213
214
140
159
175
151
123
168
204
201
219
162
150
209
173
137
152
175
133
148
202
183
184
151
121
148
219
185
200
170
166
146
187
166
149
202
128
162
169
165
142
126
160
209
178
182
176
172
206
129
180
133
144
218
159
137
158
185
156
186
216
176
205
130
162
128
176
132
118
100
148
113
128
134
139
107
121
111
131
121
150
145
130
103
120
108
148
100
127
147
132
129
107
137
139
124
128
148
139
107
133
131
144
119
124
117
126
127
117
103
119
128
123
100
118
133
143
127
112
109
112
114
137
133
146
124
114
121
101
102
140
150
137
125
136
105
100
111
145
108
137
130
133
113
127
133
141
130
108
110
142
138
104
149
109
106
124
130
135
150
106
116
130
144
144
123
113
109
132
102
129
109
147
140
137
109
140
115
122
137
121
109
127
115
108
110
149
137
149
107
103
132
120
145
135
103
145
131
107
145
128
121
147
104
122
101
147
139
112
150
147
125
110
135
162
154
122
138
220
149
188
134
184
199
187
175
155
196
217
187
143
124
128
125
181
212
127
123
163
147
214
137
150
194
209
196
174
194
178
146
127
215
169
142
133
176
201
211
140
192
141
136
164
140
153
142
188
194
193
206
130
127
144
139
150
162
180
187
212
186
179
123
204
178
129
185
194
145
186
204
122
152
155
184
141
185
202
187
189
145
171
188
124
140
120
189
203
200
190
149
172
214
170
217
162
168
139
128
138
191
200
210
189
131
169
161
141
143
169
213
212
153
139
195
129
131
209
157
139
136
151
209
215
215
131
117
111
101
110
111
132
141
121
107
141
115
150
102
143
116
105
103
140
104
134
138
135
106
138
102
111
125
119
121
141
131
116
129
145
142
121
112
114
143
135
123
149
114
143
140
125
109
135
148
114
148
110
117
111
126
145
141
145
140
126
143
111
127
109
146
121
114
109
130
131
101
148
134
144
134
137
116
116
124
118
119
144
106
145
105
143
141
114
111
143
149
144
126
128
143
130
141
117
128
132
140
114
112
130
110
113
137
130
146
118
123
118
126
101
134
135
134
130
118
147
121
101
122
118
150
145
100
119
140
118
132
192
217
209
163
211
185
172
185
169
167
163
155
129
127
151
145
189
210
201
197
220
138
187
172
131
180
131
155
168
153
136
195
166
165
149
142
146
155
154
155
173
212
196
144
136
187
174
157
173
195
173
139
154
149
208
215
208
152
184
159
132
176
190
214
185
160
215
144
135
147
204
123
126
153
181
135
198
158
198
187
129
140
169
167
155
209
149
154
179
136
200
199
203
213
127
126
201
195
184
181
188
184
167
196
200
220
145
160
165
220
157
202
171
188
135
193
168
139
157
123
182
162
146
133
133
142
196
125
148
209
148
192
161
134
154
157
205
202
158
163
189
182
198
216
153
217
126
208
121
144
138
128
121
160
174
188
208
197
160
207
193
120
207
173
201
174
146
135
110
150
115
130
135
103
116
148
102
122
143
130
135
131
110
114
103
112
117
110
119
132
101
135
129
129
110
105
132
106
149
121
137
134
147
102
141
137
118
100
134
146
105
146
123
127
143
107
119
126
107
100
150
109
125
137
119
128
120
111
122
131
126
148
112
130
141
116
110
131
110
120
140
134
105
145
131
109
121
150
130
122
102
104
124
102
124
101
120
123
150
118
106
140
146
108
144
106
103
137
133
144
128
128
103
100
125
102
146
147
150
114
125
114
109
111
120
113
102
111
140
107
142
145
102
103
101
103
114
113
137
142
100
119
150
115
141
127
107
137
137
149
117
123
120
116
124
104
140
124
113
127
103
115
142
111
138
147
124
143
140
134
199
191
169
200
174
179
127
179
123
146
149
142
172
148
184
138
128
182
154
219
134
211
147
217
165
139
189
189
209
154
204
148
140
191
140
212
202
155
122
215
149
143
121
134
134
165
218
213
169
123
139
142
211
140
154
179
151
137
196
175
149
133
166
169
161
121
200
190
146
197
131
208
148
183
197
219
203
144
165
161
193
126
125
136
169
134
217
215
138
126
138
153
175
146
187
153
214
163
177
205
147
121
148
140
151
134
128
123
137
170
218
155
149
216
170
147
198
149
218
148
120
212
175
137
177
161
203
190
216
139
137
131
135
154
125
128
201
122
171
213
187
149
125
124
132
126
190
151
159
207
189
205
131
125
181
195
187
168
209
127
113
120
121
123
101
107
103
139
127
142
130
113
142
106
106
124
148
118
145
104
102
107
134
145
139
146
148
118
147
137
128
149
136
140
114
113
114
106
118
134
102
150
119
100
130
137
119
132
112
142
104
138
127
126
141
123
112
125
109
136
142
129
129
146
120
116
141
117
132
105
139
135
131
103
139
114
112
130
119
130
102
123
130
126
103
129
141
122
107
143
115
104
109
108
119
118
115
134
133
118
108
114
132
124
140
147
121
103
136
115
102
126
110
114
138
129
141
146
101
140
150
137
140
122
108
106
146
146
142
109
109
104
112
121
119
114
120
137
109
144
128
130
106
116
149
117
134
111
137
102
173
196
145
124
154
154
137
181
125
146
192
210
140
219
196
135
125
165
133
138
164
179
191
213
153
150
120
155
200
123
219
156
176
145
174
182
122
208
202
184
171
157
131
190
184
157
145
200
130
214
198
214
180
210
123
152
183
170
143
186
154
173
165
178
212
132
124
170
209
121
206
126
179
209
183
218
149
159
143
212
211
120
150
186
133
142
147
210
152
214
156
161
214
146
127
217
198
198
130
165
136
194
145
130
179
153
212
126
143
219
196
216
130
145
196
174
185
181
203
209
211
150
205
203
140
205
150
170
207
127
164
122
189
179
182
192
211
164
200
129
129
196
101
133
109
112
137
139
136
139
150
114
103
128
133
148
150
110
120
122
124
134
115
112
134
106
141
149
117
147
107
142
110
141
121
103
130
128
117
100
115
113
143
140
102
103
147
129
119
140
103
148
130
137
129
122
110
114
124
114
150
127
148
104
147
113
148
143
130
101
150
120
149
106
115
116
101
147
123
105
102
140
143
132
104
107
146
115
135
140
118
144
125
149
107
143
149
122
100
118
140
146
128
146
130
135
106
135
119
138
146
111
104
106
124
122
120
108
137
149
103
110
140
150
113
142
111
139
145
117
107
106
143
144
133
142
132
110
145
122
109
106
106
106
213
137
142
186
202
153
126
218
216
204
153
203
140
170
208
188
204
174
162
139
209
193
190
138
173
159
196
162
215
207
205
182
220
191
130
134
162
220
161
194
177
173
216
142
129
140
208
176
206
204
163
157
157
147
154
152
159
164
170
169
203
205
214
132
123
169
139
129
129
146
153
165
194
211
204
170
122
185
123
195
187
124
134
215
136
203
192
200
220
160
138
146
175
156
220
185
210
200
153
172
158
218
203
186
188
210
214
158
178
203
169
132
138
208
177
190
197
137
174
183
218
169
120
125
129
175
209
191
143
209
152
196
148
196
122
201
175
137
174
125
119
148
131
111
110
138
135
104
125
115
141
122
120
141
125
111
143
122
101
112
148
113
116
104
149
139
143
124
132
146
110
129
150
137
115
102
105
107
124
110
108
149
133
137
142
104
124
139
144
103
147
103
108
118
139
105
113
148
113
148
113
100
106
115
141
130
109
124
103
136
148
145
121
101
149
149
143
100
136
123
144
122
118
120
119
101
132
121
103
100
140
109
127
121
144
107
128
135
102
107
117
101
136
132
134
121
134
110
111
108
124
110
126
118
148
136
115
109
126
117
124
127
148
144
130
117
105
103
140
128
140
126
107
129
130
113
137
130
145
103
132
137
105
146
135
147
105
110
138
105
169
195
181
181
147
155
202
195
205
133
170
135
153
209
167
151
193
148
131
202
123
191
187
140
195
146
129
192
158
193
145
155
128
147
214
151
187
130
146
212
171
219
154
149
173
195
162
139
167
201
145
220
153
150
202
205
132
159
142
195
196
183
189
154
204
218
187
132
149
166
211
146
207
130
165
209
120
168
156
194
199
129
187
154
207
127
127
121
168
200
124
216
147
175
219
177
166
217
171
157
211
147
143
161
126
152
188
160
147
147
151
122
166
204
178
178
160
167
187
124
167
218
183
161
138
218
195
207
154
124
177
183
164
200
164
203
177
125
171
132
114
131
133
144
123
121
137
134
124
146
102
142
132
147
146
113
122
148
135
101
137
107
148
108
124
103
137
123
113
113
118
124
132
129
109
148
143
128
115
104
102
130
114
142
141
136
104
125
105
112
139
128
141
122
100
120
105
108
132
117
147
144
106
112
148
113
145
103
111
114
137
147
109
117
111
113
130
120
150
112
111
126
147
103
101
114
124
110
140
143
104
132
118
115
114
147
148
129
126
133
147
120
107
134
129
116
109
149
122
121
103
139
126
119
146
117
127
110
101
130
121
143
122
134
138
134
126
144
103
137
134
204
194
144
192
143
218
173
183
189
140
217
215
200
129
197
131
219
196
187
151
168
184
175
130
156
184
154
167
138
189
176
204
199
152
204
200
204
144
124
176
134
148
170
157
216
128
141
217
195
180
158
121
143
203
163
206
193
171
195
121
187
176
172
122
206
205
206
120
206
193
147
192
136
178
162
171
206
121
156
184
144
160
125
141
171
126
161
124
182
178
159
142
212
174
132
158
199
123
163
144
217
121
138
140
210
208
186
141
171
208
142
187
143
200
211
149
164
163
130
136
220
202
192
209
164
153
169
159
123
153
149
152
187
145
127
215
161
137
212
183
135
156
122
205
211
128
167
214
134
167
215
135
219
204
162
184
215
206
133
126
127
141
130
132
130
144
137
119
122
116
127
142
117
108
143
111
117
143
144
134
118
141
119
135
142
132
112
150
117
148
135
104
116
100
138
137
105
103
116
121
121
143
138
127
140
133
149
125
147
148
127
121
144
105
116
149
131
112
119
147
109
115
133
139
131
142
115
113
123
111
148
121
133
124
118
143
139
112
135
111
123
137
119
117
136
146
135
108
113
101
100
113
107
146
132
125
112
128
110
149
137
102
106
140
143
109
125
139
145
131
127
113
141
124
100
115
100
140
129
122
146
125
132
104
128
119
150
129
123
106
100
134
108
145
109
105
106
139
133
123
118
100
127
172
198
197
154
144
144
163
216
218
220
184
145
197
154
219
158
173
213
196
126
171
175
201
200
178
122
130
125
129
174
193
133
175
149
120
175
130
166
136
142
153
213
142
214
186
157
126
125
142
217
205
160
176
139
181
137
173
138
158
166
220
203
176
208
170
210
175
196
208
166
138
167
138
141
166
121
165
192
137
131
143
141
124
174
160
180
214
198
153
187
196
185
214
167
218
152
189
163
134
168
120
160
136
141
212
125
203
194
152
179
166
142
142
143
161
220
139
125
213
160
159
125
171
187
131
120
173
157
189
171
181
169
183
204
183
206
202
219
137
215
203
175
189
219
167
125
179
169
213
138
143
207
138
128
150
206
207
128
140
188
162
209
145
215
130
166
215
183
176
142
135
147
131
123
123
135
111
128
109
142
115
137
119
122
125
148
145
103
126
104
139
135
143
115
133
112
137
116
116
144
129
144
126
121
136
147
139
128
109
123
143
136
106
134
124
115
150
100
138
102
113
132
132
127
150
128
119
101
102
127
136
111
145
115
106
101
141
145
134
101
120
118
149
108
144
125
127
138
138
121
117
108
105
139
143
144
103
125
102
117
147
108
141
127
121
114
138
105
146
125
141
123
116
125
146
102
129
110
130
129
132
107
103
114
107
111
103
116
129
132
149
120
115
146
121
149
118
139
124
109
122
146
110
147
125
112
125
136
104
131
114
114
130
117
126
148
118
139
125
111
119
143
130
129
149
131
132
139
164
207
174
202
149
179
158
168
129
132
180
211
200
127
122
214
211
210
120
137
211
205
164
177
153
171
219
218
214
177
124
167
182
201
150
160
208
187
200
168
173
127
197
160
215
152
198
211
205
178
139
169
206
183
187
128
156
150
120
175
156
132
170
216
220
185
196
121
219
206
200
160
212
136
124
206
169
132
190
133
160
129
129
200
124
133
186
219
211
125
125
174
192
159
188
187
216
197
192
134
207
140
197
133
168
207
193
147
182
120
154
183
125
199
122
134
206
158
159
151
179
200
192
210
159
161
192
124
205
220
145
165
163
139
164
180
208
133
183
218
134
128
146
172
132
153
132
129
138
112
109
147
129
101
145
115
113
142
115
106
120
134
140
142
103
106
147
131
108
113
101
142
108
143
136
136
116
103
132
150
143
150
116
123
109
105
108
123
116
139
122
132
121
140
122
141
101
102
118
102
133
110
134
133
137
101
105
100
113
132
149
104
120
100
109
141
137
106
100
129
146
129
123
146
113
134
150
126
109
130
112
123
118
125
142
114
106
142
149
124
139
146
145
138
130
148
104
108
120
138
138
150
125
104
135
110
132
123
121
106
109
122
121
115
116
109
141
124
104
112
121
141
134
116
146
115
108
110
127
129
148
113
117
112
137
108
102
102
131
116
122
127
188
135
155
191
174
206
201
201
206
217
145
183
162
184
126
196
140
192
123
148
193
127
208
146
135
147
121
186
211
165
194
184
144
175
170
188
150
136
164
122
202
211
155
218
173
167
162
140
126
142
139
126
183
156
141
178
175
213
132
120
161
163
212
121
186
180
159
173
125
165
214
166
120
137
129
191
168
150
129
137
172
186
163
206
142
220
154
194
174
218
143
161
146
179
216
167
164
208
207
195
160
219
199
193
180
144
216
179
203
139
173
148
161
218
148
183
138
210
153
198
120
182
204
162
220
160
135
197
184
212
169
147
125
136
141
159
127
168
175
203
180
140
135
213
127
156
181
154
184
204
116
108
150
107
116
106
139
102
131
124
112
144
134
117
119
125
102
141
147
118
112
130
136
132
124
134
139
148
140
145
110
128
129
107
116
131
104
128
116
147
139
113
149
133
111
120
139
126
146
140
132
134
127
138
103
104
148
127
140
120
139
145
110
128
136
125
129
129
107
109
145
148
118
113
132
123
144
136
126
120
120
124
117
144
148
132
143
141
103
110
130
107
138
111
115
107
130
116
134
116
150
130
138
133
144
125
116
136
119
122
107
136
106
110
137
110
117
138
102
150
145
131
143
103
149
121
150
149
107
140
110
142
107
110
130
116
114
145
104
109
141
143
126
142
141
113
100
131
133
125
124
112
117
140
140
123
147
125
144
128
102
118
147
121
106
103
140
131
118
132
148
190
131
123
174
196
203
193
137
168
169
206
206
194
172
145
196
120
191
173
160
132
181
200
214
178
197
145
126
203
208
201
191
214
165
175
200
163
131
186
213
149
197
153
201
194
126
193
146
138
152
189
183
175
215
145
183
200
204
146
169
161
203
177
188
133
179
208
217
188
193
203
174
186
163
126
124
214
140
147
193
181
122
156
220
158
216
155
209
133
173
212
191
196
121
177
136
194
199
147
177
146
212
160
202
182
213
135
196
202
135
174
126
154
200
165
131
216
207
149
188
214
175
189
220
169
128
159
125
152
174
140
109
106
131
136
144
106
124
129
127
138
109
113
144
103
101
143
105
116
124
124
134
130
140
150
115
123
117
120
109
103
106
108
144
137
107
138
113
110
119
134
112
124
106
101
145
148
107
141
122
135
129
143
116
148
111
125
150
110
102
140
122
136
123
143
101
131
140
132
134
118
112
132
139
113
103
121
133
135
120
127
104
110
127
118
150
140
122
132
114
132
111
138
148
140
144
107
132
115
131
134
134
149
146
113
102
115
144
119
114
115
134
104
129
126
100
150
105
147
124
111
102
147
136
132
140
145
126
118
100
105
108
127
111
138
123
139
114
118
131
118
106
131
140
155
126
140
145
140
120
198
149
160
129
210
153
160
127
120
178
151
187
182
202
131
213
203
145
211
177
205
139
159
124
134
216
200
177
191
209
126
141
187
203
135
194
139
205
141
147
200
127
177
199
165
176
160
180
191
144
136
205
151
120
214
207
132
143
217
211
144
174
175
195
123
180
190
174
173
155
168
174
196
131
123
187
216
150
175
202
127
212
134
148
138
182
131
167
181
136
124
156
158
208
170
120
161
148
130
174
183
213
135
218
174
218
157
194
191
144
134
199
145
181
200
193
139
198
186
145
132
170
199
216
153
141
186
149
144
182
192
133
180
151
152
138
216
100
122
108
110
138
142
150
141
144
145
142
128
126
148
134
144
147
129
105
117
101
117
147
136
119
117
113
122
137
137
124
108
102
126
130
135
139
136
123
118
142
142
119
150
148
121
118
110
103
102
139
128
102
104
133
100
133
136
149
138
136
137
138
144
118
137
141
127
146
145
136
134
125
132
106
144
150
142
149
132
100
145
149
138
150
123
110
110
149
106
131
147
113
150
126
123
128
116
107
144
125
108
146
132
142
143
137
112
104
123
142
119
102
126
148
115
118
108
110
114
146
134
121
138
145
108
102
138
116
117
115
140
105
147
138
182
166
171
187
196
188
220
141
183
130
166
137
158
143
153
161
147
200
198
162
201
190
170
135
135
158
216
152
129
213
205
190
156
124
196
210
142
151
150
202
176
154
120
159
165
131
179
139
202
143
188
198
190
143
142
122
155
140
208
138
172
164
181
157
161
199
187
144
218
211
165
146
144
120
120
188
174
155
179
135
156
164
149
177
195
201
136
142
218
154
174
143
181
201
152
163
163
158
193
141
205
151
177
189
143
186
164
192
178
211
137
167
138
157
220
157
151
195
175
192
159
169
129
202
136
200
212
120
215
142
206
196
152
122
165
134
191
217
197
142
218
154
188
148
198
192
211
152
147
158
160
153
213
189
147
134
175
142
128
126
134
149
137
137
106
115
147
120
143
136
145
109
147
126
117
104
106
102
129
126
108
101
108
141
104
108
126
146
103
141
105
115
114
111
137
105
137
129
107
114
127
148
100
140
146
139
121
119
107
141
126
126
105
144
146
108
112
124
148
114
141
136
119
105
141
132
134
136
113
118
141
147
146
110
128
130
148
132
103
150
130
135
103
108
105
138
150
107
130
145
148
121
130
106
146
106
112
138
146
130
121
148
109
150
108
144
122
149
120
130
130
137
102
123
126
144
103
146
128
143
102
137
123
109
130
127
113
146
137
125
134
107
150
110
114
136
138
134
112
129
116
141
128
135
150
115
146
117
110
114
141
105
136
101
129
134
108
112
146
195
156
213
156
165
139
143
186
208
168
146
135
156
170
218
218
190
165
138
173
172
169
200
180
152
200
170
144
217
188
211
140
218
152
192
128
214
201
131
149
145
192
200
135
154
129
150
191
121
190
217
187
213
199
165
177
208
189
218
206
189
172
188
153
138
203
192
157
198
173
144
162
174
184
159
207
220
158
178
204
158
195
147
190
147
175
180
187
190
150
150
167
166
195
184
128
174
201
148
149
154
200
121
172
150
174
143
160
135
191
180
211
175
176
167
168
125
195
135
216
160
182
152
166
178
199
199
128
167
178
132
217
169
140
171
214
164
203
139
201
146
188
184
124
155
213
163
187
198
146
138
108
102
127
134
142
105
133
134
146
113
116
138
103
122
122
144
107
122
109
125
118
136
139
118
102
148
114
109
138
104
107
128
136
127
142
133
112
137
146
102
124
150
108
140
144
123
131
123
142
101
103
107
142
138
142
127
124
122
124
135
124
117
113
118
132
129
127
135
103
120
122
141
114
138
119
123
103
140
128
141
124
130
101
105
113
125
141
113
133
113
134
141
131
105
142
125
115
146
124
138
121
115
137
139
144
103
110
106
125
117
106
149
101
106
145
129
147
118
117
131
114
146
116
147
123
112
105
142
109
133
149
131
114
138
127
148
147
107
126
116
139
128
137
120
111
104
137
119
143
106
101
142
112
153
201
208
206
182
172
134
194
129
195
179
193
185
129
211
143
141
198
150
211
156
155
129
199
217
180
137
131
196
126
165
202
181
137
149
219
135
136
164
163
133
142
163
157
178
127
126
161
120
159
167
219
130
124
136
137
141
198
144
130
145
149
216
186
219
173
183
203
194
161
129
159
165
167
150
180
148
212
197
146
143
127
154
128
219
169
145
136
163
215
207
185
218
154
206
171
170
128
216
130
156
172
209
127
180
168
208
178
193
210
149
210
156
206
155
134
121
185
183
148
181
195
207
212
131
166
176
209
156
176
168
187
211
137
170
152
175
171
192
191
130
191
219
132
141
122
135
127
124
202
136
218
190
144
128
182
197
171
130
120
166
213
214
217
144
105
110
118
127
130
115
134
102
135
128
114
133
126
149
122
126
112
114
101
143
135
126
134
115
104
146
100
108
129
124
120
143
123
129
141
142
140
142
117
134
116
144
122
116
114
104
117
110
135
116
124
148
102
132
140
117
119
125
143
127
120
127
130
108
128
149
131
112
144
107
100
116
146
139
133
134
149
136
113
140
114
122
149
133
122
139
111
102
137
113
149
134
148
104
142
118
117
146
128
110
130
120
137
146
137
104
112
118
106
145
102
142
120
129
105
128
135
108
149
149
107
115
148
104
141
119
128
145
110
116
134
113
146
119
138
106
121
149
101
102
118
113
149
147
147
143
144
148
134
139
129
138
144
145
157
201
216
160
123
142
219
153
189
201
192
212
201
156
216
202
143
151
212
175
215
161
191
207
204
163
179
209
142
155
220
219
121
140
140
124
219
149
140
216
200
187
163
201
175
182
129
160
144
134
197
155
134
137
147
167
200
167
172
151
145
127
125
133
193
216
125
210
130
205
154
194
123
126
155
130
196
153
209
144
149
123
192
209
153
167
204
132
213
153
143
161
147
138
214
162
143
166
193
217
131
144
153
155
209
169
126
207
198
197
169
212
162
199
154
135
165
140
203
184
132
128
183
165
147
166
137
162
134
183
215
159
130
181
200
128
202
146
191
165
118
130
102
112
111
115
113
121
106
111
126
132
128
141
140
114
102
142
110
108
118
114
124
125
116
140
101
120
117
149
132
119
144
106
130
101
114
130
120
147
101
111
147
101
150
102
126
116
112
121
143
133
105
125
110
122
146
119
127
100
135
146
112
108
108
118
117
143
144
100
133
131
148
115
137
101
127
110
110
117
142
141
143
122
127
112
116
113
133
104
107
146
144
111
127
123
148
120
147
128
129
121
126
110
118
142
133
126
126
114
125
148
106
111
118
111
134
150
101
104
119
120
146
135
127
117
103
123
137
122
134
137
130
105
112
149
114
139
146
202
182
189
203
172
158
126
152
220
128
163
122
152
142
194
174
166
180
123
139
204
139
206
147
148
180
160
177
211
147
155
149
191
164
164
194
218
139
212
198
155
167
193
167
200
184
137
175
129
192
194
143
130
157
174
209
216
146
203
198
211
146
183
166
182
144
144
169
154
138
173
131
179
188
147
138
205
139
143
219
178
149
165
217
157
132
165
163
188
189
156
164
202
169
157
209
178
143
137
145
200
158
167
154
198
213
193
149
163
195
124
184
168
125
155
169
121
172
188
182
213
164
163
131
127
140
201
171
146
138
202
121
173
202
152
215
204
139
121
204
192
195
128
139
194
176
148
154
126
184
132
175
212
132
150
190
121
201
131
150
152
138
133
125
114
131
149
112
145
138
112
128
136
108
140
109
139
134
149
127
121
116
113
134
104
129
118
142
133
144
119
150
116
143
150
113
112
104
145
106
149
105
135
143
131
139
107
125
113
140
104
116
133
108
120
133
113
138
110
110
100
115
139
111
139
148
136
128
140
126
106
111
124
105
113
115
146
133
144
124
109
133
141
119
104
147
108
122
133
146
114
128
105
135
143
135
100
143
101
143
138
143
123
112
114
139
146
106
131
116
102
107
104
146
113
131
112
110
143
128
121
109
132
139
146
148
103
106
112
145
113
143
121
101
140
132
130
144
136
113
101
146
127
100
149
149
132
100
149
141
103
100
103
139
124
117
135
149
142
147
141
110
150
104
125
148
123
112
136
146
110
113
148
129
126
114
120
127
211
129
166
157
212
168
186
125
140
131
182
205
200
212
122
214
120
187
175
189
181
158
204
190
168
133
164
140
131
160
215
150
203
178
131
173
154
158
130
137
131
128
201
201
140
144
174
208
178
145
214
139
138
205
204
218
167
146
150
133
153
121
184
146
214
157
215
174
196
166
124
185
201
185
129
146
205
145
139
193
128
208
183
136
194
214
193
208
164
172
184
161
173
180
156
133
159
188
182
181
198
190
174
190
204
219
208
134
197
159
152
131
124
210
196
192
189
126
136
201
134
127
138
212
158
203
127
187
162
144
192
184
136
195
164
160
161
124
202
177
209
187
188
205
181
188
213
114
130
118
119
143
148
115
132
144
131
150
101
130
118
119
131
132
127
111
107
131
139
133
146
119
139
123
108
141
130
141
105
119
138
140
130
126
115
129
134
126
144
134
128
102
147
116
132
148
127
135
147
127
137
127
136
111
125
132
143
126
145
102
115
109
119
119
150
105
131
145
145
120
121
111
112
139
141
111
123
144
111
107
102
143
113
127
144
140
144
147
107
123
140
137
131
105
124
111
109
141
146
150
100
117
143
123
114
113
132
140
105
115
104
116
118
129
122
143
117
145
144
149
139
126
143
107
105
114
104
122
100
127
115
106
127
121
150
148
134
105
116
131
150
210
171
126
155
140
205
206
134
149
148
150
173
141
172
217
195
120
120
178
132
156
189
211
120
147
190
214
205
158
169
192
130
157
175
170
217
149
209
142
205
177
165
184
120
216
127
128
166
199
210
217
132
156
213
139
176
167
133
200
201
198
134
202
142
140
141
176
149
185
141
132
147
146
177
209
136
122
132
132
130
127
206
186
176
212
197
161
205
152
207
129
181
127
137
122
159
173
191
209
208
208
133
161
120
127
192
174
207
213
141
209
208
177
209
205
186
150
177
193
189
148
184
188
146
124
134
182
162
159
211
151
149
139
129
166
208
166
127
132
177
127
141
197
164
148
173
144
202
125
179
150
209
214
175
187
168
180
207
131
101
108
138
125
130
145
111
126
104
118
149
127
108
104
142
116
132
120
119
129
103
102
136
144
149
145
146
129
129
131
101
139
110
124
128
105
126
130
138
110
101
135
100
133
102
109
121
143
136
131
128
128
140
140
107
136
102
100
120
110
128
112
107
131
141
142
112
125
115
141
102
107
129
118
114
122
103
130
110
149
106
103
117
125
134
102
124
116
144
116
103
150
123
150
141
110
108
103
140
144
139
116
138
126
138
141
124
104
139
134
110
114
135
130
129
139
129
114
125
135
125
134
129
113
144
109
142
105
148
102
168
158
170
185
217
166
155
212
139
193
196
205
212
127
208
214
201
174
140
171
128
192
154
180
219
212
125
144
220
145
182
185
137
156
212
131
185
218
139
216
185
140
141
139
120
182
157
157
161
125
129
201
141
191
174
134
124
126
173
211
156
209
191
202
170
139
122
218
191
133
220
168
213
162
144
209
181
178
194
198
129
156
205
143
162
197
130
139
143
155
147
166
160
163
139
165
156
124
206
194
150
216
127
191
177
160
212
121
141
204
182
140
125
175
148
133
157
134
150
144
155
197
157
132
143
168
180
135
152
211
146
186
167
191
134
142
192
152
197
195
219
130
161
149
209
202
163
127
138
206
165
142
145
201
167
143
120
195
134
141
206
138
126
154
197
159
154
126
120
121
135
142
101
118
123
106
139
147
149
150
106
105
119
135
141
109
108
119
144
123
150
135
100
102
105
121
141
134
130
111
110
110
103
119
118
142
135
134
113
100
146
113
124
141
104
128
120
121
125
110
100
139
126
141
110
138
109
145
143
115
135
105
133
135
116
138
111
110
107
108
141
136
134
123
114
150
123
123
143
131
126
124
129
143
148
137
116
122
132
107
141
140
117
124
114
136
139
140
122
116
132
150
149
135
126
133
109
143
108
132
144
110
109
104
130
145
124
141
124
135
104
141
103
131
112
133
140
126
114
108
134
107
105
101
131
143
145
199
145
131
207
175
151
124
196
147
186
146
174
200
177
193
173
167
204
173
152
198
181
155
173
171
153
219
173
123
203
158
180
147
187
127
210
216
218
146
142
132
205
164
124
201
204
201
159
156
214
172
148
203
197
172
169
167
189
191
152
190
129
168
187
175
167
169
131
151
161
191
148
154
125
154
158
182
134
172
172
148
195
177
169
179
174
137
210
172
220
170
188
187
207
165
120
182
162
173
140
177
192
183
148
166
135
127
217
157
132
197
185
160
137
212
141
200
122
204
157
141
146
162
140
209
171
159
194
132
197
171
163
121
177
168
199
198
196
130
198
169
183
217
214
136
191
140
159
197
123
207
114
105
113
111
101
140
115
116
112
147
125
113
146
112
137
103
140
142
110
140
112
137
100
122
145
126
105
119
141
113
141
133
117
113
137
108
100
108
144
130
134
149
150
150
118
111
129
100
141
100
139
106
110
104
117
123
142
100
116
138
101
111
115
144
124
119
139
124
134
117
126
103
149
138
137
124
145
127
125
140
143
143
126
148
102
144
126
129
134
107
129
149
141
117
110
144
122
104
122
110
113
134
141
144
108
102
119
140
148
144
130
112
137
115
116
104
116
126
146
135
118
139
119
117
112
128
106
116
126
108
131
116
124
150
106
115
133
100
105
119
130
102
111
105
136
134
108
104
144
110
159
150
218
216
191
145
151
176
168
208
122
131
133
127
168
162
165
176
156
160
205
214
211
217
216
212
178
123
151
193
204
196
209
142
140
207
179
172
160
188
185
151
160
167
168
125
204
140
121
150
206
187
194
175
151
171
142
197
169
182
157
151
161
134
122
193
121
121
133
175
187
186
180
197
188
164
191
206
201
129
127
191
142
188
174
180
178
189
132
194
176
213
204
183
137
151
184
143
162
200
129
160
131
145
129
160
188
195
207
171
200
120
192
204
153
165
182
170
211
149
194
139
127
210
211
191
147
120
130
130
161
160
154
194
171
122
173
207
158
189
181
150
130
173
204
188
172
147
143
142
135
171
209
215
196
184
171
214
210
191
164
186
132
139
188
113
130
107
124
106
148
136
143
116
101
101
106
149
140
141
117
121
125
127
130
106
110
147
142
117
138
101
129
128
105
140
115
140
128
146
131
130
113
129
142
128
131
127
100
101
144
115
113
118
118
105
120
124
126
129
133
141
122
147
148
150
130
142
118
130
143
135
136
122
117
126
150
135
148
115
123
103
109
105
143
109
106
132
114
132
111
133
143
127
125
150
145
148
125
136
132
142
119
139
120
129
104
109
143
107
106
142
140
137
116
104
120
103
137
117
109
131
128
109
116
139
115
121
145
112
103
103
135
118
104
150
127
147
132
144
125
124
149
127
115
120
105
147
147
107
123
123
120
119
120
131
114
140
145
138
103
123
132
106
137
106
145
147
128
132
101
111
103
159
215
125
140
212
188
128
171
134
143
137
172
162
136
195
177
208
199
215
133
123
158
142
205
190
194
143
197
194
179
184
121
216
126
130
152
136
181
219
219
204
191
215
204
153
172
217
170
177
158
137
217
169
160
148
127
184
129
171
144
153
209
220
159
141
144
163
171
148
137
154
167
183
147
158
125
176
168
178
204
140
157
204
212
133
155
149
180
193
195
153
163
205
220
184
195
134
173
174
176
173
148
203
167
171
206
165
167
193
159
179
127
139
182
148
189
151
168
172
179
180
174
165
175
120
132
197
207
180
154
155
156
148
188
205
207
210
190
143
124
203
152
185
173
218
102
116
145
134
144
113
130
136
147
123
122
126
144
137
125
117
143
115
148
147
101
137
149
107
101
124
145
104
107
125
126
146
150
116
100
125
144
119
142
149
118
136
138
107
134
119
146
129
123
140
144
120
124
132
131
110
129
148
114
123
100
126
111
130
117
110
148
130
138
100
125
107
120
146
136
145
128
131
110
131
145
126
147
126
136
136
144
128
118
117
113
131
115
138
136
117
129
118
136
143
111
111
145
109
108
140
150
133
133
124
141
114
139
118
117
134
122
140
107
110
146
132
113
142
122
111
140
137
107
146
102
120
121
142
128
119
102
126
110
108
145
142
140
131
119
126
111
113
101
122
115
131
116
120
119
104
118
139
125
144
121
111
104
110
135
120
136
127
111
125
102
101
146
109
172
204
130
171
122
180
157
194
167
132
178
136
138
179
207
187
139
185
149
198
164
127
178
176
123
160
149
186
164
131
193
214
209
191
180
161
185
140
141
126
141
190
174
199
172
219
185
187
173
195
143
142
138
149
183
173
203
187
181
154
178
165
146
208
129
150
125
133
153
219
157
214
182
162
204
150
202
169
191
135
191
151
150
126
198
144
202
127
133
157
218
157
214
156
150
123
153
216
188
208
189
218
132
141
145
212
161
192
180
206
200
166
218
191
163
204
133
147
151
211
197
155
130
206
130
122
202
158
187
160
185
186
183
153
145
131
129
178
133
160
131
200
187
206
174
187
125
210
220
209
121
117
113
126
133
110
111
124
141
111
112
124
110
104
128
124
137
125
148
111
109
125
148
137
128
121
113
130
117
131
125
133
144
110
140
118
139
124
120
129
117
131
111
137
146
131
140
149
101
112
140
128
120
110
115
148
146
113
124
147
140
106
128
109
130
112
117
124
109
122
105
122
139
108
103
117
112
123
132
146
133
124
104
124
150
148
142
148
147
123
114
106
122
121
143
117
141
102
120
119
150
117
109
133
128
103
148
130
114
134
122
100
150
101
135
113
110
141
103
132
108
144
122
143
118
142
112
101
116
139
117
122
149
132
125
141
102
143
139
103
110
123
148
123
132
109
145
149
127
147
132
108
113
138
110
143
146
139
146
124
120
154
126
175
201
123
213
204
196
159
181
148
210
215
203
219
135
173
184
146
129
198
158
206
191
174
211
136
145
147
149
185
185
124
199
165
199
198
163
123
123
218
165
204
190
183
152
170
134
149
142
214
144
211
199
213
170
126
194
209
180
187
200
212
192
138
136
214
128
212
173
215
219
204
121
127
201
197
152
145
206
215
181
196
203
147
129
134
215
212
177
203
134
158
198
171
182
185
175
199
219
176
176
217
205
201
196
179
147
131
163
155
126
160
185
120
168
156
195
154
154
200
160
179
126
163
137
216
219
183
196
193
199
160
210
185
177
142
175
209
127
177
196
157
167
126
138
199
215
132
123
209
193
116
140
149
140
128
146
127
132
131
125
128
145
136
101
149
125
131
128
106
111
129
138
147
143
117
143
118
143
105
120
128
109
121
105
138
146
137
126
147
105
109
123
132
122
115
132
134
134
101
125
128
115
108
122
116
117
130
102
129
101
145
141
119
113
138
137
123
127
109
133
113
129
108
110
141
112
108
111
124
101
150
126
149
136
148
140
128
147
108
127
131
139
110
134
127
147
116
126
103
140
108
110
100
125
112
138
147
103
150
117
122
109
142
120
140
120
126
145
104
106
116
150
121
114
146
116
114
127
149
121
119
139
143
112
118
101
137
126
144
128
136
129
132
109
142
109
103
138
126
122
139
102
118
137
157
143
186
189
220
203
194
189
162
171
123
185
186
185
195
186
151
130
162
192
123
207
176
157
183
171
125
128
147
213
168
128
211
136
139
170
154
208
174
160
184
185
189
197
174
165
127
124
212
124
169
196
149
129
153
218
126
180
188
122
169
156
193
203
144
158
196
166
120
220
215
185
193
198
204
120
182
159
173
194
140
183
127
215
181
134
138
135
181
204
189
191
153
184
196
152
144
139
218
175
198
126
177
158
171
144
132
168
137
206
130
172
210
130
121
206
142
139
206
184
161
141
174
191
188
166
174
200
209
120
194
202
182
120
121
144
122
120
121
145
108
126
123
138
104
115
111
110
132
123
107
138
122
111
136
129
145
135
123
137
136
139
104
128
119
120
145
121
137
121
136
130
137
143
136
124
131
138
110
114
130
127
104
130
102
149
139
120
141
121
145
135
138
117
132
113
117
108
104
144
139
141
132
102
130
102
140
147
131
128
139
104
118
139
102
145
112
124
135
109
122
132
140
133
104
109
115
132
124
131
139
124
105
134
102
107
142
124
144
118
106
102
106
140
102
108
124
143
146
139
113
104
101
146
130
121
129
140
146
136
114
140
140
144
148
138
137
126
146
119
120
119
122
135
110
115
100
105
121
132
103
115
112
148
163
134
143
139
206
170
127
160
176
183
202
207
195
145
158
188
140
216
145
151
123
126
160
162
154
190
208
148
205
196
218
164
174
153
137
146
155
201
142
120
154
180
180
176
184
197
142
212
191
154
209
188
146
163
189
130
207
139
154
196
153
139
125
209
125
212
170
208
148
168
130
144
186
128
131
174
152
175
144
134
134
191
120
142
152
174
143
132
181
182
161
215
122
187
150
127
154
129
131
173
137
146
198
128
140
202
157
124
159
159
156
138
180
213
151
150
206
134
124
159
157
133
164
174
147
192
141
136
159
184
139
202
157
149
129
133
133
161
143
204
175
152
164
178
197
124
149
141
125
177
152
144
146
124
205
199
182
124
201
219
138
158
123
170
133
168
203
133
123
211
142
169
118
126
138
141
100
132
102
129
124
103
116
116
106
123
128
131
118
122
117
144
106
141
128
127
135
112
120
147
146
137
126
111
117
134
142
116
121
140
128
148
121
144
144
109
135
128
102
120
120
136
121
115
119
144
144
131
136
149
139
116
128
140
127
126
105
120
134
111
138
104
150
102
109
128
114
135
105
147
135
140
132
149
116
103
105
149
147
108
141
102
123
104
104
124
129
102
105
150
125
143
100
140
122
146
139
126
108
127
141
136
125
126
147
136
109
133
123
120
100
138
103
150
104
125
138
105
150
122
137
135
136
143
100
104
108
133
100
132
141
113
111
127
108
138
135
143
148
134
122
126
108
123
125
131
168
198
144
216
193
201
194
193
152
129
213
121
127
171
173
212
129
146
192
156
208
157
150
120
214
132
135
146
173
186
134
197
203
169
194
210
184
187
211
216
164
147
132
215
206
166
120
178
165
145
156
147
142
125
190
208
121
209
120
134
156
201
132
129
203
122
142
143
120
178
164
184
170
151
206
146
144
135
124
217
139
204
196
174
168
148
134
131
179
173
202
126
146
204
168
187
136
167
146
168
207
132
165
157
190
187
150
162
180
148
190
143
161
178
141
132
188
148
183
192
143
211
194
129
148
179
202
190
191
208
183
201
211
137
193
215
195
190
219
189
218
124
149
154
190
198
157
179
210
187
209
207
129
195
192
178
158
192
173
205
159
122
212
126
159
157
134
143
132
129
132
149
105
143
121
101
143
107
120
114
124
131
104
147
102
115
126
134
114
139
111
138
148
119
127
118
136
125
117
127
103
150
131
133
110
141
105
150
115
104
127
129
138
130
114
128
121
128
101
133
101
139
104
149
109
113
130
142
142
145
109
118
115
107
130
114
132
106
140
119
128
128
108
119
135
135
131
126
101
142
107
141
150
114
119
145
116
101
131
104
135
124
129
111
116
132
127
110
132
120
108
134
121
114
119
141
121
124
115
139
144
126
124
129
140
113
112
115
143
120
117
124
146
121
115
101
123
107
101
218
166
133
197
178
210
195
219
135
204
182
213
165
188
141
216
195
152
180
210
178
158
166
152
214
144
175
212
203
166
147
218
211
139
145
194
143
166
120
219
193
206
150
169
133
140
175
166
129
133
208
185
151
164
137
195
193
163
198
153
183
156
131
170
176
156
215
158
157
202
192
200
144
145
205
129
130
144
178
214
142
142
174
207
200
164
196
124
141
186
160
154
189
121
147
219
191
198
178
191
212
204
155
218
166
159
211
214
130
212
128
191
208
182
201
156
213
193
120
200
181
176
130
120
140
207
125
189
144
204
127
195
185
195
168
169
150
172
160
133
203
141
184
136
171
216
104
109
121
125
119
144
108
143
106
129
126
136
144
125
112
129
131
150
109
120
138
146
136
114
127
148
121
140
133
121
108
133
137
137
107
112
149
116
102
130
127
120
144
108
134
111
132
125
150
139
112
103
115
100
105
102
103
130
133
130
102
114
149
142
138
118
134
116
131
123
104
138
103
132
113
127
105
100
115
108
129
114
100
130
144
126
150
101
134
137
107
115
148
101
126
113
148
133
142
134
113
149
113
113
112
119
120
102
128
106
118
130
107
118
103
117
114
120
119
141
143
120
112
115
121
124
134
136
110
109
145
101
135
115
132
100
131
108
133
143
133
140
132
143
106
133
133
102
146
126
126
101
135
121
121
131
140
140
144
147
126
136
148
147
108
126
128
101
143
103
126
213
182
165
121
173
205
176
177
165
155
162
212
180
144
163
171
176
182
149
203
128
177
138
150
190
213
184
214
121
199
184
130
132
207
171
165
159
179
127
173
167
120
190
173
152
217
203
214
205
137
218
196
191
179
209
165
194
161
168
170
122
177
134
193
189
120
160
147
183
152
182
174
169
218
210
148
136
189
208
188
188
126
200
167
197
140
167
211
126
137
131
121
211
125
194
203
153
213
188
130
185
147
121
216
172
196
154
152
167
131
182
173
160
190
143
193
205
193
192
209
219
192
120
144
139
189
160
137
171
183
218
134
187
200
174
206
133
162
157
219
183
172
204
199
133
145
170
178
122
122
136
133
122
135
105
115
147
139
100
142
113
134
110
112
134
143
129
146
112
139
109
130
116
128
144
141
140
122
125
111
130
138
100
148
146
105
124
142
136
121
149
107
121
128
124
150
103
123
128
125
120
145
121
125
113
139
124
131
123
118
103
100
131
127
141
112
124
140
116
104
149
117
100
141
129
136
118
150
133
129
120
131
150
105
124
132
132
138
126
104
111
106
128
121
119
146
107
102
123
103
110
147
118
121
103
108
124
113
111
103
122
146
123
144
110
102
101
131
111
141
133
138
114
110
116
109
125
147
120
132
142
141
106
122
129
106
129
126
142
105
115
134
111
141
147
135
143
112
108
118
113
132
131
195
120
153
124
217
125
140
126
131
152
170
141
126
133
201
123
184
183
141
141
183
147
172
145
179
219
200
207
206
144
154
197
142
196
163
150
149
217
186
158
135
170
217
172
155
160
180
150
128
169
156
138
134
140
147
183
218
135
204
137
130
206
213
172
190
180
146
123
197
208
162
165
203
219
214
149
218
219
150
188
170
142
215
183
191
142
190
183
188
203
185
156
132
152
184
218
123
220
220
131
203
128
127
136
167
169
196
199
171
178
151
212
182
198
160
169
180
178
144
211
179
156
174
193
137
197
150
171
201
173
207
196
202
214
179
191
140
150
212
203
214
156
178
149
148
176
120
178
183
204
193
153
131
204
123
149
126
117
110
132
104
146
126
146
146
103
113
104
134
117
136
149
106
103
123
141
104
125
124
130
101
140
114
117
137
129
108
126
100
106
110
101
101
130
144
129
126
105
114
113
119
145
135
132
132
129
102
139
148
101
114
117
121
148
118
149
119
129
142
105
145
110
103
109
100
147
125
140
137
138
141
111
115
148
148
126
121
115
135
130
135
121
106
107
147
135
141
126
128
130
149
129
148
148
146
120
145
126
101
105
136
127
118
141
124
139
117
117
124
119
101
101
106
108
104
132
145
146
124
122
108
140
140
146
112
150
100
104
144
109
124
142
117
115
120
117
114
110
110
108
110
110
122
126
124
120
103
116
130
103
101
146
128
117
125
141
124
131
111
142
107
147
147
109
120
167
157
190
217
216
159
134
208
207
177
175
203
174
193
173
166
154
217
206
129
160
156
183
160
197
141
142
163
215
215
144
133
153
218
150
120
134
153
155
183
162
141
189
210
149
129
197
213
160
176
183
132
152
175
191
134
193
159
132
191
134
120
140
151
125
176
218
215
165
205
191
153
157
150
197
206
136
210
121
193
142
126
150
136
122
218
131
165
181
196
211
126
149
207
182
202
212
197
149
178
201
145
135
198
205
204
165
203
186
156
209
186
179
145
179
123
167
178
186
214
178
181
141
201
214
123
179
205
135
125
140
146
132
112
149
106
111
119
137
149
107
103
108
146
127
110
150
139
123
102
113
139
139
140
118
110
131
127
138
103
118
118
146
126
140
148
141
114
135
141
119
135
147
124
147
103
116
132
147
129
126
133
126
107
127
124
120
109
105
122
132
141
144
134
149
101
138
103
112
115
146
144
127
114
118
136
144
127
143
145
125
150
126
126
110
147
138
107
127
150
102
109
150
121
120
142
109
107
114
116
144
133
113
149
117
133
137
125
126
145
129
111
119
148
149
100
120
116
107
145
122
144
150
147
119
145
144
113
122
116
111
116
110
136
137
105
113
124
150
147
148
150
125
140
135
124
104
145
133
149
118
135
105
131
100
105
125
118
105
126
120
128
144
141
194
211
130
193
180
162
168
176
145
200
160
173
132
171
139
214
171
127
140
200
182
152
200
132
195
203
173
208
219
184
123
124
210
171
136
183
170
142
152
156
130
158
207
159
154
144
195
139
209
128
213
127
154
166
138
148
183
203
195
179
181
180
215
186
199
188
191
138
146
170
169
205
188
174
184
191
185
137
218
128
152
151
162
169
209
188
138
214
200
157
158
208
218
137
192
123
162
149
170
205
137
122
151
212
155
145
164
197
213
201
182
204
135
164
173
195
125
141
149
170
184
202
192
203
166
138
143
131
178
208
172
186
130
175
168
170
211
218
146
210
192
134
142
176
124
160
144
202
187
130
136
119
142
119
138
129
111
123
118
104
102
125
105
147
112
120
123
111
112
128
140
125
115
112
135
114
136
116
124
127
133
101
107
147
107
128
100
115
124
129
133
133
147
147
105
102
143
136
143
144
111
122
129
122
118
102
100
102
104
147
113
114
142
101
122
127
127
113
120
144
107
125
113
114
144
108
149
122
123
139
140
123
111
115
112
110
116
104
133
100
105
145
112
125
123
146
105
148
123
146
136
132
119
113
136
142
134
102
103
138
117
129
104
134
100
105
107
102
145
145
113
127
127
120
149
130
118
122
146
116
144
119
142
120
113
120
112
120
108
144
100
114
119
126
134
127
131
118
104
123
146
125
136
131
122
113
208
140
130
133
209
139
122
217
216
149
149
134
186
198
138
206
163
146
194
127
128
141
150
183
150
122
206
197
211
209
220
187
128
180
140
145
148
210
213
121
134
215
163
183
162
173
170
170
133
145
128
139
157
144
215
147
200
191
159
155
209
168
176
137
161
185
220
219
165
180
158
144
202
158
171
179
154
149
186
207
216
183
150
213
129
215
139
153
220
176
137
120
210
173
151
211
212
125
137
127
136
145
130
158
137
209
171
208
171
149
219
187
160
162
208
204
164
121
190
128
131
184
143
177
134
201
207
218
207
164
135
122
148
121
210
190
219
130
156
128
195
171
181
155
168
147
128
183
166
204
148
187
156
185
141
118
145
119
137
111
116
147
140
107
130
131
126
148
125
150
131
111
136
101
101
129
145
137
120
109
101
145
112
134
119
145
135
101
105
143
138
124
137
150
144
117
109
123
135
129
140
104
126
136
113
150
124
108
145
130
110
137
104
150
150
103
119
120
106
114
115
100
106
118
103
128
122
102
135
100
104
128
125
122
132
101
143
104
113
132
148
109
122
107
128
116
114
137
145
109
136
112
140
130
139
125
125
103
148
103
104
111
135
149
136
141
111
144
113
143
138
146
132
105
106
124
140
103
109
141
130
109
130
141
105
107
100
103
123
136
132
135
103
114
133
136
115
150
171
183
137
137
186
187
216
214
165
144
208
184
154
213
189
218
154
157
151
134
158
186
220
178
215
125
209
152
216
163
219
191
210
213
182
131
168
204
212
138
182
208
164
215
177
217
209
220
156
218
150
164
127
159
169
220
162
125
173
140
156
165
182
142
181
150
212
159
146
122
144
166
162
164
137
148
189
166
144
174
177
140
142
135
145
134
205
164
213
175
127
204
171
125
179
133
169
208
141
168
152
154
120
192
135
150
183
185
133
168
199
168
203
153
121
183
130
145
148
162
133
213
149
195
146
141
201
203
160
144
123
179
160
134
192
198
138
187
208
171
214
163
177
142
152
157
121
123
156
128
114
140
149
108
141
111
111
103
131
139
138
145
117
132
115
149
101
113
102
109
124
112
146
102
135
147
108
117
135
124
115
145
130
123
138
100
131
125
141
113
126
121
123
108
150
109
110
143
132
135
110
117
138
112
118
133
102
107
128
118
101
115
110
145
124
149
126
129
115
145
111
112
125
148
138
103
125
146
103
124
148
132
118
105
127
121
139
104
108
137
127
103
113
149
122
122
107
124
131
121
125
138
145
119
141
141
142
131
100
142
122
138
139
123
123
115
135
107
149
144
138
120
143
112
134
150
139
134
130
104
123
114
103
150
116
137
141
130
141
143
129
137
209
208
209
133
139
188
196
170
215
209
138
146
170
194
190
124
173
220
197
160
205
174
128
185
220
218
142
208
126
218
215
148
123
198
147
182
194
172
194
178
128
135
156
198
177
156
164
203
207
143
152
128
210
154
199
160
133
141
171
151
181
153
138
157
156
214
149
185
216
217
173
176
152
132
137
177
220
184
183
187
208
141
143
161
137
143
203
161
188
197
161
124
177
151
125
128
156
215
173
177
172
194
134
203
190
147
147
193
219
139
154
153
125
190
173
141
129
147
212
135
171
199
201
201
172
184
139
176
178
169
174
196
132
123
177
147
213
206
208
131
165
162
168
132
123
128
129
123
140
134
205
161
173
121
153
129
199
145
190
205
205
192
153
145
124
191
126
192
210
215
112
118
135
119
102
124
144
103
147
114
123
125
142
117
129
126
147
104
130
113
126
141
133
125
103
130
139
110
116
135
145
124
120
127
106
142
112
143
118
105
109
122
130
127
104
112
120
117
143
113
148
140
139
148
148
118
132
107
127
112
113
124
124
150
144
149
117
108
111
149
137
123
139
110
129
121
119
123
136
127
108
118
112
141
148
105
112
113
116
138
135
111
102
117
124
145
102
119
108
137
133
134
136
129
132
109
122
142
105
130
127
127
130
121
147
114
144
137
101
137
138
115
134
108
124
111
112
133
110
131
107
133
117
119
122
117
120
150
149
133
135
115
122
120
204
150
181
194
184
180
136
201
189
202
201
128
131
159
176
124
213
193
146
197
139
212
180
161
180
208
157
137
169
127
130
121
146
191
129
188
140
154
152
149
166
123
200
202
180
151
175
213
208
186
203
188
191
163
191
184
209
210
184
167
125
153
187
215
145
192
144
180
147
131
184
188
136
185
182
205
131
219
174
128
185
128
152
131
180
202
151
143
196
209
157
177
204
166
163
209
206
164
149
199
174
187
195
188
195
134
135
127
214
120
179
154
188
205
181
170
143
139
170
166
203
189
184
131
202
157
187
164
165
167
210
198
150
167
158
176
130
149
192
167
169
180
196
160
210
111
112
144
142
122
112
131
104
135
130
142
114
127
149
142
111
129
126
104
131
146
141
118
105
116
143
114
145
125
137
111
118
111
132
105
115
130
101
126
119
141
150
123
138
132
139
107
112
120
100
101
110
128
148
146
123
134
105
130
149
131
121
128
115
131
104
119
115
105
136
138
123
116
139
115
101
131
126
114
115
147
124
140
120
146
121
112
122
108
103
150
107
129
130
104
114
137
128
115
118
121
143
110
113
147
119
146
131
106
114
126
118
100
109
130
142
110
106
144
113
107
145
127
100
107
104
104
131
140
136
104
132
122
100
129
138
103
134
103
143
102
102
144
144
116
108
125
105
142
130
112
129
116
134
145
114
125
135
146
109
100
101
192
210
126
209
145
122
172
140
186
144
154
141
183
180
144
171
123
146
144
183
193
181
179
155
120
172
213
192
170
151
206
139
218
138
146
124
217
205
156
206
162
220
170
178
152
208
146
189
137
124
150
203
144
130
200
218
201
125
196
153
130
182
207
177
218
142
203
139
211
206
123
192
120
151
186
161
123
148
144
142
177
142
138
217
175
172
176
191
189
201
138
168
210
163
178
172
143
219
154
123
191
173
193
192
141
190
124
192
211
125
201
186
137
149
127
216
206
129
187
183
127
127
201
218
182
167
147
217
161
197
179
184
144
162
162
158
139
205
128
188
192
204
168
142
200
198
126
208
134
114
120
112
102
133
104
122
119
136
114
138
132
101
142
107
137
138
129
139
132
131
119
139
109
119
145
128
148
101
124
115
103
147
144
124
127
109
104
130
146
107
102
143
114
138
139
115
121
132
144
134
145
139
101
101
101
115
101
113
145
113
133
121
125
137
105
127
119
103
128
141
143
104
139
117
100
120
136
101
135
138
134
105
145
113
111
144
147
140
123
131
145
144
141
108
103
101
131
100
135
119
105
136
117
145
145
145
144
121
133
135
105
122
144
133
116
108
116
111
149
136
148
135
126
104
142
144
112
145
103
111
135
148
111
140
122
126
145
130
143
144
127
118
148
147
106
131
116
128
113
100
144
144
131
168
177
169
146
120
156
153
166
212
125
184
203
121
148
220
173
198
181
214
140
209
142
140
206
139
146
175
123
175
216
164
197
144
205
197
158
163
200
142
199
215
131
177
157
169
184
171
137
214
171
207
190
143
130
137
160
146
175
217
209
159
184
201
142
195
123
136
155
144
215
176
214
218
151
158
170
142
143
180
179
151
175
216
213
130
174
134
182
159
199
134
184
133
190
211
196
166
195
206
122
171
157
166
149
178
133
207
214
168
163
145
161
125
124
188
135
160
215
142
170
151
127
207
169
174
159
185
191
135
140
120
184
147
199
167
189
165
192
158
162
160
208
160
143
201
140
197
207
142
133
186
191
214
155
159
219
155
159
167
177
139
148
172
121
157
180
144
185
133
156
166
129
103
126
134
138
122
149
145
138
132
100
109
139
104
103
122
149
100
140
121
113
147
124
136
133
145
118
118
104
149
146
110
132
133
132
108
119
101
141
138
119
111
121
110
149
130
128
145
121
105
130
143
117
125
123
139
122
112
110
143
134
108
146
120
139
115
124
146
105
150
102
141
140
124
150
142
134
129
146
130
123
145
114
106
149
146
103
141
108
126
121
104
100
137
112
144
124
103
108
149
147
122
118
125
135
100
131
144
117
128
142
104
141
129
118
102
135
122
123
140
118
127
124
125
126
135
142
124
110
120
149
176
190
207
176
213
166
122
139
138
209
137
129
210
216
154
208
167
206
120
180
207
200
133
182
218
174
131
201
215
171
162
209
180
128
164
198
188
157
142
196
215
135
170
124
134
210
141
125
141
193
198
191
209
218
208
147
203
202
184
122
219
188
169
123
177
199
210
176
164
155
125
154
134
192
190
144
190
215
161
191
216
208
194
183
142
159
147
137
182
156
122
134
213
193
152
171
215
160
178
201
189
145
192
152
147
164
164
161
147
161
200
173
124
219
199
136
163
122
192
153
194
220
162
153
172
206
180
131
193
199
208
144
137
190
214
182
194
130
187
200
210
156
183
146
122
131
109
113
140
128
103
126
141
128
137
113
130
111
116
133
129
123
142
121
102
143
128
146
140
123
132
127
149
116
130
101
110
112
102
116
150
144
120
119
124
107
126
106
122
132
125
140
100
114
112
114
150
116
150
117
139
110
105
139
108
131
132
100
135
101
137
118
133
108
136
111
127
126
117
100
124
145
130
106
127
136
138
140
149
142
135
129
101
120
114
121
124
130
122
109
113
134
104
106
107
144
123
140
147
137
105
122
131
112
146
103
107
139
135
121
114
124
107
141
127
139
119
130
133
118
142
132
144
108
113
136
129
117
132
124
143
124
113
109
102
111
143
106
143
219
122
201
149
198
194
209
157
184
192
188
127
144
151
126
192
125
131
141
162
191
219
172
140
146
157
122
176
169
149
202
123
166
213
174
126
192
192
199
186
137
157
147
178
192
161
127
143
124
179
170
148
191
144
174
129
171
147
171
173
206
145
188
155
163
194
184
137
137
175
194
187
124
171
205
164
145
204
183
134
136
136
184
198
152
217
208
149
217
210
218
181
205
124
159
166
218
167
209
159
210
120
202
177
218
199
162
194
134
182
123
133
175
178
163
190
154
188
214
170
145
133
188
205
198
129
181
170
189
140
125
130
123
207
154
167
190
214
121
199
171
183
149
152
139
138
157
161
144
194
140
122
150
130
124
128
124
128
136
116
123
106
143
113
121
147
137
119
143
122
119
114
142
127
137
138
104
132
146
112
123
112
115
112
103
147
113
115
124
111
112
144
145
125
111
116
125
139
127
116
122
114
138
123
125
106
101
131
126
149
113
112
114
107
122
149
147
139
132
148
133
122
103
126
138
136
129
131
111
116
128
116
104
139
126
129
101
141
105
108
112
109
113
136
103
140
124
138
105
141
113
110
125
132
141
113
117
110
131
138
110
102
112
148
117
117
116
123
147
112
126
141
105
132
147
104
102
132
136
134
131
130
119
144
120
104
124
115
133
107
147
131
147
150
138
147
148
128
137
137
118
103
134
107
145
106
217
220
181
204
203
125
146
130
154
188
145
220
157
177
147
193
186
122
213
145
193
204
171
128
172
178
154
129
172
169
159
123
179
140
145
191
146
201
158
187
121
132
188
132
195
159
190
172
180
153
142
158
149
154
201
178
170
176
131
187
212
147
216
190
134
211
213
154
204
176
202
218
130
178
177
195
167
130
210
218
211
208
205
147
174
215
209
203
211
185
128
155
165
146
180
153
208
216
207
135
208
179
207
201
140
136
162
209
183
163
151
123
182
209
160
151
207
163
217
131
162
176
196
207
176
152
172
180
152
182
199
184
217
195
149
183
185
193
125
207
206
129
123
121
218
213
216
203
194
162
138
218
188
129
122
126
174
171
150
147
161
136
142
160
109
125
139
110
107
144
112
102
148
136
119
134
139
110
118
105
141
121
108
139
113
143
142
125
105
113
117
131
140
145
134
138
104
131
118
128
100
105
132
100
109
131
136
123
116
102
113
126
142
103
138
137
141
119
135
121
114
116
147
100
117
105
145
112
122
103
127
108
137
114
128
137
122
129
140
133
118
115
114
140
109
127
140
126
115
141
132
131
129
106
115
127
116
144
141
145
128
127
124
149
134
122
124
127
108
134
112
139
148
123
127
100
123
103
148
102
101
144
147
110
131
107
137
125
125
136
150
108
133
112
105
128
112
123
140
108
118
114
121
143
136
114
118
146
104
160
124
163
216
217
140
204
220
133
180
166
121
140
150
182
140
153
217
121
166
194
144
191
215
199
127
192
170
139
158
196
126
212
158
207
157
139
185
121
184
211
210
160
199
184
172
198
176
175
131
133
126
138
145
172
202
191
130
152
137
178
142
134
199
199
185
134
183
217
195
162
133
144
163
186
181
194
152
155
218
182
155
130
121
204
178
138
206
121
159
142
142
152
179
175
175
122
188
179
173
143
218
125
218
190
157
154
140
188
207
206
171
123
200
157
136
150
211
214
126
127
129
146
168
176
120
153
172
180
184
206
150
103
116
132
110
141
135
137
124
142
126
105
108
131
137
112
144
112
137
139
130
132
122
136
136
132
149
139
121
122
119
101
146
103
130
102
139
104
147
135
122
102
149
130
142
112
121
119
100
106
111
113
133
117
137
115
145
105
117
147
142
149
147
145
141
123
119
113
103
100
127
111
109
129
112
142
149
134
117
119
103
140
117
134
114
120
108
104
120
135
135
111
102
119
116
138
137
132
143
100
125
137
145
114
135
129
111
110
120
119
111
124
119
115
105
117
103
125
119
145
103
120
127
123
107
150
134
111
127
104
117
106
135
109
117
115
102
144
173
182
145
185
133
125
127
133
120
218
190
184
206
139
175
159
140
172
154
178
220
172
165
171
215
209
122
215
155
204
157
198
143
142
155
153
163
121
188
142
160
157
135
219
188
208
191
179
149
131
176
158
162
141
183
207
171
138
205
181
175
161
163
152
214
120
123
204
128
215
189
160
152
169
144
145
190
199
188
143
125
205
214
182
178
167
201
220
194
180
158
187
208
154
213
145
205
173
127
207
135
191
146
181
190
199
121
168
132
153
172
147
196
143
128
154
168
126
190
199
203
161
140
219
202
186
125
145
184
164
165
214
193
211
217
163
185
143
162
175
173
125
174
138
204
159
143
102
111
114
147
143
126
135
100
123
125
110
107
142
134
149
113
114
124
114
148
110
131
138
136
141
139
130
102
147
104
149
106
113
116
113
141
144
136
146
126
138
124
107
108
106
111
106
109
137
121
124
129
146
126
105
123
113
125
102
131
118
149
147
136
150
146
146
125
130
127
141
103
104
149
149
106
129
105
134
104
113
140
131
134
139
150
142
139
130
126
134
112
134
129
123
105
145
127
104
102
106
142
148
134
144
149
129
107
102
150
126
135
130
138
119
136
122
149
111
148
124
146
115
130
109
115
131
141
105
127
141
107
138
150
134
127
113
141
110
106
123
107
141
117
107
132
125
116
139
101
114
119
118
109
147
136
108
128
160
163
156
214
191
169
182
159
173
144
208
144
149
170
145
201
147
220
176
161
162
125
166
185
168
151
181
208
147
147
177
136
128
165
190
140
158
183
188
121
211
189
169
120
210
151
209
142
131
212
193
187
142
141
143
145
191
161
218
154
136
138
205
172
218
187
190
186
136
174
155
180
125
214
207
220
192
149
192
168
206
135
127
174
204
182
132
192
186
162
183
190
169
127
178
157
203
216
161
131
158
200
182
194
194
208
171
180
169
185
125
217
129
142
149
144
218
178
211
158
174
152
159
213
131
179
131
101
140
138
121
147
146
124
115
109
119
122
136
125
101
143
116
124
148
121
148
128
131
119
100
114
139
120
146
140
102
121
136
113
141
108
116
127
105
145
113
110
115
142
122
148
147
103
131
146
112
118
113
136
119
118
131
136
110
124
128
115
111
119
122
150
129
127
132
134
106
134
125
124
148
121
141
132
125
103
146
103
112
136
142
107
111
129
101
102
103
112
129
129
129
142
143
146
132
146
141
122
101
124
126
101
144
133
119
112
125
145
135
133
142
134
132
105
123
145
107
100
108
149
137
133
150
125
204
123
158
190
156
180
216
123
146
173
157
187
220
148
153
128
165
198
148
151
160
208
197
214
148
128
207
160
193
150
201
130
190
183
189
189
146
139
131
167
145
129
142
172
213
216
174
149
195
125
203
152
161
158
159
215
131
124
163
178
171
202
168
136
195
147
188
160
168
177
172
153
134
168
128
208
128
155
155
152
181
186
148
217
202
165
126
153
207
202
146
165
170
181
185
216
174
172
203
139
138
131
180
159
184
195
135
185
133
172
121
133
167
160
205
154
177
141
212
130
127
220
123
125
168
122
194
216
149
185
146
188
199
209
158
162
204
131
214
215
207
191
150
132
177
169
147
165
165
140
181
100
120
125
100
128
122
113
139
120
110
134
120
107
135
130
103
122
102
123
103
138
113
125
123
134
150
108
132
105
124
130
141
147
140
110
128
112
129
113
111
139
145
117
150
106
118
107
141
130
125
106
133
111
105
101
144
128
106
137
110
140
116
126
139
145
142
122
117
116
124
127
100
136
117
103
105
140
130
124
139
120
102
111
147
127
137
101
150
110
148
107
123
131
128
118
132
111
124
130
143
110
116
127
142
136
108
105
117
114
127
142
108
101
144
117
116
124
106
125
122
104
100
132
126
131
116
138
106
137
148
109
149
118
111
138
104
137
134
117
124
108
110
108
104
147
149
116
124
124
114
138
114
115
101
140
123
134
108
139
101
133
111
141
138
134
139
111
198
187
159
145
200
164
142
211
174
146
192
168
170
121
133
162
173
170
218
198
219
164
206
123
187
196
138
122
181
161
213
203
213
140
192
165
219
125
134
198
133
179
136
167
197
218
155
198
211
143
219
135
154
144
199
153
214
216
193
218
180
214
147
183
174
204
131
175
127
191
201
205
134
217
172
198
133
204
211
182
164
179
153
146
213
130
160
185
203
163
220
167
211
220
190
131
177
135
220
195
149
179
162
218
122
190
152
214
195
201
219
172
133
127
148
195
125
185
170
125
195
178
198
120
206
121
164
207
153
135
158
153
135
198
178
159
181
170
137
162
132
195
124
215
123
143
163
134
146
156
121
215
193
152
124
139
183
142
208
206
183
145
127
194
139
163
193
105
115
108
148
104
146
119
117
107
144
124
131
116
125
130
148
141
138
127
148
110
144
114
104
136
136
107
129
134
114
113
113
119
115
137
141
113
107
137
128
148
121
103
147
127
131
126
117
117
104
142
134
105
118
131
105
105
137
134
109
102
141
133
121
112
138
144
108
145
117
132
135
116
146
148
136
148
123
116
102
125
137
122
126
104
143
126
100
126
121
137
131
143
113
118
142
121
146
140
138
111
130
119
148
121
147
125
137
131
119
124
133
118
112
128
103
117
131
115
142
108
116
121
141
133
123
118
132
141
106
109
146
144
126
101
141
123
142
133
127
115
103
116
136
107
156
210
122
123
149
181
219
153
130
176
133
164
136
142
125
136
199
207
140
135
199
142
212
148
128
178
212
133
127
190
208
150
178
123
165
187
177
196
192
210
125
178
181
160
190
159
145
156
198
125
122
151
129
200
168
130
200
146
189
187
197
120
127
167
120
180
146
159
129
212
204
215
205
165
186
163
146
181
144
205
209
202
147
123
201
170
166
178
120
197
126
128
155
132
169
150
220
183
135
194
153
187
185
181
125
193
141
216
205
123
166
135
175
195
148
132
153
121
201
133
138
168
159
127
132
196
137
171
130
162
210
188
132
140
136
182
199
186
122
138
134
172
218
126
199
193
215
120
104
109
147
116
131
101
128
141
148
108
109
127
141
121
136
135
138
150
143
137
114
142
125
116
133
111
129
147
139
128
116
125
112
128
137
122
103
148
104
132
132
129
145
123
119
136
132
113
122
136
121
101
141
119
117
143
129
140
121
135
104
143
127
129
100
129
133
142
124
123
100
121
133
113
120
146
125
101
147
106
112
129
145
111
138
142
117
127
106
149
145
135
110
124
118
137
101
142
149
104
104
149
123
111
137
135
123
127
112
133
127
107
122
104
122
109
137
111
143
106
108
131
134
109
139
139
125
145
104
127
120
106
103
105
122
132
136
126
125
116
142
131
129
150
140
135
104
100
107
113
139
116
148
100
118
144
134
122
206
143
142
166
194
198
207
158
189
128
204
152
172
154
126
152
218
169
148
198
198
131
176
213
220
177
167
139
216
188
139
215
176
141
217
141
188
155
196
121
154
120
196
211
192
210
128
198
220
199
176
123
213
159
139
160
191
126
206
201
201
165
193
153
159
131
168
145
213
220
122
215
200
123
132
178
151
126
217
187
144
155
167
170
170
170
216
190
197
213
204
132
191
169
178
170
183
205
213
216
201
207
164
188
202
167
123
158
187
140
123
201
197
175
127
202
158
209
122
165
121
152
218
211
163
174
169
169
147
208
209
209
160
173
206
154
139
190
189
220
162
156
215
151
201
102
105
140
118
120
122
142
107
101
104
118
143
114
139
104
111
108
137
104
136
102
132
124
126
103
123
112
128
112
146
136
113
119
146
113
128
147
105
114
101
126
142
112
106
102
108
137
105
134
144
117
149
141
123
146
122
120
147
127
130
125
140
104
106
114
143
146
103
128
118
122
132
131
104
121
120
131
139
136
137
129
111
105
147
150
119
104
100
121
132
117
130
110
138
145
141
135
106
116
137
132
100
103
100
132
108
138
110
133
120
131
102
146
130
103
136
127
130
147
114
147
143
103
125
142
141
141
119
111
195
184
121
157
181
192
144
126
120
137
125
130
126
186
177
152
121
200
155
139
197
202
208
210
145
157
171
140
212
127
127
187
170
153
201
160
178
182
192
219
202
141
149
190
188
120
146
190
203
155
203
162
217
173
200
216
128
162
150
121
212
212
122
218
216
194
127
187
171
173
139
196
141
163
188
144
206
190
216
177
130
200
201
146
160
165
207
202
143
188
213
203
193
134
180
147
126
207
161
198
212
140
134
148
120
182
134
202
207
131
204
213
120
133
171
166
141
196
154
205
163
154
137
218
162
163
164
146
147
195
133
136
220
124
187
217
188
197
130
140
124
121
108
105
126
134
148
124
120
145
110
134
139
140
109
139
128
118
146
135
146
112
122
122
145
118
127
132
114
119
144
119
131
132
120
110
144
125
128
109
109
144
146
116
144
135
104
150
114
150
128
144
100
106
143
131
127
137
137
135
122
137
136
107
103
126
124
124
118
109
121
131
108
103
149
136
103
105
104
115
124
121
138
103
109
109
111
129
105
130
141
150
122
121
149
126
103
102
101
150
121
149
114
124
134
136
102
121
118
105
130
120
141
142
129
143
121
149
104
108
120
113
150
130
135
138
120
121
127
139
150
143
132
137
107
102
123
108
129
129
124
109
161
209
173
184
209
181
199
166
180
181
174
148
152
156
175
216
149
190
209
131
124
194
190
164
191
182
154
121
171
197
150
129
134
160
195
139
131
179
160
218
200
139
217
145
200
206
188
178
159
216
136
183
175
181
199
217
143
192
171
148
199
174
126
154
207
216
139
160
145
139
177
219
157
196
140
138
203
165
163
135
125
133
209
194
197
177
133
146
150
200
175
185
125
139
169
172
211
198
165
141
179
137
153
174
166
214
188
194
143
210
184
220
210
152
186
140
216
202
168
129
169
201
151
216
203
129
137
190
130
106
123
132
105
131
121
136
106
137
147
138
108
101
113
141
105
134
123
108
108
135
150
126
145
126
113
101
119
140
124
102
108
149
137
112
143
120
131
129
113
100
139
143
136
102
144
110
129
121
113
131
135
103
122
138
141
114
143
127
122
118
127
143
117
118
110
125
123
139
131
150
141
133
120
133
118
141
135
113
146
114
101
112
146
148
131
139
108
109
136
144
137
133
108
105
114
149
125
129
115
120
113
102
118
100
138
138
116
149
143
108
134
138
135
120
150
133
140
120
101
126
128
133
117
101
142
144
103
143
121
133
113
114
148
134
129
142
114
120
148
102
127
124
116
140
146
141
143
102
133
199
142
201
196
180
150
155
201
218
133
124
138
210
217
139
146
214
135
198
155
124
129
198
121
136
130
216
198
199
142
216
209
127
209
126
178
134
185
123
166
180
133
127
217
127
208
207
134
163
210
178
154
158
187
160
132
184
209
147
181
206
156
163
178
219
125
211
197
126
180
132
156
201
170
121
194
154
172
174
207
180
161
132
140
219
207
131
215
187
163
213
207
211
188
196
220
137
164
199
204
152
148
126
137
208
203
152
168
154
201
151
132
136
170
190
142
218
133
155
176
174
123
207
146
184
170
188
145
203
183
150
150
179
214
168
210
133
120
157
179
189
168
181
167
203
186
130
185
182
161
135
122
190
140
134
173
149
197
174
192
134
214
174
218
201
186
220
220
140
151
121
218
146
186
122
134
127
123
149
121
104
142
149
148
118
125
124
139
145
110
142
144
145
112
135
102
122
103
148
113
101
138
123
112
125
113
133
104
103
121
123
109
130
103
142
126
137
106
117
137
140
143
137
125
115
137
121
114
115
115
138
130
142
129
114
131
145
132
130
130
125
145
148
150
142
109
147
115
147
148
118
139
102
137
108
132
122
112
109
115
149
132
110
126
121
114
130
142
144
125
127
148
124
150
109
122
120
129
132
115
104
103
109
109
138
144
144
131
149
143
108
121
134
123
148
144
124
128
126
111
137
105
120
102
144
102
140
103
127
110
118
125
132
117
132
110
102
123
145
127
130
106
149
122
110
115
103
109
135
140
100
148
115
134
122
110
117
134
135
146
146
128
143
145
121
120
105
126
136
184
132
131
193
213
209
191
148
167
137
168
142
133
131
191
177
123
208
162
204
196
157
155
180
150
131
124
219
167
154
175
199
152
190
157
174
131
138
170
152
170
183
156
182
165
138
204
138
215
141
215
187
133
205
143
185
213
210
175
212
156
122
218
145
125
212
217
152
159
156
148
146
146
201
124
215
181
200
163
133
181
122
207
174
171
133
189
186
218
120
126
134
213
187
179
179
195
120
184
178
159
181
140
164
130
186
177
199
126
145
176
146
205
180
189
165
183
212
143
218
176
218
143
164
179
122
170
211
148
201
153
183
173
214
147
183
216
164
211
138
150
197
184
170
139
170
139
166
153
214
208
192
140
219
194
135
133
119
100
124
140
101
140
121
106
135
134
109
100
131
141
114
130
142
108
145
111
127
143
105
108
121
140
119
106
114
139
140
146
121
149
111
147
109
114
137
125
134
128
138
138
143
133
130
148
138
138
123
109
129
140
129
138
111
145
118
144
149
101
150
136
130
105
119
149
150
107
122
132
110
102
147
150
149
105
117
103
125
104
124
143
133
103
132
107
113
135
109
147
144
127
129
108
138
136
123
131
145
136
142
137
139
149
117
122
136
125
123
142
124
136
108
149
140
126
113
114
101
118
127
146
145
146
122
126
123
110
138
119
122
107
137
131
115
134
143
107
139
116
127
109
121
143
111
126
140
133
112
143
104
119
105
128
110
137
156
192
123
158
174
140
139
171
214
206
191
134
209
164
126
147
121
172
207
134
161
120
184
175
132
157
219
196
146
149
204
180
148
187
169
204
198
139
200
219
166
137
212
192
139
219
161
175
129
184
195
121
126
161
197
173
182
168
210
148
129
137
125
153
197
181
121
177
139
199
168
173
167
217
176
140
198
163
174
187
189
207
186
173
215
198
136
200
150
161
188
179
124
121
139
204
149
197
126
207
203
196
196
155
177
181
186
125
145
176
165
190
212
134
141
219
124
204
201
219
145
184
202
210
218
175
219
126
146
138
156
142
184
174
174
180
145
212
151
175
158
197
157
147
183
133
146
205
155
182
206
176
215
163
155
181
185
167
203
218
192
204
186
186
151
154
171
158
181
186
209
203
149
205
149
150
101
107
128
112
146
108
138
115
119
112
124
103
140
103
127
141
140
103
117
104
135
131
104
136
105
138
117
110
109
116
117
131
126
107
141
144
104
121
139
101
144
147
110
132
128
111
102
150
122
112
127
138
122
104
111
122
141
127
125
147
148
107
149
110
116
121
135
131
102
111
145
115
109
139
146
102
138
106
148
109
125
139
129
139
101
103
121
108
104
102
110
139
101
107
117
106
128
144
113
122
117
124
130
107
103
124
102
130
119
120
123
138
139
122
133
149
128
135
150
104
148
112
121
128
128
120
143
106
132
137
111
124
135
136
112
141
135
118
135
121
118
141
107
150
137
104
100
111
153
172
153
136
150
141
202
153
155
206
179
196
156
147
201
212
130
153
159
171
178
176
214
199
175
155
187
163
205
192
167
125
134
167
120
198
196
159
219
152
178
191
195
212
125
188
179
144
122
200
154
162
203
204
209
164
154
184
183
154
196
155
156
182
216
158
196
123
161
179
210
158
142
218
143
167
173
186
192
128
144
124
211
208
123
197
124
194
153
151
209
158
153
192
154
203
128
218
164
154
203
213
155
186
184
140
170
142
193
195
160
126
153
147
195
204
211
208
145
159
136
213
212
175
139
141
131
173
205
187
203
128
142
217
154
198
192
120
177
214
159
212
217
130
155
191
151
120
220
190
132
218
162
143
134
133
143
110
122
135
123
113
107
123
118
136
126
116
150
144
107
140
107
101
149
122
103
110
104
126
124
126
121
104
115
141
116
113
100
147
108
110
118
100
136
122
115
122
133
145
113
148
122
103
110
134
149
125
130
119
138
144
144
136
122
101
100
141
107
150
144
106
110
147
105
111
101
116
124
128
128
103
127
141
106
102
102
147
133
148
129
114
119
122
137
137
101
119
101
131
101
124
125
127
147
127
143
102
107
141
106
133
118
117
102
130
129
121
112
148
118
140
118
148
139
124
149
115
127
138
134
133
115
100
145
108
148
141
129
118
118
134
146
106
143
121
131
140
113
132
138
130
111
187
211
188
166
168
182
174
216
147
137
171
196
136
160
219
151
209
160
213
182
148
208
138
215
157
178
137
151
185
205
190
156
171
206
170
193
137
165
146
195
148
210
207
190
207
155
151
195
189
200
181
128
192
143
149
129
205
174
187
210
199
188
163
160
142
203
124
162
184
131
214
120
187
180
213
215
174
124
196
177
131
152
207
207
146
138
142
214
170
198
208
190
123
139
137
152
148
172
155
129
132
141
216
138
218
179
160
176
151
184
194
166
126
144
168
171
192
125
163
149
167
136
159
170
186
172
164
210
196
160
214
142
150
129
102
110
104
110
145
144
149
117
109
139
132
113
105
114
132
100
120
103
141
110
133
134
124
106
119
102
138
135
128
131
105
112
118
148
120
140
104
144
120
124
140
136
113
144
111
148
101
140
101
105
132
113
136
121
142
116
111
125
141
107
126
144
116
105
122
138
133
125
136
119
149
111
138
113
101
145
117
138
146
100
136
116
105
143
139
127
120
141
148
138
115
120
136
143
111
133
148
124
131
114
112
136
122
144
113
115
122
113
127
103
149
104
144
113
148
101
125
137
107
139
127
125
109
132
103
124
209
167
133
181
185
214
168
205
199
192
170
185
155
125
129
160
165
147
177
138
182
205
126
169
186
194
195
184
193
205
175
158
133
178
127
128
168
146
177
204
173
147
171
155
201
155
177
166
129
129
122
215
140
190
198
158
210
179
167
175
152
219
163
131
159
169
126
139
142
180
143
192
134
144
189
199
208
174
179
145
171
141
182
181
175
135
195
145
147
134
173
219
200
174
145
187
207
178
203
211
179
120
220
163
164
194
182
122
166
206
147
196
167
220
210
207
188
168
126
210
163
174
210
172
132
155
214
170
144
167
134
210
165
215
216
199
144
139
160
210
189
202
121
193
156
163
193
145
183
141
218
207
218
160
186
126
177
210
213
178
216
144
123
159
211
219
187
167
186
220
215
215
183
219
194
130
137
139
146
121
132
117
137
104
121
124
119
118
137
128
150
141
124
122
115
130
122
108
141
143
113
136
119
145
124
111
138
140
137
142
118
116
137
130
108
145
109
106
140
105
122
108
114
124
132
142
118
143
147
119
130
116
101
110
115
124
125
116
139
140
105
111
115
130
122
133
140
106
133
112
115
125
127
120
104
117
147
149
134
144
132
106
120
116
104
108
107
122
137
143
123
125
105
113
111
131
116
122
147
118
145
124
121
109
147
123
110
105
103
118
114
137
126
141
125
105
136
121
112
137
106
141
129
113
114
142
130
116
121
127
129
135
147
103
132
111
117
105
137
101
146
112
124
107
154
208
175
146
203
215
137
171
122
184
152
178
158
201
164
167
145
204
150
183
146
183
215
202
184
194
158
151
187
167
199
128
178
154
153
152
167
136
185
171
143
174
164
187
142
217
194
193
194
137
144
190
211
149
134
136
195
207
134
157
157
211
160
130
123
151
172
138
139
165
191
176
189
184
167
146
180
192
213
214
220
179
149
127
181
200
215
130
158
206
128
184
151
201
181
141
159
208
154
199
124
185
178
191
202
188
148
155
137
175
180
141
177
184
122
151
122
203
121
206
191
171
150
136
138
211
150
123
120
195
142
182
220
160
188
149
170
158
208
158
135
153
120
213
122
150
146
160
201
163
151
157
160
165
131
191
169
187
136
152
172
208
143
164
128
146
104
143
139
101
107
108
150
105
115
124
102
124
107
117
141
128
113
112
136
101
122
145
109
136
122
131
101
131
119
115
116
136
147
107
147
102
104
142
108
139
114
148
123
103
139
120
102
121
132
103
141
128
109
130
134
145
137
104
109
135
127
109
119
109
113
145
149
105
146
110
144
139
116
126
117
144
141
131
137
149
119
134
126
122
132
147
106
140
111
149
143
147
109
115
149
104
147
106
141
104
136
142
146
135
118
131
145
110
133
150
145
102
115
121
110
131
115
114
125
116
124
127
146
110
112
100
102
134
115
129
141
140
137
150
148
146
106
146
147
140
105
121
119
100
103
100
149
108
117
106
130
136
137
140
125
105
118
102
127
132
101
122
132
161
141
159
141
138
174
125
216
148
143
134
142
172
195
159
121
122
191
191
138
133
187
144
170
146
164
202
125
139
141
210
145
143
123
130
159
211
126
220
126
165
189
216
131
151
213
157
132
144
181
181
194
167
207
219
120
144
204
173
199
121
126
139
207
199
122
199
169
158
189
152
202
169
131
145
147
125
128
182
155
130
128
138
195
156
150
211
170
146
170
146
136
196
122
165
166
220
217
215
211
189
200
172
123
180
149
203
198
212
123
175
139
124
191
133
160
133
198
139
214
151
213
157
212
206
161
122
175
135
190
200
136
168
171
170
171
219
130
166
155
196
152
179
196
210
216
196
215
216
205
122
115
142
133
136
137
122
104
110
108
115
111
150
117
121
114
111
138
145
144
132
127
112
105
107
118
142
110
122
148
120
132
120
109
139
127
109
119
100
137
108
109
149
128
105
136
123
122
125
113
105
117
136
138
106
104
111
140
115
105
147
141
101
149
111
145
113
126
144
114
104
100
100
120
146
137
116
120
102
101
122
130
133
136
142
106
103
138
145
138
135
138
141
100
140
122
149
149
123
110
120
112
100
115
140
132
101
132
119
108
125
140
122
133
113
125
148
134
101
127
132
114
125
122
117
140
123
128
111
139
125
146
135
112
123
137
100
124
107
104
138
147
102
112
123
105
106
109
113
105
144
150
122
120
105
149
111
144
117
101
108
117
140
124
112
112
136
135
124
185
195
153
163
216
170
205
135
145
125
205
151
130
150
142
199
151
149
159
182
139
210
213
199
169
182
214
163
177
183
168
182
205
179
181
182
190
136
141
162
173
161
197
120
167
140
130
150
159
176
209
165
137
146
143
161
126
167
135
176
211
139
153
204
125
183
154
176
180
209
199
173
199
166
193
122
190
214
205
137
128
182
154
151
203
148
161
215
123
207
173
162
195
166
196
177
194
183
170
148
152
194
154
183
188
198
204
150
213
217
125
175
148
216
217
183
167
123
148
128
185
191
182
191
209
137
146
174
219
169
199
200
150
138
191
132
208
199
207
189
202
173
203
174
188
156
203
172
200
183
206
159
170
136
179
205
128
162
130
116
125
122
133
131
117
128
144
126
108
110
119
121
102
106
146
134
125
109
146
105
123
120
105
100
137
131
110
131
130
106
118
131
105
133
134
131
125
102
150
129
139
109
148
108
101
127
135
150
116
137
140
123
112
148
113
138
111
128
115
111
148
132
147
114
108
106
127
111
100
107
136
118
116
103
107
129
149
149
100
135
113
125
124
126
132
137
126
121
115
101
115
120
139
126
132
108
148
110
105
112
124
110
126
108
108
149
123
141
104
134
116
103
139
117
143
112
109
119
106
148
144
107
137
106
130
129
149
105
108
105
100
129
131
124
112
150
135
124
120
143
120
118
145
102
106
122
116
112
128
146
117
137
102
108
101
128
146
146
101
130
132
137
148
220
146
184
146
152
164
204
127
203
165
176
154
157
177
153
149
218
215
191
158
198
178
199
202
180
131
149
128
132
131
156
171
145
182
134
208
136
171
197
134
126
175
184
166
134
183
145
208
176
127
140
199
161
164
175
213
145
215
167
176
175
168
188
124
151
205
198
215
150
155
220
177
175
141
219
131
195
165
212
202
200
217
151
159
169
130
157
179
168
144
209
142
182
166
219
197
182
165
121
123
154
180
182
133
163
209
179
189
155
177
176
124
204
182
158
194
218
155
218
210
189
135
146
183
205
158
181
142
187
159
198
199
149
138
145
138
114
138
142
109
132
147
102
122
139
104
114
115
110
113
125
110
140
146
144
140
126
142
132
150
122
110
127
134
149
127
129
126
130
115
138
120
116
131
140
132
131
135
103
148
120
140
105
101
112
146
105
115
130
102
105
145
138
126
111
140
113
119
117
120
107
134
138
101
147
141
122
138
140
122
100
109
138
145
119
146
139
121
133
136
135
140
114
135
142
119
125
118
112
150
119
120
114
110
105
105
129
110
116
106
129
101
144
137
150
111
116
142
139
148
116
138
117
100
138
117
129
115
100
144
146
139
122
114
133
209
157
120
122
123
148
123
145
176
211
210
173
189
218
131
214
185
212
163
150
145
173
155
192
140
218
164
137
172
136
191
209
138
206
172
156
156
212
149
142
193
172
163
173
132
153
184
169
121
205
213
159
175
203
126
219
166
142
161
200
148
190
129
171
211
147
214
142
165
178
158
209
136
122
181
219
125
189
214
186
217
202
124
150
173
152
172
129
176
207
179
197
186
194
136
174
171
139
142
152
162
210
204
183
129
168
153
219
156
164
209
189
194
181
167
215
214
125
158
140
146
130
122
213
195
210
145
130
117
139
136
141
107
121
125
127
115
131
123
101
117
113
125
130
129
120
129
112
111
115
120
116
100
127
104
133
116
136
120
102
140
146
115
142
131
126
105
116
130
106
110
123
103
150
126
148
114
109
118
110
139
106
130
144
122
135
109
132
133
122
140
122
141
143
118
103
101
103
109
133
123
146
131
128
127
138
126
150
117
133
102
104
127
139
139
103
103
103
136
103
111
148
125
116
139
115
127
107
116
100
149
126
114
105
146
137
132
100
111
141
114
137
140
117
123
103
115
111
126
108
141
101
120
139
132
128
113
125
106
129
101
140
134
137
131
105
106
146
101
105
112
131
141
117
129
150
102
118
107
128
109
101
137
106
143
155
199
134
141
166
158
151
209
204
141
193
192
205
212
199
177
153
218
146
130
180
216
140
146
148
195
168
145
209
193
179
209
175
196
185
191
139
219
170
162
183
177
192
158
198
190
162
147
192
196
205
200
192
164
184
201
131
210
177
143
196
215
209
172
128
156
199
209
208
199
185
176
151
169
204
177
218
220
174
180
195
178
165
217
216
157
140
160
145
153
166
184
169
123
189
171
144
174
127
212
198
206
214
169
135
152
215
188
210
203
169
183
214
139
155
126
120
201
162
186
175
219
153
207
157
174
189
150
150
214
160
156
167
152
207
147
155
207
121
189
166
175
219
125
138
128
145
101
116
116
107
104
150
109
129
105
131
126
114
111
148
103
119
102
114
132
118
113
145
144
117
118
135
119
112
136
123
111
125
115
130
116
143
112
111
114
150
148
140
119
102
113
103
129
145
143
130
124
134
143
142
115
105
136
144
126
124
132
133
121
135
122
116
113
100
123
117
135
105
109
133
147
133
130
110
148
142
136
129
122
107
145
105
117
147
134
147
136
130
112
144
146
118
109
140
102
113
107
124
121
126
112
119
144
131
112
123
113
116
125
130
123
137
106
133
109
107
136
133
105
126
145
142
112
112
105
132
148
111
134
112
104
116
117
138
110
143
165
185
146
172
195
120
139
205
212
145
140
127
128
168
188
161
206
187
193
129
190
200
129
187
132
184
198
130
152
154
214
219
122
199
186
219
167
155
180
151
124
192
213
203
205
196
194
161
188
172
131
120
180
144
207
187
122
194
210
176
180
215
175
169
145
205
189
159
169
144
191
185
180
202
205
168
210
153
166
202
220
161
126
169
200
188
149
157
169
131
155
149
204
152
156
166
177
146
167
142
135
131
170
135
163
207
122
167
157
191
203
167
196
206
180
179
179
132
179
167
158
168
137
162
219
162
211
218
136
184
208
131
203
185
166
164
206
162
184
156
167
219
150
218
212
192
217
130
170
185
220
158
152
176
151
219
203
173
124
196
138
129
161
132
179
138
177
165
216
151
135
139
142
114
147
133
123
121
141
128
118
135
123
108
115
115
147
135
131
118
111
122
132
133
127
142
128
142
147
128
145
128
131
141
132
139
125
116
134
139
136
111
131
137
138
140
147
136
138
128
110
116
138
104
124
138
104
101
141
113
136
103
103
103
144
100
131
110
147
122
127
135
133
101
104
109
135
142
121
123
134
136
101
122
105
131
110
124
107
118
128
115
135
100
125
114
125
111
103
113
148
123
142
113
117
145
141
136
116
127
142
121
140
104
125
102
147
143
115
134
107
147
134
126
103
109
126
102
109
149
121
122
135
112
146
140
102
126
148
121
108
122
138
138
111
144
104
139
142
120
198
164
191
123
210
164
210
156
207
128
136
179
186
211
146
169
143
123
120
200
202
131
200
172
169
180
210
152
149
188
208
124
151
157
150
160
130
120
201
193
183
215
194
133
142
159
190
174
186
216
182
179
178
138
152
193
171
214
132
127
174
138
128
213
155
173
176
215
202
161
143
122
154
188
220
123
122
207
192
152
202
121
204
169
168
174
144
217
162
195
176
150
155
208
125
217
208
185
196
186
220
168
212
158
178
186
149
149
120
131
159
195
192
175
203
154
197
191
156
202
126
188
187
168
205
176
170
192
204
175
156
170
170
206
215
161
185
213
165
198
171
147
176
142
177
176
202
132
126
163
137
180
188
165
139
193
131
175
153
202
204
179
139
170
180
168
154
129
161
154
136
101
148
104
110
120
122
145
126
114
111
117
148
106
128
125
100
120
103
111
120
118
119
120
105
142
142
118
150
117
146
115
111
104
115
145
103
127
100
119
138
139
106
125
117
103
108
112
129
128
106
107
110
126
109
142
127
116
131
140
105
106
121
100
148
143
120
113
110
116
108
129
114
138
135
114
121
116
118
100
122
114
147
133
122
115
107
106
127
121
134
149
111
147
145
147
115
124
105
101
126
128
138
123
113
145
118
123
145
110
147
133
136
108
100
126
136
134
128
103
146
106
142
108
106
138
149
114
135
148
118
133
134
126
123
108
122
107
135
116
148
133
149
115
119
131
114
134
107
111
128
123
135
145
105
129
149
140
106
145
100
119
116
102
130
129
141
209
146
199
142
133
210
148
202
173
191
215
130
215
157
171
189
159
215
157
176
171
178
209
172
147
158
164
177
179
124
176
149
131
175
182
191
189
218
166
164
219
123
164
194
132
196
204
171
123
203
136
170
158
135
125
220
158
130
219
195
177
176
188
185
151
148
174
153
216
187
120
137
187
143
197
135
216
151
144
141
168
215
120
133
141
170
190
179
132
149
219
206
126
163
134
178
186
209
195
200
141
141
122
124
199
151
207
134
129
120
131
121
183
143
216
170
216
209
178
175
152
212
148
149
189
211
168
186
148
174
163
211
161
159
159
140
143
123
130
131
120
101
107
144
124
109
103
129
134
131
124
123
125
142
149
108
131
113
134
139
135
144
110
137
139
107
102
104
133
122
134
121
128
144
147
144
136
125
110
140
117
115
134
132
149
108
107
137
126
140
122
144
150
116
150
115
148
113
143
150
108
139
107
101
107
138
116
138
147
120
118
105
141
146
149
146
131
134
137
103
108
150
145
142
110
137
139
149
106
106
115
149
129
133
148
146
111
102
131
142
140
139
146
139
104
138
144
116
133
131
122
106
137
102
130
134
122
147
120
145
143
100
104
103
129
127
136
148
136
118
148
149
124
126
146
106
119
128
120
129
108
144
137
145
119
121
143
104
115
113
126
129
127
139
119
146
136
138
119
109
128
104
133
140
133
106
117
109
140
142
192
134
220
133
133
156
198
179
120
183
133
121
150
205
129
220
185
121
144
216
201
125
198
173
191
173
193
177
173
194
143
146
149
211
140
122
157
208
210
125
180
185
209
153
121
191
208
124
219
160
145
167
131
163
125
131
188
150
219
154
140
139
147
131
183
193
125
201
219
176
193
203
156
168
201
139
214
137
141
196
182
210
163
163
159
214
160
167
127
181
120
204
204
187
170
202
143
197
169
216
149
191
208
147
136
172
120
197
133
158
169
138
171
188
150
205
178
120
154
220
165
178
122
123
163
167
148
153
147
198
155
123
122
177
144
164
217
192
148
209
212
127
101
100
135
109
122
110
114
149
108
113
111
126
123
121
134
142
130
101
126
109
133
130
118
112
143
132
139
142
115
115
112
121
102
144
123
122
131
131
114
149
100
116
148
130
110
110
140
149
119
147
105
120
132
119
124
125
107
108
134
134
137
139
118
137
138
149
130
141
145
126
106
147
108
141
139
122
146
130
135
133
106
133
111
116
113
101
109
100
101
117
149
106
115
121
132
126
119
135
130
127
141
105
120
119
133
147
130
146
120
107
126
149
108
112
105
105
128
145
115
147
150
146
145
132
143
109
103
123
126
101
143
144
126
121
126
101
127
145
118
140
106
136
104
144
110
141
128
122
142
134
117
113
138
123
202
122
210
154
185
153
190
133
126
220
152
186
152
132
155
167
144
134
215
193
165
215
200
177
163
134
206
180
202
151
134
152
120
136
147
178
190
199
206
203
180
191
211
157
130
131
150
218
129
124
184
133
131
135
212
185
194
145
206
187
159
218
216
206
183
139
124
155
208
208
148
148
191
154
147
214
140
191
134
143
154
144
218
144
179
143
164
212
216
143
161
138
192
185
184
133
138
191
163
128
156
144
212
206
205
130
138
134
141
125
129
195
168
211
219
155
124
176
141
158
121
129
135
173
201
176
149
128
152
209
125
173
208
147
180
148
184
158
183
140
149
208
218
217
115
102
142
133
143
100
134
150
108
109
133
116
129
145
114
122
103
147
131
141
100
108
142
131
100
137
101
143
132
143
144
118
147
137
114
110
133
139
125
115
122
117
144
135
127
108
116
133
143
107
106
135
135
127
129
130
149
108
128
122
149
110
125
118
127
132
131
134
121
148
119
105
142
121
127
123
149
132
114
140
129
131
111
120
112
101
105
109
125
101
107
112
119
110
140
129
137
111
149
108
136
128
108
120
108
108
146
123
119
146
129
111
149
110
146
100
149
133
128
112
116
103
114
132
134
141
147
105
105
148
106
144
147
103
113
122
136
106
113
108
135
141
129
148
111
109
142
149
133
114
118
121
148
123
146
119
150
118
143
129
135
135
220
210
204
131
157
195
170
180
140
169
184
174
126
147
135
188
143
150
159
129
127
204
175
190
120
182
203
145
138
163
162
200
212
163
154
184
140
217
151
199
177
146
126
200
149
182
128
174
132
143
191
126
135
192
167
156
162
157
211
204
197
161
174
145
162
197
202
184
157
158
132
184
148
151
182
142
157
168
129
158
214
214
137
193
172
220
156
181
183
177
193
211
141
205
205
204
187
180
152
175
153
179
198
213
167
131
190
198
189
158
155
154
128
209
120
212
139
126
206
201
198
201
154
145
219
148
127
169
130
212
201
219
183
150
192
122
140
111
116
103
143
124
119
128
110
136
145
148
103
115
150
126
108
109
127
106
101
134
112
114
111
128
119
123
139
125
117
103
106
139
118
121
146
136
106
121
137
131
144
145
135
140
102
121
150
129
148
126
135
137
107
111
113
129
102
104
139
142
119
101
133
124
116
116
125
120
142
107
113
148
143
112
108
139
140
145
141
112
124
136
121
148
129
107
148
136
100
130
106
117
100
122
103
130
120
146
140
136
105
106
125
147
111
127
110
150
147
125
127
124
111
115
117
112
114
133
146
104
122
122
104
110
102
114
124
124
144
137
143
116
137
144
123
153
163
190
124
145
187
217
128
178
213
159
139
161
218
162
166
121
179
198
178
173
159
183
142
204
153
187
188
219
175
196
173
154
151
218
147
216
190
131
183
157
135
191
183
206
202
134
145
213
170
214
129
130
215
219
213
123
205
215
167
165
123
183
187
190
181
140
187
176
190
125
159
218
135
165
204
181
182
125
177
166
143
167
155
194
178
126
198
178
183
194
141
168
206
198
215
142
179
165
145
219
218
190
121
193
127
138
219
155
215
145
212
180
199
205
122
207
204
164
153
126
214
138
189
156
198
140
206
128
160
210
184
206
210
134
209
120
204
156
116
141
127
120
110
125
110
146
106
136
106
126
111
144
101
150
127
136
131
110
120
118
146
137
109
128
142
126
115
129
125
108
148
143
149
113
138
105
127
106
126
111
136
146
132
134
102
138
147
108
121
127
137
102
101
135
116
133
100
122
146
108
139
135
100
110
150
104
118
119
149
113
150
103
111
115
132
134
125
105
122
106
116
124
102
122
127
118
108
133
124
114
131
144
119
117
143
150
120
124
144
136
105
123
123
119
135
101
107
115
105
127
128
135
133
121
149
138
129
137
149
130
106
138
111
104
149
126
111
114
101
142
148
102
100
147
130
127
119
128
112
143
118
172
209
198
125
166
209
139
147
157
191
216
207
195
179
204
138
170
163
194
157
122
215
167
121
155
132
211
125
144
207
127
133
158
200
158
194
207
170
181
165
199
195
199
197
191
194
204
197
183
169
155
143
150
126
151
128
170
134
144
174
200
161
141
202
214
203
147
179
158
202
173
196
167
127
154
141
202
157
220
163
194
153
207
197
166
192
161
202
201
171
126
125
127
205
164
219
211
198
203
201
210
128
189
120
172
140
166
139
136
121
220
164
140
171
212
147
196
197
127
212
202
179
148
170
185
133
220
168
173
217
189
211
159
203
156
218
147
173
182
214
140
192
126
165
160
164
195
213
142
187
163
200
220
180
146
154
196
165
215
202
196
160
165
158
159
190
182
187
199
157
110
125
129
109
142
147
116
115
115
142
104
109
148
104
123
125
150
148
145
112
114
129
149
145
122
118
106
118
115
104
132
150
113
111
144
114
126
145
141
107
123
128
110
120
142
131
121
141
119
133
146
102
124
110
123
113
139
127
114
105
119
134
114
148
104
133
134
127
129
136
109
123
127
138
118
123
149
132
100
148
135
114
146
103
123
122
149
120
147
109
143
146
144
129
124
104
139
108
111
122
113
113
114
101
127
103
135
111
114
140
150
111
115
123
131
121
115
114
120
108
127
110
129
106
109
120
137
105
108
133
110
108
147
137
148
105
140
146
141
117
139
120
127
148
120
150
114
108
143
120
112
148
131
139
131
207
209
142
187
170
202
204
205
210
196
188
166
205
146
159
187
174
206
203
186
128
193
153
141
219
152
128
220
164
165
161
165
148
149
189
142
198
156
130
206
190
175
193
206
177
126
204
129
207
123
208
169
157
127
193
134
199
214
218
206
179
146
165
177
191
176
150
213
184
120
192
131
123
152
123
191
199
216
139
129
208
149
137
138
217
147
131
130
139
139
161
170
120
201
201
186
172
207
175
169
198
172
207
208
195
167
120
174
192
136
185
179
139
128
198
218
177
122
123
153
143
155
193
183
202
193
151
202
128
154
210
203
142
215
159
189
133
139
210
157
134
169
120
164
218
130
205
217
185
164
145
108
108
115
103
118
137
126
137
126
146
144
109
110
132
100
130
102
113
117
118
108
106
117
111
127
123
143
126
124
138
123
148
138
103
115
112
146
122
110
107
102
117
103
100
118
108
104
118
136
127
132
148
103
121
103
114
104
145
114
120
108
126
146
102
108
109
125
110
113
105
100
122
122
146
142
140
106
122
149
121
116
121
103
123
131
107
134
108
126
129
129
130
142
108
146
120
141
127
103
137
103
122
121
130
101
124
138
116
148
103
112
128
110
102
126
113
110
145
119
125
138
133
130
117
150
115
149
104
132
129
106
120
131
125
119
102
117
132
129
142
113
109
135
144
135
103
115
124
101
128
113
130
138
115
120
133
183
126
186
211
125
152
192
202
218
190
133
168
193
134
146
153
176
184
203
210
217
204
189
127
139
169
218
120
120
188
142
201
211
209
172
122
194
203
164
145
121
154
192
185
206
123
151
158
131
173
212
172
162
160
179
190
123
143
216
125
146
190
152
205
186
197
127
209
220
162
193
132
211
174
177
179
158
156
138
215
166
133
144
203
194
196
156
187
208
122
161
138
126
165
159
141
138
155
186
127
161
168
127
209
156
206
207
211
122
162
171
197
138
215
160
197
192
173
123
121
131
142
209
204
193
166
206
181
172
140
153
156
128
141
207
158
181
175
127
155
155
146
195
149
131
215
172
164
167
168
139
204
162
176
175
200
149
185
210
163
183
122
145
107
107
144
118
110
110
139
101
113
144
123
103
112
102
135
146
132
104
101
112
107
149
104
143
144
136
133
141
130
113
107
148
111
114
126
100
118
119
135
124
139
108
104
142
118
144
137
115
149
106
112
144
116
105
118
132
112
139
144
123
111
123
123
105
129
131
125
121
126
132
117
129
136
100
117
106
104
146
121
112
131
150
120
148
142
127
114
111
129
104
133
100
109
142
136
105
139
144
119
102
104
141
107
102
108
112
112
107
117
147
119
138
144
102
140
120
112
137
119
131
129
132
122
112
132
138
101
150
139
141
110
203
176
168
202
184
171
195
191
203
205
154
123
199
157
162
159
120
217
166
148
158
155
189
151
130
137
175
163
215
208
177
200
127
173
209
212
121
165
212
210
212
142
158
151
189
176
128
150
134
157
186
132
183
216
166
212
218
220
147
176
144
170
157
191
202
129
175
126
187
195
197
191
161
220
143
199
174
173
188
181
134
138
182
168
148
178
170
160
130
141
125
161
194
213
205
194
195
139
121
159
175
147
137
157
132
208
135
166
199
175
200
202
213
160
208
140
149
137
184
124
217
126
144
159
177
213
168
164
142
179
218
198
185
140
152
166
214
130
201
213
179
130
136
199
186
129
170
156
188
199
123
150
113
141
111
101
117
149
113
107
112
147
111
134
138
146
121
143
150
135
105
119
139
129
101
148
137
145
122
102
142
111
114
129
117
120
116
139
124
108
138
145
105
117
132
118
147
125
104
150
102
100
129
128
109
142
104
149
109
135
100
140
119
110
127
113
136
140
115
132
120
136
109
116
125
114
122
137
100
121
101
146
133
149
139
106
117
116
141
149
134
113
116
114
128
143
124
139
129
133
118
120
103
113
141
106
112
124
143
134
116
107
149
135
145
143
140
101
100
120
129
146
138
129
132
148
128
110
139
138
129
113
139
142
146
185
123
168
185
193
147
170
174
179
194
132
186
188
132
197
182
184
204
196
206
197
208
217
165
215
194
169
174
160
129
129
145
169
166
120
208
129
134
120
150
198
219
163
208
186
168
190
186
202
166
173
151
170
164
134
123
140
206
185
133
203
138
215
125
149
163
195
164
198
137
168
220
202
172
154
194
176
214
166
220
204
180
209
161
180
218
198
165
189
150
160
131
213
122
155
139
184
217
187
214
190
168
147
148
186
133
196
201
146
197
213
157
157
186
158
153
171
138
187
191
173
174
168
197
180
133
153
220
160
196
193
135
211
202
194
149
168
123
113
115
144
137
132
143
129
100
113
110
106
125
109
145
109
127
121
136
125
123
141
140
119
147
128
117
121
130
112
107
132
116
108
145
139
100
116
139
150
132
130
107
148
129
122
148
119
145
140
149
122
101
125
139
144
113
116
101
105
137
129
108
102
145
134
107
138
104
124
121
101
149
110
149
123
103
150
117
140
144
114
134
115
148
116
116
101
150
110
115
120
147
125
101
145
133
112
132
150
135
132
135
135
131
104
123
124
137
142
136
117
109
123
108
147
121
108
105
143
106
145
122
128
100
111
148
111
119
122
127
113
114
118
107
131
102
113
108
107
116
149
148
101
116
124
132
104
122
102
144
121
132
100
145
146
122
166
208
180
169
190
139
127
122
158
207
207
184
134
139
190
148
150
189
201
171
160
191
159
177
150
128
125
157
182
182
200
183
124
166
150
148
152
219
154
205
192
161
211
133
190
179
126
216
157
216
170
167
135
171
145
167
133
194
141
146
140
193
174
139
180
143
123
173
128
179
175
213
142
191
191
161
211
201
186
182
191
217
127
142
190
212
171
204
191
167
177
124
186
172
171
144
123
123
160
220
163
169
213
146
193
131
158
157
168
205
127
189
187
205
199
219
170
197
200
155
184
180
146
207
145
142
133
203
162
152
162
167
142
113
147
112
108
132
149
146
148
126
141
121
124
104
131
117
117
105
145
138
142
140
111
124
124
111
148
110
112
143
131
107
109
130
149
115
127
119
142
112
140
105
141
138
123
113
122
110
120
133
149
106
105
135
112
129
131
122
115
142
137
110
121
128
122
125
115
128
126
130
109
147
109
125
111
106
126
138
133
122
104
147
121
102
139
138
127
143
137
144
103
121
149
126
150
132
132
125
101
105
112
122
117
128
146
112
119
142
109
135
118
129
121
117
112
149
127
104
120
120
111
136
150
134
131
127
120
140
108
112
125
107
101
103
127
156
212
184
212
124
148
177
212
163
130
128
132
174
157
165
130
142
165
127
193
164
138
211
127
154
144
121
130
213
120
180
159
198
174
152
196
131
212
192
135
163
125
198
167
189
192
216
139
126
190
172
122
141
162
161
125
165
135
177
158
120
172
176
198
135
171
148
147
137
172
182
146
189
177
148
198
128
215
124
137
151
165
150
203
205
207
135
176
177
129
147
167
186
204
162
208
158
214
148
200
191
194
179
169
158
210
139
215
168
137
213
200
157
217
166
188
156
132
219
163
145
154
134
137
196
132
150
201
165
157
121
171
172
156
131
211
134
179
151
132
129
131
140
102
113
144
150
139
103
135
114
103
130
121
142
124
136
129
140
123
147
108
148
116
137
113
125
119
110
104
125
108
102
109
115
115
121
118
122
119
125
125
116
147
142
105
130
122
141
144
147
117
103
114
122
129
132
121
111
142
150
119
139
146
123
104
106
131
122
123
140
104
101
116
127
116
123
138
149
110
130
130
139
148
120
141
132
106
124
104
131
115
112
137
146
127
117
120
143
135
103
150
134
124
130
137
128
137
144
125
123
140
113
144
141
122
108
124
107
137
149
147
117
110
147
124
123
105
117
122
101
139
122
127
110
108
105
112
107
102
141
147
108
137
125
121
213
145
212
140
195
178
217
207
188
121
132
198
122
174
209
167
124
142
146
200
193
153
149
194
194
185
175
133
152
153
169
152
175
218
122
140
140
168
176
209
139
192
135
175
149
194
153
139
200
189
133
177
183
215
170
182
197
192
141
203
177
164
172
182
181
144
144
162
215
140
184
208
138
142
219
185
177
148
190
120
143
141
210
156
127
147
151
214
168
174
185
183
183
147
188
134
150
128
206
152
145
155
156
127
203
156
195
172
165
173
129
202
220
186
163
141
219
165
132
210
170
216
142
124
154
144
142
176
195
190
208
114
124
142
125
136
149
118
134
140
141
110
141
101
110
108
123
121
139
119
109
120
144
139
113
114
112
130
138
142
118
148
138
113
115
118
140
123
112
126
149
122
133
112
102
123
112
100
119
125
129
118
119
137
111
108
127
109
102
104
136
127
127
120
132
111
107
124
110
147
126
109
110
114
126
129
148
150
138
141
127
100
116
100
141
126
115
114
107
134
146
112
112
101
134
146
137
126
118
113
144
119
146
103
136
115
119
104
114
140
132
129
101
128
104
127
138
127
120
114
144
135
118
126
120
133
123
104
149
105
166
157
218
141
159
194
192
140
173
123
166
157
215
136
193
169
128
145
163
153
182
163
215
127
166
185
189
201
158
150
210
133
186
166
217
130
168
190
166
201
151
203
167
178
142
172
129
215
185
145
218
157
181
206
178
196
195
173
211
149
212
163
165
136
153
183
134
178
180
176
206
212
134
171
162
157
133
192
188
160
185
216
186
150
216
204
144
168
164
149
150
180
133
139
210
134
175
124
179
147
152
176
184
153
218
122
175
121
144
146
130
171
196
174
204
177
213
134
138
158
205
204
205
180
205
123
191
140
209
153
181
137
162
203
168
196
136
126
120
120
127
112
120
115
146
150
125
129
112
143
116
141
127
103
124
101
146
108
141
135
130
107
102
136
127
123
103
120
117
101
120
149
116
104
118
144
104
131
141
100
123
138
131
116
119
127
147
115
129
144
127
127
111
148
146
133
120
107
114
117
112
118
101
123
128
145
122
110
122
117
130
119
145
137
108
111
143
141
128
126
100
135
135
117
125
135
145
122
143
113
144
126
131
147
116
149
150
101
132
149
127
103
137
112
124
104
145
121
134
123
138
124
128
146
105
120
130
111
128
114
122
139
148
103
136
142
143
117
111
108
102
131
127
140
108
122
124
117
125
109
113
108
135
124
109
130
124
121
126
115
132
115
125
125
102
139
131
115
140
113
149
109
132
118
145
138
149
194
181
176
159
168
184
206
198
186
139
182
138
196
147
201
122
182
220
168
128
155
159
154
186
123
150
214
172
156
123
218
203
160
131
163
121
196
144
164
156
203
202
186
210
182
168
205
215
185
132
194
220
124
188
219
196
202
120
185
186
165
162
140
166
170
152
170
206
171
174
198
179
121
187
199
167
142
211
208
180
142
174
127
133
216
144
142
191
179
136
204
196
134
197
211
136
140
124
173
142
148
205
176
216
126
163
166
155
123
206
127
201
155
207
124
128
193
130
126
132
154
176
130
215
178
174
192
202
157
123
154
158
181
122
184
170
203
207
163
181
123
204
179
182
124
131
188
123
129
175
194
179
177
172
176
213
151
187
158
202
150
160
146
192
178
137
159
149
144
156
157
182
107
137
136
119
115
124
119
102
147
129
122
135
127
146
123
131
101
148
109
106
105
118
114
106
102
148
144
129
119
141
113
124
140
122
133
135
130
121
142
141
135
103
111
143
147
146
124
104
133
149
140
111
103
129
137
111
147
140
129
121
112
125
120
112
142
133
141
103
150
104
149
131
113
120
119
103
120
122
136
113
108
107
127
100
147
104
143
111
100
146
119
149
101
142
135
144
126
112
108
137
146
130
133
111
110
140
116
111
118
142
146
120
114
142
129
127
132
118
127
103
134
150
117
135
108
116
116
107
134
129
128
129
104
147
145
201
214
181
196
166
216
149
183
162
169
171
187
205
132
206
164
195
211
216
164
137
170
155
169
174
129
189
207
180
143
148
210
217
217
209
194
214
205
207
133
166
176
207
125
213
204
147
218
208
210
121
148
184
180
189
203
126
212
145
193
182
195
216
181
149
168
213
121
214
208
151
215
152
124
154
169
128
125
189
216
173
129
213
184
218
121
139
131
162
137
220
185
139
143
158
122
150
206
137
142
137
149
208
192
173
140
169
209
151
156
124
200
199
126
149
140
142
182
162
171
212
149
178
148
220
148
211
158
189
166
183
152
158
200
123
130
151
213
135
188
174
191
132
160
135
182
163
178
120
148
202
152
153
139
214
172
196
103
140
113
119
108
137
130
145
121
127
147
111
117
128
140
101
123
143
110
127
129
104
101
146
118
144
107
119
129
134
140
143
139
144
130
142
133
135
122
107
125
144
140
102
124
130
101
112
143
121
134
123
140
121
105
123
134
127
121
123
126
128
123
115
139
127
104
108
134
145
102
102
130
147
133
145
145
139
104
138
131
116
131
103
105
132
149
140
126
103
144
106
145
100
147
129
133
137
124
113
101
110
100
136
149
142
137
139
113
112
138
131
111
100
127
102
110
138
135
144
133
115
112
119
109
117
141
108
126
118
104
145
116
110
141
112
101
114
147
148
138
116
102
148
126
138
138
106
116
147
104
111
104
101
129
114
118
135
132
123
126
100
140
144
134
149
211
146
182
175
148
168
213
138
188
162
154
152
138
125
174
206
170
182
136
220
177
121
218
200
185
205
189
206
126
208
139
182
154
179
219
125
185
148
187
182
185
200
220
211
136
211
198
166
189
179
146
159
199
146
207
210
127
135
168
200
150
218
121
126
167
173
203
198
135
122
143
138
128
143
138
126
161
129
161
147
130
169
137
131
131
166
177
158
212
162
214
189
129
123
130
154
140
141
152
190
152
127
168
206
194
165
170
131
171
173
140
143
148
218
132
167
140
195
152
137
168
177
207
121
198
139
216
180
139
216
177
188
211
190
162
140
170
220
144
200
189
215
191
160
170
188
123
129
210
197
201
204
186
174
201
198
146
175
174
162
162
136
129
164
130
172
122
132
148
133
102
117
145
150
120
147
109
128
127
134
115
147
107
110
144
129
136
125
133
125
127
107
101
108
136
105
130
142
113
108
147
145
120
130
101
106
146
129
113
120
115
107
116
121
128
140
132
133
121
104
140
140
143
107
118
127
118
106
117
124
104
107
104
139
140
142
141
147
137
122
120
137
131
132
135
144
114
131
119
116
115
118
112
114
105
120
129
113
129
136
147
111
131
105
109
127
129
131
120
145
120
104
108
107
150
102
106
148
135
106
144
117
141
104
128
114
108
121
150
134
126
108
145
132
124
105
113
107
140
120
130
181
196
128
195
174
127
209
201
147
159
216
168
186
125
133
178
195
202
209
195
182
217
156
215
142
164
190
163
194
212
168
189
124
132
166
160
140
167
192
216
132
158
133
173
185
187
197
123
163
216
218
197
128
136
149
189
164
145
220
185
177
161
158
220
220
161
196
142
163
203
166
134
188
152
171
149
214
210
206
210
173
219
209
147
125
209
197
159
177
140
157
144
147
154
121
177
190
193
203
188
219
170
215
217
145
217
181
134
128
166
160
205
159
198
146
146
164
212
136
201
134
121
207
210
128
150
180
176
147
151
192
195
155
138
217
200
148
159
184
189
190
201
212
191
130
202
158
208
198
163
161
189
197
192
110
147
148
132
116
107
126
145
118
122
111
123
115
125
148
133
148
136
127
104
138
148
116
120
113
138
121
126
115
124
125
117
146
101
110
140
112
110
121
126
125
119
137
126
103
112
136
138
136
125
109
143
146
115
149
133
132
110
115
123
144
129
148
121
100
148
147
146
114
127
101
147
140
103
144
121
105
144
148
143
140
126
100
141
138
147
137
123
122
115
147
119
129
127
124
138
148
121
146
139
139
117
128
133
135
148
134
122
117
134
146
127
141
131
119
128
100
109
118
131
124
138
134
148
114
133
107
108
122
114
142
117
146
114
134
131
122
148
127
141
102
109
114
105
118
190
121
214
135
195
161
175
145
140
196
218
184
133
201
185
203
155
144
208
149
181
124
155
207
220
131
169
214
213
123
141
170
195
210
122
135
217
146
163
166
167
159
197
130
141
213
133
155
220
185
143
212
160
200
197
215
133
198
193
174
121
209
199
205
145
141
173
149
191
172
201
168
127
132
153
219
160
152
145
145
177
134
177
166
153
184
217
164
157
151
196
160
138
172
172
206
140
143
187
180
198
163
176
206
153
131
191
189
186
187
171
180
196
198
131
192
151
218
200
191
183
146
169
218
176
203
161
125
189
135
216
117
110
141
105
107
147
103
134
116
144
118
138
150
119
117
144
144
132
115
125
136
139
119
148
141
118
124
110
100
135
105
147
130
150
124
143
133
101
126
124
105
138
104
136
135
103
116
106
103
118
146
141
132
143
142
119
136
140
139
142
116
144
128
108
148
145
127
123
113
111
133
112
144
147
126
119
149
140
107
119
106
150
110
130
120
116
131
142
122
133
112
137
111
106
126
145
106
148
142
145
105
140
111
112
102
113
135
137
100
105
128
100
105
116
139
108
136
143
148
149
122
116
148
147
133
115
128
116
121
135
132
102
119
134
119
115
133
121
134
135
141
110
141
108
137
105
121
106
116
200
136
146
144
184
134
121
141
129
191
156
210
135
145
202
128
172
197
167
122
163
159
142
201
206
136
193
167
203
131
134
188
173
146
200
199
133
191
124
163
209
147
174
220
167
164
167
166
164
180
191
144
215
134
142
217
127
133
158
203
126
203
137
139
126
209
122
122
186
158
161
183
193
183
211
187
176
163
209
196
217
156
156
187
219
172
130
177
170
209
208
174
123
192
162
185
203
171
121
154
205
199
154
140
180
190
127
134
146
175
169
209
198
139
212
129
137
220
204
208
179
144
200
182
212
211
155
174
129
129
126
158
141
166
200
134
128
206
174
158
195
162
154
139
175
142
176
167
144
126
220
126
148
204
186
165
193
155
145
199
220
189
164
162
201
127
116
134
146
150
114
119
139
112
139
135
128
132
146
105
106
149
125
142
127
130
105
125
149
147
106
113
105
120
125
122
138
127
121
116
104
149
137
114
124
149
125
126
131
148
131
120
148
124
132
131
122
104
116
100
126
104
101
106
107
101
107
132
127
106
111
127
116
146
149
130
106
129
136
120
139
131
133
117
117
150
136
123
117
101
150
126
120
149
119
133
130
102
142
139
136
121
122
138
142
125
120
148
144
110
120
139
133
143
124
102
111
132
107
101
107
138
129
129
122
149
132
145
147
136
134
147
112
123
118
150
148
148
171
163
215
187
167
127
206
184
191
180
141
141
215
211
131
208
220
198
140
161
150
197
211
219
212
186
127
169
140
159
183
139
137
193
186
192
154
127
154
195
132
211
199
193
151
195
214
209
206
160
171
157
173
213
121
149
125
164
156
128
131
124
132
166
212
153
220
205
120
179
218
145
176
174
199
193
211
207
134
176
186
155
153
210
126
161
151
205
162
204
211
218
210
217
196
147
165
174
136
216
130
120
166
153
172
212
177
130
144
179
175
145
207
125
220
149
155
180
215
133
201
199
172
174
208
147
172
156
192
213
139
121
206
207
204
128
151
100
129
136
115
134
132
106
110
125
113
105
121
145
134
139
121
125
132
142
124
121
142
129
117
106
134
133
116
126
119
112
126
134
129
141
109
101
122
109
108
130
131
144
107
106
129
135
136
125
112
120
104
143
124
150
136
125
119
113
108
135
120
104
125
105
124
114
134
114
107
112
100
137
137
116
138
126
120
100
148
107
133
137
109
139
145
130
141
102
131
108
140
148
108
113
107
138
127
120
135
145
144
138
133
126
116
131
127
104
119
127
150
117
114
113
123
126
107
100
102
139
115
127
146
150
117
109
122
142
103
114
213
190
141
143
213
171
187
157
161
187
120
171
216
211
211
181
188
125
215
201
219
166
187
172
211
172
209
126
202
132
191
121
132
164
202
220
176
152
197
208
218
202
214
206
180
209
198
159
208
179
132
138
191
184
155
129
166
180
144
186
169
168
147
185
178
192
196
209
200
158
145
180
182
193
203
165
148
220
123
185
189
148
203
187
194
172
160
145
131
171
124
120
208
177
176
169
216
176
141
149
184
178
135
165
180
142
123
131
218
127
189
162
209
214
155
219
158
171
204
129
147
130
202
213
152
128
213
140
201
153
138
211
173
147
207
203
121
154
202
217
190
179
120
145
153
161
191
138
145
126
160
141
160
152
162
133
108
123
118
122
135
146
111
113
146
134
101
129
123
142
100
138
143
143
127
134
115
122
109
137
124
134
117
101
149
109
116
126
115
118
140
136
127
118
105
123
138
118
102
128
146
112
149
144
111
137
108
112
148
102
115
130
131
113
136
102
116
104
118
111
145
120
121
109
130
118
128
108
136
119
139
139
136
121
104
145
105
102
137
127
100
131
120
122
140
131
130
140
147
134
149
119
123
107
105
122
143
127
141
132
127
145
139
138
129
130
122
134
111
105
111
147
132
122
117
101
136
133
146
138
109
138
101
124
145
102
149
119
131
147
136
138
104
110
102
122
129
103
108
110
108
135
139
144
107
150
103
149
131
113
102
109
145
106
119
112
125
145
118
144
120
183
215
178
205
120
143
158
165
180
184
204
155
165
210
138
196
150
163
215
124
141
159
173
158
176
149
144
158
132
122
131
163
150
138
188
190
180
145
176
185
191
140
155
205
217
177
186
168
135
141
217
210
209
133
214
129
207
197
174
151
190
203
162
128
153
180
191
200
214
167
166
137
187
139
187
195
181
190
125
174
201
204
126
121
162
191
167
220
204
138
172
181
164
196
161
167
157
156
125
175
164
191
196
210
205
162
211
165
167
160
200
124
143
124
185
159
122
195
219
150
204
202
148
160
146
185
158
185
190
190
188
208
133
160
147
136
141
214
184
187
171
218
131
162
136
220
212
196
143
142
134
136
172
174
157
207
177
175
154
198
173
220
203
173
179
155
210
171
157
137
168
170
169
136
146
109
123
150
111
135
125
110
142
122
137
120
106
111
101
137
106
100
128
108
110
104
104
112
143
140
107
130
102
102
101
101
150
102
133
108
124
121
127
107
107
130
108
105
134
131
103
136
116
132
143
116
111
148
134
104
144
106
141
124
106
114
111
133
128
104
144
101
110
139
104
130
106
131
117
101
117
108
137
131
126
114
133
145
105
130
135
114
139
112
107
122
109
126
148
128
122
100
129
150
150
100
135
114
143
140
119
136
128
130
143
128
102
100
124
143
148
105
115
107
101
120
118
118
108
106
136
122
139
118
133
120
133
108
127
142
105
107
126
123
113
122
100
110
138
100
126
132
109
106
134
134
141
111
109
143
153
192
213
130
126
146
132
180
209
162
134
167
192
122
172
132
129
155
196
193
184
203
132
189
198
142
138
167
130
144
160
132
201
165
123
164
220
178
150
177
203
123
136
148
197
152
196
164
131
166
194
121
174
215
138
178
199
185
208
148
151
181
188
183
216
170
168
138
188
155
193
138
157
199
140
192
139
177
206
180
212
198
188
195
169
150
219
191
208
194
128
220
129
201
127
134
134
165
150
129
135
144
124
146
160
170
219
136
175
212
151
123
209
184
159
209
142
219
180
175
155
171
144
173
149
212
171
120
128
121
106
112
149
149
147
108
127
149
129
123
134
127
117
132
123
144
134
109
146
145
139
129
127
104
115
145
118
132
144
132
127
107
122
120
129
126
148
100
112
121
131
135
114
133
126
115
121
103
105
147
133
135
139
143
120
120
105
102
118
131
126
110
108
115
127
149
105
135
131
143
126
118
103
135
138
129
140
116
113
110
146
130
139
146
118
108
104
150
119
114
125
148
103
103
138
148
103
101
103
118
142
100
142
102
132
101
125
116
110
114
129
122
126
119
134
148
136
135
125
145
126
147
115
116
110
141
159
216
138
145
150
174
186
182
171
124
207
150
158
126
158
150
219
180
201
195
177
166
184
191
129
155
200
188
126
187
146
194
200
215
155
137
136
216
152
120
213
183
148
179
125
215
127
202
158
145
208
180
199
187
147
205
166
148
202
220
176
196
168
212
124
207
206
127
124
146
144
208
157
206
188
146
182
175
140
164
220
207
216
220
169
169
211
124
195
148
167
211
213
185
151
155
212
210
208
126
162
144
204
157
170
121
182
127
165
134
197
125
195
207
132
178
128
167
195
203
178
163
127
165
173
204
205
149
194
131
177
216
161
170
122
198
159
172
169
182
156
128
145
175
159
200
213
175
156
200
167
181
170
185
184
143
214
169
215
158
135
131
162
167
146
192
122
165
128
195
219
126
131
136
177
104
117
140
138
149
124
103
109
129
121
145
129
134
147
104
123
119
107
109
118
147
104
126
129
141
117
111
130
145
124
147
146
115
117
138
119
110
111
101
135
136
144
101
128
145
116
124
111
101
143
137
101
147
108
149
123
128
146
128
126
131
139
127
108
146
100
134
135
131
120
134
105
140
129
142
137
114
114
148
138
128
101
146
136
139
117
124
103
145
117
125
122
120
132
146
100
108
124
104
106
123
132
140
138
125
103
117
120
108
121
132
112
110
120
128
120
113
128
113
131
113
132
124
132
132
134
110
110
218
138
136
166
217
187
196
144
130
134
196
142
215
138
124
131
124
174
184
125
167
152
171
214
130
121
130
206
199
162
180
138
144
175
181
149
184
201
212
195
177
205
192
146
188
154
187
125
139
139
211
157
169
197
208
182
220
147
126
169
198
200
141
129
150
125
213
197
158
142
139
130
147
197
122
220
151
174
198
178
127
213
207
182
180
155
159
190
214
184
174
125
174
183
135
147
216
219
147
135
189
128
219
186
215
139
208
145
178
141
149
169
196
165
159
161
220
220
121
149
216
202
132
155
177
170
130
167
160
135
218
137
137
150
194
152
185
189
183
153
134
187
178
182
202
184
184
147
215
211
129
187
134
112
100
125
148
150
147
127
124
124
100
139
124
102
114
122
102
121
143
100
111
116
109
126
134
108
138
110
147
122
149
147
124
101
123
117
141
118
127
127
141
148
143
121
132
136
131
133
123
147
148
105
138
130
123
114
128
102
126
114
148
150
114
134
133
106
111
115
119
136
137
117
145
107
125
145
122
131
129
107
150
115
115
114
149
129
116
140
115
122
122
117
136
135
145
144
123
149
113
150
110
135
128
144
111
114
121
125
122
144
145
102
103
119
130
130
103
103
146
135
103
102
129
101
115
136
109
109
136
144
121
150
146
114
127
138
143
124
135
107
134
103
139
134
137
122
132
104
112
119
145
140
105
117
145
111
104
111
150
125
137
118
145
129
117
126
119
118
127
137
116
123
150
139
173
168
218
128
130
170
126
165
136
200
196
177
185
132
212
167
189
154
139
132
145
120
212
197
159
137
208
208
144
147
170
168
210
135
147
213
177
174
132
172
171
170
147
132
182
215
127
178
188
194
