93
95
96
96
101
100
105
105
106
104
107
118
127
135
146
153
164
175
189
200
209
216
222
228
234
238
243
245
249
251
249
251
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
255
255
255
255
254
252
252
252
250
250
252
252
252
250
249
247
245
242
240
236
235
233
233
231
230
225
221
217
215
216
215
214
210
210
209
204
202
199
197
197
196
194
192
192
190
190
195
200
205
208
212
216
219
220
223
226
229
229
230
229
229
227
229
227
226
229
227
224
221
222
220
218
214
211
206
202
199
201
191
186
180
169
159
152
146
136
131
123
117
117
113
114
113
110
109
109
111
118
117
119
121
121
121
123
124
121
122
121
119
119
121
118
118
115
115
118
119
128
135
141
150
162
168
175
182
189
197
202
207
211
215
220
222
225
227
230
230
231
231
233
232
232
234
235
235
235
235
235
236
236
236
236
237
237
236
236
234
232
230
231
231
230
229
228
224
221
219
217
211
206
200
193
185
180
178
175
170
167
165
162
164
162
160
163
164
164
164
167
167
169
168
169
169
167
166
166
169
165
168
170
170
170
169
173
175
174
173
173
170
170
175
172
170
171
167
164
162
162
173
175
164
173
161
166
166
174
173
164
189
185
171
183
188
170
176
90
94
96
98
103
103
105
103
105
106
106
111
114
117
123
130
140
158
171
184
191
202
209
217
223
228
234
239
243
246
244
246
247
250
250
251
252
252
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
255
255
255
255
254
251
249
249
248
248
248
248
248
248
246
244
243
240
238
237
236
236
233
232
228
225
222
218
216
220
219
222
217
215
215
213
208
207
199
201
201
196
198
199
196
196
197
201
207
212
217
221
222
224
227
230
234
234
234
235
232
230
231
227
225
224
222
220
217
218
218
214
209
206
204
202
198
195
187
180
172
161
151
148
141
136
127
120
114
113
110
110
110
108
108
108
108
110
115
117
119
118
118
119
120
117
120
119
119
118
118
115
113
114
114
119
123
130
134
140
151
162
168
176
184
191
197
204
207
211
215
220
222
225
227
230
230
231
231
232
234
234
234
235
235
235
236
236
236
237
237
237
237
237
237
237
235
234
231
230
233
230
229
228
224
221
219
217
211
205
200
193
185
181
177
176
171
168
166
164
164
163
162
164
168
167
167
168
168
168
167
169
167
164
163
165
167
165
167
172
171
171
171
174
174
174
173
170
168
169
169
170
170
171
170
162
169
171
163
170
163
167
157
167
178
174
167
177
189
182
175
164
173
177
168
92
94
99
98
100
100
101
102
106
107
107
109
110
110
112
117
124
145
157
171
181
190
197
208
212
219
225
233
234
238
239
241
244
241
243
245
246
247
248
251
251
252
253
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
255
255
254
254
254
251
249
248
247
247
247
247
247
245
243
242
239
237
237
235
236
234
232
231
229
225
226
225
224
224
223
220
219
217
218
213
209
208
204
204
207
208
201
198
197
197
200
203
207
212
218
222
224
225
228
231
231
233
235
236
234
231
230
228
225
223
220
219
218
217
216
212
208
205
201
199
197
190
183
179
170
163
159
151
142
133
128
116
111
110
110
108
105
105
105
104
106
105
110
112
114
114
114
111
113
115
115
116
114
111
109
109
112
111
115
120
124
130
137
142
152
163
172
180
188
193
201
206
211
216
219
222
225
226
227
230
230
231
231
232
234
234
235
235
235
236
236
236
237
237
237
239
239
239
237
234
232
230
233
231
230
228
228
226
224
220
215
214
208
203
199
191
184
181
176
173
171
168
166
165
165
164
167
169
171
172
172
173
169
169
167
168
166
165
162
164
167
169
169
169
171
171
169
175
175
174
171
169
171
172
172
173
168
170
171
164
171
168
162
174
170
174
167
170
174
173
180
181
191
177
179
149
149
173
169
90
92
93
95
98
97
102
103
104
106
108
110
112
112
112
114
116
121
135
153
168
176
183
194
200
210
218
221
223
226
228
230
233
231
233
235
241
242
246
244
246
247
252
254
254
255
255
255
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
255
254
254
254
252
251
249
248
246
244
244
244
244
243
241
239
236
234
234
231
231
231
230
228
224
221
224
225
228
229
229
228
225
223
219
213
209
208
206
207
210
211
204
199
198
200
202
207
210
216
222
223
225
227
228
231
231
233
235
235
232
231
230
228
227
225
222
221
217
218
216
212
207
200
195
193
190
185
180
173
167
160
154
150
140
134
130
120
112
106
104
103
102
102
101
99
101
102
102
104
107
109
111
111
108
110
110
107
107
106
106
106
110
110
115
120
123
129
137
144
149
162
173
181
189
195
202
208
211
216
220
222
225
226
227
230
231
231
231
234
234
234
235
235
235
236
236
236
237
239
239
239
239
239
239
235
233
232
233
231
230
230
228
226
225
221
215
214
208
201
197
190
184
183
177
173
171
168
166
162
164
162
166
168
170
171
173
173
169
171
169
170
167
166
163
165
167
167
170
168
170
170
171
174
176
174
170
168
170
173
170
169
169
172
174
172
171
170
165
171
172
163
162
176
178
176
179
182
191
184
174
134
165
176
179
88
91
94
95
96
98
99
100
103
101
103
107
108
111
112
113
115
118
123
128
143
153
164
168
179
186
201
201
206
210
216
220
221
220
222
226
228
230
233
236
238
240
243
245
246
247
249
252
252
254
255
253
253
253
254
254
253
254
254
254
254
254
254
255
255
255
255
255
253
252
248
244
242
240
239
239
239
237
236
234
232
232
230
227
230
230
228
225
224
222
218
218
222
226
230
229
227
223
219
216
213
208
204
205
207
208
205
202
200
202
205
210
212
214
221
223
225
228
228
228
228
230
231
229
229
229
228
229
227
224
220
217
214
212
211
208
207
208
203
193
186
183
176
171
163
157
151
146
137
132
127
120
115
111
106
98
97
97
98
98
98
99
101
101
103
104
104
104
104
101
101
101
102
103
102
104
106
108
113
119
121
125
135
145
152
163
171
181
189
197
203
208
211
216
220
222
225
226
229
231
231
232
232
234
235
235
235
235
235
236
237
237
237
239
239
239
239
239
239
234
234
232
235
232
231
230
226
223
222
221
216
214
208
201
197
190
184
183
179
177
173
169
166
163
163
162
165
167
168
169
172
171
172
172
168
170
170
169
168
166
168
171
171
169
170
170
171
173
175
174
168
167
169
173
170
167
167
173
177
175
171
169
167
171
167
169
160
173
174
183
177
183
179
182
164
97
167
176
172
83
86
91
91
92
94
95
96
99
100
102
103
108
110
112
113
117
119
125
124
128
134
139
146
152
159
167
176
181
188
192
197
203
202
204
209
212
215
220
223
225
230
230
234
235
237
239
243
248
249
251
252
252
253
253
253
255
255
255
255
255
255
255
255
255
255
255
255
252
251
249
243
238
237
236
234
234
231
229
228
226
225
224
221
223
221
219
216
216
214
217
216
218
222
224
224
222
217
217
214
211
208
202
203
203
208
205
201
203
203
205
210
214
214
219
223
225
227
227
227
226
224
225
225
225
226
226
228
224
221
218
213
210
210
208
205
205
204
200
199
182
177
170
165
160
153
148
141
134
128
122
115
111
108
105
94
94
96
100
102
104
102
101
98
99
100
101
99
99
97
95
97
96
98
97
99
99
105
106
116
113
121
132
142
152
160
170
176
186
194
200
208
211
216
219
221
223
226
229
231
231
232
232
234
235
235
235
236
236
236
237
237
237
239
239
239
239
239
239
236
236
233
235
232
231
229
227
223
222
221
216
214
208
202
198
193
185
183
181
177
173
169
166
164
162
162
162
164
167
169
171
172
170
170
168
171
168
169
168
167
169
172
172
169
171
171
171
172
172
172
170
168
166
171
171
165
158
169
173
177
171
170
165
172
174
189
168
169
180
178
178
186
188
184
175
103
157
169
171
78
82
86
87
90
92
94
94
95
97
99
100
103
105
110
112
117
119
125
126
130
132
134
135
131
133
137
147
152
157
163
171
178
178
180
184
184
188
195
198
202
208
214
219
222
226
228
233
235
238
241
242
244
246
249
249
252
252
252
252
252
252
254
255
255
253
252
252
250
248
247
243
239
236
231
229
228
224
220
218
215
214
212
211
212
214
213
211
214
211
209
210
213
214
214
214
214
211
211
208
206
204
205
200
199
195
195
198
201
201
205
205
209
212
216
217
219
223
223
222
220
220
220
219
222
223
223
221
219
217
215
207
209
209
207
204
204
204
201
199
202
185
176
169
167
157
150
144
137
128
125
117
111
108
106
106
102
99
99
99
101
103
107
104
105
97
97
96
95
93
92
92
90
92
93
95
97
101
106
111
113
120
128
142
153
162
169
177
187
194
201
208
211
216
219
221
223
226
227
230
231
231
233
234
236
236
236
236
236
236
237
237
239
239
239
240
240
240
240
236
236
233
235
232
231
229
227
223
220
217
215
210
205
203
199
194
188
184
182
178
176
171
167
164
162
161
164
166
167
168
170
172
172
174
172
170
168
167
168
167
168
170
173
174
173
173
172
170
170
170
170
170
172
172
170
166
158
160
170
175
174
165
159
169
163
164
181
178
177
176
185
179
178
186
186
161
179
176
161
72
75
79
81
82
88
89
90
92
93
95
98
99
102
108
113
115
116
120
122
124
126
128
130
129
131
133
137
137
137
142
147
154
156
160
161
159
161
164
171
174
183
193
203
213
214
218
225
225
229
232
234
238
240
246
247
249
251
251
250
249
251
251
252
252
251
251
251
249
248
245
242
237
232
228
229
226
221
215
214
211
211
209
206
204
202
203
203
203
202
204
206
212
212
212
210
211
210
206
206
202
199
197
195
191
194
194
196
195
196
198
201
205
208
215
216
215
217
216
217
215
218
216
214
215
221
218
213
212
214
211
208
207
204
203
201
201
202
201
199
199
196
179
172
169
165
158
157
150
146
142
137
138
132
128
126
123
120
119
114
114
110
106
105
104
106
95
94
91
92
88
87
87
88
89
92
95
96
103
107
112
123
134
148
158
167
174
182
190
196
204
209
213
217
220
222
225
226
227
230
231
232
232
234
236
236
237
236
236
237
237
237
239
240
240
240
240
240
240
237
234
234
236
234
231
232
227
223
220
217
215
210
205
203
200
195
189
187
185
180
178
171
169
167
163
161
162
167
168
170
172
172
173
173
172
169
167
164
164
166
167
170
173
175
175
173
173
171
171
170
170
170
171
173
170
165
157
159
166
174
174
172
172
168
162
163
171
172
181
170
183
181
179
188
169
156
183
166
179
69
71
72
78
80
82
83
87
86
93
95
98
97
99
102
106
108
112
115
117
120
121
123
123
127
131
132
133
133
134
134
134
137
139
139
139
141
143
148
155
162
174
178
190
198
200
204
216
217
223
227
225
227
229
232
236
245
243
245
246
247
249
247
248
248
246
248
248
248
249
246
240
233
230
228
223
219
216
215
212
208
205
203
200
198
199
200
199
196
202
203
203
210
216
216
216
216
212
208
207
200
196
195
191
189
189
189
189
194
195
197
200
204
210
214
214
214
212
210
210
213
211
208
206
205
215
211
209
209
209
205
202
200
198
197
199
199
198
201
201
200
191
179
173
170
166
163
160
154
151
149
146
143
144
141
139
134
134
132
131
131
130
129
129
127
126
127
119
117
112
111
109
107
105
99
98
100
98
100
109
119
128
144
156
164
171
178
187
196
201
207
212
215
220
221
224
226
228
230
230
231
235
235
236
237
237
237
238
238
238
239
239
240
240
240
240
240
240
240
236
236
234
236
234
232
232
227
223
220
217
215
211
206
204
202
197
192
188
186
181
180
174
171
169
165
160
163
165
168
171
173
173
175
175
172
168
166
163
165
166
167
169
174
176
176
174
173
175
173
172
170
167
168
173
173
169
160
152
161
172
171
171
170
172
170
170
171
170
178
173
187
174
185
190
176
176
176
175
171
64
66
66
70
72
75
79
80
82
89
91
93
95
95
98
101
103
106
114
115
119
119
121
122
124
126
127
129
129
132
134
134
135
137
137
137
136
138
141
143
147
157
167
175
183
187
190
195
200
205
209
210
212
215
216
220
227
232
235
241
241
243
243
243
243
244
243
245
245
244
241
237
234
228
226
219
218
216
212
210
207
201
197
194
191
194
195
199
203
207
207
206
213
218
220
222
218
217
213
209
203
200
197
190
189
186
187
188
191
193
197
199
201
206
211
211
211
210
210
207
208
206
201
200
199
202
204
204
207
204
200
195
197
198
198
199
199
200
205
205
201
198
195
192
190
187
182
176
169
163
157
152
148
148
146
145
144
144
143
143
142
140
140
140
139
136
134
133
126
124
123
123
123
122
119
119
120
125
129
137
141
147
157
168
174
183
185
193
200
205
210
214
219
221
224
225
227
229
230
230
233
233
236
236
237
237
238
238
238
239
237
240
240
240
240
240
240
240
240
237
234
234
237
235
232
232
230
224
220
217
214
210
207
204
202
199
193
191
188
185
183
176
175
170
166
165
166
168
171
171
173
173
175
175
174
170
168
163
166
167
167
169
174
176
178
175
175
174
174
173
171
168
171
174
174
172
165
152
153
173
171
171
166
173
176
171
165
177
173
184
177
167
145
174
180
184
185
177
179
67
65
64
65
65
68
73
77
81
85
85
87
87
90
95
98
98
103
107
109
112
115
117
120
125
127
127
126
126
130
134
134
133
135
135
135
135
137
137
139
142
144
149
156
165
174
179
180
180
184
188
189
191
196
199
205
209
215
218
224
227
231
231
233
233
235
234
236
237
236
235
232
230
226
224
220
218
216
214
212
206
201
195
194
191
191
196
200
202
208
219
225
225
221
221
222
222
219
219
220
216
212
205
200
195
188
189
188
189
189
192
193
195
198
206
206
206
206
206
203
202
199
198
193
189
191
196
204
203
197
192
193
191
195
197
203
204
202
211
211
208
206
211
208
206
203
199
193
184
178
171
167
163
160
160
157
154
154
153
155
155
152
153
153
149
147
145
143
136
132
131
131
131
129
130
130
133
133
137
144
153
161
168
177
181
184
192
198
205
207
212
216
220
222
225
226
228
230
231
231
233
233
236
236
236
236
237
236
236
237
239
239
240
240
240
241
241
241
240
241
237
234
238
236
233
233
229
224
219
215
212
210
207
206
202
199
198
195
191
189
185
179
176
172
167
167
167
169
169
171
173
173
176
176
175
171
167
164
166
168
172
171
175
177
175
175
175
175
175
174
173
173
173
174
174
171
162
162
165
174
172
174
180
172
168
162
169
171
175
170
182
177
163
183
174
176
155
166
182
68
68
68
67
67
67
67
67
71
75
77
79
79
82
88
90
92
99
102
104
105
109
113
116
118
120
122
121
123
126
131
133
133
133
133
135
136
136
136
138
138
138
139
140
142
150
154
156
162
164
165
167
169
172
180
183
188
196
202
211
212
212
212
217
221
223
224
226
226
225
224
222
221
217
218
217
212
210
208
206
205
201
198
197
194
193
197
204
210
217
223
224
229
231
233
234
239
238
237
231
228
225
224
219
212
203
198
196
186
188
192
193
197
198
204
206
204
202
202
200
196
193
191
191
185
185
182
192
196
193
193
192
191
193
199
206
211
215
217
219
222
226
228
226
223
221
213
207
200
194
191
184
181
177
174
173
171
173
173
173
174
176
181
181
178
174
170
167
151
145
144
143
143
143
143
143
145
144
146
153
160
166
174
180
185
186
193
197
203
206
210
215
217
221
223
223
226
227
228
228
230
232
232
233
233
233
235
235
235
236
237
237
238
240
240
240
241
241
240
241
237
234
237
237
235
234
230
224
219
217
212
210
207
207
204
202
199
196
193
190
185
179
177
174
168
168
170
170
171
173
176
175
175
175
174
170
168
168
168
171
173
172
174
175
175
175
174
174
176
176
174
174
174
173
170
166
161
165
169
178
179
173
182
182
173
163
163
163
176
168
186
184
150
158
153
162
177
173
181
64
63
65
65
65
66
65
63
66
67
67
71
75
79
82
85
86
90
95
97
100
105
109
113
113
115
119
121
123
123
126
127
130
130
130
130
129
130
134
136
136
136
135
140
138
139
141
142
145
147
149
151
151
152
156
157
167
174
177
191
196
200
206
206
208
208
212
210
209
209
209
208
209
208
209
210
208
207
203
201
198
195
193
194
199
199
202
208
210
210
218
219
225
230
231
235
238
239
237
233
229
225
221
220
217
212
208
203
202
201
200
196
198
198
201
201
198
198
198
197
192
192
188
186
184
180
178
179
178
182
186
190
190
194
201
210
214
216
219
227
227
224
224
221
221
224
224
223
218
210
201
200
194
190
188
191
190
191
194
202
205
206
204
204
201
198
191
184
174
167
161
151
151
151
151
151
154
155
156
159
162
166
172
177
183
189
195
199
203
202
206
211
213
218
220
222
224
224
227
227
228
228
228
228
230
230
231
232
232
233
235
235
236
237
237
238
241
241
239
235
235
233
236
237
237
234
230
225
221
218
216
211
206
208
208
206
204
199
197
193
187
180
178
175
171
170
168
171
172
176
176
176
175
173
172
169
169
168
166
171
174
174
177
177
178
176
175
174
176
174
174
174
175
175
168
166
161
163
165
169
173
170
177
178
171
161
170
172
184
191
167
182
150
175
170
182
176
175
178
66
64
63
61
62
63
63
62
62
63
63
66
66
67
73
81
83
85
88
90
93
96
99
104
110
111
114
117
119
119
122
124
126
128
130
130
128
129
132
132
132
132
133
133
134
135
135
137
137
139
139
140
140
142
143
144
148
151
157
161
168
172
174
181
180
182
189
188
189
195
195
198
198
200
199
202
200
202
197
195
194
193
193
197
199
202
205
208
209
212
216
219
226
228
230
233
236
236
234
228
224
220
218
219
218
214
210
204
203
206
204
201
201
199
197
195
196
196
196
194
189
187
185
184
180
177
174
171
172
176
176
177
181
186
200
207
212
219
225
225
224
225
222
221
220
223
224
226
223
217
211
207
202
198
200
197
201
210
220
220
220
219
217
214
215
214
211
205
193
184
172
161
157
158
159
159
160
161
161
163
164
169
172
177
183
188
192
196
200
201
205
209
208
212
216
217
219
219
220
223
223
226
226
226
224
224
226
226
228
228
229
229
231
231
233
235
233
233
233
233
230
230
234
235
235
231
227
223
220
216
215
210
207
208
210
207
206
200
198
195
187
182
180
176
172
171
171
173
173
176
176
177
175
173
172
167
167
167
168
172
176
174
176
178
178
178
177
175
175
175
176
178
179
174
170
165
165
169
172
172
166
174
183
176
162
170
165
179
177
180
185
184
178
175
178
175
180
176
184
71
66
65
65
62
63
63
63
63
58
58
61
63
65
66
67
71
73
80
82
84
90
92
98
101
103
107
108
111
118
117
119
120
122
124
126
126
126
125
124
124
124
127
125
129
129
129
127
128
128
132
133
133
135
137
137
137
139
141
143
147
149
152
156
158
161
165
168
173
178
180
179
184
188
190
194
194
195
195
193
191
191
193
195
195
197
201
202
206
211
213
215
221
225
227
228
229
229
227
223
221
218
214
211
209
207
206
205
201
204
204
201
201
199
198
196
193
192
191
190
186
182
180
180
175
171
172
169
171
173
175
176
179
193
202
206
213
221
227
227
227
225
226
228
226
226
227
224
226
222
217
211
207
201
199
203
214
222
221
223
223
222
220
218
216
215
215
213
207
199
187
177
162
162
159
162
162
159
161
164
167
170
171
177
180
182
186
190
194
197
201
204
206
208
211
209
211
213
214
216
217
216
216
216
219
219
220
221
220
221
223
225
226
227
229
230
228
230
229
230
228
228
233
233
231
230
226
221
216
215
214
210
207
210
211
208
207
202
199
196
188
184
182
176
172
171
171
173
174
177
177
178
177
175
172
168
166
164
166
173
176
176
178
179
176
176
175
178
175
174
176
179
179
176
175
174
176
173
177
171
175
176
179
180
180
175
172
173
177
186
198
186
159
186
177
181
177
173
166
75
75
66
65
64
65
68
68
69
72
74
74
74
76
75
76
76
77
76
76
80
83
83
89
93
96
98
101
105
110
114
117
115
117
119
121
122
124
122
120
121
122
122
122
121
126
126
124
126
126
126
125
127
128
130
131
133
135
138
139
141
142
144
145
147
149
150
152
156
161
165
171
171
174
182
183
185
186
185
185
187
187
187
188
184
189
193
192
197
200
205
212
214
218
220
220
220
220
217
216
213
210
206
204
200
202
203
202
198
199
199
197
197
194
195
193
192
189
189
187
188
184
181
176
170
171
170
167
167
168
170
178
181
192
201
206
212
219
223
223
223
221
226
230
225
225
226
224
226
225
218
216
211
205
205
214
221
222
220
222
222
221
220
218
217
214
214
213
208
204
198
187
166
157
155
157
160
157
160
162
163
165
167
171
173
176
180
184
189
189
193
197
200
202
204
202
204
206
207
209
209
209
209
209
212
212
213
216
217
215
215
218
221
222
224
226
224
226
227
227
227
227
232
232
229
229
227
222
219
215
214
209
208
210
209
209
208
203
200
198
189
185
182
176
172
171
171
173
173
177
179
179
178
176
174
169
167
167
169
173
177
177
179
180
178
176
175
176
174
173
173
175
177
180
177
180
176
174
174
172
168
172
172
168
173
174
176
185
177
191
192
184
165
175
179
184
175
173
174
119
81
70
68
70
73
72
76
81
89
101
110
119
125
141
149
149
129
114
107
103
104
96
83
86
87
91
94
97
99
104
107
112
113
115
118
119
121
120
119
119
120
120
121
118
117
117
116
117
117
119
120
120
121
125
125
125
129
131
135
137
137
137
136
138
139
138
138
141
146
149
154
158
162
168
169
169
169
172
172
171
171
173
175
175
176
179
181
183
187
195
201
204
204
209
210
209
208
206
204
201
198
189
189
189
194
195
195
195
193
192
195
194
192
189
189
188
186
188
185
190
186
181
177
176
173
171
165
164
169
174
173
174
188
194
200
207
211
218
220
221
222
224
224
225
221
222
223
222
222
216
214
208
204
206
216
220
223
221
222
219
218
219
219
216
214
212
212
210
208
202
191
170
153
153
155
156
154
154
155
155
157
160
162
166
171
170
173
175
177
179
182
182
184
187
191
193
196
197
197
198
197
197
197
199
199
202
206
206
207
212
213
216
217
219
221
223
225
226
226
226
226
229
230
233
232
229
224
224
220
214
210
208
208
211
211
209
204
202
200
190
186
183
177
173
172
171
173
174
178
180
180
179
179
177
174
170
166
169
173
177
177
179
180
179
179
179
176
174
173
174
177
179
179
175
175
159
159
174
173
169
163
174
175
179
180
181
193
185
190
188
177
173
176
183
168
174
171
164
116
113
80
77
82
84
82
90
104
113
123
131
134
142
143
140
140
146
150
145
130
120
118
116
104
96
93
90
90
91
90
98
101
105
108
109
111
113
113
114
116
116
118
118
117
115
113
112
112
114
116
118
118
118
119
121
121
124
124
129
132
132
133
133
136
134
134
134
136
135
137
139
141
143
147
151
153
155
156
156
157
158
160
161
161
164
168
166
169
173
178
185
191
192
190
191
188
186
184
186
184
177
175
175
177
180
183
185
186
184
185
186
187
185
187
187
186
185
185
185
188
184
178
179
175
173
170
164
164
172
172
172
173
178
188
194
201
206
213
215
217
219
222
222
223
220
219
222
220
215
214
209
203
201
206
211
216
220
219
217
217
215
212
212
212
209
206
206
206
204
199
190
168
148
148
150
151
149
151
152
153
155
159
159
161
164
162
162
161
161
163
164
164
168
170
175
179
181
182
184
184
188
188
187
185
191
191
194
196
198
204
206
210
210
215
218
222
224
226
226
226
226
229
232
234
233
230
225
227
222
215
212
208
208
211
211
209
205
201
200
189
187
185
177
175
175
173
173
174
179
182
182
183
183
180
175
171
170
168
174
177
178
180
182
181
179
179
176
174
172
170
175
179
176
173
168
167
154
148
168
178
171
173
184
190
193
186
189
182
176
190
188
165
178
191
175
177
172
175
115
112
96
89
84
85
97
110
121
129
133
143
150
151
155
155
159
164
168
171
167
171
171
161
155
143
125
113
105
98
94
91
93
97
101
103
104
106
107
110
110
111
112
112
110
109
107
108
109
109
110
112
112
115
117
119
121
123
125
126
126
124
124
128
130
131
130
132
134
133
133
135
136
137
140
143
145
144
148
149
151
152
154
153
152
154
156
159
159
161
163
165
168
169
167
166
166
166
163
164
165
169
167
164
160
165
169
170
171
172
173
177
179
179
182
182
183
181
183
183
182
179
176
173
172
169
167
166
163
176
174
171
171
171
175
181
191
200
204
208
212
214
216
218
218
218
215
217
213
210
205
197
194
194
198
204
209
213
213
214
212
210
210
208
206
205
202
202
200
200
192
174
153
141
141
142
143
138
141
149
151
155
158
156
156
156
157
157
155
155
153
155
153
157
161
166
170
171
170
171
175
176
176
179
180
180
179
182
184
191
195
197
200
203
209
213
216
219
222
220
221
225
230
232
231
229
229
226
228
223
216
214
210
209
211
211
209
208
205
200
191
189
185
178
176
175
175
175
176
181
183
184
184
184
181
176
173
170
172
175
176
179
181
183
180
180
180
178
175
174
174
176
177
175
169
165
167
172
172
163
171
177
185
181
183
180
178
180
185
192
197
172
174
173
181
179
184
178
165
120
117
102
92
92
98
116
127
136
136
142
152
157
163
172
180
185
188
190
193
189
185
180
176
175
172
157
147
133
118
114
110
101
95
94
93
96
98
98
100
100
102
102
102
100
100
100
100
102
104
104
106
106
108
111
113
115
121
122
124
124
124
123
124
124
126
129
131
132
130
130
130
134
134
137
139
141
143
143
143
145
148
150
152
151
151
153
154
154
155
156
154
155
153
153
152
148
148
147
143
144
147
151
151
151
152
155
157
162
165
167
169
171
170
172
173
175
180
182
179
176
172
172
169
169
167
166
164
164
171
170
169
170
170
165
167
178
191
201
207
210
212
215
216
216
212
211
207
201
194
191
191
189
190
195
200
204
208
208
210
208
207
208
201
198
197
197
198
200
192
180
156
149
141
141
143
144
150
153
153
154
156
156
154
154
153
154
154
151
148
148
148
148
146
148
150
154
156
159
162
166
165
167
170
169
172
172
176
181
187
192
196
200
201
208
211
214
217
218
218
219
224
227
229
228
227
226
223
225
223
218
214
212
210
212
212
211
209
206
200
192
190
185
179
177
176
175
177
178
183
185
185
185
185
182
179
175
173
173
177
176
179
181
183
181
181
181
180
178
176
177
177
178
175
174
176
173
171
168
167
176
176
183
187
187
186
183
184
182
190
192
181
179
174
181
159
188
182
180
125
126
111
100
102
112
127
134
144
144
156
173
178
189
194
193
199
200
201
200
199
193
192
187
181
176
169
165
156
145
135
127
115
112
106
103
99
97
94
94
93
94
92
90
91
94
94
94
95
95
99
101
102
106
109
111
113
114
117
123
122
122
122
122
124
123
126
128
129
127
129
131
131
133
134
137
139
139
144
144
144
145
147
149
151
151
153
152
154
155
155
155
157
153
153
153
148
146
146
141
138
134
138
140
141
144
150
153
156
160
161
163
164
163
164
165
167
171
176
173
177
174
173
172
170
168
168
168
165
164
167
168
169
169
166
170
169
180
187
190
196
200
203
204
202
200
202
196
189
188
187
187
187
187
189
190
191
196
199
202
200
198
197
194
193
194
194
192
184
169
151
148
146
145
151
152
156
156
162
161
163
161
159
161
158
157
157
157
155
155
152
150
152
149
147
151
154
159
159
160
160
161
163
164
162
166
174
174
179
186
192
197
202
204
208
214
217
219
221
222
224
229
232
234
230
230
229
229
228
224
219
215
213
211
209
209
209
207
204
200
193
191
185
179
177
177
177
179
180
184
187
188
188
188
186
180
176
173
174
177
177
179
181
183
181
181
178
180
178
177
178
180
181
177
183
187
180
169
167
172
175
179
187
185
191
182
184
181
181
177
188
174
179
187
162
175
173
178
183
131
131
117
113
115
124
141
145
157
170
185
193
200
205
211
212
215
214
217
211
206
202
201
198
202
197
186
179
176
161
151
141
134
129
125
120
114
105
100
98
96
90
86
84
85
87
87
88
90
91
94
96
100
102
104
105
109
110
114
118
120
121
119
122
124
123
122
122
123
125
126
128
129
131
133
136
136
138
141
141
142
145
146
149
151
153
153
149
151
153
154
154
154
152
152
152
149
147
146
144
140
137
136
135
133
137
141
145
146
148
151
153
156
158
161
162
163
166
168
169
171
171
169
169
167
167
168
165
166
164
167
168
172
172
172
175
175
176
179
182
184
183
183
184
184
184
183
190
187
186
180
180
178
177
177
176
176
178
182
189
192
187
186
186
186
182
176
169
158
148
146
143
145
150
150
159
161
163
166
166
163
163
163
158
158
157
160
160
161
162
160
153
154
154
156
155
159
161
162
163
166
160
160
163
167
170
175
177
183
188
198
202
207
209
213
217
220
224
225
226
228
230
233
235
234
234
233
233
232
227
222
218
215
211
209
209
209
207
204
200
193
191
185
181
178
179
177
179
182
185
188
190
192
192
190
185
179
177
175
178
180
181
183
183
181
178
179
178
175
175
177
179
179
176
178
179
180
159
164
169
172
188
189
187
184
187
182
186
183
182
184
177
180
175
132
178
182
178
177
148
137
135
134
135
151
165
176
187
191
197
207
214
218
221
222
222
220
222
221
218
213
210
207
206
202
199
191
183
175
169
166
153
148
142
132
127
121
114
110
104
100
98
93
91
92
92
90
87
85
87
93
95
99
103
105
107
109
111
111
112
112
114
119
121
121
121
121
123
122
124
126
128
128
129
132
133
134
139
136
139
140
142
144
146
148
150
148
148
149
150
150
150
149
149
148
146
146
147
144
141
139
137
135
133
132
134
136
138
140
143
147
148
154
152
154
158
161
163
163
163
163
163
165
165
165
164
164
164
165
165
165
166
168
170
172
172
174
173
177
181
180
180
179
180
180
181
184
185
186
182
177
175
177
174
171
166
163
163
162
162
159
157
158
156
155
151
148
146
146
142
150
154
155
156
160
164
166
170
168
166
166
166
165
165
165
164
164
161
162
160
158
156
161
154
153
153
157
160
161
161
161
161
167
169
176
184
185
190
196
201
207
213
215
219
224
226
228
230
230
232
234
236
240
242
241
239
236
235
231
225
221
217
213
210
210
209
207
204
200
194
192
185
181
178
177
177
180
180
185
188
192
194
192
189
185
181
179
177
179
180
179
183
183
183
181
179
178
178
178
180
180
181
176
171
169
167
171
173
176
176
189
192
186
180
189
186
183
182
186
196
193
187
181
149
164
175
190
177
156
155
161
164
172
175
190
201
211
208
210
220
221
224
228
228
226
223
225
226
221
220
217
214
213
209
204
205
202
195
183
177
172
163
157
147
141
136
127
122
117
110
110
106
101
102
100
98
97
98
96
97
95
91
95
95
98
100
100
103
104
105
106
112
114
114
114
115
116
119
121
122
123
123
124
124
126
127
133
135
136
136
138
139
142
144
147
144
144
145
145
145
145
144
144
144
143
142
141
141
139
138
136
134
132
133
134
138
138
140
144
143
145
145
148
150
153
157
158
160
161
161
161
162
162
163
163
163
163
163
163
164
165
166
168
168
170
170
170
170
172
175
178
178
178
183
181
178
180
182
183
181
180
175
172
170
169
169
165
157
150
143
141
141
141
144
142
140
146
148
150
154
156
157
162
166
167
169
172
172
173
171
169
166
166
167
170
165
162
166
168
165
161
162
160
156
156
155
153
157
162
163
168
177
178
183
189
193
198
200
208
215
221
220
224
227
230
232
233
233
235
238
240
244
245
246
244
241
239
235
229
226
220
214
211
209
209
207
204
201
197
193
186
182
180
177
177
179
181
187
191
194
194
192
189
186
183
182
178
179
180
180
184
185
186
183
182
178
178
180
182
184
182
179
175
171
172
176
178
172
164
177
183
190
193
181
181
187
187
185
193
198
193
185
158
173
185
187
185
174
177
182
183
188
196
207
213
217
219
221
226
228
231
233
234
232
233
227
228
225
221
218
215
214
212
208
205
204
197
194
191
184
179
171
159
154
147
138
135
129
128
121
120
114
115
122
125
126
125
126
122
118
110
107
98
95
98
98
99
101
101
103
101
102
103
105
108
112
115
116
115
116
118
119
116
116
117
120
122
124
131
133
133
134
136
138
138
140
140
142
142
140
136
136
134
136
136
135
135
135
132
132
130
130
128
130
132
134
136
137
138
140
143
143
145
147
149
151
154
156
156
158
159
161
161
163
163
163
160
160
161
163
165
165
166
165
166
165
165
166
167
169
172
175
177
177
176
176
176
176
176
174
174
172
171
170
166
159
155
155
149
147
147
145
147
148
147
149
153
158
158
160
162
166
169
173
174
173
176
172
172
172
173
169
168
168
168
167
168
170
167
164
161
159
157
157
159
161
160
164
170
175
178
184
188
195
199
205
211
216
220
224
229
231
234
235
237
239
236
238
241
242
247
248
251
248
245
243
239
233
229
222
216
213
210
210
208
206
201
197
192
187
182
180
177
175
181
185
192
194
196
199
197
192
186
182
179
179
180
182
180
184
185
187
187
183
182
180
181
180
182
182
176
172
170
173
176
180
172
172
179
185
187
183
191
183
184
177
195
198
185
191
172
167
176
180
189
178
198
201
204
206
210
216
219
219
220
223
224
227
227
226
229
227
225
227
226
226
224
217
216
215
218
214
210
208
206
202
197
196
190
184
179
174
169
156
151
149
150
142
142
135
146
147
147
145
145
141
132
125
120
110
113
106
97
99
89
90
91
93
93
95
96
97
95
100
104
105
105
105
107
107
107
110
110
112
115
114
118
125
125
128
125
127
130
130
132
134
135
137
135
131
130
127
127
127
127
126
126
126
126
127
125
124
124
125
128
132
132
133
135
138
141
143
145
146
148
151
150
152
154
155
157
159
160
160
159
162
162
161
160
160
161
163
163
164
164
164
164
163
165
168
168
170
172
170
172
173
172
172
172
171
171
168
167
163
158
156
153
152
151
150
150
152
151
151
150
152
157
161
167
168
170
176
176
175
176
175
176
176
177
177
176
173
170
168
168
166
168
163
163
162
163
164
166
169
168
171
172
176
178
180
185
191
199
206
212
216
219
223
228
230
232
236
237
240
239
236
238
241
243
248
250
253
251
248
245
241
235
232
226
219
214
212
210
208
206
201
198
194
185
183
181
179
175
183
186
192
195
196
198
196
191
183
177
177
177
178
180
181
183
185
188
185
183
180
178
179
181
182
182
175
171
169
175
177
180
174
174
180
183
190
189
184
184
186
183
199
192
189
194
179
176
172
173
183
161
216
218
221
225
225
226
227
227
226
226
226
226
225
221
220
227
225
223
223
224
221
215
214
213
215
213
209
207
205
201
199
199
195
193
187
179
176
169
164
165
162
162
162
165
164
160
161
158
155
151
147
143
134
122
117
113
105
97
93
83
85
84
86
88
88
90
92
92
94
95
96
95
97
97
99
99
99
101
108
110
112
114
116
117
120
120
121
123
124
127
127
128
130
125
123
122
121
121
120
119
121
120
122
122
121
124
124
123
124
123
125
130
131
133
135
136
139
141
145
148
149
152
152
153
155
157
159
159
159
158
158
157
158
158
159
157
160
160
160
162
161
160
160
162
161
163
165
166
166
167
168
168
168
170
170
167
164
161
160
158
155
154
155
155
152
150
151
150
152
153
158
163
168
168
167
170
170
174
176
175
172
174
176
176
178
180
174
172
169
169
165
162
164
166
167
169
172
172
174
178
184
181
185
192
191
196
203
205
212
218
220
225
229
231
233
236
237
240
240
238
239
244
247
250
254
253
251
249
247
242
238
235
229
221
214
212
209
208
206
202
199
194
185
184
182
180
180
185
189
194
196
197
198
196
191
185
178
174
177
181
183
182
184
186
188
185
181
179
177
177
179
181
182
177
174
176
178
175
176
179
172
179
178
186
187
182
186
192
183
205
188
186
197
185
170
165
145
178
185
226
228
229
231
231
233
234
236
233
234
232
229
227
223
219
218
216
217
218
217
213
210
211
210
211
209
205
201
201
200
200
200
198
196
192
187
188
184
180
180
181
182
180
178
178
175
168
163
159
160
152
150
148
139
131
127
127
127
124
118
119
117
110
104
93
92
88
85
89
86
87
89
90
90
91
93
95
95
97
98
101
103
107
108
112
112
114
114
115
119
116
116
116
117
116
114
116
114
114
115
115
115
115
115
114
119
119
120
117
118
120
125
126
126
128
130
133
137
139
141
143
145
145
145
148
149
148
148
148
153
153
152
152
152
153
151
153
155
154
154
155
155
155
157
154
157
158
159
159
161
162
162
163
166
166
164
161
159
159
158
155
154
156
154
152
150
153
153
152
153
159
163
165
167
166
168
167
171
173
172
171
173
175
176
178
181
179
175
169
165
161
164
163
165
168
168
172
173
176
181
185
182
186
191
195
199
204
209
216
222
225
230
230
233
235
238
239
241
240
239
240
246
248
251
254
253
251
249
248
243
239
235
231
224
216
212
209
208
206
202
198
193
187
184
182
181
181
186
191
196
198
198
198
196
190
183
178
173
174
177
183
181
186
186
187
183
181
178
176
177
180
180
179
177
172
177
181
182
181
181
181
184
187
186
188
172
185
178
184
196
195
183
189
181
169
164
158
188
182
227
228
230
232
234
234
235
235
234
235
231
228
225
222
219
217
210
209
205
204
200
201
203
201
199
199
202
199
199
201
202
202
198
200
198
193
194
192
189
192
192
186
188
188
185
182
177
171
170
166
163
156
159
156
159
163
157
155
159
163
163
161
156
149
138
120
94
88
83
85
83
82
83
83
84
85
85
88
91
94
94
94
96
99
102
104
107
107
107
107
107
107
107
105
107
107
110
110
109
109
107
110
110
109
110
115
115
115
115
117
119
117
119
120
122
124
126
128
130
133
138
138
140
139
141
144
140
140
140
141
141
142
142
142
142
143
143
146
146
148
149
148
150
150
150
152
154
155
155
157
157
159
160
160
162
162
162
162
161
158
158
156
155
153
152
154
154
153
154
154
153
158
160
162
162
164
166
164
166
171
170
172
174
171
171
169
172
168
163
163
165
166
166
168
167
167
171
172
177
183
184
184
186
193
199
205
210
212
218
224
227
230
233
235
237
239
241
241
242
241
241
245
249
252
254
253
251
248
246
242
239
235
231
224
219
213
208
207
205
201
194
190
186
184
182
181
182
187
193
197
199
200
200
196
189
181
175
175
176
178
183
182
188
189
189
185
182
175
174
180
180
180
178
173
174
177
177
177
181
180
177
172
183
189
196
182
187
182
187
187
192
185
192
188
173
150
181
182
182
229
232
234
232
232
233
233
233
233
234
232
227
223
220
216
214
208
200
202
201
201
200
202
203
203
203
202
199
199
201
202
205
201
205
205
205
206
204
203
203
205
198
193
189
186
184
181
175
176
173
165
167
167
172
170
172
173
171
173
176
176
178
181
181
175
168
153
141
121
109
92
82
78
75
78
78
80
81
80
82
85
89
89
92
94
96
98
97
97
95
99
99
98
96
98
99
100
98
98
99
101
106
106
106
108
108
108
110
109
109
112
114
116
118
119
121
123
123
125
126
129
131
132
132
132
132
132
132
131
131
133
134
135
135
133
133
133
136
138
140
141
143
145
145
146
146
148
147
150
150
152
154
155
157
160
161
161
161
161
163
161
160
160
158
155
154
154
154
156
154
153
153
155
157
159
162
163
163
166
167
169
169
169
167
167
166
167
163
161
163
164
165
165
165
169
166
172
175
180
184
189
190
194
200
207
211
215
215
219
223
227
230
232
233
236
236
237
239
239
239
239
242
245
248
253
251
249
246
244
239
236
234
229
224
218
213
208
207
205
200
194
189
186
184
182
182
185
190
194
200
200
200
202
197
190
183
179
177
177
179
184
182
188
190
190
188
183
178
179
181
180
182
178
175
178
184
183
179
181
182
187
181
181
190
188
183
181
178
181
189
197
188
190
161
165
156
177
179
172
231
231
233
233
235
235
236
235
231
226
226
222
217
214
209
204
201
195
195
198
196
198
202
205
203
204
205
206
206
208
208
208
208
207
205
205
207
203
202
199
198
199
196
192
190
191
186
179
177
175
173
174
174
178
174
179
182
181
182
187
190
191
194
197
195
190
184
177
163
147
133
119
105
91
78
79
81
81
81
81
83
84
86
86
87
87
89
89
89
88
88
88
89
91
92
92
91
92
95
96
98
99
100
100
103
104
104
104
104
106
109
110
112
114
116
117
119
119
119
122
123
125
125
126
124
123
123
121
121
123
123
125
122
123
123
125
125
126
127
131
133
136
139
139
138
140
142
142
145
145
146
148
150
150
152
155
156
159
159
159
159
159
158
158
157
155
153
153
154
154
153
153
155
157
158
158
158
161
163
164
165
165
165
164
163
164
164
162
162
159
162
164
164
164
166
166
171
177
185
189
191
195
199
203
210
214
216
217
220
223
226
228
230
231
233
233
234
236
237
238
238
239
239
242
248
246
242
241
239
236
234
231
226
221
215
211
208
207
202
201
195
191
186
183
181
184
187
189
192
199
201
201
200
195
187
182
179
179
180
182
188
185
188
190
190
188
184
179
177
179
183
183
181
181
180
178
179
178
181
183
177
182
186
191
195
185
189
188
175
192
187
192
181
171
165
178
194
180
185
231
233
233
234
234
232
232
232
228
226
224
219
215
211
210
208
203
202
194
194
192
194
196
204
204
206
209
211
212
214
214
214
211
207
205
204
203
200
198
198
196
198
192
191
187
183
179
174
174
173
173
174
176
177
181
186
185
187
190
196
197
201
204
207
207
201
191
185
178
166
158
150
142
133
123
107
99
99
98
98
99
93
87
88
88
88
90
89
89
85
84
82
83
84
84
86
84
87
90
91
93
94
97
97
98
98
98
99
98
99
101
103
104
106
107
109
110
112
114
117
118
118
119
117
115
117
114
111
113
114
118
116
113
113
113
114
114
116
121
124
126
127
130
133
133
133
134
134
136
140
141
143
148
147
149
149
151
154
154
154
156
155
155
155
155
155
153
152
153
153
153
153
155
155
158
158
159
158
158
158
158
160
161
161
161
162
158
158
157
158
159
161
164
166
167
168
173
179
184
188
191
196
202
203
210
214
216
217
219
222
223
226
227
228
228
228
228
230
232
234
234
234
234
235
240
237
235
234
232
230
229
227
223
217
213
211
208
206
203
201
195
191
187
183
181
184
188
190
193
200
202
201
200
195
187
182
178
177
181
185
190
188
190
192
190
188
187
179
177
179
182
186
185
184
181
180
181
183
185
179
177
174
182
190
191
190
189
187
180
198
187
184
167
178
167
167
189
181
179
224
225
229
232
232
231
230
230
227
225
224
221
215
213
214
214
212
210
204
195
192
190
191
196
202
205
208
213
215
214
213
213
210
206
202
203
204
200
194
195
193
194
190
185
180
174
170
167
164
166
171
171
178
180
188
191
194
200
204
209
214
217
217
217
217
214
207
201
194
188
189
185
184
182
176
168
163
151
135
129
122
121
121
120
112
110
109
107
107
113
114
112
108
103
103
100
99
103
104
107
102
95
91
91
90
92
92
92
91
91
94
95
97
99
99
99
99
104
104
107
108
108
111
115
112
110
109
106
105
106
106
106
103
103
105
104
106
108
110
112
114
116
118
121
124
124
126
128
130
133
136
140
142
144
144
146
147
147
148
148
150
152
152
154
152
151
149
151
152
150
151
154
154
154
153
153
157
159
159
158
156
158
159
159
159
158
160
158
156
156
156
160
160
165
167
170
172
176
180
184
190
198
198
201
207
209
212
213
215
217
219
222
222
223
223
223
222
224
224
224
224
224
225
227
228
230
227
226
225
223
223
221
217
212
207
205
204
203
200
197
195
191
187
188
186
185
188
192
194
197
199
198
195
191
186
182
179
179
182
185
185
188
192
193
192
188
186
183
181
179
179
183
186
187
179
171
178
181
178
180
173
176
179
179
188
184
180
190
180
196
192
191
153
185
165
170
186
172
174
221
222
225
227
227
227
228
228
225
224
222
219
216
214
214
214
211
210
209
206
201
198
198
198
196
199
207
213
215
216
214
213
207
206
204
203
201
199
192
189
188
186
185
180
171
166
161
159
157
162
169
175
181
192
194
205
213
213
217
217
221
225
225
225
223
221
222
218
214
214
213
210
207
203
201
196
191
193
190
185
182
174
170
163
157
153
156
160
158
156
143
138
136
135
139
131
129
127
118
111
111
111
119
105
92
90
90
90
88
91
91
92
94
95
95
95
96
95
95
97
98
98
100
103
101
101
100
98
95
94
94
95
92
92
94
97
100
101
102
105
106
107
109
111
118
118
120
121
124
126
130
135
137
138
140
142
141
141
141
141
144
145
148
148
149
147
149
149
150
150
151
152
152
153
153
153
154
158
158
158
155
155
158
159
159
159
161
158
157
155
153
153
156
162
166
170
171
174
177
182
186
191
194
197
199
202
205
207
211
214
215
217
219
221
221
219
218
218
218
217
215
214
213
217
216
219
219
219
216
216
215
214
212
209
205
203
202
201
199
197
195
191
187
188
186
186
188
192
194
197
199
198
195
191
186
180
178
180
181
185
186
188
195
194
193
190
187
184
180
178
180
185
187
183
181
177
182
182
177
179
180
175
188
182
189
177
190
187
188
194
200
191
163
177
159
165
188
177
178
218
220
221
223
225
228
223
223
222
223
221
216
215
214
215
214
213
209
208
206
205
202
201
197
199
201
205
210
212
209
209
209
205
200
197
199
195
192
188
185
179
177
178
172
162
157
155
150
154
155
162
165
174
189
193
201
213
216
220
222
224
227
230
231
231
229
230
228
226
225
224
222
220
216
215
213
210
208
207
209
210
204
199
195
191
190
186
185
183
182
178
173
174
167
161
153
143
136
135
126
118
116
114
113
116
93
90
86
89
91
91
89
89
89
90
91
92
92
92
92
93
93
92
91
90
92
91
89
88
87
87
87
88
88
88
91
94
95
95
97
100
100
103
105
110
113
111
116
119
122
122
124
127
130
132
134
135
135
135
133
136
136
139
141
143
143
143
145
145
145
147
148
148
149
153
153
154
154
157
159
155
158
159
158
160
160
161
161
159
157
155
152
154
156
164
168
171
173
173
180
186
184
186
191
192
196
200
203
207
211
209
212
213
214
214
214
214
212
210
209
206
204
203
204
206
208
208
208
206
206
206
203
201
201
200
200
202
201
199
197
194
189
186
188
186
186
187
191
194
197
199
198
195
190
187
183
178
178
181
184
186
189
194
194
194
189
186
181
177
175
178
182
186
183
181
174
179
184
182
178
185
180
176
184
180
184
199
193
185
192
188
179
174
176
163
168
184
181
187
217
219
218
220
224
224
224
224
224
226
226
222
216
215
215
213
213
209
209
205
204
204
202
201
202
202
204
208
210
210
206
204
197
192
192
190
190
187
181
179
175
171
166
160
154
148
149
149
143
143
153
162
171
185
192
200
212
217
221
224
227
231
233
231
231
232
233
232
231
232
230
227
226
225
223
228
225
221
222
222
222
221
218
215
210
208
209
205
201
199
197
200
196
195
191
181
170
167
156
144
134
129
122
118
113
116
95
91
92
92
92
90
87
89
88
90
89
90
92
93
89
89
90
89
89
88
86
84
83
83
80
80
82
82
82
83
85
86
87
89
91
96
98
99
102
105
106
109
111
112
114
117
119
118
121
121
123
123
124
125
125
128
127
129
131
138
138
139
140
140
142
144
144
144
148
150
151
152
154
156
155
155
156
157
159
158
159
159
159
158
156
154
158
157
159
162
164
167
166
171
175
178
182
185
185
187
193
198
200
204
203
206
209
210
208
207
205
205
204
201
199
196
191
191
192
192
192
195
195
195
194
195
195
195
195
197
199
201
199
197
193
190
187
188
186
186
187
191
194
197
199
198
194
190
186
183
178
178
184
187
189
191
193
193
192
188
184
180
178
178
180
182
179
180
177
179
181
182
189
180
182
178
175
180
188
182
184
178
193
183
186
186
183
174
179
177
176
178
186
218
219
221
221
223
223
225
227
227
230
229
228
224
222
220
218
214
209
209
203
199
198
198
198
199
197
197
200
202
202
199
197
190
185
182
176
177
177
176
171
168
162
160
156
155
157
155
142
139
137
144
155
167
183
194
200
209
212
216
223
223
225
229
232
234
232
233
235
235
237
237
235
235
233
234
236
236
235
232
232
231
230
230
228
233
233
230
227
223
221
221
222
215
209
205
196
189
186
182
166
155
144
135
129
126
120
115
102
100
95
92
89
85
87
86
87
91
93
93
94
92
90
90
91
91
88
87
84
80
78
78
77
77
74
78
76
79
79
80
82
84
86
91
95
94
96
98
101
103
105
105
107
111
111
111
112
109
109
113
116
116
116
117
119
121
123
126
128
133
135
135
138
140
140
142
144
147
151
151
153
153
153
154
154
156
158
158
158
160
158
156
156
155
155
157
157
158
159
163
166
169
172
172
175
180
183
188
189
193
197
197
201
202
201
199
196
194
192
190
192
190
187
183
180
178
179
181
184
186
184
184
184
186
190
191
193
197
200
200
197
193
190
187
187
185
185
187
189
193
197
199
197
194
190
186
182
179
179
185
188
188
192
194
193
192
188
183
178
178
179
181
183
181
180
176
178
184
189
187
182
183
180
168
185
195
182
184
198
188
196
179
190
198
185
168
179
176
178
188
228
230
232
227
227
230
235
235
236
234
230
224
220
218
217
217
215
214
210
201
196
195
195
195
188
184
184
185
187
184
189
187
184
177
171
168
168
168
165
161
157
152
150
146
147
155
157
150
154
155
151
156
165
178
184
188
194
200
204
214
216
218
221
224
226
228
233
234
235
238
238
239
239
239
241
243
243
243
241
241
239
238
238
238
240
240
242
243
243
242
243
242
238
226
222
222
220
211
202
195
183
175
165
162
154
150
145
129
120
111
104
94
90
90
88
89
92
95
95
97
93
93
92
90
90
90
89
88
83
83
80
80
76
76
77
77
77
78
78
80
81
82
85
89
88
87
89
87
89
91
94
94
97
96
96
94
93
93
94
97
97
99
104
106
112
113
113
118
126
128
129
133
133
137
134
134
137
143
143
146
145
147
149
150
152
154
155
157
157
158
158
157
158
156
155
155
156
157
162
165
166
169
170
170
171
172
176
178
180
181
182
186
186
186
184
182
182
182
180
176
176
171
174
172
172
170
168
171
173
173
176
180
182
186
189
193
196
200
200
197
194
189
187
187
185
185
187
189
192
197
199
197
195
190
188
183
181
182
186
189
191
192
194
193
190
188
183
178
175
180
186
186
183
179
173
177
174
185
179
179
174
182
173
195
190
173
182
185
194
192
190
196
189
196
186
165
184
171
187
230
232
234
232
233
235
237
238
237
234
232
227
221
215
211
207
205
204
201
194
186
185
181
177
177
177
173
170
168
167
168
167
157
156
155
153
155
153
148
143
147
149
153
157
165
176
178
179
175
175
175
169
170
181
184
188
194
200
203
207
210
214
219
222
226
230
234
234
238
238
238
237
239
239
240
240
240
240
239
239
240
240
238
238
239
241
244
247
249
248
244
243
241
241
239
238
233
229
219
213
209
198
185
177
175
162
142
137
137
126
115
108
100
93
97
99
103
104
104
104
97
97
97
97
97
95
94
91
91
91
85
80
81
81
83
83
83
84
81
83
83
83
83
84
85
85
88
89
89
91
92
92
91
89
89
87
86
86
86
87
89
90
90
95
99
103
106
108
112
118
121
122
125
127
129
129
128
131
133
137
138
140
143
146
148
150
152
152
154
156
156
155
155
155
155
152
152
152
149
153
158
161
162
162
163
164
166
169
169
167
166
168
172
171
171
173
173
173
174
173
171
169
167
165
162
158
157
162
166
168
171
175
180
184
187
192
196
198
198
197
195
191
188
185
184
186
187
189
193
196
196
196
194
192
187
183
183
184
186
189
191
191
193
192
190
186
182
178
178
180
185
187
190
181
176
180
184
185
191
185
181
182
177
183
190
177
180
188
183
184
196
184
192
188
176
173
183
174
182
233
233
235
234
236
236
235
236
235
232
228
225
222
216
210
204
198
196
190
181
171
171
165
157
158
158
158
156
154
157
150
145
138
137
137
136
135
136
136
141
149
157
166
174
177
185
187
193
191
194
193
194
188
185
195
199
203
211
217
220
223
225
229
234
239
238
234
243
245
240
238
239
239
241
242
241
241
238
238
238
238
238
238
239
241
244
246
247
247
246
243
245
243
243
241
241
243
241
235
223
219
212
201
190
175
174
171
156
141
138
128
120
113
110
107
112
115
114
116
120
114
114
114
114
113
111
110
107
107
100
93
87
89
89
89
87
87
87
87
89
89
87
87
88
90
90
91
90
90
93
92
92
91
85
83
81
80
78
77
77
78
80
82
86
92
96
99
100
99
103
108
114
116
120
121
121
120
121
126
129
130
134
138
141
142
146
147
147
149
151
153
153
154
154
153
152
152
152
151
151
151
153
156
155
155
154
154
156
155
157
158
158
162
159
159
163
164
166
167
166
164
160
157
153
151
153
153
154
158
160
165
170
175
182
186
193
196
200
200
197
196
192
190
186
185
184
186
188
191
196
196
196
194
194
188
186
186
186
187
190
191
192
192
192
191
186
184
179
179
184
187
189
191
182
179
183
185
185
187
184
178
175
182
194
195
186
188
184
175
171
180
183
196
185
190
181
186
180
183
239
234
231
233
233
232
229
228
227
224
223
224
219
211
200
197
187
180
175
171
156
150
146
145
143
141
141
140
139
132
128
122
121
122
126
137
141
145
150
158
168
177
181
183
186
196
203
210
212
211
209
206
206
207
209
211
213
219
225
226
226
228
229
235
237
242
243
245
243
244
244
242
242
242
244
243
243
241
237
237
237
238
238
240
239
239
242
247
247
247
245
243
243
243
241
239
237
237
235
234
223
217
209
202
194
178
169
170
158
146
141
131
127
132
127
125
129
133
133
133
133
131
131
128
123
120
114
113
112
112
110
108
106
104
104
102
102
106
104
102
101
95
93
95
94
94
94
93
93
93
91
91
90
85
85
82
79
77
74
71
71
74
74
78
82
82
87
92
92
97
99
103
105
107
109
109
111
114
119
122
124
127
129
133
135
139
140
140
142
146
150
153
153
153
155
152
152
150
152
152
153
152
152
153
152
148
145
148
147
148
153
150
151
154
154
155
153
155
155
155
152
149
143
142
144
145
147
146
153
155
159
166
172
180
185
191
196
198
201
197
196
194
191
186
185
186
186
188
191
196
196
196
194
194
190
187
185
187
189
191
190
189
191
191
190
188
186
180
182
185
191
193
193
188
182
189
188
186
187
185
180
182
180
180
191
187
174
191
160
186
185
190
188
173
162
179
179
180
186
249
242
234
232
232
228
222
222
216
215
215
210
207
200
188
183
177
164
151
147
137
136
137
135
131
129
126
123
119
113
109
108
113
124
128
142
146
147
156
171
180
189
191
197
202
209
213
217
219
219
221
220
220
223
221
223
229
228
228
228
230
232
231
232
238
242
240
242
241
240
239
240
241
241
242
243
243
243
241
239
237
238
239
242
240
242
244
244
244
244
243
241
243
240
240
237
241
239
239
240
234
228
218
211
202
187
182
172
171
163
154
146
140
146
147
147
146
141
145
147
148
145
145
145
140
136
132
127
124
122
122
121
117
115
113
113
113
111
111
111
108
101
101
101
102
102
103
104
104
99
101
102
104
103
103
100
89
84
83
80
78
78
75
80
81
78
83
87
90
92
94
91
93
95
99
99
103
105
107
112
114
117
118
123
125
130
132
134
136
138
140
144
146
148
150
153
153
153
154
154
155
156
156
155
154
150
145
145
146
146
147
144
143
145
145
145
147
147
145
145
143
140
136
135
136
138
140
144
147
149
155
163
169
179
185
191
196
199
201
199
196
194
191
186
185
185
186
188
190
193
195
194
194
194
192
189
189
190
192
191
190
190
190
189
188
188
184
180
182
185
191
193
195
188
180
183
195
195
186
178
176
181
182
189
195
189
187
191
186
170
177
192
200
188
185
168
178
171
182
247
240
230
227
225
224
223
220
209
207
201
189
190
184
171
164
158
144
133
133
132
131
132
130
128
128
128
122
116
108
108
111
117
129
131
142
154
163
173
181
187
201
208
216
220
224
225
229
229
228
230
230
232
232
229
231
229
228
228
230
235
236
236
236
239
240
237
237
240
238
236
237
238
238
238
237
239
239
240
240
239
235
235
238
244
243
243
242
243
244
243
243
241
240
243
245
246
245
242
239
234
227
223
218
209
199
193
190
178
177
172
165
158
159
155
157
159
160
158
163
165
163
157
154
154
152
143
139
135
131
129
128
126
124
124
118
118
120
118
118
117
112
114
120
120
122
122
123
118
122
133
139
133
126
124
119
115
109
108
95
85
85
81
83
83
85
87
88
89
89
88
88
90
90
87
89
90
94
96
100
101
105
107
111
113
119
122
124
129
136
138
141
140
144
147
150
153
153
154
154
157
156
154
152
152
150
148
144
142
143
138
138
138
138
136
135
136
136
136
136
136
134
132
129
129
131
135
137
138
142
151
159
167
176
184
191
196
199
201
199
197
192
191
187
184
186
186
188
190
193
193
192
193
193
192
190
190
192
190
192
191
190
190
187
186
186
183
185
185
185
192
192
190
188
184
184
185
189
188
186
184
187
184
191
184
189
187
189
191
192
190
190
184
195
179
179
172
179
176
244
241
232
225
220
217
217
210
202
194
188
184
182
174
164
158
150
138
134
131
134
136
134
132
134
138
142
144
146
149
150
152
157
151
151
158
171
185
198
203
212
225
233
239
241
238
234
235
236
237
235
237
237
237
241
244
236
237
237
237
239
240
241
239
240
239
236
236
236
237
235
235
235
237
237
235
237
240
241
241
241
237
237
238
243
241
242
243
245
245
245
245
245
244
247
247
246
245
242
238
236
229
228
222
220
218
217
213
201
199
193
189
186
183
176
174
175
179
175
170
171
171
167
165
165
160
153
149
145
141
139
136
136
134
132
130
132
133
132
129
133
131
136
136
135
138
137
139
151
157
150
146
146
146
141
134
129
120
117
114
110
98
93
93
96
99
96
95
92
92
91
89
87
87
83
83
83
84
87
89
91
95
96
99
103
108
113
115
119
125
129
132
137
142
147
149
151
153
157
159
159
158
158
157
155
153
148
147
143
137
132
130
127
128
125
123
123
125
127
128
128
127
128
128
131
131
133
132
134
140
149
157
165
173
184
190
196
200
202
200
198
194
190
189
185
187
187
189
190
192
192
193
193
193
190
190
192
195
192
192
191
189
189
186
184
182
180
184
186
188
193
191
188
189
184
189
188
186
185
183
185
187
191
195
179
193
178
193
191
183
187
204
185
175
178
173
191
188
184
244
239
229
216
211
207
209
203
199
197
195
194
190
184
173
167
158
145
134
131
130
133
136
144
147
151
156
157
162
166
177
181
180
183
187
190
193
201
225
231
236
243
249
253
254
254
253
251
242
243
243
247
247
247
248
248
248
245
245
242
244
242
242
243
240
242
238
238
239
238
236
235
238
238
237
236
238
241
241
241
241
241
241
243
244
246
246
246
246
247
247
247
248
249
250
250
247
246
243
241
236
232
231
230
230
229
232
229
224
218
212
206
202
200
197
192
191
186
188
180
181
180
174
171
169
165
159
153
151
149
149
148
147
147
144
144
144
145
143
148
148
150
152
153
152
152
152
163
166
169
164
161
160
158
158
156
147
132
129
124
124
129
114
113
112
114
118
116
103
99
97
97
94
88
84
82
82
81
79
82
84
86
85
90
94
99
103
107
110
116
120
123
129
135
140
144
150
152
154
156
157
159
159
157
155
153
151
145
141
136
136
130
123
120
120
121
116
118
120
122
124
125
126
128
130
130
130
130
132
137
144
153
161
171
181
189
195
198
201
200
198
194
191
190
187
188
187
187
189
191
191
192
192
190
190
191
193
196
197
197
194
190
188
186
187
185
182
182
185
188
195
193
191
192
190
193
193
190
189
187
189
187
192
199
190
188
182
193
203
186
188
190
179
179
183
172
179
185
179
241
234
222
211
205
195
192
192
194
193
191
189
183
178
172
165
166
170
165
166
153
152
157
164
165
167
165
173
178
188
199
205
208
209
213
213
223
228
235
245
250
250
252
252
253
255
254
251
255
254
250
248
248
249
252
250
250
250
250
249
251
249
248
247
242
241
239
239
238
236
234
237
242
242
241
237
239
241
241
243
242
240
240
243
245
247
247
247
247
248
249
249
250
249
250
250
249
247
247
243
240
239
241
243
245
247
243
242
236
230
227
224
221
220
210
208
201
198
196
193
187
183
179
175
173
169
166
159
157
156
156
155
154
156
154
153
155
155
156
160
167
166
171
172
174
174
175
185
178
174
173
173
170
169
164
165
162
158
157
143
143
149
156
136
136
131
129
130
127
117
121
106
89
89
84
84
83
82
82
80
79
79
81
81
83
89
93
97
101
107
113
118
124
128
131
140
146
149
152
154
155
159
159
157
155
152
150
147
143
138
136
131
122
118
118
119
117
117
117
118
120
122
124
127
125
131
131
130
134
139
141
150
158
169
178
187
192
197
199
200
198
194
191
190
187
190
187
189
191
192
192
192
192
192
190
191
193
197
198
196
195
189
187
184
189
187
185
186
188
188
192
194
192
188
192
196
197
189
195
193
188
184
186
189
196
191
180
198
187
195
182
193
180
190
177
180
176
173
183
226
220
207
201
197
190
188
190
198
201
201
201
203
205
200
201
200
191
189
184
178
178
177
170
175
179
184
195
203
212
219
218
221
225
229
235
239
242
248
248
250
253
255
255
253
253
253
255
255
255
255
253
253
253
253
255
253
253
251
252
251
251
253
253
251
251
244
244
246
244
244
247
245
245
246
244
244
243
243
244
242
242
244
244
244
245
246
247
251
248
249
250
251
253
253
252
250
247
243
242
249
250
250
248
250
253
254
250
246
243
239
240
236
234
228
222
215
207
202
198
192
185
183
181
177
175
172
163
163
160
158
158
154
156
156
162
164
169
166
171
174
174
176
176
176
178
191
189
184
180
176
174
175
174
172
167
168
165
161
161
166
161
168
149
144
142
136
133
135
132
122
122
123
101
90
86
84
86
86
87
85
81
80
80
80
79
84
88
94
99
105
110
115
121
128
135
140
144
149
154
158
157
157
156
155
152
150
147
144
135
130
128
122
120
119
118
115
115
116
116
120
122
123
123
124
129
133
133
134
138
142
148
158
169
175
183
190
195
199
200
197
195
191
188
188
188
189
191
191
191
191
190
187
187
187
188
192
194
193
193
192
192
190
188
189
187
185
187
190
191
193
193
194
192
193
200
204
195
197
189
177
180
181
184
187
186
190
180
180
187
191
204
192
186
187
185
181
178
176
210
198
187
182
181
186
199
208
212
210
212
211
214
214
218
219
219
219
214
208
202
199
195
194
194
192
206
215
220
232
237
238
238
240
237
246
248
249
251
252
253
255
255
255
254
254
254
255
255
255
255
255
255
253
255
254
255
252
252
252
253
254
253
255
253
255
251
249
247
244
244
244
249
251
253
248
246
246
246
247
245
245
245
246
246
246
247
247
247
248
248
248
249
253
254
253
253
250
244
249
250
252
251
251
252
250
251
251
247
245
247
247
249
253
237
234
225
219
213
205
194
188
185
181
177
176
173
166
165
163
163
168
175
175
172
168
172
173
173
179
178
178
180
181
184
188
189
191
191
188
179
179
175
176
176
175
171
166
168
173
173
172
173
157
153
155
151
143
141
133
129
127
123
122
107
97
93
88
86
87
88
86
83
79
79
77
76
80
83
89
95
104
111
117
124
131
137
140
146
149
154
154
154
154
154
152
150
146
143
133
130
125
123
120
120
117
113
113
114
114
116
117
119
121
124
128
129
132
131
132
137
145
155
166
172
181
187
192
196
198
197
195
191
188
188
188
190
192
192
191
191
190
187
185
187
188
192
195
196
194
192
193
191
188
187
185
181
185
189
190
195
195
194
191
192
194
197
196
194
189
180
187
184
196
186
187
186
190
199
189
189
164
187
184
185
175
179
179
184
194
188
178
170
172
198
208
211
211
217
222
226
226
230
234
235
233
232
228
220
216
219
221
218
217
218
229
235
237
241
238
238
240
245
244
253
253
251
252
252
254
254
255
255
255
255
255
255
255
255
255
255
253
254
254
254
252
253
252
250
251
250
250
254
254
252
251
249
248
249
249
248
249
247
247
251
250
249
246
248
249
248
247
246
248
248
248
248
249
252
249
251
250
252
251
251
248
248
252
251
251
251
249
249
249
250
248
247
247
249
250
252
251
250
249
241
232
223
218
210
204
190
183
178
174
172
170
167
171
168
170
172
175
175
176
179
179
180
177
179
181
183
183
183
185
180
182
188
188
186
185
178
173
171
173
169
168
170
180
180
182
177
172
160
160
157
153
151
147
145
142
141
140
131
128
113
106
96
94
93
95
90
87
86
81
78
75
75
77
82
88
96
103
109
116
125
131
138
144
146
148
149
151
150
148
148
146
145
142
137
128
126
122
120
120
118
114
112
112
115
115
118
119
119
124
124
124
123
122
123
131
139
150
160
170
178
184
189
194
196
196
193
191
189
187
187
191
193
192
191
190
188
185
185
187
187
192
193
196
194
192
192
190
187
187
185
185
188
190
192
194
194
194
191
191
195
196
192
193
183
189
200
186
197
184
188
188
197
187
196
178
182
188
173
180
183
179
181
176
183
178
171
170
188
209
209
214
220
225
230
236
245
247
250
249
249
248
245
240
230
228
230
230
230
234
238
237
241
242
242
242
243
244
246
254
254
253
252
252
251
252
255
255
255
255
255
255
254
255
255
255
253
254
252
252
251
249
248
247
244
244
249
250
250
251
252
250
248
250
250
250
250
247
250
252
252
250
250
252
252
248
249
246
247
247
249
249
250
253
251
251
252
251
250
250
247
249
252
250
251
254
253
255
253
251
250
248
251
253
254
254
253
252
248
243
235
228
222
211
206
196
184
178
171
170
172
170
168
165
170
173
172
174
180
183
183
183
186
188
185
183
185
183
180
178
178
181
188
186
185
175
171
172
172
176
180
182
187
183
184
172
169
163
159
156
156
154
153
151
148
146
145
140
143
122
118
115
110
108
103
100
94
91
89
87
83
79
80
79
82
87
93
99
110
117
123
132
137
141
144
145
145
147
146
144
143
141
139
135
127
125
121
121
118
115
111
109
108
111
111
113
114
117
121
120
120
118
115
114
124
131
142
156
164
174
182
187
191
196
196
193
191
189
187
187
191
191
191
192
191
186
184
186
187
187
192
194
198
195
191
189
187
186
186
184
183
187
189
188
189
191
193
191
189
193
191
190
179
185
186
183
193
199
181
192
183
193
188
194
187
183
182
160
156
159
178
181
173
177
176
178
184
199
210
215
219
230
234
241
247
247
249
253
253
255
255
255
253
247
248
250
251
255
254
250
245
244
244
242
244
246
246
248
252
253
252
253
252
251
251
252
254
254
255
255
254
255
255
255
255
254
255
255
255
254
251
249
246
246
246
249
250
250
252
252
252
249
251
253
254
255
254
255
252
254
254
254
254
255
251
251
251
250
250
251
252
252
251
250
251
251
249
249
246
246
246
247
250
252
254
252
251
245
243
243
248
247
249
250
251
251
251
244
239
233
221
218
214
206
195
187
175
168
167
172
165
164
167
171
174
175
181
184
185
185
185
189
193
193
182
182
181
180
178
180
182
180
180
177
174
173
175
177
181
179
181
182
176
171
163
166
161
156
154
155
153
153
146
147
142
147
148
146
134
129
124
117
113
111
109
107
107
104
98
95
92
87
84
84
87
91
95
101
107
115
121
127
133
135
139
141
141
142
142
139
136
134
131
125
121
117
118
117
112
110
108
106
106
106
107
107
109
113
112
110
109
108
105
119
124
134
148
158
169
179
183
190
193
194
192
190
189
187
188
191
191
191
188
185
185
186
184
185
186
190
193
196
194
189
186
184
183
186
183
183
187
187
183
181
189
197
194
192
193
194
190
186
190
183
179
178
196
178
200
163
178
198
184
183
172
183
175
177
186
180
177
173
168
170
183
187
204
214
220
230
237
244
250
255
255
255
255
254
255
255
254
255
255
253
253
255
254
255
255
255
255
255
249
249
249
244
244
245
250
251
252
251
251
248
250
252
252
254
254
254
254
254
253
252
251
250
251
253
255
253
251
250
249
249
253
252
252
252
253
253
252
252
255
255
255
254
253
254
255
255
255
253
253
252
252
253
252
252
253
253
253
252
250
251
249
244
242
241
243
243
241
240
244
246
247
246
242
244
244
245
245
247
250
251
251
248
240
232
227
219
213
211
204
195
187
177
171
178
172
165
159
161
167
174
179
184
186
186
186
188
192
197
203
183
181
179
178
180
183
177
173
173
173
173
175
177
179
179
175
174
171
174
168
164
166
163
157
153
149
151
148
145
149
142
142
146
147
143
140
133
128
122
118
116
115
114
111
106
105
100
95
92
88
87
90
93
96
102
107
112
119
123
126
130
132
135
136
136
134
133
131
128
120
118
115
113
113
109
106
104
104
101
101
104
102
104
107
105
103
101
101
98
105
114
125
141
152
164
176
181
187
191
194
192
190
190
188
188
190
190
190
187
187
185
186
184
187
187
192
195
194
192
189
186
184
183
187
185
183
186
186
184
180
188
196
198
198
192
192
186
190
196
184
186
189
192
171
198
183
189
189
197
195
182
186
171
172
179
184
181
181
167
174
183
190
204
215
226
234
241
248
252
255
254
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
251
246
242
241
240
243
250
250
247
245
246
249
249
248
252
250
249
248
247
246
247
249
251
251
253
255
255
253
250
251
251
254
254
254
254
255
255
254
255
254
255
254
254
255
255
255
255
255
255
255
253
253
254
253
253
254
254
254
252
249
248
247
241
240
239
239
239
238
236
235
237
238
238
238
240
240
242
244
247
248
246
245
239
234
229
222
219
215
212
205
193
187
181
173
179
170
166
162
157
164
175
180
181
182
186
188
188
190
192
195
183
176
175
172
174
171
168
170
172
171
173
172
170
170
170
174
176
175
167
171
166
166
163
163
156
148
143
145
143
142
145
145
142
139
144
142
141
136
132
133
127
124
121
119
112
111
108
106
105
105
107
108
108
106
108
110
110
112
114
118
122
124
125
128
128
131
126
126
123
120
118
112
110
108
107
104
102
101
100
97
99
95
97
98
101
97
93
91
90
95
104
114
127
142
156
167
177
185
190
194
192
190
190
188
188
191
191
191
188
185
185
185
185
187
189
193
195
195
193
189
188
186
187
186
186
183
185
185
182
179
187
194
193
191
192
187
184
188
189
179
183
187
190
181
198
181
190
186
206
190
188
187
173
171
157
174
171
173
165
173
184
191
206
218
228
238
244
248
254
255
254
252
254
253
253
255
254
253
255
255
254
254
255
255
253
255
254
254
255
252
247
238
237
234
235
231
231
236
238
237
241
241
242
245
243
243
242
241
240
245
247
249
251
253
255
255
253
252
253
255
255
255
255
255
254
254
255
255
255
255
254
254
253
255
255
255
255
255
255
254
254
254
253
253
254
253
253
251
249
246
245
240
238
237
235
234
228
226
225
225
223
223
229
236
239
240
243
243
244
240
236
234
231
228
223
220
219
218
212
198
188
182
173
177
167
167
165
159
164
174
176
179
181
184
187
184
185
189
187
173
169
168
167
167
167
164
162
168
172
174
175
176
174
174
173
173
170
165
160
162
167
169
163
161
154
149
145
140
143
140
136
136
139
139
137
139
134
135
136
135
133
132
126
123
120
122
120
114
114
115
117
117
118
117
118
116
114
114
111
114
118
120
123
123
125
121
121
122
120
115
110
107
105
103
103
101
101
97
94
95
91
91
89
90
93
90
90
87
85
93
105
117
135
147
162
175
183
188
194
192
190
189
187
188
191
191
191
187
187
185
186
188
188
192
194
194
194
192
188
188
186
188
187
187
185
186
184
183
182
188
193
188
188
190
191
188
179
180
185
179
188
186
176
177
188
188
180
199
184
195
171
179
192
170
165
170
166
161
168
180
188
198
216
228
234
241
248
255
255
255
255
255
254
255
255
254
255
255
255
255
254
254
254
254
254
254
254
252
249
241
236
231
228
224
220
214
212
214
221
223
231
238
237
236
237
237
241
243
245
247
250
253
254
255
254
254
255
254
254
255
254
254
254
254
254
254
254
254
253
255
255
255
255
255
255
252
252
251
250
252
253
253
253
252
251
251
248
245
244
239
239
237
234
230
226
222
221
216
215
213
209
215
220
224
232
236
236
234
231
233
231
231
227
225
220
216
215
212
207
196
187
175
174
169
166
169
167
171
175
176
178
180
179
182
180
183
181
178
168
166
167
167
162
163
161
160
164
165
165
168
174
171
172
172
172
169
165
165
162
161
162
162
161
156
150
145
139
131
129
132
135
139
139
138
139
132
131
137
140
136
139
139
138
137
134
133
129
129
127
123
123
124
125
121
118
118
117
117
115
112
113
116
118
117
118
118
116
112
110
108
109
105
102
104
100
96
93
93
95
93
93
92
87
85
83
83
81
77
81
94
107
122
139
157
171
179
186
192
192
190
189
187
187
190
190
191
192
190
190
187
189
190
191
195
195
194
190
185
186
184
185
187
187
185
185
187
187
185
189
192
194
192
192
197
192
178
176
184
180
177
187
185
190
190
203
191
188
182
174
180
175
176
180
173
157
160
154
165
176
181
194
213
224
233
239
249
254
255
254
255
255
255
255
255
253
254
255
255
255
255
255
255
254
255
255
255
250
246
238
229
223
218
213
209
207
207
206
208
216
224
237
238
239
239
246
248
249
247
249
250
251
250
254
255
255
255
253
253
253
255
255
255
254
254
254
253
253
254
255
255
255
255
255
255
252
250
250
249
249
250
250
250
250
249
247
245
240
239
234
233
231
227
225
221
218
212
210
205
208
210
216
216
220
223
228
226
225
229
229
229
233
231
229
225
221
217
211
207
203
196
184
179
173
169
170
170
175
174
176
179
181
179
179
180
181
174
167
169
163
163
161
156
158
159
165
165
164
164
167
170
170
171
173
175
173
168
168
165
163
163
159
158
153
149
147
141
133
128
131
132
135
138
138
140
139
139
141
144
142
144
144
145
143
142
139
141
137
134
130
134
136
139
139
135
129
125
125
121
117
112
111
111
113
114
112
114
113
111
109
111
107
104
101
98
96
95
95
95
90
92
92
84
80
80
76
73
70
73
88
102
117
134
152
168
178
183
189
191
189
189
187
187
190
190
191
191
191
190
187
189
190
194
196
196
193
189
185
185
183
184
186
186
184
184
186
186
186
188
190
192
192
192
193
184
172
179
182
178
177
193
183
200
177
178
180
190
176
188
176
182
169
181
164
161
159
156
164
175
186
197
207
218
225
234
240
246
254
255
255
255
255
255
255
254
255
254
253
254
255
255
255
254
253
253
253
244
238
231
220
213
208
204
204
204
206
207
210
218
220
226
228
233
235
237
241
244
245
247
248
250
250
249
253
253
255
253
255
254
255
255
254
254
254
252
255
255
255
254
254
253
248
248
250
249
249
247
246
246
246
244
244
243
241
239
236
233
232
227
225
222
221
217
213
211
211
210
210
212
216
220
222
226
229
230
228
228
229
232
235
239
237
232
229
225
219
214
212
210
204
194
190
180
178
181
181
178
179
178
180
183
180
178
177
170
166
166
166
164
161
158
155
153
153
158
161
165
168
170
172
177
176
175
175
175
169
167
164
163
160
159
157
152
149
147
145
142
135
131
131
133
135
140
148
149
148
150
154
153
150
150
152
148
148
150
148
149
149
150
152
149
145
143
141
143
141
135
129
122
115
108
108
108
109
109
111
110
110
109
110
108
103
99
99
99
97
97
96
93
93
94
89
87
82
81
76
70
72
83
98
113
130
150
165
173
181
188
190
189
189
187
187
187
188
192
191
191
191
188
190
192
194
198
196
193
187
185
185
181
184
186
186
187
190
188
186
187
189
192
192
192
193
193
187
173
185
180
186
175
181
180
190
196
190
178
189
169
192
187
152
179
185
159
155
154
158
166
179
184
193
205
215
221
236
241
247
252
249
251
255
255
254
255
254
255
254
253
254
255
255
255
254
250
250
248
238
234
226
223
219
213
213
215
213
213
216
217
221
221
221
222
227
230
229
233
239
241
243
246
252
250
251
251
251
253
252
252
253
255
255
255
252
252
251
253
253
253
253
253
250
246
246
246
245
245
244
244
244
242
241
241
239
235
233
230
226
221
216
218
215
217
210
207
206
209
208
211
215
220
222
228
231
236
237
235
235
232
235
237
239
239
235
232
230
226
226
223
219
215
208
204
194
189
185
182
184
179
176
179
182
175
177
172
165
163
164
164
162
161
158
154
151
151
153
158
164
166
170
173
176
175
175
173
172
167
165
161
161
159
155
152
148
148
147
142
142
141
136
136
137
144
148
155
157
157
160
162
159
158
158
159
156
156
159
161
163
163
162
161
158
155
153
150
145
148
147
140
132
123
119
114
107
104
106
107
105
105
105
108
105
102
98
98
100
98
98
98
96
94
94
91
89
83
81
77
72
71
81
94
109
126
146
161
171
179
186
188
187
188
185
187
185
189
192
192
190
190
186
188
192
195
197
197
194
188
184
183
181
182
186
186
187
188
189
188
189
191
191
194
192
191
188
185
181
186
180
195
174
176
189
186
192
177
185
184
163
190
174
162
164
174
173
162
172
167
175
188
193
201
214
221
227
235
240
244
246
248
247
250
255
255
255
255
255
254
254
255
255
254
254
253
251
246
237
230
225
225
221
217
216
216
218
219
220
222
224
222
222
221
219
222
228
234
238
240
244
248
252
251
251
255
253
254
254
252
254
253
254
254
252
251
251
251
250
250
248
248
248
247
246
246
245
243
242
239
238
238
237
236
234
232
229
225
219
216
212
207
207
208
207
206
205
206
207
211
217
225
227
235
234
238
237
238
238
238
237
237
237
240
241
241
239
237
236
234
229
224
220
218
214
206
199
198
187
180
178
174
173
168
170
172
171
164
162
163
161
156
157
155
147
149
153
153
157
165
167
165
165
168
169
170
170
167
166
164
161
158
153
150
151
149
149
146
141
137
139
139
141
141
149
153
156
161
162
161
161
162
161
162
161
162
164
165
167
169
169
169
167
163
161
161
162
160
157
152
149
143
133
128
120
114
109
105
107
106
105
103
109
106
104
102
100
100
101
101
99
96
96
94
88
86
82
79
75
71
72
79
93
107
123
143
156
168
177
182
187
189
186
185
188
190
192
192
193
190
188
187
189
192
195
197
197
194
188
183
178
178
179
186
188
191
188
188
192
193
193
193
195
193
188
186
176
169
185
184
185
185
174
179
192
184
183
176
190
189
177
164
165
178
176
174
180
173
162
175
192
202
208
216
219
225
231
236
238
240
241
242
244
246
251
255
255
255
255
254
255
255
254
252
251
251
246
238
232
231
223
219
217
218
217
217
220
223
225
224
224
223
223
222
222
226
232
238
242
244
248
253
252
252
254
251
252
252
255
255
255
252
252
250
248
246
248
245
243
242
241
241
240
240
238
237
238
237
234
234
232
230
231
229
225
220
214
209
207
205
199
200
203
204
206
206
210
208
219
230
229
228
232
237
239
239
241
239
239
240
238
238
242
245
243
239
238
240
242
233
228
226
224
220
218
209
203
200
188
182
178
175
171
165
165
164
160
158
158
158
155
155
154
151
148
149
155
157
161
161
162
162
165
165
168
168
166
164
160
157
155
151
149
150
149
147
145
141
137
142
145
150
149
150
151
158
160
163
164
164
165
165
166
165
169
169
168
168
166
170
171
173
168
167
167
167
166
164
160
157
153
148
140
132
121
115
111
109
106
105
106
107
107
106
102
102
102
96
96
95
95
95
93
87
83
82
79
75
71
69
76
90
105
121
141
152
167
176
179
186
189
186
185
188
192
192
191
193
190
186
187
189
191
194
199
197
193
187
181
176
176
178
185
187
191
190
190
191
190
192
194
195
191
181
178
173
151
168
182
181
189
188
175
191
196
180
190
194
192
180
180
141
164
177
177
179
180
171
182
195
205
213
220
224
228
230
231
233
236
238
238
239
243
247
248
248
250
255
255
255
254
254
250
248
244
242
234
229
230
225
225
223
224
222
225
225
224
224
224
226
224
224
225
224
227
230
234
242
244
247
248
250
250
252
254
255
255
254
254
254
254
253
251
247
245
244
240
238
237
236
234
232
230
228
227
226
226
227
230
230
227
226
224
221
218
214
209
201
196
195
198
197
200
207
209
212
217
223
227
232
234
238
241
241
241
241
241
241
243
243
245
244
244
246
246
245
243
246
240
234
230
228
224
223
220
213
205
198
189
184
181
179
172
163
160
156
156
154
153
153
154
151
151
148
147
152
151
155
157
159
161
161
161
160
163
161
164
162
158
157
152
152
149
147
146
145
140
144
145
152
150
152
158
160
163
165
167
169
171
173
173
175
178
177
174
173
172
168
169
170
175
175
180
177
176
177
177
174
171
169
167
154
148
140
130
122
110
108
104
107
102
102
102
102
101
96
98
97
93
94
91
90
83
82
78
77
74
69
68
73
86
100
117
135
148
161
171
175
184
186
185
185
186
189
189
188
189
187
187
185
188
191
194
198
197
195
189
183
179
177
178
183
185
188
188
188
188
194
194
195
197
190
184
186
176
165
175
174
190
186
180
171
187
191
178
188
187
183
194
156
188
180
185
174
174
178
168
180
199
205
213
219
222
226
230
227
226
226
229
231
232
231
230
235
241
243
246
245
246
245
242
240
238
234
229
228
229
229
226
226
226
226
226
227
231
229
229
227
227
227
227
227
226
234
235
240
244
248
251
250
253
252
253
255
255
255
254
255
255
255
254
249
248
247
244
236
232
229
226
226
225
226
224
223
223
221
224
223
223
222
222
220
217
217
213
206
200
198
201
199
199
199
203
207
213
216
222
226
232
234
238
241
243
242
243
241
241
244
244
242
247
247
245
246
245
243
243
239
236
233
231
228
226
224
218
211
204
195
187
182
184
176
165
158
152
154
151
151
151
151
150
147
146
144
146
148
158
160
157
156
156
158
156
158
160
164
162
157
156
154
151
145
143
143
145
145
150
150
155
157
157
157
160
166
170
169
173
177
178
179
181
181
177
177
178
179
177
177
172
171
176
184
185
183
184
184
184
180
178
176
165
160
152
141
138
126
118
106
103
101
99
98
96
95
91
95
94
89
87
85
82
79
77
75
73
71
68
65
68
80
95
109
132
145
158
168
174
182
186
186
186
186
189
189
188
189
187
187
188
188
192
195
197
197
194
188
183
180
178
178
181
183
182
184
184
182
192
197
194
190
188
187
190
172
161
171
163
179
186
170
180
192
190
173
188
170
169
174
120
184
187
172
183
175
178
174
188
201
206
210
217
222
226
229
229
226
224
223
227
226
227
226
226
225
227
227
231
231
227
226
228
230
231
232
230
230
230
232
232
232
232
232
234
232
229
229
232
230
228
232
241
237
238
239
242
245
249
252
253
255
255
255
255
253
254
253
255
255
254
252
251
245
243
241
238
234
230
225
223
224
225
225
226
224
222
221
219
217
214
216
216
211
209
205
199
197
197
196
194
194
198
205
210
212
219
224
229
233
235
239
244
244
245
244
240
240
243
243
243
244
244
242
244
243
243
242
242
238
236
232
232
229
227
223
218
214
206
200
190
187
183
174
163
153
149
150
149
147
146
144
142
144
145
145
146
147
148
150
151
156
159
159
160
157
158
158
151
150
148
147
147
145
144
143
147
150
152
157
160
165
169
174
176
178
181
185
187
187
185
185
185
180
180
177
174
172
173
174
171
171
176
180
184
181
183
181
182
180
176
169
165
159
152
142
140
128
116
102
103
99
92
91
89
89
85
85
83
84
82
79
78
76
75
73
71
68
68
70
79
93
109
127
141
155
165
176
182
185
186
186
187
189
189
189
188
188
187
188
188
191
193
196
195
190
185
184
183
181
180
180
180
180
179
183
181
188
194
194
192
188
187
179
170
146
180
167
177
177
174
189
199
193
182
182
174
187
167
148
181
178
171
172
178
186
183
194
202
207
211
215
218
222
225
226
226
219
220
218
219
218
219
223
221
223
225
223
221
219
223
225
228
227
227
227
230
231
232
232
232
232
238
238
240
241
247
248
251
253
250
251
249
248
246
247
251
252
252
255
254
255
255
255
255
254
255
255
254
255
255
251
249
247
243
238
236
234
233
231
231
227
227
226
227
227
224
223
221
216
215
211
209
205
199
196
191
191
194
197
196
199
203
206
212
220
224
227
230
234
237
242
242
243
241
239
240
242
242
242
242
242
239
241
241
240
239
239
239
239
237
234
234
230
228
225
218
213
207
196
190
184
175
166
160
152
149
149
147
143
140
140
141
143
143
144
143
146
149
152
154
155
154
156
157
152
150
150
149
153
150
147
147
145
145
148
151
157
164
166
175
178
180
180
182
186
188
190
190
189
191
189
182
178
173
174
172
170
169
168
166
171
173
179
181
183
183
184
182
177
168
164
159
156
151
143
130
118
106
103
95
91
89
87
85
84
84
83
77
75
75
77
77
74
73
71
70
70
69
73
88
102
121
137
149
162
173
180
186
186
186
187
189
189
189
190
188
188
188
188
191
192
194
194
188
184
183
182
180
181
182
182
181
182
186
185
187
194
190
185
186
183
179
169
151
182
172
176
178
186
189
200
186
181
184
163
161
151
162
171
186
176
174
191
179
177
191
205
205
208
214
217
221
221
222
224
221
218
218
217
215
215
216
220
217
217
213
215
220
216
218
220
223
224
222
222
224
226
226
232
239
239
249
252
251
251
252
255
253
254
255
255
253
253
251
251
249
251
254
254
254
252
254
255
255
253
254
255
254
252
249
249
245
243
242
240
239
232
231
231
233
233
231
233
231
231
226
224
219
219
212
205
198
192
190
188
189
187
195
197
194
203
204
214
217
222
225
228
232
234
235
237
239
239
237
235
241
241
242
238
236
235
236
236
236
237
237
237
238
238
236
230
228
227
225
220
215
211
205
197
192
178
170
165
159
151
148
148
148
148
142
140
141
138
142
147
152
152
153
155
154
155
157
154
149
147
150
149
151
153
151
145
147
150
152
157
163
170
176
178
185
186
184
190
196
196
196
196
196
194
192
185
183
176
167
163
164
162
161
165
169
170
174
177
181
179
179
177
175
171
169
164
160
156
146
135
123
110
100
91
86
86
84
83
82
82
80
76
74
73
74
74
74
74
72
71
73
71
75
84
97
115
131
146
159
169
177
181
186
186
187
190
190
190
190
188
188
187
189
191
191
193
193
188
185
182
182
180
180
181
181
181
183
187
188
192
194
192
185
186
180
178
174
176
177
186
186
176
169
177
197
190
170
191
166
167
172
174
183
195
198
197
183
184
172
181
200
205
209
212
214
216
216
216
216
218
218
217
215
216
214
213
210
208
206
203
207
214
209
209
212
213
214
215
217
221
225
232
234
243
248
252
254
254
254
255
255
254
255
252
254
255
255
252
251
251
253
255
255
255
253
255
255
255
254
255
254
252
254
252
251
249
246
243
241
238
237
233
234
235
235
235
236
235
235
232
228
225
219
211
206
201
197
191
187
182
183
188
192
194
200
203
206
209
216
218
222
227
229
230
232
230
232
230
231
234
236
232
231
229
228
228
228
228
233
233
234
237
234
235
230
227
225
224
219
214
210
205
200
193
187
176
168
156
148
146
144
142
143
146
144
142
138
137
145
150
152
153
153
155
156
156
155
152
150
151
149
149
151
151
152
157
164
163
166
172
177
179
182
187
190
189
195
202
199
201
201
198
194
190
187
185
185
174
166
163
160
157
160
157
157
160
162
165
169
175
175
175
178
176
169
164
159
152
139
124
112
104
94
89
85
82
81
79
79
76
72
70
71
72
72
74
73
73
70
72
70
72
79
93
111
125
140
157
167
175
180
186
186
187
190
190
190
190
188
188
188
188
191
190
192
193
188
185
184
183
181
181
181
179
181
183
187
187
192
194
192
187
188
179
182
175
175
171
170
181
185
185
188
174
164
166
196
176
167
186
187
195
181
178
189
181
176
161
170
189
197
203
206
209
209
209
211
211
208
204
204
201
203
203
203
201
202
201
201
204
202
205
203
202
202
203
209
208
218
225
233
237
247
249
251
251
251
252
254
253
253
255
255
255
255
255
255
254
254
254
253
255
255
255
253
255
254
255
255
255
255
255
253
252
250
249
246
246
243
237
237
234
233
235
237
237
239
239
238
234
227
221
215
208
200
196
192
187
185
185
182
188
187
193
200
199
205
209
212
214
218
219
222
222
222
221
223
223
225
228
225
225
223
223
221
221
224
228
228
228
231
231
228
226
224
222
220
215
212
210
202
196
187
185
181
171
160
153
145
143
141
141
142
141
142
136
140
147
151
152
156
156
157
159
159
156
154
151
151
152
152
154
158
162
165
168
168
172
180
189
189
190
192
193
197
200
203
205
203
201
196
196
194
188
186
183
180
176
168
163
158
157
149
149
153
156
162
166
170
172
174
176
176
172
169
161
151
139
131
121
106
96
91
88
84
81
80
78
77
73
72
73
72
72
75
73
73
72
75
73
72
77
88
102
117
134
148
164
172
179
185
187
187
188
188
188
191
189
189
189
189
191
192
194
194
189
184
184
184
181
182
184
184
185
183
187
191
191
193
195
192
184
177
174
180
175
171
182
195
183
185
181
170
175
167
193
191
167
189
168
161
196
182
182
191
174
152
165
176
184
188
196
201
201
204
205
203
206
201
200
197
197
197
204
203
199
198
194
191
193
195
194
189
195
196
196
200
207
223
225
237
242
247
249
249
251
251
255
254
255
255
255
255
255
255
255
255
254
254
255
255
255
255
254
255
255
254
254
254
255
255
255
254
252
252
252
250
248
243
243
242
240
241
241
239
239
238
240
237
232
224
216
211
203
198
192
185
183
181
183
185
186
185
189
191
199
201
204
210
213
213
210
212
214
216
218
214
215
218
219
218
218
220
222
222
222
223
226
227
229
227
225
223
223
222
220
218
213
209
200
193
190
182
178
173
161
153
143
138
138
137
140
136
135
135
137
144
148
154
157
157
157
159
159
159
160
157
156
158
161
165
167
172
171
168
169
173
178
185
188
195
199
199
203
208
210
210
210
208
200
196
194
190
186
184
177
173
168
164
161
154
145
143
150
156
160
163
167
169
169
171
171
170
171
168
160
145
134
127
118
108
100
94
87
84
80
77
77
75
76
80
81
81
83
80
78
75
76
74
71
74
83
96
111
126
144
159
169
178
185
187
188
190
190
188
190
190
189
189
189
192
192
194
194
190
186
185
182
180
181
183
186
183
184
184
189
192
194
198
195
183
172
186
184
177
180
183
186
183
180
176
182
185
210
177
184
173
185
185
170
186
195
187
187
166
134
147
157
167
176
186
192
194
201
203
202
197
194
194
195
196
196
201
201
202
195
191
187
191
191
192
194
196
198
199
199
206
228
229
238
241
243
243
246
247
249
251
254
254
253
254
253
251
254
254
254
251
253
254
254
254
254
255
254
254
255
255
255
255
255
255
254
253
254
255
255
252
246
247
247
244
245
246
243
242
239
238
236
232
224
216
211
203
197
195
189
181
179
175
178
180
185
189
191
194
196
198
202
203
203
202
202
202
203
207
208
210
210
210
211
209
212
216
216
219
219
222
229
228
226
223
221
221
219
217
212
210
205
198
190
189
182
178
172
159
147
140
136
134
134
134
131
135
137
139
141
143
148
155
161
162
159
161
163
165
161
163
167
171
170
170
172
172
173
179
178
183
188
193
200
207
209
209
209
209
211
211
214
212
208
201
197
191
181
177
173
170
170
163
155
147
147
152
153
155
161
163
167
171
170
170
169
165
164
160
152
142
133
127
119
109
101
94
85
83
80
84
94
109
107
109
111
109
111
109
107
102
87
74
72
76
89
105
121
138
154
166
174
183
186
190
191
191
190
192
192
190
189
189
193
193
196
195
188
185
184
182
180
181
182
184
186
186
186
189
190
194
198
194
187
175
175
176
179
178
172
182
177
184
183
181
175
152
177
181
175
178
166
184
189
172
182
200
181
131
141
153
156
160
167
175
186
195
197
198
193
194
194
197
202
202
203
202
202
203
196
191
193
195
194
195
198
202
207
206
214
228
232
240
242
243
244
248
250
252
252
252
254
253
254
253
250
253
253
253
249
251
253
254
254
254
255
255
255
254
255
255
255
254
254
254
254
253
255
255
252
252
251
249
249
252
251
250
247
245
240
237
231
225
219
212
205
200
196
191
187
182
174
174
177
177
181
188
188
188
190
194
193
195
197
196
197
200
204
206
207
206
206
207
212
211
211
211
217
219
226
225
224
222
222
221
221
217
214
211
207
200
190
186
183
177
177
169
152
143
132
129
123
125
127
128
130
135
138
141
153
158
165
168
165
161
163
163
163
163
165
176
180
176
175
175
178
179
182
182
187
192
199
203
207
211
212
210
210
212
214
215
212
210
207
199
193
184
176
172
170
170
163
157
151
151
150
149
152
153
155
159
163
165
165
162
159
159
155
151
145
137
136
131
121
113
105
98
93
94
112
116
125
131
141
145
143
143
148
143
136
126
114
99
91
93
97
112
131
148
162
172
179
187
191
191
191
191
192
192
190
190
190
194
195
197
196
190
186
186
183
181
182
183
183
185
185
191
191
191
191
193
191
191
183
175
179
181
180
167
187
193
188
176
194
166
159
163
163
184
188
166
177
169
182
188
192
177
123
130
140
146
150
157
171
185
187
189
193
200
198
200
201
201
201
203
204
204
206
200
198
197
200
201
202
198
200
205
204
208
215
226
233
235
238
243
247
251
251
250
245
247
250
253
250
249
249
247
249
248
250
252
253
253
252
253
253
254
255
255
254
255
254
255
254
254
255
254
254
255
254
252
249
251
252
250
248
246
243
238
235
230
220
216
212
205
202
199
191
185
180
174
174
177
178
179
180
184
188
188
190
191
191
193
194
195
197
200
203
203
203
203
201
201
203
205
207
208
213
217
221
221
219
215
215
213
211
209
205
201
198
188
183
179
175
170
165
151
140
132
127
125
124
124
125
129
135
144
150
155
156
162
157
159
161
166
167
173
176
177
178
178
178
176
187
190
191
192
193
200
208
207
207
210
212
214
214
212
209
209
208
209
207
205
200
190
184
182
178
175
165
161
159
155
155
153
155
153
153
151
156
161
160
156
154
154
154
152
153
145
138
137
135
127
121
114
111
109
114
123
127
141
145
150
161
161
159
154
154
154
153
142
129
113
109
109
112
126
143
160
169
181
188
189
193
195
194
193
193
190
192
192
194
195
197
196
191
188
185
182
182
182
183
180
185
187
191
193
194
194
195
194
188
179
177
181
180
179
171
176
172
179
190
187
183
147
160
144
173
187
186
181
175
176
176
194
185
111
118
135
140
146
154
165
175
182
185
189
198
202
200
202
204
206
207
207
209
212
211
206
203
201
203
201
199
199
202
200
204
211
219
228
236
236
239
244
247
249
248
245
245
246
246
245
242
242
242
242
244
246
247
247
247
249
255
255
255
254
254
255
255
255
255
252
254
255
255
255
255
253
253
253
252
253
250
247
243
240
237
234
230
222
219
214
211
207
205
193
186
181
180
179
180
179
179
176
177
177
182
190
191
189
188
189
192
194
198
200
202
204
205
206
206
205
206
206
207
210
212
218
217
217
211
211
211
208
206
202
197
198
190
184
171
167
160
161
147
138
133
125
123
123
123
122
125
131
142
150
154
155
157
153
154
158
169
170
177
179
181
178
180
189
186
188
188
190
194
198
202
207
210
218
214
212
214
212
214
210
210
209
208
206
203
201
195
189
181
175
171
167
165
162
158
158
156
154
152
150
150
155
159
164
159
157
154
156
152
146
140
136
135
130
125
121
121
115
118
127
129
145
152
161
164
170
175
172
172
172
173
171
165
158
136
119
122
128
130
142
156
169
179
187
191
194
194
194
193
190
190
190
193
194
195
197
197
192
187
185
179
179
179
183
183
187
187
191
193
195
195
198
194
191
176
177
180
168
180
188
178
183
180
181
184
183
149
173
145
172
178
178
190
178
171
151
187
190
90
99
112
119
128
137
155
165
176
182
186
197
202
201
202
207
209
210
210
210
213
212
208
205
206
204
202
199
203
203
203
207
210
213
218
229
239
239
241
244
246
244
241
241
239
238
235
234
231
233
237
238
240
244
244
244
248
254
254
255
255
255
255
254
254
254
253
252
254
252
252
252
251
252
251
252
252
250
247
245
241
236
233
228
222
218
215
214
210
204
197
193
187
181
181
179
176
178
182
177
177
179
179
181
185
180
182
185
193
195
199
203
204
205
209
209
208
207
207
207
206
208
209
213
215
212
207
207
205
205
200
197
192
183
174
166
159
153
146
140
133
134
133
139
130
126
127
125
128
138
145
149
153
152
157
160
166
172
177
175
177
179
190
196
191
191
188
189
194
197
200
205
208
208
211
213
215
211
211
211
211
211
209
207
205
204
202
198
191
183
177
172
167
167
168
166
164
163
159
155
154
155
151
156
158
157
156
157
155
147
142
132
134
132
126
126
128
128
126
130
144
147
154
163
175
182
186
188
187
185
183
185
180
179
179
171
156
145
147
146
148
158
168
174
184
191
192
192
192
194
192
190
192
192
194
195
197
196
195
188
183
182
180
180
182
184
188
193
193
193
196
196
195
192
189
189
179
175
159
177
178
185
191
183
186
183
174
180
177
153
182
153
193
173
174
182
163
183
182
77
87
100
106
114
126
143
160
174
182
186
197
201
203
204
210
212
212
209
211
210
208
206
206
207
207
208
204
206
206
205
207
212
217
217
217
224
226
232
232
234
232
231
229
226
224
224
226
227
229
231
232
234
239
241
243
248
252
254
254
254
254
254
251
252
253
251
250
250
247
247
247
249
250
249
250
249
248
243
241
238
239
234
229
226
222
218
216
210
205
199
197
192
182
184
183
179
181
182
178
178
181
183
183
181
181
183
190
191
195
197
202
203
207
209
209
210
211
211
211
207
207
207
206
204
199
199
199
198
199
193
187
182
174
168
164
158
152
149
147
149
145
142
141
130
130
130
131
134
142
152
154
157
154
157
165
174
175
176
178
182
182
192
192
193
197
199
198
198
200
202
210
210
207
209
213
215
211
209
209
209
209
208
202
202
203
202
199
194
189
181
172
169
165
167
169
167
167
166
160
154
157
154
149
151
154
154
152
148
140
134
130
129
127
123
126
128
131
131
137
152
161
167
180
190
191
193
198
203
203
202
198
199
199
197
192
171
167
164
167
160
163
169
174
184
189
192
192
192
193
190
190
189
191
194
195
197
196
195
188
183
181
178
179
181
183
186
192
194
196
196
196
197
187
188
190
186
173
166
181
176
182
184
189
183
190
174
188
167
144
185
186
192
164
180
180
179
185
186
74
79
91
98
107
120
129
152
166
178
185
194
199
203
207
211
213
214
212
212
210
212
210
211
208
210
208
207
207
207
204
204
208
211
213
218
215
217
218
218
218
218
216
216
217
217
217
219
218
220
230
230
232
235
240
244
249
250
252
254
254
254
252
248
251
251
251
250
250
246
246
248
247
247
247
245
243
245
243
241
239
234
230
229
223
218
212
212
211
203
198
195
194
189
187
185
184
182
185
187
189
193
191
191
194
194
194
198
199
201
202
203
207
206
205
206
207
208
208
206
207
207
206
206
203
197
197
194
188
184
182
180
176
167
164
161
157
158
153
158
155
148
146
142
137
136
136
135
140
147
154
158
158
160
160
167
173
177
181
184
185
188
188
188
194
198
196
200
200
202
204
208
211
212
211
213
214
215
208
207
207
207
205
204
202
201
201
199
192
187
181
178
173
169
166
165
167
165
164
162
158
156
161
154
148
147
149
147
141
132
128
126
127
127
127
128
135
137
142
149
162
183
185
189
197
202
204
208
209
209
212
214
214
212
214
209
201
194
188
181
178
176
177
180
186
189
193
193
193
193
190
190
190
193
194
195
197
196
193
189
184
182
180
179
179
179
184
188
190
190
196
196
196
189
188
191
180
177
168
171
180
178
178
175
186
184
190
186
165
166
199
172
170
169
163
178
182
186
172
77
76
83
91
104
113
132
133
158
165
177
183
193
197
203
208
212
213
214
214
210
212
212
212
208
210
206
205
205
203
201
201
202
204
206
208
208
210
214
215
215
217
218
218
220
220
222
223
223
225
227
229
230
238
239
239
245
247
251
252
253
253
252
247
248
250
250
249
251
250
250
248
246
247
245
244
243
240
240
238
236
230
228
227
221
213
208
209
206
197
198
198
194
189
189
186
188
193
196
192
192
195
198
198
200
201
203
204
209
211
211
211
211
212
209
211
214
211
209
208
207
207
202
200
196
196
194
191
187
182
180
175
174
167
163
159
156
157
161
158
157
164
154
153
151
148
143
146
148
154
164
170
170
169
167
174
173
176
180
184
183
189
189
192
192
194
195
198
201
204
204
203
207
209
210
212
213
212
206
205
204
204
204
205
202
200
199
195
193
189
183
180
177
173
171
166
161
164
164
167
167
166
166
163
160
151
145
143
137
131
135
133
132
137
137
138
142
146
153
162
172
183
195
204
212
215
220
222
220
220
219
216
218
220
218
218
221
214
203
191
187
185
188
183
186
189
193
193
193
193
190
190
192
192
194
195
197
197
193
189
184
184
182
182
179
179
183
187
189
190
196
196
197
193
190
176
178
179
162
179
170
184
183
182
182
164
179
182
171
161
166
177
157
180
168
172
190
195
170
121
109
81
82
91
121
122
128
139
158
171
180
186
194
202
209
213
213
212
212
212
208
207
209
209
206
209
207
205
204
200
200
201
200
202
204
207
209
211
213
219
216
221
222
223
225
227
228
225
227
229
229
231
237
239
240
246
250
251
253
252
252
250
251
251
249
249
247
245
246
245
243
241
242
240
242
240
240
238
237
231
229
227
223
218
211
206
203
201
199
197
195
194
190
190
193
198
203
198
191
193
197
197
202
203
204
206
208
211
213
213
211
211
213
214
214
213
214
213
210
207
202
200
194
187
187
187
181
184
180
175
170
166
165
164
160
160
161
166
164
158
154
154
153
157
161
162
152
160
168
170
171
177
179
172
179
178
181
183
187
184
180
195
195
194
195
195
198
196
201
201
201
200
200
201
203
207
211
202
201
200
198
199
200
195
192
191
191
188
184
182
180
179
177
171
170
168
163
163
166
167
167
165
163
163
162
157
146
144
144
144
142
142
147
149
148
145
150
160
175
188
198
203
212
219
225
229
230
231
229
226
226
224
224
224
224
221
218
215
206
193
188
188
191
189
189
192
192
191
193
193
192
192
192
194
195
197
196
191
188
186
185
185
182
179
176
180
185
189
189
197
197
197
199
193
180
167
174
170
188
171
183
174
180
175
168
180
155
184
139
181
177
164
189
179
175
184
193
175
143
133
112
88
87
113
111
120
137
148
156
170
181
190
200
205
209
212
213
213
213
211
211
209
206
209
209
204
202
202
201
199
197
195
199
202
204
206
211
214
218
219
220
222
223
225
225
229
230
234
235
234
238
240
238
240
243
245
249
249
248
248
248
248
248
247
243
242
240
240
239
237
238
238
237
238
238
237
230
227
226
225
223
218
218
211
207
201
200
197
198
195
197
202
204
206
206
206
201
204
206
206
204
203
201
204
207
211
214
210
214
215
215
217
214
214
213
212
211
209
205
200
194
189
185
182
182
175
173
172
162
162
162
163
167
168
167
169
165
163
161
157
154
158
160
166
166
164
170
175
174
174
174
181
182
187
184
188
186
185
185
183
189
199
196
193
193
197
196
198
198
199
196
196
196
198
201
197
196
194
192
192
191
190
185
186
186
184
180
182
180
178
177
175
176
175
171
169
167
169
170
170
170
167
167
167
165
161
154
153
151
151
150
157
159
155
152
156
169
183
195
207
216
222
231
236
240
239
240
238
235
231
229
226
226
226
224
220
219
211
193
191
188
191
189
188
192
192
192
193
193
192
193
193
195
195
197
196
193
190
186
182
182
182
178
178
180
185
189
191
196
196
198
195
187
180
164
173
178
181
185
185
183
182
180
176
172
184
184
121
176
190
160
179
183
185
198
182
191
157
139
120
102
91
84
96
106
121
134
147
159
171
179
190
194
200
205
206
211
210
207
206
203
200
198
199
194
194
194
192
192
190
191
193
193
199
207
210
215
216
220
221
223
225
225
225
225
228
231
235
237
239
243
243
243
246
248
246
246
246
246
247
244
243
240
240
238
236
232
233
232
232
230
228
230
228
227
228
226
223
219
220
214
215
211
208
206
206
204
205
208
206
204
202
208
212
217
216
214
213
210
217
213
204
206
210
212
211
211
213
212
210
210
209
209
209
206
204
202
201
197
191
186
182
176
170
163
163
162
163
164
170
174
176
175
170
171
171
170
169
175
165
166
164
170
173
174
178
175
171
171
175
180
177
181
184
185
186
187
185
184
187
188
194
194
194
194
195
195
198
191
191
192
191
194
191
191
191
188
190
189
184
182
182
181
181
177
177
177
177
174
173
173
174
178
173
172
174
169
171
171
175
173
173
171
171
167
163
162
162
160
159
160
162
160
159
162
175
192
206
221
228
234
238
241
243
243
243
241
238
238
236
232
227
229
224
222
217
206
196
192
189
191
189
188
190
192
192
193
193
193
193
193
195
195
197
196
193
189
183
181
179
180
177
179
184
191
197
197
197
197
198
195
185
178
177
179
170
180
195
197
183
176
176
194
157
182
192
125
183
165
177
180
189
181
177
181
187
167
149
128
110
87
76
82
95
110
119
133
148
158
165
179
186
192
197
201
207
209
208
206
201
199
195
191
186
184
184
181
181
183
180
183
185
192
199
207
212
216
220
218
220
221
222
222
223
227
228
234
235
237
240
240
242
244
245
241
243
242
242
242
238
238
237
237
235
231
230
231
229
225
224
222
224
222
222
224
222
222
216
216
213
214
212
211
210
211
212
217
212
210
213
211
215
216
216
216
216
218
218
218
218
216
212
212
214
213
213
212
208
206
205
203
204
203
202
201
197
197
194
190
186
179
175
168
163
161
161
165
167
171
169
171
173
171
169
171
167
170
171
166
165
164
168
173
174
176
174
169
170
176
177
181
180
181
180
182
183
186
183
187
186
183
183
190
192
190
190
193
189
187
187
184
182
181
184
184
184
185
184
179
179
179
174
175
175
175
173
175
173
174
176
178
176
176
174
176
174
176
175
179
180
176
174
176
174
170
171
171
169
164
163
165
164
164
168
185
202
220
234
235
239
242
248
250
249
250
248
245
245
243
239
234
227
224
220
215
207
197
191
188
186
186
186
188
191
191
193
193
193
192
194
195
195
197
196
192
185
183
181
177
177
172
179
185
191
195
198
199
195
195
196
189
185
184
179
175
185
190
189
181
184
183
170
171
178
175
162
190
193
189
169
172
196
195
191
180
177
157
131
111
89
73
73
83
96
109
122
136
146
161
171
184
189
199
204
208
213
209
207
198
198
194
189
186
183
176
174
174
176
177
175
179
183
189
200
204
207
211
215
217
220
220
224
226
227
229
232
233
236
235
237
238
241
242
241
238
236
236
236
233
233
234
231
229
228
224
225
227
224
223
220
217
219
218
217
217
215
215
215
218
218
216
212
217
214
217
218
216
220
220
220
220
221
221
220
218
218
219
219
219
219
209
212
211
211
211
210
205
206
204
202
200
198
194
190
191
186
184
181
177
174
161
162
160
161
164
165
164
163
162
170
175
173
171
170
179
173
173
170
170
165
164
166
167
170
172
169
170
170
170
175
176
180
179
180
180
183
180
182
184
185
180
182
181
175
175
178
181
178
177
175
178
178
180
181
177
177
175
179
180
177
173
174
169
170
167
169
171
170
172
174
177
177
177
176
176
176
177
179
182
184
184
181
177
176
173
174
172
166
165
165
164
165
174
196
213
228
239
241
243
247
252
252
252
251
249
248
247
245
241
238
231
218
213
208
204
196
189
187
186
185
186
187
189
191
193
193
193
193
195
196
196
198
197
190
186
183
180
176
174
170
176
183
191
195
198
198
198
193
196
190
186
189
188
184
187
193
172
175
191
182
162
168
189
184
135
181
163
187
164
187
179
197
191
189
185
164
141
111
85
67
66
74
87
100
113
125
136
149
164
174
187
197
205
209
213
212
214
212
209
204
192
188
185
178
175
175
172
171
171
174
180
190
198
203
207
213
215
219
220
222
225
226
228
229
229
232
235
236
239
239
240
238
237
233
232
232
233
227
225
225
225
223
224
216
218
218
222
222
217
211
211
211
213
213
212
216
215
218
218
216
215
219
219
224
223
227
228
228
228
227
228
228
225
224
222
221
217
217
218
215
212
210
208
208
207
202
203
203
199
197
194
186
184
182
177
170
168
167
162
158
159
159
159
162
165
162
160
161
169
180
186
185
180
180
178
182
178
171
162
161
160
161
165
164
165
161
163
164
168
176
170
171
174
174
176
176
175
178
181
181
181
180
175
173
172
168
166
165
169
171
174
173
171
169
172
170
173
176
173
173
171
166
166
164
166
169
170
170
171
172
172
176
177
179
179
180
182
182
183
186
187
180
173
173
174
172
168
168
165
163
163
174
203
220
234
243
243
246
248
254
254
254
254
252
251
250
248
242
238
228
209
200
198
196
181
182
181
182
186
185
184
188
191
193
193
193
193
195
196
196
196
196
190
186
185
182
177
176
173
177
185
194
196
198
200
200
200
199
195
193
190
182
182
187
188
172
174
186
187
186
186
191
185
164
169
171
190
189
194
191
164
181
185
187
168
144
119
97
62
55
60
77
89
100
117
129
142
162
173
181
191
198
206
211
211
211
210
211
208
203
199
193
180
173
171
171
174
174
175
179
191
198
203
204
212
215
219
222
225
226
231
233
233
234
235
238
237
237
236
238
238
238
236
235
230
229
226
225
225
221
223
220
217
215
216
215
213
210
206
205
208
210
208
209
213
213
213
214
217
219
222
223
231
231
231
234
234
234
233
233
233
233
228
227
222
218
218
218
209
208
209
209
200
202
203
203
203
199
193
188
183
181
178
171
165
161
155
153
151
150
152
159
160
161
163
165
168
176
184
187
192
188
186
187
188
178
173
174
169
160
160
159
160
156
154
156
156
161
168
164
166
168
174
176
175
172
172
176
176
176
177
172
167
167
161
162
158
163
163
163
168
165
168
165
168
171
170
172
171
167
165
165
168
165
162
164
166
170
172
174
177
179
178
179
183
187
188
188
188
183
183
177
173
174
172
168
169
164
161
163
175
202
219
233
243
248
250
251
250
252
252
253
253
252
250
248
245
240
225
203
191
186
180
168
168
170
176
180
182
182
185
190
190
193
193
193
195
196
197
197
195
194
189
186
179
177
175
176
178
181
189
193
195
198
196
197
200
193
190
186
185
182
173
183
186
169
190
179
189
187
189
179
184
185
150
188
194
186
191
187
162
173
183
163
134
113
93
71
62
57
69
80
90
109
120
135
156
165
178
188
193
198
205
207
207
207
209
212
210
205
199
190
180
179
174
177
177
182
185
192
202
208
213
215
217
220
226
226
228
232
240
240
238
238
237
234
237
238
236
235
234
231
234
231
225
223
223
223
220
220
217
216
214
215
212
210
207
199
201
204
204
205
207
211
211
210
217
224
231
238
241
245
248
247
249
244
240
239
236
236
233
232
228
225
219
220
218
209
207
204
205
202
200
200
200
198
195
192
185
181
180
178
167
163
159
154
150
147
147
156
166
164
167
170
179
188
192
198
204
203
201
196
195
192
190
181
178
171
161
156
156
156
154
155
154
157
159
163
160
163
164
164
168
171
169
172
173
170
167
167
163
161
160
160
159
154
154
153
153
157
158
161
165
165
166
165
165
164
165
167
166
166
169
164
168
170
176
178
180
182
184
184
184
183
186
187
188
186
184
184
177
174
171
169
167
166
162
159
159
172
198
218
230
242
246
246
248
252
252
252
251
251
249
248
246
243
238
223
196
172
170
162
151
154
157
169
172
179
179
183
188
192
192
193
193
195
197
197
197
195
194
189
186
182
178
176
176
176
179
183
192
195
199
197
196
192
186
183
192
191
180
178
183
172
178
191
193
175
188
178
183
180
187
165
187
159
188
182
176
165
178
177
158
136
111
92
74
65
65
63
76
88
104
114
131
147
156
164
175
178
188
202
203
210
213
211
215
213
211
208
200
197
191
188
182
182
184
188
194
202
206
212
217
219
223
227
228
230
240
241
237
234
236
236
235
233
233
237
237
235
230
227
224
221
218
218
219
218
217
218
218
216
216
208
205
200
200
199
197
201
205
207
209
210
218
228
231
236
241
243
247
250
251
254
255
255
251
243
241
239
234
231
225
219
215
207
203
197
196
193
193
194
195
194
190
189
183
181
178
174
169
166
158
154
150
147
148
152
159
170
173
176
181
189
196
201
206
210
209
205
206
204
200
191
185
174
170
164
158
150
148
149
149
147
149
153
150
150
154
160
161
163
165
166
168
169
168
169
162
159
156
156
155
150
147
146
148
151
152
155
157
156
158
157
159
161
162
163
163
163
164
171
174
176
180
179
180
180
183
188
190
192
191
189
189
185
185
182
178
174
170
165
165
162
158
154
153
152
165
190
207
225
240
243
243
245
248
248
248
248
248
245
243
241
241
232
217
189
155
151
138
136
138
144
151
162
168
178
182
189
192
194
194
193
195
196
195
195
195
192
189
187
185
181
180
178
180
183
185
192
194
195
193
191
192
192
190
186
185
183
168
188
187
180
184
195
169
187
197
178
181
187
169
160
186
186
183
186
173
181
171
146
124
108
94
78
69
68
64
62
70
86
93
110
123
143
153
161
171
184
195
199
202
209
207
211
210
212
210
208
206
200
194
190
190
190
195
196
202
207
209
213
216
219
225
226
228
240
237
233
230
230
230
229
232
234
237
233
229
227
224
219
219
214
214
216
212
212
212
211
211
209
204
200
198
194
192
193
197
202
204
210
214
226
229
233
239
246
249
254
254
255
255
253
253
252
255
247
243
239
235
228
222
214
212
202
194
190
187
185
185
186
188
184
183
181
175
173
169
166
161
153
151
150
149
150
159
164
173
185
193
198
203
211
211
215
215
212
205
208
208
204
197
185
175
167
162
157
148
143
138
141
142
143
140
144
146
151
153
154
156
160
165
168
167
165
160
156
153
150
149
151
146
146
144
146
149
148
151
150
151
153
156
160
159
157
162
162
166
169
174
179
180
183
184
185
187
189
193
196
196
198
196
190
187
182
179
177
173
165
158
156
154
152
148
143
141
153
178
198
217
234
235
237
240
241
243
246
247
245
243
236
235
235
224
207
178
141
128
119
121
123
131
141
153
162
174
180
187
193
193
193
194
194
197
195
195
193
192
189
187
183
181
180
178
180
185
187
193
198
196
192
185
185
187
187
185
184
183
179
177
172
168
178
189
163
188
180
177
188
150
169
163
172
177
176
180
186
166
159
142
125
115
107
93
85
81
71
65
64
69
74
87
106
130
142
152
162
173
183
192
198
203
212
221
223
221
215
211
207
202
197
197
197
195
196
198
199
201
205
206
207
213
219
220
222
229
227
225
225
226
226
226
227
228
230
229
226
220
221
217
211
210
210
210
208
206
205
204
202
202
200
198
196
191
193
193
197
202
209
211
221
225
231
236
241
248
252
254
254
254
253
255
255
255
255
255
250
249
243
233
225
219
215
207
199
193
188
186
187
186
186
185
180
178
178
171
171
169
167
164
160
156
152
157
164
168
186
194
202
213
213
218
218
217
217
216
212
207
207
202
191
184
173
164
159
160
147
136
133
133
131
125
128
133
137
142
147
153
155
156
165
162
162
160
158
152
150
145
144
146
143
145
141
144
145
148
150
152
153
158
160
159
159
160
160
163
166
173
175
180
181
185
188
193
195
197
200
202
200
199
197
194
188
183
175
173
166
159
156
148
140
139
133
129
130
142
160
183
204
222
226
229
235
235
237
239
239
237
234
231
227
223
208
186
142
116
112
113
115
117
124
139
151
161
171
179
185
191
191
192
192
192
192
193
193
192
190
188
185
180
178
177
179
179
184
185
192
198
195
189
184
181
189
186
181
167
163
178
168
164
180
183
186
130
177
186
180
189
172
182
163
176
172
184
189
191
171
159
142
128
119
109
100
98
96
86
83
78
67
67
68
87
104
125
139
155
165
174
201
205
205
210
217
220
219
219
222
224
207
201
200
200
196
195
197
200
199
200
204
204
208
209
208
210
221
220
218
218
220
220
222
224
223
225
226
223
216
213
210
207
205
203
202
204
204
200
202
202
202
197
197
194
190
192
193
196
203
207
215
224
226
231
237
242
249
252
255
255
255
255
254
254
254
255
255
251
251
245
236
231
224
217
205
200
198
190
192
191
187
187
185
182
182
180
178
178
175
173
168
164
162
161
166
171
174
193
201
205
216
213
219
219
219
217
213
210
208
206
199
189
183
179
168
162
158
141
132
120
123
123
125
125
129
135
137
142
149
153
153
159
160
162
159
162
153
149
147
145
148
143
142
141
143
147
146
150
154
156
158
160
159
159
162
164
168
169
173
175
183
183
187
191
196
198
200
201
203
203
199
197
194
189
181
169
166
160
154
150
142
133
126
120
117
120
127
145
166
187
206
212
219
225
228
230
231
227
225
221
216
216
207
184
166
125
106
106
107
108
108
118
133
145
157
169
178
184
188
191
191
191
191
192
192
192
192
189
187
184
179
177
177
177
179
182
184
191
198
197
189
184
183
192
189
179
155
158
181
172
167
169
176
173
148
179
192
190
173
182
189
168
183
184
178
191
177
170
159
151
143
137
129
125
126
125
121
116
109
101
86
73
83
88
108
128
147
161
188
193
200
208
210
216
219
220
220
221
221
219
203
206
204
204
201
203
205
201
201
200
206
207
204
206
206
219
211
209
209
210
212
216
216
216
216
215
215
213
209
207
199
201
196
193
193
199
197
203
204
203
203
203
202
200
198
198
203
205
207
217
224
224
228
237
245
253
254
255
255
255
255
254
254
253
253
255
252
252
248
241
230
224
220
212
204
200
197
197
196
193
193
192
189
188
183
178
176
176
171
169
169
170
167
170
173
181
201
204
208
209
215
218
218
218
218
215
205
198
197
194
185
181
176
166
161
155
142
131
123
123
121
124
126
128
132
140
146
148
150
149
154
156
160
160
157
159
152
146
144
143
137
138
138
140
142
141
148
153
151
155
157
160
161
162
165
171
174
170
181
183
189
193
197
198
201
201
203
203
202
202
198
193
192
184
171
165
159
148
147
138
131
127
118
113
109
113
127
139
161
180
194
207
214
216
218
217
216
214
209
205
196
177
160
136
111
106
104
104
106
109
117
130
144
156
169
177
185
190
193
192
193
193
194
192
192
191
189
187
183
178
175
175
177
179
183
186
194
200
195
188
185
183
192
189
170
159
158
183
164
173
165
186
167
164
194
191
173
179
182
179
181
175
178
172
189
185
172
168
164
155
153
152
155
158
160
153
143
132
119
107
89
80
84
89
114
127
149
171
186
197
208
216
215
220
222
224
225
227
227
226
216
211
209
205
205
207
204
204
202
201
201
197
195
197
195
202
200
202
200
200
210
208
208
208
208
208
204
198
196
196
198
193
190
194
200
200
207
207
206
205
205
204
204
204
204
208
210
207
213
221
225
230
243
251
254
255
253
255
255
255
255
255
254
254
254
252
247
244
241
229
223
216
211
207
204
200
201
200
196
194
193
189
188
183
178
178
177
173
170
171
171
171
169
174
182
198
203
205
206
213
215
214
215
215
215
206
202
197
195
186
180
175
169
157
152
143
132
121
119
118
124
126
127
130
138
145
146
148
151
152
153
158
163
158
157
150
147
140
139
138
135
134
136
137
139
142
146
148
152
154
158
161
160
164
168
175
174
181
186
196
200
201
202
202
201
200
200
202
201
196
193
188
185
173
162
155
151
149
137
128
123
122
115
109
111
114
122
140
164
172
183
195
196
198
198
198
191
186
179
168
148
126
120
108
105
105
105
104
109
115
132
144
155
166
175
181
189
191
190
190
193
193
192
192
190
187
187
184
179
177
177
179
182
181
188
193
195
196
190
184
184
194
190
172
174
167
172
160
177
194
173
168
182
200
193
175
197
159
180
175
185
170
175
179
171
176
172
167
161
159
167
175
171
167
158
153
145
130
117
104
86
75
72
94
113
136
160
178
193
202
210
218
222
223
223
224
231
230
231
225
220
216
217
213
211
214
210
201
201
199
195
194
191
186
181
187
191
188
188
198
203
203
204
206
207
197
194
191
194
192
190
191
199
202
209
211
211
207
205
205
206
208
210
209
210
212
210
213
228
231
240
246
252
255
255
255
255
255
255
255
255
254
255
254
253
251
243
240
231
228
220
212
210
209
206
206
206
203
201
200
196
191
186
185
181
177
173
170
171
171
171
169
171
173
198
203
203
205
209
211
212
213
213
213
210
203
199
193
188
179
172
164
153
150
139
128
125
123
122
119
124
130
129
135
140
147
150
156
154
150
150
154
155
153
150
144
145
135
135
135
135
137
135
140
140
142
147
149
151
154
159
162
165
171
173
179
184
189
193
197
199
202
202
202
203
203
202
200
196
191
186
182
174
164
154
149
148
138
128
126
122
115
113
108
108
113
123
137
149
158
165
165
166
168
167
159
152
142
130
119
116
108
99
99
99
100
100
104
116
126
137
147
163
173
180
186
190
189
190
193
193
191
191
190
187
185
180
179
177
175
181
185
185
189
192
193
194
192
188
184
188
190
173
181
185
170
171
166
182
151
173
195
199
187
170
174
181
170
185
168
169
182
184
173
166
180
174
172
182
185
185
182
177
168
165
160
143
128
113
97
87
77
66
76
102
134
159
179
198
208
212
217
221
222
226
231
230
230
226
221
217
216
213
215
214
208
200
200
193
192
188
183
181
174
171
169
176
180
184
190
197
195
193
189
188
188
188
190
191
193
197
197
203
211
214
217
215
213
211
213
214
214
218
217
217
217
223
223
240
242
246
251
255
255
255
253
253
255
255
255
254
253
254
254
253
250
240
231
225
221
216
214
213
211
209
211
208
207
205
202
197
191
184
182
178
175
170
166
167
167
165
163
168
186
203
205
203
204
206
209
213
213
211
206
204
198
190
186
176
168
160
150
145
131
124
126
123
121
118
124
128
130
135
140
141
148
149
148
144
144
149
153
151
148
146
141
132
132
134
136
133
131
134
139
141
146
148
152
160
164
166
165
171
175
179
184
191
191
195
201
203
205
206
207
207
204
200
196
189
185
180
170
162
154
144
144
134
125
120
113
114
114
109
106
107
107
117
127
136
139
135
133
133
128
128
117
115
113
111
103
95
94
94
96
98
101
107
112
125
135
143
159
169
176
183
188
189
189
191
192
191
191
190
187
182
180
178
178
177
179
181
185
190
192
193
194
194
191
185
189
187
174
181
180
180
173
156
173
162
176
189
193
187
176
188
174
186
184
184
177
184
182
181
176
189
187
190
194
198
194
186
184
181
175
168
156
145
129
113
107
94
76
67
81
107
135
159
185
193
206
213
222
222
226
227
226
230
224
226
225
218
214
210
209
205
194
190
190
188
181
175
171
164
159
157
158
158
157
159
163
171
174
174
177
181
183
188
191
194
196
199
207
216
216
216
216
217
217
219
219
221
219
220
218
221
221
223
225
242
244
252
255
255
255
254
254
255
254
255
253
254
254
251
248
244
238
227
226
220
218
217
218
220
220
221
219
214
208
208
201
196
187
183
179
176
166
166
168
165
165
164
164
172
181
192
196
199
202
201
203
203
202
200
197
190
179
171
167
162
156
146
140
134
128
124
119
118
115
123
128
130
133
136
137
136
136
142
144
141
140
142
148
148
149
138
129
129
130
132
130
131
133
140
146
152
155
158
161
165
171
170
174
182
183
183
189
195
200
203
205
205
206
206
206
202
194
189
187
184
178
169
160
153
146
138
132
124
117
112
111
113
118
121
114
114
111
114
116
119
122
114
110
108
106
104
107
107
102
95
91
92
90
95
95
98
106
112
119
131
138
150
161
172
181
186
187
189
191
192
191
191
187
182
176
174
172
174
177
176
180
184
190
192
193
193
193
190
185
185
183
180
180
182
178
182
175
156
142
184
203
176
180
187
170
166
170
183
181
176
188
180
174
176
193
190
195
200
202
199
191
187
183
181
173
163
151
137
122
115
107
87
70
72
93
126
144
172
187
197
209
212
216
221
223
221
225
226
227
223
216
213
208
204
202
197
185
180
177
173
164
160
157
150
147
147
147
146
147
147
151
158
163
171
176
181
190
191
193
202
203
210
215
215
213
216
219
219
219
220
222
221
221
223
221
219
221
223
234
239
246
253
253
253
255
255
253
254
255
255
252
250
247
244
240
235
227
226
222
220
220
222
224
224
223
221
218
214
215
208
203
191
187
181
174
166
164
163
161
163
164
163
168
168
173
180
188
196
194
196
196
192
182
178
174
165
163
162
160
157
155
149
140
134
127
120
116
115
118
126
129
124
124
126
132
137
141
140
142
135
135
142
141
135
135
124
123
125
126
131
133
138
143
151
154
157
159
167
171
176
177
179
181
185
186
189
190
194
197
198
200
201
200
198
194
189
185
182
179
173
163
157
150
145
137
130
123
121
124
122
121
123
127
119
116
118
117
117
121
117
113
105
107
103
102
98
98
99
97
94
94
92
94
97
100
106
111
117
125
134
147
157
170
176
184
187
189
191
192
190
188
182
172
166
161
162
165
169
174
178
183
188
192
192
192
187
184
185
183
181
177
179
171
166
177
181
179
160
176
210
162
176
183
184
172
198
177
187
183
172
172
163
173
198
194
195
198
198
199
197
191
185
179
169
160
152
141
132
123
111
90
78
80
88
108
128
150
173
183
196
203
210
215
217
223
221
224
222
219
218
215
210
207
205
198
187
177
172
166
162
150
146
144
142
142
141
143
141
143
144
147
153
164
171
179
188
192
201
206
208
211
217
218
218
219
221
221
221
219
219
223
224
224
222
219
221
225
234
240
242
245
248
253
253
253
253
254
254
252
251
249
248
242
238
230
224
222
223
220
218
220
221
221
220
215
213
212
211
208
203
200
192
184
180
170
163
165
163
160
161
162
161
161
164
167
169
174
180
177
176
171
164
163
161
163
165
167
166
162
160
160
151
148
139
125
117
115
112
114
119
116
120
126
134
135
138
138
141
131
129
129
132
129
125
127
128
127
129
130
137
139
146
150
152
158
166
166
168
174
175
177
181
181
185
186
188
191
191
190
194
193
193
191
189
185
180
176
174
166
157
151
144
140
140
129
124
123
129
128
128
128
126
121
118
117
114
114
117
121
119
109
107
101
99
98
101
101
101
97
96
92
92
92
98
106
108
115
119
127
142
153
164
173
181
188
188
188
190
190
186
181
170
161
155
149
159
164
165
171
181
191
193
191
189
189
185
189
185
175
184
197
172
181
173
166
169
164
175
191
185
182
197
170
180
178
188
180
181
167
174
179
177
193
193
196
195
196
197
198
196
183
182
173
166
157
151
144
132
114
94
86
86
92
104
118
137
158
176
191
198
204
212
213
210
218
219
221
219
218
216
211
205
198
192
187
178
170
159
150
142
139
139
135
133
131
135
136
138
140
142
151
163
169
176
186
194
196
203
207
210
217
219
221
221
222
222
221
222
220
227
223
221
218
216
218
222
232
238
240
241
244
249
249
249
250
249
249
250
249
247
244
239
235
225
224
224
223
219
217
218
220
220
217
213
212
212
211
210
207
204
195
185
179
173
166
164
161
159
156
156
152
152
156
162
161
167
173
177
172
171
166
160
164
168
168
167
168
164
159
157
152
147
145
135
126
116
112
110
110
116
122
123
127
128
123
124
122
123
124
124
127
126
128
131
130
129
130
135
138
142
146
153
157
161
165
165
167
172
173
178
179
178
183
183
184
182
181
186
186
185
184
182
180
173
167
164
164
155
147
144
140
141
139
133
129
125
129
131
131
131
128
122
117
119
119
120
118
118
120
117
109
109
101
101
104
105
104
99
96
95
95
98
103
107
108
114
115
123
137
150
159
171
179
185
187
189
190
189
187
182
173
165
157
159
164
170
165
169
177
188
192
192
190
187
185
187
186
178
179
171
167
175
175
161
175
172
182
199
178
156
179
184
177
187
190
171
172
170
173
178
174
195
194
191
189
191
185
196
201
186
182
177
171
167
160
151
136
119
106
101
95
89
98
113
127
142
163
184
188
193
202
207
209
213
217
218
218
219
215
210
205
197
192
182
172
161
155
149
142
136
132
133
131
130
131
134
135
135
142
154
162
167
173
184
194
194
198
205
209
211
219
221
217
217
217
217
217
217
221
218
213
210
214
216
219
223
224
232
238
239
244
246
248
249
249
251
250
251
251
248
243
234
228
224
222
221
217
215
216
217
217
217
213
212
212
211
208
203
203
200
188
181
177
167
163
160
155
154
152
156
155
157
161
166
167
170
171
174
174
171
174
176
176
169
170
168
165
163
158
152
144
142
135
133
121
113
111
113
108
111
121
125
125
125
120
122
125
126
127
129
129
130
132
133
136
135
138
141
145
151
156
154
158
160
164
166
172
176
178
176
178
182
182
178
178
177
180
178
178
176
174
172
164
160
155
152
146
140
140
136
132
134
136
138
131
131
130
132
132
128
121
120
118
122
127
128
121
122
115
117
110
103
104
106
108
105
99
95
96
102
107
114
112
110
114
118
127
135
145
155
167
177
183
185
187
190
191
188
186
180
176
173
173
177
175
173
175
178
188
192
191
187
183
183
182
187
182
168
171
170
178
180
150
174
186
171
190
179
164
157
170
181
187
187
171
170
172
173
158
167
187
185
182
182
178
179
183
187
185
181
176
169
162
152
144
132
124
111
106
100
92
89
102
117
133
144
165
175
188
198
206
209
212
213
212
213
214
213
209
204
196
188
174
165
157
152
145
137
133
131
129
128
126
129
134
136
138
143
150
162
168
176
186
194
194
197
203
204
208
212
214
211
216
211
211
210
210
211
211
210
205
209
211
211
215
218
226
235
237
245
248
248
248
247
247
247
243
243
241
242
244
229
224
222
219
212
212
214
217
217
216
213
213
213
211
208
203
202
196
188
181
173
166
162
157
153
150
150
151
150
158
162
164
167
166
168
173
174
178
178
178
180
174
172
166
162
160
155
150
142
138
134
128
127
116
111
109
109
111
113
117
119
121
124
124
122
125
127
134
132
132
134
134
136
137
142
145
148
152
157
155
159
162
160
162
164
170
168
171
172
176
177
177
177
176
177
175
171
167
167
162
158
154
148
145
143
144
136
139
140
145
142
142
133
129
125
125
124
123
119
120
117
118
122
131
130
126
117
118
114
112
110
112
111
109
104
99
105
116
123
130
121
119
112
118
124
132
142
151
164
173
180
185
187
188
189
187
186
184
180
179
179
179
175
178
178
182
188
192
190
187
185
184
186
190
182
165
172
174
174
169
160
180
197
183
182
169
185
178
185
164
161
174
183
171
177
176
167
168
189
185
177
171
161
157
159
164
174
173
171
167
161
154
155
144
139
125
119
110
99
94
91
105
122
137
150
167
176
186
191
196
208
211
212
208
209
207
202
196
189
179
165
160
159
156
145
135
132
129
126
128
127
137
141
144
149
148
154
163
170
179
182
189
191
192
196
202
202
209
210
207
206
202
202
202
202
205
204
204
204
204
204
201
205
212
221
228
240
242
245
245
244
245
245
245
242
242
240
239
232
231
228
220
213
209
209
209
213
213
213
213
213
210
210
207
202
197
194
188
183
176
168
164
162
153
150
150
153
157
162
162
168
165
167
173
177
176
178
182
184
181
179
176
172
164
156
158
148
142
137
132
128
123
119
108
107
110
119
122
120
124
119
122
126
127
127
131
137
133
131
134
134
136
132
140
147
149
154
154
156
160
162
165
166
163
165
163
162
167
174
175
176
174
173
174
171
170
168
165
159
160
156
153
150
146
148
152
153
150
148
150
146
137
131
126
124
121
122
118
120
118
115
118
125
130
126
114
108
118
123
120
117
121
124
124
125
130
136
143
146
135
123
120
125
130
140
147
149
160
170
178
185
187
188
188
186
185
183
181
177
175
174
173
173
175
177
188
190
191
191
188
186
185
189
184
175
166
172
172
172
174
181
192
169
168
177
176
186
179
192
183
192
173
176
177
168
174
183
185
174
161
150
141
136
137
137
141
151
171
168
165
165
161
155
153
143
135
124
109
103
96
87
104
120
141
150
167
181
181
182
193
197
199
198
200
198
197
189
179
166
162
158
155
149
146
137
133
131
128
134
136
136
137
141
148
149
153
159
167
175
183
191
193
196
196
195
197
200
203
202
197
195
193
194
192
194
201
203
206
204
204
199
201
206
216
223
231
235
239
239
241
242
242
244
241
240
238
236
233
227
228
220
209
206
208
208
209
209
210
210
210
208
210
207
204
199
195
187
184
178
172
168
164
159
158
153
156
164
165
166
170
170
168
171
175
177
179
181
181
180
175
174
171
162
154
155
146
141
141
139
133
129
124
116
115
120
128
127
126
128
122
131
135
137
137
139
144
139
142
142
136
141
140
145
151
153
155
156
157
162
165
167
166
162
166
163
163
168
175
174
175
175
173
165
164
166
166
165
160
163
161
162
155
153
153
159
156
158
156
151
147
137
135
130
127
123
120
122
123
120
121
121
121
126
124
109
108
118
131
140
140
143
150
157
158
158
162
166
171
159
146
136
136
136
139
146
150
157
165
174
183
186
187
187
187
185
182
180
176
172
170
168
169
171
177
185
187
186
190
188
186
184
188
190
181
177
174
176
168
173
170
183
171
166
194
192
169
188
176
174
193
185
176
170
174
178
186
200
193
172
145
134
126
129
126
129
134
146
157
160
164
166
162
156
149
142
138
130
118
109
95
94
103
127
136
148
158
171
175
178
184
184
188
190
189
183
179
172
164
158
156
152
149
144
140
136
133
138
142
140
140
138
139
139
148
151
153
162
168
176
184
190
193
195
196
197
196
198
196
194
192
191
186
184
185
194
195
197
200
200
197
198
203
211
222
226
228
230
236
237
240
240
240
240
238
234
235
231
223
215
213
203
203
203
206
206
206
206
205
205
205
204
203
202
197
193
189
186
181
175
172
168
166
161
159
160
171
171
168
171
171
172
171
175
181
181
181
181
176
174
171
167
162
157
160
153
150
148
146
142
141
133
132
134
132
136
143
132
129
127
138
149
155
154
156
159
156
155
150
145
150
155
158
162
163
162
164
165
165
168
167
169
168
168
171
174
176
177
179
180
181
171
166
173
174
175
174
167
165
165
161
163
163
164
165
165
158
156
152
149
145
141
132
126
120
118
125
125
124
122
122
122
124
123
116
118
133
146
157
165
172
177
181
184
186
190
190
190
186
177
164
157
151
146
147
150
156
164
171
181
185
186
186
186
184
181
178
177
173
171
168
166
170
173
182
184
182
185
187
187
186
183
182
168
166
163
172
180
172
187
183
172
159
192
178
165
180
189
195
179
168
174
167
183
190
192
195
185
170
170
168
132
119
117
132
141
153
164
167
165
169
172
165
166
164
163
161
156
145
127
105
101
115
124
139
151
154
160
165
170
172
174
178
179
174
173
172
165
159
157
154
150
143
139
140
140
147
146
141
143
137
137
135
141
146
149
154
161
169
174
177
182
186
188
191
193
196
191
188
188
183
180
181
181
186
190
189
191
191
191
192
197
204
219
223
224
229
231
233
237
237
238
239
235
231
227
224
214
213
206
197
200
200
200
198
198
199
198
198
200
203
203
200
195
191
189
188
182
177
174
171
167
165
163
165
173
173
171
174
171
171
171
175
181
183
183
183
181
177
176
174
171
170
172
159
152
151
146
145
143
137
139
152
155
159
162
150
144
146
150
168
170
170
178
178
170
170
168
166
166
169
174
173
176
170
169
173
173
175
175
177
177
177
175
181
186
185
185
186
182
179
185
186
187
185
177
161
166
171
176
173
175
176
169
167
164
160
161
153
146
141
138
132
126
120
115
112
114
125
129
132
143
140
136
144
153
162
175
187
192
198
200
201
200
202
204
202
198
195
187
183
177
162
153
148
151
161
170
181
185
186
187
185
184
181
178
177
175
173
170
164
166
172
181
183
181
180
184
186
190
193
178
165
171
171
176
181
178
186
182
175
172
182
175
175
172
189
180
186
191
186
174
176
180
173
189
178
162
151
149
150
150
127
129
144
159
177
178
180
183
183
185
185
183
185
176
170
161
150
153
146
116
119
127
140
148
150
156
162
166
171
173
173
171
170
169
162
159
157
152
144
138
135
136
138
142
139
139
140
138
138
135
137
138
141
146
151
159
164
170
181
179
181
184
189
189
186
186
183
175
176
177
180
185
183
181
182
182
181
190
192
190
209
219
220
223
225
228
229
231
231
232
227
226
225
218
213
205
198
192
187
189
187
190
192
194
197
199
197
197
197
195
193
191
189
187
184
181
174
172
169
166
164
166
172
172
172
172
169
172
175
180
180
181
181
180
182
185
183
185
183
181
178
166
163
155
146
143
143
150
152
164
176
177
175
163
166
168
169
179
184
188
195
193
183
182
183
180
183
184
184
179
183
180
179
181
183
182
181
187
184
183
184
187
194
194
197
193
188
193
198
196
192
185
175
182
186
190
190
191
187
183
183
183
184
175
166
158
155
156
147
140
135
133
128
126
136
153
164
170
169
169
167
174
180
190
201
203
206
208
207
209
209
208
207
203
203
203
199
197
192
177
157
144
148
160
169
178
184
186
187
185
182
181
178
177
176
175
172
170
170
171
182
184
183
182
182
183
188
188
181
167
174
174
176
176
164
170
181
174
167
172
154
178
144
193
180
169
173
176
162
168
175
176
187
179
163
159
159
164
170
167
151
157
170
185
194
198
199
197
198
193
187
181
177
175
169
159
149
144
146
120
118
128
144
147
156
161
162
168
168
169
166
167
166
161
158
154
151
143
138
140
138
140
142
142
142
140
138
138
137
140
140
140
143
148
153
158
165
174
178
176
174
180
179
178
181
179
175
173
173
175
179
179
177
175
175
177
187
185
185
193
209
211
221
223
224
224
224
226
227
226
219
215
212
207
201
195
190
184
182
182
182
184
186
188
190
191
191
191
191
191
189
188
188
186
183
176
172
169
168
162
162
166
168
172
175
175
174
175
178
178
179
179
178
181
183
182
181
181
178
173
166
159
157
151
157
163
164
174
180
191
190
182
178
182
183
183
191
196
200
201
198
195
193
197
197
196
194
190
189
196
196
194
194
198
197
193
195
195
194
197
202
207
209
210
206
208
208
206
208
204
201
207
214
215
214
210
209
208
204
204
201
197
189
180
182
183
183
178
174
171
177
178
178
186
197
205
207
202
198
196
200
209
214
219
218
216
217
217
218
220
219
214
210
205
204
206
204
200
186
175
161
159
164
172
178
184
186
186
183
180
177
175
175
175
177
175
175
175
176
183
182
181
182
182
184
185
186
176
167
173
165
187
193
171
169
174
176
172
178
179
168
169
176
178
182
183
175
161
165
167
181
189
181
175
175
177
184
181
186
173
180
188
193
198
202
207
209
205
195
188
182
174
169
169
162
156
147
140
136
113
120
127
132
145
150
156
160
159
154
156
154
156
155
153
150
146
147
144
143
143
143
142
141
141
139
136
135
135
141
141
139
141
141
147
156
161
169
169
169
166
170
172
174
173
175
176
179
184
185
184
180
175
173
173
179
176
174
175
182
191
206
207
209
212
216
222
220
219
219
219
212
211
206
199
195
190
186
184
183
184
184
184
187
189
193
197
198
197
197
197
196
191
186
180
175
170
169
166
164
159
159
160
174
172
172
175
175
178
179
178
179
181
186
184
180
181
179
172
164
162
156
160
163
171
179
184
188
194
196
193
192
190
198
197
198
203
204
209
206
204
205
206
208
206
204
204
202
203
203
205
204
204
206
205
206
207
208
208
210
217
216
218
218
218
217
219
222
221
221
221
223
224
226
226
225
229
231
230
226
224
225
222
222
222
223
221
222
222
222
221
221
221
223
227
226
224
220
220
219
221
224
225
226
222
223
224
223
222
223
221
220
219
215
216
214
212
211
206
205
200
187
189
189
192
192
192
192
187
181
180
178
179
178
179
178
179
181
183
183
183
176
181
183
184
182
178
162
164
165
171
211
137
158
172
175
159
172
182
196
175
173
167
174
181
175
173
171
171
174
184
201
197
191
188
192
197
196
198
190
189
196
200
202
206
209
207
201
191
185
180
172
162
158
148
145
141
139
139
129
114
117
124
131
137
145
152
157
152
150
147
149
150
152
150
149
149
148
146
146
144
143
142
142
141
138
138
135
141
141
141
141
142
147
150
158
164
166
166
167
166
168
168
169
169
173
179
183
186
179
175
174
173
173
176
180
181
180
178
180
183
203
201
205
209
213
215
214
214
214
212
209
205
199
195
192
188
188
187
188
186
186
189
202
199
199
199
196
195
195
191
187
182
180
175
170
166
164
160
155
156
160
169
166
166
170
175
178
182
182
185
186
184
182
182
179
176
172
167
164
164
170
179
183
190
198
205
204
200
199
203
204
206
204
202
204
208
208
207
206
206
207
208
210
210
211
211
209
208
209
208
206
208
209
210
210
210
213
215
218
215
217
216
220
219
219
222
221
219
223
223
225
224
226
229
228
231
233
234
234
235
233
233
233
232
232
231
234
234
232
231
231
229
231
229
228
228
228
226
226
226
225
226
223
224
223
222
219
220
218
218
218
216
215
219
217
219
219
218
217
213
216
213
214
217
219
214
213
211
206
209
207
205
205
199
195
192
190
197
195
189
189
191
188
180
183
180
161
168
175
206
174
143
166
189
162
171
174
177
177
187
176
192
180
177
169
176
178
165
190
211
209
206
208
203
198
201
205
196
197
201
202
205
209
209
204
198
190
182
177
170
165
156
138
128
125
124
120
122
106
112
119
129
132
138
145
152
149
145
145
146
148
150
152
151
145
145
145
143
141
140
142
142
142
140
140
140
140
140
142
139
143
145
148
155
161
162
164
161
161
159
160
164
162
161
166
172
176
176
172
172
175
171
172
176
182
181
180
184
181
180
182
191
200
206
212
214
213
208
205
203
201
198
196
196
195
191
191
189
188
187
192
191
194
195
195
194
190
186
184
182
179
173
173
168
163
160
156
156
155
157
163
165
167
174
184
189
191
189
187
188
189
187
183
182
180
178
173
171
173
183
191
194
197
204
208
207
207
208
205
203
202
204
204
204
205
205
202
204
204
204
205
206
207
210
208
208
209
207
204
206
208
209
207
209
210
210
214
214
213
215
213
218
218
218
218
216
215
216
218
218
218
218
221
221
224
226
230
232
235
233
233
232
229
229
227
229
229
226
227
227
226
225
225
225
227
225
223
223
225
225
224
222
220
218
216
216
215
212
211
209
207
207
210
210
209
210
211
214
219
221
222
222
224
227
231
231
229
231
231
231
231
231
229
224
222
223
226
226
225
223
219
210
197
184
169
161
170
171
172
170
171
163
149
143
180
176
173
178
183
186
181
178
181
167
172
180
186
182
216
214
202
204
201
198
194
198
198
198
197
202
204
207
210
203
197
187
178
172
163
157
150
136
125
114
111
111
103
99
109
112
120
128
130
135
138
141
139
142
144
144
144
146
145
143
142
142
141
139
138
139
140
143
143
143
141
142
142
141
136
135
140
145
148
154
160
160
157
151
151
151
157
155
152
156
159
169
171
169
170
170
171
170
172
175
177
176
175
172
178
183
187
189
195
199
207
208
206
204
203
202
200
199
197
199
197
196
192
190
197
194
194
195
196
196
193
188
184
182
178
175
169
168
166
162
158
158
158
156
158
163
165
170
180
188
192
196
192
190
191
193
188
185
182
183
181
178
177
185
194
204
205
202
205
205
204
202
202
203
199
196
196
197
201
203
200
204
205
197
197
200
203
206
206
206
210
208
210
207
208
211
210
209
209
211
211
215
216
212
214
215
214
217
214
216
214
215
216
216
216
217
216
217
216
218
221
219
223
226
227
227
227
223
221
218
219
219
218
217
217
217
216
216
217
221
219
218
216
218
214
214
214
212
209
207
208
205
206
203
202
200
199
200
200
203
204
207
208
215
216
217
219
223
226
227
229
226
228
228
230
230
230
229
231
229
228
227
227
225
221
210
195
180
184
155
158
169
174
152
155
161
168
169
144
159
167
167
189
179
166
178
166
173
165
174
176
175
181
214
210
206
207
202
198
192
188
187
185
189
192
192
195
197
197
193
177
169
161
154
146
136
124
121
115
112
106
99
96
108
114
119
122
123
127
130
132
130
129
131
136
139
141
141
141
143
144
142
141
141
139
139
142
142
142
140
138
134
133
134
133
135
137
141
146
149
153
152
150
148
144
144
142
142
143
143
145
157
164
162
167
170
176
175
178
174
174
170
171
179
182
187
190
196
199
205
209
212
212
212
210
205
201
201
202
200
200
194
194
199
193
195
197
198
198
193
187
183
179
178
173
169
168
165
164
157
158
157
163
165
165
170
178
184
191
196
195
195
192
191
192
190
185
185
185
187
185
190
196
200
208
206
202
202
202
200
197
197
199
192
194
199
197
198
199
198
201
200
199
196
198
198
200
201
204
207
206
208
208
210
211
208
212
209
209
209
210
209
210
211
211
212
214
214
212
212
213
216
216
215
212
212
211
211
212
212
214
217
217
218
220
220
217
215
212
212
210
210
208
209
210
209
208
208
208
206
205
203
203
202
201
199
197
196
198
200
200
195
191
190
191
190
190
196
196
197
199
202
208
209
209
212
214
217
218
220
221
225
226
226
227
227
227
228
226
221
216
209
205
190
183
177
149
127
124
157
169
174
164
176
152
159
175
147
167
174
173
169
180
169
188
160
174
169
171
176
177
183
208
207
203
203
193
190
183
174
180
179
177
180
181
181
187
185
181
168
156
150
138
133
123
116
115
115
111
102
95
96
104
115
120
118
122
122
126
126
125
124
125
128
133
137
139
140
141
143
143
142
143
140
140
142
139
139
139
137
135
132
132
134
133
131
134
140
143
143
141
141
139
137
135
131
126
130
123
129
147
152
158
162
168
170
178
175
185
182
177
174
180
185
188
195
201
206
212
214
215
216
214
210
208
205
202
204
204
202
200
200
199
194
196
196
196
194
190
184
182
178
176
171
169
168
165
161
155
153
153
161
166
169
175
180
186
193
195
195
194
191
190
191
192
189
190
193
197
196
202
202
204
205
201
200
197
197
193
193
196
196
192
193
199
202
201
197
201
200
199
200
199
197
200
200
200
205
209
205
208
207
211
209
207
209
207
205
204
206
206
206
205
207
208
210
209
208
211
210
213
213
212
212
210
210
211
209
206
206
206
210
211
215
214
210
208
206
203
201
200
198
195
193
190
187
189
191
191
189
189
181
181
177
180
181
185
187
187
184
179
182
179
177
178
179
184
182
182
186
194
197
196
195
198
199
203
206
208
211
214
217
219
220
222
226
228
225
222
220
217
212
207
205
193
154
102
89
155
167
169
162
166
160
145
153
178
178
159
177
156
171
176
187
185
166
171
178
173
173
166
215
205
193
186
187
183
175
169
168
169
169
169
168
168
162
169
171
162
149
139
125
116
109
105
106
104
104
100
96
95
101
109
114
117
119
120
117
118
119
119
119
119
118
124
133
136
140
142
141
141
141
141
141
141
140
140
140
140
134
129
127
125
126
131
131
133
136
136
134
132
128
126
123
124
119
107
115
129
151
157
162
166
169
172
171
177
182
184
184
183
181
185
193
199
207
215
216
215
216
221
220
220
217
210
208
205
203
202
198
198
203
197
197
195
188
186
183
183
179
175
174
174
170
164
160
156
152
153
159
163
168
167
173
183
186
189
192
195
192
192
190
189
189
193
190
194
200
201
203
204
197
195
196
197
197
195
194
192
191
195
192
194
197
198
199
198
197
201
199
200
202
202
202
202
202
203
202
206
206
205
205
205
204
204
204
204
203
202
203
207
205
208
207
207
206
207
209
208
205
207
209
210
210
208
205
204
204
203
200
203
204
207
207
204
203
196
193
185
181
180
175
172
174
172
172
169
166
159
157
153
157
163
166
168
167
169
168
164
167
163
158
160
160
164
162
164
165
169
174
177
173
175
179
184
188
191
196
201
204
206
210
213
219
220
221
221
221
221
217
211
201
199
187
148
101
85
159
160
160
156
156
151
158
176
165
173
163
160
159
172
178
197
178
165
169
172
177
174
156
199
193
190
188
186
184
170
166
158
159
163
161
153
148
144
140
139
143
138
133
124
116
106
100
100
98
92
94
95
95
97
101
105
108
112
114
110
110
110
111
109
110
110
117
125
128
126
131
134
136
139
137
137
140
139
139
139
137
133
128
124
122
123
122
126
126
127
125
122
124
122
118
116
115
109
105
123
134
149
159
157
168
168
171
172
178
179
184
185
187
187
191
198
200
202
210
218
217
216
216
218
219
218
217
210
207
206
200
199
197
201
194
192
190
185
182
178
175
173
172
172
172
165
161
157
152
152
156
164
166
165
171
175
181
185
188
189
192
191
194
193
193
196
199
199
201
204
205
197
193
193
191
192
190
195
194
197
192
191
192
192
195
196
199
197
199
199
201
205
198
202
203
203
202
202
200
200
203
201
201
201
199
200
199
201
204
203
196
201
206
204
200
202
202
201
203
205
212
207
200
202
204
204
200
197
203
201
203
202
199
201
201
202
196
193
184
176
175
171
167
159
159
162
148
145
142
143
137
131
132
137
140
143
149
148
150
150
148
146
143
138
142
150
152
151
148
151
155
156
158
161
162
166
171
167
174
185
185
194
201
204
207
211
212
206
208
205
199
200
195
186
178
162
114
74
70
149
153
161
150
150
159
142
172
161
167
174
156
164
185
165
178
175
157
170
164
165
170
173
185
182
177
170
167
161
158
159
152
143
138
143
139
142
126
123
115
110
110
107
100
96
93
91
89
91
92
94
94
95
97
96
98
99
101
99
101
101
100
103
103
103
104
109
116
120
120
125
127
129
133
134
134
138
136
138
135
133
129
126
126
126
124
120
120
117
118
117
115
112
113
110
110
114
119
128
136
141
158
161
168
166
172
174
176
179
179
183
192
196
197
200
200
203
207
211
216
220
219
214
214
213
215
212
209
201
199
195
192
190
188
186
184
183
186
173
172
170
168
169
164
162
159
155
155
153
153
156
165
171
172
179
180
185
184
190
190
188
191
193
197
199
202
203
201
200
201
199
198
194
190
186
187
190
194
194
192
192
194
193
196
198
199
202
202
203
203
201
203
201
202
203
205
203
195
200
200
197
203
202
203
201
199
202
204
203
201
197
200
201
199
200
204
206
209
210
212
211
208
198
194
204
205
199
192
199
198
201
200
200
201
195
196
194
190
187
180
177
160
142
136
144
149
138
140
129
127
123
117
120
118
122
127
134
133
132
131
131
129
128
137
135
143
150
146
140
141
145
146
149
153
156
160
161
162
165
168
172
179
188
193
197
205
201
190
179
167
159
167
144
144
134
106
75
65
71
150
158
157
129
140
165
135
185
174
181
168
172
176
181
170
177
170
162
177
180
172
175
161
169
165
161
157
151
137
138
135
133
127
126
168
145
130
123
117
111
100
100
101
96
96
90
91
93
93
95
94
94
96
97
97
94
96
98
97
97
97
98
101
101
100
102
105
113
113
117
119
121
123
127
131
129
135
134
134
132
129
127
125
124
122
121
117
117
116
115
113
114
110
111
110
112
113
113
132
147
155
156
166
165
173
173
182
181
183
182
183
193
202
200
198
198
202
208
211
213
215
219
214
211
209
211
211
205
200
196
191
186
183
179
174
179
179
179
173
167
166
164
162
156
153
149
145
151
157
154
152
157
163
170
176
183
188
189
194
194
193
193
197
199
202
199
194
195
191
191
192
192
191
188
185
185
186
188
191
187
190
192
192
194
196
197
197
198
203
203
202
200
201
202
203
205
203
201
204
199
201
202
199
198
194
200
200
195
197
196
194
192
199
202
211
214
216
212
210
212
208
208
201
197
199
202
197
184
183
192
192
198
201
201
199
197
194
195
196
191
190
182
171
164
158
159
146
148
133
132
123
124
121
126
134
131
131
135
131
134
136
141
139
136
134
138
138
143
141
141
140
142
142
146
146
149
148
145
149
157
160
160
173
176
190
200
198
187
185
184
170
157
129
112
91
79
87
78
79
146
155
161
150
155
169
180
176
169
175
164
160
164
173
183
175
177
175
183
173
163
175
175
153
149
143
135
128
122
123
119
115
113
118
128
141
128
126
126
120
113
111
110
104
98
92
96
94
94
94
93
94
96
93
95
95
94
94
93
96
96
94
95
95
95
97
100
103
107
109
112
114
118
121
124
128
130
130
132
130
129
127
124
121
120
118
115
115
114
114
116
118
120
121
124
125
127
137
148
159
163
158
159
171
179
186
186
191
185
186
189
192
198
198
193
200
204
208
211
212
212
212
212
214
210
209
206
210
193
183
179
176
172
166
163
163
167
166
164
162
157
153
142
136
138
137
142
147
148
149
154
153
156
162
172
179
184
186
189
192
193
197
199
199
199
193
190
186
187
185
184
184
185
187
187
185
183
185
187
185
189
194
191
193
196
193
195
194
200
202
200
201
201
201
198
200
201
200
202
199
199
199
201
198
200
197
200
198
197
196
198
202
206
211
211
213
215
209
207
210
206
203
202
195
199
196
192
178
167
175
183
191
195
202
197
194
194
199
201
202
203
196
193
185
181
176
180
180
168
158
159
154
133
158
152
139
139
143
140
134
133
139
145
138
136
138
142
144
145
140
138
135
138
140
139
134
135
134
143
143
152
163
172
172
176
188
187
174
180
181
172
167
141
137
110
74
68
53
75
136
139
127
117
138
166
177
179
182
177
161
165
171
160
166
166
170
173
182
181
171
179
184
135
128
124
120
117
110
108
109
117
115
115
120
125
127
127
117
117
119
124
137
142
109
104
100
95
93
94
96
96
97
96
98
96
91
91
90
91
89
90
93
93
93
92
93
98
104
106
111
116
116
117
121
123
125
124
124
127
127
125
123
119
117
118
114
114
113
117
126
126
128
130
132
138
140
146
151
160
165
163
166
174
178
183
193
192
194
190
190
190
194
196
194
200
201
200
207
208
210
213
213
213
210
203
201
198
187
180
167
163
157
154
154
151
153
153
151
150
148
142
138
132
136
138
144
143
146
145
152
151
158
162
168
172
179
184
188
190
194
199
201
197
195
184
181
179
179
183
184
186
187
183
185
189
185
187
190
192
192
191
193
193
196
195
195
199
200
202
199
198
202
197
196
201
199
200
200
199
199
198
198
197
197
199
202
200
203
204
208
207
208
211
208
211
209
208
209
207
205
204
202
198
204
206
190
178
160
172
177
181
194
192
196
196
190
194
199
204
201
200
195
188
191
186
190
194
196
189
185
174
184
178
176
156
162
155
145
151
142
148
141
143
150
140
149
145
143
142
141
138
134
138
135
133
133
135
133
137
138
140
149
157
168
176
177
165
168
167
154
140
141
144
127
86
68
53
74
141
142
144
136
147
170
174
177
180
173
153
177
152
176
165
168
169
179
203
167
165
189
189
128
124
122
120
116
110
112
114
119
118
118
124
127
125
125
125
123
123
121
128
135
112
106
104
107
103
98
98
99
97
95
95
95
94
94
94
92
92
90
92
93
95
96
98
101
100
102
105
109
114
114
116
121
120
119
121
122
121
121
120
119
119
116
117
119
122
129
134
137
141
145
149
152
154
158
164
165
170
175
180
179
182
185
191
191
193
194
190
187
189
192
195
196
197
199
202
205
207
206
204
204
203
196
187
183
192
168
160
154
146
147
144
142
140
140
138
135
133
133
131
127
129
136
142
142
146
146
151
158
158
162
167
171
181
185
184
186
193
198
201
194
190
181
179
178
180
182
183
183
183
185
188
188
188
189
187
192
194
194
193
191
194
196
199
199
199
201
198
197
202
199
200
197
198
203
197
198
199
194
196
205
198
201
205
203
209
204
204
210
210
207
205
210
208
210
209
209
206
203
204
201
207
204
187
173
169
175
171
180
193
192
191
190
191
199
199
196
199
199
197
187
190
182
188
200
203
208
206
199
205
200
197
193
189
182
174
162
156
159
155
155
155
154
162
143
137
139
137
135
137
135
134
135
144
150
155
158
159
145
147
152
156
161
166
158
151
146
139
129
127
128
119
87
46
30
78
136
130
153
157
164
171
164
185
173
178
173
169
145
178
167
163
159
178
195
172
166
184
185
132
127
124
121
117
114
116
118
124
124
124
124
128
128
129
129
129
132
126
127
122
115
111
109
113
115
100
100
98
97
95
93
95
96
94
92
92
92
92
94
93
96
97
99
101
102
102
102
105
107
111
112
114
117
117
117
118
117
115
115
118
118
120
121
123
128
136
141
147
148
154
158
158
164
163
169
170
176
179
183
187
187
189
192
193
195
193
190
188
186
193
193
195
197
197
201
203
203
201
198
194
197
190
190
186
169
164
156
147
143
138
132
130
126
126
124
121
122
120
121
118
126
129
141
144
144
142
145
157
156
164
170
172
178
182
186
189
194
194
194
188
187
178
175
177
177
179
183
181
181
184
192
186
186
186
186
187
189
189
190
196
197
200
197
198
197
196
195
196
195
202
197
192
197
194
198
196
199
200
204
204
206
205
208
203
205
208
204
207
210
206
214
209
208
211
212
210
206
198
200
208
205
192
190
187
187
156
174
176
183
193
184
190
192
192
195
197
197
185
183
180
180
176
189
191
202
210
203
200
204
205
201
197
198
195
197
197
189
192
190
192
181
183
179
168
158
148
142
133
128
127
140
156
160
177
183
195
199
195
205
209
208
206
202
194
170
142
131
123
108
95
75
62
40
34
92
143
137
141
152
146
163
156
179
176
171
154
171
159
163
160
170
170
188
190
164
164
183
184
132
128
124
119
118
115
118
121
131
126
128
131
136
140
141
139
139
138
139
130
124
118
112
111
111
109
103
102
102
100
97
94
93
95
95
94
97
97
98
96
101
101
101
101
103
105
105
103
104
104
106
107
107
112
112
114
115
115
113
116
115
118
123
124
124
127
142
147
152
154
155
163
166
166
167
176
178
179
180
185
187
188
188
187
185
188
189
187
186
183
179
182
192
193
193
193
189
191
189
181
188
182
180
170
178
161
153
137
138
128
123
121
119
116
112
111
114
108
109
113
112
117
120
132
141
142
143
144
148
152
158
170
175
180
182
185
191
194
194
190
183
181
174
175
177
179
177
177
180
184
184
187
186
184
188
188
188
188
192
192
199
199
198
196
198
196
193
194
194
195
196
194
191
193
194
193
204
202
201
203
204
203
202
206
204
205
205
206
205
211
202
218
217
212
213
212
205
203
198
203
206
199
186
195
187
172
166
172
180
187
183
186
190
189
186
186
188
184
181
178
177
175
170
185
192
197
198
204
201
205
200
193
193
197
198
198
196
206
209
210
215
214
215
209
209
208
205
205
205
203
201
206
218
220
223
221
216
216
218
220
220
219
219
220
221
212
209
185
155
127
79
53
55
48
57
103
133
135
144
139
141
170
176
171
158
175
168
165
153
162
173
173
180
176
168
160
170
180
179
128
126
119
113
112
114
117
117
127
127
129
132
137
139
138
134
134
138
133
134
128
124
117
109
112
104
101
101
100
100
95
94
92
94
94
94
97
97
98
101
103
105
102
102
102
102
104
104
105
103
105
105
107
107
109
111
112
112
112
115
116
123
127
129
133
133
147
153
156
159
161
170
170
171
171
177
177
180
182
185
188
188
184
186
185
186
188
186
184
184
181
178
184
189
189
188
185
183
184
186
182
182
177
194
133
145
142
130
122
117
115
120
114
111
108
104
100
102
111
104
105
108
112
116
127
137
143
145
151
155
165
166
166
181
186
190
186
189
186
188
185
179
172
173
170
179
180
178
181
184
184
184
188
187
189
194
191
194
200
193
194
199
200
194
197
198
199
196
195
196
191
193
196
197
193
200
204
201
208
207
206
205
206
204
208
207
213
214
213
214
214
216
218
211
208
206
206
203
200
199
194
195
196
182
177
170
172
174
175
171
179
177
172
177
178
183
182
176
172
160
153
159
167
185
187
194
196
198
199
199
191
195
190
194
197
200
185
185
196
203
209
209
210
207
207
205
205
205
201
210
209
213
214
217
215
206
204
207
210
206
209
211
213
211
210
206
201
202
200
193
173
143
99
90
79
105
131
141
147
148
155
148
194
167
169
175
156
161
157
167
162
176
171
165
163
165
175
184
185
122
119
112
113
113
115
113
113
115
123
127
132
135
137
133
131
131
128
123
122
115
112
108
107
105
102
102
103
100
95
93
93
94
96
95
96
99
99
102
105
105
104
102
102
103
104
105
103
104
104
103
104
105
104
108
110
109
107
109
118
122
133
134
140
142
143
154
158
162
164
166
166
173
177
177
179
179
181
182
184
183
186
182
185
184
188
191
190
189
186
179
179
181
179
182
180
179
173
168
182
179
165
190
167
161
144
138
124
118
108
118
116
115
119
106
104
109
125
109
107
101
101
101
106
112
124
131
138
146
148
153
165
171
179
184
186
192
187
185
185
181
176
169
167
163
165
171
175
176
182
186
186
191
193
196
195
202
196
204
200
196
195
205
197
197
197
206
202
200
207
206
206
201
206
207
214
209
209
208
213
211
214
215
215
218
214
220
217
219
217
216
215
211
209
203
208
201
202
197
192
193
194
190
190
177
166
169
164
168
180
173
176
172
165
175
170
173
160
142
146
152
156
165
184
186
188
199
195
191
193
189
190
193
195
198
189
190
190
191
198
197
202
201
202
198
200
200
200
196
198
198
199
202
200
201
196
201
200
198
196
199
200
196
198
199
192
184
187
193
203
214
206
179
115
109
118
132
139
133
144
152
151
166
155
162
171
164
168
168
161
173
157
174
172
145
160
177
171
178
116
113
106
109
109
112
115
119
118
125
129
135
137
137
135
134
134
129
121
116
109
108
107
108
109
109
108
108
104
97
96
94
92
94
92
93
101
99
101
104
106
106
105
105
103
104
104
105
105
103
105
104
104
104
104
104
103
105
107
122
133
135
142
144
145
147
156
161
167
170
170
168
171
174
176
179
181
181
182
183
184
183
183
187
186
190
190
188
188
184
186
179
184
175
170
180
175
187
162
186
157
171
177
160
158
142
157
135
136
124
107
122
103
117
106
103
99
129
121
127
116
108
99
105
122
123
127
139
141
150
161
169
185
179
186
187
188
184
176
176
174
174
169
170
172
168
170
166
185
188
192
192
195
197
197
194
200
198
203
203
200
208
207
208
208
211
211
210
213
209
215
214
215
213
214
213
217
217
220
219
214
218
220
220
219
220
217
217
215
217
215
207
208
201
199
202
203
194
195
188
194
190
192
185
168
164
159
163
165
162
168
164
158
158
158
161
158
157
152
154
162
156
163
175
180
181
180
182
179
186
185
190
188
193
195
192
183
182
186
192
190
193
190
200
198
198
196
192
190
190
188
188
185
192
184
190
196
196
188
186
190
187
187
185
183
189
198
190
185
197
202
199
189
163
136
115
140
135
140
156
159
138
155
161
153
169
166
153
155
163
167
168
166
167
142
171
175
168
175
123
119
115
114
114
115
114
118
120
126
129
129
130
130
129
133
133
124
119
118
115
117
117
116
118
118
116
117
114
108
102
99
95
93
93
94
100
100
102
104
104
105
102
102
102
104
104
104
103
101
100
100
99
100
101
101
104
108
113
126
137
141
148
144
144
149
157
163
168
179
179
175
168
167
171
176
176
178
183
183
185
181
179
183
187
188
191
188
185
186
196
192
178
189
204
205
215
212
213
206
214
213
189
203
178
164
164
169
131
163
130
130
124
133
183
132
122
139
126
165
151
180
116
114
121
144
156
141
159
184
178
182
184
183
186
186
193
178
174
174
165
162
164
168
174
176
182
177
191
189
192
195
197
204
205
201
207
206
210
210
214
218
211
209
211
214
214
216
214
221
214
212
218
216
219
220
218
219
221
219
218
225
220
218
218
218
219
213
218
209
208
209
200
196
203
200
190
191
189
196
195
191
186
173
164
169
154
157
166
156
153
154
146
151
157
158
155
147
134
119
130
148
155
170
175
179
174
162
170
174
181
184
183
185
186
189
190
176
182
181
187
187
192
191
185
189
186
182
177
173
177
181
178
168
178
182
183
182
175
179
171
173
178
185
194
196
193
181
183
188
187
175
172
157
119
118
141
172
142
117
165
144
150
156
179
171
161
161
161
161
164
180
171
170
162
171
167
173
174
131
127
127
121
119
119
120
117
120
122
121
127
130
127
123
120
116
112
116
116
119
120
120
118
122
124
126
124
121
114
109
104
97
93
93
95
100
102
104
103
103
102
102
102
102
104
104
103
103
101
100
100
100
101
102
103
105
111
118
126
131
136
145
147
150
152
156
158
167
176
179
181
175
175
176
179
179
182
179
180
179
182
181
186
188
191
191
201
192
212
217
221
201
189
174
196
194
190
207
179
183
191
179
189
197
194
192
194
197
207
212
203
180
175
211
211
207
204
207
208
202
210
195
184
183
184
179
188
214
179
202
186
187
189
191
193
187
174
178
177
180
170
172
166
189
179
194
199
188
195
197
199
211
209
209
210
211
209
211
214
214
214
210
211
211
216
201
212
211
214
210
215
216
214
217
217
219
217
219
219
221
220
215
215
215
218
218
211
215
205
208
194
201
191
203
193
187
194
194
201
183
187
187
178
174
168
174
160
134
148
153
160
151
150
152
153
151
146
138
128
122
137
154
167
160
163
158
166
172
163
164
165
175
180
178
175
178
188
186
185
185
189
190
176
177
180
171
168
172
175
171
171
162
169
167
164
168
169
168
161
158
167
174
179
182
188
183
174
175
175
166
156
148
140
125
121
131
153
121
145
156
130
149
172
176
167
171
164
159
164
153
180
162
164
153
160
180
169
167
135
133
131
130
129
123
119
119
119
119
119
119
115
115
115
112
112
112
110
117
124
128
131
127
127
124
127
125
125
114
109
105
98
96
94
95
99
101
103
102
102
104
102
103
104
102
102
100
101
101
100
101
101
101
106
106
108
112
123
127
127
131
142
143
151
152
155
157
164
174
185
184
183
178
177
175
175
177
176
178
179
177
180
182
188
194
194
189
211
217
199
191
191
210
197
201
206
203
195
197
196
194
179
175
174
183
180
179
188
189
170
195
198
207
198
149
174
180
190
200
201
208
211
211
217
206
200
219
202
208
203
202
187
199
197
196
184
193
184
188
191
190
182
184
195
186
198
206
199
201
203
211
210
204
210
210
212
212
212
211
211
208
221
208
207
212
204
212
207
212
211
212
214
216
215
215
216
215
215
217
210
217
215
215
215
214
213
212
208
205
198
196
201
194
202
187
196
189
194
186
180
191
181
171
169
168
150
141
145
152
150
152
147
138
127
116
108
105
104
104
122
131
143
154
159
162
160
155
149
152
164
170
177
180
182
180
178
176
176
174
171
177
176
174
172
168
171
176
177
163
164
160
146
157
156
154
161
154
148
151
153
155
164
168
175
177
178
174
169
162
148
144
136
133
143
132
137
132
128
134
128
153
129
163
191
163
168
160
146
159
163
167
145
161
157
150
161
171
171
154
154
145
141
140
136
128
124
122
123
123
121
119
117
115
116
116
117
125
130
131
130
129
131
132
131
127
124
121
116
112
106
98
99
97
98
98
100
102
102
102
104
104
104
104
102
97
100
100
99
100
100
102
102
107
109
110
113
125
126
124
131
137
141
143
145
149
151
165
169
175
177
177
178
177
172
172
173
175
176
179
179
179
181
185
187
192
212
218
209
203
200
175
200
189
196
195
202
186
190
182
188
185
171
180
168
175
154
136
100
149
161
187
187
165
157
78
148
158
164
162
178
186
203
207
215
218
216
214
216
219
211
209
213
215
205
211
199
203
206
209
207
206
213
215
218
220
217
210
213
215
216
213
213
204
211
210
210
208
205
213
208
209
215
210
214
209
210
211
213
211
213
214
221
217
218
216
217
215
216
214
213
214
212
216
209
206
206
203
197
186
206
201
208
191
193
187
187
190
183
195
178
181
176
157
163
164
152
144
145
145
150
145
130
134
129
124
114
108
114
125
131
136
140
145
144
139
142
137
151
161
153
158
164
165
161
168
164
169
174
177
179
175
163
170
171
167
167
162
158
151
148
144
147
147
141
133
124
141
140
144
142
150
167
172
174
169
164
158
153
159
150
132
118
123
124
126
120
131
127
152
132
133
160
174
169
165
164
171
177
146
170
173
153
159
157
161
173
172
166
163
157
151
145
142
140
137
134
130
130
128
126
122
123
125
123
125
129
128
134
134
132
133
134
134
129
127
122
115
112
107
100
97
95
91
95
96
97
97
101
100
103
103
107
106
104
100
100
97
98
100
102
104
110
112
109
113
122
127
128
131
129
132
136
137
140
146
159
166
173
174
176
176
176
175
175
175
180
182
182
181
180
179
178
180
183
194
202
209
194
189
179
201
191
190
194
188
196
191
174
191
156
181
198
177
155
155
151
151
157
203
173
168
144
184
120
155
152
169
147
188
171
183
201
208
209
212
216
217
212
214
214
219
215
217
216
214
218
217
218
214
216
216
217
219
219
217
211
213
209
212
211
203
204
207
215
211
216
207
210
203
205
209
213
208
210
210
209
206
208
215
213
209
212
215
214
216
212
213
218
214
214
214
210
208
203
208
199
190
193
197
201
203
196
187
188
187
187
192
186
178
180
163
172
154
143
128
130
133
140
136
130
120
121
129
134
133
105
99
96
108
119
133
130
123
127
137
139
140
146
148
153
158
164
166
168
170
173
173
169
169
169
162
158
160
164
158
154
151
149
147
140
142
133
125
124
120
123
124
129
141
157
166
167
169
167
161
153
152
142
123
109
114
115
120
119
123
133
115
158
145
133
153
163
145
166
152
175
182
144
152
155
167
164
161
167
174
173
176
179
171
166
159
155
155
151
144
143
136
134
133
129
125
128
124
122
125
129
135
137
137
136
135
131
126
124
124
114
110
107
99
96
94
92
95
96
98
98
98
101
107
105
106
103
102
102
101
101
99
105
104
109
114
115
111
111
115
122
126
124
126
132
129
133
139
144
149
160
163
173
175
177
177
173
173
175
179
181
181
179
177
178
173
175
181
179
180
195
189
182
188
177
172
173
189
192
184
189
175
178
198
178
184
203
186
177
142
158
150
181
148
165
19
83
101
163
171
171
160
162
145
157
176
193
201
208
203
204
197
201
198
209
210
211
209
213
216
216
215
217
215
222
211
214
211
218
213
215
212
210
207
210
209
207
209
203
202
203
207
197
200
206
211
209
208
207
208
206
208
213
218
216
214
211
216
216
211
211
216
210
214
214
205
202
203
206
191
177
196
201
205
203
199
199
201
186
190
192
187
182
167
180
165
148
143
131
143
140
140
133
125
117
108
90
83
92
105
108
113
92
104
117
119
124
122
128
133
140
143
139
145
156
151
150
154
162
160
157
155
155
161
155
154
146
153
143
137
138
143
138
124
123
120
121
121
127
125
128
120
127
144
149
156
164
162
155
146
142
127
112
107
121
116
109
111
120
142
110
133
139
147
152
172
149
161
160
167
164
152
180
155
156
164
156
165
174
167
195
195
187
182
182
175
172
166
155
149
142
136
133
131
133
133
133
130
129
133
138
135
133
135
134
133
127
128
124
121
111
104
98
95
95
93
95
96
96
97
97
98
101
101
101
106
104
105
101
101
103
107
108
110
114
119
114
116
116
112
115
120
122
129
131
127
131
139
146
151
157
165
173
177
181
177
177
177
180
182
183
175
173
172
169
169
172
171
173
173
183
194
168
190
184
171
181
176
166
158
153
179
193
186
196
184
189
177
199
159
176
146
162
186
171
136
129
125
142
142
175
154
156
128
163
162
190
189
197
190
179
179
194
203
203
213
211
209
212
209
210
214
211
213
210
214
214
211
215
212
209
211
204
209
207
214
206
212
204
202
200
195
195
208
210
213
205
214
202
203
210
204
203
211
213
216
216
217
215
217
213
211
214
207
201
195
208
210
174
205
201
203
203
195
199
197
198
196
191
191
181
179
177
162
154
160
145
144
141
121
112
110
116
115
115
109
99
89
76
75
87
99
93
100
121
117
104
105
109
123
133
132
136
138
147
141
151
151
162
162
156
165
162
153
143
144
143
137
133
133
127
122
113
113
108
103
103
106
110
109
110
117
129
136
150
158
160
147
137
127
113
92
99
122
115
109
118
118
123
127
119
142
162
146
163
144
155
164
174
172
157
155
150
154
159
163
172
178
169
202
197
200
194
187
180
175
167
159
156
150
144
141
143
140
137
137
145
143
145
147
142
139
132
132
126
127
126
126
123
109
104
97
94
94
94
95
96
95
96
98
100
98
98
100
103
106
104
101
101
101
107
108
111
120
117
114
119
117
115
112
110
112
121
123
121
119
129
136
146
155
160
168
176
177
176
172
176
179
181
181
172
170
170
167
167
164
165
165
165
161
165
189
178
178
181
180
165
175
174
162
181
180
188
173
192
194
200
192
162
188
156
164
158
160
131
132
126
122
163
183
177
176
179
180
187
148
184
175
177
185
178
193
190
183
189
196
191
199
206
203
204
193
204
202
201
202
209
210
210
210
211
210
210
216
207
210
211
195
202
188
197
204
203
210
215
207
214
211
205
205
206
215
211
210
216
214
217
214
214
216
212
215
209
205
204
202
211
193
204
203
206
195
194
187
189
190
191
192
188
182
173
174
165
156
154
145
140
131
125
113
117
107
107
105
97
102
105
100
96
102
101
121
123
116
112
121
124
108
106
107
116
117
118
134
133
145
143
144
139
138
139
135
137
142
136
131
126
126
124
116
109
102
97
93
97
93
95
106
110
113
119
131
138
135
131
134
137
131
111
78
47
94
123
117
108
115
117
133
112
147
150
136
144
169
169
154
158
160
178
168
165
170
152
161
167
169
163
165
199
197
192
192
188
186
178
177
167
160
157
150
145
142
144
143
145
146
142
140
141
142
137
137
129
124
123
121
115
109
103
98
93
95
95
95
95
95
99
97
99
99
98
98
99
102
104
103
103
104
102
103
106
111
120
122
121
122
120
117
112
111
106
105
109
107
111
114
126
146
153
159
170
175
180
180
175
177
179
181
183
180
173
169
164
163
158
155
157
157
154
149
149
182
168
176
169
184
180
169
175
183
167
185
165
193
185
185
175
187
171
157
161
168
126
116
106
146
140
172
124
191
169
189
192
187
181
176
193
186
192
193
186
203
192
196
188
185
192
199
199
192
194
196
209
209
199
205
203
205
206
208
208
213
209
211
207
212
194
194
189
201
202
212
213
208
207
204
208
201
196
208
215
216
215
215
215
213
213
210
209
211
212
207
207
199
209
203
200
203
207
200
195
182
186
187
192
192
184
182
174
170
158
156
155
152
152
139
131
127
130
128
121
123
120
114
117
111
118
122
120
125
121
132
128
125
126
122
123
126
121
118
118
115
118
112
120
134
138
141
134
118
123
127
121
120
122
116
112
106
101
101
100
95
88
87
89
98
109
113
109
110
117
119
119
113
108
101
94
73
46
53
96
123
121
104
116
111
99
99
115
140
133
183
158
160
153
163
148
166
164
165
137
151
157
165
168
172
170
191
191
189
193
191
192
191
187
183
175
166
155
148
149
146
142
140
138
140
140
139
139
138
134
125
121
112
111
102
100
96
91
88
94
94
94
96
96
97
95
99
98
96
99
100
99
103
106
104
104
102
106
108
107
122
122
127
132
126
127
120
111
102
104
105
102
105
112
122
139
150
155
170
175
177
176
174
176
177
177
178
178
176
168
162
160
158
153
151
148
145
138
134
129
139
190
176
179
177
160
166
176
169
175
179
186
168
176
170
177
169
148
165
149
129
128
183
139
140
166
167
190
187
182
195
182
192
196
199
189
187
196
207
205
213
197
192
157
176
191
197
193
195
189
205
207
201
191
191
200
198
206
207
208
208
205
209
206
192
203
176
211
218
208
212
204
207
212
207
213
200
209
211
212
217
218
215
211
209
208
208
212
210
206
204
205
208
202
204
204
198
194
197
190
187
186
187
183
184
178
166
169
166
158
164
164
157
147
130
122
112
107
118
115
112
111
113
116
119
122
122
128
129
130
131
131
126
123
122
119
121
121
117
117
118
120
121
122
126
123
130
129
119
103
95
97
101
100
100
97
98
93
87
94
97
98
104
108
115
134
135
135
129
126
118
105
98
88
83
67
40
46
100
119
119
101
103
105
86
69
136
157
140
167
159
158
145
168
174
159
171
141
143
163
172
177
171
177
176
191
189
190
188
188
183
185
179
175
174
163
156
157
150
145
143
141
136
136
138
136
139
130
126
125
120
107
99
95
93
93
91
92
90
90
92
93
95
94
98
100
99
97
99
101
103
105
108
105
107
113
115
117
116
123
124
127
129
123
121
119
116
110
104
98
97
97
105
120
132
152
156
163
167
172
175
175
174
178
177
169
169
166
163
156
161
151
144
141
133
131
130
125
125
120
118
181
178
168
160
168
178
172
176
168
170
176
163
156
159
158
163
158
146
132
139
195
135
128
189
169
197
190
195
198
187
184
180
193
190
188
198
208
210
202
189
171
158
193
194
185
205
181
190
191
191
192
191
184
195
197
201
208
205
206
203
202
208
200
197
177
207
210
212
207
214
209
207
206
209
202
209
211
216
215
218
215
214
207
209
210
208
205
203
206
206
204
204
203
199
201
198
192
188
180
182
182
182
184
182
178
170
166
168
160
153
148
143
137
130
121
110
98
104
112
109
114
116
121
125
127
129
133
130
127
125
123
120
122
122
121
117
121
117
115
119
120
120
119
119
118
119
113
108
100
92
84
82
80
80
81
79
79
83
82
78
86
97
115
130
137
140
133
120
111
99
94
84
73
54
25
42
104
126
122
103
105
89
98
110
123
154
144
157
174
157
161
173
171
169
168
174
169
164
172
172
169
173
173
180
183
182
183
179
178
176
172
164
161
157
159
158
152
146
148
142
136
135
132
133
135
129
124
116
113
98
98
96
94
93
95
92
89
89
90
92
95
92
96
93
96
95
97
99
100
98
100
108
116
116
117
117
118
122
121
128
123
116
116
113
111
109
107
105
99
97
101
116
127
139
147
159
160
167
171
173
176
174
170
165
166
159
157
150
141
139
133
129
138
124
115
114
113
112
104
106
118
187
166
147
158
171
159
155
154
159
153
148
156
149
140
151
159
163
161
176
156
188
188
182
186
191
188
175
166
185
169
174
189
200
207
211
205
185
168
151
191
192
207
193
192
197
193
179
167
172
193
170
176
183
195
202
199
196
208
201
186
203
193
209
215
209
210
220
207
207
206
204
205
212
209
212
212
209
211
211
209
211
212
213
205
207
204
204
208
205
200
198
203
203
195
191
187
179
175
176
177
178
178
166
164
167
168
160
155
150
141
132
117
118
121
116
110
112
108
108
113
122
121
125
128
129
128
128
121
121
121
121
121
123
121
121
122
122
120
119
118
120
118
111
100
93
94
83
75
63
59
59
64
59
57
54
58
63
61
71
82
112
130
142
147
143
132
122
110
103
87
72
60
47
63
103
123
120
107
130
95
101
102
135
159
164
167
170
144
173
166
164
167
172
153
133
158
170
170
168
169
168
168
168
177
172
175
174
170
169
161
159
154
155
154
150
145
146
136
129
129
129
131
123
120
119
115
108
97
97
95
93
93
91
92
91
91
90
91
91
92
90
90
90
92
94
94
92
94
99
105
107
113
115
117
119
117
115
114
113
132
119
115
111
104
97
99
98
100
102
110
123
132
142
147
152
156
165
164
166
167
162
157
157
152
153
147
137
128
120
115
106
104
106
102
113
118
100
99
109
117
165
168
155
158
157
155
145
153
150
150
149
171
156
140
176
167
157
121
149
164
188
186
186
194
184
175
177
188
196
192
206
204
203
196
200
157
161
201
180
191
199
187
190
194
185
150
165
188
169
143
172
204
193
190
205
197
204
208
184
195
213
207
206
214
207
212
219
198
207
204
218
213
211
208
211
213
213
209
208
210
210
209
207
206
204
204
205
201
202
202
203
203
199
195
191
188
181
170
177
180
183
179
170
168
168
168
155
138
120
108
106
102
103
105
102
109
112
113
116
121
119
124
128
131
133
132
130
127
121
118
118
121
119
117
118
122
121
114
110
108
104
100
90
80
66
66
62
57
53
53
51
51
51
51
50
53
54
65
77
98
125
142
153
155
149
138
127
126
126
112
105
78
77
110
121
120
102
104
101
102
99
125
161
160
161
182
162
160
167
159
161
167
162
148
153
155
163
161
170
168
152
153
164
164
157
161
157
154
154
146
135
140
144
141
137
136
131
126
125
128
123
118
117
115
112
105
93
96
95
94
94
92
90
90
89
89
89
91
88
91
91
88
89
89
89
90
94
96
102
104
112
113
115
115
115
114
112
111
106
107
103
101
99
99
99
98
101
101
110
121
129
136
143
148
150
155
157
160
160
157
150
148
146
143
135
129
119
113
107
105
99
98
99
99
99
96
97
94
96
123
122
189
153
143
145
130
138
139
139
149
153
175
156
162
184
178
157
130
175
193
189
188
182
181
177
185
185
200
205
203
209
202
203
186
156
206
197
197
192
189
194
184
185
186
175
178
183
157
163
151
168
184
197
194
201
214
206
196
200
207
217
204
213
207
207
205
211
216
211
207
205
207
209
215
208
208
212
213
210
208
206
209
209
209
209
205
205
205
200
198
196
195
188
191
191
195
182
172
172
167
163
168
168
167
167
160
151
140
140
142
146
133
124
119
114
118
120
122
122
119
124
124
126
128
130
130
127
120
113
108
108
107
109
108
106
109
106
103
99
94
85
76
65
62
54
53
57
53
53
50
48
50
51
51
49
51
56
71
94
117
139
161
159
153
144
136
139
134
123
111
79
80
110
123
121
106
107
109
93
86
122
171
178
163
173
166
149
151
167
174
172
154
144
160
164
174
168
174
167
132
141
140
147
150
147
143
140
130
125
124
123
126
120
125
123
124
122
125
127
120
119
120
116
108
100
98
94
94
94
93
91
88
86
85
87
84
84
84
80
80
81
84
84
86
87
89
95
98
102
108
113
115
112
110
113
110
110
107
100
101
101
99
100
100
96
98
100
103
115
128
133
138
144
148
151
155
157
158
156
152
145
139
137
130
125
115
106
104
104
102
100
94
92
94
93
94
97
92
99
112
100
156
187
161
148
153
146
141
169
174
158
177
167
174
177
186
184
186
172
191
184
178
166
178
191
198
203
198
203
202
213
196
200
211
217
202
208
211
187
189
184
159
179
167
167
171
149
170
193
166
180
188
192
203
191
196
191
202
197
212
206
207
203
207
213
211
209
212
215
215
212
210
206
212
210
209
210
210
209
211
211
211
209
207
203
199
200
197
187
186
189
193
195
192
189
189
183
186
181
175
170
169
157
147
137
140
137
144
145
142
140
134
130
133
131
128
123
115
117
119
123
122
124
115
109
111
111
106
104
101
99
96
92
91
93
91
89
85
83
80
71
62
56
57
58
57
55
55
53
53
58
52
47
47
50
48
60
81
107
135
150
157
154
143
136
140
136
127
113
87
88
114
126
122
111
116
120
103
75
121
161
174
180
174
163
171
175
160
173
167
167
149
154
166
167
169
178
175
118
119
128
131
136
138
119
112
108
111
115
113
108
107
112
113
112
113
117
117
120
117
112
107
98
99
99
95
95
92
91
89
85
83
83
81
78
76
77
76
76
76
76
78
84
85
88
92
95
98
107
110
110
112
112
112
111
109
105
102
101
101
98
95
93
93
94
98
101
110
120
129
131
139
145
147
149
151
153
152
148
148
142
134
126
113
105
101
99
99
98
95
90
86
85
86
83
83
84
81
93
96
113
148
203
171
172
168
186
167
172
193
192
190
170
179
168
193
193
189
184
174
179
177
191
209
204
200
204
204
175
148
138
164
188
178
211
199
201
188
166
171
179
193
169
184
174
179
167
170
159
187
174
196
177
192
185
218
198
203
200
203
203
205
217
208
206
209
210
214
208
207
210
205
199
201
205
209
211
209
211
214
213
212
202
202
200
195
194
195
195
198
196
192
190
192
190
185
184
180
179
170
160
145
151
164
153
152
147
146
150
134
133
135
138
133
129
126
124
126
125
121
119
117
110
107
102
96
93
99
99
89
87
86
88
85
89
86
86
85
81
74
72
71
64
68
65
66
69
62
57
65
52
47
49
55
49
57
76
102
130
149
161
157
145
141
142
139
129
117
93
96
124
132
118
110
106
93
131
81
129
166
172
164
169
166
181
174
175
180
166
163
157
149
160
168
181
179
164
71
73
77
88
89
89
92
94
102
107
108
106
103
102
102
99
99
103
100
100
100
98
96
94
96
96
96
94
94
92
88
86
82
80
77
75
75
75
74
74
74
72
76
76
79
81
85
91
94
99
108
107
107
110
111
111
110
107
105
106
103
100
98
92
90
89
91
93
94
103
110
117
127
132
138
142
144
144
142
142
146
140
133
128
116
111
114
111
107
102
105
103
97
84
80
80
78
78
79
81
89
93
114
137
183
190
184
192
180
179
169
168
193
198
176
187
184
174
175
208
187
178
175
195
187
187
189
205
205
208
153
20
154
171
101
106
111
157
203
170
166
175
177
175
185
184
176
171
185
168
165
160
217
173
184
186
183
221
191
191
199
205
198
203
208
215
206
208
202
203
204
204
205
208
208
207
209
208
210
210
210
210
209
204
200
202
200
193
196
198
196
196
195
194
192
195
193
188
184
184
184
182
177
172
171
165
168
156
158
153
151
138
139
146
142
141
133
133
126
128
130
131
125
116
109
106
106
101
104
109
105
109
108
102
102
101
102
95
95
99
96
96
99
103
103
95
85
86
74
68
70
59
66
70
60
57
64
111
98
126
135
150
158
154
157
167
179
164
162
161
152
125
133
170
139
113
98
79
105
86
136
162
154
164
167
161
154
145
159
172
173
166
153
171
166
165
173
175
169
44
48
52
62
71
78
85
91
96
98
100
98
99
98
91
88
90
89
88
88
86
92
92
91
94
94
95
92
90
88
83
81
79
78
77
75
74
74
70
70
70
70
71
73
74
77
81
89
90
95
103
104
106
108
110
110
112
109
109
105
103
96
97
94
90
90
89
91
92
98
102
108
113
119
124
129
130
134
140
145
132
124
121
118
108
100
97
92
89
84
83
83
84
79
77
74
74
72
93
90
80
83
99
108
119
154
174
173
153
150
166
169
173
177
191
186
181
194
175
165
163
189
168
188
178
180
185
198
195
179
149
47
171
186
155
126
94
59
130
192
196
152
190
166
183
165
170
187
212
205
174
206
188
166
176
170
176
177
187
204
194
194
205
201
199
200
202
217
203
204
205
206
206
204
204
204
208
208
208
208
208
208
203
197
200
196
196
195
190
179
177
179
182
180
183
182
180
178
177
175
175
173
175
174
170
159
148
158
134
126
136
149
153
154
152
154
145
144
146
151
150
148
146
146
149
154
147
148
143
156
147
145
137
129
128
131
129
131
139
142
133
139
155
137
142
124
124
110
106
82
107
105
108
89
90
108
158
175
170
181
189
176
181
195
210
214
211
220
219
220
214
211
205
203
195
187
169
112
113
103
146
161
167
162
169
151
156
159
172
167
174
168
152
151
170
176
180
173
165
33
36
44
44
51
70
71
75
80
80
80
82
84
83
81
82
84
84
80
80
82
83
85
88
89
89
90
89
89
86
81
80
76
75
73
71
70
70
71
71
71
69
69
70
74
74
80
86
93
95
99
101
105
110
112
112
114
110
108
103
99
97
97
92
90
90
88
87
86
89
95
103
106
109
114
113
117
118
116
119
116
111
108
103
101
97
92
89
86
80
79
79
79
73
73
73
70
70
67
67
72
82
108
114
123
188
198
199
167
152
157
163
164
183
192
172
170
173
174
174
189
170
191
188
196
193
190
184
197
186
56
86
129
118
23
81
107
94
97
196
183
150
164
149
186
149
171
184
180
196
211
211
199
190
203
179
175
201
179
202
187
189
200
193
193
199
201
200
198
198
201
200
200
202
202
204
204
203
203
205
203
201
196
202
195
193
186
187
190
192
196
195
194
191
188
184
178
178
180
178
168
155
155
153
140
149
159
144
126
136
155
153
158
155
160
152
154
163
165
165
171
171
171
181
182
173
178
175
169
167
163
162
161
158
154
156
161
165
176
168
181
183
179
176
167
175
174
146
143
167
174
170
167
169
179
192
200
205
206
208
208
212
215
219
219
219
218
218
218
217
218
220
214
213
215
213
192
163
139
119
145
157
173
168
166
166
168
176
155
171
177
176
163
161
172
162
164
167
164
27
31
35
33
37
46
53
61
70
67
68
66
68
69
73
77
77
74
72
72
74
80
84
87
85
85
84
86
84
82
80
78
76
75
73
71
70
70
71
72
72
71
72
72
74
74
76
83
88
93
96
99
101
108
112
113
114
110
108
106
105
100
99
92
90
89
86
84
85
86
90
95
100
103
107
106
108
107
108
108
104
101
96
92
91
87
84
85
84
78
76
74
73
68
68
68
66
66
65
64
64
69
69
87
140
192
194
190
197
201
185
175
174
163
165
155
157
177
178
161
169
171
201
175
190
196
192
204
192
177
57
74
124
61
44
78
135
129
72
181
185
183
174
159
170
183
186
185
183
215
204
208
209
209
187
190
167
174
163
206
168
174
181
185
188
188
194
196
191
192
193
194
194
195
199
199
200
196
196
196
197
204
201
197
189
181
182
181
182
180
182
185
188
188
189
189
186
178
180
176
173
160
157
156
157
160
152
146
135
155
159
160
159
164
161
172
168
173
174
178
180
185
182
186
189
181
181
180
178
176
167
158
147
158
158
167
174
182
190
189
192
192
191
186
190
191
189
187
193
195
195
194
206
207
207
208
209
212
212
212
210
214
219
218
220
220
218
214
214
216
217
219
216
216
208
201
203
199
192
187
159
162
176
168
171
171
159
163
159
164
169
176
169
174
172
172
168
166
166
26
28
28
30
31
35
42
46
52
52
55
61
63
67
68
66
66
67
72
72
73
77
79
81
79
81
81
80
80
80
80
78
74
71
69
67
69
67
67
71
71
71
73
73
72
75
76
80
81
85
92
95
97
105
108
110
110
108
109
110
107
101
97
94
89
90
86
84
82
81
86
92
91
95
97
101
102
99
98
95
94
92
90
87
85
83
82
78
78
77
72
70
69
65
63
65
60
60
60
59
63
65
75
98
144
188
186
175
169
169
172
181
164
145
131
134
127
97
146
187
141
174
190
173
179
183
177
184
190
179
128
38
77
123
103
113
111
113
126
176
200
196
163
155
187
184
182
171
196
207
204
212
209
204
200
193
187
148
163
159
192
199
177
176
180
180
185
191
187
183
187
190
193
197
192
194
193
189
193
198
200
196
193
188
173
173
177
177
173
184
184
180
180
175
176
176
174
172
172
165
159
152
146
148
154
161
153
145
144
160
162
166
165
168
169
177
178
180
185
184
188
185
187
189
180
187
186
182
171
176
160
157
147
141
157
173
179
187
193
194
195
195
194
194
194
197
197
199
200
202
206
207
209
211
211
210
212
212
212
212
216
217
213
215
217
217
218
217
217
216
212
207
200
213
218
217
210
205
208
200
167
163
172
151
163
168
172
165
167
164
178
167
170
175
177
170
168
162
162
28
28
29
31
33
35
37
38
44
46
50
53
55
57
60
60
67
67
68
68
68
73
75
77
76
78
78
78
78
77
78
78
76
72
70
68
70
68
69
74
76
74
75
75
74
75
77
80
81
83
86
89
93
98
105
107
106
109
111
111
106
102
98
94
92
91
86
84
80
78
83
86
80
84
87
87
89
89
88
88
86
88
86
83
81
79
79
75
73
72
65
66
63
57
57
57
56
58
61
60
64
66
77
85
145
183
192
169
152
137
112
101
111
111
126
142
123
135
104
126
115
159
179
188
179
157
167
163
156
160
179
174
26
45
39
66
26
24
157
190
206
195
177
197
207
183
193
205
191
208
197
210
210
194
198
192
205
156
154
163
161
168
169
177
178
179
183
186
184
185
184
185
190
195
190
188
193
185
179
185
184
182
184
182
183
189
191
193
193
194
191
189
188
188
190
193
191
185
176
172
162
157
166
166
155
155
158
155
163
168
165
168
170
172
173
176
177
179
178
179
178
179
180
179
183
185
180
177
174
161
143
142
134
137
163
178
185
190
194
195
199
201
195
197
195
202
195
197
202
205
210
209
209
209
210
208
205
208
208
210
210
211
211
213
213
215
215
213
213
209
206
215
216
215
213
212
207
204
211
190
151
143
170
165
170
164
159
181
162
155
173
166
153
165
174
174
179
165
152
31
31
32
34
35
37
37
39
42
44
46
49
49
51
54
57
59
62
64
66
68
71
72
73
76
78
78
77
77
77
78
78
77
75
73
73
72
72
72
75
75
74
74
76
76
76
78
80
82
82
85
87
91
96
97
104
107
107
107
103
102
102
99
92
88
88
88
85
79
77
77
77
77
79
79
79
81
81
82
80
81
76
79
76
73
73
73
70
70
68
62
60
56
55
53
54
55
57
58
61
63
67
69
91
159
199
191
176
161
155
159
161
149
163
156
145
162
155
141
120
131
152
190
179
193
189
182
183
173
158
169
186
186
76
88
48
92
166
151
171
177
204
200
186
201
199
212
193
206
201
210
205
192
190
184
197
190
176
156
156
161
169
173
172
175
184
170
176
174
174
180
182
187
182
176
177
183
187
185
181
177
170
181
185
186
189
190
192
192
188
194
196
191
189
187
184
182
173
160
160
154
157
159
158
163
166
163
158
168
165
164
166
166
170
172
177
176
176
175
178
180
174
168
168
180
176
173
166
143
127
117
107
116
154
167
178
181
188
193
196
194
195
191
191
190
194
202
196
202
208
211
208
208
208
207
204
204
204
202
202
203
202
204
206
209
211
210
211
209
207
205
209
194
206
206
205
210
206
194
126
93
125
166
170
168
166
161
170
165
162
174
165
166
169
175
175
164
163
155
33
33
35
37
37
39
39
41
42
46
48
50
47
49
53
53
55
57
58
62
65
70
70
71
72
74
77
76
76
76
76
79
77
77
77
76
78
78
78
79
79
80
79
79
78
78
78
80
81
81
81
84
86
91
93
100
102
104
100
100
96
98
102
93
89
85
86
81
75
74
74
73
72
72
72
73
73
74
77
77
78
80
78
76
74
72
69
69
67
64
57
58
54
53
53
54
57
65
66
67
71
73
91
121
175
194
187
181
143
158
145
139
140
130
125
156
137
150
148
163
138
126
152
174
195
202
195
198
190
174
184
207
202
220
215
167
180
169
153
169
162
169
157
190
186
194
198
203
201
200
205
195
206
182
186
173
166
187
179
178
171
168
170
169
174
176
180
178
181
183
187
189
177
170
178
183
187
188
190
198
193
191
187
173
179
184
185
185
185
186
186
191
190
188
182
180
171
163
161
146
149
154
154
159
161
162
164
160
157
162
163
163
167
172
168
170
167
171
165
157
144
146
154
165
170
173
163
135
115
98
95
104
125
158
174
180
187
190
190
189
194
190
188
193
194
194
199
196
202
207
210
206
202
203
204
200
200
200
202
204
201
196
198
200
204
206
205
206
201
203
204
206
190
207
204
208
199
194
166
82
84
108
175
165
171
160
170
166
169
172
163
166
164
180
170
170
150
162
160
38
33
35
36
36
39
40
41
44
45
47
47
49
51
53
54
54
55
59
61
63
65
67
70
73
77
77
77
78
75
77
77
76
78
80
83
83
83
83
82
82
82
81
81
81
77
77
77
74
74
76
79
80
82
83
88
95
97
100
96
96
96
95
95
91
87
79
75
74
71
69
69
68
68
69
71
73
72
74
74
73
72
72
72
70
69
72
69
67
64
60
55
52
53
53
58
60
61
64
65
67
68
78
136
183
191
190
190
174
159
145
125
124
136
155
154
146
150
140
151
159
181
190
187
176
195
196
199
192
202
208
218
211
220
215
211
202
202
198
181
184
192
181
192
179
204
181
173
196
199
191
192
167
168
148
142
163
178
187
186
169
165
166
173
172
170
168
167
167
167
173
170
172
186
181
173
170
180
185
190
195
195
193
196
187
181
184
186
187
189
190
181
174
173
171
173
168
159
159
164
160
163
161
157
157
160
162
164
167
167
157
157
164
165
157
158
154
143
143
148
160
164
176
175
168
165
139
110
96
88
102
105
143
165
177
182
181
180
186
190
190
190
192
190
187
189
186
195
194
195
198
198
196
196
196
190
188
188
186
191
191
192
194
194
195
197
198
198
201
201
200
207
206
203
203
199
192
177
131
77
104
100
162
161
163
169
162
175
158
162
171
170
176
169
157
161
159
165
162
47
45
43
42
42
42
41
43
44
49
51
49
51
51
52
54
54
55
57
59
61
63
65
68
71
73
76
77
77
76
73
73
76
82
83
85
83
85
85
84
84
81
81
81
81
77
77
77
71
71
71
72
74
74
75
82
86
87
89
92
93
91
89
88
86
81
76
74
71
66
65
66
66
68
68
70
72
72
70
70
70
70
70
71
72
72
74
71
69
65
62
57
52
55
56
62
63
63
63
66
66
69
78
113
170
191
184
175
165
166
158
162
144
175
158
162
180
188
201
193
182
176
187
193
196
201
203
200
202
204
217
218
218
213
215
214
214
222
209
221
218
208
199
195
195
186
179
99
124
180
184
169
136
156
129
132
155
180
166
169
162
162
159
165
171
163
171
169
172
179
175
178
179
174
173
178
183
182
183
188
190
192
195
198
193
193
185
181
185
183
191
191
191
185
172
162
149
153
161
161
155
160
164
163
158
149
151
163
162
163
148
143
150
136
135
143
145
151
162
175
179
175
171
163
152
123
104
97
103
104
107
124
150
162
170
166
176
179
182
187
188
190
190
189
185
171
177
186
190
191
192
190
187
190
188
184
184
179
171
176
176
178
181
182
186
189
190
193
192
193
210
210
207
203
203
195
186
152
158
139
81
78
144
158
155
166
152
172
159
160
160
160
170
170
172
169
163
164
160
56
50
45
46
46
46
45
47
47
48
47
48
51
53
55
52
53
57
59
61
61
64
66
67
67
69
72
74
73
77
77
77
78
82
83
84
86
84
84
85
83
83
83
81
81
80
79
76
75
73
73
71
71
75
76
76
79
82
84
83
85
87
84
82
80
76
77
75
67
64
64
63
66
67
66
69
71
71
72
72
72
75
75
74
75
73
74
72
68
65
66
61
54
55
56
59
63
65
64
61
68
84
87
115
170
186
186
181
177
162
141
147
148
140
151
162
166
154
174
178
187
185
195
204
204
201
196
203
201
210
216
216
214
213
217
211
213
207
212
214
204
208
198
205
195
189
169
180
86
95
170
159
150
147
122
140
148
141
157
162
171
153
156
164
164
161
157
159
157
171
178
178
173
180
181
175
175
184
186
188
192
190
181
190
195
195
194
186
184
176
176
181
182
182
172
161
140
136
136
147
160
160
158
159
151
150
162
158
152
136
113
114
121
130
137
139
146
170
168
174
173
165
155
151
133
115
102
104
102
99
112
124
149
163
170
171
177
181
176
176
180
186
184
183
183
183
178
182
180
181
186
182
178
184
179
171
169
163
166
163
153
160
164
170
178
178
186
186
197
210
209
205
198
185
176
175
160
161
147
124
56
68
154
165
159
169
157
159
163
160
166
173
172
173
167
170
155
162
157
61
57
52
53
51
49
49
49
49
52
52
51
49
50
51
54
55
56
57
59
61
61
64
66
65
65
69
70
73
75
78
79
77
79
81
81
82
83
85
80
82
82
79
79
78
74
74
73
70
70
69
67
67
69
70
70
72
75
78
79
79
79
77
76
74
72
71
71
68
62
62
63
63
63
66
66
68
69
73
75
76
76
78
78
76
76
75
75
73
69
64
61
58
57
56
57
58
58
58
59
57
73
112
151
196
187
172
156
153
147
142
137
151
144
169
146
157
168
156
155
171
175
199
197
212
211
214
210
211
216
211
214
211
219
207
209
203
194
200
207
205
216
200
196
198
184
172
167
157
161
81
128
129
103
97
131
143
153
144
137
150
146
145
154
158
154
164
156
148
141
142
161
163
174
173
168
173
174
179
184
187
195
192
190
188
190
191
193
187
185
168
171
170
168
159
153
152
152
144
140
129
139
157
158
160
157
137
137
127
138
147
121
125
133
127
131
145
162
164
159
159
156
143
134
127
117
103
108
105
106
112
129
143
157
159
154
160
163
163
157
155
158
160
165
170
169
164
165
165
172
175
167
166
164
161
156
145
138
135
136
134
137
144
145
154
160
164
178
192
193
180
186
181
183
178
177
173
174
159
112
76
76
166
156
157
163
156
167
173
161
159
173
167
166
160
155
163
157
165
62
60
57
55
53
50
52
54
56
56
56
54
54
53
54
55
56
56
55
57
60
59
60
62
61
63
66
70
71
72
76
77
75
77
77
78
80
80
81
78
78
76
76
76
74
71
71
69
67
67
68
65
65
67
67
69
71
70
73
75
76
78
74
73
71
70
68
68
67
62
62
63
65
65
66
66
68
71
76
78
78
80
82
82
80
78
78
76
74
71
67
63
60
60
58
58
58
58
62
70
90
97
124
143
191
197
187
188
164
153
126
106
103
135
128
157
157
126
111
123
130
130
160
196
195
205
205
209
204
205
198
196
194
196
196
196
192
197
206
198
205
201
203
200
205
191
186
166
146
98
112
122
93
82
105
141
128
135
121
152
150
148
148
129
142
151
153
164
156
162
148
150
140
147
159
151
155
166
176
178
173
182
189
191
191
187
186
186
188
187
180
173
169
158
155
159
158
153
150
154
130
144
144
144
143
147
137
146
147
125
118
111
112
122
131
138
135
146
146
150
152
141
146
148
129
111
100
105
108
107
114
133
139
143
150
156
158
154
153
150
152
151
167
155
157
155
164
158
146
154
151
156
162
149
139
129
121
112
111
99
99
104
116
131
131
135
140
157
185
190
181
181
176
180
175
173
178
165
135
73
68
89
161
155
156
170
164
154
156
174
176
172
167
168
165
157
149
160
168
62
58
55
53
55
58
60
59
56
57
57
56
56
54
52
54
55
59
57
58
56
56
59
57
59
60
63
67
65
69
72
73
74
68
68
74
72
72
75
74
74
73
75
73
71
68
68
68
66
66
66
63
65
66
68
67
68
72
72
74
76
76
76
73
71
72
73
70
66
63
63
63
65
66
65
63
65
67
69
71
75
82
84
82
85
83
79
76
74
73
70
68
65
61
60
58
59
60
58
62
65
85
129
164
189
196
190
191
174
155
173
138
131
113
123
106
88
114
103
146
144
184
183
189
190
190
179
185
175
164
181
181
182
181
186
187
185
185
189
188
192
195
204
193
180
159
157
163
40
87
190
159
167
133
89
151
133
141
133
149
165
147
142
144
134
141
151
152
157
152
166
152
158
149
155
155
153
158
170
166
173
177
179
180
177
171
174
180
178
172
173
172
161
146
134
139
151
146
147
153
141
138
155
146
150
157
132
146
140
115
104
105
105
119
132
145
123
131
142
138
130
130
132
126
128
123
124
124
104
96
101
103
125
149
141
139
132
139
135
136
138
143
139
148
149
157
142
150
132
132
134
131
130
128
122
113
94
78
72
56
56
61
69
94
119
132
137
158
193
189
180
177
172
166
170
157
153
113
114
109
74
84
147
131
165
156
158
175
160
162
157
151
165
167
164
137
133
170
168
60
56
53
53
56
59
59
60
57
57
59
58
57
56
52
52
53
55
54
53
51
53
53
56
54
56
58
62
63
66
67
67
65
63
68
66
67
67
68
67
70
69
68
66
66
65
63
62
63
60
66
67
69
70
71
73
75
73
71
75
76
76
75
74
72
72
77
75
69
63
63
64
64
63
62
65
67
69
71
73
77
81
83
83
83
81
77
78
78
75
74
72
68
65
63
61
58
61
59
63
69
82
119
178
206
198
187
184
169
157
170
163
146
145
126
106
114
113
102
147
167
160
167
158
176
149
166
152
164
179
177
171
161
181
155
160
143
145
159
190
182
170
167
167
147
141
132
71
152
182
184
161
162
146
120
142
120
105
139
147
139
143
146
144
139
137
148
144
142
150
152
162
153
150
153
161
162
157
160
163
159
169
170
172
176
178
162
159
163
167
164
156
160
162
154
129
136
147
139
137
152
134
147
156
149
148
133
135
141
108
83
93
105
120
135
135
136
130
115
128
132
110
126
136
126
106
110
119
109
108
108
104
110
126
127
134
128
127
133
129
146
141
129
145
131
133
138
131
128
101
91
84
83
80
89
70
72
59
66
58
53
50
58
76
111
129
142
156
184
185
181
172
174
161
168
161
154
148
133
96
50
100
146
115
145
164
167
165
172
162
154
135
167
164
163
158
154
170
170
52
50
52
54
57
59
60
59
58
59
58
57
57
53
51
48
46
45
50
50
48
49
49
50
51
53
58
56
59
58
61
61
61
60
60
61
63
63
63
64
62
62
61
59
61
59
61
61
64
70
70
74
76
78
80
83
80
81
79
78
77
77
77
77
77
75
70
73
69
67
66
62
63
63
64
65
67
70
74
76
77
76
78
81
80
80
76
78
76
76
73
73
73
68
66
68
65
63
61
59
70
78
121
180
215
192
179
169
160
169
165
164
168
169
165
145
148
138
156
154
161
150
152
130
145
149
144
169
169
175
119
18
43
38
19
21
131
101
141
150
180
178
189
175
164
96
120
139
180
193
183
160
161
139
102
122
134
131
150
141
145
150
141
152
132
129
138
146
133
145
136
140
142
141
142
157
158
157
152
148
165
161
158
160
171
164
166
159
147
151
151
146
145
139
154
154
129
140
144
131
143
146
131
154
153
137
139
135
129
96
97
80
109
118
132
127
133
135
132
89
119
110
105
121
124
117
98
105
110
101
102
111
110
114
133
120
131
134
123
138
130
136
125
125
123
122
120
115
100
98
86
75
69
71
66
77
59
56
55
47
46
46
46
60
86
115
138
139
140
175
180
161
159
151
144
136
102
124
97
42
14
124
124
149
165
159
165
171
184
159
171
178
177
168
152
154
158
165
169
45
46
51
54
58
62
62
61
63
59
58
58
56
52
50
48
47
43
46
45
46
45
43
43
44
48
51
55
55
53
55
54
55
53
53
54
55
55
55
56
54
53
56
56
53
54
56
59
63
68
73
72
76
78
78
80
84
85
82
81
80
78
78
77
77
76
73
72
70
68
67
63
67
65
65
67
67
71
74
76
77
75
77
79
78
78
78
79
77
77
76
75
74
71
71
70
73
80
74
78
99
124
187
217
208
195
197
177
184
171
174
182
173
180
145
155
134
176
136
153
167
164
166
172
186
183
166
174
140
23
49
173
101
70
56
39
120
181
169
160
183
165
184
189
173
161
130
145
142
160
179
175
156
140
104
124
131
130
134
137
137
141
142
146
149
124
125
141
151
126
133
136
147
135
134
135
147
160
141
153
153
156
150
140
155
144
145
150
151
144
144
150
134
137
126
130
145
137
143
146
121
143
147
141
142
143
133
137
133
95
83
96
99
125
125
123
124
136
134
122
103
122
109
113
122
129
116
105
111
114
126
125
127
122
136
138
129
133
137
125
130
125
123
126
123
116
106
105
105
89
83
83
70
69
66
66
67
54
51
49
51
48
50
61
84
115
129
126
123
143
172
170
154
148
132
123
123
106
91
65
38
113
138
169
161
166
161
169
164
165
171
175
175
165
162
165
166
165
167
40
44
50
52
55
61
61
61
61
59
58
57
54
52
49
43
42
41
41
42
42
42
41
42
42
43
47
49
49
49
51
50
49
49
49
51
51
49
50
49
48
52
46
51
51
50
51
60
65
70
74
78
82
83
84
86
87
87
87
83
83
80
75
79
77
78
79
76
69
68
68
69
67
67
68
68
69
70
69
72
75
77
77
77
76
78
77
79
77
77
78
76
74
71
71
73
74
71
66
86
160
210
188
175
159
186
171
161
170
179
162
160
142
166
164
138
132
124
138
156
159
187
175
146
170
178
182
171
27
47
53
110
23
87
96
84
98
191
177
189
179
183
182
179
183
158
155
144
168
151
176
156
158
151
142
128
135
125
122
135
134
136
139
141
144
132
110
126
145
129
130
132
138
146
131
130
141
150
133
152
147
139
137
144
140
135
121
141
144
145
138
126
135
130
139
123
126
137
150
131
135
119
134
137
141
137
134
130
134
110
89
101
106
99
120
124
117
123
138
133
121
119
127
120
130
129
136
142
151
151
169
179
167
152
146
141
141
148
146
137
135
136
129
131
121
107
107
109
104
104
88
79
78
74
67
63
58
58
51
53
55
64
66
72
89
112
121
125
124
124
135
153
152
131
122
117
116
108
99
72
50
127
137
156
154
168
159
173
167
163
167
171
167
169
168
170
166
165
167
44
46
49
51
53
55
55
55
57
57
56
52
50
48
45
44
43
43
43
43
44
44
42
45
43
45
47
49
47
46
45
45
43
44
46
47
48
46
45
45
44
46
43
46
47
45
46
60
63
69
74
80
84
90
89
91
91
91
89
86
86
81
75
75
75
75
77
76
73
70
69
70
67
67
69
68
69
71
73
76
76
76
78
78
80
80
80
81
81
78
77
77
75
78
76
87
93
99
181
194
172
181
186
162
147
135
129
164
171
163
136
136
178
111
124
199
123
132
131
124
151
144
147
153
159
172
173
61
17
81
46
24
39
62
78
98
98
166
189
169
143
185
159
171
172
174
165
176
181
169
167
156
158
140
128
140
123
125
130
130
134
136
133
131
137
141
127
116
139
133
130
129
135
128
131
121
138
137
143
131
132
127
119
131
141
126
122
122
132
136
135
136
120
128
123
138
120
124
138
131
131
131
111
137
144
137
128
136
115
113
114
103
100
102
123
117
122
123
125
143
144
126
132
137
133
139
155
165
166
179
190
195
192
174
164
156
152
154
153
145
148
146
142
139
123
112
109
106
102
102
90
80
78
74
68
64
60
60
56
58
65
70
69
71
85
103
118
125
117
113
110
112
129
132
128
120
119
116
94
75
61
129
161
149
150
138
169
173
172
161
170
172
172
164
158
159
168
167
166
42
48
50
52
53
51
53
54
54
52
49
47
45
45
44
42
42
40
43
43
39
41
39
42
44
49
51
49
50
46
44
43
38
41
43
43
41
41
43
42
42
41
42
45
45
43
46
60
63
70
77
87
91
95
97
99
98
94
93
90
84
79
77
76
76
75
75
75
76
73
70
71
70
70
72
68
70
74
77
77
78
79
79
80
82
82
83
77
77
76
79
79
82
88
87
103
200
196
188
182
152
158
158
149
131
140
149
151
148
158
142
108
102
169
150
123
134
109
117
131
140
152
168
132
170
170
146
145
23
69
146
172
99
94
96
22
126
169
177
117
139
150
154
162
148
161
176
173
166
170
172
146
149
163
127
134
130
131
117
137
140
140
137
135
134
134
138
116
123
126
122
123
131
132
128
123
130
140
140
115
126
127
107
125
127
134
115
130
124
139
111
131
129
121
101
126
126
122
125
136
122
135
129
124
136
134
127
138
128
102
105
101
112
113
112
113
115
123
126
131
154
146
142
159
183
181
183
187
193
203
197
205
193
174
163
161
158
163
156
157
154
151
147
135
115
105
106
102
98
99
90
82
77
75
66
62
60
61
62
66
67
65
69
74
86
102
115
127
117
109
106
103
118
122
126
122
125
122
103
82
90
154
149
150
157
174
167
167
168
160
164
159
161
158
155
153
161
165
155
37
44
47
48
51
48
48
49
49
50
45
43
45
47
50
52
54
54
53
53
50
47
46
45
48
50
54
56
54
52
48
42
39
39
39
40
38
38
40
41
41
41
42
45
45
42
46
61
66
70
82
90
93
102
107
108
106
104
105
95
92
85
80
78
78
77
75
73
76
75
70
72
70
70
70
71
74
77
78
79
81
83
83
83
87
87
87
81
80
81
80
76
89
111
189
199
197
155
149
157
157
137
130
139
122
101
126
107
183
137
106
127
101
134
152
147
136
118
106
116
129
144
154
152
148
166
156
100
70
52
98
124
113
79
53
107
150
144
157
128
154
119
148
150
133
136
147
148
142
152
132
172
143
130
120
155
130
143
125
123
137
137
135
135
122
127
128
129
127
127
99
125
122
131
128
126
121
123
134
132
106
127
123
119
120
133
119
126
124
121
122
127
128
124
109
106
129
108
126
125
120
121
128
120
121
122
112
119
133
101
107
101
85
86
94
90
90
99
118
144
149
167
169
174
194
193
192
187
196
201
197
197
180
170
161
161
161
164
159
157
152
150
143
115
111
107
95
95
99
95
86
76
73
71
66
64
62
62
67
71
67
65
69
75
84
96
111
123
117
107
101
103
111
123
128
124
123
109
109
73
82
149
157
170
161
135
168
164
169
166
169
168
165
158
168
166
155
168
173
34
36
39
43
45
49
48
48
46
47
49
51
53
52
59
58
58
56
56
55
58
60
64
63
64
62
63
61
57
56
56
50
44
43
43
42
41
41
39
41
41
41
42
45
47
43
50
64
70
75
90
95
101
110
113
119
122
123
114
110
108
97
90
80
78
77
74
72
73
71
71
72
71
71
70
72
76
77
79
81
86
86
86
86
87
87
88
86
83
77
84
97
182
197
198
179
166
123
153
161
148
174
127
117
121
123
115
109
77
165
129
94
68
153
156
164
122
109
125
121
125
125
140
148
147
151
167
135
86
105
116
131
146
122
133
159
135
136
133
118
112
116
114
102
98
121
116
118
105
140
146
126
171
138
133
123
141
154
122
123
131
148
128
127
126
119
129
121
119
118
109
119
135
131
129
126
129
130
118
128
116
120
127
116
118
123
128
127
110
138
118
125
122
122
100
109
120
107
112
112
100
79
116
88
97
95
87
92
106
93
87
90
80
80
71
73
77
83
98
128
146
165
178
186
185
185
186
191
192
184
179
165
152
145
145
147
147
154
160
157
140
115
106
102
101
92
90
93
89
79
72
69
71
69
66
61
61
62
64
65
66
67
70
74
79
89
105
127
118
110
102
102
102
121
134
127
115
116
106
87
98
160
157
158
155
154
172
168
168
175
174
175
166
169
171
160
166
166
160
31
33
34
39
43
43
41
39
41
42
45
47
50
51
57
60
60
58
59
62
66
72
76
77
76
76
71
67
64
63
62
56
50
48
46
44
43
43
43
43
43
41
43
45
47
45
51
64
69
78
92
97
103
111
118
122
124
125
120
116
111
102
91
84
81
78
75
75
73
71
70
71
71
71
72
73
77
77
80
83
85
87
87
87
88
88
87
80
81
101
194
207
180
184
152
148
158
151
155
146
172
150
130
139
137
188
121
104
127
104
131
128
138
144
143
131
124
131
129
118
117
114
140
134
136
158
158
133
130
128
153
171
169
161
156
137
134
111
117
96
113
101
100
103
111
90
109
99
148
152
108
123
133
167
131
119
125
123
152
155
120
121
127
117
123
121
134
116
122
117
125
117
124
129
136
130
135
131
130
119
106
117
117
127
110
125
122
135
110
123
118
117
107
111
97
89
96
87
91
100
85
72
84
81
75
77
74
68
71
85
78
71
65
60
68
67
68
62
77
90
115
152
162
167
167
172
169
166
146
135
131
132
130
130
130
122
119
121
119
111
99
85
85
86
84
86
82
82
78
67
69
68
67
63
61
59
63
61
59
60
63
64
67
71
73
85
103
123
119
109
98
102
104
116
124
122
116
119
108
95
103
151
159
171
169
153
173
152
174
170
165
166
173
169
163
163
164
165
168
31
34
37
42
42
42
38
35
38
38
42
44
49
53
56
57
61
63
67
68
76
77
83
85
84
82
78
72
70
68
67
65
59
54
51
44
46
46
46
46
44
44
42
42
44
45
55
63
67
79
95
96
107
122
124
128
128
124
119
117
111
99
91
85
81
77
75
75
73
67
65
66
70
70
71
74
76
80
83
86
85
84
81
87
80
93
86
103
179
191
169
155
159
162
159
151
163
132
155
127
144
152
140
165
176
112
137
71
105
110
97
110
68
160
155
147
148
133
135
120
111
120
108
122
131
137
142
148
137
134
85
124
141
150
118
114
97
105
107
99
104
87
112
105
110
78
102
99
186
121
133
127
127
145
173
150
107
121
124
115
116
127
156
118
104
108
120
124
119
121
118
135
133
139
145
144
135
126
120
110
104
103
105
107
120
101
116
101
101
95
106
82
81
100
94
78
79
76
73
76
65
53
58
64
69
59
58
52
54
57
61
61
53
54
52
57
58
58
63
60
60
61
78
95
98
96
97
90
94
82
82
79
81
88
89
85
85
79
70
67
72
72
72
70
72
73
72
68
64
62
62
63
60
60
61
55
53
52
54
55
60
60
63
68
70
83
97
113
113
105
101
103
107
123
125
126
124
111
101
96
131
138
159
146
163
153
170
149
175
161
172
166
172
152
155
163
163
169
162
34
36
37
36
36
35
32
34
35
35
37
43
47
50
55
56
60
62
66
74
79
83
87
89
87
84
79
76
74
70
67
65
63
57
55
47
47
47
47
49
47
45
45
44
45
44
54
61
67
79
92
100
108
124
127
129
128
126
118
116
115
103
91
84
79
75
74
72
70
65
65
65
67
67
69
72
77
76
84
84
85
83
83
84
92
93
118
206
168
164
160
158
143
152
143
146
145
141
144
133
160
153
138
138
147
98
119
132
116
113
124
74
92
158
126
130
140
136
129
111
111
89
121
105
122
112
131
122
140
134
102
61
118
115
96
103
107
116
92
107
100
87
95
93
154
88
109
106
111
119
114
124
134
123
141
145
88
101
85
109
97
107
101
96
94
100
160
130
117
121
118
129
137
135
127
128
112
111
123
134
108
85
69
67
88
52
69
85
72
67
79
63
61
64
70
77
55
64
58
70
64
55
51
48
60
57
59
47
45
47
49
61
51
50
56
54
63
63
65
63
66
64
59
59
55
53
54
53
54
57
59
59
55
56
61
63
66
66
66
67
67
66
62
62
64
66
65
63
61
58
58
58
57
57
56
53
51
49
53
52
54
55
61
65
65
78
91
108
111
106
101
105
109
118
119
116
118
110
95
100
125
151
160
171
167
171
117
162
161
169
175
163
167
161
162
162
159
165
169
32
32
33
36
33
29
31
31
32
34
38
41
45
49
52
56
57
61
64
74
81
85
89
89
90
86
80
79
75
73
73
71
66
58
56
53
48
48
47
49
47
47
46
44
43
46
48
57
71
84
97
105
112
122
129
129
126
123
120
117
113
104
95
84
77
74
70
68
68
66
66
66
66
66
67
68
73
81
83
83
85
85
83
81
83
123
194
171
160
148
155
143
143
154
178
141
134
151
159
140
152
127
119
152
131
99
115
97
108
99
107
88
85
137
129
133
156
137
99
121
100
99
116
105
103
114
116
144
140
139
114
61
54
85
100
95
98
105
105
103
75
91
86
83
141
65
102
115
120
146
131
120
120
127
127
117
101
87
135
85
85
80
82
77
89
79
76
90
102
112
119
110
106
106
95
87
92
83
80
87
65
70
56
48
50
59
56
61
61
45
42
59
53
47
52
53
44
50
51
50
56
50
49
44
49
52
53
55
51
52
53
52
57
61
63
69
69
66
68
70
72
73
74
74
72
72
72
66
60
58
59
66
64
65
63
66
70
69
66
63
62
62
63
62
62
61
63
58
57
59
59
59
59
59
57
57
55
54
51
50
53
54
53
57
60
73
84
104
112
104
105
107
114
121
125
118
118
113
102
100
109
152
164
164
150
140
89
163
166
167
171
173
171
175
168
163
153
160
164
32
30
31
31
28
24
27
27
28
31
33
38
42
48
51
52
56
62
64
74
84
88
91
92
91
87
82
81
78
74
73
72
68
58
55
53
48
48
48
50
48
46
47
46
44
49
51
58
73
82
94
105
115
125
129
131
133
128
120
118
111
101
93
84
77
71
66
64
65
62
62
63
63
63
65
67
72
75
81
83
80
80
80
79
112
197
174
165
153
142
147
140
142
158
182
165
162
141
162
146
155
153
142
151
142
104
102
78
80
83
67
57
69
144
134
136
134
139
135
115
78
96
108
94
103
107
103
109
135
148
104
74
53
79
78
87
99
104
97
101
98
100
94
86
116
138
122
120
119
144
112
137
149
116
112
109
70
100
76
79
94
78
69
83
77
80
73
87
93
99
90
82
76
74
78
73
69
75
68
66
53
45
57
45
34
48
44
39
55
51
39
41
51
43
48
39
42
43
46
51
50
52
49
48
50
52
49
55
57
53
60
60
61
67
69
75
80
80
86
90
88
88
86
84
87
87
92
91
83
77
78
78
76
73
74
72
73
73
70
66
63
66
66
62
62
63
62
60
60
60
60
61
60
60
58
57
57
54
50
49
53
50
49
52
52
55
68
96
114
106
108
108
116
121
122
119
118
118
101
95
128
148
170
156
157
170
170
159
177
168
170
163
167
156
167
160
153
158
155
32
30
30
25
25
25
24
24
24
24
26
32
37
43
50
53
55
56
63
70
74
85
88
90
84
84
83
77
76
73
74
69
65
59
56
49
48
48
48
51
49
49
48
46
45
46
51
61
71
76
86
103
113
124
124
128
129
133
129
119
109
99
88
80
71
68
63
59
59
58
59
59
59
59
61
69
67
75
80
79
76
75
78
78
184
160
166
145
140
151
137
142
158
150
162
164
157
137
126
137
121
117
125
147
132
111
124
137
103
103
71
37
89
127
127
104
106
142
115
82
111
109
111
108
100
96
90
93
97
108
102
91
85
100
99
118
99
128
112
121
135
121
114
123
117
163
129
128
117
110
101
115
138
110
95
103
88
72
122
102
70
70
70
70
86
98
89
85
89
92
77
77
70
61
63
59
52
50
52
51
48
37
38
41
39
27
33
28
29
45
41
36
38
38
39
44
38
41
42
47
47
47
49
50
51
51
55
54
59
62
65
68
75
74
80
83
95
101
103
104
106
102
99
100
98
103
105
104
108
100
96
99
92
91
93
85
83
84
84
82
76
69
67
67
67
69
68
68
68
65
67
65
64
62
59
58
56
57
58
56
55
50
48
47
47
49
64
95
113
111
109
113
120
119
123
112
116
118
107
103
134
136
163
154
157
151
169
161
175
162
163
168
162
154
153
161
174
156
167
30
28
27
25
25
22
22
22
23
22
26
33
40
44
52
56
57
62
65
65
71
78
82
82
80
78
77
76
77
73
72
67
59
57
54
47
47
45
47
51
49
46
46
44
42
42
51
61
63
70
87
99
108
118
120
126
132
139
139
125
111
98
86
78
68
60
60
54
54
53
53
56
56
58
60
64
64
66
74
72
73
73
77
90
167
167
139
120
131
128
124
136
153
143
145
134
133
136
146
120
117
117
131
139
118
102
120
131
133
104
74
81
72
120
132
122
111
146
107
122
108
120
112
119
120
108
107
108
112
110
104
112
118
149
157
168
167
160
140
137
134
132
131
125
133
103
125
127
113
101
111
106
89
136
86
86
76
70
67
132
121
67
71
68
71
72
76
70
68
79
73
61
60
48
58
50
60
41
42
40
46
34
31
34
33
38
27
30
26
37
48
28
32
37
33
40
38
43
42
44
49
50
50
51
53
53
55
61
62
69
72
75
83
86
91
98
106
108
112
114
116
120
115
113
117
121
123
124
120
117
112
112
113
109
106
98
94
90
88
87
81
76
71
70
72
72
69
69
71
70
70
69
67
64
67
69
67
65
64
62
60
56
54
54
53
54
66
99
117
112
106
106
114
119
132
116
113
121
113
108
141
151
155
151
152
160
167
172
166
157
168
167
171
170
157
157
154
152
162
32
27
22
21
21
22
22
24
24
30
34
39
44
48
54
60
64
68
68
68
69
68
75
72
70
69
70
73
71
65
62
59
55
51
49
47
47
47
46
48
46
45
45
44
44
40
50
62
69
74
86
96
99
109
112
112
115
112
110
106
94
86
74
69
62
57
52
50
50
49
50
53
51
51
56
62
60
63
65
68
71
75
67
87
137
182
154
125
119
130
118
136
137
155
153
139
139
130
130
133
130
135
137
168
145
114
121
119
129
100
96
99
114
129
119
120
129
132
123
114
114
126
142
142
136
133
141
133
123
139
110
111
102
140
141
168
153
128
128
119
127
127
119
132
118
99
89
97
110
94
91
86
88
86
97
75
73
61
64
67
65
86
104
74
70
75
60
58
59
59
61
58
55
55
48
50
43
45
38
38
40
37
30
27
27
29
31
31
26
27
33
58
32
32
44
36
40
42
43
45
49
54
53
55
56
58
57
60
66
73
74
84
93
97
99
106
113
115
117
120
124
131
135
133
128
132
139
138
137
139
135
128
126
123
121
113
108
100
94
92
91
86
76
70
70
73
70
73
74
75
73
75
74
74
74
74
72
72
72
70
66
63
58
58
58
56
72
100
118
114
103
106
110
120
118
113
119
122
119
114
132
148
149
157
157
160
168
157
167
152
167
167
170
168
148
142
170
173
162
35
27
21
20
20
23
26
30
32
36
40
44
52
56
62
62
64
67
67
67
67
66
64
67
65
63
64
66
62
57
55
54
51
48
48
46
46
46
44
46
44
43
41
40
41
38
50
61
69
73
84
94
101
106
107
109
106
103
103
98
88
77
69
63
59
52
47
45
45
45
47
47
48
48
50
56
54
55
60
63
67
61
68
75
64
101
129
129
142
124
128
142
153
136
127
130
159
163
134
167
172
147
157
169
151
155
117
140
137
131
133
112
120
134
137
125
137
158
139
154
150
97
124
110
157
149
127
119
106
110
98
100
97
99
106
100
101
98
86
87
94
107
103
103
115
98
123
88
93
92
87
84
72
86
82
71
69
66
65
67
66
65
122
113
74
57
55
55
56
56
55
54
54
51
48
48
45
46
40
39
44
41
35
35
30
32
34
32
32
27
35
35
45
36
34
38
41
45
45
49
50
52
54
56
56
58
60
62
69
73
75
88
98
106
108
112
115
119
122
122
128
134
143
143
144
146
148
152
151
151
143
135
131
132
130
125
122
110
103
103
99
91
81
80
80
79
75
75
76
82
84
85
80
81
81
82
82
76
76
79
74
71
69
69
70
71
77
92
110
111
108
101
107
125
114
116
122
122
121
136
134
128
160
155
138
169
166
150
147
155
169
171
165
164
154
158
167
169
168
39
31
23
23
23
25
31
35
41
43
45
52
59
63
69
71
73
71
71
69
67
65
63
61
60
56
54
53
49
45
47
46
43
43
43
40
44
42
42
43
41
39
40
39
40
41
50
62
65
74
87
92
96
100
103
104
103
104
101
96
87
78
65
56
50
47
43
43
42
43
43
42
43
43
46
50
51
50
53
56
61
61
56
58
63
70
78
76
97
90
118
130
103
150
94
124
88
121
159
129
131
149
99
92
135
109
76
76
76
65
60
76
63
74
124
99
86
143
120
129
133
103
82
112
124
127
95
107
92
92
91
90
84
83
80
80
82
78
73
73
80
86
90
86
93
81
87
73
81
87
87
83
92
77
79
70
60
69
64
60
58
57
61
52
97
81
99
53
58
55
54
53
51
51
46
46
46
47
45
43
43
43
42
39
39
34
33
33
30
33
35
34
39
43
42
46
46
49
49
49
52
53
56
59
58
58
58
63
67
71
76
89
100
106
110
114
119
118
121
126
132
140
145
145
147
152
156
158
159
157
152
148
146
145
142
132
128
119
112
112
102
99
87
86
82
82
79
81
83
88
90
92
89
89
88
88
86
83
79
77
78
77
76
84
80
86
103
99
106
111
107
110
113
125
117
111
125
126
126
122
131
146
158
152
144
166
175
141
146
156
166
156
166
162
158
171
168
166
164
39
31
28
28
32
36
42
46
51
52
58
63
69
73
79
82
82
81
79
75
73
69
66
62
58
54
48
48
44
40
40
41
39
39
39
39
41
39
39
38
38
36
35
36
38
38
45
55
62
72
80
86
91
95
99
100
97
98
93
87
80
70
63
55
46
44
44
42
43
42
42
42
43
43
46
46
48
49
49
50
53
53
53
54
56
67
72
83
85
80
94
118
103
99
110
89
100
114
136
140
77
130
168
102
107
95
82
64
51
50
47
41
35
46
70
40
47
52
48
67
57
70
64
74
94
115
92
91
101
95
102
96
92
81
79
74
75
69
68
68
68
75
80
81
88
79
79
112
84
82
85
83
81
86
84
122
68
57
56
65
57
54
52
49
48
47
94
49
78
90
73
49
52
49
48
55
52
47
45
44
48
47
47
45
45
45
44
44
42
41
39
42
44
42
45
47
49
51
49
51
51
53
55
59
59
59
59
62
66
72
73
85
100
106
110
111
113
117
120
129
135
144
146
148
151
156
162
158
155
153
150
148
146
145
139
133
127
122
115
106
101
98
93
93
89
90
87
91
92
93
96
102
109
100
98
91
90
90
85
85
82
87
92
94
97
107
117
118
108
113
103
104
117
118
114
116
122
118
116
117
139
143
160
154
152
164
163
146
145
173
173
164
176
163
167
167
157
158
161
41
36
34
33
36
46
49
53
58
64
69
76
84
90
93
94
94
90
87
83
77
77
70
63
58
53
50
47
41
36
38
39
37
39
39
39
39
37
36
37
37
35
33
34
36
40
40
47
53
60
76
79
80
84
87
89
90
88
86
77
74
68
61
57
53
45
43
41
44
47
47
45
43
43
45
47
47
49
49
51
50
52
52
54
56
65
68
72
69
73
76
101
96
92
83
131
93
89
129
141
166
118
89
117
92
100
70
59
48
47
39
37
39
48
33
40
44
35
37
46
50
58
65
79
76
108
92
92
93
97
99
94
95
92
89
79
78
71
73
74
81
82
89
94
87
100
76
80
70
78
82
79
79
78
78
65
85
64
90
69
58
54
50
48
49
49
49
49
84
49
37
88
56
45
50
51
49
47
51
52
54
53
55
55
51
55
57
57
54
53
50
50
51
51
49
46
47
46
51
53
56
57
59
59
62
62
62
57
59
68
71
78
92
106
102
106
109
111
117
122
129
136
142
148
154
156
154
148
142
146
147
150
150
144
138
132
122
116
112
107
101
101
97
100
95
99
99
103
105
103
110
117
123
113
110
104
96
90
90
88
86
87
100
100
111
132
134
130
106
102
103
112
118
110
110
111
122
121
129
118
139
142
159
158
143
148
166
160
155
163
172
175
163
167
166
170
167
169
169
48
43
45
48
48
55
61
64
73
79
83
90
93
97
99
102
98
94
90
86
81
78
73
67
64
59
52
48
42
35
38
37
36
37
37
37
36
34
36
34
34
30
31
32
33
33
33
39
46
55
64
67
73
77
81
84
86
83
80
72
69
65
59
54
52
45
43
41
44
47
47
45
43
41
42
48
49
50
50
52
54
56
54
53
56
58
60
63
65
68
74
85
74
84
75
80
111
78
80
124
166
133
89
84
82
70
73
58
48
43
37
33
43
35
36
42
37
35
37
44
51
51
61
68
78
80
89
93
102
100
103
95
98
94
94
91
87
83
91
102
107
112
113
110
102
99
71
72
112
77
75
78
75
78
78
75
97
71
102
108
81
56
56
52
51
51
52
49
48
49
46
63
70
45
47
48
82
81
56
56
59
61
62
64
67
66
65
67
66
68
68
65
64
62
58
58
54
48
49
52
55
54
54
56
55
55
55
56
58
59
64
70
82
94
99
98
102
104
108
107
110
116
119
119
132
136
134
131
130
138
138
140
140
137
136
132
120
115
112
112
119
118
118
122
125
127
125
127
126
123
121
116
116
114
110
108
102
99
91
89
90
94
104
109
121
141
139
138
110
102
105
108
111
112
110
123
127
133
133
127
128
125
152
146
148
159
160
149
167
175
166
161
164
172
168
171
157
159
168
61
56
55
55
55
60
64
69
77
84
91
100
101
103
105
106
104
97
92
88
84
82
76
71
70
63
55
53
45
40
42
41
37
38
38
36
35
33
34
35
33
30
32
30
30
30
28
32
38
43
55
60
68
73
76
78
80
76
75
70
69
62
54
50
48
45
45
45
47
47
47
45
45
45
47
49
53
54
55
57
56
57
57
57
62
60
57
61
61
66
69
71
72
74
69
73
78
87
79
74
92
134
123
70
66
57
74
46
51
43
40
38
38
38
35
35
35
35
37
41
53
59
65
83
79
79
83
88
89
86
91
96
98
92
92
96
108
120
123
126
124
120
118
109
93
74
76
69
75
80
69
76
78
76
78
73
74
72
98
55
94
87
58
65
53
53
51
49
50
52
52
48
48
49
48
51
84
64
53
56
65
65
65
72
74
75
81
85
88
87
85
81
75
70
68
68
66
56
53
57
57
56
56
56
56
56
57
57
56
58
58
58
69
74
86
93
92
94
94
94
95
92
94
100
109
110
110
115
115
119
119
121
121
121
123
116
116
123
129
130
130
139
145
145
149
148
151
154
150
146
138
136
124
123
116
114
106
103
95
93
94
103
111
120
132
141
145
143
121
98
98
104
113
108
115
117
119
129
135
119
135
128
160
150
142
153
175
157
174
176
167
173
169
175
161
161
161
158
175
67
60
60
57
57
61
65
72
81
85
91
101
105
107
107
108
108
99
96
92
85
84
83
78
74
67
58
54
47
41
41
40
37
36
34
34
33
33
31
32
30
27
30
28
28
27
27
27
32
36
50
52
58
64
66
70
72
73
72
68
66
60
54
52
48
45
45
45
47
46
44
45
46
48
49
53
62
63
67
69
66
69
69
67
72
67
67
65
63
66
65
67
67
69
71
71
74
76
74
73
73
108
84
80
64
55
56
52
47
43
41
40
40
37
39
41
41
40
45
47
52
59
67
71
74
75
79
87
91
89
87
90
92
103
114
121
134
139
135
133
130
131
128
118
95
73
69
65
67
68
83
62
69
66
69
68
71
72
71
69
65
65
112
56
51
57
53
49
49
53
52
45
47
47
46
48
51
50
54
68
72
76
74
77
80
90
95
97
96
98
94
92
87
79
73
75
69
65
58
53
56
54
52
53
54
54
53
53
52
51
52
52
53
56
60
69
75
77
73
72
74
74
74
76
80
88
90
92
95
97
100
102
104
106
108
108
107
113
110
119
137
148
143
146
151
154
158
155
155
155
154
151
141
130
121
110
110
112
106
100
101
104
103
113
130
140
145
140
137
106
105
105
113
110
117
116
121
131
130
133
162
156
148
148
136
146
156
168
172
169
166
172
163
165
171
167
156
164
165
74
66
61
59
60
65
69
72
80
85
92
98
102
104
106
106
106
97
92
88
85
86
83
78
71
66
59
53
47
45
42
40
45
42
39
32
31
34
29
29
30
30
28
26
23
25
25
27
30
32
40
47
53
59
63
65
67
69
69
68
59
57
53
50
47
44
45
45
46
47
45
44
46
49
58
63
68
75
77
79
79
76
78
78
75
74
75
69
67
61
63
68
67
70
72
71
68
70
71
69
69
75
76
60
60
58
52
49
44
42
40
37
37
42
45
47
48
50
51
50
48
53
54
63
68
75
80
85
98
100
106
109
114
125
129
133
135
131
129
129
129
131
130
112
87
58
55
84
60
58
60
62
63
66
68
67
67
67
68
69
69
67
62
58
136
44
87
58
52
48
48
42
43
43
45
49
51
67
55
66
69
75
76
82
91
94
100
104
103
104
98
97
97
95
88
82
76
70
67
61
55
54
52
51
52
52
51
50
48
51
47
49
49
51
53
56
59
61
62
60
62
69
67
67
67
71
75
78
81
83
87
88
90
92
99
99
97
101
104
119
132
135
139
147
151
153
157
159
156
151
152
154
152
136
113
108
104
106
110
104
97
95
97
101
123
135
140
145
140
101
103
107
114
116
116
115
125
135
133
126
160
158
160
149
157
157
162
168
171
171
164
167
161
168
164
165
161
165
169
73
64
56
59
59
63
67
71
81
84
87
93
96
94
94
94
94
90
88
86
84
87
84
76
71
66
56
47
44
44
46
46
50
46
43
39
36
36
29
27
24
28
26
24
24
25
25
27
26
27
33
39
42
53
56
59
59
62
62
61
55
53
53
47
45
44
47
47
46
47
47
45
47
50
61
68
73
82
83
83
83
83
87
89
87
85
84
76
67
64
63
68
71
72
73
76
74
74
74
70
67
65
63
59
55
55
51
45
43
40
37
38
43
48
51
53
59
62
62
60
59
60
58
60
60
68
74
81
91
97
107
122
118
118
118
122
122
122
122
119
120
122
111
87
58
48
49
50
46
55
55
57
61
61
62
65
67
67
69
67
69
67
66
63
59
65
138
49
54
50
45
43
41
41
44
44
50
52
55
63
70
76
81
87
91
99
106
108
109
108
104
102
99
95
92
87
79
74
70
64
55
53
53
50
48
48
48
48
48
49
46
48
50
49
51
52
53
53
53
55
57
57
58
58
64
71
75
78
77
77
76
76
79
81
83
84
86
89
101
115
125
135
145
146
152
152
158
158
160
153
151
149
150
139
112
99
97
94
97
97
94
89
89
97
103
115
129
130
134
101
102
104
115
113
117
116
121
133
136
124
145
160
161
153
156
157
155
158
169
170
165
166
161
156
164
163
164
158
160
67
60
60
58
56
62
67
71
80
81
83
86
87
86
82
82
80
78
75
75
77
81
81
76
67
62
53
49
47
47
45
47
47
48
47
45
42
40
37
35
21
21
26
24
23
21
21
22
24
26
28
33
35
40
46
50
53
56
58
58
55
51
50
48
46
47
47
47
46
45
45
43
46
55
64
76
80
85
87
87
88
91
94
96
94
93
91
83
77
72
76
77
83
81
81
83
86
81
76
74
68
62
56
54
51
48
46
41
40
38
37
37
40
50
57
64
71
70
73
74
74
69
68
60
68
64
77
88
94
101
103
106
107
112
114
113
114
112
101
102
102
97
83
60
48
48
46
43
45
41
49
53
57
59
61
63
68
68
68
71
65
65
65
65
63
63
61
59
63
61
45
54
46
47
40
43
45
55
56
61
74
78
84
89
97
101
107
112
116
112
107
106
106
99
93
86
82
68
68
61
52
55
55
52
50
48
48
48
48
49
46
50
51
52
52
53
55
55
53
48
48
49
53
51
54
57
61
63
66
68
70
68
65
64
72
76
82
84
96
109
115
126
135
149
155
158
158
166
167
154
155
148
142
129
105
95
91
90
91
91
87
83
86
86
89
93
103
109
113
115
97
103
110
115
118
115
124
130
139
126
138
150
148
153
159
172
159
164
165
164
168
174
167
158
165
158
153
162
162
56
54
54
53
55
60
63
69
73
73
75
78
78
79
74
70
68
70
68
68
70
72
70
69
63
59
53
49
47
48
48
52
59
60
59
55
55
52
50
49
46
30
27
26
25
24
22
23
24
26
29
31
33
38
39
43
49
50
52
51
47
47
44
47
47
47
46
46
46
43
43
43
46
55
65
76
84
90
92
93
92
94
99
100
101
102
103
99
91
86
90
92
91
92
94
91
91
83
77
68
60
55
48
46
45
46
41
40
39
37
37
37
40
49
60
69
74
78
76
76
77
75
72
65
76
85
95
108
105
107
107
107
107
109
110
109
106
98
94
96
90
77
56
43
43
43
44
43
43
44
47
53
56
56
58
60
67
64
65
68
68
67
64
64
64
66
66
62
58
54
46
56
52
44
43
45
48
50
58
60
67
79
88
90
97
104
108
114
115
111
109
104
103
98
92
89
79
70
69
63
54
55
55
55
53
51
51
51
51
49
50
56
58
58
58
58
58
56
57
53
51
49
49
45
47
51
53
53
56
58
61
58
60
64
68
70
76
77
89
108
115
119
132
135
142
147
152
148
145
146
134
130
128
123
109
102
97
92
90
90
84
79
75
75
76
77
82
84
88
87
94
109
111
115
120
120
133
140
134
142
135
132
155
161
152
157
163
159
160
158
160
166
157
160
160
148
146
155
153
41
44
47
49
50
56
57
63
67
67
67
69
69
68
62
62
62
60
58
58
60
65
65
63
62
57
56
55
55
54
59
63
67
65
64
67
68
70
69
65
59
58
50
42
33
32
31
26
26
25
26
28
30
35
36
38
40
41
43
45
47
47
43
43
43
43
46
46
46
45
45
43
45
52
63
75
84
92
95
94
100
101
103
106
109
111
114
108
98
98
93
90
92
94
92
91
87
80
71
59
51
46
44
42
42
40
38
38
38
38
38
38
43
46
56
65
76
84
86
81
78
81
73
76
96
111
119
115
113
112
111
111
113
108
105
101
98
93
88
88
77
61
42
36
37
39
41
44
44
47
44
61
52
56
58
59
59
70
67
69
72
70
69
69
68
68
66
65
60
53
47
45
45
41
43
56
42
50
59
57
65
71
82
89
95
99
104
108
111
112
110
103
98
96
92
84
73
69
71
66
60
57
57
52
54
50
49
49
49
52
56
60
61
63
63
64
62
62
59
59
57
54
53
49
48
50
50
53
57
59
58
62
60
58
56
63
70
76
79
99
114
119
128
133
137
136
118
104
96
80
76
73
78
78
78
79
83
91
93
90
90
84
80
82
75
74
73
73
69
72
85
109
110
110
124
112
128
132
129
129
147
161
158
149
166
147
160
159
154
159
161
168
169
158
165
164
165
154
155
29
35
39
40
44
50
54
58
61
64
65
66
64
63
57
56
56
57
55
55
53
56
58
57
58
58
58
58
60
65
74
76
76
72
77
80
81
81
83
86
83
82
68
63
51
44
38
31
30
29
26
28
30
32
32
34
37
39
40
41
42
42
42
43
43
43
46
46
46
45
45
45
47
51
62
72
84
91
96
101
105
108
111
114
118
116
111
104
97
89
87
85
85
85
81
78
68
64
58
50
49
46
44
42
39
38
37
36
38
38
40
42
43
46
53
66
72
76
79
79
73
73
86
109
125
130
122
117
117
113
114
115
115
109
99
95
92
90
83
72
54
41
33
40
37
39
39
41
41
44
45
45
52
63
57
63
62
64
70
73
74
73
72
72
72
71
71
65
59
49
46
43
43
41
38
40
41
42
48
51
58
65
73
79
85
86
95
99
103
101
99
95
93
88
86
80
78
73
66
65
60
60
60
60
58
56
56
53
53
56
61
63
66
68
68
66
65
65
63
61
61
58
59
57
55
54
54
57
57
59
60
59
55
52
53
56
68
78
91
103
119
130
127
124
117
107
93
86
84
82
80
81
76
76
75
76
80
83
87
86
87
88
88
92
88
86
81
77
72
67
86
115
113
108
118
118
132
133
152
126
143
142
153
150
151
162
177
157
165
171
168
167
166
166
165
155
150
148
161
27
27
29
31
37
43
51
53
58
60
64
65
67
65
63
58
57
53
53
51
52
52
52
58
58
63
65
67
71
78
82
84
88
91
93
95
98
99
102
108
107
95
82
74
63
56
49
42
33
28
28
32
32
35
35
37
37
39
40
41
42
42
44
43
43
44
46
46
46
46
46
47
50
52
59
71
82
93
101
104
108
118
117
114
110
103
93
86
84
83
81
79
75
73
70
65
59
57
52
50
48
46
41
41
42
37
37
39
40
41
46
46
48
45
52
60
66
71
72
78
69
90
113
129
137
127
125
123
120
119
117
114
113
102
99
99
94
81
74
57
39
34
34
37
36
38
41
41
43
43
44
46
45
51
56
73
60
59
63
65
69
72
69
69
68
68
69
64
55
49
44
43
41
40
36
38
40
39
45
56
58
62
67
74
78
85
91
91
89
91
89
88
86
82
78
75
71
67
68
68
65
65
65
63
63
61
61
61
61
60
61
63
68
71
73
71
71
73
72
70
70
68
67
68
69
68
66
62
62
61
58
59
55
58
64
76
90
100
112
122
124
125
120
111
103
98
99
99
96
94
94
95
93
93
94
94
95
101
101
98
99
94
90
93
91
87
80
76
67
60
76
113
116
115
115
116
133
144
148
128
131
124
161
156
154
163
166
163
148
161
170
168
168
160
152
154
149
154
155
27
27
27
29
35
46
50
52
56
63
65
64
65
63
63
62
61
60
56
56
56
58
60
57
58
66
71
75
77
87
93
95
96
100
102
112
116
118
124
127
122
111
97
85
77
62
56
51
43
36
36
36
36
35
35
35
37
38
38
40
42
44
43
43
43
43
46
46
46
48
50
51
54
55
59
72
81
93
104
111
111
109
104
102
90
84
80
78
78
75
75
71
68
64
60
57
54
52
51
48
46
46
41
41
43
43
43
45
44
43
45
47
47
47
53
59
63
66
69
77
97
121
139
144
137
130
128
128
125
121
123
117
113
111
104
100
88
74
55
40
28
32
34
33
36
38
40
40
42
43
42
44
44
50
52
56
61
63
73
70
65
70
69
69
68
66
63
60
51
47
45
43
41
37
35
39
43
43
51
57
58
62
67
75
79
85
87
86
76
74
70
67
64
64
65
66
61
63
62
64
66
65
63
60
60
55
57
59
59
60
64
66
69
69
71
71
74
72
71
70
69
73
74
75
77
73
69
64
67
68
70
71
78
88
97
110
124
134
134
129
123
121
117
110
106
103
106
106
107
107
107
109
112
112
111
107
108
107
103
99
96
84
80
75
68
64
55
49
41
39
55
110
117
114
113
125
134
129
134
111
138
168
164
160
153
161
163
166
151
157
167
170
160
157
165
165
157
158
155
29
31
33
43
49
57
57
61
66
67
72
70
66
64
66
66
63
64
64
62
65
62
64
65
66
66
71
75
81
90
98
101
107
116
122
125
135
141
134
136
131
116
105
95
83
75
68
62
60
52
44
42
43
42
34
33
32
34
34
36
38
39
42
45
47
48
49
49
47
55
53
55
57
64
66
77
82
92
96
96
96
92
88
84
79
77
74
74
74
74
71
70
64
58
54
52
52
52
49
47
47
46
49
49
49
48
48
48
47
46
44
45
46
49
46
48
52
64
80
103
115
135
139
134
134
131
135
135
134
130
122
121
121
119
117
100
82
62
48
36
35
31
33
35
40
39
41
43
43
45
42
44
46
48
48
50
57
57
60
64
67
68
69
67
67
64
64
57
53
48
44
40
39
35
34
38
42
44
53
60
61
65
70
75
81
76
75
69
52
46
48
48
44
44
50
53
49
51
51
53
56
53
51
52
56
60
63
63
67
69
70
70
73
70
72
74
74
75
74
71
78
80
85
81
80
71
70
75
77
86
91
100
109
124
129
135
130
127
125
122
120
116
115
112
112
113
109
109
110
112
112
114
115
114
112
101
95
92
88
73
70
62
57
54
45
41
39
39
37
36
51
98
112
111
117
127
135
130
128
112
144
147
145
161
164
157
172
160
136
166
169
153
160
161
168
161
151
155
153
31
33
40
48
53
62
64
68
73
77
79
79
75
73
73
73
67
66
68
66
70
69
69
70
70
72
74
78
83
93
104
112
122
127
134
140
148
155
147
148
143
130
119
111
96
89
82
73
69
63
55
55
51
45
41
39
35
34
34
36
37
38
41
45
45
46
48
48
50
54
52
60
65
72
79
89
92
94
99
96
91
85
81
76
72
72
72
74
70
72
67
63
58
49
47
50
49
49
49
50
50
52
55
55
53
53
52
53
52
52
48
45
44
44
41
41
46
69
96
117
129
128
130
132
132
132
137
137
139
129
129
131
134
131
121
102
66
46
41
41
37
33
33
36
40
42
42
43
43
44
42
42
45
48
48
48
52
54
55
58
60
63
63
60
60
58
58
58
52
48
43
40
36
34
34
38
42
44
51
61
63
67
73
80
78
74
57
47
32
24
28
29
38
40
45
46
49
46
44
48
46
49
56
61
64
65
72
74
77
80
81
81
82
87
80
75
71
81
84
92
97
102
100
100
103
104
104
107
115
122
127
128
128
129
126
122
117
114
116
117
110
108
106
105
105
104
106
104
105
100
100
101
105
97
89
85
77
72
64
62
63
60
54
56
52
48
42
41
41
41
49
95
115
114
121
118
134
126
136
120
136
136
159
154
164
156
160
156
139
163
169
160
159
166
169
162
152
153
156
33
36
44
47
55
60
69
76
79
84
86
88
89
91
89
84
81
74
75
72
76
74
74
75
76
75
77
80
87
97
111
117
129
132
144
152
159
162
157
152
149
138
136
125
113
99
94
91
85
82
75
72
65
59
54
48
40
40
35
35
39
39
40
45
45
46
45
46
52
61
66
70
75
82
86
88
91
93
90
86
81
78
74
70
69
68
67
72
68
65
59
56
54
49
47
47
44
48
53
56
56
53
56
57
58
61
61
58
55
53
50
50
48
44
41
44
47
86
111
121
122
127
131
136
139
140
141
138
135
135
135
136
135
124
102
77
54
43
41
41
45
42
36
36
39
39
41
45
45
45
42
42
42
49
49
49
47
49
48
53
56
56
55
53
57
55
56
52
47
47
41
37
33
30
31
38
41
46
53
58
64
73
82
83
88
69
45
36
34
38
41
47
55
54
58
63
65
65
65
70
76
78
78
78
79
79
78
83
85
87
85
85
86
90
85
89
89
105
120
131
135
136
133
133
136
135
138
136
136
132
119
113
96
91
88
88
88
91
93
93
92
92
91
91
92
91
91
89
89
91
95
97
99
97
93
88
81
78
74
70
65
62
59
56
53
52
45
48
45
42
45
98
116
118
113
119
124
122
130
132
139
139
157
150
151
153
161
146
143
157
167
156
162
165
162
159
151
151
153
37
44
51
56
62
71
80
81
83
92
96
100
101
101
99
94
93
90
86
84
82
81
81
78
80
78
79
79
86
101
110
120
139
144
145
155
162
166
162
158
149
146
142
135
124
118
113
110
99
95
87
80
73
68
63
59
52
49
42
34
38
38
39
43
43
44
47
53
63
74
78
82
87
93
92
88
88
85
83
79
76
73
71
68
66
68
69
68
60
58
51
51
50
48
44
44
42
46
52
56
58
58
57
58
58
62
62
59
55
53
53
52
48
43
40
39
58
102
121
122
125
132
135
139
143
141
142
134
133
130
130
127
116
96
66
55
51
47
43
43
46
45
40
36
38
38
40
44
44
43
38
38
37
40
40
41
42
44
44
48
54
59
58
55
55
53
48
47
41
41
40
37
34
31
31
38
40
45
51
57
60
79
93
95
85
73
55
57
62
66
75
85
83
85
85
84
80
82
81
79
76
78
78
81
81
81
82
79
82
85
85
87
87
85
96
106
119
134
147
150
146
140
139
140
139
136
130
122
107
90
81
64
62
59
58
57
58
57
60
65
68
70
73
78
83
87
86
89
93
97
99
101
98
96
92
89
83
79
77
72
66
65
60
56
53
49
45
43
40
38
45
95
115
118
114
123
124
137
145
136
142
159
147
156
154
157
167
152
156
166
168
164
168
163
162
154
140
154
152
46
52
57
63
66
75
78
83
93
97
101
106
103
101
103
101
98
96
96
96
92
83
84
82
83
81
79
88
91
101
113
118
131
135
148
155
159
163
163
156
153
148
145
138
133
130
130
121
107
101
99
96
89
77
73
70
65
61
52
38
37
37
40
42
40
47
65
75
83
88
92
96
93
91
90
90
87
81
78
74
72
72
66
69
74
76
74
67
60
51
48
47
48
43
44
43
39
43
49
53
56
59
59
60
62
65
67
66
63
62
56
55
49
45
37
48
84
117
126
126
128
133
139
142
137
135
128
122
120
114
110
99
86
66
63
60
54
46
49
46
47
41
38
36
39
40
37
39
39
39
37
34
34
33
35
37
42
42
43
45
50
59
69
73
72
61
51
42
42
39
39
32
30
30
30
34
39
39
50
57
73
96
111
114
118
105
104
107
105
102
100
98
99
90
87
86
85
82
79
78
82
78
78
82
81
81
82
84
84
86
82
88
95
103
114
133
137
141
139
133
131
127
124
118
112
95
84
70
69
61
61
57
55
55
57
54
53
55
58
60
61
66
72
75
85
88
93
95
97
98
99
101
100
95
93
88
86
83
78
73
67
65
61
57
55
48
45
43
38
36
39
85
115
116
122
123
136
137
134
113
148
147
150
160
163
163
160
159
160
157
162
167
169
163
157
154
156
159
155
51
57
63
66
71
75
79
84
94
97
101
104
104
104
106
104
98
100
100
101
97
92
86
84
84
82
83
93
98
104
111
117
129
130
139
142
142
146
149
152
151
150
148
142
135
135
136
124
117
113
109
101
94
86
81
73
70
70
60
44
38
38
40
51
60
68
84
94
100
100
102
96
91
91
89
86
82
78
74
72
70
71
77
77
82
83
76
68
60
53
49
43
44
41
41
42
40
42
47
52
55
61
63
64
67
66
68
66
64
64
63
58
53
47
49
74
105
126
127
129
130
136
139
139
132
122
116
109
107
98
93
86
76
79
74
76
73
62
58
52
52
45
42
38
39
40
38
34
34
35
32
32
30
31
33
34
36
36
37
40
42
52
67
77
78
74
60
49
40
36
35
33
28
31
33
35
41
43
50
67
91
113
132
138
126
116
114
110
106
106
101
98
100
98
98
100
98
97
92
89
90
89
86
87
86
83
80
79
79
87
94
105
115
124
135
138
129
118
110
111
107
101
89
84
72
66
57
55
57
56
55
50
50
50
53
53
52
53
55
57
60
68
71
79
85
90
92
94
96
97
98
100
95
93
88
86
84
81
74
69
66
64
62
56
52
44
43
38
36
33
31
75
118
115
120
115
135
146
137
142
132
152
146
161
157
156
152
153
158
167
165
166
162
158
160
161
160
157
158
58
62
67
72
72
73
81
85
91
94
98
102
101
103
103
102
99
96
101
99
96
94
90
87
87
87
85
92
101
105
110
111
120
123
126
128
132
134
138
138
140
144
141
139
130
128
129
121
119
119
119
111
106
96
92
83
76
76
66
52
43
48
56
70
80
91
98
103
105
105
98
93
91
89
86
82
78
75
67
67
68
78
79
86
89
81
75
67
63
57
45
40
37
37
39
41
40
42
47
49
54
61
68
68
69
69
69
70
70
70
71
67
61
55
64
98
121
131
132
137
134
136
135
130
121
115
100
97
96
91
87
82
88
90
93
89
81
73
73
71
69
62
50
48
55
53
50
39
29
31
31
29
27
29
29
31
30
30
32
36
43
47
52
63
71
68
59
51
46
40
34
29
27
26
32
39
42
49
63
91
120
142
147
142
134
125
119
114
111
108
106
104
102
100
97
96
96
94
98
96
92
90
88
86
88
89
89
89
89
94
107
115
121
118
115
107
96
84
75
72
69
62
66
64
58
58
56
55
53
51
49
48
48
48
47
49
51
54
58
62
64
68
73
78
83
86
92
95
97
102
102
100
91
87
86
85
83
77
71
64
58
58
56
54
46
41
36
37
31
24
26
61
116
116
119
112
136
137
139
133
134
159
150
154
153
161
156
161
175
167
165
169
171
166
157
158
150
151
156
61
66
72
77
81
85
88
91
92
96
103
100
97
100
99
97
98
96
98
98
98
99
97
94
94
94
92
93
96
102
109
113
117
122
119
119
120
128
131
132
135
140
135
133
124
125
126
122
122
124
117
118
112
98
95
86
78
77
67
58
56
66
80
92
102
109
111
110
104
103
96
93
90
88
84
81
77
73
68
74
78
86
96
97
89
80
72
66
63
56
48
36
33
35
37
41
40
42
48
50
52
60
60
63
66
71
71
72
77
77
76
70
64
61
84
112
130
134
137
140
142
139
133
120
114
108
100
98
91
90
89
94
102
101
94
92
95
98
96
88
80
72
64
58
64
70
62
53
31
29
28
26
26
27
29
29
27
34
40
44
44
42
38
43
49
52
50
47
46
39
31
31
29
27
28
38
42
57
83
120
145
155
148
141
136
129
126
122
118
114
112
110
108
106
103
102
102
100
99
97
94
96
94
93
95
96
98
97
97
102
98
98
88
81
73
70
66
63
60
60
58
60
61
58
56
50
50
49
47
45
44
44
44
46
44
46
49
53
57
61
60
66
73
78
86
94
99
101
101
103
101
98
91
89
87
79
73
69
64
58
54
53
51
48
39
36
31
30
24
20
21
49
102
118
118
121
137
130
144
100
132
150
144
161
157
148
156
153
162
167
164
163
163
173
161
157
156
152
152
55
59
65
69
71
78
80
81
85
89
92
97
95
93
92
91
89
90
93
93
94
95
95
94
94
98
99
99
101
102
108
110
111
114
115
116
116
124
126
129
131
137
129
126
122
121
123
123
121
123
121
121
117
107
99
88
81
77
73
74
72
89
103
115
118
117
110
104
99
96
95
91
87
83
82
79
76
74
79
85
94
100
109
106
91
83
76
69
65
56
46
38
33
33
37
40
43
44
46
50
57
60
60
62
66
71
75
75
76
77
77
73
71
69
101
124
135
139
143
147
146
138
130
119
115
109
103
100
89
86
88
97
106
108
107
109
105
98
95
88
87
81
70
65
59
63
70
71
45
30
29
29
29
29
27
32
40
50
54
60
48
43
37
37
37
39
39
43
41
41
36
36
34
39
42
40
44
69
110
140
152
148
140
135
131
127
125
123
120
119
117
116
115
113
112
111
109
107
104
102
102
101
99
98
99
96
96
98
96
94
91
88
88
88
82
77
71
66
63
57
58
57
54
54
54
51
48
46
43
41
39
44
42
44
42
45
51
49
56
61
62
70
74
84
91
99
102
102
102
102
99
95
95
89
83
78
70
64
56
50
47
45
42
38
31
29
25
20
20
18
18
29
93
108
110
100
116
129
122
103
131
132
144
168
156
163
167
163
168
164
170
164
155
164
161
157
158
161
152
56
60
63
65
67
75
80
82
83
81
92
96
93
93
91
87
86
88
87
89
93
98
102
102
103
106
114
112
111
111
112
111
111
114
116
118
117
123
124
124
124
131
127
123
121
116
117
121
123
123
124
121
119
109
100
91
82
81
83
91
102
109
115
124
121
113
108
101
99
96
92
88
86
82
80
76
76
79
86
96
107
121
123
111
93
84
75
71
62
53
43
36
32
35
37
39
43
44
47
48
53
58
61
68
70
74
78
76
77
78
77
74
72
79
112
136
139
143
146
149
146
138
133
130
124
115
109
91
72
78
91
101
105
115
113
115
112
105
101
93
88
88
80
70
68
56
62
75
69
51
33
35
37
39
40
56
58
61
66
59
39
35
39
36
37
38
36
39
37
39
40
44
44
48
46
51
65
93
127
143
141
131
121
118
116
113
113
111
109
109
109
109
112
112
111
111
111
108
108
108
105
104
104
101
101
99
95
97
97
96
97
98
100
98
96
89
86
81
76
67
61
59
54
52
51
46
42
41
40
38
36
37
37
37
39
45
50
53
59
65
68
77
81
91
101
104
107
107
106
102
98
95
90
87
80
72
64
58
51
44
42
35
32
28
24
22
21
17
17
16
17
16
69
118
116
106
107
127
125
104
140
147
149
164
164
160
170
149
167
157
167
159
164
162
158
157
157
154
148
58
60
65
69
72
75
76
79
84
87
86
86
86
91
87
88
88
88
88
93
102
104
106
105
109
116
126
128
132
129
125
121
118
116
114
114
114
122
124
120
118
118
122
120
118
114
112
114
119
119
117
117
112
104
94
84
82
88
95
108
117
123
118
119
115
108
102
103
101
90
87
82
79
75
72
76
81
84
97
102
117
129
119
110
102
87
72
72
62
50
42
36
34
35
37
40
43
45
46
48
50
54
60
64
66
73
76
77
79
77
78
79
81
90
125
145
150
149
151
150
146
143
143
139
127
109
86
67
75
85
92
97
109
113
116
112
116
111
107
102
94
95
95
84
73
71
65
81
90
84
62
60
61
58
77
78
75
69
56
41
35
47
47
39
39
37
37
37
32
37
36
32
39
45
43
57
80
111
140
139
129
118
112
107
107
104
103
103
102
100
98
98
103
103
101
101
101
101
99
101
101
104
104
104
102
100
100
99
99
101
97
99
102
103
100
98
97
95
90
84
80
69
65
55
50
46
42
41
43
41
38
37
37
36
35
41
52
56
61
69
76
82
92
100
104
108
110
110
109
106
104
101
92
85
79
72
60
50
44
39
34
31
26
23
19
17
15
17
17
17
16
17
52
105
115
123
137
137
130
111
149
144
142
166
152
166
152
157
161
173
168
157
154
159
162
157
160
153
151
64
64
68
71
80
78
80
81
83
84
89
89
90
88
90
87
88
94
97
102
110
110
113
116
127
133
142
140
140
138
137
134
130
124
124
119
114
119
120
119
119
119
120
116
117
111
108
110
112
112
110
107
103
94
87
85
89
95
103
114
119
124
119
113
109
106
101
101
97
89
85
81
76
74
75
81
84
88
99
122
133
119
113
109
103
90
71
69
58
51
43
35
38
38
38
41
42
42
45
47
51
55
58
59
63
67
69
74
80
78
81
81
81
98
133
151
155
151
151
152
153
154
146
128
96
77
73
67
65
82
94
101
105
110
114
114
116
117
111
109
104
107
116
115
117
113
106
102
110
110
99
74
72
73
75
67
66
60
42
38
41
57
71
53
42
40
40
38
33
32
32
30
37
42
40
49
74
100
120
113
110
108
108
112
113
113
115
115
111
108
106
105
107
103
102
98
96
96
97
99
101
102
102
102
101
99
100
101
101
101
96
98
100
98
95
95
97
95
93
93
92
85
82
70
61
52
44
41
40
38
37
34
34
35
37
42
52
60
64
73
80
86
97
106
111
109
111
109
110
105
104
100
92
85
78
69
57
49
42
38
32
28
24
20
18
15
15
17
17
17
16
17
45
119
119
109
136
147
147
127
160
130
146
166
166
166
161
156
167
167
170
167
166
162
158
154
144
154
157
62
65
71
73
75
77
79
79
81
82
87
86
86
88
89
86
87
94
97
104
111
118
125
134
141
148
154
151
152
153
151
147
142
136
131
120
127
128
132
138
137
141
128
117
110
110
110
105
104
101
95
91
84
76
75
83
94
100
106
115
111
111
110
107
107
104
101
97
94
91
87
82
79
80
82
81
87
96
121
126
118
112
105
106
98
79
67
66
57
45
43
41
42
39
37
39
42
44
45
48
49
54
54
56
60
64
66
73
80
82
80
78
79
96
134
153
157
155
157
161
158
142
114
78
53
51
56
66
74
75
83
93
100
111
115
122
125
125
130
127
123
123
124
126
126
122
115
109
102
99
77
41
36
47
49
49
42
39
46
42
48
79
97
56
38
42
42
41
42
42
41
36
37
41
47
41
52
65
69
70
67
77
88
98
109
113
112
116
116
117
117
113
109
105
103
102
99
98
98
101
101
100
100
99
101
99
99
102
97
95
95
95
94
94
92
90
90
88
85
86
86
87
87
84
74
66
54
48
40
36
34
33
33
33
39
42
47
53
59
70
81
91
100
105
110
113
110
108
106
103
96
90
87
80
73
64
52
40
38
33
29
21
19
18
19
17
17
17
17
18
18
15
46
120
125
122
132
143
148
134
146
127
155
162
154
155
156
162
156
158
172
156
166
148
153
151
141
156
153
60
66
73
74
74
77
77
77
77
82
86
89
87
87
89
91
95
94
97
107
116
122
123
141
150
151
155
157
157
156
154
147
144
140
142
148
146
145
151
152
154
157
138
116
95
96
98
94
90
84
78
73
69
71
77
85
96
101
103
104
105
105
103
103
103
101
99
97
94
90
86
87
88
90
88
87
95
110
119
110
106
105
103
101
88
70
60
63
55
44
44
42
42
39
37
37
41
43
44
44
46
50
52
54
54
57
59
66
78
81
79
79
80
95
136
153
156
158
162
158
135
97
54
45
42
42
54
67
71
69
76
85
90
102
105
111
115
117
116
116
116
111
103
95
89
64
41
40
34
34
29
12
30
47
45
38
33
43
47
43
79
103
91
34
34
38
42
45
45
42
42
38
36
36
41
53
59
61
60
52
49
46
46
48
59
73
85
94
101
106
107
108
103
103
100
101
100
101
101
104
107
106
106
104
103
103
103
101
96
92
90
88
86
89
85
83
80
78
76
77
79
79
78
78
79
78
72
65
58
47
40
30
28
30
32
35
42
44
51
62
70
78
90
103
110
110
111
107
103
98
93
89
85
78
70
57
47
36
37
30
28
21
19
17
18
18
18
18
18
20
19
19
54
117
120
121
126
139
151
124
148
160
153
161
153
159
153
181
162
180
172
140
150
148
154
153
152
153
154
66
72
78
78
75
76
76
76
81
82
86
93
94
98
95
98
100
101
102
106
117
125
127
139
145
147
155
161
159
153
161
159
158
160
155
153
153
153
156
155
151
138
128
100
83
85
83
84
77
73
65
65
65
77
86
92
100
99
99
99
99
103
103
100
98
99
99
97
94
93
95
95
97
93
86
91
100
110
102
96
96
95
93
89
69
63
61
57
49
46
42
42
42
39
37
36
39
41
43
44
46
50
51
52
53
60
60
62
73
80
79
79
76
95
133
156
162
163
158
137
94
48
45
47
48
48
54
74
65
47
45
46
56
57
57
55
70
78
95
101
105
112
118
99
73
24
8
11
18
44
55
38
32
44
40
32
42
41
56
61
90
85
47
37
43
44
48
53
55
51
49
45
43
42
46
56
59
62
62
57
46
39
33
29
34
39
41
51
62
74
78
79
80
84
88
91
93
95
99
105
108
104
102
101
103
103
102
100
95
94
95
93
88
85
81
78
75
71
70
70
68
66
64
64
64
66
66
66
63
57
47
38
30
24
24
26
26
30
34
37
46
57
73
86
95
100
101
100
99
96
92
88
82
72
63
51
44
36
34
29
24
21
19
18
19
17
18
20
20
20
20
23
59
119
127
130
128
128
149
122
142
135
161
151
160
159
163
176
170
168
174
173
156
156
159
157
158
158
152
74
77
79
82
79
76
77
76
76
80
86
98
100
99
98
103
104
105
107
108
119
129
135
139
143
150
155
162
168
171
165
161
155
148
147
152
156
151
146
141
140
128
111
86
71
71
71
72
70
69
70
68
76
86
91
97
96
95
95
95
97
99
100
100
102
101
100
98
97
99
101
100
100
93
89
88
86
81
82
82
79
78
74
65
65
61
59
52
48
45
43
41
42
41
39
39
37
39
44
48
50
50
50
55
54
59
55
52
43
41
38
42
40
69
126
156
164
160
144
110
61
47
43
40
58
71
87
66
58
54
61
65
74
78
85
85
92
104
104
105
109
121
127
98
42
3
0
5
8
50
80
75
56
43
36
27
28
32
59
69
63
44
49
56
61
61
59
60
49
42
41
37
35
32
32
30
32
31
35
40
38
40
38
38
37
38
40
41
46
50
53
58
66
69
72
77
85
86
79
75
68
72
66
68
73
73
73
74
72
74
72
72
72
72
69
69
71
68
68
70
68
66
64
64
61
57
55
50
48
45
40
33
26
20
18
20
20
21
21
25
26
28
33
43
59
73
82
83
87
84
81
76
72
64
55
48
40
36
34
28
24
21
19
18
20
20
18
20
20
20
21
24
66
125
126
123
139
134
149
138
138
153
163
162
155
157
150
158
165
160
157
161
176
163
166
166
170
162
156
76
82
83
88
87
81
75
77
78
83
90
97
96
96
100
105
109
108
115
118
122
128
128
132
140
142
160
168
170
161
152
148
145
143
147
150
148
143
134
136
138
123
99
77
60
64
64
65
63
67
72
77
85
89
92
92
90
91
90
95
94
98
99
101
103
101
99
101
101
104
106
103
93
82
75
68
63
59
61
63
60
57
57
56
51
51
48
48
46
44
43
43
41
36
38
38
47
49
49
46
48
52
49
49
45
42
40
40
38
38
37
34
34
55
119
147
161
150
119
83
63
50
58
72
96
96
82
48
50
58
60
63
67
69
73
78
87
96
102
109
122
136
133
83
15
11
3
1
13
44
65
74
58
48
25
18
23
43
80
104
51
37
40
52
59
58
54
46
42
37
32
24
19
11
21
20
17
23
23
25
26
28
28
24
26
27
27
30
33
33
37
44
53
57
68
69
80
81
71
40
24
19
6
7
13
13
15
18
19
22
27
31
35
33
37
40
42
46
45
48
46
45
46
46
45
41
37
33
21
17
12
11
13
12
12
13
18
24
42
62
75
64
37
24
27
29
41
50
56
62
63
63
55
54
49
44
40
37
32
28
26
23
23
22
17
17
15
20
20
20
20
22
53
121
130
126
134
141
134
133
134
137
153
166
156
152
153
158
156
162
169
157
155
144
166
160
160
157
155
81
81
82
83
80
75
68
66
75
76
84
85
90
96
99
105
106
116
118
122
126
122
118
124
140
154
154
151
149
136
137
134
131
136
141
140
137
136
135
141
134
112
88
72
63
65
63
64
66
66
75
81
87
90
85
85
83
86
86
88
92
96
99
101
101
101
104
106
107
108
103
95
79
64
52
38
35
36
39
41
41
37
42
44
44
44
44
47
48
48
42
42
40
52
64
68
71
66
62
59
58
56
52
52
50
50
52
52
46
49
46
46
44
48
95
136
151
133
106
67
57
76
84
100
102
76
45
45
42
42
52
52
56
60
65
70
79
90
111
131
142
142
117
59
11
9
5
4
21
46
54
53
54
51
31
22
28
62
95
75
27
29
36
48
56
55
42
30
18
19
19
22
16
10
11
10
4
5
7
12
17
19
18
14
18
20
20
21
24
25
28
30
32
40
45
51
60
59
48
34
27
16
7
5
8
8
10
7
7
6
6
8
11
14
16
19
21
23
25
24
22
21
22
22
20
19
17
14
11
11
11
11
11
12
14
23
49
80
117
148
161
149
119
49
19
20
21
22
23
26
28
32
37
37
36
37
37
34
33
31
27
25
21
19
19
17
17
18
18
20
20
19
44
125
121
126
134
127
135
145
138
149
154
155
161
159
164
174
165
176
174
168
158
148
168
161
159
160
153
79
81
79
78
76
70
65
63
71
71
77
84
89
92
94
96
103
109
113
121
121
123
131
140
149
149
148
145
143
137
135
133
135
135
133
132
131
131
136
134
123
96
81
66
66
63
60
59
61
70
77
79
84
85
80
80
81
84
86
90
88
94
95
97
101
104
103
108
108
102
95
82
62
46
34
33
31
32
34
35
39
37
40
43
48
48
47
40
56
66
70
68
73
89
102
106
102
90
76
63
61
56
54
46
45
47
48
48
45
43
43
41
41
44
77
122
135
125
95
80
85
90
90
75
40
39
46
45
42
45
43
43
48
52
57
64
73
92
127
144
144
134
100
45
9
5
10
4
14
52
65
42
53
68
61
49
37
70
82
50
35
27
22
29
35
31
21
14
7
13
19
23
13
3
1
0
0
0
0
0
2
2
4
3
5
4
5
7
9
15
15
16
16
19
22
21
23
24
25
33
28
25
15
6
3
3
5
6
8
10
11
13
16
17
20
21
26
26
27
22
21
24
20
20
20
22
20
17
17
17
16
18
15
20
44
78
129
161
179
186
190
184
164
106
32
20
23
23
22
25
25
25
23
23
22
29
28
28
28
30
30
22
22
20
21
19
20
18
21
19
20
22
38
130
122
132
135
136
146
145
142
128
160
158
157
159
161
164
159
174
172
164
152
156
161
159
158
154
150
80
84
80
76
71
66
60
60
63
65
67
79
82
83
89
94
98
106
112
120
122
126
129
141
146
151
149
140
138
130
131
133
128
127
121
118
121
125
125
119
97
73
64
64
64
58
53
53
58
65
78
77
77
77
78
78
78
83
84
89
90
90
91
98
99
102
102
106
99
85
73
61
41
34
35
31
31
31
34
35
38
41
40
42
48
50
50
51
62
99
121
112
97
97
96
96
101
106
108
105
103
95
87
79
66
52
42
40
41
40
34
35
36
37
55
101
130
119
104
97
92
79
44
41
41
40
38
36
37
42
43
45
46
50
46
46
74
111
136
146
131
119
83
27
11
5
4
10
42
61
57
13
23
56
69
43
30
63
81
52
44
21
12
8
6
6
5
0
5
5
7
7
5
1
4
3
2
4
4
3
0
0
0
0
0
0
0
2
2
1
1
3
6
7
10
11
11
11
15
16
17
22
19
8
7
7
8
7
9
12
14
16
19
22
24
25
25
27
27
33
34
36
38
38
38
36
32
30
25
23
24
27
37
65
103
148
184
189
189
189
190
188
176
119
30
19
20
18
17
17
17
16
16
16
16
18
22
24
22
24
26
24
23
24
25
21
19
20
20
22
23
25
35
117
123
126
132
139
140
149
141
140
153
152
158
160
175
171
161
175
157
160
151
157
157
159
155
157
153
78
80
76
75
68
65
57
55
57
58
61
71
74
76
83
90
93
105
112
114
120
124
125
131
134
136
135
130
132
133
134
130
124
117
109
111
113
116
112
91
75
63
59
60
62
54
48
56
60
64
69
70
70
73
74
75
76
79
81
84
84
88
91
93
96
97
95
90
83
66
59
47
38
36
36
41
42
41
41
38
38
43
49
52
53
56
52
72
108
137
149
131
105
98
103
115
126
132
135
135
131
120
108
106
93
86
68
48
40
38
35
35
35
35
45
83
117
117
115
107
86
45
42
35
33
33
38
40
48
51
56
59
58
45
41
57
100
132
143
122
119
108
80
49
26
27
43
65
94
82
57
22
30
63
81
53
42
73
70
49
55
29
12
10
9
5
7
7
6
4
3
3
3
4
1
1
2
1
1
2
1
1
2
2
2
1
0
0
0
0
0
0
0
0
0
4
4
4
2
6
16
25
21
15
9
12
13
14
19
25
22
25
31
36
36
37
34
35
39
41
43
47
53
53
51
47
46
40
40
40
43
59
95
144
170
184
191
189
189
190
187
187
174
125
29
9
11
11
9
6
6
6
5
5
7
9
16
21
25
25
28
23
23
19
23
21
20
21
21
21
18
21
22
45
105
131
141
128
130
151
134
162
140
160
155
164
172
179
160
158
158
149
155
166
160
156
160
164
156
73
72
68
67
63
58
55
53
56
55
63
66
69
74
80
85
93
100
107
117
121
119
122
121
123
125
128
128
131
128
125
118
107
103
103
104
111
109
96
83
70
63
65
66
64
54
57
59
62
63
65
68
68
70
71
72
76
79
79
80
83
85
90
93
95
95
88
81
74
65
54
53
54
51
54
58
58
54
44
42
43
48
54
57
57
61
74
118
138
146
127
109
105
122
132
135
139
141
144
145
140
136
118
100
90
95
91
76
56
39
33
29
30
28
38
66
104
122
119
108
70
41
41
37
37
38
43
43
44
46
49
44
38
34
50
86
128
147
136
113
111
99
92
81
71
67
69
101
114
99
54
35
42
68
84
61
62
83
69
52
47
24
23
20
19
13
10
6
4
3
0
1
1
2
2
2
3
1
1
1
0
0
1
0
0
0
0
0
0
3
5
8
9
9
6
6
5
9
20
24
34
38
32
27
23
21
18
18
22
31
35
42
45
45
45
46
44
45
45
48
48
54
56
56
53
54
52
51
47
46
62
106
160
189
189
189
191
191
191
188
187
187
181
135
55
7
8
8
8
7
7
8
8
8
8
6
11
15
13
11
10
15
15
15
17
17
16
18
18
20
19
19
21
18
61
123
121
150
145
134
149
148
150
156
160
167
155
159
170
161
162
157
157
163
152
156
161
165
157
71
67
63
60
61
59
57
56
55
54
52
60
69
71
85
90
96
102
104
107
113
113
116
117
117
119
128
129
127
122
111
108
107
107
109
110
111
103
89
77
65
66
72
68
60
59
60
60
58
60
62
63
65
66
67
69
69
70
74
77
76
81
83
90
100
101
91
82
76
67
66
71
70
73
77
70
70
59
46
47
52
58
58
59
59
70
106
138
142
117
81
67
81
89
88
86
87
91
98
106
109
108
108
103
95
92
91
92
83
69
53
42
37
39
40
58
87
112
111
87
58
45
45
47
45
41
42
36
25
23
20
19
21
40
79
114
144
136
122
102
103
85
76
59
45
46
51
82
115
93
46
26
42
64
82
63
66
79
53
45
24
21
24
24
25
24
23
21
14
12
11
13
7
7
2
0
3
5
5
4
5
7
10
8
8
10
12
12
11
15
15
15
20
20
21
22
23
29
42
51
55
53
49
45
36
32
31
31
29
32
41
45
49
50
52
52
46
45
47
48
47
48
48
47
47
48
48
47
50
52
79
134
179
187
187
189
189
189
188
186
187
184
181
157
104
23
11
11
10
12
13
11
10
10
11
14
14
14
13
11
9
10
9
7
11
11
11
9
9
9
9
9
11
6
20
126
101
148
143
146
140
158
156
149
154
158
172
164
172
163
153
157
157
152
144
160
153
152
158
69
62
57
60
62
62
59
57
53
51
51
56
64
75
85
87
95
97
98
102
106
109
111
112
110
119
126
128
127
119
109
114
116
118
120
115
109
95
85
71
66
71
69
65
65
61
58
57
58
58
59
59
61
66
65
65
66
68
70
71
72
72
70
72
83
96
90
89
85
81
75
71
70
68
73
73
64
55
46
49
53
59
61
63
64
88
124
131
113
79
56
54
49
45
41
41
37
35
37
48
45
45
51
61
71
79
82
94
98
99
89
85
77
69
60
54
71
90
82
59
46
46
45
39
36
34
29
20
9
11
13
13
15
51
100
127
137
127
114
92
89
65
26
15
13
14
20
67
104
86
41
28
43
64
82
80
78
73
48
36
33
31
32
32
32
36
36
36
42
44
45
38
30
23
19
17
18
15
15
18
19
19
18
16
16
18
18
18
20
26
28
34
35
37
36
46
50
54
52
52
53
54
54
54
52
49
44
40
36
34
30
33
36
42
46
49
44
46
47
48
46
49
46
45
47
48
48
48
50
52
93
148
185
187
188
188
188
189
188
185
183
181
178
168
139
74
31
32
31
18
16
16
25
25
24
17
17
18
18
18
12
13
11
10
11
11
11
11
11
11
12
12
11
11
8
62
163
127
133
146
139
162
150
156
143
171
168
175
154
157
154
148
161
158
158
156
155
148
151
62
60
61
61
60
67
61
61
57
56
56
61
67
74
78
86
88
96
99
100
101
102
106
112
114
117
126
126
122
124
124
129
133
130
131
116
97
92
74
73
68
70
68
64
61
53
53
54
54
54
56
54
54
56
53
57
63
63
61
57
55
55
51
41
34
53
82
97
104
106
100
91
88
82
76
57
48
42
46
55
56
62
62
64
64
103
116
103
81
59
56
55
46
40
40
43
42
40
39
42
46
40
41
49
65
84
88
101
106
106
105
112
113
105
97
78
81
69
60
43
37
32
24
15
13
8
7
7
7
5
5
6
13
58
103
127
130
117
103
85
74
43
11
12
9
19
34
67
99
89
62
68
73
82
91
82
75
65
62
64
61
61
66
64
64
69
69
66
63
65
64
59
51
42
34
34
37
35
33
31
35
31
25
17
15
16
15
20
29
38
45
52
55
55
55
53
53
54
54
54
55
51
51
53
56
53
53
49
44
39
35
31
28
30
30
33
41
44
47
46
45
44
49
47
47
46
46
47
48
56
104
155
183
188
186
186
186
188
186
184
180
174
172
169
150
110
53
50
41
35
33
32
33
31
31
28
28
31
29
29
26
17
14
14
11
11
14
17
17
18
17
17
18
14
22
47
125
144
156
143
149
152
159
155
157
163
174
162
157
162
136
158
165
157
157
160
159
158
156
59
59
61
58
63
71
69
67
65
64
64
66
69
71
76
83
89
95
97
95
100
99
111
117
118
122
128
128
131
135
137
142
146
141
131
114
98
85
75
72
71
68
64
61
53
49
49
49
48
50
52
53
53
55
57
59
56
56
52
47
41
39
32
27
22
34
67
96
111
115
115
115
115
115
103
81
62
52
52
60
59
61
63
63
71
94
91
80
59
55
53
51
46
43
43
42
42
42
43
41
39
36
35
33
56
93
105
114
115
115
117
118
113
103
98
96
93
93
76
49
28
18
6
7
7
8
5
8
9
11
11
14
15
57
98
118
120
106
91
68
52
31
26
34
43
63
75
79
84
69
69
76
77
80
82
78
77
75
75
71
69
67
68
64
62
62
62
59
58
57
62
61
59
54
48
43
43
41
42
36
33
23
14
12
10
12
13
20
30
39
45
52
53
53
55
52
52
53
52
52
53
52
52
53
51
51
51
48
48
48
46
41
36
29
28
26
30
33
39
41
42
44
45
43
40
41
37
37
33
59
124
176
189
188
186
186
185
184
182
180
175
171
166
161
150
121
65
48
46
42
40
38
31
31
31
30
30
27
26
26
25
25
25
24
23
23
23
22
22
22
20
22
24
24
28
28
63
116
141
139
141
140
151
162
149
155
154
161
168
167
161
158
159
155
157
160
156
154
157
56
58
60
62
63
71
68
71
74
76
76
73
71
75
79
82
85
90
89
96
105
114
115
121
124
128
135
137
141
144
149
149
140
129
118
105
88
85
84
77
70
57
54
50
46
45
45
46
46
49
50
51
57
55
53
52
43
45
39
33
32
24
19
19
19
23
66
100
119
116
118
120
125
128
128
123
107
86
68
64
60
64
66
65
81
95
81
68
61
56
52
52
48
47
47
47
42
44
45
45
45
41
38
36
39
79
108
123
129
130
135
139
146
141
128
119
111
95
88
75
58
41
23
20
14
15
14
14
15
16
18
20
23
53
92
105
108
95
81
68
61
57
74
90
95
99
99
99
95
75
73
80
82
84
84
81
76
76
72
68
68
68
67
62
60
62
62
59
54
52
54
52
48
46
44
42
46
47
39
34
29
25
22
14
14
19
20
28
41
49
52
55
53
55
56
52
50
49
49
49
49
49
48
44
48
48
48
48
48
47
48
48
47
40
36
26
29
25
27
32
36
40
43
42
38
28
12
15
10
33
114
165
184
183
183
183
183
183
181
177
173
169
159
156
150
126
75
44
45
37
32
33
31
31
29
26
26
24
23
23
24
23
23
21
22
21
22
24
24
23
19
21
21
23
27
30
32
50
87
146
144
152
150
159
150
146
168
166
164
162
161
152
149
148
155
165
165
157
157
56
57
62
65
68
71
74
75
83
77
76
73
72
72
78
79
82
85
86
100
112
120
121
123
125
132
141
144
146
151
154
150
136
121
103
89
89
90
87
80
65
54
52
48
42
46
47
50
53
56
57
58
58
57
54
48
40
37
29
25
21
19
14
20
20
17
54
93
108
118
122
127
126
128
134
139
144
138
114
88
75
66
65
64
89
100
87
77
60
56
57
52
49
50
52
54
52
54
52
47
45
43
42
40
40
50
84
119
135
141
147
152
158
167
167
165
161
151
128
89
65
57
46
37
32
26
28
26
28
28
33
40
48
71
88
98
101
103
94
103
104
107
112
116
113
110
103
109
114
92
78
82
85
84
81
80
76
71
68
68
68
68
66
66
64
64
61
57
55
53
51
49
47
43
35
33
39
45
49
43
39
30
25
25
26
30
36
39
42
45
45
48
53
53
52
49
46
45
43
45
46
49
50
43
44
44
45
43
43
45
46
46
46
40
38
33
32
26
25
25
24
32
36
36
32
25
8
11
13
11
65
136
171
181
179
179
179
179
177
175
169
160
157
151
144
130
90
42
24
22
24
24
23
23
22
26
24
22
21
23
23
24
24
24
25
24
25
29
25
22
21
22
22
24
29
31
34
37
61
137
142
143
144
166
155
156
144
163
164
166
175
138
146
150
153
150
154
158
158
52
55
62
69
71
80
84
84
81
72
77
75
73
73
78
81
82
92
100
106
115
119
122
125
130
136
143
149
147
152
151
147
132
115
106
103
101
94
84
78
67
52
46
43
40
44
53
59
63
64
66
64
62
59
55
45
36
32
30
27
19
19
21
20
16
12
32
77
104
117
126
125
124
124
130
144
145
141
134
126
107
83
76
75
94
118
102
84
58
51
55
52
50
49
51
54
51
51
51
46
46
45
44
47
47
54
51
71
113
135
143
149
155
162
171
171
169
172
162
123
68
39
53
59
60
60
61
63
64
65
65
76
84
97
99
96
106
122
124
133
132
129
127
124
111
102
92
93
88
79
78
81
80
78
76
73
73
70
70
70
70
67
65
64
65
62
62
60
53
51
50
47
48
45
42
42
45
46
48
46
41
35
35
38
38
37
37
41
43
42
44
43
47
47
45
46
46
44
42
42
45
45
45
46
41
41
41
42
42
41
42
42
40
35
35
37
35
33
28
27
23
20
22
29
25
16
14
12
13
9
29
88
139
167
175
172
172
169
168
169
164
157
148
142
136
129
101
54
11
7
9
12
13
15
16
21
21
21
22
22
23
21
26
28
29
30
32
32
26
25
23
25
25
26
28
32
32
40
61
172
146
158
146
150
151
156
170
161
170
163
157
165
152
159
152
153
155
163
158
51
58
67
77
84
87
91
89
84
83
81
77
76
76
79
83
93
102
107
111
114
118
123
129
133
137
145
150
149
151
149
143
127
117
114
110
107
96
88
73
63
47
44
48
61
63
69
77
76
80
75
69
59
53
47
41
34
30
30
23
20
16
19
36
48
60
81
101
118
131
140
140
138
124
116
103
100
100
95
91
94
99
106
121
129
135
133
110
91
77
71
60
53
50
51
50
50
50
50
48
48
49
50
51
59
64
45
25
53
102
129
140
145
152
163
163
162
163
160
131
82
46
50
52
63
72
79
91
99
99
96
93
88
81
74
79
112
133
135
130
120
114
111
104
98
91
88
84
78
74
76
76
76
74
74
74
73
73
77
78
76
72
71
71
71
68
69
66
61
58
56
53
54
53
49
49
47
47
48
43
39
36
34
34
34
37
37
39
39
41
41
41
43
43
41
43
43
40
40
40
41
40
40
43
37
37
37
34
36
37
37
37
34
31
33
32
32
29
28
26
29
31
31
35
30
28
15
15
12
32
42
53
87
132
157
161
161
157
159
160
157
151
143
136
130
123
107
72
28
10
10
12
12
12
12
17
20
19
20
22
24
26
32
34
35
36
35
31
22
20
22
23
22
25
29
32
36
40
50
92
150
145
146
161
167
165
178
159
168
166
168
161
154
152
150
154
155
159
160
62
71
81
93
93
102
102
100
89
84
82
78
72
73
84
94
98
107
106
107
113
118
122
129
136
139
145
142
149
148
146
139
130
125
118
115
111
102
85
71
54
50
54
64
78
82
83
88
88
82
75
69
63
49
44
40
33
29
25
22
33
55
82
120
139
146
150
153
154
150
148
147
138
125
108
93
91
86
84
85
101
126
146
157
165
165
167
165
159
147
134
121
103
82
69
59
52
50
51
51
53
57
60
72
81
70
42
21
28
59
95
127
138
141
145
154
158
155
153
137
90
55
67
78
84
80
74
73
81
88
86
77
59
54
50
68
106
126
121
116
110
106
104
101
101
98
95
93
91
90
89
87
87
83
83
83
85
85
84
81
81
77
74
72
68
69
59
56
46
39
35
40
42
41
41
43
42
37
30
31
29
29
33
32
34
36
36
38
38
38
38
38
39
39
39
42
40
39
37
35
36
39
36
34
31
31
31
29
32
33
30
30
27
29
29
28
29
29
27
27
32
42
48
50
38
33
39
50
58
69
65
63
64
89
119
142
156
155
153
150
150
144
142
131
125
115
106
84
51
20
13
15
17
17
16
14
14
15
18
20
22
33
33
33
37
33
28
22
22
22
22
22
23
24
26
29
38
39
41
43
130
147
148
154
166
175
169
172
163
164
141
160
159
158
159
161
158
155
161
76
89
97
94
94
96
96
94
86
80
78
78
75
86
96
97
100
104
100
109
116
122
124
129
136
139
146
147
154
151
140
139
129
124
118
115
113
104
80
67
62
62
67
79
96
96
94
92
86
83
73
65
59
50
40
37
29
32
43
67
98
123
145
153
153
152
149
149
147
145
142
135
135
136
129
126
125
124
123
132
144
164
175
176
174
172
172
170
166
159
160
159
151
140
129
110
84
70
59
54
56
63
90
101
102
78
61
60
73
75
78
94
114
123
132
142
150
151
151
138
106
78
79
92
106
104
96
81
67
65
71
72
58
47
47
69
106
113
113
120
117
116
116
115
113
107
104
102
99
97
95
93
91
91
89
87
86
84
81
73
69
62
54
42
34
23
14
9
8
10
13
13
16
20
24
26
27
22
18
23
26
30
29
30
33
33
34
37
37
40
40
39
38
38
34
35
35
34
32
30
31
34
29
29
24
27
29
28
28
28
28
28
28
27
27
26
28
28
25
27
31
30
30
35
35
45
56
74
84
81
72
69
65
62
77
104
129
144
144
143
140
139
135
129
119
114
106
97
69
28
11
11
15
13
12
12
14
16
17
17
21
21
21
17
19
14
13
11
11
13
13
13
13
14
16
18
22
23
27
39
109
143
142
162
149
170
160
162
165
163
161
161
155
151
156
156
154
156
158
84
84
87
91
91
92
89
88
80
73
73
84
93
93
95
97
94
97
107
113
121
121
125
129
134
136
147
157
163
153
144
140
133
124
114
114
113
99
78
69
67
64
85
98
103
103
97
90
83
79
73
64
59
52
46
45
56
76
101
124
142
151
149
145
141
141
147
138
124
107
107
107
102
101
97
101
102
104
117
131
139
140
136
131
122
116
111
109
109
113
116
118
117
119
122
119
115
100
83
77
71
81
101
108
104
100
97
104
103
105
99
83
88
98
118
128
138
141
141
135
109
82
81
97
106
108
106
101
91
73
55
61
68
62
74
96
120
123
125
126
124
125
126
123
116
107
102
101
98
91
85
82
82
82
81
71
67
54
42
36
24
19
14
17
22
15
12
5
11
8
7
7
6
4
6
9
16
16
19
20
24
27
30
31
32
36
33
35
35
38
38
38
38
36
34
33
33
31
29
27
24
23
23
25
26
26
27
24
26
27
28
28
27
26
24
24
28
28
28
28
28
30
29
29
32
38
52
68
71
70
65
60
56
53
46
53
85
109
122
131
131
130
130
125
123
114
106
96
77
39
7
1
6
5
9
10
12
14
9
9
8
5
5
3
2
3
5
1
3
6
3
3
5
6
5
5
9
15
19
38
107
142
160
153
151
161
167
164
154
156
171
165
163
158
152
159
158
152
153
80
84
85
87
87
83
85
84
76
76
85
93
94
94
91
87
94
99
107
113
119
121
125
128
134
140
158
166
160
151
143
141
136
126
113
112
112
95
79
67
76
86
95
98
100
101
95
83
80
78
72
65
54
50
65
83
103
120
136
141
142
142
139
135
139
142
127
97
52
24
23
25
27
31
38
46
50
55
54
60
61
64
63
60
57
55
53
52
52
51
55
55
55
54
60
62
70
80
88
102
107
114
124
122
115
111
112
113
122
118
116
99
77
64
78
96
113
131
133
134
114
85
77
92
100
115
120
116
112
99
78
67
71
75
86
103
117
121
123
119
112
100
91
83
73
62
63
72
82
73
59
50
64
71
66
51
51
46
47
49
47
50
51
56
52
44
34
26
23
20
18
17
15
11
10
9
8
8
10
13
13
18
25
32
32
32
31
32
33
35
35
36
36
33
32
31
29
28
25
23
20
21
21
21
23
23
24
23
23
23
24
24
24
24
22
24
27
27
29
28
28
30
30
30
32
37
48
55
54
55
50
46
44
37
36
34
32
48
75
103
122
125
125
121
117
114
99
92
77
46
9
2
3
1
4
2
2
0
2
3
4
5
5
4
7
3
2
7
5
5
7
13
15
30
37
47
45
53
55
51
69
149
160
160
155
176
163
170
167
160
158
166
162
157
162
159
151
153
158
78
80
83
83
83
80
73
75
82
95
87
90
87
81
84
90
94
100
108
109
116
116
120
126
139
143
159
162
152
147
139
139
141
132
124
117
105
94
75
76
82
95
97
99
101
100
95
84
78
72
67
59
60
77
98
117
119
126
136
137
136
134
131
134
137
130
93
53
20
21
23
26
34
39
47
47
51
53
52
52
50
45
45
45
44
44
44
49
51
52
51
52
55
56
64
67
71
76
108
149
166
174
173
169
160
146
136
130
127
126
122
107
97
56
8
14
61
99
118
127
117
106
97
74
78
94
102
113
118
106
91
79
78
79
76
72
63
58
62
53
38
29
21
19
23
40
54
76
80
87
69
52
66
74
59
60
62
66
65
61
62
63
62
59
50
42
26
19
19
22
25
23
23
22
21
19
18
14
11
11
12
14
19
29
35
35
33
32
31
32
31
35
29
33
38
48
42
34
26
23
22
21
21
22
19
19
18
18
20
20
24
24
23
26
26
27
27
29
28
30
30
30
31
28
31
33
37
45
46
49
48
40
41
35
39
32
25
17
31
61
91
112
116
108
107
108
96
84
75
52
25
1
3
3
2
7
5
5
4
4
3
6
3
7
8
14
23
33
44
48
52
52
52
48
48
51
52
52
52
49
54
128
172
144
151
175
168
163
156
155
157
156
157
159
154
144
154
157
169
73
75
77
78
78
79
78
85
92
94
88
82
75
81
88
93
95
100
105
109
112
111
120
136
149
149
160
159
145
135
131
130
129
127
119
112
103
91
74
76
86
96
99
101
103
103
96
86
82
79
90
96
101
106
106
109
116
128
133
130
127
128
136
134
124
98
45
18
22
26
31
36
39
45
48
47
45
43
43
43
43
43
43
42
44
44
43
47
49
51
51
54
61
79
91
101
128
148
173
189
194
193
190
186
180
172
166
156
147
133
123
115
91
39
9
15
5
37
83
107
114
99
74
54
47
50
55
76
87
101
91
74
59
55
50
45
37
35
34
33
31
29
19
26
37
62
82
93
97
96
81
54
52
56
53
66
74
69
65
61
53
49
48
36
28
21
23
21
23
21
21
20
20
21
23
27
25
22
19
18
16
16
20
20
31
36
40
34
29
30
39
46
49
66
82
81
71
37
26
26
25
20
20
19
19
19
17
16
18
18
20
20
19
22
22
23
30
30
30
30
30
30
28
28
31
32
32
29
34
39
38
38
41
38
35
34
28
27
26
25
53
77
101
103
103
102
96
79
71
55
29
4
3
3
2
3
3
3
3
7
7
15
26
34
44
49
50
53
54
53
51
51
52
54
52
53
51
53
53
51
46
107
171
131
153
156
159
166
170
170
169
159
149
156
153
150
152
159
168
69
69
70
71
73
87
93
92
93
85
76
78
80
85
91
90
92
96
99
103
111
114
129
153
158
156
149
150
134
131
131
128
123
118
113
98
94
92
76
78
87
95
96
96
99
103
95
106
114
129
142
146
142
126
112
113
124
125
125
124
123
132
137
122
90
46
23
23
27
35
38
43
40
39
39
40
40
40
39
39
39
37
38
39
38
40
40
43
48
51
56
57
52
53
65
97
143
171
190
192
192
191
189
186
179
167
159
154
150
144
137
127
103
54
9
1
12
39
61
86
99
91
54
26
19
12
10
8
38
73
90
77
57
38
38
37
37
33
27
27
28
36
33
38
54
85
103
106
105
103
97
67
45
36
53
67
68
59
51
39
29
24
25
25
25
27
27
26
24
24
22
23
26
31
27
27
30
27
22
19
22
21
18
23
27
29
38
38
43
53
69
89
99
100
97
83
43
27
27
25
21
21
21
20
18
16
17
18
18
18
20
20
20
20
20
21
24
26
27
32
32
29
29
27
28
28
30
29
31
31
31
29
33
37
36
37
35
31
29
26
24
42
69
88
91
92
89
86
67
52
32
6
2
3
4
0
8
20
34
41
45
44
44
45
46
50
52
54
56
56
54
54
56
54
57
56
52
55
55
52
50
80
160
137
164
180
173
166
157
148
146
156
157
157
151
150
155
152
166
68
68
68
81
88
92
90
89
79
73
77
83
84
88
95
92
94
94
98
104
110
119
136
156
158
149
143
144
124
125
126
123
122
118
109
100
95
94
77
87
92
99
97
97
104
108
127
146
153
151
136
130
125
115
116
119
124
122
120
122
134
136
126
79
37
22
23
27
32
35
35
35
36
36
34
37
35
36
34
34
32
32
36
37
38
42
44
47
59
69
72
63
44
34
55
104
164
184
191
191
191
190
187
184
179
159
145
145
152
151
145
130
123
116
95
80
76
82
79
60
63
80
55
16
4
8
6
12
25
46
73
81
69
49
42
38
38
38
35
30
27
31
39
42
52
76
98
109
117
111
104
85
66
50
48
48
40
28
22
17
19
21
24
24
24
27
27
26
25
23
23
26
29
31
29
27
29
27
30
25
23
22
20
25
29
39
48
62
85
92
98
101
99
86
60
34
25
29
28
23
21
20
19
23
22
19
18
18
18
21
19
21
22
21
21
22
21
21
22
26
26
24
26
26
26
24
28
28
29
29
30
26
26
24
28
26
26
26
28
23
26
25
34
58
73
81
87
84
75
43
33
11
10
10
13
21
37
47
42
37
41
47
52
52
55
57
56
57
59
59
58
58
57
59
59
60
58
57
56
51
51
48
139
149
149
176
171
175
164
162
156
156
141
149
152
155
151
156
163
69
74
89
89
91
93
82
74
79
75
75
78
84
88
88
86
88
93
94
101
106
121
133
142
140
135
139
143
134
126
127
129
126
113
103
92
92
93
86
93
98
96
97
111
129
146
151
152
124
105
76
84
103
114
119
123
121
119
120
127
132
128
88
36
18
15
23
30
31
32
32
31
34
32
28
25
24
27
26
28
30
36
35
35
41
43
46
55
67
75
81
81
64
72
96
144
178
190
192
189
187
185
182
178
174
166
160
156
158
154
149
141
133
126
115
107
98
91
77
58
29
56
67
44
9
8
15
25
38
45
62
70
67
55
47
37
33
36
42
44
46
55
79
83
74
60
61
80
95
100
92
78
65
64
54
34
20
17
17
18
22
22
24
25
21
21
21
20
19
20
22
27
29
30
23
25
27
28
33
31
34
37
38
49
65
84
89
97
96
99
97
85
60
42
25
30
29
28
30
30
35
43
48
48
42
28
19
18
18
20
20
20
21
22
22
24
22
22
22
22
20
21
22
24
26
24
26
28
25
25
28
26
26
26
26
24
24
21
18
20
18
20
20
24
46
59
73
75
74
56
40
25
20
30
41
46
43
45
46
53
55
56
56
58
58
60
60
62
64
64
61
61
63
62
61
59
58
49
45
44
46
45
59
138
160
170
173
166
156
161
163
154
135
137
156
158
162
159
160
83
84
90
91
89
74
74
77
77
73
73
73
81
83
83
85
89
93
107
114
122
125
124
125
127
124
134
140
137
128
123
120
114
108
103
96
92
91
90
95
101
113
130
143
151
141
119
75
53
61
87
103
111
114
120
122
122
122
128
131
121
99
57
27
29
29
34
38
40
40
40
37
36
35
32
31
32
32
29
28
30
36
39
43
50
52
53
51
69
85
90
96
88
91
121
164
183
190
192
188
185
184
178
174
168
158
152
146
139
133
126
123
117
117
118
116
107
95
83
78
71
60
71
76
56
39
29
27
36
43
45
49
54
54
47
39
41
52
58
72
85
103
118
130
127
96
69
52
53
53
39
27
31
51
64
52
28
19
13
19
24
26
20
16
20
20
18
17
19
18
21
23
25
26
27
26
30
33
43
52
60
75
85
90
92
93
96
98
92
82
62
41
35
35
36
33
42
48
54
70
85
92
85
58
35
22
21
21
21
22
20
20
21
21
21
21
22
22
22
21
19
18
16
17
22
23
25
26
25
25
24
24
24
24
23
23
21
20
19
21
23
22
19
21
33
53
59
60
67
65
48
49
50
51
51
53
55
56
58
60
63
63
63
64
66
66
64
66
67
66
63
59
58
52
52
53
53
47
46
44
46
45
49
149
152
165
165
161
157
158
154
159
144
144
155
153
158
158
162
86
88
85
75
74
76
75
73
75
71
71
73
81
86
89
88
96
108
121
129
131
129
128
119
117
123
122
134
135
130
130
124
117
105
104
102
101
100
99
101
122
133
141
135
101
65
46
57
58
75
95
100
104
113
116
119
126
138
139
127
110
86
57
48
49
53
60
66
72
76
76
76
75
73
70
66
64
61
63
65
72
73
78
86
86
85
82
76
80
90
110
112
109
117
148
174
185
181
174
163
158
154
144
139
133
129
124
123
115
115
107
106
102
97
101
96
91
87
83
79
72
68
69
71
77
61
45
33
35
38
44
37
44
44
46
43
52
63
76
100
112
115
120
114
103
79
53
42
40
39
29
16
14
30
56
64
43
18
17
33
44
47
31
14
18
19
19
19
17
18
19
19
22
31
40
47
56
69
82
85
90
87
90
90
93
94
78
70
59
41
27
32
39
44
51
60
75
82
88
87
76
58
35
28
27
25
21
24
21
22
21
21
25
23
20
22
23
21
20
18
16
16
15
15
18
20
22
23
23
23
24
22
20
20
20
20
19
22
19
18
20
18
18
35
67
69
39
30
51
66
64
59
61
61
61
60
62
66
67
67
69
66
67
70
68
63
61
54
54
55
54
57
58
54
56
54
51
48
48
47
52
52
48
79
150
156
135
156
168
164
150
159
162
158
149
156
153
154
160
83
76
80
81
81
79
76
74
79
81
83
86
92
93
97
106
112
130
132
133
127
121
116
109
111
111
116
125
126
120
118
114
111
107
104
107
107
105
115
123
132
131
101
64
52
48
45
45
55
72
93
101
106
110
108
111
122
129
127
117
108
97
85
81
81
83
91
101
113
117
119
122
123
121
121
121
121
118
119
119
123
132
137
139
138
136
129
127
125
118
114
118
130
146
155
159
120
76
35
18
14
16
20
24
38
53
64
71
74
69
72
78
83
79
77
79
76
74
70
65
56
46
42
52
56
58
56
49
41
32
19
14
11
11
17
31
22
23
27
43
58
65
59
37
30
24
27
24
28
32
29
28
26
18
34
55
54
41
40
49
64
57
40
21
15
18
18
16
19
21
27
29
50
66
72
80
78
78
80
81
83
82
77
72
61
53
47
41
43
41
47
53
60
70
73
74
74
67
52
34
28
31
31
29
29
27
25
25
23
25
25
25
25
22
22
21
23
23
22
20
18
17
17
17
19
22
22
23
23
23
21
20
18
18
17
17
17
18
18
18
16
17
25
64
88
78
42
27
33
61
66
73
76
76
75
73
73
73
70
68
66
60
56
56
57
57
60
57
59
59
60
62
65
67
67
66
64
62
62
58
54
44
40
52
147
161
118
164
156
165
166
153
162
163
159
164
150
158
162
73
80
83
86
86
85
84
84
85
93
95
98
96
96
99
108
115
127
130
134
129
123
115
110
106
108
110
115
118
117
116
109
104
108
106
100
102
108
114
120
115
88
85
78
64
52
48
48
57
74
92
101
107
109
106
108
119
117
114
99
99
101
96
91
91
97
111
122
129
134
136
140
147
145
144
144
142
140
140
142
149
156
158
159
163
158
150
141
140
139
124
120
115
105
81
37
12
14
21
24
28
30
28
40
50
66
79
85
75
70
68
65
69
69
62
59
47
24
27
38
40
29
12
7
9
21
34
53
55
40
18
9
7
12
7
17
16
9
8
15
11
6
6
11
19
30
34
40
40
44
39
41
41
32
29
44
56
56
57
59
66
64
55
36
19
15
15
23
32
50
66
75
79
76
75
74
76
73
70
65
63
56
47
33
29
34
40
48
54
55
59
61
64
60
50
43
32
23
22
21
19
21
24
25
24
24
26
25
25
26
28
28
25
24
26
26
22
22
22
21
21
21
17
19
20
21
21
21
23
23
22
20
18
18
17
17
15
18
18
17
13
20
44
85
93
85
65
50
58
78
86
85
85
81
78
70
66
61
57
57
59
60
60
59
60
60
63
62
64
64
66
70
75
78
76
67
62
60
60
53
47
48
49
49
151
160
159
158
169
157
169
155
150
157
159
165
161
155
159
80
80
84
88
89
90
89
89
94
95
96
92
93
96
98
104
116
129
131
133
132
126
118
114
110
110
111
112
112
110
107
106
101
99
96
100
102
103
103
94
87
88
91
84
71
66
60
56
62
79
94
99
103
103
102
107
108
102
93
89
92
93
93
94
94
101
111
116
122
125
129
131
133
131
131
130
130
130
133
137
140
141
143
144
144
144
141
136
135
125
95
73
59
61
53
48
47
50
54
51
50
49
52
62
72
79
82
78
64
60
59
64
67
50
28
13
8
25
46
63
68
70
57
42
21
13
12
21
31
47
49
39
22
11
4
9
22
14
7
9
4
4
21
42
63
84
95
101
103
100
99
94
87
77
71
72
78
76
77
82
82
78
68
50
39
37
47
65
68
67
62
60
56
55
56
54
47
42
32
25
27
26
34
34
37
38
45
47
49
51
49
40
29
20
11
7
7
7
12
10
10
5
7
8
8
10
10
13
15
21
33
39
39
36
30
27
22
22
22
22
22
22
19
21
23
22
22
22
20
20
18
17
14
13
17
17
15
17
17
18
18
30
58
76
76
75
75
76
85
92
86
79
73
69
68
66
66
65
64
62
62
61
61
63
64
64
67
70
73
77
84
87
93
91
81
68
62
62
55
49
50
50
49
51
152
143
159
162
166
161
166
162
153
154
152
149
154
161
152
78
80
82
85
90
93
93
97
94
88
83
78
74
76
80
93
106
120
128
137
135
126
122
116
113
111
110
109
107
104
103
99
91
87
84
81
82
80
77
75
76
78
79
77
70
64
62
61
64
78
94
102
99
94
96
102
100
91
86
86
91
95
96
100
104
108
109
113
117
119
122
121
118
118
119
119
119
119
124
124
126
127
129
128
129
131
131
129
127
120
106
101
114
113
101
95
92
88
83
72
75
75
75
84
89
88
84
80
68
60
48
39
38
20
12
10
12
45
64
73
67
57
47
35
23
20
16
14
16
13
17
29
44
46
35
27
39
34
15
17
30
67
107
124
127
127
124
126
124
124
121
116
111
108
103
100
95
90
85
82
77
73
72
69
67
68
74
74
71
69
61
53
42
36
23
21
26
28
36
40
37
37
39
36
38
38
38
32
26
18
15
10
9
6
10
11
11
10
11
9
9
8
9
6
8
8
8
8
8
19
32
43
48
48
42
32
24
22
22
21
23
22
23
21
19
23
23
23
20
18
16
18
16
15
13
15
16
13
15
17
22
32
37
34
43
50
58
71
89
78
72
72
76
78
81
80
78
75
68
65
65
62
59
62
62
67
77
86
92
98
112
113
108
107
101
93
88
80
75
69
59
55
48
53
133
149
159
168
168
167
165
164
162
152
155
151
154
152
154
78
80
83
87
94
98
99
94
86
69
59
47
53
63
68
88
105
119
125
132
125
124
122
117
114
112
109
105
103
99
98
94
89
85
82
79
76
74
73
70
71
72
74
71
69
66
63
62
62
74
92
102
96
87
89
91
86
80
83
89
92
98
101
104
105
110
110
112
115
117
117
116
112
110
111
112
112
113
113
115
118
115
116
116
116
116
117
125
133
134
132
137
139
133
128
122
118
114
102
98
94
91
86
76
80
80
70
58
43
26
22
23
19
11
7
12
25
50
61
46
29
20
20
20
27
22
6
13
12
12
13
15
17
28
39
45
52
61
75
98
119
130
136
136
137
137
135
130
128
125
124
119
114
113
110
105
103
98
94
85
80
79
76
70
72
71
73
69
69
65
64
64
58
60
60
53
52
52
47
43
41
37
33
30
26
21
18
13
10
7
6
10
8
9
13
9
9
9
10
9
9
11
10
8
9
9
10
10
8
12
18
29
44
47
44
36
27
21
22
22
22
22
22
22
21
23
23
23
19
19
18
20
17
15
13
14
13
13
15
16
17
17
18
22
27
28
40
59
82
91
88
85
84
85
85
80
73
64
66
66
63
59
59
60
62
63
81
98
101
97
94
90
88
87
78
71
64
60
58
56
55
55
61
69
143
153
175
172
169
166
166
169
159
154
153
147
149
152
156
82
84
90
92
95
91
85
75
60
45
44
38
35
44
58
82
93
103
115
116
122
120
117
113
112
110
106
103
101
98
96
93
90
86
89
91
87
85
73
70
70
75
72
74
73
77
71
64
61
67
92
100
93
86
81
76
73
74
78
87
91
95
99
98
101
106
106
109
110
112
112
109
107
105
106
107
108
111
109
111
109
105
101
96
92
92
95
106
127
142
142
146
150
152
148
140
135
129
122
110
95
78
68
74
72
63
50
30
9
7
16
19
8
8
5
15
36
56
53
30
13
17
17
15
27
26
10
6
7
12
8
12
1
10
22
31
41
49
66
101
114
124
126
124
124
122
123
121
119
115
112
110
108
106
101
101
96
91
86
85
79
79
75
72
71
76
73
71
69
63
62
60
58
58
56
56
55
54
54
57
56
52
40
24
7
10
15
15
14
13
12
10
5
6
10
11
11
12
10
10
11
8
8
9
12
12
11
11
10
9
8
12
18
21
25
23
22
19
21
22
22
22
23
23
22
22
20
21
21
21
19
16
14
13
12
14
15
15
15
15
18
18
18
21
24
27
32
46
72
83
70
60
47
39
34
21
18
21
29
46
53
51
55
56
53
34
11
10
10
27
38
36
30
20
16
16
19
17
16
15
21
34
46
49
121
156
149
147
155
152
170
169
148
139
148
145
156
155
159
78
78
87
96
101
94
78
60
46
36
38
37
37
43
56
70
86
83
91
103
112
115
115
107
105
103
101
98
96
96
96
93
89
94
98
103
104
106
90
84
79
73
71
73
74
77
71
70
72
70
94
103
92
78
66
62
61
66
70
78
87
89
88
90
88
88
92
98
104
105
105
104
100
98
95
92
91
95
97
97
93
85
78
65
52
54
66
93
120
141
152
157
161
162
160
154
140
126
106
80
55
54
63
65
55
46
29
12
8
21
32
24
8
5
2
17
47
71
65
42
24
19
15
13
26
35
30
14
7
10
7
7
14
26
26
26
28
28
28
56
93
115
128
129
122
118
113
107
103
100
99
96
96
98
93
93
90
88
83
78
77
77
75
71
71
69
67
65
64
61
61
59
57
58
58
58
56
52
54
55
54
57
56
52
32
21
14
10
7
9
8
11
11
12
12
15
13
12
9
9
9
10
10
11
11
11
12
10
10
10
18
24
24
22
22
22
22
22
21
22
22
22
22
22
23
23
21
22
22
19
19
18
16
14
14
14
16
17
17
15
18
18
18
21
24
27
29
33
33
34
31
31
26
20
13
14
14
17
24
37
42
44
46
42
13
9
6
9
21
35
37
37
39
46
50
54
49
47
44
49
47
49
50
38
46
161
153
151
128
165
166
162
148
147
135
135
148
151
151
71
68
69
70
78
90
89
78
64
54
47
46
49
47
53
61
61
66
72
87
102
106
109
102
102
98
92
91
89
89
89
87
87
90
96
106
115
117
112
93
85
79
74
74
72
71
69
67
67
69
92
96
88
65
62
59
59
58
66
77
90
91
87
79
70
67
71
77
86
88
91
93
89
87
82
79
77
76
78
76
72
66
57
52
50
48
52
94
133
155
159
161
164
167
160
147
114
80
42
41
50
60
63
57
47
34
26
17
21
31
43
34
8
1
0
13
46
73
75
56
42
29
16
25
36
41
45
41
34
34
41
32
7
4
11
7
7
8
7
8
14
51
92
108
115
115
113
115
107
100
99
92
87
84
82
80
77
74
75
80
81
77
75
73
69
65
63
61
58
52
51
52
54
53
53
51
50
50
52
52
54
56
52
51
45
44
44
41
39
36
30
21
6
6
10
10
8
11
10
10
7
8
10
11
8
10
12
14
16
18
18
18
20
21
21
21
21
21
21
21
21
22
22
22
22
22
22
21
21
21
19
18
16
14
16
16
15
19
17
16
15
17
17
18
23
28
34
36
36
41
43
44
44
40
34
21
20
17
12
22
32
38
34
30
0
2
12
30
49
54
58
61
67
67
69
70
66
58
53
48
54
51
25
10
20
154
133
122
135
177
172
159
149
150
149
144
151
159
155
56
59
49
45
51
64
82
89
88
83
76
70
61
55
55
54
56
59
66
69
77
93
101
101
97
95
87
86
80
78
79
79
79
79
78
81
94
102
99
99
88
75
72
70
66
65
63
63
65
67
77
83
72
60
57
54
49
52
62
73
85
90
89
85
79
70
69
63
61
64
66
69
75
75
76
71
65
62
57
55
59
56
61
73
84
86
101
137
158
161
167
169
169
156
129
83
34
33
41
52
53
58
61
58
50
34
31
21
30
35
37
32
13
7
1
8
41
74
77
66
60
42
38
31
37
38
42
48
46
36
16
8
14
11
9
7
7
7
11
10
8
11
10
24
50
79
93
103
101
101
101
96
93
88
84
81
77
72
71
66
67
65
63
63
62
62
62
60
61
61
58
53
51
48
50
47
45
48
50
52
53
51
48
46
46
44
39
39
38
37
33
32
42
38
22
12
6
8
9
12
13
11
11
15
18
20
21
20
22
22
18
18
18
18
20
21
21
21
21
21
21
21
21
21
22
22
19
20
19
19
18
18
16
14
17
15
16
16
16
15
15
19
22
29
31
34
40
42
44
40
42
40
42
38
40
35
31
27
17
18
18
22
22
25
23
19
26
50
58
63
64
68
74
83
85
84
75
69
62
50
41
27
12
9
9
130
141
153
159
163
158
162
163
160
156
151
155
156
158
45
45
44
44
41
41
45
66
79
83
81
69
57
51
50
51
51
62
64
53
57
72
85
86
85
83
77
75
73
73
74
76
74
75
73
75
76
73
81
82
82
80
72
68
61
64
64
62
62
64
66
67
65
60
58
54
49
51
63
84
91
102
104
101
99
96
93
87
79
72
65
63
62
61
65
68
71
71
68
67
66
64
72
72
84
109
136
158
165
168
169
165
153
105
47
26
32
40
49
52
52
50
59
59
43
31
26
25
29
31
24
25
20
13
14
19
31
66
75
70
64
56
44
33
28
28
23
34
42
32
19
20
22
16
8
10
10
9
7
7
7
8
8
9
9
16
23
37
57
72
81
85
84
92
87
83
81
77
74
74
72
69
66
64
63
59
54
54
54
51
49
52
52
57
55
52
52
50
50
50
45
43
41
41
43
43
40
40
42
40
36
30
35
35
33
29
31
38
37
32
32
31
30
31
26
26
24
25
25
24
23
22
18
18
18
18
19
17
17
20
19
18
17
15
19
19
20
19
17
17
16
16
16
15
12
13
16
17
20
26
24
31
37
43
46
43
42
39
35
29
28
30
29
29
30
32
36
36
33
27
22
19
22
28
34
31
39
57
66
77
89
98
105
112
117
116
105
91
70
39
17
7
12
11
8
94
150
136
163
165
167
155
157
153
146
148
151
158
156
39
41
40
41
40
38
47
53
58
68
72
73
67
57
51
50
52
63
56
42
42
46
54
65
66
66
69
69
69
69
66
70
73
76
76
75
74
69
73
80
82
77
71
68
64
63
62
61
60
58
57
55
55
54
56
62
74
83
93
106
112
118
121
120
120
119
115
111
108
98
95
86
76
64
61
54
55
58
63
65
72
77
79
76
97
126
154
165
165
159
140
113
74
25
29
35
44
49
48
48
44
36
46
52
40
27
20
18
24
24
25
27
26
23
22
26
36
54
67
68
64
54
35
17
13
28
32
36
32
34
25
18
19
16
18
17
17
16
11
11
11
11
11
9
9
9
9
12
20
22
28
40
52
60
67
68
70
70
72
74
74
71
67
65
63
60
58
56
57
59
58
53
51
48
47
49
47
44
44
47
49
48
45
43
43
40
39
39
39
36
32
29
29
29
27
27
25
30
34
35
41
42
40
38
42
44
44
40
31
24
23
22
20
18
17
14
13
9
9
10
11
8
8
10
12
13
16
18
20
17
17
17
17
17
21
25
33
36
45
50
59
61
60
58
51
45
35
31
32
33
34
39
37
37
37
36
33
34
42
44
43
42
37
30
25
29
52
80
93
103
111
119
126
132
135
131
119
92
48
17
12
11
11
10
7
26
137
124
156
162
163
149
153
148
155
151
154
158
159
37
39
38
38
38
35
35
39
48
61
69
75
81
73
68
67
65
67
64
47
31
29
36
49
52
59
64
66
66
66
68
68
70
69
70
69
68
62
67
78
83
80
73
65
67
64
63
56
50
45
40
39
41
45
53
62
83
97
110
119
120
122
120
116
115
109
104
102
103
105
105
103
95
92
87
73
65
60
63
71
73
78
80
100
134
159
166
152
139
114
69
44
40
37
39
41
45
44
40
35
32
30
43
49
42
25
22
18
21
28
26
29
30
23
23
28
38
51
61
62
53
28
10
9
25
37
45
35
26
28
28
28
20
18
22
20
20
22
18
22
22
27
25
23
21
16
16
12
14
18
25
31
34
28
24
29
31
42
57
57
64
64
69
64
61
60
57
55
53
57
58
57
53
50
47
47
46
45
43
42
43
43
38
38
42
44
47
45
41
33
31
32
30
26
22
22
22
26
28
31
36
41
41
39
43
49
54
44
25
12
13
14
14
17
11
11
11
13
14
10
11
10
12
11
9
7
10
15
23
26
29
29
33
37
38
44
53
63
70
75
78
71
62
47
40
40
40
38
38
39
40
42
41
41
41
40
36
36
40
46
55
56
53
34
20
21
40
65
83
97
100
106
112
112
115
111
88
65
34
15
10
9
9
13
8
4
73
151
167
161
159
159
156
162
158
154
157
158
155
41
40
44
46
48
51
49
53
49
52
56
77
94
102
92
84
75
67
58
47
41
35
37
48
57
63
70
70
68
66
66
69
68
72
77
84
83
77
72
79
83
84
79
75
65
64
60
53
43
37
37
38
40
44
48
54
64
75
85
89
91
93
92
90
90
91
87
89
89
89
91
93
93
96
100
97
94
92
87
91
97
105
120
135
147
143
125
99
67
63
66
60
55
46
46
44
42
34
28
25
24
23
32
46
41
25
20
19
25
29
34
34
36
34
29
27
37
50
60
51
34
6
13
25
37
34
41
35
27
29
27
26
29
22
20
19
21
22
18
20
22
26
24
22
23
18
18
19
26
31
28
28
30
35
38
35
31
25
21
19
22
33
45
54
56
57
56
56
52
56
55
56
49
46
46
44
41
41
40
42
42
45
41
32
30
30
30
30
29
28
28
28
29
32
31
30
30
27
30
31
35
35
33
30
29
29
39
35
27
16
10
11
16
12
12
12
12
12
14
12
12
12
10
14
18
21
26
29
32
36
40
45
50
55
59
59
61
63
65
66
56
48
41
38
38
36
36
34
32
34
35
40
39
39
39
39
35
40
47
52
61
45
32
29
27
20
18
28
42
60
62
60
59
65
67
67
63
57
53
19
9
11
12
11
8
15
77
131
159
160
164
157
151
160
143
147
156
151
147
53
51
51
53
54
57
53
54
55
57
60
68
87
94
103
102
93
89
89
84
81
75
76
76
76
78
79
77
77
79
84
93
102
113
121
124
124
120
112
104
100
92
89
84
82
77
73
58
49
48
47
51
52
56
59
62
60
58
56
56
61
61
64
59
61
63
60
62
64
66
66
71
71
73
76
83
84
90
101
103
101
110
108
94
71
56
39
41
48
54
58
64
66
63
58
58
51
43
32
22
19
18
25
43
43
27
20
19
32
39
41
48
50
48
52
40
38
49
47
30
7
13
29
43
40
34
34
34
32
30
25
19
21
32
29
29
26
29
27
30
26
29
29
28
26
28
27
30
33
29
28
33
37
42
48
50
43
40
28
21
15
11
10
10
9
21
32
41
49
50
48
48
46
45
46
39
36
37
37
33
35
39
40
33
31
33
38
34
35
33
31
24
24
22
23
25
23
25
33
33
31
37
32
29
31
31
30
25
27
29
27
20
17
16
12
10
11
16
20
20
24
29
34
38
44
41
38
36
34
39
46
52
51
45
43
39
32
28
25
22
21
21
21
18
19
21
21
22
25
26
28
28
29
29
28
34
34
38
46
46
38
29
29
28
25
26
21
23
21
19
20
18
18
23
43
57
73
76
58
16
7
13
20
28
37
37
40
92
161
168
170
154
156
155
146
148
153
151
149
60
58
50
59
64
61
57
57
60
64
62
69
86
94
106
105
109
116
119
118
111
113
113
112
113
113
112
114
114
116
118
122
131
138
138
136
133
125
119
118
112
112
111
108
102
94
84
81
73
67
64
67
69
70
71
73
73
73
71
66
65
57
50
45
45
45
45
49
51
51
51
52
56
64
72
77
83
86
78
65
50
48
49
48
42
44
53
54
61
68
75
76
74
71
69
67
66
61
51
45
34
27
28
40
40
19
6
13
33
45
48
54
56
53
56
55
51
40
29
9
4
27
46
43
34
28
22
31
34
28
25
20
29
31
31
38
36
39
40
44
44
44
46
46
43
41
40
39
37
39
49
58
62
61
59
57
52
39
27
18
17
21
17
14
14
16
14
12
19
24
26
24
33
45
45
49
50
51
44
45
46
49
44
42
40
36
38
45
67
78
72
30
30
30
30
29
29
31
33
33
33
30
27
31
29
27
26
26
29
30
31
32
34
37
35
38
39
42
46
50
51
54
48
46
47
44
40
39
36
37
42
41
40
34
32
28
23
19
20
19
18
18
17
17
18
20
20
21
25
28
30
31
32
32
31
32
41
55
61
30
35
31
29
29
25
26
25
25
24
20
19
19
22
27
49
72
85
75
55
23
25
46
49
45
38
29
24
16
89
169
166
159
157
162
158
154
153
152
148
67
63
63
62
60
66
65
62
63
71
77
93
103
101
111
111
113
117
122
122
120
121
121
122
124
124
125
126
126
125
124
124
122
123
123
121
118
118
117
117
117
117
117
117
116
115
115
110
108
106
105
104
104
104
101
103
104
106
104
97
93
86
74
70
62
57
50
48
46
38
36
38
50
62
69
80
86
77
54
49
46
51
54
57
61
65
71
73
71
74
81
80
80
81
82
84
87
84
79
68
57
45
34
35
28
8
13
8
22
42
46
53
49
49
47
54
56
35
14
7
8
32
48
43
34
28
30
28
31
30
30
28
28
28
30
33
41
48
47
47
50
50
53
57
57
52
46
41
35
46
55
60
60
54
45
30
23
18
17
17
18
20
20
23
20
19
14
17
23
18
13
8
19
21
37
49
47
41
38
40
37
42
49
56
54
59
72
67
66
79
79
37
30
30
27
28
30
32
41
41
39
36
34
36
34
33
32
30
30
28
30
31
34
41
45
49
61
60
52
52
44
39
34
32
32
31
31
35
42
48
58
54
55
54
52
48
44
41
35
30
25
21
21
19
18
19
19
20
22
25
27
29
28
31
33
43
57
62
34
26
32
29
29
29
32
36
42
46
46
41
35
28
30
35
36
42
50
51
50
47
43
45
39
31
25
21
16
17
29
140
164
157
152
154
156
154
159
154
153
84
77
78
66
57
60
62
59
64
83
95
106
114
122
122
120
122
123
128
128
128
127
127
127
130
130
128
128
124
121
119
119
116
112
110
112
112
114
114
112
112
112
113
113
113
117
117
117
118
118
120
118
118
116
110
110
113
113
111
108
104
104
96
100
98
92
91
86
80
73
69
66
78
88
98
107
112
106
90
85
74
73
75
80
85
87
89
90
86
83
78
73
72
75
76
76
76
77
75
73
68
58
45
34
21
5
8
12
27
49
60
61
63
65
66
64
60
35
11
14
22
37
50
50
40
29
32
30
25
29
31
29
25
25
30
29
32
42
39
40
38
41
41
43
45
47
42
40
26
33
35
35
36
28
24
21
17
16
15
17
15
21
25
32
33
32
28
40
52
39
21
13
14
13
20
39
43
35
37
33
35
45
52
69
76
74
68
68
64
67
69
47
23
23
21
21
25
26
26
26
24
28
28
28
26
27
29
30
30
30
39
46
56
66
68
64
57
48
31
30
32
36
41
48
51
44
30
21
16
13
13
14
16
22
20
24
28
35
35
39
34
32
30
26
23
23
20
20
21
21
24
26
24
33
40
63
72
59
33
35
43
46
51
53
58
66
77
91
87
81
64
49
41
35
29
25
28
31
31
27
26
34
34
27
23
22
19
24
34
58
141
146
148
157
150
156
155
153
149
89
91
88
83
72
63
58
62
80
93
101
114
121
123
127
130
132
132
131
131
132
128
128
126
125
123
124
121
120
114
111
111
109
105
103
105
104
105
108
110
112
113
112
112
115
117
115
113
113
111
109
107
109
108
111
109
109
107
105
106
105
105
106
108
106
104
105
107
110
112
114
113
113
113
114
118
120
116
108
96
89
84
84
86
87
92
91
89
85
81
79
77
76
75
77
80
78
75
65
66
62
55
55
43
28
10
5
14
36
55
68
74
76
79
80
82
69
38
16
18
30
47
50
47
44
31
32
32
26
25
29
32
31
29
31
33
38
38
42
36
36
35
39
43
42
43
41
38
28
29
27
25
25
27
33
34
44
47
45
44
42
37
37
28
24
22
28
30
44
54
58
37
22
11
13
20
27
41
42
42
51
67
71
66
70
73
71
71
69
60
65
50
25
22
17
12
10
11
14
14
16
18
20
19
19
21
22
30
34
36
37
51
64
66
55
41
35
36
42
59
69
71
60
44
22
18
16
17
17
15
16
16
15
13
18
18
19
15
17
19
20
20
22
24
23
22
22
22
21
21
23
23
29
38
60
80
67
58
52
52
60
65
74
81
94
102
109
119
122
108
83
57
32
27
29
32
35
38
23
18
14
21
30
23
21
20
30
30
30
29
99
142
150
158
153
153
152
152
147
100
103
102
91
84
78
76
75
99
104
114
122
124
128
131
132
132
133
134
128
116
107
102
94
90
86
85
84
86
91
94
94
100
99
98
96
97
95
101
107
111
113
114
116
121
125
125
123
121
115
112
106
106
106
106
102
98
97
95
98
97
97
99
96
94
95
92
90
93
102
107
108
107
107
110
111
111
107
101
96
93
89
86
77
81
82
84
91
88
85
81
78
76
77
75
72
67
62
52
40
33
31
24
23
18
20
19
23
33
42
48
53
53
52
55
59
51
26
16
20
32
42
48
48
44
39
37
31
27
28
26
30
33
33
36
36
38
42
43
36
37
40
45
52
51
45
37
33
30
35
35
31
33
42
53
54
52
53
46
42
38
31
25
21
22
26
29
26
34
48
64
61
47
29
26
24
33
58
67
78
77
72
65
69
75
72
67
67
66
60
60
67
38
31
27
20
16
14
14
12
12
11
11
11
12
13
18
22
22
22
25
29
35
35
29
31
40
55
64
65
60
41
35
26
28
24
24
21
20
20
20
20
18
18
18
20
20
15
17
19
24
24
24
25
23
22
21
21
23
26
25
23
26
50
78
76
70
70
74
76
80
84
92
96
103
109
114
114
114
103
85
63
46
24
25
31
41
43
36
29
18
17
17
19
21
21
25
29
15
19
21
116
144
138
149
150
153
154
151
113
112
108
114
106
105
98
100
108
112
119
122
123
127
129
132
130
119
109
92
68
50
42
43
44
45
45
44
44
42
46
58
74
79
84
87
90
92
95
99
100
107
115
119
122
125
121
113
107
97
86
82
78
81
79
77
84
88
92
93
93
95
94
88
88
88
86
86
93
107
113
114
115
113
113
108
106
98
89
87
85
85
85
86
88
87
83
76
73
65
63
55
48
48
45
43
38
33
32
29
26
23
14
10
7
12
14
15
21
20
22
24
24
25
27
27
24
18
19
28
32
27
28
33
33
33
34
34
30
31
26
23
29
36
40
40
37
37
38
38
39
39
37
49
50
45
30
21
27
42
48
43
43
50
48
40
36
33
38
42
42
43
44
44
47
42
44
45
46
51
58
63
60
59
70
72
63
63
68
72
73
68
68
69
69
69
67
69
68
65
68
52
29
28
26
27
27
24
22
17
16
11
9
8
10
12
16
20
16
15
21
21
19
12
12
15
19
25
27
21
15
20
23
26
33
34
32
29
30
25
20
22
22
24
26
30
31
29
31
30
31
31
32
35
35
34
35
35
33
38
40
41
46
60
83
77
66
66
75
76
75
77
84
91
102
106
102
92
81
71
64
54
45
34
26
24
25
26
26
27
24
25
23
16
16
17
20
23
16
16
20
114
151
144
149
143
134
148
152
101
106
107
104
101
106
105
115
114
119
123
124
127
129
125
115
102
79
55
34
33
31
31
32
32
32
34
34
34
33
33
35
41
43
49
60
67
72
77
83
84
86
89
87
87
82
70
55
48
39
38
37
37
38
42
44
49
54
62
70
79
83
86
82
84
87
92
94
97
111
115
115
113
109
98
88
74
60
46
40
37
40
50
62
75
76
73
71
73
70
61
52
42
36
39
35
30
26
22
23
23
20
14
12
12
12
13
16
17
17
20
18
18
17
18
19
20
19
24
33
35
33
31
34
41
38
40
41
38
34
29
25
24
28
35
38
39
36
31
33
33
31
33
26
29
33
21
8
9
29
40
49
41
31
27
27
29
35
43
51
53
55
54
56
59
61
66
69
80
69
69
75
76
62
61
63
64
64
71
70
65
59
61
67
70
74
74
78
74
60
45
25
14
15
17
16
14
11
18
16
15
18
18
17
16
18
22
20
16
11
13
11
6
7
6
7
12
12
10
7
9
10
8
10
13
18
25
29
28
29
29
26
26
26
30
32
36
38
40
43
44
44
47
49
50
50
53
51
49
50
53
54
60
67
77
73
58
66
68
72
77
84
85
89
82
71
61
52
47
40
38
32
30
24
23
23
19
24
22
21
26
27
26
25
17
11
14
19
15
18
20
56
132
150
148
142
135
139
155
79
82
83
84
78
82
94
106
116
119
123
125
122
114
100
76
47
30
29
25
21
24
24
26
28
28
30
31
32
32
32
32
34
36
37
37
37
37
41
43
43
44
45
42
40
39
39
37
34
32
32
38
38
39
41
43
43
47
49
56
61
65
68
58
63
71
79
82
83
83
80
68
57
42
25
20
16
17
14
16
17
17
19
21
27
34
41
51
57
65
70
70
63
54
44
40
30
24
23
19
21
20
18
16
16
13
15
16
17
16
17
14
17
17
17
22
22
19
23
24
30
36
36
41
49
54
52
54
48
41
32
30
29
24
22
27
33
36
28
24
24
28
28
28
25
25
24
9
0
8
16
18
19
16
17
16
25
23
28
26
30
38
38
45
53
60
70
83
84
75
58
65
62
61
69
68
67
68
66
60
57
54
57
64
62
61
51
50
53
52
44
19
10
9
16
20
17
10
10
8
10
11
13
13
19
23
25
24
21
11
12
8
6
8
9
9
12
12
11
10
10
10
9
10
8
5
9
17
20
24
32
35
36
34
37
38
39
40
42
44
46
46
46
52
55
57
64
66
64
63
61
60
64
70
76
67
60
50
57
57
55
51
48
42
31
28
24
21
21
22
26
26
24
22
24
21
20
17
17
18
22
24
30
31
27
16
11
13
16
18
20
22
63
148
159
147
143
143
149
66
68
67
79
84
91
101
109
119
121
122
112
99
79
46
31
28
28
26
25
20
22
22
22
24
24
27
27
29
29
29
31
31
32
34
36
36
36
37
36
36
36
37
37
36
36
36
33
32
30
29
30
30
35
39
39
40
41
43
48
56
60
60
61
63
65
69
74
72
72
58
50
37
28
19
18
16
17
16
17
19
21
21
22
22
27
33
37
41
47
51
55
56
60
52
39
31
22
17
16
16
14
14
16
18
14
16
16
18
16
16
17
16
14
26
24
24
24
18
15
24
30
36
38
40
48
48
52
53
49
36
31
27
25
22
25
26
36
37
32
28
26
24
25
27
28
26
23
18
11
5
9
10
14
19
27
29
22
20
15
17
23
36
55
72
82
81
75
64
66
65
68
63
61
61
59
59
58
57
59
55
54
55
44
45
52
51
49
48
39
21
18
17
18
13
15
17
16
14
14
18
19
14
13
13
11
11
12
17
19
18
17
14
14
13
13
12
11
9
9
9
8
10
9
7
12
10
4
9
17
26
36
45
46
45
41
39
40
40
39
35
35
33
33
41
48
62
68
73
79
77
74
74
79
79
64
57
50
44
44
40
37
31
29
24
23
22
22
22
22
21
21
20
22
21
20
22
20
18
19
17
17
19
22
25
23
13
9
10
15
19
22
29
120
158
146
143
145
154
79
75
71
75
86
96
113
117
118
118
109
80
45
23
27
24
24
26
26
26
26
23
23
25
30
30
30
30
32
32
32
32
33
32
32
33
38
38
39
36
36
34
34
34
34
30
30
29
27
25
24
27
29
32
37
37
38
39
41
46
49
53
54
55
61
64
73
75
79
87
95
94
76
51
30
17
19
19
19
20
22
20
21
23
26
34
40
46
48
49
50
47
44
45
34
33
30
23
18
14
13
13
17
17
15
18
15
19
20
21
19
17
15
21
27
17
24
22
13
11
13
22
32
31
31
29
38
42
44
41
39
33
29
28
27
34
33
26
27
32
36
30
28
26
26
26
24
24
24
23
19
16
13
16
21
29
28
22
16
19
41
69
81
82
69
65
68
63
61
64
60
57
55
55
60
57
57
55
51
55
48
45
46
45
47
52
49
49
46
33
32
20
25
25
27
23
21
21
14
18
22
23
18
13
10
8
5
8
7
10
10
11
9
12
12
11
13
12
12
12
12
12
7
7
7
8
8
8
7
7
10
26
48
62
64
56
59
61
63
65
59
53
47
38
39
47
57
67
72
73
71
73
77
76
74
63
49
46
41
40
38
33
30
31
32
27
24
19
19
20
23
22
21
24
24
24
21
21
20
18
18
18
16
24
27
39
29
24
8
6
13
11
26
101
149
147
140
142
146
116
107
90
81
84
98
107
112
115
94
71
32
15
19
21
20
22
22
23
25
26
22
22
24
27
28
28
28
28
28
29
29
31
31
31
33
38
38
38
37
37
37
34
34
33
30
30
28
26
26
28
30
32
34
37
37
38
38
40
46
50
52
54
58
63
68
76
80
83
95
101
109
100
75
42
17
14
16
22
25
24
24
25
30
38
47
55
65
66
64
56
50
45
36
21
20
18
23
25
19
17
15
15
15
15
18
15
17
22
21
20
18
17
28
29
21
26
18
14
14
16
15
20
22
30
29
32
35
33
36
34
33
33
30
31
34
31
24
18
18
21
29
32
28
27
22
21
24
24
23
22
23
19
19
23
23
31
32
42
64
76
68
70
67
59
60
64
64
56
57
56
56
55
58
58
58
63
54
46
47
45
45
47
49
51
51
50
49
39
26
20
22
25
25
26
24
21
20
21
21
21
20
20
21
13
13
9
9
8
10
9
10
9
8
8
8
9
9
9
9
9
10
12
12
11
9
9
8
9
9
10
7
33
68
76
67
64
67
69
71
73
71
66
51
42
39
37
41
43
48
48
48
50
55
61
56
46
41
37
33
32
30
32
33
31
24
20
21
23
24
30
27
27
26
25
23
23
21
20
18
18
18
16
18
20
38
39
39
31
17
9
11
12
61
134
137
147
145
148
142
139
132
120
95
85
94
109
94
65
32
13
20
23
25
24
26
27
29
29
32
32
32
32
34
34
34
34
34
33
30
30
30
32
32
31
34
34
33
34
34
32
31
31
29
28
28
27
31
33
33
35
37
37
39
39
40
45
47
50
50
52
56
64
62
66
69
71
73
81
89
88
75
56
35
22
20
23
27
32
37
40
45
49
62
71
78
78
75
71
61
51
37
23
17
16
15
17
19
18
18
18
18
18
18
18
18
18
20
20
20
18
23
29
25
23
23
19
16
20
22
19
19
20
20
25
26
31
38
47
44
39
39
39
33
32
28
21
20
20
19
15
23
37
39
32
26
21
21
20
24
22
21
22
19
20
37
61
89
80
70
63
63
66
59
56
58
55
50
53
55
58
58
59
52
51
50
45
48
50
51
51
51
53
51
50
48
47
28
8
8
20
16
18
22
20
20
21
22
19
19
24
21
17
12
10
10
6
9
13
11
10
8
8
8
8
10
10
9
8
9
12
12
12
12
10
10
9
10
10
9
12
18
58
72
63
63
62
63
67
61
59
54
43
39
38
39
37
35
32
30
28
35
40
54
47
37
31
26
34
32
30
28
26
22
22
23
20
26
27
39
51
70
51
26
25
21
19
20
19
20
18
20
18
13
21
35
37
36
31
27
19
16
65
136
144
142
150
150
136
138
141
126
103
88
98
107
72
37
18
18
30
32
35
34
34
36
35
35
34
36
36
36
35
37
36
36
36
36
36
34
33
32
32
35
37
37
37
37
37
33
32
30
28
27
27
27
31
31
33
36
36
36
40
40
41
41
42
47
52
54
55
61
62
60
62
61
63
67
71
68
56
49
44
44
44
47
55
63
70
71
71
76
78
81
82
78
69
57
45
32
20
15
15
14
15
17
18
17
17
18
18
18
18
17
17
17
18
18
18
18
23
29
25
23
24
18
12
19
18
18
20
19
14
18
20
24
25
23
29
38
48
44
42
37
28
22
20
20
20
17
19
24
23
30
31
24
22
19
19
20
19
19
21
38
65
86
71
69
62
60
65
65
57
56
55
54
53
55
57
54
48
43
46
50
52
52
54
56
54
56
53
55
53
46
32
19
9
7
4
7
13
17
21
24
24
28
33
31
27
22
17
13
11
21
26
37
32
24
17
10
6
8
8
6
6
6
6
8
9
9
10
10
10
12
12
12
13
13
13
11
19
43
46
47
50
48
49
49
49
42
35
33
33
36
37
36
35
30
26
22
21
29
51
48
39
29
24
22
23
18
16
17
22
22
23
25
27
34
75
101
92
65
30
17
18
18
17
18
21
20
20
21
16
16
21
30
32
32
31
26
26
69
135
142
141
148
148
132
134
131
114
94
87
97
86
55
25
18
26
33
35
38
44
42
43
42
42
42
42
41
38
41
38
35
44
47
51
55
55
56
56
53
51
51
48
43
42
40
38
33
31
32
33
33
35
34
34
36
37
37
38
38
40
41
48
50
53
54
57
58
61
64
70
70
74
79
78
76
71
62
59
61
65
69
78
85
89
93
98
100
94
87
79
64
46
34
28
18
15
13
13
13
14
16
18
18
17
17
17
18
18
18
19
19
18
18
18
18
18
26
32
27
24
24
15
12
16
20
20
20
21
18
17
16
21
21
24
23
23
20
20
19
22
16
17
17
22
20
24
24
22
17
14
16
25
25
25
23
15
16
35
62
78
80
63
55
59
61
55
56
58
51
55
55
51
45
42
41
45
45
46
46
48
51
52
58
58
59
55
51
48
44
32
16
8
8
8
8
4
12
17
29
28
29
38
42
35
35
25
26
34
37
46
53
59
67
72
77
75
63
46
30
20
15
14
16
11
7
9
10
11
13
10
10
10
10
10
11
11
13
15
11
15
20
25
29
32
33
35
37
34
34
34
29
28
24
19
17
14
15
31
51
45
37
29
29
20
18
18
18
19
15
19
19
22
31
81
87
89
87
68
48
24
17
17
18
18
18
21
18
14
15
13
10
16
16
19
29
27
25
57
144
157
146
143
147
121
126
123
101
84
74
63
48
30
30
41
59
62
53
45
42
51
58
58
56
55
51
48
54
55
61
65
73
79
76
67
63
62
65
69
73
81
83
81
67
61
56
47
38
33
35
35
37
38
40
40
43
43
45
51
50
50
52
54
56
58
60
62
70
75
79
82
83
85
83
83
76
70
75
81
82
87
89
95
97
99
102
95
83
71
54
39
25
15
14
16
14
13
13
13
16
18
18
19
18
18
17
18
18
18
18
18
18
18
18
18
17
25
32
26
24
26
16
14
16
17
17
17
18
18
19
18
16
16
18
22
21
20
18
18
20
18
19
22
25
22
24
24
24
23
18
14
14
16
22
25
22
29
48
62
54
51
54
62
59
55
52
54
53
45
47
45
39
38
40
44
45
45
45
47
51
57
61
61
59
62
58
50
40
32
26
21
15
9
8
10
7
3
3
14
14
21
38
40
44
38
28
38
61
65
71
81
86
92
94
95
97
96
91
78
60
51
42
39
40
29
15
10
10
8
13
11
11
13
11
11
20
22
21
19
15
12
8
11
19
24
28
28
31
29
26
22
19
14
14
14
12
19
37
49
41
37
34
28
19
13
18
17
17
20
24
21
38
72
79
83
83
85
75
58
29
20
20
18
17
17
17
15
15
17
20
17
14
13
9
7
14
17
31
84
120
136
150
152
112
117
110
100
74
53
41
31
36
47
65
89
107
90
59
61
76
95
102
92
80
78
77
75
73
57
53
55
56
56
59
59
61
62
64
63
66
68
70
71
72
66
59
46
37
38
38
40
45
47
47
48
48
49
66
66
57
59
62
65
64
66
71
73
81
90
90
88
84
82
76
75
82
84
85
91
91
93
97
97
95
91
80
67
52
36
22
22
19
17
16
12
12
14
15
17
16
18
18
17
17
17
17
17
17
18
18
18
17
17
16
17
21
29
28
26
25
18
10
14
18
18
17
19
19
18
17
17
17
22
21
17
19
17
18
18
16
17
10
18
24
28
28
26
23
26
17
14
13
14
11
29
46
54
47
50
49
53
55
57
50
42
40
41
34
39
44
45
45
42
40
43
44
49
54
59
60
62
62
64
67
54
33
24
23
24
25
16
13
11
11
9
7
4
3
12
9
16
30
33
31
25
52
80
80
82
84
86
88
85
80
74
64
57
47
40
39
40
43
45
40
34
30
23
20
13
6
7
11
12
17
23
23
22
24
20
16
9
7
8
15
23
27
30
30
25
22
17
18
19
19
19
16
26
33
36
42
39
32
30
28
21
27
26
34
40
52
61
71
75
80
82
77
71
65
30
18
18
18
14
16
16
13
13
14
17
19
21
14
12
8
0
1
6
26
78
136
146
150
98
113
112
97
71
59
55
62
66
75
91
98
92
90
83
72
74
92
86
74
53
54
52
51
45
44
47
52
52
54
54
56
55
54
54
56
52
52
51
52
52
51
49
46
44
44
44
47
49
51
51
55
55
59
63
65
63
67
66
66
55
56
64
77
83
86
88
83
85
82
82
82
83
83
85
88
88
87
88
85
82
75
63
47
30
17
18
14
13
13
15
13
12
11
13
15
18
18
18
17
17
17
17
17
17
18
18
17
17
17
18
19
17
27
25
24
28
28
21
22
21
23
23
26
24
21
22
16
17
18
22
27
30
32
34
33
37
40
48
60
75
82
98
91
65
46
38
35
28
20
36
66
71
54
47
47
51
48
46
45
43
40
40
42
40
40
42
46
52
51
40
28
36
44
52
57
55
56
53
39
22
30
31
33
30
20
20
18
16
13
11
13
11
9
10
10
8
10
14
14
8
12
36
64
78
78
74
71
65
58
54
46
36
35
31
28
27
28
25
35
37
31
30
24
18
9
8
9
11
13
18
17
17
17
16
16
17
12
10
10
15
18
23
27
27
24
22
20
19
19
19
18
18
21
24
31
35
35
40
39
40
40
48
50
55
58
56
63
65
69
76
74
67
70
67
30
16
16
16
14
14
15
16
16
15
17
18
20
19
13
10
9
3
4
1
37
102
148
145
88
100
107
95
83
70
72
66
54
50
46
45
45
46
50
48
53
53
55
50
42
36
28
26
22
22
27
29
33
41
46
51
56
55
54
49
51
48
44
49
52
55
48
45
50
53
55
59
61
63
60
57
55
62
64
61
70
69
58
47
40
35
37
47
60
72
79
77
74
73
73
75
72
73
75
74
75
76
73
71
61
54
38
25
13
13
14
13
15
15
14
11
14
10
13
16
18
16
16
18
18
18
19
19
18
21
21
20
18
18
18
14
14
24
34
39
48
43
20
18
14
16
18
16
16
18
25
22
21
28
41
57
68
79
81
82
79
80
83
88
94
103
112
102
74
38
46
81
79
71
73
57
40
39
40
43
48
44
37
37
39
40
41
41
41
41
42
42
42
42
35
31
36
35
36
42
38
26
17
18
18
20
29
30
30
25
15
9
7
11
11
12
14
13
14
14
17
19
19
17
12
11
23
45
56
56
53
46
39
33
33
34
37
33
27
22
24
21
25
34
36
32
31
20
12
11
10
10
14
13
8
11
11
12
14
14
15
16
14
10
14
15
18
21
21
20
19
15
15
17
17
23
19
24
34
40
49
44
43
39
40
51
63
65
58
60
58
62
65
66
76
67
67
70
61
31
22
20
20
21
20
18
20
21
18
17
22
21
16
16
17
14
10
5
1
28
90
147
151
61
58
60
55
53
48
49
50
48
46
44
44
44
45
49
43
35
33
41
39
37
30
28
27
32
34
42
52
55
62
71
74
76
83
79
71
55
43
31
28
38
40
41
39
51
67
76
83
83
81
68
53
49
66
73
69
73
74
56
37
27
26
25
30
40
50
53
56
55
60
60
57
57
55
56
50
49
47
43
37
30
17
13
16
12
12
12
11
10
10
11
12
12
12
16
19
22
18
16
20
18
18
18
18
16
18
16
18
17
17
17
18
18
29
47
48
14
12
13
20
20
22
20
18
17
16
15
12
12
11
10
6
9
18
28
42
61
67
72
76
76
69
63
55
44
26
46
87
97
91
66
32
32
33
37
46
49
47
41
38
38
38
40
40
39
40
43
41
42
42
39
36
34
31
24
18
18
17
24
25
22
14
16
21
23
23
19
13
6
9
9
7
5
6
8
6
12
26
24
24
19
14
15
19
25
27
31
29
30
30
34
31
34
34
34
32
29
30
33
33
31
31
32
17
9
11
11
13
10
12
11
9
9
11
10
10
12
16
16
11
16
17
17
20
20
20
14
16
15
16
21
27
36
45
60
70
74
67
52
38
36
38
46
52
51
57
58
61
69
72
68
58
71
73
60
35
29
25
23
16
17
17
18
19
22
16
14
14
15
14
14
10
14
12
12
34
81
138
141
53
51
51
52
52
51
55
49
42
37
37
44
49
49
45
40
39
40
44
45
43
41
42
41
47
53
62
66
73
79
84
87
91
94
97
100
89
73
45
31
25
22
21
22
38
64
84
90
86
84
74
60
44
65
81
79
78
77
70
38
27
26
27
30
30
29
39
42
49
53
49
51
43
41
41
36
40
42
41
37
33
28
23
18
15
13
15
16
16
16
20
22
23
25
27
31
34
34
31
26
26
24
27
25
21
17
14
15
20
14
19
18
21
39
25
12
18
21
23
21
30
26
23
21
18
20
19
16
17
16
16
17
16
16
17
18
14
13
19
16
12
18
22
22
20
22
39
55
87
72
43
38
47
52
52
53
52
48
43
38
37
38
38
38
36
37
39
38
38
35
32
22
19
15
18
22
24
21
13
5
4
4
5
6
13
25
25
17
7
7
8
13
13
12
9
10
2
12
22
28
29
27
23
18
18
18
18
29
30
30
40
38
30
34
36
35
32
36
36
36
33
31
25
14
7
11
15
18
18
18
19
20
21
16
15
15
16
17
19
21
24
24
24
19
19
18
15
17
25
36
43
53
66
77
82
85
78
70
51
38
29
28
35
44
47
53
58
61
70
75
50
58
72
64
54
34
31
28
26
24
24
15
10
12
8
4
4
4
9
10
10
16
14
15
14
22
70
128
137
52
54
53
50
52
41
36
36
40
46
51
54
54
46
35
26
27
30
40
58
66
60
57
54
53
59
68
72
75
78
78
80
83
85
90
99
105
100
80
48
27
13
7
9
18
52
72
82
80
78
73
63
49
53
89
86
84
79
80
48
26
22
26
28
30
28
27
31
35
44
41
42
38
42
49
53
48
42
42
40
38
33
29
23
18
16
14
14
16
18
25
26
29
30
31
33
34
36
38
39
39
42
41
39
33
26
19
14
13
11
23
58
63
29
17
20
25
25
24
24
40
42
42
42
40
37
35
35
35
33
28
24
24
22
21
19
19
18
27
42
60
79
97
80
76
85
89
83
64
55
56
58
56
58
54
53
56
51
50
43
38
33
33
33
33
35
35
32
23
3
6
8
12
9
7
13
11
7
4
3
4
6
7
10
12
7
4
4
8
10
6
10
12
13
11
3
6
8
10
18
22
26
24
19
16
15
12
14
25
40
41
34
24
22
22
23
21
25
24
25
30
31
26
12
10
18
31
35
30
27
27
31
31
31
28
28
30
27
27
29
30
32
32
34
32
31
29
34
41
55
70
87
94
92
86
75
63
49
37
30
27
29
32
42
49
52
56
67
76
64
58
62
63
58
41
20
21
21
24
29
24
15
9
7
5
0
0
0
0
0
2
6
9
11
17
21
64
135
143
57
47
43
39
40
42
36
46
56
58
61
57
57
47
32
21
12
14
35
56
65
66
61
52
57
61
67
69
66
65
65
67
68
66
68
77
94
103
93
70
40
8
8
17
35
60
76
79
80
75
70
65
51
33
54
96
98
88
80
69
41
32
29
27
29
29
30
34
36
38
39
39
36
31
23
18
18
18
21
21
21
24
24
24
24
22
17
17
15
13
10
10
10
13
15
17
22
22
23
27
29
30
35
37
38
30
25
18
32
60
102
100
32
17
17
16
15
31
30
27
39
43
48
50
53
53
52
52
51
49
47
44
37
39
38
37
46
56
89
120
127
116
101
85
65
56
59
69
73
72
71
64
55
49
47
52
52
51
49
45
38
34
33
34
37
39
39
35
28
11
2
10
12
10
5
5
4
3
4
3
5
8
8
2
5
7
10
6
5
16
20
16
13
11
13
21
17
9
7
11
16
18
20
18
21
17
15
8
7
7
16
14
16
18
18
18
16
17
14
16
30
28
14
9
13
24
26
27
25
26
29
34
36
37
32
32
32
31
33
35
29
32
39
41
43
44
44
47
55
70
78
81
80
72
65
59
46
35
31
35
36
34
43
47
49
53
59
70
71
57
60
60
60
53
32
17
19
39
38
33
27
22
15
17
15
15
12
6
13
10
6
6
9
16
19
15
64
137
147
52
52
48
46
47
52
53
55
50
43
41
44
48
53
47
35
27
21
20
33
49
55
51
50
49
55
61
64
65
64
61
65
65
65
65
71
82
86
88
71
39
10
25
55
78
86
87
77
70
66
61
51
44
37
34
40
77
91
86
78
60
39
28
29
25
23
28
39
38
36
29
19
6
6
6
7
7
7
4
4
4
6
6
7
11
11
12
17
15
13
11
10
10
8
9
9
9
10
11
12
10
10
11
12
18
21
22
42
88
130
117
40
14
16
13
16
16
24
31
28
30
34
40
45
49
51
51
53
53
54
54
55
54
53
50
72
106
127
126
114
114
104
80
62
64
79
86
84
81
75
73
58
51
47
42
45
46
46
45
43
36
28
31
36
40
40
40
40
37
35
31
25
9
7
10
6
5
8
5
8
4
2
3
2
5
6
9
7
8
11
13
16
19
19
20
21
18
15
13
13
16
16
18
17
10
8
7
5
4
6
10
12
16
18
18
20
21
26
21
20
31
30
16
13
16
19
19
16
17
17
16
19
19
20
21
21
23
27
27
28
31
32
33
37
37
40
36
41
45
46
49
52
54
54
52
48
42
40
42
39
40
44
45
49
51
55
60
73
59
57
58
58
60
53
36
39
45
42
38
33
31
29
22
18
17
19
19
23
15
9
8
16
13
11
10
14
58
119
138
51
51
53
61
62
72
75
73
62
56
51
49
43
39
40
44
48
49
42
37
31
33
31
30
31
35
42
47
48
50
49
55
61
63
65
65
66
65
64
44
21
30
57
77
71
49
37
43
56
63
64
61
47
34
38
41
43
42
50
73
82
66
44
45
42
35
28
27
30
23
16
11
9
7
5
2
4
7
6
6
6
6
7
9
13
13
14
14
12
7
11
11
9
13
12
14
16
16
12
12
12
12
11
11
10
36
74
112
146
123
78
8
12
17
17
17
17
12
24
32
29
29
31
38
42
45
47
47
47
48
50
52
53
51
75
107
133
129
128
114
95
72
74
82
99
96
92
90
76
72
66
52
46
41
37
38
44
43
40
33
11
3
0
13
21
22
32
37
35
35
38
40
42
36
32
22
18
13
11
9
4
4
7
7
8
11
7
8
6
6
11
17
20
18
18
15
13
12
16
17
19
20
20
10
9
9
9
9
8
9
12
11
13
16
16
19
22
27
25
25
33
37
30
24
27
28
26
20
19
17
16
15
15
14
15
16
15
19
19
21
15
17
15
14
14
16
17
22
28
39
39
37
41
46
50
51
56
53
38
33
34
43
48
48
52
55
62
63
55
59
62
62
59
53
47
47
41
40
37
31
25
24
21
19
20
25
20
19
13
5
8
11
11
7
9
19
50
102
134
67
77
86
87
92
84
85
88
83
87
82
73
69
56
46
37
32
34
42
48
55
54
49
39
37
37
39
42
49
53
55
60
69
77
83
81
77
75
69
65
59
71
77
75
35
11
9
26
46
59
64
70
59
39
24
22
34
44
50
51
57
62
68
76
73
62
48
48
38
25
15
9
9
8
6
6
6
8
7
7
6
6
7
8
11
12
11
12
13
15
13
13
14
16
15
13
11
11
11
12
12
12
11
22
78
139
147
142
132
89
21
16
17
16
16
16
16
18
15
16
19
23
25
30
34
36
37
38
38
37
40
39
47
81
118
133
129
119
105
86
86
90
98
96
96
91
86
83
76
69
63
52
44
41
34
30
25
19
3
3
2
1
9
10
7
10
8
6
13
17
21
28
37
41
41
43
51
52
49
43
38
30
18
17
13
12
12
14
16
30
35
39
38
31
16
17
17
17
14
12
13
11
12
12
11
11
10
9
11
13
10
11
12
17
14
13
15
16
18
25
35
40
39
36
37
36
36
31
24
19
16
15
13
13
9
18
30
34
36
28
14
10
8
8
10
11
9
13
16
19
17
18
28
40
51
64
56
43
30
24
31
42
47
47
54
60
65
54
56
57
60
60
58
49
48
41
29
22
21
21
21
22
22
12
9
7
12
13
10
9
10
13
10
10
10
11
20
68
115
87
93
84
90
94
89
88
90
87
83
79
73
69
64
57
42
24
18
21
27
39
49
58
72
78
82
92
93
93
93
99
101
102
101
102
102
105
107
107
104
104
108
111
109
105
100
94
85
77
79
82
78
65
43
20
11
18
33
45
54
53
53
62
65
64
62
67
72
73
56
42
31
22
18
12
7
7
5
5
6
8
8
11
9
10
13
8
11
11
11
15
15
14
14
12
11
12
12
12
12
12
9
19
82
142
145
145
141
97
28
13
16
15
16
16
16
15
16
16
16
16
14
18
21
20
23
28
29
30
37
34
43
73
125
137
130
114
94
87
89
96
98
98
96
93
93
94
91
80
76
73
62
51
44
45
36
13
0
3
3
3
1
1
8
7
6
8
9
4
4
7
8
16
36
38
32
25
18
15
10
13
12
14
15
12
14
14
14
33
53
63
67
58
39
18
17
16
17
15
17
17
15
13
10
12
12
11
11
13
14
13
16
15
15
14
15
17
15
16
15
21
24
32
34
34
36
36
31
23
20
22
19
18
12
16
27
43
54
55
38
13
10
11
11
13
16
13
15
11
13
14
14
24
44
59
49
35
25
16
22
41
41
47
47
54
65
65
53
55
56
57
55
52
38
24
21
22
19
20
20
19
19
12
12
15
9
10
9
13
11
8
7
6
9
4
4
7
39
95
78
82
87
88
90
91
87
86
82
78
70
72
68
65
54
40
23
18
30
42
62
68
72
79
81
83
86
90
90
87
91
93
92
95
95
96
97
97
100
100
100
104
102
104
104
103
102
101
104
105
113
116
114
108
94
77
54
48
57
58
57
46
37
49
55
64
67
70
72
73
72
83
83
58
34
23
18
13
13
14
11
13
13
11
10
9
11
12
12
11
11
10
8
20
21
26
34
36
32
26
21
14
55
120
149
141
131
101
35
23
19
15
16
14
16
15
16
16
16
16
17
17
19
14
17
18
19
18
20
19
42
89
132
138
128
106
92
94
104
102
100
101
98
97
95
101
103
94
79
67
59
50
52
43
38
23
15
2
0
2
2
1
0
9
6
7
7
8
8
8
8
7
13
34
51
46
32
19
18
16
9
12
14
17
17
17
21
27
48
75
83
81
69
38
20
24
32
35
40
40
42
38
36
33
35
33
30
31
31
35
34
31
25
18
17
18
21
19
19
22
31
25
24
20
20
19
27
22
20
19
24
24
22
19
27
44
61
61
55
30
16
12
12
12
12
13
13
8
6
11
14
9
32
48
50
24
14
17
22
31
36
43
48
48
54
67
58
52
54
54
56
49
42
36
25
16
19
17
13
9
11
14
13
8
8
7
12
13
8
5
6
6
9
9
7
7
9
15
76
79
81
92
91
93
89
86
81
73
75
70
68
65
61
63
62
58
60
66
67
73
71
73
77
78
76
82
84
86
88
90
90
90
92
92
93
93
91
93
93
93
94
96
96
98
99
101
99
102
103
107
109
112
112
116
114
107
111
106
99
92
82
60
37
36
56
61
65
69
74
78
84
84
86
88
90
65
40
25
20
17
16
13
14
10
7
9
13
10
9
22
34
48
62
70
73
75
73
67
67
61
53
89
136
146
111
64
38
41
37
32
23
20
18
16
16
18
16
16
16
16
16
17
17
16
13
17
18
16
33
103
136
140
130
113
100
102
104
102
95
96
101
102
103
104
95
69
50
44
39
34
27
19
21
15
14
14
4
0
2
3
2
0
3
10
8
7
8
9
9
8
9
12
23
39
45
40
34
25
19
16
16
17
20
20
19
15
32
53
75
81
75
52
41
40
42
45
43
47
47
49
48
48
47
47
45
42
42
39
39
35
33
31
29
32
37
40
36
35
31
23
17
23
23
24
18
18
19
18
18
20
19
21
21
26
36
45
46
37
24
16
11
12
11
11
7
7
7
6
8
9
16
28
32
15
12
11
16
15
13
31
42
47
50
58
59
45
51
53
52
44
34
20
9
4
7
11
11
10
4
4
7
11
9
7
9
10
7
7
7
7
9
11
9
9
6
8
9
59
58
66
83
89
92
90
86
82
75
74
72
67
65
60
59
66
72
73
71
71
70
72
74
76
78
76
78
82
85
89
87
87
87
89
89
90
89
87
87
89
91
92
93
93
93
97
97
97
98
99
103
104
102
101
101
102
103
105
105
106
108
107
113
113
107
87
63
57
63
65
70
74
83
84
90
94
98
103
94
52
30
18
13
14
13
12
16
12
15
26
48
64
79
84
82
83
84
84
77
75
70
67
105
137
117
61
40
43
38
36
33
27
21
14
17
14
16
17
17
16
16
16
16
16
15
12
13
29
68
116
132
131
125
117
110
105
103
100
95
89
88
86
88
76
50
31
30
27
24
19
17
14
18
13
13
13
15
16
6
0
3
3
1
1
6
13
7
8
9
9
8
8
8
13
20
32
38
38
35
24
21
19
18
16
16
17
19
25
34
39
36
29
21
23
26
28
32
36
41
46
49
49
47
43
36
33
24
16
13
11
12
10
8
14
25
39
45
49
47
39
32
27
27
23
13
15
17
17
17
17
16
17
17
14
16
16
21
26
24
20
16
15
15
13
10
4
5
5
7
10
12
16
14
14
12
12
16
16
13
14
38
46
49
51
59
51
50
56
52
42
21
10
10
7
7
3
8
8
8
13
13
13
13
10
10
10
9
10
12
9
8
12
12
10
9
7
7
5
52
46
45
52
63
81
91
88
82
78
75
72
67
64
59
54
37
35
56
65
71
76
76
80
82
82
84
85
86
90
92
91
91
95
95
100
100
105
104
103
102
99
98
97
97
100
96
94
93
97
94
95
96
97
97
98
100
104
103
103
106
111
111
110
110
112
111
119
113
93
65
65
70
72
77
85
91
97
101
108
112
109
55
27
14
11
14
17
16
21
32
49
56
60
66
69
73
75
77
78
78
70
79
119
125
93
48
41
39
34
29
22
19
15
9
12
14
16
16
16
16
18
18
18
18
12
27
62
117
130
131
128
121
114
113
109
106
101
93
90
84
77
59
25
18
22
19
19
19
18
19
18
16
16
17
17
17
18
16
9
4
0
0
3
0
1
11
8
7
9
9
9
8
8
8
10
22
33
37
37
32
27
21
19
17
19
19
17
23
18
7
4
6
10
15
23
33
39
47
47
47
45
39
32
23
17
8
5
7
6
8
13
13
16
26
38
52
61
76
74
75
64
49
32
23
19
19
18
17
16
16
16
21
25
23
18
20
21
16
17
15
19
20
18
17
15
11
7
5
7
11
14
15
17
12
11
13
14
7
11
21
45
47
47
52
56
47
47
49
38
17
13
9
10
7
7
4
3
7
11
11
9
10
9
9
13
14
11
10
9
10
12
11
9
5
6
6
17
22
40
54
51
47
50
60
75
81
80
81
78
74
70
66
59
56
43
32
16
19
47
67
70
77
82
83
85
85
86
90
91
88
88
90
89
89
89
92
94
93
94
92
97
102
109
118
121
118
114
113
105
103
104
102
97
101
103
103
100
101
103
109
111
110
107
107
107
110
110
107
110
107
96
77
74
82
84
88
94
99
103
107
112
110
71
34
18
12
15
14
16
19
17
19
24
25
26
33
41
87
89
63
77
119
105
62
43
41
40
36
32
20
16
10
8
8
11
15
13
14
19
15
17
18
21
54
100
120
123
127
127
127
121
121
116
110
100
97
96
77
35
17
19
19
21
22
22
21
20
19
19
19
19
17
19
19
19
19
17
15
4
0
0
2
0
4
6
10
9
8
10
11
9
9
9
10
15
27
35
37
35
31
25
20
18
21
25
31
34
20
8
3
8
17
27
35
35
35
35
37
35
28
18
13
8
11
12
13
11
12
15
14
16
18
25
36
57
76
97
103
108
93
70
62
58
41
39
31
21
18
17
24
37
46
50
42
25
24
21
20
18
15
18
19
19
19
18
15
15
15
18
15
16
12
12
12
12
8
9
10
30
43
44
45
53
49
45
45
38
18
8
14
13
11
9
8
6
13
17
17
12
12
17
16
14
13
11
11
13
13
12
9
6
14
25
28
23
18
19
29
61
63
61
61
61
65
75
79
75
70
69
75
71
64
60
48
35
20
14
11
10
24
54
74
78
87
90
87
89
86
87
89
90
89
89
89
89
89
86
86
92
90
98
100
103
105
107
109
111
109
116
122
127
131
131
127
120
115
113
113
110
108
108
108
107
102
107
109
114
112
112
109
108
106
107
95
89
90
94
98
99
103
107
104
111
84
45
18
11
12
14
14
14
15
15
12
10
62
138
156
139
120
120
98
49
40
31
28
33
33
31
25
20
12
11
10
12
12
14
11
8
6
12
50
109
123
129
128
129
130
126
124
126
116
104
71
32
19
18
20
19
21
22
22
21
21
24
22
25
22
22
23
25
25
22
23
26
24
23
15
5
0
0
2
0
2
11
11
8
10
11
10
8
8
6
12
20
27
29
29
25
20
18
23
27
33
37
38
29
21
19
19
26
28
23
19
17
15
16
12
11
16
12
11
11
11
11
13
13
15
15
12
12
14
25
46
70
93
103
112
107
83
72
72
78
79
65
47
29
17
17
21
29
39
37
30
20
19
17
17
14
14
17
19
22
21
22
21
18
19
15
12
11
13
15
9
9
9
13
33
41
45
49
54
37
42
37
14
10
13
11
11
12
7
9
13
14
14
15
12
10
11
15
16
15
7
13
12
12
12
18
35
35
34
29
25
25
25
25
62
64
66
65
67
66
71
74
70
65
69
79
72
63
51
42
34
25
21
17
13
10
18
39
60
69
76
82
86
87
88
92
92
88
88
90
89
89
91
93
94
95
97
98
99
103
105
108
109
109
111
112
114
114
115
114
111
119
127
138
144
143
136
129
122
118
117
113
112
112
112
109
105
103
102
103
105
105
103
102
99
92
90
105
113
121
121
81
43
20
15
11
11
11
15
20
56
136
161
159
152
146
143
139
138
124
105
64
48
43
40
35
27
19
11
13
13
8
6
6
8
8
40
93
116
122
127
129
129
123
120
114
92
27
11
8
6
6
6
9
10
12
12
15
20
19
22
28
33
35
33
32
29
26
23
22
24
22
20
19
9
5
0
2
2
0
8
9
9
9
11
11
11
10
6
12
14
18
18
19
20
20
20
23
23
25
29
37
39
39
39
30
20
15
9
9
9
13
15
14
15
12
12
11
11
11
11
13
13
16
15
14
13
16
23
34
51
71
85
91
91
83
74
65
65
64
69
65
41
26
22
16
15
18
16
16
15
17
17
16
13
13
13
15
17
18
20
21
18
17
13
8
10
12
11
10
10
12
18
32
36
44
48
47
34
35
27
12
10
11
9
9
10
15
15
14
16
11
9
9
9
11
14
9
11
9
10
9
10
37
43
39
37
38
35
36
35
25
15
61
60
59
58
62
67
69
69
69
70
87
87
73
49
28
22
23
35
36
38
28
21
21
37
52
58
58
55
60
66
72
77
82
85
88
89
88
89
93
94
95
100
101
101
103
99
101
104
106
106
110
108
109
112
118
120
122
124
124
126
125
124
123
121
123
127
138
143
145
145
139
137
125
121
115
109
108
102
98
94
93
89
85
86
86
89
95
104
113
111
95
65
41
40
61
114
152
160
157
150
149
143
140
142
142
128
127
119
112
106
105
91
63
40
27
19
15
8
5
4
5
16
68
105
118
123
132
129
121
107
59
13
11
9
9
10
8
8
9
9
8
9
9
8
8
8
9
9
15
21
22
21
18
17
16
18
16
16
17
14
15
8
3
2
0
4
2
8
10
8
10
12
12
12
5
10
14
17
17
17
17
21
23
26
24
25
29
33
39
38
35
24
5
4
10
17
13
12
13
13
12
11
11
11
11
11
12
12
14
16
16
15
13
15
22
29
40
53
58
59
55
40
27
28
33
36
35
30
28
25
21
21
21
21
21
21
19
18
16
17
17
17
15
13
13
13
16
16
18
11
8
8
9
12
12
12
12
14
21
31
33
42
47
38
33
27
16
11
7
8
9
11
12
15
16
16
14
14
16
12
16
14
14
7
11
8
14
34
41
44
43
41
40
38
27
22
18
16
14
55
56
56
54
57
64
66
68
70
76
90
100
85
51
24
18
21
41
58
62
55
48
42
46
50
55
53
51
47
43
39
34
59
80
99
99
93
90
90
94
98
100
104
104
107
108
108
108
105
107
110
108
109
111
117
118
120
120
120
121
120
120
120
117
120
123
124
128
125
123
121
112
112
112
113
126
128
130
132
132
127
124
121
117
106
103
99
94
100
107
117
112
99
78
89
160
183
167
151
142
138
136
140
138
131
127
125
123
118
115
114
108
104
98
96
96
102
94
77
45
25
40
80
105
115
119
123
107
64
12
7
4
7
7
7
8
8
8
8
8
8
8
8
8
8
8
9
13
10
8
10
10
9
13
17
18
15
15
16
15
18
11
5
4
2
2
2
7
13
9
8
11
11
12
12
11
16
18
18
17
19
25
27
30
25
24
23
22
25
27
26
17
13
13
16
18
15
14
11
11
12
11
11
11
12
12
12
13
15
17
18
17
15
17
22
27
27
32
30
26
20
11
16
16
20
25
27
22
18
17
21
17
17
20
18
20
18
18
16
18
21
21
20
17
17
16
17
17
12
10
9
9
11
13
12
13
19
20
20
25
30
40
40
30
30
19
9
9
9
11
8
10
11
13
14
14
17
17
16
15
17
12
8
4
17
37
47
45
46
43
42
28
22
25
21
21
20
20
18
48
49
47
51
56
60
68
70
71
71
70
72
68
51
34
32
33
37
52
61
56
56
50
48
52
51
43
38
29
17
18
40
75
96
102
99
99
91
81
80
81
87
91
90
94
94
94
96
100
104
107
105
107
113
118
120
120
120
120
121
116
114
114
117
115
118
120
120
120
122
122
120
119
118
116
118
118
112
109
106
101
95
89
78
53
37
20
14
12
11
15
32
59
95
145
178
179
191
172
152
135
136
132
127
124
122
122
122
117
116
117
118
114
112
111
109
106
103
99
99
99
93
92
96
99
112
98
35
15
4
3
2
9
7
8
9
9
9
8
8
8
8
8
8
11
11
11
11
10
10
8
8
9
9
9
10
15
19
21
23
25
26
20
11
0
4
2
4
7
10
9
9
9
11
10
10
13
13
18
19
19
21
27
34
35
34
26
21
23
20
20
18
20
17
19
19
17
15
12
12
12
12
12
13
15
17
18
20
22
25
28
28
27
28
30
31
30
23
17
16
16
15
16
16
19
18
21
19
19
17
18
20
18
20
21
21
19
18
16
17
17
20
20
20
23
22
17
17
10
9
9
11
11
13
16
20
24
23
21
24
31
40
30
22
19
6
12
14
9
11
11
13
10
12
12
12
12
14
15
11
13
12
18
31
42
47
52
47
31
26
24
22
22
23
25
24
23
20
21
40
39
41
50
55
56
60
63
64
63
60
54
51
47
43
43
44
46
48
49
37
34
42
49
50
39
27
24
7
12
15
36
78
90
92
88
90
85
75
73
66
58
60
54
49
46
50
61
78
86
94
100
105
113
116
117
120
120
118
116
118
118
116
115
113
114
115
115
113
113
111
115
116
116
116
115
106
102
92
75
52
33
15
5
6
3
5
6
4
4
3
3
39
143
171
173
178
163
159
181
166
146
133
124
120
118
117
115
111
112
111
108
105
104
106
106
103
100
99
100
102
102
98
99
96
92
92
87
84
81
76
65
44
23
16
16
11
10
10
8
9
8
6
6
7
7
7
7
6
5
8
8
10
8
8
10
11
16
15
14
16
18
20
9
1
4
3
7
11
11
10
12
13
13
14
11
8
11
13
22
21
21
25
28
33
34
30
26
23
21
20
20
23
23
23
21
19
19
14
14
14
14
14
16
19
21
24
33
40
46
47
45
40
37
35
30
28
23
19
18
20
21
20
18
17
15
15
17
13
15
13
15
18
22
20
20
20
18
18
17
15
16
16
17
18
18
14
12
9
11
11
11
13
13
15
29
35
36
38
34
26
31
24
31
31
7
21
24
12
15
15
15
15
15
14
14
10
11
10
15
31
33
40
47
52
43
31
27
27
25
23
25
26
25
26
26
21
14
15
38
34
38
43
51
50
48
51
52
49
43
37
35
38
38
41
45
47
49
46
31
27
37
46
39
24
11
11
11
11
17
23
57
85
87
76
74
72
80
74
67
63
56
50
44
44
42
36
30
25
23
25
26
33
40
48
55
66
68
68
68
74
78
77
77
78
75
78
78
73
65
58
69
84
92
92
85
76
60
58
51
36
17
9
9
7
7
7
5
5
11
12
82
168
171
170
172
174
169
154
143
154
169
143
133
122
116
108
107
106
100
99
97
99
102
99
96
94
95
96
98
95
94
89
85
92
92
89
86
83
80
77
75
73
70
69
67
65
61
59
63
68
61
57
44
36
37
35
35
41
45
45
49
49
45
49
50
50
51
46
48
43
34
31
22
10
9
3
8
9
10
14
21
25
31
28
25
25
24
26
29
26
25
26
26
30
30
27
24
21
21
20
19
22
22
23
22
21
20
20
20
21
21
24
28
33
37
39
38
35
25
20
22
24
26
27
26
23
24
28
26
27
23
20
19
18
17
17
14
11
13
7
11
17
16
16
18
24
22
18
19
17
14
17
16
14
11
6
7
9
10
10
15
14
23
43
50
50
51
45
26
23
35
60
44
22
15
19
15
18
19
17
15
19
17
15
13
18
30
36
41
47
50
40
35
36
34
34
30
28
25
19
17
13
10
8
10
11
10
52
43
44
52
60
53
40
36
45
48
46
37
31
32
36
36
37
40
41
46
38
36
33
32
21
14
11
9
11
14
14
20
34
66
81
77
72
66
57
61
67
69
62
51
43
40
36
29
26
25
22
21
17
12
9
7
4
3
3
8
11
10
9
12
10
8
12
13
15
17
12
7
20
41
67
79
79
71
63
58
52
40
25
18
13
15
24
32
43
67
81
85
105
164
171
167
160
159
156
154
147
144
134
121
127
154
151
131
122
116
110
103
99
96
98
95
89
91
91
92
89
90
86
83
83
86
88
86
79
79
78
78
71
70
71
67
65
67
66
66
64
65
68
65
60
58
56
54
56
58
61
59
56
59
61
56
55
54
58
59
59
58
65
67
68
71
70
64
51
38
24
19
21
20
29
29
26
26
28
25
29
26
22
21
22
30
31
35
34
31
24
19
19
19
19
21
23
24
23
24
27
29
31
31
28
27
23
19
19
18
18
18
20
20
20
21
25
25
25
24
23
20
17
13
16
15
14
12
11
11
14
25
25
27
33
36
40
43
44
45
43
43
39
44
41
39
33
23
17
16
11
10
9
13
16
35
47
51
52
46
32
28
54
61
36
13
14
12
13
17
19
17
14
16
15
14
29
44
42
51
47
45
40
38
37
32
27
25
16
13
8
8
7
13
11
12
11
11
6
41
40
45
50
50
42
26
16
26
31
33
30
32
30
30
31
31
31
33
34
38
38
27
12
14
10
13
13
11
13
9
16
22
39
61
75
72
68
58
52
47
45
50
53
45
38
32
28
26
22
20
17
14
7
6
5
4
5
7
8
12
9
8
8
8
8
10
10
17
27
18
14
12
9
14
38
56
53
44
38
36
36
33
26
22
28
52
70
78
85
98
106
111
126
158
164
160
154
148
139
136
134
132
128
126
119
111
101
110
134
141
124
112
109
104
94
91
96
93
87
84
82
82
84
84
82
81
76
78
78
76
69
65
68
65
62
63
63
62
62
62
63
63
60
59
59
60
59
59
59
58
57
60
65
59
61
61
62
68
67
64
66
68
69
69
69
69
67
75
79
84
86
67
41
33
26
25
28
29
29
27
24
24
26
27
31
35
43
41
41
31
22
23
21
21
20
20
20
21
25
30
29
28
23
20
20
21
20
20
20
19
19
20
20
20
22
27
30
29
22
20
22
22
17
14
17
19
20
25
26
28
29
31
34
41
43
45
44
46
48
49
52
53
60
60
63
63
63
62
65
63
61
50
41
40
37
42
48
55
46
36
37
56
62
36
20
15
13
14
15
12
14
15
16
18
43
50
56
52
47
44
42
32
26
23
22
14
11
15
12
12
14
12
11
13
14
11
8
8
23
29
21
17
19
14
13
12
10
11
15
15
17
17
17
18
18
18
21
23
27
25
20
12
11
10
13
13
10
11
11
10
12
21
30
60
70
71
65
56
50
46
41
35
28
29
28
27
21
17
13
11
7
3
7
7
7
11
9
5
10
10
8
9
10
12
14
18
11
18
15
16
17
17
19
16
13
13
22
23
20
20
24
23
19
23
50
75
90
99
107
110
105
100
91
148
160
151
144
133
127
124
123
119
117
112
110
109
105
105
106
97
92
86
100
117
127
120
113
107
103
97
92
90
88
83
81
81
80
72
67
67
65
67
63
61
61
63
61
61
61
60
58
58
58
58
59
57
57
56
57
59
59
62
62
61
59
61
60
58
61
64
66
67
67
65
67
69
78
78
81
82
90
90
85
49
28
24
21
20
22
22
23
25
24
29
28
33
35
35
30
28
24
22
20
20
18
19
19
19
22
26
28
26
26
26
24
22
20
20
18
18
17
17
17
20
27
29
32
32
24
18
12
7
10
5
9
13
13
16
16
22
26
30
35
37
42
45
49
51
57
59
64
66
66
69
69
67
66
60
57
58
52
53
52
50
49
50
53
48
37
38
45
55
46
26
17
16
15
16
10
16
13
18
48
61
57
51
51
45
41
33
16
13
19
16
14
16
14
14
13
10
11
13
10
11
11
7
7
20
16
11
7
10
10
11
12
7
4
6
6
8
6
5
8
8
9
13
13
15
15
14
9
12
13
10
10
10
13
12
10
11
16
21
30
43
56
62
59
54
47
43
37
32
29
21
14
13
10
7
6
4
5
8
9
11
12
10
10
10
10
10
11
14
14
13
13
12
11
12
15
15
19
22
18
17
19
19
15
11
6
11
17
18
12
35
81
97
101
101
99
89
80
71
51
122
146
141
137
131
124
122
119
113
109
107
108
107
101
98
102
102
96
95
94
89
85
82
82
75
66
70
77
83
86
88
91
93
90
88
85
87
85
82
80
78
77
73
77
78
78
76
73
71
71
71
65
65
65
66
68
67
62
62
59
59
59
57
56
58
57
57
57
57
59
61
66
71
73
80
76
83
83
84
35
17
18
16
17
15
17
20
17
22
26
28
30
34
36
41
41
38
38
36
31
21
21
19
19
19
19
22
26
29
31
28
24
22
20
18
18
18
18
18
19
25
36
39
37
27
15
7
7
8
7
8
10
15
19
23
26
29
34
36
40
45
45
47
47
48
48
48
52
52
55
55
53
48
46
33
22
17
18
20
16
25
32
40
41
41
32
34
39
43
32
19
17
17
20
21
19
27
59
63
57
53
39
29
15
18
19
20
20
19
18
18
15
15
12
12
11
14
15
10
11
9
7
7
15
17
14
12
12
13
12
15
8
8
8
8
8
7
6
5
5
5
2
2
5
9
11
9
9
9
10
11
11
11
12
10
11
13
18
26
27
34
47
51
58
47
41
37
32
31
26
17
16
11
5
4
4
5
7
9
10
11
10
9
8
8
13
10
17
28
24
21
15
13
12
11
12
14
17
17
18
23
30
15
9
7
7
5
9
11
27
80
94
96
101
99
92
74
49
51
42
43
87
132
132
132
123
120
115
110
108
107
102
98
97
99
98
94
89
89
90
86
86
85
84
79
78
77
76
71
71
71
69
66
66
65
59
58
58
54
55
54
54
51
53
55
50
48
50
52
52
52
51
53
56
59
59
58
58
62
59
63
66
66
66
73
73
77
76
80
80
80
83
85
80
83
43
17
18
18
21
25
29
27
26
31
32
36
36
35
32
32
30
27
25
24
22
23
24
25
25
22
20
18
18
18
18
19
22
24
28
28
28
26
24
22
21
15
18
19
24
34
39
40
31
16
16
16
15
15
19
18
13
16
21
22
22
23
22
24
30
31
33
36
43
45
44
47
44
31
18
13
13
17
16
20
13
18
16
17
17
20
29
32
33
37
38
32
34
31
20
23
22
24
24
44
60
48
43
29
9
11
14
17
17
15
16
16
16
17
17
17
19
17
14
14
14
11
11
10
8
7
7
9
13
17
15
15
18
17
14
11
8
8
8
9
9
10
5
5
7
6
6
6
6
8
11
11
9
7
8
9
12
11
11
14
12
17
23
27
30
38
45
48
50
46
43
37
34
29
23
17
10
0
3
4
7
5
7
10
10
9
10
12
9
9
16
34
50
64
72
71
62
47
22
14
16
13
15
15
18
27
22
13
12
9
6
6
6
16
62
82
94
102
94
71
43
40
36
36
36
37
34
46
105
120
120
114
108
107
110
108
105
99
99
97
92
91
91
92
90
88
85
83
78
78
78
76
74
73
71
67
69
69
66
60
58
58
57
57
54
53
51
50
46
46
47
49
51
54
56
56
56
54
58
61
62
64
65
65
67
73
74
70
76
79
82
83
75
78
73
74
46
20
19
19
19
19
19
19
15
13
14
17
17
16
18
16
15
16
14
15
15
12
13
14
19
23
25
25
25
20
18
17
15
15
15
17
19
22
25
29
33
30
28
26
19
18
22
28
39
41
43
37
27
19
21
22
22
24
26
21
15
12
15
15
18
22
22
21
23
29
26
22
15
11
10
10
13
14
11
13
13
15
19
19
17
18
15
10
11
18
18
14
23
39
36
31
27
23
24
28
37
50
56
43
27
16
18
18
16
13
11
11
13
12
12
14
16
14
14
18
17
14
10
10
14
10
7
8
12
12
9
7
9
8
13
14
12
11
8
4
6
6
6
6
6
5
5
7
6
6
6
6
6
7
6
8
8
8
10
11
13
13
17
16
21
25
28
31
37
45
50
50
58
58
53
46
40
34
26
14
4
4
4
6
10
10
9
10
15
17
14
10
8
22
40
52
69
77
85
84
73
69
46
23
14
16
14
15
15
16
15
12
9
6
7
7
8
48
81
99
81
46
35
35
34
31
29
29
29
29
30
33
61
91
113
119
119
116
112
109
104
103
100
93
94
92
92
91
87
84
80
78
79
81
72
72
75
75
71
75
73
64
61
59
58
57
61
57
51
48
47
42
43
41
42
45
47
47
49
54
56
62
65
63
65
67
69
71
72
78
76
76
70
77
61
29
8
8
13
14
17
16
16
14
15
15
17
19
19
17
17
17
16
16
16
16
17
17
19
19
19
20
17
16
17
22
23
25
25
21
18
17
17
16
19
19
20
20
23
26
32
33
31
30
25
24
26
40
49
52
49
36
31
33
32
32
32
32
32
27
22
21
21
20
28
24
16
11
9
10
15
14
15
15
12
11
14
10
12
11
14
16
19
17
17
20
12
11
12
12
7
10
23
36
35
29
26
29
35
47
49
31
34
32
26
23
21
19
17
14
12
8
10
12
13
13
13
13
13
11
11
9
7
8
13
13
13
11
11
9
5
3
4
6
14
15
11
10
6
3
4
5
5
4
3
3
3
2
2
2
4
4
4
5
5
7
8
8
7
9
8
9
15
19
22
24
29
40
45
54
64
67
71
73
75
71
65
62
46
21
7
10
11
9
10
8
19
30
32
20
10
9
25
40
52
63
69
71
76
74
69
60
37
25
17
19
19
15
15
16
13
9
4
3
3
2
30
81
79
31
19
27
27
27
26
27
27
27
25
25
24
25
46
87
103
106
104
119
115
109
108
106
102
96
94
92
88
84
88
85
80
82
83
76
72
77
74
73
73
70
66
60
60
58
59
54
52
46
39
39
33
19
7
6
8
11
6
9
31
46
58
52
46
36
42
44
44
41
32
26
24
24
16
12
10
11
13
14
13
17
18
18
18
15
15
15
15
15
15
13
13
13
15
15
16
16
18
18
20
20
21
18
18
19
20
24
27
28
26
24
21
19
20
19
18
16
20
20
20
20
22
26
30
30
30
32
40
47
50
52
47
40
37
38
38
37
38
37
35
27
21
20
19
28
25
17
11
14
13
13
13
13
13
13
14
13
11
12
8
11
13
16
16
17
20
16
12
11
14
9
11
15
27
38
37
32
32
35
45
38
38
36
36
33
32
28
24
18
16
17
18
10
13
11
12
12
6
8
6
7
7
8
7
4
6
7
6
6
65
44
31
19
14
24
27
22
14
13
14
13
17
19
19
19
21
21
23
25
25
25
23
22
17
16
14
13
11
11
9
6
7
12
16
18
20
22
25
26
34
45
49
53
56
60
62
63
65
54
35
11
13
10
11
9
7
27
40
31
18
6
7
17
19
33
35
35
38
42
44
42
41
32
20
17
18
18
16
16
14
13
9
7
7
7
4
19
50
44
19
21
20
20
20
21
22
22
23
19
19
17
19
19
18
49
88
104
112
112
102
88
79
93
96
92
94
93
93
89
88
84
86
81
78
78
76
72
68
68
65
59
54
52
51
40
30
23
9
4
8
5
5
7
3
3
4
8
13
35
31
17
12
10
10
12
17
15
12
10
10
11
13
17
12
13
12
15
18
16
17
15
13
11
13
13
13
13
13
13
13
13
13
15
15
16
16
18
20
21
21
21
18
18
17
16
20
28
31
32
30
26
21
23
22
26
29
23
19
18
20
17
18
20
23
27
30
37
43
45
46
47
44
43
45
44
43
43
44
39
32
27
23
24
25
24
17
14
14
13
11
11
12
12
12
13
13
14
14
11
11
14
15
15
13
13
14
11
11
14
11
13
20
26
29
36
39
34
29
28
32
36
36
36
33
35
32
32
28
23
21
16
13
11
5
5
6
7
9
12
7
6
6
5
3
9
16
16
17
90
89
77
65
50
39
42
34
29
29
36
44
47
53
59
58
61
67
77
82
86
86
84
80
73
68
61
52
46
37
27
20
17
21
19
18
22
20
18
9
6
8
10
13
16
13
12
15
18
16
9
10
6
9
9
11
18
37
45
27
11
4
7
7
8
10
8
8
10
7
7
9
8
13
12
15
13
11
14
13
12
13
8
7
9
9
7
9
26
19
13
13
18
21
19
18
18
18
19
15
15
16
17
15
13
16
19
28
72
100
102
95
98
111
102
91
74
79
79
71
71
66
60
57
59
58
57
44
20
10
13
15
13
8
8
10
9
15
11
7
6
6
6
6
6
10
7
7
39
31
14
9
5
10
12
14
14
14
12
17
7
14
13
13
16
11
9
9
15
13
9
7
7
8
11
13
13
14
14
14
16
16
18
16
16
17
17
19
21
18
20
21
20
18
19
18
18
23
31
37
35
37
31
28
29
33
38
39
38
32
27
27
23
24
20
21
25
27
34
38
41
45
44
49
50
48
46
43
43
37
35
30
22
21
25
19
20
12
11
13
12
12
12
11
12
12
12
13
15
15
13
12
13
14
14
14
14
10
10
10
9
10
14
12
27
46
68
61
45
27
22
27
30
30
29
29
31
31
31
29
20
18
9
5
3
12
16
13
1
1
4
4
5
5
8
14
15
14
16
56
79
86
88
85
73
64
52
48
44
51
56
62
68
78
85
92
98
111
118
129
133
131
128
125
119
107
98
87
75
65
51
40
35
35
30
22
17
6
8
9
9
9
7
7
4
4
3
8
9
11
8
8
7
9
9
36
48
42
26
12
6
5
9
9
8
7
7
7
9
9
11
11
9
12
13
13
11
13
10
12
14
10
8
11
11
9
6
21
18
12
13
15
12
13
16
20
24
24
22
24
23
17
13
10
14
16
19
28
51
85
95
109
113
114
109
95
80
67
60
68
70
65
62
62
64
66
66
62
50
36
18
13
13
14
15
14
12
7
4
6
6
6
7
6
8
5
27
35
12
9
6
10
14
9
8
10
11
7
8
7
10
10
7
7
7
7
7
6
6
8
8
8
8
12
14
15
15
15
15
13
13
14
14
16
17
17
18
21
23
27
29
32
30
25
24
23
22
30
39
44
42
37
30
31
34
37
40
48
49
42
36
30
27
25
21
24
24
27
28
34
38
41
49
50
48
45
43
39
38
31
32
26
21
22
17
18
17
11
10
9
9
11
12
15
17
15
14
14
12
13
11
13
17
13
9
11
10
8
20
17
10
11
8
23
59
71
58
53
50
37
33
29
27
25
28
26
24
23
26
21
10
7
18
20
13
6
4
5
7
5
6
8
9
9
10
14
16
15
35
40
57
78
87
89
90
87
80
61
40
30
34
43
53
60
72
86
94
101
112
118
124
129
132
131
126
123
112
92
83
69
53
46
44
23
21
10
4
5
10
9
8
6
7
6
6
6
7
4
12
9
8
9
8
23
39
46
49
44
32
23
15
10
9
12
11
10
9
11
11
11
11
11
11
13
13
13
13
12
12
11
9
7
11
9
8
5
14
16
12
11
13
12
12
13
15
15
14
15
20
23
27
26
27
25
22
17
51
90
97
90
62
64
99
107
106
99
88
76
69
55
52
64
70
68
69
66
62
57
60
54
44
32
21
12
10
9
6
6
7
5
7
10
12
13
27
41
13
4
5
6
6
8
5
4
6
6
6
12
10
8
8
8
7
7
7
6
6
8
10
10
12
12
14
14
11
11
11
11
9
11
13
12
14
19
21
23
27
32
35
37
42
42
38
33
28
27
31
37
46
48
46
42
34
33
37
40
43
48
49
46
40
32
20
20
21
18
21
19
21
25
30
32
34
41
41
38
35
33
25
22
21
23
18
19
14
11
6
7
8
10
10
18
22
19
18
15
16
15
15
13
15
14
15
13
11
12
6
7
19
18
18
13
36
64
72
65
57
56
50
47
44
38
27
26
19
21
19
20
15
8
19
13
13
8
10
8
8
8
6
11
11
14
15
15
13
17
15
44
40
43
48
51
61
73
77
84
82
76
58
35
25
16
23
36
51
61
70
81
89
96
104
115
124
132
130
119
102
82
69
56
50
44
35
26
13
9
6
12
10
8
6
6
6
6
6
6
9
10
11
21
29
31
37
39
45
49
44
35
27
24
23
19
17
14
11
14
12
11
9
9
9
11
11
11
12
13
12
12
12
10
7
5
6
10
6
9
14
15
15
15
15
17
18
20
21
23
24
27
31
30
28
26
22
19
27
83
100
95
85
74
39
26
43
74
85
90
85
76
67
60
50
49
50
70
78
71
69
63
60
60
55
48
47
29
15
11
11
20
29
39
44
52
46
43
35
8
3
3
6
6
5
8
9
7
10
10
9
9
9
9
9
8
7
7
7
7
7
7
8
10
12
13
17
17
10
13
16
20
22
27
32
34
35
32
30
29
35
40
50
50
52
50
49
37
34
33
34
41
46
50
46
42
34
29
33
39
41
39
40
40
37
29
18
18
17
17
16
16
20
23
28
32
31
30
31
30
28
25
21
19
18
22
20
16
13
10
10
8
10
13
15
20
19
14
14
16
14
16
17
13
12
14
13
13
13
13
8
25
21
21
20
34
53
63
65
62
58
49
44
41
43
41
40
29
23
17
21
18
17
7
7
12
12
13
14
11
15
16
18
16
15
14
14
14
13
13
43
42
40
44
50
58
55
61
66
63
47
35
39
41
27
16
15
15
24
39
52
61
73
85
95
99
103
97
91
75
62
54
47
38
32
22
20
15
9
12
11
10
10
8
8
8
8
7
10
6
16
31
37
43
38
36
37
41
43
26
13
9
9
7
9
11
12
12
8
9
9
11
11
11
12
10
10
11
11
10
10
11
12
11
4
7
9
6
6
7
11
13
16
22
24
25
25
25
23
23
23
25
24
24
24
22
23
51
99
102
94
84
77
64
18
13
17
27
49
69
77
76
66
57
53
52
55
50
48
65
80
70
61
58
53
48
44
39
33
29
43
45
42
34
28
19
35
35
8
5
4
7
6
7
9
7
12
11
11
12
10
8
8
8
8
7
7
7
7
7
8
13
15
18
16
18
18
24
29
30
32
32
33
35
37
41
38
38
38
37
44
53
57
59
61
61
51
39
38
36
39
44
50
48
42
36
31
32
27
33
34
35
31
29
30
29
25
20
22
28
35
41
34
36
37
36
34
28
26
24
22
19
19
18
19
17
13
17
13
11
9
11
16
19
19
16
16
16
16
14
16
18
16
14
14
16
16
13
14
12
19
29
32
27
37
50
60
58
58
56
52
48
46
42
38
34
34
35
34
35
13
5
8
9
10
17
18
20
20
15
16
17
14
13
16
15
14
15
15
50
42
37
36
41
51
55
58
59
63
67
73
68
54
35
32
36
38
43
37
34
36
45
53
58
61
57
47
38
33
35
33
28
24
15
9
4
7
10
11
11
11
10
8
8
7
7
10
13
15
27
38
31
19
16
20
32
32
37
21
12
7
7
5
5
8
8
8
9
9
9
11
11
11
12
11
11
12
9
9
11
11
14
13
14
15
8
6
6
5
7
8
15
23
29
28
29
29
25
23
23
22
19
19
20
20
23
60
103
100
92
87
82
82
69
28
24
19
21
25
32
46
56
55
56
54
54
51
51
49
48
43
50
63
68
58
47
36
35
30
25
16
22
20
17
12
35
37
11
11
7
10
9
10
11
10
7
9
10
11
8
7
8
6
6
6
6
6
8
12
18
20
21
23
26
27
27
31
33
35
39
41
43
45
45
46
49
49
47
51
53
57
59
61
62
57
56
47
39
35
33
31
33
36
39
38
36
33
32
37
41
43
42
36
36
38
36
36
35
37
33
29
29
29
27
17
15
12
7
7
4
6
8
9
7
7
10
11
12
13
16
17
18
19
17
17
16
18
21
27
29
28
25
23
21
19
17
16
15
15
10
17
27
29
38
46
51
54
54
51
48
48
46
41
37
35
30
30
26
20
22
22
13
14
15
22
23
23
21
21
18
17
20
16
11
14
11
9
6
43
41
36
35
38
40
44
52
57
55
58
62
65
67
71
74
62
45
46
68
74
73
64
46
40
41
25
12
8
9
9
11
10
7
7
5
7
11
10
10
9
9
8
8
8
8
7
12
8
10
18
13
9
12
9
10
20
20
26
12
8
10
8
7
9
8
7
9
9
9
8
11
11
11
11
14
13
12
11
11
13
23
26
26
25
27
23
13
4
4
7
8
6
6
13
18
26
30
30
25
23
20
20
20
22
24
26
64
102
99
88
86
81
75
74
71
50
27
21
25
29
27
27
28
31
44
57
59
62
60
58
52
52
50
44
43
51
54
45
32
27
24
14
21
25
15
34
41
14
7
11
9
8
10
10
10
10
10
10
9
9
9
7
7
5
3
7
8
19
45
56
48
44
38
36
38
42
44
46
48
49
51
51
52
52
53
56
57
58
57
58
58
59
57
45
36
30
29
25
23
23
23
23
28
30
27
27
27
31
35
31
31
29
29
29
28
31
29
27
30
28
23
25
23
16
14
14
9
7
7
5
6
6
3
1
0
4
6
6
7
15
15
18
18
15
15
18
20
26
33
39
42
45
40
32
22
15
16
11
15
9
14
21
30
28
31
33
47
49
49
41
40
41
40
38
39
38
34
30
22
19
19
16
13
14
19
19
21
22
28
29
29
28
9
9
11
14
13
13
27
31
34
34
37
38
36
40
50
56
57
54
58
57
62
63
68
71
72
63
47
58
76
78
80
77
58
36
16
10
9
6
6
7
7
11
10
10
12
10
9
9
7
6
7
7
8
11
14
12
10
11
10
11
14
8
11
15
15
12
12
17
20
19
23
21
25
27
28
30
26
16
14
9
12
15
15
15
17
18
25
30
30
32
31
39
43
32
16
8
7
10
7
8
9
10
24
32
26
24
25
23
21
19
20
23
23
51
95
96
84
81
78
75
65
61
64
62
42
29
32
29
31
30
30
29
27
28
28
35
46
55
60
57
54
50
44
31
32
31
35
27
19
15
16
14
13
32
15
9
8
8
9
9
9
9
9
9
9
9
7
6
5
5
5
6
12
22
50
78
77
78
73
66
62
56
55
57
57
56
54
54
55
55
55
58
54
55
54
53
45
37
39
35
33
32
29
30
29
24
24
26
26
28
26
26
27
27
27
26
28
26
26
27
25
26
25
23
21
23
21
21
20
16
14
16
16
13
14
12
13
13
11
9
8
8
8
10
10
9
13
17
18
17
17
17
18
18
20
28
33
37
35
30
21
16
16
16
16
14
14
10
14
14
22
24
22
20
31
36
44
44
42
36
37
34
37
36
36
30
25
23
18
16
16
12
12
12
12
16
18
20
17
19
16
16
15
8
11
23
25
30
29
29
29
34
35
36
41
47
59
56
52
56
57
56
58
58
60
62
63
57
51
69
76
76
76
75
52
33
17
8
13
11
12
16
17
20
23
21
13
11
8
6
6
7
10
12
10
5
6
8
9
10
10
6
12
12
4
9
10
20
34
39
45
43
44
43
45
42
34
22
15
10
11
18
24
26
23
18
18
19
23
33
46
58
57
37
12
7
9
8
7
7
11
27
35
33
23
17
21
23
23
17
19
20
30
83
96
83
77
77
76
69
64
57
60
65
66
47
36
33
39
36
35
31
29
27
27
27
27
28
31
31
35
36
33
36
35
27
16
12
15
14
15
20
29
30
14
9
10
13
14
17
15
9
8
5
7
4
5
5
5
9
7
26
40
53
54
62
67
72
76
80
73
65
65
67
66
66
61
61
60
61
61
51
48
47
43
41
41
39
35
36
36
33
28
28
26
26
28
30
29
30
30
28
27
28
30
28
26
27
30
30
29
31
31
30
27
28
31
36
34
35
33
29
23
15
11
12
11
9
6
7
5
6
5
10
18
18
16
15
15
15
17
18
18
17
16
16
15
14
12
13
11
13
14
17
15
15
15
15
16
14
16
15
20
16
12
18
26
30
32
32
33
32
31
29
31
31
28
26
24
20
19
18
13
15
19
21
23
15
12
14
10
7
11
12
19
19
19
21
23
27
25
24
27
36
40
47
53
57
54
52
48
45
49
50
49
52
55
54
56
48
63
70
71
74
68
68
54
49
48
47
46
52
70
84
79
52
26
14
10
15
18
21
23
23
22
22
22
21
25
26
32
30
18
10
6
3
6
4
9
17
27
30
31
35
35
31
25
14
12
14
20
32
32
28
26
17
15
16
28
40
54
63
59
31
8
10
10
8
6
10
19
32
34
24
19
19
16
18
20
24
26
26
58
85
79
78
74
72
70
66
60
56
63
65
64
68
48
39
35
36
33
29
29
29
29
30
33
35
33
34
34
31
24
24
25
22
19
14
16
17
16
23
26
19
19
19
19
15
16
14
10
6
5
5
5
5
8
6
9
16
31
36
40
44
47
50
53
56
60
61
56
60
65
67
62
57
54
50
47
48
47
45
43
41
39
38
37
37
36
38
41
37
38
37
36
39
42
44
41
44
44
47
47
49
51
52
50
48
43
41
40
38
33
31
27
24
22
20
19
20
17
13
14
14
11
8
8
7
11
13
14
23
23
23
21
21
19
16
16
16
17
17
17
15
13
13
13
13
13
11
11
13
13
13
13
15
18
17
12
12
13
12
12
14
18
14
11
21
29
29
27
28
29
22
22
20
14
15
15
16
19
22
20
22
24
23
16
13
16
14
14
17
14
27
22
17
17
17
16
20
23
28
28
28
31
34
29
35
35
34
31
33
33
38
74
87
91
82
66
51
48
58
62
57
56
52
55
58
60
60
62
63
64
69
67
60
58
61
62
65
68
62
61
57
59
63
64
59
57
56
51
43
29
15
7
2
2
4
4
7
18
28
29
28
30
26
18
13
13
13
19
22
17
14
14
14
14
16
23
43
53
56
47
19
8
12
8
8
10
16
31
36
31
27
22
18
23
19
20
20
29
34
67
82
78
72
64
63
58
64
65
60
60
55
64
63
66
66
53
59
45
42
38
41
50
56
56
51
51
42
32
29
25
29
34
28
25
25
15
11
13
16
15
15
17
19
15
13
10
6
6
6
9
6
7
11
13
15
21
24
25
27
38
36
39
40
51
61
60
50
48
51
53
52
52
50
49
47
46
48
48
47
47
45
50
51
50
46
47
41
45
44
42
38
38
36
34
36
34
33
32
30
28
28
28
27
27
23
21
21
21
22
19
17
17
19
17
13
17
16
13
14
16
15
8
10
11
18
15
16
19
21
22
22
22
22
18
18
17
19
19
18
16
16
15
16
16
16
15
15
18
14
14
16
16
16
15
14
11
11
15
18
18
14
12
15
11
11
11
20
23
21
24
26
26
22
18
16
14
14
12
19
17
12
14
10
7
2
6
12
8
11
46
39
31
25
25
24
22
20
20
21
23
25
25
24
20
17
16
21
23
31
71
109
122
111
106
108
82
79
70
56
53
54
50
54
52
55
57
58
57
55
57
55
57
58
61
62
62
67
64
62
58
60
59
60
54
48
45
43
41
35
32
20
10
5
6
6
4
8
16
24
26
25
20
11
12
12
12
12
13
15
13
20
19
20
17
13
24
34
47
48
26
13
10
8
8
8
10
22
26
29
27
27
22
16
19
17
19
24
26
28
57
74
73
66
60
53
57
59
63
61
54
53
55
53
49
46
56
53
50
56
57
67
66
66
62
49
40
36
26
20
26
25
27
27
28
26
26
25
15
17
16
16
12
12
8
7
5
5
7
8
12
20
23
23
17
18
18
16
15
19
26
30
41
49
61
58
56
56
59
59
63
62
56
49
40
37
35
33
29
29
27
28
26
24
22
22
22
24
25
25
25
24
24
22
22
24
26
27
24
23
27
27
26
27
24
24
21
21
19
20
20
19
14
14
11
13
15
16
18
15
16
18
17
18
17
17
17
20
20
21
21
21
21
21
21
21
20
20
19
22
20
19
20
20
20
18
18
20
20
19
20
20
18
16
14
11
12
13
16
16
10
10
11
12
13
13
11
13
13
20
26
19
22
20
17
19
18
17
21
19
14
14
19
20
18
18
17
8
8
41
38
33
31
30
30
30
29
18
13
13
14
21
25
29
26
22
19
35
76
112
112
106
102
99
87
84
84
80
74
68
62
58
55
53
51
55
57
55
55
57
57
58
58
59
61
63
64
64
64
62
59
59
58
53
50
44
38
38
36
33
31
25
11
6
5
5
7
6
14
20
25
22
17
14
14
10
8
11
13
13
23
25
26
28
26
29
33
35
35
34
19
13
6
5
7
8
6
9
17
23
25
18
16
11
12
10
11
11
11
14
55
67
66
61
58
48
44
46
52
53
60
59
52
49
47
41
39
37
54
67
68
64
69
63
45
35
31
30
42
68
78
57
47
45
50
59
42
35
29
23
20
23
19
13
6
8
8
14
23
34
35
28
22
15
14
11
10
6
11
10
9
38
62
59
63
72
69
58
53
51
46
44
38
34
29
32
32
28
23
21
22
22
22
22
22
20
21
20
20
21
23
23
22
24
27
31
30
29
33
34
32
30
25
23
20
23
21
18
16
18
16
13
14
22
21
23
23
19
21
17
21
21
20
19
19
18
19
19
19
21
21
22
22
22
22
22
23
20
21
20
21
21
19
19
19
19
20
23
23
23
24
20
17
14
12
15
18
20
18
18
18
19
16
19
19
15
15
17
20
20
10
9
4
6
13
21
29
20
6
7
7
6
8
6
1
1
4
5
32
29
25
26
30
34
35
33
41
27
15
11
16
19
19
26
41
69
99
125
112
103
100
92
90
84
79
75
71
66
65
63
66
66
66
63
63
61
60
57
57
60
61
60
62
64
66
67
70
71
70
67
64
59
54
51
45
43
39
35
31
30
27
23
16
8
9
9
9
10
17
24
26
29
31
33
31
26
18
21
26
36
37
37
38
41
42
42
40
36
34
35
19
10
6
8
6
9
8
7
9
12
24
21
20
13
11
12
10
11
13
16
33
60
56
55
47
46
43
45
41
44
46
48
49
44
42
39
39
37
32
40
67
67
64
92
86
42
23
33
43
35
24
11
25
29
35
32
33
32
27
15
11
19
20
18
12
10
13
13
16
19
21
14
12
14
14
14
12
11
9
35
71
68
63
63
61
60
61
55
50
38
38
32
29
29
27
26
28
21
16
17
17
20
19
19
17
18
20
22
22
22
22
23
26
28
30
34
31
33
35
26
18
18
15
13
15
16
19
24
26
28
28
26
26
29
27
24
23
23
19
18
18
19
19
19
18
19
19
19
20
18
19
25
25
24
23
23
20
24
26
28
27
23
20
19
19
20
21
21
22
25
22
18
16
16
18
22
27
24
25
25
25
30
35
36
36
38
38
40
40
28
7
9
11
11
18
14
13
4
6
9
9
9
11
11
11
6
7
72
72
71
74
74
72
73
73
74
72
76
87
100
113
126
131
145
159
172
186
203
208
216
225
230
234
239
241
244
246
248
250
252
253
253
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
254
254
254
255
255
255
255
255
254
254
254
254
252
252
254
254
254
252
251
249
247
244
243
239
238
236
236
234
234
230
224
221
219
218
215
212
211
210
209
204
203
203
203
203
201
204
201
201
201
201
206
212
215
217
219
223
227
227
230
229
227
228
229
228
229
227
226
224
223
220
219
216
216
213
210
208
204
200
200
195
192
186
181
179
176
167
158
158
152
142
140
134
132
132
128
129
131
128
127
125
127
135
132
134
136
137
137
139
141
138
139
138
137
137
137
137
137
136
135
137
140
149
157
162
169
179
184
191
198
204
212
216
221
225
229
229
231
234
236
239
239
240
240
242
241
241
243
244
244
244
244
244
245
245
245
245
246
246
245
245
243
241
240
240
236
235
233
228
224
220
214
210
204
199
195
190
186
180
178
175
172
169
167
164
166
164
166
169
170
170
170
173
173
175
174
171
171
169
168
168
171
171
174
175
178
178
177
179
181
180
179
179
176
176
181
178
176
177
172
174
172
172
183
185
174
181
175
177
175
183
182
170
189
187
177
189
194
172
184
75
75
76
76
76
75
73
71
73
74
74
80
79
84
95
104
117
138
153
169
184
192
203
213
219
224
230
235
239
241
243
245
246
249
249
250
252
252
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
254
254
254
255
255
255
255
255
254
253
251
251
250
250
250
250
250
250
248
246
245
242
241
240
240
240
237
236
232
231
226
223
221
219
216
215
214
212
211
209
206
207
206
208
207
206
207
208
207
207
208
212
216
220
222
226
228
230
232
231
230
230
231
232
230
229
227
223
221
220
219
217
215
212
211
207
203
201
199
197
192
189
183
177
174
165
157
154
147
142
136
131
129
128
125
125
128
126
126
125
125
128
131
133
135
134
134
135
137
134
137
135
136
135
133
133
131
135
134
138
141
149
155
161
170
179
184
192
200
206
212
218
221
225
229
229
231
234
236
239
239
240
240
241
243
243
243
244
244
244
245
245
245
246
246
246
246
246
246
246
244
243
241
239
238
235
233
228
224
219
213
210
204
198
195
190
186
181
177
176
173
170
168
166
166
165
168
170
174
173
173
174
174
174
173
171
169
166
165
167
169
171
173
177
179
179
179
180
180
180
179
176
174
175
175
176
176
177
175
172
179
181
173
180
173
175
171
178
187
183
176
183
189
184
181
170
179
179
176
77
76
78
78
77
75
75
74
74
75
75
77
78
78
80
86
93
115
137
156
172
180
187
198
206
213
219
223
228
234
234
236
239
240
242
244
247
248
249
250
250
251
254
254
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
254
253
251
250
249
249
249
249
249
247
245
244
242
240
240
239
238
236
235
234
233
229
228
226
224
221
220
217
213
210
211
208
207
208
208
209
212
213
210
209
208
208
211
215
216
220
224
228
230
229
232
231
232
231
232
232
231
229
226
225
222
221
219
218
215
212
210
205
202
200
196
194
192
187
180
176
171
163
158
149
141
134
136
126
124
123
124
122
122
122
122
121
123
122
125
128
130
131
131
127
131
133
133
134
132
129
128
128
129
131
134
137
142
147
153
158
167
176
184
192
199
204
211
216
220
225
228
231
234
235
236
239
239
240
240
241
243
243
244
244
244
245
245
245
246
246
246
248
248
248
246
247
245
243
241
240
239
235
233
230
224
220
216
209
203
199
194
188
185
181
178
178
173
170
168
167
167
166
169
171
173
174
174
175
175
175
173
170
168
167
164
166
169
171
173
177
179
179
177
180
180
179
177
175
177
177
177
179
174
176
176
172
179
176
173
178
179
183
176
179
180
179
186
183
195
185
181
162
154
174
176
79
79
78
81
79
77
75
75
72
74
76
78
80
80
80
81
84
89
107
127
149
162
169
180
188
198
206
211
217
222
223
225
228
231
233
235
237
238
242
244
246
247
247
249
249
250
250
252
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
254
252
253
251
250
248
246
246
246
246
245
244
242
240
238
238
235
233
234
233
232
229
227
223
224
223
224
224
223
220
218
213
209
208
208
210
212
215
216
213
210
209
211
213
218
219
223
227
228
230
231
231
230
231
231
232
231
229
229
225
223
223
222
219
219
220
217
213
210
206
200
196
194
191
187
182
175
168
160
153
148
139
135
132
126
121
119
118
117
119
119
118
117
119
120
121
123
127
126
128
127
126
128
128
125
125
124
124
124
126
130
134
137
141
146
153
160
164
175
185
193
200
206
212
218
220
225
229
231
234
235
236
239
240
240
240
243
243
243
244
244
244
245
245
245
246
248
248
248
248
248
248
248
246
245
241
240
239
237
233
230
225
221
216
209
203
197
192
187
185
183
179
178
173
170
168
164
166
164
168
170
172
173
175
175
175
177
175
172
169
168
165
167
169
169
174
176
178
178
179
179
181
179
176
174
176
178
175
175
175
178
179
180
179
178
176
175
181
172
171
185
184
182
185
184
195
192
181
150
175
178
187
77
76
76
77
77
75
77
76
74
72
74
78
80
83
84
84
86
89
91
100
117
135
147
153
162
170
185
192
199
206
209
213
214
216
218
222
226
228
231
234
236
238
239
241
242
243
245
248
250
252
253
255
255
255
255
255
254
255
255
255
255
255
255
253
253
253
253
253
251
250
249
248
245
243
242
242
242
240
239
237
236
235
233
231
230
230
229
225
223
221
220
217
220
218
222
220
217
217
215
211
209
207
208
210
212
213
214
213
211
213
216
218
220
223
225
227
229
232
232
232
231
231
229
230
228
228
226
227
225
222
219
217
215
213
213
212
206
206
205
195
188
183
176
171
164
158
151
146
137
131
129
125
123
120
117
114
113
113
115
116
116
117
119
119
121
122
122
122
122
119
119
119
119
120
120
121
122
123
127
132
140
143
151
161
167
177
183
193
200
208
213
218
221
226
230
231
234
235
238
240
240
241
241
243
244
244
244
244
244
245
246
246
246
248
248
248
248
248
248
247
247
245
244
241
240
237
234
231
226
221
215
209
203
197
192
187
185
183
179
177
175
171
168
165
165
164
167
169
170
171
174
173
177
178
174
172
172
171
170
168
170
173
175
177
178
178
179
178
180
179
174
173
175
179
176
173
173
179
183
180
178
178
175
180
176
179
176
187
180
189
183
185
187
188
174
122
174
182
178
76
77
77
77
77
75
76
76
74
75
77
78
79
81
83
86
90
92
92
96
101
106
112
123
132
139
148
157
165
174
180
185
191
194
196
201
206
209
214
218
220
225
228
232
233
234
236
240
243
244
246
249
249
250
249
249
251
252
252
252
252
252
252
250
250
249
249
249
246
245
246
244
242
241
240
238
238
235
233
232
230
229
229
226
224
223
221
219
217
215
215
213
213
215
217
217
215
213
213
209
208
208
208
209
209
213
214
212
213
213
215
218
222
223
223
227
229
230
230
231
232
229
229
225
224
224
223
225
221
218
216
212
211
211
210
209
204
202
199
199
184
183
176
171
162
155
149
142
134
128
124
120
119
117
116
110
111
113
118
120
122
120
119
116
117
118
119
117
117
115
113
115
113
115
115
116
115
120
120
129
133
140
149
159
168
174
183
189
198
205
210
218
221
226
229
230
232
235
238
240
240
241
241
243
244
244
244
245
245
245
246
246
246
248
248
248
248
248
248
249
249
246
244
241
240
236
235
231
226
221
215
209
203
198
193
190
186
183
181
177
175
171
168
166
164
164
164
166
169
171
173
174
175
176
174
173
170
171
170
169
171
174
176
177
179
179
179
177
177
177
176
174
172
177
177
171
164
175
179
182
178
179
173
181
183
194
179
179
186
184
184
187
195
189
185
124
162
175
177
75
74
76
76
75
74
77
77
78
77
79
80
83
82
85
87
92
94
96
97
101
103
105
106
108
110
114
121
129
138
147
155
162
166
168
172
175
180
187
190
195
201
209
215
222
222
224
229
234
236
239
239
241
243
244
244
247
246
246
246
246
246
248
246
246
244
243
244
242
240
241
241
237
236
234
233
233
230
227
225
223
221
219
219
214
215
213
210
210
207
209
209
208
210
210
209
208
208
207
204
204
204
204
204
206
205
206
210
211
211
215
218
219
220
225
226
228
227
227
227
228
224
224
224
223
222
220
219
217
217
215
209
210
210
209
208
203
202
199
195
200
186
181
176
168
158
151
145
137
128
122
119
115
117
117
120
117
114
115
116
118
121
124
121
122
117
116
115
112
110
109
109
107
109
109
110
112
117
121
125
132
140
147
160
170
177
183
190
199
205
212
218
221
226
229
230
232
235
236
239
240
240
242
243
243
243
243
245
245
245
246
246
248
248
248
249
249
249
249
249
249
246
244
241
240
236
234
230
225
221
215
210
204
198
194
191
189
184
182
178
178
173
169
166
164
163
166
168
169
170
172
174
173
176
174
170
168
167
169
169
172
176
179
179
179
179
178
178
178
178
176
176
178
177
175
172
165
166
176
183
182
173
168
178
172
175
191
183
183
182
191
185
184
192
191
175
181
184
169
73
74
74
74
73
74
75
76
78
78
80
83
84
83
87
93
95
96
95
97
99
101
103
105
105
107
109
109
112
117
123
128
135
139
143
144
146
148
151
154
158
167
180
192
204
205
209
216
220
224
226
229
233
235
236
237
239
240
240
239
238
240
240
240
240
239
239
240
238
238
237
236
233
230
229
229
226
222
220
219
217
213
212
209
208
204
204
206
202
201
202
201
205
206
206
203
205
206
203
202
200
199
200
203
205
204
205
208
211
212
214
214
215
216
223
224
223
221
220
222
223
222
220
218
215
220
219
214
214
214
211
210
207
204
204
203
199
198
198
195
195
190
176
170
168
164
157
151
143
139
135
133
136
133
134
135
133
130
130
125
126
122
122
121
120
122
112
109
107
108
104
104
104
105
106
108
110
113
119
122
131
143
153
165
174
181
188
195
202
207
215
219
223
227
230
231
234
235
236
239
240
241
241
243
243
243
244
245
245
246
246
246
248
249
249
249
249
249
249
250
247
247
245
243
240
239
234
230
225
221
215
210
204
198
195
192
190
187
185
180
180
173
171
169
165
163
164
169
170
172
174
174
174
175
174
169
167
164
165
168
171
176
179
180
181
179
179
179
179
178
176
176
177
178
175
171
164
165
172
182
182
180
181
177
171
174
181
177
187
176
189
187
185
194
175
171
185
170
183
68
70
71
71
73
75
73
77
76
77
79
82
83
85
88
88
90
94
95
97
100
101
103
103
104
108
109
112
112
113
113
113
116
119
119
119
121
124
129
134
140
149
157
171
183
186
190
202
208
214
217
218
220
222
225
227
232
231
231
230
231
233
231
233
233
232
232
233
233
234
233
229
227
226
225
225
221
219
217
214
210
208
206
204
203
202
202
201
196
198
195
194
198
204
204
203
205
199
199
199
198
199
198
199
200
200
201
205
209
210
212
215
217
220
222
222
222
221
219
220
218
217
215
212
210
216
212
210
211
208
206
204
200
198
198
197
197
196
194
194
192
188
176
170
166
162
159
153
146
143
143
142
142
143
140
139
140
141
139
138
138
137
136
136
134
134
135
128
126
121
120
119
117
115
113
112
114
109
116
124
137
147
162
172
179
185
191
199
207
211
217
221
224
229
230
233
235
237
239
239
240
242
242
243
244
244
244
245
245
245
248
248
249
249
249
249
249
249
249
249
249
247
245
243
241
239
234
230
225
221
215
211
205
199
197
194
193
188
186
181
180
174
171
171
167
162
165
167
170
173
175
175
177
177
174
169
167
164
166
168
171
175
180
182
181
179
178
180
178
177
179
176
177
178
178
175
160
154
165
180
179
179
178
181
179
181
181
175
183
183
191
184
193
194
182
182
182
181
177
63
65
65
66
68
71
74
75
77
78
80
82
81
81
84
87
89
92
93
94
98
98
100
101
104
106
107
108
108
111
113
113
114
116
116
116
115
117
121
124
128
134
141
151
163
170
173
178
187
192
195
198
200
203
205
207
211
214
215
217
217
219
219
220
220
222
222
225
225
225
226
226
225
223
222
220
218
215
212
210
207
205
201
199
197
198
198
197
197
199
196
194
196
196
198
199
203
202
201
198
197
197
196
192
196
198
200
204
206
208
212
214
214
216
219
219
219
218
219
216
213
212
208
207
205
204
205
205
209
203
201
197
193
194
194
192
192
193
194
194
189
183
180
177
175
172
167
164
156
150
150
147
145
145
144
143
143
144
143
143
142
140
140
140
139
140
139
138
130
129
128
128
128
127
129
129
130
132
141
149
156
164
173
179
184
192
198
205
211
215
220
223
228
230
233
234
236
238
239
239
242
240
243
243
244
244
245
245
245
246
246
249
249
249
249
249
249
249
249
250
247
247
246
244
241
239
237
231
225
221
214
210
206
199
197
196
194
191
188
185
183
176
175
172
168
167
168
170
173
173
175
175
177
177
176
171
169
164
167
169
171
175
180
182
183
180
180
179
179
178
180
177
180
179
179
178
165
154
157
181
179
179
174
182
185
182
175
182
178
194
181
180
156
182
186
190
191
181
183
64
64
66
64
64
67
69
73
77
76
76
78
79
80
81
84
84
89
92
94
97
97
99
102
104
106
106
108
108
112
114
114
113
115
115
115
115
117
117
118
121
124
127
134
144
154
159
161
164
168
172
172
174
179
182
185
187
192
191
196
198
204
207
206
206
209
213
215
216
216
217
217
216
215
215
217
217
216
216
214
208
203
197
197
193
191
194
196
197
197
197
203
199
199
198
198
198
196
199
201
201
200
197
196
196
194
198
202
206
205
208
209
211
214
217
217
217
217
217
214
211
208
205
200
195
194
198
204
201
197
190
190
188
190
188
192
192
190
194
194
191
187
192
189
187
184
180
175
166
160
158
156
157
155
155
152
151
151
150
153
153
150
151
151
147
146
144
143
140
136
134
135
135
133
134
134
137
142
148
156
164
171
177
182
188
194
199
205
211
216
221
224
227
229
232
235
237
239
240
240
242
240
243
243
243
243
244
245
245
246
248
248
249
249
249
250
250
250
249
248
246
247
247
245
242
240
236
231
227
220
216
211
206
201
201
198
197
196
192
190
185
179
176
174
169
169
169
171
171
173
175
175
178
178
177
172
168
165
169
170
174
177
181
183
181
181
181
180
180
180
179
179
179
179
179
177
168
168
170
180
178
180
182
176
176
176
180
179
181
180
186
177
174
184
174
176
155
168
184
61
63
67
66
66
66
67
67
71
71
73
75
78
77
80
82
84
91
91
93
94
95
99
102
103
105
107
107
109
112
111
113
113
113
113
115
116
116
116
116
117
117
120
121
124
131
135
138
143
145
146
148
150
153
155
157
161
166
170
176
178
181
184
185
190
192
196
198
198
204
205
206
207
206
209
208
207
206
204
202
201
197
194
194
191
189
192
192
194
195
198
198
200
201
202
202
203
204
205
204
206
207
205
205
202
200
201
201
203
205
208
209
213
214
215
217
215
213
213
211
211
205
201
198
191
188
185
192
195
187
187
185
183
182
185
186
191
194
194
196
199
202
204
202
198
196
188
189
182
176
172
168
167
166
163
162
163
165
165
165
166
168
167
167
164
163
160
157
150
143
142
141
141
141
141
141
143
147
152
160
166
171
178
185
192
196
200
204
209
215
219
223
224
228
230
232
235
236
237
237
239
239
239
240
240
240
242
244
244
245
246
246
247
249
249
249
250
250
249
248
246
247
246
246
244
241
237
231
227
222
216
211
206
202
203
201
198
197
194
191
185
179
177
176
170
170
172
172
173
175
178
177
177
177
176
171
169
169
171
173
175
178
180
181
181
181
180
179
181
182
180
180
180
178
175
172
167
171
174
184
185
179
184
186
181
177
174
171
182
178
190
184
161
159
159
168
183
175
183
55
59
62
64
64
65
65
63
66
67
67
71
71
75
78
79
80
84
87
89
92
91
95
99
99
101
105
107
109
109
111
112
115
115
115
115
115
115
114
116
116
116
116
121
119
118
120
121
124
126
128
131
131
132
134
134
140
144
146
157
158
163
169
171
177
180
182
182
186
189
190
189
195
196
199
199
197
196
197
195
192
193
191
192
191
190
193
192
191
186
191
191
193
195
195
199
202
204
202
203
203
203
202
203
204
204
204
204
211
213
213
212
214
214
213
213
211
209
209
208
207
204
198
196
192
188
182
180
178
176
178
179
181
184
184
190
193
195
196
204
203
201
201
198
197
200
200
198
195
189
182
181
175
176
174
177
176
177
180
183
186
187
185
185
182
182
175
168
163
156
150
147
147
147
146
147
150
152
157
161
166
173
180
184
189
195
198
201
205
211
215
219
221
226
228
229
231
231
234
234
235
237
237
237
239
239
240
241
241
242
244
244
245
246
246
247
248
248
246
248
248
246
246
246
241
241
237
232
226
222
216
212
205
203
203
201
199
198
196
192
187
180
178
177
173
172
170
173
174
176
176
176
175
173
172
170
170
169
169
173
176
180
183
183
183
181
180
180
182
180
180
180
181
181
174
172
170
172
174
178
182
179
178
183
179
175
181
180
192
197
172
184
158
181
172
183
178
177
180
54
54
56
61
62
63
63
62
62
63
63
66
66
67
73
75
77
79
80
82
85
88
91
96
96
97
100
103
105
105
107
109
111
113
115
115
114
114
112
112
112
112
114
114
115
114
114
116
116
118
118
119
119
121
124
123
123
127
131
134
140
145
147
150
154
158
161
165
168
174
174
178
182
186
186
189
187
189
189
187
186
186
186
190
186
187
189
189
187
185
185
187
190
190
192
196
197
199
198
198
198
198
196
198
201
200
202
202
209
212
213
212
212
210
209
208
209
208
208
206
204
200
196
194
187
184
179
173
173
171
169
167
167
170
178
186
191
197
202
202
200
199
196
195
196
199
200
201
200
196
192
188
183
178
180
177
182
191
201
201
201
200
198
195
196
190
187
181
177
168
156
152
148
149
149
150
151
153
156
160
164
170
176
180
186
190
196
199
203
206
210
213
216
220
224
224
226
226
228
231
231
231
231
231
234
234
236
235
237
237
238
238
240
240
242
244
246
246
246
246
243
243
244
244
239
238
234
230
225
220
215
211
206
203
205
202
201
199
197
194
187
182
180
178
174
173
173
175
175
176
176
177
175
173
172
168
168
168
171
174
178
180
182
184
183
183
182
181
181
181
182
184
185
180
176
171
170
174
177
180
174
182
184
181
170
184
176
187
185
186
190
186
186
181
180
176
182
178
186
56
54
55
57
58
60
60
60
60
60
60
63
63
65
66
67
71
73
76
78
80
81
83
89
91
93
97
98
100
102
103
105
106
108
110
112
111
111
110
109
109
109
109
107
111
109
109
107
109
109
113
114
114
116
118
118
118
119
121
123
123
126
129
134
136
140
144
147
153
160
162
161
166
172
176
180
180
181
181
179
177
177
179
182
181
180
183
185
184
183
184
185
187
188
190
191
192
192
190
189
190
192
191
190
191
195
198
202
205
209
209
213
213
211
210
208
205
204
204
203
199
195
193
191
186
180
177
170
166
166
165
163
161
174
182
183
190
198
198
198
198
199
196
195
197
197
198
199
201
197
193
187
183
182
180
184
195
203
201
199
199
198
196
194
192
191
191
189
187
180
168
158
147
149
151
154
154
154
156
159
162
167
171
176
181
186
190
193
197
200
203
206
210
212
215
217
219
221
222
224
225
224
224
224
227
227
228
228
229
232
232
234
235
236
238
239
241
243
242
243
241
241
240
240
239
235
231
226
221
219
214
211
206
205
206
203
202
201
198
195
188
184
182
178
174
173
173
175
176
178
178
179
178
176
173
169
167
165
169
175
178
182
184
185
184
184
183
183
180
179
181
184
184
182
181
180
178
175
179
177
181
182
179
182
185
184
180
179
182
190
198
192
165
192
183
187
183
178
172
57
58
52
53
54
59
62
62
63
66
68
68
71
73
72
72
72
73
71
71
75
79
79
85
88
91
93
96
97
99
100
103
101
103
105
107
107
109
107
105
106
107
108
108
107
106
106
104
106
106
106
105
107
108
110
111
113
114
117
118
120
122
124
125
127
130
131
134
138
141
145
151
152
157
166
168
170
171
169
169
171
172
172
173
173
175
177
177
176
177
177
182
181
183
185
185
185
185
182
182
182
183
183
183
182
185
190
194
202
204
204
210
210
207
208
206
205
202
202
201
199
195
192
189
182
180
175
168
162
161
160
165
163
173
181
183
189
196
194
194
194
195
196
197
196
196
197
199
201
200
194
192
187
186
186
195
202
203
200
198
198
197
196
194
193
190
190
189
188
185
179
164
147
141
142
144
147
146
149
151
155
159
164
166
171
178
181
185
189
193
196
200
200
202
204
206
208
210
212
214
214
214
214
214
217
217
218
217
221
223
225
228
231
232
234
235
237
239
240
240
240
240
239
239
237
234
232
227
224
219
214
210
207
205
204
204
203
202
199
197
189
185
182
178
174
173
173
175
175
178
180
180
179
177
175
170
168
168
172
175
179
183
185
186
186
184
183
181
179
178
179
181
183
185
182
185
178
176
176
178
174
178
176
177
183
179
180
187
182
195
192
189
170
180
185
190
181
178
180
96
62
53
52
54
57
65
66
66
75
86
92
102
109
127
132
133
117
101
96
95
95
88
78
80
82
86
89
92
94
96
97
98
99
101
104
103
105
104
103
103
104
106
107
104
103
103
102
102
102
104
104
104
105
107
107
107
108
110
114
118
118
118
115
117
118
119
119
122
126
130
135
140
144
150
156
156
156
161
161
160
160
162
164
165
164
165
165
164
167
169
173
175
175
177
176
175
176
175
173
174
174
172
172
172
180
182
185
190
194
199
199
199
202
202
203
202
200
202
199
197
194
190
185
181
177
173
166
161
165
167
163
162
171
173
178
185
188
190
192
193
194
196
195
196
192
193
194
198
199
192
191
185
181
183
192
196
199
197
198
195
194
193
193
190
190
188
188
185
184
178
168
150
136
138
140
141
143
143
144
146
148
151
155
159
163
168
172
176
179
181
183
185
187
190
192
194
197
199
199
200
201
201
201
200
203
208
209
211
216
219
222
226
231
233
234
236
238
239
239
239
239
239
239
238
237
234
229
224
220
215
209
207
207
206
206
204
203
201
199
190
186
183
179
175
174
173
175
176
177
179
179
178
178
176
175
171
167
172
175
179
182
184
185
184
184
184
181
179
178
180
183
185
184
179
175
160
161
175
179
176
174
180
177
184
191
185
197
187
192
190
183
179
182
192
177
183
180
168
84
90
61
56
61
63
65
71
85
96
102
110
112
121
122
118
120
128
134
129
114
109
107
109
100
91
87
85
85
86
89
93
93
97
100
101
100
102
102
103
105
105
104
104
103
101
99
98
97
99
101
102
102
102
105
107
107
109
109
114
113
113
114
112
115
113
114
114
116
119
121
124
126
128
132
137
139
141
143
143
144
145
147
148
148
150
152
153
152
155
160
163
167
168
165
162
159
159
161
162
163
160
156
156
158
164
169
176
178
181
186
191
194
196
196
196
196
195
195
195
192
189
184
184
176
173
173
165
162
168
165
162
160
161
169
173
179
184
186
188
190
191
194
193
195
192
191
194
196
193
191
187
181
179
184
188
193
197
196
194
194
192
187
187
187
186
183
183
182
181
176
168
149
132
134
136
137
139
141
142
145
147
150
153
154
157
155
158
160
159
161
162
166
170
172
173
177
179
180
182
182
184
184
183
184
191
195
198
203
209
211
215
220
224
229
231
235
237
239
239
239
239
239
241
239
238
235
230
227
222
216
211
207
207
206
206
204
204
200
199
189
187
185
179
177
177
175
175
176
178
181
181
182
182
179
176
172
171
171
176
179
183
185
187
186
184
184
181
179
177
176
181
185
181
177
168
168
155
149
172
183
180
179
186
195
211
192
188
184
178
192
194
171
184
195
179
181
177
175
85
84
72
69
63
64
78
89
99
103
107
118
121
122
126
130
136
144
148
152
152
154
155
148
146
136
118
113
105
95
89
86
88
89
93
94
95
97
98
100
100
101
102
102
100
100
98
99
95
95
96
98
98
101
101
103
105
108
110
111
111
109
109
107
109
110
111
113
115
118
118
120
121
122
125
128
130
129
133
134
136
137
139
138
137
139
141
144
144
146
146
148
151
152
150
149
149
149
146
147
148
153
149
146
143
148
156
159
165
168
173
178
182
185
186
186
187
187
189
189
187
183
177
176
173
168
166
165
162
167
165
162
158
159
163
168
175
179
182
186
190
192
194
196
195
195
192
193
190
188
188
180
177
178
181
186
191
195
194
191
189
187
186
184
182
181
178
178
177
178
170
153
135
127
127
129
135
134
137
142
147
151
153
156
156
156
153
154
152
152
149
149
150
154
158
159
163
165
166
165
167
167
167
170
172
176
180
185
189
198
202
206
210
217
222
226
229
232
235
234
234
236
237
239
238
236
234
230
228
223
217
213
209
208
206
206
204
203
202
201
193
191
187
180
178
177
177
177
178
180
182
183
183
183
180
177
174
171
173
177
180
184
186
188
188
188
188
183
180
179
180
182
183
180
173
165
169
174
174
173
176
181
186
185
191
191
187
182
187
194
199
173
179
181
189
184
188
180
167
91
89
78
68
68
75
89
99
108
107
113
124
125
131
140
150
159
164
171
175
174
169
165
164
162
161
150
141
132
124
110
106
97
92
91
90
92
94
94
94
94
96
96
96
94
95
95
95
94
96
96
98
98
100
100
102
104
106
107
109
109
109
108
109
109
111
110
112
113
115
115
115
119
119
122
124
126
128
127
127
129
132
134
136
135
135
137
138
138
139
142
140
141
141
141
140
137
137
136
132
134
137
137
138
138
139
144
149
150
155
160
165
170
173
176
177
179
182
184
181
181
176
173
170
168
165
162
161
161
161
160
159
160
160
156
158
168
178
182
187
189
191
194
195
196
192
191
188
185
184
180
180
178
176
180
184
187
191
190
188
186
185
185
178
175
174
174
175
176
168
156
136
132
128
127
131
137
142
150
157
159
160
160
158
158
157
154
154
152
152
149
146
140
138
140
142
146
149
149
150
151
150
152
155
158
165
171
176
182
191
200
206
211
216
222
225
228
231
232
233
232
235
234
236
235
234
231
227
225
223
219
213
211
209
207
207
206
204
203
201
194
192
187
181
179
178
177
179
180
182
184
184
184
184
181
180
176
174
174
179
180
184
186
188
189
189
189
185
183
181
183
183
184
180
178
176
175
173
170
177
181
180
185
191
196
189
189
191
184
192
194
182
184
182
189
164
192
184
182
99
100
85
77
74
85
97
103
112
114
120
134
141
153
162
167
173
176
177
179
179
179
179
176
174
171
168
163
155
147
137
128
116
111
105
102
98
96
93
90
89
90
90
88
89
88
88
88
89
89
93
93
94
98
99
101
103
104
106
107
108
108
108
107
109
108
108
110
111
112
114
116
116
118
119
122
124
124
124
124
124
127
129
131
133
133
135
137
139
140
141
141
143
138
138
138
136
134
134
130
127
123
125
127
129
132
138
141
145
149
150
155
158
161
162
164
169
170
175
173
170
167
167
166
164
162
160
160
158
157
161
162
162
162
160
160
160
171
173
175
181
184
187
189
189
188
190
185
178
177
178
178
178
176
178
179
180
184
186
186
184
182
179
172
169
171
172
170
163
150
137
134
132
131
136
140
149
155
162
165
168
166
164
165
162
161
159
159
157
158
155
154
150
146
143
145
146
147
149
149
145
149
151
153
152
161
173
178
184
194
201
208
213
219
222
228
230
232
234
235
235
237
237
239
235
235
233
229
228
224
219
214
212
210
208
208
208
207
204
200
195
193
187
181
179
179
177
179
180
183
186
187
187
187
185
181
177
174
175
179
181
184
186
188
189
189
186
185
183
182
184
186
187
183
188
192
186
176
173
180
180
183
189
187
193
184
186
183
189
183
193
180
185
191
169
180
178
180
185
101
101
87
86
85
93
108
111
120
133
147
156
163
172
179
186
190
193
191
189
184
187
187
189
192
188
179
177
175
163
153
143
135
132
128
123
117
108
103
99
97
91
85
83
84
81
81
82
84
85
88
88
92
94
99
100
104
105
106
107
106
107
105
107
109
108
108
108
109
110
111
113
114
116
118
121
121
123
121
121
122
124
125
128
130
132
132
134
136
138
140
140
140
137
137
137
137
135
134
133
129
126
122
121
120
124
128
132
133
135
138
139
143
148
153
156
160
160
162
164
162
163
161
161
159
159
157
155
156
155
158
160
163
163
164
163
163
165
169
170
172
174
175
176
176
176
175
183
180
179
177
177
175
175
175
174
174
175
178
181
184
179
177
174
169
168
162
156
146
140
139
135
136
140
139
153
158
162
165
169
168
168
168
168
168
167
166
166
167
167
166
160
157
155
154
155
157
156
155
155
154
153
154
157
163
169
177
184
192
199
206
212
217
224
227
231
233
237
238
239
239
238
238
240
239
239
237
233
232
227
222
217
214
210
208
208
208
207
204
200
195
193
187
183
180
181
177
179
182
184
187
189
191
191
189
186
180
178
176
180
184
186
188
188
189
186
187
183
180
180
183
185
185
182
183
184
186
166
170
177
177
192
190
188
185
189
184
188
191
188
189
181
186
181
139
183
187
180
179
120
108
106
102
100
117
129
140
145
155
161
171
178
184
190
190
195
197
199
200
200
197
195
196
197
195
195
189
182
178
173
170
156
150
144
134
130
124
117
111
105
101
98
93
91
89
89
87
83
81
83
84
87
92
95
97
99
99
101
101
102
102
104
103
105
105
106
106
108
108
110
112
113
113
114
117
118
119
119
116
119
121
123
125
126
128
130
133
133
134
136
136
136
134
134
133
131
131
132
130
127
125
121
119
117
118
120
122
124
126
129
132
133
139
142
144
148
151
153
153
153
153
153
153
153
153
152
152
152
152
153
153
154
156
159
163
163
165
164
169
173
173
173
173
174
174
176
176
177
179
180
175
173
173
171
168
167
164
164
166
166
163
157
154
150
148
144
141
138
138
134
139
142
142
149
156
165
165
170
172
170
170
170
171
171
171
170
172
173
174
170
168
165
166
158
153
153
157
158
158
158
156
156
163
168
175
185
193
199
207
212
218
223
229
233
237
239
241
243
243
242
241
244
245
245
242
240
237
235
231
226
220
216
212
209
209
208
207
204
200
196
194
187
183
180
179
178
181
181
184
187
191
193
191
188
185
181
179
178
181
184
187
191
191
191
189
187
184
184
184
186
186
187
181
175
169
170
173
175
177
184
195
198
192
186
191
188
185
188
192
202
194
189
185
162
169
181
200
181
126
125
132
133
139
143
155
163
170
169
170
178
181
185
191
196
199
200
202
204
203
203
202
202
203
201
199
198
197
192
184
177
172
166
160
150
145
140
131
125
120
113
114
110
105
104
102
100
99
100
98
95
93
88
92
92
95
95
95
98
99
100
101
101
103
103
103
104
105
105
107
108
108
108
109
109
111
112
113
115
116
117
119
120
122
124
127
129
129
130
131
131
131
129
129
129
128
127
126
127
125
124
120
118
116
115
116
120
120
122
126
127
129
129
133
135
138
142
143
145
146
146
146
149
149
150
150
150
150
149
149
151
152
153
156
156
158
159
159
159
162
166
169
170
170
175
173
172
175
177
178
176
175
173
170
169
168
168
164
163
157
150
149
146
142
141
139
137
137
139
141
143
144
144
154
161
167
169
173
177
178
176
174
173
173
174
176
173
174
178
178
175
171
168
165
157
157
156
158
160
162
163
168
176
185
190
196
204
210
215
218
225
230
234
238
240
243
245
246
246
245
245
248
249
248
247
245
242
239
235
230
225
219
213
210
208
208
207
204
201
199
195
188
184
182
179
178
180
182
186
190
193
193
191
188
186
183
182
179
181
184
188
192
193
194
191
190
184
184
186
188
190
188
184
179
171
175
178
180
173
172
183
189
196
199
183
183
189
193
191
199
199
195
189
171
178
191
193
185
150
150
152
154
157
163
169
174
178
178
179
184
188
192
197
199
201
202
203
205
205
203
203
202
206
207
205
202
201
193
194
191
184
181
173
162
157
150
141
138
133
132
127
126
121
121
128
131
132
130
131
125
120
112
105
95
92
90
90
91
93
93
95
96
97
98
97
98
101
101
102
101
100
102
103
102
102
103
105
107
109
111
113
113
119
121
123
124
126
126
128
128
126
125
125
123
122
122
121
121
121
118
117
115
115
113
115
117
119
121
122
122
124
127
129
131
133
135
137
140
141
141
143
144
146
146
148
148
148
147
147
148
149
151
151
153
152
153
153
153
154
157
159
163
166
168
168
171
171
172
172
172
170
171
169
168
167
166
162
158
158
152
151
149
145
143
143
140
142
142
144
148
149
151
156
162
168
170
173
177
177
177
177
176
176
178
179
179
177
180
180
176
172
167
161
159
158
160
162
165
171
175
181
187
194
197
203
211
216
222
226
230
233
238
240
243
244
246
248
250
249
248
250
252
251
251
248
245
243
239
234
228
221
215
212
209
209
208
206
201
199
194
189
184
182
179
180
182
184
187
189
191
191
192
189
187
183
180
180
182
186
188
192
193
192
192
188
184
182
183
186
188
188
184
178
175
175
178
182
178
177
184
191
193
189
191
185
188
185
200
202
187
191
180
174
181
184
189
178
178
178
178
179
179
183
182
181
182
184
184
187
187
190
196
197
197
199
202
202
204
205
206
207
210
209
207
205
203
198
197
196
190
187
182
178
173
160
155
154
156
148
147
140
152
154
153
150
151
146
137
135
130
119
116
108
99
96
86
87
88
90
90
90
91
92
94
95
96
97
97
97
96
96
96
96
96
98
100
99
103
105
105
108
110
112
115
116
118
120
121
123
121
120
119
116
113
113
113
112
112
112
111
112
110
109
109
110
113
117
117
118
120
123
123
125
127
128
130
133
135
137
139
140
142
144
144
144
143
144
144
143
145
145
146
148
148
149
150
150
150
150
153
156
157
159
161
163
165
167
166
166
166
165
165
162
161
160
158
156
153
152
151
148
147
145
143
141
140
139
141
147
153
153
156
163
167
168
171
173
176
176
177
177
178
179
181
180
179
180
180
174
169
165
162
165
167
169
174
178
181
183
187
193
199
204
211
217
222
226
229
233
237
239
241
245
246
249
248
250
249
248
251
253
253
253
251
248
245
241
236
231
225
218
213
211
209
208
206
201
200
196
187
185
183
181
180
184
185
187
190
191
190
191
188
184
178
178
178
180
184
189
191
193
193
190
188
182
180
181
187
188
188
183
177
174
177
179
182
180
179
185
189
196
195
184
186
190
191
204
196
191
194
187
184
178
178
189
167
196
195
193
194
194
194
194
193
192
189
189
189
189
187
188
189
193
197
198
201
201
204
204
207
207
208
206
209
206
202
199
200
196
195
190
182
181
175
170
171
168
169
168
171
170
166
166
163
160
155
151
150
141
129
123
119
111
99
95
85
87
86
87
84
84
86
87
87
89
90
91
90
89
89
91
91
91
93
94
96
98
100
102
103
104
104
105
107
108
111
113
114
116
114
112
111
107
107
106
104
106
105
107
107
106
104
104
103
109
108
110
110
111
113
116
117
120
121
125
128
129
132
132
133
135
137
138
138
138
138
138
137
138
138
139
142
145
145
145
147
146
147
147
149
151
153
155
156
157
158
160
160
160
162
162
159
160
157
156
154
151
150
148
148
145
145
142
140
138
138
139
147
152
152
151
156
160
164
168
170
172
174
176
177
179
181
183
180
177
173
171
169
166
168
169
170
174
178
181
185
190
194
198
204
202
207
213
216
222
228
230
234
238
240
242
245
246
249
249
248
248
249
252
254
254
253
251
249
247
242
238
234
228
220
214
212
209
208
206
202
199
196
189
184
182
181
180
184
186
189
191
192
193
191
186
180
175
175
180
183
185
190
192
194
193
190
186
181
179
179
185
187
188
182
179
176
179
177
180
185
178
185
180
188
189
184
190
200
191
210
192
187
199
189
178
170
148
180
187
205
203
200
199
199
200
201
202
199
197
194
190
190
188
186
185
187
193
197
200
197
199
202
205
203
204
202
203
202
201
201
201
200
199
195
191
188
185
181
181
183
184
186
184
184
182
175
169
165
166
157
156
154
145
134
130
130
129
126
120
120
117
108
99
87
85
83
80
84
81
82
84
82
82
83
85
87
87
90
91
94
95
99
100
101
101
103
103
104
108
108
108
108
106
105
103
102
100
100
100
100
100
100
100
99
99
99
100
102
103
105
105
106
106
109
111
114
117
119
121
123
125
125
125
128
129
133
133
133
133
133
132
132
132
133
136
138
140
138
138
139
141
141
143
143
146
147
148
148
151
151
151
152
156
156
154
154
152
152
151
148
147
146
144
142
142
141
140
141
141
143
145
147
149
148
152
155
160
164
166
167
169
171
173
175
178
179
175
170
165
162
164
166
168
170
169
174
179
183
188
191
195
198
202
206
210
214
220
226
232
235
239
239
242
244
247
248
250
249
249
249
251
253
255
254
253
251
249
248
243
239
234
230
223
216
212
209
208
206
202
198
195
191
184
182
182
181
185
188
191
193
193
193
191
185
178
175
174
177
179
185
189
194
194
192
188
186
180
178
179
186
186
185
182
177
177
182
184
185
187
187
190
189
188
190
174
189
186
192
201
199
184
191
185
178
168
163
190
184
211
207
205
205
206
205
205
205
203
204
199
195
193
189
186
183
183
187
187
188
188
191
196
197
197
197
200
201
201
203
204
205
201
201
200
195
197
195
193
195
197
194
195
195
193
190
185
179
173
169
166
161
165
163
165
166
157
160
161
163
163
160
153
145
135
116
92
84
78
77
78
79
78
78
79
80
80
83
83
86
86
89
91
94
97
99
102
99
99
99
99
99
99
100
99
97
95
95
94
94
92
95
95
94
95
94
94
94
97
99
101
102
104
105
107
109
111
113
115
118
117
117
119
118
120
123
125
125
125
126
126
127
127
127
127
127
127
130
132
134
135
134
136
136
136
138
140
141
141
143
143
145
146
149
151
151
151
151
150
151
151
149
148
146
145
141
141
140
139
140
139
138
141
143
145
147
150
154
156
161
161
163
166
166
167
165
167
164
160
154
157
161
163
165
164
170
174
178
185
190
189
194
198
206
210
216
220
223
228
234
237
240
243
244
246
248
248
248
249
248
249
253
254
255
254
253
251
248
246
242
239
235
231
224
220
214
208
209
207
203
200
196
192
186
184
183
183
186
190
192
194
195
193
191
186
182
176
176
177
179
183
187
193
194
195
191
188
181
178
180
186
186
184
178
178
177
180
179
183
189
186
181
189
195
202
184
191
190
193
192
197
192
193
199
179
159
186
182
182
212
210
208
208
208
208
206
206
205
206
203
197
194
190
186
184
184
183
185
185
190
192
196
201
203
203
202
204
204
206
207
210
207
205
205
206
208
206
206
204
207
203
201
197
195
193
190
184
182
179
171
171
172
178
180
179
177
173
173
173
174
176
179
177
174
168
157
143
120
107
91
80
73
70
73
73
75
76
77
79
82
84
84
87
89
91
93
94
94
92
91
91
90
91
90
89
89
87
87
84
86
91
91
91
93
93
93
95
95
95
98
99
101
103
104
106
108
108
110
111
114
116
117
117
117
117
117
117
116
116
118
119
120
120
118
117
117
120
124
126
127
129
131
131
132
132
134
133
136
136
138
140
141
141
144
145
150
150
150
149
147
146
146
144
141
140
140
140
141
139
139
139
141
144
141
145
146
148
151
152
155
155
156
157
157
157
157
154
153
153
155
160
162
162
166
169
175
181
188
191
194
199
205
212
217
221
225
226
229
233
237
240
242
242
245
245
244
246
246
246
247
250
250
252
253
251
249
246
244
239
236
234
229
224
219
214
208
209
207
202
200
195
192
186
184
184
186
189
191
195
195
195
195
192
187
184
180
178
178
180
184
187
193
195
196
194
189
184
183
181
186
188
184
180
182
184
186
181
183
186
191
185
187
196
194
185
185
186
187
194
202
195
191
172
171
165
182
179
172
214
213
214
213
214
213
208
206
202
201
200
196
191
188
183
177
177
175
182
188
191
194
198
201
204
206
207
208
208
210
211
211
211
208
207
208
206
204
203
204
203
204
202
197
195
196
191
185
181
180
179
177
178
182
185
188
189
185
185
186
187
188
192
195
193
188
183
175
160
151
134
117
106
90
75
75
77
77
79
78
80
79
81
81
82
82
84
83
83
82
83
83
84
83
84
84
84
83
81
82
84
85
86
86
89
90
90
90
89
91
94
95
97
99
101
102
104
105
105
108
109
111
111
112
110
109
109
107
107
108
108
110
106
107
107
109
109
110
113
117
119
122
125
125
124
126
128
126
129
129
130
132
134
136
138
141
142
145
145
144
144
144
144
144
143
141
139
139
139
139
138
139
141
143
143
144
144
145
147
149
149
150
150
152
150
148
147
145
146
146
150
156
158
161
166
169
174
183
192
198
203
206
211
218
220
224
226
227
230
233
236
238
240
238
240
240
242
244
245
243
243
245
245
246
249
247
243
242
240
237
235
232
227
222
217
213
209
208
203
202
201
197
192
189
186
185
186
188
191
194
196
196
195
192
188
183
180
180
181
183
188
191
194
196
196
194
190
185
183
185
189
189
187
183
182
180
181
180
183
189
183
188
188
193
197
187
191
190
177
200
192
194
189
177
174
187
195
180
185
215
216
215
215
215
212
209
209
204
204
201
196
194
190
189
188
188
189
187
191
192
191
193
201
202
205
208
212
213
215
215
215
212
209
208
208
204
203
201
199
197
199
196
195
191
190
187
182
180
180
181
180
183
184
190
192
190
191
191
194
197
200
202
203
203
197
189
183
176
170
160
150
141
130
118
105
96
94
94
94
94
91
84
84
84
84
86
84
84
80
79
77
78
76
76
78
77
78
76
77
79
80
83
83
84
84
84
85
87
88
90
92
93
95
96
98
99
98
100
103
104
104
105
103
101
103
100
97
99
99
103
101
102
102
102
103
103
105
107
110
112
113
116
119
119
119
120
118
120
124
125
127
132
133
135
135
137
140
140
139
141
140
141
141
141
141
139
138
138
138
138
138
140
140
143
143
145
145
145
146
145
148
149
148
146
145
142
143
142
142
145
152
156
161
165
169
175
183
189
195
202
207
213
218
220
224
226
227
229
232
233
236
237
236
236
236
236
238
240
239
239
240
240
240
241
239
237
236
233
231
230
228
224
218
215
213
209
207
204
202
201
197
193
189
186
185
187
189
192
195
197
196
195
192
188
183
179
178
182
186
190
194
196
198
196
194
193
185
183
185
188
192
191
186
183
182
183
185
187
185
183
180
184
192
193
192
191
189
182
206
192
186
175
184
176
176
190
181
179
215
215
218
215
215
213
211
211
208
206
204
201
199
197
200
201
200
199
199
194
193
192
193
197
200
203
208
215
217
216
214
214
210
207
204
206
206
203
198
194
192
194
189
188
185
181
178
175
176
177
180
181
187
188
192
195
198
204
207
210
214
214
214
214
214
210
205
201
194
190
191
187
185
182
174
165
158
144
127
123
116
114
113
112
107
105
103
102
101
102
103
100
96
92
92
89
86
90
91
91
86
79
78
80
80
81
81
81
84
84
87
88
90
92
94
94
94
94
94
97
98
98
101
101
98
96
95
92
91
92
92
92
93
93
95
96
98
100
102
104
106
106
108
111
113
113
115
114
116
119
122
126
128
130
130
132
133
133
134
134
136
138
138
140
138
137
135
137
137
135
136
139
139
139
138
138
142
142
142
141
142
144
145
147
147
146
144
142
141
142
142
147
153
160
165
170
176
181
184
190
200
204
207
212
217
219
222
223
225
227
229
232
232
232
232
232
231
233
233
233
233
233
234
234
234
232
229
228
227
225
224
224
220
215
214
211
210
209
206
203
201
197
193
188
186
186
187
191
193
196
198
197
196
192
187
183
180
180
183
187
189
194
198
199
198
194
192
185
183
181
185
189
192
192
185
177
180
183
180
186
179
182
185
185
194
190
186
196
182
204
197
193
168
189
173
179
185
174
176
212
212
214
214
214
213
214
214
211
210
208
204
201
199
201
203
200
200
198
198
196
196
196
196
197
200
210
213
215
216
214
213
206
205
204
205
201
200
194
189
188
187
184
181
175
172
167
164
167
170
178
180
187
198
201
210
213
216
220
219
221
224
224
224
222
219
215
212
209
209
208
205
202
198
195
187
181
182
177
173
173
166
161
153
150
145
148
149
144
137
129
122
119
116
120
111
109
106
96
93
93
93
101
91
79
79
79
79
81
84
84
85
87
88
90
90
91
90
90
92
93
93
95
95
93
93
93
91
88
87
87
88
87
87
89
89
92
93
94
97
98
102
104
106
107
107
109
107
110
112
116
121
123
124
126
128
127
127
127
127
130
131
134
134
135
133
135
135
135
135
136
137
137
138
138
138
139
137
137
137
140
140
143
145
145
145
148
145
145
143
141
142
148
155
163
169
174
178
181
188
196
197
203
208
210
213
216
218
222
225
226
228
230
230
230
228
227
227
227
227
225
224
223
225
223
222
222
222
218
218
216
217
215
212
212
209
208
207
205
203
201
197
193
188
186
187
187
191
193
196
198
197
196
192
187
181
179
181
182
187
190
194
201
200
199
196
193
186
182
180
186
191
193
188
187
183
184
184
179
185
186
181
194
188
195
183
196
193
190
202
205
193
178
181
167
174
187
178
179
209
210
209
210
212
215
213
213
212
211
209
204
203
200
201
200
201
199
198
196
195
196
196
199
201
204
208
209
211
208
208
208
204
204
200
199
196
194
191
184
179
179
179
175
166
160
158
155
158
160
168
173
183
194
198
206
217
220
224
226
226
227
230
229
229
227
225
223
221
221
220
219
216
212
211
202
203
200
196
198
199
194
188
184
182
181
176
174
172
170
163
157
157
146
140
131
120
112
110
105
98
98
96
96
101
77
78
76
79
81
81
82
82
82
85
86
87
87
87
87
88
88
87
86
85
87
86
84
83
82
82
82
83
83
83
83
86
87
87
89
92
95
98
100
102
105
103
102
105
108
111
113
116
116
118
120
121
121
121
122
125
125
125
127
129
129
129
131
131
131
133
133
133
134
133
133
134
134
137
139
140
143
144
144
146
146
148
148
146
144
142
140
142
147
157
164
168
173
177
183
189
194
196
201
202
206
210
212
216
220
220
223
224
225
225
225
223
221
220
219
217
215
212
212
213
213
212
211
213
212
212
211
209
208
207
206
208
207
205
203
200
195
192
188
186
187
186
190
193
196
198
197
196
191
188
184
179
179
182
186
190
195
200
200
200
195
192
187
183
181
184
188
192
185
183
176
181
186
184
184
191
186
184
192
188
184
199
193
191
198
194
185
186
180
174
176
186
183
189
208
209
206
207
211
211
213
213
213
212
212
208
206
203
203
201
203
201
202
198
197
196
196
200
202
202
205
207
209
209
205
203
196
195
192
189
189
188
184
184
180
175
169
166
161
154
154
155
151
152
163
169
178
192
200
206
216
220
224
227
230
232
233
234
234
235
233
232
231
229
227
224
222
221
219
219
218
215
214
213
211
208
205
203
198
196
196
192
188
185
181
182
176
170
166
155
145
141
129
115
108
104
98
98
95
98
78
78
78
78
78
77
74
76
79
81
80
81
83
84
84
84
85
84
84
83
81
79
78
78
75
75
77
77
77
80
82
83
84
86
88
91
93
94
94
97
98
101
103
104
103
106
108
110
113
113
115
115
116
114
114
117
119
121
123
124
124
125
126
126
128
129
129
129
128
130
131
132
134
136
140
140
141
143
145
144
145
145
145
144
142
141
139
140
146
151
157
163
170
174
178
183
187
190
195
197
203
207
209
213
214
217
220
221
219
218
215
215
215
212
211
208
207
204
204
204
203
205
207
207
205
203
203
202
202
203
205
207
205
203
199
196
193
188
186
187
186
190
193
196
198
197
195
191
187
184
179
179
185
189
193
197
199
199
198
194
190
186
184
184
186
188
185
182
179
181
183
184
191
186
188
184
179
184
192
188
190
184
199
189
192
192
195
178
190
185
178
179
187
210
210
210
209
212
212
215
217
218
216
215
214
211
210
209
207
205
201
199
196
197
195
195
195
198
197
199
199
201
202
202
201
193
184
183
179
182
182
181
179
175
168
165
161
159
162
161
151
149
147
155
162
174
190
203
208
213
216
220
227
229
230
233
235
238
236
235
237
237
235
236
234
232
230
230
228
227
225
225
224
221
220
219
217
220
220
217
212
207
205
203
202
193
187
181
173
164
159
151
140
127
116
110
103
100
93
90
81
79
77
77
76
71
73
73
74
78
80
80
81
82
80
80
81
81
78
76
75
75
73
73
72
72
69
73
75
78
78
79
81
83
85
86
87
89
91
93
93
95
97
97
99
103
103
103
104
105
105
109
107
107
107
108
110
112
114
117
119
119
121
121
123
125
125
124
126
129
131
131
133
138
138
139
139
141
143
144
144
146
144
142
142
140
140
142
146
149
155
158
163
169
172
175
181
182
186
195
199
203
207
208
212
213
212
211
209
209
207
205
203
202
199
198
196
195
194
196
197
199
197
196
195
197
201
201
202
205
205
205
203
199
196
193
189
187
187
188
190
194
196
198
196
194
190
186
183
180
180
186
190
192
198
200
199
198
194
189
184
184
185
187
189
187
182
178
180
185
191
191
188
189
186
174
192
201
192
190
202
189
204
187
192
200
187
176
189
174
178
188
216
217
217
218
219
222
220
222
224
219
215
209
204
203
204
204
204
204
197
193
190
189
189
189
189
187
188
187
189
187
188
186
186
182
176
172
172
172
169
166
162
156
154
149
150
159
163
161
161
161
156
162
171
184
191
196
201
207
210
219
224
226
230
232
233
235
237
238
239
237
237
238
238
237
238
234
234
233
234
233
230
228
228
227
224
224
226
228
226
223
223
219
214
210
204
204
199
191
178
163
151
142
133
129
121
115
114
100
92
87
80
74
69
69
71
72
75
77
77
79
79
79
78
76
76
76
75
75
73
73
70
70
71
71
72
76
76
77
77
79
80
81
80
81
83
82
84
86
88
90
93
93
96
95
95
93
93
93
94
96
96
98
95
97
103
104
104
109
112
114
115
118
118
122
120
120
123
123
123
126
130
132
134
135
137
139
141
143
143
144
144
143
143
141
140
140
143
146
151
156
161
165
167
172
174
176
184
188
190
191
195
199
199
199
198
197
196
196
194
195
195
191
190
188
189
187
184
186
188
187
189
192
194
197
199
202
204
205
205
203
200
195
193
189
187
187
188
190
193
196
198
196
195
190
188
184
182
183
187
191
195
198
200
199
196
194
189
184
181
186
192
192
189
181
175
179
175
187
183
185
180
188
179
200
195
181
188
190
195
200
198
198
191
198
194
175
182
172
188
220
221
221
220
222
225
225
224
220
221
218
213
207
202
199
195
194
195
190
188
181
180
179
179
178
179
176
174
172
171
170
170
164
162
161
159
161
159
153
147
149
149
154
159
168
179
182
183
178
178
178
177
177
185
189
194
201
204
209
213
217
222
228
230
233
237
237
237
239
239
239
237
240
239
239
238
238
237
235
235
235
234
232
231
232
232
233
233
234
232
231
228
225
225
222
221
216
211
201
195
187
175
158
149
145
131
112
109
104
94
86
81
74
68
73
75
79
80
79
78
79
79
79
80
79
77
76
73
73
74
71
70
71
71
73
74
74
75
77
79
79
79
79
80
81
81
84
86
86
88
89
89
88
88
88
86
85
85
85
86
88
89
90
94
93
94
97
99
102
107
107
108
111
113
114
114
113
116
118
122
124
126
129
132
134
136
138
138
140
142
142
141
140
140
140
139
139
139
141
145
150
155
159
163
165
167
171
174
177
177
177
179
183
184
184
187
187
187
188
188
187
185
184
182
181
176
175
179
183
184
185
188
192
195
197
201
204
206
206
205
201
197
194
191
189
187
188
190
194
197
197
197
194
192
187
184
184
185
187
191
195
197
199
198
196
192
188
184
184
186
191
193
196
187
180
180
187
187
193
186
182
183
179
191
196
185
185
192
187
194
204
193
198
192
181
182
184
174
182
220
218
219
222
224
224
222
220
218
218
213
210
207
201
195
190
185
185
179
175
166
166
164
162
160
160
160
158
156
159
153
149
145
145
145
144
143
144
143
145
152
159
165
173
177
186
188
195
193
196
195
194
191
194
197
202
207
210
218
219
226
229
234
236
240
236
239
242
241
243
240
241
240
241
240
241
241
238
237
237
238
236
235
234
234
236
237
237
236
234
235
236
234
229
226
226
227
225
220
212
205
194
183
168
151
145
141
122
105
104
96
85
81
79
77
82
85
84
85
89
89
89
89
90
89
86
85
82
82
82
76
74
75
75
75
75
75
75
74
76
76
77
77
78
80
80
81
84
84
87
85
85
84
85
83
81
79
77
76
76
77
79
82
85
86
87
90
91
94
95
98
100
102
106
106
106
105
106
111
114
116
120
124
127
128
132
133
133
135
137
139
139
139
139
138
139
139
139
139
139
139
140
145
148
149
149
154
157
161
165
166
166
170
175
174
177
179
181
182
182
180
177
175
171
172
173
173
173
175
176
180
183
187
193
196
202
204
208
208
205
202
198
196
192
190
185
187
189
192
197
197
197
194
194
188
187
187
187
188
192
195
198
198
198
197
192
190
185
185
190
193
195
197
188
183
183
188
187
189
186
180
177
184
202
201
186
192
192
182
185
191
192
202
189
196
191
186
180
183
222
220
218
219
219
218
219
214
212
211
206
205
202
196
190
184
176
171
166
161
147
146
143
143
147
145
144
142
142
139
139
132
130
130
132
140
144
149
155
160
170
177
182
184
188
193
201
209
212
211
209
208
208
210
212
215
219
224
225
225
229
232
234
236
237
239
241
243
242
245
245
242
241
240
240
239
240
239
238
238
237
237
235
235
236
235
237
237
237
236
238
236
235
233
230
228
224
224
222
219
208
202
191
183
172
154
139
138
128
114
104
97
93
98
93
91
95
101
101
101
101
99
98
95
94
93
91
89
88
88
86
84
84
82
82
81
81
85
82
80
79
79
77
79
82
82
82
86
86
86
84
84
83
82
82
79
80
77
74
68
68
71
73
77
81
81
82
84
84
89
91
93
95
97
98
98
100
98
103
106
108
113
119
122
124
128
129
129
131
131
135
138
138
138
140
141
142
140
140
141
142
141
141
144
143
143
144
147
150
154
155
157
160
163
166
171
172
174
173
174
172
170
168
167
166
164
165
164
169
173
176
180
185
191
195
200
204
206
209
205
202
200
197
192
190
187
187
189
192
196
196
196
194
194
190
187
185
187
190
193
194
195
197
197
196
194
192
189
191
193
197
199
199
190
184
191
190
188
189
187
182
184
182
188
196
193
180
197
170
195
191
196
194
179
173
189
184
181
188
231
226
216
215
215
211
213
210
202
198
195
188
187
183
174
171
165
153
147
144
139
137
137
135
137
135
132
130
128
125
120
119
125
130
134
146
150
152
162
170
179
185
188
195
200
204
208
213
216
216
218
220
220
223
225
224
227
226
226
228
232
234
232
234
238
238
241
241
242
241
240
240
241
239
239
238
238
238
238
236
235
235
235
236
237
237
238
239
238
236
235
233
234
235
235
231
228
226
226
223
217
211
202
192
179
160
153
140
140
132
118
113
107
113
111
111
110
111
115
117
114
111
111
111
109
107
104
99
95
92
92
91
91
89
87
89
89
87
86
86
83
83
83
83
85
85
86
88
88
83
85
86
88
89
89
86
81
75
73
73
71
71
70
75
76
78
78
80
82
84
86
86
88
90
91
91
95
95
97
102
103
107
113
115
117
122
124
126
128
129
131
135
137
139
141
142
143
143
142
143
144
145
147
147
146
145
145
142
145
148
150
152
152
154
157
161
162
163
162
162
161
159
159
157
156
153
155
158
164
167
173
177
182
190
195
200
204
207
209
207
202
200
197
192
190
186
187
189
191
193
195
194
194
194
192
189
189
190
193
193
194
196
196
195
194
194
190
189
191
193
197
199
201
190
182
185
197
197
188
184
182
187
184
197
200
195
193
197
198
180
182
198
206
194
196
178
183
172
184
230
225
215
211
209
208
205
204
196
189
185
175
172
166
157
155
150
139
134
134
133
131
132
130
131
131
130
126
121
117
119
121
126
135
138
150
155
164
173
178
183
194
202
211
217
218
219
224
225
225
228
229
231
228
228
229
230
230
230
232
235
235
234
235
237
237
237
236
239
238
237
237
238
236
235
235
236
235
236
236
235
235
234
236
235
237
238
238
237
238
237
237
235
234
233
233
230
229
226
223
217
207
202
195
183
170
163
157
150
145
140
129
126
128
123
125
127
128
126
130
133
130
124
124
124
122
115
110
106
102
100
99
97
95
95
95
95
97
95
95
95
92
95
102
104
106
106
107
102
105
117
122
115
112
109
104
100
95
97
83
77
78
78
80
79
82
83
84
82
82
80
80
82
82
82
84
85
90
92
96
97
101
103
106
108
114
117
119
124
127
129
132
133
137
140
143
146
147
145
146
149
148
147
146
147
145
145
141
139
140
143
146
149
148
149
150
151
151
152
151
151
150
150
147
148
147
150
152
156
161
169
175
182
188
194
201
205
207
209
207
206
201
200
192
188
186
186
188
190
193
193
192
195
195
194
192
192
194
196
198
196
196
196
193
191
191
189
187
189
193
198
198
196
190
186
186
191
195
194
187
186
189
190
196
189
191
195
195
196
197
196
200
193
201
185
185
178
181
178
227
224
214
208
204
202
197
192
186
181
174
170
168
162
154
153
145
135
134
131
134
136
134
132
134
139
144
143
149
154
150
151
152
151
152
160
170
185
196
200
208
219
225
230
231
230
229
230
232
233
232
231
233
234
236
236
234
237
237
237
238
237
238
238
238
236
236
236
236
237
236
235
235
235
234
234
235
236
238
237
236
236
235
235
234
235
237
239
239
239
239
239
239
239
238
236
231
230
227
222
219
210
203
196
190
186
185
177
168
164
158
150
149
150
146
144
145
149
144
139
140
140
135
136
136
131
125
121
117
114
112
109
108
106
104
102
104
105
105
102
107
110
116
117
123
126
125
122
134
139
135
131
131
132
126
119
111
105
103
100
101
90
87
87
89
92
88
87
87
86
85
82
80
80
82
82
82
84
87
89
91
95
96
97
101
106
112
114
118
120
124
127
130
135
140
142
144
147
148
151
151
150
151
151
150
148
145
144
141
136
134
135
134
135
136
136
136
138
140
140
140
141
143
143
145
148
149
147
153
160
168
174
180
186
194
200
205
208
210
208
207
203
199
194
189
187
187
189
190
192
192
193
195
195
192
192
194
197
198
198
196
195
195
192
189
187
186
186
190
196
199
197
194
191
186
191
194
192
191
184
187
189
197
200
184
194
185
198
196
188
193
203
187
180
184
179
197
194
190
221
218
209
199
194
192
192
188
183
183
180
179
176
173
163
158
150
137
129
131
132
130
134
143
148
152
157
159
163
163
174
178
178
179
183
186
187
196
216
217
222
235
239
242
241
241
240
239
237
236
240
241
241
240
242
239
241
240
242
240
241
239
240
238
237
237
237
236
236
236
235
233
235
235
233
235
235
237
238
237
236
237
236
238
241
240
239
240
239
239
239
239
240
241
240
237
234
231
227
222
216
210
208
203
199
198
197
193
187
181
176
170
168
171
168
163
162
159
162
154
152
153
152
148
146
141
134
128
125
123
123
122
120
120
117
116
117
118
121
127
128
132
134
136
137
137
137
147
148
151
147
144
143
143
142
140
133
117
112
112
112
118
103
103
104
106
109
107
97
94
93
90
90
86
85
83
82
82
80
82
84
86
85
88
92
97
103
107
110
115
119
122
125
131
136
137
143
146
148
151
152
151
152
151
149
148
147
146
142
138
134
131
129
126
126
127
126
128
131
133
135
137
141
143
145
147
147
147
146
156
166
171
177
184
191
199
204
206
209
208
207
203
200
195
191
188
189
189
191
193
193
194
194
192
192
193
195
198
199
199
196
196
194
192
188
187
184
184
189
196
200
198
197
197
194
197
198
194
189
189
191
189
194
201
192
190
190
198
208
191
194
196
188
189
192
180
185
187
181
218
213
202
194
188
180
180
180
182
178
176
173
169
167
162
160
156
155
152
155
145
147
153
162
163
165
164
165
170
179
188
195
198
204
208
209
213
218
227
233
237
240
243
243
243
244
246
247
247
248
243
243
243
243
245
242
243
243
244
243
240
241
240
240
239
238
239
238
235
235
234
236
235
234
233
235
236
236
237
238
237
237
237
239
240
240
240
242
241
241
241
241
242
241
241
238
234
229
225
222
218
216
212
209
206
208
203
200
196
191
188
185
184
184
185
183
176
173
172
168
164
162
162
158
155
151
142
134
132
131
131
130
129
131
129
129
131
132
137
141
149
148
154
155
153
153
154
168
160
157
158
158
155
155
149
150
145
141
140
130
131
137
142
126
127
122
119
120
120
111
117
102
87
89
87
86
85
85
84
82
80
80
82
83
85
91
93
97
101
106
112
117
124
128
131
133
139
143
147
149
151
151
152
151
149
147
146
147
143
139
134
132
128
124
124
125
127
127
128
129
131
134
139
142
140
144
144
143
144
152
160
168
174
183
188
197
201
205
207
208
207
203
200
195
191
190
189
191
193
194
194
194
194
194
192
193
195
199
200
198
197
195
193
190
190
189
187
188
192
196
197
199
198
197
200
203
202
193
195
195
190
186
188
191
198
193
188
203
194
201
187
199
189
200
182
184
178
175
185
204
199
190
188
183
177
177
175
177
179
178
177
177
180
178
178
181
175
172
170
165
166
168
165
171
176
182
185
192
198
207
211
216
219
222
224
229
233
238
239
241
244
245
247
247
248
247
250
248
251
252
248
248
248
247
248
246
247
246
247
246
243
244
243
245
244
243
241
240
237
238
240
236
236
237
238
238
238
237
238
237
240
241
241
241
241
242
242
246
243
244
245
246
244
242
238
233
229
224
219
220
217
212
210
212
215
215
209
207
204
200
204
200
197
197
193
191
186
181
177
175
168
165
163
159
156
153
143
142
141
139
139
139
141
142
142
144
149
150
156
159
161
163
163
161
162
174
174
170
167
167
165
167
161
159
153
154
151
147
151
155
149
156
142
138
136
131
130
127
128
118
118
122
101
93
91
92
91
91
91
88
84
82
81
81
79
84
88
94
100
106
111
115
121
128
132
137
141
144
148
148
150
150
150
149
147
145
143
142
138
134
133
127
125
124
123
124
125
126
127
131
134
135
136
137
140
144
144
142
150
157
165
173
181
188
195
201
203
207
208
205
203
199
196
194
193
191
193
193
193
193
192
193
193
193
194
198
200
199
199
198
194
192
190
191
189
187
189
194
199
199
199
200
198
201
209
212
195
197
190
179
184
187
190
193
192
196
186
188
189
195
213
193
190
199
194
183
180
178
192
182
173
169
165
170
172
182
185
184
186
185
188
187
192
196
195
192
193
189
188
183
181
183
182
181
196
204
208
217
223
226
232
228
231
233
237
238
241
242
243
245
249
250
252
251
251
253
253
254
252
252
253
250
250
249
249
249
249
247
249
245
244
245
248
247
245
243
241
240
239
240
237
239
240
239
239
238
241
242
242
244
244
244
243
243
243
244
244
245
245
245
246
243
242
239
233
230
223
219
217
214
214
214
215
213
213
210
208
206
208
209
211
217
207
205
200
198
192
184
182
176
172
168
163
162
159
151
149
145
145
150
158
158
156
154
158
159
164
170
169
170
172
173
171
173
173
176
178
176
171
172
168
165
164
163
159
154
156
163
164
163
163
152
149
145
145
138
136
132
128
126
123
127
111
102
99
96
94
94
94
91
87
82
81
79
77
81
84
90
96
105
112
118
125
128
134
137
141
143
144
147
147
148
148
147
145
142
141
136
133
128
127
124
124
121
122
122
124
124
126
128
130
133
136
134
135
138
140
145
152
162
170
178
185
193
198
200
204
206
205
203
199
196
194
193
192
194
194
193
193
192
193
191
193
194
198
201
202
200
198
195
193
190
189
187
183
187
193
198
201
201
200
197
200
203
205
196
194
190
182
191
190
202
192
193
192
196
207
191
193
173
188
188
196
183
180
181
186
171
167
159
155
153
173
180
183
183
187
192
196
199
203
207
208
206
205
204
200
201
202
204
203
204
205
213
217
218
222
225
230
235
236
236
242
247
243
244
244
246
246
248
250
252
252
252
252
251
252
251
250
250
251
249
250
247
248
247
247
247
246
246
248
248
247
248
245
243
240
240
238
238
238
240
242
242
243
243
244
244
243
244
247
248
248
248
248
248
247
248
248
245
244
242
240
234
227
224
222
220
214
214
214
213
213
211
209
210
212
213
215
215
219
219
214
207
200
197
194
189
178
174
170
165
163
161
157
160
156
158
160
163
164
166
168
168
170
169
171
174
177
177
177
177
172
173
180
179
178
175
174
171
168
169
165
161
163
172
174
176
172
165
153
153
154
150
148
145
142
139
138
139
131
133
120
112
102
99
96
95
93
92
89
84
80
77
77
78
84
90
98
104
110
118
122
126
132
136
139
141
142
145
144
142
143
141
141
138
133
130
129
125
123
123
121
123
121
121
120
120
124
126
126
132
132
132
132
133
138
145
154
166
175
183
190
195
199
204
205
203
201
199
195
193
193
193
195
194
191
192
192
191
191
193
195
200
201
201
199
198
194
192
189
189
187
187
190
194
200
200
200
200
196
196
200
200
192
192
185
191
202
188
201
192
190
190
199
189
198
179
188
192
173
181
191
185
187
182
162
159
154
153
166
179
179
184
189
193
200
209
210
214
218
218
218
217
219
215
210
211
213
215
215
221
221
222
227
228
229
231
235
236
239
246
249
247
247
247
246
247
246
248
251
250
250
250
250
251
250
250
249
250
249
248
248
246
246
249
246
244
248
248
247
248
248
246
245
243
243
242
241
241
243
243
245
246
245
247
246
246
248
249
250
250
252
252
251
251
249
247
247
242
240
238
233
228
223
221
218
217
213
214
212
213
210
209
214
216
217
217
217
221
216
214
211
205
201
195
191
184
175
170
163
162
163
160
157
154
159
162
162
165
172
177
177
178
178
181
178
177
179
177
178
175
175
175
180
178
176
171
170
169
169
173
173
176
180
177
178
169
168
162
158
155
155
153
152
151
149
147
147
142
144
126
123
120
113
109
103
101
99
93
90
87
88
84
84
82
85
90
94
101
112
115
119
127
130
134
138
138
139
141
140
139
138
136
134
131
129
127
124
124
121
118
119
117
116
115
116
118
120
124
128
128
128
127
126
129
138
146
158
171
177
186
193
197
201
205
203
201
199
195
193
193
193
193
193
192
193
190
190
192
193
195
200
202
203
200
197
191
189
188
188
186
185
189
193
196
195
197
199
197
195
199
195
190
178
187
188
185
195
203
189
194
185
195
191
196
189
189
186
160
174
176
185
187
179
159
156
158
164
170
181
185
188
201
207
212
217
217
219
223
223
224
223
222
223
222
218
220
223
226
230
228
227
230
231
232
234
236
239
241
242
248
245
247
246
245
245
246
248
248
250
250
248
250
249
249
248
248
250
248
249
248
252
251
249
248
247
248
248
248
249
250
250
247
244
244
243
243
243
246
246
248
247
247
248
249
252
252
251
252
252
253
254
254
254
251
248
246
243
242
237
233
228
225
223
219
218
217
216
209
206
206
210
214
216
217
218
218
218
215
212
208
204
202
198
193
185
182
170
163
161
165
158
157
157
161
164
166
172
176
179
180
181
182
184
186
178
179
178
178
175
177
178
176
176
175
173
172
172
174
178
178
179
180
179
175
169
172
166
161
158
160
158
154
148
150
150
153
150
151
141
135
134
125
119
115
111
108
108
104
101
97
95
93
90
89
91
94
98
104
106
114
121
124
130
132
134
136
136
137
137
134
131
129
126
126
122
118
119
118
113
112
110
108
114
114
116
117
119
124
124
122
122
119
120
132
139
150
163
171
181
190
193
200
202
202
200
198
195
193
194
193
193
193
194
191
191
192
190
191
194
198
201
201
199
195
192
190
189
188
185
185
189
191
191
190
195
201
200
198
199
195
191
187
195
183
180
184
196
190
200
181
189
200
182
187
177
189
181
186
201
189
182
178
151
150
163
166
174
183
190
200
210
214
217
220
224
224
226
227
229
229
228
227
223
224
224
227
230
233
235
234
233
235
237
237
237
240
239
239
248
243
245
245
245
242
243
245
245
247
247
247
246
246
244
245
247
248
248
250
252
254
252
250
250
249
251
251
250
250
251
251
250
249
247
246
246
245
246
249
251
250
250
250
251
253
252
253
253
253
254
254
255
254
251
248
244
242
238
236
233
229
224
220
219
219
214
213
208
205
206
208
212
214
217
218
218
215
215
209
206
202
197
195
191
185
182
172
166
172
165
158
152
157
163
170
171
177
179
182
182
183
184
188
194
179
178
176
176
177
180
175
171
171
174
173
174
174
176
176
178
178
176
179
173
170
173
170
163
160
157
159
153
150
154
150
151
153
150
145
141
139
134
127
127
125
120
118
114
113
110
106
104
100
95
94
94
97
100
101
107
112
116
120
123
125
127
130
131
131
129
127
125
122
120
118
115
113
113
109
107
105
106
108
109
113
111
114
117
116
114
113
110
111
119
129
141
156
165
176
187
191
197
200
202
200
198
196
194
194
192
192
192
193
193
191
192
190
193
195
200
203
199
197
195
192
190
189
189
187
185
188
190
192
189
194
200
204
204
198
193
187
191
196
180
183
195
192
183
197
184
190
191
195
199
187
192
176
181
194
193
192
192
150
154
162
166
172
185
195
205
214
215
220
225
227
229
229
230
231
230
231
229
226
227
227
229
231
234
235
234
234
237
238
236
235
234
234
237
236
242
242
240
238
239
242
241
241
242
242
242
240
240
242
243
244
246
246
248
250
251
252
251
252
251
253
253
253
253
253
253
252
250
248
251
249
248
250
250
250
250
252
252
251
253
253
254
254
254
255
255
255
254
252
249
244
239
236
234
229
227
226
220
215
213
209
208
203
204
205
208
210
214
215
217
218
213
211
208
206
203
199
196
190
181
178
173
165
170
163
160
156
158
163
171
175
177
179
183
185
184
185
186
190
182
176
175
172
174
171
168
170
171
171
173
172
174
174
174
175
176
176
174
175
171
171
169
169
166
158
153
154
152
151
151
151
147
148
151
148
146
140
136
140
135
132
129
128
124
119
117
118
116
115
117
118
117
115
113
112
110
112
114
118
120
122
123
122
122
125
123
123
120
117
115
109
109
107
106
104
103
102
103
105
110
107
109
110
111
108
104
103
105
113
124
134
147
160
173
182
187
195
199
202
200
198
196
194
194
193
193
193
194
191
191
191
191
193
197
201
203
200
198
195
190
188
189
188
188
185
187
189
190
188
193
198
199
197
198
193
189
189
189
179
183
187
192
185
202
190
196
192
207
195
194
193
179
178
174
180
181
183
148
153
163
168
175
187
195
207
215
219
225
226
230
228
230
230
231
232
231
229
228
229
227
227
229
229
231
232
232
234
234
233
231
229
230
231
227
225
229
232
233
230
234
233
235
235
235
235
238
238
239
239
241
242
245
246
247
249
250
251
252
253
252
253
253
253
255
255
255
253
253
253
252
251
250
251
251
249
252
252
251
254
254
254
254
254
255
254
254
253
251
247
242
238
234
232
230
226
220
213
207
203
197
196
199
204
208
210
213
213
215
214
212
212
207
206
206
202
201
200
197
186
179
174
165
168
161
162
160
161
163
170
172
176
179
182
184
181
182
184
183
177
174
173
172
172
172
169
167
172
171
173
174
176
174
174
174
174
174
174
170
171
172
175
169
167
161
158
154
149
152
150
146
145
147
147
145
149
143
144
142
142
141
137
132
131
130
132
132
131
131
131
133
133
133
129
126
122
119
119
116
111
115
117
116
116
118
117
117
118
116
111
106
106
104
102
102
101
101
99
101
105
107
107
106
103
106
104
102
102
103
118
130
141
153
164
177
185
193
197
202
200
198
195
193
194
193
193
193
193
193
191
192
194
194
200
202
202
199
197
194
190
188
190
189
189
187
188
188
191
191
194
197
194
194
196
197
193
180
180
185
179
188
188
180
188
190
192
186
200
189
200
176
184
201
187
170
180
176
145
149
160
168
172
184
195
201
211
215
223
223
226
226
227
229
231
230
230
230
226
226
226
226
225
225
224
225
225
225
225
226
226
223
221
219
219
217
212
210
210
213
218
222
225
227
229
230
231
235
236
235
237
239
240
244
246
247
250
253
253
253
253
254
254
254
254
254
254
254
254
253
252
252
252
252
252
252
252
252
251
251
253
254
254
254
253
252
252
249
247
246
242
237
233
229
221
217
214
209
202
195
189
186
191
195
200
208
213
213
212
211
213
211
209
205
203
202
198
197
196
192
182
177
166
165
161
158
162
162
167
171
173
175
178
177
180
178
177
178
179
173
171
172
172
167
168
166
164
169
170
170
173
174
172
173
173
174
173
174
174
171
170
170
170
168
163
159
154
149
143
142
141
142
147
147
146
146
140
142
143
146
145
146
147
146
148
147
147
144
143
139
138
137
138
139
134
130
126
123
117
113
109
109
112
114
112
113
113
111
110
108
106
104
103
102
100
99
100
102
102
106
106
107
107
105
103
101
102
100
96
106
118
131
146
160
173
181
189
195
200
200
198
195
193
193
192
192
193
194
192
192
193
195
196
199
203
203
202
198
194
188
186
187
189
189
187
191
193
193
191
195
198
200
198
197
202
191
178
177
184
180
179
188
187
191
195
207
190
192
192
188
189
185
191
189
191
170
173
137
145
155
161
169
184
194
202
209
211
217
218
226
227
228
230
230
230
229
229
225
221
220
218
219
218
217
217
217
217
217
216
215
214
211
207
206
205
204
205
202
200
201
207
215
222
224
227
231
232
232
233
234
235
237
239
244
247
250
253
255
255
255
255
255
255
254
254
254
253
253
254
252
252
252
251
251
251
252
250
250
251
251
252
251
251
251
250
248
246
242
241
237
231
227
222
215
212
209
205
200
190
187
190
196
200
205
208
214
212
212
211
211
211
209
207
205
200
197
195
194
191
188
182
171
165
165
161
163
165
171
170
172
175
178
176
176
177
180
178
173
174
168
168
166
161
163
165
168
170
170
170
173
175
176
177
175
178
176
176
176
173
171
171
168
167
161
158
156
151
145
140
139
138
142
145
145
147
147
149
150
154
155
153
155
156
159
159
159
156
152
149
143
147
148
151
150
145
138
132
127
120
115
109
107
106
108
109
107
109
111
109
107
106
105
104
102
104
104
104
104
106
109
112
113
108
104
104
101
98
95
99
113
127
141
155
168
178
188
192
197
199
197
195
193
193
192
192
193
193
193
192
193
195
196
202
204
204
201
197
194
187
185
186
188
188
186
190
192
192
192
194
196
198
198
197
198
183
172
180
182
178
179
194
185
201
182
182
181
199
193
197
177
187
184
190
182
174
172
136
142
150
164
174
182
192
198
209
211
213
221
226
227
227
228
230
230
229
226
222
221
219
214
214
214
212
212
212
212
211
207
207
206
202
198
198
198
198
199
198
196
194
195
199
206
211
217
220
223
226
227
229
230
232
237
242
244
247
251
253
255
254
255
255
254
254
254
252
252
252
251
250
250
249
249
249
251
251
251
249
249
249
249
248
248
247
245
243
240
237
235
229
225
221
216
214
209
203
198
197
194
195
199
203
206
210
213
215
213
214
214
213
214
213
212
207
205
201
196
193
191
190
188
178
174
168
167
170
168
170
172
171
173
176
176
175
174
174
170
170
170
168
165
163
160
158
158
163
166
166
169
172
174
179
178
178
178
178
176
174
172
172
168
167
163
159
157
156
152
149
142
138
137
140
142
147
152
155
157
159
162
161
160
162
163
163
162
164
162
163
162
163
165
161
157
154
151
150
146
138
133
125
117
107
107
106
106
106
108
107
108
107
105
106
107
107
107
108
111
112
112
113
113
114
112
110
105
104
99
93
98
108
123
138
152
166
176
183
191
196
198
197
195
193
193
193
192
192
193
193
193
194
196
198
202
206
204
200
195
193
187
183
186
188
188
189
191
192
195
193
195
198
198
198
198
198
188
176
186
180
187
176
183
184
192
197
192
182
197
187
202
193
161
192
198
172
168
162
139
146
157
162
170
181
192
197
214
220
221
224
223
221
220
221
224
226
228
227
221
221
218
214
208
208
206
207
207
205
204
202
203
201
201
197
198
200
198
198
199
197
195
194
191
196
201
206
211
215
220
223
225
228
229
233
239
242
245
249
252
252
253
252
252
252
252
252
251
249
249
249
249
249
246
248
248
248
248
248
247
247
247
245
245
245
243
240
238
235
232
226
219
215
211
209
208
203
199
196
194
194
201
206
208
211
214
219
220
219
219
216
215
215
212
213
209
207
206
203
200
197
194
193
187
184
177
172
169
165
171
168
168
171
174
170
173
168
168
166
167
167
165
164
162
158
155
156
158
163
165
167
172
175
178
177
178
176
175
174
172
169
169
166
162
158
154
154
154
148
149
149
143
143
144
150
152
161
164
167
166
168
166
169
170
171
172
171
174
175
177
176
176
174
171
167
165
161
158
157
154
149
140
130
119
113
105
101
103
104
106
107
107
108
111
110
112
112
115
113
114
115
116
115
115
114
112
106
104
100
95
98
107
120
134
148
162
172
181
189
194
196
195
194
191
193
191
193
192
194
192
192
192
194
198
203
205
205
201
196
192
185
183
184
188
188
189
189
193
197
195
197
197
200
198
196
193
186
184
187
179
195
175
178
193
188
193
179
190
193
182
203
184
177
172
182
181
175
180
144
153
163
169
179
193
198
204
214
217
221
222
222
219
217
215
218
221
221
221
218
219
217
214
211
211
210
208
204
200
195
193
199
203
199
197
197
200
201
200
202
203
199
197
194
190
193
202
206
213
218
221
225
228
232
234
239
240
242
247
249
251
250
250
250
248
247
247
247
246
246
244
244
245
244
244
244
243
241
242
243
242
242
241
242
240
238
236
232
227
220
214
208
204
203
200
199
197
195
186
190
196
206
213
217
219
223
222
220
221
221
221
221
221
219
218
217
216
212
210
206
202
197
194
193
189
181
176
175
169
165
165
165
166
165
166
168
167
167
165
166
163
158
159
160
152
155
157
157
161
165
167
166
171
174
175
176
177
174
174
172
169
166
161
159
155
153
152
150
149
147
149
148
148
149
157
161
163
168
169
171
171
173
172
174
178
177
179
179
181
183
183
182
180
176
174
173
174
172
169
163
157
150
140
131
122
115
112
105
102
103
104
107
109
112
113
116
114
116
117
117
116
119
119
117
116
114
110
107
103
99
99
106
119
132
145
158
171
180
185
193
197
194
195
191
192
192
194
194
193
192
192
193
195
197
203
205
205
201
196
191
184
184
185
188
190
193
194
194
198
199
199
199
197
197
196
192
177
171
189
185
184
187
178
185
198
191
189
185
201
206
192
174
185
182
187
182
185
178
141
154
171
181
188
195
202
207
214
216
216
219
220
219
216
212
212
213
216
218
216
219
218
214
212
210
209
209
205
202
199
201
199
198
197
198
197
196
198
199
200
197
196
194
193
192
193
198
203
211
217
222
226
230
233
235
238
239
241
245
247
247
247
249
249
247
245
243
245
242
240
239
238
239
238
239
237
236
237
237
239
239
238
236
237
235
231
226
220
215
209
205
197
194
195
194
192
189
189
188
199
210
214
219
218
221
223
223
223
221
221
223
221
221
221
222
219
218
217
218
214
206
201
199
197
194
191
185
179
176
168
165
165
164
162
161
161
160
162
160
160
159
156
156
158
155
153
153
159
161
160
161
162
168
171
171
175
175
174
172
168
165
164
161
159
155
154
151
149
149
147
152
153
155
158
161
163
165
167
170
173
173
175
175
178
181
184
183
182
182
180
184
185
187
182
181
180
178
178
176
171
167
163
157
148
140
127
118
111
105
104
105
111
108
113
115
116
117
118
119
119
119
118
118
116
115
111
110
107
103
99
96
103
116
131
144
157
167
179
184
190
196
194
195
191
192
194
194
193
193
192
190
193
195
196
202
207
205
200
195
189
182
182
184
187
189
193
196
196
197
196
198
200
197
195
189
184
174
153
172
184
182
185
188
176
197
201
185
192
200
203
189
185
157
168
188
185
181
182
154
165
176
185
193
199
203
207
209
211
213
216
215
214
215
213
212
207
206
209
215
216
215
211
208
204
201
203
204
200
202
206
206
204
202
203
202
200
196
197
197
197
194
192
191
190
188
193
200
205
216
222
226
230
232
234
237
239
241
245
246
246
246
247
247
246
244
242
241
237
236
235
235
233
231
232
230
230
231
231
232
233
234
231
229
227
225
219
213
204
198
191
187
188
184
182
187
189
191
197
205
213
218
219
223
225
225
225
223
223
224
222
222
224
221
221
224
220
219
218
217
213
207
203
201
197
195
193
187
182
177
169
170
167
165
163
158
157
158
157
154
153
153
154
154
154
152
150
155
154
155
158
160
162
163
163
167
170
169
168
166
163
163
158
158
158
156
155
154
148
153
154
160
160
163
168
170
172
173
175
177
179
181
181
183
186
189
186
185
185
180
181
182
187
187
189
189
188
188
188
185
180
178
175
169
158
148
140
130
114
111
107
111
115
116
117
115
116
117
118
120
120
119
116
115
111
110
106
105
102
96
95
100
113
126
140
151
166
176
183
189
195
194
194
194
195
195
195
194
195
193
193
191
194
196
202
206
205
203
197
192
185
183
184
185
187
190
194
194
194
196
196
197
199
192
186
186
177
166
180
178
191
187
182
175
193
197
184
188
196
196
217
173
197
188
196
179
178
188
152
166
181
186
194
199
201
205
209
212
211
211
210
211
212
207
203
203
205
207
210
212
209
205
204
202
199
202
201
202
206
209
208
206
206
206
205
204
202
197
198
197
194
193
193
192
192
200
210
215
223
227
231
233
236
237
239
237
238
240
243
245
245
244
245
242
241
240
237
235
231
228
226
226
226
225
224
223
221
219
222
224
224
224
220
219
216
213
204
196
190
185
183
185
180
178
184
187
193
196
205
213
219
220
224
226
228
227
225
224
224
223
223
221
224
224
223
220
219
218
215
210
209
206
204
201
199
196
190
187
179
173
171
166
168
166
159
154
153
154
151
151
151
151
152
150
149
146
148
151
157
159
157
157
158
160
163
165
168
168
166
162
162
160
157
154
152
152
154
155
157
156
162
167
171
170
173
175
178
177
181
185
186
187
189
189
189
189
190
188
186
185
184
183
188
192
196
194
195
194
193
188
185
183
181
175
162
153
148
136
125
114
111
115
113
113
114
116
117
116
117
117
117
115
112
107
105
103
101
99
95
93
95
107
122
132
149
163
173
180
188
193
194
195
195
195
195
195
194
195
193
193
194
194
197
203
205
205
202
196
192
186
184
184
183
185
184
190
190
188
194
199
196
192
190
189
190
173
162
178
168
179
187
172
184
198
196
179
183
180
192
192
135
196
195
183
188
182
192
157
173
182
187
190
197
202
205
208
210
206
207
206
209
207
205
201
196
199
201
201
202
202
199
198
200
202
204
207
208
213
213
215
214
214
213
213
212
206
202
199
200
203
200
204
204
205
209
212
217
224
228
232
237
239
238
238
240
238
239
239
241
241
241
239
238
237
235
232
229
225
221
219
217
219
218
218
219
218
216
216
214
212
210
208
208
203
197
194
188
185
184
182
179
177
177
180
186
192
198
205
213
218
219
223
227
227
228
227
223
223
222
222
222
221
222
220
218
218
218
217
217
214
210
205
205
202
199
194
190
187
179
175
169
167
170
163
157
153
149
150
148
146
145
145
144
146
147
147
149
151
151
152
152
158
161
161
163
161
166
166
161
160
158
157
157
154
153
152
158
159
162
168
172
176
179
183
184
186
188
192
194
194
192
192
193
188
188
186
185
183
184
182
181
184
189
192
195
195
197
195
190
187
183
183
178
172
165
154
154
141
129
116
113
112
110
112
110
111
114
114
113
114
112
109
106
104
103
101
98
95
90
94
105
116
130
146
157
171
180
186
192
195
195
195
196
195
195
195
194
194
193
194
194
196
201
204
203
201
195
190
185
183
182
182
182
182
185
189
187
193
199
200
194
189
189
180
172
157
182
169
180
177
175
194
200
195
186
187
188
201
178
158
190
183
181
181
183
197
165
178
181
187
192
197
199
202
205
207
207
203
204
202
202
198
196
195
197
199
201
201
199
197
202
203
204
206
208
209
212
213
214
214
214
213
219
215
213
213
216
216
219
221
219
214
217
219
218
221
230
231
232
239
242
244
244
243
243
241
239
239
238
237
235
231
230
228
223
223
221
219
213
212
213
214
214
213
213
214
211
211
209
205
195
191
189
186
180
177
178
176
177
179
177
175
179
183
193
200
206
211
216
220
222
226
226
227
225
223
224
221
221
221
219
220
217
215
216
215
213
214
214
212
209
206
206
201
199
196
190
185
180
174
170
171
164
160
159
151
148
148
146
142
140
141
143
144
144
146
147
150
152
154
157
158
156
159
161
162
161
160
160
164
161
157
156
154
154
159
160
167
175
178
183
186
188
188
190
193
195
197
197
195
198
196
190
186
182
182
180
178
179
179
179
183
184
189
195
196
196
192
190
185
183
178
173
171
164
156
147
137
127
114
109
110
110
108
107
106
106
106
106
104
104
104
104
101
100
97
96
92
93
99
112
124
141
154
165
177
183
190
196
195
195
196
195
195
195
196
194
194
194
194
196
200
202
202
199
194
189
184
182
183
184
184
183
188
192
191
192
199
196
187
187
185
180
171
162
181
171
176
174
183
190
201
188
185
194
181
178
165
176
182
196
193
187
192
187
157
175
184
185
189
196
197
201
201
201
203
200
200
200
199
197
196
196
198
195
195
191
194
198
199
200
201
203
205
206
208
210
213
214
218
219
219
226
224
223
223
223
225
226
229
229
231
224
228
228
231
233
235
238
241
243
246
245
245
243
243
243
239
236
231
226
223
220
216
216
214
213
211
210
210
209
209
208
208
208
209
207
206
201
195
188
181
175
169
167
164
165
167
176
179
176
177
180
191
198
204
210
215
219
221
222
223
225
225
222
220
218
217
218
216
214
214
212
212
212
211
211
211
210
210
208
205
202
201
198
194
189
186
183
176
175
165
159
158
154
149
147
147
147
147
141
140
142
140
144
146
152
153
155
157
157
157
160
157
153
152
155
159
161
163
161
155
157
158
163
169
173
180
186
188
194
194
196
197
200
203
203
202
202
200
199
197
194
185
179
175
176
174
177
179
180
184
188
191
195
192
190
188
186
184
181
176
174
170
160
151
140
128
120
111
106
107
105
105
104
104
102
103
101
100
101
101
101
101
99
98
95
93
95
108
120
134
150
162
172
179
187
190
195
195
196
196
196
196
196
194
194
193
195
197
201
203
203
199
195
188
184
182
182
183
183
183
189
193
194
194
196
194
190
186
180
173
176
178
178
187
184
173
170
179
199
189
174
201
181
180
181
184
194
202
209
198
189
190
150
161
179
185
188
191
194
196
196
195
196
197
197
198
197
198
196
194
194
192
190
188
192
196
197
196
198
198
199
203
206
210
214
219
219
222
227
228
227
226
226
227
225
226
230
231
231
232
234
232
235
234
236
239
242
243
246
245
244
239
242
241
238
235
233
229
224
223
218
215
213
210
208
204
205
203
204
204
204
205
209
206
201
197
192
184
178
172
168
162
156
154
159
166
170
173
177
181
185
192
201
206
211
216
218
219
221
218
220
218
218
215
217
212
210
209
208
209
209
209
207
207
208
208
205
206
205
201
199
197
193
188
190
187
181
176
173
165
161
151
146
144
142
140
141
145
143
142
139
138
143
149
152
153
154
156
157
157
157
156
155
156
159
159
161
161
163
169
170
171
178
182
185
189
192
196
198
201
202
206
205
207
206
204
200
197
199
195
193
186
178
175
174
175
177
176
178
181
183
186
189
190
190
190
191
189
181
179
174
167
156
142
131
124
114
109
105
102
102
100
100
97
98
96
97
98
98
100
99
99
96
93
92
93
104
116
131
144
156
170
177
185
189
195
195
196
196
196
196
196
194
194
194
194
197
200
202
203
199
195
190
185
183
183
183
181
183
189
193
193
194
196
194
192
188
179
177
177
177
179
175
181
181
185
189
176
165
171
206
191
180
195
197
206
188
189
190
187
182
139
149
168
178
184
186
187
187
188
190
190
187
188
188
185
186
186
188
189
190
191
189
193
194
196
196
196
192
193
201
201
206
211
217
220
225
223
225
225
225
226
228
230
229
232
231
234
235
237
235
234
237
240
240
243
245
245
247
247
243
241
240
238
235
233
230
227
222
219
214
214
210
208
208
206
207
206
203
203
205
206
207
205
201
195
188
181
171
167
163
156
154
154
156
163
163
169
177
180
186
193
197
201
208
210
213
213
213
214
214
215
213
211
206
206
204
204
202
203
204
204
204
204
205
205
203
202
200
198
196
191
188
186
183
180
176
174
170
160
153
147
143
141
139
138
140
139
140
135
140
144
149
150
155
156
157
160
161
158
158
157
157
159
160
162
165
169
173
175
176
181
187
196
198
198
201
202
205
207
210
211
209
207
205
206
204
200
196
190
191
188
182
177
177
176
170
171
175
177
182
185
187
189
191
189
189
185
182
174
164
156
147
139
126
116
111
108
104
101
100
98
97
99
97
94
93
93
96
94
94
93
91
89
88
98
110
126
137
151
161
175
182
189
194
196
196
197
197
197
197
195
195
195
195
197
200
202
202
200
194
189
186
183
184
186
186
187
189
193
197
193
195
197
196
185
177
175
181
176
172
182
195
178
182
182
171
175
173
205
206
178
193
181
175
210
191
186
195
182
129
140
152
167
172
180
179
179
183
182
180
183
186
185
182
180
180
189
190
189
190
189
187
193
192
192
190
188
190
192
193
194
206
207
217
217
219
221
221
223
223
227
229
231
230
230
233
235
235
235
235
237
240
242
243
244
245
247
247
244
243
242
241
237
235
232
230
226
225
221
217
213
212
213
213
212
208
207
206
207
206
206
204
200
195
186
180
172
166
160
153
151
149
151
155
158
157
165
171
180
184
188
193
200
202
203
205
207
211
212
208
207
205
204
201
201
203
204
205
204
200
203
204
204
202
200
200
200
199
196
194
189
186
182
177
179
171
167
161
153
146
141
136
136
134
138
134
133
134
137
141
145
152
155
156
156
160
161
161
162
162
162
163
166
170
171
176
176
175
177
183
186
193
198
203
208
208
209
214
215
216
216
215
211
207
206
202
197
192
192
189
186
179
181
174
167
167
173
177
180
182
184
186
186
185
185
184
179
177
171
163
151
145
139
129
121
114
107
104
100
97
97
96
96
96
97
97
99
96
94
91
88
86
83
91
100
115
131
143
157
170
179
188
194
196
197
199
199
197
196
196
195
195
195
198
200
202
202
201
196
190
184
182
183
185
188
185
190
190
195
194
196
200
199
184
172
186
184
177
181
183
186
178
177
177
183
183
215
186
195
178
194
199
179
194
202
195
198
167
114
125
134
143
154
166
170
172
179
181
181
177
178
179
181
183
183
189
188
191
187
185
183
187
188
188
191
192
193
192
193
197
212
211
218
215
218
218
221
220
222
224
227
228
231
232
232
235
233
233
234
237
239
240
244
244
245
245
244
245
244
241
240
238
237
235
231
230
228
228
226
223
218
215
214
214
211
211
207
208
207
206
204
201
196
188
182
173
166
163
158
149
148
151
153
152
159
164
167
173
178
183
190
193
194
195
197
198
199
202
201
203
203
203
203
201
204
203
203
204
203
203
206
205
203
201
202
202
200
198
193
191
187
184
179
180
173
168
161
150
142
137
133
131
132
133
130
133
136
138
141
144
150
153
159
161
163
165
168
167
166
170
174
178
178
178
179
180
180
183
187
193
198
203
207
213
214
213
216
217
216
216
220
218
214
208
204
201
192
192
190
187
184
181
174
170
169
172
174
175
179
181
182
184
184
184
183
181
181
178
171
160
151
147
139
129
121
114
105
102
97
97
107
120
117
117
120
118
116
114
112
107
93
85
87
93
105
119
134
149
165
176
184
194
196
195
200
200
199
198
198
196
195
195
199
201
204
203
199
195
189
184
182
183
184
186
188
192
192
195
192
196
200
198
188
175
175
176
179
179
173
183
178
185
184
181
177
142
177
181
179
192
184
191
198
182
192
210
185
111
117
127
134
137
146
152
163
172
173
178
180
176
177
182
187
187
189
188
188
189
184
178
181
182
182
187
190
193
196
200
203
212
215
221
217
218
219
223
222
224
224
224
227
230
231
232
233
232
232
233
236
238
240
241
242
243
242
243
243
244
242
239
241
239
238
236
235
234
231
231
228
227
222
219
217
215
213
212
210
209
208
205
200
197
191
183
177
171
166
162
157
152
151
151
151
151
157
166
169
173
177
180
181
184
185
188
190
196
199
201
201
200
200
201
205
204
204
204
208
209
211
207
206
205
205
206
206
202
197
194
190
188
182
179
174
167
167
161
148
141
134
131
125
123
125
127
127
133
136
140
153
159
161
165
162
163
167
168
170
174
177
180
184
181
180
179
183
188
187
192
197
201
207
210
213
216
217
217
218
219
221
221
218
216
214
206
203
195
191
189
187
183
180
175
173
173
171
172
174
174
175
176
178
181
181
178
177
177
172
170
163
155
154
149
139
131
123
116
108
107
121
124
131
133
136
141
139
137
142
137
131
124
115
105
98
101
111
125
142
159
172
182
190
197
196
200
200
200
198
198
196
196
196
200
203
205
204
201
196
191
185
183
184
185
185
187
191
197
197
193
193
195
195
192
183
175
179
181
181
168
188
194
189
177
187
171
166
168
158
188
202
184
184
178
192
198
206
184
103
109
116
122
126
134
147
161
163
167
171
180
180
182
184
184
184
187
187
187
189
188
186
185
185
186
187
188
189
192
195
198
204
212
218
218
217
221
220
224
223
222
223
225
227
230
228
231
231
230
232
232
234
237
239
239
239
239
239
241
240
241
240
240
238
236
235
233
234
232
231
231
230
227
224
223
219
216
213
211
208
206
204
200
193
189
185
177
174
171
166
160
155
153
152
152
157
161
165
168
172
172
178
180
184
185
187
190
193
195
198
201
201
201
198
198
200
202
203
204
206
209
212
210
208
204
206
204
202
198
193
189
186
180
177
173
169
163
156
147
137
129
124
122
121
121
123
125
132
143
149
155
156
163
158
160
164
170
173
174
180
181
184
181
180
179
188
189
187
194
196
204
213
214
212
216
220
222
222
220
220
220
219
220
218
216
213
203
198
195
192
187
183
179
176
176
176
175
171
169
168
169
169
171
173
172
171
170
170
168
170
163
157
154
152
143
139
131
129
123
124
126
130
142
142
145
154
149
150
145
145
146
145
135
126
113
115
120
125
140
154
171
179
189
196
197
199
201
200
199
199
196
198
198
200
203
205
204
202
198
191
184
184
184
185
182
187
193
197
199
196
196
197
194
188
180
179
183
182
182
173
178
177
180
190
184
183
153
161
143
177
195
200
192
185
192
186
204
184
89
95
109
115
121
129
139
149
156
163
167
178
182
180
183
185
187
187
188
190
193
192
187
184
183
184
183
186
186
188
192
195
201
201
209
216
215
217
217
220
221
220
223
223
223
223
223
224
224
225
225
228
231
233
234
235
237
238
238
239
239
240
241
239
239
235
233
233
233
232
233
230
230
229
228
227
225
221
219
214
209
206
204
201
196
193
187
185
182
181
174
167
162
162
160
158
164
166
165
169
169
174
176
179
180
179
181
186
191
194
196
200
202
203
204
204
203
204
204
204
205
206
211
212
212
206
207
207
204
200
195
190
186
182
178
170
166
158
152
143
135
129
121
119
119
120
119
121
128
141
149
154
155
157
154
156
162
174
176
178
180
182
182
182
187
184
189
190
189
197
201
208
212
215
222
220
221
223
221
223
222
222
221
219
217
214
213
208
203
197
192
186
184
181
177
178
179
177
171
169
166
168
168
170
172
171
170
170
172
168
163
158
155
153
147
142
139
138
133
132
137
132
143
149
153
153
156
159
159
159
159
159
157
152
148
133
120
130
137
141
153
167
179
187
195
199
200
200
200
199
196
196
196
199
200
203
205
205
203
197
191
185
185
185
185
185
189
193
197
199
197
197
200
194
191
177
179
182
170
182
191
180
188
181
181
181
183
155
176
144
176
186
192
201
179
182
167
191
196
69
76
88
97
106
116
130
141
153
156
161
172
181
180
181
182
184
185
185
185
188
188
184
181
182
180
178
179
183
182
185
189
191
195
198
203
214
213
214
217
219
217
219
219
217
217
213
212
213
215
220
222
224
229
231
232
236
237
238
240
241
241
240
240
238
236
236
234
232
231
232
232
230
229
228
224
224
223
220
218
213
207
205
204
198
193
190
191
190
189
186
181
175
170
170
168
168
170
175
174
174
176
174
174
177
180
182
185
194
196
200
203
204
205
207
207
206
205
205
205
206
208
208
211
213
209
205
205
202
201
195
192
185
179
172
165
157
151
147
140
132
128
127
133
124
121
123
122
126
136
144
149
153
153
159
163
165
173
178
178
178
178
189
193
189
189
188
189
194
201
204
207
214
216
218
219
222
221
221
220
220
219
217
220
218
216
215
211
205
197
193
188
184
183
182
180
178
178
174
172
170
169
165
169
171
171
174
170
170
166
161
151
152
150
143
143
144
144
142
144
147
148
151
158
166
168
172
174
171
169
167
169
164
162
163
155
153
147
153
156
159
168
176
188
195
199
201
201
201
200
198
196
198
198
200
203
205
204
200
193
189
184
182
182
184
186
190
195
195
195
198
198
197
197
189
188
181
180
165
179
180
187
191
184
187
178
177
182
175
155
184
171
204
181
182
190
171
187
186
59
67
78
85
93
106
117
135
150
155
159
171
177
179
180
180
182
182
183
185
184
182
180
180
177
177
178
177
178
178
180
182
187
189
192
197
198
200
206
209
211
209
207
205
202
202
202
203
208
210
213
215
218
224
227
230
235
235
237
238
239
239
239
241
239
239
238
236
233
230
230
231
228
227
225
223
222
222
220
217
213
210
206
205
203
199
196
195
193
192
188
185
180
176
178
177
176
179
180
181
181
184
184
182
179
181
183
190
196
200
202
202
203
207
207
207
208
209
209
209
212
212
211
210
208
202
203
202
201
200
193
187
182
175
172
163
156
150
146
143
144
135
132
131
125
125
126
128
132
141
147
149
153
155
159
168
174
175
178
182
184
182
191
189
191
190
194
193
198
204
206
213
214
216
218
220
222
221
218
218
219
218
217
215
215
215
214
212
207
202
196
187
186
181
181
182
181
181
180
176
171
171
168
162
164
169
173
166
164
160
154
150
148
145
140
143
144
147
147
151
155
162
163
174
180
176
178
183
187
187
186
181
182
181
181
176
168
165
166
173
171
173
178
188
195
197
201
201
201
199
196
196
195
197
200
203
205
204
200
193
189
183
180
181
183
185
188
194
196
198
198
198
199
192
188
189
183
174
169
183
178
184
184
190
184
192
179
188
165
146
187
197
203
174
188
188
187
194
195
57
61
72
80
85
97
108
130
141
150
157
166
171
175
179
179
181
182
182
183
181
179
177
178
177
179
177
176
175
175
178
178
181
184
186
190
191
193
193
192
192
192
193
193
194
194
194
196
197
200
210
211
213
217
220
225
231
232
235
238
239
239
238
239
238
237
237
236
232
229
227
228
225
223
222
221
220
222
221
218
215
212
208
207
203
203
200
195
197
194
189
187
186
185
184
183
182
179
182
186
189
191
193
193
195
196
195
198
198
199
200
203
207
206
209
210
210
211
212
210
211
211
210
210
207
202
201
199
195
189
187
185
181
171
167
161
154
152
147
151
148
139
137
133
130
129
129
129
136
144
149
154
154
157
158
166
173
178
182
186
185
183
186
186
192
196
195
199
200
203
204
211
214
215
216
217
217
222
217
217
220
220
218
217
214
212
213
211
204
201
195
193
190
186
182
181
182
179
178
176
174
171
176
168
164
163
165
162
158
153
150
148
148
147
147
148
149
151
155
161
170
181
181
183
186
191
190
191
194
193
196
197
197
195
198
194
187
189
185
184
184
182
184
188
194
197
199
199
199
199
196
196
196
199
200
203
205
204
201
194
188
184
182
181
180
180
185
194
196
196
198
198
198
193
188
190
181
178
169
174
180
180
179
176
187
184
190
186
162
167
205
177
175
174
172
187
191
202
180
61
58
62
71
81
89
109
109
131
136
148
154
164
168
174
176
180
181
179
179
176
178
178
178
177
179
175
174
173
171
175
175
175
176
178
179
179
181
184
185
185
186
189
189
191
191
193
194
199
201
204
206
208
217
219
220
227
229
234
236
238
238
238
238
235
236
236
235
233
232
230
227
224
222
219
219
220
216
217
215
213
208
206
205
203
199
197
198
198
194
197
196
195
190
190
186
189
192
193
191
192
193
198
197
198
201
203
202
207
208
208
208
208
209
212
213
216
214
212
212
211
211
206
204
200
201
197
195
193
187
185
180
179
171
166
159
153
151
152
148
146
149
139
138
143
140
135
138
141
149
154
160
161
160
159
167
173
177
181
184
184
185
187
190
190
193
195
198
201
204
203
206
210
212
215
216
216
219
215
215
216
216
215
216
213
211
211
207
205
201
195
193
191
187
186
183
177
179
178
180
181
178
179
177
177
168
162
160
156
154
154
152
150
154
153
154
153
156
163
174
179
180
191
198
200
204
206
205
205
204
203
200
202
204
200
201
205
200
194
188
187
185
190
191
194
197
199
199
199
199
196
196
198
198
200
203
205
205
201
194
188
186
184
184
180
180
184
193
195
196
198
198
199
197
190
175
179
180
163
175
174
186
184
183
183
163
178
181
169
160
171
179
159
182
177
181
199
200
167
83
80
64
64
71
100
99
103
112
128
141
151
155
163
171
173
177
177
176
176
176
171
171
173
173
170
173
173
171
170
170
169
170
171
172
174
176
178
179
181
187
184
189
190
191
192
195
196
198
200
202
205
208
215
219
220
227
231
232
235
236
237
236
238
238
237
237
236
234
233
230
227
226
224
220
218
216
216
215
214
208
207
206
203
199
197
195
197
196
196
194
197
198
193
192
196
200
203
199
196
197
199
198
201
200
201
203
205
207
210
211
208
208
210
215
216
215
216
216
213
212
207
205
199
192
192
190
185
190
186
180
175
172
169
163
158
155
154
158
151
143
138
134
131
138
143
146
141
144
150
154
156
163
166
160
168
172
177
182
184
184
181
189
188
188
194
195
198
199
203
202
202
204
203
208
209
212
217
210
211
212
210
210
209
207
205
204
204
201
197
195
193
192
191
185
185
183
178
177
179
181
181
179
178
177
176
171
166
164
163
161
159
158
160
161
160
160
163
168
174
184
189
194
201
204
209
213
214
215
213
210
210
208
208
208
208
205
207
206
199
192
191
191
193
193
197
201
201
200
199
199
198
198
198
200
203
205
204
199
193
190
187
187
184
181
178
182
191
195
195
199
199
199
199
193
181
172
174
170
190
176
185
175
181
176
169
181
156
187
143
187
189
173
195
185
183
195
204
179
102
95
79
72
67
89
88
95
110
117
126
140
145
154
164
164
168
171
172
172
172
170
171
169
166
169
169
170
168
168
167
165
162
163
166
169
170
172
177
180
184
185
185
187
188
190
190
195
199
203
204
206
211
214
219
221
225
227
231
231
232
233
234
235
235
235
235
234
233
229
228
225
223
220
217
213
213
212
208
206
206
204
203
199
196
195
194
195
196
194
196
197
199
201
199
202
208
206
201
204
206
206
205
202
198
201
204
208
210
207
212
214
212
213
213
214
215
214
214
212
209
204
198
193
189
186
184
178
178
177
167
166
162
161
161
162
158
157
152
145
141
137
132
132
135
142
144
147
152
152
153
154
155
163
165
170
173
179
180
181
182
183
183
192
190
192
192
197
198
199
198
197
199
201
200
201
202
205
206
205
205
205
203
200
198
198
198
196
192
194
192
190
189
187
189
188
184
182
181
182
184
184
184
182
179
179
177
180
172
170
171
171
169
168
170
165
166
168
176
182
191
198
207
211
216
219
223
222
223
221
218
215
213
210
210
210
208
209
210
204
193
194
191
193
193
196
201
201
201
199
199
198
199
199
201
203
205
204
201
195
190
184
184
184
180
180
182
191
195
197
198
198
200
195
187
181
169
173
178
183
191
187
184
183
181
177
173
185
191
128
186
194
164
191
184
190
206
190
192
115
102
87
72
66
65
70
80
92
104
115
125
134
141
148
154
160
165
164
169
168
165
165
162
160
158
159
158
158
158
156
156
154
154
156
156
162
170
173
178
178
182
183
185
187
188
191
194
196
200
204
207
210
215
218
219
222
227
230
231
232
232
234
235
235
232
232
231
229
226
223
221
221
216
211
208
206
205
205
203
202
199
201
199
199
198
198
199
200
200
202
206
203
201
199
205
207
212
210
210
209
205
209
205
197
203
206
208
208
208
210
211
208
208
210
210
210
208
206
205
204
200
193
187
183
176
175
168
168
167
163
160
160
162
159
156
150
151
150
148
142
146
136
137
135
141
145
147
151
148
144
144
149
156
158
164
167
174
177
179
178
178
181
181
186
191
191
191
193
192
193
193
193
194
195
200
198
199
201
199
199
199
197
196
196
194
194
190
190
193
193
190
190
189
190
192
188
187
186
181
184
183
187
185
187
185
185
183
179
177
177
175
174
175
176
174
173
174
182
189
201
212
218
223
227
230
232
232
230
228
225
221
219
216
211
213
208
211
209
200
195
192
192
194
194
197
199
201
201
199
199
199
199
199
201
203
205
204
200
197
191
183
181
182
179
181
186
193
199
199
199
199
200
197
187
180
178
180
171
181
195
197
183
177
177
195
163
187
194
135
193
176
182
194
197
186
180
187
193
121
108
91
82
63
57
56
68
80
88
100
113
120
126
136
142
148
153
159
165
167
165
164
160
159
155
151
146
144
144
144
144
146
143
146
148
152
159
167
172
175
179
181
183
184
186
188
193
193
194
200
202
205
209
216
218
221
225
225
229
229
230
230
230
230
230
230
228
225
224
222
219
217
215
210
207
205
205
202
200
202
200
201
201
201
200
201
203
203
203
206
206
206
208
205
207
209
209
208
207
209
208
208
208
206
208
208
209
210
210
209
206
204
202
204
205
204
203
203
199
199
196
191
187
180
175
168
163
161
160
159
159
155
151
151
150
147
144
150
144
142
142
137
136
131
135
141
145
147
145
140
142
149
152
161
162
164
168
173
174
178
175
180
179
176
182
187
189
187
187
188
191
189
189
191
191
192
191
193
195
194
194
192
192
192
188
188
188
188
189
191
189
190
192
193
193
193
192
187
185
187
191
194
193
191
189
191
187
183
185
185
183
179
177
179
177
177
179
191
199
215
224
229
232
235
236
238
237
236
234
231
228
226
223
218
211
208
209
207
201
197
191
191
190
192
195
197
200
200
199
199
199
198
200
201
203
205
204
199
193
191
183
179
179
174
181
187
193
197
200
201
197
197
198
191
187
188
184
180
187
190
190
181
185
184
171
177
183
171
168
197
202
190
179
179
201
199
197
186
127
113
95
79
62
54
51
58
70
78
87
96
107
118
127
136
141
152
158
162
167
166
164
155
156
152
147
143
142
140
137
137
139
140
138
142
142
148
160
164
167
171
174
176
179
183
187
189
190
192
195
196
202
206
209
212
220
221
222
223
224
224
225
227
227
228
226
224
223
221
218
218
216
214
209
205
205
202
202
202
202
202
204
204
205
206
203
206
205
208
212
209
213
212
212
212
212
211
210
208
208
208
206
206
206
202
205
204
207
206
204
201
202
200
197
195
193
192
188
189
188
186
182
178
174
161
159
156
157
158
154
150
144
141
146
144
142
140
139
147
141
137
134
135
133
132
134
138
141
143
140
142
143
143
153
157
162
166
169
170
173
171
174
177
179
179
181
180
177
176
179
183
182
183
180
183
182
185
189
187
183
183
188
188
189
187
188
184
184
184
186
187
188
189
190
193
193
193
192
192
192
193
194
197
198
198
195
192
191
189
189
187
182
179
179
177
178
182
197
206
221
230
232
234
238
240
240
240
239
237
237
235
234
230
221
217
209
206
201
198
193
188
187
189
188
191
196
198
200
199
199
199
199
201
202
204
206
205
201
196
189
182
178
176
173
178
185
193
197
200
200
200
195
198
192
188
189
188
184
187
194
173
176
186
179
163
174
190
183
145
195
172
196
173
192
189
197
193
191
128
113
98
79
58
48
44
48
60
68
78
84
97
106
120
126
140
150
156
160
164
170
172
170
167
162
150
145
144
141
137
137
134
133
133
136
139
149
158
163
167
173
175
179
180
182
185
186
188
189
189
192
197
203
207
210
216
217
218
219
221
221
222
223
221
221
220
218
219
217
216
214
214
213
206
203
202
202
205
204
204
204
203
203
203
203
204
207
208
213
212
216
216
216
216
215
216
215
211
210
208
205
204
204
205
204
201
199
204
203
201
197
198
198
195
193
190
184
182
180
178
171
168
167
162
157
152
151
151
151
149
143
139
135
140
140
146
145
145
145
142
141
138
131
130
129
128
132
136
135
135
132
134
136
145
156
151
157
162
167
170
171
171
175
179
180
180
179
176
174
172
175
173
174
174
176
178
178
179
179
178
178
182
184
185
187
186
183
182
184
185
185
187
187
186
186
186
190
191
193
193
194
196
196
197
200
201
194
187
188
188
187
183
181
178
175
175
182
204
213
226
233
234
237
239
242
242
242
242
240
240
238
236
231
222
215
200
193
191
190
179
182
182
185
190
190
193
197
200
199
199
199
199
201
202
204
204
204
201
196
191
184
179
178
176
179
187
196
198
200
202
202
202
201
197
195
190
182
182
187
189
173
175
181
184
184
189
188
184
174
183
180
199
198
199
201
164
183
187
132
118
102
82
68
43
37
41
54
61
68
80
91
99
115
127
131
140
149
157
162
162
164
168
168
165
160
158
152
138
136
134
134
132
132
133
136
148
155
163
164
173
175
180
183
186
187
192
195
195
196
197
201
205
205
209
214
215
219
222
219
219
221
218
217
217
217
219
215
212
210
211
211
209
206
201
198
201
201
200
201
203
205
206
204
206
206
208
210
217
218
217
219
219
219
218
219
218
218
213
212
206
202
201
201
197
197
198
198
193
196
196
196
196
195
189
185
181
179
175
173
166
161
157
152
147
146
141
142
142
140
139
139
137
143
145
148
153
148
146
147
144
138
136
134
134
127
131
130
131
127
128
131
132
137
147
149
154
159
167
170
169
169
170
176
176
176
177
175
169
169
167
168
167
169
172
174
175
175
179
178
180
182
182
184
183
182
180
180
182
182
183
185
186
188
189
191
193
195
194
195
196
200
201
202
202
197
197
191
188
189
187
183
181
176
173
175
182
202
211
225
234
236
238
239
238
240
240
241
241
240
238
236
234
224
212
195
186
182
177
171
173
177
179
184
187
192
193
198
196
199
199
199
201
202
205
205
203
199
194
192
185
183
181
178
180
183
194
198
201
200
198
199
201
195
192
186
180
179
172
180
175
170
191
180
189
187
189
176
185
195
157
195
201
201
207
192
157
175
127
112
91
77
65
53
49
41
50
55
62
75
86
96
112
119
128
137
144
149
156
158
160
165
167
170
168
164
158
148
143
142
137
135
135
140
142
150
160
169
174
176
178
181
188
188
190
194
203
203
201
201
202
203
201
207
209
213
215
218
219
221
218
216
216
216
216
216
212
211
209
210
208
206
203
199
200
202
199
201
204
204
207
207
205
211
216
221
223
225
230
230
234
229
225
224
221
221
217
217
213
209
203
203
201
197
196
193
190
191
190
189
189
187
191
189
182
179
178
175
169
164
159
156
149
143
140
140
144
143
141
140
144
148
151
153
159
158
157
152
151
143
146
139
138
136
128
127
127
127
125
129
129
133
135
142
144
150
155
157
161
165
166
170
172
172
170
171
169
167
166
161
162
161
162
164
166
168
173
177
178
178
179
179
179
178
179
181
180
181
186
184
187
188
192
193
194
196
198
198
198
196
199
200
202
200
198
198
191
189
185
183
181
177
173
170
171
179
198
210
222
233
234
234
236
240
240
240
239
239
237
236
234
232
221
211
190
172
171
164
159
163
169
172
176
184
189
191
196
198
198
199
199
201
203
205
205
203
199
194
192
188
184
182
179
179
181
188
197
201
201
199
198
197
192
189
192
186
177
177
180
161
179
192
194
175
188
178
188
185
193
172
194
166
199
194
176
156
178
121
109
95
80
66
56
53
52
50
55
63
74
80
95
106
113
120
128
131
142
156
157
164
168
172
176
173
171
168
160
156
149
145
141
141
144
148
155
163
167
174
179
181
185
190
191
194
204
206
202
200
202
202
201
203
204
209
211
214
212
212
214
213
211
211
212
215
213
214
213
211
211
206
204
199
195
195
194
200
200
202
204
205
208
214
215
219
222
225
230
235
236
238
237
238
236
229
225
221
218
214
208
202
198
189
190
184
184
182
182
184
185
185
183
184
181
181
178
173
167
164
160
156
152
146
144
144
147
149
149
146
149
151
153
156
156
160
159
160
161
159
155
148
145
139
137
135
132
125
126
129
129
127
134
139
137
142
147
154
156
158
161
162
165
167
168
170
163
161
158
157
157
156
155
156
157
159
161
166
169
169
172
171
170
176
179
179
178
178
182
191
194
198
201
198
198
198
200
201
203
205
203
201
201
198
198
196
192
188
184
180
179
175
171
167
166
165
175
193
203
219
229
231
231
233
236
236
236
237
237
234
237
232
229
217
204
184
160
159
149
147
150
157
164
174
179
188
190
197
198
200
200
199
201
202
203
203
203
200
194
191
187
183
182
180
182
185
187
194
196
197
195
193
194
194
192
191
186
183
169
188
184
180
184
195
174
188
197
178
186
195
179
167
186
196
192
187
164
181
119
100
86
76
68
61
57
56
51
49
53
62
67
81
89
104
112
118
123
138
150
154
157
165
169
173
171
174
172
170
165
159
152
150
151
151
157
158
164
169
171
176
179
183
189
190
192
205
207
204
202
202
202
201
204
206
210
208
208
210
210
209
210
207
207
209
210
209
209
208
208
206
202
199
197
193
192
194
196
197
198
205
207
212
213
216
224
226
229
234
240
240
238
240
241
238
238
230
227
224
220
212
205
197
194
190
182
179
177
175
176
177
180
178
179
180
176
174
169
166
161
156
155
152
149
147
151
152
152
155
159
161
164
167
166
165
165
162
160
163
163
159
154
145
140
134
133
132
128
124
127
130
131
132
130
135
141
147
150
151
154
158
161
165
165
165
160
157
154
152
151
152
151
153
153
153
155
158
162
162
166
168
172
172
175
175
178
177
181
187
193
196
199
202
202
203
204
206
204
207
207
208
207
201
200
195
193
191
187
179
173
170
167
166
162
158
154
163
181
194
211
223
224
226
229
229
231
234
236
234
232
230
227
223
210
195
173
152
140
134
137
140
148
158
169
176
184
188
195
199
199
199
200
200
203
203
203
201
200
194
191
185
183
182
180
182
187
189
195
200
198
194
187
187
189
189
190
185
183
180
177
169
168
178
189
168
189
180
179
197
161
183
174
176
189
176
180
183
160
115
100
90
85
80
70
66
64
57
53
51
53
58
66
79
96
103
108
121
130
137
145
154
164
172
181
183
181
175
171
168
162
157
157
157
155
158
160
162
164
168
170
175
182
188
193
194
199
201
201
201
202
202
203
204
206
208
206
207
203
207
208
204
204
204
204
202
202
206
204
202
202
200
198
196
191
194
194
195
196
202
200
209
211
216
221
226
231
235
238
239
240
242
241
240
240
237
236
231
227
225
217
207
200
196
190
183
178
176
175
176
176
176
175
176
175
175
172
172
170
169
169
165
160
154
155
158
162
163
165
170
176
176
176
174
169
169
169
165
160
160
160
151
146
144
138
134
139
132
127
128
129
127
126
130
135
136
142
148
153
156
157
162
160
160
163
162
156
155
150
149
147
148
152
150
151
151
157
158
160
163
168
170
174
174
174
175
178
184
190
193
197
200
204
206
206
208
209
212
214
212
211
209
207
199
195
188
184
177
171
168
162
157
154
148
144
143
153
166
180
198
211
214
216
220
223
225
227
227
225
222
220
215
213
199
178
152
135
131
131
131
136
142
153
164
172
181
188
193
200
200
201
201
201
201
201
201
200
198
193
189
186
184
183
181
181
186
191
196
198
197
191
185
186
193
186
182
171
168
178
168
164
182
184
187
131
177
183
179
200
176
193
166
182
188
190
194
192
168
120
104
97
89
82
78
76
76
70
66
64
59
56
53
67
77
92
101
118
126
133
153
159
163
169
176
179
177
177
180
185
168
161
161
161
157
157
160
163
162
164
168
175
179
181
186
190
197
195
195
195
197
197
200
202
202
204
205
206
202
200
201
201
199
197
196
198
200
201
197
197
197
197
197
194
189
192
193
193
196
199
203
210
211
216
222
227
233
235
238
240
240
242
243
242
242
240
238
231
229
227
219
213
205
199
188
184
183
175
177
176
179
179
177
180
180
179
179
179
176
175
173
169
168
165
166
167
169
170
172
173
179
180
182
180
176
174
171
169
167
165
162
154
150
150
142
138
141
131
128
124
127
128
130
131
135
140
143
148
149
154
154
156
157
160
162
165
157
153
151
149
147
147
149
150
150
153
155
158
162
166
168
170
174
174
176
178
183
186
189
192
199
202
205
208
209
211
212
213
215
215
214
213
210
204
196
185
177
172
166
158
153
149
142
136
133
133
138
151
163
182
195
201
207
211
212
214
215
216
214
210
206
205
199
180
165
138
129
128
129
125
128
137
147
158
168
179
187
192
197
200
200
200
200
201
200
200
200
197
192
188
185
183
183
179
181
184
190
195
198
199
191
185
188
196
189
176
166
163
181
172
167
174
180
178
149
179
189
179
178
185
196
167
185
190
180
197
185
164
121
114
109
109
103
103
105
105
101
101
94
87
74
65
61
64
79
95
114
122
143
151
156
160
165
171
174
177
177
178
178
177
162
160
162
167
166
168
171
171
172
171
177
181
183
185
186
196
189
188
188
190
193
196
202
202
202
201
201
199
201
199
192
194
190
189
192
197
195
198
199
198
198
198
197
195
193
193
194
196
198
203
207
207
216
221
227
233
237
240
241
243
241
240
240
239
238
238
232
231
227
220
214
207
203
195
187
183
182
182
182
182
182
181
181
182
180
180
177
177
178
175
174
174
171
174
174
173
180
178
179
177
179
181
182
178
178
176
170
163
162
157
153
150
148
146
148
144
137
133
131
131
129
130
132
135
139
146
148
148
150
150
151
153
157
158
156
158
155
149
147
147
143
147
147
148
149
151
157
161
162
166
169
172
174
178
182
185
187
189
199
203
206
209
212
210
213
213
215
215
214
214
210
204
204
197
186
178
173
163
156
147
141
136
127
121
121
125
139
145
162
173
187
197
200
202
204
204
203
201
197
192
187
174
165
148
131
128
126
126
125
128
134
145
157
167
177
184
191
196
199
198
199
199
200
201
201
200
198
193
187
184
181
181
179
181
185
191
198
200
197
190
187
187
192
188
171
165
163
182
163
172
165
187
170
164
194
190
174
184
192
186
185
185
184
173
191
195
174
132
129
123
124
125
133
139
141
133
125
115
104
92
82
67
65
64
84
96
113
130
145
153
160
168
167
172
176
178
179
181
181
183
173
171
173
172
172
175
177
178
176
178
181
181
179
181
180
185
184
187
185
186
193
198
198
198
197
197
193
190
190
189
191
188
187
193
198
198
198
198
197
196
196
195
195
195
195
198
200
197
200
204
208
217
225
230
236
240
240
243
243
244
241
241
240
240
236
233
227
224
221
214
206
200
195
192
189
185
187
186
185
183
182
182
183
181
180
179
178
180
176
176
176
176
174
176
175
178
178
176
175
178
179
178
180
180
181
176
172
167
163
158
155
153
154
150
146
143
138
134
132
131
130
133
134
137
144
147
146
148
152
149
150
155
158
153
153
152
149
142
141
142
142
143
144
144
149
151
154
158
162
165
169
173
175
181
182
188
193
199
206
209
213
212
214
214
213
213
213
215
214
209
205
200
198
188
175
169
166
159
147
139
132
131
123
121
123
126
133
146
160
169
178
186
187
190
190
191
184
180
173
166
151
144
138
124
127
127
127
123
128
132
148
157
167
174
182
187
195
197
196
196
199
199
201
201
199
196
193
188
185
183
183
181
184
183
193
197
195
198
192
186
188
194
189
174
180
172
171
159
176
189
170
168
182
200
192
176
202
169
189
175
184
172
172
178
173
173
144
141
136
136
146
153
148
146
141
134
127
115
102
91
75
66
55
69
86
102
116
138
149
153
162
170
175
176
177
178
181
185
188
182
179
180
181
182
183
183
185
183
184
185
184
182
180
177
176
181
182
180
180
189
192
192
193
195
197
188
185
182
186
187
185
186
192
194
200
198
197
193
193
193
194
196
198
197
198
200
198
198
210
212
218
223
229
233
235
238
241
241
242
242
242
239
239
235
233
229
222
218
213
209
201
197
195
194
191
191
192
190
189
188
186
185
183
183
180
180
175
176
179
177
178
177
173
173
180
176
175
176
177
179
180
180
181
181
182
175
171
163
162
156
157
154
149
149
144
139
134
132
131
132
133
137
134
136
140
147
147
150
150
146
147
149
150
148
146
140
141
136
137
137
137
141
142
143
145
149
155
159
162
168
172
175
180
185
185
193
198
204
207
210
211
213
213
213
214
214
213
211
207
202
199
195
188
178
168
164
156
148
138
135
131
123
120
115
115
126
134
144
151
159
163
162
164
166
162
157
154
148
138
130
130
124
119
119
119
119
119
124
134
143
153
161
171
180
186
192
196
195
196
199
199
200
200
199
196
194
189
184
182
181
183
187
187
191
194
195
196
194
190
184
188
190
179
181
184
170
171
166
183
147
170
192
198
187
174
179
186
171
191
178
170
178
181
174
167
157
154
154
160
164
162
158
154
148
144
140
126
110
97
84
75
63
50
56
76
103
119
135
149
161
165
171
175
176
181
183
186
188
185
182
183
181
183
188
188
188
187
184
180
182
181
177
176
170
168
167
174
177
181
180
189
188
188
184
182
183
182
183
185
187
191
190
195
202
199
202
199
196
194
196
197
197
201
199
199
199
202
201
216
217
222
228
232
234
236
238
238
239
240
240
239
237
234
232
229
228
218
213
206
202
201
199
198
197
195
198
195
195
193
192
192
189
181
181
180
178
177
174
175
176
175
171
175
177
179
176
174
176
178
181
180
181
179
179
177
171
167
164
160
157
155
151
149
141
141
135
132
130
131
133
135
135
136
140
141
145
143
143
140
140
139
143
141
143
141
136
132
133
135
137
136
136
136
144
149
154
158
163
170
173
175
180
185
187
189
194
202
205
208
213
215
217
218
218
218
215
211
207
200
198
193
184
175
168
158
152
143
134
128
121
122
121
116
113
120
118
124
133
142
144
139
137
138
134
136
130
125
124
124
116
110
113
113
115
116
120
127
130
143
151
157
168
177
183
189
194
195
195
197
198
200
200
199
196
191
189
183
183
183
181
183
187
192
194
195
196
196
193
185
189
187
179
182
179
180
173
156
174
158
173
191
186
184
185
190
178
202
195
193
178
180
179
182
177
163
161
165
170
175
170
164
161
157
151
144
135
126
110
95
91
80
62
52
61
80
100
119
140
147
159
164
173
173
178
179
182
188
185
187
186
186
185
185
188
188
179
179
179
178
173
169
167
164
159
158
158
158
157
159
163
173
176
176
178
182
181
181
183
186
188
191
197
201
201
201
200
199
199
201
201
203
201
202
200
202
202
204
205
219
220
227
232
234
235
237
237
238
238
238
234
232
233
230
227
224
219
210
210
205
204
203
205
208
208
209
207
204
202
197
195
191
190
186
182
179
173
175
175
174
174
174
172
175
176
179
174
174
177
177
179
179
179
179
176
168
167
162
163
163
159
152
148
145
140
138
132
131
128
132
134
130
133
136
132
131
131
135
137
134
134
135
141
141
143
137
129
129
130
134
132
133
138
144
150
155
159
166
170
174
179
181
184
191
191
193
201
206
211
212
216
216
216
216
216
212
206
201
199
195
189
181
176
167
156
149
140
129
124
118
117
121
126
129
126
126
123
127
128
128
134
126
123
122
120
118
121
121
116
115
111
111
111
116
116
118
126
132
138
148
153
166
174
179
190
195
196
195
197
198
199
199
195
190
184
182
180
180
179
178
182
186
192
194
195
193
193
190
185
185
183
180
181
183
178
179
168
151
143
184
203
172
179
195
178
174
174
187
181
181
193
185
175
177
167
163
169
176
179
175
171
165
161
154
147
139
128
114
101
95
89
70
59
55
68
94
108
131
141
150
160
163
168
173
175
178
184
186
187
183
186
185
185
182
184
181
178
172
168
165
159
157
157
152
151
150
150
149
147
149
154
157
165
175
176
178
183
182
184
194
194
199
199
200
198
200
200
200
200
200
202
201
202
204
202
203
205
208
212
216
223
229
232
233
234
235
234
232
231
230
232
229
226
223
220
216
210
211
209
207
208
211
212
212
211
209
208
208
204
202
198
194
190
184
179
176
177
174
174
172
173
171
172
173
171
172
173
179
175
178
178
176
173
169
164
160
160
165
163
162
163
159
152
147
141
133
129
128
127
132
128
123
123
120
126
131
134
133
135
128
128
134
133
128
134
123
122
124
127
132
134
141
146
153
155
160
166
171
175
179
183
184
185
188
191
196
202
205
207
209
211
211
210
208
204
201
197
194
190
185
176
169
161
152
143
135
124
123
126
123
128
130
134
131
128
130
130
129
129
133
130
123
120
116
115
115
115
116
117
114
113
113
115
118
121
127
132
137
144
151
163
170
177
185
193
196
195
197
198
198
196
190
183
177
172
174
176
175
176
180
185
190
194
194
192
187
184
185
183
181
177
180
172
166
174
174
174
161
176
210
158
175
191
192
180
213
182
192
180
169
169
164
174
172
167
168
174
174
175
174
168
162
153
146
137
132
122
113
104
98
80
66
61
63
77
93
110
127
135
146
155
163
169
174
181
180
183
185
187
188
187
186
185
185
179
174
167
163
158
155
147
146
144
142
139
138
140
141
143
144
148
152
161
169
174
179
183
190
194
197
198
200
201
200
201
202
202
202
200
199
203
204
204
202
199
201
205
211
217
219
222
223
224
227
227
228
226
227
225
225
223
221
219
219
214
209
208
210
211
209
211
212
212
211
210
207
206
205
203
201
196
191
187
184
178
176
173
175
171
172
172
169
168
169
168
169
171
172
174
175
172
166
165
163
166
169
171
171
167
167
167
158
154
147
137
130
123
120
122
124
119
119
124
130
127
130
130
133
125
123
123
126
123
119
121
122
121
123
128
136
143
150
153
155
161
169
174
175
181
180
182
185
189
192
193
196
199
202
200
204
202
202
200
198
196
191
188
184
177
169
160
151
143
139
130
126
129
134
132
134
134
132
129
126
126
127
128
131
135
134
126
124
118
116
115
118
118
117
116
117
113
113
113
118
126
128
132
137
145
155
165
174
182
190
197
197
197
199
198
194
189
184
175
169
161
169
170
168
173
183
193
195
193
189
189
185
190
186
176
187
196
171
176
168
161
166
173
171
186
183
183
205
178
188
180
190
182
180
166
173
180
178
167
165
166
171
172
173
174
172
158
152
146
140
133
129
122
115
102
83
74
67
67
77
85
100
115
132
144
153
159
169
170
169
179
182
186
189
188
188
187
185
181
177
173
167
160
154
146
142
138
138
133
133
131
135
134
137
139
142
149
158
166
170
176
184
185
190
195
196
198
201
202
202
203
203
202
202
200
206
203
201
198
196
198
202
209
215
217
218
219
220
222
223
224
221
221
223
222
221
219
217
217
211
209
211
211
210
208
209
211
211
208
208
206
206
205
205
205
201
194
189
184
182
179
172
173
170
167
165
160
159
161
164
166
170
173
171
170
170
170
164
168
174
173
172
173
169
166
164
159
153
150
143
136
124
120
118
114
119
120
121
123
120
119
120
118
117
118
118
121
120
122
124
123
122
124
132
137
145
148
155
156
160
164
168
169
174
178
183
183
185
190
189
193
191
193
193
193
191
189
187
185
185
180
177
172
163
156
151
144
141
139
135
132
131
134
135
137
137
134
130
125
128
132
134
132
131
135
133
126
126
118
117
120
121
120
118
117
117
117
120
123
127
128
132
135
142
151
162
169
180
188
194
196
198
199
197
195
190
187
179
171
171
174
176
168
171
179
190
194
194
190
187
185
188
187
179
184
172
167
170
170
156
172
181
178
194
176
157
188
193
186
195
198
179
171
169
172
179
175
168
167
164
165
168
163
171
176
162
154
151
146
140
135
128
119
102
90
84
77
70
72
84
93
105
122
139
146
148
158
162
168
176
181
185
189
192
191
190
187
182
178
173
165
157
149
144
138
135
131
132
130
129
130
134
135
135
141
151
157
163
166
174
182
182
186
192
196
198
202
204
200
200
200
200
199
198
201
199
194
192
194
196
199
203
204
212
214
214
215
217
219
220
219
222
222
223
224
222
220
213
211
208
209
210
208
206
207
208
208
208
207
206
205
204
203
201
199
199
192
184
182
177
173
169
164
162
159
162
161
160
161
166
166
168
169
172
172
168
172
174
175
171
174
172
168
166
160
155
149
147
139
137
127
117
115
114
109
112
118
120
117
117
112
114
117
118
119
118
118
119
121
122
125
126
132
137
139
145
150
153
157
159
163
165
170
174
177
179
181
183
183
184
184
183
182
182
183
182
180
178
172
169
165
163
155
147
143
139
135
137
138
140
137
137
135
137
137
133
128
127
125
131
136
137
135
139
135
133
126
120
121
123
125
125
120
121
118
123
126
130
128
127
131
135
142
150
158
166
177
186
192
194
196
199
199
196
194
188
184
181
178
182
181
175
177
180
190
194
193
187
183
183
183
188
183
169
172
171
174
176
146
177
190
170
186
176
163
162
176
187
190
193
178
171
173
174
158
173
162
160
157
155
153
156
157
163
161
152
149
144
135
127
120
114
107
96
89
82
73
70
80
90
99
106
123
132
142
153
164
170
177
180
182
187
190
192
191
189
182
177
168
161
155
147
144
136
131
129
127
126
124
127
133
135
137
142
147
157
163
169
175
181
181
184
189
190
194
199
201
198
199
194
194
197
196
196
196
196
191
190
192
192
196
199
207
211
212
216
218
218
218
217
218
218
219
219
217
214
221
212
208
209
208
203
203
205
208
207
206
207
207
206
204
203
201
197
194
191
183
176
173
170
164
159
156
155
156
156
161
162
163
165
164
166
170
171
175
176
176
174
172
172
170
165
163
156
152
146
142
137
131
131
116
110
109
109
111
110
112
111
108
111
111
113
116
118
117
115
115
117
117
119
122
131
135
138
142
147
149
153
156
159
160
162
167
166
173
174
176
178
178
178
177
175
175
172
175
175
170
163
160
155
154
150
146
144
147
148
147
144
145
140
136
131
131
130
129
126
128
125
127
131
140
144
143
137
133
130
128
126
128
127
128
125
124
123
131
137
140
132
132
129
135
140
147
156
163
174
182
189
194
196
197
197
195
194
192
188
187
184
184
181
180
180
184
190
194
192
187
185
184
187
191
183
166
173
175
174
169
160
175
200
186
181
170
187
181
187
166
172
183
184
168
174
173
167
174
160
160
155
148
138
137
140
141
150
147
143
141
136
128
127
123
119
107
102
94
82
79
72
81
93
106
113
129
139
145
155
161
174
178
182
183
185
186
182
179
176
171
161
155
153
151
144
134
133
129
126
125
125
135
140
142
143
146
151
157
163
172
175
178
180
181
182
188
188
195
196
193
194
190
190
186
186
189
189
189
189
189
190
188
191
193
199
202
214
215
217
218
217
215
216
217
217
217
216
216
211
213
213
208
206
203
203
203
206
206
206
206
206
203
203
202
200
199
196
190
184
179
175
171
168
159
155
154
157
157
162
162
165
162
164
167
171
170
173
177
179
177
175
171
169
162
158
155
148
142
140
135
131
125
120
107
106
105
111
114
113
112
112
110
111
112
112
116
117
113
112
114
114
115
115
124
130
133
138
138
141
144
146
152
154
155
158
159
161
166
171
172
174
172
171
170
169
171
174
172
171
167
163
161
158
154
156
155
158
159
157
157
153
149
141
134
127
124
125
126
130
132
129
132
139
139
138
132
126
133
136
133
130
134
134
134
135
138
144
150
152
144
135
131
135
140
147
155
157
170
180
187
194
196
196
196
194
193
191
189
185
183
180
178
176
178
179
188
190
191
191
188
186
185
189
184
175
167
173
172
172
174
182
196
169
173
174
177
190
185
202
194
200
175
177
178
169
173
188
154
147
137
129
119
116
118
113
116
122
144
139
140
140
136
131
129
122
119
109
94
85
78
74
78
92
107
115
133
143
147
150
163
167
172
176
177
179
180
176
169
162
157
152
148
143
144
136
134
131
128
132
134
135
136
138
142
147
149
153
159
167
176
179
181
184
182
181
183
185
188
187
188
186
184
182
180
181
186
188
191
189
189
186
186
187
195
198
204
208
212
212
215
213
214
216
216
216
214
211
212
208
209
208
202
199
201
201
202
202
203
203
203
201
203
201
201
201
196
188
184
180
178
174
170
164
163
157
160
165
166
167
167
167
165
167
171
173
174
177
177
176
171
169
168
160
156
152
146
141
138
136
130
126
120
110
109
110
116
114
113
110
109
113
115
116
116
117
118
114
117
117
111
115
118
124
129
132
134
135
136
141
143
148
149
148
154
156
158
163
169
168
170
170
168
165
165
171
170
171
170
168
167
168
165
163
163
166
165
172
169
163
158
152
148
143
136
132
129
130
133
134
135
135
135
136
137
128
128
134
143
147
147
150
150
157
158
160
163
167
170
161
152
145
145
146
147
154
159
167
175
183
192
195
195
195
195
193
190
188
184
180
176
173
172
174
179
185
187
186
190
188
186
184
188
190
181
178
175
171
163
168
171
187
171
171
191
193
178
198
190
185
201
187
177
171
175
173
187
170
163
142
116
107
104
105
103
107
111
121
129
136
139
141
140
136
129
125
120
111
102
92
77
76
79
99
108
117
128
138
143
147
154
158
165
167
171
168
168
161
156
152
150
145
143
142
139
137
134
139
141
139
139
139
141
142
148
147
148
157
162
168
173
178
181
181
182
183
181
183
180
179
178
178
178
176
177
182
183
185
185
186
183
185
189
192
199
202
203
203
209
211
211
211
212
212
213
212
212
212
206
203
205
200
197
197
200
200
200
200
201
201
201
202
201
200
198
194
189
186
183
181
178
174
171
165
163
164
170
169
166
166
166
167
169
171
173
176
176
176
173
170
167
162
157
151
153
147
145
139
136
131
127
117
116
116
114
118
120
110
107
107
115
123
128
127
129
130
127
126
122
117
122
127
130
133
135
139
142
142
142
145
148
150
149
152
156
164
169
170
173
169
172
167
163
172
176
177
178
176
174
174
169
173
173
173
178
178
171
168
165
162
159
155
148
142
136
135
137
138
137
133
133
133
131
132
129
131
142
150
157
163
166
169
173
176
179
183
183
183
182
176
168
162
157
155
155
157
167
174
180
190
194
194
194
194
192
189
186
185
181
177
173
169
173
175
184
186
184
185
187
187
186
184
183
169
167
164
173
173
165
184
192
168
163
187
173
174
189
198
200
183
168
175
168
184
189
198
162
151
135
134
137
106
93
92
109
119
128
138
144
141
145
147
141
142
145
143
140
133
121
102
92
81
92
99
111
123
124
131
137
141
148
154
158
162
162
159
160
157
153
151
147
144
141
138
137
137
144
146
141
143
142
142
141
145
145
147
147
153
159
159
163
169
172
174
177
178
181
175
173
174
170
171
172
172
171
176
176
176
177
177
179
183
185
196
198
199
202
204
207
208
208
210
211
209
209
208
207
201
200
197
193
193
193
193
196
196
197
199
199
201
200
200
197
195
191
189
188
184
183
180
177
172
170
168
170
172
171
169
170
167
167
172
172
173
174
174
174
173
169
167
163
159
158
160
148
143
137
131
129
123
115
117
124
127
131
134
123
117
123
121
136
141
141
149
147
139
139
139
137
137
140
145
143
148
146
146
150
150
152
156
158
158
159
159
169
174
173
174
170
168
170
178
180
184
183
177
166
171
175
180
183
184
185
181
179
176
173
174
167
162
158
156
151
145
140
132
130
132
135
139
142
143
142
143
149
156
161
169
180
180
184
186
187
187
189
191
190
188
187
184
181
175
170
161
155
163
172
179
190
194
194
195
193
192
189
186
185
183
179
175
167
169
174
183
185
183
180
184
186
190
194
179
166
172
172
177
174
171
182
191
170
177
178
171
184
181
198
185
190
191
187
175
177
182
183
158
147
130
122
119
119
126
104
107
119
133
147
150
151
153
155
159
160
158
160
149
147
137
125
129
122
93
94
100
113
120
123
130
137
142
148
154
155
158
157
158
154
151
151
147
142
136
132
135
137
142
141
141
142
143
143
140
139
140
143
145
148
154
156
160
167
165
167
170
173
173
170
170
169
164
166
167
170
170
169
167
168
169
168
176
179
177
189
197
198
199
201
204
204
206
207
207
207
209
207
203
202
198
193
188
186
189
187
187
189
191
194
196
194
194
194
192
193
191
189
188
184
181
179
177
174
171
169
171
170
170
170
170
168
171
172
172
171
172
172
170
169
172
169
166
162
158
157
148
146
140
130
125
124
127
127
134
146
146
145
135
137
137
139
148
154
160
170
169
154
157
156
153
156
157
157
152
160
157
156
157
159
158
161
167
164
166
168
175
177
177
180
181
178
185
189
189
189
184
175
181
189
193
193
193
191
192
191
191
192
186
179
172
170
171
162
158
152
146
146
144
153
162
169
173
171
171
169
172
177
186
194
194
193
194
194
200
202
199
194
190
190
190
190
188
184
175
163
155
159
169
176
187
193
194
196
194
191
190
187
186
185
180
176
173
173
174
182
184
183
182
182
183
188
187
178
162
169
169
171
171
159
171
186
170
167
172
154
179
151
201
185
173
175
177
163
169
175
184
153
144
128
126
128
132
142
141
125
131
143
155
160
163
164
168
171
168
162
156
150
153
147
136
124
118
119
98
95
105
116
120
130
136
138
145
148
151
152
154
155
153
150
148
146
141
136
137
137
139
142
144
144
142
143
143
142
142
142
142
142
145
148
149
154
159
163
161
159
163
162
161
164
164
163
162
162
164
163
164
162
160
161
164
172
171
171
178
192
193
197
199
200
203
204
206
208
208
206
201
200
199
194
190
186
184
181
180
178
180
182
184
186
187
187
187
187
191
189
188
189
186
183
181
177
174
173
167
167
164
166
170
173
174
173
172
170
169
170
170
168
163
163
160
159
158
154
151
147
141
136
129
134
139
138
144
149
159
158
151
148
152
155
156
163
169
174
179
177
167
171
171
171
171
170
166
165
171
171
169
170
174
173
173
175
175
172
176
185
190
192
193
193
196
198
196
200
201
198
204
209
216
215
211
211
211
212
211
208
204
200
192
193
195
195
190
188
184
186
187
186
194
202
206
206
202
198
196
200
208
212
215
211
207
210
212
217
216
212
205
197
192
191
193
191
188
178
175
168
170
173
179
187
193
194
195
192
189
186
184
184
184
182
179
178
178
179
183
182
181
182
182
184
185
185
173
162
168
160
182
188
166
170
179
172
172
178
179
169
176
184
179
182
183
176
162
166
169
180
153
145
139
142
144
151
152
157
146
149
157
162
167
171
175
177
175
167
162
156
147
141
142
139
132
122
115
113
91
99
101
107
122
128
135
140
140
140
144
146
148
147
145
145
142
142
143
143
143
146
149
148
148
146
145
144
144
144
143
140
140
138
142
147
150
154
154
154
151
153
155
157
156
158
159
162
167
168
166
163
158
156
157
163
165
163
165
170
178
192
189
192
196
199
206
204
203
203
203
200
199
194
193
190
186
185
183
182
180
180
180
183
184
188
192
193
192
192
192
191
189
186
181
182
176
175
171
169
163
162
161
171
170
170
174
171
170
169
168
167
165
164
160
154
154
151
143
142
139
133
133
135
142
148
153
157
166
170
170
165
162
170
172
173
178
178
183
180
178
181
180
186
184
182
178
176
177
180
182
181
179
181
180
179
181
186
187
188
195
198
200
200
199
199
206
207
208
212
218
222
226
226
226
225
229
231
230
228
226
227
227
227
227
228
226
227
223
223
222
222
222
224
227
226
224
220
220
219
221
224
225
221
217
218
219
220
223
222
217
213
206
202
203
200
198
197
193
195
192
186
189
192
197
198
201
200
195
189
190
188
189
188
187
184
181
183
185
185
185
178
181
183
184
181
178
162
167
166
171
210
135
151
173
176
160
174
178
193
177
176
175
178
181
174
173
171
171
174
185
162
158
152
156
160
165
163
165
159
159
166
170
171
175
177
175
171
164
160
154
146
135
132
125
122
117
115
115
106
92
94
102
111
118
127
135
137
137
138
139
141
142
145
145
145
145
148
147
147
148
150
149
149
148
148
148
145
144
143
142
140
139
142
141
147
149
151
151
152
148
150
150
151
151
155
162
166
169
160
157
156
156
156
160
164
165
165
169
172
176
192
187
190
194
199
202
201
201
201
200
198
196
195
191
188
188
188
187
185
183
183
184
196
192
193
193
191
190
190
186
187
182
180
182
177
173
169
165
159
160
160
165
163
164
168
171
169
172
166
161
158
154
151
151
151
147
142
139
135
135
138
146
149
158
166
173
179
178
180
178
178
180
182
180
182
182
182
181
180
182
181
186
188
188
185
185
183
180
181
180
181
183
184
179
181
184
187
189
191
197
199
198
196
197
201
204
204
207
211
213
216
220
222
225
227
230
232
235
235
236
238
238
238
238
238
237
235
235
233
233
233
231
231
229
228
227
227
225
226
226
225
221
218
219
218
219
220
219
214
211
205
203
202
201
199
201
199
200
200
204
207
208
215
219
223
222
221
219
220
223
221
219
217
210
200
197
195
199
197
191
189
191
188
179
183
180
162
168
173
205
172
136
168
190
162
173
170
174
179
190
184
196
180
176
169
176
178
165
191
176
175
172
174
170
165
170
173
166
167
171
171
175
178
177
175
168
160
155
149
141
138
130
115
106
102
101
99
102
86
90
98
110
114
121
130
136
136
137
137
138
141
146
147
146
145
145
144
144
145
147
149
149
149
147
147
146
143
143
145
142
143
140
142
147
149
152
154
151
148
145
146
146
145
144
148
154
158
158
154
154
157
154
156
159
165
165
166
173
173
175
175
180
188
194
200
201
202
200
200
198
197
195
193
194
193
189
188
186
185
183
187
185
189
190
190
189
189
185
183
182
180
179
178
173
168
164
160
160
159
157
159
161
161
164
170
169
165
161
158
159
157
155
151
151
149
147
142
139
141
146
155
162
167
176
182
181
181
182
179
177
176
175
175
175
176
176
173
173
173
173
174
177
181
182
180
180
181
179
177
175
180
183
178
180
181
184
188
188
194
196
194
196
198
202
200
198
197
200
202
202
205
208
212
216
220
225
230
232
234
234
234
233
234
234
232
230
230
227
227
227
226
225
225
225
225
223
222
222
221
218
215
213
211
211
209
209
208
203
201
195
193
193
191
191
190
193
195
202
207
211
215
219
223
227
232
235
236
238
238
238
238
238
236
234
232
233
231
231
230
228
224
215
202
185
169
156
165
166
167
165
166
164
146
145
176
173
174
180
187
194
185
181
178
164
173
182
187
183
181
180
168
170
168
165
163
167
169
169
167
172
174
176
178
174
167
157
151
144
134
130
124
113
107
95
92
94
86
83
91
95
105
114
118
124
121
127
130
133
135
136
140
141
140
143
142
141
142
143
145
146
147
150
150
150
147
145
145
144
142
139
140
144
144
147
150
150
147
142
142
142
139
137
135
137
140
150
152
150
151
152
154
154
154
158
160
166
168
167
171
175
176
184
190
194
196
199
200
201
199
198
197
196
195
193
190
189
189
187
192
190
189
190
191
192
189
188
184
182
177
176
174
173
171
167
162
162
162
160
159
160
161
163
168
167
163
163
163
160
161
159
154
151
151
151
149
145
144
151
159
171
174
175
179
183
178
176
176
170
166
163
159
160
164
166
163
167
170
162
162
162
167
174
174
174
178
180
182
180
181
185
188
183
183
185
185
189
190
193
195
196
195
200
201
198
196
197
197
197
197
198
198
201
203
208
212
220
224
226
228
228
228
228
226
223
221
221
220
217
217
217
217
217
218
215
214
213
211
211
205
201
201
199
199
197
198
196
193
189
185
183
182
181
181
184
187
191
196
199
204
207
212
219
223
228
233
233
235
235
237
237
237
236
236
234
233
232
232
230
226
215
200
183
184
156
153
164
169
148
151
157
169
166
146
155
164
168
191
184
175
177
168
175
162
175
178
176
182
180
177
173
175
170
167
159
156
157
156
161
164
163
168
172
168
166
153
146
137
129
123
115
105
103
96
93
91
84
81
90
98
104
112
113
118
122
124
123
124
126
132
135
137
137
141
143
143
143
142
141
142
142
145
148
148
146
144
140
139
137
136
138
140
141
142
145
149
147
143
140
136
134
131
130
126
127
129
139
147
145
150
153
160
154
162
159
160
159
164
170
174
180
185
192
195
198
202
205
204
204
202
202
198
197
194
192
193
187
186
189
188
190
192
193
194
190
187
183
179
177
173
174
172
169
169
162
163
162
161
162
162
164
167
168
167
166
163
165
162
160
161
159
154
150
150
151
150
159
165
173
181
179
174
174
174
172
168
165
164
157
159
161
159
160
166
165
168
168
166
159
162
166
169
174
178
183
182
184
184
184
187
188
190
187
187
186
191
191
191
193
197
198
200
200
198
198
199
198
198
198
195
195
194
194
196
200
205
210
213
218
220
219
218
216
213
212
210
210
209
209
206
205
203
201
199
197
196
193
190
186
185
183
181
182
184
186
186
179
173
174
173
169
167
175
177
178
180
183
188
191
195
200
204
210
214
219
221
225
227
230
232
232
232
233
231
226
222
215
211
196
189
183
144
120
115
152
164
169
159
171
147
159
171
148
166
173
172
174
182
171
193
157
175
170
172
177
178
184
174
174
170
171
161
159
151
142
149
148
147
150
153
155
163
160
158
149
137
130
117
112
106
101
97
96
92
87
80
81
86
99
105
111
115
116
121
122
121
122
124
127
128
132
134
140
141
142
144
143
143
143
143
145
145
145
145
143
141
138
135
137
136
137
139
140
143
143
141
138
136
133
127
123
117
116
110
116
129
135
141
145
151
154
157
159
170
169
166
168
171
177
181
189
196
201
203
205
206
207
206
203
205
202
198
196
195
193
191
191
190
189
191
191
192
190
187
184
182
178
176
171
172
172
168
165
160
158
158
158
162
165
169
169
170
168
165
162
164
160
159
158
159
156
154
156
159
164
171
174
176
177
173
168
165
165
164
159
160
161
157
158
160
163
162
168
172
171
171
171
166
164
169
172
172
178
184
185
188
187
185
185
187
187
185
183
181
187
188
187
187
193
194
196
195
194
197
196
194
195
194
195
193
193
185
186
187
190
192
200
208
211
210
211
209
207
203
201
200
197
191
186
180
174
175
178
178
176
171
162
158
158
161
162
167
169
169
166
160
161
160
156
153
152
159
160
159
163
171
174
174
178
182
187
193
199
203
207
214
218
223
225
227
231
233
230
227
225
222
217
211
209
197
154
103
87
150
162
164
157
161
155
141
145
175
177
158
176
155
180
181
192
182
167
172
179
174
174
167
179
170
160
154
155
152
147
142
140
144
144
144
144
143
137
144
147
142
131
123
112
102
96
93
94
92
92
88
84
84
90
100
107
110
112
114
116
117
118
118
118
118
121
124
129
132
136
138
142
141
141
141
141
141
142
142
142
143
140
138
136
134
135
136
136
138
140
141
138
133
128
125
119
115
107
98
101
112
132
137
142
144
148
152
156
162
167
171
171
170
172
177
186
192
200
209
206
205
207
209
209
209
209
202
201
197
194
193
189
189
192
190
190
189
186
184
182
182
177
173
172
171
167
167
163
160
157
155
157
160
165
163
166
170
170
166
164
162
161
161
158
156
156
159
158
163
172
175
177
178
171
159
162
165
165
163
158
156
155
155
153
155
160
165
167
169
168
172
171
171
168
169
169
169
173
175
179
183
183
182
182
182
181
182
182
182
181
180
181
181
181
188
190
190
189
187
189
188
185
187
189
191
192
190
182
183
186
184
182
189
195
200
203
203
203
200
194
185
178
171
165
158
152
150
150
152
149
142
133
129
133
136
141
145
148
150
149
145
148
144
139
139
135
143
140
138
140
144
149
152
151
157
162
168
176
183
189
196
199
207
214
220
226
227
226
226
226
226
222
216
208
206
194
154
107
88
152
155
157
156
153
144
159
177
166
173
162
159
156
171
179
203
183
167
170
173
178
175
156
165
159
156
155
154
152
145
142
133
134
138
136
137
131
127
124
124
131
125
122
115
105
99
93
93
91
85
88
89
90
92
97
101
105
110
112
113
113
113
114
112
113
115
121
124
127
125
130
134
136
138
137
137
140
141
141
141
140
139
137
137
135
136
131
135
135
135
134
130
128
124
119
116
110
101
97
112
119
131
140
136
146
147
151
157
163
164
171
172
174
179
182
189
191
194
202
207
207
208
206
207
208
208
209
203
199
197
191
189
187
189
186
185
183
182
180
176
172
170
168
169
168
161
164
161
156
156
157
162
162
161
167
167
168
169
170
166
163
159
162
160
159
162
164
168
173
178
178
170
166
164
151
154
158
163
162
158
153
152
152
153
156
163
168
170
173
173
175
177
169
168
170
170
169
169
169
173
176
174
174
174
172
173
177
179
182
181
174
179
180
180
180
183
183
182
180
182
189
184
177
179
185
186
182
178
185
187
184
184
185
184
186
191
191
189
184
176
172
163
154
144
141
135
122
121
117
118
112
106
107
112
114
119
127
129
131
131
129
127
124
123
125
130
131
129
122
126
130
131
133
139
144
149
155
155
162
175
176
185
198
206
214
218
219
211
213
210
204
205
200
193
185
169
114
74
65
142
148
158
150
147
152
147
177
166
167
173
155
156
180
162
180
175
156
171
165
166
171
173
152
149
144
140
139
138
133
137
132
127
122
127
124
130
117
113
107
105
106
102
98
94
90
88
86
88
89
91
91
93
96
98
104
105
107
106
108
108
107
107
107
107
109
112
114
119
119
124
125
127
131
131
131
135
135
137
134
135
134
134
135
135
133
133
133
129
130
129
126
122
118
111
109
108
112
117
124
124
140
140
144
142
149
152
157
159
159
167
177
181
183
186
186
191
195
200
204
208
208
204
203
202
203
201
202
197
194
189
186
183
180
180
178
177
178
168
168
164
162
163
159
157
156
158
159
157
157
159
167
167
166
169
172
171
167
165
164
161
161
162
165
167
169
170
167
166
167
165
164
160
154
149
146
148
152
152
153
153
155
154
157
159
163
169
170
175
175
173
174
168
167
167
169
167
162
169
173
169
175
174
171
169
167
176
178
177
174
170
173
174
172
173
178
180
183
188
190
189
185
161
157
177
179
164
157
161
170
183
190
187
185
177
175
175
180
180
177
170
151
130
122
126
131
120
122
112
109
102
95
98
96
100
106
117
115
115
115
118
116
115
124
122
130
133
129
123
124
128
129
132
136
139
143
145
150
153
156
160
175
188
197
207
214
210
199
188
176
168
176
154
154
140
108
64
54
64
143
153
154
125
137
166
135
186
175
181
164
169
171
176
165
173
167
163
176
179
171
176
167
139
135
131
130
127
118
115
117
117
114
113
155
132
121
118
111
107
97
97
100
97
97
91
91
90
90
92
95
95
97
99
102
104
106
109
108
108
108
109
108
108
107
106
107
111
111
115
117
119
121
125
127
125
131
133
133
131
131
132
133
133
131
130
130
130
128
127
124
124
120
115
111
111
107
106
121
134
138
138
146
141
150
151
161
162
163
162
167
178
186
186
184
184
190
196
200
201
203
206
202
200
198
199
200
198
196
191
185
179
175
171
168
172
171
169
166
161
159
157
155
151
149
147
149
155
160
158
155
159
165
167
168
171
170
169
166
167
166
167
170
171
169
166
160
156
152
152
153
153
152
153
149
144
139
141
144
149
152
154
153
155
157
161
164
166
171
171
170
171
168
167
167
169
167
168
173
172
173
174
171
166
162
168
174
169
171
163
161
159
168
171
180
188
190
186
188
190
186
180
157
154
167
171
155
139
125
149
158
175
183
183
176
165
167
179
182
183
181
169
163
154
144
145
132
134
120
116
104
105
102
107
115
114
118
118
115
122
124
129
127
124
122
126
129
134
132
127
126
128
128
132
132
136
136
136
137
145
148
161
176
185
200
209
207
194
192
191
180
166
140
132
104
80
81
84
83
139
150
158
146
152
170
180
177
170
175
160
157
165
170
174
171
175
177
182
172
162
176
181
125
124
120
112
109
106
107
106
106
105
110
118
131
118
117
117
112
109
102
105
99
96
90
94
96
96
96
98
99
101
103
105
106
107
107
106
109
109
107
106
106
106
108
107
107
107
109
112
112
115
118
119
123
125
127
129
127
127
128
129
129
128
127
128
128
127
125
124
122
123
122
121
120
120
126
130
141
144
141
141
149
154
161
162
169
166
173
175
177
183
183
184
188
190
194
198
199
199
199
199
201
197
198
195
198
190
179
174
170
165
158
155
155
159
154
152
150
145
144
136
134
137
137
143
149
150
153
158
157
160
161
166
167
169
169
167
169
170
171
173
172
170
158
149
145
146
144
143
143
144
145
145
143
142
144
146
147
151
156
152
154
157
158
159
158
167
169
167
165
165
165
165
169
174
174
176
173
176
170
165
165
167
164
165
163
162
158
160
164
173
182
188
191
193
187
185
187
179
175
165
159
169
169
155
120
101
120
135
150
163
175
168
162
162
172
183
188
189
182
174
163
152
153
158
166
155
145
146
142
121
145
142
130
129
133
130
124
127
133
139
128
126
128
130
132
133
128
126
123
129
131
130
124
125
124
137
137
146
159
173
180
190
201
200
187
193
194
185
178
149
146
121
77
67
52
75
132
137
128
113
135
167
178
180
183
178
161
162
171
160
166
162
167
174
183
176
168
180
190
110
107
105
101
100
98
96
100
111
110
109
115
117
119
118
114
111
109
115
128
137
108
103
99
100
98
99
102
102
103
106
109
107
108
108
107
108
106
107
104
104
104
105
104
105
104
106
111
113
113
113
116
118
120
121
121
124
124
125
127
126
125
126
126
126
125
125
131
126
129
128
128
131
131
134
134
143
148
147
149
153
155
161
171
172
176
176
176
176
179
181
186
188
187
186
194
194
196
199
200
200
197
191
189
186
185
177
163
156
148
144
144
141
143
140
138
137
136
133
131
129
134
137
143
142
146
145
154
154
161
160
161
163
166
167
169
171
174
173
174
169
162
145
138
138
138
142
138
140
141
142
143
147
148
150
153
157
157
156
154
154
157
160
159
163
164
166
163
162
166
161
167
173
173
178
178
177
171
164
159
161
161
163
164
162
165
166
170
169
176
185
189
189
187
186
187
184
178
176
176
167
177
181
156
124
97
119
135
134
154
158
164
165
158
160
180
186
183
182
173
158
149
150
161
177
182
179
181
166
176
169
169
150
155
149
139
145
136
142
135
133
140
130
137
133
131
130
129
126
125
129
126
127
127
129
130
134
135
138
154
169
183
190
191
180
183
182
168
151
149
153
143
86
54
44
70
135
139
145
132
144
171
175
178
181
174
153
174
152
176
165
164
166
180
204
162
162
186
191
108
104
102
103
102
101
103
105
110
109
109
115
115
116
118
117
115
115
115
115
128
109
105
107
106
106
104
104
105
103
106
106
106
107
107
107
105
105
103
105
104
102
102
102
101
99
101
104
105
110
110
110
115
114
115
117
118
120
120
120
120
121
118
119
122
125
128
131
132
136
136
138
136
138
142
147
147
148
155
160
159
162
166
172
174
176
176
177
174
176
180
183
184
185
187
190
192
194
193
191
191
189
189
182
177
187
163
155
145
137
137
133
130
128
126
125
122
123
123
122
123
125
133
140
140
145
148
151
156
158
158
159
161
166
163
165
166
172
176
175
166
154
142
137
137
139
141
142
142
142
144
146
146
149
153
154
158
158
157
158
156
159
160
163
163
166
166
161
158
163
160
164
174
172
171
174
170
166
161
163
172
165
168
168
174
176
169
172
179
184
182
179
191
189
191
187
187
184
177
178
175
188
185
155
129
119
128
124
139
159
161
160
159
159
168
172
177
178
176
167
151
143
134
144
175
185
192
193
191
197
192
184
180
176
174
166
154
149
155
153
153
153
152
161
141
133
134
132
130
130
130
133
139
147
153
157
160
161
151
154
163
166
175
180
173
166
161
153
143
141
142
134
96
45
35
78
131
125
148
152
161
172
172
186
174
175
170
166
141
174
163
158
156
179
194
171
165
186
187
114
109
106
104
103
105
107
109
115
115
115
115
116
118
121
121
121
124
125
119
120
112
111
113
112
118
106
106
104
103
106
104
106
109
107
105
105
105
105
107
104
103
103
103
101
101
101
101
101
103
107
106
108
111
112
112
113
115
113
114
114
115
117
118
121
126
134
135
139
140
143
143
140
147
146
153
153
155
159
164
168
168
170
174
177
178
176
177
175
173
181
180
184
186
186
190
192
191
189
188
186
186
178
184
185
177
157
147
137
132
126
124
121
117
113
112
109
110
108
110
112
121
125
138
141
142
141
143
153
155
159
160
161
162
159
167
169
173
172
167
159
153
142
137
140
140
142
146
144
144
143
150
144
147
150
153
153
153
152
155
161
162
164
161
162
164
161
159
157
156
163
169
169
165
161
171
165
161
167
174
176
178
177
171
174
172
170
171
183
184
181
188
193
192
195
190
188
184
176
178
186
186
173
158
154
141
112
123
135
158
166
158
163
165
164
163
173
171
154
145
140
135
134
140
169
183
192
187
188
192
193
187
183
184
182
184
184
184
189
191
193
182
184
184
172
160
150
144
136
130
131
144
169
173
189
192
204
208
208
216
218
215
215
213
210
186
158
146
138
123
105
92
76
49
45
92
136
130
134
147
143
164
164
180
177
172
155
172
155
159
156
165
167
189
189
163
163
185
186
123
119
115
111
110
107
110
112
119
117
119
122
124
128
129
129
129
128
131
126
121
115
112
114
111
112
109
108
108
106
108
107
108
106
106
105
105
105
106
103
105
104
101
101
103
105
105
102
100
100
101
102
102
106
107
109
110
110
108
112
115
114
118
119
120
123
130
136
141
143
142
146
149
149
151
154
157
158
160
165
168
169
169
168
173
176
177
176
175
172
173
175
184
185
185
185
184
185
183
176
181
179
177
170
179
164
149
136
136
125
119
113
110
107
102
101
105
100
102
107
107
112
116
129
138
140
141
141
142
146
146
152
156
157
157
159
164
166
171
162
153
147
140
141
144
143
137
141
143
142
142
145
144
145
149
149
149
149
153
156
163
163
161
159
161
155
152
153
153
157
161
158
155
157
160
159
170
170
173
176
176
174
169
170
168
169
179
183
186
192
184
202
199
194
195
193
186
184
177
182
185
176
161
170
158
135
125
141
149
159
151
158
167
161
158
158
160
157
144
135
124
125
126
141
166
178
179
185
182
186
181
171
166
176
179
176
173
186
195
203
210
209
210
208
208
207
205
205
206
203
202
211
223
225
227
228
223
223
225
227
227
226
226
227
229
220
217
193
165
141
94
65
64
53
58
99
129
131
140
135
141
175
176
172
159
176
169
166
152
162
173
166
176
173
169
161
171
180
185
123
121
114
109
108
110
109
107
114
118
120
123
125
127
126
124
124
128
124
129
124
120
116
111
111
106
106
107
106
106
106
107
107
105
105
105
105
105
106
106
104
104
103
103
103
102
104
103
101
99
100
100
102
101
103
105
106
106
107
110
112
118
118
120
124
125
131
137
140
143
144
149
153
154
155
155
156
159
162
165
169
168
164
167
173
174
176
176
174
174
175
173
177
180
180
179
182
180
177
184
182
183
178
202
148
153
139
129
122
116
113
116
109
106
102
98
95
98
107
101
103
107
112
112
123
134
140
140
144
147
154
150
148
157
160
160
155
157
158
156
151
145
138
139
140
145
143
142
144
142
142
142
146
148
150
155
152
155
161
157
158
163
159
153
156
153
154
151
154
158
156
154
157
158
167
164
175
179
184
178
178
176
173
173
181
185
193
195
199
196
198
203
200
193
190
187
187
184
175
174
169
165
177
164
146
133
137
136
144
154
161
152
137
145
146
151
150
145
133
115
100
106
123
141
161
176
178
180
176
176
168
162
158
175
183
177
147
151
170
191
202
202
203
203
203
201
203
203
198
204
205
212
216
219
217
214
212
215
217
213
216
218
220
218
218
214
209
206
206
203
188
155
108
91
76
96
127
137
143
144
155
153
194
168
170
176
157
162
156
167
162
166
162
160
164
166
176
184
191
119
118
113
109
109
111
109
109
111
114
118
123
125
127
123
123
123
120
119
119
114
114
110
108
106
103
103
105
105
104
103
103
104
102
101
102
103
103
107
106
106
105
103
103
104
103
103
101
101
100
99
99
100
98
103
105
104
101
103
113
116
125
122
125
127
129
136
141
146
147
149
149
152
156
157
159
159
162
162
166
170
168
164
167
172
176
179
179
179
178
173
172
174
175
178
177
179
173
171
189
183
172
193
176
165
149
135
129
119
109
119
116
114
118
105
103
109
122
107
105
102
103
103
110
113
123
130
133
139
138
138
146
147
152
155
157
159
151
149
149
145
140
135
135
135
137
143
147
146
148
147
147
152
154
157
156
163
157
165
155
153
156
167
154
159
166
175
171
171
178
177
180
175
180
183
192
190
192
199
198
193
196
197
197
201
201
207
204
206
204
203
202
197
192
183
189
182
183
178
165
166
171
174
171
149
134
135
123
133
154
147
149
144
137
147
142
133
119
96
96
102
106
124
150
161
167
178
174
168
163
162
165
170
176
178
166
159
159
162
172
177
185
191
194
190
192
192
192
188
190
190
191
195
195
198
196
202
205
205
203
206
207
203
205
206
199
191
194
200
210
219
211
184
122
112
115
128
135
129
140
151
156
175
161
167
172
159
171
163
156
168
153
171
173
151
165
178
173
187
115
116
110
107
107
110
111
115
114
116
120
126
127
127
125
126
126
121
118
117
111
110
109
109
110
110
109
109
108
106
106
104
102
99
97
98
105
103
105
105
107
107
106
106
104
103
103
103
102
100
101
99
99
98
98
98
97
99
101
116
122
122
127
123
125
127
136
141
148
153
153
151
149
153
155
158
161
161
162
165
171
165
165
169
174
178
178
176
180
178
179
172
176
172
169
177
176
189
172
194
165
178
183
173
164
146
153
140
141
129
111
126
106
120
109
107
103
129
121
128
121
114
105
108
122
121
126
133
134
140
144
149
160
152
157
158
155
148
140
140
138
138
135
138
144
140
142
142
156
158
156
156
159
162
162
159
161
159
164
169
170
180
183
180
183
194
194
193
195
191
197
198
199
197
200
202
208
208
216
212
205
209
211
212
209
209
209
209
207
204
202
194
194
184
179
183
184
175
176
161
167
167
176
166
141
135
127
123
129
136
142
137
130
126
126
129
132
115
107
110
118
112
126
143
157
160
159
161
146
152
161
169
169
175
173
170
161
163
160
159
159
170
177
187
185
185
183
179
177
173
171
171
176
184
180
186
195
197
195
193
197
194
194
192
190
196
205
201
196
208
207
204
194
168
138
112
136
131
136
149
153
144
165
171
159
170
161
156
150
158
162
164
163
168
148
176
176
170
184
122
118
114
113
113
114
111
115
117
119
122
122
123
123
122
125
126
121
119
118
114
116
116
115
114
114
112
111
109
108
101
100
99
97
98
99
99
100
102
105
105
106
103
103
103
105
105
105
103
101
99
99
98
98
99
99
101
102
106
114
124
126
128
124
124
129
136
143
149
156
157
153
150
149
153
155
155
157
168
168
171
166
164
169
174
175
178
176
177
179
185
184
173
187
200
199
208
205
210
203
209
212
190
203
179
167
163
164
129
160
127
126
127
131
172
131
132
143
129
165
154
178
125
120
121
141
147
133
149
168
162
165
167
164
164
164
165
144
146
142
131
129
132
140
147
149
155
153
157
157
162
161
161
169
170
167
170
174
179
183
188
195
190
188
190
196
196
198
200
207
200
198
204
202
206
209
211
214
214
210
211
218
213
211
211
211
212
204
205
200
198
195
186
177
187
184
171
170
170
174
170
166
163
152
145
144
125
125
133
124
117
118
110
119
125
126
123
111
89
78
81
99
118
136
148
154
147
134
136
142
151
154
156
160
165
166
163
150
155
153
164
168
180
179
173
177
172
168
163
159
163
167
164
154
164
170
174
179
175
181
177
179
186
194
203
205
202
191
192
197
194
182
179
162
122
115
137
173
142
111
167
145
161
165
181
174
158
166
156
158
165
180
168
163
158
173
167
173
174
131
127
127
121
119
119
117
114
117
120
119
125
127
124
120
121
118
116
116
116
118
119
119
117
116
118
120
113
112
109
104
102
98
97
97
100
99
102
104
104
104
103
103
103
103
105
105
104
103
101
99
100
99
100
101
101
103
105
111
114
118
120
125
125
128
130
135
137
147
153
156
159
157
157
158
157
157
161
163
165
164
166
164
171
173
176
176
184
177
193
201
206
188
172
157
179
181
180
199
163
169
187
170
180
188
169
173
180
187
197
202
195
179
169
202
204
200
202
204
202
201
209
199
186
185
184
173
182
205
172
194
178
173
173
171
173
163
144
155
152
151
140
144
139
162
152
167
175
154
163
167
165
175
167
172
180
178
181
183
188
192
195
189
190
190
203
188
199
197
200
196
201
202
200
204
206
212
212
212
210
214
213
208
208
208
211
211
202
202
196
198
180
191
173
189
177
168
173
175
179
158
166
171
171
159
143
148
131
105
112
122
133
129
123
121
117
125
117
101
89
75
93
117
133
133
137
133
138
134
127
134
133
145
153
157
152
151
161
160
160
168
172
173
163
164
167
157
154
158
158
154
154
145
152
150
147
155
161
165
161
160
173
182
188
191
197
192
184
184
184
173
163
155
145
128
118
128
158
119
128
152
131
160
181
178
170
168
169
154
161
154
180
159
157
153
166
185
169
167
135
133
131
129
128
122
119
119
119
119
119
119
118
118
118
114
114
113
113
115
120
124
126
122
119
116
118
112
114
108
104
103
99
97
95
96
98
100
103
102
103
105
103
104
105
106
106
104
102
101
100
101
101
100
102
101
103
105
113
113
113
114
121
123
129
129
129
131
139
149
160
159
159
154
154
157
157
159
159
161
163
160
163
165
172
178
177
173
187
206
198
184
178
200
180
186
193
193
181
175
176
175
162
148
156
163
146
145
157
157
142
180
185
197
184
133
157
173
186
189
190
201
207
204
211
200
192
212
196
204
196
193
178
189
187
182
167
176
173
175
174
175
160
165
178
169
181
193
179
173
175
182
177
177
183
183
181
183
186
186
188
189
200
187
186
191
185
194
189
194
193
199
201
203
205
208
211
214
210
210
209
213
208
210
212
215
202
201
197
191
179
179
184
186
189
169
178
171
180
173
166
182
171
157
152
149
123
109
107
118
118
121
120
112
99
84
73
67
64
64
76
89
111
126
137
137
133
127
110
119
138
139
149
154
157
155
153
149
151
151
152
158
157
149
149
149
155
160
161
143
145
141
128
138
136
136
144
141
135
143
152
161
173
178
184
186
187
182
177
170
156
152
145
134
143
129
131
126
122
122
127
154
146
177
200
164
169
161
146
158
158
168
145
158
157
149
160
173
173
148
148
139
136
135
131
129
125
123
123
123
121
123
121
119
120
119
120
124
127
123
121
120
121
121
119
114
111
110
110
107
104
99
97
95
96
96
99
101
102
102
105
105
105
105
106
101
104
101
99
100
100
102
101
103
104
105
106
115
112
109
114
116
120
121
121
122
125
139
144
150
152
152
154
153
153
153
155
157
159
162
161
161
163
169
170
175
187
195
205
202
193
162
194
176
185
187
192
166
164
158
168
169
128
147
158
145
120
99
59
115
140
173
182
146
126
45
104
139
147
149
168
180
193
197
205
211
209
207
211
212
202
203
206
208
191
202
194
202
203
205
202
193
203
207
210
212
212
197
190
186
188
186
187
178
185
179
191
185
180
190
189
184
190
185
188
186
191
193
195
193
200
201
208
207
211
211
217
214
212
214
212
210
207
213
210
195
195
192
183
167
189
186
198
178
179
173
173
177
171
182
171
171
161
139
140
135
120
106
111
109
115
114
99
101
94
93
82
72
78
82
93
105
115
127
125
114
108
112
123
131
124
131
140
140
136
143
137
144
151
158
160
156
138
147
152
148
148
143
135
128
126
125
128
128
118
112
108
120
124
137
149
159
177
181
183
178
172
166
161
167
158
141
119
123
121
120
114
125
115
151
133
142
165
174
170
166
165
176
179
146
171
173
150
159
156
160
179
178
157
154
148
145
139
136
134
133
134
131
131
129
127
124
129
127
124
124
126
122
124
124
122
122
119
119
113
114
111
108
105
102
99
94
95
94
96
97
99
103
107
107
108
108
112
110
108
104
103
100
101
99
101
103
105
107
104
106
113
112
111
114
112
110
115
116
119
124
136
141
148
150
152
152
152
151
152
152
157
159
159
158
158
157
160
163
166
178
181
193
187
180
166
193
174
175
185
178
177
171
155
168
127
132
154
148
130
115
113
95
113
183
151
150
117
146
62
100
100
143
124
173
154
165
187
195
196
202
209
210
204
204
201
206
202
208
207
205
211
210
211
211
215
218
216
218
217
215
203
200
191
194
193
180
181
184
192
193
190
181
184
177
178
183
190
186
188
188
191
192
195
202
203
202
207
212
215
216
212
213
214
211
210
213
206
201
193
207
189
167
171
182
194
194
183
174
175
174
177
183
181
173
171
149
155
135
116
96
96
96
104
106
104
97
98
106
109
106
76
63
55
71
92
108
107
98
100
107
115
116
122
124
129
133
140
142
143
149
152
152
148
148
148
143
139
141
145
139
136
130
128
125
119
121
112
100
101
101
110
108
125
142
161
176
181
183
181
172
163
157
154
133
115
114
112
113
113
117
127
105
156
154
144
166
164
150
163
153
179
182
143
159
157
165
159
158
168
179
178
163
166
158
157
150
146
146
146
141
140
133
131
130
127
127
130
125
122
123
124
126
122
122
120
120
116
110
111
113
107
103
102
98
93
94
95
96
97
100
103
104
107
111
109
110
107
106
106
106
106
104
104
103
108
109
110
106
104
106
107
108
106
108
110
107
111
118
121
125
135
138
149
151
153
153
149
149
152
156
158
158
156
154
156
155
158
164
161
167
175
179
169
174
166
162
158
180
182
165
170
157
157
165
153
149
180
156
130
100
105
117
153
112
138
4
55
39
103
137
143
134
145
126
138
158
177
185
195
193
191
180
183
184
195
196
198
196
200
206
206
205
202
204
212
211
213
210
214
207
209
201
205
190
193
192
190
195
189
175
175
180
170
174
184
192
187
186
185
190
192
195
200
208
209
213
211
218
220
215
215
215
210
214
213
201
195
194
211
175
156
195
194
198
194
186
191
191
177
183
187
186
180
163
169
148
129
116
108
117
111
102
101
100
91
82
64
62
69
77
90
86
63
79
94
100
108
104
109
115
122
125
123
126
131
127
126
129
141
139
136
134
134
140
139
138
130
130
120
115
117
122
116
103
102
99
96
98
108
112
112
116
128
148
159
170
178
176
166
156
147
139
122
114
121
113
102
105
114
136
100
131
148
158
165
173
154
158
161
171
164
151
181
155
158
159
153
166
175
168
178
178
170
166
167
160
158
154
147
141
137
134
131
129
130
131
130
127
125
125
127
123
120
121
120
119
112
113
111
110
104
99
97
95
95
93
96
97
98
102
102
104
107
107
107
109
107
108
106
106
108
106
107
109
109
114
108
104
104
99
100
105
107
111
113
109
113
118
124
125
132
140
149
153
157
153
153
153
156
158
159
156
154
153
153
153
156
154
158
157
162
176
148
173
167
154
166
161
151
140
138
161
178
156
166
161
155
143
153
96
143
105
121
162
127
87
73
73
91
93
149
136
136
103
140
144
176
172
177
164
147
148
167
178
182
187
189
189
194
187
187
188
191
199
196
201
205
208
214
212
204
206
199
202
198
201
195
192
177
171
171
163
166
190
194
187
186
198
186
187
193
191
194
208
209
216
217
218
216
218
214
213
215
206
200
190
208
211
165
200
201
199
195
190
196
193
194
192
191
191
181
180
174
153
139
145
130
128
122
100
85
78
87
92
92
86
77
66
50
43
55
67
69
79
105
105
92
93
97
111
121
120
122
121
125
119
129
132
143
143
138
147
144
136
126
127
126
118
112
114
108
103
94
94
89
84
86
91
97
97
101
115
132
148
165
173
175
161
148
135
115
102
102
118
111
105
112
112
117
120
112
147
173
154
165
155
160
170
176
174
159
168
149
145
154
162
177
186
171
180
175
178
178
172
165
156
153
147
144
140
139
135
137
133
131
131
138
136
135
132
131
127
119
119
112
113
111
114
113
102
99
96
94
94
94
96
97
97
100
103
105
103
103
105
105
108
106
106
106
106
106
107
110
115
112
108
107
104
102
100
98
100
102
104
102
103
111
118
120
129
135
143
151
152
151
147
151
155
157
157
153
151
151
150
150
147
153
152
152
154
154
180
159
159
162
160
148
164
161
151
166
166
164
145
173
164
170
136
110
150
107
126
137
106
77
79
76
81
134
157
159
156
165
170
179
130
165
153
154
153
148
161
160
155
158
167
165
170
175
170
168
164
181
181
183
186
195
205
212
208
209
208
206
209
198
199
191
168
175
156
154
178
188
197
188
189
204
209
201
196
196
210
212
210
217
219
222
219
219
217
214
216
212
207
203
205
210
194
202
206
206
190
191
188
189
190
191
192
188
182
174
171
156
144
142
133
123
111
103
89
85
79
88
86
78
84
84
77
69
75
74
95
102
101
104
113
116
101
99
100
108
108
105
115
114
126
127
128
123
121
122
118
120
125
119
118
111
109
109
101
94
83
78
74
78
76
80
93
98
104
117
134
150
154
150
153
150
142
121
80
53
93
119
113
104
107
113
132
117
136
149
147
152
171
171
150
157
161
181
171
166
166
149
156
166
174
171
167
176
175
170
170
167
165
162
161
151
146
145
142
137
133
135
134
135
136
131
129
129
130
124
124
119
113
112
109
105
103
98
96
94
93
93
93
93
93
97
98
100
100
102
102
104
104
106
105
108
109
107
107
107
109
115
117
115
115
112
109
103
102
97
96
100
98
97
98
108
125
131
136
144
149
154
154
149
151
154
156
158
156
154
152
151
150
145
145
147
147
143
140
141
171
149
156
143
165
166
155
160
168
150
167
138
178
168
158
129
138
147
113
121
131
68
55
53
109
110
133
92
178
158
176
179
174
166
150
167
158
160
159
143
161
144
147
139
136
156
163
161
151
151
163
183
183
173
186
190
200
205
206
206
211
203
203
198
195
171
162
166
181
193
203
204
194
194
193
203
194
187
197
210
217
215
216
220
218
218
215
210
212
213
208
208
201
210
204
202
208
212
205
195
182
181
183
192
193
188
182
173
163
150
144
145
142
142
128
120
116
121
119
112
110
107
101
105
99
106
105
103
108
108
122
120
115
118
119
120
123
118
115
115
112
113
105
108
123
127
130
121
105
110
114
108
107
109
103
99
93
88
88
83
78
71
68
77
97
115
117
112
114
125
132
135
129
124
116
105
78
53
56
93
119
115
96
105
107
93
89
105
140
144
188
160
163
155
165
154
171
165
165
136
148
157
166
170
172
170
168
169
167
169
167
169
168
164
160
156
151
142
140
140
137
132
130
127
129
129
127
127
125
121
118
114
104
103
96
96
95
92
92
92
92
92
93
93
94
96
100
99
99
103
104
104
108
111
108
108
106
110
109
105
117
117
121
125
118
119
113
104
94
96
97
94
95
98
106
117
128
132
144
149
151
150
148
150
152
152
153
153
156
150
149
147
145
145
143
140
137
132
130
125
130
175
154
156
155
142
147
157
152
157
152
171
151
149
127
132
149
109
136
111
64
62
129
88
104
135
135
177
176
169
182
169
178
171
174
161
155
162
161
174
176
153
148
113
126
147
156
157
157
161
179
181
175
164
172
190
197
204
205
208
207
202
200
189
169
183
163
199
206
193
191
190
194
201
206
209
193
201
210
214
217
219
220
216
214
213
209
213
211
207
205
207
209
203
206
209
203
199
197
190
182
182
187
184
189
179
166
162
161
157
157
157
150
140
123
115
108
103
114
106
103
102
105
108
111
114
114
120
122
126
131
125
123
124
124
121
123
123
119
119
122
123
119
117
121
118
119
118
108
92
84
86
90
89
89
86
87
82
85
92
95
111
117
122
134
150
149
147
141
138
129
116
109
102
93
71
46
49
98
115
113
93
92
101
80
59
126
157
151
172
161
161
147
170
180
164
172
141
142
159
167
174
170
178
177
165
163
165
162
163
158
160
157
157
154
148
143
143
139
137
132
130
124
125
126
124
126
120
117
115
112
102
97
93
91
91
89
90
91
91
93
93
95
94
95
97
96
98
100
102
104
106
109
109
108
113
113
115
114
118
119
121
124
117
115
112
109
102
99
92
91
91
95
104
115
131
134
142
144
146
149
150
149
153
153
150
150
148
148
146
152
143
139
137
131
129
131
129
129
124
121
168
158
141
138
146
158
155
156
145
152
157
135
116
120
123
128
127
105
86
93
155
94
88
165
152
189
177
178
181
161
164
150
153
142
145
159
181
184
170
140
112
104
156
158
153
179
146
159
164
159
151
153
146
160
184
200
207
205
205
198
200
207
199
182
166
202
203
205
198
205
204
206
205
208
201
209
211
215
220
223
220
220
213
215
215
213
210
204
207
207
209
209
208
205
207
204
197
192
180
182
182
182
183
181
178
169
165
167
160
150
141
136
130
123
114
103
91
97
105
102
108
110
115
121
123
125
129
128
129
127
125
122
126
126
125
125
129
125
126
130
131
134
131
127
122
122
116
113
107
102
98
96
94
94
97
97
99
103
102
100
107
116
131
145
151
150
145
136
126
114
109
99
86
64
39
50
101
122
115
95
91
79
94
104
120
156
149
161
177
158
162
174
176
170
168
173
168
163
173
173
170
173
173
153
157
156
157
153
153
151
150
146
141
142
146
143
140
138
137
130
124
123
120
120
122
118
114
110
108
97
96
94
92
91
93
90
90
90
91
92
95
92
93
90
93
92
94
96
100
98
100
109
114
111
115
115
116
117
116
122
118
110
110
106
104
101
102
99
93
94
95
103
113
122
129
138
137
141
145
148
151
149
146
146
147
141
142
142
136
135
129
129
139
125
119
122
119
120
117
119
117
168
134
118
133
144
135
133
126
136
125
117
121
112
106
130
125
134
126
143
121
164
174
178
173
174
169
157
139
144
128
134
143
163
180
181
171
139
114
88
151
165
179
162
173
172
157
134
116
128
160
134
138
161
190
203
199
195
203
211
182
185
173
204
207
200
205
220
207
206
202
203
204
211
213
215
215
214
216
216
215
217
218
218
210
212
210
210
214
210
205
203
209
209
201
196
191
179
175
176
177
178
178
167
163
166
167
160
152
143
134
125
110
111
114
109
103
105
101
104
109
118
122
126
129
130
130
132
128
128
128
129
129
131
131
131
132
136
134
133
132
131
127
126
114
108
102
94
90
85
81
81
86
83
85
82
86
91
90
98
107
128
145
156
157
154
148
138
126
119
106
89
73
61
71
100
119
113
99
112
81
92
96
132
161
166
168
170
147
167
163
169
168
172
142
125
157
171
171
169
169
168
137
137
146
145
148
147
143
145
141
137
137
140
138
136
136
132
127
121
119
119
121
114
110
109
108
103
94
94
92
90
91
89
90
89
89
88
88
88
88
88
88
88
89
91
91
92
94
100
103
105
112
114
116
118
115
113
112
111
130
116
115
110
103
95
97
95
97
98
102
110
118
126
132
133
136
141
140
143
143
143
139
139
137
142
137
133
128
124
120
115
113
115
111
123
128
110
108
115
115
159
150
125
130
129
127
117
122
114
110
117
149
126
115
157
141
128
86
119
143
175
171
168
171
156
144
142
149
157
153
170
164
160
158
155
97
119
163
140
157
168
152
163
168
150
115
129
163
142
98
141
187
184
191
201
197
205
211
173
187
210
203
202
213
206
211
219
198
207
204
218
213
212
209
212
214
214
210
213
215
215
214
212
211
209
209
210
206
207
207
208
208
204
204
197
189
181
171
177
179
182
178
170
168
168
168
154
133
117
105
103
96
97
99
95
102
105
109
112
117
120
125
129
133
135
134
132
130
129
127
127
130
130
128
129
136
133
124
120
121
119
111
104
97
83
85
86
81
78
78
80
80
80
80
79
82
83
94
103
117
140
154
158
161
155
147
136
135
132
117
106
86
80
107
117
114
94
94
93
98
95
122
162
161
162
183
167
157
166
165
168
175
159
147
156
156
164
162
171
169
121
122
133
136
129
133
129
129
133
122
116
123
127
126
126
126
123
122
117
120
115
113
111
109
106
103
93
92
91
90
92
90
88
88
87
87
86
88
84
85
85
82
86
86
86
90
94
97
100
102
111
112
114
114
113
112
110
108
103
103
105
103
100
97
97
95
98
97
102
112
119
123
128
129
130
130
133
136
140
139
136
134
135
133
129
127
123
121
116
115
111
110
111
108
108
105
109
106
108
122
115
175
121
111
113
94
100
98
102
117
127
158
131
144
167
155
129
100
143
178
169
162
151
140
140
150
146
161
166
163
165
158
172
150
107
175
175
162
158
153
160
152
154
144
132
149
163
121
120
133
151
175
198
190
201
215
191
200
205
207
216
204
212
206
206
205
211
216
215
211
209
208
210
216
209
209
213
218
215
213
211
214
214
214
214
210
210
210
205
203
201
200
199
201
196
195
183
172
173
168
164
168
168
167
167
159
146
136
136
138
141
128
119
112
107
111
116
118
118
120
125
125
128
130
132
132
130
128
123
118
118
117
119
118
122
122
118
111
110
110
99
93
83
85
78
80
82
78
79
80
78
80
81
81
79
81
85
98
113
132
151
163
161
156
147
138
141
141
129
113
88
84
108
119
115
98
97
101
89
82
119
172
179
164
174
168
154
156
166
173
172
154
146
166
165
175
169
175
168
103
112
111
118
121
118
117
115
110
105
105
109
110
109
115
118
119
117
115
117
109
112
113
108
104
96
94
94
94
94
93
91
89
87
84
82
81
81
80
76
76
77
78
78
80
84
86
93
96
100
107
111
113
110
108
111
108
108
108
103
103
103
100
101
100
96
98
98
99
106
117
119
124
128
129
131
135
137
138
137
136
131
127
127
123
122
118
114
112
111
109
109
106
105
107
106
107
110
105
107
118
103
150
171
139
118
121
112
107
142
156
132
153
147
149
157
169
161
161
150
164
152
141
121
135
150
158
169
163
180
176
180
161
173
193
209
192
193
184
141
144
143
122
134
124
131
148
121
143
179
149
180
190
192
203
191
197
191
202
197
212
206
207
203
207
214
212
210
213
216
216
218
216
212
218
216
215
215
215
214
216
216
216
217
215
211
207
208
205
193
192
195
198
200
197
194
194
188
187
182
177
174
169
156
148
135
134
132
139
140
137
135
129
125
128
126
124
120
117
119
121
125
124
126
117
116
119
119
110
108
106
103
102
100
101
103
102
98
94
92
94
88
80
79
80
81
82
80
80
82
82
87
82
77
77
81
79
89
108
128
148
158
163
159
150
143
146
141
128
113
93
90
114
122
115
103
108
107
99
72
122
163
177
183
177
165
173
177
162
175
169
167
149
154
168
169
171
180
177
87
88
97
101
106
108
96
91
89
90
95
98
95
96
106
108
107
108
106
106
108
110
104
99
94
95
95
95
95
92
91
89
86
84
82
76
75
73
73
72
72
72
70
72
78
82
85
90
92
96
105
108
108
110
110
110
109
107
106
105
103
103
99
96
93
93
94
96
97
101
109
115
117
123
126
128
130
132
133
133
132
133
129
123
120
112
111
108
106
105
104
102
101
100
99
100
97
97
98
97
97
104
106
135
181
149
146
140
148
127
147
167
169
171
145
154
145
173
177
161
140
130
136
137
155
174
162
170
176
182
146
105
112
153
178
167
193
191
196
143
120
126
138
144
125
144
147
158
151
156
141
187
177
199
172
194
186
218
198
203
200
203
203
205
217
209
207
210
216
220
214
213
216
211
205
207
211
214
216
214
216
219
218
220
210
210
208
203
202
200
200
203
201
197
195
197
195
190
184
181
180
175
161
145
150
161
145
147
142
141
145
129
128
130
133
128
125
123
126
128
127
123
122
120
113
110
106
100
93
100
100
88
88
91
94
91
96
95
95
94
96
91
91
89
82
86
90
91
94
91
86
94
82
77
79
84
79
86
104
124
143
157
167
162
152
148
148
144
130
117
99
97
124
128
111
102
93
83
132
78
130
168
175
167
172
168
183
176
177
182
168
159
153
145
162
170
183
181
166
47
50
54
65
66
66
71
73
81
87
90
93
90
90
95
93
93
97
97
96
96
94
92
90
91
92
92
94
94
93
92
90
86
81
78
76
73
72
71
71
70
68
69
69
72
77
81
88
94
98
103
105
105
108
109
109
108
108
106
107
106
103
100
98
96
95
91
93
94
98
103
109
115
118
122
125
127
127
125
125
129
127
121
117
111
109
114
115
113
109
112
110
104
95
93
95
91
91
92
95
98
96
109
116
143
155
159
169
153
145
130
137
165
170
153
164
161
137
135
167
142
128
132
160
157
150
144
171
184
192
119
1
166
170
73
92
96
123
177
152
134
135
136
130
135
147
139
145
172
159
158
155
223
173
184
187
185
223
193
191
199
205
199
204
209
216
207
209
208
209
210
209
210
213
213
212
214
213
215
215
218
218
217
212
208
210
208
201
204
206
204
204
203
202
200
203
201
196
189
189
189
183
178
173
172
166
169
164
164
155
146
133
134
141
137
136
129
131
128
131
133
134
130
121
114
110
110
105
108
113
109
112
112
106
105
102
99
97
102
107
108
111
115
119
119
110
107
108
97
95
98
88
94
98
88
87
90
131
121
143
148
159
167
163
164
174
186
173
172
171
163
136
143
178
141
109
95
67
97
82
133
163
157
167
170
163
156
147
162
174
175
171
153
170
167
167
177
177
171
24
29
33
39
48
55
64
70
75
77
82
84
85
86
83
86
88
87
88
87
85
87
87
86
89
90
91
92
90
89
87
85
83
79
78
76
72
71
67
67
66
66
64
66
67
73
77
86
90
94
98
102
104
106
108
108
110
110
110
106
107
99
100
101
97
96
89
91
92
96
99
101
105
109
110
115
116
120
126
131
118
114
112
110
102
97
96
96
94
91
89
89
90
88
89
88
86
84
105
106
90
87
96
106
101
123
148
140
101
101
118
132
138
146
161
156
151
157
129
122
127
149
136
160
148
139
130
170
178
164
105
20
172
187
140
106
71
34
97
179
178
112
149
121
138
115
123
160
206
196
161
206
194
167
177
170
178
179
189
204
194
194
206
202
200
201
203
218
209
210
211
211
211
209
209
209
213
213
213
213
216
216
211
205
208
204
204
203
198
188
186
188
190
188
191
190
188
186
183
181
181
179
181
180
176
165
154
154
129
118
131
144
148
149
147
149
140
141
147
153
152
150
148
148
151
155
148
149
148
161
152
147
139
131
130
123
124
129
142
146
142
151
167
149
154
137
143
129
126
107
132
129
132
114
117
134
174
183
183
192
196
187
192
206
217
221
218
221
220
221
217
214
207
207
200
195
179
112
110
99
143
162
170
165
172
153
158
161
175
169
176
173
152
150
171
178
184
176
168
16
18
22
26
32
48
52
56
61
60
65
68
70
71
74
78
80
80
79
79
81
81
84
87
88
88
90
89
89
86
85
84
81
80
78
76
74
71
68
65
65
62
62
63
67
69
76
82
90
92
96
99
103
108
110
110
112
111
109
104
103
101
101
99
97
96
94
93
92
90
94
100
99
101
101
100
104
105
103
105
102
101
99
97
94
93
90
87
85
83
82
82
81
81
81
81
81
81
78
78
81
90
93
98
101
148
164
171
137
113
116
115
125
153
157
133
124
118
125
134
158
132
165
162
183
166
153
156
176
168
19
48
135
160
24
71
71
66
69
170
171
111
125
110
147
106
134
156
166
186
194
212
196
190
203
179
177
203
181
202
187
189
202
195
195
201
203
202
204
204
207
206
206
208
207
209
209
211
211
213
211
209
204
210
203
201
194
195
198
199
203
202
202
199
196
192
186
186
185
183
174
164
161
155
139
148
158
139
116
129
150
148
153
150
155
147
155
164
165
167
173
173
175
184
183
177
182
179
173
169
164
155
147
130
124
126
143
155
169
168
181
183
179
181
172
180
179
156
155
178
185
181
178
180
190
199
207
212
213
215
215
217
220
224
224
224
223
223
223
222
223
225
219
217
219
217
196
165
141
120
146
158
174
169
167
168
170
178
156
173
181
187
169
166
174
164
166
168
165
13
15
16
17
19
26
35
43
52
51
54
56
59
62
70
73
73
70
73
73
75
78
83
86
86
87
86
86
85
83
84
83
81
80
78
76
74
71
68
66
66
64
65
65
67
69
72
79
85
90
93
97
99
106
110
111
112
111
109
107
109
104
103
100
97
96
93
91
92
92
93
94
97
96
98
96
98
97
98
98
93
92
91
88
83
82
81
83
83
81
79
76
75
76
76
76
76
76
75
75
73
76
78
80
112
147
153
154
170
164
148
136
137
126
119
114
123
149
142
116
120
140
166
146
172
181
179
181
173
164
20
33
102
80
49
78
105
99
52
144
177
151
133
123
138
142
155
155
165
201
185
206
204
209
187
190
169
176
165
206
168
174
183
187
190
190
196
198
197
198
199
200
200
201
204
204
205
204
204
204
205
212
209
205
197
189
190
189
190
192
194
197
199
199
200
197
194
186
185
181
179
168
161
158
152
155
147
141
125
148
154
155
154
159
156
167
173
177
178
179
181
186
189
187
182
182
182
181
175
167
148
137
116
108
105
118
143
169
181
186
189
189
188
186
190
191
188
187
196
203
203
202
209
210
210
213
214
217
219
219
217
219
224
223
225
225
223
219
219
221
222
224
221
215
207
201
203
202
201
192
161
159
177
169
172
173
161
165
160
166
173
177
173
183
174
174
170
167
167
13
16
16
17
18
23
26
31
38
42
45
51
56
60
61
61
61
62
67
71
74
76
78
80
81
84
84
83
84
84
85
83
79
81
79
77
73
71
70
68
68
67
69
72
73
74
75
79
81
85
92
95
97
106
106
108
109
106
107
108
108
105
102
97
92
92
92
90
88
87
87
90
91
93
93
95
96
93
89
85
84
84
82
78
80
77
76
74
74
73
72
70
69
68
66
68
67
67
67
69
71
72
78
95
114
144
135
126
126
125
124
132
115
96
82
84
78
51
102
143
95
130
152
134
138
140
143
157
171
162
96
6
57
103
75
82
85
96
90
154
185
174
126
119
159
152
149
126
173
201
187
205
200
195
201
193
191
148
162
160
193
200
178
177
180
182
187
193
193
189
193
196
199
203
198
200
199
197
201
206
207
203
200
196
181
181
185
185
181
192
192
188
189
184
185
184
182
180
181
171
164
157
147
148
155
160
148
141
140
155
157
161
160
167
168
176
178
180
185
188
189
185
183
176
171
180
183
173
158
154
127
117
93
83
98
126
152
175
183
187
188
188
187
185
185
188
197
198
199
202
207
210
214
216
216
217
219
219
219
219
223
226
222
224
224
224
225
224
224
223
220
212
203
214
219
218
210
206
212
205
171
164
173
152
164
170
174
167
168
166
182
179
174
177
179
179
174
164
164
15
16
17
20
22
25
25
27
34
37
41
44
48
50
53
55
62
62
63
67
69
72
74
76
79
81
82
82
82
82
83
83
81
82
80
78
74
72
72
72
73
71
71
74
75
77
79
82
83
85
88
92
96
102
103
105
105
108
110
110
108
107
104
97
95
93
92
90
86
83
83
84
84
86
84
84
86
85
83
82
80
80
78
74
76
73
73
71
69
68
65
66
63
60
60
60
59
61
64
68
67
68
75
78
111
142
139
113
95
78
49
44
54
54
70
95
68
85
50
66
67
114
136
132
129
110
114
101
102
138
160
141
7
25
29
50
26
8
100
182
191
172
141
161
179
151
160
165
162
201
180
203
201
190
201
187
209
156
153
164
162
169
170
178
178
181
185
188
190
191
190
191
196
201
196
194
199
193
187
193
191
189
191
190
191
197
202
204
204
205
202
200
199
199
201
199
197
191
183
177
166
162
166
164
156
154
153
151
159
163
160
163
165
171
172
175
178
180
179
176
170
162
161
155
168
172
171
160
155
134
102
88
74
78
115
150
169
174
180
185
192
194
188
181
179
186
191
193
197
206
212
213
214
214
215
219
216
219
219
221
221
220
220
222
223
225
225
224
224
220
214
220
219
216
214
213
207
205
215
195
154
143
171
166
171
166
161
183
163
157
177
178
157
167
176
183
185
167
154
23
23
24
23
24
27
27
30
33
36
38
42
45
47
51
53
55
57
60
62
64
68
71
75
76
78
79
81
82
82
83
83
82
80
78
77
76
76
76
75
75
74
77
79
79
79
81
83
85
85
88
91
95
100
101
106
106
109
109
105
107
107
103
100
96
95
90
89
87
83
82
81
79
80
80
78
80
79
77
75
76
73
76
72
70
70
70
66
66
63
62
60
56
54
53
54
57
59
61
64
66
70
73
84
129
153
144
127
107
109
121
120
113
129
116
109
127
119
94
63
76
112
165
162
172
167
158
151
145
125
156
182
167
42
66
46
90
131
94
129
138
177
167
150
161
168
190
161
190
188
197
194
185
185
183
194
190
176
156
157
162
170
176
174
177
186
172
178
176
176
182
188
193
188
181
182
188
192
190
186
186
179
190
194
195
198
199
201
201
197
203
205
200
198
196
191
189
180
168
165
158
157
159
158
164
165
158
158
165
158
157
159
159
161
163
168
166
163
159
155
156
146
137
141
153
154
156
147
101
82
64
56
53
101
132
151
163
174
180
186
186
185
177
177
176
180
190
186
195
204
211
213
215
215
214
213
213
213
211
211
212
215
217
219
218
220
219
220
218
216
216
217
196
207
207
206
214
206
193
126
93
125
169
173
171
166
163
175
166
164
178
176
170
171
181
181
170
168
160
25
25
27
27
27
30
34
37
38
38
40
43
43
45
50
50
51
53
54
58
61
63
66
70
72
74
78
80
81
81
81
84
82
82
82
80
82
82
82
79
79
80
82
82
81
81
81
83
85
85
85
88
90
95
97
102
101
106
102
102
101
103
106
101
97
92
88
85
83
80
79
77
78
77
77
76
75
76
75
75
76
77
75
72
71
69
66
65
63
59
57
58
54
52
53
54
55
63
65
66
70
72
79
99
130
148
140
132
91
104
90
89
92
86
82
117
100
106
104
118
83
69
107
136
168
186
186
189
180
166
177
203
207
218
211
163
145
132
104
113
105
106
104
146
153
167
176
198
188
190
188
182
196
177
185
170
166
187
179
179
172
169
173
171
176
178
182
180
183
185
189
195
183
176
183
188
192
193
195
203
202
200
196
182
188
193
194
194
194
195
195
200
199
197
191
188
179
171
167
150
149
151
151
156
162
161
159
160
154
155
153
153
157
155
151
153
148
148
139
127
113
111
124
120
138
155
148
96
71
53
49
49
65
116
147
159
174
176
177
179
182
176
172
179
180
180
183
182
192
203
210
211
209
210
211
209
209
209
211
213
210
209
211
213
213
215
214
215
210
212
215
214
192
208
205
209
203
194
165
78
80
104
178
168
174
160
172
171
170
174
167
177
168
182
176
176
156
162
160
32
28
30
32
32
36
38
39
43
40
42
42
45
47
49
50
50
51
53
55
57
58
60
63
66
71
71
76
79
79
81
81
80
79
81
84
84
84
84
86
86
86
85
85
85
85
85
85
84
84
86
89
90
93
94
97
100
102
105
101
101
101
99
98
94
89
85
81
79
77
75
74
73
72
73
75
77
75
77
77
76
75
75
75
73
70
69
66
63
60
55
52
53
53
53
59
61
62
66
63
65
66
77
106
136
145
143
141
127
112
98
83
80
91
110
110
104
105
100
117
132
154
167
169
163
188
192
194
187
195
203
217
211
220
215
215
201
195
178
143
148
164
149
155
146
172
152
144
183
189
177
178
153
157
145
135
153
173
188
188
171
167
168
175
174
176
174
173
173
173
179
179
181
194
189
181
178
190
195
200
204
204
202
205
196
190
193
195
196
198
199
190
183
182
180
181
173
163
165
170
166
164
162
158
157
159
157
157
158
154
140
139
142
142
131
130
122
103
104
112
129
142
154
155
153
138
104
66
46
37
47
52
92
135
155
163
164
166
172
176
176
174
173
171
166
164
167
176
186
197
203
209
205
205
205
203
201
201
201
206
206
207
209
209
210
212
213
211
214
214
211
217
211
209
209
205
193
179
133
78
104
101
164
163
165
171
164
177
164
163
173
172
178
171
159
163
161
167
164
42
40
39
41
42
42
42
44
46
48
50
48
47
47
48
50
50
51
51
53
55
54
56
59
62
64
68
71
74
77
76
76
79
80
81
83
84
86
86
88
88
85
85
85
85
85
85
85
85
85
85
86
89
89
90
93
95
96
98
101
97
95
92
91
88
83
81
79
75
72
70
71
70
72
71
74
75
75
77
77
77
77
77
78
75
74
71
68
65
61
58
55
54
55
57
63
65
65
65
64
64
67
63
89
131
146
137
126
121
121
112
124
113
149
143
152
179
190
185
175
163
177
197
197
200
206
208
202
199
194
210
213
213
208
210
211
211
219
209
207
206
194
179
168
165
157
152
67
105
163
166
151
118
143
123
122
142
171
163
171
164
164
161
167
173
169
177
175
178
185
181
187
188
182
181
186
191
192
193
198
199
201
204
207
202
202
194
190
194
192
200
200
200
194
181
168
154
154
162
166
165
160
164
163
158
148
146
152
158
150
122
116
119
105
101
105
115
117
134
158
161
156
148
134
114
79
59
48
47
50
57
73
111
137
144
143
158
162
165
170
174
174
171
175
169
153
155
164
178
193
197
201
196
199
197
197
197
192
190
195
195
197
200
201
205
208
209
207
206
207
221
220
212
209
209
201
187
154
160
141
92
85
146
160
157
168
154
174
161
157
159
163
173
173
175
172
166
166
162
49
46
44
45
45
46
47
50
51
51
51
53
54
53
52
52
51
51
51
52
52
51
53
54
54
57
60
60
64
70
71
74
78
79
80
81
83
84
87
89
87
87
87
85
85
84
85
86
85
83
83
81
81
85
86
86
89
90
92
91
89
90
87
84
82
77
76
76
68
69
69
67
68
71
71
74
76
76
76
76
76
78
78
77
79
77
78
74
70
66
63
59
57
56
57
61
63
65
64
64
64
74
75
89
127
139
140
135
124
113
94
100
111
100
120
127
129
118
143
160
183
187
201
209
211
210
205
212
210
220
224
221
219
213
210
206
204
197
207
209
199
201
194
205
196
192
140
135
43
65
154
151
141
140
113
127
135
131
151
163
172
154
157
167
171
167
163
165
166
180
187
187
182
189
191
185
185
194
196
198
201
199
190
199
204
204
203
195
193
187
187
192
195
193
180
166
144
136
135
146
159
159
157
158
146
143
153
146
133
107
82
79
79
86
93
95
112
143
154
157
155
144
129
121
97
73
56
51
49
46
59
75
108
135
147
152
159
165
160
160
162
170
172
167
165
165
165
165
172
186
196
197
192
198
193
188
186
180
181
180
173
180
184
190
198
198
206
204
212
220
214
210
203
190
181
180
168
167
152
126
56
72
156
167
161
174
162
163
164
161
167
175
174
175
176
176
159
162
157
51
50
48
49
50
53
56
57
58
60
61
60
58
58
54
55
53
50
48
46
45
46
47
47
49
49
53
54
59
66
69
72
74
76
78
78
79
80
82
83
85
85
82
82
81
83
83
82
80
80
79
77
77
79
80
80
82
85
85
81
81
81
79
77
75
72
71
71
68
67
67
67
68
68
71
76
78
79
78
80
81
81
84
84
81
81
80
79
77
73
68
65
62
61
60
61
61
61
61
64
67
74
91
116
147
134
118
97
97
105
115
106
119
110
135
119
125
132
120
127
155
143
177
187
218
221
222
221
224
224
224
229
226
234
222
222
216
207
203
210
208
229
213
209
199
195
133
87
74
88
28
107
108
83
79
113
132
143
134
134
152
149
148
157
161
161
171
163
154
147
148
167
169
180
181
176
181
183
188
192
197
205
202
199
197
199
200
202
196
194
177
180
181
177
164
153
152
153
143
136
117
130
147
156
153
148
125
104
100
106
107
77
77
77
71
75
96
127
143
140
138
133
120
106
90
68
54
59
55
57
68
86
108
135
140
135
141
146
145
136
133
137
143
148
154
157
154
158
165
176
185
182
185
183
180
171
160
153
156
157
155
162
172
174
182
187
191
198
209
203
190
194
186
189
184
183
182
179
163
115
66
75
168
158
159
165
158
169
172
160
158
174
169
170
168
164
168
159
167
52
53
53
51
52
54
59
62
65
64
65
63
63
61
57
56
54
50
46
44
44
44
43
43
45
47
50
54
57
63
67
70
72
73
73
74
77
77
78
81
81
79
79
79
77
79
79
77
76
76
77
74
74
76
77
79
80
79
80
77
78
80
76
74
72
70
68
68
67
67
67
67
70
70
71
76
78
81
81
83
83
86
89
89
85
83
83
81
79
76
71
67
64
64
62
62
61
61
65
66
85
77
99
107
141
143
135
139
120
103
70
57
56
91
92
127
121
86
62
74
84
84
124
170
189
206
206
212
211
214
211
210
213
215
215
210
206
211
222
214
221
214
216
213
212
195
150
96
62
14
40
80
48
47
81
128
121
129
115
149
152
151
151
132
145
158
160
171
162
168
154
157
147
154
165
157
161
175
185
186
183
192
199
200
200
196
195
195
197
196
189
182
178
164
157
159
158
154
149
150
118
132
126
129
135
135
124
140
133
91
77
66
60
70
82
97
96
118
123
129
129
114
121
121
99
80
63
61
58
58
70
90
104
121
134
140
142
141
137
133
133
134
154
142
145
146
155
152
146
159
162
172
181
168
158
144
137
129
128
116
116
124
137
155
159
162
167
182
205
205
195
192
185
188
183
181
183
169
135
68
58
86
163
157
158
172
166
156
162
180
182
173
169
172
175
157
149
162
170
53
51
51
49
51
55
60
61
63
65
65
64
65
63
61
56
53
48
48
44
40
41
44
42
43
44
47
51
51
60
63
66
70
70
70
76
74
74
77
76
76
75
77
75
73
69
69
69
67
67
67
69
72
73
75
74
75
75
74
76
78
78
78
74
72
73
70
70
68
69
68
68
70
72
73
76
78
80
81
83
88
93
96
94
92
90
86
82
80
79
76
74
71
68
67
65
64
65
63
65
68
78
109
120
140
152
149
156
137
114
127
81
71
52
79
62
44
64
52
111
116
167
176
178
183
190
179
180
178
172
190
194
201
195
196
206
205
207
211
210
201
213
218
205
184
155
132
115
0
62
192
156
160
131
79
143
129
137
129
151
167
149
144
146
136
145
154
155
166
161
175
158
164
155
161
161
159
164
179
177
184
188
190
190
187
181
183
189
188
186
187
186
172
151
126
137
149
146
149
148
128
130
143
126
136
140
112
127
113
81
59
52
52
71
91
117
92
104
120
112
103
103
103
102
100
97
96
92
65
55
56
67
94
127
128
126
119
130
126
127
124
130
126
140
142
154
137
149
137
135
144
147
149
148
144
132
114
99
90
74
75
78
93
116
134
142
149
177
212
208
199
196
191
181
183
168
162
119
119
109
77
88
154
132
166
158
160
177
160
162
162
157
171
173
170
143
139
172
170
50
49
48
49
52
56
59
62
64
65
67
66
66
65
61
59
53
49
47
44
37
38
38
41
41
43
45
47
53
59
60
63
64
65
70
68
69
69
70
68
71
70
69
67
67
66
64
63
64
61
67
69
71
73
73
75
77
76
73
77
78
78
77
75
73
73
75
75
71
69
69
69
71
74
75
78
80
82
84
87
91
93
95
96
95
93
89
85
85
82
81
79
75
73
71
69
64
67
65
66
72
75
97
138
166
163
152
149
130
118
131
128
107
104
76
56
64
62
55
100
128
126
137
141
159
132
151
138
162
179
185
184
181
190
155
155
133
132
158
205
201
190
185
184
155
134
109
53
152
199
201
175
170
147
113
138
121
106
140
149
141
145
148
146
141
141
151
147
149
157
159
168
159
156
159
167
168
159
164
172
168
178
179
182
186
188
173
170
173
177
174
166
168
166
153
120
128
143
135
131
144
118
133
142
136
134
117
116
115
73
46
47
60
76
101
113
115
109
94
102
105
83
100
115
101
84
83
91
75
73
69
69
83
108
116
123
117
119
125
121
135
130
119
137
125
130
132
130
133
114
107
102
103
100
110
91
93
81
84
76
72
69
83
100
127
139
153
175
203
204
200
191
193
176
181
172
162
153
137
96
53
104
155
132
155
166
169
167
177
164
155
141
173
170
169
164
160
172
172
41
39
41
48
51
54
57
59
64
65
66
67
67
63
61
58
55
52
46
43
39
35
35
36
36
39
44
47
52
54
56
60
62
64
64
65
66
66
66
64
62
62
61
59
61
59
58
55
59
65
66
69
72
74
77
80
77
78
79
80
79
79
79
79
79
77
75
78
74
74
75
75
75
77
80
79
81
84
88
91
92
95
94
94
94
94
90
88
86
86
83
83
82
78
75
77
73
70
68
70
75
76
101
143
176
157
140
125
121
138
139
137
136
136
130
101
108
100
115
126
133
127
124
84
106
118
113
159
169
165
110
9
30
29
10
8
105
68
122
132
181
199
211
195
178
75
102
136
190
206
202
175
175
145
100
122
137
134
153
144
148
153
144
155
135
130
144
153
137
148
138
145
143
141
145
163
167
163
158
154
169
165
163
166
177
170
172
165
153
157
157
152
145
139
154
158
131
136
145
119
129
139
115
141
147
131
133
118
105
61
63
46
75
83
110
114
121
123
119
72
98
83
80
100
109
98
77
80
82
74
75
86
85
102
126
113
124
126
115
130
123
129
118
119
119
122
119
116
107
111
102
94
91
94
89
91
77
77
76
68
67
66
68
85
107
131
149
153
158
199
197
178
176
166
158
148
111
130
102
48
20
130
130
155
171
165
171
177
190
165
177
179
179
172
158
160
164
165
169
34
35
40
43
48
52
56
59
64
64
66
68
66
62
60
58
55
49
45
42
38
35
33
33
34
38
42
48
51
52
54
55
61
61
61
62
62
62
62
60
58
57
55
55
52
53
53
53
58
63
69
68
72
75
75
77
81
82
82
83
82
80
80
79
79
78
79
78
76
76
76
77
80
81
82
82
82
86
90
92
93
95
94
94
93
93
94
90
88
88
87
86
84
81
81
79
81
88
82
84
89
100
158
198
198
179
176
152
148
135
135
152
141
147
109
124
110
156
113
131
151
158
159
163
179
179
167
167
130
10
49
170
85
54
42
32
89
158
159
153
176
156
205
209
182
154
130
141
148
169
198
190
170
150
106
128
134
133
137
140
140
144
145
149
152
126
123
144
154
129
136
141
148
135
135
138
152
163
144
156
154
157
151
141
156
145
148
153
154
147
147
153
134
137
126
126
141
133
142
142
113
133
139
134
136
137
127
127
116
65
52
65
68
91
107
114
119
130
128
114
90
101
87
97
111
116
101
87
91
94
107
105
104
104
125
127
118
125
129
118
124
119
117
120
119
116
106
107
112
98
96
101
89
89
86
83
87
76
73
71
73
71
72
81
105
130
138
138
138
162
192
190
175
168
150
137
135
116
97
74
47
122
144
175
167
172
167
175
166
167
173
176
177
169
168
171
172
169
171
27
31
37
41
44
50
51
55
58
60
61
64
63
61
58
56
54
48
42
40
37
33
32
33
36
38
42
44
48
50
53
53
56
57
57
59
59
57
57
54
51
51
48
49
46
45
45
51
57
62
67
72
76
78
78
80
81
84
87
86
86
84
83
81
79
80
81
80
78
79
79
80
81
81
82
84
85
86
92
93
93
92
92
93
92
95
94
91
89
89
90
88
85
85
84
86
81
81
74
78
151
201
158
145
129
158
141
130
144
157
141
136
127
144
151
104
92
100
112
126
135
173
172
147
169
162
185
143
11
23
106
157
31
80
74
63
79
168
176
180
157
172
185
194
202
156
152
136
170
166
196
175
174
160
149
134
143
133
130
139
138
140
147
149
152
143
105
128
152
135
132
138
140
146
132
131
142
149
132
146
145
136
130
141
133
128
115
137
144
147
140
128
135
130
139
117
120
131
146
132
129
105
127
137
135
131
128
123
120
92
63
74
75
81
104
116
111
121
136
130
115
112
109
104
117
123
133
130
133
133
151
161
149
135
132
127
127
136
134
125
125
127
120
124
116
106
102
106
106
109
98
91
90
89
88
84
79
79
78
77
77
77
77
84
104
124
130
134
133
133
149
168
171
159
146
134
134
124
113
88
67
136
146
159
159
175
174
183
170
166
170
177
176
179
174
176
172
171
173
27
29
32
38
40
42
45
48
54
57
58
59
58
56
53
52
50
45
43
41
38
35
33
36
37
40
42
44
46
47
51
52
54
52
54
55
56
54
52
50
47
45
45
44
42
40
40
51
55
61
67
72
77
84
84
86
86
89
90
90
89
86
84
82
82
82
80
81
82
81
80
81
83
82
84
85
86
88
92
94
91
92
94
94
93
93
93
94
94
91
90
89
87
88
85
95
95
98
173
177
149
150
159
135
120
108
103
143
159
153
127
136
168
92
102
175
92
93
102
104
135
122
120
126
124
160
171
34
6
66
57
26
34
48
55
72
78
141
186
150
117
169
157
180
192
181
162
182
195
189
187
175
174
149
135
146
131
133
138
138
142
144
141
139
145
147
128
117
142
135
131
131
136
124
125
115
132
133
137
124
126
120
108
128
134
119
113
115
128
134
133
134
116
124
119
132
114
118
134
132
125
125
103
134
140
133
124
130
106
98
94
82
75
85
108
109
118
121
124
140
138
119
125
129
121
122
144
150
147
160
171
177
174
157
146
138
134
138
137
129
136
135
131
128
116
108
105
104
105
107
100
93
91
90
89
86
82
82
81
79
82
84
81
83
101
115
127
135
127
123
119
122
141
146
146
141
145
141
116
91
78
138
170
152
155
150
178
179
175
164
173
175
177
173
164
165
174
169
168
24
30
32
33
36
38
41
44
49
52
53
53
51
51
50
46
46
44
43
40
35
32
30
34
36
41
44
46
49
47
48
51
53
53
55
55
55
53
50
47
47
45
44
43
40
38
39
51
52
60
69
75
80
85
89
94
94
95
95
94
93
89
88
87
87
86
87
87
88
86
83
84
82
82
84
85
86
90
93
93
94
93
94
95
93
93
94
95
95
94
94
97
94
100
90
95
187
172
161
156
129
139
132
123
104
113
132
141
130
145
133
94
89
156
138
106
113
79
95
104
117
125
133
102
138
149
138
126
4
60
156
192
87
77
67
22
97
151
167
90
112
126
139
165
158
184
197
198
191
195
187
161
165
172
136
143
138
139
126
147
150
150
147
143
140
141
144
118
118
125
125
118
124
121
117
110
115
127
129
108
115
116
96
112
126
131
104
119
113
129
102
121
123
114
90
117
119
119
120
131
117
130
124
119
133
132
130
135
123
94
98
91
95
96
107
104
109
118
125
127
147
134
135
147
162
159
161
165
174
184
179
184
172
153
143
141
138
146
139
140
137
135
134
123
107
102
106
102
98
103
97
92
91
92
88
84
82
83
84
85
83
82
84
84
96
111
125
136
126
119
116
110
123
125
129
125
123
124
106
95
105
159
150
152
161
186
174
177
169
161
165
161
165
167
164
159
165
167
157
18
25
29
29
34
35
35
38
43
46
44
46
44
46
49
49
51
51
50
48
41
36
35
35
37
40
45
48
49
50
48
48
51
51
51
52
52
50
47
46
46
45
44
43
40
38
40
53
55
61
74
79
83
93
97
99
101
101
104
97
97
91
90
90
90
89
87
85
88
88
83
85
83
83
83
84
87
89
90
91
93
93
94
94
94
94
94
94
93
94
96
92
95
106
180
184
174
124
121
135
138
119
108
117
99
84
101
84
176
124
88
113
88
121
144
133
117
101
82
89
103
118
127
126
120
147
147
77
50
46
97
122
115
77
39
73
127
137
135
95
124
95
127
143
135
154
163
168
162
172
147
188
159
139
129
164
140
153
136
133
147
147
145
143
128
135
134
131
121
119
88
120
115
120
115
110
103
107
119
121
95
116
112
108
112
128
108
115
113
111
114
118
122
117
98
98
122
106
123
122
117
116
123
115
123
125
117
122
135
101
102
97
86
83
91
91
96
101
115
139
138
154
156
159
176
174
173
168
177
183
179
177
160
150
141
141
141
146
141
139
134
135
133
108
107
107
98
98
102
104
98
90
87
89
89
86
84
84
89
90
83
82
84
85
94
106
121
132
126
117
111
110
116
126
131
127
121
111
112
86
97
154
158
172
165
144
171
169
170
167
170
170
169
167
177
172
159
170
175
16
18
22
24
26
30
35
35
33
37
39
41
43
42
49
53
53
51
46
43
44
43
48
47
48
46
47
50
48
52
49
49
50
50
50
49
48
48
46
46
46
46
45
44
43
39
45
56
62
67
78
84
91
101
103
109
112
114
109
106
107
99
95
91
88
87
86
84
85
84
84
85
84
84
83
85
89
90
90
90
91
91
91
91
92
92
93
97
95
90
105
100
175
181
179
156
148
105
135
137
131
161
107
97
101
92
90
92
62
150
114
76
50
146
152
152
110
90
104
97
100
101
116
128
127
131
159
118
60
80
102
119
130
105
120
150
135
109
109
94
88
89
86
86
104
137
127
122
123
156
158
133
185
149
142
130
154
166
136
132
142
159
141
137
134
127
132
123
118
113
102
112
124
118
117
106
115
114
102
112
105
109
116
106
108
113
120
119
102
130
111
117
117
117
95
99
116
113
115
115
103
82
113
90
101
100
92
96
110
97
88
94
88
88
79
81
86
90
104
121
136
154
162
170
168
169
171
177
170
162
157
149
136
130
129
131
131
131
140
143
133
111
104
97
98
94
92
98
97
98
91
88
86
87
88
85
85
86
89
88
83
84
85
84
88
100
118
133
128
121
111
108
107
122
135
128
116
114
109
92
112
160
159
160
157
156
174
170
171
177
176
181
172
175
173
162
168
168
162
13
15
17
20
24
24
28
26
28
32
35
37
40
41
47
50
50
48
47
46
49
51
55
57
55
55
50
52
51
54
56
56
56
56
54
52
50
50
50
48
48
46
46
44
43
41
47
56
61
71
81
87
94
103
108
112
114
117
116
113
110
104
96
95
91
88
87
87
85
84
83
84
84
84
85
86
90
90
91
92
90
92
92
92
93
93
92
90
87
100
180
188
162
166
136
132
144
137
141
128
157
132
103
119
122
168
98
79
112
89
116
110
120
137
140
121
116
115
110
97
91
89
116
114
116
138
140
112
105
105
128
158
163
166
159
130
106
83
92
71
88
74
72
87
123
93
108
100
164
165
121
131
148
181
144
129
136
133
161
162
130
133
137
126
128
125
135
114
118
111
114
111
113
117
124
110
121
115
114
103
96
107
107
121
104
119
114
127
102
115
111
109
102
106
92
84
93
85
94
103
88
79
85
85
79
82
79
77
80
94
83
78
77
72
80
79
81
73
84
88
112
139
147
152
151
156
152
149
134
123
119
124
121
119
118
110
107
109
110
104
94
84
86
85
86
90
89
92
90
86
88
87
86
85
85
82
86
84
84
83
80
81
82
81
82
96
116
129
129
120
107
108
109
117
125
123
117
117
111
108
123
157
161
173
171
155
175
154
177
172
167
172
179
175
165
165
166
171
174
13
16
20
24
24
24
26
23
26
28
32
34
38
42
45
44
46
44
49
48
52
54
60
62
61
61
62
56
55
58
61
63
59
61
59
57
54
54
54
52
50
50
48
46
43
42
49
55
64
74
88
91
100
113
115
119
118
116
115
114
108
101
98
95
92
89
87
87
85
83
81
82
83
83
84
87
87
89
88
91
90
88
85
91
91
90
91
101
158
177
161
137
143
149
145
134
143
118
136
103
130
128
110
154
163
92
109
48
90
95
82
94
52
159
148
140
142
121
122
103
94
99
82
101
110
116
117
124
113
110
55
97
125
138
92
82
67
78
79
78
80
60
95
97
113
75
93
103
200
139
144
136
134
161
187
167
115
126
127
125
125
136
169
127
110
116
122
118
109
114
114
123
116
121
125
124
115
115
109
99
100
99
101
103
116
97
101
89
93
87
100
79
78
95
85
75
77
78
76
79
68
63
68
74
78
68
68
65
67
70
78
71
67
69
64
68
66
66
71
68
68
69
79
96
100
97
98
91
94
82
82
75
78
85
88
84
84
79
70
67
70
73
75
80
82
84
81
80
79
83
83
85
84
84
85
82
80
78
78
77
77
76
77
78
78
91
105
122
122
114
107
110
115
125
127
128
120
111
106
108
140
140
158
155
168
158
171
153
185
166
171
168
174
153
164
172
172
175
168
16
18
20
20
20
19
19
21
22
24
26
32
36
39
44
43
45
43
48
54
55
60
64
66
64
63
63
60
59
60
62
63
64
64
63
60
55
55
55
55
53
51
51
48
45
44
52
58
65
75
86
95
101
115
118
120
118
118
114
113
112
105
98
93
89
87
86
84
82
81
81
81
79
79
81
84
87
85
88
88
89
87
87
88
91
99
108
189
160
147
144
149
125
139
129
129
125
127
125
105
145
125
111
129
137
79
93
113
101
98
109
54
74
153
119
123
134
128
117
97
97
70
99
80
97
87
110
102
120
110
72
34
100
93
74
77
83
96
67
90
78
66
78
81
154
81
98
110
126
136
129
137
144
139
156
160
99
112
95
116
103
112
105
102
104
108
166
133
112
115
107
120
126
121
119
120
104
104
116
127
103
80
64
62
83
47
58
77
67
62
76
64
62
62
64
78
57
67
61
73
67
65
61
58
69
66
68
60
58
60
66
71
65
65
68
65
71
71
73
71
74
72
68
69
65
63
64
63
58
61
63
66
63
64
61
63
66
67
67
68
68
69
70
72
74
77
76
77
81
79
79
80
80
80
79
80
78
75
77
74
71
72
76
75
73
87
99
117
120
115
107
112
117
119
120
117
115
113
105
112
134
153
165
174
170
168
113
166
164
172
180
170
173
167
168
168
165
171
175
19
19
20
18
17
17
18
18
19
23
27
30
32
36
39
43
41
42
45
53
56
61
65
65
66
65
63
62
60
64
66
66
65
64
63
62
61
61
60
58
56
56
53
51
50
47
50
59
65
80
93
96
102
110
117
117
114
117
116
114
109
103
96
88
82
83
81
79
79
77
77
77
77
77
78
80
83
89
86
86
88
86
84
81
85
103
180
161
144
135
140
120
125
139
156
126
114
137
140
110
130
105
99
143
122
85
96
84
93
81
86
64
67
127
118
126
151
133
93
113
86
85
100
80
78
89
95
123
120
114
89
36
28
61
78
77
81
92
96
98
58
70
64
70
134
62
100
126
132
161
141
141
133
138
140
128
120
103
141
92
92
87
88
81
89
87
84
97
97
102
92
100
98
101
92
84
89
74
71
78
62
67
53
42
44
53
46
54
58
47
46
67
56
50
55
60
51
57
58
57
63
60
60
55
60
64
65
64
61
62
64
64
69
69
71
77
80
77
79
76
78
79
78
78
77
79
78
72
67
65
66
68
66
67
65
68
71
70
69
71
71
71
72
76
76
76
79
77
78
81
81
82
82
82
80
80
78
76
75
72
70
71
68
68
70
83
94
114
121
113
112
114
121
127
130
119
119
113
108
114
114
153
165
165
151
137
90
169
168
169
173
180
180
185
174
169
159
166
170
19
17
18
17
16
16
15
15
16
19
21
26
29
35
38
39
40
43
45
53
59
64
67
68
67
66
65
64
63
65
66
67
67
64
62
62
61
61
61
59
57
55
54
53
51
50
53
60
68
77
90
96
105
113
117
119
121
119
112
114
107
100
94
88
82
80
76
74
75
72
72
73
73
73
75
78
81
83
84
86
83
80
80
79
97
180
175
158
140
133
133
114
127
139
156
146
142
127
143
117
127
133
121
141
132
84
77
57
65
65
46
34
52
135
127
131
134
135
129
107
70
84
95
73
82
86
78
84
111
128
84
54
27
55
56
65
81
87
85
86
85
77
72
73
108
139
135
130
132
160
127
153
165
128
125
123
88
118
85
87
102
86
79
88
80
80
72
86
89
89
75
74
71
71
75
70
66
69
62
60
50
42
54
42
31
45
38
36
56
53
43
49
54
46
51
46
49
50
54
59
58
63
60
60
61
64
61
64
67
63
71
71
73
74
76
82
86
86
92
92
90
90
86
85
88
88
94
94
89
83
84
81
79
76
77
75
75
75
74
75
73
76
76
77
77
78
78
79
81
82
82
84
83
83
81
80
80
76
74
71
70
67
64
62
62
65
78
106
123
115
115
115
123
127
127
120
119
118
107
109
133
149
171
157
158
167
171
165
179
170
172
165
171
165
173
166
159
164
161
19
16
16
15
15
15
14
14
14
14
16
23
25
31
38
39
41
42
44
51
56
64
67
69
68
68
67
66
68
70
67
66
68
66
65
62
62
62
62
59
57
57
54
52
51
52
53
61
71
76
82
95
104
111
115
119
120
121
119
110
104
98
92
83
76
77
72
67
67
67
68
68
68
68
71
79
77
86
83
82
78
77
77
75
158
163
167
138
131
138
123
119
143
124
133
142
137
120
109
110
89
96
109
139
124
92
109
124
88
89
46
13
64
113
122
99
101
135
105
70
99
99
103
99
89
81
73
73
71
83
68
61
66
79
76
92
73
101
81
101
124
109
110
127
125
174
139
144
133
122
118
125
152
130
105
112
88
83
140
111
77
76
74
74
89
104
94
90
84
87
72
72
67
59
64
60
53
52
54
53
44
33
34
38
37
30
35
31
31
48
44
39
46
46
47
54
48
51
53
58
59
58
61
62
64
64
68
64
69
72
74
76
79
83
87
87
92
98
101
102
104
101
96
98
96
101
104
103
109
102
98
101
94
93
95
87
84
85
85
82
81
78
78
78
78
81
83
84
84
89
91
89
89
87
84
79
77
78
72
69
68
66
64
63
56
59
74
105
122
120
119
120
125
128
130
118
119
119
116
112
135
137
164
155
158
152
171
165
177
164
166
169
164
158
159
167
179
161
172
18
16
14
15
15
12
12
12
13
12
16
24
28
32
40
43
44
49
49
50
56
60
65
65
67
65
64
65
69
70
68
68
66
64
63
60
61
59
61
59
57
54
52
50
48
48
53
61
63
70
83
95
102
109
111
117
123
127
129
117
106
96
89
81
73
69
68
62
61
62
62
65
64
67
69
73
74
76
77
75
75
75
76
87
153
170
140
113
122
115
106
118
136
117
116
112
113
119
129
97
89
98
113
130
107
83
106
118
122
94
54
58
48
106
127
117
106
142
101
114
102
117
113
117
114
101
94
90
91
91
79
91
92
120
126
134
140
139
126
127
130
134
135
130
142
115
138
142
128
115
123
119
102
153
100
98
91
82
73
150
143
79
75
72
74
71
75
68
66
77
71
58
61
50
59
51
61
43
44
42
47
35
32
31
31
41
28
32
27
40
51
31
40
45
41
51
49
54
53
56
61
62
62
64
66
66
68
71
72
79
81
83
87
90
94
97
99
102
106
108
111
115
109
107
111
115
118
119
119
117
112
111
112
108
105
97
92
92
89
88
86
86
82
81
83
84
85
85
88
90
91
90
88
85
88
88
86
84
78
75
73
68
66
65
62
64
76
109
126
121
116
113
119
128
139
122
116
122
122
117
142
152
156
152
153
161
169
176
168
159
170
168
173
174
162
163
160
158
168
18
14
13
11
11
12
11
14
14
21
25
30
32
36
42
47
51
55
57
57
58
58
65
62
58
60
64
68
69
66
66
66
64
64
63
61
61
61
60
57
55
54
52
50
45
46
49
56
64
69
82
86
90
100
103
103
106
108
106
102
94
88
78
71
66
65
59
57
56
56
56
59
62
61
67
69
67
71
74
76
74
77
68
88
136
175
150
121
112
122
104
119
123
129
117
118
122
115
118
113
103
115
121
155
135
101
109
107
119
90
85
93
110
127
120
120
125
128
120
111
112
131
141
143
140
139
130
122
109
120
96
99
97
125
119
148
138
129
133
124
132
132
124
137
132
108
103
111
121
107
100
98
102
91
110
88
71
74
72
72
75
103
118
73
67
70
59
63
61
61
63
61
58
58
51
53
46
49
42
42
44
41
34
31
31
33
34
34
29
30
36
61
36
39
55
47
52
54
57
59
64
67
66
68
69
71
70
73
76
80
82
87
95
99
99
102
102
106
109
112
117
124
127
125
122
121
128
127
126
129
125
124
122
119
117
109
104
99
93
91
90
88
84
86
86
90
86
90
91
93
91
93
92
92
92
90
88
87
84
82
77
73
68
68
68
66
83
113
127
125
113
116
120
128
126
121
123
125
121
120
137
149
153
159
156
161
170
161
178
157
169
173
176
174
153
148
176
175
164
22
15
12
10
10
13
17
21
24
28
32
36
41
45
51
49
51
54
56
56
56
56
54
57
55
56
61
63
61
61
59
60
59
61
61
60
59
59
57
55
53
52
48
46
42
44
49
55
64
68
80
84
92
97
98
100
97
98
98
93
87
78
72
65
63
60
54
52
51
51
53
52
54
53
56
63
60
62
68
69
69
62
69
75
66
97
130
127
137
118
121
132
147
126
110
109
144
151
125
161
161
140
148
166
155
150
113
136
126
120
121
109
121
136
138
125
133
152
134
150
144
100
123
99
148
144
122
110
96
100
90
97
96
94
99
101
99
105
97
98
105
115
111
111
131
109
137
98
102
102
95
93
83
94
93
84
78
73
70
68
68
68
137
126
85
61
58
58
58
58
57
57
57
54
51
51
48
50
44
43
48
45
39
39
34
36
36
34
34
30
38
38
49
43
45
50
53
58
59
64
65
66
68
70
69
71
73
75
79
80
83
91
100
104
103
106
104
110
114
114
121
127
131
131
134
135
137
141
140
140
133
130
126
127
125
120
117
109
102
102
98
93
89
92
92
91
91
92
93
95
97
98
93
94
94
94
93
87
83
86
80
77
75
74
75
79
86
105
120
122
118
111
117
132
121
123
124
125
124
142
139
129
161
158
145
170
168
154
158
160
171
177
171
170
159
164
173
171
170
27
19
16
14
15
18
26
30
36
37
39
46
49
53
59
62
64
62
62
59
57
55
52
50
53
52
53
49
47
48
51
53
54
55
55
53
52
50
50
51
49
47
47
45
41
39
47
56
59
67
76
83
87
91
94
94
93
94
96
92
86
79
68
62
56
53
51
51
49
49
48
46
47
47
50
53
54
54
59
60
61
61
56
58
63
68
75
71
92
85
119
130
108
143
94
121
95
125
156
142
139
148
99
112
134
114
83
82
85
73
68
88
76
86
129
106
93
140
115
122
127
99
80
109
121
124
92
103
84
84
87
89
85
89
88
88
92
92
90
90
97
96
100
96
108
91
100
92
90
95
96
94
100
86
91
88
84
74
72
66
63
61
62
55
100
92
120
64
58
57
59
57
55
55
52
52
52
51
49
47
47
47
46
43
43
38
35
35
32
36
38
37
43
47
47
51
52
56
60
61
64
67
70
73
75
75
74
73
77
80
84
92
102
104
105
108
112
111
115
118
124
133
136
137
139
140
144
145
147
145
141
138
136
136
132
122
118
113
108
111
100
99
91
96
92
92
94
96
99
104
103
102
99
99
98
98
96
92
88
86
87
85
82
85
85
90
102
102
118
125
119
121
120
134
123
116
128
129
129
129
136
147
161
155
147
167
180
151
154
156
165
161
170
162
157
171
174
167
165
28
20
21
16
21
25
33
37
42
43
49
54
58
62
68
71
71
70
68
64
61
59
55
51
50
49
46
43
42
42
44
47
50
50
51
51
49
47
47
46
46
44
42
41
38
36
42
49
56
65
69
76
81
85
90
91
87
88
87
83
78
71
65
61
52
50
47
45
46
44
43
42
43
43
46
48
51
52
54
54
53
52
52
53
56
65
68
78
80
75
92
115
106
101
110
90
101
112
127
144
90
134
154
118
123
101
89
71
60
59
56
53
48
58
86
58
66
67
59
75
70
78
69
71
91
112
88
83
92
83
95
92
91
83
83
83
85
84
86
86
86
91
96
97
98
95
92
136
95
94
94
93
91
96
98
135
81
77
66
71
62
58
50
52
53
53
105
61
90
102
84
57
60
57
51
58
55
56
54
53
52
51
51
49
49
49
46
46
44
45
43
46
48
47
50
52
55
58
60
63
63
65
67
70
73
72
72
72
76
81
80
88
101
103
105
105
105
110
113
120
127
136
137
139
143
143
150
146
144
142
140
138
136
136
129
123
117
116
111
105
100
98
98
100
96
97
98
103
104
105
107
108
115
106
104
97
95
95
90
90
87
91
93
94
95
103
110
115
115
128
115
115
124
127
120
121
125
121
119
124
144
144
163
157
155
165
168
156
161
182
179
172
182
168
172
169
159
159
162
31
25
23
21
25
35
38
42
48
51
56
64
70
76
79
79
78
74
73
68
62
61
58
52
52
48
47
41
38
37
39
42
42
45
46
46
46
44
43
43
43
41
37
34
33
34
33
42
45
52
65
68
69
73
75
77
79
81
81
76
71
68
64
59
55
46
45
42
45
44
43
41
40
40
42
44
45
47
47
50
49
51
51
53
52
62
65
66
64
68
71
99
97
90
82
130
96
93
134
148
164
128
100
105
109
109
78
68
61
60
52
49
51
60
47
54
58
51
51
58
57
62
66
80
74
104
85
83
81
88
90
85
93
92
92
90
89
85
88
92
101
109
114
114
108
117
96
98
91
94
92
89
89
90
88
74
100
78
103
88
63
60
54
51
52
52
52
53
92
60
53
96
68
59
61
61
58
57
56
56
59
58
60
58
54
58
61
61
58
57
54
54
55
55
53
55
56
55
57
59
62
66
67
67
67
67
66
67
68
77
75
82
96
103
99
103
104
106
113
119
125
128
134
139
140
143
142
137
136
140
141
140
140
134
132
126
116
112
108
103
102
102
98
102
97
101
103
107
109
106
113
119
122
112
109
106
98
92
95
93
91
89
100
98
106
116
117
115
110
120
115
124
125
120
117
116
125
124
132
124
141
145
160
161
148
151
168
162
161
168
172
181
169
173
168
172
169
169
169
37
32
33
37
37
45
46
49
59
64
69
76
80
84
86
87
83
78
76
71
66
63
61
57
53
51
47
42
39
36
39
40
41
42
43
44
43
41
43
39
39
35
34
31
29
26
25
33
39
46
50
55
61
65
68
72
74
76
74
71
66
65
62
56
54
46
44
42
44
44
43
41
40
38
39
45
47
48
48
50
52
55
53
52
52
55
57
60
63
66
72
86
80
85
77
82
120
87
89
128
167
145
106
94
89
79
81
67
61
56
50
46
56
48
50
56
51
52
51
57
59
56
63
69
77
77
82
84
90
91
94
86
92
91
94
94
101
107
118
132
139
144
144
140
126
120
93
92
131
92
89
92
89
90
88
84
109
83
113
126
95
64
60
55
54
54
56
53
53
57
59
71
81
58
60
61
94
94
66
64
64
66
67
68
71
70
69
71
70
72
72
69
68
66
62
63
59
53
55
58
61
62
62
63
60
59
59
61
63
63
68
74
86
95
100
99
99
101
106
107
107
114
117
116
125
130
128
125
126
134
134
134
134
131
132
128
116
111
108
108
115
114
114
120
123
125
123
125
124
121
119
113
116
114
110
107
101
98
93
91
92
95
100
104
113
121
118
121
111
116
117
120
118
122
117
128
130
136
136
130
139
131
153
149
153
162
162
151
173
180
166
167
170
178
170
173
159
164
173
43
40
41
41
41
46
50
54
59
67
74
83
87
89
91
92
90
82
76
72
67
65
61
59
58
52
48
43
39
37
39
39
40
41
41
39
39
37
38
38
36
33
30
25
21
22
20
24
28
32
41
47
55
60
63
65
67
68
69
68
66
62
57
52
49
46
43
43
44
44
43
40
39
39
41
43
47
49
50
52
52
53
53
54
59
60
61
61
61
66
72
74
75
83
79
83
90
99
91
90
105
138
131
80
80
71
87
59
59
51
48
47
47
48
49
49
49
51
51
54
60
62
65
80
75
75
81
82
81
81
84
88
89
90
97
118
134
148
162
165
163
160
156
143
128
95
100
89
95
99
87
93
90
93
92
85
82
80
106
68
109
103
68
63
59
56
54
53
57
59
59
62
62
63
62
65
97
82
68
68
70
70
70
77
79
80
87
91
94
92
90
86
80
75
73
67
65
55
52
56
55
55
55
55
54
54
54
54
55
60
60
60
71
77
89
97
96
98
98
95
96
95
95
102
111
111
111
117
113
117
117
118
118
118
121
114
114
118
123
122
120
129
135
140
141
138
137
140
137
137
129
126
116
117
114
111
103
99
96
94
95
100
106
112
118
123
122
122
112
115
116
117
121
118
122
122
126
136
142
125
141
134
157
150
144
155
177
159
176
178
169
175
171
177
161
161
161
167
174
49
44
46
43
43
47
51
57
63
68
74
84
91
93
93
94
94
84
80
76
68
67
68
66
62
56
51
44
41
38
38
38
40
39
37
37
37
37
35
34
32
29
28
23
18
18
18
18
21
24
35
42
48
54
56
60
62
64
65
65
62
59
56
53
49
45
43
42
44
42
40
40
40
42
43
44
54
55
59
62
59
62
62
61
66
65
67
65
63
66
72
75
75
79
81
82
86
88
86
89
87
115
93
90
79
69
70
65
55
51
49
49
49
47
49
51
51
54
55
56
60
62
68
68
71
71
77
81
83
82
83
89
100
117
132
150
165
174
174
172
169
170
165
151
128
95
92
85
87
86
103
79
83
83
83
80
79
80
79
77
75
78
130
71
63
65
62
59
57
61
60
59
61
61
60
62
64
67
68
79
78
82
80
82
85
95
99
101
100
99
95
93
92
84
78
74
68
64
57
52
54
52
50
51
52
51
50
50
51
53
54
54
55
59
63
73
79
81
77
76
79
81
79
82
86
90
92
95
100
102
105
102
104
106
108
108
107
112
108
113
127
138
133
136
140
140
144
141
141
140
139
138
131
122
115
106
106
107
103
97
98
101
98
105
116
122
122
122
118
118
123
118
121
120
124
121
128
138
137
139
168
162
148
151
142
148
158
170
174
171
168
174
165
167
171
167
156
166
170
51
46
45
43
44
49
51
54
62
67
74
80
85
90
93
93
92
83
77
73
70
69
68
66
61
55
48
43
37
35
37
35
40
40
38
36
34
37
32
33
32
27
21
19
16
15
15
17
18
21
29
36
42
49
53
55
57
60
60
60
59
57
53
53
50
47
44
44
44
43
40
39
40
42
47
52
56
61
66
68
68
68
70
71
72
73
76
70
69
68
71
77
76
80
83
82
84
86
87
86
85
91
92
75
75
67
61
57
52
50
48
51
49
50
52
54
56
58
59
58
56
61
62
64
69
75
77
82
93
106
117
127
134
152
164
172
174
170
169
169
170
170
167
145
111
81
78
105
83
82
78
80
81
82
81
78
75
75
76
75
74
72
66
63
145
62
95
78
63
61
60
60
61
61
58
62
64
78
65
72
75
81
82
88
97
100
104
108
107
104
98
97
97
94
87
81
75
69
63
57
50
52
50
48
49
49
48
47
45
48
50
52
52
55
58
61
63
65
66
66
69
77
75
75
75
77
82
85
90
92
96
95
97
100
101
101
99
101
103
114
125
126
127
132
136
138
138
140
137
136
137
139
136
126
110
104
100
102
106
100
93
92
94
98
112
120
119
121
120
104
118
120
124
123
123
122
131
141
139
135
166
163
161
154
167
159
164
170
173
173
166
176
167
172
165
166
162
167
171
50
44
40
43
43
47
49
53
63
66
69
75
78
79
81
80
80
75
73
71
69
70
69
64
61
55
45
37
34
34
41
41
45
43
42
42
39
39
32
30
25
24
19
17
17
15
15
17
18
19
26
31
35
46
50
53
53
56
57
56
54
52
52
50
48
47
46
45
44
42
42
39
41
43
50
58
61
68
72
72
72
74
78
80
80
81
83
77
70
72
72
78
81
83
85
88
90
90
90
87
83
81
79
74
70
64
60
53
51
48
45
46
51
55
54
56
63
67
67
65
64
65
63
62
62
69
79
90
103
117
134
156
158
160
160
162
162
162
164
161
163
163
149
120
82
70
71
72
68
78
73
75
79
77
75
76
75
75
77
73
74
72
66
68
66
66
154
65
66
63
57
57
55
55
55
55
61
63
65
69
76
82
87
93
97
105
110
112
113
108
104
102
99
94
91
86
78
73
66
60
50
51
50
47
45
45
45
45
45
46
49
51
53
53
56
57
61
61
61
60
63
64
66
66
72
77
82
85
86
86
85
88
91
94
90
91
93
94
101
114
118
126
133
131
137
137
139
139
141
138
136
134
134
129
108
96
94
91
93
93
90
85
85
93
94
103
112
115
115
95
117
117
125
120
124
123
127
139
142
133
151
165
162
158
166
159
157
160
171
172
167
175
167
160
165
164
165
160
162
44
37
38
40
38
44
49
53
62
66
68
71
71
72
73
72
69
67
66
66
68
65
65
60
57
51
42
37
35
35
39
41
41
42
41
39
40
38
35
35
21
21
20
17
16
16
16
17
20
22
24
26
28
33
40
44
48
52
54
54
53
49
48
47
45
46
46
45
44
42
42
39
40
48
53
67
70
73
72
73
74
78
81
84
86
87
89
86
87
86
86
89
98
101
101
104
104
98
93
87
80
73
71
69
65
62
59
54
48
46
45
44
44
52
58
65
68
69
72
73
74
69
68
70
69
75
93
116
135
146
148
150
151
154
155
153
155
154
150
147
145
136
116
84
65
65
63
65
67
62
69
69
71
72
74
76
76
76
76
77
71
71
71
71
70
70
68
66
74
72
63
62
54
53
55
54
54
62
63
68
79
83
89
94
102
107
113
116
116
112
107
105
103
98
93
89
85
70
66
60
50
52
52
49
47
45
45
45
45
46
49
53
54
57
57
58
60
60
58
57
58
59
60
58
62
65
69
71
74
77
79
82
79
79
82
86
92
93
101
108
115
124
130
132
138
141
142
147
147
143
144
137
127
120
100
97
93
91
89
89
84
80
83
84
86
87
95
95
97
106
103
115
120
122
125
122
127
133
142
135
144
155
151
156
162
174
170
166
171
164
170
180
173
164
165
158
153
162
162
37
35
36
34
36
41
44
50
54
57
59
62
62
64
64
59
57
58
58
58
60
60
58
57
53
48
42
37
35
36
39
43
50
52
51
47
46
43
41
44
40
24
21
19
18
19
17
18
19
21
24
26
28
33
35
39
46
48
50
49
49
49
46
45
45
45
44
44
43
40
39
39
40
48
54
67
74
78
78
79
79
82
87
89
94
97
101
105
103
103
105
112
114
119
120
117
110
101
94
85
76
70
66
63
62
60
54
53
47
45
45
44
44
51
61
70
71
78
76
76
77
75
72
70
89
109
127
144
149
152
151
151
150
151
152
150
148
141
140
140
130
112
82
61
60
60
61
61
60
61
66
69
70
69
71
73
75
72
73
75
75
74
71
71
72
74
74
70
67
67
61
79
68
58
54
52
53
56
64
66
72
84
93
95
102
110
114
118
115
115
113
107
102
98
96
92
82
72
67
62
52
52
52
52
50
48
48
48
48
46
53
59
61
63
63
63
63
61
62
62
61
59
55
52
54
59
61
61
64
66
70
72
74
79
83
85
91
91
98
111
113
114
126
134
141
146
146
146
145
148
136
132
134
130
116
107
102
97
96
96
89
83
78
78
78
77
78
75
78
83
100
121
121
122
127
127
136
143
137
142
140
142
158
164
155
159
174
161
166
158
162
172
163
166
165
153
151
155
153
25
26
26
27
29
36
41
47
51
50
50
52
52
53
50
52
52
50
51
51
53
55
55
53
51
46
45
42
42
42
46
50
54
54
52
52
53
55
54
50
46
50
38
34
26
25
23
17
21
22
27
27
29
34
37
39
42
43
45
47
50
50
47
45
45
45
43
43
43
41
41
39
41
46
56
65
74
79
81
81
88
90
95
103
107
112
118
118
115
120
126
123
125
127
124
121
111
103
93
80
71
66
61
59
59
54
52
52
46
46
46
47
50
52
59
66
77
81
83
79
78
78
77
94
119
143
163
159
158
156
154
151
151
150
148
146
142
136
133
130
112
88
59
51
51
53
56
56
56
59
57
74
65
64
66
67
66
77
74
74
78
76
77
77
77
79
76
75
69
66
62
60
60
55
57
67
51
61
70
68
72
78
89
95
101
105
106
110
113
113
111
104
103
101
97
88
77
73
71
66
60
60
60
55
57
53
52
53
53
56
59
63
64
66
66
67
67
67
64
64
62
60
58
55
54
61
61
64
69
72
71
71
72
74
80
82
83
90
93
113
124
130
143
147
154
156
154
140
132
127
123
120
115
115
115
114
116
121
118
113
111
99
93
90
89
86
81
78
75
77
101
121
120
120
131
117
134
140
135
132
146
166
161
152
169
149
162
161
157
162
164
170
171
160
165
164
165
154
155
16
20
21
22
27
34
38
42
45
47
48
49
47
48
45
46
46
47
48
48
46
46
48
47
48
48
48
45
48
53
58
60
60
61
62
63
64
64
66
65
66
66
56
51
41
37
31
23
25
26
27
27
29
31
33
35
39
41
42
43
45
45
46
45
45
45
43
43
43
41
41
41
43
45
55
67
76
82
88
94
99
103
108
115
125
127
127
128
125
123
121
119
119
113
108
103
91
87
80
71
69
66
61
59
56
52
51
50
47
47
49
51
50
52
55
67
72
72
75
76
73
76
102
131
155
171
165
161
161
157
156
155
153
152
144
141
137
133
125
108
81
58
44
47
49
51
52
54
54
57
58
58
65
72
66
72
69
71
77
79
80
80
81
81
81
82
82
75
68
62
61
58
58
55
52
51
50
53
59
62
65
72
80
89
95
96
101
105
109
107
105
101
98
93
91
84
82
77
70
69
64
64
64
64
62
60
60
57
57
60
65
67
70
72
72
70
70
70
68
66
67
65
64
63
61
60
60
63
65
67
69
68
67
68
71
76
88
101
114
126
142
154
155
158
154
148
141
134
132
129
127
128
126
126
125
126
126
124
128
126
125
126
123
121
120
115
108
99
95
89
102
127
123
118
125
123
138
140
158
133
145
151
156
153
154
164
179
159
168
174
171
169
168
168
165
155
150
148
161
15
15
17
18
22
26
34
37
42
44
47
48
48
48
47
46
47
47
46
44
45
45
45
51
53
54
54
57
58
62
66
68
72
72
74
77
76
77
80
84
84
76
65
58
50
44
39
35
33
29
33
32
32
35
37
40
40
40
42
43
43
43
45
45
45
46
43
43
43
42
42
43
46
49
56
64
77
90
98
105
115
124
125
127
131
129
128
120
117
116
114
111
106
98
95
89
81
79
73
71
69
66
65
62
59
57
54
53
50
49
52
52
54
51
54
60
66
69
68
73
79
107
138
164
177
170
167
165
162
160
159
156
156
146
143
136
135
126
111
77
55
37
38
41
43
46
49
51
53
53
58
60
59
61
66
83
70
69
73
74
78
81
78
78
77
80
80
75
69
65
61
58
56
54
53
52
51
53
56
66
70
74
79
81
85
92
99
101
103
101
99
98
96
92
87
85
81
77
79
79
76
76
76
74
69
67
68
67
67
66
67
68
73
77
79
77
77
79
78
76
76
74
73
72
68
67
66
62
70
70
72
72
69
77
89
103
120
129
143
154
164
165
160
155
147
142
140
140
137
135
135
136
136
136
137
138
138
141
141
137
134
131
126
129
124
120
112
102
93
86
99
123
123
124
122
122
136
147
151
133
142
133
167
161
155
165
176
165
156
161
170
170
170
162
154
156
151
154
155
15
15
15
15
20
28
33
36
40
47
48
47
46
46
47
46
47
50
50
50
50
52
54
51
53
57
61
66
65
71
73
75
76
78
80
91
93
95
101
99
98
88
76
68
60
50
47
45
39
33
37
36
36
35
37
38
40
39
40
42
43
45
44
45
45
45
43
43
43
45
47
48
51
53
57
73
85
100
113
125
129
128
128
129
121
117
115
111
110
107
102
97
93
88
83
79
76
74
72
69
67
66
65
62
60
60
57
55
54
51
51
53
53
53
55
59
63
66
71
84
114
146
171
180
178
173
169
169
166
162
165
159
156
154
148
142
126
108
82
50
34
35
38
37
43
46
48
50
52
53
56
58
58
59
61
65
71
73
83
79
74
79
78
78
77
77
74
70
65
63
62
58
56
51
52
53
54
56
62
67
70
74
79
82
86
92
98
100
93
93
89
86
82
82
85
81
76
78
76
78
80
79
77
74
72
67
70
71
71
72
73
75
77
77
79
79
82
80
79
78
77
81
80
79
77
73
69
65
71
75
80
91
101
112
125
139
156
165
167
167
163
161
157
154
150
147
146
146
147
147
147
149
150
150
149
145
145
139
132
126
120
111
106
101
94
90
80
76
68
65
79
120
123
123
120
131
137
132
137
121
142
183
170
165
154
163
173
168
162
162
172
172
162
159
167
167
159
158
155
18
20
23
28
32
36
41
45
50
48
53
51
49
47
49
51
52
55
56
54
57
56
58
59
57
58
63
66
69
75
80
82
84
87
93
96
105
113
111
107
103
92
86
78
68
62
57
55
54
48
44
43
43
42
39
38
37
35
35
38
41
41
43
42
44
45
44
44
42
47
48
52
54
64
72
86
96
112
120
124
127
129
124
119
113
110
107
105
102
98
92
91
83
78
74
72
71
71
68
66
66
65
65
64
64
62
60
56
56
54
52
53
52
50
53
55
59
63
89
121
149
171
177
176
175
172
171
171
170
171
163
162
164
160
156
139
113
83
48
36
34
37
39
42
42
46
50
52
52
54
56
58
59
61
61
63
66
66
70
73
76
77
77
76
76
75
74
67
67
64
61
56
54
49
48
51
55
60
67
71
72
76
82
83
91
91
91
92
81
81
81
75
76
71
71
72
70
77
78
79
82
84
81
78
76
78
81
81
82
80
79
79
82
77
81
85
81
83
81
83
90
92
93
89
88
77
78
84
94
106
117
129
138
152
160
167
167
165
163
160
158
154
153
150
150
151
152
152
153
155
152
151
147
143
138
136
124
110
101
85
82
69
64
61
57
55
55
53
51
50
66
110
122
120
124
133
136
133
129
120
146
151
148
164
167
164
179
161
149
171
170
154
161
162
169
162
151
156
154
20
23
30
37
40
45
48
52
57
58
60
60
59
57
57
58
57
58
60
58
62
64
64
65
62
64
67
70
72
78
83
89
95
99
106
112
118
127
124
120
116
106
97
91
79
73
67
62
60
57
51
52
47
41
42
40
36
35
35
38
40
40
42
42
42
43
43
43
45
49
50
63
70
81
92
105
115
123
128
127
126
121
116
110
105
105
104
100
94
93
87
81
75
68
66
69
68
68
68
66
66
68
66
66
63
63
60
59
56
56
51
53
50
45
47
47
53
79
116
145
167
170
174
174
173
173
173
173
175
170
170
172
174
166
155
130
85
53
41
41
36
39
39
43
42
49
51
52
52
53
56
56
58
61
61
61
60
63
64
66
68
71
71
68
68
69
68
68
66
64
60
56
51
48
48
51
55
60
65
72
74
79
85
92
94
93
83
74
62
62
63
63
64
62
61
60
68
67
69
74
73
77
81
82
83
83
85
87
87
83
84
84
84
89
84
83
79
93
104
114
119
124
126
126
129
127
130
135
141
145
149
156
156
158
156
154
151
150
152
153
154
152
150
149
149
148
142
140
141
138
136
132
129
118
107
92
80
72
71
68
69
68
62
64
60
59
57
56
56
56
64
107
125
123
128
124
135
129
137
128
138
140
162
157
167
163
167
157
152
168
170
161
160
167
170
163
152
154
157
30
32
36
43
47
50
53
60
63
66
68
70
71
73
71
68
67
65
68
65
69
70
70
71
69
68
70
73
76
80
90
95
103
109
116
122
129
132
126
125
122
111
108
101
90
83
77
74
73
70
62
61
58
53
48
44
41
35
32
36
40
40
41
42
42
44
42
44
50
63
73
81
92
105
114
123
126
128
126
121
116
111
107
103
101
98
94
92
88
84
75
72
70
68
66
66
66
66
68
67
67
64
67
66
65
63
63
60
62
60
57
51
49
45
44
42
55
112
142
160
166
170
173
173
175
176
177
178
177
177
177
177
169
154
125
80
55
42
41
41
45
41
37
42
46
47
54
54
54
54
55
55
55
57
57
57
60
62
61
62
65
65
63
61
66
65
66
61
63
63
57
54
50
47
44
51
54
56
64
69
75
77
99
105
102
90
77
66
64
68
69
71
78
76
75
77
79
80
85
89
93
90
90
90
89
89
88
91
90
87
85
84
85
91
91
101
112
130
148
159
166
169
168
168
171
171
172
168
161
161
152
137
121
116
113
116
119
121
123
123
122
122
122
124
123
121
119
115
112
105
103
95
93
90
86
81
76
75
73
71
67
66
66
65
61
61
59
56
54
53
64
111
124
125
120
126
131
130
131
138
145
145
157
152
156
159
162
148
155
162
172
159
165
168
162
159
151
152
154
34
40
43
48
52
56
64
65
67
74
78
82
83
83
81
78
79
81
79
77
75
77
77
74
73
71
72
72
75
84
89
98
113
121
117
125
132
136
131
131
122
119
115
112
101
98
93
89
84
79
71
68
62
59
53
53
49
45
40
36
39
39
40
40
40
42
49
56
68
83
91
102
113
122
127
125
124
121
118
113
109
106
103
100
95
95
93
88
77
73
66
66
65
66
62
62
64
64
67
67
69
69
67
67
65
64
64
61
57
55
54
53
49
44
42
45
80
130
157
166
168
174
176
176
179
177
178
174
175
172
172
168
151
118
75
55
52
48
43
43
46
44
41
42
45
46
53
53
53
52
54
54
53
53
53
54
55
57
57
57
63
68
69
67
67
63
57
56
54
54
52
51
48
44
44
51
53
55
62
68
72
96
116
117
111
101
78
79
84
88
95
100
94
94
90
95
92
94
97
95
91
90
90
93
91
91
92
90
90
90
88
89
89
93
108
126
146
162
177
180
178
177
176
177
176
173
165
155
143
118
96
72
70
68
67
68
73
78
81
86
88
90
93
90
93
94
93
94
92
95
94
93
92
89
85
82
78
76
72
69
67
65
62
62
57
56
55
51
50
50
65
108
124
125
121
130
131
145
146
142
148
165
147
158
159
163
168
154
164
167
169
167
171
166
162
154
140
155
153
39
44
49
53
53
59
63
67
74
79
83
88
87
85
87
87
89
89
89
89
85
79
80
78
76
74
72
76
77
84
92
96
105
113
121
125
129
133
133
130
127
122
118
115
111
108
108
98
91
84
82
78
73
64
60
59
58
52
49
40
40
39
42
41
44
54
74
86
97
109
118
125
130
128
126
126
122
115
112
107
105
104
96
96
95
95
90
81
74
65
62
62
63
60
61
60
60
61
65
68
69
68
68
67
63
66
66
63
62
60
54
53
50
47
42
71
115
158
169
169
172
174
177
178
177
177
171
165
163
161
154
140
114
74
62
62
57
52
50
47
48
47
44
42
46
49
50
52
52
52
52
49
49
48
48
48
50
50
51
53
62
74
77
84
88
74
60
49
50
47
47
43
41
40
43
47
52
53
59
73
98
123
142
151
152
135
128
132
130
130
128
126
119
110
107
104
103
101
99
96
97
97
95
95
93
92
93
91
90
92
94
102
112
126
138
158
171
175
173
170
168
164
159
154
148
138
121
93
71
63
64
65
63
63
63
64
65
65
68
70
71
75
78
81
86
88
88
90
92
93
92
91
92
87
84
81
78
75
73
70
68
65
62
58
59
57
55
53
48
45
54
96
124
125
131
132
143
146
144
128
147
152
151
162
167
169
165
159
163
160
165
167
175
168
158
155
157
159
155
44
49
55
56
58
59
64
68
75
79
83
86
88
88
90
90
89
93
93
94
90
88
82
80
77
75
76
80
83
87
90
95
103
107
111
112
117
121
124
126
125
124
121
119
113
113
114
101
97
93
88
84
78
74
69
62
63
62
57
47
40
41
44
55
71
83
101
114
122
130
135
132
128
128
125
122
117
112
107
105
102
98
104
101
100
99
90
81
73
66
63
57
58
58
58
59
61
60
63
68
69
70
72
71
68
67
67
63
63
62
61
56
53
48
58
102
141
167
169
171
173
177
176
175
172
164
160
153
151
142
125
106
89
78
75
77
74
67
62
56
56
50
47
43
45
47
50
46
46
47
47
47
45
46
46
45
44
44
45
49
55
67
79
92
97
91
73
60
48
44
43
40
34
36
41
43
49
56
63
92
119
144
167
175
165
158
157
153
150
147
142
139
134
132
132
131
129
129
124
120
117
117
112
110
107
103
100
94
94
101
113
125
139
149
161
166
165
154
146
145
141
135
127
116
96
80
67
62
59
58
58
58
58
58
59
63
64
64
66
68
70
77
77
81
85
86
88
90
92
93
92
90
87
85
79
79
76
73
69
66
67
64
63
57
55
52
53
47
45
41
49
89
130
124
129
124
142
155
147
151
137
158
147
163
161
162
157
153
161
170
168
166
168
163
161
162
161
157
158
49
53
58
62
62
63
64
68
74
78
82
86
86
88
88
93
91
93
94
92
89
87
83
80
79
79
77
78
86
88
89
91
100
101
104
106
105
107
111
116
118
122
120
118
108
106
107
99
97
97
97
88
85
79
76
71
66
68
64
55
45
53
66
87
99
112
127
135
140
137
134
130
128
125
122
117
112
108
107
103
103
106
103
104
101
90
83
79
75
69
58
56
55
53
56
58
61
60
63
65
69
71
75
70
68
65
65
66
65
65
65
64
60
56
81
127
160
175
173
175
174
176
175
170
162
156
153
146
139
127
108
89
89
91
93
94
85
77
73
75
74
67
56
55
59
58
60
49
40
42
43
44
43
40
41
43
43
43
45
50
56
59
71
85
94
92
81
69
54
48
41
35
33
32
37
44
47
56
87
121
151
174
184
179
174
169
167
162
159
154
152
150
149
147
145
145
145
143
140
138
135
132
130
128
122
121
117
115
115
119
124
137
148
153
148
137
130
118
109
101
96
85
75
73
67
66
62
56
59
57
56
55
55
55
56
58
61
62
64
64
73
75
76
81
84
85
89
91
93
92
92
88
85
81
80
78
76
69
69
64
60
58
57
55
54
51
48
46
42
39
42
80
130
125
128
121
139
147
149
137
145
164
152
156
155
170
156
162
178
170
168
171
173
168
158
159
151
151
156
47
52
58
62
66
70
71
74
75
80
87
84
82
85
84
88
90
93
91
91
91
92
90
87
82
82
80
78
80
84
87
91
96
99
96
96
97
105
108
109
112
117
113
111
102
103
104
100
100
102
95
95
92
81
80
75
69
70
66
62
66
79
98
116
128
136
144
144
140
135
132
130
126
124
119
116
111
106
103
108
110
110
113
109
99
88
80
78
75
68
60
51
50
51
54
58
61
60
64
66
67
70
70
71
70
70
70
71
76
75
74
72
67
67
107
145
172
176
177
177
181
178
172
163
158
152
145
138
123
109
99
95
102
101
93
92
95
97
95
91
84
76
69
63
67
75
71
63
41
40
39
40
42
38
41
41
44
51
57
60
60
57
53
66
74
77
73
67
59
52
43
37
35
33
34
44
48
74
113
150
175
187
184
178
175
173
169
165
161
160
158
156
154
152
150
149
149
147
145
143
141
141
139
138
138
137
135
132
131
136
138
135
122
111
101
93
86
83
80
78
74
72
70
67
65
62
59
55
53
51
51
51
51
53
52
55
58
61
63
63
65
69
73
78
83
90
92
94
93
93
91
86
85
83
81
77
70
66
62
58
56
53
52
49
47
45
42
38
34
34
36
69
116
127
127
130
140
140
154
111
138
155
146
163
159
157
156
154
165
170
167
165
165
175
162
158
157
152
152
39
43
49
53
55
62
64
65
69
73
76
81
80
78
77
83
81
82
85
85
86
92
87
85
84
85
83
83
85
86
86
88
89
92
93
94
94
102
104
108
110
116
107
104
100
99
101
101
99
101
99
98
97
91
84
77
72
71
74
82
97
112
126
139
144
149
145
141
137
134
132
128
123
118
117
114
110
107
113
116
116
115
123
119
98
89
82
75
73
68
61
53
48
48
53
57
61
62
65
66
69
70
72
74
77
75
79
78
79
80
79
74
72
82
131
159
176
178
179
178
180
177
171
165
157
150
145
131
109
92
90
96
105
107
105
105
103
97
93
90
91
85
74
69
62
67
78
72
58
39
40
40
40
40
39
45
57
67
71
74
74
54
43
51
54
53
56
62
59
58
52
47
44
45
42
44
60
93
139
170
183
184
179
174
170
166
165
163
160
159
157
156
156
154
153
153
151
149
146
144
145
144
142
141
142
140
140
139
137
135
131
126
121
114
108
102
96
89
82
80
78
73
70
67
63
65
60
54
52
49
47
48
46
48
50
52
54
57
61
62
64
71
75
82
87
93
95
95
95
93
89
84
83
78
76
71
66
61
56
51
48
46
45
43
44
42
37
34
34
32
27
50
112
119
121
113
125
139
133
123
136
141
150
174
162
165
169
165
170
166
172
164
155
164
164
158
157
163
154
36
40
43
44
46
54
59
61
62
65
76
80
78
78
76
79
78
80
79
81
85
90
90
88
89
90
94
92
91
91
90
89
89
92
94
96
95
101
102
102
102
109
105
101
99
94
95
99
101
101
102
98
99
93
86
81
74
80
91
107
121
133
145
153
153
151
145
139
137
133
128
124
121
117
114
110
110
113
117
120
121
127
128
114
100
90
81
77
69
65
57
50
47
50
53
56
61
62
66
69
69
73
73
80
81
83
86
84
85
85
84
80
78
97
142
171
180
182
182
180
180
177
174
172
162
151
141
111
82
83
93
99
103
113
111
110
110
104
99
95
92
92
84
74
71
61
71
82
76
63
48
50
52
54
56
72
75
79
84
75
58
43
32
36
40
45
46
53
53
55
57
56
55
55
53
60
86
122
159
178
178
170
165
162
160
157
157
155
153
153
153
153
152
152
152
152
152
149
149
149
147
146
146
143
143
141
138
140
140
139
141
140
138
135
132
125
117
110
100
95
86
79
74
70
65
64
59
53
53
51
48
45
45
45
47
52
53
57
60
64
68
75
78
85
94
95
98
97
96
93
89
85
78
77
74
66
60
56
54
46
43
39
38
35
36
33
32
26
26
25
25
38
89
127
127
119
122
143
143
124
145
156
152
167
167
162
172
151
169
159
169
159
164
162
157
159
163
156
150
36
38
43
47
49
52
53
56
61
68
70
73
76
81
77
77
77
77
80
83
88
92
94
93
94
98
104
105
109
106
102
98
94
94
92
92
92
100
102
102
100
100
100
98
96
97
95
96
97
97
94
97
96
90
85
79
84
98
108
128
137
150
154
153
150
144
143
138
134
130
127
122
118
114
110
110
113
115
117
119
129
129
118
108
103
89
78
77
69
61
56
50
48
50
53
57
63
66
67
69
71
75
76
80
82
83
86
86
87
85
86
87
89
111
156
178
185
184
186
184
185
182
182
173
159
140
112
80
75
88
95
100
104
108
111
114
118
113
103
100
96
99
102
96
92
91
85
99
105
96
77
75
76
75
92
91
84
84
77
54
46
52
47
44
46
44
44
44
43
49
48
51
55
60
61
81
107
140
172
178
173
165
160
158
158
155
154
154
153
151
149
149
148
148
146
146
146
146
144
146
146
145
145
145
144
142
142
141
141
144
142
142
142
143
140
139
134
132
127
119
112
99
91
79
70
66
58
55
53
51
47
46
46
45
46
47
52
57
61
66
72
76
84
91
95
99
98
98
97
93
90
87
81
75
69
67
57
48
45
41
40
37
33
32
29
27
25
22
22
22
24
30
75
122
127
132
148
147
140
125
155
154
145
169
155
167
153
158
163
175
170
159
156
161
163
159
164
155
153
42
42
46
49
57
55
57
58
60
61
69
73
75
73
75
73
74
80
85
88
95
95
98
101
109
112
118
118
118
116
115
112
107
102
102
97
92
97
98
97
97
97
98
94
95
93
90
91
94
93
91
91
90
84
82
84
98
112
124
141
147
153
150
149
145
142
140
135
130
129
125
121
115
113
113
112
113
113
117
128
127
118
112
107
103
92
77
74
65
62
56
48
52
52
53
57
62
62
65
68
72
76
79
80
83
82
83
88
88
86
89
89
89
119
164
183
190
186
185
185
186
187
179
159
121
92
75
71
73
84
96
103
104
109
113
111
113
114
116
117
116
121
132
135
137
133
127
125
129
126
113
89
88
92
91
80
82
76
54
50
52
63
71
58
49
47
47
45
44
44
44
45
48
52
52
68
98
130
155
153
155
155
157
159
160
160
162
162
158
155
153
152
152
148
147
143
141
141
142
144
146
143
143
143
142
140
141
142
143
143
141
141
140
137
135
135
138
136
134
134
130
121
113
99
85
76
65
61
55
52
51
48
48
49
51
52
57
61
65
70
77
81
89
93
97
95
99
97
98
93
91
86
81
75
68
64
54
47
43
40
38
33
31
29
28
25
25
22
22
22
24
30
68
130
130
121
147
157
157
141
166
140
149
169
169
167
162
157
169
169
172
169
168
164
159
156
148
156
159
33
36
43
49
51
52
56
56
58
64
69
68
70
72
73
73
74
81
85
90
94
97
103
108
115
122
128
125
126
127
124
120
115
113
110
103
102
110
121
130
135
130
114
103
93
90
90
84
87
86
84
80
78
77
78
92
108
122
132
146
146
146
145
144
143
139
136
132
130
128
123
116
118
117
115
114
113
112
119
123
113
106
102
106
102
85
74
71
64
56
49
47
48
50
51
56
59
61
63
68
70
75
74
76
80
79
81
88
89
91
89
87
86
115
166
184
188
186
187
191
187
172
144
100
67
61
67
71
77
78
86
96
105
121
128
127
134
138
140
141
142
144
145
148
149
145
136
135
128
109
81
59
57
65
69
69
59
50
53
47
63
85
90
63
48
49
49
48
48
48
47
43
45
49
49
50
66
85
98
109
118
125
131
138
149
153
156
160
160
161
161
158
157
153
151
147
144
143
144
146
146
145
145
144
142
140
140
143
139
137
136
136
135
135
133
131
132
130
128
127
127
128
124
121
111
99
85
75
68
62
59
59
59
59
59
60
61
65
69
74
78
83
88
94
96
95
98
96
94
89
87
82
78
72
69
62
52
46
40
39
37
32
30
28
24
22
22
22
22
23
23
32
64
130
135
132
148
156
160
146
157
134
158
165
157
160
157
161
157
163
182
161
170
148
153
153
146
158
155
31
38
45
51
50
53
54
54
54
64
68
71
72
72
74
76
80
79
82
88
95
102
102
116
125
126
130
132
132
131
128
121
118
120
125
133
141
145
158
161
168
165
139
110
79
80
82
77
76
73
71
67
67
77
86
102
119
131
136
141
142
142
140
140
138
136
134
133
130
126
122
123
124
124
116
109
109
115
115
105
100
99
100
101
92
76
67
68
62
55
50
48
48
49
51
53
57
59
60
63
65
70
72
74
74
76
78
85
91
94
92
92
91
119
168
184
187
188
192
187
169
125
74
64
63
65
71
78
80
78
85
94
99
113
121
127
132
138
141
140
136
132
125
117
107
90
72
65
66
61
47
34
46
63
64
58
53
58
57
57
86
110
100
53
49
50
54
57
57
54
54
49
48
48
57
66
71
72
73
68
65
73
85
93
104
118
125
134
141
146
148
149
147
147
144
147
146
147
147
149
152
151
151
149
145
145
145
143
138
135
136
134
132
130
126
124
121
120
118
118
120
120
119
119
120
116
108
97
91
80
71
65
63
65
64
65
69
69
73
78
79
81
88
97
102
97
99
95
91
85
84
81
76
70
66
54
46
41
39
36
36
32
30
27
23
23
23
23
23
25
24
36
72
127
130
131
142
152
163
133
154
162
156
164
156
164
154
180
163
185
182
145
154
148
154
155
157
155
156
38
44
50
50
52
54
53
53
58
64
68
76
76
80
77
76
78
79
80
84
96
104
106
119
119
122
130
134
134
132
132
137
142
146
151
162
170
172
176
178
176
165
137
98
68
69
67
68
68
66
61
64
68
88
100
112
129
135
135
135
135
139
138
136
133
134
133
132
129
128
130
131
130
121
108
104
108
112
99
93
93
92
93
91
77
70
68
64
55
51
47
47
47
49
50
51
55
57
60
62
64
68
74
75
76
79
84
89
95
102
101
104
102
126
170
184
191
192
188
167
131
71
66
64
64
79
91
90
75
67
63
64
76
77
78
80
90
94
95
104
109
114
119
113
93
57
50
56
71
77
69
55
51
59
68
74
67
70
74
82
94
102
65
55
61
65
69
75
73
71
70
66
64
63
66
76
79
88
87
79
69
61
53
54
59
64
73
81
89
96
105
112
114
120
127
132
135
141
144
144
145
148
146
145
143
144
143
143
139
138
135
133
129
126
122
119
117
113
112
116
114
112
109
109
109
108
108
107
101
94
80
71
65
62
63
65
65
64
66
68
74
79
83
91
95
95
100
97
93
90
85
81
75
68
61
53
47
43
40
37
34
32
30
28
24
22
23
25
25
25
25
34
73
131
132
139
143
146
161
131
148
140
164
154
163
162
166
179
173
173
183
177
166
161
161
159
160
160
154
46
49
51
54
56
54
54
53
53
62
68
81
82
81
80
81
82
83
86
87
99
108
115
119
118
125
131
138
147
153
158
161
161
167
170
178
178
175
173
173
167
151
124
89
60
60
60
61
60
63
68
74
86
106
115
125
129
130
130
130
133
134
135
135
137
137
135
134
133
135
137
135
126
113
103
97
91
81
83
83
80
79
78
71
72
67
65
58
53
50
48
46
47
46
47
52
52
55
60
64
67
68
74
80
81
84
83
84
85
83
80
77
76
112
165
183
192
188
174
142
93
70
71
77
99
107
107
87
75
63
67
71
74
79
86
87
92
102
102
107
113
135
141
124
83
34
41
48
60
83
93
87
70
62
69
73
78
79
90
87
83
75
83
90
95
93
91
93
85
79
78
78
76
73
72
70
72
71
72
73
75
76
74
74
73
74
72
71
72
73
74
75
78
83
91
104
115
118
122
119
108
112
106
108
109
109
110
106
104
107
109
109
110
110
107
107
110
107
107
106
104
102
100
100
97
97
95
89
88
81
72
64
59
57
56
58
58
62
59
61
62
62
63
73
80
83
88
88
87
86
83
77
69
62
55
50
43
43
40
36
34
32
30
28
25
25
23
25
25
25
26
35
80
141
136
135
154
152
161
147
144
158
166
165
158
160
153
161
168
165
166
173
192
174
168
168
172
164
158
53
59
60
59
59
57
52
54
55
63
70
78
78
78
82
84
88
88
94
98
102
107
107
112
118
121
141
151
162
166
166
165
167
167
170
173
173
172
170
167
165
142
111
75
56
54
54
56
56
68
80
89
104
116
127
127
125
125
125
130
131
134
135
135
138
138
136
139
139
141
140
132
116
101
89
71
64
59
62
64
61
62
62
61
61
61
58
52
50
48
48
48
46
44
50
53
61
64
66
68
71
77
81
82
78
76
74
75
75
76
75
75
76
98
160
183
191
180
159
121
86
82
95
116
128
129
115
69
52
61
64
69
70
73
77
81
90
99
103
117
137
154
151
122
53
20
35
42
54
72
85
88
69
66
61
68
77
83
104
109
90
80
83
92
97
93
91
85
78
74
72
69
68
65
61
62
63
63
63
66
67
69
69
74
73
73
72
71
73
73
75
78
81
81
86
95
104
104
98
69
51
53
38
39
38
39
41
44
47
55
62
66
71
74
78
82
84
88
87
86
83
82
80
80
79
75
69
64
59
54
49
47
49
48
51
49
52
63
79
97
107
100
77
57
60
63
70
73
71
76
75
71
66
64
59
52
48
44
40
36
33
30
29
27
27
27
25
25
25
25
26
33
68
137
141
138
149
159
144
142
140
142
156
169
159
153
154
159
157
167
179
161
166
149
168
162
162
158
156
57
57
58
57
56
55
49
47
56
60
68
70
72
78
81
84
85
96
97
102
106
106
102
109
126
146
155
159
168
168
167
167
168
164
169
167
170
166
164
167
157
125
95
66
56
56
54
55
64
74
92
103
114
122
123
123
121
124
125
127
128
132
134
136
137
138
141
142
143
143
134
121
99
79
63
42
39
39
43
45
45
46
51
53
53
53
53
51
52
52
51
51
49
66
80
87
92
88
84
81
79
77
75
75
74
76
79
79
74
78
75
73
72
77
136
172
181
168
142
107
100
116
123
127
129
102
57
51
45
49
61
64
65
70
75
78
87
98
125
149
167
173
155
102
37
21
32
41
58
68
73
70
67
66
61
62
65
85
103
96
61
68
72
84
89
85
79
74
67
63
58
57
55
54
53
54
52
52
54
59
61
63
62
63
64
64
65
65
66
67
69
67
69
73
77
85
93
90
77
59
49
43
32
30
28
28
31
34
37
42
41
44
47
51
53
56
59
61
63
62
60
58
57
57
55
53
51
48
48
47
47
47
47
48
47
56
81
109
143
169
180
171
148
85
53
52
55
55
56
60
59
60
59
58
57
54
53
50
46
44
39
37
32
30
29
27
27
23
23
25
26
30
59
141
132
138
149
145
145
154
144
154
157
158
164
160
165
175
166
181
184
178
164
153
170
163
161
161
154
57
59
56
54
53
51
48
46
54
54
61
68
74
77
79
79
86
93
100
105
103
108
123
138
146
157
169
172
171
165
165
163
165
164
162
161
159
161
165
159
137
101
74
58
57
54
55
61
70
84
97
112
117
118
120
120
121
120
122
126
128
134
136
134
138
140
144
143
140
132
120
101
83
61
45
38
36
37
39
40
44
47
50
53
52
52
51
55
60
72
86
85
90
105
122
131
127
116
100
90
85
74
68
59
58
60
61
61
58
57
57
59
56
56
103
153
170
160
133
118
114
118
117
103
58
48
49
49
49
53
56
59
70
74
81
82
93
115
139
165
175
171
139
84
32
25
31
33
55
70
74
67
69
75
70
61
54
76
78
64
41
43
48
66
68
66
59
52
49
46
44
38
39
41
42
43
43
43
44
49
52
52
54
53
55
54
51
54
56
60
60
61
62
63
62
66
65
62
58
53
51
46
40
37
38
38
40
41
44
46
47
50
53
56
60
61
60
60
61
64
61
60
58
58
58
58
58
56
55
55
54
56
52
58
77
106
147
179
197
204
209
202
184
132
64
53
53
53
52
52
52
52
53
53
52
53
52
53
51
50
46
43
40
34
28
25
25
23
26
24
25
30
56
150
140
146
151
150
158
147
144
130
163
161
160
156
164
165
165
180
178
168
148
157
163
161
160
155
151
58
62
57
56
52
49
46
46
49
52
54
67
67
68
74
77
81
90
95
109
118
124
134
153
162
172
173
173
171
163
161
163
158
157
152
151
152
156
154
138
106
74
55
55
55
58
58
67
80
90
107
114
114
114
117
117
117
118
119
124
130
130
132
135
136
138
142
140
130
113
95
77
54
42
40
36
36
36
39
40
43
51
50
52
52
54
54
54
81
127
147
140
130
125
131
134
135
138
138
131
123
112
104
94
79
65
55
53
54
53
48
47
44
42
74
129
160
151
145
129
122
101
59
46
46
43
46
46
49
59
65
71
75
81
77
79
102
135
158
175
170
156
122
66
27
30
36
46
74
79
78
49
52
64
66
51
43
69
86
55
39
27
26
38
38
36
36
34
32
32
33
31
32
32
34
34
36
35
38
42
46
46
45
45
45
45
46
48
48
51
51
53
54
54
52
54
51
47
43
44
42
43
44
39
43
43
44
43
45
49
51
53
57
58
60
61
64
66
66
63
63
60
59
59
59
60
58
58
61
59
60
61
73
102
135
173
199
207
207
207
209
206
196
146
63
51
49
47
46
46
46
45
45
45
45
46
50
52
55
54
53
50
46
42
37
32
30
26
26
28
28
32
54
137
141
140
148
153
152
151
143
142
156
155
161
161
182
176
164
177
159
164
147
158
159
161
157
158
154
54
57
57
54
51
49
47
45
47
48
52
63
64
63
68
71
80
96
105
115
128
138
148
162
163
165
164
161
162
163
158
154
148
147
141
145
147
147
135
108
78
52
50
54
59
55
59
79
90
99
108
108
108
111
112
114
115
118
121
124
124
129
133
135
136
136
131
123
110
91
76
58
49
47
47
51
42
43
46
42
42
48
54
57
61
58
61
98
134
162
171
164
137
126
134
144
153
158
161
162
158
147
135
131
115
95
81
66
53
50
44
44
44
45
59
110
144
156
152
139
122
59
45
44
42
42
43
53
64
73
82
90
92
79
75
90
130
156
171
165
161
151
115
76
47
50
63
78
98
92
75
40
50
69
78
55
56
81
82
46
53
33
25
26
28
28
27
26
26
27
30
30
30
31
35
35
36
39
39
40
44
44
45
45
45
44
45
45
44
44
46
46
46
46
46
45
43
39
37
37
45
49
47
44
42
45
46
51
54
56
57
59
61
62
62
63
64
64
63
63
61
58
56
56
54
56
57
55
57
57
65
88
122
167
188
202
209
208
208
209
207
207
195
154
69
40
36
36
34
37
37
37
37
37
39
42
45
49
49
49
52
49
49
45
39
37
36
35
35
35
39
42
43
74
119
143
151
143
149
157
139
163
143
163
158
166
174
181
163
161
161
149
155
167
162
158
162
165
157
53
54
52
51
50
47
45
43
46
45
54
58
59
61
65
73
88
100
115
132
143
145
150
152
153
155
158
159
161
158
154
148
138
137
137
139
137
131
109
86
67
54
56
60
63
63
75
87
94
98
103
105
105
107
109
110
114
117
118
119
123
125
130
132
133
131
118
108
95
79
71
72
74
71
74
75
65
61
49
47
48
53
59
62
62
67
94
143
163
170
153
130
124
142
153
156
160
162
164
166
161
157
142
125
114
116
110
94
74
55
47
43
44
43
52
93
131
159
153
140
94
50
47
47
47
48
53
60
67
76
82
83
76
73
88
118
156
172
165
156
154
138
121
101
85
82
83
106
113
104
67
48
57
78
85
67
70
85
75
48
46
28
27
28
29
32
34
33
34
35
36
37
37
38
40
40
41
44
44
44
46
48
49
48
48
47
46
46
46
46
48
51
52
52
49
48
44
45
48
51
58
59
55
54
53
51
48
50
52
59
64
68
68
67
67
68
66
65
60
59
55
52
53
53
50
47
48
50
50
54
81
126
177
204
207
207
209
210
210
207
207
207
202
171
95
34
33
33
33
34
34
35
36
36
36
38
39
42
46
44
43
43
43
43
42
42
41
40
40
42
42
42
44
51
89
138
141
160
159
140
154
149
153
159
163
169
157
161
173
164
165
157
157
164
154
158
163
170
162
50
50
47
49
50
48
47
46
45
44
43
51
54
59
79
86
97
112
127
133
140
145
148
149
149
150
158
158
156
152
147
141
140
139
140
138
128
112
88
70
56
57
64
65
68
78
84
90
94
96
98
99
101
103
106
108
108
110
114
118
122
121
120
124
127
123
121
108
96
89
88
93
94
98
100
95
83
70
51
52
57
61
61
62
64
77
127
158
162
142
93
79
93
107
106
104
105
109
116
126
133
134
132
128
122
117
115
116
104
85
66
56
51
56
57
83
116
146
142
114
66
52
51
54
54
54
56
64
64
62
59
59
60
81
116
148
173
165
156
146
144
125
106
83
73
72
72
106
121
110
77
59
69
84
87
74
67
83
61
50
27
19
23
23
24
30
34
35
43
45
47
50
45
46
45
43
46
48
48
47
49
51
54
52
52
54
55
55
54
55
58
61
57
57
59
56
56
59
62
70
73
73
69
66
62
58
57
55
54
57
61
66
70
70
72
72
69
65
64
63
60
56
56
53
49
47
47
46
45
51
95
154
197
205
205
208
208
208
209
210
208
205
202
185
134
61
38
37
36
33
34
32
34
34
35
34
34
34
35
35
36
36
37
37
39
39
39
37
37
37
37
37
39
43
57
145
126
160
152
152
145
159
159
152
157
161
175
167
173
164
154
157
158
153
146
162
155
153
160
53
49
46
49
51
51
49
47
43
40
41
47
59
74
91
99
114
126
129
133
139
141
143
144
141
149
155
157
156
149
146
147
147
149
148
139
118
97
78
62
57
63
67
68
79
84
86
92
93
93
94
94
97
102
103
103
104
107
109
110
110
106
99
96
108
120
123
122
120
116
108
104
98
97
100
93
81
65
51
54
58
62
64
66
66
102
144
149
137
94
61
59
54
53
49
49
50
48
50
65
69
73
77
88
99
109
111
123
125
121
107
100
92
85
77
79
101
117
106
80
57
57
56
55
55
58
60
55
47
49
51
52
54
92
136
161
166
156
148
136
130
105
67
53
53
53
59
97
116
109
75
67
75
89
94
95
86
84
66
59
53
47
47
47
47
47
49
54
61
67
75
74
67
63
57
55
56
53
53
56
56
56
55
57
57
59
57
57
59
62
62
63
64
66
66
64
66
65
69
69
70
74
74
75
75
72
67
62
57
54
53
57
60
62
66
69
67
66
64
63
59
57
54
51
49
47
47
47
45
51
109
168
203
205
206
207
207
208
209
209
204
202
199
191
164
108
47
48
47
40
38
38
37
37
36
35
35
36
32
33
31
35
35
36
39
39
39
39
39
39
40
40
39
39
44
88
181
142
143
152
144
163
153
159
146
174
171
178
155
158
155
148
162
159
160
158
157
149
153
52
49
50
52
49
51
51
51
47
45
45
53
66
81
95
113
116
125
130
134
135
140
140
142
144
146
154
158
154
156
156
159
158
159
155
133
108
85
64
63
59
65
66
75
82
87
87
88
88
88
91
95
95
97
97
99
102
98
96
90
87
81
72
63
56
85
119
136
148
146
140
132
123
118
109
85
68
54
56
62
58
64
64
66
69
114
129
122
93
62
58
59
52
50
51
54
53
54
54
59
64
60
62
75
97
116
127
135
137
136
134
133
133
124
118
100
103
94
78
56
50
52
50
51
49
44
42
42
42
46
46
47
51
98
137
160
160
146
142
125
116
86
49
50
53
59
71
99
121
118
98
104
110
119
128
119
120
110
107
107
104
104
103
101
102
101
101
98
100
100
95
94
86
79
75
71
69
65
63
61
61
59
55
54
52
53
52
53
56
61
66
67
63
63
63
65
66
67
68
68
70
72
73
75
78
75
75
75
70
64
61
56
53
52
53
56
62
63
61
60
57
52
51
49
49
45
45
47
44
63
125
174
202
207
206
206
206
209
207
205
202
198
200
194
174
133
61
53
47
47
45
43
40
37
37
35
35
38
37
37
34
37
34
34
36
36
39
37
37
38
37
38
39
43
43
68
142
160
170
149
155
158
160
156
158
163
188
171
160
164
138
161
168
160
158
162
163
158
156
49
48
50
49
52
55
55
53
51
50
60
74
79
90
103
113
120
127
128
129
134
138
143
145
147
150
156
159
162
166
167
170
170
160
145
121
95
73
67
67
68
69
73
80
82
82
82
82
81
84
86
89
89
91
92
92
84
80
75
67
58
50
41
29
23
47
103
135
154
154
154
155
156
155
140
106
82
65
62
67
61
63
65
65
75
101
100
90
64
58
55
55
52
53
54
53
54
56
59
57
55
53
51
53
84
126
146
151
153
152
153
148
142
131
124
121
117
107
93
70
55
48
42
42
42
43
44
47
48
49
49
52
54
98
133
152
150
136
130
108
95
73
67
76
85
105
117
126
123
115
121
128
130
132
134
130
127
125
125
120
118
116
113
110
109
112
112
109
105
102
103
107
100
91
86
77
71
70
71
65
63
53
48
43
41
43
45
48
52
55
58
60
61
61
63
64
65
66
66
66
68
70
70
72
72
72
73
74
74
73
68
63
57
52
51
48
50
51
53
55
54
52
51
49
46
42
37
36
41
77
146
195
208
207
206
206
205
206
204
202
197
195
194
192
178
147
81
53
48
45
43
40
38
37
37
37
37
34
33
33
32
30
30
29
27
27
27
28
28
28
31
33
36
34
39
49
90
142
155
145
147
146
156
167
153
160
163
167
171
169
163
161
162
158
158
162
160
154
157
45
47
49
46
47
55
54
55
57
68
76
89
97
101
106
115
118
124
128
132
137
139
144
152
155
158
165
167
170
173
176
176
167
147
124
97
72
69
68
68
67
68
75
77
79
77
77
79
81
83
82
83
84
80
76
74
63
58
50
42
35
26
21
22
22
34
93
130
154
159
161
163
166
169
169
158
140
116
87
77
69
66
66
61
85
99
86
72
64
59
57
57
53
53
54
54
56
58
59
60
60
56
55
53
57
110
144
165
172
171
172
172
176
168
157
148
140
130
115
94
79
63
56
53
51
54
53
53
54
55
56
58
61
91
124
139
135
127
120
108
104
100
117
133
142
145
140
135
123
118
121
130
132
134
134
131
128
128
124
118
118
118
117
112
110
112
112
109
104
102
104
101
92
88
87
80
77
75
67
62
60
56
52
51
48
49
50
52
56
57
60
63
61
63
64
65
63
62
63
63
64
66
67
68
67
67
67
69
69
68
69
68
67
64
59
49
47
42
44
47
49
49
50
51
51
47
31
20
26
63
143
187
204
203
203
203
203
205
203
199
195
193
187
184
179
155
105
58
48
49
44
45
42
42
40
37
36
34
32
32
33
33
33
31
28
25
24
24
24
22
23
27
30
35
39
43
48
66
101
155
150
157
150
159
150
152
174
177
166
164
163
152
151
152
156
167
169
163
158
45
46
51
49
52
55
59
64
79
86
94
104
103
103
110
116
120
123
125
133
141
145
150
154
156
162
171
173
175
179
180
170
147
120
96
76
73
74
71
73
68
69
72
74
74
74
75
78
80
81
80
77
73
67
60
53
43
36
28
23
24
21
16
18
18
22
77
118
138
152
156
161
162
164
170
174
177
168
144
114
94
73
69
65
93
104
92
81
63
59
62
57
54
56
59
61
62
64
62
62
60
58
58
56
57
74
114
156
176
180
183
186
189
195
193
191
186
177
155
115
91
77
75
73
69
65
65
63
65
68
74
82
90
109
118
132
128
135
133
142
145
147
153
157
160
155
144
134
129
124
125
131
133
133
130
129
127
122
119
117
117
117
115
115
113
113
110
106
104
102
100
97
90
85
75
71
73
77
80
74
70
61
55
54
53
53
56
56
57
58
58
61
61
61
60
62
59
58
56
58
60
61
64
63
62
62
63
63
63
65
66
66
65
64
61
56
50
43
42
43
41
45
51
53
50
43
26
15
17
33
98
158
192
202
200
200
200
201
199
197
191
185
185
180
173
160
119
72
46
45
47
47
46
46
45
45
43
40
39
41
41
43
43
43
42
39
37
35
30
26
25
29
32
36
41
44
50
54
76
146
148
148
149
171
160
162
150
174
166
168
177
145
150
151
154
152
158
164
159
42
44
51
54
55
60
72
83
93
104
110
109
106
107
112
116
117
125
131
137
146
150
153
156
160
165
171
173
179
180
167
153
127
95
85
82
79
78
75
75
74
69
72
70
71
75
77
78
75
75
74
69
60
48
44
37
31
26
24
21
22
20
15
16
16
16
54
101
131
145
154
153
151
151
157
162
168
172
168
151
123
95
86
80
98
122
106
91
65
57
61
58
56
55
58
61
62
63
63
64
64
63
61
59
65
73
71
107
154
174
182
188
188
192
194
194
192
195
186
152
97
57
74
82
85
86
93
96
97
101
105
117
124
135
134
129
133
154
165
173
170
167
166
164
157
148
138
130
129
122
125
128
127
129
127
124
124
121
121
121
121
118
117
116
117
114
111
107
106
100
97
94
91
86
80
79
81
85
84
77
70
62
58
54
54
53
53
57
58
57
59
58
60
60
58
54
54
52
54
54
57
55
55
57
56
56
56
60
60
59
61
61
59
58
55
53
51
49
44
42
40
42
50
55
51
40
28
15
22
35
61
121
167
192
196
193
193
195
193
190
187
183
178
174
168
162
131
89
44
42
45
48
50
52
53
51
51
51
51
52
53
56
57
57
58
54
50
40
33
32
27
31
35
38
41
45
52
55
76
181
157
160
152
156
157
152
178
171
171
166
162
167
154
161
153
155
159
169
164
44
52
62
69
80
90
96
105
115
117
115
111
109
110
113
118
125
132
138
142
145
149
154
160
163
166
173
176
179
167
154
137
108
97
93
89
86
81
80
75
75
68
69
70
77
78
78
79
79
76
67
58
49
42
36
33
29
24
24
17
16
20
33
56
73
92
109
131
152
160
169
169
162
149
143
135
133
131
126
122
123
124
129
139
141
147
145
127
108
93
86
75
68
60
62
61
61
62
62
62
62
63
66
78
89
94
80
63
94
143
168
183
184
188
191
191
189
191
188
165
111
64
71
79
90
100
108
120
128
132
134
133
129
120
110
117
142
168
175
170
160
157
155
149
145
138
135
132
130
128
124
124
124
125
125
125
124
124
128
129
127
123
122
122
122
119
118
113
110
102
99
95
92
89
84
84
82
82
80
71
63
59
52
50
50
53
53
55
54
56
56
56
56
56
54
51
51
48
47
47
48
49
49
53
51
51
51
51
53
54
55
55
52
54
53
47
48
44
43
41
45
51
57
60
56
44
36
41
50
65
74
90
130
165
183
187
187
188
187
186
181
178
173
169
163
156
138
106
63
46
46
49
49
49
49
52
55
54
55
57
59
62
63
64
64
60
53
43
34
31
31
34
37
37
42
45
51
54
74
115
152
150
152
167
173
170
189
165
173
172
177
163
156
154
151
156
159
170
171
61
74
89
100
108
127
131
132
123
118
116
112
111
112
117
124
128
136
141
142
149
153
157
163
166
168
174
179
171
155
136
117
102
99
96
94
88
87
80
72
71
74
71
76
82
81
79
78
70
64
56
54
51
39
31
29
24
19
19
23
53
81
117
148
167
174
177
180
181
180
178
177
172
160
144
131
127
120
115
116
131
156
175
185
187
187
189
186
180
168
157
144
126
102
89
79
68
64
63
63
65
67
88
104
118
111
91
60
60
100
139
169
180
182
184
187
187
187
185
169
127
81
94
115
122
118
103
101
105
112
116
113
103
85
81
100
140
165
166
161
155
152
150
147
148
146
143
142
140
139
137
135
135
136
136
136
135
135
134
135
134
126
122
120
116
111
101
98
88
81
77
75
78
77
75
77
76
70
60
55
48
44
46
48
50
52
52
54
54
54
54
53
52
51
51
48
46
45
43
41
42
42
43
43
44
44
44
45
48
49
50
50
47
44
44
43
41
41
39
42
48
61
69
72
60
62
67
77
93
107
107
108
110
136
156
175
183
183
181
179
180
173
170
162
159
154
145
118
90
55
56
54
49
49
48
50
51
52
56
58
60
62
62
61
55
51
45
37
37
37
38
38
39
41
43
47
48
53
61
69
150
157
155
161
172
184
175
177
160
165
147
165
164
159
159
164
163
163
169
90
107
120
122
124
128
130
128
120
114
112
112
112
119
124
127
130
134
137
145
151
157
159
163
166
168
175
171
164
146
120
109
103
98
96
94
90
89
75
70
76
74
74
81
85
82
77
72
68
65
54
50
47
40
34
31
22
32
57
95
129
156
178
186
186
185
181
181
179
176
173
166
164
166
160
154
152
150
149
156
166
181
192
193
195
193
193
192
188
181
179
178
170
162
151
132
105
88
75
66
74
88
117
132
139
116
93
91
105
111
121
140
161
170
175
181
185
184
184
171
144
105
107
124
139
137
132
114
94
92
96
94
87
73
79
106
145
158
160
167
164
162
162
161
160
154
151
150
147
145
143
141
139
141
139
137
131
129
126
118
112
102
91
80
72
63
53
47
46
48
51
50
53
58
60
62
63
57
50
51
48
50
47
46
49
49
50
53
53
52
51
50
51
50
46
41
41
40
38
36
37
35
35
37
36
39
41
43
43
43
43
43
43
42
42
41
40
40
37
37
43
47
54
59
60
67
83
109
125
124
120
115
111
108
119
142
161
173
173
172
170
168
163
157
149
148
141
127
105
67
59
54
52
50
49
48
51
53
55
55
59
56
56
51
48
43
41
37
37
39
41
41
41
42
44
47
50
51
54
59
127
160
149
169
155
179
166
167
162
164
167
166
160
152
156
159
159
164
166
117
118
121
120
120
121
123
123
119
114
111
119
125
123
126
127
127
135
140
146
153
156
160
163
164
168
168
168
153
131
117
113
106
98
92
93
92
86
78
71
73
75
76
86
86
82
78
75
67
62
56
55
47
35
34
45
71
98
128
161
178
187
185
183
179
179
180
174
161
140
136
135
131
131
127
125
127
130
141
154
161
165
161
157
154
148
143
140
140
144
143
144
142
142
145
142
132
117
99
93
92
104
135
143
142
130
127
135
138
140
134
123
131
147
161
171
178
179
179
173
148
113
109
125
134
136
136
131
121
101
82
87
91
89
105
134
162
169
172
173
171
169
166
161
157
152
149
146
143
136
131
128
127
128
122
114
107
95
83
70
58
52
52
52
51
47
45
41
39
40
42
42
43
45
50
49
49
53
56
58
54
56
55
50
46
43
47
49
49
47
47
47
46
44
41
38
38
36
34
31
28
30
30
32
33
33
34
36
38
39
40
40
39
37
35
35
35
35
35
35
35
37
36
37
40
61
79
106
117
113
107
104
100
97
94
99
125
141
154
163
162
159
158
151
149
140
137
128
109
79
58
52
50
47
47
46
48
50
52
49
44
40
40
38
39
37
36
35
34
32
34
33
35
35
36
42
49
55
60
74
131
151
166
159
157
167
173
170
166
159
178
165
163
158
153
160
159
155
164
112
117
118
120
120
116
118
119
114
113
120
121
124
124
123
121
129
138
140
146
151
156
160
162
162
164
164
156
133
120
116
114
109
100
91
91
91
82
79
70
76
79
84
84
83
79
75
67
64
61
55
51
44
47
71
101
135
157
175
179
182
182
179
173
177
180
169
135
87
50
45
45
49
53
61
66
71
77
84
91
94
99
98
95
91
89
87
86
86
85
84
84
84
81
86
87
94
104
112
125
134
142
155
154
153
146
148
149
153
148
146
133
115
106
121
140
157
170
172
172
152
116
104
115
123
138
146
142
138
127
105
93
94
102
117
137
157
163
161
157
150
138
126
114
101
94
98
108
118
109
89
80
93
100
90
78
88
84
85
83
81
83
84
86
78
71
56
43
39
40
40
39
40
39
41
42
44
44
47
50
52
55
58
60
55
48
44
45
46
44
43
44
44
41
39
36
34
33
30
27
24
27
27
27
29
29
30
34
34
34
35
35
35
35
33
35
33
33
35
35
35
37
37
38
40
51
68
84
96
98
100
94
92
85
82
80
81
97
118
138
153
154
153
147
143
140
130
124
109
84
56
48
46
42
41
43
43
41
38
37
33
35
35
34
32
32
36
37
40
44
50
56
59
67
76
87
92
101
104
106
113
154
167
167
162
182
169
176
175
159
160
166
162
157
166
163
155
157
170
110
113
116
118
118
115
113
114
117
121
117
122
125
120
124
129
133
138
141
141
148
153
156
160
163
164
159
150
131
117
114
114
116
106
102
97
92
84
75
71
76
84
79
81
82
82
79
69
65
61
56
53
62
88
122
147
158
168
176
177
176
174
172
177
175
166
130
78
33
31
37
43
50
57
67
77
81
83
87
87
85
84
84
84
83
83
83
78
80
81
85
84
83
83
79
78
85
104
140
171
188
196
195
191
183
175
165
160
154
153
149
139
128
97
51
65
103
140
157
166
155
134
116
100
96
109
125
134
136
132
117
105
103
98
92
95
88
88
81
73
58
41
32
30
37
58
80
104
124
121
95
76
89
91
83
90
101
104
101
101
99
94
91
86
72
57
37
27
25
28
31
35
35
34
38
40
44
42
44
47
48
51
56
59
63
59
49
45
39
44
42
41
44
48
52
55
48
42
32
29
28
26
26
27
29
29
28
32
34
34
35
35
34
32
32
33
33
35
34
37
37
37
38
35
39
42
49
62
75
81
86
87
90
87
83
79
75
75
83
102
129
146
144
138
136
132
126
116
110
87
63
43
40
40
39
37
35
35
34
34
33
32
33
39
45
52
63
73
85
92
98
98
98
101
100
103
106
106
105
104
107
150
184
155
157
182
175
170
156
155
157
160
157
158
155
145
154
158
170
109
111
114
112
112
113
115
119
120
120
119
116
114
121
129
132
134
138
139
142
145
147
154
168
170
167
160
151
129
108
106
105
104
102
98
93
91
81
73
71
80
85
82
84
85
85
80
71
66
69
88
108
122
136
151
155
162
169
173
171
168
169
176
177
162
134
68
39
38
43
51
60
69
75
79
82
80
78
77
77
77
77
77
76
78
78
77
75
77
79
80
81
83
83
83
91
131
164
192
211
216
215
212
208
203
199
193
184
177
163
153
147
123
81
18
10
29
77
123
145
150
126
92
58
52
55
65
92
112
123
113
96
74
64
58
55
52
52
50
50
48
46
35
42
59
89
116
131
139
134
112
80
68
72
76
96
108
102
96
90
80
71
66
52
40
35
34
30
29
27
27
22
22
23
27
34
37
38
40
40
43
43
48
52
60
63
58
51
42
41
51
64
76
92
108
106
89
48
33
33
32
31
31
30
29
29
27
30
32
32
36
35
34
32
32
33
35
35
35
36
36
37
35
35
39
40
43
45
51
60
66
71
75
74
77
78
76
76
73
73
94
115
133
133
132
126
122
108
101
85
62
42
40
40
39
38
38
38
41
45
45
47
61
74
90
95
96
99
101
103
102
102
103
106
104
104
105
107
106
104
104
140
183
142
159
159
162
169
176
176
175
163
149
155
154
151
152
161
170
106
106
108
109
110
119
121
119
119
118
110
112
122
125
128
129
131
135
138
140
142
150
158
173
177
174
154
139
118
105
106
107
104
99
97
87
82
83
75
73
80
84
85
84
87
84
80
98
120
139
158
162
166
163
158
159
169
170
170
169
168
175
175
157
128
73
36
39
49
59
63
69
73
72
72
71
71
71
71
71
71
70
69
68
67
69
70
70
74
78
81
76
68
63
63
101
163
191
210
214
214
213
212
209
203
194
188
182
180
175
168
157
133
84
51
40
47
64
89
123
132
119
78
45
33
32
29
39
69
97
110
94
73
48
41
40
40
36
40
44
48
52
54
61
83
117
139
147
146
144
132
93
63
52
74
89
96
85
73
57
47
42
36
36
36
34
34
33
28
28
26
25
24
26
25
25
28
35
37
40
38
39
41
39
43
46
49
53
65
78
97
123
138
142
132
109
63
34
34
35
35
35
35
34
32
29
30
32
32
32
34
34
33
33
33
34
34
36
37
37
38
36
36
34
35
40
42
42
44
44
44
49
53
57
58
60
63
65
66
64
67
81
102
118
121
122
113
105
88
76
62
42
38
38
39
43
48
55
67
77
84
91
91
92
96
100
102
104
106
105
103
103
105
106
109
108
105
108
108
107
105
120
172
152
174
182
174
166
158
149
147
159
160
160
152
151
155
158
172
105
105
106
115
119
117
120
120
112
107
111
118
122
124
127
128
130
130
133
135
134
139
153
173
173
163
144
133
108
99
101
102
103
99
93
89
83
85
76
82
85
88
83
84
91
114
137
164
169
174
166
169
167
162
162
165
169
168
166
168
175
175
160
118
63
34
41
49
60
65
65
66
65
65
63
62
60
61
59
59
57
55
56
55
57
62
64
67
71
71
72
65
50
44
73
126
184
204
211
214
214
213
210
207
203
183
170
170
179
178
173
161
154
147
127
107
101
102
95
76
88
108
86
47
23
27
31
43
50
65
88
94
85
59
45
41
41
41
35
34
35
51
64
69
81
108
134
146
154
148
139
111
84
64
64
66
57
43
33
31
33
35
35
35
35
34
34
33
29
27
27
28
27
26
22
20
22
25
35
37
39
40
44
44
47
57
70
88
117
134
138
141
135
124
83
47
37
40
40
38
39
38
37
41
36
33
31
32
32
35
33
35
35
34
34
35
35
35
36
36
36
35
33
33
33
36
40
41
42
42
43
41
41
39
41
42
45
43
47
45
48
49
61
82
97
106
111
102
95
73
60
36
29
36
46
56
75
88
93
89
94
98
103
103
105
107
106
107
108
107
106
106
105
110
110
111
111
110
109
109
102
100
158
158
158
182
175
177
165
163
157
158
143
151
157
160
155
162
169
102
105
116
115
117
118
115
108
113
114
114
117
119
124
124
126
128
128
124
119
113
122
140
153
154
144
133
132
115
100
106
108
106
99
92
82
81
86
80
88
91
85
97
119
149
160
168
169
162
139
113
125
150
158
165
169
167
165
166
173
173
158
126
58
34
40
52
59
61
63
63
61
59
56
52
49
46
45
44
43
42
43
46
49
53
55
59
64
68
66
64
64
60
75
118
167
198
210
212
211
209
208
205
201
198
192
186
183
183
179
174
166
158
151
146
138
128
120
104
83
62
83
91
75
40
34
42
46
52
49
66
74
81
65
52
39
37
44
48
54
62
80
103
107
106
93
96
113
126
132
124
99
84
71
67
49
31
18
25
27
31
32
31
34
35
32
32
31
30
29
26
25
25
24
20
19
20
19
29
35
45
55
70
81
96
115
132
140
138
141
134
120
99
58
37
38
39
43
46
51
63
66
67
65
57
43
33
32
32
34
36
35
36
35
35
37
36
36
36
37
35
36
36
35
33
36
38
40
37
37
40
38
38
38
38
36
36
32
27
24
22
25
30
42
63
81
98
98
95
77
65
54
53
70
90
96
93
95
96
103
105
105
105
107
106
108
108
110
112
112
110
109
111
113
112
110
107
102
100
99
101
100
105
149
161
176
178
167
157
162
164
154
137
141
158
160
164
165
166
116
114
115
120
119
106
107
111
111
111
111
111
116
118
119
121
122
119
120
117
115
116
119
128
136
134
134
131
122
107
106
103
98
94
92
86
82
85
85
90
100
119
145
160
167
166
151
111
77
83
118
141
157
159
161
163
163
164
170
173
161
135
85
44
41
52
60
64
66
67
67
64
56
54
51
49
48
45
42
37
36
39
45
53
57
60
61
67
69
67
68
67
65
92
140
182
203
210
212
210
207
207
201
197
191
188
182
177
175
169
162
153
147
147
143
141
131
119
107
101
94
79
87
89
66
45
32
32
43
46
48
52
62
64
57
47
51
65
78
96
115
131
146
157
154
124
98
78
79
78
64
39
41
58
77
67
44
24
26
35
40
43
40
31
31
30
28
27
24
22
20
21
20
19
18
21
30
43
58
73
91
108
124
132
133
134
133
136
130
115
88
55
35
33
42
51
61
71
84
97
109
111
105
78
50
37
35
35
35
36
36
36
36
38
38
38
37
37
37
36
34
33
33
32
33
35
37
38
37
37
36
36
36
36
34
34
32
31
28
25
20
20
20
39
55
85
87
87
92
93
79
87
96
97
101
103
105
106
107
109
112
111
111
112
114
114
112
114
115
114
112
107
106
103
103
104
102
100
101
99
101
100
100
166
153
171
170
162
158
159
155
160
146
149
157
155
160
160
164
115
118
116
109
108
110
108
106
108
109
109
112
116
119
119
123
121
122
132
140
142
137
137
128
132
136
135
136
134
129
122
114
102
98
95
91
91
91
90
110
133
150
158
160
134
96
69
74
80
104
130
148
151
160
158
159
165
169
173
166
145
116
75
68
70
75
84
89
94
97
96
96
92
90
87
87
82
78
74
69
69
74
76
80
86
87
84
90
92
97
98
100
97
129
164
196
205
203
200
192
188
185
175
171
164
160
155
154
152
150
138
135
134
131
131
126
121
113
107
102
94
86
83
88
89
70
56
46
47
49
44
46
42
60
60
64
66
86
107
131
143
148
148
139
129
104
75
56
56
59
49
32
27
41
68
77
60
38
37
53
70
70
57
32
27
24
24
24
23
21
20
18
25
37
45
61
78
94
114
126
130
126
128
131
131
128
125
109
84
53
36
38
48
59
73
86
105
117
120
118
104
75
51
43
42
40
35
38
35
36
38
38
42
43
40
42
43
41
40
38
36
36
34
31
31
31
33
34
34
34
35
32
30
30
31
31
30
27
24
23
21
28
36
64
102
106
78
61
81
100
104
108
111
111
111
112
114
118
115
115
117
113
115
118
116
111
109
107
107
108
107
109
110
108
110
108
109
106
106
106
108
104
100
116
158
175
149
166
173
165
149
162
164
160
149
156
153
156
162
113
108
113
116
116
114
110
108
113
116
118
122
124
122
120
118
122
137
149
157
161
158
154
147
145
145
148
151
150
140
133
126
121
112
107
106
102
103
116
131
143
149
126
88
71
68
66
70
79
108
136
149
153
157
158
156
165
169
164
149
133
121
108
103
103
106
115
124
135
138
140
142
144
142
142
140
137
133
127
122
119
120
120
120
122
127
128
126
134
138
139
143
155
168
177
183
152
114
75
54
50
52
56
61
74
87
90
88
86
85
94
109
115
113
114
116
113
107
101
92
80
67
62
64
72
74
71
64
57
48
40
29
25
27
45
51
51
52
62
78
93
92
85
60
42
33
31
32
39
48
54
50
43
33
50
72
71
62
61
74
97
83
70
43
28
23
23
21
25
35
44
53
76
96
110
118
119
121
123
124
124
123
119
110
98
86
69
60
58
56
66
78
94
104
107
109
107
96
78
57
47
47
47
45
45
42
40
40
38
40
42
42
42
43
43
42
44
44
43
41
39
38
37
34
33
33
33
34
34
34
32
30
28
28
27
27
27
23
23
23
24
32
49
97
130
123
84
60
67
107
115
122
125
125
124
121
121
121
118
116
114
108
105
105
106
106
109
110
112
112
113
114
117
117
117
116
112
110
110
105
99
87
78
84
155
172
127
166
161
166
165
156
164
165
163
168
154
160
164
112
119
123
120
120
119
117
118
119
124
124
128
121
113
109
106
121
140
153
161
162
164
157
153
150
152
154
154
157
156
151
142
136
128
122
114
113
118
123
132
127
99
95
88
77
76
71
71
84
112
136
146
150
152
153
153
160
157
148
132
129
129
123
118
119
125
139
149
156
162
164
167
169
167
166
166
164
162
160
151
147
149
150
150
152
153
153
150
153
154
146
142
140
139
123
80
58
58
61
62
67
69
74
80
88
98
106
107
97
94
93
99
103
102
99
95
82
66
64
72
70
59
42
39
36
42
54
71
72
62
39
30
23
15
31
42
43
29
23
25
28
31
32
36
40
51
53
59
59
63
61
63
63
59
52
66
75
80
81
90
97
95
80
57
39
30
34
45
57
77
96
107
115
117
118
115
112
110
108
103
96
85
70
57
52
55
69
77
83
88
92
95
95
94
87
76
60
49
39
39
42
42
46
47
46
43
43
40
40
42
43
43
40
42
43
42
43
43
43
42
42
42
38
37
34
35
35
35
34
34
33
31
29
28
27
27
25
23
23
22
27
41
69
120
131
128
107
93
102
124
132
130
131
127
124
119
115
110
106
106
108
109
109
108
110
110
113
115
117
116
121
122
125
126
121
111
97
95
95
84
78
79
77
81
162
169
160
159
172
160
172
158
152
159
160
167
165
163
161
119
119
124
122
123
124
124
123
128
129
124
113
106
100
94
96
122
149
158
164
172
167
160
157
154
154
155
156
156
154
154
149
143
138
133
132
129
129
125
116
108
107
104
98
85
82
77
74
85
109
134
144
146
146
150
153
150
139
127
117
122
121
120
121
122
129
140
145
150
154
158
160
162
160
160
159
159
159
155
156
154
153
155
155
155
155
151
150
153
144
125
111
105
105
99
97
92
93
93
92
92
91
98
102
110
118
114
105
95
92
94
94
98
81
60
51
50
66
83
98
102
104
91
74
47
32
34
43
53
62
69
65
47
34
29
44
46
40
27
23
27
44
62
84
104
125
136
140
142
139
138
133
126
117
110
107
109
111
113
116
116
112
105
84
68
64
74
94
106
110
108
102
95
91
87
81
73
68
58
51
45
46
54
63
70
78
79
81
83
86
85
76
71
58
42
31
27
24
21
22
25
32
34
36
38
37
34
34
37
43
51
57
57
52
47
44
43
43
43
43
43
43
40
39
37
36
36
36
36
36
34
32
29
27
27
27
25
22
22
23
28
46
78
108
110
112
112
114
124
136
131
125
119
115
114
115
115
114
113
111
111
110
110
112
113
113
116
118
121
124
128
129
131
129
117
101
90
90
83
80
81
81
77
83
163
152
160
163
169
164
169
165
155
156
153
151
158
169
154
117
119
121
125
125
125
126
130
127
116
104
92
80
69
68
89
113
142
157
168
168
167
163
158
157
155
154
154
152
150
148
145
138
134
130
124
120
118
115
113
110
106
100
97
90
88
84
79
85
108
136
145
144
143
145
145
137
124
116
115
120
122
123
123
127
132
140
143
147
147
150
149
148
148
149
149
149
149
148
149
149
154
155
153
153
152
148
144
142
136
129
136
158
159
147
141
133
130
125
122
122
121
117
122
122
125
122
118
107
96
79
64
59
48
44
48
59
81
101
110
106
90
75
59
46
43
36
33
32
33
39
55
65
66
55
54
63
60
51
57
77
109
149
167
171
171
168
167
165
165
163
158
154
150
145
142
143
138
133
130
125
122
120
116
110
108
114
113
111
109
102
88
71
55
45
39
40
46
56
65
66
66
69
70
72
72
71
68
65
57
49
36
29
24
24
23
23
22
20
21
22
27
29
29
28
28
28
29
32
46
58
67
68
69
63
54
45
43
43
42
44
43
44
42
40
37
37
37
41
39
36
34
31
30
26
25
24
26
25
25
29
39
45
50
59
69
87
102
127
126
121
122
123
125
127
126
124
121
121
116
114
113
110
113
110
115
120
126
132
137
147
148
143
138
132
124
119
111
106
104
94
90
89
83
148
162
169
170
171
170
168
167
165
155
157
153
156
154
156
116
118
121
125
127
128
125
120
112
101
82
62
56
55
56
87
115
144
160
169
166
165
164
159
158
156
153
150
148
145
143
140
136
132
128
122
119
117
116
114
113
109
110
105
102
97
91
86
83
105
134
145
141
136
136
130
118
108
106
111
114
120
121
125
127
132
139
142
145
145
145
144
143
141
142
143
143
144
143
146
147
145
146
145
144
141
138
145
151
152
162
171
177
174
169
163
159
155
144
143
136
131
122
114
119
119
108
95
77
55
51
51
42
42
46
50
66
87
98
84
66
49
43
37
44
38
36
21
20
19
26
30
39
50
59
70
76
86
97
128
156
166
173
173
175
175
173
171
169
166
166
161
157
156
153
148
146
141
137
134
129
129
126
119
116
116
118
114
114
110
110
106
99
98
92
88
87
85
84
81
77
73
69
67
63
58
51
41
30
27
21
24
24
23
23
25
25
25
24
25
27
30
30
31
29
29
30
31
32
39
45
54
64
67
64
57
48
42
43
43
43
43
43
43
42
41
41
41
40
40
38
36
32
30
29
28
26
26
25
24
21
22
23
25
31
37
54
81
115
134
132
129
125
126
126
121
114
105
101
99
92
86
86
86
91
81
103
126
128
124
125
121
119
113
104
97
91
87
85
83
82
82
90
92
160
168
187
178
172
169
169
171
161
156
155
149
151
154
158
119
120
126
127
125
117
108
99
85
71
62
47
41
41
44
73
101
135
151
160
160
162
159
156
155
153
149
146
144
142
140
137
134
129
126
122
121
116
115
114
114
115
117
119
117
112
106
100
97
104
130
142
140
128
119
110
98
96
100
107
110
113
117
116
119
124
134
138
139
140
140
138
136
134
135
138
137
137
139
140
137
133
127
121
117
117
121
131
152
166
175
179
183
181
180
177
172
167
160
150
134
114
99
107
109
100
87
67
45
39
45
46
43
41
48
59
79
93
88
62
39
25
20
29
47
53
45
29
19
16
15
20
32
37
47
52
63
71
102
140
157
166
168
166
167
165
166
161
159
155
155
153
151
150
145
145
144
139
134
129
124
124
125
122
121
119
117
115
114
108
108
105
103
103
101
101
100
98
96
98
96
89
71
57
39
26
19
19
19
21
22
26
30
29
29
27
27
28
29
29
30
28
28
29
26
26
25
23
24
28
30
34
40
42
46
44
43
40
42
43
43
43
44
44
43
43
41
42
42
42
39
36
34
32
31
30
28
25
25
25
23
23
23
25
26
27
36
62
103
116
103
93
80
67
57
46
36
31
33
38
43
44
48
61
60
52
48
35
36
50
64
61
52
40
33
31
22
20
19
20
24
34
43
60
138
165
158
156
164
154
175
178
157
148
154
150
157
156
160
107
107
115
117
121
111
94
75
62
55
50
43
42
39
42
53
81
93
115
140
154
157
157
150
148
147
145
142
140
141
139
136
132
131
128
125
120
118
115
113
114
116
117
118
119
118
112
112
110
108
131
140
135
117
103
92
85
85
92
104
107
109
107
105
104
104
110
117
124
127
127
127
123
121
118
116
114
116
120
120
115
110
102
90
78
80
92
123
150
171
180
185
189
188
188
183
176
163
145
117
90
84
94
98
92
83
66
49
44
56
63
53
43
37
45
61
91
113
104
80
55
31
24
36
55
70
64
46
34
34
37
43
45
53
51
48
51
51
56
91
132
156
169
170
166
162
157
154
150
147
143
140
140
142
137
137
134
132
127
121
121
121
119
115
115
112
111
109
108
106
106
104
102
103
103
103
101
97
98
99
101
102
95
83
68
50
40
35
31
35
32
30
31
31
26
25
23
22
18
18
18
17
17
18
20
20
21
25
28
34
36
42
42
43
43
43
43
43
42
43
43
43
43
43
44
44
42
43
43
40
39
38
36
33
33
30
29
27
27
25
23
23
23
25
26
27
30
34
37
33
30
30
30
25
20
19
19
22
27
28
30
32
40
57
39
33
34
28
36
39
37
34
34
35
36
38
38
36
33
28
29
34
38
44
65
179
171
169
137
167
171
167
153
152
141
140
149
152
152
82
79
79
90
98
108
100
87
66
59
49
44
39
37
43
51
51
56
82
108
142
147
153
151
146
143
138
135
133
134
133
130
130
129
128
127
127
120
119
118
114
114
115
116
113
113
111
109
108
111
129
130
123
103
92
87
81
81
95
109
115
120
117
104
93
88
88
92
97
100
102
104
105
103
98
94
92
91
92
90
85
83
78
75
73
74
83
125
163
183
187
189
191
190
185
176
148
114
74
70
76
83
93
90
83
71
59
55
61
63
68
62
51
35
46
58
89
114
120
104
81
55
46
52
68
80
80
72
60
59
65
58
41
27
23
25
25
26
31
35
47
86
131
149
157
162
163
158
155
151
147
140
135
132
131
129
126
123
124
127
124
118
118
116
112
108
106
104
107
101
100
97
99
98
100
98
97
96
98
98
99
101
97
96
90
88
83
79
77
68
62
51
41
32
23
16
14
15
17
17
19
20
22
23
27
29
31
34
36
38
39
39
41
42
42
42
42
42
42
42
42
43
43
43
43
43
43
42
42
42
40
38
36
33
31
31
30
29
27
26
28
27
25
26
27
31
33
32
31
31
33
34
34
32
27
25
26
26
25
26
25
29
36
49
39
39
29
20
35
34
39
40
42
44
46
47
45
41
37
39
38
40
41
29
45
166
147
136
148
179
171
168
155
155
151
146
153
160
156
49
52
41
47
59
80
100
100
92
80
69
58
51
45
45
44
46
49
59
82
110
130
141
146
141
140
133
131
125
124
124
124
123
122
120
121
123
120
120
117
115
113
111
111
108
106
104
104
106
109
117
119
109
97
92
86
77
80
95
109
126
132
135
126
115
105
94
87
83
79
81
83
85
84
84
79
72
69
65
63
67
68
77
90
106
110
130
166
186
189
190
192
191
179
157
116
66
62
67
74
79
89
94
92
88
71
64
59
61
67
68
60
44
39
47
53
84
115
122
114
103
87
76
72
76
76
78
80
73
58
38
28
29
27
27
25
25
25
25
26
27
32
35
55
84
115
133
142
144
147
148
143
140
136
133
130
127
122
121
119
116
111
107
107
106
106
106
104
103
103
100
97
95
92
97
94
92
92
94
96
98
96
93
91
91
88
88
88
86
88
83
81
76
74
60
50
39
34
34
33
28
31
31
35
34
36
37
36
38
38
39
39
39
39
41
42
42
42
42
42
42
42
42
42
43
43
40
41
40
40
39
38
36
33
32
30
31
31
31
30
28
30
31
32
31
32
34
34
33
30
32
30
27
26
29
34
33
30
31
28
26
28
36
49
50
43
30
34
40
38
44
47
48
55
57
56
53
51
45
33
29
34
22
23
29
152
157
162
164
162
163
170
169
164
158
153
157
161
163
30
30
29
30
34
43
62
81
91
85
79
60
47
40
39
40
40
52
55
61
84
107
125
129
130
129
124
121
119
120
121
121
118
119
117
118
118
116
111
108
109
107
107
107
107
105
105
103
103
105
107
108
106
101
98
94
87
88
99
118
131
142
144
145
143
140
131
123
111
98
90
86
80
75
73
75
76
74
72
71
72
71
78
89
106
139
164
182
188
190
190
185
174
135
78
51
58
62
68
72
74
80
93
96
87
68
64
61
63
62
53
44
46
46
50
60
79
107
120
118
112
101
87
71
65
63
61
71
79
61
39
31
28
31
32
31
31
30
30
30
30
31
31
32
35
43
51
66
91
110
123
131
134
133
133
131
128
125
123
120
118
115
110
108
107
103
99
99
99
96
94
96
95
99
99
96
96
95
95
95
92
90
87
87
89
89
86
86
88
86
84
82
80
80
78
77
73
69
68
60
54
51
48
44
43
43
41
40
40
39
37
38
39
41
41
40
39
37
37
34
35
38
39
37
42
42
41
37
37
37
36
36
36
35
33
32
33
32
34
36
38
38
35
35
37
34
34
31
27
24
21
19
17
17
18
19
31
41
43
39
36
34
38
49
53
38
27
39
46
53
59
68
75
80
86
87
79
68
52
34
25
20
16
20
23
109
163
144
170
167
173
167
165
155
148
150
153
160
158
27
29
28
29
28
29
33
51
70
73
73
69
62
52
45
39
41
53
56
50
59
73
84
100
102
102
105
109
109
110
112
115
116
120
119
117
116
112
103
101
104
99
101
101
104
103
102
101
100
98
97
94
94
93
96
102
111
119
127
138
146
152
155
156
156
155
152
145
138
133
126
116
101
87
82
71
67
66
69
71
77
76
72
73
114
152
178
188
188
182
165
140
101
48
47
51
57
64
66
69
64
66
81
89
85
69
61
57
58
55
54
49
48
46
48
60
76
95
112
116
107
95
74
55
50
63
76
81
77
74
56
39
29
26
31
34
34
33
35
35
35
35
35
33
34
34
34
36
43
44
53
68
84
96
108
111
117
117
119
119
119
116
115
113
111
107
106
104
101
103
102
99
97
95
92
94
91
90
90
93
95
93
90
88
88
85
84
84
84
81
79
80
80
80
78
75
73
78
78
78
79
79
73
66
66
67
66
59
50
43
37
38
41
35
34
30
27
23
23
23
25
27
28
31
33
35
36
35
35
32
32
32
32
32
35
36
40
46
52
54
53
55
53
48
42
37
33
29
30
29
28
28
26
26
26
25
26
29
41
46
48
52
49
46
40
33
36
53
65
71
80
88
95
104
108
108
98
80
49
25
14
15
15
19
22
51
157
141
163
164
169
161
161
150
157
153
156
160
161
25
27
26
26
26
23
25
29
38
58
70
81
80
72
67
59
57
59
58
54
55
52
57
69
79
85
90
94
97
100
104
105
111
109
112
115
107
105
100
100
95
94
94
100
101
105
102
92
88
83
77
75
78
82
89
98
116
128
140
148
151
153
152
149
148
142
141
139
140
138
138
136
133
127
117
101
88
81
78
81
76
80
88
117
151
174
182
173
157
130
76
52
50
48
50
52
53
58
57
53
55
55
75
85
85
69
61
56
59
58
53
49
43
40
40
55
73
99
109
110
91
65
46
47
66
82
86
80
74
73
65
56
43
35
33
34
34
36
39
40
36
34
32
29
31
29
31
33
36
40
46
47
49
49
46
52
63
75
91
97
107
109
113
113
112
109
106
105
102
106
106
102
100
97
93
93
92
91
89
88
89
88
83
81
85
87
91
89
84
85
82
83
81
77
73
72
72
77
76
77
79
82
82
80
84
86
85
72
51
31
29
29
29
21
15
15
15
17
18
19
23
24
22
25
29
33
34
35
34
36
34
38
40
40
45
47
48
51
57
62
65
61
53
41
34
34
34
32
32
33
33
30
29
29
29
27
26
28
30
43
50
55
56
46
40
38
39
46
62
71
74
80
86
94
98
95
89
68
40
25
11
13
18
17
23
29
94
165
174
163
165
167
168
168
160
156
159
158
155
29
28
32
34
36
39
38
42
38
49
56
83
99
107
97
86
77
69
69
65
66
64
63
71
76
82
88
91
91
94
94
99
103
108
114
124
123
121
106
101
96
99
99
112
108
104
98
88
80
73
73
74
77
81
84
91
100
110
119
121
126
128
126
124
124
125
126
128
128
128
129
131
134
135
135
134
128
121
117
114
113
117
132
150
170
166
150
118
80
65
60
58
55
51
51
49
48
45
43
42
46
47
64
83
84
69
59
57
59
57
55
48
44
47
41
48
67
94
104
95
72
42
49
65
80
80
82
80
75
70
68
67
64
50
41
33
35
36
39
38
36
33
31
28
27
27
28
37
44
48
47
45
46
46
49
46
47
41
37
40
49
63
80
90
97
100
99
100
98
103
102
100
95
92
91
89
86
86
85
87
88
90
86
86
84
84
82
81
80
78
78
77
77
80
79
78
78
76
77
77
77
78
76
73
71
70
77
76
64
45
29
24
17
16
16
16
16
16
18
21
24
27
29
31
33
32
35
36
34
35
35
38
41
42
43
45
48
50
53
54
49
43
40
37
37
35
30
28
26
28
28
28
27
27
27
28
27
33
46
58
64
49
38
35
32
35
35
39
47
54
56
54
53
64
67
71
67
61
55
29
10
15
20
27
32
42
98
146
166
162
170
164
162
166
149
153
162
151
147
41
39
39
37
38
41
40
43
49
49
54
69
90
110
119
118
111
109
109
109
108
107
108
108
107
108
109
108
108
110
115
124
133
144
153
156
156
152
145
132
127
119
122
122
122
116
110
94
84
86
89
89
90
94
98
101
99
97
95
96
96
95
97
93
95
96
100
102
104
107
107
112
116
118
121
128
128
133
134
133
129
130
133
126
104
84
60
54
59
60
67
70
69
67
62
61
54
47
38
33
34
41
63
82
82
67
58
54
60
60
54
45
41
44
49
55
65
85
84
67
43
52
70
84
83
77
78
77
73
69
66
65
66
70
58
49
40
39
39
42
38
37
37
35
33
28
35
42
47
35
31
31
32
31
37
39
41
42
37
35
32
30
31
34
37
46
62
74
79
82
84
82
83
87
88
81
80
78
82
85
88
91
87
84
82
79
81
86
83
83
77
79
76
74
75
74
72
74
79
79
77
77
74
75
74
74
73
71
70
69
60
48
34
25
21
19
27
31
30
33
34
35
36
37
38
38
35
33
32
33
33
35
39
37
35
31
25
23
25
26
27
27
27
28
28
25
25
24
25
24
23
22
21
21
20
18
30
45
63
69
35
21
21
20
23
25
25
29
30
32
30
31
33
37
56
70
77
75
68
38
16
21
31
39
48
50
49
107
168
175
176
166
167
161
155
157
162
153
151
53
51
43
43
48
45
44
46
54
51
51
65
94
115
127
135
141
153
151
152
149
148
148
147
148
148
146
145
145
147
149
153
162
168
169
167
165
157
152
149
143
142
141
139
138
129
116
114
114
110
111
109
111
112
112
114
114
114
113
108
104
95
88
80
80
79
82
86
88
90
90
91
94
100
107
107
114
117
110
96
79
78
76
70
64
60
64
64
67
71
78
84
86
90
87
85
80
75
65
58
52
51
62
75
77
58
41
46
52
55
50
42
38
38
51
66
73
71
61
40
39
66
87
91
84
78
75
75
71
67
66
66
71
73
73
67
55
45
38
42
42
40
41
41
38
38
49
49
43
30
36
42
44
45
43
41
33
27
23
26
30
37
37
29
27
25
26
27
34
34
32
34
49
65
69
75
77
78
70
71
77
83
84
79
81
83
90
92
92
94
94
78
78
78
78
77
77
79
79
79
79
77
72
72
72
70
69
67
66
65
66
62
55
46
43
44
43
45
47
47
46
45
43
39
37
36
32
31
32
35
45
49
50
49
48
44
39
36
35
33
28
28
27
27
27
24
24
23
25
26
25
25
24
24
23
34
51
75
81
44
24
23
21
21
18
21
24
23
23
24
29
32
37
50
63
77
87
90
80
55
36
42
41
37
30
23
15
14
101
180
177
171
168
168
163
159
158
154
150
67
63
51
49
45
47
48
50
52
60
78
108
126
131
149
153
155
158
159
158
156
157
157
158
156
156
157
158
158
158
156
156
154
156
156
154
151
151
150
150
149
149
148
147
146
146
146
141
140
138
137
139
139
139
140
142
142
144
143
136
132
126
114
104
97
92
85
83
81
75
73
75
84
90
93
100
108
104
85
77
72
66
64
63
63
61
61
61
59
62
68
78
89
99
105
111
111
106
99
88
78
66
66
69
65
43
23
32
44
52
53
45
41
41
46
61
71
61
45
30
44
72
88
91
83
80
74
71
72
71
71
69
70
71
74
75
73
57
45
32
35
37
40
44
40
47
56
54
40
31
36
41
40
41
33
21
14
14
14
13
16
23
30
37
40
38
34
35
36
34
20
17
23
36
55
68
68
60
43
40
47
51
57
72
83
96
110
113
92
85
81
78
78
78
75
76
78
80
81
81
79
77
75
77
75
73
67
58
55
51
47
46
46
46
49
52
51
52
49
44
37
33
35
33
34
31
35
45
56
62
72
77
79
78
76
72
69
63
57
52
46
39
35
30
27
23
22
22
21
23
22
23
27
24
30
49
84
97
66
33
26
25
25
25
26
30
36
41
44
41
34
32
40
48
51
61
65
70
75
67
52
39
27
20
16
15
14
16
49
157
175
168
166
159
156
154
159
154
153
90
83
71
58
46
45
46
46
56
88
112
138
151
159
159
162
163
164
164
163
163
162
162
162
161
161
159
160
156
154
152
152
149
146
144
146
146
148
148
150
150
149
149
148
148
148
148
148
150
150
152
151
151
149
148
148
150
150
148
146
141
142
134
135
133
128
123
118
112
107
103
100
106
110
118
124
132
130
118
111
99
88
80
74
66
64
60
56
52
49
44
44
49
64
75
86
95
101
105
102
98
88
74
65
51
30
22
28
42
51
57
57
59
61
61
65
71
55
36
33
43
64
78
80
80
79
76
73
68
70
72
70
67
68
74
77
79
72
62
43
33
33
33
35
38
52
61
58
35
26
25
24
25
22
21
22
23
24
27
31
31
39
41
46
44
46
43
53
65
62
43
28
24
28
43
56
58
46
39
40
40
54
70
96
114
115
114
114
104
90
78
71
58
58
56
56
60
61
62
62
60
60
60
60
58
56
53
53
50
47
46
50
54
57
59
55
48
42
31
35
42
54
59
66
68
60
45
35
30
27
27
31
33
40
46
50
53
57
57
61
58
54
50
43
38
33
29
26
25
25
24
24
22
33
52
89
108
90
49
30
33
39
44
46
45
53
64
75
75
72
60
49
46
48
44
44
47
54
60
56
45
37
26
20
18
12
13
18
48
71
157
157
162
162
150
156
155
153
149
105
100
87
78
62
50
51
47
78
109
136
157
159
161
164
166
168
167
166
166
165
166
164
158
157
155
156
153
153
147
145
145
143
139
137
140
139
143
149
150
152
153
152
152
154
152
150
148
148
146
144
146
148
146
144
142
142
140
138
139
138
138
139
141
139
137
136
138
141
145
147
146
146
146
147
151
153
149
141
130
124
119
110
102
87
73
67
62
56
52
47
45
44
49
53
58
68
73
77
84
87
87
79
70
55
38
37
38
43
54
58
59
61
64
67
69
68
52
38
43
45
62
63
64
67
69
74
76
72
67
71
74
73
72
75
77
82
82
83
71
54
43
40
35
38
53
65
61
41
27
26
23
24
32
45
51
58
65
69
72
71
65
58
43
31
29
32
42
61
84
87
71
49
31
27
34
43
49
52
55
73
97
115
110
115
119
116
116
113
102
90
68
55
53
48
48
46
47
45
45
47
51
53
52
51
53
55
59
63
65
65
69
68
67
56
43
43
50
64
78
88
93
88
64
31
19
17
18
19
17
18
18
19
22
23
23
25
28
31
33
38
38
40
39
38
36
31
31
30
26
29
28
35
54
91
118
106
83
46
43
44
48
57
64
77
85
92
102
106
97
75
52
34
31
33
36
44
49
48
47
44
36
29
27
15
12
14
29
45
31
108
155
158
160
155
155
154
154
149
115
111
100
89
77
68
63
64
109
135
154
160
161
164
166
167
167
167
168
163
151
144
135
126
124
120
119
118
120
124
125
125
130
133
132
131
132
132
142
147
151
153
154
156
160
160
160
158
156
150
147
141
141
140
140
136
132
132
130
133
131
131
133
131
129
130
129
127
130
136
141
142
141
141
144
144
144
140
134
130
128
123
122
117
116
112
101
90
79
66
57
54
52
51
50
49
48
45
40
40
38
42
45
46
44
41
41
39
39
40
36
37
37
36
41
46
49
43
45
49
56
57
53
49
46
57
67
72
75
71
69
72
74
75
79
80
82
86
87
85
79
71
61
53
47
55
61
61
47
38
33
36
47
60
76
83
87
87
78
72
61
46
30
26
26
29
28
34
54
80
95
91
77
60
52
50
61
84
102
116
119
117
115
114
119
116
116
115
113
107
99
81
62
56
52
51
47
45
45
43
43
42
42
42
43
45
50
55
55
55
60
60
62
59
52
52
66
80
89
92
84
57
39
27
23
24
24
21
18
18
18
18
19
21
23
25
26
28
30
33
30
30
30
29
27
26
26
26
28
31
35
38
53
83
117
115
97
66
50
54
59
67
75
79
86
92
97
97
98
92
71
54
43
34
31
31
37
41
49
53
47
42
34
23
14
15
24
39
28
17
26
133
156
144
151
152
155
156
153
118
115
109
108
98
92
86
96
127
147
157
163
163
167
168
167
165
153
142
127
105
84
75
75
76
77
77
76
76
74
81
88
103
114
119
122
125
129
135
135
140
148
151
155
157
157
153
146
139
130
120
116
112
115
113
110
116
120
123
124
129
131
129
128
128
127
126
126
132
140
146
147
148
146
146
141
136
127
120
118
116
117
117
118
117
118
116
107
98
81
61
50
38
33
33
33
28
29
33
32
31
30
31
31
32
31
30
28
25
22
20
19
19
20
22
30
39
41
51
67
71
57
50
45
35
37
52
64
73
75
74
74
75
77
79
83
81
81
81
81
82
82
76
69
64
58
54
54
47
46
47
56
68
77
80
76
71
63
63
54
45
37
39
39
42
43
45
46
57
79
93
100
95
97
105
110
104
110
113
115
117
113
113
114
114
113
116
118
115
111
107
69
51
54
57
54
54
52
49
44
43
42
40
39
41
43
48
49
48
52
54
54
51
49
45
43
45
51
53
47
35
29
29
30
31
27
28
27
22
19
16
16
16
18
21
26
27
32
34
33
35
35
36
35
32
29
25
25
23
28
33
37
57
86
115
109
78
49
51
52
51
55
66
74
83
88
86
75
65
59
52
42
34
29
24
23
19
19
32
50
55
54
44
32
24
25
30
39
24
17
20
123
162
156
151
147
143
154
152
106
109
108
102
97
98
101
119
140
152
160
164
167
169
164
150
138
116
91
66
64
65
66
68
68
68
70
70
70
69
69
68
70
73
81
94
101
107
116
115
117
123
125
124
125
119
107
92
82
71
69
68
68
69
68
71
77
84
92
100
108
112
114
119
120
123
128
130
132
140
144
144
143
139
128
114
99
83
65
59
56
59
70
82
94
100
98
105
104
100
94
75
56
40
36
28
29
31
33
35
37
36
34
29
26
26
26
24
20
18
17
16
16
15
22
33
43
42
56
72
77
69
56
50
47
45
49
62
73
78
77
76
75
74
78
81
82
79
78
80
80
78
77
77
74
67
59
50
44
52
61
77
74
71
64
62
54
48
44
44
44
46
47
50
53
55
60
64
75
92
107
112
115
103
106
108
109
111
118
116
111
107
109
111
113
117
116
121
117
105
92
61
40
45
54
51
50
48
48
46
45
44
44
43
42
44
49
49
47
47
44
42
36
32
29
25
21
21
19
18
18
19
19
24
30
32
35
32
31
27
20
17
17
17
21
24
28
30
32
35
35
35
38
37
37
34
34
32
30
31
36
39
54
80
107
96
53
42
47
51
55
61
66
71
63
54
46
39
35
32
26
20
19
15
16
17
17
14
17
26
45
52
51
51
43
31
33
33
27
16
11
52
136
162
150
146
144
145
155
83
85
86
84
80
87
98
124
148
159
163
164
161
150
134
109
81
59
60
58
59
57
57
59
59
59
61
63
64
64
64
64
66
69
70
70
70
70
74
78
78
79
80
77
75
73
72
70
67
64
64
64
64
66
68
70
70
68
71
79
83
88
91
92
96
104
111
113
114
110
108
98
83
67
48
36
32
33
27
26
22
22
24
26
31
43
56
72
82
93
94
92
82
67
52
42
38
36
37
40
42
41
35
29
26
26
28
29
20
17
13
15
13
19
32
43
46
47
57
61
73
77
67
62
60
56
57
59
68
78
81
79
77
72
69
74
78
77
76
75
76
76
76
76
77
75
73
60
46
51
55
57
56
52
48
41
30
23
22
24
27
33
36
44
56
63
74
90
115
115
109
112
109
107
114
113
112
111
112
113
107
103
105
105
103
103
93
94
98
96
86
57
38
50
57
56
55
52
51
47
46
43
44
44
45
49
51
51
50
47
40
36
33
28
28
25
24
21
18
19
19
19
21
24
26
32
33
34
33
28
24
22
19
23
24
27
31
32
34
36
38
38
37
38
38
39
45
47
45
44
42
41
51
78
99
81
44
38
38
39
38
33
31
26
18
16
14
14
14
15
14
14
12
12
16
18
18
19
21
22
27
29
40
45
46
40
34
32
26
15
10
12
66
159
161
151
152
144
151
67
68
67
74
83
93
111
133
157
161
162
151
130
106
72
56
52
54
53
53
53
50
50
50
55
55
58
58
60
60
60
62
62
64
66
68
68
68
69
68
68
68
70
70
69
69
68
65
64
62
60
59
60
65
65
65
66
67
70
76
81
85
86
85
87
90
94
98
96
88
78
70
62
51
40
40
38
39
38
37
36
32
32
33
34
38
40
44
47
50
56
65
69
73
67
58
44
38
34
36
36
34
31
29
28
27
29
29
27
21
19
16
14
29
43
46
47
46
45
47
58
71
73
63
56
55
57
53
59
66
75
77
75
73
69
73
72
78
80
77
75
78
76
77
78
79
77
77
67
57
52
46
37
33
28
25
24
19
18
18
27
40
52
76
97
110
116
117
113
114
112
113
110
106
109
107
107
107
104
101
98
97
99
87
89
96
95
94
93
84
56
40
32
33
40
47
52
54
55
53
54
51
46
44
44
42
42
41
44
44
43
42
39
35
32
30
28
25
21
22
22
21
22
23
25
24
28
33
35
34
33
33
31
31
27
27
27
27
27
26
24
24
21
20
26
31
40
46
51
52
50
47
53
77
94
70
34
31
27
27
23
21
17
16
14
14
15
15
15
15
12
12
11
12
12
16
16
16
19
19
18
18
18
26
36
51
41
33
26
16
13
14
33
131
160
150
152
146
156
78
71
65
71
80
103
129
146
160
159
147
113
82
49
42
46
46
48
50
50
50
51
51
53
54
54
54
55
57
57
57
57
58
62
62
63
64
64
65
66
66
64
66
66
66
66
65
64
60
58
57
58
61
64
63
63
64
66
68
74
76
80
82
83
89
91
99
101
104
112
117
112
91
72
54
40
39
36
39
41
43
41
39
37
38
41
43
43
45
45
41
36
34
32
41
49
50
41
35
30
29
29
27
27
25
23
25
32
31
30
23
20
23
37
49
45
48
44
35
35
43
53
63
65
59
55
49
47
43
46
58
69
75
76
76
78
81
77
74
79
82
79
78
77
80
80
78
75
75
74
68
53
38
32
27
27
27
25
24
45
71
107
122
125
114
113
114
109
108
111
111
108
105
105
105
101
101
98
94
99
94
91
92
89
92
97
99
97
88
70
52
30
23
23
25
30
30
35
43
47
51
49
45
45
41
38
35
33
31
29
29
32
33
33
33
32
32
31
31
28
28
28
25
25
25
26
26
26
28
28
31
32
40
45
40
36
36
38
40
41
40
33
27
22
18
22
31
40
44
46
44
46
50
72
88
62
30
24
23
23
22
20
17
18
20
18
16
15
15
16
12
13
17
17
17
17
17
17
16
14
14
14
12
15
33
64
71
56
45
36
23
12
28
111
159
156
149
148
152
116
105
87
80
82
112
138
149
153
134
110
64
44
46
49
50
52
52
52
54
55
55
55
57
56
57
57
58
58
58
59
59
61
61
61
63
64
64
64
63
63
63
62
62
61
60
60
57
55
55
57
58
60
63
63
63
64
65
67
74
77
79
82
85
89
94
102
105
108
115
119
122
109
89
63
40
34
33
38
41
41
41
40
40
45
47
49
52
53
50
44
38
33
30
25
25
29
34
36
29
27
25
25
25
25
23
25
30
33
30
24
22
26
45
51
49
50
43
30
27
29
36
50
56
58
55
53
51
43
40
45
50
60
66
77
78
79
75
70
69
72
77
80
77
81
76
75
75
75
74
74
70
64
52
46
37
36
49
71
109
123
116
115
114
107
106
108
109
101
103
105
105
104
106
102
102
106
98
91
94
92
92
94
93
96
96
96
90
75
55
31
26
23
23
24
22
21
22
25
25
25
27
29
32
34
34
29
29
26
24
23
26
27
28
28
28
27
27
27
30
30
31
31
31
30
27
27
26
25
25
26
32
50
61
66
43
36
37
39
40
44
41
36
23
14
12
14
19
21
26
26
26
28
55
79
71
37
23
22
20
20
21
23
24
24
18
18
18
20
21
24
25
28
20
19
17
14
12
11
14
14
14
11
8
25
59
83
82
75
67
55
38
31
71
144
146
156
147
150
142
139
133
124
102
115
131
146
130
102
67
44
50
53
56
57
59
60
61
61
64
64
64
64
66
66
66
66
66
65
65
65
65
64
64
63
64
64
63
64
64
62
61
61
58
57
57
56
56
58
58
59
61
61
64
64
65
66
68
72
77
79
83
85
87
93
96
98
99
103
104
95
82
70
53
40
34
34
35
40
45
45
50
53
55
59
64
64
61
54
48
44
39
26
20
19
18
20
23
23
23
23
23
23
23
23
23
23
26
26
26
21
32
46
48
46
46
41
31
23
19
24
34
40
50
52
52
51
50
53
48
40
46
59
70
76
76
73
70
70
69
68
72
83
79
79
78
74
75
74
71
69
68
67
60
58
66
93
128
124
114
107
106
110
103
102
103
100
99
100
102
100
100
101
95
94
93
89
92
94
97
96
95
98
96
94
91
80
56
34
31
24
25
22
21
22
22
23
21
23
24
23
25
30
33
31
31
30
28
21
20
23
26
29
29
29
29
29
28
27
23
19
21
21
21
24
24
23
23
23
22
25
32
59
59
46
40
39
37
35
35
33
28
17
13
12
12
13
13
16
17
20
22
51
76
78
56
31
17
17
20
20
18
16
16
16
17
18
19
25
41
65
83
63
20
10
7
5
6
9
12
14
18
14
20
49
77
83
83
78
74
69
58
83
145
150
146
153
153
140
143
146
140
131
128
130
137
103
73
50
50
58
60
64
65
65
67
67
67
66
68
68
68
68
70
69
69
69
69
72
70
69
70
70
73
73
73
73
73
73
69
67
65
62
61
61
61
61
61
63
65
65
65
65
65
66
68
69
75
79
81
82
83
89
88
91
89
91
94
90
80
67
58
51
46
43
42
47
54
60
63
63
67
71
69
68
61
57
51
47
35
24
18
18
17
18
20
22
22
22
23
23
23
23
22
22
22
23
23
23
21
32
46
48
46
47
40
27
22
19
19
22
28
38
45
47
47
42
39
40
47
51
53
58
62
64
69
70
70
70
70
69
71
76
81
79
76
74
72
70
71
70
72
73
86
105
133
121
113
106
104
108
108
101
101
99
98
93
96
98
96
91
87
90
94
96
96
98
100
98
101
98
97
94
85
71
47
34
36
41
41
38
33
23
22
22
26
29
29
30
33
32
34
33
44
50
56
55
53
50
42
38
33
33
31
33
33
33
31
27
21
19
19
19
16
16
16
17
17
17
20
32
45
47
44
38
35
34
33
32
24
16
16
16
19
21
21
25
25
24
21
27
51
77
88
73
53
34
20
15
14
12
13
16
16
17
15
18
37
93
132
130
94
37
7
4
4
3
7
12
16
20
13
13
30
57
79
79
79
78
73
71
99
144
148
145
151
151
137
143
143
138
132
128
129
114
81
59
48
55
63
66
68
66
67
70
71
72
72
74
75
74
74
74
76
78
81
86
88
88
89
88
85
82
83
82
80
74
72
70
70
68
64
65
65
67
67
67
69
68
68
69
69
71
72
74
77
80
84
86
87
90
91
94
96
97
100
100
94
85
69
61
57
52
54
59
59
66
74
79
83
81
75
68
56
48
42
32
21
18
15
16
16
17
19
21
21
22
22
22
21
21
21
21
21
20
20
20
20
19
33
48
51
48
47
42
27
17
17
17
17
18
23
31
37
41
38
35
27
22
22
22
21
26
36
57
67
72
72
71
71
69
68
69
73
74
74
73
70
70
70
76
97
116
124
110
101
104
106
100
104
105
98
97
97
93
88
85
85
92
92
93
93
95
97
98
104
103
103
100
97
90
83
63
45
36
36
33
33
42
48
52
46
38
34
34
38
44
42
40
44
59
68
76
82
87
95
99
103
101
89
75
59
50
48
45
42
42
37
24
19
18
16
17
17
17
19
22
26
32
34
37
37
34
28
28
30
29
29
32
34
34
34
33
35
36
36
32
30
27
37
59
87
88
80
72
51
31
16
11
11
12
13
10
10
15
45
108
128
130
127
108
68
20
6
6
7
11
11
14
13
9
10
16
35
54
66
70
69
72
71
91
150
163
152
149
153
138
145
148
139
129
109
98
79
56
55
66
79
86
78
73
74
80
82
83
80
79
78
80
88
88
92
95
99
106
103
97
93
92
95
99
102
110
107
99
92
86
81
75
70
70
68
68
70
72
74
74
75
75
77
79
78
78
79
81
84
88
89
91
94
97
98
98
97
94
90
86
76
64
61
60
65
66
66
69
74
80
83
78
71
62
54
47
37
32
27
19
17
15
16
16
19
21
21
22
23
23
22
21
21
21
20
20
20
20
20
20
18
32
48
50
48
49
43
29
17
13
13
13
13
14
15
21
25
30
28
25
20
17
15
15
13
19
32
52
65
73
71
71
71
70
70
67
67
68
74
76
74
71
81
97
100
97
99
105
106
102
99
94
93
85
90
88
82
81
83
88
92
92
92
94
98
103
107
107
104
105
101
92
78
65
53
49
44
37
38
34
34
39
47
55
54
51
50
54
55
55
50
65
90
96
102
112
116
122
123
125
127
126
118
105
86
72
62
57
55
55
45
34
31
27
21
19
19
21
25
37
42
45
44
41
37
31
34
36
40
46
50
51
47
44
41
36
35
33
33
33
31
42
65
86
84
80
77
71
55
35
16
15
15
17
16
25
62
112
121
124
124
125
109
91
43
9
9
7
10
10
10
11
11
13
13
15
28
39
48
54
58
64
66
113
142
150
156
158
138
148
147
131
107
88
67
57
61
68
79
99
107
100
81
84
93
101
105
101
98
102
101
99
99
85
82
83
86
91
90
90
92
91
93
92
92
94
96
94
95
89
84
77
76
74
74
77
78
80
80
81
82
83
88
90
82
84
87
90
92
91
91
94
95
92
92
87
79
70
64
63
61
63
64
65
65
67
71
74
76
70
64
57
55
48
44
40
34
27
21
16
16
16
18
20
21
23
23
22
22
22
20
20
20
20
20
20
19
19
18
20
29
46
53
51
49
43
27
21
14
14
13
13
13
11
12
13
14
14
18
16
12
10
11
11
12
15
30
48
69
76
79
78
73
72
70
70
66
64
66
72
80
84
85
95
97
100
102
99
92
84
80
83
79
84
90
91
88
85
84
88
89
94
98
103
105
107
106
109
103
91
73
64
61
55
53
44
41
39
39
37
35
39
45
50
50
48
56
56
50
57
76
107
115
117
119
116
118
115
111
105
95
86
74
63
60
53
58
65
68
63
56
50
47
48
36
30
25
29
39
45
45
44
46
41
36
33
35
38
42
49
49
47
47
41
36
31
31
30
29
29
40
56
68
73
79
78
78
73
59
37
20
21
27
37
71
104
113
117
119
121
115
113
95
52
12
12
12
12
14
14
17
17
18
18
17
14
12
20
28
40
49
50
56
95
147
152
156
135
146
140
123
99
86
77
84
88
94
105
110
112
110
108
102
98
106
101
86
61
52
49
47
51
52
61
69
73
77
79
81
80
81
81
84
86
86
85
83
83
82
81
79
76
76
77
80
83
85
85
84
85
89
81
83
81
85
84
84
77
77
78
79
75
69
68
60
59
61
61
61
62
62
64
67
67
66
67
68
67
62
56
48
42
32
35
36
32
27
20
17
16
19
21
24
23
23
23
22
22
22
20
20
20
20
20
19
19
19
20
22
25
44
49
48
52
52
45
44
39
41
41
41
39
35
29
22
23
26
32
41
42
44
46
45
53
59
69
86
104
121
130
118
88
63
64
76
76
72
84
104
101
82
84
91
92
89
86
83
81
79
81
85
85
85
88
92
96
94
82
74
84
93
97
101
98
96
87
66
50
61
66
62
60
54
49
47
45
41
39
41
44
42
42
45
51
52
51
48
36
39
67
91
109
109
105
102
96
89
81
73
63
61
54
46
43
43
49
60
69
64
56
51
45
34
28
21
20
26
35
37
37
37
35
36
37
36
38
40
42
43
44
44
44
40
36
34
32
30
29
28
28
35
44
54
65
73
77
81
76
57
42
46
51
76
97
106
107
111
115
113
105
112
97
52
19
19
19
22
22
23
20
20
19
21
20
17
12
9
10
16
32
53
54
67
119
154
151
118
129
136
126
115
104
108
102
91
86
82
80
80
79
78
80
70
53
48
41
32
28
23
23
24
24
29
34
43
54
61
66
71
75
76
77
76
76
76
75
79
82
83
77
82
82
87
94
95
97
94
88
84
91
85
83
88
85
79
70
61
54
51
54
56
58
56
55
54
53
53
55
56
55
54
55
58
61
62
64
57
51
42
33
27
27
28
26
25
19
14
13
18
23
25
26
28
26
26
23
23
23
22
22
21
18
18
17
20
20
20
23
27
39
57
63
77
75
54
53
51
50
47
44
44
46
47
49
49
56
70
87
102
112
113
113
115
118
119
124
130
139
145
131
95
55
58
89
108
109
103
91
76
76
76
79
82
81
77
80
82
83
84
84
84
85
86
86
86
86
78
75
80
83
80
79
67
43
38
40
44
53
58
63
63
57
52
45
42
39
39
40
47
44
40
41
51
54
54
53
51
48
57
74
83
83
80
74
68
64
60
56
51
48
41
35
34
39
53
62
70
62
56
49
32
22
19
17
19
26
32
30
30
31
34
34
35
38
38
38
42
42
43
44
44
43
39
35
35
33
30
29
31
32
35
44
54
63
74
76
77
71
63
65
77
91
101
105
106
103
112
106
105
106
93
44
18
16
16
17
17
20
22
25
25
25
25
23
16
13
10
15
36
51
51
64
108
153
157
98
94
96
95
93
87
83
85
83
81
79
78
79
78
77
70
54
45
42
38
35
34
35
38
39
41
49
54
62
72
78
81
83
88
88
83
73
67
61
59
70
74
71
72
90
101
113
121
119
117
104
90
80
88
93
89
92
95
77
62
56
52
47
48
49
51
50
45
39
44
44
41
46
50
55
60
61
62
58
54
50
43
35
33
33
33
33
32
29
26
25
28
33
38
41
40
38
34
31
31
29
29
27
27
25
20
18
20
19
19
19
17
23
46
74
79
47
45
41
42
43
40
36
31
30
29
30
32
34
36
36
36
37
47
59
70
90
100
104
108
108
108
101
92
76
49
61
98
122
116
98
67
68
68
73
83
89
89
86
81
81
81
83
83
82
84
87
85
86
86
82
79
71
60
48
40
38
45
53
56
56
55
55
55
58
60
56
49
41
36
36
34
33
32
28
33
46
61
59
59
55
53
53
54
57
59
63
60
57
50
48
38
34
33
33
32
29
37
49
61
65
61
57
46
29
23
20
21
24
26
27
28
28
30
34
34
36
38
41
39
45
45
43
43
43
43
39
41
40
39
39
39
36
41
49
52
57
63
69
68
72
74
74
78
86
96
99
103
109
109
93
88
112
109
86
33
21
17
15
17
20
24
25
28
33
34
30
26
19
16
12
16
21
27
36
57
101
144
147
89
87
87
86
86
84
85
83
79
79
76
78
78
80
79
71
65
64
61
59
56
52
54
56
62
65
71
75
82
88
93
96
100
101
104
107
104
91
73
66
60
55
54
57
77
102
124
133
129
127
117
98
79
95
99
97
96
98
84
63
56
54
55
50
50
49
47
45
44
44
42
48
55
56
58
62
66
68
67
63
59
57
52
47
42
40
42
43
43
43
43
45
46
49
51
56
52
52
48
46
46
43
42
40
37
32
27
25
18
18
16
26
49
61
58
39
41
42
44
42
38
33
30
25
21
23
20
17
17
17
17
18
19
19
20
27
29
32
34
38
39
40
44
45
42
44
62
77
110
99
77
74
84
87
90
95
97
93
87
81
80
81
81
81
79
80
82
81
80
77
69
56
35
27
34
44
53
56
52
47
46
46
47
49
50
55
56
49
43
34
26
17
21
21
23
25
40
52
56
61
62
62
59
56
51
52
52
51
47
41
43
37
20
24
26
25
27
34
50
62
65
60
56
41
32
27
25
33
32
32
33
34
37
36
37
37
38
39
41
44
47
47
47
47
47
45
43
42
43
48
50
53
59
65
66
66
66
65
65
65
64
63
70
81
89
95
99
105
111
108
82
90
104
102
69
30
23
22
24
31
39
43
43
45
40
43
39
36
32
28
22
17
14
12
15
35
89
140
141
88
90
89
88
90
79
78
77
78
79
80
81
78
71
64
60
58
57
67
75
70
68
66
66
69
72
78
81
84
87
90
92
95
97
102
111
115
111
98
73
55
39
30
23
55
90
112
125
123
121
116
100
83
82
106
103
101
99
95
73
55
51
55
55
57
55
56
57
53
55
54
57
60
64
75
79
74
68
69
67
65
62
58
52
45
43
41
41
43
45
48
50
53
54
55
58
59
60
61
64
63
66
66
65
59
53
44
33
29
26
48
84
87
55
30
35
44
47
46
46
50
51
51
53
51
47
43
42
42
39
34
30
27
25
24
24
24
23
37
57
82
107
125
108
104
112
118
115
101
96
95
97
95
94
93
96
97
92
90
87
81
75
75
75
75
78
77
73
64
33
25
23
25
33
42
48
46
42
44
46
42
44
45
48
50
45
41
39
33
29
22
22
20
22
25
32
41
46
50
57
61
61
59
54
53
53
50
47
49
48
43
33
15
12
12
13
15
23
39
51
62
60
51
36
31
32
34
36
35
32
32
32
35
37
39
39
41
42
42
45
46
48
48
52
50
48
47
47
48
56
63
66
73
74
70
68
66
66
67
67
66
65
70
81
91
94
97
102
112
105
100
104
105
97
63
30
35
41
54
68
66
62
56
54
52
50
49
46
45
41
36
29
25
19
13
17
73
147
147
95
85
80
82
81
79
79
80
83
82
83
76
71
65
57
44
32
36
43
58
59
60
61
62
60
64
70
72
73
74
74
76
77
81
83
92
106
115
104
82
61
36
22
38
68
92
114
124
117
113
108
103
87
67
80
117
111
106
100
89
70
60
54
51
53
52
57
56
57
56
59
56
65
60
52
50
50
50
51
51
51
52
52
52
50
48
43
39
37
34
36
36
36
38
40
42
41
44
46
49
52
57
62
64
64
61
53
45
61
93
136
131
67
22
13
17
32
49
48
44
49
53
59
65
68
68
68
68
67
67
65
62
59
54
49
52
67
82
115
151
164
156
143
126
106
97
100
112
116
115
108
103
94
88
86
91
90
89
87
82
79
76
73
74
77
79
77
71
63
46
37
26
20
23
32
34
34
38
40
42
43
46
46
46
45
39
33
33
35
45
49
45
39
37
39
51
49
45
44
48
54
56
58
56
52
48
46
46
43
39
35
27
18
15
15
15
14
14
26
41
55
57
46
27
26
29
31
32
29
28
27
30
32
33
31
31
31
32
34
37
41
43
45
48
49
50
49
50
54
58
63
63
60
60
61
64
70
71
72
76
78
75
80
85
93
96
101
104
107
98
101
102
101
88
55
37
54
76
77
73
67
62
59
61
59
61
58
51
52
47
43
36
27
20
16
25
80
149
151
91
91
86
86
85
86
86
88
81
71
68
70
71
73
64
56
46
38
38
41
43
44
39
38
45
51
57
56
59
62
63
67
67
68
68
74
85
89
90
83
60
38
59
85
101
113
119
116
109
104
98
89
80
70
64
66
97
110
104
98
87
71
65
58
54
52
52
56
54
53
51
47
38
38
38
37
37
37
35
35
35
36
36
37
39
39
40
39
37
34
32
31
31
32
33
33
34
30
25
21
22
26
35
38
47
48
55
81
127
167
152
78
17
14
14
12
21
40
48
46
43
48
54
60
64
66
69
71
71
74
74
75
74
74
73
97
137
166
172
158
154
145
120
102
105
121
130
128
125
119
110
97
90
84
79
82
84
84
83
80
76
69
70
73
76
77
77
77
76
74
70
62
46
33
31
31
32
33
33
38
42
40
41
42
41
36
32
34
38
39
41
44
46
46
47
47
46
44
41
41
45
50
52
51
40
38
37
37
34
31
28
24
17
15
15
17
22
21
21
35
46
50
36
23
31
35
35
32
30
27
25
23
23
24
23
23
25
27
27
29
31
31
29
30
30
32
36
39
39
42
43
45
48
54
63
72
81
85
83
80
82
82
83
91
94
97
101
107
95
98
99
100
101
86
61
70
80
79
77
72
70
68
66
62
61
61
61
64
55
43
33
23
22
24
24
35
79
136
149
92
92
92
95
93
99
99
99
92
82
75
70
65
63
65
68
68
62
58
50
39
32
27
22
23
27
34
36
37
39
41
47
53
55
57
57
58
62
62
53
39
63
86
107
103
86
77
86
100
107
107
103
87
72
67
67
67
66
74
97
106
92
75
72
68
59
52
49
48
44
38
36
37
37
40
36
35
33
33
33
33
33
32
29
26
23
21
23
27
32
30
30
28
23
22
24
20
20
16
14
14
14
15
23
34
74
112
150
178
161
114
28
15
13
13
13
13
21
35
44
45
44
47
53
57
60
63
65
67
66
68
71
72
76
103
146
173
170
167
154
135
114
116
125
141
138
135
133
119
115
104
91
84
77
74
75
77
80
79
74
43
30
32
40
54
63
69
68
69
71
75
78
80
73
66
57
55
47
45
43
37
34
33
32
31
30
33
35
36
38
42
44
43
41
40
37
35
34
32
35
42
44
43
31
29
29
29
29
27
23
21
18
16
12
12
15
20
27
30
35
43
47
37
31
34
36
36
33
30
28
26
25
25
24
23
26
32
32
33
35
29
20
17
15
15
17
20
26
32
34
34
33
41
52
66
84
90
89
82
73
70
80
88
92
93
95
101
103
96
100
103
104
100
92
85
84
81
80
77
71
65
64
65
63
64
61
55
53
48
34
28
27
34
38
42
48
74
128
144
97
98
95
96
102
101
107
111
110
109
103
90
77
67
63
55
51
57
59
61
64
65
57
42
39
39
41
48
55
59
65
70
79
84
90
88
87
87
86
86
83
97
107
106
68
40
42
63
91
103
107
112
98
75
60
57
66
71
77
78
88
94
99
102
99
87
72
70
56
46
37
33
37
38
41
41
38
35
34
34
33
33
32
28
24
22
18
16
15
18
21
21
22
18
17
15
15
15
15
14
14
14
18
55
116
171
179
174
164
125
43
21
14
14
12
12
12
11
13
19
32
38
40
43
47
50
52
55
57
61
64
64
76
113
156
172
169
160
144
126
126
133
141
140
138
133
129
126
119
112
101
91
82
78
70
65
63
57
44
40
37
35
29
17
11
10
22
33
45
51
58
62
71
74
75
76
82
84
81
75
70
61
46
38
30
26
26
30
36
43
45
44
41
33
18
18
18
18
23
24
29
27
28
28
27
27
26
21
20
21
19
19
15
13
10
9
11
14
21
29
39
44
37
34
35
34
36
37
35
30
26
30
28
28
29
38
48
54
56
46
27
12
10
11
13
15
23
27
31
29
27
29
43
63
81
97
90
79
64
56
59
79
87
91
94
99
103
95
97
99
101
101
97
86
86
79
69
62
61
61
61
62
55
45
41
41
46
47
44
45
46
50
47
47
47
45
51
85
131
87
86
79
85
98
105
109
113
113
104
94
81
73
70
66
56
48
43
44
50
58
67
76
90
93
101
114
120
121
125
130
132
133
135
136
136
136
138
138
137
137
141
144
142
138
131
125
116
117
118
119
116
102
80
57
48
55
66
75
82
80
81
91
97
99
97
101
103
98
78
63
52
45
43
40
42
42
39
40
36
35
33
31
27
23
20
21
18
18
18
19
19
16
21
24
26
24
24
24
21
21
18
50
123
173
181
178
169
128
50
23
19
16
14
12
12
11
12
12
12
12
19
31
37
36
39
38
44
48
51
53
69
112
163
175
168
153
134
128
131
140
141
141
139
136
136
137
135
123
115
109
94
78
73
67
65
51
47
45
44
44
42
37
22
9
7
9
11
13
13
16
20
36
48
54
55
54
47
42
35
28
25
23
23
20
22
22
29
45
58
61
55
50
32
12
16
20
28
35
37
37
40
38
35
33
33
32
33
35
36
38
36
31
23
17
11
10
8
9
12
20
26
33
36
37
39
39
37
34
31
33
35
35
34
38
50
63
68
71
57
17
14
15
15
18
21
30
31
27
21
18
30
51
73
89
88
72
56
43
42
64
78
86
90
94
96
100
95
97
98
98
96
91
82
67
60
62
58
52
49
48
48
48
45
43
38
41
44
47
45
42
41
42
45
44
37
30
48
110
55
59
79
92
96
98
98
98
99
89
76
72
72
71
63
55
47
44
54
67
85
96
101
108
112
117
123
122
124
124
128
130
129
129
129
130
129
129
132
134
134
138
136
138
138
140
139
138
138
139
147
147
144
138
126
109
86
81
88
87
85
74
65
79
85
96
104
105
105
107
105
115
109
85
63
53
47
42
41
40
35
32
29
25
26
29
27
25
25
24
25
34
44
49
52
58
65
67
63
58
53
46
95
153
181
177
164
130
53
37
30
23
21
17
12
11
12
12
12
12
13
13
12
18
21
22
21
26
30
39
72
124
170
176
167
145
132
135
147
145
143
144
141
140
136
142
144
128
109
93
80
67
66
59
49
41
40
43
46
47
47
46
45
32
17
8
8
10
9
9
9
13
25
39
43
44
37
32
26
19
18
17
17
18
18
18
19
34
52
69
76
74
63
41
33
41
54
64
69
69
71
70
68
65
63
61
58
58
58
62
61
57
47
43
36
28
19
17
17
19
28
27
25
22
23
28
37
32
31
30
35
35
36
36
46
61
73
75
71
49
20
16
16
16
16
17
15
10
7
8
17
32
58
76
81
58
42
39
43
49
66
80
87
91
94
98
93
94
96
96
97
88
80
70
57
45
40
39
40
42
44
47
49
40
35
32
38
42
39
36
37
41
39
33
25
16
6
17
87
62
67
82
88
92
93
91
88
84
72
67
65
62
60
69
77
80
88
91
93
98
100
102
106
107
108
118
119
121
123
124
124
124
126
126
127
127
125
127
127
127
128
130
130
133
134
136
134
136
137
141
143
146
146
150
151
148
145
140
132
124
112
87
58
62
84
94
100
106
109
113
119
119
121
121
121
93
67
52
40
32
26
21
19
28
34
34
32
34
37
51
64
78
89
97
100
105
104
98
95
93
87
133
167
177
149
100
67
62
58
53
41
31
23
17
14
11
12
12
12
12
12
13
12
13
14
15
15
28
69
140
173
173
164
148
142
144
146
146
139
140
142
146
146
140
127
96
71
59
51
48
37
27
17
11
10
19
35
45
48
48
48
48
40
22
9
8
9
11
11
10
10
15
27
35
39
35
32
24
22
17
17
18
17
17
16
21
39
57
70
80
82
69
65
72
75
78
76
79
79
81
80
80
79
79
77
75
72
67
64
60
58
56
56
56
51
51
45
38
31
22
17
18
18
21
20
20
21
16
16
18
24
30
32
37
48
61
62
54
40
25
18
14
13
13
8
6
6
5
11
21
36
58
63
46
31
30
35
32
39
63
84
89
92
92
95
86
92
95
93
82
77
57
42
37
37
35
35
34
36
36
39
42
39
37
38
36
32
30
30
30
30
25
15
6
3
5
14
70
68
69
80
87
92
93
92
81
67
63
61
56
55
54
57
77
91
98
98
99
97
100
102
104
106
106
112
116
119
123
121
121
121
123
123
124
123
121
121
123
125
126
127
127
128
131
131
131
132
133
137
139
137
136
136
139
145
144
144
144
146
143
145
141
136
117
95
90
97
101
107
113
119
121
126
129
132
134
127
79
49
26
18
17
28
36
38
43
42
52
74
88
102
111
109
110
110
110
104
100
97
96
139
168
157
100
74
70
70
68
65
55
44
29
22
17
14
13
13
12
12
12
12
11
12
13
22
55
101
154
169
169
160
153
148
147
145
142
139
133
132
131
126
104
66
43
38
34
28
22
17
11
11
8
8
8
13
26
37
45
47
47
46
42
31
14
8
9
11
11
10
10
10
15
19
32
37
35
34
28
22
20
19
19
19
20
25
39
53
60
61
59
57
59
62
62
66
70
73
78
81
81
79
75
69
66
57
51
47
41
38
36
34
33
41
47
53
53
47
41
32
27
23
19
9
8
10
10
10
10
9
10
13
17
20
24
32
37
36
31
26
23
18
15
12
5
4
4
6
10
20
32
39
30
17
20
24
24
13
33
73
85
86
87
93
87
91
93
90
79
50
29
29
30
34
40
40
40
40
39
39
39
39
36
36
30
27
24
19
16
15
12
12
10
12
15
22
32
70
74
66
64
76
85
88
85
76
66
63
60
56
53
51
51
50
53
81
89
97
105
109
112
113
115
117
118
118
122
123
125
125
128
127
132
132
135
134
133
132
129
128
130
130
133
132
130
129
130
131
134
133
134
134
135
137
141
144
144
147
147
147
146
150
151
150
150
144
124
98
99
105
108
115
124
128
134
137
142
144
140
82
52
33
30
34
38
38
42
50
69
79
85
93
97
99
102
103
105
101
97
108
150
160
131
76
69
67
66
63
60
52
47
40
31
24
18
14
14
14
14
14
14
13
21
51
94
152
166
168
166
160
155
154
150
148
144
138
135
123
110
86
41
26
22
19
19
19
17
14
13
11
11
10
10
10
9
15
30
43
48
51
47
46
38
23
9
10
11
11
11
10
10
10
13
27
38
40
40
35
30
24
22
21
20
29
31
36
43
41
39
42
46
51
59
65
71
79
79
79
77
73
68
59
52
43
37
32
29
27
22
22
26
28
39
48
55
65
62
64
56
48
33
24
18
21
17
14
12
12
12
15
19
17
12
14
15
20
22
23
24
29
29
25
18
12
6
4
6
12
18
23
19
16
19
25
23
14
16
42
76
83
82
85
90
83
88
88
81
49
20
21
23
27
32
35
39
42
42
42
39
37
33
30
28
26
23
22
18
17
16
17
22
28
31
50
60
67
76
78
74
73
71
73
79
79
75
71
67
63
58
55
50
52
48
48
42
49
74
89
100
108
110
117
119
119
119
123
123
123
122
124
127
127
127
129
131
130
130
128
133
134
141
150
150
148
144
142
136
138
141
139
134
137
139
139
141
142
144
145
147
146
147
147
146
147
147
144
145
142
130
113
110
119
122
126
133
138
142
145
148
141
97
59
42
36
31
29
26
26
27
33
43
49
56
65
76
120
118
97
112
150
140
100
71
69
68
63
61
53
48
41
38
32
27
20
21
22
27
35
37
38
49
87
140
160
162
167
166
167
162
162
157
151
143
134
126
102
50
23
20
19
23
22
22
21
20
18
14
14
14
12
12
12
12
12
13
25
38
46
47
46
45
41
32
16
11
10
12
13
11
11
11
13
20
32
37
39
37
34
28
23
23
22
33
44
45
43
41
37
43
49
59
67
67
67
67
70
68
61
50
42
28
21
17
13
13
12
11
12
14
16
20
30
45
63
81
85
91
81
65
62
62
54
53
42
25
15
14
21
24
33
37
30
13
12
14
14
17
23
28
33
28
23
20
16
16
16
15
16
19
14
16
20
19
12
9
14
53
75
80
80
86
83
81
86
78
52
22
17
17
20
24
28
33
41
41
38
32
26
20
14
15
17
18
18
20
15
19
25
32
50
70
76
74
71
72
71
83
85
83
82
82
86
86
89
83
79
76
73
60
53
49
51
49
47
45
44
47
53
82
100
111
120
123
122
123
120
121
122
122
123
123
122
123
123
120
122
130
132
133
135
138
140
142
144
143
141
148
153
158
162
159
155
148
147
145
145
147
145
145
145
147
146
144
146
151
147
146
145
145
142
142
130
124
125
129
133
135
140
144
141
139
111
72
43
30
25
16
17
17
23
30
37
42
101
167
183
168
153
157
135
86
69
60
57
61
61
59
53
48
40
33
29
28
33
35
32
35
36
49
90
148
162
167
167
168
170
167
164
162
150
139
112
62
39
31
30
27
23
24
23
24
24
27
27
26
21
21
18
17
18
15
17
16
18
19
30
43
46
49
46
42
36
20
11
10
12
13
13
11
11
13
15
21
28
30
30
27
23
21
22
25
30
41
47
44
47
49
54
59
62
57
56
54
50
46
32
19
12
8
6
6
6
6
8
9
11
13
14
16
17
25
40
57
77
84
94
91
70
69
74
88
90
78
61
39
22
15
19
23
31
30
23
13
13
11
11
10
10
13
18
21
20
19
20
21
22
18
14
14
16
18
10
11
11
25
61
75
79
81
84
76
81
76
58
26
17
18
18
19
25
28
33
35
28
20
12
10
11
11
17
22
25
21
19
20
31
51
80
80
79
79
75
75
75
72
84
86
88
91
93
92
93
96
92
91
89
89
79
70
58
54
51
47
44
42
41
41
52
77
94
104
113
114
120
122
122
126
125
123
123
125
123
123
125
124
127
133
133
134
135
139
141
144
146
146
148
151
153
153
154
153
150
150
158
169
171
170
163
156
153
152
152
148
147
146
145
144
141
140
139
139
141
141
134
132
129
121
118
131
139
146
144
104
67
44
33
29
30
32
37
43
89
160
187
187
182
180
174
169
168
154
135
94
78
73
70
64
56
48
39
38
35
35
33
33
35
38
81
133
155
161
166
168
169
163
159
154
129
62
41
39
36
36
36
34
33
32
31
34
34
32
35
37
36
35
33
28
22
19
16
16
14
16
16
21
32
39
47
46
44
42
28
18
11
11
13
14
14
13
12
14
15
16
16
17
18
18
19
17
17
20
32
43
52
59
64
63
54
50
44
38
32
23
13
10
8
8
7
6
6
6
6
8
9
12
13
16
17
19
23
28
42
59
72
79
82
75
66
62
69
75
82
79
54
35
26
19
16
15
12
12
11
11
11
10
8
8
8
8
10
11
17
20
21
19
15
10
12
14
13
12
12
15
35
64
74
76
78
78
72
73
65
39
17
18
21
21
22
24
23
22
17
12
11
9
9
11
15
27
31
22
20
24
43
75
86
84
82
83
80
81
80
76
66
83
82
81
82
85
90
92
92
92
95
96
93
80
68
55
50
50
46
45
41
39
35
47
74
89
96
96
94
95
96
98
104
110
119
122
123
123
123
127
127
128
133
134
134
136
139
141
144
142
142
145
147
148
151
152
154
156
158
158
160
159
158
157
155
154
156
163
168
170
164
158
157
153
149
143
142
141
135
134
130
129
121
116
116
109
108
109
118
126
123
107
79
61
62
80
131
177
186
186
181
180
175
172
173
172
162
161
153
144
138
136
122
94
71
57
48
44
35
32
31
30
49
107
147
157
159
165
165
160
145
98
51
42
40
40
37
35
35
34
34
33
34
34
33
33
33
34
33
35
37
36
27
16
15
13
12
13
13
14
15
23
33
41
44
44
42
36
24
12
10
12
14
14
14
16
17
17
15
15
15
18
22
25
23
21
21
24
36
50
59
60
55
46
38
29
15
11
9
8
8
7
6
6
6
6
6
7
8
10
13
14
17
17
18
21
23
27
39
44
47
45
34
26
30
40
47
46
40
38
33
25
18
18
18
18
18
16
14
12
13
14
13
11
8
8
8
10
13
16
13
10
10
11
14
14
14
16
22
37
60
69
73
77
69
68
67
49
20
19
22
25
27
28
25
21
14
10
10
12
14
12
15
27
34
27
24
38
70
85
88
87
86
85
82
80
75
71
68
66
77
78
78
82
85
91
93
95
97
97
98
102
87
66
53
45
47
51
54
43
37
36
48
71
87
93
91
90
80
70
57
53
79
109
129
130
127
124
125
128
132
134
138
138
141
141
141
141
141
143
145
147
148
150
152
153
155
155
155
156
155
155
155
157
159
159
159
163
160
157
156
147
143
143
144
144
146
148
150
150
145
139
136
132
125
118
112
107
113
121
126
123
112
99
118
173
196
189
182
177
174
172
171
170
163
162
160
158
155
152
152
146
142
136
130
130
137
128
111
78
56
78
121
148
154
156
154
142
103
49
42
38
37
37
37
35
35
35
33
33
33
33
33
33
33
33
34
32
34
36
34
34
35
33
32
32
30
30
31
30
32
36
41
41
43
44
39
27
15
11
10
13
13
14
14
15
25
27
27
26
25
32
34
35
29
28
21
20
23
33
36
33
25
18
14
12
8
7
6
6
7
6
6
6
7
7
7
9
11
14
17
20
20
20
21
21
18
23
20
17
13
9
9
12
22
29
31
25
17
14
14
14
14
17
21
23
21
14
12
14
18
17
16
13
13
12
15
18
16
12
11
11
13
15
14
16
24
29
36
54
65
71
70
61
65
51
24
18
21
25
29
31
32
27
23
16
13
13
12
13
16
24
37
34
42
76
87
88
90
87
86
79
73
76
74
74
73
72
70
67
70
73
78
84
91
95
97
98
97
94
90
77
64
53
52
52
55
54
53
50
49
59
76
88
87
79
71
60
42
39
64
104
132
138
136
137
132
124
118
120
125
126
125
129
131
131
132
136
140
142
145
147
152
153
155
155
155
155
156
155
153
153
152
150
153
155
155
155
155
155
153
154
153
151
150
150
144
138
135
130
119
112
101
83
66
48
36
34
33
36
55
82
122
168
200
197
206
191
181
174
170
167
162
160
157
157
157
153
152
153
154
151
149
145
144
141
139
135
135
135
129
128
131
133
145
132
67
44
41
40
39
37
34
35
32
32
32
32
32
32
31
31
31
32
32
32
33
36
38
35
35
36
40
40
41
44
48
51
49
51
53
52
48
41
42
43
33
22
12
12
12
12
14
13
14
17
21
26
28
30
32
39
40
39
35
28
20
17
18
18
16
14
11
13
13
11
9
7
7
7
7
7
8
9
11
12
14
16
19
24
26
30
26
25
24
20
15
13
12
12
11
12
12
15
19
22
20
17
18
22
19
17
16
18
18
16
14
12
13
14
17
17
17
22
25
30
27
17
11
11
13
13
16
19
25
29
30
39
51
59
67
61
55
51
29
17
24
34
30
25
29
31
28
24
21
16
12
13
15
27
43
57
71
81
84
91
87
79
74
73
78
77
78
77
74
71
70
57
57
59
66
69
77
79
81
84
85
83
79
69
63
55
48
49
48
45
44
44
44
48
66
85
85
75
65
51
31
31
35
60
108
132
134
131
127
127
120
117
113
106
102
95
89
86
90
100
111
119
126
134
138
145
152
153
156
156
154
152
150
150
148
151
149
150
151
151
149
148
146
150
147
147
147
144
135
131
116
99
76
53
40
35
35
33
35
32
30
30
32
32
73
167
194
196
199
191
181
203
184
175
168
159
156
154
153
151
147
148
147
145
142
142
141
142
139
136
135
136
137
138
135
134
131
128
124
120
116
110
104
92
80
58
49
47
41
39
36
34
35
34
32
32
34
34
34
33
36
37
36
36
38
39
39
41
44
50
49
48
50
53
53
47
44
39
39
32
26
23
31
31
32
32
27
23
20
20
23
32
32
32
37
41
41
41
34
26
17
15
14
14
17
17
17
15
13
13
10
10
10
10
10
12
13
15
18
20
28
34
34
35
33
34
29
23
18
15
15
15
17
18
16
14
13
16
16
18
25
30
32
28
23
16
17
17
17
14
14
13
11
12
12
14
17
22
26
21
15
13
13
13
15
16
18
32
37
38
42
54
54
58
54
62
60
33
36
47
29
19
19
22
25
25
22
19
17
16
25
44
67
76
81
86
91
85
75
76
76
74
73
76
77
76
73
64
49
33
18
53
50
58
63
69
68
64
65
61
62
57
51
47
45
42
40
41
41
37
39
44
49
69
77
70
57
37
30
30
31
30
37
89
122
130
127
117
112
114
116
109
106
101
95
90
86
83
76
70
65
62
60
61
69
78
86
93
99
102
102
105
108
107
113
112
113
112
114
110
103
97
93
99
114
122
118
110
101
82
75
61
46
37
36
37
37
39
37
40
43
48
52
117
191
194
193
195
197
192
186
171
178
191
171
167
159
153
148
148
147
141
136
134
137
137
135
132
130
131
132
134
132
131
125
121
128
128
126
123
121
118
115
113
111
108
102
99
95
97
94
98
90
82
78
74
66
66
65
66
72
77
77
81
77
73
77
76
78
78
73
75
70
68
63
52
52
46
32
31
28
37
45
53
59
58
58
58
54
50
49
46
41
36
33
33
38
40
34
26
19
15
11
13
16
16
17
16
15
14
14
14
15
15
18
21
26
30
32
31
28
22
17
19
21
23
24
23
20
21
23
23
26
26
21
15
15
15
18
24
31
32
32
30
27
24
24
26
27
27
27
27
25
22
20
21
24
27
26
21
16
14
12
13
16
21
39
49
53
56
61
53
54
63
86
70
45
30
21
15
14
16
17
18
17
18
16
28
45
71
77
82
87
92
82
78
79
76
76
75
72
71
69
64
56
45
38
34
20
10
60
57
58
65
72
65
56
49
54
61
60
51
48
46
45
43
39
40
40
40
42
47
57
56
48
28
15
21
23
27
31
31
52
97
118
124
120
113
99
97
103
104
98
91
86
81
77
69
65
64
60
61
56
50
46
44
41
38
33
28
25
22
18
12
10
7
10
18
28
38
34
33
47
71
97
109
109
102
90
80
67
52
39
33
38
42
54
67
82
107
120
125
140
187
194
190
190
189
186
182
180
180
174
156
157
177
177
160
153
149
144
140
136
134
133
131
125
127
127
128
126
127
124
119
119
122
124
123
116
117
116
116
109
108
109
105
103
105
103
103
101
97
100
96
97
94
92
88
90
93
96
94
91
95
97
92
86
84
89
94
94
93
91
94
96
91
93
89
77
59
52
52
54
53
56
59
59
59
56
52
44
38
26
27
29
37
45
47
42
37
27
16
13
13
13
15
17
18
17
18
21
23
25
25
21
21
18
15
15
14
15
15
17
17
17
18
17
17
17
19
20
19
20
14
12
16
24
34
42
50
53
54
57
59
61
64
68
76
80
83
84
83
79
76
75
78
72
68
55
44
37
32
22
16
21
45
60
66
71
67
57
61
85
92
62
27
15
9
9
8
12
13
14
16
23
33
68
85
87
91
87
86
83
81
79
74
69
66
66
57
45
32
28
29
30
26
18
9
7
49
48
53
58
58
49
38
37
45
49
51
48
45
43
43
42
42
42
39
38
40
40
39
34
24
17
15
17
20
25
30
33
36
54
90
116
117
114
104
96
90
87
90
93
85
79
72
68
65
60
58
55
51
43
43
40
34
32
27
21
15
12
11
11
11
11
11
11
32
49
40
22
16
22
34
64
83
80
74
68
64
60
55
44
40
51
82
112
120
127
140
148
152
158
181
190
184
181
179
173
171
169
167
163
161
159
151
141
142
164
168
153
141
138
141
131
129
133
131
126
123
122
122
121
122
121
120
115
117
115
113
106
101
104
101
98
99
99
98
98
98
99
99
95
94
94
95
95
95
95
93
92
96
96
90
92
89
91
98
97
94
96
100
100
100
98
98
95
100
103
108
106
92
70
62
55
53
52
44
35
28
25
25
25
31
37
48
57
55
46
35
21
15
13
12
13
13
13
15
19
24
23
22
17
14
14
15
14
14
14
15
15
16
17
17
19
17
21
21
24
25
32
33
31
31
46
55
65
65
70
75
77
79
82
86
88
90
89
91
93
94
97
98
101
101
104
104
104
103
103
99
94
78
65
57
52
61
68
75
65
57
65
85
93
63
30
13
11
7
6
8
12
11
24
42
75
89
95
92
88
86
84
74
66
61
52
41
35
25
22
22
24
24
25
20
16
11
8
8
39
45
37
37
38
33
27
24
31
39
43
43
44
44
44
43
43
43
42
41
42
40
35
28
21
17
15
17
19
23
27
30
38
37
50
87
108
110
104
101
94
89
84
77
69
68
67
65
59
54
50
47
42
37
33
31
27
20
18
16
13
13
11
13
14
16
17
14
12
19
25
21
13
13
12
14
21
32
44
49
52
49
50
47
42
51
84
117
132
141
144
148
143
135
130
177
184
178
175
168
162
160
159
155
153
153
151
150
152
148
145
139
134
128
130
146
155
150
143
137
134
129
124
125
124
120
118
118
117
109
104
104
102
104
100
97
97
99
97
97
97
96
93
93
93
93
94
92
92
91
92
94
95
93
93
92
93
95
94
92
94
96
96
97
96
97
98
100
106
106
108
112
116
112
100
61
37
24
21
21
22
22
23
23
26
34
40
46
48
44
36
31
26
24
21
14
12
13
13
13
16
20
22
20
20
20
18
16
14
14
14
14
13
14
14
17
18
21
24
31
34
43
45
43
48
52
53
56
61
66
68
70
74
78
80
82
87
90
94
96
96
98
103
106
106
109
109
107
106
105
100
96
88
84
77
72
73
75
74
68
57
66
74
86
72
48
22
19
16
12
12
10
18
45
85
99
96
91
90
83
74
60
37
29
31
32
28
26
29
29
28
29
25
21
17
13
11
7
7
36
36
32
32
30
29
27
26
30
34
36
36
36
36
40
40
40
41
41
41
43
44
41
30
24
22
17
19
19
22
26
29
33
38
43
48
66
89
102
100
95
91
87
80
74
68
61
57
52
48
44
41
36
32
28
25
20
16
14
14
14
14
14
18
23
22
20
15
12
12
12
13
16
20
23
19
19
23
29
29
32
38
39
42
40
40
72
118
136
142
142
141
132
123
108
79
140
171
172
169
166
161
158
155
149
150
148
149
148
143
140
139
140
134
133
132
127
127
122
118
111
102
106
106
112
116
121
124
126
121
119
116
115
113
110
109
107
106
102
106
107
107
105
101
100
100
100
97
97
97
95
97
96
96
96
93
93
93
91
90
92
91
92
91
91
93
95
100
100
102
108
113
113
105
92
39
19
16
16
19
22
24
27
28
34
38
47
49
53
55
60
60
63
60
55
48
30
15
13
13
13
13
16
20
23
25
22
21
19
17
14
14
14
14
14
15
25
31
33
36
32
30
34
37
40
44
47
53
56
59
65
69
73
78
80
84
89
90
92
92
93
93
93
96
96
98
93
89
83
75
60
46
27
15
13
23
45
58
66
67
67
56
62
70
71
54
32
30
29
24
18
27
52
93
97
94
83
72
53
34
33
31
28
28
27
30
30
27
28
26
28
25
24
20
17
13
9
6
6
30
37
36
31
28
26
25
23
27
28
28
28
31
32
33
35
35
35
37
37
40
41
42
37
33
29
25
25
25
25
26
29
33
35
39
43
49
57
73
85
94
87
85
80
74
71
67
61
55
49
42
39
36
32
27
25
19
15
14
13
12
12
17
26
35
46
41
36
28
21
16
13
13
15
18
18
21
28
32
24
24
30
34
35
37
38
56
116
133
138
141
139
132
105
69
61
57
64
112
160
162
164
159
156
151
151
149
148
143
140
139
136
136
132
128
128
129
129
127
122
122
117
116
114
114
109
108
108
106
102
102
101
96
95
95
90
91
90
90
87
89
91
86
83
85
87
87
91
90
92
93
96
96
94
94
98
95
99
102
102
102
109
108
112
110
114
114
114
112
113
107
108
68
41
40
40
43
46
52
52
55
60
61
61
62
61
60
60
58
55
53
52
51
46
34
24
20
15
14
12
12
12
12
13
16
18
22
25
25
23
20
18
17
17
20
21
27
35
36
37
35
31
32
35
40
41
47
49
54
58
61
65
65
67
67
69
75
77
79
82
82
84
83
81
77
64
46
33
24
18
14
14
14
12
14
22
36
47
55
58
59
60
65
62
61
51
31
31
35
38
46
71
92
87
78
56
21
9
7
10
13
17
14
14
14
13
13
13
12
13
14
19
22
23
18
12
8
6
6
17
25
35
35
30
23
22
24
23
27
27
27
28
28
29
30
30
32
33
33
33
34
36
39
39
37
34
34
33
31
31
32
36
38
39
44
49
53
62
63
69
76
78
77
74
70
66
61
57
50
43
40
35
30
30
25
19
16
15
17
20
25
35
46
59
68
74
79
75
66
56
35
21
14
16
16
16
19
33
31
26
26
29
33
33
33
45
100
128
137
143
131
102
68
65
60
60
60
61
65
77
135
153
155
152
149
148
152
145
143
137
137
135
131
127
127
128
126
125
122
121
116
116
114
113
111
110
108
104
107
106
103
96
93
93
94
94
90
89
87
85
89
84
82
84
87
90
92
93
93
93
94
96
99
101
102
101
103
108
108
103
109
109
112
113
110
110
102
97
72
49
51
51
51
48
48
48
49
47
48
44
44
43
38
36
35
29
27
28
25
22
23
27
28
27
28
24
20
17
15
13
11
11
11
11
13
16
19
23
27
26
24
22
21
22
28
34
41
41
41
39
38
38
40
42
43
44
46
50
49
54
56
58
63
65
65
64
63
69
67
61
47
33
30
26
26
24
19
15
13
15
20
16
14
15
20
29
37
45
46
42
57
66
65
56
47
35
34
37
48
68
83
70
44
24
14
13
11
8
6
6
8
13
13
15
14
12
12
9
11
12
17
24
26
16
10
7
9
9
18
19
25
32
32
27
24
25
26
27
29
29
29
29
29
30
30
32
33
33
33
33
33
34
37
40
40
39
38
36
34
35
39
43
44
47
50
54
61
63
70
73
75
79
76
73
69
66
62
51
43
35
29
24
22
22
22
26
31
34
36
40
46
53
64
71
79
84
89
86
80
80
62
42
24
17
15
16
17
19
23
26
29
33
34
34
35
83
122
137
118
76
60
59
58
54
57
57
57
58
60
63
89
119
143
150
151
148
149
146
142
141
138
132
130
128
128
127
124
121
118
116
117
117
109
109
112
112
108
113
110
101
97
94
93
91
94
90
86
83
82
79
75
71
72
75
78
82
85
90
91
96
94
98
100
102
104
106
106
105
103
102
97
103
85
48
23
19
17
17
16
17
17
15
11
11
13
13
13
11
10
10
9
12
12
12
13
13
15
18
18
19
20
21
27
28
27
24
22
18
14
13
13
12
13
13
14
14
17
20
28
29
27
27
26
26
32
42
49
49
50
46
43
45
43
44
45
45
44
44
46
50
52
55
59
55
47
38
30
24
19
18
19
20
21
23
24
18
14
14
18
20
22
20
20
18
26
32
37
36
31
38
57
66
62
52
42
38
43
57
66
50
42
36
29
23
16
14
12
9
7
3
11
13
14
14
14
14
17
19
23
29
35
33
23
18
16
23
23
33
30
30
29
33
35
32
27
28
31
33
35
34
34
33
33
33
33
33
33
33
35
35
35
37
37
39
41
40
39
35
36
39
42
46
50
53
56
64
70
77
83
90
94
96
94
90
84
78
69
51
40
24
18
18
16
26
45
57
57
48
41
44
52
62
66
70
76
78
83
81
77
74
57
39
27
22
17
16
16
17
23
29
35
37
37
36
70
116
109
61
42
47
51
51
50
51
51
51
54
54
53
54
76
115
132
135
134
149
147
143
143
141
137
131
130
128
125
121
125
122
117
119
119
113
110
114
111
110
112
107
102
96
96
94
88
87
86
80
69
65
55
36
19
13
16
19
27
41
59
75
82
78
77
66
71
72
71
65
60
54
51
49
44
43
36
30
26
17
14
13
12
12
12
11
11
11
11
11
11
9
9
9
11
11
12
13
15
15
16
16
17
19
19
20
23
27
30
29
25
18
15
15
18
18
18
16
18
18
18
16
18
24
24
24
24
31
38
45
46
53
50
49
52
53
53
51
49
45
41
32
31
31
33
40
40
34
28
23
15
17
17
17
17
17
18
23
19
14
11
15
17
20
20
21
19
24
28
30
27
25
31
34
44
55
54
50
46
46
52
49
46
45
44
39
34
30
26
19
18
13
11
12
15
13
13
19
24
27
31
38
42
43
42
45
43
40
43
37
83
63
54
47
46
47
44
43
39
38
40
44
45
47
47
47
49
49
51
53
53
53
51
50
51
50
48
44
42
41
35
34
37
43
48
50
52
52
52
56
60
68
70
74
77
83
85
86
86
75
53
39
22
12
11
15
35
53
65
56
46
36
41
44
43
49
48
48
51
54
57
55
59
57
41
32
28
21
21
21
19
23
29
38
42
42
39
53
77
70
32
38
41
43
43
44
46
46
47
51
51
49
51
51
52
81
119
133
140
141
131
118
111
124
130
126
129
128
128
124
125
121
123
117
113
113
112
108
104
103
100
94
89
86
84
74
55
39
23
12
11
11
8
6
8
9
10
10
35
63
57
22
12
13
14
16
15
20
25
29
29
30
33
39
38
39
31
28
21
17
13
12
10
8
9
9
9
9
9
9
9
9
9
11
11
12
13
15
17
17
17
17
18
18
17
18
22
30
35
34
28
20
17
21
25
28
30
28
24
23
26
20
14
14
17
21
25
32
37
43
47
49
52
58
60
58
56
53
51
44
36
31
28
31
34
35
33
29
21
15
15
15
16
16
16
17
23
22
16
14
15
18
19
19
17
17
26
31
36
28
21
30
34
37
44
52
57
53
48
44
42
43
44
41
37
36
34
34
29
24
23
22
20
18
12
19
26
38
47
50
45
44
44
43
44
46
49
47
29
105
106
99
88
74
68
60
52
47
52
56
60
65
66
70
72
75
81
84
89
93
93
91
87
85
80
74
68
64
57
51
46
44
49
49
52
51
49
48
45
37
34
32
35
38
46
45
48
51
47
35
26
15
9
10
23
50
65
72
54
39
31
34
31
24
19
12
12
14
16
16
18
22
29
34
28
23
18
18
22
25
27
32
39
45
45
43
45
57
45
18
23
33
37
40
41
43
44
45
47
47
48
46
47
49
48
52
63
103
130
133
129
124
139
130
120
106
110
110
102
101
96
91
88
91
90
88
73
48
35
34
32
25
20
20
22
22
18
13
9
7
7
7
7
7
4
8
26
65
53
18
9
13
12
15
19
24
30
37
39
37
27
18
18
21
23
21
21
18
15
11
6
6
7
9
11
11
10
10
10
9
9
11
12
12
13
13
15
17
21
23
23
20
18
19
16
20
26
34
40
38
33
27
24
31
35
43
43
42
37
36
33
28
21
18
18
19
21
28
30
37
47
52
58
59
60
58
55
53
46
40
31
24
22
28
33
32
31
25
16
14
14
14
14
16
19
21
20
18
13
17
24
25
17
16
16
21
33
40
44
36
29
27
27
42
68
99
88
72
52
40
39
39
41
39
35
33
33
33
32
28
35
36
32
30
50
54
51
48
44
42
42
42
40
45
44
40
30
17
70
93
104
103
104
95
87
76
73
71
73
72
74
77
82
86
92
98
104
111
122
125
123
120
116
110
99
91
82
73
66
61
62
61
63
62
56
50
38
31
24
16
12
10
10
12
12
11
12
11
8
9
9
10
18
40
61
76
69
53
40
33
32
25
18
9
10
10
10
11
11
13
15
16
21
26
23
18
17
19
25
28
34
40
47
47
45
42
50
43
31
27
24
22
26
33
41
45
46
46
48
47
46
45
46
45
48
51
61
86
124
129
135
141
142
138
127
112
99
92
97
99
95
92
92
95
96
96
92
83
64
41
32
32
33
35
34
21
9
5
7
7
7
8
7
11
26
51
67
39
28
29
24
22
27
35
40
41
37
35
25
18
13
10
10
6
6
6
7
7
10
11
11
11
13
15
16
18
18
18
17
17
18
24
26
27
20
21
24
26
30
31
31
29
24
21
24
24
31
40
45
42
38
32
33
37
43
49
57
57
48
40
35
32
26
18
18
18
21
24
27
32
40
49
53
55
52
50
49
47
36
34
27
22
25
31
30
24
18
14
11
11
13
14
19
23
24
21
17
17
23
27
25
20
15
16
15
24
37
57
57
45
32
27
47
88
108
104
98
90
67
58
49
39
35
33
30
29
29
30
36
43
44
55
57
48
37
29
28
32
34
35
35
32
33
28
26
21
17
49
55
73
96
106
111
112
109
102
85
69
62
63
66
70
73
78
87
94
98
105
113
119
124
127
123
115
109
101
86
80
77
77
72
76
65
56
49
35
28
19
12
11
9
10
9
9
9
9
10
9
11
15
24
36
54
74
77
74
63
54
48
43
34
25
19
19
17
13
13
13
13
13
13
13
15
15
15
16
16
21
25
30
34
42
45
45
42
46
42
31
30
32
33
34
35
35
35
34
37
40
41
44
48
51
51
52
55
89
127
136
127
97
94
119
131
134
128
117
105
98
84
81
93
99
98
99
97
93
92
91
81
67
54
43
37
22
9
8
8
7
12
16
22
28
37
58
66
41
34
39
33
29
26
28
30
31
26
24
16
14
11
9
9
8
8
8
7
7
9
11
13
16
16
18
21
23
23
23
23
23
25
27
36
38
43
43
38
32
33
37
40
42
42
38
30
27
30
31
38
51
52
48
42
36
36
38
44
51
57
62
56
47
38
25
22
24
18
17
16
19
23
23
29
34
42
43
41
42
40
33
26
21
22
19
20
16
14
9
10
10
12
12
18
23
28
25
21
19
20
23
26
25
22
17
15
13
14
30
48
60
63
63
58
71
100
109
105
97
97
95
85
74
61
45
37
31
26
28
33
43
45
55
53
44
30
19
15
24
27
29
26
27
25
26
26
24
21
19
59
55
58
62
68
83
91
95
102
104
99
86
62
55
50
53
63
68
71
78
84
91
98
106
111
117
121
121
115
100
97
88
82
81
73
64
54
46
34
29
21
13
11
9
9
9
9
9
7
11
26
37
47
56
59
69
75
76
74
63
57
52
52
49
47
45
41
30
22
14
13
11
11
11
13
13
13
14
16
16
21
21
26
27
34
41
48
43
41
40
35
35
35
37
39
41
42
43
45
43
45
45
43
43
45
45
46
61
119
138
135
129
112
72
61
74
101
114
119
114
105
96
89
85
84
85
97
105
97
96
93
93
93
88
82
73
51
32
24
30
45
63
74
81
86
82
80
65
41
39
37
33
29
28
26
25
21
19
16
13
13
12
10
10
9
8
8
8
8
8
8
7
10
12
14
20
25
28
31
34
35
37
42
45
47
48
50
48
48
44
44
45
49
51
49
41
32
33
33
35
46
53
55
47
42
36
32
35
42
47
49
48
44
41
33
19
14
14
19
16
16
21
25
26
27
30
32
34
36
34
29
26
20
18
19
18
14
13
10
10
10
12
15
17
20
19
16
14
14
15
19
22
23
20
16
15
15
15
26
42
56
67
67
66
76
96
107
105
102
99
95
90
89
86
79
71
55
39
38
45
51
51
33
22
21
27
17
15
20
23
19
14
19
23
28
28
28
29
29
66
60
55
59
65
69
76
82
90
88
73
65
67
71
61
53
52
52
54
62
66
69
78
86
93
97
102
100
100
93
88
83
79
71
65
56
48
42
33
25
21
14
11
9
9
9
9
8
12
27
47
59
64
71
69
69
69
72
68
45
26
18
17
16
18
21
22
22
18
11
11
13
13
13
14
14
14
15
15
19
22
23
26
27
33
39
47
41
38
34
36
38
41
43
46
47
47
47
44
45
45
47
46
46
46
49
51
87
138
141
139
129
120
103
59
52
56
61
80
98
106
106
100
94
91
90
86
81
79
92
108
98
95
91
87
82
74
65
56
57
79
79
80
75
66
60
65
62
39
36
35
34
31
31
29
25
24
20
18
16
14
11
9
9
9
8
8
8
8
8
9
9
11
14
18
22
26
25
30
31
34
34
35
35
37
41
49
49
50
49
48
48
53
55
58
50
42
36
35
35
41
45
51
49
42
37
33
30
28
37
39
42
42
41
42
42
41
36
40
51
59
66
61
64
66
60
57
50
48
45
43
39
36
31
27
22
16
13
11
11
13
11
13
16
16
13
12
12
12
16
19
21
19
17
17
21
21
18
17
34
50
64
69
67
75
89
100
102
102
100
97
94
92
88
84
80
78
75
70
62
54
35
20
16
24
31
31
31
22
16
12
14
15
17
16
17
21
27
27
77
67
56
55
59
66
70
75
81
83
90
98
94
83
65
64
68
70
69
66
63
65
68
71
71
74
71
70
66
68
67
69
66
63
53
46
39
32
24
19
15
11
11
9
9
8
8
11
29
43
54
65
58
48
48
53
64
63
62
40
16
8
7
6
6
9
9
9
10
11
11
13
13
13
14
15
15
16
21
23
27
30
36
38
41
43
41
41
38
32
27
29
36
44
51
50
52
52
47
45
45
44
45
45
46
48
52
98
142
139
137
132
125
121
108
68
64
61
60
59
61
76
90
92
94
92
85
82
82
86
83
77
77
92
96
82
74
67
64
58
49
49
57
58
54
49
61
57
38
38
38
37
34
31
27
24
19
18
17
15
12
10
9
7
7
7
7
7
10
14
20
22
23
25
28
30
34
37
39
41
40
42
44
45
45
46
48
48
46
46
50
54
54
56
58
56
57
51
43
45
46
49
51
54
59
59
58
60
60
67
71
75
79
76
77
80
79
79
77
75
71
66
69
68
65
62
59
55
50
49
46
48
47
44
43
39
36
30
26
21
19
18
14
13
11
11
12
14
17
24
26
26
23
21
19
24
22
21
19
25
36
52
64
69
76
85
91
99
99
96
92
93
91
87
83
81
80
77
72
69
69
63
56
47
46
41
41
37
36
37
39
42
40
35
30
30
24
16
13
75
70
60
61
62
62
65
72
74
77
80
84
87
93
98
100
88
70
70
92
98
95
86
68
65
65
47
41
34
33
37
39
38
38
38
36
33
30
22
19
15
10
9
9
9
9
10
21
32
41
43
38
25
19
33
46
54
59
58
36
20
11
11
13
15
14
16
18
18
18
15
14
15
15
15
16
17
22
25
30
35
37
42
47
49
51
49
46
41
35
27
17
12
15
20
38
49
53
52
46
44
41
43
43
45
47
53
98
141
140
133
130
126
120
117
111
89
67
60
64
63
61
61
62
65
78
87
89
92
91
89
83
83
81
75
66
74
77
70
56
51
47
36
42
51
52
56
52
36
28
23
21
20
19
19
19
19
19
19
16
11
9
6
6
4
6
4
11
26
50
62
55
51
45
42
43
42
46
48
50
49
51
51
51
51
53
51
51
51
51
57
65
70
73
74
72
66
65
66
64
64
63
64
69
72
69
69
69
73
77
73
73
71
71
71
70
73
70
68
71
69
63
68
65
57
54
54
48
46
46
44
45
45
41
37
34
36
31
31
32
32
31
23
11
8
8
11
13
19
26
32
35
35
32
28
25
18
19
18
16
27
40
55
68
68
72
75
87
92
95
86
85
86
84
82
83
80
77
73
72
69
69
65
61
62
56
56
58
62
66
65
67
59
33
21
23
26
16
9
61
63
63
66
66
64
62
65
71
78
79
76
81
84
90
91
95
98
101
92
76
84
102
104
103
101
83
63
37
23
12
9
9
9
9
13
14
17
20
19
16
11
8
7
8
8
11
20
24
28
19
13
12
15
18
31
42
47
46
44
36
30
36
44
48
46
48
50
51
54
44
31
18
13
16
18
20
25
27
31
42
46
50
55
51
53
52
49
44
36
27
19
13
10
9
23
46
54
48
45
46
44
44
42
43
46
48
85
135
137
129
125
123
120
114
107
105
101
82
69
67
64
66
67
67
66
62
63
63
67
78
87
89
86
83
79
73
60
51
49
53
45
36
32
29
31
34
46
34
19
14
14
15
18
18
18
18
18
18
15
8
5
4
4
4
5
14
36
65
92
91
87
82
75
72
65
61
59
59
58
54
54
55
55
55
59
59
66
75
80
80
81
80
77
75
74
71
72
70
65
65
66
67
69
67
67
68
68
68
67
69
67
67
68
66
67
66
64
61
63
61
61
62
57
54
53
53
50
51
49
50
50
47
45
45
43
40
35
35
34
29
20
12
10
10
10
11
11
13
21
26
30
25
22
17
14
14
14
14
15
17
25
34
41
49
51
49
51
64
72
84
84
82
77
78
75
78
77
78
75
70
68
68
65
64
64
64
64
59
61
62
60
58
61
57
57
56
51
44
53
56
61
60
60
61
64
65
67
66
70
79
78
75
79
80
83
86
88
90
92
91
84
78
95
102
101
104
103
80
53
35
24
21
19
20
25
30
39
43
36
22
11
8
6
7
13
19
21
19
14
13
15
16
17
26
37
43
46
41
36
36
46
56
62
69
72
73
73
69
66
58
45
23
17
20
23
28
29
30
32
42
48
46
49
51
51
51
50
43
32
24
14
10
10
23
51
65
64
42
26
32
37
41
42
45
48
62
125
138
127
117
118
117
115
111
104
105
106
105
80
69
69
70
67
66
66
64
61
61
61
61
58
61
61
65
66
63
62
55
44
37
29
28
23
25
31
34
34
19
13
12
14
20
21
17
13
12
8
6
3
4
4
3
6
13
36
58
68
69
77
81
85
87
83
79
72
71
72
71
67
62
61
66
75
86
89
87
86
83
81
81
81
77
78
78
75
70
69
67
67
67
69
68
70
70
68
67
68
70
67
65
66
67
67
66
67
67
66
65
66
69
73
70
71
72
68
61
52
48
48
48
46
43
42
37
36
36
30
21
14
12
11
8
8
10
11
11
10
9
9
8
7
5
6
6
8
9
13
11
11
13
13
14
17
19
18
16
19
27
47
63
72
77
77
75
73
72
70
71
71
68
71
69
65
64
64
66
64
65
63
63
64
60
63
58
55
56
57
48
48
49
51
53
58
59
58
62
64
66
69
74
78
76
74
74
72
75
76
75
80
82
81
83
75
89
94
95
98
102
93
70
69
68
67
70
71
82
85
85
64
43
31
26
30
36
44
47
46
45
47
47
46
51
53
61
58
48
43
38
33
33
34
40
49
56
59
61
60
60
56
52
38
25
17
22
32
33
35
38
42
45
40
44
45
47
54
49
42
33
25
16
11
9
22
49
67
72
64
52
33
24
27
29
35
41
43
88
124
125
120
115
112
114
112
107
101
104
104
103
100
74
68
64
65
64
59
59
59
59
60
62
64
62
63
63
60
57
54
54
48
41
33
25
25
24
29
31
25
20
21
20
24
21
15
10
5
4
4
4
4
5
9
18
32
46
51
55
59
62
65
67
68
66
58
60
76
82
85
87
87
88
93
90
88
86
84
83
81
79
78
79
79
78
76
79
75
76
75
74
72
75
77
73
76
76
79
79
81
82
83
81
82
77
75
76
74
69
67
63
60
62
60
59
58
54
50
51
51
47
45
45
44
41
34
24
18
17
15
13
13
11
9
9
9
10
10
10
7
5
5
6
6
6
6
6
8
9
9
9
8
11
10
10
10
11
14
14
14
11
19
32
51
64
71
70
71
72
69
69
67
63
64
64
65
64
64
65
64
64
63
65
61
60
58
57
56
53
51
50
51
49
49
48
50
53
59
59
59
62
59
52
55
56
54
51
53
56
64
94
109
115
105
83
76
73
80
80
81
82
82
80
83
85
85
87
88
88
93
91
83
81
84
86
89
93
92
91
87
84
88
89
88
86
85
81
73
59
47
40
38
36
38
38
43
47
55
53
52
54
48
40
23
13
14
21
28
32
38
40
44
36
26
26
34
43
43
47
34
26
16
11
7
19
45
66
76
73
68
62
49
37
27
26
22
24
34
92
121
120
113
105
103
99
106
108
102
102
100
104
102
95
83
71
71
64
67
63
61
68
68
67
62
58
56
53
51
49
55
56
50
48
46
35
30
28
24
28
30
22
15
16
13
10
7
7
7
4
6
9
12
24
33
37
40
41
46
53
49
49
49
54
62
65
69
81
85
88
91
91
90
89
87
86
82
82
81
78
76
81
87
86
82
81
75
79
81
79
75
75
73
71
72
70
69
74
72
70
67
67
66
68
64
61
60
60
61
59
56
56
57
54
50
49
50
49
51
50
46
44
36
23
14
11
12
13
15
16
14
14
14
14
14
13
12
12
11
9
9
8
5
5
5
8
8
11
10
10
12
13
12
11
9
6
6
8
11
11
10
8
11
15
24
36
53
61
66
70
69
69
69
68
67
62
62
60
60
61
60
57
55
58
57
55
55
56
50
44
48
53
54
54
53
52
49
49
51
53
55
55
50
43
39
38
43
46
59
101
134
150
142
132
127
110
108
97
79
78
80
81
80
78
81
83
84
83
83
85
83
82
83
86
88
88
94
94
92
88
87
86
87
84
78
75
74
72
66
61
50
43
40
41
41
42
44
45
48
50
49
41
32
21
12
12
12
17
29
38
42
43
37
20
14
23
31
35
37
29
25
16
11
7
17
38
54
65
70
68
68
64
60
56
49
45
42
36
44
92
117
116
108
101
94
97
100
104
103
104
100
98
93
92
82
92
77
62
60
56
63
59
58
53
54
50
52
53
39
40
50
53
54
58
55
55
49
44
42
41
36
28
16
12
10
6
6
8
8
15
25
34
35
32
30
30
28
30
32
37
38
55
67
90
97
95
94
96
96
97
97
91
85
76
73
71
69
65
66
64
65
67
65
63
62
62
64
65
65
65
64
64
62
63
65
67
68
65
64
66
66
65
63
60
59
59
59
57
56
55
54
51
51
47
46
41
36
31
25
21
18
14
14
12
12
12
14
14
15
18
18
18
18
18
18
18
18
17
16
14
13
10
10
10
11
11
13
17
16
17
17
14
12
9
6
7
10
13
13
12
12
13
12
15
17
20
28
35
49
61
63
62
62
63
63
62
61
62
63
62
62
63
61
62
62
61
56
49
37
40
41
44
48
53
55
56
48
46
45
46
51
55
60
54
45
40
64
106
144
150
144
140
132
118
115
115
111
105
100
94
90
82
80
81
82
83
81
81
82
82
83
83
84
87
89
90
90
90
88
85
85
84
79
76
70
67
67
65
64
62
55
47
44
44
44
46
45
42
46
44
43
34
27
22
17
15
18
28
37
47
45
42
34
28
29
31
33
33
30
21
20
14
11
9
21
38
49
54
61
61
64
65
61
60
58
59
56
56
60
93
108
107
102
100
94
89
89
90
93
101
100
93
90
88
82
79
76
85
74
64
64
63
65
57
61
49
49
54
88
96
77
68
71
71
73
63
57
52
46
41
40
34
22
12
12
12
16
28
39
39
39
32
24
16
13
12
13
13
19
34
69
92
89
93
105
101
95
94
92
85
80
78
74
68
67
67
63
61
59
60
60
60
60
60
58
59
61
61
62
63
63
62
63
66
71
71
68
68
70
67
64
64
61
58
58
56
52
48
47
43
33
29
26
28
27
21
20
22
18
17
17
16
15
15
14
15
15
15
18
18
19
19
19
19
19
22
23
24
22
20
15
13
12
13
13
14
17
20
22
21
16
13
10
8
11
16
21
22
22
22
23
28
31
31
27
27
29
36
39
34
29
34
34
39
50
58
60
53
51
51
48
45
41
36
36
31
25
40
44
47
43
43
43
44
44
56
48
42
44
45
48
49
55
66
93
127
155
146
141
138
130
124
116
110
106
103
98
97
95
98
100
100
95
91
89
87
84
83
86
86
85
87
89
91
92
95
96
95
92
89
84
80
77
71
73
69
65
62
61
57
53
50
44
45
45
45
43
46
47
53
53
54
53
51
45
41
45
49
58
61
64
63
62
61
57
55
51
51
50
34
20
13
9
9
13
23
30
36
48
59
59
62
61
59
60
61
63
65
66
76
98
100
99
95
93
88
85
79
83
86
87
89
85
82
80
80
75
74
77
89
79
80
115
99
48
31
34
46
45
44
39
42
39
37
37
39
39
39
34
37
44
42
35
24
22
27
25
27
30
25
16
10
12
12
12
14
15
30
67
100
97
93
98
100
99
96
89
83
67
64
64
61
60
61
60
62
58
53
54
54
57
56
56
54
55
58
60
60
62
62
63
65
67
70
72
67
65
62
53
44
35
32
29
30
30
33
33
34
30
27
25
24
23
24
25
24
24
20
21
21
22
22
22
21
22
22
22
23
21
22
22
22
21
20
22
23
27
28
27
21
17
13
13
13
14
14
17
20
22
18
14
12
12
14
23
30
29
29
29
29
37
42
43
43
45
45
47
50
41
27
16
13
12
15
27
37
37
35
27
24
22
20
20
20
24
19
69
66
64
61
63
61
62
62
63
57
56
66
79
90
102
107
113
133
146
160
179
189
200
210
218
222
227
232
240
243
243
245
247
248
248
248
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
249
249
249
249
249
249
247
247
247
245
245
244
243
243
243
241
241
243
243
243
241
237
235
233
230
226
220
219
217
217
215
211
200
193
186
182
179
177
174
171
174
175
166
169
170
175
177
179
180
182
184
184
184
189
190
191
190
188
189
190
183
179
176
168
164
164
164
159
153
147
145
144
141
138
133
124
118
113
110
107
108
106
105
104
101
94
91
85
82
76
70
64
54
49
42
39
37
33
34
31
28
27
27
28
33
31
33
35
28
28
30
27
24
25
24
19
17
15
22
30
41
46
55
61
82
111
123
139
160
171
180
188
199
209
217
224
228
232
234
236
239
245
248
248
249
249
251
250
250
252
253
253
253
253
253
254
254
254
254
255
255
254
254
252
250
249
247
240
239
236
228
222
216
208
202
196
191
189
185
181
178
176
173
169
166
164
161
163
161
164
167
168
168
168
171
173
175
174
170
170
168
165
165
168
169
174
178
181
181
180
179
181
180
179
179
176
176
181
178
174
177
175
176
174
174
185
187
176
184
176
179
174
182
181
168
189
186
177
189
194
169
186
70
68
67
63
65
64
62
60
62
63
61
62
60
65
74
79
85
111
131
148
165
180
191
202
207
212
218
223
228
235
238
240
241
244
244
245
250
250
251
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
249
249
249
249
249
249
247
247
247
245
245
244
242
240
240
239
239
239
239
239
239
234
232
231
228
224
221
217
217
214
213
205
197
189
183
180
173
171
171
171
171
174
171
168
171
173
177
181
182
188
191
190
190
191
195
197
197
200
203
200
194
192
187
183
182
180
177
171
164
154
150
148
146
140
136
130
126
121
116
107
101
97
97
96
93
86
80
77
71
69
66
59
54
45
39
36
33
30
30
28
26
26
23
21
20
24
26
28
25
25
26
23
20
23
26
22
20
16
25
31
44
49
59
79
94
112
122
140
160
171
181
190
201
209
219
224
228
232
234
236
239
245
248
248
249
249
250
252
252
252
253
253
253
254
254
254
255
255
255
255
255
255
255
253
252
250
246
242
239
236
228
226
220
213
202
196
190
189
185
181
179
175
174
170
167
165
163
163
162
166
168
172
171
171
172
174
174
173
170
168
165
162
164
166
169
173
180
182
182
182
180
180
180
179
176
174
175
175
176
174
177
178
174
181
183
174
181
174
178
172
180
186
182
175
181
189
183
181
170
179
176
178
72
72
75
71
71
70
62
60
59
64
64
66
63
63
65
68
72
89
113
135
155
168
175
186
192
199
205
211
216
225
228
230
233
235
237
239
241
242
243
246
246
247
249
249
250
250
250
250
250
250
250
249
249
249
249
249
249
249
249
249
247
247
247
247
247
247
244
244
244
239
237
236
235
235
235
235
235
233
232
230
225
221
219
216
217
214
208
207
200
192
188
182
174
166
165
162
163
164
167
166
168
174
173
179
189
191
191
192
194
194
197
195
195
197
198
202
204
202
199
193
192
190
187
184
176
168
162
156
151
144
139
135
134
130
126
115
106
98
96
94
92
90
83
79
77
75
75
64
59
54
51
39
32
31
29
24
20
20
20
19
21
20
22
21
21
16
17
18
23
25
25
26
24
21
20
21
35
46
55
66
80
92
108
121
138
158
172
182
191
200
210
218
225
230
233
236
239
240
245
248
248
249
249
250
252
252
253
253
253
254
254
254
255
255
255
255
255
255
255
255
253
251
252
249
244
241
237
233
224
218
210
205
197
190
188
183
180
179
175
174
170
167
165
164
164
163
166
168
170
173
173
174
175
175
173
169
165
162
161
163
166
170
174
179
182
182
180
186
184
182
175
173
175
181
180
177
172
176
179
175
182
179
175
177
178
188
181
184
178
177
184
182
196
187
176
168
158
176
182
73
73
73
72
72
70
68
64
61
63
65
67
69
69
69
72
73
76
86
110
135
151
158
169
176
186
194
199
205
213
217
219
222
221
223
225
228
229
233
236
238
239
241
243
243
244
244
246
247
247
247
249
249
249
249
249
249
249
249
249
247
247
247
247
247
246
244
244
242
239
237
236
234
232
232
232
232
231
227
223
217
215
213
208
209
207
202
195
188
179
175
170
165
160
160
159
162
162
161
161
164
170
175
182
192
194
194
193
195
197
199
202
202
205
205
206
208
208
202
199
195
193
191
186
178
172
169
165
160
153
148
145
143
137
132
123
113
102
94
92
89
88
83
76
74
72
70
63
57
55
49
40
30
27
23
19
17
17
16
9
11
12
16
15
16
11
14
18
18
20
20
17
17
16
22
22
38
45
55
66
79
91
108
123
135
157
173
183
192
202
211
220
225
230
234
236
239
240
245
248
249
249
249
252
252
252
253
253
253
254
254
254
255
255
255
255
255
255
255
255
254
253
252
249
244
243
237
233
225
219
210
205
197
188
186
182
180
181
176
174
170
167
165
161
163
161
165
167
169
172
174
174
175
177
175
171
166
163
162
164
166
168
175
178
181
181
182
185
185
182
174
172
174
182
178
173
173
178
182
183
182
181
178
174
180
177
176
190
182
180
183
183
196
194
189
163
176
175
189
73
73
74
75
73
69
66
66
66
64
66
70
68
71
72
70
72
75
78
86
102
123
139
146
152
157
169
175
183
194
199
203
204
205
207
211
214
216
219
222
224
226
228
230
231
231
233
236
238
240
241
242
242
242
247
247
246
247
247
247
247
247
247
246
246
246
241
241
239
237
235
233
226
224
223
223
223
221
220
216
213
208
204
198
196
194
189
187
177
167
157
150
146
145
150
153
155
155
154
156
161
161
171
178
190
190
193
197
197
199
202
207
207
206
208
210
212
209
207
205
202
197
190
188
180
174
169
170
168
163
155
147
139
133
130
128
123
119
104
94
87
83
76
71
70
65
61
56
51
48
46
41
38
29
23
15
15
14
13
8
8
9
11
11
13
12
12
12
14
11
11
11
15
18
20
27
33
40
50
62
74
85
104
122
134
154
169
181
192
204
212
220
223
228
232
236
239
240
247
249
249
246
246
248
249
249
249
253
253
254
255
255
255
255
255
255
255
255
255
255
255
253
253
250
249
243
237
233
229
221
213
205
197
188
186
182
180
181
177
175
172
168
165
162
162
161
164
166
167
170
173
172
180
176
170
169
169
168
167
165
167
172
176
179
181
181
182
182
184
183
172
171
173
179
176
173
171
177
181
186
184
183
178
177
175
181
176
188
178
187
181
184
189
186
173
142
180
182
178
70
72
74
74
72
68
69
69
69
70
72
73
73
75
77
75
79
81
83
85
90
94
101
115
123
128
133
140
149
161
168
173
179
181
183
188
192
195
200
198
200
205
207
211
212
217
219
223
223
224
226
234
234
235
237
237
239
240
240
240
240
240
240
238
238
237
235
235
232
229
229
226
219
218
217
215
215
212
210
207
203
192
189
185
180
176
172
166
159
147
140
132
129
134
137
139
134
140
149
151
153
158
164
173
181
190
193
196
204
204
206
207
209
206
206
210
212
213
209
208
206
197
192
187
180
175
172
174
170
165
157
147
135
131
127
125
121
115
116
109
85
77
70
65
61
58
55
48
44
40
41
36
34
26
22
11
9
9
10
8
10
8
7
4
5
8
9
7
9
7
5
7
7
11
15
22
26
37
43
59
62
76
95
114
131
148
165
172
186
201
209
220
223
228
231
235
237
240
247
249
249
246
246
248
249
249
249
254
254
254
255
255
255
255
255
255
255
255
255
255
255
254
253
250
249
242
238
233
229
221
213
205
197
189
187
185
181
181
179
175
172
168
165
163
161
161
161
163
166
170
172
173
178
174
170
170
167
168
167
166
168
173
177
179
182
182
182
181
181
181
174
172
170
177
177
171
162
173
177
188
184
184
176
178
182
198
181
181
184
182
182
192
203
192
184
141
166
175
177
70
71
74
72
72
72
69
69
70
70
72
73
74
74
78
80
85
87
88
89
93
97
99
100
100
102
106
106
113
121
132
140
147
154
156
160
158
161
166
167
169
172
180
190
198
195
197
202
206
211
218
220
222
224
225
225
228
230
230
230
230
230
232
229
229
227
226
223
219
219
219
218
212
210
207
206
203
196
196
191
186
180
175
168
164
158
151
153
146
134
121
119
117
121
123
127
124
127
143
141
147
152
160
167
175
181
189
198
202
202
206
208
208
207
208
209
211
212
210
207
204
197
191
184
181
174
175
171
166
165
163
143
134
132
126
123
120
119
114
121
113
92
81
73
74
64
57
52
47
42
41
35
28
28
23
23
24
19
17
12
12
11
12
9
10
2
11
8
8
6
5
7
5
7
11
15
21
28
38
48
53
69
91
112
128
148
160
173
189
197
208
217
223
228
231
235
237
240
245
248
249
245
247
248
249
249
249
250
250
250
251
251
253
253
253
254
254
254
254
255
255
254
253
250
249
242
240
236
228
220
213
208
200
192
188
186
184
182
180
176
175
170
166
163
161
160
163
165
166
169
171
173
177
175
171
168
166
165
163
164
171
174
179
182
179
179
178
181
181
181
176
176
178
181
178
170
158
164
176
186
185
176
167
177
171
179
193
186
183
182
191
185
184
192
194
184
180
186
171
67
69
70
68
68
71
72
73
75
75
77
80
77
77
82
84
86
87
90
92
94
94
96
98
101
103
105
105
107
110
109
114
121
129
133
134
130
131
132
124
125
133
146
160
175
176
180
187
190
195
200
200
204
206
209
210
212
218
218
217
216
218
218
214
214
213
213
212
208
203
201
200
195
191
189
193
188
182
180
178
171
166
159
152
147
139
134
129
119
109
102
99
101
110
112
112
117
133
136
139
143
147
155
164
172
180
188
196
200
201
203
204
204
203
212
213
212
206
203
202
199
195
187
185
177
176
177
170
167
162
159
144
135
130
128
128
125
125
121
121
124
106
95
93
88
84
77
75
71
69
65
60
61
53
48
46
37
33
28
20
16
10
15
14
13
15
0
6
8
9
5
2
2
3
4
9
15
19
31
39
52
72
97
123
138
156
165
178
192
199
211
218
225
229
232
236
239
240
245
248
249
246
246
248
249
249
250
250
250
251
251
251
253
254
254
254
254
254
254
255
255
255
254
252
249
245
240
236
228
220
213
208
200
192
189
187
185
185
183
178
177
170
168
166
162
160
161
166
167
171
173
173
178
174
171
167
165
162
159
163
170
174
179
183
181
179
179
182
182
181
176
176
177
182
178
169
157
163
172
185
185
183
180
176
170
178
183
180
187
176
189
187
185
194
175
178
184
169
182
66
68
69
65
67
69
71
75
74
77
79
82
80
82
85
84
86
90
88
90
93
94
96
96
98
102
103
109
109
110
110
110
113
110
110
110
110
110
112
113
116
118
126
139
150
159
163
175
177
185
192
190
192
194
197
196
200
205
205
205
205
207
205
202
200
197
198
194
192
195
189
183
179
179
182
178
172
166
167
164
160
155
149
145
137
133
127
118
100
90
84
77
86
102
106
107
113
129
130
136
137
142
153
160
168
183
187
195
202
203
205
208
207
209
209
209
209
202
198
196
195
189
181
174
170
174
172
166
164
160
149
138
128
124
122
122
122
121
122
124
127
111
99
93
93
89
86
85
81
81
81
79
78
79
75
69
66
64
59
58
58
57
56
56
54
51
49
39
37
30
27
23
21
19
16
15
17
15
18
39
63
81
110
136
148
160
174
187
203
210
218
226
229
234
235
238
240
242
248
248
249
248
248
249
250
250
250
251
251
251
253
253
254
254
254
254
254
254
254
255
255
255
254
252
250
245
240
236
229
224
215
209
201
193
193
189
187
186
184
179
178
172
169
168
164
159
162
164
167
170
172
172
174
174
171
163
161
158
160
163
170
175
180
182
185
183
182
184
182
181
178
175
176
182
181
173
160
149
166
183
182
182
181
178
178
185
183
178
187
184
190
186
195
195
182
182
182
179
175
61
63
63
63
65
68
70
71
73
76
78
80
78
78
81
86
88
91
92
93
97
97
99
100
103
105
106
105
105
108
110
110
111
111
111
111
114
112
114
117
114
116
116
125
136
144
147
152
153
160
168
172
174
177
173
173
175
176
178
181
179
181
181
179
176
175
175
175
172
169
167
164
160
159
161
154
156
158
152
150
147
146
140
135
127
122
119
110
99
88
81
74
82
94
97
103
112
121
129
136
137
142
152
155
165
174
182
191
199
201
205
207
204
205
206
206
206
203
202
197
190
184
174
165
159
157
165
161
162
155
144
131
122
121
120
122
122
123
128
132
129
124
121
118
116
113
108
106
103
98
96
92
90
90
87
84
86
82
79
79
78
76
78
78
77
79
75
71
69
65
61
62
62
61
56
56
57
62
67
85
97
112
136
149
159
175
181
193
207
214
221
228
233
235
238
239
241
243
248
248
251
246
249
249
250
250
251
251
251
252
251
254
254
254
254
254
254
254
254
255
255
255
255
253
250
245
243
237
229
224
214
208
202
193
193
191
188
189
186
183
181
174
173
169
165
164
165
167
170
170
172
172
174
174
173
165
163
158
161
164
170
175
180
182
187
184
184
183
183
182
179
176
179
183
182
176
165
149
158
184
182
182
177
179
184
186
177
185
182
195
180
188
160
185
186
190
191
180
182
59
60
65
62
62
65
68
72
76
77
77
79
76
78
80
83
83
88
89
91
94
95
97
100
103
105
105
106
106
110
113
113
112
114
114
114
114
116
116
115
116
115
114
120
125
130
134
131
131
135
139
142
144
149
152
152
148
150
148
149
156
161
163
163
161
160
160
162
163
157
155
152
153
151
150
150
152
152
153
151
145
138
131
126
127
119
117
105
97
89
85
84
88
90
94
100
110
116
126
135
144
152
160
161
165
166
177
187
190
194
198
198
200
203
203
203
203
203
203
200
190
181
174
158
147
141
148
154
152
143
129
121
119
122
121
128
132
132
140
140
137
144
149
146
145
142
138
135
126
120
114
110
105
100
100
97
96
96
95
94
94
91
92
92
88
92
88
83
79
77
79
74
74
72
75
75
78
77
90
106
122
134
146
160
170
183
191
198
209
213
220
227
233
235
238
240
242
244
249
249
251
246
249
249
249
249
250
250
250
251
253
253
254
254
254
255
255
255
254
255
255
255
252
250
247
246
242
237
230
223
215
205
201
197
196
193
192
190
186
184
183
177
174
171
166
166
166
168
168
170
172
172
175
175
174
166
162
159
162
165
173
177
181
183
181
181
181
184
183
178
179
179
179
183
182
175
166
168
173
180
178
180
181
177
178
179
182
181
181
182
187
179
176
186
174
176
155
167
183
53
57
62
64
64
64
65
65
69
70
72
74
73
73
77
79
81
88
87
89
90
92
96
99
100
102
104
104
106
109
110
112
112
112
112
114
115
115
115
118
116
112
114
114
112
125
128
126
128
130
131
131
133
136
133
132
131
128
129
134
132
134
136
144
146
145
146
148
148
151
147
146
144
142
144
143
143
143
140
138
137
136
131
127
120
115
111
106
99
93
82
77
83
91
96
103
106
114
122
137
148
157
162
166
167
165
172
179
184
187
195
198
202
203
201
203
201
199
199
197
192
183
174
156
143
135
130
138
141
135
127
117
120
120
124
135
141
147
152
154
157
164
166
164
167
165
157
153
146
140
140
132
128
121
118
117
117
119
119
118
119
121
122
122
119
117
111
106
94
92
93
92
92
92
90
90
92
92
104
119
130
139
155
163
174
185
192
197
207
212
218
226
230
234
236
237
240
241
246
246
248
245
245
246
246
246
248
249
249
250
251
251
252
254
254
254
255
255
254
255
255
255
251
251
249
247
243
237
230
225
215
205
201
198
198
196
193
191
188
185
183
177
175
173
167
167
169
169
170
172
175
174
174
174
173
165
163
163
164
168
174
178
180
181
181
181
180
183
184
180
180
180
180
182
178
170
165
171
177
184
185
179
183
187
183
180
176
173
182
180
191
186
163
161
157
166
181
174
182
46
50
57
60
60
61
63
61
64
67
67
71
70
74
77
79
80
84
84
86
89
90
94
98
98
100
104
106
108
108
108
109
112
112
112
112
112
112
113
115
115
115
112
117
115
115
117
118
121
123
125
122
122
123
120
118
121
118
117
122
119
119
124
129
131
132
132
132
134
138
134
131
134
136
140
143
141
140
137
135
132
134
132
133
126
121
118
114
112
96
88
81
84
93
98
103
105
114
121
133
142
153
159
160
162
167
169
170
180
189
196
199
201
201
203
201
194
192
192
191
188
180
171
159
145
129
123
120
114
114
115
113
114
115
128
139
146
150
154
163
167
167
167
164
163
166
166
168
164
158
149
148
142
139
137
140
141
142
145
150
153
154
152
152
149
146
139
132
118
111
105
102
102
102
106
102
103
107
113
121
131
140
156
168
175
183
191
196
202
206
214
221
224
229
231
235
237
237
242
242
243
244
244
244
246
246
247
250
250
251
253
253
254
255
255
255
254
254
252
255
255
254
255
255
252
247
243
238
230
225
216
206
200
199
199
197
195
193
191
187
185
178
176
174
170
169
167
170
171
174
174
174
173
171
170
164
164
163
162
168
175
180
183
183
187
185
184
180
182
180
180
180
181
179
172
170
167
169
171
183
187
184
180
179
181
178
183
182
194
195
168
179
160
179
167
187
177
176
179
42
44
48
53
54
55
61
60
60
63
63
66
64
65
71
75
77
79
77
79
82
85
88
93
95
96
99
102
104
104
104
106
108
110
112
112
111
111
111
111
111
111
110
110
111
111
111
113
113
115
115
114
114
116
120
118
118
117
118
115
116
118
118
122
121
122
121
123
125
131
129
128
133
141
142
144
142
144
140
138
137
132
132
136
133
128
127
130
127
114
105
100
106
109
109
108
118
119
120
128
137
148
149
153
157
161
163
164
175
184
192
195
195
193
195
190
189
186
186
184
181
172
162
160
145
130
115
107
105
105
101
96
106
108
128
141
148
156
160
161
164
166
163
162
162
165
166
171
169
165
162
158
153
151
153
150
152
161
171
171
171
170
168
165
166
164
161
155
143
134
122
113
109
110
114
111
110
114
118
125
130
139
153
159
167
176
182
190
196
199
204
212
219
223
227
230
232
232
231
234
234
235
235
235
236
236
238
244
246
246
247
247
249
249
251
253
255
255
255
254
251
251
253
253
250
244
240
236
229
223
215
205
201
199
201
198
197
194
192
189
185
180
178
175
171
170
170
172
172
174
174
175
173
171
170
162
162
162
164
169
177
180
182
184
187
187
186
181
181
181
182
184
185
178
174
169
163
167
170
182
176
184
186
177
172
187
178
189
187
184
186
181
188
179
175
180
181
177
185
35
38
45
46
47
53
55
55
55
57
57
60
61
63
64
67
71
73
75
77
79
82
84
90
89
91
95
96
98
102
102
104
105
107
109
111
108
108
107
106
106
106
107
105
109
108
108
106
105
105
109
110
110
112
111
111
111
110
112
114
111
112
111
113
113
113
115
116
118
124
126
125
126
136
141
143
143
144
142
140
138
140
140
138
136
134
133
131
126
120
118
115
116
117
119
120
121
121
119
125
133
141
147
145
145
147
152
161
170
179
186
191
191
189
186
184
181
180
178
173
169
165
163
157
143
125
119
100
98
96
96
95
95
116
132
139
148
157
164
164
164
164
162
162
165
165
166
169
171
167
165
159
155
152
150
154
163
173
174
175
175
174
168
166
164
167
167
165
162
150
136
126
114
115
114
117
117
116
118
121
130
136
143
156
163
171
176
182
190
193
198
203
211
213
216
219
221
223
225
227
228
226
226
226
229
229
230
234
234
236
237
239
240
241
245
248
249
251
250
251
249
249
250
248
242
239
235
230
224
218
212
205
201
201
202
199
198
196
193
190
186
182
180
175
171
170
170
172
173
172
172
173
172
170
167
163
161
159
162
170
177
182
184
185
187
187
186
189
184
182
184
187
187
180
179
178
175
172
176
177
181
182
181
179
188
189
183
179
185
189
196
190
163
190
183
187
183
182
170
33
38
39
37
42
47
48
48
49
52
54
54
56
58
57
61
61
62
65
65
69
78
78
84
84
87
89
92
94
97
99
102
100
102
104
106
104
106
104
102
103
104
105
105
104
105
105
103
107
107
107
106
108
109
109
110
112
109
112
113
115
115
115
118
116
116
116
114
116
114
118
124
122
129
140
139
141
142
143
143
145
143
141
140
141
140
141
134
131
127
129
130
128
125
127
127
127
127
124
121
128
136
139
138
136
139
146
155
167
174
181
184
184
181
180
178
177
174
172
166
159
155
152
143
132
127
117
98
94
91
91
97
97
115
131
139
147
155
160
160
160
160
162
164
164
164
165
169
171
170
166
164
159
156
156
165
170
173
173
174
174
173
168
166
165
166
166
165
163
155
147
133
115
108
110
112
115
114
117
119
119
125
131
144
150
157
165
171
177
179
187
193
198
200
202
205
207
209
208
210
210
208
208
208
211
211
212
221
224
225
226
229
232
231
235
240
245
247
248
248
248
248
249
247
240
238
236
231
227
218
212
204
202
201
200
200
199
197
194
192
187
183
180
175
171
170
170
172
172
172
174
174
173
171
169
164
162
162
165
170
178
183
185
186
189
187
186
187
183
181
177
179
181
189
186
189
175
173
173
178
174
178
177
172
184
182
181
184
185
194
190
193
174
184
185
190
181
182
176
42
22
33
36
38
41
39
41
45
48
53
54
58
57
64
63
71
59
66
68
76
78
77
72
80
79
83
85
88
90
93
95
97
98
100
103
103
105
104
103
103
104
105
106
103
102
102
101
99
99
101
104
104
105
105
105
105
107
109
113
114
114
114
112
114
115
112
112
115
117
116
120
120
124
130
137
137
137
141
141
140
140
142
144
140
138
136
132
131
130
132
133
133
131
130
128
127
129
129
129
129
128
129
129
129
133
140
149
158
162
168
176
176
177
174
170
167
165
167
164
163
153
143
136
127
118
108
100
92
94
97
94
90
102
120
129
138
146
151
153
154
154
157
161
162
158
159
162
164
165
164
160
151
147
151
164
168
171
169
170
167
166
166
166
163
164
162
162
163
158
150
136
113
106
107
109
110
111
111
112
113
117
122
126
131
140
145
151
158
165
168
175
176
178
181
186
188
191
188
188
189
186
186
186
184
188
196
200
204
211
212
219
225
232
236
240
244
246
247
247
247
247
248
246
242
241
238
233
224
218
209
204
202
202
202
202
200
198
196
194
188
184
181
176
172
171
170
172
173
172
174
174
173
173
171
169
165
161
165
170
178
186
188
189
188
188
188
187
183
181
180
183
185
187
178
173
152
150
170
177
182
178
180
174
187
195
184
196
186
189
185
183
179
182
191
176
182
185
169
59
49
31
29
34
36
37
38
43
44
47
47
52
58
57
60
59
66
72
78
80
81
85
91
88
85
87
81
81
82
84
89
90
94
97
98
98
100
100
101
103
103
103
103
102
100
98
97
94
96
98
102
102
102
102
104
104
106
106
111
109
109
110
109
112
110
113
113
115
120
121
121
119
121
125
128
130
132
134
134
135
136
138
139
139
137
137
137
136
135
138
139
141
140
134
130
127
129
130
134
134
130
123
123
125
130
132
137
142
146
152
161
163
164
169
165
162
161
161
161
159
149
138
130
119
111
104
95
88
97
95
93
92
89
103
120
129
135
143
145
147
151
155
159
155
152
151
157
158
154
159
150
142
140
147
154
161
165
164
162
162
160
156
156
156
155
152
152
154
150
144
131
107
98
99
101
102
103
105
106
106
110
117
119
125
129
126
129
132
134
138
141
144
148
150
152
156
158
157
159
159
159
159
158
154
163
170
181
187
195
204
212
219
225
232
237
243
245
247
247
247
247
248
248
243
242
239
234
227
220
210
206
202
202
202
202
200
199
195
194
187
185
183
176
174
174
172
172
173
173
176
176
177
177
174
170
166
165
164
171
178
187
189
191
190
188
188
187
183
180
176
181
185
184
176
166
163
147
144
171
189
185
179
183
198
221
192
183
183
175
187
194
171
184
196
180
182
180
173
47
47
38
34
36
35
38
42
42
44
46
52
55
56
60
63
69
81
85
93
97
102
106
104
107
107
102
103
95
86
85
82
84
86
91
97
96
98
99
101
101
102
101
101
99
95
93
94
94
94
95
97
97
100
101
103
105
105
107
108
108
106
106
104
106
107
107
109
111
115
115
117
118
119
122
125
127
126
128
129
131
132
134
133
132
134
136
139
139
141
138
140
143
136
134
133
131
131
128
131
130
130
129
124
117
118
124
127
129
131
135
147
153
157
159
159
160
159
161
161
155
146
137
121
116
111
102
100
95
100
98
95
90
87
89
100
115
126
133
137
141
145
147
149
153
153
150
149
148
149
136
128
125
127
137
148
153
159
162
157
155
153
150
148
146
145
142
142
143
139
129
108
89
80
82
84
88
86
90
100
110
116
123
130
130
130
124
123
119
119
114
113
119
123
127
131
134
131
131
129
128
126
126
129
126
138
149
158
166
180
194
201
211
220
228
234
238
241
244
245
243
242
243
245
244
242
238
233
228
221
211
208
204
203
202
202
200
199
197
195
190
188
184
179
177
176
174
174
175
175
177
178
178
178
175
171
168
165
167
172
179
188
190
192
191
191
191
187
184
183
180
182
183
183
172
163
166
171
171
165
179
180
188
188
194
193
182
179
186
193
198
175
175
183
192
187
187
179
166
49
49
40
32
34
31
34
36
35
41
45
51
52
58
67
77
85
92
103
113
117
120
122
126
127
129
121
117
112
110
101
97
88
83
84
85
91
93
93
94
94
96
98
98
96
92
92
92
91
93
93
95
95
97
98
100
102
103
104
106
106
106
105
104
104
106
106
108
109
112
112
112
116
116
119
121
123
125
127
127
129
132
134
136
135
135
137
138
138
139
141
139
140
141
141
140
133
133
132
126
125
127
124
122
121
122
126
130
126
130
134
136
142
146
153
154
156
160
162
159
149
139
133
126
120
116
114
110
106
102
101
100
99
98
89
89
97
108
116
128
136
136
139
140
137
133
132
130
123
115
114
114
112
113
121
132
143
148
152
149
147
146
143
136
133
132
132
133
132
122
108
85
80
75
78
81
85
93
109
124
129
133
137
135
135
134
130
128
121
119
115
108
103
101
103
96
99
97
98
98
96
93
95
98
102
113
127
140
150
166
185
195
207
213
222
228
231
234
235
240
238
237
240
242
241
240
235
230
225
221
213
208
206
204
203
203
202
200
198
195
191
189
184
180
178
177
174
176
177
177
179
179
179
179
176
174
170
168
168
174
179
188
190
192
192
192
192
189
187
185
183
183
184
183
177
174
172
170
167
169
184
179
182
190
195
196
185
184
183
191
193
184
180
184
192
167
191
183
181
48
49
34
33
34
32
35
36
39
44
42
43
50
65
79
82
98
112
117
124
129
132
137
144
145
142
140
140
135
133
126
120
111
106
100
97
93
91
88
87
86
87
91
89
90
88
88
88
89
89
93
90
91
95
97
99
101
102
104
107
107
107
107
104
106
105
106
108
109
109
111
113
113
115
116
119
121
121
123
123
123
125
127
129
131
131
133
134
136
137
140
140
142
141
141
141
138
136
136
128
125
121
119
119
117
120
126
129
125
129
130
134
136
138
141
143
147
152
155
149
144
138
135
132
130
128
124
121
116
113
113
112
108
107
102
98
95
102
108
118
124
125
127
124
119
114
114
103
96
95
103
103
103
110
112
113
118
126
134
135
133
131
129
123
121
127
125
120
106
91
72
73
71
68
77
88
105
124
134
142
148
146
144
140
137
136
135
135
133
131
126
121
112
105
96
97
97
95
96
95
88
91
91
89
90
105
129
141
152
171
184
194
207
216
222
231
238
240
242
243
241
240
241
243
239
239
236
229
226
222
217
209
207
205
203
203
203
205
202
198
192
190
184
178
176
176
175
177
178
178
181
182
182
182
180
175
171
168
169
174
180
188
190
192
192
192
189
189
187
186
184
186
187
183
192
198
182
168
169
183
183
182
186
184
190
183
185
182
191
181
189
180
185
192
175
183
174
179
184
49
49
35
31
31
28
37
37
39
45
64
78
92
105
118
129
134
140
142
142
143
146
148
150
156
159
161
154
155
149
140
132
129
125
121
116
110
101
96
91
89
83
80
78
79
81
81
82
84
85
88
85
89
91
95
96
100
101
103
105
105
106
104
104
106
105
105
105
106
107
108
110
111
113
115
118
118
120
120
120
121
123
124
127
129
131
131
131
133
135
139
139
139
140
140
140
139
137
136
131
127
124
121
118
114
116
120
124
124
126
129
130
134
138
140
142
145
148
148
145
145
144
138
142
140
140
135
130
129
124
125
123
124
122
118
115
111
111
110
122
122
115
113
111
104
103
100
105
102
101
96
96
94
92
92
91
91
96
105
109
112
107
102
100
97
97
89
78
62
59
61
60
67
78
85
105
117
134
144
150
145
145
145
141
141
140
140
140
141
144
140
129
130
124
116
119
119
116
111
109
106
98
96
95
102
115
137
150
163
182
193
204
216
221
227
234
241
245
246
247
245
241
242
244
243
243
240
233
230
225
220
212
209
205
203
203
203
205
202
198
192
190
184
180
177
178
175
177
180
179
182
184
186
186
184
180
174
172
170
175
183
190
192
192
192
189
190
187
184
184
183
185
185
182
186
188
182
158
166
180
180
191
192
190
187
188
183
187
193
186
185
182
186
181
145
186
183
179
178
57
48
50
43
42
43
41
46
59
71
77
87
100
113
126
133
142
153
155
157
160
163
162
166
168
167
170
168
162
161
158
156
147
145
139
129
123
117
110
105
99
95
86
81
79
82
82
80
80
78
80
85
84
86
92
94
96
97
99
99
100
100
102
103
105
105
103
103
105
105
107
109
110
110
111
114
115
116
118
115
118
117
119
121
125
127
129
130
130
131
135
135
135
137
137
136
134
134
135
129
126
124
121
119
117
115
117
119
121
123
126
127
128
134
132
134
138
141
143
143
141
141
141
141
141
141
138
138
138
135
131
129
130
130
129
124
122
122
121
122
124
119
118
115
116
112
112
113
112
109
105
100
98
99
92
87
87
84
84
82
81
76
67
65
62
60
56
53
53
53
49
59
68
74
81
108
125
137
144
147
147
147
147
143
143
143
142
148
149
152
145
134
134
134
123
117
117
121
119
115
107
101
100
102
112
127
151
169
180
193
206
214
224
230
236
243
247
249
251
251
251
251
247
249
250
244
242
239
235
229
220
215
211
207
204
204
203
205
202
198
193
191
184
182
177
174
172
175
175
179
182
186
188
186
183
183
179
177
173
180
185
190
194
194
194
192
190
184
184
184
186
186
187
184
174
167
163
168
174
182
186
193
198
192
186
190
187
184
186
190
200
189
188
186
170
172
181
201
184
76
71
74
66
70
58
63
80
80
78
85
102
109
120
136
139
146
156
161
167
167
173
173
176
178
178
179
179
178
177
170
165
164
157
151
141
128
123
114
108
103
96
97
93
88
90
88
86
85
86
84
80
81
81
87
87
90
91
91
94
95
96
97
99
101
101
99
100
101
102
104
105
105
105
106
106
108
109
112
114
115
113
115
116
121
123
126
126
126
127
130
130
130
132
132
132
131
130
129
126
124
123
120
118
116
113
114
118
118
120
124
127
129
129
130
132
135
139
140
142
139
139
139
141
141
142
141
141
141
140
138
135
136
134
134
132
132
129
129
127
126
127
128
124
124
128
124
122
120
121
122
120
119
116
109
105
103
103
99
89
80
72
66
64
62
62
60
58
58
60
62
63
70
76
91
119
131
135
142
147
148
146
144
140
140
141
148
149
150
156
153
141
136
132
125
117
117
116
117
115
110
109
118
130
144
157
178
188
198
208
217
226
235
235
241
246
251
253
254
254
254
255
251
253
253
249
247
244
239
233
224
220
214
208
205
203
203
205
202
199
196
192
185
183
179
174
172
174
176
181
185
188
188
186
183
184
181
180
174
180
185
191
195
196
197
194
193
184
184
186
188
190
188
187
178
169
168
173
179
178
174
181
189
196
199
182
182
188
191
189
197
194
194
190
179
181
191
191
185
78
79
82
78
77
82
88
95
103
99
105
112
118
127
137
141
146
155
165
171
178
179
180
183
185
187
186
183
186
181
184
181
174
168
159
143
138
131
122
117
108
105
101
98
88
87
94
97
106
107
109
108
106
101
93
86
87
88
88
89
90
90
92
92
93
94
94
96
99
100
101
100
100
102
103
99
99
100
102
104
106
110
112
112
116
118
120
123
125
125
127
127
125
123
123
121
122
122
121
120
120
117
114
112
112
110
112
114
116
118
119
122
124
127
126
128
130
132
134
137
138
138
140
141
143
143
143
143
143
138
138
139
138
140
140
137
136
137
131
131
132
132
132
132
133
135
135
131
129
127
125
125
123
120
118
117
116
114
109
103
103
97
90
86
81
79
77
70
74
76
79
79
85
89
107
116
128
132
137
143
145
145
145
145
143
144
149
145
152
160
156
145
135
129
121
112
116
120
120
124
130
134
143
156
169
176
190
201
210
218
225
231
238
247
249
252
253
255
255
253
253
254
253
255
255
251
248
245
243
237
228
223
216
210
207
204
204
206
204
199
198
193
188
183
179
174
173
176
179
181
183
185
188
188
184
181
177
174
175
181
187
191
195
196
196
196
192
183
181
182
186
188
188
186
176
171
174
177
181
176
181
187
189
191
187
191
184
187
188
203
201
186
189
183
180
185
185
187
176
81
82
83
92
97
106
114
116
119
119
122
128
138
138
142
145
150
159
168
174
180
179
181
186
189
189
188
186
188
186
187
186
180
170
163
155
146
133
128
122
122
110
107
99
106
110
115
120
125
123
115
110
106
100
99
94
88
89
79
80
83
85
85
86
87
88
89
91
93
94
94
94
94
94
94
93
93
95
97
96
100
104
104
107
107
109
112
115
117
119
120
122
120
118
117
114
110
110
110
111
111
111
108
109
107
106
106
107
110
114
114
113
115
118
121
123
125
126
128
131
132
134
136
137
139
141
144
144
143
142
142
141
138
138
139
141
141
142
137
137
137
141
139
140
139
141
143
137
137
135
134
134
134
133
133
130
129
127
124
120
117
116
115
109
106
99
96
90
87
87
90
98
108
110
109
119
128
126
131
135
140
140
141
141
141
141
147
142
149
147
144
132
123
118
114
121
125
131
138
144
150
149
156
167
176
186
201
213
221
227
228
234
242
248
250
254
255
255
255
253
253
254
254
255
255
253
251
248
245
239
230
226
220
213
208
206
204
206
204
199
199
195
186
184
180
176
173
178
180
181
184
185
187
187
183
178
172
172
173
179
185
192
194
196
197
194
192
181
179
180
187
188
188
185
175
170
176
178
181
178
183
188
187
194
193
184
185
189
194
207
195
190
192
190
186
178
174
189
167
97
102
109
112
114
117
127
130
131
137
136
136
139
141
147
152
155
160
167
170
174
176
179
183
186
188
187
188
190
188
187
186
178
173
163
153
151
141
134
135
130
127
124
127
126
122
125
123
119
118
116
119
110
98
97
93
85
86
82
72
74
75
79
83
81
83
83
83
85
86
87
86
86
86
88
88
88
90
91
93
95
99
101
102
104
104
105
107
108
111
112
113
115
112
110
109
106
106
105
101
103
102
104
104
103
103
103
102
106
105
107
109
110
112
112
113
116
120
124
127
128
131
131
132
134
136
137
137
137
137
137
136
137
137
138
139
142
142
140
142
141
141
141
143
139
141
143
146
142
141
141
141
141
141
141
138
135
132
131
129
126
125
122
122
119
115
109
105
109
107
107
113
118
118
117
121
124
128
131
132
134
136
138
137
139
141
140
139
140
138
123
118
116
119
122
126
134
142
148
154
162
164
172
184
186
193
204
212
221
230
232
239
245
245
247
250
251
254
254
255
255
253
255
255
254
253
251
249
247
242
238
229
223
215
212
210
207
208
206
202
199
195
188
184
180
176
178
180
179
183
185
186
187
185
180
176
170
169
173
178
184
193
195
197
197
194
190
180
178
178
185
187
188
186
175
174
173
172
179
185
178
185
179
187
188
183
191
202
194
213
191
182
198
190
181
173
153
179
186
114
119
124
122
124
129
134
139
138
142
145
149
145
146
151
154
157
165
168
172
172
167
171
176
182
184
183
182
186
187
185
183
178
170
164
158
150
145
137
137
136
135
138
136
136
128
123
121
117
120
116
108
106
97
91
87
87
82
79
73
76
83
85
80
75
79
79
76
80
77
78
80
79
79
80
82
84
84
84
85
88
92
96
97
99
99
101
101
102
106
105
105
105
104
103
101
101
99
99
97
97
97
97
97
96
98
98
99
99
100
102
104
105
105
105
107
110
116
118
120
122
124
124
124
127
128
130
130
130
132
132
131
131
131
132
133
135
137
138
138
139
140
140
142
141
144
145
146
144
142
145
145
146
146
146
144
144
142
142
141
138
137
136
134
132
131
127
124
121
119
120
125
127
129
124
127
129
128
131
132
130
132
134
130
132
135
129
123
112
105
96
104
109
115
120
125
134
143
150
157
163
167
174
186
190
196
205
216
225
234
237
244
246
247
249
252
253
255
254
255
255
255
255
255
254
253
251
249
248
243
239
229
225
218
214
210
207
208
206
202
198
194
190
184
180
177
179
181
181
185
187
187
187
185
179
174
170
168
170
174
184
192
197
197
196
192
190
179
177
178
186
186
185
186
173
175
176
179
184
187
187
190
188
187
189
173
190
188
195
204
198
179
190
186
175
179
157
189
183
115
118
123
126
133
139
143
145
146
150
150
152
155
154
155
156
156
163
165
165
164
166
170
170
174
174
177
177
177
179
180
178
170
167
163
156
152
148
142
140
143
143
143
141
134
131
126
120
118
114
111
105
105
96
93
95
87
78
78
77
75
80
82
81
84
79
71
72
74
75
74
72
74
74
75
76
76
79
80
83
83
85
87
90
93
95
98
96
96
96
96
96
96
96
96
95
92
92
91
91
89
92
92
91
92
91
91
91
95
97
99
99
101
102
104
106
108
110
112
115
114
114
116
117
119
122
122
122
122
123
123
124
124
124
124
127
127
130
131
133
134
133
135
135
135
137
139
140
140
142
142
144
145
143
145
145
145
145
144
143
143
141
140
138
137
132
132
131
132
129
126
127
127
126
127
127
125
127
129
134
130
130
129
126
122
118
111
103
93
85
92
103
110
112
111
115
127
140
148
157
166
169
174
186
193
200
209
219
227
236
239
242
245
249
251
253
254
254
255
254
252
255
255
255
252
251
249
246
244
240
237
233
229
222
214
209
208
208
206
202
200
196
192
185
181
178
177
181
185
186
188
189
187
185
179
176
170
170
171
174
183
191
197
198
195
191
188
179
177
180
186
186
184
181
177
175
173
174
182
188
185
180
189
195
202
183
192
192
191
196
200
185
187
203
179
168
180
182
182
122
125
131
134
138
144
151
153
157
159
163
163
164
164
162
156
156
157
159
159
162
156
160
163
165
165
164
164
164
166
167
169
161
153
151
149
145
141
137
136
141
139
144
137
132
130
127
121
112
109
101
94
90
90
84
84
83
74
73
70
73
76
79
78
81
82
72
70
64
68
63
68
69
66
69
69
71
72
72
74
77
80
80
83
85
87
89
89
89
87
88
88
87
87
87
87
85
83
83
81
83
88
88
88
90
88
88
90
92
92
95
96
98
100
101
103
105
105
107
108
109
111
112
114
114
114
114
114
113
113
115
116
117
117
115
117
117
120
123
125
126
128
130
130
131
131
133
132
135
135
137
139
140
141
144
145
148
148
148
148
146
145
145
143
140
137
137
137
138
134
130
130
130
128
127
129
128
127
130
131
129
128
124
122
121
116
104
97
88
91
96
105
109
109
113
114
128
143
151
158
171
180
188
198
206
212
217
222
228
235
239
242
244
247
250
250
250
252
252
252
250
252
253
251
251
249
247
244
242
237
234
232
227
222
213
209
208
208
206
201
200
195
192
185
181
179
180
184
186
189
189
189
189
186
180
178
174
172
172
175
184
191
197
199
196
194
189
182
182
181
186
188
184
183
181
182
179
176
182
187
192
186
187
196
194
184
186
188
185
198
205
188
185
176
171
174
176
179
172
126
129
138
144
151
156
160
162
160
161
163
161
166
163
158
158
153
148
150
153
153
147
151
154
162
159
158
158
158
160
158
158
158
151
144
139
141
128
125
122
121
122
132
130
129
132
125
115
105
100
93
86
83
85
81
81
77
74
70
70
70
71
73
84
82
77
77
75
67
57
58
60
62
60
60
63
66
68
67
71
75
76
78
78
79
79
81
83
83
82
80
80
81
80
81
81
78
78
78
79
81
82
83
83
86
87
87
87
86
88
91
92
94
96
98
99
101
104
104
107
106
108
108
109
107
106
106
104
104
105
105
107
106
107
107
109
109
110
112
116
118
121
124
124
123
125
127
126
129
129
130
132
134
135
137
140
141
144
144
147
147
147
143
143
142
140
138
138
136
136
135
130
132
134
136
133
131
130
131
128
133
129
127
126
118
112
103
99
97
91
98
107
108
110
114
116
127
145
159
169
181
189
197
211
219
223
225
226
229
232
238
240
242
244
246
246
245
247
248
247
246
243
245
245
244
241
237
236
234
231
229
226
221
216
212
212
211
210
205
204
201
197
192
187
182
180
181
183
186
190
192
192
191
187
182
177
174
174
175
178
188
191
194
196
196
194
190
183
181
183
189
189
187
180
179
177
180
179
182
189
183
188
187
192
196
186
190
189
176
203
195
189
191
175
171
194
197
178
183
140
146
151
156
159
162
165
167
166
167
167
165
163
159
158
151
147
144
141
140
138
140
142
150
151
151
151
144
145
147
149
149
146
143
137
131
124
112
110
106
104
106
109
110
107
112
104
97
90
85
80
70
69
68
71
68
61
55
55
57
63
73
83
78
78
72
68
62
53
50
50
50
51
53
54
56
55
65
67
69
72
66
65
72
72
72
74
78
78
74
73
71
72
73
73
75
71
73
73
74
76
77
80
80
81
81
81
82
83
84
86
88
89
91
92
94
95
97
99
102
101
101
102
100
98
100
97
94
96
96
100
98
100
100
100
101
101
103
106
109
111
112
115
118
118
118
119
118
120
124
125
127
132
132
134
134
136
139
139
142
144
143
140
140
140
140
138
137
135
135
135
135
137
137
140
138
136
137
136
134
136
136
133
131
125
117
116
114
111
109
110
109
117
121
124
127
138
156
167
177
188
193
205
215
219
223
225
226
228
231
235
238
239
238
238
238
239
241
243
243
242
238
236
234
233
228
226
225
227
225
224
222
218
212
210
212
211
209
206
204
201
197
193
187
182
180
182
184
187
191
193
192
191
187
182
177
173
172
176
181
190
194
196
198
196
194
193
183
181
183
188
192
191
183
180
179
182
184
186
185
183
180
183
191
192
191
190
188
181
209
195
181
177
182
173
183
192
179
177
140
146
156
161
163
165
168
168
165
166
167
168
163
163
153
149
142
135
135
129
127
126
128
137
143
142
138
131
133
132
134
136
136
129
121
117
109
100
88
86
83
80
83
85
83
85
79
72
64
59
55
48
60
67
53
48
41
32
42
54
66
81
85
81
83
84
82
71
60
47
48
44
47
52
53
58
64
64
64
65
64
62
64
65
67
67
69
70
69
70
75
74
72
72
72
71
70
74
75
76
71
64
72
76
79
79
79
79
78
78
81
82
84
86
88
88
88
92
92
95
96
96
99
100
97
95
92
89
88
89
89
89
91
91
93
93
95
97
99
101
103
104
106
109
111
111
113
111
113
116
121
125
127
129
129
131
132
132
133
133
135
137
137
139
137
136
134
136
134
132
133
136
136
136
135
135
139
134
134
133
131
133
134
133
133
132
129
126
120
116
115
115
124
131
140
144
151
159
169
176
189
200
202
206
216
218
221
222
224
226
228
231
231
229
229
229
230
232
232
230
230
230
231
227
220
218
215
214
214
214
218
217
213
208
207
209
210
209
206
203
201
197
193
188
184
181
182
186
188
191
193
192
190
186
181
177
174
174
177
182
188
194
198
199
198
194
192
184
182
180
185
189
192
195
183
173
179
182
179
186
179
182
183
183
192
190
186
196
181
207
200
192
175
190
176
184
180
171
173
137
143
152
159
161
164
165
165
162
161
161
161
160
160
149
141
134
128
118
117
114
119
121
122
121
120
123
115
117
118
116
117
114
112
104
98
87
80
67
59
56
51
57
54
52
46
45
46
42
32
23
16
19
28
25
32
37
47
55
58
73
82
80
82
82
82
83
74
65
63
62
59
58
55
55
56
57
66
65
65
68
68
68
64
62
60
67
67
69
69
68
70
76
73
80
76
82
85
82
83
83
83
89
80
70
73
73
73
75
78
78
79
81
82
84
84
85
86
86
88
89
89
91
92
90
90
87
85
82
81
81
82
83
83
85
86
89
90
91
94
95
98
100
102
105
105
107
104
107
109
115
120
122
123
125
127
126
126
126
126
129
130
133
133
134
132
134
134
132
132
133
134
134
135
135
135
136
136
136
136
133
133
136
142
142
142
140
136
133
129
125
124
129
137
146
151
157
164
166
174
185
193
198
202
204
207
210
212
216
219
220
222
224
227
227
225
222
222
222
218
216
215
215
214
205
203
203
203
205
207
210
210
208
205
205
207
208
207
205
203
201
197
193
188
184
182
182
186
188
191
193
192
190
186
181
175
173
175
176
182
189
194
201
200
199
196
193
185
181
179
186
191
193
191
185
179
183
183
178
185
186
181
192
186
193
183
196
193
189
205
208
192
185
182
170
179
182
180
181
132
141
149
157
159
162
160
160
159
161
159
154
151
151
140
135
125
110
109
107
106
108
112
102
100
101
101
100
102
99
102
102
98
93
83
77
68
61
52
40
29
20
26
24
17
19
17
1
1
0
0
0
0
13
17
28
45
47
51
53
63
77
84
84
84
82
71
69
67
72
69
66
57
53
52
61
63
73
78
82
84
81
80
78
79
80
79
82
82
84
82
80
87
89
85
81
78
74
79
74
71
76
74
76
82
64
66
67
70
72
72
76
76
76
81
82
83
83
83
83
84
84
83
82
81
83
82
80
79
78
78
78
79
79
79
80
83
84
84
86
89
91
94
96
99
102
100
101
104
107
109
111
114
115
117
119
120
120
120
120
123
123
124
126
128
128
128
130
130
130
132
130
130
131
132
132
133
133
136
138
137
140
141
143
145
145
142
142
140
138
134
128
128
132
141
155
159
163
163
172
182
185
187
192
193
197
201
207
211
215
214
217
218
221
221
221
220
216
211
208
203
198
193
189
182
183
187
192
197
198
200
196
196
200
200
204
208
207
205
203
200
195
192
188
184
182
181
185
188
191
193
192
190
185
182
178
173
173
177
185
191
195
200
200
200
195
192
185
181
179
184
188
192
182
180
173
180
185
183
184
191
186
186
194
190
182
197
191
191
198
194
185
184
181
178
178
183
180
186
131
140
146
154
158
158
151
151
151
149
149
145
144
143
131
127
118
102
98
94
93
95
98
92
90
88
86
80
82
82
79
77
70
66
60
49
47
34
15
4
2
0
0
0
0
0
2
0
3
0
2
1
0
0
1
18
43
51
55
58
61
78
83
83
83
84
75
74
73
76
72
67
61
60
58
62
75
75
79
86
95
96
90
83
88
88
91
87
86
86
86
98
107
103
102
94
81
82
76
73
71
73
74
74
73
78
60
61
67
67
67
68
65
67
72
74
73
74
76
77
80
80
81
80
80
79
77
75
74
74
71
71
73
73
73
75
77
78
79
81
83
87
89
90
91
94
95
98
100
101
101
104
106
107
110
110
112
112
113
112
112
115
116
118
120
123
123
124
125
125
127
126
126
126
127
129
130
131
133
135
137
137
138
142
144
143
144
144
144
143
139
135
132
132
137
145
149
154
156
163
171
176
180
183
186
188
194
202
204
208
208
211
214
217
215
214
207
204
201
195
191
186
180
174
168
166
169
180
183
185
188
188
190
194
195
201
205
207
205
203
199
196
193
188
184
182
181
185
188
191
193
192
189
185
181
178
173
173
180
188
194
197
199
199
198
194
190
184
182
182
186
188
185
179
176
178
182
183
190
186
188
184
178
183
191
188
190
184
199
189
192
192
193
179
194
187
175
181
189
127
135
146
149
150
148
146
145
139
141
140
139
132
126
119
115
104
92
86
80
76
78
78
78
72
65
56
59
59
56
49
44
40
40
29
10
4
2
0
0
0
0
0
0
0
0
3
0
1
0
1
0
0
0
0
11
40
44
48
55
59
65
74
84
83
79
72
74
74
72
70
66
55
55
60
67
72
76
83
89
97
97
101
101
92
92
89
97
94
94
101
116
117
114
117
106
98
92
96
83
77
69
70
68
67
64
59
54
60
57
54
60
58
62
65
66
70
71
71
72
73
71
71
72
72
69
72
70
69
69
69
68
66
63
67
70
73
73
74
76
78
80
82
84
85
87
89
90
92
94
94
96
100
100
100
101
104
104
108
108
108
108
109
111
113
115
118
120
118
120
120
120
122
122
122
124
127
130
130
132
135
135
136
136
138
140
143
143
145
141
139
139
135
135
137
140
142
146
152
156
161
162
164
169
169
175
187
191
195
199
202
206
207
204
199
191
190
188
186
186
180
175
169
160
153
151
157
167
169
171
176
178
181
187
192
197
207
209
208
201
199
196
193
188
184
182
182
184
188
191
193
191
192
188
184
177
174
174
181
189
193
198
200
199
198
194
189
182
182
183
187
189
187
179
175
177
180
190
192
188
189
186
172
185
197
184
186
203
184
207
190
191
199
186
179
190
175
178
188
116
123
134
139
136
137
135
130
126
124
120
114
116
110
102
99
89
81
67
58
52
53
53
53
49
38
29
26
26
20
18
18
1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
4
1
0
0
0
9
13
22
41
42
42
43
50
55
61
65
66
67
71
69
68
68
74
83
77
81
86
91
96
103
104
107
109
113
113
115
113
120
128
137
149
152
150
156
156
152
132
116
102
94
91
86
84
78
73
67
60
53
53
54
50
48
50
55
56
59
63
63
65
68
68
67
65
65
65
66
66
63
64
61
61
65
65
66
71
71
72
72
74
75
76
76
78
79
78
80
81
83
85
88
88
91
90
90
88
91
91
92
94
94
96
96
98
104
105
105
110
111
113
114
115
115
119
117
117
120
122
122
125
127
129
131
132
134
136
140
142
142
141
141
140
138
136
135
135
137
140
147
151
155
156
158
161
157
161
169
177
179
180
178
182
182
181
175
168
163
163
161
165
163
154
154
149
144
133
135
145
147
151
159
168
172
180
190
197
206
209
208
201
200
195
193
188
184
182
182
184
187
191
193
191
193
188
186
178
176
177
182
190
196
198
200
199
196
194
189
182
179
184
192
192
189
178
172
176
170
186
184
185
180
188
175
204
198
184
188
184
190
203
201
197
190
197
197
176
183
166
182
107
116
127
134
130
127
123
119
114
109
109
108
98
88
77
75
66
56
46
42
35
36
34
33
24
18
9
2
0
0
1
1
0
0
0
0
1
1
0
0
3
3
1
0
3
0
0
0
0
0
0
3
0
2
1
0
1
5
13
25
23
22
23
23
33
33
46
42
59
73
75
77
77
83
89
91
93
96
99
102
109
112
112
115
116
127
141
145
153
155
161
169
176
176
176
178
173
171
163
159
148
131
113
102
95
77
60
62
61
55
52
51
49
46
49
51
55
56
59
61
59
59
59
62
65
65
62
59
59
64
62
61
62
62
64
65
65
66
68
70
70
70
70
71
72
72
75
77
77
79
84
84
83
84
84
82
83
83
83
84
86
87
88
92
93
95
98
100
100
105
106
107
110
112
111
111
110
113
115
119
121
123
126
131
133
135
137
137
139
139
139
138
137
137
137
130
130
130
128
132
137
143
144
145
144
146
149
154
154
152
147
149
153
156
154
152
154
154
155
155
151
146
142
140
125
114
117
124
131
139
150
162
170
179
188
196
206
209
209
208
201
197
194
189
185
182
182
184
188
191
191
191
192
190
185
178
178
179
182
190
196
197
199
198
196
192
188
182
182
184
191
193
196
185
179
180
180
182
192
188
184
185
174
193
194
188
188
191
190
195
206
192
198
193
185
187
178
172
180
92
99
108
112
114
116
110
99
86
85
84
83
80
74
68
57
45
35
35
29
20
22
11
0
0
0
1
0
0
0
0
2
5
0
0
0
0
0
1
0
1
0
0
3
1
0
0
0
0
0
0
2
0
3
0
1
0
4
28
49
59
56
54
73
51
27
31
74
92
94
94
96
104
111
117
107
109
108
111
110
108
117
122
130
146
153
160
175
180
182
188
193
193
192
193
195
202
199
189
184
179
172
147
131
113
111
87
74
53
58
55
45
43
48
43
48
51
50
54
61
59
59
59
62
63
64
65
62
62
62
60
58
64
64
64
63
63
63
65
67
67
67
67
68
70
70
71
72
72
75
75
75
74
77
75
73
77
75
74
74
75
77
80
83
86
88
91
92
90
92
96
99
101
105
103
103
102
103
108
111
113
117
121
126
127
131
132
132
134
134
136
136
136
136
135
130
130
130
123
123
123
123
125
122
117
117
120
126
127
126
125
125
129
130
131
141
140
142
143
145
141
133
125
121
107
102
104
109
120
127
141
157
165
177
187
197
206
211
211
208
202
198
196
190
186
180
181
183
186
191
191
191
192
192
186
181
181
181
183
191
196
198
198
198
197
192
190
183
183
188
193
195
197
186
182
183
181
182
188
183
177
174
179
204
199
184
193
195
188
188
195
191
202
190
192
193
186
178
181
92
89
90
94
94
93
88
79
71
70
66
66
60
51
41
43
26
6
3
14
6
10
2
0
0
0
1
0
0
0
0
0
1
0
0
1
3
3
1
0
1
1
2
2
1
0
2
3
4
3
1
3
1
0
9
6
0
20
53
55
62
60
56
57
65
84
106
108
100
107
109
110
114
121
130
129
125
118
108
111
117
121
130
143
155
162
173
184
186
190
194
194
198
198
200
200
205
205
203
196
185
179
167
151
133
110
101
97
74
67
59
51
47
52
55
53
57
60
60
60
60
60
63
60
62
63
60
63
64
64
62
60
63
61
61
64
64
68
68
66
65
63
61
63
66
66
66
68
68
68
66
66
65
65
65
62
66
65
66
63
63
66
69
73
77
77
79
82
81
86
88
91
93
95
96
96
98
98
103
106
108
112
117
120
122
126
127
127
129
128
132
135
133
133
135
135
133
128
126
123
122
123
119
113
110
105
96
101
105
110
115
115
117
118
120
124
126
129
133
128
121
111
110
102
93
83
89
90
104
115
132
147
159
175
186
195
206
209
212
208
202
200
197
190
186
182
181
183
186
194
194
194
192
192
188
185
183
185
185
192
195
195
197
197
196
194
192
186
190
195
197
199
199
187
181
188
189
187
188
184
179
181
181
191
199
193
180
197
179
200
191
196
194
179
177
191
187
185
183
145
104
80
83
83
79
74
66
53
50
48
42
36
35
26
27
17
1
0
5
0
1
3
3
1
1
0
1
1
1
0
0
1
4
0
0
1
0
0
2
3
0
0
0
3
1
2
0
0
0
1
0
0
5
17
34
56
63
63
52
45
49
50
49
64
89
111
125
115
103
104
108
109
116
124
134
136
138
133
129
126
128
138
152
160
169
178
181
190
199
196
197
201
203
206
205
209
207
207
195
189
183
169
160
147
131
113
101
96
78
66
59
53
59
59
59
58
61
65
67
66
65
66
65
63
65
64
60
61
66
66
65
64
62
60
63
63
61
64
64
61
59
59
59
57
57
58
65
65
60
62
63
65
63
63
60
62
58
61
63
61
61
64
69
70
70
72
74
79
81
83
82
84
86
88
88
92
93
95
100
101
105
109
112
114
119
121
123
125
124
126
130
130
132
134
136
134
131
128
125
124
123
118
111
109
103
93
87
91
98
105
105
105
109
111
114
121
118
110
107
101
93
89
82
69
70
74
81
94
105
125
144
156
174
186
195
206
210
212
210
202
200
197
190
186
181
181
183
185
191
193
192
192
192
190
187
187
188
188
192
195
196
196
195
194
194
190
186
190
195
197
199
201
187
179
182
196
196
187
184
182
187
183
200
203
195
193
197
198
181
186
198
206
194
200
180
186
176
179
150
124
90
74
72
69
71
56
30
43
28
6
4
4
0
2
3
0
0
0
0
1
2
0
0
2
3
5
1
0
0
0
1
3
0
5
1
1
1
1
0
2
4
5
2
0
3
2
0
0
6
23
29
41
40
59
66
69
69
71
63
56
51
56
75
96
107
109
113
106
99
103
106
113
120
122
131
138
137
137
138
139
144
153
166
175
183
191
201
202
201
203
203
208
208
209
207
206
203
200
191
180
175
163
148
136
125
114
102
94
83
67
65
71
62
64
66
67
69
76
76
76
71
72
72
70
68
66
64
68
66
65
65
63
63
64
64
66
63
61
58
57
55
56
53
55
55
56
53
59
65
76
75
77
76
75
71
66
67
59
56
59
59
65
67
67
72
75
72
76
77
77
79
79
78
80
81
87
89
93
94
98
100
103
105
111
113
115
120
122
124
127
127
131
134
135
136
133
130
127
128
125
118
110
109
103
94
86
84
85
87
89
91
95
95
95
96
94
90
86
82
75
68
61
56
59
65
71
82
95
117
138
153
174
183
193
204
210
212
210
205
200
199
195
187
184
184
186
188
191
191
190
194
194
193
191
191
193
194
198
199
196
196
193
195
194
187
186
190
195
198
198
196
187
183
183
189
193
192
191
185
186
188
200
192
188
197
195
200
200
194
199
192
201
185
185
178
178
175
149
132
106
78
67
57
46
32
15
7
3
1
0
0
0
0
0
4
2
0
2
2
0
0
2
3
1
0
0
0
0
0
0
3
0
0
2
3
0
0
0
1
20
29
35
23
7
6
19
37
55
55
46
45
46
76
64
65
65
65
70
72
63
59
76
95
102
104
106
105
98
101
103
112
119
116
126
136
133
138
145
146
150
156
165
173
182
192
203
203
203
205
207
207
207
206
202
201
198
196
189
178
173
161
152
145
138
127
114
106
94
81
81
83
76
74
75
79
77
75
73
76
74
80
80
75
75
73
70
71
69
66
68
66
64
65
67
68
62
57
58
55
55
49
49
52
51
50
64
73
76
72
74
71
67
64
65
62
66
61
62
53
53
55
61
66
65
68
68
72
73
72
70
70
77
77
77
84
87
89
91
95
96
98
102
107
107
109
113
114
118
121
124
129
134
134
134
133
133
132
130
127
122
115
112
106
94
93
84
69
69
69
67
68
68
67
67
68
68
68
64
56
50
52
57
56
60
62
74
89
112
132
147
168
183
192
204
211
213
211
206
202
198
197
188
185
185
187
188
190
190
191
194
194
191
191
193
196
196
198
199
195
195
192
193
190
184
185
191
198
199
197
194
188
183
188
192
190
189
188
186
186
195
204
187
196
191
202
200
191
191
198
186
186
184
179
197
194
190
141
129
112
83
62
29
14
0
0
0
0
0
5
5
3
1
3
2
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
3
0
25
58
71
74
92
101
111
113
102
79
49
67
63
65
67
71
82
102
91
86
79
67
66
66
61
60
74
91
97
101
103
101
93
96
104
106
108
109
118
129
133
137
142
140
144
147
164
180
185
192
195
202
203
203
204
205
205
203
200
198
194
189
181
173
167
156
145
141
139
133
117
110
102
96
94
95
92
87
86
88
85
80
82
82
79
78
79
77
78
74
74
72
72
71
75
75
72
76
72
71
71
70
65
60
58
58
56
56
56
62
76
79
75
72
71
60
64
63
70
62
66
64
60
64
49
50
55
59
66
66
65
64
66
61
65
65
69
69
70
74
74
80
82
84
83
89
93
98
101
105
108
110
114
117
116
122
127
129
133
132
132
132
132
130
126
117
113
108
100
89
84
75
73
65
59
56
56
57
55
55
53
55
56
53
50
52
54
55
55
55
59
77
104
123
141
166
180
191
203
209
212
211
206
202
199
198
190
186
186
186
188
190
190
191
193
191
191
192
194
197
198
198
195
196
194
192
192
186
181
183
190
198
204
201
195
193
193
200
201
193
187
188
190
188
193
200
191
189
193
201
212
195
194
196
183
190
197
183
185
186
180
138
124
105
80
56
15
0
0
0
0
0
0
0
0
2
0
0
2
0
5
2
1
2
2
3
3
0
2
0
0
0
2
2
1
2
0
2
35
64
85
109
117
116
116
119
122
122
139
150
102
77
87
91
97
113
115
110
101
98
95
88
72
67
71
76
85
89
96
104
95
88
94
105
107
109
114
123
132
137
144
146
158
160
166
176
185
185
187
193
199
202
202
203
202
202
200
193
189
186
177
171
166
156
146
137
141
133
128
124
116
109
108
106
106
103
101
94
93
86
86
84
81
80
78
79
77
80
77
76
75
75
74
73
75
73
69
69
65
71
72
73
72
74
73
70
70
71
88
84
75
73
73
70
67
66
69
73
69
70
60
59
61
71
57
60
57
58
61
66
61
69
57
48
55
60
64
64
68
70
69
74
74
76
82
84
90
91
95
99
101
107
112
114
118
121
125
129
129
127
127
124
130
126
117
113
107
99
95
89
81
73
66
58
54
54
55
56
54
50
51
52
50
48
51
49
54
54
53
55
72
94
116
135
160
177
189
200
208
210
211
206
202
199
198
190
188
186
188
190
191
191
191
193
193
191
192
194
198
199
197
196
195
193
190
194
188
184
187
193
198
201
202
196
196
202
209
205
192
193
194
189
185
187
190
197
192
191
206
186
197
190
199
184
201
185
183
175
174
184
131
120
82
74
52
23
7
0
0
0
4
9
20
18
0
0
1
0
0
0
0
2
3
0
2
3
1
0
4
5
0
0
2
3
0
12
54
80
107
112
114
117
113
118
123
122
125
130
143
152
118
102
105
102
109
116
114
109
100
104
100
100
91
67
73
94
101
112
126
120
116
123
115
115
118
126
140
147
153
162
169
179
186
190
190
193
195
202
206
203
206
207
208
203
197
189
187
179
168
165
160
150
139
137
139
142
140
130
130
127
123
116
114
119
117
117
105
97
92
88
85
80
81
77
75
77
77
72
77
75
73
73
72
72
69
69
71
76
72
73
74
69
71
71
70
75
94
93
82
75
74
70
68
65
67
64
65
62
58
64
73
73
74
52
52
52
50
51
52
57
54
55
58
47
46
50
53
59
61
66
67
67
71
73
75
77
82
86
92
94
100
105
103
109
116
117
122
126
124
126
123
122
121
116
113
109
103
95
91
81
75
69
61
59
58
57
57
56
53
51
53
52
51
48
47
48
52
52
56
66
92
111
130
157
171
183
197
206
210
211
208
206
202
198
192
189
188
190
190
192
192
191
191
191
191
194
198
200
197
197
196
193
191
189
188
186
184
188
195
201
199
199
200
198
203
214
215
193
195
185
178
185
187
190
193
192
196
186
191
188
196
210
195
193
199
193
182
179
177
116
94
74
55
43
33
23
27
36
27
29
28
33
38
37
32
25
17
14
7
3
0
0
0
0
0
2
0
0
2
0
0
0
2
0
66
93
120
126
119
120
122
119
124
133
134
136
140
146
161
152
134
120
117
112
105
117
120
118
129
124
124
113
103
96
122
131
131
129
132
137
133
135
141
148
146
148
163
175
184
191
196
200
206
208
210
214
213
213
214
210
210
211
208
202
194
180
171
158
149
140
131
136
136
137
135
132
128
131
129
131
134
138
131
119
127
120
109
103
95
82
78
76
76
74
74
71
70
74
71
71
76
78
76
71
65
69
70
73
77
74
69
71
72
69
78
85
91
86
78
70
66
61
60
64
65
61
56
58
74
73
70
68
48
49
47
47
44
44
42
45
46
51
45
37
35
35
45
47
50
58
59
64
65
67
66
71
75
78
84
90
99
96
102
109
109
115
118
121
121
119
119
118
114
112
109
103
97
93
83
78
71
66
63
63
60
59
57
55
53
53
50
51
51
50
44
45
48
47
57
83
108
127
154
168
181
194
203
207
209
208
206
202
198
192
189
189
191
191
192
192
191
191
189
191
194
198
201
200
198
196
194
192
189
186
184
180
186
194
200
201
201
200
197
202
208
208
194
192
185
181
192
190
202
192
193
192
196
210
190
194
170
190
191
200
186
184
180
185
101
86
64
54
32
31
44
48
50
53
58
62
68
72
76
69
67
66
54
43
36
36
39
26
14
3
3
0
2
8
9
0
13
47
47
98
127
136
137
135
137
137
129
133
135
145
145
145
151
161
157
136
121
122
119
116
117
122
130
142
147
146
146
152
150
145
145
148
151
149
147
151
158
163
170
173
179
183
192
197
204
211
213
216
224
224
224
224
220
218
220
217
213
208
203
195
185
170
159
144
130
123
122
124
127
124
122
126
132
134
135
137
137
139
131
127
123
120
114
106
96
80
73
72
70
70
70
72
80
82
84
86
89
85
81
79
78
75
71
72
70
67
67
67
68
65
68
82
88
79
77
67
58
55
59
58
57
56
73
76
82
70
58
46
46
47
43
41
36
35
36
35
47
41
30
17
26
28
33
39
45
46
51
58
57
59
64
66
70
73
79
87
90
94
97
103
106
108
113
113
112
113
113
108
106
105
99
96
91
85
80
76
68
66
66
64
60
58
58
54
53
52
48
46
49
47
46
41
41
47
70
99
121
146
165
176
187
198
205
210
209
204
201
193
191
191
192
194
193
191
191
191
191
191
193
198
203
204
205
202
196
193
191
188
186
184
184
189
195
202
200
200
200
199
199
203
199
190
188
184
190
201
187
202
194
189
189
198
186
197
183
186
191
173
183
194
183
187
182
81
67
50
35
28
47
55
62
72
72
68
60
64
61
55
66
66
65
64
60
53
45
48
38
36
18
17
41
43
43
36
43
49
63
73
113
149
153
143
145
144
145
140
143
149
154
154
154
150
160
156
140
124
127
132
140
131
129
133
140
139
146
156
174
178
181
175
172
168
165
162
169
172
181
197
200
199
198
203
209
214
225
228
232
233
233
235
235
233
230
226
220
218
213
205
198
188
175
163
145
141
126
118
122
124
130
138
132
136
138
139
139
139
141
141
134
125
125
118
107
98
86
74
69
64
64
72
75
77
75
80
83
75
72
73
83
81
78
77
77
71
67
69
67
57
58
60
61
79
77
73
61
52
52
54
60
66
64
76
83
80
56
50
44
40
39
39
37
34
27
21
20
40
43
40
16
23
20
22
29
31
33
35
44
46
51
56
54
59
61
64
69
76
79
88
92
94
98
102
105
104
109
107
105
104
101
96
98
92
86
82
78
71
71
68
65
62
60
59
54
52
51
46
47
50
43
42
36
34
38
63
91
113
142
159
172
185
196
202
210
209
204
201
193
191
191
192
192
192
192
192
189
190
192
193
198
203
205
207
203
195
190
188
187
185
183
182
188
194
198
195
197
199
195
193
197
194
188
174
186
187
184
194
204
191
193
184
194
184
191
188
187
185
160
178
184
193
187
179
75
61
46
41
42
55
65
72
75
68
58
57
59
61
65
67
74
80
76
65
60
62
64
51
46
42
46
57
61
65
72
74
76
88
88
108
148
155
149
148
147
147
148
150
150
154
154
152
156
158
161
150
154
168
176
175
172
172
168
162
164
171
181
187
191
194
193
193
190
189
189
189
191
197
207
210
214
218
221
226
233
234
236
239
239
239
240
241
240
235
235
231
226
219
213
204
191
178
167
156
150
134
127
124
123
126
128
135
137
139
140
139
139
139
137
133
128
122
117
110
99
87
80
68
63
63
77
70
69
70
74
77
73
77
77
83
80
74
78
93
79
68
64
61
57
58
62
68
66
66
62
57
54
57
59
63
62
68
71
66
52
35
40
38
35
35
32
29
26
13
11
2
21
41
25
3
3
3
4
9
20
27
32
32
42
44
50
52
55
56
57
64
65
69
75
78
84
87
89
95
97
94
96
96
97
97
94
91
89
86
84
80
76
75
74
69
65
61
58
57
54
49
46
46
48
42
38
34
27
29
60
80
101
132
153
167
182
192
201
207
205
203
201
193
191
192
192
192
192
192
189
189
190
188
189
197
201
204
205
202
193
190
188
187
187
184
184
188
192
193
189
195
202
200
198
199
189
185
181
191
173
174
182
198
190
202
183
191
195
183
188
180
185
179
191
208
194
186
182
63
51
48
51
54
66
68
76
67
64
60
66
74
74
76
78
78
76
79
68
64
58
62
58
62
59
66
66
75
88
91
91
91
89
96
103
129
160
155
151
151
148
155
157
157
156
156
156
161
163
165
165
176
173
177
183
191
194
194
196
192
199
210
207
209
212
210
210
209
208
208
207
205
212
220
227
231
231
228
231
238
239
240
245
245
245
246
246
244
240
235
231
224
221
213
206
197
184
168
159
155
140
137
132
136
138
135
130
135
137
140
139
139
136
135
129
125
120
112
107
97
87
80
70
66
74
74
67
61
58
64
71
70
71
72
74
75
79
83
97
101
69
63
59
55
60
65
54
50
50
47
51
56
59
61
61
61
57
48
53
45
38
33
32
29
18
12
11
0
0
2
3
0
15
7
10
11
3
2
0
0
0
20
24
33
36
44
44
47
53
51
53
57
60
63
70
73
74
81
85
88
85
87
90
91
91
89
91
89
86
82
80
77
77
77
73
67
61
59
57
52
50
46
45
46
38
35
29
31
29
44
70
92
125
147
162
179
190
198
205
205
203
201
194
192
192
191
191
191
191
191
189
190
188
191
198
203
206
203
200
193
190
188
187
188
186
184
187
191
194
188
194
201
204
204
198
187
181
185
194
171
178
193
194
183
195
188
192
186
196
200
193
192
179
186
201
198
194
194
58
55
53
60
59
71
79
79
75
76
73
82
84
86
86
85
81
91
89
82
70
73
73
75
82
86
88
88
89
96
93
93
94
97
101
104
106
131
157
150
148
149
152
158
151
153
157
162
165
168
171
182
186
190
188
193
204
204
206
209
212
215
223
225
225
225
230
230
229
228
222
222
220
222
226
231
231
231
235
237
240
243
243
244
246
246
247
249
247
243
235
231
225
216
209
205
194
187
178
168
164
153
141
135
135
144
139
136
136
135
134
137
139
138
135
129
121
118
114
111
97
83
77
74
64
79
72
64
58
56
57
64
71
69
64
66
72
74
83
90
90
66
56
53
52
54
51
46
50
53
49
51
50
53
53
53
48
54
46
32
54
42
42
35
33
9
1
0
3
1
0
0
1
1
0
9
14
4
3
0
0
0
10
17
21
26
34
36
44
60
62
65
68
70
72
73
73
72
74
76
80
82
84
85
86
86
89
90
90
87
86
84
78
78
76
75
68
63
60
60
56
52
45
45
44
38
32
25
27
24
39
61
81
112
136
157
177
186
196
204
205
203
201
194
192
192
192
192
192
192
189
189
189
189
191
200
204
206
204
201
193
189
187
188
187
187
184
186
190
192
187
193
199
199
197
198
191
185
184
187
177
181
187
191
184
201
187
194
190
209
198
192
191
177
184
184
180
182
184
56
54
54
56
59
81
88
90
85
81
85
99
98
96
98
98
94
104
99
97
98
90
88
88
88
90
94
94
95
101
96
95
96
98
100
102
103
101
108
125
133
139
144
150
145
150
154
162
164
171
183
187
191
196
195
202
210
215
217
221
224
232
237
234
234
234
239
239
240
238
236
232
231
232
235
237
237
235
240
241
245
244
244
244
246
246
247
248
246
242
240
233
227
215
207
203
200
189
174
171
169
154
136
129
139
147
144
140
141
140
137
137
138
139
135
131
128
126
125
124
104
88
78
75
64
77
65
62
58
54
54
60
64
63
60
61
67
66
69
80
75
56
48
45
46
46
46
41
41
49
53
55
56
56
54
54
47
44
28
21
11
20
43
41
33
33
19
7
3
0
1
1
0
2
0
0
0
1
0
3
6
13
22
21
22
30
33
45
58
60
61
66
70
71
76
79
77
74
79
79
76
80
84
86
87
87
89
88
88
89
89
84
79
78
76
74
71
67
63
60
57
53
44
42
38
33
34
27
26
21
29
53
75
105
129
148
172
184
194
202
205
203
201
193
191
192
192
192
192
191
191
189
190
192
192
203
205
205
203
200
192
189
187
189
188
188
186
187
189
193
190
194
198
194
194
196
195
189
175
178
183
177
188
187
179
184
189
191
184
202
192
203
179
187
198
195
174
181
177
50
47
48
55
61
73
90
94
87
86
88
94
98
98
99
100
102
101
104
104
102
100
98
93
95
97
100
99
99
99
94
98
97
93
97
100
102
102
101
101
103
112
118
127
133
142
151
160
169
177
184
184
188
194
198
208
215
219
223
230
233
235
238
242
242
242
244
244
244
242
242
241
235
235
235
235
235
235
242
242
241
245
247
248
246
246
245
244
244
241
236
232
225
216
208
199
190
184
177
169
155
142
129
119
129
138
140
144
146
145
139
140
142
140
134
130
128
120
116
115
109
99
85
79
61
64
62
57
58
58
59
61
60
60
59
56
59
57
63
61
59
45
43
44
44
39
40
40
41
43
42
42
45
50
44
43
45
38
27
19
19
16
17
22
23
30
25
6
0
0
0
0
0
2
0
0
0
4
2
4
11
20
28
34
38
43
52
55
62
61
66
73
73
75
79
78
78
80
79
79
79
74
74
80
83
87
90
91
91
89
89
87
85
84
80
74
71
68
63
59
55
50
50
45
38
31
29
27
23
21
17
38
68
95
124
143
163
180
190
200
203
203
201
193
191
191
191
191
192
193
191
191
193
195
196
202
206
206
205
200
191
187
185
186
188
188
186
191
193
193
191
195
198
198
198
200
206
187
170
171
184
178
174
192
186
186
198
206
186
195
201
191
188
186
194
194
193
178
181
47
48
50
46
50
58
72
85
85
84
84
91
91
92
93
101
101
101
103
103
101
93
97
101
99
101
103
98
98
98
102
102
103
99
99
101
99
98
101
96
95
99
110
119
130
147
157
169
176
181
188
188
191
196
200
207
217
228
231
238
239
241
242
247
247
247
244
244
244
245
245
246
240
240
240
239
239
239
242
240
240
238
238
239
243
243
243
242
240
238
231
227
220
210
202
192
188
183
176
163
151
135
130
127
137
148
150
151
153
149
144
149
149
149
147
145
143
133
123
112
112
104
95
85
67
66
66
60
59
61
63
60
64
65
63
59
59
60
64
58
51
46
40
40
38
33
35
31
51
42
38
38
41
46
42
41
39
39
37
31
31
28
26
23
15
16
16
7
1
2
1
2
2
2
0
3
3
9
12
16
21
31
41
48
53
60
61
65
72
73
69
68
63
68
72
77
81
84
83
80
78
76
76
76
82
86
89
90
88
90
90
88
86
86
82
76
71
70
65
61
57
50
45
43
38
32
28
28
20
17
14
25
58
87
119
138
158
177
189
197
200
202
200
193
191
191
191
191
192
192
192
191
193
195
196
205
207
207
204
199
191
186
184
185
187
187
185
190
192
192
192
194
196
196
198
200
202
179
164
174
182
176
174
198
184
196
185
181
175
198
201
202
179
190
187
195
184
182
180
37
40
47
45
46
55
71
81
82
85
80
80
84
87
91
93
99
101
102
102
103
98
103
106
106
104
100
94
94
94
96
101
99
97
86
87
88
88
88
92
93
97
104
115
132
149
161
171
177
183
190
191
193
194
196
205
214
227
233
239
243
245
244
245
245
244
244
244
242
243
243
242
238
238
237
233
233
235
238
238
236
232
232
232
234
234
233
228
226
223
220
216
207
197
190
184
181
174
166
156
145
142
143
147
151
155
159
162
160
154
153
157
157
159
162
158
151
145
137
126
114
108
104
92
80
76
66
62
64
63
63
65
65
67
70
66
62
59
51
47
47
49
47
44
35
32
30
30
35
38
39
41
39
41
46
45
39
39
39
36
32
27
21
21
22
29
19
10
3
12
9
0
0
1
0
2
7
15
21
28
34
40
42
47
54
67
72
74
77
75
78
80
83
86
87
85
86
91
96
92
85
83
80
78
76
79
85
87
87
89
90
87
84
85
81
72
68
66
65
58
55
49
44
42
42
30
28
23
22
17
11
24
51
83
109
131
156
172
182
192
199
201
200
193
191
191
191
191
192
192
192
192
194
196
198
205
209
207
206
198
195
186
182
185
187
187
188
193
193
194
193
195
198
196
198
201
201
182
169
178
180
182
171
182
185
191
201
189
181
199
197
204
193
166
198
204
178
176
165
37
34
37
40
38
49
52
61
68
65
72
81
87
89
94
88
94
98
105
107
106
102
106
109
113
108
104
103
103
101
97
99
89
81
73
75
79
81
79
79
85
85
98
107
118
135
152
170
173
179
188
187
189
192
195
203
213
225
231
237
242
242
243
243
243
243
242
242
241
240
240
240
237
237
234
227
227
227
231
231
230
226
226
224
228
228
226
218
216
213
206
196
188
184
176
173
170
165
157
151
145
151
156
161
163
165
168
173
174
170
167
164
164
165
167
164
158
151
146
136
126
122
114
110
96
85
73
66
58
61
66
62
67
70
73
66
65
58
53
51
52
50
48
47
41
37
34
28
30
35
38
39
39
42
45
44
39
37
36
34
30
24
22
24
22
22
18
18
14
12
7
2
1
3
4
18
29
39
48
55
58
58
50
51
58
69
74
78
83
88
92
94
91
92
92
91
93
95
102
102
100
94
89
86
83
82
80
82
84
85
88
85
83
82
77
69
63
61
60
56
52
47
44
40
36
32
30
24
22
18
13
17
46
75
105
127
152
168
180
190
197
199
198
192
189
191
189
192
192
193
191
191
192
194
198
206
208
208
207
199
194
184
182
183
187
187
188
191
194
196
195
197
197
198
198
199
196
180
177
182
184
195
170
177
194
187
197
176
184
190
188
211
186
184
175
185
184
183
183
50
42
45
45
41
52
56
62
59
62
66
74
83
83
86
91
93
95
101
103
104
103
104
106
106
106
105
106
102
96
91
82
76
65
63
66
66
66
63
67
71
76
85
96
107
120
133
153
166
173
181
187
193
200
202
206
214
221
226
231
234
236
235
239
239
237
236
236
236
235
235
233
232
228
225
223
223
222
218
218
218
219
217
214
216
214
212
205
199
190
185
177
168
161
161
158
155
151
149
143
147
153
166
174
181
178
182
181
180
178
177
172
172
172
176
174
171
164
156
149
141
135
126
117
113
107
99
82
79
67
62
60
60
60
58
56
58
57
54
52
53
54
49
50
44
34
33
34
34
38
43
43
38
39
42
43
42
39
34
29
27
24
21
13
8
8
7
11
3
1
0
1
3
16
28
46
60
68
73
74
75
74
71
68
72
76
82
86
91
96
98
98
102
100
96
95
97
102
108
107
103
100
96
88
86
83
83
85
81
83
84
83
80
81
78
70
67
61
54
55
52
45
39
39
37
32
30
26
23
19
15
20
39
72
100
122
151
166
178
187
195
199
198
194
191
193
191
193
193
193
191
191
191
195
200
206
208
208
207
199
193
182
182
183
185
187
190
194
194
198
199
199
199
196
198
198
190
171
166
188
177
180
182
177
185
196
184
185
184
203
213
197
176
196
183
191
185
188
181
36
37
28
40
39
52
50
63
66
67
78
74
79
81
83
89
91
93
97
101
103
99
101
102
102
100
99
101
97
92
86
79
67
55
50
47
50
53
61
65
74
84
86
90
97
106
117
133
143
158
176
183
189
196
203
207
213
215
219
226
230
230
230
234
234
232
230
228
230
227
225
224
219
218
215
209
207
206
209
209
209
207
204
198
193
191
187
182
174
167
162
155
146
144
146
145
147
143
142
138
149
160
173
178
181
185
187
187
187
183
181
179
177
177
178
178
173
171
164
160
149
139
130
132
126
120
120
99
93
88
71
61
61
59
57
54
54
53
53
51
51
55
52
52
47
42
35
33
39
41
42
41
38
36
39
39
35
33
29
24
20
17
9
4
0
0
0
2
2
1
0
4
16
39
53
59
65
70
72
75
82
80
78
76
80
83
93
95
97
97
95
99
100
102
97
94
101
112
114
114
111
114
111
110
97
93
89
87
83
80
81
79
79
76
75
68
63
58
53
51
47
41
38
38
36
31
27
26
23
19
15
17
36
69
94
116
146
162
177
186
192
198
198
194
191
193
193
193
192
193
191
189
191
195
199
205
210
208
206
198
191
180
180
182
184
186
190
196
196
197
196
198
200
196
196
191
182
168
148
175
173
168
182
188
178
193
205
188
189
200
207
196
189
170
169
192
188
180
181
24
23
22
34
44
54
62
66
68
78
80
83
75
78
81
83
92
99
98
95
94
99
99
96
96
93
95
97
97
92
85
84
77
77
75
76
67
73
76
80
82
84
83
83
86
98
112
129
138
149
165
173
181
190
196
201
206
210
214
220
225
225
225
221
225
226
225
223
222
220
215
212
207
203
200
193
190
185
190
190
191
188
184
180
176
172
166
161
156
148
131
125
122
129
129
132
134
139
144
147
157
166
173
176
182
189
189
189
187
185
181
179
179
181
179
177
177
171
168
164
161
146
138
136
134
130
132
124
112
106
88
74
73
70
68
62
56
54
51
53
54
53
53
54
51
47
42
37
40
37
31
30
30
34
30
28
27
28
24
21
17
11
5
0
0
3
1
0
0
0
2
11
39
47
59
69
73
81
87
90
92
94
96
95
97
100
105
102
101
97
94
99
98
103
103
108
113
122
128
128
127
135
135
136
130
121
111
103
93
79
82
76
76
71
67
62
61
57
48
46
42
39
35
32
31
26
25
21
18
17
15
18
33
62
89
114
140
154
169
183
190
197
197
193
193
194
195
195
194
193
191
191
189
194
199
205
209
208
206
199
189
183
181
182
182
184
187
194
194
194
195
195
196
198
191
185
186
171
161
183
177
185
181
177
174
191
195
182
186
201
204
223
181
192
191
202
182
181
189
15
7
23
30
40
50
60
64
68
71
70
70
72
78
81
85
86
90
93
95
98
97
95
92
93
93
94
93
91
91
94
97
98
94
94
94
96
102
108
110
107
101
91
95
96
100
103
136
146
158
170
174
181
189
192
194
200
205
208
214
213
215
215
212
214
214
215
214
211
207
201
197
190
188
184
179
174
171
164
162
165
166
164
159
161
155
151
142
135
127
121
117
117
124
122
125
126
134
142
143
153
161
167
173
179
185
187
186
185
180
178
180
180
178
182
180
176
171
168
164
152
152
138
135
133
130
132
131
127
117
112
90
83
78
80
71
63
57
51
54
55
55
55
55
53
47
44
39
38
38
41
41
35
29
25
25
23
23
23
21
17
10
4
2
0
3
1
1
0
0
15
30
50
55
76
78
83
84
92
92
96
100
101
104
106
106
105
105
106
97
97
100
100
99
104
119
128
136
137
141
150
151
151
152
152
146
135
131
123
101
91
77
70
66
60
54
54
51
43
37
35
32
27
25
22
22
20
18
14
14
14
9
24
52
81
103
133
151
166
180
189
195
197
194
194
194
195
195
194
193
191
191
192
194
200
206
208
208
205
198
189
184
182
182
180
182
181
190
190
188
193
198
195
191
189
188
190
167
157
171
162
177
181
167
183
196
194
177
187
189
200
194
142
194
198
189
191
188
195
25
18
26
33
39
48
53
60
65
72
71
59
58
63
66
70
74
76
80
82
82
84
82
74
75
77
79
87
91
96
99
99
101
104
106
110
108
111
113
113
111
113
114
116
121
123
132
149
157
161
167
175
182
188
195
195
198
199
197
198
202
204
204
199
197
196
198
198
199
188
184
180
171
165
161
163
163
164
160
156
152
148
144
137
135
135
130
125
115
106
103
105
107
110
108
110
116
124
131
141
147
154
163
167
172
183
183
184
183
179
179
179
179
179
177
175
170
167
164
161
153
150
144
136
136
138
135
134
134
127
120
110
95
80
81
78
71
63
55
51
52
55
53
52
51
45
45
40
38
36
41
34
27
22
25
25
25
20
12
19
18
4
1
0
0
0
0
2
0
1
32
31
48
62
74
83
94
99
103
108
115
117
117
114
112
110
103
102
95
93
91
92
96
92
104
119
126
137
142
146
146
153
153
150
148
148
144
135
130
121
98
85
67
60
56
48
45
41
38
34
32
27
28
26
23
21
19
18
17
17
18
17
20
44
70
99
126
144
161
177
188
194
197
194
194
195
195
195
195
192
192
191
192
194
199
204
207
206
203
196
188
184
182
181
179
179
179
185
189
187
197
202
198
189
193
188
174
167
153
179
164
171
169
170
190
195
194
187
191
189
202
184
157
189
187
190
188
187
199
41
31
36
36
36
37
45
51
58
66
68
48
47
47
52
51
54
60
65
67
69
66
62
59
61
68
78
79
90
101
102
103
104
104
106
110
117
121
126
129
133
133
134
134
128
133
144
159
168
170
177
174
179
187
190
196
199
191
191
189
188
188
187
186
184
180
172
172
172
168
166
164
162
156
151
144
144
143
150
146
141
137
133
126
108
104
102
92
86
83
76
83
95
103
101
101
109
116
127
139
144
149
153
159
163
174
174
175
174
172
173
178
178
178
175
173
167
164
162
158
154
150
148
143
144
143
143
141
143
138
127
120
113
91
83
79
72
66
66
58
55
55
53
49
50
47
46
42
40
39
34
29
23
19
18
17
20
16
12
5
0
3
0
0
0
0
1
3
0
2
33
36
55
68
98
101
103
103
107
113
118
120
120
121
121
118
105
100
91
83
81
79
80
83
100
117
124
136
146
150
153
151
151
148
144
142
140
132
136
130
111
92
70
56
48
44
43
39
34
33
31
26
24
22
22
23
23
20
21
23
23
19
19
38
62
88
116
136
152
170
185
192
198
194
194
195
195
195
195
194
192
192
192
194
199
203
205
205
201
195
187
183
181
182
181
181
180
188
192
191
196
202
194
182
191
184
174
166
158
179
167
168
163
174
184
196
187
186
195
183
186
174
177
184
198
200
193
197
190
42
28
39
38
35
36
50
54
54
56
62
55
42
42
41
39
40
45
53
50
50
46
43
53
57
64
72
78
87
95
101
101
99
104
113
122
120
132
140
139
140
145
153
157
162
166
166
168
172
176
180
182
184
187
188
187
186
186
184
180
181
181
179
172
164
158
148
140
145
142
140
139
144
143
143
137
135
132
128
130
133
128
124
117
109
100
91
82
76
74
68
75
80
97
97
90
100
106
123
132
138
143
145
149
151
154
158
162
162
163
163
168
169
174
169
164
161
152
152
152
152
152
152
147
147
145
141
141
144
145
137
130
130
108
95
93
71
67
67
63
62
57
57
57
55
48
42
40
33
35
30
30
25
22
22
18
22
21
16
4
0
0
0
2
4
0
0
0
0
0
23
40
65
87
92
105
111
112
117
124
125
126
130
132
128
122
115
102
78
71
67
68
76
79
100
114
123
137
140
146
148
148
146
144
141
141
140
141
137
127
112
96
78
59
50
45
42
36
33
32
32
30
26
24
23
24
24
24
24
22
21
22
20
36
56
78
112
131
149
165
178
188
195
194
194
195
196
196
196
194
192
192
193
195
197
203
205
205
201
196
186
181
179
179
180
180
180
189
193
194
193
195
193
186
186
172
169
171
177
180
182
172
166
164
176
194
185
173
203
188
186
180
185
198
208
211
202
189
190
51
38
36
38
43
48
47
49
49
50
45
52
52
44
35
36
36
38
39
37
35
25
29
50
49
55
63
71
80
91
101
104
106
114
118
131
138
140
140
142
143
149
158
161
166
164
181
184
177
179
183
188
190
193
195
191
191
183
179
173
170
164
153
145
140
135
135
130
134
132
130
127
128
124
125
126
124
121
121
117
114
113
114
114
101
97
95
92
88
82
74
70
71
83
84
84
84
95
104
112
120
124
132
137
139
137
142
142
144
144
148
156
159
159
153
150
147
143
143
143
148
148
149
150
147
148
141
140
142
144
136
129
131
115
112
98
84
76
70
60
59
59
57
55
54
55
50
44
37
34
32
31
28
29
27
28
30
29
24
7
3
1
0
0
2
4
0
1
0
0
8
47
82
92
96
107
115
117
122
130
131
135
139
134
128
120
117
106
94
74
66
63
61
63
83
95
103
116
126
130
138
147
147
147
145
145
141
138
133
126
112
94
76
63
53
48
44
39
35
33
33
30
25
23
24
25
25
27
26
26
23
28
20
28
47
70
104
125
143
163
176
186
194
194
194
195
196
196
196
194
192
192
194
194
197
202
204
205
201
196
188
182
180
180
180
178
180
189
193
193
193
195
193
188
188
171
173
172
176
168
169
181
178
185
191
173
151
164
208
198
186
194
198
210
194
191
194
187
182
54
40
40
39
46
51
52
49
47
45
45
42
40
40
37
38
38
27
25
26
15
15
26
34
39
46
56
61
72
92
95
104
114
129
128
142
146
148
148
150
151
153
163
165
172
177
181
185
187
185
184
193
195
195
193
193
189
189
185
177
168
159
150
138
134
128
124
122
121
129
131
131
132
128
123
114
114
113
105
105
103
99
103
104
102
97
94
91
89
87
76
74
74
71
73
67
71
81
86
91
98
104
107
113
115
122
122
122
124
135
134
137
139
137
137
135
135
134
131
141
142
142
142
148
144
139
140
138
136
132
127
124
124
115
105
94
92
88
71
65
61
58
56
54
57
57
52
53
42
40
37
38
37
39
36
35
32
28
23
12
0
0
3
0
0
0
3
2
1
5
26
57
84
91
97
110
119
122
127
132
137
137
137
138
137
131
118
109
94
87
78
61
64
61
69
77
86
103
112
121
130
135
137
139
145
145
141
136
128
118
102
98
81
63
53
48
47
43
40
37
35
34
34
31
25
26
26
29
27
27
26
26
24
23
41
63
94
112
135
154
171
181
190
193
195
195
196
196
196
197
195
195
195
195
197
203
205
205
204
196
192
185
182
183
185
185
186
189
193
197
192
194
196
195
180
167
169
175
170
166
182
193
174
177
176
166
163
169
205
211
182
196
187
178
211
198
189
194
185
51
56
44
37
37
41
44
41
42
50
48
51
59
58
55
50
50
44
32
13
4
1
0
9
25
32
37
56
68
82
89
100
126
135
144
153
154
156
156
160
160
164
172
175
179
181
184
190
190
190
190
193
195
197
198
196
193
195
190
182
181
166
149
140
136
130
124
116
112
105
112
119
119
117
113
103
101
100
99
98
93
96
99
99
95
88
87
82
81
77
78
76
74
76
67
58
57
57
58
62
68
75
89
95
96
96
98
100
109
118
112
108
109
113
119
119
121
128
125
132
133
136
137
140
136
133
133
133
132
132
130
125
119
108
99
100
92
88
77
70
66
56
51
51
53
55
47
50
44
41
38
40
43
44
40
38
32
28
26
29
10
0
1
2
5
0
1
0
0
3
24
48
72
83
102
117
125
135
142
148
144
142
135
133
128
124
116
105
91
91
82
68
62
58
63
66
73
93
112
119
127
129
131
131
136
136
135
138
130
113
105
97
83
72
62
54
53
46
43
41
38
38
37
35
33
32
32
34
31
29
26
24
22
19
36
55
85
106
127
150
166
178
189
193
195
196
198
198
196
196
196
195
195
195
198
203
205
205
205
198
193
183
181
182
184
187
184
190
190
195
193
195
199
198
179
162
184
182
175
175
183
184
174
172
171
177
184
218
183
197
181
199
208
188
197
210
197
194
172
41
42
40
45
42
45
48
50
57
59
64
64
57
52
48
45
42
45
47
37
18
13
0
2
15
29
50
67
75
85
95
104
135
145
157
164
161
161
164
165
167
169
174
177
182
185
185
186
190
188
184
192
194
195
195
193
190
189
182
176
172
164
155
152
145
138
125
116
107
111
109
106
108
104
99
92
85
81
85
85
84
87
91
93
87
81
78
75
75
78
76
74
66
65
61
53
49
48
45
46
50
54
54
61
63
65
69
72
74
85
94
97
97
97
102
102
106
111
109
121
125
127
136
138
135
128
126
126
124
129
124
122
115
109
99
101
98
96
82
71
61
58
54
52
55
53
47
48
46
46
43
42
41
44
48
45
42
42
40
32
11
4
0
2
0
0
3
0
2
0
20
45
67
90
111
125
134
136
139
144
150
149
148
146
140
130
124
105
90
91
78
73
73
71
67
62
69
87
99
104
117
123
127
131
133
133
132
134
129
120
107
98
93
84
76
66
62
55
46
46
42
43
51
62
56
57
57
53
49
47
45
43
29
19
28
41
68
94
116
141
161
175
185
196
198
199
199
199
198
198
198
196
195
195
199
204
207
206
203
197
192
183
181
182
183
185
187
192
192
195
191
195
199
197
183
165
173
174
177
173
167
177
172
179
178
169
166
140
175
179
180
195
186
197
203
184
193
211
188
40
43
50
49
57
53
56
67
76
83
79
68
64
59
57
62
60
58
55
55
58
48
48
43
42
44
54
66
76
90
102
123
135
145
155
160
161
162
166
172
174
174
176
180
186
189
189
189
189
187
183
184
186
188
186
182
181
179
173
167
159
159
157
153
146
140
124
115
106
105
105
102
98
92
87
82
82
80
75
78
86
89
92
92
88
84
79
70
71
70
70
71
62
57
49
41
40
33
29
30
32
36
32
35
42
47
53
57
73
79
83
87
86
86
91
98
98
100
100
115
124
130
131
130
125
123
125
125
121
117
114
110
102
99
99
99
96
98
89
75
67
61
58
52
49
50
47
46
50
49
48
55
55
61
62
57
54
47
39
30
10
5
25
25
19
15
20
19
1
0
17
46
74
104
114
125
136
135
137
141
141
144
151
146
142
136
126
107
93
90
77
73
77
74
73
73
75
80
84
91
97
103
106
113
119
119
116
117
119
117
106
101
97
102
97
87
81
73
66
53
53
68
77
83
83
94
96
91
87
92
87
75
67
57
45
46
62
86
107
134
155
171
183
192
199
200
199
199
199
198
198
196
196
196
200
206
208
207
205
198
194
184
182
183
184
184
186
191
197
197
192
192
194
194
187
173
173
177
179
175
162
182
188
183
171
177
165
172
171
152
187
205
186
190
183
194
199
209
190
44
44
46
50
52
56
61
75
77
81
85
81
72
72
70
68
66
66
69
69
71
68
66
65
70
67
72
65
74
87
100
109
122
139
153
162
160
164
165
169
173
174
173
176
183
188
187
193
191
186
186
183
182
178
178
176
171
168
164
163
157
153
151
147
140
134
130
124
119
110
103
97
98
98
95
90
88
83
83
83
80
83
87
88
86
84
82
78
75
71
63
57
52
46
40
34
30
25
20
29
33
33
34
38
42
52
55
60
68
75
80
82
82
82
83
83
85
87
93
96
102
111
119
120
118
114
115
113
111
109
107
107
102
95
91
97
95
91
87
76
66
62
57
55
52
50
48
52
51
53
56
59
58
59
54
56
49
47
41
34
23
26
32
30
21
12
35
45
53
51
57
83
95
102
112
126
137
137
137
135
141
141
140
141
139
137
125
111
100
89
81
85
83
80
82
83
81
75
82
81
85
87
90
98
101
101
103
105
107
106
102
101
101
100
100
96
89
87
81
72
74
79
87
100
101
107
110
107
107
102
102
99
96
83
75
59
69
86
99
125
146
167
181
192
199
200
199
201
200
199
199
196
198
198
200
206
208
207
204
199
189
183
183
183
184
181
186
193
197
199
195
195
196
194
186
175
176
180
179
173
170
177
173
175
182
179
173
151
165
139
178
198
201
194
187
192
188
205
189
39
41
50
51
55
62
62
72
79
80
84
83
87
83
81
80
85
92
86
88
91
90
85
82
81
90
81
84
84
89
93
102
114
125
140
157
158
160
162
165
171
172
173
174
179
181
182
186
184
181
179
176
174
170
164
163
161
158
156
154
156
152
152
151
147
138
131
128
122
116
109
101
88
93
101
100
92
81
76
78
82
79
82
83
83
83
80
75
64
57
56
49
44
36
29
23
23
25
21
24
24
29
41
45
49
50
54
62
62
69
73
81
83
84
83
83
82
81
83
87
88
94
105
112
112
106
107
107
104
106
104
100
102
97
92
88
86
81
83
72
64
66
58
56
55
53
48
48
47
51
56
58
57
61
50
46
42
46
40
38
44
46
43
36
50
47
33
29
39
44
58
74
94
113
128
130
132
134
132
134
138
138
137
140
138
135
129
120
108
98
88
91
92
92
92
89
88
82
77
77
78
82
86
92
97
97
100
105
109
106
95
96
99
95
92
88
89
94
85
81
87
85
102
108
114
121
130
125
117
117
117
124
120
110
99
80
76
93
108
124
145
163
181
190
198
202
200
200
200
199
196
196
196
199
200
206
208
208
205
198
189
183
183
183
184
184
188
193
197
199
196
196
199
194
189
172
176
179
167
179
182
177
184
176
173
176
173
153
169
142
175
189
193
203
184
184
167
190
194
40
42
44
40
46
53
66
71
77
79
81
88
92
91
92
100
102
103
103
103
106
98
94
91
94
92
90
92
97
101
101
107
114
121
129
144
158
164
171
170
172
170
172
172
170
172
172
173
177
175
177
173
172
170
163
160
162
165
163
162
160
158
155
151
143
136
132
126
120
112
111
109
103
97
86
89
88
82
77
79
80
79
79
80
76
74
72
63
57
48
36
33
29
29
29
27
23
23
24
19
19
21
28
42
50
50
52
55
67
69
73
83
84
85
88
88
87
82
82
82
84
88
90
100
104
102
102
105
105
104
101
101
95
90
87
85
80
77
71
70
67
66
65
71
66
55
49
45
43
49
51
53
55
51
52
50
47
45
48
45
40
34
45
64
52
44
28
29
34
42
57
74
92
113
125
131
127
122
124
127
131
133
132
130
130
132
135
129
120
109
95
90
92
95
103
103
99
95
91
80
82
82
80
87
92
96
100
101
103
100
95
87
92
92
88
89
97
97
95
95
102
104
110
118
127
133
137
139
135
133
131
135
131
134
137
119
110
108
119
131
145
160
178
189
197
202
200
200
200
200
198
196
196
196
198
206
208
207
204
196
187
183
181
181
181
183
187
194
194
194
197
197
196
193
191
184
178
176
161
176
177
184
189
179
179
172
170
177
163
152
181
173
206
183
185
193
174
188
187
39
40
41
40
46
55
58
69
78
88
88
97
103
105
106
108
110
110
109
111
110
105
103
103
107
107
108
110
113
115
113
116
123
126
135
144
149
151
157
165
167
165
171
169
166
163
165
169
176
177
175
171
169
169
164
162
165
166
167
163
158
156
154
154
147
142
133
127
119
116
112
110
101
97
93
84
81
77
80
81
84
82
80
81
75
67
59
54
45
36
38
37
34
30
32
31
21
19
18
14
14
17
28
40
42
51
53
60
68
72
74
82
83
87
88
88
89
86
86
86
84
86
88
87
88
85
93
97
98
98
93
91
86
81
78
83
79
76
67
70
76
74
71
70
61
59
55
47
45
49
55
55
56
53
52
55
50
53
45
45
41
34
47
60
54
50
40
39
38
45
59
74
101
111
113
127
129
125
127
129
123
127
128
125
127
131
138
133
127
120
103
96
94
93
102
110
106
102
103
87
77
84
83
80
82
88
94
91
93
89
83
81
84
87
85
89
97
100
100
102
110
118
126
138
145
145
147
152
154
154
153
151
154
157
155
140
125
124
129
145
154
162
175
189
197
200
200
200
200
199
196
196
193
195
198
206
208
207
204
196
187
182
179
180
180
182
185
193
195
197
197
197
198
188
190
185
178
168
162
180
175
181
182
185
176
191
173
180
153
143
184
201
205
175
191
191
190
193
194
39
37
42
44
46
53
55
72
77
87
94
103
108
112
116
118
120
121
120
117
113
108
106
107
110
112
110
112
114
118
119
121
126
129
133
140
143
147
152
155
157
159
159
159
160
162
162
164
168
167
175
171
170
167
167
166
165
166
163
160
156
154
149
146
144
140
138
131
124
113
109
107
103
97
95
87
78
82
75
76
79
77
73
72
68
62
56
53
48
39
32
26
26
26
19
13
12
12
19
18
17
28
30
34
42
51
55
64
72
78
81
79
83
82
86
89
93
94
91
87
91
91
90
90
86
76
80
81
83
86
84
82
79
76
78
75
73
74
69
79
80
74
72
68
58
57
57
51
49
49
57
57
55
52
47
48
49
51
54
41
35
37
49
49
55
59
55
55
50
49
58
70
97
110
114
122
128
127
126
128
128
130
130
129
130
134
137
135
128
116
108
102
96
94
93
93
99
104
103
101
85
78
85
80
76
75
77
79
78
74
77
76
81
84
86
89
96
100
109
111
123
142
143
147
156
163
163
165
165
167
173
177
177
175
173
165
152
149
150
155
158
170
177
191
197
200
199
199
199
199
196
196
194
197
198
206
208
207
204
197
187
181
179
178
174
174
179
192
194
194
195
195
195
192
186
186
175
172
163
163
170
169
173
170
181
174
180
176
153
162
205
180
178
177
171
186
190
202
183
35
34
41
46
50
53
65
61
78
78
90
96
106
110
116
119
123
124
123
121
113
114
114
114
113
115
111
110
112
114
116
118
120
126
130
135
137
141
148
149
151
155
157
157
159
157
159
160
165
165
163
164
161
164
166
161
161
167
165
161
155
153
149
145
141
139
137
130
125
120
117
110
105
103
96
90
82
80
79
75
71
70
68
67
57
50
43
44
38
27
21
23
6
0
1
0
0
14
26
23
20
30
50
55
63
67
73
79
88
91
93
101
101
102
99
103
109
101
97
92
91
91
86
84
79
75
80
84
87
84
82
77
77
76
77
73
72
73
75
77
80
82
72
71
62
59
54
57
51
49
59
62
60
57
50
51
49
50
53
54
28
34
50
53
53
49
49
50
55
54
61
65
93
107
113
121
127
124
124
126
132
134
137
140
135
132
135
131
129
127
119
113
116
108
101
91
89
98
99
108
104
104
100
92
85
76
70
68
66
66
72
71
74
86
90
92
97
103
111
128
137
145
156
166
174
176
179
179
176
178
180
175
177
179
186
181
179
171
163
157
163
175
185
194
197
200
199
199
199
199
196
196
196
196
198
206
208
208
204
197
187
183
181
181
174
174
178
191
193
194
195
195
196
196
188
171
173
174
157
176
173
185
178
177
177
158
173
176
154
165
174
178
158
181
176
180
198
204
174
38
46
44
44
47
57
67
72
65
76
87
95
101
109
117
121
125
125
118
118
118
116
111
111
111
108
111
112
110
109
110
112
115
115
120
124
130
134
138
143
149
146
151
152
153
157
157
155
155
157
159
159
158
157
158
157
159
163
163
163
159
154
148
146
144
139
135
131
128
121
113
106
101
100
97
94
92
92
87
84
78
70
63
54
45
38
28
25
16
7
3
0
0
2
3
5
15
27
20
18
25
36
45
59
71
72
74
76
84
93
98
101
101
105
111
109
108
106
103
96
96
91
89
83
76
76
77
75
82
78
77
73
76
75
73
73
74
76
86
83
78
78
75
73
70
67
59
52
57
64
67
65
66
62
50
53
52
54
55
53
36
25
51
56
52
50
49
48
50
60
66
74
84
96
102
111
122
129
124
125
126
126
131
130
131
133
134
134
131
128
126
124
120
116
106
104
102
97
100
109
106
104
100
97
90
89
84
79
79
82
81
81
85
91
95
96
105
110
119
130
146
158
163
173
181
186
190
191
192
190
187
187
183
182
183
183
180
179
177
170
171
174
184
188
192
200
200
200
199
199
199
198
198
198
200
206
208
207
202
196
189
186
186
183
178
175
179
189
193
193
198
198
198
199
195
175
165
174
158
189
180
184
169
175
170
161
175
151
176
146
183
185
182
195
185
186
199
210
188
46
46
36
36
42
63
57
64
65
70
76
86
93
102
112
118
122
125
120
120
120
116
112
108
105
108
108
109
107
107
104
104
106
104
112
116
122
126
132
135
139
140
145
147
148
152
150
150
153
157
158
158
158
153
153
153
153
155
157
155
155
150
146
143
141
137
136
133
129
121
113
107
98
96
94
97
97
96
97
89
81
63
56
45
32
24
17
21
13
3
0
0
10
33
53
51
49
58
51
56
60
60
52
60
69
72
75
79
87
90
99
98
105
114
120
114
106
104
101
95
98
93
87
82
78
75
75
73
75
74
65
69
72
74
77
78
79
81
82
79
78
78
74
75
79
78
71
65
70
72
72
68
63
65
61
62
58
62
58
55
49
33
45
60
54
52
50
51
53
61
66
88
86
85
87
96
108
104
109
109
115
117
119
113
118
132
132
130
126
130
128
126
125
121
119
116
112
110
104
112
109
107
105
101
105
105
103
101
96
99
99
100
103
110
114
112
115
120
132
138
153
167
176
183
193
201
205
204
205
203
200
192
188
184
185
185
183
181
181
175
167
173
180
188
192
199
200
200
200
199
199
198
199
199
201
206
208
207
204
198
189
183
183
183
177
177
179
189
193
195
197
197
199
195
189
175
162
173
166
178
191
182
178
177
175
169
167
180
183
134
185
193
175
189
188
186
208
193
197
55
50
46
44
44
50
53
57
60
70
76
80
90
96
100
103
109
114
114
119
118
115
113
106
101
99
100
98
98
98
98
98
96
99
101
101
107
115
118
126
129
137
136
138
140
144
146
148
155
156
158
155
152
150
151
149
148
144
145
146
144
143
142
140
137
131
131
127
123
116
110
103
97
91
93
96
94
93
91
87
74
64
60
38
26
24
25
23
16
7
9
35
46
46
46
52
61
68
70
74
76
75
85
78
67
74
80
85
91
91
93
95
97
99
108
108
108
99
96
90
89
87
84
83
81
76
72
65
65
67
67
69
73
78
81
87
87
92
93
91
87
90
80
81
79
81
82
78
82
79
77
73
72
70
56
58
59
59
56
52
45
38
43
48
59
62
58
58
58
59
73
84
84
85
84
92
95
98
104
103
110
113
117
117
121
125
124
120
120
130
130
127
122
124
128
130
123
120
122
115
115
117
123
121
128
126
126
121
117
118
118
116
117
120
123
123
122
126
140
154
169
183
193
201
207
212
214
214
213
211
208
203
199
191
185
187
182
183
173
166
165
168
175
185
188
196
198
200
200
199
199
199
199
199
201
206
208
207
206
200
193
182
180
181
176
178
183
192
198
198
198
198
199
196
184
175
173
174
163
175
197
195
181
172
169
189
161
183
183
136
195
178
186
195
199
189
185
187
193
59
54
47
42
35
42
43
47
52
59
65
73
81
85
93
93
99
104
109
115
117
120
116
108
100
96
92
87
85
85
91
91
93
88
91
93
93
100
108
113
119
127
129
131
132
138
140
143
148
148
152
148
144
142
144
144
143
138
137
140
133
132
130
131
129
124
124
121
115
110
105
96
92
88
90
93
91
91
83
80
69
45
40
21
9
16
25
24
30
36
64
58
55
65
69
80
77
79
83
78
82
85
95
93
91
83
85
89
93
93
92
95
95
95
102
103
102
99
96
89
89
87
87
83
78
75
70
65
63
70
73
78
78
77
82
83
85
88
97
92
92
86
81
80
80
81
84
85
87
85
82
77
80
70
64
60
60
58
56
57
54
48
50
47
43
38
58
58
56
58
71
82
80
80
79
82
88
95
100
103
103
107
110
122
120
113
118
118
118
126
128
126
127
130
136
141
139
134
131
127
127
128
137
147
148
146
148
144
137
132
136
130
120
126
130
131
131
136
153
166
186
199
207
213
217
222
224
223
223
221
218
210
206
198
192
185
182
181
171
167
163
163
172
176
182
190
196
199
199
199
199
199
198
200
201
206
208
207
205
196
193
182
178
178
171
178
184
192
196
199
200
196
196
197
188
182
187
180
174
176
188
184
179
180
176
165
175
179
168
168
190
201
192
178
187
207
200
197
186
54
52
45
40
33
39
37
38
45
49
55
60
66
75
82
90
93
100
106
110
115
113
111
102
98
94
89
88
86
82
84
84
86
88
86
90
90
94
101
105
108
112
120
122
125
131
135
137
137
139
142
141
141
138
135
135
137
132
130
128
124
122
120
117
117
118
109
107
106
104
101
97
91
83
85
83
82
80
73
73
61
44
26
17
13
13
20
38
42
55
64
66
71
79
79
79
81
87
89
84
84
93
101
101
101
85
88
87
84
89
92
94
95
93
93
91
89
83
79
80
79
79
80
76
74
63
66
65
68
70
74
77
75
76
84
89
87
85
84
96
92
89
84
81
76
75
77
78
81
83
80
77
76
72
68
62
62
62
63
59
58
50
47
44
41
39
41
40
34
36
41
56
71
75
77
81
85
83
90
90
93
97
107
113
113
110
111
101
105
113
118
124
128
134
143
148
148
148
147
147
147
148
151
156
162
162
159
153
150
144
148
144
135
128
130
133
134
141
163
177
195
213
215
217
221
228
228
228
227
223
219
219
216
208
203
190
180
178
172
166
158
157
161
172
177
187
195
197
199
199
199
199
199
201
202
207
209
208
203
197
187
181
177
175
166
173
184
192
196
199
199
199
194
197
191
187
187
186
182
185
189
165
170
182
174
155
170
185
178
146
198
171
195
172
196
190
197
190
188
49
47
43
40
29
33
33
33
39
43
50
52
56
63
75
77
88
94
100
104
108
112
114
112
109
104
92
94
92
88
88
88
85
86
86
89
87
95
99
104
108
114
116
120
121
123
126
127
127
128
128
133
134
132
130
130
130
124
123
120
116
115
114
100
98
98
100
98
99
98
97
91
89
82
82
78
71
63
60
65
59
44
29
26
26
26
36
47
54
69
70
75
80
80
80
79
82
87
88
87
85
92
99
99
100
88
85
83
81
86
89
95
96
96
87
85
82
71
69
67
74
69
68
67
66
64
64
66
68
69
74
75
74
76
84
88
94
93
87
91
90
95
89
79
73
72
71
76
80
79
83
76
76
73
69
69
56
58
60
60
58
53
46
44
44
40
40
39
36
36
38
46
61
65
71
74
81
76
80
82
88
92
101
109
109
110
101
91
94
97
106
120
132
135
143
150
150
154
156
158
158
158
161
163
164
167
168
159
151
147
152
148
140
135
134
135
135
145
173
187
205
221
217
220
222
230
230
230
230
226
222
226
222
213
199
183
169
165
162
158
140
146
151
164
175
183
192
196
199
199
199
199
199
201
202
207
207
207
203
197
189
183
178
177
169
174
186
195
197
199
201
201
201
200
196
194
188
180
180
185
184
165
169
177
179
172
182
181
179
175
186
179
198
197
203
202
164
180
184
50
47
44
37
36
26
25
26
36
39
43
51
54
56
63
77
80
85
93
101
106
106
108
110
117
114
109
104
100
88
84
82
82
82
82
83
85
95
100
102
102
108
113
115
114
119
120
125
124
124
125
126
130
132
132
128
126
119
117
113
106
101
96
93
92
92
92
96
95
94
92
93
88
84
80
75
65
59
60
55
54
46
34
30
28
39
52
59
56
69
78
82
90
90
90
89
88
89
93
94
95
93
91
93
97
85
82
82
80
77
82
92
92
92
87
79
72
70
70
68
64
64
65
60
59
56
57
61
70
70
73
79
82
82
89
90
93
98
97
95
96
97
87
83
82
80
73
75
74
75
71
71
74
72
73
66
58
56
54
60
58
55
52
47
46
42
42
45
36
33
34
35
44
48
59
63
69
71
76
83
90
96
103
108
110
109
99
97
97
107
104
104
118
125
138
145
149
156
159
158
159
166
170
171
169
169
164
162
155
147
150
148
144
143
138
135
137
148
174
188
206
217
224
226
227
226
228
228
229
229
228
226
222
216
199
177
158
154
145
134
126
133
146
158
169
181
184
196
201
196
199
199
199
201
202
208
208
206
203
197
190
183
181
179
173
177
182
198
201
199
199
197
198
205
194
189
184
174
174
170
171
169
164
185
174
181
179
181
169
187
205
163
201
207
204
206
188
154
170
50
46
38
27
28
31
30
25
36
35
40
48
51
55
63
69
77
82
88
93
100
102
104
107
109
112
110
110
106
98
91
90
85
85
85
90
89
92
100
104
107
107
111
112
115
113
115
119
123
123
121
121
121
121
125
124
118
112
110
104
102
98
88
86
86
86
91
93
92
93
91
92
85
81
77
67
60
55
53
50
51
51
38
34
41
57
75
89
95
112
120
112
105
100
96
95
94
96
96
98
96
96
92
95
97
85
81
77
73
76
77
83
83
81
81
74
65
68
69
68
60
62
63
59
56
52
49
65
84
76
80
86
90
96
99
112
118
117
112
107
106
102
101
91
86
82
74
71
71
71
69
72
72
73
71
61
57
56
54
53
54
55
53
51
46
47
41
35
33
33
34
31
31
29
43
46
52
63
72
79
90
90
87
91
91
90
100
102
101
98
106
112
131
138
153
164
168
173
172
172
172
170
173
174
169
167
165
163
155
148
150
148
146
143
139
136
133
145
170
187
203
216
222
222
224
228
228
228
227
227
225
224
220
214
201
173
142
134
129
115
108
118
133
151
161
178
181
194
199
198
198
199
199
201
203
208
208
206
203
197
190
186
182
180
170
172
176
192
200
199
200
198
197
200
190
185
190
180
172
175
171
155
173
186
188
167
180
170
181
181
193
178
200
172
203
194
174
151
170
46
43
43
36
33
34
31
33
33
36
41
48
52
59
62
70
71
74
75
83
96
97
102
101
103
109
111
109
106
98
94
89
90
89
85
85
86
90
96
98
103
104
108
110
110
111
110
118
125
120
113
113
113
112
113
112
112
114
109
100
97
93
88
81
81
82
84
87
89
96
94
94
83
78
72
65
59
51
56
54
50
48
43
51
79
94
103
102
99
98
108
109
117
127
128
107
96
103
109
107
108
104
96
94
87
88
79
76
66
64
61
62
64
66
64
60
59
58
57
54
53
53
55
55
54
55
59
63
82
89
92
98
106
110
114
119
123
122
118
119
117
113
103
96
85
83
79
75
68
68
70
70
68
69
68
59
57
56
56
56
54
54
52
48
44
44
42
33
26
25
27
24
22
20
21
30
40
54
64
71
77
77
73
74
81
85
91
93
95
106
122
135
152
162
168
172
174
181
184
186
188
183
179
177
172
170
163
159
153
148
141
144
149
145
139
136
135
138
162
176
195
211
217
217
219
220
220
220
219
219
216
215
215
205
186
170
129
106
102
89
91
100
114
134
150
165
180
193
200
198
200
200
199
201
202
206
206
206
203
197
190
186
182
181
177
179
182
186
193
195
194
192
190
193
193
191
187
181
175
163
180
175
172
176
187
170
183
189
170
189
198
181
175
186
205
197
189
159
179
46
38
37
38
35
31
31
32
32
32
33
38
44
51
51
63
66
67
74
79
83
89
90
94
96
102
104
103
101
99
99
95
92
89
86
84
86
85
89
96
96
96
98
99
101
106
106
115
117
112
105
103
103
102
105
106
105
107
99
94
88
88
91
74
74
76
75
78
80
75
75
73
79
73
70
66
58
54
56
54
50
49
57
81
92
98
95
91
96
101
109
126
130
126
121
129
124
112
106
107
105
101
99
93
92
80
70
64
56
52
49
50
55
56
54
54
49
46
45
44
41
41
45
51
53
54
66
68
85
101
111
116
123
128
127
128
128
125
118
121
121
117
109
96
86
80
77
75
69
65
61
64
65
66
58
56
59
58
55
54
53
55
51
48
42
45
36
30
27
19
15
24
22
23
28
39
49
46
57
60
65
65
65
72
76
76
90
92
98
111
129
152
171
174
176
181
185
188
196
199
199
197
193
185
174
167
160
158
152
143
134
135
141
133
127
119
124
126
150
167
187
205
206
208
211
213
215
218
218
216
214
204
206
197
175
157
115
84
76
75
75
85
103
126
143
161
176
191
198
199
199
199
200
200
203
206
206
204
203
197
190
184
182
181
177
179
184
188
194
199
195
191
184
182
184
184
186
180
175
174
169
160
160
170
181
164
184
172
174
202
167
184
180
175
187
174
172
176
160
40
40
34
35
37
36
36
36
30
37
35
37
33
39
49
59
62
63
69
75
75
75
83
89
100
109
111
109
105
102
93
92
88
87
87
85
87
87
84
86
88
86
88
91
95
90
94
109
106
95
95
96
94
91
88
87
86
90
89
85
84
81
72
64
64
64
64
66
70
72
70
70
68
66
64
59
58
56
58
58
60
58
75
86
91
94
97
101
103
103
110
118
127
140
144
145
151
133
111
105
99
96
99
98
91
84
70
59
54
51
50
55
55
54
50
46
44
34
34
32
33
41
45
49
47
55
64
68
87
109
119
132
134
136
135
131
129
125
119
114
114
112
102
97
88
81
77
76
67
60
60
56
53
48
47
51
53
52
54
55
54
53
55
51
47
46
42
33
26
21
20
17
19
23
25
35
43
52
55
61
64
69
71
69
71
76
82
93
108
122
135
155
168
176
184
188
191
197
202
204
202
201
197
190
182
173
160
154
145
135
132
126
121
115
109
105
100
113
132
149
172
193
198
199
199
201
203
205
203
201
198
192
191
177
158
129
81
69
67
69
66
72
92
117
138
156
172
183
195
199
199
200
200
200
200
204
204
203
201
196
188
184
182
181
178
178
183
189
195
198
192
190
187
189
192
184
176
170
164
170
160
156
171
179
181
123
169
176
177
202
179
189
173
180
187
190
188
186
159
43
42
40
35
35
39
39
41
36
36
37
36
38
32
42
47
57
62
65
69
69
87
99
105
107
114
117
117
117
122
106
93
89
86
86
82
82
82
82
81
80
80
75
75
74
74
69
97
92
81
81
83
81
80
80
77
76
77
76
71
72
70
65
59
57
56
60
64
65
67
67
67
65
65
62
62
60
59
60
63
62
69
85
94
91
95
98
98
105
114
122
129
138
138
140
144
139
139
116
110
103
101
101
100
89
82
71
64
50
50
47
44
44
42
45
43
39
39
39
36
42
47
51
44
45
54
59
67
90
116
122
135
137
140
139
133
129
121
117
115
113
109
100
96
90
81
76
72
60
55
48
50
46
46
43
45
50
47
48
51
52
50
53
52
51
49
50
37
32
30
28
29
24
19
25
34
45
50
55
63
67
69
71
69
71
78
90
102
115
126
138
162
174
181
190
191
194
200
203
205
205
207
203
197
185
173
156
143
136
126
121
111
100
95
89
86
87
95
113
128
152
173
181
185
185
187
189
190
184
182
178
171
173
153
132
101
68
61
63
65
55
59
82
111
132
152
170
182
194
196
199
199
199
199
200
203
203
203
200
195
187
183
181
181
176
178
181
188
194
198
194
190
187
191
195
187
171
162
159
173
164
159
167
179
174
141
171
182
175
181
194
189
172
180
186
179
197
196
164
46
43
45
44
42
45
50
46
38
36
37
40
32
29
38
38
45
52
63
67
84
91
95
98
100
106
109
108
108
109
110
101
82
82
80
79
76
76
74
73
70
67
60
62
58
58
55
80
77
73
69
69
64
71
69
69
69
70
70
68
66
64
52
54
52
55
52
60
60
68
69
68
68
68
67
65
63
63
65
67
69
80
103
103
98
100
103
110
119
127
132
138
140
143
143
142
145
133
107
104
100
93
92
93
87
81
71
65
55
53
51
38
38
37
44
44
41
35
37
39
40
43
48
51
48
51
55
66
99
119
123
126
129
137
134
129
127
121
114
107
106
102
96
93
85
75
70
65
56
50
46
46
44
44
44
42
46
50
51
52
52
48
44
46
50
55
50
49
40
34
32
27
21
22
22
29
37
39
52
62
58
61
61
64
69
80
90
106
115
123
151
166
174
182
193
196
199
199
203
203
202
200
198
196
192
179
157
148
137
120
111
100
89
89
82
80
81
85
99
107
128
145
159
170
174
175
175
170
171
167
159
157
144
119
101
76
59
56
54
54
59
62
79
104
131
151
166
177
191
196
199
198
199
199
200
200
200
199
197
193
188
182
179
179
176
178
182
194
197
198
196
189
186
186
190
184
165
165
159
177
158
167
157
179
161
152
184
185
168
180
193
192
186
187
184
167
188
196
171
44
45
46
46
44
48
44
47
46
51
46
45
37
30
25
33
33
50
52
65
78
81
88
94
96
95
100
99
101
102
103
104
91
81
76
76
69
67
66
62
59
55
48
48
42
42
44
39
67
63
62
56
55
75
67
67
67
69
69
65
55
44
47
48
45
48
53
61
63
69
69
68
67
67
66
66
66
66
77
79
76
72
98
102
105
117
125
124
134
138
149
147
144
144
144
143
143
126
104
96
93
90
87
88
79
73
67
62
56
54
51
41
39
38
39
39
36
35
39
40
42
44
50
48
48
46
49
59
89
114
116
120
124
131
126
126
124
120
114
110
105
102
95
91
80
73
62
62
57
50
44
42
41
40
40
38
44
48
50
50
50
50
42
43
48
56
49
45
45
42
35
31
29
26
18
25
32
37
46
55
62
65
63
65
73
82
89
103
116
127
151
169
179
187
195
200
200
199
196
196
198
196
192
193
188
180
159
145
133
123
109
95
83
85
86
82
81
83
86
93
110
131
136
146
155
154
154
151
149
140
132
123
109
82
70
62
59
55
55
55
57
62
77
103
127
147
163
175
187
195
197
196
196
199
199
200
200
198
195
193
189
183
181
181
178
181
180
196
196
193
197
191
185
187
192
185
163
176
165
166
154
171
183
163
160
170
190
187
170
198
170
194
173
180
169
163
173
172
168
47
46
44
42
41
51
52
53
53
55
53
46
43
39
30
27
25
38
39
56
69
77
84
84
88
94
95
94
92
90
92
94
96
80
73
66
61
55
48
41
41
37
36
36
34
36
36
36
33
43
65
53
55
68
68
66
65
71
66
49
46
41
43
43
41
42
50
59
71
70
74
71
73
73
74
76
78
77
80
82
80
83
108
120
119
127
135
137
138
140
144
146
149
151
151
148
144
132
120
107
94
96
89
89
83
72
68
65
64
62
61
49
45
42
37
35
30
23
27
31
39
40
44
51
46
39
37
49
78
105
112
116
120
122
123
126
124
120
117
110
106
103
103
86
72
67
60
57
50
43
43
41
40
44
42
44
42
42
44
51
52
56
51
46
42
49
50
48
47
41
42
34
30
28
27
30
30
36
43
54
56
62
66
71
80
85
97
108
119
132
147
165
174
184
191
197
197
197
200
200
199
197
193
188
181
178
162
143
132
123
115
96
88
90
88
84
86
81
81
83
92
103
112
119
122
117
116
115
106
98
91
76
61
54
55
51
48
48
50
53
55
55
72
99
117
138
158
172
184
192
196
195
196
199
199
199
199
198
195
193
188
188
185
179
180
184
184
190
193
194
195
193
189
182
186
188
167
181
180
162
163
158
178
136
163
183
193
179
175
182
189
173
191
179
165
167
174
168
161
43
41
44
40
39
46
50
50
49
53
54
46
44
38
32
33
36
25
31
39
48
58
70
80
83
85
86
89
88
88
85
87
88
71
63
57
55
51
47
39
37
33
29
24
25
30
27
30
44
39
32
39
46
52
65
65
56
45
41
42
39
44
50
45
47
51
48
60
73
80
87
86
82
80
82
83
83
87
87
87
87
97
99
130
135
134
135
144
145
147
145
147
151
149
149
148
139
135
130
121
109
99
89
86
84
76
72
69
64
60
58
54
51
47
45
38
26
26
29
34
37
37
36
40
35
27
23
33
50
91
116
114
113
115
118
126
124
118
110
108
102
91
89
73
67
63
57
52
42
39
44
41
39
43
42
42
43
42
44
45
50
49
49
43
40
44
48
46
49
47
42
34
31
31
35
33
33
35
42
48
55
61
67
74
82
86
97
108
121
126
141
160
169
178
189
195
197
198
204
204
201
197
193
186
180
176
158
145
133
122
115
96
89
87
82
85
87
82
79
77
76
83
95
98
90
80
76
72
62
61
51
52
58
54
46
41
47
47
51
54
56
58
68
95
112
131
151
164
176
189
194
195
195
197
198
199
199
198
195
190
188
187
186
181
178
180
184
191
193
194
195
195
192
183
187
185
173
176
174
172
165
148
169
147
166
186
176
175
190
187
179
202
201
188
173
169
172
176
171
50
51
47
46
45
46
45
45
49
53
54
54
49
44
45
42
35
35
31
36
37
46
58
72
72
77
72
80
78
80
81
83
88
68
70
69
63
59
56
47
40
36
37
35
31
28
29
33
32
39
38
44
44
43
39
39
40
31
33
40
46
46
48
50
51
51
58
66
76
82
84
87
89
89
91
93
95
93
92
92
97
99
102
106
126
134
145
150
151
152
149
149
148
143
140
132
130
128
123
122
112
101
92
88
78
73
68
64
62
62
63
59
55
52
53
49
45
41
37
33
36
31
32
33
21
19
23
24
44
59
83
101
108
110
105
107
109
99
98
97
93
81
69
63
59
54
46
45
43
42
41
40
41
38
43
46
42
45
48
41
40
40
44
46
43
38
44
51
51
57
44
31
31
32
35
33
34
38
47
56
68
75
83
89
95
104
105
113
126
132
133
155
172
181
191
199
200
205
205
205
201
192
187
185
181
172
157
140
131
119
109
99
88
83
80
81
84
89
92
86
86
83
81
78
73
72
60
51
47
45
43
46
46
41
44
42
47
46
51
51
55
63
69
83
103
120
140
156
172
189
194
195
195
197
198
202
202
198
193
187
185
182
178
176
175
179
183
191
193
194
193
193
190
183
183
181
178
176
175
170
172
162
145
135
176
195
161
174
198
181
177
177
188
181
174
186
178
169
171
57
58
56
52
49
51
40
46
41
49
50
51
48
46
48
44
41
40
37
35
38
43
50
65
66
68
68
68
68
71
73
74
79
75
74
69
52
49
43
45
40
42
38
37
39
40
39
42
37
43
41
45
45
44
47
42
41
48
42
39
44
47
53
53
53
61
65
73
78
81
81
87
95
95
95
101
103
102
97
101
100
108
107
105
113
122
130
141
143
144
143
138
129
121
123
125
119
120
121
118
108
98
94
84
71
67
64
61
68
68
67
61
59
58
60
56
52
45
41
35
27
19
12
8
0
19
30
24
35
45
58
61
70
89
98
92
94
81
70
68
67
60
53
50
46
44
44
47
42
41
44
41
39
38
38
44
45
40
40
34
40
45
46
45
47
37
40
49
48
47
44
30
29
31
33
38
40
50
57
69
75
81
89
95
101
110
111
118
126
131
133
152
164
171
182
192
195
200
199
197
193
187
183
180
173
163
148
133
121
111
105
95
84
84
89
89
95
97
101
95
92
94
87
83
78
70
62
49
50
46
45
44
44
45
46
45
49
48
50
53
54
60
65
74
89
109
137
152
170
184
192
195
195
197
198
201
199
193
185
179
174
174
172
171
173
177
182
189
193
193
192
187
184
183
181
179
175
175
164
158
167
168
168
153
168
202
147
170
194
195
183
216
186
195
175
164
164
158
168
77
62
53
52
50
49
42
38
34
43
44
44
46
43
44
46
43
44
40
44
41
48
55
59
68
69
73
71
75
73
72
73
66
75
71
66
56
54
52
47
50
50
44
43
44
47
48
44
46
46
46
44
43
45
45
45
44
44
44
48
48
54
60
64
72
76
81
83
86
87
90
93
99
99
99
98
100
108
105
105
103
100
102
106
115
123
126
128
130
132
134
130
128
126
122
118
115
113
114
105
101
92
84
75
69
58
56
58
59
59
58
58
57
60
59
57
54
47
41
36
25
5
0
0
7
14
15
24
31
39
43
48
49
56
63
61
59
53
56
55
53
51
49
48
45
47
51
51
46
44
46
39
38
37
34
36
42
38
39
37
43
42
45
45
48
37
35
35
38
35
31
35
36
35
35
43
53
66
74
82
84
90
98
101
107
114
114
118
126
132
138
142
149
160
172
173
179
181
185
183
181
180
174
166
159
147
133
117
107
98
93
86
86
85
93
95
100
100
98
90
85
83
83
79
80
84
75
56
54
48
46
45
48
48
52
50
50
44
44
44
49
57
59
64
77
97
125
145
166
181
189
196
196
196
198
201
197
192
187
176
169
159
171
170
161
168
182
190
192
190
187
187
183
184
180
170
196
201
166
170
162
155
159
172
162
180
171
177
208
181
191
179
189
181
175
161
168
174
172
70
68
68
49
48
47
48
48
39
40
41
45
45
46
49
46
42
51
48
50
45
50
50
55
62
71
74
72
74
75
68
55
48
50
56
59
56
55
53
50
49
50
51
49
49
50
46
46
46
48
46
45
43
47
47
47
47
46
49
54
53
58
65
69
70
76
87
89
93
91
97
99
100
100
99
105
105
113
108
106
103
101
103
107
113
121
124
124
126
128
133
130
129
124
121
120
115
110
101
95
91
80
80
73
65
53
51
52
54
54
51
56
56
60
59
59
58
48
41
34
20
5
1
0
5
13
13
22
25
27
32
39
40
41
43
47
49
52
50
44
48
42
44
44
47
49
50
48
47
43
47
42
40
41
37
35
37
42
45
34
36
35
32
33
31
29
30
30
33
32
34
43
42
41
40
51
57
76
82
92
91
95
99
97
103
109
112
119
124
133
139
143
140
144
155
159
160
163
166
164
162
161
154
147
135
122
109
100
93
89
89
86
87
87
93
98
99
99
96
91
84
85
88
85
81
85
80
68
56
56
48
52
55
56
55
52
50
44
44
47
51
55
56
56
66
86
118
138
158
179
187
193
195
197
198
200
198
193
190
180
171
169
176
176
161
166
178
187
191
191
188
185
183
182
181
173
178
166
159
164
164
150
165
180
169
188
164
151
187
192
185
198
201
182
166
164
167
173
169
77
76
73
59
56
43
44
58
52
45
40
43
49
51
52
49
48
56
54
53
53
49
54
56
61
70
74
72
65
61
61
60
59
61
56
61
61
59
57
53
53
55
56
51
50
51
50
51
52
48
49
48
47
48
46
47
47
51
56
57
56
59
63
72
72
76
88
92
94
98
100
96
96
96
96
97
103
112
107
99
94
97
99
102
104
105
113
124
121
121
125
127
128
129
130
125
126
121
112
92
85
81
71
68
66
51
49
50
51
53
55
57
60
62
61
59
56
50
47
37
35
28
18
12
14
13
15
19
30
29
29
31
36
39
45
46
51
53
51
53
51
49
46
51
52
51
51
53
52
47
47
44
43
41
41
39
38
33
36
37
38
32
34
29
31
34
35
36
38
38
39
42
43
46
47
58
66
77
83
88
88
92
94
96
100
109
117
121
124
128
141
139
140
140
139
145
147
151
154
152
150
148
140
128
121
108
93
86
82
78
82
88
93
89
91
94
97
97
93
87
85
81
84
89
90
84
85
76
70
61
50
53
55
57
56
51
50
53
58
62
65
63
59
63
67
85
111
130
149
168
185
191
193
195
198
202
199
197
191
187
184
182
185
179
172
174
177
187
191
190
185
181
181
177
182
177
163
166
165
165
167
137
170
189
165
177
169
159
166
176
183
195
193
171
166
168
169
156
169
78
76
73
68
53
42
34
39
53
48
42
44
48
47
48
50
53
55
59
58
56
53
56
60
62
61
65
63
64
60
64
69
73
67
60
66
66
67
65
62
60
61
58
54
54
53
52
53
56
54
52
52
50
53
50
52
54
52
52
57
61
65
69
76
76
79
90
91
95
94
96
93
95
90
90
93
99
105
103
99
92
88
90
90
93
96
104
121
119
122
130
130
130
129
126
124
121
121
117
114
105
80
71
68
64
46
46
48
55
57
57
57
61
63
61
59
56
53
47
40
38
33
31
25
26
25
24
26
27
24
30
32
37
42
43
45
53
56
58
57
53
50
49
50
50
48
48
54
51
49
47
46
42
37
42
43
37
37
39
29
30
26
30
33
33
34
37
39
47
45
45
48
48
50
53
67
74
77
81
86
89
93
96
95
99
105
112
115
123
125
138
138
136
136
135
136
139
138
138
138
133
131
124
111
101
98
96
95
98
99
98
95
92
88
85
85
87
86
85
82
81
76
80
84
93
93
89
78
74
68
63
63
65
64
64
60
58
63
72
78
88
74
63
58
64
78
104
123
143
165
181
188
193
195
196
200
198
197
195
191
190
188
187
179
177
177
181
187
191
189
185
183
182
181
185
177
160
167
169
164
159
150
172
191
175
176
165
186
172
182
165
174
182
179
161
167
166
165
170
80
78
72
68
58
42
38
35
40
54
59
44
54
54
62
56
60
57
59
61
62
60
57
57
61
62
60
66
61
65
67
69
77
75
72
65
61
61
57
61
61
60
54
53
57
59
54
51
55
55
54
56
51
60
57
57
57
59
58
59
59
66
68
73
75
76
83
89
89
98
99
96
94
90
90
88
90
94
96
96
96
94
91
83
82
90
100
107
119
124
134
131
128
125
122
120
116
114
110
102
106
103
86
72
64
55
55
55
63
63
63
63
63
60
60
58
55
53
51
47
46
40
35
33
32
27
29
31
37
37
42
42
48
47
51
55
59
58
56
59
59
52
52
51
52
49
49
50
50
54
53
48
44
41
44
40
41
41
48
51
35
36
34
38
42
43
45
51
56
50
44
51
53
58
59
64
78
82
87
87
86
92
97
99
102
106
112
112
113
122
136
137
133
131
130
132
131
137
140
138
135
134
129
124
119
115
117
126
128
128
126
123
111
99
89
83
80
77
78
77
80
81
78
81
88
94
88
72
64
74
83
80
77
81
84
84
85
87
97
106
106
91
73
63
72
80
103
118
133
159
172
186
191
195
198
199
197
196
194
192
188
185
178
174
167
171
174
186
188
189
189
186
184
183
187
182
173
162
165
164
164
166
176
195
157
169
167
171
189
185
203
198
202
172
171
172
163
169
182
87
78
67
62
59
47
42
43
34
44
55
59
58
60
56
61
67
69
68
68
65
65
66
57
53
55
61
59
62
70
75
67
67
71
69
65
61
61
62
61
56
54
55
54
57
55
59
56
56
57
56
58
59
55
56
57
58
64
60
59
60
66
72
79
81
84
83
82
84
92
95
94
95
93
91
82
82
85
93
95
98
98
94
84
83
84
90
98
117
117
125
123
122
119
115
116
113
108
104
108
105
103
104
74
62
59
61
61
62
62
63
63
63
61
63
61
60
58
56
50
50
45
42
40
38
36
37
34
40
38
39
40
50
52
52
44
48
50
56
54
52
51
48
49
51
47
47
47
48
53
57
55
49
47
49
48
49
51
58
61
45
44
41
51
56
61
63
67
67
60
60
60
55
64
68
69
82
87
89
90
91
98
104
105
106
109
114
114
116
121
135
134
130
130
128
129
131
139
145
145
143
145
141
140
141
139
139
135
134
139
139
127
116
111
102
89
83
79
76
81
83
83
84
84
84
86
83
64
57
72
97
105
105
108
116
123
124
123
129
136
139
122
104
90
88
86
98
115
130
156
167
182
189
194
197
198
198
196
193
191
187
182
174
169
163
167
174
183
185
184
188
186
184
182
186
188
179
173
167
165
157
162
165
186
159
167
184
187
175
197
190
189
203
184
171
165
169
167
179
100
91
69
60
54
47
41
35
34
35
37
45
48
55
59
64
65
68
71
70
68
69
64
55
54
55
60
61
62
58
67
68
65
66
65
63
61
59
53
52
53
55
54
56
54
57
57
57
59
56
61
59
57
57
59
58
55
62
60
57
63
66
69
68
76
81
84
85
86
86
92
92
94
89
86
80
78
79
82
83
87
92
89
84
81
84
87
103
116
119
116
120
118
119
117
115
112
112
110
110
109
102
93
81
61
61
61
64
60
60
60
65
65
65
65
64
63
60
58
55
54
50
47
44
42
43
42
40
41
44
46
45
48
48
49
46
46
49
50
50
50
44
45
44
44
40
39
49
53
63
60
64
65
62
65
65
68
66
70
76
61
57
48
61
72
85
84
86
90
85
82
72
67
72
77
82
89
95
98
103
108
108
111
115
117
116
119
123
129
141
141
139
137
139
132
130
142
152
156
155
147
143
145
145
146
148
152
152
152
145
144
139
134
126
119
103
95
87
81
87
85
81
73
73
73
77
77
73
77
95
115
131
138
142
146
152
157
160
164
164
164
157
146
131
122
113
112
116
126
150
163
179
187
193
196
197
197
195
192
189
188
183
175
169
160
166
170
181
183
181
183
185
185
184
179
175
161
159
156
165
165
155
179
187
157
164
183
167
173
188
197
203
182
166
169
162
178
185
198
108
103
95
102
83
45
44
35
39
33
46
41
51
53
59
67
69
78
79
82
85
91
83
71
57
57
51
59
63
60
60
63
63
61
60
59
59
58
54
60
60
56
55
57
56
58
56
56
56
56
63
60
55
57
60
58
53
61
62
60
66
70
72
74
74
73
75
77
80
83
90
87
88
85
78
78
79
79
88
88
82
83
80
78
75
78
80
103
116
117
115
115
114
116
114
113
114
112
110
105
103
96
95
78
59
61
61
61
59
59
60
61
61
63
67
67
64
61
59
59
56
51
49
46
45
44
42
40
42
46
48
48
47
44
44
36
43
49
45
45
45
46
45
46
57
57
58
62
59
66
64
64
69
72
76
80
84
87
91
95
80
72
73
77
95
111
111
119
119
110
108
97
95
95
98
105
107
111
110
112
119
119
121
126
128
128
135
134
143
152
147
146
144
141
141
150
156
165
160
151
134
141
148
157
159
163
168
159
157
154
147
146
134
136
126
118
106
99
89
77
72
72
82
86
89
105
103
102
117
125
133
153
164
166
171
175
178
178
180
182
176
176
176
165
160
150
133
124
121
141
156
174
187
193
196
198
196
195
192
189
188
185
177
171
158
162
169
180
182
180
178
182
184
188
189
171
158
164
164
169
166
161
181
190
164
173
169
160
183
180
197
188
189
189
181
169
171
181
185
101
92
79
66
69
72
62
37
32
39
48
57
53
59
63
72
84
94
101
106
104
103
99
94
95
86
51
54
55
58
57
56
56
57
54
52
52
53
54
52
53
53
52
53
53
55
51
51
53
54
54
58
58
59
59
59
56
56
57
60
63
67
73
73
75
79
77
79
82
86
86
83
83
81
75
81
82
85
87
81
78
79
77
72
79
77
73
90
111
115
113
113
114
114
113
111
114
108
103
105
100
97
91
76
63
59
59
55
54
56
58
61
63
61
63
63
61
59
57
55
52
52
51
51
49
46
43
41
43
47
47
47
47
42
44
43
45
44
43
45
47
54
60
62
63
71
80
76
72
76
73
71
77
82
86
87
98
112
117
119
98
103
106
101
119
126
138
150
145
122
126
129
124
126
127
127
122
129
126
125
129
131
130
136
142
139
140
143
153
157
157
160
155
153
164
172
171
170
156
141
153
172
176
176
179
176
175
176
176
177
170
151
139
137
138
129
118
110
102
96
96
108
131
139
144
149
149
147
151
160
175
188
187
184
185
186
193
196
192
185
181
181
181
183
179
171
150
125
112
129
148
168
184
192
196
195
193
190
189
186
185
184
184
177
166
166
167
180
182
181
180
180
181
186
183
171
156
163
163
165
165
153
163
182
161
159
164
146
174
161
203
189
174
170
171
157
163
173
187
92
86
74
75
64
73
79
66
51
56
62
69
73
79
83
90
100
104
105
102
105
103
100
95
93
91
98
61
51
53
53
53
56
56
50
49
51
53
53
49
50
52
51
50
52
54
51
56
55
56
54
61
61
59
59
59
58
59
59
59
60
64
67
70
74
76
80
78
76
81
80
79
82
81
79
82
82
84
85
81
77
75
73
72
79
74
72
77
104
109
111
111
110
112
109
109
105
106
104
102
100
98
87
73
61
52
55
59
53
55
57
59
61
62
61
61
61
57
55
54
53
54
53
53
49
46
45
39
39
41
43
47
50
48
46
43
43
42
41
43
45
53
66
74
76
82
82
78
79
79
79
80
93
103
103
110
121
134
137
133
120
126
131
126
141
148
159
166
160
143
147
156
154
149
146
142
141
149
149
147
146
150
149
148
150
150
151
157
169
174
176
177
176
180
186
184
187
186
181
187
206
208
207
203
200
200
199
204
201
197
184
172
177
181
181
176
171
166
165
170
171
181
196
201
202
194
190
188
190
203
213
212
205
200
200
206
212
213
206
198
188
183
182
187
183
176
167
149
137
140
152
171
184
192
196
194
191
188
185
183
183
183
186
180
171
171
172
181
180
179
180
180
182
183
181
166
156
162
154
176
182
160
162
175
163
164
170
171
164
186
186
183
180
175
170
156
160
158
178
91
83
77
75
77
84
84
89
65
67
75
80
84
89
98
104
105
102
103
99
94
91
97
98
96
91
85
81
54
56
50
50
54
52
52
51
46
43
42
45
47
46
44
45
45
48
51
53
53
55
56
55
55
53
54
53
53
57
60
60
58
57
61
68
70
71
71
71
68
75
77
79
78
80
81
82
87
88
92
85
78
74
70
75
75
71
68
70
84
104
105
100
101
107
111
106
107
107
107
100
97
92
83
72
61
59
57
56
55
55
55
60
64
68
75
75
72
72
72
71
66
54
43
44
40
41
43
43
40
47
44
54
49
47
47
45
45
45
44
47
54
65
72
77
83
86
85
84
85
81
88
96
110
119
124
128
142
155
152
138
140
149
150
151
156
165
170
167
163
157
163
172
170
168
161
159
160
164
166
165
159
161
160
160
164
172
168
174
182
184
186
186
185
185
190
200
200
203
211
217
223
224
224
223
229
231
230
227
225
226
230
230
230
232
230
231
228
228
227
224
224
226
227
226
224
220
220
219
221
224
225
217
213
214
215
215
217
220
214
207
197
193
194
189
187
186
184
185
181
168
177
185
191
196
200
203
198
192
192
190
191
190
189
182
180
182
184
184
182
173
179
181
182
176
170
152
160
160
161
208
120
143
168
171
154
161
169
188
172
181
178
177
179
170
165
163
163
172
177
97
93
87
81
85
90
92
94
76
73
80
84
88
93
100
98
98
95
96
93
89
80
83
81
81
81
81
87
74
53
50
52
50
49
51
53
48
44
40
38
40
41
39
41
45
46
52
53
53
53
54
53
53
52
52
52
49
57
60
62
58
58
61
62
67
66
68
68
69
74
76
76
77
77
81
82
86
89
91
83
80
78
74
75
79
78
74
78
73
70
87
99
105
109
111
110
107
107
107
98
90
79
72
68
65
58
58
57
56
54
54
64
82
86
83
81
74
72
72
68
53
50
50
40
37
35
41
39
36
40
46
58
46
45
45
48
48
51
70
91
95
82
84
86
88
91
92
91
91
93
99
113
122
133
141
148
157
165
165
158
163
167
168
166
168
169
169
168
165
158
164
175
177
177
172
172
170
166
167
166
161
163
164
161
165
171
170
176
180
183
185
184
184
184
187
194
194
195
197
201
207
219
221
224
232
235
237
239
239
240
242
242
242
238
238
237
237
237
235
232
232
230
231
229
228
232
232
230
226
226
225
217
214
215
214
214
214
217
211
205
196
194
193
187
185
187
190
190
190
189
198
204
210
218
224
225
224
222
221
224
222
220
217
206
203
200
198
198
194
186
187
189
186
174
175
170
154
160
160
203
157
128
157
182
160
160
161
169
174
195
187
195
178
172
161
168
170
163
183
108
104
98
100
93
86
90
96
76
79
85
89
89
96
102
99
96
90
86
86
85
83
81
71
69
68
69
70
69
51
49
51
52
52
51
49
49
44
38
39
39
37
39
45
46
45
49
51
50
50
51
56
56
56
51
52
56
56
56
58
55
57
56
56
62
65
67
69
66
70
70
73
80
76
72
72
78
82
84
80
80
83
76
71
79
83
78
77
81
75
71
69
75
88
94
100
97
96
91
83
78
72
64
60
57
56
54
57
57
52
57
69
73
72
73
72
69
62
58
56
52
50
47
49
44
39
43
39
39
39
43
49
51
49
51
65
80
90
96
98
101
100
98
94
104
103
103
98
98
103
119
129
137
143
155
167
168
168
169
164
162
161
161
161
161
160
160
157
153
153
153
156
161
166
168
166
166
169
165
158
154
159
166
162
164
165
169
173
173
180
182
180
185
187
189
186
184
183
184
186
186
196
199
205
212
217
223
228
232
239
239
239
238
238
238
236
234
234
231
227
227
226
225
225
225
228
224
218
220
218
212
208
206
204
205
203
203
202
196
192
182
180
180
176
176
175
177
180
188
195
201
207
212
218
225
234
238
242
244
244
244
244
244
242
236
234
235
235
235
234
234
230
221
198
180
161
150
159
160
161
159
160
158
137
140
165
164
168
179
188
197
186
172
169
157
167
177
181
177
113
109
94
96
91
86
80
85
75
77
77
86
88
94
103
98
95
87
82
81
78
75
75
69
71
63
62
68
56
50
53
49
50
51
46
42
39
39
35
40
40
37
33
39
40
43
46
48
48
48
49
53
54
57
54
55
57
58
58
57
54
52
54
52
53
57
65
65
62
63
65
67
77
73
66
69
72
82
83
81
82
78
76
69
78
80
78
79
78
73
80
77
71
66
72
76
80
80
78
72
73
75
66
63
58
57
57
59
58
58
75
67
72
70
71
69
64
56
52
50
51
49
46
47
45
41
41
41
41
37
40
45
51
57
70
78
105
110
107
108
111
111
106
103
105
110
110
110
111
123
139
152
156
154
162
170
165
163
163
153
149
146
143
144
148
148
145
149
148
140
140
139
145
153
161
161
165
168
168
161
162
168
174
170
170
172
170
174
175
179
181
182
188
192
192
184
182
183
183
183
183
183
184
188
194
199
205
214
219
226
233
233
233
232
230
227
220
220
219
217
217
217
212
212
213
215
211
207
207
205
198
192
192
190
190
188
189
189
184
178
169
167
166
166
166
169
171
176
182
184
190
197
202
210
218
230
236
239
241
241
243
243
243
242
240
238
237
236
236
234
230
219
204
188
182
142
147
158
163
137
140
146
163
157
141
144
155
162
186
180
174
173
157
170
155
169
173
170
176
116
108
102
100
93
87
78
69
61
62
64
65
69
79
88
90
89
79
79
75
73
73
68
63
67
64
63
58
51
48
50
49
45
43
42
43
39
39
35
33
34
35
36
38
38
41
47
50
49
49
53
53
53
56
58
58
56
56
52
51
50
49
51
53
53
53
56
62
63
65
65
64
65
67
72
70
68
67
73
78
75
70
71
75
71
77
74
72
70
74
77
75
76
65
69
70
66
70
73
77
77
77
71
69
72
69
65
61
57
62
74
71
73
75
75
71
61
53
51
49
51
49
48
49
49
41
36
37
36
42
47
49
52
61
80
95
112
114
111
110
113
117
115
110
108
112
119
118
131
144
156
164
162
160
160
160
158
154
152
145
138
140
142
140
141
149
148
151
153
149
141
140
145
151
157
163
171
170
172
172
171
175
179
176
173
173
172
177
181
177
181
188
189
191
191
187
187
188
186
184
182
179
179
178
178
181
188
198
204
210
216
220
224
220
218
215
212
210
210
211
209
203
202
199
195
192
190
189
184
181
173
172
170
168
171
173
175
175
166
159
161
159
152
151
158
160
163
165
168
177
179
182
188
194
202
211
217
221
225
229
233
236
236
236
237
235
230
222
215
211
192
185
179
141
112
108
146
158
163
153
165
141
151
160
142
161
168
167
167
181
168
186
152
169
164
166
171
172
178
110
105
99
96
84
79
64
55
59
66
61
62
54
62
75
80
80
73
69
67
60
65
62
62
61
64
62
54
47
48
46
50
46
41
43
40
37
35
32
35
34
34
34
38
40
40
45
49
50
50
55
54
54
56
59
59
59
55
53
50
48
50
49
49
49
50
53
55
55
59
59
60
62
61
62
67
58
61
63
66
71
65
69
69
74
74
85
77
74
74
78
78
77
77
79
83
84
86
87
86
81
71
74
73
73
71
74
76
72
74
73
72
74
74
69
64
54
50
50
48
46
49
57
52
53
42
34
32
32
43
52
57
57
63
82
101
115
117
114
113
113
123
124
121
120
127
136
139
151
160
164
165
161
155
152
152
150
147
148
142
138
139
145
148
147
154
158
157
159
157
151
145
151
158
160
167
177
176
179
178
172
173
178
173
171
169
167
173
178
173
175
184
185
187
186
183
186
185
187
185
182
179
177
177
168
170
173
177
181
191
203
208
211
213
211
209
203
201
200
195
188
180
171
165
164
169
169
167
157
147
140
143
146
147
153
155
155
152
145
144
145
139
133
133
139
139
141
145
153
160
160
162
167
173
183
193
199
204
214
220
226
229
231
235
237
234
231
231
228
223
220
218
206
156
89
75
144
156
158
151
155
149
130
132
166
172
153
171
150
177
177
185
177
161
166
173
168
168
161
117
102
83
79
78
70
64
53
57
60
60
60
58
59
57
64
73
73
65
63
57
53
51
55
54
52
52
50
44
39
44
45
39
40
40
38
33
34
35
35
35
35
32
34
38
41
45
47
49
51
55
55
55
55
59
59
59
56
52
49
47
45
46
46
46
48
53
49
54
55
54
58
56
58
57
55
54
56
76
74
69
69
67
66
65
71
76
79
79
78
77
78
82
88
94
99
93
90
90
99
94
91
84
75
71
73
73
74
72
72
86
84
83
77
65
61
55
56
54
54
53
56
54
54
48
40
31
30
34
45
52
53
62
74
82
96
114
119
115
117
119
121
123
131
133
142
151
162
164
165
156
147
150
152
152
150
146
144
143
145
138
138
142
148
152
155
154
158
157
157
156
152
152
152
157
161
165
169
169
168
168
168
167
168
168
168
167
166
167
168
169
179
180
180
179
176
178
177
174
176
178
184
182
178
164
166
172
169
168
178
188
194
200
201
203
203
199
185
171
164
156
147
139
137
136
136
133
126
109
105
109
115
121
129
133
135
134
130
133
129
122
120
113
122
117
115
118
122
127
130
130
137
146
153
162
172
179
190
193
202
215
226
232
233
230
230
230
230
226
220
214
212
200
152
97
79
146
149
150
148
146
138
153
171
160
165
157
155
151
166
173
199
179
164
164
167
172
169
156
91
85
84
84
81
75
65
56
53
54
58
56
52
49
49
37
43
55
57
60
58
51
47
49
47
45
39
40
39
35
34
34
37
34
36
35
32
32
32
37
35
36
33
37
41
44
42
47
46
50
56
51
51
54
58
58
58
53
51
48
47
45
46
40
44
44
50
45
47
54
58
59
56
55
54
48
48
54
67
74
71
71
66
65
66
72
73
79
80
82
81
87
96
96
96
101
101
92
84
85
89
92
93
85
71
75
76
72
76
74
87
85
81
76
65
61
53
55
55
58
54
58
53
47
41
35
35
37
43
52
53
60
68
76
82
98
114
119
118
123
125
132
137
144
150
159
165
169
161
157
150
141
143
145
150
149
143
138
137
142
138
139
144
150
153
158
158
160
163
155
156
153
153
152
150
151
156
159
157
157
157
155
156
163
165
168
167
160
165
167
168
171
169
169
168
166
168
175
170
163
165
178
176
170
163
171
176
169
170
174
176
179
187
187
186
184
168
167
161
148
137
131
128
109
97
95
96
90
84
85
90
89
95
106
114
116
116
114
112
109
104
105
106
110
106
99
104
108
109
111
118
124
133
140
141
148
165
167
176
191
203
220
224
225
215
217
214
208
209
204
199
191
175
114
66
59
136
142
151
142
140
146
143
173
162
159
168
151
153
176
157
177
173
154
165
159
160
165
173
83
80
75
70
66
60
53
54
45
39
34
39
39
48
38
41
35
37
35
44
39
37
35
37
35
37
38
40
38
36
32
32
34
35
33
29
31
31
30
30
30
30
29
33
37
39
39
44
48
50
54
54
54
58
53
55
52
52
50
49
46
44
40
41
43
43
44
47
50
49
52
53
55
56
60
53
52
52
68
75
74
68
69
67
63
70
72
79
82
90
94
97
97
91
93
94
96
96
93
83
85
87
91
93
86
72
74
75
74
77
81
82
80
79
79
68
68
66
64
65
65
65
53
43
39
34
34
42
57
67
72
80
74
82
85
111
115
114
123
131
140
144
150
153
155
154
155
153
152
148
140
131
128
132
136
136
136
136
138
137
140
142
147
154
159
161
161
159
160
151
148
151
153
151
145
151
154
155
161
160
158
156
154
163
165
164
155
151
154
155
153
154
163
165
168
174
176
175
167
132
128
156
162
144
129
138
149
169
181
178
172
163
158
160
171
174
172
164
144
118
111
116
117
106
108
92
89
83
74
77
75
79
87
101
95
97
100
101
99
98
108
106
114
117
113
107
108
112
113
116
120
123
127
130
136
141
144
148
163
180
196
209
223
217
198
187
175
173
185
153
153
140
105
58
48
56
137
147
147
114
128
160
133
178
169
179
155
160
165
170
159
162
160
157
171
174
166
170
165
75
71
67
63
55
42
35
33
29
22
21
63
62
46
36
35
34
26
30
44
40
39
34
39
35
35
37
38
37
37
34
35
33
35
33
30
30
30
31
30
30
29
30
32
37
36
40
42
45
47
51
54
52
58
53
53
51
48
48
48
44
40
37
38
40
42
43
46
53
51
54
54
57
55
54
57
64
68
62
77
69
72
68
72
68
74
75
82
87
99
97
95
95
90
94
94
91
95
101
90
85
82
91
95
84
71
71
71
72
74
73
72
81
86
82
78
73
71
69
67
59
52
36
28
35
43
35
38
49
56
70
85
97
104
110
127
124
121
132
141
147
150
149
148
141
137
137
138
138
137
134
127
122
119
121
124
128
131
133
136
138
140
145
149
155
158
158
157
157
151
148
151
153
151
151
155
153
159
160
157
153
149
155
157
152
154
144
142
140
148
151
160
173
175
171
174
176
172
158
122
120
142
150
130
100
87
117
131
157
169
169
158
140
146
166
171
180
176
163
152
144
135
134
121
123
103
100
89
88
85
90
98
98
102
102
100
110
110
115
113
112
110
114
114
119
117
114
113
115
115
119
119
119
120
121
125
133
136
147
167
182
202
218
214
202
200
199
182
175
136
130
94
74
85
84
84
133
144
151
135
143
164
178
169
164
173
151
148
157
163
169
159
163
166
177
167
157
170
179
60
58
53
45
40
31
30
28
27
24
27
46
62
46
40
40
37
36
33
41
41
37
31
35
33
33
33
31
32
34
34
34
30
28
28
27
30
30
28
28
28
28
30
30
31
33
35
38
38
44
51
51
55
57
56
58
56
53
52
47
46
43
38
38
38
37
46
47
48
54
54
54
52
52
60
66
69
65
59
57
64
74
77
76
83
72
69
78
82
92
92
89
90
93
95
96
95
95
95
94
96
92
92
90
96
77
71
72
72
75
77
74
74
78
78
76
74
69
65
52
47
44
37
41
42
41
33
37
34
40
55
72
91
110
126
130
135
138
144
150
155
152
139
131
127
128
126
125
125
126
129
129
127
122
124
126
126
130
135
135
137
140
139
143
144
150
152
150
149
149
149
146
151
157
157
159
156
162
156
149
148
150
147
146
144
143
135
137
141
156
166
174
177
179
173
171
171
160
154
139
133
145
148
126
80
51
79
99
120
140
158
150
141
139
155
171
177
178
171
160
149
136
137
145
157
149
139
140
126
107
136
132
113
117
121
118
112
115
121
127
116
114
116
118
120
121
116
114
111
112
114
113
112
113
112
123
123
132
148
167
182
193
210
208
195
201
202
193
184
152
145
115
68
65
48
67
123
124
120
102
126
161
172
174
177
172
153
153
163
152
158
151
158
168
177
172
163
174
188
46
42
39
35
31
26
20
23
33
29
31
31
34
38
39
35
35
38
40
59
73
44
39
35
33
31
32
30
30
31
33
33
29
28
28
27
28
26
27
26
26
26
26
26
28
30
32
37
42
46
49
52
54
56
54
54
57
53
51
50
48
42
41
40
40
39
42
51
52
53
53
54
53
54
58
62
63
60
59
59
60
59
62
70
73
76
77
77
79
84
86
87
88
90
87
92
95
97
100
98
98
95
89
89
88
85
82
74
68
69
73
73
70
72
70
68
67
64
56
51
48
49
45
51
49
48
45
45
37
46
59
71
72
98
123
137
141
149
148
155
157
145
128
121
120
120
124
122
124
125
120
127
135
130
132
135
138
138
137
137
137
140
141
143
149
148
150
147
146
150
145
149
159
160
164
164
163
159
152
144
145
145
147
143
141
144
143
147
146
163
172
175
175
173
172
173
168
159
162
153
146
156
161
129
88
54
85
110
104
129
133
141
144
137
135
166
172
169
168
149
134
127
128
145
170
173
169
169
153
165
162
161
136
145
137
127
133
124
130
123
121
128
118
125
121
119
118
117
114
108
112
109
115
115
117
115
119
120
126
147
169
188
203
200
187
190
189
171
153
151
160
143
86
53
39
61
139
132
137
121
135
165
169
172
175
168
145
165
144
168
157
153
157
174
198
158
157
181
190
47
43
41
34
31
24
26
28
33
30
30
36
39
39
40
44
42
42
41
45
58
42
38
38
39
37
34
34
35
33
30
30
30
28
28
28
26
26
24
26
26
25
28
28
29
32
34
37
41
46
46
48
53
52
52
54
55
56
55
50
52
48
43
44
45
44
46
50
51
55
57
59
61
61
64
65
63
63
60
63
60
63
63
67
68
72
74
75
72
74
82
83
82
83
85
88
96
100
101
97
95
100
101
88
101
132
99
74
76
72
78
79
78
78
77
73
69
62
61
55
52
51
52
55
53
53
49
51
55
58
67
78
89
109
122
132
139
151
162
162
154
142
127
121
117
119
121
122
122
122
124
130
132
132
137
139
148
146
141
139
137
140
144
147
147
151
147
142
141
146
143
152
158
157
158
158
156
151
144
146
153
146
149
150
160
159
147
151
161
171
162
164
176
174
176
173
173
170
160
161
158
173
170
130
90
86
102
96
107
134
141
140
139
136
147
153
160
161
160
143
125
113
96
109
155
171
179
184
180
186
181
175
171
167
163
155
143
139
144
141
141
141
140
143
120
108
114
112
110
114
108
115
125
136
146
152
155
156
137
146
159
167
178
191
176
169
164
154
144
142
145
139
95
43
29
70
125
119
142
146
156
167
174
180
168
168
163
159
132
165
154
152
151
174
189
166
160
183
184
48
43
40
35
32
28
30
32
38
38
38
38
44
46
48
48
48
51
45
44
46
41
39
39
45
49
36
36
34
33
30
28
30
30
28
26
26
26
26
28
26
26
29
29
29
34
34
34
40
42
46
44
46
49
54
54
55
56
52
49
50
48
48
47
47
51
49
51
56
57
61
62
64
67
64
66
65
66
62
62
65
65
65
64
66
70
72
72
70
68
81
86
79
80
80
84
87
89
89
99
88
107
104
108
129
120
89
78
75
76
76
78
78
76
78
74
69
60
56
56
50
53
51
61
60
59
58
58
66
65
78
89
95
111
125
134
142
152
161
158
151
143
130
124
122
122
124
128
126
126
123
134
130
130
134
138
143
141
136
136
142
143
148
145
146
145
139
135
140
139
146
155
153
152
144
152
147
140
150
163
155
157
156
153
160
155
147
152
171
171
161
173
180
179
182
176
174
170
162
164
172
171
158
133
137
126
73
94
105
138
149
133
142
146
143
142
149
148
133
109
105
102
94
108
148
168
178
174
176
180
181
176
172
173
173
175
175
178
182
183
185
174
176
178
158
136
129
120
107
106
104
129
160
166
185
199
211
215
214
222
225
223
220
215
210
186
158
149
141
126
114
100
77
44
37
84
130
124
128
141
138
159
166
174
171
166
149
166
146
150
147
159
162
184
184
158
158
182
183
46
42
38
38
37
34
35
37
45
40
42
45
52
56
57
57
57
56
59
55
54
46
42
43
41
41
37
38
38
36
32
28
25
27
27
26
22
22
23
25
28
27
27
27
29
33
35
37
36
37
43
44
46
54
52
54
55
54
50
49
51
50
52
53
49
50
54
57
61
64
63
64
69
67
66
68
68
67
63
66
65
67
66
63
65
68
69
70
69
66
63
71
85
86
86
86
84
89
87
84
113
108
124
116
161
111
86
71
75
72
74
77
77
76
77
74
76
64
60
59
52
54
52
60
67
66
64
64
66
70
88
112
123
126
127
134
145
154
157
150
142
135
128
129
129
129
125
125
127
128
126
129
128
128
132
132
134
134
138
140
147
147
143
141
143
133
130
131
131
136
142
142
139
141
148
147
158
155
161
165
162
158
150
148
146
147
162
167
172
177
170
189
189
184
185
178
171
169
160
165
168
158
141
150
140
108
95
120
128
138
128
137
151
140
137
137
138
136
115
101
92
88
87
112
143
163
164
170
167
171
166
148
139
155
165
163
157
175
186
195
206
205
206
206
206
205
207
205
201
203
206
215
227
231
238
234
229
229
231
233
233
232
232
233
232
223
220
196
167
142
89
61
61
46
50
90
120
122
131
124
133
171
174
164
153
170
163
160
147
154
163
156
167
168
163
155
165
178
181
42
40
33
35
34
36
37
36
44
41
43
46
53
55
54
52
52
56
55
63
60
56
51
45
46
40
39
37
36
36
30
28
24
26
26
26
20
20
21
24
24
24
25
25
25
30
34
38
37
36
42
42
46
49
53
55
56
54
51
52
49
54
53
55
55
53
56
60
62
66
66
68
73
72
70
69
67
68
65
66
66
71
65
64
65
66
68
65
63
63
61
55
71
85
85
84
89
87
107
125
118
123
120
187
83
93
84
72
68
70
75
81
79
77
80
74
66
63
69
56
55
53
52
51
60
67
71
72
76
85
92
101
112
129
137
136
137
146
146
145
141
133
126
127
129
135
134
126
128
128
126
126
130
131
133
138
135
138
144
141
142
147
139
133
136
132
133
130
132
137
137
137
140
141
152
152
161
165
172
172
164
160
154
152
162
171
186
188
186
182
185
194
190
183
180
172
172
169
155
154
149
141
162
150
125
107
115
117
126
138
149
145
115
122
123
128
129
125
104
74
60
62
84
112
138
156
158
160
158
158
150
147
137
158
172
163
128
126
153
179
196
196
197
194
194
192
188
190
189
204
202
207
211
216
216
217
215
218
223
219
222
224
226
224
221
217
212
207
206
202
183
151
105
85
69
89
118
128
134
133
147
149
192
160
164
170
151
156
151
159
152
157
155
156
158
160
170
182
187
38
38
37
35
35
37
36
36
38
37
41
46
53
55
51
51
51
48
48
50
49
48
45
48
46
43
43
40
39
37
30
30
31
30
29
30
27
26
25
26
26
25
23
23
24
23
26
27
34
36
38
41
44
46
48
50
49
51
51
57
54
63
62
68
68
68
70
71
69
67
69
69
71
73
70
72
70
70
67
68
68
66
62
65
60
64
67
64
68
69
61
65
68
67
78
84
93
103
90
145
148
92
176
145
114
95
92
71
75
67
79
82
84
90
75
72
73
87
69
66
58
56
53
51
55
66
73
77
84
87
97
114
121
131
137
139
142
135
133
133
129
128
123
122
123
125
131
135
135
138
132
132
137
137
140
139
146
140
148
134
134
139
156
135
140
148
157
153
155
162
161
167
162
167
171
181
183
184
194
191
181
184
185
185
191
193
198
195
197
195
194
193
188
182
172
175
168
169
163
144
145
153
161
156
128
113
110
101
113
137
132
132
123
116
126
121
123
89
62
59
65
69
92
123
141
150
161
157
150
139
141
145
152
161
167
150
139
141
146
159
166
175
181
183
179
181
181
181
177
179
179
180
187
189
193
196
204
209
211
209
212
213
209
211
212
205
197
200
206
216
225
215
187
114
103
106
119
126
120
129
146
152
174
159
163
166
155
164
157
150
162
142
162
167
149
158
173
172
184
33
35
33
32
32
35
38
42
41
39
43
49
55
55
53
54
54
49
47
47
45
44
44
49
50
50
49
49
47
43
37
35
33
32
30
31
31
27
28
25
27
27
26
26
24
21
23
26
31
31
37
41
43
46
48
48
47
51
51
64
66
67
72
76
75
74
77
78
79
73
73
71
73
72
72
75
75
72
67
67
69
63
63
67
62
66
66
78
82
82
72
66
75
79
79
108
118
152
99
181
90
136
169
145
130
96
115
86
100
89
74
91
75
91
78
74
66
93
83
88
80
68
57
55
70
70
72
81
82
91
116
124
138
133
143
140
138
132
124
124
122
126
123
125
132
128
130
132
148
150
144
144
147
143
143
140
144
142
147
144
146
159
171
159
163
178
178
177
183
179
185
185
186
184
191
196
203
199
213
206
198
202
204
210
207
203
198
198
196
195
193
185
185
174
168
169
170
161
161
140
146
149
163
151
124
117
106
97
113
119
127
120
109
103
103
106
97
91
88
85
93
87
97
118
139
143
142
144
127
127
137
152
154
161
159
156
147
148
145
144
141
156
168
178
176
176
174
170
168
163
161
161
161
171
169
183
193
199
201
199
203
200
200
198
196
202
211
205
200
212
213
208
197
171
135
103
124
119
124
139
141
144
174
173
155
164
157
149
144
152
156
153
154
162
146
169
171
169
181
39
35
31
31
31
32
32
36
38
39
42
42
45
45
44
50
54
50
47
48
49
51
51
50
51
51
49
53
51
48
44
42
40
36
32
32
32
28
28
29
29
30
23
23
23
29
29
29
29
29
32
34
34
39
40
42
48
50
54
64
69
71
75
73
73
78
79
82
81
86
84
78
74
73
77
76
74
74
77
75
74
73
73
72
72
73
76
76
76
91
123
109
91
136
162
175
190
197
195
198
189
207
172
193
161
136
133
135
91
125
96
99
96
106
144
100
97
116
102
139
123
163
80
76
83
108
114
97
122
152
147
155
151
149
150
151
153
132
134
131
121
114
121
129
140
142
148
143
147
144
151
149
145
150
150
142
152
151
161
164
171
181
173
171
173
182
182
184
189
196
189
187
193
191
200
203
203
210
208
203
205
212
207
205
205
205
206
197
196
193
189
184
175
162
174
171
156
153
153
161
150
146
145
135
130
139
107
100
118
99
93
94
84
96
102
105
102
89
66
50
48
67
89
109
127
134
128
112
111
117
127
130
135
140
148
148
142
125
134
139
146
153
168
167
161
165
161
157
152
146
150
154
151
141
151
158
165
174
173
180
177
179
188
199
212
214
211
193
197
204
200
188
185
165
115
106
126
168
130
99
162
139
163
164
176
167
153
159
150
151
157
172
161
157
157
170
165
171
172
43
39
39
35
33
33
36
33
36
35
34
40
48
45
41
43
43
42
44
46
53
54
54
52
54
56
58
57
55
51
48
45
40
38
36
36
32
30
30
28
28
27
23
23
23
29
29
28
29
29
32
30
34
36
37
40
46
53
59
64
65
68
74
75
78
80
82
80
84
86
88
86
83
83
84
82
81
80
75
74
71
79
82
80
80
83
83
106
94
153
185
201
182
164
147
169
172
168
196
148
160
184
161
171
179
162
156
167
175
187
193
182
158
147
193
194
190
187
189
188
196
191
185
172
164
160
147
158
198
154
181
167
160
160
160
164
153
133
147
145
145
129
133
132
155
145
160
165
144
150
156
153
159
151
153
154
163
159
169
173
178
181
172
173
173
187
172
183
186
189
185
190
191
189
198
200
204
208
206
203
208
207
202
202
202
205
205
195
193
189
189
169
182
159
178
164
153
156
158
166
138
149
158
165
162
123
135
127
75
86
101
114
115
104
100
91
112
103
85
72
47
56
88
106
112
120
103
114
113
101
100
108
121
132
140
134
130
150
147
140
148
156
163
147
148
151
146
143
147
142
138
138
129
136
134
129
139
150
156
153
155
173
184
193
200
206
201
186
189
191
179
169
161
148
121
109
119
162
107
120
149
125
162
180
173
163
163
162
148
154
146
172
152
151
151
162
181
167
165
39
37
35
39
38
32
31
31
31
31
31
31
29
29
29
30
31
33
36
41
49
53
58
58
56
54
61
57
58
50
48
46
41
39
37
38
33
33
31
28
27
25
23
24
25
29
29
27
24
27
28
29
31
35
39
43
47
50
60
66
68
68
74
72
79
79
80
80
83
95
106
105
99
90
87
85
83
83
79
79
78
78
81
83
84
91
95
98
153
202
193
178
172
198
172
179
187
191
172
162
167
168
154
137
146
156
136
133
139
136
128
173
177
188
175
118
149
165
177
183
184
193
198
196
199
186
189
204
182
193
186
184
163
179
178
173
159
168
169
169
166
168
149
158
171
162
174
185
170
161
163
168
160
158
164
164
161
165
169
166
170
174
183
170
169
172
170
180
175
180
179
190
192
194
196
202
207
212
206
204
207
210
202
206
207
209
196
195
191
182
165
169
174
173
183
155
164
157
171
157
155
177
162
144
144
135
104
88
86
91
95
101
101
87
75
61
51
44
39
38
52
64
86
102
114
117
112
105
77
88
115
118
128
137
137
135
133
128
131
133
137
143
142
129
131
134
142
147
148
132
131
124
104
121
127
116
128
125
119
132
148
159
172
180
189
191
192
185
180
173
159
154
142
128
135
120
119
114
110
108
122
146
153
180
199
158
163
155
144
154
152
160
137
151
149
144
156
168
168
50
50
41
44
43
39
36
32
30
35
35
33
29
27
25
26
28
33
44
50
51
52
53
59
59
59
59
56
54
52
51
47
41
40
38
39
35
34
34
30
28
29
25
25
25
29
24
27
23
25
28
28
32
36
40
46
49
51
62
65
68
71
71
73
74
75
77
76
88
88
94
96
95
94
91
85
84
81
81
81
80
85
85
87
84
88
95
131
145
196
197
187
156
194
168
179
184
190
155
151
146
157
156
119
140
148
134
108
83
41
103
139
170
176
132
106
40
93
133
139
140
158
168
181
187
196
205
203
201
205
206
197
191
198
202
180
193
190
198
196
196
199
185
201
205
208
210
209
191
182
172
176
175
172
163
170
158
177
171
160
172
174
164
170
165
171
172
177
179
181
179
191
192
199
198
205
207
217
212
209
214
210
207
203
208
204
189
189
186
174
153
179
165
196
169
168
162
162
171
159
174
155
159
156
117
122
121
99
85
84
85
93
94
79
82
75
73
61
50
56
63
72
84
93
105
108
92
80
82
102
103
94
102
114
118
114
121
116
124
133
143
145
141
118
129
137
133
133
128
121
112
105
111
113
111
100
91
83
101
109
127
142
154
176
186
188
183
175
169
164
170
160
138
113
115
112
108
102
113
101
146
125
141
161
166
164
160
159
172
174
138
163
165
143
151
151
156
177
176
62
59
53
49
43
40
38
36
36
27
27
25
25
23
31
30
31
41
45
44
52
53
53
58
60
64
61
61
57
53
50
46
42
41
41
39
38
37
34
33
33
30
28
28
32
34
32
28
32
29
30
32
36
39
47
49
46
51
56
69
68
71
69
71
72
71
74
77
86
85
91
90
88
88
88
87
85
84
87
89
89
88
85
82
84
85
84
101
124
177
179
173
160
190
166
168
178
176
170
164
149
160
129
127
145
134
125
105
104
80
100
182
153
150
106
135
42
80
87
130
110
166
146
151
176
186
187
193
203
202
193
192
192
197
193
201
200
198
205
204
205
204
210
215
211
216
218
216
200
192
179
182
183
166
167
170
176
181
173
168
169
160
159
166
176
172
174
174
177
181
186
193
194
196
201
207
210
216
212
213
215
206
209
211
203
195
184
205
180
153
158
175
188
187
174
165
166
165
168
176
177
167
164
140
145
121
99
73
71
69
78
82
89
81
82
90
89
87
58
41
27
42
71
88
89
78
79
83
89
90
96
100
105
111
114
118
123
128
131
131
131
131
131
128
124
126
130
122
116
109
109
111
102
104
95
80
83
86
93
95
114
137
160
178
184
186
184
174
165
161
154
135
111
106
103
103
101
105
115
96
144
151
148
172
156
146
156
147
178
180
139
151
156
153
153
153
163
175
174
69
72
64
54
47
43
43
42
36
37
30
28
27
26
26
29
31
34
38
42
49
53
55
58
61
61
58
58
59
52
48
46
41
40
40
40
38
37
35
36
34
33
35
33
34
33
32
32
39
39
37
37
38
44
53
54
50
49
49
64
70
68
70
73
68
70
75
77
79
79
81
89
87
89
89
89
87
85
89
91
91
89
86
83
79
80
82
85
88
125
169
160
165
164
152
151
173
180
158
164
153
152
158
148
147
172
148
114
84
87
108
149
100
131
0
54
28
93
127
139
121
138
119
123
144
164
172
186
184
182
170
169
173
184
185
189
187
191
197
197
196
195
200
210
203
208
206
213
207
209
195
202
180
183
182
180
186
180
158
161
161
149
159
170
178
173
172
171
176
181
186
191
199
203
208
209
217
223
218
218
220
208
216
211
198
189
187
215
162
135
190
184
192
187
177
178
189
168
177
183
184
181
152
163
138
115
99
94
100
93
91
86
80
68
59
41
45
53
63
76
67
45
59
76
85
95
90
94
95
102
105
110
111
111
101
102
109
120
118
115
113
113
119
123
122
114
114
102
92
96
103
102
86
85
82
76
80
93
95
99
105
123
147
161
173
181
179
168
158
151
135
121
106
113
104
92
93
102
124
91
119
145
162
171
165
150
151
155
170
162
147
175
155
145
153
148
161
169
162
88
88
80
79
76
67
59
54
46
40
35
31
30
29
35
31
35
34
36
40
45
47
50
58
57
58
55
58
56
54
49
43
40
41
41
39
38
37
33
36
35
32
35
35
35
38
36
37
39
39
41
42
43
45
51
58
56
52
56
54
61
66
68
73
75
71
75
75
77
74
76
83
87
91
95
91
91
91
92
94
95
90
86
84
78
78
81
84
77
80
117
166
137
163
157
144
161
156
144
136
133
157
173
148
156
153
143
133
137
81
136
103
103
152
114
73
60
62
88
97
150
132
129
96
132
134
167
162
166
149
122
120
146
158
165
172
175
178
182
173
171
175
180
188
185
192
198
203
212
212
201
203
196
196
191
192
189
181
160
153
155
142
150
180
181
174
172
185
171
174
183
183
189
203
206
216
219
223
221
223
219
212
219
211
195
187
206
216
158
196
201
196
192
186
191
190
191
189
191
191
181
174
167
146
132
138
123
115
108
83
68
57
69
74
74
68
64
48
25
20
32
44
43
58
92
89
76
77
81
95
105
108
109
105
104
98
108
117
128
128
126
135
132
120
110
111
108
101
95
97
91
86
77
77
72
67
68
72
80
81
86
103
125
148
172
180
182
164
150
137
112
94
93
109
102
96
100
100
105
104
104
140
177
156
162
149
156
166
175
171
154
161
145
140
148
157
171
188
166
94
89
92
90
81
70
61
56
49
46
42
39
39
43
42
33
37
47
48
50
51
51
53
51
51
47
52
52
54
52
47
43
39
40
40
40
38
37
32
39
39
38
36
36
38
39
42
40
39
39
39
42
43
46
57
56
56
59
59
60
60
58
60
69
71
69
69
71
72
71
78
81
86
94
95
94
90
94
95
97
97
87
83
82
80
80
77
81
84
84
82
108
163
145
145
148
151
141
162
155
145
161
157
160
134
167
154
160
121
88
141
102
115
132
96
65
65
69
77
136
158
155
149
156
160
168
120
151
139
138
128
122
136
136
133
137
149
148
154
157
151
152
148
165
164
169
173
192
201
207
209
210
209
203
203
191
193
180
151
156
141
137
165
181
188
177
179
194
197
192
191
187
204
206
210
219
223
226
223
223
222
213
220
217
204
201
198
218
189
203
211
208
186
186
182
189
190
191
192
188
182
168
164
149
130
128
119
115
102
90
77
70
67
73
71
63
64
67
63
52
58
57
82
85
80
91
100
103
83
81
82
95
93
88
98
97
109
111
112
107
101
102
98
104
109
103
99
92
91
90
82
75
66
61
57
61
58
61
76
82
89
105
127
150
160
156
159
158
144
113
67
41
88
110
104
95
94
102
127
97
130
144
151
154
168
168
149
155
165
174
164
168
157
142
150
161
168
173
162
96
92
84
84
78
72
64
63
53
49
47
43
39
40
44
43
46
51
49
50
53
56
54
56
50
47
50
49
44
41
42
39
36
36
36
36
36
36
40
38
40
40
43
41
38
38
40
39
42
43
41
46
47
50
57
61
63
61
63
62
60
61
58
57
61
59
62
65
70
80
81
82
87
92
97
97
92
94
97
99
101
96
88
83
81
80
75
76
78
78
77
73
79
139
142
145
128
151
157
146
153
165
142
163
131
175
160
151
116
133
137
104
119
125
66
54
49
103
110
134
93
172
152
170
173
168
159
135
150
136
135
132
124
137
121
115
107
104
134
139
138
129
132
144
168
168
158
171
181
196
201
207
209
212
203
200
193
185
155
139
152
170
184
194
197
185
186
189
199
188
180
193
206
212
215
218
224
222
222
219
212
214
215
213
212
200
215
208
201
212
216
209
195
174
175
180
192
195
187
180
169
153
139
130
136
133
133
122
114
110
114
112
105
101
98
92
93
87
94
95
93
98
99
112
109
103
105
104
105
108
103
100
100
97
94
87
92
105
109
112
104
88
93
97
91
90
92
86
82
74
69
69
65
60
53
53
61
79
103
102
91
97
110
122
125
119
114
111
99
71
45
47
84
107
103
85
99
96
79
79
95
138
150
184
155
156
150
164
150
165
157
163
132
141
149
160
165
170
168
88
86
81
83
79
76
88
84
80
64
58
48
42
47
46
45
45
47
47
50
51
53
55
53
48
46
41
41
34
33
38
34
33
35
35
35
40
40
41
38
42
41
44
44
43
40
44
47
47
47
45
51
51
48
59
61
69
71
69
72
69
62
55
57
58
55
60
69
70
76
81
80
87
92
94
93
91
93
95
95
96
96
95
86
79
77
75
80
78
75
74
74
69
62
89
152
133
140
144
132
140
151
144
153
145
168
143
142
118
127
142
104
130
102
58
63
129
87
106
133
136
171
170
160
173
160
167
151
152
139
130
135
137
153
147
124
119
84
99
122
136
133
136
140
164
166
160
143
157
181
193
205
208
208
205
197
195
179
153
176
157
187
208
190
186
181
186
197
204
206
187
198
208
213
217
221
224
220
218
217
211
215
213
212
209
206
214
207
205
213
207
203
197
182
176
179
187
186
185
174
158
154
155
152
151
151
144
132
115
107
96
91
102
99
96
95
94
97
100
103
103
109
114
117
121
111
108
108
110
107
109
109
105
105
105
106
104
97
101
98
101
100
90
70
62
64
72
71
71
66
67
62
62
69
72
91
99
107
128
149
152
145
139
136
125
112
105
103
94
72
44
42
85
103
101
82
86
90
66
49
116
155
157
168
156
154
142
169
176
158
164
141
140
156
161
169
166
172
171
91
86
85
85
83
74
78
74
73
65
57
51
54
50
52
50
50
48
46
50
50
56
51
52
53
50
44
38
34
32
34
32
33
33
33
35
41
43
42
44
46
45
41
43
45
46
48
51
48
48
53
54
56
55
60
63
69
69
67
67
68
67
63
59
56
57
57
60
70
71
86
87
89
90
89
90
86
83
89
89
84
84
82
81
77
85
80
75
74
70
70
71
68
70
63
68
149
149
122
117
132
151
145
147
137
142
151
124
108
113
119
124
122
99
96
96
163
92
88
161
144
178
168
168
173
146
140
126
127
104
111
128
160
169
149
107
80
70
129
134
130
164
124
138
143
138
131
130
123
140
175
198
205
205
203
194
205
205
194
177
160
198
197
199
191
198
200
204
203
206
199
209
213
220
224
227
224
220
213
215
219
217
214
206
209
209
213
213
212
205
207
204
200
191
178
180
180
180
189
186
180
164
160
162
152
143
135
128
122
115
106
95
83
89
97
94
96
98
103
109
111
113
117
115
115
113
111
108
112
112
111
110
114
110
112
116
117
121
117
112
105
101
89
81
74
68
62
60
58
58
60
59
62
66
65
62
76
94
120
138
151
149
143
133
121
109
104
94
79
56
26
39
94
113
105
82
80
69
83
92
111
151
152
160
170
150
156
169
172
165
160
168
163
158
167
167
164
171
171
82
83
81
83
78
73
69
67
62
52
51
54
58
56
57
58
54
52
47
48
50
54
54
52
50
50
40
39
37
35
34
36
33
32
32
33
40
43
40
42
39
42
41
43
45
46
44
46
49
55
53
56
56
57
59
60
70
63
60
62
62
62
62
62
63
59
59
59
68
68
76
81
85
83
84
86
84
85
85
82
80
81
75
75
77
72
72
68
69
81
67
60
62
59
69
71
63
71
154
119
100
111
133
123
120
115
128
113
112
115
103
97
125
126
139
124
138
119
162
171
166
164
166
155
145
120
122
100
99
107
134
159
157
146
106
88
57
126
148
158
141
159
150
141
115
85
99
141
112
115
150
186
198
199
193
199
213
179
175
164
201
204
193
201
220
207
204
199
201
202
209
214
220
222
218
220
220
215
217
218
222
214
216
210
210
214
214
209
207
209
209
201
199
190
177
173
174
175
178
176
161
158
161
162
152
145
137
126
117
102
103
106
101
95
97
93
92
97
106
108
112
115
116
116
117
112
112
112
118
118
120
120
120
121
121
119
118
115
114
108
107
88
69
63
54
49
38
34
34
39
35
36
33
37
42
34
53
77
117
138
156
159
156
148
137
125
118
100
81
64
48
60
93
110
103
86
102
72
83
84
123
156
165
163
160
138
155
156
165
163
164
140
122
152
165
165
163
167
166
70
70
79
76
79
78
72
73
68
64
59
59
60
61
61
57
52
49
50
50
52
47
48
48
53
48
43
43
41
39
34
32
33
32
32
31
33
37
40
37
37
37
38
40
40
40
40
42
44
44
47
50
52
54
58
56
55
50
71
61
65
62
59
54
59
60
62
61
65
68
71
74
77
77
77
81
76
76
79
77
73
75
72
76
75
70
66
65
62
60
60
62
58
71
76
58
61
71
77
135
130
99
109
108
106
96
104
102
100
106
136
118
110
153
140
124
82
119
140
169
164
156
155
135
123
120
120
128
124
146
138
128
121
132
69
97
140
114
132
147
130
142
151
130
83
103
141
123
65
120
179
179
186
198
197
207
216
167
185
205
204
199
211
204
209
219
198
207
204
218
213
214
211
214
216
216
212
217
219
219
218
216
215
213
213
214
210
211
211
212
212
208
203
197
191
181
165
175
184
187
183
168
166
166
166
150
127
100
88
86
84
85
87
87
94
97
100
103
108
106
111
115
122
124
123
121
119
116
110
110
113
113
111
112
121
119
97
93
91
86
79
68
52
38
39
38
29
23
21
24
24
24
24
23
26
25
38
64
95
133
154
161
161
151
142
133
134
128
111
98
73
69
98
105
102
83
84
82
86
84
113
156
155
156
177
163
148
161
161
161
164
154
142
149
150
158
156
165
163
57
58
69
71
64
68
64
63
66
60
50
53
57
57
60
54
51
51
52
55
50
49
49
51
54
52
43
44
43
42
35
33
31
31
30
30
31
37
36
35
35
32
35
35
35
38
40
39
41
41
46
48
50
50
56
55
53
55
52
56
55
54
56
56
59
60
63
60
65
69
70
70
73
73
71
73
73
74
79
77
73
73
73
71
69
68
64
64
61
62
61
60
61
61
61
58
63
58
58
74
89
162
96
86
88
70
79
80
86
102
114
151
126
134
157
149
126
100
144
173
160
149
133
118
113
120
117
132
137
127
136
133
144
124
67
157
161
134
130
131
133
127
133
119
98
133
152
99
86
113
143
170
193
187
201
217
184
203
201
205
221
204
210
204
204
205
211
216
218
214
212
210
212
218
211
211
215
222
219
217
215
218
218
218
218
214
214
214
209
207
205
204
201
203
200
195
177
170
168
163
159
166
166
165
165
155
140
127
127
129
135
122
113
104
99
103
107
109
109
106
111
111
117
119
121
121
119
115
99
94
94
93
95
94
95
105
82
70
67
63
50
41
31
33
26
27
27
21
18
20
18
20
17
17
15
21
27
55
91
125
151
162
158
149
140
133
138
133
119
102
71
69
95
107
103
87
87
90
77
71
110
166
173
158
168
167
147
150
164
169
164
152
143
162
159
169
163
169
162
47
56
55
62
65
62
60
58
51
46
46
48
50
47
53
54
55
53
54
58
55
57
59
59
56
48
46
42
42
42
41
37
31
29
27
26
26
30
32
28
28
29
30
30
32
33
33
36
39
41
43
52
54
51
51
54
51
51
51
50
53
54
56
59
62
60
62
60
61
63
71
72
77
76
73
72
76
78
77
78
77
70
67
68
68
67
63
63
65
67
65
66
66
61
63
62
63
66
61
68
82
72
128
156
115
92
96
87
82
121
136
119
141
138
144
150
161
155
154
139
145
129
114
88
103
122
132
144
141
164
159
161
141
156
181
196
183
186
165
115
115
113
95
103
90
107
130
99
122
168
141
172
187
194
203
189
192
191
204
197
212
206
207
203
207
216
214
212
215
218
218
218
216
212
218
216
215
219
219
218
220
220
220
220
218
214
210
211
208
189
188
191
202
204
201
198
198
192
192
186
176
177
171
154
134
122
122
126
133
134
131
129
123
119
122
120
115
111
106
105
107
111
110
112
103
98
98
95
85
81
74
68
66
63
67
68
62
51
47
45
43
36
28
25
26
27
24
22
22
24
24
29
20
15
15
14
12
35
73
109
141
160
161
155
142
136
144
137
122
101
79
77
102
113
105
90
97
99
90
65
116
158
170
176
170
162
170
174
159
172
166
165
147
152
165
166
168
175
172
41
42
51
51
56
58
42
36
33
37
42
43
40
40
48
50
49
50
50
52
58
58
55
52
49
50
50
43
43
40
39
35
28
26
25
20
20
22
25
24
24
24
22
24
30
31
32
33
39
39
46
51
51
53
53
53
52
50
49
52
53
54
55
54
55
57
58
58
59
58
63
68
70
71
70
72
74
76
72
74
73
76
74
69
70
64
63
66
65
67
68
68
67
64
63
64
61
61
62
61
64
65
77
100
157
125
123
118
125
101
127
150
155
157
138
147
137
164
162
149
115
101
101
111
129
152
140
142
162
171
130
86
115
159
176
165
179
180
190
124
87
93
108
111
88
118
126
141
138
145
139
179
168
206
168
191
181
218
200
203
200
203
203
205
217
211
209
212
216
220
214
213
216
211
205
207
211
218
220
218
220
223
222
223
213
213
211
206
205
204
204
207
205
201
199
201
199
194
192
186
184
169
155
135
145
156
142
143
138
137
139
123
122
124
127
122
116
114
115
114
113
109
105
103
96
89
83
75
65
69
66
58
57
59
58
53
55
48
48
47
41
36
35
37
30
34
35
36
39
37
32
40
20
15
17
28
19
32
64
103
133
159
165
158
144
141
146
140
124
105
89
89
116
119
101
89
85
71
136
71
124
163
168
160
165
165
180
173
174
179
165
158
152
144
159
167
180
180
165
11
9
12
23
24
24
26
28
36
37
40
41
38
38
41
43
43
47
46
48
51
47
45
43
49
47
44
44
42
36
33
31
27
23
20
18
16
17
20
20
22
23
25
25
28
32
33
37
42
44
47
48
48
51
52
52
51
50
48
49
51
50
50
50
50
51
53
55
56
56
59
62
67
69
70
69
71
71
69
69
73
74
71
72
69
70
80
78
77
76
81
79
73
65
63
64
61
61
62
62
67
67
77
85
117
125
137
151
132
118
99
106
141
156
135
146
143
111
109
137
113
93
98
132
133
121
113
144
165
177
91
0
178
175
61
91
101
121
164
138
113
109
106
99
108
121
120
128
163
150
152
149
223
171
182
182
184
222
192
191
199
205
201
206
211
218
209
211
208
209
210
213
214
217
217
216
218
217
219
219
221
221
220
215
211
213
211
204
207
209
207
207
206
205
203
206
204
199
193
193
193
188
183
178
176
170
173
166
164
154
140
127
128
135
131
130
118
119
115
122
124
125
110
101
94
87
87
82
83
88
84
91
89
79
76
71
68
58
61
66
72
70
78
83
83
77
68
70
51
50
49
34
46
50
37
27
42
103
95
125
138
158
166
162
170
180
192
178
174
170
155
130
142
180
136
97
80
55
86
71
124
157
150
160
163
160
153
144
155
169
174
167
151
168
161
162
176
174
168
0
0
0
7
16
23
21
27
32
32
36
37
38
38
34
37
39
38
38
41
41
45
45
44
47
45
43
42
38
32
28
26
24
21
20
18
15
16
16
16
18
21
20
22
23
28
29
35
38
40
42
45
47
49
51
51
53
50
50
46
48
42
47
49
46
50
51
53
54
57
56
57
58
60
61
66
67
71
77
82
69
65
69
73
66
66
68
63
62
60
63
63
64
67
67
65
64
62
83
79
65
64
77
85
81
94
121
109
61
61
80
105
110
118
137
132
127
128
93
88
105
123
111
138
124
107
91
148
162
143
80
25
174
191
135
99
55
27
78
170
168
86
119
90
107
88
95
143
194
187
152
204
192
159
172
172
173
174
184
204
194
194
208
204
202
203
205
220
209
210
211
215
215
213
213
213
217
217
217
217
219
219
214
208
211
207
207
206
201
187
185
187
193
191
194
193
191
189
179
177
177
179
181
180
174
163
152
155
123
105
125
138
142
143
141
143
134
134
139
150
149
147
143
143
146
150
143
144
144
157
148
136
126
117
106
100
95
114
125
129
123
129
157
139
140
117
123
110
99
75
103
105
106
82
76
107
174
186
189
198
206
189
194
208
223
227
224
223
224
226
222
221
219
210
203
197
178
110
103
88
134
156
163
158
165
150
155
158
168
164
175
169
150
148
165
173
183
169
161
0
0
1
6
2
9
19
23
28
23
26
29
31
31
32
33
35
35
35
35
37
40
40
41
44
42
40
39
37
32
26
23
15
14
12
10
13
13
15
15
17
18
18
19
23
27
31
34
37
39
43
42
46
51
51
51
53
51
49
44
44
42
42
45
45
48
48
47
46
46
50
57
53
55
57
56
60
61
59
66
65
65
66
65
66
66
65
62
64
62
61
63
67
66
66
66
65
65
62
61
62
67
74
82
77
122
139
150
113
82
84
77
94
129
135
104
90
79
92
108
130
113
148
147
167
145
124
134
159
148
1
25
133
182
26
62
55
52
65
155
159
82
96
81
118
74
108
134
155
177
186
207
191
188
201
177
174
200
178
200
185
187
201
194
194
200
202
201
204
204
207
206
206
208
211
213
213
214
214
216
214
212
207
213
206
204
197
198
201
207
211
210
205
202
199
195
189
189
191
187
174
163
159
150
134
143
153
133
106
121
144
142
147
146
151
143
149
159
165
166
172
172
184
191
187
180
185
182
174
168
159
149
138
116
100
100
123
145
159
160
183
185
181
177
168
176
182
147
145
180
187
183
180
182
192
205
213
218
219
221
221
223
226
230
228
228
227
227
227
226
227
229
223
218
220
220
199
164
136
114
140
152
168
163
161
165
167
175
150
168
180
183
165
159
171
161
163
162
159
2
2
1
2
0
1
0
5
14
17
19
20
18
20
27
28
28
25
29
29
31
37
39
40
42
40
36
34
28
25
23
17
14
14
12
10
13
13
15
16
18
20
21
21
23
27
27
31
32
37
40
40
42
49
51
52
53
51
49
47
50
45
44
41
43
44
42
40
41
46
48
50
54
54
57
60
62
61
62
63
61
63
62
63
62
62
64
62
63
64
62
62
64
65
65
65
65
65
64
61
56
58
61
64
88
114
125
128
149
135
119
105
108
97
85
84
98
128
116
85
90
111
144
130
158
174
170
163
158
148
4
5
105
94
45
68
81
89
51
126
164
128
103
97
115
112
134
131
151
190
178
193
198
207
185
188
166
173
162
204
166
172
178
182
185
185
191
193
197
198
199
200
200
201
208
208
209
207
207
207
208
215
212
208
200
192
193
192
193
192
194
197
203
203
204
200
197
189
191
184
179
170
162
157
146
149
141
135
115
140
148
149
148
155
152
163
169
176
179
183
185
190
195
189
176
176
176
175
166
158
141
118
88
71
71
85
122
160
172
179
184
184
183
184
188
189
186
185
203
206
206
205
216
217
217
219
220
223
225
225
223
225
230
229
229
229
227
223
223
225
226
228
225
223
212
199
203
211
208
195
160
154
171
163
166
170
158
162
154
161
172
182
176
182
171
171
167
161
161
4
4
0
0
0
0
1
0
1
6
9
15
14
18
19
21
21
22
25
27
30
30
32
34
31
31
29
28
25
23
19
17
13
12
10
8
12
12
15
15
17
19
21
24
29
28
29
33
31
35
42
43
43
48
49
49
45
45
46
47
48
46
44
40
39
42
44
44
44
43
45
49
53
55
56
59
62
61
58
58
59
63
63
61
61
63
64
62
62
61
60
58
57
61
59
61
59
59
59
58
58
56
61
76
88
115
106
94
91
88
84
99
82
63
49
51
45
25
77
118
62
103
129
105
108
108
118
138
157
144
83
0
46
96
64
61
60
86
78
133
178
161
99
95
145
131
130
97
159
189
179
195
195
188
195
191
190
146
157
154
187
194
172
172
180
181
186
192
193
189
193
196
199
203
198
200
199
200
204
209
213
209
206
199
184
184
188
188
184
195
195
191
186
181
182
186
184
182
180
169
158
153
141
138
149
155
144
130
131
151
153
157
156
165
166
174
178
180
185
191
191
185
174
170
164
174
176
168
150
143
110
91
65
46
64
98
135
163
173
177
182
182
181
178
178
181
189
193
195
202
209
215
218
220
220
223
225
225
225
225
229
231
227
229
230
230
231
230
230
229
223
216
208
216
221
220
210
208
215
209
172
159
167
146
158
165
169
162
162
161
181
179
173
174
178
176
172
161
161
6
4
1
2
2
0
3
0
0
0
0
3
2
4
7
15
22
22
21
23
25
26
28
30
26
24
23
23
21
16
17
17
15
13
11
9
13
13
17
15
18
20
23
26
31
30
32
35
33
35
38
39
41
43
46
46
41
43
45
45
43
43
44
40
42
43
44
44
42
43
45
46
47
49
49
49
55
56
54
56
58
59
59
57
57
59
61
62
60
59
57
58
55
53
53
53
52
54
57
57
56
54
60
60
86
114
108
76
65
46
16
14
24
24
37
67
37
62
24
38
44
85
102
95
96
80
80
60
66
115
145
124
3
26
19
37
18
11
80
163
184
164
107
137
165
130
141
140
144
191
172
193
196
189
194
181
208
154
148
158
156
163
164
173
178
180
184
187
190
191
190
191
196
201
196
194
199
196
190
196
197
195
197
193
194
200
206
208
208
209
206
204
203
203
205
213
211
205
191
183
169
156
164
165
150
149
149
140
150
159
156
159
161
169
170
173
173
175
174
169
159
144
144
143
161
164
162
153
141
117
80
60
40
34
79
128
154
159
167
175
186
188
182
168
166
173
180
184
193
201
209
214
218
218
219
223
220
223
223
225
225
225
225
227
232
234
234
228
228
224
217
224
224
218
216
215
207
207
218
198
163
143
165
160
165
165
160
182
157
152
176
178
156
164
175
180
183
164
151
4
4
5
3
2
0
0
1
0
0
1
0
0
0
0
5
10
15
15
17
19
23
25
28
24
24
21
20
18
15
16
16
15
13
12
16
15
15
15
21
21
20
24
26
26
26
28
30
30
30
33
32
36
41
40
43
41
43
43
39
40
41
42
40
37
41
40
39
40
39
42
44
42
46
49
48
52
54
55
53
54
54
61
60
55
55
55
54
55
57
54
52
48
49
45
44
46
45
44
47
49
53
56
66
103
127
116
97
81
85
100
98
89
104
90
83
105
87
64
33
46
87
145
142
151
144
134
130
123
110
147
170
150
40
69
70
103
129
77
105
109
160
148
126
136
150
177
148
177
180
191
188
177
181
178
189
188
174
154
151
156
164
169
169
176
185
171
177
175
175
181
188
193
188
185
186
192
196
194
190
191
184
195
199
200
203
204
206
206
202
208
210
205
203
201
197
195
186
171
168
157
155
157
156
158
160
154
150
158
152
149
151
151
154
156
161
157
154
146
147
144
134
116
134
146
140
146
133
77
53
32
25
18
67
110
132
151
163
171
177
175
173
164
166
165
169
178
176
185
201
211
217
221
221
220
222
222
222
220
220
221
223
225
227
227
229
228
225
223
221
218
219
195
209
209
208
217
208
191
124
91
123
162
166
164
164
160
171
160
159
177
178
173
170
179
179
168
164
156
2
2
4
2
0
0
2
2
1
2
3
1
0
0
0
0
3
6
6
10
13
19
21
24
20
20
20
19
17
14
17
20
18
15
16
19
21
21
21
25
25
26
25
25
24
24
24
26
26
26
26
27
29
34
36
39
36
40
36
36
34
37
45
41
38
38
38
35
36
36
39
40
44
45
47
47
51
54
52
52
53
58
60
60
56
54
51
53
52
53
49
50
46
47
45
44
42
48
45
45
49
51
65
85
107
122
112
102
70
80
60
54
56
49
48
84
71
81
75
87
52
40
74
117
151
173
171
182
168
155
167
200
210
221
212
162
143
123
90
86
78
73
72
117
134
150
165
195
182
180
180
173
186
173
180
165
164
185
177
173
166
163
166
166
175
177
181
179
182
184
188
195
183
176
187
192
196
197
199
207
207
205
201
187
193
198
199
199
199
200
200
205
204
202
196
191
182
174
167
149
147
146
146
151
156
156
155
152
147
149
143
143
147
147
143
145
134
134
122
101
85
83
98
91
115
145
141
67
42
32
23
19
29
78
126
142
165
165
168
170
170
163
156
168
169
169
168
169
182
200
210
215
215
216
217
218
218
218
220
222
219
217
219
221
222
224
223
220
215
217
217
216
191
210
207
211
202
192
160
77
79
103
171
161
167
158
169
167
164
169
166
179
171
181
174
174
154
160
158
16
8
8
5
3
5
0
0
0
0
0
0
0
0
1
2
2
3
5
7
9
12
14
17
22
23
21
20
21
18
22
22
21
19
21
24
26
26
26
27
27
27
26
26
26
25
25
25
23
23
25
28
27
25
26
30
34
36
39
35
35
37
40
41
41
39
39
37
38
39
39
42
43
45
50
48
54
54
60
60
59
58
58
58
56
54
54
51
51
49
49
45
45
45
43
45
45
44
44
40
42
43
49
82
108
121
115
111
99
84
70
58
53
62
79
83
79
82
75
90
113
137
151
155
154
182
183
188
181
185
197
212
211
220
215
216
197
187
167
122
124
143
128
136
129
157
138
126
166
179
166
167
142
151
136
127
144
167
182
185
168
164
165
172
171
172
170
169
171
171
177
176
180
197
192
184
181
192
197
202
209
209
207
210
201
195
198
200
201
203
204
195
188
187
185
184
176
162
163
168
164
159
157
153
155
155
151
151
151
145
130
127
129
128
114
109
97
78
75
88
109
128
143
146
146
121
84
39
19
8
16
21
61
111
141
148
148
153
159
163
163
158
156
156
149
144
150
159
175
196
206
215
214
214
214
211
209
209
208
213
213
214
216
216
217
219
220
217
220
220
215
219
214
209
209
205
197
178
130
82
112
103
161
160
162
168
161
174
162
157
168
169
175
168
156
160
158
164
161
22
18
12
11
8
6
0
0
0
0
2
0
0
0
0
2
2
3
3
5
7
13
15
18
21
21
21
21
21
19
21
21
24
23
24
26
26
28
28
29
29
26
26
26
26
25
25
25
23
23
23
24
24
20
21
25
28
29
31
34
36
36
37
38
38
36
40
39
38
38
38
41
45
49
50
51
54
58
59
59
59
59
59
60
54
53
52
53
53
50
47
43
41
43
43
47
44
43
41
41
41
44
40
63
100
117
107
93
86
92
88
101
93
136
138
150
175
189
186
171
156
181
198
200
203
210
211
199
194
184
200
207
209
204
206
206
206
214
207
196
192
185
168
157
154
149
145
68
99
155
152
137
104
134
111
112
133
162
156
168
161
161
158
164
170
165
173
171
176
183
179
184
187
185
184
189
194
194
195
200
204
206
209
212
207
207
199
195
199
197
205
205
205
199
186
166
150
148
156
162
166
160
164
163
156
144
140
148
149
141
105
97
98
76
74
84
87
92
112
148
149
142
134
116
91
52
30
16
22
22
24
46
80
115
127
125
138
146
149
154
161
158
154
164
156
139
134
143
164
192
200
207
205
208
206
205
205
200
196
201
201
203
206
207
211
214
215
216
215
216
225
222
215
209
209
201
191
153
157
136
88
77
143
157
154
165
151
171
160
152
155
156
166
166
168
165
159
163
159
23
19
16
15
14
10
8
5
0
4
0
0
1
1
1
0
0
1
5
11
13
17
19
20
20
19
20
23
23
24
21
23
26
24
25
26
30
30
32
30
28
28
28
26
26
25
25
25
24
22
22
18
18
22
23
23
26
30
32
31
30
33
34
34
33
33
32
36
34
37
39
40
46
48
48
52
54
54
59
59
59
59
59
58
56
54
55
52
49
50
48
44
40
40
39
39
39
41
40
35
37
49
49
62
95
113
114
109
92
81
64
72
84
75
99
105
103
96
125
156
180
184
199
213
217
217
210
217
215
221
226
224
225
213
204
202
197
188
203
205
195
191
191
207
198
201
142
130
36
54
139
140
134
134
106
118
126
121
139
157
166
148
151
160
163
163
159
161
161
177
186
186
181
188
193
187
187
196
198
200
206
204
195
204
209
209
208
200
198
191
191
196
203
199
183
169
143
134
131
142
155
154
152
153
142
137
146
134
119
91
62
57
54
57
64
66
85
122
143
147
141
125
106
97
71
49
30
20
17
14
27
42
78
111
129
137
145
149
144
144
150
157
158
152
151
151
149
149
161
180
198
202
201
207
202
195
193
187
186
187
182
189
193
199
207
207
215
216
219
222
218
214
207
193
184
183
170
165
148
123
48
75
153
164
158
167
156
162
158
155
161
172
171
172
173
174
158
160
155
24
22
19
20
19
16
15
10
5
11
8
5
1
1
0
0
2
2
5
12
11
15
17
17
16
16
20
21
24
25
26
28
29
25
27
27
24
25
27
26
28
28
25
25
24
18
18
17
20
20
19
17
17
19
17
19
22
25
31
31
31
31
29
33
33
34
33
35
34
35
37
40
45
45
48
52
54
55
58
60
61
58
58
56
51
51
50
54
52
48
45
42
39
38
37
38
32
32
32
34
33
42
62
88
117
100
80
67
70
80
88
86
96
82
110
92
100
108
94
106
139
120
166
185
216
223
225
225
230
235
232
232
231
239
227
231
225
216
208
215
213
238
222
218
217
201
134
78
68
82
24
104
105
84
77
109
126
133
122
125
141
138
141
150
154
153
163
155
150
143
144
167
169
180
183
178
183
180
187
195
199
207
204
204
202
204
205
207
201
199
182
185
187
182
167
153
150
147
139
127
105
125
137
157
145
139
113
95
91
91
81
48
41
40
34
38
66
107
124
125
121
115
106
85
64
35
22
29
22
24
33
52
78
111
125
120
126
126
125
117
112
118
125
132
139
143
144
148
157
175
186
187
192
190
187
176
163
156
159
160
158
166
176
182
186
194
200
207
217
212
192
197
190
189
184
183
181
185
164
108
64
70
165
155
156
162
155
166
170
158
156
168
164
169
170
161
164
156
164
25
25
24
22
21
17
18
15
12
15
12
8
6
4
2
0
3
2
3
10
10
13
13
13
12
14
17
21
22
22
24
26
27
25
25
26
26
26
27
28
28
26
26
26
24
22
22
20
21
21
22
19
19
21
16
19
25
24
28
30
31
33
29
30
30
32
30
32
33
35
37
40
47
47
48
52
54
57
58
60
60
60
58
56
53
51
51
51
49
46
44
40
37
37
35
35
32
32
36
39
56
52
69
75
108
109
96
106
85
70
37
27
28
62
68
101
97
61
30
42
58
58
102
155
177
200
208
217
217
219
217
219
220
222
222
221
217
222
235
227
234
223
225
222
228
204
150
86
60
14
41
82
53
53
81
122
113
117
101
140
141
140
142
123
136
150
152
163
158
164
150
149
139
146
163
155
159
172
184
189
185
194
201
205
205
201
200
200
202
201
194
187
177
162
152
159
156
148
145
141
106
116
112
110
124
123
108
128
120
64
47
33
23
31
49
67
63
96
105
112
111
93
101
100
75
52
36
32
25
25
35
56
74
97
118
124
126
124
121
117
116
118
138
125
129
131
140
140
134
153
158
172
185
172
162
149
136
121
118
106
106
113
132
159
163
169
176
189
212
212
198
196
190
191
186
184
186
168
133
64
56
81
160
154
155
169
163
153
158
176
178
167
164
171
176
157
147
159
167
22
23
24
22
22
22
24
22
19
16
16
15
10
8
6
6
4
2
5
5
4
8
11
9
10
11
14
18
16
19
20
22
25
23
23
29
27
27
30
27
27
26
28
26
24
25
25
25
23
23
23
21
20
19
23
22
23
22
24
29
31
31
31
30
28
29
35
34
31
35
36
38
40
46
49
50
52
54
59
59
60
59
60
54
51
49
45
48
46
45
42
40
37
34
33
31
32
33
31
34
37
50
74
81
99
117
117
128
111
84
94
52
43
24
54
37
19
37
25
79
95
149
158
174
177
182
171
174
171
174
195
202
208
204
206
212
212
218
225
223
216
223
229
217
193
169
136
103
0
65
204
165
168
136
70
132
117
125
117
140
156
138
133
135
125
131
145
148
163
158
172
154
160
151
159
159
157
162
178
179
186
190
192
192
189
183
192
194
187
187
188
187
174
147
113
125
150
144
136
142
112
119
131
115
127
130
101
113
102
54
30
18
18
35
61
93
63
77
97
97
84
76
73
78
78
72
72
69
36
25
25
31
63
103
111
109
102
115
111
112
111
114
107
121
124
139
118
129
115
124
136
146
153
146
132
113
89
66
40
22
20
33
61
104
137
144
149
184
219
215
206
203
198
188
189
170
159
115
112
107
68
91
147
134
161
155
157
174
152
160
166
155
169
171
168
141
137
169
167
23
23
26
22
23
23
23
23
20
16
18
17
13
12
8
7
3
1
3
3
0
5
5
8
7
9
11
14
17
17
16
18
18
18
23
21
22
22
23
24
27
26
29
27
27
26
24
23
20
17
23
22
21
20
23
25
27
23
23
30
31
31
30
31
29
29
37
37
32
31
33
37
38
42
45
48
50
52
54
54
56
55
55
53
49
47
43
43
43
40
39
37
33
34
32
30
28
31
29
35
41
47
73
112
141
135
124
121
99
87
100
96
76
74
43
23
31
35
27
72
95
98
113
121
139
112
132
125
150
177
187
192
182
195
163
152
131
126
163
212
216
199
195
194
168
142
115
49
152
206
208
178
173
151
103
126
107
92
126
138
130
134
137
135
130
127
142
140
142
150
152
164
155
152
157
165
166
154
163
171
167
177
178
184
188
190
167
166
175
176
173
165
170
165
148
105
115
132
123
119
133
103
120
133
127
123
104
101
98
53
19
14
27
47
74
92
96
90
73
87
86
56
73
94
81
61
62
70
48
45
38
37
54
86
98
105
99
100
106
102
117
110
94
114
103
111
116
112
113
84
71
62
68
63
71
50
50
35
34
24
17
13
41
78
124
140
157
182
210
211
207
198
200
183
187
174
165
156
138
94
44
107
152
124
147
163
166
164
173
163
157
139
171
168
167
162
158
169
169
23
21
23
26
25
25
22
21
20
19
17
14
17
13
11
5
2
0
0
1
0
0
0
0
3
4
5
4
8
9
14
16
18
14
14
15
23
23
23
26
24
24
25
23
25
25
23
19
19
23
21
27
27
26
24
27
24
27
29
33
32
32
32
32
32
30
34
37
33
32
32
31
37
41
44
44
46
49
52
52
49
50
49
48
45
43
37
36
34
34
31
33
35
28
28
32
34
36
35
36
45
55
68
114
159
129
109
90
80
94
106
108
113
105
100
62
73
79
87
104
122
111
103
51
75
90
84
147
159
155
101
0
22
24
11
15
108
61
107
122
173
204
232
202
178
70
92
131
189
212
209
182
178
145
88
110
126
123
142
133
137
142
135
146
126
112
132
145
122
139
133
138
135
131
138
159
164
159
154
150
172
166
159
162
173
166
170
163
151
153
153
148
135
129
144
159
120
125
137
105
120
123
99
133
135
119
121
110
81
33
36
19
48
55
89
98
105
109
110
54
79
62
58
79
88
81
58
58
58
47
46
56
55
80
107
94
105
107
94
107
95
101
90
85
84
86
88
82
66
68
55
39
26
26
19
38
17
8
9
1
0
0
4
46
90
128
153
153
160
203
207
186
183
169
159
148
108
126
95
46
18
128
126
151
167
161
167
173
188
163
175
174
178
173
156
158
162
165
169
16
17
22
23
23
25
22
21
22
23
19
18
16
12
10
8
6
1
1
1
2
0
0
0
0
2
1
4
6
6
10
11
15
14
14
15
21
21
21
23
21
20
24
24
21
23
22
19
18
21
24
23
24
24
22
24
28
31
32
36
35
33
33
32
32
31
33
32
30
29
29
28
34
36
40
41
41
45
45
45
44
44
40
39
38
36
32
30
28
28
27
28
31
28
29
32
40
49
45
46
62
66
126
181
197
166
159
132
122
101
104
124
118
116
75
96
86
147
95
107
136
142
143
156
171
170
161
159
121
4
51
165
72
41
29
24
69
140
149
145
170
149
208
220
187
148
118
132
144
174
205
197
173
149
93
114
123
122
126
129
129
133
136
140
143
112
108
137
145
120
127
134
140
125
127
131
146
156
137
149
149
151
143
133
148
137
141
146
147
140
140
146
124
127
116
115
130
124
140
133
94
124
128
116
124
125
115
115
98
37
24
37
40
63
85
97
100
114
116
95
71
82
64
74
89
99
82
67
67
69
77
80
73
80
103
105
96
104
106
90
92
87
85
84
82
78
70
68
70
51
43
41
23
20
14
15
16
3
1
0
1
1
0
18
66
111
133
124
133
169
201
197
180
169
150
137
135
115
93
71
44
119
140
171
163
168
163
171
161
162
168
171
176
170
166
169
170
168
170
10
14
20
21
24
30
24
23
23
18
18
20
18
16
13
10
8
4
0
0
0
0
0
0
0
0
0
2
4
6
4
8
12
16
16
18
18
18
23
24
22
23
24
26
24
23
23
18
21
25
25
24
24
20
26
28
29
31
33
31
33
33
34
31
29
30
31
29
25
23
23
24
28
30
33
35
36
37
38
37
35
35
33
30
27
27
23
25
23
23
26
26
27
23
28
33
37
29
35
41
136
194
134
121
105
134
115
101
121
134
122
112
104
130
134
79
66
88
89
102
125
160
155
141
151
149
174
129
12
13
138
185
33
74
60
44
81
160
171
173
144
166
178
197
209
157
147
123
167
171
207
181
174
155
141
124
130
120
117
125
124
126
136
138
141
137
86
117
145
125
121
126
129
136
118
117
128
144
114
134
132
121
114
126
123
110
101
125
134
136
129
117
125
120
129
103
106
117
134
118
117
79
109
125
123
119
116
105
109
70
36
45
44
57
88
97
99
100
124
115
99
93
97
89
98
109
114
108
111
111
129
139
125
109
106
101
101
112
110
101
98
98
89
82
74
62
60
61
57
55
38
25
24
20
13
5
0
0
0
0
4
7
17
22
61
104
129
131
130
130
150
171
177
162
150
141
136
124
113
77
61
131
141
152
155
168
171
175
163
159
163
173
173
178
172
174
170
169
171
11
13
16
19
21
23
20
20
23
19
19
18
17
15
12
11
9
6
5
3
2
2
0
3
1
2
0
2
2
3
5
8
12
11
13
14
15
15
18
20
18
17
21
21
20
18
18
18
19
24
25
25
25
26
28
30
30
32
32
31
32
32
31
28
28
28
27
27
27
21
20
21
21
23
29
30
31
33
36
36
32
30
31
29
24
23
21
24
24
21
21
23
25
27
30
44
45
50
152
170
135
130
138
114
99
87
86
126
145
141
118
124
159
86
91
151
64
60
68
79
112
101
101
105
105
144
159
15
2
59
49
15
28
37
39
59
67
121
179
133
100
156
144
179
201
189
155
180
198
198
198
181
174
144
127
136
118
120
125
127
131
133
130
128
134
143
114
101
133
124
117
117
122
112
111
101
118
121
123
106
112
104
90
113
124
101
96
99
116
121
120
121
104
112
107
118
100
104
122
118
113
109
82
119
128
121
112
116
89
77
69
55
45
57
87
86
93
98
104
125
122
100
106
108
97
102
122
131
130
143
154
155
150
131
122
114
110
113
112
104
110
107
101
83
70
61
60
56
52
51
39
24
21
17
10
4
0
0
0
2
11
9
17
19
54
91
122
127
119
115
116
121
141
149
148
142
146
138
113
80
72
133
165
145
151
150
175
175
168
157
166
168
171
168
162
163
172
164
163
4
8
8
16
18
19
19
19
20
18
18
17
17
17
16
9
9
7
7
5
0
3
0
0
0
2
2
3
5
3
11
12
12
13
15
15
19
17
16
15
17
20
20
20
18
16
20
20
24
24
22
25
24
23
24
30
33
29
30
33
30
28
30
29
29
28
25
23
22
17
14
15
18
18
20
17
21
27
30
30
31
31
29
28
24
24
25
21
21
20
11
23
32
38
35
46
179
160
142
139
115
125
115
110
93
106
122
129
126
139
126
91
83
147
126
90
92
51
72
75
85
98
111
78
115
132
125
111
0
45
158
199
75
59
61
22
89
137
158
69
91
98
120
154
150
190
202
203
196
200
194
164
165
167
131
138
127
124
109
138
141
141
138
132
128
134
134
107
96
105
96
98
105
103
99
91
94
108
111
90
95
96
76
95
106
116
84
99
93
120
85
109
107
95
70
102
103
102
101
112
98
110
104
99
118
117
113
120
104
71
72
56
69
70
77
75
75
86
95
100
129
118
117
125
135
138
140
144
159
167
159
163
151
132
119
117
114
118
111
112
107
110
102
81
61
51
52
48
44
42
30
19
16
14
5
1
0
0
2
6
8
12
17
23
46
80
116
133
121
111
107
102
116
116
120
116
110
111
97
88
102
153
144
147
160
182
166
169
163
155
159
156
164
166
161
157
164
164
154
3
8
7
12
16
16
18
18
17
17
14
15
13
15
18
14
16
16
19
18
12
8
3
0
5
5
6
11
11
11
12
10
11
11
11
12
16
14
13
14
16
20
20
20
18
11
16
17
23
20
25
25
24
26
28
32
37
32
39
32
31
27
29
28
28
27
25
21
22
19
14
16
14
14
14
14
18
23
26
27
29
30
26
25
26
26
26
22
21
22
23
19
25
48
149
177
156
106
100
121
124
109
94
104
91
76
96
78
168
118
84
110
82
112
133
120
100
81
58
60
76
93
106
101
96
130
130
59
39
46
77
110
93
65
39
71
119
121
114
64
98
69
108
127
124
154
162
175
169
179
150
188
156
134
124
159
132
142
122
124
138
138
136
132
116
124
122
117
105
100
68
100
96
102
96
87
79
84
98
103
75
96
92
86
91
109
88
95
93
99
95
103
106
98
78
79
103
85
104
103
98
96
103
95
102
104
95
105
114
75
82
68
44
42
50
49
52
61
80
109
120
135
139
140
156
157
156
151
160
163
155
153
136
126
117
117
117
122
117
115
112
102
84
64
60
55
43
43
47
39
26
11
8
7
1
3
1
1
7
11
8
12
17
24
41
71
110
129
121
109
102
102
109
117
122
118
108
98
103
79
94
148
152
167
164
141
164
163
164
161
164
165
168
166
174
170
158
167
172
6
6
6
7
9
13
18
18
16
12
14
16
16
15
22
24
24
22
21
17
15
13
15
11
15
13
14
18
15
17
20
18
16
16
16
15
14
14
12
16
16
16
16
16
16
14
15
20
26
18
26
28
30
32
31
37
40
45
43
42
40
33
29
23
25
26
22
20
21
14
14
15
14
14
13
16
20
21
22
23
25
25
25
25
25
25
26
21
23
18
38
31
146
165
164
142
134
91
121
127
124
155
100
90
94
89
85
84
59
147
111
74
48
140
140
140
94
76
85
71
78
75
88
104
103
107
138
100
45
86
101
123
131
95
104
141
125
90
83
68
62
68
64
70
92
126
113
105
125
153
154
126
185
143
137
123
144
162
121
113
128
153
134
128
119
104
115
99
97
93
83
93
106
101
95
79
89
91
79
89
85
89
96
81
83
88
99
98
81
111
85
96
97
97
75
74
91
87
94
94
82
61
94
69
84
80
69
73
87
74
57
61
49
49
40
42
41
46
60
75
111
134
137
147
150
154
152
151
146
138
133
124
110
101
106
108
108
113
115
108
87
64
56
55
53
45
43
44
37
19
10
6
5
5
5
0
0
0
8
10
12
14
18
23
33
57
100
131
119
113
108
104
101
114
127
120
108
102
102
85
112
152
156
157
154
153
171
167
164
172
175
179
170
173
170
159
165
165
159
3
3
1
3
7
7
11
9
11
7
10
12
15
16
22
25
25
23
23
21
21
22
24
22
24
24
19
21
19
21
22
20
18
17
15
13
16
16
16
16
16
14
15
14
14
12
12
17
22
17
27
26
29
31
36
40
42
45
45
46
43
38
30
27
28
27
23
23
21
14
13
14
14
14
15
17
21
21
23
25
24
26
26
26
29
29
28
21
17
43
151
192
150
154
123
119
133
126
130
116
150
128
92
112
119
161
92
74
109
86
113
108
118
131
131
111
103
99
93
78
74
67
92
90
92
114
118
91
85
89
108
141
149
159
148
114
82
61
70
49
66
53
50
71
111
82
90
82
164
158
114
120
143
181
137
118
122
124
158
154
119
119
126
109
106
102
119
91
93
87
92
87
91
95
102
83
95
92
91
80
71
82
82
95
78
93
93
106
81
96
85
88
82
86
72
64
74
70
77
86
71
61
69
68
62
62
56
48
51
65
51
44
37
32
40
39
38
31
43
50
61
97
116
123
126
123
122
119
96
85
81
78
82
91
94
86
83
71
69
58
52
40
42
41
39
40
35
32
24
7
7
5
4
2
1
0
4
2
3
5
9
11
15
20
27
53
98
127
120
112
104
104
103
109
117
115
109
105
104
98
121
147
158
170
168
152
172
151
170
167
166
170
177
173
162
162
163
167
170
3
4
4
4
4
4
4
1
4
3
7
9
16
20
23
25
27
27
27
24
26
23
29
31
30
30
29
23
22
23
25
25
21
20
18
14
15
15
15
18
16
16
14
13
12
7
13
18
19
18
33
25
28
36
38
44
47
41
42
43
41
35
31
26
24
23
25
25
23
18
16
17
14
14
15
18
19
22
22
25
24
27
24
30
23
35
33
40
139
168
148
117
130
143
136
124
136
109
129
93
129
118
99
148
157
85
105
42
87
92
79
94
52
154
142
132
130
109
106
87
78
78
59
80
89
95
95
98
85
86
27
76
112
116
67
57
41
51
55
59
56
33
75
84
106
56
76
89
200
125
140
131
126
151
190
151
104
103
106
100
104
117
160
110
84
95
101
96
84
88
87
101
96
101
100
99
90
93
87
77
75
74
76
78
91
72
80
67
70
64
78
60
59
76
68
58
62
65
67
70
59
52
57
63
59
47
43
37
39
42
44
37
31
28
24
28
27
27
32
29
29
30
39
54
53
55
56
49
58
46
46
37
37
42
42
38
38
41
32
29
31
29
28
30
30
28
24
18
10
8
6
3
0
0
0
1
1
4
4
4
6
11
15
18
31
50
84
117
117
109
103
103
104
112
114
115
109
101
99
104
135
135
153
154
164
151
166
152
176
159
166
163
173
155
161
169
169
173
166
6
6
4
4
4
3
2
4
5
4
6
12
18
21
26
24
26
26
26
30
29
29
33
35
33
32
30
27
26
25
22
22
22
23
22
17
16
16
16
17
15
13
13
11
9
6
11
15
16
14
26
29
29
38
41
45
47
43
41
42
45
39
31
26
26
25
24
22
20
18
18
18
15
15
17
20
24
22
27
27
28
28
28
29
37
39
55
173
149
137
129
142
113
133
120
119
118
118
118
94
142
114
102
124
135
75
92
109
94
91
102
55
74
149
113
115
122
117
105
84
84
53
76
58
75
65
91
78
95
86
44
13
80
72
51
54
59
71
45
72
57
45
62
67
144
62
78
93
119
130
124
130
135
128
151
153
82
80
60
85
75
89
72
74
79
93
154
126
90
93
87
91
98
94
98
99
83
85
97
108
83
60
44
42
63
27
40
58
47
42
57
48
46
47
50
64
44
58
52
64
58
54
50
47
52
47
47
32
30
32
32
37
29
24
28
25
32
32
34
32
35
33
37
35
28
26
27
26
21
24
26
32
26
23
23
25
28
25
25
26
28
24
21
22
22
21
18
15
10
4
2
0
0
0
0
0
0
1
3
1
0
2
9
14
22
42
75
112
115
110
103
105
106
111
112
109
108
106
97
108
129
148
158
167
163
163
110
165
157
165
173
163
171
167
166
166
163
169
173
3
3
4
4
2
1
2
2
3
5
9
12
16
20
23
27
25
25
28
32
34
33
37
37
38
36
33
32
27
25
24
24
21
20
19
17
18
18
17
13
11
11
9
7
6
3
3
9
15
16
30
27
31
36
41
41
38
41
43
43
45
39
36
29
24
28
25
23
23
21
21
21
21
21
22
18
22
29
31
31
33
28
27
29
35
70
169
151
131
129
137
106
121
134
145
121
107
128
133
102
117
94
90
138
115
82
89
78
88
77
83
62
65
125
114
120
145
121
81
102
83
72
77
58
56
67
78
104
96
92
67
14
1
35
55
55
63
75
81
78
40
53
43
53
126
43
75
112
118
158
140
136
123
130
123
120
116
74
103
58
58
53
52
46
55
48
47
64
68
75
71
75
75
81
73
65
70
57
54
61
43
48
34
28
30
39
36
36
43
33
32
56
47
41
46
52
43
49
50
49
55
49
46
38
43
44
43
43
36
35
30
28
29
30
32
38
40
37
39
38
40
41
45
43
37
28
30
26
23
21
22
21
19
20
16
21
27
26
24
24
24
24
25
25
23
19
16
11
9
8
6
4
0
0
0
0
0
3
1
0
2
0
0
2
10
30
60
105
118
108
104
106
113
123
124
111
111
103
104
114
107
147
159
159
145
130
85
169
165
166
170
173
177
184
172
167
157
164
168
3
1
2
6
4
3
3
3
4
5
7
12
13
19
22
23
24
26
28
32
37
36
39
40
39
37
35
34
30
26
24
25
23
20
18
17
15
15
15
14
12
10
10
9
7
6
6
10
13
19
26
27
34
39
41
43
45
44
40
43
43
36
34
29
24
25
23
21
22
19
19
20
20
20
22
20
24
26
29
31
28
26
28
29
56
162
161
148
131
128
130
101
122
132
143
139
135
118
136
109
116
122
116
140
130
83
72
54
60
61
43
28
45
130
121
125
126
123
117
96
59
70
76
52
61
65
58
62
87
101
57
27
0
29
33
42
59
67
61
65
68
61
51
56
97
131
115
119
115
149
120
140
155
118
107
97
64
104
54
48
63
47
45
56
49
46
42
58
62
64
52
53
51
52
60
55
51
55
48
46
35
27
39
27
16
30
26
17
40
39
29
38
45
37
42
38
41
42
43
48
47
49
43
40
44
44
39
43
42
36
41
37
37
40
42
48
48
48
54
53
51
51
48
45
44
46
45
37
27
21
22
24
22
19
20
20
25
25
23
22
21
24
24
22
20
19
15
13
12
9
7
6
1
1
0
0
2
3
0
0
2
0
0
1
2
12
44
97
120
110
107
107
115
123
121
112
111
108
103
109
126
143
165
151
152
160
166
165
176
167
169
160
170
164
171
164
157
162
159
3
5
7
5
5
5
4
4
4
4
4
6
9
15
22
26
28
29
29
34
34
37
38
38
35
35
34
34
32
29
25
23
23
22
20
16
13
13
13
12
10
10
10
8
7
6
6
11
17
16
18
20
27
33
38
42
43
47
47
41
36
34
33
26
22
24
19
16
20
20
21
21
23
21
21
27
24
30
26
29
28
27
29
32
135
156
161
130
124
132
112
103
138
107
115
128
128
113
101
103
78
91
109
136
121
88
104
118
83
80
39
3
57
104
116
93
95
127
95
58
87
87
90
82
71
62
55
49
44
53
41
33
34
48
45
67
50
82
52
76
104
87
85
100
110
160
138
131
106
100
108
100
137
119
70
85
54
41
118
92
35
30
37
39
58
78
71
70
64
67
52
53
52
46
48
44
37
38
40
39
32
21
22
23
22
13
14
4
9
37
33
28
35
35
36
43
37
40
39
42
39
41
41
40
38
38
42
39
44
47
53
52
54
52
54
52
61
65
63
64
65
57
51
50
45
50
50
46
52
37
33
35
28
27
30
24
26
27
28
30
27
23
22
20
18
17
24
22
19
15
15
11
6
4
1
0
0
0
0
0
0
1
1
1
3
9
40
96
119
115
110
112
118
123
123
108
110
114
115
109
127
129
158
149
152
146
166
164
174
159
157
163
159
157
155
165
183
165
176
2
4
5
5
5
2
2
2
3
2
4
7
12
16
24
26
27
32
33
31
33
36
39
35
35
33
32
33
33
29
30
28
24
20
18
14
12
10
12
12
10
7
8
6
4
2
6
11
9
10
19
22
28
32
34
40
46
53
57
45
42
37
34
24
19
16
19
15
17
19
19
22
23
24
22
26
24
24
20
22
25
25
28
44
126
163
134
105
115
109
92
106
129
100
98
98
104
112
121
89
77
92
111
125
103
76
97
109
116
84
45
44
36
93
121
111
100
133
89
101
88
102
97
102
98
82
75
66
62
59
49
60
59
88
95
106
111
110
100
102
105
112
112
107
123
91
120
135
109
82
99
89
76
135
75
52
48
32
27
134
122
41
38
37
43
40
47
43
45
56
50
39
45
36
43
35
45
29
30
28
33
21
18
16
16
24
12
10
9
29
40
20
25
30
26
35
33
38
36
36
37
42
40
38
40
40
42
46
47
54
60
59
62
65
67
67
70
70
70
72
73
73
61
57
59
63
62
61
55
45
40
46
47
43
40
33
31
29
31
31
28
26
22
23
23
20
22
20
20
18
16
13
9
6
9
9
7
5
3
5
4
4
4
5
9
14
42
100
123
116
107
105
112
123
132
112
107
117
121
114
134
144
150
146
147
155
164
175
167
156
165
162
168
173
165
163
160
158
168
5
5
8
1
1
2
5
5
2
6
10
15
18
22
28
28
32
36
37
37
38
31
38
35
32
29
30
30
30
26
29
25
19
18
14
8
12
12
11
12
10
9
8
6
3
2
3
6
8
11
19
24
25
31
34
34
37
37
35
31
24
23
19
21
16
18
15
16
18
15
18
23
22
26
24
25
26
24
17
19
19
28
24
46
115
159
147
110
104
111
91
111
112
112
101
101
104
110
104
106
92
106
105
138
123
95
95
95
107
81
79
79
98
115
112
110
113
119
105
92
91
108
120
125
125
125
108
92
72
88
61
59
55
86
82
121
109
95
101
92
100
110
102
115
115
77
70
60
89
63
57
58
67
51
90
44
30
31
31
32
48
85
105
45
36
50
38
40
40
40
42
44
41
41
34
36
29
34
27
27
29
26
19
16
16
18
17
17
12
19
25
50
21
23
38
30
32
32
34
34
35
39
38
40
43
45
44
47
52
62
59
66
74
77
75
75
80
77
73
75
75
80
81
76
64
65
72
71
70
70
63
60
58
55
53
45
40
35
29
27
26
25
24
23
21
22
21
22
20
19
17
19
18
18
18
15
17
18
10
10
9
10
7
8
8
13
49
96
134
121
104
107
111
117
115
110
109
116
118
116
131
141
139
148
151
153
165
162
180
153
166
171
174
172
156
146
172
172
161
5
1
3
0
0
3
2
4
5
9
13
17
23
27
33
30
32
35
36
36
36
31
29
32
30
28
30
32
30
28
26
22
18
18
17
11
15
15
13
10
8
7
4
2
0
0
3
5
8
10
17
22
27
28
33
35
32
32
32
27
22
18
15
15
13
13
10
11
13
13
17
20
20
23
18
22
24
18
19
21
22
18
27
37
27
59
99
102
115
92
105
122
135
114
92
90
137
139
108
145
141
124
133
149
141
131
84
109
104
100
105
94
107
125
130
115
122
138
114
123
118
71
95
67
119
115
90
77
61
65
53
54
52
52
57
59
58
61
54
55
62
78
74
74
102
67
101
46
57
52
44
48
43
53
51
58
47
31
30
26
31
39
118
109
69
36
37
41
37
37
36
40
40
37
34
34
31
35
29
28
33
30
24
24
19
21
22
20
20
19
27
27
34
27
28
30
31
32
33
35
32
33
35
37
43
45
47
49
55
62
60
70
79
83
81
80
82
81
78
77
79
83
83
79
73
81
83
87
86
84
74
66
62
63
61
56
53
45
38
38
34
30
29
30
28
25
26
24
22
23
25
26
21
22
22
20
24
19
15
19
18
15
15
16
17
22
43
85
122
114
109
102
108
124
113
115
119
118
117
138
133
121
153
151
138
162
163
155
160
156
168
175
169
168
162
162
169
168
167
1
5
0
5
2
2
0
1
7
13
15
22
22
26
32
33
35
33
33
32
32
30
30
32
27
25
25
24
22
21
24
22
20
17
15
10
11
9
9
10
8
6
3
1
0
0
2
6
7
12
20
16
20
24
29
32
34
32
32
28
22
21
13
14
8
5
2
4
5
11
16
19
22
22
25
24
23
19
23
23
23
25
20
22
25
27
32
31
52
45
87
106
85
115
66
76
53
102
139
116
115
127
61
77
116
82
41
44
42
32
29
48
32
50
106
73
62
109
85
93
91
62
42
78
90
93
57
66
47
48
49
45
41
43
41
39
42
41
35
35
42
44
48
44
65
39
47
47
35
35
43
28
51
39
55
30
60
42
23
30
33
38
28
34
91
86
105
48
34
35
39
34
32
32
38
38
38
34
32
30
32
32
31
28
28
23
24
24
21
25
27
26
28
30
27
28
26
25
26
25
24
31
35
40
41
43
47
48
53
61
61
71
81
83
83
82
84
82
81
82
87
91
93
91
90
90
94
100
97
93
85
79
74
71
70
60
56
51
45
47
41
39
30
33
29
29
27
27
26
31
31
31
28
28
27
25
27
25
21
19
20
25
22
27
29
31
48
71
108
125
115
115
113
131
119
110
121
122
122
121
129
141
154
148
140
159
174
150
157
154
163
164
169
160
155
169
170
161
159
0
2
2
0
3
3
2
6
11
12
18
23
26
30
36
39
39
38
36
34
35
34
33
33
29
27
23
23
21
20
21
21
18
16
15
11
10
8
8
7
7
5
1
1
0
0
0
1
4
10
13
14
19
23
21
24
25
29
27
22
19
14
15
13
4
2
0
0
3
7
12
16
19
19
22
24
24
21
22
21
17
21
21
22
20
27
30
38
40
35
54
84
75
62
76
48
59
74
98
117
60
107
117
81
96
63
48
27
13
14
13
13
4
22
57
16
20
26
19
36
27
37
29
36
56
77
51
44
51
45
53
47
43
34
33
30
32
29
28
28
28
29
34
35
46
46
36
88
35
30
39
32
31
44
49
105
35
52
39
35
32
35
35
33
30
39
89
47
78
88
70
36
39
36
30
37
34
37
35
34
35
34
34
32
32
32
32
32
30
30
28
31
31
27
27
29
29
27
26
27
23
25
29
36
40
42
46
47
52
62
62
71
85
86
86
83
82
82
84
87
91
99
96
96
97
99
102
94
90
86
79
79
74
71
67
61
55
54
48
41
36
34
32
33
29
30
29
31
28
29
31
34
45
36
34
25
28
29
24
24
21
30
33
34
38
42
56
74
99
125
111
109
117
124
116
115
118
114
112
116
137
138
156
150
148
157
162
155
161
177
175
174
180
164
168
166
156
153
156
4
3
3
0
0
3
10
10
13
19
21
26
31
37
40
40
42
41
36
35
31
36
34
32
30
28
28
27
23
21
23
23
19
17
15
13
13
11
10
7
7
5
0
0
0
0
4
2
6
5
11
14
15
19
27
25
25
26
25
19
20
16
11
9
6
2
0
0
3
9
14
16
21
21
23
25
24
24
22
22
19
23
21
22
23
31
30
30
24
26
31
58
55
51
38
84
49
43
80
106
139
101
60
65
67
62
37
23
18
17
9
9
11
20
0
5
9
2
2
10
13
25
22
40
35
66
41
40
39
45
47
42
42
40
39
32
31
26
29
32
40
40
48
51
33
63
27
40
35
29
31
28
28
28
35
29
61
45
77
68
33
34
31
30
35
35
33
30
79
43
27
81
48
36
27
34
37
32
33
33
36
35
37
39
35
39
38
38
35
34
31
31
32
32
30
24
25
24
19
21
24
23
26
30
35
37
39
43
47
60
60
67
81
88
84
88
84
84
86
86
88
89
97
100
101
101
94
81
74
78
79
79
79
73
70
64
54
48
44
39
36
36
32
37
32
36
27
31
33
27
36
46
55
45
42
40
32
26
28
26
24
26
38
37
40
65
71
74
83
122
115
114
117
111
109
109
118
117
125
112
138
138
152
154
142
144
163
161
157
164
170
177
165
169
165
169
166
167
167
5
2
7
7
5
10
15
16
22
21
24
27
36
40
42
44
44
42
39
38
35
34
35
32
33
32
28
28
24
20
23
21
18
19
17
13
12
10
12
7
7
3
3
1
0
0
2
1
0
5
13
7
13
17
23
24
24
24
22
17
15
13
9
6
5
2
0
0
6
9
14
16
21
19
20
26
26
25
27
27
27
27
23
21
23
24
22
25
25
27
31
44
36
41
30
32
67
32
32
78
135
109
62
44
48
32
40
22
18
13
7
3
13
5
1
7
2
0
0
4
12
15
14
25
33
34
38
41
48
48
51
43
42
40
42
39
42
45
47
60
66
79
76
70
48
61
31
21
86
33
27
30
27
28
35
39
69
47
83
104
72
40
37
34
37
33
33
28
31
33
31
56
64
38
30
35
74
68
41
40
41
43
44
45
48
47
42
44
43
45
45
42
41
39
35
31
27
21
21
24
27
23
25
30
30
32
36
39
43
48
53
59
71
79
84
83
82
82
83
83
74
65
68
65
71
72
70
63
63
71
71
72
72
69
69
65
53
47
44
44
51
50
50
45
48
50
49
51
50
44
44
42
44
42
38
42
36
33
27
25
26
29
36
40
48
71
73
77
80
117
117
110
110
113
109
121
123
129
129
123
135
127
145
142
147
155
157
150
169
176
164
163
166
174
167
170
156
160
169
7
4
4
4
4
9
13
15
19
23
30
39
40
42
44
45
45
41
40
39
37
35
32
33
34
30
29
31
25
22
24
24
23
20
20
18
12
10
11
11
9
6
5
5
4
3
1
5
1
0
4
3
11
16
19
21
23
21
21
19
13
8
2
3
5
4
2
4
9
11
16
20
25
25
27
29
31
29
30
30
27
26
24
23
24
24
24
25
25
30
29
29
28
36
29
31
28
37
29
27
51
101
82
30
29
22
41
16
18
10
7
2
0
0
0
0
0
2
0
1
6
9
13
29
27
30
32
34
34
39
40
41
46
39
39
54
71
89
99
100
96
89
83
67
46
38
42
30
32
43
25
23
28
38
39
37
41
41
69
38
88
92
43
48
33
35
33
30
24
26
26
27
27
28
27
32
67
58
45
46
47
47
47
47
49
50
53
57
60
62
60
56
48
43
41
36
34
24
22
28
30
27
27
27
29
31
35
35
37
46
46
46
57
60
70
74
71
73
73
64
62
52
51
55
61
53
51
52
52
56
56
63
63
63
64
57
57
60
63
59
58
67
73
76
78
76
74
75
67
62
54
54
43
43
39
40
34
35
28
26
27
33
40
47
55
73
78
77
79
105
116
108
110
109
114
115
118
128
134
121
137
130
152
140
139
152
174
156
173
175
166
172
168
174
159
159
159
162
172
13
8
9
6
6
10
14
18
23
24
30
40
44
46
46
47
49
43
44
43
38
37
39
40
38
34
32
32
27
23
23
23
23
18
16
16
14
14
12
12
10
7
7
4
6
3
3
3
1
0
4
7
13
19
20
24
26
23
23
22
17
13
9
9
7
7
5
7
11
13
15
21
26
28
29
27
35
34
38
36
31
34
33
27
30
27
29
29
27
30
28
28
26
29
28
26
24
26
24
24
26
64
40
37
24
16
21
19
14
10
8
4
2
0
0
0
0
3
2
1
1
5
11
13
20
23
28
33
36
40
38
41
41
56
72
92
108
118
111
107
102
103
95
80
57
33
40
24
26
38
54
25
34
31
34
34
38
41
42
40
41
50
116
64
41
41
31
22
20
24
23
24
26
26
25
29
34
33
35
47
50
54
52
52
55
65
74
76
75
68
64
62
60
52
46
43
37
33
27
24
29
29
27
28
31
32
35
31
33
39
40
40
41
42
44
50
54
56
52
49
47
40
38
38
38
41
42
40
44
46
49
50
52
54
54
54
53
55
49
53
68
79
74
74
78
79
83
78
76
75
70
60
59
49
41
33
35
39
36
30
31
34
32
40
53
72
78
74
85
106
123
109
110
111
116
114
120
130
129
135
164
158
146
144
138
145
155
167
171
168
165
171
162
164
169
165
154
163
166
17
11
9
7
8
13
15
16
22
27
34
40
41
45
48
49
53
46
44
40
37
39
39
40
36
33
30
31
25
23
18
16
21
19
17
13
17
20
15
10
11
12
13
11
8
3
3
5
2
3
7
18
20
24
26
28
30
29
27
23
23
21
17
22
19
16
14
16
19
18
20
20
28
26
27
32
34
35
38
40
40
32
33
29
29
29
32
30
29
26
30
34
31
28
27
24
21
23
24
16
20
28
30
18
20
20
16
16
13
11
9
2
1
3
0
0
0
0
0
0
0
2
3
4
11
21
32
29
35
42
48
53
62
83
98
105
107
103
107
106
102
103
97
74
49
29
24
66
27
24
26
28
29
33
35
36
36
36
37
39
42
42
39
40
126
38
74
53
31
18
22
22
23
23
30
34
36
46
31
38
41
47
48
54
63
66
71
75
74
66
62
63
63
63
59
51
45
39
34
32
31
27
27
29
34
34
33
32
30
33
33
35
35
38
38
38
40
42
43
40
38
38
34
34
34
39
41
43
43
45
49
53
53
51
51
51
49
49
49
59
70
69
69
73
77
79
80
82
79
77
78
80
74
54
33
30
26
28
35
29
22
23
25
29
46
63
76
83
83
87
113
113
116
115
115
114
127
137
135
130
162
159
155
150
168
156
161
167
170
170
163
173
165
171
159
160
156
164
168
16
9
4
7
7
11
13
15
23
26
29
35
38
38
39
41
43
42
42
40
38
40
40
38
36
33
27
25
22
22
22
22
26
26
24
23
22
22
15
9
9
12
11
9
9
5
5
7
7
6
10
18
19
27
24
27
27
32
28
26
23
21
21
21
19
18
18
22
23
22
23
25
29
27
30
33
35
41
40
40
40
35
37
37
34
34
35
33
25
25
25
26
28
23
23
24
25
25
25
17
18
18
17
17
15
17
15
12
12
9
6
5
4
3
1
1
4
1
1
0
0
0
0
0
0
11
13
25
39
45
57
72
72
78
84
91
91
91
92
85
84
85
74
51
24
23
22
26
21
26
21
23
27
28
29
34
36
36
38
37
42
42
38
38
35
32
143
39
26
17
17
21
19
19
23
23
29
31
31
35
42
48
53
59
63
71
77
79
80
70
68
68
65
63
63
58
50
45
37
35
31
30
31
32
30
30
30
30
30
31
32
34
36
36
36
34
37
37
37
37
35
30
27
27
33
39
41
43
43
43
42
40
41
40
38
39
41
40
47
58
63
69
75
72
78
78
81
81
83
79
77
75
75
58
35
29
27
24
29
29
26
24
24
32
37
51
68
72
73
71
112
110
117
112
116
115
123
135
138
128
147
161
156
154
167
156
154
157
168
169
164
172
165
159
159
158
159
157
159
13
3
1
2
0
6
11
15
24
27
29
32
35
35
34
37
37
37
35
35
37
40
40
35
32
29
24
25
23
23
25
27
27
26
25
23
25
23
20
23
11
13
8
7
10
10
10
11
9
11
13
16
18
23
28
30
29
27
29
29
28
24
23
19
17
18
18
20
23
23
25
27
28
32
33
38
35
33
39
38
35
36
37
36
37
35
32
31
27
24
25
25
29
30
29
27
30
27
23
18
18
17
14
14
12
13
13
11
9
7
6
3
7
5
1
0
1
2
5
6
0
0
0
1
3
6
20
32
43
43
47
52
53
68
79
80
77
70
58
56
55
53
37
26
21
21
19
16
21
19
20
20
20
29
31
33
35
35
35
39
33
33
37
35
29
28
26
24
42
56
23
21
17
19
22
22
23
31
32
37
47
51
57
64
70
73
75
79
80
76
73
75
70
67
65
60
58
48
43
32
29
37
37
34
32
30
30
26
26
27
32
36
37
35
35
36
38
38
36
36
33
32
27
24
23
26
30
32
33
34
32
33
28
24
29
33
39
36
45
54
55
63
66
76
82
85
83
88
86
79
80
73
70
55
36
32
30
33
30
32
29
27
28
27
35
37
46
60
61
77
93
115
111
114
117
114
120
126
135
132
140
149
144
149
155
173
166
165
167
162
167
178
171
162
163
156
151
160
160
7
3
0
1
3
8
11
17
21
23
25
28
29
31
29
27
27
32
31
31
33
34
32
31
28
26
24
21
19
20
22
26
33
33
32
28
29
26
24
25
24
12
9
9
12
13
11
12
13
15
18
20
22
27
26
27
31
27
29
28
27
27
24
22
22
22
21
23
24
25
27
28
28
32
34
38
39
38
41
40
37
34
35
35
42
41
42
35
29
25
24
27
26
26
29
30
31
25
23
15
13
13
8
8
8
11
8
10
8
6
6
3
7
4
3
0
2
6
4
4
3
3
2
3
19
35
44
56
52
51
54
56
60
65
70
71
62
49
41
42
33
30
21
19
18
18
19
13
16
19
21
24
21
26
28
30
34
31
32
34
34
33
30
27
25
27
27
23
24
14
22
53
41
25
22
21
23
30
38
40
42
54
63
65
70
76
76
81
79
78
78
76
72
70
71
63
55
50
44
34
31
37
37
37
35
33
33
29
29
27
36
42
44
41
41
41
41
39
40
41
36
32
27
19
20
20
22
22
25
25
27
23
23
24
28
30
36
32
41
56
56
56
66
69
76
81
88
85
81
75
63
59
62
52
39
40
36
33
34
36
31
33
31
33
41
41
43
42
43
54
90
121
112
114
119
119
129
136
130
130
133
141
151
157
148
158
170
160
162
156
159
170
161
164
161
149
147
153
151
2
2
0
4
0
1
8
14
18
20
20
22
22
24
24
27
27
25
25
25
27
30
30
28
31
26
25
25
23
18
27
31
35
32
30
31
32
34
33
29
27
31
24
23
20
19
20
18
17
17
21
22
24
29
31
31
29
29
31
33
33
31
24
24
24
24
28
28
28
32
32
30
32
32
37
38
39
37
42
37
38
34
33
34
33
32
31
32
23
20
11
8
10
10
15
21
25
23
20
15
8
7
6
4
4
5
3
3
5
5
5
2
6
8
6
6
9
12
12
5
4
1
3
12
47
70
76
70
65
67
65
63
64
64
66
53
44
31
32
22
12
9
25
22
16
17
15
16
16
19
14
31
22
23
25
26
25
36
33
33
32
28
28
26
22
23
23
25
22
20
19
19
21
20
24
35
20
29
38
36
39
45
56
61
67
71
69
73
76
81
79
72
73
71
67
63
52
48
47
42
36
41
41
36
38
34
33
30
30
33
40
44
45
47
47
48
47
47
44
44
40
34
26
21
16
21
21
24
29
29
27
24
24
25
22
26
29
29
32
52
64
72
86
94
99
97
92
78
70
55
51
48
45
45
45
46
47
51
50
45
44
40
37
39
36
40
44
46
39
47
88
121
111
111
123
110
130
127
131
123
141
160
154
145
162
146
159
158
150
155
157
167
168
157
163
162
163
152
153
0
1
1
0
1
1
5
9
12
17
18
19
17
19
19
21
21
22
22
22
20
21
23
22
23
23
23
26
24
27
33
35
35
31
33
35
36
36
38
38
40
43
34
35
31
27
25
20
21
21
21
22
24
26
27
27
26
27
28
29
28
26
23
24
24
24
28
28
28
32
32
32
34
31
36
38
40
39
41
42
41
39
37
39
30
25
20
6
2
0
0
0
0
2
5
9
9
9
8
6
6
7
6
4
1
3
2
1
2
2
4
6
6
8
5
10
8
11
11
9
1
0
29
58
85
93
83
76
72
70
70
69
70
63
51
43
34
25
23
12
4
3
10
14
13
11
9
11
11
14
12
12
19
27
21
27
25
27
33
33
32
28
28
26
24
22
26
22
21
16
18
17
19
20
19
19
19
21
27
30
32
39
47
54
60
61
63
67
71
73
71
67
66
61
59
59
57
52
45
44
39
41
41
41
39
37
37
30
30
33
42
44
47
49
49
47
47
47
45
43
41
34
32
29
23
22
22
25
26
26
26
21
19
19
19
23
35
47
60
72
88
102
104
107
100
88
79
72
70
61
59
60
57
57
56
57
61
64
68
66
66
69
69
73
71
69
65
61
53
53
89
127
114
109
117
116
136
132
158
125
140
148
149
146
147
161
176
156
161
167
164
166
165
165
163
153
148
146
159
0
0
1
1
0
0
4
4
6
11
17
22
18
20
22
22
22
21
18
16
17
17
17
23
24
25
22
22
24
29
32
34
38
40
41
39
39
40
43
48
50
44
39
35
33
32
29
27
25
23
29
30
30
33
34
33
31
32
31
29
27
27
29
24
24
25
28
28
28
30
30
31
35
34
39
35
37
37
43
39
35
28
26
22
4
2
2
0
0
3
1
2
3
4
4
5
8
7
6
4
4
3
5
5
5
4
2
2
0
0
6
6
8
5
4
6
6
10
7
9
6
37
72
98
104
90
83
81
78
81
77
70
64
51
46
43
33
25
15
5
8
6
5
4
1
0
0
1
3
3
9
11
10
9
14
31
20
19
23
21
25
28
23
23
22
18
20
19
20
18
17
17
17
19
19
19
19
20
22
29
34
38
43
47
51
58
60
64
67
67
65
64
59
58
60
58
54
50
45
45
42
44
44
42
43
39
37
33
33
32
41
45
53
49
51
49
49
51
50
48
48
46
39
39
37
36
32
24
23
23
23
19
16
22
32
48
68
81
99
113
114
115
110
102
94
89
84
84
81
79
79
80
80
80
81
85
85
89
89
84
78
80
78
83
77
75
71
63
56
51
81
124
115
119
115
112
129
140
144
127
138
132
163
155
147
164
178
162
159
159
168
167
167
159
151
153
148
152
153
0
0
0
2
1
4
3
3
4
14
18
21
16
18
22
21
21
23
18
18
18
20
22
19
21
24
26
27
27
35
36
38
39
41
39
48
51
53
59
60
62
54
47
42
42
34
32
33
28
26
31
34
34
33
34
31
31
31
29
28
27
29
28
24
24
24
28
28
28
30
32
33
32
32
32
41
35
33
30
30
21
13
6
0
1
0
0
0
1
0
0
0
0
0
1
4
3
2
5
2
2
3
5
5
6
8
6
5
1
0
5
7
7
7
5
5
3
2
5
14
43
78
104
110
102
91
90
90
87
83
83
73
67
64
53
42
23
14
3
0
0
4
5
0
1
0
0
0
2
3
7
9
9
12
14
18
21
23
33
26
21
26
23
23
22
17
18
17
16
16
18
17
17
16
18
20
22
28
32
33
34
38
43
48
52
58
66
64
51
47
43
40
44
40
36
38
33
35
41
43
45
44
42
39
34
27
27
25
25
26
28
32
38
38
40
40
45
43
42
41
40
44
42
42
41
37
31
23
21
24
28
40
49
60
76
91
109
123
124
120
113
111
107
101
97
94
94
94
95
95
95
97
99
99
98
94
94
90
88
81
72
60
58
56
46
45
38
33
27
28
55
119
119
118
113
121
130
125
130
113
141
180
166
159
146
162
175
165
164
158
168
169
159
156
164
164
156
156
153
0
0
0
0
2
7
8
12
17
16
21
19
19
17
19
20
20
22
20
18
21
20
22
23
24
22
26
25
29
36
40
40
40
43
49
52
51
63
61
63
63
56
54
52
47
43
39
39
40
36
34
29
33
34
32
31
30
29
27
25
30
27
27
23
25
26
25
25
23
26
28
33
35
36
34
29
19
15
6
3
0
0
0
1
1
3
2
1
0
2
0
0
4
7
3
1
5
5
2
2
2
1
3
7
9
11
10
7
3
3
5
6
6
6
2
3
5
6
24
47
75
97
102
92
96
94
99
99
98
92
84
83
82
84
73
58
35
18
12
2
4
3
1
1
3
4
3
5
5
7
3
9
13
15
15
17
21
19
20
20
23
24
28
23
21
19
21
15
18
17
17
11
15
16
15
21
29
31
34
37
42
44
46
46
54
50
52
24
1
0
2
4
3
0
2
6
1
3
9
14
21
17
11
4
4
2
0
0
1
2
12
14
19
23
26
29
30
34
37
35
42
44
46
42
41
31
31
37
42
55
69
81
94
114
119
126
124
116
114
111
107
103
102
103
103
104
99
99
100
102
100
100
100
97
93
82
70
58
48
35
34
35
30
27
21
19
18
17
15
14
35
100
121
115
117
123
130
122
124
122
141
150
141
157
160
156
172
155
155
167
165
148
155
156
163
157
151
150
148
0
0
3
5
8
15
15
19
24
26
28
28
26
24
24
25
22
22
21
19
23
24
24
25
26
25
25
24
27
35
40
45
48
51
58
64
64
77
74
72
71
68
60
58
51
50
46
44
43
41
39
37
35
30
34
32
28
29
27
25
29
26
26
23
23
24
24
24
26
29
27
34
30
26
22
16
7
0
2
0
0
0
0
0
0
0
3
1
0
0
0
5
5
2
0
3
4
4
4
3
3
5
6
10
10
13
11
11
5
6
6
6
4
1
1
0
2
18
47
68
84
86
89
90
94
95
101
101
103
94
94
96
101
98
79
56
19
9
5
7
6
5
1
2
3
7
4
5
5
6
3
7
12
15
15
15
19
20
17
17
19
22
24
19
17
13
15
16
17
17
16
11
12
15
15
21
29
31
32
38
40
43
45
52
49
38
12
3
0
3
5
3
0
0
0
0
4
0
1
1
0
0
0
3
1
1
6
7
16
26
29
31
35
40
34
32
28
43
53
68
73
78
79
79
82
81
83
87
94
101
110
115
115
114
106
104
100
102
104
105
95
93
91
90
90
89
81
79
80
77
75
73
69
59
49
38
33
34
30
30
35
29
23
25
21
19
16
15
15
15
33
97
124
118
121
114
129
118
132
130
133
139
155
150
160
155
160
151
158
164
165
155
154
161
164
158
152
148
151
0
0
0
6
11
15
17
24
27
28
30
32
33
35
33
32
28
22
24
21
25
25
25
26
27
26
28
29
30
34
43
45
52
57
66
72
75
82
79
80
77
66
68
65
59
50
47
48
47
46
43
43
40
39
36
32
27
29
25
28
26
26
27
27
25
23
23
21
25
26
29
25
21
15
3
0
0
2
0
1
0
4
2
0
0
0
0
3
1
2
12
9
7
4
2
2
4
6
9
9
9
6
11
11
11
16
16
13
8
8
6
7
5
1
1
3
4
38
62
71
71
80
89
96
103
106
105
105
103
103
105
107
108
82
55
23
13
12
3
5
11
10
5
8
5
6
11
7
7
7
9
9
9
16
16
16
14
16
15
15
18
18
16
12
13
12
14
14
14
16
12
18
16
15
16
23
26
29
32
35
35
40
57
56
51
31
4
2
0
0
0
0
0
0
0
2
2
0
0
8
23
26
26
26
28
28
27
31
32
35
35
36
41
49
45
51
68
88
108
121
125
126
128
128
131
135
135
127
119
117
105
85
66
58
55
57
59
61
63
63
62
60
55
53
53
51
44
42
42
43
44
44
45
44
44
39
34
32
29
29
27
29
25
22
14
14
10
9
9
11
34
104
126
117
112
118
123
117
126
136
143
143
155
149
152
155
156
145
155
155
165
152
158
161
160
157
149
146
148
0
3
4
12
17
23
28
29
31
36
40
44
45
45
43
42
40
38
35
33
31
32
32
29
31
29
30
28
29
38
42
48
62
69
67
75
78
86
84
86
77
74
72
71
67
63
60
60
55
54
48
46
44
42
41
39
34
34
28
23
25
25
26
25
23
21
27
25
28
26
21
15
3
3
0
0
0
0
0
0
2
1
2
1
2
2
0
3
6
14
7
7
6
6
2
2
2
4
8
9
11
11
14
14
13
17
17
14
7
8
10
13
9
4
2
1
16
53
70
71
76
88
97
99
107
107
106
101
101
98
100
98
87
53
18
17
12
4
5
7
12
13
9
8
4
5
10
10
10
9
7
7
6
10
10
11
9
11
11
14
20
25
26
19
17
13
10
11
8
11
12
16
15
14
16
23
25
28
30
34
32
54
72
78
63
40
0
6
11
13
24
35
38
39
36
35
30
28
34
33
32
26
26
29
28
28
29
24
30
32
35
39
40
42
58
77
103
122
139
142
137
133
133
134
133
132
123
112
97
67
37
15
11
5
2
2
6
9
12
17
19
19
21
18
22
24
26
30
35
38
39
44
44
43
43
40
36
33
30
28
27
27
22
16
7
5
3
0
0
4
30
98
123
117
113
122
123
132
141
140
146
163
145
155
155
159
162
151
166
161
163
160
164
159
160
152
138
149
147
0
5
13
18
19
26
30
34
42
43
47
52
51
49
51
48
48
47
45
45
41
34
35
33
34
32
30
28
30
38
47
49
56
56
66
71
79
83
83
81
78
73
75
73
72
69
71
64
58
54
56
54
50
45
41
41
42
35
34
26
23
25
29
23
21
23
31
28
22
14
8
7
0
0
0
0
2
2
0
0
0
3
0
1
2
14
25
32
25
16
11
7
6
5
6
5
1
1
2
9
13
15
15
16
19
22
22
20
18
19
16
12
10
10
2
15
45
82
80
77
85
95
102
108
104
101
91
85
83
81
75
64
40
17
18
13
14
14
10
7
8
11
8
6
4
6
6
9
9
9
9
6
6
5
5
6
9
9
10
12
22
35
38
42
41
28
15
5
9
8
10
11
11
15
17
21
26
27
30
36
56
80
98
108
102
73
76
77
72
69
67
65
66
57
54
54
51
46
38
34
32
31
27
25
19
23
25
24
26
32
32
43
58
70
88
118
134
138
136
127
125
121
117
110
102
92
70
37
24
14
11
8
6
6
3
3
3
4
7
9
8
12
16
19
26
28
30
32
34
37
38
42
45
41
43
39
39
38
33
29
26
27
22
14
8
4
2
1
0
0
13
82
123
120
126
127
135
145
143
121
145
148
145
157
166
165
161
157
156
153
158
165
171
164
152
149
151
157
153
2
10
19
21
24
26
31
35
43
43
47
50
52
52
54
51
48
51
49
50
46
43
37
35
35
33
34
36
40
44
45
48
54
55
61
62
63
67
70
77
76
75
78
77
74
74
77
67
62
60
59
56
52
50
45
40
44
43
38
28
26
24
21
28
29
28
33
29
21
8
2
0
0
0
0
0
1
2
0
1
1
3
1
7
24
36
41
37
29
22
14
6
5
3
3
4
2
0
0
5
8
13
19
20
24
23
23
20
19
21
23
18
17
16
13
41
67
89
83
89
91
101
106
105
99
88
75
68
66
57
50
43
35
32
33
37
40
37
29
23
23
18
15
11
11
13
14
8
8
9
8
8
6
3
3
3
3
3
4
4
11
26
43
53
52
47
30
18
7
5
6
9
6
13
17
19
25
30
33
52
79
103
125
134
121
108
104
99
91
81
76
73
73
71
71
72
69
66
59
53
48
43
38
32
30
31
29
25
27
39
57
72
91
110
122
128
119
108
100
95
91
85
76
66
46
29
17
11
12
9
5
1
1
1
0
2
2
0
0
2
7
14
15
16
21
23
25
27
29
32
34
37
40
39
38
37
37
36
29
25
25
26
23
13
8
3
3
0
0
0
7
74
128
119
124
119
134
154
146
146
133
154
141
158
160
158
153
151
154
163
161
164
164
159
155
156
155
155
156
10
14
19
27
27
28
34
38
44
45
49
53
53
55
55
54
52
52
52
50
47
45
41
38
40
40
38
41
47
45
44
41
49
52
55
57
58
60
64
67
69
73
75
75
69
69
70
62
60
60
60
57
56
53
50
45
41
47
43
36
32
30
29
33
35
37
34
24
12
2
0
0
0
0
0
1
0
3
0
3
1
3
5
28
39
45
44
39
35
29
15
9
5
4
4
3
2
0
0
2
0
8
21
20
22
20
20
21
23
25
29
29
30
22
36
60
81
90
94
98
104
106
105
97
84
77
71
54
49
55
39
38
47
51
57
64
58
54
47
52
52
44
28
24
36
35
35
22
8
8
5
5
4
6
5
3
0
0
2
1
12
19
16
38
48
44
35
27
13
11
10
9
7
6
14
21
24
25
51
83
110
133
141
135
124
116
109
102
97
89
87
85
81
77
71
66
66
64
66
62
55
48
46
44
45
45
42
42
44
53
79
91
105
111
105
87
80
68
59
47
43
33
30
28
22
19
16
12
13
9
4
1
1
1
1
1
0
2
2
1
8
8
7
12
16
18
22
27
30
30
33
36
37
33
32
32
34
30
31
26
21
20
17
11
3
1
2
3
2
0
3
61
131
120
123
116
132
146
148
136
139
158
149
153
152
167
154
157
171
163
161
168
170
165
152
153
145
149
154
10
15
21
29
33
37
41
44
45
47
54
51
49
52
51
49
51
52
49
49
49
50
48
45
44
44
42
45
46
46
50
50
53
55
52
52
53
61
64
65
68
73
72
72
65
66
67
63
63
65
58
61
59
51
49
45
40
41
36
35
31
33
40
40
41
39
29
21
6
0
0
0
2
2
1
0
0
1
0
0
0
16
35
45
49
49
39
38
35
28
22
8
5
2
2
3
2
0
1
3
0
7
10
14
19
24
24
25
32
34
36
35
36
31
53
76
98
100
106
108
116
113
107
92
83
75
64
52
47
43
46
53
64
65
62
64
69
76
74
72
67
61
49
41
48
55
50
39
14
10
5
5
6
4
5
1
0
7
13
21
23
24
20
12
17
20
19
16
13
9
7
11
9
7
6
16
20
40
75
112
139
150
146
135
130
124
116
111
105
98
96
94
90
87
80
79
79
77
73
70
63
60
58
57
58
58
57
52
54
62
68
68
61
51
42
37
35
32
29
28
25
24
25
22
20
14
12
9
7
3
0
0
0
2
1
2
1
1
1
0
0
0
1
6
12
19
22
26
28
31
32
34
37
35
33
29
27
25
24
20
17
15
12
5
0
0
0
0
0
0
3
44
117
122
122
125
133
139
153
107
134
149
143
160
156
154
154
149
158
163
160
162
162
172
156
152
151
150
150
6
10
16
20
22
29
31
32
36
40
43
48
47
45
44
47
45
46
49
49
50
51
48
46
49
51
50
49
51
52
49
51
52
53
54
55
55
63
65
65
67
73
68
65
61
62
64
64
62
64
62
64
62
55
53
45
39
37
34
35
32
40
46
43
43
40
27
10
2
0
1
0
1
0
0
0
0
2
0
0
15
46
62
66
57
51
46
37
34
28
22
12
5
5
4
3
3
2
1
1
5
7
8
12
17
24
29
33
34
37
40
42
40
36
67
93
108
113
117
119
119
112
103
92
83
74
63
63
56
58
66
68
75
79
80
78
78
76
78
76
77
70
59
54
43
52
65
58
38
18
8
8
8
6
0
0
15
23
26
25
39
37
29
2
0
0
2
7
9
13
13
17
10
11
16
7
21
57
93
134
149
146
135
130
126
122
115
113
110
107
105
104
100
96
93
90
88
86
82
78
74
72
70
69
70
65
61
60
58
56
58
53
50
51
47
44
41
37
36
26
27
26
25
23
20
14
10
5
0
0
0
0
0
0
1
1
1
0
3
2
0
1
0
7
13
19
23
25
27
26
28
30
35
32
30
27
21
16
18
11
6
2
2
2
0
0
0
1
1
0
0
19
106
113
115
106
124
140
137
122
132
136
146
170
158
162
166
162
167
163
169
162
153
162
157
153
155
160
151
1
5
8
13
15
23
28
30
31
32
43
47
45
45
43
43
42
44
43
45
49
51
52
51
52
54
59
55
54
54
53
52
52
53
55
57
56
62
63
63
63
70
66
62
60
57
58
62
64
64
65
64
64
57
51
45
37
34
34
36
42
45
47
47
42
32
14
0
2
2
2
0
3
1
1
0
0
1
0
24
44
65
74
69
59
52
45
43
35
29
22
14
8
7
4
2
3
2
2
2
4
8
9
18
21
30
35
37
38
41
43
42
42
45
78
105
112
117
120
121
119
112
106
100
89
77
78
62
48
53
72
76
78
90
90
88
89
86
84
81
78
77
69
59
54
41
50
66
58
41
19
21
23
25
20
33
30
31
34
26
3
19
24
12
9
12
12
18
14
16
15
18
13
13
9
13
43
78
120
138
137
126
116
113
111
108
106
104
102
100
100
100
100
99
96
94
94
91
93
91
84
82
82
79
79
75
67
68
68
67
66
66
65
58
58
53
49
44
40
36
29
26
23
20
16
12
7
3
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
7
16
18
23
25
25
24
24
26
26
26
24
18
12
7
1
0
0
2
2
1
0
0
2
0
0
0
4
0
80
122
121
112
119
142
145
123
141
151
145
160
160
159
169
148
166
156
166
157
162
160
155
158
163
153
147
0
1
6
10
15
21
19
22
27
36
37
39
41
46
42
45
45
45
44
47
49
52
54
53
55
58
63
61
65
62
58
56
56
55
53
53
53
61
63
62
60
60
61
59
57
53
52
58
56
60
60
62
60
53
46
41
35
37
36
39
38
45
44
41
32
18
11
18
17
5
4
0
1
0
0
0
2
0
22
39
67
77
70
67
61
49
40
45
38
31
23
15
12
9
8
5
0
1
0
2
4
8
11
17
20
30
34
39
46
44
45
50
50
54
86
109
117
116
122
123
120
117
117
113
94
81
65
50
51
61
68
73
85
89
92
93
97
92
91
87
82
82
84
76
70
66
57
75
82
74
48
46
47
43
53
45
41
43
21
8
6
22
23
14
13
13
13
13
9
13
8
6
6
5
0
19
56
94
133
131
122
113
108
102
102
99
98
98
97
95
93
93
91
91
89
91
91
91
85
87
87
87
87
87
81
79
79
77
75
75
73
70
69
72
67
61
57
55
50
53
47
35
30
21
17
15
9
6
0
0
0
3
3
2
3
1
0
0
0
0
0
0
3
12
18
24
22
22
21
25
25
26
19
16
16
11
4
0
3
1
2
1
0
1
4
2
0
0
0
0
0
0
57
116
123
129
144
149
141
126
151
153
138
162
148
161
147
152
160
172
167
156
153
158
158
158
165
154
152
5
5
9
12
23
24
23
24
26
27
34
37
42
40
42
38
39
45
47
49
52
52
55
58
63
65
70
69
69
67
66
65
65
63
63
58
53
58
59
60
60
60
59
55
56
53
52
58
56
60
59
58
56
49
40
38
31
32
33
36
34
37
30
27
23
18
23
23
13
4
2
0
0
0
0
0
0
12
41
64
77
70
68
69
65
55
43
42
34
32
28
18
17
16
12
10
3
1
2
1
5
9
12
15
20
27
30
39
47
45
48
52
50
62
97
118
126
122
125
128
131
132
124
102
66
51
54
56
50
62
74
81
84
89
93
92
94
95
96
96
94
96
106
108
110
105
94
96
101
99
88
56
49
47
46
36
43
27
14
12
12
27
47
28
16
16
16
14
10
8
4
6
5
2
4
12
46
80
101
100
100
100
101
105
106
106
108
108
104
101
99
98
95
91
90
84
82
82
83
85
87
85
85
85
84
82
83
82
80
77
74
72
70
70
65
62
60
58
56
58
55
47
43
32
23
16
6
2
0
0
2
0
0
0
2
0
0
1
0
1
0
0
4
15
22
22
23
21
22
21
21
21
19
16
15
8
1
0
1
0
0
1
0
2
3
0
0
0
0
0
0
0
50
126
126
117
143
159
158
142
162
139
142
162
162
161
156
151
166
166
169
166
165
161
154
155
149
155
158
3
2
6
13
17
22
22
22
24
26
31
30
36
38
39
38
39
46
43
45
48
50
53
57
66
73
79
76
77
78
79
75
70
69
65
57
61
62
65
67
78
84
69
58
50
53
55
53
57
55
52
50
42
33
35
35
33
24
22
19
16
16
15
12
21
19
20
14
8
0
1
3
3
1
0
0
16
37
60
72
75
72
67
70
65
49
41
39
33
26
23
21
22
18
15
12
5
6
5
5
5
8
11
13
17
24
26
33
44
46
44
44
44
59
103
124
129
127
133
139
139
122
90
51
32
24
33
51
58
59
67
77
85
96
100
104
107
108
116
115
112
113
112
110
120
103
93
90
83
82
66
35
18
17
8
10
5
20
22
24
20
47
62
32
21
16
16
15
20
20
19
9
6
8
9
3
13
34
42
46
52
63
75
86
97
101
103
107
107
110
108
103
97
93
91
88
85
84
80
87
89
86
86
85
84
82
82
83
76
71
70
70
69
65
63
61
60
56
49
49
49
50
47
44
34
30
17
8
0
1
1
0
0
0
0
0
0
0
0
0
0
2
2
15
21
23
22
20
18
14
12
10
9
7
8
5
0
0
1
1
0
0
0
3
1
0
0
0
0
0
0
0
50
129
134
131
148
162
160
142
151
127
151
158
150
153
151
156
151
159
183
164
169
146
151
150
142
155
152
0
0
5
10
12
19
20
20
20
26
30
33
33
33
35
37
41
40
41
45
50
51
47
60
71
72
76
78
78
77
79
72
69
67
71
78
77
81
91
98
106
106
82
62
43
46
49
49
49
45
42
33
29
33
29
22
13
7
5
1
2
2
0
11
20
20
14
11
4
0
0
0
0
4
3
11
32
59
70
65
64
65
65
65
55
40
34
36
31
25
24
22
22
22
18
14
12
12
11
8
9
11
13
15
15
20
22
29
48
51
49
46
48
59
105
124
128
134
142
139
119
76
23
9
7
13
27
48
51
49
56
65
72
83
85
88
96
105
102
106
108
99
87
78
57
25
5
0
3
20
23
13
19
26
9
0
0
29
30
24
53
69
57
8
10
12
16
19
19
16
16
15
10
8
10
23
33
30
29
19
16
22
32
38
49
63
73
82
89
93
92
91
84
84
81
83
82
83
83
90
95
92
92
90
82
82
82
79
72
64
64
62
60
64
60
58
51
48
44
40
42
42
41
41
42
41
34
24
10
0
1
1
0
1
1
1
2
1
1
3
0
0
3
13
21
19
23
19
15
6
5
6
7
5
5
1
0
0
0
0
0
0
0
2
0
0
0
0
0
2
1
0
58
126
129
130
142
158
163
130
150
157
149
157
149
157
148
175
157
181
183
148
153
146
152
152
153
152
153
0
4
10
10
11
17
19
19
24
26
28
32
36
40
37
37
39
40
41
43
51
51
51
60
68
68
73
81
80
77
76
79
82
83
87
97
100
106
115
110
108
96
70
47
37
43
41
42
39
38
34
33
25
22
21
13
3
1
1
1
0
5
8
10
17
18
12
2
1
0
0
0
0
0
8
22
48
65
68
62
62
57
57
54
40
37
37
33
27
28
24
24
24
24
22
18
19
20
18
12
14
16
22
21
22
24
24
22
31
38
37
38
39
46
103
123
137
144
138
113
80
15
1
9
1
11
39
53
48
18
23
22
25
24
22
22
41
55
69
83
92
93
101
80
44
0
2
0
3
22
46
39
31
38
17
2
12
16
36
43
59
58
25
15
21
24
26
28
31
20
11
10
8
7
13
23
26
27
19
6
1
0
2
0
2
7
6
19
38
47
54
57
54
59
64
64
69
77
79
87
93
87
85
84
80
78
75
71
64
59
65
62
53
47
43
40
33
29
28
26
24
22
24
24
24
24
26
28
24
1
0
2
0
1
0
0
0
3
1
0
0
0
0
0
5
11
20
18
15
6
4
3
5
4
4
3
0
1
2
0
0
0
0
3
1
0
0
2
2
2
2
0
60
131
126
136
138
146
161
126
144
136
157
147
156
155
159
172
166
167
180
176
167
157
158
156
157
157
151
6
9
11
14
15
17
20
19
19
24
28
37
42
41
40
42
43
44
43
42
49
51
56
56
62
68
69
76
84
89
90
91
89
88
92
104
105
99
94
90
86
71
55
36
28
32
32
33
33
31
30
26
23
11
1
4
0
0
0
0
1
4
9
15
21
15
9
0
1
0
3
7
19
14
24
42
51
47
51
51
48
47
45
37
39
39
39
32
30
30
28
26
27
26
24
24
21
19
23
28
23
18
14
12
2
0
0
1
3
1
0
0
2
5
86
128
143
147
122
79
26
2
0
0
21
59
72
54
43
32
53
61
64
65
70
73
80
90
90
93
98
110
118
87
15
0
1
2
0
28
65
73
57
40
16
0
5
1
23
39
32
18
22
29
34
28
24
22
11
2
1
2
0
0
1
0
1
0
2
4
0
2
2
0
0
0
0
0
1
3
9
20
28
30
35
53
65
71
77
58
45
49
43
45
47
45
43
31
28
26
32
31
27
23
20
20
19
16
16
6
4
2
0
0
0
0
0
0
0
0
0
4
2
5
0
1
1
2
0
0
1
1
0
0
1
0
0
0
0
2
0
0
2
1
1
0
0
1
2
0
0
0
0
3
2
2
0
2
2
2
3
1
67
140
128
131
149
152
161
142
140
154
159
158
151
153
146
154
161
159
163
169
191
168
165
165
169
161
155
11
17
18
19
20
21
18
20
21
28
33
36
38
38
42
41
43
38
47
47
49
54
52
53
60
58
72
79
87
86
89
85
84
81
88
93
92
88
82
73
72
63
45
34
27
29
27
27
27
28
29
27
12
1
1
1
0
2
0
0
2
8
13
22
22
6
4
4
2
9
19
24
25
22
27
28
30
31
31
33
30
32
32
31
36
36
33
35
33
31
26
26
24
31
28
20
35
31
24
22
17
12
5
3
0
2
0
0
5
3
0
0
0
6
81
121
137
126
96
34
4
0
26
53
81
98
86
26
30
42
49
57
59
59
60
64
73
82
89
96
108
132
129
78
4
3
0
2
0
24
50
71
55
52
0
0
0
12
46
51
7
0
1
22
24
27
13
4
4
4
2
4
3
3
0
0
0
1
0
0
1
3
3
1
1
1
5
3
2
2
2
2
0
7
24
48
72
75
65
15
0
2
0
2
6
2
2
0
0
2
0
0
0
0
0
0
0
4
3
3
3
4
4
4
3
1
2
7
2
0
0
3
5
4
0
3
2
0
9
31
40
30
7
0
7
3
3
5
2
1
1
0
0
1
0
1
1
0
1
0
0
0
1
4
2
2
0
2
2
2
0
0
45
137
137
136
152
159
145
139
136
136
149
162
152
147
148
153
151
163
180
164
162
145
165
159
159
152
150
19
19
20
20
20
22
17
15
24
27
34
31
32
38
41
41
40
46
50
51
53
47
42
44
51
71
79
82
87
83
81
78
75
77
85
86
83
78
74
78
69
53
41
30
27
27
23
22
25
17
14
5
1
0
1
1
0
2
0
0
4
10
16
16
11
9
10
16
21
27
30
30
28
22
21
17
16
18
20
22
22
19
24
26
32
32
32
34
35
35
32
32
30
40
51
55
49
42
38
35
36
36
33
31
26
28
26
24
13
14
9
4
0
0
57
110
127
112
68
18
8
45
68
86
94
63
19
37
34
31
40
42
44
46
48
54
63
74
99
123
138
139
118
49
2
0
0
0
6
32
43
38
41
35
9
9
14
41
64
39
0
1
10
14
18
15
1
0
1
0
1
3
2
3
3
3
0
0
0
4
2
4
3
0
0
1
6
4
2
3
3
0
0
2
1
9
22
30
13
1
3
0
2
1
3
1
0
0
0
0
0
0
0
0
1
2
0
0
2
1
1
4
3
3
1
2
0
0
0
0
3
0
0
0
2
1
16
53
98
136
148
135
92
11
0
3
4
2
0
0
0
2
0
0
1
0
4
3
2
1
1
1
0
0
4
2
2
0
0
2
0
0
36
141
128
136
152
145
146
151
140
148
150
151
157
154
159
169
160
177
185
179
162
149
167
160
158
155
148
18
22
22
20
22
21
18
16
24
24
28
32
31
34
36
35
40
42
47
56
41
39
51
64
75
82
90
91
87
80
75
73
75
82
78
77
72
65
73
65
60
47
32
21
26
23
25
21
13
7
0
0
2
3
0
0
0
0
0
4
5
9
6
3
9
14
16
25
31
32
37
37
27
18
13
16
14
15
17
18
22
23
26
29
35
35
34
32
37
44
49
43
48
56
63
66
61
45
40
49
51
48
43
39
41
42
43
43
38
32
31
21
17
16
42
94
116
102
50
43
56
69
76
54
20
21
32
32
31
32
28
23
31
38
33
40
56
69
99
124
134
127
84
31
6
0
0
3
0
28
45
25
24
42
51
41
36
50
53
39
29
16
0
0
0
0
0
1
1
1
2
5
2
0
0
0
0
0
0
0
1
1
3
0
2
1
4
2
2
3
3
4
0
0
0
1
2
3
3
2
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
6
45
109
153
171
178
181
176
149
84
0
0
0
0
0
1
1
1
1
1
0
3
0
0
0
0
0
0
0
0
0
0
2
0
3
1
2
0
34
151
140
146
151
150
154
144
141
127
156
154
153
151
157
159
161
178
178
167
147
152
160
158
157
149
145
19
25
23
21
20
19
19
19
22
20
20
29
28
29
35
33
35
39
39
45
47
47
54
71
87
95
95
86
82
72
71
73
68
69
58
47
49
52
61
57
43
34
24
24
22
22
18
6
0
0
0
1
1
1
0
0
0
0
1
6
7
5
2
4
7
12
20
28
27
29
30
30
24
18
20
14
14
14
17
18
21
27
26
28
35
37
37
33
49
87
112
91
49
23
5
12
38
53
66
58
60
58
62
63
59
47
37
35
37
33
25
27
21
19
29
80
110
88
77
80
84
65
28
26
26
26
23
22
25
27
26
24
19
14
9
8
43
77
111
129
123
112
67
13
1
0
0
0
25
39
37
1
0
40
57
38
15
31
46
44
43
15
1
0
1
2
2
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
2
2
2
2
1
1
1
2
3
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
2
0
0
0
0
0
0
0
1
22
72
134
178
181
181
181
181
180
161
91
0
2
3
1
0
2
2
1
1
1
1
0
1
1
0
0
0
2
0
2
1
0
0
0
0
0
5
1
26
138
141
140
148
153
148
148
140
139
149
148
154
155
174
169
157
172
156
163
146
153
156
158
154
152
148
18
23
25
23
21
23
20
18
20
21
19
24
29
28
29
28
25
27
37
39
43
50
57
68
71
73
72
68
72
77
72
66
60
49
34
25
27
27
47
37
31
22
19
20
24
15
0
0
0
0
0
0
0
2
0
0
0
1
0
1
2
1
0
1
11
19
31
34
33
23
22
18
19
17
17
17
16
19
24
25
27
26
32
35
40
36
34
61
99
132
148
133
87
51
41
60
86
93
98
95
91
80
66
73
79
76
63
50
33
30
25
25
23
20
23
65
99
101
98
100
86
33
24
23
21
21
20
27
37
34
34
33
16
2
0
21
68
106
120
112
111
97
61
25
4
0
28
60
84
67
37
2
0
33
61
31
7
30
36
29
40
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
3
1
1
2
0
0
0
2
2
1
0
0
0
0
0
0
1
0
0
0
5
0
1
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
3
5
0
8
55
125
162
176
183
180
180
181
182
179
164
98
0
8
4
4
2
3
3
3
0
0
0
0
0
1
0
0
2
1
1
0
2
0
0
0
0
0
0
3
4
54
122
141
153
140
155
155
135
158
136
156
151
163
171
178
156
154
154
149
153
162
159
155
159
159
151
16
18
19
18
18
19
18
16
19
18
21
19
24
26
26
31
33
30
30
39
42
44
48
49
53
55
58
66
71
72
64
52
34
17
14
11
10
22
29
33
32
25
27
24
17
0
1
0
0
0
0
0
0
2
0
0
1
4
1
0
0
0
5
15
22
31
28
29
28
26
17
17
13
10
13
21
23
28
26
25
28
31
37
40
39
39
59
111
133
144
116
87
78
91
96
99
101
105
111
110
105
101
90
68
66
83
82
68
48
29
22
18
18
12
16
48
86
116
116
101
58
21
21
22
22
23
29
28
25
16
13
4
3
0
13
55
107
117
109
100
100
83
75
64
49
41
47
86
95
74
23
4
0
41
67
41
33
45
37
37
26
3
4
4
4
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
3
1
1
3
1
0
1
0
1
0
3
0
2
2
3
4
4
1
3
1
1
2
2
0
1
1
2
0
0
15
73
143
181
181
181
183
182
182
179
182
179
171
123
32
0
1
1
1
1
1
2
0
0
0
0
0
0
1
0
0
2
2
2
2
2
1
1
1
3
0
0
0
0
64
145
148
161
160
138
150
144
146
152
156
166
154
158
166
157
158
157
155
159
151
155
160
166
158
19
20
21
21
22
20
20
19
18
17
14
18
23
19
31
23
29
23
21
26
33
38
41
42
42
47
62
68
64
56
47
34
25
28
23
19
22
29
32
28
27
28
25
24
11
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
6
14
29
50
48
49
37
27
24
15
11
8
7
18
29
27
38
28
29
34
40
40
41
41
44
94
131
134
110
53
39
53
49
48
46
45
49
56
65
73
73
72
73
71
62
63
66
61
58
40
30
25
14
12
25
72
109
111
81
27
18
23
23
25
24
21
6
0
7
2
0
7
2
46
98
127
109
95
83
86
63
56
25
15
7
15
46
85
66
1
4
0
31
64
32
25
48
37
28
8
6
3
3
4
2
0
0
0
0
3
0
0
2
0
0
0
2
2
1
0
0
1
0
0
1
1
1
0
2
2
0
3
3
2
5
1
0
0
6
15
14
8
1
1
0
0
3
0
0
0
1
3
7
9
9
15
12
12
8
7
9
7
5
2
1
1
0
3
0
48
119
171
179
181
180
178
178
178
178
177
174
171
144
82
0
0
0
0
2
3
1
2
2
3
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
1
2
13
149
123
160
149
150
141
154
152
145
150
154
168
160
165
158
149
157
152
148
145
161
154
158
159
20
17
18
21
23
23
22
20
16
18
14
18
19
20
21
15
7
0
2
13
26
34
36
37
38
51
63
67
64
53
41
43
43
46
48
43
37
34
34
29
28
26
19
15
2
2
1
0
0
0
0
0
1
2
0
0
1
0
2
4
7
12
15
20
43
72
70
69
66
52
37
25
13
7
19
32
39
40
31
34
38
45
47
49
45
66
116
127
105
55
38
36
31
29
25
25
24
22
24
23
11
0
6
21
38
49
53
67
72
74
67
67
63
49
32
24
47
74
70
41
27
25
22
18
10
6
0
1
0
2
2
0
0
16
75
111
120
100
87
73
72
43
0
0
1
0
0
25
66
53
1
2
2
24
46
38
29
41
18
3
0
0
4
4
4
7
6
6
16
11
5
2
0
0
0
0
0
0
0
0
2
2
1
1
1
3
0
0
2
1
1
0
0
0
0
2
4
7
17
15
16
15
13
10
7
4
0
0
0
1
0
0
0
3
7
10
13
13
12
8
6
10
5
3
2
1
1
1
3
0
62
133
177
179
182
179
177
178
178
177
173
171
168
162
124
48
0
1
2
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
2
2
1
0
0
77
185
145
144
150
140
158
146
152
139
167
164
171
147
152
150
148
156
154
159
157
156
151
148
17
17
22
23
21
25
24
24
20
23
25
17
18
13
3
0
0
0
3
14
25
29
27
42
44
53
70
61
57
59
57
63
66
66
69
55
39
39
29
27
28
27
17
0
3
1
1
2
2
1
0
1
1
3
0
0
0
4
2
9
2
10
16
16
10
38
76
91
97
96
88
76
65
48
40
37
31
32
32
44
44
50
50
52
46
82
101
94
57
33
34
34
26
23
19
20
21
21
21
17
14
1
5
14
30
51
62
74
78
82
86
90
96
94
85
64
65
52
36
13
4
3
2
3
1
0
0
0
0
2
2
3
2
25
86
115
110
90
79
65
50
7
0
3
0
0
1
34
74
54
26
30
32
39
48
39
37
27
24
25
22
22
25
21
19
25
25
22
23
20
15
2
2
2
0
1
4
3
1
0
0
1
3
0
0
0
0
0
1
0
1
8
22
22
22
25
23
23
19
17
15
13
11
10
6
2
0
2
0
0
0
0
0
3
1
2
6
8
8
11
9
5
2
0
0
0
0
0
0
9
82
146
174
179
178
178
178
178
176
174
166
162
162
162
138
81
2
0
0
0
0
0
0
0
1
1
1
4
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
37
158
159
170
145
151
154
155
150
150
153
188
168
153
159
137
154
161
153
152
157
162
156
154
14
16
22
20
24
29
29
27
25
24
25
15
6
1
0
0
0
0
1
9
24
23
44
58
57
63
69
66
69
73
77
83
86
78
70
54
42
35
28
29
27
12
6
1
0
1
1
1
0
0
0
1
1
3
2
3
0
2
3
16
16
16
14
15
5
21
65
91
108
109
107
103
112
105
97
74
55
45
38
49
47
49
51
51
52
70
73
56
41
37
31
30
26
26
22
19
18
20
22
18
16
11
4
2
26
57
70
73
80
83
91
94
94
90
89
91
91
81
51
11
0
0
0
0
0
1
0
0
1
0
0
1
1
20
77
102
96
76
63
45
24
1
0
0
0
31
54
58
60
43
39
45
42
47
49
45
42
40
40
29
27
25
28
20
17
23
23
20
13
9
9
9
4
0
1
3
10
12
13
7
3
0
0
1
0
1
0
0
3
8
15
21
20
20
22
24
22
22
17
15
13
12
10
8
5
3
1
1
3
7
4
1
0
0
0
1
0
1
4
6
6
5
5
3
0
2
0
5
2
17
107
167
180
179
178
178
177
170
168
166
161
159
156
150
138
99
19
0
1
0
0
0
0
0
1
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
10
83
155
156
141
143
142
149
161
154
154
160
163
164
164
162
154
155
151
152
157
159
152
155
17
19
21
20
21
29
25
32
27
31
24
0
0
2
3
0
1
3
9
8
28
48
52
59
62
68
79
79
86
91
97
97
88
71
60
48
39
36
35
25
22
0
0
0
0
2
1
0
0
0
0
0
3
0
0
2
2
5
8
13
18
12
8
5
5
4
62
96
114
114
116
118
122
125
125
126
113
92
65
57
50
55
56
52
62
74
56
45
45
38
34
34
30
27
23
21
20
22
23
19
19
15
13
9
9
42
74
93
93
95
102
115
124
123
109
102
96
90
74
49
20
0
1
0
0
1
0
0
1
0
0
0
4
14
61
88
80
64
53
46
33
28
46
64
70
73
70
73
62
49
45
43
47
47
47
44
46
46
42
31
31
31
30
25
23
25
25
22
17
15
17
12
5
2
0
5
17
14
8
4
0
0
0
0
0
0
0
4
15
16
19
22
20
22
23
22
20
19
14
12
9
14
12
8
3
3
3
2
2
1
4
5
8
6
3
0
0
0
2
4
5
2
8
6
0
2
1
0
0
9
99
151
177
176
175
175
175
169
165
160
159
157
149
143
135
107
45
0
5
3
0
0
0
0
0
0
0
0
3
3
4
0
0
0
0
0
2
0
0
1
0
1
1
0
1
0
3
30
88
152
146
151
148
157
148
150
172
173
163
161
160
152
150
151
150
162
168
161
152
17
18
23
23
26
29
28
32
31
21
10
0
0
0
1
0
1
1
6
28
49
54
58
61
63
72
85
89
95
102
106
98
78
55
41
32
37
38
35
29
11
0
0
0
0
0
0
1
0
0
0
0
4
7
12
12
12
15
8
10
7
7
3
6
6
0
48
86
100
115
119
124
124
126
132
141
146
140
118
89
72
57
54
51
70
79
62
54
44
38
39
34
31
30
28
28
27
29
27
21
19
17
21
17
13
22
54
87
108
115
122
125
132
146
146
146
144
140
114
68
43
24
9
3
0
0
0
0
0
0
0
0
8
34
66
81
73
72
68
87
89
97
97
97
92
88
78
76
72
59
57
52
57
54
51
50
50
45
42
38
38
38
33
33
31
31
28
24
22
20
18
13
8
3
4
0
0
14
20
15
10
2
1
0
0
1
7
11
16
15
15
18
20
20
19
19
16
15
12
12
9
11
11
4
2
2
3
0
0
2
5
7
10
6
5
4
2
0
0
3
0
1
8
9
8
3
0
0
0
0
41
119
161
171
167
167
167
165
161
158
152
145
144
134
125
108
63
8
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
3
1
5
9
57
143
144
142
145
167
156
160
148
170
163
165
174
151
151
145
148
147
157
162
153
7
12
21
25
22
27
34
29
21
3
3
0
0
0
0
0
0
18
38
44
53
57
60
63
70
81
94
95
103
106
104
89
61
45
40
39
40
44
32
24
7
0
1
1
3
0
0
0
0
0
0
5
11
18
24
18
12
12
10
7
11
6
1
7
4
0
18
67
100
120
129
128
120
120
126
140
139
131
135
121
96
73
62
57
71
95
79
58
34
31
35
32
30
29
27
28
28
27
23
26
26
25
27
19
25
45
22
43
76
107
117
125
131
138
148
150
150
153
150
108
49
15
33
36
30
23
18
17
16
27
35
51
61
76
78
76
78
91
107
123
129
120
113
104
92
83
73
63
61
53
55
58
57
54
52
49
49
46
46
46
44
39
34
33
34
31
29
26
24
19
17
13
11
7
0
2
11
20
22
20
16
9
6
5
5
4
4
10
15
14
16
15
17
17
15
13
13
11
8
8
11
5
3
1
1
1
1
2
2
1
5
5
3
2
2
6
2
2
0
3
0
0
1
18
16
8
2
0
1
0
11
74
127
163
165
162
162
160
154
151
143
136
128
125
118
109
77
25
0
0
1
2
0
1
2
0
0
0
3
2
1
0
0
1
0
2
2
3
0
1
2
3
1
0
0
1
1
16
57
186
143
159
148
152
153
151
180
170
163
159
156
166
151
156
147
150
158
167
162
15
18
22
23
32
35
30
16
0
4
3
1
2
0
0
2
24
42
45
49
52
56
61
67
73
82
96
102
107
102
88
75
52
47
48
46
43
42
33
10
3
1
1
0
4
0
0
4
2
13
21
26
22
24
16
14
10
10
10
3
5
5
10
28
41
53
71
95
119
130
139
139
136
117
102
88
80
71
58
54
56
66
75
91
103
109
107
83
66
56
53
42
35
33
30
27
27
26
22
26
26
27
29
35
55
60
38
4
15
65
101
114
121
127
140
142
144
143
147
115
63
22
30
34
45
52
54
64
70
77
75
73
61
57
49
60
88
114
122
117
108
104
96
84
75
68
65
58
55
52
50
50
50
50
50
50
49
49
53
54
50
44
43
43
43
40
39
35
29
23
20
19
17
15
18
18
18
14
15
12
11
7
2
1
1
4
4
8
11
13
13
13
13
13
11
10
10
7
3
3
4
4
2
1
0
0
0
0
0
0
3
3
0
2
4
4
3
1
2
0
6
16
20
30
19
5
0
2
1
20
33
39
77
118
146
150
150
147
146
141
133
127
119
116
108
99
79
46
9
0
0
0
0
0
0
0
1
0
1
1
1
0
3
4
6
8
5
5
0
0
0
0
0
0
0
1
0
5
48
121
151
144
148
163
169
163
185
161
167
168
174
162
153
149
145
151
158
166
167
15
17
16
20
23
36
38
25
2
5
3
0
2
0
10
24
32
46
49
48
53
59
65
76
78
84
92
101
98
87
74
60
52
50
47
49
47
44
22
6
0
0
1
0
0
0
8
25
32
28
24
25
25
14
12
11
9
10
5
5
18
44
77
110
129
136
144
147
148
142
140
139
137
118
96
84
79
70
56
49
59
94
119
137
141
141
143
143
137
125
113
100
82
65
52
42
31
28
27
23
27
33
50
67
84
77
35
0
0
8
60
93
108
114
121
132
139
137
135
119
73
34
49
63
65
59
57
53
57
64
62
51
40
26
22
50
89
110
107
102
96
87
85
82
78
72
67
61
59
58
63
61
61
64
64
64
64
64
63
60
56
45
48
46
42
39
29
24
12
5
1
7
8
3
1
3
2
1
0
3
3
1
3
1
3
5
3
5
5
7
9
12
9
11
13
10
8
7
5
3
4
0
0
0
1
1
1
0
1
2
1
1
0
1
1
0
1
1
0
1
11
29
36
36
21
16
26
42
60
70
67
69
64
81
112
132
142
143
140
135
126
117
112
102
98
91
82
58
33
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
0
0
0
0
0
0
8
22
149
159
147
154
170
179
171
173
153
160
147
168
157
153
157
157
159
166
172
3
7
3
3
2
1
7
5
0
1
0
0
0
14
24
29
32
34
34
47
57
63
67
76
78
84
93
97
95
82
61
55
52
49
47
49
49
46
17
0
1
0
0
0
19
33
34
37
30
29
22
21
21
15
8
7
3
8
24
55
87
113
135
143
143
142
142
142
140
134
131
124
134
128
116
114
109
105
101
106
117
136
148
151
154
152
152
146
142
135
134
133
125
116
105
86
66
50
38
26
34
49
84
100
108
77
43
34
42
50
50
65
83
92
104
116
127
129
129
116
85
54
58
74
84
80
70
61
49
51
57
56
41
28
32
55
88
91
90
97
94
97
97
96
92
84
79
74
71
69
69
67
65
70
68
66
62
60
57
51
41
29
21
7
0
1
0
0
0
0
2
0
0
0
0
0
1
3
0
3
0
1
0
0
2
2
1
4
4
6
8
10
8
10
8
7
7
6
4
2
3
1
0
0
0
1
3
0
0
0
0
0
0
3
3
2
4
4
1
2
5
5
4
7
5
20
38
69
81
78
70
68
64
59
69
93
114
129
127
124
116
112
105
98
89
87
75
65
44
10
1
0
1
0
0
0
0
1
0
0
2
0
2
0
2
0
0
0
0
0
1
1
1
2
3
1
2
0
0
0
115
154
141
162
153
174
162
163
155
159
167
169
153
146
154
152
155
167
169
2
0
0
1
1
2
2
3
2
0
2
0
16
23
22
27
22
22
33
42
56
62
68
76
76
83
89
100
92
74
62
58
51
49
43
48
47
41
16
5
3
0
7
28
42
39
36
36
34
32
30
26
23
19
10
9
32
52
83
117
134
143
141
132
130
132
135
130
117
95
88
86
83
81
73
73
70
67
79
98
112
110
103
96
81
75
70
70
70
74
74
81
87
86
89
86
87
73
60
57
53
62
100
111
101
80
73
78
80
84
80
61
60
68
79
92
115
122
120
112
83
53
51
74
83
85
82
77
67
52
39
50
62
54
63
83
98
104
104
105
103
108
106
102
91
85
81
79
76
69
58
56
60
56
46
42
36
19
5
9
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
2
2
2
1
0
0
0
0
0
0
0
0
0
0
2
4
7
7
8
8
8
6
4
4
5
0
0
1
0
0
1
0
0
1
2
2
1
3
1
1
2
2
2
4
2
3
2
0
0
5
34
59
70
67
61
53
49
46
46
50
73
94
105
113
105
101
97
90
88
79
78
61
46
26
2
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
2
3
0
0
1
5
2
0
0
2
2
28
107
150
162
155
153
163
169
166
154
152
171
163
161
156
148
155
154
162
168
1
2
1
3
3
0
1
3
1
0
4
21
24
28
14
1
11
21
33
42
54
62
68
75
78
86
94
95
78
66
61
59
54
51
42
46
46
37
17
1
6
7
30
35
39
40
38
33
31
31
29
25
17
16
33
51
85
103
122
130
132
132
129
122
128
133
123
84
31
2
0
0
2
4
7
15
15
15
14
13
7
9
6
1
5
3
1
2
2
1
0
2
2
2
13
22
32
44
54
69
81
94
113
115
104
90
87
87
96
94
94
83
64
40
42
51
70
103
109
113
91
59
51
69
77
92
98
94
90
78
62
56
65
67
75
87
94
99
102
98
91
79
68
57
40
31
34
46
56
47
25
20
35
46
32
23
36
27
26
22
21
28
29
34
31
20
10
1
3
3
2
1
1
0
0
0
0
0
0
0
0
1
1
2
3
1
0
1
2
1
2
5
5
4
6
6
4
3
0
0
1
1
1
1
1
1
2
0
0
0
1
1
1
5
3
5
5
5
7
4
2
3
3
1
0
0
15
38
50
52
51
42
40
33
35
31
26
41
62
82
96
96
92
82
78
75
71
57
46
25
1
0
1
0
0
1
1
0
0
2
3
1
1
0
3
1
1
1
0
0
0
0
0
13
23
35
46
51
49
48
80
160
159
159
154
178
165
172
164
154
155
164
160
155
165
162
154
160
170
0
0
1
2
2
0
0
0
1
20
17
23
14
3
1
12
18
27
36
40
49
50
60
73
85
89
95
90
74
63
58
58
60
57
52
46
39
33
13
15
14
30
39
43
49
44
43
36
33
29
24
21
23
45
64
87
95
102
124
127
126
121
112
124
126
120
79
39
5
7
4
1
11
7
6
5
9
11
3
3
1
1
1
1
0
0
0
0
0
0
0
0
0
2
10
22
36
53
90
135
152
160
157
152
139
121
107
100
101
100
96
89
84
57
5
0
17
62
94
103
98
83
70
55
54
68
83
93
96
93
78
66
63
70
63
41
31
26
25
12
0
3
0
0
1
16
33
56
71
71
50
26
43
47
33
36
44
45
39
31
32
34
37
35
25
16
5
4
0
2
5
0
0
0
2
1
0
1
1
3
0
0
2
5
12
11
0
1
2
0
0
3
3
9
17
21
22
5
6
3
2
3
3
4
2
2
1
0
1
1
1
3
4
6
6
7
5
7
6
6
4
3
5
1
0
0
1
10
21
31
39
43
45
38
32
27
22
14
21
42
70
86
83
74
72
70
62
51
44
21
6
0
0
0
0
3
1
1
0
0
0
3
0
0
1
1
3
13
25
31
33
33
33
33
34
39
46
48
51
47
61
137
184
151
153
174
167
162
154
153
155
159
155
154
149
140
154
162
174
1
1
1
0
0
1
1
9
17
21
15
6
0
0
1
15
19
27
29
37
41
47
67
95
113
107
100
89
70
53
50
49
48
48
43
37
31
30
17
15
18
31
38
41
47
47
44
38
32
33
49
58
66
76
86
90
97
111
121
115
112
113
123
124
113
88
24
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
1
1
0
0
0
2
0
2
8
32
47
55
86
125
160
175
180
179
174
169
159
156
148
135
123
109
99
98
76
31
0
7
0
4
53
86
102
83
54
35
29
32
31
56
73
85
75
58
41
43
35
28
21
16
13
8
4
4
0
5
20
44
66
84
91
87
70
33
29
33
30
46
57
49
39
32
25
22
24
13
4
2
2
1
3
1
1
1
1
2
0
1
1
1
1
1
2
0
0
2
12
18
16
7
0
0
11
26
35
53
73
67
49
8
2
2
1
1
1
0
2
2
0
0
0
0
0
2
3
5
5
6
12
12
12
10
8
4
2
1
0
0
0
0
0
4
7
18
24
28
27
27
24
21
18
15
34
54
70
69
68
64
59
44
37
21
7
0
0
0
0
0
0
0
0
0
0
0
5
11
18
22
21
27
29
30
35
35
36
42
42
45
45
49
52
50
46
119
183
138
155
152
155
162
172
172
171
162
147
151
148
146
152
160
169
3
0
0
0
0
8
11
16
22
11
0
0
0
0
0
10
14
20
19
27
38
63
92
120
132
122
96
77
59
54
50
50
46
40
37
25
22
26
18
17
25
30
31
36
45
44
37
49
60
86
111
117
118
109
93
95
110
111
111
110
109
119
124
103
77
28
6
0
0
1
0
0
4
3
3
3
3
3
0
0
0
1
1
1
1
2
0
0
1
1
16
31
32
29
38
64
128
156
175
176
176
175
168
163
155
149
134
131
126
118
108
103
79
30
1
0
5
25
49
72
85
78
44
17
7
4
0
5
35
61
75
60
46
24
24
23
23
19
14
12
13
15
11
15
35
70
93
105
104
102
92
54
25
15
35
50
47
37
26
15
5
0
2
2
2
1
1
0
3
3
1
1
1
4
0
0
3
0
0
1
2
1
0
3
4
1
9
14
27
39
59
86
94
106
90
61
12
3
1
1
0
0
0
0
0
0
4
0
0
0
0
1
3
7
7
8
9
11
12
14
12
5
3
1
2
4
4
0
0
0
0
0
2
6
12
14
15
15
15
13
11
24
45
58
59
58
51
41
21
14
2
0
0
0
0
0
0
1
12
16
19
19
19
20
23
27
29
31
35
39
37
37
39
44
47
46
49
52
52
52
50
94
170
149
173
179
169
158
152
143
141
152
153
153
146
146
155
156
170
2
0
0
5
16
25
24
17
0
0
0
0
0
0
0
2
6
8
17
31
48
67
99
129
130
112
87
71
49
48
45
45
45
40
33
27
23
28
19
26
30
34
34
32
38
52
77
106
122
120
102
106
101
92
97
101
110
104
102
104
117
120
110
63
16
0
1
0
1
3
1
0
1
1
0
4
2
3
1
1
0
1
3
3
1
3
1
4
21
34
48
52
40
33
47
87
149
169
176
172
172
171
166
161
155
133
112
113
126
123
114
102
95
88
78
62
59
67
69
49
48
70
54
15
0
0
0
9
18
35
59
66
58
35
28
24
24
24
23
19
14
14
24
26
33
61
88
105
113
107
99
72
46
28
27
28
23
10
1
0
0
2
1
1
1
1
1
0
4
2
2
4
4
4
3
1
3
2
5
0
0
0
0
0
5
17
31
49
80
94
101
106
97
75
29
1
1
0
2
0
0
0
0
1
0
0
1
0
0
2
0
2
5
8
8
9
9
9
10
11
9
3
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
8
32
45
51
51
42
32
13
5
0
1
1
1
0
14
20
18
15
22
29
34
34
36
38
37
38
42
45
44
44
43
53
53
54
55
54
53
50
46
51
154
157
157
182
174
172
159
157
151
155
140
148
150
154
154
160
167
0
1
11
18
20
24
8
0
0
0
0
2
0
2
0
3
0
2
12
33
45
62
88
111
105
97
75
68
57
51
53
53
47
38
30
20
25
31
28
32
36
31
35
59
88
107
116
114
103
53
18
49
78
95
103
107
105
100
101
108
115
104
69
11
0
0
0
1
0
0
0
0
2
4
2
0
0
3
4
4
4
9
12
14
17
15
16
17
36
51
54
56
51
54
79
123
161
173
175
173
170
164
161
155
148
145
138
130
128
124
119
108
100
93
86
79
74
66
61
51
19
48
65
44
0
0
0
13
29
26
43
51
55
40
29
26
20
23
22
27
33
41
67
73
65
46
42
68
94
95
85
60
39
37
23
10
1
2
4
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
5
3
1
4
4
0
5
13
23
34
52
74
87
97
98
101
101
78
44
13
0
1
2
0
7
8
15
20
35
29
16
4
0
0
0
0
0
2
7
9
9
11
10
10
10
8
6
7
3
3
2
0
0
0
1
1
4
0
0
0
0
0
0
0
0
1
0
2
5
4
29
35
43
42
36
8
0
0
0
10
25
23
20
22
27
34
36
39
39
41
44
46
46
48
50
50
45
49
53
54
53
51
52
46
43
42
44
43
58
155
155
174
174
162
151
156
158
152
136
142
155
157
161
161
162
9
14
24
27
19
0
0
1
0
0
0
0
0
0
0
0
5
22
50
60
61
59
63
75
83
84
82
76
67
52
52
47
38
33
30
24
21
25
29
34
43
59
86
106
120
109
68
15
1
11
58
80
93
94
101
103
103
100
106
109
99
74
27
0
1
0
0
1
1
0
0
0
5
8
6
11
12
15
14
10
10
20
19
19
23
21
20
22
35
45
47
51
51
61
95
142
166
173
175
172
168
163
159
153
145
136
128
118
113
107
100
93
87
87
85
84
79
67
59
57
65
51
58
63
41
17
1
2
12
29
31
35
38
39
32
24
24
35
43
60
77
91
108
122
123
86
54
31
31
36
22
3
7
24
33
28
8
2
0
9
11
11
5
0
0
3
1
0
1
0
0
0
0
0
3
2
6
8
19
32
49
65
79
86
89
94
100
99
89
70
40
4
1
0
0
3
15
29
34
54
75
89
70
29
9
0
0
0
0
1
0
0
3
6
6
6
6
6
6
7
5
4
0
0
1
0
1
2
1
1
0
0
0
0
0
0
0
0
0
2
5
5
4
13
32
48
36
34
35
34
19
26
32
32
32
34
36
37
42
44
47
49
49
50
52
52
50
52
53
52
47
47
48
44
44
45
47
44
44
42
44
43
44
158
155
169
166
157
152
153
149
154
141
145
154
152
157
157
161
23
22
12
0
0
0
1
0
1
0
0
0
0
4
5
3
27
47
72
80
82
78
70
63
63
82
79
86
77
64
60
53
43
30
28
25
22
26
31
45
73
96
104
94
43
3
0
3
0
20
62
74
79
92
94
96
102
110
113
103
77
44
23
7
3
3
0
9
21
32
33
37
47
45
42
44
40
36
32
34
38
40
51
54
50
48
44
39
44
53
72
74
71
83
128
160
168
164
153
146
136
126
118
108
105
100
95
94
83
84
78
71
71
71
79
74
69
65
57
48
45
44
48
56
67
41
26
3
9
17
16
17
21
23
27
25
30
44
63
89
101
103
110
110
90
65
36
20
20
22
14
3
1
11
32
34
18
3
10
26
41
42
20
0
0
1
1
1
0
0
4
0
0
1
13
26
40
55
73
82
80
81
89
89
92
91
73
56
29
7
0
0
5
18
35
51
71
84
79
74
56
20
2
4
1
1
0
3
0
1
0
0
0
6
3
5
6
4
3
3
1
1
4
2
3
0
0
0
0
0
1
5
3
3
0
0
0
4
1
0
5
3
10
36
80
75
21
2
27
39
41
42
42
42
42
48
50
54
53
53
55
58
57
56
54
49
47
39
39
40
39
43
48
46
48
46
48
45
45
42
45
42
38
98
161
171
150
158
166
159
144
155
159
159
149
156
153
153
159
13
1
0
0
0
0
0
0
1
0
0
0
0
6
14
42
62
85
94
99
100
89
77
72
69
71
85
88
88
79
68
62
58
54
50
50
47
46
56
72
83
89
42
0
5
0
1
5
1
12
57
75
81
89
87
87
96
106
94
73
50
45
38
31
28
24
29
44
62
69
73
79
79
77
77
74
72
68
68
67
71
80
90
88
88
88
82
80
87
89
97
101
113
130
138
131
85
29
5
0
0
0
0
0
10
36
42
43
36
36
45
68
76
76
81
83
80
76
69
57
44
26
13
18
27
37
38
33
20
1
0
0
2
0
0
0
0
0
6
22
37
47
40
16
6
4
8
9
9
12
14
12
11
2
13
28
26
23
30
45
66
54
32
4
0
0
0
0
0
2
8
17
39
58
71
79
79
76
78
79
84
81
73
63
46
29
22
15
17
23
34
46
61
69
70
69
64
48
17
3
1
0
0
0
0
0
1
1
0
1
0
0
0
2
2
1
3
3
2
2
0
0
2
0
0
0
0
0
0
0
0
3
1
1
0
0
0
0
0
0
1
1
17
70
94
84
44
13
16
42
49
56
60
60
59
59
59
59
56
54
52
46
40
39
40
40
43
42
44
44
45
48
55
56
56
55
54
52
52
50
44
33
29
60
157
176
124
161
154
160
160
149
159
164
162
167
153
157
161
0
0
0
0
0
0
2
0
0
0
5
14
19
33
40
55
61
84
99
106
105
98
85
74
71
73
75
87
90
89
83
71
63
59
59
53
55
58
60
68
65
41
45
36
5
2
0
1
3
13
49
65
81
83
83
84
92
87
72
28
31
45
44
37
35
40
55
68
77
87
90
98
97
95
94
93
91
89
88
84
88
95
103
109
107
111
110
103
107
111
99
93
83
79
41
0
0
0
1
3
4
4
2
17
31
48
63
60
50
44
54
62
70
73
66
59
40
18
23
39
34
23
6
0
0
0
5
31
40
26
6
0
0
4
0
2
0
2
2
1
0
0
0
0
0
12
21
29
29
33
22
24
24
16
6
19
29
32
45
58
65
63
50
24
2
0
6
7
28
44
60
70
77
77
73
73
74
69
61
52
41
31
18
9
8
22
38
46
52
61
63
62
61
57
43
23
11
1
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
5
0
0
0
3
3
3
0
0
0
0
0
0
0
0
0
0
0
3
2
2
0
0
0
0
1
2
40
88
94
85
67
47
49
60
70
71
69
65
62
53
49
44
40
40
42
43
43
42
41
41
44
45
49
50
54
58
66
66
62
52
43
41
41
42
36
37
37
58
158
164
155
151
165
153
165
151
147
158
155
166
166
165
156
2
0
1
1
2
3
0
0
7
19
21
18
26
41
47
47
62
90
103
107
112
101
88
78
75
75
76
77
77
75
73
67
57
55
53
57
58
56
50
52
51
61
58
45
32
19
7
0
5
23
48
59
74
74
74
78
76
59
33
17
24
37
41
40
38
44
47
55
63
70
76
80
80
78
78
75
75
75
73
77
79
77
83
89
95
97
98
101
105
99
65
34
32
44
35
32
35
37
38
32
28
25
26
39
53
61
65
52
35
45
54
56
57
39
13
4
4
24
42
58
65
67
54
33
10
0
0
7
17
31
41
36
15
5
0
2
14
3
0
0
0
0
4
18
44
67
80
85
87
84
85
80
73
64
55
51
52
47
52
66
66
62
51
33
20
19
41
63
67
67
62
56
50
47
43
36
26
20
11
6
5
11
26
33
39
44
46
48
50
46
41
30
21
11
1
0
0
5
0
0
2
1
1
0
2
2
0
1
0
4
13
19
19
13
5
0
0
0
0
4
4
4
1
1
1
1
1
1
0
0
0
0
0
1
2
2
0
0
0
0
3
9
51
69
73
78
78
75
79
85
76
63
54
50
49
49
49
48
47
45
45
44
44
46
48
48
51
58
63
69
75
79
84
80
69
54
49
49
42
38
39
39
37
60
159
147
155
155
162
157
162
158
150
155
148
150
159
171
149
0
0
2
2
7
14
19
23
20
14
11
7
10
15
30
41
59
78
101
111
111
101
95
86
78
76
75
73
69
62
53
47
36
30
21
9
7
5
2
14
23
32
31
36
27
26
22
19
18
34
52
65
63
61
64
65
57
43
30
22
28
43
44
43
45
48
46
53
61
63
66
65
62
62
63
63
63
63
60
58
69
77
82
87
93
95
94
101
103
91
73
70
95
97
85
79
73
66
59
49
50
49
53
61
67
71
65
59
52
52
35
7
2
0
3
7
17
45
60
67
61
43
26
9
0
0
1
1
5
0
1
16
32
41
27
13
39
25
3
5
23
63
101
114
112
112
109
107
105
105
99
92
85
84
79
76
69
64
59
56
49
43
44
36
30
35
44
48
49
46
36
24
5
0
0
0
5
22
29
35
38
36
35
35
37
35
28
20
12
0
0
0
2
0
0
0
0
0
1
1
2
0
1
0
0
0
0
0
0
13
33
41
41
38
30
16
2
0
0
0
1
0
5
3
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
5
8
14
30
47
57
71
80
64
56
53
51
55
62
61
59
56
53
49
48
44
43
47
50
57
66
74
82
90
107
108
103
97
90
80
78
70
65
62
52
48
45
57
145
153
161
167
164
163
161
160
158
148
154
150
153
153
155
3
5
8
14
22
32
36
31
23
4
0
0
0
6
16
41
63
86
92
100
96
95
92
83
79
77
74
69
65
57
48
42
34
28
19
7
1
0
0
0
3
3
12
21
23
19
14
10
14
29
52
65
60
54
44
47
43
34
34
39
41
48
58
56
54
57
55
56
57
58
58
57
50
48
49
50
50
51
53
53
65
71
76
81
83
83
82
92
109
112
108
110
120
118
113
107
103
97
81
78
72
68
60
53
62
56
51
43
26
9
0
0
0
0
2
9
26
46
54
37
14
3
1
3
12
9
2
0
0
1
0
0
1
12
32
41
50
57
74
94
112
118
121
119
114
114
112
111
109
106
102
95
88
85
82
77
74
69
65
55
48
44
39
30
27
35
35
29
21
15
11
8
3
15
17
24
33
40
41
44
33
27
21
16
12
7
4
1
3
2
0
1
0
0
0
0
0
0
0
0
1
2
2
2
1
1
2
0
0
6
10
22
37
40
36
24
5
0
0
0
0
0
4
4
3
3
3
3
0
0
1
0
0
0
2
2
0
0
0
0
4
2
0
0
4
8
18
45
70
78
73
66
65
68
70
65
58
49
43
42
36
33
35
38
37
33
56
78
83
81
83
79
77
78
67
58
48
44
42
40
39
39
46
64
150
171
187
174
165
162
162
168
158
153
152
146
148
149
153
14
20
28
33
39
43
36
25
2
0
0
0
0
0
5
34
52
72
81
85
83
88
83
76
76
73
67
66
62
55
45
42
39
37
33
29
27
22
3
1
0
1
14
18
20
20
12
2
1
8
47
60
62
44
34
24
30
32
38
46
46
53
59
58
59
62
57
56
55
56
55
48
43
41
42
45
45
46
51
58
62
59
66
63
62
59
60
73
97
118
118
124
130
133
131
126
118
110
103
88
71
50
42
52
55
46
33
13
1
0
0
1
1
0
5
10
34
50
46
21
0
4
1
3
19
22
3
0
0
1
0
0
0
4
15
21
27
33
58
85
88
94
96
94
96
94
95
98
96
92
86
84
82
75
70
70
68
63
58
52
43
41
40
37
36
37
30
26
23
13
10
10
8
8
6
6
5
3
10
19
25
22
12
2
0
0
2
2
0
0
0
0
0
0
1
1
1
2
0
0
0
1
1
2
0
0
0
1
0
0
0
0
1
0
3
1
0
0
0
0
0
0
5
5
4
0
0
0
0
1
2
0
0
0
1
1
0
0
0
0
0
0
0
2
2
1
3
25
61
63
50
40
25
16
11
6
0
0
0
0
7
16
20
29
18
4
0
0
0
4
25
22
14
3
0
2
1
0
0
0
0
0
10
26
130
164
157
155
161
151
169
177
156
147
152
146
152
150
154
23
25
38
48
52
43
32
16
0
0
0
0
1
1
7
23
41
41
53
71
80
83
81
70
66
62
56
57
53
50
49
46
42
51
56
61
58
56
32
29
20
11
9
13
18
16
8
4
1
5
51
63
55
24
0
2
0
6
20
39
56
60
61
62
57
55
48
53
55
54
52
49
41
39
36
38
36
39
48
52
53
53
52
35
13
17
31
59
86
107
129
136
141
141
140
135
128
109
82
50
24
20
37
43
38
32
15
0
0
0
4
0
1
0
0
8
42
65
57
33
14
9
3
10
27
40
27
9
0
2
3
5
11
20
19
9
7
5
15
37
65
88
101
102
91
87
82
76
72
69
68
65
65
67
62
62
59
57
52
49
44
42
40
36
36
30
24
20
21
15
13
9
7
8
8
8
6
0
0
1
5
11
14
13
4
2
3
3
5
0
0
0
3
3
0
1
0
0
0
0
0
0
0
0
0
0
0
2
2
2
0
2
0
0
0
0
0
0
0
0
0
0
4
4
5
1
0
0
0
0
2
1
1
1
3
1
1
2
2
0
0
0
0
2
2
1
0
2
4
2
0
0
7
3
2
0
0
0
0
0
4
10
16
26
2
0
0
0
0
4
3
1
2
5
9
13
10
8
5
11
9
13
12
10
46
179
171
169
134
164
165
163
149
148
139
136
144
146
146
22
21
26
31
39
48
40
24
1
5
0
3
4
2
8
16
16
21
22
52
72
79
78
69
59
52
40
40
36
33
38
38
41
48
55
68
81
73
65
50
34
20
11
4
7
3
1
0
6
0
49
53
43
2
2
3
6
1
13
42
60
66
65
47
37
32
36
37
41
38
44
48
43
40
35
35
35
36
39
41
41
39
35
33
27
29
24
55
103
134
136
141
146
144
146
128
88
40
0
3
15
27
39
33
35
28
4
0
0
0
13
14
8
0
0
3
36
58
63
46
34
16
8
19
29
36
38
38
31
30
39
23
4
0
0
0
0
0
0
0
0
18
64
83
93
94
92
89
81
74
71
64
59
56
52
47
45
42
43
47
45
40
38
36
32
26
24
22
18
12
11
4
6
5
4
2
1
0
0
0
4
6
2
3
0
1
4
2
2
1
0
0
1
0
0
4
0
0
0
0
0
0
0
0
0
1
3
0
0
1
0
0
2
3
3
3
0
0
0
0
0
0
4
4
4
4
4
3
3
3
1
1
1
1
2
2
1
2
0
0
2
2
1
3
2
2
3
3
2
6
8
9
9
9
8
0
0
0
0
3
6
0
14
21
4
0
0
0
9
9
9
9
11
13
15
16
16
13
11
8
15
10
4
0
16
162
150
147
141
176
169
165
151
149
148
143
150
154
150
5
10
2
7
8
18
40
44
42
29
23
20
16
10
10
9
11
14
15
28
53
63
68
65
54
49
35
28
20
15
21
23
26
30
36
48
56
58
61
59
44
26
18
5
0
0
0
0
2
1
20
29
13
1
0
1
0
3
16
45
60
69
73
60
51
41
36
25
19
22
26
30
35
41
45
42
39
38
28
24
26
30
40
54
68
74
82
112
135
141
144
150
152
137
98
45
0
0
2
9
18
30
47
55
51
28
9
0
1
2
11
9
2
0
1
0
31
59
65
56
47
32
27
30
31
29
32
41
40
19
0
3
0
0
1
0
0
0
0
0
5
1
0
0
23
54
73
79
75
75
76
71
68
60
54
48
42
37
36
29
27
23
18
18
17
19
19
17
17
17
14
10
8
5
5
2
0
3
5
7
7
5
2
0
0
1
0
0
0
0
0
2
0
4
0
1
0
0
2
2
0
0
0
0
0
0
1
0
2
2
0
0
0
0
2
3
0
0
0
0
0
0
3
3
4
4
1
2
1
1
0
1
1
1
3
1
2
2
2
1
0
0
2
3
5
11
10
11
11
5
7
5
4
4
11
14
12
9
5
3
2
0
3
17
19
7
3
18
20
18
19
20
21
31
33
32
29
27
25
13
3
1
0
0
2
140
156
171
160
160
159
172
169
163
155
150
154
157
159
1
1
0
4
5
6
10
26
45
36
31
19
12
8
11
12
8
17
16
2
17
43
52
47
39
31
18
13
10
6
7
16
23
30
32
39
46
45
49
45
42
38
27
16
0
3
3
1
0
1
3
6
4
0
2
0
0
10
29
57
71
82
84
86
84
81
72
62
48
33
24
18
22
24
32
42
46
47
49
44
38
37
40
45
59
89
115
134
144
151
147
150
133
81
8
0
0
0
2
13
2
20
58
65
51
27
7
0
2
3
0
0
1
1
2
2
21
51
63
60
54
44
31
20
11
7
2
17
28
17
2
0
2
2
0
0
0
0
1
1
1
2
2
3
0
0
0
8
31
51
60
66
63
65
60
55
47
41
34
32
30
27
21
19
18
14
8
4
6
3
1
1
6
15
10
9
11
12
12
12
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
7
2
0
0
1
0
0
1
1
0
1
1
0
0
0
2
2
0
0
0
0
1
1
0
0
0
0
0
2
2
1
1
1
0
0
0
1
1
0
0
3
7
10
16
20
19
11
8
4
4
2
1
1
1
2
2
11
18
19
15
11
5
9
18
23
5
3
17
22
29
35
44
51
57
65
69
64
50
28
2
2
3
0
1
2
102
156
146
163
166
173
163
167
152
145
147
150
157
155
3
5
4
7
4
0
7
10
24
33
31
22
22
14
9
11
9
18
6
1
4
2
10
20
12
12
15
13
10
8
4
14
26
35
39
45
44
41
41
44
42
35
31
20
8
6
5
4
4
2
1
1
1
0
0
6
34
49
66
88
96
102
105
108
108
107
101
94
86
75
67
54
43
31
26
16
21
29
33
37
45
48
43
40
69
104
130
146
144
136
123
87
46
0
5
6
3
5
4
4
1
4
41
55
44
19
3
0
0
0
0
0
1
0
0
0
14
39
55
58
51
39
19
4
0
7
23
26
18
22
12
0
2
0
3
0
0
0
1
1
1
1
1
0
4
4
4
0
1
0
0
9
21
34
40
40
39
37
38
36
36
33
29
27
25
26
22
18
14
16
15
11
7
3
0
3
2
2
2
5
5
8
7
5
5
2
1
1
1
0
0
1
1
1
0
0
0
2
0
0
2
0
2
5
18
23
28
14
5
0
1
1
2
1
2
3
4
0
0
0
0
0
0
0
0
0
1
1
2
0
0
0
0
0
0
2
7
12
21
29
37
41
43
38
27
16
8
4
5
4
4
6
6
6
6
7
7
9
21
25
26
28
25
20
7
0
10
34
44
50
62
70
77
83
91
92
81
58
18
1
1
1
0
0
1
30
156
149
156
163
169
157
163
147
154
150
153
157
158
1
3
2
2
2
0
0
2
11
23
30
33
36
28
23
20
18
20
6
0
0
0
0
0
2
11
17
19
21
23
17
25
33
38
40
42
40
33
29
38
45
41
35
16
24
26
19
2
1
0
0
1
0
2
2
11
45
71
90
104
110
109
102
96
95
89
87
85
86
81
83
83
76
71
63
50
42
38
37
44
45
43
49
75
109
141
145
132
117
81
34
13
16
14
16
18
12
9
2
3
1
0
28
47
42
10
4
0
2
4
0
0
0
0
0
0
19
39
49
50
32
14
0
0
8
25
30
23
16
16
11
5
1
0
1
1
1
3
0
2
0
1
1
1
4
1
2
2
0
1
3
18
20
10
0
0
0
4
14
24
28
26
36
34
33
28
24
18
10
17
22
19
6
5
3
3
2
1
0
0
1
3
2
1
5
7
12
12
12
3
5
8
6
2
0
3
1
2
2
2
0
3
3
1
6
16
26
21
6
0
2
0
0
6
0
0
0
0
1
2
3
1
0
0
1
0
0
0
0
2
2
7
9
11
14
20
28
37
48
56
57
52
44
27
20
20
18
16
16
17
17
16
17
17
17
18
16
17
20
26
31
35
35
22
13
6
8
29
45
56
59
65
71
74
82
80
71
37
0
0
3
0
1
0
0
0
75
165
166
158
163
169
164
164
157
153
156
156
153
5
4
8
10
12
15
16
20
16
18
20
39
45
53
43
39
30
22
9
3
1
0
0
0
10
18
28
35
35
36
36
39
37
38
44
53
50
44
30
36
42
40
38
43
39
33
23
8
2
0
1
0
0
1
0
0
13
30
45
54
58
62
65
63
63
64
63
65
65
63
68
72
76
78
79
80
78
75
67
68
74
77
92
109
124
122
95
63
27
28
36
33
29
28
28
26
20
11
2
0
0
0
14
40
38
10
2
0
0
0
0
0
0
3
1
7
17
35
45
36
15
0
1
2
11
18
26
23
17
10
8
7
10
1
0
0
0
0
0
0
0
0
0
0
2
0
1
0
6
12
19
9
10
14
17
14
11
5
1
1
0
3
16
26
31
29
27
25
23
25
21
21
5
4
6
4
1
1
0
2
0
5
5
2
0
0
0
2
5
7
9
12
17
20
19
18
16
11
7
5
3
6
4
1
7
2
4
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
0
2
0
4
5
12
14
15
20
24
26
30
34
39
41
41
38
30
23
19
17
17
15
14
12
10
12
12
14
11
11
11
10
8
14
26
44
43
16
4
1
2
2
1
7
17
28
30
28
27
34
39
46
34
24
31
4
2
0
0
0
0
1
81
141
158
157
168
170
164
166
149
153
162
149
145
17
15
15
14
15
18
21
23
27
28
30
29
35
47
54
56
49
46
48
43
37
31
32
32
40
46
49
48
48
50
55
64
73
85
90
91
93
87
76
58
58
52
65
63
62
53
43
6
0
1
3
2
3
7
7
10
8
6
2
0
2
8
18
16
19
25
30
32
34
37
37
42
47
51
54
63
67
79
79
81
80
81
76
61
23
10
0
0
1
12
24
34
40
42
39
40
33
20
2
0
1
0
6
29
35
7
0
0
0
1
0
2
2
7
16
22
20
39
33
13
0
0
10
28
12
6
15
23
15
16
8
3
7
13
4
0
4
2
1
4
0
0
0
1
0
2
0
4
24
7
2
6
12
13
19
21
18
18
10
2
0
0
0
0
0
6
12
17
19
17
12
8
5
3
6
7
1
0
1
0
0
6
9
7
5
4
9
11
9
20
15
14
12
10
11
8
6
8
14
14
12
14
10
10
5
5
4
0
0
0
3
0
2
4
0
0
0
2
3
5
7
9
12
17
26
23
20
18
19
21
24
25
25
18
14
8
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
2
2
1
2
0
14
44
43
2
2
2
1
2
4
2
1
1
2
3
3
4
11
30
44
50
57
43
0
0
0
0
7
16
24
32
102
160
168
174
166
163
157
154
156
161
150
148
27
25
17
20
25
22
25
26
32
32
29
27
37
50
60
61
66
76
76
78
76
80
80
79
80
84
85
85
85
87
89
93
102
114
110
107
102
92
83
79
76
78
81
79
76
65
40
27
22
18
17
25
27
28
34
36
36
36
31
24
15
8
1
0
0
2
2
6
8
9
9
10
11
26
41
43
46
47
35
18
0
0
0
0
2
0
0
3
3
16
25
33
40
45
45
47
45
39
29
14
2
1
2
19
26
3
0
1
0
3
1
2
2
5
13
32
35
27
11
0
0
11
31
33
11
5
0
14
17
14
8
4
8
10
10
11
0
1
0
4
4
5
9
11
6
5
20
25
15
1
17
27
32
32
30
28
26
11
0
3
2
1
0
0
0
4
4
4
3
0
0
0
0
4
7
27
32
23
9
0
1
9
11
10
11
11
15
22
35
47
45
20
20
20
20
15
15
17
14
14
14
7
3
4
3
1
0
0
0
0
0
0
0
3
6
18
26
28
31
40
40
40
37
31
28
23
19
18
7
10
18
26
25
18
9
7
3
2
2
0
1
1
0
0
0
0
0
0
1
3
3
3
1
1
0
0
16
47
54
8
4
4
2
2
0
1
3
2
2
1
2
4
8
21
37
54
66
61
50
16
6
17
20
16
9
1
0
1
91
172
173
171
164
164
159
155
154
151
147
39
35
27
30
26
30
28
28
34
30
38
53
54
57
72
67
71
79
82
86
86
87
87
88
89
89
90
95
93
89
91
91
89
85
85
83
80
80
79
81
82
86
81
85
86
86
86
81
77
75
74
75
75
75
75
79
83
83
78
69
65
56
41
27
17
10
3
1
0
0
0
0
8
31
41
41
46
37
9
3
1
0
1
3
0
0
0
3
1
4
15
27
42
49
53
58
61
57
50
35
21
7
0
9
13
1
0
0
5
2
0
0
0
0
0
17
32
14
1
2
0
12
35
31
18
8
0
2
14
13
13
11
7
2
0
3
8
14
7
13
16
18
21
25
24
27
31
34
10
8
21
27
29
25
17
4
7
5
5
2
1
2
6
12
12
8
0
9
16
7
4
0
0
0
13
38
37
15
3
2
0
0
0
0
16
26
35
23
5
21
44
22
20
20
17
18
20
22
19
19
17
7
5
7
5
3
0
0
0
0
5
5
8
14
24
35
49
49
44
41
29
19
19
15
12
5
10
21
30
36
46
48
45
42
42
36
30
25
19
14
3
0
0
0
0
0
1
1
1
0
0
1
0
0
0
13
51
65
25
2
2
0
0
0
4
8
14
19
21
17
13
9
15
22
22
29
34
42
46
39
25
15
5
2
0
3
0
0
38
147
169
172
166
155
154
152
157
152
151
56
49
42
37
26
26
23
29
20
32
44
55
71
79
79
80
85
88
92
95
97
96
96
96
101
101
99
97
91
85
81
81
78
70
68
70
70
72
72
75
77
80
77
80
82
88
88
88
87
87
89
96
96
94
87
91
96
98
94
87
87
85
75
79
75
66
56
51
45
46
42
39
47
63
69
79
83
78
59
48
31
29
26
26
23
22
20
21
17
14
6
4
7
19
27
34
39
43
45
46
38
26
8
0
0
0
0
0
0
2
12
10
12
14
21
23
28
2
0
1
4
9
29
26
18
8
1
2
0
12
14
12
4
0
0
3
1
8
10
0
1
12
12
14
10
29
41
36
4
0
0
4
7
8
6
6
11
11
13
16
18
27
30
33
30
23
14
33
48
44
20
5
0
0
23
37
27
4
0
0
0
7
10
27
37
13
6
5
7
8
31
23
4
4
2
2
6
7
1
1
0
0
0
0
0
0
3
1
1
2
12
23
39
52
54
50
39
28
7
12
18
30
35
44
50
31
14
2
4
1
1
0
0
2
0
3
11
19
19
23
24
18
13
1
0
0
2
0
0
0
0
1
1
0
14
50
72
49
10
0
6
11
16
18
29
37
48
60
59
55
33
25
26
22
15
12
15
25
30
25
15
10
3
1
0
2
0
2
31
61
156
161
162
158
148
154
153
151
147
78
73
59
49
37
31
25
26
27
47
52
67
72
78
87
94
98
101
98
102
108
105
100
93
94
92
93
88
84
76
69
71
69
63
60
60
55
60
70
77
79
80
81
82
89
88
86
84
84
82
80
79
83
85
87
85
85
85
83
84
81
81
82
86
84
82
76
78
81
90
92
91
91
91
92
98
100
96
84
69
60
51
45
40
37
31
31
33
26
20
22
20
19
22
27
35
33
34
29
32
29
22
19
1
4
0
0
2
1
8
22
28
30
33
35
34
22
0
2
4
2
19
20
20
15
8
8
0
0
1
7
11
10
3
0
0
3
3
5
5
4
6
9
12
11
28
39
41
11
2
0
0
3
10
25
32
45
51
53
60
53
42
27
12
0
0
0
4
27
60
67
47
16
4
1
8
6
0
0
0
8
35
36
23
24
21
21
23
24
18
25
28
17
12
6
0
0
0
3
3
5
0
0
0
2
3
0
3
7
9
14
29
45
53
38
19
19
25
41
56
66
70
63
37
2
5
3
4
5
3
4
4
2
1
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
3
0
0
15
50
77
62
43
14
14
21
30
39
46
61
69
76
86
90
79
56
32
12
6
8
11
13
19
18
16
10
5
1
2
0
0
0
9
22
20
103
146
160
159
152
152
151
151
146
92
88
77
68
59
56
47
42
46
57
65
73
83
92
100
99
101
106
107
99
85
66
56
43
30
26
25
21
25
33
45
47
56
57
55
51
52
55
66
74
78
80
83
86
95
96
96
94
92
86
83
75
77
80
79
75
71
68
66
69
70
70
72
67
65
66
62
60
63
76
81
82
81
81
84
87
87
83
77
69
64
62
60
54
50
50
46
44
40
36
33
30
28
28
28
31
34
27
18
6
0
0
2
0
0
2
2
2
1
2
12
14
14
13
14
14
8
1
1
3
8
18
23
15
6
7
5
0
0
0
0
6
16
11
8
1
3
7
8
6
7
11
16
22
20
30
35
39
15
11
10
14
24
38
56
63
63
63
55
46
32
15
0
0
1
0
0
0
5
43
63
63
51
28
17
15
13
21
10
17
35
26
20
23
30
31
27
29
32
27
36
46
36
27
20
9
5
3
3
1
1
0
0
0
0
0
0
2
2
2
0
1
7
1
0
11
31
48
59
59
52
28
16
11
19
14
14
11
5
5
5
5
3
2
3
2
0
2
2
0
2
2
2
2
2
3
0
0
0
0
0
0
8
38
73
70
54
31
24
30
38
49
57
61
70
76
81
81
82
74
58
39
26
7
5
7
10
16
23
27
17
12
0
0
0
1
3
15
2
2
19
123
156
142
148
149
152
153
150
96
98
95
96
87
83
72
61
63
65
72
85
92
97
103
101
101
92
73
47
12
0
0
2
0
1
1
0
0
0
0
0
11
30
37
42
45
52
64
61
67
78
81
85
89
92
86
77
66
51
33
30
26
29
26
29
43
47
53
56
57
61
63
55
57
60
53
55
65
83
89
90
91
89
89
84
82
73
63
61
59
54
54
53
61
61
59
47
41
32
23
18
13
10
9
8
1
0
2
3
1
0
0
0
2
3
3
2
2
0
0
0
0
1
0
0
0
0
1
22
27
7
4
5
0
0
0
2
1
0
0
0
3
11
16
11
6
4
1
1
2
3
9
18
31
32
30
33
19
23
29
38
49
58
56
48
39
37
41
34
28
23
20
19
20
9
13
15
17
38
53
57
63
48
37
23
0
0
12
25
22
22
28
29
31
34
35
39
43
39
52
25
15
19
25
23
21
14
8
3
2
1
0
0
0
0
0
1
0
1
0
1
2
0
0
2
0
4
6
10
0
0
3
5
8
21
19
14
9
7
5
4
4
6
0
1
0
1
3
2
0
0
1
0
0
0
0
0
0
3
7
10
25
49
76
70
42
19
23
26
27
34
46
58
69
74
71
55
49
43
40
28
16
9
3
2
3
0
6
21
23
23
11
5
1
1
5
12
1
1
10
120
158
152
150
146
140
152
152
84
92
94
89
85
87
89
86
77
81
83
94
96
99
99
84
66
38
1
0
4
4
0
0
0
0
0
0
0
0
0
0
6
1
0
0
6
15
25
42
46
54
53
47
42
24
12
0
0
0
0
1
1
2
3
2
2
0
2
10
26
32
37
42
46
53
56
60
66
84
88
88
83
79
68
51
33
15
9
3
0
3
11
19
38
42
40
44
45
46
41
29
20
7
5
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
6
27
37
21
14
13
13
11
4
6
7
3
1
0
0
2
9
12
11
7
0
2
2
0
0
2
5
16
18
14
4
24
42
54
47
44
33
30
22
22
26
34
35
37
39
38
39
43
44
42
53
48
48
42
36
11
1
5
8
15
24
26
23
23
33
36
41
46
50
52
45
38
22
0
3
9
20
18
14
7
10
8
7
5
5
4
5
5
6
5
3
1
2
1
0
2
1
3
2
2
0
1
1
2
2
1
0
0
1
5
4
4
3
2
2
2
4
5
5
7
9
12
18
18
21
23
21
18
17
15
13
14
18
20
32
52
73
52
21
18
26
32
41
45
51
59
46
36
27
23
21
19
14
6
1
0
0
1
4
2
0
3
17
22
29
26
14
3
5
7
3
1
4
53
135
158
149
145
141
143
155
60
64
69
76
66
67
73
74
83
86
92
97
94
88
58
30
0
1
3
1
0
0
0
2
0
0
1
0
1
1
0
0
0
0
1
1
0
0
3
0
0
0
0
0
0
0
1
1
0
0
1
3
1
0
0
1
1
1
0
0
0
0
1
0
5
17
28
33
36
31
33
24
9
2
0
0
0
0
1
1
0
0
1
3
0
0
0
3
17
35
46
45
37
24
11
3
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
2
0
1
4
0
0
0
17
30
33
25
19
28
35
25
27
19
11
0
0
1
0
0
4
9
9
2
0
1
2
2
2
0
2
8
4
0
8
28
28
25
16
14
9
0
0
0
9
10
13
15
24
35
42
51
49
47
27
4
10
3
9
21
20
19
22
24
25
22
22
31
37
33
29
19
7
5
9
0
0
0
10
23
20
18
14
7
2
0
0
0
3
8
12
14
8
6
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
1
0
3
1
1
3
1
3
7
9
12
19
21
23
25
27
28
29
28
27
31
33
31
30
28
27
34
54
70
48
31
24
31
27
22
11
11
10
1
0
2
6
6
7
2
2
0
0
3
3
5
5
6
5
7
6
13
19
24
16
8
4
2
0
0
11
73
151
156
150
151
148
146
36
40
43
52
62
72
74
73
82
88
91
84
63
35
1
1
4
0
2
2
0
0
0
0
0
0
1
0
1
1
0
2
2
0
1
3
1
1
2
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
2
0
0
0
1
0
0
0
0
3
12
12
13
7
9
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
23
30
24
13
0
0
2
1
1
0
0
0
3
0
1
1
0
0
0
0
0
0
1
0
1
0
0
6
25
31
32
23
19
21
28
35
33
24
8
2
0
0
0
0
0
4
11
8
5
3
1
2
1
2
2
2
1
0
0
3
4
3
1
2
4
2
3
0
0
8
23
33
39
33
22
17
8
14
16
18
8
13
25
23
23
25
24
27
27
25
24
5
4
9
8
1
2
3
2
2
1
0
0
8
12
13
11
8
6
1
0
0
2
0
0
0
1
2
1
2
0
2
0
0
0
0
0
2
2
1
0
0
0
2
2
2
0
0
0
0
2
2
3
1
1
8
8
7
2
4
5
3
7
11
19
25
30
33
31
28
34
52
63
36
18
16
7
9
7
8
6
7
4
5
9
7
7
7
3
3
2
3
3
5
4
4
5
7
4
0
0
1
6
26
3
0
0
0
1
1
32
123
155
149
151
150
151
50
42
33
42
58
72
84
82
86
83
74
42
5
2
0
0
0
2
0
0
0
0
0
2
2
2
2
0
0
0
0
0
0
0
0
1
1
1
2
2
2
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
5
10
25
28
36
46
53
54
32
3
2
0
2
2
2
2
0
0
0
2
0
0
0
0
4
8
12
14
7
0
0
0
1
1
1
1
0
0
2
2
0
1
0
4
0
1
0
1
0
0
0
0
0
0
0
1
9
19
29
30
19
10
15
15
13
14
12
7
0
0
0
0
5
2
2
11
17
13
7
2
2
2
0
0
0
0
2
1
0
5
1
2
0
6
0
10
37
56
46
35
11
4
16
10
6
15
19
16
16
18
24
22
26
29
22
24
6
3
4
0
1
2
4
0
2
0
3
0
0
0
2
0
0
2
0
3
7
4
0
0
0
0
0
1
0
0
0
1
1
2
2
1
2
1
1
2
2
2
0
0
0
0
0
0
0
0
0
4
1
15
16
3
4
4
8
13
10
6
3
0
1
2
6
19
30
27
25
27
29
47
63
31
0
0
1
3
6
4
1
2
4
3
5
6
6
7
6
6
8
9
9
9
8
8
7
2
2
2
0
0
7
35
25
9
4
0
0
0
23
110
151
153
148
146
150
106
93
72
60
57
59
71
72
78
61
29
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
3
3
2
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
8
15
21
31
37
43
54
61
69
64
36
4
0
0
0
2
4
0
0
1
6
14
21
27
35
37
39
32
22
21
6
0
2
0
0
2
2
0
0
0
0
0
1
0
2
1
1
1
0
0
1
2
0
0
1
3
1
1
5
16
21
18
10
12
12
6
5
5
5
7
2
2
0
3
0
0
0
5
19
18
12
6
1
0
0
0
0
0
2
0
0
0
1
6
17
25
52
42
17
30
22
8
7
19
18
8
15
23
23
23
30
25
27
35
21
6
0
0
0
2
4
5
1
0
0
1
7
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
3
2
2
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
2
6
32
39
7
0
1
5
11
14
13
10
1
2
3
0
0
0
2
2
2
5
29
53
38
8
1
3
3
6
4
6
7
6
2
5
3
5
6
12
12
14
6
5
3
7
5
4
2
2
2
5
0
3
26
32
28
24
16
8
3
11
60
136
143
155
142
145
142
137
127
107
68
51
53
68
58
25
1
0
0
0
0
0
2
3
0
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
2
2
1
0
0
0
0
1
2
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
2
6
18
19
24
25
31
34
38
49
51
38
21
1
0
0
2
0
3
8
13
20
26
36
43
53
53
50
44
32
26
18
5
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
2
0
0
3
0
2
2
1
5
12
14
11
5
2
10
17
13
8
2
8
0
0
2
1
1
1
0
0
6
19
19
11
4
2
0
0
3
1
0
2
0
1
20
44
61
35
25
18
24
23
14
14
18
19
10
19
24
26
26
27
15
14
13
0
3
5
0
3
8
7
5
5
1
0
5
9
3
0
0
0
1
1
1
2
0
0
1
2
2
4
2
0
0
0
0
0
0
0
2
0
0
0
1
1
0
0
0
1
2
2
2
0
0
0
3
3
2
0
0
19
15
3
0
0
2
10
10
8
5
2
0
0
1
1
0
0
0
1
5
21
53
46
26
5
2
7
8
8
6
4
4
4
5
5
3
4
20
32
53
23
4
5
4
2
3
0
1
2
5
5
2
11
27
34
31
26
22
18
20
67
142
148
145
146
146
139
139
139
125
90
55
54
73
33
3
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
4
5
8
12
11
11
12
17
27
34
34
27
15
7
0
0
2
10
23
35
40
42
50
52
53
57
51
45
37
33
16
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
2
1
1
2
0
1
2
0
1
5
1
1
1
6
12
12
1
0
0
6
20
22
26
21
7
3
1
1
1
1
2
0
0
8
15
17
12
8
2
1
2
1
2
1
12
45
55
34
24
17
15
29
28
16
18
20
21
20
20
20
20
9
0
1
5
7
7
9
11
9
10
3
0
2
4
4
0
5
6
10
16
8
6
1
0
0
3
4
4
3
3
1
1
0
0
0
1
1
0
7
1
0
1
1
0
0
0
0
2
1
1
0
0
0
0
0
0
0
0
0
3
4
5
3
1
0
1
1
0
4
0
0
0
0
1
0
0
0
5
3
0
0
13
48
53
38
19
0
0
4
3
1
2
4
4
5
6
1
6
43
75
79
50
4
0
1
1
0
1
5
7
10
10
4
5
11
23
24
24
23
19
28
75
141
146
144
144
144
140
138
131
104
71
50
64
65
20
0
0
0
3
0
4
1
1
3
4
2
0
1
1
0
5
0
0
2
4
4
0
0
0
3
2
2
7
5
2
0
0
0
3
1
0
0
0
2
0
0
0
0
0
1
0
1
2
0
0
0
0
2
5
6
10
16
22
25
33
35
36
32
28
22
20
33
35
42
44
50
57
65
67
62
59
50
35
27
18
7
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
3
0
0
1
0
0
0
2
2
2
3
1
5
6
6
2
3
0
1
1
1
0
3
1
0
0
1
0
1
1
0
0
1
5
8
9
13
2
3
0
6
15
33
39
4
2
11
13
7
20
24
18
23
23
19
8
3
0
0
0
1
0
1
7
8
16
18
16
9
0
6
2
4
0
0
0
1
1
5
20
20
14
4
4
9
11
13
11
7
2
2
0
14
28
36
47
54
64
62
50
29
13
0
1
1
3
0
1
3
0
0
0
1
1
1
2
0
0
1
1
0
0
2
4
0
0
0
0
1
0
0
0
3
0
0
0
4
2
0
0
21
49
45
35
26
13
0
1
3
3
4
0
3
1
5
9
53
58
64
67
58
31
0
0
0
1
3
3
6
7
3
4
5
6
7
7
13
17
15
22
67
148
161
150
145
149
122
125
118
92
64
41
16
9
0
0
1
16
34
20
0
0
0
0
2
2
5
0
0
4
0
0
0
8
13
6
1
0
0
0
3
10
20
19
13
8
2
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
1
0
0
0
0
5
9
20
25
32
35
36
39
38
41
38
30
35
41
47
49
50
54
58
63
66
58
47
33
20
6
1
0
1
0
0
1
0
0
2
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
3
0
0
0
2
2
2
7
5
3
4
4
4
1
4
2
2
0
0
0
3
2
0
2
0
1
1
1
0
0
0
0
2
12
10
12
5
10
7
1
0
8
25
26
22
19
23
23
15
11
9
3
1
1
1
0
0
0
0
4
13
17
19
19
25
21
16
17
18
20
8
0
0
4
2
1
3
11
21
19
15
14
21
23
21
3
12
34
54
60
70
78
86
92
89
91
90
85
74
59
39
27
19
22
18
7
2
0
0
0
0
0
0
0
0
3
1
0
2
0
0
0
0
1
0
1
0
2
1
0
0
0
1
3
3
1
0
24
43
41
35
31
26
9
0
1
0
0
2
3
0
12
42
45
54
58
65
58
46
8
3
3
1
2
2
2
0
0
2
5
2
3
0
1
0
5
12
33
108
139
150
156
158
101
107
103
89
54
20
2
0
6
29
54
88
105
89
45
40
51
67
60
44
24
26
25
25
12
0
0
0
0
1
0
0
0
0
0
0
1
3
5
4
5
0
3
0
0
2
0
0
0
1
1
2
0
0
23
16
0
1
4
7
7
7
19
29
36
43
45
43
39
44
38
37
40
42
43
50
50
52
56
58
59
53
41
30
12
0
0
0
1
2
0
0
1
2
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
5
2
0
0
0
1
0
5
5
5
4
0
1
3
6
2
0
3
3
0
4
2
3
3
0
0
0
0
0
0
4
6
2
0
0
0
0
1
0
16
20
12
0
4
11
19
22
27
18
8
7
7
0
1
2
1
8
3
0
0
0
1
11
14
14
14
19
28
33
21
13
12
12
11
13
4
1
0
0
0
0
0
5
13
16
9
17
27
18
18
42
76
73
75
77
78
80
77
70
64
54
40
29
19
17
9
19
38
45
35
29
19
14
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
3
5
2
1
0
1
0
4
5
4
18
28
32
36
33
31
27
17
1
1
1
0
2
16
25
37
45
54
58
54
50
45
13
0
0
0
0
1
1
0
0
1
2
4
4
0
0
0
0
1
0
28
89
143
150
154
83
99
100
84
48
45
41
46
49
66
80
90
84
82
66
42
38
45
32
22
2
4
8
12
5
1
2
0
0
0
0
0
0
4
2
0
0
0
0
3
3
2
0
0
0
1
0
0
0
1
1
2
0
1
5
7
5
9
8
8
4
2
16
32
38
41
44
42
44
42
42
42
41
41
43
50
50
49
50
50
48
43
28
8
6
1
3
0
2
4
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
16
18
20
22
21
26
29
38
47
58
77
91
85
60
44
29
18
14
6
26
53
47
24
6
4
14
13
13
8
4
0
3
3
0
2
0
2
11
14
8
0
0
1
6
14
18
26
26
11
1
2
12
8
10
4
5
3
1
1
0
1
0
0
1
13
21
14
0
0
0
0
26
56
68
68
64
60
54
47
38
30
20
16
10
4
6
2
13
31
45
35
29
20
12
2
0
0
0
0
1
0
0
0
3
1
0
0
0
2
1
1
1
0
2
1
1
1
2
0
4
4
4
10
17
25
29
32
33
35
32
15
18
21
16
14
19
27
31
39
50
50
44
49
47
13
2
2
2
1
1
2
3
3
2
7
9
10
6
0
0
0
1
6
0
43
103
152
149
56
71
82
59
40
20
21
14
0
0
0
0
0
0
1
0
0
0
6
8
7
7
3
4
3
3
8
11
18
28
32
37
42
40
37
19
8
0
1
1
2
1
1
2
0
0
4
10
11
13
10
8
2
9
10
0
28
22
4
0
2
0
0
3
18
32
38
34
30
29
29
31
33
33
33
38
40
42
40
38
28
16
5
0
1
1
2
0
1
2
4
0
1
3
3
1
1
1
2
0
0
0
1
1
0
0
0
0
0
0
0
2
1
0
5
13
13
8
0
0
0
0
1
0
0
0
0
0
0
0
14
33
52
67
72
72
71
69
71
76
82
93
98
85
54
23
36
52
54
58
67
31
4
0
2
7
5
4
4
0
0
1
2
2
2
0
0
0
0
1
0
0
1
0
1
9
3
1
0
2
0
10
10
8
10
7
0
0
2
0
0
0
0
0
1
6
24
24
22
15
0
0
7
30
42
42
39
26
22
20
17
17
18
7
5
5
0
0
15
39
43
34
26
18
4
5
2
1
0
0
0
0
0
1
0
0
0
2
2
0
1
1
3
0
0
0
2
0
0
4
2
3
7
11
21
27
34
35
33
33
34
36
25
31
21
13
19
26
30
33
48
43
44
45
44
18
6
4
4
8
8
9
8
10
9
12
14
12
8
6
4
0
9
14
14
36
92
151
155
0
0
0
0
0
0
7
5
0
0
0
1
0
0
0
3
0
0
2
7
12
17
19
24
31
33
41
49
55
64
71
74
76
82
83
69
47
19
0
0
3
0
1
1
27
41
59
72
71
69
56
36
20
23
24
18
26
26
18
4
2
4
1
0
2
11
9
13
13
19
19
16
18
20
24
23
23
23
15
9
0
0
0
1
0
0
0
0
0
0
0
1
2
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
21
11
0
2
0
3
0
0
0
5
4
3
0
0
0
0
0
0
0
0
2
21
42
55
57
61
61
64
54
40
27
3
18
58
82
74
49
1
0
0
0
3
1
3
1
0
0
0
1
1
0
0
0
0
0
1
2
0
2
4
0
2
13
22
31
38
40
37
24
18
16
9
4
3
1
1
1
0
0
0
0
0
19
31
29
27
19
9
6
0
8
10
14
16
16
13
13
7
10
13
13
8
3
4
22
38
38
33
27
15
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
1
0
0
1
8
16
31
38
41
38
37
32
34
36
34
31
4
13
20
29
38
42
28
24
46
48
39
12
10
6
4
1
3
6
9
11
16
8
4
2
5
3
0
2
5
4
12
37
89
142
145
2
0
0
0
2
3
0
0
1
0
0
2
0
0
3
3
0
4
16
23
30
35
42
49
57
61
68
74
81
87
92
95
99
107
110
113
101
75
25
2
0
0
1
1
20
51
74
87
86
84
74
49
23
33
37
35
34
29
31
6
2
3
7
0
0
0
0
2
12
15
13
17
15
15
16
23
27
29
28
24
20
11
6
1
1
0
1
0
0
0
1
1
0
0
0
0
2
4
4
9
11
11
13
7
1
0
0
0
3
1
1
5
11
12
1
0
0
0
1
0
1
0
0
2
0
6
4
3
5
1
1
2
2
2
3
0
0
0
1
0
0
4
5
3
3
8
20
30
68
48
16
4
7
3
5
9
2
0
0
2
0
0
1
1
0
1
2
0
0
0
2
5
0
3
8
23
35
36
31
25
24
24
25
21
17
17
15
2
0
3
0
0
0
0
0
0
3
15
23
30
35
32
23
9
4
2
1
12
11
9
26
17
11
12
14
13
8
9
25
37
42
30
22
8
0
1
0
4
0
0
0
0
1
0
1
1
2
1
2
2
1
1
1
0
0
0
5
2
1
2
8
17
33
41
43
51
44
36
32
30
31
31
28
12
3
13
23
26
45
51
19
27
41
45
26
1
2
0
1
0
6
5
0
0
0
0
0
0
3
2
0
3
2
5
1
26
83
136
140
1
3
2
1
5
0
4
1
1
0
0
0
4
3
0
0
0
4
14
33
43
47
49
56
59
63
70
76
79
82
88
90
93
97
102
111
117
113
84
41
4
0
1
0
4
39
62
79
77
75
70
56
33
24
54
51
49
40
36
15
0
0
1
12
14
12
8
10
11
13
11
14
14
25
40
40
35
29
26
24
22
16
12
6
4
2
0
0
2
4
2
2
1
4
3
1
1
10
19
25
27
32
34
28
20
12
5
1
0
0
16
49
53
7
2
4
0
0
0
0
0
4
8
10
11
10
6
8
11
13
8
4
6
4
3
4
4
3
10
24
44
59
76
57
55
67
64
50
24
20
6
8
6
6
4
6
3
0
2
0
1
0
0
0
0
0
5
7
4
0
3
4
5
7
22
28
26
18
18
19
17
19
20
27
29
24
7
0
1
1
0
2
0
1
2
1
1
0
0
12
17
28
26
21
9
6
1
2
13
27
32
15
0
0
0
1
3
0
8
26
39
30
19
4
0
0
3
2
3
0
0
0
0
1
0
0
1
3
1
0
0
1
1
0
0
3
0
1
6
22
35
45
52
52
47
40
37
34
33
33
35
29
13
2
5
12
21
34
50
39
34
38
39
40
17
0
2
6
16
24
18
7
1
0
0
0
0
0
0
0
0
0
0
0
1
14
70
143
146
8
0
0
2
2
1
0
3
6
0
11
20
20
13
2
0
4
0
2
36
45
48
49
51
53
57
63
63
65
69
69
71
72
76
78
87
102
113
106
70
30
0
0
5
11
45
63
67
73
66
59
56
41
6
15
60
65
58
39
30
6
1
0
0
3
6
14
20
14
16
10
11
17
12
4
0
0
0
1
1
1
4
4
4
3
1
0
1
1
1
0
0
0
0
0
0
0
0
0
3
8
14
21
23
25
20
12
0
13
50
101
90
13
0
2
3
0
0
0
0
0
0
3
10
13
13
21
21
20
19
17
14
10
11
9
13
24
35
67
94
97
83
61
50
38
29
30
32
36
35
28
12
5
0
0
0
3
2
0
2
1
2
2
3
6
19
28
33
21
4
0
0
0
3
1
4
8
6
12
15
20
23
23
23
21
15
4
0
0
0
3
0
2
0
2
1
0
0
1
4
5
9
11
9
8
4
2
0
0
0
3
1
0
0
0
0
1
0
4
12
33
29
9
3
0
0
0
0
4
4
4
3
5
6
1
1
1
0
0
0
1
3
7
7
11
14
19
21
26
34
40
41
36
34
32
32
38
43
42
44
42
41
10
2
8
16
27
43
43
30
33
28
33
30
13
0
12
32
30
21
15
10
8
10
8
12
11
8
8
4
0
2
1
3
0
16
77
145
150
0
2
1
0
0
0
0
1
1
0
0
7
17
20
12
0
1
2
0
0
17
26
23
26
33
39
45
43
47
50
50
54
54
59
59
65
76
82
87
71
29
0
8
31
57
68
70
61
52
53
54
38
32
15
0
3
36
55
52
37
20
0
0
0
0
0
4
20
18
11
2
0
0
0
0
3
3
3
1
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
1
5
3
0
2
0
0
1
0
1
5
8
28
83
124
110
29
0
1
0
3
1
3
6
0
0
0
1
1
5
7
9
11
11
13
13
14
13
15
17
42
78
101
97
83
81
69
50
29
37
45
45
43
40
34
30
6
1
4
0
2
1
1
0
2
3
1
5
19
32
36
34
33
32
30
26
19
5
0
0
0
1
4
8
14
19
17
18
18
13
0
3
1
0
0
0
3
1
1
2
0
0
0
1
0
0
0
2
1
2
0
0
0
0
0
2
2
1
0
0
2
4
2
0
6
23
22
0
0
0
0
0
0
2
0
0
0
0
0
1
1
3
3
1
0
3
3
2
11
12
19
12
16
17
15
17
19
24
28
33
46
50
52
53
48
46
25
0
9
14
23
33
46
31
30
31
26
33
29
19
29
38
35
30
25
23
21
15
11
10
13
15
22
20
10
3
5
1
0
0
18
70
130
145
0
0
1
1
0
20
37
38
32
21
13
5
0
1
8
16
19
19
9
6
0
2
0
1
2
6
13
16
17
19
28
34
40
44
46
46
45
47
47
24
0
6
32
57
54
35
17
30
47
58
64
67
52
21
13
4
9
8
16
39
48
27
0
1
7
9
0
2
8
1
0
0
0
0
0
1
3
4
0
0
0
2
2
1
0
0
3
4
4
2
2
2
0
0
0
0
3
3
0
0
0
0
0
1
2
25
63
101
131
120
68
1
0
1
1
1
1
0
5
4
0
3
0
0
0
1
1
3
4
8
8
7
8
8
44
89
111
102
100
83
62
40
40
45
59
52
46
43
29
25
17
0
0
3
0
0
0
2
0
0
4
0
0
0
7
7
18
26
18
23
32
29
33
30
31
24
22
20
18
16
10
6
4
3
2
0
0
0
2
1
1
1
0
0
2
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
2
0
0
0
0
3
0
3
0
10
18
22
6
0
3
0
1
3
0
0
1
1
1
0
0
0
0
4
0
0
0
1
3
1
0
0
1
3
7
14
12
8
13
24
39
57
63
61
55
39
34
2
2
7
15
22
34
40
30
32
37
32
30
39
34
40
31
30
27
19
13
12
12
12
15
23
22
28
16
4
1
0
5
6
13
26
60
115
145
0
7
14
31
52
59
61
69
69
71
64
48
40
24
9
0
0
3
7
15
21
25
20
11
2
2
4
0
7
11
15
20
29
33
39
37
37
37
34
30
25
36
47
47
13
0
0
11
32
50
61
72
67
39
12
1
16
18
24
25
29
31
31
37
36
29
20
23
16
7
0
0
0
0
1
0
0
2
1
1
0
2
2
0
0
0
0
2
1
1
0
0
1
4
3
1
1
1
1
0
0
0
0
10
67
130
138
133
127
81
7
0
0
1
0
0
0
3
1
2
2
0
1
0
1
0
0
0
1
1
2
0
12
48
99
115
107
92
77
55
53
54
59
55
56
47
40
36
29
22
14
0
0
0
0
0
2
6
0
7
4
0
4
0
0
0
0
0
0
1
4
11
21
27
24
29
38
43
40
34
33
20
5
0
0
0
3
3
0
0
8
12
14
9
0
0
0
0
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
2
6
16
21
16
13
14
9
8
3
3
0
1
1
0
0
1
1
0
3
3
4
0
0
0
2
2
0
0
1
2
4
0
0
14
35
53
70
63
51
40
19
10
1
1
6
21
32
42
27
27
25
31
31
40
42
39
28
16
9
8
9
9
10
10
2
2
14
19
20
19
19
20
19
16
16
16
21
35
75
130
33
42
47
55
65
68
66
69
68
61
53
42
36
36
23
7
0
1
0
0
2
5
14
30
34
35
39
43
46
52
60
62
63
59
60
60
68
70
70
68
68
72
75
73
69
63
57
48
47
55
65
67
61
37
5
0
3
13
23
31
37
30
33
32
19
15
17
27
32
31
20
13
1
1
0
0
2
2
0
0
4
1
3
1
3
2
1
0
0
0
2
2
2
3
0
0
0
0
0
0
0
0
6
67
131
135
135
131
84
11
0
2
2
2
3
3
2
3
3
3
1
0
1
1
0
3
3
3
0
0
0
4
47
102
118
111
90
64
58
55
55
59
59
57
47
47
48
46
34
26
22
9
7
9
21
19
0
0
7
2
2
0
0
0
0
1
1
0
0
0
0
0
0
12
18
13
8
3
1
0
0
0
0
0
0
0
0
0
9
28
38
43
39
14
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
13
27
23
18
18
20
3
0
0
0
0
0
0
0
0
14
32
34
12
0
0
1
0
0
0
0
2
0
0
1
1
16
45
63
57
39
24
8
5
8
0
3
11
24
37
36
23
25
26
32
30
36
29
13
3
9
5
2
1
0
0
0
0
3
7
10
14
20
18
15
16
16
19
9
8
10
43
103
37
43
60
59
62
64
58
58
57
49
38
36
35
37
20
0
0
0
2
1
3
9
11
18
19
23
30
37
40
44
50
52
51
53
53
54
56
56
59
60
60
64
62
64
64
60
59
58
62
63
70
77
82
74
63
46
23
24
31
31
34
25
16
29
33
29
27
23
18
10
16
32
48
30
15
3
0
0
0
1
0
2
2
0
0
1
0
0
0
0
0
0
0
3
8
17
24
26
22
17
12
5
33
110
140
133
119
84
5
2
0
0
1
0
3
2
3
3
3
3
4
4
6
1
4
5
7
5
3
2
12
66
113
117
104
80
61
57
65
63
61
62
59
58
58
64
66
51
39
30
21
25
31
20
17
0
1
0
0
4
4
3
0
3
0
2
0
0
1
1
1
3
1
17
32
29
15
4
2
0
0
0
0
0
0
0
4
0
19
47
58
64
51
20
13
22
31
34
39
39
41
33
31
28
22
20
17
23
23
27
28
22
9
4
4
1
4
2
2
2
19
16
17
9
2
0
0
0
1
0
5
1
1
0
0
17
35
39
34
4
3
1
2
2
1
0
1
0
0
1
0
3
31
53
50
23
4
0
4
7
4
2
4
12
24
39
29
22
24
24
29
33
31
19
8
1
1
0
0
0
0
2
5
0
0
2
9
14
7
4
5
11
11
7
1
0
0
14
81
32
40
57
57
61
58
61
54
44
41
36
34
31
29
23
18
7
11
7
2
14
16
18
22
23
23
31
37
39
41
47
47
47
50
50
51
51
49
51
51
51
52
54
53
53
54
56
54
59
60
64
67
70
70
74
74
70
69
66
63
57
52
32
15
17
36
37
32
26
17
21
25
25
27
40
54
44
24
11
5
3
1
0
0
2
3
2
4
0
0
5
10
26
56
64
67
67
63
56
54
46
37
74
125
136
102
36
11
19
15
10
1
1
3
3
2
5
3
3
3
3
3
4
6
6
6
3
8
6
25
86
121
120
103
80
60
62
64
59
52
53
64
61
66
70
64
43
30
26
27
15
10
3
5
0
0
0
1
0
2
9
2
0
0
2
1
0
1
0
0
0
4
0
2
8
23
16
7
3
3
1
1
2
2
2
1
0
6
30
51
62
66
50
43
48
56
59
57
58
58
60
56
56
55
58
53
48
48
42
35
30
28
26
23
24
25
19
18
19
21
18
7
15
12
6
0
0
0
1
1
3
1
3
2
0
8
22
25
12
3
4
2
1
0
0
0
1
1
0
2
0
8
30
32
12
0
0
3
0
2
0
8
15
18
31
31
18
24
21
25
23
24
6
0
0
0
1
1
0
0
0
0
1
1
1
8
7
3
4
4
4
0
0
1
0
0
0
8
62
0
12
39
48
58
66
58
53
46
43
41
36
30
30
19
11
12
17
19
14
18
26
28
30
32
32
36
42
45
49
47
47
47
47
47
48
47
45
45
47
49
50
51
50
48
55
55
55
55
56
60
59
57
56
56
59
63
63
65
69
69
71
80
82
80
67
48
37
37
29
27
24
23
16
26
37
46
66
72
36
21
2
0
0
0
2
0
1
0
7
29
56
73
78
76
77
73
71
63
60
52
48
89
126
107
43
23
25
20
18
15
4
0
0
2
0
1
4
4
3
3
3
3
5
5
5
3
26
54
97
117
110
94
79
63
65
63
60
52
46
45
48
53
53
30
19
25
18
11
5
5
2
5
2
2
2
0
2
3
0
12
14
7
0
1
6
0
1
0
0
0
0
0
1
0
6
19
18
13
3
6
4
3
2
2
3
0
4
21
29
31
31
31
33
36
37
41
45
52
57
60
57
55
51
42
37
26
18
10
3
1
0
0
3
5
8
12
18
21
19
20
19
12
8
0
2
4
4
0
0
0
0
1
0
5
1
2
5
0
1
1
0
1
1
0
0
0
0
1
2
0
5
7
1
0
0
3
3
5
1
7
6
16
25
32
23
23
26
17
12
6
0
0
1
1
0
0
0
0
2
2
2
0
0
1
3
1
0
3
0
0
2
2
0
3
0
0
1
54
0
0
2
23
50
57
54
52
50
51
44
36
31
30
20
0
0
0
3
10
13
20
27
33
34
36
37
42
47
53
49
51
59
62
67
67
75
74
73
70
67
66
61
61
64
62
58
55
51
51
53
56
57
57
55
57
61
65
65
68
75
75
74
80
86
87
91
85
65
45
39
41
34
32
31
32
39
47
66
77
83
39
13
1
0
0
0
0
3
12
41
50
55
60
59
60
61
64
64
59
52
60
108
120
82
35
28
26
17
13
9
0
0
0
1
0
0
2
2
2
3
3
3
7
0
17
53
96
105
114
107
95
76
75
71
64
62
57
52
42
41
33
15
15
20
17
17
17
12
8
7
5
5
2
2
2
0
0
0
0
7
18
11
7
0
0
1
1
0
0
0
0
0
0
2
5
18
23
23
18
13
7
5
6
2
4
5
10
13
8
7
14
18
23
31
41
47
55
56
56
54
49
42
31
22
10
0
2
0
0
3
1
1
4
8
21
31
43
40
46
43
28
15
6
0
0
0
0
1
1
1
3
7
5
0
0
1
0
0
0
2
2
0
2
0
0
1
0
1
4
3
0
5
0
0
1
2
0
0
1
8
9
16
28
29
19
20
23
10
0
2
1
3
2
2
1
1
2
0
1
1
4
1
0
0
4
1
0
0
1
1
3
2
0
2
1
6
8
38
2
2
2
0
4
29
40
43
46
45
43
42
37
35
25
7
1
3
0
5
4
4
5
26
31
33
33
38
44
47
43
45
50
54
54
54
51
53
52
58
56
61
71
78
87
92
88
80
76
69
70
71
69
64
65
67
67
65
66
68
73
75
74
74
76
79
78
78
75
77
78
70
51
46
52
49
49
52
57
63
68
78
82
52
20
6
4
2
0
0
0
0
0
0
1
4
15
12
65
74
37
58
108
100
51
30
28
27
20
17
8
1
0
2
0
0
0
0
0
4
0
0
1
0
32
78
97
107
107
103
97
86
86
81
75
71
67
64
37
17
13
14
21
20
20
20
19
18
13
8
8
8
6
4
4
4
6
1
1
1
4
3
10
6
0
0
2
0
0
1
2
0
0
0
2
0
12
24
26
24
17
11
6
3
6
18
27
29
23
12
10
19
26
36
44
43
43
43
43
41
34
26
14
0
0
0
1
0
0
0
0
1
1
1
6
29
47
66
71
73
69
46
38
37
26
18
10
2
0
0
6
15
24
28
18
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
1
0
6
14
29
22
17
18
8
1
0
0
0
1
1
0
0
1
7
7
4
3
3
0
0
0
2
2
4
2
1
0
0
4
15
18
7
3
4
25
10
12
10
7
7
11
20
29
32
32
25
34
38
31
27
8
0
2
4
0
0
0
5
11
24
33
34
32
36
34
37
41
46
47
49
53
47
47
44
50
57
58
65
67
70
72
74
76
80
78
85
96
101
105
101
97
90
84
82
82
78
76
76
76
74
69
75
77
82
81
85
75
68
72
78
66
60
61
65
65
63
70
74
72
90
70
37
13
2
0
2
0
0
0
1
0
0
34
121
140
120
98
105
84
35
25
16
13
21
21
19
15
10
2
0
0
1
2
4
1
4
2
0
20
83
99
108
104
103
100
89
91
90
89
71
33
2
2
1
3
3
9
11
15
15
17
20
21
21
16
16
14
14
12
7
5
6
6
7
1
4
0
4
11
2
3
0
0
0
1
2
2
0
0
0
0
3
20
22
22
13
6
2
4
10
21
24
28
23
20
25
30
38
37
30
23
23
20
12
4
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
14
41
62
70
80
78
61
52
52
54
58
48
35
12
0
0
4
9
18
14
7
0
1
0
0
0
0
1
0
3
2
0
0
0
1
0
0
0
0
1
2
0
0
1
2
0
2
18
30
11
16
11
0
0
2
0
0
1
0
0
0
4
2
0
2
0
1
2
3
4
1
0
1
0
1
4
23
23
22
16
12
12
14
26
11
13
15
18
20
19
21
23
19
17
18
37
28
19
7
4
0
0
0
2
3
0
1
30
44
46
43
38
36
30
35
40
44
39
41
45
47
47
49
54
56
60
61
62
63
67
69
72
76
76
78
86
88
88
87
86
83
93
101
112
118
117
110
103
96
92
86
82
81
85
88
78
67
63
62
65
67
67
67
68
69
54
59
83
92
107
116
78
41
18
9
3
0
1
1
1
32
112
142
139
130
120
115
115
118
102
83
42
28
23
20
16
8
0
0
0
0
2
0
0
0
0
5
63
90
98
101
101
99
90
94
84
52
0
7
0
0
2
0
2
4
0
0
4
1
4
9
10
17
25
23
19
14
13
8
4
4
4
4
0
3
2
2
11
4
0
0
0
0
0
2
3
3
2
2
1
1
3
3
4
5
3
1
5
1
0
5
15
22
31
35
36
27
20
12
10
4
0
0
0
0
0
1
3
0
0
0
2
0
0
0
2
2
2
0
2
25
43
56
63
67
64
55
45
44
43
52
53
34
14
3
2
0
0
0
0
0
0
0
0
2
2
2
0
2
3
0
0
0
5
2
0
0
1
0
0
0
0
1
1
1
11
24
21
11
12
4
0
0
2
1
1
2
0
0
1
1
0
0
0
0
1
0
3
4
4
0
0
0
26
33
27
25
26
23
24
23
19
9
8
7
6
8
13
22
22
22
22
29
43
49
28
4
4
0
0
3
2
0
0
0
0
23
45
47
45
39
37
34
33
35
35
32
35
37
41
46
53
56
57
62
63
63
65
66
68
71
70
72
79
80
81
84
91
93
95
98
98
100
99
98
97
95
95
98
106
113
115
119
112
108
94
90
84
71
70
64
62
58
57
45
46
52
55
62
73
85
100
103
93
62
34
41
48
87
135
139
132
124
120
112
109
114
118
101
100
92
77
75
77
65
37
14
7
0
0
0
0
0
0
0
28
75
94
97
94
91
95
84
33
0
1
0
0
4
2
2
2
2
1
2
2
1
1
1
2
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
4
8
3
3
0
1
0
1
0
0
0
0
0
0
2
2
2
2
4
3
4
4
9
2
9
18
26
30
24
12
5
1
2
0
2
2
2
1
0
0
0
0
0
1
0
0
0
1
3
2
0
0
1
11
26
35
35
33
20
8
8
7
13
14
13
13
9
2
3
3
3
3
3
1
2
0
1
0
1
0
2
2
2
0
0
1
2
0
0
0
0
0
3
1
0
0
2
0
16
25
10
12
4
2
3
0
0
0
1
2
1
1
1
0
0
0
3
0
0
1
3
1
0
2
22
32
35
34
31
30
29
12
7
3
4
2
2
3
3
7
11
22
26
28
30
38
51
65
50
9
0
0
0
0
9
11
1
0
2
29
43
44
40
37
33
29
17
7
26
55
69
62
51
47
43
51
55
57
61
61
64
70
70
70
69
73
79
80
81
83
86
87
89
91
91
92
91
91
91
94
96
97
103
107
102
106
102
91
76
76
77
84
86
88
90
90
85
80
77
73
69
61
56
51
57
62
81
81
69
66
72
129
153
140
123
119
112
108
112
107
98
96
94
92
88
82
79
71
67
61
56
54
57
52
37
9
0
3
42
69
87
87
97
74
36
0
2
3
1
1
1
2
2
2
1
1
1
1
1
1
1
1
2
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
4
5
0
4
0
0
0
0
0
0
0
4
0
0
0
0
1
0
3
2
3
8
5
2
5
11
7
3
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
8
10
8
3
0
1
0
1
2
6
4
0
0
0
0
0
2
4
6
4
2
0
2
3
5
5
1
1
0
0
2
0
1
0
0
0
1
0
0
2
0
0
0
0
14
18
2
1
2
1
1
1
2
0
0
1
2
2
2
1
1
0
0
0
0
6
0
2
21
34
34
37
34
33
13
7
10
6
6
5
8
6
1
1
0
1
10
23
28
30
31
34
36
38
32
8
0
1
0
0
15
17
16
7
16
35
44
41
33
18
3
0
0
12
50
70
74
67
64
54
44
35
31
38
44
41
45
51
53
58
62
70
74
74
77
87
89
91
91
91
91
92
92
90
90
84
82
85
91
91
91
98
98
96
88
87
85
85
85
79
74
71
66
67
60
49
23
12
0
0
0
0
0
0
12
51
126
164
155
163
145
127
109
109
103
96
90
89
89
89
81
80
81
82
74
71
68
64
57
51
47
47
45
39
40
41
47
64
55
0
0
0
0
0
0
0
0
6
6
6
0
0
0
2
2
2
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
2
3
0
5
4
1
1
3
2
1
0
3
1
1
3
4
0
0
0
2
1
0
0
3
4
4
1
6
0
1
5
5
3
2
0
1
1
0
0
1
1
1
1
1
2
0
0
0
2
2
3
0
1
3
5
5
5
8
4
2
1
1
0
0
0
3
3
6
4
2
0
0
0
0
4
3
3
1
2
0
1
0
2
2
2
4
4
0
3
1
0
0
2
0
0
0
5
6
0
0
0
1
12
4
0
1
1
0
0
4
2
2
3
0
1
0
0
1
0
1
0
1
0
4
11
26
32
38
34
19
12
7
7
9
11
13
13
13
9
9
2
0
1
3
15
23
25
28
29
30
23
12
13
14
7
13
15
17
17
12
2
0
18
41
45
27
6
6
0
3
0
8
48
60
58
52
49
45
35
28
7
0
0
0
0
0
4
19
30
40
51
60
67
78
82
83
86
86
84
82
85
85
83
79
77
78
81
81
79
84
82
86
80
80
80
78
69
65
58
41
18
4
0
0
4
0
1
5
3
3
1
1
13
119
150
154
156
143
134
157
142
121
104
93
86
82
81
79
75
76
75
67
62
59
59
55
51
48
47
48
55
50
40
42
37
30
23
15
17
20
19
11
8
0
0
5
3
8
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
5
0
0
0
0
0
0
0
0
0
0
5
0
0
1
0
0
0
0
0
3
3
2
2
5
5
5
3
1
1
0
0
0
0
0
0
1
3
6
11
16
20
26
26
23
17
13
7
6
4
4
0
2
3
4
2
1
0
0
2
1
1
0
0
0
0
2
2
2
2
2
1
0
1
1
0
0
0
2
2
3
2
2
2
1
0
0
5
13
14
7
1
0
5
4
18
16
0
13
27
11
5
4
4
1
0
0
0
1
0
0
0
3
7
13
29
36
22
12
11
11
8
2
7
10
10
19
15
8
1
0
0
1
0
4
21
16
15
16
14
18
4
2
1
3
5
10
14
17
21
20
0
0
20
36
29
10
0
2
0
0
0
1
22
45
48
35
25
26
38
34
23
16
0
0
2
0
4
3
0
0
0
0
0
0
0
3
10
20
26
28
28
34
40
43
44
49
42
44
43
43
34
25
35
50
58
55
52
46
33
33
26
9
0
1
0
0
2
3
0
0
0
2
49
145
148
147
149
151
146
136
120
126
152
122
107
92
84
75
72
71
63
58
54
52
53
48
44
42
43
44
46
39
36
25
21
28
28
23
17
12
9
6
4
2
0
0
2
5
0
0
8
7
3
1
2
0
0
3
0
4
1
1
5
2
0
2
2
0
0
2
4
0
0
0
0
2
3
1
5
0
2
1
3
0
5
4
3
8
5
5
1
0
2
0
0
0
3
1
4
4
3
2
1
4
4
5
4
3
2
2
2
3
3
6
13
18
20
16
15
12
7
2
4
2
4
5
8
5
6
4
4
6
5
3
3
0
0
4
0
3
4
0
0
0
0
0
2
0
0
0
3
2
1
0
0
0
0
0
0
0
0
1
0
3
0
12
21
26
26
16
2
0
23
57
35
16
9
10
5
5
7
7
7
2
0
0
5
0
5
9
16
25
29
18
9
10
10
12
10
9
9
6
9
10
3
0
2
1
0
9
0
5
19
34
25
11
5
11
18
9
2
0
0
2
1
0
6
9
14
5
4
7
6
3
2
0
0
0
1
0
0
2
30
38
28
18
11
0
7
15
20
11
3
0
2
1
0
0
1
0
0
1
1
2
0
0
0
0
0
0
0
0
2
2
3
0
0
0
0
0
0
2
9
37
57
55
43
35
31
26
16
4
0
0
0
2
3
19
45
57
72
74
141
148
144
136
135
132
131
125
119
104
90
95
125
129
112
93
80
67
62
56
49
49
44
37
39
39
40
31
31
25
19
19
22
24
20
10
8
7
7
0
0
0
2
0
2
0
0
0
0
1
2
4
4
4
4
4
3
2
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
5
8
14
0
0
0
0
0
3
5
4
6
5
1
1
0
0
0
0
4
9
11
5
3
0
1
1
1
1
3
5
6
5
6
9
11
13
13
11
9
0
3
3
2
0
0
2
0
0
0
4
4
4
0
1
0
0
0
0
0
0
0
0
5
8
8
10
12
13
16
20
29
32
34
28
30
27
26
24
25
17
13
6
3
0
0
0
0
0
20
34
37
39
36
17
16
51
60
27
1
0
0
0
1
4
4
4
6
2
1
11
19
22
31
25
20
12
12
15
8
5
6
3
4
2
0
0
0
2
3
0
0
1
0
0
4
7
11
5
0
0
0
0
0
0
2
0
0
0
0
0
1
1
3
1
1
0
0
0
1
2
1
1
0
1
1
0
10
24
16
5
0
0
0
1
4
7
0
3
0
0
2
1
1
0
0
0
0
0
0
1
0
1
4
1
0
2
2
2
0
0
1
11
2
0
1
0
0
17
32
25
14
8
5
8
9
6
0
5
32
46
54
61
74
85
94
109
139
142
132
126
119
112
107
103
99
95
93
88
80
70
66
100
117
87
75
71
63
51
44
56
48
37
32
26
25
28
23
15
14
9
11
10
8
1
1
4
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
3
0
0
5
1
0
1
0
0
1
6
7
5
6
8
19
27
34
37
26
6
4
1
2
2
5
9
10
7
7
4
6
9
20
24
20
23
12
0
2
2
5
3
3
3
3
7
12
9
8
3
2
2
3
2
2
2
3
3
4
2
2
4
5
6
2
2
2
8
1
0
0
2
7
10
13
17
21
19
21
24
29
31
33
30
32
34
35
38
39
43
43
46
46
46
45
52
51
51
40
29
23
19
31
41
50
43
24
27
54
59
32
3
0
0
0
0
0
0
2
3
8
25
32
42
32
20
20
21
11
6
4
2
0
0
1
0
0
0
0
2
2
2
0
0
0
2
8
0
0
6
3
2
4
0
0
2
2
1
1
1
1
1
1
0
0
1
1
2
1
0
0
1
2
0
0
1
2
3
1
0
6
9
3
0
0
0
0
5
5
3
1
2
4
2
0
0
1
0
2
0
0
0
0
1
0
2
2
0
0
0
1
0
5
0
3
0
1
1
2
4
1
0
0
0
2
3
1
2
0
0
3
33
54
69
78
90
89
82
69
63
123
132
123
115
102
94
88
87
83
81
77
75
74
72
68
62
53
50
44
60
80
94
90
83
77
64
54
48
45
37
27
25
25
24
4
0
0
0
1
0
1
1
3
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
11
8
11
12
14
18
24
29
32
37
42
45
39
31
11
6
14
13
15
12
12
13
11
12
14
18
20
20
15
8
4
4
3
3
0
0
0
1
1
4
6
8
6
8
8
6
4
2
2
2
2
1
0
0
2
1
0
1
0
0
1
0
0
1
0
0
0
1
5
6
12
16
20
23
25
30
35
39
41
43
45
50
53
53
56
56
54
53
50
47
49
44
42
37
36
39
43
41
43
30
28
43
52
37
10
0
0
0
0
1
0
0
2
34
42
39
29
35
34
29
19
4
0
7
5
2
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
2
2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
1
0
0
3
0
0
0
0
0
0
0
0
5
0
0
2
0
0
0
3
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
2
1
0
4
0
0
0
4
7
5
5
8
5
3
1
0
0
2
1
0
18
64
79
82
82
75
60
51
41
21
88
116
113
106
100
91
88
83
75
71
69
70
69
61
54
59
55
47
46
45
40
41
34
30
23
14
18
26
30
30
42
45
47
41
39
36
40
38
35
27
25
24
20
24
25
25
25
26
20
20
20
14
14
14
13
15
14
9
9
6
7
7
5
4
6
5
0
4
5
7
9
14
16
22
34
36
43
40
35
2
0
4
4
6
6
8
11
12
14
16
17
19
23
23
28
30
24
24
25
14
3
1
1
1
1
1
4
8
9
11
8
6
4
2
2
2
2
2
2
3
1
9
11
5
2
1
1
1
0
1
0
0
0
6
17
23
24
25
27
31
36
33
35
35
34
34
34
35
37
42
46
45
43
31
19
10
3
0
0
0
10
23
31
32
32
22
22
28
31
18
2
10
9
7
3
3
13
42
46
40
31
25
21
12
12
11
7
7
6
8
8
5
2
0
1
0
0
0
1
0
1
1
1
1
2
0
3
1
0
0
0
0
0
0
0
2
2
2
0
0
0
0
0
0
0
1
0
1
1
2
0
0
0
0
0
0
0
0
0
0
1
0
0
7
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
8
5
5
2
0
0
0
0
0
2
0
2
8
18
5
1
1
0
0
0
3
10
68
78
72
70
68
62
37
10
11
0
5
54
102
102
101
89
84
77
72
70
69
64
58
53
56
51
45
35
35
36
39
35
27
21
16
15
18
13
6
2
2
0
2
2
1
3
2
2
2
3
2
2
0
1
3
0
0
1
3
3
2
1
3
0
3
3
0
0
2
0
3
6
6
6
13
16
22
23
28
28
28
32
39
38
51
13
0
1
1
5
5
10
10
11
16
17
19
17
13
9
9
7
6
2
1
3
2
0
0
0
0
2
0
0
0
0
1
2
4
8
10
10
8
8
6
5
3
6
7
10
19
21
18
12
0
3
3
1
2
9
15
10
12
11
11
9
6
8
10
16
15
17
20
25
27
26
31
30
21
6
0
0
0
0
2
0
0
0
0
4
6
16
19
20
31
32
24
26
24
15
16
18
21
23
40
51
40
36
25
1
0
0
0
2
4
1
1
1
1
1
1
2
2
2
0
0
0
2
0
0
1
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
2
2
2
0
0
1
0
0
1
0
0
0
3
1
0
0
0
1
0
0
2
1
2
3
2
1
0
0
0
2
0
0
0
0
1
1
1
3
2
4
1
0
5
0
0
8
29
46
65
72
74
52
37
9
3
0
0
0
0
3
7
4
0
1
1
0
2
0
0
49
66
66
75
61
32
2
0
0
0
0
1
0
10
73
84
87
75
73
70
70
65
60
50
52
48
42
39
39
40
38
32
27
22
17
17
14
10
5
4
2
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
2
0
0
0
2
0
0
4
4
2
0
0
0
1
7
14
14
14
22
21
24
27
26
27
22
29
11
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
3
1
0
0
1
0
0
0
0
1
4
7
11
15
14
12
10
7
8
18
22
30
31
28
25
21
19
20
15
10
16
21
20
14
8
0
2
6
9
9
8
1
9
9
6
0
0
2
0
0
0
0
1
3
3
4
1
0
0
0
1
0
10
8
1
20
33
34
27
20
23
26
34
34
42
52
35
8
0
3
7
5
2
0
0
2
0
0
1
1
0
0
2
0
0
0
0
2
2
0
2
2
2
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
2
2
2
2
2
3
3
1
0
0
0
0
1
0
0
0
0
0
1
0
1
3
11
17
23
23
20
6
2
0
1
0
0
3
0
0
0
2
4
0
2
0
0
2
5
21
38
52
70
77
88
85
72
64
35
14
0
1
0
0
0
0
0
1
1
0
1
3
0
27
62
76
49
12
2
0
0
0
0
0
0
2
0
0
30
68
89
91
88
83
72
68
59
56
51
43
42
40
40
39
31
26
15
13
14
17
6
3
6
6
2
4
4
0
0
0
1
0
3
1
2
1
2
1
0
1
2
1
2
0
0
2
0
2
1
4
6
8
10
16
19
24
26
28
26
42
33
3
0
2
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
3
3
3
1
1
3
0
0
1
3
0
2
0
4
4
3
1
2
1
1
0
1
1
2
2
5
8
16
17
15
10
10
12
20
31
39
42
42
35
39
43
45
40
38
35
32
26
20
20
21
23
28
24
16
3
0
0
2
1
2
0
0
1
0
0
0
3
4
3
5
3
3
5
3
1
0
2
0
0
22
42
45
32
29
37
46
49
47
31
31
19
12
11
10
8
6
3
1
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
2
0
0
1
3
3
2
0
0
0
0
0
0
1
1
1
0
0
2
0
1
2
0
0
1
1
1
2
0
1
6
15
25
37
38
42
44
48
44
38
29
17
0
0
1
0
0
2
0
6
14
25
7
0
4
21
39
53
63
69
71
76
73
66
51
30
13
3
3
4
2
2
3
0
1
1
0
0
0
8
62
49
0
0
0
0
0
0
0
0
0
0
0
0
0
16
64
88
91
82
95
82
67
63
61
55
47
43
38
32
28
32
26
21
23
19
8
1
8
5
4
0
1
2
0
0
0
4
0
0
0
0
2
9
0
0
0
0
0
0
0
11
29
24
15
10
4
13
14
18
17
12
6
6
9
3
1
0
0
0
0
0
1
0
0
0
2
2
2
2
2
2
0
0
0
2
2
3
0
0
0
4
4
5
3
3
4
4
8
11
11
7
2
1
3
6
13
10
8
5
5
5
4
6
12
12
10
8
13
25
33
43
47
43
46
55
56
56
54
53
47
41
28
22
25
33
36
33
24
10
0
2
2
2
2
0
0
1
0
0
0
0
1
0
3
3
4
1
1
0
2
1
0
3
14
34
49
44
36
31
40
44
33
48
42
33
27
21
17
15
13
5
10
5
0
1
0
0
1
0
0
0
4
2
3
2
5
9
9
10
6
25
7
2
0
0
1
0
0
0
0
1
3
0
0
0
0
0
0
2
4
4
4
2
1
1
0
0
0
0
3
0
0
0
1
1
1
2
0
0
4
12
24
29
33
36
39
41
42
45
34
11
1
5
1
1
1
0
14
35
24
8
0
6
13
11
20
28
28
31
40
40
37
33
27
8
3
3
2
1
1
0
0
1
4
0
0
0
2
32
7
2
4
2
1
1
2
0
0
0
1
1
0
2
2
0
14
60
89
99
97
83
68
44
64
54
49
49
48
48
44
29
25
27
21
21
23
14
10
6
11
8
0
0
0
3
0
0
0
0
0
4
0
0
1
2
0
0
0
0
25
10
0
4
4
0
0
0
0
0
0
0
0
0
3
1
2
0
2
0
1
1
5
3
1
0
0
0
0
0
0
0
0
0
2
2
3
0
0
2
5
5
5
6
6
5
4
8
16
20
20
15
6
5
9
18
27
35
22
18
17
22
13
2
2
3
5
5
13
23
31
39
48
54
65
67
67
65
63
57
48
37
30
31
39
41
39
32
26
3
2
0
0
1
0
0
0
0
1
2
3
1
1
2
2
0
2
6
4
6
2
0
0
17
39
51
51
41
31
20
18
33
51
47
47
38
28
21
23
23
18
22
18
4
2
0
0
0
4
10
13
8
3
3
2
4
12
18
16
5
62
62
52
36
22
14
8
2
0
0
5
11
17
22
30
36
40
48
53
58
62
60
58
54
49
42
31
23
16
4
1
0
1
0
0
1
5
1
0
1
0
0
0
0
0
3
2
5
8
6
0
0
0
1
2
0
1
27
37
23
1
0
3
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
3
0
0
0
0
1
0
0
1
0
0
0
36
76
89
79
77
91
82
72
57
66
66
58
51
44
34
29
28
25
21
15
0
0
0
0
3
0
0
2
2
0
0
0
0
1
1
1
0
4
0
0
28
17
3
0
0
0
0
0
0
1
5
3
3
1
0
0
1
3
1
1
0
1
0
1
1
2
0
0
0
0
0
0
0
0
1
1
1
2
1
3
5
0
4
9
10
8
9
3
7
17
25
31
29
21
15
13
20
30
49
54
51
40
33
29
22
12
6
3
3
5
12
17
28
44
55
65
74
72
70
67
62
53
44
36
21
26
37
36
32
27
8
0
3
3
3
0
0
1
2
2
1
0
0
2
1
0
2
2
3
7
14
9
3
0
10
24
45
56
68
53
31
13
16
39
48
47
41
35
20
20
22
25
17
19
5
1
0
13
17
14
4
1
1
1
1
0
4
8
10
4
3
11
40
56
60
59
49
41
24
15
20
34
45
50
56
65
72
82
90
98
105
116
122
120
117
111
103
88
75
63
52
34
24
16
14
15
13
5
5
0
5
3
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
22
38
34
22
2
0
1
0
1
1
1
1
1
0
0
2
1
0
2
0
0
0
0
0
0
2
2
1
3
3
1
0
2
3
0
1
3
0
0
1
2
2
0
0
0
0
0
0
0
1
1
2
4
28
69
79
88
93
94
90
78
62
49
42
53
53
45
42
40
38
34
34
28
14
6
0
0
0
1
0
6
2
0
0
2
1
1
2
0
0
0
15
30
0
0
1
1
1
1
2
4
5
1
2
0
0
2
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
2
3
1
2
5
5
11
17
26
24
19
12
16
19
33
42
47
40
32
18
19
28
43
56
66
70
62
49
31
28
21
13
6
6
9
13
17
20
35
47
58
65
62
60
58
54
40
33
32
24
32
32
28
16
2
0
0
0
2
1
5
9
5
3
0
0
0
0
1
1
1
0
0
1
6
26
20
12
1
0
25
58
67
55
43
38
33
36
38
37
37
39
29
23
17
15
15
12
10
21
23
16
6
0
0
2
3
4
4
3
1
2
4
0
3
0
0
8
34
51
65
65
62
55
33
5
0
5
20
36
53
66
69
86
89
97
109
115
120
123
120
113
106
95
74
61
53
43
35
35
17
2
2
1
0
0
1
2
0
1
0
0
0
0
0
2
0
0
3
0
10
34
36
44
33
16
9
3
0
0
3
0
1
0
2
2
2
2
2
2
1
1
1
0
0
2
0
0
0
0
1
1
0
5
3
0
0
0
2
0
0
0
0
0
1
3
1
0
1
3
3
0
0
28
86
91
84
39
32
66
79
83
80
69
57
50
36
33
45
51
48
47
40
33
34
34
26
13
5
0
0
0
0
0
0
0
0
0
2
0
5
24
34
0
0
2
2
1
0
0
1
1
0
2
1
0
2
1
1
0
0
0
0
0
1
3
2
1
0
3
3
1
0
0
0
0
0
2
2
4
9
7
7
10
15
24
33
34
34
30
25
22
23
31
40
55
55
47
34
22
19
32
45
54
66
70
65
57
38
21
9
13
8
8
7
7
8
5
14
22
37
42
46
48
46
36
25
19
17
13
12
5
3
0
0
0
1
1
10
27
33
18
9
2
0
0
0
1
1
3
1
0
0
0
14
26
24
24
19
38
62
65
53
44
39
40
38
40
41
31
29
29
30
23
15
18
14
19
18
13
9
2
0
0
0
0
3
0
8
18
18
16
6
4
2
0
1
1
0
10
33
37
44
42
45
28
9
3
0
0
12
36
44
57
73
80
87
95
102
109
115
116
106
87
68
56
43
39
29
16
3
1
2
0
0
2
2
0
0
0
0
0
1
0
0
2
10
15
18
20
31
35
44
33
19
13
12
12
7
5
6
0
0
3
2
0
0
0
2
0
0
0
0
0
2
0
0
0
3
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
10
71
89
85
78
63
15
0
14
46
66
71
66
57
48
41
29
28
31
44
54
50
45
41
40
38
31
21
12
4
0
0
2
13
30
41
47
59
46
36
31
0
1
0
2
1
0
0
0
0
2
2
0
0
3
2
2
1
0
0
0
0
0
0
2
2
0
0
3
4
2
5
8
16
18
23
27
29
30
28
24
20
23
30
41
45
47
45
38
28
28
33
37
50
63
61
49
44
23
13
22
33
43
50
50
47
50
34
11
5
5
8
6
4
5
1
1
0
2
10
17
22
24
28
20
14
8
10
6
0
3
0
0
0
1
4
12
22
17
11
4
0
1
2
0
0
0
2
1
1
1
0
5
25
31
31
30
36
51
56
53
49
41
31
28
29
30
30
30
28
26
23
19
20
16
4
0
2
8
2
1
0
2
0
2
2
12
15
15
15
16
16
0
0
0
0
0
0
1
13
28
22
8
1
8
11
0
0
0
0
0
16
31
45
56
70
81
82
84
79
71
53
43
37
32
28
18
5
0
0
0
0
0
0
3
1
1
1
1
0
1
0
6
21
31
30
25
16
22
31
38
15
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
2
2
1
1
0
3
2
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
1
0
0
0
0
3
13
85
94
84
72
64
48
0
0
0
0
20
40
52
54
49
42
34
31
26
21
19
39
57
49
44
36
27
22
12
2
4
9
33
44
43
35
25
18
27
31
0
2
1
1
0
0
1
1
0
1
2
1
0
2
1
1
1
2
2
2
2
2
4
0
2
5
4
8
15
19
24
25
31
31
32
33
35
39
35
33
30
25
31
42
54
54
53
54
43
31
28
31
40
50
56
54
40
29
19
17
14
22
33
35
34
29
28
25
15
7
0
5
11
11
6
5
2
2
3
4
2
4
4
2
4
3
3
0
0
1
0
1
0
0
4
9
9
6
3
3
3
2
2
2
2
0
0
0
0
0
0
0
18
32
36
33
38
45
47
49
49
47
38
32
28
26
22
18
19
23
26
29
10
0
0
0
9
16
14
14
8
2
0
0
0
0
6
4
3
5
5
8
2
0
0
0
0
1
4
8
14
22
33
31
19
1
1
5
7
6
2
0
0
14
33
43
44
36
18
15
14
20
21
17
10
4
2
0
0
1
0
0
0
3
1
1
0
0
3
2
3
19
30
25
4
0
0
17
22
32
10
1
2
0
1
0
1
1
1
2
0
0
2
0
0
0
0
0
1
1
0
1
0
0
0
0
2
0
0
0
0
0
0
3
1
5
1
0
0
0
0
0
0
0
0
1
0
4
23
89
92
82
75
69
66
53
5
2
0
0
0
0
14
30
40
37
33
25
22
22
19
19
17
22
38
47
34
23
10
0
0
0
2
15
21
13
8
24
29
0
5
4
4
2
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
0
3
7
11
12
14
17
23
27
35
37
39
42
44
46
47
47
48
46
44
41
40
43
45
51
52
49
51
49
37
26
21
18
27
29
32
34
28
20
9
9
15
7
10
12
3
0
0
0
0
1
0
0
0
0
3
4
0
0
1
0
0
0
0
2
2
0
0
0
0
0
0
0
2
2
1
0
0
3
5
8
17
17
13
8
6
4
2
0
0
2
1
1
20
31
35
39
41
38
40
40
37
39
36
32
25
21
19
7
5
0
3
0
3
2
0
5
19
17
11
7
8
8
12
12
7
2
4
4
0
0
2
3
0
0
0
0
0
3
3
4
7
11
14
20
29
35
25
12
10
32
38
30
21
3
0
7
1
0
0
0
0
0
0
0
0
0
0
2
0
2
1
2
1
1
1
3
0
2
0
0
3
0
0
1
1
2
3
15
19
4
0
3
0
0
1
0
0
0
0
1
0
0
1
1
1
2
0
0
0
0
0
1
5
8
15
19
10
1
0
3
0
0
0
0
2
3
0
1
3
3
1
0
0
0
1
1
0
21
84
84
78
77
71
61
64
51
22
0
0
1
2
0
0
1
4
18
25
27
30
31
29
23
23
21
15
14
22
25
13
4
1
3
0
9
12
9
18
20
0
0
3
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
19
53
60
48
44
38
38
39
40
45
47
49
51
53
53
57
56
53
57
53
45
51
52
49
40
34
18
8
2
1
0
0
0
0
0
1
0
0
0
0
1
5
1
1
0
0
0
0
1
0
2
1
3
0
0
0
0
1
2
1
1
1
0
0
0
0
0
0
0
0
0
0
0
2
3
3
0
0
3
5
11
18
24
27
25
21
16
8
1
2
0
0
1
13
22
31
33
30
27
34
36
33
29
28
29
25
23
24
14
8
2
3
0
0
0
0
4
2
2
4
9
17
21
20
18
1
0
1
4
0
0
0
0
0
1
2
1
0
0
2
5
6
3
3
7
15
17
24
31
34
25
9
23
41
43
51
43
18
12
0
3
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
1
1
2
0
0
4
3
0
0
0
2
6
4
2
4
5
6
4
0
1
0
0
0
0
0
2
3
8
20
25
29
23
30
23
5
3
0
0
0
0
0
0
0
0
7
1
2
3
1
0
0
0
0
6
11
73
77
70
72
68
61
49
45
45
34
12
0
1
0
0
0
0
0
0
0
0
2
13
22
25
22
19
15
9
0
0
0
5
3
0
0
0
0
1
20
2
0
0
0
1
0
0
0
0
0
0
3
2
1
0
0
0
1
1
36
72
105
100
92
87
80
71
64
61
58
58
57
56
56
57
57
53
54
53
50
44
27
16
2
10
5
1
2
0
0
4
0
0
3
1
1
1
1
2
2
2
1
3
1
1
2
0
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
2
1
0
3
3
2
0
0
0
2
2
2
3
3
5
13
18
22
15
11
5
2
2
2
2
1
0
2
6
8
14
16
14
9
19
24
24
24
22
19
20
17
22
19
15
8
3
1
0
0
2
0
0
0
4
4
1
0
0
0
1
1
0
0
1
0
0
2
1
0
0
2
1
0
0
2
8
3
0
0
2
6
12
16
18
20
17
15
11
32
41
43
46
45
22
2
0
0
0
0
0
0
2
7
8
7
1
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
9
10
11
18
17
13
19
16
8
0
0
0
1
0
1
0
0
0
6
20
18
20
28
33
27
6
1
2
1
0
0
0
0
1
5
7
0
0
0
2
3
0
0
0
0
61
75
68
64
62
61
50
43
34
38
40
40
9
0
0
3
0
0
0
0
0
0
0
0
0
0
0
3
4
1
1
4
0
0
0
0
2
0
1
12
17
0
0
0
6
8
7
3
0
0
0
1
0
0
0
4
0
0
37
62
75
76
84
90
93
91
90
79
65
71
75
74
69
64
63
56
52
44
28
24
19
12
10
10
7
3
4
2
0
0
3
1
1
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
8
4
6
9
7
5
2
0
0
0
4
2
0
0
0
2
2
2
0
3
1
0
0
0
2
3
3
2
1
1
0
1
0
0
0
2
3
4
2
2
0
0
0
0
2
1
5
0
0
3
11
9
10
10
11
13
12
10
9
9
6
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
1
0
1
0
0
0
3
1
4
7
9
4
0
0
1
2
3
2
6
13
14
14
8
26
34
35
38
42
38
21
16
17
18
34
41
62
77
71
42
7
0
0
0
0
2
0
0
3
5
5
4
6
8
15
10
0
0
1
0
0
0
0
0
2
3
1
5
5
1
0
2
0
0
0
6
1
1
2
2
11
6
15
22
29
37
24
2
3
2
2
0
0
0
0
0
0
1
0
0
1
0
0
3
2
1
24
59
60
57
59
62
61
50
35
34
38
39
40
37
13
4
0
1
0
0
0
0
0
0
0
0
0
5
5
2
2
0
0
1
2
1
0
1
1
3
9
0
6
8
12
19
14
7
0
0
0
0
0
0
0
0
13
29
53
56
62
66
69
70
68
68
64
41
43
76
76
73
66
51
28
22
21
25
23
19
13
10
8
7
5
5
4
3
6
2
3
2
1
3
6
8
8
11
11
14
14
16
23
24
22
22
17
15
6
4
0
5
1
0
0
0
0
1
2
0
0
0
0
1
1
0
5
3
0
0
1
2
0
0
0
1
1
1
2
2
2
4
2
2
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
1
2
3
0
0
0
6
5
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
3
1
0
0
0
0
0
0
0
0
0
3
1
0
2
0
1
0
0
0
3
43
63
63
51
31
10
5
16
22
19
19
18
22
25
27
27
29
30
38
43
41
37
35
38
36
37
38
32
31
27
29
33
34
34
32
31
27
19
5
0
0
0
0
1
1
0
0
2
1
0
2
0
1
0
3
0
0
0
0
2
3
6
0
2
0
17
31
27
13
1
0
2
0
2
2
1
0
5
0
0
2
5
4
3
0
0
2
6
34
56
57
55
49
50
41
43
39
36
38
35
41
39
37
38
33
33
18
12
8
10
20
30
33
30
24
20
14
12
17
18
18
11
6
7
0
0
5
0
0
0
0
3
2
1
2
1
1
1
1
0
0
4
20
33
37
40
41
50
58
55
51
44
45
44
24
24
34
34
32
36
34
28
29
27
26
22
22
21
18
16
21
23
22
18
20
14
18
14
12
8
8
6
4
2
0
0
2
0
0
2
2
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
3
0
0
2
0
1
1
2
0
0
1
1
0
1
1
1
2
2
1
2
2
1
0
0
0
1
1
1
0
0
3
0
0
1
0
0
0
3
0
0
0
3
3
1
0
2
0
0
0
0
2
0
0
0
0
1
0
0
2
2
0
0
0
0
1
0
0
0
0
2
0
3
3
3
4
0
0
0
0
1
3
1
3
5
1
2
0
1
0
4
0
0
47
79
91
85
84
81
49
42
28
7
13
15
14
17
15
18
20
21
20
22
24
22
25
26
29
27
25
27
30
28
24
20
19
20
20
14
11
15
13
7
5
0
0
0
0
0
1
0
0
0
2
1
0
0
2
0
0
0
2
3
0
6
7
3
0
0
5
12
23
19
0
1
2
0
2
0
0
4
2
4
2
2
0
0
2
2
0
0
1
0
26
46
47
42
41
36
44
44
44
37
33
30
29
23
23
20
28
27
24
27
26
38
43
45
44
32
26
26
22
17
15
11
6
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
2
0
6
18
30
31
27
26
26
24
23
25
31
27
29
25
36
40
40
35
42
45
46
43
33
21
12
9
1
0
0
0
0
0
0
0
0
2
2
4
3
3
3
1
1
0
0
0
1
2
0
0
1
1
0
1
0
1
2
2
0
0
0
0
0
0
1
3
2
1
3
0
1
8
5
5
6
6
6
2
0
0
3
3
3
1
1
1
3
3
2
2
0
0
0
0
0
3
3
5
2
1
2
2
2
1
3
0
1
1
4
4
1
1
2
0
1
0
0
0
0
1
7
0
0
0
0
0
0
0
2
2
0
0
2
1
3
3
2
4
5
0
1
0
0
0
0
0
3
0
0
0
0
1
1
3
3
0
0
6
52
94
91
85
81
77
58
48
48
43
35
25
19
15
13
11
11
15
18
20
20
24
27
25
25
26
26
28
29
27
27
25
22
22
21
16
13
7
9
9
7
4
3
1
0
0
0
0
1
0
1
1
0
2
0
1
1
0
0
2
0
1
15
10
5
8
4
5
8
10
10
1
0
2
3
1
0
3
1
0
2
2
0
0
0
0
0
0
0
0
1
0
16
32
31
32
36
32
32
35
41
30
35
32
23
22
22
6
8
9
28
33
37
38
47
43
33
32
23
21
18
39
36
18
12
23
30
40
32
21
10
4
2
4
3
1
0
0
0
3
22
35
38
33
21
7
2
0
0
0
2
0
2
12
40
37
41
52
52
41
36
26
18
8
5
3
1
3
3
0
2
0
1
1
1
1
1
0
0
1
1
2
0
0
0
0
0
1
3
1
2
0
0
3
1
0
1
2
2
1
0
1
2
0
0
3
10
10
6
6
8
4
6
6
5
4
4
3
4
4
4
3
3
4
0
0
0
0
2
2
3
1
0
1
1
2
1
1
2
3
3
2
6
4
2
1
0
2
3
7
7
5
5
6
6
9
9
3
3
5
9
9
0
2
0
0
0
6
12
8
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
13
5
0
0
0
0
0
0
9
33
78
101
86
82
79
71
64
51
40
36
30
22
22
20
23
23
23
19
14
15
16
17
20
25
28
27
29
32
34
35
37
38
37
34
31
26
17
14
8
11
7
3
2
2
3
3
0
0
1
1
1
0
0
1
2
3
2
0
2
0
0
0
7
20
25
31
31
31
31
28
26
22
19
19
1
0
0
1
0
0
0
1
1
2
3
0
0
1
0
0
4
0
1
0
4
21
15
20
21
21
19
22
28
28
26
30
26
15
11
4
1
0
0
7
40
39
35
61
53
10
8
20
37
20
19
17
26
31
36
41
37
31
19
6
0
2
3
1
0
0
2
5
10
14
10
2
0
0
0
0
1
1
0
18
52
49
41
44
45
44
38
29
12
0
1
0
0
1
1
0
2
4
0
0
0
3
2
2
0
1
0
1
1
0
0
0
0
0
0
0
0
0
7
2
0
0
0
0
1
4
10
12
11
6
6
5
9
9
9
9
6
6
2
4
4
5
5
5
4
5
5
5
6
4
5
3
3
2
1
2
2
6
7
7
7
5
3
1
1
2
4
5
5
7
6
3
3
3
5
5
11
9
12
12
12
21
26
27
27
29
29
29
26
15
2
0
0
0
0
1
11
8
7
1
1
2
0
0
0
0
0
