This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/wxWidgets-3.0.5/samples/image/horse_ag.pnm

40004 lines
141 KiB
Plaintext

P2
200 200
255
183
191
191
186
171
167
176
186
187
187
170
155
144
144
136
136
136
136
136
133
136
151
159
167
162
156
154
154
155
147
147
151
155
170
176
175
162
154
157
155
157
153
152
145
137
136
145
161
184
196
193
176
163
160
170
186
193
193
187
176
164
144
136
129
129
145
168
170
163
147
132
115
114
123
130
130
130
130
139
139
145
145
147
145
147
162
154
145
141
139
145
162
170
170
170
167
162
159
154
156
160
168
175
176
175
176
184
192
196
196
196
196
183
176
170
168
172
169
179
184
186
179
176
176
176
169
165
161
158
158
158
158
158
154
154
154
154
158
163
158
154
149
155
158
155
163
161
163
168
172
176
180
181
184
183
175
167
162
156
156
162
159
162
167
170
175
175
172
169
179
176
163
161
161
155
163
168
169
165
158
150
150
161
169
181
169
165
158
158
150
145
149
149
149
149
145
144
149
157
157
183
183
186
191
183
170
171
183
187
187
170
155
147
144
136
136
120
133
136
136
144
156
159
156
162
154
156
154
159
159
155
154
170
170
175
171
159
152
145
145
141
144
145
147
145
153
169
193
196
211
196
170
147
145
155
178
183
186
178
162
144
136
136
129
120
144
155
163
155
147
140
130
123
130
130
139
139
139
139
139
145
145
147
139
147
155
147
141
129
136
147
170
193
200
193
186
186
175
167
159
156
159
159
155
160
167
175
184
192
196
196
196
192
188
184
176
176
177
184
186
192
184
177
177
169
161
161
161
153
153
153
153
148
148
148
148
148
158
163
149
155
148
158
163
163
163
163
168
168
173
181
184
189
184
183
175
167
162
159
155
160
159
159
159
160
168
170
175
169
176
172
155
161
161
155
161
169
169
165
157
153
153
158
169
181
173
169
158
157
149
145
149
149
153
149
144
141
149
152
157
183
183
191
191
175
167
163
162
170
170
164
155
155
147
144
144
136
136
136
147
154
154
151
154
155
151
151
151
159
154
154
155
154
167
172
167
154
144
144
145
136
136
136
136
147
163
179
196
206
196
184
168
154
154
163
186
183
178
175
154
145
144
144
136
136
136
141
147
147
147
130
130
129
130
139
139
139
130
139
139
147
147
154
162
162
162
147
139
129
129
139
154
170
170
170
178
175
175
172
162
154
151
145
151
154
159
168
168
167
175
184
200
193
200
192
191
178
176
178
184
192
196
192
184
169
165
160
153
153
153
153
150
148
148
153
148
149
149
158
163
158
148
153
163
163
163
161
161
168
180
183
180
186
183
183
175
167
162
162
163
160
159
154
144
151
159
167
172
177
169
161
161
161
160
161
163
165
169
165
158
153
153
154
158
173
173
168
161
152
149
149
152
157
157
152
144
148
157
152
148
183
191
192
191
168
156
151
155
155
155
155
162
164
162
155
147
141
136
141
155
154
151
151
151
151
145
144
147
156
162
154
155
155
162
159
154
141
136
141
145
136
123
123
136
153
173
188
203
203
186
170
170
168
170
170
179
186
183
175
162
155
144
144
136
136
136
130
139
130
130
130
130
130
130
139
139
139
130
139
139
145
147
155
162
170
163
147
139
109
114
129
136
145
147
155
162
168
167
167
160
151
144
144
148
154
159
160
159
156
160
175
191
196
203
203
196
184
176
184
184
191
193
193
186
177
173
168
161
152
152
153
145
153
153
153
154
163
158
163
165
158
147
148
158
163
161
160
155
168
180
183
180
179
180
183
178
170
167
168
168
160
155
152
145
152
153
155
168
163
161
155
160
155
153
160
161
169
169
169
165
161
153
158
158
173
173
168
160
149
149
152
156
160
160
157
149
149
157
152
147
183
200
200
184
167
144
141
144
155
155
164
170
176
176
170
155
147
147
144
147
151
145
144
151
151
144
144
151
159
167
159
155
151
154
151
144
136
133
144
152
136
133
133
139
163
189
203
206
196
176
163
179
192
193
193
186
186
186
178
162
154
164
151
144
136
136
136
130
130
123
123
123
129
130
139
139
130
139
147
147
144
147
162
170
178
170
154
147
136
129
130
139
145
162
162
162
172
172
172
168
155
152
151
144
159
167
167
160
154
159
175
191
200
203
211
203
192
184
183
178
178
184
184
184
176
176
168
161
160
161
160
161
155
161
158
163
165
163
163
165
163
147
147
148
161
160
155
155
168
180
180
179
172
175
180
183
176
170
168
168
161
155
152
152
154
153
157
153
153
153
152
153
153
152
152
153
165
169
173
177
169
165
158
157
168
169
168
160
149
148
152
164
165
165
156
149
152
161
156
141
183
203
203
184
160
141
141
144
155
155
164
170
183
183
171
154
151
151
145
144
144
141
144
154
151
154
151
154
162
167
167
154
151
154
145
136
133
129
145
160
152
144
141
155
177
196
203
203
192
168
163
186
203
203
193
193
186
186
178
162
162
162
154
144
136
136
136
130
129
114
114
123
129
129
130
130
130
130
147
147
147
147
147
162
170
162
155
147
145
145
145
145
162
170
178
178
176
179
176
175
168
155
154
154
160
168
168
167
160
160
175
188
192
200
203
211
203
192
183
175
168
167
167
168
172
173
168
165
161
168
169
169
173
173
169
169
173
165
173
165
155
147
140
148
155
155
156
159
164
175
175
172
163
171
175
178
178
170
168
161
160
155
154
155
160
160
154
147
152
145
152
152
152
145
147
152
161
169
181
189
185
177
165
160
161
165
168
160
148
148
156
168
172
165
156
152
159
164
159
148
183
211
196
176
152
136
141
147
162
155
155
170
183
183
171
159
151
151
154
154
151
144
145
154
154
155
159
154
160
172
168
160
154
151
141
129
123
136
144
157
153
152
152
172
192
203
203
196
185
169
163
186
193
192
179
179
178
170
170
162
162
162
154
155
144
136
139
139
130
123
123
129
130
130
130
130
130
130
147
154
147
144
154
162
170
155
147
130
139
139
145
147
163
178
193
193
179
184
179
176
170
168
160
160
160
160
162
160
159
160
176
186
191
192
200
203
211
211
191
175
162
159
154
159
164
168
168
165
165
168
176
177
179
177
165
169
165
173
173
163
155
140
140
145
153
153
155
155
164
171
171
164
159
167
175
178
170
170
162
160
160
160
160
161
168
163
153
144
141
144
145
152
154
152
154
155
172
181
196
203
203
189
173
160
157
160
165
156
149
148
159
172
168
160
156
152
160
164
159
148
183
203
189
163
144
136
136
144
151
151
155
162
175
175
167
156
151
154
160
167
162
154
144
144
154
160
163
155
155
170
170
162
154
151
141
129
133
136
141
152
147
144
155
176
193
203
196
193
184
177
177
179
179
170
162
162
154
162
162
154
155
151
162
151
141
136
139
139
139
130
130
129
144
147
145
147
144
144
145
147
147
147
155
162
162
147
130
129
123
129
130
145
163
193
193
193
176
176
176
176
170
172
168
168
159
154
151
144
151
160
176
188
191
191
191
200
211
215
203
188
159
151
151
151
156
160
160
164
165
172
177
184
179
177
169
163
163
170
170
163
148
147
145
147
154
160
160
160
164
167
164
163
159
167
167
172
172
162
163
168
168
162
168
168
172
168
155
152
141
144
148
154
155
155
168
175
184
192
203
211
211
197
178
163
157
160
160
155
152
152
164
172
168
160
152
152
160
164
159
156
183
192
176
155
139
136
141
144
144
147
151
162
175
175
162
154
151
151
154
160
154
154
144
144
154
168
168
155
155
170
179
172
163
154
145
141
141
141
144
147
141
144
154
172
179
184
179
184
179
177
178
176
170
162
147
145
139
145
154
145
145
151
155
155
144
139
139
139
139
139
139
144
147
147
147
147
147
154
147
147
147
144
147
147
154
144
129
114
109
129
130
136
162
186
193
186
168
163
160
155
160
155
153
154
151
144
141
141
154
164
175
180
183
176
175
183
200
215
203
191
162
159
156
156
159
156
156
159
165
172
176
177
177
169
163
161
158
163
163
155
148
147
147
152
155
163
172
172
167
164
163
159
163
164
167
167
167
163
168
170
175
168
167
167
167
167
160
159
151
154
154
160
160
167
176
184
196
192
197
211
203
196
178
164
155
160
160
160
159
155
167
175
168
160
154
154
156
159
159
156
183
184
168
153
141
144
144
152
144
147
155
167
170
172
162
151
151
144
141
141
141
141
145
152
154
169
176
155
160
176
184
177
176
162
154
152
154
151
151
148
136
136
144
155
160
160
157
155
163
169
170
163
155
154
144
130
130
139
147
145
145
145
154
162
147
144
136
139
144
147
147
147
147
147
162
155
162
162
162
162
147
130
129
139
147
130
129
114
109
114
114
123
147
170
179
176
155
152
145
141
136
136
136
136
136
136
136
147
159
167
168
167
167
167
167
167
191
203
203
191
175
170
167
167
167
159
156
159
164
168
168
168
168
161
155
153
154
155
158
155
147
147
147
153
155
172
176
176
172
163
163
162
163
164
167
162
162
167
170
176
176
175
167
167
159
159
159
167
159
160
160
167
167
168
176
191
188
188
195
196
196
196
178
172
160
160
162
160
160
167
168
175
168
160
154
151
154
156
156
156
183
179
163
145
136
144
154
160
162
155
154
162
167
167
167
159
162
154
145
141
141
136
136
139
152
170
179
161
154
178
186
183
183
172
159
154
154
159
151
141
151
154
155
168
160
152
147
152
163
155
155
163
155
155
139
123
130
136
139
141
145
145
162
170
162
145
139
139
144
145
147
147
147
147
162
170
179
179
178
163
147
139
129
139
144
130
130
129
109
109
109
123
140
154
155
154
147
147
147
144
144
144
147
152
152
144
144
144
145
154
155
161
170
167
154
156
167
186
191
183
172
164
164
167
172
172
167
164
168
167
168
163
155
155
153
153
155
155
155
148
148
147
155
155
160
175
184
191
175
162
159
162
170
170
170
162
159
159
175
183
183
176
168
162
159
159
160
168
164
167
167
163
159
163
170
175
179
177
177
179
186
188
183
179
168
175
170
168
167
175
183
183
168
160
152
151
154
159
167
175
183
184
168
152
141
144
153
160
170
167
154
154
159
167
168
175
167
160
152
151
145
141
141
141
152
168
175
155
154
170
186
178
178
175
162
156
154
151
151
151
156
164
175
175
168
152
152
153
155
153
153
155
148
147
130
129
130
139
139
145
145
145
154
162
162
162
145
145
147
147
145
139
129
145
147
178
186
193
193
186
163
147
129
136
147
147
139
144
129
109
109
114
130
147
147
145
141
144
152
155
160
161
163
163
161
155
152
144
141
152
155
160
178
172
159
151
154
167
167
167
159
159
164
167
172
172
172
175
168
167
160
160
155
160
153
153
155
155
155
155
148
152
155
155
167
176
191
186
183
171
163
163
170
171
171
162
159
167
172
180
186
183
175
167
160
160
160
168
167
168
167
164
156
155
159
163
162
155
155
163
179
186
186
178
172
175
175
172
175
180
184
184
175
160
151
148
154
160
168
176
183
176
172
155
152
152
162
163
167
162
154
151
154
167
168
175
168
160
154
154
152
144
144
145
154
160
162
159
154
167
175
178
175
175
171
162
159
154
154
159
159
167
176
176
160
147
141
145
147
145
148
148
141
132
130
130
130
139
147
145
145
151
162
170
164
162
162
154
147
147
130
129
114
129
147
162
170
178
186
186
170
147
129
129
129
136
141
136
129
114
109
109
123
136
139
145
152
154
161
172
169
169
161
161
160
152
139
137
136
136
144
145
162
162
154
151
151
154
159
159
151
156
164
172
172
172
175
180
175
168
160
157
153
153
153
153
148
153
153
153
153
153
160
155
168
183
196
196
191
186
179
177
179
179
171
171
167
167
172
175
175
172
164
159
156
156
155
160
167
172
168
164
159
155
151
155
147
147
147
147
163
171
175
172
168
172
175
180
183
188
184
183
175
164
156
156
160
164
172
180
183
172
168
160
159
162
168
168
162
151
145
154
155
168
168
168
167
160
154
159
156
154
154
154
154
156
156
154
154
159
162
171
170
171
176
167
167
159
160
162
162
167
167
167
155
145
136
136
140
139
141
147
141
132
121
130
132
139
140
145
145
154
164
176
176
176
162
162
155
147
114
109
98
129
144
155
155
162
170
178
176
154
144
120
120
120
129
129
139
129
123
114
117
136
145
147
161
168
172
169
169
155
153
145
139
139
136
136
136
137
136
136
136
139
145
154
160
160
156
152
151
159
167
172
167
164
167
175
172
168
164
160
160
157
153
149
145
148
148
153
153
157
155
160
172
188
196
196
196
200
200
186
186
183
179
171
171
175
171
171
160
159
152
148
148
149
152
156
164
167
167
171
167
163
163
164
159
155
147
151
151
163
161
159
160
167
172
183
188
188
180
172
176
172
167
168
172
172
172
168
167
167
167
160
160
167
167
167
154
154
151
154
167
175
175
170
160
160
156
160
160
160
160
160
156
156
156
155
155
155
159
162
170
170
170
167
167
167
162
159
162
162
162
162
160
160
154
147
140
139
141
154
149
132
113
121
130
132
139
139
144
144
155
164
176
176
170
163
147
130
109
98
98
120
147
162
162
155
155
162
162
164
144
136
120
109
109
120
141
139
136
123
117
130
145
157
161
161
161
161
161
160
145
145
139
137
130
130
139
140
139
139
136
136
141
155
168
160
152
144
151
156
164
164
159
152
156
160
164
164
168
169
169
168
160
153
153
153
152
153
153
153
153
157
164
176
180
180
186
200
200
195
186
186
171
171
171
175
171
167
156
152
148
148
149
152
154
157
159
163
167
172
175
171
175
175
171
163
155
159
163
164
164
164
164
164
168
176
180
180
172
168
175
172
172
172
172
172
168
164
183
167
167
167
167
167
172
167
162
154
154
162
170
178
176
176
168
160
160
164
164
163
159
159
163
163
163
162
159
162
162
170
164
170
170
176
176
175
159
151
154
162
159
159
162
170
176
170
155
147
148
165
163
132
117
113
121
130
130
139
144
144
144
164
187
178
170
162
147
114
98
82
98
114
155
178
176
162
147
144
145
164
164
144
136
109
109
120
144
145
141
123
117
133
145
153
160
157
153
153
153
153
153
146
145
140
137
139
140
147
147
148
130
130
136
147
155
160
157
152
147
151
156
156
151
147
147
151
152
163
173
184
184
181
169
165
161
160
157
153
157
157
152
149
156
159
163
164
175
191
195
186
179
171
170
170
171
175
171
171
160
156
152
152
149
157
157
152
159
160
164
167
172
175
179
180
179
175
164
164
171
175
179
175
176
172
164
164
164
164
168
172
172
172
172
164
163
164
168
168
167
171
171
171
171
183
183
179
178
170
167
170
178
183
183
175
168
164
164
164
164
159
156
159
163
163
171
170
170
162
170
170
164
176
187
187
187
187
167
151
162
162
162
155
162
170
184
186
170
148
147
165
165
147
117
113
114
130
147
147
154
164
164
164
187
176
170
147
130
109
98
94
98
120
155
178
186
155
144
144
144
147
155
164
164
144
120
120
144
151
136
123
123
137
150
157
161
157
149
141
145
150
153
153
148
145
140
140
148
155
155
155
137
130
136
144
152
154
157
160
152
151
147
152
151
147
144
141
148
164
184
197
197
189
181
173
173
169
165
160
165
165
165
160
152
156
151
161
171
178
186
186
177
170
163
171
171
171
171
171
164
160
152
156
160
160
161
157
164
164
164
164
167
171
179
180
186
180
171
172
175
179
178
179
178
172
164
160
156
156
159
164
172
175
173
164
160
160
164
165
183
171
171
176
186
187
200
191
186
183
178
183
191
191
183
171
164
160
160
160
163
159
156
156
155
170
171
170
170
170
170
170
187
187
195
200
200
193
172
159
162
170
167
162
162
170
186
193
179
163
147
163
155
132
114
114
114
129
147
162
176
176
176
187
187
187
170
147
117
97
94
95
97
120
147
155
186
178
176
155
144
144
176
186
176
164
144
144
144
144
136
123
128
141
157
161
157
149
141
137
145
150
153
155
147
147
148
155
163
163
158
155
139
139
144
147
147
145
149
157
160
156
151
152
156
151
147
141
152
168
192
203
203
193
181
177
177
173
173
168
173
176
176
176
164
157
159
164
179
183
183
186
177
177
171
171
171
177
171
164
168
164
160
160
165
172
169
168
164
164
164
159
164
171
179
183
191
180
179
175
172
179
178
178
175
172
164
164
156
148
148
156
172
180
184
175
164
157
163
163
167
175
175
183
186
200
200
200
187
191
186
186
186
191
183
167
159
159
159
159
164
156
147
152
155
163
177
179
179
177
177
177
187
187
200
200
200
186
171
162
159
159
162
162
162
168
183
192
193
163
155
162
155
132
114
105
105
121
139
155
170
178
178
176
178
176
162
130
105
98
98
98
98
109
129
155
186
186
179
155
147
144
144
186
186
176
155
144
145
145
136
136
141
153
161
161
144
144
144
144
149
160
161
161
155
153
153
153
155
154
158
154
147
147
145
136
136
152
160
165
171
164
159
156
159
164
159
148
157
172
188
197
196
188
176
172
168
161
157
165
173
177
176
176
165
172
172
179
183
183
180
178
179
177
171
163
170
164
164
161
157
157
160
165
165
173
169
169
168
172
172
164
164
167
175
180
191
183
178
175
172
175
175
172
173
168
168
168
160
152
152
156
172
180
188
178
164
163
163
164
167
175
175
183
186
186
191
187
187
191
193
186
186
186
175
167
155
159
159
164
164
156
147
148
163
171
179
183
186
179
186
187
177
187
195
195
187
176
167
162
151
155
154
162
159
162
175
186
203
179
162
147
147
130
105
105
98
114
129
147
162
170
170
176
154
147
139
114
98
98
98
98
89
97
114
147
178
193
193
186
147
144
144
176
176
176
155
144
154
154
152
147
154
160
158
153
133
134
137
145
155
169
169
169
154
153
148
148
148
153
155
153
147
147
145
136
139
152
161
168
172
164
163
164
175
179
175
172
164
172
181
188
181
173
164
157
157
152
149
149
157
165
165
165
164
172
179
188
195
188
180
179
179
177
171
163
163
163
156
149
149
152
157
160
165
165
169
169
173
176
180
176
168
172
178
188
191
188
183
178
176
178
173
168
168
165
165
172
168
164
164
164
176
180
183
175
164
163
164
164
167
175
175
176
178
183
179
179
186
187
193
187
183
175
171
159
156
159
164
167
164
156
152
152
163
167
171
175
176
176
171
176
170
177
187
179
178
172
167
160
145
151
154
159
159
154
167
186
196
170
147
139
130
121
114
105
97
98
109
129
139
155
162
162
162
154
130
114
98
89
98
98
98
89
98
130
155
193
193
193
147
129
129
144
147
147
164
147
154
160
155
163
168
163
155
141
133
137
150
165
169
177
177
169
161
155
147
140
145
145
148
153
147
147
141
141
145
155
168
176
172
164
160
172
178
178
178
180
176
176
176
173
172
168
164
157
157
149
149
144
149
149
149
152
163
172
180
196
196
188
179
172
179
172
164
162
155
151
151
147
144
149
152
160
165
169
165
165
165
173
176
176
168
168
176
188
191
191
188
184
188
188
180
168
165
165
165
173
176
180
180
180
188
181
178
172
163
159
164
172
167
171
171
176
171
176
170
170
176
178
187
178
176
175
167
155
151
159
167
171
164
160
160
164
163
159
163
159
156
155
155
155
162
170
170
176
175
175
172
167
145
144
151
159
159
151
156
175
178
162
136
130
130
130
121
114
105
98
97
105
129
147
154
162
170
155
130
105
82
79
82
82
98
89
89
120
155
178
178
186
147
144
129
129
144
144
147
144
154
155
160
168
169
163
153
141
145
157
173
177
185
181
177
163
154
155
145
140
139
141
145
147
148
147
139
139
153
172
176
177
168
156
156
164
172
172
175
180
180
178
172
165
168
172
172
168
165
157
149
144
141
144
149
152
163
173
191
196
196
188
175
164
179
172
163
156
155
156
156
148
149
153
157
165
165
165
165
161
157
160
165
165
164
168
172
180
188
188
188
188
192
192
188
181
168
165
168
173
181
188
192
192
188
180
172
163
159
161
171
175
167
156
167
171
170
170
162
155
164
170
176
176
171
170
163
155
156
156
167
168
156
160
172
172
164
164
156
151
151
147
145
144
155
155
155
162
172
178
175
160
151
141
136
151
151
145
145
151
154
139
136
139
130
130
129
114
98
98
89
98
114
130
147
155
179
155
130
105
82
79
82
89
97
82
82
114
147
155
155
155
147
147
144
144
144
144
147
164
155
154
155
163
168
161
161
153
157
168
177
185
185
173
161
155
148
145
145
140
139
141
145
145
155
147
137
144
161
179
184
176
165
152
149
157
164
164
172
184
184
173
165
164
168
173
180
180
168
165
157
149
148
149
160
165
175
181
196
196
196
191
178
179
178
179
164
163
159
164
164
164
165
165
169
173
173
169
165
160
157
153
156
165
172
173
180
184
188
181
180
188
192
196
196
192
181
176
172
173
180
188
192
196
188
175
163
159
159
159
167
175
167
151
159
167
170
155
147
144
151
162
170
167
162
162
159
155
156
159
172
168
152
155
176
176
172
160
152
147
144
144
144
144
144
144
144
145
159
168
160
145
144
136
136
136
144
144
141
136
129
136
139
140
147
147
121
114
105
97
97
97
105
113
130
147
165
155
132
105
82
82
89
97
82
82
82
109
130
147
155
155
155
162
162
147
155
164
155
176
160
152
147
153
161
161
158
158
165
177
182
181
177
165
153
140
140
140
145
145
140
140
140
141
155
147
145
147
161
176
177
169
159
149
148
149
152
157
168
180
184
173
168
165
172
176
180
181
172
165
160
157
160
165
181
189
188
196
196
200
196
195
191
191
180
179
164
163
163
175
176
176
177
181
181
181
181
177
169
165
160
152
152
165
173
180
181
188
188
178
175
173
184
192
192
193
192
189
181
173
173
181
188
188
180
165
159
159
159
159
164
171
167
155
163
162
163
155
147
144
151
164
164
154
155
164
155
155
151
156
172
176
156
164
184
184
176
165
152
141
141
141
141
141
136
141
141
136
141
154
144
136
141
136
136
136
145
154
151
144
136
147
155
163
163
147
132
113
105
105
105
105
97
97
113
121
155
141
121
98
89
89
89
89
89
82
82
98
113
130
155
155
176
178
155
147
162
162
162
162
154
145
139
139
145
153
153
154
165
169
177
169
158
153
140
132
137
140
140
141
140
139
140
139
148
153
153
155
161
168
168
161
152
152
149
149
149
152
164
168
173
172
165
164
165
175
173
176
168
168
165
165
175
181
188
192
196
196
196
196
196
196
195
191
180
179
171
163
163
175
181
188
189
189
189
188
188
185
177
177
165
160
160
173
181
180
180
184
180
172
164
168
181
189
197
197
203
203
196
180
172
176
180
180
175
164
163
164
163
156
159
163
167
162
167
170
163
155
147
147
151
164
155
151
145
151
147
141
147
152
176
176
160
173
196
197
184
169
154
141
136
136
136
136
136
141
141
129
133
136
136
123
129
136
141
144
151
167
172
167
163
178
179
179
173
149
132
113
105
105
105
105
105
97
98
105
121
117
105
90
82
82
89
89
89
82
82
89
105
130
155
155
178
179
162
147
154
154
151
154
147
136
133
130
137
139
141
146
145
150
153
153
145
141
141
137
130
137
140
139
137
137
137
137
147
155
161
160
160
155
160
157
157
160
157
152
149
156
160
164
164
160
157
157
157
164
164
165
164
164
164
168
176
181
184
188
196
192
188
188
188
191
188
191
184
178
167
163
163
175
181
184
189
192
193
197
193
188
185
182
169
168
173
184
189
181
181
188
176
164
157
165
181
192
203
203
206
203
197
181
172
172
173
175
172
164
163
171
164
156
151
159
167
151
159
167
162
159
159
162
170
162
155
144
136
145
145
144
141
152
173
176
169
173
185
188
177
165
149
141
139
137
137
137
139
139
139
137
137
136
123
117
133
133
136
152
160
168
172
168
163
179
185
173
165
149
134
117
102
105
102
113
113
102
98
102
117
113
98
82
82
82
89
89
82
82
82
89
98
117
155
155
179
155
147
147
163
147
147
147
145
136
123
123
137
141
141
134
129
137
141
145
145
145
145
139
145
145
140
139
139
139
137
137
147
155
163
168
160
147
145
145
157
165
172
165
165
172
165
149
149
157
160
160
164
160
160
160
160
176
189
189
180
176
180
188
188
188
188
180
180
178
178
180
180
175
163
159
165
173
181
184
193
193
197
206
206
206
206
197
188
182
182
185
181
169
172
180
165
157
152
161
177
189
197
203
203
203
203
189
180
173
176
176
173
168
168
172
164
156
149
159
167
144
151
159
170
170
171
171
186
178
162
145
136
141
136
129
136
149
168
176
169
169
173
169
165
153
141
141
145
145
145
145
140
147
145
137
132
130
128
123
123
128
136
144
152
155
155
153
147
155
163
158
149
144
132
112
102
102
102
102
113
102
113
117
117
105
98
82
78
78
82
82
82
82
82
89
89
105
132
155
155
147
147
147
147
162
162
163
147
130
123
123
137
145
145
141
137
141
141
141
146
153
153
153
153
148
145
145
141
139
139
139
139
152
163
169
161
147
141
137
152
165
181
189
192
189
181
165
153
160
161
165
165
160
157
157
173
185
203
203
189
180
176
176
180
180
179
172
164
163
164
164
171
164
163
161
164
173
181
188
193
203
206
206
212
220
212
212
203
193
185
181
173
157
149
157
157
149
148
157
165
181
189
192
197
197
197
188
181
181
189
189
180
172
164
168
161
156
156
157
167
129
141
155
163
170
171
175
178
176
167
145
141
144
144
144
144
149
161
168
165
169
161
153
150
137
134
137
146
153
153
148
148
148
147
137
128
130
128
128
123
133
128
137
144
141
144
144
132
132
132
141
134
134
119
119
105
102
102
117
117
117
117
117
117
102
98
82
74
74
74
74
82
82
82
82
82
97
113
147
147
147
147
130
147
147
147
147
145
130
123
123
137
153
158
165
158
158
158
155
153
158
158
161
154
155
153
148
145
145
145
141
130
147
155
163
155
152
141
144
149
164
176
189
197
189
173
160
149
157
160
160
165
164
164
164
176
189
203
203
196
188
178
176
183
178
172
163
156
151
156
159
155
161
163
163
157
164
173
180
185
193
203
206
206
206
206
206
206
193
185
177
165
157
149
148
152
149
152
157
165
173
181
185
197
196
189
188
188
192
192
192
184
180
173
175
165
164
164
168
167
133
129
147
151
159
163
162
162
167
167
155
145
154
168
176
172
160
153
153
153
158
158
153
137
128
123
129
145
153
155
155
153
148
145
132
128
128
128
128
132
129
128
132
129
132
132
132
132
121
121
132
132
121
117
117
117
105
105
117
117
117
117
117
105
102
91
82
82
78
78
78
82
82
82
82
74
82
98
117
147
155
155
132
139
140
139
139
140
130
123
123
137
153
173
176
185
188
182
173
161
155
155
154
154
154
155
153
147
145
139
137
130
141
145
147
152
155
161
161
157
153
160
168
173
165
152
144
137
144
149
160
165
165
168
172
180
189
197
203
196
188
188
188
183
178
164
159
159
159
156
156
151
156
159
156
152
157
160
165
173
181
185
188
188
188
193
197
197
188
177
173
169
160
152
149
160
164
165
165
168
173
177
181
197
189
184
181
184
189
184
181
180
181
181
181
181
180
180
180
167
136
129
141
151
156
156
156
164
167
176
167
155
160
176
193
192
173
153
145
141
155
161
158
137
128
123
128
140
148
153
153
148
148
145
132
128
125
129
129
137
132
129
123
122
125
125
133
132
117
113
121
119
117
119
117
117
117
105
117
117
117
121
117
117
102
91
82
82
82
82
82
82
82
82
82
74
82
89
98
121
155
155
147
130
130
130
130
137
123
117
123
129
141
158
173
188
193
188
173
155
141
145
146
148
153
155
153
147
139
130
130
141
139
141
139
152
161
169
169
160
149
149
153
157
149
141
141
141
144
152
160
165
173
173
176
181
188
196
203
203
203
196
196
183
172
159
156
163
164
163
156
156
156
156
156
152
157
157
160
165
169
173
173
173
177
182
185
193
188
177
169
165
165
157
149
165
168
173
165
165
165
168
169
181
176
173
180
181
181
176
165
176
181
189
196
192
192
192
189
167
141
136
145
159
167
159
159
162
171
178
175
167
168
184
203
196
181
161
149
141
153
165
161
146
137
121
128
137
141
145
140
145
148
140
137
132
130
130
129
133
129
125
122
117
118
122
122
119
112
102
102
112
105
102
112
117
105
105
117
121
121
121
121
128
117
91
82
74
75
75
78
75
75
74
74
74
82
82
89
105
132
147
132
132
121
123
130
123
123
115
115
117
123
137
154
173
176
176
165
141
134
137
140
145
148
153
148
145
137
137
137
147
147
145
144
152
161
168
161
150
149
145
149
149
141
144
141
152
157
161
168
173
173
176
176
188
188
197
211
211
196
188
188
179
164
148
156
172
175
171
161
159
156
156
152
157
160
160
158
157
158
161
158
165
165
177
185
185
185
177
173
173
169
160
149
157
160
164
157
152
153
157
157
160
160
165
173
180
176
173
168
176
188
193
197
197
203
197
196
151
152
141
151
160
168
167
167
162
170
175
178
175
183
192
203
196
185
169
153
141
146
169
173
154
141
129
137
140
141
137
132
132
140
140
138
138
138
135
130
125
125
122
118
110
107
112
112
112
102
102
102
102
102
105
105
105
112
114
121
121
131
131
136
136
121
102
83
74
74
74
74
74
78
74
74
74
82
82
82
98
121
132
132
132
125
115
117
123
117
117
117
114
114
125
144
158
167
165
154
141
132
137
141
141
145
145
141
139
137
139
145
152
155
153
144
141
152
153
153
145
145
145
141
141
137
141
144
149
157
165
165
172
173
173
173
184
181
188
203
200
191
179
175
172
161
156
156
165
179
172
164
159
156
156
157
160
160
160
153
149
150
153
154
161
169
173
177
182
185
185
177
177
176
165
149
152
152
157
149
145
149
157
157
152
157
165
173
173
173
172
173
181
189
192
189
192
197
197
192
151
152
141
151
162
168
167
162
170
171
176
178
183
186
192
200
203
189
177
153
137
141
165
177
165
146
141
141
141
140
132
123
128
132
133
140
141
144
138
127
122
122
122
118
110
107
102
107
102
102
102
102
96
105
105
105
114
121
121
131
131
131
131
136
151
134
105
83
74
74
74
74
78
74
74
74
82
82
82
82
82
105
113
121
132
132
123
123
117
117
121
125
121
114
130
146
165
167
158
146
141
141
141
145
140
140
140
139
137
139
145
153
155
155
155
144
136
139
149
152
149
149
149
141
134
134
134
137
141
148
152
160
165
168
172
173
176
172
172
183
188
178
172
171
163
156
156
159
164
172
164
161
159
159
161
157
157
157
149
149
149
150
153
158
165
167
177
173
185
193
193
185
181
176
164
148
152
157
157
149
149
157
165
165
157
160
168
173
173
165
165
173
181
184
184
176
173
181
185
184
151
154
144
155
168
168
172
176
178
176
183
183
186
186
192
193
203
197
185
165
145
141
158
173
165
158
153
146
154
153
140
129
128
132
132
133
138
144
140
122
112
119
119
112
107
96
96
105
96
102
96
96
105
112
114
114
121
121
131
136
136
131
131
136
151
136
117
91
74
74
74
74
74
74
74
74
74
82
74
62
82
89
105
113
121
121
121
117
117
117
122
130
130
130
138
154
167
167
154
146
140
141
148
153
141
137
137
137
137
144
147
155
155
155
155
145
137
137
141
145
153
153
153
149
137
133
133
133
137
137
149
157
165
172
175
172
172
163
159
163
164
164
164
164
164
163
159
156
163
164
163
157
149
159
163
163
156
147
144
149
149
153
158
158
165
165
177
185
193
197
197
189
177
165
157
149
149
152
157
157
157
160
168
176
168
165
165
165
157
157
165
176
185
184
173
160
157
160
169
173
151
168
153
161
169
168
168
177
183
186
193
193
192
192
192
192
196
196
193
177
158
153
154
165
167
158
154
158
163
165
154
140
139
140
137
133
134
127
127
112
112
112
112
112
112
105
105
112
102
112
112
105
112
121
128
131
131
128
131
136
136
121
131
136
151
136
117
91
74
62
62
74
74
74
74
74
74
74
74
71
62
71
82
97
105
113
113
113
115
117
122
126
134
141
154
160
158
154
146
138
141
146
153
153
139
130
128
130
137
139
147
153
155
163
161
153
145
145
145
153
158
161
169
169
150
137
134
134
134
136
144
157
172
176
178
179
164
156
148
147
151
159
163
164
164
163
159
159
164
164
157
152
152
152
156
156
148
141
141
149
157
161
161
161
167
173
188
196
206
206
197
185
173
160
149
137
148
152
157
157
157
161
173
181
177
168
160
153
152
157
165
173
181
176
165
152
144
149
160
165
167
179
169
170
169
168
169
179
193
193
196
196
192
192
185
185
193
206
193
188
167
158
151
151
158
158
158
160
173
165
158
149
141
140
133
134
126
118
112
107
107
107
112
112
112
112
127
114
121
121
114
114
114
131
131
136
136
136
136
136
136
121
128
131
149
136
121
102
74
62
62
74
74
74
62
62
74
74
74
62
62
68
79
89
97
105
109
109
109
113
122
134
149
165
176
176
158
151
146
141
141
146
155
153
140
132
133
130
137
144
144
147
147
155
155
155
147
148
153
146
158
169
177
185
165
141
133
134
128
133
144
157
172
180
180
183
171
159
147
148
147
156
163
164
172
164
159
163
164
165
164
156
152
149
148
148
148
144
152
160
165
169
169
173
177
188
206
212
206
203
189
176
165
157
149
137
144
149
157
157
152
157
168
176
184
165
149
144
149
157
165
168
169
168
157
144
134
141
149
157
151
184
169
177
177
169
169
179
193
196
196
196
193
179
179
179
184
188
188
176
167
151
151
160
158
160
158
167
173
173
160
149
138
133
130
126
119
112
107
112
98
112
112
127
128
128
128
128
131
128
121
112
114
131
131
136
136
136
136
136
131
121
121
128
136
136
134
105
82
62
62
74
78
74
74
62
62
74
74
62
68
68
74
82
89
98
102
105
105
113
126
134
160
179
179
176
160
151
146
141
141
146
154
148
140
137
132
139
145
139
136
136
137
145
152
153
153
153
146
141
153
158
177
188
173
141
128
133
134
134
144
157
172
178
180
180
179
164
156
151
151
161
164
175
175
164
163
164
172
173
173
172
164
156
148
147
147
152
160
165
173
177
182
188
196
206
206
212
197
189
177
169
165
160
149
141
148
152
157
157
149
149
157
165
177
160
141
144
153
165
165
165
160
157
152
145
137
141
149
157
151
179
176
179
177
173
173
179
196
196
196
196
188
176
165
165
173
167
167
160
160
144
144
144
149
149
151
160
160
160
160
149
134
132
126
126
119
112
112
119
112
114
127
128
131
131
131
131
136
128
114
114
114
121
131
131
136
131
131
128
121
121
121
121
121
136
134
117
90
62
62
62
78
78
74
62
62
74
74
62
62
74
74
82
90
98
102
102
105
113
127
144
160
193
179
160
151
151
146
138
138
146
153
148
145
140
145
147
148
139
128
123
123
139
145
153
153
153
145
137
141
150
169
182
177
149
134
137
133
133
137
149
164
172
179
178
172
164
159
156
163
171
175
175
175
164
163
164
172
180
188
189
180
172
159
156
159
164
168
173
181
189
197
206
220
218
206
193
181
173
165
165
165
157
149
141
148
156
160
157
148
144
149
160
173
157
141
149
160
165
160
150
144
149
152
149
149
149
149
160
151
177
169
177
177
173
173
179
188
196
196
196
176
160
160
151
151
149
149
149
144
134
127
127
127
127
127
128
144
149
144
134
141
134
134
134
128
128
128
128
128
128
128
131
144
131
131
128
121
112
105
98
105
114
128
131
131
131
121
114
121
114
121
121
121
121
134
117
91
62
62
62
74
75
74
62
62
62
74
74
71
74
82
89
98
102
112
110
110
119
134
149
160
179
176
160
138
144
138
137
141
146
154
153
153
148
153
154
161
152
141
136
129
130
141
145
145
148
141
137
129
141
150
161
165
153
141
137
128
128
133
141
149
163
172
172
163
159
156
159
164
178
180
179
164
164
164
164
172
180
192
197
197
188
172
172
172
173
173
181
192
197
206
218
220
206
189
177
161
157
157
160
161
157
149
148
148
149
157
152
149
149
157
165
165
150
144
149
165
165
152
144
137
144
157
160
157
149
152
160
151
169
163
169
169
165
165
167
179
179
179
179
165
149
134
144
140
135
127
127
127
127
127
112
119
112
112
112
117
127
127
127
138
134
144
134
136
144
148
148
131
131
131
131
131
131
131
114
105
96
90
96
98
112
117
127
121
114
112
105
105
105
114
117
117
121
121
117
91
74
62
62
69
69
67
62
62
67
69
67
62
74
74
82
98
113
117
117
117
132
134
144
149
149
144
140
130
130
135
130
130
141
146
154
153
148
153
155
154
155
153
153
141
139
141
139
141
145
141
137
129
134
141
145
154
158
153
145
133
133
128
133
141
149
161
163
161
156
155
159
171
178
178
172
164
164
164
171
172
180
189
203
203
192
180
179
178
184
189
197
203
203
206
203
193
185
173
158
149
149
149
157
157
149
148
148
141
141
149
149
152
157
165
168
160
149
144
149
160
160
149
141
145
152
165
169
165
157
157
165
151
169
161
158
158
158
154
154
149
165
165
160
149
134
134
127
127
127
127
119
119
127
122
122
127
119
112
112
119
117
127
127
127
134
134
134
144
151
160
151
160
160
131
131
131
131
114
98
90
80
80
96
96
105
105
112
114
105
105
96
102
105
105
112
117
121
121
117
91
74
62
62
69
67
62
62
62
67
67
69
62
62
66
79
90
105
102
102
113
119
121
134
134
127
127
119
122
130
130
130
129
135
141
148
140
139
139
141
147
152
155
163
155
155
145
139
145
153
153
146
141
141
141
141
154
169
165
150
137
134
133
133
141
148
156
156
156
155
148
151
164
179
175
163
163
164
172
175
175
180
189
197
196
188
180
178
180
188
203
211
203
203
197
185
173
158
158
160
157
152
152
157
149
141
141
141
133
141
148
149
152
157
165
169
150
148
137
149
157
160
149
149
157
165
176
181
173
165
165
168
151
161
153
148
146
144
138
144
144
144
149
144
134
127
128
128
127
127
117
119
128
128
128
128
128
114
114
114
121
121
128
128
128
134
128
136
131
148
151
167
160
148
131
131
128
114
98
65
73
72
85
102
105
96
96
105
105
102
102
90
90
102
105
105
105
117
117
117
102
83
74
62
67
62
61
62
62
62
69
62
62
62
68
68
82
90
102
102
102
102
112
119
119
112
112
112
118
130
130
129
122
129
137
137
139
130
128
130
130
141
155
170
170
163
153
144
144
145
153
146
145
140
141
145
155
161
161
157
149
141
136
134
137
148
156
156
156
151
151
159
163
171
163
156
159
164
179
188
184
176
180
189
189
176
168
167
178
195
203
211
203
196
176
160
149
152
157
161
160
157
152
152
149
141
141
134
133
133
149
152
149
157
165
173
157
137
137
149
153
149
149
149
168
180
188
188
184
181
176
172
151
141
132
129
130
130
140
144
134
144
144
134
134
127
128
128
128
128
128
128
128
128
131
144
144
131
136
128
134
128
128
128
134
134
134
128
128
128
136
144
148
131
131
131
128
105
90
65
72
80
96
105
112
96
96
96
105
102
96
85
83
90
105
105
105
105
117
117
102
91
74
74
62
62
62
62
62
67
62
62
62
62
62
68
74
90
98
102
94
102
102
112
112
107
112
112
118
135
144
143
137
132
137
137
139
130
130
123
123
123
141
155
163
163
153
145
140
145
153
153
145
145
145
146
150
150
153
153
153
149
141
141
141
148
149
156
161
161
159
163
164
164
155
148
151
164
188
196
192
188
181
185
173
165
156
159
172
180
188
188
180
173
168
160
160
160
160
165
173
168
165
165
157
149
148
148
141
141
156
161
152
157
168
173
160
148
137
144
149
144
149
158
173
181
192
192
188
188
184
181
151
126
118
118
122
127
127
127
134
134
134
134
134
128
128
128
131
144
144
144
144
136
148
151
148
148
148
148
148
144
136
136
134
136
136
128
121
121
121
121
128
128
131
128
112
90
65
65
77
90
105
114
105
96
90
90
102
96
90
83
83
91
102
105
105
117
105
105
102
91
83
62
62
62
59
62
66
62
62
62
66
66
62
68
74
82
89
89
90
90
90
98
102
102
102
112
118
138
149
149
138
138
141
141
140
137
130
123
114
109
123
141
154
155
155
145
144
141
145
150
141
148
153
150
149
145
145
149
153
157
150
149
144
148
148
152
159
163
163
163
164
159
155
147
164
180
203
211
203
197
181
173
157
152
149
159
172
179
175
165
160
164
164
165
165
168
173
173
173
173
172
168
165
157
152
153
148
148
157
160
157
160
168
168
161
149
141
148
148
148
157
173
175
180
188
188
184
188
188
192
151
118
119
127
127
127
127
119
127
128
128
134
136
136
144
136
136
148
151
148
131
128
131
144
136
144
144
148
148
144
136
131
136
134
128
128
121
121
121
114
105
114
121
121
98
90
82
65
90
105
121
105
96
96
96
96
90
90
83
80
77
85
102
112
121
117
105
105
102
91
83
74
61
61
59
59
61
66
62
59
57
62
62
66
71
74
82
82
82
82
86
90
94
96
102
102
118
127
141
134
133
138
141
148
145
139
130
123
123
114
123
136
139
147
155
153
140
136
141
145
145
153
153
153
149
145
145
149
153
153
160
157
149
144
148
152
156
161
163
163
161
159
159
163
188
203
218
218
212
197
177
158
149
150
157
163
172
178
175
172
171
171
171
164
172
172
176
180
173
165
160
165
169
173
165
161
149
149
157
160
157
160
168
165
157
148
148
149
152
152
164
175
175
173
175
175
178
188
188
188
148
112
119
128
128
128
128
128
121
128
128
136
144
144
144
136
136
148
151
144
128
114
114
121
121
128
136
144
144
131
131
131
128
128
121
121
121
136
121
105
96
105
114
114
98
90
90
90
105
121
121
105
90
96
102
90
85
85
83
77
77
85
102
112
121
117
105
91
102
91
91
82
67
62
59
55
59
62
62
62
57
57
57
62
66
71
78
82
87
90
87
87
87
94
102
102
112
119
126
130
133
141
148
148
147
130
128
123
123
123
130
130
130
147
161
155
145
137
137
144
153
153
153
155
157
157
150
149
152
157
161
160
152
149
152
157
160
164
172
164
163
163
177
178
203
212
218
212
203
193
173
154
150
161
165
168
171
175
175
172
179
175
175
175
171
172
172
172
165
157
152
160
176
185
177
165
149
144
149
157
157
165
173
165
156
148
141
148
159
164
175
178
175
172
163
163
172
180
183
180
144
114
127
128
131
144
136
136
128
128
136
136
136
136
128
121
131
136
136
131
121
112
105
105
112
121
128
128
131
128
121
114
121
114
112
114
121
121
114
105
90
105
105
112
98
96
96
96
105
114
114
105
90
98
96
85
83
83
77
77
77
78
96
105
121
117
105
91
91
91
83
74
66
59
57
55
57
59
59
62
57
57
62
62
66
74
74
82
87
90
102
94
90
90
90
90
102
102
117
119
134
141
141
140
139
130
123
123
128
128
130
132
139
155
169
169
153
145
144
141
153
153
153
157
165
165
160
157
157
160
165
164
157
157
160
165
172
178
180
173
164
164
178
188
196
197
196
193
193
185
173
158
169
177
181
176
171
167
172
171
179
179
179
179
179
175
167
164
160
149
144
153
173
185
182
169
153
149
149
152
157
165
173
168
156
141
133
141
156
164
178
188
178
172
157
157
171
180
180
178
144
131
131
131
131
148
148
148
144
136
128
128
128
128
121
112
114
114
121
121
114
112
105
105
98
105
114
114
114
114
105
105
105
105
105
105
105
105
105
105
96
105
105
105
105
96
91
105
105
105
105
91
91
91
91
78
77
77
75
75
75
77
90
105
121
105
91
91
91
91
78
75
62
62
46
51
51
62
51
57
57
57
59
57
62
66
78
82
90
102
102
102
91
91
90
87
90
94
102
117
132
132
140
140
145
130
130
128
130
132
130
132
155
173
179
173
161
147
145
152
155
153
155
161
169
173
165
157
157
164
164
165
160
165
165
173
180
181
184
184
178
178
178
186
180
175
175
176
181
177
173
165
188
197
197
180
172
171
164
164
171
177
179
179
179
164
163
156
148
148
144
150
165
185
185
173
161
149
149
149
153
165
168
165
148
141
141
141
151
164
179
183
179
172
163
159
163
172
178
175
144
136
131
131
131
144
148
148
148
136
128
121
121
121
112
105
105
105
105
112
112
105
105
90
98
98
98
105
105
98
98
98
105
105
105
98
98
105
105
98
98
96
96
105
105
105
105
105
105
105
78
78
78
85
85
78
75
73
73
73
69
75
90
105
105
105
105
91
91
83
75
74
62
62
62
46
62
51
57
51
57
62
62
57
63
66
79
82
90
102
102
102
102
98
87
82
79
87
98
113
121
132
132
141
147
139
139
130
137
130
132
140
163
179
185
177
160
152
149
152
155
155
160
168
169
173
165
157
157
160
160
160
160
165
168
173
180
181
184
188
195
188
178
179
164
161
159
172
176
177
169
169
193
203
197
180
172
171
164
161
163
163
171
171
163
163
162
147
148
148
149
157
176
188
188
182
165
150
149
149
149
160
165
157
147
141
147
147
151
156
164
164
175
172
164
159
156
163
171
165
148
144
131
121
114
128
131
144
144
131
121
114
114
112
105
96
90
90
96
98
105
98
96
90
90
98
98
98
96
96
96
96
96
98
105
96
90
90
90
90
91
90
91
98
105
105
105
105
105
90
78
78
78
83
78
69
67
67
69
67
69
77
85
96
105
91
91
85
83
83
75
74
62
46
39
47
51
51
57
51
57
57
57
57
57
66
75
82
90
91
102
102
94
87
82
82
79
87
98
105
113
125
141
148
155
163
155
139
137
130
132
145
169
184
185
179
160
144
144
154
160
155
161
168
165
160
160
160
164
165
165
164
160
160
164
165
172
175
183
195
200
195
179
177
155
147
148
164
180
177
173
168
192
203
196
178
171
164
162
162
155
162
155
155
155
155
155
159
149
149
149
158
182
193
197
188
176
153
141
141
149
157
164
157
141
148
148
156
156
148
149
159
163
164
164
159
151
156
164
175
144
131
121
121
114
105
112
128
128
128
114
114
112
105
98
96
90
90
96
96
98
98
90
90
85
90
96
96
96
96
90
90
96
98
96
90
90
90
90
90
85
85
90
96
96
105
105
105
90
90
78
78
78
78
78
62
61
67
67
67
69
75
85
96
105
91
85
78
83
78
75
62
62
62
62
46
51
51
51
57
57
57
57
57
66
66
74
82
90
90
87
87
90
82
82
79
82
89
98
102
113
121
140
148
163
169
155
139
137
136
137
145
169
179
185
176
153
144
145
153
155
161
161
160
155
157
157
157
165
175
173
172
165
164
165
165
172
178
183
196
200
200
187
177
163
151
156
164
180
176
168
165
181
192
188
165
163
159
155
155
155
155
155
151
155
156
163
164
161
157
149
158
182
197
197
197
177
160
149
144
149
157
165
157
141
148
159
161
149
141
141
148
156
163
163
156
148
156
164
179
131
114
114
114
98
90
90
98
114
114
114
112
105
98
96
96
90
90
90
90
90
90
90
90
81
90
96
96
90
90
90
96
96
98
96
90
90
96
90
85
78
77
83
91
98
98
105
102
96
91
83
78
75
75
69
62
61
61
61
62
62
75
85
90
91
85
83
78
75
74
74
62
62
51
55
51
62
57
55
57
57
55
57
57
66
67
74
74
74
82
78
82
82
82
78
79
82
89
98
105
109
117
139
148
163
170
155
147
139
137
137
147
177
179
179
172
152
141
144
154
160
163
161
155
152
148
152
156
168
175
176
173
172
164
164
168
179
180
191
196
200
211
200
187
171
163
163
172
173
172
165
164
176
189
180
164
159
155
155
155
155
162
156
162
156
163
172
183
176
165
157
164
181
197
203
197
181
161
149
149
149
164
165
157
141
148
161
164
149
141
133
141
151
159
161
151
148
159
164
179
131
114
114
114
98
65
65
90
98
105
105
105
98
96
96
96
85
90
81
82
80
80
80
81
82
90
90
90
90
90
81
87
90
90
90
90
96
98
96
85
75
75
77
85
90
90
90
90
91
91
85
78
69
69
62
62
55
55
61
61
69
75
78
90
78
78
78
78
78
74
62
62
57
51
55
51
57
57
57
51
57
57
55
59
66
71
74
71
71
71
74
74
74
74
82
82
87
90
102
105
109
117
130
140
147
155
155
147
147
139
141
147
169
176
176
163
152
144
148
154
168
168
168
154
144
141
148
156
164
168
175
172
168
164
172
175
180
191
196
196
200
200
200
195
186
179
171
175
175
172
165
165
181
189
180
164
161
159
155
163
163
164
177
164
164
164
183
195
184
173
165
165
177
188
193
188
176
161
150
152
157
165
165
160
141
148
159
157
149
148
148
148
151
151
151
148
151
164
172
179
131
98
98
114
114
65
65
90
90
96
105
105
98
96
90
90
90
85
85
80
72
72
80
80
80
81
90
85
90
81
81
81
85
85
85
90
90
98
98
90
77
75
77
83
85
85
83
83
85
90
91
78
69
69
62
62
53
55
61
61
69
75
83
90
78
78
78
78
74
74
62
62
57
59
55
55
55
55
51
62
57
57
57
59
66
71
67
66
66
71
71
71
74
82
82
82
87
98
102
113
113
117
130
139
139
147
147
147
147
145
144
147
163
172
170
168
155
154
154
155
168
170
168
151
141
141
147
156
163
164
164
171
167
172
178
180
188
196
196
195
187
187
195
200
195
186
179
172
172
172
168
172
189
196
184
171
164
163
163
171
179
179
183
179
179
179
188
196
192
184
173
173
176
181
181
177
169
157
149
153
157
165
165
161
141
148
156
156
156
152
159
157
156
151
148
148
161
175
175
165
131
98
98
98
98
98
65
65
80
90
98
98
96
90
85
81
90
85
90
82
72
65
65
73
65
82
81
90
81
82
80
80
85
85
85
85
90
90
96
90
77
77
75
83
83
78
77
77
78
90
85
75
62
69
62
62
55
55
55
62
69
77
83
85
78
78
78
75
74
62
62
62
59
57
57
55
55
55
57
62
57
57
57
57
62
66
66
66
66
66
71
71
78
82
82
87
90
102
110
113
117
123
132
147
147
155
154
152
152
147
144
145
155
168
176
176
168
160
160
164
175
175
168
151
141
147
156
159
161
159
160
163
164
175
180
183
188
195
195
186
179
179
187
187
195
186
179
171
171
164
172
175
192
196
188
175
172
164
172
179
179
178
186
179
179
178
188
196
196
196
184
180
173
169
165
158
157
149
149
157
157
165
165
152
147
148
149
156
156
159
163
164
156
156
148
159
171
178
179
164
148
81
81
98
98
81
73
65
65
81
90
90
90
81
80
80
82
90
90
82
72
72
72
72
77
80
85
85
81
80
73
77
77
80
85
83
85
90
90
90
78
77
75
77
83
77
77
77
78
83
78
62
61
69
67
55
53
53
55
62
69
75
83
83
73
75
77
75
67
67
61
59
57
59
57
57
55
55
55
62
57
57
57
57
62
66
66
71
66
74
74
82
82
90
90
91
90
102
113
121
121
132
147
163
163
170
163
155
155
152
147
154
168
170
179
184
176
170
172
175
176
178
175
159
156
163
171
171
164
161
163
164
175
180
188
183
188
195
186
179
177
177
179
187
187
187
177
163
164
163
171
177
180
188
180
178
178
175
175
183
180
180
179
175
175
180
188
196
203
200
192
181
168
157
153
153
149
141
149
152
157
160
157
149
141
148
156
156
152
159
159
156
156
159
161
164
179
180
175
164
131
98
81
81
98
90
73
62
62
65
81
85
85
80
72
72
80
81
85
81
73
72
72
73
77
80
81
90
80
80
72
72
77
85
85
80
77
83
85
90
83
77
77
77
83
77
77
77
78
78
69
62
61
69
67
53
53
53
55
61
69
75
77
83
69
73
75
75
67
66
59
57
57
59
59
57
55
55
57
62
57
57
62
57
55
57
66
71
74
74
82
87
91
94
94
91
98
102
113
121
132
141
158
170
170
178
170
163
162
160
155
162
172
176
184
184
184
176
176
176
183
183
176
167
167
175
183
180
179
172
172
178
191
196
196
188
188
188
183
179
177
179
179
177
179
177
177
163
163
161
164
165
163
172
175
179
178
175
172
178
180
179
172
171
171
178
188
196
200
203
192
180
164
149
149
145
145
141
149
153
157
157
152
141
136
148
160
160
152
156
152
148
155
161
165
179
180
180
179
172
131
81
81
81
81
81
78
69
63
64
65
80
80
80
72
64
65
82
80
82
80
72
72
72
72
80
90
90
85
80
72
65
72
77
80
77
77
85
83
83
77
75
75
77
83
83
77
77
69
62
62
62
55
67
67
55
51
53
53
61
67
75
77
83
67
69
69
69
67
61
55
55
55
59
59
55
55
51
59
61
59
57
55
55
57
57
66
74
79
82
90
90
91
94
94
91
102
102
113
121
132
147
163
179
184
186
183
178
170
167
168
170
183
183
184
191
186
191
183
175
175
178
183
178
180
188
191
196
195
195
191
191
195
196
196
188
183
178
179
179
179
179
177
179
186
179
177
161
163
161
163
156
148
156
164
172
175
175
179
175
175
175
175
175
175
180
191
200
196
189
180
172
164
152
149
149
149
149
152
160
165
160
149
134
141
148
157
163
156
148
144
141
149
163
175
180
176
175
172
172
131
81
73
81
81
81
81
73
64
64
65
73
80
80
72
64
65
65
65
65
72
72
65
72
65
82
81
81
80
72
64
64
72
72
77
77
83
85
85
83
73
69
69
77
83
77
73
73
69
62
62
62
55
67
67
53
51
51
55
61
67
73
77
77
67
69
69
67
67
61
55
53
55
55
55
51
51
51
55
61
59
57
55
57
57
57
59
71
75
82
90
94
91
91
90
90
94
102
110
121
132
141
163
179
179
179
183
191
193
191
186
184
191
191
191
191
191
191
186
176
175
183
191
188
183
183
191
200
203
200
203
200
197
196
188
180
183
180
178
179
179
177
179
179
186
186
179
171
164
163
161
161
156
159
163
165
175
175
172
172
172
179
178
180
188
195
196
196
184
178
168
164
157
149
149
149
157
157
160
165
168
164
149
141
133
148
156
156
152
148
148
152
156
161
172
172
168
164
164
168
131
81
78
78
78
81
78
77
64
64
64
65
80
80
72
64
64
64
65
65
65
65
64
65
65
77
80
80
72
64
64
61
67
72
75
77
83
85
85
80
67
67
69
73
77
73
69
69
62
69
61
55
61
62
61
51
51
53
55
61
69
73
77
77
67
67
69
67
61
55
51
51
57
55
55
53
51
55
55
59
57
57
55
57
55
57
62
74
79
83
90
91
91
90
87
87
90
102
110
117
132
147
163
165
170
170
178
186
203
203
200
192
192
191
183
183
183
186
183
183
175
183
191
195
183
175
188
203
211
211
211
203
196
189
181
173
178
179
175
175
171
171
171
186
195
186
180
179
171
171
164
163
163
163
163
164
172
175
172
172
179
178
183
188
196
196
191
188
168
163
156
152
149
149
152
157
165
165
165
168
173
165
157
144
136
141
148
148
148
148
152
157
156
160
164
163
157
157
163
164
136
81
73
73
73
78
73
73
65
61
56
64
72
73
72
64
63
64
64
65
65
72
69
69
64
65
75
72
69
64
61
61
64
72
73
75
83
85
83
77
62
62
67
69
75
69
67
67
69
62
61
55
61
61
55
51
51
53
59
62
67
73
75
75
67
67
67
67
55
51
51
51
55
55
55
55
61
61
62
67
61
57
57
57
57
57
66
67
82
83
91
102
91
90
87
87
90
102
113
117
132
158
170
173
170
170
170
186
200
200
193
184
183
175
172
167
175
175
176
178
175
183
191
200
191
179
183
200
211
203
203
188
180
180
180
181
175
172
172
165
171
164
171
179
186
186
183
179
171
164
163
163
161
156
159
164
175
180
183
180
180
178
180
188
188
188
178
171
160
156
156
152
157
157
164
172
165
161
157
160
168
176
172
165
148
156
156
149
148
148
156
163
160
160
160
156
152
159
164
172
136
73
73
62
62
69
69
73
65
56
53
61
69
72
69
61
64
64
64
65
72
69
69
69
63
69
72
73
69
61
61
64
64
69
72
73
77
83
77
69
61
61
67
69
73
67
62
62
62
62
59
55
61
61
55
51
51
53
61
67
69
69
73
75
61
67
67
61
51
51
51
51
55
61
61
61
67
67
67
69
61
59
57
57
55
59
67
67
83
91
102
102
102
90
90
90
98
110
117
121
132
163
173
173
163
170
170
178
186
193
186
178
167
167
162
167
168
175
178
178
179
179
183
191
195
180
183
196
203
203
192
180
173
173
176
181
168
165
165
172
172
172
172
179
178
179
179
171
164
163
159
163
148
151
156
164
180
196
200
200
184
176
172
175
180
180
172
161
159
159
159
164
165
165
165
172
157
149
148
149
165
181
184
181
164
164
163
152
156
156
160
164
163
160
157
156
160
164
176
181
131
78
73
62
62
62
62
69
65
61
53
56
64
69
64
61
61
61
61
64
64
67
64
64
56
64
72
75
67
61
61
64
69
69
69
72
77
83
77
69
67
67
67
69
67
67
61
61
62
62
55
55
55
61
53
51
51
53
61
67
67
67
69
69
61
67
62
61
51
44
47
51
55
55
55
61
67
67
67
67
66
59
55
59
59
59
62
75
90
91
102
102
102
91
90
91
98
110
117
126
141
149
163
163
162
163
170
178
178
178
175
175
167
167
167
175
183
186
186
186
187
177
179
186
191
191
188
191
192
192
189
181
173
173
173
173
173
165
172
180
180
178
179
179
179
179
179
175
171
164
164
164
164
164
172
179
188
195
195
191
178
172
168
172
180
180
172
164
151
148
156
160
163
157
160
164
157
149
144
144
164
184
196
189
157
163
159
152
149
152
159
164
164
164
163
160
164
175
188
192
136
75
75
67
61
61
62
69
69
61
59
59
61
67
67
61
55
55
55
61
61
67
67
61
55
67
75
77
69
61
59
61
65
64
69
69
73
83
77
69
69
67
69
69
67
61
55
55
55
53
51
53
55
55
51
44
44
51
55
61
61
62
67
69
61
62
64
55
51
42
44
51
55
53
55
61
62
67
67
61
62
59
57
55
55
59
67
67
82
90
102
102
102
90
90
90
98
112
121
132
141
147
147
147
155
163
170
178
183
183
175
171
170
176
183
191
200
200
195
186
186
170
170
171
183
191
186
180
184
188
184
177
173
173
169
169
176
177
184
192
192
183
179
172
179
179
179
171
164
164
171
179
178
180
180
183
183
180
178
175
172
165
165
176
184
188
180
168
148
148
148
156
159
152
156
157
157
157
149
152
168
189
192
184
152
156
152
152
152
152
159
160
165
164
164
164
168
176
188
192
131
69
69
67
61
61
62
67
69
67
61
61
61
67
67
67
55
53
56
61
61
67
67
61
55
69
77
77
67
59
55
55
64
64
64
67
73
83
77
73
69
69
69
69
67
55
55
53
53
51
51
51
55
56
51
44
44
51
55
55
55
55
61
67
61
61
61
55
51
44
51
51
55
55
55
55
61
61
61
61
61
59
55
57
55
59
67
67
75
87
102
102
91
90
90
90
102
112
132
134
141
132
132
141
163
163
178
186
200
193
183
171
175
183
191
200
211
200
200
186
176
170
162
163
171
186
183
175
181
181
177
173
173
173
173
169
177
181
193
203
196
180
175
172
164
164
163
163
159
161
164
175
179
180
183
188
183
178
175
175
165
164
172
181
192
189
180
168
163
161
159
159
161
157
163
165
165
164
160
164
176
192
192
176
164
164
164
164
163
160
163
164
164
164
164
164
167
173
183
188
128
62
67
67
61
55
62
67
69
61
59
59
61
67
61
55
53
53
53
55
55
61
61
61
53
69
77
75
69
55
53
59
61
67
67
61
69
83
77
69
69
73
73
67
55
55
53
51
44
51
51
44
46
51
51
44
42
46
53
53
53
53
61
62
61
55
53
51
51
46
51
53
51
51
51
51
57
55
55
55
55
59
55
55
57
59
62
67
82
83
90
91
90
83
90
83
98
112
134
149
144
132
130
132
148
179
193
193
203
211
193
183
191
186
200
203
211
203
192
183
171
155
147
155
170
180
180
173
176
181
181
173
169
168
173
177
181
193
203
203
189
173
164
164
163
163
163
159
155
159
163
171
180
180
175
172
175
173
173
173
172
172
180
181
188
188
180
172
164
165
171
172
164
164
164
175
175
175
168
175
181
184
181
176
172
173
180
176
172
168
168
165
164
164
164
172
178
180
173
168
131
62
67
62
61
55
55
62
69
61
55
55
61
61
61
55
51
51
51
53
55
55
61
55
55
69
77
73
67
53
51
55
61
61
62
62
69
75
77
67
67
69
69
67
55
51
51
51
44
44
44
44
44
47
46
42
42
44
51
51
51
53
55
61
61
55
53
51
44
51
51
55
55
51
51
51
51
51
55
51
55
55
57
55
55
57
63
66
75
83
90
90
90
87
87
87
94
117
132
144
144
121
117
132
155
179
196
203
215
215
211
200
203
200
200
203
211
203
192
184
170
162
144
144
155
172
175
176
180
181
176
168
165
165
176
181
185
193
197
197
188
175
171
164
163
163
163
159
155
155
163
171
180
175
165
164
172
172
172
172
172
173
180
188
184
181
172
165
164
164
172
175
179
175
175
175
178
172
164
168
176
180
180
173
173
180
181
184
180
175
168
165
160
160
160
172
180
181
173
165
121
62
62
62
62
51
55
62
67
61
55
55
61
61
61
55
51
51
51
51
51
53
53
53
55
69
83
75
67
51
44
53
55
61
61
61
67
69
69
61
69
75
67
61
51
46
44
44
40
42
42
42
44
46
44
40
42
44
44
44
44
51
53
55
55
55
51
51
44
51
51
55
55
51
44
44
51
51
53
53
55
55
55
55
51
57
61
66
69
82
83
87
82
82
82
87
98
117
134
144
141
121
113
121
147
173
193
193
215
215
215
218
211
211
211
203
203
200
193
191
177
162
147
147
155
163
175
180
184
181
176
165
160
168
181
189
188
192
197
192
184
178
175
171
164
164
163
163
159
162
163
164
179
171
163
163
164
168
168
165
169
176
188
189
181
173
168
165
164
163
164
179
183
183
178
178
178
172
164
164
172
180
176
173
176
181
188
189
188
176
168
160
157
156
160
172
181
184
173
164
121
62
62
62
62
51
51
62
61
55
53
53
55
55
55
53
51
51
44
44
51
51
53
53
55
69
77
69
61
51
44
51
55
61
61
55
61
67
67
55
69
69
67
55
51
44
44
42
36
40
42
40
42
44
44
40
42
42
44
42
42
44
51
61
55
55
51
44
44
51
55
55
55
51
44
44
51
51
51
51
51
55
51
51
51
55
59
66
74
75
82
83
83
82
83
82
102
117
134
144
141
121
113
117
139
163
178
184
200
211
211
215
211
203
203
200
203
203
200
200
186
176
170
155
155
170
175
180
188
184
176
165
165
169
185
189
189
192
189
189
188
183
178
179
179
179
177
177
164
164
163
177
177
170
163
163
164
165
165
160
160
173
181
184
180
172
165
165
164
157
163
178
188
188
183
180
175
171
164
168
176
184
184
181
176
180
184
188
181
173
165
160
156
157
160
172
180
180
172
165
121
53
62
62
61
51
51
51
55
53
51
51
53
53
53
53
51
51
44
46
51
51
51
53
55
69
75
67
55
46
42
51
55
55
55
55
61
61
61
55
69
69
62
51
46
42
42
40
34
40
40
40
42
44
44
42
42
42
42
42
40
42
51
55
61
55
51
44
51
53
55
61
55
51
44
42
46
51
51
51
51
55
51
51
51
55
57
63
71
69
77
82
75
82
82
87
102
117
134
141
134
121
109
113
123
147
162
170
183
193
191
186
186
184
191
192
200
200
200
200
191
186
177
170
170
171
171
179
188
188
181
173
173
176
184
189
185
184
188
188
188
191
188
183
187
186
179
179
177
177
177
177
171
171
164
171
172
172
165
157
157
168
180
184
181
176
176
176
173
172
172
180
191
183
180
179
172
164
165
173
188
196
196
189
176
176
176
173
172
168
164
160
160
164
165
172
172
173
172
172
121
46
55
62
55
51
46
46
53
53
51
51
51
51
51
51
51
51
44
44
44
51
51
51
55
69
69
67
53
44
42
51
55
55
55
55
53
55
55
55
67
67
55
51
42
42
42
40
34
34
40
36
40
42
42
36
42
42
42
36
36
42
51
61
61
53
51
44
44
53
55
61
55
51
42
42
46
51
53
51
51
51
51
51
51
51
55
59
67
71
74
74
74
75
82
82
102
117
134
132
132
113
105
113
117
139
147
160
176
178
171
168
167
168
175
186
191
200
200
193
186
186
186
177
177
171
171
171
180
184
188
181
181
184
184
181
177
181
184
189
191
195
191
186
187
179
177
179
179
177
177
177
171
170
171
175
178
176
173
165
173
177
189
192
192
192
193
193
192
189
195
196
195
180
175
171
167
164
172
180
196
203
197
192
176
172
165
164
164
165
168
172
172
173
180
173
172
165
165
172
121
46
62
62
46
46
46
46
51
51
46
51
51
51
51
51
51
44
44
44
46
51
51
51
61
69
69
59
51
40
36
51
55
51
53
51
51
51
53
55
61
61
53
44
42
42
40
34
34
34
34
34
36
42
40
34
36
36
40
36
36
44
51
55
61
53
44
42
44
51
55
55
51
46
40
40
46
51
51
51
51
51
51
46
51
51
57
59
61
67
67
71
71
74
82
87
102
117
132
126
121
113
113
113
123
130
145
154
167
171
162
159
159
162
172
175
183
186
184
186
186
186
187
186
179
177
171
170
172
180
184
188
188
189
184
181
173
181
189
196
195
195
183
186
177
177
177
177
177
177
162
162
162
162
177
177
178
180
188
184
192
192
193
203
203
203
203
203
203
203
211
211
196
183
179
172
164
164
172
180
196
203
197
192
180
173
164
160
164
168
178
181
188
188
184
181
176
172
168
168
121
46
46
62
46
46
46
46
51
51
44
44
44
46
51
51
51
44
42
42
44
51
51
51
62
69
69
61
46
36
36
47
53
51
51
46
44
44
51
55
55
55
51
44
40
40
34
34
34
34
34
34
34
36
36
34
34
36
36
34
34
40
51
55
55
51
44
42
44
51
53
53
51
44
34
40
44
51
51
51
51
51
51
51
47
51
57
59
59
66
67
66
66
71
75
82
102
117
128
126
117
113
113
121
121
130
139
147
162
167
154
154
162
162
167
172
175
180
178
176
183
187
187
187
187
179
171
170
164
175
184
188
189
189
184
180
173
181
189
196
188
183
179
179
177
171
162
171
177
177
162
162
162
162
177
177
178
188
196
203
203
197
193
197
203
203
203
197
203
211
218
218
200
186
172
179
172
172
172
180
189
196
192
189
184
173
165
160
164
176
188
192
197
196
189
188
180
173
168
164
121
46
46
46
46
46
39
46
44
51
51
46
44
44
44
51
44
44
40
40
42
44
53
55
67
69
69
55
40
28
34
51
51
51
44
42
40
44
53
61
55
53
46
44
44
42
34
28
28
34
34
34
34
36
36
34
34
34
36
36
34
36
51
55
61
51
36
34
42
51
51
53
46
42
36
36
42
51
51
44
46
47
51
44
44
51
53
55
61
61
61
62
67
67
77
90
102
121
134
126
117
113
113
117
115
130
130
139
145
154
162
175
175
175
175
175
175
176
176
176
175
179
186
186
186
187
177
163
163
171
178
180
188
189
188
181
180
189
197
196
186
179
171
170
162
162
162
177
177
177
162
162
162
162
162
171
173
181
196
203
203
196
188
184
193
197
192
181
191
196
211
211
211
195
183
183
175
171
164
172
180
189
189
189
188
180
168
168
176
189
197
197
193
192
189
192
192
189
176
165
121
46
46
46
46
46
46
39
44
44
51
51
44
42
44
51
44
44
40
36
42
46
51
55
69
69
67
55
36
28
34
46
51
44
42
40
36
44
53
61
55
51
46
44
44
40
34
26
26
28
34
28
32
34
34
34
28
34
34
34
34
34
44
53
55
51
40
36
42
44
46
51
44
40
34
36
42
51
51
44
51
51
47
46
44
51
53
55
59
61
59
62
67
71
69
90
102
121
134
132
113
105
105
113
115
123
130
130
139
145
162
167
170
171
167
172
175
176
180
180
178
186
186
179
179
186
175
167
164
172
172
175
180
189
192
192
192
197
197
196
188
183
179
171
171
171
177
177
187
177
162
171
162
171
177
178
188
188
192
196
189
189
181
181
189
192
184
176
179
180
188
200
196
196
195
195
188
180
179
176
181
189
192
192
192
189
181
180
184
192
193
192
181
181
180
184
192
189
173
152
121
39
46
46
46
46
46
46
44
44
46
44
42
39
44
46
44
44
36
36
42
44
55
59
73
69
62
49
34
28
36
44
46
44
40
36
34
42
53
59
55
53
44
39
42
36
34
26
26
28
28
28
28
28
34
28
28
34
34
34
28
36
44
53
55
44
40
36
39
46
44
46
42
40
34
36
42
46
47
44
47
51
44
44
46
51
51
55
55
61
55
59
67
63
74
90
105
132
134
117
113
98
98
105
113
117
123
130
130
145
154
167
162
162
162
168
175
176
184
184
183
186
186
179
177
177
175
167
172
167
164
164
173
189
197
203
203
203
203
203
195
186
180
179
177
177
187
187
187
187
177
177
177
177
186
196
196
196
188
183
173
180
180
184
188
196
188
180
164
164
179
183
195
196
211
211
203
196
195
189
192
196
197
197
197
197
192
196
203
203
197
189
173
165
165
176
189
184
165
144
114
46
46
46
46
46
39
39
44
46
46
44
40
40
44
46
44
40
34
36
42
53
55
61
69
69
59
44
34
25
34
36
40
40
36
36
36
42
53
59
53
46
44
40
36
34
28
28
26
26
28
25
26
28
28
28
28
34
34
28
28
36
44
46
53
46
42
36
39
39
39
39
40
34
34
34
42
44
51
44
44
51
51
44
51
51
51
55
55
61
59
59
62
59
74
90
105
117
117
102
98
89
89
98
105
109
117
123
130
139
155
163
162
167
168
172
175
175
180
183
188
186
183
171
163
170
167
163
164
164
160
164
173
189
197
203
197
203
197
196
188
183
179
171
162
177
187
200
211
195
179
177
171
186
195
196
195
188
180
179
175
173
178
180
188
189
181
172
163
161
164
178
188
195
195
195
200
196
196
196
196
197
193
193
193
197
203
203
212
218
203
196
172
160
157
165
181
180
164
149
114
46
46
46
46
46
39
46
39
46
44
44
40
36
44
44
44
36
36
36
44
55
61
62
59
55
53
44
36
28
28
34
32
36
40
36
36
44
46
53
53
44
44
36
34
28
28
26
25
28
28
25
25
28
32
28
28
34
34
34
34
36
44
44
53
46
44
40
40
40
40
40
36
34
34
36
42
44
44
46
46
47
51
44
44
51
51
55
51
61
59
59
61
59
67
90
105
102
102
98
90
82
89
90
89
97
109
117
130
140
155
163
170
176
178
183
176
175
175
180
180
180
171
155
147
155
155
152
160
160
164
168
176
189
193
193
181
184
189
188
184
180
172
160
163
171
188
211
211
195
178
171
172
186
196
195
178
179
179
179
180
175
175
178
188
188
179
161
156
156
164
179
183
183
179
179
180
184
188
189
189
189
185
185
197
206
218
218
218
218
203
196
165
157
152
164
172
172
157
152
114
46
39
46
46
39
32
39
44
44
44
39
36
36
39
44
44
36
29
32
44
55
61
61
53
46
44
36
36
36
28
28
28
36
36
39
39
39
44
46
53
44
44
36
28
28
28
28
28
28
28
25
25
28
32
28
28
32
32
36
36
36
44
44
46
44
44
36
36
36
40
36
36
34
36
40
42
44
44
44
44
44
44
51
44
51
51
55
55
59
59
62
62
59
71
87
102
91
83
82
82
82
90
90
89
98
105
113
132
141
163
179
178
186
192
186
183
175
175
179
180
178
171
151
147
151
156
148
156
165
173
181
185
185
185
177
168
181
189
189
188
181
172
164
162
161
178
196
203
195
178
165
178
188
188
178
172
179
178
186
180
175
171
175
191
196
180
164
159
163
172
183
188
181
175
172
175
180
192
197
197
192
192
188
203
218
220
220
212
212
203
184
168
157
152
157
160
157
157
152
114
46
39
39
46
32
32
36
46
46
46
40
32
36
40
46
46
36
28
36
44
55
59
55
46
44
39
36
36
36
28
28
28
36
36
40
36
39
46
46
49
46
40
32
28
25
25
25
28
28
28
25
25
28
32
28
28
33
28
36
36
36
39
44
46
44
39
36
36
36
36
36
34
36
34
40
40
39
42
46
46
46
44
51
44
46
51
51
55
55
57
59
62
59
66
79
90
79
74
79
82
90
90
90
90
102
105
113
121
132
163
179
179
179
184
184
183
183
175
171
173
172
167
159
151
161
159
149
157
173
184
189
189
185
177
173
165
181
192
197
192
188
181
173
164
163
168
181
192
189
181
176
185
185
181
172
163
179
183
186
179
172
167
175
191
196
195
180
171
172
178
191
196
188
180
176
180
188
197
203
203
203
197
197
206
220
220
206
197
192
181
172
164
156
156
160
164
160
156
156
114
39
39
39
46
36
32
39
39
46
42
39
32
32
36
44
46
36
28
32
44
53
53
46
53
46
39
36
36
36
36
28
36
36
36
36
36
39
44
46
46
44
40
36
25
25
25
25
28
28
28
25
25
28
28
28
28
28
28
28
32
36
36
44
46
44
40
36
32
36
36
36
34
36
34
40
40
40
42
42
44
44
47
47
51
51
51
53
55
55
55
59
62
59
59
75
79
74
74
79
82
87
90
102
98
98
98
105
113
130
149
165
178
170
170
175
178
183
175
171
164
164
164
159
163
163
156
148
160
176
189
193
188
182
177
169
168
181
193
197
192
184
181
176
168
164
160
173
181
189
185
184
188
185
173
163
163
179
186
186
180
175
171
172
178
186
183
179
172
175
180
188
188
184
181
180
176
184
196
197
197
193
193
193
197
212
220
203
182
173
168
160
164
156
156
164
172
164
152
152
114
39
39
46
39
32
36
32
39
39
39
39
36
36
36
39
40
36
28
28
39
44
44
44
39
40
36
32
28
34
28
36
32
36
36
36
40
44
44
39
44
39
32
25
25
25
25
25
25
25
25
25
25
25
25
28
32
28
28
28
32
36
36
44
44
39
36
28
28
28
32
28
32
36
36
39
36
36
39
36
42
44
46
51
44
51
51
51
55
55
55
59
61
61
67
67
74
74
74
79
83
87
91
91
91
90
89
97
97
109
130
147
163
155
155
162
168
178
183
172
156
165
172
164
157
159
156
148
165
181
203
203
193
182
177
165
173
189
197
196
184
181
184
188
180
168
165
176
184
189
184
181
189
181
165
164
161
171
178
191
188
180
175
172
168
168
164
164
163
160
168
181
188
184
180
180
181
184
189
188
181
173
173
173
182
197
203
197
177
165
165
165
163
164
167
172
172
164
163
157
105
39
39
39
46
36
32
32
39
36
36
39
36
32
32
40
39
36
28
28
39
44
39
44
39
40
36
32
33
28
28
36
28
32
36
36
36
44
44
39
39
36
28
25
22
22
22
22
25
25
25
25
25
25
28
25
28
28
28
28
36
36
36
44
39
40
32
28
28
28
28
32
32
36
36
36
36
36
36
36
42
44
44
46
44
47
51
51
55
55
55
59
55
61
62
67
71
71
74
75
82
87
87
90
89
89
82
89
89
97
121
132
155
155
155
160
167
184
186
178
165
168
172
165
160
156
156
159
177
188
203
203
189
177
177
173
176
189
197
192
181
181
184
188
181
173
172
180
184
185
181
181
185
181
173
164
157
163
175
180
188
184
180
172
164
164
160
163
157
160
165
176
181
180
173
173
173
180
181
180
173
165
165
165
169
185
197
193
176
165
165
168
172
172
172
175
172
172
165
163
114
39
39
39
39
32
34
32
36
36
36
36
36
28
36
40
39
40
28
28
39
44
36
36
36
36
36
28
28
28
33
28
28
36
36
36
36
44
44
36
36
36
28
25
22
22
22
22
25
25
25
25
25
25
25
25
28
28
28
28
32
36
36
36
36
36
28
25
28
28
34
36
32
36
36
36
36
36
36
36
42
44
44
46
44
51
51
51
51
55
55
55
55
61
61
67
66
66
66
74
75
82
82
87
82
78
82
82
89
98
105
121
147
155
155
155
163
191
203
193
173
173
172
165
159
156
152
163
181
193
197
193
182
177
177
182
184
192
203
192
181
181
181
184
188
180
176
181
189
189
181
176
185
184
176
165
152
152
160
175
188
188
184
176
164
157
152
152
160
165
165
173
176
173
168
168
172
173
173
165
160
157
152
152
161
177
192
189
180
172
172
165
175
179
178
178
179
175
172
165
105
39
32
39
36
32
28
34
32
36
36
36
32
28
28
36
40
40
28
28
36
36
36
36
32
32
28
28
28
32
32
28
28
28
28
28
36
44
44
36
36
28
25
22
22
22
22
22
25
25
25
25
25
25
25
25
25
28
28
28
28
36
36
36
36
36
28
25
25
28
29
36
36
36
36
36
40
36
40
40
40
42
44
44
44
46
51
51
51
55
55
55
55
55
61
62
67
64
64
66
74
75
75
75
75
74
82
89
89
92
97
109
140
155
155
153
161
192
212
203
188
181
173
165
157
156
156
157
173
181
181
177
177
182
193
203
197
203
203
197
184
180
176
176
181
176
176
181
189
192
185
181
189
189
181
168
152
149
152
157
176
181
181
173
165
152
149
152
160
165
173
181
180
173
165
165
165
165
165
160
152
149
149
149
157
173
189
189
178
172
172
177
175
179
183
183
183
178
179
175
105
46
32
39
39
32
34
34
28
28
32
36
36
28
28
36
39
39
28
28
36
36
28
32
28
28
28
28
28
28
28
28
25
25
25
25
36
39
39
36
28
25
22
22
22
22
22
22
22
22
25
25
25
25
25
25
25
25
28
28
28
32
36
36
36
36
28
25
25
28
36
36
36
39
40
39
39
39
40
40
40
42
44
44
44
44
44
51
51
51
51
55
51
55
55
61
63
63
63
64
67
74
75
74
74
74
82
89
89
94
97
105
130
148
155
148
155
185
212
203
193
184
173
165
159
152
149
152
157
157
161
158
173
189
203
212
206
212
212
203
192
181
172
172
172
168
172
180
192
197
192
184
192
193
185
173
160
149
149
152
161
165
172
169
165
157
152
149
160
168
181
181
176
165
164
157
160
164
160
157
149
148
148
149
160
173
181
181
172
165
164
164
171
179
191
195
195
191
180
178
105
46
39
39
36
32
28
34
28
28
36
36
36
28
28
36
36
36
36
28
36
36
28
28
28
28
28
28
28
28
25
25
25
22
22
25
32
40
40
32
28
25
22
22
19
22
22
19
22
22
25
25
25
25
25
22
25
25
25
25
28
28
28
29
36
28
25
25
28
28
32
36
39
36
36
39
39
39
36
36
40
42
44
44
44
44
44
51
51
51
51
53
51
57
55
61
64
61
61
63
62
67
67
67
74
74
75
82
89
89
98
97
123
140
155
148
148
177
203
203
193
184
173
160
160
157
156
148
141
144
149
160
181
203
212
212
203
203
211
203
197
181
172
165
165
164
165
176
193
203
203
189
188
189
185
177
169
165
157
157
153
157
161
165
169
165
160
152
157
165
176
176
168
161
157
149
157
152
152
149
144
141
148
149
165
173
178
172
161
159
156
156
164
179
195
200
200
196
191
183
105
39
36
36
36
32
28
28
28
28
36
36
36
28
28
36
36
44
36
32
36
36
28
28
25
28
25
28
25
25
25
25
22
22
22
22
32
44
36
36
25
25
22
22
22
22
22
22
22
22
25
25
25
25
22
22
22
25
25
28
28
28
28
28
28
25
25
25
28
28
32
36
36
36
39
36
36
36
36
36
40
42
42
42
44
44
46
51
51
51
51
51
53
53
53
55
63
61
59
61
64
67
67
74
74
67
74
82
82
82
82
98
115
130
141
140
141
163
188
193
189
181
168
157
165
173
164
144
134
141
156
173
197
212
206
203
185
189
192
196
189
176
168
165
164
160
160
176
193
212
203
189
181
177
177
177
181
181
177
165
157
157
160
169
177
177
165
157
152
165
173
168
160
153
149
149
149
149
149
148
144
144
149
152
172
173
165
157
148
148
151
155
163
179
195
196
200
196
191
188
105
36
36
36
36
28
28
28
28
28
36
36
36
28
28
36
36
39
36
28
36
32
25
28
28
25
28
25
25
25
25
22
22
22
19
22
28
39
36
28
25
25
22
22
22
22
22
22
22
22
22
25
25
25
22
22
22
25
25
25
28
28
28
28
25
25
25
25
28
28
28
28
36
36
36
36
36
36
36
34
40
42
42
42
42
44
46
47
51
51
51
51
51
51
53
55
61
59
59
61
64
67
67
67
75
74
74
78
82
82
82
82
105
117
140
140
137
155
177
185
181
177
165
157
168
181
173
148
137
148
157
181
203
218
203
185
165
165
173
181
180
172
165
164
165
160
160
176
197
212
203
189
173
169
169
177
188
193
185
177
158
161
158
177
189
189
177
161
152
165
169
165
152
149
149
145
149
149
149
148
144
148
151
161
172
172
164
156
147
147
151
155
163
179
195
195
196
195
188
183
105
39
36
36
36
28
25
25
28
28
34
36
36
28
28
28
40
36
36
36
36
32
25
22
25
25
22
22
25
25
22
22
22
22
19
22
28
42
36
25
25
22
22
22
22
22
22
22
22
22
22
25
25
22
22
22
22
22
25
25
28
28
28
25
25
24
25
24
24
29
29
29
29
32
32
36
36
36
36
36
40
39
44
46
44
44
44
46
48
51
51
51
51
53
53
53
61
61
61
64
64
69
67
67
66
71
71
74
74
78
82
82
101
110
125
141
148
154
163
169
173
177
177
169
173
181
168
148
144
160
181
197
211
203
192
173
152
160
165
173
172
160
157
173
168
165
164
176
197
203
196
176
169
165
165
169
185
193
193
185
173
173
181
189
197
197
185
173
165
177
181
169
157
149
149
148
148
149
148
148
148
149
157
165
172
171
164
159
147
147
147
162
163
177
183
186
183
179
180
188
105
36
29
36
36
25
25
25
28
28
33
36
36
28
28
32
39
36
36
36
36
28
25
25
25
25
22
22
25
25
22
22
25
22
22
22
36
39
36
28
22
22
22
22
22
25
22
22
22
22
22
25
25
22
22
22
22
22
25
25
28
28
28
25
25
25
25
24
24
24
29
29
29
29
29
32
36
36
32
36
36
40
39
44
44
44
44
44
51
46
51
51
51
51
53
53
55
59
61
61
64
64
66
66
66
66
74
74
78
78
78
82
94
105
121
134
148
154
154
155
155
161
165
165
169
176
169
157
165
181
197
203
203
189
173
157
149
157
165
173
168
157
152
165
168
164
157
165
188
193
189
168
165
169
173
177
177
185
189
185
181
181
181
185
193
192
181
173
165
173
176
168
160
152
156
149
156
156
152
149
148
148
156
157
163
164
163
159
155
147
155
162
163
171
171
177
175
179
180
183
105
32
32
28
28
28
25
25
28
28
28
36
36
28
28
28
36
36
36
36
28
28
25
25
25
22
22
22
22
25
22
22
25
22
22
25
36
36
36
25
22
22
22
22
22
25
22
22
19
22
22
22
25
22
22
22
22
22
25
25
25
28
25
25
22
25
25
24
24
29
29
29
29
29
29
29
33
28
32
29
36
39
42
46
44
44
44
46
44
44
51
51
51
51
53
53
55
55
55
61
61
64
64
64
61
66
74
78
78
78
78
78
89
94
110
132
149
158
145
137
137
145
158
158
165
169
169
168
184
197
211
203
189
165
157
149
148
157
168
173
173
157
149
160
172
160
152
160
173
181
173
160
177
181
189
181
173
169
173
177
177
177
176
177
177
173
165
165
165
168
169
165
164
160
157
157
164
164
159
152
148
141
148
148
156
161
164
163
155
155
162
163
177
163
163
163
167
175
175
178
105
32
28
28
28
25
25
25
25
28
28
36
36
28
28
28
36
36
36
36
36
28
25
22
22
22
22
22
22
22
22
22
22
22
22
25
36
36
36
25
19
22
22
22
25
25
22
22
19
19
22
22
22
22
22
22
22
25
25
25
28
25
25
25
25
25
25
24
24
24
29
29
29
29
29
29
29
34
28
28
36
40
39
46
39
44
44
44
46
44
44
51
51
51
53
53
55
55
55
59
61
61
61
63
66
67
74
75
82
78
82
78
89
94
105
130
149
154
137
121
121
129
145
153
157
161
169
181
192
197
197
189
173
157
149
141
149
161
173
176
176
161
157
165
173
165
157
160
165
165
157
149
169
181
189
181
165
160
153
157
161
165
165
168
165
157
152
149
160
165
165
160
156
152
157
163
172
168
160
152
141
141
141
147
156
163
171
164
159
155
162
163
177
177
177
164
171
171
164
164
105
36
28
28
28
28
28
28
28
28
28
32
28
36
28
28
28
36
36
36
36
28
22
19
19
19
19
19
19
22
19
19
22
22
22
25
36
36
28
22
19
19
19
22
25
25
22
22
19
19
22
22
22
22
22
22
25
25
25
25
25
25
25
25
24
24
28
24
29
29
29
29
29
29
29
29
36
29
36
28
36
36
39
42
39
46
44
44
44
44
46
51
51
51
51
53
55
55
55
59
61
61
63
64
62
67
74
74
74
74
82
82
94
94
98
118
141
146
129
113
113
121
134
145
153
157
173
192
192
181
173
165
165
157
149
141
149
165
176
177
177
168
165
173
181
173
165
164
165
160
149
141
145
157
173
173
165
160
149
145
149
152
160
165
160
149
149
149
157
164
165
160
148
144
156
164
172
164
159
148
141
141
147
151
163
164
175
171
163
163
162
163
177
179
179
179
171
163
159
156
105
36
28
28
28
25
28
28
25
28
28
28
28
36
28
28
25
36
39
44
36
36
22
19
19
19
19
19
19
19
19
19
19
22
25
25
28
36
28
19
19
19
22
22
25
25
22
19
19
19
22
22
22
25
25
22
25
25
25
25
25
25
25
25
28
28
28
29
29
29
29
29
29
29
29
36
36
36
36
32
36
36
36
42
39
42
44
46
44
44
44
51
46
51
53
53
55
55
55
59
61
64
64
64
67
67
67
67
74
74
79
82
89
86
89
110
130
138
137
128
117
121
137
146
153
165
181
193
189
169
157
157
165
161
149
137
149
165
173
176
177
169
168
177
181
173
168
165
158
153
149
145
149
157
169
173
173
165
157
144
148
149
157
165
160
149
144
148
157
165
168
165
152
141
148
159
163
163
156
148
147
147
148
156
164
172
171
175
164
163
163
163
163
177
186
186
171
156
147
147
98
28
28
28
28
25
28
28
28
28
28
28
28
36
29
25
25
28
39
44
39
36
25
22
19
19
19
19
19
22
19
19
19
22
25
28
36
36
28
22
19
19
22
22
25
22
22
19
15
19
19
22
22
25
25
25
25
25
25
25
25
25
25
25
24
24
24
29
29
29
29
29
29
29
29
36
36
36
32
36
36
36
40
40
39
42
39
44
44
44
44
44
46
51
51
53
55
55
55
61
61
64
63
64
61
67
67
67
69
74
74
75
82
78
86
102
127
144
144
141
129
141
150
158
165
177
185
193
177
165
160
165
173
165
149
134
141
158
169
173
173
169
165
173
173
168
161
161
157
149
149
153
168
173
181
181
184
181
173
165
157
157
157
161
152
148
137
148
157
165
173
173
163
148
148
156
159
159
159
155
148
147
148
156
164
164
161
163
163
163
162
162
163
177
179
179
164
155
148
151
98
24
22
22
25
25
25
28
28
28
28
25
28
36
32
25
25
36
36
44
36
36
28
25
22
19
19
19
22
22
22
22
19
22
25
28
36
36
28
19
19
19
22
22
25
22
19
19
15
15
19
22
22
25
25
25
25
25
25
25
25
25
25
25
24
24
24
29
24
22
29
29
29
29
29
36
29
36
28
36
36
36
36
40
39
39
39
44
42
44
44
44
51
51
51
53
53
55
55
55
59
64
61
63
61
62
69
69
69
74
74
74
78
78
82
102
126
144
154
158
146
158
169
177
177
188
188
189
169
165
169
181
181
168
149
137
137
157
169
173
173
165
161
165
165
161
157
157
149
149
150
161
176
181
181
184
189
189
189
184
173
165
161
157
152
141
141
149
160
172
180
188
173
161
151
151
155
159
161
159
156
148
147
148
156
156
151
156
162
155
155
155
162
163
177
177
164
156
156
161
98
28
22
22
25
28
25
25
25
25
25
25
28
28
28
25
22
28
36
44
44
36
28
28
25
22
22
22
22
25
25
22
22
25
28
28
32
28
25
22
19
19
19
22
22
22
22
19
19
19
19
22
22
22
25
25
25
25
25
25
25
25
25
25
25
24
22
29
29
29
29
29
29
29
29
32
29
32
32
32
32
36
39
39
39
46
39
46
44
44
44
44
44
46
51
53
53
56
55
55
59
61
61
61
67
67
67
67
74
69
74
75
75
74
78
98
126
144
160
173
176
177
182
188
193
188
185
182
161
149
165
181
177
165
141
134
134
153
165
173
182
177
173
165
158
158
153
150
149
141
145
161
173
176
181
188
189
192
192
188
178
168
157
156
149
141
141
148
163
164
180
195
180
164
156
156
155
161
164
164
164
164
159
151
148
147
147
147
156
156
162
155
162
163
179
172
164
161
164
172
98
25
22
26
25
25
25
25
25
25
25
25
28
36
28
25
25
29
36
44
44
36
28
28
22
22
22
22
22
22
22
22
22
25
28
36
34
28
25
22
19
19
19
22
22
22
19
19
15
19
19
22
22
22
25
25
25
25
25
25
25
25
25
25
28
24
29
29
29
29
29
29
29
29
29
29
29
29
32
36
36
36
36
36
39
44
44
46
39
44
44
44
44
53
51
51
53
56
56
55
59
59
59
61
61
67
67
67
74
74
74
75
82
75
79
98
118
134
158
165
179
185
188
193
193
185
182
177
158
141
161
177
173
157
137
133
137
157
173
177
185
177
165
165
154
158
154
153
150
141
149
161
173
181
181
181
188
188
188
181
172
160
156
152
156
147
148
148
156
159
172
178
175
159
148
156
151
161
164
164
164
164
163
159
147
141
133
147
151
155
156
155
162
164
179
179
164
164
164
172
90
25
25
25
25
25
25
25
25
25
25
25
24
32
28
25
22
28
36
44
39
36
28
28
22
22
19
19
22
22
22
22
22
25
28
36
36
28
25
22
19
19
19
22
22
22
19
19
19
19
19
22
22
22
25
25
25
25
25
25
25
25
25
25
25
25
24
29
29
29
29
29
29
29
29
29
29
29
32
29
32
32
36
36
39
39
39
39
39
44
44
44
44
46
51
51
53
53
53
55
55
55
61
59
59
62
67
67
67
74
75
75
75
74
74
78
95
117
138
160
173
176
185
182
182
177
173
177
153
137
153
165
161
149
134
134
141
165
181
185
185
177
161
161
158
161
158
158
153
149
150
158
169
176
176
177
181
176
172
165
160
149
148
152
152
156
148
148
148
148
159
164
157
148
147
148
151
156
161
161
161
163
163
161
141
133
133
148
151
151
155
159
163
171
180
180
171
163
164
172
98
25
25
25
25
25
25
22
22
25
25
25
28
28
28
25
22
28
36
44
36
36
28
25
22
19
19
19
22
22
22
22
22
25
28
28
36
28
25
22
19
19
19
22
22
22
19
19
15
19
19
22
22
22
22
22
22
22
25
25
25
25
25
25
25
25
24
29
29
29
29
29
29
29
29
29
29
29
29
32
32
32
36
36
39
39
46
44
44
39
39
44
44
46
48
51
48
51
53
56
56
55
55
55
55
62
66
67
67
75
74
75
75
74
71
71
79
94
122
141
167
173
173
169
165
169
173
173
153
134
146
158
150
144
134
137
146
177
193
193
182
158
154
161
165
173
165
154
150
146
153
158
169
177
177
181
177
173
164
152
148
144
148
157
165
164
152
148
141
141
148
149
148
141
137
147
148
149
156
148
149
149
152
157
148
147
148
151
151
148
151
156
163
175
191
188
175
164
157
165
90
28
25
25
25
25
25
22
22
25
22
22
25
28
28
22
22
28
36
36
36
28
28
25
22
19
19
19
22
22
22
22
22
22
25
28
28
28
25
22
19
19
19
22
22
22
19
19
19
19
22
22
22
22
22
22
22
22
22
25
25
25
25
25
25
25
24
24
29
29
24
29
24
29
29
29
29
29
29
29
28
32
32
36
36
39
39
39
39
39
39
44
42
44
44
51
48
48
51
53
55
55
57
57
59
59
67
67
67
69
75
77
82
79
74
71
71
86
114
138
165
173
173
158
158
173
182
184
154
134
141
145
145
141
134
145
153
188
206
206
173
151
146
165
179
188
176
154
146
146
153
161
173
181
189
192
192
181
165
149
144
144
152
168
181
176
161
149
141
141
141
149
149
144
144
144
148
149
148
148
144
148
149
157
157
156
157
156
152
147
147
156
164
179
188
188
175
157
160
165
90
28
25
25
25
25
25
22
22
22
22
22
25
28
28
22
22
28
36
36
36
28
25
25
19
19
19
19
19
19
22
19
22
22
25
25
28
28
25
22
19
19
19
22
22
22
19
15
19
19
22
22
22
22
22
22
22
22
22
22
25
25
25
25
25
22
24
24
24
29
29
24
28
24
24
29
29
29
29
29
28
28
32
32
40
39
39
44
42
39
39
39
42
42
44
46
48
48
51
51
51
55
55
57
59
59
66
67
67
74
69
73
83
83
79
78
71
86
114
138
167
173
169
153
154
173
188
184
158
129
135
141
141
141
137
146
158
193
220
206
173
143
146
173
188
193
182
154
143
141
151
158
169
181
189
197
197
189
168
152
144
149
164
181
189
184
165
152
144
137
148
149
149
153
149
149
149
149
149
149
149
144
144
149
157
157
161
161
152
148
148
156
172
180
189
188
172
160
161
168
90
24
25
25
25
25
25
22
22
22
22
22
25
28
28
22
22
25
36
36
28
25
25
22
19
19
19
19
19
19
19
19
19
22
22
25
25
25
22
22
19
19
19
19
22
19
19
15
19
19
19
22
22
22
22
22
22
22
22
22
22
25
25
25
22
22
24
24
24
29
24
24
24
24
29
24
29
29
29
29
28
28
29
36
36
39
39
44
39
39
39
39
42
42
44
44
48
48
47
51
51
55
55
55
55
55
59
66
67
67
67
69
77
79
79
78
78
86
112
134
158
173
165
150
154
176
188
184
154
129
128
135
141
141
137
141
153
188
212
206
173
143
143
167
193
206
184
154
135
137
146
154
165
173
185
193
193
189
168
149
149
152
165
181
189
184
165
152
141
141
149
157
165
165
165
160
153
157
161
165
160
149
141
145
151
156
161
161
157
149
157
168
180
189
196
188
168
161
173
181
90
29
25
25
25
25
22
22
22
22
22
22
25
28
28
22
22
25
28
36
28
25
22
22
19
19
15
15
19
19
19
19
19
19
22
25
25
25
22
22
19
19
19
22
22
19
19
15
19
19
22
22
22
22
22
22
22
22
22
22
22
22
25
25
22
22
24
24
24
24
24
24
24
22
24
29
29
29
29
29
24
28
28
36
36
36
39
39
39
39
39
42
39
46
44
46
48
47
51
51
55
55
48
55
55
55
59
59
61
67
67
67
75
77
79
78
78
94
114
138
158
165
165
154
158
185
193
188
151
121
128
135
141
141
134
137
146
176
206
204
173
138
138
160
193
204
184
154
135
141
143
154
158
169
181
189
192
185
168
152
149
149
165
176
184
177
165
149
141
149
157
165
173
176
177
169
157
158
173
181
169
153
141
141
148
156
160
161
160
157
165
180
188
196
196
184
165
165
177
193
90
25
25
25
25
25
22
22
22
22
22
25
24
28
24
22
19
22
28
28
25
22
19
19
15
15
15
19
22
22
19
19
19
19
22
25
25
25
22
19
19
19
22
22
22
19
19
15
19
19
22
22
22
19
19
22
22
22
22
22
22
22
22
22
25
24
22
22
22
24
24
29
29
29
24
29
24
29
29
28
24
24
29
29
36
36
36
44
39
39
39
39
39
39
42
46
48
47
47
48
55
55
48
51
57
55
59
59
63
67
67
61
74
74
74
82
94
98
114
125
135
154
150
141
158
188
204
184
146
130
130
137
146
146
129
137
146
165
188
176
151
126
119
151
176
204
188
158
146
141
149
165
173
177
173
176
184
181
164
152
149
157
165
181
181
169
157
152
146
153
153
154
165
177
182
173
165
165
165
177
177
158
141
137
134
149
161
161
165
172
181
192
203
203
197
181
168
169
181
189
85
25
25
25
22
22
22
19
22
22
22
25
28
28
25
25
19
22
28
28
25
22
19
19
15
15
19
19
22
22
19
19
19
22
22
22
25
22
22
19
19
19
19
19
19
19
15
15
19
19
19
22
22
19
19
22
22
22
22
22
22
22
22
25
25
24
22
22
22
24
29
24
29
29
24
29
24
29
29
28
24
28
29
29
36
36
36
39
39
39
40
36
40
36
42
42
44
48
48
48
48
48
55
51
57
57
55
62
61
62
67
63
69
71
71
82
94
102
107
114
121
143
146
141
165
193
204
179
151
129
129
135
150
154
134
137
146
154
173
165
138
114
110
144
176
204
188
151
138
138
146
167
182
177
165
169
181
181
160
149
149
153
169
177
173
161
157
153
150
153
153
153
158
177
182
177
165
167
173
176
173
150
141
137
135
157
165
165
168
173
189
203
203
203
188
173
169
173
177
181
85
25
22
22
22
19
19
19
22
22
25
25
25
25
25
25
19
22
25
28
25
22
19
19
19
19
19
22
22
22
22
22
19
19
22
22
22
22
22
19
19
19
19
19
19
19
15
19
19
19
22
22
19
19
22
22
22
22
22
22
22
22
22
22
22
24
22
22
22
22
24
24
29
29
24
29
29
24
29
28
24
28
28
32
32
36
36
39
39
40
36
36
36
36
36
42
44
44
48
48
48
48
48
55
51
55
55
61
66
67
66
67
67
66
71
82
102
107
102
98
106
122
137
143
173
204
204
184
151
135
130
143
158
158
135
135
146
149
158
146
130
114
114
143
173
204
188
154
133
130
143
167
182
173
158
158
181
181
157
141
141
152
165
168
157
141
144
149
158
158
153
153
158
173
188
188
173
173
177
176
165
150
141
141
161
161
178
181
178
181
189
211
211
196
176
165
165
177
177
169
85
25
22
22
19
15
19
19
22
22
22
22
26
26
22
22
19
22
25
25
22
22
19
22
19
19
19
22
22
22
22
22
19
19
22
22
19
22
19
22
19
19
19
19
19
19
19
19
19
19
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
29
29
29
24
24
24
24
29
28
28
28
28
28
36
36
40
42
44
39
40
40
42
36
42
42
42
44
48
48
51
51
55
48
51
51
56
59
61
63
67
67
66
63
66
82
96
107
95
95
98
114
130
144
173
193
204
193
167
144
143
151
165
165
143
134
146
151
158
146
130
119
119
144
176
204
204
160
137
125
130
154
173
173
165
165
181
181
157
141
137
149
161
158
153
141
137
141
158
158
153
150
153
169
185
193
177
173
169
169
165
153
150
153
161
178
181
181
181
184
196
203
203
192
178
165
173
177
165
151
85
24
25
22
19
19
19
19
19
23
23
23
23
23
23
23
22
22
25
25
22
22
22
22
19
19
19
19
22
22
22
22
19
19
22
19
19
19
19
22
22
22
19
19
22
22
22
22
22
22
25
25
22
22
22
25
22
22
22
22
22
22
22
22
25
22
22
22
22
22
22
29
29
29
24
24
24
29
28
28
28
24
28
28
36
36
40
39
44
44
42
42
42
42
36
42
42
42
48
48
51
51
48
55
51
51
56
59
63
64
67
67
63
67
74
87
96
102
102
95
102
107
126
140
160
193
193
193
184
167
167
167
167
158
135
128
137
146
154
138
130
119
119
151
176
204
204
176
138
122
119
138
154
165
173
177
188
185
165
150
141
150
158
165
158
150
141
141
150
150
150
145
150
158
177
188
177
161
153
153
158
165
165
173
178
178
171
178
178
189
197
211
212
197
189
181
177
167
158
143
85
29
28
25
19
15
19
22
19
19
23
23
23
19
19
19
22
25
25
25
22
22
19
22
22
19
19
19
22
22
22
19
22
22
22
22
19
19
22
22
24
22
19
22
22
22
22
22
22
22
24
24
22
22
22
24
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
24
29
24
24
24
24
24
28
24
28
28
28
36
36
40
42
46
46
46
42
42
42
36
40
40
42
48
48
51
51
48
48
51
51
55
59
61
64
64
64
67
74
79
83
94
96
96
96
94
107
112
128
160
179
193
184
193
184
193
193
184
151
128
128
128
135
151
138
127
119
119
144
176
204
220
184
149
122
114
130
137
154
173
176
188
182
165
158
141
145
153
158
158
150
145
145
141
145
150
145
146
153
165
177
173
150
137
141
158
169
177
181
178
178
140
140
161
189
203
212
206
203
197
185
173
165
158
151
85
25
25
22
19
19
15
19
19
19
19
23
19
19
19
19
22
25
25
25
22
22
22
22
22
22
22
23
22
22
22
22
22
22
22
22
19
19
22
25
24
22
19
19
22
22
24
22
22
22
22
24
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
24
24
24
29
24
24
24
28
28
24
25
28
28
34
36
36
40
42
44
44
44
42
42
42
39
39
33
40
48
48
51
51
48
44
48
48
56
56
56
63
64
64
71
74
77
79
87
94
94
94
87
96
119
128
149
160
176
167
184
184
206
206
184
131
134
133
134
140
140
134
128
122
122
151
176
204
220
193
160
130
119
130
129
143
151
158
167
165
154
153
141
141
141
146
146
146
150
154
153
158
165
161
154
153
158
165
165
145
137
141
157
165
165
173
172
164
156
161
178
196
197
211
197
197
193
182
167
165
158
151
85
25
25
25
19
19
15
19
19
19
23
23
19
19
19
19
22
25
25
25
22
19
22
22
25
22
22
22
22
25
22
22
22
22
22
22
19
19
22
28
24
22
15
15
19
22
22
22
19
19
22
22
22
22
22
22
22
22
22
22
22
22
22
22
25
22
22
22
22
22
22
24
24
24
24
24
24
24
24
28
25
28
28
34
34
36
40
42
44
44
44
42
42
39
39
34
33
40
44
48
51
48
48
48
55
48
56
56
63
63
63
64
67
67
74
75
80
90
87
82
82
94
119
128
149
160
160
160
184
184
206
206
193
184
140
133
134
134
140
134
130
135
127
140
176
204
204
193
167
130
122
135
122
130
130
130
138
146
141
146
146
141
137
141
141
145
154
165
173
182
185
177
165
153
154
158
158
150
137
145
153
153
153
157
161
161
164
173
181
196
196
189
181
182
182
167
165
165
158
158
85
25
25
23
19
19
19
15
19
19
19
23
19
19
19
19
22
22
26
22
22
22
22
22
24
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
19
19
19
22
25
24
22
22
22
19
22
22
22
19
23
22
22
22
22
22
22
23
22
22
22
22
22
22
22
22
24
24
24
25
24
25
25
25
25
25
26
28
28
34
36
36
40
40
39
40
36
42
40
34
33
40
40
48
48
48
48
48
48
48
56
61
61
61
61
56
64
64
74
75
79
79
72
75
79
87
102
128
160
131
160
160
167
184
184
193
184
167
140
140
140
140
140
140
128
130
130
135
160
193
204
193
165
149
138
130
129
121
122
129
129
129
141
153
154
150
145
141
141
150
161
173
185
185
188
182
177
165
165
169
169
165
158
153
153
157
157
153
156
161
164
178
188
189
188
181
167
165
165
158
158
151
151
151
85
24
25
23
19
19
19
15
19
19
23
19
19
19
19
19
23
22
22
22
22
22
22
22
24
24
24
25
25
25
25
25
26
22
22
22
22
22
22
22
22
19
22
22
22
22
25
24
28
24
22
22
22
22
22
19
23
22
23
22
22
22
22
22
25
22
22
22
22
22
22
22
24
24
24
24
28
25
25
25
25
25
25
28
28
34
34
36
34
39
34
40
42
36
40
34
32
40
40
48
48
48
48
48
48
48
56
56
56
61
61
56
64
64
64
75
75
75
71
66
71
82
102
128
140
160
151
160
131
160
167
167
167
140
140
140
140
161
140
140
135
122
130
130
149
165
184
176
160
149
144
138
128
123
129
141
129
129
141
141
158
153
150
145
150
154
167
177
185
182
182
181
173
168
173
181
182
177
173
161
161
165
160
157
156
161
161
165
181
181
181
181
165
161
151
151
151
151
140
143
78
28
25
22
19
19
19
15
19
19
19
19
23
19
19
19
23
22
22
22
22
22
22
25
24
24
24
25
25
25
25
25
26
22
22
25
28
25
25
22
19
22
25
25
22
25
28
36
36
29
24
22
22
19
19
19
23
19
22
22
22
26
26
26
25
25
25
22
22
22
24
24
24
24
24
24
24
25
25
25
25
25
28
28
28
34
34
34
34
34
34
36
40
40
40
34
40
40
40
44
48
48
48
48
48
53
53
56
63
61
56
56
65
64
64
71
71
64
64
63
65
82
96
127
131
160
160
160
140
140
140
140
151
151
140
151
161
178
165
151
135
128
119
129
127
144
160
160
151
149
146
146
129
129
146
154
140
129
134
137
146
150
150
146
145
153
173
182
182
177
173
173
165
161
173
189
197
193
185
173
169
173
168
165
161
161
161
165
178
181
181
181
167
161
161
140
151
143
143
150
78
28
25
22
19
19
19
15
19
19
19
23
23
19
19
19
22
22
22
22
22
22
22
24
24
24
24
25
25
25
25
25
26
23
22
26
28
28
28
25
22
25
25
26
22
25
28
36
36
29
25
22
19
23
22
19
19
23
22
22
26
26
25
25
25
25
25
22
22
22
24
24
24
24
24
25
28
25
25
25
28
25
28
28
28
28
32
32
34
34
34
34
40
40
40
34
32
40
40
44
44
48
48
44
48
48
53
56
56
56
56
56
65
65
63
63
64
64
63
63
64
65
96
112
140
167
176
160
140
135
122
119
128
134
135
151
161
178
167
151
135
128
122
122
122
130
130
138
146
146
149
149
130
135
154
165
154
141
129
128
137
137
141
141
141
150
165
182
182
169
158
165
157
149
161
181
197
193
185
176
173
176
177
176
165
161
161
161
165
177
181
188
181
165
161
151
143
143
151
151
77
28
25
22
19
19
19
19
19
19
23
23
23
19
19
19
22
22
22
22
22
22
22
22
22
22
22
25
22
25
25
25
23
23
23
25
34
36
28
28
22
25
25
22
22
22
25
32
28
28
26
22
22
22
22
22
22
23
22
26
26
25
26
28
24
25
25
24
22
24
24
24
24
24
24
25
24
25
25
25
28
28
28
32
28
28
32
28
28
34
34
34
39
40
40
36
32
33
32
40
42
48
48
48
48
48
53
53
56
56
56
56
59
63
63
63
64
64
64
65
64
72
96
112
140
160
176
176
140
140
119
114
119
119
135
151
161
161
165
151
135
135
129
122
114
114
119
125
135
138
141
146
129
137
154
173
161
141
134
123
128
134
137
137
137
145
161
177
177
165
153
153
144
134
145
165
181
177
169
165
169
181
189
189
178
161
161
161
161
178
181
181
178
161
140
140
134
135
143
151
77
28
28
22
19
19
19
19
19
19
23
19
23
19
19
19
22
22
25
22
22
22
22
22
22
22
22
22
22
25
25
25
23
23
23
26
28
34
32
28
22
22
22
22
26
25
25
28
28
26
22
23
22
22
26
26
22
22
26
26
26
25
26
28
24
24
25
24
24
24
24
24
24
24
24
25
28
25
25
25
25
28
28
28
28
32
32
26
26
28
34
34
39
40
40
39
32
32
32
40
42
42
42
48
48
48
51
53
53
53
56
53
59
59
59
59
65
71
64
71
64
71
82
96
127
131
160
184
160
140
128
119
117
119
134
135
140
140
151
140
135
143
135
129
114
113
106
114
122
135
137
138
129
129
146
161
154
145
137
128
128
134
137
137
137
145
158
165
177
158
150
145
134
123
134
149
158
158
157
157
165
177
192
197
181
178
161
161
165
165
165
165
161
161
140
134
134
128
135
143
77
24
25
22
23
19
23
19
19
19
23
23
23
19
19
19
25
25
25
22
22
22
22
22
22
22
22
22
25
25
25
25
23
26
26
26
26
26
28
26
22
22
26
34
36
39
36
28
25
26
22
22
26
26
25
25
26
26
26
26
25
25
25
25
28
28
25
24
24
24
24
24
24
24
24
24
28
25
25
25
25
25
28
28
28
28
28
26
26
26
28
34
34
40
40
36
32
40
40
40
40
47
47
48
48
48
48
48
53
53
56
56
56
56
55
56
64
64
64
64
71
71
74
87
107
127
149
176
160
151
135
119
119
113
117
128
121
141
143
141
137
138
143
138
129
114
113
114
128
129
135
137
134
123
134
146
145
141
141
141
137
141
145
150
146
150
153
158
158
158
150
145
134
133
134
145
153
158
161
160
165
177
189
189
188
178
178
165
178
165
165
151
151
148
140
134
134
134
134
135
77
25
25
22
23
23
23
19
19
23
23
23
23
19
19
19
24
25
24
24
22
22
22
22
22
22
24
25
25
25
25
25
26
23
34
26
26
26
26
26
22
26
28
39
46
51
39
36
28
25
26
26
25
28
28
25
26
26
26
25
25
25
25
25
28
24
28
24
24
24
24
29
24
24
24
25
24
28
25
25
25
25
28
28
32
32
28
28
26
26
26
34
39
40
40
36
32
32
32
40
40
40
40
48
48
48
48
48
53
53
53
56
56
55
55
63
65
65
64
64
66
63
66
79
94
112
140
160
167
149
140
122
119
102
102
117
117
134
141
141
134
143
141
138
135
122
119
119
128
130
135
141
134
117
121
134
137
141
146
145
150
154
158
165
158
158
158
153
153
155
153
149
137
134
141
149
165
165
169
169
173
176
181
181
189
181
181
181
181
181
161
151
134
134
134
134
134
134
128
134
73
25
25
22
22
22
22
19
23
26
26
25
22
19
19
22
22
24
24
24
24
19
22
19
22
22
22
22
26
26
28
26
23
34
34
34
32
23
32
34
34
46
55
62
75
75
62
55
34
34
26
32
26
26
26
32
32
28
28
28
25
28
25
25
24
24
24
25
25
25
25
25
28
28
28
25
28
25
28
28
28
25
25
25
28
28
28
28
28
28
28
34
36
40
40
39
40
40
40
40
40
40
40
33
40
48
48
48
48
48
55
53
55
55
55
59
63
65
65
64
71
63
65
79
82
95
119
144
151
149
143
135
113
95
95
102
117
128
141
137
129
137
143
146
137
129
122
121
129
129
137
141
134
121
123
117
128
137
145
150
150
155
158
161
165
161
158
150
146
153
153
141
134
144
153
160
177
184
189
185
173
165
169
177
189
182
193
193
193
193
182
151
140
134
140
151
140
134
128
128
73
22
25
22
22
22
22
22
22
22
22
25
22
22
22
22
24
24
24
24
24
22
22
22
22
22
22
25
28
28
28
32
34
34
34
34
34
39
47
51
57
61
69
83
96
102
77
62
42
39
34
34
34
34
32
34
28
28
28
28
28
28
24
25
24
24
24
24
24
25
25
25
25
25
25
25
25
25
25
25
25
25
25
28
28
36
32
28
26
28
28
28
36
40
42
36
40
32
32
40
40
48
40
40
48
48
48
48
48
48
48
53
55
51
55
56
63
64
64
64
65
59
63
71
82
82
107
127
135
140
144
140
119
95
95
95
113
128
137
137
137
138
141
141
138
129
122
121
129
134
137
146
137
134
123
117
123
134
145
150
150
150
153
158
169
169
158
145
141
153
153
141
134
141
157
165
192
193
193
189
176
161
161
165
189
189
193
197
197
206
188
158
151
148
151
156
140
134
128
134
73
22
22
25
22
22
25
25
22
22
25
25
22
22
22
22
24
24
29
24
25
22
22
22
22
22
26
26
26
34
34
34
39
34
34
34
39
51
62
74
82
82
90
112
134
128
102
74
47
39
39
39
34
34
32
34
28
28
28
28
28
28
28
24
24
24
24
28
28
25
25
25
25
28
25
25
25
25
25
25
22
22
25
28
36
36
32
28
28
28
28
34
36
39
42
42
40
33
33
40
40
48
40
40
48
48
48
48
48
48
44
48
55
55
51
56
63
63
63
63
63
56
65
65
65
78
95
107
119
135
151
144
119
95
95
95
113
121
134
135
137
143
146
143
138
130
122
121
129
135
141
150
146
137
123
117
121
137
150
158
154
153
150
153
165
169
158
141
137
145
150
137
134
148
165
176
181
181
176
169
158
157
157
165
181
177
181
188
197
212
197
165
151
151
151
151
140
134
134
134
69
22
25
25
25
22
25
25
22
22
25
25
25
22
25
24
24
24
29
28
25
25
22
22
22
25
28
26
32
34
34
34
39
39
42
47
51
66
78
90
98
102
117
134
149
134
112
82
51
47
39
39
34
34
34
34
32
34
28
28
25
24
29
29
24
28
29
28
28
28
25
25
28
28
28
28
25
25
25
25
25
25
25
28
28
32
29
28
28
28
28
34
40
39
44
44
40
33
40
40
40
40
40
40
44
48
44
44
40
48
40
48
55
55
56
56
56
63
56
56
55
56
63
64
65
78
78
95
107
127
149
144
128
102
95
98
106
117
128
134
137
146
146
138
137
128
121
119
121
129
141
146
150
141
128
121
128
141
154
161
161
158
146
145
158
158
153
141
137
141
141
134
137
153
165
177
165
157
150
145
145
151
161
173
165
161
165
181
193
206
197
167
161
161
151
140
134
133
128
134
69
25
25
25
25
22
22
22
22
22
25
25
25
24
24
24
24
29
28
28
25
25
25
25
22
26
26
32
32
34
39
39
42
51
62
71
71
74
89
98
98
102
132
134
134
119
102
89
68
57
47
39
39
39
39
39
34
34
28
25
25
24
29
29
36
29
29
28
24
28
28
28
28
28
28
28
28
28
28
28
28
28
25
25
25
25
28
36
32
28
28
36
39
39
44
44
40
40
40
33
40
48
48
40
40
40
40
40
48
48
48
48
48
55
51
56
56
56
56
56
55
55
63
65
65
65
65
86
107
119
135
140
119
102
95
102
106
113
121
128
138
151
151
146
138
129
122
119
121
128
137
146
146
141
134
129
137
141
146
153
158
154
150
150
154
158
154
146
134
137
134
128
141
157
169
169
165
157
150
149
150
160
165
182
185
167
167
181
184
197
197
181
151
151
140
134
119
119
128
134
69
28
28
28
25
22
22
22
22
25
25
24
24
24
24
29
24
28
28
25
25
22
26
26
22
26
26
26
26
34
39
42
57
66
82
90
89
82
89
98
89
102
127
132
119
102
89
86
82
71
62
47
39
39
39
39
36
34
34
34
24
24
29
29
36
29
29
24
25
28
28
32
28
28
32
28
28
28
28
28
36
28
28
25
22
25
28
36
36
29
28
28
33
33
44
44
47
40
40
33
40
40
40
44
40
40
40
40
40
48
48
48
48
48
55
51
55
56
56
49
63
63
65
65
65
65
65
65
102
112
126
122
106
95
95
106
117
119
128
128
138
154
158
154
143
135
128
121
119
123
134
141
146
141
141
141
141
141
137
134
141
146
150
154
161
161
154
141
134
134
128
134
145
165
165
165
158
158
158
165
165
165
181
182
197
182
181
167
184
197
193
181
151
134
134
134
134
128
134
135
69
28
28
28
28
25
22
22
22
22
25
24
24
29
29
29
28
28
28
25
22
22
22
26
26
26
26
32
34
39
47
51
71
82
102
102
89
79
82
97
89
97
117
125
113
102
94
97
97
89
78
66
51
51
47
39
34
39
42
36
36
29
29
29
29
29
24
24
25
28
25
28
28
28
28
28
28
28
32
28
28
28
28
25
25
25
28
36
36
28
24
25
28
36
39
39
39
40
34
40
40
40
44
40
40
40
40
40
48
48
48
48
48
48
48
48
53
53
56
56
63
63
56
63
63
62
65
65
98
102
112
107
94
94
106
113
134
135
134
129
137
146
154
151
141
137
129
121
119
119
128
141
143
146
146
150
146
141
129
121
128
135
141
146
158
158
151
141
134
137
137
145
158
177
177
161
153
158
161
173
177
169
177
177
188
177
165
165
165
182
177
165
149
141
141
134
135
137
141
135
69
24
28
28
25
25
22
22
22
22
25
24
28
29
29
29
24
24
25
25
22
22
22
26
26
28
34
34
34
47
55
66
75
90
102
112
89
68
71
89
82
98
105
117
117
113
109
113
105
105
94
78
66
57
47
39
34
42
51
46
44
32
29
29
29
29
29
24
25
25
26
26
25
25
25
28
28
28
28
33
28
28
28
25
25
25
28
36
32
24
22
22
25
29
36
39
39
40
32
32
40
33
40
40
40
40
40
40
48
48
48
48
48
48
48
48
51
53
56
56
59
59
56
63
63
62
65
65
95
102
107
102
94
94
109
128
150
146
141
129
129
137
146
146
143
135
128
119
117
113
121
128
143
146
150
154
154
146
134
123
128
128
129
134
146
151
146
137
137
141
146
158
169
182
182
177
161
165
169
169
165
158
158
169
169
158
154
154
154
167
167
151
141
141
141
141
143
150
141
135
69
28
29
28
25
25
25
25
24
24
24
24
24
24
24
24
29
29
24
25
26
26
26
26
26
32
34
39
51
57
71
78
82
98
112
119
105
89
89
101
94
86
92
98
117
125
125
117
109
105
105
105
98
82
66
47
39
39
42
46
44
36
36
29
28
28
28
28
28
28
28
26
26
26
25
28
28
28
28
28
28
28
26
25
28
36
36
36
29
29
24
29
24
24
36
39
44
39
33
32
33
33
33
44
48
48
40
40
40
42
48
48
48
48
48
51
53
53
56
56
56
59
56
63
63
62
62
65
79
82
95
95
94
90
101
125
149
149
137
129
130
135
130
138
138
138
137
128
113
113
119
128
141
146
146
146
151
141
119
119
119
121
128
134
141
146
146
141
137
141
141
150
165
169
161
161
150
150
158
165
161
153
150
154
158
154
151
151
154
154
146
141
129
129
134
137
145
146
145
145
69
25
28
28
25
25
25
25
24
24
24
24
24
29
24
29
29
28
28
28
28
28
32
34
34
34
39
51
71
78
78
86
89
102
117
132
121
105
105
115
79
79
79
98
117
133
132
125
105
101
105
113
119
113
89
66
39
34
34
34
42
42
39
44
32
36
28
32
32
34
34
34
32
28
28
28
34
28
28
28
28
28
26
25
28
32
36
29
29
29
29
29
24
24
32
39
39
33
33
32
33
33
44
44
48
40
40
44
40
40
44
48
47
48
48
48
53
53
53
56
56
56
56
63
62
62
51
55
65
79
86
90
90
90
101
129
146
144
130
125
135
130
130
130
135
137
137
130
121
117
121
128
137
141
141
143
143
135
119
119
113
119
121
129
143
146
146
135
129
141
134
141
154
154
151
146
137
141
145
154
153
141
134
141
151
151
154
154
154
151
141
129
122
128
129
134
141
150
150
150
69
22
25
25
25
25
25
25
24
24
24
29
28
29
29
29
28
24
28
28
28
34
34
36
34
39
47
74
90
98
90
89
89
102
132
134
132
113
117
130
105
98
79
86
113
130
132
117
98
98
109
132
144
144
117
89
63
39
32
34
36
36
42
44
40
40
40
36
36
36
34
36
34
34
28
34
28
28
28
28
28
28
25
28
28
36
36
29
29
29
29
29
32
32
32
39
39
33
33
32
33
33
44
44
48
40
44
40
48
44
44
48
48
48
48
48
48
49
53
53
63
56
59
56
62
55
55
55
62
71
79
86
94
92
109
129
154
149
138
130
138
137
129
122
130
138
143
135
129
119
121
128
129
137
129
129
135
128
113
113
114
119
130
135
146
151
149
138
129
135
128
128
137
143
134
128
128
128
141
146
141
134
128
128
138
151
158
158
154
141
134
121
119
117
121
128
141
146
153
153
62
22
22
25
25
25
28
28
28
28
28
28
28
29
28
28
28
28
28
28
34
34
40
39
34
39
66
90
102
102
98
89
98
113
132
134
121
113
117
133
134
117
98
89
101
117
115
106
79
92
114
134
163
149
134
112
89
68
47
39
39
34
34
44
44
44
46
44
46
42
40
36
36
34
36
36
36
36
36
28
28
28
28
28
29
29
29
29
29
29
32
32
32
32
32
39
39
40
33
33
33
33
33
44
40
40
40
48
44
48
48
44
48
48
48
48
48
56
56
53
56
56
56
63
63
63
65
63
62
71
86
95
102
106
114
133
158
158
149
138
138
130
125
129
130
138
143
137
130
128
128
128
129
129
128
121
122
119
106
106
119
129
138
146
154
154
141
135
129
138
135
128
129
129
121
117
121
128
137
146
146
134
128
123
130
146
154
158
151
141
129
121
113
119
121
128
129
146
153
158
61
22
22
25
25
24
28
28
28
28
28
28
29
29
29
29
28
28
28
28
34
34
34
40
34
51
82
102
117
102
98
89
105
121
134
134
117
109
117
132
147
132
117
109
114
115
106
98
79
98
114
133
149
149
141
132
112
94
78
66
51
34
34
46
40
42
44
46
46
44
40
40
40
40
40
40
36
36
36
28
36
36
36
29
29
29
24
24
32
32
39
39
39
32
32
39
44
39
33
33
33
33
39
39
33
33
40
40
48
48
48
48
48
48
48
48
51
56
56
56
56
56
56
63
63
63
63
63
65
71
86
102
117
117
118
132
160
165
160
141
130
122
122
130
138
146
143
135
122
128
128
122
128
129
119
114
119
114
106
102
119
130
144
149
151
146
138
122
129
146
146
135
129
119
119
119
119
128
135
143
143
135
123
119
129
135
151
146
137
130
128
121
128
128
129
128
137
146
153
154
61
22
22
22
25
28
28
28
28
28
28
28
28
32
29
32
36
36
34
34
34
34
39
39
39
68
94
117
117
102
94
94
110
121
141
134
121
109
114
121
140
141
147
141
132
129
109
95
79
109
123
132
132
134
140
132
134
132
117
98
66
47
39
47
40
40
40
44
44
42
44
40
40
40
42
42
40
36
36
32
36
36
36
36
29
24
24
29
32
32
39
39
32
29
32
32
44
33
39
39
39
44
44
39
40
40
33
40
48
48
48
44
48
48
48
48
48
48
49
56
56
56
56
59
56
59
63
63
62
71
86
102
126
126
130
138
160
173
165
138
122
114
119
130
143
143
138
129
119
119
129
128
128
129
119
114
119
113
106
106
122
130
138
146
146
143
130
119
129
151
154
138
128
119
114
119
122
129
137
143
138
137
128
121
122
130
135
130
122
119
121
119
129
137
141
141
141
150
158
153
61
22
22
22
28
28
28
28
28
28
28
28
32
28
36
36
36
34
36
34
40
39
47
42
51
71
102
117
112
97
92
92
109
121
141
141
134
123
113
105
125
134
148
155
147
130
114
95
98
114
123
114
114
115
125
133
144
149
144
117
89
66
62
62
51
51
44
42
42
42
42
42
40
40
40
39
44
36
36
33
36
36
36
29
29
29
29
29
32
32
39
39
29
29
29
29
33
44
33
44
44
46
44
44
40
40
33
42
48
48
48
40
47
48
48
48
48
48
48
56
55
56
56
56
59
59
63
64
63
66
78
98
119
126
121
132
149
165
165
141
118
106
114
135
140
140
130
119
106
119
128
122
119
128
119
106
119
114
106
106
119
122
130
130
127
127
127
122
130
151
151
135
119
119
119
122
130
135
138
143
143
135
130
128
119
126
130
119
114
113
119
119
129
141
143
137
141
150
153
150
61
22
22
25
28
28
28
28
32
28
28
29
29
36
36
28
36
36
36
36
40
40
42
42
57
74
102
112
105
97
89
89
109
121
141
158
158
141
115
98
109
130
147
148
148
139
117
109
98
114
123
114
98
106
115
130
134
144
144
127
102
90
82
74
67
62
51
44
40
39
40
42
40
40
44
44
44
36
36
33
36
32
36
29
29
29
29
32
29
32
32
32
29
22
22
29
33
33
44
46
49
49
49
46
48
40
33
40
48
48
44
40
40
48
48
48
48
48
48
56
55
55
56
59
56
64
64
69
57
59
66
86
102
110
110
117
134
160
160
133
107
102
107
125
135
140
130
113
102
114
119
128
122
119
119
114
119
114
106
106
107
114
114
114
119
122
119
119
127
151
151
127
119
119
119
125
135
137
138
138
138
135
129
119
119
122
122
119
106
106
113
119
123
134
137
141
141
146
150
145
61
25
25
25
28
28
36
28
28
28
32
34
34
32
36
36
34
42
42
39
39
46
51
51
62
71
94
102
113
97
86
94
105
121
141
149
149
141
117
98
101
114
130
133
130
123
114
114
123
114
114
109
98
98
114
123
132
141
134
126
121
117
126
117
98
74
57
51
51
42
40
42
39
39
42
40
42
36
39
32
32
32
29
29
29
32
32
39
39
29
29
29
29
29
29
32
39
33
33
46
49
49
55
62
56
48
44
44
44
48
42
40
48
40
44
48
48
48
56
49
53
53
56
56
61
64
67
67
61
57
63
79
98
102
110
110
126
149
149
134
107
102
107
114
127
122
119
114
113
119
119
119
119
113
106
119
119
107
107
102
106
102
98
102
107
119
122
122
135
135
140
130
114
106
119
128
135
135
135
144
146
143
135
122
126
122
122
112
110
114
119
119
121
128
128
128
141
145
145
137
59
24
25
25
28
32
28
32
28
28
32
34
28
34
36
36
40
42
42
40
42
51
57
62
62
78
98
112
113
97
86
92
101
121
141
147
141
125
109
94
109
114
106
101
98
98
114
130
130
123
109
98
98
114
114
114
121
130
121
117
121
144
149
149
117
94
74
59
55
51
46
44
42
39
42
42
40
36
40
32
32
36
36
29
29
32
39
32
29
29
29
29
32
39
46
39
44
33
33
39
46
49
55
65
56
49
49
48
40
48
42
48
44
40
40
44
48
48
56
56
56
53
56
56
55
61
64
67
63
59
66
78
94
102
105
110
118
134
138
127
110
106
107
114
119
119
114
107
114
119
119
119
113
102
106
107
119
114
107
102
106
102
95
98
102
119
122
127
130
130
130
122
114
114
119
128
130
129
130
138
143
143
135
130
126
130
122
119
119
119
119
119
121
121
113
121
129
141
141
129
59
24
25
25
25
32
36
36
28
28
28
28
28
34
36
36
40
42
46
47
47
55
63
66
57
78
105
117
117
97
82
92
101
121
134
134
121
109
98
92
106
109
109
106
98
98
114
130
147
145
130
114
114
114
123
114
117
117
113
113
132
165
179
179
149
117
83
69
66
61
51
47
46
44
42
40
40
40
32
32
36
36
36
32
32
39
32
32
29
29
29
29
39
62
62
62
46
39
33
33
39
46
55
65
61
61
61
49
48
42
42
48
44
44
44
48
48
48
56
53
56
56
56
56
59
59
61
61
67
63
66
78
90
102
110
117
118
122
126
127
122
107
107
112
114
112
114
114
114
119
119
114
102
95
102
107
118
110
107
107
107
106
102
95
102
114
122
127
122
122
119
119
118
114
119
119
114
114
114
129
135
138
138
130
122
122
119
114
122
130
130
130
129
121
113
121
132
141
141
137
55
29
25
25
28
28
36
36
28
28
36
28
28
36
36
40
42
42
47
47
51
57
66
71
57
82
102
119
126
98
86
92
113
121
132
126
109
92
86
82
98
109
117
123
114
114
117
130
163
160
147
130
123
123
117
114
123
117
117
121
141
179
193
204
160
132
98
82
79
74
59
51
51
51
44
40
40
33
32
32
32
36
39
36
32
39
39
39
29
29
29
29
46
73
78
73
49
46
33
33
33
46
46
49
55
61
61
61
56
49
48
40
40
40
44
44
48
48
48
49
56
56
56
56
56
59
59
61
66
63
66
74
86
102
110
117
126
118
118
130
135
122
114
114
114
114
114
114
114
119
114
106
95
95
102
107
118
118
114
107
114
107
107
107
107
107
119
122
114
118
118
118
119
107
113
106
102
98
102
114
122
130
130
125
122
114
114
109
122
130
138
138
137
129
128
129
137
146
146
148
55
24
25
25
28
28
28
36
36
36
36
36
34
36
42
42
42
47
51
57
66
74
78
78
71
86
105
117
112
94
94
98
117
117
117
110
97
86
82
79
89
101
115
123
114
113
123
140
163
145
130
137
132
123
114
114
117
130
130
132
141
165
179
179
160
134
102
94
96
90
74
59
51
44
39
34
33
40
33
33
36
36
39
39
39
39
32
32
29
29
39
39
62
78
78
62
49
48
44
33
33
33
33
46
49
49
61
65
65
65
49
40
44
44
44
46
48
49
49
49
49
49
49
56
55
55
55
55
63
63
63
71
78
98
117
119
126
110
114
126
134
130
118
112
112
112
107
107
119
122
114
107
95
95
102
107
114
107
106
106
114
114
114
107
107
107
107
114
114
112
122
119
114
113
102
106
98
98
98
106
114
119
122
121
122
121
109
109
114
130
138
138
130
129
125
129
129
138
146
154
55
25
25
25
28
28
28
32
36
44
44
40
36
44
46
44
39
42
55
74
90
98
90
86
86
94
98
102
98
94
98
118
119
112
98
94
94
86
79
79
79
86
105
115
115
115
129
140
155
117
98
114
130
123
114
114
113
123
132
132
141
149
155
155
149
132
112
102
112
105
90
74
47
39
34
34
33
40
40
33
36
39
39
39
39
39
32
32
24
29
46
62
78
81
62
46
39
39
33
33
33
33
33
39
33
46
55
73
81
80
61
48
44
44
44
44
44
48
48
48
49
49
49
56
56
55
55
57
62
63
63
66
78
94
102
119
119
110
110
130
134
127
127
126
107
107
107
107
112
122
119
107
106
102
106
107
107
102
95
95
107
114
114
114
106
102
102
102
112
119
127
119
107
106
106
107
102
102
102
102
109
114
114
114
129
122
113
109
113
122
130
129
122
122
121
121
122
129
138
146
55
28
28
28
36
36
32
28
39
46
46
39
39
46
46
42
39
39
57
82
102
102
98
82
86
95
94
95
107
112
119
134
127
112
94
94
94
90
79
79
62
79
94
109
109
117
133
154
163
132
106
106
117
117
115
117
122
130
138
133
133
134
133
134
134
118
102
102
112
117
96
79
55
47
39
39
40
40
40
33
39
39
39
39
32
39
32
32
24
39
55
73
78
73
55
39
33
33
33
33
33
33
33
33
33
46
62
81
85
81
61
46
44
44
44
44
33
44
44
48
49
49
49
56
53
53
55
55
63
66
66
66
71
86
102
112
117
110
112
119
134
134
127
126
114
110
102
98
112
119
112
107
107
102
102
107
106
98
94
95
106
110
114
114
106
98
98
102
114
118
122
122
114
106
106
113
106
109
106
106
106
106
113
114
123
121
113
109
109
117
117
117
114
114
114
117
117
121
129
140
55
28
28
36
36
36
36
34
39
46
46
39
40
42
42
40
34
39
51
82
102
102
82
68
82
86
94
112
119
127
134
149
134
117
94
94
94
90
79
79
79
79
86
92
98
115
141
165
188
165
138
117
113
113
125
133
141
144
144
134
130
122
118
117
127
107
95
102
112
112
96
82
71
63
48
44
40
40
40
33
39
44
39
39
32
39
32
32
32
39
61
73
73
61
46
40
33
44
44
39
44
44
33
33
33
49
65
81
81
73
56
40
46
48
46
44
46
46
44
46
46
49
49
49
53
56
55
55
62
66
66
65
68
82
102
102
117
110
110
117
126
126
126
118
126
118
102
95
107
118
112
102
102
102
102
107
107
102
102
102
106
112
114
114
106
98
98
102
114
114
118
118
110
106
106
110
113
114
114
106
98
106
109
114
115
113
113
106
109
114
114
109
109
106
106
109
114
117
122
129
53
28
36
36
34
34
34
34
36
44
44
42
42
44
47
39
39
47
68
89
102
98
94
89
95
102
112
118
127
134
144
149
134
119
96
102
94
94
86
79
79
79
90
106
109
117
141
173
204
196
173
133
109
117
133
138
141
141
138
133
122
117
113
118
122
106
95
94
102
107
96
94
82
71
63
51
40
40
46
33
39
39
36
32
32
32
36
39
39
44
61
73
62
49
36
36
33
33
46
44
46
33
33
39
39
61
81
85
73
62
49
49
44
44
44
44
46
33
48
48
46
49
49
49
48
55
51
55
63
71
71
65
65
71
86
94
102
107
112
118
112
112
118
126
127
119
110
102
102
107
107
110
106
102
102
106
102
98
95
102
102
106
110
107
107
102
102
98
114
118
122
117
106
98
106
114
106
109
109
106
106
106
106
109
109
109
109
109
109
109
106
101
97
101
98
101
117
125
121
109
53
36
36
36
34
34
34
34
39
44
42
40
42
46
47
47
47
57
71
94
105
110
117
122
122
126
126
130
130
134
144
144
128
107
94
95
95
86
86
86
90
95
113
125
125
125
138
165
196
204
188
158
132
133
140
140
138
138
133
130
125
122
118
117
118
107
94
96
96
96
94
86
87
82
64
56
49
46
46
33
39
39
39
36
36
36
36
36
36
39
55
62
62
46
36
34
39
44
46
46
44
33
44
46
55
73
85
81
65
49
46
46
44
44
33
44
44
46
33
46
46
49
49
48
48
48
55
55
66
71
71
66
65
71
86
94
102
102
112
112
112
110
118
119
126
118
112
102
107
110
110
110
107
102
102
102
102
98
98
98
98
102
107
107
106
102
102
102
114
122
125
114
102
98
98
106
106
102
101
101
102
102
106
109
109
109
113
113
117
114
106
101
94
98
101
109
122
125
117
106
49
36
36
36
36
34
34
34
42
44
44
39
39
51
57
62
68
82
98
102
110
117
132
141
133
134
130
130
130
135
134
134
127
96
95
102
95
90
90
86
86
95
121
137
133
129
138
154
176
188
188
163
141
140
138
133
133
133
133
133
138
132
125
122
107
107
102
107
107
96
87
82
87
82
64
63
48
48
49
46
39
39
39
39
39
36
36
39
36
39
51
62
55
40
28
28
33
44
48
44
33
40
49
55
65
81
81
73
55
44
33
44
44
46
46
33
48
46
46
44
46
46
49
48
48
55
51
56
71
75
79
71
62
68
78
86
102
102
112
110
102
102
107
112
110
110
102
98
102
102
102
102
102
102
102
106
102
98
94
94
95
95
102
106
106
106
102
102
114
126
126
114
106
98
98
101
98
98
98
98
94
101
106
109
109
109
113
117
121
117
109
101
92
98
106
117
130
129
117
101
49
40
39
40
36
36
34
36
40
44
44
39
39
51
68
78
89
105
117
113
110
117
130
138
130
130
125
122
126
130
130
126
112
95
95
107
102
94
86
86
79
86
109
129
138
133
137
148
148
163
158
141
132
133
132
129
133
133
138
141
146
144
130
118
102
107
112
112
112
96
94
87
82
75
64
55
48
44
46
46
46
39
44
44
44
40
36
36
39
39
46
53
46
40
34
32
33
44
46
39
33
39
61
81
98
90
81
62
46
33
44
46
44
33
46
48
33
46
48
46
46
46
48
48
48
51
56
56
71
79
82
71
65
71
78
86
98
112
112
107
98
95
95
94
95
94
95
94
98
98
94
94
95
98
102
107
107
102
94
90
90
94
98
107
110
106
106
107
118
126
125
110
98
98
106
102
106
106
98
94
92
94
102
109
113
117
121
125
125
117
106
98
92
94
106
121
133
133
117
101
49
39
40
36
40
36
40
36
42
51
46
39
39
51
74
89
102
113
126
121
118
125
125
121
122
122
114
114
114
118
118
114
107
95
107
118
107
95
94
86
79
79
94
117
133
138
146
149
149
149
141
125
125
130
133
129
133
133
141
149
149
144
130
114
95
95
112
112
105
96
82
82
64
65
56
44
33
48
48
48
46
46
44
44
44
39
39
36
36
40
40
42
42
40
34
34
33
46
46
33
29
44
73
98
105
98
65
49
33
44
46
46
48
33
46
46
46
33
33
46
46
46
46
48
48
56
56
56
74
79
82
74
71
71
79
86
95
112
112
102
95
94
86
79
86
86
94
98
98
98
94
86
90
95
102
110
112
107
98
94
86
86
94
106
112
112
110
114
117
122
114
106
98
98
106
106
106
106
98
94
94
94
109
109
121
123
125
125
125
117
106
92
90
92
101
117
125
125
117
106
46
36
40
40
40
40
39
40
42
51
51
47
47
57
82
90
102
117
121
122
118
113
106
98
106
109
106
98
102
110
110
107
102
98
112
127
126
107
102
102
86
79
79
98
126
149
165
173
165
160
146
130
122
133
138
133
141
141
144
144
144
134
122
110
95
95
96
96
96
87
65
65
63
56
48
40
48
48
48
33
44
44
44
44
44
46
39
40
34
34
36
40
40
40
40
34
33
33
39
33
33
55
81
105
114
85
65
46
33
33
33
44
46
46
33
48
44
48
44
46
46
46
49
48
49
56
56
56
64
75
82
82
71
79
82
94
95
107
112
102
94
86
86
79
79
86
98
110
107
98
94
86
86
94
102
110
114
114
112
107
95
90
94
102
112
118
126
135
126
122
114
102
98
98
98
101
106
106
98
94
98
101
109
114
129
125
121
125
122
117
106
92
86
90
98
109
117
117
113
109
46
36
36
40
36
40
36
42
42
46
51
57
66
82
98
102
102
102
110
121
121
113
98
92
102
107
106
102
95
107
107
102
95
95
118
128
127
119
119
119
94
82
79
86
112
144
165
179
179
179
160
134
126
126
134
134
134
134
127
127
126
117
102
98
86
82
82
82
80
65
64
62
62
48
48
40
48
49
55
44
48
48
44
44
44
44
39
39
40
40
40
40
42
42
40
40
33
33
33
46
55
73
90
105
90
73
49
36
33
44
46
44
33
44
48
33
33
46
46
48
46
33
49
49
49
55
49
49
63
75
80
82
79
82
82
94
94
102
107
98
94
94
94
94
90
97
114
122
122
110
94
79
86
94
98
106
112
122
126
126
107
95
94
95
107
122
134
151
149
130
110
106
106
101
98
102
106
101
98
98
98
106
113
121
133
125
117
117
117
114
101
92
90
92
101
109
114
109
113
117
46
36
36
36
40
40
36
42
42
46
51
67
87
102
105
112
98
98
105
119
132
122
113
114
118
122
118
112
107
107
102
95
96
95
112
140
134
127
128
134
126
102
86
86
107
127
160
179
193
179
176
149
130
126
134
134
126
119
112
102
94
86
86
78
78
65
62
65
65
64
56
48
49
48
48
47
49
56
49
40
46
48
44
44
44
44
42
42
47
44
44
44
44
46
46
44
46
33
33
48
65
81
98
98
73
62
46
33
33
44
46
44
46
46
44
46
48
46
48
46
48
46
49
49
56
56
56
49
56
75
80
87
82
82
86
87
94
96
102
94
86
95
98
102
105
114
130
134
134
118
102
90
90
94
98
98
110
126
134
134
118
102
94
95
110
126
149
173
160
138
114
110
110
106
98
106
102
101
98
94
94
101
109
114
129
123
117
109
113
109
101
92
90
94
106
114
114
109
117
125
46
36
39
39
40
39
39
36
34
47
55
75
102
121
134
117
98
98
102
117
127
126
119
119
118
127
130
118
107
96
102
86
94
94
112
119
127
144
144
127
119
102
86
86
102
119
134
149
165
160
160
134
127
119
114
110
102
94
82
78
78
71
71
65
65
64
55
47
55
55
48
49
48
48
49
49
56
56
48
40
44
44
48
44
42
40
42
42
51
46
51
51
51
51
51
51
39
33
33
61
81
98
90
73
55
49
36
36
44
46
48
33
46
44
46
33
33
46
33
48
48
44
46
49
49
56
49
46
61
72
83
90
87
87
90
87
86
94
98
94
94
98
106
110
117
130
144
149
138
117
106
94
98
86
94
98
102
127
149
144
130
106
94
95
110
118
144
176
160
138
122
114
114
109
106
106
98
94
92
94
98
98
109
117
129
121
109
106
106
106
105
98
98
106
110
114
113
118
122
125
44
34
36
36
40
44
44
44
39
42
55
75
105
134
121
117
98
98
102
117
119
119
118
114
119
127
127
119
107
107
96
95
87
94
96
112
127
128
128
119
102
94
82
79
86
94
110
118
117
117
112
102
94
86
86
78
78
71
71
68
68
68
68
65
65
65
62
48
63
63
56
63
63
65
55
49
49
56
48
33
48
48
44
44
42
40
44
44
51
51
51
57
55
59
55
51
48
44
48
65
85
90
80
65
49
46
33
40
33
44
48
44
48
44
46
46
48
46
46
48
49
48
49
49
56
56
49
49
64
72
90
96
94
87
90
87
86
94
94
94
94
98
106
110
114
126
134
134
125
114
101
98
90
86
90
95
95
126
149
149
130
106
86
94
102
112
130
160
149
130
114
114
122
117
114
110
109
106
98
98
98
98
101
109
129
122
114
109
101
106
106
109
114
114
114
113
122
122
125
130
39
36
36
40
39
42
44
40
42
44
53
75
105
121
117
105
87
87
98
102
112
102
102
102
96
112
112
102
96
96
94
82
82
82
82
94
102
112
102
96
82
79
78
78
78
79
78
79
78
79
79
78
71
71
65
62
57
62
62
62
62
62
57
62
63
63
62
55
62
63
55
65
65
56
49
49
56
56
56
48
48
47
44
44
44
40
44
44
44
51
51
59
67
75
75
67
49
56
64
80
90
81
64
49
40
40
33
40
40
44
44
44
33
46
46
46
48
46
46
46
44
48
48
49
56
56
49
49
65
80
96
105
96
96
96
94
86
94
94
95
95
105
102
106
118
122
130
122
114
106
101
101
94
86
90
92
90
110
134
134
130
106
86
86
94
102
114
130
130
114
105
110
122
125
118
114
113
106
101
101
101
106
109
110
125
125
117
109
98
101
106
118
126
118
110
110
118
125
130
130
39
40
39
40
42
46
44
42
40
40
40
53
69
77
83
83
66
71
74
74
79
79
78
78
78
86
82
82
71
82
64
65
64
64
64
72
79
80
82
82
78
71
71
75
79
78
71
71
71
71
79
78
71
74
71
65
65
65
71
65
65
63
57
57
62
65
63
62
63
55
51
62
62
62
62
48
63
64
64
64
56
51
42
42
44
42
44
51
34
44
51
55
75
85
85
75
56
61
73
90
90
65
48
33
33
33
40
40
33
40
44
48
44
44
33
48
33
48
44
44
48
49
49
49
56
56
55
55
65
81
96
105
102
96
94
94
86
94
95
96
102
110
110
106
117
118
117
109
101
101
106
109
101
86
86
86
79
98
118
126
118
97
86
90
94
90
94
102
109
101
101
110
122
122
113
109
106
106
101
106
114
117
121
122
129
129
125
114
98
94
106
118
127
117
106
102
110
118
125
125
39
40
39
42
42
46
46
44
44
44
44
46
51
53
55
61
51
51
57
51
57
59
57
57
63
63
63
62
62
56
63
56
65
64
64
64
63
63
63
63
71
71
71
71
64
71
66
66
71
71
71
71
71
71
66
65
74
71
71
74
71
65
63
63
65
71
65
65
65
62
65
65
65
65
65
65
75
82
82
79
63
55
47
44
44
44
44
47
40
44
44
51
67
83
83
83
73
80
81
90
73
56
40
32
40
40
40
33
32
33
42
48
44
48
33
48
46
48
49
48
48
48
49
56
49
56
55
55
72
90
105
105
96
96
87
87
86
94
95
107
114
118
118
117
118
118
113
110
106
109
122
133
109
90
82
86
86
94
110
110
102
89
82
92
94
86
82
86
98
101
105
110
113
110
109
105
101
105
109
109
117
125
125
125
129
130
125
117
106
101
110
122
126
117
106
106
114
122
122
125
39
42
46
40
40
42
51
53
55
62
62
62
55
46
44
51
51
51
51
51
51
55
55
55
47
48
55
48
55
63
64
64
64
64
63
64
63
63
62
65
74
78
71
65
63
65
64
65
66
65
71
71
66
65
71
71
71
71
71
65
65
64
71
71
65
78
65
78
82
65
65
82
95
96
107
96
94
94
96
90
71
59
47
47
47
44
44
51
46
44
44
51
55
62
69
77
96
96
90
73
61
48
40
44
44
44
40
33
40
40
44
48
48
48
44
48
44
48
44
49
46
49
49
49
49
56
56
55
77
90
96
96
87
79
78
78
78
94
102
119
127
130
134
138
144
144
141
134
133
141
158
165
130
101
94
97
94
94
98
94
86
79
82
89
92
86
86
86
92
97
105
106
105
101
101
101
92
101
101
109
117
125
133
138
133
133
129
122
117
117
117
122
122
118
117
117
122
126
130
130
40
46
46
40
32
46
62
77
77
78
83
77
69
61
59
62
67
62
61
55
63
74
74
66
63
65
64
64
64
72
82
75
65
64
64
82
86
82
71
71
86
94
87
78
71
71
71
71
71
71
71
71
75
79
87
90
87
82
75
71
78
79
82
87
87
87
86
94
96
94
78
82
96
119
127
112
112
102
102
96
86
65
51
47
51
44
44
47
51
44
44
51
44
44
55
73
96
96
80
64
48
33
40
48
48
44
42
42
42
42
42
48
44
48
42
44
44
48
48
48
48
49
49
53
49
49
49
56
72
90
90
80
74
65
65
71
86
94
110
127
134
144
144
149
160
160
154
149
146
149
165
173
134
106
105
110
102
97
102
95
92
86
86
89
89
89
92
97
105
105
105
97
98
94
94
97
92
101
105
101
109
123
141
149
141
140
125
122
117
117
117
114
110
117
118
122
122
126
130
133
36
42
36
39
46
62
91
117
121
117
117
112
105
96
102
105
105
105
102
102
102
117
112
112
96
96
96
94
87
82
82
72
72
71
82
96
112
112
96
94
94
102
102
96
87
87
87
87
82
82
78
79
87
90
102
112
117
107
98
94
94
102
102
102
112
112
107
119
119
96
86
86
95
119
127
127
119
119
112
112
87
71
51
51
51
44
44
44
51
42
44
47
42
34
51
69
80
80
65
63
44
32
32
48
48
44
48
48
48
48
48
42
40
40
48
48
48
48
48
48
48
49
53
49
49
49
49
56
64
72
80
72
63
57
65
65
86
94
118
134
134
144
149
160
149
149
144
134
130
132
141
149
121
101
105
117
110
105
110
110
105
97
94
92
89
89
97
110
117
109
101
92
92
97
97
101
109
113
109
105
101
121
132
149
149
141
125
117
117
117
110
102
98
110
118
122
118
118
125
130
36
34
34
39
46
74
117
136
149
134
134
134
121
117
117
134
134
117
117
112
128
144
144
134
127
128
127
119
112
94
86
75
82
82
96
112
128
140
119
102
110
110
118
118
112
102
102
96
94
87
94
102
102
117
127
134
144
134
119
112
107
112
119
119
127
127
127
127
127
107
86
79
95
118
127
127
127
127
119
118
94
71
62
57
51
47
47
42
51
51
46
44
44
46
51
55
64
63
56
51
44
40
40
40
42
42
44
48
56
53
48
42
40
40
42
44
44
48
48
48
48
48
49
49
49
56
56
56
64
64
64
63
55
55
65
71
82
102
119
134
134
144
144
144
144
141
138
132
118
110
114
125
102
102
110
110
105
105
113
126
121
118
109
94
89
86
105
134
132
113
97
92
92
97
101
110
117
121
117
105
105
113
132
149
158
141
125
110
110
106
102
95
94
98
106
110
118
122
122
122
36
34
39
47
62
91
117
134
134
128
121
121
117
117
112
117
117
112
102
102
117
144
149
144
128
128
128
128
127
96
87
82
82
94
107
117
134
134
127
107
102
102
110
112
118
118
110
102
102
107
118
126
127
127
144
149
160
160
149
127
119
114
118
119
118
126
127
130
126
106
82
79
95
118
130
135
134
127
119
119
94
71
68
66
57
51
51
47
51
51
44
40
39
42
51
51
48
48
48
48
44
40
40
42
40
40
42
48
48
49
48
42
40
44
42
42
42
48
48
48
48
49
49
49
49
49
49
56
56
56
56
55
47
55
63
71
86
94
112
119
126
134
126
126
126
130
132
130
114
94
92
101
94
94
102
102
102
105
113
126
126
121
110
94
86
86
105
134
141
121
105
97
97
97
105
117
117
117
113
101
105
113
132
144
149
140
117
105
102
98
94
94
86
94
102
112
118
122
118
113
36
39
39
47
74
102
121
134
121
117
117
117
117
102
102
102
102
102
90
102
117
134
134
134
127
127
128
128
127
102
87
82
86
96
119
127
134
144
130
118
110
106
110
126
144
134
126
110
107
126
134
149
144
134
144
160
165
165
149
134
112
112
117
126
118
122
126
127
126
102
86
86
98
126
134
134
138
130
119
118
94
86
78
78
71
57
57
55
61
57
51
40
39
40
44
47
40
40
48
48
48
42
42
42
40
40
40
48
48
55
48
42
44
40
44
44
48
48
48
48
48
48
48
48
48
49
49
56
59
53
55
51
47
51
62
71
86
94
98
102
110
112
110
106
110
122
134
134
118
94
79
86
94
94
94
94
94
97
110
117
122
121
105
94
89
86
105
132
134
125
105
97
92
92
101
117
121
117
113
109
113
125
141
149
158
138
122
106
102
98
98
95
86
94
95
107
118
122
113
110
36
47
51
55
82
117
128
121
117
117
117
121
117
102
98
94
89
89
89
102
117
132
119
112
95
107
119
126
118
102
94
82
94
96
127
134
149
149
144
130
122
118
122
144
160
160
144
117
112
126
144
160
149
144
134
144
149
149
144
122
106
106
118
130
126
122
118
118
118
95
86
86
106
127
144
144
134
127
114
114
102
94
94
94
78
71
71
66
74
66
57
44
42
40
42
46
42
44
48
48
48
48
48
44
40
40
40
48
51
48
48
42
44
44
40
47
44
48
48
48
48
48
49
48
48
48
49
56
56
56
55
48
51
55
65
71
82
86
86
94
95
107
106
98
110
118
144
149
130
102
86
86
94
98
97
94
89
94
97
105
117
110
101
94
89
86
94
118
125
113
101
92
86
89
101
110
121
121
117
117
132
149
165
165
158
146
133
118
110
106
98
94
94
94
95
106
117
122
117
106
28
59
66
66
82
102
121
117
117
121
121
117
105
98
94
89
82
89
89
110
119
119
107
94
94
95
107
107
112
107
98
95
95
102
119
134
158
158
151
146
138
140
149
163
173
165
144
122
114
126
144
160
160
149
134
134
144
144
133
114
101
109
125
141
137
122
106
110
114
102
90
90
110
138
149
138
130
117
107
112
110
98
105
102
89
78
78
82
82
75
62
51
47
42
42
47
44
48
48
48
51
48
48
44
40
40
44
48
48
48
48
42
48
40
47
48
44
48
48
48
48
48
48
48
48
48
55
49
59
56
55
55
55
65
71
71
78
79
79
79
94
110
112
102
102
118
144
160
144
112
94
86
98
98
98
97
94
89
94
97
101
102
97
92
92
82
82
101
105
97
92
89
82
92
105
113
121
121
121
125
141
163
165
179
149
149
149
138
126
110
102
94
95
94
94
98
110
114
110
106
28
71
82
74
74
98
113
121
121
126
121
113
97
97
92
86
82
82
97
113
118
117
107
102
95
98
102
106
106
110
112
107
102
102
114
138
158
165
165
158
158
158
165
176
173
165
141
129
122
130
141
158
165
158
149
146
146
141
129
113
106
113
129
140
137
117
101
106
114
106
94
94
114
138
146
126
114
106
106
114
114
106
105
110
98
89
94
98
98
89
66
55
51
47
42
42
42
42
48
48
48
48
48
48
48
48
48
48
48
48
48
44
40
44
44
48
48
48
47
48
47
48
48
47
44
48
55
56
55
55
55
62
65
71
71
71
71
71
68
71
86
112
114
107
102
117
144
149
144
118
94
86
90
98
105
98
97
94
94
94
82
94
92
94
94
82
79
86
92
92
92
92
97
101
109
117
115
117
117
130
141
149
165
165
149
158
165
160
138
118
102
98
98
94
86
86
94
105
106
106
28
75
90
90
82
89
102
117
132
132
130
109
97
97
97
97
82
92
105
125
130
117
106
106
106
106
102
106
110
122
126
122
112
106
106
129
158
173
173
163
165
173
173
173
163
149
138
129
129
129
133
141
149
154
154
158
154
146
129
114
114
121
132
137
114
106
94
113
129
114
98
102
114
130
135
113
98
90
101
114
114
102
102
106
97
89
102
102
112
94
74
62
51
51
47
47
48
42
40
47
48
48
48
48
48
48
48
48
48
47
48
44
48
48
48
44
44
48
48
48
48
48
47
47
47
48
55
55
55
55
62
63
71
78
78
78
71
71
62
62
90
106
114
106
98
110
127
144
138
118
94
86
79
90
97
98
98
98
94
89
86
89
97
102
102
86
79
79
79
86
92
101
105
109
113
113
109
113
117
125
132
149
149
149
141
158
173
165
144
117
102
98
98
94
86
86
90
95
106
109
28
82
102
102
89
89
102
117
141
141
132
113
101
105
109
105
82
92
113
134
134
117
105
105
110
110
106
106
118
130
134
134
114
101
98
121
154
173
169
163
169
169
163
158
146
132
123
121
133
125
125
125
133
141
149
158
154
146
132
121
123
137
141
145
95
95
98
123
130
118
102
106
113
129
128
98
86
79
94
114
113
102
102
102
94
97
102
102
117
102
87
66
62
51
51
47
48
48
44
40
44
48
48
48
48
47
48
48
48
48
44
44
48
48
48
48
48
48
48
48
48
48
48
47
40
48
49
55
55
55
63
71
78
86
86
82
79
71
62
62
82
106
107
95
86
94
110
127
127
110
95
86
68
86
94
105
105
105
94
86
86
92
97
105
105
89
79
79
79
79
92
101
105
109
109
109
101
109
113
121
132
141
149
141
134
158
176
165
144
110
94
95
95
94
86
82
90
98
106
114
28
89
102
102
98
94
105
121
141
149
134
115
109
113
109
109
92
86
118
144
144
122
97
98
114
114
109
106
122
138
146
138
122
106
94
113
141
161
169
161
163
161
155
141
132
117
113
113
129
133
125
113
106
121
138
149
148
137
123
123
137
153
148
137
95
79
98
125
138
127
112
107
106
117
113
86
68
79
98
113
113
101
94
92
82
94
105
117
117
102
82
74
71
66
51
47
44
44
44
40
40
48
44
44
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
55
55
51
55
62
65
86
94
87
86
79
71
62
62
71
95
106
94
79
79
86
102
110
112
98
94
71
79
86
94
98
94
86
86
86
89
97
106
102
86
82
86
89
86
89
101
105
105
101
97
98
97
105
121
132
141
138
132
125
146
158
158
130
110
95
94
95
95
86
82
94
95
106
114
28
94
112
112
98
98
109
117
134
147
141
121
117
117
115
115
92
86
122
146
141
118
94
90
106
109
106
114
122
134
138
134
114
98
94
106
129
148
161
168
158
154
146
140
132
121
121
117
130
137
129
113
106
113
129
137
125
121
113
113
129
147
141
128
95
94
101
126
138
127
110
106
109
113
106
86
79
95
101
109
109
98
92
86
82
89
110
117
112
105
82
82
78
71
57
51
55
47
47
44
48
47
44
40
40
44
48
48
44
42
44
48
48
48
48
48
48
48
48
48
48
48
48
48
47
47
51
55
47
51
55
71
87
94
94
94
79
79
65
62
79
94
102
94
79
79
86
98
110
112
102
98
86
79
79
86
86
86
86
86
86
89
101
110
105
94
89
92
97
92
94
101
105
101
94
92
89
98
105
121
141
141
132
132
117
133
144
138
118
102
95
95
95
95
90
86
94
95
102
110
24
98
102
102
102
105
113
113
130
141
141
123
115
114
109
114
90
86
118
141
133
114
92
86
98
102
106
106
114
122
125
122
106
101
98
106
123
141
154
163
158
153
140
137
129
121
121
117
137
138
133
117
106
106
113
119
106
106
98
106
123
140
137
123
98
94
106
130
138
130
117
106
109
113
106
94
92
94
106
109
105
94
89
79
79
86
105
117
112
98
82
86
86
78
68
55
55
48
48
48
48
48
48
40
40
42
48
48
42
42
48
48
51
51
48
48
48
48
48
48
48
48
48
48
47
47
51
51
47
51
57
74
87
96
94
94
79
71
71
62
79
95
98
86
79
79
86
94
98
102
110
105
86
79
79
79
82
86
86
86
79
86
98
110
110
102
97
98
109
105
102
105
105
97
94
94
92
101
113
132
134
134
130
113
109
117
117
113
105
94
94
98
98
98
86
86
94
98
98
102
25
94
98
94
98
102
117
110
117
141
141
123
109
106
101
106
90
90
118
132
122
110
94
94
98
101
106
98
98
106
106
106
106
101
106
113
129
141
158
158
158
149
140
132
123
114
113
114
137
138
133
121
109
106
106
106
106
101
101
106
121
129
129
128
121
113
113
125
134
130
117
113
114
115
113
109
109
115
117
117
106
98
94
79
79
79
109
117
113
97
89
89
89
82
68
57
48
48
47
48
56
56
48
48
39
48
48
48
48
48
48
48
51
51
51
48
48
48
48
48
48
48
48
48
47
47
47
51
47
51
62
78
94
102
94
90
79
71
65
68
79
94
102
86
79
79
79
86
86
94
98
102
79
79
68
79
86
86
86
86
79
82
94
110
110
105
105
106
106
105
105
110
106
105
102
105
105
113
121
133
134
130
113
105
101
105
105
97
97
94
98
102
98
98
86
79
94
94
98
98
25
94
90
86
94
105
110
106
115
140
140
115
106
101
101
106
94
98
122
130
114
106
98
101
98
106
106
106
98
94
98
94
98
101
106
121
141
158
158
154
149
146
141
130
117
109
106
114
129
133
130
121
106
106
106
102
101
106
106
109
113
121
129
129
133
132
123
125
130
125
123
115
123
123
123
117
125
133
133
132
117
101
98
82
79
79
109
113
113
97
82
92
97
89
71
57
55
48
55
51
56
53
56
48
48
47
48
48
48
48
48
48
55
49
53
53
53
48
48
48
48
55
48
48
47
47
51
51
47
51
71
86
98
102
94
89
86
71
68
68
78
102
105
94
82
79
79
79
79
86
94
98
82
71
68
79
89
94
89
86
82
86
97
105
106
102
102
98
102
102
105
106
110
106
110
117
121
121
126
126
122
113
105
97
97
94
94
94
94
94
105
110
105
110
98
86
90
94
94
94
25
94
90
89
94
95
98
98
106
125
125
109
101
101
101
109
106
106
130
122
106
102
97
106
109
114
118
114
106
98
94
92
90
98
101
114
138
158
158
146
141
141
138
130
117
106
109
114
122
122
125
117
113
106
106
106
106
109
109
109
113
121
125
129
140
133
125
113
117
121
123
115
123
132
137
132
133
148
155
140
130
109
92
82
79
95
101
109
105
97
89
97
105
98
78
68
55
55
56
56
53
49
48
48
48
48
48
47
48
48
48
48
48
56
56
56
56
53
56
48
48
48
55
55
47
51
51
51
47
62
78
94
102
102
98
90
78
71
68
71
86
102
110
94
82
79
71
71
79
86
94
98
86
79
79
79
86
94
94
94
94
98
102
102
102
94
89
89
94
94
102
102
102
105
113
121
126
132
122
117
106
102
97
94
94
89
89
94
89
89
97
110
118
132
118
102
94
86
86
94
22
94
94
96
95
94
94
94
106
122
122
110
105
106
106
106
109
114
130
118
101
97
97
106
114
122
125
126
118
106
98
98
98
98
98
106
130
154
154
138
137
133
133
130
117
106
106
110
114
117
117
117
114
110
113
114
109
109
113
114
117
121
125
129
125
125
117
109
109
115
123
123
123
148
148
132
140
158
163
148
130
106
92
82
79
89
97
98
97
89
86
98
113
110
89
66
55
56
56
56
53
48
48
48
56
48
48
40
48
48
48
44
56
53
63
64
64
63
53
51
48
48
55
55
51
51
51
51
51
71
89
102
102
102
98
89
78
71
68
79
82
98
105
98
82
79
68
68
82
89
89
94
89
86
79
86
86
94
94
95
107
107
102
95
95
86
86
82
86
94
98
102
102
107
114
126
134
126
118
106
95
90
94
94
94
89
94
97
89
82
94
105
132
149
141
113
98
82
82
89
22
86
94
112
102
95
86
98
110
130
134
118
114
114
110
110
106
110
130
118
101
101
105
109
114
118
130
134
130
117
106
102
106
106
101
98
118
141
144
130
133
133
130
130
122
106
106
106
114
114
117
121
117
114
117
122
122
114
114
117
122
129
122
121
117
117
117
105
101
114
115
123
132
155
163
140
132
158
163
148
132
105
86
79
82
86
97
97
94
86
82
97
113
110
89
71
55
56
63
56
53
48
51
56
63
56
40
44
48
51
48
40
53
56
64
65
72
64
56
53
55
51
55
55
51
57
55
62
66
78
102
119
112
102
89
82
71
71
74
78
82
94
102
98
86
79
68
71
82
89
89
89
86
82
86
86
94
94
94
94
112
110
102
95
94
86
86
86
82
86
95
102
102
110
118
127
134
134
118
102
90
86
86
94
86
94
98
105
94
82
89
105
134
149
149
119
98
82
82
98
19
94
94
102
102
95
102
107
118
138
144
132
125
113
106
106
105
113
122
113
105
106
109
114
110
118
130
134
132
113
106
113
122
122
106
94
106
122
125
122
126
134
138
130
114
102
98
101
110
114
118
122
122
122
125
130
130
126
122
125
130
126
117
106
92
101
109
106
106
114
115
130
130
155
163
147
139
147
149
148
132
89
82
82
82
89
94
89
89
89
89
97
113
117
98
71
55
48
55
56
51
51
53
48
53
51
48
47
48
55
51
51
56
63
64
64
64
63
56
53
48
56
51
48
47
47
47
57
66
89
119
132
117
98
82
71
71
71
78
82
86
89
98
102
89
82
71
79
86
89
86
86
79
79
86
98
98
94
94
95
107
106
102
95
94
90
86
86
86
94
102
106
110
110
118
126
134
130
122
110
95
86
86
90
94
94
94
89
89
89
97
110
132
141
144
113
89
86
94
110
19
94
94
96
102
96
98
102
113
132
134
130
122
110
105
106
110
130
134
122
114
110
110
110
101
113
130
134
134
122
114
125
133
134
122
98
101
110
114
114
125
130
134
130
114
106
101
102
110
114
122
130
130
130
134
134
130
125
118
118
122
122
114
106
94
97
106
106
109
114
115
123
132
147
155
148
147
147
148
148
132
92
86
86
86
94
94
89
89
89
89
97
110
117
102
78
63
51
48
51
51
48
55
48
51
48
48
47
48
55
55
51
56
63
64
64
64
64
64
56
56
56
57
48
47
51
51
57
66
89
117
121
119
98
82
71
71
71
78
82
89
90
102
105
102
89
86
82
89
89
86
82
79
79
86
97
102
95
95
95
98
94
94
94
94
90
86
86
90
95
106
112
110
114
118
126
134
126
126
114
98
86
86
90
94
94
94
94
89
89
94
105
125
141
134
110
94
82
94
105
19
94
94
94
102
102
98
98
109
125
130
125
117
106
101
113
122
138
149
138
125
117
109
106
94
114
130
141
138
122
117
133
146
149
130
106
94
98
106
106
122
126
133
130
118
109
106
106
114
117
125
138
144
146
144
141
130
126
122
114
118
117
114
106
94
101
101
109
113
115
115
117
130
139
147
148
147
140
141
148
132
101
94
89
94
102
89
82
94
94
97
101
113
117
102
89
65
55
51
55
51
55
55
48
55
48
48
48
48
48
55
48
59
63
64
64
64
64
64
64
64
64
56
51
51
51
51
57
66
89
112
132
117
102
89
74
71
74
78
82
89
98
102
110
110
98
89
89
94
98
89
86
82
86
94
98
102
98
94
94
86
86
86
90
94
94
90
90
94
102
112
117
118
117
118
119
127
126
126
114
102
90
79
86
94
89
94
97
94
89
94
102
117
132
121
105
97
94
94
98
19
95
94
95
102
107
102
102
106
122
130
122
114
106
106
117
138
158
165
158
138
125
114
106
98
117
133
141
138
117
114
125
149
154
138
106
90
92
98
106
114
122
130
130
122
118
114
114
117
118
125
134
144
144
144
138
138
130
125
118
117
114
109
106
98
98
101
105
114
115
115
115
123
123
140
155
148
141
140
149
132
105
97
94
102
105
89
86
94
101
105
109
117
121
117
98
82
62
55
62
63
63
57
51
55
55
55
55
55
55
55
55
55
59
63
63
65
64
64
67
72
64
59
55
55
57
57
57
68
82
112
127
121
113
89
82
71
79
78
78
82
89
98
105
105
97
89
94
98
105
97
89
94
94
97
98
98
94
90
86
79
79
82
86
94
98
94
95
98
107
117
122
118
118
114
114
114
118
126
118
110
94
86
79
89
89
94
97
94
89
89
97
113
117
113
105
102
98
94
94
19
102
95
98
112
110
110
102
106
122
130
125
117
109
109
122
149
160
173
165
149
133
122
110
106
122
138
138
133
109
106
122
146
149
132
106
94
98
98
101
114
118
126
130
130
126
126
126
125
122
122
126
130
134
134
135
134
130
126
122
114
110
106
101
101
98
98
101
106
113
117
117
123
117
130
155
155
140
132
132
132
109
102
97
105
110
94
89
98
110
117
121
121
126
117
102
86
65
65
68
71
71
65
55
55
62
63
63
55
51
55
55
57
59
63
63
64
64
71
72
72
64
63
57
57
57
62
62
68
82
102
117
126
113
98
82
79
71
71
79
78
82
98
105
105
98
94
97
105
105
102
97
105
102
102
97
98
98
94
86
79
79
86
94
98
106
102
102
106
112
118
126
118
114
110
106
102
110
118
122
112
98
86
82
94
89
94
97
94
89
92
94
101
113
110
102
105
102
94
89
15
106
98
102
114
118
113
114
113
129
137
133
125
109
109
117
141
149
160
154
138
130
121
113
109
125
132
133
121
101
101
117
138
141
129
106
94
98
98
106
114
118
125
130
130
130
130
130
126
125
122
118
122
125
126
130
130
130
125
117
114
106
102
98
106
101
97
101
105
114
117
117
121
114
123
140
147
132
117
121
121
110
105
97
113
113
97
97
109
121
132
132
125
126
117
117
94
78
78
82
86
86
82
65
63
63
63
63
62
62
62
62
59
63
63
63
65
71
71
74
75
71
65
63
57
57
62
68
66
82
102
117
112
102
90
82
89
82
82
89
97
105
110
110
105
102
102
105
105
110
105
102
110
105
97
94
98
102
98
95
86
86
94
98
106
112
110
107
110
114
118
118
114
110
102
95
94
102
117
122
114
98
86
86
94
89
82
89
94
94
94
94
97
113
110
102
105
105
97
89
15
109
102
110
118
122
118
117
125
138
146
141
133
117
106
114
125
138
141
133
125
122
117
113
113
122
125
121
109
94
94
113
129
138
130
109
101
106
106
109
117
122
122
126
130
133
134
133
130
126
122
114
114
118
125
130
126
126
122
114
106
106
106
106
109
109
109
109
109
109
117
117
117
105
106
123
132
117
113
113
117
113
106
105
117
121
102
105
117
132
134
132
117
117
117
117
110
94
94
102
112
102
94
79
71
78
71
71
71
65
65
66
63
63
64
64
66
71
74
71
71
71
66
66
57
62
68
68
74
86
102
102
102
94
89
86
98
89
94
102
113
117
117
110
102
105
105
110
113
110
110
110
113
106
94
94
94
110
110
106
98
98
98
102
110
118
114
112
110
117
118
117
112
102
95
90
95
102
114
118
114
98
90
86
97
89
86
86
89
89
94
97
101
113
110
102
102
102
98
102
15
109
102
110
118
122
122
122
138
149
154
149
141
117
106
109
121
133
133
129
121
121
117
117
117
125
121
117
106
90
90
109
117
133
129
113
106
109
113
114
118
122
122
126
130
130
133
130
126
125
122
117
114
118
125
130
130
125
122
114
106
106
109
114
113
113
117
109
109
109
113
113
109
98
98
114
117
114
105
110
113
113
110
105
121
126
105
117
130
134
141
130
113
113
113
121
118
107
110
119
119
119
112
94
82
86
82
82
71
71
71
71
65
71
71
71
71
71
71
71
67
71
71
66
62
57
68
71
78
89
98
102
98
89
82
78
98
94
98
105
117
121
113
102
97
102
105
110
113
110
113
113
117
110
94
89
98
110
114
110
106
102
102
110
114
118
117
110
114
114
117
114
107
98
90
86
94
102
114
118
114
98
90
86
94
89
82
86
89
94
94
97
105
117
113
101
97
102
102
105
15
109
101
109
114
106
109
130
141
154
158
148
133
123
115
113
121
125
125
121
113
113
115
123
121
121
113
106
94
90
94
109
122
129
125
113
106
106
114
125
125
126
130
125
126
126
130
130
125
130
125
114
114
125
133
130
130
122
114
114
114
117
122
122
125
122
122
118
113
110
110
117
113
98
89
101
105
98
98
109
110
113
106
105
117
126
117
117
132
132
134
132
113
109
113
125
127
118
119
134
144
127
112
98
94
94
94
86
82
86
82
78
71
71
78
78
78
78
71
71
65
63
66
74
71
68
68
71
82
89
94
90
89
82
79
86
98
98
102
105
110
117
102
94
86
94
102
110
105
113
113
117
119
113
97
92
94
110
114
114
102
102
102
107
112
118
118
118
112
110
107
107
102
98
94
86
94
106
114
117
106
94
90
86
98
89
82
79
82
92
101
105
110
117
113
102
94
94
98
105
10
117
114
117
117
109
109
129
140
141
141
137
123
121
117
115
121
123
123
121
115
113
113
117
115
113
114
101
95
94
98
113
125
133
129
117
109
109
122
130
133
133
130
130
125
129
125
130
130
130
125
117
114
125
133
133
133
130
122
122
125
125
130
125
125
118
117
117
117
113
113
117
117
101
98
97
97
98
89
97
105
109
105
102
113
126
121
117
132
132
134
132
117
113
121
125
130
126
126
134
134
126
114
102
95
95
95
94
86
86
86
86
78
78
78
86
82
82
78
71
66
65
71
82
82
74
71
71
78
89
89
89
89
82
79
86
102
102
105
105
113
113
110
98
89
94
98
105
113
121
121
119
119
113
98
94
94
106
112
112
102
102
102
106
112
114
118
118
110
106
102
102
98
94
90
90
102
110
114
114
105
94
86
79
89
86
79
79
86
92
97
101
113
117
117
105
89
94
97
105
10
130
122
125
125
109
106
122
129
129
129
115
113
115
121
121
121
123
129
125
121
117
115
113
115
113
106
101
95
94
106
121
132
133
129
117
113
117
130
133
149
138
133
125
125
125
125
125
130
133
133
122
122
125
133
130
130
130
125
130
133
137
133
133
125
117
110
117
117
117
117
117
121
113
101
98
92
92
92
98
102
109
102
101
113
121
118
117
132
132
132
132
119
130
130
132
130
126
126
130
130
122
112
102
98
102
107
102
94
94
86
86
82
86
86
87
94
87
78
71
65
65
74
90
98
87
78
79
78
78
82
82
89
86
82
86
105
105
110
110
113
113
117
110
102
101
102
105
117
126
126
125
125
113
105
94
94
102
106
106
98
98
102
107
114
118
118
118
114
102
98
102
98
90
90
94
110
114
113
110
97
90
86
79
86
82
79
82
86
94
97
97
105
117
117
105
97
97
97
102
10
133
125
129
125
109
101
113
117
115
113
106
106
115
121
121
121
123
129
132
132
129
123
121
121
117
113
106
101
98
113
129
132
133
129
117
113
121
133
141
149
141
133
129
125
125
125
125
129
133
133
130
125
125
125
122
117
121
125
125
133
133
133
133
130
117
106
110
118
118
117
113
117
113
102
98
98
101
101
101
113
113
113
101
113
118
117
113
121
117
117
125
132
141
134
134
125
122
122
122
118
114
106
98
106
112
112
102
95
86
94
94
86
82
82
94
102
94
82
71
62
71
87
102
112
102
89
82
78
82
82
89
89
86
82
86
105
110
113
110
117
121
119
119
113
109
102
105
117
121
121
117
122
117
102
94
94
98
102
98
94
98
110
117
118
126
126
126
118
102
94
98
98
86
86
98
110
114
114
106
98
86
86
86
86
82
82
86
92
97
97
94
97
105
113
109
102
102
102
102
10
133
125
125
122
109
94
106
106
113
113
106
113
117
121
123
117
123
129
137
137
133
132
132
129
123
121
113
106
106
113
123
129
129
123
113
113
125
141
149
149
149
138
133
133
125
125
133
133
133
140
133
133
125
117
115
109
109
117
121
125
133
133
133
133
121
110
113
118
122
117
113
117
113
105
97
101
105
105
105
113
121
113
109
117
117
117
113
117
113
113
121
132
149
141
141
122
125
122
117
114
109
105
98
110
110
110
102
94
86
86
86
86
86
86
95
102
94
86
71
68
78
94
112
117
102
89
82
78
78
82
86
89
86
79
86
105
110
113
113
113
121
132
132
121
113
106
109
117
121
121
113
125
117
106
97
90
92
98
98
94
102
114
126
130
134
130
126
118
102
98
98
94
79
82
94
110
114
110
102
94
86
86
86
86
86
86
86
92
94
92
92
92
101
109
109
105
105
102
97
10
125
113
114
121
109
98
101
101
113
115
115
117
121
123
123
121
123
129
132
133
132
137
138
137
132
123
121
109
106
113
117
121
123
121
115
117
130
146
158
154
149
148
148
138
133
133
133
140
140
133
133
133
125
117
115
109
109
115
117
121
125
125
129
133
125
113
118
121
125
117
117
117
117
110
105
105
105
105
101
109
117
113
109
117
125
121
121
121
117
117
130
132
141
138
133
123
125
125
121
117
114
109
106
110
110
107
102
95
86
86
86
79
82
86
94
95
95
86
78
78
86
94
102
112
102
89
82
82
82
86
89
89
82
79
82
102
110
117
113
113
117
121
126
125
118
113
117
121
122
122
121
121
118
109
94
86
90
92
98
98
106
118
126
134
134
134
126
122
114
110
110
105
94
90
94
106
110
110
102
94
90
92
94
89
89
89
89
89
92
97
97
97
101
105
105
105
109
101
92
10
121
106
109
121
117
101
106
106
117
123
129
123
123
123
123
125
129
132
129
129
129
137
141
141
133
129
123
113
106
106
113
113
117
121
121
125
140
149
158
149
149
148
154
141
140
132
134
141
141
132
125
132
132
125
117
117
117
115
117
117
117
125
130
132
122
121
122
126
121
121
121
121
117
113
113
110
105
102
102
101
109
109
105
117
130
132
132
121
121
121
125
132
133
133
132
129
132
132
129
129
125
121
109
109
106
109
110
105
94
86
86
79
82
86
94
95
94
86
82
86
86
87
94
98
102
97
82
94
98
98
97
97
82
79
89
101
113
121
117
113
113
117
125
121
121
125
121
121
130
121
125
121
121
109
92
90
90
94
94
101
106
118
125
130
125
122
122
125
122
122
118
114
101
98
98
105
106
110
105
94
92
90
94
94
97
94
94
89
92
101
109
109
105
97
97
102
105
101
89
10
117
106
106
121
121
109
109
109
121
129
129
129
125
125
123
132
137
133
129
123
123
132
141
140
137
132
129
117
106
106
106
106
114
123
129
133
146
158
158
141
149
149
158
141
132
132
132
148
141
125
121
132
132
132
125
123
121
117
115
115
115
121
125
132
125
126
126
126
125
119
126
125
121
117
121
117
106
105
105
92
101
101
101
117
130
130
132
125
125
121
130
133
132
133
132
132
137
137
133
137
133
125
113
106
106
110
113
114
102
90
86
86
86
86
86
94
94
86
86
86
86
86
90
98
102
110
105
105
110
102
105
102
89
82
94
101
113
121
121
113
113
117
117
121
125
132
125
125
121
121
125
121
121
109
92
86
90
92
101
106
110
113
118
118
118
118
118
118
122
125
118
110
106
98
94
102
106
110
102
98
90
90
94
98
98
98
97
89
97
109
117
117
109
98
89
97
105
101
89
10
115
113
121
129
129
123
121
117
123
129
132
129
129
129
129
132
132
132
132
132
133
137
140
141
140
137
129
125
121
115
113
109
117
121
125
148
165
165
149
141
141
141
141
132
121
121
132
141
132
130
130
132
132
125
125
125
121
121
117
121
123
130
125
133
125
125
130
132
134
134
134
125
121
117
117
117
113
113
109
105
101
106
117
117
117
130
115
113
117
121
130
132
132
134
134
137
133
132
137
140
133
123
117
109
109
117
117
109
98
94
98
94
98
95
94
86
94
86
86
86
86
94
95
110
126
132
119
121
119
126
121
113
105
102
102
109
113
113
117
118
121
121
121
121
121
125
125
123
121
121
117
115
115
109
101
90
86
94
106
105
106
110
118
118
110
106
105
110
117
122
113
102
94
98
98
110
114
117
110
98
90
90
94
98
102
105
106
105
109
109
115
109
101
98
98
109
117
106
92
10
117
113
115
125
129
125
123
123
129
132
137
137
132
132
132
137
133
137
133
132
133
133
137
141
138
133
133
129
123
115
113
113
117
117
125
149
165
163
148
132
132
132
140
132
117
117
130
141
132
125
130
130
132
125
130
125
130
123
121
123
123
125
130
132
125
125
125
132
134
132
134
125
121
113
113
117
117
113
109
106
98
109
117
121
117
117
109
105
109
121
130
132
132
132
140
137
132
129
132
140
137
123
117
113
117
121
122
117
106
97
105
102
102
102
98
94
94
86
86
78
94
95
98
110
126
126
117
113
121
121
117
110
102
98
101
106
110
113
117
118
121
121
123
125
125
125
121
121
121
117
117
114
113
115
105
92
94
98
106
109
110
114
122
122
113
109
109
109
113
118
110
98
94
90
94
110
114
118
110
102
94
94
95
98
105
110
113
113
113
117
117
106
101
98
97
109
117
113
97
10
123
113
115
123
129
129
129
125
129
137
140
141
140
140
140
138
137
137
137
137
132
132
129
132
129
132
129
129
123
117
113
113
117
117
129
149
173
163
141
123
130
130
132
121
117
117
130
132
132
125
130
132
125
130
132
132
132
130
125
125
121
125
125
125
121
130
130
132
132
141
141
125
117
113
113
117
121
121
113
114
105
115
130
130
121
113
101
98
105
113
121
132
132
132
132
137
125
123
129
137
137
123
115
117
122
132
130
118
109
106
106
110
110
110
98
94
94
86
79
86
94
102
110
117
121
117
110
109
110
113
113
110
102
102
102
105
109
113
117
117
121
123
125
125
130
130
121
121
121
117
117
109
109
115
109
101
98
101
109
113
113
118
122
122
118
113
113
110
114
110
105
90
86
94
94
110
114
118
118
110
102
97
97
102
102
110
113
121
121
121
117
114
101
98
101
113
121
117
109
10
123
115
113
121
125
129
125
125
129
133
138
141
141
146
141
140
138
138
133
133
133
133
133
125
129
129
133
132
129
123
117
121
117
117
129
149
165
148
125
117
117
125
132
123
117
117
125
132
132
125
125
130
132
130
132
132
132
132
132
132
132
130
130
125
121
130
132
132
132
132
140
123
115
106
113
125
132
130
125
115
109
117
132
132
130
113
98
89
98
105
117
125
132
132
141
138
125
117
125
133
133
122
113
121
129
138
134
125
114
106
109
114
114
114
106
95
94
86
86
86
98
110
118
117
113
106
97
97
98
105
105
105
105
105
105
109
113
113
117
117
121
123
123
125
121
123
123
121
117
117
117
113
117
115
109
101
98
106
114
118
117
118
122
122
122
122
118
114
114
109
98
86
79
79
79
102
110
118
118
114
106
106
106
105
102
105
110
121
132
125
125
113
109
101
105
109
117
113
113
10
121
115
113
115
121
123
121
121
125
129
138
141
149
149
149
141
137
133
129
129
133
133
133
129
133
129
133
133
133
129
129
121
117
117
125
141
154
138
115
115
117
130
132
130
121
125
132
132
130
125
125
130
125
130
132
132
140
140
140
132
132
132
132
130
130
130
132
132
139
132
132
121
113
106
113
130
134
134
132
117
114
117
141
141
132
113
98
92
98
101
117
121
132
141
141
149
129
117
125
133
129
117
109
125
133
146
138
125
109
106
106
110
113
114
110
102
95
94
94
94
110
117
118
117
110
97
92
89
92
97
101
105
105
109
113
113
117
117
121
117
117
121
117
121
121
117
121
121
117
117
117
117
117
113
105
98
101
106
117
122
118
114
114
113
118
118
117
113
114
106
94
86
79
79
79
94
101
109
113
114
110
106
106
105
98
97
105
117
132
133
132
121
115
106
109
109
109
109
113
10
123
121
113
115
117
121
121
117
125
129
133
141
146
146
146
138
133
125
125
125
129
129
130
125
125
125
125
125
129
125
125
123
121
117
125
134
141
125
106
113
117
132
132
132
125
130
132
132
132
121
121
132
130
125
132
132
132
140
141
141
134
132
132
125
130
132
132
139
130
130
139
130
117
113
117
132
141
141
141
117
109
115
132
141
132
117
109
97
98
105
113
121
132
149
149
158
138
121
125
129
125
109
105
121
133
149
138
122
109
101
102
109
113
118
114
106
102
102
95
102
112
118
126
117
110
97
92
89
92
92
101
105
109
113
113
117
121
121
123
117
117
117
117
117
117
117
117
117
117
123
123
123
117
109
101
98
106
114
125
130
122
113
109
110
117
113
114
110
109
105
94
90
79
79
79
86
94
105
110
110
106
106
106
105
98
94
97
110
125
125
132
123
117
113
109
105
105
105
110