300000
55877
242
225
101
220
184
118
244
232
97
214
154
112
192
138
109
132
132
240
172
71
209
226
222
91
92
108
111
164
153
238
148
174
82
168
161
91
155
131
99
191
130
103
201
173
123
79
120
238
151
223
148
230
203
109
128
189
221
133
70
131
95
180
203
85
161
113
99
202
115
93
117
236
136
108
150
209
219
179
239
206
193
141
131
106
87
70
83
241
227
242
186
76
149
245
110
213
159
137
171
185
91
157
154
193
155
196
128
234
202
224
156
169
72
72
218
237
208
81
175
84
96
170
140
237
103
85
167
215
70
125
134
165
145
168
101
119
199
192
192
217
96
247
146
167
179
154
96
125
94
164
164
148
111
106
165
225
81
242
75
204
206
204
126
246
238
152
83
181
115
140
137
159
115
214
139
214
170
86
184
241
111
147
205
82
157
114
80
148
159
198
221
134
93
127
86
138
82
226
138
81
226
183
91
86
166
222
174
209
237
197
130
93
131
93
75
103
214
243
73
197
80
217
121
205
179
146
86
142
200
171
109
124
235
142
159
83
109
173
152
108
86
99
119
187
125
95
221
77
204
168
137
201
128
149
176
231
207
233
168
247
131
232
135
169
218
140
146
121
180
111
119
215
171
77
109
82
130
117
96
219
82
123
225
243
183
164
221
232
208
154
75
223
233
171
242
158
98
236
77
141
210
114
150
138
82
219
87
150
220
208
202
143
99
102
178
234
219
213
224
235
244
126
242
81
175
170
131
182
154
217
85
156
176
142
146
100
73
87
113
246
123
83
209
134
81
97
184
193
245
245
71
184
223
71
222
225
199
171
247
70
74
89
238
117
243
116
113
83
136
138
185
130
227
144
170
160
165
171
220
96
236
169
122
145
129
202
161
104
227
241
189
155
168
202
151
227
83
99
218
191
215
135
83
128
223
105
135
120
250
159
111
92
164
200
135
242
240
94
226
154
169
146
210
187
166
175
180
109
141
133
250
110
133
240
207
71
211
111
96
94
195
123
154
84
184
142
221
106
143
100
123
131
201
199
246
84
226
153
78
241
153
211
139
162
126
73
154
143
94
156
86
234
193
228
119
220
103
199
183
212
228
136
75
165
244
228
174
118
83
134
94
136
230
159
204
224
141
179
200
191
160
207
233
206
215
225
130
94
178
128
123
190
208
92
189
237
208
70
139
139
139
149
189
126
189
116
115
164
163
211
94
186
131
139
224
220
129
222
187
217
188
106
127
204
171
108
104
82
133
143
217
216
221
83
81
104
182
217
207
93
226
110
237
244
243
89
246
198
82
112
165
103
160
153
103
219
195
161
105
160
222
213
141
203
122
242
78
124
223
207
211
172
163
199
241
128
201
135
236
95
223
195
156
196
147
97
91
144
215
153
145
242
168
117
164
179
183
171
167
104
246
139
150
250
153
203
201
119
84
214
119
202
165
82
187
212
201
142
115
144
222
131
73
238
241
201
205
243
239
87
155
144
171
171
151
99
243
115
144
91
205
147
208
82
229
124
124
240
195
92
154
218
209
114
70
101
120
124
209
113
215
129
179
87
198
76
235
213
201
207
87
82
146
241
79
131
221
244
164
141
107
171
173
208
215
135
137
130
144
156
199
194
250
113
124
182
164
190
156
74
237
200
191
102
200
149
220
224
112
237
160
196
169
223
112
135
131
173
140
174
182
231
237
114
149
93
245
74
137
190
75
221
115
124
164
163
146
180
169
111
174
177
183
238
211
226
101
142
158
203
105
131
108
231
169
247
172
102
141
239
92
79
187
136
86
93
125
164
209
207
179
206
138
219
94
70
76
101
214
107
110
81
195
232
177
183
145
142
191
141
157
160
132
70
82
138
192
146
154
247
122
72
135
137
225
218
154
222
208
247
228
122
247
112
72
95
138
215
184
162
249
224
111
154
229
247
162
147
200
142
153
171
245
138
110
70
138
148
109
193
185
93
188
235
115
179
106
221
151
200
70
123
123
157
230
174
207
74
82
158
185
108
173
221
92
83
208
247
165
191
77
207
158
151
127
236
182
153
181
219
172
244
101
227
126
214
183
248
118
97
92
108
128
161
157
150
133
205
103
132
196
196
178
213
99
76
145
154
84
198
179
221
154
172
85
152
166
227
225
133
176
149
84
102
213
125
205
223
236
190
146
175
111
97
171
121
130
167
157
217
100
166
155
123
116
167
169
244
215
106
219
215
249
182
126
142
99
135
135
236
210
211
220
72
193
215
84
148
153
206
206
114
227
101
229
217
76
94
198
102
164
186
72
132
191
172
89
184
220
76
116
188
223
125
164
103
153
203
77
100
217
208
248
219
162
199
150
194
223
235
218
108
87
135
188
144
205
98
116
181
130
191
142
192
227
234
218
85
197
81
195
122
233
99
230
127
218
136
113
197
187
231
195
204
173
181
198
237
152
151
83
250
99
199
171
142
124
241
79
71
95
132
78
191
147
115
109
188
197
166
245
220
162
188
210
105
94
108
130
106
78
79
188
184
150
204
87
177
164
196
97
114
170
103
140
128
168
173
245
183
114
238
102
189
181
87
228
198
165
107
154
141
164
219
201
144
150
159
143
77
185
180
232
159
189
128
171
121
238
238
89
135
249
234
180
153
195
230
109
234
241
241
248
218
207
192
209
85
219
161
170
244
234
203
167
204
133
131
94
234
202
160
150
250
87
107
217
85
178
101
238
192
212
230
211
85
138
117
89
166
202
80
121
84
98
244
183
117
192
79
95
98
179
81
133
224
109
152
220
71
125
220
184
204
131
105
70
212
242
173
71
75
131
160
235
205
198
81
198
188
115
178
213
226
97
215
211
106
142
88
157
154
161
241
172
226
220
131
223
100
112
202
229
206
126
157
84
122
71
79
70
227
160
196
193
77
109
133
151
141
179
121
157
144
181
144
80
197
137
199
122
130
136
179
109
208
136
90
136
87
231
109
75
140
85
207
77
237
149
100
130
186
139
161
159
184
240
117
205
135
193
151
129
182
197
154
137
81
162
227
98
177
233
199
161
152
181
150
211
112
231
249
203
74
94
168
210
227
231
197
187
219
150
225
85
247
228
248
75
102
178
165
165
92
214
160
157
116
77
192
73
219
210
182
90
79
93
165
75
165
121
155
127
96
70
156
73
132
189
141
130
172
112
233
156
72
233
187
76
128
246
189
161
79
234
216
184
210
174
224
160
106
131
82
228
117
156
233
152
79
207
185
129
131
149
164
201
213
92
112
85
207
159
181
241
187
177
104
123
179
235
155
237
175
192
121
124
190
216
176
96
93
211
100
112
148
157
193
225
224
186
225
210
127
246
133
216
136
239
224
153
122
111
77
172
149
250
176
165
76
86
179
95
147
169
217
226
86
193
211
229
179
76
184
77
135
103
244
156
103
214
83
247
217
131
226
77
82
122
129
92
120
141
203
173
192
92
136
167
124
224
98
132
71
113
94
154
111
109
81
245
110
149
226
131
204
244
131
222
232
181
207
157
220
131
211
129
88
227
153
247
217
243
226
120
242
201
175
70
173
113
147
188
72
157
101
143
120
114
136
87
164
208
83
176
133
112
127
141
134
221
209
160
217
104
87
95
122
222
216
130
219
106
156
174
141
204
170
157
223
92
93
191
93
173
113
78
230
215
101
250
202
176
157
82
160
247
119
107
180
93
171
155
155
126
208
74
241
113
74
217
76
174
213
147
216
88
157
158
187
118
223
91
219
219
118
165
248
199
112
131
213
159
195
126
225
104
196
162
84
91
226
81
173
241
90
153
88
160
223
126
190
111
187
121
216
228
192
138
243
132
109
108
100
202
207
117
148
100
227
193
77
111
242
241
141
90
201
172
80
124
179
124
169
147
97
86
122
208
71
136
238
175
91
85
204
83
146
109
103
226
92
240
120
181
178
229
99
120
131
191
157
201
161
152
249
178
161
250
133
204
165
138
132
174
225
124
235
167
115
96
81
192
226
219
137
178
151
134
173
181
125
207
180
165
172
148
100
121
181
110
91
189
249
184
228
214
239
149
91
99
166
160
135
129
219
171
95
162
214
77
194
71
187
236
160
231
148
139
216
165
197
132
205
192
121
119
84
244
250
227
231
172
116
197
80
99
76
162
178
216
247
248
228
114
166
95
151
203
160
205
247
95
217
208
231
124
222
200
179
220
97
164
180
209
147
164
152
72
225
107
93
100
167
120
155
109
85
130
170
91
235
225
228
229
93
98
218
78
216
146
244
77
225
144
178
125
102
246
142
161
194
230
243
163
134
80
231
237
118
186
231
109
180
116
71
175
225
147
241
234
140
114
156
226
165
238
162
99
202
132
153
156
191
132
109
72
126
250
195
232
240
126
234
106
140
241
148
94
160
153
220
249
135
247
194
198
81
166
226
182
165
106
173
131
186
91
211
247
118
131
189
177
150
248
91
188
144
250
127
137
123
174
84
216
164
227
146
140
158
166
159
99
113
80
207
238
121
147
109
230
153
105
196
87
152
209
206
94
189
180
142
206
214
114
120
235
117
112
241
113
223
116
183
187
238
222
239
70
70
191
194
97
185
158
146
199
108
102
220
75
93
202
235
89
134
136
91
228
83
122
92
225
161
74
192
90
134
220
149
157
184
227
116
143
186
216
224
103
176
89
234
102
219
210
191
87
247
152
202
206
160
188
188
141
91
197
204
173
164
210
179
228
129
121
107
226
122
168
168
164
151
208
217
200
88
191
74
155
225
110
196
84
239
226
173
181
99
191
93
201
87
105
76
231
107
144
104
167
203
73
152
200
250
177
96
227
241
79
165
176
197
153
241
134
236
234
248
74
134
214
156
159
101
226
181
164
99
146
208
224
151
179
202
139
88
189
148
109
148
78
192
247
139
146
169
249
88
164
197
155
208
174
242
172
89
177
122
112
186
200
101
118
87
100
152
185
87
86
246
165
176
107
232
203
224
130
208
210
127
120
125
243
85
193
225
101
154
197
196
214
178
82
210
242
194
189
158
189
128
113
161
83
99
154
210
98
214
170
221
174
187
142
210
201
174
145
178
214
226
213
246
221
127
141
167
218
240
128
89
106
198
234
119
169
78
216
198
77
114
167
156
232
136
129
206
160
159
168
185
248
72
248
177
235
205
83
101
150
147
226
175
186
229
202
166
124
114
198
125
82
244
157
118
95
72
70
233
250
223
119
170
117
199
209
129
164
98
88
97
92
245
178
161
249
235
190
142
237
249
124
94
131
85
214
96
92
104
246
107
121
92
139
148
77
74
101
160
95
133
174
192
93
213
181
153
102
128
71
198
166
117
227
249
152
185
120
110
112
193
241
245
85
119
187
132
73
76
143
225
119
227
113
99
219
103
217
127
98
240
200
157
94
108
90
89
167
173
230
202
197
213
189
72
135
105
199
215
142
244
113
206
83
143
158
114
198
242
134
195
234
203
248
158
198
233
148
239
139
89
226
183
140
198
142
88
80
171
82
104
237
160
140
72
109
250
242
78
138
80
106
101
192
218
239
146
82
89
141
227
73
134
164
227
196
155
249
189
246
91
191
77
222
87
144
145
119
228
145
80
99
159
147
199
156
70
83
222
241
217
191
78
133
229
199
128
197
205
113
122
207
244
228
104
248
221
243
125
75
156
86
164
150
184
95
198
191
242
222
122
131
178
113
175
123
147
220
248
243
187
104
122
173
71
139
121
134
86
185
132
90
211
113
197
176
175
235
132
146
141
184
94
184
115
239
177
119
163
195
95
220
183
70
226
169
223
167
237
148
76
222
147
208
72
209
70
112
248
210
86
78
72
125
161
78
232
225
122
83
155
92
147
215
208
247
168
153
248
131
234
98
232
229
250
202
181
198
227
201
149
244
120
182
214
146
154
124
204
126
127
169
176
178
154
82
144
71
206
224
165
212
75
160
216
134
90
141
115
210
111
89
172
240
130
120
113
94
192
87
210
70
220
161
138
97
175
249
72
214
237
107
168
243
216
89
91
79
166
182
86
232
221
107
93
237
181
99
195
107
248
106
167
166
103
229
110
208
230
112
150
239
244
174
198
148
73
221
166
85
156
74
224
224
196
166
222
143
95
222
131
92
167
154
243
119
118
234
135
156
126
78
163
238
230
236
140
233
191
188
203
238
102
129
219
196
129
226
177
173
82
113
221
241
215
116
76
205
101
127
123
188
74
184
121
100
187
107
146
70
147
217
203
91
103
75
171
218
159
182
75
241
148
154
98
190
141
92
181
145
128
158
118
98
143
199
100
85
239
104
179
184
140
108
198
217
154
139
245
193
235
249
81
192
121
79
145
167
102
234
223
130
78
76
133
155
194
136
93
117
144
171
207
221
110
115
115
193
220
86
74
167
101
213
147
211
128
173
74
82
130
167
101
146
163
204
158
105
202
145
205
87
246
91
229
176
123
241
102
121
197
86
240
237
161
106
185
212
119
124
87
87
204
159
177
141
105
207
240
131
190
131
124
134
152
119
80
186
163
192
190
167
191
183
77
218
224
190
204
203
107
228
197
112
148
228
134
135
106
177
128
83
151
118
134
204
167
81
223
182
81
83
100
186
117
124
239
243
71
127
214
197
149
185
213
176
204
96
196
103
175
145
107
200
110
118
241
90
217
199
70
195
98
249
88
198
91
70
185
203
157
108
139
160
91
119
233
203
219
227
236
243
75
78
223
152
144
216
218
139
169
236
170
101
206
100
139
130
249
151
152
247
243
113
164
219
136
236
74
73
173
160
148
171
74
241
124
130
127
195
210
195
79
94
234
167
118
88
107
215
77
207
97
107
185
164
81
221
112
174
164
103
78
186
226
94
231
240
155
233
74
126
150
241
206
101
78
199
207
120
92
188
225
248
227
80
207
169
249
151
214
169
240
233
235
212
225
90
227
77
128
127
234
86
209
144
248
249
171
207
101
169
153
82
212
160
225
170
249
131
174
87
186
217
145
248
231
116
218
196
241
235
153
143
71
177
83
105
92
117
164
145
105
98
239
214
118
140
151
133
211
139
112
244
182
230
241
235
228
233
214
179
121
126
172
234
245
244
222
112
72
112
220
97
244
180
88
108
109
167
159
119
202
138
233
209
122
193
238
145
243
240
128
207
104
177
218
117
181
208
189
88
213
166
217
173
103
124
200
175
211
179
76
224
120
77
107
208
135
181
236
240
148
175
138
108
171
106
173
121
209
176
199
154
159
231
214
117
148
82
179
227
86
228
98
244
176
203
174
138
112
247
203
137
225
239
159
185
190
147
92
249
224
143
80
219
148
224
107
139
205
178
92
106
185
146
102
149
82
94
150
128
214
133
168
214
124
239
135
191
128
235
98
100
140
172
127
144
168
80
175
179
212
94
112
103
231
82
137
235
130
231
190
143
193
142
207
85
140
116
242
152
237
143
173
222
194
194
213
147
161
100
186
88
96
139
138
228
142
191
225
213
156
185
240
104
231
83
71
82
169
199
235
150
106
91
151
212
197
125
73
165
237
245
180
170
195
246
220
150
196
84
139
73
165
150
244
199
174
181
231
243
176
221
175
70
154
114
180
164
240
156
198
135
73
150
234
130
141
236
163
98
196
204
202
129
108
159
133
234
178
185
209
249
152
186
83
129
249
177
119
103
96
73
120
215
210
245
216
232
152
184
142
157
176
146
85
203
127
208
215
222
156
74
237
108
180
117
98
139
116
238
191
232
187
228
227
193
163
88
150
159
191
99
247
137
249
111
165
117
117
94
99
148
94
77
201
111
179
233
146
179
192
111
156
177
221
233
137
168
196
143
184
225
93
209
207
157
80
189
133
142
148
171
162
113
195
134
75
231
165
235
173
94
179
248
160
149
239
147
175
104
232
77
121
103
225
165
133
242
82
160
112
210
219
229
196
151
218
224
115
142
102
199
102
70
184
143
103
123
109
203
161
78
94
242
142
234
197
157
142
125
187
200
191
204
103
110
109
191
246
220
200
125
166
169
227
209
98
209
243
219
241
210
233
123
114
232
115
232
204
85
239
210
205
104
149
250
86
158
188
108
212
185
147
182
179
119
210
209
218
80
71
138
148
127
72
117
222
84
199
93
182
122
121
222
243
143
159
168
132
197
242
114
170
239
121
229
214
112
76
154
131
149
192
92
153
219
75
173
170
122
189
229
210
183
139
107
163
168
95
182
228
147
184
114
157
240
141
100
223
196
80
157
108
193
149
223
78
189
200
243
159
218
162
112
148
166
168
78
241
198
159
226
117
75
168
105
138
137
156
178
117
174
181
157
96
133
231
147
102
98
84
139
88
220
71
239
97
242
191
106
228
86
87
135
168
89
249
104
193
119
72
143
112
248
93
166
225
220
109
91
247
202
110
135
232
139
76
176
183
101
87
227
157
190
167
240
235
246
183
169
82
74
167
108
129
72
197
180
157
140
113
244
241
121
245
248
249
96
91
215
106
217
82
80
153
124
216
151
194
90
115
71
194
97
110
203
123
206
133
187
131
242
97
127
194
175
243
75
114
95
147
181
223
101
134
212
222
162
245
202
168
244
151
248
130
98
141
175
107
195
97
207
81
119
125
163
161
142
230
78
214
83
104
97
111
78
76
112
218
224
244
154
150
148
177
131
192
141
82
93
177
202
157
150
119
216
198
172
229
159
175
86
195
250
143
244
247
193
204
241
105
98
158
162
209
189
196
99
156
131
208
246
225
88
227
190
74
136
138
181
139
142
165
172
238
181
148
162
211
163
215
90
94
124
228
209
182
90
70
160
83
243
128
150
188
236
112
148
156
106
141
78
190
174
77
181
148
121
119
118
217
222
221
168
201
169
146
98
151
141
124
155
164
74
144
99
121
96
157
211
83
222
245
237
86
229
241
240
217
188
79
118
147
244
189
202
169
153
106
121
215
177
170
218
76
130
115
187
82
108
136
179
181
75
219
250
143
125
96
241
130
192
202
74
209
249
104
202
116
174
228
168
209
75
117
98
72
74
70
80
166
162
229
111
129
212
165
74
196
213
102
134
201
190
155
141
200
111
167
136
183
109
122
212
99
93
114
93
142
122
142
229
143
237
70
131
112
78
130
105
142
136
246
206
111
144
168
238
109
161
183
119
228
95
172
243
70
223
201
190
176
199
136
150
98
172
184
230
213
190
180
244
198
135
179
238
96
146
129
190
133
204
185
115
242
138
231
109
100
192
93
230
92
148
107
243
195
97
202
113
107
191
178
223
217
169
108
111
103
153
162
119
181
237
120
93
204
174
225
249
165
244
217
88
109
228
116
152
248
143
228
181
137
241
114
91
84
73
171
234
110
125
109
116
242
183
172
97
237
166
82
114
128
76
136
161
187
214
175
113
101
241
151
84
234
84
89
172
154
182
147
161
96
80
247
153
230
186
207
120
92
126
228
248
179
140
166
123
180
148
212
170
107
167
120
178
106
170
179
189
201
222
120
90
178
195
225
98
193
226
213
141
91
119
78
76
127
148
186
120
238
76
82
193
220
142
154
113
204
105
205
114
72
170
228
130
172
158
136
78
163
222
126
103
82
220
107
174
82
249
172
170
154
180
88
107
155
101
195
144
119
179
160
229
154
226
194
237
144
250
77
161
187
90
97
211
83
201
170
133
159
116
134
202
96
199
246
198
180
214
216
194
154
84
184
101
140
197
200
225
242
248
201
167
88
212
214
153
127
184
198
118
212
187
206
234
192
114
233
94
125
183
82
232
79
192
194
123
147
218
229
205
89
88
167
182
184
206
105
211
202
89
250
79
184
215
199
82
95
149
249
135
99
215
175
91
203
184
100
197
153
121
82
101
233
209
222
211
93
96
102
230
135
72
91
235
101
206
166
105
190
201
223
128
134
234
124
195
149
118
129
192
147
75
164
151
151
231
156
217
140
207
226
123
114
79
95
112
115
232
250
166
172
145
97
145
74
119
207
206
199
128
211
234
82
214
218
191
132
250
245
230
126
190
88
128
165
70
164
96
240
74
141
81
133
201
86
212
177
123
101
216
163
131
230
182
207
201
150
171
101
213
180
93
186
211
80
140
205
110
78
106
107
210
202
192
204
73
142
138
73
224
179
124
211
241
211
233
145
193
187
77
70
221
239
152
202
136
198
105
91
211
204
84
115
244
243
85
248
164
159
182
118
136
99
107
155
175
123
181
175
141
134
240
227
146
228
98
93
146
73
77
88
246
208
202
97
175
165
197
166
218
165
115
80
151
71
240
145
126
207
74
159
72
173
173
161
166
211
108
200
165
245
149
180
103
77
72
85
148
99
225
82
150
128
127
233
174
193
147
122
151
207
151
214
217
137
91
186
119
211
145
107
125
129
165
72
210
114
134
98
245
210
97
171
177
180
138
72
176
94
76
238
103
100
181
155
236
150
84
171
109
243
239
140
191
119
219
97
123
106
150
110
91
103
184
148
105
74
90
88
177
148
213
75
236
105
161
142
227
221
145
241
151
243
100
220
95
214
213
215
195
137
140
83
118
78
166
198
203
208
133
179
202
127
213
210
86
246
176
183
190
157
192
127
94
177
162
207
117
233
93
101
222
177
219
196
163
195
196
115
213
91
103
167
137
249
120
171
137
91
233
226
108
161
227
237
81
95
151
131
109
146
140
209
120
219
211
232
116
190
162
240
183
196
96
183
123
178
134
156
207
198
153
160
92
86
175
222
154
200
235
237
205
162
192
143
234
152
80
181
118
205
228
160
118
244
240
101
229
167
138
186
218
222
93
137
149
118
96
77
81
224
140
177
194
154
239
180
174
159
94
186
240
129
100
137
142
130
129
158
170
243
196
72
246
91
117
121
81
222
204
90
88
96
178
188
127
205
243
203
106
91
129
173
91
188
238
226
240
168
136
176
102
249
120
183
189
212
138
88
138
83
212
77
184
75
153
97
232
248
81
95
195
119
220
102
103
126
118
106
171
78
241
112
114
138
218
224
119
144
167
240
193
143
154
250
102
110
208
86
85
83
196
203
149
109
161
125
196
100
78
157
89
128
209
115
126
170
103
144
190
209
120
111
143
214
208
138
108
157
147
91
94
159
78
132
142
245
167
142
232
78
249
149
149
163
227
154
171
223
80
152
112
159
206
137
222
248
225
192
113
74
150
101
233
248
110
143
213
85
182
181
109
76
232
170
205
182
133
202
77
107
156
90
151
98
223
161
111
168
172
187
131
88
208
162
207
167
123
240
112
125
103
190
246
222
219
199
245
201
249
137
245
87
166
210
122
89
174
109
245
97
75
160
73
218
250
82
87
197
138
119
209
181
153
126
149
166
126
238
179
181
166
95
185
213
127
166
134
127
177
112
239
103
235
155
123
241
86
222
230
152
185
192
83
77
130
111
173
145
92
107
173
184
237
150
237
104
184
124
186
171
208
121
177
248
231
223
198
249
249
158
224
202
199
117
106
151
154
125
173
218
189
103
228
113
152
103
241
164
99
218
241
79
224
87
148
217
109
199
114
197
202
248
191
83
115
86
100
89
226
168
73
202
98
102
81
140
215
163
92
133
79
147
248
159
241
146
207
177
79
155
90
237
159
190
103
183
153
134
142
126
133
104
102
147
202
130
239
98
82
210
180
82
172
148
209
242
225
75
92
217
138
130
80
84
148
89
83
248
188
247
224
134
163
112
93
146
81
188
130
196
125
241
113
181
225
221
127
127
202
99
188
206
234
180
195
164
184
246
97
212
175
77
235
188
170
120
92
104
162
244
122
192
91
233
71
241
246
75
97
219
235
163
213
228
99
90
199
229
76
173
204
242
127
199
74
163
228
150
249
200
165
131
166
223
86
151
80
126
187
139
81
248
91
226
99
132
237
130
128
215
93
114
79
86
71
173
248
115
139
228
224
129
85
90
206
197
217
133
82
220
190
133
244
149
72
72
88
101
102
138
174
224
85
176
105
100
121
98
220
206
100
138
72
84
233
235
141
214
220
95
245
102
112
231
224
233
225
207
165
143
84
108
207
206
179
170
71
155
137
92
165
239
105
239
173
200
123
222
212
166
71
150
238
102
76
125
154
106
202
144
131
237
249
73
131
129
213
199
243
175
151
116
150
229
165
124
220
104
150
77
222
151
188
93
218
151
119
207
235
240
214
163
132
144
123
137
156
100
237
139
76
104
91
142
211
75
153
220
103
83
231
209
189
195
119
98
217
235
250
227
206
84
155
87
91
197
214
204
144
141
197
138
162
101
249
227
125
147
144
82
131
77
147
128
219
173
148
96
189
105
144
79
145
125
142
220
244
146
250
169
166
215
206
242
124
183
212
236
173
164
243
72
137
174
149
148
163
194
208
224
152
248
194
238
109
190
121
115
112
206
156
187
74
208
77
202
78
247
163
82
224
149
199
192
203
108
174
219
147
91
111
143
103
222
164
203
142
113
106
221
124
81
203
224
186
142
92
151
120
148
176
144
98
208
145
100
187
230
97
146
199
229
238
177
75
106
100
245
218
116
188
183
224
149
134
172
171
121
109
205
114
240
171
166
165
184
97
96
87
127
198
174
130
180
248
208
98
190
213
177
175
161
195
127
123
101
174
87
85
249
97
121
194
175
112
237
170
224
96
176
209
124
93
192
214
205
129
138
241
213
177
99
117
91
95
189
134
143
145
218
244
147
206
114
120
167
163
222
131
145
174
147
180
169
197
129
83
196
151
162
194
202
123
117
186
78
74
186
177
140
141
176
217
132
163
196
165
187
227
160
106
188
169
96
151
192
141
222
142
103
170
206
90
149
81
111
88
237
179
164
241
127
171
140
141
105
243
248
132
154
70
165
89
139
86
195
168
93
136
230
166
70
84
228
242
232
183
211
239
239
217
140
213
144
172
77
175
160
116
233
171
79
132
217
193
108
189
221
106
228
137
124
76
71
86
232
137
223
130
153
199
103
125
210
233
107
242
70
216
97
146
228
71
122
230
160
123
148
82
217
114
128
217
102
94
132
103
103
70
138
180
240
126
176
112
209
108
85
173
161
149
136
200
210
233
232
164
129
103
213
173
230
99
209
210
93
214
210
99
231
161
221
201
203
149
248
179
232
250
173
74
149
226
109
115
96
207
234
159
79
237
198
107
131
177
124
83
101
199
103
92
137
250
132
111
97
177
212
113
250
97
124
203
135
162
80
151
124
161
104
156
186
172
245
248
131
89
79
115
79
131
134
246
211
142
173
244
175
133
192
109
88
197
109
170
224
215
181
127
79
214
94
245
137
108
232
84
80
190
239
159
128
91
126
160
193
111
167
237
136
217
103
175
193
189
107
136
192
205
203
123
231
186
242
178
202
240
128
119
116
188
162
152
113
223
132
246
117
140
101
198
129
151
210
175
174
193
235
227
153
195
242
91
85
207
116
159
146
217
216
231
239
103
119
208
114
190
147
248
117
204
75
99
137
216
91
175
236
98
82
167
145
192
199
131
232
162
142
149
194
153
220
133
247
166
154
81
98
125
225
161
170
114
180
153
184
129
82
82
196
140
121
132
148
131
131
171
80
214
127
172
93
164
165
199
234
204
75
112
108
222
159
243
164
175
152
81
238
98
99
130
72
152
193
138
162
161
86
244
226
160
236
115
121
200
115
165
92
78
247
154
246
103
194
79
144
70
130
160
74
194
169
224
117
177
207
214
163
127
202
232
249
173
115
174
163
236
109
76
216
243
108
228
224
216
225
178
198
195
168
201
180
114
180
236
156
178
141
175
131
196
243
196
225
200
141
238
123
114
150
247
203
73
235
115
165
133
146
109
222
225
187
247
80
132
233
87
193
231
211
171
179
232
132
203
162
144
149
151
184
119
101
114
194
114
222
229
122
209
176
166
133
203
126
193
81
192
230
143
171
193
121
135
181
135
237
78
179
204
118
194
144
205
139
131
225
244
224
165
123
204
162
71
161
223
89
128
202
163
220
164
243
169
129
121
238
84
116
126
72
210
214
222
72
154
177
227
73
248
77
103
249
172
119
126
93
135
93
119
121
106
223
241
243
127
148
74
160
154
167
141
157
87
183
158
201
211
191
179
243
141
155
144
80
234
197
240
198
228
169
222
143
165
147
109
145
151
201
142
110
97
135
192
86
93
141
183
191
79
161
238
156
206
227
79
122
172
176
170
92
246
100
75
109
183
82
136
88
139
164
204
211
237
163
136
222
205
133
150
160
115
135
238
136
197
129
83
194
217
97
94
89
164
103
105
110
205
159
77
194
81
159
124
154
217
85
214
125
244
144
216
94
242
146
219
196
170
238
125
245
107
122
188
225
243
210
202
236
181
234
163
228
189
185
94
197
120
245
110
228
81
117
125
149
205
217
184
220
127
116
178
187
116
180
205
154
170
167
125
185
107
119
102
249
74
96
128
197
234
226
138
74
189
125
170
135
238
211
162
95
197
154
229
145
207
181
84
207
185
130
164
187
134
225
136
90
110
185
145
162
136
224
90
180
137
222
217
154
156
90
227
114
90
80
238
210
241
115
77
186
237
201
202
221
96
100
141
249
98
230
205
211
157
142
129
175
192
115
204
88
236
170
70
171
81
219
186
172
130
182
136
84
83
101
207
165
151
70
212
121
82
221
210
163
109
247
205
76
104
170
204
155
113
197
140
163
141
183
86
210
106
175
225
237
242
79
186
75
74
168
187
129
71
206
197
98
78
248
223
175
71
168
166
136
184
131
241
117
238
119
188
241
75
160
191
71
199
164
139
194
186
195
152
201
244
180
200
100
191
190
204
235
197
71
116
114
185
103
137
226
123
217
176
234
172
141
116
165
91
187
225
220
114
98
99
78
165
75
116
85
162
87
165
226
145
161
174
170
126
99
236
218
82
81
247
224
150
72
95
159
88
177
239
216
121
160
87
185
167
101
197
182
216
169
118
234
168
140
160
93
110
172
172
98
92
235
88
177
148
117
245
147
131
206
223
75
227
145
146
110
73
150
142
187
129
102
89
134
134
71
168
241
245
165
250
149
99
202
242
113
243
82
73
218
93
84
209
179
193
227
241
82
239
159
112
162
70
217
145
173
135
166
194
247
169
135
108
232
128
91
96
234
237
148
144
115
141
192
175
213
202
238
129
120
130
211
226
100
141
199
197
129
93
230
154
86
80
119
165
76
190
233
219
174
76
247
201
144
241
232
128
197
158
196
99
192
121
73
191
190
141
177
209
156
239
197
109
82
90
74
84
83
150
157
222
248
192
195
196
132
107
211
100
140
97
126
250
167
181
218
241
230
169
131
245
201
81
122
148
164
218
213
144
125
177
137
205
220
212
197
167
183
109
71
247
230
224
221
234
235
164
161
123
206
135
206
223
108
80
158
95
79
159
250
93
217
105
242
245
217
172
77
233
235
217
198
167
137
76
77
93
136
151
207
159
192
224
238
94
148
127
234
123
223
89
156
179
173
143
124
124
237
153
227
98
116
90
170
193
151
217
136
101
76
159
130
182
89
218
218
188
114
199
242
203
146
194
174
168
117
177
183
82
186
191
195
167
216
122
175
145
98
226
158
195
108
195
81
180
179
118
169
245
137
228
149
214
200
202
249
79
72
211
237
179
190
199
224
170
176
91
95
169
101
236
224
70
196
216
126
116
216
164
240
99
149
116
212
113
187
143
71
173
116
222
170
81
121
183
185
136
229
213
156
176
175
213
181
70
122
217
211
195
216
171
127
88
200
247
199
175
199
146
200
81
74
112
154
157
166
76
169
92
106
219
143
90
176
144
211
93
246
167
225
188
163
99
222
202
71
239
156
96
87
209
250
73
228
140
194
72
105
177
117
79
89
95
147
119
164
172
178
152
111
80
142
88
204
218
121
116
249
192
195
227
164
221
213
169
145
133
194
200
137
185
136
165
107
243
190
139
74
210
105
226
199
166
101
168
156
79
237
133
81
143
121
78
228
118
137
216
115
99
70
226
144
226
211
98
106
125
106
84
123
145
217
158
77
90
236
222
125
217
96
179
82
198
78
214
98
140
247
142
73
154
229
153
246
80
224
165
206
144
241
187
114
72
238
183
95
147
131
140
210
92
113
96
106
112
74
233
212
179
201
74
173
183
104
194
96
112
164
249
242
82
124
154
175
82
135
206
243
136
110
214
245
220
83
159
211
128
249
90
119
162
225
213
76
201
76
191
176
149
72
228
203
200
73
145
199
138
134
241
181
153
190
205
88
131
103
176
119
217
222
166
113
192
160
207
162
241
246
187
93
192
105
74
158
134
216
217
241
156
196
88
94
244
111
172
92
184
233
152
242
85
210
133
181
89
211
89
214
85
179
162
160
122
156
101
125
244
203
231
152
86
132
141
173
142
101
150
184
113
92
177
207
181
214
167
203
245
160
127
224
237
191
201
198
145
210
242
237
112
243
133
183
183
136
154
141
207
106
195
137
154
228
107
172
127
242
211
215
190
179
138
212
144
116
78
239
191
226
170
238
133
236
199
94
114
216
183
77
107
232
155
79
82
172
194
99
219
208
210
155
113
117
209
247
85
73
99
128
205
197
121
170
184
193
228
213
236
224
112
180
160
147
99
166
183
104
141
173
198
194
139
130
77
127
228
81
140
138
96
164
247
153
223
103
200
170
195
164
204
95
181
137
123
97
87
236
182
138
162
132
156
202
219
142
154
192
161
99
167
114
158
73
232
229
174
180
161
90
143
165
130
112
221
82
202
89
103
233
158
74
116
135
166
125
75
166
178
191
156
236
240
214
177
201
51
64
76
45
77
78
33
33
69
24
47
42
69
35
72
70
43
22
36
49
40
49
50
66
64
37
49
25
38
40
59
38
35
22
48
67
50
64
71
47
58
32
43
31
80
40
76
42
32
32
70
63
76
35
48
26
72
26
65
38
44
77
27
73
28
77
47
48
27
31
62
66
26
32
43
63
63
40
40
36
26
78
76
47
22
48
56
75
58
31
52
66
35
75
68
80
41
66
67
52
69
66
65
45
65
45
77
25
62
41
41
45
42
23
64
52
32
48
48
68
32
28
29
28
55
73
21
33
74
69
24
34
23
27
78
41
76
61
39
57
66
43
41
60
46
44
30
47
70
25
56
40
39
22
74
26
49
29
33
43
74
78
80
75
76
65
59
28
52
65
24
38
35
28
67
30
22
51
51
51
61
63
22
55
45
22
44
55
41
23
62
49
52
35
29
69
46
58
37
68
27
79
29
72
41
72
27
23
25
28
47
39
35
38
22
67
44
78
55
58
47
44
79
43
46
65
74
56
20
27
50
23
30
44
34
57
58
77
21
44
75
67
74
75
66
68
29
70
47
34
62
73
71
49
64
31
72
79
30
75
32
66
44
23
80
64
60
66
27
46
29
29
44
38
54
70
71
48
57
28
49
46
35
44
75
55
41
39
32
28
76
71
69
65
33
58
61
51
59
50
80
72
52
74
57
70
79
78
24
67
73
20
57
69
74
66
27
80
63
54
52
64
39
21
75
36
34
28
71
52
75
53
41
48
43
28
75
51
39
63
28
33
57
51
47
45
20
25
65
21
71
62
30
65
37
20
46
25
74
56
21
49
72
58
26
65
55
56
63
42
80
36
68
42
77
77
25
34
54
32
42
33
77
76
48
47
31
23
65
45
41
62
39
46
76
26
63
80
63
29
29
39
55
63
45
33
73
63
36
20
55
23
57
41
26
27
63
73
56
40
57
78
32
66
47
62
57
69
64
40
38
47
67
28
64
78
52
63
28
64
79
21
62
33
58
27
35
59
71
54
44
46
30
77
58
71
21
28
68
80
66
40
34
46
47
56
59
59
68
35
30
41
38
49
46
51
69
43
22
31
68
40
76
38
52
65
53
72
48
62
41
41
76
80
79
52
38
58
29
22
74
65
63
73
71
28
60
62
28
57
69
34
37
21
35
63
80
36
56
54
70
37
50
38
63
25
72
59
66
54
51
43
80
58
30
44
31
22
70
48
73
26
62
35
49
51
62
62
27
23
60
56
42
20
29
31
42
31
64
72
69
49
67
58
32
28
69
34
79
79
78
38
72
31
56
54
76
56
49
73
60
68
42
60
40
57
24
70
67
66
34
79
28
51
25
70
46
59
72
27
31
71
73
77
37
49
36
40
35
26
53
68
70
20
48
54
22
46
29
27
70
27
37
57
63
39
38
39
28
50
22
37
65
57
23
31
70
70
50
76
57
20
58
71
59
23
65
34
39
41
41
66
27
53
58
50
76
61
50
78
75
66
49
67
67
57
63
72
38
50
33
25
45
43
34
44
72
78
74
79
47
58
61
20
40
23
47
71
53
80
23
32
46
39
60
68
66
67
37
76
76
33
67
24
20
28
26
58
64
79
28
48
37
37
29
73
21
32
74
36
22
78
50
75
61
20
80
59
41
72
47
49
64
75
24
47
51
68
57
31
28
62
63
77
64
56
52
22
68
23
65
65
63
44
66
44
45
34
36
38
48
31
60
35
77
73
79
50
69
35
44
79
27
29
76
33
64
34
80
36
79
68
27
70
33
73
47
70
44
46
76
44
63
49
52
79
42
39
54
57
59
25
40
54
43
31
35
20
45
37
77
64
80
47
28
40
67
72
55
31
73
20
78
68
31
44
56
21
50
47
53
39
61
31
28
56
26
78
25
71
67
24
38
52
71
46
66
22
35
36
78
32
78
34
71
48
54
69
45
20
27
75
54
21
74
31
79
28
23
65
41
44
55
71
34
47
40
36
48
66
34
75
33
40
54
63
25
26
59
33
22
72
32
62
68
59
61
45
43
63
71
71
64
57
49
31
31
52
66
24
34
65
41
30
67
45
41
46
45
34
33
44
22
50
46
50
30
75
64
37
71
51
52
66
77
64
22
46
54
36
73
75
39
22
61
53
79
35
79
60
40
57
30
56
73
34
36
62
35
45
25
48
50
32
30
47
61
59
42
53
54
51
54
41
25
57
35
53
47
35
64
65
56
41
25
74
60
68
33
41
48
51
40
47
72
69
80
79
32
22
63
42
53
56
74
61
35
30
59
30
57
49
75
71
46
53
29
79
36
76
75
25
76
71
69
70
66
39
49
25
79
46
71
27
72
69
56
42
53
64
57
34
35
48
29
46
63
33
41
80
28
63
42
30
71
61
22
79
46
44
64
32
74
56
53
24
23
71
25
28
79
23
74
69
51
64
36
52
49
76
29
30
21
41
80
29
52
25
34
47
79
64
36
53
49
58
56
79
44
32
80
40
63
56
31
58
64
36
68
38
73
73
41
37
67
68
64
73
61
71
62
76
53
48
69
48
60
25
74
28
74
28
23
76
42
56
21
73
59
34
51
72
41
56
47
67
67
71
32
77
57
76
63
57
27
36
39
67
47
47
29
60
70
43
59
57
24
49
22
57
65
72
44
34
77
72
42
20
64
23
59
61
57
72
26
44
38
63
48
68
48
30
64
28
52
32
52
77
57
47
80
58
64
21
55
54
28
43
32
77
59
20
77
53
26
32
38
48
28
80
23
66
24
72
34
42
56
45
49
31
66
49
26
32
22
74
63
41
69
78
78
27
65
49
66
73
35
77
31
38
35
77
74
43
54
61
63
75
65
66
75
36
45
39
54
75
79
35
40
35
60
20
75
74
31
25
43
28
27
54
37
70
33
70
62
70
75
55
31
38
57
31
44
63
23
24
76
58
32
24
76
57
57
72
73
25
55
60
65
69
47
36
65
39
75
70
45
45
36
47
51
35
50
48
41
42
77
59
69
47
44
39
47
50
68
31
52
65
79
29
39
36
61
31
78
63
20
67
63
21
60
44
55
60
33
71
49
27
56
80
47
73
28
52
20
73
67
40
33
64
70
35
21
61
23
34
51
67
75
41
50
31
72
33
75
37
44
55
44
67
31
76
63
63
60
40
69
76
80
68
24
70
73
59
34
68
54
20
26
40
58
52
20
26
57
46
48
41
36
37
79
53
76
71
73
60
36
60
34
51
43
53
44
24
28
69
48
59
28
79
62
68
69
61
71
71
30
60
25
22
65
57
23
60
63
37
57
32
36
29
45
28
55
60
56
60
47
54
36
38
70
70
64
43
78
56
39
73
28
78
77
59
24
56
59
79
57
77
32
31
71
28
51
53
30
40
40
50
36
24
30
48
65
43
38
76
21
53
33
59
59
28
62
68
70
80
50
37
38
73
65
32
38
70
74
28
42
74
79
31
29
70
37
24
65
45
58
27
64
78
41
49
44
79
53
24
36
54
50
26
75
75
39
20
31
79
72
28
70
54
48
26
35
69
29
66
28
79
58
46
55
30
71
57
71
63
34
75
27
75
21
53
50
48
57
33
73
70
36
26
77
59
58
71
69
54
54
44
50
59
32
61
55
28
35
45
66
29
67
25
73
77
36
25
75
52
40
66
22
57
62
67
32
38
68
26
39
22
29
49
52
61
43
76
41
60
25
72
61
32
21
79
49
74
64
52
36
74
67
64
60
36
51
66
30
54
49
68
70
56
30
53
76
57
64
29
46
20
60
22
43
24
41
66
32
31
35
45
21
53
63
24
60
61
51
70
40
39
79
45
26
29
31
36
40
67
51
49
54
73
68
31
65
68
63
49
40
58
57
23
54
55
24
49
41
28
45
29
55
39
66
71
59
51
57
25
31
57
48
74
42
64
38
47
73
42
20
65
75
57
54
54
34
28
73
38
42
42
80
64
67
30
55
52
64
71
50
78
76
63
26
50
79
67
25
44
51
39
24
38
22
51
35
29
22
68
41
43
45
68
79
27
73
29
60
70
22
36
21
78
61
51
67
52
21
61
79
24
63
80
51
63
64
29
30
73
63
77
79
43
53
31
58
44
66
58
62
56
73
41
26
73
68
76
28
64
56
46
54
78
73
73
54
39
70
54
63
60
58
58
66
59
38
72
36
25
33
55
47
48
47
36
79
62
54
53
39
46
52
29
29
51
76
31
50
49
65
54
21
32
71
60
55
56
30
25
22
51
39
80
53
24
69
47
61
39
52
71
59
24
69
43
36
38
27
22
37
51
38
74
41
67
24
74
52
71
33
75
20
39
74
56
79
66
34
80
58
51
63
67
25
53
77
52
78
25
51
78
56
43
29
21
22
80
75
63
58
55
69
44
48
20
49
36
33
61
61
50
22
72
66
52
32
64
78
42
68
44
54
44
38
27
48
55
69
47
63
23
33
80
50
37
42
73
45
58
67
75
33
75
50
53
34
70
59
76
21
79
62
70
30
78
32
41
37
48
53
58
29
33
77
67
31
21
23
28
51
54
72
44
33
56
36
22
24
73
37
69
58
79
33
27
58
77
72
46
80
41
62
28
78
49
46
54
36
74
40
79
42
68
58
56
65
39
66
74
55
42
30
62
63
39
77
76
56
72
53
44
49
32
76
60
49
46
35
59
31
29
52
33
79
46
58
25
40
58
79
39
35
80
64
63
27
39
36
80
42
58
49
72
46
31
53
25
78
24
25
56
70
74
70
64
46
58
62
75
42
32
69
74
67
72
60
40
21
31
30
58
46
41
49
55
39
33
24
34
57
65
60
27
43
61
30
53
25
21
21
61
63
43
46
78
76
52
70
57
67
58
38
31
46
51
28
23
50
30
54
25
32
54
35
66
35
49
73
55
23
47
76
64
68
74
59
31
58
22
25
68
52
49
51
69
41
56
67
55
29
67
36
30
48
30
65
69
26
70
69
28
65
51
57
65
35
52
23
21
79
35
34
67
51
78
38
47
69
49
59
62
26
25
66
69
40
40
40
45
77
66
60
27
72
30
42
57
57
28
49
21
35
58
42
73
25
69
60
75
20
20
55
61
51
60
55
46
55
41
77
42
71
51
60
64
68
38
45
60
75
70
33
29
26
24
68
37
23
57
20
38
64
45
59
64
67
30
41
56
41
45
72
52
28
38
21
44
22
50
54
28
32
67
26
30
67
77
63
26
39
67
55
44
44
71
66
30
66
74
48
35
52
25
58
65
46
79
33
49
28
47
66
31
23
24
77
58
32
61
39
78
50
33
75
60
33
73
20
29
62
67
25
60
58
50
65
29
39
32
24
71
64
70
59
69
56
60
47
39
35
44
56
33
58
43
39
66
51
80
61
52
34
78
52
53
26
32
60
55
49
31
38
74
21
67
53
57
33
42
63
26
20
67
65
48
48
71
31
29
39
32
63
30
25
25
59
78
39
77
78
76
76
53
21
52
55
55
76
46
38
37
79
27
34
33
25
30
44
62
72
76
61
49
33
63
21
45
80
29
80
25
42
50
43
58
69
55
28
43
23
49
54
80
22
60
47
49
66
29
75
27
24
66
50
40
49
27
35
20
80
45
27
64
21
59
65
45
63
26
22
71
23
76
78
20
36
42
58
25
63
46
22
62
63
36
49
43
52
40
32
35
37
22
66
66
78
42
75
47
64
39
69
65
41
52
55
56
49
58
38
55
67
76
23
49
49
30
64
71
54
50
76
48
65
66
61
50
47
75
54
47
35
24
77
68
45
71
51
43
39
24
44
52
68
26
38
33
23
26
80
32
38
28
49
48
68
61
52
33
61
57
32
34
22
52
28
33
79
49
54
33
80
59
47
32
68
38
31
31
42
37
21
62
33
78
38
51
41
63
49
42
37
57
48
73
79
60
66
53
43
25
70
44
41
72
38
77
50
32
36
21
28
58
50
73
46
72
47
36
32
40
35
55
34
65
37
46
60
51
44
27
48
25
39
54
78
32
57
59
49
36
62
53
52
60
57
39
62
39
57
69
68
75
30
35
60
53
59
78
56
27
31
30
66
43
53
28
73
70
61
61
24
58
58
37
40
40
76
25
26
75
39
76
50
36
24
41
73
36
25
76
32
21
73
33
79
68
59
63
65
23
65
45
61
42
74
22
75
27
43
45
62
51
71
46
52
24
50
43
35
74
61
23
48
62
51
77
76
30
77
59
53
78
24
26
68
61
67
20
70
29
58
38
66
39
24
66
27
28
57
60
64
46
21
46
35
40
41
72
60
68
78
56
54
62
49
74
59
42
80
46
41
77
77
24
35
65
43
49
36
70
56
71
69
79
39
28
60
70
22
31
39
74
69
57
36
20
34
79
40
78
76
44
48
62
63
28
76
28
35
24
79
27
53
59
25
30
75
31
64
69
24
49
58
66
75
68
22
51
63
37
62
49
67
80
73
58
33
45
34
33
77
75
73
80
77
21
59
50
58
70
29
23
50
45
58
77
32
53
25
21
50
28
60
67
36
29
46
48
61
34
35
54
25
32
57
41
63
39
62
66
60
37
47
80
27
57
23
75
77
64
28
56
22
52
37
29
77
50
55
30
50
69
36
52
80
27
31
41
58
80
31
50
22
74
25
44
56
44
42
80
48
28
37
23
74
25
44
25
36
22
36
23
78
71
48
44
36
32
36
28
62
34
65
67
26
46
42
40
42
51
29
58
73
66
61
65
36
20
62
22
46
53
69
61
22
47
31
30
65
64
74
80
42
35
45
56
37
32
67
31
36
25
65
77
66
56
31
72
53
57
62
21
54
29
37
43
55
51
35
25
27
32
33
31
25
43
59
67
64
28
32
26
76
32
44
61
54
35
34
33
77
59
25
72
72
56
78
61
78
61
80
24
57
32
43
78
64
75
50
65
46
45
21
42
35
77
50
37
34
80
40
47
70
42
65
63
40
45
69
23
53
67
37
25
43
21
42
22
77
62
64
37
47
54
61
27
25
77
48
59
38
54
66
65
63
49
36
54
25
25
68
66
79
59
36
25
30
65
58
61
80
49
26
58
24
67
27
40
47
52
68
71
53
52
36
68
58
58
45
69
40
70
56
32
52
72
24
23
43
36
77
33
80
21
74
41
46
66
76
67
62
38
49
37
63
39
47
46
24
70
62
77
35
60
38
73
47
38
32
50
60
61
76
61
63
80
32
49
24
70
33
43
46
27
73
40
23
78
58
56
51
55
77
42
25
79
71
34
39
30
23
33
62
37
23
49
30
60
62
61
71
47
29
60
27
71
68
21
79
34
32
63
51
68
32
77
53
34
74
21
68
37
77
52
69
51
78
72
42
79
32
43
73
38
36
48
61
35
24
31
35
67
28
59
32
43
49
38
21
41
73
51
51
35
37
48
47
29
41
42
73
33
60
29
56
38
59
60
63
75
45
21
64
49
60
22
45
56
20
35
43
34
32
43
57
79
54
68
50
43
45
36
69
44
70
80
36
61
48
51
43
25
50
69
22
70
53
78
47
39
73
42
57
74
80
25
78
39
69
66
75
48
56
22
50
36
49
71
33
60
60
54
57
48
64
80
45
51
65
29
30
76
55
51
75
57
48
34
43
28
54
73
56
76
20
49
35
53
41
80
62
35
24
43
44
36
77
61
29
32
56
74
63
69
28
53
54
23
33
47
46
73
27
29
74
54
27
24
51
35
47
64
46
70
46
23
47
77
72
31
28
40
46
60
77
29
52
22
41
27
31
21
34
37
71
62
47
69
31
34
46
44
38
72
78
54
77
27
27
30
56
46
38
22
79
31
80
62
26
23
76
61
29
30
75
43
46
44
39
29
66
38
28
78
43
56
35
71
70
50
73
70
56
21
75
44
52
26
76
22
40
80
47
37
47
25
70
28
78
35
67
58
31
71
55
23
64
27
52
47
40
71
55
63
25
25
70
48
45
52
44
25
37
57
34
71
60
62
55
31
53
70
43
57
27
45
54
49
41
61
38
66
57
73
47
64
52
36
55
76
39
72
31
63
55
22
67
71
71
77
26
73
38
75
40
48
64
71
69
35
25
35
43
58
43
24
27
61
76
26
59
34
53
29
27
70
29
61
66
66
68
80
20
70
68
73
51
60
45
79
36
67
47
64
30
44
26
46
31
23
78
59
28
63
38
79
63
42
43
56
39
44
58
78
27
74
46
79
61
64
74
50
20
75
43
74
30
55
25
52
59
42
70
49
80
68
75
46
21
29
25
53
47
69
46
48
71
77
74
29
37
53
71
77
52
58
46
53
57
58
34
68
31
67
38
79
52
47
23
27
40
38
66
49
57
33
47
60
75
70
21
27
59
59
79
39
21
53
72
67
25
32
54
60
31
31
23
79
45
70
79
73
43
42
67
57
44
26
34
38
41
75
24
72
42
62
52
69
61
27
66
27
64
21
39
51
50
33
61
64
23
57
63
58
74
54
21
27
49
62
76
35
22
37
41
28
44
32
47
51
72
67
48
80
22
64
24
33
32
32
55
26
42
41
24
34
66
42
26
51
58
67
34
60
24
49
75
71
53
26
65
78
51
55
77
24
48
43
32
37
61
23
55
38
27
67
20
24
76
26
28
35
80
21
25
24
73
32
29
23
77
65
55
64
62
68
44
65
54
39
46
72
30
47
61
52
43
44
48
66
56
33
45
39
52
54
77
80
32
45
34
25
56
71
69
71
66
29
69
68
65
35
74
39
48
65
39
47
63
40
60
55
21
38
32
24
45
21
76
34
72
25
33
22
72
59
60
39
80
80
57
68
78
80
76
65
73
76
76
61
50
76
26
41
80
78
58
69
73
75
62
20
37
36
32
61
47
38
47
46
28
66
63
21
67
36
63
61
51
64
63
55
21
79
48
46
53
30
62
74
23
49
21
62
67
64
33
54
80
23
40
30
68
26
36
25
30
34
58
27
78
59
75
51
50
51
73
55
57
75
42
46
21
62
76
34
62
21
30
45
70
20
63
40
29
54
65
72
32
79
25
62
23
75
52
40
23
46
58
24
68
75
76
49
23
22
75
34
34
44
33
27
41
58
21
77
52
30
33
37
80
77
47
21
30
60
28
29
48
46
43
27
27
62
21
74
79
35
52
76
34
63
53
59
56
62
31
32
27
75
37
46
63
26
52
34
52
64
32
57
29
74
75
21
71
20
44
58
58
63
77
49
58
41
53
57
48
30
38
71
51
55
66
48
74
22
53
63
23
26
63
36
67
30
27
55
36
39
25
71
61
28
80
50
61
26
21
75
36
31
80
76
63
76
70
70
73
31
45
24
45
60
36
42
63
63
76
74
64
72
41
40
49
58
43
64
77
35
40
76
52
45
27
79
62
73
68
42
36
43
27
41
31
41
40
20
67
53
28
75
42
42
22
55
23
31
76
61
41
46
30
73
49
40
20
78
37
43
54
62
69
80
33
31
61
36
22
54
56
69
37
22
34
76
70
51
33
54
42
23
53
56
46
46
64
58
36
21
24
22
58
42
33
39
76
53
60
71
21
45
76
39
48
46
29
26
61
65
32
36
24
62
53
21
63
71
49
77
72
51
36
39
51
44
29
36
79
38
63
71
28
20
72
49
22
63
21
38
42
36
70
58
30
33
72
34
69
43
32
50
66
60
55
24
31
59
67
63
31
28
52
45
78
34
31
32
54
26
54
49
27
78
49
37
72
50
45
21
23
68
48
76
29
31
43
77
70
47
60
74
59
72
70
41
22
33
40
68
51
71
59
72
31
47
69
74
75
62
48
50
52
52
56
49
23
30
49
46
80
27
67
50
77
49
36
28
34
38
41
48
71
47
43
42
21
60
69
68
48
25
23
77
71
71
40
79
44
59
41
22
80
62
21
70
60
70
80
21
64
40
22
38
78
21
47
67
65
75
79
31
79
52
54
79
37
59
22
23
52
78
26
58
23
60
26
56
25
37
25
44
75
46
49
25
30
27
22
55
59
53
58
47
43
53
53
50
36
33
58
63
40
48
69
30
26
67
59
27
29
57
54
48
28
79
22
50
48
36
51
66
74
31
48
42
58
47
24
63
31
68
44
68
66
20
44
53
20
80
46
54
57
27
54
20
48
69
78
32
31
55
44
27
29
54
34
32
39
53
28
29
50
71
60
56
67
29
26
77
35
37
54
80
53
67
74
20
73
21
70
49
48
28
77
56
50
66
50
49
52
61
35
67
39
35
52
60
74
56
60
25
80
75
46
49
63
21
68
35
79
69
34
42
22
60
42
24
45
39
63
71
78
26
79
77
38
38
42
71
21
48
43
27
58
35
79
73
68
23
20
22
61
67
23
52
57
49
47
33
61
56
43
70
38
28
58
51
60
52
49
33
24
56
75
49
70
30
68
57
26
24
31
74
63
47
68
76
57
42
71
77
54
79
44
42
66
46
55
75
29
37
34
43
61
59
28
26
65
33
28
35
26
79
47
37
23
45
74
62
48
46
63
50
33
45
43
33
77
27
57
29
53
37
61
65
59
31
75
80
77
71
31
34
72
22
50
32
26
38
66
32
35
51
32
55
65
65
59
38
66
49
57
22
33
63
46
80
73
71
41
73
76
75
32
77
74
79
62
21
67
43
78
32
32
33
25
24
77
46
58
20
61
50
58
23
56
49
31
59
61
38
42
30
38
80
37
41
22
74
60
26
43
58
22
25
80
36
39
48
55
73
37
32
39
68
24
61
33
25
49
70
47
33
29
47
40
26
74
70
63
20
25
58
56
61
54
43
39
34
71
33
34
47
76
33
24
55
53
41
25
34
71
36
27
30
71
57
52
26
74
55
40
56
70
26
62
54
70
30
33
71
23
61
77
77
60
73
79
30
36
54
40
55
55
77
75
49
77
79
42
44
38
29
29
50
36
50
57
39
55
74
48
63
75
71
31
58
74
77
77
29
66
23
26
79
59
57
47
79
30
26
74
70
69
61
67
40
26
51
56
40
64
27
80
43
35
24
53
76
68
21
31
41
76
80
35
57
34
64
58
69
80
30
69
30
64
34
64
32
30
66
23
63
69
55
23
79
28
26
32
57
46
20
62
41
76
76
66
34
60
24
61
24
39
49
39
40
80
63
45
51
69
32
25
28
47
20
63
31
33
40
57
55
48
45
28
72
28
21
24
62
52
31
76
49
46
35
37
26
41
76
78
24
42
32
61
78
65
66
27
72
23
47
32
36
36
62
77
66
61
41
38
74
54
21
75
77
61
64
39
31
52
41
70
26
23
21
36
55
58
64
50
70
63
33
41
46
49
43
53
57
64
68
39
21
64
66
24
77
31
47
31
41
26
20
20
76
21
72
50
41
80
30
70
33
21
47
30
71
30
37
80
33
56
39
49
80
59
62
62
37
80
71
28
52
64
78
24
41
76
47
48
49
67
27
58
44
44
48
70
29
62
32
46
59
69
39
59
47
59
39
60
36
66
25
40
22
42
74
73
54
44
24
34
54
23
33
50
31
26
60
43
59
39
69
47
80
69
46
52
70
26
57
41
24
69
23
57
77
76
38
21
32
36
26
61
37
20
54
22
55
23
31
43
49
39
46
78
72
42
26
32
21
33
29
41
30
23
74
76
40
68
24
24
44
61
22
76
40
60
67
25
65
35
41
20
39
79
55
62
50
79
52
54
79
31
63
36
49
30
46
44
70
69
36
42
35
66
36
62
77
73
23
75
72
65
58
53
68
74
42
20
68
75
20
30
80
69
73
40
57
47
28
20
23
22
50
66
45
45
73
48
45
63
55
26
80
80
59
28
44
52
74
54
59
25
21
54
28
53
54
39
77
26
35
60
30
32
52
77
73
57
47
61
35
40
66
74
58
20
59
38
76
61
49
45
36
68
57
77
31
74
35
23
65
39
26
46
57
63
42
49
75
57
25
41
44
45
22
24
58
67
23
59
56
38
65
55
37
24
48
75
42
37
52
32
37
49
65
47
67
41
59
63
34
71
80
32
73
49
30
79
50
44
47
20
57
48
57
38
30
23
32
20
32
36
51
65
59
41
77
53
66
66
43
33
50
75
60
76
67
42
51
56
41
60
60
26
47
47
34
78
65
75
61
29
75
36
23
69
60
42
35
41
37
52
42
30
58
69
49
76
49
44
52
51
28
38
26
74
50
22
60
25
22
64
30
77
66
63
79
26
80
79
42
24
52
68
51
30
67
61
67
41
45
59
37
71
35
56
58
52
53
74
54
58
34
28
56
56
30
42
62
53
62
74
77
70
34
56
76
30
32
52
50
52
70
78
28
30
69
55
38
71
52
28
61
37
80
57
75
29
68
40
23
65
22
55
45
57
67
32
34
70
42
49
50
65
20
74
61
47
33
21
49
50
29
34
37
35
48
74
36
28
22
52
62
62
36
56
29
75
29
53
37
54
43
34
77
41
80
66
63
74
35
49
57
66
71
66
49
33
35
58
40
35
76
29
42
23
35
26
22
64
41
62
37
63
52
71
62
32
39
44
30
78
42
43
52
67
49
57
39
43
76
50
57
74
42
26
62
65
76
39
24
54
57
73
36
71
70
63
68
51
40
75
57
76
79
34
58
52
44
27
72
72
24
52
62
49
47
41
55
47
21
29
35
47
57
36
80
48
33
72
69
80
60
34
42
78
48
60
24
47
41
60
35
38
44
55
57
72
49
28
42
74
49
59
79
38
30
39
28
65
51
67
44
44
78
71
38
67
41
71
28
45
61
20
35
60
31
42
23
26
70
23
40
43
68
61
38
29
47
63
22
56
69
23
58
43
35
35
29
45
36
56
20
55
39
37
37
39
56
50
72
62
66
36
38
28
51
56
74
53
63
31
56
24
74
61
46
66
38
30
54
25
73
70
77
65
33
63
66
33
69
25
32
23
67
45
41
53
45
76
73
32
72
69
64
59
20
61
27
20
51
30
69
67
80
60
22
36
45
68
60
50
46
46
78
44
22
43
51
69
77
29
22
46
31
25
30
31
73
61
75
37
72
56
80
75
29
24
38
55
57
46
73
30
28
27
25
22
55
44
23
73
35
41
51
78
27
53
59
63
57
78
32
60
57
75
21
35
61
24
80
46
43
50
47
21
56
26
77
75
34
47
40
78
46
28
41
73
80
33
42
70
25
23
37
64
69
54
28
37
33
40
72
49
76
32
59
76
37
71
63
47
42
24
24
63
61
45
57
36
31
53
22
70
49
30
54
59
55
33
21
24
62
54
36
68
40
77
79
21
75
54
59
77
59
77
71
56
32
42
64
52
65
30
27
60
73
30
48
45
48
43
75
58
55
35
72
66
53
28
31
54
62
29
56
38
40
33
54
73
34
42
75
41
71
27
55
49
32
69
47
54
24
36
55
62
77
70
35
55
69
46
71
63
22
79
38
58
63
76
21
23
28
73
20
78
56
24
77
22
39
38
74
36
35
59
76
35
51
69
27
53
64
55
22
50
34
32
65
26
78
47
65
70
22
48
51
51
40
69
59
67
32
21
47
61
37
39
35
78
55
79
48
60
64
37
25
39
59
49
60
29
36
47
74
45
68
74
73
47
21
56
30
51
52
54
58
54
73
60
74
71
22
46
40
29
46
41
59
40
59
59
74
20
43
33
40
56
68
38
32
24
40
42
79
30
37
38
35
60
67
27
28
52
24
21
36
31
38
52
37
38
30
80
66
53
38
52
67
70
53
23
72
28
34
24
36
69
55
72
33
70
46
56
67
80
35
43
74
69
76
54
50
54
39
52
57
52
48
65
21
34
47
33
62
65
47
39
21
61
65
33
62
21
46
65
44
69
75
50
67
62
78
75
71
32
22
20
24
42
27
53
52
72
42
51
45
78
77
32
30
22
59
71
24
45
57
79
40
54
35
66
44
35
53
35
71
56
27
52
60
65
32
71
74
50
30
66
79
75
50
21
64
45
78
33
27
71
34
74
79
46
65
63
61
66
42
58
75
76
42
36
27
36
35
38
56
71
33
20
62
66
53
54
45
71
25
67
24
62
60
20
32
40
66
22
42
49
32
26
73
34
77
67
75
72
74
31
71
37
70
73
32
74
68
28
65
66
55
77
59
28
37
71
74
43
24
49
31
30
31
46
64
45
26
79
64
76
54
50
50
31
62
22
72
26
30
29
52
58
58
53
27
53
62
64
51
32
57
80
61
31
44
75
27
64
56
32
71
55
50
74
32
49
27
49
43
23
51
56
40
34
76
45
54
60
47
58
27
34
46
50
70
45
39
42
59
28
80
78
61
51
26
54
61
71
42
78
64
54
70
68
29
61
39
52
64
49
64
60
79
20
52
39
45
53
54
48
21
40
49
39
34
68
61
71
20
42
77
53
34
40
21
38
44
42
38
34
47
33
56
77
77
41
75
75
38
21
47
73
41
62
50
29
67
55
38
31
26
59
59
26
23
47
36
76
50
39
71
56
45
24
66
72
44
63
77
46
31
65
79
80
26
46
26
48
80
57
38
41
50
42
62
69
63
33
23
78
48
53
44
55
64
55
24
55
66
35
46
59
39
28
42
42
76
34
68
75
66
53
64
42
22
46
75
72
31
22
44
62
43
22
33
78
51
36
78
46
67
27
31
35
23
72
38
75
46
75
32
66
56
34
49
46
61
47
54
75
79
37
32
67
70
35
53
68
59
59
72
26
40
55
48
28
62
46
57
53
21
32
62
25
32
60
43
65
59
67
46
75
48
45
69
21
72
70
43
27
43
64
75
67
78
27
62
71
71
23
51
51
31
34
25
35
76
24
20
42
58
22
59
70
73
27
28
39
42
50
33
20
77
46
37
37
69
57
79
57
65
30
60
71
23
58
61
60
44
48
43
59
78
20
54
32
70
60
46
59
78
28
79
75
37
22
47
80
56
43
39
31
21
62
38
55
61
32
54
69
80
47
46
26
22
35
49
31
78
21
75
31
70
30
30
77
64
34
24
73
70
36
38
67
60
72
55
64
39
74
73
66
46
56
35
52
27
70
53
33
24
58
31
77
51
28
48
29
63
34
25
29
70
60
27
22
26
54
77
74
34
63
55
49
41
70
46
70
64
72
27
74
80
66
36
78
52
57
80
48
37
57
21
27
51
55
30
25
77
39
39
42
78
25
77
28
71
48
65
74
57
41
68
72
53
35
34
39
77
78
38
26
25
75
73
64
44
49
76
49
45
73
74
30
22
43
79
26
24
45
22
36
68
54
57
79
69
37
27
62
65
72
34
41
71
52
24
37
66
51
47
47
59
50
37
57
54
62
32
48
71
79
75
70
54
70
69
78
53
32
75
69
80
59
26
63
29
65
69
67
22
36
29
73
55
55
55
49
21
64
33
71
34
53
76
40
58
76
22
55
80
58
55
25
37
33
22
79
35
41
77
37
22
66
34
54
70
34
57
71
61
21
37
53
21
30
20
76
62
64
27
71
73
38
23
50
48
56
51
25
62
53
65
47
66
39
35
44
32
35
80
78
76
51
26
71
58
29
47
44
65
59
23
72
60
49
54
66
76
53
28
73
24
25
42
46
64
47
51
57
72
51
68
22
54
76
57
62
44
22
66
65
70
34
50
26
27
24
61
37
23
52
54
31
74
76
54
32
36
64
54
80
46
49
49
49
76
75
45
58
49
25
39
80
64
47
77
56
28
27
69
57
29
67
53
56
24
28
54
58
80
59
43
46
72
69
72
37
74
79
73
26
36
21
79
66
72
47
76
29
54
34
43
77
23
59
48
74
23
37
42
35
33
42
70
75
64
68
35
43
66
80
70
69
29
76
41
76
38
50
28
48
66
25
50
79
46
32
58
35
36
73
45
46
80
53
60
42
72
48
34
34
24
51
35
75
30
78
77
74
25
76
49
59
24
35
33
38
29
21
24
59
26
48
54
67
58
80
80
60
31
22
38
71
41
70
39
52
56
74
30
28
32
24
30
46
56
75
39
79
67
25
56
39
52
24
32
34
75
60
24
48
52
37
60
51
47
64
39
71
65
49
23
44
172
172
118
70
181
178
104
129
207
78
100
246
239
199
128
71
240
220
71
82
135
171
77
153
214
84
131
245
160
228
87
183
124
109
244
221
136
250
209
113
214
93
145
187
118
98
234
111
70
183
206
92
196
205
199
159
135
80
242
228
177
212
219
95
80
219
198
99
202
136
229
189
250
113
221
186
158
185
168
165
197
176
126
175
145
134
86
81
226
220
104
221
125
152
155
111
187
232
227
171
165
87
205
131
108
195
145
102
168
115
86
111
197
97
146
205
143
215
95
111
96
161
93
186
131
135
166
122
182
94
104
125
243
194
95
208
167
100
217
122
125
105
122
148
175
125
141
180
119
250
169
214
136
136
239
145
88
111
227
157
245
196
228
235
219
131
160
80
98
193
200
160
140
234
96
70
111
97
145
98
214
114
230
203
128
96
245
84
207
81
102
155
233
249
140
240
126
93
225
82
199
151
236
230
224
146
236
118
90
166
123
168
131
129
98
70
224
243
145
158
243
186
196
96
157
202
139
109
115
158
122
177
208
211
179
152
94
173
159
147
89
156
103
115
202
189
114
216
93
70
133
107
102
189
94
72
180
138
108
165
88
174
192
103
113
75
201
164
109
218
216
93
185
234
145
220
110
114
168
203
177
118
115
180
247
222
99
156
128
193
116
129
209
128
122
238
157
140
185
158
200
176
170
202
191
98
128
220
77
195
196
74
134
146
202
198
162
119
247
72
101
123
189
195
109
127
151
199
105
179
243
189
196
161
238
75
178
147
115
210
92
125
88
131
112
112
132
175
147
136
76
179
74
123
107
175
228
199
86
136
110
226
211
184
75
88
80
105
245
178
116
151
109
169
81
71
174
91
114
177
91
248
97
212
134
172
185
81
195
224
133
234
150
174
143
95
153
220
86
238
230
238
137
128
140
227
107
75
124
230
162
149
249
147
77
188
244
146
142
80
76
143
114
111
111
239
216
136
182
190
129
237
89
151
128
120
157
133
219
146
217
201
127
164
188
88
91
248
134
176
76
104
83
73
247
213
149
114
99
121
141
153
228
122
123
172
101
94
231
97
144
185
230
136
135
89
132
97
72
72
201
79
206
218
81
242
204
241
199
71
159
128
210
192
120
88
82
171
241
113
169
79
153
149
167
184
86
108
250
110
218
112
150
140
157
178
147
180
92
89
151
87
101
178
98
137
90
197
230
248
98
158
139
218
250
75
123
225
239
152
153
187
249
98
86
219
74
104
182
83
170
196
135
209
135
87
98
221
143
140
182
169
138
243
212
231
82
228
194
186
226
157
203
94
76
243
178
219
211
79
150
92
150
101
90
235
133
153
87
148
174
237
166
140
184
131
134
174
200
158
149
128
72
150
233
172
70
224
227
127
86
227
119
228
77
104
190
148
121
101
240
236
90
186
145
146
133
238
83
165
157
90
133
183
183
159
209
182
102
226
91
102
156
114
180
142
122
166
171
213
116
142
89
198
205
97
234
156
224
120
220
211
91
228
123
113
242
229
95
225
157
216
178
174
128
162
163
96
174
160
105
155
220
137
206
215
144
163
215
189
240
74
79
164
171
147
155
167
205
161
193
163
221
141
87
91
206
231
166
249
156
76
211
182
140
123
73
160
174
124
176
78
214
232
77
224
240
229
77
158
204
106
156
197
250
113
159
239
222
169
132
73
143
187
218
198
149
244
98
188
86
107
247
221
138
212
135
147
73
186
139
180
213
219
230
136
211
74
228
71
200
122
151
148
179
150
140
167
140
234
205
100
210
159
76
232
107
160
207
240
173
124
192
156
180
165
106
124
91
75
155
199
149
245
192
208
246
190
181
184
136
82
93
185
230
76
177
155
144
149
126
86
100
90
109
121
177
119
162
150
139
181
92
234
111
138
231
85
79
150
100
180
132
179
108
219
180
193
165
162
71
112
234
157
152
88
154
192
122
226
76
90
73
228
227
183
244
144
178
187
109
159
200
141
247
168
74
133
125
98
110
180
109
139
96
194
221
197
199
94
191
177
195
211
106
184
105
132
213
185
114
142
70
199
145
249
218
122
248
164
169
143
223
128
169
168
179
171
98
178
145
93
219
89
172
80
179
248
117
135
238
202
161
216
186
194
101
223
203
222
94
216
215
207
127
207
117
234
134
70
206
178
220
236
243
159
87
163
117
146
225
77
174
192
92
206
155
187
79
151
226
153
152
238
116
147
95
99
233
80
224
115
146
72
224
249
132
105
97
153
144
127
216
227
89
141
113
77
83
98
171
101
173
127
165
249
107
239
172
97
191
220
185
117
75
155
130
148
110
116
164
138
160
224
223
103
211
244
250
214
239
196
138
196
147
166
240
151
71
74
194
106
220
201
179
130
127
145
184
153
215
131
151
228
150
234
138
236
103
95
215
170
247
163
240
222
238
72
125
128
71
232
146
72
179
83
78
235
95
158
101
195
230
93
215
100
175
80
243
99
219
230
93
177
165
122
76
101
168
80
227
114
248
118
242
181
224
74
249
124
178
221
158
114
174
132
140
199
98
90
125
115
141
203
137
95
82
193
117
243
152
147
79
134
228
243
202
201
238
94
209
133
149
120
228
86
97
208
87
70
81
235
234
197
111
135
206
222
101
145
94
108
137
125
177
222
215
162
117
134
217
228
122
184
133
86
169
197
114
215
236
188
228
124
154
159
206
134
110
224
227
163
82
125
114
106
108
245
173
210
208
175
196
121
108
201
190
191
250
215
206
108
122
156
207
191
240
221
224
133
88
239
222
225
167
152
209
115
119
186
197
168
185
188
209
176
113
85
221
214
130
100
249
124
112
206
122
101
237
246
210
178
153
94
143
240
120
85
203
83
136
192
224
75
215
218
75
116
136
228
120
240
219
110
200
90
136
104
233
148
180
135
76
230
205
223
208
143
136
124
77
225
144
105
209
89
249
224
74
231
239
178
130
85
111
75
132
108
78
187
176
126
219
116
213
97
110
233
203
174
85
121
129
136
175
221
185
180
121
110
183
212
103
181
235
229
115
77
121
166
170
106
131
130
194
237
197
212
187
97
150
174
197
190
144
114
91
222
229
173
236
177
249
107
209
173
75
95
148
194
153
246
191
164
155
249
206
243
137
236
91
89
127
151
108
150
83
196
150
192
88
179
106
114
152
86
193
212
186
170
188
155
79
237
100
231
242
78
82
106
191
248
159
105
93
135
203
81
113
246
217
168
193
74
180
115
153
194
163
228
146
199
144
201
153
185
184
123
210
241
124
237
81
191
232
185
98
72
158
156
215
102
173
78
87
212
175
241
142
89
190
97
94
115
118
207
193
84
205
246
75
103
130
231
163
85
250
74
102
201
176
191
229
226
81
225
189
107
112
186
145
115
214
212
247
247
158
227
228
81
237
103
120
136
193
109
128
195
216
132
207
168
191
79
107
222
164
122
169
203
75
214
104
86
243
81
197
189
88
220
85
218
162
90
249
120
199
98
79
92
120
91
187
184
247
174
111
102
146
220
180
243
217
96
76
190
184
77
194
150
72
243
245
231
190
147
95
218
132
78
110
202
101
73
77
118
98
214
130
95
141
227
192
102
135
159
222
118
230
227
216
213
165
110
85
73
226
148
86
126
210
201
196
188
90
110
150
135
177
118
108
195
203
197
130
230
128
124
181
244
204
197
194
94
244
189
123
206
92
193
156
218
126
199
170
91
87
81
233
208
106
127
104
115
77
216
140
139
95
223
222
109
205
87
181
174
220
181
203
99
181
180
210
217
232
81
144
118
249
112
108
98
172
155
103
73
123
124
203
134
100
88
219
151
247
176
243
170
173
212
201
83
75
144
157
218
136
77
107
91
93
93
142
103
218
92
183
178
168
108
148
113
142
150
231
84
199
185
152
147
94
201
211
109
154
208
97
217
78
149
234
192
83
196
106
239
180
247
175
182
235
235
250
183
95
229
239
170
103
241
93
213
186
170
141
102
195
73
218
195
125
189
96
170
201
170
132
150
224
87
109
232
80
149
206
112
239
148
199
225
238
237
239
189
183
117
211
106
122
214
108
200
126
93
71
204
181
198
148
171
186
193
79
201
118
246
121
87
185
212
240
174
136
96
76
194
105
135
119
168
107
207
228
188
243
225
234
113
132
143
133
107
238
130
200
198
161
184
159
157
136
84
167
131
71
81
226
238
236
169
96
155
218
172
115
218
149
208
224
113
89
150
89
132
136
189
70
228
203
232
92
165
132
85
151
212
166
154
108
199
240
98
82
135
198
120
75
167
233
111
88
73
73
250
90
115
237
115
239
168
210
160
116
150
80
88
229
177
184
227
184
183
117
124
110
82
160
128
196
101
119
245
93
79
129
140
241
101
76
156
222
199
112
115
171
108
120
195
215
223
241
177
196
200
160
166
176
101
164
138
100
216
220
85
202
146
80
89
213
212
198
242
204
161
172
247
236
178
74
217
174
95
194
210
76
87
106
129
153
83
83
111
196
75
113
115
162
202
145
175
248
154
196
174
212
126
235
242
178
126
92
217
179
213
121
191
231
215
221
140
180
210
163
141
153
110
231
235
214
213
202
94
85
175
200
71
216
163
229
183
195
232
74
210
114
139
197
189
123
187
127
98
190
232
107
185
168
130
224
70
107
168
101
170
213
233
220
203
152
74
134
209
192
129
78
202
169
171
174
101
236
209
181
167
93
225
141
185
168
71
217
207
198
124
148
194
208
72
83
133
124
239
195
86
244
126
135
221
119
194
165
153
248
99
133
166
179
137
190
126
161
193
141
243
82
89
208
160
73
160
239
186
202
118
226
146
134
204
228
188
145
125
152
161
121
157
148
165
185
236
166
167
177
146
78
75
192
128
113
171
149
130
108
158
231
80
181
132
218
161
168
187
182
131
190
82
111
125
123
107
153
158
225
120
95
162
225
118
222
214
212
123
130
160
161
232
236
71
245
212
79
198
157
227
122
113
206
96
198
240
243
181
250
98
239
136
84
244
150
203
147
139
108
189
147
74
75
213
128
106
206
131
175
170
229
227
83
150
127
80
149
104
200
107
80
199
115
241
166
169
200
77
189
92
222
160
114
206
222
161
169
122
75
110
241
134
140
188
228
74
123
195
110
201
129
72
129
194
203
91
180
102
72
164
194
136
220
204
223
166
194
96
135
88
188
171
149
228
180
192
213
103
200
96
130
207
188
144
113
128
237
139
159
76
87
151
70
206
199
84
126
143
120
213
138
81
221
242
146
211
130
216
153
242
171
170
238
84
178
90
133
111
85
132
164
161
183
168
228
248
159
162
174
174
209
113
132
82
90
219
248
129
129
212
176
159
74
243
140
145
190
170
104
170
86
123
80
165
90
146
124
150
208
85
108
150
85
193
93
135
83
116
243
203
82
125
161
104
244
119
220
101
111
143
142
177
113
168
154
221
140
223
180
231
189
96
202
104
80
228
160
153
87
86
139
209
118
114
108
117
162
96
150
152
236
152
179
194
115
220
131
137
148
106
146
181
133
130
170
112
196
190
139
241
125
84
177
96
220
84
99
174
111
174
203
247
88
191
182
142
105
171
86
144
234
150
106
247
202
85
228
158
248
211
231
77
230
81
205
135
123
185
161
204
190
175
189
145
193
163
141
249
111
124
242
185
218
230
104
219
248
120
151
112
199
189
139
203
225
126
151
95
109
226
206
81
138
134
73
177
171
207
102
81
173
197
193
95
190
159
99
79
205
147
242
195
244
183
208
80
229
219
170
82
218
220
135
131
142
233
206
183
79
71
158
145
152
80
88
73
141
226
230
246
156
102
226
230
141
139
180
93
118
235
121
161
146
199
172
159
227
161
101
194
90
218
78
186
94
94
116
144
182
87
183
137
194
248
198
116
116
246
197
216
115
84
223
173
143
250
177
130
109
242
170
137
154
105
119
246
89
91
236
244
157
138
152
231
213
169
92
150
155
188
103
193
169
224
88
87
248
205
168
78
123
184
204
138
228
238
112
183
199
134
250
89
231
97
188
244
236
185
95
118
81
70
172
218
113
132
108
155
250
171
180
173
81
222
218
112
160
97
171
103
78
226
112
107
118
210
180
193
92
71
133
173
122
72
215
210
149
111
146
212
122
137
142
240
213
87
211
124
135
113
200
162
85
112
94
247
179
90
189
139
162
145
249
175
225
217
189
204
238
246
127
73
179
224
107
185
189
246
217
153
103
78
175
137
220
97
177
213
80
144
166
196
109
134
196
200
162
100
156
95
224
139
188
202
135
164
243
79
171
182
244
157
132
77
223
127
92
160
233
123
194
141
185
231
204
198
233
172
182
164
100
234
119
94
217
192
108
174
242
86
107
191
225
159
89
186
160
216
213
148
140
215
143
90
71
85
78
95
195
203
125
71
76
149
241
174
97
195
128
242
240
212
150
146
197
197
129
202
97
231
221
156
122
78
163
230
173
146
247
200
190
195
120
73
96
133
93
195
131
72
152
242
72
220
229
238
216
130
150
237
146
242
237
111
88
77
209
131
74
153
84
204
116
242
70
186
207
108
106
88
211
148
209
191
115
85
201
102
192
111
90
147
227
211
156
193
231
74
86
112
209
74
154
91
152
108
146
162
207
238
102
170
210
129
89
139
144
112
231
238
195
76
179
192
97
153
192
202
75
101
160
218
83
120
205
172
171
101
153
128
182
223
212
192
214
87
87
224
247
184
155
232
98
211
169
239
171
103
106
222
98
159
126
71
82
168
179
250
200
85
146
172
187
77
249
92
93
77
72
126
142
224
185
222
169
225
149
160
204
203
148
195
169
195
171
72
163
113
118
180
140
157
240
181
71
101
161
156
106
223
101
169
225
214
154
244
101
151
149
235
235
187
226
73
105
89
242
214
169
204
88
129
175
188
100
108
96
105
142
100
238
90
169
186
239
81
169
122
219
185
133
201
208
158
216
115
139
86
86
85
92
140
142
216
227
146
120
168
127
173
107
231
92
83
109
146
70
123
153
156
186
126
131
170
167
201
169
234
192
167
98
86
204
74
70
132
206
248
158
143
157
130
185
106
120
242
231
239
189
155
71
131
218
118
176
153
146
210
113
82
208
179
76
235
216
128
226
195
163
112
137
209
180
242
199
219
210
124
235
202
199
249
143
72
136
112
229
207
109
128
172
78
127
214
189
78
214
156
108
226
137
140
76
210
120
82
248
115
189
183
247
239
73
199
233
72
247
78
101
238
144
100
154
160
202
128
237
249
120
225
112
139
92
146
123
100
118
86
208
182
123
72
155
114
226
250
114
194
228
180
140
218
181
131
208
238
214
141
171
213
140
233
138
236
204
110
247
250
188
163
236
178
97
190
124
160
175
133
132
240
187
76
223
102
225
160
168
112
114
102
156
197
238
209
246
113
184
100
143
122
108
116
110
93
182
146
236
243
150
247
226
75
83
144
179
160
168
177
94
82
188
119
202
121
240
119
136
174
82
140
249
172
113
188
90
184
154
86
155
85
207
106
233
218
131
208
144
108
158
139
153
136
198
70
169
206
174
188
158
214
123
149
217
153
204
161
174
161
162
83
70
120
249
162
148
71
166
136
245
131
138
116
182
99
188
203
242
155
107
243
170
159
224
244
91
79
78
201
80
215
159
178
102
119
234
127
187
199
160
109
133
133
83
212
241
246
116
174
214
150
126
72
140
220
213
159
97
203
104
239
146
151
96
187
119
84
238
147
248
159
176
166
241
160
243
79
118
80
158
200
172
135
212
216
117
106
132
167
129
112
239
180
142
149
161
178
99
79
156
84
191
103
242
207
118
119
176
169
200
180
179
225
107
211
168
158
161
187
167
85
203
135
80
82
74
179
162
97
167
142
158
178
110
100
103
127
122
158
140
147
131
110
97
121
92
142
117
194
117
155
108
165
117
206
87
222
176
133
173
119
74
79
183
208
209
155
126
152
169
173
219
142
193
201
74
101
202
214
193
127
99
201
108
244
203
143
76
90
70
220
183
95
243
182
147
74
220
98
180
227
181
85
104
138
116
183
186
207
184
221
229
147
155
79
118
202
199
220
198
225
172
206
122
167
164
177
196
124
178
146
226
116
224
224
122
113
159
84
233
141
103
205
222
120
90
218
113
134
176
248
219
177
168
86
205
146
92
184
214
197
102
181
244
196
84
209
92
168
234
244
149
169
121
130
116
151
116
140
155
71
138
178
99
172
191
123
195
174
167
183
204
124
249
185
180
250
74
154
70
109
215
108
82
194
122
74
129
99
248
214
236
235
196
219
123
188
162
183
120
150
211
110
229
196
231
227
233
73
185
189
227
136
157
131
248
165
222
97
205
176
184
87
169
244
240
248
113
147
184
202
178
78
106
95
72
244
89
234
219
234
157
143
137
152
185
112
199
151
243
242
94
116
141
96
157
187
215
136
121
170
95
184
134
166
210
112
250
94
92
153
90
123
201
147
88
193
201
235
72
124
114
114
151
124
180
115
105
229
178
129
219
151
101
191
127
117
141
221
204
160
223
113
246
119
197
245
71
146
243
151
88
239
201
97
172
87
126
140
198
231
152
241
223
105
109
75
146
134
99
71
166
81
245
94
145
110
102
246
79
174
133
172
178
99
134
80
160
158
177
104
133
107
74
78
211
192
93
214
109
193
162
197
188
158
90
156
170
221
146
172
215
175
120
243
75
249
84
100
249
204
146
150
215
127
241
156
199
75
127
140
142
124
201
139
104
169
206
192
76
134
182
229
116
182
133
210
227
96
104
217
226
202
219
183
211
113
249
73
105
206
85
100
179
229
132
250
116
122
218
112
199
153
234
131
146
217
155
76
213
186
121
124
132
221
249
113
116
83
99
134
178
98
203
112
223
82
204
132
219
70
96
199
221
105
91
182
107
104
107
242
219
138
200
93
120
139
96
102
166
145
178
117
209
172
237
193
217
116
118
247
91
177
198
163
113
71
151
156
178
135
156
151
208
218
151
173
88
244
89
225
90
248
137
245
188
132
166
229
208
150
173
118
231
246
83
191
237
117
124
191
225
240
167
250
87
121
127
185
77
131
195
194
94
85
105
162
221
132
148
212
169
131
146
212
247
84
141
159
244
212
208
139
169
100
174
102
179
115
72
73
225
93
99
226
221
148
164
122
86
114
118
93
200
85
229
139
105
80
199
231
183
231
152
197
249
87
233
214
123
240
223
74
144
240
141
235
114
102
240
217
187
231
87
83
218
161
164
222
214
202
131
169
199
233
198
220
224
134
148
211
111
180
84
191
108
117
175
113
137
236
145
192
131
238
98
217
128
78
80
207
95
190
101
105
217
150
104
226
136
211
211
162
127
161
176
147
193
123
216
237
94
113
104
224
245
106
222
76
166
138
211
245
165
189
80
177
197
198
193
155
103
123
111
166
103
79
216
106
97
73
107
239
89
249
89
126
172
150
195
221
220
219
213
144
158
87
185
244
95
247
107
171
97
143
91
149
74
81
105
137
73
141
169
105
76
106
100
158
118
170
86
235
194
168
181
170
154
210
238
228
214
133
217
84
155
197
209
79
131
125
120
82
146
157
109
163
110
112
209
164
143
245
154
72
248
178
188
84
195
167
228
243
190
215
184
112
88
124
87
239
229
180
74
91
98
155
225
211
239
224
160
197
141
229
126
228
118
195
203
165
103
216
182
101
216
149
203
218
108
74
213
76
170
183
115
171
243
182
205
97
73
165
74
76
133
193
161
158
144
90
247
198
176
109
77
248
200
188
86
216
196
249
134
89
180
190
83
204
153
114
101
246
196
198
201
242
193
243
147
224
179
122
166
76
141
224
106
214
131
218
79
234
189
127
106
123
183
94
213
171
139
156
89
103
129
156
218
122
213
214
246
119
228
71
249
130
148
83
176
244
228
78
229
89
97
218
89
248
227
76
92
164
243
201
139
142
182
225
203
195
215
202
142
187
85
126
174
223
219
119
207
246
210
150
128
83
218
133
146
126
97
142
201
124
98
126
164
192
109
99
215
101
140
80
105
208
248
78
107
235
157
131
191
230
103
131
168
86
138
163
246
142
89
100
125
166
188
117
129
71
185
167
191
195
82
173
245
80
197
199
76
120
235
236
122
102
179
86
110
197
158
199
187
192
121
198
83
198
227
115
138
79
198
217
118
98
92
248
79
137
122
151
206
223
168
153
126
141
167
122
83
92
112
136
246
235
210
201
236
122
182
187
223
72
128
185
173
208
83
169
246
152
161
116
197
122
92
107
248
91
76
216
219
132
247
99
227
95
224
104
197
142
82
175
235
154
164
173
191
200
123
203
121
244
202
130
226
85
228
175
208
175
158
225
105
71
150
205
78
75
106
192
146
126
216
161
125
163
204
101
196
210
222
212
240
167
238
166
145
200
181
139
81
89
89
250
178
112
71
182
181
150
214
165
161
178
230
143
135
118
199
213
83
241
224
243
199
121
213
188
188
84
89
91
90
242
124
151
160
213
149
246
204
222
244
242
145
233
129
243
153
214
213
145
118
96
88
76
198
250
84
225
136
146
159
226
79
163
140
76
133
88
77
186
170
219
99
100
225
237
194
111
137
218
120
232
126
168
122
72
115
241
133
153
85
224
213
157
78
103
221
155
230
90
171
153
115
221
228
136
226
100
235
118
225
192
186
206
102
158
193
202
146
121
105
78
160
185
191
70
179
166
73
250
150
204
134
78
95
107
182
147
160
143
98
160
135
81
89
82
92
189
133
195
114
118
215
124
144
234
173
162
136
72
177
243
134
130
111
166
71
190
132
131
142
248
250
247
222
147
242
135
232
195
102
239
100
247
195
171
226
84
219
156
149
127
204
118
147
175
226
137
122
247
112
225
121
88
77
189
211
244
196
131
178
187
171
223
153
234
102
240
158
158
158
134
110
154
98
217
148
182
226
170
173
201
134
177
107
124
238
102
120
248
177
75
246
151
216
160
120
239
153
158
111
79
183
127
209
243
226
234
216
130
213
196
130
166
155
184
216
190
127
131
193
212
173
105
112
114
73
192
164
73
209
240
102
208
241
168
168
249
96
72
145
233
176
133
88
70
223
135
91
191
225
220
193
120
158
163
88
210
110
130
75
172
90
81
207
153
229
201
118
180
144
156
193
153
109
118
76
81
235
201
128
76
93
120
91
126
78
180
188
179
77
233
87
102
122
203
225
102
125
146
150
215
123
234
120
241
209
140
157
231
206
221
214
76
188
194
119
123
201
250
155
208
208
229
232
113
231
240
244
180
143
161
75
151
164
113
98
90
196
81
198
71
199
224
100
182
127
219
88
118
147
246
154
79
98
240
238
208
177
108
165
186
221
93
136
137
177
236
95
209
127
200
216
171
96
79
170
156
154
108
75
236
239
222
187
114
196
238
219
111
238
112
168
147
177
241
214
189
171
77
79
93
196
111
250
95
238
87
162
192
178
143
107
166
189
81
101
246
141
221
119
154
178
116
129
79
144
90
81
156
133
201
210
166
202
239
163
119
184
201
180
107
166
84
175
139
238
122
249
85
209
94
109
152
216
100
156
158
161
245
127
170
206
149
128
150
220
138
200
79
204
90
163
104
212
167
116
95
95
94
94
212
225
162
158
87
131
93
144
241
86
92
167
152
160
194
160
246
90
240
91
236
88
199
154
139
153
187
227
74
202
124
234
200
248
213
182
179
130
131
220
164
247
159
214
150
141
162
80
199
141
137
79
219
205
131
90
114
203
243
205
104
95
248
168
92
250
195
212
139
234
156
95
121
119
233
240
176
102
111
226
201
185
120
220
172
79
192
116
85
97
146
194
195
108
192
141
238
176
215
141
200
119
204
155
213
112
192
125
247
143
110
114
71
119
101
116
246
187
150
186
239
213
87
105
206
226
164
140
184
145
100
108
217
190
120
165
160
89
231
144
236
166
177
204
141
98
100
215
179
233
116
208
148
144
219
162
192
208
202
197
77
163
178
186
241
167
192
186
186
202
215
92
201
199
129
225
207
133
154
169
122
154
178
154
164
81
152
226
237
209
148
105
99
187
86
179
150
72
132
209
161
230
177
167
168
74
121
217
112
169
89
146
137
106
91
123
182
117
205
246
155
70
212
197
86
199
142
70
153
214
230
154
123
211
146
72
113
249
195
101
246
81
223
238
159
127
228
174
198
96
72
115
174
91
78
226
163
134
74
249
227
84
110
136
193
223
129
86
78
231
156
227
246
79
197
115
129
191
217
102
133
186
95
177
125
172
156
144
96
212
244
180
246
239
163
85
190
224
137
86
153
226
227
194
210
116
167
82
154
82
101
80
236
148
210
116
81
197
217
175
231
98
151
146
184
200
128
121
82
158
232
93
117
228
129
198
242
201
114
195
222
164
241
246
172
230
220
244
122
133
144
154
80
242
223
143
124
127
120
112
187
136
100
161
145
166
96
146
96
203
243
106
87
222
205
81
222
129
216
241
188
198
213
147
111
81
84
190
107
229
82
90
180
245
146
237
200
186
189
171
101
189
189
77
149
142
214
135
130
152
137
157
84
122
244
216
233
91
95
217
119
91
109
237
85
116
136
162
167
155
121
204
181
246
96
171
153
211
197
139
174
97
199
182
116
165
163
82
165
199
234
93
163
160
243
221
250
99
234
173
204
157
110
70
237
90
199
72
239
173
78
132
179
152
167
175
224
162
168
127
137
80
70
184
150
119
196
210
243
81
184
111
84
240
174
174
78
248
82
106
248
133
86
129
124
111
124
174
135
158
157
73
154
155
182
149
193
223
86
98
118
134
105
243
202
247
165
192
241
207
242
143
212
207
132
90
146
94
146
94
216
126
72
237
186
74
141
163
106
79
115
158
205
191
247
232
232
157
178
197
230
96
210
163
100
153
134
143
178
151
207
187
77
219
98
83
221
222
119
76
223
149
123
162
139
155
209
154
134
223
133
151
169
83
72
156
129
220
199
70
249
210
232
126
81
75
169
122
148
247
169
151
239
106
241
138
230
105
208
72
176
157
162
179
95
163
160
127
136
234
121
148
190
169
151
192
137
119
146
81
75
150
227
199
248
92
234
147
183
104
103
184
200
156
219
94
163
98
204
249
200
246
208
119
79
199
194
229
120
221
74
211
146
230
174
230
206
244
77
200
218
74
185
123
201
100
221
100
180
203
158
203
211
201
234
178
87
100
134
114
127
110
221
214
112
174
201
179
212
164
160
164
205
125
145
227
111
146
101
229
218
146
75
168
206
119
246
111
111
208
181
118
196
213
160
153
180
72
126
210
211
223
148
229
126
114
141
138
188
219
191
95
144
76
150
73
171
180
216
212
166
84
90
211
83
81
82
250
72
162
154
119
248
171
150
161
216
74
70
192
85
110
76
168
123
132
242
84
124
153
119
98
188
214
92
245
211
236
136
93
150
79
77
225
241
110
98
250
176
94
129
142
227
131
129
84
159
182
97
165
169
94
154
211
157
102
126
138
143
174
87
218
153
131
102
208
72
171
135
212
165
203
143
234
118
194
89
70
115
120
103
135
74
113
184
146
182
223
96
113
218
79
117
98
137
211
237
98
107
98
184
218
168
236
152
216
187
161
247
99
164
211
162
232
242
197
186
228
236
73
112
165
151
78
178
110
221
134
237
166
193
177
166
164
116
151
82
98
223
121
160
151
218
116
243
124
133
159
211
234
138
115
208
133
116
88
176
143
242
230
143
138
120
92
216
197
80
112
222
110
135
203
231
213
161
92
228
221
157
176
228
178
143
121
217
98
221
234
138
234
192
205
130
220
139
125
191
221
121
138
193
105
221
163
100
138
204
80
200
193
200
196
197
234
76
196
161
150
222
176
164
100
241
125
184
175
77
247
191
180
145
124
219
218
148
223
81
105
249
108
97
76
248
209
217
187
180
131
99
79
236
89
236
144
167
141
214
177
139
229
121
143
216
163
177
106
73
123
214
237
79
219
225
111
113
192
164
99
190
120
113
123
141
236
197
204
105
125
125
74
158
183
110
250
161
91
156
70
190
125
126
213
152
214
182
80
211
249
148
164
160
223
152
85
241
163
82
114
208
171
204
164
161
242
147
212
121
182
114
121
206
78
77
241
84
114
164
163
234
121
186
167
152
102
171
98
210
227
134
144
145
99
170
186
183
81
114
141
229
138
175
107
122
103
197
77
114
167
122
176
239
246
244
153
176
167
154
87
198
167
164
113
201
156
220
112
244
245
225
114
234
246
117
113
168
169
145
226
238
174
99
126
214
165
169
132
153
170
195
122
172
182
227
165
96
152
79
102
191
223
140
85
196
165
144
249
190
180
122
154
204
181
170
198
93
234
164
231
93
118
198
192
234
102
175
248
200
133
201
234
141
238
124
126
207
182
178
182
128
176
136
148
193
177
117
136
88
129
104
106
91
167
233
179
94
131
86
121
240
236
70
127
194
167
205
81
189
90
133
134
127
81
133
138
228
99
118
97
139
75
109
235
123
193
164
109
147
169
208
162
140
119
168
197
248
193
72
224
104
211
177
100
96
191
191
105
79
182
115
129
116
91
121
100
114
98
179
163
158
89
123
85
173
185
168
130
223
112
122
215
83
246
231
99
151
74
71
189
136
166
203
71
210
159
182
161
114
122
175
129
169
88
98
104
242
141
75
227
109
114
243
166
146
151
213
236
151
120
246
191
87
163
208
220
247
175
222
241
195
133
220
222
230
127
155
88
209
70
91
176
210
124
103
170
164
94
125
202
150
248
135
189
101
168
125
185
78
171
149
93
126
240
247
216
185
134
89
231
238
71
103
127
169
228
209
151
174
178
168
93
197
167
117
161
208
227
222
117
182
87
155
165
208
143
138
101
211
250
219
143
133
181
242
189
99
98
114
231
115
191
170
166
222
122
94
180
195
84
141
116
127
111
122
94
137
219
153
127
222
72
103
207
153
74
189
175
128
191
230
155
104
250
216
203
207
175
121
138
201
171
206
244
114
250
175
132
160
131
145
216
217
131
183
83
153
132
207
101
110
110
207
97
194
88
118
231
170
97
102
82
229
156
104
148
100
109
238
215
235
170
164
122
80
209
136
110
221
155
184
222
156
229
116
170
77
77
75
83
200
243
199
138
140
147
176
139
249
220
103
186
111
180
103
205
203
223
244
136
221
247
72
240
88
108
96
196
220
107
82
171
186
171
242
146
86
134
225
239
165
130
123
143
76
201
197
108
92
218
169
219
118
245
89
205
134
125
107
197
192
136
142
239
214
225
131
112
158
160
196
131
124
87
190
194
232
180
90
214
125
242
247
132
96
228
213
101
116
167
228
141
107
156
108
113
92
227
91
247
97
140
84
89
70
201
115
156
201
204
230
100
124
205
174
249
228
171
198
160
137
210
133
229
196
86
219
193
103
109
245
142
195
148
84
170
170
140
241
197
202
219
116
159
243
80
131
236
121
219
222
242
144
205
172
227
235
156
83
205
182
145
188
236
230
114
161
155
234
244
147
102
126
197
96
227
117
73
85
141
124
174
182
155
183
111
108
239
187
171
204
248
93
183
137
182
75
142
127
121
228
165
132
176
206
71
153
122
146
162
71
107
142
213
196
73
105
94
87
94
234
163
101
209
151
154
196
153
232
206
105
188
170
162
80
109
130
234
144
221
219
164
171
199
91
155
137
153
196
194
169
223
241
209
130
206
224
104
149
181
213
131
209
136
137
193
90
101
98
159
100
222
156
192
202
125
202
208
70
76
74
173
227
245
119
147
221
238
138
178
151
204
218
232
142
215
237
110
110
105
206
84
105
223
115
80
197
173
151
206
163
113
231
234
246
141
119
149
104
171
89
132
119
231
75
96
186
98
129
224
102
197
122
183
168
151
192
182
166
140
166
147
237
207
204
224
111
166
108
228
154
203
190
210
123
85
139
229
188
174
181
220
108
245
177
160
203
131
192
81
159
180
193
105
142
79
100
86
98
171
73
207
195
212
219
225
226
145
80
112
106
141
132
90
166
134
91
144
78
73
100
100
187
119
133
179
90
141
237
95
178
139
76
148
84
223
214
78
110
91
137
138
212
142
155
135
117
138
132
84
184
142
112
88
141
204
174
113
222
203
215
240
205
124
70
250
91
145
102
129
97
246
137
191
184
155
244
84
94
161
237
211
185
206
147
132
205
197
227
164
121
88
203
178
136
201
84
96
164
123
158
163
77
80
181
198
220
206
77
114
188
150
250
219
229
210
178
124
123
128
142
85
137
77
163
134
107
196
120
119
131
215
121
152
157
178
131
205
187
213
192
146
238
223
196
117
131
221
233
130
114
195
242
131
103
188
162
121
159
133
210
112
92
80
205
139
140
92
174
165
220
156
197
186
153
129
91
142
150
231
148
126
103
117
135
71
220
83
142
165
71
214
214
197
177
136
161
244
108
185
110
230
149
170
77
214
114
152
137
188
248
176
224
248
228
104
164
70
231
75
122
183
201
192
126
164
153
150
127
78
249
245
246
103
128
164
114
106
89
186
90
153
119
74
113
190
201
245
123
142
203
139
28
60
57
67
80
38
73
56
31
70
33
38
30
78
21
75
78
58
71
76
24
68
24
47
74
47
68
61
79
77
49
59
72
24
46
77
77
79
47
69
46
59
56
57
71
23
31
39
51
70
62
59
34
31
24
44
76
23
29
60
71
44
60
76
29
36
51
32
59
77
68
35
61
49
73
52
48
71
65
53
63
73
69
23
27
28
67
41
41
39
43
59
30
65
45
68
54
53
72
32
77
32
77
50
27
62
33
66
78
71
41
63
52
70
31
40
33
66
50
72
33
38
61
35
41
32
42
23
54
29
43
61
78
50
67
74
72
21
59
44
34
52
55
26
59
68
75
26
25
53
42
31
72
65
64
47
52
47
67
48
30
52
31
57
76
46
80
77
41
53
37
53
55
73
63
58
55
40
46
53
29
56
21
26
38
38
34
52
30
55
45
40
51
36
61
63
66
45
73
42
74
76
44
59
65
74
30
52
80
38
32
57
21
41
48
38
24
57
30
24
20
32
27
32
32
57
76
41
74
40
30
60
37
29
27
44
58
22
73
70
38
44
62
21
37
54
65
57
80
43
67
21
78
60
30
31
58
73
69
26
63
72
31
33
60
42
72
46
31
74
47
37
79
32
67
37
22
40
26
33
38
78
33
39
65
31
50
46
35
23
24
44
64
69
80
26
51
49
57
66
61
49
45
66
28
31
26
58
53
65
67
28
69
40
23
36
60
74
20
66
73
46
55
20
76
78
42
43
74
68
61
64
22
78
75
65
46
68
33
75
79
38
51
58
49
52
40
45
37
34
33
23
46
57
45
55
30
67
56
75
64
41
49
74
68
29
55
38
51
72
70
51
31
25
53
66
55
36
51
61
22
71
49
55
40
43
74
23
55
70
41
72
35
32
71
41
72
78
28
39
76
22
27
24
50
74
79
20
70
32
21
31
58
79
31
66
23
78
62
33
73
22
70
58
68
66
24
80
36
25
76
76
33
33
62
29
47
59
46
75
76
36
59
80
21
50
71
36
30
79
73
56
77
62
71
51
54
61
72
42
50
55
26
64
62
45
20
20
67
34
47
66
70
65
51
45
48
35
69
47
20
39
75
39
39
26
79
71
55
76
60
24
52
31
78
53
45
47
34
33
32
41
30
51
65
40
80
79
24
27
28
26
38
31
61
69
68
24
27
58
74
55
34
29
20
35
69
41
60
21
55
32
48
72
35
56
61
21
20
31
49
39
30
47
65
25
46
39
72
31
63
75
73
52
34
79
75
25
21
67
79
61
34
69
39
33
53
75
70
75
50
73
70
48
66
57
47
41
67
67
52
68
49
59
67
29
49
70
77
56
57
47
34
30
55
53
47
33
31
67
42
68
31
44
33
27
76
32
43
41
47
27
69
70
77
26
38
63
68
35
34
23
70
49
58
70
21
41
62
23
57
28
37
76
47
35
34
59
52
45
60
37
48
74
52
30
33
72
40
63
63
26
25
45
64
36
52
75
32
58
79
55
70
55
39
24
52
69
65
64
62
38
66
50
70
63
27
26
68
44
29
41
23
37
28
30
35
46
35
37
74
61
52
68
52
63
31
36
72
35
38
42
33
48
54
67
43
59
38
27
64
30
42
39
63
21
72
76
54
52
77
41
79
78
25
59
61
42
26
58
73
59
40
51
64
23
57
72
65
50
71
22
40
50
42
24
73
26
35
77
74
55
77
60
40
30
27
25
67
20
79
69
50
48
29
70
65
24
71
66
22
31
63
30
61
59
57
64
42
57
20
72
44
46
56
30
75
46
21
45
58
31
41
56
60
69
79
46
48
72
52
20
60
72
60
76
57
64
47
59
21
51
55
43
77
64
48
36
50
47
44
64
75
22
25
24
29
45
20
70
58
33
33
74
27
28
41
65
37
37
68
39
68
61
25
71
53
28
75
30
59
42
53
69
80
70
48
20
51
39
43
51
21
54
31
72
60
33
33
73
45
23
32
65
43
73
71
74
67
78
31
31
45
73
60
33
70
64
40
77
53
31
75
72
24
50
37
47
28
21
64
24
28
60
70
80
69
45
21
35
23
69
71
48
52
24
41
51
80
43
41
26
50
47
41
72
72
63
36
60
55
78
79
69
38
69
75
48
66
39
58
37
64
26
52
57
59
32
80
22
55
72
59
46
80
77
72
26
57
38
46
30
71
30
39
50
60
67
21
80
31
36
63
65
76
29
49
41
62
66
42
53
64
39
39
31
65
46
64
37
42
31
67
24
43
34
29
31
39
79
74
28
38
45
78
48
57
43
79
69
31
73
25
48
53
31
42
61
21
64
59
44
28
21
48
33
63
29
34
44
20
50
21
76
68
56
51
25
71
32
52
37
36
38
32
31
70
79
59
69
58
47
67
35
39
39
70
42
29
77
69
30
20
66
67
69
24
48
34
63
60
63
50
62
33
68
66
64
35
47
80
41
76
62
65
53
46
25
59
63
39
58
22
50
41
45
38
45
20
37
70
59
33
31
69
67
37
80
51
56
37
65
57
51
40
30
33
51
51
48
24
38
63
62
77
24
30
71
20
25
56
33
78
30
24
47
52
58
33
60
58
72
57
54
50
65
61
29
47
20
40
22
47
73
27
73
32
71
76
46
76
42
28
58
67
35
30
27
48
45
23
39
38
58
28
52
24
31
32
22
53
29
44
32
46
50
40
55
25
55
80
25
31
47
47
76
61
36
68
54
46
79
53
61
55
62
60
49
21
36
41
66
48
40
33
76
47
57
49
53
38
75
36
58
20
45
42
80
49
64
42
62
69
67
76
74
39
43
35
73
40
70
36
61
22
23
59
77
53
25
50
32
76
40
58
59
51
39
54
43
54
28
21
54
50
80
45
76
61
72
75
47
36
51
79
44
36
71
26
22
79
49
57
28
43
66
26
64
63
37
45
51
74
62
23
75
46
52
66
73
45
40
24
51
73
63
46
27
29
22
51
20
55
36
61
46
56
24
39
64
21
36
31
75
52
80
34
49
40
43
65
24
46
74
75
77
32
60
24
57
53
78
34
46
38
51
61
79
73
33
72
80
49
30
50
67
33
79
80
78
78
24
63
36
22
51
54
49
33
34
34
37
48
45
66
39
47
26
77
57
36
33
22
66
42
25
79
20
59
58
50
78
71
28
21
60
65
21
66
71
39
61
43
41
55
23
31
59
22
20
54
51
42
68
44
58
22
29
20
63
50
65
42
71
34
71
56
30
43
69
54
49
52
32
72
33
27
76
72
50
71
59
67
23
66
76
64
22
66
78
76
70
40
66
54
32
66
21
27
20
33
38
65
43
44
56
51
36
75
62
42
35
47
40
28
35
32
80
56
75
66
63
38
25
30
58
71
34
26
78
63
20
79
34
80
34
55
51
78
51
67
43
75
49
42
20
67
43
68
69
68
23
60
56
53
67
76
55
32
76
50
55
30
34
24
50
52
41
75
68
59
66
39
49
26
59
70
72
70
36
38
38
79
41
56
68
51
44
58
76
35
28
47
52
38
80
69
21
36
72
44
50
57
56
75
65
74
62
56
51
46
80
61
20
39
79
25
49
66
60
52
79
34
47
67
56
42
42
54
32
79
76
59
35
24
26
68
39
34
44
63
62
23
76
23
43
38
71
49
55
49
48
64
69
77
63
30
29
37
29
23
26
43
79
28
62
40
32
76
53
55
55
32
63
62
42
59
67
58
23
25
66
28
48
72
32
70
59
42
74
76
42
64
58
51
23
24
69
25
50
53
32
33
29
47
53
73
49
68
26
40
28
27
59
29
40
47
45
38
24
30
42
57
74
80
22
35
37
67
24
69
44
51
25
63
72
76
50
80
65
58
54
57
26
80
61
63
59
25
24
60
20
63
21
74
21
66
70
61
33
23
51
42
30
62
53
58
22
39
51
31
73
61
63
37
53
57
43
75
62
40
25
26
65
32
32
36
79
68
55
75
55
75
67
77
44
54
74
77
22
75
28
56
29
42
63
21
71
80
53
32
64
50
52
33
48
74
26
78
36
24
45
56
65
30
64
20
50
46
79
38
53
75
23
45
28
50
74
64
53
24
48
72
20
30
51
20
74
79
42
48
26
53
52
76
48
52
49
66
50
55
67
29
59
46
47
66
24
33
51
80
52
42
77
75
56
52
23
68
63
20
32
36
69
45
75
53
60
51
56
61
26
72
60
69
73
56
58
74
41
40
79
71
65
36
35
21
69
44
21
21
61
77
23
51
78
77
47
48
32
72
21
35
61
60
40
32
64
44
63
21
66
46
74
41
33
24
67
76
32
36
23
75
70
31
41
50
59
75
37
42
75
71
25
74
71
78
22
61
62
63
59
46
21
36
74
50
32
46
79
66
65
69
48
77
32
50
29
38
61
42
41
63
46
78
75
43
68
74
32
41
26
80
79
38
66
73
40
79
36
76
57
78
72
54
33
35
58
80
29
43
58
40
38
30
37
54
48
26
31
45
27
67
70
77
32
58
22
34
48
47
48
60
47
79
24
21
67
65
28
63
68
20
77
52
51
78
28
68
66
74
21
40
42
77
76
33
75
37
26
35
63
38
65
35
50
61
65
61
26
31
43
52
45
73
73
24
42
53
65
66
48
69
73
64
43
55
70
68
29
58
80
58
41
40
22
67
33
49
59
23
64
31
59
50
62
49
47
48
28
27
41
58
74
45
28
45
34
74
67
55
25
54
79
75
38
53
78
79
53
38
43
26
46
61
21
64
79
67
47
41
53
46
23
31
52
78
51
78
77
56
50
58
54
34
28
37
39
25
28
64
23
30
38
71
52
77
76
43
74
33
25
45
25
58
24
35
70
27
73
69
42
40
41
51
71
75
70
77
40
36
68
45
56
35
32
41
57
61
80
45
36
64
71
37
44
34
39
45
31
65
31
69
51
50
64
40
70
63
72
72
30
60
40
60
36
43
72
78
60
50
33
55
71
54
37
60
68
28
73
31
64
74
43
79
46
29
60
27
59
46
26
28
35
50
33
35
70
50
71
72
20
26
46
66
31
21
52
26
35
67
59
62
32
26
78
49
52
62
75
47
41
26
46
79
22
57
46
24
39
35
58
71
36
31
33
74
24
52
26
38
58
40
21
28
28
79
42
22
55
55
44
59
72
75
40
23
31
44
58
38
47
33
67
58
52
40
77
32
59
43
42
23
76
36
57
24
70
63
60
58
21
47
67
55
56
64
56
55
43
72
68
70
70
76
40
71
29
72
35
71
61
46
75
45
27
55
80
28
28
33
53
32
69
61
46
35
24
75
74
71
28
52
48
60
33
46
57
33
79
29
68
21
41
79
39
71
76
46
69
45
35
33
38
31
77
37
68
61
54
62
40
27
29
24
50
59
44
68
63
32
30
35
53
43
64
46
31
51
31
73
49
64
37
59
28
62
35
25
22
39
80
26
80
48
54
33
48
39
38
33
70
45
48
25
69
25
56
26
69
43
31
49
47
45
62
38
66
54
79
38
80
52
78
42
40
70
70
57
52
70
58
80
34
29
27
52
46
22
51
79
32
66
43
39
27
57
67
63
73
34
45
44
44
32
64
46
52
50
49
77
31
33
63
66
76
31
74
49
47
54
63
28
50
38
41
77
27
53
64
25
34
35
63
50
48
73
65
63
76
66
59
76
20
64
71
41
71
80
32
54
69
64
45
67
24
59
26
35
46
42
28
73
59
73
51
76
76
76
59
46
25
37
29
66
48
32
22
38
29
32
35
74
63
63
24
48
53
60
48
20
72
43
52
78
30
22
57
26
25
76
33
27
43
50
57
37
35
67
30
25
64
27
80
53
79
79
78
21
26
79
71
61
40
39
63
69
61
54
66
21
54
53
61
36
64
59
25
57
72
67
28
33
69
22
33
21
31
46
54
21
37
47
31
31
39
26
31
21
48
61
35
73
22
56
61
50
22
76
60
43
24
58
29
67
75
28
66
40
48
52
55
38
27
57
46
32
42
36
33
24
23
75
65
80
47
72
26
35
79
43
61
72
77
23
60
30
72
53
49
32
28
29
50
54
66
44
61
60
67
25
78
27
41
25
79
43
55
78
39
79
45
59
62
26
27
40
23
74
29
68
48
75
57
58
72
75
63
51
35
60
29
37
30
37
67
67
51
39
69
22
23
64
63
58
43
46
24
69
63
73
35
29
23
35
43
46
24
33
34
38
57
80
30
49
49
24
66
22
46
48
44
43
20
36
39
36
76
74
58
51
43
66
49
28
27
75
50
69
24
65
46
40
56
28
48
46
53
68
42
31
32
48
72
21
26
58
25
49
40
55
39
22
63
50
55
30
22
29
38
63
41
50
59
24
23
37
40
54
26
63
31
38
35
46
62
26
34
39
39
67
55
59
24
45
74
36
24
55
70
20
55
77
57
61
40
62
58
40
72
57
23
67
28
56
79
41
65
43
67
49
39
48
37
64
52
37
60
46
36
79
53
61
79
79
56
20
44
71
64
30
65
50
29
38
20
44
37
48
40
41
63
47
42
40
44
29
24
35
55
69
72
75
27
37
52
20
57
37
73
52
77
69
54
40
78
23
52
22
59
21
35
58
40
67
74
73
46
47
32
29
27
46
45
57
60
22
80
55
52
49
47
20
57
74
75
56
28
44
38
59
53
63
65
75
54
43
51
22
54
76
64
21
52
73
43
36
66
71
74
46
79
43
59
55
54
30
41
43
39
80
40
45
60
20
76
28
24
20
27
55
46
41
37
53
58
55
73
61
50
71
57
72
45
50
43
57
37
26
30
25
27
36
35
20
41
25
48
34
65
26
57
71
71
59
60
28
56
75
36
52
52
23
74
55
45
66
29
56
40
46
37
67
67
51
41
50
66
31
62
36
27
30
35
31
21
71
45
30
51
54
28
21
63
49
59
73
35
43
44
27
62
28
22
46
73
72
20
30
38
22
72
76
31
66
73
75
61
77
45
23
63
31
38
70
67
40
32
30
41
51
58
70
78
32
47
43
66
76
41
36
73
22
77
46
77
62
38
67
23
29
54
74
41
40
38
74
77
22
57
26
30
21
46
67
31
66
79
25
32
30
74
33
45
40
51
78
49
79
58
71
42
72
45
73
43
51
65
31
78
25
57
74
71
21
69
42
51
21
20
70
42
72
63
20
73
56
32
42
74
80
28
35
36
27
31
35
72
54
24
32
41
68
52
33
41
67
22
59
54
51
63
66
33
30
45
76
80
80
33
38
62
44
67
80
20
67
42
28
72
24
46
27
61
64
76
55
53
29
60
47
48
52
62
23
50
40
60
55
39
56
39
73
71
40
20
75
37
33
79
59
35
37
70
70
67
33
29
66
51
40
50
67
20
39
21
31
61
33
53
34
77
78
30
64
41
26
72
50
74
63
35
33
65
29
35
76
79
57
54
22
66
35
41
78
21
66
80
46
62
35
55
47
44
44
76
38
68
45
75
71
33
33
23
78
29
41
41
25
47
38
63
68
76
51
79
30
21
71
32
44
77
22
50
65
51
29
25
67
24
31
33
69
39
29
64
40
35
76
77
62
41
72
44
30
36
46
62
58
32
47
56
26
49
75
44
22
55
42
66
35
35
40
27
61
72
37
54
68
77
79
23
68
31
57
33
61
61
23
34
29
55
32
59
55
67
21
33
20
66
21
37
53
51
20
25
62
75
59
80
71
64
46
67
42
23
53
45
65
40
40
38
56
43
34
49
36
76
40
23
66
48
53
26
23
29
21
42
62
35
62
22
20
66
40
68
70
80
61
28
74
75
65
28
34
72
40
39
31
22
33
25
22
80
52
73
49
30
80
72
60
55
48
49
30
74
24
47
64
30
44
64
50
62
61
26
51
29
79
55
50
29
63
49
41
61
24
25
48
27
29
53
58
63
75
72
78
65
26
75
27
38
74
65
49
21
78
30
48
55
55
52
76
44
66
42
70
49
79
73
35
29
74
30
24
74
29
50
33
43
60
49
59
75
77
75
78
46
20
39
40
77
73
63
68
74
72
44
74
46
80
29
25
34
67
65
78
56
32
58
21
25
72
26
46
57
26
64
20
62
59
74
38
52
27
39
66
42
64
20
56
21
64
32
57
34
38
24
47
62
37
68
35
79
21
34
71
57
38
27
63
23
78
79
27
73
77
29
28
74
46
39
28
60
54
42
33
52
39
24
63
41
72
70
78
41
78
56
21
65
48
57
25
47
28
57
78
25
55
26
80
55
54
78
46
37
29
29
34
40
27
33
64
71
79
53
42
32
76
49
34
27
33
57
75
35
39
24
20
39
22
74
58
62
65
32
51
52
27
69
28
58
70
63
47
24
64
76
42
37
53
73
61
39
74
42
41
49
31
72
43
58
47
25
37
31
28
28
50
54
43
20
49
60
31
21
48
69
60
67
31
44
69
33
63
66
77
63
63
25
29
20
22
76
43
74
71
64
61
41
55
39
41
75
78
33
28
58
36
62
45
30
75
40
60
73
40
28
77
66
71
33
54
76
49
26
62
31
59
20
76
53
60
32
24
60
38
39
50
62
23
23
51
33
55
58
54
33
56
64
42
38
68
68
73
54
77
77
55
48
71
39
57
41
72
36
27
21
80
69
41
60
21
50
76
60
21
50
43
61
76
69
45
24
79
29
23
36
25
51
22
26
48
68
23
45
66
34
45
46
20
41
76
61
29
21
40
69
36
46
41
22
29
22
57
69
63
70
46
57
34
48
21
53
76
67
40
68
43
46
67
47
53
30
65
36
71
39
66
30
74
62
53
72
37
69
33
36
25
43
31
39
36
35
75
45
52
61
69
36
32
72
58
40
39
39
49
48
57
44
80
59
45
67
42
42
30
69
47
67
52
57
33
79
68
62
23
21
45
33
74
28
55
36
24
30
38
74
33
54
61
32
52
35
37
63
33
24
68
36
66
76
41
53
41
65
34
69
45
58
30
24
38
77
36
23
36
26
74
43
23
21
22
80
29
45
48
27
60
28
59
48
64
69
26
72
47
23
21
78
38
23
35
70
66
62
57
58
41
21
30
26
48
27
71
42
28
75
61
50
43
40
46
28
80
39
29
38
41
31
64
25
37
29
79
44
26
77
57
23
51
50
40
77
59
68
65
25
73
35
49
77
75
74
26
76
70
24
62
29
20
71
44
41
76
43
29
63
41
38
50
49
49
28
52
79
27
22
41
71
44
71
65
29
27
65
34
68
68
35
32
32
49
57
67
21
24
55
39
76
27
25
55
77
45
27
23
53
78
77
43
42
39
41
29
21
33
69
45
54
28
41
38
33
68
46
62
52
73
60
74
79
40
34
40
64
25
34
32
29
26
59
55
64
35
28
64
38
64
61
47
39
80
41
77
34
28
21
35
75
80
49
66
44
76
29
72
31
47
77
25
64
70
45
62
29
30
65
23
22
76
30
26
68
48
47
36
52
50
25
50
38
25
62
55
61
32
24
48
80
48
31
55
65
74
55
54
61
29
45
77
77
53
51
20
20
59
63
49
69
78
67
55
23
23
66
62
78
68
46
61
33
51
22
69
73
73
40
32
45
60
68
68
60
40
37
26
63
51
38
54
59
30
66
45
58
70
76
78
23
51
55
59
49
71
30
68
43
47
55
69
79
54
53
78
73
34
74
67
67
36
27
22
22
51
45
30
29
72
44
74
70
76
39
47
74
57
24
20
74
58
64
28
21
65
31
28
38
57
20
29
68
33
46
49
74
65
25
59
21
77
51
60
30
51
39
28
55
31
34
64
33
73
49
46
36
35
72
35
55
62
44
70
58
76
24
21
74
29
73
34
70
79
72
69
24
57
80
73
36
68
24
45
36
45
34
75
61
27
38
23
27
42
63
54
63
49
75
68
44
68
80
25
57
27
71
49
42
38
78
33
78
52
51
20
32
37
21
72
59
61
64
42
60
22
67
64
73
53
64
39
50
71
40
35
24
55
71
46
44
51
65
75
64
70
72
76
61
51
63
26
29
55
28
25
68
66
65
50
60
35
79
54
26
78
62
20
56
79
66
59
70
51
52
71
26
77
69
41
21
34
74
36
29
45
80
57
56
71
63
76
76
22
63
46
35
32
45
69
70
57
53
53
76
52
22
51
23
36
79
22
21
71
74
27
37
75
70
37
56
22
40
67
46
34
73
39
58
58
31
22
34
63
73
29
23
50
71
44
40
56
60
40
33
74
49
28
79
51
36
27
40
74
77
20
39
49
57
67
25
25
79
72
38
73
59
48
73
38
58
70
49
77
78
80
21
38
21
75
43
31
52
55
22
46
33
35
68
31
49
62
37
62
45
21
42
73
74
74
51
75
72
41
38
65
25
69
34
36
77
55
27
76
56
52
79
58
23
20
50
50
42
69
56
62
54
70
58
79
48
35
53
28
50
75
61
29
38
45
41
42
59
58
72
68
76
56
21
74
50
52
40
53
35
67
23
69
53
76
39
23
79
29
72
21
76
71
31
25
60
61
54
43
80
28
42
65
64
30
44
65
69
62
72
27
68
42
44
30
75
57
32
31
68
57
62
41
30
60
77
30
65
40
30
46
27
62
66
66
80
34
49
76
23
41
22
56
68
58
43
45
36
53
48
71
77
59
74
34
35
55
27
48
26
34
64
61
70
71
22
75
56
62
78
50
53
77
57
40
35
62
25
62
52
72
46
66
38
29
71
32
59
80
80
34
37
68
25
46
34
25
62
54
60
47
51
40
61
41
20
34
64
65
46
73
37
52
31
36
64
22
54
39
30
41
39
33
43
24
53
75
25
32
79
24
70
32
72
62
65
80
65
20
71
73
68
32
31
26
68
55
37
27
49
45
61
45
41
35
46
80
22
30
31
50
80
60
59
59
23
31
45
42
29
30
38
58
63
54
28
31
41
21
53
74
21
21
52
64
49
27
53
40
73
70
66
34
37
55
22
75
36
67
58
65
76
36
32
67
77
35
47
56
66
55
20
59
36
76
53
37
23
76
27
68
23
20
66
67
62
36
70
61
79
36
57
36
69
52
48
75
36
22
20
51
37
58
44
43
54
46
76
65
22
55
52
58
29
80
79
40
39
45
45
35
51
61
33
24
43
56
70
57
73
73
39
72
77
40
44
53
54
48
54
52
21
22
25
67
22
24
44
79
75
62
40
25
69
35
36
34
46
28
26
35
50
20
53
62
43
64
23
27
67
40
37
61
57
46
27
35
22
36
27
49
42
70
26
66
20
30
41
36
74
26
63
68
72
53
50
43
73
44
54
59
42
36
66
61
67
71
67
80
66
22
55
59
57
44
73
31
68
28
37
56
41
30
42
47
33
58
52
40
72
54
72
69
47
56
76
56
22
42
65
29
66
75
49
78
65
49
57
69
64
56
57
77
66
58
57
43
35
70
40
27
31
26
50
53
66
63
43
61
72
48
59
74
49
35
68
26
29
37
61
35
49
44
50
28
32
47
75
29
51
41
72
29
44
70
51
30
56
68
32
28
78
66
43
35
26
71
50
63
45
27
36
59
79
23
39
77
51
23
74
32
66
44
78
33
46
63
42
69
31
27
59
25
50
21
31
78
78
54
64
68
74
49
21
62
29
46
23
70
20
78
22
28
67
36
25
80
34
40
73
58
53
42
50
26
66
71
56
31
52
75
36
72
23
68
64
42
77
49
49
23
30
41
60
28
64
68
20
56
32
39
43
68
59
33
23
60
80
32
27
74
27
55
47
34
65
77
24
29
21
56
64
32
46
36
30
78
52
26
44
44
39
78
71
25
72
33
74
36
37
63
20
64
29
26
67
32
68
35
38
48
46
60
67
71
69
79
59
31
33
41
31
53
80
76
26
80
20
74
40
55
50
34
43
21
24
35
59
55
79
27
42
64
72
71
66
38
63
77
72
28
60
41
34
70
61
27
22
64
51
80
40
74
73
52
62
55
20
59
60
69
28
37
54
36
36
29
55
43
64
71
40
73
39
21
62
41
40
46
28
62
38
76
61
25
37
60
51
51
68
31
51
59
53
51
66
21
29
61
56
55
33
23
32
78
22
33
39
38
55
74
70
70
60
61
26
56
63
45
58
67
77
50
29
37
63
34
46
40
44
52
66
32
35
63
65
36
29
32
69
77
58
60
67
39
72
57
66
69
55
35
46
78
80
46
41
35
24
47
73
38
61
63
57
31
35
62
79
58
61
26
27
44
68
44
68
41
76
65
77
69
27
58
68
48
68
39
77
54
42
38
31
66
21
34
73
20
69
39
68
46
45
55
52
51
34
40
39
31
71
36
71
36
70
55
79
42
79
57
36
49
80
50
77
72
72
64
66
77
50
32
26
20
57
34
76
77
70
74
25
26
29
75
61
63
76
59
79
36
47
77
33
24
63
79
37
59
54
69
79
47
58
51
71
38
33
26
69
27
44
25
76
72
25
32
69
29
56
32
52
74
46
62
60
74
55
43
48
67
23
33
45
33
79
68
54
69
75
32
42
33
28
33
57
80
66
31
40
63
57
32
66
25
80
33
39
53
37
34
37
49
32
62
59
24
68
53
27
34
57
62
47
34
41
48
76
63
75
26
49
79
62
28
66
71
37
33
28
61
42
41
71
51
27
44
77
45
47
76
80
39
56
60
47
40
46
73
42
38
36
58
60
36
73
43
27
47
55
68
20
38
30
37
76
56
51
50
20
75
35
31
46
25
52
29
41
56
23
26
52
50
73
79
42
39
25
77
26
34
55
20
78
25
64
22
23
59
56
67
55
51
40
75
59
58
60
70
31
57
66
54
77
25
76
52
40
41
54
58
62
46
67
68
78
68
26
55
77
48
29
72
54
52
52
80
44
41
30
79
34
45
53
45
49
69
43
47
26
43
35
40
46
77
28
46
73
51
59
72
55
44
41
33
80
52
28
79
76
38
66
32
45
21
78
80
48
32
33
75
46
52
44
76
37
74
49
49
25
28
24
50
26
36
50
66
41
61
69
51
30
45
26
41
25
53
48
76
35
60
66
72
36
35
70
34
69
34
59
25
53
70
30
75
66
43
60
43
30
39
44
35
40
58
59
23
52
50
65
59
41
76
25
73
56
29
66
68
20
37
24
27
26
57
42
44
78
78
31
24
64
24
70
39
66
75
53
69
63
49
56
78
28
26
64
51
64
59
80
41
72
78
32
28
49
56
20
41
58
34
80
75
77
69
24
62
23
39
57
34
46
39
79
57
34
66
80
35
58
48
56
39
78
29
42
55
59
20
40
47
26
31
77
36
49
40
67
48
64
62
49
34
29
57
36
22
37
42
44
61
51
76
37
32
62
80
46
70
48
41
41
35
61
34
76
68
78
75
50
78
71
62
73
42
24
39
72
32
55
40
72
61
53
80
29
47
42
71
77
29
23
46
41
53
66
27
80
68
63
62
35
49
45
37
80
58
53
35
73
52
65
78
70
20
22
77
73
66
34
46
20
76
44
64
35
24
48
78
24
58
27
65
65
46
59
51
29
78
46
59
39
76
66
80
25
34
38
41
60
61
29
70
73
34
49
45
53
26
79
42
79
57
69
72
25
61
71
72
38
20
33
67
43
74
58
61
78
49
31
29
41
50
29
30
72
39
67
73
41
45
36
20
76
76
52
46
62
31
49
79
20
55
33
61
21
73
54
62
58
71
58
79
44
53
20
57
33
27
45
64
69
21
48
78
35
76
55
68
45
34
65
62
31
34
56
66
67
50
76
51
35
62
44
32
21
77
32
75
55
41
50
50
49
50
73
48
67
43
26
50
36
73
26
58
43
68
58
63
72
80
39
66
76
55
78
63
30
44
30
24
66
50
23
61
47
56
51
20
21
47
79
45
49
56
52
28
73
76
49
24
56
73
76
72
60
74
60
41
64
65
25
73
57
49
44
45
34
20
28
75
58
33
41
55
48
58
68
52
80
47
34
31
77
43
50
54
23
31
32
48
46
55
48
34
33
59
73
64
39
38
79
78
40
32
32
64
63
42
41
24
57
27
67
21
40
47
79
36
23
42
74
75
30
40
71
65
70
49
26
42
58
56
75
53
80
40
79
67
68
33
25
75
72
60
60
26
21
42
58
53
50
51
57
23
69
52
75
61
43
55
63
74
50
67
37
34
43
71
59
29
42
72
21
73
58
50
71
47
26
70
65
72
46
43
58
50
58
68
70
45
56
33
42
61
62
51
40
43
78
69
66
51
28
64
59
42
58
78
43
45
54
79
79
58
53
66
61
59
26
69
77
39
23
37
51
37
27
58
28
33
58
45
75
69
69
80
30
74
43
69
33
74
71
53
27
79
33
50
48
70
42
65
73
75
41
73
29
33
22
34
21
50
76
79
30
63
31
63
62
65
35
42
57
38
33
24
57
41
71
28
74
63
76
28
71
65
38
27
50
52
44
40
68
24
66
61
62
79
26
60
78
43
70
23
76
55
27
41
48
50
48
54
79
66
36
24
41
28
59
63
70
68
57
34
36
77
52
78
25
63
49
79
30
24
30
51
73
55
67
63
79
40
76
23
59
45
60
55
27
27
44
65
66
53
45
37
58
73
33
71
78
26
36
72
46
78
53
24
35
70
37
71
50
52
35
34
74
21
45
62
50
72
67
31
32
40
23
46
27
26
54
60
56
49
57
67
30
53
79
66
23
30
62
33
68
44
62
66
20
56
21
50
80
46
72
58
47
51
69
37
46
29
73
75
47
49
69
76
35
58
22
64
24
67
41
78
52
74
66
59
25
46
51
62
38
36
71
69
79
32
59
75
66
68
76
43
61
56
42
41
78
58
66
38
76
42
77
62
72
78
77
46
66
34
33
63
50
49
71
28
50
78
21
77
26
33
54
46
34
30
22
63
71
35
69
42
52
68
24
50
39
61
65
20
75
51
50
66
65
34
43
37
51
33
50
56
49
45
40
63
72
38
79
41
42
62
58
33
28
32
64
22
23
26
79
24
77
33
43
50
29
79
63
66
54
67
65
27
61
57
77
72
39
57
62
69
40
39
62
21
49
50
63
55
38
60
57
50
74
62
34
32
77
59
42
36
42
40
60
71
31
78
48
42
23
53
31
46
21
41
26
60
74
69
38
46
62
31
74
43
21
78
56
68
27
58
61
42
20
24
25
23
36
43
72
31
62
68
24
58
53
60
21
21
29
75
42
35
58
75
74
58
38
25
63
64
37
67
68
61
27
39
37
21
27
47
58
74
27
30
55
40
55
30
59
71
64
74
52
45
75
63
46
56
44
31
54
80
69
39
43
50
68
38
33
30
21
63
35
49
37
57
67
70
26
37
67
20
44
51
61
69
34
38
38
31
65
48
27
43
45
58
72
31
68
54
51
37
53
69
69
43
69
59
54
71
77
61
21
38
36
80
68
37
79
22
27
62
60
52
54
45
78
78
42
47
35
27
43
20
77
25
59
48
23
22
70
33
37
75
69
61
54
49
77
55
67
29
31
60
68
29
63
30
56
29
43
63
69
73
79
23
53
32
41
51
33
57
61
63
57
42
70
71
34
76
55
27
51
31
28
79
77
36
22
78
39
78
70
58
33
59
65
80
24
74
74
74
65
61
45
37
23
69
29
61
69
55
22
27
79
49
57
29
58
28
26
80
56
68
22
24
40
80
47
67
47
21
33
28
68
47
65
55
71
67
76
65
72
20
45
48
77
59
54
29
34
77
58
54
65
73
23
64
62
26
26
51
25
57
55
38
27
72
79
21
37
38
24
48
64
56
50
23
33
65
71
69
43
59
27
48
23
58
72
26
37
61
42
45
76
34
51
24
68
62
21
20
79
26
77
67
80
62
38
25
60
23
26
31
78
26
65
76
70
73
24
80
22
25
78
56
59
47
22
43
58
20
72
52
40
77
41
31
70
29
42
38
35
41
40
58
28
50
78
68
38
73
37
50
56
29
59
41
32
42
55
21
33
69
41
34
55
58
55
47
60
56
69
62
50
26
44
43
73
79
53
76
26
51
30
39
53
47
33
20
78
50
60
61
63
77
61
69
54
55
53
47
31
27
41
69
59
27
41
26
28
59
33
41
75
23
74
78
33
24
21
56
32
64
65
34
38
53
46
48
69
36
33
74
21
38
54
67
76
31
67
21
74
24
57
40
53
30
58
65
61
35
31
72
75
42
65
78
45
41
67
40
69
59
20
36
66
42
54
67
34
68
73
73
61
49
72
76
40
52
35
24
52
20
76
77
74
51
49
43
52
65
67
45
56
65
40
36
23
30
20
36
44
33
52
52
22
76
69
30
66
63
22
41
64
70
36
67
79
44
20
77
67
63
50
73
72
54
44
71
26
40
74
56
79
62
30
39
46
40
47
26
48
56
61
38
34
53
70
23
33
24
76
40
23
49
36
56
80
55
20
53
43
39
34
46
62
55
59
32
27
76
25
58
55
20
30
68
73
72
79
58
30
29
44
54
38
20
73
25
22
54
52
50
72
62
52
69
36
20
70
48
42
76
77
45
45
25
35
80
65
56
29
61
50
72
31
70
63
28
72
79
33
74
26
69
77
44
62
48
32
47
31
40
68
58
37
35
40
60
41
37
79
27
64
47
79
71
47
77
45
67
64
40
55
34
71
45
40
75
40
33
57
58
31
36
79
65
20
74
20
49
46
39
23
58
56
60
51
68
64
54
42
53
30
31
34
53
31
39
78
52
72
49
33
33
72
72
29
74
70
71
31
43
29
79
57
66
60
38
37
58
38
44
25
55
44
36
45
58
48
56
69
74
53
72
29
38
51
62
32
50
70
29
49
46
20
37
41
75
78
32
68
34
73
55
26
65
43
36
57
21
51
54
54
31
25
75
40
54
46
56
69
26
62
69
54
71
69
31
72
20
58
31
36
28
77
49
23
25
79
53
30
46
53
57
46
57
21
76
38
58
40
20
69
56
41
21
79
78
77
59
54
63
54
75
60
42
26
48
50
50
52
70
26
38
75
47
63
75
27
65
60
71
54
68
55
33
25
69
60
78
27
51
38
49
75
77
47
65
34
31
50
64
69
56
34
29
37
64
44
64
80
77
30
24
56
71
25
48
32
52
47
70
28
22
29
64
29
76
58
79
47
67
62
70
58
61
64
21
69
41
66
44
31
70
34
48
74
44
49
39
39
39
48
67
60
26
73
75
31
26
53
24
32
58
40
55
73
37
72
52
40
31
69
30
36
56
36
74
25
41
43
28
73
47
79
77
35
66
66
77
24
35
34
20
78
27
69
54
78
29
27
32
24
30
57
32
42
74
33
72
71
64
38
34
50
39
54
68
58
24
73
37
40
62
44
44
20
55
78
25
33
50
70
45
70
70
72
72
76
76
21
43
53
47
71
47
52
51
57
58
62
72
66
41
40
49
65
45
78
62
80
79
23
63
57
50
27
55
20
63
58
33
42
31
21
51
69
35
48
57
28
68
34
43
57
67
40
43
22
73
37
80
41
21
44
23
72
46
64
33
63
26
60
27
41
64
27
79
67
71
43
72
71
79
28
29
80
69
78
47
69
52
60
44
69
33
22
30
67
70
68
76
71
76
36
52
30
24
75
61
40
77
44
59
61
35
46
47
61
69
80
21
49
34
25
47
73
21
79
34
41
59
74
80
68
51
49
68
24
23
39
65
45
40
42
26
46
33
66
23
45
54
56
69
25
75
31
34
34
21
64
43
36
62
39
55
46
48
22
50
38
46
21
52
65
49
78
77
21
21
48
78
55
76
29
73
61
73
29
76
51
67
64
54
50
39
47
50
43
44
71
61
72
49
64
73
48
42
57
22
65
20
58
68
70
34
33
68
26
78
51
46
31
25
67
51
56
68
33
68
67
30
44
67
70
42
73
40
30
70
209
191
98
96
250
127
228
231
119
210
165
142
249
196
80
74
173
214
115
83
217
92
166
98
156
203
158
118
230
190
224
149
136
95
226
159
197
221
202
140
173
212
122
183
149
127
211
181
221
245
128
149
191
78
221
155
216
219
79
217
181
219
188
169
94
245
245
125
107
86
177
212
116
157
86
198
136
178
235
111
126
179
143
136
157
224
189
198
162
220
133
96
202
111
166
127
230
198
96
224
213
160
75
117
112
177
135
173
203
203
96
173
79
188
81
151
125
161
191
82
73
152
174
235
185
108
246
203
209
161
93
180
135
244
93
176
113
201
226
137
110
207
224
178
250
172
116
245
168
189
128
231
234
246
220
81
137
94
143
133
217
241
211
134
134
183
203
162
230
179
240
203
123
81
178
232
172
225
74
150
190
144
72
127
246
194
250
87
148
174
219
150
172
245
164
189
88
97
81
109
203
229
206
140
95
200
113
250
178
147
117
99
75
123
153
159
88
172
112
113
189
201
236
89
144
197
143
198
83
88
170
241
147
212
80
187
81
133
176
185
91
123
75
154
121
190
141
70
144
217
76
220
207
218
238
248
178
72
191
210
231
138
124
79
72
156
95
199
98
208
103
139
103
214
204
244
135
151
95
249
217
223
216
91
124
171
165
112
89
160
80
201
221
171
128
124
148
140
78
237
84
183
88
229
83
173
92
70
122
76
151
191
113
178
180
108
174
79
118
149
233
214
116
142
79
146
218
247
198
171
228
197
146
167
160
91
119
117
137
152
164
86
210
83
208
165
219
159
163
194
86
154
207
125
137
231
189
216
244
151
137
92
243
238
172
149
97
125
235
249
147
208
216
244
81
184
248
130
162
249
143
124
75
77
145
236
88
135
215
233
156
136
207
247
144
213
190
123
168
72
153
242
119
104
178
224
154
238
101
93
215
136
146
111
146
220
216
101
170
229
147
140
217
110
157
205
247
202
244
200
118
250
71
199
245
209
88
119
112
103
135
93
125
200
167
219
85
132
100
162
86
156
159
146
144
145
205
154
83
137
180
112
222
106
238
128
186
105
133
203
208
144
162
244
193
231
244
151
102
166
139
175
154
218
76
168
208
224
191
159
194
158
93
109
157
102
120
162
236
201
95
173
171
196
104
218
188
160
129
243
206
108
233
219
163
108
153
141
245
80
230
238
83
246
128
152
237
217
88
211
142
233
166
220
118
140
246
148
108
156
153
171
218
129
99
127
135
243
246
213
206
89
215
155
169
106
148
154
162
224
224
140
186
106
239
138
113
96
89
233
217
152
158
221
71
93
81
234
144
242
244
188
168
133
71
152
230
198
131
246
115
75
193
129
129
176
106
194
126
169
158
120
98
77
224
159
132
199
192
92
243
88
93
165
123
88
113
148
250
196
101
158
148
211
158
90
230
175
161
211
147
179
245
98
155
167
188
145
141
181
190
100
129
162
103
78
220
177
149
145
172
230
112
102
227
191
144
111
153
95
210
206
187
100
84
250
190
90
238
180
199
185
161
221
195
141
93
192
223
168
162
111
190
215
159
161
181
146
140
147
75
130
146
181
246
212
210
142
156
248
175
245
98
213
165
192
100
231
91
166
74
233
227
137
232
104
152
242
235
78
189
222
175
148
244
89
244
190
97
161
117
94
214
92
117
183
116
121
184
105
151
224
121
100
238
120
198
90
187
162
206
168
250
171
188
171
164
201
148
129
87
139
75
215
116
230
122
140
132
73
195
206
111
217
88
75
77
246
150
110
100
112
198
157
79
143
137
191
221
250
116
237
226
191
188
114
169
231
137
183
185
190
74
240
159
171
182
249
171
88
217
98
246
185
242
232
133
136
123
206
78
243
78
227
156
214
87
203
125
133
147
216
193
227
71
161
78
194
163
197
201
122
138
138
151
93
232
84
204
111
94
149
222
151
92
138
145
203
223
91
228
156
239
202
85
203
217
227
148
98
234
236
127
212
203
187
148
242
250
129
215
144
111
164
121
163
178
108
214
223
150
238
180
135
186
85
230
86
128
126
108
177
182
226
235
206
236
143
124
87
135
224
190
104
80
163
162
174
171
241
80
99
243
119
129
225
223
87
158
212
171
94
148
146
83
101
121
121
84
124
70
176
222
229
87
204
111
147
156
179
189
109
120
79
189
224
235
218
195
233
208
248
106
243
167
164
151
90
95
107
111
75
246
116
85
76
130
137
124
165
73
103
83
201
167
128
101
74
141
137
73
188
127
121
223
114
243
247
237
189
127
191
104
148
227
134
137
129
129
90
146
118
173
228
194
158
179
249
84
102
231
92
154
210
195
89
214
216
102
148
118
95
116
218
230
135
144
89
114
149
189
161
98
75
232
190
194
132
94
75
134
77
248
88
196
110
142
152
165
141
94
213
164
201
101
112
152
234
155
155
145
97
115
85
176
167
246
94
227
207
148
159
227
200
127
97
133
113
78
76
236
113
190
241
128
79
72
228
201
93
119
196
152
100
70
140
86
154
227
205
89
82
171
153
75
178
100
112
104
155
223
207
219
214
116
250
210
118
179
248
176
151
93
191
79
233
143
82
127
186
165
120
88
147
236
101
147
136
138
157
195
234
217
191
222
130
226
120
172
170
214
155
94
245
85
218
74
185
220
133
136
229
85
156
139
245
147
164
79
126
223
73
73
84
85
188
88
85
156
231
165
94
247
224
105
88
183
73
150
145
157
197
186
97
84
212
88
250
175
88
105
108
126
194
222
117
144
117
187
103
152
235
154
219
121
220
139
219
72
141
239
73
128
190
213
205
130
139
247
96
119
245
193
117
240
142
218
220
182
133
184
142
240
172
72
75
165
248
113
173
112
198
147
199
225
232
141
173
169
78
77
113
114
114
150
228
119
228
121
174
109
85
234
119
138
121
109
110
96
115
134
70
223
229
71
244
180
236
147
152
92
193
86
71
148
168
155
227
215
223
222
211
198
240
152
210
164
103
174
124
185
150
161
214
100
205
85
207
209
192
73
162
127
156
166
177
243
72
142
146
94
155
219
234
187
201
207
172
117
86
147
201
200
222
123
149
152
163
129
232
216
80
235
206
127
195
93
111
107
125
177
202
235
191
246
75
121
94
245
211
138
160
81
139
159
79
250
131
249
240
169
157
201
156
103
181
185
89
142
173
133
122
245
112
237
236
215
206
241
223
88
149
155
215
169
148
122
195
104
213
166
137
230
84
193
244
196
81
236
195
166
135
150
249
96
223
127
73
78
125
188
238
238
86
158
192
82
141
188
178
73
207
100
157
121
178
248
199
250
144
111
70
168
105
93
194
231
210
194
151
206
234
72
142
125
144
228
176
214
140
250
82
239
176
199
119
230
233
240
155
83
101
111
210
97
140
78
198
152
218
213
249
187
235
242
142
250
172
104
177
99
175
90
149
105
135
154
240
222
131
148
92
204
121
239
71
199
115
193
75
109
146
158
222
149
186
121
171
141
82
177
118
230
169
173
131
225
81
208
216
207
229
142
173
204
126
175
212
222
221
112
86
229
250
135
74
187
98
105
94
85
156
203
242
154
108
81
201
81
79
77
195
97
100
171
151
212
212
148
84
224
201
92
96
241
97
234
143
214
164
85
173
220
137
186
155
79
172
89
79
78
173
135
230
143
173
156
175
196
170
128
241
250
216
153
150
110
193
247
168
107
141
124
237
218
222
86
229
170
183
150
155
207
246
221
212
174
179
171
219
109
139
119
94
202
225
203
203
88
109
90
204
189
205
84
96
86
114
117
169
118
178
166
177
108
95
231
146
182
154
196
103
228
194
188
189
71
168
214
226
118
166
117
213
80
210
191
214
129
222
158
214
122
128
243
160
167
214
148
237
183
211
239
168
147
183
149
184
181
97
85
230
237
116
127
144
181
122
227
160
182
141
126
236
127
157
120
122
227
170
194
126
235
89
182
232
223
127
127
114
234
250
140
127
194
112
117
162
250
94
227
174
196
81
181
84
148
155
178
175
140
239
159
214
88
149
243
82
164
185
229
216
162
107
88
184
179
248
115
172
196
140
205
149
175
81
180
150
140
175
168
89
218
212
71
93
87
95
176
143
221
174
205
89
188
237
170
175
239
181
150
200
74
113
118
154
132
74
94
234
129
116
248
148
184
124
233
180
157
233
149
216
86
171
84
133
155
108
206
133
165
108
119
115
119
146
86
97
105
221
194
159
123
131
139
133
164
217
238
202
158
120
130
156
129
217
101
184
88
77
99
227
188
98
176
70
228
207
103
167
147
190
197
82
192
209
175
146
247
234
129
108
91
206
76
241
130
175
186
145
172
180
121
135
239
196
193
147
220
209
208
163
104
78
104
212
230
234
173
181
73
212
196
130
222
248
180
232
199
105
210
106
142
123
154
71
232
72
153
113
134
162
104
90
129
210
146
162
76
82
173
182
212
244
161
71
170
205
120
226
134
142
101
201
70
104
218
211
75
72
95
163
166
222
209
116
147
189
121
84
71
132
171
234
141
169
236
155
105
157
218
80
168
192
184
200
119
146
85
91
246
224
217
150
247
109
175
115
199
177
70
74
114
182
221
112
217
159
147
120
85
206
145
222
209
129
110
98
122
242
232
200
187
172
146
83
82
213
76
160
152
195
105
204
89
137
137
158
70
173
229
149
219
211
100
232
197
112
93
147
185
232
162
124
199
73
233
102
122
102
214
194
153
148
177
240
219
218
184
178
144
145
77
97
76
200
156
213
104
88
193
162
88
204
137
248
193
187
160
166
97
100
96
155
90
202
86
118
185
130
70
172
214
201
221
144
208
103
236
84
110
174
200
118
114
211
230
243
160
98
201
244
76
250
197
226
145
197
161
96
75
130
105
98
189
116
96
238
189
176
116
244
129
190
219
76
111
92
217
170
178
235
112
205
111
151
239
73
183
246
88
238
88
99
185
229
75
170
222
89
119
95
111
233
74
119
151
212
149
218
247
79
102
173
136
104
225
121
234
178
169
202
90
241
149
231
230
217
208
163
225
106
154
130
237
101
85
208
74
243
112
171
243
242
79
77
234
92
202
143
164
164
164
223
109
106
139
87
76
147
82
88
127
198
77
209
105
149
75
85
160
238
156
187
109
169
232
93
230
210
195
147
79
171
230
147
210
209
74
117
214
197
199
187
177
135
209
88
94
105
165
87
138
92
240
198
133
232
189
133
167
84
168
141
95
92
192
146
137
130
97
158
197
136
206
109
231
210
191
147
75
196
95
128
103
248
208
89
77
172
209
75
234
154
191
183
146
141
83
150
133
82
200
131
117
85
123
110
239
95
216
237
184
249
164
124
181
215
109
204
134
170
215
163
168
83
171
178
138
140
181
140
186
78
120
92
150
94
165
131
128
237
121
143
114
106
83
191
146
120
121
113
74
210
161
110
120
188
132
228
107
221
236
96
210
160
223
70
145
82
120
174
244
108
95
84
93
129
73
210
123
180
135
230
102
158
110
103
216
163
187
228
105
195
159
153
191
117
247
238
128
180
250
195
217
152
171
228
98
102
193
143
164
245
245
196
192
118
213
246
165
145
119
130
90
124
120
140
126
90
150
107
80
203
247
210
101
177
95
85
129
145
103
103
194
176
201
156
112
70
86
234
162
183
134
205
193
133
216
117
147
138
176
230
242
111
108
143
103
193
157
208
118
161
247
220
107
101
180
93
175
86
81
114
181
180
71
78
71
197
130
210
216
127
236
111
99
174
123
164
177
126
248
119
213
112
101
179
81
149
158
143
92
162
126
133
94
161
134
124
70
101
238
189
84
200
214
97
209
250
109
110
138
182
158
228
159
222
106
159
226
111
228
152
84
165
221
179
182
113
233
146
197
165
207
125
236
235
112
86
103
214
160
197
166
109
250
92
238
199
245
107
156
106
145
130
247
224
120
178
127
88
217
173
162
100
241
234
236
225
142
81
136
73
231
91
234
212
184
177
152
150
83
154
139
87
155
201
212
220
191
217
134
180
70
219
228
200
99
209
148
111
155
137
134
170
157
137
142
73
167
86
71
84
168
198
173
97
138
203
128
197
79
109
196
209
141
214
85
181
117
82
136
128
190
90
196
114
200
91
84
102
72
136
99
82
87
247
193
130
233
114
121
195
84
194
129
188
151
120
204
190
72
90
86
132
198
167
186
188
136
118
109
86
102
83
236
218
90
223
220
77
139
168
105
182
136
231
215
248
94
184
222
224
77
114
127
243
212
120
113
241
173
104
217
144
191
127
138
89
195
86
115
175
217
123
134
209
149
158
170
184
80
223
136
104
161
98
178
157
98
235
120
210
233
169
111
119
91
92
240
115
181
156
92
105
137
147
182
157
144
206
163
222
216
102
107
174
158
139
244
85
247
169
94
77
174
143
229
134
159
146
145
82
204
128
180
160
188
235
125
235
92
92
179
140
98
80
162
211
173
207
229
99
90
127
97
85
239
145
164
185
215
153
123
136
174
143
87
181
152
206
180
242
114
193
118
131
85
212
170
77
90
226
96
101
224
170
150
197
191
127
110
179
196
186
98
180
100
176
127
86
103
232
91
144
93
110
161
222
214
160
73
135
230
89
220
93
75
107
148
114
246
172
250
224
189
187
91
93
206
174
239
125
71
212
133
192
113
213
110
91
143
233
215
234
199
121
73
145
191
151
232
129
128
104
129
228
243
97
200
202
175
70
207
156
135
121
244
154
221
175
198
171
243
77
194
138
236
200
70
125
200
187
152
85
249
244
128
224
93
128
90
246
80
137
98
227
78
115
75
138
106
220
184
93
195
111
150
236
170
147
105
228
206
126
213
87
177
159
117
88
230
85
104
71
166
156
101
222
186
174
230
122
171
145
244
187
223
81
218
123
176
108
151
192
114
96
201
90
93
243
161
121
241
72
190
216
207
146
170
81
114
212
94
239
105
160
178
103
233
117
222
205
219
178
108
80
246
83
94
181
234
218
224
200
108
152
83
178
116
247
134
150
190
103
73
205
89
202
242
84
239
94
170
203
229
201
185
171
91
156
105
216
124
168
165
156
74
210
232
135
154
88
109
141
137
142
247
196
140
122
197
165
198
77
168
169
127
193
133
210
151
224
110
106
110
206
154
149
127
127
105
95
131
216
160
152
96
192
196
85
133
219
228
161
162
233
212
239
237
231
210
192
92
87
192
110
125
193
140
127
163
170
76
178
81
109
114
89
122
161
239
103
77
115
148
139
206
97
239
203
75
201
118
105
244
167
87
84
151
124
246
111
189
197
72
95
82
135
230
102
246
238
118
76
194
179
234
139
247
151
189
82
220
231
223
169
195
114
180
130
215
79
157
192
119
189
239
236
182
201
242
198
248
182
206
139
89
189
229
70
217
98
223
141
168
141
117
225
152
151
219
233
174
240
176
235
191
128
103
158
79
93
103
235
127
240
150
120
226
195
246
146
105
240
115
232
185
244
143
86
95
141
95
118
82
74
97
191
132
153
193
91
126
78
169
98
185
242
131
74
172
214
118
137
101
132
169
97
249
200
170
124
98
102
113
114
195
138
227
163
152
173
88
201
189
116
248
234
129
246
87
98
188
137
183
86
217
220
156
232
84
185
141
166
87
99
195
121
79
204
249
246
198
95
85
137
207
189
220
189
219
238
124
92
108
243
203
168
235
231
134
186
167
103
185
178
124
130
159
78
232
245
188
159
112
137
223
103
226
168
149
239
103
84
172
215
239
122
192
194
179
114
231
204
85
168
213
95
166
131
226
130
207
89
179
99
128
243
113
112
122
201
93
193
79
181
207
73
199
209
228
147
111
215
204
97
209
126
187
83
161
208
213
248
179
149
203
87
158
210
223
73
72
125
145
98
177
189
102
143
85
232
214
93
75
119
211
81
115
248
178
240
87
247
70
147
133
112
113
196
205
131
222
246
194
110
82
128
127
246
155
227
209
245
144
176
181
248
135
163
127
89
216
80
208
186
79
223
99
112
210
191
99
101
186
109
241
134
167
147
121
118
223
171
217
213
177
138
196
223
108
88
136
221
236
180
181
157
74
203
160
131
188
200
162
229
224
219
176
237
149
100
122
156
186
102
113
95
203
221
138
128
236
107
86
214
215
87
183
132
131
136
236
197
243
236
114
137
105
123
77
139
243
104
237
96
189
158
232
221
72
239
116
175
193
156
145
175
232
77
130
102
115
212
218
72
187
116
212
199
82
183
117
247
194
245
176
173
223
173
97
76
182
74
248
166
136
113
230
74
239
186
127
180
250
237
102
85
220
151
190
80
172
71
231
234
175
203
86
158
242
122
121
137
117
114
70
160
70
144
118
207
191
241
221
179
239
147
102
187
92
193
77
131
183
113
116
216
132
85
244
191
110
119
86
197
149
230
78
242
143
141
204
116
147
187
198
232
184
176
134
171
197
161
236
246
135
148
113
212
237
221
88
137
166
247
209
79
140
239
110
90
137
101
118
119
210
96
111
219
241
70
176
133
98
195
196
174
121
234
74
248
144
102
108
193
74
139
250
80
163
232
221
104
209
241
90
138
140
176
118
130
129
205
195
139
187
81
178
221
199
112
155
100
196
104
210
146
236
70
210
108
249
179
138
247
187
211
149
218
74
153
151
228
123
134
120
106
195
151
118
202
189
178
120
200
125
194
135
85
151
214
112
188
107
189
218
93
203
73
130
222
238
95
205
103
136
121
152
103
117
234
247
79
241
196
110
95
178
131
194
191
76
235
248
101
240
219
110
212
244
87
84
92
197
101
109
222
132
90
86
177
198
152
153
214
114
150
213
91
156
105
192
227
105
94
72
99
142
237
187
235
193
172
138
234
212
95
126
162
146
244
79
250
210
175
96
83
209
192
74
103
97
138
179
249
152
184
139
89
244
162
124
219
212
82
230
121
154
219
84
201
245
146
189
116
235
148
220
129
150
136
95
166
129
154
238
241
186
230
166
111
228
142
140
165
127
194
206
166
125
234
150
157
106
82
244
176
97
119
137
118
127
202
118
171
205
162
166
117
177
84
156
195
72
196
224
242
227
233
215
132
180
211
91
196
149
173
250
123
168
211
139
158
127
126
190
89
138
212
96
243
246
186
127
99
100
136
199
202
180
93
93
245
103
132
90
221
89
207
248
233
76
81
77
142
137
87
191
207
184
190
195
136
173
240
178
117
221
81
147
185
180
76
200
192
85
218
111
72
151
223
139
189
194
227
221
86
124
169
160
148
222
149
110
127
215
168
137
222
184
165
76
212
202
154
193
230
139
201
165
133
191
123
93
166
142
83
216
159
237
227
232
233
133
109
82
191
70
171
183
120
118
197
160
173
158
94
105
243
119
168
79
110
107
162
161
93
76
194
143
238
132
129
113
193
73
187
208
143
168
103
97
245
135
241
209
88
85
214
87
103
154
155
223
169
99
134
173
174
138
102
189
84
80
120
109
219
140
234
164
241
140
109
88
85
184
145
183
206
228
131
152
113
78
79
77
234
216
238
201
91
158
228
98
248
219
200
104
90
184
218
199
181
180
117
131
183
122
225
181
122
201
107
222
213
100
85
173
236
179
235
152
91
190
196
217
240
88
84
164
185
233
104
78
146
171
163
179
80
86
248
249
196
219
215
219
185
146
101
93
138
130
118
171
171
116
114
169
178
135
178
249
241
144
222
89
249
199
128
219
211
193
181
241
160
249
183
94
140
121
121
148
157
81
107
76
170
164
151
178
154
219
205
173
237
80
78
130
145
102
136
91
232
146
153
250
180
138
73
139
216
217
238
166
232
196
200
77
141
101
114
235
169
242
129
231
97
141
159
190
164
123
189
95
141
147
213
184
132
105
122
162
234
124
192
210
185
107
74
104
113
166
204
200
92
177
223
239
76
164
166
157
122
100
71
100
223
191
191
70
116
204
240
122
217
244
249
122
165
245
104
157
94
173
80
79
201
118
225
173
244
250
75
209
70
236
127
90
238
90
171
75
230
172
167
244
215
245
183
234
150
88
120
140
71
200
179
95
115
166
112
223
231
194
124
76
134
218
205
232
201
132
235
85
159
135
215
247
115
149
140
91
163
135
186
109
169
107
116
176
249
216
180
249
77
92
210
224
174
103
92
232
185
107
198
109
108
182
101
164
177
231
108
227
156
136
183
157
101
185
240
115
197
231
167
242
155
100
150
141
205
232
75
70
145
214
190
130
73
205
70
79
130
198
95
122
176
219
75
126
113
184
171
222
128
245
101
203
206
95
176
155
213
103
174
133
165
233
177
216
123
130
95
106
118
190
97
87
75
124
138
99
110
211
198
172
97
119
77
155
203
173
203
162
245
107
239
105
102
250
70
146
111
245
221
70
159
92
236
208
160
134
154
149
222
178
203
93
193
92
81
155
222
83
176
81
228
183
78
154
106
128
236
137
243
154
218
239
250
121
223
226
129
209
86
222
174
142
223
134
227
239
204
72
166
152
119
106
237
207
213
80
229
225
171
138
89
177
182
121
179
76
213
127
169
146
230
110
136
226
91
123
75
116
103
235
214
240
130
201
106
234
146
153
130
149
249
130
120
192
113
73
149
166
220
112
195
151
80
203
248
250
121
231
187
141
250
190
198
153
154
236
74
100
204
157
249
182
185
75
165
218
235
80
126
178
75
133
208
125
125
238
124
248
222
165
165
125
94
112
77
101
148
105
100
161
187
197
72
72
185
226
103
206
240
82
88
180
168
170
201
92
155
137
136
194
184
212
166
172
123
178
94
100
128
154
95
100
123
133
188
143
90
215
173
159
98
212
73
92
110
149
235
129
158
198
71
123
167
95
160
195
102
230
92
168
156
93
153
80
172
118
72
199
234
242
242
80
165
82
233
224
105
242
200
209
187
84
144
114
128
133
153
165
219
104
209
194
112
248
228
77
96
162
247
178
72
248
109
112
87
118
140
101
241
195
137
85
220
151
108
162
145
108
187
126
127
208
88
174
203
138
117
174
102
144
159
72
95
86
132
231
230
93
103
88
86
79
152
227
164
103
245
105
178
205
152
122
177
164
135
165
117
217
244
77
135
124
102
233
150
141
108
206
84
175
190
188
150
164
109
226
110
182
84
165
242
98
225
198
100
126
185
98
152
218
173
250
175
108
237
231
114
225
237
202
209
196
136
161
233
150
237
121
153
124
84
192
91
96
158
231
234
123
193
232
110
138
74
78
175
212
192
74
113
196
84
226
197
206
171
168
177
76
84
249
221
154
81
105
161
77
222
174
164
125
75
250
135
151
220
150
226
183
76
249
228
202
140
116
201
198
142
119
110
141
72
144
134
194
202
128
120
71
117
201
244
140
175
175
243
201
108
189
153
181
194
240
100
243
129
117
91
168
175
146
135
123
117
189
150
117
180
213
198
197
223
164
190
129
152
131
161
202
149
135
174
113
92
81
90
195
176
151
125
146
82
218
70
161
123
141
217
207
223
231
223
189
235
140
125
217
245
116
224
89
164
113
213
126
120
163
240
111
243
85
200
120
102
238
83
82
154
77
234
89
214
93
180
121
179
187
124
120
226
220
113
83
172
172
104
237
101
150
186
210
212
239
153
136
181
81
221
98
143
208
184
132
129
195
104
207
172
162
180
105
73
81
79
226
149
179
107
70
140
233
161
186
191
128
81
150
166
212
247
232
207
189
233
134
108
222
185
126
121
153
110
76
87
196
209
236
168
192
104
193
104
217
181
86
111
100
225
172
245
76
136
250
151
168
226
244
199
199
179
250
111
234
111
203
236
190
225
102
81
147
140
249
91
120
246
74
193
157
98
119
129
219
220
142
109
154
94
218
162
97
121
142
181
227
227
140
196
222
95
155
150
116
88
198
237
207
218
214
222
239
230
229
99
103
84
247
99
129
211
95
151
105
141
164
100
160
149
144
176
239
178
129
159
109
82
192
146
97
170
95
117
82
216
161
106
82
137
196
89
148
172
233
154
225
113
196
82
162
94
206
94
92
145
247
170
193
104
158
124
113
216
117
147
202
177
130
241
230
76
114
132
195
154
243
223
152
205
109
168
149
196
144
115
244
159
83
190
204
178
220
113
151
187
240
107
212
225
145
158
88
227
172
145
198
106
157
104
76
182
240
125
76
76
134
96
146
94
204
191
156
144
99
145
85
235
188
78
71
205
177
206
88
158
118
222
244
224
213
102
204
199
236
163
231
71
158
86
229
190
188
170
167
86
234
145
128
197
110
198
99
121
82
109
240
73
152
219
107
176
227
93
172
110
248
99
230
240
136
113
241
139
102
92
231
238
183
183
115
84
99
198
82
106
143
205
231
216
195
230
177
183
80
108
229
130
83
158
221
175
241
212
175
174
161
206
156
107
158
158
182
90
154
162
115
81
122
84
237
205
71
110
138
230
146
200
101
112
99
210
110
241
209
154
119
233
95
98
153
197
142
135
131
79
154
126
81
120
77
248
153
201
164
197
227
163
94
188
140
122
77
207
246
231
91
183
163
78
155
243
145
109
196
146
236
168
221
171
146
87
81
152
181
128
222
99
240
182
196
245
133
186
180
104
114
217
189
116
193
145
165
180
231
104
147
182
93
83
238
70
160
106
236
169
154
117
221
245
241
234
121
148
192
221
158
217
250
78
224
230
137
127
212
192
91
240
113
207
217
204
231
120
206
117
223
228
200
141
175
115
181
158
232
206
237
77
198
155
137
187
140
143
83
106
156
85
156
204
170
189
182
237
240
98
100
133
115
214
195
179
200
239
190
233
243
233
96
115
192
190
197
85
90
192
107
128
151
78
102
235
211
72
91
105
93
121
81
191
192
226
149
212
190
136
76
222
225
246
202
193
250
146
212
154
189
153
93
131
220
156
164
193
120
85
75
70
163
195
105
230
204
147
92
176
82
246
187
199
79
234
165
133
126
108
99
210
100
101
173
81
177
213
200
126
211
145
133
180
70
188
190
142
83
90
153
78
166
125
193
107
239
217
79
185
169
157
173
209
163
237
217
100
142
239
75
127
125
106
187
208
74
156
76
200
145
178
90
189
178
71
181
154
208
166
92
135
110
233
98
140
174
80
107
92
158
221
136
128
207
113
136
122
198
228
158
182
204
194
197
195
101
85
244
97
164
104
191
177
106
108
203
239
231
133
209
153
130
224
174
207
186
105
194
172
230
236
124
179
225
139
127
248
161
206
143
211
97
205
109
184
180
183
129
235
72
93
229
178
134
224
143
98
184
138
229
129
168
164
109
166
73
141
157
180
177
80
196
245
101
239
113
131
111
134
199
197
191
165
117
145
228
127
84
109
235
169
120
243
169
154
229
172
149
216
223
82
162
232
136
234
112
94
215
194
179
183
173
197
160
158
139
83
122
123
244
127
74
202
93
220
141
221
106
241
200
187
145
188
164
154
189
204
100
124
107
79
130
193
106
91
230
81
114
76
208
158
147
87
196
100
109
131
226
171
178
129
145
220
156
93
189
195
199
167
235
143
186
124
176
244
146
98
182
195
114
234
167
194
130
131
116
249
219
232
127
214
99
240
234
125
165
89
103
161
224
139
164
231
78
214
180
114
119
187
211
233
236
86
109
153
93
162
245
77
240
113
186
114
172
98
182
90
229
80
197
222
101
185
216
226
83
200
134
143
71
190
222
163
218
105
140
105
74
214
193
168
197
242
189
197
154
166
117
165
209
123
230
156
249
144
150
199
213
175
199
73
182
71
187
221
200
176
228
235
246
183
222
237
204
132
247
188
98
228
181
99
204
155
168
195
170
163
203
170
92
157
218
236
247
213
250
90
223
215
91
72
101
124
184
219
216
86
114
106
167
228
197
240
160
165
134
157
112
187
218
74
194
214
246
217
221
129
159
240
165
175
106
160
185
162
112
168
163
130
70
94
214
249
156
228
207
71
216
182
135
249
231
217
83
152
106
148
185
116
244
182
99
215
98
126
248
96
95
230
102
90
145
85
163
128
192
238
84
245
174
116
99
233
161
150
115
218
158
202
134
111
72
177
78
216
188
112
73
170
129
154
95
166
194
242
118
234
240
222
216
86
199
210
205
188
110
117
145
140
97
184
212
232
143
189
98
183
186
191
239
212
231
207
71
86
247
247
207
160
191
223
105
187
247
187
109
224
194
152
216
198
162
232
162
179
166
93
151
108
115
128
156
101
156
107
228
169
221
146
119
243
94
126
224
135
143
208
245
116
206
126
156
89
110
216
158
229
243
131
208
121
192
100
210
169
106
166
149
189
123
166
108
170
240
169
214
216
165
117
120
232
232
217
129
202
97
235
245
233
236
240
234
161
87
223
191
171
137
104
103
96
149
176
139
211
137
200
242
128
134
218
153
217
88
139
217
164
170
84
120
70
72
229
222
194
120
231
170
137
216
73
153
138
177
193
237
200
243
164
247
172
181
97
164
240
146
137
187
97
248
107
75
169
174
175
112
211
110
209
226
243
131
124
222
161
247
102
166
155
85
105
179
243
79
158
82
178
113
92
247
129
113
220
157
194
250
238
129
107
135
200
77
234
104
109
76
226
73
211
229
111
77
76
136
125
139
183
196
217
202
195
157
70
96
77
118
238
101
94
180
216
205
143
250
122
177
145
231
96
105
202
77
142
75
180
127
203
226
171
75
81
181
163
111
130
117
201
239
117
152
155
101
108
167
98
214
133
153
186
236
196
214
248
140
124
198
159
83
70
241
224
100
78
213
245
180
219
200
233
244
223
148
210
122
100
238
221
129
104
158
225
70
197
70
75
152
179
202
120
173
143
88
101
98
119
207
191
176
79
100
177
231
239
77
122
108
229
168
247
225
129
229
149
199
138
219
84
196
157
223
169
226
102
217
124
74
220
134
116
72
244
228
186
124
240
246
196
202
153
205
200
122
118
210
169
243
170
165
79
212
108
89
171
93
171
144
171
115
98
184
201
89
197
237
153
137
237
228
151
156
88
183
222
193
77
199
81
75
159
167
120
97
133
182
235
77
191
239
99
220
167
209
205
196
237
195
147
137
156
167
125
117
191
206
115
109
72
114
188
238
189
112
131
198
99
119
137
119
166
240
155
196
184
142
157
235
248
200
82
190
158
231
186
181
204
178
115
161
127
130
96
235
73
168
126
235
149
70
226
106
206
88
163
250
174
90
243
218
164
70
98
205
121
73
223
127
92
250
148
95
204
126
133
202
162
219
141
127
150
183
230
218
74
167
191
115
137
208
155
75
226
77
84
103
197
91
226
186
74
136
151
71
104
227
74
88
84
170
120
143
180
162
222
128
117
137
142
223
181
86
145
77
143
217
190
175
228
112
250
174
164
168
108
93
206
90
115
206
170
244
71
115
72
175
224
122
201
216
129
99
180
178
114
207
89
155
80
177
169
105
128
185
91
224
142
240
233
90
172
148
92
200
247
72
110
101
195
121
122
206
130
178
190
215
244
176
236
188
120
133
118
162
173
103
137
94
143
213
168
208
192
133
135
177
151
187
105
234
189
138
199
205
110
202
234
142
240
133
213
192
140
217
212
190
104
76
86
216
176
112
149
125
198
175
143
231
223
140
74
135
153
78
191
132
207
109
71
105
161
112
171
183
230
144
98
84
155
113
232
89
197
191
114
133
134
163
244
123
126
82
151
169
92
173
222
203
205
210
240
81
199
238
101
238
187
185
112
188
177
198
210
233
200
235
220
220
246
133
107
107
202
117
187
224
145
227
73
204
84
221
87
248
198
169
221
146
143
227
180
123
177
241
173
86
136
99
169
176
231
129
214
219
188
116
89
80
150
227
80
165
230
162
199
228
238
161
144
247
194
217
237
106
170
164
246
123
241
238
196
135
106
196
150
91
94
130
74
159
83
167
195
169
240
73
109
97
102
128
195
204
126
204
246
175
170
70
223
195
223
213
233
88
85
131
234
147
78
72
193
213
184
84
91
220
116
84
84
233
140
120
81
179
135
124
115
246
117
90
97
246
72
100
163
189
228
176
139
96
130
203
123
211
237
73
218
114
75
207
89
202
151
247
160
166
128
179
223
158
137
123
211
136
208
130
178
184
227
132
95
225
244
70
152
24
53
61
21
23
35
58
47
31
71
45
47
52
50
44
54
73
55
25
27
42
53
80
51
49
71
67
36
61
57
53
40
42
75
22
76
61
49
60
53
38
64
72
39
23
57
20
41
21
35
67
71
37
76
67
42
67
38
69
61
61
78
58
22
40
53
59
58
76
63
54
44
68
51
41
76
34
53
46
43
52
26
49
27
25
21
44
59
48
38
39
44
47
37
35
63
74
38
49
53
41
64
36
46
39
68
39
48
80
21
26
68
47
38
38
27
72
67
32
78
50
63
57
56
52
46
58
60
57
56
37
64
50
48
65
53
78
74
45
35
36
27
53
61
25
62
34
72
29
34
20
51
20
52
68
54
41
47
20
24
48
55
67
63
55
80
69
34
38
25
48
20
26
48
60
58
75
52
73
27
60
67
26
74
74
46
33
80
63
43
64
32
62
49
61
54
58
47
75
35
51
38
69
79
67
78
78
80
50
44
62
40
54
45
60
48
58
56
28
39
71
42
79
51
39
60
70
72
70
31
72
31
36
54
40
22
22
55
80
72
48
76
53
49
44
52
61
45
62
45
45
45
72
35
43
66
68
78
32
67
22
66
63
26
53
36
27
31
37
80
73
51
68
71
79
23
35
26
49
57
72
28
61
64
23
54
60
65
20
64
66
28
61
39
73
64
42
26
34
34
61
80
44
35
28
46
61
23
21
65
79
73
61
70
41
35
29
61
63
46
40
23
54
58
73
78
71
43
40
65
63
79
44
67
45
44
30
52
48
77
80
36
27
31
37
44
29
50
64
41
72
53
54
74
42
72
59
32
56
41
28
30
34
49
73
31
29
78
36
25
62
71
64
65
42
38
67
35
56
77
47
68
61
34
44
28
57
65
68
49
55
38
70
73
25
62
78
54
66
66
31
28
38
52
37
41
47
36
73
51
71
55
53
78
77
69
65
61
78
56
52
76
21
80
25
62
24
43
26
66
75
68
80
26
78
61
44
54
63
44
73
41
63
22
73
27
72
34
45
47
37
49
67
26
30
66
42
41
62
41
62
58
80
23
77
75
80
77
43
37
24
24
34
50
57
50
62
76
70
42
51
49
77
52
39
69
69
73
73
70
54
75
30
75
62
67
61
29
44
39
63
35
67
24
31
23
38
56
58
67
42
56
59
77
53
45
75
30
49
37
39
31
80
62
46
36
41
30
46
27
73
37
47
41
26
62
25
54
25
73
45
51
40
70
43
20
48
54
54
59
39
23
73
64
69
64
73
72
51
53
46
24
51
29
48
29
49
49
73
31
67
30
72
45
57
71
70
74
33
71
37
32
30
70
63
79
34
71
68
33
74
64
46
27
62
46
32
46
41
49
29
34
55
62
62
68
80
35
48
70
21
67
28
61
71
32
48
38
37
28
59
43
40
79
45
48
69
32
59
27
38
51
42
64
37
25
51
49
45
57
62
69
78
42
22
21
35
70
68
60
66
33
36
58
65
37
33
30
27
52
40
68
34
61
65
51
49
77
54
36
50
36
33
62
41
44
61
77
65
20
51
35
37
31
33
26
51
43
53
44
24
72
77
68
46
75
29
37
39
55
71
24
52
31
63
75
27
35
69
40
50
79
72
76
56
39
20
50
22
49
29
33
32
60
21
34
24
70
71
80
80
75
72
79
53
60
46
40
66
38
48
32
72
26
55
44
73
58
47
32
73
32
62
66
55
70
64
78
39
58
24
47
76
24
61
33
75
25
41
28
63
78
20
23
79
37
64
74
62
45
75
59
73
41
43
69
30
43
38
20
78
44
52
32
57
63
62
74
33
45
71
52
24
23
66
34
39
53
56
78
47
29
62
45
28
47
38
28
47
80
44
57
63
25
79
45
32
31
66
61
38
60
23
55
32
66
49
59
39
65
46
48
67
53
40
25
45
45
72
80
57
57
73
77
79
35
25
47
70
54
79
33
73
39
24
79
22
41
60
73
27
52
79
79
50
31
74
21
77
78
63
36
79
37
60
44
35
46
26
23
43
29
72
46
35
61
47
55
55
24
45
49
44
45
75
26
42
31
37
25
63
22
49
21
32
69
29
41
22
33
46
45
54
42
80
66
51
24
48
45
34
20
41
37
23
79
36
43
40
36
65
75
51
29
69
59
61
50
60
67
50
71
70
66
57
62
41
35
75
75
33
22
29
20
25
50
48
36
58
25
64
23
22
51
77
50
43
42
35
80
27
26
38
52
27
74
20
24
20
33
60
70
78
45
47
53
36
65
22
41
35
50
74
67
74
32
40
32
36
30
75
34
35
34
53
65
73
41
61
52
36
33
23
64
45
47
47
76
78
29
70
25
25
39
70
24
42
70
34
42
30
46
34
31
55
51
69
52
78
36
75
31
59
49
65
45
61
58
64
22
27
41
29
80
59
32
34
38
33
54
77
71
29
68
72
66
39
64
25
29
26
20
22
40
70
48
60
59
47
50
36
67
40
28
33
39
65
61
42
77
33
56
61
46
22
57
27
21
70
56
21
77
22
50
54
21
60
78
77
64
33
45
52
66
79
52
23
33
33
36
55
44
60
71
67
42
40
76
24
73
73
69
76
79
72
37
53
78
43
50
36
24
23
72
40
72
38
55
35
27
44
65
59
27
66
33
51
39
24
71
34
44
74
65
39
55
23
45
80
47
39
22
58
74
77
31
75
22
47
63
75
47
50
58
60
77
78
34
67
59
73
41
50
61
47
70
22
28
56
69
44
64
33
24
36
53
54
70
52
79
56
58
62
24
78
23
58
56
39
63
68
39
35
66
54
28
37
27
64
72
56
64
68
71
22
24
27
78
35
23
59
72
64
20
73
43
61
63
70
73
30
27
38
23
56
49
77
55
28
40
32
22
37
49
68
47
39
44
39
69
74
33
44
34
48
52
39
33
20
22
75
59
35
37
68
74
20
41
41
48
38
38
38
33
43
44
61
26
73
31
34
72
24
31
50
67
76
65
78
31
58
61
47
55
44
25
57
40
50
40
38
25
25
31
25
60
21
22
80
62
29
26
68
77
49
69
53
37
45
42
67
72
54
27
54
59
68
25
58
60
80
74
56
74
63
51
68
67
56
54
24
52
26
25
23
23
22
35
32
51
65
39
49
49
65
65
72
57
56
67
80
71
23
61
72
67
45
25
56
22
53
44
23
25
51
51
22
35
65
43
24
28
38
30
54
56
58
61
39
80
37
21
56
68
68
66
64
49
74
54
36
66
25
78
63
63
67
68
35
53
79
80
65
71
23
49
25
69
62
46
70
25
25
79
33
24
21
32
47
78
68
47
35
38
62
26
62
27
37
42
74
60
61
33
70
33
20
47
23
21
74
34
40
63
58
30
69
22
53
43
75
68
63
75
49
25
57
72
30
54
38
63
24
58
78
66
56
25
63
40
29
46
58
80
59
49
34
37
42
29
49
52
21
65
40
20
52
32
78
58
30
72
37
35
71
52
45
23
23
39
41
46
38
76
30
36
37
48
60
69
59
31
64
76
67
35
66
53
60
70
32
46
53
29
68
26
64
69
22
64
53
34
67
61
59
61
56
50
48
70
33
53
63
37
61
41
53
72
32
68
21
25
20
28
80
60
77
48
64
76
73
52
56
62
77
67
27
67
50
52
37
29
65
75
37
79
75
37
73
20
77
33
73
67
39
59
26
66
23
35
32
48
29
64
39
40
54
76
59
21
80
37
39
59
64
33
33
27
27
50
60
51
48
61
77
53
28
44
79
55
37
31
62
53
30
30
45
73
27
44
69
25
34
66
77
80
80
68
27
57
31
74
30
39
73
30
67
22
38
71
59
56
51
22
54
75
68
45
39
47
74
42
35
46
79
29
51
32
41
70
52
43
41
28
60
27
60
39
36
39
78
58
76
53
55
44
25
21
50
73
80
76
57
51
44
74
25
29
28
79
74
21
45
64
43
58
56
39
52
43
22
42
38
47
43
79
43
72
21
23
28
78
26
38
78
33
23
25
64
64
71
38
63
50
61
33
28
72
25
51
65
68
32
72
61
57
53
53
35
35
37
68
40
79
62
27
63
47
38
20
56
74
33
24
45
80
55
69
27
49
67
53
50
47
78
77
21
48
37
24
68
51
27
44
48
43
34
25
67
76
25
20
20
63
67
56
62
38
61
60
30
54
55
43
61
46
40
44
72
43
36
57
51
66
52
38
42
55
29
38
68
45
45
59
69
63
69
57
73
48
76
29
32
61
29
67
66
59
80
59
50
52
76
80
52
71
71
61
45
29
68
26
73
23
28
73
40
34
52
47
49
68
48
32
35
20
59
52
30
52
30
44
63
42
30
42
41
32
77
24
66
57
70
47
52
62
23
50
77
46
77
53
75
59
80
44
59
38
79
34
69
76
52
71
64
22
69
49
49
67
58
74
51
53
29
63
74
58
72
46
63
79
56
31
78
41
49
27
24
38
51
47
53
28
32
58
66
24
58
69
32
77
35
69
27
39
32
27
40
25
66
51
79
47
67
66
41
51
29
45
21
40
45
61
54
76
80
55
63
38
32
35
42
22
63
80
26
35
56
67
30
27
29
39
56
62
61
74
50
65
61
20
39
61
72
47
39
64
43
64
38
33
46
74
75
67
71
44
53
34
43
22
62
35
43
79
38
48
73
42
27
66
80
72
58
39
49
55
43
78
77
49
72
78
53
43
78
70
24
72
30
65
73
64
41
65
79
54
65
38
24
68
61
51
78
33
43
23
56
34
80
33
44
25
22
45
41
36
32
61
42
31
71
57
42
47
54
35
23
29
51
62
73
27
34
36
77
79
56
43
35
32
26
24
33
77
34
60
38
67
20
80
55
20
35
73
21
20
26
43
78
46
27
41
70
75
76
45
29
40
65
51
53
25
71
40
79
53
40
44
34
74
74
28
79
66
52
48
54
66
58
58
74
44
64
68
66
48
61
25
62
32
34
79
54
65
77
78
72
79
68
69
27
61
52
45
36
51
24
26
76
26
52
80
42
77
68
25
23
55
20
70
59
60
43
21
50
47
54
65
31
37
21
55
62
73
41
26
70
47
65
78
22
74
73
30
33
78
56
20
48
34
41
73
69
26
25
73
51
45
45
33
34
43
51
31
76
75
50
41
35
66
59
42
20
21
78
45
37
50
70
24
74
24
26
45
36
58
35
20
65
22
26
54
69
48
65
37
21
78
51
28
37
79
63
52
28
79
59
74
37
78
61
29
40
52
22
64
79
72
46
62
23
55
57
75
27
54
22
52
28
56
36
63
21
49
67
32
75
38
49
70
71
57
32
24
30
80
23
29
73
40
68
20
77
49
36
37
53
30
52
45
76
42
53
40
50
72
44
35
65
48
43
73
44
28
37
59
54
44
23
70
76
25
21
36
37
73
68
24
68
77
50
48
53
31
34
40
47
37
35
44
22
44
54
56
47
53
60
63
24
23
43
40
32
73
38
27
75
44
63
41
52
76
35
55
57
40
67
56
57
45
22
66
64
32
53
29
60
80
68
55
55
71
63
35
45
51
64
77
41
46
68
42
75
47
29
67
56
40
38
43
25
69
41
46
42
75
58
63
77
74
52
53
77
47
61
46
56
80
48
71
43
23
35
30
40
67
38
71
37
75
35
49
36
66
64
80
41
40
46
52
24
40
68
68
64
41
58
43
36
62
46
79
57
60
54
37
74
28
42
50
42
20
53
62
80
36
73
23
20
70
70
52
65
43
75
45
21
53
48
25
69
38
63
46
71
57
24
55
57
69
74
63
43
52
78
58
74
75
75
70
65
32
27
59
41
62
35
66
51
21
29
22
43
67
50
69
52
76
53
21
63
56
26
33
65
24
54
21
36
57
72
51
76
58
41
47
27
38
28
65
77
36
66
23
61
25
69
66
36
43
27
75
31
29
71
23
24
78
26
36
28
27
31
68
22
59
29
61
22
55
47
71
40
26
77
67
58
32
62
50
76
23
45
62
27
57
21
79
49
58
37
41
64
79
52
38
48
75
44
42
38
41
25
74
71
74
75
27
75
44
31
55
75
40
22
47
48
49
60
25
44
50
42
79
29
56
57
80
39
56
61
40
32
21
46
32
52
20
25
66
23
35
64
27
53
74
33
80
52
56
74
67
37
56
36
41
49
77
21
48
36
26
47
50
63
30
63
34
59
41
20
26
67
66
51
53
24
53
63
48
65
26
60
21
67
30
41
26
29
67
54
48
43
44
79
58
56
79
76
75
46
71
80
48
60
23
24
74
67
37
30
59
41
22
61
48
73
75
49
52
59
80
37
30
59
27
29
78
31
26
36
64
31
25
76
66
26
49
78
45
77
38
39
63
48
46
72
44
37
21
62
41
53
50
22
47
64
59
64
78
48
52
56
68
37
56
34
45
57
22
51
72
22
27
77
77
67
37
22
28
32
31
52
61
70
58
68
29
46
44
64
37
23
59
72
20
55
33
52
68
54
39
75
80
43
60
58
49
55
22
24
54
25
26
53
49
56
77
48
51
46
33
41
67
54
54
24
68
23
56
51
62
20
71
26
76
32
50
35
37
21
67
43
20
48
21
60
29
78
25
53
34
49
43
66
40
53
47
59
68
37
48
67
57
79
62
31
48
50
71
32
25
79
31
75
21
51
74
64
61
49
61
27
67
24
35
47
55
20
21
34
67
65
54
62
74
30
69
57
45
51
80
36
58
42
72
39
74
30
49
71
29
61
27
66
57
54
42
58
54
57
49
54
20
51
50
28
56
56
44
62
28
66
51
60
71
47
67
61
73
72
27
26
42
80
22
73
39
62
29
27
66
39
35
32
60
79
32
50
52
36
80
43
44
55
52
34
21
30
78
61
26
37
46
61
24
30
79
69
62
63
28
37
20
53
28
37
45
25
55
44
63
34
67
63
21
57
26
76
51
49
22
62
35
38
49
67
48
58
68
51
23
55
55
37
58
33
52
64
44
40
37
61
23
70
50
78
79
49
61
64
25
76
48
25
73
39
30
62
77
58
29
74
32
30
75
61
59
72
60
78
43
37
20
32
64
57
51
50
54
34
44
51
55
26
43
77
63
48
29
62
42
33
59
61
47
41
49
33
80
68
42
76
25
20
24
65
39
30
55
77
58
65
59
46
56
46
20
80
35
40
56
27
51
23
30
25
75
72
74
60
31
56
68
44
65
36
76
76
78
55
67
51
73
34
56
51
46
59
80
41
56
62
61
47
23
22
80
24
37
57
80
53
49
31
20
75
76
21
51
21
41
73
23
45
63
44
55
43
78
61
27
24
53
42
77
31
67
61
61
80
20
31
31
32
62
49
46
61
60
23
50
22
45
42
22
35
68
69
78
35
57
53
73
60
60
50
49
21
29
50
34
39
31
28
53
27
73
65
66
49
48
20
70
48
22
51
36
77
57
24
47
50
60
30
58
41
30
76
72
74
33
69
71
60
57
47
37
46
29
33
47
33
29
33
72
33
48
74
23
37
27
21
80
23
32
36
44
55
32
63
57
74
21
27
63
44
61
56
68
70
54
63
38
58
38
39
45
62
70
68
48
23
35
71
41
35
69
60
44
66
32
68
30
48
28
36
61
38
32
74
31
67
29
48
23
53
36
42
41
53
27
72
71
20
49
22
77
77
70
22
32
60
62
25
54
40
64
47
77
40
51
54
56
50
21
55
40
45
47
73
48
68
45
43
74
30
41
52
52
76
66
51
56
78
27
50
25
71
76
29
47
44
32
78
64
23
56
36
63
41
48
35
41
58
62
35
70
79
68
51
24
47
33
55
76
46
22
40
60
62
42
68
51
54
75
39
23
68
73
47
65
39
25
37
25
45
54
30
35
20
73
46
58
29
49
56
45
25
43
72
70
42
50
39
76
25
37
31
63
65
22
21
53
27
66
25
55
66
78
40
45
42
75
65
29
32
39
26
78
38
31
73
79
72
66
35
46
69
63
74
53
71
64
54
29
33
77
61
69
44
52
22
56
55
33
63
54
55
22
46
48
58
33
67
66
34
52
32
68
50
25
70
35
65
69
74
38
43
35
55
70
33
76
24
39
43
27
29
56
73
51
20
33
62
36
58
76
34
79
51
75
46
55
70
52
50
23
67
29
56
20
65
57
29
22
80
61
65
68
22
74
22
38
29
49
78
29
54
34
79
68
35
72
26
46
47
21
74
26
66
54
33
25
48
48
42
79
37
35
78
24
34
25
61
78
62
26
20
42
22
20
49
75
60
66
28
47
33
70
66
28
73
20
60
68
62
54
22
70
26
33
79
31
78
67
41
35
64
54
44
67
69
55
38
50
66
57
20
80
59
45
65
28
60
78
50
28
41
79
60
52
21
32
68
70
40
68
42
68
46
75
59
54
65
41
41
68
36
29
44
45
51
36
25
74
27
55
61
32
33
66
69
43
54
30
76
58
64
35
57
53
73
23
64
41
68
76
33
59
30
41
37
64
64
69
80
40
63
33
49
75
40
52
35
42
60
23
32
27
41
70
65
48
29
21
76
63
47
57
39
80
22
23
40
36
53
27
73
65
55
39
59
68
48
21
25
58
57
57
43
35
46
24
65
29
34
61
28
53
29
36
80
32
29
57
39
40
33
78
34
38
57
39
79
32
71
52
60
36
34
68
39
42
53
51
50
76
32
36
43
46
77
43
65
34
70
20
75
54
34
55
50
54
68
23
23
53
21
69
59
59
56
43
65
56
76
33
75
59
40
46
73
23
46
40
41
61
71
47
34
59
66
76
42
31
47
69
79
21
29
29
36
23
65
37
64
64
48
75
77
73
41
25
42
21
62
32
31
51
45
46
74
70
67
36
27
48
70
79
50
32
72
75
25
43
80
77
72
62
22
57
33
74
66
69
24
30
64
54
41
28
56
79
74
40
50
64
51
52
37
59
65
33
40
23
43
54
36
49
64
40
45
76
66
28
35
20
54
47
70
74
64
47
55
56
20
74
37
69
60
74
29
49
29
78
44
44
78
35
39
75
55
69
43
57
77
48
26
58
51
61
35
74
52
70
61
44
62
30
22
29
41
69
21
62
61
50
71
57
49
61
45
27
79
35
57
20
61
64
61
59
48
22
20
49
37
76
58
69
79
28
76
28
48
30
65
28
62
75
34
31
45
77
31
77
64
41
57
67
27
32
30
31
41
39
21
73
21
34
73
55
54
57
65
48
74
23
70
57
25
80
41
72
35
78
36
73
69
65
59
34
36
44
21
35
76
63
34
69
66
59
61
38
69
51
53
30
42
67
61
49
62
61
49
32
51
28
46
31
52
60
39
37
22
67
72
30
78
50
33
47
49
60
21
34
45
33
70
28
79
53
27
31
30
33
33
63
80
22
22
33
68
32
50
74
56
54
35
64
62
51
58
31
56
67
35
57
48
21
80
31
44
72
57
22
45
72
37
72
66
20
70
44
51
78
23
72
69
75
48
74
58
26
27
23
27
38
67
44
42
38
55
56
20
43
21
35
78
62
57
69
47
33
73
47
23
42
33
59
30
69
58
32
71
78
45
26
71
44
36
46
39
67
53
47
65
46
25
27
40
60
42
21
38
30
39
30
21
24
45
21
60
39
50
79
40
71
41
43
74
65
21
62
40
80
42
25
47
26
30
30
24
76
65
62
42
54
57
51
77
44
61
26
39
79
65
77
44
57
53
78
60
33
68
65
21
41
33
52
49
80
78
65
79
39
39
67
60
33
78
27
31
50
28
21
58
77
77
65
56
41
67
46
46
32
71
60
79
42
80
27
54
50
40
57
68
22
25
77
38
70
49
36
29
79
45
20
41
60
79
79
68
29
77
53
41
79
34
21
63
71
44
79
62
60
27
62
37
67
34
38
70
51
20
34
38
76
79
34
69
47
28
79
25
46
74
39
28
72
66
22
42
32
65
59
69
76
35
25
63
66
63
22
33
42
73
23
56
43
45
70
77
29
60
29
46
33
69
26
80
33
65
35
79
41
80
57
21
73
53
27
54
28
31
53
25
62
54
68
75
47
71
78
29
75
23
29
54
21
48
43
31
32
60
41
31
21
51
37
67
38
24
61
76
73
30
53
26
31
26
22
53
62
72
70
23
22
59
51
27
48
79
51
40
58
53
75
22
72
23
40
64
40
23
63
70
37
48
27
80
66
31
79
25
31
71
72
56
28
27
30
50
58
36
74
64
43
35
73
80
39
26
59
45
48
38
59
55
44
36
31
68
63
32
70
31
65
78
67
52
27
38
48
63
36
41
47
54
74
50
33
66
72
80
30
49
75
46
43
63
32
43
27
26
34
34
61
55
31
37
70
76
37
56
71
80
40
46
37
58
41
67
39
60
20
31
54
20
75
38
29
27
27
60
68
48
78
57
64
25
43
58
79
27
76
27
34
47
71
29
64
33
76
29
30
67
36
31
32
37
48
37
49
74
74
48
74
40
43
46
22
24
39
57
33
74
46
37
37
42
77
36
62
74
53
57
73
59
22
59
26
50
49
26
64
76
52
56
51
51
37
73
51
59
43
47
74
70
74
70
76
61
79
40
31
59
70
54
57
53
70
32
66
29
72
24
35
73
53
28
71
39
54
46
46
37
30
64
79
20
69
72
62
26
33
67
37
46
64
75
69
42
72
57
36
36
77
22
31
41
47
68
59
22
45
58
49
48
69
35
45
79
60
68
79
33
34
69
33
39
25
29
33
45
33
44
28
38
64
71
29
52
43
80
39
73
24
28
73
45
63
58
61
70
65
65
59
47
26
25
75
35
70
25
60
48
59
63
63
64
51
44
24
45
23
72
79
56
48
22
39
22
69
23
33
61
29
40
41
21
43
79
58
26
45
56
77
63
44
23
73
59
40
42
45
76
74
49
32
49
67
49
21
21
43
69
66
50
63
44
59
44
59
46
28
44
64
68
55
31
30
27
51
75
66
33
43
23
42
40
54
77
65
68
38
74
24
65
27
74
27
22
67
45
73
73
22
50
29
64
54
75
67
29
50
80
57
20
38
60
61
26
21
52
75
56
58
50
65
78
57
38
31
30
73
32
50
39
33
32
28
24
61
63
80
69
79
76
78
74
33
54
45
33
23
50
69
61
74
39
53
20
58
62
30
77
27
21
38
64
79
26
23
43
35
50
45
44
58
54
73
64
58
73
65
33
53
20
57
60
47
26
53
43
50
25
20
49
44
39
68
46
20
22
48
49
45
45
25
61
27
75
75
69
47
74
58
66
48
42
37
54
24
56
74
72
78
56
27
30
58
77
59
21
25
56
53
41
45
42
38
79
22
31
74
70
80
50
38
30
55
57
70
26
71
39
39
60
23
61
75
66
77
25
51
23
64
59
40
33
73
43
32
64
68
42
49
39
34
40
79
22
52
58
23
73
80
59
38
63
69
63
37
70
28
46
77
35
36
52
60
23
73
51
56
58
53
73
49
28
41
35
73
24
77
54
65
41
54
72
52
73
22
58
76
69
33
59
52
67
33
78
76
34
27
46
48
28
24
70
42
77
80
44
47
21
47
36
75
55
32
41
73
75
40
78
63
63
44
39
42
65
76
25
31
64
70
52
63
42
79
79
67
64
38
24
50
21
27
57
68
22
43
27
22
57
63
36
31
42
63
43
69
78
51
43
38
46
53
70
64
53
44
52
48
55
56
66
29
74
33
67
66
65
40
27
45
65
73
48
42
37
43
62
23
55
23
69
65
79
29
37
73
62
42
62
66
31
55
70
53
68
26
66
22
71
78
26
50
22
68
63
28
67
73
30
54
51
28
55
55
60
39
31
32
27
67
79
69
67
49
33
76
20
50
66
42
48
45
31
71
20
24
48
51
36
53
32
26
46
56
54
72
77
34
44
74
22
59
38
43
20
41
78
73
21
34
50
34
66
34
75
56
69
63
72
29
48
79
55
53
39
59
72
47
22
39
31
67
65
27
56
23
65
73
47
23
52
72
62
46
50
48
34
24
80
42
22
70
66
79
63
42
32
40
29
77
76
42
75
70
31
77
60
37
28
68
25
70
23
80
47
23
61
59
64
47
33
47
36
23
51
38
32
77
77
80
65
39
67
27
62
59
31
50
37
25
67
73
22
35
35
55
60
49
21
67
64
36
21
36
69
75
61
77
71
50
36
45
42
53
49
49
65
72
68
40
47
76
50
28
60
39
22
70
51
36
75
36
26
20
31
30
40
62
37
25
20
71
27
80
51
73
62
62
30
55
34
35
23
63
27
65
30
45
28
79
70
72
51
55
50
64
52
74
54
30
20
69
45
65
77
34
45
32
25
52
49
69
50
79
58
22
29
52
64
76
62
69
54
26
56
80
34
40
39
65
25
37
73
53
38
30
50
61
20
24
20
32
70
65
76
43
60
38
55
61
73
31
33
29
35
55
38
36
20
39
58
24
41
49
25
65
73
23
55
72
30
65
37
42
60
30
60
25
62
22
20
25
38
62
52
69
54
25
38
80
22
21
72
45
35
22
70
73
43
21
25
74
60
69
61
21
38
64
49
64
31
41
38
53
45
30
30
51
55
48
46
32
21
35
21
23
60
29
21
51
30
60
33
78
47
24
34
26
66
44
59
74
30
49
22
51
44
49
58
67
44
65
53
51
44
50
76
43
38
60
52
46
52
58
78
50
54
75
41
40
57
53
70
34
61
37
34
48
65
33
33
34
61
69
52
64
70
48
55
51
68
43
78
30
63
45
59
36
42
61
74
68
36
32
26
54
68
33
79
32
31
69
64
22
75
32
25
52
50
45
31
49
40
74
78
48
45
72
66
24
60
69
64
36
69
49
46
28
62
70
33
43
74
63
57
73
31
54
35
27
77
47
45
34
23
36
37
23
50
41
20
50
64
28
57
76
63
61
54
51
29
22
54
26
29
77
24
69
51
20
69
58
65
74
40
68
28
71
22
50
37
77
46
24
53
50
43
46
79
38
56
37
23
76
34
75
36
72
57
20
48
34
43
56
43
58
46
33
71
42
29
39
24
72
74
66
78
67
40
35
80
50
67
74
59
75
20
58
36
79
53
26
57
66
65
42
39
29
61
27
27
72
48
21
37
23
55
50
66
32
31
77
78
23
61
41
35
23
41
63
34
24
77
55
21
65
38
30
31
31
36
43
26
69
55
70
54
38
75
48
75
33
27
21
24
46
25
27
35
46
44
45
80
68
47
51
79
68
23
47
24
51
54
73
38
52
20
70
63
29
46
26
59
43
34
29
33
21
27
22
38
39
43
49
31
26
64
63
39
47
77
67
72
49
74
46
48
50
80
76
63
40
73
74
64
72
44
74
45
28
75
41
60
23
47
53
62
31
60
24
29
75
29
22
79
79
29
48
44
65
31
60
40
43
75
24
55
37
29
59
61
77
56
44
24
50
52
33
44
47
28
24
40
27
40
24
73
67
60
69
47
48
38
34
69
45
38
77
48
63
44
37
71
63
20
80
60
69
41
79
47
74
53
75
23
24
47
67
25
50
56
79
58
63
74
62
44
25
73
32
67
30
76
73
57
56
44
25
31
35
26
38
75
59
26
54
44
67
59
51
22
69
64
58
64
27
43
39
72
21
49
62
26
54
51
30
64
67
25
34
50
37
71
80
52
53
67
41
23
27
60
28
25
46
74
72
76
71
75
26
46
27
26
53
58
63
42
30
35
35
35
43
45
40
33
63
42
44
76
60
63
65
55
31
80
42
39
30
46
44
39
57
43
42
33
37
30
78
68
46
77
71
26
44
45
40
27
56
34
72
52
36
71
42
57
58
22
63
31
51
59
80
42
54
71
65
40
60
50
27
22
45
76
30
67
72
43
50
45
20
24
28
37
40
28
46
51
20
59
73
78
41
35
39
67
24
66
50
66
41
57
48
79
63
31
40
57
61
60
31
66
64
35
48
42
47
40
44
37
80
20
45
52
71
72
30
54
62
66
34
53
33
78
64
47
26
59
80
49
27
30
73
50
68
58
22
59
32
63
59
73
42
69
28
63
80
68
65
32
21
71
79
55
75
58
51
44
66
66
22
33
42
33
29
61
23
59
32
25
73
62
66
66
41
22
73
30
79
26
78
31
66
76
54
74
38
59
25
28
78
25
47
80
53
79
79
80
49
28
58
33
45
55
24
31
44
35
59
62
30
65
34
38
73
41
24
35
76
45
59
73
31
76
24
31
53
72
63
79
75
31
79
76
75
28
60
47
51
48
37
33
64
47
21
34
23
32
74
71
76
58
50
71
72
34
47
25
24
53
70
24
68
65
61
47
79
42
56
59
63
56
56
80
63
31
65
30
21
56
44
33
24
76
45
43
77
60
47
47
47
68
23
23
28
35
74
39
70
77
54
64
30
75
75
37
52
52
52
37
45
59
56
37
41
79
30
55
60
51
21
25
72
23
30
27
59
77
70
80
49
26
78
77
54
49
26
46
42
62
40
68
45
65
28
69
40
74
64
31
21
32
76
45
26
65
46
45
22
34
30
22
78
37
24
42
24
76
43
64
56
46
78
39
75
22
53
63
60
40
56
73
31
41
42
66
27
44
57
49
51
80
63
34
48
66
21
20
52
29
25
35
42
63
30
29
53
55
56
72
68
31
54
58
74
56
58
20
57
54
56
61
37
46
44
21
23
37
46
23
31
54
34
47
21
70
31
77
28
61
22
23
26
50
71
64
64
24
63
61
65
33
54
79
44
33
43
30
35
78
39
66
69
71
57
80
62
64
74
70
22
67
49
71
29
30
45
78
37
34
74
47
75
44
78
45
64
43
44
49
49
69
42
78
29
38
27
40
79
67
44
45
21
40
41
26
53
76
20
76
36
65
44
31
39
23
61
77
26
64
41
74
32
56
47
70
75
37
68
40
51
51
60
80
61
63
49
41
57
22
21
30
52
58
70
42
79
30
39
34
44
72
37
59
70
49
61
27
27
57
32
64
62
71
35
63
77
70
48
44
71
39
37
20
79
30
67
71
45
39
63
51
35
38
33
56
52
62
58
42
72
28
30
62
44
42
74
77
68
59
53
38
39
73
65
27
45
60
37
42
59
75
22
52
48
31
54
23
66
54
23
78
42
55
51
27
67
25
64
51
69
68
56
43
48
24
59
47
40
42
38
149
168
246
78
212
71
239
138
179
217
204
221
135
116
137
134
206
119
139
207
94
198
232
170
84
115
118
117
182
203
197
101
100
240
97
84
207
156
190
207
75
84
242
224
126
124
159
96
146
103
176
205
129
174
116
123
237
114
221
70
150
236
241
152
163
209
203
170
236
157
132
153
179
72
76
226
72
134
73
120
161
140
136
153
89
101
113
170
109
163
124
132
215
93
203
231
106
146
151
194
160
72
205
174
169
209
236
81
101
144
158
84
71
134
207
235
128
124
240
177
161
86
163
160
177
186
112
153
173
225
227
174
134
123
73
204
151
70
246
140
118
166
80
150
176
201
87
212
161
147
103
153
73
143
201
230
78
191
240
178
188
229
128
73
243
125
226
230
86
146
94
86
101
188
154
102
221
124
153
72
189
134
203
164
198
127
159
231
103
174
247
113
184
155
82
184
147
245
150
78
183
119
70
137
214
245
127
78
174
196
204
105
157
223
185
75
144
156
152
177
182
235
234
84
87
188
96
160
232
136
240
190
188
202
250
217
237
142
198
234
98
194
233
86
184
228
236
122
86
111
164
176
164
94
97
82
122
182
170
94
182
109
77
173
242
148
154
198
237
166
135
213
177
118
102
241
167
89
235
118
194
226
238
159
180
198
198
70
146
189
110
122
143
114
165
165
96
237
216
229
79
150
214
192
185
144
189
122
127
164
225
137
248
218
235
143
90
242
134
119
161
108
71
123
213
171
95
149
243
118
93
188
77
184
230
135
169
167
180
225
238
171
80
98
151
199
201
71
174
91
81
207
93
225
144
229
89
128
123
244
218
177
175
126
183
85
129
106
116
250
92
81
242
159
222
182
116
197
102
103
198
82
147
100
185
218
157
211
165
75
165
90
141
143
197
250
73
144
157
93
249
187
79
206
125
172
143
124
137
157
126
71
86
199
128
92
99
125
76
225
209
70
209
142
146
176
241
161
230
146
84
145
230
116
215
202
83
161
167
237
243
187
106
145
196
76
144
172
225
173
182
129
195
166
122
88
124
227
160
111
177
167
245
228
216
161
114
238
77
131
94
167
127
181
234
173
118
112
191
81
160
207
115
150
89
121
233
203
126
157
77
189
128
153
242
218
202
137
188
70
189
160
189
193
118
108
234
203
115
138
172
152
106
246
228
182
224
137
170
237
232
109
221
231
79
234
225
133
183
232
154
181
214
98
94
213
95
149
224
70
144
73
91
187
109
240
185
114
91
147
131
189
122
157
237
192
109
122
237
241
145
244
246
171
139
88
202
130
132
174
177
97
226
134
247
202
183
109
142
128
196
118
82
184
208
193
143
186
83
247
102
97
98
79
204
82
105
93
117
200
181
102
143
78
79
191
109
107
202
99
227
142
219
216
93
231
182
245
248
92
140
138
171
245
186
198
97
158
106
160
213
231
79
248
176
127
102
139
146
106
242
202
238
176
213
206
190
229
181
211
165
115
246
152
71
105
190
244
191
159
136
242
241
103
219
206
218
236
103
237
132
249
85
167
167
153
176
228
163
201
152
178
178
165
91
178
75
150
120
176
92
193
214
138
74
201
174
174
115
191
98
219
92
141
218
110
86
141
152
141
185
227
190
160
79
156
198
247
235
177
208
106
94
78
191
130
201
235
198
213
128
214
156
127
209
92
105
137
165
100
105
229
214
181
216
221
80
77
75
108
99
187
168
94
90
134
204
144
247
177
226
88
196
105
210
225
244
136
177
226
169
96
81
122
147
185
95
91
165
196
126
103
101
162
204
159
117
141
208
132
102
179
113
119
241
121
222
199
192
108
188
237
105
111
96
111
96
228
151
177
200
239
127
152
96
97
133
95
183
135
81
135
123
225
91
71
244
229
146
237
227
232
102
115
216
229
176
103
130
167
149
225
215
86
184
212
183
221
132
124
125
163
202
210
163
108
104
229
140
233
245
102
132
164
120
224
158
167
110
122
174
76
216
164
187
96
140
99
167
225
70
89
242
200
112
85
124
224
220
206
80
145
223
202
238
250
121
125
147
117
154
225
205
194
210
225
244
206
187
227
169
109
211
186
176
187
216
110
238
178
162
217
223
129
92
209
73
162
90
169
106
82
162
74
139
130
204
166
110
231
220
130
163
211
227
233
77
232
212
192
249
250
249
72
137
106
186
188
137
125
235
144
148
212
205
200
213
222
125
71
103
188
231
130
94
75
221
227
240
86
208
113
139
209
84
234
133
138
111
195
243
110
131
176
73
136
71
94
167
215
135
117
76
74
119
247
232
119
93
232
115
185
237
88
186
231
171
239
78
235
126
218
158
111
112
180
80
192
152
160
230
200
225
193
137
237
134
175
138
174
243
223
140
158
238
151
205
122
157
179
124
130
112
227
207
227
185
112
159
148
83
151
151
160
121
201
162
149
76
187
125
221
118
114
220
196
234
89
213
233
125
183
172
105
98
155
80
131
153
234
135
119
160
210
228
186
218
250
231
148
141
208
102
244
114
133
236
240
122
177
202
96
123
246
152
82
107
222
235
95
146
194
116
90
237
167
211
206
111
204
103
77
155
236
102
213
191
165
152
93
162
171
171
132
92
120
128
145
91
89
95
96
94
168
246
92
117
98
155
89
106
86
117
187
234
86
131
128
139
72
71
99
207
70
134
246
153
214
137
230
154
157
216
116
222
216
236
232
144
193
123
144
124
226
174
81
98
242
92
160
116
153
81
150
234
169
219
112
145
213
242
107
121
71
246
93
145
164
225
214
159
134
96
95
86
95
208
203
207
153
104
88
170
193
142
82
164
186
177
123
145
74
155
184
85
102
152
151
113
234
220
181
90
213
148
169
74
106
219
188
78
177
86
124
118
160
78
105
98
213
121
157
123
197
146
180
153
249
181
163
132
154
236
182
135
220
134
185
114
164
222
246
117
226
93
94
145
137
79
109
98
179
112
106
81
142
129
220
89
160
136
205
185
85
116
138
249
109
130
177
235
141
191
165
142
184
121
111
143
218
244
196
105
174
144
204
230
95
215
73
108
142
142
127
123
168
94
116
129
204
184
146
85
167
175
106
175
167
171
239
210
139
94
217
164
111
81
172
233
123
81
132
154
221
161
202
196
185
173
86
94
103
250
229
177
121
116
215
119
126
169
181
88
173
128
240
178
180
204
95
151
230
175
205
230
83
222
236
70
97
198
92
110
164
168
158
161
215
102
167
195
121
105
172
104
93
110
234
220
126
168
175
176
164
93
238
200
159
216
173
226
236
165
79
110
78
89
195
201
215
92
131
91
193
76
224
239
173
71
112
225
132
101
142
191
162
77
242
228
222
250
89
133
132
244
214
74
91
90
194
136
177
106
233
108
155
193
224
108
166
77
74
198
114
133
212
100
150
106
76
237
169
234
179
191
130
107
219
154
73
211
147
227
180
171
135
234
115
185
154
158
142
74
93
130
118
129
156
229
224
241
81
194
160
153
75
162
137
82
103
116
200
237
187
229
108
71
85
169
127
225
245
193
240
217
170
243
80
182
202
197
89
200
96
89
187
77
245
235
119
167
91
241
247
160
219
75
121
238
83
196
83
121
85
155
245
179
127
109
205
212
193
100
136
138
76
108
96
185
180
247
73
199
86
190
120
209
132
205
167
240
73
224
148
227
177
147
121
158
122
155
80
150
147
101
141
213
240
95
97
160
241
138
218
181
131
93
138
78
208
82
243
99
70
147
114
233
105
87
74
174
91
144
236
182
98
72
214
178
229
185
159
203
237
187
107
220
135
219
95
193
200
244
155
123
188
105
227
196
185
211
241
183
179
199
230
115
89
179
99
195
191
126
184
170
175
208
161
221
165
176
136
142
100
101
77
76
218
119
151
203
159
211
206
205
203
114
128
120
244
122
123
99
206
244
210
162
119
71
181
92
244
135
161
126
92
113
144
161
225
76
235
210
76
113
140
244
157
118
122
170
230
135
168
233
103
121
159
147
250
94
131
248
167
121
141
103
206
100
243
112
75
171
175
186
110
185
245
116
168
130
92
166
240
142
223
76
134
173
242
161
87
192
174
210
221
180
141
241
234
236
226
172
94
105
173
90
81
150
177
165
96
209
127
163
241
219
104
75
177
138
140
143
210
71
203
100
174
128
229
164
193
131
175
152
161
141
232
183
219
132
132
144
86
136
134
78
132
83
196
221
232
102
212
230
95
232
144
138
73
229
218
134
126
95
106
238
194
107
224
151
86
239
188
232
232
185
152
165
235
76
161
144
159
221
104
232
221
187
87
81
130
113
76
158
223
190
233
198
140
150
198
156
193
156
72
231
157
151
71
173
212
156
232
71
181
144
134
182
139
155
76
238
71
224
216
167
130
192
168
81
160
131
244
153
165
177
79
111
134
174
106
188
184
187
105
125
150
217
141
239
109
77
232
212
122
233
142
247
167
135
70
89
230
213
83
239
211
169
162
154
202
131
138
197
195
176
78
163
175
110
137
124
150
141
125
162
197
226
83
234
119
200
96
93
94
218
208
195
135
205
178
181
246
214
205
111
228
74
73
225
134
168
72
188
116
174
219
194
116
89
152
213
104
241
179
92
149
230
90
101
207
196
173
203
177
81
81
248
179
229
201
114
119
103
231
239
86
130
155
130
167
102
206
166
142
231
104
234
134
96
230
174
208
149
219
238
203
108
103
93
172
236
112
153
182
117
218
183
237
72
135
89
161
73
71
177
169
93
104
140
130
123
220
175
197
237
123
197
208
177
88
204
154
129
197
105
155
166
234
211
231
144
238
133
101
92
176
205
111
179
150
109
171
154
120
241
171
180
205
218
135
216
250
104
147
111
174
234
75
150
204
232
231
76
89
220
83
123
78
181
104
244
145
116
244
91
143
196
210
172
128
124
193
170
141
158
104
102
137
165
213
207
142
201
203
243
100
189
126
165
201
207
236
131
168
136
211
189
160
159
243
123
74
82
187
191
236
100
84
121
155
195
87
233
76
188
183
186
216
87
188
102
158
168
79
241
79
154
120
191
85
88
172
109
96
112
87
158
246
186
75
244
92
144
142
250
243
226
242
132
145
80
178
157
161
86
121
178
96
80
70
244
118
179
130
150
239
89
82
168
96
220
166
193
106
124
232
176
163
159
83
94
185
147
188
197
149
162
104
115
229
136
138
239
118
176
140
232
171
86
248
129
80
157
195
248
233
241
133
116
134
205
199
196
71
237
82
117
238
248
165
148
143
164
183
212
142
96
182
150
110
164
188
118
119
234
234
101
152
98
71
196
82
75
197
137
212
105
194
229
247
157
213
96
245
224
181
237
222
235
212
148
119
161
217
173
219
212
88
101
182
97
162
184
205
195
150
150
138
151
110
196
221
113
82
166
211
104
85
113
148
143
136
85
246
198
184
226
216
186
108
185
112
224
249
168
166
73
222
120
168
129
100
203
101
107
107
107
175
123
222
110
186
80
87
120
248
188
189
98
80
129
138
150
95
206
107
212
158
150
208
212
236
218
91
222
177
224
101
153
160
152
250
158
73
111
74
227
100
218
235
120
182
103
227
145
79
195
145
238
89
95
223
246
119
101
136
91
145
154
123
195
137
128
72
95
220
237
115
146
131
178
171
99
89
146
199
77
103
119
218
207
111
114
135
161
133
88
170
94
71
213
145
172
204
113
215
192
155
133
160
244
88
200
119
157
107
145
92
127
100
126
150
144
128
172
140
156
174
138
204
133
133
115
159
226
101
138
71
121
163
107
96
221
124
143
84
146
88
127
170
213
148
204
202
139
208
109
203
149
172
110
153
121
110
216
161
75
200
76
185
146
214
158
236
121
149
114
161
177
209
118
160
223
72
140
124
202
190
160
133
100
180
142
120
87
150
231
195
215
76
226
230
97
135
228
248
243
218
145
141
136
115
91
145
216
115
242
179
225
175
246
167
236
126
186
146
209
150
240
183
158
245
155
245
161
242
250
224
173
240
227
76
228
122
131
205
175
207
153
178
155
162
231
184
183
240
204
92
96
91
127
174
119
88
143
225
144
167
112
106
125
208
152
207
157
133
89
93
190
241
220
179
105
213
72
127
214
250
161
233
122
71
243
74
207
161
151
224
215
146
157
206
98
163
112
227
192
232
163
104
221
235
166
131
204
236
117
178
246
101
136
194
188
85
242
225
140
154
94
138
116
248
127
131
128
93
235
213
121
132
100
235
99
216
88
180
117
189
190
75
195
220
112
189
114
237
242
216
183
109
198
182
160
225
130
75
204
194
72
201
178
105
139
244
242
158
246
194
126
183
111
88
233
153
238
212
240
196
223
85
212
124
152
222
195
181
186
102
102
192
142
203
182
168
143
189
202
128
230
227
150
172
211
231
191
172
112
117
134
209
115
138
201
240
99
118
128
186
208
111
136
95
126
223
105
107
144
235
232
199
149
218
166
213
233
117
190
173
156
222
149
90
96
243
133
72
145
236
73
228
93
76
148
86
204
225
224
241
175
119
116
161
248
96
219
197
131
243
106
131
109
207
92
208
199
224
182
221
92
140
158
199
124
109
246
243
93
71
155
108
231
117
150
196
115
190
125
118
226
122
164
247
96
95
246
238
105
227
135
71
181
76
115
204
148
87
168
111
74
163
163
85
249
181
221
94
124
197
98
94
133
71
155
97
230
122
198
177
178
127
98
183
136
223
135
192
74
133
209
250
184
115
196
129
191
199
109
212
188
191
141
250
112
241
242
186
236
80
144
219
171
175
137
101
82
159
96
240
242
232
205
149
169
153
96
129
80
146
137
161
72
240
127
90
243
119
170
165
133
180
205
105
84
210
115
91
239
233
146
131
223
125
115
119
202
248
182
157
204
222
195
215
196
238
199
249
149
166
202
249
249
238
125
195
148
141
76
162
193
75
180
206
223
234
152
143
101
235
179
138
182
148
72
76
237
233
88
81
129
128
130
151
70
102
175
210
204
81
243
142
141
205
204
191
149
210
96
83
209
164
234
143
82
236
133
140
99
106
209
174
135
213
141
247
160
141
156
189
165
189
130
79
240
130
137
225
250
146
191
231
151
208
221
106
147
133
191
75
104
151
100
167
240
72
138
121
128
233
238
242
232
81
202
150
205
196
239
94
189
72
229
230
128
221
188
214
112
205
243
105
211
126
217
167
165
165
128
85
168
126
153
83
174
205
175
156
199
156
186
181
78
100
112
93
175
242
227
249
89
127
76
157
136
99
149
72
208
212
222
184
149
232
100
141
127
197
211
87
187
96
154
187
88
226
170
216
146
155
186
163
124
145
174
210
146
147
146
114
171
103
108
120
106
95
83
171
249
174
73
209
152
219
169
249
201
249
189
172
179
186
212
104
180
221
127
81
196
207
157
90
179
203
86
147
190
81
168
119
226
118
172
77
153
168
82
154
237
100
231
218
132
180
70
98
70
176
247
250
136
110
151
239
250
244
231
149
193
75
249
209
194
159
151
172
244
153
93
87
194
244
226
234
152
192
174
99
168
78
187
94
184
90
207
174
220
113
133
117
150
248
218
210
72
239
200
140
195
130
141
227
88
195
174
165
173
225
109
221
88
162
223
162
233
112
224
184
235
133
180
104
93
120
121
134
239
224
76
169
223
153
126
243
175
248
131
170
176
228
110
194
246
240
73
161
202
168
70
183
207
113
219
171
231
246
166
157
171
89
169
240
219
230
96
114
217
187
182
143
189
171
117
158
171
160
184
105
131
248
80
182
176
190
201
221
202
232
198
159
170
159
246
241
146
188
142
194
151
121
103
240
236
107
137
116
189
74
140
231
248
178
121
94
183
94
204
133
181
74
228
246
74
120
176
70
171
114
210
134
222
149
108
244
188
77
153
164
95
208
149
203
144
161
191
99
167
238
80
152
248
113
106
215
221
142
102
125
130
174
90
93
206
132
83
85
214
132
196
192
240
110
248
191
244
246
150
206
130
209
223
169
104
191
161
137
159
91
118
153
213
200
159
140
73
107
145
214
165
188
193
229
104
164
240
74
211
191
217
217
108
238
146
226
105
203
242
227
176
227
138
204
165
74
143
198
234
82
138
246
149
79
209
216
198
183
247
79
147
86
209
139
97
105
240
232
232
183
248
148
150
183
240
135
114
117
145
224
76
208
204
129
144
71
151
213
167
186
118
76
173
184
212
179
208
130
107
196
151
137
132
146
209
159
93
241
149
169
206
198
187
227
245
95
238
181
186
229
129
250
110
212
96
240
207
165
203
97
184
199
181
148
244
113
210
133
88
196
87
159
158
211
101
245
96
133
230
242
91
114
122
78
110
112
133
186
112
73
83
214
186
173
235
92
149
158
115
219
247
86
161
162
111
102
220
124
99
225
118
146
104
165
249
153
87
89
196
93
94
144
222
138
170
154
215
80
89
222
106
139
188
98
211
126
171
168
109
96
222
204
137
111
72
243
178
167
161
233
230
140
220
183
136
179
194
210
90
214
142
144
250
159
133
104
249
224
72
195
137
195
190
250
82
78
91
89
226
192
149
246
217
181
170
215
229
210
136
194
211
148
182
80
227
132
99
108
164
163
171
149
194
102
93
149
92
218
224
142
110
166
83
114
195
98
195
122
142
72
147
230
125
160
220
200
174
191
245
107
244
78
112
250
71
193
202
223
143
113
112
213
219
146
197
222
93
90
180
95
231
210
124
239
102
156
181
107
98
91
73
205
142
224
223
109
102
249
111
140
228
85
120
121
72
169
171
157
88
119
178
112
189
116
230
75
93
131
175
210
229
247
242
112
250
174
210
133
219
77
77
214
136
181
106
171
88
208
105
225
235
221
217
223
90
240
212
162
85
230
189
133
124
167
146
114
250
212
242
238
238
192
164
191
110
171
149
226
101
107
191
176
233
169
234
235
92
70
158
126
99
122
176
190
164
171
242
121
249
128
101
144
218
138
245
247
79
148
167
121
146
160
145
164
177
121
210
247
129
170
126
147
235
249
117
237
213
221
132
197
131
208
132
108
127
97
195
211
217
111
215
132
196
70
82
116
186
79
70
217
163
223
209
229
233
232
163
152
155
140
245
96
214
143
243
206
125
130
101
208
129
197
105
228
150
100
150
236
108
128
221
131
195
140
138
175
249
92
113
204
220
190
182
84
177
236
74
138
70
131
178
173
214
89
235
89
97
73
250
158
99
81
121
178
196
93
175
184
170
171
196
184
156
250
245
185
88
211
189
149
248
155
135
124
88
158
176
127
152
200
123
174
175
178
95
83
233
86
249
231
250
211
234
194
73
223
222
240
163
218
201
248
97
102
107
182
140
238
175
83
123
81
206
156
72
230
150
95
162
85
234
222
198
221
143
75
211
180
109
82
211
230
215
156
127
123
116
190
241
198
186
110
231
186
203
118
202
223
71
126
186
229
138
207
86
220
191
231
213
74
93
201
127
74
81
77
205
219
178
73
198
189
216
244
77
74
110
116
217
70
213
244
192
108
231
121
145
192
230
194
212
173
184
179
213
157
120
158
112
207
123
143
163
164
162
169
228
155
97
232
181
86
100
184
164
127
205
72
165
134
70
191
108
194
96
171
198
221
222
80
236
71
144
249
209
87
199
208
247
185
193
112
166
248
91
159
216
172
161
85
173
139
85
246
218
114
174
229
152
233
102
213
213
187
86
157
229
107
136
128
214
192
84
137
207
125
81
216
223
77
226
221
228
179
221
101
161
83
209
203
103
106
216
210
97
93
158
223
126
200
120
174
238
126
197
159
198
249
248
103
139
196
199
169
235
145
140
181
174
179
208
111
109
239
115
211
177
121
235
106
135
80
231
127
79
155
75
105
169
120
70
201
124
192
240
131
71
80
194
211
84
161
124
159
117
224
95
186
113
146
133
171
204
161
246
106
112
193
87
205
221
231
110
78
110
219
230
220
229
155
89
204
149
175
140
90
143
167
247
142
105
102
120
97
222
240
201
221
181
125
194
123
208
148
79
204
135
121
144
173
223
207
136
187
122
82
159
246
170
106
162
182
149
226
230
110
170
221
105
169
190
223
240
138
243
171
217
192
122
132
136
144
240
199
222
71
207
204
212
235
152
172
138
80
160
168
239
191
185
103
115
200
228
159
210
192
205
83
129
137
224
197
196
107
71
135
140
154
118
248
234
234
196
229
236
79
140
135
145
167
172
116
219
124
226
161
211
228
129
117
147
233
244
80
236
88
70
106
130
147
181
239
204
115
205
134
235
238
235
162
130
129
153
123
149
241
237
179
148
78
119
140
79
164
79
174
87
167
168
179
111
145
240
120
73
218
206
167
136
101
219
182
118
139
116
200
101
141
185
143
126
144
230
196
160
248
75
142
91
189
174
248
84
121
70
193
157
165
204
173
208
220
70
84
230
111
240
142
195
122
209
175
81
215
224
172
189
91
240
239
82
129
219
129
218
73
96
207
110
140
208
205
235
200
244
72
153
204
249
215
249
131
235
242
139
78
94
75
197
99
215
182
178
221
184
95
240
100
141
84
110
211
168
163
115
142
104
177
85
108
139
168
143
168
117
77
100
115
240
224
177
155
121
83
175
157
117
175
217
229
189
153
229
250
237
127
229
115
187
83
162
223
116
230
86
81
152
211
173
118
159
199
103
159
199
86
114
137
159
203
141
88
197
91
237
210
174
224
208
73
179
203
186
144
191
112
211
105
71
82
191
90
148
86
204
243
125
222
184
113
127
223
119
110
222
78
182
116
86
92
113
225
73
227
150
243
102
180
175
78
184
247
194
204
171
152
90
141
230
211
91
148
142
231
87
161
135
78
160
185
115
163
137
115
80
245
77
206
188
119
176
135
130
218
152
171
163
229
137
71
104
199
98
71
192
242
234
161
236
197
215
128
246
170
212
221
105
72
145
200
126
214
224
230
197
181
141
236
155
179
75
209
106
142
202
240
228
119
187
153
215
175
124
106
87
207
186
92
109
184
239
96
111
238
247
70
102
99
214
232
191
156
218
220
86
244
172
147
156
116
142
111
192
157
137
207
140
203
76
108
145
248
222
198
90
186
118
167
237
196
88
95
77
131
160
186
128
149
74
201
190
126
160
116
107
185
126
144
110
162
218
122
232
121
96
145
187
230
102
130
95
227
148
103
189
205
109
158
114
225
232
227
104
218
142
172
84
150
99
156
161
86
171
179
216
102
214
165
144
229
206
113
176
198
176
168
179
234
215
100
78
107
112
166
166
110
96
199
168
87
93
235
238
204
81
244
194
148
178
82
111
139
214
190
123
139
233
92
181
174
159
119
221
185
105
199
186
185
171
199
110
183
70
136
140
236
173
228
147
174
70
162
94
218
97
70
138
120
111
83
80
187
91
87
152
84
91
146
91
132
246
110
140
115
70
90
99
227
222
241
205
169
71
170
156
135
120
168
213
181
102
238
249
128
117
115
109
243
124
97
77
130
115
165
199
174
206
104
134
182
93
153
188
93
110
129
148
163
121
138
98
155
74
88
212
201
231
117
246
124
186
110
105
114
151
79
159
90
189
121
141
157
132
215
190
222
155
198
181
97
194
242
170
135
166
71
227
146
72
210
79
173
184
125
129
167
178
125
242
79
82
98
192
151
221
83
152
90
138
97
218
213
148
159
172
215
231
70
199
172
99
123
157
165
127
145
246
106
160
232
148
213
138
169
166
82
180
245
241
203
82
149
198
99
104
84
184
162
71
196
167
72
234
116
164
193
180
98
84
131
108
183
183
112
154
102
73
130
222
243
203
109
127
185
246
106
149
102
75
215
127
221
127
154
144
155
152
194
123
236
169
185
194
165
239
214
209
221
116
232
216
160
166
243
169
133
174
190
85
150
248
186
182
155
197
139
109
241
243
94
107
142
127
199
124
109
99
187
81
127
100
242
153
119
199
84
235
231
80
156
73
119
98
173
144
157
142
144
131
245
206
163
140
217
136
244
120
120
192
73
146
119
238
229
178
99
119
146
87
233
229
187
132
108
136
220
226
71
112
110
85
155
218
181
97
185
129
164
193
213
210
208
134
116
71
250
103
71
153
236
180
172
223
85
87
237
167
232
119
147
171
210
114
156
134
174
147
139
179
175
155
183
244
98
91
225
106
84
174
216
164
212
93
191
160
196
217
106
93
219
230
107
162
227
87
227
183
209
119
82
140
96
198
171
152
90
89
108
194
189
169
118
81
249
238
210
120
123
194
216
204
119
237
248
215
223
152
129
248
146
232
158
118
178
152
97
206
244
191
122
220
246
132
126
138
216
176
92
139
179
80
228
150
243
250
164
190
158
176
235
123
133
213
248
150
168
73
126
108
79
229
87
164
227
102
108
240
190
123
199
151
134
211
151
249
138
119
98
196
74
211
139
126
91
126
214
119
79
107
104
187
210
194
206
140
179
148
171
249
115
106
95
132
126
133
178
125
203
157
89
93
225
247
206
114
116
79
231
233
204
96
82
244
192
239
151
115
174
85
243
240
82
225
150
104
88
137
229
230
146
205
243
89
235
161
202
219
236
141
92
145
130
151
130
79
218
242
241
198
193
151
207
193
192
108
227
182
127
151
181
94
172
158
74
134
107
145
105
208
73
179
168
173
98
79
92
173
153
88
196
90
143
181
242
168
145
192
211
229
185
73
94
217
224
213
135
137
176
123
234
210
77
118
114
110
207
105
250
145
192
234
134
210
149
90
181
154
105
212
195
121
192
110
84
222
143
188
160
143
177
92
148
116
223
241
138
224
238
89
231
212
110
94
98
186
84
158
101
137
145
170
121
236
197
180
87
159
212
180
102
178
238
102
164
113
142
234
175
153
175
221
139
207
239
160
142
182
157
169
215
215
187
78
223
89
119
92
181
115
120
144
75
231
210
91
86
86
92
196
161
137
214
71
90
163
186
194
141
128
211
74
230
125
126
75
155
199
123
210
231
139
93
105
86
70
115
183
239
208
213
147
187
142
247
140
111
88
192
92
91
108
231
114
114
73
87
206
81
146
156
223
120
183
241
109
133
105
208
89
121
186
250
135
76
184
223
247
139
225
146
77
134
232
156
231
150
155
99
205
143
215
80
130
225
221
214
87
98
202
121
189
210
249
147
79
188
175
117
183
73
97
239
133
128
203
122
187
145
99
95
156
129
238
225
183
144
239
184
202
94
190
177
160
225
166
176
201
231
240
247
216
226
112
79
95
203
105
125
234
158
224
128
102
197
96
133
163
202
172
130
195
127
215
192
202
137
93
86
152
78
224
161
212
174
191
183
233
230
121
218
152
146
140
86
98
245
236
222
124
74
244
151
93
71
94
165
171
216
190
110
73
145
173
71
138
148
134
218
149
103
74
226
141
200
116
154
202
168
170
123
176
147
240
109
147
97
232
243
130
178
173
187
177
136
117
200
169
106
197
156
85
184
109
141
237
156
212
109
232
101
164
133
205
92
198
134
96
115
250
135
192
163
231
238
160
99
236
249
246
238
106
189
102
123
166
197
163
76
243
139
92
134
103
76
231
117
149
166
200
143
100
98
212
230
98
96
96
199
141
168
84
172
234
208
210
183
212
131
155
106
200
203
236
166
234
101
93
71
206
128
99
174
122
218
119
102
217
173
128
244
232
223
171
241
155
80
168
74
198
154
240
95
114
136
216
121
132
86
90
126
98
244
203
105
138
210
196
130
222
78
187
101
175
187
87
87
138
215
141
234
92
236
164
80
220
173
180
180
140
211
203
76
223
171
228
131
244
172
197
192
97
128
242
89
185
78
216
88
248
87
172
144
241
96
133
199
224
161
186
158
147
142
95
96
197
135
160
98
207
183
199
95
222
221
232
77
230
147
206
219
110
76
184
219
191
138
100
173
95
176
73
212
233
167
221
219
87
230
213
111
154
232
181
105
219
186
109
222
186
248
183
74
129
82
195
157
205
198
219
214
118
228
165
229
119
154
206
247
232
160
72
174
161
224
133
224
170
239
168
102
97
241
248
181
123
131
240
150
151
177
163
214
237
128
206
108
132
208
223
225
229
209
83
211
82
241
70
79
242
125
148
152
220
150
159
84
193
121
225
132
228
151
215
145
129
146
124
132
205
158
147
110
187
201
85
101
127
81
226
177
71
208
215
222
109
223
181
155
213
106
186
94
178
131
191
125
110
134
231
97
214
97
153
96
185
140
101
95
109
128
213
137
112
83
222
80
111
102
83
232
161
171
217
168
218
112
184
85
80
143
175
225
116
216
226
204
225
95
123
142
121
164
248
224
226
228
169
96
189
185
138
221
142
242
133
101
81
111
154
241
225
136
150
226
79
248
238
130
174
162
168
168
213
100
180
100
233
140
249
141
158
92
163
235
165
76
220
100
242
188
91
81
175
130
89
207
212
153
187
137
136
154
233
97
99
209
136
119
194
148
244
234
129
140
238
165
106
75
139
96
114
203
153
193
241
70
167
197
120
91
96
108
101
208
82
109
225
250
117
133
80
236
184
137
205
107
204
214
164
191
81
139
81
212
244
123
168
204
177
99
166
104
163
206
110
112
181
97
117
191
72
179
110
70
151
228
121
100
146
198
120
169
130
131
80
165
85
238
110
245
196
111
160
173
164
107
217
191
172
145
74
121
97
177
79
125
108
170
132
238
236
171
208
111
116
84
162
124
89
226
197
143
248
196
188
115
194
106
187
113
229
73
100
226
91
163
167
139
98
182
181
179
143
101
191
129
123
204
224
234
225
99
147
175
120
129
120
153
128
192
220
217
104
246
130
134
155
154
167
93
236
248
154
213
171
210
179
216
230
159
82
91
237
87
77
140
153
132
86
119
135
188
140
74
203
155
165
114
93
182
134
240
173
147
182
246
110
156
104
100
90
127
235
81
114
198
200
241
229
160
226
140
133
208
78
248
231
245
186
208
154
193
83
150
200
248
115
95
119
147
140
241
197
245
143
237
90
142
92
147
250
158
155
111
232
243
160
90
154
156
111
175
137
219
233
220
206
217
223
244
236
165
143
97
70
115
87
162
194
130
220
153
175
248
155
244
173
216
236
102
88
81
93
147
130
135
229
122
232
121
233
148
173
246
242
175
184
102
107
212
213
168
152
136
100
229
193
185
77
71
75
94
87
94
174
244
248
91
209
106
216
244
180
99
87
79
156
189
218
136
121
184
187
240
200
182
112
178
165
87
147
217
229
180
134
176
201
116
189
79
129
191
101
208
107
201
222
131
166
174
250
133
110
131
118
205
92
183
117
236
196
108
213
178
241
120
139
143
103
199
92
229
197
230
185
131
106
79
152
123
90
153
176
213
102
200
139
249
199
245
121
90
217
169
136
145
144
106
121
225
223
80
115
216
137
107
118
190
79
216
242
115
229
155
83
183
201
106
171
103
146
134
85
82
173
224
224
103
166
71
167
158
156
211
188
178
245
250
136
205
183
176
248
124
71
226
181
239
234
186
210
176
188
119
158
154
84
222
215
135
134
242
143
123
108
159
202
147
191
227
238
246
138
220
72
249
157
85
228
76
241
160
108
225
190
249
198
102
137
143
69
73
78
50
60
25
60
37
21
77
50
24
66
55
39
75
43
65
33
73
70
59
41
78
43
24
24
69
35
30
77
66
65
79
70
21
45
43
31
30
22
20
25
42
51
55
62
60
77
44
35
30
49
77
59
77
57
63
65
73
40
75
29
48
34
53
20
57
24
61
55
63
71
36
80
21
23
41
38
36
31
46
35
69
52
49
29
69
69
43
45
39
76
33
67
69
21
33
80
40
49
59
63
54
78
22
37
77
30
31
61
52
23
40
51
56
46
28
65
76
28
38
36
29
22
65
31
47
20
80
20
73
75
36
23
59
74
80
25
61
58
59
55
39
66
75
50
75
22
43
24
27
71
43
25
61
20
78
25
21
31
70
33
66
71
53
73
65
50
51
40
74
23
66
54
53
33
65
25
49
27
50
60
49
46
73
43
67
79
45
66
59
76
77
67
29
41
31
75
46
33
25
72
79
50
76
41
79
47
65
72
35
72
46
39
38
62
44
79
53
74
40
54
66
53
80
47
75
72
78
26
64
52
50
24
46
73
35
63
61
74
75
24
64
36
57
69
66
34
69
78
51
54
22
45
69
57
69
24
61
68
42
79
62
42
22
23
73
27
43
69
29
39
42
27
44
67
62
62
59
77
30
79
43
22
59
57
56
28
70
48
52
22
49
25
73
25
72
24
37
21
37
43
78
80
61
79
65
60
20
78
76
61
41
38
46
45
77
30
27
47
52
39
70
63
42
69
66
21
21
47
76
78
36
34
43
59
37
75
24
55
70
34
37
72
32
20
34
60
76
77
46
57
29
53
40
66
57
62
28
61
74
28
22
41
76
44
35
22
33
47
35
22
72
32
48
55
76
69
28
61
27
24
68
62
57
57
61
52
49
64
40
50
22
44
62
63
39
73
22
66
80
56
25
80
76
49
65
51
36
26
24
79
45
33
58
21
72
22
78
56
34
40
40
55
57
33
41
62
26
79
72
62
73
78
56
45
34
52
72
31
77
71
32
31
40
34
30
40
75
40
74
33
67
48
78
48
38
79
25
66
23
23
20
53
30
44
22
61
74
38
63
25
56
44
65
22
28
46
72
57
75
74
78
33
69
73
63
31
51
61
31
59
42
25
38
20
70
56
57
33
62
63
69
39
34
41
55
58
47
46
30
36
55
37
27
43
32
35
73
42
39
58
36
48
37
63
67
25
46
33
31
26
49
80
66
22
37
27
35
72
50
60
37
46
63
42
57
52
68
77
23
46
60
45
24
74
53
60
57
22
26
60
65
51
53
71
71
28
70
73
72
22
61
30
40
30
24
32
25
66
53
56
35
28
35
47
61
61
47
77
20
47
69
61
36
41
66
38
25
30
57
71
68
24
48
49
46
41
29
54
22
52
77
69
31
74
56
23
42
32
40
59
48
79
22
53
24
79
56
48
64
34
43
28
64
56
74
39
37
63
76
79
64
32
69
33
27
59
80
63
74
66
76
35
76
24
41
28
38
44
20
38
25
28
55
29
68
46
55
62
42
53
69
75
75
64
54
70
27
43
47
22
45
55
74
41
46
65
50
39
54
43
32
71
80
49
77
20
43
45
62
76
76
44
66
27
44
42
68
67
58
45
55
24
71
44
52
29
63
67
49
52
35
55
29
53
37
35
78
20
33
39
20
61
56
54
21
24
55
61
76
38
60
21
60
77
76
38
52
52
75
38
29
54
64
50
25
34
35
27
46
20
58
36
21
25
65
59
39
75
34
67
60
22
20
25
36
30
57
57
67
52
67
77
67
48
25
73
64
22
70
30
77
56
55
25
39
32
32
66
35
28
71
56
51
68
47
76
38
39
26
35
41
52
52
23
69
73
26
49
51
24
73
54
39
48
65
34
77
75
22
67
78
21
78
30
61
45
64
31
71
78
53
37
48
21
45
57
37
25
44
57
47
80
44
54
31
48
76
64
72
62
66
47
78
58
23
72
44
25
52
23
67
38
20
61
73
67
23
34
69
80
80
70
20
38
38
49
31
75
34
55
47
75
39
31
30
57
48
64
52
24
49
39
65
29
30
47
69
63
21
70
40
38
35
52
74
42
64
69
54
49
39
30
41
31
48
36
32
62
73
55
56
50
57
79
75
40
53
64
58
47
65
40
76
20
68
63
46
58
54
59
43
37
68
37
29
38
39
25
76
70
63
55
26
62
47
38
52
51
36
61
21
30
51
39
65
33
22
54
30
31
50
72
25
74
52
78
39
49
25
37
34
22
40
30
31
65
43
76
72
59
30
23
72
33
42
43
36
56
66
28
71
59
54
79
52
31
32
22
27
49
60
67
22
21
21
68
70
49
32
31
65
50
66
49
55
35
62
39
63
65
34
22
66
33
72
59
56
39
51
54
66
21
78
50
35
42
60
67
80
47
66
39
40
26
52
52
25
79
48
52
75
34
40
24
56
38
78
48
36
37
20
66
56
21
64
46
61
40
38
22
55
69
80
36
55
38
71
59
61
39
74
80
21
27
31
27
27
42
45
24
78
77
37
23
42
34
31
76
25
75
43
25
49
71
51
75
27
67
38
64
74
44
37
33
67
46
78
57
23
76
27
27
60
51
64
50
63
42
36
48
63
61
26
54
77
45
55
40
57
62
71
49
55
71
77
29
73
28
22
39
42
32
57
54
45
37
30
41
46
36
48
76
65
32
80
47
49
36
38
38
54
61
22
54
34
70
37
71
49
78
43
30
69
63
24
74
25
35
41
79
42
69
44
24
34
47
72
59
79
78
56
58
55
26
39
47
24
59
24
23
32
71
40
74
79
52
63
70
77
50
68
78
73
44
31
45
34
52
28
80
31
80
32
23
27
31
54
21
52
66
73
71
77
22
49
62
41
58
48
65
48
73
49
53
68
21
27
62
69
53
34
75
57
30
41
75
20
32
20
30
59
54
67
65
43
74
23
28
47
63
38
50
65
34
48
35
35
68
47
42
80
56
46
56
64
52
70
36
66
29
28
57
68
60
79
38
41
54
49
69
37
29
55
43
37
70
80
68
58
34
43
66
23
24
79
53
51
43
37
60
25
27
68
28
32
60
69
78
56
25
34
24
28
48
35
80
41
62
80
29
70
72
32
56
75
26
44
73
38
66
20
61
44
76
73
26
68
56
70
35
67
40
78
73
22
80
33
53
68
75
31
35
38
65
56
70
73
34
40
60
34
77
52
80
34
29
63
70
24
74
21
56
60
63
77
52
75
21
30
80
35
63
76
42
48
22
23
61
55
38
39
48
58
78
70
30
51
64
65
78
33
79
39
30
38
41
72
47
20
73
63
55
80
63
35
31
27
74
56
48
28
34
30
58
31
51
62
74
79
73
23
31
70
38
26
53
29
35
70
78
58
77
34
40
20
71
66
28
69
22
49
53
45
62
46
66
29
78
24
21
52
58
25
33
57
29
23
31
43
72
56
28
37
38
75
65
69
62
58
50
63
67
37
54
68
24
35
30
80
37
31
33
55
65
31
76
33
66
74
24
45
54
37
52
30
39
80
55
63
32
73
49
24
69
67
40
72
49
48
34
51
45
53
34
36
71
51
70
74
37
60
63
76
66
29
21
75
26
22
72
32
60
42
21
32
36
51
77
52
38
26
78
29
70
80
64
66
42
59
77
70
23
68
63
59
59
75
61
72
55
77
74
43
61
70
79
35
63
21
33
44
41
78
37
62
59
52
70
52
67
51
50
79
64
61
54
77
63
20
55
51
57
70
55
39
77
42
66
47
48
63
62
24
24
61
63
48
74
32
39
54
26
26
55
45
60
26
65
72
72
55
55
45
65
32
53
38
75
46
75
80
49
38
76
20
72
76
50
54
23
72
40
48
31
48
27
47
29
23
57
48
43
40
31
46
78
41
78
40
58
28
33
42
78
79
25
56
65
24
53
73
32
56
74
71
31
46
31
39
77
54
80
26
51
23
51
40
25
45
68
31
39
64
20
63
43
46
78
22
32
78
45
78
22
55
70
32
51
78
50
38
62
72
76
33
59
77
77
56
30
77
70
77
21
59
51
30
33
39
53
27
21
22
33
64
61
35
59
39
46
53
30
63
63
49
31
30
39
77
32
75
51
38
43
76
24
37
70
47
26
40
67
55
60
78
71
30
40
76
60
27
65
78
72
36
35
71
52
47
78
47
28
54
60
39
45
29
61
26
65
50
63
23
63
29
47
20
59
57
67
20
20
75
43
57
67
31
56
53
22
21
80
40
54
63
31
50
54
46
38
34
35
30
25
65
29
48
43
41
66
32
68
26
41
47
76
36
55
69
56
40
39
67
32
32
31
40
34
47
52
58
20
22
79
80
53
26
53
60
60
34
72
64
79
39
71
72
20
67
79
73
59
69
45
50
40
73
55
43
75
24
46
53
75
50
77
39
39
45
47
58
67
61
44
24
80
29
38
67
76
50
64
48
50
55
71
75
47
49
22
43
52
51
38
51
33
78
70
31
45
79
28
21
63
29
54
57
25
54
41
30
67
45
32
33
47
45
40
64
34
35
42
35
65
48
74
76
68
58
20
44
56
30
65
24
36
77
38
34
72
64
69
48
78
50
63
64
28
60
48
42
62
42
23
56
32
73
43
71
74
43
44
20
35
47
73
78
52
45
42
56
53
72
41
47
40
75
51
73
76
62
41
61
62
36
80
33
43
22
37
57
60
40
28
46
50
65
41
30
66
21
45
71
36
20
65
28
51
49
69
46
78
70
79
55
36
23
53
33
29
23
57
40
79
56
64
78
35
56
48
38
34
24
23
50
22
44
27
60
68
75
23
54
53
76
51
61
54
47
45
27
72
74
24
44
43
31
48
39
48
23
66
64
44
31
79
77
63
43
47
32
55
44
73
59
39
55
61
35
32
59
58
65
66
63
40
73
42
57
73
42
44
27
77
27
38
71
74
80
54
43
72
69
28
77
42
25
72
40
57
27
72
80
47
72
63
51
51
29
64
23
67
64
72
78
36
42
78
45
70
23
72
56
51
33
70
21
72
25
24
75
25
49
29
45
53
79
34
50
77
30
77
77
38
62
60
57
51
50
33
32
78
49
26
28
37
61
61
74
67
78
72
71
31
69
41
53
61
59
73
52
55
22
53
24
34
31
26
54
76
37
58
79
27
36
39
33
64
58
64
45
57
77
48
33
27
41
69
64
73
73
66
33
33
34
25
52
72
67
44
73
75
50
55
62
44
39
67
35
25
54
46
49
59
59
53
38
74
55
79
76
39
28
72
41
35
30
61
66
55
74
49
78
80
75
49
62
65
66
22
71
61
66
65
72
32
35
57
67
59
74
31
29
55
55
74
56
78
36
64
56
41
79
51
25
23
22
53
75
66
67
41
62
71
77
51
59
76
25
30
71
40
65
37
78
34
61
46
20
62
57
36
34
75
79
62
52
28
58
30
51
23
70
32
52
73
77
51
44
66
73
39
56
62
64
56
49
34
33
51
45
36
74
66
53
52
61
22
39
45
75
26
75
35
30
50
62
33
43
57
45
44
69
20
46
54
79
76
49
68
49
26
64
54
22
43
31
77
38
41
64
68
39
42
74
32
56
60
21
43
42
70
76
78
69
67
71
78
78
27
78
41
24
53
36
26
27
40
66
49
34
26
47
60
50
56
30
25
73
44
30
65
21
38
68
24
66
39
30
75
38
33
67
66
72
56
66
20
74
46
27
58
61
50
39
32
34
55
26
69
21
57
38
60
25
27
51
68
27
25
62
32
73
56
78
35
38
60
62
63
57
25
57
61
56
56
68
20
78
68
77
67
51
64
47
41
52
50
76
48
32
34
59
39
28
47
65
46
40
39
79
30
66
74
50
55
59
43
29
20
40
51
78
49
41
34
62
46
22
35
50
76
32
37
64
63
69
28
52
50
29
24
24
23
59
46
27
46
33
28
28
80
73
54
40
44
71
55
58
23
55
75
22
26
49
78
51
44
53
47
46
31
79
75
63
21
72
60
56
60
60
65
50
31
39
75
76
47
45
45
41
60
73
22
80
56
73
52
80
42
75
20
78
76
52
40
61
33
38
74
21
79
54
71
28
60
47
73
55
73
24
34
51
41
75
43
37
65
30
39
58
58
74
20
24
71
45
60
41
77
36
65
23
34
21
57
67
60
80
73
66
71
22
26
47
20
35
21
68
77
54
41
29
50
20
30
38
79
40
73
45
30
48
35
48
67
32
24
51
52
22
45
26
44
63
20
72
77
60
39
22
75
54
21
69
47
38
54
59
31
33
38
32
59
33
57
57
76
75
62
71
30
33
67
70
66
27
36
68
26
45
20
75
71
41
71
54
77
28
32
22
53
29
28
28
63
30
27
25
63
34
32
46
54
53
64
71
52
63
44
32
29
54
27
51
21
20
43
67
43
42
34
78
32
21
79
79
53
61
75
44
74
42
29
63
78
35
52
61
26
39
37
68
77
49
75
63
45
30
72
60
57
64
68
45
58
39
73
30
41
41
68
59
43
43
65
63
32
75
70
35
63
57
56
36
68
29
53
30
78
44
46
25
37
45
64
30
65
58
43
66
72
45
68
25
55
41
71
79
61
64
44
35
71
78
63
29
32
39
28
28
60
78
24
65
59
21
64
37
22
69
40
61
55
37
79
28
37
42
64
22
47
38
32
59
42
52
61
68
45
79
32
40
38
45
63
80
45
44
49
72
63
41
59
50
73
62
66
77
66
63
37
44
75
24
53
55
21
67
66
75
52
49
54
73
22
65
40
48
33
31
40
39
74
38
58
44
42
45
63
41
24
27
74
38
65
67
50
41
45
38
30
64
31
76
68
47
68
80
43
38
50
25
50
57
64
32
42
75
28
36
69
70
55
34
69
39
34
41
58
78
58
75
26
21
74
31
74
76
31
62
72
69
49
67
46
80
56
72
70
61
55
65
79
29
68
23
32
24
30
57
55
69
37
47
35
34
30
36
65
73
51
61
74
44
22
71
43
20
37
74
63
79
64
80
42
59
50
53
53
42
67
68
37
57
20
42
41
48
79
44
55
41
37
58
28
40
39
73
76
63
31
35
42
41
51
52
58
77
28
38
75
42
41
62
22
65
54
39
43
26
30
30
43
29
55
25
37
20
38
22
31
35
50
42
32
77
34
21
41
27
36
39
51
66
25
58
79
73
48
41
70
73
39
61
37
79
25
49
56
29
45
54
57
62
39
51
30
76
29
75
21
67
55
22
29
52
50
77
51
56
76
34
43
38
29
57
58
61
24
28
64
34
60
65
53
30
26
58
79
62
38
39
36
28
79
25
65
29
70
52
37
73
60
52
79
51
76
39
58
40
80
34
38
37
20
77
60
40
58
36
23
33
22
50
76
31
71
57
80
79
40
68
22
37
68
42
23
53
80
74
24
75
69
54
72
41
47
21
56
74
41
34
51
70
49
68
31
65
74
43
32
62
56
49
69
69
53
43
34
78
41
26
68
24
31
41
54
60
76
67
67
71
61
37
67
57
31
75
39
79
69
23
80
74
41
44
39
69
38
24
39
23
62
52
56
32
40
32
42
64
41
68
72
59
23
40
80
78
65
76
67
41
61
58
22
20
61
39
49
48
41
56
49
28
29
51
40
28
68
43
69
48
36
47
50
66
47
72
50
68
80
52
24
28
27
76
33
31
53
44
34
28
74
60
76
72
49
77
65
26
61
58
34
66
46
24
37
53
37
77
71
75
50
71
44
62
29
37
49
49
72
51
42
49
62
29
67
20
31
47
55
80
76
70
77
78
52
48
30
55
26
37
71
20
42
70
62
69
22
26
79
24
61
80
74
50
39
66
46
67
77
31
29
78
37
26
44
66
41
60
42
64
50
23
34
77
72
76
80
33
50
65
21
73
22
59
27
22
62
24
75
48
20
57
52
74
73
50
50
80
36
60
46
34
58
39
41
54
47
43
42
78
23
50
58
79
22
59
44
53
37
28
76
52
74
54
72
30
68
42
80
68
42
63
62
51
39
74
56
71
69
76
39
76
74
48
49
60
36
38
65
23
70
33
23
28
80
77
42
30
26
39
73
71
39
54
40
62
53
53
51
42
75
22
45
47
65
68
43
30
66
33
67
58
44
80
32
71
61
58
71
25
21
64
78
66
59
29
48
74
57
31
22
45
47
53
65
66
21
69
71
77
31
51
77
72
31
24
45
38
21
30
35
45
46
76
39
60
37
49
54
47
52
77
33
40
43
72
41
64
43
41
34
67
54
55
59
69
64
71
34
53
26
57
33
22
58
68
34
80
39
44
77
70
35
32
22
39
32
54
56
44
48
35
62
47
28
60
80
36
44
63
73
56
41
32
63
66
32
38
49
40
61
27
56
35
26
35
70
64
20
51
45
70
72
62
53
34
77
21
36
29
77
65
43
55
65
38
22
39
38
42
53
51
57
63
75
44
28
80
63
60
23
45
66
63
36
28
22
60
52
77
25
44
68
47
49
22
48
64
60
23
35
42
30
73
71
56
24
46
39
43
61
80
77
80
57
29
32
58
28
47
26
54
35
73
63
33
29
28
56
66
32
27
30
41
52
57
80
69
28
42
23
68
53
73
54
40
35
53
48
80
44
65
25
28
31
74
34
70
39
59
72
58
70
31
28
63
79
44
61
73
71
60
48
26
78
62
53
27
37
47
48
55
71
29
26
44
48
58
79
50
20
69
61
29
39
58
30
60
45
21
45
50
74
28
66
72
60
34
45
76
63
37
40
38
75
52
30
34
42
40
45
33
69
49
76
41
47
41
33
26
25
44
57
76
42
36
57
22
40
50
32
39
80
51
45
67
53
28
56
49
70
43
32
45
44
58
57
25
65
23
49
26
32
53
37
24
42
50
58
79
54
66
32
36
72
47
31
58
43
66
73
28
56
67
65
78
65
37
65
58
74
31
65
34
69
66
59
37
63
29
53
61
20
32
49
20
37
40
34
61
68
51
35
56
38
23
61
59
47
21
30
79
39
38
55
32
45
30
67
79
25
47
73
49
42
66
23
53
36
36
58
54
39
72
51
36
29
33
52
73
48
54
74
63
49
22
80
37
40
28
73
76
25
78
24
33
21
54
65
45
54
51
40
21
70
78
41
30
49
34
80
58
20
32
79
29
47
50
25
28
33
75
68
31
59
20
31
53
57
62
49
26
51
44
32
69
25
26
63
37
53
65
71
33
78
28
42
23
77
42
41
57
50
67
72
80
61
75
24
58
45
46
52
73
56
59
22
33
30
29
27
42
62
68
21
68
48
74
71
77
72
49
63
61
30
63
40
79
67
79
79
40
49
65
75
25
26
46
67
22
75
54
69
64
55
41
65
55
20
38
32
54
32
65
50
39
42
20
22
64
33
32
73
56
61
52
24
73
61
67
35
51
59
74
54
63
59
58
52
44
52
66
57
37
57
26
72
72
39
35
45
35
31
69
78
32
49
65
52
54
68
64
24
35
74
38
78
68
57
25
32
53
34
36
62
46
79
40
41
79
78
28
22
23
79
62
27
31
61
54
60
33
27
60
47
46
21
45
60
44
48
38
31
77
40
34
51
57
77
23
69
31
20
20
43
33
66
46
42
77
71
52
70
23
28
62
20
31
28
23
56
61
47
58
38
59
45
47
66
26
52
72
48
26
77
66
30
60
29
38
38
42
46
28
35
79
33
29
21
68
78
56
26
64
39
64
31
73
80
68
80
31
38
25
37
30
20
76
73
71
37
74
58
73
27
23
52
66
21
67
54
24
70
65
55
59
58
58
24
29
40
75
30
37
26
31
65
26
39
69
67
46
72
62
57
35
62
61
63
66
68
50
45
30
64
47
59
49
53
73
32
20
68
70
21
41
79
57
56
59
31
63
36
48
56
43
54
29
58
70
23
20
41
65
67
77
35
21
52
50
47
36
66
68
34
48
20
22
73
34
22
46
33
65
61
53
59
68
42
62
69
42
51
64
40
20
54
80
26
29
72
54
26
50
22
34
74
21
73
71
44
33
33
24
66
33
45
36
48
73
80
77
77
66
50
47
36
55
59
32
79
57
75
30
73
50
58
68
57
40
75
49
43
53
65
68
36
62
45
21
49
42
79
68
55
40
75
62
47
20
67
79
23
50
36
22
76
59
55
79
35
28
57
67
61
25
73
21
73
72
26
75
56
27
79
49
44
67
20
64
22
75
36
28
53
29
59
53
20
62
42
45
58
32
46
25
42
31
42
34
65
65
70
71
27
49
38
24
66
36
63
35
71
52
46
32
71
79
42
73
34
55
43
72
50
41
63
32
64
56
35
58
76
21
25
78
52
31
48
55
59
62
70
42
36
63
62
46
31
46
21
21
74
72
63
23
22
62
46
48
33
38
35
31
68
61
34
35
25
34
61
37
80
62
48
77
79
48
64
51
39
39
57
30
70
33
63
33
66
33
58
78
29
60
21
64
28
47
36
50
69
52
47
44
22
60
61
59
65
75
21
65
30
27
30
33
62
40
73
71
49
65
41
43
70
26
22
73
56
65
30
26
40
26
30
47
48
60
22
32
21
28
46
65
43
50
46
64
56
23
30
67
60
64
42
33
23
43
50
50
73
60
63
58
57
52
60
28
41
35
63
49
63
24
35
23
48
27
35
64
68
73
35
63
41
70
41
61
25
42
50
23
52
29
39
30
79
62
63
65
72
23
26
60
47
49
54
77
36
36
37
34
60
57
57
79
26
48
79
57
23
50
61
67
30
39
76
27
30
61
68
63
80
65
28
30
50
70
49
37
42
36
72
51
76
45
70
72
38
39
29
50
67
45
72
53
42
72
41
35
76
29
43
56
68
29
48
80
76
53
28
55
61
30
57
79
76
35
67
75
23
62
45
43
29
65
20
39
23
64
79
67
37
77
20
45
68
32
73
44
25
67
55
71
71
59
23
75
31
38
74
80
80
77
62
70
72
57
59
21
55
24
78
71
62
71
43
41
72
77
59
39
79
64
22
80
38
22
78
74
32
74
40
49
65
47
64
60
55
55
36
36
32
21
57
30
57
73
40
67
34
80
37
77
59
65
50
22
49
44
69
20
35
69
40
67
51
78
28
78
53
42
29
50
38
80
50
76
22
66
41
53
26
65
37
21
25
44
49
48
23
25
70
49
65
57
45
41
29
55
22
69
72
53
41
63
24
72
44
77
49
44
31
79
33
53
80
57
77
70
24
60
52
77
31
56
37
49
55
78
36
59
55
25
61
56
30
24
69
52
32
67
73
35
50
55
26
57
56
28
24
75
28
55
47
42
75
62
47
36
60
35
29
67
63
42
51
61
45
60
62
53
73
56
80
45
54
71
39
22
40
24
23
57
22
46
22
66
66
50
38
64
56
76
42
47
76
55
48
66
51
42
40
68
69
64
62
45
74
70
43
67
69
30
23
39
41
45
64
71
76
62
45
42
65
68
33
74
42
63
31
32
39
75
62
60
60
70
67
72
68
41
51
34
43
69
68
28
80
55
74
60
59
54
80
25
23
66
44
54
69
58
28
39
60
57
62
74
57
20
54
71
39
49
45
26
59
46
41
44
46
74
48
78
61
27
80
55
50
61
54
68
22
66
41
76
68
80
34
31
65
39
35
39
59
46
49
77
38
64
33
28
50
40
69
58
75
25
77
65
40
71
78
23
28
58
61
70
38
59
23
44
30
53
62
76
75
60
34
60
68
77
23
47
79
76
53
50
30
59
44
52
44
62
59
54
27
63
42
58
30
75
78
38
37
77
36
74
76
54
37
21
44
35
36
25
77
39
54
20
69
60
69
76
49
78
48
39
42
67
36
33
30
25
52
37
52
57
30
59
72
28
37
79
37
68
75
29
74
71
72
39
51
28
69
43
58
78
40
50
57
68
38
65
43
34
69
40
35
60
45
27
74
55
61
73
56
24
32
47
54
37
71
38
32
62
36
46
50
62
50
40
69
39
41
21
37
60
20
32
59
74
63
20
80
52
25
64
23
78
31
45
68
40
35
29
74
45
20
57
59
64
58
41
26
21
74
64
55
67
31
55
27
61
64
54
59
36
71
39
34
21
30
56
47
43
52
50
47
26
30
71
20
70
63
27
20
40
65
66
75
20
51
55
70
77
45
59
53
74
24
21
40
54
35
44
27
32
24
43
75
39
44
58
30
65
63
36
71
74
43
59
34
62
62
40
33
45
66
73
48
29
61
25
63
73
66
23
54
76
54
69
30
26
62
34
66
50
31
80
23
77
66
77
80
31
46
67
26
37
42
36
69
30
31
25
26
22
56
30
58
24
43
74
25
48
63
49
71
79
53
80
72
78
54
53
74
26
30
54
73
60
55
37
52
29
45
75
39
40
50
61
53
58
29
75
80
65
36
39
33
63
40
74
71
78
60
49
68
46
56
31
52
73
52
51
71
59
73
41
52
21
41
63
34
29
41
60
44
39
79
48
28
29
26
67
23
77
48
25
20
32
54
30
54
44
65
65
76
33
23
64
58
60
43
58
23
39
67
67
36
53
78
36
27
50
40
62
56
35
41
73
50
61
54
52
65
40
37
24
76
36
56
42
52
64
42
63
60
23
47
61
69
76
28
20
21
40
75
67
31
22
55
74
73
23
21
47
72
27
27
46
47
30
21
75
65
73
49
50
39
39
36
77
26
43
33
55
75
38
68
63
76
44
76
54
78
35
69
70
31
35
43
56
57
34
64
69
25
68
61
53
36
47
77
60
67
22
37
26
78
45
27
66
27
78
43
32
47
52
57
44
78
55
26
76
62
36
43
52
46
29
46
60
49
25
70
34
59
73
40
28
46
42
44
71
44
74
56
75
78
48
64
65
60
43
37
26
22
41
38
50
68
50
60
77
60
76
80
78
72
71
25
29
50
69
38
52
61
45
57
31
29
22
49
44
41
26
43
52
71
78
62
47
34
29
67
22
45
57
31
27
44
33
28
29
46
79
57
79
62
74
25
70
39
44
27
47
54
25
39
53
77
55
60
31
33
20
44
29
62
63
27
21
20
23
78
56
32
72
49
65
21
26
76
60
77
57
52
23
45
48
25
51
61
57
27
63
75
49
80
52
62
77
54
43
50
69
50
71
79
66
27
44
25
50
46
58
21
38
29
28
45
50
23
45
74
45
41
59
53
28
71
48
67
44
51
56
41
57
60
56
46
63
64
35
42
32
74
41
75
57
65
37
33
80
46
57
48
26
45
50
39
65
46
74
61
67
70
53
73
80
27
67
37
21
62
20
58
43
53
51
33
44
61
71
29
78
44
35
48
39
63
63
68
69
35
48
25
69
38
26
51
71
42
62
22
48
40
79
45
36
77
53
38
73
60
28
72
50
32
29
74
59
74
63
20
44
37
27
46
74
45
48
64
51
70
45
80
37
55
64
57
31
79
66
50
42
37
72
56
21
66
29
51
29
68
80
46
72
43
46
75
57
68
67
35
29
36
53
37
31
42
29
29
65
31
48
36
31
66
56
51
53
28
47
74
43
38
67
23
56
73
32
62
56
64
67
53
45
44
38
75
29
36
72
68
78
49
20
73
39
62
60
68
31
46
50
28
65
80
25
66
51
68
65
60
31
79
79
72
27
62
54
61
23
21
32
31
23
44
78
79
58
79
65
61
31
52
21
71
30
35
29
55
76
41
61
20
48
58
52
56
53
27
68
42
27
24
40
69
64
67
39
79
74
62
35
45
67
61
40
24
30
68
43
46
78
25
38
45
41
60
54
74
39
61
60
55
41
75
30
50
77
74
63
24
22
24
35
27
43
52
23
27
32
57
47
60
45
28
40
45
55
26
55
79
41
43
38
78
51
72
34
46
80
21
63
22
45
55
26
31
44
79
20
57
43
65
30
69
20
39
59
70
25
76
27
43
35
24
65
29
57
46
47
77
47
46
24
75
38
29
65
32
58
63
52
40
64
24
54
66
37
46
64
68
35
79
37
25
48
25
66
80
29
49
70
78
21
67
28
34
33
30
56
34
39
44
65
27
46
68
43
56
68
24
59
60
45
35
21
58
34
29
65
33
57
40
27
75
51
29
30
33
71
22
36
21
40
56
60
80
67
63
20
72
75
70
70
51
41
23
70
67
39
57
24
22
41
55
34
48
57
39
75
51
42
27
67
46
56
49
26
75
30
50
71
80
24
20
62
65
78
28
32
54
44
61
70
69
55
69
71
64
70
45
68
80
68
63
56
46
56
80
29
67
72
43
25
60
50
67
63
68
21
29
75
60
79
80
56
49
46
24
52
38
36
52
68
79
36
77
80
21
43
75
59
54
48
41
77
50
36
71
27
47
79
21
67
39
49
48
57
34
28
30
32
54
43
74
55
43
64
67
64
33
53
56
49
22
55
41
25
63
29
31
24
33
75
41
30
40
60
79
43
29
79
79
33
27
77
44
46
64
46
44
53
59
48
38
50
77
74
79
70
24
57
77
47
69
65
20
80
65
76
58
41
67
41
21
50
50
49
26
61
54
63
79
30
42
22
40
35
21
50
54
49
69
51
76
75
34
24
65
67
63
42
23
77
62
34
64
47
57
37
80
45
33
71
48
32
29
30
65
64
65
71
44
32
71
28
39
20
68
64
69
76
77
51
79
77
41
79
60
24
65
21
68
29
54
75
43
48
21
80
77
53
60
55
50
31
78
70
35
31
61
80
68
77
32
68
62
35
42
41
30
51
46
45
56
61
32
74
67
30
51
79
65
31
29
39
37
49
40
80
31
20
45
24
39
33
61
62
35
51
55
40
49
30
60
68
46
57
28
68
33
52
70
36
40
79
59
32
36
70
72
58
54
36
25
56
27
47
27
63
40
58
37
63
75
20
73
78
76
52
21
69
59
44
67
53
67
68
49
31
35
46
23
38
79
34
36
46
69
75
23
20
61
23
40
46
49
44
59
58
50
50
53
63
71
25
70
66
37
48
24
52
53
61
64
60
62
72
54
40
79
23
67
69
45
66
41
34
21
42
71
24
36
31
42
45
35
46
73
41
30
35
77
62
79
53
76
46
73
24
40
66
39
29
80
46
20
28
67
38
37
37
55
60
79
65
62
28
57
76
73
44
54
76
63
51
59
38
80
64
65
31
64
79
68
37
76
33
65
49
41
73
61
77
58
44
59
66
74
55
75
78
49
51
57
53
34
69
58
60
66
21
70
30
63
23
70
30
58
80
33
59
74
54
22
73
57
53
57
32
58
28
25
50
51
36
64
34
55
38
42
42
79
57
30
24
63
79
61
57
69
45
36
77
74
56
79
56
68
78
20
63
70
29
35
57
29
53
25
58
38
73
79
29
59
34
31
54
41
21
67
61
73
76
53
42
48
78
36
51
43
60
57
36
56
57
50
33
43
52
38
22
35
35
36
28
57
62
72
34
39
25
30
42
62
54
41
33
65
27
22
76
67
39
38
68
52
38
36
42
70
38
44
59
75
71
66
61
48
50
55
40
64
25
28
26
32
42
27
66
71
26
58
24
80
49
66
20
78
76
32
79
22
57
58
36
40
34
38
49
30
31
29
25
60
62
59
73
75
53
69
52
49
71
37
59
27
38
66
64
28
41
67
50
26
55
25
76
45
72
67
43
37
26
52
55
67
69
21
78
57
47
78
51
68
75
20
69
34
55
78
27
73
20
32
31
53
26
72
42
71
71
36
37
71
56
67
31
53
54
75
41
38
33
27
80
78
51
54
61
76
39
73
23
29
36
37
76
72
23
78
30
41
57
43
62
76
69
55
37
38
80
63
73
66
25
60
45
25
30
29
74
53
22
56
29
37
20
45
66
25
76
76
67
66
49
38
48
65
72
24
21
25
28
67
21
39
51
39
65
75
35
26
20
77
80
66
54
29
44
51
28
36
71
22
36
31
73
48
37
40
46
54
28
26
27
30
35
20
20
49
72
56
32
74
21
27
52
23
22
73
48
36
77
57
36
51
79
30
57
42
40
30
23
72
53
24
33
64
27
44
61
38
54
48
25
69
50
28
39
28
55
37
24
34
60
61
60
78
61
73
74
77
32
80
53
78
43
38
42
29
27
36
51
79
58
70
40
55
73
20
63
78
57
53
71
24
25
53
63
20
20
28
27
76
62
65
39
50
70
52
39
34
79
31
43
61
31
67
24
44
52
72
61
60
21
76
37
71
66
53
35
26
29
65
72
70
56
49
69
30
74
50
33
71
67
30
59
20
49
79
53
42
73
32
37
67
29
70
69
49
72
38
28
54
60
57
31
21
30
68
58
79
57
31
36
57
71
72
74
32
72
43
79
38
33
41
62
73
70
34
30
26
24
29
48
71
21
75
36
51
71
77
78
61
64
25
40
72
69
80
68
38
21
42
20
63
59
62
45
77
62
32
62
70
68
24
20
73
72
38
66
43
42
40
65
79
22
76
64
41
30
39
35
48
57
25
27
24
69
66
38
58
29
75
73
73
40
69
69
67
26
28
59
32
50
35
23
57
34
42
27
60
54
71
73
62
26
63
60
62
60
56
65
57
71
47
68
69
50
41
25
48
69
63
53
40
23
49
21
61
31
37
59
72
47
53
47
46
74
20
25
45
79
77
62
74
54
55
78
67
78
40
46
77
77
46
51
76
31
22
41
58
68
20
70
79
29
44
21
62
66
48
67
43
71
26
67
68
73
22
74
59
35
64
73
33
59
80
52
66
42
205
79
134
89
123
144
244
172
76
111
107
84
91
205
182
215
94
173
123
162
203
231
179
247
220
134
179
213
114
206
135
248
243
163
163
211
167
182
158
197
166
126
237
193
110
222
175
121
114
116
209
172
153
145
161
172
165
183
209
214
207
133
162
249
194
107
226
180
108
90
243
239
169
195
89
229
87
156
197
93
205
185
124
211
148
126
213
71
141
104
134
232
177
190
183
181
121
200
241
185
90
221
80
128
120
123
113
229
166
73
89
82
156
81
216
172
151
160
143
213
139
137
99
97
165
165
146
74
134
117
119
168
98
140
250
118
132
191
157
223
166
117
182
236
203
233
83
105
170
198
125
131
231
105
238
195
208
148
87
217
223
209
182
108
190
147
133
230
89
78
226
173
212
182
160
203
111
80
201
199
231
238
222
171
211
98
210
241
185
155
74
142
108
247
178
152
92
74
141
112
84
233
215
76
125
203
180
228
215
132
83
232
162
211
73
208
220
129
84
77
196
244
76
183
145
217
141
143
239
112
221
234
101
153
158
117
152
114
149
148
188
110
130
108
196
156
219
77
226
110
232
231
249
180
100
71
97
81
210
228
184
245
227
88
100
216
240
131
100
132
154
70
152
129
168
204
83
161
174
230
217
91
121
145
188
137
242
142
110
222
151
198
78
168
212
241
208
194
161
166
159
160
140
217
70
148
196
89
115
73
116
106
219
184
89
139
189
131
121
138
215
177
79
194
142
197
176
230
157
192
76
101
130
118
128
233
177
125
217
218
226
223
121
199
189
207
97
124
146
239
71
196
122
153
139
234
81
97
118
140
218
125
154
199
126
194
222
122
194
145
226
193
77
246
119
172
154
176
111
112
177
177
238
182
195
159
144
203
134
169
80
228
198
126
203
245
221
132
235
140
240
237
72
137
95
245
246
244
197
243
214
112
132
75
76
211
159
157
188
243
153
121
216
235
103
187
143
122
227
96
250
214
170
179
231
139
226
130
207
197
173
182
224
229
134
126
189
78
100
147
247
84
182
234
136
138
109
79
184
226
161
126
144
235
78
214
153
119
190
176
184
105
248
124
134
227
220
228
243
229
220
92
246
147
126
116
176
135
93
110
238
192
71
237
243
196
86
212
167
206
85
150
94
186
194
104
180
150
250
110
197
93
187
163
235
207
83
122
179
130
190
195
121
204
132
102
156
133
141
72
168
111
147
217
84
219
151
206
160
105
199
240
70
174
197
148
72
135
75
186
235
77
245
229
169
116
168
245
165
205
74
154
158
118
79
165
232
126
220
214
114
188
194
240
185
188
202
182
208
90
89
111
185
89
203
82
89
204
126
118
153
212
132
217
209
116
154
243
244
206
230
150
244
173
141
114
154
99
103
242
228
108
201
207
92
125
220
129
141
86
180
197
221
237
197
179
194
152
211
214
146
154
236
172
189
191
98
173
112
224
134
127
78
207
117
186
236
127
230
245
122
173
94
110
73
185
124
129
246
232
192
238
176
80
178
222
170
247
133
221
123
112
220
146
217
160
244
152
102
110
91
198
88
90
154
129
168
250
187
186
203
239
153
136
243
238
138
213
87
116
194
177
80
190
186
201
126
106
123
227
134
101
232
128
80
102
203
230
186
91
138
75
177
113
100
71
76
85
72
198
86
224
138
153
125
76
95
161
199
186
174
180
105
199
121
106
182
186
139
95
245
73
150
193
211
144
149
151
222
225
203
211
224
116
102
195
74
127
176
227
166
189
98
163
234
92
105
129
222
168
183
175
176
150
79
102
190
170
101
220
150
219
127
182
179
85
231
206
127
91
166
159
197
118
109
238
224
171
214
227
230
102
71
85
89
153
184
122
166
118
163
194
137
135
236
132
148
103
94
149
172
112
134
154
121
116
210
72
125
184
141
88
168
118
217
95
104
117
130
250
120
250
174
243
207
78
143
94
73
104
208
243
70
214
172
116
234
194
190
98
151
237
178
125
212
241
114
149
233
203
238
175
99
72
191
242
235
96
100
127
162
139
123
204
86
212
135
161
104
100
248
230
119
136
230
212
76
113
230
141
215
87
214
241
145
226
217
178
136
108
112
74
95
178
220
113
187
169
115
135
82
101
216
228
249
234
179
112
95
200
233
154
226
248
206
96
229
167
70
153
149
92
166
100
79
210
120
236
141
88
120
122
74
115
103
140
208
204
121
89
232
197
86
206
93
133
249
197
158
204
249
248
159
222
82
227
72
202
119
231
240
121
154
75
223
154
138
215
223
227
224
217
75
74
86
232
211
78
205
233
249
215
129
126
72
227
191
179
212
237
112
116
230
183
152
107
153
165
79
88
246
248
88
108
153
237
190
175
210
198
86
71
181
243
237
203
159
208
85
214
115
238
187
237
230
133
164
134
181
162
198
131
126
218
212
223
132
83
201
230
186
76
82
116
191
123
133
243
132
126
155
154
174
149
83
154
99
231
179
77
109
128
206
144
97
125
144
161
136
245
141
82
211
125
117
244
148
245
131
177
219
202
119
246
186
197
223
179
243
202
213
199
238
173
187
76
166
138
138
197
156
227
247
105
243
133
191
108
134
181
243
220
236
76
90
111
161
203
131
171
163
159
124
88
187
214
191
110
151
118
78
96
225
123
239
128
181
206
75
189
128
160
128
163
141
245
155
90
85
204
219
200
74
215
166
215
168
212
70
108
94
77
121
178
179
72
216
231
149
80
119
240
91
73
109
203
112
95
239
102
86
223
121
182
207
207
218
85
232
169
96
215
93
205
208
104
239
216
173
129
129
113
181
200
131
118
127
83
84
233
207
72
178
159
158
70
146
245
242
143
206
160
125
119
220
218
241
232
165
110
227
215
173
199
222
228
154
238
124
90
143
151
216
149
76
225
142
79
189
123
77
103
203
81
90
81
234
146
165
125
97
148
95
82
111
231
244
200
140
220
101
243
91
239
248
183
250
250
79
239
108
89
246
246
96
149
180
223
89
94
183
225
130
175
188
71
189
86
89
178
152
74
225
177
132
151
100
164
116
141
224
108
96
218
181
71
207
192
159
218
237
182
167
108
239
85
115
85
235
203
84
145
183
84
72
239
141
185
222
183
169
99
205
74
121
200
201
144
163
87
115
207
139
163
123
119
250
154
193
245
176
175
157
238
80
88
190
203
129
215
203
173
234
132
194
126
212
103
214
152
198
139
182
135
214
247
123
197
166
199
246
111
189
104
126
144
127
114
156
103
234
189
172
200
86
225
231
141
245
82
194
119
187
161
74
219
148
233
148
113
117
97
156
203
158
187
133
124
209
165
99
124
151
198
208
209
181
187
241
120
109
121
167
167
134
246
224
118
113
96
84
92
90
97
224
119
108
180
166
91
230
123
143
165
116
92
200
185
165
233
118
228
171
114
250
102
123
196
190
138
247
139
170
177
218
209
121
244
133
104
156
182
175
90
143
249
222
130
219
209
132
226
212
143
99
164
217
155
151
227
198
130
156
162
191
235
180
155
140
198
132
160
93
212
198
192
183
103
183
212
235
180
116
234
180
184
233
244
211
148
92
155
237
148
179
71
131
165
185
228
80
211
103
76
129
245
236
168
157
186
191
175
195
113
97
70
212
179
237
205
75
175
159
162
249
201
90
101
222
173
225
132
149
234
71
157
236
169
193
115
187
228
218
207
91
243
172
97
88
91
110
142
183
100
219
174
177
100
192
142
137
217
241
151
215
83
228
188
222
100
113
235
158
139
98
247
81
179
76
211
101
87
247
163
132
105
247
72
132
77
208
126
221
187
129
158
167
192
182
171
228
137
240
177
99
154
154
237
78
150
218
249
108
72
172
91
156
89
129
172
131
147
182
223
170
163
97
132
125
82
237
139
219
133
121
117
207
113
129
145
208
164
225
166
92
161
169
241
231
155
98
205
101
199
88
133
203
224
162
180
136
152
125
145
152
119
194
238
120
90
154
131
162
125
208
165
120
230
134
149
169
169
240
137
210
116
181
74
180
249
77
90
106
150
82
140
189
94
85
164
200
133
235
128
114
202
239
172
93
73
219
98
86
139
219
148
186
214
150
225
245
230
115
135
128
189
104
242
109
153
170
195
145
116
138
134
209
165
106
211
218
125
81
151
126
247
140
144
193
90
152
174
184
162
182
248
174
91
104
105
240
232
197
243
117
159
79
201
173
177
110
186
133
105
72
93
211
132
198
87
114
205
224
235
203
192
185
156
175
142
216
212
203
235
213
169
130
102
84
140
125
116
232
225
200
216
82
226
114
71
232
227
137
155
248
233
242
211
168
87
201
77
186
119
238
239
178
81
236
224
192
212
187
158
88
130
82
138
231
112
169
226
141
196
245
235
149
227
150
248
146
217
169
180
160
91
72
195
200
115
123
135
128
220
150
144
108
132
110
146
232
215
181
243
118
241
145
160
133
136
74
157
167
183
137
135
242
237
202
204
97
202
131
130
165
218
228
169
247
86
103
200
181
202
158
98
105
220
213
248
163
226
95
184
176
243
187
249
104
136
188
199
206
172
88
96
139
129
98
92
141
185
87
174
146
188
245
100
88
88
174
160
94
190
127
88
107
248
212
233
150
165
108
87
117
189
208
187
236
213
210
180
177
150
212
141
150
138
113
112
190
167
157
118
127
187
173
243
103
132
147
193
160
234
90
162
119
104
134
118
196
203
186
242
151
182
111
249
84
219
166
234
176
158
116
237
159
87
73
227
104
243
230
180
189
122
164
146
186
214
152
212
232
178
115
236
157
123
237
133
82
73
95
232
218
195
102
246
88
134
131
174
87
194
95
104
230
136
218
188
95
231
242
244
120
245
149
114
96
133
73
167
170
134
170
127
163
220
131
205
186
87
132
209
113
197
158
104
111
116
238
109
170
180
106
117
106
113
169
121
184
213
182
199
174
95
230
206
119
179
219
176
154
74
214
243
160
167
127
126
225
183
93
91
218
163
207
211
79
95
246
90
192
135
197
88
104
177
159
250
141
197
87
104
90
170
123
74
77
191
243
148
152
181
135
135
167
89
170
200
142
133
111
143
168
181
94
245
165
111
243
114
193
231
206
94
130
139
138
74
88
71
104
174
236
236
153
188
150
71
216
184
185
235
98
236
215
154
100
128
198
187
72
84
160
189
174
184
242
98
124
201
109
148
244
74
175
174
141
147
206
227
167
97
122
86
148
227
92
116
249
127
162
114
73
137
153
223
126
158
80
109
222
242
111
229
223
108
177
242
99
224
142
183
189
87
244
99
106
170
157
127
139
198
95
226
248
192
236
124
209
122
77
233
194
229
190
122
162
168
84
248
181
218
155
250
206
145
243
164
88
218
107
204
206
233
126
220
123
177
184
75
147
179
139
189
200
151
112
206
131
94
245
247
87
113
104
131
159
206
92
104
187
224
170
239
75
179
130
138
121
178
150
240
236
149
114
141
89
176
239
192
83
112
181
234
104
180
198
218
121
155
168
106
134
159
232
189
148
123
147
74
226
245
217
183
211
92
94
75
247
236
80
166
138
124
174
161
127
170
226
233
93
178
140
89
221
105
206
169
176
183
125
159
218
183
93
195
112
71
222
101
209
115
146
220
249
91
80
247
100
113
158
131
157
111
119
221
82
219
172
103
75
242
224
108
167
144
76
212
108
181
121
197
163
135
184
243
157
128
205
173
106
87
78
171
142
188
190
119
172
78
172
224
206
92
202
242
225
161
71
128
137
240
241
244
93
193
210
127
158
155
235
201
203
239
206
201
186
185
195
83
175
194
149
113
246
140
146
170
143
211
205
74
81
110
220
209
113
242
215
247
124
87
183
228
80
234
201
176
214
117
246
153
91
230
163
185
231
208
113
81
116
144
237
234
148
220
206
149
202
108
151
215
231
212
130
98
98
245
91
164
195
181
224
142
145
96
197
219
135
178
119
210
111
78
90
217
71
146
190
214
106
76
86
137
245
209
113
193
142
205
223
230
206
118
74
159
219
162
207
217
78
151
172
164
190
200
72
193
164
156
108
131
128
165
141
247
174
242
220
239
79
106
140
224
148
236
212
195
196
81
236
142
183
125
75
125
172
138
181
92
151
167
122
233
164
153
101
143
200
74
72
187
128
242
70
163
72
191
137
209
149
94
181
176
197
190
87
108
94
111
221
131
191
179
143
163
154
158
214
102
167
159
196
179
116
157
245
162
162
176
177
70
121
80
234
159
141
87
76
196
105
195
153
117
193
197
209
166
208
151
166
218
149
221
119
108
191
204
104
89
183
148
138
97
118
157
169
165
182
232
226
137
97
79
247
241
106
186
89
158
88
89
86
131
231
241
129
153
77
89
135
124
88
97
143
104
201
227
141
234
221
173
74
215
80
153
204
139
186
85
116
122
247
191
191
239
182
145
199
144
239
230
144
146
168
178
175
246
116
94
197
228
117
136
118
216
227
128
87
229
202
173
129
128
121
158
233
141
229
230
146
116
191
152
92
123
195
242
147
140
129
91
77
135
162
182
243
95
139
232
164
206
74
125
142
125
148
191
133
131
207
130
88
87
103
193
240
176
239
118
148
242
192
236
129
115
214
235
209
244
129
122
164
197
124
249
185
204
220
202
121
193
173
81
187
196
160
166
187
96
78
144
175
95
121
123
87
104
222
160
206
138
240
123
79
97
179
193
213
153
149
136
220
229
188
202
139
100
243
227
225
94
248
219
123
76
190
70
156
236
161
179
158
151
208
243
126
125
100
154
77
102
106
237
147
153
144
96
234
116
83
242
92
155
247
109
214
161
148
218
138
89
162
249
132
212
146
193
207
99
76
148
121
144
224
128
94
186
163
95
216
124
118
246
79
75
142
203
160
184
199
223
204
154
218
89
75
143
226
131
70
233
221
244
228
79
87
164
101
242
248
105
241
172
70
225
93
131
131
145
156
224
218
239
141
86
112
72
225
235
141
163
195
205
201
114
113
183
152
182
191
247
124
204
133
163
107
114
117
230
83
90
97
104
178
123
175
187
83
169
233
236
75
205
225
169
130
152
186
220
250
150
154
218
200
168
202
172
81
151
76
184
76
183
227
208
246
106
154
190
144
182
84
88
152
99
216
86
176
99
240
249
225
118
88
225
154
217
203
212
119
242
202
80
219
210
241
239
157
112
140
87
132
135
169
185
141
172
156
156
109
113
161
196
238
207
177
132
207
247
213
160
160
216
198
73
142
167
237
190
224
156
159
198
249
98
112
198
148
196
249
227
178
177
209
234
188
106
232
210
144
177
222
174
210
71
110
176
209
230
95
162
94
213
205
247
212
223
174
97
215
158
102
235
241
134
234
90
73
242
154
182
248
79
175
223
179
94
167
105
73
149
153
231
130
249
210
190
93
230
90
205
217
215
206
178
214
195
113
161
173
128
224
158
173
206
186
79
124
147
153
190
126
240
82
240
121
218
229
146
232
173
244
204
249
84
246
107
84
118
228
180
100
225
236
82
132
71
219
77
190
100
194
83
72
101
89
82
71
159
146
80
193
211
219
85
178
177
84
112
77
186
163
212
203
241
129
102
212
131
165
80
135
156
244
95
203
162
152
199
177
164
147
237
243
213
89
239
148
187
82
222
203
185
209
113
144
226
250
223
105
175
180
196
96
236
78
232
145
214
112
161
130
110
117
243
79
99
77
202
178
144
179
247
134
157
191
125
115
127
112
192
208
231
97
101
120
250
110
230
250
182
128
146
217
128
70
105
120
98
223
179
205
187
216
120
196
77
168
171
112
71
222
182
209
145
107
191
119
107
166
84
134
162
141
198
84
213
186
133
176
188
136
123
80
74
164
165
158
249
204
100
77
102
109
159
248
243
74
94
221
78
114
168
190
102
108
222
139
157
223
247
175
243
231
214
102
201
95
201
110
117
82
186
206
202
192
114
142
80
208
141
203
189
101
231
182
102
105
175
123
147
190
177
79
123
124
85
174
146
95
240
209
202
95
202
209
201
195
164
77
96
181
133
199
246
143
170
102
77
84
182
135
118
82
242
92
224
170
140
241
122
74
209
249
71
75
172
225
151
187
201
139
178
128
186
218
244
144
244
72
169
186
215
204
143
73
126
196
189
137
109
166
220
132
142
85
143
202
216
192
79
162
247
213
160
166
193
179
199
241
205
118
125
228
194
244
197
153
117
168
225
216
235
135
89
162
162
248
187
144
87
204
154
231
83
228
162
246
201
212
115
145
127
207
214
132
89
222
203
86
245
114
99
118
153
208
144
158
90
166
125
227
231
101
231
245
87
140
238
192
112
152
207
159
95
81
77
217
117
161
75
197
235
219
193
79
238
142
135
75
206
151
243
207
231
128
233
99
217
148
130
225
174
243
148
116
220
105
226
121
144
117
229
103
154
77
137
223
192
113
134
97
165
249
198
159
71
134
93
94
198
109
185
244
76
174
132
101
87
141
238
162
233
116
77
212
124
105
180
95
143
96
72
200
127
194
237
148
70
157
201
195
208
137
231
116
174
133
125
99
82
202
148
96
239
150
85
87
88
101
217
76
240
88
133
108
139
188
174
114
71
150
174
89
188
203
207
84
122
230
198
163
158
146
183
243
203
216
92
234
241
222
193
226
70
166
197
97
112
168
243
167
200
81
154
157
146
217
221
122
230
207
246
221
214
235
179
106
184
204
197
205
214
192
214
168
88
218
85
111
81
227
227
218
215
93
147
83
206
250
160
129
131
194
188
137
109
102
99
206
138
219
180
200
238
134
243
174
184
91
224
240
209
157
246
223
229
173
71
79
108
215
162
191
75
112
213
148
98
92
221
121
233
115
100
168
142
92
169
144
110
203
106
85
183
114
215
238
174
81
88
116
220
230
164
139
233
244
162
135
75
148
101
71
232
164
75
77
189
134
108
86
171
177
217
211
101
233
93
137
249
157
72
139
183
149
70
237
162
225
194
219
162
212
244
72
126
105
118
97
92
188
127
169
151
149
114
227
123
135
242
219
250
146
196
232
175
145
196
71
96
212
229
116
185
220
146
134
234
160
161
122
236
185
89
186
112
102
85
149
84
155
218
151
118
247
98
130
182
133
207
178
108
110
85
186
137
182
185
79
205
141
133
90
73
164
113
97
84
125
241
204
189
117
84
248
198
74
96
127
88
163
163
157
100
107
217
178
168
194
236
218
124
142
226
235
150
88
99
193
155
243
150
203
79
150
200
147
77
170
76
79
241
89
172
114
92
132
165
129
107
100
212
164
84
76
176
90
211
169
182
123
211
140
179
233
243
101
241
167
250
130
249
205
199
134
152
135
133
181
182
105
221
128
166
225
90
175
73
171
118
166
92
144
207
164
114
146
200
105
122
198
228
178
203
149
199
225
123
78
240
118
111
166
83
85
221
168
110
139
179
246
154
88
197
111
226
215
143
212
108
198
98
164
138
179
102
249
109
174
74
191
144
191
108
198
181
84
227
151
168
187
228
245
236
225
93
127
247
194
210
190
133
76
133
76
243
97
91
241
158
93
71
182
231
218
129
204
225
227
107
130
186
206
139
128
149
213
163
194
204
81
248
135
162
110
146
170
71
222
209
186
154
188
97
180
136
196
94
133
97
244
140
193
156
97
203
77
163
116
223
101
167
180
79
185
171
184
203
226
242
233
157
118
73
236
187
172
109
111
166
155
177
230
236
97
175
174
212
164
243
94
85
141
162
108
215
237
240
223
140
86
93
85
117
70
216
113
109
212
79
108
145
170
93
126
107
218
219
141
194
101
152
155
74
174
77
137
88
127
173
226
137
135
229
162
192
197
139
74
78
104
222
77
153
129
208
214
73
73
103
137
218
117
226
92
234
188
174
125
136
218
117
123
73
173
81
84
176
128
233
112
118
72
217
142
232
189
138
224
79
169
217
186
94
214
156
117
207
107
224
78
194
165
140
247
89
74
141
229
72
237
180
76
128
239
197
72
107
200
112
232
80
222
179
121
183
70
202
250
218
99
174
153
151
224
250
209
174
146
243
232
156
227
248
148
240
109
186
198
85
102
186
226
159
220
77
212
238
150
97
175
198
248
91
117
138
227
102
156
151
247
88
217
172
235
209
130
86
203
84
126
175
127
192
228
233
163
246
223
88
111
94
101
82
203
111
72
99
117
222
174
104
125
214
220
215
169
137
223
111
250
181
135
120
99
206
205
248
121
155
88
207
236
237
189
226
190
119
81
222
120
244
207
188
211
128
162
151
118
229
129
80
95
203
142
243
226
216
166
208
139
80
249
242
181
112
186
245
241
129
181
190
165
160
127
162
153
156
216
134
133
169
100
197
161
76
118
196
250
210
222
224
236
117
178
225
99
82
128
122
190
160
230
233
121
212
181
123
158
175
236
111
221
172
103
205
148
152
243
191
172
202
216
248
230
91
232
74
235
70
205
187
102
192
240
118
145
129
233
210
130
115
235
169
140
138
105
98
182
207
126
87
120
73
99
176
195
168
247
214
234
173
187
181
74
120
176
137
124
127
202
81
200
236
82
84
244
137
155
202
186
231
97
198
181
205
76
72
113
121
168
238
105
232
234
186
108
83
183
212
93
89
173
74
224
115
107
208
207
232
102
70
75
116
242
139
222
213
80
188
168
180
92
155
233
146
108
228
133
242
74
144
183
170
126
84
146
70
92
223
240
173
248
122
204
153
214
123
77
145
234
194
195
170
124
120
127
73
242
168
148
185
110
199
79
96
224
136
72
117
139
72
98
226
124
78
130
157
118
70
89
210
190
148
106
197
178
142
232
93
180
219
177
139
241
226
164
188
221
240
143
86
141
75
77
132
170
130
82
238
94
120
242
130
246
231
170
92
220
154
177
241
194
222
227
229
100
175
107
144
224
118
191
146
214
213
114
195
178
209
205
177
235
170
187
147
233
150
238
161
205
201
153
228
72
96
145
77
167
236
132
192
191
131
76
79
202
250
172
212
143
172
191
242
88
172
238
113
194
72
222
73
239
138
100
154
73
199
130
150
132
127
214
177
79
169
98
244
171
183
97
144
153
220
217
228
112
196
218
116
164
215
77
146
194
188
239
97
127
234
220
220
96
235
192
144
193
202
104
242
227
218
71
214
155
202
231
151
114
209
222
94
226
87
190
171
177
186
244
170
116
219
85
147
177
212
210
190
162
223
149
206
206
185
172
116
208
99
127
71
179
147
110
117
230
127
73
250
90
89
131
207
110
218
86
139
137
158
108
235
147
221
115
232
229
106
142
223
81
80
108
234
237
231
191
175
242
187
244
77
177
78
99
157
132
95
194
194
76
132
86
219
231
148
243
215
74
140
246
101
197
171
118
94
133
95
243
178
141
139
195
194
119
189
152
121
110
242
174
166
163
116
96
101
235
87
179
217
140
76
225
92
184
196
221
103
150
171
92
83
241
138
198
191
157
161
179
119
92
96
178
190
138
164
118
155
167
215
184
169
232
129
169
78
122
183
88
212
176
204
126
210
146
158
88
242
245
120
240
166
97
196
137
245
195
210
81
125
143
91
197
188
109
98
80
85
216
229
154
200
122
181
95
215
134
187
153
166
189
111
129
147
128
117
105
96
129
99
204
96
194
149
204
87
244
159
164
218
121
180
231
214
98
166
214
166
161
149
156
82
75
147
174
83
160
78
239
90
127
199
148
243
199
195
173
116
130
166
237
127
175
105
79
203
143
189
191
242
177
227
119
157
129
80
119
103
204
141
87
93
166
205
101
114
234
78
129
112
154
157
139
124
129
81
109
248
177
229
108
118
151
227
224
218
214
120
80
216
99
237
129
217
150
146
173
127
72
83
84
234
73
137
103
219
155
249
208
143
226
111
179
116
189
136
125
114
110
96
117
86
236
193
123
201
136
106
177
164
127
137
232
161
111
75
75
102
80
180
140
108
219
175
93
120
160
240
119
246
160
134
129
193
226
186
197
233
199
185
108
131
229
133
130
158
173
246
154
203
131
210
182
249
151
171
179
212
165
151
226
141
135
109
183
116
120
191
248
203
97
72
215
207
89
85
124
135
222
143
122
167
243
247
201
146
132
83
177
192
140
201
250
149
154
90
178
108
210
178
145
135
203
104
195
203
250
198
121
110
70
204
105
118
232
192
192
134
194
113
235
115
128
152
237
217
248
185
184
235
78
117
137
205
154
140
168
175
194
88
167
181
193
228
185
200
159
222
105
153
210
91
182
97
237
92
127
229
206
121
169
102
130
147
250
83
104
208
225
206
247
90
103
183
107
85
205
172
234
94
218
173
89
100
247
180
241
195
74
102
240
236
137
143
72
134
107
175
234
228
158
77
169
190
180
89
195
80
85
237
143
90
172
204
191
149
164
183
148
244
209
219
77
223
153
188
191
238
103
90
148
208
248
220
98
114
148
121
72
124
245
191
210
236
193
214
145
112
244
175
140
198
121
222
194
177
125
234
193
140
209
98
168
170
185
135
243
81
96
213
217
119
95
144
187
198
78
158
145
123
76
250
112
116
96
117
176
138
206
127
98
140
207
222
241
164
126
243
100
227
234
142
116
103
101
222
88
196
232
244
196
187
243
133
201
127
166
158
196
140
187
171
248
107
199
73
198
227
176
163
173
138
166
135
177
225
236
240
211
159
122
249
115
196
90
232
186
246
177
219
140
136
116
100
235
141
246
75
239
201
230
108
181
177
79
190
191
198
137
77
223
231
87
206
220
174
143
189
77
222
171
195
88
123
229
111
249
243
153
186
170
107
195
228
120
177
233
247
82
145
217
165
174
74
233
89
130
171
212
135
170
185
136
95
118
73
129
116
154
232
239
72
149
177
202
247
122
181
153
157
172
141
222
138
125
214
150
250
214
145
192
187
211
230
216
153
101
192
156
201
234
88
164
182
81
239
185
165
223
123
138
80
155
151
162
127
73
128
73
142
122
113
140
86
123
189
87
72
150
158
230
161
98
106
107
187
121
133
158
78
210
139
158
183
89
82
145
90
172
180
218
175
222
227
79
217
134
174
199
204
81
140
221
101
98
102
229
205
237
94
198
182
87
232
91
239
107
187
203
147
213
243
100
224
95
152
166
198
230
236
138
191
107
179
167
214
244
127
247
127
112
105
146
189
189
143
242
204
88
111
95
217
158
136
214
141
202
144
176
214
147
214
71
168
206
214
247
199
228
151
230
231
108
166
115
214
222
117
120
147
169
152
176
192
81
129
87
102
117
236
190
137
71
104
109
224
133
150
157
79
139
206
121
73
74
92
82
129
236
182
218
219
93
230
211
227
108
79
220
74
162
248
113
173
158
210
157
213
176
179
247
181
160
245
244
130
180
240
107
104
99
230
74
132
165
187
81
107
193
212
112
118
227
191
197
217
125
155
145
148
180
96
191
135
183
243
158
91
192
157
95
115
198
211
236
231
184
209
203
212
190
238
94
184
140
75
120
140
74
127
195
216
96
163
195
85
180
73
213
163
214
234
95
134
110
204
184
213
119
242
190
125
89
170
171
141
104
238
133
238
71
138
127
178
201
114
96
74
75
242
139
116
101
221
83
105
79
200
132
105
166
146
147
164
138
150
199
106
187
101
248
131
151
98
250
185
131
147
95
100
110
232
191
164
135
142
80
193
222
169
242
237
82
154
79
164
156
165
83
108
151
110
91
226
198
242
104
103
210
136
92
244
243
104
208
220
82
237
156
195
101
165
100
170
234
231
214
197
213
86
111
192
234
163
113
70
124
195
140
78
81
219
237
129
225
75
79
83
79
109
70
222
157
110
212
134
115
172
147
166
226
163
229
147
80
117
109
226
95
213
176
128
231
104
245
211
217
192
120
89
179
147
232
159
135
242
145
169
102
76
77
177
127
103
137
174
130
199
75
208
92
233
225
245
190
193
112
177
197
86
84
119
144
140
126
121
223
150
153
217
215
187
88
154
231
198
197
145
132
177
162
240
159
233
222
210
124
149
233
95
164
88
215
236
203
116
96
168
243
206
234
170
246
201
138
239
216
92
191
222
128
147
224
187
216
217
180
212
203
178
181
73
115
140
137
149
183
158
139
83
88
189
142
137
216
247
249
206
108
216
235
186
135
172
137
148
227
130
243
241
246
77
164
156
224
70
99
119
209
152
128
146
184
179
121
162
203
196
231
125
239
103
237
175
132
178
161
160
119
108
131
167
115
179
214
215
135
171
147
238
188
105
148
185
139
149
117
192
192
81
138
88
197
95
240
81
113
218
107
93
187
235
92
90
104
162
182
106
149
211
79
161
86
122
120
74
162
174
155
209
201
131
117
207
150
96
125
132
125
127
156
148
244
227
247
130
119
129
184
115
195
249
76
133
103
176
74
180
130
146
239
240
124
91
199
247
148
93
170
208
93
161
238
236
210
148
127
133
89
196
97
163
147
220
164
110
207
127
245
140
212
192
207
195
243
211
90
215
111
219
250
174
230
196
124
144
140
79
199
158
143
187
178
167
135
172
137
101
145
150
219
176
225
106
163
89
195
138
130
144
78
82
227
115
178
132
178
204
194
223
150
211
81
239
236
159
223
201
126
126
143
143
203
237
157
110
115
122
206
87
115
217
141
145
94
143
140
249
90
215
227
236
215
197
152
198
178
227
84
229
131
247
81
172
161
111
235
246
97
146
92
135
183
232
111
114
191
167
95
201
228
74
124
101
213
206
123
195
212
101
151
89
243
159
176
132
210
76
135
77
130
237
115
147
73
146
139
124
94
208
149
120
169
128
200
115
164
96
218
181
110
91
128
186
212
78
87
172
135
75
90
172
109
219
100
102
131
176
195
113
147
156
193
112
120
208
178
128
145
169
167
132
183
189
190
190
139
99
225
208
189
119
156
100
223
196
155
148
153
227
250
189
234
91
182
142
113
227
233
102
181
199
178
207
203
189
164
227
99
209
184
142
232
144
177
243
135
232
218
103
201
207
216
105
236
79
93
190
160
111
242
139
213
106
157
167
123
123
88
109
223
104
151
240
90
244
121
133
198
88
169
176
237
154
142
167
247
226
225
203
90
238
205
104
179
108
194
77
76
201
156
137
72
240
238
89
182
76
165
157
143
246
213
117
214
96
170
183
77
123
157
118
187
152
124
167
249
122
198
221
200
140
133
79
197
164
79
244
228
200
167
123
78
250
204
223
116
158
75
177
203
170
140
164
123
90
167
245
127
241
172
168
185
91
137
98
209
88
228
98
212
135
185
76
222
123
94
108
109
166
106
127
182
147
81
243
171
70
162
129
87
125
199
208
199
228
182
70
85
196
118
124
103
230
80
82
229
232
206
106
71
141
243
173
195
187
95
213
210
143
156
217
190
77
217
96
77
196
236
216
156
222
72
71
209
191
243
207
101
224
93
92
169
195
177
89
176
183
72
133
137
197
176
193
168
250
234
182
152
187
166
132
224
182
199
193
196
108
116
178
78
73
192
211
169
111
119
198
188
210
137
228
215
191
140
84
201
220
82
92
99
216
99
71
177
138
179
182
129
89
106
205
242
126
249
224
227
134
105
181
242
119
102
134
215
142
111
230
232
70
77
162
211
140
123
161
129
236
172
153
140
164
245
123
107
186
223
228
190
207
160
241
122
204
70
231
232
107
88
154
224
162
181
130
168
205
110
124
102
148
224
221
111
126
189
86
116
196
220
112
210
151
225
237
188
239
70
94
180
117
82
138
139
170
166
98
247
76
112
175
186
191
165
199
136
118
160
102
240
193
244
244
70
118
116
189
100
126
71
196
122
113
106
102
81
93
214
160
124
177
179
210
163
218
205
250
221
71
214
135
212
249
154
164
159
173
234
100
146
92
235
109
189
111
191
176
137
107
235
113
73
240
227
248
225
184
80
240
200
121
206
70
82
213
178
233
206
224
238
169
247
212
109
108
187
140
221
217
224
172
152
128
101
200
225
85
105
70
193
209
137
138
94
230
77
160
169
165
191
195
142
151
145
104
92
119
165
170
183
154
125
121
181
197
140
169
101
175
100
127
110
118
191
119
172
168
134
210
206
222
159
190
180
199
224
121
97
85
189
163
103
87
113
132
206
244
139
218
150
220
135
86
236
226
148
169
217
241
119
119
95
217
85
171
177
143
179
87
236
180
247
122
72
134
211
124
107
145
206
213
105
97
175
186
241
244
131
185
245
109
205
89
99
250
158
225
242
184
136
172
116
150
167
135
141
198
239
117
88
128
95
155
171
148
156
194
238
205
227
168
129
109
225
109
116
180
127
104
95
219
134
143
118
159
111
220
149
72
128
165
75
85
218
196
208
133
246
194
120
248
249
213
152
71
227
180
190
139
230
166
249
180
248
196
73
99
245
230
71
141
102
234
215
229
152
102
173
208
249
146
114
171
155
195
237
164
159
128
98
74
197
109
131
100
72
124
219
248
95
183
133
99
189
193
111
167
132
116
228
115
171
176
158
85
95
114
237
190
125
82
95
233
208
234
95
172
246
110
244
111
104
163
155
90
176
110
235
184
150
162
219
109
202
186
227
220
231
92
141
187
220
148
143
78
185
246
144
104
208
78
80
103
110
80
222
179
186
90
228
211
146
148
166
97
173
223
117
95
155
191
80
212
134
142
117
190
143
179
184
158
173
202
219
81
117
207
221
188
99
187
150
131
105
149
212
161
145
137
243
172
222
176
71
181
178
212
173
127
137
231
184
238
236
139
248
249
185
145
211
232
180
114
242
128
168
137
243
219
175
114
220
101
90
212
90
220
221
134
194
168
231
180
186
207
243
165
136
74
250
219
178
140
72
224
233
232
143
213
249
105
94
167
93
162
201
106
197
181
84
236
105
108
172
250
249
161
236
193
102
194
250
180
129
134
201
205
129
82
94
149
187
191
247
238
129
208
250
245
209
76
128
250
248
84
238
181
187
103
139
78
171
133
142
194
99
229
96
202
83
199
81
104
148
81
206
102
110
147
204
227
170
170
107
175
159
242
213
142
115
220
189
188
176
115
163
177
184
248
190
214
121
219
232
205
138
87
220
203
194
122
227
197
213
96
121
156
244
116
182
225
235
100
237
140
124
75
111
95
111
142
130
153
168
85
135
239
240
243
207
159
123
185
125
165
210
141
188
160
183
204
146
76
141
93
161
154
174
126
175
168
144
82
137
227
203
188
177
183
132
70
139
230
183
206
203
101
219
161
184
94
86
212
122
134
180
213
181
132
247
234
135
149
124
227
83
195
78
227
223
102
197
235
175
138
115
183
190
245
236
75
244
112
202
123
217
83
131
159
152
221
172
219
185
199
207
82
203
125
102
105
127
209
103
151
152
139
145
189
116
83
214
85
153
202
73
105
214
195
164
70
109
189
83
75
179
150
93
188
242
200
149
106
240
112
216
206
219
102
185
133
105
93
193
132
136
125
238
129
135
226
219
89
129
179
88
72
192
151
216
154
225
119
175
134
121
124
205
193
104
157
204
179
149
239
152
220
248
208
90
177
188
108
155
215
148
170
106
205
185
114
139
98
126
85
89
120
208
235
191
161
85
113
243
140
153
94
126
112
203
243
87
174
176
137
93
247
220
218
240
129
89
78
71
157
113
111
147
194
119
229
121
200
239
131
151
239
190
192
71
158
166
92
114
193
193
157
96
112
243
139
112
127
127
190
114
225
245
229
83
162
102
166
125
80
191
205
198
221
151
108
209
180
102
155
74
197
150
75
132
72
219
239
135
158
186
88
174
202
236
249
186
174
177
79
164
201
169
201
119
153
117
219
245
168
176
193
220
143
221
203
159
119
74
166
233
159
79
116
224
124
100
210
106
111
163
79
24
45
46
59
20
39
78
41
28
72
21
49
72
21
42
50
53
73
68
38
57
56
67
79
51
50
78
45
80
66
21
55
74
73
26
31
37
50
63
61
64
25
57
67
67
21
73
20
33
40
73
47
44
42
49
39
23
46
60
34
58
61
50
73
43
41
22
72
25
55
43
43
48
73
67
62
53
72
50
71
48
54
47
65
80
23
29
63
68
38
59
66
65
33
56
67
44
78
59
80
53
24
33
23
71
31
26
70
65
44
35
31
50
69
69
42
35
61
40
62
41
77
77
43
55
34
46
44
54
75
53
80
52
42
57
34
47
28
78
36
35
37
63
69
26
78
78
44
50
63
27
40
77
71
54
32
48
70
70
49
29
34
60
60
71
56
36
40
38
62
22
55
56
66
36
47
69
43
55
24
58
42
51
31
31
45
22
31
73
65
41
62
52
29
64
36
45
70
26
38
36
56
20
68
23
59
53
37
32
62
78
70
50
54
50
30
52
32
21
22
33
49
71
73
56
51
20
30
62
21
68
45
53
24
28
23
58
77
51
70
56
55
63
49
32
42
76
67
27
44
56
74
52
28
37
75
22
69
65
55
53
30
29
57
41
47
61
20
50
20
34
49
20
28
66
31
53
21
33
26
36
40
38
51
62
27
32
57
44
68
37
26
53
47
39
31
43
76
23
70
28
30
59
79
55
55
29
60
69
54
55
35
53
42
56
57
41
54
80
53
65
23
79
57
70
48
52
35
61
48
32
21
47
35
55
41
26
59
54
22
34
63
38
56
43
70
54
43
52
53
72
45
54
55
31
63
33
43
77
80
42
37
47
22
33
61
48
56
25
74
40
77
77
60
56
42
38
79
77
33
22
32
40
56
27
27
62
51
21
33
70
77
49
60
64
49
55
67
36
75
77
79
28
48
73
31
31
20
58
45
64
71
50
53
42
41
76
53
20
21
20
33
74
65
20
76
80
26
64
45
44
35
54
67
37
30
78
40
74
36
73
51
23
47
21
79
61
73
54
29
72
76
24
24
26
46
64
57
40
58
80
67
52
44
48
55
64
75
75
58
52
51
61
75
45
32
60
71
78
43
22
64
79
78
26
45
46
44
44
63
41
80
20
57
56
69
62
23
61
74
75
77
32
80
28
40
45
74
54
53
35
73
38
62
58
56
66
33
30
27
71
33
60
62
72
66
54
68
62
79
65
45
69
63
61
47
23
51
65
71
64
49
23
65
74
31
76
46
72
29
40
80
27
60
33
59
68
67
50
76
21
44
76
67
46
73
75
62
47
35
51
27
55
75
66
46
45
64
43
60
30
36
38
48
79
21
64
70
77
78
38
78
56
24
70
32
58
31
43
37
61
63
41
70
27
44
77
54
63
38
53
51
78
43
76
23
76
50
48
48
28
72
72
67
31
38
33
52
58
32
73
28
43
68
30
58
70
42
54
50
78
21
80
73
42
61
52
58
74
76
58
43
29
64
65
31
39
45
44
23
69
68
38
70
60
64
27
69
39
78
45
21
52
56
80
45
71
47
53
63
62
59
73
60
21
49
38
56
43
39
66
44
23
21
31
25
80
72
40
21
56
31
42
59
64
31
76
29
56
53
35
70
42
51
48
28
45
77
54
39
29
68
65
21
48
70
68
40
66
49
39
66
20
56
58
22
33
56
30
63
74
37
56
29
26
70
54
61
51
33
38
25
57
74
58
33
51
22
36
51
38
75
61
68
79
59
39
21
49
21
63
66
36
20
57
22
65
66
77
37
70
58
65
27
78
28
58
53
56
25
37
63
48
68
29
72
41
33
50
58
75
77
44
35
66
80
72
63
61
73
46
57
39
53
71
36
36
64
79
69
29
22
52
36
68
49
37
62
50
49
68
69
68
62
69
67
25
25
31
32
51
48
34
61
60
23
24
62
79
44
41
41
30
46
28
53
37
50
23
26
25
77
58
44
29
40
59
59
63
70
63
34
36
56
72
63
71
39
49
69
34
58
28
78
27
44
46
33
66
48
33
48
50
22
54
30
35
78
25
46
75
25
30
28
20
69
57
32
62
57
56
63
31
41
36
45
36
56
80
42
64
65
28
39
22
53
65
68
33
41
34
72
63
27
42
32
31
48
28
57
73
55
62
64
61
72
56
20
61
48
21
71
68
62
43
30
62
73
38
55
30
33
73
40
76
50
26
60
61
67
52
54
79
63
44
60
36
43
23
23
41
20
61
56
67
72
52
64
74
24
60
78
37
60
22
67
78
25
27
33
71
45
70
78
61
28
30
76
69
72
36
60
80
38
31
41
38
31
63
78
51
59
80
80
72
25
33
23
57
35
40
44
20
73
77
67
35
64
73
46
73
48
23
74
34
45
51
76
72
69
76
78
75
34
56
63
68
63
25
78
77
61
55
23
59
59
58
60
44
47
33
65
77
71
36
56
29
72
30
40
62
57
42
43
59
73
44
26
43
33
20
38
73
61
43
24
67
51
48
23
71
23
50
41
56
66
50
57
50
59
34
33
24
28
61
59
63
39
35
39
53
78
20
21
78
46
73
22
56
37
52
42
49
21
72
56
39
36
40
43
79
69
63
79
30
59
75
25
53
72
45
41
74
64
46
39
74
76
47
32
68
52
78
40
67
70
31
61
39
71
27
36
42
48
34
66
48
36
54
45
69
34
25
68
25
54
48
52
27
46
80
32
49
43
59
76
79
43
43
46
74
53
56
80
76
60
62
55
71
47
37
39
71
32
57
45
37
40
71
34
41
60
24
42
47
67
40
22
75
20
27
71
21
23
22
21
28
33
56
44
28
44
68
45
60
62
37
47
78
57
55
33
77
30
70
64
43
48
40
62
65
47
41
46
41
55
77
67
25
63
31
65
45
76
34
44
69
24
49
22
42
64
29
51
39
58
44
28
36
61
35
52
25
34
77
70
38
65
55
33
24
53
41
66
50
26
68
45
79
24
37
31
72
68
47
23
36
37
59
72
60
47
37
28
30
51
33
52
69
40
73
72
20
20
26
21
47
43
23
44
77
51
80
62
74
50
23
21
42
44
72
79
39
56
22
29
29
74
57
44
26
75
32
38
71
35
37
21
42
76
32
37
70
59
53
27
78
65
54
42
80
56
24
62
54
38
45
80
20
62
36
79
78
49
63
36
58
44
38
20
78
58
30
56
35
61
20
37
49
58
31
72
56
62
44
42
25
54
34
48
23
65
62
58
32
23
28
78
39
77
45
58
36
80
58
25
22
56
25
74
29
56
37
71
72
71
58
75
42
80
74
76
30
71
39
71
56
75
55
36
37
54
30
21
56
56
76
76
74
36
59
65
56
47
34
31
62
47
36
73
65
56
61
38
74
35
33
72
80
22
48
73
29
66
73
68
52
75
67
57
33
75
38
31
36
37
33
72
33
60
58
41
69
20
38
66
71
75
59
63
70
44
59
48
43
65
66
33
53
50
80
66
48
61
65
78
65
31
43
80
67
23
37
78
75
48
74
27
33
32
70
53
78
22
60
73
58
33
23
36
49
22
80
44
31
67
51
28
43
30
71
38
73
38
64
27
38
46
45
21
71
79
53
39
64
26
78
29
54
34
48
31
44
59
33
30
65
52
40
26
28
66
32
32
69
27
48
32
24
77
34
73
72
70
69
78
48
23
60
65
78
76
66
69
70
50
52
31
76
33
68
74
80
48
68
20
64
67
77
21
41
47
49
38
22
61
48
65
39
38
69
47
43
68
79
31
22
43
30
64
75
62
72
70
30
42
34
29
32
24
39
28
39
57
40
54
32
54
27
24
33
33
52
48
38
36
40
21
47
54
26
33
29
55
45
68
43
58
40
44
72
36
79
54
63
42
80
60
63
21
48
53
42
66
53
53
52
26
21
61
71
68
67
68
26
69
78
46
68
47
65
71
28
74
58
44
63
23
22
20
32
33
46
50
21
31
53
72
32
27
58
68
21
48
25
52
31
35
73
30
64
70
78
28
71
57
47
52
73
23
78
22
62
79
40
70
47
53
76
80
39
51
47
49
33
76
20
40
72
53
48
23
33
26
44
47
50
46
58
56
21
71
30
44
54
55
33
23
40
36
53
74
44
68
46
22
71
76
32
80
42
71
27
48
51
56
63
64
80
53
28
73
36
31
57
70
24
35
23
24
50
45
71
73
79
31
73
47
20
42
52
31
66
74
34
73
35
24
23
49
76
47
64
51
27
53
39
20
62
62
67
71
76
26
45
44
34
53
26
42
46
20
46
23
33
37
60
79
56
20
57
22
75
22
29
46
61
49
66
76
27
75
74
62
24
58
68
21
37
74
57
57
22
48
32
70
57
40
36
38
73
28
35
40
70
70
68
71
67
59
45
73
77
52
38
73
48
60
35
36
63
47
29
52
30
45
21
59
71
73
68
22
58
42
37
22
34
76
39
56
43
23
54
56
23
28
20
56
70
35
61
43
64
34
51
64
34
72
22
64
29
51
35
36
70
33
38
45
47
51
72
54
75
68
68
53
57
25
73
26
34
71
64
31
62
25
23
44
21
56
38
61
65
32
66
60
35
50
34
35
54
72
33
33
62
59
59
50
79
61
45
58
71
23
21
74
26
46
21
51
53
69
47
24
41
22
22
34
69
62
52
65
69
71
44
52
49
60
62
48
27
33
58
20
60
56
52
71
80
45
54
30
45
79
48
31
48
46
23
69
39
46
45
49
32
26
56
43
24
65
22
48
58
75
57
40
22
69
78
35
68
53
61
29
77
60
34
27
26
41
76
54
45
51
41
26
75
50
20
72
71
25
34
22
76
58
55
53
21
49
51
68
59
34
54
44
54
72
67
71
52
27
38
27
25
52
53
38
70
55
46
75
58
33
45
53
44
28
50
47
44
28
47
55
34
32
37
59
27
24
73
75
45
48
33
58
34
51
63
52
54
70
60
60
43
74
21
78
79
61
80
21
73
66
33
50
77
36
50
39
47
78
23
78
71
51
65
77
65
43
69
70
44
43
44
50
31
33
68
63
72
55
23
44
60
72
30
26
41
72
55
32
68
65
58
63
27
64
57
25
61
49
24
53
62
54
48
38
20
28
23
20
42
53
26
69
29
79
20
29
58
60
28
62
45
32
75
22
68
41
26
35
32
70
22
27
75
31
73
22
74
66
66
25
79
70
45
21
37
67
68
25
74
50
41
51
36
48
64
53
28
73
52
77
30
52
69
61
21
49
72
26
75
25
42
68
67
77
46
32
26
29
58
73
29
73
24
37
73
29
46
74
55
30
29
60
70
66
42
78
30
53
42
75
39
63
48
52
62
60
34
22
36
30
74
37
73
80
71
45
68
65
38
68
35
47
65
73
80
29
29
58
42
24
47
61
69
26
72
38
42
31
58
36
56
29
36
53
64
37
47
65
76
74
32
21
33
25
46
34
42
44
54
36
54
30
50
31
72
43
58
73
74
59
73
54
28
42
31
72
23
61
32
73
23
22
72
62
30
22
49
40
46
58
65
67
53
80
24
62
75
71
22
53
80
80
64
58
35
76
28
72
47
27
41
73
31
44
27
69
26
34
72
59
42
71
53
21
74
55
57
71
78
45
45
53
32
78
80
76
54
41
46
22
29
69
68
68
46
48
27
74
44
59
33
74
57
20
48
42
53
69
61
21
20
34
73
45
35
56
73
42
45
31
58
30
56
79
67
58
38
53
39
23
73
39
51
70
39
46
70
43
20
28
52
32
58
50
69
65
73
68
49
73
57
47
64
74
54
26
48
21
65
65
43
23
41
75
71
34
61
58
20
24
44
55
53
58
55
44
45
22
54
47
73
61
48
31
67
66
59
68
72
46
68
48
80
72
78
34
30
36
80
46
80
68
71
62
43
75
52
34
28
22
56
46
21
51
35
60
40
76
44
24
25
23
48
21
47
30
28
53
32
52
56
73
66
33
41
51
79
67
72
71
65
70
36
43
60
73
69
62
44
41
56
40
69
28
59
40
46
41
47
55
29
60
56
26
24
33
78
61
31
52
48
68
55
61
41
48
35
59
54
59
22
25
33
65
68
29
35
74
24
49
67
46
47
46
45
75
36
26
61
46
49
70
64
37
52
65
66
44
72
25
22
65
62
59
71
34
29
39
26
73
64
60
61
31
62
23
34
60
28
23
49
69
63
49
50
66
70
32
36
78
29
45
39
73
78
31
35
21
42
79
38
36
67
57
76
36
50
59
21
51
30
46
24
65
58
43
24
78
77
42
56
59
44
34
28
48
36
68
65
51
72
34
31
41
76
44
28
67
28
56
69
37
53
40
65
30
30
52
50
75
37
50
52
64
37
71
27
51
73
68
71
32
56
61
76
35
30
47
79
46
49
58
36
47
64
62
35
51
37
31
57
39
46
28
50
39
21
55
51
22
69
65
40
47
42
30
55
64
54
68
77
44
77
68
58
73
64
67
40
65
77
78
37
77
77
55
79
34
29
54
20
74
24
73
74
44
62
59
71
79
23
46
21
64
31
34
78
57
65
41
47
65
37
37
21
37
44
47
48
60
69
73
23
35
20
20
76
29
64
38
31
67
79
27
74
22
20
21
48
44
27
24
45
61
37
70
24
36
61
64
40
36
40
24
56
30
61
67
34
39
54
52
66
62
60
36
74
40
38
53
70
44
78
49
80
42
53
74
24
34
79
77
22
66
61
74
57
67
39
64
68
53
65
31
71
45
66
75
64
31
69
77
71
44
37
57
28
64
30
31
54
76
73
34
60
51
23
60
67
69
44
47
22
36
33
75
59
47
52
39
71
42
28
43
50
55
26
66
64
37
28
51
60
78
77
44
32
59
34
53
57
56
78
52
69
78
23
52
21
56
20
39
40
46
49
24
36
42
65
23
65
54
75
51
56
21
66
42
55
40
34
60
62
38
21
67
39
29
28
47
43
28
21
40
76
20
66
37
62
80
34
32
63
69
32
68
63
61
34
42
52
29
67
38
57
22
44
72
30
73
39
54
55
59
24
35
27
74
34
23
56
38
75
20
76
38
78
62
28
76
38
33
66
43
78
42
54
58
27
66
28
56
59
52
80
40
27
67
58
79
59
73
77
34
75
28
58
41
71
64
59
35
21
69
37
70
48
51
31
55
57
44
20
66
27
23
40
37
45
75
77
74
27
31
21
32
29
47
32
56
59
57
67
60
34
68
24
41
53
35
57
75
42
63
37
64
32
43
32
34
71
58
24
56
77
67
71
43
36
73
41
78
39
55
71
75
31
62
58
67
38
66
26
65
50
53
79
62
41
55
70
78
50
69
59
49
60
73
66
42
58
59
22
37
72
20
80
79
20
66
27
61
38
70
65
78
51
55
40
43
75
56
69
49
23
53
70
49
79
34
68
68
48
76
50
26
69
70
44
57
34
68
47
74
29
24
52
67
27
29
24
28
25
50
20
66
73
41
79
80
61
24
66
79
41
37
35
50
71
33
53
78
78
45
49
80
32
77
73
21
51
23
45
73
55
54
39
34
26
72
79
45
58
72
38
54
60
40
77
79
57
36
53
62
24
33
67
42
77
44
30
62
28
52
30
74
77
31
75
70
65
65
28
52
63
68
51
58
21
62
31
37
73
78
53
70
31
57
28
33
64
59
30
23
50
76
44
32
55
69
80
68
47
63
79
75
72
37
64
53
37
20
39
50
77
21
31
34
66
37
59
26
45
62
27
75
21
48
59
45
71
24
36
30
32
66
59
62
77
44
69
57
28
67
31
70
28
20
30
64
62
63
58
67
74
53
56
61
24
26
47
76
57
32
67
70
26
73
72
50
76
72
49
71
44
33
62
62
22
44
65
75
32
76
37
28
57
56
46
38
46
32
36
20
56
22
46
35
67
55
74
75
61
30
41
52
71
32
55
72
35
22
52
57
33
43
65
61
52
52
34
45
31
31
28
30
56
66
34
78
64
25
73
80
27
38
70
62
60
70
70
42
25
32
32
25
25
51
31
80
44
43
72
70
53
40
49
33
48
28
65
61
63
48
27
34
29
65
66
57
70
55
39
75
26
41
42
65
53
64
47
74
64
28
52
55
38
37
41
62
59
49
49
77
66
75
68
64
69
58
27
20
61
61
23
64
35
44
38
62
43
50
35
42
22
53
31
50
50
74
44
75
67
23
53
64
43
59
66
61
26
52
26
47
47
38
74
78
62
59
24
70
28
74
52
39
23
44
79
62
46
59
28
65
64
37
30
39
45
63
56
25
34
46
51
35
31
74
51
79
58
43
51
54
47
24
70
31
70
20
37
28
49
37
41
57
63
30
52
35
67
26
58
80
53
31
64
79
56
25
78
51
64
65
36
43
54
38
75
28
72
29
24
26
39
51
57
30
66
76
41
53
32
76
56
50
58
24
40
80
34
41
70
20
37
69
24
20
48
69
69
45
43
46
40
42
37
38
50
58
52
57
70
80
67
38
26
72
40
79
80
56
55
58
40
27
38
50
74
79
30
41
71
74
53
70
28
51
46
60
76
46
31
66
50
58
52
74
47
21
75
73
62
67
43
76
56
79
26
69
34
40
50
46
67
29
54
57
64
29
47
77
47
55
59
46
35
52
54
22
48
23
80
48
29
78
33
80
54
62
77
31
57
53
39
44
43
63
75
68
38
70
20
45
29
46
29
71
37
45
46
77
80
48
66
40
69
58
78
73
27
71
23
65
79
47
20
33
22
44
58
65
53
25
69
60
26
32
75
67
43
67
29
36
79
36
27
52
70
77
58
52
75
78
73
68
30
53
38
64
63
43
48
31
31
39
34
20
30
65
26
48
73
78
32
58
35
70
51
39
67
25
31
34
46
30
64
47
53
34
69
24
66
29
30
62
38
61
58
22
26
23
39
20
23
58
47
63
29
39
44
41
26
72
49
33
70
61
38
37
62
47
47
48
45
71
59
36
25
59
37
64
51
40
72
50
44
22
73
42
57
45
25
34
64
55
49
28
50
51
73
23
21
34
62
70
25
26
38
55
40
64
22
24
61
43
58
71
23
63
28
78
25
35
22
40
77
76
52
48
27
30
56
64
69
65
77
34
21
75
32
31
50
23
43
35
47
73
33
71
34
45
32
78
38
52
73
33
62
43
54
24
29
39
75
33
71
80
42
24
27
74
52
57
69
66
38
77
24
62
22
40
68
77
57
73
45
33
53
79
32
71
77
51
51
53
50
63
44
47
30
56
20
72
48
37
33
40
74
61
67
44
29
56
68
39
73
31
21
32
59
42
70
26
67
49
25
34
33
68
44
71
22
65
33
61
79
20
77
25
35
22
52
60
60
41
32
27
56
67
75
61
39
79
34
33
80
36
46
34
50
54
40
33
40
42
56
41
57
78
30
26
42
78
60
60
37
66
56
77
54
35
40
27
54
20
25
64
25
74
80
80
74
34
56
25
39
22
71
49
37
66
22
53
45
75
52
62
37
41
24
73
54
73
35
44
46
23
66
73
35
59
68
30
74
53
44
67
76
22
55
70
21
22
38
54
67
22
63
60
32
39
79
53
36
45
80
43
25
61
54
72
56
39
50
73
20
40
47
76
74
59
76
57
68
43
63
44
60
42
73
72
66
64
21
73
79
44
63
53
28
79
43
58
40
49
77
42
28
29
23
22
36
40
29
46
52
51
42
22
39
24
67
34
71
75
37
34
28
49
60
33
65
58
35
79
45
59
36
43
35
40
57
53
42
69
60
27
51
78
70
26
25
41
20
48
75
73
28
71
68
26
80
62
69
40
64
41
80
65
30
20
23
49
31
51
78
44
74
47
62
75
79
54
68
61
74
45
64
75
56
21
78
42
35
21
40
57
29
61
30
24
78
72
39
71
77
24
77
63
75
41
31
58
72
36
75
76
79
21
76
41
52
80
73
33
64
76
42
68
65
73
75
57
68
29
25
31
22
47
50
50
47
37
38
23
32
50
46
33
28
80
54
27
73
52
23
57
41
76
51
56
34
61
78
31
47
24
50
25
24
64
42
48
23
24
38
67
72
38
34
32
65
61
24
75
30
74
36
30
46
71
22
65
71
80
77
57
55
69
48
32
78
35
64
80
48
69
39
49
71
21
31
72
55
20
40
71
66
21
54
79
69
63
24
46
53
44
64
64
49
73
80
56
77
60
46
38
33
37
32
53
60
44
70
55
31
39
30
74
53
67
67
49
23
63
80
49
48
44
64
55
79
52
52
47
38
56
47
43
40
43
51
31
72
72
58
22
40
34
77
56
49
36
47
70
28
58
53
50
78
70
42
49
30
73
59
46
47
29
79
67
39
36
28
71
79
44
25
36
46
75
48
79
36
57
25
41
71
43
31
73
67
63
74
21
44
52
75
58
20
76
61
24
36
34
53
80
62
69
34
45
24
64
35
33
75
51
67
80
74
30
44
55
54
71
20
24
61
71
26
29
77
55
50
21
35
44
37
26
52
49
65
67
75
61
76
64
72
43
47
60
71
49
68
63
56
37
73
73
53
45
67
28
65
47
56
41
69
43
43
38
63
33
28
46
44
29
68
43
50
31
70
76
47
71
62
34
33
53
27
78
48
56
64
66
65
46
24
55
65
35
65
27
31
26
71
44
53
48
26
43
44
79
70
61
78
41
25
30
21
40
21
22
58
27
26
45
45
64
58
37
20
26
50
55
46
74
57
29
43
55
71
78
23
22
31
52
24
28
36
75
79
42
72
22
28
48
56
67
72
34
77
25
71
39
62
70
24
73
36
60
69
66
56
35
34
60
52
71
40
37
76
35
29
69
39
80
57
63
74
34
35
55
36
57
21
70
41
76
30
30
74
77
68
53
78
46
76
71
73
53
61
22
48
37
62
29
26
69
57
80
45
37
43
69
48
76
51
24
40
31
60
35
20
75
30
34
67
57
57
21
42
52
34
36
53
37
21
46
56
41
65
40
39
20
43
67
45
68
27
57
45
60
30
25
37
30
62
23
30
31
58
46
59
29
29
30
31
32
46
67
70
78
27
42
63
64
35
27
64
67
40
69
27
20
25
54
57
56
69
63
35
24
49
29
33
76
69
47
34
34
27
52
36
57
47
20
32
70
72
77
20
64
46
22
68
78
26
48
37
21
55
58
57
25
34
54
67
51
20
43
60
29
27
69
28
45
38
41
54
40
51
39
44
47
77
71
48
65
75
60
38
76
35
56
61
52
24
69
37
65
63
67
21
44
38
31
49
55
20
54
74
26
31
25
46
70
73
61
27
34
40
75
63
28
28
24
54
57
66
65
68
38
53
55
58
33
67
33
60
78
80
57
66
58
35
68
47
50
60
76
34
30
61
76
48
34
27
79
25
46
55
59
60
25
72
43
30
49
49
78
71
24
52
45
72
43
54
63
32
69
71
77
38
79
50
21
60
42
39
72
26
47
59
36
79
32
59
54
76
49
42
34
54
45
63
54
62
69
67
34
80
72
37
65
45
56
61
76
74
54
55
80
72
66
79
30
48
23
31
48
31
49
46
28
59
51
45
55
62
79
37
35
34
68
40
61
51
24
61
40
64
55
20
61
28
63
33
20
75
55
21
79
65
28
72
75
77
31
25
65
49
56
57
56
20
46
40
48
40
34
40
51
33
22
38
23
20
45
58
29
55
72
33
45
27
66
47
44
53
52
51
41
51
78
67
27
60
76
45
71
55
60
72
57
73
34
34
67
35
52
20
38
50
70
70
64
34
58
38
73
70
39
52
64
65
39
58
32
24
77
24
74
64
40
28
37
29
45
67
20
80
20
74
49
61
35
30
69
54
65
30
22
67
54
58
46
74
63
39
37
20
60
49
33
37
37
41
62
69
37
63
68
49
29
45
80
30
24
80
40
68
74
62
78
56
29
62
47
67
68
75
57
30
45
57
28
65
69
79
71
70
48
44
44
29
42
78
61
78
62
27
56
23
32
38
65
77
45
49
47
60
67
79
32
29
38
65
31
64
77
26
67
69
64
33
69
30
58
77
30
71
61
73
27
54
61
26
33
78
49
22
23
42
52
31
73
50
26
20
77
77
39
80
38
29
58
55
76
59
40
48
55
29
62
30
75
79
67
49
61
79
76
38
31
44
54
32
49
38
38
41
28
47
40
20
39
76
55
21
34
20
79
62
30
40
61
46
60
68
48
54
33
46
26
42
44
25
52
48
39
24
63
48
27
50
63
79
41
29
39
80
35
56
31
36
22
43
26
79
50
80
46
61
40
25
59
72
33
43
36
78
62
22
67
20
49
77
50
54
45
79
32
25
20
56
63
71
41
34
51
30
78
44
80
31
27
33
68
34
62
69
51
47
67
66
55
29
20
20
33
40
70
33
50
59
63
30
52
74
49
23
46
51
41
26
78
52
59
79
25
79
72
41
40
34
30
43
67
22
24
66
50
71
55
70
52
72
42
62
23
28
35
37
42
24
74
25
29
23
24
69
32
65
28
28
64
46
46
68
77
61
20
74
22
38
79
59
24
29
35
64
56
54
58
64
22
67
24
67
28
47
64
37
73
52
20
78
51
22
66
61
77
77
24
23
76
37
80
29
43
39
20
59
57
26
30
41
72
47
41
34
46
36
31
62
61
66
51
28
27
40
21
61
72
68
58
76
38
78
64
56
52
67
74
78
39
57
30
28
58
51
69
28
62
78
28
24
71
27
23
70
49
25
57
74
59
58
46
51
39
58
52
73
47
56
76
56
39
68
43
61
53
35
60
72
76
22
28
26
22
64
69
46
30
76
63
76
57
75
50
78
60
49
29
73
31
59
56
77
48
40
39
70
35
78
46
39
33
73
51
45
21
74
62
28
58
70
75
33
56
74
73
25
24
68
77
71
74
41
61
31
44
77
59
75
41
58
77
41
61
47
73
65
55
20
74
24
31
63
38
71
68
62
34
36
50
33
65
72
77
76
24
33
67
56
55
38
73
52
35
39
77
60
72
51
76
38
73
43
61
76
62
50
33
50
32
73
58
65
68
40
25
24
78
47
29
61
55
42
39
34
29
60
63
70
40
38
63
53
21
65
71
23
80
31
45
66
40
31
45
68
58
25
47
75
51
26
29
53
34
64
48
53
53
50
22
59
31
57
46
76
54
21
70
48
59
74
24
75
39
71
45
42
65
68
45
56
23
58
65
57
29
24
75
79
65
25
48
39
32
54
30
38
57
45
68
41
58
28
26
26
37
63
30
31
32
48
72
36
26
48
57
35
33
23
46
22
39
48
31
29
65
21
27
28
69
49
79
44
69
38
24
33
59
58
22
45
43
31
76
49
48
27
47
69
73
21
71
28
66
27
65
36
48
54
42
72
58
64
29
76
57
74
45
71
30
77
47
28
29
65
27
25
32
34
64
58
52
58
69
35
43
50
73
79
68
73
28
31
32
48
79
63
49
72
41
72
24
43
37
28
56
67
24
47
28
36
27
51
42
32
36
31
32
53
25
77
47
72
64
69
51
58
70
34
20
49
60
66
76
65
74
68
20
55
57
34
59
26
47
62
23
36
59
61
46
51
20
41
68
45
57
52
40
31
24
69
65
49
26
57
38
54
34
50
45
50
52
65
37
35
43
40
67
66
60
79
32
39
71
63
30
67
35
57
51
57
42
67
49
54
50
71
24
25
57
39
41
29
47
35
65
79
50
65
31
26
26
44
35
47
32
54
20
53
40
23
26
61
74
72
57
50
55
41
72
61
39
70
37
73
66
47
54
78
33
24
22
33
23
43
55
39
50
77
35
44
49
62
53
48
22
45
48
33
62
20
68
78
33
59
37
38
32
63
21
74
32
56
45
52
26
36
52
30
42
69
75
32
40
48
79
67
74
25
41
73
20
78
52
33
39
71
22
28
76
32
76
70
34
56
43
56
77
65
79
51
63
25
55
27
37
42
52
52
70
26
77
56
57
53
61
51
57
78
56
77
21
34
69
33
80
62
75
74
30
29
27
77
79
67
63
77
53
53
57
63
48
79
62
29
41
20
37
34
53
36
22
36
43
32
59
61
30
79
66
43
41
37
33
62
64
58
24
48
70
27
42
45
49
31
64
67
30
71
75
78
67
45
35
46
47
72
28
60
35
43
52
67
27
80
74
43
67
64
64
28
38
41
76
23
50
71
39
48
51
75
59
39
80
26
34
30
65
22
43
62
21
28
26
22
71
53
49
55
40
24
36
60
34
35
29
34
43
47
38
53
29
76
72
69
50
57
59
67
63
75
46
53
57
22
77
47
25
44
20
63
78
65
76
69
23
54
66
31
32
70
71
58
75
40
63
43
20
27
37
61
35
58
24
24
73
26
73
64
63
22
75
53
35
79
36
51
62
42
33
39
66
25
23
29
28
20
45
60
50
55
23
20
40
44
32
65
77
36
66
20
80
42
67
78
67
20
39
63
69
72
80
35
66
51
38
24
66
52
49
44
76
79
53
58
65
25
76
29
67
64
42
65
71
52
56
62
32
78
26
72
24
77
42
55
50
68
80
80
24
32
50
57
72
72
65
58
48
24
77
77
63
24
66
35
56
78
80
22
77
31
53
24
25
77
24
61
41
21
36
69
55
69
76
29
63
80
42
75
38
67
55
79
48
65
34
53
69
59
29
58
31
62
70
58
75
70
70
20
44
78
26
53
20
23
45
76
33
61
57
68
47
55
54
57
69
33
79
58
30
35
54
25
26
43
29
65
77
26
35
36
50
44
41
63
53
56
38
38
35
28
77
69
80
21
75
49
58
56
56
77
79
28
61
62
58
77
74
30
32
71
51
30
72
48
26
77
51
80
43
44
31
33
29
64
35
59
58
38
20
24
78
68
43
61
24
46
34
63
36
26
34
40
32
47
38
79
28
28
80
24
26
65
36
61
58
55
50
30
25
23
44
52
76
31
47
60
55
47
59
43
30
36
41
30
25
67
30
24
61
75
68
35
70
30
59
47
35
76
24
34
54
49
70
30
64
22
72
27
37
76
31
40
69
21
58
62
22
48
65
59
75
40
62
39
54
70
57
44
63
24
26
41
56
59
47
40
76
26
32
77
35
79
28
80
41
56
74
27
24
76
42
30
40
43
73
29
79
78
28
48
24
66
57
58
68
78
72
26
26
63
40
37
69
28
75
72
35
60
63
54
22
68
75
27
48
32
47
72
52
73
20
22
77
47
25
56
32
40
72
50
38
42
24
48
20
51
24
51
76
61
49
39
77
78
41
26
55
48
56
76
28
73
20
56
67
47
65
68
32
62
69
80
67
45
22
69
53
37
35
40
68
63
31
71
60
27
36
46
65
45
40
64
72
31
53
61
25
44
68
53
76
54
75
78
77
47
65
73
71
60
61
80
64
36
52
60
42
50
61
25
67
76
28
26
33
72
76
47
51
62
69
36
33
34
60
41
49
58
74
57
39
62
79
78
24
26
65
42
38
69
69
74
68
40
36
28
47
61
41
27
58
29
79
47
31
62
24
34
52
75
77
41
31
22
54
46
68
46
47
49
30
46
78
40
42
37
65
37
30
32
23
27
24
68
39
53
30
49
63
57
26
80
77
77
44
70
64
66
43
27
50
35
35
20
55
73
46
37
34
49
53
65
79
31
35
64
77
21
48
22
75
26
63
48
40
33
69
48
80
76
73
77
78
41
57
79
45
21
63
39
41
59
45
30
51
35
20
30
32
24
40
26
79
79
77
59
45
63
79
52
76
45
46
31
63
69
47
74
59
61
27
31
79
27
69
20
30
36
42
63
76
49
65
54
65
74
59
32
57
41
53
57
24
55
43
29
50
43
38
44
36
51
38
78
34
56
25
49
56
37
25
48
51
50
49
44
75
20
62
67
39
60
78
24
60
21
50
23
42
40
50
77
54
35
50
79
26
27
62
39
35
43
79
64
27
37
22
20
71
79
42
59
53
62
33
28
76
60
71
59
62
78
51
44
51
38
49
80
65
35
72
75
27
42
50
31
58
67
66
59
20
38
64
74
43
63
33
51
69
64
25
49
61
79
45
33
50
27
54
33
65
40
36
31
76
22
72
24
21
30
69
45
24
32
31
72
25
59
31
51
76
45
78
78
41
26
32
63
23
26
77
78
76
33
79
71
63
61
44
57
23
49
41
20
53
35
30
31
65
78
46
63
68
60
39
52
71
37
55
47
58
22
23
52
70
20
69
80
59
25
56
36
59
78
57
38
80
47
24
69
30
52
51
21
67
37
70
32
40
31
32
40
53
76
34
62
30
78
77
61
37
51
25
56
55
59
37
64
78
68
32
23
70
24
44
52
66
48
50
24
52
40
50
47
28
80
45
37
59
65
62
45
36
49
64
62
69
54
46
35
44
64
26
30
29
35
45
51
76
56
33
78
45
39
29
47
63
34
33
42
77
60
69
63
27
38
43
46
25
34
22
34
67
67
73
40
20
49
71
27
29
39
41
36
53
24
71
28
74
69
57
67
21
44
67
55
55
49
64
22
30
68
32
23
61
24
65
72
47
51
46
55
49
79
70
66
77
75
76
45
80
66
63
79
41
52
63
30
44
76
75
59
58
31
53
43
25
30
64
78
55
54
60
79
28
43
66
79
44
55
28
27
37
35
66
33
79
64
38
47
23
23
35
27
65
43
46
37
36
57
51
67
70
46
68
35
67
76
38
21
24
33
47
60
71
69
77
42
79
62
30
44
43
56
59
74
42
53
58
32
32
31
50
76
38
72
69
27
28
72
22
35
73
47
68
48
70
51
79
66
78
52
48
24
23
35
25
26
69
70
55
45
67
38
80
38
41
20
67
26
26
30
62
50
30
22
22
75
53
37
29
65
35
46
66
68
72
95
190
166
229
111
120
88
214
168
83
101
168
72
211
221
244
105
218
179
209
83
127
237
232
74
186
83
223
232
195
189
117
227
78
187
116
187
94
210
81
137
167
211
118
194
236
148
107
104
235
146
104
239
94
218
70
127
158
132
70
70
248
127
72
79
144
154
149
225
135
118
167
148
159
191
98
163
163
173
138
190
82
142
250
104
111
160
150
97
168
140
246
235
209
83
175
123
219
207
82
88
250
88
143
185
157
137
221
95
152
201
117
117
180
91
74
230
73
134
99
146
183
175
230
159
78
98
119
199
238
229
81
156
134
237
87
205
215
221
248
216
151
160
125
96
147
182
103
188
166
233
172
222
229
73
158
242
141
215
211
137
132
126
161
168
74
220
222
229
125
151
118
161
74
151
76
146
172
230
79
83
174
72
211
168
80
197
113
140
207
106
136
204
151
78
164
185
107
120
93
137
228
148
198
70
95
101
70
162
240
161
85
174
187
154
172
236
110
195
137
115
97
201
204
148
204
116
245
112
100
166
130
119
172
175
209
239
145
172
79
176
126
109
150
210
110
133
233
230
86
175
133
160
100
98
151
130
193
150
155
220
192
160
193
111
221
159
163
161
171
132
219
191
221
241
176
114
168
114
225
146
243
181
123
86
100
226
203
195
132
223
118
162
210
243
244
104
177
105
127
232
117
184
83
234
119
215
80
95
245
106
151
200
90
214
182
233
213
230
139
247
80
85
92
231
113
242
73
92
247
191
99
239
241
113
193
205
133
186
115
189
83
245
73
180
213
162
109
108
105
77
84
108
94
106
214
91
246
77
91
228
76
231
195
83
84
112
127
184
178
250
238
187
184
88
147
132
72
93
72
216
72
124
206
169
247
170
109
149
180
216
215
159
135
155
96
168
145
211
204
117
171
136
74
117
163
149
124
219
128
151
90
76
114
155
182
72
244
131
115
83
104
250
142
70
136
103
165
133
193
112
170
222
201
171
205
77
161
86
167
232
124
227
156
91
241
133
114
187
111
93
146
200
195
85
236
243
101
98
87
239
101
85
162
215
113
91
148
210
99
249
73
107
85
180
120
86
158
113
193
192
217
80
106
85
236
242
203
78
85
132
96
130
80
93
218
153
122
86
219
236
71
150
81
124
142
217
88
152
177
203
101
214
223
92
114
126
144
151
172
230
187
81
246
206
157
160
134
218
124
88
106
118
191
111
137
235
206
183
209
104
138
128
120
167
103
245
238
209
150
201
139
93
228
198
93
194
222
94
72
240
131
156
174
213
185
226
114
178
229
141
150
138
160
200
218
195
238
184
128
248
175
79
237
189
155
112
121
207
177
242
225
235
114
123
86
155
214
193
220
169
136
176
141
94
93
155
110
240
188
119
196
231
105
129
219
155
124
108
125
190
224
97
200
237
195
154
176
162
110
127
234
173
143
112
100
140
103
167
177
202
155
210
239
73
132
169
192
138
85
73
95
74
234
244
162
196
194
188
108
123
80
227
236
164
219
79
87
129
119
204
115
227
163
181
188
96
147
171
198
115
157
211
166
170
88
228
170
91
240
249
146
134
184
229
148
99
220
83
242
101
250
232
78
125
220
102
238
179
127
104
107
249
138
174
99
129
171
246
218
87
124
222
129
155
119
103
136
146
167
200
82
95
155
89
126
193
183
142
180
103
108
85
107
110
191
206
176
237
161
72
146
209
210
155
250
98
128
95
239
163
153
86
201
142
212
114
83
174
107
208
215
123
192
102
152
219
159
234
101
213
172
98
231
145
162
208
191
190
219
106
163
160
125
167
125
92
174
92
119
129
189
174
139
130
228
119
222
108
116
92
160
245
120
226
221
147
159
229
238
70
248
153
124
114
127
196
92
117
180
240
130
210
183
108
110
236
109
134
142
219
170
88
162
223
172
209
99
181
190
72
185
138
85
108
137
111
79
231
88
139
130
142
214
95
132
190
82
114
144
204
94
174
210
128
214
74
180
182
79
134
243
205
234
215
243
140
86
141
74
243
125
98
241
132
147
248
151
246
179
89
199
231
97
129
121
97
241
179
169
226
174
250
148
167
133
140
235
247
243
106
247
105
125
139
239
137
83
109
147
214
173
197
222
108
79
241
244
91
189
240
172
190
115
125
143
249
75
169
144
248
246
190
184
95
87
195
219
176
75
128
194
214
146
166
145
115
96
98
86
152
184
201
174
220
150
116
229
176
70
215
210
150
74
236
160
230
104
70
139
113
229
200
171
228
98
205
185
152
189
147
158
191
129
73
215
199
208
84
204
101
103
214
73
162
194
226
160
72
214
123
117
79
175
126
201
102
248
190
174
177
242
99
180
245
231
224
99
134
103
143
242
175
112
218
241
161
153
107
214
220
114
129
194
132
207
126
197
162
181
118
118
224
175
180
91
184
224
177
177
121
172
159
218
123
173
102
180
188
222
143
224
241
142
70
184
159
86
240
247
103
203
103
168
243
126
220
141
207
237
230
130
232
123
238
224
245
223
95
165
229
86
186
248
110
118
106
186
213
115
114
88
159
183
195
208
174
121
74
114
78
185
111
113
89
120
238
202
142
181
152
155
214
184
169
105
97
146
187
224
155
219
240
216
137
94
178
201
250
187
231
172
105
214
174
160
73
246
196
226
119
211
110
139
139
97
133
108
240
204
249
229
114
117
247
180
183
209
144
204
224
197
205
232
195
185
88
143
160
114
212
136
128
248
139
237
92
231
107
128
153
151
98
153
158
116
113
203
173
242
235
153
231
141
248
196
152
106
179
76
152
234
142
134
77
77
172
99
250
184
129
213
122
140
101
186
203
179
202
94
213
242
197
72
238
167
135
245
82
181
212
113
211
76
125
194
188
99
89
176
248
244
163
174
209
136
97
87
154
213
90
160
104
224
141
237
106
205
241
236
78
83
140
142
190
90
153
136
246
163
230
212
88
163
193
246
110
228
160
154
189
108
105
139
78
142
237
246
110
248
200
133
97
227
163
179
172
104
229
121
95
227
197
101
235
185
90
91
185
134
206
221
120
204
188
206
153
101
171
105
202
94
73
111
211
77
229
210
134
211
222
241
249
109
129
185
185
250
213
128
116
171
129
206
151
183
212
209
116
80
210
219
230
170
249
173
96
168
99
96
134
218
200
145
134
88
200
123
87
196
86
246
235
169
151
223
161
145
238
142
152
211
105
180
248
207
106
179
109
135
198
246
172
90
111
155
115
191
81
110
160
200
200
110
240
80
238
112
86
124
107
168
139
80
173
130
101
133
134
195
243
173
152
171
70
209
107
164
211
133
172
227
199
75
194
166
198
228
240
92
78
198
250
174
165
105
163
162
132
79
170
70
181
90
188
165
149
138
84
102
185
162
228
92
115
92
123
85
235
202
206
125
123
101
145
162
84
131
218
233
209
216
222
160
75
221
126
230
224
163
212
137
247
88
143
227
217
97
119
123
85
198
245
120
206
93
209
204
94
170
89
120
218
95
77
189
90
208
92
108
150
216
76
104
158
112
213
136
179
168
146
77
227
128
109
93
107
96
70
194
104
111
203
121
183
98
172
147
219
127
184
142
93
217
126
176
110
224
98
80
88
128
126
104
142
182
217
142
221
86
78
152
187
185
185
123
132
193
84
245
110
136
203
106
128
177
109
148
144
122
247
233
198
74
161
126
118
162
244
205
190
107
116
157
164
151
103
187
210
210
247
207
205
179
121
182
148
166
150
191
147
239
81
92
195
154
110
164
207
139
111
151
86
80
172
167
83
137
79
249
138
176
249
226
75
109
197
199
216
77
167
221
98
206
192
232
191
201
133
133
140
161
124
194
236
136
248
105
163
221
123
170
170
78
132
235
150
83
86
79
240
194
155
203
188
173
93
161
207
247
89
248
177
215
70
180
170
183
155
135
147
144
220
124
145
104
229
75
219
79
90
198
183
102
240
161
193
107
135
245
246
183
123
225
147
143
105
118
232
150
94
83
241
118
205
157
172
161
94
143
152
223
96
163
182
109
127
185
113
182
242
132
232
239
97
184
120
144
247
141
117
80
236
164
219
103
176
248
228
78
114
94
150
83
151
196
158
109
94
192
246
159
128
82
185
212
87
191
215
191
173
171
214
189
164
203
124
149
78
134
205
131
139
216
96
108
158
169
88
150
148
124
226
156
186
73
79
85
195
117
175
198
204
149
222
165
221
152
70
89
102
234
126
237
218
77
230
141
109
132
157
165
104
96
77
224
88
86
177
111
100
225
78
113
132
212
190
141
183
129
107
197
87
128
78
203
117
172
151
97
118
155
126
189
161
111
200
229
101
240
197
125
170
201
151
189
101
185
96
137
144
172
114
200
111
170
92
157
113
172
183
204
135
161
175
99
242
145
189
209
243
114
247
182
170
208
213
169
104
159
179
243
164
88
237
243
130
126
109
131
201
82
200
190
72
241
149
112
205
126
102
153
159
117
243
84
89
243
197
248
91
231
97
89
74
206
89
237
103
210
229
130
94
210
115
112
132
159
77
107
114
157
211
241
142
201
127
106
216
177
122
249
102
250
86
237
88
96
109
207
145
194
225
186
103
136
202
92
99
81
212
210
240
90
108
201
244
123
76
225
244
74
202
151
209
154
94
235
145
238
192
133
117
193
153
149
195
162
145
120
161
149
156
158
170
111
195
242
159
248
233
201
225
82
236
141
234
155
84
119
72
242
86
184
187
89
123
228
187
248
235
94
87
149
210
149
75
183
224
147
156
214
249
146
142
80
108
178
214
218
84
156
159
147
142
148
142
131
237
186
143
71
159
99
237
135
149
106
113
201
220
120
172
178
132
81
218
174
216
132
115
134
79
187
135
110
112
109
124
118
152
142
167
205
111
214
229
156
189
247
129
101
207
234
165
231
198
86
177
205
85
97
183
143
150
190
96
95
198
247
97
70
92
112
229
167
207
92
213
92
164
248
223
109
213
239
208
119
240
194
75
136
85
208
222
170
93
144
196
106
112
223
99
199
72
81
152
217
231
110
149
172
79
221
153
197
183
174
228
88
192
114
132
218
98
121
76
165
135
87
212
83
91
92
162
226
106
162
118
155
246
113
219
223
172
248
212
244
210
203
180
181
244
144
94
79
106
219
188
96
186
222
92
149
249
94
93
109
148
140
246
167
247
174
111
114
118
187
197
163
211
229
115
204
193
218
105
219
230
188
199
185
193
83
176
150
155
152
202
115
137
153
241
250
112
108
199
188
235
156
120
165
139
218
117
77
108
236
240
70
71
205
153
245
72
87
81
79
85
101
213
209
77
129
150
78
105
150
176
111
180
219
131
206
76
223
172
126
159
140
128
228
72
127
139
243
136
247
181
145
133
198
84
236
217
208
108
158
77
162
121
110
224
193
106
129
208
175
117
85
140
180
191
73
139
70
145
238
123
107
224
160
163
201
207
153
82
96
187
216
248
161
188
238
94
85
89
240
233
183
118
157
206
211
228
126
167
206
149
196
212
240
127
240
188
146
96
72
195
230
87
240
235
168
205
144
211
137
243
107
186
153
84
83
121
113
173
116
249
227
105
198
160
111
244
169
162
71
232
224
183
183
152
96
87
82
146
104
127
151
123
119
192
209
245
117
232
110
91
129
238
131
171
200
155
131
235
189
87
84
124
127
213
217
237
207
140
117
175
247
134
192
81
228
146
193
103
155
98
215
146
222
88
157
214
93
150
149
235
81
183
214
165
232
89
216
156
131
163
207
80
157
151
126
164
101
247
75
172
228
187
145
78
223
114
84
83
232
169
129
217
77
199
193
97
143
85
211
215
113
108
142
183
232
214
130
165
240
205
112
202
78
169
195
162
83
105
249
147
246
207
118
184
162
181
195
200
166
181
150
85
244
203
94
158
247
224
178
93
75
186
152
144
156
82
246
117
183
229
187
99
74
102
103
71
114
83
168
228
124
137
72
228
98
171
84
175
239
236
128
181
205
129
129
230
109
211
122
177
167
155
213
174
239
131
147
167
241
224
154
152
110
237
248
142
144
153
157
192
72
71
76
177
76
140
139
223
210
245
238
153
129
173
240
168
183
231
145
207
175
215
192
236
136
88
137
188
180
195
232
220
213
94
220
73
217
162
93
140
186
200
213
230
130
207
197
200
164
208
110
133
93
249
134
168
237
234
201
82
218
241
78
123
104
204
92
105
169
77
212
213
146
103
215
219
92
249
248
107
212
211
244
160
247
143
236
244
240
189
179
181
81
114
158
127
199
104
166
158
193
185
185
73
144
160
166
232
71
202
219
163
250
90
121
198
145
171
221
86
114
142
174
215
194
208
203
125
149
209
158
193
207
226
172
84
112
172
112
238
120
137
199
117
131
155
244
159
181
215
133
238
156
207
111
87
235
78
136
181
159
141
235
97
174
213
230
143
153
220
109
120
81
170
199
118
85
226
150
152
73
139
108
94
214
213
89
76
139
120
220
79
97
221
242
196
195
161
81
184
173
90
73
223
101
154
162
227
91
89
126
179
77
131
112
119
182
224
202
197
235
169
179
154
224
131
234
155
221
188
122
194
170
126
111
171
247
138
245
162
114
176
201
131
92
80
170
232
248
121
216
124
233
142
126
112
146
84
131
114
206
137
101
244
133
159
171
202
247
202
209
239
180
84
84
97
184
145
146
97
119
174
76
154
248
165
80
188
96
83
208
104
246
139
86
125
98
100
148
243
115
126
211
92
245
82
81
72
79
152
241
92
214
172
71
163
138
110
120
181
194
205
220
234
76
154
94
194
234
147
176
146
82
100
108
103
195
118
149
159
250
141
223
80
192
228
157
70
109
93
152
105
89
202
150
84
169
103
120
205
168
246
172
85
162
163
142
173
72
143
137
191
159
161
241
170
182
211
246
171
149
132
191
167
156
222
88
219
142
185
200
84
153
101
166
148
223
231
127
123
162
92
109
95
171
176
159
78
119
211
194
154
158
150
218
185
174
160
136
119
224
72
239
73
200
192
192
180
90
147
151
158
232
101
211
204
74
147
137
101
220
208
139
248
236
175
144
223
239
193
232
115
97
123
160
152
93
243
236
152
249
246
106
173
99
127
180
169
124
183
160
143
214
110
180
148
181
127
198
149
205
119
81
171
183
208
128
117
186
242
147
217
232
138
185
163
177
209
206
89
250
136
233
212
79
153
222
115
94
140
119
137
219
125
244
93
223
200
106
164
99
170
132
192
170
217
130
110
201
157
81
144
190
206
205
133
164
193
76
247
237
173
201
128
241
195
178
98
182
234
195
143
129
163
135
150
223
188
201
186
106
78
75
110
121
125
136
154
112
232
90
164
95
174
227
224
103
101
115
232
125
172
179
139
124
170
225
161
121
218
121
161
179
237
166
212
224
209
188
166
192
167
208
249
125
73
212
192
207
229
141
75
102
110
207
183
226
202
200
227
162
191
95
231
103
106
86
181
238
133
80
91
232
93
103
162
215
150
101
118
190
114
199
72
87
97
122
121
183
105
162
247
174
75
159
104
170
177
124
210
91
185
237
200
201
95
108
241
91
176
83
170
81
181
72
100
221
140
72
197
151
217
72
113
238
106
89
210
109
205
156
154
135
81
196
150
107
108
156
213
195
245
222
199
71
192
117
194
116
219
113
112
194
204
155
152
191
249
165
239
73
86
171
90
139
162
140
106
210
138
158
125
202
191
185
222
206
240
126
73
190
147
242
94
129
146
234
198
143
200
157
132
216
86
121
203
165
157
237
217
91
234
74
227
204
156
170
97
143
85
111
228
77
207
140
91
212
207
183
194
180
173
140
149
245
222
201
203
174
161
119
140
154
70
212
140
129
90
142
142
105
198
121
232
93
227
157
223
129
129
249
231
212
74
125
206
141
218
212
140
233
241
97
176
217
182
154
111
190
218
136
179
156
222
168
147
157
180
232
158
85
90
170
96
135
198
167
181
181
159
133
107
189
178
203
244
96
135
152
213
132
183
169
182
76
118
70
164
231
175
176
89
239
107
225
180
102
188
90
108
181
89
112
162
161
209
197
98
214
89
167
140
139
165
70
138
141
104
95
208
141
128
231
133
218
154
172
183
173
166
99
170
147
79
135
231
186
227
192
202
171
80
237
222
120
90
165
219
190
208
248
121
125
112
124
219
168
233
186
167
193
160
238
226
194
241
113
71
149
77
73
153
235
214
112
165
130
210
132
134
112
217
194
119
73
123
109
152
80
99
238
244
198
173
177
231
154
219
82
210
227
200
204
160
105
151
70
83
226
146
136
222
76
169
153
198
110
216
212
215
78
195
113
179
214
99
124
114
71
93
209
180
154
72
250
124
155
109
169
186
161
87
165
137
112
83
237
229
227
112
209
105
100
230
177
178
118
236
187
242
216
214
90
188
219
171
156
191
217
155
207
245
148
116
155
155
224
250
96
81
124
117
235
138
242
196
221
177
234
183
159
237
205
197
212
157
72
158
235
206
153
77
158
203
137
200
206
139
136
87
142
74
106
105
139
154
171
141
135
110
82
78
108
70
105
76
225
247
185
155
185
234
244
169
234
212
180
190
229
97
236
126
81
134
198
145
191
215
239
239
219
174
175
197
129
76
184
129
74
196
170
72
75
173
115
128
133
162
191
183
140
193
94
160
110
223
249
199
196
80
72
102
156
186
209
107
86
180
235
169
162
106
197
207
242
76
212
229
157
156
143
178
207
185
129
209
84
229
218
213
166
81
213
139
120
233
168
124
185
220
211
161
132
92
81
124
132
217
196
205
117
228
178
134
111
171
244
116
187
230
213
243
74
204
141
185
243
154
132
196
102
247
77
160
196
96
198
101
133
197
133
136
143
70
191
91
108
71
74
137
208
155
168
191
171
195
250
140
158
209
142
83
209
169
229
243
120
242
240
182
122
108
117
91
173
234
129
80
246
245
149
214
206
89
224
186
93
232
227
102
198
217
236
104
75
139
137
174
174
79
216
193
151
130
250
178
175
77
180
208
114
163
77
247
195
77
89
126
72
211
84
233
83
91
132
152
209
238
187
228
198
81
190
242
125
230
139
130
154
77
236
92
223
152
113
86
96
237
183
159
144
186
241
111
85
154
73
151
166
163
206
181
227
119
191
102
228
240
208
232
72
206
128
83
121
149
169
194
222
227
88
118
186
165
143
217
82
146
167
210
236
162
218
134
249
189
103
187
159
238
214
201
70
216
90
79
182
224
193
245
98
173
223
160
101
166
138
117
146
72
75
153
217
72
141
208
217
117
182
222
105
193
205
204
110
147
250
184
212
72
215
150
146
220
191
214
122
144
116
186
189
186
110
183
118
170
118
238
161
132
213
192
167
154
100
201
201
123
111
197
80
196
135
227
131
126
220
235
200
206
225
96
194
120
117
215
136
166
204
104
100
175
116
144
118
102
194
233
222
208
241
226
92
118
106
173
222
126
177
216
184
174
246
128
204
144
114
181
176
168
142
243
167
189
72
133
142
243
94
224
213
117
204
185
132
178
174
164
141
106
155
135
147
76
120
147
225
170
96
244
241
114
84
199
83
149
210
119
99
164
131
193
129
180
153
95
218
82
127
141
114
124
210
218
184
135
176
95
235
130
145
157
148
169
146
98
154
231
156
85
76
183
209
219
193
84
189
137
246
222
188
160
90
103
170
183
169
206
114
202
120
129
100
161
184
149
246
164
152
104
91
88
202
102
97
216
182
168
143
112
131
189
108
129
226
74
214
136
114
114
229
106
227
196
127
79
212
102
218
114
98
98
81
232
250
193
120
174
240
100
170
177
182
88
249
75
109
76
168
144
230
154
228
153
111
73
205
208
132
108
96
97
221
224
222
187
165
246
151
137
90
211
241
216
247
170
101
140
133
117
139
125
212
185
119
113
202
115
136
203
211
131
122
140
72
94
225
149
114
220
113
232
72
141
235
92
73
98
235
111
127
158
154
74
71
221
211
156
201
85
200
105
201
74
243
187
178
76
168
81
143
144
110
97
247
103
168
215
224
211
222
238
94
110
126
96
75
211
163
173
170
71
155
101
90
80
187
79
228
74
97
210
144
193
191
146
145
85
240
242
159
76
185
235
152
219
76
110
219
119
243
230
87
180
101
195
239
122
83
141
212
126
72
171
167
118
201
163
143
139
221
184
202
80
136
230
111
203
99
118
150
166
232
147
208
122
216
153
109
100
160
243
234
110
170
196
116
131
138
178
204
109
132
230
136
139
94
148
184
186
108
205
89
138
156
88
196
233
210
113
97
86
158
147
97
97
140
137
142
200
74
87
73
129
202
106
80
204
234
143
107
124
244
128
143
96
98
166
212
231
170
78
191
209
98
105
230
103
164
196
123
105
192
184
80
183
104
130
208
225
216
99
146
198
121
228
194
79
173
214
108
173
98
187
222
152
89
219
170
95
171
102
226
129
194
201
186
224
94
189
180
195
206
186
234
143
192
239
100
234
246
122
152
95
100
212
170
152
204
246
205
132
130
243
137
225
114
235
195
238
240
118
241
215
233
98
243
102
250
122
97
139
242
130
83
225
162
127
114
89
232
173
231
187
80
155
72
113
206
236
234
244
235
115
129
199
205
108
166
138
150
85
226
148
114
145
164
191
126
157
173
130
170
143
141
220
90
120
207
162
160
217
135
97
135
175
73
186
190
154
137
246
219
127
176
246
121
232
165
206
228
182
173
180
219
188
190
227
119
72
172
148
73
210
173
172
215
191
117
245
212
248
244
195
85
147
211
192
162
82
112
158
124
187
195
242
243
181
243
166
75
82
113
173
87
166
115
128
149
91
196
111
247
247
110
128
248
146
140
133
221
185
209
207
218
183
93
98
205
239
108
193
169
171
121
193
213
129
75
178
243
89
235
88
112
135
175
217
170
150
166
167
193
87
164
127
202
246
169
128
128
108
73
144
241
195
192
87
200
231
140
203
183
166
158
107
172
240
229
77
165
229
246
246
146
158
147
214
241
197
237
126
164
203
150
245
90
76
218
112
183
233
236
239
139
85
90
81
190
78
231
119
160
88
93
84
226
248
185
138
118
133
217
231
217
84
71
82
176
193
93
227
104
242
140
231
187
154
235
180
93
87
234
138
152
170
228
70
179
132
107
74
182
114
70
93
198
156
148
198
164
180
108
207
73
240
213
126
169
85
121
246
244
198
190
138
85
168
137
195
176
141
113
101
188
212
207
113
160
219
196
130
97
130
108
95
75
125
116
160
160
75
226
94
192
234
186
100
73
89
119
101
214
133
216
99
239
128
71
199
230
102
230
162
198
238
91
129
185
196
151
165
76
150
89
110
127
91
145
241
121
95
199
222
239
116
146
168
78
155
152
80
217
175
236
210
164
102
213
94
141
199
177
95
198
250
153
202
143
92
126
176
197
114
136
82
161
221
187
172
107
85
101
205
109
129
217
167
110
94
141
215
182
148
149
153
97
209
151
212
75
147
131
206
164
162
223
163
178
99
97
123
110
221
194
164
199
119
185
212
249
200
88
125
221
208
145
101
144
157
129
148
144
249
246
119
131
157
168
216
74
187
111
182
216
78
250
114
233
244
156
188
188
217
194
234
80
195
107
185
73
185
187
161
134
245
147
93
182
111
221
128
100
86
140
225
129
226
104
194
96
126
95
225
92
111
151
102
171
93
83
144
229
146
183
173
168
108
89
153
189
117
88
217
194
241
83
108
241
217
130
194
138
123
109
213
77
250
250
133
197
202
179
75
87
208
181
144
93
95
97
185
109
170
243
173
164
195
215
140
155
157
247
178
217
129
97
205
133
222
92
161
114
180
97
140
247
101
110
101
174
145
97
158
112
73
181
124
129
80
183
250
179
182
164
207
136
132
111
190
145
127
73
198
81
212
157
125
84
213
229
100
189
160
136
105
70
233
95
77
137
172
99
151
223
161
212
130
119
131
132
189
192
170
191
74
117
74
210
221
198
83
191
182
138
219
77
164
121
125
136
184
156
232
100
199
171
232
93
159
173
247
140
77
168
154
200
201
118
167
72
229
85
136
188
163
189
87
221
124
231
234
162
190
198
71
158
244
113
129
76
233
122
201
243
76
136
127
211
101
107
180
209
178
165
108
115
138
202
173
115
187
245
154
185
210
113
78
136
87
118
138
208
230
147
146
243
89
238
77
170
106
193
87
121
149
117
115
135
81
248
173
111
132
145
180
237
106
154
168
220
106
170
91
112
95
164
90
164
175
121
91
91
185
184
197
112
144
249
89
161
198
167
135
236
127
112
113
110
178
180
192
74
244
243
159
107
247
118
97
137
148
75
159
179
92
217
246
169
215
115
138
242
82
194
125
231
218
183
105
180
79
220
193
129
237
139
124
170
195
120
146
104
225
107
100
171
138
100
189
118
176
94
205
174
200
212
143
179
227
245
194
153
222
143
153
130
233
225
206
245
222
197
132
113
132
244
248
98
82
198
174
166
153
181
138
249
201
192
243
113
201
74
246
97
227
129
125
244
154
227
235
169
114
73
224
185
223
100
117
198
228
229
158
161
83
111
127
197
138
144
157
156
71
196
103
171
180
191
178
218
166
231
145
76
149
244
143
209
122
222
219
239
104
197
120
159
165
169
166
244
159
219
72
112
132
141
157
242
149
163
136
76
156
149
241
140
119
110
240
131
72
147
123
150
128
83
75
164
119
118
157
240
189
83
234
220
106
219
95
146
147
202
133
129
166
223
171
212
235
91
177
209
199
149
236
92
80
136
119
186
213
150
212
73
165
75
135
147
165
83
73
92
248
82
218
140
158
84
210
220
246
100
98
93
243
115
178
197
139
149
104
167
226
222
200
80
177
233
188
219
235
178
152
202
121
178
115
143
104
120
163
238
169
107
122
246
85
104
227
197
165
207
233
168
136
223
76
117
72
160
165
112
76
168
172
142
176
122
171
239
239
186
75
139
139
182
184
250
221
177
77
184
230
176
248
114
74
160
156
119
137
211
173
130
103
199
198
143
97
223
71
221
245
128
107
197
226
175
175
112
241
145
158
125
165
79
156
118
130
170
165
204
203
174
228
135
88
76
204
175
162
87
113
216
94
235
75
218
227
221
203
216
204
98
166
128
191
240
246
172
144
138
126
70
112
164
72
209
187
151
242
225
136
196
229
222
82
155
128
100
83
234
176
87
155
139
124
224
239
227
134
83
122
162
93
215
171
204
117
182
206
221
113
182
226
196
132
104
203
211
145
207
92
227
245
116
225
191
171
177
206
177
174
216
159
232
168
250
246
224
226
186
228
74
236
168
250
203
229
70
250
151
230
238
152
118
137
206
149
214
161
142
177
118
81
124
221
97
106
75
245
111
221
200
152
159
172
169
129
102
146
227
122
74
154
117
131
82
74
217
86
214
149
159
102
160
221
228
164
230
118
161
220
197
219
205
190
249
102
110
139
208
143
231
184
74
201
120
238
114
248
214
182
85
114
120
108
231
124
190
244
210
177
179
82
227
89
216
173
249
218
96
149
94
181
114
226
167
163
111
166
73
112
202
134
112
212
212
163
132
116
134
156
96
72
142
143
222
170
157
166
209
80
110
213
85
180
248
224
148
215
121
80
152
179
190
104
193
100
217
223
92
239
193
111
163
122
201
164
200
142
80
147
209
204
184
89
147
224
245
108
166
213
129
164
169
172
134
215
221
79
134
159
101
81
165
216
78
95
106
215
247
179
101
223
176
184
86
190
135
132
192
223
228
117
250
210
128
135
223
172
89
162
203
96
85
244
234
224
229
138
192
111
227
169
133
75
88
173
199
191
78
194
144
103
190
198
156
109
229
96
233
157
113
215
131
200
151
191
138
184
72
236
83
211
171
231
211
79
126
234
72
75
151
225
156
201
163
213
152
242
122
203
182
137
239
167
171
189
227
166
133
209
188
207
144
178
105
219
199
102
119
137
144
174
202
74
172
115
166
178
217
186
175
246
87
144
84
162
84
193
73
198
127
204
167
179
128
78
226
127
131
80
133
218
206
168
177
208
198
210
222
110
166
162
244
116
201
220
92
204
104
102
230
161
131
216
164
137
139
244
162
229
195
111
215
194
111
228
143
242
149
115
179
158
165
243
162
168
239
106
215
173
148
241
125
203
219
165
137
223
224
105
141
120
175
188
159
243
230
87
171
216
139
241
89
95
110
222
246
209
209
249
195
169
125
144
141
203
93
94
212
140
242
130
79
192
191
210
132
115
166
238
166
72
205
215
184
119
128
244
180
154
219
177
227
194
216
97
249
70
242
203
218
161
167
148
73
176
238
118
192
120
119
191
154
123
230
76
171
143
194
149
143
223
132
74
165
213
81
103
185
245
207
94
232
145
246
73
120
138
126
190
97
103
145
114
93
228
181
88
196
175
99
183
142
122
75
154
240
151
142
240
100
79
145
105
112
212
155
74
72
152
235
151
175
112
126
188
183
98
223
184
211
112
140
189
165
168
190
250
148
176
73
88
128
133
172
172
70
132
117
149
112
162
88
233
121
147
140
73
72
225
246
174
220
156
157
132
120
187
153
118
169
205
225
73
181
149
151
106
218
126
166
230
190
135
100
172
77
101
76
237
238
230
171
171
76
113
149
209
116
248
101
154
70
105
169
84
135
237
95
97
100
214
201
189
157
89
212
249
114
240
174
178
97
128
182
107
240
122
187
73
194
114
80
236
132
169
225
155
191
220
165
182
96
224
127
127
105
135
196
152
164
102
155
72
180
165
87
236
98
114
98
190
100
108
137
192
226
179
84
229
246
81
139
106
249
234
129
165
147
172
164
189
153
95
161
221
227
76
89
124
112
183
230
203
243
178
102
117
244
137
169
199
123
152
134
85
193
163
85
196
175
89
236
122
216
134
133
213
231
166
211
149
190
197
178
137
151
173
213
196
86
172
235
130
75
110
188
220
77
97
87
91
202
162
78
126
187
250
193
109
86
171
137
191
88
173
76
180
153
164
101
195
185
73
201
126
227
230
102
89
151
246
153
170
187
97
80
197
250
101
138
147
137
71
134
146
164
209
180
84
147
105
79
238
168
240
242
75
104
145
216
82
220
197
226
87
235
77
241
70
184
106
86
101
175
210
97
224
249
219
218
84
103
135
131
211
115
103
166
110
190
101
205
87
99
202
227
186
114
202
149
90
182
184
213
162
146
94
250
206
217
118
85
162
224
245
190
90
203
82
146
248
214
155
134
110
225
160
236
190
232
108
232
105
155
221
227
113
141
204
240
185
204
207
168
173
162
231
235
201
112
140
194
238
188
167
203
246
162
151
125
73
83
159
213
136
249
91
148
144
90
142
113
184
145
208
139
97
84
101
180
209
237
238
124
219
129
97
157
196
230
244
78
208
125
181
159
162
204
76
132
186
202
130
107
220
114
196
161
250
102
210
194
84
140
93
96
150
105
195
84
182
129
237
229
168
189
136
157
185
115
135
169
151
130
201
145
146
206
200
129
130
213
149
180
138
168
247
216
225
232
180
211
213
121
238
146
204
182
75
103
196
213
130
135
130
127
209
156
169
210
223
211
120
195
85
221
197
235
119
145
198
150
187
248
150
74
146
128
184
194
93
209
211
213
187
86
72
148
139
97
156
238
73
125
110
118
159
149
230
119
196
100
104
196
124
154
170
108
93
74
86
108
223
157
92
98
77
206
130
119
188
235
240
98
96
98
83
250
231
223
71
98
140
165
226
158
74
189
239
192
76
210
71
171
249
132
127
148
231
126
186
101
216
176
144
191
140
172
83
241
126
116
225
104
152
91
86
99
203
178
207
127
75
82
179
174
246
173
162
135
110
227
210
247
231
86
75
225
184
173
155
148
162
123
195
222
96
177
186
149
250
151
81
203
217
174
202
219
149
108
86
242
116
195
207
142
135
89
80
249
139
181
214
227
187
125
190
197
140
91
199
171
89
228
149
138
92
102
133
104
220
219
201
127
100
108
206
106
144
211
120
98
154
163
147
229
93
111
246
218
247
92
110
113
204
228
98
109
142
227
190
129
237
78
206
98
136
222
225
140
160
246
136
97
131
175
162
160
91
102
213
77
100
174
190
169
96
107
202
140
126
226
121
171
190
249
170
142
204
212
76
137
248
88
110
80
148
211
223
135
242
137
119
243
214
102
208
248
111
110
214
108
117
243
147
94
93
216
104
137
187
210
242
233
80
193
148
174
91
163
86
183
120
235
154
123
106
213
229
128
217
85
181
196
139
199
164
218
225
112
82
223
193
171
89
214
169
169
151
159
70
205
217
227
96
246
208
149
88
76
146
101
93
134
224
232
190
229
210
244
242
104
182
114
227
161
77
89
102
206
77
138
158
172
188
75
228
188
183
162
182
236
74
106
199
77
236
161
192
151
191
144
128
148
162
208
180
237
120
124
99
199
79
208
211
106
181
217
176
111
154
212
222
75
197
97
239
152
111
193
93
213
70
94
143
124
140
215
212
249
224
131
95
156
82
86
242
127
220
83
157
79
76
233
107
187
240
123
234
136
233
114
148
195
149
91
84
225
96
127
245
237
98
189
161
192
243
217
151
123
159
112
82
182
238
77
188
247
207
183
147
75
206
94
119
149
94
116
210
193
213
222
209
174
86
139
117
136
138
248
148
238
176
205
205
189
165
138
182
239
91
230
137
164
80
132
227
211
103
211
171
234
221
136
85
171
248
238
99
82
88
106
178
84
154
39
61
64
33
60
25
42
76
27
50
54
79
26
32
78
72
38
55
71
29
67
22
70
75
70
23
28
70
35
79
43
68
31
62
66
39
60
44
75
47
52
45
65
69
76
30
42
37
55
45
79
45
62
36
44
41
77
50
42
44
57
58
69
36
29
77
63
79
80
50
63
47
27
29
74
41
42
32
30
53
44
31
52
20
53
69
49
48
21
21
23
35
41
37
41
35
57
27
45
21
43
36
21
40
64
55
79
45
54
29
28
73
80
67
45
58
54
72
63
68
33
69
43
52
21
50
29
39
32
27
55
44
41
63
74
24
69
72
33
37
74
71
23
80
71
38
66
23
45
21
69
26
37
32
37
24
68
20
25
54
75
39
53
33
64
33
24
37
43
38
45
79
33
41
40
64
43
65
68
78
30
31
61
57
31
69
43
44
23
53
38
20
43
35
52
74
60
43
48
29
24
71
75
38
56
63
53
20
43
80
31
26
26
46
51
26
23
54
67
42
38
23
70
75
64
54
41
47
79
30
31
39
80
71
34
29
70
44
50
57
28
71
62
53
56
68
28
50
37
64
35
75
77
62
51
59
44
47
39
74
47
61
36
32
31
69
52
42
56
55
37
77
60
75
43
76
21
29
22
48
57
35
57
56
56
36
51
55
74
27
78
67
75
32
58
46
69
46
42
55
61
79
29
80
62
33
31
77
44
69
71
57
37
78
73
80
63
78
59
24
38
71
59
65
50
63
75
60
53
33
51
80
40
37
21
28
49
70
74
27
47
30
45
53
48
76
37
71
21
78
35
56
57
26
29
56
66
77
46
51
21
73
32
75
23
64
72
20
50
75
41
38
80
47
47
53
61
69
56
58
59
53
51
51
24
40
22
75
67
73
35
78
58
79
35
44
49
63
73
39
72
80
54
64
23
21
60
36
31
49
47
28
28
40
64
35
20
66
34
46
40
50
33
59
78
47
39
52
41
66
42
70
75
22
61
79
39
26
36
67
69
46
29
72
68
48
21
30
30
55
27
79
76
35
74
22
71
53
66
64
30
61
64
28
37
74
61
26
24
22
54
73
48
51
35
50
49
45
48
65
28
51
70
80
67
67
74
23
79
37
25
66
47
58
54
59
27
27
48
75
54
69
34
56
35
48
49
79
31
54
41
40
29
67
42
71
27
31
65
62
44
62
80
22
70
20
45
43
74
39
36
40
77
34
30
30
25
75
80
58
35
38
61
54
57
30
66
57
72
55
48
42
78
40
34
39
75
66
55
80
36
44
51
27
60
38
61
68
78
20
47
31
50
27
25
75
37
58
66
55
68
42
42
77
30
63
31
54
51
49
30
58
66
48
27
37
35
48
53
38
80
45
52
60
76
22
27
33
59
80
73
46
52
67
62
55
21
72
64
58
41
45
66
70
31
74
35
25
68
58
39
46
60
35
54
20
30
23
52
41
75
32
33
73
43
62
60
38
67
79
35
73
54
72
69
48
78
70
38
76
53
44
35
76
32
33
21
74
71
79
26
56
64
68
79
21
43
42
20
40
26
36
25
49
62
36
79
67
48
70
54
43
39
22
79
45
79
55
72
21
31
41
59
42
36
60
33
57
79
29
27
35
26
43
45
73
79
54
29
28
75
26
23
48
36
52
29
80
23
49
28
64
25
56
46
64
51
27
42
42
30
76
75
69
61
59
43
80
53
35
38
32
40
66
79
74
80
55
53
53
70
22
57
23
26
40
57
78
77
47
54
50
27
67
59
52
57
62
29
30
36
27
26
64
41
54
37
56
44
36
62
77
71
76
73
29
74
77
36
26
54
49
26
50
30
40
28
25
34
62
52
42
38
24
43
56
64
80
32
45
71
31
73
75
48
49
29
22
71
30
53
66
46
69
58
64
47
50
59
52
69
25
30
75
54
66
38
70
70
55
51
60
61
79
80
51
28
42
71
69
58
34
28
46
39
29
45
53
71
44
24
21
30
22
43
28
59
30
41
44
78
56
63
27
55
30
59
72
23
23
54
33
62
72
26
46
66
80
42
34
55
24
79
56
48
50
30
35
60
52
26
57
56
22
39
78
23
69
21
74
59
45
22
53
22
54
69
24
60
60
79
42
28
50
65
55
26
46
78
58
62
34
76
56
30
73
79
77
49
31
23
55
56
40
54
20
29
26
44
74
22
67
46
67
61
22
77
58
39
28
76
35
23
33
31
65
28
79
42
62
70
29
49
48
40
62
27
38
40
42
38
58
27
64
38
50
25
40
38
64
66
72
40
26
39
30
45
48
58
54
28
23
56
76
20
23
49
74
31
22
22
25
38
51
78
66
37
79
38
54
38
77
23
79
22
32
73
46
48
41
79
78
70
55
39
33
40
27
38
74
29
68
56
25
57
43
35
44
78
20
30
49
24
65
47
66
28
58
51
50
75
26
33
77
46
41
63
79
59
50
49
35
57
34
25
42
52
63
56
75
34
44
78
45
35
34
79
76
72
53
37
43
73
64
39
67
37
61
74
43
51
74
73
78
77
40
54
69
20
23
75
34
23
35
79
24
79
30
77
41
46
77
59
43
27
46
29
35
49
75
62
48
52
42
38
58
74
74
31
64
78
73
56
53
54
63
29
64
49
49
38
60
49
37
73
20
35
60
65
56
43
68
59
20
41
41
55
65
65
56
27
64
49
28
57
48
53
57
48
58
51
22
62
48
26
34
56
27
56
41
73
78
21
44
41
20
34
72
53
69
76
47
22
74
58
22
33
33
58
53
60
28
22
55
58
66
51
76
48
77
76
69
74
73
51
55
46
61
42
24
33
59
55
46
40
73
33
60
70
70
49
61
58
38
46
73
75
34
60
43
41
79
69
77
28
65
27
49
64
46
44
77
32
73
66
66
35
58
31
68
47
60
70
78
69
49
48
45
24
35
27
64
50
40
73
32
41
56
52
77
48
20
72
31
68
32
80
46
56
61
22
47
38
34
44
52
67
20
50
77
71
71
74
39
21
74
22
69
75
32
72
50
25
48
55
62
63
28
78
79
29
39
65
75
77
50
75
24
57
70
59
61
79
20
64
62
54
22
27
64
78
67
58
78
52
80
48
72
55
47
41
20
72
47
62
25
46
40
65
34
38
66
24
35
64
78
48
46
40
37
57
73
34
57
55
56
23
62
20
49
50
71
77
61
68
20
40
52
39
38
69
51
25
36
79
61
23
41
34
80
24
45
77
36
75
28
62
34
45
55
68
64
22
64
59
71
67
30
53
79
53
21
21
79
71
53
30
63
28
69
49
28
59
50
73
20
38
54
52
50
58
29
50
41
73
23
80
57
63
28
74
39
21
41
79
33
44
24
32
33
76
32
50
64
52
39
39
52
33
49
43
31
30
34
30
44
21
25
59
20
66
77
61
36
32
42
41
48
78
65
73
32
70
48
47
77
59
72
31
65
41
80
34
64
55
38
48
76
59
43
73
32
27
47
59
22
47
52
34
69
28
34
46
52
41
73
56
53
48
33
80
26
48
28
61
26
60
50
22
80
51
76
67
37
49
57
61
35
51
77
56
45
50
22
40
64
30
78
52
30
35
31
30
74
53
54
78
35
28
62
57
25
24
20
70
21
47
67
23
60
30
33
29
37
57
63
38
79
70
26
52
35
55
75
28
33
51
59
56
42
59
42
66
57
78
49
44
45
47
47
66
78
53
57
73
54
36
71
39
50
23
51
48
23
29
57
48
41
24
64
31
63
45
62
73
69
42
26
77
34
56
77
34
58
66
35
67
55
73
25
63
29
64
74
35
45
58
64
40
67
36
22
73
71
40
26
24
64
74
57
54
46
74
53
43
56
58
22
70
42
36
30
32
27
34
60
25
48
76
30
29
52
76
40
26
24
41
49
33
60
69
28
50
41
60
54
72
39
21
54
80
26
32
65
23
44
73
59
41
30
59
46
20
31
26
56
71
65
59
47
77
69
40
76
34
69
38
67
57
39
50
51
75
77
37
28
40
55
34
55
26
76
54
62
50
39
78
42
22
78
77
53
62
76
27
40
31
42
80
78
64
34
27
43
51
46
28
44
80
23
67
71
40
60
65
31
68
49
21
22
70
32
59
46
76
60
52
73
29
74
22
72
58
48
74
42
64
68
43
64
31
47
62
23
57
40
49
47
33
55
71
67
75
35
30
70
25
73
51
55
40
64
74
73
50
38
42
68
80
63
72
47
60
23
39
30
20
70
52
44
65
78
71
46
38
30
68
61
78
30
24
73
25
79
26
50
80
47
60
61
55
66
45
38
71
79
39
79
71
26
78
70
38
68
71
32
62
41
34
22
75
76
37
37
37
47
65
52
35
31
63
72
24
43
33
46
50
76
53
43
75
78
62
74
60
37
43
31
25
72
44
27
75
44
73
33
51
66
65
58
35
20
32
79
49
63
43
49
71
28
32
30
60
71
50
22
46
72
23
58
79
70
61
79
30
22
60
30
55
79
71
30
45
61
43
41
52
64
31
44
41
49
71
40
65
46
43
64
51
46
62
27
57
68
72
46
35
45
33
42
23
46
36
28
40
80
62
66
63
52
79
55
71
70
68
78
50
41
78
20
60
66
26
43
34
59
43
70
50
69
51
23
36
38
39
35
27
68
41
64
37
46
78
43
41
74
52
63
64
35
25
44
50
54
27
41
25
28
28
58
51
57
63
57
25
27
43
43
73
62
55
26
27
63
28
43
49
80
28
78
61
44
75
75
60
21
31
52
50
76
63
35
56
66
31
64
32
79
79
80
34
38
25
74
58
29
31
59
28
45
73
36
24
64
71
44
55
72
69
46
62
62
22
48
33
37
45
62
31
79
34
80
62
61
63
50
45
56
44
69
20
59
78
61
41
73
22
77
69
65
21
79
59
25
63
21
55
49
27
64
40
28
45
47
64
66
70
31
22
27
33
40
49
37
26
46
31
28
77
59
61
57
51
38
76
41
55
30
31
80
56
43
67
58
69
26
46
76
63
25
51
63
43
53
28
80
69
40
75
40
31
27
33
76
69
76
22
52
20
78
44
30
70
27
72
47
62
31
54
29
52
32
63
63
44
58
61
55
78
55
43
44
49
22
26
22
28
32
50
29
38
66
36
29
23
69
48
36
66
42
56
71
44
73
79
76
48
58
57
57
32
41
68
30
78
75
53
46
26
78
66
75
28
47
22
47
39
42
63
30
49
31
35
72
26
62
29
22
27
44
34
28
76
62
76
58
67
70
58
35
55
69
21
55
69
68
21
48
76
47
64
26
76
31
40
45
80
57
25
29
77
40
36
55
67
37
26
43
60
75
56
43
74
43
38
73
52
54
34
76
38
31
54
35
62
65
62
29
33
40
56
53
37
43
26
32
73
51
69
73
21
34
22
26
42
30
68
55
68
65
40
53
67
32
40
46
30
57
60
23
47
27
56
39
72
50
43
45
43
37
31
50
80
67
66
27
42
44
73
22
57
53
44
32
52
35
45
33
68
38
56
46
64
73
80
52
41
63
43
59
27
37
67
58
72
60
37
36
46
64
37
26
65
58
70
24
51
43
80
25
72
61
21
77
77
49
59
79
25
48
66
44
37
78
43
44
73
58
51
56
26
49
80
80
74
69
40
40
69
22
51
34
35
26
51
54
43
60
26
67
58
42
63
49
28
74
26
59
67
53
73
80
59
31
27
71
80
42
71
64
56
80
63
53
65
33
54
61
75
75
42
40
34
57
29
52
27
74
59
43
31
30
37
41
62
47
65
43
31
52
49
70
62
59
25
31
77
46
29
24
31
70
50
25
49
52
70
78
58
58
57
45
67
41
24
29
59
74
55
78
37
59
63
34
67
45
50
42
39
34
72
70
57
23
27
75
63
21
46
68
42
56
25
67
68
78
53
69
21
74
52
52
55
59
39
31
32
66
25
54
56
22
40
56
34
78
74
78
60
73
77
35
34
34
44
78
68
53
42
22
51
35
49
70
24
20
56
36
42
78
67
35
75
67
75
44
39
27
74
52
59
27
70
25
24
73
74
30
71
54
71
41
20
40
39
64
55
42
53
62
59
32
72
61
24
36
53
80
21
23
73
20
39
37
45
54
56
70
21
39
48
56
59
49
49
43
62
57
68
75
79
53
22
48
74
52
77
32
22
50
63
80
50
22
72
48
27
47
41
66
53
22
33
75
77
65
58
53
26
79
33
37
69
34
41
75
37
45
23
65
58
76
40
41
45
69
52
71
24
55
79
69
80
44
40
73
58
51
50
53
29
29
36
65
44
56
79
63
64
36
69
25
73
69
32
35
31
37
72
34
26
27
34
25
21
67
60
35
67
70
67
56
50
24
34
72
65
74
41
63
25
55
30
42
52
66
43
45
49
22
32
58
69
69
52
71
30
39
63
66
72
57
31
56
31
46
32
64
78
28
71
37
30
58
50
56
32
25
31
50
58
55
72
76
48
65
24
37
72
48
26
65
56
38
45
50
30
48
21
45
54
68
42
31
78
53
60
80
75
39
75
56
58
53
55
75
22
25
66
67
33
42
21
43
55
36
36
52
55
54
34
31
20
56
66
63
56
23
38
37
24
75
40
34
56
29
60
22
43
42
43
70
41
78
26
44
73
41
35
80
26
38
72
66
31
69
37
44
27
54
50
46
69
66
31
44
55
60
35
55
34
61
65
49
65
43
46
71
42
34
49
23
22
33
52
45
67
49
40
48
57
58
41
43
47
76
28
37
78
35
63
74
50
57
33
39
65
56
71
43
59
29
77
34
48
35
79
31
77
34
28
67
40
60
30
27
47
31
27
78
70
66
57
56
38
75
73
24
30
59
39
23
22
29
22
80
27
56
26
69
76
24
62
32
32
36
49
67
47
65
78
57
41
58
24
75
45
67
31
66
34
31
65
31
30
72
65
60
53
58
59
74
57
62
61
73
36
64
63
31
67
67
46
27
31
78
68
47
38
31
62
47
57
36
74
62
50
67
56
65
61
75
25
62
33
63
48
53
58
22
59
38
21
30
55
63
38
72
44
58
61
74
60
53
42
70
49
24
46
21
70
53
66
34
36
29
22
57
42
34
74
37
51
24
34
29
49
35
44
60
37
42
61
72
74
58
60
23
60
31
46
59
68
20
75
30
27
62
30
47
72
49
61
43
73
50
23
20
37
52
61
53
71
31
39
76
65
79
74
75
53
72
66
45
72
24
62
40
52
76
37
36
74
29
52
21
41
55
42
56
56
33
69
22
58
80
76
79
27
43
56
80
26
71
32
32
74
21
60
78
68
48
50
41
49
21
49
46
62
24
28
41
45
68
70
74
30
23
63
74
61
23
30
75
34
63
36
57
42
61
67
55
46
56
34
31
26
56
38
28
27
53
58
54
21
26
65
70
34
54
21
32
73
45
76
80
21
48
54
51
59
35
55
21
68
74
23
32
57
66
59
33
77
62
67
47
54
77
36
63
57
54
34
69
60
24
28
40
35
65
57
61
27
32
58
28
52
68
64
34
61
72
42
79
21
71
76
56
77
32
44
57
31
50
79
71
52
23
50
45
31
64
60
44
74
66
48
21
49
23
25
67
80
48
28
20
35
43
73
74
77
39
64
25
77
71
28
22
41
51
55
57
58
69
35
76
60
40
65
38
73
38
31
79
78
54
25
58
34
20
40
25
59
71
23
62
62
56
31
37
73
46
42
72
74
72
51
31
32
70
31
41
28
39
30
52
80
48
57
50
25
36
35
55
56
44
53
48
37
22
30
34
55
41
34
78
49
36
42
47
72
55
54
74
33
53
58
71
52
32
53
30
75
42
73
27
61
37
22
50
29
65
30
44
44
32
64
62
52
66
34
69
65
40
40
55
39
35
54
71
47
52
25
34
72
20
77
66
20
70
22
23
46
46
45
49
72
33
78
33
71
56
23
73
21
71
48
67
20
69
52
47
38
41
49
54
26
58
24
34
57
55
20
33
55
78
66
75
75
69
59
68
77
74
45
49
68
47
78
46
29
73
21
68
78
22
33
54
33
60
59
28
79
50
80
30
42
70
73
49
37
60
66
77
40
32
32
30
71
40
58
28
66
50
57
53
78
21
79
69
65
20
62
36
50
53
68
37
52
30
74
56
56
74
30
22
33
38
38
80
53
66
32
37
73
39
36
44
48
21
28
36
27
75
41
75
49
66
57
60
59
36
52
52
71
29
36
24
27
24
66
20
37
25
22
36
63
46
65
70
74
75
35
65
45
62
47
25
54
44
64
35
66
36
73
77
61
71
25
28
22
54
36
29
66
42
28
22
20
45
71
35
67
32
64
57
79
20
47
65
44
51
37
77
29
61
59
64
36
53
46
80
52
53
55
62
48
26
54
56
45
32
79
48
72
72
50
37
49
23
55
43
62
77
55
75
22
74
22
33
55
35
80
27
40
68
74
28
55
63
38
62
67
24
46
75
23
22
37
61
80
26
49
80
49
45
59
66
29
57
78
34
53
20
23
32
79
21
62
65
76
61
60
55
46
38
21
76
72
79
54
39
61
34
66
55
21
32
59
38
57
44
22
20
54
31
74
23
63
52
60
34
78
60
63
28
48
77
57
51
38
74
79
57
24
26
39
46
80
71
22
22
34
65
21
75
64
45
64
56
59
60
29
58
28
46
60
68
68
57
57
71
64
25
64
67
42
32
47
52
56
48
72
21
42
63
61
50
68
71
49
59
32
67
64
67
60
53
30
66
65
77
55
80
79
76
45
74
34
79
67
65
60
32
66
61
41
66
40
80
40
38
27
73
50
25
34
35
63
77
45
57
66
45
75
53
29
21
60
52
35
45
74
37
65
20
21
80
26
43
79
76
24
66
62
22
48
80
68
79
65
26
43
44
21
60
56
78
38
43
29
57
52
57
72
26
52
71
53
51
61
67
64
69
31
43
78
71
62
36
46
79
42
52
55
53
33
23
67
76
27
74
71
61
45
67
51
28
69
26
55
70
59
36
25
63
74
47
72
24
67
80
73
25
49
52
38
53
77
25
61
74
22
44
35
65
52
30
47
61
57
47
60
72
66
27
45
30
74
46
43
21
69
79
55
72
68
21
31
70
53
66
38
25
78
45
66
34
21
46
76
79
67
69
25
59
34
63
43
35
28
67
45
49
24
77
24
24
60
38
32
62
48
76
37
61
62
43
59
46
24
78
48
36
78
75
57
63
38
21
48
29
57
58
74
70
30
61
65
65
48
49
23
58
77
43
76
32
73
41
41
46
54
61
37
54
58
77
75
44
54
25
42
64
30
43
20
80
79
45
53
65
72
55
23
49
47
40
70
30
42
59
79
32
76
63
49
61
27
60
23
38
45
33
68
53
54
60
62
26
29
33
51
58
79
76
39
74
39
39
26
26
70
50
79
45
46
60
32
79
29
68
62
66
37
31
66
78
47
22
29
39
73
27
24
46
51
66
50
68
74
39
41
61
77
77
66
34
44
53
25
49
46
58
48
80
30
52
59
63
67
26
59
39
49
59
74
50
50
33
68
37
52
21
48
31
37
51
79
64
26
47
36
59
34
34
23
45
70
56
43
46
66
41
44
61
72
36
23
33
26
67
45
34
45
46
22
36
74
33
36
62
27
25
41
45
46
52
38
28
24
65
59
74
58
38
60
37
46
57
47
76
31
58
55
33
47
25
35
74
23
57
71
69
72
59
75
78
68
38
26
69
27
27
35
77
65
67
79
49
20
26
35
56
57
75
63
74
41
76
27
55
44
68
64
78
54
60
28
80
76
70
47
20
62
79
35
30
54
75
52
31
37
54
32
70
65
65
37
68
28
72
58
69
68
49
51
45
77
44
73
36
22
45
26
58
42
34
51
54
25
57
73
72
25
36
53
54
41
20
75
23
44
72
23
78
44
39
21
74
66
35
66
80
60
78
44
43
65
59
67
59
61
65
47
38
44
79
78
80
62
24
70
57
64
40
33
22
23
25
47
44
25
32
23
45
33
76
75
51
57
39
46
51
26
69
60
50
76
44
71
45
43
32
22
20
70
23
62
31
52
26
33
25
25
62
32
28
37
49
73
57
25
69
66
53
42
33
67
27
65
50
22
80
21
79
55
80
74
61
36
29
73
47
45
71
73
60
27
73
21
36
68
48
63
45
49
21
77
21
43
25
29
48
69
69
63
34
35
51
69
28
37
75
25
65
24
28
66
66
59
51
21
31
65
35
62
31
30
42
76
44
54
76
76
40
65
53
46
34
80
60
48
44
29
74
57
49
22
21
42
50
34
29
48
57
64
56
69
33
28
26
33
55
53
26
52
44
57
52
46
29
50
68
67
57
60
27
31
63
48
77
57
26
74
30
63
22
71
27
55
45
63
70
35
40
43
25
70
33
74
51
21
78
24
74
24
68
58
74
57
67
73
49
26
33
56
24
24
76
40
55
37
68
27
55
24
31
76
43
64
45
79
59
71
56
37
76
78
68
44
50
60
77
27
79
58
64
67
60
36
63
71
70
77
23
79
36
44
78
64
49
46
20
45
36
44
33
67
42
67
76
45
40
31
47
76
80
78
23
41
20
65
59
27
38
39
70
34
62
75
31
45
67
55
57
61
22
75
47
49
74
45
80
70
30
29
34
73
50
70
54
58
58
78
36
23
20
73
21
67
46
41
64
77
74
61
41
78
59
53
79
47
33
55
43
35
71
79
77
50
52
33
75
22
34
31
69
41
43
64
25
39
40
41
36
32
65
77
36
58
72
23
38
69
80
60
40
41
78
74
23
50
76
63
22
65
33
66
56
38
60
57
41
35
76
47
40
58
49
29
54
41
44
68
44
45
70
25
78
57
25
34
77
28
49
37
76
55
36
56
65
41
74
59
73
48
49
28
55
34
31
74
54
40
77
70
78
67
61
74
27
32
23
27
77
75
73
27
71
56
73
63
42
59
51
37
70
40
75
36
34
47
74
76
37
30
20
69
40
39
80
27
49
63
59
22
73
28
46
69
59
48
22
78
79
46
62
34
40
63
44
22
45
53
67
62
65
34
24
61
71
33
36
44
46
22
40
61
27
22
64
58
36
56
58
27
37
47
37
28
59
66
61
76
59
65
24
44
24
42
38
48
38
59
60
38
67
34
53
54
30
53
38
40
53
23
39
26
31
30
38
47
74
39
37
55
48
74
78
72
78
74
63
50
66
35
61
68
59
56
79
39
21
77
65
57
25
35
71
77
27
78
27
31
25
51
41
27
76
28
37
77
42
69
28
72
69
29
24
55
27
45
34
46
63
65
44
54
39
63
76
64
77
32
32
64
68
48
40
34
48
68
35
24
38
40
26
48
20
55
76
55
80
32
67
51
78
65
37
50
72
73
56
30
72
39
69
54
30
73
39
47
50
33
67
76
75
63
21
32
66
45
55
26
36
56
24
59
69
43
39
74
27
68
27
43
64
60
62
70
38
60
40
70
46
35
27
50
65
45
79
58
38
63
29
38
77
56
78
57
49
73
27
63
67
54
45
24
71
40
28
32
32
73
25
32
41
34
77
34
73
45
79
67
46
27
65
43
30
49
43
45
22
23
25
64
79
36
68
73
68
79
29
45
32
34
69
20
36
72
53
51
25
23
62
66
77
30
21
80
21
35
35
65
37
68
68
34
26
31
56
53
77
42
42
20
61
36
57
73
74
56
76
35
28
67
73
21
22
63
23
41
65
56
67
71
76
30
21
78
37
44
75
74
72
26
74
71
35
70
60
59
80
57
61
80
22
58
79
67
48
61
66
52
25
40
65
79
41
36
66
36
70
44
23
47
50
22
39
61
58
29
29
21
48
67
67
58
36
63
53
27
58
63
31
59
57
52
40
52
73
55
21
40
70
39
55
45
38
56
59
73
56
71
28
78
52
70
42
28
26
27
21
72
29
51
43
22
21
79
24
78
74
32
64
75
32
35
52
75
70
36
75
70
60
69
68
51
34
62
31
79
30
72
78
47
64
39
62
44
25
48
80
63
22
53
33
78
51
75
57
55
61
63
29
46
22
27
62
41
66
78
27
70
48
57
29
59
50
41
79
20
25
34
28
54
56
74
71
74
51
55
47
54
71
77
39
68
28
38
78
64
66
52
49
63
77
28
47
23
35
65
32
61
57
46
44
59
74
40
41
55
39
38
56
77
79
41
57
47
55
30
70
37
32
55
37
33
29
49
28
44
61
20
74
20
63
48
43
29
54
65
27
24
42
52
30
29
57
70
51
75
42
40
31
48
61
38
38
80
37
28
70
78
23
67
23
35
73
64
63
55
38
25
45
28
21
63
49
38
25
47
51
32
70
75
72
31
39
37
26
37
73
68
60
43
30
29
70
61
69
22
53
38
41
55
46
39
64
62
73
45
34
42
42
26
66
80
60
44
40
59
74
29
52
77
49
69
69
30
57
28
42
34
37
40
30
51
28
22
32
74
48
28
24
59
20
56
38
77
24
37
27
58
28
40
21
41
64
60
25
75
32
49
43
74
69
30
29
56
30
21
79
22
67
72
28
60
28
33
73
50
70
76
67
31
50
75
33
39
70
27
62
26
78
29
41
73
45
45
47
78
50
67
72
28
63
32
64
72
52
40
77
32
32
50
45
71
80
54
60
50
25
69
72
68
34
52
22
36
60
23
69
33
24
68
79
69
79
65
20
21
63
58
71
67
21
44
78
54
62
69
76
66
25
77
36
64
79
51
43
73
21
38
58
60
30
28
53
60
38
27
66
73
50
30
49
49
52
48
46
21
71
63
50
72
56
62
54
25
37
53
62
33
20
77
69
42
75
27
41
41
63
57
28
26
23
64
28
52
78
42
74
65
21
40
62
53
73
24
21
53
34
55
49
36
46
56
77
22
35
61
78
51
72
76
34
73
65
28
72
61
62
31
80
62
35
37
67
24
69
77
56
75
69
64
63
41
80
77
46
40
42
29
42
39
33
45
40
55
39
41
31
58
56
56
20
72
79
41
31
62
21
61
39
75
20
33
46
23
30
50
67
23
47
33
76
23
51
56
22
33
28
64
57
57
57
24
42
22
62
52
43
69
30
73
79
61
77
39
76
32
33
74
65
67
61
29
29
33
77
27
35
24
51
29
23
27
51
33
26
69
73
32
24
32
21
59
80
51
31
65
26
73
55
70
75
44
78
34
30
69
51
72
26
62
35
35
35
37
30
71
37
54
36
56
61
45
62
23
21
21
35
74
66
36
45
63
71
79
55
46
65
68
46
62
39
66
42
42
24
70
61
69
63
77
64
37
76
73
75
28
38
64
33
27
62
80
60
54
77
69
59
30
37
21
37
42
74
51
66
71
68
51
34
39
60
30
33
38
59
65
28
24
69
31
43
74
80
25
69
26
58
53
66
58
35
48
55
67
27
58
32
78
51
29
72
66
35
58
32
23
66
57
68
74
45
38
29
78
79
28
61
67
44
39
75
78
43
50
75
63
70
51
35
80
20
34
51
36
68
68
64
57
53
79
57
31
59
30
77
57
34
47
63
76
27
60
23
73
67
67
45
60
28
74
66
40
33
69
51
20
29
80
46
50
20
40
64
68
45
50
48
64
63
41
27
30
36
59
70
45
32
25
30
50
45
23
58
47
22
39
41
55
28
60
45
32
40
48
78
24
51
21
73
78
47
45
72
67
44
23
68
20
67
68
49
74
44
29
74
65
46
56
31
58
25
49
79
39
79
24
22
33
72
74
27
67
63
69
31
29
32
29
21
61
58
46
35
48
79
40
67
63
48
62
51
61
45
73
32
68
34
49
23
43
63
77
53
50
51
50
29
46
62
80
79
53
74
53
50
39
23
74
65
65
27
21
34
56
36
60
60
43
70
79
47
57
59
59
52
51
50
73
60
35
74
52
74
48
72
68
56
58
64
35
21
23
29
30
45
74
35
57
58
30
76
25
46
63
35
53
30
22
62
72
65
47
44
39
54
28
38
54
71
70
77
68
21
59
79
35
34
32
39
58
48
63
80
49
38
68
65
80
40
45
25
60
59
30
34
70
40
70
20
53
57
26
38
67
77
20
33
60
40
75
50
60
70
27
41
68
56
78
46
26
57
67
30
28
20
55
41
54
63
43
51
22
27
28
43
23
48
29
67
57
79
76
77
79
53
35
38
31
54
52
74
56
58
36
60
40
40
38
71
68
28
30
27
76
52
46
25
62
62
34
76
75
21
28
69
58
73
49
80
57
43
42
29
62
26
66
68
20
55
42
51
67
36
45
68
55
60
55
59
56
26
52
42
55
62
67
55
22
76
53
32
29
42
71
46
44
60
21
65
47
47
65
34
21
59
77
69
64
31
47
62
80
70
28
49
65
78
21
74
62
61
43
44
61
52
74
71
48
21
37
31
73
33
52
51
68
60
62
80
48
36
28
65
65
54
53
77
38
76
40
25
23
50
58
77
64
62
60
22
54
20
38
47
40
54
66
31
56
20
76
49
78
75
61
25
66
54
65
25
72
55
47
31
58
49
78
57
23
78
31
43
74
37
30
66
38
78
63
29
23
48
41
66
28
47
78
69
28
50
48
28
52
73
78
53
36
76
74
21
67
20
78
39
38
41
24
59
53
29
72
22
69
21
64
61
59
24
78
37
43
65
35
69
80
76
37
23
51
53
63
65
56
44
23
30
67
55
24
73
74
75
58
27
65
48
40
62
46
37
46
79
44
63
70
35
34
44
63
66
24
54
56
21
56
24
55
76
32
53
21
58
23
78
38
26
20
41
27
45
33
36
74
47
51
26
77
46
65
59
48
44
67
64
33
37
74
52
47
25
69
47
21
56
58
45
21
41
65
32
56
36
45
58
70
70
38
67
69
33
45
33
70
27
33
33
25
31
27
42
41
70
68
51
51
76
74
31
80
64
46
42
51
52
50
63
59
52
42
27
64
47
64
64
62
21
23
39
56
64
62
59
61
52
45
60
53
23
68
73
60
66
68
76
28
25
45
27
41
35
30
26
68
24
64
71
56
28
75
31
26
45
67
27
69
54
64
35
73
73
29
66
27
76
64
36
40
23
38
40
36
42
52
30
26
75
45
56
56
26
28
42
25
76
29
74
66
48
39
34
36
33
42
80
44
66
39
20
45
80
63
35
59
63
32
47
60
68
53
77
54
36
80
23
77
59
67
57
39
51
62
64
37
71
65
47
29
44
29
20
53
58
79
47
56
41
40
65
55
40
38
55
34
52
64
58
50
61
37
78
47
37
39
62
74
25
60
39
33
66
61
32
29
74
67
33
73
30
72
28
59
65
32
27
61
52
23
59
25
74
20
29
76
25
47
75
22
53
48
37
38
29
72
49
70
58
33
57
42
45
62
39
63
55
62
34
47
56
54
21
72
23
27
30
51
80
21
48
23
58
79
69
80
70
74
22
79
35
78
43
46
57
22
46
37
54
34
46
45
34
60
71
24
59
33
46
45
24
54
53
47
29
54
64
50
50
26
36
38
69
70
35
35
78
43
54
57
78
75
68
34
27
24
44
74
24
22
28
77
80
57
67
32
73
44
33
74
28
25
67
21
73
55
69
72
66
59
74
42
53
65
27
79
58
42
58
29
77
67
60
20
69
61
47
41
73
75
65
20
59
64
79
58
38
25
67
27
57
80
46
67
69
28
38
23
26
55
20
57
72
27
25
27
41
43
28
40
76
23
56
21
66
22
80
58
31
63
71
47
45
63
58
26
59
48
20
35
57
26
67
33
69
35
63
64
49
34
24
60
74
61
43
45
67
27
78
65
38
73
22
64
29
26
28
68
63
52
43
50
26
66
45
65
50
50
45
20
47
62
34
20
21
24
78
64
70
55
58
27
33
37
60
46
54
77
62
72
71
31
42
30
42
79
75
52
27
75
33
74
43
58
67
79
22
39
55
21
56
70
55
80
30
76
48
38
51
37
43
26
32
20
23
34
58
22
67
50
27
47
68
42
44
41
50
22
46
76
43
42
57
51
48
37
67
71
62
39
46
69
48
41
75
69
40
63
36
68
33
52
36
32
76
43
23
74
52
39
57
37
71
78
42
49
21
66
80
69
48
23
41
41
34
59
68
53
62
72
60
28
74
68
65
22
23
77
64
65
21
50
70
38
77
52
55
50
26
28
44
59
48
34
62
30
69
45
21
70
58
80
31
77
61
54
74
51
63
46
65
24
27
50
29
27
27
64
53
45
50
61
58
47
58
67
36
35
45
61
68
74
70
72
24
27
45
28
45
24
30
59
53
31
20
44
66
53
71
71
43
34
55
56
65
46
66
36
57
42
55
30
57
35
24
55
57
63
48
75
54
48
73
62
48
63
73
80
41
23
37
26
65
61
23
39
43
75
34
52
47
36
38
47
38
64
77
41
79
35
80
72
74
62
23
71
43
71
57
66
40
43
29
25
26
50
38
31
39
52
56
66
78
60
69
73
66
28
40
48
75
37
43
28
61
67
31
21
36
36
68
37
49
34
27
67
49
49
70
35
25
78
34
77
63
24
78
76
78
54
53
32
42
78
41
73
23
46
59
41
47
39
57
33
63
42
25
34
25
20
53
51
76
55
37
60
52
57
32
20
76
67
42
36
45
22
30
39
76
47
31
54
63
63
38
63
62
32
80
30
21
42
70
73
59
74
77
26
31
73
34
54
31
73
65
58
33
57
49
25
45
69
54
77
40
50
32
30
51
70
61
48
31
60
58
31
41
62
50
64
71
42
34
27
68
69
34
35
71
53
23
57
30
65
31
56
65
65
49
69
35
20
46
28
25
53
34
47
36
23
73
72
43
39
76
25
60
73
44
36
45
56
66
23
42
41
48
30
37
29
50
39
52
24
24
20
64
40
34
36
20
30
43
24
55
78
70
75
59
52
51
65
28
79
79
28
28
40
64
61
46
55
67
34
73
80
23
73
68
26
21
65
71
65
46
55
77
77
62
75
56
68
61
22
59
78
27
44
23
27
51
78
23
61
51
67
29
43
34
46
58
27
52
28
44
55
43
34
55
64
32
30
33
36
21
76
80
70
23
56
28
29
45
34
56
25
25
22
79
65
39
52
45
42
44
41
32
54
22
58
58
66
45
44
41
55
34
23
35
62
36
46
46
67
58
43
73
71
56
65
77
43
32
42
45
33
60
79
68
58
60
68
77
55
65
70
44
43
44
34
66
57
21
40
63
70
46
79
65
52
60
49
73
68
80
21
36
27
50
32
63
50
49
20
20
72
73
21
58
23
72
36
52
27
51
58
28
34
28
38
54
51
39
49
24
68
69
66
43
79
69
52
75
33
63
36
34
45
72
63
56
65
64
39
75
49
51
73
52
36
43
40
63
67
26
54
39
66
37
65
42
76
60
72
34
35
25
68
56
25
37
54
27
76
43
69
28
44
42
41
50
56
22
31
53
33
25
23
23
78
77
59
51
79
61
65
36
80
70
79
57
43
61
76
65
67
28
39
78
67
54
75
72
30
65
70
45
22
36
63
45
71
28
47
46
37
31
24
78
30
36
75
49
43
75
50
57
65
51
45
51
69
36
22
48
67
54
50
56
24
76
41
24
54
31
43
59
22
47
52
22
72
67
74
69
38
22
37
63
75
48
69
75
75
73
77
59
58
67
70
61
21
37
26
36
26
48
71
47
25
57
78
30
63
50
50
44
68
59
20
63
69
72
56
46
30
28
31
63
51
44
76
35
42
23
66
59
25
34
53
50
26
46
30
50
44
30
30
51
69
30
73
27
59
59
35
32
63
49
33
66
62
20
50
73
61
44
67
20
80
43
55
72
60
45
66
35
42
77
63
45
54
53
42
80
39
55
40
42
43
21
47
44
79
42
47
46
39
67
25
23
65
48
76
68
57
79
41
62
23
36
51
32
21
64
56
74
73
67
63
26
45
61
38
29
78
29
63
71
48
27
62
32
44
38
62
79
44
46
77
38
27
51
80
24
25
50
27
57
34
40
34
76
53
65
56
46
66
56
55
67
64
80
46
22
59
38
55
35
24
21
50
75
23
31
43
57
54
40
40
21
25
31
43
62
80
74
29
38
76
43
32
42
79
77
65
23
49
50
61
25
57
49
70
33
37
40
78
75
40
62
37
52
47
29
25
35
67
55
61
22
51
32
62
37
69
23
27
27
74
66
72
59
47
26
60
50
35
70
43
47
28
66
74
22
64
48
47
41
26
64
61
27
72
49
34
33
29
50
23
73
55
20
78
25
27
65
71
45
23
70
63
62
51
33
57
29
50
40
79
56
22
76
72
29
80
42
79
60
62
40
39
37
66
78
39
77
20
74
20
30
25
24
55
74
54
41
80
79
38
71
44
54
40
61
57
45
24
27
65
68
28
42
71
79
75
24
22
48
41
45
25
60
41
37
59
22
54
70
75
45
68
29
24
58
31
67
65
24
49
31
69
23
49
28
28
48
63
57
73
39
45
35
61
79
57
57
63
49
53
35
30
60
59
77
20
47
46
28
40
21
64
67
30
68
36
29
72
50
68
30
65
73
67
23
61
80
39
78
69
49
72
33
79
49
56
80
54
80
70
57
27
59
23
63
80
38
52
29
39
30
64
42
60
29
64
59
35
43
38
38
70
45
54
78
20
62
37
35
56
69
43
25
62
23
25
33
56
24
79
42
22
28
80
58
49
37
80
41
27
46
33
46
57
26
63
71
30
21
71
72
46
51
21
74
38
23
80
60
64
57
56
38
32
65
22
55
32
42
45
32
59
48
20
75
28
50
57
38
63
71
54
74
27
36
43
46
55
80
49
45
39
41
74
42
26
76
30
43
59
42
28
36
66
26
69
75
38
65
21
42
47
62
40
58
57
20
57
58
69
20
72
58
24
80
29
50
50
37
64
49
32
24
44
39
51
80
77
41
70
50
31
27
44
78
69
21
38
47
46
37
23
31
45
80
35
79
54
40
31
21
34
56
57
69
26
23
40
58
45
54
62
53
64
42
62
45
61
50
46
41
54
33
70
42
23
59
79
67
46
34
32
68
47
76
73
79
26
55
29
43
57
56
74
76
71
41
20
47
73
64
64
48
79
46
69
62
48
21
51
63
71
41
44
52
58
58
35
59
75
37
26
56
34
64
51
25
84
226
157
81
114
185
213
184
153
114
177
134
176
194
212
180
246
190
142
150
159
247
193
106
176
215
159
150
183
72
173
127
138
227
184
186
175
192
167
72
158
98
233
106
118
148
163
206
84
166
161
178
195
84
150
198
240
158
180
177
76
132
180
149
127
213
150
70
158
206
200
104
100
148
147
204
172
219
136
174
225
222
248
211
112
228
201
226
242
159
212
197
244
245
107
204
213
136
227
166
162
162
108
205
196
76
129
88
88
111
207
110
139
242
130
190
205
237
226
156
151
186
141
231
156
144
212
95
84
163
153
223
242
167
223
219
184
125
172
229
201
135
229
217
160
151
212
70
156
229
249
99
235
193
105
171
185
123
216
219
97
208
154
180
236
78
119
94
160
148
74
70
183
189
211
180
137
189
209
83
189
197
104
138
240
122
87
226
149
138
153
131
94
152
131
208
168
208
120
78
95
107
149
97
82
105
70
177
128
79
151
182
177
227
159
179
181
104
145
122
202
237
87
227
219
153
110
99
82
149
124
231
108
206
111
109
237
210
115
157
250
178
247
176
240
232
88
105
219
108
192
199
143
92
230
202
81
198
151
172
178
86
241
111
221
98
89
85
199
79
107
87
73
222
211
168
182
216
181
95
109
111
232
185
86
227
143
131
218
136
127
239
241
171
160
105
244
244
85
229
176
206
186
112
144
185
88
107
135
123
179
239
226
212
166
225
224
73
123
137
117
96
160
123
98
191
100
125
233
200
130
241
237
208
148
149
245
170
200
248
188
188
125
107
102
120
147
135
74
175
165
167
147
239
136
201
163
158
128
233
172
225
114
126
89
116
125
198
225
101
185
78
145
98
167
177
193
74
127
77
144
218
155
101
118
145
190
201
121
151
91
230
171
153
183
140
70
130
124
250
136
174
219
204
192
93
117
131
116
145
227
204
150
96
238
72
149
190
179
120
96
141
75
138
145
236
228
180
173
95
190
224
82
216
180
175
115
101
155
96
194
137
233
73
213
191
124
92
146
90
133
133
212
102
166
145
190
212
147
107
103
143
139
140
181
172
194
165
111
95
158
111
185
78
118
154
97
94
178
173
138
206
84
187
242
125
225
78
129
156
177
202
243
164
107
237
198
175
156
246
80
161
213
95
210
144
249
219
142
99
87
243
149
226
245
206
119
112
222
140
120
164
75
70
111
121
102
82
188
183
205
191
164
70
205
116
178
72
195
202
105
182
231
150
239
189
85
221
98
90
244
146
225
133
187
192
225
197
72
204
76
154
240
84
152
142
120
92
82
107
183
104
136
166
152
238
157
214
165
146
143
131
194
220
152
84
165
75
140
101
141
245
140
130
194
214
139
161
142
162
122
233
244
71
167
232
236
155
191
229
97
219
139
107
196
219
206
191
128
195
74
174
130
179
88
140
188
151
184
162
135
131
226
150
217
167
129
208
129
89
107
231
237
110
231
81
160
140
194
101
120
74
191
104
100
122
186
143
91
158
245
229
73
85
205
163
178
240
187
81
96
100
225
182
215
97
196
208
241
214
208
107
109
110
84
203
139
232
190
242
99
201
192
130
144
211
158
131
189
209
140
94
159
199
220
163
153
90
151
130
176
214
182
129
247
152
196
162
149
183
163
143
141
154
204
107
245
215
147
145
75
114
100
148
87
170
92
110
108
70
166
190
99
233
137
183
215
106
102
182
227
103
203
100
242
196
172
92
138
135
96
209
103
153
194
134
78
140
152
248
81
196
79
177
113
137
244
222
78
160
124
116
107
131
244
176
120
79
88
157
144
100
149
100
188
214
118
216
200
156
122
100
169
174
114
126
206
92
74
84
183
99
221
145
97
174
84
245
202
81
214
91
134
177
79
169
101
211
224
108
175
204
228
122
189
228
105
186
81
118
235
247
244
101
121
181
155
105
173
141
183
183
211
238
156
218
152
192
117
237
187
104
104
189
121
103
186
70
249
141
76
112
147
211
167
120
147
244
145
82
86
115
150
109
160
226
121
87
235
220
70
250
150
71
234
144
140
111
121
73
127
186
162
178
83
118
193
237
239
96
174
166
123
81
141
232
226
200
185
180
154
246
178
215
150
211
208
217
216
108
88
230
128
191
138
233
95
165
118
106
162
118
71
216
91
139
177
138
139
249
119
228
116
154
173
224
145
98
239
85
94
140
74
145
195
93
151
86
166
145
73
156
148
195
201
143
220
167
235
185
88
164
169
128
166
144
201
209
115
155
88
159
91
148
235
74
188
191
235
83
163
175
187
215
212
130
248
139
235
210
249
143
92
237
122
113
230
229
208
94
225
227
108
89
77
219
147
110
226
88
177
106
153
118
203
149
147
235
145
87
215
157
214
144
250
83
192
115
135
239
211
81
85
246
152
229
189
212
189
101
144
138
122
167
86
110
180
76
79
155
115
92
135
91
172
111
169
136
105
121
222
192
208
168
244
163
179
123
184
79
221
80
114
245
200
232
145
181
126
80
172
218
185
94
144
86
120
241
92
234
239
101
131
190
181
90
211
111
230
147
201
85
189
169
197
118
104
202
147
93
188
244
213
181
75
248
195
163
180
84
93
190
123
230
235
168
227
75
165
224
230
74
116
215
205
210
174
245
154
206
237
143
204
212
80
174
214
228
104
177
242
227
193
101
182
165
192
189
220
193
178
208
226
222
84
118
134
131
151
77
155
150
239
76
97
205
207
82
86
75
208
194
118
167
203
198
163
121
116
188
129
98
85
165
221
226
76
134
201
147
148
178
174
148
197
162
163
123
120
158
213
236
167
146
176
242
248
189
78
229
215
183
83
246
233
208
95
70
237
140
185
121
108
70
225
145
119
141
150
140
178
83
156
230
112
180
242
74
107
149
112
84
224
175
152
86
126
199
88
171
110
138
139
75
237
171
199
224
194
181
241
85
104
229
177
142
108
192
204
248
157
115
167
177
219
232
139
218
74
182
128
104
159
155
164
106
125
191
182
153
119
140
131
188
139
113
109
92
246
193
116
179
83
166
236
164
143
114
156
149
87
135
158
154
84
200
208
234
94
202
208
82
96
74
226
70
100
125
205
145
161
99
243
218
78
125
104
119
177
188
113
103
207
232
70
224
237
234
119
203
190
108
136
162
172
177
100
168
153
134
72
177
175
182
244
203
133
101
143
236
94
166
247
107
86
155
167
140
84
247
189
133
188
228
141
209
75
184
82
78
103
223
223
75
181
123
139
178
234
140
73
246
122
209
192
121
229
198
121
154
145
146
87
149
233
207
118
191
124
152
228
88
196
200
183
94
165
178
122
115
134
228
104
180
227
159
223
103
198
111
171
203
203
123
223
242
70
188
138
185
207
126
216
166
205
227
135
197
176
169
226
117
81
134
172
78
246
172
248
226
230
107
152
169
208
220
131
178
127
250
88
71
73
93
242
104
93
165
203
163
111
215
86
186
233
106
82
85
205
160
222
245
160
240
157
132
101
153
156
189
96
185
73
138
178
229
129
82
156
115
196
111
208
102
139
159
201
125
125
77
235
145
197
131
217
199
131
220
248
184
70
144
190
112
128
130
110
108
102
205
144
150
224
155
197
247
236
231
85
197
188
219
116
127
96
194
92
217
212
134
238
231
73
218
191
129
240
135
201
151
88
118
229
109
142
174
198
241
181
248
248
222
78
119
82
156
240
85
211
106
103
163
72
83
162
222
161
236
123
202
213
229
190
176
190
233
90
70
128
227
142
105
85
220
86
163
225
188
154
102
193
245
232
163
70
238
211
175
156
77
121
234
245
250
101
119
247
156
117
209
194
139
235
229
225
149
155
91
158
123
197
117
166
161
240
88
158
177
185
238
89
108
78
167
249
213
116
243
212
134
180
246
100
79
78
96
192
125
165
202
218
100
100
79
85
103
224
159
237
168
121
164
243
130
184
111
73
125
94
201
240
129
182
71
236
218
91
135
104
169
115
173
85
110
180
129
71
167
191
85
145
74
92
194
108
228
132
117
235
78
237
119
77
100
228
98
78
87
178
154
77
106
168
141
183
227
86
174
94
114
95
217
197
229
226
234
75
226
168
146
139
199
213
79
134
100
244
246
234
82
72
180
166
216
173
82
236
122
191
163
140
114
73
143
155
111
179
104
192
116
108
99
166
100
79
99
79
127
167
112
164
189
208
203
187
152
223
100
232
125
171
239
75
223
171
170
87
134
118
185
196
102
109
176
134
158
204
192
209
241
154
208
128
183
94
222
221
190
212
98
81
126
121
120
162
114
112
205
150
196
187
192
101
240
190
82
203
99
196
161
179
176
149
179
121
195
142
178
96
121
143
198
74
230
230
186
123
219
82
200
99
137
123
146
238
159
206
221
233
140
221
109
99
246
161
94
91
159
147
236
71
74
101
240
171
72
167
233
220
130
176
173
166
142
135
240
244
88
181
176
72
131
157
76
73
115
177
240
174
91
107
134
142
174
131
219
77
240
153
75
203
150
198
94
239
81
131
155
230
237
165
127
189
114
199
182
176
198
124
232
186
198
169
205
224
199
84
125
133
156
122
195
117
132
206
77
115
79
98
219
119
169
204
106
165
226
88
89
100
201
185
129
152
111
157
157
150
135
185
148
153
232
139
150
180
169
103
81
126
215
223
174
71
188
206
93
204
229
99
248
191
76
114
225
87
165
137
164
245
179
110
151
207
152
96
138
248
196
137
75
74
121
108
170
180
97
167
204
112
234
173
244
250
235
150
107
105
125
155
239
171
166
225
250
126
244
249
116
200
90
119
75
117
229
104
91
105
178
106
197
205
161
80
83
124
245
117
76
117
247
161
209
111
142
168
188
166
155
146
173
219
201
134
184
178
85
235
98
89
100
212
194
154
184
235
97
232
100
139
177
118
85
97
126
115
246
215
90
105
171
134
89
145
72
120
233
241
72
215
246
220
172
207
136
82
181
100
107
116
70
242
212
133
72
250
176
189
209
230
166
247
175
123
152
79
164
92
149
171
220
181
173
148
88
76
78
191
158
182
233
233
140
74
224
73
167
185
163
95
99
102
228
188
110
86
85
77
82
231
181
245
149
239
98
145
173
99
133
188
116
93
229
168
138
112
193
124
186
187
238
180
181
192
189
152
104
247
113
206
178
245
84
93
165
107
122
71
161
129
115
108
82
109
146
157
187
128
84
139
171
179
116
135
108
250
199
79
238
145
242
76
145
97
145
163
173
146
186
158
119
201
116
115
228
128
205
245
178
163
167
72
132
160
232
124
134
169
176
103
122
124
240
75
239
233
122
238
119
199
199
187
172
117
109
238
126
133
75
106
182
174
131
104
71
217
95
147
196
232
140
74
82
154
164
239
103
166
164
226
146
74
72
168
173
87
235
107
93
90
243
108
184
205
79
144
199
229
135
207
239
170
75
229
147
148
237
98
151
166
123
179
84
116
250
164
198
180
203
115
126
94
197
247
142
129
79
229
170
147
123
160
235
234
81
92
194
75
128
134
134
246
249
204
151
212
133
78
185
177
120
72
229
74
128
139
108
145
152
133
205
165
248
104
223
160
135
242
148
206
228
241
107
192
79
194
175
98
107
144
221
101
192
228
238
169
209
72
121
235
245
121
121
241
155
94
136
169
180
96
91
240
200
189
82
141
169
130
116
158
218
128
86
176
217
188
176
225
206
93
94
212
141
78
250
185
108
190
71
215
178
215
85
250
113
98
174
70
162
170
113
185
229
80
188
121
151
187
78
247
249
174
197
226
99
123
221
215
79
165
160
85
75
89
74
216
93
188
101
147
144
92
111
104
150
198
225
247
98
229
125
214
114
243
211
72
169
248
243
167
151
92
138
173
102
143
239
181
121
195
143
70
249
96
110
143
160
110
104
242
190
88
228
201
234
242
214
172
221
212
98
227
225
191
145
88
234
241
176
245
158
198
224
165
182
87
137
157
82
163
142
137
238
70
207
247
190
201
219
117
240
125
177
136
214
142
185
231
108
100
135
218
237
94
229
112
83
136
113
172
203
189
167
240
144
231
81
181
83
128
103
239
130
84
201
183
119
77
236
192
154
75
183
71
235
234
177
207
124
212
122
96
110
125
212
215
79
129
138
176
220
185
242
185
80
78
146
141
152
248
80
234
147
129
117
119
72
124
109
80
176
229
166
118
193
239
230
125
234
227
169
178
196
147
198
213
169
191
135
74
75
84
109
112
159
102
128
201
174
185
187
165
209
204
117
158
215
226
155
125
169
102
157
151
159
145
109
228
242
77
102
190
108
224
156
161
119
103
243
201
126
147
240
127
145
182
81
148
145
120
178
178
98
155
156
73
181
135
238
220
196
118
189
97
145
137
192
109
88
185
73
228
224
151
88
232
132
235
72
248
195
96
243
201
178
77
148
85
191
191
185
95
117
160
144
152
222
110
147
116
90
169
231
229
89
166
73
168
213
123
192
199
138
245
77
101
163
107
175
171
133
126
100
228
184
228
102
148
137
81
87
152
90
96
165
130
146
219
189
211
223
166
141
232
158
192
152
87
144
152
95
180
203
214
111
157
132
216
110
182
225
240
207
174
160
150
191
86
154
159
246
167
80
117
123
165
187
168
146
124
212
128
74
96
188
204
211
112
190
198
103
202
171
129
170
100
74
145
212
164
161
229
145
119
104
201
74
190
243
123
78
104
73
209
96
211
75
71
239
117
188
90
155
213
86
227
175
178
94
96
101
213
77
134
174
140
150
179
71
105
218
164
114
180
210
241
245
232
208
124
145
176
120
142
99
77
160
221
205
94
235
183
83
175
71
108
243
236
177
171
109
222
199
80
84
81
131
248
208
103
71
157
124
161
136
160
86
99
174
250
179
158
140
172
139
220
90
151
106
193
218
249
95
182
131
174
148
131
162
70
246
90
217
104
166
147
80
155
222
113
230
97
157
123
74
184
84
124
104
93
138
110
116
140
131
115
149
226
233
83
93
249
100
112
194
124
195
243
70
220
224
209
100
172
152
209
167
204
146
218
182
108
168
135
71
122
104
212
152
224
119
198
80
187
131
131
141
81
212
177
119
99
134
194
120
172
128
129
106
168
97
229
208
165
168
75
78
214
161
74
220
132
93
163
152
224
114
160
187
211
111
122
149
190
231
241
164
246
75
186
103
228
238
102
250
87
147
173
221
227
247
196
214
95
231
136
181
166
216
228
94
240
81
196
87
244
182
148
214
212
170
151
239
129
89
203
124
234
234
236
160
242
97
181
143
199
207
133
141
124
179
145
80
247
203
141
242
135
228
92
207
190
210
180
144
184
81
122
140
250
95
224
146
212
160
193
102
91
113
246
155
116
72
237
164
110
241
205
204
188
175
219
127
216
118
200
232
199
139
154
231
186
198
228
236
72
159
94
132
213
150
193
156
82
100
143
245
166
174
95
166
199
175
223
90
104
116
190
191
222
71
191
190
225
115
205
193
219
178
138
234
83
124
166
215
165
147
143
83
206
80
144
176
110
247
246
139
188
109
174
232
137
82
137
80
152
97
91
228
203
143
174
173
113
246
121
186
244
98
220
218
121
81
115
238
117
77
123
183
154
179
91
203
143
96
222
104
193
144
114
153
201
222
70
170
78
88
133
151
228
247
202
204
225
96
186
171
161
155
121
226
77
124
156
108
96
191
194
169
118
186
148
149
149
82
207
107
211
213
88
73
83
126
127
164
223
123
70
238
119
104
104
122
86
233
163
193
98
223
241
121
231
230
91
138
184
219
147
250
135
229
183
249
89
112
190
90
77
212
85
239
222
113
71
88
122
208
169
190
152
74
127
244
106
97
101
73
247
181
84
173
195
113
124
170
243
87
170
82
173
191
174
200
228
128
230
154
104
220
169
93
205
181
128
218
148
234
240
81
109
110
219
128
210
128
132
209
90
198
83
250
152
137
219
82
114
205
173
244
127
137
94
207
129
126
141
215
206
189
75
239
164
71
142
107
201
227
141
177
121
85
220
244
225
79
246
81
146
167
119
102
166
123
97
74
100
229
117
160
156
123
71
150
237
139
240
172
74
242
187
188
173
172
158
94
131
122
101
119
153
80
83
129
140
182
87
87
78
172
207
73
83
142
164
194
114
165
198
113
224
211
163
196
247
98
164
176
109
160
230
197
125
221
143
122
145
153
197
114
175
234
205
98
203
230
74
82
209
197
146
176
177
94
91
204
111
232
154
222
179
182
204
157
174
83
147
232
179
102
77
236
230
187
212
165
130
142
185
73
109
203
245
101
174
210
229
190
175
244
150
145
74
194
191
246
149
238
194
115
181
238
170
225
73
238
204
117
93
203
159
180
123
235
156
227
232
76
101
178
111
92
170
146
96
145
178
237
127
218
134
156
184
237
174
212
77
242
243
90
213
156
116
71
165
130
170
154
222
74
96
118
154
147
168
145
110
152
218
151
185
244
225
183
199
188
195
179
168
223
90
249
243
180
137
195
115
207
127
197
179
200
219
180
77
148
249
194
115
157
104
201
113
248
93
244
140
169
99
101
82
70
162
155
140
174
212
196
219
139
197
70
153
145
117
120
118
237
179
114
131
213
89
235
165
213
215
140
135
144
186
152
70
160
138
175
83
136
123
128
193
229
195
123
217
101
191
135
82
75
75
113
224
204
220
183
106
122
104
237
246
232
83
72
194
236
234
143
95
107
226
236
117
214
180
159
232
131
99
155
85
159
79
134
172
215
170
118
106
198
139
136
187
117
93
134
180
166
104
241
135
218
225
102
147
142
150
174
189
244
158
222
84
224
123
132
247
242
101
118
106
219
130
221
189
135
171
169
209
165
194
145
125
87
148
116
188
77
174
121
84
149
186
186
106
158
147
145
196
235
185
131
112
164
242
115
139
239
94
159
215
121
130
71
233
142
92
123
246
74
239
206
154
140
247
86
109
158
222
131
194
111
201
165
167
201
160
225
242
228
178
78
82
218
237
166
106
206
150
126
118
96
77
122
186
197
144
103
109
114
178
93
231
86
146
116
192
121
237
113
93
83
114
102
134
74
123
214
146
205
71
236
87
140
116
179
89
101
244
80
218
82
124
92
123
93
221
213
145
207
184
230
163
175
115
90
235
122
97
196
175
230
128
172
127
182
187
193
202
127
123
183
215
170
210
233
74
207
202
94
234
93
172
206
243
123
206
248
194
194
240
123
112
233
106
87
164
221
249
149
161
116
174
88
218
194
191
204
232
117
242
211
250
201
148
76
133
197
175
227
110
216
155
150
184
198
168
158
226
161
128
207
226
249
148
86
94
126
178
246
227
114
161
153
200
210
133
237
186
164
153
166
121
248
93
189
204
248
158
225
235
166
167
212
234
170
98
180
94
117
204
202
238
123
191
126
171
197
194
250
160
201
158
117
204
97
94
120
193
126
74
237
74
129
156
236
160
92
119
151
242
165
153
214
189
74
78
196
150
222
148
187
247
105
157
173
230
115
76
127
108
243
161
212
89
175
98
119
74
108
87
86
137
221
184
152
82
188
225
186
201
215
172
97
157
106
197
126
81
81
151
131
145
214
198
87
115
131
130
110
196
169
228
91
208
189
79
159
146
232
204
226
223
81
102
181
179
154
179
87
84
136
115
156
85
73
239
109
247
110
201
206
155
205
186
113
135
142
235
108
244
128
97
185
133
205
159
230
214
197
131
187
75
95
116
149
223
130
94
236
131
245
145
141
141
185
242
180
185
161
221
127
72
231
93
204
163
151
177
179
221
218
91
218
212
142
195
237
76
200
120
142
245
248
145
164
107
186
208
189
227
140
246
169
208
241
139
241
88
189
89
193
75
101
135
230
145
83
227
146
100
243
201
97
198
173
76
184
238
241
126
206
153
226
163
175
152
224
195
168
147
109
166
83
82
188
152
152
225
108
138
124
235
87
165
164
74
211
156
77
160
129
136
184
114
123
213
178
202
98
79
189
233
89
201
237
179
126
78
140
122
102
131
178
197
222
106
190
135
109
198
84
134
105
134
101
122
158
148
192
144
240
143
214
206
136
110
236
133
220
222
248
101
215
244
194
152
245
114
184
231
170
246
226
87
188
153
214
188
223
187
204
173
71
123
229
201
242
224
187
200
106
150
184
188
187
128
202
131
203
179
197
236
116
104
171
138
132
188
217
215
182
122
111
199
171
165
103
149
160
246
208
158
206
176
85
146
215
127
178
122
129
170
117
85
84
127
129
105
184
87
150
231
129
99
229
79
198
92
193
113
109
212
84
216
129
104
139
113
96
147
117
200
157
224
201
114
109
99
154
136
98
175
98
90
109
102
198
238
88
77
140
208
247
190
208
98
95
177
185
190
144
233
118
119
142
127
216
95
113
168
165
212
201
181
178
192
120
173
128
236
166
148
228
140
127
167
85
111
229
147
77
156
130
219
164
78
142
165
211
192
114
115
116
156
135
178
214
204
148
180
129
231
175
217
195
80
226
247
145
157
201
209
80
161
124
163
89
87
150
183
124
128
123
107
131
169
184
230
245
76
192
195
208
246
238
147
192
122
233
181
172
216
103
237
107
219
111
237
107
139
127
215
242
167
208
200
192
92
235
182
193
116
176
144
220
148
191
243
137
86
213
77
96
128
239
141
70
194
108
128
222
143
205
73
81
149
99
239
109
150
168
182
209
185
110
246
250
138
209
98
123
248
187
212
98
195
234
159
198
188
243
122
241
218
98
248
202
190
168
114
204
186
87
76
121
181
183
128
157
88
70
246
104
184
198
112
249
74
226
118
142
105
79
76
168
224
133
211
94
148
175
158
211
167
200
146
182
215
77
187
166
246
84
193
114
186
107
158
115
204
213
178
245
115
161
225
148
237
192
164
181
148
97
90
241
177
226
241
169
247
101
87
144
89
93
239
248
205
81
141
120
168
128
210
124
166
149
106
185
129
249
242
123
186
192
98
244
114
75
74
117
71
118
152
104
229
98
93
236
201
162
226
183
116
226
89
221
138
154
120
180
121
129
241
172
189
132
235
241
175
187
212
178
181
189
122
125
234
247
189
228
144
97
191
165
153
182
139
241
141
127
246
108
214
196
209
207
89
120
249
142
236
130
216
76
218
110
94
127
148
235
98
217
174
234
82
170
124
176
204
165
138
113
137
217
184
193
83
91
171
206
177
151
242
190
164
151
128
118
86
163
247
139
124
209
201
174
155
182
104
250
113
101
247
222
106
178
192
185
86
231
87
116
168
126
225
105
220
210
158
129
128
129
167
210
239
91
177
159
130
114
118
250
139
228
245
246
92
193
83
177
98
162
85
232
87
113
142
143
103
124
119
140
151
134
230
78
102
92
94
179
101
220
152
104
95
98
240
212
150
72
70
75
153
174
181
87
208
75
86
76
167
117
197
234
245
78
190
140
202
187
100
227
195
194
130
213
155
158
232
71
156
205
92
165
242
130
113
203
248
180
96
167
102
102
209
72
241
209
236
222
187
211
71
151
107
180
225
132
154
126
157
104
137
178
111
125
114
209
201
171
157
217
184
96
229
126
163
115
127
226
144
96
177
150
110
85
99
230
211
197
239
183
180
91
75
136
174
98
153
218
128
75
204
157
167
98
133
247
173
108
247
231
171
110
122
79
170
84
175
70
71
243
72
248
166
156
91
152
122
173
179
88
133
227
195
241
101
248
174
186
97
164
163
87
205
120
231
131
112
116
121
154
235
109
229
117
122
161
85
171
189
182
240
230
218
226
131
222
141
211
172
103
169
210
229
184
107
92
128
99
92
74
135
96
243
140
147
146
185
202
97
87
132
170
222
208
177
112
169
126
151
170
195
222
132
181
107
126
196
237
155
87
180
241
206
167
120
147
119
107
182
90
104
93
148
246
115
94
232
156
109
177
147
71
179
81
230
100
138
197
230
225
197
107
151
238
88
77
171
123
229
167
125
223
84
162
191
153
246
120
99
210
87
244
71
235
211
82
231
80
230
210
156
92
189
87
147
175
210
199
225
126
140
209
137
97
119
196
197
248
89
95
188
71
174
242
196
104
233
113
183
115
219
116
137
139
202
109
184
139
220
99
165
185
176
172
122
210
126
212
90
168
155
70
209
95
163
194
206
98
159
157
86
228
176
115
245
98
175
162
248
157
113
179
70
216
201
109
228
186
168
98
116
241
227
197
230
167
96
218
127
187
220
165
166
143
99
159
247
171
140
250
184
229
101
141
125
199
124
198
139
160
235
201
173
211
172
157
97
231
245
247
201
235
132
239
100
112
228
179
134
85
234
93
169
175
152
172
70
161
104
212
180
218
131
139
147
190
107
219
136
175
97
160
224
174
165
204
176
108
233
239
77
239
199
243
181
242
75
106
169
214
156
160
225
117
195
87
115
181
186
220
245
220
90
117
104
76
243
108
89
186
127
200
95
202
82
181
233
96
193
176
75
228
219
214
214
222
114
74
79
179
235
219
74
216
244
246
81
100
245
155
201
179
72
172
231
125
157
237
166
224
97
182
158
190
187
191
205
241
208
129
186
155
250
177
152
77
237
109
176
190
122
215
235
216
114
169
154
75
137
127
235
223
141
117
177
110
90
221
161
160
232
155
237
102
230
74
165
168
102
90
159
78
90
132
200
171
216
199
80
145
189
179
208
193
120
76
96
236
133
125
82
108
210
117
209
205
130
129
172
74
111
184
71
120
196
137
173
200
127
133
84
156
241
101
120
85
154
102
127
96
80
116
226
102
79
98
159
232
225
76
101
140
178
134
106
191
123
113
206
223
227
133
198
206
207
248
174
201
103
209
105
179
91
151
144
200
147
150
140
233
176
89
233
152
184
76
106
173
243
241
165
162
210
86
139
124
225
210
160
249
213
246
157
132
233
78
112
192
200
104
134
171
214
220
74
110
166
111
81
125
210
205
162
127
136
137
224
188
249
222
130
187
135
222
129
244
124
248
130
129
133
78
110
147
178
166
86
100
204
242
84
205
86
155
89
154
179
119
217
79
110
77
209
132
191
220
101
190
84
73
198
80
198
178
158
218
173
106
132
72
173
174
165
232
220
218
122
117
180
170
175
197
245
223
126
137
73
211
168
130
104
175
220
93
105
203
203
103
148
200
152
79
94
145
232
71
71
140
83
193
81
108
91
235
214
145
107
225
241
204
149
98
233
101
243
122
192
197
124
118
132
156
218
71
178
76
219
93
206
97
206
89
159
106
90
92
166
133
183
75
73
233
222
233
85
100
211
169
86
164
89
216
122
139
100
200
187
116
154
198
109
135
92
171
165
93
247
120
184
172
248
74
157
212
219
190
117
220
173
89
100
126
76
159
78
241
105
131
118
128
79
185
213
104
79
196
108
100
121
189
86
161
227
73
233
192
140
83
211
191
152
249
129
169
213
184
186
134
106
238
214
152
155
173
199
171
107
146
241
71
125
208
172
178
116
137
163
176
214
217
173
232
93
85
139
194
166
246
179
116
166
149
126
190
246
220
241
151
250
124
188
137
114
218
240
206
96
250
211
202
138
156
136
137
136
81
151
173
143
131
117
232
96
209
117
135
134
95
116
116
233
141
219
176
143
219
161
150
210
192
89
188
133
224
120
129
121
118
227
85
224
103
179
152
188
79
125
121
165
201
152
91
189
70
108
175
97
96
236
195
165
136
180
77
228
229
230
227
208
112
119
84
209
226
228
200
244
124
91
169
126
98
220
129
121
240
130
152
165
204
125
169
125
71
75
99
221
104
207
219
92
222
161
133
122
134
221
105
247
96
116
208
172
191
95
188
235
249
209
96
230
160
155
220
244
96
183
189
140
93
130
245
202
200
233
171
92
71
208
109
80
102
78
100
115
208
224
245
98
183
114
133
176
147
207
150
165
109
212
91
132
196
143
244
230
176
189
206
133
114
153
114
100
116
154
122
245
235
247
78
148
112
203
178
104
201
249
84
110
216
170
98
212
238
124
169
119
208
207
194
171
77
173
160
114
160
108
162
211
122
177
170
111
79
109
185
238
191
77
181
125
102
210
98
171
248
204
235
106
239
113
169
146
114
89
194
193
113
159
165
172
242
104
209
192
159
142
235
215
193
100
247
212
88
137
204
211
105
152
232
221
141
143
181
225
187
221
197
100
171
122
230
204
244
162
115
71
110
134
246
184
79
110
215
137
236
123
221
92
124
164
125
74
141
92
108
85
230
211
183
80
228
197
237
201
143
150
129
183
111
97
91
140
71
99
121
248
86
169
182
97
216
179
158
75
243
156
107
91
78
80
126
216
153
192
78
163
189
238
122
114
91
229
183
122
91
118
111
109
219
81
173
210
92
214
122
177
182
161
134
235
106
161
234
142
212
164
195
119
195
167
132
167
73
159
203
104
178
206
246
165
211
179
84
104
192
234
85
150
88
147
188
173
152
225
232
137
101
188
160
211
118
234
79
76
168
240
105
232
179
70
183
157
147
209
97
200
76
129
161
83
160
175
154
78
146
72
239
218
118
204
92
133
104
175
163
70
71
101
175
249
159
148
82
166
93
119
209
238
102
79
88
182
72
184
238
109
212
201
233
79
78
142
134
84
182
91
187
94
243
157
222
123
87
190
170
129
106
217
107
191
190
104
83
149
134
181
115
226
74
202
88
88
234
72
132
77
234
236
212
112
175
226
155
230
90
172
230
199
152
194
199
232
181
233
115
180
207
178
92
240
224
94
127
239
130
142
78
136
122
148
173
199
223
223
107
73
185
162
149
233
151
235
191
240
151
152
214
178
146
221
198
196
232
225
229
97
241
214
73
117
189
203
72
171
204
168
205
133
82
233
191
122
177
90
242
92
130
131
146
108
102
114
208
187
175
172
182
109
75
95
102
214
172
232
82
144
228
128
234
152
212
180
162
234
79
106
179
209
110
213
116
207
114
139
233
139
175
117
157
175
139
222
209
249
136
175
97
124
242
245
232
78
220
77
94
190
87
218
130
215
121
192
166
212
155
204
207
95
175
86
215
216
233
141
240
248
187
161
196
148
191
166
175
192
105
108
142
79
89
125
89
189
168
193
209
125
158
124
84
166
145
71
131
81
189
199
159
105
157
208
237
191
95
110
82
76
155
158
197
126
189
189
72
115
183
198
148
184
224
100
176
162
136
142
165
209
207
89
82
81
224
161
216
211
180
132
125
197
172
150
130
195
113
132
158
138
176
196
148
192
249
209
195
136
212
161
143
215
84
150
106
224
81
194
231
158
73
159
182
191
209
235
121
118
179
222
115
245
243
233
129
191
156
198
148
73
75
73
126
101
133
145
116
109
248
240
219
189
121
205
146
163
182
173
141
246
79
141
206
102
167
125
206
196
208
155
230
75
190
116
212
135
76
160
188
196
246
248
212
249
100
227
232
194
223
196
153
242
222
227
210
152
162
184
102
100
216
109
89
96
231
78
163
232
122
114
104
153
226
93
81
128
97
116
161
109
174
98
115
132
76
217
142
133
241
169
199
110
237
160
114
125
196
130
231
163
237
98
207
217
114
225
143
170
71
240
225
74
92
198
139
199
219
215
250
118
141
227
147
238
95
242
167
229
204
139
214
90
157
198
186
169
137
135
112
219
204
169
149
211
223
130
220
79
100
235
196
233
157
200
246
80
249
225
83
118
118
98
249
159
168
94
245
115
207
222
86
208
158
95
144
220
147
156
191
211
126
112
230
135
137
132
143
232
236
149
128
167
222
140
215
109
176
115
168
207
130
78
246
101
161
229
141
213
156
109
74
175
229
169
100
121
187
232
81
150
219
121
91
149
126
144
122
223
204
108
183
70
103
209
168
24
58
49
34
79
30
20
22
41
65
58
73
51
40
20
44
46
80
47
31
25
57
29
53
68
24
26
41
20
67
39
70
21
46
60
33
80
23
62
61
43
62
54
64
62
45
32
23
31
34
20
51
57
78
42
21
20
77
71
33
53
30
29
80
72
29
73
68
41
25
38
35
44
62
37
40
53
56
80
54
76
40
40
75
78
43
30
54
67
49
51
27
52
34
76
37
50
32
42
23
24
25
80
49
75
30
40
56
25
37
54
72
36
35
30
40
29
43
27
70
24
77
49
62
25
51
58
70
52
21
78
52
43
43
77
63
48
41
72
45
53
35
31
65
73
80
38
36
24
80
53
61
61
39
76
27
34
73
78
22
71
46
32
61
72
49
21
72
39
57
55
62
37
44
65
46
25
52
21
32
24
75
80
80
34
70
46
40
43
73
77
51
29
40
80
54
26
66
49
54
75
30
70
23
64
57
27
54
24
77
38
49
37
65
73
40
29
60
54
29
70
59
28
50
34
53
33
38
69
69
45
38
47
43
45
48
31
22
29
63
72
67
22
70
28
69
61
75
53
52
52
69
40
33
45
45
79
79
23
69
21
58
46
20
59
39
75
37
80
73
21
29
76
57
63
39
27
26
47
56
27
26
80
62
22
55
69
36
66
69
26
40
64
70
69
32
71
77
50
51
67
69
68
22
64
70
38
75
31
64
72
38
24
50
56
49
35
40
42
75
40
21
31
28
29
37
75
74
78
51
42
42
52
20
33
80
70
47
40
46
37
41
43
75
78
63
24
33
37
57
48
21
42
79
37
23
69
21
44
38
55
68
62
80
35
58
38
78
58
37
51
80
30
45
41
32
44
65
60
22
60
26
78
40
72
41
65
32
50
58
44
59
54
36
75
57
27
24
60
63
27
46
41
29
73
34
77
21
28
35
43
73
35
20
59
45
38
27
70
50
36
60
41
31
50
30
24
66
44
45
43
46
28
56
38
37
32
68
22
36
56
46
59
55
44
30
28
45
40
75
56
45
76
60
33
54
24
61
21
65
72
21
57
71
47
69
24
67
70
49
76
52
61
45
42
26
51
39
37
73
47
35
71
59
62
32
35
66
40
75
63
61
61
79
73
63
48
55
36
44
55
53
30
46
59
33
68
34
31
30
47
26
20
48
61
66
54
67
61
78
35
67
69
42
43
78
77
59
65
61
31
45
27
54
25
33
58
78
64
39
33
73
52
62
52
31
25
66
58
40
54
58
68
26
64
64
64
66
41
47
40
59
36
34
22
41
38
50
51
61
37
41
70
38
30
74
31
67
20
75
80
56
42
54
52
34
48
44
70
25
72
59
57
39
41
34
31
32
34
38
45
59
42
40
63
58
41
62
44
26
49
42
73
49
36
54
54
23
70
49
41
62
23
55
77
40
54
57
50
46
47
69
53
65
45
79
67
61
73
76
70
41
36
77
43
29
24
44
29
59
23
65
71
76
34
64
29
33
43
35
25
30
74
65
58
68
80
36
31
63
35
39
49
38
63
56
23
70
20
79
58
75
50
20
22
20
46
53
67
42
22
43
55
61
25
54
56
24
51
21
42
73
57
32
26
54
72
45
56
52
48
44
69
42
78
55
49
24
42
59
57
40
22
61
25
62
37
69
25
27
21
67
35
34
70
40
69
21
67
31
77
65
69
50
24
54
58
44
78
30
28
29
57
40
35
68
33
40
47
62
32
44
22
76
43
33
59
51
66
53
46
31
60
51
71
31
58
64
59
79
46
59
37
78
24
71
22
59
59
36
24
78
66
24
33
26
59
71
46
79
52
24
52
71
22
74
45
29
52
33
62
72
53
41
65
61
54
58
71
67
24
24
37
38
76
31
46
65
34
44
50
74
78
38
78
50
64
64
65
57
76
75
24
37
67
21
47
58
75
60
76
59
29
25
38
61
67
66
48
33
64
60
76
50
24
49
33
36
69
61
73
26
79
53
34
23
43
63
50
63
52
40
49
34
44
54
37
32
55
61
35
63
47
63
54
43
49
47
41
58
38
54
68
61
30
28
61
67
39
32
24
80
68
26
23
29
70
20
78
47
42
48
51
75
45
53
29
46
54
53
24
41
50
31
68
75
26
24
79
27
66
66
79
50
67
80
32
40
40
72
77
57
38
53
22
43
25
67
49
59
53
42
41
28
52
36
36
29
63
50
52
70
31
54
73
41
26
44
48
25
41
64
36
35
20
51
62
73
48
42
68
28
77
22
72
49
32
70
21
24
27
37
58
34
71
54
30
56
36
40
50
73
58
59
65
59
21
38
48
34
26
58
50
56
30
25
37
46
42
70
78
33
65
33
42
69
34
31
47
74
65
47
72
47
76
68
26
66
24
53
59
75
40
23
73
21
45
43
47
49
51
32
80
49
29
26
69
47
72
33
73
31
76
51
59
47
29
58
34
74
43
53
24
68
56
48
72
79
72
41
21
27
61
28
64
30
24
51
77
34
65
62
74
35
58
29
55
65
76
22
29
76
28
57
34
21
64
71
42
27
60
31
38
20
72
61
33
72
29
79
70
42
44
79
70
74
44
51
55
78
53
27
25
30
44
54
59
36
50
71
38
33
76
47
51
50
57
69
43
42
24
63
66
48
60
56
29
50
54
39
44
66
74
34
43
77
65
45
80
39
36
55
28
38
29
73
28
56
30
45
60
29
28
47
56
80
68
63
32
78
21
34
52
56
54
29
31
63
31
58
67
57
56
41
38
64
44
38
72
71
56
38
35
52
45
35
62
20
50
23
71
68
63
80
53
71
28
64
38
76
55
45
34
49
24
59
27
72
45
57
43
79
76
66
48
31
27
26
49
34
29
33
57
22
67
35
61
51
23
79
66
36
59
39
35
29
33
69
57
76
26
41
78
79
65
77
21
68
20
65
54
33
40
28
50
30
50
34
63
57
66
29
46
78
30
24
43
51
52
45
50
57
39
77
71
74
25
42
23
70
48
26
35
79
75
45
57
52
25
68
74
69
28
46
47
33
35
30
64
63
44
79
53
54
57
60
44
57
70
72
38
33
67
76
66
56
70
68
35
34
78
53
64
52
40
71
51
64
33
66
25
35
60
39
72
62
46
37
23
70
28
57
78
60
57
37
68
47
60
63
69
35
73
41
43
80
79
42
43
50
67
74
79
34
48
61
52
56
49
57
27
72
63
74
50
58
65
74
77
44
39
22
35
27
67
65
72
38
67
63
75
49
29
40
66
20
26
25
38
52
39
30
32
60
69
57
70
47
60
58
31
39
77
51
38
67
44
68
38
35
37
75
32
72
21
70
60
68
32
54
43
56
23
37
52
50
39
71
45
26
47
70
51
79
63
67
39
22
52
25
47
53
34
61
69
64
54
66
39
23
49
67
59
56
56
40
32
29
38
70
47
44
21
43
40
21
21
27
65
30
23
77
56
64
21
75
45
67
48
38
54
45
48
35
63
66
65
21
76
55
20
35
20
79
34
36
42
47
54
34
40
33
68
52
76
43
70
50
71
36
71
73
23
55
33
35
45
52
61
20
66
78
79
75
65
69
75
49
23
21
52
49
74
36
62
62
53
72
63
40
80
68
31
35
40
78
37
22
40
23
67
61
55
56
60
56
80
39
73
26
46
27
23
60
76
53
44
57
64
65
44
24
30
63
39
80
40
75
73
21
44
64
50
32
44
78
52
40
47
47
23
57
68
79
47
33
57
47
79
59
52
58
36
60
20
32
35
39
61
73
59
27
70
41
55
48
42
42
21
20
74
67
48
56
45
75
22
55
70
45
51
57
43
40
58
50
74
65
27
49
32
38
36
72
33
52
44
66
56
34
61
36
56
78
34
73
54
77
54
27
43
71
65
22
54
72
49
21
40
56
74
49
31
33
46
28
56
60
54
80
68
73
59
58
33
25
39
36
30
67
21
67
48
47
73
65
32
62
49
38
42
49
42
53
38
54
57
46
80
75
73
67
68
49
47
33
75
45
74
55
67
68
49
34
37
33
61
54
37
59
50
24
75
48
68
45
55
43
31
56
61
25
37
25
52
27
41
38
67
23
68
32
53
50
29
53
54
41
70
30
43
30
36
39
64
64
71
68
52
62
50
29
28
46
38
56
37
71
66
73
29
63
64
21
33
31
35
49
61
27
43
37
33
41
52
67
66
63
31
70
43
26
32
43
64
33
45
80
46
45
35
68
67
77
22
72
78
69
38
45
52
50
62
24
68
28
44
30
75
42
39
22
77
37
40
65
70
33
75
42
65
54
62
71
73
23
49
40
63
26
35
62
23
62
29
44
71
37
43
40
29
45
37
75
28
27
26
20
70
25
71
23
31
68
24
57
27
54
26
34
79
26
21
57
27
73
63
67
32
70
38
23
35
64
34
63
23
51
25
74
67
65
36
66
62
57
30
40
56
42
30
27
34
67
64
27
59
23
20
28
21
66
77
21
53
26
36
73
39
35
27
37
53
43
58
29
41
41
33
33
60
54
55
63
74
71
50
67
72
69
45
78
67
57
78
29
58
72
71
68
36
37
70
27
67
60
47
63
20
40
29
79
51
70
20
45
57
31
72
55
50
74
52
50
71
45
77
26
76
63
62
25
46
22
57
54
52
52
34
20
70
74
25
69
32
50
47
47
48
26
64
34
54
61
60
47
40
73
26
48
23
67
25
34
75
37
52
30
48
20
52
41
59
39
39
57
65
30
75
40
44
26
31
80
71
63
72
42
26
53
32
67
50
64
60
66
67
73
36
38
72
78
38
69
20
25
32
52
21
31
22
80
44
75
42
78
80
63
69
62
31
27
67
39
61
23
68
67
51
34
44
29
76
57
53
39
25
67
33
72
75
44
23
79
72
54
59
43
39
72
46
75
39
49
62
71
39
39
27
25
64
53
56
46
45
23
78
66
38
31
47
34
67
70
76
57
25
79
67
69
32
67
78
56
23
21
37
23
50
70
33
52
38
69
74
62
37
49
27
69
77
47
28
28
54
76
50
22
63
61
28
54
38
50
31
20
78
61
54
74
68
34
72
80
47
47
37
75
40
53
55
33
32
26
30
69
20
37
55
30
27
71
26
34
33
24
23
63
22
50
75
54
36
43
57
62
79
77
23
25
45
41
48
27
42
28
27
31
63
37
76
69
23
48
51
27
25
52
30
48
56
40
30
64
36
24
25
29
33
23
59
78
47
47
27
57
64
31
53
63
24
25
47
39
25
72
36
70
49
26
22
36
49
60
74
21
38
39
56
29
46
67
37
59
62
65
21
53
79
55
66
77
28
47
79
61
39
48
79
77
41
76
69
47
32
38
36
72
66
39
39
64
78
30
74
64
44
37
75
49
65
44
59
56
53
79
53
34
76
21
69
73
43
27
26
40
74
24
23
50
48
21
62
28
56
73
77
65
39
65
36
72
73
65
40
31
23
42
26
40
73
54
37
47
28
34
39
68
26
65
21
63
37
38
72
52
68
48
59
52
54
28
73
38
35
67
61
60
42
66
61
25
64
27
35
77
68
28
62
79
26
51
69
51
58
69
71
75
25
38
21
21
47
24
54
36
64
78
56
49
47
38
20
22
35
58
22
75
51
30
32
41
46
29
23
27
66
48
73
62
50
54
31
50
72
25
45
63
56
21
28
29
29
66
71
58
41
66
59
44
57
59
78
28
68
38
68
60
22
50
64
51
21
62
57
55
40
65
78
80
77
36
69
64
51
46
43
71
64
41
77
64
42
27
61
47
24
71
47
63
35
35
66
63
79
66
75
66
58
73
61
27
77
62
28
25
25
75
53
54
80
22
23
79
34
43
52
78
72
26
79
46
58
50
45
27
60
48
75
41
45
32
68
22
51
34
59
25
28
32
41
24
42
80
23
76
30
53
79
73
24
30
30
22
75
46
30
36
69
21
67
32
68
49
35
26
40
67
41
43
60
79
34
40
68
78
32
50
31
79
24
68
20
33
21
50
37
40
66
30
38
71
42
74
56
77
70
70
33
53
34
45
51
70
37
42
66
73
80
26
73
69
74
71
52
70
56
47
34
71
47
39
59
62
54
52
39
22
57
75
42
28
53
66
43
65
49
45
53
26
61
26
48
77
29
33
70
40
65
64
42
69
80
50
70
78
65
22
38
64
60
29
58
69
76
55
43
62
28
30
22
54
41
33
50
33
24
60
27
27
24
76
80
71
66
61
71
47
40
26
50
23
67
76
30
62
47
74
37
40
61
80
26
66
70
31
39
30
57
37
67
79
34
46
67
51
75
48
61
23
48
61
62
29
69
54
36
80
48
54
61
75
40
72
52
29
66
46
25
21
55
55
76
44
57
69
44
23
38
35
70
28
70
22
55
51
66
31
72
34
37
31
20
32
73
47
41
70
74
63
49
23
52
48
21
25
35
42
60
75
63
38
43
51
47
39
58
70
42
45
50
48
62
64
64
58
24
29
79
39
38
73
34
54
27
68
80
27
40
24
28
65
56
67
62
61
64
73
22
21
25
61
63
51
53
22
28
54
59
76
48
75
73
73
20
72
58
74
42
53
63
78
37
21
34
76
51
24
53
74
30
79
70
38
61
34
68
33
28
61
41
34
75
71
62
53
35
21
64
30
24
47
28
60
58
56
61
68
56
68
39
70
76
21
42
27
67
72
63
58
30
48
24
65
64
29
64
58
51
69
36
37
34
67
59
40
70
41
56
46
27
61
45
37
40
57
67
23
29
22
72
21
68
70
21
35
24
49
54
76
51
71
69
27
40
33
33
75
69
26
36
47
41
29
49
50
39
68
20
24
66
45
73
28
29
80
45
30
27
46
27
40
72
57
62
36
56
30
20
57
46
55
46
22
76
20
77
38
57
37
76
30
49
59
33
44
64
42
73
42
67
61
60
26
51
38
79
42
77
55
61
77
53
43
30
55
69
69
48
77
72
67
43
64
66
72
50
45
44
50
24
59
78
25
65
29
61
49
24
30
72
72
47
69
59
52
66
44
54
27
77
22
67
20
55
71
35
72
26
79
31
48
79
39
32
39
40
37
53
72
23
23
70
75
80
21
48
50
38
44
50
48
77
50
67
54
65
29
30
50
28
39
24
77
43
58
42
32
22
70
71
59
73
48
72
77
29
32
59
78
77
57
69
21
73
68
39
79
69
44
41
74
67
22
49
70
41
39
79
35
45
75
53
79
76
27
45
54
66
76
33
34
28
61
77
23
62
73
68
24
52
74
39
75
80
54
29
67
53
69
28
37
43
22
78
38
70
54
62
48
70
32
73
42
64
51
71
40
43
59
44
74
65
34
72
39
41
75
32
73
55
65
30
48
69
21
63
39
49
67
25
63
26
35
46
54
54
42
40
74
61
77
27
70
80
38
53
35
69
68
76
51
44
22
31
52
22
32
24
34
35
28
68
48
25
64
77
64
34
60
48
71
75
34
28
37
79
40
32
50
74
22
66
45
47
28
23
39
57
59
49
54
49
58
28
24
40
22
78
38
60
66
75
25
67
66
24
68
65
35
63
72
42
42
71
59
39
40
29
52
30
64
77
71
24
20
65
78
73
28
45
62
70
66
47
33
48
38
57
21
65
34
29
51
29
38
70
74
48
59
33
63
42
29
24
53
57
35
36
68
50
63
63
56
44
30
49
76
69
48
38
76
39
38
35
42
48
63
28
21
80
22
26
55
70
75
68
49
31
44
33
32
67
49
61
71
37
50
55
47
30
56
36
55
31
49
20
50
62
40
70
32
50
32
24
52
41
39
54
39
29
44
40
25
20
79
27
61
35
21
74
41
32
38
46
78
51
53
66
47
32
80
55
75
50
64
33
42
24
32
58
65
39
21
22
46
27
53
69
23
49
22
25
58
71
41
62
50
70
58
42
61
67
59
41
55
43
72
24
51
74
78
43
20
30
40
24
42
25
68
72
32
28
60
58
79
30
43
32
65
42
54
20
79
26
43
29
48
72
39
29
30
68
21
20
62
55
24
71
34
61
27
43
79
64
73
69
44
63
26
26
66
59
60
59
69
35
24
62
65
59
24
42
76
49
79
34
78
36
40
60
58
52
78
24
20
72
40
29
77
43
75
25
39
28
48
53
64
52
71
75
56
24
26
78
58
76
28
34
28
33
44
43
39
55
73
39
26
45
32
49
69
24
39
40
32
49
20
53
75
58
61
37
60
66
80
68
44
32
74
69
65
54
67
48
54
79
42
54
58
34
75
50
65
74
65
52
28
42
74
71
49
49
40
44
45
79
59
47
23
33
42
41
78
33
56
28
70
21
66
61
41
37
77
72
57
69
27
23
75
38
78
66
79
77
48
26
57
34
62
53
51
67
79
60
30
51
71
73
28
73
51
69
76
41
31
65
27
23
66
47
80
23
70
51
68
36
50
65
36
79
24
20
20
52
22
27
36
23
24
43
80
33
73
54
28
27
80
29
30
29
80
68
50
57
68
42
59
59
33
29
30
68
51
42
66
29
62
67
33
79
43
57
57
59
66
73
55
64
36
53
77
48
42
53
51
40
68
71
21
40
30
77
29
20
71
25
61
56
57
80
71
31
33
25
66
25
77
75
25
20
40
26
70
34
46
38
65
43
77
51
64
66
23
25
78
34
40
25
76
44
78
60
30
79
68
68
28
63
66
69
68
66
79
50
78
56
73
73
72
24
56
75
32
57
68
22
61
48
80
78
57
31
32
39
29
77
40
79
34
35
79
42
72
22
35
39
62
68
54
47
63
74
37
75
27
50
48
40
77
71
70
64
33
34
48
66
58
70
72
47
63
52
70
51
61
52
41
71
66
27
79
80
43
40
47
21
80
63
77
44
53
63
79
26
68
21
35
34
71
79
77
29
34
56
70
26
77
55
38
47
28
59
24
59
42
46
50
45
40
57
61
78
23
36
65
33
63
25
76
54
38
62
59
28
70
63
40
80
25
54
73
61
59
37
26
56
37
74
74
75
55
30
74
68
49
47
73
27
54
73
73
65
73
28
64
45
74
44
20
57
58
77
71
55
51
58
54
65
66
25
73
54
32
78
74
69
40
68
37
48
41
56
59
27
49
20
32
63
46
27
21
27
78
56
25
70
49
34
25
67
25
73
68
24
57
46
20
65
53
26
38
24
68
46
60
56
78
78
64
73
26
74
26
61
64
61
66
33
60
71
54
43
61
63
25
28
47
64
52
30
67
34
35
73
37
54
47
20
52
70
52
26
53
69
52
38
25
25
75
75
45
58
36
50
55
30
32
32
31
43
41
61
47
75
52
41
53
52
28
56
52
46
37
24
39
35
55
21
44
36
74
74
57
58
20
76
63
45
73
64
59
27
45
80
50
36
42
58
23
53
35
75
41
35
46
63
40
38
49
72
53
41
78
33
80
55
38
74
26
29
50
37
60
33
25
26
59
65
45
21
45
78
38
44
37
57
42
70
65
41
35
44
80
38
29
74
21
22
79
76
79
57
64
36
49
65
32
69
42
44
57
33
24
70
42
61
25
77
35
46
48
46
36
65
44
69
24
75
67
58
33
71
56
80
34
80
52
74
28
76
47
78
58
71
37
54
29
56
42
43
47
32
28
56
20
22
79
41
62
30
28
50
43
75
34
64
67
62
72
75
44
58
35
25
53
56
44
70
65
64
36
45
72
24
48
63
20
28
29
26
68
66
43
54
34
30
69
48
33
26
62
23
46
54
51
32
39
40
42
33
51
63
55
78
67
42
36
63
42
80
49
21
74
75
78
39
69
72
50
75
28
35
31
35
73
72
67
71
41
68
47
42
37
29
73
52
43
28
79
22
37
21
49
55
49
40
35
34
71
32
39
30
34
60
73
60
67
30
62
43
60
75
34
76
33
41
62
64
35
64
53
61
36
49
57
67
70
38
34
61
71
25
36
76
29
46
43
28
67
49
49
46
51
74
74
71
33
40
39
66
28
54
20
28
34
62
61
27
24
77
54
58
55
23
74
45
45
37
80
57
74
77
56
41
46
35
65
58
79
23
65
62
70
52
45
40
46
28
67
37
22
48
68
71
34
55
24
20
58
28
37
22
29
61
49
64
59
80
24
56
39
67
40
80
42
37
43
38
31
47
37
76
32
57
79
53
31
32
41
47
69
58
67
49
40
31
45
74
35
77
23
52
61
52
35
48
36
29
25
51
37
50
71
69
31
72
42
21
30
24
60
38
76
51
51
23
78
31
62
30
33
78
31
25
43
68
34
44
32
20
71
60
60
29
60
29
72
23
62
57
33
54
24
38
60
51
72
41
65
63
54
50
56
27
62
63
38
43
53
56
55
62
78
50
35
29
69
69
59
47
23
24
31
32
56
35
42
38
20
37
46
73
60
54
47
33
50
30
40
46
59
38
48
68
49
35
36
67
60
57
52
61
25
24
46
41
59
80
25
36
60
35
53
70
47
41
72
24
36
57
27
50
74
52
66
37
32
34
67
41
65
44
30
78
26
76
66
58
48
66
32
62
70
48
29
28
59
40
74
75
58
45
64
21
73
42
50
75
20
23
58
80
22
57
73
62
68
73
36
79
50
45
48
26
39
24
30
66
22
77
39
71
74
48
50
62
80
77
36
56
33
68
55
78
45
70
58
26
32
40
29
35
52
45
33
46
57
24
58
37
36
53
50
43
67
31
75
37
52
24
78
40
23
79
80
71
32
54
76
77
45
35
27
72
66
54
74
50
48
27
71
58
67
30
30
78
61
77
43
29
20
66
62
29
52
48
52
32
50
74
56
78
49
53
74
41
68
26
49
73
58
31
29
29
74
33
25
48
73
36
48
62
78
28
71
50
42
25
47
39
54
75
56
73
48
72
22
54
50
38
55
29
52
21
72
25
20
22
58
74
32
54
70
22
23
54
41
78
70
39
25
60
80
47
20
77
71
74
59
61
61
71
21
28
21
51
49
53
27
80
47
77
79
56
44
61
66
78
26
22
43
53
59
61
45
52
28
72
26
50
80
45
65
65
52
68
28
24
41
76
22
57
79
68
24
34
59
68
31
45
70
59
76
46
33
75
37
80
67
45
62
43
61
58
32
51
61
20
67
38
57
51
33
67
71
66
39
28
61
21
44
76
63
42
30
72
54
54
40
72
41
62
32
29
40
60
75
25
69
22
53
39
45
71
48
66
41
22
32
67
74
26
26
44
59
40
20
29
58
54
76
76
63
52
54
43
73
46
54
67
56
22
38
35
51
26
61
43
77
55
65
48
30
80
62
79
37
44
20
58
59
21
67
32
34
20
80
64
36
25
54
58
30
79
29
78
25
38
31
28
34
76
60
44
48
72
69
46
67
50
52
48
64
74
49
37
62
71
59
38
23
37
38
61
31
60
23
49
80
53
50
22
55
20
66
66
41
62
29
74
28
36
50
23
49
51
53
71
35
21
26
21
37
36
75
73
39
40
63
36
39
77
74
72
21
31
65
34
63
34
54
64
38
21
42
47
22
74
33
79
75
35
45
26
22
50
22
64
60
33
36
53
32
74
63
21
54
25
77
41
41
36
69
70
79
20
22
54
58
33
64
51
63
61
36
54
55
23
58
60
61
74
27
25
76
61
80
55
38
64
65
71
71
66
50
63
21
21
65
38
20
77
40
49
79
52
45
24
79
53
44
36
78
21
63
35
59
48
75
34
42
50
79
52
46
43
47
52
71
27
77
37
65
77
72
37
41
54
44
54
51
75
39
20
52
59
42
61
72
20
78
31
73
29
44
66
67
33
47
45
77
69
43
79
44
64
29
27
20
32
51
37
40
51
73
66
27
45
27
66
69
36
58
78
21
27
25
47
30
36
42
23
73
47
73
71
35
35
68
27
50
76
27
63
20
44
41
37
67
40
45
36
65
23
55
58
68
48
39
73
41
68
65
47
22
74
50
34
34
78
58
65
77
35
77
51
43
69
72
25
50
63
30
43
75
44
68
35
68
35
29
63
75
22
58
75
34
57
26
51
38
51
22
69
64
52
21
26
30
50
40
35
33
47
36
20
43
22
80
79
30
55
40
29
33
77
74
40
63
68
75
36
20
52
57
77
54
76
51
51
21
65
39
69
76
52
71
59
61
62
32
61
27
23
21
32
74
23
74
59
75
21
70
38
53
30
60
51
23
23
26
29
39
21
71
26
25
72
62
39
41
34
25
22
61
22
40
73
24
62
50
49
43
25
80
60
68
73
28
76
64
38
53
78
41
39
74
51
79
49
45
28
28
77
78
74
33
77
58
67
72
33
53
26
56
28
37
26
33
55
52
60
50
51
28
48
21
24
21
43
53
70
35
76
38
44
52
40
22
56
47
50
59
40
66
56
34
30
70
23
48
37
75
51
50
37
31
75
47
65
57
80
35
56
73
56
35
60
21
33
79
73
46
36
77
80
63
24
47
58
48
55
68
36
27
50
43
67
79
57
71
42
38
32
31
54
36
38
59
67
28
79
51
74
63
63
66
68
58
54
57
49
31
29
53
41
36
23
39
26
44
50
22
31
20
66
44
25
66
59
68
27
48
30
56
62
42
69
49
27
34
46
23
54
73
47
23
77
79
80
75
29
68
37
48
59
75
31
39
40
63
51
21
52
77
41
57
70
40
49
45
32
31
73
70
24
56
46
64
27
26
51
25
33
25
50
29
39
58
79
53
55
62
80
80
43
31
41
66
64
44
23
73
46
61
68
27
53
40
37
63
59
44
42
34
67
74
67
56
34
63
55
61
76
22
72
65
62
45
35
40
55
52
24
73
52
61
57
52
75
40
80
58
61
51
47
54
22
34
28
71
27
49
29
43
23
33
29
46
28
23
60
69
71
47
59
36
51
41
66
55
20
77
77
61
62
70
25
40
30
45
43
65
26
56
24
66
66
38
54
35
65
72
49
23
77
56
72
57
79
25
67
48
45
64
40
32
30
66
69
27
61
22
52
74
36
42
24
54
27
36
52
58
64
66
35
30
24
79
24
53
55
47
46
25
34
53
39
47
24
67
39
77
59
39
62
41
61
41
34
37
52
67
48
70
42
36
70
64
20
67
60
58
53
29
33
24
66
62
37
60
51
26
30
40
49
71
47
48
31
31
50
56
61
28
41
76
32
67
68
54
69
67
43
75
35
73
68
32
66
74
58
47
28
78
71
44
79
37
80
62
70
26
29
63
23
37
70
70
24
76
75
61
66
45
45
27
51
70
25
76
54
47
64
65
45
48
51
69
31
58
68
68
31
53
75
47
44
68
53
24
22
40
49
31
35
63
22
22
38
43
30
20
34
32
39
56
80
36
62
61
60
45
71
64
63
35
67
68
80
66
68
46
28
35
78
79
67
70
54
20
28
41
66
53
79
74
47
66
72
52
35
54
37
58
53
75
57
73
43
47
52
73
63
36
44
48
30
42
68
51
52
50
43
53
51
22
79
21
39
39
42
20
79
25
58
38
30
28
62
65
60
70
76
42
47
76
25
38
65
20
67
39
60
58
78
64
29
65
44
34
79
68
43
37
42
79
80
76
77
39
32
29
45
68
22
23
34
56
68
65
46
38
42
43
39
75
76
68
23
26
69
23
75
42
21
76
44
49
55
60
69
34
30
20
44
40
66
39
26
45
51
62
50
21
39
26
62
22
46
65
67
52
64
53
43
62
55
28
26
32
68
30
56
55
68
77
52
47
54
26
71
20
42
46
71
71
66
69
44
50
65
50
40
34
55
79
77
67
42
35
37
64
56
44
77
69
64
47
35
40
78
79
40
24
64
25
53
66
37
50
74
70
51
55
24
41
75
39
27
42
30
47
32
24
52
77
66
36
78
21
39
62
59
27
22
70
53
42
66
46
28
34
35
28
22
68
31
36
75
27
71
56
80
63
22
29
50
37
42
38
55
28
50
28
73
48
43
78
54
32
42
63
58
54
75
51
80
61
39
22
34
79
73
68
52
60
62
46
62
65
28
40
68
65
77
24
61
59
60
71
38
76
65
59
31
23
46
74
75
72
51
25
77
44
68
77
49
71
26
20
51
26
73
42
23
44
37
44
24
21
32
33
20
26
38
79
72
49
55
38
36
41
25
28
22
42
36
31
80
72
22
31
55
31
49
24
43
46
40
71
78
74
23
66
65
75
44
32
61
75
46
27
43
59
35
26
77
23
56
66
63
69
45
58
57
25
65
40
74
59
69
79
64
46
65
67
80
39
58
55
76
32
41
43
61
66
33
55
63
50
72
30
30
70
78
59
60
20
35
55
50
54
49
76
66
72
70
30
53
61
68
49
64
70
46
27
78
30
45
36
77
50
22
65
57
60
50
31
26
32
23
53
59
60
34
20
63
44
27
65
79
33
25
28
47
65
65
67
25
51
23
45
55
75
68
65
33
58
53
37
65
38
29
59
39
52
60
51
48
57
24
20
48
74
29
62
36
62
21
76
54
42
62
74
56
76
53
31
63
40
66
64
22
62
29
70
33
63
66
71
25
29
69
20
72
21
24
30
65
68
74
59
46
57
47
32
20
39
67
56
43
69
26
45
38
48
78
36
27
62
75
68
42
36
21
63
57
57
45
35
37
32
77
33
34
28
71
55
52
49
67
72
64
64
56
21
72
33
69
26
27
61
67
21
36
54
68
57
50
30
32
22
22
29
30
22
37
75
42
60
20
21
65
34
26
66
39
20
52
54
76
51
57
24
24
62
28
46
32
59
34
31
74
73
39
38
21
30
75
42
23
72
50
59
31
75
29
68
76
46
62
45
75
51
75
29
69
36
57
77
74
45
47
40
41
79
49
37
43
42
30
36
45
47
51
65
69
70
48
77
75
74
73
23
55
22
30
44
41
60
48
27
36
79
72
35
63
26
57
42
56
79
32
20
43
40
56
41
54
67
71
65
79
75
20
80
55
26
54
67
47
45
35
23
68
45
71
74
46
24
45
59
63
20
48
21
60
46
25
68
25
67
52
48
26
79
80
42
38
74
66
75
45
33
50
25
80
44
77
56
67
40
75
43
63
27
38
77
34
26
41
55
60
76
52
69
76
71
21
50
69
29
23
23
62
42
76
77
46
45
20
70
36
47
42
45
72
73
51
74
33
57
80
21
42
43
63
29
22
44
34
61
78
31
37
35
63
70
47
76
33
78
38
38
76
47
37
32
42
69
43
34
60
26
76
36
57
75
62
64
73
76
33
33
52
62
44
74
59
26
71
22
75
41
78
34
50
28
32
64
67
76
49
62
73
49
80
78
24
45
77
25
35
61
60
25
52
68
61
46
67
54
30
38
68
60
55
49
73
57
76
77
67
78
75
75
73
54
44
23
69
26
59
47
32
33
70
20
47
71
51
35
69
61
40
70
28
24
52
33
35
34
34
39
21
66
57
34
80
64
41
64
25
70
38
59
37
74
51
67
71
73
79
65
58
75
67
23
48
47
54
41
53
23
36
73
69
76
75
26
59
27
71
30
26
62
60
54
56
74
45
29
72
44
28
74
20
32
70
21
50
47
65
45
36
69
46
80
44
35
23
64
65
67
67
41
50
31
25
38
75
63
34
34
77
75
58
46
75
38
78
47
21
58
80
31
23
20
56
24
72
49
29
23
62
43
50
23
67
43
30
20
60
32
30
30
54
21
58
78
53
58
52
32
52
35
66
74
52
22
40
23
43
77
21
28
37
52
45
49
50
60
35
41
20
67
79
22
26
21
50
74
33
20
73
36
76
79
52
35
67
30
25
40
53
44
54
28
24
24
25
42
57
54
57
52
66
43
58
74
73
23
27
48
79
79
44
29
65
42
39
62
30
34
46
71
62
70
64
41
77
61
54
60
25
31
68
74
50
59
50
41
29
77
24
39
47
66
44
27
55
32
69
64
55
71
50
54
54
49
41
69
65
56
69
57
23
64
67
44
47
60
21
21
38
49
24
35
48
25
61
39
25
55
68
56
47
73
25
29
65
62
48
40
38
57
71
40
26
51
22
52
42
27
71
61
33
47
56
66
26
56
75
39
22
77
34
66
71
47
38
76
44
30
47
65
61
32
61
23
33
20
58
72
56
75
69
35
55
75
51
41
58
73
79
28
79
67
53
69
44
49
68
69
34
77
55
63
48
70
78
71
67
53
76
37
65
32
26
41
45
42
37
75
42
43
62
52
25
35
30
37
48
48
37
31
26
58
56
64
60
49
55
49
79
36
61
72
67
75
31
75
51
47
61
69
64
74
72
52
56
62
79
69
73
77
100
243
165
161
92
112
192
216
220
76
124
122
195
97
81
110
128
116
207
238
187
223
208
183
153
91
90
205
195
201
214
89
240
83
223
144
223
90
170
204
127
94
119
77
157
236
247
131
103
206
87
108
107
226
205
72
244
130
214
229
125
153
123
75
122
130
245
185
182
84
182
143
185
140
209
249
172
194
199
176
242
234
246
97
187
130
175
199
135
71
84
102
172
94
132
147
233
187
238
152
215
204
144
156
248
88
209
130
244
216
204
75
163
184
220
187
118
142
133
242
181
138
125
96
110
167
129
89
92
218
73
158
77
151
89
156
241
206
186
139
178
137
223
198
232
220
206
240
174
197
94
218
192
168
120
245
153
114
93
243
191
155
230
132
157
198
130
172
228
213
165
181
171
86
224
173
250
84
232
234
145
193
132
233
172
125
168
231
227
145
220
186
167
111
87
206
127
182
155
244
177
186
147
155
221
72
105
140
81
71
243
184
73
131
242
173
240
198
186
210
245
143
97
113
79
136
207
220
149
132
154
108
80
131
227
183
240
108
207
164
230
189
77
168
162
106
120
211
86
88
205
245
78
231
211
127
133
84
210
234
212
170
174
103
103
215
190
232
198
72
169
133
188
81
231
191
221
124
117
240
104
196
173
130
101
73
139
84
205
121
248
213
84
160
192
103
70
201
165
174
186
166
184
230
231
213
170
73
182
147
204
96
241
231
116
198
156
172
90
133
77
237
115
151
170
103
248
149
219
144
214
207
184
152
132
186
70
99
119
144
142
164
129
183
209
144
163
76
139
160
229
226
116
72
228
193
104
137
89
109
113
205
109
94
248
151
130
196
216
80
112
112
245
190
110
156
183
213
241
80
202
176
149
195
70
222
111
158
132
118
213
90
90
124
73
191
209
174
98
120
98
193
238
182
227
160
148
100
231
191
185
113
224
223
106
232
154
185
241
174
241
216
77
191
243
120
187
218
199
140
88
160
208
216
150
142
113
199
217
219
102
146
175
111
244
100
177
171
184
190
245
84
108
123
209
210
197
164
170
215
205
88
137
196
226
154
172
86
84
189
120
200
113
177
124
229
90
219
81
131
226
172
86
233
177
211
113
249
162
116
192
158
184
148
105
148
149
224
197
134
227
145
205
164
159
178
147
81
154
143
232
202
201
229
147
226
247
137
197
147
157
94
153
120
214
216
131
87
73
175
168
145
151
217
151
78
91
241
133
85
156
109
195
120
199
152
226
164
191
93
120
206
250
209
224
138
92
78
113
247
233
166
86
190
125
244
248
129
74
82
148
201
243
240
148
149
223
222
110
85
190
135
183
110
153
207
79
168
185
212
152
240
80
162
75
180
228
224
83
127
240
152
235
168
120
219
119
158
187
72
218
147
207
107
117
116
112
139
105
227
84
134
247
140
208
106
146
103
131
137
153
128
216
228
217
248
194
204
191
74
73
241
144
94
230
94
250
95
133
147
196
222
160
214
137
204
116
175
80
246
148
121
186
164
199
93
86
128
157
241
74
190
194
90
79
213
248
222
209
76
211
145
222
196
235
175
225
154
127
171
249
178
239
240
231
201
146
225
151
124
117
158
234
137
185
152
83
110
144
74
103
237
134
232
156
133
96
236
93
234
176
141
119
117
242
200
163
143
160
155
98
173
86
178
110
90
99
149
102
97
208
127
189
144
186
222
135
171
157
213
185
176
130
104
187
156
223
75
119
190
221
155
173
230
159
237
121
227
123
146
78
136
79
174
124
238
90
241
223
238
248
151
232
152
164
81
207
102
177
246
200
94
238
106
211
165
110
124
181
82
224
190
135
226
127
248
111
135
108
87
161
75
219
228
204
247
148
109
89
80
216
110
146
85
244
110
117
235
118
190
125
101
92
247
103
71
173
139
92
142
168
195
72
100
109
166
120
224
88
113
224
185
180
206
134
105
198
215
239
76
97
90
150
88
132
242
228
194
174
160
119
177
127
105
95
249
183
86
201
247
93
235
104
126
107
125
137
236
219
224
75
238
217
110
174
132
227
115
152
223
219
125
140
164
190
197
120
112
153
199
160
247
235
123
99
118
107
219
112
75
89
241
115
92
170
142
114
219
130
167
119
97
151
119
175
121
168
183
158
200
160
216
234
212
166
178
179
202
204
197
236
111
153
193
180
115
123
112
130
138
219
249
97
160
133
170
118
135
196
191
121
77
111
204
238
74
232
165
76
152
154
191
122
103
250
92
117
239
73
146
221
236
175
102
241
189
215
161
129
236
235
198
205
152
89
223
165
102
182
203
233
123
97
144
157
153
205
140
166
131
188
227
102
107
198
211
244
181
237
172
106
224
157
199
170
174
93
239
144
225
191
246
166
171
162
235
117
155
174
101
171
97
123
205
115
121
186
186
157
246
120
88
244
77
109
136
228
81
228
241
159
198
188
209
230
248
101
143
219
84
245
174
164
81
203
82
145
201
170
226
171
175
99
247
102
242
83
208
223
120
128
107
84
119
79
82
124
146
223
72
99
194
150
218
102
237
211
239
163
199
180
172
130
187
234
104
187
222
142
130
200
82
239
123
82
196
211
192
227
208
101
137
70
250
79
140
105
183
136
136
99
206
158
113
155
227
70
81
160
188
113
183
203
77
230
136
178
230
81
101
97
165
137
230
92
239
117
140
249
186
216
155
158
163
247
137
167
203
170
231
142
216
183
154
171
172
189
218
202
162
244
80
130
99
114
84
199
102
212
139
225
79
136
234
213
119
89
74
139
149
71
180
146
104
112
98
239
134
242
169
227
194
197
103
177
145
133
160
155
135
202
94
250
115
167
72
189
231
90
169
98
235
157
207
111
140
113
195
181
117
130
147
158
141
89
100
86
165
138
181
185
203
131
102
239
96
92
244
218
187
93
125
196
117
79
84
167
166
206
176
222
81
158
247
237
136
236
104
145
108
176
159
149
156
79
215
122
169
71
81
113
187
152
140
180
158
136
77
147
204
226
188
230
239
148
173
103
185
206
198
146
157
194
170
191
196
219
101
164
78
193
157
186
242
166
74
196
91
163
93
83
90
248
123
158
125
71
120
187
126
230
107
205
80
244
168
104
81
242
146
207
245
159
101
148
109
115
132
180
131
105
137
160
194
145
160
71
103
233
115
167
129
102
215
174
119
185
170
70
171
219
107
165
94
126
123
103
191
137
240
209
135
178
109
132
246
237
182
208
239
178
97
216
232
111
87
152
76
81
250
124
196
168
234
203
144
194
89
97
189
233
197
244
166
165
88
231
217
169
196
116
192
80
103
240
81
155
238
221
221
248
214
97
166
147
184
74
75
146
197
108
116
121
243
104
204
188
178
150
243
78
206
231
220
74
212
248
130
107
238
174
122
135
107
129
165
90
152
212
241
202
147
138
239
73
74
148
73
104
140
222
76
220
154
129
220
107
130
181
146
167
170
171
240
214
78
115
229
152
224
83
118
173
180
88
207
169
131
247
114
70
250
76
70
154
204
99
150
85
237
135
129
175
206
203
192
198
83
228
72
198
125
141
219
142
230
231
217
89
85
114
127
192
226
190
137
159
244
205
195
143
93
169
109
215
82
78
163
113
185
214
150
95
138
226
132
206
159
83
76
120
250
197
151
149
193
191
71
129
213
170
147
185
127
174
177
95
203
151
125
187
81
177
198
100
123
217
151
174
220
131
100
181
110
112
162
199
104
111
162
241
245
205
180
165
110
189
153
222
225
146
236
109
213
124
154
203
207
115
211
146
129
93
71
172
157
128
93
186
219
117
106
192
130
182
151
235
166
156
246
97
80
141
125
90
244
92
196
137
220
169
91
100
104
248
206
170
250
246
220
226
187
144
202
169
202
216
112
175
187
225
107
77
87
191
112
135
98
90
165
135
179
204
72
172
123
70
156
213
87
119
242
88
234
134
134
96
203
89
156
202
228
122
215
126
169
227
154
192
118
149
224
102
234
170
115
122
202
111
217
150
72
224
184
100
92
145
160
104
168
192
146
181
75
186
132
136
158
199
168
187
228
237
124
146
105
205
172
207
246
238
213
226
165
188
228
130
133
199
153
100
87
242
150
111
205
246
248
138
185
180
165
235
88
235
214
126
94
190
134
172
133
95
128
131
174
137
236
222
82
177
70
232
109
118
112
105
133
76
185
218
88
132
111
238
168
239
242
188
138
108
183
178
81
148
219
169
129
195
217
207
203
129
70
179
250
231
107
196
116
188
173
212
181
236
166
207
229
226
155
171
175
153
89
128
164
189
100
192
146
224
121
155
242
103
223
79
244
156
106
93
187
182
227
240
87
237
119
225
88
230
210
131
186
193
97
198
188
159
232
133
202
223
84
146
249
128
103
88
229
197
178
212
100
141
87
197
171
151
86
224
162
169
165
159
189
190
249
125
202
110
182
190
100
205
70
232
78
97
102
99
174
115
90
110
174
226
168
231
121
85
129
205
202
186
133
88
90
119
92
165
176
141
193
216
239
199
113
182
248
90
113
202
238
227
146
191
130
191
132
206
245
146
224
249
180
237
228
136
123
201
159
102
127
153
164
120
183
215
134
204
155
111
208
90
172
171
93
187
240
181
199
162
81
125
173
94
167
163
230
207
99
243
136
133
233
209
78
194
75
242
107
200
147
202
130
85
246
211
235
184
92
231
191
230
79
130
143
122
108
182
238
162
183
214
125
113
101
78
103
127
78
232
160
179
205
197
175
133
205
143
174
76
148
192
83
224
106
196
184
240
85
232
175
152
178
83
182
123
75
103
143
184
185
118
246
106
118
97
230
134
139
74
150
148
120
241
96
134
222
88
185
234
107
223
79
173
205
108
172
248
95
156
128
227
147
126
148
108
91
74
208
149
134
77
239
193
244
160
79
181
165
246
212
121
166
77
237
134
133
95
71
89
144
231
148
159
199
201
192
82
215
108
78
221
95
123
113
125
99
76
113
216
199
232
153
124
108
152
132
103
109
213
116
225
112
136
174
242
97
90
101
143
163
85
86
160
162
169
157
173
180
90
156
153
87
209
129
220
190
110
186
158
239
166
232
122
162
86
155
207
115
235
166
210
229
149
216
205
170
93
124
169
189
101
95
163
117
215
107
241
187
237
216
221
109
193
212
80
178
115
151
94
168
95
129
198
138
126
211
209
188
142
135
100
111
233
166
175
225
80
227
177
225
245
86
238
130
149
192
213
85
187
242
184
210
77
220
219
89
84
193
163
150
130
235
126
107
157
183
101
85
232
122
81
167
223
198
237
174
224
107
108
72
206
139
192
212
140
135
214
230
80
92
163
218
212
92
90
85
124
213
136
133
219
78
189
152
75
133
96
235
144
129
217
97
247
99
121
74
113
87
245
242
189
181
77
87
200
208
105
122
75
92
247
119
133
119
142
136
207
115
115
201
201
246
120
102
128
210
211
104
158
90
225
120
233
172
221
160
80
219
88
209
165
97
190
160
227
130
152
180
72
88
186
201
75
167
179
224
223
172
250
77
85
172
246
108
231
241
131
236
80
201
79
93
73
151
194
92
167
186
149
153
114
143
144
80
232
219
91
214
225
215
243
211
220
235
170
81
238
187
224
226
182
184
158
104
136
209
227
70
157
213
216
138
231
231
164
173
99
114
248
178
130
75
229
184
183
140
108
197
136
77
135
144
85
222
137
215
179
101
129
202
87
72
81
117
216
80
84
103
223
144
224
129
129
208
81
250
172
129
141
189
188
109
84
93
173
70
129
158
177
228
176
247
77
80
212
211
239
73
203
167
233
129
213
133
109
167
108
122
156
70
162
180
102
132
166
96
136
184
75
74
184
120
85
78
168
220
163
222
102
70
162
139
199
238
152
205
83
205
142
217
119
153
152
178
193
86
147
83
184
211
151
239
98
99
207
179
196
178
86
209
207
143
222
246
99
216
241
149
178
103
196
191
133
227
99
245
76
92
192
191
145
76
188
73
79
93
103
120
108
97
197
133
195
215
180
192
178
142
247
214
207
134
155
240
167
121
198
172
202
100
167
130
221
186
130
191
215
88
159
241
150
137
188
240
160
114
160
94
127
74
133
88
200
74
146
73
185
227
153
98
156
159
250
213
152
215
197
148
141
114
180
247
209
103
75
172
194
184
224
164
160
99
152
70
76
246
139
149
130
201
211
141
184
222
120
214
186
114
213
206
152
171
150
214
176
157
191
127
219
165
248
157
147
76
125
174
193
79
79
241
125
205
227
86
211
216
169
109
163
205
104
231
240
232
212
216
87
226
153
131
75
127
135
91
180
221
107
118
148
226
139
123
85
163
81
171
186
213
231
181
76
98
77
161
182
172
241
155
124
217
179
179
214
98
213
126
202
126
228
122
84
75
91
113
236
230
168
107
250
227
175
138
190
169
159
165
137
144
242
89
207
89
165
249
220
227
107
163
101
83
152
92
150
83
236
148
81
154
112
151
182
248
210
88
225
157
138
81
250
99
141
110
70
200
154
82
243
84
86
116
188
193
180
135
84
126
180
193
249
155
135
91
77
175
126
92
226
158
174
149
81
115
169
170
203
179
77
159
72
236
120
138
227
130
108
155
116
123
167
200
92
173
115
132
166
172
240
216
169
186
231
148
191
76
166
193
127
83
142
199
87
177
72
70
77
101
141
224
80
75
229
182
136
148
157
149
218
103
143
212
213
181
151
228
152
194
149
70
120
212
197
81
114
246
114
92
206
200
157
185
169
85
157
228
114
172
164
250
247
132
71
159
231
178
81
88
81
196
205
209
133
112
132
190
93
148
234
111
228
244
118
112
95
184
145
214
224
170
126
132
243
112
76
188
97
217
147
143
225
186
86
198
92
163
190
197
178
143
191
206
221
111
250
78
210
168
179
142
115
99
247
88
78
157
198
159
214
229
148
77
186
93
206
149
194
180
138
73
71
90
187
232
187
164
231
214
155
185
175
246
130
156
216
147
154
128
174
140
183
187
184
153
211
81
147
112
123
99
173
246
233
111
120
114
139
107
229
185
229
172
191
174
127
183
134
145
145
141
151
245
78
86
215
163
219
116
190
248
139
201
81
194
208
135
144
170
92
134
237
186
90
82
122
130
95
149
145
98
239
244
250
242
130
178
164
216
250
71
195
123
113
85
147
216
167
204
226
212
91
115
201
183
157
145
189
241
86
145
100
75
140
231
153
234
190
107
195
120
132
200
116
186
73
104
82
173
139
204
210
157
115
212
145
206
145
89
200
134
156
159
154
140
71
72
231
198
199
212
109
98
167
233
130
172
130
73
228
238
108
239
89
117
152
105
200
203
241
118
144
142
175
96
242
98
149
171
227
134
132
213
164
104
127
77
73
249
103
126
203
116
82
131
141
145
180
182
245
71
200
233
139
81
237
192
126
193
240
226
208
143
112
231
184
233
228
194
232
114
106
196
182
184
192
245
143
213
140
71
221
195
174
220
108
135
126
181
161
204
78
112
160
150
220
179
140
93
100
221
78
241
187
176
170
119
203
245
177
197
106
154
243
136
202
211
90
248
100
95
117
239
218
105
103
101
124
107
219
189
171
239
89
196
79
86
103
212
93
153
78
169
128
183
235
186
93
233
231
235
245
235
94
99
102
112
151
159
220
162
221
216
98
95
221
231
91
86
142
177
74
137
221
143
114
125
82
71
80
223
221
219
128
228
151
169
103
91
116
208
75
190
94
102
233
107
214
89
135
108
72
243
244
246
73
236
142
183
180
166
208
191
95
225
143
88
241
106
93
151
86
103
218
221
208
97
170
202
219
103
173
151
107
202
109
246
154
213
168
184
82
142
155
174
126
171
220
185
72
205
196
229
103
122
115
116
212
146
78
144
244
155
202
93
136
149
224
112
74
158
156
105
75
215
183
210
111
193
75
197
200
223
130
121
174
151
75
83
151
100
189
181
116
225
75
186
164
76
132
138
145
137
248
156
110
225
137
162
84
149
76
165
118
250
168
142
76
102
128
222
76
76
80
86
158
235
211
167
228
230
176
225
192
124
108
113
173
203
180
180
131
197
79
98
135
218
177
213
247
82
94
249
101
82
143
76
199
71
134
78
72
184
129
152
126
140
206
88
233
145
192
72
186
135
129
82
231
105
146
245
85
121
215
85
180
94
151
183
166
86
103
159
74
98
244
96
169
124
145
161
70
101
240
105
122
222
181
144
183
98
248
93
99
83
100
161
85
135
234
250
187
152
218
110
178
147
174
243
122
220
197
188
173
231
166
100
162
135
90
129
96
101
122
96
89
221
207
126
237
113
104
186
74
87
118
104
185
230
199
115
238
145
205
120
175
176
130
245
106
179
97
101
219
93
199
97
235
192
243
180
182
247
118
219
245
103
234
135
107
144
164
240
133
190
193
75
181
244
134
211
188
172
242
124
188
193
144
188
137
156
95
165
210
86
248
149
108
191
181
182
213
198
164
94
206
100
117
159
183
241
150
89
233
239
169
227
219
122
188
145
133
158
204
165
209
150
80
137
179
117
216
111
147
94
124
192
187
208
72
153
234
239
144
77
137
232
247
233
144
114
162
81
103
185
171
175
81
132
228
238
246
149
173
242
205
112
94
93
121
109
168
111
211
170
76
166
170
188
172
181
138
166
205
227
197
170
209
200
103
82
234
165
134
196
174
163
110
70
221
113
223
112
143
235
250
229
205
240
226
243
108
204
124
118
156
167
113
226
109
134
249
147
246
150
74
116
169
226
233
122
107
215
144
247
235
123
157
108
203
225
85
157
115
220
230
70
155
76
132
156
245
76
165
187
231
84
133
242
247
130
234
236
131
167
107
176
155
92
241
119
202
210
156
210
102
122
138
99
198
175
172
123
155
135
229
176
127
156
71
99
108
136
140
218
108
94
222
98
109
169
196
131
182
133
194
163
180
138
210
79
192
81
175
83
229
219
200
226
112
225
139
248
220
240
197
143
91
78
226
89
121
103
227
157
140
124
150
249
105
201
185
214
210
185
174
210
82
228
92
89
78
90
87
95
190
209
181
125
72
75
217
152
78
154
80
105
83
243
156
221
228
186
88
173
211
198
195
143
126
137
101
176
214
81
144
130
79
175
148
232
115
107
237
246
146
205
100
250
182
92
138
96
141
194
231
135
134
181
88
218
161
77
232
72
224
168
199
111
132
220
198
137
216
160
168
122
227
151
203
170
89
175
84
71
228
238
207
148
114
247
163
75
221
195
189
192
249
74
75
174
215
177
99
177
241
72
171
111
97
138
191
182
229
205
245
179
81
87
92
136
196
112
71
100
219
222
200
231
237
165
223
147
216
133
80
79
218
130
83
163
147
213
175
144
88
233
128
182
145
86
196
205
209
249
227
214
137
121
72
249
115
119
79
101
117
145
219
87
94
220
84
195
175
100
176
124
106
219
137
136
207
112
122
244
187
91
107
152
147
161
238
82
97
111
150
209
78
198
90
89
108
208
164
173
139
113
88
249
116
217
165
238
185
124
241
152
111
226
126
71
183
117
184
218
136
174
162
73
79
115
105
161
187
150
158
118
205
87
83
173
218
92
127
249
144
169
80
104
106
169
72
136
172
95
246
113
231
76
125
140
179
86
103
71
173
131
117
110
152
145
211
135
161
88
184
147
155
240
205
224
194
88
205
199
234
90
122
135
192
214
215
97
119
214
250
207
179
230
128
250
93
80
223
233
114
229
157
183
111
247
142
146
248
76
98
148
191
219
223
91
126
233
149
207
242
220
86
155
118
79
224
130
147
89
150
236
169
160
170
188
125
242
132
76
225
179
87
135
126
207
162
199
112
210
173
103
92
119
127
150
163
91
198
97
203
175
211
185
103
223
233
164
178
133
248
78
103
119
190
89
81
227
227
229
75
204
191
83
112
70
241
225
145
236
140
215
142
193
212
135
107
186
79
221
195
122
226
74
161
181
133
194
119
186
209
109
199
74
149
161
92
210
147
151
177
172
205
90
137
207
116
175
249
163
231
232
94
92
93
137
216
144
87
211
90
200
239
115
168
229
176
202
226
208
215
218
106
188
113
210
207
76
134
162
97
75
89
138
107
228
226
246
199
223
131
97
234
219
228
90
181
219
111
71
112
179
130
83
119
190
213
172
225
145
100
130
185
85
114
139
120
191
216
127
191
185
74
233
229
239
173
95
215
246
77
77
80
213
183
244
147
189
140
175
235
147
77
171
114
177
128
126
90
81
231
200
220
139
244
106
72
157
76
114
203
81
175
192
79
161
71
217
223
168
114
116
177
149
130
92
154
128
199
110
130
109
153
172
83
92
86
157
180
239
163
217
216
82
243
229
222
176
186
196
186
71
154
228
99
88
208
228
86
132
136
156
188
101
229
101
191
172
145
102
238
179
75
135
165
225
179
85
133
248
208
128
75
135
227
226
100
164
221
195
100
113
162
218
87
72
100
136
96
75
129
85
111
80
149
153
217
191
89
70
246
137
85
209
75
179
185
135
114
235
75
115
223
136
175
135
178
185
135
217
129
233
163
184
170
136
145
84
103
140
82
170
150
246
144
224
94
210
89
72
213
177
111
179
242
135
187
124
109
135
228
147
72
219
207
87
196
122
116
248
141
125
191
133
76
114
197
129
204
131
230
146
221
96
74
249
243
183
150
139
74
196
113
206
191
153
169
217
126
183
164
169
233
101
180
237
144
135
86
242
82
152
72
74
173
190
72
136
189
247
89
111
193
237
86
92
154
159
193
116
118
149
190
138
202
95
131
111
84
241
156
199
230
185
170
235
225
159
83
95
174
89
91
83
113
205
72
233
115
166
131
197
95
148
237
146
85
80
195
102
174
234
209
231
233
141
184
134
102
126
118
195
137
89
234
238
199
245
163
249
96
167
158
84
190
241
85
133
175
123
250
149
86
162
117
99
124
127
150
145
209
244
175
76
158
174
198
87
73
71
94
159
198
158
219
159
122
111
103
96
70
246
109
203
148
174
168
125
209
78
246
73
232
200
108
126
176
246
164
168
178
161
240
202
161
157
159
114
240
195
184
129
192
215
168
226
214
164
175
230
129
213
248
179
94
198
76
222
241
137
142
181
204
246
219
113
157
147
138
248
125
102
149
225
194
166
246
150
104
248
211
170
237
162
74
161
168
166
177
194
176
185
213
148
147
206
97
92
175
182
120
133
243
119
101
136
140
205
240
215
148
249
119
105
75
137
212
244
191
113
105
94
180
218
84
188
125
186
150
103
195
125
125
199
187
216
179
239
110
235
112
163
89
221
124
81
250
138
141
156
207
168
180
94
84
221
79
100
184
144
248
153
88
111
85
224
98
178
175
228
97
109
122
97
132
113
80
99
182
169
137
238
233
127
203
121
192
163
114
95
105
191
245
236
221
123
86
133
96
188
173
134
95
150
136
132
141
219
135
223
228
80
220
158
201
249
247
130
163
208
182
88
219
163
169
145
77
205
160
107
222
172
78
227
175
235
165
77
222
146
182
247
96
95
184
215
204
174
106
146
144
215
93
177
244
164
228
96
139
161
146
249
161
172
196
144
94
102
188
118
161
142
124
120
88
174
119
231
75
209
183
98
97
211
77
168
198
83
112
192
134
242
176
193
125
187
163
216
132
120
227
169
105
171
180
156
98
204
88
73
110
212
146
225
177
193
116
121
96
215
148
141
179
110
80
106
123
140
210
201
78
179
98
162
220
86
161
219
250
88
199
247
223
244
244
158
97
226
154
196
218
116
209
99
160
138
194
215
80
72
152
127
233
217
100
110
105
248
106
186
225
196
141
220
109
129
139
237
211
144
173
218
151
161
119
201
175
80
84
110
93
173
200
113
96
164
215
106
192
98
242
219
71
208
223
120
74
87
242
109
120
86
112
154
227
99
116
107
204
136
165
214
233
238
122
167
95
80
173
77
143
192
72
160
135
214
94
80
206
76
161
77
174
141
101
170
237
130
149
249
195
96
116
122
120
180
217
175
208
96
83
103
121
78
138
217
222
178
118
127
226
108
233
130
223
131
108
219
228
134
236
99
231
238
103
238
73
147
70
79
167
164
118
81
142
174
149
105
103
237
176
129
109
232
167
167
85
75
233
112
235
195
229
80
231
169
95
202
217
126
95
126
182
250
101
92
221
93
169
231
76
236
137
71
172
201
249
120
91
146
151
194
245
116
229
235
192
122
225
111
242
71
70
240
228
173
218
219
246
157
70
221
100
87
155
178
226
247
196
108
236
159
216
214
156
133
169
131
234
233
247
240
233
198
113
127
244
143
88
182
154
206
214
109
190
155
83
165
126
168
220
175
151
209
201
161
239
179
119
159
114
239
171
218
208
102
103
71
90
171
94
197
129
122
132
200
96
120
83
99
80
75
74
240
230
197
185
228
80
200
89
147
119
85
150
105
75
222
242
248
97
204
182
203
244
73
133
120
227
112
137
207
228
85
73
96
172
89
244
90
217
141
169
81
115
131
145
176
105
215
200
169
138
227
84
215
214
176
226
209
222
217
108
232
206
161
238
110
205
148
71
108
205
99
75
189
212
227
231
163
189
148
162
152
192
135
130
91
237
157
118
76
231
76
195
102
229
168
100
93
223
232
196
154
72
113
233
180
211
224
121
120
241
125
224
108
225
118
103
142
92
167
144
143
187
211
118
181
99
94
212
193
220
76
189
120
92
80
138
94
167
149
121
169
145
188
120
217
244
142
106
218
229
161
74
81
218
247
121
80
214
196
168
128
140
148
87
188
221
77
152
221
121
192
242
123
103
179
220
127
108
150
167
193
75
145
175
138
116
112
249
229
157
184
185
197
208
201
200
109
197
144
86
92
185
167
172
233
101
226
238
199
88
133
100
223
166
234
167
206
245
118
215
208
167
151
80
229
188
224
196
216
150
178
140
172
161
71
75
197
83
200
183
130
194
240
194
203
105
183
126
76
126
86
227
115
182
116
110
246
167
78
235
84
208
170
193
78
118
122
250
79
173
79
227
208
221
241
156
169
186
168
192
228
228
113
156
96
235
166
243
240
249
78
188
108
183
229
217
208
193
168
199
184
161
150
71
83
95
244
139
114
158
135
164
138
98
190
93
152
131
75
118
130
246
171
161
249
102
74
99
118
122
247
232
164
149
73
106
244
91
220
79
148
96
174
249
143
202
206
74
229
197
245
83
200
222
71
215
205
78
177
195
204
72
119
133
189
243
165
85
170
92
156
83
117
70
208
101
80
198
74
216
185
115
194
137
114
119
235
207
185
211
211
181
84
207
160
237
88
170
249
188
127
245
232
183
148
209
175
230
156
229
126
119
149
218
115
144
113
230
209
182
174
200
197
232
83
191
149
231
128
229
128
247
193
83
223
173
245
175
137
125
194
79
74
165
123
197
118
150
130
87
129
167
131
168
159
184
138
70
98
103
101
122
250
150
163
168
225
119
128
117
190
110
138
135
115
91
71
157
93
156
176
145
209
247
188
89
150
242
249
236
76
170
114
106
137
206
155
233
221
194
114
160
117
146
189
191
244
216
157
142
245
222
161
116
235
189
166
128
71
140
240
123
133
149
116
187
123
180
214
130
212
220
126
229
187
115
96
192
150
233
171
235
200
231
174
246
154
231
158
93
76
132
140
129
232
94
189
111
88
124
185
226
104
88
220
179
132
181
186
72
71
103
237
77
181
125
130
239
222
106
112
161
200
199
109
178
207
103
165
157
70
98
131
89
139
203
121
207
136
109
170
93
150
143
150
79
237
86
214
83
89
96
78
99
185
157
164
204
71
80
78
229
223
155
124
112
89
247
150
86
75
132
94
111
131
110
134
234
104
235
241
191
83
152
225
153
148
222
152
90
195
144
201
247
189
171
244
198
234
174
141
120
240
132
198
202
144
175
116
154
171
216
204
83
194
89
246
77
216
132
147
85
167
84
228
151
128
148
245
178
82
129
130
91
145
118
122
134
180
122
146
95
140
93
164
146
103
218
110
169
111
152
100
126
144
90
109
191
134
206
114
116
250
207
127
110
85
174
243
160
127
122
141
173
71
135
144
125
87
96
154
101
242
248
214
115
241
222
97
81
97
183
155
221
140
148
186
220
191
191
180
106
218
146
140
234
90
144
93
93
204
192
210
208
153
244
85
107
156
241
121
158
211
214
223
119
184
204
72
108
138
200
203
136
147
238
201
74
202
155
178
96
114
130
144
216
122
188
167
109
187
242
211
74
146
214
191
143
139
180
249
165
159
200
90
89
191
110
205
89
117
137
230
198
71
190
219
121
214
223
227
145
109
177
163
192
198
96
71
103
224
103
97
88
238
102
178
212
234
113
218
192
91
221
166
231
224
233
170
158
103
139
79
148
77
71
234
130
189
155
217
111
223
195
165
164
179
75
187
112
151
206
164
216
136
132
234
123
196
120
157
175
189
225
117
139
90
72
193
238
223
78
112
157
208
173
117
225
170
174
238
193
143
96
211
72
198
156
208
249
144
232
116
248
220
154
220
219
199
222
113
159
219
210
105
116
193
99
117
119
187
181
250
209
249
151
122
194
190
177
130
236
165
238
177
224
147
128
83
220
136
188
249
195
80
193
126
82
149
220
196
196
235
121
189
136
100
239
237
193
112
131
216
135
238
111
222
171
101
226
200
139
125
136
202
129
240
115
240
95
120
226
192
172
155
136
231
70
166
112
190
170
154
222
107
85
87
223
170
180
156
216
77
248
159
135
103
85
210
168
109
131
242
207
127
175
75
79
194
240
135
230
102
77
136
232
229
90
108
190
150
149
199
178
207
166
174
87
129
238
234
119
158
141
239
130
140
114
70
105
112
160
150
126
100
116
79
76
160
103
173
198
156
124
231
104
106
204
94
148
245
111
208
98
90
92
129
117
154
76
145
153
72
85
112
183
86
176
109
188
129
139
94
178
219
200
139
229
145
157
128
234
101
163
144
203
220
143
139
213
179
104
157
108
151
126
151
151
128
221
123
198
202
132
121
155
182
159
106
220
138
222
173
108
150
114
93
70
245
152
130
236
250
81
224
231
125
176
221
229
83
237
224
210
138
111
136
115
208
237
166
244
73
173
228
133
191
179
116
176
184
125
249
205
160
141
82
72
70
181
71
182
231
96
108
183
133
140
95
193
230
82
71
101
103
225
184
243
124
76
111
236
191
212
215
217
72
125
211
149
188
111
152
202
229
78
107
70
189
149
124
131
222
104
223
233
234
98
185
215
89
217
137
173
73
136
169
134
93
247
218
150
71
124
246
152
84
141
127
71
193
127
77
163
78
79
249
178
182
201
236
82
76
190
202
82
221
205
74
186
95
140
74
234
106
138
142
216
246
220
209
244
159
99
160
132
229
137
157
244
161
187
216
81
201
114
85
95
211
247
113
220
72
200
237
118
122
227
224
94
92
154
191
142
152
201
182
226
70
101
250
88
80
217
88
126
87
142
151
120
243
224
218
94
248
173
241
160
124
145
247
136
246
165
216
161
97
186
78
157
81
190
162
70
238
246
243
221
104
91
172
79
200
203
190
179
99
137
192
239
240
90
169
180
137
92
190
234
232
75
88
202
87
140
189
75
70
95
223
143
211
117
226
151
218
162
224
224
85
205
187
172
89
171
230
156
120
160
94
241
77
73
78
129
202
250
176
180
210
177
180
178
166
74
130
111
170
145
87
212
87
83
215
231
210
155
143
106
125
95
143
204
104
221
98
231
119
134
182
96
91
185
126
183
242
166
77
180
103
184
158
230
143
236
171
90
174
113
191
128
158
151
110
209
94
179
126
160
249
174
173
209
124
98
101
106
86
187
221
238
221
174
82
124
175
111
167
79
118
219
130
199
91
221
156
227
202
110
209
188
118
154
176
122
182
107
230
157
142
210
96
152
116
205
125
173
97
149
79
134
232
71
222
113
179
119
117
250
123
143
174
126
169
214
128
183
184
102
79
169
250
104
214
128
94
137
191
243
180
219
72
75
144
212
148
83
234
201
134
104
227
249
241
209
75
101
145
240
232
181
224
174
227
94
135
204
93
246
163
120
212
182
140
114
196
183
74
78
181
225
118
246
174
212
75
164
220
197
189
82
212
237
75
86
125
200
182
159
220
249
203
212
205
174
154
187
168
152
117
223
172
87
229
158
232
90
218
141
205
139
131
202
209
117
164
106
127
218
212
213
115
138
102
123
76
212
219
236
167
131
109
248
212
138
209
245
231
83
180
184
113
217
160
206
111
70
194
164
140
247
120
135
159
164
124
109
244
198
128
87
132
171
198
186
176
121
162
245
76
205
87
200
105
122
71
221
249
85
162
123
167
80
180
111
194
182
217
187
166
205
163
176
120
200
143
212
86
244
239
189
136
171
150
103
248
212
143
113
183
237
175
183
209
156
78
96
164
211
111
97
200
119
79
173
120
189
164
102
212
126
94
118
187
157
149
207
246
216
210
72
79
228
95
190
76
102
87
134
172
77
164
158
216
151
137
83
72
182
232
216
235
130
146
114
116
227
141
109
240
237
81
239
248
140
221
132
199
128
232
225
76
154
197
167
219
239
199
218
184
136
141
106
247
204
243
190
88
167
250
208
218
146
234
149
164
232
73
94
222
144
126
161
136
101
78
92
235
197
246
149
72
114
211
242
145
164
162
150
219
123
86
146
147
110
171
240
131
91
212
98
152
237
92
216
146
86
134
189
178
237
83
124
176
116
122
92
108
231
166
213
71
219
131
195
242
235
73
91
187
92
193
92
228
216
173
89
84
79
152
175
130
217
160
214
150
138
95
126
196
240
146
194
205
187
217
146
215
169
163
120
88
228
90
147
221
235
164
239
82
159
132
154
216
223
111
100
112
147
132
105
211
140
163
178
175
226
166
214
188
86
173
173
217
245
235
146
190
114
247
99
156
217
122
217
134
199
199
126
196
233
136
200
163
200
80
243
113
92
226
74
233
167
240
134
143
93
194
117
135
146
84
166
219
163
102
221
76
142
241
101
124
184
109
180
228
127
233
77
158
163
212
147
217
97
114
105
71
205
175
181
87
162
225
166
227
166
159
204
117
71
176
96
121
148
150
217
133
164
198
200
124
209
95
114
198
216
184
161
135
128
189
234
109
247
89
215
242
191
119
97
161
158
214
140
120
183
242
94
94
113
226
129
217
128
153
237
154
198
210
81
160
115
220
105
191
86
209
243
81
135
145
176
200
241
98
207
212
203
79
166
107
230
182
233
103
76
187
95
246
124
98
240
250
104
248
133
144
191
101
241
155
200
125
243
182
83
79
120
216
77
85
73
80
138
64
21
52
42
41
63
44
34
27
42
65
80
53
47
65
35
58
20
76
25
77
47
43
73
29
70
47
56
67
37
57
44
64
35
66
75
29
23
49
41
72
27
30
71
56
48
52
68
54
73
50
70
42
49
68
75
20
73
68
21
58
65
48
60
70
26
49
66
80
30
57
49
67
41
78
52
69
68
33
73
36
75
45
61
29
76
40
24
50
71
74
79
54
30
42
36
36
30
39
78
40
26
73
28
38
80
54
30
38
58
69
51
75
69
55
77
33
23
37
41
69
79
75
33
29
47
55
53
57
74
43
53
40
21
55
60
20
66
41
61
31
29
50
26
78
41
48
47
38
58
57
35
70
36
73
62
49
77
55
36
35
75
45
61
62
29
65
36
33
36
70
36
22
38
33
33
24
63
59
52
22
59
46
80
77
28
55
54
46
79
58
31
32
38
79
60
42
50
51
77
58
48
27
50
73
50
33
31
62
43
68
40
73
61
77
25
23
41
26
22
65
49
59
32
43
62
59
28
64
24
76
56
63
22
22
38
75
32
78
72
22
38
25
22
58
67
66
71
24
79
20
30
45
28
55
64
75
58
27
29
80
66
40
46
67
56
60
45
51
42
63
73
27
20
47
30
76
73
31
31
68
20
43
32
63
74
20
44
74
49
28
43
70
57
35
45
59
42
77
35
71
53
75
43
80
53
50
70
34
33
60
54
29
52
46
70
59
61
22
54
51
70
54
38
29
35
29
66
21
70
60
60
28
35
35
28
75
47
61
41
75
67
26
23
69
70
70
39
23
58
54
74
42
45
33
53
50
25
33
25
30
74
43
53
21
54
80
74
20
74
51
35
65
64
48
65
31
29
64
38
74
52
68
37
64
43
70
30
30
78
43
79
30
80
71
27
76
41
51
51
53
41
23
28
48
41
43
77
76
32
55
37
52
67
35
58
39
29
65
75
30
61
38
50
78
62
32
27
52
51
38
29
23
74
43
77
71
55
66
75
46
35
46
30
75
51
68
56
58
63
66
65
70
65
41
29
57
34
76
66
26
75
80
22
62
71
78
49
56
26
50
62
41
29
27
47
80
32
43
75
80
42
70
28
40
29
74
63
34
59
44
38
76
40
33
63
61
62
69
24
27
31
44
74
67
23
24
22
72
50
64
33
35
78
58
58
71
41
40
45
79
63
36
62
54
26
36
50
20
22
77
27
80
70
72
68
55
59
70
40
31
61
50
32
22
62
34
31
46
29
51
34
44
50
32
65
59
64
45
53
20
46
41
63
22
73
77
60
33
46
34
50
41
24
73
23
69
40
56
80
70
79
22
47
51
66
78
47
72
37
43
38
45
23
36
42
48
52
42
32
75
43
42
72
76
31
45
60
30
62
24
66
72
75
62
78
79
26
37
44
66
61
33
29
35
61
36
67
42
43
55
75
36
63
24
35
67
74
70
71
45
21
68
46
66
33
71
50
65
54
46
21
71
68
44
70
21
42
31
48
43
34
69
26
28
80
37
57
57
31
21
34
21
53
23
20
77
56
30
33
24
44
55
46
44
50
47
77
77
30
25
59
69
52
50
59
30
44
26
23
34
30
37
49
39
53
65
75
22
66
28
80
72
32
53
34
55
42
52
33
46
77
43
26
66
24
42
26
30
23
40
23
62
49
66
76
50
20
46
23
22
21
72
58
55
76
63
23
33
52
68
59
47
75
42
22
61
70
80
77
55
23
74
21
80
20
56
57
50
56
58
42
73
23
57
46
42
53
29
63
20
77
62
65
49
53
43
78
21
73
79
72
61
28
22
26
23
74
20
71
22
36
23
65
35
69
20
52
47
57
71
60
30
22
67
54
21
20
32
56
49
35
65
54
59
21
75
40
44
23
75
80
21
37
52
74
46
34
58
78
43
34
36
41
74
70
67
61
68
76
21
27
79
37
72
32
61
64
28
25
40
80
62
65
66
61
37
28
66
44
32
46
20
31
79
51
72
20
22
78
48
71
79
71
47
56
72
51
63
34
20
58
39
66
51
80
59
33
63
48
24
63
47
52
46
42
54
25
55
68
31
56
39
23
63
56
46
56
68
64
39
44
28
42
51
61
66
69
56
71
45
40
51
20
49
64
22
33
65
76
32
76
33
49
24
73
79
60
38
52
33
75
40
79
41
66
20
76
75
23
80
57
21
70
56
20
63
29
69
64
56
49
64
27
76
29
70
39
24
79
43
54
69
29
43
74
53
44
37
22
55
38
55
30
25
62
49
58
36
80
43
43
77
79
72
59
43
29
40
61
33
40
62
67
50
39
28
72
79
32
56
25
33
34
44
41
74
39
55
57
46
34
29
51
31
61
27
56
36
55
69
73
23
56
56
39
39
62
80
22
59
35
46
76
60
42
23
78
79
78
40
30
63
58
73
55
26
59
77
36
75
37
77
20
67
75
22
22
57
68
69
30
67
61
76
24
45
44
79
30
20
71
41
56
64
68
66
36
70
59
59
71
22
41
60
61
56
38
62
44
76
47
36
65
65
66
36
61
75
60
74
30
36
45
64
33
41
48
69
23
30
48
46
67
67
33
44
58
68
49
68
52
51
25
60
39
71
59
27
34
51
29
43
59
35
53
57
43
65
67
52
67
20
38
65
22
75
61
50
77
75
71
67
40
46
78
75
38
66
77
30
74
40
27
53
39
29
74
24
43
56
24
26
57
80
68
73
26
49
24
34
44
70
38
50
60
73
64
21
76
53
80
44
30
73
67
79
48
36
23
35
57
40
44
80
27
44
74
54
33
66
29
60
23
74
44
53
69
61
35
73
26
54
24
66
22
46
56
55
34
46
24
59
76
48
51
62
69
21
46
59
66
50
75
33
36
68
26
77
57
68
38
57
30
77
41
49
80
48
24
62
36
43
71
76
70
78
27
32
46
51
69
49
38
43
40
46
33
55
20
75
41
64
62
25
21
62
45
57
27
64
63
45
80
79
44
53
25
74
64
55
24
68
72
71
68
22
28
71
24
44
42
29
23
43
46
79
35
69
20
52
69
21
58
78
27
43
52
25
32
52
46
22
76
60
32
30
31
36
40
36
39
55
30
24
48
49
21
76
20
53
24
46
50
31
44
20
67
40
38
60
79
53
28
44
74
57
69
55
44
51
62
61
72
80
48
62
59
57
25
65
43
23
22
64
29
48
47
56
32
34
50
42
47
25
56
74
60
66
70
28
59
60
39
71
41
34
36
33
29
70
79
24
61
25
58
65
52
79
68
62
63
31
40
55
54
30
21
41
74
31
57
64
24
40
66
49
40
78
27
54
72
70
56
31
42
66
40
80
52
75
32
25
39
78
78
61
37
66
42
75
63
30
42
60
66
39
42
32
50
53
23
51
33
51
52
70
72
80
30
76
34
55
65
57
58
21
37
70
56
44
40
69
34
80
63
36
26
43
52
75
52
62
35
55
43
57
80
54
61
52
61
44
63
32
73
26
55
40
55
51
56
49
74
74
67
50
57
54
56
41
57
67
56
77
26
69
64
31
47
35
76
58
79
27
77
61
66
67
28
42
31
50
75
80
70
37
50
34
74
22
63
64
27
39
26
79
67
28
21
41
72
43
72
55
61
40
40
78
25
64
77
61
53
28
72
72
39
49
43
55
57
27
51
38
41
47
24
34
51
64
36
25
53
34
63
77
44
35
34
42
46
46
30
65
62
58
23
70
78
75
26
25
25
25
47
35
48
62
73
77
38
62
23
20
69
20
67
33
26
62
32
74
64
41
78
64
42
80
22
21
67
72
50
29
73
53
31
63
27
59
46
59
27
32
55
38
33
60
63
50
45
57
38
75
50
20
33
72
71
68
64
79
32
56
29
56
44
45
51
37
21
45
37
38
67
53
29
61
44
71
21
58
55
71
76
24
31
59
26
36
67
59
40
37
73
31
74
69
57
33
63
40
62
47
40
51
33
63
53
45
61
58
71
41
78
41
75
75
31
58
66
38
48
48
36
63
60
42
20
73
74
37
28
27
66
23
76
51
44
33
61
48
45
78
75
59
79
29
26
30
24
44
62
26
51
42
80
30
72
30
46
71
60
24
50
62
46
57
69
44
70
71
24
64
57
43
66
31
26
67
76
30
38
23
51
79
30
58
33
66
52
50
28
37
60
28
69
69
67
41
20
79
37
38
63
24
74
32
28
44
33
72
80
62
47
62
34
60
37
80
76
20
78
49
62
25
26
63
59
39
21
68
56
68
50
40
78
75
37
70
63
28
43
67
31
78
55
27
78
66
54
27
70
21
56
79
44
44
58
61
62
62
50
69
64
21
33
74
40
46
50
73
69
21
55
43
75
36
48
57
32
75
56
50
56
78
54
48
33
59
79
20
62
32
72
43
39
38
52
69
65
31
28
35
65
64
32
48
79
58
64
63
48
76
33
40
49
27
74
54
33
23
57
72
67
22
80
70
77
43
35
43
52
49
39
73
75
54
45
49
58
71
64
47
51
23
59
20
65
60
58
48
21
20
72
23
80
21
74
74
56
28
52
64
64
26
25
63
52
26
20
33
78
80
66
32
76
68
74
46
46
77
31
39
65
65
29
25
46
56
46
32
48
79
74
69
54
74
46
37
39
42
54
46
65
23
67
40
38
39
23
28
31
29
67
50
76
48
66
64
51
74
21
60
57
55
21
32
59
56
24
30
60
58
67
50
60
20
31
42
67
23
60
28
20
25
39
53
74
38
55
20
55
47
39
32
64
44
32
66
74
52
62
57
55
27
30
27
48
34
53
56
33
70
24
33
43
58
72
50
24
52
50
70
29
30
66
42
70
37
72
73
67
65
31
56
47
33
24
77
37
25
35
75
61
55
22
70
41
66
21
43
71
38
63
76
25
41
72
38
78
67
26
63
52
53
28
39
56
43
71
41
52
22
76
42
48
38
80
54
55
38
68
36
39
29
62
52
52
45
67
61
66
63
56
68
58
22
47
21
31
79
53
24
47
67
21
45
56
62
74
49
67
75
31
65
63
21
23
46
76
59
41
21
26
37
69
76
80
60
78
26
48
47
59
76
29
34
20
66
78
71
49
49
25
25
43
54
51
28
28
50
46
41
55
64
65
59
35
37
76
74
65
75
78
50
33
51
69
25
69
67
46
75
80
70
47
31
59
79
35
58
51
70
69
50
44
65
69
73
65
67
53
24
70
44
39
72
39
75
31
47
69
60
34
66
77
20
46
61
22
79
32
56
73
42
51
47
78
71
48
46
54
63
55
80
65
76
77
53
67
50
61
30
26
25
21
41
59
78
64
33
44
59
54
26
47
75
31
24
44
57
42
75
23
54
34
24
69
56
23
39
21
55
60
20
47
68
77
39
79
47
77
20
52
25
60
77
45
71
55
33
69
76
25
52
62
45
40
77
71
56
26
33
62
34
20
58
30
36
73
40
32
62
66
36
46
40
56
58
57
31
67
56
68
31
68
68
63
20
30
70
68
60
31
39
67
80
30
46
79
60
48
53
63
39
54
50
72
41
65
65
70
35
56
62
39
34
50
66
45
59
73
41
72
78
63
66
75
53
58
34
71
71
33
67
76
44
77
75
77
48
22
38
20
68
65
44
41
57
58
60
69
79
50
76
44
39
49
78
28
61
46
53
47
50
48
77
23
23
51
40
75
37
72
52
26
54
71
57
26
69
45
21
80
38
58
63
35
22
73
69
66
74
47
29
22
48
53
22
34
20
53
48
33
71
65
56
70
59
35
39
59
79
29
28
69
74
62
33
36
58
24
45
58
34
57
76
60
27
57
47
34
55
32
71
45
36
68
59
26
77
69
21
34
32
70
32
38
71
57
45
64
61
80
75
57
31
68
71
67
75
70
20
63
72
24
50
68
64
63
31
50
46
44
44
41
57
28
62
63
62
50
40
31
30
70
27
48
36
72
70
46
25
23
80
21
36
70
72
47
69
65
33
22
71
49
44
33
72
23
30
61
30
46
51
43
28
48
23
71
20
36
25
57
50
23
25
48
23
74
59
37
40
37
34
46
64
23
49
47
51
79
64
44
21
40
58
36
63
50
76
71
60
62
67
36
46
29
48
37
51
38
74
51
41
26
63
40
46
30
43
45
75
24
59
25
42
78
77
41
61
22
22
47
27
45
76
56
79
38
44
75
80
57
74
64
70
43
40
27
77
57
20
70
57
52
69
77
29
22
47
77
35
38
37
67
59
54
57
58
73
72
40
25
52
71
54
80
47
52
24
80
69
75
67
64
54
61
24
73
70
50
29
76
33
58
25
24
65
43
68
60
29
49
47
29
59
68
42
30
72
59
65
79
46
70
37
32
24
39
59
52
48
52
43
39
66
68
57
49
26
24
74
53
47
64
58
42
27
77
68
36
52
64
46
65
51
29
29
20
76
70
54
22
68
42
40
38
28
46
29
59
34
58
41
68
61
32
62
21
48
31
60
29
55
54
42
41
52
66
49
20
59
36
54
28
24
46
47
31
39
58
44
26
56
59
75
74
66
80
47
21
41
72
42
31
41
49
79
38
43
32
29
74
31
57
66
79
48
27
25
64
53
78
49
41
33
66
62
33
55
58
79
28
47
54
59
42
30
60
78
33
60
43
20
36
28
68
38
42
48
50
24
40
62
48
52
77
68
75
31
27
67
59
29
50
39
56
75
26
52
42
63
38
42
79
76
28
62
72
76
61
64
24
56
75
45
29
28
28
40
73
23
57
28
46
27
23
73
73
74
75
70
59
20
53
35
59
43
28
44
70
49
24
26
57
60
45
52
50
39
47
36
24
57
43
68
63
60
21
73
54
49
42
80
21
56
70
47
36
40
48
27
78
49
53
24
47
42
56
67
35
38
76
34
65
36
42
52
46
51
53
60
27
38
30
35
61
32
65
76
78
49
31
24
60
50
34
80
29
45
44
20
51
80
41
21
48
66
45
48
23
59
26
41
43
62
46
53
58
74
35
30
65
58
74
35
50
44
54
43
28
45
70
61
22
20
22
49
22
30
63
55
59
48
41
22
53
52
22
71
37
29
21
48
49
59
71
54
25
74
55
47
64
63
52
73
55
56
57
47
75
76
51
62
73
79
59
44
54
33
37
45
30
55
64
64
29
51
52
53
26
57
27
77
62
72
34
55
63
32
44
58
49
35
27
37
24
80
66
60
43
66
58
79
73
59
77
74
51
72
52
63
35
43
45
42
64
37
55
36
68
56
58
59
35
68
50
56
41
76
58
52
47
74
52
64
31
60
23
53
27
65
20
61
22
42
31
26
23
34
69
35
23
66
69
71
22
20
29
71
52
23
36
57
29
28
58
28
57
69
63
45
56
63
36
63
60
29
38
37
29
46
77
66
25
60
26
45
65
30
61
51
33
42
39
22
59
35
76
78
70
53
35
33
50
40
35
25
78
65
24
43
59
27
73
30
44
45
41
28
27
51
33
79
51
44
28
41
46
43
26
53
68
26
66
68
27
69
64
74
32
65
75
58
20
22
68
76
32
39
36
57
47
67
70
71
43
32
56
55
34
57
39
61
50
40
33
30
33
29
68
60
68
78
61
22
75
41
65
45
61
58
64
21
72
23
27
79
27
73
25
61
21
36
59
73
63
45
80
73
45
53
70
55
25
58
52
51
25
79
34
60
26
72
66
34
71
20
27
29
53
56
46
28
23
55
38
67
24
31
52
63
58
21
61
32
35
72
36
34
62
60
24
80
46
70
42
61
30
38
73
30
62
21
73
73
75
38
39
29
36
36
49
29
36
55
67
77
72
73
32
35
53
31
52
56
29
60
80
56
25
53
25
80
71
30
33
46
73
34
29
34
60
63
22
46
33
43
70
25
60
32
59
55
60
75
38
70
22
21
80
61
24
33
55
71
22
61
75
44
35
31
66
46
66
61
55
51
80
57
68
66
37
66
80
26
59
77
23
48
57
48
65
47
59
43
64
74
36
50
25
21
68
56
42
45
51
33
51
46
25
43
63
71
69
33
22
40
50
69
71
23
45
27
60
25
68
31
64
58
74
41
69
31
40
52
22
52
32
57
57
45
24
76
26
38
49
60
31
64
28
73
65
62
63
53
68
45
50
35
25
46
55
24
42
57
42
59
63
68
20
38
48
70
55
52
72
60
41
74
27
77
52
20
66
26
44
59
43
29
20
69
45
53
20
76
36
40
71
33
22
78
47
61
31
64
27
25
51
35
66
35
61
74
35
41
73
45
26
73
38
65
76
61
66
20
53
75
69
40
22
26
66
38
53
61
57
60
70
70
61
20
77
53
75
34
75
77
80
67
54
69
22
52
24
27
51
52
75
27
35
48
49
30
79
48
49
59
59
30
60
46
49
33
61
64
79
20
80
55
54
30
23
50
54
72
53
47
44
74
74
60
32
73
24
35
68
20
41
36
71
61
40
43
60
41
58
75
23
71
36
68
72
50
44
47
25
78
30
49
78
30
72
78
24
37
37
63
76
21
39
23
48
78
76
73
69
80
80
76
63
74
21
67
64
30
69
51
48
35
30
62
74
36
56
73
47
68
37
55
53
47
61
64
58
29
49
53
41
41
70
22
48
56
60
45
40
40
34
30
52
38
48
54
78
43
55
48
60
77
50
37
47
45
51
70
70
27
56
40
59
22
59
47
55
30
26
43
37
69
65
60
21
78
75
36
35
75
70
38
33
68
72
78
24
40
38
55
73
54
41
52
61
78
68
27
56
74
50
42
59
33
42
77
52
44
47
48
23
33
31
21
46
60
58
20
76
27
80
76
71
43
73
54
25
51
62
78
80
24
76
41
35
70
76
23
21
40
77
70
61
54
27
45
20
66
73
80
33
74
74
71
52
61
73
52
63
53
55
47
28
77
43
65
39
34
25
50
44
26
79
54
52
41
78
24
60
28
42
28
40
79
47
65
27
41
78
58
37
77
49
22
71
77
52
23
20
80
20
75
49
63
54
39
44
44
50
33
71
33
45
37
74
53
50
20
36
20
70
43
20
70
62
44
43
36
80
28
26
39
62
77
32
24
54
53
51
28
41
41
43
27
71
62
52
31
45
78
31
48
35
58
79
40
33
67
32
70
33
71
35
34
79
40
37
24
22
21
65
45
52
78
40
52
22
76
38
37
74
73
33
70
25
57
55
29
70
30
76
20
24
53
70
79
51
23
70
68
50
60
39
76
61
76
65
63
36
23
76
59
51
20
72
24
70
35
64
55
48
51
32
33
72
76
46
32
21
72
60
59
68
77
77
27
47
31
42
20
66
51
34
39
22
34
58
75
47
28
25
37
46
72
71
37
23
51
36
78
21
74
49
50
32
33
41
26
21
29
68
28
36
46
73
33
46
58
63
48
51
46
37
64
60
39
53
51
66
69
59
55
33
48
70
67
80
74
38
57
37
29
26
32
51
68
38
51
47
24
48
39
76
45
66
75
68
35
47
50
42
66
24
59
66
28
68
77
32
29
68
46
29
64
21
72
63
60
50
25
41
49
55
22
51
20
70
44
48
75
54
64
34
29
76
52
40
79
47
42
73
80
78
47
74
79
66
42
38
59
39
74
64
75
36
34
60
21
57
34
42
68
55
73
68
40
63
25
57
67
42
57
51
54
38
36
40
66
25
49
68
40
65
71
69
77
71
26
49
39
56
23
46
21
54
24
33
47
37
21
64
20
43
62
36
62
26
64
33
20
51
31
55
62
49
30
67
31
55
61
28
64
50
49
72
47
46
54
71
48
41
37
50
33
68
40
65
23
61
59
26
64
34
74
80
71
44
80
36
37
79
34
80
66
70
43
33
36
80
51
75
60
22
38
25
51
72
20
21
34
56
67
25
26
42
59
41
46
57
44
45
59
79
47
28
33
36
59
55
66
52
36
39
57
59
26
64
34
40
43
40
49
62
55
39
59
28
78
30
58
32
76
66
68
75
21
62
55
43
54
43
63
70
53
49
74
63
32
22
68
54
43
53
55
35
53
64
79
27
57
54
60
56
32
60
54
41
69
76
32
57
75
56
45
69
40
42
33
74
59
75
76
67
48
60
31
60
38
63
73
41
73
49
73
62
46
59
72
53
42
79
41
75
58
55
59
58
52
52
34
48
58
40
69
61
20
21
28
56
27
52
32
77
63
36
57
48
60
37
33
77
33
23
20
54
36
26
57
55
43
35
73
56
33
77
58
33
43
47
63
41
37
25
49
23
66
45
24
49
75
29
77
22
41
67
60
49
67
35
80
20
59
78
31
77
70
29
36
71
42
28
50
76
78
40
76
57
20
23
52
72
48
80
24
63
46
75
61
27
30
41
53
44
48
42
78
58
60
26
24
75
37
59
28
43
64
76
73
50
25
71
50
23
55
27
76
48
46
48
65
46
66
72
34
52
30
38
58
69
77
43
24
44
48
38
25
38
61
48
65
29
61
79
67
27
61
28
46
43
73
37
66
63
25
35
61
41
55
78
78
24
32
35
26
77
38
78
69
36
43
39
36
75
31
20
70
74
62
66
20
80
43
62
27
34
28
68
78
45
42
67
37
47
33
79
38
31
68
36
31
41
30
69
39
67
70
33
33
60
27
75
42
63
72
70
30
20
74
41
36
65
72
29
25
23
20
50
72
36
60
70
51
80
36
71
36
66
63
50
69
49
24
24
68
48
41
22
26
41
60
35
50
40
73
48
53
49
56
28
61
76
69
43
43
46
44
20
44
62
36
20
51
35
24
73
45
52
21
69
25
37
70
24
61
34
27
68
42
61
72
60
56
40
49
62
42
57
39
43
40
63
29
40
57
47
20
66
54
68
80
23
62
22
53
38
54
20
49
38
27
63
74
60
51
76
68
39
53
46
51
50
37
26
25
31
54
41
51
32
62
31
46
53
73
32
62
25
75
71
21
37
50
80
62
76
71
76
74
30
73
31
23
80
45
79
33
71
55
37
69
64
31
51
45
77
72
34
75
76
21
32
59
50
66
45
45
36
27
50
42
29
41
71
55
55
76
77
54
26
52
27
72
50
46
44
22
24
68
34
63
44
73
77
61
51
80
66
52
39
21
80
58
40
75
40
45
67
42
25
61
73
59
68
75
74
35
73
35
50
48
36
76
69
47
27
30
39
71
36
25
74
21
60
35
33
38
61
70
62
51
68
68
36
51
27
44
60
30
66
78
54
34
39
76
60
77
29
66
66
69
48
61
34
76
48
40
64
66
78
39
60
58
49
31
54
25
63
37
61
41
64
73
61
60
20
43
52
71
56
61
51
31
72
33
65
25
49
72
28
39
41
39
32
40
64
49
38
56
27
70
65
34
54
64
27
24
48
72
44
27
51
23
52
51
28
68
73
30
21
29
69
25
25
55
43
54
29
53
55
70
22
54
72
70
54
26
72
65
33
67
42
33
38
46
36
56
44
43
26
66
74
30
63
47
77
30
72
48
41
58
42
36
68
65
30
71
43
55
29
27
45
26
27
72
32
63
48
29
45
35
33
58
20
78
74
76
41
37
32
33
27
55
77
40
70
44
80
34
30
57
30
54
71
71
46
40
24
69
50
70
40
45
80
50
23
24
74
65
62
34
61
66
41
39
41
64
59
35
32
70
74
69
27
47
77
76
65
77
76
57
34
32
30
77
73
74
77
79
59
60
21
68
72
57
38
76
32
69
48
58
49
30
20
64
62
41
53
65
49
34
26
78
65
72
80
33
21
50
80
45
63
20
43
40
29
45
60
48
33
30
56
36
40
56
42
22
73
66
72
58
58
44
51
71
45
48
60
69
42
74
71
77
75
29
40
39
39
54
69
47
34
24
44
64
65
49
59
57
24
24
73
50
24
32
27
35
60
22
36
57
33
55
31
39
36
41
21
75
30
72
26
45
23
27
79
39
64
65
55
52
53
72
33
52
80
51
33
74
39
29
35
55
77
30
45
74
35
56
56
59
69
71
20
65
53
75
48
73
38
41
25
32
45
47
55
33
38
80
71
38
64
42
37
45
64
66
80
29
53
36
24
38
45
47
52
73
60
70
23
66
52
37
31
47
65
72
31
29
75
51
45
28
22
51
53
36
68
46
47
29
77
58
53
71
45
30
55
53
74
69
58
44
27
46
47
48
25
29
22
53
27
70
77
20
65
48
76
26
65
20
40
80
59
23
22
47
31
50
41
51
47
42
24
61
56
21
66
32
51
69
44
25
72
68
75
29
27
34
76
25
25
23
25
32
33
29
44
78
34
33
63
43
67
41
36
69
56
68
27
28
59
68
59
68
80
74
55
64
66
25
66
75
26
22
37
47
43
67
76
21
66
60
65
69
25
33
63
21
47
71
27
62
54
62
68
39
54
48
63
21
57
73
70
64
71
52
26
66
52
61
34
64
74
61
34
71
80
77
76
42
71
35
43
25
46
38
78
59
24
24
39
46
42
20
35
48
39
71
45
33
48
20
61
30
31
25
33
57
37
40
36
38
23
34
44
65
26
39
74
23
55
55
31
77
70
33
44
42
30
74
44
42
61
71
79
38
67
43
55
35
75
33
62
24
70
32
61
26
57
63
35
21
20
51
65
61
53
50
76
22
30
67
54
73
43
47
52
64
66
80
63
24
57
65
21
25
26
42
37
28
36
27
68
31
36
73
70
26
42
78
54
78
32
34
76
68
74
21
73
74
48
26
28
80
41
67
72
29
51
20
38
29
74
60
58
66
35
46
43
74
34
27
53
24
53
66
39
41
40
69
68
20
65
55
39
33
35
47
39
58
49
61
24
37
64
22
38
68
30
60
49
60
75
69
63
34
27
32
47
45
46
59
54
55
21
69
33
34
70
53
34
29
20
67
47
36
43
28
61
64
51
54
26
41
21
47
27
44
35
49
55
78
31
54
75
66
68
55
38
74
53
33
27
23
51
22
32
25
35
56
78
73
30
65
30
51
23
36
68
79
36
46
44
60
36
72
36
72
48
57
33
24
27
56
72
45
71
63
25
64
39
80
45
42
41
26
42
39
56
64
40
68
73
70
24
56
45
50
35
30
68
44
66
31
29
51
78
39
60
36
76
63
39
43
31
72
67
55
39
29
42
65
28
23
34
79
59
54
59
77
20
55
72
68
61
42
70
44
49
80
77
23
80
79
28
65
76
64
54
22
47
30
65
46
42
34
47
66
80
74
23
71
41
69
36
52
65
50
51
22
56
44
59
37
75
45
58
42
40
27
34
62
40
57
24
37
44
61
56
68
44
74
24
68
79
41
26
69
54
77
71
62
23
42
79
39
51
68
74
76
54
34
58
23
56
58
48
32
37
44
41
74
45
48
64
56
50
59
30
61
71
23
59
77
73
77
32
64
31
34
65
45
69
64
78
24
29
33
23
68
43
43
47
46
70
71
63
55
49
53
67
49
29
42
71
72
34
39
45
32
59
32
53
20
44
47
46
24
48
56
31
43
24
80
75
43
24
80
43
58
30
72
30
32
42
64
74
32
45
66
22
78
51
21
54
48
29
69
47
66
63
53
68
59
79
37
77
23
21
43
42
80
47
69
78
69
45
23
75
55
22
48
71
74
70
67
45
65
43
79
40
20
27
50
73
64
73
30
52
49
59
49
49
29
50
73
60
36
73
66
79
69
50
40
69
60
38
77
25
23
27
43
79
75
39
31
24
76
26
36
67
44
62
55
73
24
42
68
29
26
70
28
67
36
34
44
71
78
29
39
31
26
73
37
20
36
53
38
26
80
80
76
24
41
58
39
66
65
58
43
22
33
44
51
30
39
60
42
79
25
27
53
59
62
60
56
37
58
41
66
80
25
54
21
69
71
28
32
28
37
65
77
24
23
70
66
66
70
73
79
47
58
71
33
57
61
67
51
67
59
58
64
41
78
34
51
23
68
56
56
41
71
48
31
52
64
80
29
65
71
65
37
57
47
51
41
74
30
41
63
37
80
51
51
72
30
75
29
52
32
73
22
48
49
23
26
56
69
59
50
68
21
75
55
31
63
62
42
55
37
28
40
26
59
58
28
73
58
75
65
23
77
73
28
51
65
63
32
55
41
73
47
26
62
39
60
60
34
55
71
23
74
78
42
71
64
62
54
21
55
49
53
63
75
56
32
57
24
37
39
45
65
55
21
41
37
58
45
34
75
53
36
53
69
29
65
79
53
32
76
27
45
24
51
70
77
29
71
71
25
66
43
62
48
80
50
22
48
73
79
45
52
68
20
62
47
20
37
49
46
80
40
66
80
25
33
64
62
64
70
29
62
67
48
31
73
25
51
59
78
33
67
54
56
55
78
66
58
75
77
57
60
76
45
59
44
54
80
73
69
22
60
76
74
69
69
70
72
38
47
27
51
29
67
72
45
48
49
24
66
57
70
35
28
57
67
34
43
30
62
42
80
59
37
50
54
64
80
25
53
79
21
40
27
41
38
36
40
79
34
67
38
39
21
60
40
31
26
45
42
40
42
43
73
42
77
55
79
59
44
26
66
30
31
64
22
40
62
29
38
59
20
20
58
58
62
25
57
24
78
33
20
46
78
30
46
22
62
37
31
35
56
76
64
34
32
77
22
54
30
47
50
24
52
49
35
62
26
22
37
69
55
66
35
42
68
74
78
36
44
50
29
64
26
47
43
57
31
60
63
47
37
76
33
59
48
30
24
65
33
80
69
79
29
33
31
21
73
27
29
23
36
44
63
65
77
66
74
54
53
46
69
76
51
63
70
25
30
65
38
23
69
73
58
78
22
67
21
26
30
34
52
26
59
51
48
25
62
23
75
79
24
74
62
52
37
77
35
71
55
75
57
55
38
44
35
28
52
23
40
24
73
23
58
74
74
36
44
69
46
77
23
31
24
56
67
47
52
78
28
35
28
50
44
49
40
58
28
58
69
28
28
35
36
22
78
56
78
40
44
43
73
26
23
73
63
45
30
78
50
33
68
35
63
55
61
62
62
31
51
51
27
28
77
23
60
39
61
66
38
21
40
69
64
70
75
26
61
64
36
66
79
79
64
50
47
31
25
35
27
78
35
64
23
52
47
42
37
22
70
73
59
51
38
61
22
45
26
24
42
79
50
60
69
63
21
41
60
36
33
68
64
28
50
40
53
74
49
33
72
27
40
50
68
67
58
73
66
67
67
30
64
79
22
43
24
31
33
61
72
79
45
55
74
68
47
49
48
49
69
52
28
31
73
49
39
45
44
59
44
71
51
34
21
63
63
52
37
46
21
51
52
39
59
66
74
79
78
67
27
25
35
75
49
45
23
61
46
56
29
29
21
73
56
36
42
78
76
57
33
31
70
37
36
34
27
49
32
31
30
45
53
69
64
76
21
24
63
57
70
39
35
37
72
24
64
75
67
30
56
50
20
36
46
22
46
80
60
67
41
59
73
46
45
40
49
26
73
21
47
20
53
26
22
20
63
70
26
40
38
36
38
60
69
54
37
47
44
64
70
53
53
44
32
80
64
53
27
57
47
38
43
73
58
22
72
29
80
30
21
50
61
67
35
22
45
74
50
48
41
66
34
36
56
58
72
69
43
38
27
56
23
48
38
55
29
28
78
42
25
73
67
52
76
75
64
52
75
43
36
73
37
79
25
72
20
72
57
45
46
30
80
23
24
51
38
59
77
30
22
79
76
30
35
68
47
70
30
33
77
63
58
57
74
43
39
32
21
26
50
65
20
40
76
59
53
48
59
36
49
50
74
62
48
53
69
40
29
73
51
33
29
25
24
69
67
52
53
67
26
22
154
126
194
106
196
72
155
170
176
180
233
241
182
81
107
185
109
187
86
145
200
121
153
104
145
214
125
132
165
242
176
78
156
237
217
81
105
223
83
208
119
237
114
119
194
218
244
131
78
80
114
89
180
183
172
213
109
79
201
198
135
214
191
226
183
202
96
149
207
205
139
245
86
204
145
168
196
175
165
136
223
216
98
227
186
180
150
121
91
73
231
87
178
149
98
120
246
202
248
71
201
148
149
79
248
150
94
146
247
101
199
244
237
148
123
246
249
92
207
233
154
200
192
99
149
124
158
164
142
162
217
124
190
249
202
77
91
204
126
184
190
196
155
149
119
75
223
87
71
203
208
192
70
110
229
102
133
199
204
109
198
131
233
85
187
107
155
162
222
81
112
128
155
177
127
141
193
248
198
178
240
186
163
166
187
72
212
155
161
143
168
89
218
245
233
168
114
158
151
145
140
196
103
237
112
142
208
225
219
193
219
166
190
203
243
164
86
135
206
180
153
233
201
163
201
72
176
238
196
191
207
234
158
226
232
225
130
121
97
229
219
222
182
81
119
175
103
126
222
176
145
220
245
91
195
195
239
104
85
116
127
180
227
190
157
144
164
113
106
83
160
159
168
86
78
159
132
117
198
190
197
205
142
133
73
143
109
212
238
136
222
154
226
109
190
105
169
234
71
140
119
90
120
241
227
248
249
113
161
226
194
196
196
237
153
97
90
115
226
127
161
245
81
182
98
220
183
136
216
71
97
169
169
90
207
111
77
137
211
145
95
227
121
102
223
171
145
234
117
175
161
204
166
131
185
119
189
224
132
189
71
198
164
114
71
154
216
74
221
249
101
216
212
150
173
141
241
171
93
119
93
159
207
139
73
136
90
164
114
232
176
78
110
180
108
229
179
113
170
146
190
153
182
85
178
153
222
225
224
115
183
114
237
249
142
96
151
235
122
249
84
185
81
160
99
165
234
207
205
114
99
216
92
165
136
100
89
192
181
182
229
170
129
151
97
140
166
163
191
239
233
239
200
161
100
138
207
106
209
126
155
219
78
71
162
142
92
180
241
224
115
228
131
226
150
168
194
120
136
208
95
231
142
158
157
239
84
102
72
245
112
192
181
213
169
217
238
116
250
99
125
155
117
207
202
93
112
89
177
188
234
82
194
116
215
125
97
101
195
136
107
208
139
239
100
148
198
234
243
172
73
199
94
182
163
127
206
172
201
115
101
211
107
207
133
230
203
223
184
195
217
226
199
167
244
145
94
215
103
233
236
148
233
154
132
127
149
223
134
81
164
243
178
227
231
102
217
99
145
215
232
116
245
157
110
195
80
240
166
140
177
149
97
157
201
186
91
213
140
212
165
216
104
117
123
201
149
201
107
190
107
78
199
180
233
71
107
175
142
178
244
118
249
86
173
103
147
239
118
78
109
145
225
215
73
126
223
202
124
122
190
145
109
232
240
165
125
238
169
205
81
146
92
175
163
118
231
176
128
155
181
141
112
222
149
182
164
181
165
116
122
192
167
156
199
158
162
222
151
218
133
214
188
124
218
86
218
139
170
150
235
118
99
78
85
138
190
118
222
232
170
218
83
120
235
81
114
99
117
129
154
173
91
200
203
168
181
229
148
113
170
231
195
179
215
181
78
124
152
248
107
242
213
117
181
110
162
211
208
220
198
185
155
249
104
197
208
79
115
242
120
122
202
83
156
70
210
189
153
151
180
115
192
76
218
176
177
96
123
104
79
240
210
188
250
232
154
180
237
127
115
155
93
73
122
235
220
173
210
248
89
233
209
232
116
222
175
237
130
101
233
120
167
183
86
244
89
203
77
71
153
215
221
207
139
239
131
83
231
80
176
210
174
215
162
119
206
97
135
143
148
74
181
131
187
210
131
145
176
131
234
84
247
150
221
102
148
196
167
193
108
116
154
250
214
75
74
224
201
208
215
220
84
159
235
108
167
112
86
239
236
232
70
227
182
105
218
135
117
190
104
125
140
242
105
171
90
229
171
136
109
75
140
244
115
85
153
193
98
88
192
97
226
134
158
216
99
184
155
250
204
87
100
230
147
188
120
89
126
240
75
152
74
174
233
228
200
245
121
207
244
140
86
238
86
240
74
135
101
132
163
199
99
182
186
184
156
162
194
70
109
113
218
224
168
86
199
137
182
131
230
129
154
102
157
206
114
156
123
129
112
161
214
120
224
118
83
161
205
112
145
210
230
106
104
234
200
238
126
142
157
151
133
190
139
219
146
167
148
235
167
173
147
91
235
72
201
193
202
205
243
78
143
163
98
172
94
153
117
134
170
217
73
121
182
249
218
169
184
133
77
139
137
157
75
173
236
144
172
244
191
240
211
144
96
164
96
139
107
228
134
245
128
101
86
241
105
221
244
171
110
139
230
149
164
74
168
219
161
103
129
229
246
159
145
160
207
76
120
115
217
108
206
247
163
169
136
212
228
183
86
94
165
111
209
227
121
174
169
109
169
101
218
136
96
207
103
182
133
107
101
78
248
248
88
117
152
161
198
230
194
183
164
120
128
109
196
173
154
169
208
126
163
167
173
153
184
108
169
175
163
168
182
111
204
120
135
81
241
89
157
106
168
142
166
113
180
150
197
136
156
94
96
81
160
205
86
132
121
165
242
200
121
168
108
209
85
166
187
186
154
179
203
161
130
197
212
158
205
248
170
147
190
211
94
223
243
79
161
143
90
197
156
213
201
198
181
128
239
106
179
132
194
223
87
146
104
77
224
141
147
182
231
185
75
216
125
220
113
154
101
134
157
240
181
96
78
138
101
153
185
74
158
197
113
236
85
193
153
221
100
239
137
136
126
78
147
72
212
233
119
154
175
204
141
181
186
248
220
127
214
191
193
75
70
123
137
166
71
101
214
96
246
94
111
128
71
75
156
185
86
198
165
218
142
184
205
124
84
191
206
77
216
77
125
103
238
86
142
180
198
77
75
197
129
91
232
139
92
74
118
216
197
120
242
105
148
143
161
232
157
205
227
200
159
152
187
188
230
236
108
222
217
166
222
93
172
117
92
142
183
230
117
78
143
248
109
187
78
198
161
229
162
207
210
177
144
236
176
146
232
217
78
139
85
120
218
243
236
158
151
99
182
184
164
171
170
123
183
171
248
183
195
140
81
135
187
202
249
200
168
124
156
230
173
120
156
192
192
127
250
159
110
128
170
166
96
113
219
233
195
215
89
215
217
131
121
75
181
72
128
170
235
232
173
233
73
94
88
217
184
240
99
104
124
78
96
138
189
241
124
72
110
90
216
103
85
238
179
223
227
115
112
79
145
173
90
238
84
116
74
140
164
116
224
217
151
92
214
196
88
117
229
143
246
77
193
113
163
184
116
137
245
171
122
117
112
186
127
150
215
227
79
244
200
153
231
246
165
232
170
92
243
122
105
103
233
81
124
78
74
239
198
181
163
250
183
108
227
109
74
180
163
126
167
138
93
153
95
245
91
81
216
127
157
235
175
89
112
181
246
235
87
83
172
219
209
166
114
122
156
116
93
227
128
217
171
123
202
181
167
104
110
84
86
116
164
72
93
230
86
131
241
217
108
141
171
227
220
72
149
117
131
235
197
93
169
143
201
188
122
245
209
247
138
238
140
155
123
158
213
151
134
215
170
89
187
236
214
133
140
131
137
77
114
75
99
217
159
161
203
70
227
72
118
85
237
116
89
190
236
170
180
244
150
132
149
83
90
141
197
229
105
227
167
126
180
209
161
210
130
180
137
195
247
239
216
139
195
90
84
159
192
112
130
231
165
190
184
204
151
141
121
100
117
206
104
148
170
202
211
114
141
169
105
94
168
125
89
214
209
237
203
129
117
151
172
182
109
181
216
111
117
152
219
186
153
183
199
129
250
135
204
166
170
134
222
217
191
218
177
98
131
74
106
235
188
94
213
226
172
145
177
190
193
219
198
213
169
234
143
106
139
204
111
222
99
83
109
187
236
236
126
103
237
162
85
192
85
148
184
85
83
235
72
155
217
208
103
187
123
156
73
201
236
80
90
213
248
243
210
197
220
194
106
185
203
219
239
81
87
245
228
176
169
81
203
234
200
228
119
122
169
73
105
171
71
102
106
187
182
120
210
147
203
100
188
221
84
116
232
103
115
117
152
204
167
95
152
247
197
89
205
163
76
136
203
170
238
98
166
250
234
121
207
82
122
227
232
234
193
136
87
197
210
215
121
213
138
214
233
125
203
190
85
171
122
85
198
154
135
211
179
244
107
73
76
248
159
185
112
181
102
124
158
98
99
194
149
223
194
217
232
250
228
148
151
72
210
116
134
82
157
174
182
238
99
121
232
159
207
231
200
76
246
154
192
199
207
155
83
241
170
152
220
99
92
210
229
87
75
119
209
209
120
141
113
242
136
196
110
125
104
129
229
223
101
159
238
250
200
175
123
213
136
234
87
120
210
82
237
177
174
221
109
105
123
211
169
228
212
176
84
94
110
128
230
190
121
161
164
99
245
77
107
170
250
196
249
140
215
89
175
93
170
173
91
118
205
222
85
100
128
74
221
130
124
181
107
98
236
250
71
211
144
138
226
154
244
220
83
198
113
83
82
107
205
131
82
184
126
160
184
210
118
205
245
238
208
148
147
119
90
124
132
200
223
227
241
116
198
127
119
131
170
181
244
74
170
194
208
113
114
113
194
124
195
204
182
174
72
249
142
152
111
127
189
201
167
97
170
236
247
157
236
97
131
109
180
133
229
229
215
131
214
107
133
94
235
237
221
106
230
241
156
185
176
102
236
235
75
171
218
102
211
131
144
100
231
83
198
141
111
175
80
109
91
176
228
105
149
73
178
194
98
188
219
114
161
216
123
76
244
219
70
224
198
226
120
145
148
131
218
123
104
106
82
138
189
135
71
200
237
95
249
222
195
242
166
139
102
233
91
119
131
138
83
168
75
152
199
85
230
237
139
230
189
84
86
179
179
71
203
117
124
167
168
225
91
123
195
210
171
141
152
98
93
229
165
191
216
173
174
83
113
219
131
227
170
116
161
199
168
114
180
170
78
176
113
124
213
96
96
106
200
201
237
146
178
249
117
185
119
215
247
185
73
216
173
90
137
98
230
224
77
161
92
188
83
177
149
243
88
91
146
84
155
121
202
126
172
250
106
86
203
162
95
121
124
105
191
131
151
97
168
119
110
243
244
198
98
84
250
82
108
118
227
145
211
139
215
153
176
173
193
175
151
214
76
162
229
101
190
143
244
137
117
122
83
237
168
248
173
241
189
124
196
78
73
113
109
148
145
84
193
213
91
145
220
93
185
93
182
121
199
111
191
139
124
189
206
215
147
222
170
199
114
132
242
153
164
236
96
218
140
212
240
211
208
127
226
87
165
153
135
74
136
130
214
222
216
94
209
169
203
110
124
100
176
80
244
182
199
222
197
95
166
176
242
214
125
181
107
71
166
119
159
73
178
71
214
202
114
203
85
227
165
85
147
242
105
200
82
73
105
81
219
202
90
98
128
180
129
210
175
74
248
215
240
134
72
153
132
229
96
138
225
212
183
217
222
96
198
170
180
87
167
85
177
113
192
245
82
92
223
104
110
121
102
108
126
244
241
243
128
200
225
86
91
72
160
107
83
190
237
193
97
243
186
208
80
212
194
120
125
117
138
239
102
105
70
202
113
97
238
115
241
106
247
202
195
138
104
91
205
227
136
193
155
236
189
211
210
103
159
194
201
134
219
234
199
139
86
236
190
200
203
188
185
163
223
160
152
81
212
97
90
138
166
86
91
164
137
115
99
160
159
214
248
167
185
157
99
232
111
137
249
232
82
167
83
71
118
98
130
153
117
138
198
74
180
174
159
239
246
185
233
203
78
100
182
103
102
95
157
138
234
250
153
225
201
230
203
133
208
193
110
197
117
87
164
80
247
225
216
81
72
75
105
196
82
236
212
86
221
223
151
188
223
82
134
85
77
81
126
198
134
174
186
114
246
163
105
181
197
190
204
81
234
133
235
232
190
182
163
96
199
192
162
219
88
180
212
74
194
170
246
200
233
146
177
145
162
171
130
198
114
89
202
175
97
244
173
188
88
129
133
250
150
155
180
80
200
70
116
128
169
76
189
239
151
120
79
212
157
162
129
120
151
95
128
249
218
230
151
163
98
221
241
198
220
225
167
245
149
203
95
165
203
182
194
149
99
70
224
249
198
229
107
131
184
200
116
192
97
218
88
126
86
142
178
137
238
164
108
121
162
221
195
168
83
244
96
141
101
169
88
112
76
230
219
181
142
155
170
122
110
126
198
103
102
175
74
236
70
212
77
122
74
148
177
211
71
82
70
89
111
85
174
250
186
247
117
205
199
109
98
88
183
104
216
190
209
215
187
173
190
196
107
119
235
161
179
74
174
121
121
182
77
214
143
186
174
155
244
231
235
200
183
164
114
246
158
195
133
212
144
237
102
235
95
228
189
142
232
90
108
126
126
233
164
98
95
196
84
106
228
209
109
165
95
71
132
145
84
202
148
128
225
166
85
140
120
92
198
196
123
207
96
237
234
109
128
90
208
233
228
130
74
250
217
158
176
100
88
160
225
236
218
127
210
152
173
108
138
233
138
157
120
84
96
85
120
124
154
233
178
147
94
104
130
148
225
187
150
148
133
92
212
86
150
138
83
244
222
139
247
195
211
219
138
98
108
141
84
210
155
87
169
170
70
231
239
115
203
109
213
209
231
104
147
89
90
178
186
233
119
166
193
184
84
196
125
120
95
89
78
99
218
134
199
152
127
77
214
228
156
182
196
146
209
96
151
212
200
185
89
87
104
207
80
176
121
206
153
122
150
81
158
121
73
147
86
109
116
194
117
163
78
81
144
231
236
218
112
120
96
222
210
94
197
224
72
100
117
76
142
197
150
246
179
116
237
209
130
193
149
239
225
107
224
70
146
97
88
135
99
76
86
160
240
220
222
214
92
72
122
98
125
113
129
101
118
232
201
201
100
188
128
109
219
70
104
71
148
210
158
205
142
215
78
171
211
145
207
84
82
182
135
218
189
78
238
70
105
148
209
127
195
174
116
161
149
177
175
85
83
89
128
92
219
195
163
192
237
126
184
190
95
92
93
214
239
198
224
206
74
95
237
244
124
111
135
197
132
246
113
92
112
186
107
72
163
136
159
106
182
142
90
158
203
214
114
96
215
134
181
243
136
151
114
117
214
180
146
127
243
197
203
163
76
129
231
155
113
158
118
101
120
87
104
179
101
163
228
195
102
249
194
132
140
208
124
183
225
165
180
189
243
96
218
137
209
179
216
196
217
227
144
90
149
176
232
82
152
249
133
168
144
117
211
211
177
73
138
151
106
218
211
202
127
110
161
222
197
119
188
147
176
121
117
136
137
179
209
117
170
225
175
206
225
146
174
205
143
145
244
118
106
128
92
73
225
140
100
246
99
102
145
192
97
132
141
239
97
81
195
163
138
138
230
107
193
211
81
128
213
204
79
109
183
247
241
167
121
71
80
242
108
124
164
192
211
203
159
156
192
79
97
211
231
170
191
91
113
97
103
188
114
179
84
144
160
78
85
227
92
80
127
95
225
85
77
130
241
119
213
119
201
106
146
219
101
193
120
137
128
202
170
154
86
247
145
83
210
179
248
206
134
123
210
213
174
82
100
217
167
247
202
114
208
96
210
206
186
120
100
72
129
163
97
205
135
245
70
144
161
174
125
245
224
211
157
107
95
125
238
74
248
200
238
227
224
129
185
195
213
110
84
193
190
206
247
185
137
241
181
142
239
95
196
168
180
97
210
74
231
128
234
238
224
167
193
105
123
109
242
181
107
137
142
146
172
82
76
199
151
214
132
120
139
188
129
74
153
164
160
146
163
200
106
87
159
249
75
137
165
246
171
81
158
152
179
183
170
111
156
72
188
162
135
148
242
126
77
143
106
150
233
250
93
132
118
177
239
209
224
191
163
115
187
126
214
175
85
76
80
129
100
179
245
246
145
231
172
135
122
183
106
231
148
165
210
150
166
231
228
155
210
81
162
118
217
168
242
170
106
215
156
193
104
137
106
236
210
95
179
108
193
198
206
228
132
218
72
77
167
194
175
189
89
92
149
195
70
158
218
80
130
223
217
198
93
123
186
196
202
133
210
158
240
108
116
109
200
193
243
111
108
135
110
151
97
98
119
198
159
115
165
236
79
204
99
115
125
226
88
194
211
235
215
84
191
206
162
77
144
130
78
113
80
177
165
205
164
74
74
105
130
221
239
169
106
134
225
237
157
162
136
158
70
157
211
211
97
99
201
79
90
132
76
171
202
174
102
98
189
203
142
75
116
102
166
149
122
169
146
132
197
148
195
145
217
137
105
143
109
141
213
164
142
86
240
164
77
139
114
199
154
235
175
207
209
196
117
183
191
201
194
114
239
118
145
151
202
205
93
111
139
191
117
197
150
228
240
90
224
162
238
178
110
237
241
134
206
138
140
83
147
209
216
174
241
211
231
110
149
193
97
150
83
143
149
232
209
168
172
100
94
85
201
196
91
104
143
117
124
164
82
73
240
132
153
107
240
81
101
161
74
84
159
233
84
169
145
149
244
215
107
124
157
98
245
104
226
174
195
92
99
148
250
189
119
229
76
133
92
143
153
206
164
169
88
137
119
179
165
105
168
114
187
118
160
200
180
191
100
168
105
116
162
174
243
203
91
147
249
145
157
81
165
194
152
184
137
155
150
210
169
76
134
184
210
174
83
199
101
216
166
100
107
230
99
246
216
104
106
249
205
92
144
225
240
79
246
135
230
207
240
84
105
141
216
230
213
143
176
248
88
139
210
221
148
205
219
166
79
165
200
242
190
110
72
142
208
206
78
116
194
225
136
185
231
84
197
192
202
227
127
175
242
101
160
189
187
183
193
128
108
177
97
239
75
104
159
194
189
204
82
245
184
232
167
187
196
91
236
96
155
197
167
112
134
233
228
198
213
128
179
96
243
201
99
101
216
106
236
231
234
217
232
160
235
192
104
248
142
92
134
224
145
164
178
124
189
101
217
209
208
130
239
145
171
163
132
199
216
177
103
93
171
159
117
161
241
144
127
102
98
97
207
158
178
73
169
163
176
240
81
86
104
87
238
101
230
99
85
250
129
248
100
157
92
174
144
237
132
133
203
183
113
174
162
195
241
206
70
215
111
81
183
237
89
143
166
163
142
137
223
78
189
98
155
182
143
197
140
78
176
168
222
230
249
124
172
103
126
203
184
232
130
207
155
186
105
179
96
195
211
83
138
82
84
190
109
238
98
203
152
120
114
231
247
194
235
140
248
143
165
120
206
98
70
166
133
162
226
74
232
153
215
196
167
119
115
227
103
205
103
177
232
164
239
160
98
166
233
239
87
180
158
151
138
211
128
247
228
71
91
183
75
240
169
110
232
206
110
196
220
145
91
73
214
70
224
211
249
176
210
70
167
152
143
133
168
143
191
77
87
239
90
174
149
90
215
181
178
145
140
167
185
173
212
90
237
79
220
109
180
173
183
221
73
226
76
128
193
214
233
225
247
171
78
187
194
245
184
218
218
111
164
97
160
138
218
120
233
222
143
182
207
158
188
213
214
97
89
222
160
201
202
93
120
245
145
209
189
143
226
211
188
110
81
107
138
116
198
204
82
247
103
109
198
162
227
233
76
98
99
146
144
157
74
148
212
212
196
239
198
215
142
98
170
109
112
159
124
81
153
124
84
248
203
74
120
216
244
225
133
223
127
163
227
222
95
100
191
231
85
182
233
71
225
202
246
222
224
223
134
100
113
222
105
181
127
90
198
130
136
204
76
155
124
195
237
145
202
150
73
245
199
71
150
110
158
216
92
179
142
108
76
249
229
185
135
216
118
105
215
111
189
97
236
206
166
179
245
99
211
237
210
222
230
87
158
100
164
100
123
240
198
168
241
142
140
186
113
84
120
74
234
178
234
106
80
86
101
195
126
185
126
124
90
79
208
184
182
194
233
90
90
249
207
200
208
193
116
214
195
177
179
195
183
137
168
183
232
140
129
183
89
135
76
121
206
125
111
94
75
71
182
202
231
125
186
103
77
138
194
163
168
139
117
99
191
89
202
179
203
131
156
229
132
246
207
172
112
121
95
102
160
187
180
79
120
206
234
90
188
174
96
177
192
109
236
212
140
139
76
142
150
187
73
103
90
173
112
209
121
208
103
95
97
176
76
213
192
131
94
179
249
103
179
208
116
76
195
83
172
193
209
79
128
87
91
202
235
136
147
245
127
115
241
235
116
109
75
244
186
213
165
202
212
241
207
199
126
82
214
235
153
89
186
132
241
103
199
125
216
237
229
101
249
201
99
109
157
226
126
73
237
167
103
150
107
190
167
119
231
205
96
205
209
131
236
248
77
119
213
98
194
136
220
153
202
224
193
100
155
168
100
108
212
152
84
218
135
203
198
219
243
142
133
204
118
132
78
150
152
140
72
192
177
168
216
234
82
149
238
229
169
234
182
178
84
250
137
173
157
103
95
170
89
222
245
110
247
166
126
104
148
226
144
72
223
173
216
135
229
73
151
97
179
141
72
199
217
87
236
189
181
133
206
134
94
90
131
193
138
91
130
181
179
110
159
233
160
94
213
119
198
227
85
178
239
72
98
238
226
123
143
182
217
179
249
227
144
131
220
171
135
85
74
249
87
134
213
87
237
74
92
163
123
208
145
147
113
139
221
118
71
244
138
93
233
214
100
247
237
238
250
204
225
234
111
120
111
166
242
147
128
209
144
232
97
205
221
212
172
84
186
144
131
105
180
116
140
225
110
119
188
234
248
76
114
155
164
216
113
172
93
237
129
164
77
223
166
81
129
213
149
162
133
112
105
231
227
180
118
172
110
140
234
84
137
237
215
75
106
74
106
238
151
166
165
237
209
101
227
170
216
70
188
210
179
127
187
226
118
156
230
92
114
101
96
128
104
193
77
211
175
217
169
85
100
185
172
150
168
246
215
135
161
93
200
111
117
215
248
122
214
177
204
205
236
205
150
86
143
124
239
91
147
237
196
248
169
190
99
219
118
101
129
240
156
191
170
78
203
76
123
104
200
250
92
171
154
174
126
188
237
221
151
187
84
208
164
166
247
133
210
239
94
141
227
93
216
172
163
182
208
71
119
113
72
163
142
225
153
194
210
108
195
157
135
231
155
121
104
124
99
248
116
120
172
84
136
100
197
217
181
207
197
173
222
215
168
234
111
242
161
118
149
242
157
160
114
101
84
181
141
222
166
232
224
117
145
134
123
145
230
110
147
71
213
223
200
140
235
89
177
70
86
140
249
75
181
97
213
103
121
150
212
163
184
75
214
196
156
168
141
111
176
176
202
158
108
148
207
211
159
214
176
152
192
149
112
194
159
215
105
181
237
144
89
247
241
246
96
223
153
147
72
230
202
202
185
142
90
133
237
128
196
223
224
136
85
235
237
99
217
199
205
176
156
183
204
87
204
156
206
217
221
141
210
79
80
72
244
228
75
165
142
92
72
194
104
75
177
123
223
197
117
232
87
112
77
210
249
202
197
244
245
80
137
235
237
119
133
149
125
154
70
250
209
203
175
104
179
74
119
177
167
245
139
168
241
129
159
77
223
72
85
179
202
242
92
137
242
229
163
218
117
210
126
148
215
151
250
209
220
189
214
149
168
240
128
200
84
105
139
216
82
175
116
174
237
246
225
226
146
190
227
126
82
248
77
227
134
130
212
217
76
109
82
82
129
194
122
141
216
220
227
231
185
144
112
130
227
131
224
87
168
200
126
206
146
149
134
99
171
200
143
116
109
129
82
89
81
72
165
173
172
154
114
92
235
99
183
203
97
235
209
110
201
73
176
240
126
151
92
213
246
250
120
150
184
236
156
111
165
213
119
232
141
103
127
238
226
70
77
209
196
131
209
215
87
245
149
220
75
110
102
149
76
166
121
109
229
246
144
231
158
209
128
136
185
200
101
156
184
178
163
141
85
171
110
222
174
74
160
83
80
149
225
143
157
135
223
133
134
88
158
230
135
139
135
127
227
221
85
173
185
144
133
215
105
114
226
158
173
81
244
119
107
157
174
228
105
116
208
214
200
215
103
221
160
109
214
207
103
222
89
114
163
154
208
151
183
157
130
185
145
183
122
168
211
73
233
72
208
192
140
83
240
187
212
184
238
110
195
102
122
115
176
83
165
233
120
171
174
76
90
74
147
242
207
72
205
201
144
170
117
134
179
239
241
168
169
193
118
100
123
104
218
157
98
96
164
166
218
100
153
214
177
240
99
173
94
231
91
176
82
111
80
187
87
87
201
72
151
242
189
167
151
120
232
152
73
201
173
236
145
220
247
217
108
242
94
146
230
73
179
112
237
109
129
177
189
232
115
125
96
108
175
70
196
72
174
202
231
121
123
150
97
201
151
213
184
243
137
244
203
185
238
104
235
215
103
97
220
128
219
173
136
218
246
130
233
175
80
205
219
250
169
85
164
186
245
91
182
84
166
130
237
146
231
131
213
199
167
232
181
81
153
214
169
185
79
143
89
73
235
148
189
191
77
209
225
180
237
114
188
220
191
238
170
76
112
147
210
217
240
206
124
236
83
136
206
216
90
193
162
80
106
131
75
90
193
249
157
144
179
177
100
113
139
194
179
174
132
123
80
209
104
95
81
130
185
229
151
203
142
188
153
170
175
202
200
70
230
210
183
104
81
87
141
202
182
102
116
207
111
215
135
161
200
75
110
98
73
189
95
211
219
152
211
218
129
71
232
226
121
161
118
155
75
250
239
183
167
110
189
169
152
250
100
193
99
113
211
133
233
237
114
76
221
70
99
76
156
161
120
166
249
117
128
166
75
115
72
238
138
221
107
126
178
244
80
73
96
176
238
164
187
74
223
100
111
232
104
73
250
166
165
171
193
201
163
89
248
241
179
95
83
177
113
214
72
146
74
208
143
131
124
210
183
202
110
183
219
177
198
131
221
98
197
146
168
216
106
203
129
165
194
231
227
170
80
248
159
147
244
159
148
75
177
88
165
101
198
110
239
71
190
240
224
208
244
169
169
154
198
114
244
195
73
107
116
99
147
162
124
80
102
185
182
83
134
126
86
182
237
95
167
97
168
113
219
232
204
143
185
182
102
205
207
115
79
182
191
163
89
81
110
123
205
88
207
199
164
100
73
194
96
205
128
73
118
87
139
194
99
200
88
192
215
94
94
122
138
224
157
187
198
84
176
216
232
77
124
218
178
106
121
170
187
223
232
111
101
243
193
212
75
93
177
172
206
125
104
176
161
120
183
143
70
122
113
224
92
238
129
230
228
134
121
189
188
245
73
221
87
74
236
115
188
76
105
169
229
221
171
99
235
245
249
168
102
165
96
177
135
249
145
82
249
76
192
171
96
130
125
180
187
182
245
89
204
193
85
211
97
109
198
193
174
249
182
185
166
90
99
108
207
94
161
135
98
198
90
197
211
89
189
237
163
96
130
178
193
203
122
111
179
126
250
87
213
223
220
153
73
219
126
121
150
248
168
100
115
151
88
78
79
106
240
196
111
154
205
213
155
152
101
161
212
97
243
132
127
178
191
180
150
246
87
235
164
215
206
121
220
115
70
116
221
162
146
137
136
151
148
231
91
83
224
167
91
153
150
250
240
148
207
231
202
158
137
214
71
202
121
151
91
77
80
228
176
128
99
145
242
131
177
191
130
139
203
77
127
129
118
238
157
210
147
160
75
144
131
222
235
187
147
170
92
247
94
245
154
209
201
75
247
131
161
249
204
182
227
83
133
80
154
173
119
110
188
210
140
130
209
215
79
198
122
235
89
103
186
91
242
105
193
84
155
71
83
124
141
235
93
166
75
196
181
203
189
163
248
93
94
125
143
119
106
170
228
250
82
140
72
199
206
143
191
176
175
203
126
123
174
77
96
202
148
76
112
159
207
222
145
161
85
201
211
149
152
171
209
154
142
237
213
221
99
178
194
188
188
111
244
104
159
209
147
147
196
103
248
197
197
136
106
194
79
232
81
228
118
239
98
139
126
135
145
164
150
180
118
169
108
108
132
161
130
168
199
146
239
182
145
136
107
160
235
195
183
244
193
201
225
150
248
103
111
243
211
148
210
97
180
146
220
177
171
249
192
130
151
140
165
89
189
237
193
165
179
227
138
80
165
76
167
175
127
210
71
156
151
182
232
74
246
123
107
110
117
188
147
105
164
222
186
227
145
203
244
143
234
162
181
151
112
99
90
212
192
195
226
93
109
141
207
74
204
236
99
223
248
201
142
136
85
169
121
152
235
129
151
138
197
91
157
92
230
84
163
143
108
162
173
245
82
81
83
242
108
155
131
85
228
240
226
229
123
174
110
103
139
104
211
173
120
192
130
100
246
145
237
190
163
245
152
135
245
119
120
108
76
239
95
80
139
117
124
191
196
129
138
108
219
104
218
187
134
198
88
225
138
234
243
98
110
109
77
165
75
238
80
124
81
128
201
232
176
95
224
137
187
82
238
156
214
220
249
226
234
176
102
119
133
148
73
147
140
129
237
143
196
172
89
92
98
168
92
113
149
164
109
236
169
81
197
243
207
116
77
95
167
227
114
111
185
76
189
121
145
231
163
132
107
195
153
82
213
120
177
130
224
130
138
221
233
205
173
131
135
232
249
153
219
142
189
114
106
109
188
237
237
199
148
192
117
120
200
234
235
172
179
170
234
151
135
187
181
221
80
115
197
234
200
231
148
178
151
151
223
120
145
154
195
148
107
96
177
206
95
74
88
158
173
95
225
100
115
200
246
180
148
118
235
247
98
91
175
168
197
104
194
236
143
191
162
224
76
203
212
123
160
70
166
194
181
240
100
83
236
141
180
150
204
89
109
157
126
84
122
184
219
73
145
104
174
200
146
220
106
104
76
89
228
120
104
114
153
151
88
104
239
211
93
236
151
207
157
197
178
116
187
94
145
119
151
148
249
80
88
116
104
213
132
187
235
172
243
121
172
153
118
209
233
224
109
208
196
87
165
127
152
186
178
226
116
247
115
162
86
196
120
144
145
223
246
231
232
177
137
127
147
239
241
236
86
118
175
72
226
150
79
118
163
187
225
164
171
201
159
226
125
70
104
192
198
141
155
218
120
223
125
186
85
248
156
152
124
187
126
163
135
175
147
117
224
70
228
78
249
220
153
198
72
244
190
211
126
135
132
71
174
213
125
221
191
187
229
241
235
145
131
208
93
235
196
105
228
118
186
177
187
191
237
192
242
174
176
136
124
230
139
101
126
227
237
175
245
194
105
197
162
77
202
234
72
165
242
153
82
228
173
94
215
82
219
220
118
168
121
145
183
211
84
163
156
94
152
214
83
199
241
112
111
95
201
96
156
176
111
74
107
164
142
174
74
122
152
76
180
160
187
183
189
89
116
83
243
155
72
95
202
115
147
193
71
200
94
114
246
169
154
90
222
129
247
181
102
102
167
198
122
177
206
127
89
144
215
184
200
138
241
233
215
125
169
232
124
120
209
80
161
145
75
103
176
194
114
157
219
109
195
185
199
209
72
165
231
116
241
231
80
130
191
106
156
227
175
235
75
219
97
198
81
70
235
87
85
247
175
89
202
158
187
105
91
90
245
202
213
160
191
104
186
97
137
213
108
89
119
138
168
138
116
148
131
195
156
112
228
76
175
128
230
113
120
155
191
92
79
115
110
218
188
83
228
217
163
232
85
214
156
91
174
76
192
89
111
174
118
217
150
231
91
151
201
127
91
148
122
117
157
126
151
233
94
235
247
203
241
246
165
156
141
161
166
188
192
157
77
120
85
185
70
192
153
103
212
155
132
105
106
200
97
204
192
80
172
137
181
75
77
197
145
95
218
184
146
103
139
117
87
238
213
185
96
232
246
185
199
150
173
136
102
81
105
128
130
183
72
131
249
136
239
140
110
94
232
96
97
229
166
245
104
181
78
248
141
78
169
191
163
158
243
91
129
156
163
151
101
236
239
236
175
74
186
154
185
168
230
140
198
118
156
186
233
206
184
172
84
101
243
73
126
170
178
138
174
199
126
98
182
111
124
87
182
199
169
108
213
233
161
213
164
115
94
108
225
175
180
162
189
113
225
223
239
139
219
166
86
185
217
83
205
83
94
175
105
122
71
194
94
225
124
148
99
217
178
185
220
233
118
139
90
188
203
161
73
101
197
248
233
178
120
228
82
140
194
152
140
205
117
239
73
195
249
71
213
134
249
181
169
75
179
228
186
166
239
130
72
142
170
148
169
82
96
248
179
176
130
72
190
229
243
152
136
74
173
128
175
158
162
178
111
81
76
164
219
77
232
187
120
249
146
208
246
169
191
225
186
124
100
246
166
95
150
93
142
87
140
228
93
158
88
158
233
243
227
94
129
224
152
82
186
229
155
130
75
187
219
75
130
137
238
130
184
231
115
134
211
71
145
227
145
224
231
71
240
176
201
75
177
212
219
229
86
101
231
119
228
148
236
179
230
174
76
93
145
85
111
199
78
144
124
182
89
207
230
208
185
101
237
108
243
224
76
172
93
209
191
157
167
77
111
126
82
242
212
71
166
213
240
197
147
127
100
180
107
182
169
89
183
81
221
101
85
81
244
95
219
216
233
88
80
176
178
101
155
161
240
132
149
140
77
134
188
211
222
190
203
198
129
152
231
179
160
181
93
229
85
248
179
169
207
150
170
93
235
223
196
207
234
97
186
181
80
198
93
125
148
94
154
117
149
180
101
214
214
173
166
229
196
169
71
213
184
103
90
212
110
107
189
155
110
131
229
249
126
174
227
135
156
119
245
84
166
118
228
175
189
191
250
217
169
102
72
193
152
126
195
72
81
157
193
164
179
213
210
71
192
146
80
161
73
89
109
244
222
200
186
102
138
112
94
209
95
74
159
76
215
113
238
170
98
99
187
91
237
227
233
243
97
158
193
144
147
127
250
103
218
150
79
95
181
222
153
189
192
160
84
199
93
217
227
119
209
141
222
236
117
201
183
185
135
91
145
91
168
170
93
144
88
169
215
222
125
104
223
98
107
86
131
104
241
158
82
178
185
180
183
95
185
236
78
158
199
250
86
173
129
111
222
83
152
218
147
226
220
159
220
91
216
238
177
233
84
186
199
118
154
174
112
213
191
104
88
121
75
106
118
134
248
104
97
192
211
114
131
150
129
245
100
147
89
185
233
138
187
182
164
230
99
174
99
235
209
165
122
143
117
151
243
210
235
102
108
161
216
171
247
164
122
196
123
70
220
219
116
224
75
148
101
181
142
201
89
115
151
176
85
104
77
47
64
56
37
39
78
70
28
30
61
61
55
23
79
72
46
32
37
62
34
24
20
71
51
36
53
59
64
45
39
27
24
78
67
72
78
71
33
30
40
21
57
31
48
75
21
47
70
31
75
44
27
71
55
77
42
38
58
43
63
72
30
59
29
64
50
41
25
71
50
45
20
38
69
50
52
68
22
46
22
53
55
72
42
74
20
41
78
42
75
47
80
71
76
47
77
40
78
52
49
28
52
58
66
54
67
31
21
69
20
50
39
51
69
33
40
33
73
58
38
62
80
61
38
50
61
53
48
74
35
47
69
52
80
24
36
24
52
38
32
28
31
42
64
49
20
49
39
27
77
46
69
76
32
29
45
42
78
59
24
53
25
30
33
37
36
46
49
21
36
24
41
30
80
58
52
59
54
74
64
74
57
60
48
71
41
64
22
48
79
45
33
49
23
25
52
45
48
44
21
42
39
26
49
26
78
43
67
53
51
30
25
37
35
30
22
48
62
33
43
38
32
27
50
36
26
36
55
36
52
75
36
32
32
39
28
46
27
66
34
44
36
38
30
80
74
33
25
79
23
21
74
38
43
60
73
31
76
44
80
51
45
48
62
58
42
28
49
63
71
72
80
80
51
56
60
71
60
74
23
69
47
62
38
28
73
50
33
42
51
64
23
47
58
52
75
33
56
72
27
44
24
66
80
59
74
42
53
27
68
47
32
59
55
63
36
49
52
28
67
53
40
77
26
23
51
68
70
77
27
24
40
26
70
76
21
70
22
50
64
62
54
20
53
64
78
38
55
62
52
51
29
69
24
57
41
71
24
43
57
63
74
76
32
62
31
61
58
57
26
71
28
30
34
52
73
63
24
33
31
69
41
79
29
24
71
76
57
80
53
34
62
45
20
21
64
66
57
79
50
71
71
50
59
57
48
53
38
29
77
76
32
55
31
24
24
26
67
58
74
75
57
31
55
54
41
72
36
26
62
51
62
29
40
22
25
75
48
32
30
54
65
56
35
20
61
20
30
78
46
57
63
28
27
33
79
40
70
72
66
57
30
67
47
69
67
38
67
77
59
72
71
65
78
50
64
37
32
74
28
37
39
61
36
76
46
61
31
34
40
20
36
26
55
58
75
30
52
41
24
75
23
78
31
25
51
28
22
22
34
58
21
42
40
53
62
65
61
42
40
48
56
29
43
33
78
74
32
37
63
32
63
53
36
72
38
79
40
65
22
52
51
63
28
31
37
46
49
70
32
63
58
44
60
65
75
80
31
42
54
66
37
32
63
77
33
51
20
21
36
74
55
21
25
44
33
78
39
78
52
52
25
69
40
28
23
49
44
75
51
71
77
79
73
56
59
72
31
32
40
63
65
80
26
51
41
21
78
56
54
27
42
55
78
56
23
31
25
31
79
61
70
54
36
61
57
53
23
28
78
28
80
65
55
24
24
40
65
64
40
25
50
22
57
40
61
73
58
72
39
50
75
70
60
58
60
53
20
47
42
76
25
39
58
53
23
61
72
37
58
25
63
47
55
64
75
77
53
35
34
26
47
32
69
61
42
22
23
50
74
60
23
26
44
22
39
68
20
66
43
49
58
42
50
57
56
40
27
33
20
39
28
25
39
20
28
39
22
57
58
70
47
51
76
25
37
51
72
26
72
55
22
72
52
61
47
80
54
72
69
68
40
50
67
22
37
26
59
73
26
33
25
23
71
64
31
34
63
54
63
56
68
26
54
39
29
48
25
79
69
73
24
76
58
27
39
71
66
27
22
71
41
38
41
64
43
28
41
41
65
26
48
48
53
21
76
59
79
37
24
22
75
26
59
30
57
33
63
28
79
73
44
57
24
59
25
59
44
68
70
80
61
69
66
73
22
34
54
74
25
68
31
71
79
69
47
31
80
58
27
67
37
53
27
36
78
34
22
48
26
43
46
74
22
48
46
53
61
29
37
57
35
65
22
80
49
75
44
38
46
61
65
24
37
60
50
42
21
47
68
48
57
27
69
75
59
60
49
56
52
44
54
59
67
65
43
47
54
42
38
23
37
35
38
46
56
47
71
77
22
55
53
50
76
63
52
46
35
31
20
43
26
36
73
61
39
44
45
31
70
66
59
60
69
54
65
61
53
20
80
72
61
28
39
58
66
28
77
24
70
51
23
36
79
62
71
36
50
65
31
25
69
51
80
36
27
73
48
53
52
72
64
80
36
25
78
58
59
33
30
73
24
27
54
59
35
76
64
68
56
66
52
20
58
28
36
34
63
51
24
38
29
45
46
67
73
60
74
78
74
21
53
20
42
34
22
65
58
48
80
72
59
31
66
45
53
23
25
51
58
43
45
36
27
54
58
25
72
67
47
80
52
38
24
55
53
62
37
68
39
41
55
48
31
61
20
24
67
63
46
46
37
20
31
50
71
51
65
72
61
51
79
64
34
50
63
34
73
73
31
67
62
20
68
72
21
71
40
26
60
22
66
73
80
80
79
42
75
51
67
32
36
74
65
40
54
74
51
78
31
55
30
64
59
59
69
70
62
22
45
42
75
36
35
35
68
75
65
35
32
65
36
54
49
72
30
50
62
43
35
35
31
63
69
62
73
59
52
28
24
64
23
22
59
22
61
29
52
75
56
50
68
55
28
30
43
46
31
59
55
29
48
70
73
37
45
74
61
23
38
22
48
70
37
54
51
80
23
36
71
45
40
68
66
45
59
38
39
38
28
75
20
44
65
68
21
76
43
73
68
74
72
78
33
53
35
77
22
55
41
79
39
64
24
46
43
29
47
33
24
33
31
66
52
57
26
23
70
73
60
69
55
27
36
48
43
21
66
21
47
39
68
78
31
56
56
66
58
42
67
74
62
32
59
53
56
71
39
29
68
53
80
56
55
33
79
29
24
61
47
54
32
38
20
55
35
73
20
47
73
73
54
77
43
46
22
74
52
74
62
63
55
44
43
39
23
30
74
22
24
47
64
27
73
29
37
48
31
31
72
80
64
27
64
74
25
56
55
63
57
39
80
32
24
37
25
46
32
37
53
70
66
47
52
50
58
46
23
61
56
31
68
33
43
21
48
52
30
58
59
26
29
21
27
76
66
56
21
30
22
40
44
51
63
62
42
41
25
75
75
21
53
42
45
67
26
51
65
34
67
36
65
25
52
35
46
66
63
45
62
21
29
68
20
72
27
32
59
29
67
77
68
30
24
40
76
53
73
50
59
69
35
41
36
22
45
75
22
79
42
52
47
25
44
20
56
60
38
30
30
52
32
52
57
65
62
47
79
51
43
66
24
36
36
63
20
76
54
77
21
68
20
55
37
55
67
56
42
45
80
56
61
56
32
26
77
32
46
29
80
28
46
26
27
60
23
22
29
38
35
63
31
24
47
25
78
45
66
74
23
62
47
67
66
78
80
55
51
75
52
52
21
28
29
35
22
47
30
37
31
38
26
73
73
51
77
59
76
60
69
60
49
44
53
53
76
63
58
54
47
64
60
50
21
30
31
46
62
64
60
66
43
29
42
49
50
49
32
60
77
36
30
54
44
45
57
27
64
66
72
43
33
76
73
43
44
60
32
49
67
58
56
31
22
52
79
62
72
67
49
55
32
54
70
22
78
29
47
66
46
62
77
73
73
59
39
33
43
43
60
44
33
21
61
26
46
75
61
43
52
43
70
66
67
27
70
38
63
50
70
27
44
59
38
21
36
54
33
21
44
52
77
71
55
45
80
51
34
44
32
63
52
24
53
44
50
32
71
22
41
65
33
46
21
52
36
57
33
40
73
30
35
43
56
76
62
66
29
62
24
64
38
42
50
77
58
50
49
73
77
70
68
74
24
31
71
62
80
49
39
72
22
57
50
40
73
62
33
59
62
36
40
49
20
67
31
77
51
65
62
50
58
80
25
66
46
72
51
53
25
76
48
67
25
33
48
67
45
46
42
62
35
44
76
73
69
37
74
26
66
41
57
60
35
27
50
73
76
77
50
78
47
53
64
46
61
76
53
27
66
22
54
73
55
50
61
51
63
70
69
80
27
25
49
27
45
47
64
58
22
34
51
49
24
54
36
28
32
24
80
60
80
63
36
29
51
64
43
56
42
70
33
66
44
62
77
61
21
30
25
57
76
39
40
25
75
29
70
34
61
46
39
79
21
55
74
45
62
29
52
50
53
65
37
44
77
36
30
25
28
29
69
34
55
30
75
37
48
56
45
74
49
52
67
53
78
40
74
37
44
74
79
43
20
47
69
53
54
47
42
27
49
57
41
29
35
33
41
32
80
32
42
23
53
58
64
46
44
44
44
36
20
46
71
41
70
65
78
65
42
57
75
49
25
80
24
41
48
46
54
41
69
38
61
38
38
26
29
77
62
49
72
24
51
44
54
65
57
35
52
77
27
47
54
20
77
60
39
76
30
67
60
38
62
71
65
38
31
33
55
32
68
26
60
20
72
44
46
71
61
53
31
55
21
58
54
64
41
23
44
45
44
59
67
23
31
76
38
58
66
43
67
33
63
42
69
61
28
25
63
59
39
80
50
20
59
48
74
21
25
66
21
71
49
77
29
32
78
37
61
29
58
36
51
38
24
51
75
58
69
49
63
34
77
53
70
41
67
71
79
64
37
60
24
57
36
75
28
21
30
52
58
56
60
60
24
35
35
25
68
40
49
54
49
27
46
27
21
61
57
47
80
51
26
39
44
63
27
57
59
24
67
34
29
64
43
54
74
72
31
60
61
48
22
26
80
32
35
23
65
71
23
66
58
80
80
36
56
74
74
41
63
70
80
68
68
60
36
31
23
36
22
23
29
72
33
48
34
63
75
52
20
46
21
40
75
30
26
60
24
41
62
45
37
27
58
50
34
28
41
72
67
46
61
49
29
30
40
23
22
60
72
48
36
36
21
60
26
58
74
61
78
29
70
24
24
26
46
76
37
45
26
78
67
51
70
72
31
42
65
62
40
37
31
57
30
46
64
48
46
23
31
46
26
30
77
69
71
39
54
56
25
48
22
72
63
56
74
24
56
52
39
37
47
48
55
39
60
50
71
46
66
59
25
65
49
76
22
53
53
39
20
36
58
65
74
71
35
25
73
59
67
69
63
64
65
38
64
36
37
41
79
47
35
45
69
72
22
79
40
62
29
30
71
39
62
24
49
70
66
44
52
26
65
42
51
29
38
36
58
73
71
36
60
47
80
73
79
63
33
70
73
48
26
69
73
50
21
46
39
41
75
49
69
78
30
69
35
24
78
54
69
65
44
52
63
51
50
51
72
78
37
64
43
59
46
28
72
33
72
48
52
43
41
71
65
29
45
51
52
33
39
50
66
72
53
45
35
48
31
41
51
20
58
28
50
36
61
62
29
80
68
36
66
78
40
62
22
36
56
28
55
32
45
57
25
59
29
59
42
37
66
52
31
64
45
49
47
60
50
57
69
41
77
55
56
28
32
42
67
35
64
53
32
57
67
64
76
78
30
24
61
46
64
24
23
45
20
33
20
75
80
66
51
22
42
51
45
59
72
51
50
62
77
53
31
36
59
50
39
66
80
23
74
33
54
51
40
58
60
72
79
27
39
41
55
55
79
58
32
57
30
48
29
77
67
21
69
64
51
23
48
75
79
79
74
34
21
55
48
67
32
38
76
46
75
48
68
41
50
33
65
37
44
60
22
46
54
28
39
80
53
27
24
39
48
43
53
50
47
22
47
58
72
31
40
58
34
44
49
54
29
48
56
62
39
77
28
25
68
72
80
51
66
40
65
64
73
47
72
72
63
51
76
45
20
55
33
65
44
69
49
31
31
53
58
41
69
34
44
65
64
43
42
38
50
77
41
49
42
66
28
31
52
41
73
54
30
69
80
25
39
50
30
66
30
47
31
62
57
66
76
72
72
73
32
43
38
51
44
70
58
70
57
68
41
39
26
72
76
33
70
31
60
35
38
72
30
21
77
20
74
68
49
32
62
45
40
43
64
43
37
62
28
57
62
42
50
76
69
42
22
46
38
45
60
24
36
59
63
60
42
64
80
23
36
50
32
22
52
46
42
77
74
48
56
57
59
43
73
74
24
77
52
50
55
39
31
67
68
77
58
25
62
25
64
57
28
58
76
77
23
27
40
58
70
45
77
62
53
32
26
60
36
41
72
46
67
62
75
59
37
60
56
76
68
62
31
29
56
38
57
73
30
26
54
61
71
48
29
64
21
34
32
21
33
67
34
57
72
43
78
56
60
55
62
33
46
22
60
80
61
49
34
63
65
36
64
73
38
31
29
25
39
21
42
50
62
44
74
68
73
67
45
58
44
40
49
78
38
75
60
56
52
43
76
25
35
65
72
70
53
22
31
50
53
46
60
36
38
74
56
74
55
31
40
41
61
75
35
45
54
73
56
52
60
71
27
41
36
68
59
31
39
42
40
27
71
54
69
46
59
42
79
80
39
57
58
21
38
44
69
42
28
70
53
22
28
62
52
56
36
27
58
62
35
40
52
35
24
25
60
36
51
21
34
63
55
58
50
67
70
34
39
44
60
37
21
30
37
53
61
71
65
31
59
67
33
45
64
38
24
73
71
35
57
31
54
57
62
62
57
28
66
63
62
74
74
68
50
44
44
72
62
40
76
79
49
40
71
29
59
33
57
45
25
62
37
40
20
60
74
48
24
74
38
55
23
27
70
44
38
65
27
37
31
34
56
69
77
72
76
50
41
42
27
52
79
60
68
37
28
27
75
46
23
27
68
52
69
34
60
70
59
57
48
21
26
35
53
54
49
62
73
76
74
71
61
47
79
57
48
36
74
38
77
70
67
59
55
64
71
78
23
20
62
74
63
21
70
40
36
77
20
74
39
63
40
24
25
63
24
63
56
54
49
69
72
61
76
68
30
47
28
48
31
32
50
74
24
63
27
21
22
26
66
77
46
70
33
20
34
24
73
36
26
62
41
55
72
26
76
31
41
62
53
25
47
40
65
58
30
56
38
42
46
48
48
40
47
67
26
50
35
45
71
30
67
25
29
44
61
76
56
34
40
53
26
71
67
39
65
55
77
76
50
41
34
56
71
67
31
28
56
40
33
56
53
51
62
66
20
44
71
41
22
46
71
32
52
74
59
31
25
36
68
49
66
49
52
61
63
32
53
35
66
52
62
36
66
80
67
79
51
74
56
22
51
52
31
37
28
24
49
40
45
29
25
59
55
39
60
75
37
70
24
46
53
28
49
73
44
63
71
27
28
26
27
34
60
41
49
54
71
33
26
63
80
21
63
40
27
53
76
27
58
53
37
35
21
37
54
24
62
52
61
66
42
40
26
41
21
44
71
74
72
38
36
80
48
29
26
31
75
67
32
70
23
63
52
55
50
77
28
77
23
20
55
57
38
25
60
46
52
53
41
55
41
63
50
61
29
69
42
58
26
68
55
40
34
21
24
53
23
65
69
44
77
79
74
65
77
56
68
39
36
78
49
28
59
35
71
34
77
44
67
55
49
75
63
29
20
65
25
33
54
49
64
27
70
39
25
63
70
30
22
52
53
50
75
40
64
33
76
28
33
20
42
45
61
46
32
55
63
50
75
40
79
77
38
29
68
65
75
32
52
26
57
67
25
35
29
57
72
34
23
22
65
64
23
77
44
43
59
57
42
69
60
63
66
24
47
58
46
55
74
28
49
42
77
46
35
40
36
73
72
25
46
64
55
32
67
61
77
34
72
72
59
52
74
53
70
65
58
40
46
70
78
52
53
66
54
50
64
29
51
56
41
46
59
25
63
28
76
78
30
20
64
22
34
80
25
54
64
58
39
54
32
66
55
22
74
22
39
41
41
67
25
37
57
51
23
34
73
70
23
41
54
41
28
41
31
23
32
35
33
77
37
45
54
28
75
67
79
46
23
45
73
65
62
43
58
61
58
49
32
61
29
25
34
73
54
37
73
62
43
44
22
23
45
60
21
22
32
24
38
74
67
29
40
22
61
36
43
71
51
25
70
24
45
55
71
63
68
55
51
62
44
28
27
27
35
28
48
78
65
54
58
25
64
37
36
43
24
24
57
74
27
49
42
59
35
28
31
23
41
48
53
21
44
40
78
43
21
42
48
70
67
35
74
21
60
38
36
76
21
33
67
79
26
73
58
48
58
61
78
80
72
77
63
64
42
25
56
66
44
80
53
29
60
59
53
36
52
74
65
20
23
78
50
69
58
40
69
38
45
48
53
57
41
59
56
24
78
20
56
23
77
44
59
27
58
22
58
73
51
33
78
49
22
62
26
58
52
54
24
70
44
43
24
80
40
54
36
29
73
43
53
21
22
78
33
66
45
75
29
24
59
57
20
25
69
34
61
46
78
65
62
26
26
56
22
51
69
37
30
41
59
21
66
73
56
67
49
37
35
44
50
44
34
37
28
34
31
62
36
68
66
42
57
64
37
21
60
47
37
29
27
60
38
42
52
75
33
71
53
31
41
75
68
66
58
58
46
27
40
48
56
67
48
21
41
50
35
40
74
51
40
80
53
67
71
73
34
62
38
57
52
54
38
63
47
73
40
33
46
74
80
21
21
70
66
80
51
52
79
54
53
54
51
68
80
73
29
66
42
75
40
35
43
57
77
71
68
62
43
61
79
48
72
36
58
38
73
36
53
28
70
41
52
73
63
67
65
43
47
42
40
27
43
26
30
66
48
74
58
32
35
22
47
44
63
45
80
29
46
27
31
74
34
63
34
70
62
54
52
33
22
36
23
46
50
71
63
40
65
25
21
78
28
25
22
78
20
67
80
56
65
62
27
58
79
49
72
59
42
68
67
34
25
52
45
30
54
25
51
68
69
36
26
55
57
37
29
68
65
37
80
35
37
74
30
63
33
35
76
46
80
56
58
26
23
61
48
38
21
35
62
39
72
29
77
40
53
51
32
54
38
35
50
73
29
67
23
69
52
29
62
29
36
66
48
28
65
37
49
22
73
36
53
44
35
62
43
75
52
37
50
32
37
48
73
38
57
49
42
55
39
74
79
29
36
57
48
73
60
70
22
22
68
41
45
36
77
40
33
63
59
24
34
22
34
59
62
69
23
52
34
43
36
63
44
35
39
59
49
52
80
24
46
67
35
61
25
59
21
52
25
54
65
30
75
63
63
31
79
29
67
52
29
78
51
62
62
70
62
77
79
22
27
51
51
57
78
31
58
38
63
50
68
44
70
25
63
68
69
40
42
61
29
65
54
40
47
76
78
20
33
22
34
31
53
52
71
24
39
20
70
66
40
62
38
51
23
26
32
43
42
64
74
24
60
54
57
51
44
77
79
28
70
22
69
27
51
47
76
57
21
40
53
20
72
66
38
42
22
29
29
39
55
36
67
46
38
24
55
52
76
26
68
54
70
71
21
27
61
42
35
71
75
71
40
45
51
49
42
34
52
56
64
26
77
38
78
68
77
48
55
27
32
48
27
29
38
58
68
72
80
31
20
22
63
58
61
31
56
52
44
45
50
69
56
21
31
27
36
76
24
53
66
79
65
77
79
37
27
61
63
41
50
70
70
30
26
33
37
61
74
76
33
22
56
41
47
52
27
21
20
77
38
27
80
44
25
58
38
23
23
30
78
26
77
23
31
40
80
62
49
69
64
71
23
62
23
69
59
73
49
42
44
65
43
46
78
61
36
38
69
47
56
55
20
64
55
55
62
59
55
68
30
44
80
42
34
58
65
65
22
22
79
44
77
44
21
58
66
66
23
61
50
65
71
73
74
34
28
35
33
39
78
62
38
65
74
51
70
58
76
61
25
27
79
28
51
55
31
74
66
65
68
34
80
26
24
39
33
57
38
31
65
49
56
35
60
79
32
78
49
56
34
64
79
65
62
54
43
59
23
24
34
64
32
59
78
50
45
36
72
61
70
51
26
34
77
64
24
72
66
57
35
56
77
77
26
74
75
57
77
21
66
66
23
34
61
71
51
38
30
34
42
79
29
30
59
80
45
71
40
73
25
33
54
21
69
35
61
30
20
67
32
21
53
65
27
29
69
58
24
58
32
35
27
48
32
43
51
52
34
56
28
53
49
43
24
73
37
62
58
21
74
68
50
20
62
28
28
39
77
79
61
49
30
47
20
72
42
35
74
38
45
40
77
43
28
40
76
80
68
38
51
53
74
40
41
30
79
70
68
50
41
68
78
31
47
64
20
75
31
73
78
25
33
35
72
27
60
78
61
24
72
78
65
47
69
74
71
48
20
45
51
25
43
45
66
74
42
67
43
45
32
51
70
29
38
65
38
79
73
78
62
23
38
79
22
44
72
47
34
33
65
60
42
23
71
64
30
47
70
42
44
20
74
59
26
74
35
61
68
80
68
27
33
43
79
27
78
40
50
23
74
73
29
54
76
66
25
53
38
28
26
70
29
59
45
61
51
60
35
54
51
35
66
52
79
66
57
65
70
63
66
28
56
43
30
49
79
30
58
35
42
71
51
51
57
29
56
62
20
38
62
25
80
33
34
23
33
71
57
37
55
36
66
66
20
74
38
41
25
50
64
40
66
33
77
20
64
35
61
24
20
69
36
24
59
35
38
73
57
35
48
65
80
62
30
65
69
79
28
59
57
51
65
79
30
32
23
78
79
51
32
61
41
60
63
78
32
73
72
28
49
56
35
70
26
38
69
56
62
75
25
58
70
50
21
25
65
44
67
59
68
34
78
34
79
45
33
61
33
44
72
59
58
65
25
61
66
78
23
30
20
20
31
38
67
42
73
21
50
76
35
51
57
67
77
44
59
60
47
33
42
36
72
59
74
36
26
57
46
47
50
54
57
60
25
45
59
73
78
58
55
31
23
73
59
23
23
61
27
57
30
44
72
66
70
73
79
26
69
33
27
25
33
38
26
43
26
59
34
63
62
44
60
24
78
29
33
49
28
31
58
73
62
35
56
47
38
53
34
24
71
55
49
51
62
79
38
65
53
43
26
73
37
64
55
21
67
78
78
24
76
44
67
68
52
20
52
78
49
46
65
29
21
76
39
77
78
32
78
39
75
68
38
64
58
23
67
50
28
55
62
75
70
52
43
28
34
31
64
51
25
35
79
32
76
26
27
52
48
68
32
42
59
64
33
53
63
51
71
49
74
74
74
64
24
73
35
27
38
59
47
58
23
66
28
54
62
66
56
36
46
54
59
57
52
65
22
65
34
27
54
30
58
24
76
30
42
31
58
28
39
63
42
20
56
46
27
26
40
44
78
67
54
35
48
65
54
67
68
30
50
72
32
72
25
74
74
75
27
47
55
47
25
77
43
30
57
74
65
26
45
73
66
75
49
77
39
23
68
37
50
66
37
70
76
22
30
31
48
39
34
21
80
62
26
45
53
38
41
57
79
64
76
75
42
24
47
50
71
69
52
73
22
64
52
61
27
45
34
32
73
34
26
36
62
61
65
49
32
28
31
54
39
33
72
26
52
48
71
25
52
57
30
34
49
43
65
76
76
48
20
68
33
41
55
33
35
49
31
69
50
74
70
31
24
63
20
68
20
75
73
25
54
63
73
75
61
43
21
48
66
74
42
30
77
45
20
71
41
21
20
29
43
28
55
34
23
58
76
66
52
53
24
36
39
26
59
22
41
51
80
46
21
33
34
51
39
33
21
65
50
30
78
50
41
69
34
74
70
77
67
37
20
57
80
53
30
57
34
35
62
27
49
52
65
65
20
34
58
46
75
72
26
26
30
53
72
34
57
77
51
70
24
39
57
42
65
63
42
22
47
31
48
23
77
36
37
56
31
74
61
26
32
70
55
32
29
21
33
28
27
74
47
43
23
30
53
51
67
24
45
75
43
40
41
80
51
51
39
69
75
28
57
25
77
58
39
33
22
26
80
65
68
51
73
50
47
21
54
74
37
62
77
47
24
62
80
56
21
74
53
64
72
71
69
28
54
50
32
20
27
45
55
21
36
29
66
71
52
22
76
39
27
74
39
34
64
48
26
74
63
57
80
45
65
63
78
76
23
32
42
55
35
66
57
59
54
40
64
35
48
48
55
64
34
25
40
73
71
55
52
43
54
75
55
54
31
64
46
66
73
67
37
57
57
74
45
44
38
52
79
70
47
20
33
74
49
24
57
59
69
47
43
67
50
29
68
22
67
32
65
21
22
54
31
46
45
23
35
45
26
63
44
73
62
51
22
22
29
52
62
76
25
45
62
70
48
60
44
25
58
72
44
53
30
50
78
25
72
28
63
34
48
43
52
29
28
67
35
77
71
76
28
57
21
49
57
43
20
69
21
46
40
25
47
67
53
73
72
44
39
64
74
44
51
48
72
30
45
59
80
45
69
70
41
46
53
61
78
41
69
80
35
55
46
59
27
51
25
43
36
76
41
41
51
68
43
43
78
75
44
41
41
66
29
58
37
31
27
64
31
55
74
26
35
40
63
37
52
63
59
57
21
55
28
63
31
70
54
34
72
34
64
77
66
77
80
36
71
77
58
46
80
26
57
66
23
51
74
77
59
75
72
67
75
56
79
51
42
29
68
28
49
23
27
33
40
62
57
66
33
23
65
30
28
80
40
64
33
57
51
77
60
45
39
68
47
74
67
76
47
75
76
46
75
26
73
49
51
20
73
73
24
22
77
46
65
67
24
49
37
20
31
43
22
49
60
68
20
79
73
33
54
50
31
34
30
43
70
80
23
24
26
23
46
59
31
30
35
39
60
78
67
70
54
72
50
21
67
29
49
22
67
34
60
78
72
27
51
33
50
30
79
41
64
71
43
54
37
28
59
34
63
27
50
58
33
52
42
39
62
34
72
64
43
21
40
54
65
60
44
24
22
52
63
68
27
58
75
25
61
45
80
79
47
80
71
49
38
28
77
43
75
43
51
26
73
26
52
55
55
32
20
80
80
39
69
66
36
68
76
79
37
58
63
41
39
46
36
79
45
41
31
31
44
45
55
23
24
39
37
74
73
71
23
63
22
68
34
77
55
80
68
58
40
42
33
53
31
48
52
59
65
50
61
59
70
38
62
37
72
66
53
61
73
39
70
39
54
45
51
46
52
23
35
74
54
51
68
61
40
79
49
41
74
42
53
41
53
32
26
61
57
64
57
32
24
30
75
70
24
61
48
51
59
27
45
34
42
46
33
34
42
54
54
24
66
31
62
32
79
20
26
62
24
59
74
62
43
71
43
29
62
55
61
42
20
26
30
29
28
34
54
42
66
40
48
41
21
79
42
66
54
23
59
69
68
70
35
80
50
23
69
74
34
21
64
33
41
52
20
31
75
27
64
43
25
68
74
71
21
25
59
40
20
34
53
74
46
58
61
58
43
23
41
72
43
55
74
67
50
65
30
41
62
50
78
51
33
26
40
61
62
72
49
79
51
60
60
32
49
65
48
54
24
39
31
74
57
54
79
75
60
47
70
66
52
36
52
25
25
80
22
55
44
59
43
30
68
37
70
62
65
58
66
35
73
75
52
79
36
29
27
62
55
56
24
80
21
72
20
47
40
38
78
52
63
20
24
44
49
39
52
78
47
65
67
59
58
39
34
39
26
63
36
54
21
60
62
57
68
47
63
45
52
21
53
26
72
26
51
44
27
52
50
25
66
63
22
27
47
33
24
54
26
68
44
27
26
34
69
28
30
27
33
20
49
29
36
53
35
41
66
33
51
49
36
60
50
62
54
58
41
42
38
58
65
58
24
60
47
73
34
56
70
76
40
31
79
73
44
47
70
40
58
29
75
40
26
48
60
51
25
70
52
53
38
74
72
50
43
63
64
59
68
38
78
74
57
58
40
53
49
31
35
67
71
47
27
20
38
29
42
76
25
23
69
69
25
46
43
76
62
31
77
51
45
27
20
28
45
38
20
37
48
63
27
21
22
62
73
49
73
73
72
59
65
71
25
48
28
62
23
42
20
26
62
49
74
33
30
79
25
61
49
77
35
53
66
52
47
23
80
70
41
64
57
60
20
69
40
53
28
73
80
73
38
73
60
79
66
23
42
63
72
38
43
78
80
78
38
59
27
44
60
31
25
36
55
27
50
27
66
29
69
20
24
33
20
40
80
49
59
73
20
73
31
67
80
60
66
21
40
53
21
21
57
35
72
67
55
61
43
64
33
79
75
63
43
20
69
47
48
58
73
73
39
76
41
66
64
26
78
31
55
54
69
41
53
42
67
55
71
45
27
62
68
69
30
51
36
42
58
32
34
55
35
27
36
46
63
78
32
69
30
72
46
57
28
35
32
48
33
29
55
73
38
61
72
49
44
74
57
42
62
68
73
75
56
63
29
60
34
21
43
60
60
27
36
76
76
42
61
74
73
33
71
28
36
30
26
40
57
27
52
29
79
20
24
54
79
57
73
75
53
68
20
67
46
66
72
68
24
75
74
79
22
65
43
75
71
33
30
52
32
48
55
22
60
22
63
42
68
53
63
76
48
39
38
69
73
32
52
77
79
57
58
65
30
74
70
34
71
59
26
63
35
44
30
70
78
51
65
79
73
61
75
80
78
80
73
76
74
72
26
63
70
27
80
25
30
65
62
67
57
64
56
32
76
29
46
48
76
69
27
68
29
32
68
66
47
64
79
36
61
51
77
63
39
53
58
26
42
30
70
44
56
74
78
50
69
38
50
75
56
68
57
71
38
25
41
70
62
32
24
26
26
74
65
59
47
44
29
29
47
39
62
46
65
22
62
27
48
50
31
20
49
46
23
33
29
46
77
66
24
28
33
64
51
49
33
44
65
59
36
69
20
46
35
37
66
47
32
45
77
46
75
25
68
44
72
59
72
74
21
62
38
56
54
53
39
37
68
30
33
41
41
48
41
79
38
43
55
44
72
74
47
27
30
31
50
28
46
20
79
21
75
27
51
37
23
32
75
22
70
29
79
36
55
33
54
40
57
24
49
73
27
74
80
74
38
73
68
80
65
22
49
44
28
49
20
77
44
27
45
46
35
22
69
22
46
28
68
80
69
43
49
41
28
39
37
23
61
35
62
21
59
78
33
77
37
21
29
66
50
53
65
40
56
36
25
40
73
64
36
66
46
62
40
58
44
45
43
43
28
29
77
53
48
65
57
67
51
32
28
76
58
42
41
59
35
73
56
67
72
23
78
76
34
68
56
59
76
66
70
23
32
46
59
57
51
45
78
38
76
58
50
76
57
52
66
69
41
29
20
47
60
64
43
38
55
33
74
44
43
33
44
34
21
71
20
22
49
30
50
25
24
39
23
38
52
69
28
61
64
26
78
49
36
76
71
27
74
47
61
75
61
31
40
59
41
58
28
58
20
31
49
58
67
54
31
22
31
57
22
67
63
46
79
33
60
78
76
28
40
29
39
25
67
57
45
46
53
68
31
59
33
55
80
23
76
41
54
39
51
72
31
42
56
51
26
39
40
21
38
25
58
27
68
70
64
59
27
69
80
44
52
56
31
71
39
64
39
78
58
22
57
21
41
69
44
70
80
52
57
53
75
60
70
72
67
24
80
63
73
52
80
28
37
40
48
55
74
74
79
39
71
63
53
31
38
34
31
45
75
36
31
46
50
80
52
32
32
64
75
42
50
67
20
76
22
54
61
52
76
20
29
67
37
71
71
37
57
28
42
53
45
22
37
43
29
37
77
74
25
23
62
63
49
76
35
31
55
34
24
27
23
28
77
36
65
30
78
55
25
40
64
78
55
60
41
63
73
26
30
31
23
59
44
33
51
65
62
73
28
63
78
35
65
35
52
80
31
80
36
59
48
77
71
72
28
31
41
35
48
80
70
44
29
57
35
55
24
53
44
79
42
21
45
40
48
52
21
59
70
46
75
42
21
59
63
44
30
62
33
22
66
43
39
48
35
21
41
59
73
67
40
33
80
36
60
71
72
30
24
75
38
78
41
36
49
78
59
51
48
70
39
77
42
34
71
39
55
73
42
47
71
37
55
21
45
47
77
35
45
67
76
72
61
60
78
41
62
78
25
52
61
26
74
79
37
63
21
57
28
66
67
40
56
46
64
44
52
67
64
27
36
79
32
32
71
73
71
67
66
61
30
51
31
31
51
52
48
50
79
76
29
76
35
35
42
55
67
68
66
67
62
61
56
52
46
64
77
52
70
149
154
198
134
198
245
120
78
159
118
78
193
206
168
154
174
194
249
158
150
184
219
177
221
169
101
188
187
70
177
100
111
153
207
140
142
143
70
190
243
129
222
161
221
131
90
178
222
181
206
105
71
222
177
157
128
141
91
160
178
165
134
183
188
206
95
106
105
93
181
123
124
201
178
151
204
135
192
246
241
246
216
142
207
152
92
125
133
75
161
141
105
96
162
115
149
245
107
157
234
124
89
186
102
212
246
71
112
244
92
111
82
171
181
104
235
205
99
184
221
107
106
86
206
232
83
125
113
205
248
211
142
149
135
198
209
211
103
184
116
230
83
108
95
185
236
104
231
158
197
195
232
224
227
219
110
153
108
244
221
112
136
147
116
163
112
176
99
121
222
183
168
135
201
124
199
189
191
88
187
81
228
71
238
229
157
92
194
135
214
234
159
176
179
226
203
201
152
112
146
94
185
165
239
191
135
149
109
163
208
177
91
80
143
207
100
214
110
227
104
217
174
115
91
244
97
205
210
118
161
142
125
214
132
238
247
140
215
172
76
138
158
151
229
238
230
209
77
180
107
197
80
232
119
179
213
231
140
80
139
98
139
176
148
107
112
219
179
78
248
122
77
101
210
83
135
203
162
135
158
238
120
239
98
203
105
76
71
223
177
141
190
171
186
96
79
222
79
92
134
222
111
144
249
104
235
95
107
132
87
105
249
109
127
93
224
164
246
210
174
170
219
109
194
189
128
172
76
215
199
180
215
208
145
145
136
223
148
155
121
248
158
111
88
97
124
176
177
193
157
140
159
115
215
139
247
142
119
244
104
110
178
138
237
188
230
127
227
203
143
95
201
200
88
204
107
184
196
81
96
149
121
227
154
157
226
106
83
155
202
148
232
138
180
206
139
165
225
83
192
112
147
227
219
133
230
148
237
214
227
128
91
173
108
200
149
151
166
78
128
81
193
227
146
82
235
108
227
76
116
150
208
245
117
162
111
90
206
197
233
72
217
103
81
242
192
202
240
214
238
90
133
219
132
217
70
155
91
220
233
105
166
209
171
139
197
211
160
123
222
250
225
232
199
156
72
145
145
131
121
73
198
120
202
125
132
162
92
190
163
196
248
148
174
219
158
155
210
182
179
136
172
169
81
113
145
107
182
73
248
132
132
184
128
170
186
103
248
83
106
214
105
238
77
208
97
171
249
82
201
231
243
179
229
150
188
88
128
98
231
217
232
153
215
185
159
172
143
142
140
178
176
145
205
139
139
222
231
195
76
128
241
221
238
204
169
146
149
107
171
233
86
95
213
145
71
180
107
233
178
145
179
123
249
200
101
114
99
82
182
133
179
198
244
165
157
154
250
189
102
94
111
116
109
175
198
105
184
78
179
94
135
124
249
236
235
126
201
250
127
200
228
119
194
117
162
214
211
229
80
115
231
172
221
150
80
115
93
170
88
240
216
220
121
90
237
126
117
111
175
80
144
118
81
71
99
170
114
151
244
180
118
185
108
246
249
166
224
223
139
95
206
139
139
239
167
125
140
82
184
108
102
230
100
138
130
106
186
131
159
187
127
124
134
222
235
99
160
200
169
175
248
79
135
181
217
241
115
156
246
176
128
122
94
77
82
186
135
205
221
146
149
145
165
122
207
103
169
184
217
71
214
180
139
250
110
219
161
120
206
141
92
130
246
75
142
193
86
188
229
121
79
173
243
250
164
229
155
133
216
104
75
247
220
79
210
93
206
220
105
163
233
75
92
243
242
170
200
199
179
206
231
131
193
245
119
242
125
161
136
162
191
161
204
215
165
226
219
222
73
163
168
199
212
197
139
138
225
93
140
208
232
108
112
110
104
120
186
156
138
74
107
110
163
150
74
218
109
139
100
175
235
197
108
113
174
122
250
118
177
83
77
137
143
91
132
242
199
161
84
88
200
190
209
234
214
123
235
106
139
76
108
85
120
93
218
213
210
184
164
186
207
246
163
147
173
197
177
203
235
174
170
162
180
232
220
87
249
214
140
242
199
71
87
170
71
219
216
233
150
226
70
203
178
100
146
103
222
129
202
182
224
175
246
220
209
238
135
115
99
142
85
118
216
231
200
166
186
157
109
217
96
181
230
190
152
205
70
142
100
162
104
228
246
186
172
100
137
96
98
137
120
189
187
142
89
80
101
144
179
148
197
137
237
124
175
79
139
219
143
75
130
154
152
186
153
131
203
84
195
203
200
173
127
241
123
197
223
97
201
239
121
139
140
227
150
220
123
93
102
193
230
214
85
167
133
171
132
153
143
72
113
237
245
98
208
93
105
221
96
198
94
171
104
103
228
203
154
152
103
148
201
147
83
110
212
197
152
228
84
141
139
92
217
243
204
161
187
103
219
171
101
98
172
145
100
231
94
197
121
146
198
120
196
227
146
154
72
157
137
166
171
116
99
197
146
73
74
163
101
168
155
153
197
77
107
115
92
141
203
147
140
147
148
211
130
219
201
217
197
237
98
91
71
171
103
170
216
238
87
210
240
195
136
102
242
89
77
211
185
248
79
167
245
126
199
128
174
232
105
190
110
158
236
90
75
214
194
217
181
73
85
228
235
132
77
147
248
159
107
99
99
182
87
164
212
157
74
198
214
244
246
211
238
108
144
96
233
157
163
172
210
74
236
241
106
127
80
121
139
229
240
197
223
202
168
114
139
182
166
205
83
83
86
77
184
121
165
157
168
77
180
247
116
82
193
229
128
185
224
166
228
227
182
225
93
166
189
114
158
83
145
141
118
156
204
107
207
216
243
214
122
135
201
118
220
188
186
175
138
75
82
137
174
93
166
87
80
222
204
244
178
140
132
172
105
165
188
109
204
141
94
99
117
77
84
157
178
185
176
181
130
178
84
183
88
213
184
188
150
101
156
84
243
223
138
225
233
181
97
127
86
240
128
224
168
186
160
134
138
176
205
123
164
110
212
147
107
217
178
121
122
224
219
233
87
191
72
130
104
218
219
78
97
173
184
94
186
155
242
134
158
96
171
94
174
209
228
246
118
209
204
215
215
129
103
200
231
211
111
155
210
139
180
121
213
250
170
206
150
226
115
197
178
72
177
245
192
150
88
211
82
234
126
178
242
164
84
102
230
175
179
174
73
139
170
178
179
165
244
241
247
230
153
148
249
83
189
73
131
249
181
169
186
141
110
187
145
199
157
207
189
99
249
187
139
135
236
250
250
84
97
202
206
153
174
169
201
214
208
130
214
106
70
151
175
248
158
179
210
149
174
174
82
157
134
158
187
110
129
197
119
171
139
75
101
218
172
124
203
88
216
84
162
165
171
88
181
241
213
189
230
202
82
223
102
154
225
231
156
191
158
193
130
115
206
123
171
195
222
139
138
215
93
142
180
76
144
74
106
180
180
99
70
227
153
144
107
134
161
141
159
105
139
117
187
250
143
113
81
192
203
109
127
184
219
192
78
170
161
245
197
244
156
86
82
115
86
201
184
127
94
234
209
180
204
169
147
200
122
111
207
154
97
180
197
195
169
243
233
107
198
98
137
106
243
224
218
191
208
202
119
206
161
250
92
161
187
110
159
189
223
215
136
151
220
200
139
205
101
221
123
70
228
104
86
174
75
240
229
156
71
132
161
240
232
243
136
149
199
124
236
188
139
203
213
117
229
170
138
116
161
193
127
218
203
166
72
117
130
101
82
119
86
201
89
162
244
250
81
169
195
88
244
74
246
197
131
182
227
218
215
140
231
163
72
175
131
157
84
135
149
124
174
122
143
183
196
222
123
79
172
191
165
233
171
235
175
97
105
221
82
132
234
207
145
193
163
223
80
159
77
243
83
123
85
136
94
224
170
215
222
118
195
127
141
190
123
127
173
115
238
167
208
194
97
140
235
114
210
201
113
160
218
247
109
191
228
201
250
181
115
97
138
160
112
70
96
186
203
223
230
221
177
167
80
94
88
184
177
211
84
79
205
216
72
246
205
80
82
94
171
159
234
90
171
192
94
74
168
231
137
80
205
190
103
244
231
143
217
107
213
171
103
166
185
109
155
172
80
146
192
145
91
150
93
145
83
81
241
180
85
190
89
223
71
195
119
154
232
108
221
180
75
75
129
193
147
116
206
89
77
143
116
108
146
174
176
93
131
83
152
104
125
179
233
144
181
209
162
203
150
204
154
177
236
94
200
179
211
125
195
211
233
126
96
167
86
122
126
121
246
201
102
177
160
134
136
110
243
126
157
194
244
205
158
156
174
76
116
206
109
219
136
174
241
199
162
188
77
133
245
230
181
96
162
149
201
139
132
135
248
139
96
106
156
166
234
242
223
155
92
134
200
213
178
167
244
154
129
145
230
192
200
161
245
156
169
185
230
83
233
149
156
117
142
191
200
227
139
182
237
118
144
118
157
116
126
164
159
132
190
194
134
164
112
168
179
140
211
239
114
244
141
249
238
147
168
231
117
70
91
73
203
238
149
125
192
124
244
90
135
146
114
203
125
171
195
129
173
130
250
114
108
134
157
241
178
222
182
206
201
190
170
163
110
220
234
242
215
163
92
191
241
123
151
134
93
219
235
174
98
187
119
154
80
209
176
203
215
105
217
240
96
180
172
177
91
195
196
240
233
225
157
90
141
226
202
233
236
134
89
241
89
161
158
74
222
103
127
178
218
119
133
199
205
94
125
165
77
199
169
129
116
234
198
221
211
164
80
82
130
243
91
231
222
96
140
160
136
94
168
158
240
70
121
146
216
119
225
235
239
87
188
86
75
124
178
175
184
244
171
232
133
246
142
138
123
97
102
214
108
107
168
196
171
103
189
91
241
160
196
166
151
164
191
127
160
146
128
163
152
223
142
228
111
121
119
137
172
186
157
184
141
187
115
91
143
149
150
236
205
142
145
228
137
219
233
82
79
81
93
162
137
147
123
76
184
222
124
211
134
248
214
158
100
183
133
91
72
236
120
178
186
98
200
96
76
156
74
132
188
179
203
155
136
150
197
74
230
103
159
89
185
234
124
223
182
70
124
205
168
152
218
210
191
234
122
157
180
199
175
124
192
93
131
98
111
173
87
77
86
126
227
186
81
204
242
186
133
197
242
199
205
154
216
146
73
144
151
146
137
100
176
106
243
84
218
221
183
98
122
226
209
160
100
201
126
114
188
196
204
103
189
190
180
99
174
215
240
73
157
130
95
117
138
194
181
93
213
149
95
244
193
73
91
180
177
201
216
138
228
177
207
134
214
200
71
136
228
78
217
118
235
242
142
94
98
126
203
109
242
205
74
87
198
147
133
119
111
140
123
112
123
129
223
242
200
108
96
163
220
138
209
233
221
136
93
248
102
89
133
182
78
162
189
133
170
105
111
176
161
176
148
76
158
222
154
243
131
181
146
241
189
234
238
187
238
126
139
107
206
120
92
77
146
114
246
176
235
142
105
162
106
138
88
235
139
164
108
151
247
247
99
126
136
102
86
232
221
193
203
181
231
227
136
119
158
220
78
180
181
233
230
92
92
221
134
199
236
162
230
174
70
98
77
82
184
220
78
175
173
122
89
102
169
187
168
216
91
185
241
147
88
227
213
223
206
131
191
230
113
201
150
134
180
80
146
146
111
122
99
137
106
207
94
123
109
164
218
186
110
249
148
154
189
121
110
249
167
104
203
99
182
113
189
202
107
131
159
141
223
236
175
214
135
200
204
206
184
241
219
249
86
109
78
108
163
148
190
146
133
87
245
103
76
164
206
94
246
125
227
194
107
202
231
75
114
203
84
118
189
184
201
141
249
246
95
170
133
176
217
225
103
101
243
148
227
103
209
193
181
162
168
170
192
208
206
162
229
142
103
99
242
195
146
244
169
131
97
232
193
204
223
97
87
178
250
192
115
143
122
81
175
137
177
152
171
241
153
93
140
181
175
169
212
115
247
123
234
147
116
114
116
127
176
104
157
152
249
178
90
160
192
179
196
132
85
189
86
181
103
193
247
104
177
149
166
165
159
194
192
118
247
85
249
158
228
185
142
185
73
164
156
245
101
127
107
154
177
250
162
147
232
194
240
186
237
235
135
244
172
232
195
85
218
137
206
90
102
224
211
169
230
225
164
238
84
151
181
77
235
185
186
224
161
119
135
195
189
245
190
164
209
213
214
139
108
83
79
183
73
190
83
248
204
79
142
146
164
75
159
123
137
240
241
120
169
99
152
126
242
70
190
183
213
95
198
87
247
173
195
181
119
162
202
95
135
100
113
169
160
239
197
203
76
177
216
149
246
170
160
248
200
96
195
220
142
245
175
115
200
88
70
135
166
163
183
105
88
147
208
156
197
111
180
194
169
197
214
92
219
92
230
78
224
235
209
94
98
223
193
241
225
102
185
179
138
187
157
149
99
209
202
168
176
135
112
202
214
209
123
156
115
123
137
199
232
78
177
120
172
193
221
137
137
249
237
81
162
169
92
93
231
85
160
117
128
202
243
158
113
173
247
173
154
187
102
205
98
234
115
134
246
236
191
81
229
151
108
129
229
99
120
128
125
161
95
121
164
158
193
86
179
119
121
173
103
117
99
177
138
94
165
170
74
128
81
94
110
201
70
203
153
141
134
100
221
139
224
220
77
95
240
187
99
222
73
189
93
84
137
82
130
100
134
146
122
130
86
109
246
176
191
187
160
241
247
127
213
162
249
160
197
210
168
250
158
105
126
91
246
153
74
77
216
124
181
99
167
146
218
75
143
138
220
89
170
191
148
195
200
95
186
213
123
103
181
160
95
119
213
183
106
231
231
154
195
221
181
181
79
245
214
170
243
158
165
100
93
184
225
170
160
174
219
200
94
94
105
125
134
104
124
128
93
110
154
171
161
182
115
153
100
221
117
164
168
208
161
185
107
162
232
183
147
170
219
121
250
131
107
189
215
114
102
195
204
98
107
104
134
100
73
230
237
106
165
218
142
107
175
108
106
72
239
188
97
218
248
164
170
129
99
101
219
124
220
116
233
249
121
94
139
212
171
206
146
190
93
153
148
223
136
182
187
88
81
139
128
170
249
198
237
160
232
235
185
130
227
153
91
81
78
127
116
74
138
121
151
126
154
242
129
70
187
82
165
209
225
100
173
204
87
98
188
124
209
148
146
103
97
218
244
168
223
146
136
193
187
82
199
121
74
185
233
171
182
152
72
191
171
213
119
250
153
210
178
209
173
130
103
218
175
70
74
90
73
208
86
237
158
233
176
237
191
208
166
198
204
135
161
106
86
204
129
246
216
230
95
161
148
151
220
125
139
132
162
219
189
108
124
232
96
154
86
80
197
174
144
220
105
91
102
91
223
85
193
170
186
211
86
233
176
198
130
208
98
93
176
246
244
91
213
150
99
227
167
79
235
78
164
242
70
176
221
138
200
175
192
120
92
182
249
83
94
214
170
158
143
201
150
132
158
168
81
108
118
206
170
167
92
223
108
218
169
97
162
86
214
180
94
155
100
223
76
243
72
99
190
210
250
163
240
248
135
173
104
201
109
113
88
82
88
105
161
115
249
71
222
158
169
91
240
197
179
214
121
107
108
182
185
99
236
174
75
245
72
124
152
207
72
141
73
161
222
153
181
99
164
212
227
129
231
209
120
152
154
221
112
112
108
204
167
177
236
222
91
101
78
124
79
211
170
147
201
76
94
173
110
245
188
71
137
77
224
210
233
217
188
135
137
84
101
159
159
199
157
218
205
140
137
181
149
108
186
140
147
207
151
168
223
143
76
122
218
175
117
92
102
110
249
240
225
245
150
84
94
134
150
94
155
155
88
189
201
125
220
221
100
159
227
93
175
191
125
236
250
70
220
237
137
237
163
225
123
192
250
187
132
181
91
220
84
193
79
209
173
229
87
100
227
82
189
238
221
165
159
213
217
78
144
197
84
129
192
213
144
241
80
97
230
236
192
100
218
78
248
157
118
77
181
241
176
129
225
227
124
235
172
246
124
116
224
202
82
239
191
93
90
201
135
203
231
150
172
90
177
106
174
217
71
165
154
76
90
113
78
173
226
173
98
225
143
131
83
215
232
197
236
98
170
189
154
234
106
210
101
79
231
207
119
218
237
90
88
130
127
90
98
155
86
112
134
231
235
161
211
209
107
148
163
124
168
247
194
228
138
103
140
91
213
97
203
112
201
85
76
146
112
169
154
75
158
78
110
188
209
146
141
159
195
155
205
100
221
179
156
84
207
167
205
145
167
209
144
193
246
151
118
220
130
95
81
89
138
203
188
74
141
148
164
101
196
172
126
93
155
123
151
149
84
180
185
79
73
125
164
178
117
163
220
243
159
147
189
76
249
108
172
193
163
205
116
81
77
148
250
167
155
238
174
84
113
212
108
208
200
90
101
132
75
118
246
229
81
116
106
113
79
237
170
227
156
245
177
101
91
117
232
182
151
190
194
175
103
209
151
249
124
170
246
225
93
88
214
100
152
144
135
75
72
191
212
101
84
217
116
148
76
250
137
228
171
249
84
217
174
132
89
111
157
198
200
230
243
76
123
159
73
144
129
219
139
220
196
140
78
156
115
92
158
109
116
124
168
81
75
100
136
198
126
181
118
168
81
167
132
149
210
163
98
175
82
119
140
82
94
211
231
112
160
161
207
186
199
74
189
232
248
178
249
180
219
234
218
115
124
243
189
166
230
233
180
122
131
204
197
205
126
96
214
163
174
166
154
117
138
100
119
196
122
190
94
169
84
106
153
151
97
122
210
218
237
91
228
135
175
93
196
234
250
235
215
70
92
139
191
104
136
134
223
170
241
78
197
217
226
120
203
192
177
129
165
175
192
81
155
134
216
182
225
185
138
72
235
100
97
92
192
117
113
148
158
193
134
95
159
168
226
153
206
134
204
223
176
107
124
247
137
101
248
101
130
198
96
212
175
188
200
221
74
79
141
150
101
204
75
186
160
82
208
103
78
170
189
219
175
226
128
123
192
237
184
166
109
240
105
74
226
245
146
124
225
110
220
225
239
239
185
232
237
77
108
232
116
128
160
206
170
216
97
109
136
149
187
148
167
162
79
214
201
73
162
194
177
201
214
97
88
225
204
192
179
203
121
103
230
114
229
148
206
129
204
114
162
143
138
226
169
153
155
228
150
204
109
212
214
87
238
121
238
207
78
249
193
177
86
186
82
239
152
187
201
77
194
146
121
246
214
190
238
178
98
237
160
179
204
150
82
207
204
218
231
74
102
158
72
139
147
192
92
248
143
127
186
153
121
250
210
94
220
113
168
214
103
219
224
145
215
91
132
196
232
114
110
209
193
134
209
100
234
219
237
199
107
139
150
206
202
230
166
133
221
233
231
239
208
149
75
120
149
250
202
163
186
73
152
119
185
227
151
230
198
153
248
228
106
90
70
206
162
234
237
128
103
191
171
128
115
118
238
233
93
171
250
82
165
195
109
225
195
178
134
182
234
90
188
199
206
141
205
140
95
104
138
153
103
247
248
122
137
200
124
110
191
242
156
141
214
110
223
141
83
231
94
164
119
210
85
176
97
141
142
103
177
187
184
192
206
209
216
115
215
194
143
85
186
238
120
107
214
112
233
235
89
96
118
196
180
120
93
164
196
139
205
148
168
139
243
98
135
188
172
149
217
172
124
76
130
113
249
217
250
108
225
221
198
138
172
143
227
240
134
219
96
229
247
99
162
146
92
178
161
182
147
180
240
234
174
235
228
105
158
99
164
226
155
74
186
221
90
89
117
235
232
142
75
124
105
164
152
111
196
154
118
100
185
160
125
150
217
115
148
248
204
223
226
197
93
121
215
175
219
136
202
186
243
75
180
167
186
189
71
115
250
76
219
83
162
162
245
81
108
176
131
199
109
172
164
108
109
206
137
181
221
126
233
153
154
215
116
187
167
246
233
154
101
92
81
147
165
130
147
128
106
146
70
244
242
195
247
246
206
221
129
142
93
171
166
167
138
120
72
228
123
122
166
88
194
70
154
148
89
238
189
198
209
243
244
192
94
186
211
112
245
118
189
149
214
224
239
155
181
216
76
194
249
166
125
165
127
77
156
217
175
90
150
96
203
191
176
201
241
205
216
106
172
138
157
166
180
171
182
162
77
187
203
192
105
112
83
203
145
86
161
211
236
225
151
149
141
184
129
163
182
175
248
163
160
157
176
249
243
87
188
231
72
158
130
135
80
248
169
245
250
148
244
215
95
130
246
216
239
156
248
208
127
100
165
203
235
216
147
156
221
223
149
112
127
218
170
110
123
204
220
71
243
197
89
183
202
207
134
175
124
215
200
248
87
84
78
138
247
194
119
232
102
149
189
232
102
99
126
143
135
136
235
232
150
183
78
200
137
77
166
239
70
238
153
75
81
143
227
144
198
250
102
249
243
186
110
85
89
136
250
90
177
90
104
116
79
241
90
245
247
132
218
244
229
220
249
189
205
159
105
235
130
156
233
220
136
161
200
146
152
186
169
199
205
143
183
118
99
164
234
142
181
140
140
206
123
191
110
101
246
142
75
225
234
174
73
232
181
156
95
144
209
151
172
138
186
247
197
166
78
91
104
80
153
236
206
161
219
118
213
154
143
234
192
175
195
125
109
144
131
199
95
169
182
70
228
204
179
192
111
165
71
167
249
250
227
238
196
209
201
206
228
200
158
137
118
196
70
238
128
83
178
242
181
235
186
135
93
92
172
91
147
77
199
194
172
150
168
122
167
188
103
169
202
223
247
227
90
136
154
79
194
239
114
78
105
130
105
126
109
229
165
142
182
242
234
114
85
149
226
205
95
202
73
135
201
153
128
112
112
75
97
104
70
200
189
172
239
221
221
81
101
89
147
153
143
144
244
86
142
101
211
81
129
129
100
87
171
163
133
219
224
146
132
203
129
185
80
147
201
116
104
164
97
203
208
102
100
202
208
221
165
91
236
166
90
81
222
184
220
167
102
169
208
142
207
187
195
89
229
239
107
227
105
149
115
124
224
82
79
239
119
92
243
227
108
93
105
230
123
154
190
137
200
218
191
158
236
74
191
112
85
88
174
159
122
88
107
164
187
230
224
107
101
207
235
142
98
141
182
182
152
221
211
179
70
86
195
190
83
171
140
131
193
117
81
249
250
157
158
133
218
152
88
189
198
125
161
86
129
195
138
85
166
119
112
89
241
138
228
130
210
88
105
216
71
172
82
225
225
138
180
85
130
197
199
146
209
159
234
201
107
134
248
140
82
80
127
144
78
77
123
238
156
147
152
177
168
184
180
250
142
84
167
81
232
231
236
103
84
71
226
244
178
183
79
192
137
181
226
195
86
237
181
238
204
235
195
190
244
83
151
177
117
201
144
133
134
230
125
201
131
178
118
112
97
119
195
249
164
141
209
215
207
78
86
130
100
240
158
113
107
109
222
231
152
172
148
243
151
218
211
214
241
209
176
184
205
201
108
171
79
114
88
225
166
139
86
164
249
196
227
235
99
82
91
161
174
167
171
202
94
204
138
162
94
148
184
95
211
81
119
72
85
225
121
158
195
215
171
138
241
148
153
144
187
127
200
230
156
164
77
123
239
70
93
130
176
158
81
246
140
210
181
199
204
207
170
250
122
120
96
114
239
101
242
180
75
215
110
109
233
161
112
242
181
139
220
194
118
201
246
126
164
243
250
243
243
197
107
75
117
76
159
189
156
117
161
102
239
116
223
92
88
78
198
234
219
202
123
72
222
149
107
115
179
163
131
173
123
87
188
156
124
120
154
219
224
206
86
108
181
112
151
152
98
109
89
131
161
242
164
187
144
139
115
182
77
76
138
109
103
182
83
231
163
160
228
175
235
80
204
153
191
233
161
164
147
200
131
74
155
180
183
88
215
165
94
82
231
238
126
188
95
109
140
74
250
223
83
228
242
151
88
195
166
96
134
241
179
220
160
205
134
79
118
136
243
150
210
127
77
88
96
188
205
250
159
130
244
133
147
78
221
250
231
83
165
89
207
92
247
201
115
127
159
246
216
109
120
102
192
228
162
198
129
122
164
161
231
248
246
77
164
71
162
116
136
243
244
185
106
121
249
85
212
94
147
96
151
214
212
80
201
131
233
141
157
175
179
82
176
137
94
209
131
85
187
184
175
113
103
160
84
207
160
148
197
80
145
204
84
136
126
86
205
102
79
187
121
159
143
239
244
91
104
212
97
223
80
149
174
206
170
243
81
84
113
202
160
202
151
226
104
86
137
165
115
106
181
156
144
247
225
172
108
126
237
135
190
142
130
130
241
148
159
117
238
93
77
229
213
203
153
202
177
195
75
127
101
108
81
80
107
213
74
137
146
202
121
233
99
124
71
100
229
95
166
149
192
231
249
200
119
70
150
115
116
181
190
71
173
102
222
75
85
186
230
115
129
212
169
237
133
213
243
219
222
95
145
81
190
102
211
170
128
174
118
132
225
144
93
79
141
152
178
218
76
81
104
249
115
127
221
184
97
227
170
153
88
104
228
114
142
212
135
150
204
105
242
180
90
133
239
207
225
238
141
152
231
196
81
163
111
144
187
141
238
174
134
150
100
140
150
183
83
71
195
204
166
74
74
120
104
239
186
158
93
237
125
172
164
232
139
181
208
127
102
99
117
107
238
101
162
233
109
158
183
94
135
174
244
151
144
158
141
107
97
219
201
130
247
163
113
169
216
159
114
127
134
123
113
180
210
207
132
138
169
167
145
148
236
136
75
142
242
113
239
151
247
118
230
178
105
203
185
211
128
106
91
75
150
94
90
84
96
74
98
155
212
148
79
73
119
104
208
182
236
161
195
236
198
104
119
165
214
187
121
175
218
208
233
157
130
102
96
114
125
129
208
204
82
232
178
102
95
192
246
142
178
112
116
158
195
143
84
81
110
140
114
139
163
228
72
120
105
227
90
136
160
80
95
136
156
215
141
189
241
149
234
96
231
130
248
177
209
250
224
225
111
130
220
155
144
229
70
120
164
71
143
177
214
226
197
220
136
143
70
111
247
228
165
227
96
189
173
228
130
73
218
126
132
148
152
203
154
226
178
127
196
142
190
80
148
206
250
195
160
80
102
84
158
79
172
74
118
236
73
109
119
169
141
209
100
194
249
162
180
70
222
137
219
163
245
229
172
138
238
114
202
211
108
92
148
174
161
82
159
72
84
117
107
121
208
143
155
164
206
201
208
73
158
215
210
118
207
170
250
122
125
203
139
97
179
122
86
183
219
160
167
214
150
189
231
84
198
246
93
182
124
192
193
132
159
150
204
169
159
77
79
162
103
167
106
96
178
192
105
247
158
136
198
122
225
144
80
175
197
179
84
225
211
223
128
98
101
107
217
215
146
80
139
242
227
160
115
106
125
204
79
111
93
82
79
210
171
185
149
228
136
234
131
173
163
124
203
195
172
107
129
205
175
236
190
243
81
113
75
107
173
70
72
218
191
237
135
224
219
98
221
105
179
79
228
248
110
191
211
246
157
114
169
209
167
152
73
74
239
213
185
243
150
131
143
224
144
227
206
131
201
231
151
171
86
70
223
151
88
110
83
180
90
161
139
129
230
226
224
79
113
240
159
206
178
178
249
212
226
184
125
106
174
89
201
103
160
118
174
222
108
140
76
224
125
95
78
201
165
171
250
185
126
141
145
186
219
151
113
76
138
94
242
120
202
250
138
223
132
90
175
119
123
238
92
204
211
238
211
200
88
250
202
143
76
86
154
193
109
134
110
249
237
184
129
123
129
106
249
130
139
70
147
224
174
103
242
74
172
222
131
172
169
106
150
96
79
117
242
231
212
198
76
127
247
126
181
75
242
241
146
132
188
102
208
95
119
145
105
208
80
239
165
211
154
220
182
204
73
231
170
219
209
170
168
137
165
70
154
145
125
174
179
100
176
200
80
182
164
143
122
72
124
74
121
99
108
89
243
239
194
92
99
93
245
147
171
188
87
169
222
179
197
124
173
77
109
223
244
188
150
118
105
115
229
157
110
126
227
229
96
233
213
97
232
165
160
118
186
202
178
125
170
107
214
173
109
127
178
142
164
103
78
180
184
186
80
239
208
166
183
248
165
88
153
225
184
228
141
71
197
103
96
128
201
228
132
145
247
173
182
119
160
136
231
108
205
189
148
133
109
179
100
171
187
211
105
163
238
142
123
193
216
160
77
101
203
154
116
211
218
129
194
236
103
117
218
167
161
119
153
128
249
114
145
179
90
215
98
209
125
111
105
200
79
148
230
90
217
101
73
223
229
184
206
122
175
107
230
190
94
132
241
125
173
171
75
150
191
190
167
90
96
180
244
212
103
192
145
94
136
117
213
81
243
235
164
85
242
94
248
90
167
231
243
234
114
232
177
223
85
203
235
124
106
176
205
190
133
183
105
95
177
81
70
121
236
107
169
185
88
185
117
175
168
99
239
249
230
172
249
248
153
239
167
169
182
118
148
166
201
159
203
177
179
231
124
209
113
250
141
112
106
221
215
242
131
207
107
187
74
121
90
215
242
229
177
103
94
149
202
170
242
136
179
138
168
176
225
234
229
233
128
180
238
102
166
244
140
140
198
209
149
147
248
240
250
242
175
216
195
87
139
239
124
120
71
70
99
93
126
207
185
141
168
103
76
118
157
74
156
216
248
250
190
82
74
92
142
176
140
109
154
250
167
110
248
203
71
93
206
85
100
126
246
240
227
141
249
241
216
71
143
242
106
157
136
135
128
166
209
131
105
214
73
181
103
168
212
242
167
222
211
180
136
130
231
85
248
134
149
139
122
188
195
93
132
191
242
102
71
111
249
82
243
159
118
175
248
204
202
236
131
190
149
90
97
117
163
166
107
84
123
162
81
130
109
203
232
168
167
101
216
149
198
237
233
212
92
221
112
84
152
160
188
104
134
197
184
92
169
160
113
152
71
151
101
132
219
176
141
136
221
128
71
122
134
222
120
241
179
225
80
200
184
121
73
85
210
216
218
135
109
149
198
90
101
247
181
109
130
82
128
143
219
102
159
196
161
204
137
82
118
147
204
134
147
137
96
187
161
107
233
194
83
183
159
96
93
202
116
243
153
79
236
132
243
91
89
238
164
154
247
151
155
70
154
166
114
199
140
121
70
195
247
164
86
148
83
103
144
186
172
124
218
73
207
229
145
155
195
107
70
223
219
168
105
76
98
183
198
165
157
134
143
154
102
210
187
107
102
120
156
138
102
236
109
200
87
116
118
98
81
154
191
93
249
81
189
105
220
169
78
153
125
227
90
149
238
139
195
145
85
146
210
165
190
178
241
155
91
141
224
185
114
156
83
235
98
124
242
93
219
117
223
202
201
89
73
197
133
248
167
104
105
89
175
228
177
142
156
192
81
233
249
121
97
174
151
86
116
96
165
238
214
77
218
100
94
184
127
183
76
160
179
161
235
221
75
243
138
161
219
168
175
191
127
129
238
175
201
237
70
244
83
234
103
103
217
199
191
172
71
81
209
145
81
160
243
196
72
87
109
94
148
155
161
176
168
164
102
77
206
112
223
97
199
240
124
169
242
71
214
70
195
150
202
188
237
224
172
175
72
185
184
201
212
99
232
248
233
80
76
242
178
78
237
140
74
165
108
165
229
227
71
195
95
107
169
179
133
233
217
195
105
90
203
81
181
218
170
135
108
208
81
179
83
88
87
98
145
188
175
97
98
165
78
224
113
203
241
196
124
233
177
143
75
158
73
84
83
106
74
196
182
109
141
77
156
161
192
200
98
109
89
117
214
83
189
214
191
132
113
205
170
70
195
132
114
81
152
151
203
162
238
197
180
71
133
151
146
215
173
214
76
213
74
94
111
128
242
210
182
224
207
242
200
94
75
205
220
242
130
179
83
159
103
237
101
82
195
84
239
173
145
92
85
205
196
240
217
82
109
171
235
221
123
85
102
100
136
108
96
146
73
157
232
222
222
181
239
107
139
209
178
90
104
131
217
107
243
128
98
229
200
161
200
133
248
177
161
193
182
151
135
207
94
189
234
100
174
181
236
236
143
202
74
240
219
208
167
134
162
116
178
221
233
125
87
232
95
127
203
152
153
135
235
161
147
117
192
114
108
237
169
212
136
183
227
125
98
222
136
213
244
207
108
135
172
248
96
219
121
96
241
157
129
89
204
234
224
91
102
118
113
83
235
244
201
208
142
137
182
238
209
147
169
158
98
110
72
73
87
225
200
176
113
134
117
213
220
106
115
163
83
88
196
188
106
191
206
82
205
151
112
102
233
231
163
179
214
184
97
94
114
217
224
175
139
116
134
137
226
237
95
181
242
226
194
121
168
199
118
101
186
106
245
229
180
175
246
113
158
154
246
88
75
137
249
235
182
210
85
168
240
104
163
187
146
249
162
194
158
116
202
227
221
159
239
136
238
241
164
244
182
86
220
161
94
105
113
106
120
186
72
216
129
72
219
164
119
122
143
167
104
170
212
157
152
152
194
168
164
104
152
134
167
169
243
122
200
93
194
108
156
86
149
189
89
224
151
213
90
197
86
109
214
219
128
242
95
221
187
94
247
118
116
228
223
88
130
236
249
73
79
217
210
181
199
140
176
210
147
179
111
144
159
205
240
223
95
76
168
127
209
181
165
134
71
173
212
193
225
97
186
225
232
160
107
157
243
178
93
113
81
156
172
238
220
200
149
103
139
107
121
165
150
102
170
73
152
183
209
200
96
243
84
165
111
176
208
168
240
148
158
99
141
170
136
148
130
181
118
218
111
145
150
226
159
171
241
145
135
228
160
123
250
96
239
80
218
218
79
183
203
181
187
229
155
171
236
217
129
218
70
196
204
135
206
129
249
112
102
88
161
235
136
144
83
245
231
142
168
203
96
135
119
242
166
174
143
143
159
98
226
144
125
160
91
180
145
250
124
175
75
197
230
246
234
241
167
161
119
249
244
175
158
222
149
106
164
105
242
183
183
173
247
201
179
130
141
230
180
148
167
154
180
212
234
208
144
157
214
119
79
143
219
201
237
127
183
221
146
234
205
186
131
149
183
195
134
192
230
103
232
231
156
188
177
183
191
122
209
113
208
244
176
99
77
101
70
148
71
131
216
140
72
183
136
206
178
158
247
149
189
100
94
143
206
198
239
174
124
186
120
183
105
102
100
226
179
217
90
229
89
87
89
236
160
110
91
197
142
214
248
111
73
250
172
157
201
125
208
116
206
195
235
242
219
242
204
216
92
178
176
116
159
198
99
167
148
165
163
145
159
223
80
227
248
189
203
82
145
222
223
237
118
99
121
138
96
248
228
116
229
208
116
209
233
250
101
180
83
170
203
193
81
90
181
116
116
232
118
137
110
83
145
217
151
201
219
196
126
165
140
117
217
235
187
105
112
158
232
151
127
189
116
239
145
148
149
210
89
130
102
220
152
94
148
157
83
174
86
195
176
191
141
185
117
142
98
110
149
214
154
219
183
198
230
173
224
74
150
203
153
100
84
109
75
226
88
197
142
202
87
115
170
108
133
157
132
199
222
134
154
94
90
123
245
222
206
116
90
80
232
120
180
187
100
204
117
115
53
63
57
42
66
27
71
61
47
54
23
25
48
21
45
42
80
64
30
30
38
73
35
72
50
69
45
38
78
43
46
41
63
77
73
44
26
56
58
60
37
30
64
63
45
69
26
32
34
58
71
63
37
77
42
76
41
39
35
35
58
79
42
78
21
48
45
53
49
29
61
75
37
43
32
37
32
54
80
38
28
79
76
41
24
74
25
39
70
42
21
53
75
50
61
80
78
73
47
37
58
80
56
61
41
72
21
68
79
62
34
37
75
21
66
46
39
54
29
22
30
63
30
71
70
77
44
46
75
62
50
31
45
45
29
76
67
33
77
32
47
63
29
40
63
51
22
64
44
34
58
67
72
77
35
59
46
64
41
37
63
27
50
63
74
73
58
45
63
66
67
78
31
66
37
39
53
22
25
65
70
21
23
41
22
64
67
37
73
46
20
58
75
39
38
74
39
41
46
24
66
54
39
49
55
20
26
80
78
78
54
66
58
65
78
20
80
21
57
28
59
43
24
52
67
33
79
26
74
60
78
65
53
74
57
55
53
34
24
37
27
24
64
46
49
73
33
71
43
27
43
49
65
41
35
55
41
26
34
47
59
40
71
80
27
22
63
53
63
33
20
60
22
59
50
23
70
63
27
60
77
37
69
42
34
71
73
72
63
60
31
62
76
52
76
49
62
48
55
54
40
21
37
42
49
40
62
55
60
75
80
59
61
61
45
43
65
73
41
26
65
65
60
73
27
33
74
51
28
37
46
66
65
59
79
79
43
45
29
25
59
24
64
27
47
63
58
44
35
39
63
38
67
45
28
67
65
54
67
62
51
25
31
25
53
32
78
50
44
66
43
35
48
63
68
60
43
61
38
24
72
55
23
61
69
37
43
67
27
57
79
33
63
32
63
48
47
39
76
43
76
52
54
31
68
38
28
44
40
66
30
51
65
65
79
32
77
48
38
58
24
23
27
32
24
33
63
45
56
48
41
41
74
33
56
24
44
64
57
74
40
37
28
55
43
45
70
24
70
33
71
55
42
47
38
38
71
71
55
25
53
36
53
55
56
53
79
45
72
62
34
67
33
61
49
32
56
67
20
78
65
30
79
55
48
43
59
71
20
37
24
62
31
65
40
65
78
58
21
20
49
66
20
43
71
30
55
77
26
31
36
59
60
79
60
71
38
32
63
80
57
64
65
34
71
60
26
26
58
36
31
49
62
28
58
71
68
54
72
58
77
42
66
47
57
79
23
24
21
51
54
35
69
38
36
78
32
53
40
67
25
32
26
66
74
23
58
42
69
58
38
25
24
23
35
68
43
73
58
50
63
50
50
48
77
54
43
69
25
28
54
63
23
51
26
60
44
40
49
78
41
61
65
51
34
79
27
73
48
65
44
55
46
72
48
69
62
75
30
62
49
48
64
32
23
37
50
68
30
71
24
31
78
49
27
79
67
38
42
29
26
68
39
31
24
47
39
39
42
64
35
74
46
77
28
75
62
27
29
56
53
61
46
49
22
54
61
62
62
79
59
32
76
50
57
61
32
66
54
53
67
68
77
22
52
59
62
47
39
77
20
54
68
35
45
52
27
22
52
35
71
73
23
32
47
73
33
48
43
25
76
53
65
77
29
38
26
38
60
50
22
63
58
41
41
55
63
31
52
40
47
79
29
20
77
78
32
57
40
33
79
39
56
33
78
25
78
35
66
48
67
37
71
56
80
54
41
24
31
39
22
75
44
55
31
74
76
42
64
45
24
26
35
58
33
72
42
65
37
23
75
46
21
21
25
64
37
32
63
32
25
44
30
62
74
62
57
48
40
56
34
55
25
23
73
69
36
20
30
61
28
73
63
54
57
49
44
55
48
60
31
60
69
75
21
38
75
34
73
48
27
59
34
53
36
39
72
37
66
60
37
29
66
79
68
20
49
36
37
24
54
53
44
59
57
48
60
42
24
62
27
46
35
48
46
44
57
40
62
68
75
60
35
39
65
33
45
72
45
56
58
21
38
78
54
45
60
76
67
47
34
45
27
80
53
65
35
76
27
37
28
26
24
51
58
25
64
53
49
28
35
66
30
43
42
70
36
78
21
77
36
23
31
61
42
56
75
21
77
31
60
43
31
29
76
37
27
37
78
58
77
55
77
71
32
24
39
37
30
80
43
59
66
27
26
73
35
25
24
58
59
65
24
77
48
80
77
22
76
32
80
26
28
71
63
33
50
44
23
46
38
35
33
20
44
74
57
38
46
31
60
71
37
52
33
69
32
48
62
45
65
46
55
76
43
24
70
54
64
20
64
23
49
65
78
68
32
25
78
32
54
79
80
69
69
29
34
68
27
60
69
44
36
26
28
57
57
25
75
33
76
47
41
58
67
56
60
58
75
44
72
50
47
53
71
75
65
30
55
46
34
22
70
64
34
59
43
48
45
80
47
41
32
46
80
54
37
65
36
60
48
46
33
49
39
33
29
65
24
40
47
66
68
38
32
27
72
42
36
39
54
29
80
43
75
61
41
41
46
31
79
24
62
73
57
51
42
35
71
51
22
38
37
47
50
20
78
34
74
25
35
74
54
20
51
40
68
35
38
27
65
39
69
33
21
30
52
53
78
25
38
27
65
79
74
70
30
72
70
60
22
55
78
39
48
66
56
33
62
55
41
36
60
42
39
77
74
44
67
48
56
71
29
55
52
42
38
39
29
65
36
23
32
59
31
26
52
31
66
45
32
23
52
36
32
35
49
31
66
55
24
60
52
53
45
41
61
39
22
75
45
53
34
28
68
46
21
74
54
43
33
36
73
40
78
51
50
58
74
68
50
34
35
26
69
67
46
58
74
38
25
73
62
64
33
42
77
24
51
74
55
49
48
52
52
80
60
62
34
24
33
72
28
61
58
66
30
51
71
71
27
56
39
50
54
35
70
26
74
71
53
51
42
41
65
79
62
26
63
65
77
57
44
26
56
75
45
47
49
23
46
23
55
31
50
35
32
80
76
39
37
49
23
76
66
31
42
73
61
27
65
60
36
39
67
58
41
62
26
27
62
60
66
48
36
29
27
63
38
76
55
26
45
80
55
26
31
36
53
70
46
56
49
71
77
38
55
78
24
44
48
57
65
45
29
21
39
63
31
28
51
21
75
23
58
55
25
49
36
52
25
31
28
41
39
20
69
74
50
48
44
54
50
59
65
72
38
69
32
73
46
63
32
76
23
39
60
41
32
69
62
23
40
23
59
36
79
25
61
72
52
77
61
41
25
45
23
68
68
71
47
64
33
48
58
30
56
50
76
80
64
47
78
73
74
70
48
67
39
40
21
34
71
53
52
27
51
51
62
80
74
58
49
32
68
66
49
56
77
46
79
69
36
42
58
38
33
25
66
70
21
62
53
75
38
74
66
42
74
33
74
61
74
73
65
58
51
65
71
59
24
52
52
53
64
79
37
56
39
41
20
56
55
27
71
72
47
65
21
79
39
44
56
42
63
28
24
61
23
73
42
49
37
28
47
70
42
24
26
44
39
24
32
55
30
33
53
38
41
63
52
21
70
47
43
40
30
68
44
25
64
72
27
65
46
54
42
65
76
49
24
32
77
41
39
53
65
80
65
38
41
35
68
52
37
30
28
44
54
55
63
75
27
57
60
22
20
78
69
33
52
74
60
74
78
32
79
71
77
72
24
45
20
28
50
34
78
53
32
36
67
56
23
40
43
37
39
21
60
72
72
75
29
38
50
25
67
27
28
57
57
60
64
65
35
27
31
67
79
33
54
33
60
33
28
28
73
68
31
58
76
66
34
54
43
51
37
55
44
53
62
31
56
74
47
20
74
66
79
38
55
44
23
57
29
73
74
71
68
78
46
50
79
27
28
57
51
62
61
64
33
50
49
56
43
36
26
21
73
65
46
45
43
22
63
40
49
29
46
30
79
50
55
45
54
55
22
25
70
53
49
70
71
24
42
27
29
30
61
42
46
46
41
38
24
44
50
38
33
63
36
59
49
47
70
56
53
60
71
80
41
58
66
47
55
42
71
77
58
48
52
31
67
57
55
57
37
46
76
21
39
40
74
80
55
49
39
42
22
37
55
72
78
44
47
64
37
63
46
24
30
41
20
36
41
52
61
25
30
69
63
66
31
20
33
25
62
66
65
65
28
32
53
80
55
53
51
60
65
69
32
25
62
52
62
48
26
53
77
33
54
40
76
32
46
27
68
61
39
40
65
76
64
34
80
59
74
59
20
45
46
35
38
33
20
48
59
31
30
44
23
59
52
66
20
65
74
50
76
31
24
57
33
26
54
78
42
69
50
38
44
54
65
48
29
43
68
56
49
80
41
56
80
43
28
78
78
71
46
57
31
75
74
77
37
37
45
71
21
35
73
70
74
33
57
42
55
45
36
28
36
79
46
42
74
24
40
62
63
37
53
74
30
26
31
38
57
78
46
38
46
25
39
20
27
43
59
51
34
45
30
63
51
58
75
43
67
70
59
51
53
63
41
78
45
27
29
48
22
78
68
50
68
40
65
68
54
80
65
62
56
22
42
36
71
46
59
44
56
28
61
43
69
54
79
77
68
65
21
70
61
68
56
22
52
38
78
62
63
26
80
33
58
24
41
24
50
56
21
63
74
49
39
44
56
67
40
67
22
67
58
80
36
80
59
24
64
68
37
51
57
27
27
59
49
78
72
22
22
69
30
27
67
20
79
40
59
55
49
63
39
39
62
68
24
58
71
76
53
30
44
48
33
61
51
78
57
58
41
27
57
55
39
26
70
67
51
80
36
24
43
57
52
58
55
44
24
53
45
59
22
45
59
56
47
23
46
57
78
32
72
65
33
38
38
42
71
80
70
67
58
32
24
51
42
58
68
54
46
79
52
25
30
65
52
79
57
69
71
60
54
77
67
59
73
28
58
48
77
31
64
64
76
25
30
24
20
20
61
22
55
35
32
31
76
44
58
70
67
34
57
68
37
33
56
66
61
61
30
31
35
27
23
25
73
75
34
29
77
72
34
31
59
26
24
49
36
21
61
52
50
26
32
65
23
56
21
31
59
75
56
48
76
56
28
79
29
49
75
45
76
80
76
61
74
58
56
34
26
25
34
62
43
60
68
37
75
37
64
45
56
63
57
51
25
78
56
70
30
66
36
77
42
71
53
51
31
27
54
36
55
80
41
69
29
68
72
66
74
80
57
66
68
22
61
38
57
71
48
26
64
55
74
71
76
71
37
79
32
47
48
57
65
35
68
34
46
65
27
22
54
73
74
73
48
73
50
28
38
37
62
33
31
24
23
79
36
66
59
25
49
43
44
34
23
31
55
67
25
27
24
36
47
53
31
44
41
29
43
79
53
24
62
36
42
34
59
71
40
22
65
62
56
39
71
24
24
79
59
38
36
70
70
74
80
27
20
80
78
65
28
40
46
62
61
75
68
48
38
25
49
50
34
42
73
35
79
38
66
70
79
42
26
72
47
43
52
59
72
26
66
23
55
34
62
37
71
59
23
79
38
54
35
66
72
78
42
73
69
78
48
75
29
49
74
32
74
48
72
24
73
45
41
56
74
69
61
48
32
63
33
48
44
24
33
37
52
53
36
67
78
75
21
38
77
54
20
60
77
65
59
23
29
25
40
64
61
61
31
62
57
27
54
31
63
37
20
77
74
50
64
41
31
79
75
37
47
35
55
57
35
35
53
32
49
33
36
76
54
36
58
80
23
41
29
64
54
61
67
23
59
66
21
37
43
45
40
36
55
21
52
69
29
21
21
72
59
64
47
69
63
63
73
30
40
44
69
27
22
55
77
59
33
28
26
73
59
63
33
74
53
28
45
26
46
57
28
62
54
21
39
21
69
62
43
74
36
24
27
49
69
21
75
35
40
77
54
26
61
59
53
38
29
80
78
38
36
77
71
63
58
25
38
62
72
74
24
67
56
78
51
21
62
78
36
43
56
62
76
30
33
53
41
33
75
61
20
59
61
64
31
77
74
59
69
52
66
53
44
33
21
53
52
65
27
35
39
71
44
79
44
36
65
25
71
74
71
27
37
66
52
58
30
67
61
56
76
80
41
50
38
30
79
20
40
42
70
75
61
34
54
55
72
52
49
25
58
61
51
56
66
23
62
53
53
64
74
43
30
74
43
28
42
55
72
33
25
74
31
26
31
44
46
60
53
23
37
64
71
79
35
47
60
51
23
72
33
27
60
62
73
65
79
30
66
77
66
40
62
57
57
56
28
28
57
80
55
53
27
25
34
39
65
71
76
43
58
77
41
76
76
46
74
77
78
21
31
51
40
51
60
59
72
66
61
23
28
67
55
66
50
77
50
23
27
80
56
48
40
42
45
61
24
55
47
62
74
41
31
41
78
49
75
68
45
21
59
36
55
25
21
48
20
72
35
37
29
62
60
22
80
48
67
53
67
39
73
51
55
21
77
46
44
27
75
80
61
25
39
53
30
20
39
42
52
49
45
76
72
65
53
29
23
70
47
47
76
53
29
59
48
78
48
42
58
53
73
31
29
48
70
29
20
40
33
56
72
37
33
56
47
77
28
36
52
60
77
45
31
35
41
74
60
77
58
27
25
77
24
73
48
57
56
35
48
29
54
28
43
47
56
45
46
48
68
59
54
51
51
57
43
27
80
63
66
77
39
51
26
34
40
62
55
64
80
22
47
73
49
59
33
29
30
46
40
66
54
79
30
62
68
33
29
51
34
43
35
48
43
60
69
63
54
24
68
76
42
25
78
78
69
38
27
23
65
34
50
57
38
60
65
24
40
60
51
35
23
52
50
56
74
22
34
61
55
68
54
72
43
79
58
52
31
38
28
27
34
21
38
21
35
40
74
60
70
41
48
78
28
70
67
70
26
68
78
69
70
40
52
42
47
62
26
39
32
71
69
68
27
77
57
79
53
37
48
34
32
48
69
34
64
70
56
56
58
51
60
61
54
64
43
79
47
44
79
50
28
41
38
34
54
75
62
31
77
64
55
38
33
70
26
35
51
35
30
67
55
21
48
69
68
63
50
58
76
31
43
26
21
76
72
27
68
54
40
65
43
37
48
57
37
61
30
34
29
36
79
78
60
29
29
35
63
51
72
34
28
21
66
28
30
56
50
61
26
70
41
57
46
35
33
38
45
21
56
49
71
31
61
34
36
80
31
41
76
78
62
48
72
55
73
42
70
66
67
62
45
55
39
29
68
70
64
45
51
49
36
27
59
33
34
30
66
47
54
23
27
34
20
56
78
45
55
62
54
62
71
42
40
73
64
45
25
58
36
23
28
68
66
41
69
53
22
34
46
38
46
63
56
79
34
29
54
32
20
34
69
33
58
75
56
52
50
50
62
59
43
30
78
80
45
65
22
59
47
37
70
43
52
21
30
73
69
68
42
76
49
32
66
20
39
69
26
59
53
64
60
65
32
62
30
25
62
63
40
68
36
57
66
34
56
64
22
74
50
35
36
39
70
26
74
52
72
33
56
31
25
67
79
65
37
45
54
40
34
24
25
63
70
73
61
26
41
49
68
62
80
31
80
39
48
24
54
68
72
55
53
32
71
61
53
59
73
29
43
29
56
74
70
65
65
74
56
45
47
32
69
68
21
26
46
65
69
43
36
66
55
68
66
80
76
66
80
67
60
62
66
64
43
44
78
68
43
27
54
31
41
77
35
25
78
50
69
67
56
25
23
62
20
32
53
27
65
53
62
77
68
31
39
23
21
30
36
78
24
21
57
47
69
78
71
65
62
58
47
21
36
74
43
68
47
55
31
32
45
52
68
57
60
79
22
60
25
39
45
23
71
78
26
34
33
42
33
74
35
72
44
34
54
79
59
28
75
57
20
63
46
68
66
74
69
31
39
74
40
23
40
51
32
38
76
67
76
33
65
41
53
59
70
38
23
49
50
62
20
32
26
46
62
62
52
60
42
56
48
21
24
30
45
47
26
20
60
30
30
69
48
39
64
56
34
52
63
44
27
68
78
80
35
75
72
37
36
61
29
43
32
50
33
73
56
27
32
22
74
32
27
58
71
80
25
73
25
57
73
46
54
58
57
78
59
62
69
69
65
52
77
76
56
34
21
70
42
38
32
60
37
73
34
57
33
36
22
29
68
80
62
45
59
77
77
47
21
54
73
26
52
60
36
60
36
41
24
79
62
30
49
51
26
67
25
64
61
37
24
30
69
46
34
35
78
35
56
53
29
29
72
59
60
42
67
30
63
44
42
27
59
39
72
37
26
43
49
31
66
27
56
69
80
37
41
60
61
75
57
59
31
31
69
78
73
62
69
69
21
48
42
35
36
73
50
54
32
31
59
72
69
39
66
51
47
34
57
62
40
63
40
38
80
73
76
54
58
47
64
22
67
44
20
77
71
25
40
20
41
56
35
31
59
35
32
65
31
77
50
62
35
45
62
47
60
48
61
22
61
22
41
30
30
39
35
48
47
20
20
63
24
70
21
57
45
24
63
38
55
20
42
78
33
78
45
70
69
62
51
70
39
49
31
57
61
24
21
40
37
37
75
22
57
51
51
32
47
64
80
67
58
52
72
31
58
33
57
66
20
75
61
34
38
23
58
76
42
61
72
66
60
42
59
55
42
34
49
75
34
67
24
29
63
56
20
52
78
63
52
31
41
29
45
23
30
42
39
76
33
34
28
54
36
76
24
52
79
75
20
21
69
60
21
38
50
77
60
38
60
27
49
78
53
31
51
30
50
80
24
74
27
54
72
72
20
45
43
27
69
77
64
40
75
36
40
51
37
52
78
37
40
79
74
51
65
26
23
37
58
40
27
71
46
27
71
50
67
69
57
68
32
46
54
39
46
31
41
27
42
54
64
72
50
72
67
71
62
25
68
39
26
50
21
63
59
79
64
69
33
61
22
21
68
80
55
30
25
37
61
33
64
31
20
56
51
61
22
48
43
65
40
63
52
69
63
62
46
21
50
53
43
57
80
30
74
49
37
71
22
66
48
40
31
65
76
65
80
28
42
28
38
59
36
78
47
63
45
56
68
20
43
77
21
48
61
70
62
69
33
69
66
74
62
26
47
57
22
30
57
47
23
51
26
36
24
56
49
46
41
30
66
77
57
78
27
37
49
39
66
35
74
28
25
78
42
29
66
66
44
22
33
39
29
35
79
32
54
52
34
56
72
56
70
49
47
61
80
26
26
53
39
72
77
70
35
67
62
67
55
63
35
34
54
31
62
43
27
71
71
79
78
20
66
74
36
44
26
71
51
41
39
22
55
54
70
71
30
72
28
76
65
41
20
44
80
54
31
73
33
42
26
47
61
24
44
41
36
25
76
55
21
79
39
52
34
37
47
38
65
62
50
77
47
25
30
49
76
66
46
61
25
32
43
63
79
56
20
38
51
59
39
44
37
30
27
52
59
72
64
37
51
78
72
63
28
67
48
34
48
56
33
71
77
41
75
46
54
37
56
39
73
23
36
26
30
46
26
40
45
59
58
71
31
61
60
43
21
35
73
28
58
65
51
25
32
69
49
23
30
38
25
33
54
67
41
23
43
38
75
36
60
30
47
65
42
45
41
54
37
38
74
29
53
67
65
53
59
64
54
38
48
68
32
47
43
29
35
59
22
78
38
44
47
57
58
26
56
51
43
33
39
45
65
77
55
76
31
75
37
39
34
67
34
48
55
77
41
22
25
61
72
54
50
32
32
24
51
29
45
22
76
78
41
27
68
20
44
64
62
72
63
65
21
44
52
78
42
56
42
52
22
35
61
33
46
76
24
57
69
61
40
23
59
73
27
64
70
35
64
29
57
55
64
64
30
64
29
44
36
48
55
60
59
52
59
62
50
67
53
49
29
42
41
51
34
21
31
20
63
45
28
58
56
64
64
37
54
41
77
72
30
25
39
56
71
67
24
77
26
69
56
64
80
49
35
53
27
43
25
22
66
77
54
67
30
73
56
71
42
78
60
58
77
68
24
39
37
58
54
35
70
76
37
78
71
65
39
38
80
31
24
31
42
67
27
70
76
69
70
73
52
51
55
72
78
26
26
78
39
49
69
30
53
29
33
22
79
78
72
21
41
34
66
27
70
55
27
60
39
52
58
54
44
34
51
59
71
30
61
75
68
69
35
35
59
28
21
32
29
54
33
20
68
31
48
79
77
69
56
76
46
33
75
22
49
58
54
58
71
38
35
36
20
33
63
32
74
39
58
59
24
37
57
60
56
72
48
53
20
38
45
45
20
61
45
27
71
33
66
26
54
36
46
27
54
77
73
31
70
63
78
41
52
53
43
37
74
64
58
63
53
55
37
57
58
30
80
79
59
43
73
48
21
28
50
25
58
27
56
53
80
58
35
33
63
56
23
25
24
39
39
69
37
80
57
49
39
26
37
50
20
80
29
50
45
54
66
24
73
73
35
50
73
45
62
63
79
25
73
21
77
60
53
35
41
23
55
57
76
58
44
76
35
23
67
47
30
58
74
73
70
61
62
27
46
39
68
64
62
25
27
67
70
73
40
30
35
27
49
47
26
76
51
67
43
31
52
51
45
40
53
77
80
73
49
63
51
78
73
74
66
28
79
43
72
55
46
26
23
20
54
57
32
31
43
26
22
79
60
66
75
53
41
57
36
43
54
33
54
80
62
25
22
40
26
40
75
62
29
74
59
79
40
79
53
64
31
37
52
49
74
57
58
38
26
63
44
53
32
78
54
67
68
51
45
33
59
22
54
73
61
62
27
63
21
31
74
44
75
74
45
37
44
68
39
25
77
24
43
21
48
52
41
73
36
77
23
55
32
20
30
37
41
79
25
52
61
34
67
38
45
31
40
72
26
48
26
42
50
51
80
28
20
80
51
35
23
49
24
35
22
29
62
43
48
60
25
72
44
55
56
69
52
63
24
43
23
49
21
43
39
41
52
26
33
34
41
38
57
39
38
64
43
70
58
47
27
49
37
56
28
76
46
73
37
51
25
79
73
44
39
37
49
59
38
54
69
61
37
57
45
51
60
66
69
49
54
57
54
31
77
25
74
75
36
45
27
42
29
55
39
48
80
77
70
80
60
33
62
78
75
60
53
39
61
67
74
34
30
49
54
33
23
61
24
46
35
54
20
67
60
52
39
72
80
65
71
74
54
62
41
30
79
28
34
54
42
50
69
52
66
31
22
23
36
22
45
63
54
48
61
70
70
57
42
48
56
80
40
65
59
51
55
79
68
28
43
67
39
72
32
21
73
28
35
22
52
29
41
80
69
74
66
77
52
53
28
23
54
56
29
44
25
38
47
40
54
25
41
38
48
65
32
63
79
25
78
26
77
73
60
31
34
79
31
52
43
48
26
34
40
42
27
48
65
21
73
20
45
58
30
25
61
57
47
28
70
20
67
56
73
35
37
79
68
33
24
32
25
57
30
32
25
20
37
21
33
52
49
68
61
78
53
49
26
22
41
39
80
33
29
41
73
41
20
75
51
64
39
37
22
55
78
23
78
51
53
23
20
30
68
53
59
40
28
64
48
32
43
66
37
40
32
60
69
23
30
75
22
79
51
69
51
54
43
35
62
23
29
42
66
58
64
56
35
27
47
50
23
36
66
62
24
53
23
48
76
33
67
72
40
53
43
55
70
66
41
67
24
49
30
38
67
76
79
56
78
70
30
26
61
66
70
65
56
50
43
63
36
54
31
63
61
45
78
71
29
41
54
78
41
45
31
76
21
52
71
27
31
52
21
62
38
54
23
38
28
63
34
59
64
41
76
34
67
41
75
35
41
56
48
35
48
75
45
65
22
57
58
20
33
62
36
29
56
42
61
78
41
62
72
43
64
61
31
69
27
63
56
29
46
69
41
79
45
35
23
33
27
57
28
56
36
27
44
22
30
43
80
79
36
32
38
41
42
38
44
54
44
52
62
25
78
32
49
36
51
20
58
62
24
71
65
36
66
42
67
30
72
51
38
60
40
50
68
27
26
34
43
49
39
63
22
21
33
59
65
63
52
73
26
20
73
34
20
40
60
38
40
35
56
28
38
64
58
71
53
29
42
28
71
34
53
75
38
44
35
50
58
27
60
58
60
68
50
41
28
69
38
77
26
33
36
22
49
62
59
57
77
52
22
25
32
60
63
26
25
27
59
26
39
37
73
41
37
34
49
49
45
20
74
67
26
53
39
63
65
32
35
20
67
36
42
33
73
75
64
28
35
44
38
38
33
53
61
29
23
44
30
20
57
62
79
21
70
34
26
55
78
33
53
35
72
21
58
80
75
52
44
21
33
33
58
79
69
59
38
57
42
43
36
62
30
78
35
66
21
71
37
72
77
47
65
34
74
56
24
24
74
21
80
62
44
27
30
39
63
29
34
57
56
76
36
53
30
21
36
48
43
39
66
57
37
56
68
22
52
25
69
74
52
41
30
37
37
32
49
32
80
40
55
66
74
48
28
40
40
51
68
74
36
52
59
54
51
42
28
45
70
37
73
75
36
80
26
34
24
63
33
35
22
51
38
46
46
31
75
62
21
60
79
35
40
72
22
70
41
24
39
45
64
31
35
56
53
71
63
27
64
59
59
22
48
67
44
31
55
33
55
37
65
28
74
48
42
47
43
65
74
47
60
32
23
55
78
65
35
71
32
52
58
28
52
22
33
50
38
71
66
76
54
73
72
58
28
29
76
61
80
32
38
22
58
46
59
70
47
25
63
31
57
40
53
68
35
56
59
71
63
23
25
33
23
78
29
20
21
37
25
72
28
46
39
31
47
39
56
50
63
72
80
48
70
23
48
58
32
59
76
40
74
47
70
22
49
33
21
63
34
69
34
42
24
36
22
41
48
28
31
49
66
46
60
42
49
71
48
37
59
68
43
37
57
33
44
22
80
48
75
80
48
74
71
44
70
52
64
78
49
27
49
67
79
64
59
35
47
54
52
50
71
53
30
31
27
47
51
26
25
42
43
73
63
31
22
45
72
36
21
62
29
46
62
68
59
72
79
31
23
25
64
28
39
33
79
38
75
67
64
39
31
62
27
27
26
50
59
75
53
20
74
39
30
66
59
41
50
68
41
27
68
21
55
43
67
41
68
77
75
57
64
57
49
50
74
29
49
61
66
41
47
56
21
79
47
52
36
32
45
58
55
50
36
56
53
41
27
21
72
72
71
24
69
80
62
57
35
67
76
26
56
61
36
54
30
72
40
60
59
40
22
38
25
47
28
23
47
26
63
39
22
66
47
35
55
48
73
28
37
59
48
67
37
24
21
58
66
55
61
61
37
49
58
39
74
37
42
25
64
77
34
52
57
42
59
31
71
39
42
33
32
32
24
56
57
79
56
75
55
60
70
67
45
63
76
71
80
20
59
62
32
23
62
31
27
24
59
30
75
38
80
24
58
58
70
77
20
70
38
37
53
76
60
62
72
36
76
56
33
25
24
38
27
55
59
38
48
77
35
75
72
31
68
75
27
45
33
60
27
46
45
46
61
20
46
30
72
30
24
46
30
62
70
30
70
77
78
41
76
27
49
68
53
21
51
34
32
59
67
34
67
61
31
21
32
54
71
64
48
41
30
48
73
67
47
27
30
55
68
77
55
26
78
32
45
80
56
42
46
76
58
21
65
54
75
50
60
69
54
29
73
54
59
79
63
66
64
44
23
24
72
74
47
73
47
73
65
74
57
66
61
40
60
44
62
51
73
33
47
64
37
57
36
53
52
20
59
27
39
33
57
50
28
71
45
24
28
36
30
25
51
20
50
58
50
45
72
30
76
22
26
51
29
74
63
31
21
43
69
45
43
76
23
40
61
73
48
41
77
78
53
34
29
53
38
67
74
47
22
41
77
31
80
55
61
67
58
74
55
67
68
53
29
35
71
41
77
21
77
42
64
22
60
51
68
72
65
48
26
51
44
64
30
69
25
35
32
44
25
80
46
22
67
20
26
34
46
40
51
80
22
78
62
68
79
52
53
55
30
33
73
54
44
41
39
56
69
58
47
58
63
41
29
49
58
62
30
59
51
72
65
27
32
33
30
23
57
57
26
80
37
42
23
37
52
79
50
28
23
22
78
47
57
68
20
66
72
63
78
71
70
43
31
29
31
57
27
76
61
26
58
48
24
47
80
75
39
39
26
49
38
20
64
46
69
27
65
37
48
41
50
58
36
74
25
22
43
22
66
30
71
67
26
39
31
70
52
63
34
37
28
28
74
63
37
43
65
61
36
49
56
58
72
61
72
61
32
37
39
76
71
28
20
34
59
55
74
49
66
43
50
59
75
59
51
73
39
59
77
46
38
53
30
58
37
79
76
64
23
74
40
21
49
37
59
66
28
27
20
20
50
27
20
21
21
41
61
29
64
75
39
22
38
25
49
51
31
74
70
32
40
46
24
57
79
78
63
66
42
68
57
76
45
49
41
53
51
65
43
69
78
63
39
67
41
30
35
34
59
30
43
46
79
70
65
47
57
23
56
66
75
72
73
30
70
24
57
34
68
24
74
43
27
30
57
26
34
30
37
80
72
49
56
23
74
80
56
52
55
26
68
32
55
52
51
67
34
24
42
42
29
54
71
29
26
59
68
59
32
39
33
54
80
30
76
22
78
72
57
33
49
69
23
57
36
58
38
69
61
51
58
66
46
75
26
56
54
45
59
75
45
71
70
24
22
29
33
36
37
61
38
23
27
27
52
49
55
51
40
58
44
31
61
63
34
28
26
29
24
59
46
65
71
63
61
68
76
46
77
24
64
61
47
51
77
20
64
70
68
20
34
29
57
62
36
23
31
28
30
45
77
21
43
76
67
38
32
48
21
57
23
20
24
52
44
25
71
64
28
23
61
68
40
52
72
76
35
57
64
32
77
65
25
60
67
77
80
43
79
39
48
69
41
67
77
56
72
76
36
39
46
70
56
52
57
28
75
52
71
33
23
43
79
62
80
27
79
72
31
21
57
27
23
68
35
58
65
35
52
60
22
35
67
39
44
55
50
40
47
26
51
69
60
20
56
47
39
30
63
37
44
20
78
52
20
51
34
37
28
28
45
35
48
20
56
20
67
53
63
24
56
31
70
76
68
66
56
23
69
73
76
40
62
25
54
49
36
76
62
68
62
23
37
63
66
48
43
29
33
34
65
39
70
29
57
69
57
78
44
23
69
54
52
76
56
58
62
37
58
76
37
35
20
33
49
69
40
80
71
76
49
54
55
61
75
59
77
44
47
59
26
53
79
76
56
70
70
34
59
32
44
66
68
44
79
79
67
67
79
59
42
28
63
73
71
58
37
77
21
34
44
54
61
68
62
20
70
38
31
72
47
78
76
62
52
75
47
62
31
80
71
43
66
43
29
33
40
51
39
38
43
31
40
76
53
28
73
52
24
36
27
54
75
26
62
74
36
71
41
57
32
62
20
44
74
80
38
68
74
22
23
58
68
77
32
59
21
65
21
71
53
80
70
76
28
60
39
55
58
54
68
44
80
57
78
41
36
54
64
64
62
22
74
47
33
48
53
58
78
44
79
36
62
69
24
38
45
23
67
60
75
75
76
63
59
47
21
75
28
21
45
70
22
32
71
34
25
36
49
65
52
29
20
43
75
71
36
54
43
35
21
45
61
66
62
68
68
58
23
69
51
35
68
60
32
37
46
75
28
54
78
29
36
28
33
30
24
63
65
53
62
22
52
59
50
80
34
66
35
67
50
62
65
44
28
59
26
48
39
67
52
26
33
28
23
21
68
44
53
67
51
28
24
68
36
79
52
66
51
80
54
37
78
31
31
72
62
46
73
67
63
51
80
33
64
24
35
78
25
25
52
20
77
27
53
74
64
52
44
24
26
44
33
75
42
67
35
60
44
40
37
27
48
67
66
38
49
27
33
79
69
73
36
30
69
60
39
39
32
80
60
65
44
46
36
20
34
22
48
57
80
26
32
22
61
66
65
43
37
30
56
67
28
35
27
32
63
37
22
40
34
59
61
73
42
41
20
45
64
53
33
79
68
61
59
35
33
41
58
57
75
38
80
28
54
45
36
44
54
65
22
47
34
22
33
36
36
77
59
48
23
27
34
65
34
20
80
69
66
32
71
37
73
42
56
59
20
49
28
31
35
53
53
64
47
64
47
65
75
58
40
67
25
73
73
57
58
53
76
21
68
61
72
30
39
56
39
25
63
31
73
38
74
72
70
29
73
48
31
40
22
32
28
41
67
60
24
44
61
39
40
42
79
38
29
30
48
67
47
26
80
49
24
70
66
42
74
37
53
49
31
23
48
49
36
35
68
21
35
34
57
45
24
51
37
33
38
41
22
64
22
53
29
30
68
67
79
73
59
32
22
38
41
238
89
147
228
119
90
99
89
189
124
223
169
128
160
220
217
197
226
127
201
130
111
189
108
231
141
150
169
171
107
121
195
95
141
94
212
161
225
199
77
245
202
238
112
235
197
171
191
124
114
89
233
137
138
243
106
190
183
75
200
150
216
160
202
107
111
70
80
200
244
191
115
230
211
92
223
241
229
239
243
86
123
202
166
211
130
192
74
70
172
192
242
100
112
215
165
176
191
144
105
99
134
100
78
123
184
133
105
173
139
184
120
170
123
148
185
221
113
184
240
194
227
153
235
182
121
122
239
88
81
96
131
185
76
212
142
189
249
158
181
198
194
111
90
99
71
87
227
94
114
210
179
119
165
130
148
167
200
77
199
155
224
236
81
180
127
122
238
106
84
215
167
203
75
86
237
101
185
77
205
124
193
232
144
250
203
225
76
144
239
206
171
188
224
243
86
92
89
192
248
203
175
149
217
228
199
170
185
194
101
78
225
150
148
168
72
158
223
123
162
197
165
226
166
101
139
111
217
231
206
191
73
151
184
142
124
82
176
86
76
206
212
239
234
93
249
114
248
131
124
106
83
208
102
217
93
194
94
163
200
92
190
102
106
132
175
165
131
105
116
202
240
155
191
183
214
190
138
209
167
152
125
112
218
217
210
98
232
209
181
178
182
239
115
189
124
123
224
77
195
179
190
142
177
241
236
229
244
141
216
154
72
96
225
195
169
207
125
75
73
133
78
173
125
91
243
89
120
129
181
82
166
154
148
203
96
212
161
106
171
217
227
126
249
199
171
109
91
146
203
107
207
74
109
99
152
177
139
176
235
79
193
180
92
136
215
201
87
250
90
155
226
108
114
157
208
165
199
96
130
175
70
242
163
89
204
223
241
106
240
216
164
172
210
213
137
103
198
169
243
168
150
201
153
250
248
169
247
159
134
90
94
245
130
131
79
248
216
72
177
142
224
128
159
215
135
106
123
81
89
106
121
147
131
217
174
207
94
236
210
153
80
190
99
106
72
77
86
151
242
77
93
151
165
215
231
205
180
101
191
188
81
175
88
206
150
229
208
236
77
180
105
93
234
80
240
129
231
220
130
204
213
165
236
103
117
225
206
250
216
151
98
214
103
208
142
143
213
115
182
245
230
143
83
199
150
121
243
102
79
236
232
223
244
160
88
75
131
210
106
128
186
181
186
120
101
245
227
122
112
162
162
86
184
156
110
134
161
191
147
225
183
101
243
232
192
196
197
148
248
126
137
74
223
146
86
222
151
72
164
250
190
250
177
86
117
112
209
174
90
212
88
89
141
225
215
133
197
204
223
97
113
228
105
207
191
128
155
92
248
89
235
167
182
87
98
165
161
168
207
99
244
143
148
72
124
185
162
147
71
121
73
222
173
182
210
107
99
133
189
230
181
250
176
147
104
165
172
209
81
236
161
162
162
192
109
168
202
121
232
91
201
77
168
121
184
173
123
209
161
182
199
159
237
187
147
201
147
243
174
141
82
157
245
204
157
82
73
171
81
247
195
164
180
223
141
72
250
213
232
138
235
198
87
173
242
165
81
177
104
211
94
225
154
210
221
159
210
202
177
223
181
186
88
207
177
195
93
207
94
156
149
83
198
228
200
151
125
80
108
140
220
133
190
131
231
246
92
236
81
83
141
182
188
71
81
180
228
190
246
73
226
130
185
107
152
186
222
83
89
126
211
230
145
98
73
81
126
161
157
245
158
115
151
239
196
168
120
245
189
112
201
245
210
235
98
186
201
231
120
134
240
163
108
75
101
157
155
118
155
235
200
107
227
140
114
170
153
221
100
142
203
141
249
239
107
195
146
198
165
229
81
138
112
187
102
81
210
101
198
120
205
100
208
202
157
240
113
249
122
243
154
76
213
94
221
163
148
197
82
174
192
182
121
119
82
124
210
148
208
148
231
170
189
134
174
104
248
235
181
187
128
183
141
231
206
244
76
220
165
178
235
173
236
233
86
74
219
118
125
81
246
204
166
226
239
166
200
162
100
94
75
135
140
160
147
158
137
81
195
195
87
143
224
244
192
128
103
143
235
206
134
114
235
130
227
99
132
133
88
201
95
246
162
75
144
207
84
81
139
231
93
110
156
221
213
224
224
139
231
96
222
162
97
101
157
202
133
188
72
181
151
173
226
185
88
76
149
161
182
112
239
153
250
136
203
90
206
139
92
222
128
247
104
160
166
130
209
78
86
248
143
129
76
105
168
169
215
225
156
210
238
215
195
215
105
165
72
234
199
70
198
72
112
170
203
226
121
235
142
148
72
90
241
151
101
208
190
219
201
125
198
157
235
221
143
96
71
150
229
151
83
199
109
222
116
172
171
226
192
78
154
96
158
109
93
108
190
135
153
125
105
217
94
176
223
137
152
192
93
244
128
243
205
141
77
84
234
241
90
178
103
224
186
207
132
148
92
135
166
176
152
237
228
247
114
227
113
91
207
225
128
108
129
197
203
129
109
90
79
116
207
136
163
173
195
125
134
133
212
215
96
212
192
115
168
202
87
87
144
120
240
248
134
100
106
163
224
172
129
181
164
221
204
247
149
204
205
82
84
99
229
86
227
177
134
81
206
216
146
168
212
165
147
135
141
84
231
238
86
246
79
95
133
182
233
115
157
245
170
161
225
81
134
203
156
167
74
81
125
188
110
143
177
156
173
122
235
143
239
201
142
244
70
96
210
237
84
159
82
185
246
102
137
140
132
155
211
216
190
189
208
250
228
239
115
87
231
102
88
233
73
248
219
159
114
82
237
208
127
238
112
224
229
204
83
208
132
220
205
142
238
239
101
200
218
244
170
191
228
177
201
132
213
146
100
239
230
116
94
194
78
149
115
106
101
105
73
167
143
246
90
127
180
153
206
193
158
237
192
236
198
231
115
207
170
229
220
136
77
84
197
243
176
169
105
94
169
149
78
99
199
176
113
219
114
178
151
204
174
148
244
98
96
171
111
71
139
124
165
227
242
73
138
200
208
197
109
84
85
181
225
172
190
250
187
130
211
72
135
153
131
228
118
165
234
190
199
180
83
242
151
151
159
116
209
226
117
227
198
224
112
230
216
140
189
110
103
127
180
220
228
144
96
149
163
128
216
225
90
180
233
81
82
192
233
103
85
149
84
233
95
78
190
83
100
143
160
88
96
194
220
221
163
82
229
89
105
77
210
95
103
201
135
72
176
87
242
215
99
181
129
241
244
133
199
149
183
226
77
92
106
91
225
76
247
241
194
71
119
204
154
74
189
215
169
207
222
228
142
80
119
109
163
245
175
188
171
231
173
208
83
207
177
86
216
74
119
125
142
103
100
102
243
183
165
213
242
112
232
87
147
95
167
92
176
202
224
144
123
103
206
183
146
166
145
232
220
213
237
73
219
231
173
95
232
148
192
150
125
175
127
232
115
111
103
122
187
89
125
119
232
185
189
144
153
162
134
129
74
101
220
76
222
101
115
152
150
127
243
228
164
95
118
111
128
87
189
236
178
201
99
199
121
237
207
96
71
199
120
105
143
188
114
244
144
73
218
158
200
169
172
199
114
178
179
160
215
138
117
99
213
156
111
167
87
94
216
134
146
129
72
215
111
84
152
246
113
118
155
181
89
217
241
137
70
121
161
122
172
209
174
244
216
181
89
187
221
78
123
130
89
75
126
146
93
250
248
194
197
163
141
114
217
97
177
81
210
96
218
137
105
215
172
229
70
176
204
120
146
76
151
200
230
226
73
168
202
235
244
153
134
186
123
115
225
134
112
210
211
216
180
239
230
168
92
128
152
214
208
200
158
122
177
248
173
88
103
130
233
92
79
147
145
212
70
232
205
123
87
153
143
236
215
88
196
179
94
146
175
174
183
100
161
167
182
95
128
126
130
225
123
158
188
183
229
130
206
162
124
117
181
130
98
225
163
164
151
98
123
238
201
195
80
70
145
237
211
111
136
223
125
170
157
126
84
160
169
212
136
203
120
109
99
207
118
94
182
90
108
238
158
146
232
235
171
205
115
109
81
170
170
228
146
198
155
213
78
138
123
166
72
219
201
76
228
173
76
200
114
203
217
246
200
202
73
232
122
80
179
165
170
227
205
246
180
100
140
93
129
238
130
75
164
115
203
101
160
178
143
109
167
73
182
99
230
227
83
77
111
78
140
116
84
221
140
199
157
94
92
244
233
214
245
71
98
174
167
110
194
81
233
92
231
226
104
127
192
209
216
89
211
161
240
105
114
227
114
232
97
132
75
233
171
113
216
75
159
97
98
181
203
77
192
232
224
187
122
134
156
133
179
92
85
121
229
127
163
180
89
226
113
108
219
176
200
211
158
130
217
228
97
169
179
147
126
117
173
170
237
75
206
142
191
104
218
178
92
169
172
94
148
125
100
246
246
160
224
143
136
146
161
141
229
80
125
103
162
179
241
108
211
143
138
201
103
158
222
171
96
75
130
132
163
199
78
242
76
71
233
244
188
223
226
73
123
235
83
113
108
147
71
130
95
232
228
158
240
76
246
218
134
226
154
232
199
218
158
226
144
200
86
241
168
135
233
110
73
191
107
186
77
192
94
164
96
158
83
245
105
213
211
82
170
220
104
147
165
226
236
221
160
213
135
124
115
196
151
185
145
113
174
109
168
86
133
203
209
173
211
146
235
116
222
76
116
207
126
127
215
190
114
186
155
244
127
81
203
196
243
103
214
249
238
228
85
90
200
158
112
98
180
102
116
163
92
159
171
163
78
215
230
209
98
160
148
201
111
218
244
114
155
225
226
136
177
170
154
173
71
154
233
147
157
93
117
220
83
81
181
233
128
159
216
180
114
114
74
84
151
78
201
214
124
250
118
179
219
122
154
90
101
89
226
144
153
176
139
154
186
119
164
80
119
95
115
141
218
95
87
82
186
192
249
187
131
78
87
71
137
192
76
81
87
180
125
227
240
75
187
109
132
198
77
113
222
189
245
242
183
82
232
229
192
191
138
147
200
134
212
74
88
78
238
245
149
77
208
176
128
146
228
70
174
229
231
167
219
223
90
167
85
191
194
249
232
129
236
173
173
223
248
134
78
237
120
190
91
231
138
188
179
200
185
226
198
93
108
130
250
145
72
191
98
187
181
159
138
101
248
101
151
157
180
238
215
114
246
224
162
240
108
119
216
99
107
202
193
79
221
149
214
96
217
119
236
207
110
221
248
163
233
157
244
118
223
161
147
177
175
218
219
246
206
151
155
164
90
160
194
153
248
80
123
206
168
101
106
87
190
202
201
80
169
219
206
216
100
78
222
86
194
135
198
78
80
139
133
144
202
210
131
226
139
232
189
160
182
170
131
149
110
112
188
205
104
98
159
224
179
194
190
98
89
127
139
150
239
130
215
197
116
195
174
95
150
119
74
88
187
104
191
73
205
147
235
241
249
135
75
194
213
91
192
99
117
136
102
130
87
193
213
129
190
202
142
155
155
242
172
189
135
223
81
246
113
172
169
239
117
218
159
141
209
212
207
206
141
195
147
238
128
105
179
171
201
205
79
172
155
136
91
221
206
194
191
200
164
163
79
224
199
165
229
113
99
205
119
230
174
89
238
156
220
197
91
243
81
81
132
179
163
177
148
178
87
180
97
215
120
142
89
181
77
203
246
101
85
160
94
127
144
143
216
184
237
128
238
219
181
212
149
224
132
238
107
128
196
199
222
236
235
93
246
160
139
225
105
250
155
162
227
125
180
199
166
150
214
116
157
225
202
195
199
91
119
116
171
170
200
231
77
152
189
195
70
112
214
98
171
112
146
216
148
236
159
235
114
151
211
223
167
220
186
225
141
190
78
218
119
201
237
159
112
189
203
139
140
191
138
127
73
127
194
228
221
72
229
88
138
83
222
103
74
227
216
181
105
96
148
170
218
123
102
127
227
83
189
117
185
248
161
188
164
101
109
136
135
210
98
216
181
110
125
192
117
224
237
75
79
172
202
172
184
142
240
210
134
198
105
108
121
135
234
142
76
155
174
218
154
99
171
136
193
247
211
239
241
234
227
218
231
134
248
240
238
96
250
78
70
204
115
107
130
234
83
216
233
78
208
162
232
173
136
138
188
144
76
168
175
247
165
235
154
246
117
138
162
76
192
147
226
200
195
177
75
167
248
135
181
200
87
152
229
227
246
233
178
94
155
246
171
160
147
170
151
226
158
245
116
199
204
94
146
150
190
125
117
118
248
157
220
129
148
115
105
76
138
200
139
229
192
70
125
199
95
194
208
150
138
95
248
210
94
98
88
180
108
207
129
200
144
138
135
142
180
210
224
215
239
216
178
134
101
152
230
234
108
82
188
151
81
242
158
198
192
161
249
87
194
240
121
227
117
71
80
203
249
195
244
237
249
239
80
162
181
112
184
164
234
70
100
236
162
249
227
232
241
87
234
92
132
163
172
212
168
171
215
127
115
89
249
225
247
175
217
75
222
193
176
192
139
77
234
227
168
166
221
84
236
239
213
202
237
131
183
244
200
95
128
225
186
81
159
73
155
153
213
157
213
161
225
109
177
244
111
230
96
94
104
91
247
107
221
116
221
100
210
88
162
224
228
83
128
162
71
172
174
176
135
110
122
217
79
95
90
213
227
80
82
93
169
133
188
234
173
227
191
159
143
183
145
226
180
168
208
186
238
123
75
94
222
89
142
144
201
214
228
116
167
219
245
114
81
155
74
233
146
144
134
124
152
84
193
128
108
130
81
191
115
244
239
250
73
125
215
81
236
139
147
102
218
210
103
113
166
215
123
124
244
212
181
126
96
97
164
215
155
176
84
191
86
91
127
100
234
173
228
196
137
171
192
240
152
87
235
214
199
81
189
89
140
180
84
199
143
123
181
110
239
181
231
77
86
112
90
98
209
214
224
207
92
226
205
110
102
110
199
198
245
222
229
133
225
232
130
201
160
130
146
217
146
222
187
87
102
220
112
162
206
250
171
227
150
103
198
216
119
72
181
239
106
206
188
165
198
141
216
86
223
74
133
93
136
73
74
115
98
228
86
170
120
181
103
210
181
239
133
194
123
108
118
174
192
131
111
135
224
157
237
199
88
178
185
218
147
212
192
157
112
152
139
165
192
177
147
189
150
80
95
111
219
204
193
239
95
199
94
160
158
204
147
109
205
105
178
229
108
168
225
169
119
184
147
100
208
125
164
217
132
148
175
242
154
246
178
213
93
170
144
86
217
246
244
238
142
246
118
235
190
222
147
210
81
114
200
118
136
78
209
134
135
100
119
158
175
154
229
154
209
167
112
173
187
149
70
123
91
225
102
185
215
207
226
192
99
119
133
246
137
154
181
190
89
174
127
174
71
186
162
131
132
74
109
72
210
243
103
177
226
80
75
165
215
71
121
122
239
239
155
100
126
246
146
101
118
198
86
134
86
249
200
183
150
72
152
178
214
137
103
227
209
71
100
107
151
167
120
166
140
230
143
190
198
111
121
155
205
171
188
159
107
177
109
247
118
123
225
120
135
85
75
70
101
175
218
232
232
189
209
133
146
207
121
105
95
142
176
179
72
95
143
82
193
124
127
157
96
95
94
145
240
158
118
182
118
81
131
84
232
90
94
153
89
223
246
250
143
180
148
178
170
188
203
97
248
214
243
130
86
71
203
104
138
81
243
172
215
123
225
142
123
87
79
249
105
230
140
126
238
217
141
205
194
164
174
115
84
227
100
169
94
176
178
143
110
183
202
219
148
166
197
105
155
134
210
164
80
225
194
240
193
152
231
241
214
205
130
223
162
176
235
217
74
230
112
92
109
167
193
141
223
111
205
196
193
239
244
99
159
161
129
212
206
162
220
214
118
141
91
185
212
212
149
217
74
72
95
129
158
123
165
223
84
72
120
136
218
184
192
80
89
228
73
104
113
96
239
166
230
207
193
175
149
81
135
135
250
103
71
87
191
141
199
225
195
204
193
143
238
161
134
139
73
202
244
168
210
247
174
182
139
225
180
166
142
177
72
98
182
190
109
86
85
232
154
204
213
206
188
112
207
207
180
201
164
169
179
118
192
233
185
208
196
102
132
119
72
171
114
204
240
114
215
150
125
167
172
220
87
109
118
162
141
181
178
136
142
229
77
180
84
116
217
179
162
114
235
100
149
76
185
161
213
242
178
141
188
72
196
84
98
197
190
75
181
233
220
138
196
79
90
122
250
91
185
84
72
120
155
204
78
230
125
84
158
223
236
172
225
145
191
129
182
195
191
210
111
125
150
245
133
184
132
198
145
225
120
215
184
223
236
183
126
87
189
86
97
158
186
107
230
156
144
203
110
92
107
133
106
236
226
188
209
243
171
77
73
161
73
155
242
92
130
103
230
91
208
215
120
170
105
88
138
143
94
125
146
133
247
197
81
126
185
219
246
144
235
249
203
208
196
106
198
128
209
250
111
79
229
138
185
194
231
199
146
239
150
85
232
200
92
226
166
184
249
163
156
165
105
129
215
95
142
154
106
211
107
245
182
163
114
122
155
169
126
119
137
86
70
140
175
147
198
90
249
127
146
184
185
166
106
247
227
121
103
250
163
128
127
95
186
202
201
215
220
95
75
162
215
193
231
158
163
239
204
77
188
98
220
86
201
148
97
209
165
114
223
227
221
195
231
222
207
91
105
141
79
146
177
179
132
102
222
138
237
232
217
74
109
120
91
134
247
210
138
140
124
219
148
106
222
82
236
239
223
72
178
229
221
163
112
101
144
139
117
168
140
161
87
114
141
249
171
176
242
237
183
75
183
98
217
249
87
195
183
217
96
106
90
96
96
137
206
227
147
192
171
204
110
115
165
144
222
217
139
140
90
83
205
220
146
240
218
200
184
101
141
169
102
148
208
236
155
171
120
169
208
214
247
85
220
220
94
72
162
245
111
210
72
103
101
105
124
217
230
191
183
76
141
250
173
229
187
248
145
168
114
71
213
102
215
236
225
127
192
200
138
117
133
149
209
250
119
79
93
112
131
139
145
247
77
104
231
196
169
133
231
233
144
198
145
102
135
207
140
238
189
126
229
158
195
195
73
115
191
235
190
139
145
195
238
92
110
227
209
208
76
233
80
160
233
82
98
164
191
84
91
124
96
183
196
183
93
141
227
214
128
187
225
202
80
111
201
112
177
86
146
110
110
132
195
110
142
94
196
182
95
221
148
163
163
224
237
160
206
162
194
168
156
84
214
88
119
179
143
218
190
235
110
98
71
99
129
123
246
246
219
239
189
197
172
141
239
186
195
150
170
87
240
72
167
209
158
210
208
156
105
181
205
227
187
244
172
136
101
120
116
169
234
245
241
137
233
79
72
155
79
126
121
197
231
210
248
126
168
195
210
118
233
196
201
231
110
185
176
126
235
151
234
161
145
90
140
231
118
77
76
244
91
116
244
131
200
104
169
70
154
117
152
87
240
183
214
152
178
147
99
223
195
128
108
166
97
192
226
149
179
120
121
159
134
205
89
218
104
171
84
233
85
103
113
102
190
178
134
156
162
153
92
138
188
234
234
154
195
225
237
241
242
130
99
201
181
201
231
148
182
148
203
200
176
240
83
119
78
236
226
83
184
148
74
117
141
155
141
74
211
191
205
154
225
80
146
106
189
145
162
149
107
138
81
228
152
151
70
90
192
247
153
202
118
125
207
116
200
245
97
139
74
250
169
127
88
155
103
122
146
193
242
74
217
109
117
160
147
161
163
124
75
232
216
231
161
168
94
148
227
215
212
209
196
113
185
193
83
227
193
132
96
243
106
197
247
155
103
135
84
173
163
159
173
194
245
131
214
159
126
212
70
81
218
223
76
227
223
133
214
149
232
206
70
192
78
110
96
89
93
222
106
177
119
194
244
200
189
236
234
192
147
200
138
162
170
210
136
214
171
118
141
181
242
73
148
172
180
234
197
79
124
235
130
81
138
114
187
149
161
70
203
169
92
165
79
100
84
161
210
135
141
99
232
212
96
107
150
203
245
237
138
106
114
163
156
249
74
171
172
143
73
223
201
233
82
238
99
188
205
193
214
88
159
174
121
223
215
241
202
201
171
139
128
184
240
143
116
187
196
172
104
248
147
247
219
82
168
70
209
85
178
136
78
103
249
171
73
137
107
233
96
247
112
234
212
209
120
114
220
250
84
192
133
240
138
141
106
115
80
214
112
192
141
183
90
249
210
243
146
223
175
237
75
97
175
120
242
172
165
219
114
94
240
162
117
100
108
135
219
166
132
104
104
249
85
171
234
127
70
73
94
156
197
154
188
143
227
173
135
233
196
147
74
241
140
244
181
228
158
126
185
113
150
249
176
142
77
164
239
172
204
172
128
157
218
80
136
106
77
113
119
247
232
246
103
169
75
216
161
167
155
210
241
239
222
135
178
79
225
215
215
192
177
191
202
161
210
195
164
110
144
238
230
185
107
221
242
186
160
124
200
86
139
87
114
229
249
125
195
193
149
202
206
102
175
163
171
176
81
138
75
194
202
227
90
104
128
186
213
170
149
145
74
78
151
132
190
239
235
199
224
81
205
163
174
170
250
106
99
166
129
169
244
167
138
124
190
205
225
244
148
123
247
150
248
181
250
157
150
81
210
192
87
220
141
71
234
206
76
133
127
98
248
84
135
158
131
204
100
200
78
73
73
178
174
205
231
221
190
201
194
188
185
105
210
234
138
127
102
120
100
125
163
131
215
218
150
131
207
86
179
93
93
235
215
91
241
221
140
211
169
164
112
209
191
153
70
133
120
141
136
89
71
222
181
149
135
71
220
154
131
189
247
202
108
228
191
130
88
215
131
210
229
147
196
176
133
215
243
182
116
106
116
123
178
207
228
240
124
202
233
123
112
155
226
123
92
119
130
175
155
139
127
249
178
182
170
178
237
137
176
91
248
168
131
168
199
175
121
216
192
179
185
174
85
185
76
243
140
164
149
186
248
217
94
93
148
141
175
92
73
244
179
208
243
92
244
152
90
175
201
74
245
101
221
156
227
121
188
248
186
153
124
87
202
88
116
216
80
235
229
136
75
122
79
85
230
222
222
220
139
109
227
76
202
152
206
139
244
204
225
189
97
217
244
234
89
192
200
87
131
183
214
114
129
212
186
228
113
123
94
90
101
77
164
246
139
248
122
143
222
120
246
182
245
248
70
207
171
159
145
217
222
101
162
152
121
138
238
157
135
207
99
77
191
122
224
105
239
232
89
131
242
119
189
123
111
134
168
76
114
80
188
144
180
170
218
216
169
126
183
121
102
205
180
76
130
202
244
249
241
112
142
249
81
174
229
239
181
245
177
186
98
171
124
226
237
208
119
248
77
135
177
214
178
238
229
137
87
133
123
152
211
246
121
200
82
84
203
155
102
216
215
182
104
227
235
244
213
239
238
243
110
87
105
250
245
219
204
79
218
88
109
205
201
175
231
138
218
249
155
100
204
105
236
198
82
146
154
114
78
234
160
218
199
218
201
209
220
138
241
113
120
74
226
127
129
236
115
191
181
212
219
86
153
186
223
131
161
168
224
222
108
146
239
109
121
71
117
247
209
235
232
80
96
134
155
86
94
86
222
95
222
119
104
104
210
74
174
83
199
145
87
123
150
146
204
226
207
154
161
108
221
80
129
122
84
123
124
94
213
129
97
193
120
115
137
71
150
241
92
104
177
83
86
179
228
114
150
171
99
219
181
117
124
107
215
106
153
148
142
244
186
196
214
230
177
194
193
108
83
149
117
76
223
110
250
98
115
80
127
185
241
211
160
185
178
139
95
193
159
248
219
72
165
149
159
80
74
159
163
148
227
131
209
157
75
223
170
158
199
170
167
122
131
75
158
131
234
199
109
198
175
207
127
209
95
187
150
182
93
157
157
212
180
127
81
161
161
72
198
128
145
98
89
163
80
245
141
213
226
104
199
248
215
186
206
218
220
171
121
195
151
77
92
217
143
231
207
123
233
105
94
97
239
197
202
144
75
111
221
205
159
126
87
216
148
201
209
145
149
164
137
115
127
101
229
99
176
124
202
146
250
234
157
248
242
206
116
249
206
124
135
108
207
152
180
189
150
103
190
80
156
241
178
74
228
151
89
240
164
167
71
236
141
181
246
147
151
246
164
110
238
150
191
164
98
235
83
116
123
121
166
206
132
122
167
163
181
152
77
172
137
111
85
246
241
144
78
211
99
217
137
182
141
162
226
206
217
230
202
178
164
223
152
205
225
186
200
219
197
164
86
203
107
84
125
236
147
81
225
143
227
193
231
245
125
132
167
82
249
215
185
89
76
163
190
101
128
232
115
219
199
158
164
163
120
209
161
92
155
75
195
102
158
117
174
200
236
213
125
192
79
241
245
96
247
211
143
190
135
184
112
220
91
74
90
135
179
223
79
83
144
189
211
226
218
77
198
79
240
173
93
136
174
183
83
130
117
126
124
177
175
129
230
159
84
106
104
163
117
188
189
103
106
238
182
110
83
148
190
217
214
135
104
106
131
225
154
166
117
227
182
129
124
228
187
108
71
87
221
155
155
87
178
115
213
109
175
125
210
241
171
166
219
212
91
110
128
229
232
185
174
109
202
212
190
119
108
205
236
151
160
201
146
72
130
231
172
148
163
185
132
100
78
77
129
206
130
154
214
90
120
119
211
183
182
241
211
168
219
75
94
124
210
175
86
190
93
138
132
133
120
146
221
95
101
193
186
158
230
87
122
109
230
160
194
238
200
118
157
83
113
207
109
99
76
88
75
221
99
166
248
157
174
159
125
197
226
219
76
186
165
125
238
235
123
82
225
186
100
211
83
165
97
140
137
130
83
143
85
218
116
74
89
197
144
127
248
70
226
186
166
156
93
165
127
186
134
212
184
194
93
227
113
82
116
241
194
192
191
92
197
88
139
103
70
184
113
157
152
96
202
83
117
156
117
138
173
127
195
185
244
139
89
218
118
153
103
202
222
198
149
250
136
114
97
237
237
94
101
155
198
78
213
195
189
144
229
246
83
166
82
223
224
111
249
81
234
118
92
92
176
146
243
200
131
161
249
126
132
139
79
226
109
122
249
160
76
246
103
135
248
246
222
164
197
189
140
115
128
211
226
109
94
102
140
157
200
127
151
172
156
147
247
202
214
196
243
103
90
71
228
99
164
192
166
168
124
248
186
204
103
71
239
172
75
250
220
197
215
212
115
102
82
171
191
248
90
146
98
116
83
237
197
193
75
112
202
191
177
238
201
185
149
163
187
93
192
230
104
241
109
177
85
78
137
191
124
186
128
81
184
158
247
228
116
150
160
168
119
114
141
161
102
154
191
208
250
183
85
137
197
90
198
198
239
235
71
188
131
137
165
113
84
202
110
78
92
77
131
201
118
161
176
231
211
145
120
206
152
101
70
227
237
186
235
150
72
230
184
171
176
178
116
218
149
225
228
131
95
112
165
247
221
71
85
187
162
169
138
202
216
123
170
117
92
197
155
111
122
101
99
98
217
174
185
211
170
84
105
149
77
130
153
223
231
93
206
147
176
148
147
100
139
110
104
145
139
143
246
226
181
192
179
200
207
199
167
222
131
178
195
184
125
109
226
205
136
143
101
201
113
214
236
122
242
96
207
214
102
183
198
87
162
192
132
176
76
183
221
173
198
172
214
141
162
250
197
140
171
128
151
118
165
200
84
163
134
70
178
247
187
96
89
111
221
250
231
219
240
203
79
223
116
77
154
84
129
159
208
87
158
86
225
200
87
71
87
206
171
199
117
239
166
203
174
224
209
242
222
151
193
248
146
235
241
122
232
151
142
86
139
161
236
237
202
224
173
175
179
91
170
138
189
191
98
211
175
223
133
79
200
198
190
214
152
112
213
237
240
113
154
159
144
149
200
164
72
158
139
95
235
199
248
186
209
220
143
134
135
95
173
165
224
114
219
213
227
183
243
162
77
219
157
159
98
249
86
235
143
134
132
232
154
189
235
123
163
230
227
173
127
190
128
123
131
115
215
227
222
145
206
131
70
94
202
250
229
86
84
177
144
165
170
150
145
77
205
207
177
238
128
162
111
250
175
90
152
246
147
160
86
206
249
221
171
232
86
98
140
206
152
147
75
233
206
126
100
93
71
185
202
124
140
133
81
146
240
159
88
120
112
166
223
240
144
202
91
77
234
83
222
223
242
73
101
73
210
88
237
232
107
180
228
149
98
211
243
146
187
175
161
167
80
151
107
238
116
87
109
157
115
71
100
110
77
192
125
115
207
198
238
180
107
179
240
143
206
81
160
134
132
240
158
153
222
230
82
201
159
180
249
220
123
96
141
167
148
181
243
141
157
149
92
152
222
184
134
165
234
131
127
223
243
94
187
143
155
141
236
210
189
196
174
126
171
192
192
84
150
158
130
201
169
228
80
169
173
91
216
230
250
144
230
215
152
127
163
110
206
207
244
121
84
133
214
102
189
154
229
82
215
74
70
139
95
204
72
120
210
155
112
143
107
200
221
153
173
110
248
103
87
243
224
192
166
231
152
191
75
142
198
153
106
243
223
184
79
176
197
81
96
187
212
97
109
223
76
238
197
227
180
132
75
216
218
182
222
233
169
92
185
246
133
244
197
202
73
176
220
157
139
218
110
173
88
141
79
143
102
71
194
167
84
226
142
203
78
163
129
152
90
112
112
187
186
121
229
234
223
101
138
142
100
153
247
217
231
241
193
186
186
113
242
97
186
82
155
71
107
73
197
210
238
81
146
168
139
194
236
178
163
113
158
93
140
226
87
164
202
159
152
129
208
126
111
146
82
217
154
244
133
133
242
150
122
115
230
95
219
145
104
116
83
211
108
96
121
245
132
225
102
91
203
88
109
87
81
73
162
148
117
250
173
217
130
204
211
245
149
182
215
94
177
167
94
132
129
187
109
232
75
144
215
172
147
134
239
133
109
231
222
111
153
179
71
86
182
226
184
124
117
131
120
85
102
74
185
161
122
187
234
156
162
190
229
131
243
243
164
132
195
73
191
86
242
209
112
90
181
141
229
174
210
109
150
79
73
221
147
161
161
223
88
219
77
88
200
117
81
146
204
74
70
104
152
119
174
76
87
99
164
175
228
187
142
127
204
230
109
228
184
176
85
165
191
245
158
215
249
224
202
115
165
188
231
117
99
172
196
223
73
238
199
250
197
170
168
184
238
106
166
89
175
247
141
114
200
250
206
215
210
158
72
224
150
235
81
217
87
239
144
141
212
245
169
193
138
219
167
184
183
155
93
146
118
147
223
157
213
236
212
135
126
122
178
132
164
222
131
143
150
211
138
181
71
249
244
175
167
220
194
249
150
205
230
108
99
232
226
132
108
213
160
124
177
131
233
205
232
124
163
218
82
231
211
131
227
78
157
130
72
247
225
210
232
99
85
77
90
79
249
134
216
99
250
217
86
182
248
149
174
179
74
226
243
216
192
231
92
174
111
241
236
156
186
246
81
248
168
194
191
104
130
139
161
212
75
192
178
168
104
243
169
132
116
188
106
243
98
216
235
152
94
83
169
87
185
217
135
72
200
173
249
228
206
232
231
142
121
90
239
175
101
146
136
222
129
93
241
231
75
225
129
204
132
113
115
137
176
199
78
250
144
127
192
217
226
248
190
192
111
187
214
94
78
106
204
212
203
146
152
134
217
138
248
224
118
209
100
148
236
236
176
88
193
171
223
220
154
143
121
128
111
106
212
219
247
234
80
235
145
144
191
77
218
237
172
140
119
165
83
110
85
214
126
230
86
112
130
196
220
86
225
180
117
212
115
164
132
153
123
175
124
163
102
82
246
222
95
129
136
247
133
107
220
106
149
150
151
143
100
211
148
92
192
172
192
222
122
128
120
189
215
83
106
84
225
247
192
79
79
73
75
189
186
187
97
198
144
128
77
235
197
160
136
96
153
229
79
241
226
85
79
109
157
206
195
125
245
216
219
238
203
92
158
75
106
122
152
193
70
74
135
156
129
101
152
244
95
112
96
237
226
185
180
242
117
232
129
160
135
114
212
103
242
130
199
199
171
190
155
136
120
157
198
218
124
137
146
194
118
192
227
114
90
214
222
107
168
192
88
70
155
178
116
237
216
118
173
247
167
216
141
221
68
44
49
49
72
21
67
20
76
67
23
53
54
34
65
75
34
27
57
21
38
46
54
70
77
79
34
25
46
42
75
33
72
28
23
80
67
60
51
34
31
58
22
23
41
61
57
36
22
36
24
51
20
26
52
37
56
55
67
73
37
20
80
54
48
32
35
50
46
24
74
80
78
73
20
57
67
23
63
52
58
57
50
66
20
42
65
43
75
30
75
27
59
61
58
66
23
68
41
63
23
61
50
27
75
25
56
28
52
71
71
72
75
31
47
29
30
29
65
68
27
31
42
42
34
62
40
60
51
69
32
46
51
69
71
58
40
63
22
58
23
55
64
24
73
80
25
21
24
31
28
31
55
59
31
66
59
63
20
65
65
77
25
59
39
41
28
52
24
44
37
46
31
34
46
64
80
59
64
62
25
32
77
23
63
74
60
21
80
26
21
62
68
44
52
60
56
43
65
44
50
57
54
21
66
20
65
53
26
23
33
69
76
28
69
65
24
41
56
61
52
67
57
24
32
44
28
61
23
37
41
70
72
50
34
78
65
44
51
60
48
43
68
49
54
64
75
29
21
77
26
67
48
62
73
71
55
26
63
39
55
78
55
60
69
35
68
60
74
22
72
64
27
61
36
21
58
28
33
30
73
46
40
24
73
43
79
39
47
30
30
37
23
32
65
20
22
64
54
78
37
59
52
52
46
29
28
56
76
75
21
20
62
63
71
40
70
45
32
60
43
28
62
44
61
50
64
72
77
49
36
21
30
80
68
27
22
30
25
24
67
24
60
25
41
65
22
54
53
27
73
65
29
74
79
57
51
68
35
75
75
20
37
48
61
65
68
50
70
56
23
20
29
63
35
21
40
49
41
29
68
70
41
22
62
42
43
36
60
69
23
62
33
58
20
33
29
34
41
71
45
67
77
78
76
44
73
35
74
59
23
65
39
52
80
44
59
41
37
51
48
32
53
73
40
39
54
48
20
37
31
32
60
49
67
65
60
34
57
46
74
41
34
38
46
25
71
20
59
34
57
67
55
37
50
33
72
38
23
37
33
30
57
74
64
76
54
23
51
60
40
54
65
53
34
78
66
78
47
33
65
20
24
58
74
68
77
23
64
67
63
46
63
33
63
32
21
70
62
22
30
24
22
28
55
38
29
60
30
35
63
62
76
39
74
57
31
20
34
30
37
70
68
73
72
60
63
72
62
61
73
29
32
26
72
68
22
74
24
77
60
42
44
35
26
52
41
34
25
68
54
72
42
34
49
46
31
37
38
74
37
23
50
42
61
50
80
77
41
21
30
53
58
26
66
23
32
31
43
47
45
45
34
23
48
75
40
72
43
30
70
28
64
30
25
29
61
23
24
32
44
47
56
65
22
35
34
56
63
31
50
55
72
20
47
39
20
42
79
62
77
49
39
27
33
25
52
71
43
73
44
47
65
76
80
23
71
54
72
76
32
35
46
45
79
56
37
43
31
21
77
76
50
78
72
61
22
68
56
32
38
67
64
69
47
48
46
31
56
43
62
65
44
55
26
48
74
37
60
63
45
34
24
64
76
59
44
22
80
54
58
26
40
71
21
38
43
28
37
63
77
54
34
60
32
46
59
33
73
64
64
62
38
41
35
22
72
47
69
39
46
79
78
42
61
54
47
56
23
78
67
67
56
73
69
48
40
75
37
67
72
54
37
62
79
41
34
75
74
70
72
67
43
65
66
58
60
61
53
21
71
37
66
59
33
33
66
39
78
67
51
50
71
50
48
21
22
70
73
31
56
32
26
46
28
21
63
63
40
63
70
74
71
60
52
33
46
66
71
34
49
57
44
21
78
28
61
32
25
29
74
52
72
63
61
36
72
24
72
70
32
48
21
36
25
62
58
43
23
78
31
32
27
57
48
23
76
52
53
68
48
34
57
73
27
53
24
28
60
20
51
25
48
67
37
64
59
58
22
43
49
22
54
73
25
75
47
69
66
53
43
36
79
41
38
46
28
45
68
72
64
66
34
28
56
56
68
65
50
21
60
78
22
60
50
73
47
70
39
31
78
66
40
34
53
49
67
72
41
36
36
33
70
70
69
27
40
37
38
79
69
80
42
61
58
49
22
37
28
33
78
49
20
32
44
80
76
28
24
25
77
50
27
34
28
48
51
46
78
72
21
40
21
53
65
66
55
60
25
27
26
20
51
72
35
75
20
40
54
34
72
43
57
46
20
29
38
67
27
20
30
24
74
73
72
52
23
32
35
49
74
78
80
61
28
45
39
24
31
60
28
52
70
25
57
69
75
75
42
20
36
63
80
75
60
31
47
67
59
56
35
74
35
57
62
20
53
26
65
72
66
36
45
46
55
39
80
24
62
20
66
66
58
56
55
26
35
25
53
56
44
21
49
73
23
56
59
66
68
76
80
32
67
38
80
73
63
48
77
66
53
37
65
66
57
65
65
39
67
61
54
63
68
51
46
21
31
78
67
66
25
31
79
25
35
42
80
22
47
25
28
73
32
61
57
78
43
79
50
68
21
39
63
50
25
29
47
75
26
71
44
58
58
37
68
58
70
25
70
72
35
79
50
22
34
27
73
56
75
70
51
29
68
49
30
51
23
23
47
54
51
48
65
21
54
20
28
79
74
46
30
43
22
72
56
78
44
50
74
66
23
62
46
57
71
36
38
54
61
33
47
72
21
63
34
66
80
66
57
69
69
68
41
26
59
50
79
60
57
47
65
38
60
33
69
21
62
67
57
64
49
63
48
72
46
23
53
32
28
32
21
54
37
69
52
78
54
70
57
56
40
58
26
61
21
53
47
56
74
35
28
46
24
27
32
30
50
47
46
45
41
64
49
52
79
28
34
40
73
37
49
20
39
36
63
37
72
26
29
54
30
22
47
75
23
49
47
42
24
31
43
76
45
56
35
49
43
67
42
68
74
66
48
79
79
63
25
37
29
43
58
24
32
35
22
26
20
64
79
25
60
72
68
30
74
53
76
35
60
42
63
69
65
47
21
65
74
34
78
30
24
73
22
50
23
44
32
76
37
42
23
57
59
50
43
29
44
38
76
66
25
39
26
29
41
65
44
67
35
33
72
76
79
27
69
69
43
49
50
50
56
65
68
63
49
37
54
40
21
63
36
25
27
49
20
47
20
28
55
71
28
45
26
57
60
26
71
35
33
43
74
51
41
58
66
44
80
80
53
47
20
37
21
80
40
74
50
23
67
65
68
31
69
26
57
70
38
57
24
26
61
47
76
27
69
33
68
56
44
70
43
56
26
67
71
36
71
79
78
48
63
78
62
53
22
33
60
54
79
77
55
75
24
39
75
61
41
52
58
67
51
61
35
36
42
32
26
77
60
80
26
77
24
21
25
34
28
20
36
66
55
51
61
63
77
44
33
63
22
44
29
69
63
38
33
49
65
49
35
80
50
70
59
43
79
42
51
32
33
70
26
40
56
20
20
64
58
20
50
33
52
51
43
41
72
53
27
36
23
24
60
72
42
74
40
78
44
79
28
78
28
25
64
26
39
38
39
77
62
54
78
32
45
40
62
63
36
57
57
72
59
64
65
69
27
48
63
54
47
68
51
56
65
33
77
75
46
70
38
39
72
32
52
76
60
78
35
28
64
42
62
42
47
43
62
73
25
40
24
22
72
54
76
66
48
39
47
60
52
77
29
68
71
54
32
20
55
66
55
72
77
57
38
39
77
55
38
55
27
58
33
44
29
36
42
53
59
59
65
67
78
58
29
80
61
30
33
44
21
38
27
80
57
60
35
39
27
43
37
47
68
25
58
72
53
78
24
44
80
25
42
50
36
25
24
66
79
54
49
29
76
55
22
62
26
47
51
78
76
35
23
80
55
41
75
65
74
57
63
24
67
63
43
43
41
72
47
22
51
38
59
31
22
74
31
35
70
43
48
61
20
36
78
71
55
73
38
20
30
22
46
48
29
51
73
70
78
61
64
28
21
65
56
58
39
71
28
63
33
47
64
60
48
40
51
35
24
74
79
24
24
62
27
43
33
68
23
79
73
21
43
20
28
59
56
44
28
26
35
39
75
26
29
33
73
65
44
46
53
69
50
21
33
29
61
47
43
30
50
26
72
29
68
73
51
46
64
39
43
30
35
76
47
51
74
66
69
56
67
62
74
59
41
23
30
73
62
72
32
21
54
21
65
24
28
78
37
44
25
27
38
20
44
44
61
48
79
30
45
73
72
32
55
33
33
46
52
50
75
25
51
44
77
55
50
20
20
64
38
57
28
50
35
64
33
25
80
72
25
39
68
26
73
56
31
25
59
57
50
44
33
69
46
68
24
28
56
45
21
76
44
57
30
69
28
66
28
77
71
49
43
47
71
65
55
26
37
34
29
79
52
76
30
46
37
79
72
46
32
22
40
32
65
79
45
65
70
61
48
32
72
59
74
77
67
31
22
60
24
59
33
51
61
56
56
74
33
69
59
36
52
30
21
72
46
54
53
66
34
27
33
40
22
22
20
77
20
49
58
53
64
58
31
43
66
38
26
37
48
41
58
51
40
77
28
62
47
54
78
46
47
35
37
62
25
51
24
26
74
59
69
74
52
72
35
42
47
39
23
54
56
52
22
74
45
24
22
41
50
48
35
59
40
68
61
45
38
22
62
63
67
66
78
63
48
36
49
70
20
38
45
32
61
48
44
40
23
47
40
49
48
59
42
57
36
22
22
22
61
39
65
60
72
51
60
78
70
71
65
34
24
30
67
57
48
31
21
24
75
22
57
56
51
73
33
66
60
21
69
36
23
23
23
43
38
65
45
24
25
80
77
57
80
70
60
77
43
77
66
74
43
21
48
68
25
51
76
51
20
27
35
64
66
59
30
43
41
39
65
37
31
71
57
68
33
21
68
52
70
28
35
57
68
75
74
73
31
51
34
67
25
79
20
53
69
44
43
38
51
68
67
65
47
32
42
54
46
69
54
48
64
67
72
58
75
21
78
63
79
40
77
48
79
37
23
21
44
45
22
53
67
73
65
35
42
55
63
64
42
29
57
27
72
32
62
37
25
76
35
60
43
48
37
70
50
37
68
41
80
68
30
62
26
38
61
75
24
55
24
71
63
47
66
48
47
66
78
23
26
36
24
47
78
69
37
44
27
40
27
80
73
62
28
35
55
53
60
34
40
55
71
20
55
69
51
74
31
64
44
68
42
53
62
27
25
21
46
35
77
41
71
56
63
48
20
36
30
38
74
34
48
62
56
38
21
37
44
35
65
20
49
26
74
35
42
32
28
33
63
60
30
36
24
28
48
79
56
34
20
29
39
20
62
77
78
37
22
31
69
54
71
76
20
23
61
78
36
34
23
22
44
74
78
26
67
73
56
63
35
20
35
53
80
40
54
71
64
33
74
33
58
35
44
40
71
54
70
68
43
40
70
78
40
58
38
42
54
48
67
30
57
79
55
79
54
62
50
37
78
27
65
35
32
54
59
33
42
34
24
76
32
32
55
65
42
54
63
21
41
68
39
29
70
75
22
77
56
26
67
50
27
64
46
58
33
20
40
78
41
32
75
31
35
33
49
54
79
51
51
59
51
24
47
20
67
56
67
66
57
20
51
57
22
42
21
60
26
47
36
33
25
80
48
26
63
60
23
78
49
54
43
25
20
65
69
32
70
68
28
60
38
36
73
35
29
50
79
56
27
61
69
71
75
55
61
70
53
51
58
42
66
75
35
64
44
40
53
60
60
22
42
77
33
47
40
50
47
42
41
39
80
52
41
33
47
49
30
31
79
22
20
77
57
80
41
71
42
45
60
37
45
79
74
53
70
53
60
34
68
36
78
65
27
23
35
30
24
78
70
38
53
21
27
50
37
65
69
50
38
48
31
44
31
79
34
41
20
47
43
60
68
58
69
54
65
80
59
39
54
56
62
80
77
67
42
68
20
40
47
27
64
55
31
45
48
27
40
34
68
43
80
25
32
45
78
53
41
70
29
80
69
32
56
38
34
72
56
43
43
51
78
75
35
53
77
39
36
72
61
55
58
52
20
31
70
59
66
68
75
77
43
66
41
79
40
54
39
58
60
29
22
70
33
38
37
41
77
41
36
79
67
63
20
24
52
40
71
49
44
33
67
72
69
50
43
57
39
41
64
39
79
74
28
57
38
45
41
35
60
61
28
66
42
61
35
47
62
38
67
58
51
45
28
39
24
77
74
44
79
54
33
20
43
49
67
77
35
21
77
32
64
28
43
25
75
28
32
51
53
38
74
75
51
22
24
46
60
65
29
70
55
73
24
33
23
70
60
46
73
24
21
75
55
74
23
62
40
48
55
44
79
41
29
55
75
52
43
66
26
25
40
56
60
27
50
40
77
76
63
71
30
43
45
32
34
38
36
54
40
63
45
33
77
60
49
45
32
32
72
40
58
22
57
64
23
23
62
54
68
26
40
51
57
78
36
24
33
66
46
41
31
39
38
33
66
63
79
68
77
78
43
68
41
80
30
57
47
29
28
21
29
60
43
63
35
56
76
75
21
48
23
78
52
41
54
22
69
35
25
60
77
25
52
42
57
38
78
38
54
57
36
77
72
23
38
73
72
22
59
57
67
48
64
35
25
46
34
43
32
72
60
21
44
74
68
63
20
61
27
68
70
48
53
34
36
62
29
47
44
39
53
63
76
47
40
69
56
47
74
47
60
54
53
66
58
33
56
32
72
71
36
53
67
78
23
35
27
69
68
20
71
66
67
43
57
70
54
62
66
57
62
44
78
79
36
77
53
79
66
54
23
36
51
24
66
20
32
64
39
21
67
68
50
33
64
62
36
69
65
56
35
65
60
24
75
55
69
25
43
47
58
79
37
58
27
42
51
70
22
20
28
56
62
43
34
75
39
40
72
38
59
71
67
50
58
68
29
40
40
38
59
67
20
79
77
63
30
76
24
69
65
49
34
57
27
28
59
42
56
80
40
28
76
46
40
20
43
71
75
46
71
44
56
78
46
33
29
75
60
45
39
44
75
31
48
74
72
40
59
30
42
22
77
31
59
54
38
46
29
47
61
63
24
49
60
25
45
48
51
46
62
65
37
42
55
65
33
60
71
53
48
69
66
59
44
52
20
68
74
74
58
69
63
20
28
75
61
47
77
39
26
56
33
79
60
79
40
47
49
21
56
45
21
21
43
66
24
59
42
63
48
55
43
52
79
74
40
54
76
42
20
25
29
29
49
59
32
53
27
53
66
40
24
59
35
67
32
78
31
65
59
37
72
59
41
27
22
63
73
50
80
27
51
53
72
74
45
76
59
24
29
75
43
29
22
54
36
33
67
36
74
80
63
69
26
74
30
75
47
21
68
71
54
67
68
62
78
64
67
20
75
22
45
63
79
30
79
65
42
51
43
38
25
73
42
50
75
79
54
72
78
26
46
45
59
72
74
52
50
55
70
49
36
36
41
51
25
71
58
41
66
65
63
63
65
52
43
46
35
37
24
26
42
22
64
22
41
76
50
59
27
55
77
29
76
32
30
49
75
70
63
47
36
43
29
51
49
39
67
52
33
57
53
25
79
58
46
72
52
30
39
26
76
69
20
41
80
23
41
72
46
29
51
22
62
34
59
43
57
22
42
66
67
42
62
58
22
32
48
60
34
70
42
20
58
68
50
78
44
46
53
53
53
41
60
22
23
59
52
69
73
59
68
27
48
45
75
55
51
32
34
57
21
52
54
23
32
38
32
28
80
64
21
35
63
28
76
20
65
27
39
57
34
53
45
26
61
68
75
26
69
41
80
40
20
57
34
39
78
61
25
51
48
29
36
47
31
26
57
78
43
57
79
78
48
47
73
20
40
69
48
77
25
79
25
45
79
32
28
67
25
22
44
72
71
48
20
69
33
20
59
59
50
72
24
62
78
64
47
47
26
23
42
39
41
57
39
29
71
49
21
73
64
54
77
63
34
29
23
68
63
80
20
30
26
45
24
41
28
32
36
20
58
74
36
40
22
23
51
67
50
51
28
23
35
60
75
34
63
73
61
50
63
55
52
75
21
80
77
59
23
66
31
69
51
61
40
49
55
49
48
74
20
41
73
39
35
48
54
20
28
53
33
63
53
36
69
68
25
31
59
35
75
28
36
50
71
69
70
54
41
21
59
40
20
68
59
68
74
22
53
21
23
38
46
29
61
38
61
26
31
61
22
27
46
63
46
79
45
23
48
51
66
53
43
46
48
22
64
22
49
20
30
66
73
21
68
76
33
70
32
36
75
67
58
51
32
28
46
50
36
79
67
72
46
69
45
55
74
54
48
61
76
59
31
52
65
47
56
48
30
21
31
51
45
50
54
33
20
42
71
65
77
60
51
77
62
65
27
23
54
58
44
63
34
71
57
40
78
21
21
35
39
22
31
32
63
79
20
36
24
54
62
25
42
47
40
71
33
33
77
41
52
58
53
21
60
31
80
70
73
44
79
27
74
67
29
36
20
29
30
42
39
67
24
68
41
76
28
34
71
75
73
67
46
66
25
63
39
72
59
34
54
66
73
62
73
27
37
38
67
32
73
47
48
27
78
50
31
22
67
50
61
63
68
48
24
28
64
43
78
78
65
44
72
46
48
73
20
51
61
61
64
27
20
29
25
67
58
65
55
46
70
20
33
26
77
58
80
28
56
60
63
45
70
27
21
52
31
76
47
69
33
40
51
66
40
39
60
72
73
52
50
69
24
20
78
22
37
34
50
55
24
42
68
50
42
34
24
21
66
41
35
30
53
47
33
42
27
32
62
60
77
23
78
62
37
26
65
29
77
24
27
60
70
70
67
57
74
32
59
67
43
40
51
64
56
29
75
52
41
36
40
66
45
56
32
23
40
57
77
20
66
23
32
26
70
34
50
78
27
46
34
61
22
40
74
24
51
71
60
37
49
25
61
21
42
39
56
50
57
60
27
76
56
24
70
75
71
67
38
50
54
23
42
33
51
63
46
35
52
52
58
27
77
31
24
79
76
41
68
80
30
69
46
76
76
77
31
39
56
73
52
60
23
45
77
74
42
65
57
25
69
71
21
79
39
79
46
74
24
74
20
54
68
57
25
80
28
72
34
40
49
51
64
38
79
23
47
26
74
22
24
64
38
31
49
66
72
39
45
37
50
49
36
48
62
71
63
57
31
33
59
58
30
34
40
48
40
48
67
74
62
61
48
37
49
44
72
44
28
64
51
77
23
37
62
77
57
45
43
67
78
68
73
71
47
43
42
62
51
36
31
31
44
33
51
38
35
59
41
35
68
58
42
47
25
46
77
72
40
23
49
72
69
80
25
29
22
36
34
53
60
20
38
69
28
39
25
69
79
58
56
68
37
55
46
53
40
65
66
65
39
59
79
37
21
80
64
66
72
32
41
23
28
68
52
25
77
26
66
38
24
41
68
73
24
57
48
54
73
34
41
69
24
44
65
29
44
63
22
80
20
54
56
52
52
24
75
35
80
35
39
49
33
21
32
52
61
31
75
72
50
69
35
42
53
64
25
35
58
49
38
58
41
77
27
69
41
58
66
36
63
73
55
72
75
41
77
58
77
60
38
41
36
29
70
77
40
65
59
40
21
67
23
20
60
28
43
38
60
52
64
56
76
28
46
78
55
50
42
64
48
29
57
24
32
62
27
39
71
55
36
69
64
61
77
24
57
27
30
40
43
32
47
39
62
40
21
50
52
58
31
65
29
78
50
63
49
57
59
66
22
46
34
48
58
31
47
38
28
22
40
35
42
66
64
44
29
29
20
32
62
72
51
30
71
38
53
39
63
73
41
48
61
37
50
64
58
48
59
54
54
37
61
63
33
25
60
76
23
34
40
60
58
53
76
21
34
69
44
73
49
62
50
34
60
47
47
31
39
76
42
79
48
39
60
78
71
58
51
69
53
63
74
55
48
65
70
63
57
26
71
25
34
61
70
76
22
64
45
25
48
73
56
46
73
52
30
45
73
48
28
39
48
44
55
32
72
39
35
58
30
45
75
21
43
39
57
67
30
34
69
62
59
63
43
45
45
41
29
56
63
38
33
23
65
65
33
38
75
21
80
34
22
77
73
20
57
55
67
27
44
39
28
44
68
20
72
46
77
75
28
22
39
78
57
21
52
37
41
23
21
50
74
31
62
44
28
41
52
51
38
72
26
60
44
36
70
46
65
39
68
24
75
44
20
41
61
62
46
45
43
60
27
68
60
34
44
56
33
36
54
78
43
65
29
55
61
35
26
62
78
70
63
79
70
35
63
29
68
46
36
22
54
63
42
37
66
46
71
53
47
65
22
53
80
80
52
67
58
22
34
77
72
65
40
33
45
35
27
33
25
26
33
60
71
47
34
70
79
60
72
39
71
48
52
44
35
77
66
77
63
61
48
54
51
26
51
39
59
29
48
36
67
56
37
74
27
70
53
33
72
61
37
25
72
75
56
44
75
29
32
20
25
49
48
36
50
34
78
54
39
26
48
53
27
71
28
61
45
28
41
46
78
48
20
60
78
23
59
40
28
31
34
31
21
64
70
55
70
73
68
69
31
47
44
67
80
61
45
43
54
63
23
41
72
32
79
64
37
75
25
76
79
21
41
64
44
43
73
55
44
79
57
25
43
43
48
67
74
29
43
48
72
36
40
20
31
45
60
38
33
25
65
47
36
42
25
44
39
51
78
28
59
55
29
40
48
67
61
21
61
67
75
72
23
22
28
77
26
61
41
72
72
41
56
25
47
35
77
57
29
37
55
43
46
59
62
28
46
69
53
32
62
28
73
43
38
62
73
80
23
66
57
67
52
56
52
44
36
63
76
42
48
28
56
58
55
56
77
30
76
75
39
74
65
44
23
46
62
28
31
57
22
77
24
49
28
24
69
30
22
64
46
20
51
40
28
51
34
76
62
79
32
50
52
58
34
46
23
63
59
78
37
31
60
25
31
60
48
59
33
20
41
28
47
47
50
66
34
55
20
63
32
47
77
20
65
52
37
46
34
53
59
69
66
29
38
76
30
52
52
25
80
35
46
78
28
45
44
70
51
36
31
22
68
51
37
61
32
56
32
42
34
27
28
47
61
73
69
66
23
20
67
47
66
21
30
65
77
27
70
29
58
23
40
39
50
56
49
64
47
61
51
38
63
26
55
62
70
57
32
59
71
66
40
39
59
31
39
28
72
77
20
80
50
38
33
45
42
28
80
27
48
73
57
60
57
38
70
22
52
26
20
77
78
55
78
43
71
53
22
46
40
62
31
31
44
77
20
78
73
21
65
72
60
63
27
28
60
75
54
26
75
26
59
35
55
25
39
63
37
26
20
59
35
55
79
53
23
21
74
36
57
36
36
66
63
64
48
43
51
50
76
77
75
65
49
79
39
41
71
41
64
51
20
42
59
75
79
33
35
39
73
44
37
36
77
20
71
77
40
21
73
65
54
26
41
72
66
74
75
42
66
68
79
48
46
27
51
64
68
55
59
40
20
21
35
34
67
74
39
51
64
70
49
78
48
45
29
75
34
52
23
60
78
58
39
36
75
48
27
67
78
44
30
63
77
36
77
66
65
40
43
47
36
78
75
78
49
56
40
23
68
64
52
73
74
78
45
53
71
76
64
54
31
21
34
79
60
37
67
80
48
79
77
63
43
50
47
51
54
66
27
71
76
67
27
80
37
32
32
21
36
28
56
78
69
40
31
52
72
26
63
28
34
53
31
60
76
29
59
46
56
49
32
79
62
70
28
25
22
69
40
43
58
34
54
53
49
52
27
38
24
78
46
62
68
21
72
61
38
76
69
34
26
77
63
51
78
60
51
57
60
64
52
39
61
48
62
67
73
43
59
33
66
75
37
71
34
31
37
76
49
29
50
26
48
50
49
57
21
32
54
80
26
51
51
48
34
55
58
60
69
74
60
61
43
29
52
62
49
79
33
71
26
59
62
71
77
51
27
43
51
24
52
64
37
67
23
64
50
22
28
51
47
23
31
67
63
41
61
48
35
74
43
34
52
79
24
28
46
49
32
25
56
66
46
25
55
41
37
53
73
62
27
23
61
24
23
38
61
62
26
78
45
41
66
25
36
75
77
32
64
42
49
77
46
26
78
29
38
70
29
27
36
36
79
50
63
53
62
73
46
32
43
45
73
57
61
69
31
29
37
41
63
37
79
22
38
37
51
54
28
67
45
33
36
38
34
34
80
50
31
48
68
62
46
24
57
67
61
29
76
78
49
24
23
53
30
63
43
31
45
34
46
52
64
42
50
24
76
39
22
27
58
42
72
55
78
27
63
73
27
62
37
29
79
34
61
78
38
27
64
34
33
37
56
30
70
78
68
78
70
59
71
30
45
45
29
23
71
68
31
31
49
27
73
43
25
44
23
26
40
54
59
45
31
64
36
59
35
61
76
39
52
71
76
49
60
49
73
46
21
66
66
25
49
59
57
35
27
57
77
56
46
51
31
22
78
25
51
65
35
61
69
55
59
79
42
72
46
57
64
36
77
76
78
63
78
55
49
61
21
27
75
71
21
66
43
60
20
46
22
42
67
40
42
42
51
63
30
38
27
33
64
57
73
59
45
61
49
34
24
69
42
58
66
65
21
29
28
58
71
57
31
46
80
54
78
59
34
61
52
36
71
64
65
66
51
67
72
71
66
40
59
51
63
45
38
26
22
43
38
70
61
45
80
37
68
74
28
48
21
25
71
57
65
57
78
53
59
61
59
43
66
30
70
44
38
32
27
20
66
48
31
74
69
65
31
67
69
68
52
46
29
37
27
42
40
65
74
66
73
37
40
33
58
43
64
23
33
53
69
62
20
35
24
22
63
54
24
57
47
24
58
57
78
29
54
37
80
28
63
38
65
72
30
47
39
38
57
23
80
33
24
53
26
57
58
26
45
39
45
57
45
44
62
42
58
76
42
33
25
75
68
50
59
39
60
68
79
64
49
59
34
25
51
54
22
49
77
76
30
57
34
27
35
72
70
61
20
24
51
36
66
72
62
25
24
69
66
22
32
60
69
31
32
76
71
68
75
21
49
45
76
58
55
40
44
68
79
35
80
57
24
60
73
22
36
34
24
72
50
60
74
42
80
76
35
68
34
61
78
33
79
67
36
71
34
58
39
46
26
34
35
40
49
43
68
22
44
49
51
24
20
32
21
78
56
21
80
27
25
67
22
64
75
41
31
35
40
34
72
74
41
51
39
68
27
76
55
40
69
49
77
35
25
33
77
20
64
47
55
67
44
66
74
37
77
59
32
29
77
55
26
34
45
73
30
65
78
40
50
31
31
75
23
75
21
50
64
34
44
46
70
51
26
73
37
24
36
25
57
36
61
75
35
49
66
58
71
59
60
42
42
63
72
73
73
42
21
23
25
31
32
68
73
48
20
37
51
20
48
73
60
54
23
68
64
75
32
80
22
61
47
48
25
51
51
66
42
42
24
63
22
42
61
49
38
80
33
35
58
67
55
41
27
35
23
63
74
39
34
27
49
57
63
34
22
52
44
48
23
77
31
20
45
74
36
43
63
65
56
80
67
64
65
76
67
53
47
75
53
48
64
73
27
35
34
21
51
32
69
80
69
29
27
61
29
20
55
30
39
76
60
50
45
66
59
36
30
59
20
74
22
56
46
29
42
64
28
25
33
26
79
58
63
64
55
20
33
66
63
47
38
69
38
79
75
68
75
74
51
47
76
31
48
21
69
69
23
50
62
60
65
70
20
36
28
71
66
25
42
72
59
75
50
46
27
26
54
40
39
42
56
48
77
32
35
78
63
53
48
24
42
69
75
41
48
44
73
66
47
41
57
53
52
67
32
48
56
32
34
69
62
53
68
54
49
21
67
30
34
23
77
46
37
71
50
51
30
42
51
52
51
80
57
57
43
44
56
60
67
27
54
67
66
62
56
66
71
27
51
25
59
33
72
29
48
80
47
30
28
35
65
51
74
45
54
51
50
71
60
74
61
62
39
72
65
58
63
74
30
51
36
58
47
64
70
44
69
37
60
48
29
53
23
26
72
73
26
44
34
20
20
25
56
53
75
63
68
53
64
49
43
42
57
50
34
42
51
46
62
70
28
44
36
44
43
35
21
72
64
66
53
49
64
77
74
79
55
64
36
22
61
32
34
37
75
49
22
28
61
80
35
38
76
21
32
71
79
20
50
20
27
50
79
67
77
80
51
29
21
59
73
60
74
68
32
20
27
45
38
72
58
50
54
64
35
69
38
67
35
26
63
43
36
59
35
78
45
77
35
21
56
77
46
80
70
50
26
69
39
24
40
50
21
52
29
50
37
39
54
42
29
47
46
57
31
73
54
65
78
38
64
65
64
33
65
76
29
74
29
31
21
41
56
38
37
68
54
77
54
40
46
42
77
51
58
25
59
34
27
62
67
79
78
28
54
32
22
41
77
38
47
42
34
30
78
32
75
77
43
68
59
35
33
65
29
22
36
35
35
20
63
66
43
42
65
77
25
77
40
56
74
49
68
28
48
79
45
52
66
67
30
35
49
20
67
69
49
32
20
79
65
55
40
48
26
58
62
61
65
46
64
68
75
28
28
39
78
65
44
57
37
23
62
35
31
23
40
43
75
31
26
69
64
40
68
22
59
79
74
53
67
43
36
23
54
48
39
71
47
73
58
67
41
54
46
71
51
25
78
22
28
56
65
49
42
25
66
73
23
47
44
68
72
77
70
70
64
61
45
23
79
32
54
41
39
64
34
34
40
55
22
75
62
62
20
28
57
80
35
79
52
67
32
39
33
70
68
76
63
47
35
27
70
33
38
78
55
23
26
61
39
34
37
72
71
76
22
80
48
24
73
63
72
49
37
49
49
65
51
50
76
43
66
38
29
33
42
80
53
28
32
23
59
48
78
33
68
21
74
65
62
45
54
57
78
40
74
38
69
48
50
75
22
49
41
43
51
66
58
76
76
62
31
47
41
40
42
53
80
56
55
32
59
20
67
47
34
67
73
21
56
66
61
75
46
51
27
22
62
77
33
47
36
66
52
28
30
60
78
39
53
26
75
62
49
20
57
45
72
71
47
59
74
30
25
77
35
48
30
51
73
31
59
76
32
51
29
80
71
69
33
48
64
36
37
72
43
69
79
50
74
25
77
29
70
66
80
29
32
70
63
71
24
63
67
66
66
61
35
68
29
59
55
23
72
40
45
32
49
57
65
71
30
77
78
67
34
54
23
68
80
21
29
62
71
42
32
47
34
74
40
37
33
57
72
50
72
31
36
77
52
53
45
63
39
28
44
57
24
78
76
75
27
56
34
67
22
44
34
29
45
56
44
36
40
62
71
20
48
56
41
47
33
49
29
23
52
44
27
49
78
73
48
52
71
67
24
48
29
58
53
23
30
65
36
73
45
34
51
71
24
42
61
44
50
44
50
64
29
47
42
29
62
73
63
29
38
41
72
59
60
30
31
31
39
35
37
52
78
45
71
47
36
43
22
39
45
50
64
51
41
26
66
73
71
20
66
78
41
38
26
38
63
77
44
30
32
25
21
63
37
69
28
50
72
72
63
55
73
52
70
52
36
62
26
26
33
64
42
79
34
66
33
28
29
61
73
54
30
35
42
43
58
63
38
76
57
41
66
26
20
34
63
63
61
57
69
51
43
40
52
22
70
45
47
61
58
44
52
64
75
36
52
56
53
39
61
69
65
71
48
61
49
79
41
51
74
39
24
47
45
53
63
22
32
49
50
74
27
71
23
43
69
56
60
37
63
57
29
39
69
69
57
45
42
31
42
59
80
33
61
48
29
66
21
52
43
22
34
79
61
26
67
26
77
60
24
40
53
44
56
31
40
28
73
34
80
44
31
34
62
22
58
42
25
42
34
63
30
24
44
50
37
29
39
24
37
53
46
37
80
77
49
55
28
34
70
53
39
64
62
68
32
46
39
34
62
56
40
28
80
54
25
29
36
69
60
67
42
62
41
68
27
63
24
53
38
23
49
65
29
34
52
58
24
49
45
37
32
48
42
39
33
60
34
75
61
44
76
36
41
20
65
76
23
44
61
56
55
67
72
67
39
52
24
42
52
22
58
29
22
54
61
39
31
62
31
70
22
75
48
28
45
66
27
30
38
62
48
78
56
21
59
76
31
39
63
49
31
52
74
49
54
56
32
34
59
28
78
36
45
75
80
29
49
47
27
40
21
26
46
21
62
57
57
50
48
41
80
34
39
61
49
76
53
63
53
48
37
67
66
80
59
71
61
40
58
27
37
33
34
23
65
42
45
48
23
50
29
80
22
61
30
24
62
26
76
79
65
36
38
56
28
35
75
40
45
29
42
44
20
76
79
56
35
27
47
46
43
51
69
49
70
53
78
77
33
32
42
43
25
58
29
66
35
78
47
41
32
76
70
61
53
35
67
38
64
71
42
36
23
44
37
64
69
72
26
43
37
62
71
72
56
62
52
53
24
75
60
74
37
33
77
39
54
53
59
59
22
54
21
32
43
41
32
61
36
36
75
62
49
35
39
25
37
59
39
43
55
33
43
56
70
62
37
35
45
57
56
45
57
58
50
73
30
52
43
40
26
58
50
72
33
37
53
36
43
64
63
52
65
33
46
33
43
62
78
76
21
32
60
77
62
45
59
29
51
39
63
45
41
74
41
43
73
39
47
59
38
20
62
31
52
35
48
57
44
54
44
25
65
52
55
40
37
30
42
60
40
21
33
52
80
80
80
38
67
79
78
63
42
42
31
27
78
61
22
47
73
48
78
35
51
33
54
29
78
60
49
65
75
22
42
76
68
26
40
42
64
38
63
68
50
77
71
64
77
53
70
48
31
26
31
22
26
54
27
51
54
44
33
75
50
74
60
23
31
68
78
61
38
78
59
72
57
79
57
56
32
75
50
30
72
67
61
79
53
76
73
47
61
47
41
66
59
42
58
47
24
48
43
26
69
38
63
53
80
31
60
52
79
39
30
45
34
55
69
41
80
116
198
172
94
131
247
95
88
83
182
202
217
194
195
171
146
191
88
195
98
240
88
80
229
78
162
137
243
82
205
199
131
230
217
220
160
213
178
232
175
170
229
209
133
195
225
94
92
181
153
134
116
123
88
126
111
103
200
120
124
126
210
163
101
137
194
210
71
237
242
142
141
165
244
170
150
74
112
210
140
84
136
205
241
82
80
119
215
160
236
153
243
139
219
214
244
74
122
104
200
91
78
149
177
177
162
233
121
237
117
153
218
136
157
195
163
134
189
242
240
242
179
224
135
94
100
188
210
195
74
141
86
72
180
227
189
102
161
134
88
81
222
125
182
212
249
86
143
130
85
156
237
230
178
87
183
165
161
230
169
126
131
103
179
130
166
153
169
83
93
177
177
241
240
71
182
183
243
201
71
83
206
201
208
221
146
183
93
104
117
111
134
164
154
73
186
87
157
181
105
109
114
125
175
156
83
230
175
176
215
155
233
239
228
111
166
164
91
157
85
81
207
200
109
171
240
113
211
119
80
174
216
208
123
141
147
138
244
116
214
143
230
217
72
99
84
240
79
91
209
231
204
119
195
219
160
102
206
170
76
134
217
90
146
219
141
163
203
120
219
156
78
180
119
131
222
132
113
236
138
132
151
200
143
222
238
138
219
77
228
177
163
230
250
125
174
211
80
219
125
217
196
159
84
241
213
152
95
77
114
88
87
106
133
90
167
211
82
111
139
120
95
148
182
246
204
118
121
116
165
149
170
162
181
134
199
134
126
140
191
93
220
112
137
228
116
123
103
93
198
139
96
114
82
110
113
114
80
162
94
150
153
200
133
86
238
95
199
169
248
226
155
243
105
93
74
105
135
168
115
155
175
110
219
83
245
170
110
223
198
114
236
217
79
91
232
148
176
118
186
72
88
124
89
210
114
175
200
110
203
126
138
70
173
182
165
122
179
215
245
108
246
215
79
73
164
103
131
104
152
118
155
190
70
100
186
228
208
241
182
73
227
218
138
240
239
154
241
160
126
226
87
218
196
91
218
88
214
227
185
164
137
171
193
248
112
177
117
222
181
122
231
222
129
220
235
202
95
238
191
163
231
230
193
215
200
236
199
135
199
217
182
94
195
239
144
134
209
137
206
211
138
214
212
111
88
83
218
242
132
206
224
238
110
119
220
119
89
172
116
168
150
225
88
164
233
200
233
181
100
197
231
197
224
208
135
218
73
186
160
240
234
246
119
136
194
226
193
124
250
112
184
101
193
194
107
97
136
117
232
88
192
117
170
179
219
235
72
215
210
195
109
104
218
126
149
100
237
196
167
140
206
195
220
201
82
123
202
186
185
133
162
239
93
172
201
106
76
240
131
219
230
177
75
211
193
80
246
224
98
250
141
196
92
201
206
225
219
152
183
241
218
237
152
132
144
156
143
240
104
153
117
208
215
86
165
153
164
189
118
103
93
205
108
72
211
159
156
173
124
163
170
201
174
189
246
202
165
116
112
204
105
190
144
110
239
247
202
121
199
167
120
71
184
213
184
222
143
114
117
166
118
155
124
243
183
211
178
197
84
225
158
202
139
182
200
97
247
239
204
206
110
142
173
247
95
130
96
213
88
153
205
105
83
216
200
125
70
72
177
153
229
183
77
195
215
223
203
182
137
186
198
182
212
97
179
247
116
77
144
172
177
195
197
231
220
125
246
233
167
142
131
106
176
179
242
211
148
120
198
153
79
246
228
247
201
187
75
94
202
194
210
116
164
196
214
169
148
229
157
183
77
181
180
250
147
181
188
217
117
202
191
234
81
180
78
170
102
171
104
91
224
92
159
128
92
124
110
238
115
91
149
238
116
135
200
89
152
168
90
165
182
113
161
242
100
74
180
239
158
73
147
129
130
223
107
191
227
148
99
174
209
193
211
115
99
238
195
131
71
117
200
110
115
201
225
88
203
138
221
112
153
237
112
181
177
191
84
91
215
81
211
168
197
184
139
214
146
214
146
193
177
154
124
143
249
207
100
81
157
98
176
195
142
169
121
154
85
208
185
220
240
124
94
149
108
210
140
242
215
191
248
116
133
143
128
202
220
71
84
120
235
85
88
139
91
120
249
162
223
194
157
130
123
172
190
81
158
174
220
196
121
107
191
193
205
157
159
143
155
180
211
108
172
136
214
133
111
189
88
151
241
86
142
109
125
244
208
148
250
149
189
169
178
223
247
89
108
242
153
177
76
135
75
173
194
85
128
250
226
185
139
226
103
173
84
73
250
177
238
240
102
234
138
142
87
134
190
75
194
234
221
86
155
88
81
238
86
169
158
134
171
242
206
194
70
83
200
160
103
227
215
193
90
105
243
160
141
238
167
187
123
137
90
233
173
197
71
97
213
108
129
82
201
140
98
207
105
98
241
229
147
115
124
207
93
198
115
84
204
132
233
84
202
99
232
162
188
245
210
117
184
146
221
200
139
82
107
212
193
154
72
161
97
87
137
173
124
223
183
87
212
219
92
212
209
103
98
93
205
121
148
73
140
180
84
94
189
172
224
143
235
136
196
146
104
72
102
250
130
235
205
238
80
207
189
215
100
140
114
125
230
235
105
140
179
88
221
94
150
231
240
105
115
235
128
70
79
109
224
199
89
155
131
199
105
219
109
185
150
167
81
160
216
133
109
113
120
70
232
229
193
132
88
223
133
117
167
170
107
175
224
123
180
230
100
183
123
150
203
77
119
214
77
86
152
248
173
96
101
150
137
90
173
151
159
75
88
138
242
206
164
249
106
195
85
227
176
101
203
83
81
136
156
110
237
171
212
142
161
228
116
151
86
111
196
208
165
200
192
158
84
171
234
118
134
181
228
239
223
88
196
214
173
233
201
121
95
103
240
216
163
191
82
228
81
120
203
225
165
131
212
225
182
193
223
239
135
231
82
227
240
166
90
243
232
72
218
135
177
216
85
142
157
200
227
227
133
213
232
140
170
240
86
199
117
242
97
164
217
175
247
185
176
73
243
190
204
202
147
196
179
198
115
147
195
92
116
242
170
193
81
198
233
108
244
86
223
185
150
217
122
213
108
240
200
235
94
135
91
121
107
92
228
186
135
210
191
113
226
248
158
108
91
114
109
237
90
182
190
189
223
241
88
70
200
147
117
174
98
160
243
109
124
102
89
198
77
107
158
141
222
120
197
223
207
167
202
239
134
70
237
135
141
80
229
173
129
112
239
91
128
188
100
241
110
118
162
84
71
71
169
195
173
92
202
230
134
204
202
121
201
112
172
110
142
135
123
157
153
141
246
220
98
176
93
160
217
109
127
197
187
135
201
121
84
161
145
161
221
236
190
108
139
91
121
238
214
99
76
216
235
154
232
215
232
135
200
135
205
73
236
175
234
136
106
112
165
159
115
243
188
158
247
79
138
173
78
81
185
132
141
159
137
175
153
101
145
193
184
241
218
176
243
243
228
193
128
244
121
96
94
107
107
161
154
173
142
226
73
162
147
201
192
102
177
123
132
104
154
201
184
204
93
245
178
70
148
246
162
225
99
160
177
221
180
117
219
215
94
208
125
86
96
248
128
250
136
247
86
227
128
110
131
88
90
106
169
179
94
116
219
78
177
228
101
115
129
171
228
174
153
193
165
250
197
242
76
152
219
200
173
111
89
115
221
250
218
180
101
91
166
207
177
195
206
247
169
90
105
182
140
102
194
169
166
184
240
155
211
192
238
166
217
170
83
115
141
208
143
239
154
235
86
155
161
138
158
133
181
229
224
204
143
171
144
229
160
175
82
126
85
73
218
145
75
115
194
157
133
234
163
240
213
220
82
238
237
202
178
127
191
85
163
240
102
170
109
73
70
132
113
221
107
189
77
148
176
200
170
82
175
231
80
194
128
192
104
88
217
155
121
72
81
185
178
201
79
134
78
140
70
202
101
95
126
71
217
72
140
175
158
118
78
156
243
152
182
70
176
192
225
231
76
89
82
238
200
117
156
135
115
204
149
134
109
229
219
109
81
155
84
75
248
112
149
115
143
120
237
125
167
204
128
237
192
191
206
216
98
229
109
230
91
97
91
200
207
95
206
92
206
210
246
229
102
144
250
159
96
111
80
222
218
102
237
152
128
239
117
181
179
120
121
207
224
98
200
241
168
106
127
104
147
227
103
115
119
151
192
109
111
149
160
78
98
249
127
98
104
125
89
125
192
86
119
226
239
162
248
90
111
240
195
168
243
237
201
78
116
151
222
213
171
134
110
80
133
113
120
241
169
163
138
142
209
204
243
135
95
178
226
132
169
115
101
116
132
190
96
242
86
147
198
163
227
162
86
173
84
87
72
167
158
249
185
193
176
110
208
124
104
150
76
87
233
150
182
139
226
162
182
225
246
118
222
201
195
215
89
137
224
85
212
189
118
207
165
112
78
123
149
207
103
246
129
129
214
205
166
215
120
159
194
93
176
242
202
112
109
231
125
99
155
75
123
138
234
118
72
101
72
100
85
231
102
140
173
140
106
139
103
89
172
237
169
226
124
95
126
211
127
236
224
179
223
73
147
153
226
119
115
84
124
106
89
198
136
112
160
202
78
244
130
233
126
140
165
124
241
79
79
81
238
123
73
89
239
123
225
138
187
145
71
172
204
155
93
216
224
167
196
167
237
188
98
234
122
104
175
99
72
138
166
79
142
99
249
223
142
123
228
75
145
76
159
215
173
173
195
199
249
77
168
193
218
211
137
157
133
231
178
237
149
111
249
146
239
217
238
108
189
172
185
139
165
71
176
173
241
234
147
150
250
214
238
114
224
248
186
99
191
233
230
200
212
216
97
226
178
113
75
179
245
112
204
220
73
202
140
155
211
132
174
227
220
116
105
241
222
219
227
224
238
210
231
162
161
245
223
133
135
153
150
244
234
224
188
227
213
170
109
128
196
241
129
194
125
185
106
169
99
80
117
128
224
104
127
76
184
94
219
244
235
140
171
193
150
153
86
208
107
103
74
175
169
99
108
224
88
113
142
132
195
210
170
206
214
228
86
75
97
89
233
177
171
244
161
205
98
200
102
94
242
194
208
80
108
228
210
174
218
70
173
94
120
224
214
197
112
76
107
114
244
83
222
179
236
148
243
177
191
123
183
86
171
153
151
180
176
153
203
89
101
229
221
147
95
92
244
118
231
103
126
208
148
97
157
165
248
155
219
107
93
207
142
96
244
70
230
113
151
164
194
161
169
184
192
204
71
203
229
136
218
182
147
238
133
181
83
122
210
132
109
247
218
118
152
101
138
145
180
236
115
139
129
221
125
248
138
188
151
160
176
144
72
162
112
99
219
77
89
81
184
121
221
202
92
118
137
193
165
192
128
190
107
138
81
196
122
202
121
97
112
232
248
188
148
82
201
88
155
218
183
172
76
131
87
194
104
177
78
250
107
99
100
134
224
185
149
158
113
244
196
128
244
231
170
128
134
82
85
125
82
247
77
156
176
102
99
97
164
180
121
90
166
158
152
132
132
233
92
168
176
118
113
147
154
73
180
213
182
103
77
169
156
222
146
145
146
144
227
232
96
93
181
177
179
216
199
166
238
129
132
115
156
134
174
224
214
126
207
123
186
157
157
249
167
174
245
235
216
142
228
136
229
137
204
222
150
101
141
97
109
93
79
196
157
99
147
79
126
224
154
162
143
133
178
139
105
241
111
145
186
110
85
183
130
77
243
70
109
133
222
205
172
210
76
172
102
204
124
167
230
225
208
146
166
146
88
166
141
135
121
235
226
122
208
152
140
167
138
80
191
185
109
96
107
124
154
87
185
216
249
83
183
134
141
109
169
103
89
139
247
137
107
191
177
149
250
122
207
228
85
93
200
149
173
219
189
105
131
213
226
116
95
196
117
184
250
171
99
130
208
72
137
107
228
115
248
149
125
140
230
113
201
227
91
79
238
243
194
118
169
223
187
118
115
216
201
87
215
189
190
203
160
217
218
158
196
242
171
136
191
210
146
202
189
117
232
168
80
134
161
80
144
104
208
174
80
173
98
136
183
224
245
187
86
239
171
107
200
131
248
111
180
125
198
99
84
149
221
70
150
188
169
236
149
82
113
234
179
133
182
176
132
195
157
90
211
192
80
141
128
226
213
173
204
93
172
218
175
112
137
95
164
164
85
92
240
190
73
72
147
199
249
99
248
166
182
171
181
102
129
191
70
77
92
164
102
124
209
110
217
150
109
184
167
176
202
102
229
241
163
92
180
86
108
86
180
188
117
123
104
81
238
85
200
76
89
189
237
198
234
166
79
117
156
71
169
181
86
168
86
188
129
202
241
200
153
98
79
182
221
170
179
124
81
131
226
75
242
176
110
107
109
168
133
86
183
101
238
178
196
208
119
228
91
192
115
206
77
83
80
71
170
234
200
146
130
245
231
118
97
187
175
244
125
130
241
107
159
77
217
179
237
193
128
164
156
93
96
196
150
179
199
119
109
214
186
224
123
173
211
116
235
162
243
179
91
247
186
116
96
210
227
133
75
71
74
111
108
224
186
221
213
195
238
146
173
137
166
153
83
137
167
129
77
125
81
177
102
132
89
199
192
83
75
115
240
231
216
97
208
151
246
153
171
229
79
206
132
157
99
240
178
236
167
186
160
233
223
167
108
142
83
190
240
96
108
215
179
196
82
108
196
237
179
143
241
118
163
180
119
74
123
174
194
248
208
128
193
208
213
91
166
187
229
230
164
215
173
148
129
193
215
104
154
174
202
185
241
169
114
80
210
245
204
217
74
157
73
209
233
170
180
185
182
196
90
225
141
71
103
177
131
220
111
157
207
185
181
188
131
198
184
188
205
237
114
127
187
235
196
228
243
228
127
219
154
97
239
167
150
195
94
134
118
174
98
133
169
119
124
74
193
151
94
79
136
233
112
171
197
197
202
188
196
107
75
105
195
91
236
196
180
190
241
73
180
84
135
99
72
197
118
188
91
150
129
102
81
194
114
216
124
70
208
127
118
121
189
170
77
152
118
233
76
166
145
110
250
191
139
151
165
80
104
203
183
233
237
157
92
237
73
139
88
79
233
161
191
216
173
127
210
70
209
239
249
101
77
161
241
214
149
233
83
218
105
250
113
75
182
238
110
244
107
174
161
172
216
110
126
95
206
72
175
192
141
183
131
201
149
119
147
218
86
224
179
231
118
245
155
124
77
204
106
136
242
136
232
170
145
244
134
211
104
248
100
95
166
161
200
167
160
132
140
228
97
207
110
231
157
199
147
120
101
168
144
127
161
100
75
131
74
194
250
98
128
161
72
152
83
131
212
201
165
148
240
193
134
125
110
233
239
166
231
141
236
128
75
153
85
117
225
207
126
114
117
169
86
149
100
224
204
151
186
201
216
245
98
125
171
221
135
94
227
156
142
118
93
167
113
214
134
207
93
217
186
113
243
166
205
225
228
173
112
243
224
115
187
222
181
148
154
116
206
91
175
250
217
177
194
243
183
96
249
156
159
215
212
199
131
183
170
106
188
118
187
144
109
106
207
74
142
232
223
139
155
76
200
162
119
79
238
136
178
227
181
168
231
94
218
156
75
88
101
129
189
175
78
117
222
200
185
242
209
216
149
203
248
145
71
220
214
196
121
199
225
185
135
199
210
238
158
158
96
221
153
199
174
75
144
87
147
241
120
81
174
94
147
82
178
133
109
180
159
247
215
227
186
74
157
161
76
193
183
230
222
124
140
71
127
234
157
166
174
107
186
90
108
122
199
78
93
100
117
203
174
116
135
125
143
142
150
195
186
104
226
176
203
112
80
186
109
191
91
240
175
153
151
109
156
143
183
129
138
133
212
131
154
194
215
130
87
233
71
198
246
164
141
122
230
137
171
101
135
88
113
95
236
141
116
162
86
126
115
240
115
153
181
116
190
177
174
88
97
224
137
154
171
160
173
174
172
70
228
241
204
129
211
244
249
94
95
193
131
157
229
75
72
121
124
191
187
106
110
135
228
73
161
99
196
220
127
241
119
191
125
90
138
171
134
88
233
83
175
192
218
85
143
234
134
194
123
89
205
171
205
99
184
124
156
166
100
247
158
171
186
95
162
86
180
120
126
207
213
165
128
91
174
200
206
150
173
111
192
100
236
73
126
100
240
191
204
226
75
125
218
106
93
159
114
149
186
118
96
240
249
113
191
128
93
217
165
189
236
237
104
191
224
94
249
115
249
235
123
122
174
171
205
76
86
88
240
149
87
111
157
121
108
136
114
145
106
206
149
186
137
175
130
110
199
184
234
178
87
177
225
85
143
163
227
117
97
180
196
213
124
93
238
210
202
198
139
221
191
163
217
209
193
77
206
116
99
155
160
80
91
194
162
131
224
230
124
91
101
109
89
113
208
235
186
209
176
206
204
148
229
115
142
235
157
114
238
154
121
219
233
95
109
243
170
176
109
96
119
97
95
108
197
216
82
151
188
101
156
96
167
141
166
80
142
131
88
205
170
230
221
119
190
188
96
207
139
233
173
161
129
206
83
195
190
152
115
155
210
188
173
213
75
117
239
88
195
166
104
213
113
203
212
219
179
245
223
188
126
150
149
145
181
114
246
208
216
215
72
182
70
168
214
164
152
74
164
115
227
213
182
199
216
111
102
178
214
132
186
202
250
205
222
137
96
83
72
179
94
248
109
185
186
149
89
176
112
238
202
154
146
232
244
150
178
145
200
78
171
241
84
222
240
227
207
164
134
150
195
225
229
203
93
130
123
212
102
141
148
198
135
110
147
161
181
95
216
164
173
163
194
229
98
88
209
210
80
107
100
241
165
122
170
137
91
99
92
242
89
185
180
241
231
192
96
124
171
80
221
75
113
113
175
211
130
127
226
72
222
108
165
182
126
125
174
205
155
217
180
130
78
85
173
245
199
104
162
189
247
193
109
161
245
162
76
74
174
240
228
198
105
242
201
146
186
171
115
188
129
102
142
178
215
171
180
240
75
99
200
185
98
107
114
190
152
213
130
148
179
214
191
184
110
84
250
120
211
124
173
152
140
156
91
211
174
228
247
200
106
152
213
174
149
243
190
242
178
164
206
186
217
159
128
200
217
108
239
107
173
126
214
250
88
94
83
167
211
184
245
244
192
174
160
124
154
176
188
191
241
243
174
125
75
74
230
119
247
208
166
134
122
124
192
76
203
154
88
239
122
191
194
143
180
179
236
171
85
152
97
214
85
86
196
144
160
176
231
165
204
238
100
219
167
239
175
184
115
188
229
179
210
233
153
234
194
133
103
225
144
196
99
181
116
118
76
155
213
138
242
134
91
179
111
115
106
110
200
250
190
249
180
104
140
94
225
122
204
201
177
141
205
131
213
92
104
202
90
195
157
94
145
216
197
104
99
216
88
117
209
224
123
205
207
153
114
101
225
116
244
195
159
220
246
91
128
200
89
204
149
208
234
121
103
229
124
184
130
126
248
106
183
230
236
149
80
169
243
89
129
242
141
209
151
212
227
210
178
207
220
172
200
247
196
76
113
210
102
116
245
98
152
222
176
159
204
212
220
208
239
227
126
127
94
121
117
99
127
218
123
102
136
72
76
170
164
221
241
129
117
218
71
151
236
182
230
127
214
199
103
175
164
212
156
128
115
78
201
105
92
126
82
193
195
94
125
79
215
102
233
175
228
226
97
195
235
232
92
156
216
228
80
209
208
168
88
79
184
199
207
177
183
108
140
191
119
206
166
204
118
197
172
127
198
228
117
72
231
177
230
231
237
248
106
206
192
183
200
233
209
157
245
199
231
170
139
171
111
219
204
91
152
168
93
229
138
163
216
200
238
234
148
124
114
221
238
159
112
186
197
207
210
196
82
237
182
226
84
180
217
147
117
103
71
133
156
148
117
135
83
130
188
83
122
176
122
202
168
98
179
199
247
183
243
190
107
140
221
215
71
231
109
203
169
121
209
125
106
215
135
123
218
135
230
231
206
153
92
207
118
114
127
77
144
154
246
217
188
107
202
190
176
220
185
96
204
156
208
104
156
108
241
169
76
154
238
205
233
151
123
243
196
125
102
128
245
111
105
240
161
132
174
143
134
176
72
97
243
143
100
134
250
208
226
118
164
221
119
216
220
114
117
82
127
78
209
178
103
247
237
114
77
134
101
199
189
169
192
184
127
179
120
130
220
79
234
76
210
215
167
230
150
157
166
199
235
182
112
187
221
74
249
199
177
91
245
87
73
111
188
226
77
118
84
168
231
122
230
226
169
157
222
144
192
181
127
138
160
114
221
164
204
249
241
135
170
205
158
227
209
246
213
212
245
79
114
81
159
166
171
167
191
238
210
141
190
217
197
103
125
104
201
250
236
212
168
200
123
228
153
117
178
124
91
159
162
136
102
248
230
180
236
227
247
219
246
232
115
96
226
246
106
132
201
173
244
225
91
149
116
229
227
245
117
202
192
125
161
172
76
83
87
169
203
144
218
227
158
168
205
242
166
228
241
214
83
244
155
138
174
197
75
121
114
82
215
119
96
101
117
154
117
78
211
77
85
205
225
144
172
209
107
224
213
143
148
138
235
197
95
249
117
148
180
197
150
222
91
220
208
194
207
100
117
116
247
146
160
146
211
70
144
104
134
113
142
112
149
154
196
87
165
181
122
226
154
235
133
98
92
178
146
236
209
180
119
70
91
78
113
73
84
98
201
243
241
154
97
136
238
224
106
93
160
146
222
246
145
224
198
157
178
181
239
185
157
182
191
157
107
126
240
172
112
228
197
186
173
225
177
203
78
112
127
179
112
193
165
133
74
90
165
202
161
159
172
213
229
99
226
188
71
113
184
163
73
104
200
86
139
186
209
144
194
226
78
172
227
129
200
155
124
245
215
233
98
187
250
162
234
160
170
215
91
242
223
137
216
112
94
154
223
205
99
131
240
100
218
172
185
80
120
119
148
76
161
94
222
118
162
138
90
151
109
187
225
187
117
168
230
201
101
109
178
212
70
178
179
171
130
184
161
141
120
99
168
151
167
214
94
131
110
192
205
211
119
240
148
220
116
250
97
212
174
123
193
152
243
174
249
239
182
152
74
123
195
181
202
248
201
249
222
217
219
91
166
201
126
181
79
191
241
125
175
171
200
160
136
110
128
191
174
107
101
217
109
97
229
170
173
180
250
124
211
160
196
206
154
222
70
111
168
131
145
186
169
250
227
132
217
139
95
147
126
234
128
105
130
223
136
71
116
200
141
173
147
100
225
210
135
195
165
80
124
141
209
210
182
95
201
92
199
249
153
76
178
161
94
84
181
181
134
217
116
202
202
223
143
148
78
204
122
231
73
211
152
175
159
244
247
73
202
128
175
79
91
136
217
106
245
205
79
208
72
216
134
126
222
191
189
113
95
212
186
238
125
105
242
231
152
93
235
140
231
182
161
148
119
242
93
159
183
184
186
116
188
230
91
151
98
133
138
86
234
131
157
223
83
134
209
206
200
113
222
175
104
142
137
71
95
141
77
210
218
179
199
233
187
192
130
122
229
213
232
90
245
183
157
117
95
109
248
197
80
153
221
162
184
115
237
147
191
247
102
154
77
231
229
206
174
177
214
85
162
169
224
135
150
215
181
142
76
191
150
104
158
84
173
73
111
153
126
193
250
200
131
139
209
245
162
110
215
227
241
80
131
119
133
188
169
145
103
95
215
127
111
85
206
199
226
154
185
225
170
237
179
246
109
195
82
213
214
188
105
170
156
80
243
70
239
184
219
229
125
172
182
138
249
89
216
189
227
209
199
205
74
71
173
230
94
240
94
176
216
91
102
165
227
203
235
96
230
143
189
211
173
228
94
125
184
168
137
215
132
179
110
114
233
230
117
149
172
93
102
164
236
83
107
78
96
219
133
156
92
119
105
245
241
85
175
136
222
140
154
143
85
135
73
72
211
72
86
249
110
186
196
103
92
127
143
227
180
197
98
247
105
166
118
179
112
182
100
189
72
121
120
232
212
170
96
162
92
235
76
247
72
140
72
211
213
164
229
168
70
130
183
122
193
113
232
172
148
213
189
72
157
211
118
136
180
178
120
125
128
116
149
238
107
170
78
162
148
98
91
78
94
208
101
197
145
147
214
152
152
116
143
188
99
202
112
160
166
215
181
108
91
105
171
93
71
167
91
83
236
92
145
187
175
184
95
74
249
191
145
90
84
205
117
231
179
142
185
97
133
183
119
132
189
93
105
174
213
95
100
241
218
224
224
108
92
83
80
160
212
229
230
132
172
236
203
149
95
184
97
100
108
158
210
215
210
140
205
192
91
250
187
133
245
156
203
76
76
217
152
240
146
198
195
191
232
112
250
175
118
237
134
170
79
215
166
107
164
76
209
196
143
246
242
182
206
182
250
177
135
211
166
130
116
170
214
222
130
228
147
78
102
190
249
71
185
193
134
86
98
159
176
227
125
92
245
236
213
113
87
198
200
200
148
171
188
114
234
92
189
187
95
80
76
208
74
116
103
72
138
114
168
79
101
238
128
246
135
227
90
220
115
120
150
120
205
138
189
118
166
225
170
212
101
209
218
82
105
202
192
173
143
184
92
105
196
193
205
195
232
235
207
180
160
146
158
176
95
73
230
117
229
136
82
152
238
212
193
92
172
114
93
229
193
193
245
192
97
132
202
160
151
194
73
139
240
84
236
161
219
157
116
121
169
244
129
211
229
116
83
217
221
107
195
219
142
160
82
102
75
229
94
201
186
156
205
233
132
125
83
178
149
244
242
101
109
248
93
89
190
201
115
155
158
96
78
124
231
213
168
135
162
113
120
123
182
189
157
124
202
168
137
135
101
170
199
223
156
146
160
143
84
196
73
230
113
224
185
95
73
207
146
205
200
226
98
247
134
141
89
178
135
232
208
226
221
220
191
127
190
175
222
232
243
99
238
128
72
143
142
233
228
165
222
250
78
161
156
109
227
160
163
222
112
179
129
225
146
183
194
180
178
159
138
151
149
205
196
159
76
150
185
111
224
192
111
223
127
101
112
196
194
92
116
168
244
146
130
236
179
226
220
207
165
217
168
146
163
126
209
213
88
91
126
128
84
203
112
185
115
82
206
177
137
210
79
250
232
115
138
211
169
173
186
204
168
160
82
219
118
244
192
75
128
117
134
93
162
125
105
135
88
129
116
167
99
177
187
86
95
136
180
122
183
83
120
217
193
226
111
233
156
157
177
140
167
98
170
235
161
239
103
133
213
84
206
95
248
191
193
115
197
79
158
173
125
162
91
111
92
106
190
136
140
206
234
122
188
199
245
211
90
143
86
155
108
103
217
95
98
178
207
207
247
206
179
175
135
117
169
212
184
112
103
150
101
175
96
90
218
217
79
113
212
176
148
75
238
169
228
71
178
130
176
135
210
161
168
133
218
92
73
213
193
108
231
113
241
133
115
223
230
155
245
168
226
242
190
93
196
187
137
80
181
95
93
120
182
120
227
125
203
240
126
114
189
163
159
120
91
176
147
96
223
133
179
76
140
229
141
179
104
211
204
182
116
100
204
216
219
118
160
200
112
125
165
210
71
245
138
224
146
241
165
190
124
115
194
231
103
111
187
199
203
205
152
213
98
220
101
247
133
173
223
109
128
189
115
134
220
227
100
174
141
201
72
80
164
179
209
80
216
190
107
191
162
137
138
98
227
216
200
159
122
143
238
229
83
221
143
239
98
201
91
153
214
123
126
154
149
222
167
161
135
79
154
222
176
142
155
232
244
226
107
72
170
243
142
218
131
241
172
222
87
181
154
211
188
212
111
141
241
191
208
211
86
152
240
113
198
221
90
152
83
71
189
196
143
120
164
95
70
126
157
193
99
136
74
149
198
91
84
115
204
117
75
138
214
99
157
93
202
134
116
118
225
245
85
171
98
205
91
107
163
90
134
155
150
151
95
206
79
233
185
246
151
148
245
213
72
108
205
207
239
102
96
100
104
90
128
101
202
227
85
77
163
119
78
195
127
117
184
158
241
82
71
221
210
202
229
98
99
167
176
120
201
242
85
153
142
170
115
197
144
179
136
161
202
227
137
229
153
195
168
241
77
209
242
124
174
153
207
227
141
152
145
202
110
74
187
124
124
242
130
71
223
110
177
146
174
127
86
138
247
215
213
236
127
131
118
109
95
92
145
184
112
110
76
87
181
138
223
113
218
190
95
168
147
241
237
99
233
103
236
145
114
154
87
77
180
182
244
123
115
190
118
131
115
124
132
193
218
237
71
113
71
216
216
76
82
143
140
184
239
193
160
120
210
112
130
233
219
115
229
119
212
82
112
213
124
153
111
228
149
138
177
213
170
97
122
209
125
174
155
87
71
148
157
129
140
162
217
161
129
170
234
175
88
193
108
152
193
72
70
109
93
246
225
148
110
149
86
126
206
105
158
110
233
185
90
82
154
138
227
149
77
223
167
142
220
197
73
240
218
179
153
205
80
151
104
222
153
141
113
246
115
202
184
91
234
77
245
93
247
154
211
83
195
160
212
210
119
185
210
238
194
181
169
129
228
196
247
191
96
197
163
117
209
103
127
100
85
241
156
70
185
230
183
163
120
79
193
160
162
196
215
227
72
140
247
88
195
71
96
76
246
229
191
228
126
248
243
78
113
87
154
115
147
237
81
249
181
111
97
153
173
173
143
142
94
111
92
243
187
102
160
118
154
159
128
109
119
215
155
122
163
141
99
79
151
197
200
134
92
177
220
210
135
234
174
109
127
230
135
102
95
142
111
194
96
170
92
98
156
117
105
109
127
114
109
183
101
168
231
96
239
235
131
74
96
229
163
247
244
150
80
103
133
120
194
210
220
170
138
241
191
123
207
235
131
175
81
149
178
244
181
110
214
139
93
74
229
217
135
159
204
226
110
176
98
158
137
86
156
184
71
114
170
212
134
233
203
240
210
153
198
127
235
84
161
164
206
95
180
136
89
244
226
137
75
191
173
92
118
160
241
92
80
128
114
218
108
238
118
154
87
124
107
118
75
144
247
82
150
126
139
82
170
127
72
161
107
219
197
200
152
246
148
104
236
229
227
216
240
180
108
214
90
194
201
233
166
93
136
177
211
203
94
161
92
108
135
138
98
149
206
134
90
172
236
174
155
129
78
187
154
160
120
227
71
125
116
138
226
120
190
155
236
133
70
177
199
232
194
170
180
77
102
161
198
136
110
162
232
115
180
152
196
180
117
76
245
248
196
187
138
227
177
71
212
217
141
135
242
196
169
221
248
242
204
75
201
86
144
198
167
124
222
116
167
209
182
224
205
168
230
83
134
181
113
184
187
127
199
98
107
91
173
97
93
158
147
197
89
163
196
148
104
119
147
88
169
178
237
198
139
129
205
208
72
166
77
212
119
165
204
236
216
142
78
71
207
224
227
85
78
175
195
204
112
78
175
85
106
183
178
78
218
155
122
204
76
149
225
160
127
217
202
77
82
168
180
160
166
235
105
247
233
86
165
112
162
241
246
172
84
170
93
153
180
154
123
140
163
250
227
94
123
213
168
100
109
110
237
93
175
131
163
243
157
99
125
141
198
112
213
107
123
143
93
167
215
96
230
177
195
228
87
146
239
97
179
135
103
209
247
98
215
234
160
197
157
157
164
141
89
147
176
192
122
250
173
234
85
103
201
115
168
93
238
225
193
109
247
87
172
121
142
167
97
140
248
125
113
170
168
127
109
70
189
211
216
247
97
82
202
192
194
100
127
226
241
144
95
194
164
70
117
164
131
170
131
196
95
76
177
174
146
119
246
174
153
91
212
184
165
245
167
232
179
248
203
90
195
94
180
229
200
108
200
114
184
170
72
181
117
237
100
111
97
236
240
242
104
196
114
113
237
146
113
119
126
84
82
240
74
135
237
140
243
134
169
110
86
212
102
99
153
89
223
233
189
170
242
219
212
151
222
134
222
240
146
200
83
186
223
199
117
239
241
162
158
197
167
100
238
132
138
197
166
88
223
209
70
88
87
223
86
198
92
229
194
135
129
200
125
116
76
132
173
202
173
210
149
192
79
207
219
230
146
207
79
217
209
167
82
169
108
173
107
70
206
111
83
204
199
143
190
115
135
84
197
200
205
158
134
240
79
92
95
225
188
128
203
159
195
139
121
86
80
105
170
166
110
115
101
108
238
224
89
101
79
227
136
228
156
127
150
130
158
118
240
213
145
237
208
192
190
88
154
183
96
244
209
110
196
196
99
93
143
81
86
80
96
145
90
206
233
135
206
121
229
221
126
113
250
169
239
249
122
128
206
229
131
184
98
176
148
193
179
152
193
223
215
208
148
76
238
250
70
109
184
161
174
203
135
100
103
221
127
161
195
93
122
178
114
161
102
83
127
107
218
194
164
240
188
205
104
86
127
197
162
174
145
240
160
163
223
234
169
75
90
76
102
113
247
186
220
227
185
237
91
200
240
114
100
76
200
80
225
113
99
140
120
243
210
110
191
90
211
104
167
196
99
247
176
224
128
70
245
123
128
93
217
137
157
216
216
108
236
156
126
244
214
143
196
187
156
212
76
206
191
167
138
158
184
85
151
133
239
205
79
119
83
97
84
213
180
109
202
140
91
150
129
208
200
126
198
203
205
106
92
138
205
83
93
108
129
167
159
171
135
89
170
219
146
165
248
173
76
165
194
104
156
170
150
100
214
127
192
208
244
190
213
180
240
96
162
110
230
210
74
174
174
96
185
70
74
170
187
168
221
80
137
194
138
74
172
151
201
191
158
250
159
196
161
107
93
100
72
238
107
188
164
203
104
84
177
200
223
240
200
98
217
182
83
130
73
157
240
137
130
217
147
184
164
240
94
119
228
113
115
123
168
194
95
219
226
102
149
242
241
73
71
211
237
128
107
173
138
215
204
111
173
229
142
149
220
120
245
192
115
202
181
190
108
101
103
80
86
206
159
83
127
157
248
195
206
190
157
185
178
217
81
210
151
243
145
116
70
154
240
141
130
167
209
232
223
168
79
172
139
226
87
190
158
107
205
247
110
78
166
176
190
190
236
137
239
123
192
230
144
73
195
86
246
75
125
189
160
181
112
200
248
213
160
180
107
153
86
120
88
193
132
245
72
219
210
144
137
108
185
220
203
246
105
157
75
161
108
234
125
151
129
207
186
119
239
225
191
112
131
210
158
70
222
150
148
189
229
124
159
114
230
76
150
134
92
84
148
141
197
228
178
211
240
213
110
165
127
98
122
221
222
193
114
237
109
95
195
190
98
180
200
124
75
143
92
118
102
163
107
143
239
72
249
193
189
97
200
179
238
185
74
82
204
239
226
160
246
114
235
164
96
104
247
155
170
245
88
247
206
79
168
77
168
218
76
156
83
203
167
209
119
246
139
248
96
236
207
192
207
159
213
87
181
81
111
233
175
202
200
219
194
160
140
110
134
163
181
240
80
172
148
76
207
243
245
79
74
172
114
193
109
119
184
248
207
140
127
164
71
113
148
214
214
184
168
91
215
90
103
211
143
86
153
120
134
192
126
133
222
78
146
159
216
115
222
138
95
230
210
160
129
190
104
109
97
237
211
118
118
183
85
71
106
208
107
116
229
227
101
92
129
184
113
145
72
80
192
98
164
211
141
152
240
96
239
103
169
145
151
215
153
245
106
145
187
176
176
227
89
200
78
83
87
87
182
164
107
250
135
154
164
77
119
200
74
205
239
98
171
175
156
161
226
109
122
250
89
104
92
91
76
199
195
122
130
101
186
93
193
110
81
93
143
77
115
213
125
194
157
111
100
144
105
70
233
181
170
139
249
199
207
139
112
170
152
145
230
180
141
157
145
158
128
166
190
181
182
207
239
210
163
228
210
202
79
241
247
185
243
201
104
78
229
72
240
134
100
151
137
167
172
157
196
108
105
154
195
110
149
220
238
129
133
181
96
126
216
103
77
83
195
186
140
86
185
190
221
232
157
186
123
170
131
153
198
165
210
183
109
160
126
228
188
193
151
178
202
177
108
161
155
117
83
96
171
91
178
224
103
241
74
150
157
80
169
71
157
212
93
83
87
124
205
250
188
111
161
194
94
177
114
156
236
198
132
214
133
181
79
225
70
167
204
149
197
157
208
172
159
186
93
181
236
138
238
182
109
247
117
117
84
224
155
100
85
116
86
169
140
103
173
142
183
238
189
240
94
156
229
138
110
116
218
175
91
128
104
179
224
176
249
111
154
160
195
101
85
211
158
98
121
231
96
74
86
76
197
168
110
190
135
112
215
148
113
82
136
100
194
216
133
207
94
144
249
79
104
167
208
105
99
213
152
214
134
121
139
157
93
188
117
97
215
182
225
139
150
226
230
239
134
235
110
110
125
248
111
231
178
243
238
202
238
118
242
211
129
104
125
105
182
144
208
209
190
161
229
131
124
218
167
245
100
204
238
142
121
161
90
159
160
101
210
239
248
84
228
191
209
170
84
246
225
203
205
156
104
215
152
177
248
195
125
189
133
168
155
228
81
123
195
75
84
216
131
185
218
238
189
211
176
139
108
127
74
209
103
104
236
219
122
248
145
207
148
136
95
220
231
204
215
151
191
94
148
157
73
240
198
148
104
114
190
197
98
88
150
96
135
126
187
158
183
191
133
246
121
199
230
230
173
77
191
156
72
98
223
244
105
82
93
199
101
215
243
87
233
130
149
137
174
232
207
92
137
195
106
156
120
131
228
163
117
115
111
174
99
100
98
147
182
80
105
90
240
150
213
101
241
206
147
157
144
164
189
80
118
172
101
194
214
80
107
132
250
243
110
121
115
170
114
170
243
135
164
115
84
131
212
231
91
163
248
106
107
92
237
227
88
214
233
82
160
241
219
99
100
205
174
162
179
115
162
229
243
211
201
124
199
75
81
197
139
236
104
169
145
217
164
86
202
230
201
208
88
116
118
221
210
209
84
180
189
139
171
111
115
212
240
240
247
133
142
86
102
118
235
136
167
179
86
151
207
198
71
128
76
212
213
140
142
158
144
229
180
102
133
112
81
187
195
88
91
144
74
149
105
92
138
237
227
137
72
225
135
145
122
172
195
100
209
125
188
84
200
96
131
111
209
96
116
130
105
225
92
130
182
124
168
241
239
166
233
98
234
73
70
151
197
195
93
140
194
158
244
159
234
139
122
228
204
174
109
109
147
46
22
78
38
30
32
47
52
69
61
30
47
60
43
69
47
79
50
48
66
58
71
71
56
80
75
71
48
27
43
75
36
50
72
66
50
48
46
35
40
25
63
55
58
45
70
33
46
55
62
42
27
72
78
36
53
70
56
61
59
74
64
37
43
75
30
37
33
64
32
50
38
29
36
24
57
46
44
33
62
48
29
69
28
57
37
74
48
33
65
62
26
31
31
27
23
79
79
70
49
61
55
64
71
50
41
70
53
76
56
46
38
62
46
48
40
43
25
77
56
73
50
41
36
29
29
21
57
45
36
63
45
34
67
53
29
44
72
79
69
46
49
34
42
31
76
57
21
40
27
47
52
62
78
21
52
50
37
24
62
47
45
74
33
56
45
42
40
71
23
35
31
73
31
20
25
22
31
33
44
32
27
33
30
54
70
69
64
68
43
28
40
68
28
56
74
26
34
78
36
53
77
26
22
64
29
39
78
47
36
47
58
44
80
36
27
78
39
80
68
45
28
40
62
75
33
32
48
72
35
67
30
49
66
22
28
22
24
38
58
42
61
21
78
34
31
35
41
51
79
54
54
21
48
36
27
80
72
30
72
71
43
24
73
48
45
36
54
26
46
77
20
44
23
22
20
47
56
39
65
23
49
48
27
77
50
63
70
37
30
21
22
70
33
56
71
34
79
71
20
57
53
29
23
55
64
44
20
49
63
23
37
67
53
60
45
66
30
53
66
40
72
46
42
74
43
79
63
56
24
30
47
20
51
23
71
36
75
69
27
56
39
66
70
76
62
35
27
46
42
40
34
28
35
55
63
52
29
31
65
31
47
54
79
45
48
36
26
80
65
57
80
46
41
70
67
45
24
27
78
58
75
55
58
55
57
37
67
65
56
30
69
27
36
57
36
26
68
66
33
59
23
68
23
37
44
49
40
33
49
69
20
69
80
72
75
61
55
60
64
32
72
69
31
36
79
52
77
75
62
41
61
23
74
79
47
41
36
58
50
48
24
71
80
39
33
34
39
28
80
46
43
70
30
25
73
57
37
24
57
56
51
50
79
53
66
71
34
71
48
27
58
52
37
40
77
42
58
44
64
55
75
62
25
41
69
39
78
24
33
57
23
37
70
53
21
54
62
33
49
76
33
73
69
57
68
24
37
65
63
65
25
24
75
52
78
76
20
77
28
43
28
67
71
53
67
64
63
23
23
64
60
27
73
62
23
40
35
56
27
71
69
69
77
68
61
80
76
35
54
31
52
45
60
36
23
54
55
36
44
47
25
76
80
43
66
75
72
24
40
38
68
30
48
27
55
41
62
75
39
55
43
36
60
75
69
31
57
28
29
40
44
22
33
41
73
24
32
53
67
27
58
22
31
31
21
58
43
48
43
22
63
80
35
46
55
26
79
52
63
63
62
78
34
80
30
74
36
29
34
48
45
43
45
73
50
55
28
48
23
64
54
22
73
67
69
63
35
33
25
30
58
29
64
29
25
74
58
66
48
59
45
77
47
41
68
53
44
74
69
40
66
78
63
73
61
80
30
49
24
52
43
34
79
59
22
66
70
60
26
43
51
21
30
41
80
37
46
66
47
68
30
42
34
31
29
22
35
41
63
53
62
47
74
52
24
32
67
41
55
43
21
45
22
26
49
24
74
64
60
50
75
49
60
39
71
38
73
26
80
21
42
24
74
46
80
74
65
47
61
31
44
32
79
71
79
65
24
68
59
39
36
23
68
62
24
39
55
66
26
29
65
58
38
45
63
31
20
28
46
26
61
22
77
31
48
31
50
80
62
59
77
76
51
64
24
76
24
26
80
53
63
47
34
64
74
38
73
47
72
24
64
40
28
26
74
47
59
72
66
35
21
31
26
76
35
77
64
48
52
76
23
77
37
36
25
73
31
20
35
74
50
41
78
31
63
59
46
77
59
58
27
55
80
74
80
78
53
48
52
36
35
39
24
41
28
62
54
58
59
35
55
25
60
20
45
72
23
23
74
59
58
79
77
37
39
46
59
76
23
28
53
64
60
37
44
46
58
50
63
66
42
65
43
39
41
33
53
66
76
50
72
58
67
79
78
56
46
21
74
22
63
27
60
64
50
80
31
77
21
37
32
63
57
43
27
23
56
36
72
68
75
51
60
27
78
62
37
51
22
65
28
58
70
74
62
77
31
57
78
63
32
56
59
25
69
43
53
29
73
25
75
31
75
22
51
60
20
43
71
69
59
50
48
65
28
52
60
62
61
40
48
70
73
33
50
46
61
75
22
29
20
30
56
51
39
79
76
48
79
28
48
33
75
71
73
48
64
40
52
38
65
24
79
60
25
50
62
25
36
61
50
79
49
53
70
51
61
68
57
40
24
24
58
70
79
42
54
20
25
59
78
60
50
35
74
80
67
64
55
31
65
26
26
72
48
45
52
71
73
39
67
43
41
35
58
47
56
71
64
70
33
45
67
40
76
60
35
32
61
73
51
24
22
27
55
41
21
22
26
58
42
37
21
72
79
40
43
50
33
37
38
34
49
58
42
25
42
27
22
46
60
26
35
46
61
21
31
26
34
69
68
34
57
21
59
75
62
44
66
60
67
49
80
74
66
51
76
66
53
33
55
75
27
55
59
78
75
55
56
54
49
22
69
60
44
80
21
64
54
67
56
75
62
38
39
33
51
62
36
54
41
23
67
32
57
39
70
23
49
51
34
76
44
54
56
74
57
38
26
30
66
43
33
67
41
78
42
45
70
32
68
76
20
76
45
55
75
30
47
67
55
77
37
57
41
46
44
35
72
46
69
77
20
49
42
56
75
58
20
46
46
33
24
54
26
78
35
38
30
78
73
58
25
26
68
24
40
26
29
66
54
50
22
52
74
37
21
23
47
31
79
53
70
68
32
78
29
57
34
80
43
48
49
25
63
64
71
41
46
68
66
26
61
79
33
37
61
80
55
62
60
38
57
72
37
44
34
55
76
58
49
42
35
72
21
61
59
74
32
63
69
50
54
64
36
22
29
47
39
49
54
80
68
57
41
58
22
35
27
80
79
31
39
39
22
80
28
67
55
72
61
78
29
71
45
76
37
24
47
45
54
61
23
27
70
34
63
34
39
55
63
74
50
69
37
64
71
78
73
78
32
48
32
35
54
24
58
56
48
23
36
62
56
38
58
33
52
51
38
21
46
60
50
33
31
66
80
77
33
52
31
36
76
42
71
42
34
49
57
33
53
77
55
40
74
55
69
55
35
67
25
74
78
71
25
71
28
52
74
37
71
78
62
69
26
73
80
71
37
20
68
39
29
29
76
21
75
29
35
40
65
62
78
72
66
30
55
50
23
43
41
72
50
63
44
37
53
68
67
72
33
47
55
36
46
70
45
47
67
73
33
77
61
56
37
24
34
31
74
41
46
70
80
28
53
35
45
28
56
50
65
28
28
75
77
72
36
27
51
53
50
27
75
79
36
80
67
75
42
42
53
80
26
20
64
57
33
32
77
34
38
35
68
31
22
47
38
62
24
60
73
80
77
58
33
29
57
47
55
65
67
44
61
45
55
32
30
67
62
41
30
32
38
77
76
75
76
38
47
54
38
64
80
42
68
29
25
50
23
66
48
46
26
46
64
21
67
28
37
55
75
65
33
69
59
61
63
39
46
49
29
61
46
46
79
79
21
43
44
56
33
25
42
69
80
22
60
54
72
48
79
60
79
24
43
42
65
20
57
74
58
44
67
20
70
32
22
72
33
65
52
22
30
51
72
67
38
37
53
64
28
79
46
72
68
25
27
46
60
75
52
60
66
32
49
41
27
67
32
67
58
68
43
25
35
68
32
28
36
35
49
27
24
23
57
41
72
77
42
64
75
54
68
36
34
39
58
33
23
46
61
44
24
78
21
46
22
41
28
47
63
67
57
58
53
73
54
55
40
80
72
77
51
73
73
57
34
38
38
20
38
35
45
29
48
35
70
29
73
48
38
53
35
74
73
26
25
75
63
30
39
35
42
28
60
49
71
49
59
25
57
65
54
30
44
60
34
29
43
73
52
55
51
64
42
24
52
61
51
65
34
78
61
42
38
72
47
69
61
72
68
59
72
68
56
26
33
60
42
55
66
21
58
28
48
76
68
43
58
33
33
70
23
28
57
47
25
68
40
57
67
74
44
72
41
59
58
25
80
42
37
22
41
32
26
36
46
57
55
50
30
52
29
36
29
45
23
25
67
36
52
43
69
20
38
74
35
51
59
45
79
55
54
55
55
79
36
22
49
41
44
59
25
59
59
39
52
77
73
43
69
32
38
50
59
45
46
66
23
67
23
48
46
39
28
41
60
43
79
61
41
46
64
28
36
64
34
38
38
60
51
31
47
76
39
73
58
67
47
48
27
50
35
76
24
59
55
65
50
35
61
28
35
78
29
23
28
38
77
79
58
58
21
52
74
54
40
57
66
33
77
31
65
59
54
69
69
50
22
23
63
71
37
78
77
78
45
61
80
79
47
43
66
79
24
64
76
28
58
39
49
61
80
29
34
50
20
34
80
66
59
70
52
50
67
28
26
33
21
54
60
48
54
36
60
54
45
31
78
30
38
77
34
47
33
59
66
62
56
59
34
22
37
69
75
73
25
49
67
74
27
73
42
31
55
67
24
20
50
74
73
26
50
59
54
31
54
39
26
42
35
49
53
66
47
51
66
55
46
22
77
68
22
35
65
26
27
77
22
43
55
22
37
50
51
31
27
71
42
24
80
31
51
39
66
22
42
35
31
21
68
63
54
71
42
55
61
21
68
31
71
38
57
76
56
52
64
21
28
46
21
32
55
32
61
56
76
26
55
20
52
27
32
36
49
66
46
64
72
47
26
73
49
61
76
76
23
51
47
42
77
51
26
63
46
58
60
52
41
75
49
59
32
58
75
41
73
25
44
23
34
61
57
66
36
20
72
37
43
78
63
62
56
44
26
34
60
65
51
20
80
63
43
72
58
34
50
80
49
53
64
62
30
41
22
44
47
23
60
53
68
30
78
28
75
48
57
37
45
44
52
39
53
77
59
70
32
22
59
31
45
49
45
78
57
47
52
66
61
42
65
46
51
62
39
53
53
59
78
54
70
60
21
80
42
61
35
35
46
22
29
49
78
25
31
34
71
69
35
34
38
71
30
48
44
38
33
39
40
48
39
21
24
35
58
52
65
62
44
26
20
25
53
44
58
25
26
78
40
66
69
57
76
50
43
25
39
69
48
73
71
36
59
20
78
22
52
33
57
75
56
80
33
53
60
41
42
64
57
44
27
47
23
65
60
24
31
49
73
37
64
21
77
55
61
68
57
29
72
69
65
59
69
27
74
49
29
43
22
26
22
41
32
49
76
53
39
72
76
79
25
31
25
72
74
77
64
62
63
49
30
29
37
22
26
71
27
77
66
67
79
52
72
54
67
78
44
68
59
38
27
70
33
78
42
53
37
79
77
26
72
53
36
20
76
49
30
66
51
36
60
20
73
55
26
74
25
79
56
65
55
21
25
26
50
55
63
56
45
65
76
33
44
63
67
57
39
23
59
48
61
63
54
79
68
21
63
73
33
48
26
29
30
52
27
52
26
38
45
36
72
44
26
29
46
29
42
39
20
74
24
21
72
27
53
41
43
46
72
44
79
53
35
70
73
26
56
54
33
52
41
37
79
25
42
27
39
59
56
30
75
24
63
64
57
72
31
35
33
56
40
67
74
34
61
44
34
74
55
49
76
31
52
49
73
32
48
24
40
45
30
54
21
64
22
70
42
72
29
26
49
73
22
44
77
48
76
23
24
55
62
59
48
56
38
36
53
69
52
76
63
79
38
64
73
23
24
58
43
72
79
56
64
30
32
47
38
71
39
29
32
69
23
76
38
36
69
53
26
56
59
68
24
44
33
40
27
63
51
31
49
64
46
32
76
61
77
26
44
37
63
74
44
68
59
71
52
28
66
54
32
69
43
70
23
36
55
74
66
62
43
64
25
23
26
53
54
59
52
23
53
69
65
79
20
59
70
47
30
60
65
47
63
65
34
34
42
72
56
41
65
71
65
57
22
76
55
38
32
55
76
59
57
77
69
27
72
53
34
68
46
51
67
53
59
39
40
63
21
56
39
53
80
74
73
75
73
56
63
21
68
58
28
57
37
26
47
66
63
62
67
59
43
65
41
28
26
26
67
40
28
41
33
51
24
20
53
52
67
70
53
50
59
44
62
33
34
29
70
44
79
66
27
42
42
78
67
49
63
52
45
57
66
55
76
29
77
70
65
77
79
68
47
26
42
68
78
72
34
50
34
51
39
74
23
73
66
77
20
80
66
45
34
25
37
45
65
42
50
31
34
59
63
60
72
51
25
52
68
49
74
45
74
52
23
33
56
60
42
73
60
51
34
68
29
23
75
73
64
56
40
40
25
26
79
21
74
59
54
55
72
36
36
78
58
69
55
76
73
78
55
47
63
31
32
21
36
69
63
50
62
23
22
45
55
38
56
54
24
61
31
28
25
53
49
41
21
67
74
74
61
79
75
50
35
79
38
35
69
39
70
49
41
31
21
21
32
72
79
26
69
46
32
59
33
27
67
45
42
52
69
72
23
31
71
34
73
29
56
79
47
75
79
34
52
70
55
67
37
80
42
41
63
21
26
52
28
34
73
75
24
34
36
76
24
70
29
35
37
35
34
27
33
64
51
32
66
54
53
65
45
56
71
38
62
52
54
56
59
32
64
72
68
43
55
29
27
57
54
39
50
77
74
39
61
31
45
38
66
79
50
37
48
52
58
50
47
33
70
42
55
34
40
56
33
38
54
75
32
20
24
49
21
45
64
39
25
26
22
60
27
70
22
50
54
20
32
59
25
54
26
33
55
74
33
24
48
50
59
49
59
43
20
30
79
69
38
24
49
68
70
69
21
43
77
29
72
65
76
22
37
71
59
29
55
47
21
53
77
70
20
65
21
53
46
67
28
78
73
57
68
79
48
25
48
42
49
22
63
77
21
68
73
76
34
49
31
27
45
71
40
20
49
62
39
20
35
79
50
37
57
62
26
48
48
77
26
45
41
40
30
46
46
48
64
24
58
36
36
24
45
78
45
61
57
27
36
65
70
64
42
31
47
41
58
75
80
29
60
78
68
67
60
75
33
50
78
30
66
58
57
40
22
72
50
70
46
44
39
50
33
66
58
23
56
77
27
36
72
60
23
50
56
23
64
32
30
48
65
24
35
58
37
64
23
24
50
73
42
34
35
26
72
27
48
39
67
54
62
77
26
69
33
58
26
41
57
71
50
52
36
38
21
30
33
37
48
50
50
21
26
39
54
67
30
73
58
73
30
44
48
26
64
29
43
22
71
46
42
50
58
32
33
69
49
56
74
69
66
58
31
31
24
37
76
52
23
73
66
60
20
69
31
64
68
35
22
63
63
51
67
58
79
22
54
23
36
20
62
32
26
25
67
52
46
55
71
68
76
22
39
46
79
39
75
42
68
46
70
72
47
53
33
35
80
65
66
36
68
56
62
59
39
71
55
35
49
38
64
27
28
33
80
66
22
30
20
77
48
48
47
69
54
70
21
66
71
41
45
25
53
46
28
54
52
58
28
70
38
29
25
77
37
73
33
46
48
23
37
41
67
21
71
32
67
50
67
80
71
46
27
32
24
37
79
52
70
72
37
25
36
48
76
38
68
44
32
62
71
26
42
64
42
40
60
69
20
44
40
80
26
56
80
41
44
35
51
29
70
69
39
42
49
32
62
24
30
78
43
35
55
27
69
20
29
46
39
42
44
46
52
52
36
39
28
54
57
78
23
36
51
56
48
42
33
21
28
73
80
27
38
78
39
45
41
67
43
44
21
64
39
57
63
20
31
47
23
51
56
64
46
71
63
27
34
37
32
44
57
31
29
34
61
30
66
48
35
43
23
70
79
48
52
43
20
24
62
49
79
34
25
56
64
75
65
52
31
69
80
64
60
67
80
30
79
78
53
31
41
70
47
61
54
74
58
75
43
75
65
52
70
77
63
69
64
72
25
48
58
25
30
47
65
26
57
30
49
77
51
47
52
43
29
53
25
75
46
45
46
76
21
59
38
34
47
55
68
45
20
36
50
53
50
50
38
54
39
71
47
76
69
65
66
79
46
47
20
62
33
48
72
30
35
40
71
38
28
20
37
43
70
59
44
20
28
35
20
38
25
34
22
24
59
41
58
78
63
70
77
56
78
49
74
46
32
31
38
57
28
56
42
48
25
33
64
45
54
22
45
68
75
50
29
31
67
49
40
74
54
33
39
70
52
25
30
66
69
62
68
57
46
59
52
64
48
71
24
75
70
47
65
63
57
76
27
40
62
29
37
28
24
28
56
32
64
59
71
68
50
24
78
64
59
35
42
79
67
61
54
41
36
54
73
61
32
24
56
39
48
79
21
34
31
46
20
79
50
63
66
43
55
55
59
64
46
58
34
25
32
68
43
55
57
55
68
43
20
33
51
26
29
33
76
36
76
22
32
36
65
65
33
31
41
61
28
22
76
32
73
20
29
77
50
68
67
28
27
55
23
64
23
47
44
59
30
20
35
44
43
21
51
47
67
55
72
53
36
48
57
69
28
66
35
65
53
63
52
68
76
40
33
65
46
76
80
77
38
69
75
59
74
51
59
63
33
38
32
62
57
37
21
50
59
34
47
55
63
75
52
59
78
40
20
24
47
22
69
21
41
61
27
26
74
76
69
80
28
64
43
61
46
25
28
75
56
68
20
50
68
22
62
70
70
35
60
31
28
60
69
38
48
62
66
35
24
21
33
37
34
53
55
27
50
48
38
72
45
71
24
67
55
25
25
26
69
28
29
29
79
56
51
41
69
70
79
21
57
65
45
62
56
45
39
72
67
39
33
51
41
31
44
22
80
43
44
62
56
35
45
42
46
38
40
71
42
28
73
63
32
58
67
41
46
62
79
22
24
77
30
32
49
25
51
39
59
26
46
57
48
54
44
49
79
34
35
68
77
27
63
77
38
51
47
24
71
42
65
68
54
77
34
34
27
57
22
20
60
80
62
66
62
56
59
63
30
74
61
25
73
73
44
48
37
73
55
49
25
79
58
60
30
48
35
52
75
29
56
80
23
68
62
53
35
51
40
79
57
48
56
32
80
77
36
77
21
43
29
60
71
62
49
46
62
68
29
66
35
55
61
32
78
32
44
52
53
65
75
46
68
44
64
43
42
31
24
59
46
48
28
41
20
61
75
20
25
29
35
59
37
55
32
58
45
23
47
55
70
47
49
29
68
64
22
24
46
47
54
80
32
48
34
62
50
80
61
61
49
44
42
64
52
34
26
71
64
24
53
47
44
54
47
69
69
70
44
46
63
20
25
24
51
40
71
47
60
45
60
29
22
52
22
31
64
35
48
55
49
43
49
20
47
27
29
73
63
32
43
47
65
27
66
22
31
72
64
76
37
53
53
24
61
72
39
30
57
41
67
38
33
20
50
73
72
60
47
45
43
68
35
27
76
74
73
48
63
25
23
35
72
59
62
61
75
67
44
30
62
74
59
55
72
35
30
58
55
69
64
65
73
41
40
23
60
71
43
56
47
58
57
39
75
32
24
44
37
52
48
25
21
33
65
39
42
36
54
71
74
65
51
55
61
73
42
27
24
37
30
47
21
79
76
26
69
70
38
79
69
44
33
80
25
77
37
35
57
42
29
24
37
25
54
72
56
57
29
71
78
55
39
74
76
71
46
70
64
78
62
40
42
80
62
74
51
70
36
65
41
60
69
22
36
55
66
44
63
24
35
57
75
40
63
60
22
40
42
37
68
23
51
76
71
61
40
23
78
80
78
30
31
24
59
66
69
28
32
78
21
32
34
45
20
34
26
39
42
40
75
23
60
56
76
29
30
55
38
36
79
45
60
59
74
24
69
63
56
61
42
32
46
24
59
73
77
29
39
71
32
59
70
75
32
37
64
75
50
39
60
70
61
69
58
30
68
62
38
27
78
48
33
35
65
50
59
49
22
47
80
59
66
24
62
27
51
36
31
37
67
49
46
40
73
69
69
30
25
32
53
36
66
28
57
67
57
20
41
27
79
70
45
80
64
73
42
23
30
67
20
52
61
72
74
39
60
64
34
44
52
76
39
57
67
29
51
73
54
21
72
26
26
49
78
57
40
60
20
39
69
36
39
25
32
37
29
55
39
27
41
52
38
78
80
47
20
32
52
60
32
44
27
23
25
54
44
32
80
61
49
56
62
45
61
68
80
44
67
37
40
54
26
66
61
24
44
21
63
61
35
44
38
71
30
50
34
79
26
73
48
69
41
76
28
48
44
41
21
76
68
22
30
67
79
25
29
37
26
23
36
40
75
38
72
23
47
55
34
54
21
33
28
59
23
46
38
35
54
66
54
73
68
55
27
28
58
74
61
56
80
38
50
22
79
32
59
50
47
21
41
67
46
68
38
66
72
69
30
24
45
30
57
38
24
34
36
48
54
27
59
56
47
75
37
57
70
53
42
23
52
48
38
43
62
79
57
47
24
29
23
60
59
57
58
77
42
42
43
33
51
54
58
36
80
22
36
62
52
41
65
39
60
21
46
69
42
38
66
73
52
44
71
38
74
32
65
39
43
43
65
28
55
74
65
49
30
50
21
73
63
60
46
53
73
31
59
61
77
29
80
30
76
42
32
80
32
40
35
26
63
61
30
76
50
65
39
60
27
33
39
62
47
64
25
49
46
75
49
72
49
63
40
28
33
29
34
75
58
74
58
43
77
38
73
67
30
60
65
34
49
28
64
25
26
74
75
69
49
35
29
57
68
72
31
45
71
43
38
58
63
78
69
60
74
44
45
60
61
80
48
46
59
61
43
51
58
76
38
42
64
76
61
43
80
61
68
39
75
59
26
69
45
49
66
50
24
53
56
57
54
52
76
52
65
57
37
50
45
43
48
21
45
43
66
59
28
28
37
63
34
57
74
66
64
25
69
78
52
68
51
58
37
45
74
60
63
73
44
32
63
44
69
46
44
32
29
47
49
63
34
76
69
74
49
79
60
32
72
68
45
47
43
65
34
51
63
78
24
35
45
80
61
77
26
39
64
61
50
71
75
60
20
56
39
24
51
40
73
29
45
27
37
64
58
63
68
30
73
42
24
42
54
36
75
39
61
63
66
57
52
35
52
51
60
40
54
52
36
59
25
53
59
47
29
31
65
52
30
44
47
65
35
51
72
34
57
66
54
54
37
61
27
60
75
31
46
72
26
66
41
76
66
76
31
45
34
20
40
80
69
46
22
53
44
59
38
76
39
74
43
58
35
66
47
44
42
37
24
48
45
30
77
39
49
35
74
47
30
70
22
78
25
72
50
23
36
34
62
26
27
26
21
48
72
70
22
43
62
33
44
71
41
46
36
56
76
71
53
20
38
57
62
55
35
71
20
75
26
48
45
63
59
23
51
54
78
74
79
38
35
22
21
79
34
47
23
30
41
52
32
49
42
40
20
30
70
29
25
27
48
26
56
67
43
43
47
30
49
40
78
67
37
52
32
58
43
65
58
70
69
54
61
31
78
31
80
32
29
41
26
70
54
64
62
80
60
63
58
57
35
67
49
36
53
21
64
31
75
53
77
73
52
30
76
51
65
66
55
78
43
46
46
35
77
69
75
24
44
54
29
53
66
58
73
60
42
80
27
33
26
28
28
38
54
21
78
40
42
22
77
26
71
77
25
28
76
74
41
47
78
60
75
20
40
62
64
28
74
74
60
27
35
26
30
20
26
73
23
67
75
30
43
24
46
44
45
77
67
64
24
63
28
34
46
72
45
38
61
45
68
60
24
72
71
75
64
78
36
38
63
20
31
71
42
43
68
40
70
24
41
66
59
54
30
64
26
34
20
45
75
38
31
36
53
40
41
72
47
74
65
20
33
45
70
64
60
67
36
50
72
24
33
24
63
55
77
32
73
69
43
49
26
55
72
80
79
29
32
24
46
62
49
57
61
75
66
51
39
26
65
59
80
74
74
79
27
34
80
58
28
34
77
80
70
41
78
74
24
21
55
48
73
28
64
35
39
48
55
70
63
33
41
60
29
73
25
37
21
76
71
46
27
34
40
76
46
51
66
75
66
46
31
58
27
45
57
80
22
23
64
76
61
60
58
31
71
24
64
68
43
28
36
31
73
42
59
73
58
21
28
28
68
77
78
25
69
38
46
42
66
44
26
21
61
24
35
54
55
32
27
50
69
66
68
51
28
46
75
30
42
70
71
64
44
70
67
32
55
69
45
44
55
55
52
69
55
63
60
26
64
71
74
43
42
44
78
26
21
75
67
55
37
74
56
23
77
50
22
44
46
46
28
50
20
30
72
35
30
58
37
30
74
42
21
69
80
74
21
74
75
57
33
71
64
20
31
48
79
64
33
40
28
30
42
55
64
28
67
53
71
61
29
28
26
34
58
79
75
72
45
40
68
71
71
78
31
41
78
26
37
45
40
23
35
76
55
41
65
63
51
61
20
56
46
31
55
59
80
59
49
46
47
31
74
31
76
59
43
22
63
63
75
60
49
34
67
54
31
76
76
52
67
77
29
60
67
35
80
73
29
70
31
79
28
67
61
43
73
70
56
38
74
31
69
34
31
59
69
69
74
36
58
24
69
20
72
40
63
54
56
77
69
40
72
73
71
39
51
47
74
64
74
78
75
22
71
74
63
25
65
40
30
35
45
29
22
79
21
69
40
50
66
71
75
50
39
70
34
50
37
75
72
26
43
26
25
25
70
63
38
35
42
69
74
43
34
73
32
32
77
43
46
71
47
33
37
23
29
52
34
22
64
57
36
68
50
39
67
56
73
39
55
59
58
41
68
23
70
57
52
69
51
50
77
52
70
50
42
74
61
29
20
58
79
34
47
53
40
29
60
68
50
34
51
47
33
54
33
72
71
42
45
79
48
74
52
67
26
48
48
66
45
50
27
75
53
55
21
33
63
80
58
66
49
21
63
57
78
50
73
80
77
35
57
36
42
50
71
55
46
47
44
38
55
43
53
57
68
59
54
80
75
25
74
75
80
53
36
64
65
58
59
75
56
26
50
44
71
27
58
60
20
69
74
80
70
36
20
72
48
30
33
40
41
45
31
66
69
32
24
37
48
22
43
26
24
60
74
23
70
27
58
73
30
27
73
69
53
54
36
72
23
38
73
72
57
33
63
75
74
78
46
53
56
69
24
27
20
60
38
41
62
66
47
76
73
56
73
58
79
61
47
35
27
56
40
54
23
51
24
20
55
61
41
76
49
24
55
50
80
34
38
30
49
55
21
57
76
24
27
80
21
51
46
32
39
27
55
49
67
58
57
48
51
21
76
72
57
77
79
38
30
54
38
36
23
51
80
43
72
54
75
30
77
50
54
34
59
71
54
56
43
22
26
29
33
67
54
41
34
58
55
44
43
69
24
21
45
76
24
46
40
38
56
45
56
57
74
52
79
31
67
69
68
70
73
73
36
68
42
76
32
50
34
25
51
25
28
41
69
44
73
80
37
76
66
80
68
41
32
22
41
26
45
55
36
32
72
27
78
21
28
36
37
51
62
77
58
75
54
78
77
51
78
40
64
56
32
47
71
24
42
30
30
65
40
47
21
63
53
38
73
56
58
27
33
43
70
60
68
67
63
57
42
45
42
79
76
44
78
69
56
31
46
35
27
30
59
39
36
36
65
33
77
72
56
21
67
37
27
32
32
64
48
40
53
25
35
36
56
23
27
65
45
60
36
52
40
51
28
48
78
33
73
30
77
32
67
54
36
31
43
27
66
60
46
80
39
63
80
60
49
43
71
24
67
46
59
79
21
80
24
42
72
28
64
37
29
36
69
74
21
70
22
73
64
35
52
27
74
73
56
79
57
25
20
77
69
24
26
53
38
61
24
48
31
44
26
51
79
56
39
80
56
33
80
54
40
62
45
30
40
41
44
53
23
25
24
35
39
46
25
40
60
70
45
45
64
69
41
57
66
69
51
54
55
62
41
50
28
28
62
72
64
79
22
47
73
34
69
25
65
51
30
37
60
34
35
47
51
72
68
31
78
31
38
41
46
70
22
38
38
67
63
79
50
42
77
31
63
53
67
37
20
44
20
51
80
77
30
32
23
27
52
41
76
74
57
69
69
57
71
78
66
75
23
38
62
47
66
79
26
24
27
60
63
29
74
43
78
80
77
66
73
24
67
49
51
50
52
60
75
44
44
77
40
38
56
27
35
64
57
33
56
72
75
69
54
22
22
34
47
64
49
76
71
33
45
26
26
20
59
70
30
54
78
69
55
70
64
48
45
51
34
55
23
73
70
59
38
61
69
61
25
75
73
79
60
63
57
27
45
51
63
68
41
53
64
57
62
36
61
49
74
28
63
34
77
20
45
70
32
45
48
66
72
48
69
37
35
28
37
55
74
21
29
65
60
57
73
66
31
36
75
27
38
64
31
73
34
67
52
60
75
63
55
54
38
25
24
74
44
71
40
73
63
34
56
80
31
28
66
75
47
64
27
21
45
28
53
72
75
44
60
60
42
59
62
53
60
45
28
64
69
43
54
34
46
31
34
33
75
65
36
20
33
37
72
74
54
37
57
66
67
42
31
35
23
54
21
63
71
24
36
47
27
51
69
62
35
22
26
75
39
59
29
47
76
76
21
77
77
80
37
52
53
51
56
63
49
67
38
28
55
47
44
54
69
50
41
56
24
61
59
66
20
72
47
60
25
23
67
72
80
26
61
24
77
59
55
64
79
41
45
48
73
77
58
63
31
66
64
36
70
43
58
28
73
79
22
53
28
62
46
61
65
61
64
70
74
46
33
50
65
34
59
69
24
42
57
38
46
61
67
35
72
51
55
48
39
54
27
29
56
64
72
50
29
22
78
40
76
73
74
50
20
77
34
49
20
54
35
54
52
32
78
22
59
20
74
20
63
80
78
64
23
60
64
78
51
66
69
76
63
48
51
43
63
22
73
43
74
41
55
55
40
37
39
21
40
25
66
32
40
26
51
56
61
49
32
43
75
34
23
58
59
47
29
23
33
25
50
20
37
53
74
20
49
28
41
79
58
62
50
47
36
36
37
56
26
61
62
73
46
41
66
79
61
68
30
53
38
29
56
22
53
40
74
61
58
46
39
74
67
27
29
50
63
34
25
35
70
56
78
26
65
77
27
73
32
59
74
34
59
32
54
69
67
64
39
67
25
27
26
47
62
50
66
52
65
50
26
42
58
75
20
78
48
29
46
74
24
27
49
63
34
55
70
31
77
51
50
36
47
56
32
43
27
29
79
52
69
25
64
75
78
50
75
75
50
38
41
26
73
60
54
28
32
63
48
36
54
23
34
49
74
79
73
79
26
40
25
41
31
42
67
54
22
41
79
30
46
32
46
39
23
20
78
34
80
67
52
73
61
57
74
27
20
25
76
34
37
46
53
31
75
26
47
29
74
67
74
66
32
73
38
61
54
35
33
52
56
60
65
37
35
74
55
44
33
45
64
32
72
47
78
68
65
25
65
50
48
74
42
27
35
32
54
58
37
74
36
60
39
66
75
26
73
50
59
64
34
69
45
77
79
50
41
21
63
69
51
22
29
36
51
71
30
46
62
44
69
71
70
57
44
26
65
47
80
28
39
50
76
27
49
58
76
20
33
25
51
25
24
32
76
69
23
72
21
72
67
74
31
39
72
80
39
53
59
23
40
44
52
21
56
55
67
46
77
33
61
30
55
74
35
33
47
79
29
59
77
63
63
73
21
22
22
48
23
71
46
74
76
50
74
34
70
37
63
49
61
39
30
71
78
48
37
72
80
77
64
31
43
52
67
63
53
69
76
30
67
32
37
43
42
48
24
27
73
22
74
51
21
21
68
57
22
74
24
53
48
41
75
55
76
77
54
51
66
71
50
78
63
57
62
51
43
44
21
68
47
61
74
52
22
57
66
51
67
73
79
53
71
22
64
52
47
55
20
49
77
34
22
31
34
42
51
48
25
23
65
67
28
64
54
54
29
32
59
66
77
34
43
38
35
21
66
72
64
64
80
21
80
34
57
20
46
73
27
72
34
52
21
52
34
36
54
21
28
28
61
40
25
76
55
73
20
75
52
33
28
66
22
78
31
61
23
75
52
33
48
63
29
42
48
41
31
38
27
28
55
24
79
70
24
76
52
66
40
28
34
36
66
55
64
42
78
31
76
47
79
30
46
31
78
56
59
46
47
37
42
39
33
29
61
76
55
28
71
59
44
77
64
30
37
68
65
58
63
63
62
72
55
21
26
70
21
49
60
41
71
45
58
48
69
34
79
53
36
62
61
48
68
26
58
25
39
69
23
29
74
46
57
55
78
64
29
49
28
73
51
60
49
63
41
20
47
76
45
34
61
26
74
47
25
33
54
43
79
61
59
35
33
44
59
29
28
22
44
21
64
36
22
25
32
75
39
26
66
70
51
45
20
60
76
61
41
20
69
64
43
79
39
61
69
45
31
71
57
69
27
56
55
79
71
58
51
47
72
48
62
50
23
79
47
61
45
44
39
77
68
62
39
38
21
36
69
49
20
48
55
36
70
53
25
41
50
40
75
78
75
50
72
59
58
46
50
39
79
66
64
31
41
60
63
71
37
42
74
74
75
37
29
52
80
22
61
47
74
78
78
74
74
75
46
20
76
61
75
23
75
60
34
52
38
79
30
60
39
38
73
43
42
60
44
30
53
49
60
71
70
35
57
70
32
55
79
52
78
38
41
45
39
63
51
66
38
30
57
73
76
61
60
32
35
38
32
76
73
36
56
53
65
43
35
72
79
26
55
37
34
36
22
73
74
39
21
29
74
80
69
56
37
55
25
46
39
74
44
44
62
54
68
48
65
63
23
43
28
45
68
47
24
38
64
72
23
33
58
34
46
29
80
22
53
62
32
64
63
34
45
77
80
47
54
63
61
58
23
41
60
36
31
34
57
71
79
52
78
63
46
66
71
72
46
77
38
49
37
231
173
167
205
83
196
132
127
224
195
80
103
196
96
241
78
149
227
111
238
97
160
138
132
90
146
190
138
211
248
209
128
202
163
109
236
139
99
72
117
181
129
199
144
72
106
227
190
184
185
248
175
72
99
136
136
178
129
141
249
241
89
207
155
197
142
135
208
181
132
76
111
150
82
146
186
74
226
173
162
155
79
182
127
93
95
145
182
194
208
124
194
202
140
162
174
201
71
212
204
73
173
95
111
172
245
240
162
162
140
164
95
223
193
99
124
183
164
208
158
222
178
164
89
78
230
117
181
79
206
181
212
142
105
230
193
133
126
150
157
226
243
192
142
215
185
75
97
89
162
145
237
205
131
182
144
97
176
207
103
125
168
183
244
203
106
155
232
189
249
230
188
104
136
82
202
215
206
123
167
111
128
162
122
144
124
150
113
245
96
83
115
244
89
230
209
152
210
223
186
108
109
102
189
106
244
200
101
121
157
93
84
230
188
155
131
109
76
174
103
210
187
133
156
143
145
147
212
156
72
164
128
107
140
220
216
237
107
145
156
133
105
166
112
82
109
230
211
224
110
100
157
97
232
148
185
96
173
169
102
166
190
95
221
156
185
145
212
249
233
144
200
72
115
164
172
170
200
211
176
102
83
229
110
71
250
118
208
248
194
155
160
234
177
210
226
161
83
197
237
128
235
238
235
190
122
72
89
150
239
74
129
98
187
158
86
209
194
161
164
158
214
129
171
100
221
203
78
91
247
242
193
85
113
190
138
150
105
207
216
175
206
74
167
169
248
232
213
210
108
92
86
179
93
139
154
213
138
106
200
231
75
184
89
121
245
88
106
152
148
81
216
170
158
126
194
76
224
82
117
75
144
219
80
153
165
206
127
217
186
126
97
221
75
148
164
182
88
140
236
85
78
203
139
233
108
130
221
241
194
243
160
240
146
229
156
175
210
176
233
221
136
233
126
181
86
187
223
108
210
144
98
171
208
77
219
70
79
107
111
112
206
183
195
224
207
224
130
197
159
97
214
171
158
167
222
133
157
244
240
246
218
86
218
131
141
99
231
111
223
158
141
131
169
126
218
154
113
111
224
151
247
169
106
239
213
184
126
90
220
139
243
130
107
177
126
152
239
202
79
127
76
108
219
217
190
157
135
194
135
169
76
163
233
80
225
157
170
92
193
214
83
205
115
157
160
224
169
84
240
242
111
72
73
212
142
83
167
180
102
110
119
248
222
156
221
79
119
173
210
215
143
74
225
231
212
99
76
161
240
202
98
169
221
203
113
250
133
229
208
137
199
145
206
87
222
234
146
90
210
180
102
242
200
233
174
123
192
181
246
239
169
236
197
164
84
224
228
226
232
79
116
234
138
213
191
84
99
180
226
106
240
134
248
233
234
142
117
220
166
83
123
148
128
209
80
102
199
160
78
177
114
183
135
186
138
112
137
221
194
136
250
239
80
126
230
234
107
173
233
223
98
226
121
133
128
122
122
235
163
123
206
144
147
242
224
123
129
233
91
223
77
149
223
241
219
238
194
244
106
234
229
142
248
151
90
88
132
165
75
183
129
138
207
219
99
164
236
79
207
83
219
201
90
245
194
143
159
73
140
93
197
130
237
241
166
232
168
94
116
244
184
161
248
241
132
181
97
143
78
116
88
225
92
127
245
237
174
115
144
221
189
150
178
103
85
87
241
77
89
179
203
221
166
143
144
105
138
128
153
147
233
146
96
196
182
164
155
151
157
114
223
198
81
187
190
172
151
177
98
239
80
141
183
217
212
187
241
156
189
167
82
111
70
190
94
234
225
177
194
210
88
158
134
166
228
130
217
131
158
130
129
72
165
141
72
166
159
139
155
172
218
139
190
76
249
151
81
147
92
137
118
109
190
185
248
228
95
150
156
127
190
138
243
143
90
87
241
78
245
115
152
115
248
109
214
110
195
199
234
109
96
156
134
142
191
221
202
226
201
136
231
194
108
205
120
131
105
144
231
80
108
119
143
115
190
99
240
76
121
82
194
84
78
79
179
79
104
162
82
77
216
233
79
128
136
179
104
219
245
238
129
112
198
180
162
182
196
239
141
112
188
89
128
204
184
98
139
210
180
222
101
198
89
133
206
225
238
97
146
86
135
97
178
205
136
216
249
174
85
244
225
215
131
204
107
217
208
140
108
141
222
122
214
194
199
134
89
128
213
167
106
116
243
169
111
230
247
231
247
189
124
91
162
105
157
70
140
131
158
249
164
91
104
116
107
158
188
85
232
216
149
193
158
124
188
201
250
102
169
133
128
186
91
213
140
72
246
247
122
231
134
162
77
113
153
86
106
151
152
150
141
90
140
230
86
195
185
138
225
197
198
177
115
114
178
238
149
212
125
116
194
102
102
157
90
89
206
81
191
215
162
79
218
190
143
170
72
230
73
170
89
103
207
130
156
140
223
247
109
80
169
85
173
213
232
179
207
192
103
122
245
206
177
180
92
183
71
114
201
157
198
217
243
210
102
181
127
116
83
147
170
149
180
192
85
237
92
209
90
190
195
113
241
130
228
233
185
72
125
192
149
193
143
212
76
181
85
190
208
156
74
218
224
91
102
163
108
169
180
104
163
182
170
106
192
133
94
211
228
136
75
201
137
163
135
97
93
100
119
224
168
176
75
231
71
197
159
250
230
214
185
135
131
110
126
77
169
192
141
156
194
89
101
157
149
190
247
114
92
160
189
156
151
128
136
82
250
95
172
246
247
147
148
97
71
98
232
72
156
86
96
238
217
180
171
226
206
232
153
176
139
165
243
202
218
162
71
91
71
127
185
124
169
236
217
244
209
140
124
72
173
148
150
110
179
192
70
175
206
211
179
150
215
146
201
82
171
194
236
117
193
181
95
126
125
193
228
249
208
217
222
127
198
115
151
243
146
168
74
221
224
80
180
162
244
73
153
73
113
93
74
207
219
164
206
159
178
178
116
154
195
100
189
77
166
243
176
207
106
80
107
218
160
150
216
227
236
94
223
83
200
208
138
169
148
186
81
168
73
113
148
129
222
108
119
214
192
107
96
146
233
145
166
110
90
250
113
93
145
85
168
143
118
126
122
78
75
226
167
104
178
199
112
223
183
151
225
233
84
166
195
154
248
94
94
154
236
72
135
227
107
186
95
203
71
105
241
92
115
88
84
238
161
96
196
163
212
221
190
135
78
197
224
128
84
214
89
115
187
99
102
149
180
76
209
211
191
126
195
77
185
100
112
90
210
226
165
70
210
199
97
124
192
72
112
81
77
226
79
184
84
168
204
171
89
159
118
188
137
128
102
238
240
161
219
197
147
203
226
77
204
183
249
157
127
173
123
210
202
133
80
104
201
151
193
104
236
137
168
174
195
115
101
116
236
179
128
111
70
201
152
155
92
156
150
195
223
188
250
218
155
227
90
165
160
187
209
137
139
189
247
216
77
244
213
225
134
200
140
83
79
112
124
86
166
158
128
167
183
93
142
138
90
215
220
76
236
222
202
104
169
122
227
84
137
107
103
224
190
153
209
102
131
71
89
169
110
221
132
241
209
143
124
212
250
182
105
243
239
228
226
245
177
83
121
181
113
187
193
249
225
107
246
160
201
159
81
147
72
153
158
150
228
82
144
171
75
143
243
92
85
210
190
159
93
110
116
102
244
75
184
115
237
159
89
171
123
207
205
77
177
222
223
126
228
112
222
219
240
72
216
221
127
223
143
124
164
208
208
215
141
122
130
128
179
169
76
79
123
209
152
199
168
121
192
144
197
110
113
159
195
111
147
229
234
128
129
212
189
89
168
77
83
233
162
153
75
133
242
202
216
237
76
198
79
71
169
172
149
88
77
115
154
189
233
72
210
148
150
220
72
93
169
174
141
101
146
106
175
139
231
146
70
136
114
247
229
90
131
147
85
113
81
230
170
248
214
243
213
147
184
225
203
194
245
118
135
166
204
142
71
219
102
240
124
195
124
73
170
81
72
202
173
220
151
138
171
196
89
71
128
157
80
242
247
122
210
195
136
118
193
78
148
81
236
151
122
146
219
198
199
191
84
72
125
143
194
182
115
228
100
204
110
230
183
89
245
133
177
100
191
180
106
185
205
102
116
102
183
246
203
81
117
140
142
110
164
78
108
77
236
222
150
169
93
77
120
230
85
107
229
247
250
183
220
215
108
147
160
163
166
85
125
207
230
171
142
127
149
120
220
216
127
129
115
111
201
102
243
105
220
156
212
168
189
233
248
146
142
172
96
80
154
107
88
171
153
104
172
158
236
117
79
126
71
74
177
176
161
169
175
118
162
200
210
128
160
153
122
137
92
236
90
128
152
154
139
171
243
107
117
114
85
95
125
168
148
239
163
211
180
211
124
192
213
134
136
157
202
214
216
240
192
157
168
109
196
129
181
198
171
209
132
144
237
150
197
128
142
94
73
85
132
135
105
237
206
142
155
83
222
86
94
127
156
118
190
224
173
242
192
193
121
218
232
75
72
228
134
239
208
171
74
151
122
135
134
139
186
212
140
131
219
98
184
238
141
215
127
168
71
138
147
201
201
119
248
121
88
86
83
127
204
226
152
114
237
233
215
194
232
229
141
161
220
219
230
133
158
239
192
177
173
144
247
157
73
98
247
247
117
129
179
232
74
162
203
207
238
184
108
183
250
222
136
82
192
203
197
78
116
160
94
162
215
150
193
95
176
216
70
191
217
115
131
243
142
116
91
87
70
206
149
228
148
245
215
246
108
150
75
167
112
209
225
92
133
237
87
233
91
134
153
159
161
196
143
244
70
130
183
202
215
141
79
152
110
238
244
177
205
177
156
73
155
96
181
154
186
109
131
180
87
76
182
136
230
249
250
248
126
122
102
167
74
250
207
135
132
180
233
179
242
137
138
248
110
243
194
99
73
192
248
182
163
108
175
153
118
120
233
247
248
227
245
111
112
102
183
181
179
197
158
73
122
132
129
106
134
182
176
165
177
110
81
177
88
214
127
74
222
137
206
165
129
198
193
159
234
189
176
204
190
138
239
89
249
100
195
175
106
86
181
148
184
208
244
224
74
133
210
119
198
181
149
174
168
77
122
232
121
172
206
82
133
210
94
70
162
151
214
186
194
152
198
177
218
250
243
131
128
182
220
197
178
210
73
148
106
138
83
107
131
142
164
232
231
113
90
135
141
106
88
211
240
113
216
136
147
83
225
120
197
236
190
143
76
249
85
79
231
241
190
155
158
239
230
159
193
86
221
232
148
175
88
149
238
246
148
101
153
182
169
202
106
90
85
246
97
211
135
184
154
196
183
74
79
164
127
186
223
94
140
231
144
203
235
133
114
118
238
104
163
204
187
128
223
120
98
246
145
210
129
171
224
209
169
127
183
175
234
233
155
183
148
138
222
186
168
201
179
168
91
168
200
113
195
106
204
176
152
227
167
249
115
87
239
230
161
250
103
156
93
90
156
160
98
88
198
144
250
157
160
137
127
76
173
204
202
185
203
172
155
75
228
186
96
164
219
86
250
81
208
223
159
95
210
180
78
78
201
222
197
76
177
117
174
110
182
80
216
205
245
143
74
181
156
214
135
213
170
250
163
152
246
85
97
121
138
200
139
141
198
74
182
100
164
127
140
105
157
100
148
233
160
91
223
130
225
220
79
123
126
184
228
244
233
211
156
225
72
203
247
111
97
117
217
187
209
112
211
178
233
240
125
142
185
99
249
109
148
85
172
164
155
186
90
197
110
161
196
242
217
141
140
92
200
142
119
111
111
160
206
143
217
76
145
97
134
195
101
165
200
144
82
221
217
200
244
201
89
113
119
191
230
122
88
180
140
225
159
223
248
194
91
158
134
181
126
158
128
212
72
90
139
145
144
179
71
192
81
164
133
146
72
177
85
133
215
215
149
205
180
80
203
137
99
172
136
199
81
238
133
237
106
103
111
145
131
207
94
125
217
76
235
193
145
152
104
75
107
214
164
223
244
217
187
246
167
156
152
196
250
128
149
112
189
72
73
198
145
84
108
155
226
202
157
226
86
166
112
241
84
219
193
220
247
246
238
178
143
142
154
199
166
194
248
134
201
169
216
233
134
98
242
215
161
96
135
232
111
217
248
173
120
184
115
174
178
186
136
132
206
159
131
165
183
136
75
78
148
187
233
221
101
155
159
208
205
138
135
195
119
95
77
97
128
182
155
115
223
76
107
225
192
130
204
114
146
112
144
239
172
153
84
84
110
74
220
204
137
136
167
110
225
139
244
180
181
177
149
245
205
173
87
90
230
96
102
130
222
246
195
118
140
181
212
175
100
206
127
205
196
188
105
99
138
178
144
70
142
248
97
78
142
186
211
131
82
112
147
101
98
144
77
155
210
141
188
154
164
89
83
211
165
189
221
75
237
145
136
148
116
157
178
149
176
119
135
164
133
75
159
104
185
143
73
77
231
161
123
129
151
249
236
235
113
208
183
96
138
178
98
192
157
216
239
246
126
154
110
101
188
147
139
222
99
230
239
239
150
239
202
172
71
121
184
204
222
147
210
108
245
165
146
157
86
215
164
131
124
116
138
236
216
245
132
158
104
241
95
88
176
198
186
224
250
156
215
234
227
82
202
215
147
89
175
76
173
95
218
129
143
226
247
165
223
225
163
159
207
238
93
129
216
113
101
207
108
181
77
146
72
165
177
203
200
81
182
178
96
233
122
171
73
153
97
198
90
173
109
216
169
132
171
84
134
91
194
149
171
95
222
246
224
129
214
131
218
141
182
84
203
111
197
133
137
84
198
98
203
203
109
86
161
242
210
162
183
118
231
126
165
236
71
184
171
168
102
133
230
137
82
210
135
160
223
170
120
219
141
197
98
179
145
236
126
239
76
221
150
76
189
176
91
124
239
116
243
132
199
118
185
100
176
175
228
117
101
233
115
138
246
249
178
167
236
170
224
96
197
170
177
144
174
241
143
87
223
170
94
197
157
124
117
92
97
105
125
88
80
131
143
110
109
151
191
216
161
70
88
138
159
157
148
235
73
182
201
164
141
201
190
212
201
129
140
105
99
130
91
212
125
98
184
163
229
156
150
154
143
75
189
212
145
189
77
72
233
104
153
159
88
232
237
74
211
236
149
218
109
205
205
220
128
161
147
198
241
74
161
97
205
242
232
222
95
146
138
129
104
181
179
103
197
73
239
136
224
183
197
105
126
202
137
177
129
224
238
186
171
237
167
231
209
145
190
245
118
94
164
113
93
188
97
230
223
223
188
188
95
74
165
78
81
127
243
170
164
237
238
114
160
185
157
127
111
180
226
73
129
98
240
176
201
76
234
199
128
234
236
139
213
117
178
126
150
231
195
213
244
227
178
235
154
172
71
233
161
148
198
113
135
241
124
218
135
179
119
188
84
210
165
179
73
108
241
211
170
155
168
244
215
233
193
223
146
245
132
78
193
103
213
195
210
195
86
131
197
218
214
198
109
243
112
121
230
111
179
203
102
213
116
110
160
135
158
205
104
126
140
229
235
181
163
185
109
213
250
199
142
242
113
191
89
114
136
92
111
249
250
89
182
95
116
139
105
192
75
198
85
98
106
112
118
168
118
236
184
230
239
141
182
145
157
243
117
231
238
152
83
138
112
128
236
95
194
186
232
109
195
204
148
231
159
101
132
154
99
159
100
75
189
187
150
102
239
226
216
70
164
94
219
80
104
249
83
71
98
202
139
248
89
130
246
238
157
108
139
201
237
209
89
102
221
225
233
195
93
174
196
104
133
233
81
133
208
99
250
159
105
100
246
113
221
171
99
220
141
193
250
169
75
137
211
153
160
126
162
179
243
100
134
205
199
114
100
118
197
212
213
207
160
145
221
169
215
249
250
141
249
185
212
119
94
134
177
121
120
224
242
150
197
145
74
145
138
220
225
242
104
92
120
188
98
171
145
229
168
170
107
159
148
77
70
102
95
217
117
182
186
165
154
224
129
105
165
230
169
142
149
85
88
78
234
153
106
124
163
78
187
230
108
93
244
129
146
116
134
150
116
80
204
90
72
104
147
248
72
174
127
115
194
141
160
165
83
168
185
215
165
131
101
176
203
116
212
163
127
145
114
127
241
176
105
211
192
79
169
164
224
164
209
156
226
186
211
134
161
79
71
100
75
144
213
231
208
160
197
234
136
172
126
148
114
80
123
248
81
195
85
177
187
181
73
171
188
191
209
223
112
164
149
164
111
141
107
120
116
107
244
168
182
212
248
222
182
96
119
235
117
168
237
76
169
240
244
114
135
189
80
181
236
211
196
205
124
207
113
99
236
247
104
194
194
176
84
139
78
249
84
91
203
159
90
222
233
158
176
162
230
124
113
210
160
208
92
143
243
108
166
87
70
203
186
124
240
96
86
101
172
247
101
222
178
121
83
140
167
152
170
228
143
107
161
229
232
174
150
134
152
230
233
154
114
164
243
195
204
81
198
221
187
194
112
202
237
163
83
216
179
93
185
179
187
140
218
215
229
79
203
220
185
117
183
132
147
119
93
243
200
212
180
185
145
140
219
136
189
200
223
145
165
78
206
244
228
203
165
133
180
203
221
245
179
85
187
175
219
225
155
237
211
245
230
239
124
95
209
106
213
170
127
94
115
81
193
194
185
166
163
174
102
233
187
103
132
137
181
176
240
222
114
78
151
209
76
163
173
119
200
235
242
189
245
248
217
139
210
195
198
221
76
98
135
247
170
150
81
149
98
214
121
244
214
235
170
88
225
174
106
232
81
165
207
245
231
123
195
157
139
202
92
196
149
109
103
226
130
79
107
86
209
209
106
250
145
238
188
249
216
140
128
195
136
223
246
112
77
108
181
74
107
78
177
131
236
76
180
86
151
101
133
178
112
186
197
199
198
198
161
167
240
209
229
123
237
168
144
141
235
232
110
72
180
246
144
143
175
219
223
159
81
219
117
218
173
232
177
140
195
245
79
104
162
151
201
240
201
178
142
239
211
139
175
216
111
125
198
120
211
141
155
236
172
124
122
94
181
210
238
84
87
164
139
160
91
238
203
243
100
108
237
155
182
109
168
227
81
107
136
111
143
101
103
202
175
189
228
79
132
76
97
124
131
114
89
133
121
190
167
153
215
170
138
182
165
76
178
240
235
154
177
218
214
155
78
135
191
86
87
73
160
169
95
133
211
185
145
202
179
194
161
167
178
104
96
79
83
235
250
192
200
146
109
234
240
148
236
113
118
236
183
192
200
78
160
217
162
143
248
120
129
101
217
119
228
95
230
174
176
211
192
126
181
237
193
188
187
72
168
136
101
211
113
160
234
94
73
122
122
97
205
168
80
234
108
211
225
112
245
86
86
168
236
93
229
165
198
172
149
151
155
230
114
216
148
231
173
184
226
75
225
185
237
233
188
190
113
247
232
160
239
107
250
210
120
174
84
132
208
140
163
183
79
124
159
114
143
166
189
86
184
104
132
124
78
90
105
236
227
75
157
156
146
143
236
193
150
233
170
114
77
218
75
159
145
160
249
244
249
238
175
151
186
79
215
144
144
88
141
204
193
228
207
160
222
171
100
250
222
237
143
226
128
207
158
149
127
249
249
122
71
165
178
99
97
78
128
243
148
239
195
203
162
163
91
134
133
173
93
209
217
98
237
213
149
87
245
119
190
173
106
96
233
100
77
84
83
229
213
74
210
178
93
72
169
232
172
244
247
114
218
190
241
103
188
131
146
236
99
235
192
100
219
187
132
84
110
217
164
232
104
230
84
124
119
225
143
223
162
220
235
91
171
114
221
195
77
155
136
121
174
171
101
87
225
103
220
155
84
190
109
150
83
192
74
123
249
244
197
240
120
139
126
151
79
113
169
85
75
209
84
194
206
118
110
202
207
131
82
148
232
76
90
125
154
221
90
170
81
81
93
202
245
178
124
250
98
126
222
90
151
227
206
143
182
113
147
102
112
179
72
196
193
180
223
129
165
127
135
115
148
154
248
149
100
103
193
153
113
193
211
161
159
126
158
214
193
79
249
117
88
180
239
237
73
131
238
85
77
167
192
219
93
211
172
239
71
134
92
74
77
143
175
145
247
77
152
71
171
153
143
190
84
160
92
220
143
208
163
188
198
215
212
98
125
170
132
94
153
171
108
101
165
151
188
149
234
148
194
116
183
179
97
248
140
242
151
190
250
218
100
219
155
214
94
235
187
129
120
181
198
227
207
135
74
247
119
99
71
101
109
220
140
116
195
245
204
84
82
162
126
146
132
140
239
89
177
134
73
130
128
94
132
100
219
147
197
108
157
81
129
97
227
144
165
98
112
80
116
94
172
225
220
102
97
125
142
145
173
163
150
111
209
164
250
194
108
161
111
117
228
151
113
178
165
221
210
153
152
198
108
82
170
191
200
172
219
85
86
137
75
132
246
130
124
88
226
206
163
238
155
184
211
232
73
77
160
170
240
240
71
186
76
208
160
109
92
193
148
86
186
85
81
86
85
201
187
224
217
99
138
239
239
186
126
243
101
167
199
78
247
188
72
91
166
218
187
92
209
126
142
86
175
176
240
176
196
73
96
194
144
122
159
152
208
162
244
106
142
81
129
79
191
223
197
170
248
242
169
224
166
148
107
151
142
223
122
159
109
94
240
144
84
147
242
145
79
169
70
224
112
203
153
159
73
114
87
222
78
244
245
181
225
118
226
183
99
154
241
226
112
126
140
202
96
115
168
250
79
210
188
120
86
239
89
81
142
177
157
108
198
160
220
171
153
185
203
103
161
71
85
161
206
223
192
196
199
71
235
177
107
84
124
138
245
116
135
196
225
108
250
237
149
151
111
76
248
199
229
172
201
171
126
84
165
164
144
162
173
221
201
153
154
91
248
103
163
104
172
196
188
158
199
100
199
148
142
185
238
161
113
156
73
94
129
228
78
121
155
70
130
176
133
226
227
117
135
139
163
227
81
196
158
241
101
182
77
136
99
102
82
140
149
119
70
198
146
125
243
154
164
191
214
116
247
136
180
96
196
228
169
139
206
224
174
131
112
103
215
72
244
170
233
208
196
219
193
114
86
151
212
195
96
204
129
95
101
101
88
98
224
91
239
194
85
117
116
182
218
147
219
181
248
157
250
111
118
142
71
241
88
235
81
232
161
148
219
175
219
111
141
75
86
74
190
186
196
240
110
70
149
146
177
133
151
119
107
77
166
91
98
115
156
238
250
217
230
77
158
89
231
109
115
181
141
101
239
198
101
105
166
156
204
107
243
157
146
197
70
148
179
206
139
193
247
157
112
74
98
77
169
92
207
136
82
92
156
225
85
222
99
212
176
245
188
148
99
106
166
192
247
204
180
145
207
178
142
228
189
165
152
192
156
117
90
178
207
96
193
227
235
181
235
117
192
150
190
76
229
124
223
165
93
168
160
194
122
244
108
227
208
139
110
192
220
152
147
190
223
172
155
233
180
243
242
248
148
199
187
194
213
169
116
80
198
146
118
223
179
104
123
95
146
110
136
105
141
168
84
168
143
206
179
166
180
250
150
160
193
142
134
70
130
99
167
92
229
200
119
97
235
196
132
185
225
210
114
159
186
100
104
186
95
96
161
71
238
120
75
222
243
84
79
144
112
122
144
204
98
89
231
140
157
104
242
206
233
85
207
169
186
115
79
234
113
70
183
249
210
141
170
246
112
122
180
111
248
170
139
119
244
83
151
231
88
130
131
162
208
240
201
147
171
101
226
124
147
73
243
231
120
184
155
129
184
138
219
120
217
125
164
224
164
242
218
190
111
189
90
139
118
237
85
99
214
200
238
116
146
236
211
221
172
118
232
169
170
88
116
183
198
110
97
145
156
79
197
172
168
133
150
235
90
99
95
170
181
134
99
105
213
150
234
120
170
119
108
118
74
143
213
234
178
247
100
230
78
175
90
184
129
206
184
188
135
75
112
106
77
81
225
168
211
178
89
168
235
238
209
244
235
107
111
80
222
231
146
232
78
123
224
183
214
95
170
135
222
79
236
215
140
175
204
222
162
92
177
116
96
181
248
144
178
220
139
162
145
186
160
249
215
181
124
122
85
148
162
196
219
209
92
143
166
204
132
214
170
212
133
227
224
179
155
121
119
77
77
215
98
113
131
87
132
187
235
226
109
92
170
108
110
128
203
244
203
174
217
159
138
218
201
190
217
77
122
189
194
166
78
179
159
117
138
215
242
144
124
221
78
158
185
225
181
136
125
82
160
244
118
119
193
150
71
156
149
91
140
113
151
200
226
149
178
194
191
223
127
166
230
86
85
170
94
172
158
244
174
191
98
201
82
188
149
152
225
124
179
141
155
120
82
108
157
77
119
231
98
95
177
204
150
185
119
77
170
173
220
170
80
107
198
78
81
226
115
229
148
229
241
221
198
124
204
85
130
209
118
220
146
242
86
182
173
86
134
132
175
76
133
87
173
176
198
77
214
177
103
232
241
237
225
137
230
190
104
81
160
174
177
200
187
148
173
154
93
154
190
197
194
170
143
185
205
206
138
102
134
196
170
182
108
137
73
249
105
74
191
141
91
115
155
166
160
145
218
109
150
170
83
82
110
237
170
173
165
206
101
148
211
149
73
116
224
107
87
161
136
81
153
144
165
207
232
199
135
108
165
73
175
240
225
160
81
177
143
250
224
139
80
120
121
200
198
144
90
109
89
235
158
177
224
109
98
90
207
210
246
153
244
181
163
218
161
189
148
75
129
161
191
145
104
140
163
160
171
153
128
184
120
120
210
173
195
106
82
205
204
123
102
232
194
82
160
239
209
191
208
247
200
120
234
87
110
202
71
229
191
120
169
142
217
182
147
96
104
123
162
140
99
139
205
89
108
162
200
95
153
140
77
184
200
175
146
205
78
198
250
209
86
157
81
181
93
234
137
235
118
94
168
93
77
177
165
224
241
244
182
92
167
115
218
175
200
123
121
131
115
240
220
138
151
89
76
154
97
192
131
243
178
129
243
131
116
72
219
210
112
125
187
187
140
179
132
190
99
212
203
120
128
149
193
129
240
250
177
82
230
223
195
232
112
93
165
204
233
249
178
245
229
210
153
220
234
122
83
239
125
113
80
172
131
121
140
170
221
105
99
179
195
113
112
162
230
76
93
157
82
122
112
242
126
132
177
198
159
145
248
239
198
110
138
234
134
154
203
176
114
117
70
129
76
104
150
137
201
115
208
182
132
218
240
186
210
161
72
205
186
104
192
176
187
79
224
117
130
227
239
102
246
162
124
100
222
77
229
154
74
158
217
232
172
181
238
76
173
198
83
242
78
179
244
229
194
145
204
118
147
193
97
183
159
120
94
85
219
231
159
118
233
79
214
115
162
194
135
136
133
214
115
70
113
250
189
179
236
230
234
168
217
118
133
117
203
213
74
71
79
90
184
224
197
196
122
91
120
228
73
135
209
147
186
153
94
243
159
183
123
110
189
129
93
190
76
210
198
201
149
224
116
239
208
94
235
186
248
192
218
205
207
93
130
153
89
205
137
91
129
142
181
157
152
224
204
198
128
216
199
156
247
130
96
111
216
104
241
194
218
156
234
144
234
207
233
248
106
232
209
75
206
193
238
91
207
131
249
216
161
203
95
137
84
131
110
147
210
191
132
120
184
234
86
140
224
193
105
235
173
197
74
148
188
81
206
89
131
110
184
113
150
230
89
97
151
103
208
112
224
220
152
172
240
208
226
218
202
204
167
91
167
142
89
157
193
241
118
222
159
146
193
210
199
131
178
147
174
172
216
144
114
182
112
212
179
246
96
226
175
187
134
153
194
235
97
249
77
101
243
198
75
120
92
244
166
128
191
230
154
197
176
110
145
119
150
83
171
188
170
239
137
210
80
221
192
120
139
188
238
208
248
230
248
143
104
82
161
111
179
174
211
164
207
98
205
71
141
103
115
189
226
248
212
195
168
167
198
111
149
190
134
79
165
149
129
213
129
106
208
232
211
245
233
170
153
189
81
199
83
233
74
181
162
229
172
171
84
208
249
201
220
215
87
138
209
204
187
205
218
148
106
102
215
165
203
152
245
126
202
131
99
96
138
225
243
204
107
120
238
98
231
206
143
82
226
73
116
162
208
139
89
175
86
200
179
148
83
117
192
132
136
213
231
142
160
221
123
133
184
94
213
138
113
140
186
193
154
135
221
239
204
223
206
243
240
220
77
152
111
230
97
158
209
153
204
206
188
143
135
88
76
153
125
220
138
244
217
186
201
138
196
202
117
113
136
182
176
161
226
189
166
213
188
198
143
127
190
96
97
100
184
235
209
165
222
125
204
124
147
99
191
96
186
226
119
230
193
104
138
141
129
117
202
184
90
92
236
175
89
246
183
223
96
130
204
189
119
164
216
72
157
202
89
139
180
167
141
144
112
119
190
193
137
131
110
76
160
168
132
161
196
161
156
103
243
189
112
133
152
140
215
152
133
209
157
72
185
231
233
89
166
200
179
92
99
74
142
150
216
88
110
188
132
250
117
242
129
106
138
167
103
188
123
202
70
112
94
150
125
81
159
226
239
247
97
105
83
204
121
117
159
197
137
249
79
219
198
207
168
149
145
132
218
190
178
227
191
249
215
247
95
132
239
147
206
218
197
248
82
132
211
244
198
202
205
194
108
237
78
202
212
249
135
241
98
91
76
122
225
130
234
131
173
92
113
80
94
224
127
197
106
111
220
97
122
228
151
228
211
119
195
73
206
71
236
238
87
201
228
78
70
80
204
175
78
184
98
99
112
124
144
200
202
245
241
81
240
245
146
246
242
106
178
208
171
247
85
134
132
241
236
124
122
178
89
227
215
162
135
197
232
151
93
162
99
173
141
117
94
150
71
156
121
248
198
135
206
76
90
173
114
71
188
182
102
94
126
202
144
216
247
122
153
97
107
208
175
198
157
236
137
142
132
152
98
159
209
145
150
76
160
101
81
132
112
208
95
224
100
166
214
184
172
187
161
127
91
186
211
93
114
223
98
134
159
248
94
229
189
86
174
145
177
129
225
117
155
220
135
98
186
85
191
126
226
219
219
212
78
136
101
239
139
96
176
190
202
157
165
186
73
115
128
174
88
197
131
171
105
161
173
76
150
186
71
197
242
215
243
73
200
77
101
189
157
104
143
180
226
192
148
164
147
91
227
249
209
97
170
132
155
153
166
122
103
166
104
175
77
167
197
88
89
208
111
117
133
228
145
135
175
242
92
101
72
209
220
210
194
91
204
99
233
209
192
204
140
102
184
162
114
217
121
217
172
156
97
95
102
142
226
194
118
210
227
245
162
180
113
99
184
179
116
179
80
191
142
113
85
99
201
156
165
222
186
103
110
102
174
219
220
217
186
205
146
113
247
138
155
79
229
126
166
91
226
222
194
241
123
74
245
248
184
238
122
113
176
239
160
107
113
197
131
99
239
143
99
121
239
128
169
86
153
211
87
173
89
86
238
70
105
97
222
197
111
232
73
148
151
207
111
108
248
184
89
91
181
91
250
190
159
100
82
71
149
234
244
206
127
240
72
248
167
175
112
189
93
133
216
164
190
116
159
129
243
133
118
162
221
192
180
90
143
80
200
172
235
205
94
81
94
129
88
206
189
134
144
210
151
86
200
240
191
96
231
169
155
70
180
142
177
155
74
217
220
76
81
70
120
96
227
101
193
102
128
184
121
207
134
242
250
71
72
218
222
157
203
213
169
207
166
249
81
175
145
220
223
77
246
208
214
154
191
174
248
82
201
228
204
179
127
129
165
217
163
100
205
233
83
184
117
154
121
199
173
218
91
75
177
145
89
213
179
213
144
75
208
187
128
240
221
72
238
213
97
120
149
117
114
191
173
208
240
214
221
180
101
193
192
163
173
101
114
182
234
82
164
240
124
215
238
213
143
208
71
135
154
137
176
185
112
189
248
87
196
109
180
203
221
246
74
77
145
165
233
107
98
91
114
76
236
243
191
171
246
202
70
120
151
166
89
193
178
153
107
171
231
87
106
109
195
108
207
244
201
163
146
209
195
146
104
109
156
238
197
101
128
188
222
249
119
215
202
246
75
232
237
195
234
101
172
113
140
123
87
108
132
154
116
102
159
189
75
143
92
199
223
139
73
223
219
230
160
191
235
130
71
162
191
200
80
185
85
129
213
136
225
184
237
186
118
80
75
135
221
146
74
143
91
191
97
193
176
165
150
249
106
208
165
241
154
158
181
71
209
120
92
59
32
55
74
53
41
64
46
56
50
31
78
36
35
63
26
68
73
22
44
50
28
37
43
35
75
61
70
72
74
61
38
33
28
76
21
62
39
77
21
41
45
58
70
67
26
23
63
74
79
52
22
69
58
44
51
73
51
43
64
70
30
41
65
49
54
49
42
21
51
35
33
66
25
79
25
49
61
21
74
23
53
50
61
39
63
32
68
39
35
30
34
73
39
71
56
59
46
39
40
30
42
42
78
36
37
27
32
63
69
71
74
29
64
68
22
75
54
54
60
50
61
80
72
51
27
74
33
63
28
72
59
20
45
26
63
76
74
43
50
53
57
68
29
59
76
64
32
28
28
53
23
47
35
52
53
56
47
22
79
46
56
69
38
79
50
38
71
40
80
56
64
77
31
45
53
25
75
70
47
24
57
44
31
69
51
80
34
61
44
57
65
55
54
62
45
54
51
27
62
57
41
55
69
23
62
39
75
44
56
55
24
69
56
46
20
27
36
35
58
55
66
57
50
72
44
48
51
24
58
80
38
58
63
64
22
63
52
65
39
47
79
78
58
34
65
42
62
50
26
27
58
20
66
41
60
73
21
70
43
66
71
30
22
77
51
54
52
34
60
75
57
77
47
27
72
47
44
40
51
23
57
67
58
65
70
78
78
63
29
62
78
57
26
60
75
49
26
71
32
41
34
43
70
54
42
59
29
50
46
77
71
76
77
30
68
66
62
39
57
52
36
50
41
58
65
76
62
57
68
44
26
52
42
68
47
70
22
28
76
71
62
60
57
73
38
28
41
68
61
45
34
76
28
37
67
35
53
66
59
76
29
45
30
39
29
70
28
57
76
31
35
80
59
78
68
39
61
76
37
68
22
68
28
35
46
79
30
69
20
28
39
58
29
69
25
22
62
60
73
77
39
77
52
68
67
54
43
46
45
52
52
27
63
41
25
58
36
30
31
69
37
33
63
52
64
65
24
63
60
39
62
31
21
72
37
31
34
76
37
27
80
66
51
44
23
55
62
20
22
36
27
43
47
36
50
50
72
43
42
32
61
68
76
46
74
22
31
50
77
42
79
51
74
70
26
29
78
69
37
66
65
35
31
51
33
60
75
66
47
54
68
46
27
22
66
55
76
69
30
78
32
59
77
26
48
59
66
28
22
20
32
60
54
45
60
44
27
71
34
58
52
29
23
30
31
54
64
31
62
76
58
74
61
36
56
36
73
75
43
43
23
64
59
22
65
29
50
64
34
62
45
77
32
72
25
57
69
21
36
46
74
24
67
52
20
29
50
72
31
60
38
21
50
41
27
48
66
46
64
74
23
34
21
68
80
71
24
50
34
52
77
63
43
63
36
79
52
74
57
63
48
54
55
63
44
60
34
62
75
41
37
32
30
30
38
50
77
30
43
53
44
53
38
25
57
46
59
68
67
53
27
60
74
21
28
25
51
61
20
72
26
52
60
35
33
65
61
47
32
49
67
55
65
78
27
62
20
70
34
28
37
24
35
28
27
59
59
44
33
69
22
40
27
55
28
71
33
42
36
24
34
65
62
52
79
59
24
20
34
52
21
38
64
20
47
37
47
59
43
56
29
41
52
56
80
25
51
39
44
49
28
26
42
46
48
35
50
76
26
69
33
72
63
60
69
31
73
73
44
70
20
48
61
80
50
62
75
25
62
65
61
33
26
63
35
59
44
62
46
67
29
32
78
64
66
39
34
43
23
62
76
25
21
69
69
79
20
74
42
71
67
70
32
50
46
72
60
38
46
36
37
70
55
39
28
28
73
73
47
28
70
52
35
76
48
52
78
45
28
61
47
29
66
32
58
63
44
65
21
71
42
52
51
38
61
74
68
21
40
25
46
45
50
63
30
29
24
78
42
69
49
45
70
75
76
42
68
63
47
49
36
69
23
78
62
47
40
71
48
45
53
62
52
56
48
59
78
65
63
43
43
69
76
70
65
32
70
65
59
72
24
42
55
56
52
24
35
23
49
53
43
30
65
66
24
35
63
27
74
77
43
22
76
58
35
42
41
74
79
69
80
78
65
27
44
56
75
58
25
52
71
79
41
71
73
65
79
21
21
33
39
35
44
71
46
36
22
51
57
40
26
76
35
38
28
38
35
34
31
36
73
20
36
69
63
50
54
58
35
59
22
76
35
30
20
79
62
40
21
62
34
77
23
44
79
69
56
51
79
42
24
34
71
72
54
31
59
36
24
80
67
70
74
27
52
41
55
26
22
22
35
45
24
51
34
49
67
28
24
38
62
64
49
34
47
52
72
52
69
76
62
28
41
48
66
53
68
55
73
36
65
58
37
73
73
75
21
32
46
73
66
47
79
53
25
66
71
64
46
28
50
44
25
74
50
48
30
63
48
35
73
60
46
67
53
61
32
23
38
35
75
56
63
20
32
46
59
53
60
47
33
51
61
20
60
23
52
80
21
36
28
79
25
22
80
63
46
39
70
41
23
79
35
43
32
79
74
39
37
21
78
25
37
69
70
24
37
74
22
55
28
35
55
28
71
71
43
28
58
47
46
65
41
29
49
74
56
44
74
58
55
46
47
80
66
68
65
61
26
50
74
41
36
42
28
64
55
79
73
79
43
27
50
65
30
70
55
63
31
28
28
49
58
69
58
21
32
75
75
40
39
51
63
27
70
47
23
49
77
58
35
77
59
75
57
47
56
26
78
67
68
49
72
35
78
41
67
74
48
29
78
52
34
32
69
65
46
38
26
76
58
35
46
59
54
50
29
42
73
80
54
68
23
76
52
38
36
75
26
78
25
60
64
80
50
27
40
48
38
24
69
73
40
20
29
77
45
72
29
32
76
27
32
53
42
75
37
53
23
75
37
51
28
48
37
42
41
41
31
25
31
30
33
62
45
34
74
55
42
44
60
58
63
50
50
56
75
23
65
52
38
31
28
21
75
52
59
39
78
75
33
48
43
32
56
33
56
27
75
21
38
72
30
68
78
31
26
52
24
67
71
57
63
47
35
69
44
41
53
62
26
80
73
77
24
71
78
45
40
66
62
64
47
28
56
78
64
21
49
66
70
20
62
32
31
51
37
32
32
73
63
64
72
45
34
65
77
21
22
52
43
42
40
61
48
68
55
71
59
41
34
21
71
76
55
32
80
27
77
50
25
45
31
25
39
69
61
45
77
27
24
22
71
62
36
25
20
73
69
23
44
47
54
77
41
67
79
55
64
77
55
74
59
56
44
60
55
75
70
54
53
30
69
35
47
56
27
49
65
70
28
40
46
48
50
70
62
77
52
38
45
48
59
76
30
72
23
59
76
59
79
27
79
41
41
49
55
28
75
26
20
30
56
67
65
66
44
44
64
73
45
24
38
59
62
78
30
23
73
25
79
61
78
32
69
41
50
80
26
43
28
51
72
25
75
71
63
54
74
40
76
47
44
59
53
39
30
41
34
66
21
64
78
28
57
63
22
30
51
55
37
26
50
56
60
64
41
48
38
54
43
42
39
22
38
21
74
26
69
39
61
46
60
44
45
36
43
74
20
58
70
68
38
77
40
64
35
60
73
77
79
45
76
71
24
25
34
65
28
45
70
67
40
58
76
75
57
29
60
32
75
38
73
69
80
58
61
37
49
66
57
70
42
28
45
71
75
44
27
69
46
72
62
74
35
65
22
79
42
31
42
20
44
38
60
77
27
55
25
53
44
40
53
52
42
68
54
64
36
72
30
24
64
52
69
38
47
73
25
21
75
68
33
47
52
43
36
23
69
50
32
56
70
65
65
29
78
66
75
53
35
20
56
51
62
77
50
38
67
40
63
22
23
71
22
31
74
79
27
32
65
55
78
78
53
41
62
27
68
34
58
63
29
78
23
24
77
70
32
66
47
30
42
26
22
46
25
39
25
51
70
44
30
46
40
28
80
66
26
42
23
67
55
26
27
25
56
25
62
51
74
70
26
57
80
27
29
30
26
45
42
51
53
58
21
62
26
49
31
43
72
30
46
42
67
27
27
33
36
53
72
24
52
36
43
80
58
35
76
74
64
37
56
37
74
76
58
57
27
57
60
44
55
28
42
28
49
73
21
53
31
75
51
37
78
77
69
72
63
33
64
76
32
30
43
28
61
69
55
80
31
78
53
33
28
55
79
43
60
32
36
20
30
56
50
26
60
67
53
78
58
65
51
59
71
55
59
37
60
47
28
25
69
44
27
79
68
68
71
34
67
20
35
37
33
25
72
31
32
53
35
68
43
76
55
78
59
55
41
37
53
61
25
37
53
55
32
57
51
69
22
54
31
33
62
52
24
77
30
72
34
58
73
40
65
77
50
57
43
65
32
27
26
41
63
32
30
34
59
42
60
64
35
51
72
46
47
57
68
21
64
72
44
37
43
39
71
62
35
58
57
47
38
74
74
66
51
79
35
73
61
35
75
42
33
62
60
70
46
71
60
72
65
77
64
26
69
53
68
36
45
60
30
72
37
77
65
33
74
71
67
71
55
42
57
33
69
43
79
71
71
54
66
46
24
27
72
67
68
32
68
31
52
33
33
48
32
78
64
75
55
61
36
48
70
35
42
22
73
58
69
32
67
27
80
58
39
60
74
21
64
51
58
79
49
37
64
23
56
37
52
72
38
32
52
64
79
54
22
61
63
59
43
64
67
48
72
37
44
55
79
25
47
71
34
27
37
30
44
36
57
26
70
67
63
75
44
30
60
43
21
44
22
64
28
45
25
52
66
40
36
51
57
35
20
31
22
50
63
28
21
63
55
76
56
64
21
67
64
67
54
52
64
55
63
57
26
35
69
21
59
67
43
36
57
71
69
73
78
20
27
49
26
55
72
27
56
35
56
57
60
66
52
53
51
73
25
39
75
49
38
69
53
41
21
40
57
35
32
72
45
21
57
68
41
80
69
51
23
29
44
32
66
80
40
65
24
62
69
47
79
48
38
23
45
75
61
76
64
61
57
75
25
71
23
26
32
42
20
34
30
22
37
25
79
29
20
74
68
43
62
32
47
77
59
73
72
34
24
68
34
62
31
69
56
66
49
27
20
23
79
41
70
56
33
35
23
23
51
74
60
29
58
36
39
23
64
55
23
69
37
71
58
47
77
33
57
58
36
36
53
72
68
79
47
39
50
41
65
23
32
37
52
45
55
24
27
60
80
46
48
24
60
42
76
76
50
53
47
60
20
24
30
56
42
32
58
80
52
62
69
32
37
60
52
50
28
50
28
51
78
42
29
40
51
28
65
62
20
48
69
55
73
69
28
66
54
42
37
20
74
24
50
29
50
58
78
57
50
26
69
50
76
65
51
45
76
79
36
63
32
51
70
54
53
24
56
26
77
24
44
79
74
34
20
65
56
26
47
61
34
75
70
80
61
34
64
25
36
51
62
62
29
45
65
32
38
51
73
43
47
61
38
50
44
21
38
66
74
23
39
72
68
38
56
32
68
20
61
64
58
80
48
49
42
33
31
20
71
21
47
32
60
70
54
23
29
41
21
74
76
44
53
42
40
25
30
49
67
55
49
34
25
56
31
21
60
48
73
51
54
54
76
57
25
66
37
24
41
76
58
25
71
41
61
71
52
30
49
78
72
41
54
28
25
62
35
35
26
79
46
45
25
43
21
24
65
28
45
30
63
48
67
29
31
35
45
73
65
53
29
57
57
54
41
58
44
60
30
61
78
59
48
48
44
69
47
35
78
61
77
50
74
79
65
67
43
43
39
33
24
77
77
40
48
23
50
20
27
51
46
71
67
22
46
62
68
37
65
74
64
27
42
54
37
49
39
48
43
60
68
35
59
71
26
70
54
56
66
39
50
27
46
50
31
78
29
73
41
27
78
73
77
23
29
53
26
60
46
35
30
28
59
23
27
33
61
67
79
58
32
68
69
43
65
61
22
49
33
58
79
58
55
24
79
24
41
55
29
22
64
45
55
36
55
47
32
23
30
26
26
67
40
76
75
77
26
43
40
45
38
70
35
65
78
40
61
73
80
47
48
28
47
42
58
39
50
25
41
43
37
67
32
80
52
40
55
67
45
33
34
29
32
48
64
29
29
64
59
46
21
38
79
27
26
33
49
30
56
42
55
69
63
41
47
30
26
26
33
39
22
65
28
49
66
69
26
64
41
45
42
56
69
47
73
40
35
43
65
48
26
32
46
34
67
20
21
50
20
76
75
49
26
57
47
51
47
31
57
65
43
76
25
34
28
48
22
42
36
41
48
34
50
71
29
51
76
79
60
35
26
66
59
34
36
55
80
78
21
80
55
35
32
36
67
26
26
46
30
31
51
80
47
51
48
53
61
29
49
61
27
37
68
50
39
37
46
26
60
70
76
30
30
30
38
34
27
31
73
34
79
53
56
26
31
73
65
22
40
68
71
35
41
38
59
64
63
72
65
21
68
48
32
37
21
68
80
47
32
66
80
35
29
57
69
31
38
68
23
27
22
76
39
69
48
32
23
67
37
74
71
66
76
72
63
51
39
56
65
74
21
23
30
71
29
71
79
44
50
54
41
24
25
44
28
80
52
64
79
73
69
38
41
48
25
47
78
66
66
70
43
22
56
39
67
48
26
77
24
25
77
62
46
74
68
77
80
39
76
23
74
50
21
57
32
72
61
20
46
54
73
38
37
42
27
74
71
52
37
48
53
46
32
44
70
55
49
65
31
69
58
52
48
69
21
70
66
80
60
47
48
64
35
71
53
59
43
33
50
63
70
73
41
35
66
60
23
39
49
77
22
48
24
58
72
41
52
32
57
59
58
26
31
38
78
27
76
51
60
39
38
29
70
70
59
40
75
54
27
46
34
78
69
77
26
57
42
74
46
69
65
56
70
37
62
80
40
80
20
71
54
26
56
37
22
65
34
20
33
74
49
51
60
29
24
77
45
21
72
45
41
62
80
62
37
48
26
80
49
35
78
36
43
63
41
32
59
39
54
73
57
29
33
27
48
26
47
39
56
38
68
29
30
76
60
57
78
41
22
23
40
25
63
70
55
40
39
61
58
60
59
79
65
29
49
66
68
29
77
34
48
50
56
21
54
24
25
54
69
66
43
39
49
58
53
53
49
57
20
31
44
36
47
25
77
49
48
52
78
53
60
47
55
46
66
26
69
73
73
65
73
54
55
37
47
43
21
22
46
58
42
28
77
61
31
53
71
63
40
60
21
20
68
62
77
23
48
34
51
33
68
39
48
26
68
37
73
67
67
27
21
65
47
79
30
66
24
26
43
72
79
39
27
21
46
63
30
27
77
62
24
76
44
66
36
74
78
34
70
53
80
66
54
45
46
80
75
76
21
33
28
27
58
62
27
21
46
79
62
79
24
52
80
50
37
34
50
66
56
30
51
33
35
56
24
53
51
72
73
67
69
56
54
79
78
69
36
74
72
71
42
73
69
37
41
39
28
50
21
33
49
68
68
40
79
68
21
45
74
54
52
71
31
24
47
72
62
39
24
80
30
30
27
49
26
51
67
67
42
20
58
42
25
54
20
28
21
79
20
30
74
26
74
68
39
62
69
64
32
32
42
56
29
53
41
29
46
37
57
75
55
40
79
72
76
40
77
55
24
23
24
25
27
31
79
40
49
31
63
49
55
52
36
75
37
26
75
53
67
58
71
22
51
67
78
57
60
35
73
80
28
20
62
23
58
22
46
22
58
52
20
45
29
57
50
48
47
73
74
48
45
48
71
68
20
39
71
47
73
25
62
79
71
23
62
35
38
35
75
70
64
29
33
26
30
77
75
29
79
49
46
38
73
50
22
37
36
28
40
47
29
27
37
29
67
51
68
67
31
37
36
24
60
80
40
65
66
27
58
45
66
66
68
30
79
43
61
57
37
68
22
46
40
32
79
20
59
71
26
49
70
40
64
56
67
37
54
56
41
49
33
39
65
42
60
68
20
79
29
36
43
40
42
70
26
44
31
44
57
62
76
66
80
37
20
26
43
34
33
24
46
72
76
65
20
53
20
52
64
66
31
41
21
34
77
79
24
21
80
59
38
33
22
63
22
76
20
72
56
42
57
79
37
37
20
41
33
21
53
53
65
51
51
41
79
28
64
64
78
29
28
65
20
69
78
26
58
33
71
48
40
63
75
30
60
38
52
63
63
47
39
32
63
80
46
61
39
28
42
45
41
37
76
47
52
62
54
60
49
73
43
70
44
68
67
57
28
52
65
39
59
56
64
39
73
20
38
25
74
23
35
29
39
68
43
59
47
20
26
35
29
65
72
69
74
46
51
58
35
77
26
52
21
20
47
61
36
39
21
57
77
60
74
40
26
45
52
29
61
79
34
45
73
80
35
31
69
34
69
65
62
36
23
58
68
23
26
55
52
31
22
44
72
38
28
79
36
51
60
26
57
36
49
73
44
63
65
77
62
21
55
61
74
74
40
64
62
63
58
60
26
49
76
80
29
58
46
64
74
49
21
67
73
50
74
76
35
45
65
70
64
70
79
59
23
32
76
63
42
60
52
40
44
56
72
76
58
72
24
75
51
64
39
69
77
41
79
46
48
80
27
71
67
23
29
43
36
47
57
34
73
39
63
32
20
74
20
29
67
31
51
35
74
73
58
30
22
30
69
46
77
46
25
45
67
75
31
20
27
62
35
47
71
75
35
51
74
76
78
31
40
56
56
58
62
58
29
28
55
45
63
31
60
36
35
40
34
28
31
59
60
61
55
75
80
49
66
56
23
37
64
27
23
61
72
50
72
78
44
35
80
21
55
23
70
57
77
38
20
27
73
31
47
44
69
53
78
28
64
70
52
79
78
25
58
32
76
42
64
51
44
42
80
30
28
66
37
65
41
38
35
27
70
48
30
22
58
39
68
32
37
30
39
70
62
61
68
47
59
78
34
67
69
47
37
61
26
42
80
60
54
68
44
24
28
66
51
36
23
26
57
48
23
35
60
20
44
79
74
46
52
37
71
42
58
58
76
56
53
79
50
21
41
42
61
37
62
61
36
73
60
46
30
38
60
31
20
71
48
45
27
57
21
52
23
75
55
77
54
21
60
64
43
66
23
38
50
62
67
46
69
29
73
32
34
32
69
74
36
58
77
30
51
73
75
79
22
32
74
37
79
67
73
57
21
63
27
75
34
50
35
41
76
31
44
48
22
77
44
74
29
70
75
56
62
76
51
45
80
74
30
30
32
79
73
78
34
36
68
50
21
63
43
72
80
23
55
22
62
23
37
30
56
32
80
77
28
48
30
71
35
60
45
60
65
73
39
31
26
46
39
20
78
43
20
61
38
79
36
42
43
27
64
22
75
36
38
46
42
49
50
56
36
43
76
80
63
72
49
63
62
79
50
48
48
76
35
50
77
47
56
73
64
44
57
23
63
70
72
33
61
79
67
61
51
39
68
52
25
21
41
59
29
45
57
39
50
61
70
24
67
26
68
75
76
30
55
33
24
63
45
79
54
61
47
62
77
40
30
37
49
33
65
28
49
75
61
20
55
74
60
40
21
58
39
23
75
46
68
26
51
60
42
46
73
54
32
72
50
45
65
74
44
77
26
33
68
43
42
75
47
20
40
36
62
55
30
78
41
32
45
39
45
41
58
37
67
74
60
57
47
28
48
20
21
40
21
34
33
59
65
48
33
27
60
70
80
26
20
69
73
50
74
56
24
67
27
32
28
49
56
33
42
78
32
37
24
30
47
21
39
24
23
42
60
59
23
47
41
48
74
67
74
60
26
67
38
40
40
32
79
40
41
37
24
31
75
70
68
73
78
50
36
80
44
41
59
60
38
57
43
66
56
58
51
39
30
70
55
61
71
34
31
43
40
79
42
47
34
71
52
59
44
25
21
52
79
53
66
26
71
29
64
31
49
29
48
68
68
32
72
33
56
70
37
69
43
33
55
49
29
34
54
56
51
40
20
44
66
23
38
45
56
50
45
50
46
62
22
37
78
78
69
27
76
26
67
33
23
58
72
34
20
39
61
68
31
64
46
36
47
55
35
63
28
55
55
36
63
52
50
31
64
43
65
38
73
25
27
60
40
46
51
51
76
27
78
63
68
56
67
58
73
45
45
67
60
77
40
30
29
39
30
50
33
45
23
55
68
22
47
44
71
22
66
25
56
35
24
30
62
69
56
53
62
62
24
62
35
41
26
75
53
53
69
27
27
29
36
29
54
28
20
42
42
70
73
77
67
79
21
71
28
24
79
20
60
55
50
63
57
43
35
45
62
66
46
38
27
68
57
23
22
53
37
60
40
34
54
44
34
27
42
51
46
79
54
69
21
35
67
37
56
79
21
56
46
20
56
35
25
37
28
72
65
33
64
56
32
38
54
29
63
38
68
43
30
30
24
40
49
43
78
55
71
57
58
47
68
27
25
40
60
40
56
50
37
51
46
51
23
53
71
23
20
43
40
50
20
69
50
64
54
54
23
79
35
50
26
52
31
29
36
77
39
38
55
51
70
63
28
63
77
23
73
32
28
75
64
34
52
22
68
20
32
39
68
34
68
68
20
73
25
45
49
71
42
54
53
71
27
65
33
67
45
34
38
49
76
53
51
65
34
43
31
59
66
75
71
61
72
20
56
49
35
75
39
80
36
49
25
54
76
35
37
75
25
54
76
41
32
43
41
46
31
53
22
76
55
75
21
66
32
34
51
65
67
53
21
73
57
78
30
33
67
76
43
25
24
73
26
46
67
38
27
49
49
25
30
68
68
39
77
73
36
36
50
23
54
34
49
62
61
58
54
44
20
67
27
66
46
22
41
77
74
38
66
59
32
43
26
60
46
61
51
53
24
41
62
20
57
35
55
56
66
61
20
75
43
29
34
60
71
73
30
27
40
66
54
61
60
43
35
55
26
57
27
75
58
30
78
60
71
28
33
74
55
25
22
45
78
45
77
30
79
44
53
67
43
63
22
80
68
74
51
39
20
48
40
31
71
33
72
63
53
29
42
47
27
74
32
71
49
28
21
55
30
65
44
31
79
36
61
53
71
56
54
70
28
32
58
79
73
53
63
60
52
25
23
78
35
46
76
60
67
61
63
25
71
65
48
46
23
46
76
49
37
40
45
63
27
48
49
41
29
63
22
59
65
56
42
50
31
69
79
44
34
52
77
55
23
66
67
49
74
69
77
73
27
53
25
25
45
29
46
52
64
42
40
46
75
22
28
62
74
54
52
31
64
46
61
42
35
26
71
34
72
42
42
62
32
58
35
35
60
59
48
65
35
79
35
34
34
67
32
53
67
23
56
70
20
31
58
44
49
37
77
34
75
74
73
50
27
53
76
74
59
78
61
37
42
68
72
51
32
77
51
52
54
48
44
50
43
23
74
55
41
32
76
59
46
73
76
48
21
52
37
29
51
49
78
28
66
56
48
43
74
59
55
54
74
43
71
28
61
46
25
58
36
37
26
75
46
70
34
41
21
69
56
27
54
53
74
53
44
37
66
50
63
63
56
33
32
28
79
63
75
37
44
72
37
29
66
49
44
33
43
42
50
53
27
32
28
55
27
28
72
30
79
37
29
72
39
62
31
38
70
57
79
43
31
70
52
56
54
30
53
58
34
37
22
60
33
24
27
26
49
30
46
49
69
49
63
55
47
29
30
44
66
44
23
43
28
52
74
20
73
76
43
65
39
50
39
27
42
28
62
48
60
33
41
37
34
37
79
72
46
67
70
63
56
50
20
40
55
56
59
66
63
74
75
42
27
25
43
73
33
79
49
28
74
20
25
58
79
63
66
37
48
24
46
77
22
44
53
30
77
30
78
59
59
20
50
46
53
78
38
41
24
32
34
24
76
57
56
30
29
62
47
66
43
32
65
49
78
55
51
68
36
58
60
78
54
20
51
20
20
22
67
62
23
26
68
35
32
75
56
31
34
25
52
45
50
38
23
21
79
73
71
23
41
28
68
42
20
61
33
24
60
52
35
39
46
65
34
57
80
42
61
67
37
59
79
40
38
62
53
35
76
20
41
25
50
66
33
75
64
63
76
64
54
26
40
47
26
25
61
28
28
22
70
47
56
74
31
44
46
51
57
54
48
27
60
20
79
64
45
58
58
21
78
67
62
35
30
68
34
56
50
23
66
78
45
36
65
78
60
22
78
78
77
73
64
62
72
45
38
25
75
21
76
28
25
73
23
55
39
47
56
35
63
47
74
70
70
23
64
34
30
80
46
78
44
64
30
45
74
66
80
53
33
59
65
46
74
29
51
31
71
54
48
65
66
76
78
62
41
31
53
75
56
76
27
49
52
30
31
39
31
36
39
67
36
26
76
50
40
33
69
27
64
56
27
71
76
67
73
46
73
54
28
64
52
38
60
34
71
29
35
25
70
59
46
65
33
36
41
80
49
71
44
67
39
28
76
68
68
73
52
28
75
80
57
28
37
68
50
36
26
49
60
52
71
56
49
54
31
43
33
79
34
72
34
47
31
38
73
31
46
46
56
67
26
24
67
79
64
31
37
53
20
53
61
30
34
74
22
49
65
53
24
47
45
66
52
66
43
76
62
49
58
45
39
50
40
26
76
45
64
71
31
55
65
45
50
20
76
40
66
41
72
54
69
64
64
54
48
42
57
22
76
36
65
55
62
66
41
61
26
43
23
39
34
39
58
69
62
55
57
39
36
23
46
46
37
62
25
47
64
50
20
35
71
35
76
50
56
30
71
50
61
56
29
20
48
63
73
41
22
73
56
38
73
57
27
60
73
72
74
56
32
55
74
44
58
62
53
78
43
40
76
41
73
48
43
55
38
60
72
63
33
65
32
66
31
37
23
51
74
61
53
51
54
76
21
39
64
62
30
44
59
21
52
68
36
34
79
59
43
58
45
31
75
43
46
20
24
32
49
77
60
41
23
24
53
53
72
52
77
26
77
77
69
74
58
79
22
58
52
25
76
73
43
77
45
68
35
65
57
72
61
62
57
75
73
74
46
69
37
32
78
28
24
21
46
20
60
68
69
65
41
67
46
74
69
70
24
59
76
45
56
53
52
78
24
77
59
78
58
37
56
27
56
49
33
31
42
32
24
50
58
58
25
63
26
71
73
71
75
28
23
77
71
52
40
74
68
47
40
32
59
58
52
75
49
32
58
78
35
38
45
53
57
77
41
67
32
30
39
26
33
31
62
61
73
63
62
40
54
40
33
27
52
47
64
21
56
42
32
22
23
74
23
23
55
42
64
77
41
72
32
49
48
61
32
61
71
51
26
70
49
34
50
33
28
26
49
39
61
36
54
68
24
30
33
24
23
24
49
62
24
35
76
80
68
62
23
22
62
43
75
20
71
70
38
52
25
73
57
31
39
28
71
73
70
39
72
73
61
25
80
46
61
54
29
41
35
44
54
53
25
72
78
49
39
39
54
25
21
68
59
40
45
76
48
27
46
77
53
27
21
50
66
71
67
52
53
59
39
56
38
52
41
75
46
68
56
58
52
42
50
71
46
29
31
38
60
52
74
80
45
55
48
52
69
24
31
21
38
42
43
60
61
80
60
52
62
25
70
79
58
63
27
68
58
61
80
63
31
71
69
70
31
25
59
64
37
28
34
77
34
69
42
62
28
73
32
50
30
62
32
52
42
76
42
53
72
29
48
66
46
68
32
53
75
80
79
75
25
35
49
66
70
57
35
58
52
61
80
75
77
55
80
77
53
31
45
36
66
26
46
48
79
31
45
78
26
69
72
80
49
70
79
56
21
50
21
75
20
25
43
29
68
56
59
23
42
20
27
43
63
47
28
28
49
59
54
31
57
45
67
78
33
80
80
58
53
53
30
59
28
32
29
24
79
52
58
70
62
21
58
23
41
39
39
74
77
26
56
35
60
41
21
46
43
57
23
55
42
54
72
66
62
49
48
64
80
38
25
32
63
68
33
40
61
53
61
74
43
78
34
52
60
59
59
40
66
49
48
78
50
48
52
59
39
50
45
21
57
52
35
75
49
57
70
47
44
76
24
28
79
27
55
51
49
76
61
52
76
51
46
57
77
56
36
36
41
38
41
20
53
46
68
70
58
31
61
36
36
56
74
75
41
53
25
29
22
20
65
33
77
72
43
39
26
62
53
52
24
53
64
24
43
37
79
70
37
54
71
56
20
55
64
31
50
70
73
23
62
55
76
41
52
20
78
21
25
29
53
44
39
56
74
73
55
57
55
21
21
55
71
57
34
43
66
40
73
20
21
45
80
49
26
72
39
70
35
69
66
37
40
64
52
65
33
27
27
72
61
41
22
76
69
40
73
74
45
55
32
65
32
78
69
28
44
78
25
66
61
29
54
68
31
71
27
77
53
25
59
21
23
60
52
41
32
32
53
75
26
39
27
61
39
22
37
61
80
35
33
58
29
69
77
26
68
40
40
53
48
73
31
72
77
23
74
65
74
53
58
45
79
69
70
69
61
60
78
75
50
64
51
76
68
42
76
41
75
44
34
44
31
61
24
57
73
76
46
53
44
34
21
41
61
71
54
48
20
72
58
21
36
63
54
49
80
28
72
53
56
65
49
80
37
45
22
61
80
22
22
40
46
29
62
70
41
67
79
30
71
36
59
58
42
65
79
67
24
59
48
74
24
25
22
22
72
63
72
80
67
50
68
43
58
23
28
51
58
46
40
80
26
42
63
73
58
45
27
52
31
70
47
44
20
69
66
33
73
28
56
54
69
53
34
49
78
33
38
65
50
54
63
66
71
32
30
32
35
77
44
79
68
49
56
28
56
44
64
20
44
57
32
46
33
44
28
26
60
26
57
24
59
22
79
28
26
56
71
38
40
77
45
48
58
51
29
76
20
53
63
77
55
42
67
79
22
75
71
25
37
29
42
68
51
61
60
23
37
36
41
55
41
66
50
46
21
46
50
29
48
28
33
20
33
75
38
57
40
29
58
28
55
66
41
64
53
60
65
40
32
57
77
56
30
25
21
39
60
74
74
55
79
37
70
32
25
50
62
61
27
20
25
37
44
74
62
61
55
68
43
56
68
49
69
47
32
27
43
35
65
26
64
22
55
76
75
49
79
60
70
74
37
47
70
34
56
30
80
52
34
35
37
34
65
45
22
75
30
24
44
22
71
37
66
69
20
31
61
63
34
44
41
79
22
30
29
73
63
61
63
28
37
27
44
75
54
30
69
38
57
25
61
62
79
52
77
50
38
28
69
22
42
29
73
73
50
46
77
53
63
29
70
35
40
43
79
70
47
40
44
60
59
55
34
48
21
27
26
40
46
53
26
47
80
56
70
73
62
63
56
60
66
62
65
76
42
22
73
68
76
56
51
20
77
20
25
41
79
44
37
47
32
26
26
49
64
35
45
63
77
40
42
63
62
22
42
46
40
34
63
80
78
78
26
42
22
77
34
72
31
39
25
49
25
44
35
31
52
64
72
40
49
71
42
73
61
61
57
75
23
55
52
42
22
42
74
68
22
75
48
68
45
38
40
70
70
39
46
45
79
28
28
66
39
61
26
23
58
63
28
66
76
79
21
76
70
61
22
77
64
23
54
66
31
78
77
53
77
57
73
30
28
63
29
45
62
32
23
48
67
43
27
20
75
78
79
50
43
70
68
76
60
70
43
76
47
77
37
74
37
51
46
38
22
68
71
69
46
30
36
51
79
24
49
35
39
80
25
57
40
47
39
51
77
56
46
52
80
60
45
42
50
56
38
43
26
31
80
54
31
65
30
42
20
56
48
35
23
25
26
60
49
49
22
66
32
29
31
57
21
47
80
39
74
68
76
73
73
56
51
65
38
63
48
75
79
45
35
67
57
40
66
24
46
43
57
67
64
24
68
41
40
30
80
46
28
49
63
43
74
61
42
59
63
36
35
26
53
31
69
62
31
26
41
34
43
49
47
34
32
80
63
76
70
50
32
43
24
77
51
40
75
71
58
65
51
29
38
79
77
72
44
74
21
63
52
77
39
55
52
68
54
79
67
61
63
61
45
52
56
61
31
56
74
23
60
39
51
36
30
73
37
39
68
55
59
74
64
62
33
79
73
29
34
50
28
76
63
66
50
75
65
36
68
65
77
35
25
80
42
56
72
49
52
56
24
48
36
20
59
63
57
58
55
38
57
60
42
31
33
52
78
76
53
25
80
27
55
58
80
23
68
54
36
23
50
53
66
32
41
62
47
66
80
61
37
45
29
26
67
70
53
69
55
60
42
32
75
38
70
57
66
71
41
21
25
35
74
38
76
64
72
42
76
47
78
42
79
53
37
69
76
40
62
49
66
73
70
64
44
75
35
65
54
58
36
29
50
47
26
72
64
21
28
46
66
52
21
23
63
43
29
22
23
67
59
70
36
39
36
78
66
52
33
41
29
58
80
49
36
50
30
56
33
59
43
66
27
69
20
56
47
58
39
22
73
34
31
53
36
77
79
78
45
66
39
72
31
75
53
60
71
86
220
199
237
216
181
81
106
119
83
212
80
100
199
140
212
80
112
231
154
97
78
228
210
100
219
205
189
183
239
132
128
152
217
142
192
239
117
115
199
120
195
124
152
113
73
84
230
143
185
203
152
171
189
218
151
232
189
82
223
130
219
239
177
82
229
247
96
97
157
212
78
235
182
76
242
186
151
153
143
92
80
123
157
125
152
207
121
238
235
186
168
144
166
82
172
164
250
139
185
198
178
108
146
195
243
92
83
163
181
158
228
209
232
129
215
182
186
101
159
80
81
216
171
163
186
178
205
246
132
153
112
88
246
248
243
158
85
141
167
181
141
144
93
188
78
108
169
94
234
91
155
97
97
222
132
221
182
151
106
220
103
74
84
96
217
109
176
99
76
94
123
102
167
74
159
189
179
90
150
98
113
138
93
97
224
249
141
220
77
215
124
229
124
159
107
199
160
166
188
220
201
203
198
141
189
185
169
216
94
96
185
144
165
199
237
83
83
204
194
229
101
216
72
216
118
85
177
199
156
81
122
108
148
186
139
207
125
133
167
197
182
250
128
136
216
180
107
134
210
98
175
244
192
240
233
80
82
72
229
124
157
173
217
153
123
141
189
235
133
250
96
188
119
165
152
192
143
141
249
95
207
249
125
127
182
203
100
217
152
194
242
92
111
124
158
96
107
134
136
98
130
172
191
89
150
143
200
83
144
190
100
250
222
222
123
84
182
74
249
163
184
173
176
150
147
119
88
91
172
173
114
195
159
115
105
150
210
108
93
148
182
153
90
207
245
112
90
118
203
86
120
133
144
229
227
211
204
74
224
203
121
90
102
222
163
82
179
241
242
167
221
176
112
92
108
198
126
228
135
210
179
192
244
151
78
214
160
153
180
114
233
220
155
242
211
241
215
170
129
176
133
140
235
80
117
76
194
108
227
150
160
85
191
238
218
189
224
88
231
167
167
82
150
110
215
214
112
227
123
248
171
190
108
168
112
106
222
85
106
76
108
119
200
134
241
231
200
114
158
117
79
205
212
202
100
212
112
137
189
132
200
230
95
176
177
122
97
196
194
140
235
196
166
148
151
80
197
97
127
103
78
239
96
226
217
77
95
228
218
241
150
124
106
97
99
176
160
183
147
99
229
196
113
79
198
129
126
134
133
140
194
155
122
240
97
236
213
206
200
90
118
192
249
175
84
186
159
101
213
98
77
129
240
144
248
91
130
245
139
196
240
244
134
192
246
179
165
94
74
169
169
89
112
116
200
139
106
140
150
108
86
119
156
116
86
106
142
75
179
201
211
147
115
234
141
224
224
214
203
128
77
147
245
147
98
209
155
112
230
217
206
85
211
241
180
96
72
109
236
81
178
173
79
109
112
102
89
181
129
163
250
203
229
192
125
226
133
165
234
213
211
152
206
149
92
121
179
197
184
150
129
204
194
161
124
133
151
227
203
141
137
130
127
83
181
243
179
144
202
245
95
144
117
235
87
183
114
241
94
184
112
159
195
82
165
130
127
188
131
187
244
91
149
140
88
209
117
241
185
101
168
215
89
70
178
242
124
99
220
205
159
250
79
132
222
187
151
204
232
114
242
86
182
150
100
117
104
111
108
85
127
185
240
164
106
230
121
147
235
137
96
123
121
131
119
98
129
220
118
127
79
104
170
96
155
227
89
186
124
72
153
178
156
234
155
197
206
226
248
145
146
206
144
191
138
147
196
220
139
185
165
145
237
211
234
151
87
241
240
247
111
194
94
85
107
224
145
101
123
241
126
225
195
89
197
199
134
106
166
159
72
105
112
227
197
225
146
193
90
150
220
210
222
180
210
76
90
128
104
118
83
170
193
102
158
109
83
242
230
194
181
103
197
178
220
116
221
190
236
83
231
239
136
80
173
78
177
105
177
105
109
220
120
111
190
229
240
241
94
132
97
227
181
197
128
177
159
207
196
172
111
156
226
178
164
223
214
136
155
99
126
184
136
88
113
192
190
179
183
204
232
137
222
133
146
240
90
165
206
121
203
191
169
183
79
91
218
195
143
177
99
247
246
72
143
241
96
91
170
156
180
193
166
209
241
76
80
101
157
116
212
242
134
123
87
190
72
167
164
195
198
242
143
237
162
77
222
131
132
127
75
82
87
142
85
214
77
160
198
80
237
200
140
100
168
124
132
195
103
118
78
174
156
189
168
90
138
135
85
148
85
245
175
73
114
78
174
82
211
170
214
133
242
92
187
222
227
124
95
245
118
197
125
239
223
165
151
226
110
136
173
76
117
112
195
234
201
235
182
177
123
241
94
133
243
182
97
126
213
101
99
74
112
205
95
150
97
108
221
179
148
117
146
236
172
154
128
90
245
164
231
97
240
184
124
79
151
138
183
75
238
121
176
95
243
102
150
151
213
238
117
97
103
170
138
177
169
149
246
79
250
211
196
168
226
217
140
192
214
205
181
147
132
101
86
149
194
246
237
156
183
84
137
136
211
219
186
176
113
81
118
126
164
234
247
237
161
72
203
236
207
249
119
162
85
100
71
219
111
217
214
230
180
194
136
154
104
204
179
99
146
75
186
143
216
78
177
140
97
133
223
123
158
227
149
160
92
213
195
157
235
172
225
178
124
105
185
130
230
104
74
165
136
162
247
219
95
70
190
249
129
160
217
211
164
239
160
84
114
71
178
150
90
132
84
185
228
92
237
185
189
240
85
230
242
232
155
192
193
148
162
170
169
208
147
169
161
113
172
169
82
190
142
243
187
235
160
137
128
73
207
226
132
164
193
104
200
173
231
84
137
120
237
236
186
173
234
120
180
129
219
101
131
115
181
96
148
90
110
151
205
213
248
210
119
128
222
184
236
246
127
237
136
220
172
88
149
124
208
249
92
225
200
130
81
235
86
152
190
231
210
201
244
188
145
197
201
77
236
226
157
234
177
133
199
237
82
156
206
225
241
201
156
168
112
205
88
96
223
147
171
110
150
213
137
146
103
226
108
111
247
168
239
192
237
112
132
148
234
233
92
152
211
164
231
244
230
248
115
146
241
83
141
142
181
119
170
169
223
234
114
76
191
183
112
244
165
236
181
181
135
146
167
77
219
104
191
233
111
198
95
178
123
166
201
123
220
165
176
154
114
145
78
105
111
195
207
132
238
163
77
96
227
162
167
177
163
107
90
109
182
193
244
79
176
92
73
231
232
106
104
108
178
213
235
245
117
212
205
180
239
220
141
166
116
158
224
132
240
150
205
219
201
103
226
168
106
156
164
148
226
186
129
115
115
200
100
196
100
191
143
239
124
216
194
85
87
215
206
165
147
120
74
219
238
129
244
110
237
131
185
207
76
86
127
109
220
78
231
81
235
131
101
106
113
80
155
100
148
73
184
172
94
152
123
96
238
164
229
132
171
154
108
209
249
219
83
174
156
106
75
132
146
173
100
194
243
72
201
176
114
172
92
143
170
136
161
152
238
225
213
222
105
244
205
75
175
108
199
204
108
131
136
72
104
95
250
88
249
72
176
115
141
87
197
250
229
113
242
226
184
127
91
140
177
207
197
189
146
79
190
198
162
74
240
233
197
249
227
94
229
217
246
139
220
207
161
138
92
230
191
184
212
95
224
229
87
246
189
169
237
104
198
115
78
116
104
105
80
238
83
243
110
98
115
194
229
182
100
114
190
116
99
243
219
153
145
150
83
79
90
223
129
195
163
122
213
105
194
224
184
157
207
80
246
181
131
82
110
193
148
174
214
88
191
249
86
81
224
230
217
160
85
134
154
208
182
229
232
191
81
164
130
222
218
224
209
75
181
217
88
155
226
175
217
201
87
115
217
183
164
136
231
90
217
100
157
160
148
95
150
203
140
196
212
141
224
96
88
145
154
244
220
171
148
197
99
108
93
201
151
102
79
192
116
166
152
106
109
246
97
88
156
134
125
232
187
103
168
171
128
83
162
176
113
142
235
217
81
139
74
223
114
152
233
198
218
195
78
224
183
161
197
127
148
107
230
75
166
222
207
90
175
117
71
99
216
92
230
133
203
160
187
215
207
180
104
97
115
110
207
170
220
204
70
213
175
203
133
77
153
122
205
201
182
222
82
237
224
170
190
162
155
97
237
72
76
199
231
187
192
119
239
209
155
172
241
148
144
195
174
197
129
235
103
152
224
166
228
220
142
180
200
215
168
86
233
175
218
111
162
92
196
119
167
78
106
198
89
115
72
172
212
235
231
222
127
235
95
82
214
233
208
246
138
176
119
85
217
225
75
241
216
154
112
153
232
199
195
183
155
245
79
135
113
113
239
153
174
143
247
191
217
152
241
79
159
211
156
150
92
99
74
91
247
232
227
102
247
92
150
132
228
105
159
189
74
159
78
203
75
199
244
103
193
118
86
232
125
207
95
192
248
182
127
238
148
206
166
246
82
71
112
185
86
70
245
128
102
183
164
144
121
105
142
160
121
239
178
199
111
148
209
204
218
150
120
124
196
84
117
106
183
102
201
201
128
84
129
81
108
157
238
159
78
130
78
186
153
205
188
175
234
136
209
196
156
243
80
242
128
123
191
141
214
197
87
240
215
219
170
74
202
172
133
139
218
209
100
150
238
241
133
244
126
171
223
140
240
99
210
136
249
78
169
214
126
161
198
179
162
190
133
194
82
157
109
209
188
81
227
96
229
217
227
228
219
104
225
104
118
224
147
214
156
239
137
248
238
189
134
105
226
247
228
189
169
165
129
126
106
79
162
249
106
237
187
149
101
120
108
127
224
168
116
124
141
116
213
86
106
216
189
221
139
123
163
138
172
151
213
202
237
76
126
202
100
85
80
85
88
223
233
180
74
176
236
176
234
81
234
250
250
250
86
81
180
165
153
138
71
187
173
104
177
103
133
182
233
84
199
237
228
108
159
72
70
226
168
74
84
245
77
217
192
204
119
186
79
71
195
136
154
124
105
197
129
70
169
198
218
237
220
245
232
73
246
238
109
82
249
156
194
88
71
206
190
116
134
71
209
145
249
94
101
77
221
152
149
146
173
164
121
184
123
84
140
227
72
238
128
188
147
77
95
98
101
91
232
107
238
143
200
126
207
162
121
167
77
146
73
229
218
89
184
202
119
241
214
248
127
101
229
215
239
244
178
77
76
241
231
213
124
73
85
76
184
234
246
83
94
92
79
192
105
151
109
221
106
207
95
229
125
197
112
249
202
229
187
88
188
209
141
93
86
102
223
119
114
213
200
248
218
193
222
99
249
199
174
138
213
178
147
186
116
222
162
113
246
160
87
120
157
183
162
101
116
233
144
126
187
235
150
223
228
121
201
91
174
248
172
148
146
218
157
132
116
82
241
110
90
219
105
239
112
185
96
172
120
208
138
197
214
144
85
222
215
167
211
140
227
226
153
107
82
206
241
225
176
153
240
220
205
227
91
186
193
148
71
96
118
179
171
117
136
72
179
192
181
249
122
133
117
191
97
146
168
150
246
142
207
172
173
92
178
106
243
85
180
141
221
211
231
100
248
166
140
142
189
190
201
200
93
171
166
127
134
92
156
200
157
177
125
141
96
198
131
152
103
110
247
77
171
224
210
190
90
134
82
107
233
148
84
87
152
77
221
182
117
90
200
182
88
238
144
120
191
174
87
119
98
95
153
154
225
133
197
228
190
166
178
166
250
242
147
143
232
177
147
176
214
159
161
203
100
94
118
87
74
230
224
113
198
85
130
195
231
206
173
165
182
218
204
220
167
101
73
224
237
180
184
137
145
149
98
95
195
197
210
233
207
185
159
228
142
129
89
243
213
224
169
121
198
114
89
124
107
82
134
83
190
221
149
188
130
240
127
121
92
232
153
204
223
121
179
134
92
193
186
185
211
134
89
186
229
244
136
129
232
202
93
147
191
96
229
101
205
99
202
234
81
227
98
168
240
182
211
165
175
136
77
102
165
231
84
195
71
198
121
126
118
196
241
240
249
132
200
195
222
207
240
123
176
234
80
207
202
99
119
83
86
228
208
182
154
155
108
226
224
227
77
155
133
192
167
139
136
166
171
85
136
172
201
118
110
74
140
115
190
180
195
209
73
141
206
246
179
184
206
112
129
106
119
219
156
99
88
165
227
202
155
125
94
137
236
230
165
143
156
167
79
219
165
221
130
163
219
174
157
190
120
171
127
87
208
190
127
196
157
203
93
225
204
195
249
160
206
211
84
199
102
226
107
126
230
88
127
138
243
194
98
127
192
138
227
143
146
189
145
228
110
233
115
239
196
177
233
128
72
178
225
168
195
216
150
163
80
76
167
87
103
199
126
118
85
185
78
80
247
229
209
79
124
235
234
146
235
117
191
158
189
176
148
237
111
142
108
196
194
244
223
205
199
125
122
206
242
188
214
166
94
172
237
235
225
167
190
246
166
100
207
202
94
168
149
212
148
112
218
166
150
143
158
101
167
183
135
181
185
137
72
108
114
135
115
247
241
79
166
228
138
211
180
231
212
153
167
214
146
116
123
129
226
86
91
123
76
231
136
88
127
80
224
77
243
248
164
75
174
199
93
98
115
73
123
138
230
128
187
114
120
129
123
182
233
250
202
247
230
90
91
117
173
202
240
82
188
130
133
128
152
165
187
78
224
126
80
121
238
150
123
190
226
74
224
161
89
87
192
129
150
115
217
113
100
214
154
139
213
70
111
207
242
177
225
202
81
201
167
228
92
245
131
137
194
217
112
131
86
125
136
100
89
122
107
90
244
152
91
154
221
183
194
173
114
166
186
100
123
140
80
128
186
213
80
153
178
120
167
228
173
249
134
106
172
160
234
123
151
174
156
165
199
220
227
168
218
92
192
157
191
221
97
205
107
175
72
199
101
146
80
182
105
244
186
74
184
79
198
102
166
173
132
190
101
96
184
143
195
156
131
183
149
84
245
246
207
184
161
180
164
239
93
80
159
232
250
206
151
244
139
106
224
103
218
236
155
206
232
219
167
80
98
124
228
213
174
89
94
241
224
170
215
160
88
135
235
193
230
124
206
186
99
239
227
206
202
136
157
136
137
152
229
144
203
217
96
81
71
72
246
117
128
210
233
246
146
109
214
235
132
90
124
186
102
146
104
127
203
199
218
103
197
228
189
192
166
221
129
121
99
222
108
77
230
186
84
240
219
111
193
192
107
202
242
250
76
91
97
213
233
162
111
154
241
144
213
215
179
196
173
240
140
77
182
96
119
177
230
229
133
168
91
114
73
228
90
182
143
154
90
83
180
103
157
137
151
89
130
109
75
119
155
122
228
178
211
223
122
184
154
84
150
113
178
143
238
106
183
248
133
183
197
222
135
163
144
194
200
106
204
155
239
226
202
106
127
152
71
103
190
78
216
84
160
200
131
132
116
78
187
143
204
170
219
147
157
147
213
193
134
84
194
204
230
146
177
80
120
217
125
193
170
113
116
153
177
241
123
176
243
103
165
72
220
70
166
126
99
175
211
248
160
158
234
205
173
145
183
189
133
125
166
122
74
197
108
224
245
237
221
112
79
86
118
109
158
189
93
80
75
173
212
177
186
179
156
119
202
194
126
180
154
206
135
183
133
200
117
212
171
74
167
217
154
169
130
197
114
107
114
234
146
155
144
134
132
111
170
211
121
212
123
207
149
212
241
125
247
165
242
126
217
194
112
150
196
189
185
125
162
137
193
88
247
159
177
236
166
177
244
235
154
120
177
149
209
135
96
197
92
125
234
98
166
84
182
223
236
99
142
149
162
152
145
205
88
163
128
201
204
93
212
209
154
185
191
93
125
234
103
196
89
149
188
93
77
167
238
165
179
119
81
202
237
158
148
73
96
173
102
191
188
130
152
236
105
171
138
73
178
193
192
74
148
114
127
210
138
178
154
240
157
200
119
70
172
74
96
89
165
208
199
234
152
191
240
236
197
214
208
108
164
136
100
133
91
75
72
243
119
122
73
222
85
216
100
214
94
240
206
212
209
173
214
116
162
180
81
119
130
162
207
94
190
214
212
191
219
76
250
179
105
159
190
218
73
214
248
214
209
115
94
232
142
108
139
209
133
147
196
206
198
95
140
191
112
141
92
151
144
128
198
167
90
130
126
93
182
178
141
85
247
213
129
180
209
212
112
85
223
101
105
106
89
112
177
74
190
146
162
112
111
110
174
94
230
176
195
228
200
237
220
122
129
163
115
243
107
99
198
80
130
240
107
100
121
224
181
88
86
116
84
172
235
88
132
160
235
242
103
203
94
227
119
216
142
106
197
90
194
201
73
78
214
188
210
168
160
207
213
71
118
155
81
128
109
246
80
143
218
101
165
209
168
210
106
223
210
99
181
236
70
208
114
202
89
146
120
205
176
75
173
112
241
89
117
118
98
247
248
80
233
218
165
160
92
145
163
112
74
185
75
221
138
213
245
116
145
130
176
226
101
209
87
161
83
175
111
220
80
176
177
181
203
191
138
245
234
107
122
91
120
109
130
235
101
90
247
229
217
237
82
249
156
226
129
245
111
160
187
166
174
97
88
173
132
121
236
240
113
103
250
113
211
126
96
141
196
149
197
123
119
194
233
83
229
173
123
225
142
126
227
133
223
204
243
92
117
149
155
83
215
234
73
76
135
118
210
202
82
152
219
180
79
169
217
185
232
118
74
116
173
158
129
156
163
153
223
100
226
160
82
85
177
226
91
89
233
249
111
172
208
160
227
145
180
76
219
243
209
118
101
70
127
220
219
149
222
216
118
131
148
75
224
179
174
137
98
222
118
195
160
104
106
101
131
174
188
236
194
163
228
122
70
145
249
116
238
175
113
70
119
116
117
206
245
238
78
208
150
165
138
168
161
98
168
158
141
193
83
208
214
228
93
216
233
98
111
93
104
77
166
118
151
147
71
160
183
77
85
130
158
85
119
244
90
245
230
84
126
250
91
155
168
180
147
219
216
123
168
71
130
182
74
81
89
200
90
203
162
226
218
236
74
185
244
153
204
153
214
156
83
113
235
111
85
93
117
239
235
185
207
217
173
155
174
158
236
244
97
210
179
142
167
126
249
185
145
191
168
185
132
211
71
109
175
107
210
185
186
154
140
97
219
149
177
125
201
122
206
168
241
159
235
179
204
82
99
90
193
99
206
121
246
135
126
75
105
212
127
159
93
73
137
131
106
139
176
124
78
112
109
132
94
109
215
92
218
71
147
167
225
213
211
95
151
127
149
181
247
160
161
219
104
143
243
230
189
200
170
212
159
234
84
160
151
177
73
106
185
83
151
114
132
210
235
100
151
176
210
131
120
202
71
82
156
214
213
249
118
89
149
147
129
86
137
117
120
107
230
188
206
233
110
231
108
208
186
133
197
135
171
92
108
97
85
145
95
212
156
249
243
124
196
75
121
193
147
152
157
202
173
205
102
136
232
154
222
225
202
206
141
182
204
129
165
234
185
213
84
135
154
171
81
232
236
94
92
144
143
208
201
175
229
209
201
83
141
199
111
240
133
93
107
91
203
76
185
190
153
82
190
240
180
219
105
206
110
119
229
80
157
111
175
112
197
92
165
77
177
237
89
180
151
86
101
75
245
202
222
196
133
72
199
94
109
231
85
209
143
202
187
152
240
81
118
225
114
227
159
243
241
208
138
195
136
74
131
248
177
151
164
131
178
186
197
76
92
120
159
185
80
70
119
161
196
199
77
161
134
81
211
199
178
190
231
72
109
238
196
195
130
208
153
133
92
105
116
139
137
249
130
220
209
176
73
170
215
119
229
248
75
180
85
129
221
101
84
135
75
243
86
186
133
168
92
193
73
209
162
127
156
240
215
100
192
173
238
100
213
249
140
151
199
71
227
117
74
122
179
154
198
106
171
80
239
145
83
154
170
193
192
164
76
107
202
218
126
143
241
160
86
102
199
114
192
120
77
248
234
125
236
190
126
119
141
128
217
202
182
109
156
240
118
200
171
79
118
231
238
182
197
146
126
205
181
230
231
168
131
215
72
111
223
133
231
144
122
167
171
205
193
95
145
134
82
90
146
154
98
74
85
155
152
149
142
233
161
221
200
209
147
156
90
221
116
174
94
114
182
202
78
73
125
211
200
242
186
179
160
187
90
155
90
148
83
112
169
157
198
216
145
156
101
107
160
241
162
171
70
187
86
192
230
124
160
74
127
70
129
240
230
76
77
250
94
216
82
70
170
177
103
244
81
229
129
217
250
224
230
111
100
100
140
100
86
106
187
138
145
84
184
164
89
71
127
118
169
133
218
167
248
117
164
151
198
128
213
202
111
226
239
154
153
97
241
114
209
138
86
136
121
94
155
201
230
163
225
131
234
178
137
166
216
147
81
182
139
96
98
86
108
249
247
87
121
128
106
158
118
227
147
216
186
224
199
245
146
94
221
215
108
193
199
84
102
114
125
209
234
71
186
136
70
168
157
144
82
218
85
169
233
225
154
142
97
131
168
150
216
165
169
93
224
170
107
147
204
227
209
201
160
210
128
89
250
77
200
135
212
225
127
194
152
97
171
231
200
216
75
113
162
156
218
157
119
206
223
250
152
89
127
189
175
214
209
104
231
128
225
178
218
219
135
157
150
154
154
213
108
108
79
186
74
208
116
203
84
94
92
168
96
90
101
110
213
85
146
79
170
115
189
197
215
165
162
85
207
191
240
120
226
119
231
166
121
96
110
81
171
82
147
87
128
226
198
242
241
219
188
77
179
72
100
131
202
211
129
157
194
246
115
244
81
227
127
132
223
77
79
117
117
187
127
228
85
116
241
106
89
172
160
199
79
151
194
96
198
148
245
128
127
168
139
124
166
144
83
152
125
150
104
132
76
242
170
111
202
245
139
116
233
137
236
156
176
159
141
98
238
80
168
98
166
203
106
100
73
217
104
207
86
171
139
157
223
107
129
200
122
154
228
129
152
209
173
214
129
72
154
189
184
147
99
121
182
171
202
101
190
219
76
139
177
101
240
72
122
222
197
218
188
151
74
167
225
177
177
212
217
107
83
213
123
214
141
104
78
82
214
232
138
98
158
101
207
93
234
179
221
196
188
249
217
83
191
74
118
149
198
202
115
72
213
216
225
74
143
204
158
230
222
71
106
207
191
216
186
169
95
209
185
126
203
169
217
203
204
155
176
250
180
120
80
230
122
152
203
211
139
218
184
246
229
148
154
188
234
235
169
141
71
157
138
131
213
116
192
151
140
111
122
223
104
239
167
206
189
87
152
102
166
83
127
150
108
235
250
215
167
212
138
222
98
77
123
205
87
93
133
89
234
207
138
126
77
133
247
209
140
216
154
141
172
220
166
181
244
77
190
97
233
107
107
74
99
244
71
135
88
216
116
203
96
238
86
167
214
144
120
243
226
229
150
137
243
107
106
75
77
77
177
123
163
129
166
207
203
180
70
198
180
185
121
188
170
142
165
163
72
188
106
190
195
217
204
204
143
91
203
136
175
169
197
159
139
118
152
249
97
165
111
81
165
218
118
74
196
244
97
225
141
142
224
180
173
237
102
205
101
160
144
220
170
87
212
170
120
120
203
170
224
179
179
183
249
120
178
159
236
168
199
123
222
232
242
137
118
230
239
120
144
112
140
84
189
218
245
115
188
183
127
109
120
199
156
170
116
199
221
160
238
144
109
98
140
117
148
80
134
250
218
208
118
147
207
115
233
96
70
87
169
176
221
189
123
112
174
209
119
86
125
102
175
189
82
206
246
219
191
173
176
98
106
94
227
91
152
135
99
121
176
85
218
96
108
212
145
197
217
231
97
198
102
153
204
212
166
227
154
248
77
124
185
131
126
190
231
233
247
130
144
193
196
227
250
233
158
234
121
177
79
129
103
117
127
229
204
214
114
211
235
89
188
155
244
126
71
177
192
138
206
85
190
184
213
188
114
79
228
138
132
150
96
162
202
113
92
92
207
150
72
79
151
203
90
147
245
128
110
163
159
78
190
108
232
139
191
126
121
192
139
175
88
187
211
207
103
169
208
187
96
180
172
213
86
197
160
107
141
103
179
88
199
108
242
211
121
119
244
135
181
164
76
161
171
113
149
223
137
227
217
157
129
87
222
209
106
192
197
145
216
140
168
125
83
85
133
138
110
241
145
187
239
91
97
112
187
117
237
204
198
95
87
159
205
136
91
152
183
236
87
174
242
100
107
73
93
142
209
191
178
97
100
93
141
226
203
239
221
81
137
225
221
157
74
198
197
248
93
117
103
197
187
83
143
218
184
181
159
217
153
192
129
239
105
110
147
174
185
179
132
80
249
103
172
198
201
105
172
150
168
141
145
192
195
187
195
178
115
155
144
97
120
110
197
215
244
186
232
142
168
170
141
162
226
217
146
226
197
225
88
120
144
175
212
82
92
154
233
130
221
88
198
150
74
166
113
226
90
185
197
106
183
185
191
83
136
135
160
173
226
106
222
210
87
226
75
74
173
72
122
185
200
119
118
201
149
99
232
229
201
223
85
188
74
85
101
73
197
204
122
91
184
71
211
117
83
195
74
218
179
84
161
138
93
175
198
220
186
105
237
163
102
213
220
85
250
177
83
111
112
101
228
200
119
213
188
113
187
200
213
147
180
125
234
189
135
128
176
84
174
180
159
188
74
245
171
172
73
189
105
102
79
156
176
82
245
108
134
87
87
202
74
108
99
160
205
94
172
154
234
84
217
181
120
173
108
204
92
215
87
156
144
86
172
207
192
245
250
82
187
228
237
167
93
180
82
210
119
139
185
99
74
99
80
215
212
235
237
160
220
184
178
218
89
159
154
75
217
80
93
246
135
118
117
191
81
236
82
140
79
137
109
188
78
83
249
239
206
106
199
175
215
172
101
205
83
138
132
108
133
105
220
130
160
144
124
107
153
94
214
122
159
109
182
237
215
135
86
123
193
89
239
145
170
181
87
218
120
250
168
117
157
118
153
122
100
182
234
188
237
96
234
150
152
77
82
222
186
238
72
99
73
162
112
140
225
162
236
153
159
149
245
83
146
91
212
175
173
144
116
133
90
235
71
166
159
160
223
163
223
192
140
85
200
226
118
93
250
234
116
229
109
229
120
181
248
74
91
145
189
71
97
135
167
159
80
250
220
146
170
186
223
170
102
166
98
154
243
150
184
85
189
239
145
162
109
232
214
214
128
163
211
137
132
185
184
149
74
239
211
86
231
91
173
93
123
72
87
114
235
118
71
227
129
127
118
210
179
232
112
229
120
199
209
162
245
225
243
80
126
217
83
144
110
179
246
239
120
83
85
209
84
74
204
166
126
77
206
181
173
106
110
160
174
85
95
117
199
220
134
250
115
206
205
226
232
137
90
139
171
85
134
115
153
150
119
248
110
233
217
168
98
214
126
237
104
211
86
78
216
221
98
235
113
228
168
241
168
77
165
77
240
170
179
136
142
114
173
75
194
240
115
238
133
182
207
243
214
153
193
108
235
187
70
195
88
221
235
72
167
98
138
153
248
120
128
165
206
123
177
177
218
218
211
74
209
164
102
234
244
204
174
99
95
135
139
232
180
160
108
188
137
217
204
203
246
128
223
245
129
93
128
245
118
249
134
130
191
250
76
173
224
141
211
243
244
119
247
123
195
198
194
169
205
108
91
227
250
71
229
147
222
70
95
92
201
212
163
138
183
141
104
194
104
226
227
220
239
193
116
147
146
152
118
222
125
78
113
166
194
199
229
192
104
201
203
133
177
230
87
232
243
86
188
240
156
109
243
114
129
188
190
88
208
130
226
150
125
236
81
227
114
186
96
216
120
77
226
171
173
198
181
197
191
235
94
236
214
86
223
194
198
112
99
84
77
77
148
162
199
248
208
191
143
136
176
70
116
230
100
106
158
147
185
196
230
180
150
215
134
83
205
153
171
108
184
106
217
231
225
189
81
126
243
91
181
126
108
132
240
81
215
92
199
110
71
169
205
174
90
179
197
208
203
172
149
217
191
86
192
204
229
91
114
156
168
190
234
115
122
165
227
111
191
222
171
96
217
134
153
110
178
187
124
110
147
127
213
193
164
220
199
179
219
167
83
187
206
109
98
170
108
183
169
191
174
134
164
133
245
133
186
155
244
122
232
165
98
214
126
195
152
170
148
249
130
200
96
202
77
181
123
128
100
121
230
70
81
107
227
233
126
185
137
117
235
77
76
134
95
202
169
234
77
132
198
171
100
132
93
148
80
215
181
168
88
104
124
116
95
157
201
132
99
84
194
86
159
137
73
219
201
176
114
96
77
70
230
131
179
76
128
239
127
249
125
142
212
81
240
238
190
147
241
73
77
162
109
127
71
174
167
132
86
119
222
226
203
190
70
83
111
128
207
181
231
92
126
223
250
226
151
167
97
221
73
223
198
180
215
105
231
94
87
242
129
196
176
135
99
79
191
137
91
163
138
113
243
125
79
206
213
191
81
138
195
189
212
102
75
197
187
144
143
122
197
186
221
123
235
151
73
199
137
124
221
170
116
185
78
139
236
154
165
243
115
241
196
154
86
95
142
244
136
101
213
216
138
216
215
225
236
84
248
221
130
137
108
120
138
190
82
72
78
70
133
245
217
105
109
173
203
103
197
242
140
148
140
152
136
244
177
185
170
247
210
92
117
164
94
236
87
113
183
208
134
140
229
99
178
92
250
231
158
116
231
242
102
107
113
219
117
218
203
226
108
195
112
165
219
229
106
216
173
225
174
245
236
153
89
212
93
144
118
188
77
79
112
206
149
107
228
197
192
95
230
164
160
112
213
78
73
183
207
250
132
163
138
213
172
95
100
111
119
150
171
122
157
250
118
216
159
78
101
240
240
206
185
195
103
243
242
114
216
246
145
159
241
204
78
71
170
169
70
211
99
201
82
166
188
190
137
225
191
151
75
186
152
223
103
145
177
80
225
91
205
154
100
201
250
235
218
214
107
237
170
149
73
125
139
154
165
78
187
137
103
134
165
185
195
94
80
112
184
88
98
173
115
118
141
238
224
70
77
234
182
94
79
179
225
137
239
179
242
92
132
228
164
80
239
167
115
100
97
206
114
136
168
139
216
196
115
153
151
153
174
235
120
117
214
163
194
209
150
192
161
91
91
178
175
250
230
108
247
87
197
228
212
103
183
84
100
240
230
159
175
141
116
231
229
84
174
160
182
235
105
168
122
151
240
72
143
195
74
148
162
132
83
165
188
118
190
180
153
149
98
218
144
175
232
217
246
216
223
93
132
230
202
241
144
77
228
230
236
242
100
148
206
175
235
111
121
202
245
112
96
221
177
192
143
203
110
79
250
131
160
91
93
149
114
192
242
149
214
127
173
158
194
230
127
135
151
214
236
238
117
139
243
101
170
136
84
163
112
155
78
129
154
128
205
238
70
185
214
195
153
85
116
133
104
245
133
78
158
198
179
185
71
72
135
108
139
72
123
114
176
93
81
120
151
166
194
83
81
125
74
152
187
184
248
112
122
147
227
204
87
80
212
165
107
201
180
194
203
135
165
226
145
92
87
212
157
172
104
120
217
137
197
249
212
220
136
212
204
215
86
234
85
147
97
201
102
178
99
166
88
161
108
213
84
236
215
244
224
217
236
112
83
200
94
161
245
130
135
228
236
86
242
82
233
120
110
109
141
179
195
163
191
154
142
147
176
140
225
80
156
142
120
95
221
85
163
141
155
112
147
155
144
221
164
228
129
135
192
203
203
208
171
214
125
87
100
81
103
178
123
240
203
93
190
101
113
228
227
150
184
227
93
91
158
71
93
133
222
211
222
228
135
242
137
230
113
173
195
228
70
121
146
201
174
86
237
124
245
180
233
95
111
213
146
180
201
170
238
186
103
107
247
183
200
217
236
149
175
185
202
81
72
129
193
235
161
95
81
132
174
177
136
198
108
173
209
217
164
217
75
150
152
160
207
153
83
182
218
183
86
244
98
111
231
207
155
155
233
185
157
204
150
204
81
109
136
187
217
131
105
72
226
179
249
204
73
245
189
242
114
215
164
74
131
76
90
92
152
171
250
216
210
194
133
160
110
112
113
235
121
101
145
202
188
84
158
160
133
206
107
105
119
86
108
147
118
149
118
230
133
138
182
99
160
123
119
244
136
194
241
83
184
151
88
98
236
122
237
145
74
239
241
153
97
226
92
188
152
178
156
150
223
148
191
201
89
112
91
164
242
240
192
183
72
205
206
91
98
238
193
238
104
194
205
96
166
117
236
157
249
101
122
181
209
142
88
90
235
196
210
199
146
208
79
110
106
153
104
241
162
118
241
145
113
227
87
104
213
85
198
197
211
168
220
100
208
129
221
85
88
114
155
166
114
167
78
121
218
211
80
185
190
203
219
72
81
109
87
236
127
124
110
225
236
238
107
138
122
202
232
72
120
204
118
133
166
107
182
236
227
93
101
164
161
196
214
171
147
79
229
160
202
94
74
207
190
104
122
250
75
95
247
155
161
164
134
78
242
86
245
166
236
121
133
211
142
122
87
88
220
234
241
189
202
91
184
76
116
196
231
144
215
239
248
202
97
191
249
194
95
74
197
144
106
185
147
213
167
110
162
84
194
180
182
221
160
187
195
245
204
148
129
126
137
249
128
77
158
69
43
31
27
51
73
36
22
47
23
20
42
33
38
21
27
25
62
56
80
37
52
65
77
30
21
34
78
50
58
62
26
69
72
28
39
37
65
53
57
51
42
26
48
33
75
25
54
38
49
57
46
68
35
23
32
59
79
72
55
61
66
39
69
71
42
79
40
37
75
55
46
66
63
59
44
20
60
26
62
29
42
56
65
57
31
43
60
37
26
76
75
68
77
46
48
43
58
22
66
25
23
38
79
74
74
53
43
52
22
29
59
72
40
72
78
39
31
25
53
58
32
22
36
70
31
77
46
62
39
60
73
34
40
59
76
63
31
20
40
27
29
26
77
42
27
34
29
64
52
43
68
27
35
72
58
50
49
31
38
39
43
65
43
43
66
37
20
41
45
51
33
68
63
48
49
38
62
35
23
35
23
43
66
62
76
60
66
50
30
56
56
60
43
23
65
67
75
59
59
52
69
36
78
22
20
24
47
70
75
31
45
49
22
71
78
46
58
52
53
74
45
52
39
24
33
70
76
38
43
20
48
34
76
35
59
52
33
46
43
22
44
77
48
50
75
75
39
54
30
24
63
63
76
48
52
36
35
64
27
39
29
47
30
65
66
73
36
31
72
79
20
56
42
75
80
49
23
45
52
37
22
25
31
51
75
57
21
24
62
37
69
37
78
74
60
75
79
68
42
56
37
20
40
76
61
69
65
66
58
54
60
77
80
49
55
78
27
44
77
52
33
70
56
54
68
43
51
33
73
53
70
51
68
53
57
49
43
26
77
61
31
20
27
79
63
34
22
48
39
69
32
42
31
54
65
36
71
20
55
31
72
63
41
47
45
77
41
58
57
22
79
43
35
79
63
47
46
73
60
30
57
60
51
69
66
50
26
66
27
45
73
71
58
21
68
77
36
23
38
60
54
56
76
58
76
36
26
31
60
49
35
43
36
23
55
63
69
32
76
54
32
65
66
25
67
62
43
52
77
56
48
41
30
46
75
61
42
49
57
42
24
57
34
59
54
56
23
27
65
59
31
65
59
26
53
57
21
22
25
32
30
24
34
55
61
68
57
72
31
28
20
73
44
67
39
71
74
38
24
24
71
69
50
76
69
66
73
38
78
24
45
35
52
40
31
70
72
27
75
65
24
74
58
39
34
50
37
66
80
43
78
75
80
37
71
47
22
56
73
45
56
39
50
78
56
40
44
39
37
69
63
37
67
68
25
45
38
23
29
40
52
69
66
67
51
66
59
45
51
46
35
24
22
69
71
69
23
32
38
36
44
63
72
79
62
52
62
26
45
27
73
24
67
55
33
49
48
47
70
73
26
51
76
75
35
40
79
67
26
56
68
60
25
65
38
44
80
70
63
45
56
64
44
54
41
74
25
79
40
38
30
53
30
78
50
54
79
62
27
77
24
39
44
40
52
25
26
70
62
68
36
50
43
26
75
32
47
20
30
63
71
42
54
45
55
31
49
47
43
32
54
33
40
33
26
46
55
66
79
67
20
38
23
74
37
28
61
47
78
80
58
74
29
76
62
24
24
58
38
64
48
46
77
50
20
57
65
23
76
54
50
79
33
45
20
66
71
50
36
69
27
28
33
47
57
50
46
31
32
37
79
21
57
70
61
70
44
44
70
53
41
49
21
49
66
77
37
33
40
39
77
52
76
43
46
30
45
69
20
24
63
31
62
63
24
75
70
67
36
34
67
68
54
52
29
55
32
77
52
72
36
69
61
34
30
28
63
38
72
63
53
22
48
35
23
74
74
42
33
38
45
46
80
38
75
80
65
27
21
31
43
31
71
31
50
75
47
45
71
31
80
23
45
73
45
74
21
67
43
34
33
59
48
38
77
27
76
73
65
35
63
78
32
57
66
55
23
73
41
33
72
75
32
35
29
21
56
74
68
72
36
56
62
42
73
78
39
56
68
35
53
56
38
47
36
73
69
45
64
51
73
29
64
46
59
23
24
32
20
76
37
57
32
21
39
73
72
31
29
79
42
49
23
26
35
58
66
28
71
44
26
55
35
51
30
76
52
80
44
50
47
61
40
66
24
49
42
77
31
54
75
21
45
31
29
26
28
76
57
70
51
53
68
36
48
51
41
60
79
72
31
72
45
50
76
34
68
38
78
55
36
40
64
34
32
50
35
27
27
74
26
77
34
43
61
24
51
63
64
26
24
32
66
35
49
51
72
60
54
36
48
23
30
63
44
26
38
77
77
70
68
27
26
77
37
23
46
38
59
79
61
46
51
46
63
80
47
33
40
49
77
78
52
35
51
54
68
26
23
32
61
73
47
80
25
36
67
35
54
44
52
61
50
43
28
28
67
80
53
74
38
54
29
32
32
23
54
39
60
58
70
24
73
74
60
57
25
58
74
40
67
75
24
76
21
39
20
28
27
72
38
34
53
61
41
60
70
39
52
79
32
62
25
80
73
21
64
63
32
44
23
68
63
33
33
36
55
77
22
55
44
39
69
65
48
41
23
60
80
51
34
69
76
56
49
70
27
25
78
51
75
50
37
57
20
24
67
80
54
30
45
70
38
20
44
51
64
39
52
30
20
33
60
21
20
37
41
33
47
22
79
72
34
67
48
78
79
51
75
77
56
38
76
43
73
26
71
59
54
60
51
70
57
39
20
69
49
61
55
31
64
79
22
28
53
75
76
29
37
32
29
52
20
55
20
53
46
80
71
30
79
56
47
39
47
72
64
59
41
73
67
42
33
60
29
48
32
43
68
45
46
56
40
39
76
42
68
34
21
58
32
52
44
67
53
66
40
62
74
22
73
29
56
40
43
49
32
59
74
41
58
32
38
63
29
34
77
30
63
48
59
58
36
51
58
28
30
42
55
65
53
37
70
59
66
71
73
67
29
45
73
74
31
45
33
76
35
23
24
49
29
80
23
22
66
78
78
48
79
30
78
36
60
74
56
41
71
59
33
73
75
60
56
20
73
23
40
73
38
31
51
64
73
53
28
64
38
56
40
54
47
79
74
47
67
69
50
45
25
20
34
53
47
54
61
27
70
52
54
27
48
48
64
57
27
49
20
29
30
73
46
80
35
48
31
26
37
51
26
59
65
23
29
56
56
72
23
41
54
74
58
31
75
64
78
71
68
61
59
44
48
20
29
35
64
47
66
63
49
71
40
73
53
26
20
53
23
35
37
22
20
46
68
68
52
31
49
32
27
78
42
26
26
68
24
69
56
44
46
64
43
49
67
71
59
25
26
30
21
58
43
46
44
29
57
42
80
49
32
76
52
27
58
53
55
61
55
67
50
71
41
77
23
52
20
45
67
43
71
80
28
53
53
36
52
62
51
58
66
66
65
51
74
71
62
38
78
60
76
64
66
40
42
30
64
59
69
29
76
38
36
74
78
58
51
62
60
31
39
63
55
28
33
70
33
63
68
42
58
53
70
61
32
31
47
36
64
74
47
33
75
63
29
53
74
75
79
25
79
56
44
23
72
51
36
48
37
22
28
69
78
76
72
41
21
65
63
26
67
67
22
58
73
38
21
78
50
50
24
29
55
59
34
23
54
55
70
67
24
50
32
73
32
43
68
27
65
49
54
26
49
54
63
78
49
79
39
64
36
23
62
80
28
64
40
44
22
26
37
72
29
75
80
51
72
51
42
51
28
50
56
59
77
64
24
32
78
25
59
75
76
41
44
37
23
25
34
30
29
57
23
33
61
59
66
39
47
47
33
45
47
25
49
24
55
28
45
25
79
58
41
71
73
75
22
58
27
22
44
56
54
36
79
44
36
43
46
40
80
69
35
61
40
47
55
61
39
71
21
76
45
29
80
20
66
55
48
25
21
48
26
60
45
25
70
52
71
32
50
64
48
35
72
63
43
56
51
70
54
78
55
44
70
20
27
25
54
46
47
44
78
42
78
38
72
45
58
64
30
25
74
50
24
57
76
31
23
51
72
60
75
24
52
27
63
73
23
55
77
36
23
80
39
67
49
47
23
59
41
80
27
25
80
33
21
45
52
61
43
35
27
64
54
50
35
37
71
20
79
66
46
48
20
43
54
44
50
57
31
44
24
51
80
46
69
65
37
35
60
69
29
50
39
75
40
50
58
65
27
48
76
38
59
76
51
28
76
34
54
50
73
71
70
48
48
61
44
67
40
33
30
23
56
74
77
59
49
20
34
48
43
35
27
38
40
62
39
71
45
35
75
28
56
30
66
60
47
53
23
54
77
44
21
80
60
21
78
38
25
47
68
40
24
48
37
61
47
22
76
22
66
40
69
54
42
71
73
34
68
79
30
44
59
53
23
39
28
29
59
76
39
20
52
30
61
79
32
36
25
39
29
42
51
49
33
68
59
49
41
25
59
62
63
44
57
42
44
45
71
44
52
67
31
23
58
48
75
59
38
31
47
73
75
73
26
74
74
69
45
57
32
21
67
28
28
69
69
45
73
45
68
64
72
71
29
80
47
70
75
75
51
66
62
34
38
33
23
56
71
76
46
44
63
28
76
76
43
73
69
57
79
26
75
57
32
71
46
31
24
60
22
56
26
76
75
72
71
33
37
72
33
40
65
60
21
51
36
51
76
74
23
79
70
27
74
46
77
72
64
59
65
33
63
46
65
28
63
52
30
44
44
26
48
71
35
39
53
41
66
54
23
26
35
37
51
27
38
27
43
26
29
33
26
76
70
58
62
61
77
39
59
47
26
60
78
23
59
26
62
46
29
43
35
21
56
80
63
24
60
34
26
77
38
77
69
36
32
39
27
51
51
64
60
32
62
22
28
36
54
42
38
69
68
24
51
70
38
68
46
63
41
67
79
79
46
74
70
59
65
26
51
52
69
20
73
38
53
76
57
34
52
46
35
28
59
73
38
68
45
68
27
22
31
61
21
60
26
25
78
28
46
76
33
46
48
38
67
31
71
78
30
60
63
28
76
76
46
32
78
60
38
25
33
74
40
68
46
74
63
76
33
79
30
60
36
75
57
78
55
34
31
70
69
35
47
58
77
62
39
60
75
34
55
73
47
68
78
65
24
69
47
57
40
80
45
76
24
44
48
74
47
63
40
50
43
61
22
46
59
71
74
22
51
41
32
43
77
55
43
53
27
30
31
31
32
73
59
44
49
39
66
69
54
32
80
64
33
26
69
78
66
46
43
23
34
51
41
69
26
53
67
40
63
45
22
52
43
33
56
45
74
61
76
70
29
72
72
42
68
58
41
20
69
24
28
32
80
20
58
47
45
36
49
51
26
46
47
22
50
53
50
27
45
38
49
60
21
75
52
52
26
36
77
78
21
23
55
47
58
39
52
64
52
73
80
80
21
32
26
31
69
22
74
75
40
49
36
38
74
27
43
78
79
68
26
78
60
25
52
68
38
33
59
40
59
30
36
39
62
24
54
58
59
39
41
51
50
27
51
46
68
51
75
53
37
34
53
45
75
32
56
61
42
32
31
43
40
20
67
49
79
65
59
51
75
66
29
27
27
30
23
22
59
28
67
31
70
22
80
72
30
80
79
55
24
52
72
56
35
66
31
38
32
74
27
34
62
27
57
38
39
74
42
72
32
76
24
53
64
32
53
31
22
45
69
34
62
45
40
56
49
67
41
55
73
74
60
80
55
48
37
27
36
37
51
35
36
54
62
34
67
73
21
79
65
66
56
20
38
39
25
24
64
20
30
68
45
60
25
47
44
49
77
62
22
26
29
59
30
56
56
70
50
65
49
32
76
74
74
69
42
76
64
34
38
76
72
53
63
77
48
69
62
34
51
33
74
48
46
47
32
63
43
49
53
36
27
36
27
32
61
44
70
44
55
25
72
22
71
64
49
53
68
67
23
79
68
37
46
66
69
55
77
66
72
33
44
53
31
46
62
45
51
43
69
43
29
69
59
29
25
20
56
24
58
57
78
66
63
74
33
21
75
48
32
39
49
77
48
69
33
80
31
34
57
76
79
79
51
32
80
27
33
61
38
65
24
49
37
20
73
51
33
20
80
61
52
24
31
78
63
76
42
59
42
79
64
65
55
24
52
37
22
38
24
39
32
46
59
20
56
61
51
68
52
51
27
21
21
46
77
45
37
37
77
39
56
66
57
68
28
20
39
51
57
45
70
68
38
78
75
44
27
51
63
59
29
33
35
32
32
28
71
23
28
60
33
63
68
74
75
71
58
76
31
65
60
41
68
48
76
59
58
39
76
27
64
65
26
31
29
80
39
22
57
21
42
69
47
21
73
70
72
29
40
42
34
43
46
26
55
54
27
23
67
67
76
64
23
40
40
55
70
20
68
80
78
79
42
51
76
21
66
36
25
76
60
53
76
39
58
69
80
52
59
78
22
62
21
20
49
57
26
78
72
73
25
71
39
27
40
63
44
36
72
60
21
53
73
26
55
52
22
79
59
68
29
46
35
22
29
59
51
43
37
33
79
37
53
51
21
71
80
21
50
72
76
31
77
26
41
22
28
63
20
56
62
53
64
54
45
29
53
64
46
42
69
56
38
21
67
26
48
74
62
43
61
28
66
70
46
52
61
59
35
24
74
59
51
59
27
67
40
57
52
24
79
47
42
65
64
28
31
33
40
44
29
20
80
21
24
30
78
56
78
34
21
26
75
42
78
72
69
75
23
69
30
38
34
75
29
60
22
29
63
40
80
43
34
38
35
48
75
29
69
28
37
28
21
46
25
22
73
28
23
40
23
61
67
76
24
62
64
50
33
38
70
39
60
28
46
48
49
26
73
44
48
80
36
42
71
64
58
45
53
26
68
25
76
61
56
27
48
35
22
70
49
59
78
79
23
21
49
72
34
43
51
77
34
66
77
48
27
44
43
62
49
57
49
63
74
30
56
43
63
57
62
21
44
53
20
65
68
28
50
80
46
77
39
25
22
62
39
38
73
71
71
30
68
56
56
69
22
77
70
27
37
31
21
64
76
74
26
46
24
55
46
37
36
30
43
75
72
43
59
63
44
27
73
41
37
24
44
33
31
33
49
25
63
62
70
31
40
54
60
32
26
39
80
58
41
25
39
66
32
38
39
38
65
35
48
74
76
29
33
26
49
68
33
49
32
56
57
46
29
63
74
47
30
68
69
57
76
60
78
49
22
47
39
28
26
21
78
77
28
50
69
56
58
43
80
37
23
23
45
70
23
40
30
21
29
33
29
44
42
34
31
59
20
64
45
37
44
35
28
32
32
55
48
39
78
64
68
73
69
27
62
24
50
63
80
35
49
41
72
51
20
38
69
52
79
36
69
61
65
73
28
47
77
50
39
43
77
30
34
29
55
42
34
70
63
79
25
45
24
36
68
28
76
57
40
77
69
69
56
50
55
29
79
75
31
53
22
53
60
45
39
80
60
33
27
45
32
57
69
79
44
45
56
41
78
48
64
70
63
68
79
78
27
68
79
76
44
43
72
55
75
73
25
71
43
36
29
62
51
28
56
31
47
56
68
76
30
47
51
26
55
46
47
65
55
37
77
47
62
77
29
69
69
73
49
80
65
32
27
56
61
62
24
63
77
54
52
76
31
42
37
65
77
74
63
61
35
29
71
24
32
74
38
22
42
52
78
71
51
39
28
67
74
71
20
25
51
36
30
22
71
42
71
35
77
23
24
29
65
44
64
59
43
73
68
51
54
49
31
80
58
29
55
46
72
25
67
77
25
54
21
55
33
59
72
59
80
41
38
60
23
62
77
51
59
37
21
38
33
54
74
22
26
57
52
63
38
74
25
50
25
23
54
37
52
78
73
52
46
66
65
39
45
74
33
36
54
76
31
55
50
22
54
45
69
67
71
48
38
33
63
65
22
24
78
71
48
26
26
64
57
27
24
37
50
44
72
39
72
21
64
62
32
59
33
79
33
56
27
58
56
62
71
58
70
63
34
21
57
76
48
30
43
80
77
29
33
76
26
67
58
33
26
71
61
63
30
51
68
54
71
25
69
25
41
27
54
44
28
62
26
39
31
33
74
24
72
51
48
57
68
29
51
78
73
42
35
56
70
20
34
48
57
65
62
60
58
50
80
73
55
49
50
73
25
33
45
52
25
25
23
74
48
62
25
62
44
31
76
42
41
66
56
56
65
52
38
68
44
77
38
45
78
29
66
45
31
45
80
49
69
41
51
75
32
20
21
71
51
42
20
78
62
54
37
45
52
47
76
25
21
76
72
25
37
64
55
44
65
46
25
24
43
61
55
45
51
58
75
25
29
23
21
38
25
46
63
59
36
34
43
55
71
66
25
29
53
46
60
60
29
68
43
67
60
68
79
28
65
29
34
59
64
56
27
27
31
38
71
66
62
70
68
50
79
47
47
69
55
30
52
65
80
80
50
43
55
80
74
68
26
58
50
31
49
59
22
56
53
67
59
76
37
60
52
60
38
49
34
68
74
67
29
32
66
75
38
78
62
43
63
52
80
20
48
28
55
78
23
69
62
41
32
30
28
78
34
50
58
58
75
55
53
31
26
32
20
50
26
69
78
33
32
29
43
74
32
80
44
27
40
76
72
69
73
38
30
50
48
35
29
28
80
31
65
36
66
62
29
70
72
36
71
25
28
46
54
21
50
79
38
42
33
29
69
42
78
75
58
42
50
30
44
61
39
68
45
79
57
51
63
51
77
48
80
21
51
57
36
40
28
71
60
78
20
66
63
48
47
21
43
71
30
20
77
61
49
72
55
73
77
22
67
61
75
67
67
70
23
58
65
54
49
52
47
60
58
39
77
76
54
21
56
28
38
79
74
62
77
20
63
20
56
29
59
65
69
63
40
28
32
65
42
49
62
52
76
40
75
41
24
38
73
20
59
35
55
45
40
61
54
53
70
45
21
24
34
37
74
22
28
51
53
79
45
68
63
68
27
72
41
43
55
56
60
57
57
56
66
22
23
58
26
62
61
66
40
26
42
53
39
41
49
58
69
54
32
60
45
50
34
34
26
74
69
57
59
38
63
65
47
39
60
33
62
41
57
36
72
30
64
68
57
42
36
40
24
66
20
55
74
35
72
25
78
24
73
31
75
76
33
35
45
26
72
44
50
57
43
57
54
78
80
76
79
24
64
62
54
25
27
29
55
80
34
79
67
43
49
39
40
60
61
29
20
77
75
44
48
22
22
50
76
80
51
26
41
76
57
23
20
41
34
43
67
72
30
50
76
69
75
74
25
60
52
61
44
70
56
55
80
41
31
23
73
52
64
38
50
66
79
75
27
27
67
43
79
32
76
29
73
80
72
76
76
73
49
74
76
55
31
47
68
29
77
58
76
29
77
55
51
73
60
27
78
54
79
79
38
71
34
60
36
28
40
57
20
30
31
41
40
62
63
73
72
74
67
69
56
31
54
40
61
70
50
65
30
22
65
68
42
42
61
44
71
62
62
44
20
38
33
46
72
68
61
29
45
64
34
61
73
74
77
43
60
33
23
79
41
32
37
64
47
63
47
28
69
74
49
76
58
65
64
39
42
46
70
57
70
29
61
29
23
46
57
65
70
47
71
24
32
53
33
44
55
79
69
27
34
68
43
42
29
44
71
23
48
72
33
70
76
20
54
74
60
66
34
48
33
36
58
35
55
51
80
78
28
22
35
20
73
60
29
53
69
53
52
45
44
66
60
36
24
42
32
74
53
24
71
30
51
34
65
61
74
38
49
53
67
73
78
43
65
52
58
61
75
23
39
31
22
22
30
76
45
28
58
74
35
38
60
60
56
38
56
21
66
72
69
40
34
53
56
45
51
80
60
36
67
34
45
67
68
69
28
24
38
75
28
58
53
23
50
77
27
22
54
58
33
73
56
35
48
55
52
62
48
53
23
61
47
25
50
45
41
29
22
20
51
30
80
47
29
68
53
62
67
21
48
22
60
74
23
38
51
61
56
29
33
70
57
48
53
70
43
75
61
27
34
32
78
49
56
79
57
41
67
78
52
71
64
76
58
33
24
37
73
27
72
57
27
55
23
75
41
68
22
58
45
59
38
32
76
61
33
46
54
64
66
41
49
42
40
69
59
40
58
43
50
75
34
27
32
51
24
78
45
27
38
41
70
63
27
70
20
69
59
57
66
20
29
43
63
60
21
67
24
62
41
38
24
50
21
70
37
71
34
41
38
39
38
24
38
35
80
42
49
53
69
57
79
71
44
44
69
75
60
30
60
39
57
64
50
36
29
75
23
54
26
48
60
65
59
69
73
39
80
79
36
33
34
46
35
20
38
61
46
33
66
38
44
54
53
75
31
58
65
64
53
67
38
80
77
26
58
51
69
31
64
38
62
65
40
77
35
42
63
77
38
51
66
24
74
79
53
33
49
56
75
43
73
50
35
55
66
57
27
59
23
51
31
62
40
22
67
77
21
27
29
31
58
79
38
61
31
80
75
78
45
56
28
40
74
45
51
31
49
49
71
34
51
56
24
28
80
31
39
73
42
30
57
23
57
73
50
33
80
70
71
32
26
27
20
29
36
49
65
38
30
72
52
30
52
56
21
75
64
29
26
25
44
23
78
30
49
68
39
27
39
47
57
53
56
66
79
73
61
28
60
33
61
80
54
40
28
69
57
52
21
41
39
77
30
77
74
40
61
35
53
79
61
44
22
51
49
52
34
28
35
48
28
71
48
32
35
78
33
20
21
55
70
61
25
62
54
28
42
49
51
74
29
71
61
71
31
35
74
78
26
75
26
20
40
55
34
75
73
54
68
74
49
74
74
37
77
27
38
46
57
55
30
69
48
71
78
53
41
34
38
69
56
27
31
55
61
22
39
30
31
35
21
39
56
60
23
30
55
51
41
49
45
49
62
57
21
70
67
77
39
26
53
54
66
69
32
56
21
54
21
61
57
63
42
73
31
64
58
26
78
25
31
56
35
34
72
51
69
51
66
31
69
60
63
39
64
38
77
42
60
54
56
35
31
43
53
39
35
80
74
52
77
45
58
60
60
67
65
42
53
32
49
42
34
76
52
67
25
66
40
30
48
62
39
51
20
47
56
30
35
66
46
80
23
80
53
59
34
20
26
45
25
30
21
52
67
28
34
41
59
66
52
27
78
23
27
28
30
79
54
30
51
52
20
31
80
49
22
77
26
26
75
35
74
75
48
26
54
37
28
54
44
44
25
60
51
24
21
53
71
63
58
76
28
45
80
68
30
49
57
53
76
43
20
47
76
63
45
71
35
24
58
44
37
31
48
30
38
36
71
77
37
44
58
57
76
26
30
75
64
39
52
74
42
29
50
32
36
70
34
47
63
68
74
23
65
64
66
77
58
77
21
63
33
46
21
48
64
64
59
25
32
42
57
68
32
44
23
74
31
20
55
58
35
51
22
62
41
23
46
41
73
50
74
41
26
23
47
68
78
65
53
26
28
26
80
60
59
43
63
53
27
57
45
56
63
25
79
49
25
66
46
49
69
24
37
67
68
24
40
47
41
26
24
48
43
77
22
22
54
74
27
28
20
20
54
47
27
50
63
54
64
63
45
78
57
45
47
21
22
75
55
71
25
40
49
49
66
68
64
51
73
64
72
79
51
71
57
57
51
25
35
50
76
55
35
73
23
30
37
35
46
42
21
55
30
80
29
75
77
45
80
70
58
46
39
75
64
32
34
31
21
42
29
67
40
38
53
45
63
59
66
48
32
54
71
52
68
75
69
52
72
37
38
30
56
60
55
44
47
74
20
66
21
24
52
31
46
66
57
48
25
51
22
41
43
60
29
58
42
62
60
21
43
40
51
27
31
55
80
46
40
57
65
58
25
36
69
78
47
73
39
43
73
56
39
58
76
71
24
68
47
45
65
22
58
56
69
45
31
67
69
63
39
20
25
63
40
69
61
42
23
53
49
62
20
27
59
77
22
71
37
23
40
33
38
32
38
23
20
38
62
59
39
40
27
26
68
77
20
49
34
26
71
43
32
31
22
24
52
71
64
80
31
46
42
26
30
56
55
78
72
31
68
70
20
60
79
24
31
21
50
62
78
50
70
32
47
25
28
45
34
58
31
59
28
30
79
70
38
29
55
20
54
47
49
31
49
73
29
57
36
33
30
66
76
69
73
69
76
73
50
21
26
33
65
33
43
62
68
79
40
36
68
28
63
51
49
35
38
66
38
73
35
20
27
76
21
26
68
39
27
32
45
51
49
53
54
49
47
67
77
79
41
71
35
37
30
43
27
60
40
21
22
52
43
72
40
69
35
71
56
31
35
77
57
26
62
57
62
64
79
74
69
41
43
73
79
44
39
42
25
41
48
76
44
71
43
34
23
53
36
66
39
26
26
68
40
75
59
47
31
72
64
34
69
78
40
25
64
73
36
23
53
70
50
46
28
57
36
32
53
53
48
37
23
48
28
30
70
58
36
27
40
51
50
22
55
50
74
65
30
75
54
59
59
73
41
56
25
32
61
58
70
66
75
43
56
54
56
79
41
57
78
52
24
33
23
22
45
72
41
54
50
42
77
49
63
56
71
63
63
49
42
71
79
61
55
40
31
69
42
38
59
21
61
28
46
37
72
53
76
74
52
22
47
55
31
26
76
74
53
38
78
66
57
76
46
68
40
26
74
25
35
74
75
72
68
61
38
30
71
23
73
80
26
43
50
75
38
33
46
33
76
34
73
62
65
45
73
69
37
34
34
51
23
29
47
60
26
57
26
26
27
55
58
80
51
49
64
61
79
38
77
59
24
61
77
28
25
59
69
40
21
64
34
37
53
36
62
41
24
78
72
52
62
27
32
21
36
22
69
34
79
33
23
40
43
61
65
27
55
62
33
31
20
28
62
20
79
20
52
49
61
33
80
58
73
24
40
50
32
65
59
50
71
49
64
44
76
31
55
51
57
56
54
42
22
64
37
66
23
26
61
75
35
27
69
59
80
80
28
41
71
77
80
45
25
38
52
23
80
53
52
79
54
47
73
59
63
24
49
77
27
69
77
67
70
57
54
49
72
77
52
26
66
21
22
76
79
48
48
26
67
28
36
66
46
69
47
56
76
49
41
76
55
76
51
63
70
28
79
23
21
33
56
35
30
48
64
71
24
24
75
74
58
68
49
39
36
64
33
45
74
66
33
38
35
61
43
65
74
56
78
54
41
21
47
64
49
49
25
42
63
71
52
48
53
34
66
35
67
32
29
38
37
32
36
69
42
58
52
78
44
47
28
22
37
25
77
40
68
49
36
37
59
47
44
28
21
47
38
74
58
47
27
34
51
56
29
36
30
78
40
42
55
48
68
54
22
47
35
46
64
80
63
22
79
49
62
52
22
66
37
26
74
41
63
65
42
47
28
73
45
72
76
27
26
61
67
48
69
37
27
51
30
47
22
47
42
44
78
59
57
26
64
70
35
66
63
75
22
46
49
50
44
62
57
79
55
77
64
79
22
54
67
43
22
42
65
21
27
74
68
62
54
23
20
73
41
28
41
27
80
78
49
55
58
67
80
49
62
71
35
22
48
22
74
55
43
62
21
40
74
52
30
20
56
61
28
44
75
68
42
47
32
64
48
71
47
79
60
80
64
70
33
75
22
27
67
74
29
28
32
59
30
65
29
42
60
59
47
62
79
64
68
62
25
75
67
57
22
36
41
53
78
23
50
30
24
64
26
27
41
68
45
67
39
80
26
60
56
68
30
60
73
72
45
68
21
21
46
72
49
23
38
56
79
58
39
24
30
40
57
55
30
74
55
41
59
34
49
80
51
78
48
36
41
80
31
23
40
28
67
31
22
77
71
57
64
71
35
48
79
79
22
30
29
66
20
62
55
71
24
80
67
52
30
40
46
30
31
72
70
40
26
34
57
66
60
54
49
45
25
37
30
34
53
23
46
79
29
22
28
57
76
55
71
27
24
68
54
54
50
29
22
33
80
33
60
30
32
23
48
61
68
45
22
39
44
24
31
40
75
58
66
27
42
27
40
74
20
41
29
26
60
33
21
59
58
51
58
79
26
62
50
47
65
71
46
40
49
40
72
67
27
35
76
44
23
71
39
77
40
71
67
42
31
44
56
57
78
72
56
35
60
73
32
34
21
68
30
37
62
25
67
42
65
23
44
22
29
52
74
52
40
66
49
26
53
31
34
28
68
48
23
51
31
66
45
71
74
68
71
39
28
45
61
57
24
38
42
30
28
66
34
52
80
56
78
47
75
21
47
70
65
49
67
40
53
80
20
40
38
55
39
21
59
41
36
72
53
75
79
32
31
49
74
31
52
37
72
54
77
55
21
68
22
63
24
78
52
26
66
52
61
39
29
57
70
62
73
70
79
43
69
54
72
60
38
43
53
56
52
62
80
72
47
51
32
40
29
53
36
80
24
71
60
37
29
43
20
45
43
49
77
73
20
69
60
59
69
45
74
37
49
78
41
61
23
50
67
38
60
48
69
38
37
53
27
30
58
77
63
59
72
64
68
69
76
25
61
63
78
21
76
69
21
57
23
73
72
73
57
46
39
23
53
36
27
50
40
64
72
61
33
35
53
60
76
23
63
65
21
70
72
79
60
29
46
70
47
79
69
67
42
27
32
48
57
75
61
30
25
72
42
27
51
28
71
63
45
27
49
39
59
26
40
72
45
53
58
20
65
71
66
41
64
28
46
23
48
61
50
32
30
44
78
54
40
67
37
24
30
77
26
71
65
33
79
63
25
41
36
61
23
38
65
20
49
59
77
61
44
31
23
40
66
32
28
46
61
23
62
30
32
44
68
45
59
51
58
38
34
57
27
74
34
79
24
32
53
43
61
76
78
67
57
61
30
52
24
76
48
69
41
56
62
44
46
80
24
36
50
69
50
79
32
26
65
42
22
73
74
33
53
64
47
64
47
55
55
46
61
53
39
68
32
64
80
27
48
51
33
40
76
25
74
23
29
72
74
60
73
48
38
73
32
34
52
53
21
58
73
27
59
69
74
56
38
80
39
50
49
48
78
25
40
67
53
53
76
58
27
24
60
64
22
71
39
24
64
29
29
49
66
75
43
69
31
68
76
78
60
64
68
40
74
21
58
57
41
40
36
44
69
72
47
25
36
49
60
68
74
56
67
53
75
78
75
24
44
75
47
67
32
45
27
72
60
30
55
52
79
61
46
73
29
78
38
78
65
50
79
61
69
76
57
59
30
23
60
27
61
73
47
63
23
46
59
33
77
43
31
48
49
27
39
24
54
21
59
29
69
51
32
61
65
66
58
69
31
25
40
52
45
42
56
70
37
53
34
55
69
62
53
50
80
73
24
43
61
45
32
54
67
76
72
79
77
75
45
36
67
24
58
48
66
28
34
74
56
60
62
22
64
24
67
48
45
50
34
55
57
47
67
20
78
77
68
43
35
45
36
50
68
46
71
61
40
61
23
44
80
24
51
63
75
48
56
68
32
32
38
67
51
46
35
40
57
74
61
53
61
23
34
77
63
79
53
47
23
77
80
64
35
79
45
35
42
51
75
32
59
60
58
45
29
34
38
41
67
68
39
67
79
26
61
59
78
33
31
52
57
79
24
59
48
35
49
48
44
28
21
28
65
27
64
52
24
52
66
41
76
80
57
23
30
39
23
29
57
36
49
24
66
76
42
53
25
49
36
53
38
68
73
39
64
34
48
62
54
52
46
52
63
37
25
37
38
64
36
67
77
79
21
57
34
72
21
56
44
23
26
29
31
22
71
27
37
22
80
37
55
50
53
51
41
80
34
73
66
24
73
39
56
79
57
36
59
25
41
23
35
65
60
30
66
43
61
74
36
72
66
62
25
53
69
45
21
44
56
64
35
42
27
33
28
64
53
63
64
22
20
67
36
36
68
53
70
54
74
28
36
32
53
53
45
51
68
59
24
51
50
29
28
22
77
29
65
42
23
44
22
65
26
21
48
35
40
49
39
20
41
59
52
56
34
73
38
74
40
21
31
68
40
58
30
34
47
76
72
74
39
66
55
27
67
29
27
33
32
75
70
75
42
56
67
40
69
67
57
70
22
31
48
44
63
36
25
64
57
70
26
74
21
34
69
51
33
67
29
30
77
31
54
48
74
47
47
48
72
41
20
47
62
21
31
48
41
26
41
63
51
49
44
59
21
69
31
37
47
64
68
75
24
36
76
50
29
73
66
45
65
48
24
72
21
42
63
54
47
23
56
49
49
23
21
71
70
26
48
42
52
62
68
22
69
78
49
46
55
52
38
71
66
72
53
67
30
56
27
61
23
80
56
29
30
74
77
64
40
68
55
33
45
49
67
66
23
51
52
62
30
59
28
39
29
23
23
67
63
71
57
25
59
29
56
70
33
50
32
56
78
77
69
57
48
68
26
43
46
62
31
43
75
73
69
25
49
41
62
20
32
77
36
59
23
70
35
76
79
80
54
78
52
46
25
62
27
77
38
58
57
67
67
32
63
58
65
65
32
73
43
63
36
69
78
32
48
38
24
44
67
76
25
80
80
49
46
75
72
28
48
45
76
32
31
28
70
52
53
69
26
69
77
29
38
73
71
47
56
24
41
46
47
65
25
69
48
24
21
49
73
34
42
58
69
36
26
72
24
80
51
56
62
40
80
41
213
169
145
230
88
180
153
138
246
94
190
213
210
244
203
203
173
207
164
210
154
101
154
149
181
92
122
72
228
78
92
210
213
241
184
139
81
172
153
70
158
120
118
232
73
228
191
145
187
220
116
166
145
235
77
243
114
162
210
83
89
224
160
211
195
238
209
118
185
137
100
160
210
214
92
224
163
236
148
117
250
177
244
104
75
88
193
243
153
106
177
214
125
242
75
74
194
97
119
90
180
71
107
109
117
235
208
189
146
221
168
150
187
242
147
194
219
127
206
132
152
202
75
166
82
103
161
157
112
99
202
120
225
107
91
224
118
197
168
206
215
106
99
92
240
170
147
94
245
116
219
156
170
111
199
122
117
158
245
199
106
224
92
162
167
152
236
218
150
199
102
122
248
219
118
153
227
143
87
96
152
85
135
178
138
88
79
75
247
156
87
176
225
228
230
111
126
75
139
201
140
135
163
224
128
155
249
238
140
121
116
102
172
193
123
86
171
198
186
187
205
82
218
167
239
210
208
169
137
185
119
115
212
207
137
146
83
202
208
239
209
192
189
126
234
106
171
202
105
71
241
176
182
121
113
95
199
217
230
239
182
121
84
233
203
220
198
224
83
132
200
219
236
143
245
249
194
122
211
157
230
164
222
172
175
180
165
189
192
228
140
178
139
221
244
238
243
116
80
240
207
95
180
122
148
119
73
115
203
117
141
144
226
116
172
210
247
216
238
144
77
182
212
234
172
225
106
131
140
169
93
229
203
225
101
144
234
218
86
120
87
147
250
107
232
148
141
74
98
117
221
97
245
219
178
191
215
115
215
131
74
82
208
200
199
175
194
77
132
121
163
122
165
151
110
219
152
197
245
79
71
135
197
201
126
238
128
86
244
202
73
225
184
244
208
154
207
246
151
76
131
118
90
167
247
78
238
156
207
161
76
161
237
119
91
173
214
96
168
103
142
72
76
115
162
109
234
132
243
214
143
242
205
147
173
154
210
128
108
116
120
164
240
129
113
175
117
225
87
83
189
83
90
160
103
116
175
90
155
237
236
129
211
147
208
206
87
175
104
85
126
81
207
215
183
177
169
147
81
141
139
228
234
163
221
133
70
106
148
227
144
186
209
143
205
99
192
246
169
138
213
121
146
198
186
196
240
108
106
214
158
217
143
235
128
219
139
156
201
138
100
149
237
161
190
91
197
245
234
107
222
147
169
245
86
182
132
215
118
103
130
207
243
115
125
163
99
193
208
194
100
185
161
185
181
96
141
140
163
218
77
83
73
106
225
89
99
182
248
223
143
140
234
203
84
180
91
81
193
134
131
181
138
181
147
84
236
229
81
220
86
134
203
210
78
218
222
162
106
216
112
105
181
234
115
98
147
141
243
131
229
242
208
188
199
152
218
189
243
231
87
72
223
180
224
212
217
179
89
148
149
213
88
206
85
241
169
125
241
81
156
104
191
70
92
224
157
185
234
81
114
218
94
90
174
76
229
133
216
134
180
135
199
175
109
221
203
97
119
213
111
250
127
224
123
217
86
247
187
229
247
105
149
79
105
176
111
81
108
174
104
209
179
130
117
221
82
195
232
179
86
160
72
166
71
80
76
118
152
190
246
156
181
126
168
110
213
92
246
244
159
237
183
227
228
202
153
126
81
231
114
119
79
75
127
144
223
182
128
77
117
112
138
101
144
111
128
243
222
174
234
138
196
212
249
180
166
143
165
248
142
111
110
137
112
249
246
110
180
137
223
103
169
117
155
125
164
241
117
155
219
194
115
160
247
121
182
132
216
212
133
71
158
70
215
193
145
88
246
199
228
228
224
160
80
152
110
89
189
199
136
96
216
165
105
160
72
158
95
175
155
146
218
182
178
246
134
212
149
123
219
229
79
73
222
90
160
71
213
165
170
119
212
191
153
84
89
164
157
176
249
141
192
226
196
96
137
197
236
154
119
221
146
193
100
240
162
118
242
246
159
184
200
148
240
185
148
187
105
94
222
136
173
84
137
170
226
213
131
145
78
77
155
242
187
137
194
245
112
177
240
89
142
224
197
183
192
192
136
77
112
80
113
209
164
238
93
86
245
70
231
218
237
205
81
233
160
178
221
233
188
135
234
178
125
195
244
99
117
145
209
122
169
78
102
249
147
86
153
167
194
109
197
170
224
139
194
172
118
227
174
168
87
211
168
222
237
233
185
190
77
200
134
82
183
89
100
236
249
179
79
224
113
138
86
73
151
146
122
144
120
90
153
90
92
181
149
178
185
128
153
235
247
205
117
239
228
158
79
163
100
237
71
95
241
162
138
168
198
151
235
200
81
237
192
91
242
118
105
123
121
189
223
198
84
205
82
198
153
174
207
164
188
241
176
244
104
118
123
104
79
223
109
153
171
191
118
150
108
136
182
154
83
243
173
194
77
155
70
219
202
176
119
96
97
116
84
81
161
191
250
223
116
98
144
221
208
228
244
107
193
105
83
156
245
137
201
218
86
248
129
161
146
134
225
237
164
118
82
193
119
170
193
86
173
129
183
220
193
167
150
225
117
150
76
195
110
201
129
242
170
216
249
203
238
168
163
70
250
157
72
126
105
118
162
232
77
237
71
200
121
169
176
188
135
196
246
223
249
79
83
87
215
136
222
89
93
78
70
240
91
98
95
161
160
103
129
167
129
84
125
241
148
183
207
120
152
78
162
167
149
242
188
217
150
165
216
215
249
215
92
148
131
239
233
200
208
225
216
134
77
151
213
196
182
71
108
213
125
130
208
142
188
142
89
139
180
187
210
135
199
87
120
161
77
72
244
110
152
75
99
129
235
219
177
198
178
124
160
125
153
97
184
119
99
211
113
78
152
177
81
169
76
80
243
206
226
103
118
85
112
154
165
136
130
229
97
248
133
238
202
225
130
161
181
128
172
77
140
115
126
184
225
205
102
240
230
81
131
155
149
235
115
106
246
152
92
97
77
115
125
113
194
145
216
177
165
120
139
135
140
170
193
147
221
184
221
185
88
161
161
73
227
157
85
81
191
158
163
191
85
140
79
209
169
91
132
116
236
213
180
211
126
173
236
190
183
116
245
160
145
235
138
102
105
245
202
227
191
83
137
245
117
160
107
106
179
101
70
243
245
99
195
215
243
155
205
133
133
147
116
177
238
82
182
176
179
76
242
226
216
128
150
148
222
214
205
115
80
122
168
195
131
220
156
247
194
98
192
211
102
250
211
116
190
239
87
228
208
185
114
96
107
138
238
129
124
93
224
103
185
186
90
231
129
215
171
152
127
135
185
193
121
73
233
181
214
126
243
111
75
97
164
217
241
123
125
181
203
205
102
116
172
216
79
162
99
80
73
125
243
78
119
232
218
123
223
101
230
200
145
218
86
101
171
200
244
123
94
192
103
84
117
173
210
196
239
235
175
191
242
197
152
191
175
232
155
187
192
110
105
137
73
171
177
157
150
133
220
98
170
184
175
202
202
91
242
166
80
240
221
110
196
177
116
97
207
129
78
200
213
99
103
232
231
137
129
182
156
83
222
73
146
95
214
171
236
247
76
239
177
138
133
99
177
205
226
123
85
123
179
238
79
224
101
155
233
199
139
126
173
231
132
228
132
134
156
122
169
118
174
222
103
157
218
230
237
145
79
70
230
220
218
123
77
152
214
163
120
88
174
141
236
214
210
76
177
159
226
219
95
148
210
174
151
246
235
147
206
102
105
247
212
109
128
175
88
246
224
158
227
243
81
231
243
172
119
242
247
219
90
99
146
127
92
231
99
110
199
195
144
121
91
206
104
250
160
194
197
77
140
217
168
132
71
162
214
231
240
72
117
72
181
163
138
237
233
185
191
170
116
71
197
203
239
120
246
117
109
107
206
216
77
176
122
86
134
75
73
153
86
240
222
176
236
166
219
215
80
192
201
102
220
191
211
227
235
190
223
168
190
163
72
116
159
198
86
242
229
248
128
176
244
142
224
97
120
188
108
76
223
85
183
235
146
91
103
208
185
130
113
200
95
237
137
113
152
244
197
201
116
80
118
149
76
210
85
99
157
189
119
120
141
130
140
247
120
142
243
74
121
150
214
114
218
237
242
224
242
217
72
145
123
103
189
242
180
192
114
241
130
97
181
150
83
223
117
86
210
150
145
73
139
245
235
108
147
247
73
122
98
131
137
94
140
156
83
201
243
122
90
194
74
137
82
79
144
101
89
243
161
70
207
204
190
124
198
82
113
95
190
169
240
112
183
124
245
155
178
168
75
92
172
212
188
114
224
180
232
182
142
189
97
131
80
153
211
98
232
206
174
148
140
110
167
199
176
86
202
146
213
157
133
132
204
243
159
199
123
88
78
165
135
169
215
131
176
131
71
104
123
71
95
193
101
81
129
108
148
220
158
70
113
182
184
232
172
248
181
189
238
234
174
172
120
160
155
237
216
211
124
238
103
195
228
194
231
115
232
229
238
161
239
154
100
191
125
120
126
143
223
119
157
184
84
99
156
72
206
135
240
210
95
111
97
130
181
123
235
104
169
230
151
206
241
142
83
84
137
82
87
141
235
77
145
244
134
76
166
189
222
100
102
159
221
176
84
143
125
113
78
88
197
144
181
86
110
200
132
110
136
75
72
169
239
245
130
195
83
222
248
222
172
244
178
90
240
111
221
100
193
149
230
149
206
249
239
240
102
214
231
189
208
211
228
111
189
138
177
96
185
158
248
138
92
112
119
198
128
229
177
191
93
188
120
206
88
93
88
202
124
157
154
153
202
158
155
149
236
243
220
160
220
140
207
173
83
156
71
129
190
215
214
150
134
219
96
226
243
143
216
166
104
150
242
216
171
193
181
129
189
218
158
103
238
135
79
135
228
181
84
229
100
77
195
156
72
73
195
200
112
95
225
230
221
137
130
195
211
134
197
91
158
176
108
125
194
126
173
202
227
83
218
232
168
87
129
237
76
189
81
70
237
221
114
157
151
234
141
80
160
241
184
147
227
133
206
123
187
117
92
231
72
237
158
141
170
75
158
104
182
168
97
125
245
148
139
78
226
179
131
250
84
91
230
180
171
110
94
149
99
99
152
156
128
140
226
102
98
168
214
202
220
202
184
238
240
194
176
209
214
214
183
197
118
190
178
77
76
166
89
180
165
106
110
242
70
213
116
89
73
226
227
189
198
134
168
220
92
212
246
190
83
113
147
180
117
236
192
120
175
236
247
238
147
214
93
134
181
165
141
172
107
195
97
97
168
233
164
157
168
113
191
81
131
241
105
149
232
203
129
129
179
118
115
92
146
150
108
160
124
183
237
181
192
129
128
73
89
157
123
212
228
143
80
216
154
87
121
160
91
167
194
169
196
130
139
132
224
204
232
73
170
245
174
151
240
158
175
155
76
127
164
229
101
234
116
97
246
124
115
198
154
118
182
73
153
247
97
107
168
220
180
159
142
194
213
176
250
120
120
108
154
172
95
225
107
98
219
85
241
229
123
237
197
80
173
120
192
212
84
96
196
129
159
123
92
171
127
245
230
219
208
144
97
207
155
73
151
147
215
152
150
211
91
163
246
110
162
238
222
143
230
73
181
210
89
184
218
200
119
122
101
184
210
238
100
137
214
218
177
94
202
125
112
144
126
96
237
111
189
182
201
79
165
116
200
218
205
128
209
150
210
178
70
138
97
239
165
168
214
186
176
233
140
78
117
147
120
218
155
158
233
100
158
202
101
74
202
83
184
155
170
243
80
94
106
109
95
110
207
207
135
175
197
150
124
92
70
105
123
89
188
208
144
250
159
229
177
79
223
117
178
100
117
228
238
132
97
167
79
185
197
78
136
122
168
222
207
86
169
80
149
141
138
179
96
187
102
149
242
125
136
180
208
114
226
177
220
236
81
111
94
77
153
196
166
99
218
72
169
133
229
110
183
155
197
247
124
156
214
185
80
72
154
116
155
101
138
221
78
175
131
76
186
78
186
86
104
149
100
152
73
82
134
213
197
225
241
74
231
122
104
128
134
149
236
71
190
170
197
109
246
120
194
114
83
243
239
120
239
130
216
198
229
139
80
135
182
200
172
120
143
203
71
113
223
186
211
198
178
186
241
112
221
223
104
165
222
209
111
171
238
187
168
214
165
129
189
185
222
245
83
128
128
231
183
78
190
118
240
176
165
145
81
150
93
70
235
196
130
214
98
109
94
186
120
147
242
137
87
230
116
173
106
108
101
203
91
233
138
137
242
225
118
85
244
104
88
72
135
242
182
104
227
135
93
131
125
147
195
122
162
84
197
155
90
130
137
218
160
237
191
194
160
221
217
198
82
209
112
199
192
179
237
121
136
223
83
210
116
152
90
202
149
171
107
182
192
167
87
125
109
217
194
173
182
83
100
121
237
221
224
129
89
167
131
216
214
206
184
121
151
131
112
75
75
122
130
141
92
153
209
104
141
118
191
113
184
223
112
111
222
167
117
194
182
91
223
220
75
115
234
154
104
186
241
185
125
75
217
92
149
92
158
250
143
93
109
220
196
154
168
150
245
193
71
222
83
122
190
85
178
188
204
166
105
207
204
229
202
225
73
121
112
154
123
228
225
119
191
183
169
137
233
125
93
124
141
168
107
90
85
88
215
154
224
95
229
187
139
130
161
180
182
136
204
194
182
177
148
75
129
130
160
87
99
103
94
246
237
201
193
183
88
197
245
120
248
138
94
130
249
194
248
146
188
138
172
152
123
157
194
119
209
140
178
142
245
174
236
176
199
148
160
247
93
214
189
161
132
190
90
242
99
218
77
239
215
114
156
179
142
192
76
132
183
242
151
84
224
92
219
102
206
221
179
138
219
84
180
230
216
208
157
230
162
197
229
186
215
124
102
138
167
166
201
130
225
211
143
206
86
97
177
210
190
233
233
158
90
96
143
88
232
212
216
103
84
241
215
147
169
206
163
99
126
128
104
200
188
227
164
141
119
127
241
227
99
243
205
155
223
110
225
155
104
185
80
76
155
84
162
235
233
104
222
148
237
75
197
102
129
216
184
116
105
95
156
119
188
221
77
195
175
142
217
204
134
162
98
244
174
202
210
119
152
138
229
124
191
143
176
140
238
217
119
113
136
207
80
118
186
162
116
201
74
212
200
140
93
194
208
234
162
76
202
216
120
79
165
198
222
208
229
78
133
94
120
124
240
144
98
105
82
102
130
122
84
77
209
145
138
124
131
238
155
144
162
184
121
158
239
183
248
100
146
199
240
171
157
116
111
175
92
148
206
248
174
243
110
99
205
206
151
99
96
159
172
70
250
233
207
134
147
124
150
138
206
90
103
167
83
230
172
212
208
94
79
238
123
92
84
175
109
85
185
214
136
148
135
217
98
144
235
119
88
201
127
174
147
231
118
227
81
79
216
96
85
89
222
242
189
189
230
208
216
205
172
198
226
71
198
181
209
130
175
217
127
219
120
121
105
113
100
72
198
71
235
152
203
104
110
224
80
199
183
156
243
183
245
119
105
103
85
220
108
247
102
143
169
173
173
210
241
121
170
196
107
84
200
180
241
156
236
220
71
101
135
183
113
135
166
201
230
91
122
109
83
225
84
122
214
110
124
235
106
202
81
146
170
215
246
201
171
163
128
180
183
103
210
189
238
223
198
142
104
141
139
247
169
166
170
116
244
176
153
127
115
78
122
229
117
222
223
81
127
178
111
97
130
177
76
248
143
226
159
73
178
249
184
220
229
184
195
186
204
164
220
171
250
96
228
154
133
105
126
113
152
156
151
179
85
221
225
201
209
179
238
190
174
230
117
229
200
231
164
139
193
120
250
176
205
103
176
200
162
142
104
191
122
182
121
139
167
249
104
161
182
73
180
231
182
209
206
205
150
99
141
78
193
121
115
228
205
137
93
73
132
240
238
218
235
160
108
175
87
92
111
231
102
203
189
243
78
98
182
250
181
86
168
84
163
148
231
235
210
185
246
216
132
72
120
157
176
153
131
83
99
114
192
192
209
170
192
245
193
213
78
238
202
83
150
89
175
120
191
171
139
142
109
215
122
144
185
214
243
178
175
83
71
214
112
81
165
150
213
139
84
137
72
188
239
245
82
118
90
204
182
132
122
94
98
207
221
124
148
176
209
228
167
155
250
71
181
112
197
75
217
93
223
167
166
151
124
179
189
100
75
199
161
90
134
113
235
153
121
128
205
173
71
222
207
203
207
233
98
123
203
179
216
148
219
215
184
145
113
241
176
157
207
91
202
212
88
174
104
87
157
80
85
247
129
71
71
230
108
98
212
133
157
235
214
107
177
155
126
243
144
176
141
159
96
162
120
198
161
113
228
206
146
146
90
132
82
82
243
196
172
93
182
91
79
142
86
239
249
157
190
74
92
164
236
123
235
243
92
121
214
70
179
239
109
111
174
250
188
158
88
156
139
87
190
118
94
83
88
155
178
186
210
121
225
204
236
114
88
112
249
224
238
215
114
238
235
149
244
210
164
134
118
154
162
226
88
177
165
206
166
240
99
191
162
161
153
107
178
78
175
137
232
107
89
248
156
112
226
203
227
153
111
214
77
148
149
168
241
235
71
235
229
155
112
132
247
177
189
87
233
93
126
218
190
214
78
184
216
70
96
234
89
88
119
202
141
102
137
169
190
177
121
121
94
71
210
109
247
116
127
183
94
214
205
94
191
212
107
173
85
205
151
172
231
156
184
113
227
76
100
147
221
153
127
218
216
86
91
78
144
201
192
124
105
80
178
207
160
243
212
82
189
139
74
231
162
129
140
235
210
189
232
142
196
245
198
93
227
109
219
233
125
152
179
145
248
235
84
107
163
118
107
178
221
162
106
232
122
247
182
135
240
168
93
154
238
241
215
72
121
176
240
217
247
115
179
95
235
249
102
129
185
220
229
219
104
90
145
113
121
117
84
79
206
146
195
203
233
171
200
219
169
204
184
79
250
248
79
90
150
150
228
234
175
242
227
124
137
154
109
175
235
187
102
200
160
89
123
147
181
71
165
93
76
91
143
213
150
80
141
89
228
120
93
106
158
231
223
88
141
83
114
137
75
75
89
146
133
157
73
159
218
102
245
100
205
213
155
170
76
162
120
240
206
127
201
171
204
112
102
140
201
144
136
110
173
187
115
103
179
187
123
213
234
108
215
245
169
196
95
77
139
191
211
220
193
231
183
237
141
228
71
126
225
212
233
207
182
198
101
218
186
109
218
234
161
145
218
213
194
195
81
89
97
182
224
235
143
111
188
195
170
134
239
76
170
96
78
81
91
242
243
153
136
109
112
225
219
184
172
110
76
81
231
211
84
157
91
204
115
165
244
211
96
154
176
199
229
233
94
85
116
185
106
166
137
137
92
193
124
106
88
184
201
90
173
222
98
190
191
171
234
169
245
209
78
188
71
239
140
98
218
147
226
210
185
224
160
112
211
105
103
220
102
165
250
131
237
225
78
88
119
193
233
159
214
153
134
98
210
202
218
135
120
155
225
195
240
238
76
158
250
236
130
78
105
226
169
88
153
75
71
107
230
237
217
199
105
158
139
178
101
134
109
123
152
118
122
165
238
225
156
238
180
225
194
219
197
153
129
179
120
230
152
210
133
156
224
175
228
96
203
236
210
121
109
148
209
231
179
93
147
127
174
135
124
79
167
216
110
186
162
132
152
155
131
191
210
237
125
187
211
162
102
215
202
197
185
240
237
95
206
119
238
174
147
213
125
204
240
77
193
127
246
98
85
135
138
134
94
70
232
101
140
89
202
102
125
198
98
195
209
238
76
225
183
101
109
117
153
105
137
84
239
212
228
155
120
181
225
141
120
187
156
172
168
155
104
233
220
220
106
147
77
223
169
93
154
239
108
203
99
230
115
121
213
206
169
194
236
163
110
156
175
221
82
71
247
223
190
183
141
231
72
244
123
197
92
176
196
189
229
161
243
235
72
128
125
95
247
108
91
247
103
150
127
192
105
162
111
234
115
181
106
187
228
207
113
78
211
163
107
70
99
100
188
202
235
81
152
152
187
76
107
135
247
78
122
183
140
222
245
163
231
125
223
249
248
235
204
139
117
247
209
149
201
240
200
108
129
240
176
197
144
228
250
111
197
100
186
94
247
227
235
235
247
238
235
127
83
153
169
80
103
96
153
147
121
145
173
197
220
224
168
81
235
88
188
183
155
127
219
85
72
189
91
133
136
117
212
126
127
208
162
90
215
214
208
165
79
117
153
169
250
201
163
186
94
167
84
217
235
210
76
202
116
70
177
158
244
83
166
203
136
178
153
113
115
83
207
248
209
220
96
243
162
167
138
71
84
74
113
163
228
211
99
163
194
247
129
117
145
161
159
203
234
79
186
81
244
83
248
166
216
135
226
195
104
76
126
165
76
192
206
163
175
232
112
153
147
177
112
155
76
201
176
88
114
156
219
93
211
89
115
108
187
154
105
250
232
223
106
170
97
121
94
174
125
91
140
95
233
195
248
166
200
108
121
233
120
210
244
231
195
214
110
159
231
128
185
146
117
96
206
221
139
237
176
107
184
145
82
98
133
181
225
128
213
245
128
72
89
240
164
169
220
234
73
226
183
185
111
165
86
156
234
167
223
150
167
182
126
170
97
207
233
138
214
129
222
248
90
230
162
119
133
88
250
166
230
76
218
242
138
237
113
115
143
146
172
208
223
87
174
92
140
108
131
214
135
195
170
167
122
116
119
118
104
225
147
188
227
89
115
227
242
134
94
142
92
140
166
113
247
212
160
218
181
233
184
194
208
127
182
77
196
154
148
84
152
137
128
186
184
147
238
186
144
102
145
207
225
171
205
225
89
249
139
154
102
128
99
224
245
210
207
84
77
228
104
76
99
171
218
243
129
209
213
106
90
165
115
171
142
182
183
157
177
135
204
207
240
111
78
168
152
194
141
116
76
121
119
198
159
75
123
207
200
129
198
78
74
126
154
126
221
220
224
105
155
237
141
73
110
123
138
126
206
185
199
113
153
143
212
86
203
81
234
215
84
236
149
190
203
125
228
163
226
139
200
235
241
222
128
177
121
227
111
204
184
82
228
145
148
118
188
100
109
188
154
229
182
222
97
103
140
180
214
206
121
156
82
223
242
116
248
79
207
195
81
217
101
135
162
194
129
151
223
156
94
99
220
116
124
120
162
222
214
222
130
164
138
125
239
218
245
111
199
143
226
198
247
210
211
139
105
208
175
165
248
71
91
131
230
222
232
79
73
173
185
72
237
219
238
204
83
77
89
248
72
115
83
153
245
134
103
237
186
112
144
156
92
181
237
85
249
235
138
167
160
126
178
200
166
115
191
183
127
80
148
214
193
162
80
237
103
213
238
168
72
213
95
163
100
169
73
164
143
136
154
233
121
143
144
89
83
248
203
207
189
190
229
176
203
161
144
188
160
152
121
149
204
119
121
119
233
196
81
177
163
91
162
230
220
213
105
228
214
84
239
107
101
125
129
157
155
94
79
235
197
211
172
129
142
185
192
199
220
191
145
242
91
191
94
129
123
220
236
124
142
222
233
109
126
160
199
183
249
130
203
136
70
177
100
89
140
224
79
248
79
140
235
145
73
91
84
217
98
223
182
248
242
125
113
103
214
207
158
204
207
106
83
198
249
166
177
182
80
175
88
170
171
140
81
143
180
214
155
178
124
85
178
145
177
100
209
81
84
230
87
94
79
159
242
101
182
204
182
159
75
130
238
92
201
77
197
248
213
130
77
144
93
151
181
155
129
241
91
73
166
83
102
127
124
96
161
93
87
205
181
154
153
201
151
202
96
223
243
212
124
175
82
79
70
159
131
111
85
180
124
136
155
185
128
119
90
95
234
72
197
245
161
101
192
185
139
196
247
93
136
90
203
160
178
101
225
93
214
130
87
206
250
238
236
96
74
250
225
160
131
232
185
214
142
193
80
124
250
86
70
180
107
71
240
156
150
184
129
119
249
223
233
248
97
79
222
161
237
223
183
193
118
184
82
186
207
250
72
180
218
192
81
122
250
193
142
98
111
102
184
223
241
146
175
229
77
228
76
120
233
188
79
145
211
248
80
123
204
218
133
230
195
250
171
139
93
183
103
156
102
168
87
209
150
151
223
192
226
77
109
214
173
193
192
84
146
220
169
167
174
214
112
238
81
75
95
173
182
135
128
126
194
106
232
234
225
188
208
179
175
234
184
137
136
132
248
73
217
200
232
226
240
90
167
105
136
71
249
93
79
215
125
110
219
244
96
90
187
157
73
208
212
126
171
196
219
125
217
205
164
93
163
165
238
144
85
102
103
232
98
152
151
163
137
166
131
161
126
240
111
153
226
78
232
189
249
77
194
239
143
116
221
190
110
78
146
241
208
137
85
96
228
174
170
152
182
159
147
241
130
99
79
156
235
73
132
186
152
244
109
213
168
210
180
111
207
77
107
94
134
177
193
224
193
75
218
237
206
83
130
143
211
248
237
184
106
229
161
138
203
241
109
221
175
135
219
158
83
170
100
224
247
207
232
193
185
238
152
146
240
201
194
218
103
130
87
185
199
78
241
86
81
208
144
170
178
191
249
82
179
155
189
124
91
222
138
210
106
125
175
191
152
213
93
86
208
182
96
141
144
228
134
90
113
221
214
123
185
82
126
118
119
235
220
247
97
208
185
75
242
101
171
84
162
186
173
229
218
141
236
166
147
110
121
135
118
130
228
227
245
85
182
241
206
73
222
233
91
246
70
157
109
182
236
208
240
100
168
162
104
234
200
88
149
154
85
106
173
200
235
88
119
210
199
135
176
221
179
145
93
200
173
85
83
192
94
220
72
89
143
108
220
249
168
248
188
127
89
79
238
94
208
95
157
240
165
209
147
200
164
120
93
200
161
238
176
82
86
111
247
208
160
93
232
229
95
73
229
147
176
141
157
227
88
245
215
150
250
171
130
206
243
74
182
135
242
106
216
180
71
157
99
240
119
134
142
118
92
157
153
171
220
134
137
232
153
155
114
153
196
136
88
155
92
132
187
217
225
218
177
117
217
250
239
170
113
218
147
232
129
123
150
87
203
109
102
221
110
139
167
185
242
220
112
248
217
139
185
115
204
201
87
231
210
126
146
80
94
152
172
77
227
126
79
77
225
76
121
242
197
193
101
227
113
118
139
82
218
90
76
95
183
94
82
175
122
105
161
116
246
227
174
104
177
84
147
82
137
157
121
153
160
72
214
109
81
190
197
210
84
228
198
153
82
224
234
101
98
176
129
165
93
137
210
191
202
107
132
89
96
113
167
86
120
215
238
137
107
83
153
96
223
224
137
73
73
114
137
163
137
133
90
219
92
215
153
140
203
86
109
154
215
119
99
208
224
201
138
232
114
136
249
132
166
244
220
222
231
123
236
96
160
147
157
155
74
210
109
84
133
116
143
144
190
133
211
134
170
126
193
177
131
74
199
201
89
173
225
164
95
149
183
206
145
151
76
243
221
72
240
188
209
150
146
126
224
202
152
151
211
237
130
118
131
227
233
151
159
243
111
158
111
72
106
245
125
233
195
140
75
206
183
213
151
106
203
78
192
171
77
167
199
179
174
161
189
248
155
220
124
72
163
202
236
114
156
234
78
210
240
241
114
240
205
199
231
215
186
243
133
196
168
190
182
203
93
131
75
135
148
190
191
70
246
169
126
164
203
174
84
70
176
191
175
175
88
123
146
215
132
237
101
148
89
80
199
206
70
71
93
232
237
110
153
180
221
185
154
145
72
92
140
140
123
143
204
218
226
184
225
175
97
204
121
70
188
103
157
179
133
173
131
156
239
167
239
106
135
173
231
138
189
222
248
72
96
225
194
244
231
191
186
124
159
192
171
120
207
84
202
204
125
74
205
97
152
227
179
134
76
176
165
135
226
171
243
72
184
131
188
186
203
78
196
235
93
210
174
161
158
147
116
210
78
86
73
77
232
194
249
225
115
211
90
135
108
196
158
124
240
227
84
210
143
220
194
200
74
172
79
223
152
134
190
223
173
247
178
76
225
217
182
211
198
206
94
241
151
151
119
224
113
102
97
191
245
190
129
133
95
94
242
138
184
94
150
164
244
109
205
239
114
108
126
121
181
132
106
166
82
206
220
96
154
233
227
131
85
147
120
196
193
71
120
161
149
250
219
176
109
169
113
239
246
75
215
104
184
84
197
187
197
112
245
139
214
162
178
188
127
237
241
235
138
175
82
245
247
207
218
248
163
146
230
131
187
112
188
106
104
140
244
209
110
228
226
212
110
74
107
160
74
203
176
88
193
142
248
117
146
166
186
242
186
238
134
90
125
143
110
215
224
215
136
85
247
134
239
100
76
154
161
124
76
168
180
147
164
238
76
178
142
180
168
177
248
130
195
91
137
115
101
246
103
124
222
99
73
84
127
87
176
197
155
203
119
218
124
149
245
74
193
182
105
165
219
111
235
228
162
175
187
140
98
232
96
106
77
233
99
79
184
159
206
202
120
208
210
161
203
242
225
170
199
118
236
248
78
97
132
188
134
230
156
237
201
113
119
230
76
178
96
73
208
243
133
208
182
244
208
213
212
226
76
109
186
147
152
113
173
195
199
83
86
179
248
125
203
85
104
233
152
186
159
167
85
180
143
147
249
112
170
172
156
234
115
247
198
107
155
147
120
186
203
155
101
211
211
181
220
206
248
109
127
243
158
189
210
213
204
105
213
87
247
83
238
232
186
218
103
127
90
194
239
120
219
85
97
150
239
184
154
95
173
142
90
140
77
186
172
121
102
93
200
196
228
70
232
198
234
187
136
149
165
138
178
130
144
200
195
161
213
139
232
139
174
221
76
174
250
121
177
170
189
206
71
75
71
152
169
236
188
104
142
143
137
145
114
100
97
147
181
167
149
113
239
102
78
180
113
101
162
228
138
162
209
249
185
156
75
204
80
177
209
207
215
134
90
154
183
180
186
137
90
153
85
171
223
112
160
105
103
106
192
77
244
198
88
240
186
222
183
187
243
130
168
82
99
76
138
109
96
81
114
212
107
229
161
191
126
99
219
242
146
180
82
98
108
225
126
140
202
75
156
171
99
88
160
101
128
204
233
126
144
246
227
106
202
228
122
85
146
117
178
158
153
152
81
110
111
126
78
94
100
209
152
96
243
229
101
84
223
112
192
162
157
98
141
192
73
44
58
54
30
25
25
59
24
37
21
46
80
23
20
53
21
72
59
69
26
77
54
29
66
72
72
21
44
76
40
20
73
69
49
48
68
40
71
49
62
69
62
20
43
65
66
36
61
66
77
65
20
26
74
47
60
47
35
73
56
38
20
44
73
23
65
54
74
59
29
56
46
70
38
58
33
20
27
27
70
24
22
50
65
74
55
72
30
74
61
25
53
26
74
31
66
52
55
54
49
74
28
22
33
63
66
20
45
48
37
22
45
53
28
65
60
79
34
51
68
20
79
30
48
74
74
54
26
46
25
34
77
38
39
59
38
57
79
45
34
37
75
80
54
44
31
72
26
38
24
20
57
72
60
57
70
41
56
26
80
73
55
62
54
72
70
73
30
42
74
59
70
58
49
54
76
27
28
56
75
74
66
52
79
60
62
56
76
24
31
61
33
66
46
77
31
27
35
30
77
23
71
23
40
54
74
25
29
30
34
33
20
36
56
64
22
32
65
59
30
61
47
35
23
62
23
59
34
52
75
59
68
39
54
74
41
33
30
58
43
56
30
79
40
47
33
62
22
74
41
47
45
79
32
60
52
49
38
72
45
29
62
65
75
72
80
51
51
23
63
77
39
51
73
38
55
37
49
28
48
54
33
35
66
67
57
51
28
66
29
40
23
24
27
78
43
20
30
22
72
41
27
20
23
39
38
73
41
42
33
40
62
64
52
67
76
48
74
67
42
30
59
32
28
73
22
47
60
54
30
79
38
77
78
46
26
73
78
56
34
42
79
37
66
36
37
76
64
28
34
36
30
67
40
36
73
32
53
77
23
45
42
33
51
43
80
56
27
56
40
65
35
74
59
77
53
40
74
25
33
62
66
66
48
68
72
33
80
27
64
47
55
65
39
20
35
79
36
63
25
22
77
53
26
66
24
46
77
77
58
28
80
45
71
25
73
73
77
76
53
54
42
31
27
60
30
28
34
41
69
50
80
73
47
37
20
68
60
24
61
25
40
32
69
49
50
70
29
53
58
44
50
60
52
44
64
62
66
38
69
79
26
68
26
41
48
58
23
80
71
78
72
63
80
69
22
32
30
20
68
75
78
22
73
37
41
37
28
61
34
63
76
34
25
75
46
54
29
55
47
47
46
25
48
77
52
79
76
61
34
34
57
27
70
42
49
27
33
22
70
47
22
63
54
48
21
61
38
76
66
65
28
44
30
68
46
30
66
76
58
61
49
27
46
65
40
75
39
38
63
68
78
69
71
62
34
33
21
48
66
21
71
77
23
80
76
27
38
54
21
33
50
62
74
78
47
60
35
28
63
48
55
55
78
50
72
20
43
80
36
69
22
73
40
37
46
42
21
31
39
45
44
78
60
40
48
66
25
50
20
74
78
28
53
60
75
49
49
40
52
77
69
79
21
45
56
74
20
44
51
71
41
66
61
32
38
68
49
43
51
80
67
27
52
77
36
40
60
76
20
75
55
80
29
31
65
44
28
54
59
68
38
25
43
79
39
51
69
52
53
34
36
28
27
45
31
78
72
44
74
67
51
21
58
74
64
64
24
70
21
32
77
55
30
48
30
55
72
65
72
54
52
24
66
43
74
38
46
62
70
24
53
78
49
70
77
80
57
74
76
34
48
59
79
38
20
22
28
21
79
65
45
38
63
24
34
46
28
63
63
49
58
47
45
30
76
22
71
61
47
45
76
22
74
65
34
53
66
54
55
62
78
61
53
38
38
37
25
22
75
29
45
51
42
58
38
32
26
21
27
51
54
31
22
48
24
80
58
72
32
56
29
20
78
77
28
68
76
46
59
59
73
72
27
25
29
31
74
20
78
79
71
31
39
35
73
57
76
50
60
42
32
72
42
51
51
75
49
56
46
67
73
68
51
77
79
57
69
37
47
33
67
30
48
29
53
23
44
27
27
42
64
63
27
29
67
31
25
21
73
34
76
55
21
50
59
39
26
59
25
43
46
41
68
58
50
23
42
80
46
65
59
56
53
48
21
30
20
63
58
78
67
45
70
48
31
45
22
58
35
35
45
44
47
60
27
58
44
60
80
33
31
80
28
34
67
29
21
35
40
25
39
25
39
41
51
47
35
69
58
23
67
59
60
43
44
45
42
53
68
70
69
20
75
37
77
26
53
53
37
36
39
23
32
77
33
74
49
25
34
54
74
24
24
52
21
66
27
80
66
76
43
78
71
66
38
33
23
67
54
57
48
54
73
75
24
77
80
32
50
72
40
55
54
25
22
77
66
36
21
44
73
57
69
43
20
37
34
54
80
33
68
71
39
69
46
30
44
29
59
43
42
74
41
76
68
23
79
35
64
32
24
49
75
25
39
27
78
29
36
30
35
44
67
29
30
27
46
46
25
55
63
58
23
23
59
54
39
66
80
23
28
33
79
66
56
70
43
20
72
57
42
55
74
77
61
26
49
20
32
43
63
21
59
34
33
38
59
32
46
49
38
37
80
77
79
74
55
27
38
56
59
65
33
67
49
55
69
64
28
43
66
74
50
64
59
35
49
28
67
31
60
20
21
71
60
64
29
46
49
73
42
78
77
52
34
54
50
43
80
68
73
66
36
32
54
62
71
74
48
57
21
47
48
32
48
65
37
39
75
63
43
44
33
80
80
77
72
66
79
43
36
58
53
42
50
30
20
50
72
65
52
51
72
42
60
64
46
67
34
65
74
70
80
66
21
51
71
48
36
43
31
46
56
27
41
38
52
53
44
20
62
55
20
66
67
57
44
48
63
42
39
20
73
59
51
20
47
39
54
62
28
66
36
52
71
60
23
65
78
63
76
57
33
76
44
34
37
47
53
34
51
50
35
28
30
20
59
57
50
49
25
56
26
25
49
73
65
31
23
36
24
80
26
26
62
47
27
66
50
35
39
64
49
46
59
69
79
72
60
28
45
76
56
53
55
48
44
63
79
68
52
23
47
49
25
38
24
79
78
52
22
66
29
42
28
43
47
58
56
70
63
22
31
34
69
34
33
30
74
36
60
21
45
39
65
73
38
39
34
35
30
62
67
24
78
73
37
41
67
67
78
50
20
56
38
58
67
36
69
27
69
56
56
33
39
56
70
32
29
47
26
48
54
32
55
63
63
23
66
73
40
41
49
25
21
26
20
37
50
54
66
32
64
21
75
72
58
37
23
79
65
72
66
51
61
29
27
40
47
32
21
57
20
28
37
80
23
23
61
59
40
64
70
36
41
36
61
75
25
75
73
23
51
53
21
73
50
26
77
44
38
52
27
23
29
75
32
63
56
62
20
37
62
75
73
27
62
36
71
80
70
67
62
30
38
61
55
36
76
23
63
65
31
58
62
31
39
41
71
52
66
57
29
64
78
61
54
39
36
39
28
67
22
49
20
76
40
66
42
34
70
43
64
62
58
62
31
28
34
58
80
61
30
51
55
57
63
59
75
70
72
71
28
25
54
40
58
39
73
29
35
24
22
36
31
58
75
61
75
61
39
23
26
33
32
24
75
27
72
64
29
52
40
29
44
36
66
32
50
35
63
69
34
68
59
34
44
61
52
46
69
70
72
73
40
45
33
35
73
44
39
45
48
51
26
32
28
29
68
77
43
21
23
80
26
66
53
39
41
76
33
63
58
51
31
26
51
68
71
45
56
62
53
67
57
45
54
23
36
48
47
35
30
31
68
38
33
72
21
20
74
72
67
24
73
78
66
37
67
67
39
65
38
25
56
22
63
36
32
51
43
67
46
37
28
33
74
68
68
59
55
20
33
41
70
66
48
36
44
46
73
67
24
23
58
75
23
36
77
57
58
51
38
63
68
48
62
50
57
44
67
28
32
72
27
62
45
48
65
72
21
73
44
36
25
33
74
40
46
57
47
30
41
49
28
20
43
36
36
31
79
29
68
27
43
33
50
42
30
77
53
75
76
38
64
76
59
49
33
77
56
54
74
48
47
47
21
61
26
27
43
55
43
28
55
62
60
23
59
63
64
59
46
72
44
55
54
21
62
35
52
67
53
58
39
37
21
48
55
69
30
31
34
25
78
79
72
73
43
48
63
44
46
32
75
67
70
21
54
58
23
49
54
52
80
31
80
77
48
42
20
76
33
45
35
55
45
29
59
48
38
51
21
77
51
72
25
68
37
29
40
31
63
26
53
77
68
79
21
54
55
30
57
63
64
41
24
72
55
67
64
48
74
60
59
61
40
66
28
35
49
27
49
33
21
56
80
43
21
34
40
79
49
51
34
31
65
37
73
34
40
30
61
23
38
28
59
27
27
34
33
47
31
59
37
68
52
63
22
66
46
77
43
59
40
80
22
44
35
28
50
76
38
20
42
60
26
69
56
56
26
73
20
51
30
37
33
51
79
49
29
64
23
49
71
50
73
39
35
62
71
62
55
79
76
45
46
33
53
38
77
36
60
64
26
21
51
53
22
29
45
26
34
66
34
46
59
30
74
54
30
39
77
61
33
79
38
29
65
71
64
55
58
49
32
29
75
29
39
40
71
21
43
43
20
72
49
75
63
72
38
35
32
53
50
66
40
21
44
33
63
58
44
35
36
58
76
69
23
67
20
25
70
61
77
25
74
40
68
70
56
38
35
32
30
38
69
76
23
61
26
37
32
49
28
22
74
80
43
47
57
23
21
33
63
46
36
47
31
66
23
70
63
76
78
49
47
33
39
64
61
32
41
56
75
55
22
57
28
44
73
56
73
30
65
45
23
42
65
20
68
27
66
33
66
78
38
36
59
31
44
43
44
55
57
78
21
55
74
49
79
71
47
34
67
80
39
26
35
21
58
37
76
46
56
44
75
31
45
55
30
51
72
34
64
26
78
59
28
57
42
61
21
62
40
40
76
64
46
77
32
55
33
34
73
36
71
42
47
57
71
65
77
37
57
23
25
54
61
77
73
73
68
72
30
30
32
39
41
50
75
32
20
73
75
25
45
64
31
62
66
24
68
34
34
47
37
47
41
79
63
33
53
26
45
77
68
31
49
49
67
30
45
44
24
57
37
77
23
56
47
64
29
48
20
65
68
32
56
34
25
22
29
21
48
56
58
59
63
48
32
37
54
49
24
76
34
55
41
39
57
57
77
28
66
28
53
22
70
25
69
78
67
79
78
38
50
29
75
53
37
29
67
50
36
30
78
44
58
38
71
65
27
28
48
55
50
79
40
66
50
36
35
46
40
36
50
64
78
53
28
45
30
60
69
41
79
79
54
64
22
32
55
74
74
77
29
71
67
30
58
22
27
44
41
33
79
64
50
57
23
77
77
63
65
80
31
57
21
57
38
38
48
58
69
37
51
31
68
27
56
36
31
39
67
33
39
35
36
49
66
35
53
66
59
56
65
30
70
53
57
71
62
35
77
25
68
68
59
66
24
70
48
54
44
61
22
27
74
43
44
78
24
29
75
61
63
20
60
44
32
60
62
41
76
66
54
51
46
74
52
66
42
41
27
64
80
46
64
64
76
33
69
40
35
77
69
68
31
28
46
26
65
62
21
62
74
32
22
72
56
35
71
28
31
45
63
30
68
37
73
50
32
57
24
69
24
64
80
24
61
26
73
71
28
27
38
38
57
65
73
38
39
39
69
64
53
44
52
32
40
77
66
32
58
56
72
79
50
46
53
30
22
28
50
26
33
67
39
35
22
49
58
31
21
40
72
42
64
47
27
23
23
77
31
44
31
23
49
47
69
41
51
27
64
68
61
64
80
55
53
35
61
23
65
48
71
36
54
40
25
34
26
68
44
23
63
22
73
51
35
49
72
21
79
65
75
56
58
60
32
60
45
48
22
78
33
67
33
29
77
74
29
56
37
22
76
23
33
72
56
29
62
62
49
21
41
62
35
72
68
75
76
80
34
32
24
32
67
29
28
30
33
32
66
22
45
68
25
73
50
60
23
47
39
78
62
78
44
41
48
23
47
80
63
49
69
75
71
62
37
29
70
49
79
44
62
71
42
52
61
35
78
27
47
48
35
37
43
72
33
38
33
25
42
65
20
31
48
72
56
20
42
79
41
64
55
75
27
26
25
66
41
64
49
64
29
47
66
77
62
53
68
70
44
35
48
39
68
48
79
73
43
67
38
60
46
78
23
72
58
51
47
28
78
79
45
48
55
30
31
55
64
27
22
56
37
26
36
63
63
75
24
24
80
55
29
45
76
57
44
20
23
75
44
46
46
64
74
21
54
65
30
49
30
61
28
68
26
76
66
57
36
40
37
59
51
47
36
31
77
60
29
55
20
68
76
42
72
28
67
26
28
70
79
77
20
36
26
32
67
41
67
51
61
51
72
48
31
68
76
71
58
27
53
54
74
31
28
47
21
30
43
68
69
66
30
61
46
75
21
68
66
37
75
27
67
22
24
63
65
77
23
35
32
38
64
27
73
74
22
45
25
77
64
67
37
64
57
45
63
70
49
38
27
24
79
50
34
76
26
58
38
34
71
57
70
67
65
32
53
21
78
63
65
26
47
61
55
77
58
55
22
67
41
22
73
79
62
20
46
32
64
24
47
58
65
62
23
76
50
56
80
53
32
64
56
61
46
26
51
74
47
80
66
62
25
39
48
30
48
80
29
41
57
80
23
69
49
35
65
26
53
66
73
66
45
76
21
56
68
80
20
60
74
67
34
32
43
45
43
48
80
60
20
72
79
33
42
74
74
62
41
74
70
48
22
26
44
71
79
30
79
69
39
36
43
44
34
67
31
51
30
24
71
52
20
42
39
71
57
58
30
60
46
26
27
25
72
38
37
72
66
47
79
56
26
78
27
49
24
51
75
33
38
78
43
64
47
76
52
66
80
34
34
58
71
63
60
61
39
77
63
76
33
64
50
31
60
65
55
38
68
50
45
72
59
78
35
36
30
37
49
37
25
56
61
21
38
26
40
68
61
76
57
21
37
45
57
36
78
61
38
69
72
24
25
46
68
74
35
32
28
72
59
41
77
26
49
74
79
28
78
63
22
66
61
58
72
61
38
49
55
47
67
28
38
42
39
44
64
35
71
41
30
56
21
36
39
35
60
34
75
26
42
28
37
53
22
76
68
74
25
49
72
77
71
21
46
25
51
31
65
68
32
40
40
27
70
78
47
31
38
69
23
67
46
61
80
76
66
63
63
38
24
24
56
59
79
40
39
36
39
34
45
76
55
80
42
36
70
47
44
49
63
69
53
70
75
69
25
53
64
57
46
32
68
76
79
47
40
74
52
42
42
25
72
70
37
20
53
20
34
30
64
80
31
61
80
36
29
26
69
58
64
64
40
37
42
80
45
25
57
26
73
46
36
74
37
33
42
28
63
76
34
43
53
41
47
30
21
24
69
58
67
25
66
27
62
26
67
27
32
79
40
73
22
37
29
70
40
50
45
51
75
78
40
47
38
31
27
39
52
76
36
44
55
49
24
57
52
64
40
33
35
71
45
58
61
45
48
34
38
66
29
50
29
52
25
34
51
57
52
55
38
46
27
44
22
76
34
74
55
37
21
21
65
54
23
44
37
33
26
43
72
48
48
72
51
41
51
32
56
46
62
36
64
76
44
49
31
50
45
66
66
51
40
25
58
69
57
75
27
30
28
80
39
32
73
27
49
40
42
78
48
69
73
57
35
21
72
67
26
60
48
31
76
76
79
60
35
22
23
21
46
57
65
55
31
80
65
53
72
80
62
31
26
50
68
52
41
73
65
26
23
55
27
33
70
40
74
50
59
41
55
77
47
25
54
46
58
51
55
40
70
50
36
28
43
57
66
75
31
23
25
69
67
63
23
60
50
71
25
61
29
39
31
74
67
54
44
40
41
71
34
24
31
66
62
57
27
79
57
51
50
24
33
62
33
68
42
67
25
29
26
46
61
78
27
53
52
78
46
23
56
55
48
57
34
36
68
31
21
75
22
54
66
49
57
27
71
40
38
58
55
43
28
78
78
68
80
69
76
68
62
47
34
74
77
50
70
22
28
47
63
62
35
69
71
20
46
55
27
67
75
45
41
32
57
30
70
69
41
56
44
23
20
42
39
41
71
42
56
45
63
80
38
41
74
29
49
66
20
35
21
62
79
63
65
49
62
38
50
55
66
59
45
28
27
48
54
60
79
21
60
58
63
55
53
39
76
32
31
62
28
72
74
61
38
35
21
38
23
70
52
42
62
65
70
24
52
36
24
64
41
63
68
49
40
32
35
33
42
79
54
35
43
71
47
21
78
24
54
44
63
76
29
34
23
49
59
62
48
55
53
36
34
59
47
76
21
29
25
57
53
48
61
31
23
57
79
24
46
77
66
21
22
44
21
34
64
68
64
40
38
21
29
48
69
37
66
38
47
80
36
78
36
76
45
37
47
27
64
54
22
25
54
26
68
24
44
59
56
79
54
35
42
65
25
75
40
49
29
71
78
59
24
37
65
43
64
66
41
64
46
59
73
57
21
21
53
52
76
38
49
38
23
55
32
60
25
22
53
32
72
79
76
35
33
36
37
25
52
38
32
79
37
61
41
56
57
61
71
64
61
67
69
47
56
36
20
45
32
58
26
61
47
34
45
36
62
24
56
43
73
58
45
30
59
74
41
41
47
20
75
48
64
72
25
80
79
34
62
79
63
64
20
66
62
60
72
38
66
48
25
40
20
20
25
51
46
69
41
48
25
70
38
22
25
71
73
43
42
52
34
45
37
73
71
62
76
54
67
21
53
57
60
64
64
80
40
75
44
38
21
36
46
34
44
65
40
78
80
46
63
29
40
68
38
48
41
33
50
53
22
26
32
49
52
74
47
51
53
77
67
64
31
77
36
45
69
33
39
71
21
48
61
29
53
23
49
48
59
25
60
37
58
23
40
60
56
24
76
65
63
75
72
61
36
60
61
53
78
30
58
23
70
34
22
78
66
74
52
64
77
69
76
43
31
23
78
55
61
34
39
50
35
39
34
45
56
37
40
60
50
60
33
58
63
22
22
76
29
73
24
75
56
75
43
71
27
68
75
66
44
64
24
55
30
37
55
44
58
36
52
56
63
60
79
57
50
76
70
66
39
58
68
48
74
40
60
67
43
32
53
22
21
41
24
47
62
54
46
36
43
79
20
26
61
29
76
63
23
27
71
56
78
57
70
43
35
46
25
69
71
41
32
57
66
28
66
66
29
39
36
72
61
48
62
24
24
21
68
74
21
34
50
52
76
58
24
38
66
29
27
53
34
79
68
67
38
61
43
55
43
66
64
72
46
42
40
47
72
76
31
32
68
80
66
33
58
29
31
30
62
56
30
69
20
45
20
63
48
27
39
28
43
39
26
49
22
44
54
25
25
77
20
38
64
62
74
65
65
37
33
78
71
74
68
76
45
37
76
45
26
55
37
35
47
55
67
49
71
76
40
53
68
59
55
49
62
24
22
37
48
46
76
57
25
61
20
71
50
77
26
60
62
49
78
69
60
22
41
49
35
38
69
80
39
63
61
36
74
20
46
59
23
63
72
59
75
49
34
29
65
46
76
64
50
29
44
79
66
50
38
64
33
78
22
52
42
67
77
42
66
51
72
26
61
37
27
51
65
70
31
27
24
74
69
69
51
29
52
41
41
36
55
63
62
51
68
20
46
22
53
54
35
70
23
35
74
25
66
63
62
54
46
52
71
37
41
55
45
48
22
53
56
79
60
70
69
61
70
48
46
39
48
61
50
38
48
25
26
47
71
22
64
55
21
47
29
75
40
60
25
67
62
47
33
36
50
39
50
75
35
34
28
33
37
43
46
77
51
40
80
57
52
74
50
68
58
20
24
77
76
46
63
69
54
33
72
21
77
54
55
25
55
59
25
40
30
44
80
49
65
77
52
51
33
33
62
50
65
79
34
26
41
48
25
77
53
79
74
54
26
65
53
74
56
73
51
49
54
44
40
25
29
45
37
73
30
63
58
35
59
40
36
20
31
48
36
60
45
80
55
31
31
51
57
24
27
38
36
59
23
33
44
52
40
76
42
57
21
73
61
68
28
59
64
65
20
57
31
57
72
63
58
22
39
42
38
61
52
44
25
40
23
71
71
32
33
74
23
76
68
21
24
57
79
50
65
40
33
73
20
77
48
46
29
24
54
70
74
22
32
68
77
39
47
64
80
55
26
43
20
59
66
78
23
63
52
73
31
26
69
33
27
58
69
49
70
24
37
49
68
50
52
76
39
23
36
74
30
30
61
77
39
51
78
47
73
63
70
23
67
35
33
20
31
27
73
35
75
45
63
55
20
36
25
32
78
44
31
27
45
51
36
55
57
75
41
56
20
42
61
25
38
80
62
46
48
76
24
68
75
50
34
72
50
70
41
36
44
70
79
42
38
27
61
62
72
78
58
62
78
52
45
48
77
32
32
70
42
36
69
25
44
64
69
54
69
48
44
73
23
38
25
80
20
57
75
47
35
41
23
46
62
24
63
44
20
55
62
33
51
76
58
80
56
55
47
73
43
47
44
34
75
41
73
34
57
22
23
23
67
75
44
28
43
69
75
41
44
27
65
71
57
37
23
76
73
24
79
55
22
25
68
64
66
67
22
44
79
37
24
45
69
22
34
57
66
25
60
21
52
33
79
56
24
29
68
76
79
33
27
78
53
69
52
70
50
72
72
47
41
39
77
78
53
68
42
23
25
31
59
77
29
23
45
63
47
21
63
77
50
74
39
35
20
73
73
66
44
21
45
55
59
75
44
31
30
53
43
35
41
80
76
24
56
79
62
39
54
35
27
22
66
69
50
69
48
24
34
43
60
73
70
42
72
30
45
30
42
56
50
36
37
65
39
40
60
47
59
28
39
48
79
24
20
75
35
42
39
34
62
55
20
71
35
69
60
50
21
46
22
46
61
34
62
54
51
80
37
52
25
32
49
65
41
28
32
53
67
64
67
50
45
75
50
32
23
50
48
32
73
51
50
58
54
47
35
78
78
79
65
70
40
47
29
58
62
63
69
57
60
56
52
66
67
69
42
63
62
51
40
53
38
53
27
55
29
68
26
79
50
33
44
71
21
66
66
29
40
44
50
25
29
73
29
46
52
35
30
52
69
77
61
76
73
68
42
77
35
55
54
47
29
64
38
21
48
50
25
23
29
36
62
46
34
78
65
56
53
56
69
69
20
65
66
69
67
59
21
62
36
42
61
66
41
62
34
73
37
55
22
46
22
26
70
77
50
66
39
60
53
31
77
57
68
38
68
30
42
69
77
35
34
42
78
75
30
49
43
80
65
32
22
62
62
79
73
35
49
46
48
23
52
79
42
40
34
46
21
68
67
26
40
61
80
79
25
80
41
57
75
39
30
77
30
47
39
70
44
36
71
32
77
52
25
72
53
66
69
80
37
68
56
41
25
44
49
66
56
70
28
41
63
76
41
54
34
24
51
39
64
37
32
45
24
65
54
47
48
39
24
77
61
22
52
48
60
80
43
39
44
32
80
67
37
35
62
31
48
43
27
76
65
31
67
23
47
32
25
70
33
24
27
25
49
78
37
45
51
31
75
31
69
42
78
26
69
22
52
29
80
47
32
80
74
75
51
48
55
44
26
40
31
22
49
32
56
35
52
20
57
29
64
23
76
63
30
47
30
29
33
42
24
69
29
78
67
44
79
30
34
62
32
38
24
78
31
70
68
71
60
79
50
73
23
35
56
27
67
36
51
67
37
24
27
27
56
26
73
45
27
53
38
20
48
45
22
66
64
41
59
59
78
79
65
28
26
68
73
42
76
60
37
29
53
49
48
59
80
21
75
67
56
77
34
43
54
43
29
36
20
34
47
77
55
31
62
26
56
79
27
26
62
71
30
56
77
49
68
32
38
43
37
66
57
80
59
49
79
28
74
40
78
72
51
35
72
62
64
66
51
47
42
77
45
27
49
37
64
39
51
73
76
28
39
69
69
45
26
69
69
41
67
69
67
66
65
72
44
39
67
29
76
36
40
36
40
35
28
30
22
53
68
24
54
39
43
46
57
63
52
76
49
40
23
60
28
20
38
20
47
25
35
27
43
43
77
75
56
42
54
68
25
56
37
49
24
66
76
33
40
65
20
37
28
57
57
59
39
22
65
50
39
67
49
22
76
43
47
61
54
21
71
23
57
20
57
40
64
32
39
34
77
76
38
36
32
49
26
49
53
36
43
33
59
63
31
20
67
55
67
68
41
77
64
23
75
68
72
50
22
24
63
53
61
45
59
63
41
42
20
53
71
28
60
71
31
35
75
76
31
40
55
21
78
72
42
77
35
23
50
26
32
44
60
20
22
63
34
49
48
42
78
74
24
62
25
58
26
34
37
40
20
64
77
80
33
38
41
40
62
38
37
58
25
52
60
45
75
57
21
22
60
36
24
22
22
60
39
34
67
60
74
72
26
39
35
66
59
28
60
48
47
80
60
74
73
46
58
48
77
48
44
42
52
32
61
71
43
28
48
72
59
53
57
49
52
56
68
23
34
23
33
50
59
33
41
41
20
77
30
52
73
48
60
41
76
31
79
33
32
73
62
28
61
20
30
45
21
35
70
53
63
27
77
42
53
27
37
27
24
33
64
24
60
54
80
55
25
57
59
20
33
72
80
51
57
28
32
72
66
23
31
57
78
22
52
51
21
59
50
57
80
39
68
66
72
46
23
29
54
75
24
58
31
69
44
43
53
66
57
45
31
78
37
48
21
49
73
34
80
30
61
68
77
22
68
54
38
76
54
45
41
56
36
23
74
61
40
55
33
46
43
29
25
40
68
55
35
36
23
55
57
39
62
76
60
71
74
25
75
49
28
43
48
69
34
26
46
44
27
74
75
54
64
49
20
73
56
51
61
46
24
63
48
48
49
24
51
79
68
29
49
41
21
24
53
37
26
55
28
48
20
52
60
67
52
72
47
31
53
80
23
34
26
52
78
76
31
22
21
61
37
63
42
53
66
71
28
61
74
57
79
56
32
80
50
47
52
76
77
38
45
59
67
32
41
33
31
39
54
26
80
63
69
74
36
50
76
36
74
36
72
47
77
49
38
67
62
31
37
58
47
23
56
47
52
67
65
63
29
73
53
22
34
75
69
24
41
63
77
30
56
35
44
80
56
52
76
33
27
65
33
22
72
78
39
46
78
34
24
36
65
79
42
37
67
79
73
66
59
79
63
42
23
33
22
55
39
64
64
61
63
23
44
68
78
32
23
68
63
41
65
61
66
47
42
20
70
46
24
78
36
58
49
37
48
30
26
29
67
47
42
47
74
33
29
34
77
32
71
25
23
70
42
23
58
32
68
43
77
56
72
39
50
36
56
40
31
23
37
42
80
39
25
26
34
80
74
54
30
27
72
47
48
78
68
78
56
57
34
25
39
77
80
40
29
60
34
40
72
46
60
51
58
27
44
64
25
78
39
37
74
72
54
24
64
20
67
71
27
34
57
62
22
53
41
58
27
20
29
55
51
69
28
51
37
74
75
41
28
57
79
67
35
43
45
42
40
48
43
56
78
36
47
36
48
57
54
64
36
43
60
21
50
36
25
25
36
64
59
52
46
56
42
38
67
29
79
26
30
42
27
56
57
41
35
22
61
32
58
68
28
67
27
78
32
60
80
43
73
75
45
70
21
32
34
77
47
25
61
32
51
42
32
32
31
78
27
39
78
36
39
73
48
68
25
70
62
70
34
37
40
24
56
55
20
23
33
28
56
55
71
65
47
76
35
27
57
59
23
30
44
57
47
23
23
47
72
69
75
68
21
75
56
29
22
68
45
63
37
78
57
73
55
35
51
31
71
47
64
29
66
60
52
25
31
28
68
55
43
33
30
75
56
71
50
62
42
77
45
72
78
37
75
78
74
52
56
74
29
22
27
69
47
59
28
36
24
39
22
78
33
63
71
54
39
67
31
74
44
28
35
33
41
39
38
35
36
59
40
37
29
68
23
75
42
34
68
60
77
35
71
47
26
55
47
49
21
49
31
80
80
21
61
78
44
41
35
34
28
49
64
64
42
67
48
77
20
20
25
64
77
31
62
58
25
56
30
29
53
50
22
47
70
31
20
22
57
64
49
60
43
40
23
39
33
40
58
33
26
44
34
59
21
52
38
54
28
74
44
68
42
22
72
35
22
52
55
76
24
76
75
56
65
35
28
54
32
45
75
25
45
25
38
41
70
50
61
79
32
57
22
73
34
59
22
41
39
46
31
31
70
33
49
61
44
37
77
69
48
50
53
63
38
69
23
78
78
74
36
55
75
49
58
60
33
22
66
20
80
51
47
64
71
23
45
32
40
52
49
51
32
74
36
37
76
77
45
69
51
41
48
79
58
28
31
66
47
61
47
25
76
34
50
50
80
22
60
32
80
37
27
66
59
60
68
73
37
40
41
47
36
68
24
39
26
48
29
49
57
63
37
69
73
52
48
26
71
20
41
34
57
44
74
31
46
67
55
76
21
25
39
75
73
65
32
78
59
56
70
79
78
42
46
79
80
62
37
79
49
48
55
67
24
44
58
43
27
25
78
72
28
72
58
20
72
42
36
59
65
72
67
64
66
72
57
63
56
37
44
32
78
73
52
66
76
56
22
62
67
42
74
74
21
60
73
21
54
46
29
69
32
56
27
39
77
59
25
76
41
36
61
21
80
68
44
50
48
63
31
40
61
42
28
58
63
39
38
30
74
52
53
32
74
71
57
73
62
55
29
21
49
21
30
78
79
47
21
65
68
69
41
38
36
55
63
77
61
46
53
76
25
57
59
72
72
62
43
56
36
75
24
55
49
59
28
68
61
40
30
44
72
56
28
70
76
47
73
67
46
41
27
47
31
67
71
41
78
67
57
77
79
35
35
71
70
38
37
71
77
46
49
74
51
25
26
51
49
25
66
71
67
27
33
42
54
80
62
30
27
47
35
30
28
71
48
68
21
54
56
40
24
27
40
54
47
57
35
57
21
31
29
67
23
48
46
62
27
53
29
64
26
66
26
38
50
42
50
64
34
28
56
26
40
63
77
64
54
25
48
64
66
80
64
63
71
36
59
66
62
30
70
35
51
42
25
41
41
79
48
21
57
41
66
27
27
24
68
43
69
70
62
26
26
25
24
60
64
62
76
53
21
78
59
45
64
40
28
37
24
35
47
30
38
76
62
57
44
48
28
33
40
51
72
30
64
33
68
25
52
66
47
69
62
72
54
56
72
69
24
20
71
35
47
57
50
72
54
75
35
59
59
56
58
59
67
56
80
26
29
39
56
55
65
70
24
25
49
42
72
33
32
26
36
30
80
54
80
47
54
21
41
34
44
29
56
34
64
56
39
28
34
43
54
46
54
24
23
34
49
33
36
74
56
67
30
53
33
27
51
30
44
53
41
23
22
55
60
20
21
22
63
37
61
38
21
24
35
77
59
72
21
53
49
79
53
37
69
72
25
37
78
78
24
61
69
36
20
58
78
69
25
44
47
63
45
79
20
70
21
67
48
31
56
26
53
57
47
68
75
55
43
76
45
45
41
60
63
74
23
47
39
43
68
59
25
53
35
71
21
38
31
34
34
31
45
45
33
63
69
58
71
65
21
77
49
30
58
70
70
50
21
40
56
60
32
26
26
48
74
57
27
64
58
46
76
60
42
80
25
58
78
77
28
23
64
36
26
41
63
49
31
35
57
48
60
22
48
37
39
49
27
73
47
64
38
49
76
72
21
25
48
69
48
66
80
45
37
42
46
31
66
43
40
75
55
34
59
52
29
48
68
47
61
41
69
69
66
39
32
74
29
62
49
32
52
52
74
66
30
80
80
47
25
65
29
50
22
68
21
65
78
36
53
71
51
29
63
54
60
36
28
73
22
69
25
53
37
79
51
69
65
69
30
57
47
31
34
53
69
61
74
58
55
30
64
28
46
32
48
39
64
39
35
67
36
73
27
38
55
49
56
65
51
48
75
36
75
26
50
39
39
26
20
38
80
75
49
53
37
74
66
36
31
30
25
24
55
79
47
75
75
67
73
68
49
24
62
48
24
71
21
62
33
31
26
37
27
69
47
54
46
24
32
58
76
52
59
21
32
47
74
42
79
25
55
30
35
46
64
51
48
45
57
54
58
54
21
31
56
79
80
35
77
32
59
71
23
57
68
58
64
70
43
27
39
67
48
40
27
50
48
39
57
80
53
29
39
50
76
64
34
49
68
27
76
32
76
77
29
72
66
57
20
30
80
41
38
32
47
72
33
76
38
57
56
21
57
30
40
80
46
77
40
48
48
31
51
62
71
27
28
67
32
59
46
44
24
55
41
34
29
76
52
38
56
31
48
80
64
39
38
44
78
80
64
79
48
67
28
29
51
78
50
63
49
73
38
32
39
64
77
78
57
76
62
21
76
58
60
74
76
20
61
25
75
24
71
80
69
61
51
72
60
45
42
40
42
57
45
24
76
38
33
20
35
75
26
48
54
57
69
37
51
37
55
66
71
70
42
31
39
64
60
44
63
42
73
60
35
29
58
66
51
36
53
21
61
35
61
77
39
72
27
27
73
20
20
61
64
30
20
56
56
28
65
58
47
56
42
62
58
23
36
63
55
71
73
76
20
76
58
24
49
57
42
30
44
34
38
43
39
36
55
41
58
68
34
35
57
55
75
79
74
53
63
44
36
31
26
32
79
33
34
58
29
64
54
21
30
69
80
62
27
80
56
28
79
56
42
69
31
66
59
48
60
80
39
30
67
66
69
73
48
21
53
30
69
63
70
22
50
39
33
20
26
66
80
59
51
72
38
43
42
48
47
49
48
66
47
21
38
70
36
66
77
39
73
72
23
50
41
52
39
77
26
64
46
53
40
22
80
54
53
59
53
45
40
70
66
48
65
37
39
53
26
30
22
46
55
33
60
79
50
27
73
24
71
29
36
57
29
26
28
49
74
64
61
64
43
22
32
22
48
75
64
80
64
25
57
61
50
77
79
22
61
38
44
47
22
61
55
24
60
60
42
55
64
34
61
75
33
80
64
33
37
55
76
28
51
56
42
45
38
71
46
22
63
76
70
37
50
28
77
38
22
45
30
35
76
30
52
70
30
39
48
51
21
62
25
49
30
75
23
58
27
63
41
46
20
34
34
22
70
50
35
38
57
32
20
38
27
30
24
71
61
46
46
23
54
30
37
67
43
66
64
23
60
37
25
23
63
64
30
59
56
76
57
67
65
70
24
36
36
41
59
38
67
37
44
59
47
63
65
40
70
22
77
52
67
35
45
27
37
48
30
77
46
77
34
38
66
79
53
60
21
65
43
53
60
54
46
47
65
46
71
50
56
28
33
35
47
35
78
66
67
30
49
43
46
29
20
67
36
75
42
68
23
32
41
67
25
21
34
44
32
61
57
57
53
49
64
23
26
21
35
30
46
79
50
69
70
20
60
61
21
33
73
32
42
71
44
34
44
69
57
32
60
21
66
28
62
54
76
47
71
41
70
42
33
69
42
65
59
77
39
29
67
47
21
47
57
24
69
34
73
34
60
46
38
21
76
49
29
40
47
26
43
42
47
47
48
48
22
51
63
76
50
62
57
52
21
43
80
24
61
57
68
42
75
66
64
46
75
58
74
28
25
60
22
64
71
67
56
45
60
21
73
22
79
31
57
34
71
20
69
80
25
77
28
24
36
59
41
64
74
75
55
71
73
28
77
65
62
30
78
23
46
42
42
55
55
34
72
57
37
53
28
49
70
27
67
32
72
80
20
79
66
27
77
59
47
78
65
66
58
44
56
75
71
77
39
42
22
79
58
20
60
48
26
75
38
71
33
57
76
31
70
60
33
20
34
26
36
22
48
40
64
63
33
31
25
60
49
43
23
74
25
57
31
46
62
80
69
43
73
72
41
48
20
48
32
36
34
57
36
70
50
61
24
39
32
44
30
49
44
51
77
55
23
28
67
23
71
22
62
41
25
57
27
25
35
43
20
56
30
45
49
47
33
21
75
36
66
32
32
77
33
70
61
28
49
25
69
27
78
68
40
56
53
51
20
39
73
32
61
40
67
66
63
54
59
23
53
27
68
32
27
40
37
24
66
57
71
53
35
33
30
70
68
80
40
24
50
27
59
40
32
43
50
74
63
56
37
35
21
74
45
41
63
54
56
37
31
34
22
29
56
60
55
22
36
75
57
60
35
46
30
54
72
52
32
76
75
49
47
57
58
24
25
75
38
71
55
80
28
40
60
56
32
46
48
53
43
79
62
20
79
51
38
68
48
70
36
60
70
67
21
79
24
71
76
37
45
79
74
49
37
51
44
49
58
69
46
32
78
63
72
37
52
43
76
23
68
76
68
47
34
46
71
61
46
24
36
36
32
48
65
39
44
27
25
70
35
43
39
36
75
63
65
78
54
73
51
23
64
24
34
60
71
20
26
34
72
68
79
31
74
38
21
45
46
29
59
53
59
62
55
48
57
33
33
43
38
52
53
67
64
24
43
43
50
22
70
77
31
57
29
48
22
54
75
32
46
54
63
70
58
74
68
42
30
65
63
68
33
70
41
45
80
77
61
66
40
52
26
49
76
30
62
31
62
55
60
79
60
60
40
49
23
59
24
56
50
61
48
39
41
76
20
59
79
65
56
60
32
31
38
71
54
70
22
74
39
80
38
66
29
31
38
29
69
70
46
43
76
25
21
32
66
20
41
32
61
74
73
54
79
62
44
78
21
38
72
44
21
41
78
49
32
50
36
46
25
75
24
74
63
70
47
37
66
59
45
67
76
53
46
35
53
29
24
56
47
56
80
37
75
67
79
26
77
39
68
78
55
23
59
64
47
29
21
52
75
55
27
76
70
70
33
50
79
29
71
24
31
69
40
54
30
71
52
49
59
51
42
44
76
42
48
36
80
35
62
58
33
49
51
63
21
65
69
54
78
31
80
41
28
39
63
65
43
65
33
29
39
66
63
31
49
59
60
47
31
20
69
29
72
39
33
36
34
38
65
62
46
68
65
65
28
63
29
76
30
61
22
53
34
69
56
53
60
26
25
31
54
68
64
41
79
39
25
70
48
73
80
44
20
63
21
27
80
31
68
74
40
43
43
61
50
73
73
80
27
55
67
20
48
44
60
48
49
24
73
22
52
30
76
21
75
29
43
65
38
70
33
69
30
21
44
63
37
74
70
25
50
48
40
60
34
76
53
35
38
70
42
51
45
44
29
49
69
71
78
38
74
20
55
51
54
32
36
223
225
135
162
200
75
144
72
239
98
151
219
205
74
217
70
77
209
190
143
91
141
199
165
140
94
191
75
172
230
81
237
109
107
74
200
212
182
107
78
75
150
242
247
232
81
185
84
183
147
177
104
78
162
197
107
157
115
108
168
126
174
181
166
209
179
212
120
88
89
176
234
116
129
166
187
131
190
228
137
142
117
194
218
136
105
80
106
214
186
133
90
161
188
136
180
93
222
167
185
163
152
75
228
149
138
235
85
91
184
84
170
99
177
72
84
162
207
102
204
218
208
228
189
240
216
83
98
162
122
153
161
212
108
102
90
210
215
182
196
199
241
162
73
148
90
112
182
145
185
131
77
200
207
117
173
85
243
214
79
196
217
208
174
114
170
148
156
147
224
183
123
94
112
149
148
158
86
236
169
223
155
137
123
159
204
178
143
103
73
221
82
145
191
128
226
122
237
110
129
221
194
227
235
242
176
73
244
203
159
206
145
158
221
250
113
223
94
178
189
204
128
247
203
226
203
165
88
95
162
176
160
186
120
134
209
155
178
133
245
148
243
237
232
144
197
151
198
142
164
160
238
148
197
250
164
218
149
147
89
179
84
182
204
245
173
173
147
217
171
82
169
137
76
101
173
143
176
234
178
78
70
175
192
153
175
246
192
229
200
154
194
211
234
233
76
152
79
165
91
93
235
128
235
169
135
90
125
107
103
185
164
114
219
109
193
95
216
158
161
231
70
179
114
112
161
191
105
248
143
224
209
104
103
142
78
124
155
197
161
104
208
73
156
92
152
222
87
74
160
154
246
161
170
123
117
109
72
148
98
173
201
70
113
187
204
219
132
233
88
176
229
178
136
191
219
156
124
83
171
146
200
249
240
243
78
142
220
247
89
131
240
193
240
162
194
84
211
213
169
77
110
114
119
122
189
136
146
171
122
134
146
109
136
134
145
86
214
194
159
94
209
110
71
70
195
185
96
160
99
193
134
250
133
153
191
205
236
95
140
240
235
146
118
99
212
232
175
140
142
125
200
137
147
219
209
132
142
153
182
210
115
160
195
71
146
144
183
105
87
244
211
217
197
91
156
227
155
174
234
113
221
217
93
84
172
157
102
125
141
186
84
74
220
113
193
192
98
134
170
217
113
129
131
119
143
238
146
177
171
86
129
183
115
92
159
101
80
163
106
172
100
229
152
141
168
174
215
183
161
225
91
128
104
113
223
218
100
177
146
163
188
89
189
240
208
142
214
146
220
205
231
195
164
115
82
137
160
165
175
189
105
211
245
147
204
72
198
202
221
172
122
196
162
74
210
95
94
207
124
131
160
88
187
142
224
226
246
243
174
127
231
193
143
247
95
108
246
179
102
130
245
72
237
167
131
154
161
135
247
171
124
132
140
105
182
194
185
178
221
107
139
176
105
239
233
170
150
178
139
235
193
94
248
72
121
199
183
210
187
157
160
75
215
86
161
88
197
177
149
128
147
121
134
206
250
178
215
122
213
120
242
80
119
232
155
198
127
234
235
149
131
194
152
188
107
79
192
188
179
158
158
89
91
94
87
70
113
71
239
84
210
204
128
111
202
215
224
181
173
163
138
122
109
159
187
115
192
97
81
195
179
161
227
225
234
82
105
155
177
135
202
203
203
250
99
157
117
226
195
199
170
82
170
151
159
188
161
137
179
159
200
193
126
95
233
145
203
233
89
155
249
104
196
186
186
93
216
236
96
239
188
219
193
201
235
218
76
106
160
155
184
180
213
94
125
146
220
148
139
99
180
72
166
142
161
99
143
223
191
99
80
172
241
215
203
169
170
230
108
122
154
107
198
209
109
194
248
243
163
88
121
103
81
73
152
77
161
122
168
88
219
143
73
215
91
156
223
146
150
245
81
187
215
89
140
201
185
100
164
120
238
178
189
150
103
161
129
246
77
87
78
119
114
210
124
77
104
106
97
135
124
102
94
179
170
154
143
201
216
225
238
207
103
158
203
74
212
234
246
73
192
220
122
245
148
175
136
132
218
183
75
112
180
94
247
181
112
230
144
210
115
224
209
134
163
124
139
190
208
164
88
147
77
153
159
138
208
177
207
211
117
81
87
173
131
104
147
239
209
211
230
174
220
175
144
176
175
161
195
125
77
155
158
250
194
94
173
111
230
70
142
233
83
135
126
242
183
171
118
102
77
250
146
193
194
104
165
198
177
120
214
140
190
133
229
109
98
222
121
141
135
104
213
95
176
236
200
246
182
113
178
193
212
88
165
109
218
176
178
115
232
190
166
82
132
233
195
80
245
124
192
234
247
140
163
231
110
153
117
164
218
226
203
223
117
181
196
98
169
244
82
247
93
122
103
123
241
225
115
166
116
203
146
89
85
80
144
115
202
113
155
206
208
106
72
187
195
142
220
156
182
245
113
181
177
218
136
199
173
203
124
94
173
179
169
81
191
140
193
211
73
187
92
105
191
137
226
87
169
197
107
172
102
158
149
102
124
202
104
146
87
170
193
90
75
99
117
201
162
250
96
238
210
114
245
235
184
99
214
86
154
109
170
149
241
210
135
88
242
228
191
144
172
174
89
149
184
96
152
179
171
150
113
90
133
100
225
93
100
149
245
221
149
89
237
185
122
176
231
107
119
159
80
216
223
124
114
163
135
175
127
161
159
217
71
230
82
220
230
135
133
134
165
72
209
148
136
210
161
209
93
96
154
115
209
178
189
167
243
248
161
139
127
221
95
136
157
180
228
146
175
119
209
167
151
235
79
208
93
227
246
121
183
240
162
70
102
249
174
250
74
177
206
140
164
95
241
98
179
131
142
242
84
146
81
215
178
181
208
206
90
216
83
94
153
143
101
135
108
232
241
234
159
111
136
237
243
239
230
207
130
233
132
162
147
206
111
221
161
154
181
75
214
145
206
243
191
170
127
189
102
143
192
158
177
106
143
75
147
161
213
240
113
132
74
209
176
130
91
232
183
76
113
134
245
189
244
172
142
165
232
99
112
181
236
130
151
113
237
176
129
110
218
75
95
200
203
198
199
186
230
224
124
153
143
177
144
145
156
87
206
96
229
100
164
132
143
127
178
140
240
75
214
104
218
149
166
150
105
150
193
198
141
124
139
107
142
125
218
170
249
199
188
80
107
109
192
218
199
108
192
219
192
211
182
207
171
237
218
81
93
103
134
132
161
87
168
213
188
110
157
109
155
186
115
150
190
233
189
162
85
71
90
125
204
221
70
182
188
139
134
245
187
165
71
97
248
148
87
242
159
204
80
204
230
72
119
76
155
207
108
138
169
181
184
190
88
120
113
91
119
130
226
151
162
238
189
205
91
201
153
120
248
91
219
153
92
183
181
225
94
204
99
182
222
118
167
190
208
95
112
149
143
110
101
148
81
125
123
214
77
127
87
146
130
241
142
230
110
72
94
180
171
168
193
84
192
146
75
134
244
156
197
102
103
92
167
238
180
125
204
75
127
174
174
224
80
96
86
175
192
182
241
175
214
122
153
79
122
169
157
217
146
177
138
177
88
109
232
247
145
190
77
157
129
93
160
139
174
79
128
74
78
206
205
126
163
104
128
164
190
168
214
155
117
126
153
139
76
90
132
201
151
208
78
108
237
249
215
187
179
155
76
92
160
118
166
168
148
82
174
200
209
120
168
78
143
167
140
100
201
141
175
83
156
94
208
70
144
176
226
189
242
203
112
239
79
128
203
153
133
111
162
235
195
109
164
226
167
125
101
104
104
215
70
202
214
180
94
128
113
170
212
149
188
121
229
250
216
140
157
237
197
200
248
203
116
250
244
236
208
226
202
195
247
99
186
213
80
114
114
89
118
226
190
80
72
181
78
163
144
201
247
132
186
209
222
196
223
74
129
119
115
204
204
110
116
139
219
163
74
179
221
151
208
225
159
78
71
70
73
82
97
223
187
198
75
190
75
103
178
83
78
223
125
73
121
105
246
194
71
71
161
128
142
192
131
197
161
216
150
133
76
214
219
84
127
183
78
127
214
121
211
163
131
115
139
239
172
193
215
228
139
201
117
88
240
145
196
127
196
237
101
246
205
163
202
112
216
220
118
96
84
206
238
108
191
176
202
133
240
121
215
139
132
185
178
187
132
160
230
235
146
123
155
161
239
91
143
181
156
151
81
80
225
186
102
235
118
118
150
104
216
110
139
134
71
173
84
224
152
86
225
205
134
140
145
172
197
126
240
100
108
193
77
123
100
106
177
134
153
94
160
216
92
165
230
117
155
113
171
177
134
161
110
82
183
198
191
206
210
248
96
205
81
171
124
243
146
246
131
218
76
108
216
216
187
157
77
135
204
88
153
90
100
224
113
139
107
140
128
202
226
155
178
200
244
157
118
186
231
108
130
151
246
123
115
241
111
74
229
123
108
88
101
233
142
190
231
240
153
173
245
218
233
115
163
120
93
76
195
155
135
76
134
165
113
102
182
212
241
137
117
203
147
177
73
133
161
191
224
211
89
187
107
181
166
158
232
116
247
145
234
164
236
182
147
213
103
182
107
246
180
126
124
107
240
125
176
238
200
101
97
188
139
190
115
225
244
155
83
213
145
135
203
111
90
75
114
104
152
245
124
82
249
203
188
147
130
111
233
71
231
232
93
178
209
248
241
225
182
219
227
139
231
134
145
189
163
169
160
119
142
180
75
238
231
102
172
128
157
97
116
108
239
163
215
119
97
219
166
112
87
114
72
70
210
202
86
167
204
114
178
247
129
172
77
70
238
83
82
92
213
72
88
226
89
235
170
79
201
216
108
206
97
166
175
135
243
202
160
148
208
156
106
153
245
107
148
227
229
154
155
165
125
198
238
118
127
106
180
102
193
248
144
102
246
213
215
239
203
167
105
198
117
147
228
162
137
160
233
223
179
105
77
95
226
213
126
128
152
122
114
202
103
101
221
180
236
72
72
228
193
245
104
86
156
133
158
147
132
175
91
102
103
85
148
107
249
136
110
121
215
153
200
250
226
124
75
214
143
75
102
87
127
123
108
157
245
168
114
197
210
203
224
161
127
115
212
150
193
241
138
221
98
176
245
189
219
165
231
73
206
74
100
196
128
91
231
229
190
174
106
113
230
102
155
108
112
155
199
221
237
134
196
160
176
96
121
182
186
73
170
142
227
148
143
124
110
139
148
163
97
133
114
164
101
133
142
207
230
133
123
88
185
103
227
227
131
235
147
119
177
165
142
102
158
230
147
106
154
168
128
159
73
243
181
183
139
174
164
101
143
248
248
72
233
70
118
210
150
124
147
171
212
116
189
216
184
154
173
169
219
218
191
101
173
73
227
84
241
242
144
102
122
192
178
211
177
195
214
213
235
246
223
138
136
144
76
149
131
168
220
92
104
133
249
139
203
224
172
241
177
116
213
75
150
84
194
230
250
113
133
239
167
86
110
156
235
180
90
80
113
156
74
228
223
85
111
92
126
136
150
173
212
129
170
118
136
211
76
145
240
112
154
243
247
199
197
129
205
229
193
104
210
152
226
92
120
122
200
163
229
217
185
117
205
237
132
124
89
114
226
164
159
147
134
84
236
140
193
159
212
196
148
211
152
164
167
192
143
146
153
206
207
197
118
189
84
86
243
155
76
95
233
223
248
185
164
223
237
178
171
209
180
228
222
189
222
185
194
194
235
153
127
151
131
86
186
193
154
126
162
158
113
119
237
150
97
120
81
168
112
153
147
217
244
98
236
197
176
155
249
135
143
92
218
225
156
248
82
187
127
141
92
82
173
79
148
96
193
247
127
239
182
219
238
77
203
212
238
119
103
103
131
95
232
135
175
125
202
225
91
225
149
98
210
198
92
137
82
232
177
187
179
194
242
248
230
248
209
111
165
121
179
178
94
195
102
94
153
96
169
212
212
102
104
159
152
93
244
143
99
216
133
71
237
154
113
170
152
70
234
99
243
98
246
244
216
209
83
148
73
176
160
193
226
214
131
96
208
94
142
118
211
91
154
245
208
157
182
216
210
71
220
82
145
161
86
166
195
118
94
221
119
170
196
79
90
188
104
202
210
246
219
94
190
94
196
240
191
227
93
142
156
240
144
169
151
146
248
189
114
117
74
223
82
157
143
157
146
120
115
150
181
241
176
207
178
81
120
220
235
222
171
170
221
169
138
113
232
126
150
130
205
237
134
94
143
111
209
195
115
142
194
215
166
130
84
224
86
186
249
101
166
152
243
82
81
198
236
234
193
114
164
125
83
117
86
223
146
208
115
70
221
167
249
79
221
90
132
170
146
221
223
223
166
227
121
101
243
208
108
161
241
148
129
134
102
244
140
164
163
236
216
211
90
216
83
215
206
212
188
185
131
216
130
133
94
188
129
151
175
235
194
208
81
148
186
146
87
145
215
201
171
148
203
98
75
72
79
102
195
236
77
250
124
248
210
203
210
95
171
133
219
193
147
193
169
112
71
208
105
169
139
160
149
195
188
229
114
160
81
83
143
155
141
99
115
98
207
127
161
107
203
79
194
122
94
212
100
156
216
228
201
113
191
135
131
153
148
250
203
199
230
85
247
206
95
218
89
93
180
70
241
116
220
187
144
226
232
146
179
139
148
211
113
142
242
139
213
210
201
226
227
173
198
214
70
117
72
173
241
130
182
146
192
221
217
132
207
70
143
207
78
175
245
215
92
245
152
82
222
95
240
139
196
177
73
223
111
210
88
162
121
171
225
77
195
161
204
229
242
146
210
243
201
99
165
88
173
151
239
236
227
215
154
169
81
137
229
180
249
235
99
205
226
122
137
115
188
126
161
77
127
88
174
91
116
143
220
80
110
164
89
217
88
241
158
72
196
245
72
176
138
90
199
195
153
184
172
83
114
73
119
229
243
107
74
107
245
189
247
91
239
197
240
233
72
162
221
140
78
191
175
179
133
227
200
81
231
105
130
190
158
239
216
247
137
123
81
202
99
136
205
162
100
228
122
211
209
109
234
117
106
142
167
118
81
133
223
243
161
189
165
216
225
101
137
169
194
188
79
238
165
217
95
204
147
190
247
78
202
225
170
178
181
118
207
133
189
183
200
237
76
160
143
119
106
117
147
126
90
158
182
141
162
92
132
146
229
244
191
153
72
240
147
117
155
204
218
115
95
138
128
145
166
234
100
137
192
187
181
165
227
83
174
170
115
82
192
145
153
232
189
115
128
187
187
132
85
92
173
161
137
130
96
210
127
228
164
185
196
235
231
188
249
232
123
89
75
166
133
84
187
228
156
232
84
217
81
228
163
113
82
138
189
244
89
215
97
127
246
96
123
156
222
71
128
174
247
154
112
146
131
75
142
119
170
107
216
189
217
86
172
237
97
235
118
145
211
196
126
180
160
105
130
149
250
135
195
148
235
240
244
75
123
174
87
213
219
241
124
171
236
112
167
138
215
199
195
180
109
110
97
140
246
183
247
124
174
236
221
186
223
84
152
229
169
224
177
227
202
203
176
245
137
130
92
167
133
248
143
140
112
234
98
240
171
189
233
154
77
180
136
217
87
197
98
218
178
173
73
95
212
229
239
210
169
156
162
141
145
233
175
139
226
229
163
225
113
177
171
122
179
122
127
139
203
160
73
95
183
100
243
119
244
113
143
121
247
219
151
78
129
161
113
221
149
87
249
234
196
147
210
134
99
138
232
126
85
85
226
125
191
219
137
102
177
138
161
110
146
114
156
73
93
211
137
225
175
70
243
188
140
153
101
79
166
154
225
197
122
123
214
199
115
191
107
201
200
238
96
84
241
200
162
108
106
230
238
220
81
226
161
103
131
84
77
76
106
182
241
109
84
95
213
234
80
200
115
109
165
221
209
117
229
234
107
244
163
213
150
183
247
143
190
168
111
112
182
137
151
114
137
248
134
237
224
243
186
216
85
155
132
186
246
72
174
137
90
207
151
92
202
191
196
203
125
200
112
241
87
217
229
117
230
222
98
87
146
223
218
89
140
235
77
93
158
178
90
73
240
246
193
225
110
218
116
109
134
156
149
228
130
127
87
185
197
130
217
95
84
150
232
222
170
134
200
181
154
98
207
84
210
115
134
123
78
110
159
169
201
247
122
97
170
190
222
151
194
159
152
236
238
144
178
238
92
246
121
198
142
177
217
94
222
137
227
122
135
173
95
137
76
181
250
200
194
126
154
201
235
93
153
122
214
235
169
147
183
140
113
139
245
213
249
245
179
158
170
227
145
197
94
217
202
182
158
109
101
179
182
204
150
232
229
119
125
72
183
70
122
149
126
99
151
136
113
180
100
75
84
184
245
227
200
242
144
89
125
200
110
134
209
175
166
239
182
74
114
80
167
248
183
146
122
225
164
164
150
132
150
97
98
128
243
143
108
155
189
164
128
100
72
126
165
216
105
79
137
158
129
173
229
116
82
174
211
219
225
89
100
205
110
75
128
235
135
241
179
93
143
89
247
171
239
236
78
131
210
232
93
179
160
126
226
83
103
105
99
205
129
151
88
111
196
189
224
112
104
97
141
116
236
71
204
154
191
228
99
112
186
182
75
126
186
72
201
127
211
117
101
108
198
94
142
78
227
246
163
205
74
162
127
234
117
107
153
121
151
241
160
90
249
142
144
191
197
89
186
241
77
107
107
249
106
138
141
165
86
100
134
107
151
213
206
132
138
216
206
126
149
134
91
165
163
107
80
245
136
213
152
80
88
73
128
196
216
70
108
248
237
148
234
244
226
203
161
157
114
133
218
166
92
246
185
91
170
83
100
174
72
215
125
92
101
137
199
171
159
132
211
238
208
145
81
207
198
171
234
168
101
136
236
137
164
178
224
72
144
238
193
190
143
170
117
101
151
199
212
201
227
249
123
208
195
146
228
115
76
83
165
249
127
109
79
135
130
238
200
187
85
134
241
144
230
245
140
120
74
115
237
162
140
223
122
105
141
85
117
213
201
249
194
162
208
98
244
139
155
146
185
230
197
180
123
101
248
165
133
212
191
157
240
135
99
213
226
121
234
249
172
165
106
74
110
100
199
181
237
222
224
146
112
82
201
182
246
131
91
232
168
173
214
70
176
133
197
244
82
118
210
191
120
144
230
113
112
135
169
212
180
147
143
167
158
181
165
131
182
82
154
149
118
196
127
146
168
230
80
189
121
159
94
189
222
187
176
115
143
179
135
113
205
177
238
192
249
229
125
183
118
71
114
162
164
115
234
113
212
136
206
100
199
245
133
107
201
87
147
214
186
153
228
220
128
76
235
201
166
212
87
177
197
172
209
78
200
196
142
150
129
82
227
199
104
207
191
219
190
195
149
151
130
114
190
242
161
121
128
143
234
88
117
134
164
223
93
244
179
196
112
215
119
212
173
85
196
107
215
218
193
117
117
75
224
72
250
79
186
179
161
143
203
227
161
247
197
163
238
170
93
238
123
111
231
71
172
173
246
172
94
91
156
148
220
145
245
89
211
156
172
186
124
112
243
179
126
80
231
113
161
171
98
228
162
246
228
108
219
201
142
250
231
127
137
197
91
81
118
141
178
200
161
92
203
169
114
198
182
95
95
130
117
169
128
118
106
84
169
70
70
87
159
196
90
120
196
91
149
163
99
207
81
76
162
211
136
139
246
170
75
177
132
150
192
149
203
249
74
195
139
208
70
153
192
148
221
219
70
226
77
144
192
78
100
75
105
91
126
74
96
70
93
117
83
144
94
220
185
94
71
161
188
216
195
89
107
193
234
207
208
163
158
167
197
210
236
87
198
98
122
147
83
222
172
172
219
122
136
209
175
141
199
215
240
87
144
146
225
161
143
131
81
160
109
175
175
193
115
236
208
240
246
185
85
101
119
96
148
216
151
120
85
202
88
201
89
212
80
109
248
190
105
116
87
79
214
165
134
207
136
241
166
144
137
76
81
226
129
229
112
146
133
112
84
118
86
180
103
129
191
123
226
102
150
145
101
136
153
99
177
205
171
164
234
132
98
158
149
74
210
167
72
221
194
179
181
118
232
181
126
103
109
191
196
168
226
123
206
142
175
190
233
215
240
176
131
108
86
193
182
227
217
210
129
76
120
164
193
140
205
127
77
131
161
167
159
154
137
80
171
149
154
151
220
151
240
230
130
226
109
78
78
128
78
155
98
172
223
185
224
94
206
220
76
211
170
111
103
132
176
94
188
248
199
163
169
193
165
237
81
215
107
161
82
206
100
248
208
146
118
216
194
177
92
239
175
134
244
116
165
231
151
95
150
231
126
126
179
70
113
182
215
140
73
108
149
138
241
125
128
242
202
139
147
88
181
208
139
141
133
237
95
134
105
234
157
73
103
93
237
147
159
104
144
248
80
216
112
106
239
98
206
114
153
212
184
99
207
153
245
188
227
103
122
119
222
86
249
120
127
188
82
243
81
113
118
220
249
148
121
71
242
107
102
150
203
238
213
212
215
94
219
82
234
249
201
217
133
196
206
143
82
167
235
239
190
212
131
114
217
125
150
175
71
92
120
167
88
129
195
212
168
226
198
220
137
164
154
150
109
84
143
221
228
190
121
169
248
114
99
157
218
209
91
117
128
96
111
89
175
144
195
127
243
221
218
235
201
117
129
219
101
125
231
213
80
174
166
125
247
213
93
96
226
100
175
92
227
189
138
148
124
96
119
140
204
116
111
93
113
168
196
184
106
211
167
133
244
166
229
133
121
93
197
151
129
112
110
77
129
87
211
240
216
239
158
124
168
118
204
213
245
88
208
130
106
214
222
185
121
178
91
166
71
104
91
197
72
148
160
103
212
75
122
214
152
121
110
77
152
239
207
180
77
174
172
177
193
249
239
71
213
244
250
222
87
120
96
200
135
201
209
233
244
183
152
175
88
245
100
119
229
148
192
104
119
170
70
190
126
218
227
229
220
213
127
103
245
212
84
228
107
102
216
193
204
238
83
245
148
245
177
81
159
142
168
206
97
157
115
118
134
81
244
137
104
200
129
242
246
81
94
223
179
105
163
165
73
230
175
244
236
74
80
99
174
170
103
145
217
105
72
147
121
89
85
148
216
109
81
142
149
141
91
223
71
244
225
235
228
112
94
88
119
85
113
230
190
93
186
199
196
136
237
74
131
127
103
145
110
179
248
183
181
201
138
118
133
190
178
225
78
103
205
169
105
206
70
107
133
189
186
119
209
130
111
94
168
208
149
195
236
187
130
119
73
250
114
230
162
94
215
182
91
132
242
152
166
157
121
232
78
217
243
224
149
116
219
89
175
206
207
208
70
164
180
122
91
77
250
215
158
82
225
204
179
153
224
89
217
134
133
184
91
132
236
179
132
195
172
237
89
192
111
76
76
240
232
77
70
74
101
248
210
188
182
202
178
182
221
174
138
119
123
104
233
73
239
83
247
95
226
118
192
90
88
183
170
91
214
127
118
234
181
107
130
224
103
190
82
173
120
193
186
230
212
116
150
161
174
213
209
142
211
168
238
200
117
165
141
238
206
220
83
82
95
184
101
101
176
192
101
120
242
75
156
76
212
175
187
242
79
211
193
242
243
123
138
123
248
94
224
108
169
141
131
172
186
213
89
125
222
162
160
111
130
114
204
250
202
135
170
86
165
190
108
250
200
164
98
179
175
84
225
94
93
155
165
197
124
184
97
94
110
80
240
240
70
155
147
111
152
174
115
164
97
217
97
83
148
234
235
133
244
169
156
142
152
121
72
171
105
122
167
148
98
212
247
85
192
143
192
81
156
124
91
115
188
88
249
217
119
115
159
70
214
79
247
219
203
100
142
206
132
244
186
165
249
113
226
178
191
76
159
90
238
103
189
133
224
105
104
233
174
190
186
82
201
149
221
164
210
135
202
240
234
221
107
83
96
76
132
192
170
183
117
159
162
236
122
162
102
223
105
180
96
100
186
98
101
105
70
91
161
225
177
218
126
82
113
93
232
250
234
114
194
144
204
80
147
109
247
240
96
241
112
159
205
146
248
208
195
242
74
246
78
100
82
147
104
176
162
168
204
170
170
103
106
216
231
202
97
115
125
147
161
87
117
223
212
198
104
192
205
99
169
190
100
95
209
76
200
146
223
188
106
89
192
229
219
222
231
188
174
73
93
110
230
133
111
191
92
200
234
154
124
247
152
88
123
120
249
208
154
199
210
70
159
173
74
78
188
134
235
113
102
188
226
88
235
141
211
115
174
199
179
242
89
166
72
172
162
122
166
204
199
219
115
231
234
193
169
122
176
210
230
94
124
70
86
183
224
200
206
202
114
124
216
158
193
87
225
208
217
133
78
233
140
246
150
133
134
147
228
106
117
206
107
207
72
133
225
173
179
217
100
200
139
155
116
98
108
115
160
145
122
215
243
114
185
183
182
122
144
244
208
92
157
80
235
233
164
247
72
186
247
127
170
191
160
110
163
179
106
103
183
104
233
152
197
120
232
238
152
218
170
199
148
231
112
99
226
199
114
232
97
90
174
85
151
163
193
212
135
250
162
189
123
96
153
178
102
183
91
84
178
74
131
228
118
190
248
178
189
111
219
145
204
181
111
140
75
177
176
230
132
89
153
97
209
204
190
95
140
129
167
195
184
242
194
110
197
114
161
104
224
150
165
188
234
127
75
161
196
199
104
122
231
233
135
246
208
176
176
194
209
183
164
240
177
210
117
204
222
103
149
235
105
138
199
198
153
124
97
218
159
128
98
101
110
126
111
175
196
103
153
109
250
113
225
73
250
229
70
113
106
236
122
157
194
171
113
131
186
103
77
133
131
231
118
241
116
247
103
127
244
84
142
178
86
237
146
139
208
177
139
150
237
99
157
145
230
98
107
194
194
206
150
147
173
135
143
106
87
138
219
119
191
93
116
202
215
155
212
104
175
100
191
127
182
126
238
162
198
137
229
126
143
250
234
179
157
126
151
139
153
82
220
72
114
170
78
244
158
196
178
109
231
143
81
227
83
91
244
239
185
210
212
143
70
148
193
230
133
221
210
136
86
164
70
212
209
72
250
84
189
124
175
233
108
146
190
208
236
221
207
129
248
150
109
113
78
169
169
74
249
112
140
105
71
122
169
87
121
107
189
229
119
240
125
164
126
182
246
151
108
99
226
138
246
165
101
86
129
135
205
114
118
140
183
201
241
204
220
88
169
132
108
91
180
185
134
146
99
164
120
92
107
111
236
98
138
132
91
214
79
232
105
185
164
217
196
203
209
164
141
143
209
72
173
157
105
94
90
100
207
147
112
182
177
209
118
178
75
195
180
191
82
176
213
197
162
91
232
211
168
174
126
239
130
148
157
166
248
239
161
190
246
210
82
78
113
135
191
121
199
132
144
185
169
98
180
187
238
151
121
121
111
95
168
202
106
228
200
161
210
109
131
182
117
166
92
74
196
142
167
87
134
194
238
220
150
231
234
98
83
122
71
222
204
93
138
97
154
137
161
109
162
165
145
179
141
173
226
172
132
189
231
163
178
92
224
183
196
195
228
82
137
90
212
156
172
194
77
89
248
218
212
98
148
176
116
147
215
131
159
112
155
134
103
227
218
118
239
249
245
116
107
231
71
87
99
125
117
114
206
138
75
250
122
154
231
219
228
188
169
191
145
217
201
135
195
203
121
77
129
185
77
198
229
125
92
173
187
80
195
142
97
70
127
213
78
219
82
138
86
81
94
142
120
168
174
96
97
168
155
86
136
78
160
174
234
238
186
98
183
197
172
85
161
186
215
183
92
149
179
177
77
227
95
120
145
87
117
216
193
180
99
71
82
194
233
144
78
212
223
168
241
221
153
88
89
76
249
228
221
99
140
198
72
181
181
217
242
128
87
99
170
200
193
145
150
156
140
72
102
202
87
213
125
165
166
168
106
173
107
139
161
199
188
201
105
244
202
230
82
247
144
188
194
81
111
224
196
119
127
154
110
105
121
168
80
194
171
165
189
131
107
161
71
117
77
80
98
89
143
238
184
74
224
112
173
246
176
99
81
238
174
70
125
183
116
157
71
226
142
202
244
182
161
157
202
160
113
233
220
200
206
170
165
203
132
152
243
152
241
189
152
145
124
97
248
107
189
229
222
138
242
237
191
91
169
83
103
211
205
231
247
224
200
171
167
243
198
185
177
93
249
106
206
87
111
97
163
150
167
240
156
152
125
83
90
194
143
151
188
234
188
229
235
250
82
219
142
125
89
134
240
73
171
222
109
188
89
222
216
184
169
93
79
213
171
111
78
186
166
167
71
156
230
122
119
137
133
228
240
113
90
124
205
170
149
108
146
173
156
113
185
136
179
183
191
81
147
86
242
129
212
80
173
78
105
99
153
105
125
164
171
99
230
130
139
103
122
242
138
218
79
197
195
123
210
91
106
208
216
204
238
96
107
94
87
164
86
224
179
193
148
212
115
184
123
86
202
74
107
126
181
238
186
203
228
141
171
96
145
219
116
170
137
245
206
135
190
226
147
157
80
143
74
198
184
226
176
140
233
227
221
222
174
214
82
146
141
88
120
142
216
164
109
207
206
174
213
103
79
127
201
231
131
128
73
126
143
91
115
124
219
146
170
149
177
197
90
187
97
194
177
176
230
161
180
102
96
230
108
245
200
132
121
248
213
74
124
124
99
173
192
138
189
153
240
219
146
116
143
123
71
244
143
70
242
140
187
114
143
77
206
168
197
91
146
123
101
87
221
76
93
146
76
202
223
223
116
235
227
159
74
160
79
161
72
91
78
125
244
177
159
145
230
108
176
178
76
123
182
120
126
116
240
99
187
220
204
123
230
173
239
225
221
114
156
102
157
142
100
147
175
223
78
197
80
156
223
139
218
141
98
205
218
109
236
235
147
220
115
145
116
172
223
164
118
124
93
95
140
156
148
177
229
178
87
108
104
176
245
148
196
211
135
92
247
96
216
213
190
139
90
86
180
138
165
213
71
222
200
117
149
216
175
243
192
84
229
184
150
154
194
246
198
71
143
198
141
176
132
128
209
245
183
205
192
74
200
238
130
180
233
129
84
78
225
244
178
79
100
194
244
216
250
117
199
239
115
219
147
95
194
164
183
87
227
163
187
157
189
234
179
140
233
118
153
226
104
105
215
182
114
158
189
138
220
246
197
200
205
140
227
93
160
70
181
166
230
88
97
161
135
112
231
117
227
109
182
133
232
147
80
199
79
94
215
169
99
159
98
117
173
117
119
106
73
206
241
79
208
149
215
167
83
145
236
120
164
96
154
119
241
129
132
137
194
222
222
150
101
119
173
82
169
88
178
123
126
216
94
146
243
198
158
149
160
227
172
100
241
70
118
85
217
91
119
86
144
99
181
77
203
165
168
74
21
36
25
40
28
61
27
28
68
39
80
80
50
65
40
42
70
35
64
66
58
44
58
75
75
21
73
74
42
44
26
25
48
69
28
37
71
42
35
78
67
29
67
75
32
34
44
35
60
46
38
64
42
71
63
40
28
42
21
22
75
21
46
55
77
59
47
69
66
65
26
33
36
44
20
29
68
25
39
29
31
38
25
33
55
34
71
50
39
66
79
76
53
47
51
78
57
71
49
65
49
67
42
36
47
28
66
35
25
50
47
70
60
38
43
74
60
75
41
23
43
67
39
75
37
58
69
74
52
69
29
25
26
67
39
31
65
21
66
46
49
65
66
78
56
36
58
54
69
21
22
78
77
80
54
40
26
61
76
53
71
58
43
51
69
20
49
55
69
48
38
51
50
51
60
78
21
57
40
44
73
30
26
43
43
22
78
65
20
23
43
36
36
62
58
55
34
73
23
68
21
73
76
62
32
33
30
51
47
55
57
31
41
41
60
31
33
64
21
51
75
48
48
26
80
41
60
40
33
61
68
30
48
48
32
38
79
51
67
50
66
49
33
79
24
28
66
45
71
55
71
70
71
21
24
48
53
66
28
73
72
48
59
70
47
35
72
40
38
56
48
55
57
44
32
48
68
20
56
58
78
65
47
35
22
79
42
70
30
60
53
41
74
36
42
59
44
57
41
29
68
52
38
37
72
50
30
22
73
80
73
55
54
28
59
54
55
79
57
46
41
47
22
71
57
33
31
48
54
20
53
71
30
54
50
55
44
70
21
53
44
48
34
36
33
31
75
22
62
56
56
23
55
30
38
58
80
45
27
55
72
24
75
57
51
43
78
21
31
75
36
58
67
36
30
47
21
56
21
29
56
61
44
69
51
70
61
51
43
47
74
62
48
33
79
21
55
50
79
48
64
71
23
70
60
80
73
73
70
69
55
65
29
65
69
76
28
52
30
35
48
56
51
24
75
44
76
38
50
33
74
43
37
24
54
30
29
44
40
55
51
54
38
47
68
37
69
61
50
75
61
37
50
80
74
66
53
38
78
44
21
31
65
42
31
53
25
66
54
30
63
63
26
65
22
68
66
34
20
39
42
64
22
62
36
32
54
51
60
75
43
78
56
43
49
66
46
72
64
54
48
27
78
41
72
28
69
45
20
20
76
79
52
38
59
71
24
64
67
61
76
48
56
45
20
34
69
39
45
46
54
44
26
79
40
77
51
55
55
78
70
27
46
59
76
41
49
20
33
34
53
45
56
53
78
63
56
77
32
60
31
22
47
80
39
27
52
59
54
53
63
30
21
27
70
38
44
57
63
33
27
44
33
45
22
70
31
23
39
48
62
28
62
31
36
33
56
27
56
46
44
27
45
53
63
25
32
72
52
78
33
34
35
54
77
60
67
20
21
67
77
61
58
39
50
57
77
64
68
58
50
78
47
20
21
41
78
58
44
44
65
28
30
66
27
24
48
61
28
21
42
67
56
46
45
20
55
28
75
44
26
48
35
26
52
51
77
22
55
36
38
30
57
25
47
56
24
47
27
67
40
71
43
24
36
57
39
74
52
37
30
30
39
71
22
62
20
28
54
28
38
43
57
75
60
24
66
38
74
23
23
22
80
37
37
37
41
25
70
41
64
34
77
79
65
29
67
51
21
27
76
46
56
54
25
22
26
71
26
63
51
68
49
23
47
55
38
70
68
72
52
43
45
61
60
69
26
52
41
50
66
78
28
64
36
58
38
72
25
40
63
76
35
36
37
53
33
75
70
46
54
76
46
51
27
32
27
21
37
78
75
47
59
51
72
71
55
59
47
78
21
72
23
78
41
70
76
60
26
56
31
21
35
34
52
61
31
22
47
67
22
49
36
63
67
38
38
33
75
27
42
45
42
72
65
39
78
36
24
22
79
48
47
80
67
65
23
45
78
64
37
59
39
61
56
55
77
37
30
64
38
26
26
43
47
61
63
69
47
33
25
79
72
52
66
29
31
29
25
52
64
33
23
38
79
37
46
46
22
68
55
30
42
72
65
39
62
36
31
48
34
46
28
66
50
35
62
60
62
75
52
55
33
54
27
45
68
32
51
66
41
31
48
64
27
44
76
53
23
26
24
72
61
61
70
54
57
78
51
63
62
26
62
54
40
42
45
79
68
52
35
80
74
39
34
48
20
77
51
64
61
32
26
22
68
33
77
48
57
50
79
55
31
27
26
49
33
54
55
33
36
23
20
75
53
77
65
62
30
38
31
45
78
40
34
46
78
40
41
63
56
64
26
73
72
62
29
30
25
29
66
34
60
63
73
30
49
74
56
77
65
43
65
58
58
23
24
22
41
38
27
38
34
66
76
49
76
50
54
64
32
25
75
54
51
49
49
38
47
36
69
49
33
55
69
46
40
31
47
54
38
31
72
25
70
80
62
74
49
25
78
59
28
38
61
70
20
45
21
60
27
30
60
25
26
27
72
58
39
29
63
26
60
52
31
65
26
31
39
46
50
47
42
38
26
67
20
64
63
74
49
33
46
61
31
33
60
49
71
50
44
53
64
51
75
44
54
47
39
34
37
75
51
76
57
23
79
62
76
22
72
28
32
22
67
42
49
66
58
60
35
44
32
61
36
43
22
52
20
48
24
75
54
56
76
69
66
73
76
79
48
75
74
78
30
53
54
64
73
80
38
50
44
64
67
44
80
68
73
74
40
46
51
39
36
46
72
79
26
46
25
33
51
36
62
61
42
53
49
61
72
23
65
27
59
52
32
71
25
62
42
41
50
48
77
38
39
26
69
58
79
80
59
62
73
36
48
34
34
39
66
56
23
77
63
71
38
52
62
40
47
67
60
55
71
21
37
60
50
77
59
74
42
48
79
56
44
33
20
65
39
78
61
42
56
61
42
72
76
71
71
53
42
40
52
27
23
62
62
40
23
78
65
43
49
38
46
78
75
38
45
20
40
27
74
40
69
28
60
27
27
28
32
51
69
53
67
77
79
49
66
31
26
45
27
73
51
66
72
35
63
58
20
43
28
29
67
21
34
24
70
62
48
40
22
73
44
46
55
66
51
39
43
75
80
66
62
64
79
73
66
55
59
61
66
20
30
21
76
58
80
65
49
71
53
74
44
35
64
56
73
34
27
68
77
52
43
25
76
50
47
61
58
42
53
39
25
69
63
36
49
54
40
66
35
39
60
51
42
58
52
55
30
57
34
39
37
28
32
63
35
54
58
41
51
64
55
64
23
44
71
56
47
68
67
58
74
32
61
60
63
78
22
66
70
36
66
49
61
76
53
64
79
41
26
49
59
49
74
71
68
52
30
31
35
71
35
42
51
46
55
37
64
62
46
31
56
25
28
66
76
62
72
35
77
24
36
38
76
58
80
38
57
38
78
20
31
68
65
66
74
47
38
30
30
62
30
66
64
43
40
39
47
53
72
64
68
73
20
24
65
61
54
60
25
34
42
60
62
39
40
21
68
55
39
33
64
71
68
41
36
46
22
44
32
29
36
26
63
57
48
37
25
28
78
33
23
70
78
32
75
27
34
66
64
64
28
50
53
28
35
37
71
32
31
73
77
32
34
23
33
77
53
40
75
33
37
69
38
26
44
61
24
64
60
45
50
73
65
57
29
67
69
73
70
35
49
78
28
34
74
72
22
66
67
45
57
49
69
23
51
58
32
56
21
62
45
32
22
50
29
26
52
31
60
41
67
69
40
39
32
71
42
46
80
62
53
64
33
60
43
26
55
55
75
71
55
77
43
31
52
80
72
63
50
37
73
42
50
34
76
57
42
36
71
26
48
35
69
32
25
60
79
59
36
21
40
62
26
76
67
35
47
36
75
65
38
72
30
54
34
48
38
24
26
36
42
48
39
33
43
61
63
49
21
59
55
57
71
54
78
47
41
74
58
78
44
56
52
23
77
35
39
77
72
48
71
41
54
21
64
75
48
25
77
45
47
75
74
40
39
50
72
53
33
79
76
21
61
33
36
70
43
44
39
57
22
47
50
47
75
59
40
43
66
38
37
33
71
24
30
53
58
45
60
33
55
50
48
75
46
55
52
62
43
62
47
33
79
20
26
71
36
42
38
67
80
54
65
52
67
42
74
30
79
32
50
65
43
20
44
25
72
35
68
48
77
53
41
61
61
43
52
46
66
52
73
42
71
50
49
29
28
30
23
38
72
55
58
37
62
41
64
31
63
26
24
21
33
68
43
25
23
36
24
46
76
33
54
74
40
53
30
65
49
76
72
70
67
62
60
70
69
67
79
49
37
58
21
42
78
80
25
35
48
24
20
50
23
56
78
58
68
74
43
40
57
24
40
37
55
66
38
51
46
55
53
78
47
21
39
59
75
42
37
38
36
63
46
72
43
78
34
50
20
39
38
31
20
38
80
34
49
23
69
45
42
26
61
64
44
57
48
39
31
48
43
60
52
62
62
32
70
68
40
41
25
20
49
43
54
70
32
52
80
22
49
37
38
25
60
29
56
57
56
43
71
41
27
23
29
35
39
63
56
72
54
66
56
36
43
26
26
79
49
70
24
36
37
32
33
55
54
32
56
28
74
68
49
64
60
28
71
23
47
51
25
24
25
48
28
73
54
43
48
61
59
58
55
64
42
31
69
27
50
40
59
66
68
75
76
44
32
58
67
78
66
40
65
34
75
23
53
56
47
47
71
53
78
33
23
50
55
33
48
37
54
23
50
55
75
80
78
60
58
56
73
40
70
63
56
75
42
29
40
51
45
69
36
54
20
80
25
70
31
60
37
80
46
57
73
20
80
23
27
34
22
26
65
40
36
53
24
77
62
51
60
76
76
61
80
56
60
76
65
24
40
34
76
68
53
51
34
63
79
43
52
69
38
64
58
61
22
67
76
28
58
67
71
53
80
45
22
43
57
51
44
45
55
72
24
70
25
37
28
64
64
59
21
45
23
70
48
68
44
55
54
55
30
54
20
44
25
24
79
33
30
46
46
54
62
41
75
25
32
66
64
39
60
61
77
40
29
55
40
77
51
21
78
32
56
42
61
42
77
80
33
55
55
24
51
76
24
25
41
37
43
80
31
31
67
60
44
61
49
49
79
23
37
70
51
77
41
41
37
80
79
61
38
69
48
58
55
66
45
43
79
66
79
38
22
48
77
37
41
63
27
74
50
42
21
59
37
25
51
52
46
23
62
49
34
39
27
27
59
32
39
69
31
32
72
33
46
72
41
79
74
60
77
34
41
67
33
56
79
36
64
32
62
59
61
66
59
48
53
80
28
74
20
34
53
54
26
61
47
75
47
44
44
49
48
63
48
34
30
41
56
57
22
27
44
53
35
60
59
25
58
31
80
40
70
80
57
46
71
54
32
30
69
64
34
22
41
76
54
55
24
32
72
60
29
26
49
58
31
52
20
75
65
71
55
48
76
50
78
69
49
22
20
46
55
50
68
23
21
43
56
52
45
71
71
34
49
21
31
39
20
23
80
80
76
47
79
44
21
28
55
41
61
29
53
23
77
21
38
57
60
36
61
79
23
40
76
36
59
36
63
65
73
61
73
74
29
69
43
51
73
62
70
77
61
74
60
39
78
43
39
53
77
49
65
62
63
50
80
49
65
64
75
61
60
79
73
35
30
28
70
27
22
67
78
71
67
73
54
63
61
29
38
36
58
75
72
40
26
45
20
76
39
48
64
57
34
32
59
31
71
24
79
56
58
21
28
74
76
42
55
49
44
53
46
43
80
71
47
38
45
67
21
59
56
38
75
55
24
30
56
44
40
40
24
79
69
35
51
63
32
76
26
77
40
44
46
78
47
67
64
61
46
78
35
25
76
56
27
62
34
66
44
67
53
42
33
67
60
45
67
59
75
36
39
26
44
44
43
41
42
32
48
61
80
21
59
40
44
71
67
66
27
75
48
75
21
34
74
66
65
40
76
63
40
77
22
27
41
39
53
74
69
79
20
75
35
64
72
53
29
35
80
74
35
56
55
76
73
66
44
63
77
43
47
53
78
33
42
72
27
53
58
21
73
45
21
54
80
70
39
23
59
49
31
47
54
69
49
47
69
78
65
55
20
22
74
79
55
56
35
51
50
45
58
38
39
36
26
38
20
32
67
50
21
79
21
52
50
75
65
54
62
53
56
73
45
29
37
79
67
62
29
41
75
20
26
74
63
28
26
77
53
65
24
66
61
68
73
73
73
57
44
42
36
68
63
47
21
31
70
78
35
62
56
31
61
53
40
68
57
78
71
73
42
77
36
22
79
77
64
61
58
63
24
28
54
64
74
39
71
40
64
55
56
33
53
39
36
54
55
71
66
76
75
50
49
66
37
55
80
74
48
59
28
34
54
23
39
27
79
37
68
37
40
75
77
65
76
34
26
51
57
23
68
37
67
21
34
68
48
45
52
33
54
47
43
38
38
78
33
34
47
21
40
27
23
78
75
40
76
38
40
73
76
28
42
75
27
54
74
74
66
29
25
71
45
33
74
53
78
39
20
47
50
52
49
76
66
70
57
28
39
71
24
43
36
26
51
46
28
54
70
27
30
47
35
58
22
28
38
27
28
36
61
38
78
63
33
25
49
77
65
77
62
64
69
20
45
23
56
26
35
51
28
69
49
54
70
59
79
60
80
39
25
71
26
52
24
33
57
71
50
21
76
62
67
54
28
42
53
29
48
65
22
64
68
47
36
62
51
64
80
49
26
79
41
48
24
55
61
21
46
35
53
33
30
25
42
48
56
34
27
66
20
72
26
66
42
47
46
51
36
60
22
67
50
20
77
52
69
39
36
51
72
40
65
74
37
67
58
31
76
73
54
70
40
75
49
79
25
51
60
27
44
62
60
27
53
30
77
28
54
64
60
58
49
73
33
54
65
39
80
20
57
69
32
23
73
27
76
27
61
41
60
44
20
63
79
74
51
68
70
78
31
24
51
63
79
29
68
52
36
77
33
22
42
46
24
77
45
27
56
72
37
59
47
20
43
56
70
41
71
64
36
45
31
39
32
30
75
55
38
61
22
59
38
25
43
72
24
30
21
30
75
67
50
51
76
45
71
47
64
27
20
38
53
67
31
47
72
71
58
80
65
63
54
77
36
22
40
75
71
71
58
33
50
38
37
27
22
61
38
77
22
23
44
41
49
68
69
49
62
39
27
22
45
28
20
67
30
70
20
77
20
43
79
61
47
62
69
68
70
47
44
43
56
26
67
58
22
79
70
37
33
68
60
43
63
29
46
45
56
72
78
29
44
21
77
76
61
28
62
50
41
50
29
24
65
35
41
66
44
60
75
78
31
80
75
42
63
45
49
24
59
32
58
72
29
23
79
46
56
52
58
56
45
52
60
42
27
35
26
23
56
53
39
23
22
62
55
33
63
67
63
80
45
76
45
50
40
55
47
69
70
35
59
75
72
55
74
72
47
72
37
56
77
26
62
53
40
29
39
51
55
73
54
70
59
45
45
47
27
31
77
48
35
31
78
34
37
55
53
51
24
49
20
31
57
53
37
49
54
30
65
65
67
73
27
67
31
69
24
37
35
76
79
71
27
41
22
42
66
65
36
69
69
57
58
70
32
45
59
33
74
30
24
63
40
55
31
24
58
39
29
50
75
42
45
66
58
53
50
73
36
67
55
68
42
48
59
56
58
73
60
74
50
66
31
68
62
34
45
60
63
75
31
33
77
80
74
26
32
35
40
25
22
30
59
21
78
53
52
55
62
69
70
65
59
51
47
20
33
46
51
21
55
56
79
23
66
41
71
44
51
25
57
61
55
37
37
72
68
43
47
73
27
41
31
25
40
23
61
78
51
60
66
67
32
24
38
27
32
22
69
35
41
39
73
78
65
48
76
31
49
23
36
54
44
24
42
45
75
36
75
58
69
22
43
21
57
40
28
70
22
25
36
33
67
62
71
60
39
73
80
60
34
28
76
37
65
37
34
52
80
28
45
76
74
64
54
51
36
36
72
36
32
26
52
58
49
68
64
55
74
40
33
49
58
35
22
20
31
34
63
22
47
59
62
46
24
60
68
59
75
37
74
36
60
32
54
80
45
32
22
27
68
41
30
43
37
25
54
80
72
68
32
27
79
72
33
47
63
49
29
47
78
24
47
78
41
47
52
42
46
49
73
71
68
49
67
59
52
25
35
74
70
23
32
52
26
53
55
42
76
35
38
65
44
36
70
76
47
24
39
24
37
29
69
48
72
35
38
71
38
45
54
61
72
41
45
59
37
26
32
66
60
33
54
24
70
44
53
21
49
29
24
53
67
74
27
26
27
45
77
71
43
69
58
21
36
22
33
71
50
38
52
23
25
44
49
64
49
50
28
66
52
37
27
55
26
43
63
37
42
54
28
55
37
60
72
52
69
77
53
42
48
25
72
55
45
23
26
57
75
25
70
39
64
61
56
53
37
78
42
58
79
42
55
73
45
76
40
32
64
57
79
66
65
75
41
76
66
29
56
46
23
23
73
31
48
69
25
28
21
76
60
50
56
77
56
37
70
32
70
21
61
67
48
43
43
70
76
55
58
69
28
30
71
58
68
34
75
29
73
75
53
26
40
63
80
77
46
69
38
66
73
43
25
28
40
47
41
71
43
23
49
37
59
47
80
29
22
59
61
36
45
68
65
48
23
53
44
65
23
67
74
68
38
22
79
38
58
56
51
32
40
32
74
53
69
25
62
44
21
35
32
43
44
67
54
29
78
37
65
36
50
41
22
44
57
66
63
48
68
61
54
46
30
30
63
75
32
25
31
51
27
55
62
33
80
20
34
23
39
23
74
33
29
48
76
77
37
47
74
21
20
63
50
45
24
35
66
50
63
40
41
75
25
42
56
70
53
74
45
34
27
77
45
52
32
44
47
28
49
76
26
53
47
27
56
63
27
53
67
63
58
54
28
67
73
75
57
53
65
55
60
75
71
47
50
46
32
45
53
54
76
36
28
51
49
30
52
37
34
64
67
49
54
77
29
70
46
64
55
50
78
70
69
63
20
50
40
77
74
45
79
57
38
80
64
79
60
57
69
51
32
27
49
62
64
79
74
74
20
27
34
53
36
51
23
23
70
52
60
52
79
62
57
37
40
40
20
30
62
52
20
52
66
42
45
20
21
25
36
78
49
77
51
39
56
27
57
29
72
29
71
52
23
31
29
29
72
64
43
74
33
52
72
52
58
29
78
42
73
53
62
46
28
56
50
43
38
75
40
72
74
78
76
60
78
46
23
32
49
40
26
40
49
23
66
79
57
53
30
54
35
72
48
58
59
70
52
64
36
55
52
32
37
79
53
31
68
70
47
76
20
66
37
52
78
78
33
45
49
49
37
51
75
60
73
80
34
77
58
31
37
76
26
78
22
20
54
37
42
39
73
25
73
55
55
72
64
33
68
29
41
63
42
62
67
30
41
55
30
65
62
27
62
28
62
58
26
78
48
27
73
67
72
30
66
53
45
65
74
27
74
67
48
30
46
39
33
80
51
50
56
29
70
49
66
65
47
60
46
73
64
76
38
52
72
25
66
23
64
41
66
40
40
36
47
44
52
46
77
50
30
39
38
32
76
50
20
44
35
24
51
64
21
22
47
70
53
54
50
64
47
64
78
49
33
37
43
65
67
26
48
54
42
63
38
71
23
38
29
39
71
20
27
48
20
60
57
32
63
27
60
22
37
70
41
71
77
63
75
53
78
35
21
77
31
77
23
37
35
70
58
47
72
30
23
44
34
67
79
78
45
43
72
20
38
73
80
37
56
56
31
72
28
58
63
78
55
46
42
64
73
65
78
50
21
80
77
73
60
69
41
49
68
42
49
36
79
71
74
41
38
35
40
52
22
53
46
68
38
52
44
35
58
67
22
45
48
41
69
43
22
40
76
55
23
64
29
59
74
22
53
58
20
61
33
54
31
59
38
33
47
21
20
52
37
73
51
69
57
57
27
22
30
45
43
75
31
72
26
56
71
22
51
50
31
51
69
64
22
55
75
62
45
23
29
78
44
20
56
28
70
70
35
40
80
43
67
30
78
65
31
26
66
51
73
72
24
59
34
75
56
39
77
29
33
59
68
56
47
43
38
46
43
41
45
31
44
78
77
48
42
74
55
25
74
49
42
31
59
21
75
33
38
74
70
30
36
63
79
48
69
72
25
71
75
50
45
59
72
57
58
53
59
21
54
60
75
49
61
70
46
71
68
29
43
59
47
44
74
64
24
70
64
47
64
79
58
79
50
51
30
64
38
21
51
46
61
62
35
31
46
52
62
67
48
42
26
49
30
73
59
67
40
50
57
69
70
73
77
79
79
61
44
76
41
58
80
60
65
35
36
72
33
35
64
73
33
53
80
21
73
48
76
36
74
38
29
45
43
63
43
25
31
56
48
66
33
42
71
74
76
41
73
37
29
75
50
41
54
70
64
77
24
80
31
22
58
72
62
27
25
35
49
36
32
36
63
75
20
59
23
57
28
62
58
62
75
70
29
78
80
47
71
62
40
65
35
36
60
27
55
67
63
27
79
21
67
40
21
78
60
54
26
34
47
56
64
65
24
20
31
44
51
71
44
63
58
51
58
54
76
29
54
28
30
50
43
25
21
69
28
30
23
72
55
74
32
67
24
24
57
69
40
46
59
22
35
21
24
78
59
21
78
24
36
60
51
22
34
33
39
80
45
33
32
25
25
77
70
66
50
47
43
68
23
63
69
41
44
39
51
64
61
32
29
26
78
20
75
21
32
45
30
66
63
56
72
64
74
71
57
57
78
52
27
78
70
45
37
52
77
35
44
70
20
52
24
56
74
75
47
49
73
34
20
35
65
48
72
30
65
78
71
57
66
67
65
70
28
68
68
37
75
50
70
47
31
39
21
30
39
22
60
28
20
61
21
70
72
66
72
68
37
43
35
39
34
20
38
33
24
40
44
73
21
66
55
50
63
76
22
30
25
50
45
62
69
26
35
47
68
68
38
74
74
62
55
42
65
77
65
74
62
74
80
55
31
58
53
47
24
33
21
80
53
55
75
44
57
53
22
47
20
33
26
64
75
27
52
63
57
24
70
54
78
45
42
77
60
59
72
51
60
65
25
52
52
65
44
69
55
40
41
46
47
49
75
50
43
31
80
52
41
47
62
37
58
59
59
63
42
60
55
62
47
23
39
76
36
78
28
56
55
80
37
73
38
70
35
32
35
76
36
74
62
23
43
65
58
44
40
30
70
78
39
76
74
35
57
23
56
61
58
21
52
41
39
68
32
29
75
57
69
66
24
67
20
51
30
76
21
76
75
51
69
48
24
76
51
32
76
56
71
57
48
25
50
21
76
71
79
28
36
24
77
64
22
71
35
33
22
29
24
69
61
73
80
54
80
42
55
25
63
65
37
26
41
41
45
37
62
69
43
73
32
50
51
43
44
69
67
39
62
31
55
62
52
59
52
26
50
64
66
80
52
39
40
29
58
63
67
74
21
47
41
67
50
23
37
31
80
37
43
73
61
53
28
78
74
73
25
30
58
39
55
34
26
71
74
29
29
60
48
55
40
61
53
25
74
28
43
44
38
45
27
50
39
24
21
71
27
54
75
78
25
28
73
34
51
65
63
32
50
41
24
62
65
78
25
55
25
20
23
54
34
77
57
59
51
72
72
76
78
61
73
31
71
75
41
68
60
64
21
37
60
45
21
73
30
43
77
78
73
62
79
59
49
22
80
60
48
32
65
66
60
21
21
76
63
66
72
21
77
28
74
64
25
56
29
57
33
64
28
35
41
62
78
41
66
54
35
44
34
75
48
63
46
32
29
69
77
42
61
76
42
52
27
71
76
72
51
40
31
21
67
31
41
52
27
44
20
80
52
52
34
72
20
49
69
79
28
66
38
46
77
28
59
34
59
62
23
46
27
57
72
63
23
40
21
73
52
24
69
29
45
60
57
52
80
40
67
79
26
71
70
72
57
61
72
25
56
20
24
55
34
67
67
57
65
40
49
58
33
45
27
26
41
60
46
31
63
33
47
77
45
22
25
31
70
70
23
37
75
46
71
78
44
55
22
68
79
73
55
32
56
79
52
24
41
46
65
71
22
61
32
70
47
71
33
66
73
77
44
43
42
49
56
68
37
69
33
44
35
63
75
56
58
75
29
65
31
47
68
72
59
42
25
23
29
63
59
80
45
39
39
28
56
44
20
73
80
22
54
23
75
50
66
41
22
76
55
32
49
67
59
46
46
66
34
26
62
70
35
54
32
29
33
66
20
38
28
80
35
25
71
59
72
59
48
22
30
51
36
54
80
80
25
53
28
28
34
52
51
20
31
64
34
51
27
28
79
44
41
46
37
41
42
28
57
79
56
68
42
73
77
20
69
54
39
79
24
62
52
40
47
52
60
37
52
41
66
32
24
49
68
79
35
56
31
25
59
45
52
68
53
34
53
58
67
23
39
59
35
49
69
53
67
73
69
79
22
53
76
32
41
47
42
66
54
33
70
50
22
44
20
77
53
78
30
67
71
72
50
29
44
69
42
46
63
29
62
35
36
76
77
47
48
27
70
63
58
48
57
58
56
48
73
30
53
63
52
79
61
68
66
52
56
69
59
61
27
79
54
71
31
50
58
71
46
80
46
75
63
30
52
65
27
57
74
22
43
70
39
57
22
78
68
34
52
54
51
43
71
48
27
46
66
52
36
53
66
61
77
44
75
59
40
62
20
44
76
21
67
64
41
72
62
75
32
41
53
20
71
75
73
28
74
75
51
69
79
22
34
61
23
25
51
21
57
30
34
43
66
30
50
73
41
65
66
60
36
26
47
71
66
52
40
56
77
39
35
74
36
70
45
37
23
24
45
58
76
25
68
26
62
33
62
62
50
34
74
37
80
46
70
74
37
21
36
38
49
22
47
34
20
55
40
61
27
68
64
24
58
59
22
24
62
31
62
51
78
49
63
34
55
75
34
60
61
26
48
31
64
44
55
67
49
37
36
24
59
77
55
22
39
36
73
70
28
54
41
40
65
24
24
32
40
74
77
39
75
57
59
23
72
25
68
26
57
56
54
43
39
23
33
75
60
44
71
58
25
70
71
33
71
50
70
69
65
75
47
59
30
59
24
32
33
67
22
70
75
73
57
40
40
72
32
44
55
32
64
40
62
47
60
71
63
68
20
70
32
26
63
70
37
49
39
53
41
27
37
33
23
80
55
63
27
44
71
50
39
79
47
26
53
50
41
26
66
73
69
32
23
30
20
66
41
47
46
23
51
59
78
46
30
61
65
73
43
63
67
64
58
60
43
70
25
57
65
66
37
56
20
52
67
38
53
54
78
53
56
71
36
66
78
33
35
34
44
20
45
40
71
67
72
71
60
73
56
46
27
77
62
38
79
47
78
50
66
52
80
79
66
40
74
38
71
44
64
33
28
33
32
66
23
40
25
22
34
36
65
66
45
23
74
80
34
47
35
22
36
78
75
43
71
28
39
56
68
51
53
46
79
24
44
31
65
25
31
48
20
33
66
54
60
45
71
26
63
59
23
30
49
76
44
41
34
25
75
27
66
38
27
66
69
20
78
35
23
42
28
68
28
35
38
46
60
24
67
77
42
63
38
78
30
61
71
30
51
78
57
50
38
54
78
39
68
31
29
51
51
59
79
72
31
42
21
51
45
46
78
55
52
36
69
60
36
67
74
72
52
43
24
69
49
68
34
47
57
28
76
58
66
62
28
25
75
33
49
61
70
50
54
50
66
78
77
77
72
35
76
80
77
40
75
74
71
70
72
35
36
31
59
24
57
66
51
63
79
21
24
55
75
44
26
68
39
32
60
52
52
39
61
34
65
64
33
51
79
71
49
65
54
32
29
80
28
35
62
30
53
49
36
68
41
47
50
76
27
59
77
23
47
24
69
77
57
22
80
45
48
23
33
36
61
45
40
35
31
53
25
71
52
53
64
68
60
33
29
30
44
27
60
29
45
68
41
36
20
56
21
63
42
52
29
43
24
51
78
61
69
27
30
35
74
42
72
20
65
48
67
47
66
54
60
67
34
24
45
52
80
71
55
66
24
32
45
30
34
70
80
71
24
27
58
48
41
57
30
64
61
23
59
27
77
36
56
53
77
77
63
32
38
64
44
57
59
69
46
27
51
62
37
48
21
76
63
73
58
35
20
35
46
39
80
30
32
23
52
66
75
54
25
59
59
60
69
59
45
68
44
30
26
74
47
61
75
38
34
51
56
22
41
62
43
75
21
64
78
77
64
30
35
60
33
21
34
72
77
22
51
47
78
47
28
56
51
26
47
58
76
51
25
66
67
74
74
33
51
72
47
60
75
35
42
21
31
71
22
71
29
54
29
70
44
48
61
69
48
42
36
59
58
79
77
60
36
45
75
45
52
39
57
50
68
56
66
50
22
38
68
71
46
62
20
80
63
37
71
75
59
58
79
28
62
29
34
56
71
45
32
64
57
28
59
38
40
59
75
79
47
56
72
36
21
55
59
20
36
64
34
40
34
63
67
40
74
31
22
32
44
45
22
63
66
22
36
54
69
51
53
27
39
29
78
54
39
24
56
42
53
73
24
36
31
79
63
31
22
77
40
78
49
33
34
66
35
78
34
69
65
23
75
65
44
47
58
59
52
47
53
70
28
50
55
78
52
71
21
34
74
32
38
22
64
56
63
23
34
64
73
21
22
39
39
28
23
23
61
69
80
64
53
26
29
50
46
54
34
31
59
60
70
54
24
42
63
37
48
51
78
70
63
34
53
75
78
34
68
27
27
66
23
27
25
67
61
72
45
67
28
40
76
56
63
29
44
29
57
53
74
59
76
33
20
48
68
21
73
39
70
22
44
42
54
38
27
74
59
31
68
27
48
77
54
63
56
28
31
75
37
76
71
57
58
45
62
44
57
38
72
66
23
73
77
55
28
76
72
34
69
68
27
65
70
43
61
32
53
42
78
70
50
30
69
32
29
42
26
76
49
21
26
45
43
48
21
77
76
63
79
63
39
50
70
30
33
76
22
80
48
44
62
38
75
57
64
75
52
66
68
23
70
67
49
75
60
58
77
53
23
25
34
72
22
72
30
45
78
77
70
31
71
78
28
54
64
23
29
21
71
30
56
55
35
74
50
54
32
24
49
25
58
22
41
43
47
42
21
77
43
37
20
67
60
59
38
74
27
45
76
63
78
64
60
52
60
57
73
35
58
29
71
65
57
75
69
52
79
54
66
33
48
79
43
79
33
78
40
73
61
28
37
40
42
22
40
36
30
23
22
79
46
60
60
32
76
20
47
69
21
59
41
23
52
20
67
36
66
76
62
66
55
27
39
50
39
42
61
80
77
62
28
34
71
32
56
32
60
44
29
53
71
74
43
42
43
53
23
37
60
65
60
39
24
74
26
46
25
69
41
32
73
72
64
37
42
52
77
46
52
57
51
54
39
32
33
65
73
43
71
55
76
22
30
21
76
55
23
31
66
46
34
71
44
58
39
76
57
74
80
75
31
34
30
63
22
71
36
72
70
23
24
79
44
36
73
76
36
27
64
24
80
72
51
65
63
77
48
43
28
76
32
68
77
62
47
73
72
36
30
28
42
36
72
22
35
62
62
52
31
71
36
73
36
49
45
30
38
64
59
72
77
60
26
41
52
55
65
48
45
20
32
53
55
40
56
77
33
50
54
51
72
26
24
50
33
40
42
65
37
54
63
62
45
38
38
71
77
58
66
47
20
57
67
51
54
71
30
47
30
47
52
43
46
48
26
27
38
54
20
34
35
33
29
65
25
64
74
37
48
75
22
78
79
73
68
31
20
67
49
39
31
58
29
26
54
46
47
79
69
36
51
58
63
71
31
80
34
28
25
22
77
67
24
46
72
78
41
60
73
54
21
26
46
76
43
55
37
56
50
58
75
43
49
54
55
79
22
49
72
23
47
47
66
75
48
39
33
61
39
44
63
62
66
78
21
49
43
27
20
29
46
65
31
63
60
55
34
20
56
61
41
75
75
37
59
38
32
29
58
20
80
20
35
23
28
20
72
63
25
57
58
40
37
49
37
73
76
66
31
72
33
67
34
62
71
36
74
40
62
51
67
49
78
68
45
32
40
68
65
62
75
77
62
56
38
47
74
62
21
53
45
67
51
62
30
23
58
36
34
53
68
27
75
79
80
23
57
24
63
33
29
62
57
21
78
79
72
79
77
41
73
54
24
53
61
21
52
74
42
55
59
68
63
69
59
29
68
71
54
61
42
51
34
40
74
78
57
48
72
36
22
66
37
63
57
59
63
59
38
78
27
27
32
72
26
64
74
51
29
52
44
39
24
65
62
69
70
76
35
28
41
66
38
26
48
48
26
70
27
23
20
41
33
44
30
63
71
48
21
39
74
25
36
60
33
56
70
69
77
31
39
56
76
40
27
55
78
33
37
23
44
66
42
66
30
54
38
78
69
38
47
44
27
70
25
53
75
25
43
46
51
67
38
80
35
63
64
64
27
76
49
39
34
25
32
46
63
42
29
23
64
41
43
52
40
78
79
38
58
28
59
59
32
39
51
41
33
65
44
58
41
67
56
71
45
29
42
46
31
68
50
67
70
72
65
42
58
74
67
33
59
80
36
27
20
62
49
58
53
20
42
48
62
25
58
164
146
198
169
81
243
228
96
215
100
87
108
205
227
86
244
169
161
230
207
227
187
109
70
211
227
76
82
104
163
89
219
79
76
102
210
82
174
119
181
210
248
157
146
71
148
194
104
226
229
229
247
110
89
136
106
111
78
72
156
165
163
198
95
124
107
143
187
130
199
223
73
223
136
202
72
79
247
109
225
192
159
73
188
71
188
190
222
241
111
167
222
177
103
247
180
85
195
148
225
165
213
108
74
231
147
189
204
173
235
117
128
216
227
73
201
80
233
184
217
150
199
214
104
164
216
203
165
229
247
208
242
89
161
110
188
240
228
79
241
210
151
171
206
200
235
221
129
184
199
170
111
209
190
163
81
243
70
129
210
133
216
79
186
244
211
210
181
134
99
81
232
164
169
176
224
98
231
139
226
102
163
211
74
249
97
194
145
127
84
159
113
194
101
122
70
115
147
180
224
101
152
160
158
81
110
136
242
235
189
131
92
191
193
246
135
178
137
96
223
189
89
186
81
230
150
226
112
142
202
76
196
95
154
146
234
186
113
109
111
164
128
182
122
144
206
139
117
221
92
80
124
173
75
218
148
120
215
184
138
127
232
115
245
129
248
110
131
182
136
162
205
249
198
153
236
243
161
239
166
170
175
206
183
92
223
157
109
183
218
248
172
231
168
122
88
94
128
152
176
165
215
104
237
97
79
82
115
107
231
226
236
205
189
151
227
132
90
172
149
185
94
205
168
94
87
156
201
162
84
245
151
86
193
197
92
109
142
98
172
90
140
190
199
226
121
115
237
244
215
135
126
135
207
186
195
250
224
236
175
154
209
84
111
141
139
232
188
241
177
160
194
99
242
222
116
92
209
106
109
234
118
232
165
232
182
152
129
250
247
231
206
245
96
82
202
175
207
204
157
225
138
163
131
168
80
94
94
115
197
208
225
93
198
167
116
131
112
71
187
184
167
218
246
115
184
134
201
111
114
154
218
123
129
107
213
86
225
103
137
197
75
172
83
224
92
128
73
72
177
133
111
244
111
205
193
216
181
111
154
166
163
177
126
122
82
118
183
72
191
91
84
119
218
143
172
143
240
78
121
116
130
81
122
136
138
186
76
89
81
226
188
86
205
213
139
185
237
74
171
250
97
114
145
202
116
157
195
101
154
235
153
145
109
114
105
187
140
148
129
184
194
126
104
95
191
205
249
189
117
183
212
112
199
147
215
147
77
87
212
186
240
119
223
94
144
174
196
82
186
239
224
249
169
169
194
200
77
163
207
223
78
240
195
167
219
138
172
102
159
188
118
188
199
250
115
88
211
169
149
239
151
121
107
82
97
215
134
238
175
206
197
165
73
225
163
149
135
114
82
204
167
131
95
73
139
117
222
201
232
222
188
100
144
106
72
87
109
122
150
82
122
72
116
196
121
156
244
214
172
118
158
227
109
132
249
189
201
226
127
194
139
116
94
191
246
192
224
175
91
223
164
139
246
187
169
247
89
95
136
242
71
87
212
156
122
125
77
209
95
211
98
180
88
110
82
215
226
81
142
172
81
219
126
205
74
203
188
216
81
192
80
205
110
83
213
160
89
198
103
106
207
111
152
153
156
227
99
191
139
231
78
193
125
230
185
210
132
199
202
189
83
195
72
190
245
148
187
192
139
248
81
138
178
221
87
209
105
179
178
120
181
219
205
240
84
214
70
79
108
175
94
233
166
158
83
75
109
126
188
119
208
81
105
179
137
225
247
204
70
107
163
162
95
236
238
95
221
211
109
183
78
77
144
124
175
240
161
151
83
246
205
92
238
248
129
96
188
125
246
226
152
158
214
240
184
127
155
184
95
155
154
213
205
196
74
208
200
204
88
82
160
153
236
131
136
107
215
122
234
86
118
156
143
95
210
212
235
121
182
142
168
112
90
218
173
158
70
177
192
233
89
97
112
210
148
129
196
127
242
230
89
132
157
103
81
151
147
231
191
250
87
200
226
113
250
198
230
104
217
145
147
102
133
182
141
185
168
198
185
163
215
91
92
106
216
73
79
75
229
136
186
248
144
150
161
139
72
90
111
216
155
218
219
95
241
127
138
155
98
80
203
241
86
214
192
219
103
201
103
143
143
70
88
153
120
91
225
119
112
121
159
140
137
231
224
80
213
172
232
127
245
127
132
115
169
78
96
140
158
157
136
125
193
137
191
227
173
166
238
195
97
102
208
240
128
131
242
220
196
193
98
203
232
80
195
187
146
114
84
209
176
210
143
98
177
103
79
154
94
192
134
232
104
191
183
109
93
209
120
183
128
123
75
203
203
113
119
172
81
175
84
220
109
181
245
181
156
200
223
185
167
236
160
227
118
116
176
249
157
145
201
230
199
222
176
179
140
98
125
220
115
230
216
208
128
120
81
194
75
124
84
200
107
166
161
104
211
173
168
143
241
204
200
174
172
114
86
76
208
72
182
88
190
214
149
170
88
244
225
204
248
71
195
139
116
94
108
199
119
72
240
207
138
97
227
85
109
171
174
169
176
225
222
155
196
141
128
90
198
182
179
125
124
144
221
205
220
239
223
146
156
155
88
73
102
106
163
227
93
84
206
100
87
103
130
179
90
159
138
118
159
186
215
201
79
76
127
204
206
175
164
142
134
150
206
117
117
140
197
95
167
224
236
141
174
92
221
100
197
203
206
110
229
208
155
242
89
137
191
149
124
76
85
188
148
130
84
214
207
178
95
85
115
109
142
169
128
212
175
123
153
246
225
122
243
94
190
135
207
180
235
110
173
175
226
244
148
165
153
112
183
227
192
183
76
133
136
249
190
206
250
75
144
217
196
160
115
227
85
171
165
207
172
95
137
202
244
74
185
138
85
97
163
168
200
147
72
164
179
80
127
173
127
82
106
154
196
232
153
104
91
245
154
137
203
194
109
80
77
113
181
190
207
240
225
171
180
144
211
199
140
190
169
250
242
135
228
190
105
91
231
201
85
172
84
124
132
143
203
101
240
208
222
222
128
214
148
176
240
201
123
191
101
232
130
125
198
148
185
81
248
128
190
78
116
169
203
87
200
222
248
99
75
97
111
217
245
164
217
231
79
195
239
121
204
147
159
170
159
112
191
149
78
94
203
217
245
227
118
173
250
218
215
114
148
129
95
115
123
169
216
189
202
218
97
223
151
186
215
234
115
248
112
249
133
103
210
191
239
229
75
85
108
240
113
127
181
183
82
101
131
88
217
141
229
145
233
188
128
93
218
242
168
175
73
70
96
127
102
118
145
133
201
100
83
89
140
150
147
175
126
161
95
195
208
119
185
228
243
209
168
229
249
194
160
229
152
117
100
125
103
143
96
134
145
92
96
201
139
130
146
221
103
132
243
102
129
216
105
126
160
85
114
231
125
146
103
230
157
164
88
113
175
190
171
245
180
162
187
196
104
84
136
73
207
167
194
240
193
140
207
101
194
160
118
225
213
169
162
247
130
221
241
229
162
100
223
160
76
221
89
82
214
201
116
141
238
247
126
178
129
107
195
190
76
78
135
231
175
134
249
183
127
112
106
136
181
90
126
141
181
236
112
247
142
129
207
164
243
129
82
121
104
107
82
94
197
180
134
221
190
124
196
87
118
110
241
235
243
152
122
118
246
123
234
233
133
143
72
164
183
197
243
138
116
183
143
72
174
168
136
176
73
81
85
162
92
183
217
111
149
137
151
105
126
196
208
84
137
201
208
181
108
163
240
157
206
109
129
76
108
235
162
213
159
233
95
115
181
178
129
225
215
173
175
189
101
158
117
92
215
128
102
241
160
124
228
238
71
203
140
218
202
79
94
245
73
244
199
156
204
85
225
222
122
207
95
125
179
119
228
189
207
190
126
137
217
147
241
185
107
142
219
189
174
128
135
119
202
76
91
70
156
183
127
209
113
146
94
156
208
152
149
183
174
237
161
98
222
167
144
105
199
225
85
146
142
199
166
133
202
142
226
155
210
227
249
89
86
222
120
215
157
105
176
193
186
114
203
137
84
233
171
96
249
141
102
164
106
178
119
104
232
124
206
86
122
137
112
241
208
78
189
123
248
138
99
157
212
108
110
199
209
116
136
144
153
131
106
120
85
125
231
208
158
138
122
197
84
233
84
88
184
93
137
147
123
77
202
127
76
111
83
127
201
222
147
221
99
70
242
226
113
238
101
231
163
144
189
72
249
123
176
72
203
121
128
91
97
121
247
194
224
178
244
202
242
89
173
106
146
205
246
216
118
227
227
111
105
81
143
216
198
152
226
162
148
128
152
196
192
72
108
240
155
135
203
225
109
239
232
211
111
203
131
221
221
93
150
235
250
231
224
158
160
222
156
163
72
229
115
119
120
122
105
230
197
159
155
216
181
75
216
90
190
170
207
123
73
223
237
212
191
169
125
104
203
232
192
228
117
206
145
194
147
190
119
234
242
92
128
246
214
108
96
186
163
125
152
224
231
112
168
183
189
232
218
80
213
141
93
129
220
128
120
83
165
100
196
175
189
212
146
77
106
129
202
182
79
105
245
95
184
240
157
241
122
203
90
84
174
247
206
197
94
212
79
119
248
211
127
219
201
193
85
235
109
82
136
198
96
164
104
131
97
82
189
195
216
94
172
161
131
246
204
224
166
242
85
147
204
140
185
148
250
104
153
145
85
157
145
217
250
227
84
214
241
174
204
198
231
164
135
249
135
206
97
147
183
219
185
212
136
236
213
116
244
127
170
140
235
195
194
165
85
212
225
229
204
101
190
88
233
170
224
178
86
71
240
245
208
231
247
108
131
221
200
126
137
96
148
190
113
174
77
79
221
194
179
145
189
141
243
157
226
192
100
173
162
122
72
197
96
146
111
70
205
222
108
98
131
115
190
214
243
108
219
98
178
137
197
217
230
239
162
131
125
72
78
140
131
90
71
250
175
241
189
88
91
85
239
217
127
86
178
235
161
111
111
202
163
186
230
84
81
88
91
72
196
215
202
134
202
213
84
217
80
221
158
163
174
243
152
106
232
148
114
83
177
135
223
172
71
185
146
86
228
131
87
93
165
244
120
91
86
130
176
193
128
128
177
105
142
83
197
198
235
220
167
227
213
206
70
213
205
110
168
239
72
176
151
72
143
117
132
243
139
75
206
94
180
233
137
233
84
157
237
102
239
223
121
139
227
88
212
202
198
190
132
227
149
137
139
140
148
191
221
174
127
103
116
143
126
88
106
189
247
209
229
226
138
96
113
98
116
77
113
120
118
173
231
180
138
177
200
220
191
160
110
122
196
175
211
93
125
214
244
157
250
181
170
153
103
189
109
240
74
191
227
179
123
172
177
88
147
174
232
119
125
165
164
193
218
132
139
122
186
147
240
101
163
237
72
196
175
183
92
107
195
123
77
185
216
167
140
184
140
88
103
149
96
234
246
207
171
126
114
226
177
146
174
186
234
241
114
171
116
225
249
185
96
113
79
79
120
223
110
175
142
104
237
114
243
153
171
206
236
199
237
100
182
91
219
75
233
73
104
175
245
204
153
144
145
79
128
214
210
72
184
216
184
199
84
191
240
143
155
189
191
102
129
237
241
228
134
146
99
127
126
93
191
96
157
162
148
108
247
98
193
114
80
88
200
214
196
240
99
112
161
225
250
135
85
113
202
98
172
177
116
103
96
236
186
243
98
92
146
184
81
146
202
203
173
92
139
216
105
70
246
240
85
156
141
136
191
142
247
136
236
240
235
201
221
247
181
111
149
99
222
220
176
100
193
77
84
202
132
123
199
163
75
209
235
92
159
193
201
137
249
161
77
105
84
182
96
116
201
142
229
224
163
227
248
230
143
215
147
142
115
84
124
96
198
164
155
131
170
162
207
93
190
165
74
242
144
173
177
139
187
234
169
89
205
188
85
148
88
194
153
133
153
160
143
114
120
236
88
157
90
198
98
85
231
129
165
80
247
96
151
205
83
119
92
210
232
144
187
209
164
231
142
118
177
174
131
187
143
229
131
231
125
175
176
87
82
227
211
207
131
173
115
162
203
223
189
187
207
176
117
104
140
173
96
112
234
246
88
171
158
160
145
231
184
233
134
245
113
183
160
188
203
127
72
138
141
122
247
87
200
211
221
77
74
136
236
156
116
155
75
134
177
73
74
138
172
138
153
116
73
247
240
122
183
100
89
120
201
115
200
113
185
191
158
236
114
107
221
250
106
120
224
75
222
112
133
128
139
138
183
246
118
91
183
230
239
195
82
202
124
234
99
101
184
179
154
208
151
125
228
190
250
214
196
94
242
250
141
229
158
226
178
248
71
202
92
78
179
202
77
200
163
125
245
165
75
86
240
178
142
212
116
206
204
223
210
82
93
200
190
204
88
144
142
191
88
214
120
170
78
225
206
178
246
155
139
131
82
207
101
191
192
223
105
143
140
144
100
166
96
78
163
207
154
109
237
212
182
93
216
79
136
108
119
235
231
146
237
136
160
141
74
236
227
95
208
239
74
134
179
81
200
234
155
134
76
192
187
109
162
134
131
246
239
151
111
117
210
165
178
197
248
198
154
181
241
153
241
183
132
184
159
165
123
166
95
71
180
79
123
233
96
107
163
166
204
157
245
198
159
182
106
204
211
222
149
72
189
83
243
79
245
194
177
82
109
230
218
210
115
124
98
204
93
82
219
83
197
111
87
154
150
237
128
73
76
132
181
174
129
95
236
74
141
235
206
208
205
83
147
168
221
191
191
201
120
248
153
80
175
241
145
141
124
245
185
70
149
174
179
230
217
149
161
236
120
207
108
146
220
117
71
183
249
216
134
108
198
170
173
194
152
145
156
238
233
248
212
172
211
112
247
219
76
130
135
118
187
182
226
121
220
132
80
181
96
87
164
146
169
134
197
78
199
151
125
78
227
174
180
74
147
76
102
249
81
152
84
193
78
235
83
132
113
241
132
116
240
122
178
100
187
117
180
83
109
108
75
181
233
231
211
216
147
164
97
233
81
129
225
81
149
75
109
169
190
142
186
155
72
211
168
190
120
248
96
167
78
197
211
122
155
179
187
104
149
205
201
98
140
144
140
72
245
131
73
231
84
237
114
231
103
181
109
86
128
87
173
237
106
101
105
168
249
86
184
142
102
168
175
233
140
250
80
72
203
223
176
177
101
239
99
99
221
137
196
144
164
99
170
95
165
151
205
241
138
128
104
204
126
228
122
101
144
156
207
214
115
228
163
175
210
235
212
232
102
240
221
247
178
172
195
73
143
83
155
87
138
111
77
192
250
163
179
211
106
71
145
191
202
70
216
186
142
232
182
211
91
241
73
190
160
149
166
234
82
201
204
207
156
77
218
184
236
149
172
141
76
185
174
203
94
101
102
114
108
178
158
88
79
194
235
93
90
219
96
171
229
235
108
123
98
210
219
93
78
127
168
195
178
101
150
74
170
237
105
84
173
107
174
236
98
97
104
79
238
91
160
85
80
174
90
161
212
71
144
72
74
187
89
222
125
250
185
237
203
146
150
222
80
193
105
165
214
92
228
197
203
228
206
76
155
197
217
119
147
122
116
214
183
132
72
200
111
77
129
220
152
147
140
205
191
199
215
231
152
136
155
142
211
117
209
174
199
91
187
170
85
74
166
245
149
174
101
145
164
140
79
217
132
208
186
171
183
150
74
230
233
127
248
126
182
127
80
244
190
104
214
103
135
196
234
185
182
126
165
86
142
235
116
122
117
241
222
192
122
158
86
238
205
117
198
145
98
230
81
217
101
116
209
148
151
138
197
185
146
162
133
192
93
185
200
214
135
75
75
157
187
151
145
240
188
224
182
94
220
95
204
133
214
201
246
194
241
149
172
206
247
88
223
130
187
108
84
89
158
156
210
126
233
91
201
223
75
233
99
184
232
197
174
102
105
191
189
134
173
247
139
98
126
160
147
177
164
99
221
84
181
210
138
126
212
222
102
237
77
158
238
228
88
136
237
180
205
237
248
239
213
145
189
127
214
238
141
220
126
127
210
94
156
111
107
120
187
231
237
225
138
205
228
128
129
70
87
173
243
246
176
183
140
174
105
107
168
238
167
93
171
106
135
234
204
147
102
137
198
153
152
86
239
112
238
198
128
115
234
246
73
98
157
132
209
127
189
207
248
234
223
160
166
160
91
153
195
123
236
221
185
164
207
221
137
154
249
109
233
210
120
125
98
231
191
88
138
123
199
81
74
114
194
70
85
102
192
247
147
168
231
239
111
105
160
218
79
106
130
104
167
106
220
76
220
103
206
205
233
149
232
219
183
244
210
121
241
175
116
201
164
228
117
186
71
188
166
135
152
180
241
162
209
229
110
126
229
77
216
154
221
159
158
145
74
141
133
103
233
155
115
74
76
127
77
185
197
119
101
72
182
223
128
116
183
184
151
250
217
179
83
169
239
212
201
74
164
105
158
199
156
225
155
127
175
237
169
104
177
218
128
199
110
224
200
82
232
192
149
217
230
190
233
114
202
120
107
124
194
225
200
184
75
110
206
93
93
212
199
182
163
203
117
213
139
123
116
155
159
192
242
213
133
119
244
177
209
244
152
156
208
83
157
99
158
202
218
183
91
169
71
139
185
173
144
107
145
108
99
175
250
95
136
114
172
229
170
237
92
202
186
244
102
88
141
152
189
119
187
115
191
144
215
243
82
100
119
230
80
190
211
190
100
116
237
211
97
207
225
157
220
198
133
244
206
218
75
157
161
125
168
85
248
209
98
165
126
194
248
248
193
108
232
225
164
193
153
190
95
219
84
123
77
218
216
94
150
76
85
222
145
105
88
246
242
121
189
185
178
145
71
140
199
74
79
87
108
109
178
178
187
224
109
210
79
248
218
216
148
171
212
225
197
174
101
109
242
135
79
106
89
128
248
89
186
203
83
160
202
73
81
148
234
176
152
193
158
75
213
180
208
190
240
99
246
88
220
154
73
97
241
142
246
136
83
233
116
217
184
215
218
241
77
147
136
191
190
96
167
184
191
145
120
185
194
213
171
99
188
208
224
217
176
190
86
191
246
143
240
249
221
218
142
226
94
72
239
81
204
74
148
106
107
150
174
117
132
142
172
213
97
152
223
135
212
191
72
170
207
209
137
199
196
131
124
118
109
113
136
81
92
83
249
144
80
80
227
247
133
165
229
180
137
122
192
127
102
92
71
155
137
157
77
75
245
190
192
205
223
182
233
196
86
247
139
72
92
183
204
239
162
201
145
216
196
144
79
131
112
153
230
122
213
182
151
178
146
171
131
140
174
121
242
148
221
249
217
127
234
172
97
182
110
195
133
158
83
124
216
103
94
207
149
144
129
146
80
177
171
121
87
209
108
170
229
183
119
110
144
161
225
135
210
231
151
162
136
163
175
137
179
199
243
222
160
122
144
165
241
229
181
180
84
84
198
183
223
215
97
100
152
202
93
216
121
205
244
108
207
245
139
79
192
117
136
100
169
130
127
206
227
137
149
131
195
161
216
163
193
91
124
117
242
103
121
137
121
188
145
204
102
113
72
97
86
214
219
97
76
179
142
162
76
132
106
238
117
133
77
128
117
166
203
143
247
126
243
245
165
208
129
195
184
174
177
104
165
137
92
143
247
173
132
181
76
159
80
148
175
80
133
158
210
239
166
249
220
151
183
191
176
125
92
116
236
80
84
185
179
149
241
117
112
131
75
250
85
146
177
213
186
198
182
211
97
174
143
166
93
189
198
126
126
211
145
110
154
84
188
186
118
168
149
229
223
197
223
167
113
91
88
219
75
193
218
73
230
175
153
187
243
133
158
198
196
162
134
153
134
216
94
193
169
226
210
145
119
215
82
145
230
225
117
231
89
210
207
161
93
137
222
175
179
138
241
170
115
227
153
156
83
84
215
154
194
225
169
109
156
110
218
169
80
96
198
245
199
86
73
225
201
219
102
143
214
229
221
136
186
181
162
109
206
100
84
79
153
114
171
162
83
201
193
220
74
91
237
155
175
128
100
149
247
167
80
197
215
117
77
107
162
200
210
185
151
144
178
86
153
190
89
109
91
162
207
241
172
247
154
210
245
236
164
243
113
228
233
148
150
229
237
210
241
121
149
227
163
115
78
203
178
206
127
207
168
155
113
197
81
104
87
173
230
71
130
234
121
197
197
126
164
139
151
114
107
136
111
125
228
107
209
218
177
115
242
238
193
225
170
116
208
177
85
143
250
190
199
203
181
151
194
149
171
76
219
196
102
214
113
235
175
165
210
72
131
237
107
191
206
122
119
151
169
83
243
182
123
92
136
158
97
106
175
174
146
83
195
207
104
140
209
237
92
76
145
242
79
74
164
198
116
162
148
147
179
202
207
138
187
226
125
154
225
141
183
171
110
208
105
87
163
107
132
189
158
105
71
89
204
162
178
106
82
128
97
97
77
75
192
107
87
214
222
158
102
111
205
111
125
239
209
120
155
148
96
244
202
235
177
238
214
125
110
181
163
164
137
214
153
119
204
249
242
242
232
114
157
127
233
198
86
95
96
98
241
102
172
122
237
107
230
230
163
134
151
148
250
124
226
190
233
146
190
74
70
122
90
159
153
75
93
181
250
220
155
206
151
200
71
234
248
192
226
188
155
147
141
146
109
201
83
148
107
233
115
111
95
200
204
91
214
250
117
117
227
212
170
81
160
106
143
111
177
103
228
136
221
123
104
106
226
241
196
170
218
215
218
164
175
164
241
250
188
228
181
70
122
111
230
250
243
203
155
143
160
239
167
182
245
127
89
246
94
72
213
220
96
246
240
88
78
248
189
227
156
241
199
150
139
245
226
247
130
218
133
138
234
152
227
189
108
106
246
240
132
105
158
100
105
224
208
229
193
198
111
192
128
90
139
194
101
160
102
185
199
84
180
125
240
95
87
114
104
195
90
145
111
223
165
182
242
74
76
160
110
222
86
125
248
220
200
151
210
107
103
156
208
242
79
212
102
95
183
187
150
140
100
143
169
125
85
88
112
214
150
72
98
139
124
72
193
220
243
200
227
148
201
79
115
120
162
194
185
152
74
217
231
74
119
117
119
79
73
236
151
171
225
154
89
238
186
134
239
233
149
118
189
92
174
99
142
230
100
192
118
203
138
211
199
217
238
232
122
109
86
165
245
89
122
120
85
90
241
178
248
197
107
187
232
144
86
120
248
85
83
97
219
174
159
182
150
71
108
144
114
102
207
126
77
152
241
133
70
185
241
246
101
201
123
142
130
126
95
70
245
184
72
110
180
192
148
137
220
250
213
142
104
168
209
188
242
199
218
119
225
242
218
158
173
204
226
167
165
164
158
96
168
149
83
165
84
124
113
90
228
142
115
125
155
106
102
231
87
106
230
176
242
241
160
194
184
113
188
250
155
250
153
175
145
193
157
187
132
226
87
123
176
133
198
192
156
170
91
171
101
184
95
107
161
186
118
233
101
164
220
231
213
81
248
222
250
215
73
145
236
249
176
218
117
131
173
171
153
234
166
183
213
223
131
144
217
132
164
209
140
109
96
155
114
185
168
119
199
235
233
221
107
235
118
171
122
91
230
138
215
156
121
130
178
248
212
245
158
131
86
199
169
137
158
169
222
141
139
143
122
193
98
117
114
79
122
196
221
103
127
70
102
130
194
165
138
219
238
107
163
207
144
198
142
205
78
201
170
109
231
121
119
111
249
133
179
214
147
139
224
233
127
171
247
133
80
97
152
166
177
159
243
191
187
84
75
131
202
218
106
184
213
163
154
200
108
163
124
79
205
218
143
101
219
194
110
94
210
128
152
90
242
243
85
141
115
156
132
205
245
243
84
179
180
221
119
221
110
86
72
72
148
74
237
95
93
110
81
134
169
182
229
196
79
87
185
114
88
144
93
85
87
159
230
137
184
179
230
199
210
72
178
181
186
157
153
187
221
213
148
171
153
220
187
149
228
230
209
221
117
182
164
143
99
129
124
230
76
209
228
248
161
154
119
166
160
225
224
78
112
182
149
71
119
172
104
88
186
154
144
204
155
132
147
248
233
234
236
165
117
95
132
166
191
125
120
159
70
200
224
199
201
203
76
89
78
151
124
93
76
111
147
168
226
198
70
112
153
224
91
90
124
214
77
198
242
121
180
157
86
125
109
230
154
125
187
227
113
123
141
178
226
193
163
140
202
93
112
113
200
86
181
153
117
137
125
157
148
239
129
148
220
70
83
249
133
221
192
140
73
117
82
95
199
166
96
151
108
133
196
124
146
152
112
73
211
209
190
167
216
183
202
71
234
250
201
178
162
242
100
204
97
72
73
179
196
230
176
115
227
109
163
103
212
191
240
126
214
108
227
91
194
78
250
81
164
182
97
138
136
109
247
121
80
103
84
130
182
183
174
245
84
103
139
205
165
75
73
185
88
162
198
232
121
184
195
100
174
113
191
225
117
187
237
234
239
220
211
96
201
174
153
213
127
229
141
99
195
95
162
158
201
155
158
71
130
173
169
110
242
172
185
148
115
133
242
140
234
168
132
208
187
129
241
238
186
211
155
80
80
190
174
177
92
162
82
82
133
175
98
73
156
237
113
202
164
115
82
132
172
161
189
103
242
160
241
116
225
161
105
96
158
185
192
158
123
241
227
231
159
142
109
128
134
206
75
180
70
141
86
173
136
109
134
156
123
87
98
142
161
239
103
110
225
185
237
166
184
170
94
133
136
179
235
135
95
216
222
127
154
162
145
109
203
191
136
128
218
217
155
97
209
89
81
214
104
250
215
121
90
105
136
232
193
248
190
236
112
82
197
215
129
195
248
226
240
70
77
105
171
135
248
201
149
172
105
250
147
116
136
190
136
142
223
202
93
194
174
155
104
107
152
85
217
232
192
172
99
206
72
104
242
250
75
131
149
219
81
156
99
84
82
156
152
184
170
128
205
201
232
198
107
227
92
124
85
250
168
133
136
101
175
152
72
99
241
112
145
181
78
147
138
192
206
77
101
132
224
238
200
87
138
97
215
243
86
246
149
194
223
229
140
166
168
112
185
87
151
132
189
95
245
140
218
191
174
187
74
156
185
161
179
92
226
227
212
125
213
86
218
155
75
75
201
181
145
207
198
176
205
76
219
232
161
236
166
238
124
87
161
143
205
76
185
156
129
183
173
121
156
131
221
250
249
161
121
124
158
197
151
88
178
82
104
176
215
124
122
193
130
157
111
240
163
151
101
92
250
85
217
152
217
96
123
86
128
107
133
223
163
146
96
174
157
133
91
129
106
210
143
73
243
148
105
157
237
112
95
219
250
224
117
204
113
98
126
97
171
178
197
84
114
172
172
250
232
210
124
127
135
182
214
197
98
182
217
186
238
86
234
192
228
191
230
85
225
237
160
212
148
248
188
173
180
75
113
122
194
173
110
196
112
87
152
203
156
78
181
115
204
118
86
78
246
147
201
183
185
178
153
210
161
197
188
203
152
227
94
162
72
126
128
178
104
220
184
138
212
228
244
77
79
143
93
231
198
77
222
150
84
110
200
228
134
243
122
168
78
167
142
182
227
246
102
136
199
237
202
244
85
201
161
136
89
183
134
136
199
119
92
110
211
198
144
105
248
135
116
204
216
162
70
116
102
102
114
149
198
104
136
130
191
191
91
229
91
246
168
73
214
144
123
109
246
199
118
190
241
246
106
122
161
248
119
189
218
159
85
239
235
147
169
95
229
118
181
115
104
219
96
184
217
147
79
71
89
194
175
94
173
91
109
84
136
184
124
139
194
178
211
160
77
155
147
201
133
76
130
165
228
80
172
203
73
83
179
187
194
172
102
193
226
163
173
183
240
216
173
206
233
81
160
120
89
127
202
169
85
120
131
198
249
81
249
214
181
204
118
181
99
173
230
194
174
141
235
238
98
115
117
151
80
93
152
137
129
168
79
151
119
209
123
204
230
196
90
140
191
217
115
179
227
134
113
105
230
179
97
120
73
235
160
230
166
194
186
231
95
110
166
239
126
79
85
151
183
88
242
196
214
229
222
214
114
83
118
206
152
168
177
78
244
156
114
181
149
198
108
122
109
108
128
227
124
218
95
181
217
89
237
165
71
141
242
110
245
218
93
186
160
113
141
89
162
177
75
88
121
111
123
72
222
240
128
138
159
147
221
164
208
242
120
84
92
129
197
88
136
247
94
211
91
80
150
146
155
87
235
150
199
238
124
211
182
250
172
250
242
152
137
93
77
72
107
219
109
240
162
87
215
219
214
188
227
127
179
143
222
232
129
241
185
250
136
238
113
173
167
137
143
108
176
167
109
158
128
216
233
214
175
201
119
233
82
243
212
244
220
205
141
237
249
246
85
212
118
223
141
140
157
198
183
162
107
136
149
128
121
77
92
163
174
221
116
150
181
82
154
214
196
70
186
141
135
172
219
190
202
132
72
134
99
140
75
85
103
199
138
71
171
88
223
75
126
193
188
224
110
115
83
115
176
155
137
89
189
233
81
130
222
178
114
125
71
107
245
81
197
149
163
122
175
91
164
74
73
91
89
107
192
109
154
179
101
191
190
107
204
225
204
174
192
213
224
122
91
98
74
211
174
162
130
93
196
217
134
92
158
184
204
187
151
136
228
231
201
145
108
201
100
220
131
248
235
167
115
95
116
108
82
153
185
180
139
184
131
117
196
164
211
171
144
121
189
89
229
203
199
89
133
234
224
190
200
72
88
214
80
83
117
159
161
250
224
153
145
222
225
193
181
131
128
125
243
236
178
219
172
199
191
189
102
225
244
136
125
94
82
83
164
226
136
147
249
154
200
124
155
131
107
235
126
190
233
190
173
98
155
188
244
191
125
156
216
172
88
170
150
211
201
198
120
231
70
227
218
72
195
145
240
140
197
196
104
227
72
220
109
96
191
135
231
245
170
132
84
81
232
104
128
93
119
74
211
232
121
185
228
123
175
143
148
213
90
192
221
241
71
145
230
224
197
165
216
176
173
202
180
196
196
88
96
86
103
225
111
127
135
246
141
214
213
116
141
182
80
180
205
221
246
93
98
215
235
218
102
77
74
202
77
236
107
192
209
246
116
207
103
237
97
217
121
154
95
242
166
136
148
216
83
225
178
227
77
90
149
179
154
79
104
226
234
94
187
163
136
222
249
226
105
200
156
177
149
130
249
123
165
213
131
193
170
209
75
181
150
246
131
89
171
149
102
152
72
77
173
199
137
221
234
77
124
78
133
244
154
77
214
104
125
142
141
152
239
123
233
139
228
106
127
158
90
80
71
151
244
202
240
131
82
86
73
130
109
157
100
110
160
187
235
191
156
76
208
120
219
151
152
158
209
166
238
233
104
162
218
96
121
196
185
162
174
126
137
72
107
242
247
89
140
102
214
153
216
130
131
175
214
187
232
240
77
226
220
232
107
212
177
195
105
240
80
84
154
97
111
83
100
187
179
227
135
180
143
203
173
114
171
215
232
155
229
133
158
221
81
161
127
93
170
191
101
79
80
74
107
102
205
190
221
172
106
128
115
110
94
108
218
108
177
216
189
108
227
234
176
233
170
235
184
88
193
128
194
114
189
194
125
101
230
160
171
198
72
163
213
235
137
245
117
112
96
137
198
162
102
146
209
183
209
173
205
161
133
93
229
120
175
246
125
80
133
155
222
96
78
236
156
244
239
155
243
136
180
73
89
214
170
187
119
124
166
215
103
159
86
108
114
89
172
107
123
144
200
164
83
113
111
128
225
186
76
203
77
173
193
206
202
172
235
80
175
157
173
123
105
120
216
99
142
103
133
165
79
211
127
154
98
199
160
103
205
250
201
79
94
109
208
90
122
100
114
250
156
207
231
155
196
195
172
232
185
91
151
86
228
186
226
236
101
140
186
89
246
214
229
147
115
209
140
112
152
239
89
74
81
177
233
83
72
210
148
193
152
230
136
80
217
229
242
116
151
212
228
158
113
118
100
241
154
191
228
208
199
249
234
244
218
146
202
220
156
76
135
137
154
243
247
136
95
127
98
97
189
105
168
141
79
221
233
150
207
138
200
168
105
215
83
98
108
242
189
82
105
123
137
191
153
78
160
102
75
77
185
157
99
93
141
188
102
246
159
198
138
115
149
152
196
71
188
94
212
159
228
209
191
216
110
181
125
198
185
127
177
250
168
104
100
228
92
228
197
240
83
195
224
116
191
117
150
230
104
113
247
191
87
152
249
171
111
243
177
122
181
93
104
177
244
101
99
86
114
229
75
88
169
73
115
121
245
229
106
220
113
168
246
173
237
119
199
202
215
170
91
208
216
246
111
241
218
97
235
223
113
197
103
73
132
82
150
245
188
161
119
202
71
206
131
186
136
107
155
240
250
93
138
116
219
191
101
96
153
220
148
240
196
208
236
80
209
150
246
85
142
245
76
199
246
132
74
136
85
194
214
100
78
232
180
136
106
245
231
107
238
119
159
129
190
172
157
178
106
140
131
157
144
122
244
118
164
197
89
172
213
117
83
115
141
76
76
88
169
79
207
181
207
86
153
97
128
155
176
210
202
186
80
93
201
226
184
86
112
78
218
180
79
224
170
137
164
147
97
179
118
90
236
141
116
94
240
247
171
236
109
139
239
124
84
74
124
114
115
122
199
177
99
101
172
236
141
124
230
174
245
186
223
221
135
217
104
163
250
247
239
194
165
209
132
70
99
216
174
85
189
229
156
187
234
104
223
250
108
130
226
188
95
124
149
229
140
106
192
187
87
242
144
194
86
127
202
83
109
113
225
116
88
170
113
117
158
128
143
116
238
162
112
201
135
211
219
167
77
125
229
181
199
110
122
228
201
162
158
246
226
230
90
178
249
228
180
158
148
146
243
177
99
149
210
177
110
236
174
137
136
219
187
157
176
181
121
177
216
96
180
241
241
227
121
93
87
150
128
162
122
195
246
144
165
205
112
216
184
248
171
192
100
161
115
122
247
231
119
74
158
244
75
245
236
176
135
226
211
71
110
211
193
192
120
114
232
234
155
122
83
124
84
113
192
194
165
104
216
248
200
171
144
158
219
218
114
201
144
205
216
148
155
158
122
210
84
175
73
138
194
200
182
156
153
209
104
220
174
155
147
123
126
93
162
160
212
161
232
115
248
153
165
174
180
151
214
86
82
153
91
120
233
248
202
113
200
149
234
188
74
238
121
85
250
84
77
123
92
80
172
166
244
250
116
75
184
139
228
126
103
176
160
109
134
210
93
161
223
166
229
121
110
176
168
111
213
104
231
111
126
236
161
194
119
100
209
179
146
137
214
230
111
153
163
179
181
119
236
136
124
93
71
174
155
136
123
186
98
127
115
173
79
188
225
220
78
130
198
111
233
221
138
140
195
133
239
237
239
230
216
215
244
71
144
184
246
166
224
205
115
158
75
126
142
164
170
157
170
129
133
213
214
128
94
206
156
122
227
99
168
148
171
100
204
169
250
193
207
92
171
217
239
174
198
100
219
92
78
218
115
239
249
167
211
146
154
153
158
144
155
179
85
97
82
164
162
210
95
117
143
132
185
115
249
215
116
120
220
209
100
210
82
151
86
211
206
204
106
169
101
89
194
140
208
163
185
250
108
240
153
227
232
164
250
146
203
159
206
103
220
85
109
100
88
120
94
199
230
136
225
208
135
170
175
154
171
194
186
155
131
219
244
103
158
218
231
155
86
78
76
93
159
192
229
195
193
164
215
202
118
101
149
219
152
121
107
236
74
208
120
118
124
99
191
120
233
175
222
111
122
176
235
71
174
137
114
186
89
226
145
165
70
219
154
226
91
106
199
115
207
227
214
120
97
203
70
85
139
193
201
199
133
167
156
228
164
170
155
237
222
169
127
230
201
121
140
246
136
241
240
200
77
177
110
147
194
240
192
250
143
186
176
171
78
139
242
197
77
99
155
232
172
240
181
208
185
194
240
216
200
91
122
177
232
189
190
244
139
157
91
86
181
118
173
96
202
142
100
215
93
222
245
130
185
236
241
241
101
219
163
99
84
187
121
195
72
92
151
220
179
115
79
227
118
107
108
182
174
93
230
133
243
83
242
125
158
112
133
198
200
98
195
223
93
189
132
191
106
175
74
216
133
132
204
179
94
170
157
154
231
207
135
108
106
165
138
137
162
240
180
118
219
178
103
250
221
119
202
159
126
159
212
229
110
120
176
216
207
186
154
131
73
120
197
164
199
70
141
192
70
118
113
146
238
148
131
143
205
216
175
233
233
250
181
84
237
79
147
211
209
223
235
88
115
131
193
91
229
223
81
240
74
134
140
166
132
126
202
106
219
248
125
164
116
196
72
166
104
162
182
131
79
123
71
193
143
225
170
228
187
134
182
110
96
205
227
158
194
240
113
218
106
248
165
111
246
96
95
207
86
133
100
83
99
142
148
218
122
220
79
113
94
200
241
154
239
249
187
204
179
214
155
215
84
218
121
156
213
150
112
165
92
169
89
231
181
172
194
74
126
189
152
186
157
193
207
225
124
148
96
78
114
220
129
71
185
249
233
90
162
178
170
184
194
130
91
72
202
126
87
213
128
202
176
207
244
224
111
183
166
199
160
183
217
82
191
232
173
129
156
130
135
159
154
153
132
218
244
154
161
104
248
189
141
83
141
194
135
215
82
218
245
81
84
114
201
205
227
77
247
134
97
180
131
144
94
161
182
132
169
85
143
234
228
96
166
162
225
186
70
235
108
90
174
121
74
218
230
123
229
131
76
107
112
86
208
189
158
114
150
107
125
72
140
148
132
213
153
205
79
113
201
155
123
96
70
126
72
169
207
117
91
116
84
138
221
188
227
237
249
84
205
82
75
100
184
187
166
85
171
191
153
204
120
143
99
164
128
159
166
195
159
183
163
120
202
212
212
136
177
111
187
141
136
91
151
84
110
245
135
231
238
207
165
165
148
236
185
243
128
137
138
140
120
163
185
94
156
239
91
107
116
200
188
201
76
194
87
76
167
206
104
190
129
227
249
198
106
79
86
170
229
199
117
243
164
249
145
108
211
93
228
148
131
74
219
212
219
108
88
236
165
250
191
74
152
120
130
144
73
89
81
134
99
133
229
131
242
189
230
223
70
113
108
140
212
185
96
120
180
179
233
117
119
110
121
119
111
223
160
178
240
232
39
47
77
51
54
30
33
52
63
76
28
30
32
22
25
20
47
42
59
45
56
77
24
43
28
40
32
43
26
38
53
53
54
54
60
53
48
26
75
63
56
36
66
70
23
33
71
23
30
36
79
50
39
23
67
38
70
63
67
66
53
73
50
20
60
29
23
35
79
77
52
21
42
43
45
54
39
59
77
74
22
24
68
53
62
34
76
52
48
28
47
54
29
41
38
66
78
38
56
21
39
40
48
56
63
74
44
74
79
27
24
60
73
37
66
21
66
72
70
21
36
33
41
28
41
46
25
59
73
53
28
39
68
44
47
75
29
67
20
35
78
77
73
73
50
48
61
23
66
38
59
29
56
70
27
80
40
70
53
56
36
79
25
75
34
42
37
49
45
76
65
79
59
78
60
56
41
34
64
77
37
68
57
40
74
64
42
40
39
22
30
25
55
62
68
28
57
41
45
21
24
42
35
77
43
48
58
78
60
71
43
78
48
64
72
67
50
65
51
44
25
50
28
25
55
52
32
65
53
57
53
65
73
57
68
54
73
48
27
44
41
53
44
48
50
72
47
70
39
57
29
25
77
36
67
23
45
43
39
40
47
20
26
28
77
62
52
46
58
43
52
71
39
43
39
42
31
45
38
42
24
61
38
24
37
27
37
80
50
56
43
64
49
70
33
30
44
50
36
31
32
61
72
68
50
74
39
41
77
69
37
71
62
52
22
49
46
58
49
51
72
59
30
77
78
66
70
53
63
54
80
23
47
50
32
59
34
42
57
74
53
30
25
47
41
62
78
75
29
20
22
25
77
55
24
22
71
36
67
64
66
23
62
68
79
38
70
42
52
68
76
27
65
66
44
74
40
23
36
80
32
43
79
53
45
35
80
47
43
36
27
79
59
63
46
34
69
65
29
56
54
39
55
20
40
26
65
20
62
42
29
55
73
79
29
42
70
22
31
35
24
80
22
76
54
43
47
76
26
38
50
65
21
65
74
77
21
20
60
56
78
43
51
25
48
22
47
47
60
44
23
28
64
34
34
43
35
78
30
69
57
33
39
43
72
33
25
27
20
33
58
51
35
43
42
55
59
38
62
44
24
71
64
73
70
71
71
57
57
58
73
76
32
35
56
39
56
78
27
70
39
75
27
29
59
23
72
34
63
22
40
66
37
75
46
80
70
53
74
72
54
60
71
67
37
59
63
32
44
44
67
28
61
28
64
55
78
71
25
39
25
52
80
51
34
52
27
53
23
76
23
38
44
60
43
28
31
79
30
26
49
41
80
52
27
65
30
41
67
59
32
58
40
34
47
34
30
31
44
33
51
76
48
38
38
75
30
47
55
40
21
21
33
29
66
46
51
43
38
43
79
79
56
37
48
36
21
21
50
57
78
63
67
46
30
22
42
58
46
40
52
78
31
59
69
42
40
70
43
32
35
68
27
54
30
36
78
64
68
68
49
41
43
24
52
29
80
49
65
25
72
32
21
66
39
45
51
41
66
50
66
36
53
31
67
40
20
30
21
34
55
54
35
68
36
64
71
25
33
59
35
60
68
55
70
75
62
25
39
23
72
29
66
63
24
28
64
60
63
53
39
38
67
60
56
23
64
36
74
66
35
48
34
73
46
65
71
49
52
28
51
23
59
78
38
20
38
50
60
45
35
67
29
76
60
42
34
35
39
62
69
32
50
55
62
31
42
76
77
27
42
61
49
62
79
27
46
62
32
38
24
80
71
37
40
31
74
40
48
65
44
76
64
26
68
76
76
78
23
69
37
61
26
71
29
40
62
80
44
71
60
76
62
23
76
43
75
63
43
46
78
75
68
45
78
22
48
37
35
78
55
24
72
29
62
21
31
78
34
26
35
68
38
58
79
52
40
50
27
49
27
47
39
50
68
79
54
34
75
54
34
26
38
46
62
27
60
49
58
61
33
52
45
23
66
37
30
21
41
65
80
45
56
72
78
66
63
30
69
55
45
20
27
23
27
33
51
24
47
64
22
57
27
59
50
46
66
22
50
72
47
37
27
24
45
21
79
32
55
30
34
74
70
30
62
55
28
55
65
63
54
39
34
71
56
67
53
72
39
38
65
35
52
24
35
48
74
23
29
23
51
74
44
38
45
20
35
23
40
67
68
40
24
51
72
54
61
37
22
70
71
38
32
78
58
64
77
74
32
35
69
42
32
38
35
38
61
37
37
53
52
48
42
45
49
31
24
43
24
22
54
67
40
70
72
51
75
40
76
56
71
23
23
61
79
69
57
66
80
55
21
34
25
76
47
70
75
65
24
61
26
65
28
47
51
38
75
67
36
55
61
73
77
65
71
49
21
35
57
41
51
35
50
42
49
37
39
61
29
42
46
45
65
60
48
49
76
47
61
66
59
36
72
68
38
65
36
40
43
58
54
36
80
31
29
41
80
58
70
60
58
69
39
65
43
63
54
39
40
80
70
22
29
39
56
38
45
37
67
58
67
48
22
33
49
59
44
65
60
39
79
64
71
24
21
25
45
56
37
69
64
73
66
60
38
44
69
23
63
22
57
73
43
25
77
63
39
47
61
24
40
22
29
57
65
48
52
33
22
37
49
42
52
73
52
24
55
75
49
59
46
21
32
78
53
57
20
54
61
56
70
51
55
73
60
63
20
36
25
50
48
45
68
22
70
47
75
78
20
45
71
49
29
43
57
60
29
41
39
77
69
37
66
65
39
53
74
55
59
29
72
43
53
56
43
51
62
78
79
29
63
56
47
20
30
45
39
35
40
43
23
34
46
29
50
48
75
38
61
73
74
21
57
20
65
80
25
64
34
45
66
26
25
71
43
72
63
64
56
49
38
48
54
69
78
74
49
71
78
33
36
80
39
57
57
79
41
30
33
39
75
30
45
62
50
77
29
75
64
37
48
41
21
22
50
49
25
47
27
25
69
75
61
24
32
51
49
35
50
31
51
70
65
57
62
54
54
57
67
65
59
79
36
43
75
55
27
58
73
22
75
61
47
67
60
55
41
21
27
40
23
64
34
76
55
43
55
57
34
43
56
60
56
62
66
74
21
24
74
51
40
32
54
59
42
79
59
56
61
38
63
47
34
75
37
77
42
63
48
40
45
68
37
33
69
27
68
48
57
64
42
73
65
64
66
67
71
28
70
48
63
49
74
25
47
51
76
64
41
61
45
29
42
44
47
42
33
29
50
53
29
79
74
70
20
77
77
59
68
60
25
78
61
29
63
43
61
55
33
77
40
74
24
45
36
80
59
76
50
61
37
44
56
69
78
78
24
65
53
64
52
38
61
26
56
45
31
31
77
76
27
38
24
52
43
57
25
32
70
21
32
45
78
71
30
69
49
69
41
46
65
28
74
33
35
52
66
63
33
61
51
34
40
52
45
76
41
37
57
26
30
56
31
63
77
58
47
41
38
67
26
42
26
55
24
69
38
41
41
20
41
64
34
23
68
28
59
26
34
24
37
56
51
63
36
63
59
45
71
76
78
79
72
67
76
25
28
56
32
44
50
80
71
74
48
28
74
75
71
25
78
38
48
72
25
40
36
42
58
60
51
64
56
54
71
65
67
56
37
76
53
39
41
41
51
21
20
30
37
47
26
34
28
80
71
70
70
66
34
55
31
68
51
55
29
49
50
78
35
55
44
71
20
20
63
26
78
62
20
53
62
27
73
29
72
38
66
52
70
32
68
67
67
42
56
67
55
44
65
52
28
55
50
70
50
56
60
31
55
29
55
40
79
20
38
72
53
30
70
51
68
57
76
80
59
60
20
59
45
59
57
26
21
46
71
57
80
77
54
78
23
20
48
58
32
67
54
35
40
69
59
36
39
33
28
63
35
30
28
72
48
77
56
53
77
67
50
71
63
75
33
78
32
39
44
77
46
80
28
20
47
26
62
45
24
38
40
35
36
57
29
35
67
31
30
66
58
30
58
61
61
65
60
60
69
23
60
31
79
51
34
76
46
70
35
26
29
24
65
54
27
48
28
63
59
37
32
32
73
35
51
62
68
52
47
45
63
38
80
32
44
55
27
35
23
21
49
39
25
37
44
26
76
51
71
51
80
68
53
32
42
65
78
41
38
53
29
45
51
66
23
40
51
61
47
76
26
20
67
25
28
36
28
64
41
67
41
50
68
40
40
33
60
52
55
62
64
72
34
73
78
62
32
62
61
28
60
54
24
48
22
71
21
65
28
60
62
30
57
21
67
56
69
76
63
49
58
78
47
74
75
22
71
60
46
58
77
62
41
44
53
42
39
45
33
62
29
67
72
20
23
50
40
62
43
26
56
31
40
29
33
68
57
63
47
57
30
72
24
56
61
74
50
20
35
48
67
50
53
57
48
63
57
67
57
46
56
57
45
69
25
50
66
43
48
53
51
29
77
44
71
70
60
49
41
50
21
49
27
65
29
72
26
72
35
36
61
39
38
63
72
53
35
32
36
43
22
56
23
67
71
72
52
58
67
79
69
71
30
27
24
45
65
70
53
35
78
56
31
46
44
77
62
35
33
65
63
56
45
74
32
58
74
20
64
50
26
63
69
31
63
20
42
76
47
69
27
79
60
40
68
27
30
20
77
77
61
51
41
26
61
26
32
24
53
51
76
29
78
73
67
68
33
35
56
34
60
71
24
31
24
21
33
42
30
46
26
24
24
30
79
56
33
51
63
56
62
27
22
29
32
47
32
75
36
29
64
23
31
51
24
40
60
39
31
68
42
35
75
69
77
28
29
58
70
69
55
75
67
52
32
47
64
80
60
64
57
54
67
78
42
53
64
27
76
62
66
27
78
28
28
38
67
21
45
79
52
22
38
22
63
24
59
49
75
41
80
31
28
55
40
65
20
22
37
38
38
61
61
43
75
80
80
62
44
20
53
22
37
76
33
64
68
44
23
55
74
37
20
52
30
76
23
60
69
40
30
76
31
38
25
24
47
61
67
41
42
29
49
33
30
75
72
25
38
33
67
39
40
70
26
23
60
57
29
62
75
28
75
37
52
64
39
76
63
42
60
47
52
72
49
51
59
51
41
29
29
50
44
58
55
49
70
49
76
31
64
78
76
77
70
60
63
24
80
57
42
74
29
29
54
30
21
71
41
72
78
67
43
73
49
68
39
44
29
58
71
39
28
26
66
30
78
55
70
51
28
34
20
71
42
32
79
76
75
66
68
25
49
61
51
32
62
26
79
39
50
44
80
25
32
67
50
70
28
67
52
54
62
47
30
63
34
60
64
33
71
71
61
77
30
60
64
31
60
42
35
39
63
45
37
57
55
22
42
66
69
77
62
64
27
55
47
54
51
51
62
57
56
52
25
60
25
72
26
61
55
28
54
56
71
75
26
21
65
71
43
60
43
77
44
27
31
34
53
78
43
23
48
33
49
57
44
55
31
41
51
67
49
75
56
71
58
22
32
35
38
66
69
56
37
66
34
58
76
36
55
35
34
50
21
28
37
25
75
47
73
72
57
39
36
72
64
61
77
54
45
21
70
42
34
75
28
35
73
75
76
64
20
38
78
28
67
50
65
55
39
72
28
47
53
59
39
57
60
68
23
34
48
36
27
25
52
28
33
43
47
22
69
46
79
45
44
67
62
57
38
60
70
23
43
63
54
44
77
57
75
33
51
32
28
44
74
60
58
34
70
27
61
23
48
54
38
70
25
60
49
30
48
24
30
55
54
67
63
76
40
42
33
76
24
78
41
58
72
77
70
53
59
33
26
22
43
63
70
34
42
67
77
38
57
20
30
25
35
70
28
43
45
48
37
73
46
76
47
76
53
64
22
28
41
42
73
76
23
35
35
27
23
63
50
64
22
68
45
38
72
47
43
56
40
46
35
50
54
29
61
60
79
46
66
29
28
38
74
33
59
68
68
74
80
54
65
65
63
79
29
27
70
40
61
64
47
34
25
26
31
58
67
39
49
75
69
43
55
33
38
33
23
24
72
74
30
74
35
41
37
22
60
61
29
30
73
48
41
68
48
47
64
71
56
80
47
47
64
56
25
37
37
32
55
36
66
42
37
33
51
32
57
66
53
57
46
53
53
34
36
25
23
59
48
75
79
41
65
50
24
47
78
44
52
23
67
30
43
21
37
77
73
56
69
76
52
46
71
34
59
65
48
24
35
36
26
23
65
69
45
72
45
28
24
79
64
77
36
31
69
65
55
57
61
53
54
63
56
70
22
38
47
66
80
52
66
44
53
52
65
54
40
41
79
35
25
21
57
42
78
29
40
20
41
63
61
58
80
50
80
52
47
68
77
21
46
57
22
22
30
66
23
67
35
26
35
71
28
38
45
38
45
72
66
27
30
67
39
77
26
48
75
53
44
41
46
53
32
25
30
21
22
41
46
42
63
52
33
43
31
69
67
66
44
45
51
37
32
74
42
80
42
37
31
40
32
75
75
73
54
50
32
30
26
79
67
38
78
41
44
22
28
80
60
39
53
43
29
69
41
65
53
59
79
70
42
33
67
66
33
76
39
29
78
65
79
76
61
43
53
68
55
73
75
69
32
24
45
63
35
55
21
78
48
70
51
27
72
69
65
67
39
70
33
63
52
53
54
40
38
47
38
77
44
38
78
39
48
63
53
49
79
33
27
78
44
51
20
77
65
54
28
51
26
73
27
70
23
74
67
37
32
78
68
52
49
49
50
74
77
21
65
45
26
25
32
76
54
50
46
72
35
44
63
69
54
20
67
26
32
44
52
60
41
39
36
64
71
78
21
21
23
34
64
24
52
31
35
74
26
25
71
21
22
61
72
47
41
44
32
60
75
66
39
49
45
46
67
79
34
42
68
32
46
77
65
29
37
20
56
35
63
80
56
31
38
57
69
75
51
27
25
53
23
37
68
42
66
73
32
59
29
29
43
75
41
28
52
24
25
71
21
59
73
76
36
57
61
67
72
34
24
30
50
53
26
31
72
60
32
44
35
30
67
49
46
62
52
49
43
79
44
58
55
51
60
49
28
32
61
59
74
43
45
74
52
64
63
76
25
68
47
32
38
61
46
37
35
61
47
55
49
72
76
70
32
59
40
59
59
44
23
30
46
36
60
32
53
48
52
39
29
37
58
37
38
36
20
35
63
72
80
23
46
25
63
76
36
54
44
59
78
46
80
73
39
47
65
43
36
58
69
42
40
73
42
55
55
59
77
25
23
74
43
25
74
33
67
28
67
79
39
48
33
39
73
28
28
48
59
23
38
36
25
33
37
38
55
45
53
53
40
69
73
73
54
72
50
80
22
53
54
20
26
48
80
33
73
68
21
78
32
35
52
31
20
58
23
45
58
56
48
40
29
25
23
43
30
65
75
67
22
51
25
38
30
23
59
43
42
63
73
39
23
66
36
52
74
62
71
53
52
61
79
56
26
70
77
53
49
27
32
32
79
50
39
39
80
34
38
68
24
42
61
20
44
72
70
58
51
21
47
63
31
29
68
74
33
59
43
46
78
79
30
21
34
35
36
26
53
30
39
20
71
62
67
57
45
22
32
40
70
77
63
61
29
57
31
38
34
63
20
45
41
32
27
43
60
32
43
48
27
56
32
71
49
72
26
56
23
80
21
41
68
60
59
74
80
67
47
33
73
47
51
24
72
60
67
47
22
46
64
58
72
46
73
52
74
48
80
55
24
23
47
29
77
30
45
58
30
74
38
30
51
45
24
61
74
73
27
23
33
75
79
80
26
42
48
40
49
40
31
37
55
58
69
24
31
73
29
50
71
50
35
47
24
49
57
48
26
63
79
73
72
73
47
21
21
24
48
61
72
75
77
46
23
72
56
51
66
42
60
59
80
62
79
33
33
61
45
47
70
38
29
68
45
80
46
54
33
64
47
24
63
44
34
72
37
61
58
67
63
66
69
70
47
26
54
25
67
60
60
23
80
40
39
56
73
41
31
50
65
53
35
32
25
36
75
62
49
20
55
76
74
23
71
58
36
80
52
40
47
65
32
41
40
46
59
73
80
42
64
23
74
25
39
70
57
59
23
74
73
80
33
21
53
42
44
47
30
27
38
57
61
61
80
71
76
63
25
44
61
51
37
39
48
48
70
28
49
20
35
66
51
76
55
57
40
71
53
37
79
75
79
29
74
65
25
26
34
74
41
50
49
63
32
32
72
77
28
58
27
60
37
59
67
70
52
59
77
51
48
61
39
26
54
59
80
60
48
71
50
27
52
22
23
21
57
74
56
26
58
52
56
68
35
80
65
63
34
45
78
33
78
42
56
28
71
43
78
33
71
79
45
50
59
46
53
67
25
61
60
31
20
71
21
30
47
37
60
74
33
28
59
75
20
23
64
53
46
49
20
26
65
80
41
51
47
25
79
59
30
23
43
38
30
65
39
34
76
45
80
46
32
44
72
36
59
67
44
33
53
69
57
63
59
38
68
20
48
29
64
66
38
54
75
63
40
66
80
26
37
21
57
20
55
46
66
70
42
63
24
23
70
41
26
39
74
74
41
74
29
46
28
42
41
64
38
25
67
31
67
77
32
20
65
74
53
80
68
37
60
23
57
79
28
45
49
30
23
27
78
63
49
63
63
62
74
58
54
60
73
46
64
79
61
42
68
23
22
36
40
41
71
79
49
50
34
74
36
59
32
63
51
70
39
34
75
39
52
54
66
44
60
48
36
33
60
22
28
72
39
43
66
52
44
34
53
64
51
52
69
53
31
56
22
37
35
58
36
55
68
64
38
34
79
32
80
59
34
20
57
50
31
73
28
21
50
63
65
22
46
43
75
63
22
58
24
56
64
30
32
78
24
52
49
20
58
31
28
28
54
51
31
20
77
65
28
78
71
38
80
72
38
21
47
40
52
53
43
25
27
74
37
76
37
23
78
70
57
69
75
69
25
44
34
47
27
46
23
26
70
76
27
36
49
33
51
60
63
20
44
80
33
57
20
25
32
41
45
76
30
36
47
33
68
63
69
27
67
57
46
68
34
39
28
75
26
32
64
67
45
79
52
37
55
71
75
72
75
56
54
71
65
68
68
71
43
44
73
37
54
63
29
35
65
79
47
43
33
35
58
48
28
74
36
39
52
80
50
26
69
39
78
44
30
60
27
54
64
36
32
70
47
27
39
43
46
62
32
33
36
33
62
76
58
61
53
27
27
23
53
61
64
38
26
67
35
50
50
35
35
74
44
50
32
51
23
62
80
41
75
27
36
31
35
26
74
78
48
35
26
54
59
65
43
60
68
48
25
45
52
50
42
79
60
80
48
49
50
66
59
37
25
80
29
76
71
57
73
55
40
70
50
49
70
76
39
59
41
30
41
49
47
47
29
54
45
51
61
46
65
73
35
72
26
24
64
68
72
20
63
28
37
68
78
22
26
47
78
44
38
73
54
65
54
59
77
68
20
49
54
79
68
45
60
65
25
74
78
34
38
37
49
56
80
30
65
25
76
75
25
63
63
59
41
66
62
31
79
41
79
49
34
28
35
71
53
39
20
48
79
56
76
22
54
51
25
25
45
45
73
36
65
54
38
55
56
75
37
59
31
55
53
43
38
54
61
79
50
58
69
30
20
77
54
39
67
64
65
36
33
20
30
79
31
67
22
59
43
79
27
50
35
39
62
73
44
33
35
62
38
67
74
67
45
71
70
21
44
79
63
53
33
51
39
21
43
34
47
59
31
40
26
33
24
31
41
77
47
24
66
75
72
63
48
38
49
34
71
66
74
78
62
78
78
39
53
66
69
45
46
71
76
62
52
77
39
22
39
62
63
48
63
78
74
38
32
34
42
36
49
65
78
30
31
50
24
63
61
40
46
58
80
75
55
49
37
69
75
33
34
58
48
48
31
32
65
24
20
23
65
42
61
58
28
48
59
70
40
31
43
50
30
24
34
58
49
59
60
63
58
55
25
68
47
60
66
34
54
23
67
48
59
26
27
55
44
26
79
43
63
52
33
63
54
29
35
66
68
76
24
70
20
22
25
35
76
30
70
28
65
44
52
20
25
34
31
49
60
53
59
52
56
52
65
55
69
33
55
53
50
74
47
66
66
70
25
20
45
79
28
42
74
24
46
28
58
67
80
34
52
20
69
41
52
55
62
56
28
61
33
61
72
42
42
25
79
52
73
73
31
49
31
67
67
30
30
69
24
25
76
78
77
57
28
73
62
32
26
49
49
67
48
70
49
37
80
70
66
45
56
64
54
58
79
30
75
51
34
51
68
78
32
55
30
26
72
52
69
78
45
53
48
38
25
39
47
46
65
30
43
26
72
74
57
66
37
79
40
75
56
65
35
77
77
39
48
38
37
77
44
61
63
53
57
41
45
70
37
43
69
76
33
25
64
75
64
41
47
57
56
41
34
26
54
36
34
43
36
40
56
57
80
24
68
20
33
66
79
72
24
22
32
70
75
58
59
34
28
61
56
67
38
35
21
62
52
50
61
65
26
45
29
38
52
36
45
68
23
68
54
52
35
80
70
20
51
61
43
55
50
22
52
51
66
52
57
29
32
41
79
21
57
33
22
24
27
31
45
74
68
39
39
20
61
79
24
39
80
33
49
26
70
64
80
38
25
47
55
79
73
44
23
37
75
21
29
33
77
63
77
69
51
37
24
23
34
34
54
43
21
44
26
20
58
32
48
66
58
67
47
47
47
41
30
40
61
54
49
67
35
44
54
25
63
77
57
54
70
34
74
75
25
29
33
38
34
46
52
42
49
35
36
29
51
40
41
68
49
48
21
67
60
50
59
47
47
72
44
24
76
77
30
70
39
71
30
21
29
58
63
80
71
62
73
62
42
43
41
38
37
34
69
34
54
79
39
79
77
35
75
35
45
62
35
22
48
80
59
27
71
47
60
35
77
40
52
80
22
22
42
80
64
34
48
21
77
41
75
68
45
56
67
34
77
59
60
62
32
40
26
35
62
76
38
68
21
56
64
38
35
65
47
73
64
20
31
28
79
36
79
33
43
72
44
38
67
49
55
20
26
22
45
43
65
41
71
35
27
44
21
35
38
52
25
50
27
41
80
25
39
61
67
79
20
26
37
76
80
29
77
78
29
73
80
58
52
80
75
42
54
61
79
71
22
44
65
55
34
32
45
58
35
34
35
21
25
34
80
47
35
55
31
27
62
67
46
52
73
41
62
56
43
52
37
48
46
34
28
67
62
79
57
54
80
79
51
62
27
63
57
38
75
49
70
54
35
47
24
40
26
53
23
70
43
58
26
70
55
36
36
54
26
62
61
80
54
37
68
21
72
76
21
40
55
31
70
27
56
35
62
62
54
29
62
71
43
30
48
78
26
80
34
34
29
67
65
45
47
32
25
56
78
77
66
31
29
43
45
35
57
20
67
46
74
80
35
65
68
22
58
24
21
58
70
22
34
42
69
61
58
70
26
59
37
51
49
52
40
37
22
57
61
42
68
56
23
68
46
79
46
59
77
52
32
37
59
29
68
56
65
42
80
42
67
53
36
64
22
38
52
39
76
25
45
73
48
72
78
50
37
49
80
76
53
55
74
53
53
34
29
33
80
27
42
25
37
63
55
73
28
20
30
31
46
53
43
56
65
70
78
42
30
59
31
20
35
47
33
41
76
64
71
78
20
66
51
66
61
69
41
73
71
73
61
75
79
31
27
57
60
20
70
80
30
70
27
23
62
73
55
23
69
29
63
71
26
69
65
50
74
26
48
23
51
26
50
77
80
40
56
74
38
56
58
79
24
35
76
61
49
33
79
35
73
21
33
57
45
28
75
55
37
59
42
36
44
77
22
24
55
28
60
40
47
66
24
43
58
32
64
59
47
72
43
69
66
34
79
48
50
21
61
72
61
36
20
58
20
79
55
69
63
51
58
59
22
23
70
35
69
48
31
32
36
46
79
76
61
28
72
72
35
23
70
32
21
41
33
40
71
25
30
38
44
80
65
69
70
80
33
47
75
41
70
51
73
29
31
31
35
29
75
49
29
74
75
51
48
63
53
48
25
64
38
74
57
77
20
52
54
24
77
56
71
74
35
73
36
63
25
55
67
22
52
48
78
49
23
66
69
73
80
38
60
63
65
75
67
55
67
64
37
59
31
77
40
51
37
74
45
77
34
70
45
62
45
51
59
31
68
47
69
68
51
28
26
57
31
47
42
40
63
46
47
50
62
51
27
72
62
56
24
49
74
46
76
60
27
62
79
63
44
42
60
69
61
53
74
56
72
40
68
34
47
58
76
34
42
61
28
34
79
50
29
44
73
74
53
34
73
68
30
45
28
55
21
22
47
64
58
41
29
58
48
46
67
44
67
26
49
71
79
28
65
46
64
69
51
28
26
73
51
41
37
72
79
69
78
24
63
74
60
37
21
27
46
55
45
34
27
78
79
57
73
44
29
48
52
46
50
57
56
72
37
44
52
50
26
72
60
78
59
34
46
37
59
60
66
64
49
43
67
57
76
32
31
46
78
51
51
39
65
63
56
58
75
73
48
62
26
66
49
69
68
28
42
68
53
57
63
75
25
49
59
31
25
70
49
21
49
36
49
28
25
38
40
69
60
57
33
77
21
57
61
40
34
32
53
56
36
56
61
42
27
40
43
68
26
22
75
43
50
49
63
78
80
72
73
63
51
25
34
27
59
44
48
29
34
23
21
68
43
66
71
21
30
70
44
48
28
58
48
51
60
64
30
54
34
32
55
47
38
77
40
48
29
46
73
28
79
38
44
58
20
61
63
25
28
78
30
45
48
41
40
20
80
50
36
23
48
68
59
78
20
64
39
22
67
57
54
33
73
29
54
41
61
60
28
68
48
30
42
31
65
55
24
31
31
78
34
30
66
45
39
75
32
73
67
35
65
60
20
65
27
26
68
20
69
74
53
26
70
63
56
44
71
53
22
54
54
66
39
73
23
61
74
30
36
75
35
70
45
62
22
61
48
55
44
31
51
55
45
65
54
36
48
48
45
58
55
58
24
42
44
54
59
57
36
78
29
57
21
54
59
36
39
67
38
37
29
76
69
42
70
77
51
57
20
68
34
26
47
25
71
33
39
61
48
47
62
37
64
53
22
25
28
49
61
65
45
69
39
39
48
48
68
70
46
57
53
71
35
20
30
40
67
55
69
75
54
28
63
55
47
61
42
74
41
49
57
56
51
61
45
41
79
26
24
41
33
36
78
65
27
54
35
39
78
46
34
55
29
32
44
26
27
29
79
41
36
27
73
74
48
65
39
48
41
71
25
70
35
73
27
27
60
51
54
74
62
41
58
73
20
53
20
76
59
27
69
56
56
41
64
71
64
42
34
40
28
24
42
28
74
55
28
69
20
30
69
27
52
28
62
37
50
27
49
52
73
25
49
65
79
30
61
75
32
37
45
53
70
47
64
41
76
64
48
32
34
41
63
58
25
59
36
63
64
75
61
78
48
71
25
31
53
55
63
75
28
67
25
24
75
34
48
33
26
73
69
54
71
75
50
47
65
20
44
78
56
64
56
50
78
36
62
48
53
37
80
37
62
40
49
23
29
24
21
22
79
42
34
68
24
40
38
20
70
49
26
52
70
34
69
36
59
57
66
75
40
29
33
70
57
65
30
41
56
45
50
35
35
57
58
24
53
77
44
68
29
47
77
34
62
70
49
22
20
55
50
71
33
49
40
56
35
52
33
73
59
33
22
52
79
33
60
31
79
73
65
25
23
23
63
28
35
61
28
67
54
69
28
70
23
78
64
49
22
63
67
48
80
46
70
64
27
46
24
59
42
72
40
29
24
25
51
73
67
69
28
23
41
47
78
49
48
64
27
67
75
34
56
31
56
75
80
76
57
56
31
36
74
23
54
70
76
47
53
47
72
30
36
55
35
27
42
66
53
57
72
45
61
57
80
75
48
20
80
63
33
75
36
20
55
27
61
45
20
69
57
66
76
63
51
68
36
47
50
46
73
24
55
40
27
27
35
56
58
44
28
51
73
40
57
76
61
60
34
70
56
75
27
39
77
55
24
58
25
47
46
23
43
75
63
38
60
28
30
22
61
67
56
76
49
56
54
39
57
23
46
40
35
28
61
56
26
37
69
42
62
58
34
52
60
55
80
79
41
39
64
22
63
76
28
42
40
44
57
33
70
38
62
43
59
52
62
67
35
26
69
53
67
54
25
59
48
68
28
55
31
69
62
72
63
42
75
43
35
68
29
31
78
51
21
21
48
33
78
20
47
29
33
24
60
34
24
33
35
35
45
52
63
20
68
61
48
48
64
74
31
64
29
75
36
42
42
45
25
43
56
31
48
65
40
37
73
76
23
77
27
68
24
74
78
73
41
70
66
31
28
49
36
59
65
60
30
22
37
76
77
39
78
25
24
78
24
36
24
28
38
24
67
66
25
60
58
43
74
27
27
46
40
60
57
51
69
47
75
35
37
43
73
41
68
28
44
62
47
26
74
53
75
59
65
70
65
75
64
60
24
37
28
61
72
61
55
63
35
53
63
24
40
23
37
67
45
53
37
42
60
48
79
37
45
59
72
67
31
71
48
44
39
24
76
48
72
74
68
36
31
50
58
32
39
35
78
41
30
74
43
43
21
80
77
49
23
68
70
73
23
53
45
51
39
59
34
27
42
60
46
33
33
80
32
44
55
32
74
43
69
36
45
47
50
29
49
51
75
79
22
46
27
77
23
66
64
62
80
35
20
25
35
28
41
26
62
51
46
49
68
75
34
20
39
40
39
70
57
23
73
55
58
57
75
79
62
79
80
61
40
61
76
76
38
67
72
74
21
44
53
36
47
50
31
52
28
42
76
29
75
62
80
44
55
61
39
44
48
50
35
25
70
80
23
66
80
73
27
23
61
51
60
67
28
48
36
22
34
28
27
62
65
31
64
43
33
31
38
63
26
56
53
53
52
47
36
77
66
36
34
70
62
41
77
29
43
42
69
47
26
20
51
37
67
50
39
80
67
74
56
59
48
33
20
74
27
55
43
78
53
23
57
27
25
64
54
47
75
26
26
20
42
23
29
31
42
47
71
50
24
66
22
61
72
49
25
41
66
42
75
64
49
69
41
22
47
67
40
41
45
32
72
29
48
57
57
54
23
73
20
57
66
26
69
36
42
46
39
59
32
72
38
21
49
35
51
45
37
66
26
70
73
63
38
24
57
35
25
54
35
66
44
37
33
38
49
36
64
21
53
80
47
35
47
24
26
63
42
55
46
59
44
62
20
52
24
47
44
41
71
26
74
59
78
22
23
55
39
55
42
71
26
34
77
68
40
25
33
32
49
53
67
54
80
64
37
66
68
29
56
36
79
23
27
29
61
74
62
34
44
46
73
26
46
67
70
73
23
29
31
30
57
34
62
75
49
21
79
32
66
71
58
20
49
36
25
66
25
34
27
25
64
61
54
75
31
53
33
76
28
72
55
69
54
25
48
36
69
78
74
47
29
48
34
36
40
28
79
51
73
37
73
26
66
68
67
28
41
33
43
62
63
55
35
41
77
58
23
45
75
20
72
80
79
28
79
48
23
51
67
33
67
45
22
56
27
77
25
67
60
66
63
35
67
26
55
54
61
61
76
50
37
56
43
44
42
38
62
58
51
63
43
49
31
22
70
41
46
54
22
40
69
65
25
35
60
31
55
36
58
42
26
61
54
54
54
35
70
56
71
53
73
55
66
34
70
38
22
42
80
35
31
26
28
78
47
77
67
46
24
44
68
54
45
26
33
61
46
20
73
34
79
74
71
58
78
22
77
51
59
64
40
77
46
49
40
51
28
64
60
21
31
62
64
65
30
71
24
76
57
64
55
53
74
41
38
38
44
22
20
36
80
66
40
49
55
79
31
51
51
27
35
64
53
23
52
57
45
55
79
49
33
80
43
37
79
63
77
48
40
51
49
43
66
45
59
63
50
42
53
77
21
41
51
80
74
70
22
40
35
29
49
75
25
33
78
42
39
32
48
67
74
29
30
42
38
33
61
52
36
53
51
55
62
48
79
25
52
27
47
70
51
67
43
79
41
60
25
80
76
60
67
39
74
22
30
75
36
33
30
67
67
53
45
59
32
80
29
31
21
56
45
41
36
27
48
28
53
39
35
39
62
76
56
36
23
30
59
65
32
35
34
80
73
30
50
57
33
29
54
24
60
35
50
44
78
36
29
37
48
64
39
47
53
22
35
61
64
67
52
56
51
60
67
74
39
66
20
80
40
53
46
34
55
34
66
42
48
27
21
28
26
23
54
40
36
67
62
42
55
25
37
56
53
36
66
24
59
71
34
76
38
45
48
65
27
31
33
38
50
26
64
39
31
43
66
50
50
76
78
74
34
30
31
46
80
45
47
20
72
61
77
20
68
53
20
57
24
40
34
70
20
35
50
55
52
60
30
75
56
69
60
64
26
77
80
48
35
52
66
45
66
53
38
73
66
51
35
75
42
28
54
38
21
31
74
69
51
22
29
66
43
66
76
38
33
33
72
37
31
24
67
23
47
37
22
73
78
56
23
38
44
62
47
46
48
25
48
57
78
44
39
25
79
61
38
47
31
33
69
36
21
35
53
73
31
50
53
64
77
30
51
32
70
62
62
51
43
25
48
33
25
56
51
70
46
52
46
62
35
71
48
46
48
65
24
41
56
66
79
21
67
71
44
66
77
37
50
74
27
63
60
66
33
79
80
24
36
24
39
64
41
52
37
59
73
30
27
41
25
57
75
72
20
59
32
29
65
29
80
43
80
30
76
70
45
30
71
31
39
45
51
29
26
77
20
78
70
80
78
39
70
63
63
43
21
46
27
64
44
77
28
37
62
27
79
50
59
57
51
34
20
59
25
24
39
80
57
80
68
75
43
61
64
65
42
41
75
29
51
47
49
49
78
36
59
56
34
48
24
31
42
61
75
67
21
75
80
79
65
21
77
29
40
71
79
29
28
51
73
33
56
38
60
57
23
66
54
48
40
80
26
47
42
75
32
33
20
37
71
76
29
60
33
50
28
37
66
21
56
39
75
78
33
79
66
64
74
49
29
60
31
59
24
30
25
26
26
73
28
23
64
77
22
50
58
37
78
31
52
61
62
28
24
80
31
51
78
76
69
79
43
49
50
70
20
48
66
43
76
65
31
48
23
27
41
26
66
149
248
139
221
250
186
89
190
151
124
167
104
185
219
121
230
193
247
209
175
181
215
83
165
144
204
165
209
246
183
112
162
199
83
152
129
222
162
81
213
213
126
107
207
124
155
72
162
161
89
136
150
159
210
123
196
179
71
135
179
216
89
243
207
230
238
237
84
108
192
91
177
162
129
117
167
168
128
174
92
196
180
193
215
167
176
224
169
110
146
142
245
78
70
177
172
93
145
222
182
180
96
233
77
240
110
192
95
70
112
210
248
188
200
80
155
83
123
243
187
213
145
86
156
74
134
137
84
153
123
164
152
113
154
73
97
188
112
205
180
203
198
237
121
247
234
236
85
95
75
233
249
159
157
208
162
79
232
169
117
123
179
150
246
179
114
212
157
246
84
231
109
162
173
161
102
204
172
146
183
149
179
89
88
249
130
174
194
238
146
228
151
196
94
249
83
90
223
210
89
82
144
246
94
121
150
73
119
209
228
180
183
242
107
122
79
150
176
223
141
115
120
109
245
103
220
203
230
71
155
125
136
78
147
83
124
142
147
166
192
196
194
211
235
154
159
175
76
136
75
70
232
90
96
243
180
157
191
229
152
192
108
215
186
88
224
174
100
240
207
227
240
246
150
245
203
117
124
202
189
81
130
73
232
101
134
99
225
153
121
124
219
230
236
90
106
73
192
176
201
198
112
143
240
107
130
151
125
78
76
238
119
236
82
83
110
121
72
224
98
158
70
99
97
209
89
207
221
108
226
162
249
188
154
210
169
158
119
176
197
95
132
110
249
142
232
112
149
90
171
93
93
80
184
161
193
129
219
155
133
229
223
187
227
154
134
70
227
150
111
96
147
70
111
213
219
230
187
226
193
117
230
120
153
154
250
211
238
199
246
217
151
155
224
92
190
137
235
224
71
100
135
100
169
112
197
115
244
228
241
147
239
88
182
146
204
242
97
137
140
131
123
129
186
75
89
194
193
245
161
167
151
235
137
85
79
105
215
178
116
191
133
162
163
111
98
200
148
176
183
194
124
88
180
250
97
181
133
88
120
159
116
75
215
75
247
113
229
184
85
133
71
165
235
115
221
151
160
205
222
124
124
132
187
160
175
78
159
128
183
173
206
249
71
213
73
113
205
108
107
83
145
221
231
144
83
183
227
87
181
172
233
154
236
81
245
193
245
95
238
159
119
149
114
244
145
94
151
131
133
126
94
242
178
182
143
108
77
112
92
231
179
129
135
176
220
224
102
196
81
161
177
210
72
192
89
125
174
150
240
151
246
123
163
197
168
199
166
89
204
155
144
140
200
101
141
176
141
81
136
174
213
217
197
127
132
242
77
79
97
74
222
193
102
242
237
202
244
115
224
119
83
200
198
116
119
181
175
186
175
161
106
199
233
243
228
138
152
116
193
163
121
179
144
131
245
168
72
241
125
155
120
194
231
244
95
230
151
76
222
83
165
142
204
234
184
188
180
199
241
176
97
119
157
216
176
134
125
210
229
159
94
108
121
195
89
113
111
80
74
168
250
170
105
100
171
170
75
201
236
146
92
221
215
250
140
226
235
90
168
160
245
220
235
113
246
89
89
107
158
211
208
137
106
102
236
120
180
189
104
109
250
223
89
175
223
186
179
230
166
136
91
211
100
218
101
173
228
124
212
241
188
208
137
76
121
238
201
90
241
126
145
111
169
105
246
250
236
158
201
167
189
90
245
136
126
143
159
118
165
191
75
215
166
75
159
138
120
152
226
111
102
206
208
187
201
142
167
206
89
77
149
115
126
143
151
199
235
186
96
115
189
164
173
123
184
97
241
165
194
101
189
206
93
98
147
72
114
233
97
97
117
107
149
73
81
232
248
175
167
219
133
78
224
183
208
125
84
202
119
174
188
107
195
117
104
132
186
156
242
249
97
113
216
230
207
172
220
178
79
209
83
168
237
166
108
105
108
187
198
227
112
108
211
194
206
77
244
88
173
71
204
116
243
131
142
86
204
103
228
148
214
73
217
168
97
250
238
75
125
105
113
134
201
143
216
223
245
77
230
155
131
148
152
192
72
145
234
218
97
239
140
231
84
238
217
221
89
156
148
232
91
161
191
85
182
120
122
187
203
78
73
201
73
229
230
85
119
131
97
129
191
173
77
72
146
205
223
113
119
207
112
84
106
223
138
221
152
219
99
237
97
205
137
80
148
212
141
152
212
197
209
156
112
106
133
149
172
161
204
110
187
105
188
143
203
135
180
104
90
231
244
80
157
149
104
153
180
227
131
178
180
125
202
151
199
193
160
132
88
149
166
87
122
138
219
151
105
109
227
156
167
145
250
86
213
239
151
172
201
109
206
133
240
79
95
224
138
137
110
77
191
157
107
136
95
187
171
238
101
211
148
218
135
213
89
148
233
230
101
143
207
155
194
71
99
177
197
127
212
166
132
99
213
249
108
221
105
197
169
177
194
213
73
206
126
75
170
176
165
201
72
238
86
218
231
240
136
235
118
186
149
100
72
202
90
226
167
160
230
79
70
216
178
117
205
198
246
155
222
219
156
231
99
205
153
189
166
203
145
160
113
72
204
246
138
132
136
166
241
179
150
121
92
71
74
222
75
76
188
84
107
92
180
224
104
236
115
153
200
177
162
91
91
181
124
158
237
199
233
156
179
94
230
135
218
143
131
166
201
135
214
156
102
217
195
218
208
181
185
105
111
221
218
166
185
222
200
90
243
87
108
139
177
188
170
185
114
218
195
182
74
122
239
105
146
236
176
110
106
245
249
159
156
89
249
169
102
77
74
101
84
134
78
226
192
86
245
190
124
173
177
189
136
249
171
113
197
81
243
76
246
151
131
160
126
97
229
128
85
109
240
159
122
94
115
227
148
210
225
127
237
152
90
222
228
132
72
180
187
172
250
92
70
86
78
176
123
138
88
138
159
225
72
171
139
102
215
215
208
127
172
181
218
249
154
124
168
106
153
150
129
124
235
88
71
187
214
143
220
233
82
187
138
74
241
74
187
156
159
74
213
230
222
241
134
250
214
138
180
134
84
231
146
114
83
236
219
139
186
165
168
227
206
111
121
227
228
223
199
245
238
110
214
100
122
215
140
73
196
203
144
87
218
133
140
248
222
214
136
173
155
188
105
137
205
164
228
113
74
70
125
139
76
143
246
207
100
249
243
214
75
106
87
143
224
82
189
98
221
95
150
180
97
205
212
89
174
137
155
97
231
163
116
156
182
198
191
151
130
223
106
164
139
79
147
230
168
243
230
152
223
250
139
157
217
242
114
81
169
169
243
70
205
92
169
150
240
227
138
109
216
83
247
71
202
223
176
193
168
185
162
122
200
95
182
154
214
87
201
226
203
184
220
150
93
89
73
136
85
92
77
173
119
182
235
177
236
175
215
199
113
179
142
80
90
141
142
118
142
200
185
160
169
226
205
152
174
193
233
88
77
77
123
110
107
197
135
198
233
224
189
222
70
141
119
219
83
166
84
99
105
141
169
220
126
111
188
139
187
241
186
71
136
115
244
208
115
223
238
137
85
239
214
246
183
241
106
238
183
201
88
104
103
241
155
72
192
75
133
97
119
165
212
112
91
203
233
136
204
157
77
155
106
213
75
149
214
220
71
232
121
200
101
79
203
161
92
171
192
78
92
79
128
87
222
71
247
191
92
152
163
115
239
168
245
170
173
232
160
186
223
238
210
85
153
215
240
151
207
170
155
212
135
210
102
139
248
207
212
209
181
244
82
99
176
126
120
229
209
156
170
79
130
92
168
127
202
187
221
120
235
102
191
88
214
193
163
129
88
149
80
136
214
134
132
168
215
164
163
145
81
91
135
185
86
71
70
107
226
244
233
209
113
73
71
126
106
246
147
188
199
72
145
89
152
78
161
236
105
243
72
142
123
204
87
245
107
250
126
84
123
186
158
124
181
170
70
115
180
191
135
222
157
182
118
188
145
128
136
164
84
121
217
82
96
168
205
214
186
86
141
208
126
72
96
183
206
214
150
83
71
247
114
242
206
189
181
143
106
110
235
134
83
116
223
87
243
149
181
179
145
236
154
219
98
135
85
144
226
71
238
179
116
84
199
90
143
224
176
91
196
80
131
149
81
165
187
149
146
89
173
194
208
188
99
212
95
171
105
138
193
179
204
246
208
220
126
177
172
180
151
250
96
191
235
241
245
236
120
96
93
203
122
219
207
89
209
93
102
227
242
235
139
198
118
125
237
106
145
170
191
198
180
105
163
244
136
242
149
235
81
175
120
230
185
171
165
199
243
176
102
230
141
148
99
152
248
142
121
79
179
143
193
84
141
79
159
149
90
90
219
117
174
78
108
236
129
154
99
175
218
113
132
70
229
231
172
116
93
174
115
149
212
144
107
186
172
140
105
97
225
186
218
93
119
239
175
197
103
140
162
232
213
109
190
70
200
126
114
235
116
155
101
180
119
160
170
220
231
237
209
180
226
112
210
131
181
200
127
155
79
161
88
201
232
125
122
165
180
131
150
210
99
81
153
123
218
170
200
239
214
215
121
169
205
175
148
151
171
168
219
159
119
178
185
225
233
186
161
187
84
140
203
241
112
86
170
87
195
134
207
103
140
245
159
166
245
236
227
194
148
164
165
249
227
171
164
237
70
138
119
204
249
90
247
79
118
158
199
154
189
86
190
189
158
130
145
99
186
138
245
168
196
206
185
155
100
205
249
156
128
233
169
224
216
206
234
168
231
212
214
100
117
228
87
89
106
108
138
248
164
231
120
161
81
226
72
165
247
99
88
85
179
141
140
164
211
195
116
199
216
70
184
187
200
173
178
130
164
84
161
173
188
141
169
72
185
181
82
225
104
115
99
209
237
183
103
186
212
101
214
185
214
81
168
85
222
247
224
194
199
156
193
189
241
249
71
136
99
215
242
224
130
131
116
224
227
164
84
172
244
95
156
89
79
79
177
210
164
162
162
172
154
114
116
89
221
146
126
136
137
142
242
237
250
188
211
129
117
159
122
159
83
159
105
163
76
168
71
230
215
196
154
133
210
80
220
232
82
101
250
218
227
221
201
246
135
95
187
241
175
224
242
171
130
144
144
215
74
96
173
92
212
112
249
92
163
225
160
228
158
204
203
179
218
202
86
126
115
247
204
182
94
221
250
129
100
94
238
204
124
138
244
102
76
140
236
110
138
219
210
164
224
145
225
220
209
71
110
84
201
248
165
188
119
245
143
159
181
156
215
166
223
221
193
140
107
162
176
81
133
236
117
107
154
244
186
99
111
95
244
227
181
160
243
179
188
70
248
136
204
105
224
150
166
123
196
193
162
167
148
110
109
98
235
89
221
231
126
174
173
104
70
236
134
164
183
227
105
132
248
232
118
138
239
106
213
222
92
126
134
147
126
226
222
126
77
208
246
181
195
235
249
220
72
97
84
197
220
119
227
175
237
241
233
71
163
152
127
121
89
145
226
137
146
143
239
87
158
70
81
194
110
95
175
184
133
242
234
84
244
212
140
118
89
134
140
166
200
248
210
204
71
106
153
185
148
187
182
96
215
207
221
150
134
125
120
194
159
102
209
222
189
178
238
84
201
114
91
121
207
239
193
222
111
143
138
105
128
152
237
113
137
101
177
199
206
179
241
128
99
70
193
133
171
221
140
246
145
187
185
175
185
227
215
222
184
123
207
113
161
148
158
184
79
140
244
194
199
185
182
137
241
74
186
95
238
189
199
237
234
165
168
176
127
116
210
141
224
169
79
249
204
136
242
180
234
89
84
178
75
84
180
139
183
187
79
199
120
76
214
110
125
206
159
86
178
142
87
163
176
74
152
222
139
144
210
249
122
224
198
242
218
218
115
108
150
235
118
167
177
146
103
146
127
250
212
148
193
98
172
126
111
190
158
222
168
143
232
84
157
87
203
132
207
204
238
194
78
157
229
133
133
102
92
208
107
173
245
124
84
100
129
163
101
168
134
101
113
181
179
184
185
223
158
175
81
175
243
201
189
173
71
128
159
213
235
130
208
192
113
193
179
186
163
70
116
182
143
123
133
130
227
210
161
168
169
171
82
155
150
161
192
168
96
179
116
71
217
105
88
243
86
234
75
237
178
157
118
104
181
244
97
191
227
122
155
166
151
108
221
241
85
184
155
143
163
236
120
221
112
197
216
224
185
147
93
126
93
224
85
246
120
189
120
85
148
88
112
107
130
157
195
231
89
132
198
91
70
119
245
229
240
85
170
103
211
82
94
209
108
233
171
84
245
216
238
128
113
239
107
110
94
222
192
179
214
242
190
221
168
127
114
218
218
117
143
137
229
153
194
247
176
154
185
94
80
153
200
138
70
247
169
200
90
179
126
235
135
125
198
240
121
120
162
86
74
89
220
237
178
178
217
75
185
247
88
240
217
182
137
172
155
223
116
139
206
138
126
97
109
186
148
177
218
125
170
167
212
139
184
203
184
245
202
107
93
116
134
71
162
160
226
102
209
73
103
71
190
188
145
148
85
204
141
129
197
241
248
183
219
141
124
209
70
158
182
128
122
145
227
103
211
229
238
177
184
76
78
232
97
134
103
200
157
115
201
137
90
135
167
86
239
215
222
124
218
76
233
101
215
176
213
212
226
215
98
231
159
173
239
197
131
180
218
82
88
226
241
240
210
108
130
80
181
94
158
170
116
148
174
150
160
220
173
149
76
156
205
141
91
181
194
121
224
157
187
185
197
169
158
119
193
216
148
204
239
111
77
234
196
104
82
105
249
74
176
156
198
169
182
82
123
189
225
109
73
111
209
129
181
99
141
249
186
168
116
208
192
133
187
243
134
132
219
120
138
232
118
134
140
166
145
99
98
80
126
148
188
152
80
171
74
151
147
197
108
146
162
79
189
149
210
239
156
175
140
169
115
235
127
121
225
84
75
82
209
190
86
226
234
126
144
147
79
87
198
70
178
142
167
162
85
132
82
221
132
213
217
185
164
175
176
245
177
220
245
199
88
128
153
196
104
206
93
144
78
172
203
132
203
138
103
105
235
175
222
133
179
236
132
214
227
83
227
223
124
234
97
224
220
108
155
111
206
182
243
99
131
77
169
210
242
153
208
241
112
238
90
171
153
104
173
189
195
151
199
242
98
209
112
112
117
114
104
186
238
222
244
234
194
205
213
137
227
73
97
141
75
244
111
176
126
138
83
159
184
222
140
177
83
160
222
236
174
167
80
102
93
210
212
81
236
70
169
76
122
100
188
225
138
233
136
113
167
84
84
139
127
174
183
98
127
229
85
234
200
162
196
177
197
80
174
199
194
222
103
70
111
70
123
222
217
108
128
130
146
183
242
98
156
246
116
172
214
112
203
122
208
139
129
210
199
146
186
173
136
247
96
239
199
138
83
71
185
85
102
112
177
70
152
201
223
119
144
145
105
137
191
138
170
215
80
76
235
148
199
186
213
92
150
239
80
171
250
143
238
132
161
225
101
97
107
115
112
124
208
172
203
75
109
225
88
158
100
78
137
162
150
135
235
203
131
200
122
92
243
169
172
85
108
246
146
163
75
143
143
104
203
214
224
165
200
174
244
233
117
225
141
226
248
173
173
110
70
219
89
202
102
239
107
160
154
166
187
249
175
150
189
210
143
215
142
142
181
247
111
167
109
112
196
76
86
214
187
175
194
224
232
231
70
102
121
74
145
79
231
234
190
229
113
97
171
183
141
96
119
94
90
119
117
78
106
190
70
155
179
128
80
140
98
130
158
193
191
202
222
96
218
189
225
207
240
137
126
179
170
211
162
82
245
136
177
151
108
99
245
146
180
126
113
114
198
121
107
116
117
79
241
79
223
109
115
180
96
208
104
180
114
79
71
119
84
201
87
238
199
150
145
232
228
129
237
72
100
160
181
179
157
228
161
147
225
221
197
89
223
174
111
141
161
197
123
81
244
117
246
230
143
118
102
116
87
206
168
167
189
90
73
209
209
152
159
210
86
181
124
146
172
219
104
193
122
85
115
153
163
236
91
191
233
161
101
167
78
201
155
145
167
232
206
147
232
106
79
201
230
89
139
131
98
216
107
130
193
141
77
198
90
120
208
220
248
106
235
85
131
77
242
114
151
247
243
105
152
210
111
222
161
127
136
217
179
92
153
248
93
93
117
186
177
114
90
138
176
148
115
214
182
198
225
108
230
169
153
145
150
175
143
122
248
178
226
196
227
217
140
140
70
135
141
202
198
175
191
104
215
83
76
140
129
202
181
214
114
237
81
86
144
203
190
88
73
207
104
178
211
205
90
237
161
242
206
209
109
206
97
229
203
206
109
70
153
184
120
198
205
124
161
193
85
100
237
199
200
95
234
244
188
139
149
163
184
177
220
125
126
188
198
214
201
234
242
155
120
159
179
187
239
199
224
142
86
174
107
182
115
87
249
194
71
193
150
121
88
93
79
148
95
138
135
203
199
105
111
227
105
140
186
118
160
210
96
79
78
242
249
229
157
199
231
82
178
92
76
234
119
224
170
192
123
78
90
250
129
87
171
156
115
234
233
75
213
175
143
182
179
96
95
103
96
171
137
195
151
192
72
106
114
226
119
226
189
206
198
214
218
178
153
152
235
205
234
152
120
201
135
108
239
137
81
196
184
207
165
104
126
143
149
117
72
211
86
213
164
241
160
225
102
203
91
77
124
226
70
75
211
150
167
154
243
204
89
166
100
99
216
141
127
190
139
243
195
94
119
159
146
73
167
87
110
84
250
144
77
212
129
148
118
211
193
239
97
191
94
119
170
139
150
163
105
130
74
245
227
217
173
179
158
161
159
150
73
235
159
213
147
97
164
140
140
117
139
120
148
201
211
228
70
114
195
79
138
236
76
169
129
106
206
208
78
113
221
169
119
191
139
248
188
170
94
82
206
110
92
175
217
107
185
243
219
241
227
175
101
132
161
181
157
192
145
160
144
202
204
211
173
114
250
146
153
118
80
209
153
99
163
132
197
96
197
94
236
191
137
122
84
116
183
88
214
177
109
206
204
242
98
185
159
75
198
197
141
144
165
137
200
230
79
76
168
243
179
130
127
91
97
140
201
182
154
184
249
139
144
140
157
172
129
246
117
160
187
241
189
232
202
205
177
219
229
191
247
195
166
86
147
227
111
237
136
125
133
143
152
119
212
204
226
162
238
139
170
237
89
197
248
115
231
241
177
181
87
78
218
182
209
226
159
250
244
211
212
162
178
102
108
82
198
219
225
245
130
206
130
127
206
210
238
213
77
227
110
73
218
76
205
169
97
116
216
115
215
216
148
182
150
237
104
155
183
140
244
82
178
110
191
120
159
140
174
76
215
241
197
177
215
87
145
171
150
86
250
162
250
150
91
221
241
229
243
112
163
214
235
217
201
244
233
176
190
78
119
135
193
128
113
220
70
156
119
244
204
172
235
243
201
125
213
172
116
179
217
165
72
199
227
234
89
112
238
234
78
185
246
164
243
208
194
231
82
113
95
151
152
93
191
237
109
199
147
113
126
166
154
127
147
137
211
219
153
121
212
229
228
225
168
204
139
213
159
93
236
70
98
70
205
233
89
141
221
212
243
202
237
104
232
157
212
77
229
106
190
209
158
213
120
248
241
219
132
75
208
236
92
149
125
248
203
116
107
211
96
152
151
227
200
213
126
114
247
148
98
70
118
80
98
103
169
107
113
139
217
139
77
221
248
78
237
225
235
81
111
156
112
81
80
181
122
130
245
190
127
179
248
152
114
157
173
231
126
78
177
245
240
193
125
188
140
181
166
143
81
149
186
208
91
106
161
242
129
210
214
94
167
75
101
216
75
209
128
146
236
154
89
184
185
143
129
248
92
206
117
194
194
211
115
222
241
156
213
111
120
147
106
83
107
205
97
145
80
122
70
210
85
227
149
133
177
231
213
170
163
177
72
121
229
188
180
236
227
116
180
163
137
130
243
196
180
206
245
88
203
146
91
189
200
151
71
83
93
108
127
227
243
210
118
71
183
107
168
201
174
109
154
94
102
196
123
205
239
139
143
96
151
224
211
162
82
82
152
102
166
87
243
141
158
245
202
236
99
226
182
95
176
237
121
127
216
172
213
178
194
154
171
235
85
152
101
198
73
103
147
162
105
215
236
122
226
204
166
153
195
102
226
244
102
174
70
164
177
205
247
197
248
245
148
146
195
250
187
242
151
77
147
247
176
95
197
219
187
147
98
133
183
249
177
127
195
176
176
154
208
192
148
207
171
72
103
71
192
152
244
78
91
130
250
159
78
104
120
202
243
219
98
154
205
97
202
204
190
143
207
209
77
202
76
126
142
85
108
228
200
75
185
202
210
242
243
120
222
172
241
177
106
130
248
74
132
76
228
250
110
78
170
155
194
179
204
219
174
146
159
89
82
177
79
136
77
248
212
140
168
250
245
135
150
80
143
249
150
139
195
199
96
227
234
215
124
142
160
142
172
179
87
87
177
206
178
146
243
115
221
202
140
237
85
232
105
147
247
154
187
246
155
83
138
140
245
71
94
141
93
124
102
166
81
98
148
190
224
166
126
160
80
75
97
176
186
71
244
237
108
122
153
243
75
178
112
140
248
193
156
228
90
190
123
125
197
108
247
170
123
234
85
159
181
189
106
220
126
210
145
206
155
111
155
73
153
169
233
87
191
244
214
167
141
194
227
87
207
112
249
211
138
85
169
194
211
182
141
184
214
174
153
112
75
143
201
81
197
244
121
236
133
121
223
157
220
134
112
88
135
104
159
97
228
172
167
136
211
117
225
194
243
111
122
219
141
247
87
213
124
139
98
166
155
117
121
128
141
143
157
223
214
179
184
217
147
104
149
239
225
143
110
82
128
122
153
100
122
104
218
116
127
163
114
246
175
215
164
88
104
218
81
217
185
243
116
161
188
228
99
118
193
94
77
125
188
225
104
170
190
157
107
138
150
106
112
174
101
192
83
220
177
216
245
149
106
230
187
81
138
105
155
96
161
217
82
223
169
112
93
158
140
79
249
250
126
227
170
176
120
250
182
91
211
119
219
208
194
127
75
222
94
101
131
77
231
90
226
152
93
182
90
97
144
243
118
190
126
206
173
178
135
87
171
187
237
187
137
164
211
226
151
194
172
184
176
240
157
85
198
164
210
103
102
81
241
203
226
187
195
146
197
108
99
229
125
205
85
212
150
234
212
159
183
110
150
100
78
104
195
154
126
201
134
156
209
76
70
156
161
202
198
227
182
229
73
205
84
208
79
239
221
88
140
140
70
157
88
239
86
75
212
83
130
72
143
155
152
165
244
228
167
142
156
123
241
156
73
157
129
113
98
115
246
162
96
135
190
213
120
239
231
185
160
99
140
109
182
209
235
120
97
139
250
129
80
133
154
81
203
248
235
140
196
90
236
168
71
130
173
80
191
247
236
184
124
155
168
119
164
197
143
100
236
140
105
127
196
101
164
111
178
187
97
102
180
180
198
74
196
163
132
201
187
174
132
70
171
97
245
233
196
150
100
120
85
87
219
94
224
229
190
75
81
115
71
156
152
120
209
194
203
145
126
74
104
229
120
72
92
196
99
161
131
79
225
211
103
132
239
173
171
124
194
234
246
248
108
87
188
176
106
92
168
139
219
196
97
86
98
233
204
170
168
146
243
158
110
98
96
186
237
164
174
215
243
112
120
71
176
151
234
165
122
133
124
70
139
190
113
122
206
228
132
73
73
236
159
187
137
246
195
112
71
141
190
188
198
219
144
153
180
118
142
102
171
210
243
101
238
231
161
219
207
167
138
242
113
171
94
113
216
154
131
121
177
220
113
70
105
132
99
138
123
83
122
141
140
170
213
214
223
187
148
219
142
112
141
116
90
229
105
146
122
193
208
141
188
232
243
120
97
112
114
187
216
168
239
153
143
81
198
226
165
249
234
212
100
197
231
72
181
70
180
244
110
221
245
220
74
88
89
185
196
219
151
84
163
94
96
166
80
208
187
175
219
112
195
133
185
239
132
166
134
167
171
137
80
159
183
89
118
105
209
163
240
171
218
76
76
226
126
170
223
136
133
206
206
110
131
107
98
115
237
178
187
169
246
90
73
165
227
242
145
168
81
91
236
221
155
92
120
135
148
114
212
233
232
234
127
221
212
192
86
118
70
106
198
218
174
145
154
211
112
201
105
202
130
191
98
128
174
153
91
131
159
127
160
101
83
112
147
115
242
161
84
211
245
141
128
248
211
88
191
144
176
205
173
240
145
109
124
143
99
159
191
190
236
184
240
201
216
216
107
239
244
110
227
243
118
154
147
179
155
243
250
202
112
99
189
250
211
80
97
181
70
128
110
233
232
163
160
220
73
99
179
159
114
215
200
120
170
142
247
90
173
124
109
82
217
125
169
164
135
211
249
224
70
204
98
215
150
220
246
132
239
180
159
168
178
214
250
190
82
173
106
98
222
116
173
145
149
103
186
172
215
157
109
189
191
103
158
231
186
210
169
82
176
121
138
250
144
101
182
95
250
216
181
226
146
246
78
171
226
190
236
71
197
165
243
74
149
113
124
90
85
89
219
179
243
201
197
95
212
248
134
233
171
72
212
242
217
119
168
202
159
83
115
196
115
206
243
244
194
174
149
216
146
226
123
105
199
224
213
128
201
77
73
74
205
143
249
196
164
92
211
147
160
235
239
114
173
245
77
238
157
192
99
81
108
114
91
219
152
186
201
223
243
175
112
181
204
81
142
233
157
77
93
151
219
208
198
162
245
183
174
137
217
89
130
170
159
196
98
202
75
233
150
244
181
80
239
98
181
218
73
204
242
207
250
179
233
231
232
245
199
95
91
151
112
152
222
159
136
215
118
208
85
215
223
168
231
195
190
105
127
131
182
225
248
81
229
183
126
210
163
136
215
172
73
131
100
148
235
180
116
102
125
224
160
91
101
173
137
204
234
158
173
239
236
86
234
107
157
101
228
212
159
193
75
106
220
169
236
144
180
146
182
73
150
125
159
231
202
130
191
164
118
179
190
217
247
116
101
224
94
155
89
242
121
212
174
133
108
183
104
177
83
237
139
115
136
129
106
105
95
93
237
187
216
162
242
157
174
204
98
239
89
244
111
148
248
148
248
188
243
107
93
92
211
130
197
172
121
93
152
80
114
85
107
205
99
175
164
246
158
100
184
131
198
172
250
212
164
90
187
197
220
166
79
195
92
138
133
73
79
206
165
171
120
231
211
155
224
243
71
248
90
155
151
159
187
191
205
84
141
166
193
88
199
140
147
211
150
143
238
184
83
242
99
250
225
91
180
246
165
235
165
127
225
198
95
243
138
222
170
163
202
190
99
77
168
119
233
158
234
142
208
178
203
179
112
178
240
138
162
238
93
126
102
96
148
190
113
161
136
104
236
88
219
209
249
158
246
234
110
195
205
83
126
217
97
106
70
194
165
182
151
217
188
127
108
212
145
161
250
110
82
125
190
219
144
199
72
133
242
138
237
138
117
208
183
157
142
117
247
158
127
224
72
78
136
249
77
83
83
217
121
249
178
238
247
224
141
75
200
178
148
162
217
79
220
219
104
180
218
165
238
230
146
245
142
196
235
97
140
116
76
122
104
238
83
161
71
170
172
102
188
104
155
129
153
210
113
128
219
88
174
249
79
167
118
130
116
242
102
139
118
246
240
121
117
167
205
147
227
203
141
245
72
195
164
241
236
239
202
185
75
78
94
236
232
208
169
202
77
196
134
73
118
229
193
172
179
115
120
86
116
245
150
175
105
82
187
199
200
123
103
82
100
242
147
231
196
95
140
211
224
199
100
127
146
177
158
147
168
133
245
147
210
140
219
88
246
177
148
127
227
178
114
83
125
121
147
193
107
216
107
95
163
77
86
190
114
171
231
152
182
225
226
110
223
116
250
153
231
125
206
235
191
112
126
127
118
227
220
137
143
85
191
188
130
77
140
185
184
78
109
169
75
112
123
101
173
122
242
104
86
100
74
156
85
196
71
148
71
91
208
156
240
212
229
166
78
195
173
209
75
241
132
91
233
154
94
250
152
186
104
138
209
200
123
157
79
214
197
200
115
80
196
148
226
223
230
241
95
123
99
243
241
199
143
70
199
248
233
212
117
121
183
145
169
83
97
179
71
170
179
243
137
215
167
166
115
121
243
91
192
175
110
205
138
88
143
127
187
214
170
238
242
232
179
220
242
189
78
135
168
102
116
236
124
150
215
168
197
83
140
181
97
235
119
191
250
201
202
181
112
230
201
143
176
243
129
114
138
90
153
210
78
139
130
225
102
132
135
248
158
161
149
118
101
168
169
198
71
75
241
214
173
186
125
74
100
157
70
133
226
160
173
95
235
241
177
210
108
156
205
146
204
199
124
133
217
118
80
118
178
145
216
98
108
229
84
79
127
75
155
207
234
193
228
242
176
226
104
151
94
149
164
189
191
169
99
240
143
119
139
153
230
112
128
121
142
187
164
146
83
96
102
120
201
227
233
112
149
143
99
84
113
133
107
114
79
124
239
173
183
114
171
193
140
146
224
189
174
80
247
142
72
124
196
101
231
124
155
82
104
143
233
155
218
87
122
215
153
198
250
121
105
217
237
219
175
184
112
217
197
206
101
141
140
216
108
247
135
226
158
188
140
161
184
224
193
151
173
133
230
88
153
166
207
152
162
220
86
193
76
235
99
156
249
74
180
123
225
181
183
249
99
152
238
151
142
217
173
162
192
99
213
245
215
216
210
165
151
207
190
76
160
170
240
180
249
183
228
70
103
159
186
202
134
118
206
174
200
95
96
142
166
167
183
155
172
197
144
158
134
191
170
200
82
92
88
189
229
176
245
163
155
200
88
117
222
98
203
132
250
193
157
179
152
209
108
223
218
192
143
204
144
193
131
73
216
250
129
119
91
239
120
148
183
249
159
184
160
213
217
101
184
141
174
94
134
127
213
154
83
229
218
121
189
181
233
155
173
192
72
74
185
239
177
145
98
199
210
73
147
75
98
80
211
195
100
209
184
174
98
111
120
181
89
150
215
161
102
134
181
80
157
237
131
138
135
103
231
246
248
146
191
238
91
178
127
224
206
212
178
75
126
105
173
82
182
123
187
202
144
154
136
166
220
128
246
122
164
140
101
133
192
116
199
135
127
202
182
173
222
122
126
172
85
99
112
175
171
96
215
123
243
79
85
100
236
203
233
207
173
74
73
122
191
92
82
102
70
221
197
149
169
155
245
147
109
136
225
104
202
176
172
226
189
189
72
120
225
81
162
207
123
193
98
166
127
74
87
183
137
158
156
148
77
119
115
166
163
185
212
224
188
234
195
230
188
174
140
183
192
154
157
210
133
244
124
226
150
199
86
151
198
71
236
237
147
163
82
209
229
110
92
192
242
214
212
203
250
232
230
111
238
187
154
222
181
79
84
201
93
166
93
81
131
174
155
108
218
207
184
126
130
214
107
141
228
238
88
231
140
189
225
104
138
239
233
162
162
94
136
168
93
180
210
123
70
140
91
204
154
70
164
248
196
193
221
196
182
106
82
197
95
118
88
176
170
205
122
73
156
218
120
122
174
239
94
162
135
195
157
121
195
227
128
191
98
244
152
117
228
98
181
89
140
194
228
142
203
156
102
125
125
101
164
182
245
83
123
220
194
220
242
81
232
152
250
225
190
149
75
84
154
199
225
195
159
157
81
182
70
205
246
165
88
180
196
234
206
154
82
196
173
219
173
237
221
192
129
155
163
171
152
109
249
88
231
245
81
113
173
176
206
165
86
200
194
241
156
201
80
149
137
79
104
205
79
113
230
236
176
128
152
86
150
172
229
109
184
175
85
182
228
232
151
219
136
142
229
204
247
152
132
184
174
72
111
164
96
221
124
230
154
113
86
135
230
129
75
186
70
107
109
135
193
141
185
162
140
86
70
248
83
142
212
130
90
116
133
174
171
231
183
163
173
184
150
103
106
92
105
169
217
161
175
124
96
246
193
248
135
211
78
120
100
79
239
90
156
227
230
154
221
147
234
90
125
167
247
122
139
137
102
126
121
134
155
225
85
245
170
184
104
246
125
192
118
166
164
165
205
115
158
115
84
182
151
227
71
146
137
154
169
79
102
120
81
243
143
162
138
140
97
129
236
118
212
107
235
205
239
93
124
124
112
105
116
156
188
206
136
140
196
225
126
189
151
238
125
107
165
105
193
233
239
130
148
220
201
221
171
113
115
100
155
217
196
171
142
167
144
183
148
125
137
213
222
196
155
169
170
104
245
116
117
204
248
188
75
239
217
76
232
200
210
162
171
189
154
105
91
106
174
145
208
140
229
148
134
210
211
74
187
203
167
248
182
74
140
73
174
54
66
74
37
70
74
57
49
26
62
59
53
79
71
68
61
29
39
31
42
31
78
77
45
41
27
31
44
54
40
80
77
26
57
23
55
46
42
46
52
60
44
66
61
76
61
70
36
77
41
32
62
61
45
46
55
23
39
20
78
36
23
75
65
59
64
50
54
80
60
40
67
32
61
39
63
51
32
48
69
76
68
40
78
28
75
47
78
36
60
63
50
34
49
42
42
63
48
69
68
58
76
22
76
68
45
26
23
45
80
57
65
56
45
28
50
68
61
59
21
80
72
57
47
32
60
54
43
50
28
76
79
68
79
23
76
58
43
57
57
39
46
67
33
26
59
38
42
69
34
42
76
50
49
32
49
71
32
32
63
23
23
80
48
46
63
28
49
74
37
25
57
32
34
35
56
42
74
54
76
22
22
63
48
76
52
26
74
47
23
70
52
63
41
78
58
67
29
79
62
37
48
62
45
69
68
23
74
33
78
49
23
45
33
44
47
24
54
58
37
53
43
72
72
77
33
25
58
60
67
55
37
43
38
74
44
45
76
53
57
36
68
80
23
70
76
64
25
40
49
31
49
22
72
35
43
46
25
50
30
21
51
31
53
35
20
61
41
66
57
33
29
49
77
22
22
46
71
59
69
54
54
25
20
40
72
22
77
73
40
53
45
36
74
52
25
22
22
56
29
39
40
76
45
75
62
80
30
38
55
72
34
37
64
29
80
62
32
76
57
50
41
24
22
71
77
21
48
69
28
35
80
61
23
73
58
28
30
21
33
78
25
70
46
61
45
25
29
27
62
21
27
56
76
64
45
33
39
21
40
31
75
49
61
33
78
67
58
45
31
55
30
72
68
78
52
27
28
45
53
22
27
32
74
77
71
78
72
74
71
24
50
60
75
38
71
79
72
41
70
78
74
32
77
67
22
68
42
37
49
74
44
53
54
54
45
67
69
29
39
77
67
41
66
35
45
46
66
66
31
75
53
70
45
30
41
39
25
34
60
70
58
21
49
61
47
23
48
28
70
60
59
26
38
69
47
22
61
59
47
50
79
60
76
67
24
25
31
40
46
65
33
72
73
70
72
80
30
54
51
47
70
48
54
44
41
70
57
22
69
43
45
66
39
60
41
21
53
29
31
44
62
64
55
60
21
43
76
48
77
42
59
46
51
32
41
73
34
44
35
75
29
54
33
55
44
66
32
63
73
69
49
79
62
67
64
53
76
37
74
41
52
60
44
59
63
59
76
47
42
75
22
29
38
59
22
45
53
38
59
40
38
67
77
20
56
25
36
54
38
44
65
59
44
50
47
20
74
52
76
55
63
40
78
77
62
56
34
47
71
44
24
76
67
41
69
23
49
77
63
61
40
49
39
33
29
79
49
77
26
77
77
78
41
22
50
44
65
41
52
25
26
37
76
35
47
52
42
65
55
23
21
65
52
46
29
80
72
68
80
61
30
65
74
26
72
37
78
70
49
23
36
51
40
37
40
62
76
26
59
74
60
23
52
65
48
32
35
45
69
75
24
26
35
25
63
27
75
72
26
30
73
75
46
63
74
63
71
23
40
39
54
78
34
31
23
24
80
45
62
80
46
64
37
68
56
53
54
39
38
65
76
36
60
68
60
59
32
31
31
37
34
28
71
23
72
59
28
78
76
52
37
37
42
48
43
50
80
41
30
61
53
77
73
63
71
35
27
48
62
41
69
67
36
60
42
47
80
44
70
72
38
68
64
79
65
62
46
78
72
45
39
51
79
20
27
34
52
62
25
43
52
71
64
78
70
23
49
40
52
61
49
30
49
67
36
39
56
44
36
79
52
54
26
26
72
24
41
66
55
48
67
29
26
38
37
45
34
74
50
49
36
65
71
75
41
58
49
44
61
26
58
78
80
32
21
79
59
49
43
79
68
52
57
44
29
28
65
71
26
80
32
79
50
54
51
47
61
20
61
40
27
51
77
76
54
38
39
63
20
76
58
58
46
75
68
70
52
79
34
28
31
50
68
51
35
61
60
52
45
50
53
73
65
27
33
49
59
28
42
36
67
79
33
39
63
47
47
58
79
28
35
21
31
51
60
51
75
74
65
29
24
23
35
26
26
54
74
50
68
79
46
39
23
42
20
73
41
74
64
39
21
57
59
59
56
26
42
31
35
29
75
61
42
63
77
40
24
69
63
21
29
52
27
77
76
71
22
54
38
65
79
63
30
23
37
33
77
61
74
41
72
49
32
34
52
32
46
51
39
74
60
53
30
64
43
73
55
35
29
46
48
69
51
75
44
46
68
26
26
73
72
72
42
71
44
65
41
28
55
45
48
70
76
58
63
68
51
73
64
42
29
74
46
40
49
22
51
52
47
25
48
71
80
35
44
23
70
50
49
79
70
41
63
80
55
65
46
71
30
30
64
47
59
35
47
68
51
55
25
31
70
50
71
60
56
78
77
78
64
60
46
44
37
32
50
56
71
69
44
80
51
69
25
77
73
36
34
57
36
43
39
41
66
70
28
68
39
23
22
36
55
76
42
67
74
36
54
44
61
61
38
52
21
72
26
74
23
40
27
79
72
68
39
24
22
65
80
37
73
42
27
66
67
22
23
65
41
75
68
80
77
36
49
80
41
66
42
29
66
68
21
79
34
74
25
75
29
48
24
61
26
36
66
46
69
67
68
76
34
62
79
32
35
72
78
33
53
60
56
55
63
50
62
75
40
20
62
50
44
29
41
51
20
58
46
45
36
77
54
29
50
57
71
55
78
73
34
25
47
54
58
42
56
52
66
53
32
53
36
69
39
43
25
74
72
55
56
53
45
26
23
33
41
65
29
63
22
73
51
50
69
60
40
47
56
54
40
72
69
25
59
20
73
28
63
60
66
48
36
33
21
22
80
45
50
65
38
32
29
31
50
79
32
41
55
61
57
24
80
60
35
42
72
43
28
68
42
80
73
57
63
77
29
61
34
72
20
24
65
44
54
43
33
42
39
55
67
51
32
67
50
51
26
76
20
70
25
75
51
41
39
22
38
54
62
60
38
26
25
75
77
31
32
60
44
45
22
79
79
36
44
30
29
70
32
65
41
41
60
25
34
75
55
39
72
52
61
54
60
79
63
77
33
30
47
36
72
26
31
73
32
65
41
28
52
21
37
28
36
23
45
37
33
32
61
40
42
42
27
57
37
48
48
50
79
25
44
31
63
37
68
51
50
57
38
44
68
80
22
67
27
32
52
41
70
54
26
73
42
28
25
29
28
67
52
76
30
49
58
54
38
58
26
27
25
32
22
70
74
60
64
34
38
80
58
32
71
55
69
48
52
71
76
50
70
65
47
41
70
68
48
22
76
33
23
73
38
72
39
68
67
54
26
48
53
78
69
75
23
33
58
76
71
76
73
59
39
80
24
27
62
56
65
67
58
40
58
21
58
69
54
58
68
80
49
56
53
45
36
60
50
33
65
29
23
75
68
40
63
73
72
42
51
34
21
57
43
61
56
77
63
66
36
43
34
66
64
80
44
51
52
51
20
23
20
51
79
70
38
80
80
72
56
64
69
58
47
62
63
38
23
77
79
61
76
41
52
56
21
56
66
25
23
27
78
27
70
71
57
20
30
75
20
71
57
40
53
55
25
43
40
50
47
47
66
42
76
23
28
49
49
34
66
45
48
25
30
49
78
51
42
60
60
51
45
65
25
31
55
21
54
58
49
44
55
68
70
60
26
80
78
26
67
51
39
61
36
47
69
80
31
49
23
56
59
55
67
41
30
43
36
78
55
51
33
77
56
31
28
71
27
71
33
65
59
62
54
30
69
73
61
66
68
39
30
76
48
71
55
25
21
20
61
40
54
43
43
40
40
56
55
71
55
43
76
76
20
67
65
48
38
51
56
33
46
36
62
74
49
46
49
32
59
72
53
51
27
20
53
51
73
58
49
80
69
77
32
57
46
26
59
27
67
30
52
39
61
33
25
61
56
51
55
77
65
70
59
64
64
47
56
62
60
43
28
24
53
45
63
40
25
67
26
42
78
74
56
43
41
56
30
38
22
25
67
79
36
72
42
30
34
25
42
61
63
35
39
37
38
22
20
52
64
55
78
56
37
57
72
38
36
44
78
42
64
69
78
22
27
79
38
79
56
74
65
31
71
66
69
41
48
53
42
31
54
22
61
47
76
53
75
30
67
80
52
35
43
78
66
49
42
72
45
73
34
46
22
73
28
37
54
44
33
31
24
39
20
76
69
75
62
60
33
25
72
30
59
71
42
47
74
40
73
75
75
69
20
63
66
52
54
72
34
44
29
21
46
80
44
39
25
80
29
56
52
71
20
67
41
58
52
23
72
33
80
52
63
29
47
67
57
28
46
71
38
24
64
32
37
41
36
72
32
50
45
77
69
58
37
69
67
75
41
53
56
72
37
59
69
71
64
51
70
63
57
62
42
32
46
47
22
62
80
46
33
27
47
71
32
36
69
24
58
56
39
28
29
20
69
41
28
39
23
67
69
27
24
60
37
66
56
51
44
71
72
51
72
74
64
77
63
76
76
23
56
58
62
80
62
51
54
79
44
27
48
20
35
76
43
44
33
46
32
78
55
61
45
52
33
67
54
64
63
32
76
55
73
76
47
56
28
51
64
24
27
37
43
71
37
76
48
51
65
53
36
60
24
72
43
50
53
68
24
30
35
59
52
66
58
66
37
59
42
73
53
28
74
70
46
62
34
71
46
44
77
73
24
73
22
50
53
20
43
36
25
66
42
52
72
49
33
77
40
58
24
60
67
68
26
54
67
21
53
65
70
58
20
55
23
78
32
44
61
38
42
32
39
74
79
40
38
43
52
23
62
68
74
70
21
26
40
20
36
40
20
50
32
59
53
28
53
63
50
21
31
53
34
45
41
52
56
45
52
33
35
73
44
22
62
35
72
35
38
21
64
54
43
20
79
32
26
33
35
30
78
74
56
51
71
42
69
37
36
29
66
68
80
60
63
21
62
53
37
26
25
36
71
55
39
50
46
80
25
70
48
25
49
22
28
35
43
79
37
79
53
52
25
48
44
61
55
45
66
49
48
58
30
31
67
32
58
69
44
78
44
43
25
30
24
68
79
34
26
76
55
29
36
25
72
63
33
47
44
80
73
26
67
66
28
36
22
49
66
29
69
24
33
52
39
54
55
48
49
51
63
76
55
50
34
44
46
67
47
45
75
25
57
49
48
34
22
60
76
50
61
38
58
48
46
56
28
42
20
44
44
33
46
74
55
24
47
61
63
42
25
47
51
30
48
39
53
77
52
65
50
31
31
47
57
20
47
58
59
43
56
20
57
37
80
62
35
42
51
36
28
70
29
37
73
30
60
66
78
32
66
52
29
80
34
75
51
65
41
54
24
62
28
38
41
40
79
65
65
36
51
26
61
23
54
31
52
48
61
48
53
63
54
71
52
37
79
24
25
30
64
48
42
61
38
31
51
75
32
50
74
62
27
68
77
63
70
61
80
43
26
70
74
22
28
80
20
67
65
63
62
60
64
80
21
73
78
30
66
62
48
55
37
51
78
26
40
75
68
25
21
39
36
34
63
29
40
80
65
62
58
70
42
67
61
44
31
25
60
29
59
39
35
69
45
68
55
69
60
42
52
39
36
47
39
57
75
44
68
49
34
62
37
74
69
53
26
34
61
44
36
46
37
22
22
76
67
30
29
24
45
31
61
62
71
24
77
31
61
48
67
52
27
77
79
40
63
72
34
50
73
62
43
67
47
75
34
39
24
29
41
77
61
75
29
52
57
58
55
32
26
64
49
41
25
58
80
71
76
48
69
37
37
68
35
64
69
79
70
27
43
25
60
64
59
32
66
35
45
23
45
74
28
59
43
49
47
75
52
44
34
59
62
77
67
20
34
31
24
71
78
58
33
20
61
43
73
79
47
26
54
27
48
80
77
72
76
31
29
72
65
63
61
77
42
24
67
61
75
71
62
42
67
23
75
47
39
46
80
68
77
80
70
24
21
46
60
60
36
24
49
38
80
74
52
62
52
58
77
70
60
27
74
61
43
36
52
24
65
50
25
31
77
58
45
74
59
57
57
64
33
38
66
47
66
60
77
25
48
66
78
77
80
23
39
45
33
44
34
20
75
72
29
76
45
45
40
44
70
40
61
25
58
54
45
41
54
23
32
36
49
46
65
74
23
45
47
77
36
29
50
33
47
71
30
33
24
49
23
65
30
34
38
29
54
20
53
43
42
35
63
54
36
21
55
69
43
23
40
36
74
64
33
59
72
32
22
28
32
67
35
42
26
33
63
37
23
67
80
34
34
36
42
41
30
22
23
33
43
35
59
61
43
69
75
34
67
43
30
53
29
26
26
25
36
27
56
34
65
42
78
31
42
57
74
52
47
24
50
26
27
45
31
78
34
41
22
63
79
69
39
52
30
42
49
32
44
62
28
27
78
79
23
70
44
58
47
26
42
29
61
47
38
65
69
66
29
70
29
40
40
67
56
43
54
68
68
51
66
32
47
40
70
34
76
76
21
24
33
57
50
30
59
35
67
39
48
22
54
54
31
54
41
59
59
79
59
80
57
70
29
20
45
22
64
38
48
78
77
46
44
71
54
29
63
37
79
24
22
73
24
73
61
31
67
53
65
47
54
41
25
29
63
51
70
46
63
23
35
65
34
30
79
79
59
63
34
51
49
30
34
52
44
63
78
77
73
55
40
77
38
36
30
49
66
79
78
66
41
66
72
49
74
73
67
50
24
49
78
73
40
39
23
56
33
44
54
34
53
32
52
80
48
56
46
29
77
69
55
24
63
79
41
27
60
39
73
28
41
54
80
78
31
44
48
52
50
80
36
51
35
28
60
22
76
76
73
57
25
61
36
54
48
57
53
36
49
55
70
63
72
33
24
23
50
35
59
39
56
53
58
65
78
64
33
37
56
21
24
40
59
27
25
68
31
52
53
31
72
68
78
27
21
30
20
75
68
64
50
35
35
74
25
35
50
63
52
62
30
40
71
58
56
30
67
64
77
34
24
39
73
29
42
28
56
52
35
22
29
46
53
42
72
65
39
29
30
42
27
76
48
47
61
60
73
25
31
22
25
73
77
21
41
47
37
36
63
22
20
64
52
40
36
52
69
77
46
72
75
26
55
51
37
62
73
52
68
38
27
70
25
58
44
74
37
77
35
55
35
34
38
47
36
80
69
25
45
75
52
28
40
40
32
44
54
56
57
59
37
64
63
52
60
45
57
26
73
63
72
45
64
60
56
30
69
26
78
72
44
71
66
34
60
25
23
35
24
58
60
72
49
59
73
53
26
48
32
46
51
39
26
39
46
25
35
79
30
46
64
72
38
61
62
76
40
55
77
20
60
66
67
80
42
63
53
31
73
80
52
41
42
29
49
58
38
20
76
44
68
49
23
78
43
60
67
22
59
59
69
21
51
36
80
36
29
80
74
53
33
35
31
69
28
58
54
36
73
60
44
52
40
67
32
20
39
73
55
40
21
38
71
60
55
43
59
20
40
34
29
59
28
60
61
72
33
59
45
45
33
61
43
39
37
79
26
72
57
62
28
73
29
66
36
41
59
79
24
45
29
44
76
36
43
50
50
34
27
48
38
36
61
41
22
77
44
35
59
24
62
63
34
37
24
78
48
79
52
59
32
32
55
26
49
25
76
60
22
68
34
77
50
51
52
32
32
42
27
79
63
40
57
61
20
23
67
50
41
34
31
39
60
61
32
58
21
30
34
79
65
54
80
48
33
32
75
41
51
77
29
41
39
57
50
25
20
52
27
67
59
65
66
31
21
64
31
59
60
56
32
38
72
22
23
66
58
26
33
32
79
22
30
37
43
21
69
66
70
67
74
69
46
37
54
65
43
77
44
46
39
39
66
67
61
79
42
67
35
45
74
66
68
78
48
52
45
50
27
79
39
38
52
47
64
27
20
60
28
71
50
79
67
35
34
28
39
38
74
39
20
44
65
60
43
63
66
70
47
78
64
52
24
65
66
65
44
77
49
68
76
34
21
64
28
52
43
63
21
53
32
64
74
64
60
41
59
27
21
43
32
60
63
53
63
31
66
20
71
34
28
38
27
59
68
65
58
39
80
45
76
58
22
45
47
28
71
33
61
78
53
34
73
58
31
32
53
52
74
26
40
36
71
57
39
67
35
75
78
29
53
34
39
73
39
39
64
70
40
73
34
80
60
33
24
48
63
70
62
54
20
42
75
39
55
60
22
35
63
45
61
44
77
57
43
49
55
31
66
23
27
42
44
52
25
59
38
42
61
48
59
25
28
61
71
52
46
21
22
37
20
32
50
23
70
67
62
44
53
80
23
42
56
59
34
59
73
40
72
43
35
55
65
55
47
29
22
35
75
26
47
57
76
80
47
58
47
65
66
42
23
78
31
35
62
61
78
68
63
21
68
59
38
75
48
25
36
23
58
66
68
41
52
35
74
69
60
48
49
73
55
46
46
75
53
43
20
20
41
39
25
51
68
43
62
78
24
55
80
44
60
57
40
55
39
67
58
47
59
70
49
71
39
70
23
21
41
78
71
27
37
45
74
38
69
48
38
52
71
51
64
58
73
38
75
37
20
35
70
39
61
78
61
51
64
32
36
75
55
30
48
76
57
54
45
38
71
65
20
55
69
20
61
27
68
47
39
21
29
58
28
36
63
57
30
51
72
24
60
54
27
53
70
34
35
74
37
55
24
40
23
41
74
78
48
52
60
56
28
66
34
23
79
68
72
40
77
76
60
73
64
69
29
24
58
37
66
70
61
56
57
33
41
79
59
77
33
36
80
37
79
37
65
33
46
80
67
60
48
28
51
24
51
44
51
56
29
45
59
49
30
25
49
78
41
22
61
32
56
63
52
58
64
69
30
25
48
37
80
60
34
34
74
70
25
31
31
24
37
56
56
61
35
67
72
75
52
67
20
24
44
36
21
58
68
42
48
44
68
65
29
70
56
50
21
20
75
79
32
67
70
27
40
47
38
54
78
34
65
38
71
55
33
62
71
56
80
45
64
48
42
77
79
75
65
33
42
44
65
64
37
51
65
36
43
40
30
45
27
54
41
33
65
75
66
69
56
37
77
43
22
26
35
61
44
33
73
20
49
49
72
79
72
68
43
28
40
20
43
30
43
63
54
58
48
50
29
63
34
46
63
47
60
52
36
38
32
29
65
76
49
38
45
26
26
22
44
44
28
72
74
46
41
43
30
33
36
25
73
43
75
66
21
79
55
38
34
59
72
57
24
47
70
20
43
46
45
56
21
73
20
65
28
75
49
61
39
62
52
62
58
56
32
54
26
46
22
64
47
58
29
38
43
44
65
46
61
43
37
21
72
71
25
70
40
59
63
32
47
68
36
45
24
42
52
53
46
21
53
79
26
54
60
39
30
26
37
29
49
38
43
20
79
51
76
50
50
54
61
71
63
20
65
21
31
70
42
42
56
53
31
42
31
30
77
29
61
30
60
25
33
58
58
55
61
35
69
43
67
24
78
48
21
40
75
36
64
41
21
53
22
29
72
22
68
25
28
55
68
38
28
22
46
49
44
23
42
36
49
59
66
79
24
28
28
48
25
50
35
38
29
73
60
40
37
41
26
39
69
28
29
41
52
80
44
53
80
24
44
21
80
76
73
44
45
37
74
23
44
58
22
24
63
38
53
58
62
57
27
21
23
55
28
75
27
46
60
52
26
57
61
66
39
25
75
80
34
40
57
69
55
30
80
52
75
35
43
65
38
74
53
30
47
50
71
73
33
43
36
20
57
80
41
31
43
34
47
36
36
45
29
21
37
33
30
20
36
53
32
52
59
65
66
76
74
61
25
63
76
41
27
59
24
65
54
23
27
58
57
79
30
36
38
37
75
28
25
47
69
59
55
72
46
42
66
47
20
74
20
48
71
22
51
62
78
55
68
62
43
25
56
76
44
52
32
65
22
22
26
36
53
41
33
72
54
57
43
55
20
59
35
63
77
23
35
39
50
36
46
25
33
72
56
56
32
28
43
35
29
43
44
47
73
41
31
73
34
21
42
23
79
57
28
27
75
46
26
62
25
58
41
25
38
44
49
39
22
75
48
35
35
26
72
22
31
59
40
64
62
42
57
50
30
63
36
73
51
70
38
41
31
30
30
62
20
47
66
34
65
56
54
49
42
72
65
32
65
79
46
70
73
68
50
25
35
28
63
21
62
62
48
80
39
27
53
59
77
74
48
63
46
69
47
54
41
80
33
54
46
45
41
41
50
42
33
56
46
63
52
36
71
59
26
55
31
28
58
35
69
29
39
71
47
48
31
26
45
40
64
79
75
54
37
57
40
70
38
50
40
48
23
79
39
72
26
29
66
30
27
42
51
31
63
77
35
36
71
75
66
74
23
58
60
32
64
39
69
79
20
52
72
49
65
57
37
34
61
65
68
22
55
43
39
28
80
51
70
54
49
66
41
46
43
22
45
48
54
67
67
61
22
74
80
63
23
37
46
62
56
73
25
46
42
22
52
49
53
21
52
37
34
26
50
73
21
53
41
41
77
49
57
62
26
35
40
59
55
59
78
70
71
39
43
43
20
61
35
73
41
31
39
38
59
49
52
48
23
34
78
72
40
44
56
59
61
34
57
35
38
33
27
20
51
59
66
26
67
23
61
55
24
34
29
67
38
64
48
76
68
48
47
52
36
47
40
24
67
65
32
32
30
68
36
66
75
47
79
61
28
59
22
49
70
32
24
74
42
21
67
49
78
47
66
44
28
79
71
66
74
70
22
43
59
26
51
51
30
24
79
51
28
53
59
61
40
71
52
64
59
59
24
46
70
55
46
63
22
36
47
75
66
34
35
42
69
29
60
62
29
54
51
33
66
24
40
64
77
24
22
54
60
57
55
23
29
75
61
60
39
35
37
48
60
67
62
49
33
44
71
29
58
77
79
76
36
41
79
47
76
36
31
23
75
20
36
21
63
42
60
22
45
75
69
75
26
20
34
73
46
48
65
21
56
45
33
31
33
33
54
40
51
20
47
77
47
35
34
57
24
74
73
21
35
26
68
50
39
22
43
68
31
80
78
71
46
37
67
29
20
20
20
54
47
59
54
72
52
76
55
26
65
61
48
63
67
27
41
30
41
58
76
27
41
22
38
24
60
73
67
46
62
32
69
65
20
59
36
42
50
56
22
67
50
79
25
79
60
52
48
41
33
22
59
41
60
41
42
75
62
43
60
45
31
59
58
80
72
27
46
34
78
44
72
68
38
32
48
63
44
67
46
66
49
68
54
44
64
51
54
55
50
64
22
68
35
20
26
68
38
61
56
20
76
33
47
78
29
58
43
76
72
33
79
48
55
58
47
78
47
61
71
69
63
24
75
21
48
30
27
51
20
38
67
58
42
79
33
40
59
40
58
72
60
64
39
80
35
56
75
74
36
32
71
71
23
49
70
61
28
75
38
41
45
51
72
49
22
43
36
66
53
55
31
66
33
65
57
53
35
53
51
23
21
30
47
53
25
51
28
24
30
26
40
77
78
56
30
49
78
66
31
24
77
63
55
41
24
31
61
36
72
36
66
24
61
51
21
31
39
45
61
42
67
57
44
66
36
75
51
60
78
46
75
42
53
43
29
42
22
36
70
64
62
51
77
55
39
24
21
40
49
56
28
27
43
62
77
64
51
63
64
60
49
80
38
76
38
30
65
79
39
61
33
39
45
46
79
57
47
37
34
31
35
79
80
61
26
63
49
68
26
62
30
53
52
49
37
28
48
66
39
41
44
49
29
79
57
68
64
27
49
80
41
30
45
71
35
35
60
64
80
79
64
79
44
26
65
23
38
31
73
35
62
66
32
38
75
70
61
75
78
69
35
49
33
27
26
32
50
42
54
49
27
79
49
34
32
20
68
68
43
65
49
33
66
53
74
38
58
26
71
29
37
42
73
79
53
46
42
54
23
30
26
68
33
41
24
70
79
42
21
24
69
34
52
21
31
74
68
54
60
75
39
23
66
51
65
38
27
22
40
21
37
56
44
64
22
49
70
39
70
48
77
60
24
27
55
41
76
58
38
23
77
43
30
42
68
59
71
69
40
37
47
73
75
58
27
20
34
76
35
20
46
20
50
79
55
31
39
60
44
41
42
78
67
64
72
47
48
51
79
71
63
45
21
49
55
47
59
46
59
52
28
57
80
79
71
53
54
42
32
46
28
72
57
79
69
48
32
45
25
35
51
23
41
48
38
74
56
59
50
32
31
20
36
35
68
41
78
80
20
57
20
46
32
35
53
53
44
65
75
29
40
48
27
44
38
33
59
38
58
43
49
48
70
35
57
48
28
59
75
21
41
55
25
67
20
47
54
44
79
71
78
64
65
67
66
38
40
67
29
60
63
52
24
67
73
29
30
47
53
74
73
71
49
34
51
22
39
29
31
59
79
55
21
55
38
38
77
21
21
43
55
79
42
61
38
54
44
23
49
45
36
66
62
20
55
28
79
37
24
44
61
46
63
23
21
47
75
65
77
44
59
56
49
53
56
42
80
71
34
73
39
33
55
68
38
29
79
59
55
65
53
40
50
40
72
32
74
65
71
33
53
69
47
76
72
38
52
23
67
60
68
59
50
22
66
37
65
56
22
30
45
69
71
72
60
77
71
77
24
71
61
70
67
57
41
52
20
73
50
25
31
80
57
71
72
30
46
59
78
54
30
77
77
58
79
40
25
31
60
63
44
76
63
79
71
50
34
55
58
55
27
71
34
27
56
31
77
35
29
76
31
43
53
79
36
68
66
20
66
34
25
71
71
43
62
41
33
58
63
78
49
48
51
63
62
58
35
35
31
43
44
62
22
40
31
50
33
67
27
20
21
74
71
51
58
27
71
68
34
58
49
74
22
25
59
77
55
20
38
42
72
47
33
65
54
34
70
57
79
50
33
46
71
36
37
22
73
32
49
61
40
29
33
54
66
41
74
60
32
58
48
39
41
65
65
61
45
33
69
57
23
52
34
40
64
58
27
33
78
58
72
22
24
43
51
55
52
32
53
66
56
37
61
60
34
59
63
20
47
60
25
25
61
58
46
75
73
22
58
67
44
33
40
62
76
51
32
20
42
34
68
74
42
52
36
56
52
49
63
29
40
41
25
30
23
56
44
36
32
30
21
74
31
53
27
67
52
56
36
68
65
25
42
31
27
26
66
41
34
55
46
75
39
47
65
30
54
65
45
62
30
22
72
66
80
52
38
26
70
46
76
42
64
30
68
29
34
44
46
41
50
43
69
28
56
79
48
54
64
51
72
45
69
80
34
58
48
43
33
45
69
46
69
66
80
58
39
56
24
80
78
68
38
79
73
51
24
36
21
44
22
70
75
58
50
53
57
32
62
54
36
21
29
67
78
76
62
80
51
38
57
21
30
23
76
43
66
58
43
31
56
78
52
51
24
36
59
35
43
80
53
38
21
52
27
69
25
56
79
24
42
69
64
28
32
43
52
50
40
42
79
29
65
74
26
50
44
34
59
72
47
32
46
55
80
25
63
79
46
40
63
31
26
38
56
60
25
53
20
64
78
35
44
74
43
48
78
21
28
63
34
28
27
68
57
24
34
44
79
66
31
25
43
31
66
29
71
57
27
69
54
31
66
49
23
22
70
55
50
63
22
60
45
23
40
78
31
54
22
41
48
21
44
67
52
32
80
68
71
33
21
60
64
63
34
54
60
50
65
51
41
59
60
24
70
68
21
32
54
30
36
62
21
67
35
62
46
63
27
36
69
64
75
27
23
37
50
71
38
49
31
69
79
27
59
28
33
74
63
27
50
20
73
27
57
76
22
75
28
32
33
78
22
26
80
47
46
59
40
67
56
65
64
63
32
60
42
66
29
54
61
59
74
62
77
29
46
54
57
28
58
60
31
37
67
20
71
78
65
64
41
56
76
80
34
59
55
56
50
56
24
57
71
76
62
57
70
74
33
51
27
79
56
50
37
25
39
47
67
62
35
62
67
34
73
54
31
45
63
76
76
49
70
79
52
78
80
52
39
39
60
22
62
46
41
58
55
53
75
69
72
53
59
74
49
46
37
65
56
47
75
57
52
40
20
73
73
52
30
29
31
44
35
80
24
77
23
41
51
50
61
63
37
29
47
80
38
24
61
72
80
57
37
39
48
60
21
28
24
30
74
31
41
20
78
30
38
50
43
29
60
80
43
29
35
22
30
33
24
64
61
23
65
30
37
65
25
51
43
56
40
34
58
32
25
40
40
71
51
46
41
43
67
80
38
31
71
22
74
27
61
49
30
30
67
41
27
70
52
63
65
47
56
75
61
20
76
36
78
22
47
34
61
25
52
60
69
40
36
41
51
74
56
80
75
22
74
79
24
25
21
69
26
70
25
67
62
70
62
44
59
38
40
23
35
36
77
79
30
46
51
39
57
49
25
57
22
68
70
66
53
69
51
49
60
26
45
76
31
24
33
65
38
57
52
26
77
68
51
23
21
76
61
58
58
43
37
20
24
80
37
52
80
77
48
31
78
57
69
53
74
60
21
28
58
23
35
25
78
34
61
64
26
72
54
37
23
74
28
64
78
36
26
45
61
30
59
50
47
77
56
50
47
41
72
55
36
75
38
28
33
66
41
70
56
33
44
25
57
38
45
38
42
31
39
58
33
71
26
24
69
73
23
78
29
35
31
79
23
21
69
77
39
65
63
55
60
27
65
63
60
56
33
30
80
44
34
41
71
63
42
52
44
64
36
30
47
51
44
74
39
58
79
54
51
54
67
20
64
29
21
45
57
68
73
36
53
28
64
41
67
53
62
49
22
34
58
48
80
32
30
73
58
25
76
79
43
79
64
36
22
59
69
43
34
24
34
50
31
75
30
49
25
23
45
55
70
30
33
24
43
34
40
58
61
41
35
72
52
58
54
69
60
80
63
55
45
48
38
57
22
48
65
75
58
22
50
33
62
22
59
31
25
60
26
59
27
47
22
62
60
52
62
75
79
32
52
42
49
29
34
37
73
42
48
51
60
32
29
59
74
27
33
46
53
77
58
21
79
38
44
41
27
31
20
63
54
31
48
46
33
64
67
42
32
32
43
62
33
36
65
62
63
20
22
65
33
45
21
49
73
71
53
64
54
74
57
56
60
35
55
57
36
56
27
50
40
73
70
49
56
46
57
65
69
56
67
29
62
24
62
53
71
44
32
33
25
72
33
40
73
70
74
34
32
65
79
61
55
53
43
23
40
48
25
46
52
31
47
77
76
38
26
30
78
55
73
23
58
30
22
35
56
59
36
21
32
41
31
39
22
30
42
55
27
72
71
56
53
26
42
48
57
74
76
32
46
22
32
32
60
71
52
51
45
67
70
47
40
74
60
49
24
30
60
47
61
66
26
69
74
75
67
61
51
39
50
62
66
75
26
68
34
52
58
28
57
71
53
27
24
26
71
35
47
72
37
63
33
32
23
52
41
45
27
22
70
68
67
54
28
33
46
53
39
44
61
33
53
24
20
38
77
48
27
41
27
30
35
29
76
51
54
42
54
57
31
43
65
27
54
51
25
21
77
63
51
73
69
76
62
60
66
36
34
50
30
23
20
73
21
44
24
48
71
36
37
22
23
77
22
79
30
28
24
35
74
53
26
23
35
59
35
76
49
40
55
41
45
40
21
25
57
53
31
67
35
68
38
55
55
39
61
23
56
29
64
43
33
68
34
44
32
80
78
59
56
31
20
63
64
23
30
68
74
31
63
67
40
23
59
23
75
67
59
65
60
33
67
78
28
68
60
24
21
75
48
38
42
33
51
59
73
60
24
21
63
60
77
69
80
32
44
24
52
60
51
58
29
46
56
70
28
66
60
34
45
53
42
56
73
27
38
65
78
72
43
78
40
61
35
75
53
26
64
53
37
51
51
45
67
51
60
35
66
55
45
51
29
45
24
65
47
31
54
37
55
59
72
64
44
50
57
61
44
79
62
73
72
74
42
62
71
79
38
63
58
67
47
76
46
27
76
80
43
48
67
72
26
57
78
23
50
77
60
25
40
71
23
39
42
63
39
44
30
67
66
51
24
21
59
23
61
52
28
21
71
77
59
69
50
38
44
55
34
55
57
35
33
28
25
47
47
26
27
68
49
59
33
33
44
71
51
26
35
48
43
60
79
80
54
79
50
77
28
26
53
42
25
66
73
41
33
48
37
33
38
27
26
45
33
21
47
63
64
68
66
64
21
26
46
74
61
68
28
41
44
62
22
41
62
42
74
36
63
57
24
24
32
32
80
73
30
47
62
54
75
24
58
79
39
79
20
41
50
29
60
25
80
26
30
35
50
35
61
63
34
79
65
57
52
35
45
42
23
43
23
58
79
20
79
48
58
52
62
33
22
69
67
68
52
72
62
65
29
56
66
65
38
58
75
66
45
58
55
30
43
55
23
54
60
44
41
73
62
64
60
38
62
65
51
69
49
21
74
64
22
44
76
40
22
48
31
65
79
43
25
54
43
22
42
74
34
32
70
33
45
55
23
32
47
63
80
79
54
71
66
44
28
30
70
57
37
62
48
38
68
22
52
53
31
24
26
28
64
41
25
48
34
38
45
38
70
26
36
57
36
41
56
28
60
49
49
41
28
60
69
30
49
50
40
56
51
49
57
63
50
63
64
45
66
59
70
79
46
61
69
78
57
33
28
39
64
37
79
24
37
38
39
54
35
39
47
65
28
20
50
65
73
67
65
38
78
39
30
58
71
67
80
51
78
32
76
78
51
58
42
73
29
23
48
69
68
59
76
54
24
22
44
78
49
64
68
55
72
38
52
29
41
48
46
71
43
51
63
29
51
55
57
31
34
57
57
26
64
27
29
77
50
75
42
69
48
49
36
51
43
27
78
26
21
21
38
46
65
73
64
45
55
71
62
48
32
61
60
35
70
27
42
54
23
75
44
37
43
77
64
78
28
60
61
51
58
45
40
21
41
34
31
71
51
51
76
33
75
68
28
60
58
62
64
76
48
39
60
71
41
70
25
73
28
35
79
26
68
24
74
74
57
68
46
33
78
47
30
48
57
40
55
45
53
43
44
43
80
80
50
63
36
56
50
78
34
55
34
48
80
68
71
51
23
22
49
71
60
21
52
60
69
45
70
37
75
53
47
61
55
65
42
57
67
38
67
36
23
74
33
38
76
65
40
43
34
37
47
36
64
24
75
35
35
66
80
22
25
41
74
36
69
71
70
62
24
30
45
63
36
80
47
74
57
66
45
29
34
54
64
69
69
64
67
46
71
69
53
65
60
39
24
54
25
74
64
26
46
40
45
57
27
49
47
60
20
56
54
22
80
47
59
34
79
24
24
63
42
63
48
31
65
78
55
50
37
60
20
55
67
40
57
37
71
75
35
56
32
58
28
21
26
63
60
66
41
63
39
64
40
47
74
50
33
51
47
29
37
70
72
58
75
53
54
43
31
21
29
37
22
53
62
22
62
64
74
42
64
48
62
51
64
20
77
59
33
65
71
24
73
33
67
75
48
56
38
54
49
23
21
35
50
21
22
61
52
53
49
69
21
57
47
50
51
40
72
39
59
31
77
28
66
36
56
80
20
57
46
60
24
76
38
41
61
24
46
46
24
21
28
37
33
50
33
57
51
70
31
60
53
38
44
40
76
63
50
61
57
46
29
43
44
61
79
48
24
78
48
35
40
51
42
43
57
51
64
31
56
39
53
34
74
79
26
27
77
54
33
39
42
58
67
48
42
77
25
72
63
71
80
33
28
40
32
44
48
54
40
36
53
53
43
31
33
73
36
65
62
64
72
65
76
65
59
34
26
30
29
25
67
21
54
33
41
35
44
72
67
75
28
28
35
46
25
27
35
50
20
73
30
29
42
46
47
79
32
68
42
36
30
61
61
71
45
43
58
52
20
70
62
54
57
67
29
37
46
58
22
71
33
47
53
32
32
28
69
29
36
52
28
20
57
38
73
52
58
29
74
76
75
72
65
62
80
43
60
44
25
50
50
56
77
71
42
44
66
62
37
52
26
31
21
57
21
42
23
25
58
24
59
36
26
22
80
20
37
58
42
49
61
30
60
33
75
21
75
44
37
40
35
44
80
42
55
35
40
56
33
59
44
44
63
24
45
69
22
28
72
29
32
76
61
38
47
54
64
39
21
31
26
34
55
60
67
56
62
73
33
20
75
60
59
42
78
69
71
54
57
50
68
74
63
53
25
47
23
33
37
79
57
62
56
56
23
49
55
60
73
55
63
35
42
58
62
27
49
71
29
35
38
64
52
51
29
22
75
66
78
48
52
39
76
59
55
71
37
51
49
70
41
54
25
27
24
53
51
54
58
55
36
58
65
49
64
53
51
55
27
72
28
71
65
147
153
175
233
188
173
152
213
177
222
113
76
127
243
144
140
198
71
110
197
103
151
99
191
122
173
154
113
198
200
97
113
126
101
122
100
232
228
204
161
82
243
167
146
159
100
160
158
147
241
236
215
158
109
143
108
211
96
211
119
189
100
116
185
199
159
148
199
104
130
191
89
136
224
240
83
108
163
108
114
250
248
113
70
210
113
212
143
98
210
164
81
173
190
106
214
96
172
188
231
112
152
193
82
243
78
143
125
144
198
108
176
208
111
140
103
161
74
153
125
174
250
181
192
224
145
161
210
170
154
172
232
165
144
207
218
178
202
114
89
146
175
85
156
83
122
83
202
78
105
236
199
144
149
174
223
102
174
173
238
160
123
246
140
199
147
181
74
173
137
169
198
88
241
127
148
121
162
169
88
91
92
214
138
100
193
102
241
78
80
213
226
152
168
108
204
196
205
234
191
104
230
204
230
203
106
197
229
220
186
127
180
175
115
230
166
189
92
129
170
158
236
236
101
77
156
154
238
85
71
232
158
174
247
248
187
106
70
165
76
155
103
130
208
95
157
118
149
246
190
234
90
237
101
192
212
116
220
191
206
204
86
91
143
222
118
175
166
141
90
174
77
125
216
218
205
182
90
124
151
181
161
93
250
111
237
233
101
179
216
123
186
185
225
151
89
189
107
248
189
98
179
167
145
74
79
246
187
210
86
149
149
124
83
232
197
243
153
210
73
203
225
107
197
89
165
184
180
137
239
84
132
145
97
123
187
165
195
215
129
101
143
183
161
228
154
156
180
147
104
236
250
186
190
98
246
80
122
209
186
223
72
223
159
171
155
140
100
161
99
104
232
106
81
232
177
246
150
86
72
176
249
108
184
173
198
78
234
105
108
117
249
110
239
208
199
184
83
88
158
213
154
191
130
196
214
186
122
96
200
205
249
102
190
236
77
130
244
192
239
134
78
130
219
75
187
118
197
106
175
106
74
148
123
247
132
227
162
231
176
229
168
78
207
165
217
113
164
244
91
72
216
112
216
98
247
110
117
93
161
126
220
190
169
137
139
92
214
87
225
87
122
187
224
213
85
199
190
73
117
183
137
190
187
182
241
223
157
242
154
170
151
89
171
238
192
132
245
159
222
146
191
214
216
95
156
79
232
90
138
211
174
126
95
71
206
190
90
216
225
195
101
222
216
90
98
185
214
231
77
72
118
232
232
130
122
99
217
144
225
248
250
93
200
126
108
97
143
111
98
88
181
106
242
153
180
180
110
241
141
123
96
113
199
211
89
127
204
105
208
125
204
176
196
193
168
194
238
110
70
147
159
180
170
249
145
73
87
124
72
216
138
99
248
99
71
139
92
147
123
144
201
230
249
117
246
193
163
196
215
95
144
100
197
193
74
145
73
226
176
125
104
123
82
223
188
81
137
117
96
173
210
151
215
116
178
74
208
164
242
138
182
178
94
108
219
192
250
227
89
169
100
137
246
157
127
99
228
213
165
113
189
133
102
74
212
161
155
151
207
161
120
120
235
226
101
191
188
92
144
210
221
223
103
168
105
107
90
175
237
86
107
230
212
140
190
213
245
75
143
111
249
247
74
137
209
250
218
148
200
163
176
134
146
234
178
150
148
249
230
127
173
202
71
134
174
137
175
194
75
156
109
215
147
224
198
83
180
70
154
119
163
77
120
112
105
159
234
111
81
72
211
214
220
107
126
213
125
114
225
148
232
176
106
222
110
164
120
205
202
151
102
240
116
103
85
114
198
174
226
113
82
127
155
201
116
178
95
148
160
193
96
95
88
91
138
110
224
99
197
193
222
250
230
87
246
238
223
106
177
226
96
209
176
243
133
158
186
132
121
225
107
146
215
177
70
118
113
85
143
179
180
241
174
96
243
222
148
116
250
195
122
74
91
73
189
220
149
97
205
196
245
248
85
113
143
135
128
185
111
147
208
183
71
139
85
237
200
196
75
91
206
218
99
130
202
159
242
165
169
108
91
86
143
193
111
179
74
118
227
103
130
105
162
220
239
135
223
245
145
153
81
179
135
97
144
79
70
159
160
167
246
130
212
73
108
120
194
227
165
217
200
143
122
112
145
116
211
194
106
164
93
204
99
187
83
196
188
190
76
83
171
186
93
102
172
149
225
92
81
107
76
168
235
114
148
186
133
121
171
240
230
75
92
145
78
187
160
176
120
242
124
87
236
214
219
234
96
132
71
124
94
234
102
171
215
84
114
222
114
198
137
86
104
134
210
223
105
83
129
135
156
118
118
120
85
237
235
88
138
226
127
236
166
134
226
167
114
86
134
74
99
172
152
236
237
214
180
216
167
76
218
186
127
156
122
148
126
193
244
79
178
162
240
92
211
192
177
147
104
199
74
239
130
194
186
187
237
74
215
181
217
110
217
157
200
96
184
99
222
207
226
136
215
114
100
186
76
223
98
186
164
125
113
215
142
71
219
107
73
83
160
167
155
148
150
186
204
172
132
215
70
210
226
148
165
95
155
220
210
125
224
198
229
231
250
110
112
233
195
112
190
92
117
237
139
250
215
224
84
237
169
82
153
187
94
187
84
93
160
220
199
153
134
199
241
158
207
97
250
195
213
141
236
216
115
126
226
76
210
155
231
206
246
87
205
116
103
202
220
137
137
114
195
221
175
140
99
149
172
217
139
118
186
227
146
122
193
228
106
164
185
157
124
162
173
166
124
176
135
159
193
238
137
234
214
114
198
129
70
200
73
104
192
165
104
245
131
137
109
166
192
199
236
230
233
180
80
238
230
166
175
216
133
224
217
129
215
97
152
100
219
141
207
227
180
192
196
82
231
115
235
169
147
218
195
208
150
234
104
78
102
106
109
230
177
248
134
240
188
143
177
148
83
178
156
158
205
124
219
224
167
177
171
147
152
102
116
200
176
219
204
215
229
174
123
73
124
139
163
187
160
133
94
245
74
121
215
209
102
208
142
165
160
111
134
191
138
234
99
141
222
89
108
221
92
209
198
212
205
80
127
212
195
123
203
225
75
107
179
243
180
232
198
71
201
194
140
189
130
107
243
194
190
248
74
74
133
189
180
75
166
71
108
246
129
186
81
249
214
114
247
112
85
89
164
189
228
201
165
250
214
249
231
197
142
96
104
188
202
104
189
85
82
156
128
214
182
229
237
182
186
246
163
243
105
165
90
224
164
183
213
106
123
129
88
74
214
152
114
70
144
178
82
159
242
204
132
171
107
210
104
115
171
160
192
159
246
120
73
183
176
86
100
165
105
103
217
225
190
104
242
137
207
197
100
164
221
248
99
70
136
121
136
181
199
73
132
142
207
134
193
130
200
142
144
232
211
229
221
183
172
107
137
94
154
209
174
174
85
157
148
224
120
200
165
127
228
123
213
190
190
162
139
82
157
112
227
202
240
238
149
159
113
160
71
104
222
99
205
192
109
200
135
168
143
109
208
249
147
155
117
168
184
160
215
118
191
170
220
191
135
72
172
205
176
76
152
176
86
131
161
223
185
169
77
116
93
134
161
240
213
183
173
126
164
218
232
129
205
204
176
220
163
178
226
80
215
191
137
136
96
170
209
178
177
178
112
217
199
119
198
110
214
144
155
93
208
91
70
205
79
79
163
140
108
129
91
237
244
220
249
193
215
134
88
179
214
162
209
215
75
153
225
206
212
240
157
247
185
225
143
153
185
155
71
104
99
166
98
132
190
204
219
163
125
134
95
137
105
107
130
174
226
238
187
140
246
145
79
151
166
151
77
242
161
140
96
98
199
182
205
159
187
135
194
133
179
190
76
156
156
234
182
237
187
171
96
158
220
143
119
175
124
160
242
129
115
228
213
188
193
242
129
232
107
141
111
139
179
135
93
191
198
167
147
185
153
238
202
85
93
195
95
155
138
179
109
76
145
241
99
209
127
86
165
115
165
183
181
82
235
229
227
80
100
99
176
216
181
90
187
140
210
105
175
92
224
211
104
117
147
228
174
97
145
198
131
72
232
197
207
203
152
234
110
167
216
200
227
76
98
191
93
125
188
71
172
117
172
105
145
196
171
233
100
134
86
174
188
208
154
120
85
222
175
71
136
107
182
143
128
106
94
146
217
160
214
120
130
115
241
107
87
216
107
228
77
196
250
71
153
189
107
152
83
126
195
150
92
116
124
155
140
121
148
219
215
185
245
195
116
173
103
175
229
91
93
244
180
196
164
121
77
97
215
247
113
124
148
200
211
230
76
122
86
137
161
106
74
72
228
174
153
136
96
112
174
124
94
239
132
107
192
133
170
237
227
156
81
95
175
112
165
196
161
220
166
217
166
239
107
163
104
146
205
172
200
180
74
160
143
218
197
143
165
134
138
205
207
84
171
219
242
98
160
214
87
180
91
143
213
129
235
217
143
240
188
147
79
146
182
224
168
164
195
178
77
79
212
181
220
139
107
97
232
162
235
72
105
227
104
243
228
140
105
162
104
208
178
82
184
108
112
90
194
128
205
185
165
239
178
85
226
134
173
81
104
219
218
80
119
214
179
165
159
137
106
191
126
147
116
116
244
214
238
244
215
238
83
196
108
241
100
222
86
212
214
92
135
210
217
229
180
133
96
107
99
199
140
123
149
207
136
167
225
201
186
108
210
78
83
179
228
145
144
212
119
112
164
94
192
158
75
207
104
179
79
167
193
134
145
188
78
140
224
176
229
86
144
174
87
112
82
222
186
249
221
182
84
138
180
138
179
91
243
111
210
232
162
72
102
197
232
157
219
155
187
171
82
162
107
94
248
229
161
110
165
195
126
154
150
163
165
74
100
185
168
111
194
111
83
165
157
175
119
131
128
88
130
179
242
226
99
125
246
82
168
225
154
238
209
149
153
203
170
90
172
176
242
145
194
87
213
177
81
77
77
81
190
160
130
182
222
111
77
95
156
89
130
182
230
215
204
177
104
182
218
164
177
134
149
122
120
158
123
164
91
119
232
180
156
120
124
210
73
182
89
72
148
135
154
97
128
92
215
222
113
205
125
163
146
215
158
75
136
240
130
168
237
192
105
143
79
210
168
150
209
223
240
118
179
227
158
107
160
128
207
241
106
119
81
210
207
244
164
173
199
116
245
142
224
244
131
89
239
90
211
103
166
176
190
97
139
170
233
177
130
138
113
173
192
175
195
128
226
229
216
73
127
73
178
70
126
125
120
212
143
118
132
110
153
126
200
195
130
176
149
229
215
188
183
245
113
131
96
173
143
88
174
95
175
141
181
213
141
175
147
194
204
110
245
83
202
72
204
153
166
153
183
163
171
162
242
148
118
159
80
116
222
221
203
77
138
244
108
71
83
220
148
78
161
246
181
241
107
174
203
106
119
89
136
223
97
154
173
163
210
209
108
94
201
129
209
183
143
139
148
211
140
72
118
209
212
106
114
137
230
219
198
141
172
172
220
156
150
246
237
111
229
235
149
211
226
163
126
150
152
104
164
122
162
86
104
169
219
160
170
229
118
73
241
75
108
121
76
176
166
87
111
199
217
142
222
101
113
181
76
79
239
177
191
80
87
111
185
146
221
171
164
70
118
112
166
121
86
177
91
223
133
103
247
248
83
185
165
90
118
76
106
240
231
149
157
135
203
198
138
155
87
118
200
143
233
136
149
181
171
238
200
132
88
86
99
185
147
127
100
193
126
203
103
93
106
172
215
124
211
232
130
154
179
205
75
114
122
140
164
239
238
101
196
234
205
224
159
136
112
79
201
86
194
91
230
100
206
208
249
123
138
235
157
218
77
118
124
182
229
239
174
200
192
196
167
158
165
162
234
168
246
84
125
109
189
239
121
249
145
201
191
107
160
111
233
150
198
235
167
218
109
229
85
161
97
70
126
169
100
119
177
215
234
168
248
99
119
86
144
209
126
138
219
134
97
218
168
167
103
97
225
191
103
235
250
158
210
109
248
91
219
185
239
216
146
248
146
168
214
98
110
95
191
107
110
247
135
184
165
217
113
134
228
202
141
207
85
244
121
246
217
133
247
240
242
127
74
102
221
162
145
231
144
156
70
166
156
250
236
232
182
112
210
89
147
167
120
223
187
129
103
220
153
114
160
108
138
161
192
195
207
107
146
146
239
132
123
128
190
200
137
70
183
124
76
206
199
150
227
175
84
70
179
241
244
135
179
171
216
183
175
85
72
235
241
93
241
210
114
118
190
234
243
136
133
84
226
195
244
144
92
217
195
73
205
226
200
206
240
106
176
237
230
248
165
109
181
215
238
80
235
201
137
84
91
81
177
101
127
235
80
130
230
214
109
250
248
82
78
226
115
195
158
125
180
192
72
185
245
114
148
82
189
93
247
93
224
183
102
212
83
88
106
166
201
124
221
82
125
92
242
166
155
116
141
129
195
196
160
77
142
229
230
239
179
197
92
76
225
130
157
243
162
164
112
250
79
165
219
83
89
150
157
188
73
243
98
179
239
72
205
138
82
133
205
158
201
184
104
245
229
154
139
89
87
192
232
120
117
188
143
73
118
151
173
235
83
154
92
83
85
158
231
96
139
216
207
152
70
145
75
185
118
137
249
166
132
145
140
179
127
110
79
198
140
91
210
133
192
108
178
83
113
238
216
245
123
137
99
223
169
82
157
116
128
237
149
223
105
234
146
117
150
166
224
250
120
70
123
88
143
130
138
224
119
102
176
222
214
225
163
114
229
77
126
76
172
122
74
70
110
235
87
149
201
84
120
185
73
171
142
247
159
82
212
155
92
97
161
194
192
115
138
231
224
178
202
246
228
232
72
127
119
77
173
146
72
146
123
123
195
164
99
106
159
137
197
165
121
206
108
70
171
79
134
76
79
117
74
97
123
246
218
156
90
120
237
71
196
78
117
211
99
114
201
168
161
200
214
78
122
78
123
92
121
100
115
218
150
136
219
71
143
80
174
139
114
109
188
78
99
174
203
190
80
129
104
243
85
120
240
122
85
158
131
164
83
126
147
78
168
77
193
213
128
117
222
204
144
71
120
195
113
95
246
218
181
86
250
224
158
79
210
126
122
183
89
198
104
156
85
227
192
138
113
210
82
186
116
231
144
157
82
109
144
110
165
92
175
132
214
179
224
143
125
191
172
163
74
84
236
72
183
134
122
164
194
179
191
211
97
152
182
160
108
121
175
212
213
219
157
204
235
224
180
192
146
87
213
81
171
139
103
123
144
163
158
149
98
117
121
244
147
177
137
122
141
105
197
176
210
85
155
162
229
105
250
93
175
232
190
157
157
168
83
164
187
168
92
83
165
163
156
79
238
227
224
134
247
135
206
116
131
94
153
73
180
105
223
134
127
172
190
208
229
137
247
183
180
126
149
106
209
144
157
179
111
154
154
221
238
242
177
180
228
237
202
206
152
208
246
133
138
194
195
188
99
96
106
197
164
75
107
204
117
220
103
161
113
219
101
76
147
240
222
106
81
128
96
205
138
212
73
113
96
222
157
215
183
167
195
93
109
244
232
113
80
84
93
204
206
176
184
180
237
152
167
90
236
101
108
135
247
93
191
164
143
152
237
228
128
109
189
208
126
237
118
99
122
153
218
220
115
190
115
143
133
104
228
106
227
182
114
153
81
189
171
171
222
184
84
211
195
158
221
208
144
194
183
163
145
76
247
155
90
145
200
114
233
214
135
93
165
248
102
116
218
166
206
92
190
203
237
170
71
152
98
141
180
209
85
215
153
138
125
110
204
92
150
249
110
152
209
86
118
217
79
117
189
121
182
195
227
125
154
194
86
204
85
244
103
113
85
197
204
171
134
97
109
143
117
88
199
228
136
239
178
82
248
136
177
192
224
240
148
186
130
71
168
145
124
194
221
107
127
172
239
228
132
95
77
242
230
241
79
165
179
216
134
156
170
126
115
87
81
157
210
205
189
148
98
212
201
180
110
86
234
119
210
235
237
164
180
239
190
162
246
100
137
233
111
245
164
147
192
107
154
233
117
83
198
196
119
76
102
158
163
79
81
217
208
148
76
76
135
158
183
239
202
237
202
163
129
110
225
183
122
193
196
175
215
239
190
213
135
135
95
109
115
142
85
106
118
157
108
247
135
205
183
162
149
102
109
103
140
76
171
236
81
104
72
247
167
235
245
77
102
172
167
216
112
100
141
101
182
204
247
155
153
249
89
226
175
85
197
185
85
90
115
104
241
238
80
191
219
131
214
73
153
188
117
138
151
179
242
199
131
92
191
197
147
190
202
132
205
82
170
101
169
87
89
106
122
164
244
160
150
184
210
206
100
87
117
179
232
202
111
133
164
106
185
123
81
86
244
86
242
202
122
101
228
92
71
71
201
72
243
203
192
230
246
126
177
177
81
202
233
128
197
203
119
181
197
214
91
192
227
166
149
209
75
105
141
132
216
176
169
124
164
78
168
150
161
201
92
131
189
97
112
168
75
97
246
217
105
206
100
132
180
233
168
131
73
250
159
80
139
149
232
154
154
229
169
233
116
246
241
183
104
132
102
127
204
165
164
184
136
107
104
141
86
78
171
105
222
185
157
150
164
150
176
163
115
89
206
208
111
152
239
239
203
249
115
124
101
186
217
220
179
242
220
141
202
118
133
158
93
165
125
126
123
77
115
85
189
104
77
81
145
206
240
165
83
193
200
72
207
197
157
234
216
231
85
78
157
101
204
234
107
114
103
117
212
133
241
78
108
208
249
231
151
109
93
150
114
101
136
117
188
214
95
148
148
130
216
214
203
225
92
182
188
208
235
115
113
102
91
235
70
101
170
149
218
198
127
93
192
229
75
70
243
120
177
80
188
128
143
88
175
231
111
70
89
98
131
131
226
243
225
134
80
167
131
230
150
94
148
133
107
199
95
131
193
242
152
104
219
129
122
221
171
231
73
158
202
181
246
175
81
179
93
170
197
110
137
211
73
112
182
212
145
70
100
113
217
118
128
82
142
105
204
137
229
164
207
220
189
239
102
218
240
242
217
145
234
71
196
245
94
125
146
150
207
220
238
243
209
119
195
142
131
164
168
208
227
230
78
196
157
199
130
236
82
209
250
191
230
141
136
213
97
214
70
192
115
155
120
94
102
172
96
97
106
185
221
100
241
128
184
130
232
199
102
91
81
182
125
219
239
167
77
150
76
155
229
70
120
161
221
230
184
134
224
130
86
96
161
221
115
142
87
90
236
241
238
84
179
199
96
100
193
136
221
159
187
99
103
206
203
86
189
93
92
144
100
94
84
224
73
224
226
157
70
155
248
192
111
103
166
90
245
173
238
153
112
195
110
209
135
212
88
250
166
113
144
234
172
146
212
85
190
87
88
228
157
231
127
198
160
105
161
71
195
216
104
176
242
85
116
138
158
135
150
201
89
199
133
220
240
88
127
227
112
72
133
215
197
117
140
229
197
219
102
91
178
195
220
83
95
216
234
71
243
201
149
225
168
225
111
218
91
161
106
117
165
156
72
94
95
90
82
169
99
133
232
162
103
221
229
180
238
121
206
94
122
104
191
96
147
117
136
237
229
139
176
116
124
170
72
166
170
154
79
131
246
113
114
194
188
143
149
100
127
125
148
248
243
172
199
199
124
204
132
229
89
247
245
214
161
177
225
74
199
150
160
246
80
181
202
198
249
221
185
197
78
80
179
199
176
95
206
228
212
209
72
78
172
248
154
99
221
111
136
139
193
238
160
125
74
196
205
130
87
76
159
127
174
95
136
126
210
184
212
249
93
130
155
98
228
119
97
245
125
110
249
212
194
87
245
226
107
82
169
141
231
130
159
82
198
182
223
168
98
123
160
130
170
147
79
249
110
74
115
176
205
71
218
156
108
247
222
91
230
114
230
196
227
224
96
144
102
205
176
218
108
247
104
137
88
106
84
86
145
195
136
156
167
119
128
109
199
121
137
163
82
228
180
133
237
196
168
155
201
77
94
110
85
226
150
128
134
87
205
181
188
102
243
108
122
195
195
102
133
243
150
149
177
163
192
73
176
209
154
153
180
140
110
238
107
212
192
157
114
90
130
126
130
102
234
156
205
246
129
152
173
221
71
155
238
82
249
156
244
137
105
120
162
235
114
155
97
231
163
92
228
107
213
173
141
222
225
112
223
222
192
205
109
76
220
182
171
240
205
228
152
215
121
214
231
130
247
211
244
200
196
237
201
216
237
215
127
133
85
234
165
225
98
129
162
161
140
159
218
169
166
74
187
182
161
146
209
110
240
242
119
156
227
92
231
135
211
80
164
88
215
88
209
124
186
171
107
132
155
209
95
173
160
166
160
217
95
147
87
152
121
192
132
107
159
190
100
236
204
140
186
243
129
188
247
129
230
214
89
114
120
155
119
170
161
72
133
125
176
90
200
118
222
236
83
202
247
250
237
176
198
196
248
236
70
246
231
71
105
207
203
175
234
246
154
190
233
142
209
241
127
136
102
155
225
250
94
137
208
250
89
180
99
82
234
158
173
146
213
166
185
215
130
123
112
79
214
81
133
118
134
163
220
81
196
109
120
191
165
109
192
156
187
95
98
204
87
224
194
109
87
235
113
139
99
145
90
154
224
125
194
192
237
196
121
242
82
129
183
92
183
201
174
186
221
166
104
192
137
250
182
146
241
154
237
124
109
202
85
248
118
192
213
169
138
201
234
219
115
163
170
170
215
197
127
225
163
179
101
79
201
167
228
204
106
228
226
231
181
121
166
180
246
88
84
148
84
199
121
235
88
117
168
105
80
113
205
102
97
230
167
209
225
93
159
149
242
94
240
203
95
208
156
72
204
227
86
230
206
132
210
173
97
124
95
123
94
157
235
122
197
122
195
106
98
135
76
191
87
121
218
215
115
176
99
75
247
181
175
70
103
231
138
115
175
231
221
178
170
135
177
228
107
146
230
123
153
200
209
179
129
175
220
162
200
86
188
212
148
130
70
233
76
74
73
245
71
227
171
250
249
87
225
82
140
184
185
243
209
112
82
232
156
216
112
171
224
214
95
166
118
127
249
170
170
92
110
102
144
78
148
96
71
221
239
98
178
70
220
103
165
149
115
234
85
171
165
205
110
134
145
90
240
107
224
122
169
96
156
196
155
124
231
231
202
150
177
216
132
134
82
142
95
141
174
71
106
134
171
160
213
135
234
80
171
127
79
153
92
183
197
224
217
187
166
192
145
215
108
199
224
116
106
242
206
151
216
119
250
141
149
224
250
217
72
97
146
180
169
96
86
128
164
179
156
90
203
172
212
174
79
229
175
112
163
248
120
240
219
87
127
236
115
131
214
148
149
100
140
241
93
204
179
210
143
224
130
100
111
162
185
183
177
198
103
130
162
236
130
124
149
146
130
190
180
182
157
191
221
234
239
176
82
171
139
87
192
153
231
90
114
227
128
107
199
127
183
222
163
246
217
72
82
164
104
202
100
246
211
101
143
135
197
137
79
198
93
223
155
202
121
236
148
124
159
99
161
219
112
216
150
197
212
129
138
171
233
211
125
236
198
106
202
85
95
158
118
92
158
207
230
79
231
119
120
162
94
220
207
96
157
75
79
211
212
73
105
221
89
87
77
201
220
118
144
139
151
126
178
81
76
84
202
137
141
86
112
129
142
94
162
206
233
120
121
156
86
163
243
85
225
209
191
212
136
157
185
223
181
83
147
129
122
217
193
142
222
160
149
108
127
116
223
242
99
117
215
73
220
217
83
141
222
183
117
133
210
213
163
178
206
164
193
241
196
174
72
207
95
147
234
165
171
149
138
106
138
149
80
129
147
196
108
85
98
137
121
101
248
155
234
175
78
181
239
247
182
134
235
103
242
188
109
150
198
73
72
108
188
232
158
133
212
196
233
242
152
202
70
246
152
102
121
96
82
85
157
74
207
119
136
214
164
156
215
159
232
183
207
132
247
224
181
218
115
221
212
193
197
225
181
116
82
177
200
108
86
125
89
178
187
155
71
232
163
247
212
220
119
144
211
172
183
241
124
235
113
139
243
190
193
241
204
71
239
197
239
179
147
229
127
75
175
143
86
107
202
243
211
232
160
153
201
215
164
175
216
247
199
173
201
117
226
221
236
103
183
132
229
224
134
195
163
192
104
169
144
117
94
74
122
128
74
137
187
212
241
210
165
201
125
212
170
201
213
225
93
122
194
206
211
138
197
242
182
88
227
118
243
161
202
233
91
173
205
187
83
200
87
243
134
109
79
197
212
87
225
178
136
137
187
94
197
113
105
102
97
144
89
208
142
220
113
117
204
199
239
118
167
133
125
152
180
232
121
109
77
122
120
198
154
169
142
173
138
171
86
106
86
238
92
97
199
141
148
84
80
106
87
89
230
243
146
124
90
244
213
128
186
165
102
145
202
82
220
142
78
116
194
222
245
79
111
231
218
163
114
119
160
249
189
222
186
125
182
101
97
149
248
120
202
212
185
197
246
80
70
180
169
79
91
101
148
132
193
171
72
124
126
155
238
127
145
198
150
94
131
128
143
237
115
136
141
239
97
100
214
154
112
158
241
175
228
171
222
176
79
125
243
246
81
171
166
122
127
218
244
200
159
143
194
70
250
82
241
83
106
227
118
125
210
235
80
129
148
222
172
131
240
163
171
245
113
76
103
96
75
154
146
239
153
160
140
169
157
208
175
246
90
172
196
155
122
143
111
125
220
187
106
107
122
92
170
180
191
167
112
217
230
142
152
194
133
178
143
73
144
94
76
187
91
151
127
205
148
224
129
191
78
113
124
130
171
171
174
82
191
225
74
106
114
72
219
195
202
151
72
193
118
168
133
129
194
206
90
97
228
221
98
200
204
215
235
190
170
74
197
199
146
183
85
182
74
196
218
157
214
79
110
227
176
232
184
125
153
97
97
134
193
124
202
197
204
158
213
73
244
121
113
194
80
101
194
185
122
235
135
227
154
126
154
185
91
237
183
153
192
84
136
97
201
125
185
116
126
218
101
108
239
160
136
193
108
227
235
142
182
145
249
137
170
120
206
150
172
177
87
127
157
212
97
175
227
220
85
139
120
100
228
109
130
175
210
97
149
194
248
72
155
174
104
89
186
230
115
187
231
79
236
115
215
206
245
213
247
126
248
196
140
71
158
73
140
170
109
219
77
155
116
122
184
212
149
180
241
223
76
119
151
109
146
101
86
87
210
100
151
71
231
122
244
235
129
75
229
217
98
112
129
149
195
196
214
118
120
145
115
191
179
214
158
95
229
238
194
135
131
155
164
237
213
157
124
136
140
139
241
181
198
245
163
140
239
156
200
93
180
227
237
123
127
231
114
110
212
97
167
162
222
123
151
118
224
222
168
137
236
99
235
180
76
224
180
236
243
94
82
87
151
116
102
198
209
151
196
135
232
197
181
229
172
237
223
169
87
157
172
248
122
179
241
78
81
78
214
229
221
153
230
123
79
81
111
201
205
87
71
141
77
208
233
128
161
221
235
161
226
145
74
234
246
74
87
241
196
228
137
175
137
247
184
75
121
196
154
243
146
169
241
171
77
179
204
140
169
223
161
91
149
93
190
174
115
176
179
130
150
96
176
206
227
90
99
145
228
229
236
193
240
146
192
106
194
165
167
227
89
162
123
229
173
123
245
83
78
155
183
127
236
82
216
98
86
156
109
88
191
129
218
140
70
110
228
130
219
160
231
135
129
227
171
246
88
160
128
199
185
130
173
209
161
213
222
191
123
222
136
70
195
172
168
96
207
172
205
215
212
203
97
76
70
246
90
222
108
231
159
160
72
165
204
113
217
114
223
90
117
125
84
222
110
209
110
91
136
104
193
158
247
136
123
247
77
148
117
72
115
178
101
135
207
246
217
122
152
144
194
89
240
156
121
201
146
192
149
171
201
213
223
204
207
221
99
246
116
126
90
236
86
180
182
208
107
168
190
137
230
178
178
105
127
146
230
173
99
114
186
192
201
185
200
147
122
193
143
247
190
195
139
221
234
196
124
85
190
206
117
109
167
127
144
220
152
230
195
129
160
128
222
205
94
149
210
136
190
181
216
95
243
211
122
157
240
221
111
191
119
96
247
165
176
110
122
118
99
99
193
211
86
118
220
228
75
93
129
234
123
129
231
139
144
239
84
225
210
242
140
136
242
111
224
178
246
78
139
227
195
159
229
249
120
80
218
225
71
110
131
76
118
218
158
86
72
102
249
90
178
223
125
234
214
141
191
232
123
148
161
99
102
71
173
157
165
88
150
242
201
235
201
88
222
248
182
218
243
110
229
242
80
160
134
225
168
229
218
204
71
195
226
83
177
150
216
159
72
114
238
167
182
225
158
214
112
246
81
178
246
171
139
127
82
201
208
145
105
116
185
216
213
186
235
135
123
196
160
144
208
202
248
106
161
212
113
174
163
142
213
236
78
110
146
250
186
182
172
146
96
129
90
219
160
224
234
120
149
224
176
186
98
179
97
234
208
97
97
73
167
221
230
93
246
186
168
238
243
91
187
81
112
88
142
209
152
179
206
112
190
212
160
187
176
132
185
105
184
193
229
201
222
244
145
136
131
83
106
102
150
137
120
92
90
239
175
214
170
211
184
178
75
212
74
192
172
132
83
142
218
70
124
105
244
243
226
138
99
113
90
133
117
88
213
153
237
179
166
249
168
138
195
79
136
226
205
75
74
215
152
113
167
249
94
142
79
112
157
188
157
222
238
111
147
121
183
155
220
224
192
150
86
120
78
169
179
178
119
94
225
72
122
182
119
79
106
220
161
115
196
250
196
106
74
161
78
124
174
169
179
75
180
172
131
188
95
209
247
140
126
88
121
196
108
227
224
115
186
165
192
135
209
100
246
106
91
103
131
123
92
175
138
76
202
222
130
108
76
73
190
70
237
85
72
136
147
150
130
156
244
82
74
84
214
92
227
123
79
132
99
105
154
194
147
91
158
220
116
153
139
250
87
197
101
185
76
190
230
184
212
86
146
105
122
112
225
145
103
100
206
207
193
129
91
142
250
214
184
93
191
214
218
73
146
242
209
219
163
87
229
153
157
172
180
124
192
235
117
172
218
137
226
183
155
217
165
74
177
89
166
240
169
124
169
231
154
85
210
160
241
190
174
103
130
70
150
130
173
212
241
228
233
143
157
183
152
131
184
246
80
86
108
234
179
198
241
220
188
201
129
189
195
186
72
160
96
79
77
132
104
83
248
116
183
236
78
168
123
216
191
187
228
83
101
170
123
75
89
232
140
87
237
210
103
76
211
144
160
114
105
199
197
189
234
102
248
162
184
239
134
178
109
155
226
185
109
182
128
76
108
223
138
247
142
142
245
233
187
129
247
245
83
179
208
121
221
126
178
181
235
233
182
135
121
123
115
147
197
170
128
218
95
171
147
200
155
75
179
82
121
112
124
134
106
195
189
168
197
248
132
113
101
104
85
176
113
161
216
171
224
189
189
158
86
200
200
236
120
209
83
225
248
196
234
132
220
159
179
175
107
133
198
153
123
75
72
186
167
137
243
78
204
140
166
126
135
211
216
78
86
164
123
112
239
159
167
104
186
75
150
76
179
151
129
192
121
223
162
98
96
201
137
223
186
214
122
209
125
239
165
165
223
93
179
107
248
82
96
109
188
154
218
215
115
181
70
180
70
152
107
143
73
201
220
142
116
234
220
195
204
235
219
125
83
119
229
87
198
169
118
217
84
161
76
154
78
75
100
109
242
99
85
131
185
119
82
244
189
87
170
80
84
241
178
76
235
190
224
96
225
139
226
185
154
88
163
241
188
71
134
142
158
211
231
155
131
84
144
234
114
184
153
98
144
156
117
166
120
187
85
93
170
134
90
180
96
121
229
199
145
75
167
249
138
71
135
154
164
135
137
245
82
221
79
134
159
77
195
226
124
73
188
158
128
94
76
239
156
119
210
171
228
113
120
221
157
84
142
239
89
166
98
240
144
205
171
140
140
215
216
247
238
177
88
192
87
225
102
81
91
173
188
244
216
81
169
91
82
230
81
131
152
234
161
176
205
225
86
151
209
119
133
166
158
146
153
104
209
229
250
202
180
113
142
71
163
73
94
227
218
149
100
223
100
75
153
148
220
85
210
89
207
153
169
86
120
227
143
213
242
107
171
198
159
129
89
231
163
202
224
113
242
154
141
132
78
93
158
161
70
121
232
211
201
214
174
168
78
218
76
239
211
190
123
236
82
73
243
209
208
81
248
181
168
195
221
233
130
134
240
155
126
249
165
117
95
220
125
173
132
90
87
126
177
89
145
140
88
244
209
239
71
145
119
106
182
247
140
160
248
227
180
232
250
237
242
244
241
231
174
115
231
111
98
185
168
158
87
79
185
224
248
201
145
98
227
136
203
197
249
164
243
136
80
202
173
233
222
146
88
114
206
200
201
230
176
119
197
92
129
97
165
129
207
197
192
122
249
209
140
237
232
150
195
181
73
82
243
222
78
224
195
138
110
161
246
143
89
157
108
204
135
96
200
225
131
99
237
180
216
185
180
121
122
138
240
249
248
137
96
170
189
193
89
104
175
83
132
233
235
190
88
202
250
119
72
148
113
195
248
119
220
168
84
218
114
153
144
239
199
234
202
208
112
156
230
202
228
179
141
115
193
189
159
232
234
161
171
83
202
194
137
116
197
132
247
118
98
180
145
146
225
111
194
235
150
227
209
205
117
185
73
149
223
225
230
85
176
213
85
225
128
156
194
119
200
133
244
239
160
131
234
219
199
218
189
218
95
144
78
212
103
154
222
181
207
231
106
248
226
248
98
142
131
183
122
135
116
123
82
203
94
106
183
229
117
155
76
140
87
114
222
177
152
109
96
92
99
141
194
104
246
211
83
195
173
220
79
140
238
193
193
237
214
222
248
141
122
242
246
91
85
100
201
139
94
164
125
114
108
228
90
223
246
205
213
97
171
187
169
130
100
126
189
103
107
223
92
231
226
137
72
180
119
95
194
213
198
144
212
200
158
72
233
226
124
118
123
203
227
182
219
245
79
165
80
156
227
75
220
237
246
166
84
247
240
167
77
198
87
207
234
188
123
188
240
88
135
210
203
237
114
213
127
204
172
79
142
196
74
83
225
226
168
206
78
178
202
113
149
106
174
127
198
198
80
98
115
104
186
108
91
249
117
142
213
180
75
90
124
145
197
173
116
211
96
245
97
237
200
219
80
76
110
154
132
102
87
73
115
224
168
146
132
248
134
155
184
185
159
194
78
117
152
153
109
216
147
228
87
72
225
156
123
125
214
161
196
102
125
213
146
217
220
85
112
129
186
222
227
118
73
190
233
97
107
142
144
116
159
158
148
141
198
88
128
80
182
233
142
73
111
88
192
206
234
233
91
92
154
128
200
142
250
88
150
89
246
243
243
138
202
103
142
182
88
205
222
237
138
184
165
141
147
221
204
192
182
174
150
209
95
211
184
192
170
117
96
112
107
110
202
223
248
129
101
166
155
163
108
205
166
221
181
207
114
143
215
229
144
146
94
122
166
201
224
151
123
151
89
153
75
116
91
147
225
244
231
160
72
237
188
244
98
111
191
81
224
71
239
130
238
176
207
188
149
119
144
184
106
135
213
139
219
215
125
171
108
115
109
250
92
101
178
206
133
247
105
243
212
218
135
133
168
210
183
191
217
174
194
94
130
189
72
247
115
172
82
141
119
106
207
152
102
80
226
202
216
147
211
250
208
141
205
187
137
84
71
211
85
141
107
101
220
144
238
201
114
239
191
203
70
144
205
145
78
175
235
165
118
211
237
139
226
129
246
219
180
191
151
92
206
90
105
109
166
98
138
117
247
91
206
173
193
119
75
205
167
205
175
128
152
188
177
85
237
171
82
228
246
224
152
245
247
171
159
203
214
192
102
122
114
248
142
165
146
209
228
114
145
75
112
70
145
241
186
180
225
119
199
177
142
204
191
131
174
102
165
122
146
103
181
196
212
86
146
114
84
149
246
177
229
95
174
150
200
145
176
150
141
123
233
215
108
177
119
219
229
174
144
234
124
83
75
134
144
211
185
122
132
74
173
213
223
80
240
153
174
128
164
229
148
116
244
198
224
155
146
106
104
82
195
161
197
117
77
82
70
72
204
80
127
234
75
187
77
246
74
139
192
138
131
250
111
198
79
152
226
154
90
159
211
102
138
126
112
76
182
107
210
202
166
73
78
226
182
113
153
203
193
158
73
218
212
202
127
125
191
113
232
235
120
189
149
138
231
192
108
206
138
185
135
147
171
190
156
176
92
224
83
219
144
70
184
248
185
168
165
225
135
244
192
144
161
114
98
160
126
210
231
241
133
206
193
235
220
162
158
185
185
179
215
126
162
150
173
111
207
153
238
112
179
246
223
76
80
136
158
196
184
132
148
71
214
94
109
76
167
93
88
146
210
183
129
148
182
227
133
232
125
228
193
221
137
186
199
130
119
72
129
199
106
150
195
191
86
72
168
119
113
213
130
226
74
236
119
97
153
229
106
150
137
123
239
247
128
173
81
205
147
189
195
107
78
244
245
199
119
147
88
150
250
249
172
130
229
238
213
109
139
250
188
125
76
144
132
233
93
146
105
135
148
190
105
168
168
173
142
166
215
72
163
107
206
114
219
184
83
238
64
56
32
28
65
44
34
35
70
37
35
62
65
21
37
43
68
80
76
29
21
75
78
63
32
35
47
78
28
27
73
67
27
64
55
65
34
79
56
39
37
48
35
28
29
79
67
77
23
39
72
35
46
74
63
73
61
54
41
73
44
67
25
29
63
54
32
74
50
73
57
66
47
76
46
55
41
56
75
43
80
23
71
70
41
38
72
70
30
77
42
74
25
23
79
48
26
78
51
77
28
35
54
63
51
50
47
73
78
39
64
70
40
45
72
78
62
62
67
24
41
30
69
66
73
73
54
52
42
52
77
45
67
25
25
61
35
64
49
73
40
25
78
34
80
59
26
51
24
46
69
36
54
53
57
58
33
79
57
21
71
33
29
57
74
50
55
36
33
58
77
74
41
60
32
31
68
52
63
24
62
35
34
69
67
76
65
77
53
22
23
23
74
73
45
73
60
64
45
38
50
31
35
21
65
66
73
59
34
39
42
66
29
24
69
51
71
50
78
20
50
37
62
25
27
47
58
47
41
70
67
71
62
73
74
69
77
30
78
73
56
71
71
42
70
49
68
43
30
37
77
65
31
31
37
32
32
22
65
71
59
61
67
61
58
34
44
37
44
50
56
72
74
62
45
24
39
72
76
70
65
44
37
60
30
56
79
71
58
55
57
53
56
21
47
58
76
28
79
43
39
80
47
79
30
37
53
58
31
37
42
55
50
78
72
34
29
50
70
20
65
23
38
60
44
61
24
39
44
55
73
35
40
30
28
53
67
60
27
47
78
49
67
45
29
75
48
44
58
60
21
59
51
31
72
62
72
60
39
78
58
55
40
45
73
24
76
22
80
77
70
59
48
33
57
35
49
33
50
57
55
79
24
74
80
48
45
29
66
55
56
40
21
46
40
66
28
63
77
49
59
69
48
27
33
46
32
35
65
34
72
68
50
79
55
26
47
73
78
50
67
30
49
73
20
70
21
23
39
27
63
61
63
79
32
73
48
54
24
40
60
44
28
24
67
74
27
20
24
69
44
70
44
68
31
22
29
70
64
62
55
47
62
39
48
59
63
28
71
36
53
46
74
77
77
43
64
70
50
55
29
72
80
74
40
22
20
69
71
39
75
58
51
56
51
78
29
74
42
58
25
60
66
47
51
31
46
45
34
49
55
80
35
56
43
64
75
58
79
31
39
48
54
73
71
28
41
25
54
28
35
72
37
43
58
68
38
52
74
34
59
20
79
42
61
40
27
78
29
80
56
28
28
53
42
75
21
61
63
76
80
47
33
53
74
22
24
68
28
38
74
65
42
48
49
47
63
69
42
49
47
60
54
52
71
78
61
62
20
42
33
34
70
76
70
71
58
40
78
39
76
30
33
49
75
56
56
38
55
24
37
64
42
75
42
29
38
46
20
72
74
22
43
77
22
80
40
72
77
74
51
64
65
48
29
21
45
56
41
62
71
75
69
42
69
31
56
25
24
55
43
27
49
46
72
79
76
65
42
25
56
47
50
70
53
30
29
50
63
71
57
62
55
65
76
71
27
36
50
29
61
48
36
25
30
23
72
46
76
34
21
76
44
24
64
77
29
47
44
26
80
41
55
21
25
31
22
29
23
57
32
57
49
59
35
36
49
78
26
41
49
64
36
28
50
36
31
40
62
25
63
49
62
24
66
29
48
59
46
38
32
76
67
65
71
33
43
52
71
49
66
74
38
70
74
47
50
57
79
59
40
68
56
74
32
35
76
66
42
75
55
32
53
62
45
79
72
34
37
51
36
62
30
60
45
72
24
31
40
26
48
63
44
69
59
20
80
38
71
49
74
68
29
36
51
63
57
74
28
42
69
69
28
65
41
71
56
76
73
75
77
67
38
80
21
64
77
56
30
69
76
40
67
60
53
49
68
28
52
57
42
53
59
78
74
23
47
44
71
28
76
26
54
49
66
22
75
61
61
27
49
33
45
39
39
73
62
67
21
22
41
23
70
34
34
23
60
46
65
76
21
66
65
75
20
52
20
37
72
44
28
75
24
58
77
44
77
44
37
46
37
65
65
65
70
55
74
50
32
78
69
66
58
33
34
70
43
70
42
49
43
77
59
29
51
79
33
34
51
36
67
51
21
51
40
46
70
75
21
28
54
63
32
55
57
41
25
54
80
54
70
28
54
40
72
21
57
52
26
74
78
79
44
29
33
25
38
25
63
51
61
50
65
45
32
50
44
44
79
22
48
60
53
38
72
54
39
72
35
80
24
41
74
76
74
41
77
61
29
80
62
60
32
54
56
73
34
41
28
21
78
73
29
64
45
23
64
63
74
27
38
56
24
24
57
76
52
31
61
54
37
77
43
54
22
61
59
41
28
55
70
43
50
67
20
49
57
72
74
58
70
24
56
65
37
44
71
50
71
54
68
46
71
67
46
23
77
66
60
59
33
51
74
22
71
27
35
29
44
39
76
26
63
34
64
25
75
70
30
32
46
61
27
26
64
73
33
22
22
70
58
29
34
80
62
30
71
30
69
77
76
70
37
39
55
70
28
62
48
38
78
23
51
79
23
22
30
73
49
51
50
71
47
67
26
45
21
33
32
24
53
63
79
59
65
45
53
59
67
71
25
41
76
74
64
36
58
37
36
66
64
46
78
62
72
52
50
35
37
79
42
70
31
58
21
75
79
40
42
34
45
76
72
30
53
48
52
30
79
35
53
64
50
38
60
74
27
38
33
80
23
49
50
55
28
22
21
25
68
71
28
21
27
20
34
62
65
78
78
31
37
75
49
57
60
48
29
67
74
20
36
42
47
78
35
63
73
41
63
32
64
69
47
48
66
37
42
32
62
79
71
23
49
50
49
28
43
24
73
74
22
33
23
28
31
49
65
73
33
22
51
61
69
68
56
54
41
42
26
50
59
80
42
25
57
32
43
57
38
80
31
24
56
74
29
37
79
27
30
47
38
71
80
74
72
59
69
52
54
63
71
43
77
47
43
54
43
20
60
56
24
20
47
77
45
64
77
44
80
42
53
69
40
74
68
42
39
59
29
25
39
37
40
43
43
72
71
33
75
46
72
69
42
40
49
74
25
62
26
74
50
38
47
45
27
25
40
56
29
54
80
48
24
62
79
37
36
28
69
50
52
71
29
31
46
31
69
24
76
72
76
28
57
20
53
43
44
50
76
56
35
22
35
48
47
69
49
60
22
52
75
36
48
26
22
32
48
74
62
71
60
20
46
46
26
61
27
67
64
79
49
27
45
40
46
77
60
48
58
28
63
76
31
34
76
37
57
23
31
66
65
53
48
65
38
33
50
21
56
25
41
58
77
41
43
35
23
51
28
60
60
69
63
63
50
53
35
47
65
49
74
60
37
41
60
25
59
55
27
29
80
59
63
61
72
58
51
20
38
54
66
34
67
44
48
22
42
44
58
58
49
34
71
46
49
61
70
33
57
42
52
25
34
27
73
39
34
52
63
61
61
51
66
53
71
38
66
64
78
65
70
63
28
26
24
73
78
59
50
64
66
59
62
56
52
34
41
47
33
61
69
72
79
45
75
72
70
69
46
36
25
68
35
58
25
21
50
55
34
27
34
26
34
60
70
60
59
24
28
75
72
33
37
36
54
76
42
74
29
71
73
78
80
25
29
60
69
23
48
41
21
53
45
62
75
74
62
33
25
75
27
56
25
28
38
66
60
40
70
65
56
22
37
61
33
73
55
47
78
80
68
59
76
66
36
75
31
79
70
54
38
71
57
59
67
79
44
67
74
25
55
32
40
39
31
77
41
36
59
68
50
67
78
34
79
39
59
62
62
61
29
24
64
46
28
60
55
40
23
44
79
55
53
48
54
64
24
70
65
69
33
70
72
39
67
38
76
75
32
72
72
53
30
58
75
50
57
49
32
22
40
47
70
21
38
80
27
20
31
67
25
52
64
78
41
28
60
44
22
35
25
74
20
59
35
32
48
74
62
38
55
80
32
27
55
78
35
78
69
25
37
55
26
72
31
36
35
60
73
21
73
26
25
77
71
32
65
31
21
38
40
67
22
63
65
33
76
69
55
76
52
56
20
27
26
50
76
55
54
34
49
24
47
67
47
59
27
24
64
27
28
25
60
38
63
38
53
47
60
58
53
73
43
25
53
35
36
50
55
30
30
57
54
76
34
54
79
63
55
26
44
72
23
32
33
35
78
48
41
32
50
56
39
63
43
41
44
58
43
40
59
21
55
42
73
37
23
20
76
35
49
67
78
27
53
35
31
62
58
77
48
24
67
29
40
74
31
67
49
42
74
72
24
68
54
56
58
54
31
71
22
34
30
20
37
75
61
31
24
49
77
53
29
28
71
23
33
55
52
24
73
80
54
57
24
26
66
75
34
52
60
68
48
55
26
69
32
64
45
58
68
53
64
23
55
24
26
33
23
24
44
60
46
76
44
64
52
64
48
34
60
71
24
33
73
34
26
72
44
25
28
61
49
76
45
64
36
65
68
33
43
67
43
39
58
44
32
45
80
40
54
29
75
30
69
38
39
69
25
27
70
67
47
32
38
37
53
43
59
76
44
70
50
27
33
29
53
20
43
78
68
61
36
33
35
48
49
47
43
63
22
27
76
22
50
70
68
42
66
32
34
30
72
21
43
32
22
39
75
49
43
31
61
46
38
45
46
31
65
78
34
31
27
36
45
27
44
32
21
44
55
29
24
79
37
24
26
66
44
61
38
29
46
57
27
70
64
71
60
30
62
25
46
34
47
42
68
30
70
23
59
20
44
36
61
45
60
27
64
27
23
42
61
69
72
79
62
59
39
57
56
43
43
32
31
53
20
38
26
65
25
62
44
66
51
36
24
40
22
24
66
20
78
39
59
22
59
43
73
72
43
66
79
28
56
41
45
60
61
54
22
72
63
25
71
21
40
25
59
62
37
46
80
40
44
53
34
75
64
26
74
24
51
50
56
41
51
37
54
28
24
22
69
35
40
38
38
32
33
23
80
34
21
77
22
56
65
63
52
56
44
54
23
33
46
46
59
28
28
42
80
29
32
76
44
47
34
68
24
44
30
57
42
22
60
80
37
38
31
25
64
62
53
44
23
33
69
34
34
56
38
29
67
40
72
45
25
22
32
72
70
21
69
64
48
75
55
66
32
27
28
74
77
77
76
53
80
20
39
26
65
75
43
78
74
29
74
67
56
54
60
25
55
58
72
26
50
40
66
42
44
29
63
36
60
48
28
27
23
31
57
62
23
45
64
29
43
41
41
55
77
75
65
68
46
55
60
76
73
32
35
45
31
57
55
34
58
44
24
72
79
45
53
23
55
38
73
24
40
35
38
57
78
80
34
59
78
49
54
34
77
34
30
65
38
67
33
62
63
39
56
79
42
35
29
70
40
29
37
74
79
65
65
23
43
30
45
25
63
60
60
27
46
35
59
56
60
51
41
23
23
49
68
58
68
58
29
55
66
75
69
42
74
33
75
27
59
77
76
23
76
73
39
48
22
23
30
24
31
76
73
30
23
38
74
80
40
79
21
31
48
22
23
23
24
43
67
28
31
31
60
53
60
27
80
43
56
25
73
61
36
47
76
65
80
67
23
59
39
23
61
51
78
76
34
64
23
76
41
79
49
80
40
40
76
52
22
37
42
63
43
40
79
34
48
21
29
63
36
64
51
22
53
35
79
48
60
30
24
76
44
76
60
57
40
64
42
35
52
58
27
45
39
66
39
22
77
36
61
80
30
59
36
48
54
71
80
70
33
21
25
33
55
80
75
42
37
30
80
61
33
50
23
58
66
66
47
40
53
79
24
25
61
22
27
20
39
64
55
59
32
48
31
62
78
58
29
65
51
37
34
49
53
47
59
29
20
43
28
65
51
40
39
21
69
57
58
31
29
45
47
35
32
43
45
25
46
71
76
78
70
47
41
21
66
49
49
56
39
65
70
74
22
42
49
70
24
37
45
42
48
32
50
31
35
57
35
31
28
64
28
78
59
72
72
59
25
38
59
34
45
64
21
59
29
80
32
62
40
22
48
80
79
56
70
70
27
76
52
35
47
43
34
43
65
44
47
32
69
49
54
70
31
45
58
62
42
30
61
24
20
26
69
44
37
34
51
53
74
58
71
77
22
36
44
24
45
50
22
63
69
37
80
25
72
41
36
39
27
62
36
22
65
78
37
51
77
68
36
71
58
32
55
48
50
28
70
27
67
31
34
76
59
74
56
64
26
50
47
65
25
29
66
30
65
58
59
73
50
26
24
59
49
53
25
26
80
79
35
51
24
38
63
32
32
53
71
51
43
32
30
61
36
66
35
78
26
53
77
38
53
46
55
26
45
20
22
34
63
67
42
67
69
30
40
40
32
47
41
74
59
62
75
39
79
73
61
61
22
34
30
36
76
72
53
45
77
42
55
40
75
54
68
75
22
25
24
61
54
76
44
31
80
52
36
59
49
64
23
53
39
23
80
72
79
25
78
70
37
49
45
74
24
62
63
70
34
37
49
24
40
60
25
77
65
64
26
22
62
72
31
68
32
73
27
37
61
79
32
30
42
65
33
27
70
71
21
34
46
25
39
35
28
39
60
50
55
71
22
34
49
62
27
62
66
30
48
73
40
60
24
31
46
33
73
47
42
29
39
25
35
40
48
74
32
20
51
58
70
58
67
74
76
58
32
49
68
58
79
21
65
53
55
46
41
73
50
77
38
21
34
43
63
43
80
32
22
37
30
76
31
62
48
23
40
52
68
47
80
37
41
40
73
61
66
40
67
37
77
58
59
26
67
55
27
58
62
46
47
22
73
49
44
71
79
42
20
69
57
67
66
32
46
61
41
20
38
36
60
37
74
52
30
72
75
41
75
62
55
39
51
58
68
21
24
79
50
46
28
50
53
59
35
67
42
57
33
29
27
23
78
37
33
64
36
46
26
69
46
77
21
80
60
24
20
20
23
48
66
57
21
33
51
73
26
44
55
58
50
24
58
72
47
56
34
79
64
79
32
56
54
67
69
55
68
68
51
75
61
43
55
22
55
29
43
28
43
20
45
64
38
20
33
63
69
44
78
58
45
50
43
60
44
37
52
41
50
79
29
36
38
42
25
33
44
76
28
52
24
58
53
80
40
56
35
22
77
42
44
80
54
74
80
47
71
46
44
49
43
51
33
21
76
61
43
68
62
33
25
58
30
78
38
35
21
23
33
66
39
46
71
65
28
54
22
66
30
77
31
42
39
71
35
30
39
50
63
61
26
46
34
26
68
41
52
75
55
59
57
80
66
79
38
27
65
46
33
56
48
58
37
63
75
36
41
55
25
50
26
58
37
43
68
65
37
27
35
67
76
34
75
71
28
80
53
79
59
41
55
34
24
30
48
77
22
80
63
24
75
71
63
25
38
59
66
21
43
61
44
25
78
27
80
49
55
28
66
70
51
69
76
23
78
57
40
53
41
67
69
58
27
40
38
47
70
24
71
78
69
80
62
58
65
64
20
43
48
40
56
51
61
38
59
36
80
33
49
59
78
46
58
76
41
73
57
53
37
20
35
65
59
69
78
76
66
75
61
68
35
33
58
71
64
73
54
78
36
24
59
50
80
63
58
32
56
42
22
64
67
52
64
55
70
26
57
50
42
25
64
51
58
57
63
22
54
37
72
67
43
78
34
49
57
23
61
21
23
52
74
77
46
58
67
33
35
47
41
34
25
57
24
71
67
48
41
34
45
41
31
57
42
27
28
56
57
75
71
56
65
52
80
52
49
37
74
61
34
50
43
25
37
45
77
62
21
67
77
47
57
75
78
63
79
28
61
61
48
72
30
23
61
48
21
34
80
38
22
75
46
47
40
37
51
59
74
23
38
36
37
64
31
23
62
21
62
64
20
32
38
33
25
42
69
40
41
36
55
41
40
36
39
62
35
53
47
56
64
61
45
71
72
78
42
80
51
33
61
67
41
51
77
40
22
74
66
33
23
42
76
60
48
33
20
29
71
47
36
70
32
66
74
63
35
65
70
80
71
27
60
43
33
27
76
65
56
59
74
76
77
51
74
66
72
76
44
35
23
54
68
35
64
31
36
58
56
71
67
22
28
59
22
54
26
75
74
63
79
56
61
52
59
52
77
29
39
56
29
27
79
42
78
58
66
66
65
51
71
64
65
68
68
31
45
61
80
55
64
57
63
34
29
67
49
65
63
64
46
33
55
63
62
47
28
25
50
66
71
32
38
65
49
70
34
52
53
31
70
41
74
23
30
35
47
33
56
23
31
43
57
69
52
33
73
54
65
67
73
67
24
63
80
42
48
57
21
29
20
21
42
43
70
41
75
64
72
78
27
44
68
29
52
31
32
24
78
32
58
71
76
51
41
52
21
28
27
56
28
25
72
58
37
54
52
78
68
23
60
61
79
55
36
67
53
26
76
55
51
61
77
44
68
34
21
55
31
55
28
68
56
28
35
29
47
50
76
49
39
70
57
66
22
42
55
60
46
70
68
75
71
76
60
63
62
20
51
77
26
67
51
72
70
70
20
67
56
38
58
36
47
80
29
73
48
21
23
27
26
52
44
68
58
74
46
62
65
53
63
42
24
22
29
53
47
48
22
74
31
61
58
75
62
39
31
70
31
29
34
42
51
58
46
60
46
51
41
35
55
74
34
66
26
33
71
49
29
23
75
48
45
23
72
77
63
78
79
58
60
71
58
42
55
28
23
49
56
35
25
26
26
68
30
29
66
20
44
54
55
40
25
49
60
75
36
63
25
45
77
75
44
42
80
70
60
77
60
69
37
35
51
57
73
70
50
68
40
23
30
51
52
60
42
30
29
77
58
64
65
52
32
58
51
74
79
72
43
31
23
67
25
33
29
72
48
31
39
58
46
73
24
23
26
20
30
57
65
68
42
44
57
66
59
24
46
76
75
58
51
50
78
36
38
57
77
64
65
32
72
80
53
62
43
43
31
57
61
25
29
39
68
79
59
77
72
77
42
63
28
32
35
39
36
78
36
69
70
37
75
63
78
73
48
26
69
24
67
33
20
61
38
42
27
58
33
66
65
33
25
47
44
57
21
78
51
49
26
55
55
44
63
21
38
74
63
50
61
51
67
53
50
66
23
54
60
53
23
21
57
66
45
40
71
63
30
80
60
56
44
38
54
40
21
53
55
34
31
52
57
51
66
48
48
59
22
32
24
52
49
53
43
52
25
48
20
33
35
38
65
61
64
61
65
53
76
49
21
35
54
43
56
58
64
44
52
32
74
79
56
38
66
25
72
20
21
61
53
28
65
42
55
55
68
33
57
66
29
65
65
22
77
55
80
58
36
50
43
49
60
38
59
50
41
46
50
76
43
78
72
71
49
39
31
36
37
30
32
33
65
23
77
50
38
32
49
51
64
23
56
51
51
42
22
32
23
73
27
31
78
33
33
24
74
79
39
79
59
27
39
71
45
54
52
50
78
46
62
77
48
49
67
78
59
40
60
45
77
66
75
35
79
43
46
31
65
30
75
75
52
30
54
71
73
25
60
51
41
39
57
25
31
69
20
79
55
72
22
69
39
45
52
64
59
56
39
64
40
50
47
28
79
62
65
43
21
38
74
49
40
30
21
65
67
55
68
22
47
40
21
50
35
34
54
28
24
36
22
54
65
62
39
66
43
69
32
45
21
58
78
75
75
74
51
30
64
32
61
65
80
65
49
37
56
77
23
28
58
24
47
39
38
42
28
64
38
37
20
53
31
54
44
33
65
28
53
79
28
80
69
68
38
23
28
52
22
27
38
20
22
41
62
38
76
29
66
79
68
32
63
45
80
30
67
65
66
46
28
63
51
40
59
74
24
27
45
76
80
78
68
37
62
27
53
71
76
60
68
50
70
28
61
69
53
77
49
41
63
75
46
69
28
62
39
66
38
56
53
57
43
41
42
74
62
26
46
75
68
44
35
52
24
77
73
40
45
59
56
23
65
26
32
58
76
69
30
26
67
67
40
35
40
73
51
39
41
34
48
49
24
63
30
58
72
24
39
71
79
53
20
45
29
60
20
52
30
48
29
64
39
67
50
48
64
56
24
46
20
61
31
65
40
61
80
74
58
69
24
48
70
75
53
51
65
51
41
66
66
75
30
57
74
64
56
42
52
38
67
28
69
20
28
46
54
77
24
39
27
53
75
45
26
52
57
79
62
41
38
22
73
48
41
28
30
75
50
33
39
63
39
65
48
66
37
78
38
62
31
74
53
34
35
38
44
68
64
59
80
58
50
64
74
63
41
26
42
40
53
35
36
47
48
41
67
40
27
35
35
44
55
31
37
30
26
34
24
55
48
27
31
69
48
70
23
42
44
24
38
79
76
63
43
51
42
54
71
42
25
25
55
56
55
41
42
35
36
50
76
63
42
75
22
68
20
30
56
32
56
56
53
59
27
79
41
59
80
58
36
41
73
55
22
64
50
75
21
26
23
20
24
55
41
56
22
20
40
39
20
76
74
51
29
43
48
26
48
42
25
69
51
53
60
39
47
77
30
72
44
65
77
34
53
63
22
62
34
60
22
45
27
34
30
32
41
51
66
21
40
65
68
67
32
50
31
62
78
64
64
50
62
53
45
26
23
79
51
35
65
40
76
21
62
33
25
30
62
39
68
47
53
77
78
71
36
50
45
74
75
63
71
52
53
44
50
27
20
68
75
41
54
24
56
61
79
73
29
30
44
27
31
53
20
43
46
80
52
70
46
26
42
34
66
22
47
69
24
62
36
54
68
33
30
58
73
69
30
25
47
77
73
45
29
29
52
65
44
37
58
21
59
34
32
31
30
68
70
28
44
56
25
39
21
45
29
33
23
71
55
35
50
51
55
77
41
57
76
59
35
75
65
64
34
26
72
54
24
20
71
25
48
49
32
65
45
45
28
50
24
23
39
39
78
67
33
24
68
48
37
80
47
76
52
60
33
61
70
20
67
79
26
78
71
68
72
33
37
45
30
31
31
54
53
79
50
28
75
32
76
58
72
32
49
79
73
36
47
45
52
55
48
71
75
49
26
64
64
38
31
53
62
47
20
77
54
28
27
20
27
32
60
32
28
20
38
55
68
37
32
37
27
33
35
36
48
36
67
26
44
33
20
28
28
44
58
22
40
68
79
51
27
22
50
36
47
22
63
45
30
24
78
66
67
34
47
42
66
65
74
79
33
66
30
63
62
32
43
51
63
51
73
32
53
47
72
77
74
30
24
38
68
27
53
62
51
20
59
38
30
72
30
67
65
39
73
53
23
29
67
39
44
35
60
63
50
70
28
37
54
51
26
64
79
63
58
44
69
40
73
45
69
36
62
32
76
30
77
49
24
58
55
27
43
60
62
55
41
20
41
74
41
37
27
74
65
40
49
25
70
21
43
80
71
32
28
58
61
74
40
80
60
70
52
70
22
30
37
22
53
42
39
29
77
31
21
49
43
34
24
66
33
33
79
31
34
74
60
47
64
37
42
48
44
39
31
46
20
25
70
72
72
69
40
28
41
56
80
38
58
30
49
64
53
80
53
29
51
48
36
67
73
28
60
21
45
57
26
62
47
44
28
33
71
33
58
80
57
66
78
66
40
70
63
28
49
57
32
74
30
72
67
80
61
49
65
37
27
46
41
66
38
32
68
59
40
45
21
43
34
27
55
24
47
44
57
34
46
23
72
46
73
65
52
20
50
27
41
66
78
66
53
50
54
41
25
78
56
75
66
35
55
78
34
35
80
50
46
78
72
34
31
78
41
58
32
77
69
21
50
32
34
26
58
26
29
54
29
37
45
27
22
41
80
50
33
70
75
50
40
76
45
44
25
72
31
23
69
69
35
46
27
57
79
28
69
40
31
47
23
24
57
33
26
47
23
57
32
51
79
37
60
65
49
54
55
80
30
72
69
50
54
69
51
30
52
53
80
64
27
40
68
31
60
65
23
39
51
55
71
55
70
30
80
24
42
56
21
67
57
58
73
64
35
29
45
62
58
53
33
62
55
28
29
24
65
46
71
27
37
35
60
79
67
40
22
50
42
55
24
65
36
28
48
47
59
60
67
39
23
43
70
73
45
45
55
70
21
23
40
60
79
34
73
33
77
47
55
51
23
29
63
46
23
77
58
30
77
41
40
53
52
46
50
57
78
80
24
44
80
56
46
38
70
46
76
38
76
77
56
39
60
53
25
23
60
22
63
49
44
31
59
31
50
53
25
46
40
24
73
76
36
37
38
46
80
66
56
21
29
33
31
53
66
78
52
65
57
74
37
74
73
32
23
43
25
77
34
39
78
66
37
74
67
67
61
63
34
33
63
50
47
56
35
77
58
54
24
22
45
75
76
61
72
21
45
21
70
76
20
72
28
23
28
50
60
53
25
68
74
74
78
78
42
41
74
68
43
70
52
28
39
74
52
78
70
49
20
27
51
67
75
55
74
53
51
21
29
41
44
22
46
50
73
26
75
33
20
51
63
53
75
67
65
66
23
72
77
54
70
21
38
25
40
57
59
31
37
28
29
57
31
55
30
23
20
37
65
32
24
79
22
75
41
36
57
28
71
80
40
57
23
45
34
37
38
31
49
74
60
46
34
30
45
31
47
55
37
41
20
74
57
72
56
61
38
57
48
30
63
78
47
46
51
77
42
71
36
23
25
46
43
70
26
80
73
70
43
45
58
61
53
67
44
67
80
31
55
57
26
47
51
30
21
34
60
64
61
34
61
50
26
75
48
27
21
79
24
64
58
43
63
45
61
43
59
49
45
45
40
74
40
30
22
51
42
24
43
73
65
29
49
21
57
53
29
46
59
75
73
41
72
39
78
26
45
36
80
69
47
76
69
46
24
72
76
59
27
32
40
44
75
80
32
74
47
33
52
21
29
50
46
70
46
21
56
48
49
68
28
63
59
78
52
36
54
23
61
79
80
28
34
31
80
60
20
65
28
27
45
54
41
48
75
29
52
23
30
64
33
20
54
29
51
37
70
40
27
33
65
39
55
31
53
56
45
24
67
24
57
40
67
28
58
72
61
78
63
28
21
20
67
78
64
64
45
35
68
37
68
48
59
28
77
34
25
29
74
52
49
41
23
38
64
67
44
41
35
25
59
45
78
76
31
35
54
53
68
53
64
31
63
71
25
48
74
59
33
55
54
61
75
62
23
50
56
32
50
60
41
61
53
45
40
74
37
34
35
65
38
40
30
65
21
23
44
57
46
41
70
79
73
75
70
62
71
68
72
58
41
32
34
30
59
54
29
29
79
27
36
77
44
76
29
63
78
30
64
41
80
44
66
52
53
20
38
67
54
20
35
57
66
52
67
49
40
66
40
62
23
73
76
73
62
57
77
46
44
49
57
22
43
47
44
41
47
79
51
20
68
45
44
77
50
37
77
47
58
44
40
70
61
29
80
52
64
58
41
40
25
40
34
75
23
63
45
67
65
61
60
33
27
24
76
42
67
78
29
49
66
28
64
62
24
69
72
55
59
76
45
41
78
35
36
64
53
76
60
50
63
36
48
62
72
42
25
65
45
70
59
27
54
53
44
48
74
50
80
45
39
71
51
66
23
76
35
45
58
63
42
65
66
45
55
25
21
36
46
74
50
20
31
29
77
47
39
37
33
77
44
44
28
78
70
50
72
62
50
73
62
31
46
74
52
61
22
75
28
64
59
59
40
59
50
47
63
67
28
36
67
38
77
61
53
63
56
23
30
49
55
20
37
56
24
27
64
32
24
39
53
29
20
69
59
32
26
43
29
48
53
72
78
23
51
38
80
40
40
22
67
58
54
23
54
36
40
72
38
76
24
47
63
53
24
52
73
59
77
80
54
71
80
46
23
22
64
76
64
33
75
79
68
32
51
59
57
80
40
68
37
78
44
21
42
74
22
23
74
25
33
66
38
71
58
38
37
24
21
54
27
72
68
24
26
59
69
54
46
39
20
71
20
44
72
40
40
49
38
30
26
37
44
33
47
76
44
68
28
67
69
44
59
38
74
22
71
51
71
39
24
34
66
78
79
63
78
78
20
79
74
41
39
32
79
73
47
69
31
74
41
72
37
26
45
73
71
77
59
46
53
77
61
23
66
59
20
71
30
53
32
75
60
79
51
20
64
27
52
60
53
78
27
50
30
55
55
63
55
24
51
74
33
26
21
58
64
32
34
49
73
24
27
53
62
54
42
61
56
61
34
43
34
66
42
54
34
33
22
40
57
75
56
38
22
28
50
49
70
70
32
79
34
62
44
49
48
38
31
25
21
62
43
44
80
20
72
57
56
37
23
29
48
26
57
31
30
51
43
59
69
55
69
32
65
75
38
39
28
29
38
24
21
51
54
23
70
70
42
55
80
26
39
28
70
44
32
49
46
31
53
34
25
77
51
30
64
77
22
38
49
49
43
57
66
38
71
28
27
67
76
72
61
34
65
22
78
73
61
57
50
45
62
53
63
48
50
57
54
80
30
76
29
41
38
24
55
69
77
66
31
28
23
53
30
52
78
31
54
70
79
43
62
43
54
38
44
70
45
43
71
43
46
48
56
23
20
55
71
50
64
27
72
39
74
29
23
27
28
63
34
80
21
24
38
44
21
32
77
20
71
49
35
54
28
62
78
63
71
45
23
68
32
72
39
74
49
54
34
36
78
79
35
61
26
40
53
73
24
47
21
21
33
48
33
28
40
32
27
62
26
70
67
37
66
48
34
43
22
49
42
32
57
29
65
27
68
76
30
63
63
70
56
62
77
27
55
59
56
28
47
39
65
43
25
43
67
80
78
75
23
29
69
71
79
42
49
48
63
54
42
68
68
70
31
76
51
39
79
57
34
47
57
52
41
20
48
72
80
71
78
67
64
49
61
45
20
35
78
36
33
62
50
57
45
76
69
77
66
62
71
75
56
61
40
45
54
66
48
77
50
80
44
47
23
41
40
21
23
28
24
64
49
73
38
21
60
44
54
36
68
25
62
62
40
21
24
25
54
72
61
75
80
33
24
68
32
55
34
20
60
51
79
29
58
55
59
41
78
73
76
54
35
76
61
65
25
25
62
42
68
55
54
68
65
72
40
63
62
72
21
50
21
25
67
25
56
70
74
38
30
61
61
30
49
40
47
24
79
22
75
59
26
67
60
40
36
42
45
69
73
51
76
51
25
36
36
29
58
27
73
50
25
75
63
45
59
38
57
28
58
35
75
54
21
95
96
185
70
216
168
155
230
141
125
83
212
75
192
119
176
107
168
110
208
117
160
157
247
178
231
191
204
240
144
195
170
220
82
112
200
231
169
161
81
113
78
139
193
182
162
112
232
140
161
113
109
146
97
189
71
239
174
180
153
240
126
144
226
77
104
238
103
243
204
78
121
132
200
170
134
135
113
102
81
249
213
226
151
248
97
202
230
242
152
98
124
72
236
220
242
226
141
188
194
235
75
249
114
244
222
193
220
211
203
209
194
81
226
202
72
134
188
170
239
125
195
89
79
131
85
96
122
86
208
242
89
153
172
104
104
203
196
165
134
153
133
193
210
92
127
156
110
155
84
148
103
110
210
195
144
234
132
200
220
225
96
227
124
146
122
224
121
210
231
98
212
91
206
194
195
222
168
194
198
187
185
202
186
186
227
92
110
239
112
129
147
95
73
88
200
162
188
94
189
212
76
221
209
174
114
214
197
195
191
76
122
139
248
100
89
222
120
176
136
163
130
99
106
84
138
89
190
137
192
224
146
194
80
201
143
185
141
126
245
223
206
238
174
106
171
126
158
133
201
117
236
87
110
177
97
92
168
96
187
158
230
88
165
224
248
224
70
214
147
121
118
212
124
136
140
238
194
117
181
205
149
111
79
239
75
128
130
95
100
147
128
111
132
190
162
117
214
139
146
212
108
118
192
113
245
212
123
72
133
204
118
143
223
178
165
104
76
103
123
195
238
121
163
233
226
144
177
172
230
188
111
248
150
168
107
116
188
231
70
159
80
92
144
239
187
206
194
131
89
115
131
245
141
124
197
159
78
94
75
232
235
106
106
116
98
140
119
171
117
106
232
116
237
207
140
120
196
101
234
84
127
146
72
123
167
245
237
111
190
149
166
139
131
96
172
202
217
162
215
176
202
214
249
239
80
105
168
247
128
194
164
82
235
211
232
242
183
250
202
132
192
218
145
245
232
184
198
102
249
239
231
237
88
114
70
129
156
243
125
127
231
227
70
84
209
238
225
226
135
212
70
171
242
94
83
137
236
130
205
221
226
163
226
162
139
187
186
111
184
235
236
236
211
207
194
170
147
158
153
245
166
86
81
204
220
238
247
173
168
193
163
88
217
181
231
220
191
162
132
72
158
198
79
229
153
122
143
98
121
198
169
224
186
170
131
212
188
96
234
92
234
98
164
188
150
171
192
175
198
207
75
112
132
89
199
198
232
153
213
108
94
113
79
171
112
240
103
215
246
106
78
186
229
174
135
217
232
98
74
75
157
109
180
168
240
174
193
74
202
87
194
120
89
219
244
174
111
204
213
237
212
176
84
113
184
209
76
120
220
170
242
147
205
177
94
78
115
228
140
105
116
138
148
97
244
143
242
176
231
234
97
224
242
203
145
233
226
206
189
228
205
107
161
123
196
249
77
141
154
87
212
172
134
242
247
127
78
250
227
217
95
160
141
222
193
170
75
155
204
221
224
182
110
175
202
198
218
188
196
195
198
99
246
120
197
188
125
152
104
180
107
77
193
124
248
138
227
117
149
163
171
186
166
232
217
130
173
169
109
104
179
246
113
120
196
215
198
231
93
162
153
187
193
134
205
227
188
116
218
148
219
153
89
100
238
243
80
223
213
113
194
154
76
218
249
170
179
202
78
75
247
236
114
124
241
196
242
192
228
207
189
231
185
190
194
229
113
133
127
230
142
179
95
244
88
79
174
118
135
112
208
244
247
231
231
235
119
227
121
121
106
163
110
210
164
206
86
221
96
169
178
98
196
149
190
86
229
111
165
108
177
196
248
155
241
87
124
112
90
157
73
165
72
126
236
229
77
193
244
243
236
122
77
130
195
129
167
92
208
121
171
179
110
117
170
181
82
107
71
81
117
128
99
242
104
193
240
226
140
80
245
247
247
105
140
107
76
102
124
187
230
123
233
157
128
182
83
116
162
145
144
191
135
124
119
141
166
232
192
214
75
212
139
178
109
128
91
185
165
91
217
128
196
236
194
132
129
100
195
147
161
119
172
86
121
250
243
120
125
122
230
132
228
192
97
79
221
143
176
194
104
136
247
151
147
173
139
153
246
140
120
226
141
152
104
207
169
156
174
215
109
201
140
86
167
127
222
122
233
141
166
154
99
72
197
140
237
238
231
73
89
140
158
107
100
82
150
204
107
81
138
78
229
168
225
146
213
171
76
108
110
190
73
233
113
94
117
158
202
92
114
151
107
208
226
201
95
101
161
139
201
198
70
178
144
109
73
177
87
154
121
213
101
213
244
222
70
137
209
201
189
200
139
220
171
222
131
157
207
230
219
216
90
186
160
208
116
227
194
167
83
115
74
175
161
196
80
82
102
222
192
242
233
247
159
107
202
206
160
127
102
90
82
137
163
225
88
94
81
153
151
224
80
212
222
124
247
175
128
184
218
228
208
111
166
224
178
79
226
239
180
239
207
103
104
193
194
220
238
141
243
76
207
137
171
152
227
127
214
173
229
215
128
179
155
158
139
132
222
213
152
158
77
233
137
224
160
246
110
97
159
143
178
241
156
246
110
107
241
74
180
201
193
203
235
83
123
169
241
130
73
147
204
81
188
85
172
151
93
240
78
83
173
177
249
182
250
88
138
177
226
119
125
225
88
177
240
118
72
204
199
192
197
124
171
108
137
186
189
103
114
162
183
218
207
137
74
100
200
129
205
143
170
117
121
239
149
79
81
108
70
147
76
168
147
189
231
84
173
249
148
128
156
71
137
201
84
155
175
77
142
109
145
176
235
217
119
84
75
137
137
80
112
97
104
205
161
186
241
114
149
229
190
116
226
145
95
223
109
245
77
95
123
158
141
215
186
84
249
249
199
249
243
230
160
215
123
134
209
226
193
147
249
203
214
188
167
246
239
173
97
145
226
152
104
104
173
214
146
109
157
183
191
167
151
160
74
192
226
118
247
174
210
89
110
111
152
116
189
96
75
158
216
99
147
233
149
188
97
232
81
125
208
227
142
205
128
203
189
194
183
143
217
106
185
99
220
186
227
146
242
205
70
124
235
150
237
101
183
113
71
155
243
186
90
107
155
98
123
230
193
99
177
138
173
99
148
82
188
245
117
104
93
208
121
127
129
97
148
150
79
207
243
78
141
86
156
117
223
167
202
213
245
116
248
177
219
194
239
198
180
130
220
184
76
143
191
85
240
74
72
170
79
223
145
150
106
139
245
216
95
185
153
97
194
75
94
87
81
156
103
89
241
126
101
96
169
195
147
123
195
94
158
211
129
187
226
210
166
219
175
222
139
74
135
242
227
123
89
179
171
107
125
133
137
77
74
128
178
160
144
203
243
190
70
126
168
83
204
132
114
71
131
125
221
118
178
126
144
121
247
119
204
232
238
160
215
113
196
161
172
102
231
113
246
134
105
172
239
222
91
183
183
167
108
217
82
244
194
78
98
250
221
248
212
130
190
131
208
216
75
117
132
170
185
231
121
95
227
104
94
241
209
149
241
241
143
73
79
104
219
192
80
240
124
175
189
85
182
246
72
214
229
167
144
245
239
104
236
190
206
100
73
201
91
96
207
244
161
118
156
226
235
84
129
145
161
152
219
94
88
175
175
221
104
131
172
130
199
79
179
227
119
141
170
168
200
218
182
225
185
208
157
172
72
100
94
226
226
74
111
237
186
248
106
236
116
179
248
143
108
248
106
105
151
242
198
219
72
115
216
78
167
246
223
184
221
85
204
218
203
151
143
85
77
86
220
183
189
117
198
214
94
187
123
245
248
70
167
70
232
139
112
236
196
181
231
219
80
93
202
149
131
120
110
145
120
182
193
214
145
92
197
122
171
225
157
96
178
130
184
222
195
106
139
117
164
162
124
121
170
70
222
125
161
148
244
70
224
239
207
194
230
155
237
237
184
146
245
151
165
160
204
244
99
172
176
72
77
95
165
217
218
133
185
164
240
152
139
206
247
186
147
83
151
114
200
116
130
224
203
129
137
192
238
107
145
207
210
199
175
109
182
131
122
220
146
115
161
200
195
119
211
109
228
185
142
129
130
206
220
197
226
221
125
156
133
210
219
233
170
187
227
248
147
245
186
240
149
156
170
78
224
133
212
124
86
127
226
98
201
245
121
199
77
111
165
145
239
121
212
187
217
160
93
194
93
157
97
237
221
125
199
209
97
232
117
174
92
214
236
149
194
141
78
132
107
98
128
244
132
118
235
234
137
181
136
215
143
106
208
125
147
152
71
102
101
237
228
130
159
76
224
108
131
116
110
250
134
92
224
181
201
199
153
98
87
151
244
163
135
160
92
101
103
107
146
154
98
170
88
104
93
131
180
96
182
178
97
160
163
70
111
239
200
101
190
101
249
136
249
93
85
110
107
185
206
157
238
188
98
93
183
107
95
76
203
105
83
223
123
96
213
87
122
212
145
130
200
139
120
150
217
71
172
173
217
173
82
103
147
116
161
248
107
175
139
146
203
158
224
96
203
112
96
168
145
178
79
249
160
224
241
184
86
83
154
138
102
97
206
84
243
146
211
152
147
234
189
153
112
118
76
159
102
147
201
205
188
176
225
232
126
247
156
234
192
156
194
139
169
217
227
220
163
224
242
96
203
77
118
202
185
225
151
229
160
156
162
145
130
88
169
239
184
213
95
77
121
225
224
93
207
146
148
194
202
159
150
231
77
211
220
162
174
111
109
217
185
108
248
140
114
82
118
85
88
90
98
180
93
137
121
162
137
237
192
140
219
123
85
246
199
148
229
128
237
133
158
232
212
165
161
151
120
114
176
131
230
186
190
145
216
221
93
130
216
144
130
244
109
165
128
232
189
189
151
201
139
244
225
206
99
112
81
228
185
181
199
162
246
98
143
119
169
146
147
121
151
185
173
196
137
189
227
185
176
237
204
133
138
122
189
205
230
158
242
249
92
151
239
151
112
164
211
193
132
218
134
237
196
104
128
138
97
86
191
116
166
159
96
72
193
213
165
100
164
83
237
96
240
214
164
192
151
106
114
232
163
237
173
94
123
154
186
232
71
235
81
199
139
108
202
134
176
165
225
110
242
233
119
92
169
151
229
85
158
210
141
117
233
119
141
86
126
94
116
143
184
165
195
143
196
198
110
87
178
109
98
141
228
179
130
156
91
201
235
228
219
74
214
167
197
71
207
90
141
189
238
176
90
91
225
190
175
231
92
235
174
242
129
96
248
98
123
211
118
102
212
164
208
221
234
80
144
210
236
214
234
154
170
210
193
140
200
85
127
152
178
202
227
180
71
234
144
220
88
236
212
86
97
88
175
150
169
105
212
134
160
199
198
246
238
120
248
195
124
102
246
117
201
155
72
227
248
98
99
136
154
163
243
171
92
196
200
112
150
214
172
214
127
76
100
155
91
152
82
160
228
185
155
143
108
96
80
150
216
197
199
177
91
227
108
101
152
224
160
245
130
174
247
185
169
180
165
141
95
204
204
222
118
221
226
119
231
84
227
232
154
201
194
107
79
249
107
239
177
172
93
201
230
143
145
90
133
98
167
183
245
189
197
122
128
142
120
91
181
198
190
187
99
243
130
80
121
101
131
109
91
165
176
167
198
103
178
152
213
247
118
143
104
121
188
181
119
150
102
222
80
192
210
193
196
153
245
237
178
172
107
157
226
202
132
191
124
172
100
150
223
107
185
227
184
236
110
80
211
130
216
100
116
222
158
119
111
130
96
200
213
236
247
136
118
155
157
92
119
198
140
88
130
130
248
200
151
118
138
175
219
127
217
95
116
203
125
185
70
72
155
249
125
224
142
125
85
250
215
202
151
223
136
186
191
142
156
164
151
99
97
136
95
175
131
201
205
127
232
70
134
250
234
93
157
70
77
145
150
224
226
250
116
73
140
99
197
231
178
195
104
106
80
147
221
123
98
99
130
90
93
138
99
239
243
199
115
179
177
116
160
90
246
244
92
175
243
228
91
241
221
202
104
226
95
239
182
232
233
240
173
244
236
246
226
150
203
182
102
229
195
101
114
130
123
164
170
106
178
199
76
182
160
115
134
167
133
200
101
119
168
97
184
140
95
167
88
102
136
203
199
214
179
202
131
218
136
77
112
73
229
158
81
201
150
98
185
186
129
153
245
243
76
116
245
119
79
211
172
105
135
146
205
233
214
192
136
105
227
250
174
132
140
141
111
182
245
165
218
159
97
183
97
91
76
92
183
89
240
112
106
101
223
86
119
214
208
83
234
200
78
235
127
118
108
81
204
207
165
151
146
167
88
217
91
191
212
81
202
202
197
152
136
115
166
171
244
209
246
170
116
196
119
71
174
215
140
77
201
178
195
214
182
170
241
197
72
141
117
143
107
169
237
76
135
210
143
181
102
155
233
138
216
79
236
204
178
241
166
82
179
110
206
116
153
112
173
126
189
231
235
119
182
208
144
138
117
136
234
177
79
163
204
135
211
84
114
210
138
111
239
77
72
83
131
170
238
231
237
96
162
249
218
148
186
183
198
229
242
138
114
138
104
208
239
187
177
222
190
127
182
71
239
139
205
175
90
96
223
171
208
228
249
213
90
86
138
106
231
168
121
226
86
136
230
129
181
167
250
168
202
216
105
184
84
169
89
141
70
116
222
250
203
220
116
161
224
250
82
74
150
232
108
192
171
232
242
86
180
240
231
151
166
226
229
90
73
243
93
160
147
157
198
229
222
200
204
122
147
104
105
121
211
174
187
143
81
83
153
225
243
152
141
186
197
171
82
184
90
192
119
129
212
75
200
186
94
177
169
111
118
215
210
98
243
74
145
159
107
139
138
73
249
200
96
239
195
106
197
187
179
206
214
250
94
144
122
227
137
127
194
154
213
133
174
241
150
129
213
163
224
107
139
103
247
103
201
236
190
203
225
130
244
76
212
130
146
239
158
189
72
199
227
246
186
178
206
209
74
105
233
166
111
177
174
173
216
197
92
203
106
90
202
169
106
183
93
143
161
164
182
229
185
191
100
244
170
244
184
220
86
100
183
243
153
201
88
205
98
220
229
245
160
142
178
102
178
185
146
211
74
77
207
208
79
120
92
134
79
233
74
174
210
78
95
94
201
103
188
84
213
97
234
192
95
221
214
95
134
231
83
72
201
184
195
107
221
99
98
173
236
90
190
143
119
112
185
122
186
162
151
203
107
126
93
184
238
109
179
175
135
82
246
195
85
248
102
197
106
176
207
192
188
201
122
135
101
157
75
141
198
185
98
177
190
115
175
146
128
234
153
193
189
172
151
235
107
109
245
114
171
168
183
139
175
104
97
224
204
101
85
201
149
92
243
227
147
151
125
143
245
170
162
130
247
209
74
161
95
74
222
168
80
126
200
90
151
117
138
128
181
103
178
198
89
186
219
132
218
111
164
157
90
90
88
222
90
122
86
224
73
149
147
190
115
235
225
87
83
101
86
141
95
209
163
80
91
246
237
210
126
70
94
182
85
158
124
172
234
237
169
85
154
112
249
203
163
223
161
223
92
131
223
102
147
185
96
188
159
130
113
166
78
82
197
157
162
92
235
182
153
158
202
213
171
208
188
80
149
191
121
247
89
92
103
199
108
221
103
192
97
244
123
95
147
158
111
187
196
246
104
100
170
239
176
141
147
77
199
220
166
234
198
236
249
193
91
77
137
187
74
114
236
162
120
116
142
192
150
104
106
222
165
85
244
238
159
105
183
105
93
86
83
80
146
137
153
188
184
138
196
159
203
161
201
211
247
233
77
174
209
98
128
203
151
147
190
103
191
93
108
103
203
239
112
124
124
169
144
127
207
105
140
183
220
82
170
237
165
154
215
171
247
200
221
189
201
220
116
148
89
250
202
222
198
237
213
238
216
134
248
182
243
117
127
164
94
240
78
231
175
172
229
235
250
105
223
179
236
108
239
202
240
179
243
190
238
228
122
240
185
171
126
163
154
188
226
205
99
110
166
217
249
101
147
114
92
201
104
197
118
138
204
162
249
154
182
204
85
135
81
102
158
102
227
139
237
178
212
202
111
180
98
85
177
181
245
179
237
94
160
212
192
245
143
197
193
119
185
131
237
233
93
80
209
106
189
235
183
197
168
246
109
128
140
183
139
207
228
159
157
238
151
88
194
244
109
116
201
210
198
98
246
191
212
86
74
172
145
131
107
210
217
74
185
132
227
177
77
115
107
93
158
167
127
123
214
198
211
198
164
196
133
168
129
181
75
250
193
167
195
114
217
218
178
169
122
200
248
194
216
89
176
85
189
158
178
195
103
98
94
234
76
173
233
215
147
84
190
240
104
125
225
216
85
152
102
213
96
220
124
153
151
216
186
235
127
124
248
92
110
139
137
210
176
153
201
173
155
124
165
74
179
112
221
179
136
114
139
112
224
245
120
155
154
248
95
131
88
121
120
237
172
180
132
169
136
149
213
122
88
203
162
113
224
144
186
141
250
193
221
243
190
237
133
147
97
229
209
199
246
224
234
206
145
212
151
125
190
138
127
86
161
118
147
184
128
110
239
94
181
230
77
81
200
193
154
112
195
235
225
90
156
84
170
134
104
83
180
158
205
191
112
163
86
234
144
99
117
159
72
241
97
213
82
70
156
115
98
80
187
195
238
134
110
81
206
102
209
181
128
191
173
164
163
176
160
213
121
120
105
241
186
241
237
184
100
205
201
166
87
107
209
173
247
169
233
170
237
145
232
79
104
191
244
134
111
71
193
208
200
161
245
92
189
156
169
116
113
125
219
81
239
153
105
70
241
238
157
149
173
205
75
115
129
96
158
228
193
141
90
211
125
80
218
175
134
148
249
179
191
218
162
224
220
82
182
84
169
133
162
182
156
147
86
194
248
105
205
249
97
177
168
219
87
81
179
152
129
191
239
143
81
231
90
77
130
225
247
70
197
104
105
185
209
120
106
82
127
93
175
236
166
202
225
84
177
225
114
83
184
75
82
134
172
189
70
151
216
89
105
111
172
106
219
125
247
103
148
87
70
194
207
234
133
218
120
245
80
202
249
215
152
244
121
150
190
171
90
197
103
138
77
184
167
152
86
128
74
121
247
248
134
109
191
183
114
212
211
162
162
82
147
105
188
143
236
236
214
152
161
136
230
249
80
197
209
236
198
226
74
145
112
132
101
165
234
163
74
73
117
108
237
245
228
164
163
87
109
122
195
224
141
184
243
118
74
137
127
72
181
93
128
184
146
141
232
138
82
129
220
224
217
233
78
184
190
212
231
213
220
127
161
176
162
86
151
87
187
237
151
177
190
205
193
143
214
189
249
218
206
75
138
216
77
133
100
174
216
239
102
193
204
94
162
233
212
119
96
216
138
80
112
159
215
83
198
108
129
165
133
207
243
165
211
165
100
177
212
241
207
207
168
249
114
80
110
166
217
172
166
170
221
218
193
227
174
172
217
113
174
130
209
161
220
132
122
175
225
243
225
174
240
145
174
96
128
231
181
202
108
247
116
76
87
139
114
179
139
225
200
242
225
190
145
163
142
199
132
150
196
182
165
169
134
122
109
159
105
191
89
220
111
226
161
210
97
157
141
147
239
237
204
213
151
224
238
242
152
103
174
126
213
165
246
187
220
239
222
230
215
128
106
112
196
130
206
108
118
127
90
148
199
189
167
226
150
236
122
130
190
204
150
225
108
147
228
234
104
249
162
184
187
89
250
172
158
206
99
136
92
193
99
179
207
130
170
168
218
114
147
152
232
120
172
76
87
242
79
199
215
165
217
194
165
106
246
153
164
120
207
121
234
171
209
171
218
248
250
82
172
129
70
249
237
224
247
194
105
112
212
140
187
105
244
71
84
238
98
248
88
83
137
115
230
178
88
236
247
173
208
148
141
142
244
186
124
162
149
187
83
241
218
95
181
185
74
166
111
101
227
76
85
228
73
214
186
82
235
230
94
170
87
200
103
162
115
144
206
171
114
204
73
217
233
212
246
207
144
75
164
73
167
79
177
160
248
71
192
163
188
95
210
206
99
248
239
190
78
159
162
235
89
243
167
240
219
120
106
192
94
97
143
141
149
135
96
131
78
232
110
145
182
103
134
75
184
228
99
206
156
116
98
98
136
166
108
111
111
221
70
200
181
137
78
153
110
77
150
89
240
167
106
223
119
242
250
222
127
212
195
170
219
78
231
102
149
215
97
102
105
177
203
123
174
115
199
215
100
117
158
171
214
247
158
127
129
178
86
90
155
161
107
107
147
174
190
145
80
220
75
71
209
202
145
170
231
120
179
78
234
223
215
238
187
144
156
119
200
113
131
191
110
132
202
148
118
130
247
247
109
160
176
212
118
177
80
156
164
112
111
197
243
72
152
218
159
197
197
152
151
235
183
140
194
249
172
187
240
247
215
78
81
89
75
125
246
135
233
250
250
240
186
145
111
79
79
235
230
72
218
171
131
110
210
168
231
154
184
156
147
113
135
152
191
229
130
190
75
121
190
102
144
203
247
157
128
92
242
176
199
182
214
117
245
110
142
134
108
228
219
88
164
120
242
137
154
240
196
248
202
225
125
80
105
157
174
127
242
106
213
238
104
122
154
153
217
83
183
74
139
106
240
175
146
199
100
241
197
129
163
210
130
221
228
127
194
246
90
247
147
175
238
144
209
168
217
123
178
122
142
225
165
115
90
125
78
84
228
83
207
85
223
115
119
131
201
201
71
73
218
235
135
211
111
113
193
105
130
182
122
126
186
143
187
81
179
120
89
106
194
124
188
242
124
155
203
96
148
242
159
98
134
200
241
188
147
112
200
73
138
142
147
110
151
78
127
163
149
77
109
90
224
223
132
108
114
101
191
201
169
83
131
236
190
129
74
210
196
216
114
154
149
118
153
222
227
82
221
224
135
122
95
221
193
101
220
99
201
125
113
225
159
77
124
163
166
196
93
249
119
112
137
196
165
229
106
207
132
154
95
97
244
131
91
150
199
194
142
233
156
175
166
236
238
199
142
97
190
136
191
220
164
112
169
90
217
98
117
160
75
141
98
132
125
156
148
177
178
205
138
152
209
175
176
103
100
144
117
147
145
245
185
148
191
238
76
127
171
239
84
236
126
118
105
133
99
75
106
145
236
208
193
214
107
166
140
102
137
103
241
104
77
75
206
72
114
142
227
124
201
175
239
210
103
107
116
242
225
149
245
177
104
102
112
72
180
194
73
107
221
126
151
146
238
70
247
235
230
241
243
189
208
225
173
172
77
236
181
215
121
228
236
98
157
194
87
246
108
220
79
241
168
115
206
231
214
106
198
121
92
211
155
242
134
218
220
197
190
150
100
123
246
191
102
193
202
88
187
106
176
104
203
215
212
97
211
213
158
164
212
201
142
123
85
212
198
245
182
194
235
138
243
86
130
116
169
248
239
151
181
157
172
202
174
233
99
246
205
124
115
114
97
87
107
138
193
180
117
139
88
71
76
171
214
159
157
199
203
126
230
228
243
86
196
234
122
211
235
191
219
224
135
197
99
247
169
110
146
248
197
227
125
101
151
172
194
161
119
244
220
132
178
117
152
225
173
143
212
107
149
108
154
233
73
183
139
236
180
84
75
190
209
103
158
211
164
111
162
91
178
121
221
234
176
111
118
78
127
218
162
119
149
160
204
73
188
202
117
76
204
146
146
240
141
131
87
247
88
167
192
238
194
117
190
191
107
127
234
211
94
171
197
171
210
155
143
232
219
206
232
194
199
232
159
244
194
154
128
97
236
249
162
79
244
70
190
178
180
222
234
191
229
241
149
93
245
179
130
194
162
212
197
249
144
112
194
239
249
109
147
181
194
144
244
74
136
224
98
100
133
233
121
178
144
212
166
70
74
97
104
117
81
153
79
96
213
115
247
239
152
123
204
70
154
231
212
122
226
227
166
220
152
114
99
248
212
232
197
241
91
185
81
147
162
204
79
113
165
123
189
75
134
134
186
82
186
112
74
200
240
105
206
155
72
111
212
91
157
201
98
147
138
205
200
200
139
100
238
159
156
117
114
195
203
112
80
118
220
206
214
73
248
229
75
119
141
83
103
183
193
158
238
209
158
247
233
238
200
241
244
238
205
191
227
163
123
182
104
153
139
110
92
116
172
239
84
196
120
85
221
217
210
200
180
219
214
92
141
123
217
218
205
139
89
113
86
183
194
85
148
130
137
150
88
200
156
235
226
188
247
144
90
237
110
89
84
247
202
147
189
106
184
218
241
225
197
225
77
240
109
243
183
115
132
116
240
71
103
97
124
124
114
185
243
247
160
224
150
166
216
108
207
170
103
201
218
154
223
243
212
190
99
128
210
205
237
182
216
151
159
213
153
235
165
156
196
191
196
181
196
183
138
188
98
213
90
87
100
102
120
140
77
188
130
78
208
99
70
237
205
184
221
174
88
121
179
73
134
165
116
100
79
87
81
146
248
78
110
138
139
167
228
131
112
190
70
168
186
89
81
212
168
118
138
74
106
241
105
134
82
180
199
156
118
143
228
212
74
134
182
246
148
84
146
231
205
181
137
97
154
200
182
223
71
112
115
225
149
151
231
143
102
170
100
82
72
220
135
163
91
90
200
70
212
237
134
218
92
221
144
103
100
122
247
247
169
96
166
152
179
236
200
97
146
132
234
116
212
182
225
219
148
151
211
136
221
199
247
117
121
247
167
85
131
142
189
215
201
104
241
211
100
142
160
185
236
226
227
129
132
171
107
231
116
94
115
110
240
207
106
126
90
232
241
192
137
245
93
201
222
188
121
110
99
180
214
123
100
168
230
77
230
101
158
91
79
73
135
236
92
152
196
221
166
113
112
111
220
85
194
246
240
74
172
229
89
232
191
188
75
205
137
85
190
132
111
95
99
198
200
196
72
109
211
236
92
137
179
154
166
180
100
198
104
213
184
132
209
110
180
109
169
117
128
213
189
180
216
216
231
233
103
177
112
79
241
111
187
104
167
220
245
162
164
198
134
90
182
241
229
174
147
156
174
207
194
202
176
203
185
175
131
178
132
80
125
250
190
200
169
241
90
230
204
111
198
187
75
109
204
129
237
139
237
204
174
220
248
176
94
151
146
171
197
240
135
199
105
176
153
235
240
84
205
130
109
195
146
88
226
226
203
102
105
127
105
130
231
191
93
84
172
102
170
197
92
161
234
232
136
219
136
89
79
223
217
176
130
77
231
213
82
248
70
129
113
163
124
180
218
117
187
141
109
122
82
125
219
233
131
245
225
179
111
229
165
249
147
108
208
235
239
148
103
161
173
113
183
145
136
209
96
85
161
87
201
215
164
107
170
232
214
147
112
192
126
99
78
190
92
212
171
122
208
195
172
240
207
136
75
146
80
172
191
174
140
134
212
100
170
209
93
118
237
181
150
174
84
160
147
210
156
91
115
222
89
71
88
152
212
242
134
123
238
98
73
206
195
113
215
146
181
210
224
175
222
111
70
73
176
176
81
151
204
208
147
119
196
218
186
110
173
81
235
101
177
178
183
241
210
218
104
196
107
72
175
143
210
135
118
120
189
141
194
158
70
99
139
70
177
140
157
169
114
102
136
100
122
173
118
197
114
151
213
224
107
188
85
206
153
82
197
213
229
183
176
84
215
233
115
84
187
186
114
218
222
235
233
74
214
219
187
119
116
178
162
198
130
169
174
171
233
101
185
138
247
117
136
209
188
178
132
180
231
151
126
179
101
125
164
83
119
145
231
142
172
128
180
162
227
202
89
88
108
152
199
248
98
123
95
234
129
171
129
133
144
153
144
80
170
173
163
88
234
89
91
153
212
160
179
213
248
193
92
134
134
157
191
157
83
189
187
156
191
227
81
240
144
147
202
149
194
102
217
73
149
175
213
199
110
108
74
158
233
166
181
239
99
192
95
195
199
170
223
192
197
127
161
220
177
98
113
103
159
200
106
137
111
226
214
116
164
221
142
250
226
149
133
85
141
203
143
218
100
99
202
117
133
115
247
208
88
174
81
72
200
101
127
139
201
244
196
206
86
101
172
167
144
112
176
236
209
208
247
158
194
189
151
231
126
219
216
222
179
244
71
187
169
102
118
205
143
104
97
157
131
88
152
214
89
88
230
110
91
224
124
132
129
182
214
250
225
120
80
186
132
81
170
118
200
78
193
176
187
218
196
161
184
165
94
88
182
105
106
129
161
172
80
242
151
136
224
103
208
124
112
172
218
243
139
180
166
74
243
129
195
249
227
72
80
103
79
214
157
155
185
109
112
249
237
219
169
240
134
86
233
158
121
156
250
70
235
130
220
229
199
225
125
217
120
176
152
210
213
129
216
213
111
189
246
247
100
161
98
214
159
224
212
203
183
100
233
126
233
110
175
112
101
211
83
178
121
169
215
157
197
182
162
167
229
192
144
214
247
234
242
153
80
186
187
154
151
172
130
223
88
171
163
222
118
104
84
153
191
78
160
151
250
119
83
193
102
198
194
165
203
221
70
149
203
134
119
89
189
249
202
209
205
143
237
225
208
176
195
191
144
174
107
112
199
158
140
167
214
231
220
152
186
161
176
95
101
76
183
196
129
74
79
124
174
217
189
185
80
189
244
191
179
122
166
81
98
183
228
231
158
190
80
73
250
234
79
218
222
172
213
131
136
238
231
186
175
191
107
229
177
216
229
133
74
161
99
213
100
193
126
229
234
199
165
159
129
211
185
84
100
228
231
111
220
141
129
158
96
230
101
105
206
133
114
177
155
118
176
228
121
94
220
136
121
95
144
168
163
194
200
115
206
228
159
95
103
203
127
229
92
135
240
125
249
205
108
122
110
250
134
147
83
111
88
79
127
236
108
146
131
108
208
176
225
118
211
132
131
234
248
78
182
96
235
186
166
147
100
218
109
175
170
201
174
189
161
115
233
188
84
224
223
157
137
190
112
219
142
161
157
123
198
170
154
120
179
101
179
133
108
103
98
106
177
210
189
226
235
84
204
221
202
162
178
183
147
242
232
72
84
99
173
230
74
95
241
73
220
162
144
180
107
243
134
70
182
171
128
229
192
116
146
161
244
187
149
111
151
189
223
95
229
152
220
169
215
171
205
206
217
206
84
153
234
98
85
101
179
216
234
73
189
215
117
237
121
94
170
231
235
74
175
207
219
202
128
218
227
199
230
206
202
139
104
92
149
218
94
183
76
245
242
232
175
85
231
123
84
192
211
190
236
192
151
248
125
73
75
168
179
186
98
140
188
186
182
102
172
182
105
120
114
176
214
226
188
191
249
183
237
96
117
153
76
240
83
100
197
183
146
229
117
214
187
184
193
203
213
239
132
128
96
135
171
182
90
142
185
205
187
172
152
175
153
76
100
191
146
228
224
110
124
208
125
105
184
96
196
80
168
209
95
137
136
98
179
240
136
145
172
96
142
112
213
103
75
173
154
151
173
89
109
217
128
100
98
152
209
103
74
237
100
77
190
126
234
116
112
117
200
164
109
165
215
75
170
181
88
206
79
178
222
117
124
181
227
205
112
151
194
147
248
125
168
206
170
213
248
181
107
174
164
182
224
123
158
246
93
125
90
107
238
150
176
73
202
106
124
195
227
142
229
220
168
112
126
102
137
167
89
90
104
98
97
76
155
71
211
127
209
89
191
236
122
213
161
126
96
123
114
196
210
208
87
215
222
161
225
210
99
151
191
120
157
144
71
192
96
223
128
112
227
86
207
158
144
122
163
172
138
165
191
126
214
203
148
93
104
191
145
74
110
119
240
132
190
101
134
202
90
177
245
74
87
96
87
225
182
102
206
93
85
138
163
231
227
142
122
108
78
247
70
172
90
117
224
173
125
238
232
190
118
208
222
97
78
173
201
220
206
220
116
102
169
217
226
223
222
193
92
160
247
118
199
225
162
167
128
172
175
175
94
98
225
84
191
145
81
102
155
210
209
88
235
190
221
82
237
76
187
142
102
106
170
149
178
228
248
138
191
127
95
136
200
207
114
124
202
117
119
94
200
205
146
229
104
114
128
230
158
139
114
107
70
201
182
184
169
89
81
127
95
220
216
145
250
221
127
121
237
249
149
215
105
184
186
168
230
115
164
220
82
143
127
167
146
124
122
188
200
183
115
131
132
163
220
95
136
180
238
146
234
162
198
88
161
179
241
162
219
125
198
189
241
97
127
154
179
82
242
199
155
79
222
137
129
248
125
134
187
118
147
189
110
231
77
249
201
245
162
110
78
167
208
222
249
173
243
182
174
113
153
79
182
141
121
246
123
237
154
240
208
200
78
102
103
182
115
202
185
93
238
227
82
179
85
153
112
160
193
77
112
238
145
93
210
172
156
236
81
173
152
155
129
126
197
81
159
80
184
133
205
169
123
220
228
141
83
229
96
78
194
105
84
80
73
98
236
182
98
201
95
113
155
146
213
120
139
132
75
240
81
227
230
82
180
234
154
98
243
128
250
250
236
128
142
100
206
226
114
151
203
107
138
156
220
219
212
189
129
249
133
150
144
232
186
230
86
73
88
121
212
241
72
146
120
224
167
113
236
200
224
190
164
91
131
184
215
145
78
71
170
247
79
120
206
92
183
148
203
226
192
232
95
224
159
115
225
155
215
154
201
96
108
185
127
179
194
96
190
71
122
178
103
214
136
206
237
105
185
212
191
84
209
203
75
171
165
216
142
236
77
138
209
150
209
191
99
107
207
195
82
245
237
248
91
124
222
229
249
152
166
127
165
165
92
138
130
98
244
206
149
157
192
106
91
242
140
84
166
138
90
136
228
130
148
169
214
170
244
208
161
133
123
166
214
113
162
227
136
160
245
178
168
159
187
201
94
184
214
96
167
73
104
193
99
102
211
175
228
167
109
126
247
249
130
234
250
231
102
145
76
134
93
148
168
126
146
203
168
100
195
105
134
230
112
124
143
131
91
84
167
75
125
131
73
239
172
78
86
240
208
215
131
113
206
108
110
193
159
182
98
235
150
133
150
199
147
171
87
201
116
171
133
44
24
64
44
21
49
50
79
33
49
68
62
34
60
68
67
57
60
44
69
43
21
39
55
24
72
30
30
38
24
39
60
72
48
29
22
76
67
53
24
31
63
76
73
79
21
24
69
52
74
56
26
21
32
62
79
39
79
41
69
23
30
80
70
52
73
67
49
61
46
45
24
40
54
36
36
31
73
24
33
23
76
35
45
37
22
22
65
33
25
54
60
74
34
57
59
42
53
47
21
58
70
70
59
50
48
20
25
45
73
69
60
41
71
34
37
29
26
30
30
71
73
27
49
43
76
37
74
74
38
52
61
36
74
74
56
40
60
54
36
24
43
62
48
22
67
30
77
24
65
42
58
45
52
35
22
76
28
57
66
52
53
24
65
35
40
37
38
69
80
52
47
31
42
40
52
37
59
23
77
50
27
29
76
37
33
22
36
52
35
24
39
71
70
25
51
20
22
59
80
21
76
58
78
51
39
26
70
50
78
56
51
58
26
38
24
67
26
34
29
25
25
49
34
60
47
56
40
48
41
66
54
27
69
24
64
76
53
37
30
30
30
75
36
68
40
63
30
31
59
53
25
51
53
22
80
23
58
49
54
61
40
71
54
30
73
64
26
25
37
49
65
24
38
51
65
26
67
44
63
20
75
80
69
48
75
31
75
32
77
55
76
60
71
80
32
36
53
72
37
80
63
34
29
24
65
65
60
79
67
45
23
33
21
41
55
26
79
41
29
22
60
43
58
66
71
59
28
64
68
64
26
42
31
79
58
80
57
78
56
54
53
29
27
47
55
66
60
22
67
40
79
66
38
69
24
50
33
69
80
40
43
46
34
55
60
35
30
73
35
44
40
37
23
22
39
59
34
60
57
66
76
57
59
29
52
67
28
76
24
67
44
61
50
78
54
39
49
37
20
71
26
41
26
36
39
24
79
41
32
59
26
73
71
43
57
78
26
75
36
50
44
52
37
62
29
48
40
35
23
64
48
76
74
76
80
63
43
61
57
62
30
68
34
79
53
43
57
75
55
69
20
35
31
40
43
33
68
44
33
25
26
73
53
56
32
73
50
44
45
29
79
66
67
68
28
46
29
50
63
50
77
63
37
59
33
40
21
57
79
45
31
45
65
75
70
44
33
43
32
76
46
62
67
73
60
46
74
66
24
37
55
22
77
41
35
68
71
31
20
55
26
52
46
56
76
62
26
26
78
60
58
31
51
73
34
20
31
48
29
69
24
77
47
23
30
66
67
29
63
63
31
26
32
50
80
68
29
66
34
28
65
40
32
65
37
69
42
49
50
25
51
44
54
55
37
77
40
72
69
62
47
65
61
37
72
50
39
40
39
45
65
35
76
34
34
76
25
61
24
50
52
33
26
33
38
65
21
29
66
69
59
63
41
61
72
53
25
40
69
48
57
49
71
77
26
49
37
36
37
76
73
71
31
45
65
70
23
33
60
52
43
68
22
66
73
48
47
68
41
78
27
71
71
76
76
51
50
76
39
66
38
79
50
22
37
35
28
77
46
28
40
36
73
30
53
48
38
38
58
59
65
68
44
71
64
35
56
45
63
30
52
29
77
40
33
73
27
67
76
23
35
41
61
68
36
70
66
53
79
57
72
76
80
47
47
55
63
60
37
22
70
80
47
74
40
53
76
75
47
29
57
22
62
34
64
54
69
38
31
44
73
72
52
22
72
58
49
56
56
77
32
42
70
28
34
61
78
46
75
35
35
42
48
27
74
47
41
59
24
21
54
24
79
60
30
54
33
78
47
42
52
38
20
25
32
34
28
46
51
68
57
25
65
44
79
33
59
47
43
25
56
34
22
21
52
55
63
25
57
46
42
46
43
66
65
49
32
71
63
41
22
23
64
78
40
23
63
29
41
68
62
47
49
80
68
68
32
35
25
69
55
41
35
40
74
68
53
40
75
24
80
35
48
78
53
34
73
43
59
49
22
32
47
53
72
77
53
71
48
50
32
58
36
37
44
32
45
76
60
62
34
42
59
54
64
30
59
57
55
33
46
36
70
51
48
74
20
32
31
35
52
44
78
76
74
31
24
33
64
33
21
37
57
79
45
43
28
32
64
78
54
57
67
31
37
40
35
38
48
78
68
36
57
42
56
74
44
60
55
56
68
45
43
25
57
62
67
49
49
22
62
74
71
63
52
72
33
41
36
55
68
28
51
33
69
47
50
49
34
63
55
47
34
72
74
43
35
80
48
45
35
30
24
70
78
59
54
48
51
69
37
32
46
65
67
72
31
53
74
75
28
20
80
38
46
49
39
25
39
59
46
58
50
28
70
68
36
65
61
42
33
46
48
64
74
52
41
35
58
52
27
21
79
21
30
44
34
80
46
53
40
63
60
24
27
75
72
62
57
58
51
41
74
29
65
73
48
29
80
29
64
66
23
64
59
65
45
61
62
56
44
47
42
20
37
58
57
39
62
35
58
67
79
57
23
77
79
73
76
53
68
68
55
34
60
57
21
23
23
46
20
71
36
41
76
79
72
60
26
45
43
54
68
23
75
42
66
23
39
34
76
75
70
31
57
27
79
63
31
69
61
75
53
71
31
46
20
62
56
29
28
43
63
34
70
50
47
52
62
36
41
60
42
23
23
70
27
26
44
37
52
49
71
36
48
55
78
50
79
73
78
45
51
57
54
22
60
32
38
50
80
73
53
65
41
28
24
28
24
73
79
62
65
60
41
62
20
72
41
59
29
61
30
34
20
62
59
43
31
49
80
47
61
48
50
42
42
65
38
78
60
54
29
50
43
80
52
73
38
33
56
73
32
46
78
39
25
66
54
28
46
25
67
58
21
45
23
30
55
54
30
74
69
42
69
47
25
73
31
43
41
39
67
47
55
35
55
48
44
53
67
34
34
51
62
79
33
36
72
65
76
46
39
77
57
27
36
71
78
79
76
72
25
49
35
34
46
60
53
28
61
57
41
66
53
68
44
72
32
22
54
64
79
49
24
62
75
69
21
61
29
24
60
61
66
65
23
65
60
23
27
38
74
59
46
63
53
20
65
34
73
69
27
58
59
35
30
76
47
40
40
33
43
74
65
52
36
74
54
32
51
26
28
36
79
67
48
44
77
42
49
69
20
64
29
68
63
58
34
62
49
34
30
50
52
49
42
63
32
22
58
33
42
21
79
31
24
68
31
41
78
36
66
57
21
47
39
68
24
71
74
76
61
35
55
70
43
25
33
27
45
47
37
66
67
74
50
77
27
65
41
68
26
42
39
61
36
38
53
24
23
28
50
53
57
37
26
54
45
80
68
72
36
48
29
36
79
63
31
71
71
27
42
75
35
32
71
23
35
53
51
38
37
51
42
20
73
27
52
24
57
70
75
71
23
76
78
51
61
51
65
22
40
46
41
54
46
53
24
78
35
28
20
44
51
54
25
26
80
35
20
47
41
55
55
68
33
72
70
38
26
35
20
44
78
65
37
55
31
38
69
23
73
45
24
60
40
61
66
71
64
72
34
60
45
43
41
36
31
43
29
26
44
62
22
26
63
28
72
67
37
43
63
36
28
56
66
66
43
71
56
80
70
59
78
61
26
55
29
30
39
72
62
50
46
43
51
77
29
33
69
48
47
53
31
55
45
75
29
31
71
63
49
71
29
73
78
62
35
26
28
31
74
49
43
41
61
27
59
36
59
78
44
59
35
77
76
24
75
63
22
27
46
33
76
22
50
43
70
44
48
74
36
69
42
25
64
30
68
62
29
35
78
23
43
68
58
35
50
32
79
40
26
66
41
50
62
71
33
54
53
46
43
40
33
25
73
26
44
68
25
48
46
50
62
78
71
30
35
40
71
51
79
59
44
57
71
31
30
31
46
46
68
24
21
33
52
41
76
30
53
58
65
60
54
46
62
31
65
62
23
78
40
31
76
39
74
57
22
43
31
79
34
76
22
56
36
48
30
27
30
53
70
71
20
75
79
23
29
52
39
64
71
52
32
31
78
39
59
32
76
59
61
69
70
73
42
37
24
48
61
47
56
34
39
45
72
51
62
78
31
47
21
21
70
45
50
42
26
55
51
25
76
61
73
48
63
34
80
26
40
80
50
41
56
31
62
30
80
49
33
24
67
42
53
60
41
70
22
21
38
76
37
74
59
47
77
51
53
51
67
61
37
76
56
45
54
67
38
36
29
69
78
77
21
25
38
39
64
45
31
46
54
54
48
78
67
50
64
64
52
63
27
39
39
54
70
70
50
64
25
22
56
40
50
22
33
27
69
30
22
62
59
72
33
49
47
45
64
74
54
59
66
80
22
38
58
59
36
41
67
24
75
33
36
75
36
38
21
41
69
62
25
68
22
61
62
54
29
62
27
44
38
76
67
70
58
74
26
76
37
74
34
66
45
56
69
80
22
30
25
34
28
54
38
34
45
54
24
46
40
46
26
35
33
76
70
52
50
72
32
51
62
74
42
31
43
62
32
59
79
30
50
63
42
58
74
22
47
40
28
35
34
57
35
29
54
80
24
49
75
72
77
80
56
35
69
27
47
32
72
20
34
21
31
49
37
32
75
80
70
47
46
31
21
34
70
75
59
78
79
73
61
21
77
71
35
38
75
32
61
52
44
79
40
74
21
67
66
22
52
63
50
40
67
62
30
20
37
40
50
43
36
20
64
55
45
74
56
31
49
40
35
69
63
68
22
65
48
79
24
75
27
48
39
44
54
56
25
77
70
44
49
24
35
21
69
55
52
35
33
31
74
51
20
25
36
42
24
46
42
40
27
74
75
65
35
61
63
74
56
53
79
35
80
29
65
39
28
71
54
80
34
56
41
23
37
28
67
53
28
77
49
60
34
74
21
79
22
42
39
59
43
32
57
34
43
58
28
40
74
73
31
40
36
56
80
79
27
42
44
55
76
50
38
32
26
40
34
68
74
20
32
80
57
29
23
46
27
46
36
26
46
68
75
67
23
47
74
56
51
34
53
26
51
66
37
40
69
79
41
21
77
45
62
71
48
45
77
70
70
73
45
24
27
66
50
57
27
69
46
67
54
77
28
32
46
72
61
50
51
50
24
78
64
34
58
57
51
54
70
54
49
60
27
67
27
20
52
33
37
53
62
24
46
53
24
54
48
55
63
23
79
60
36
29
55
43
61
24
54
41
69
67
31
38
74
60
69
37
24
25
75
40
39
32
73
36
72
32
26
43
31
39
53
39
31
63
56
23
54
22
75
30
55
74
41
28
25
72
22
43
31
43
39
23
79
31
23
43
69
46
43
46
55
36
41
47
76
49
77
61
74
64
21
44
71
39
55
56
42
30
21
54
63
34
65
67
78
34
27
42
45
49
54
55
49
79
23
48
59
64
57
38
55
73
36
54
29
41
58
31
55
68
32
40
34
66
60
50
23
46
80
32
26
31
50
49
63
30
22
59
32
52
47
23
40
61
35
38
55
70
20
70
26
49
50
34
67
54
35
68
37
31
76
46
37
55
50
49
62
68
22
40
52
78
67
73
42
67
46
45
45
71
50
59
51
41
73
58
73
27
56
77
32
56
53
21
67
42
71
54
33
65
69
70
44
56
70
51
29
51
74
38
53
38
20
42
76
80
24
63
47
58
27
73
31
52
26
39
41
31
73
34
71
40
25
62
21
34
58
67
58
45
73
75
67
41
33
22
51
48
48
53
27
63
29
23
22
33
62
52
77
27
80
55
56
37
79
67
74
62
80
75
40
38
32
69
61
63
76
38
64
53
60
41
29
53
47
55
64
40
52
30
71
65
77
76
34
31
43
68
41
58
75
32
25
34
29
67
61
33
63
32
64
58
61
62
67
21
49
56
32
78
32
57
46
40
74
77
72
46
74
62
75
76
67
79
38
23
20
62
54
61
58
37
52
35
76
69
56
22
55
22
61
35
73
20
26
77
35
33
73
21
54
30
62
70
34
55
39
26
54
61
28
38
37
43
29
71
35
36
66
26
26
31
76
22
54
53
55
34
69
34
69
51
58
38
21
46
31
70
75
38
76
72
48
57
61
66
78
47
25
38
54
78
37
30
63
79
52
31
56
53
75
31
77
59
57
50
23
45
54
49
23
45
28
27
27
45
43
64
45
65
30
66
72
42
34
69
58
67
35
50
65
49
76
51
20
61
50
22
33
66
75
25
73
59
67
57
80
57
78
75
42
50
42
63
61
35
51
49
75
22
30
27
62
64
51
74
78
78
55
46
41
57
24
78
64
54
54
22
36
28
37
57
76
67
55
43
79
66
75
60
55
71
50
51
76
59
49
72
32
41
73
22
24
61
52
42
59
41
37
27
75
47
27
25
38
59
31
27
34
58
63
23
71
39
77
67
53
69
38
44
54
73
59
63
29
33
61
29
68
24
29
54
27
44
67
80
69
41
64
53
32
58
45
59
43
73
57
38
48
46
35
67
30
33
46
55
79
68
27
36
28
67
66
74
61
48
20
50
52
76
51
65
21
43
58
38
34
23
67
36
21
66
26
25
51
50
69
68
75
50
60
68
48
28
55
54
76
48
75
62
28
66
77
44
71
79
50
32
59
62
66
23
65
34
63
73
31
64
30
65
36
31
44
20
45
30
72
35
59
60
20
61
56
24
66
48
24
27
49
25
24
28
58
42
56
75
65
68
53
71
76
73
53
25
41
72
73
57
29
60
69
38
55
76
66
55
68
45
42
32
54
74
54
21
36
33
50
32
56
26
72
24
63
21
49
24
47
47
43
79
26
56
34
49
68
37
76
33
54
80
62
61
68
48
29
27
79
29
24
36
57
34
42
28
34
60
61
74
70
76
72
60
36
50
59
54
47
43
46
55
65
65
63
48
22
20
53
58
52
52
73
67
80
41
56
61
24
32
56
52
60
53
55
54
64
28
31
80
45
50
29
20
41
24
76
61
58
69
24
58
70
53
63
55
40
75
40
51
66
49
42
79
40
78
25
65
73
71
29
32
46
77
70
80
53
74
27
39
60
38
61
80
23
45
60
70
72
79
54
33
36
52
20
72
62
52
66
59
28
25
78
55
23
72
46
36
37
65
64
47
43
47
26
39
36
77
72
41
36
65
57
41
56
74
36
46
36
48
74
34
73
23
65
31
56
58
54
44
69
80
44
24
49
70
51
48
52
41
33
41
30
28
76
28
71
71
22
61
36
41
71
80
73
37
69
36
37
53
61
79
73
70
48
65
22
69
21
33
58
58
20
75
29
77
79
74
32
68
38
50
51
55
47
46
47
68
72
27
56
38
37
32
46
64
65
60
56
28
50
27
22
29
75
42
50
44
79
57
52
66
64
31
25
62
45
69
79
49
30
36
59
46
77
25
61
67
21
59
79
34
68
70
69
55
51
62
58
48
65
51
80
23
69
22
34
23
44
27
65
69
49
33
63
68
56
39
26
38
25
62
80
48
64
60
61
35
72
58
80
31
39
76
76
68
47
24
67
59
58
50
72
80
66
42
21
28
51
47
31
40
42
26
26
78
64
42
57
69
61
80
68
21
59
55
40
69
42
75
52
34
36
62
77
56
58
60
40
42
34
66
67
48
76
44
20
24
40
40
28
31
46
58
26
29
80
65
78
48
65
75
62
58
59
79
77
78
20
47
31
29
47
55
41
50
52
77
72
72
21
70
21
28
42
46
77
60
66
54
44
69
72
46
20
35
79
51
80
78
80
62
63
23
78
40
28
56
54
76
56
23
38
78
42
62
23
35
57
74
60
39
61
44
69
29
75
76
70
50
39
76
29
73
26
27
56
64
57
22
38
48
31
63
71
44
46
53
29
64
78
54
44
68
78
70
34
64
44
72
34
34
72
21
30
79
61
20
61
24
31
54
20
76
55
75
74
68
68
34
58
75
27
26
62
61
57
57
40
47
21
72
72
77
40
27
59
26
58
52
20
45
37
50
32
40
57
62
77
38
27
21
79
21
21
62
25
72
38
25
58
31
45
67
28
33
20
57
48
53
44
62
47
23
58
80
29
21
71
36
44
47
37
26
42
78
38
46
53
80
62
45
26
49
28
32
20
58
51
29
32
79
56
37
44
64
59
60
24
39
34
55
64
37
38
72
31
65
23
55
41
25
27
54
28
63
22
39
50
56
66
29
28
42
72
61
50
77
40
76
68
53
63
55
53
68
41
80
30
78
35
53
56
65
59
68
69
52
61
32
52
55
71
29
39
36
67
48
20
62
37
61
30
25
60
53
78
59
63
47
38
80
50
22
68
21
35
54
74
45
53
74
44
67
75
30
31
36
80
44
40
58
80
27
68
63
30
66
37
27
77
27
55
33
69
21
54
77
58
38
48
37
39
35
54
48
76
55
33
30
65
61
39
63
39
46
59
73
34
31
62
50
57
60
74
32
60
77
70
26
64
64
76
56
66
56
57
58
70
37
46
41
75
22
57
64
42
72
74
49
25
65
34
59
64
63
26
65
79
49
48
43
76
49
57
31
68
72
56
64
31
39
44
65
73
77
80
74
55
61
63
48
71
35
78
70
42
56
55
65
53
69
59
69
43
73
30
55
27
61
34
78
36
54
50
80
79
51
46
46
80
35
29
72
56
41
43
74
23
26
20
25
25
39
24
21
53
61
38
45
22
28
56
50
76
41
57
36
44
76
45
40
71
46
28
64
21
70
74
68
49
79
65
51
30
66
31
51
21
20
36
70
76
33
70
52
46
53
78
38
30
25
20
73
48
67
55
54
35
70
56
36
79
40
76
32
40
79
57
79
61
44
51
35
63
76
32
76
57
24
45
76
30
79
71
58
36
26
42
57
78
74
32
72
30
77
51
44
44
78
21
64
80
78
61
45
35
43
34
63
58
60
21
24
37
49
27
80
31
72
59
46
38
50
38
37
40
35
43
24
70
56
47
22
56
45
34
24
47
37
22
67
21
76
23
21
71
45
61
29
37
75
22
63
55
55
48
22
40
42
62
29
37
59
28
64
35
55
50
48
46
43
72
51
56
24
79
35
20
49
65
74
54
37
79
26
23
50
21
35
69
78
54
80
37
44
67
58
77
69
57
54
47
52
74
29
49
54
28
59
50
36
69
51
27
75
21
36
44
76
51
75
33
62
41
56
76
56
25
21
24
42
51
57
71
58
31
25
22
44
58
80
32
21
46
64
60
64
55
37
23
49
80
41
75
21
75
74
78
33
28
42
53
29
34
67
60
73
70
68
70
57
47
21
24
67
78
63
75
57
26
65
64
72
62
21
41
36
32
58
63
24
59
67
27
48
78
27
41
51
31
66
67
41
77
74
31
73
26
24
61
49
78
59
45
21
63
49
31
20
54
54
44
70
36
78
21
65
35
47
40
40
57
71
74
73
59
80
69
31
63
71
78
63
76
65
54
72
38
72
36
23
75
40
33
42
76
48
21
51
58
61
32
68
80
67
52
41
48
31
63
57
32
67
45
49
24
75
77
61
60
39
79
46
42
36
35
64
58
70
40
51
62
77
36
38
68
39
40
72
25
49
56
25
27
29
75
20
53
58
60
43
72
33
36
26
45
25
55
60
23
27
48
60
63
45
45
42
23
27
27
50
65
26
51
36
56
40
60
43
45
67
59
42
65
25
72
54
24
65
36
35
28
79
43
48
41
62
46
58
78
54
27
34
46
22
62
40
62
58
31
23
61
53
54
33
52
35
37
41
53
64
28
59
44
26
76
31
74
66
62
47
77
33
76
75
25
72
29
54
73
68
79
57
32
33
69
26
22
57
36
39
36
69
74
46
61
53
60
46
44
79
26
31
72
26
50
43
58
25
70
36
22
30
78
67
20
71
53
71
47
63
62
70
24
41
20
45
28
43
61
58
20
34
62
48
47
77
40
61
61
23
51
35
24
22
63
31
34
27
38
63
32
26
78
72
71
54
34
24
80
70
73
61
30
42
43
70
75
73
41
54
42
65
22
63
63
29
53
58
49
36
62
20
21
23
20
58
44
70
67
80
45
28
46
54
35
49
30
45
53
32
28
46
51
63
64
52
74
71
80
22
27
55
73
46
34
46
61
62
67
68
80
53
27
63
53
49
64
63
54
20
20
76
22
63
29
70
66
36
68
60
57
75
61
41
79
80
34
72
69
29
60
48
69
33
28
33
44
51
79
28
21
45
38
76
80
33
49
67
65
45
63
74
73
58
36
70
47
60
21
50
54
38
48
31
75
27
35
64
51
71
59
52
60
64
30
21
20
52
70
65
53
28
26
80
47
74
23
49
25
25
32
58
46
71
40
48
30
43
74
61
23
65
61
61
53
36
71
65
74
74
36
73
27
70
54
25
74
38
20
39
38
54
77
66
70
25
67
74
29
52
30
46
70
28
59
62
47
32
46
28
58
38
44
61
43
52
52
65
28
31
43
46
63
20
34
37
75
65
46
63
75
79
70
31
22
46
74
48
56
23
44
77
42
29
49
25
54
46
29
53
58
27
52
59
45
60
40
64
30
22
34
56
58
36
31
54
78
55
38
30
38
68
33
79
54
20
66
31
35
49
25
61
67
20
67
44
33
43
46
30
51
25
20
27
71
49
65
56
77
25
35
38
51
55
32
80
33
76
46
60
79
54
25
64
32
76
31
65
62
63
42
31
52
66
24
29
32
45
45
46
68
27
60
55
31
54
52
58
70
20
54
52
49
31
57
47
69
44
48
51
25
73
71
49
73
65
48
44
79
20
61
47
39
73
33
75
56
80
52
66
60
43
52
51
61
66
53
57
55
38
31
60
35
28
41
70
45
26
43
55
30
56
71
76
20
71
35
73
47
46
31
21
78
41
66
43
32
78
56
57
31
47
61
72
48
27
77
22
52
21
79
56
36
23
30
39
37
37
36
31
76
36
56
72
20
38
67
39
53
24
66
62
39
63
29
75
64
75
52
50
56
26
37
62
49
24
64
21
67
66
29
28
64
52
79
57
41
41
54
20
77
46
68
52
59
60
31
80
57
57
71
71
76
76
69
57
78
37
66
57
68
80
58
57
65
69
56
76
72
21
34
73
52
52
55
40
69
32
61
28
47
79
49
74
49
69
22
37
32
59
42
67
37
39
48
73
71
46
22
63
32
67
21
77
75
54
40
76
76
28
51
77
58
48
74
21
76
27
65
74
49
34
46
60
20
73
40
67
44
73
55
20
62
23
61
20
40
38
78
54
80
77
67
45
64
32
79
61
21
79
25
53
59
58
56
71
55
34
32
23
70
50
71
44
69
62
79
33
50
68
28
34
77
71
44
73
58
56
56
36
79
25
44
80
62
76
77
58
53
70
24
60
67
38
54
60
30
67
74
30
26
33
55
52
56
57
61
32
36
64
39
33
68
21
38
36
73
72
63
40
71
69
60
51
54
26
61
59
71
51
55
33
72
31
80
20
31
70
74
77
58
43
48
57
55
22
69
25
61
68
30
57
29
55
38
30
22
70
40
52
60
22
40
42
40
79
32
38
73
78
27
35
30
80
32
64
78
73
22
47
20
61
77
56
35
75
58
66
71
27
54
35
37
68
35
57
30
51
26
34
65
61
76
76
63
74
76
28
41
36
42
64
40
36
69
51
59
64
73
33
28
76
57
45
53
26
54
52
38
60
51
37
73
42
35
67
50
79
75
78
48
56
40
33
47
74
28
73
48
39
46
46
37
71
72
31
66
39
34
42
37
35
27
64
67
48
39
29
75
43
80
54
53
75
62
26
68
51
41
29
60
46
44
59
62
78
66
71
72
21
69
55
79
78
36
25
26
32
65
48
36
41
45
42
78
46
74
60
37
61
42
23
42
59
38
29
30
59
24
35
60
76
53
66
79
68
60
46
52
38
47
28
40
58
36
22
34
36
62
26
24
40
74
31
61
56
65
22
43
25
27
20
41
61
35
75
55
58
30
72
74
57
74
43
76
59
53
72
75
48
46
61
62
66
68
50
49
58
40
22
33
27
47
50
48
56
58
30
55
54
40
75
65
39
33
54
25
49
68
65
58
56
28
45
73
51
37
26
66
40
40
61
69
52
53
48
41
29
75
26
47
59
28
30
76
63
57
31
50
43
73
77
61
53
51
70
26
28
24
59
72
29
79
51
66
39
73
78
52
36
23
32
39
25
38
58
61
40
57
67
46
29
69
55
40
58
65
54
63
23
59
35
46
33
74
49
75
40
69
31
70
61
67
69
51
75
23
45
63
36
53
77
77
37
21
38
49
24
23
25
61
41
31
79
38
47
70
59
39
25
41
21
70
72
44
57
72
22
39
41
63
53
76
70
54
65
55
79
67
26
79
23
79
48
64
72
57
23
43
64
71
64
33
75
22
27
54
41
40
30
31
58
28
34
29
41
35
46
60
29
47
73
78
65
51
27
80
47
44
31
42
32
69
46
20
38
49
32
72
34
59
53
31
48
26
41
26
21
76
52
43
39
40
37
20
42
23
68
46
73
44
60
22
32
44
69
68
50
65
80
80
41
41
67
60
74
69
34
65
55
21
45
58
68
71
68
70
39
29
58
20
55
70
62
54
78
25
61
53
62
53
80
26
76
55
73
73
49
64
35
79
79
76
50
29
72
73
65
42
34
42
21
21
37
74
74
36
76
72
79
28
37
76
61
55
61
29
65
29
32
62
71
50
49
42
50
78
76
69
77
52
30
58
38
73
74
26
20
47
57
33
75
33
50
64
58
21
62
24
26
21
31
67
35
62
78
38
62
58
38
59
62
33
48
54
36
67
59
34
46
53
26
44
51
53
32
73
60
70
70
56
35
40
69
52
55
57
44
46
70
31
28
64
24
70
62
31
79
36
74
29
21
29
29
21
25
37
46
72
48
47
41
20
65
80
39
56
21
76
34
64
61
69
54
25
63
67
40
45
23
24
50
36
61
45
23
23
29
66
42
77
63
75
23
22
79
38
26
43
77
38
49
55
49
25
35
23
63
76
62
29
54
39
57
77
56
31
74
35
51
21
59
68
40
71
71
66
26
43
51
37
39
40
36
34
74
27
34
60
29
54
39
20
38
32
27
52
71
43
22
80
55
27
21
59
26
30
60
52
46
43
22
73
32
75
41
61
71
29
79
46
67
40
62
63
47
43
54
25
72
48
57
36
76
24
21
72
73
28
73
76
35
80
30
52
23
56
78
72
27
25
59
56
22
21
55
73
78
45
60
21
43
78
32
45
80
45
36
41
66
58
24
22
36
41
71
28
63
79
51
35
50
47
78
67
57
32
44
72
23
66
36
46
21
67
66
21
25
59
68
72
30
56
29
60
39
52
41
42
69
26
21
79
71
39
23
60
31
55
60
76
69
53
80
31
44
41
54
29
61
22
75
54
49
36
30
65
65
37
59
71
64
32
21
22
63
65
60
41
56
28
71
24
34
34
33
63
77
59
58
20
61
62
24
39
79
32
25
28
35
48
53
68
61
80
33
27
71
26
70
20
33
42
75
58
20
37
70
57
29
62
65
32
43
60
35
44
31
79
48
20
78
62
23
76
52
61
70
72
37
61
47
56
25
71
75
40
64
65
42
28
64
68
40
25
21
30
49
56
46
74
24
79
40
61
61
57
22
53
58
29
37
57
64
25
68
35
36
27
33
65
59
27
26
72
20
50
30
51
75
79
20
51
42
71
41
54
66
22
33
68
50
37
77
71
33
51
33
53
48
60
67
29
29
77
48
25
39
36
75
39
59
27
35
71
22
72
20
43
72
24
44
48
71
21
48
43
74
27
43
54
65
30
64
63
65
35
65
42
80
51
56
24
55
72
56
49
33
74
68
39
33
20
20
44
52
51
41
65
63
44
67
74
77
39
50
63
80
33
68
20
20
76
43
63
67
49
38
55
75
66
23
72
40
68
75
41
48
28
80
51
33
39
65
28
21
45
71
28
25
60
55
41
76
69
55
40
76
45
30
50
70
71
40
77
34
41
25
72
24
22
47
29
80
33
68
41
49
40
35
21
34
26
52
55
48
37
58
56
32
66
21
51
80
56
63
32
39
35
45
64
24
21
46
27
44
35
55
79
77
34
21
51
54
44
73
51
26
73
62
51
38
50
20
80
34
46
26
79
59
63
58
24
38
56
45
74
73
35
68
79
42
53
49
38
64
80
41
62
24
58
47
30
79
47
77
72
53
49
66
30
71
62
21
63
71
61
42
55
32
26
79
43
43
22
27
43
64
37
60
24
33
52
75
32
59
46
34
42
48
71
28
45
61
43
67
50
28
56
23
37
45
56
28
78
39
31
66
46
63
52
42
37
32
25
54
62
40
20
75
28
32
49
56
74
63
68
78
76
50
37
37
24
55
80
31
54
46
34
61
51
77
44
50
59
73
70
72
28
26
72
41
67
28
64
38
25
22
73
67
47
47
34
64
72
35
66
34
41
70
20
57
35
46
59
69
53
69
50
70
61
47
53
75
38
45
59
51
62
35
50
28
34
67
49
52
59
76
31
73
65
45
40
78
55
31
27
52
38
70
41
67
48
30
71
38
49
38
54
73
36
21
28
70
70
79
27
63
68
23
26
24
50
54
73
65
56
79
76
59
76
80
32
51
38
60
47
25
21
75
72
50
77
34
48
39
65
59
32
26
67
26
55
26
76
25
79
51
41
46
77
27
38
53
41
56
43
25
54
62
49
24
64
76
22
55
45
36
46
49
20
34
66
20
57
36
78
61
65
60
55
80
49
34
63
79
41
67
41
44
38
52
78
26
24
56
59
70
37
43
32
62
68
67
58
75
68
51
70
55
28
21
38
28
46
22
37
48
71
75
45
20
49
72
69
42
70
53
28
52
43
40
77
56
58
70
32
33
30
65
68
80
41
28
54
46
36
74
67
40
26
61
68
47
28
50
20
70
77
70
51
36
64
52
41
30
76
65
50
74
62
33
55
56
26
74
66
62
71
24
23
56
59
25
26
56
23
45
38
58
71
33
24
55
79
46
77
21
43
26
38
24
38
57
50
60
37
60
51
33
74
57
26
77
40
62
52
68
51
25
47
42
78
52
47
21
71
60
38
49
72
72
75
74
43
25
74
48
54
25
62
24
36
26
50
57
72
40
37
71
67
80
70
50
38
41
25
51
50
23
25
49
31
52
29
71
58
78
47
32
44
76
23
32
22
58
62
51
67
75
29
66
73
45
45
40
36
31
52
36
46
47
57
37
21
30
39
77
69
54
59
34
64
70
57
23
37
72
57
55
54
58
61
80
24
67
23
52
50
39
43
35
48
66
23
62
36
74
66
72
53
63
57
77
33
36
64
59
49
30
24
37
46
36
64
20
56
36
75
68
76
67
60
32
20
71
77
80
54
34
27
58
75
26
24
60
43
38
50
26
80
76
45
28
39
69
35
95
114
175
146
161
135
82
216
104
134
125
169
206
191
189
148
210
229
112
93
116
99
144
242
196
149
220
73
124
235
82
134
221
112
89
243
122
220
233
92
218
114
91
205
201
206
179
104
94
150
93
130
159
115
105
84
79
138
155
176
243
142
178
215
73
70
192
228
123
213
147
134
98
76
149
135
250
87
237
88
83
99
234
140
128
78
107
111
169
134
120
147
227
224
226
83
250
225
174
136
92
161
224
186
101
103
158
121
134
246
109
146
221
109
160
236
208
142
132
149
189
202
87
146
132
81
223
127
222
75
187
208
221
144
219
184
214
215
217
207
177
172
233
180
95
179
183
191
111
239
99
155
218
142
96
190
117
74
195
148
77
192
196
238
147
137
241
101
195
212
92
217
199
156
163
167
138
196
229
119
231
108
204
155
250
141
104
127
193
70
145
96
114
118
145
235
244
109
156
205
153
181
89
197
209
136
128
232
216
161
204
232
105
101
82
71
156
120
85
154
238
121
154
163
203
218
207
163
120
132
106
86
250
200
138
121
197
217
201
227
197
116
77
153
97
166
194
249
77
143
168
188
121
185
85
229
134
124
173
241
169
148
210
155
157
110
183
106
82
211
210
78
123
165
82
245
104
229
211
133
196
143
233
113
210
159
218
101
128
178
194
132
236
226
249
159
181
240
209
87
177
73
213
196
216
119
178
151
228
133
85
76
223
208
166
128
113
236
120
240
143
164
145
148
181
190
86
247
155
233
122
245
221
164
108
219
104
202
146
202
197
226
91
136
143
153
111
245
103
91
142
111
157
135
197
107
80
152
245
196
192
174
241
114
140
169
128
151
157
143
210
134
214
172
215
141
70
93
187
169
157
239
181
95
164
126
247
138
71
72
94
221
95
221
73
79
99
98
189
141
72
132
163
116
70
113
106
87
76
160
143
233
77
243
84
92
124
109
190
112
95
215
146
199
97
214
136
70
118
221
206
105
76
177
197
183
155
137
92
89
244
124
102
123
122
247
241
116
217
250
192
81
105
210
239
152
167
77
250
100
142
87
230
224
225
130
236
232
200
136
241
223
206
91
231
110
198
165
126
250
192
77
93
219
234
235
150
101
125
227
250
137
124
195
208
155
187
105
168
205
212
152
231
225
72
113
233
229
230
138
167
193
189
160
187
235
237
122
244
124
192
80
176
121
212
220
116
199
248
197
183
228
234
132
122
239
186
109
142
145
206
182
166
248
82
164
231
200
80
250
139
207
159
192
213
75
116
139
185
213
92
187
77
232
185
242
74
196
218
183
93
72
150
173
119
223
96
191
85
201
97
84
202
163
208
238
70
117
163
119
232
211
134
166
171
93
106
213
222
178
86
183
81
109
170
152
183
165
192
135
197
101
145
171
172
242
73
191
245
158
212
116
222
185
245
244
128
134
107
223
113
195
238
102
93
101
112
202
211
72
102
124
133
144
212
98
147
173
140
219
102
195
241
119
186
75
186
105
221
97
95
216
243
214
120
160
233
112
144
218
92
77
117
178
110
110
215
75
174
144
116
119
139
214
108
145
221
178
202
170
213
134
214
76
162
247
142
107
116
148
139
151
212
235
88
148
184
209
107
200
187
80
205
220
103
70
233
145
146
227
202
187
118
167
130
131
78
79
105
90
74
198
159
94
157
137
97
197
129
178
103
209
79
190
105
115
168
161
150
101
109
93
129
141
169
126
171
166
165
141
126
117
125
189
150
70
147
166
83
138
114
70
99
70
110
155
105
91
121
171
84
185
249
243
83
223
193
93
220
202
225
70
241
133
82
183
145
155
79
192
77
218
158
226
83
110
112
215
109
249
206
184
239
88
199
88
165
219
127
205
133
131
119
73
90
75
231
232
118
128
180
216
146
212
243
133
167
193
199
246
201
83
166
194
197
88
95
129
82
208
170
109
150
186
104
204
92
132
91
99
74
236
159
93
236
227
183
71
167
97
95
214
137
212
219
200
136
237
138
206
224
220
108
154
129
71
221
100
81
219
245
155
218
159
112
101
93
85
115
230
125
106
183
199
218
131
216
208
109
151
182
211
236
80
130
78
182
206
150
130
188
192
103
198
174
195
89
121
196
162
145
104
125
192
206
165
178
89
223
188
139
192
168
119
138
180
106
211
92
224
143
117
106
143
168
168
135
209
121
83
208
185
192
118
199
132
145
152
88
250
246
100
94
112
163
230
164
238
137
123
209
108
116
101
73
132
185
169
197
234
237
207
159
159
209
230
158
205
150
196
204
217
240
190
171
190
233
128
139
154
164
190
247
99
130
238
191
230
111
173
246
196
145
95
75
74
151
209
174
190
82
107
119
240
93
184
227
197
185
245
80
246
176
82
81
75
92
74
164
191
230
153
103
226
122
159
166
109
243
106
83
241
85
121
221
111
85
151
213
205
200
193
204
131
229
157
229
193
119
172
136
74
161
70
152
189
90
180
225
235
105
133
203
146
179
225
226
117
114
149
163
246
248
166
202
121
78
240
169
142
222
200
245
242
133
210
128
190
107
174
80
243
230
181
104
179
142
102
213
132
189
122
79
150
77
74
80
241
123
114
235
199
120
95
118
79
144
244
209
103
172
95
222
249
168
170
180
116
241
140
213
79
234
221
133
184
210
129
92
80
232
84
219
121
167
151
212
129
190
137
148
77
208
118
162
129
217
141
175
240
159
122
127
238
170
156
164
175
227
149
196
235
210
182
240
85
230
140
205
127
158
141
241
244
108
162
154
119
206
93
159
148
239
160
110
228
228
201
206
112
234
118
164
245
190
77
149
154
180
208
173
147
208
111
153
139
105
222
184
245
244
120
165
222
194
164
102
117
214
105
100
185
237
117
94
198
180
179
173
168
159
170
162
239
206
198
148
208
193
208
76
204
82
195
89
96
76
94
143
214
150
202
197
162
114
72
117
156
173
92
248
238
160
173
142
158
204
188
81
150
128
136
184
224
177
224
224
230
75
184
190
171
93
193
97
243
92
155
228
75
93
145
111
232
127
218
149
95
138
241
215
176
111
162
141
215
196
124
230
72
133
150
75
202
148
84
216
174
157
179
194
164
235
121
209
110
204
213
241
89
164
249
124
215
194
112
221
126
117
231
158
225
177
223
215
94
215
218
142
207
175
214
137
174
138
206
154
97
176
182
79
180
156
76
91
182
119
142
176
100
82
194
101
141
211
154
76
72
96
70
151
87
76
99
173
79
118
86
196
246
103
198
127
103
76
170
107
149
99
78
162
78
248
235
75
212
250
162
181
121
243
204
70
216
153
223
118
184
108
147
73
152
172
164
170
112
83
89
88
244
130
110
84
119
134
172
209
102
205
230
124
222
178
221
117
101
181
119
189
154
70
93
113
157
105
150
130
86
229
223
222
171
192
112
188
240
177
245
236
163
144
100
141
137
170
235
80
246
196
139
182
164
250
166
85
144
244
113
220
88
241
122
205
195
174
248
237
110
87
189
241
115
157
240
217
127
223
208
146
178
86
130
97
213
217
98
90
79
250
140
143
75
220
168
174
230
212
242
91
192
231
188
157
230
101
192
235
148
167
247
103
84
210
108
128
159
164
117
210
113
157
184
176
132
163
176
181
100
162
243
227
220
186
223
74
140
85
245
234
180
226
153
132
201
104
87
158
89
81
247
119
147
210
161
229
185
70
130
214
98
76
129
212
145
134
151
217
234
200
172
135
76
245
240
85
196
183
131
189
236
75
167
78
161
108
187
216
208
234
124
193
180
174
128
210
100
79
136
234
232
199
162
134
150
105
192
216
121
219
155
91
108
212
190
160
104
123
95
241
222
226
78
115
106
91
165
202
206
163
151
237
237
136
93
101
80
100
238
159
101
89
158
226
244
232
183
151
239
170
70
101
178
165
137
89
204
111
77
240
199
178
92
236
133
94
89
112
246
81
124
146
176
201
106
151
248
250
111
101
169
200
208
236
90
246
136
112
186
234
139
215
142
134
182
248
237
246
114
247
225
155
169
141
117
209
156
72
81
205
112
236
142
140
112
76
225
240
80
102
100
136
138
180
220
195
141
217
156
113
115
149
226
104
148
128
90
139
229
168
135
167
108
100
166
244
126
104
163
118
113
172
212
71
189
91
179
178
183
118
155
86
156
247
222
231
72
177
241
157
97
127
100
170
160
174
226
74
155
222
119
187
238
99
164
220
116
135
114
171
168
231
197
244
132
183
160
196
132
70
243
245
86
210
84
155
231
168
133
84
192
217
139
77
206
227
188
180
150
159
71
192
213
247
196
113
82
114
106
234
241
241
99
235
144
103
86
246
181
243
129
70
145
130
236
211
199
131
215
75
115
197
219
199
188
100
169
153
223
155
75
226
229
151
177
195
144
170
218
172
210
161
73
104
174
141
239
97
223
101
238
159
101
172
110
147
78
199
79
219
244
220
247
144
84
141
172
186
131
134
192
250
154
229
160
73
134
124
82
180
193
240
148
70
85
81
143
167
100
128
190
107
94
152
238
140
141
222
183
180
199
79
238
96
174
137
138
73
233
181
214
90
233
219
126
113
193
170
203
190
94
190
178
109
179
99
243
242
107
198
128
169
239
208
83
226
180
162
196
240
114
91
101
224
217
222
248
153
135
144
172
94
76
195
245
177
118
243
167
209
90
99
214
88
75
236
74
138
121
168
78
233
151
188
238
225
103
156
123
224
171
184
138
191
75
197
219
234
242
98
214
196
152
186
190
233
214
222
113
209
84
82
105
190
185
186
131
186
191
222
189
98
149
234
206
134
72
91
130
193
99
90
231
188
226
119
75
213
70
143
125
194
184
137
91
205
138
136
214
161
115
168
117
91
74
146
86
102
195
194
237
233
224
128
246
239
141
125
86
176
127
80
196
163
146
160
96
114
175
153
181
162
171
102
210
238
130
186
206
184
130
88
245
151
93
86
153
230
77
145
108
95
223
129
136
142
101
143
122
101
223
217
231
95
88
116
144
131
139
166
141
125
104
88
111
145
76
230
81
158
94
139
71
185
181
72
172
163
100
168
174
105
137
189
102
242
173
150
77
189
194
81
123
222
110
228
130
249
200
77
180
136
91
140
110
224
151
120
169
197
100
236
80
151
156
222
172
181
232
205
164
187
98
155
151
75
143
163
111
115
108
233
107
112
220
236
113
119
176
245
74
93
228
80
218
173
97
123
131
241
142
137
94
121
207
118
126
161
86
103
239
126
85
124
116
171
148
98
138
83
126
179
91
237
243
138
218
84
136
150
157
75
115
182
159
122
72
216
97
141
206
81
135
193
115
154
155
126
184
246
124
87
183
214
206
192
105
218
72
111
146
104
187
169
120
76
135
168
142
218
156
90
144
176
243
177
78
191
191
207
149
80
224
245
125
99
93
241
127
236
241
175
162
239
206
165
115
165
174
132
216
224
233
156
214
233
178
236
72
200
244
205
144
121
225
154
142
154
189
185
161
222
159
88
249
160
166
110
147
235
172
150
206
123
237
140
217
141
173
224
94
170
148
119
172
187
174
243
81
102
203
209
133
232
196
80
96
153
117
148
75
170
171
196
75
194
105
184
234
159
173
154
230
117
107
224
131
210
111
117
96
138
151
183
178
180
238
202
157
186
79
102
152
194
187
172
87
186
194
217
182
70
163
182
74
98
159
80
75
127
150
119
250
162
239
230
174
84
158
246
107
195
215
76
72
221
179
155
162
214
234
162
144
169
163
106
119
210
223
205
231
123
128
211
143
225
247
138
137
210
141
135
206
154
246
155
202
116
116
210
139
218
205
147
244
193
195
165
135
92
206
170
113
134
185
150
127
90
164
103
220
76
246
238
246
250
248
117
197
216
138
148
77
194
245
103
160
117
84
73
138
121
96
155
128
226
211
161
152
123
159
216
160
114
234
139
189
168
99
87
204
98
206
222
107
117
182
120
145
236
141
149
111
161
165
81
210
159
79
134
120
120
157
152
149
190
95
228
84
128
147
155
209
77
207
133
150
186
78
214
76
157
144
212
158
91
232
198
123
159
134
109
153
154
231
171
131
150
213
97
72
88
143
139
115
138
162
156
151
243
90
239
105
99
194
241
144
156
119
152
133
89
167
216
180
158
236
71
107
84
96
179
75
172
122
79
164
205
105
227
153
81
232
249
173
91
226
145
85
146
180
199
91
117
240
148
235
238
187
231
108
120
97
246
237
182
194
196
100
167
250
82
210
86
211
193
242
207
143
113
177
175
125
76
197
95
86
116
224
227
173
96
96
100
87
196
118
126
161
104
183
228
106
189
234
239
105
147
187
88
209
143
93
170
227
113
100
74
206
123
86
154
206
108
122
89
205
156
104
218
88
189
222
129
186
245
235
159
236
133
73
175
99
221
199
133
145
225
71
133
78
104
102
197
166
204
87
166
130
93
203
159
157
107
99
137
162
157
242
154
211
114
175
87
121
167
90
117
90
207
211
242
140
150
165
135
71
125
243
160
136
194
250
181
135
188
139
192
88
83
229
124
170
91
184
178
125
110
97
99
198
83
174
93
139
112
133
124
242
83
249
126
199
186
177
119
112
145
199
249
86
249
148
235
199
74
192
199
183
157
103
85
207
171
154
199
165
101
214
171
88
70
218
117
237
141
191
75
104
198
190
187
242
121
70
120
243
95
80
130
82
124
122
185
209
242
104
74
188
88
218
93
177
243
207
166
113
171
243
236
232
136
248
134
198
176
76
203
205
226
181
115
190
98
198
220
137
109
118
117
181
76
246
199
106
74
189
210
87
96
174
83
206
235
77
183
192
243
237
